diff --git a/lib/marionette-v3-compat.js b/lib/marionette-v3-compat.js index b7e0990..11a78a1 100644 --- a/lib/marionette-v3-compat.js +++ b/lib/marionette-v3-compat.js @@ -797,6 +797,10 @@ if (view === this.currentView) { return this; } + if (view._isRendered) { + view.render(); + Marionette.deprecate('Rendered views shown in a Region are not re-rendered in v3.'); + } var isChangingView = !!this.currentView; if (isChangingView) { this.triggerMethod('before:swapOut', this.currentView, this, options); @@ -986,19 +990,24 @@ Marionette.Region.prototype.triggerMethod = function (name, region, view, options) { var result; - if (name === 'before:show' || name === 'show') { - result = regionTriggerMethod.call(this, name, view, region, options); + + if (name === 'before:show') { + result = regionTriggerMethod.call(this, 'before:show', view, region, options); if (!view._isShown) { - Marionette.triggerMethodOn(view, name, view, region, options); - } - if (name === 'show') { - view._isShown = true; - triggerOnChildren(view.children, name); - } else { view.once('render', function () { - triggerOnChildren(view.children, name); + Marionette.triggerMethodOn(view, 'before:show', view, region, options); }); } + view.once('render', function () { + triggerOnChildren(view.children, name); + }); + } else if (name === 'show') { + result = regionTriggerMethod.call(this, 'show', view, region, options); + if (!view._isShown) { + Marionette.triggerMethodOn(view, 'show', view, region, options); + } + view._isShown = true; + triggerOnChildren(view.children, name); } else { result = regionTriggerMethod.apply(this, arguments); } diff --git a/lib/marionette-v3-compat.js.map b/lib/marionette-v3-compat.js.map index f1818af..cf72eda 100644 --- a/lib/marionette-v3-compat.js.map +++ b/lib/marionette-v3-compat.js.map @@ -1 +1 @@ -{"version":3,"file":"marionette-v3-compat.js","sources":["src/ApplicationWreqr.js","src/bindEntityEvents.js","src/childEvents.js","src/utils/restoreFunction.js","src/CollectionView.js","src/CompositeView.js","src/Controller.js","src/deprecatedEvents.js","src/getChildView.js","src/ItemView.js","src/LayoutView.js","src/Module.js","src/normalizeUi.js","src/proxyFunctions.js","src/Region.js","src/RegionManager.js","src/RegionShowEvent.js","src/regionsOnApplication.js","src/regionsOnView.js","src/RegionStaticMethods.js","src/templateHelpers.js","src/triggerProxy.js","src/viewOptions.js","src/marionette-v3-compat.js"],"sourcesContent":["import _ from 'underscore';\nimport Radio from 'backbone.radio';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n function dep() {\n Marionette.deprecate('Global channels are deprecated. Create your own Radio channels.');\n }\n\n const originalConstructor = Marionette.Application.prototype.constructor;\n\n Marionette.Application = Marionette.Application.extend({\n constructor: function() {\n this._initV2Channel();\n originalConstructor.apply(this, arguments);\n },\n\n // Command execution, facilitated by Backbone.Wreqr.Commands\n execute: function() {\n this.commands.execute.apply(this.commands, arguments);\n },\n\n // Request/response, facilitated by Backbone.Wreqr.RequestResponse\n request: function() {\n return this.reqres.request.apply(this.reqres, arguments);\n },\n\n _initV2Channel: function() {\n this.channelName = _.result(this, 'channelName') || 'global';\n this.channel = _.result(this, 'channel') || Radio.channel(this.channelName);\n this.channel.__deprecateChannel = true;\n this.vent = this.channel;\n this.reqres = this.channel;\n this.commands = this.channel;\n\n const channelOn = this.channel.on;\n\n this.channel.on = function() {\n dep();\n return channelOn.apply(this, arguments);\n };\n\n const channelRequest = this.channel.request;\n\n this.channel.request = function() {\n dep();\n return channelRequest.apply(this, arguments);\n };\n\n this.channel.execute = function() {\n dep();\n Marionette.deprecate('Channel commands are deprecated. Use requests.');\n return channelRequest.apply(this, arguments);\n };\n\n const listenTo = Marionette.Object.listenTo;\n\n Marionette.Object.listenTo = function(obj) {\n if (obj.__deprecateChannel) { dep(); }\n listenTo.apply(this, arguments);\n };\n }\n });\n}\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n var originalBind = Marionette.bindEvents;\n var originalUnbind = Marionette.unbindEvents;\n\n Marionette.bindEvents = function(context, entity, bindings) {\n if (_.isFunction(bindings)) {\n Marionette.deprecate('bindEvents no longer accepts bindings as a function in v3');\n bindings = bindings.call(context);\n }\n return originalBind(context, entity, bindings);\n };\n\n Marionette.unbindEvents = function(context, entity, bindings) {\n if (_.isFunction(bindings)) {\n Marionette.deprecate('unbindEvents no longer accepts bindings as a function in v3');\n bindings = bindings.call(context);\n }\n return originalUnbind(context, entity, bindings);\n };\n\n Marionette.bindEntityEvents = function(context, entity, bindings) {\n Marionette.deprecate('bindEntityEvents has been renamed to bindEvents in v3.');\n return Marionette.bindEvents(context, entity, bindings);\n };\n\n Marionette.unbindEntityEvents = function(context, entity, bindings) {\n Marionette.deprecate('unbindEntityEvents renamed to unbindEvents in v3.');\n return Marionette.unbindEvents(context, entity, bindings);\n };\n\n const bindEventsMixin = {\n bindEntityEvents(...args) {\n Marionette.deprecate('bindEntityEvents has been renamed to bindEvents in v3.');\n return Marionette.bindEvents(this, ...args);\n },\n unbindEntityEvents(...args) {\n Marionette.deprecate('unbindEntityEvents renamed to unbindEvents in v3.');\n return Marionette.unbindEvents(this, ...args);\n\n }\n };\n\n _.extend(Marionette.Object.prototype, bindEventsMixin);\n\n _.extend(Marionette.View.prototype, bindEventsMixin);\n\n _.extend(Marionette.CollectionView.prototype, bindEventsMixin);\n}\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n // Cache `childViewEvents` and `childViewTriggers`\n function _buildEventProxies() {\n if (this.childEvents || this.options.childEvents) {\n Marionette.deprecate('childEvents are deprecated. Use childViewEvents');\n this.mergeOptions(this.options, ['childEvents']);\n this._childViewEvents = _.result(this, 'childEvents');\n } else {\n this._childViewEvents = _.result(this, 'childViewEvents');\n }\n\n this._childViewTriggers = _.result(this, 'childViewTriggers');\n }\n\n _.extend(Marionette.View.prototype, {\n _buildEventProxies\n });\n\n _.extend(Marionette.CollectionView.prototype, {\n _buildEventProxies\n });\n}\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nexport default function(privateFunction, publicFunction, deprecation, ClassName) {\n const original = Marionette[ClassName].prototype[privateFunction];\n const options = {};\n\n options[privateFunction] = function() {\n this._nodep = true;\n return this[publicFunction].apply(this, arguments);\n }\n\n options[publicFunction] = function() {\n if (this._nodep) {\n this._nodep = false;\n } else {\n Marionette.deprecate(deprecation);\n }\n return original.apply(this, arguments);\n }\n\n _.extend(Marionette[ClassName].prototype, options);\n}\n","import Backbone from 'backbone';\nimport Marionette from 'backbone.marionette';\nimport restoreFunction from './utils/restoreFunction';\nexport default function() {\n\n restoreFunction('_endBuffering', 'endBuffering', 'endBuffering is now private.', 'CollectionView');\n restoreFunction('_startBuffering', 'startBuffering', 'startBuffering is now private.', 'CollectionView');\n restoreFunction('_showCollection', 'showCollection', 'showCollection is now private.', 'CollectionView');\n restoreFunction('_showEmptyView', 'showEmptyView', 'showEmptyView is now private.', 'CollectionView');\n restoreFunction('_destroyEmptyView', 'destroyEmptyView', 'destroyEmptyView is now private.', 'CollectionView');\n restoreFunction('_checkEmpty', 'checkEmpty', 'checkEmpty is now private.', 'CollectionView');\n restoreFunction('_destroyChildren', 'destroyChildren', 'destroyChildren is now private.', 'CollectionView');\n restoreFunction('_proxyChildEvents', 'proxyChildEvents', 'proxyChildEvents is now private.', 'CollectionView');\n restoreFunction('_addChild', 'addChild', 'addChild is now private.', 'CollectionView');\n\n const originalConstructor = Marionette.CollectionView.prototype.constructor;\n\n Marionette.CollectionView = Marionette.CollectionView.extend({\n constructor() {\n Backbone.Events.on.call(this, 'render:children', function() { this.triggerMethod('render:collection', this); });\n Backbone.Events.on.call(this, 'before:render:children', function() { this.triggerMethod('before:render:collection', this); });\n\n Backbone.Events.on.call(this, 'destroy:children', function() { this.triggerMethod('destroy:collection', this); });\n Backbone.Events.on.call(this, 'before:destroy:children', function() { this.triggerMethod('before:destroy:collection', this); });\n\n originalConstructor.apply(this, arguments);\n },\n initRenderBuffer() {\n Marionette.deprecate('initRenderBuffer is now private.');\n this._bufferedChildren = [];\n }\n });\n\n const originalConstructorComp = Marionette.CompositeView.prototype.constructor;\n\n Marionette.CompositeView = Marionette.CompositeView.extend({\n constructor() {\n Backbone.Events.on.call(this, 'render:children', function() { this.triggerMethod('render:collection', this); });\n Backbone.Events.on.call(this, 'before:render:children', function() { this.triggerMethod('before:render:collection', this); });\n\n Backbone.Events.on.call(this, 'destroy:children', function() { this.triggerMethod('destroy:collection', this); });\n Backbone.Events.on.call(this, 'before:destroy:children', function() { this.triggerMethod('before:destroy:collection', this); });\n originalConstructorComp.apply(this, arguments);\n }\n });\n\n}\n\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\nexport default function() {\n\n\n const originalRenderTemp = Marionette.CompositeView.prototype._renderTemplate;\n\n _.extend(Marionette.CompositeView.prototype, {\n _renderTemplate() {\n this.triggerMethod('before:render:template');\n originalRenderTemp.apply(this, arguments);\n this.triggerMethod('render:template');\n }\n });\n}\n","import Marionette from 'backbone.marionette';\n\nexport default function() {\n Marionette.Controller = Marionette.Object.extend({\n constructor(options) {\n this.options = options || {};\n\n const args = Array.prototype.slice.call(arguments);\n args[0] = this.options;\n\n Marionette.deprecate('Marionette.Controller is deprecated. Use Marionette.Object');\n Marionette.Object.prototype.constructor.apply(this, args);\n },\n\n destroy: function(...args) {\n this.triggerMethod('before:destroy', ...args);\n this.triggerMethod('destroy', ...args);\n this.stopListening();\n\n return this;\n }\n });\n}\n","import _ from 'underscore';\nimport Backbone from 'backbone';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n const deprecatedEvents = {\n 'render:collection': true,\n 'destroy:collection:': true,\n 'render:template': true\n };\n\n const dep = function(name) {\n Marionette.deprecate(`${ name } event is deprecated.`);\n }\n\n const listenTo = Backbone.View.prototype.listenTo;\n\n Backbone.View.prototype.listenTo = function(obj, name) {\n if (deprecatedEvents[name]) { dep(name); }\n if (_.isObject(name)) {\n _.each(name, function(value, key) {\n if (deprecatedEvents[key]) { dep(key); }\n });\n }\n listenTo.apply(this, arguments);\n }\n\n const on = Backbone.View.prototype.on;\n\n Backbone.View.prototype.on = function(name) {\n if (deprecatedEvents[name]) { dep(name); }\n if (_.isObject(name)) {\n _.each(name, function(value, key) {\n if (deprecatedEvents[key]) { dep(key); }\n });\n }\n on.apply(this, arguments);\n }\n};\n","import restoreFunction from './utils/restoreFunction';\n\nexport default function() {\n\n restoreFunction('_getChildView', 'getChildView', 'getChildView is deprecated. Use childView instead.', 'CollectionView');\n restoreFunction('_getEmptyView', 'getEmptyView', 'getEmptyView is deprecated. Use emptyView instead.', 'CollectionView');\n}\n","import Marionette from 'backbone.marionette';\n\nexport default function() {\n Marionette.ItemView = Marionette.View.extend({\n constructor() {\n Marionette.deprecate('Marionette.ItemView is deprecated. Use Marionette.View');\n Marionette.View.prototype.constructor.apply(this, arguments);\n }\n });\n}\n","import Marionette from 'backbone.marionette';\n\nexport default function() {\n Marionette.LayoutView = Marionette.View.extend({\n constructor() {\n Marionette.deprecate('Marionette.LayoutView is deprecated. Use Marionette.View');\n Marionette.View.prototype.constructor.apply(this, arguments);\n }\n });\n}\n","import _ from 'underscore';\nimport Backbone from 'backbone';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n const originalConstructor = Marionette.Application.prototype.constructor;\n\n Marionette.Deferred = function() {\n Marionette.deprecate('Marionette.Deferred is deprecated and removed in v3.');\n return Backbone.$.Deferred.apply(this, arguments);\n };\n\n Marionette.Application = Marionette.Application.extend({\n constructor: function() {\n this._initCallbacks = new Marionette.Callbacks();\n this.submodules = {};\n originalConstructor.apply(this, arguments);\n },\n\n addInitializer: function(initializer) {\n Marionette.deprecate('Application Initializers are deprecated and removed in v3.');\n this._initCallbacks.add(initializer);\n },\n\n start: function(options) {\n this.triggerMethod('before:start', options);\n this._initCallbacks.run(options, this);\n this.triggerMethod('start', options);\n },\n\n module: function(moduleNames, moduleDefinition) {\n\n // Overwrite the module class if the user specifies one\n var ModuleClass = Marionette.Module.getClass(moduleDefinition);\n\n var args = _.toArray(arguments);\n args.unshift(this);\n\n // see the Marionette.Module object for more information\n return ModuleClass.create.apply(ModuleClass, args);\n }\n });\n\n\n // Callbacks\n // ---------\n\n // A simple way of managing a collection of callbacks\n // and executing them at a later point in time, using jQuery's\n // `Deferred` object.\n Marionette.Callbacks = function() {\n this._deferred = Marionette.Deferred();\n this._callbacks = [];\n };\n\n _.extend(Marionette.Callbacks.prototype, {\n\n // Add a callback to be executed. Callbacks added here are\n // guaranteed to execute, even if they are added after the\n // `run` method is called.\n add: function(callback, contextOverride) {\n var promise = _.result(this._deferred, 'promise');\n\n this._callbacks.push({cb: callback, ctx: contextOverride});\n\n promise.then(function(args) {\n if (contextOverride) { args.context = contextOverride; }\n callback.call(args.context, args.options);\n });\n },\n\n // Run all registered callbacks with the context specified.\n // Additional callbacks can be added after this has been run\n // and they will still be executed.\n run: function(options, context) {\n this._deferred.resolve({\n options: options,\n context: context\n });\n },\n\n // Resets the list of callbacks to be run, allowing the same list\n // to be run multiple times - whenever the `run` method is called.\n reset: function() {\n var callbacks = this._callbacks;\n this._deferred = Marionette.Deferred();\n this._callbacks = [];\n\n _.each(callbacks, function(cb) {\n this.add(cb.cb, cb.ctx);\n }, this);\n }\n });\n\n // A simple module system, used to create privacy and encapsulation in\n // Marionette applications\n Marionette.Module = function(moduleName, app, options) {\n Marionette.deprecate('Marionette.module is deprecated and removed in v3.');\n\n this.moduleName = moduleName;\n this.options = _.extend({}, this.options, options);\n // Allow for a user to overide the initialize\n // for a given module instance.\n this.initialize = options.initialize || this.initialize;\n\n // Set up an internal store for sub-modules.\n this.submodules = {};\n\n this._setupInitializersAndFinalizers();\n\n // Set an internal reference to the app\n // within a module.\n this.app = app;\n\n if (_.isFunction(this.initialize)) {\n this.initialize(moduleName, app, this.options);\n }\n };\n\n Marionette.Module.extend = Marionette.extend;\n\n // Extend the Module prototype with events / listenTo, so that the module\n // can be used as an event aggregator or pub/sub.\n _.extend(Marionette.Module.prototype, Backbone.Events, {\n\n // By default modules start with their parents.\n startWithParent: true,\n\n // Initialize is an empty function by default. Override it with your own\n // initialization logic when extending Marionette.Module.\n initialize: function() {},\n\n // Initializer for a specific module. Initializers are run when the\n // module's `start` method is called.\n addInitializer: function(callback) {\n this._initializerCallbacks.add(callback);\n },\n\n // Finalizers are run when a module is stopped. They are used to teardown\n // and finalize any variables, references, events and other code that the\n // module had set up.\n addFinalizer: function(callback) {\n this._finalizerCallbacks.add(callback);\n },\n\n // Start the module, and run all of its initializers\n start: function(options) {\n // Prevent re-starting a module that is already started\n if (this._isInitialized) { return; }\n\n // start the sub-modules (depth-first hierarchy)\n _.each(this.submodules, function(mod) {\n // check to see if we should start the sub-module with this parent\n if (mod.startWithParent) {\n mod.start(options);\n }\n });\n\n // run the callbacks to \"start\" the current module\n this.triggerMethod('before:start', options);\n\n this._initializerCallbacks.run(options, this);\n this._isInitialized = true;\n\n this.triggerMethod('start', options);\n },\n\n // Stop this module by running its finalizers and then stop all of\n // the sub-modules for this module\n stop: function() {\n // if we are not initialized, don't bother finalizing\n if (!this._isInitialized) { return; }\n this._isInitialized = false;\n\n this.triggerMethod('before:stop');\n\n // stop the sub-modules; depth-first, to make sure the\n // sub-modules are stopped / finalized before parents\n _.invoke(this.submodules, 'stop');\n\n // run the finalizers\n this._finalizerCallbacks.run(undefined, this);\n\n // reset the initializers and finalizers\n this._initializerCallbacks.reset();\n this._finalizerCallbacks.reset();\n\n this.triggerMethod('stop');\n },\n\n // Configure the module with a definition function and any custom args\n // that are to be passed in to the definition function\n addDefinition: function(moduleDefinition, customArgs) {\n this._runModuleDefinition(moduleDefinition, customArgs);\n },\n\n // Internal method: run the module definition function with the correct\n // arguments\n _runModuleDefinition: function(definition, customArgs) {\n // If there is no definition short circut the method.\n if (!definition) { return; }\n\n // build the correct list of arguments for the module definition\n var args = _.flatten([\n this,\n this.app,\n Backbone,\n Marionette,\n Backbone.$, _,\n customArgs\n ]);\n\n definition.apply(this, args);\n },\n\n // Internal method: set up new copies of initializers and finalizers.\n // Calling this method will wipe out all existing initializers and\n // finalizers.\n _setupInitializersAndFinalizers: function() {\n this._initializerCallbacks = new Marionette.Callbacks();\n this._finalizerCallbacks = new Marionette.Callbacks();\n },\n\n // import the `triggerMethod` to trigger events with corresponding\n // methods if the method exists\n triggerMethod: function(...args) { return Marionette.triggerMethod.apply(this, [this].concat(args)); }\n });\n\n // Class methods to create modules\n _.extend(Marionette.Module, {\n\n // Create a module, hanging off the app parameter as the parent object.\n create: function(app, moduleNames, moduleDefinition) {\n var module = app;\n\n // get the custom args passed in after the module definition and\n // get rid of the module name and definition function\n var customArgs = _.drop(arguments, 3);\n\n // Split the module names and get the number of submodules.\n // i.e. an example module name of `Doge.Wow.Amaze` would\n // then have the potential for 3 module definitions.\n moduleNames = moduleNames.split('.');\n var length = moduleNames.length;\n\n // store the module definition for the last module in the chain\n var moduleDefinitions = [];\n moduleDefinitions[length - 1] = moduleDefinition;\n\n // Loop through all the parts of the module definition\n _.each(moduleNames, function(moduleName, i) {\n var parentModule = module;\n module = this._getModule(parentModule, moduleName, app, moduleDefinition);\n this._addModuleDefinition(parentModule, module, moduleDefinitions[i], customArgs);\n }, this);\n\n // Return the last module in the definition chain\n return module;\n },\n\n _getModule: function(parentModule, moduleName, app, def, args) {\n var options = _.extend({}, def);\n var ModuleClass = this.getClass(def);\n\n // Get an existing module of this name if we have one\n var module = parentModule[moduleName];\n\n if (!module) {\n // Create a new module if we don't have one\n module = new ModuleClass(moduleName, app, options);\n parentModule[moduleName] = module;\n // store the module on the parent\n parentModule.submodules[moduleName] = module;\n }\n\n return module;\n },\n\n // ## Module Classes\n //\n // Module classes can be used as an alternative to the define pattern.\n // The extend function of a Module is identical to the extend functions\n // on other Backbone and Marionette classes.\n // This allows module lifecyle events like `onStart` and `onStop` to be called directly.\n getClass: function(moduleDefinition) {\n var ModuleClass = Marionette.Module;\n\n if (!moduleDefinition) {\n return ModuleClass;\n }\n\n // If all of the module's functionality is defined inside its class,\n // then the class can be passed in directly. `MyApp.module(\"Foo\", FooModule)`.\n if (moduleDefinition.prototype instanceof ModuleClass) {\n return moduleDefinition;\n }\n\n return moduleDefinition.moduleClass || ModuleClass;\n },\n\n // Add the module definition and add a startWithParent initializer function.\n // This is complicated because module definitions are heavily overloaded\n // and support an anonymous function, module class, or options object\n _addModuleDefinition: function(parentModule, module, def, args) {\n var fn = this._getDefine(def);\n var startWithParent = this._getStartWithParent(def, module);\n\n if (fn) {\n module.addDefinition(fn, args);\n }\n\n this._addStartWithParent(parentModule, module, startWithParent);\n },\n\n _getStartWithParent: function(def, module) {\n var swp;\n\n if (_.isFunction(def) && (def.prototype instanceof Marionette.Module)) {\n swp = module.constructor.prototype.startWithParent;\n return _.isUndefined(swp) ? true : swp;\n }\n\n if (_.isObject(def)) {\n swp = def.startWithParent;\n return _.isUndefined(swp) ? true : swp;\n }\n\n return true;\n },\n\n _getDefine: function(def) {\n if (_.isFunction(def) && !(def.prototype instanceof Marionette.Module)) {\n return def;\n }\n\n if (_.isObject(def)) {\n return def.define;\n }\n\n return null;\n },\n\n _addStartWithParent: function(parentModule, module, startWithParent) {\n module.startWithParent = module.startWithParent && startWithParent;\n\n if (!module.startWithParent || !!module.startWithParentIsConfigured) {\n return;\n }\n\n module.startWithParentIsConfigured = true;\n\n parentModule.addInitializer(function(options) {\n if (module.startWithParent) {\n module.start(options);\n }\n });\n }\n });\n\n}\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n var normalizeUIString = function(uiString, ui) {\n return uiString.replace(/@ui\\.[a-zA-Z-_$0-9]*/g, function(r) {\n return ui[r.slice(4)];\n });\n };\n\n Marionette.normalizeUIString = function(uiString, ui) {\n Marionette.deprecate('normalizeUIString was removed in v3.');\n return normalizeUIString.apply(this, arguments);\n };\n\n var normalizeUIKeys = function(hash, ui) {\n return _.reduce(hash, function(memo, val, key) {\n var normalizedKey = normalizeUIString(key, ui);\n memo[normalizedKey] = val;\n return memo;\n }, {});\n };\n\n Marionette.normalizeUIKeys = function(hash, ui) {\n Marionette.deprecate('normalizeUIKeys was removed in v3.');\n return normalizeUIKeys.apply(this, arguments);\n };\n\n var normalizeUIValues = function(hash, ui, properties) {\n _.each(hash, function(val, key) {\n if (_.isString(val)) {\n hash[key] = normalizeUIString(val, ui);\n } else if (_.isObject(val) && _.isArray(properties)) {\n _.extend(val, normalizeUIValues(_.pick(val, properties), ui));\n /* Value is an object, and we got an array of embedded property names to normalize. */\n _.each(properties, function(property) {\n var propertyVal = val[property];\n if (_.isString(propertyVal)) {\n val[property] = normalizeUIString(propertyVal, ui);\n }\n });\n }\n });\n return hash;\n };\n\n Marionette.normalizeUIValues = function(hash, ui, properties) {\n Marionette.deprecate('normalizeUIValues was removed in v3.');\n return normalizeUIValues.apply(this, arguments);\n };\n\n}\n","import Marionette from 'backbone.marionette';\n\nexport default function() {\n Marionette.proxyGetOption = function(optionName) {\n Marionette.deprecate('proxyGetOption has been deprecated and removed in v3.');\n return Marionette.getOption(this, optionName);\n };\n\n Marionette.proxyBindEntityEvents = function(entity, bindings) {\n Marionette.deprecate('proxyBindEntityEvents has been deprecated and removed in v3.');\n return Marionette.bindEvents(this, entity, bindings);\n };\n\n Marionette.proxyUnbindEntityEvents = function(entity, bindings) {\n Marionette.deprecate('proxyUnbindEntityEvents has been deprecated and removed in v3.');\n return Marionette.unbindEvents(this, entity, bindings);\n };\n}\n","import Marionette from 'backbone.marionette';\n\nexport default function() {\n\n const originalShow = Marionette.Region.prototype.show;\n\n Marionette.Region = Marionette.Region.extend({\n attachView(view) {\n Marionette.deprecate('Region#attachView was removed in v3. Use Region#show without fear of re-rendering.')\n if (this.currentView) {\n delete this.currentView._parent;\n }\n view._parent = this;\n this.currentView = view;\n return this;\n },\n show(view, options) {\n if (!this._ensureElement(options)) {\n return;\n }\n this._ensureView(view);\n if (view === this.currentView) { return this; }\n var isChangingView = !!this.currentView;\n if (isChangingView) {\n this.triggerMethod('before:swapOut', this.currentView, this, options);\n this.triggerMethod('before:swap', view, this, options);\n this.triggerMethod('swapOut', this.currentView, this, options);\n }\n originalShow.apply(this, arguments);\n if (isChangingView) {\n this.triggerMethod('swap', view, this, options);\n }\n return this;\n },\n });\n}\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n // Manage one or more related `Marionette.Region` objects.\n Marionette.RegionManager = Marionette.Object.extend({\n constructor: function(options) {\n this._regions = {};\n this.length = 0;\n\n Marionette.Object.call(this, options);\n\n this.addRegions(this.getOption('regions'));\n },\n\n // Add multiple regions using an object literal or a\n // function that returns an object literal, where\n // each key becomes the region name, and each value is\n // the region definition.\n addRegions: function(regionDefinitions, defaults) {\n regionDefinitions = Marionette._getValue(regionDefinitions, this, arguments);\n\n if (!_.isEmpty(regionDefinitions)) {\n Marionette.deprecate('RegionManager is deprecated and removed in v3.');\n }\n\n return _.reduce(regionDefinitions, function(regions, definition, name) {\n if (_.isString(definition)) {\n definition = {selector: definition};\n }\n if (definition.selector) {\n definition = _.defaults({}, definition, defaults);\n }\n\n regions[name] = this.addRegion(name, definition);\n return regions;\n }, {}, this);\n },\n\n // Add an individual region to the region manager,\n // and return the region instance\n addRegion: function(name, definition) {\n var region;\n\n if (definition instanceof Marionette.Region) {\n region = definition;\n } else {\n region = Marionette.Region.buildRegion(definition, Marionette.Region);\n }\n\n this.triggerMethod('before:add:region', name, region);\n\n region._parent = this;\n this._store(name, region);\n\n this.triggerMethod('add:region', name, region);\n return region;\n },\n\n // Get a region by name\n get: function(name) {\n return this._regions[name];\n },\n\n // Gets all the regions contained within\n // the `regionManager` instance.\n getRegions: function() {\n return _.clone(this._regions);\n },\n\n // Remove a region by name\n removeRegion: function(name) {\n var region = this._regions[name];\n this._remove(name, region);\n\n return region;\n },\n\n // Empty all regions in the region manager, and\n // remove them\n removeRegions: function() {\n var regions = this.getRegions();\n _.each(this._regions, function(region, name) {\n this._remove(name, region);\n }, this);\n\n return regions;\n },\n\n // Empty all regions in the region manager, but\n // leave them attached\n emptyRegions: function() {\n var regions = this.getRegions();\n _.invoke(regions, 'empty');\n return regions;\n },\n\n // Destroy all regions and shut down the region\n // manager entirely\n destroy: function() {\n this.removeRegions();\n return Marionette.Object.prototype.destroy.apply(this, arguments);\n },\n\n // internal method to store regions\n _store: function(name, region) {\n if (!this._regions[name]) {\n this.length++;\n }\n\n this._regions[name] = region;\n },\n\n // internal method to remove a region\n _remove: function(name, region) {\n this.triggerMethod('before:remove:region', name, region);\n region.empty();\n region.stopListening();\n\n delete region._parent;\n delete this._regions[name];\n this.length--;\n this.triggerMethod('remove:region', name, region);\n }\n });\n\n // Mix in methods from Underscore, for iteration, and other\n // collection related features.\n // Borrowing this code from Backbone.Collection:\n // http://backbonejs.org/docs/backbone.html#section-121\n var _actAsCollection = function(object, listProperty) {\n var methods = ['forEach', 'each', 'map', 'find', 'detect', 'filter',\n 'select', 'reject', 'every', 'all', 'some', 'any', 'include',\n 'contains', 'invoke', 'toArray', 'first', 'initial', 'rest',\n 'last', 'without', 'isEmpty', 'pluck'];\n\n _.each(methods, function(method) {\n object[method] = function() {\n var list = _.values(_.result(this, listProperty));\n var args = [list].concat(_.toArray(arguments));\n return _[method].apply(_, args);\n };\n });\n };\n\n Marionette.actAsCollection = function(object, listProperty) {\n Marionette.deprecate('actAsCollection is deprecated and removed in v3.');\n\n return _actAsCollection.apply(this, arguments);\n }\n\n _actAsCollection(Marionette.RegionManager.prototype, '_regions');\n\n}\n","import _ from 'underscore';\nimport Backbone from 'backbone';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n function dep() {\n Marionette.deprecate('Show events are no longer triggered on the View. User render or attach.');\n }\n\n function triggerOnChildren(children, name) {\n if (!children) { return; }\n\n children.each(function(v) {\n if (!v._isShown) { Marionette.triggerMethodOn(v, name, v); }\n if (name === 'show') { v._isShown = true; }\n });\n }\n\n\n var regionTriggerMethod = Marionette.Region.prototype.triggerMethod;\n\n Marionette.Region.prototype.triggerMethod = function(name, region, view, options) {\n var result;\n if (name === 'before:show' || name === 'show') {\n result = regionTriggerMethod.call(this, name, view, region, options);\n if (!view._isShown) { Marionette.triggerMethodOn(view, name, view, region, options); }\n if (name === 'show') {\n view._isShown = true;\n triggerOnChildren(view.children, name);\n } else {\n view.once('render', function() {\n triggerOnChildren(view.children, name);\n });\n }\n } else {\n result = regionTriggerMethod.apply(this, arguments);\n }\n\n return result;\n };\n\n var _addChildView = Marionette.CollectionView.prototype._addChildView;\n\n Marionette.CollectionView.prototype._addChildView = function(view) {\n view.once('render', function() {\n // trigger the 'before:show' event on `view` if the collection view has already been shown\n if (this._isShown && !this._isBuffering) {\n Marionette.triggerMethodOn(view, 'before:show', view);\n }\n }, this);\n\n _addChildView.apply(this, arguments);\n\n if (this._isShown && !this._isBuffering) {\n if (!view._isShown) {\n Marionette.triggerMethodOn(view, 'show', view);\n }\n view._isShown = true;\n }\n };\n\n\n // split the event name on the \":\"\n var splitter = /(^|:)(\\w)/gi;\n\n // take the event section (\"section1:section2:section3\")\n // and turn it in to uppercase name onSection1Section2Section3\n function getEventName(match, prefix, eventName) {\n return eventName.toUpperCase();\n }\n\n var trigger = Backbone.Events.trigger;\n\n Backbone.Events.trigger = function(name) {\n var isView = this.prototype instanceof Backbone.View || this === Backbone.View;\n var isRegion = this.prototype instanceof Marionette.Region || this === Marionette.Region;\n if (isView || isRegion) {\n var methodName = 'on' + name.replace(splitter, getEventName);\n var method = (this.options && this.options[methodName]) || this[methodName];\n\n if (_.isFunction(method)) {\n if (isView) {\n dep();\n } else {\n if (method.length > 1) {\n Marionette.deprecate('Region show events in v3 pass the region and the 1st argument and the view as the 2nd');\n }\n }\n }\n\n if (!this._events) { return this; }\n\n if ((name === 'before:show' || name === 'show') && this._events[name]) {\n if (isView) {\n dep();\n } else {\n if (this._events[name].length > 1) {\n Marionette.deprecate('Region show events in v3 pass the region and the 1st argument and the view as the 2nd');\n }\n }\n }\n }\n\n return trigger.apply(this, arguments);\n }\n}\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n function dep() {\n Marionette.deprecate('Regions attached to the Application are deprecated. Application now only has a single region.');\n }\n\n const originalConstructor = Marionette.Application.prototype.constructor;\n\n Marionette.Application = Marionette.Application.extend({\n constructor: function(options) {\n this._initializeRegions(options);\n originalConstructor.apply(this, arguments);\n },\n\n // Add regions to your app.\n // Accepts a hash of named strings or Region objects\n // addRegions({something: \"#someRegion\"})\n // addRegions({something: Region.extend({el: \"#someRegion\"}) });\n addRegions: function(regions) {\n return this._regionManager.addRegions(regions);\n },\n\n // Empty all regions in the app, without removing them\n emptyRegions: function() {\n return this._regionManager.emptyRegions();\n },\n\n // Removes a region from your app, by name\n // Accepts the regions name\n // removeRegion('myRegion')\n removeRegion: function(region) {\n return this._regionManager.removeRegion(region);\n },\n\n // Provides alternative access to regions\n // Accepts the region name\n // getRegion('main')\n getRegion: function(region) {\n if (arguments.length) {\n dep();\n return this._regionManager.get(region);\n }\n\n return this._region;\n },\n\n // Get all the regions from the region manager\n getRegions: function() {\n return this._regionManager.getRegions();\n },\n\n // Enable easy overriding of the default `RegionManager`\n // for customized region interactions and business-specific\n // view logic for better control over single regions.\n getRegionManager: function() {\n return new Marionette.RegionManager();\n },\n\n // Internal method to initialize the regions that have been defined in a\n // `regions` attribute on the application instance\n _initializeRegions: function(options = {}) {\n var regions = _.isFunction(this.regions) ? this.regions(options) : this.regions || {};\n\n // Enable users to define `regions` in instance options.\n var optionRegions = (options.options && options.options.regions) || options.regions;\n\n // Enable region options to be a function\n if (_.isFunction(optionRegions)) {\n optionRegions = optionRegions.call(this, options);\n }\n\n // Overwrite current regions with those passed in options\n _.extend(regions, optionRegions);\n\n this._initRegionManager();\n\n if (!_.isEmpty(regions)) {\n dep();\n\n this.addRegions(regions);\n }\n\n return this;\n },\n\n // Internal method to set up the region manager\n _initRegionManager: function() {\n this._regionManager = this.getRegionManager();\n this._regionManager._parent = this;\n\n this.listenTo(this._regionManager, 'before:add:region', function(name, region) {\n this.triggerMethod('before:add:region', name, region);\n });\n\n this.listenTo(this._regionManager, 'add:region', function(name, region) {\n this[name] = region;\n this.triggerMethod('add:region', name, region);\n });\n\n this.listenTo(this._regionManager, 'before:remove:region', function(name, region) {\n this.triggerMethod('before:remove:region', name, region);\n });\n\n this.listenTo(this._regionManager, 'remove:region', function(name, region) {\n delete this[name];\n this.triggerMethod('remove:region', name, region);\n });\n }\n })\n\n}\n","import _ from 'underscore';\nimport Backbone from 'backbone';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n function dep() {\n Marionette.deprecate('Regions attached to the view are deprecated. Use View#getRegion or View#showChildView');\n }\n\n function _addRegion(view, name, region) {\n const regionShow = region.show;\n const regionEmpty = region.empty;\n const regionReset = region.reset;\n const regionOn = region.on;\n\n const newRegion = _.extend({}, region, {\n on() {\n dep();\n regionOn.apply(this, arguments);\n },\n show() {\n dep();\n regionShow.apply(this, arguments);\n },\n empty() {\n dep();\n regionEmpty.apply(this, arguments);\n },\n reset() {\n dep();\n regionReset.apply(this, arguments);\n },\n __deprecatedRegion: true\n });\n\n view[name] = newRegion;\n }\n\n function _removeRegion(view, name, region) {\n delete view[name];\n }\n\n const listenTo = Backbone.View.prototype.listenTo;\n\n Backbone.View.prototype.listenTo = function(obj) {\n if (obj.__deprecatedRegion) { dep(); }\n listenTo.apply(this, arguments);\n }\n\n const initRegions = Marionette.View.prototype._initRegions;\n\n _.extend(Marionette.View.prototype, {\n _initRegions() {\n this.regionClass = Marionette.Region;\n this.on({\n 'add:region': _addRegion,\n 'remove:region': _removeRegion\n });\n initRegions.apply(this, arguments);\n }\n });\n}\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n _.extend(Marionette.Region, {\n\n buildRegion: function(regionConfig, DefaultRegionClass) {\n\n Marionette.deprecate('Region Static Options are deprecated and removed in v3.');\n\n if (_.isString(regionConfig)) {\n return this._buildRegionFromSelector(regionConfig, DefaultRegionClass);\n }\n\n if (regionConfig.selector || regionConfig.el || regionConfig.regionClass) {\n return this._buildRegionFromObject(regionConfig, DefaultRegionClass);\n }\n\n if (_.isFunction(regionConfig)) {\n return this._buildRegionFromRegionClass(regionConfig);\n }\n\n throw new Marionette.Error({\n message: 'Improper region configuration type.',\n url: 'marionette.region.html#region-configuration-types'\n });\n },\n\n // Build the region from a string selector like '#foo-region'\n _buildRegionFromSelector: function(selector, DefaultRegionClass) {\n return new DefaultRegionClass({el: selector});\n },\n\n // Build the region from a configuration object\n // ```js\n // { selector: '#foo', regionClass: FooRegion, allowMissingEl: false }\n // ```\n _buildRegionFromObject: function(regionConfig, DefaultRegionClass) {\n var RegionClass = regionConfig.regionClass || DefaultRegionClass;\n var options = _.omit(regionConfig, 'selector', 'regionClass');\n\n if (regionConfig.selector && !options.el) {\n options.el = regionConfig.selector;\n }\n\n return new RegionClass(options);\n },\n\n // Build the region directly from a given `RegionClass`\n _buildRegionFromRegionClass: function(RegionClass) {\n return new RegionClass();\n }\n });\n\n}\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n function mixinTemplateContext(target = {}) {\n if (this.templateHelpers || this.options.templateHelpers) {\n Marionette.deprecate('templateHelpers are deprecated. Use templateContext');\n this.mergeOptions(this.options, ['templateHelpers']);\n const templateHelpers = _.result(this, 'templateHelpers');\n return _.extend(target, templateHelpers);\n }\n\n const templateContext = _.result(this, 'templateContext');\n return _.extend(target, templateContext);\n }\n\n function mixinTemplateHelpers() {\n Marionette.deprecate('mixinTemplateHelpers was renamed mixinTemplateContext in v3.');\n mixinTemplateContext.apply(this, arguments);\n }\n\n _.extend(Marionette.View.prototype, {\n mixinTemplateContext,\n mixinTemplateHelpers\n });\n\n _.extend(Marionette.CompositeView.prototype, {\n mixinTemplateContext,\n mixinTemplateHelpers\n });\n}\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n // split the event name on the \":\"\n var splitter = /(^|:)(\\w)/gi;\n\n // take the event section (\"section1:section2:section3\")\n // and turn it in to uppercase name onSection1Section2Section3\n function getEventName(match, prefix, eventName) {\n return eventName.toUpperCase();\n }\n\n const triggerParent = Marionette.View.prototype._triggerEventOnParentLayout;\n\n function _triggerEventOnParentLayout(eventName, ...args) {\n const layoutView = this._parentView();\n if (!layoutView) { return; }\n\n args = args || [];\n\n const eventPrefix = _.result(layoutView, 'childViewEventPrefix');\n const prefixedEventName = eventPrefix + ':' + eventName;\n\n var methodName = 'on' + prefixedEventName.replace(splitter, getEventName);\n var method = (layoutView.options && layoutView.options[methodName]) || layoutView[methodName];\n\n // If this is true we expect that it is expecting `this`\n // as its first argument\n if ((_.isFunction(method) && method.length) === args.length + 1 ||\n (layoutView._events && layoutView._events[prefixedEventName] && layoutView._events[prefixedEventName].length) === args.length + 1) {\n args = [this].concat(args);\n Marionette.deprecate('The triggering view is no longer prepended on to the arguments of proxied child events.');\n }\n\n return triggerParent.apply(this, [eventName].concat(args));\n }\n\n function _proxyChildEvents(view) {\n var prefix = this.getOption('childViewEventPrefix');\n\n // Forward all child view events through the parent,\n // prepending \"childview:\" to the event name\n this.listenTo(view, 'all', function() {\n var args = _.toArray(arguments);\n var rootEvent = args[0];\n\n\n var childViewEvents = this.normalizeMethods(this._childViewEvents);\n\n // call collectionView childViewEvent if defined\n if (typeof childViewEvents !== 'undefined' && _.isFunction(childViewEvents[rootEvent])) {\n childViewEvents[rootEvent].apply(this, [view].concat(_.rest(args)));\n }\n\n // use the parent view's proxyEvent handlers\n var childViewTriggers = this._childViewTriggers;\n\n // Call the event with the proxy name on the parent layout\n if (childViewTriggers && _.isString(childViewTriggers[rootEvent])) {\n this.triggerMethod.apply(this, [childViewTriggers[rootEvent]].concat(args));\n }\n\n args[0] = prefix + ':' + rootEvent;\n args.splice(1, 0, view);\n\n this.triggerMethod.apply(this, args);\n });\n }\n\n _.extend(Marionette.View.prototype, {\n _triggerEventOnParentLayout\n });\n\n _.extend(Marionette.CompositeView.prototype, {\n _triggerEventOnParentLayout\n });\n\n _.extend(Marionette.CollectionView.prototype, {\n _proxyChildEvents\n });\n}\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n const originalConstructor = Marionette.View.prototype.constructor;\n\n Marionette.View = Marionette.View.extend({\n constructor(options) {\n const args = Array.prototype.slice.call(arguments);\n\n if (_.isFunction(options)) {\n Marionette.deprecate('Marionette.View options is no longer supported as a function. Please use an object instead.');\n options = options();\n\n args[0] = options;\n }\n\n originalConstructor.apply(this, args);\n }\n });\n};\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nimport ApplicationWreqr from './ApplicationWreqr';\nimport bindEntityEvents from './bindEntityEvents';\nimport childEvents from './childEvents';\nimport CollectionView from './CollectionView';\nimport CompositeView from './CompositeView';\nimport Controller from './Controller';\nimport deprecatedEvents from './deprecatedEvents';\nimport getChildView from './getChildView';\nimport ItemView from './ItemView';\nimport LayoutView from './LayoutView';\nimport Module from './Module';\nimport normalizeUi from './normalizeUi';\nimport proxyFunctions from './proxyFunctions';\nimport Region from './Region';\nimport RegionManager from './RegionManager';\nimport RegionShowEvent from './RegionShowEvent';\nimport regionsOnApplication from './regionsOnApplication';\nimport regionsOnView from './regionsOnView';\nimport RegionStaticMethods from './RegionStaticMethods';\nimport templateHelpers from './templateHelpers';\nimport triggerProxy from './triggerProxy';\nimport viewOptions from './viewOptions';\n\nMarionette.DEV_MODE = true;\n\nif (!Marionette || Marionette.VERSION.charAt(0) !== '3') {\n alert('marionette-v3-compat patches Marionette v3 to act like v2. Marionette v3 not found.');\n}\n\nMarionette.VERSION = 'marionette-v3-compat';\n\n// Add a console.trace to the deprecate message\nMarionette.deprecate._warn = function() {\n const warn = Marionette.deprecate._console.warn || Marionette.deprecate._console.log || function() {};\n console.trace();\n return warn.apply(Marionette.deprecate._console, arguments);\n};\n\nMarionette._getValue = function(value, context, params) {\n if (_.isFunction(value)) {\n value = params ? value.apply(context, params) : value.call(context);\n }\n return value;\n};\n\nexport default function(opts = {}) {\n const patches = _.extend({\n ApplicationWreqr,\n bindEntityEvents,\n childEvents,\n CollectionView,\n CompositeView,\n Controller,\n deprecatedEvents,\n getChildView,\n ItemView,\n LayoutView,\n Module,\n normalizeUi,\n proxyFunctions,\n Region,\n RegionManager,\n RegionShowEvent,\n regionsOnApplication,\n regionsOnView,\n RegionStaticMethods,\n templateHelpers,\n triggerProxy,\n viewOptions\n }, opts);\n\n _.mapObject(patches, function(patch) {\n if (_.isFunction(patch)) {\n patch();\n }\n });\n}\n"],"names":[],"mappings":";;;;;;;;;;;+BAI0B;;AAExB,EAAA,WAAS,GAAT,GAAe;AACb,EAAA,eAAW,SAAX,CAAqB,kEAArB;AACD,EAAA;;AAED,EAAA,MAAM,sBAAsB,WAAW,WAAX,CAAuB,SAAvB,CAAiC,WAA7D;;AAEA,EAAA,aAAW,WAAX,GAAyB,WAAW,WAAX,CAAuB,MAAvB,CAA8B;AACrD,EAAA,iBAAa,uBAAW;AACtB,EAAA,WAAK,cAAL;AACA,EAAA,0BAAoB,KAApB,CAA0B,IAA1B,EAAgC,SAAhC;AACD,EAAA,KAJoD;;AAMrD,EAAA;AACA,EAAA,aAAS,mBAAW;AAClB,EAAA,WAAK,QAAL,CAAc,OAAd,CAAsB,KAAtB,CAA4B,KAAK,QAAjC,EAA2C,SAA3C;AACD,EAAA,KAToD;;AAWrD,EAAA;AACA,EAAA,aAAS,mBAAW;AAClB,EAAA,aAAO,KAAK,MAAL,CAAY,OAAZ,CAAoB,KAApB,CAA0B,KAAK,MAA/B,EAAuC,SAAvC,CAAP;AACD,EAAA,KAdoD;;AAgBrD,EAAA,oBAAgB,0BAAW;AACzB,EAAA,WAAK,WAAL,GAAmB,EAAE,MAAF,CAAS,IAAT,EAAe,aAAf,KAAiC,QAApD;AACA,EAAA,WAAK,OAAL,GAAe,EAAE,MAAF,CAAS,IAAT,EAAe,SAAf,KAA6B,MAAM,OAAN,CAAc,KAAK,WAAnB,CAA5C;AACA,EAAA,WAAK,OAAL,CAAa,kBAAb,GAAkC,IAAlC;AACA,EAAA,WAAK,IAAL,GAAY,KAAK,OAAjB;AACA,EAAA,WAAK,MAAL,GAAc,KAAK,OAAnB;AACA,EAAA,WAAK,QAAL,GAAgB,KAAK,OAArB;;AAEA,EAAA,UAAM,YAAY,KAAK,OAAL,CAAa,EAA/B;;AAEA,EAAA,WAAK,OAAL,CAAa,EAAb,GAAkB,YAAW;AAC3B,EAAA;AACA,EAAA,eAAO,UAAU,KAAV,CAAgB,IAAhB,EAAsB,SAAtB,CAAP;AACD,EAAA,OAHD;;AAKA,EAAA,UAAM,iBAAiB,KAAK,OAAL,CAAa,OAApC;;AAEA,EAAA,WAAK,OAAL,CAAa,OAAb,GAAuB,YAAW;AAChC,EAAA;AACA,EAAA,eAAO,eAAe,KAAf,CAAqB,IAArB,EAA2B,SAA3B,CAAP;AACD,EAAA,OAHD;;AAKA,EAAA,WAAK,OAAL,CAAa,OAAb,GAAuB,YAAW;AAChC,EAAA;AACA,EAAA,mBAAW,SAAX,CAAqB,iDAArB;AACA,EAAA,eAAO,eAAe,KAAf,CAAqB,IAArB,EAA2B,SAA3B,CAAP;AACD,EAAA,OAJD;;AAMA,EAAA,UAAM,WAAW,WAAW,MAAX,CAAkB,QAAnC;;AAEA,EAAA,iBAAW,MAAX,CAAkB,QAAlB,GAA6B,UAAS,GAAT,EAAc;AACzC,EAAA,YAAI,IAAI,kBAAR,EAA4B;AAAE,EAAA;AAAQ,EAAA;AACtC,EAAA,iBAAS,KAAT,CAAe,IAAf,EAAqB,SAArB;AACD,EAAA,OAHD;AAID,EAAA;AAlDoD,EAAA,GAA9B,CAAzB;AAoDD,EAAA;;+BC7DyB;;AAExB,EAAA,MAAI,eAAe,WAAW,UAA9B;AACA,EAAA,MAAI,iBAAiB,WAAW,YAAhC;;AAEA,EAAA,aAAW,UAAX,GAAwB,UAAS,OAAT,EAAkB,MAAlB,EAA0B,QAA1B,EAAoC;AAC1D,EAAA,QAAI,EAAE,UAAF,CAAa,QAAb,CAAJ,EAA4B;AAC1B,EAAA,iBAAW,SAAX,CAAqB,2DAArB;AACA,EAAA,iBAAW,SAAS,IAAT,CAAc,OAAd,CAAX;AACD,EAAA;AACD,EAAA,WAAO,aAAa,OAAb,EAAsB,MAAtB,EAA8B,QAA9B,CAAP;AACD,EAAA,GAND;;AAQA,EAAA,aAAW,YAAX,GAA0B,UAAS,OAAT,EAAkB,MAAlB,EAA0B,QAA1B,EAAoC;AAC5D,EAAA,QAAI,EAAE,UAAF,CAAa,QAAb,CAAJ,EAA4B;AAC1B,EAAA,iBAAW,SAAX,CAAqB,6DAArB;AACA,EAAA,iBAAW,SAAS,IAAT,CAAc,OAAd,CAAX;AACD,EAAA;AACD,EAAA,WAAO,eAAe,OAAf,EAAwB,MAAxB,EAAgC,QAAhC,CAAP;AACD,EAAA,GAND;;AAQA,EAAA,aAAW,gBAAX,GAA8B,UAAS,OAAT,EAAkB,MAAlB,EAA0B,QAA1B,EAAoC;AAChE,EAAA,eAAW,SAAX,CAAqB,wDAArB;AACA,EAAA,WAAO,WAAW,UAAX,CAAsB,OAAtB,EAA+B,MAA/B,EAAuC,QAAvC,CAAP;AACD,EAAA,GAHD;;AAKA,EAAA,aAAW,kBAAX,GAAgC,UAAS,OAAT,EAAkB,MAAlB,EAA0B,QAA1B,EAAoC;AAClE,EAAA,eAAW,SAAX,CAAqB,mDAArB;AACA,EAAA,WAAO,WAAW,YAAX,CAAwB,OAAxB,EAAiC,MAAjC,EAAyC,QAAzC,CAAP;AACD,EAAA,GAHD;;AAKA,EAAA,MAAM,kBAAkB;AACtB,EAAA,oBADsB,8BACI;AACxB,EAAA,iBAAW,SAAX,CAAqB,wDAArB;;AADwB,EAAA,wCAAN,IAAM;AAAN,EAAA,YAAM;AAAA,EAAA;;AAExB,EAAA,aAAO,WAAW,UAAX,oBAAsB,IAAtB,SAA+B,IAA/B,EAAP;AACD,EAAA,KAJqB;AAKtB,EAAA,sBALsB,gCAKM;AAC1B,EAAA,iBAAW,SAAX,CAAqB,mDAArB;;AAD0B,EAAA,yCAAN,IAAM;AAAN,EAAA,YAAM;AAAA,EAAA;;AAE1B,EAAA,aAAO,WAAW,YAAX,oBAAwB,IAAxB,SAAiC,IAAjC,EAAP;AAED,EAAA;AATqB,EAAA,GAAxB;;AAYA,EAAA,IAAE,MAAF,CAAS,WAAW,MAAX,CAAkB,SAA3B,EAAsC,eAAtC;;AAEA,EAAA,IAAE,MAAF,CAAS,WAAW,IAAX,CAAgB,SAAzB,EAAoC,eAApC;;AAEA,EAAA,IAAE,MAAF,CAAS,WAAW,cAAX,CAA0B,SAAnC,EAA8C,eAA9C;AACD,EAAA;;0BChDyB;;AAExB,EAAA;AACA,EAAA,WAAS,kBAAT,GAA8B;AAC5B,EAAA,QAAI,KAAK,WAAL,IAAoB,KAAK,OAAL,CAAa,WAArC,EAAkD;AAChD,EAAA,iBAAW,SAAX,CAAqB,iDAArB;AACA,EAAA,WAAK,YAAL,CAAkB,KAAK,OAAvB,EAAgC,CAAC,aAAD,CAAhC;AACA,EAAA,WAAK,gBAAL,GAAwB,EAAE,MAAF,CAAS,IAAT,EAAe,aAAf,CAAxB;AACD,EAAA,KAJD,MAIO;AACL,EAAA,WAAK,gBAAL,GAAwB,EAAE,MAAF,CAAS,IAAT,EAAe,iBAAf,CAAxB;AACD,EAAA;;AAED,EAAA,SAAK,kBAAL,GAA0B,EAAE,MAAF,CAAS,IAAT,EAAe,mBAAf,CAA1B;AACD,EAAA;;AAED,EAAA,IAAE,MAAF,CAAS,WAAW,IAAX,CAAgB,SAAzB,EAAoC;AAClC,EAAA;AADkC,EAAA,GAApC;;AAIA,EAAA,IAAE,MAAF,CAAS,WAAW,cAAX,CAA0B,SAAnC,EAA8C;AAC5C,EAAA;AAD4C,EAAA,GAA9C;AAGD,EAAA;;4BCtBuB,eAAT,EAA0B,cAA1B,EAA0C,WAA1C,EAAuD,SAAvD,EAAkE;AAC/E,EAAA,MAAM,WAAW,WAAW,SAAX,EAAsB,SAAtB,CAAgC,eAAhC,CAAjB;AACA,EAAA,MAAM,UAAU,EAAhB;;AAEA,EAAA,UAAQ,eAAR,IAA2B,YAAW;AACpC,EAAA,SAAK,MAAL,GAAc,IAAd;AACA,EAAA,WAAO,KAAK,cAAL,EAAqB,KAArB,CAA2B,IAA3B,EAAiC,SAAjC,CAAP;AACD,EAAA,GAHD;;AAKA,EAAA,UAAQ,cAAR,IAA0B,YAAW;AACnC,EAAA,QAAI,KAAK,MAAT,EAAiB;AACf,EAAA,WAAK,MAAL,GAAc,KAAd;AACD,EAAA,KAFD,MAEO;AACL,EAAA,iBAAW,SAAX,CAAqB,WAArB;AACD,EAAA;AACD,EAAA,WAAO,SAAS,KAAT,CAAe,IAAf,EAAqB,SAArB,CAAP;AACD,EAAA,GAPD;;AASA,EAAA,IAAE,MAAF,CAAS,WAAW,SAAX,EAAsB,SAA/B,EAA0C,OAA1C;AACD,EAAA;;6BCnByB;;AAExB,EAAA,kBAAgB,eAAhB,EAAiC,cAAjC,EAAiD,8BAAjD,EAAiF,gBAAjF;AACA,EAAA,kBAAgB,iBAAhB,EAAmC,gBAAnC,EAAqD,gCAArD,EAAuF,gBAAvF;AACA,EAAA,kBAAgB,iBAAhB,EAAmC,gBAAnC,EAAqD,gCAArD,EAAuF,gBAAvF;AACA,EAAA,kBAAgB,gBAAhB,EAAkC,eAAlC,EAAmD,+BAAnD,EAAoF,gBAApF;AACA,EAAA,kBAAgB,mBAAhB,EAAqC,kBAArC,EAAyD,kCAAzD,EAA6F,gBAA7F;AACA,EAAA,kBAAgB,aAAhB,EAA+B,YAA/B,EAA6C,4BAA7C,EAA2E,gBAA3E;AACA,EAAA,kBAAgB,kBAAhB,EAAoC,iBAApC,EAAuD,iCAAvD,EAA0F,gBAA1F;AACA,EAAA,kBAAgB,mBAAhB,EAAqC,kBAArC,EAAyD,kCAAzD,EAA6F,gBAA7F;AACA,EAAA,kBAAgB,WAAhB,EAA6B,UAA7B,EAAyC,0BAAzC,EAAqE,gBAArE;;AAEA,EAAA,MAAM,sBAAsB,WAAW,cAAX,CAA0B,SAA1B,CAAoC,WAAhE;;AAEA,EAAA,aAAW,cAAX,GAA4B,WAAW,cAAX,CAA0B,MAA1B,CAAiC;AAC3D,EAAA,eAD2D,yBAC7C;AACZ,EAAA,eAAS,MAAT,CAAgB,EAAhB,CAAmB,IAAnB,CAAwB,IAAxB,EAA8B,iBAA9B,EAAiD,YAAW;AAAE,EAAA,aAAK,aAAL,CAAmB,mBAAnB,EAAwC,IAAxC;AAAgD,EAAA,OAA9G;AACA,EAAA,eAAS,MAAT,CAAgB,EAAhB,CAAmB,IAAnB,CAAwB,IAAxB,EAA8B,wBAA9B,EAAwD,YAAW;AAAE,EAAA,aAAK,aAAL,CAAmB,0BAAnB,EAA+C,IAA/C;AAAuD,EAAA,OAA5H;;AAEA,EAAA,eAAS,MAAT,CAAgB,EAAhB,CAAmB,IAAnB,CAAwB,IAAxB,EAA8B,kBAA9B,EAAkD,YAAW;AAAE,EAAA,aAAK,aAAL,CAAmB,oBAAnB,EAAyC,IAAzC;AAAiD,EAAA,OAAhH;AACA,EAAA,eAAS,MAAT,CAAgB,EAAhB,CAAmB,IAAnB,CAAwB,IAAxB,EAA8B,yBAA9B,EAAyD,YAAW;AAAE,EAAA,aAAK,aAAL,CAAmB,2BAAnB,EAAgD,IAAhD;AAAwD,EAAA,OAA9H;;AAEA,EAAA,0BAAoB,KAApB,CAA0B,IAA1B,EAAgC,SAAhC;AACD,EAAA,KAT0D;AAU3D,EAAA,oBAV2D,8BAUxC;AACjB,EAAA,iBAAW,SAAX,CAAqB,kCAArB;AACA,EAAA,WAAK,iBAAL,GAAyB,EAAzB;AACD,EAAA;AAb0D,EAAA,GAAjC,CAA5B;;AAgBA,EAAA,MAAM,0BAA0B,WAAW,aAAX,CAAyB,SAAzB,CAAmC,WAAnE;;AAEA,EAAA,aAAW,aAAX,GAA2B,WAAW,aAAX,CAAyB,MAAzB,CAAgC;AACzD,EAAA,eADyD,yBAC3C;AACZ,EAAA,eAAS,MAAT,CAAgB,EAAhB,CAAmB,IAAnB,CAAwB,IAAxB,EAA8B,iBAA9B,EAAiD,YAAW;AAAE,EAAA,aAAK,aAAL,CAAmB,mBAAnB,EAAwC,IAAxC;AAAgD,EAAA,OAA9G;AACA,EAAA,eAAS,MAAT,CAAgB,EAAhB,CAAmB,IAAnB,CAAwB,IAAxB,EAA8B,wBAA9B,EAAwD,YAAW;AAAE,EAAA,aAAK,aAAL,CAAmB,0BAAnB,EAA+C,IAA/C;AAAuD,EAAA,OAA5H;;AAEA,EAAA,eAAS,MAAT,CAAgB,EAAhB,CAAmB,IAAnB,CAAwB,IAAxB,EAA8B,kBAA9B,EAAkD,YAAW;AAAE,EAAA,aAAK,aAAL,CAAmB,oBAAnB,EAAyC,IAAzC;AAAiD,EAAA,OAAhH;AACA,EAAA,eAAS,MAAT,CAAgB,EAAhB,CAAmB,IAAnB,CAAwB,IAAxB,EAA8B,yBAA9B,EAAyD,YAAW;AAAE,EAAA,aAAK,aAAL,CAAmB,2BAAnB,EAAgD,IAAhD;AAAwD,EAAA,OAA9H;AACA,EAAA,8BAAwB,KAAxB,CAA8B,IAA9B,EAAoC,SAApC;AACD,EAAA;AARwD,EAAA,GAAhC,CAA3B;AAWD,EAAA;;4BC5CyB;;AAGxB,EAAA,MAAM,qBAAqB,WAAW,aAAX,CAAyB,SAAzB,CAAmC,eAA9D;;AAEA,EAAA,IAAE,MAAF,CAAS,WAAW,aAAX,CAAyB,SAAlC,EAA6C;AAC3C,EAAA,mBAD2C,6BACzB;AAChB,EAAA,WAAK,aAAL,CAAmB,wBAAnB;AACA,EAAA,yBAAmB,KAAnB,CAAyB,IAAzB,EAA+B,SAA/B;AACA,EAAA,WAAK,aAAL,CAAmB,iBAAnB;AACD,EAAA;AAL0C,EAAA,GAA7C;AAOD,EAAA;;yBCZyB;AACxB,EAAA,aAAW,UAAX,GAAwB,WAAW,MAAX,CAAkB,MAAlB,CAAyB;AAC/C,EAAA,eAD+C,uBACnC,OADmC,EAC1B;AACnB,EAAA,WAAK,OAAL,GAAe,WAAW,EAA1B;;AAEA,EAAA,UAAM,OAAO,MAAM,SAAN,CAAgB,KAAhB,CAAsB,IAAtB,CAA2B,SAA3B,CAAb;AACA,EAAA,WAAK,CAAL,IAAU,KAAK,OAAf;;AAEA,EAAA,iBAAW,SAAX,CAAqB,4DAArB;AACA,EAAA,iBAAW,MAAX,CAAkB,SAAlB,CAA4B,WAA5B,CAAwC,KAAxC,CAA8C,IAA9C,EAAoD,IAApD;AACD,EAAA,KAT8C;;;AAW/C,EAAA,aAAS,mBAAkB;AAAA,EAAA,wCAAN,IAAM;AAAN,EAAA,YAAM;AAAA,EAAA;;AACzB,EAAA,WAAK,aAAL,cAAmB,gBAAnB,SAAwC,IAAxC;AACA,EAAA,WAAK,aAAL,cAAmB,SAAnB,SAAiC,IAAjC;AACA,EAAA,WAAK,aAAL;;AAEA,EAAA,aAAO,IAAP;AACD,EAAA;AAjB8C,EAAA,GAAzB,CAAxB;AAmBD,EAAA;;+BClByB;AACxB,EAAA,MAAM,mBAAmB;AACvB,EAAA,yBAAqB,IADE;AAEvB,EAAA,2BAAuB,IAFA;AAGvB,EAAA,uBAAmB;AAHI,EAAA,GAAzB;;AAMA,EAAA,MAAM,MAAM,SAAN,GAAM,CAAS,IAAT,EAAe;AACzB,EAAA,eAAW,SAAX,CAAyB,IAAzB;AACD,EAAA,GAFD;;AAIA,EAAA,MAAM,WAAW,SAAS,IAAT,CAAc,SAAd,CAAwB,QAAzC;;AAEA,EAAA,WAAS,IAAT,CAAc,SAAd,CAAwB,QAAxB,GAAmC,UAAS,GAAT,EAAc,IAAd,EAAoB;AACrD,EAAA,QAAI,iBAAiB,IAAjB,CAAJ,EAA4B;AAAE,EAAA,UAAI,IAAJ;AAAY,EAAA;AAC1C,EAAA,QAAI,EAAE,QAAF,CAAW,IAAX,CAAJ,EAAsB;AACpB,EAAA,QAAE,IAAF,CAAO,IAAP,EAAa,UAAS,KAAT,EAAgB,GAAhB,EAAqB;AAChC,EAAA,YAAI,iBAAiB,GAAjB,CAAJ,EAA2B;AAAE,EAAA,cAAI,GAAJ;AAAW,EAAA;AACzC,EAAA,OAFD;AAGD,EAAA;AACD,EAAA,aAAS,KAAT,CAAe,IAAf,EAAqB,SAArB;AACD,EAAA,GARD;;AAUA,EAAA,MAAM,KAAK,SAAS,IAAT,CAAc,SAAd,CAAwB,EAAnC;;AAEA,EAAA,WAAS,IAAT,CAAc,SAAd,CAAwB,EAAxB,GAA6B,UAAS,IAAT,EAAe;AAC1C,EAAA,QAAI,iBAAiB,IAAjB,CAAJ,EAA4B;AAAE,EAAA,UAAI,IAAJ;AAAY,EAAA;AAC1C,EAAA,QAAI,EAAE,QAAF,CAAW,IAAX,CAAJ,EAAsB;AACpB,EAAA,QAAE,IAAF,CAAO,IAAP,EAAa,UAAS,KAAT,EAAgB,GAAhB,EAAqB;AAChC,EAAA,YAAI,iBAAiB,GAAjB,CAAJ,EAA2B;AAAE,EAAA,cAAI,GAAJ;AAAW,EAAA;AACzC,EAAA,OAFD;AAGD,EAAA;AACD,EAAA,OAAG,KAAH,CAAS,IAAT,EAAe,SAAf;AACD,EAAA,GARD;AASD,EAAA;;2BCpCyB;;AAExB,EAAA,kBAAgB,eAAhB,EAAiC,cAAjC,EAAiD,oDAAjD,EAAuG,gBAAvG;AACA,EAAA,kBAAgB,eAAhB,EAAiC,cAAjC,EAAiD,oDAAjD,EAAuG,gBAAvG;AACD,EAAA;;uBCJyB;AACxB,EAAA,aAAW,QAAX,GAAsB,WAAW,IAAX,CAAgB,MAAhB,CAAuB;AAC3C,EAAA,eAD2C,yBAC7B;AACZ,EAAA,iBAAW,SAAX,CAAqB,wDAArB;AACA,EAAA,iBAAW,IAAX,CAAgB,SAAhB,CAA0B,WAA1B,CAAsC,KAAtC,CAA4C,IAA5C,EAAkD,SAAlD;AACD,EAAA;AAJ0C,EAAA,GAAvB,CAAtB;AAMD,EAAA;;yBCPyB;AACxB,EAAA,aAAW,UAAX,GAAwB,WAAW,IAAX,CAAgB,MAAhB,CAAuB;AAC7C,EAAA,eAD6C,yBAC/B;AACZ,EAAA,iBAAW,SAAX,CAAqB,0DAArB;AACA,EAAA,iBAAW,IAAX,CAAgB,SAAhB,CAA0B,WAA1B,CAAsC,KAAtC,CAA4C,IAA5C,EAAkD,SAAlD;AACD,EAAA;AAJ4C,EAAA,GAAvB,CAAxB;AAMD,EAAA;;qBCLyB;;AAExB,EAAA,MAAM,sBAAsB,WAAW,WAAX,CAAuB,SAAvB,CAAiC,WAA7D;;AAEA,EAAA,aAAW,QAAX,GAAsB,YAAW;AAC/B,EAAA,eAAW,SAAX,CAAqB,sDAArB;AACA,EAAA,WAAO,SAAS,CAAT,CAAW,QAAX,CAAoB,KAApB,CAA0B,IAA1B,EAAgC,SAAhC,CAAP;AACD,EAAA,GAHD;;AAKA,EAAA,aAAW,WAAX,GAAyB,WAAW,WAAX,CAAuB,MAAvB,CAA8B;AACrD,EAAA,iBAAa,uBAAW;AACtB,EAAA,WAAK,cAAL,GAAsB,IAAI,WAAW,SAAf,EAAtB;AACA,EAAA,WAAK,UAAL,GAAkB,EAAlB;AACA,EAAA,0BAAoB,KAApB,CAA0B,IAA1B,EAAgC,SAAhC;AACD,EAAA,KALoD;;AAOrD,EAAA,oBAAgB,wBAAS,WAAT,EAAsB;AACpC,EAAA,iBAAW,SAAX,CAAqB,4DAArB;AACA,EAAA,WAAK,cAAL,CAAoB,GAApB,CAAwB,WAAxB;AACD,EAAA,KAVoD;;AAYrD,EAAA,WAAO,eAAS,OAAT,EAAkB;AACvB,EAAA,WAAK,aAAL,CAAmB,cAAnB,EAAmC,OAAnC;AACA,EAAA,WAAK,cAAL,CAAoB,GAApB,CAAwB,OAAxB,EAAiC,IAAjC;AACA,EAAA,WAAK,aAAL,CAAmB,OAAnB,EAA4B,OAA5B;AACD,EAAA,KAhBoD;;AAkBrD,EAAA,YAAQ,gBAAS,WAAT,EAAsB,gBAAtB,EAAwC;;AAE9C,EAAA;AACA,EAAA,UAAI,cAAc,WAAW,MAAX,CAAkB,QAAlB,CAA2B,gBAA3B,CAAlB;;AAEA,EAAA,UAAI,OAAO,EAAE,OAAF,CAAU,SAAV,CAAX;AACA,EAAA,WAAK,OAAL,CAAa,IAAb;;AAEA,EAAA;AACA,EAAA,aAAO,YAAY,MAAZ,CAAmB,KAAnB,CAAyB,WAAzB,EAAsC,IAAtC,CAAP;AACD,EAAA;AA5BoD,EAAA,GAA9B,CAAzB;;AAgCA,EAAA;AACA,EAAA;;AAEA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA,aAAW,SAAX,GAAuB,YAAW;AAChC,EAAA,SAAK,SAAL,GAAiB,WAAW,QAAX,EAAjB;AACA,EAAA,SAAK,UAAL,GAAkB,EAAlB;AACD,EAAA,GAHD;;AAKA,EAAA,IAAE,MAAF,CAAS,WAAW,SAAX,CAAqB,SAA9B,EAAyC;;AAEvC,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA,SAAK,aAAS,QAAT,EAAmB,eAAnB,EAAoC;AACvC,EAAA,UAAI,UAAU,EAAE,MAAF,CAAS,KAAK,SAAd,EAAyB,SAAzB,CAAd;;AAEA,EAAA,WAAK,UAAL,CAAgB,IAAhB,CAAqB,EAAC,IAAI,QAAL,EAAe,KAAK,eAApB,EAArB;;AAEA,EAAA,cAAQ,IAAR,CAAa,UAAS,IAAT,EAAe;AAC1B,EAAA,YAAI,eAAJ,EAAqB;AAAE,EAAA,eAAK,OAAL,GAAe,eAAf;AAAiC,EAAA;AACxD,EAAA,iBAAS,IAAT,CAAc,KAAK,OAAnB,EAA4B,KAAK,OAAjC;AACD,EAAA,OAHD;AAID,EAAA,KAdsC;;AAgBvC,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA,SAAK,aAAS,OAAT,EAAkB,OAAlB,EAA2B;AAC9B,EAAA,WAAK,SAAL,CAAe,OAAf,CAAuB;AACrB,EAAA,iBAAS,OADY;AAErB,EAAA,iBAAS;AAFY,EAAA,OAAvB;AAID,EAAA,KAxBsC;;AA0BvC,EAAA;AACA,EAAA;AACA,EAAA,WAAO,iBAAW;AAChB,EAAA,UAAI,YAAY,KAAK,UAArB;AACA,EAAA,WAAK,SAAL,GAAiB,WAAW,QAAX,EAAjB;AACA,EAAA,WAAK,UAAL,GAAkB,EAAlB;;AAEA,EAAA,QAAE,IAAF,CAAO,SAAP,EAAkB,UAAS,EAAT,EAAa;AAC7B,EAAA,aAAK,GAAL,CAAS,GAAG,EAAZ,EAAgB,GAAG,GAAnB;AACD,EAAA,OAFD,EAEG,IAFH;AAGD,EAAA;AApCsC,EAAA,GAAzC;;AAuCA,EAAA;AACA,EAAA;AACA,EAAA,aAAW,MAAX,GAAoB,UAAS,UAAT,EAAqB,GAArB,EAA0B,OAA1B,EAAmC;AACrD,EAAA,eAAW,SAAX,CAAqB,oDAArB;;AAEA,EAAA,SAAK,UAAL,GAAkB,UAAlB;AACA,EAAA,SAAK,OAAL,GAAe,EAAE,MAAF,CAAS,EAAT,EAAa,KAAK,OAAlB,EAA2B,OAA3B,CAAf;AACA,EAAA;AACA,EAAA;AACA,EAAA,SAAK,UAAL,GAAkB,QAAQ,UAAR,IAAsB,KAAK,UAA7C;;AAEA,EAAA;AACA,EAAA,SAAK,UAAL,GAAkB,EAAlB;;AAEA,EAAA,SAAK,+BAAL;;AAEA,EAAA;AACA,EAAA;AACA,EAAA,SAAK,GAAL,GAAW,GAAX;;AAEA,EAAA,QAAI,EAAE,UAAF,CAAa,KAAK,UAAlB,CAAJ,EAAmC;AACjC,EAAA,WAAK,UAAL,CAAgB,UAAhB,EAA4B,GAA5B,EAAiC,KAAK,OAAtC;AACD,EAAA;AACF,EAAA,GArBD;;AAuBA,EAAA,aAAW,MAAX,CAAkB,MAAlB,GAA2B,WAAW,MAAtC;;AAEA,EAAA;AACA,EAAA;AACA,EAAA,IAAE,MAAF,CAAS,WAAW,MAAX,CAAkB,SAA3B,EAAsC,SAAS,MAA/C,EAAuD;;AAErD,EAAA;AACA,EAAA,qBAAiB,IAHoC;;AAKrD,EAAA;AACA,EAAA;AACA,EAAA,gBAAY,sBAAW,EAP8B;;AASrD,EAAA;AACA,EAAA;AACA,EAAA,oBAAgB,wBAAS,QAAT,EAAmB;AACjC,EAAA,WAAK,qBAAL,CAA2B,GAA3B,CAA+B,QAA/B;AACD,EAAA,KAboD;;AAerD,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA,kBAAc,sBAAS,QAAT,EAAmB;AAC/B,EAAA,WAAK,mBAAL,CAAyB,GAAzB,CAA6B,QAA7B;AACD,EAAA,KApBoD;;AAsBrD,EAAA;AACA,EAAA,WAAO,eAAS,OAAT,EAAkB;AACvB,EAAA;AACA,EAAA,UAAI,KAAK,cAAT,EAAyB;AAAE,EAAA;AAAS,EAAA;;AAEpC,EAAA;AACA,EAAA,QAAE,IAAF,CAAO,KAAK,UAAZ,EAAwB,UAAS,GAAT,EAAc;AACpC,EAAA;AACA,EAAA,YAAI,IAAI,eAAR,EAAyB;AACvB,EAAA,cAAI,KAAJ,CAAU,OAAV;AACD,EAAA;AACF,EAAA,OALD;;AAOA,EAAA;AACA,EAAA,WAAK,aAAL,CAAmB,cAAnB,EAAmC,OAAnC;;AAEA,EAAA,WAAK,qBAAL,CAA2B,GAA3B,CAA+B,OAA/B,EAAwC,IAAxC;AACA,EAAA,WAAK,cAAL,GAAsB,IAAtB;;AAEA,EAAA,WAAK,aAAL,CAAmB,OAAnB,EAA4B,OAA5B;AACD,EAAA,KA1CoD;;AA4CrD,EAAA;AACA,EAAA;AACA,EAAA,UAAM,gBAAW;AACf,EAAA;AACA,EAAA,UAAI,CAAC,KAAK,cAAV,EAA0B;AAAE,EAAA;AAAS,EAAA;AACrC,EAAA,WAAK,cAAL,GAAsB,KAAtB;;AAEA,EAAA,WAAK,aAAL,CAAmB,aAAnB;;AAEA,EAAA;AACA,EAAA;AACA,EAAA,QAAE,MAAF,CAAS,KAAK,UAAd,EAA0B,MAA1B;;AAEA,EAAA;AACA,EAAA,WAAK,mBAAL,CAAyB,GAAzB,CAA6B,SAA7B,EAAwC,IAAxC;;AAEA,EAAA;AACA,EAAA,WAAK,qBAAL,CAA2B,KAA3B;AACA,EAAA,WAAK,mBAAL,CAAyB,KAAzB;;AAEA,EAAA,WAAK,aAAL,CAAmB,MAAnB;AACD,EAAA,KAjEoD;;AAmErD,EAAA;AACA,EAAA;AACA,EAAA,mBAAe,uBAAS,gBAAT,EAA2B,UAA3B,EAAuC;AACpD,EAAA,WAAK,oBAAL,CAA0B,gBAA1B,EAA4C,UAA5C;AACD,EAAA,KAvEoD;;AAyErD,EAAA;AACA,EAAA;AACA,EAAA,0BAAsB,8BAAS,UAAT,EAAqB,UAArB,EAAiC;AACrD,EAAA;AACA,EAAA,UAAI,CAAC,UAAL,EAAiB;AAAE,EAAA;AAAS,EAAA;;AAE5B,EAAA;AACA,EAAA,UAAI,OAAO,EAAE,OAAF,CAAU,CACnB,IADmB,EAEnB,KAAK,GAFc,EAGnB,QAHmB,EAInB,UAJmB,EAKnB,SAAS,CALU,EAKP,CALO,EAMnB,UANmB,CAAV,CAAX;;AASA,EAAA,iBAAW,KAAX,CAAiB,IAAjB,EAAuB,IAAvB;AACD,EAAA,KA1FoD;;AA4FrD,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA,qCAAiC,2CAAW;AAC1C,EAAA,WAAK,qBAAL,GAA6B,IAAI,WAAW,SAAf,EAA7B;AACA,EAAA,WAAK,mBAAL,GAA2B,IAAI,WAAW,SAAf,EAA3B;AACD,EAAA,KAlGoD;;AAoGrD,EAAA;AACA,EAAA;AACA,EAAA,mBAAe,yBAAkB;AAAA,EAAA,wCAAN,IAAM;AAAN,EAAA,YAAM;AAAA,EAAA;;AAAE,EAAA,aAAO,WAAW,aAAX,CAAyB,KAAzB,CAA+B,IAA/B,EAAqC,CAAC,IAAD,EAAO,MAAP,CAAc,IAAd,CAArC,CAAP;AAAmE,EAAA;AAtGjD,EAAA,GAAvD;;AAyGA,EAAA;AACA,EAAA,IAAE,MAAF,CAAS,WAAW,MAApB,EAA4B;;AAE1B,EAAA;AACA,EAAA,YAAQ,gBAAS,GAAT,EAAc,WAAd,EAA2B,gBAA3B,EAA6C;AACnD,EAAA,UAAI,SAAS,GAAb;;AAEA,EAAA;AACA,EAAA;AACA,EAAA,UAAI,aAAa,EAAE,IAAF,CAAO,SAAP,EAAkB,CAAlB,CAAjB;;AAEA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA,oBAAc,YAAY,KAAZ,CAAkB,GAAlB,CAAd;AACA,EAAA,UAAI,SAAS,YAAY,MAAzB;;AAEA,EAAA;AACA,EAAA,UAAI,oBAAoB,EAAxB;AACA,EAAA,wBAAkB,SAAS,CAA3B,IAAgC,gBAAhC;;AAEA,EAAA;AACA,EAAA,QAAE,IAAF,CAAO,WAAP,EAAoB,UAAS,UAAT,EAAqB,CAArB,EAAwB;AAC1C,EAAA,YAAI,eAAe,MAAnB;AACA,EAAA,iBAAS,KAAK,UAAL,CAAgB,YAAhB,EAA8B,UAA9B,EAA0C,GAA1C,EAA+C,gBAA/C,CAAT;AACA,EAAA,aAAK,oBAAL,CAA0B,YAA1B,EAAwC,MAAxC,EAAgD,kBAAkB,CAAlB,CAAhD,EAAsE,UAAtE;AACD,EAAA,OAJD,EAIG,IAJH;;AAMA,EAAA;AACA,EAAA,aAAO,MAAP;AACD,EAAA,KA7ByB;;AA+B1B,EAAA,gBAAY,oBAAS,YAAT,EAAuB,UAAvB,EAAmC,GAAnC,EAAwC,GAAxC,EAA6C,IAA7C,EAAmD;AAC7D,EAAA,UAAI,UAAU,EAAE,MAAF,CAAS,EAAT,EAAa,GAAb,CAAd;AACA,EAAA,UAAI,cAAc,KAAK,QAAL,CAAc,GAAd,CAAlB;;AAEA,EAAA;AACA,EAAA,UAAI,SAAS,aAAa,UAAb,CAAb;;AAEA,EAAA,UAAI,CAAC,MAAL,EAAa;AACX,EAAA;AACA,EAAA,iBAAS,IAAI,WAAJ,CAAgB,UAAhB,EAA4B,GAA5B,EAAiC,OAAjC,CAAT;AACA,EAAA,qBAAa,UAAb,IAA2B,MAA3B;AACA,EAAA;AACA,EAAA,qBAAa,UAAb,CAAwB,UAAxB,IAAsC,MAAtC;AACD,EAAA;;AAED,EAAA,aAAO,MAAP;AACD,EAAA,KA/CyB;;AAiD1B,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA,cAAU,kBAAS,gBAAT,EAA2B;AACnC,EAAA,UAAI,cAAc,WAAW,MAA7B;;AAEA,EAAA,UAAI,CAAC,gBAAL,EAAuB;AACrB,EAAA,eAAO,WAAP;AACD,EAAA;;AAED,EAAA;AACA,EAAA;AACA,EAAA,UAAI,iBAAiB,SAAjB,YAAsC,WAA1C,EAAuD;AACrD,EAAA,eAAO,gBAAP;AACD,EAAA;;AAED,EAAA,aAAO,iBAAiB,WAAjB,IAAgC,WAAvC;AACD,EAAA,KArEyB;;AAuE1B,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA,0BAAsB,8BAAS,YAAT,EAAuB,MAAvB,EAA+B,GAA/B,EAAoC,IAApC,EAA0C;AAC9D,EAAA,UAAI,KAAK,KAAK,UAAL,CAAgB,GAAhB,CAAT;AACA,EAAA,UAAI,kBAAkB,KAAK,mBAAL,CAAyB,GAAzB,EAA8B,MAA9B,CAAtB;;AAEA,EAAA,UAAI,EAAJ,EAAQ;AACN,EAAA,eAAO,aAAP,CAAqB,EAArB,EAAyB,IAAzB;AACD,EAAA;;AAED,EAAA,WAAK,mBAAL,CAAyB,YAAzB,EAAuC,MAAvC,EAA+C,eAA/C;AACD,EAAA,KAnFyB;;AAqF1B,EAAA,yBAAqB,6BAAS,GAAT,EAAc,MAAd,EAAsB;AACzC,EAAA,UAAI,GAAJ;;AAEA,EAAA,UAAI,EAAE,UAAF,CAAa,GAAb,KAAsB,IAAI,SAAJ,YAAyB,WAAW,MAA9D,EAAuE;AACrE,EAAA,cAAM,OAAO,WAAP,CAAmB,SAAnB,CAA6B,eAAnC;AACA,EAAA,eAAO,EAAE,WAAF,CAAc,GAAd,IAAqB,IAArB,GAA4B,GAAnC;AACD,EAAA;;AAED,EAAA,UAAI,EAAE,QAAF,CAAW,GAAX,CAAJ,EAAqB;AACnB,EAAA,cAAM,IAAI,eAAV;AACA,EAAA,eAAO,EAAE,WAAF,CAAc,GAAd,IAAqB,IAArB,GAA4B,GAAnC;AACD,EAAA;;AAED,EAAA,aAAO,IAAP;AACD,EAAA,KAnGyB;;AAqG1B,EAAA,gBAAY,oBAAS,GAAT,EAAc;AACxB,EAAA,UAAI,EAAE,UAAF,CAAa,GAAb,KAAqB,EAAE,IAAI,SAAJ,YAAyB,WAAW,MAAtC,CAAzB,EAAwE;AACtE,EAAA,eAAO,GAAP;AACD,EAAA;;AAED,EAAA,UAAI,EAAE,QAAF,CAAW,GAAX,CAAJ,EAAqB;AACnB,EAAA,eAAO,IAAI,MAAX;AACD,EAAA;;AAED,EAAA,aAAO,IAAP;AACD,EAAA,KA/GyB;;AAiH1B,EAAA,yBAAqB,6BAAS,YAAT,EAAuB,MAAvB,EAA+B,eAA/B,EAAgD;AACnE,EAAA,aAAO,eAAP,GAAyB,OAAO,eAAP,IAA0B,eAAnD;;AAEA,EAAA,UAAI,CAAC,OAAO,eAAR,IAA2B,CAAC,CAAC,OAAO,2BAAxC,EAAqE;AACnE,EAAA;AACD,EAAA;;AAED,EAAA,aAAO,2BAAP,GAAqC,IAArC;;AAEA,EAAA,mBAAa,cAAb,CAA4B,UAAS,OAAT,EAAkB;AAC5C,EAAA,YAAI,OAAO,eAAX,EAA4B;AAC1B,EAAA,iBAAO,KAAP,CAAa,OAAb;AACD,EAAA;AACF,EAAA,OAJD;AAKD,EAAA;AA/HyB,EAAA,GAA5B;AAkID,EAAA;;0BCrWyB;;AAExB,EAAA,MAAI,oBAAoB,SAApB,iBAAoB,CAAS,QAAT,EAAmB,EAAnB,EAAuB;AAC7C,EAAA,WAAO,SAAS,OAAT,CAAiB,uBAAjB,EAA0C,UAAS,CAAT,EAAY;AAC3D,EAAA,aAAO,GAAG,EAAE,KAAF,CAAQ,CAAR,CAAH,CAAP;AACD,EAAA,KAFM,CAAP;AAGD,EAAA,GAJD;;AAMA,EAAA,aAAW,iBAAX,GAA+B,UAAS,QAAT,EAAmB,EAAnB,EAAuB;AACpD,EAAA,eAAW,SAAX,CAAqB,sCAArB;AACA,EAAA,WAAO,kBAAkB,KAAlB,CAAwB,IAAxB,EAA8B,SAA9B,CAAP;AACD,EAAA,GAHD;;AAKA,EAAA,MAAI,kBAAkB,SAAlB,eAAkB,CAAS,IAAT,EAAe,EAAf,EAAmB;AACvC,EAAA,WAAO,EAAE,MAAF,CAAS,IAAT,EAAe,UAAS,IAAT,EAAe,GAAf,EAAoB,GAApB,EAAyB;AAC7C,EAAA,UAAI,gBAAgB,kBAAkB,GAAlB,EAAuB,EAAvB,CAApB;AACA,EAAA,WAAK,aAAL,IAAsB,GAAtB;AACA,EAAA,aAAO,IAAP;AACD,EAAA,KAJM,EAIJ,EAJI,CAAP;AAKD,EAAA,GAND;;AAQA,EAAA,aAAW,eAAX,GAA6B,UAAS,IAAT,EAAe,EAAf,EAAmB;AAC9C,EAAA,eAAW,SAAX,CAAqB,oCAArB;AACA,EAAA,WAAO,gBAAgB,KAAhB,CAAsB,IAAtB,EAA4B,SAA5B,CAAP;AACD,EAAA,GAHD;;AAKA,EAAA,MAAI,oBAAoB,SAApB,iBAAoB,CAAS,IAAT,EAAe,EAAf,EAAmB,UAAnB,EAA+B;AACrD,EAAA,MAAE,IAAF,CAAO,IAAP,EAAa,UAAS,GAAT,EAAc,GAAd,EAAmB;AAC9B,EAAA,UAAI,EAAE,QAAF,CAAW,GAAX,CAAJ,EAAqB;AACnB,EAAA,aAAK,GAAL,IAAY,kBAAkB,GAAlB,EAAuB,EAAvB,CAAZ;AACD,EAAA,OAFD,MAEO,IAAI,EAAE,QAAF,CAAW,GAAX,KAAmB,EAAE,OAAF,CAAU,UAAV,CAAvB,EAA8C;AACnD,EAAA,UAAE,MAAF,CAAS,GAAT,EAAc,kBAAkB,EAAE,IAAF,CAAO,GAAP,EAAY,UAAZ,CAAlB,EAA2C,EAA3C,CAAd;AACA,EAAA;AACA,EAAA,UAAE,IAAF,CAAO,UAAP,EAAmB,UAAS,QAAT,EAAmB;AACpC,EAAA,cAAI,cAAc,IAAI,QAAJ,CAAlB;AACA,EAAA,cAAI,EAAE,QAAF,CAAW,WAAX,CAAJ,EAA6B;AAC3B,EAAA,gBAAI,QAAJ,IAAgB,kBAAkB,WAAlB,EAA+B,EAA/B,CAAhB;AACD,EAAA;AACF,EAAA,SALD;AAMD,EAAA;AACF,EAAA,KAbD;AAcA,EAAA,WAAO,IAAP;AACD,EAAA,GAhBD;;AAkBA,EAAA,aAAW,iBAAX,GAA+B,UAAS,IAAT,EAAe,EAAf,EAAmB,UAAnB,EAA+B;AAC5D,EAAA,eAAW,SAAX,CAAqB,sCAArB;AACA,EAAA,WAAO,kBAAkB,KAAlB,CAAwB,IAAxB,EAA8B,SAA9B,CAAP;AACD,EAAA,GAHD;AAKD,EAAA;;6BClDyB;AACxB,EAAA,aAAW,cAAX,GAA4B,UAAS,UAAT,EAAqB;AAC/C,EAAA,eAAW,SAAX,CAAqB,uDAArB;AACA,EAAA,WAAO,WAAW,SAAX,CAAqB,IAArB,EAA2B,UAA3B,CAAP;AACD,EAAA,GAHD;;AAKA,EAAA,aAAW,qBAAX,GAAmC,UAAS,MAAT,EAAiB,QAAjB,EAA2B;AAC5D,EAAA,eAAW,SAAX,CAAqB,8DAArB;AACA,EAAA,WAAO,WAAW,UAAX,CAAsB,IAAtB,EAA4B,MAA5B,EAAoC,QAApC,CAAP;AACD,EAAA,GAHD;;AAKA,EAAA,aAAW,uBAAX,GAAqC,UAAS,MAAT,EAAiB,QAAjB,EAA2B;AAC9D,EAAA,eAAW,SAAX,CAAqB,gEAArB;AACA,EAAA,WAAO,WAAW,YAAX,CAAwB,IAAxB,EAA8B,MAA9B,EAAsC,QAAtC,CAAP;AACD,EAAA,GAHD;AAID,EAAA;;qBCfyB;;AAExB,EAAA,MAAM,eAAe,WAAW,MAAX,CAAkB,SAAlB,CAA4B,IAAjD;;AAEA,EAAA,aAAW,MAAX,GAAoB,WAAW,MAAX,CAAkB,MAAlB,CAAyB;AAC3C,EAAA,cAD2C,sBAChC,IADgC,EAC1B;AACf,EAAA,iBAAW,SAAX,CAAqB,oFAArB;AACA,EAAA,UAAI,KAAK,WAAT,EAAsB;AACpB,EAAA,eAAO,KAAK,WAAL,CAAiB,OAAxB;AACD,EAAA;AACD,EAAA,WAAK,OAAL,GAAe,IAAf;AACA,EAAA,WAAK,WAAL,GAAmB,IAAnB;AACA,EAAA,aAAO,IAAP;AACD,EAAA,KAT0C;AAU3C,EAAA,QAV2C,gBAUtC,IAVsC,EAUhC,OAVgC,EAUvB;AAClB,EAAA,UAAI,CAAC,KAAK,cAAL,CAAoB,OAApB,CAAL,EAAmC;AACjC,EAAA;AACD,EAAA;AACD,EAAA,WAAK,WAAL,CAAiB,IAAjB;AACA,EAAA,UAAI,SAAS,KAAK,WAAlB,EAA+B;AAAE,EAAA,eAAO,IAAP;AAAc,EAAA;AAC/C,EAAA,UAAI,iBAAiB,CAAC,CAAC,KAAK,WAA5B;AACA,EAAA,UAAI,cAAJ,EAAoB;AAClB,EAAA,aAAK,aAAL,CAAmB,gBAAnB,EAAqC,KAAK,WAA1C,EAAuD,IAAvD,EAA6D,OAA7D;AACA,EAAA,aAAK,aAAL,CAAmB,aAAnB,EAAkC,IAAlC,EAAwC,IAAxC,EAA8C,OAA9C;AACA,EAAA,aAAK,aAAL,CAAmB,SAAnB,EAA8B,KAAK,WAAnC,EAAgD,IAAhD,EAAsD,OAAtD;AACD,EAAA;AACD,EAAA,mBAAa,KAAb,CAAmB,IAAnB,EAAyB,SAAzB;AACA,EAAA,UAAI,cAAJ,EAAoB;AAClB,EAAA,aAAK,aAAL,CAAmB,MAAnB,EAA2B,IAA3B,EAAiC,IAAjC,EAAuC,OAAvC;AACD,EAAA;AACD,EAAA,aAAO,IAAP;AACD,EAAA;AA3B0C,EAAA,GAAzB,CAApB;AA6BD,EAAA;;4BChCyB;;AAEvB,EAAA;AACD,EAAA,aAAW,aAAX,GAA2B,WAAW,MAAX,CAAkB,MAAlB,CAAyB;AAClD,EAAA,iBAAa,qBAAS,OAAT,EAAkB;AAC7B,EAAA,WAAK,QAAL,GAAgB,EAAhB;AACA,EAAA,WAAK,MAAL,GAAc,CAAd;;AAEA,EAAA,iBAAW,MAAX,CAAkB,IAAlB,CAAuB,IAAvB,EAA6B,OAA7B;;AAEA,EAAA,WAAK,UAAL,CAAgB,KAAK,SAAL,CAAe,SAAf,CAAhB;AACD,EAAA,KARiD;;AAUlD,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA,gBAAY,oBAAS,iBAAT,EAA4B,QAA5B,EAAsC;AAChD,EAAA,0BAAoB,WAAW,SAAX,CAAqB,iBAArB,EAAwC,IAAxC,EAA8C,SAA9C,CAApB;;AAEA,EAAA,UAAI,CAAC,EAAE,OAAF,CAAU,iBAAV,CAAL,EAAmC;AACjC,EAAA,mBAAW,SAAX,CAAqB,gDAArB;AACD,EAAA;;AAED,EAAA,aAAO,EAAE,MAAF,CAAS,iBAAT,EAA4B,UAAS,OAAT,EAAkB,UAAlB,EAA8B,IAA9B,EAAoC;AACrE,EAAA,YAAI,EAAE,QAAF,CAAW,UAAX,CAAJ,EAA4B;AAC1B,EAAA,uBAAa,EAAC,UAAU,UAAX,EAAb;AACD,EAAA;AACD,EAAA,YAAI,WAAW,QAAf,EAAyB;AACvB,EAAA,uBAAa,EAAE,QAAF,CAAW,EAAX,EAAe,UAAf,EAA2B,QAA3B,CAAb;AACD,EAAA;;AAED,EAAA,gBAAQ,IAAR,IAAgB,KAAK,SAAL,CAAe,IAAf,EAAqB,UAArB,CAAhB;AACA,EAAA,eAAO,OAAP;AACD,EAAA,OAVM,EAUJ,EAVI,EAUA,IAVA,CAAP;AAWD,EAAA,KAhCiD;;AAkClD,EAAA;AACA,EAAA;AACA,EAAA,eAAW,mBAAS,IAAT,EAAe,UAAf,EAA2B;AACpC,EAAA,UAAI,MAAJ;;AAEA,EAAA,UAAI,sBAAsB,WAAW,MAArC,EAA6C;AAC3C,EAAA,iBAAS,UAAT;AACD,EAAA,OAFD,MAEO;AACL,EAAA,iBAAS,WAAW,MAAX,CAAkB,WAAlB,CAA8B,UAA9B,EAA0C,WAAW,MAArD,CAAT;AACD,EAAA;;AAED,EAAA,WAAK,aAAL,CAAmB,mBAAnB,EAAwC,IAAxC,EAA8C,MAA9C;;AAEA,EAAA,aAAO,OAAP,GAAiB,IAAjB;AACA,EAAA,WAAK,MAAL,CAAY,IAAZ,EAAkB,MAAlB;;AAEA,EAAA,WAAK,aAAL,CAAmB,YAAnB,EAAiC,IAAjC,EAAuC,MAAvC;AACA,EAAA,aAAO,MAAP;AACD,EAAA,KApDiD;;AAsDlD,EAAA;AACA,EAAA,SAAK,aAAS,IAAT,EAAe;AAClB,EAAA,aAAO,KAAK,QAAL,CAAc,IAAd,CAAP;AACD,EAAA,KAzDiD;;AA2DlD,EAAA;AACA,EAAA;AACA,EAAA,gBAAY,sBAAW;AACrB,EAAA,aAAO,EAAE,KAAF,CAAQ,KAAK,QAAb,CAAP;AACD,EAAA,KA/DiD;;AAiElD,EAAA;AACA,EAAA,kBAAc,sBAAS,IAAT,EAAe;AAC3B,EAAA,UAAI,SAAS,KAAK,QAAL,CAAc,IAAd,CAAb;AACA,EAAA,WAAK,OAAL,CAAa,IAAb,EAAmB,MAAnB;;AAEA,EAAA,aAAO,MAAP;AACD,EAAA,KAvEiD;;AAyElD,EAAA;AACA,EAAA;AACA,EAAA,mBAAe,yBAAW;AACxB,EAAA,UAAI,UAAU,KAAK,UAAL,EAAd;AACA,EAAA,QAAE,IAAF,CAAO,KAAK,QAAZ,EAAsB,UAAS,MAAT,EAAiB,IAAjB,EAAuB;AAC3C,EAAA,aAAK,OAAL,CAAa,IAAb,EAAmB,MAAnB;AACD,EAAA,OAFD,EAEG,IAFH;;AAIA,EAAA,aAAO,OAAP;AACD,EAAA,KAlFiD;;AAoFlD,EAAA;AACA,EAAA;AACA,EAAA,kBAAc,wBAAW;AACvB,EAAA,UAAI,UAAU,KAAK,UAAL,EAAd;AACA,EAAA,QAAE,MAAF,CAAS,OAAT,EAAkB,OAAlB;AACA,EAAA,aAAO,OAAP;AACD,EAAA,KA1FiD;;AA4FlD,EAAA;AACA,EAAA;AACA,EAAA,aAAS,mBAAW;AAClB,EAAA,WAAK,aAAL;AACA,EAAA,aAAO,WAAW,MAAX,CAAkB,SAAlB,CAA4B,OAA5B,CAAoC,KAApC,CAA0C,IAA1C,EAAgD,SAAhD,CAAP;AACD,EAAA,KAjGiD;;AAmGlD,EAAA;AACA,EAAA,YAAQ,gBAAS,IAAT,EAAe,MAAf,EAAuB;AAC7B,EAAA,UAAI,CAAC,KAAK,QAAL,CAAc,IAAd,CAAL,EAA0B;AACxB,EAAA,aAAK,MAAL;AACD,EAAA;;AAED,EAAA,WAAK,QAAL,CAAc,IAAd,IAAsB,MAAtB;AACD,EAAA,KA1GiD;;AA4GlD,EAAA;AACA,EAAA,aAAS,iBAAS,IAAT,EAAe,MAAf,EAAuB;AAC9B,EAAA,WAAK,aAAL,CAAmB,sBAAnB,EAA2C,IAA3C,EAAiD,MAAjD;AACA,EAAA,aAAO,KAAP;AACA,EAAA,aAAO,aAAP;;AAEA,EAAA,aAAO,OAAO,OAAd;AACA,EAAA,aAAO,KAAK,QAAL,CAAc,IAAd,CAAP;AACA,EAAA,WAAK,MAAL;AACA,EAAA,WAAK,aAAL,CAAmB,eAAnB,EAAoC,IAApC,EAA0C,MAA1C;AACD,EAAA;AAtHiD,EAAA,GAAzB,CAA3B;;AAyHA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA,MAAI,mBAAmB,SAAnB,gBAAmB,CAAS,MAAT,EAAiB,YAAjB,EAA+B;AACpD,EAAA,QAAI,UAAU,CAAC,SAAD,EAAY,MAAZ,EAAoB,KAApB,EAA2B,MAA3B,EAAmC,QAAnC,EAA6C,QAA7C,EACZ,QADY,EACF,QADE,EACQ,OADR,EACiB,KADjB,EACwB,MADxB,EACgC,KADhC,EACuC,SADvC,EAEZ,UAFY,EAEA,QAFA,EAEU,SAFV,EAEqB,OAFrB,EAE8B,SAF9B,EAEyC,MAFzC,EAGZ,MAHY,EAGJ,SAHI,EAGO,SAHP,EAGkB,OAHlB,CAAd;;AAKA,EAAA,MAAE,IAAF,CAAO,OAAP,EAAgB,UAAS,MAAT,EAAiB;AAC/B,EAAA,aAAO,MAAP,IAAiB,YAAW;AAC1B,EAAA,YAAI,OAAO,EAAE,MAAF,CAAS,EAAE,MAAF,CAAS,IAAT,EAAe,YAAf,CAAT,CAAX;AACA,EAAA,YAAI,OAAO,CAAC,IAAD,EAAO,MAAP,CAAc,EAAE,OAAF,CAAU,SAAV,CAAd,CAAX;AACA,EAAA,eAAO,EAAE,MAAF,EAAU,KAAV,CAAgB,CAAhB,EAAmB,IAAnB,CAAP;AACD,EAAA,OAJD;AAKD,EAAA,KAND;AAOD,EAAA,GAbD;;AAeA,EAAA,aAAW,eAAX,GAA6B,UAAS,MAAT,EAAiB,YAAjB,EAA+B;AAC1D,EAAA,eAAW,SAAX,CAAqB,kDAArB;;AAEA,EAAA,WAAO,iBAAiB,KAAjB,CAAuB,IAAvB,EAA6B,SAA7B,CAAP;AACD,EAAA,GAJD;;AAMA,EAAA,mBAAiB,WAAW,aAAX,CAAyB,SAA1C,EAAqD,UAArD;AAED,EAAA;;8BCtJyB;;AAExB,EAAA,WAAS,GAAT,GAAe;AACb,EAAA,eAAW,SAAX,CAAqB,0EAArB;AACD,EAAA;;AAED,EAAA,WAAS,iBAAT,CAA2B,QAA3B,EAAqC,IAArC,EAA2C;AACzC,EAAA,QAAI,CAAC,QAAL,EAAe;AAAE,EAAA;AAAS,EAAA;;AAE1B,EAAA,aAAS,IAAT,CAAc,UAAS,CAAT,EAAY;AACxB,EAAA,UAAI,CAAC,EAAE,QAAP,EAAiB;AAAE,EAAA,mBAAW,eAAX,CAA2B,CAA3B,EAA8B,IAA9B,EAAoC,CAApC;AAAyC,EAAA;AAC5D,EAAA,UAAI,SAAS,MAAb,EAAqB;AAAE,EAAA,UAAE,QAAF,GAAa,IAAb;AAAoB,EAAA;AAC5C,EAAA,KAHD;AAID,EAAA;;AAGD,EAAA,MAAI,sBAAsB,WAAW,MAAX,CAAkB,SAAlB,CAA4B,aAAtD;;AAEA,EAAA,aAAW,MAAX,CAAkB,SAAlB,CAA4B,aAA5B,GAA4C,UAAS,IAAT,EAAe,MAAf,EAAuB,IAAvB,EAA6B,OAA7B,EAAsC;AAChF,EAAA,QAAI,MAAJ;AACA,EAAA,QAAI,SAAS,aAAT,IAA0B,SAAS,MAAvC,EAA+C;AAC7C,EAAA,eAAS,oBAAoB,IAApB,CAAyB,IAAzB,EAA+B,IAA/B,EAAqC,IAArC,EAA2C,MAA3C,EAAmD,OAAnD,CAAT;AACA,EAAA,UAAI,CAAC,KAAK,QAAV,EAAoB;AAAE,EAAA,mBAAW,eAAX,CAA2B,IAA3B,EAAiC,IAAjC,EAAuC,IAAvC,EAA6C,MAA7C,EAAqD,OAArD;AAAgE,EAAA;AACtF,EAAA,UAAI,SAAS,MAAb,EAAqB;AACnB,EAAA,aAAK,QAAL,GAAgB,IAAhB;AACA,EAAA,0BAAkB,KAAK,QAAvB,EAAiC,IAAjC;AACD,EAAA,OAHD,MAGO;AACL,EAAA,aAAK,IAAL,CAAU,QAAV,EAAoB,YAAW;AAC7B,EAAA,4BAAkB,KAAK,QAAvB,EAAiC,IAAjC;AACD,EAAA,SAFD;AAGD,EAAA;AACF,EAAA,KAXD,MAWO;AACL,EAAA,eAAS,oBAAoB,KAApB,CAA0B,IAA1B,EAAgC,SAAhC,CAAT;AACD,EAAA;;AAED,EAAA,WAAO,MAAP;AACD,EAAA,GAlBD;;AAoBA,EAAA,MAAI,gBAAgB,WAAW,cAAX,CAA0B,SAA1B,CAAoC,aAAxD;;AAEA,EAAA,aAAW,cAAX,CAA0B,SAA1B,CAAoC,aAApC,GAAoD,UAAS,IAAT,EAAe;AACjE,EAAA,SAAK,IAAL,CAAU,QAAV,EAAoB,YAAW;AAC7B,EAAA;AACA,EAAA,UAAI,KAAK,QAAL,IAAiB,CAAC,KAAK,YAA3B,EAAyC;AACvC,EAAA,mBAAW,eAAX,CAA2B,IAA3B,EAAiC,aAAjC,EAAgD,IAAhD;AACD,EAAA;AACF,EAAA,KALD,EAKG,IALH;;AAOA,EAAA,kBAAc,KAAd,CAAoB,IAApB,EAA0B,SAA1B;;AAEA,EAAA,QAAI,KAAK,QAAL,IAAiB,CAAC,KAAK,YAA3B,EAAyC;AACvC,EAAA,UAAI,CAAC,KAAK,QAAV,EAAoB;AAClB,EAAA,mBAAW,eAAX,CAA2B,IAA3B,EAAiC,MAAjC,EAAyC,IAAzC;AACD,EAAA;AACD,EAAA,WAAK,QAAL,GAAgB,IAAhB;AACD,EAAA;AACF,EAAA,GAhBD;;AAmBA,EAAA;AACA,EAAA,MAAI,WAAW,aAAf;;AAEA,EAAA;AACA,EAAA;AACA,EAAA,WAAS,YAAT,CAAsB,KAAtB,EAA6B,MAA7B,EAAqC,SAArC,EAAgD;AAC9C,EAAA,WAAO,UAAU,WAAV,EAAP;AACD,EAAA;;AAED,EAAA,MAAI,UAAU,SAAS,MAAT,CAAgB,OAA9B;;AAEA,EAAA,WAAS,MAAT,CAAgB,OAAhB,GAA0B,UAAS,IAAT,EAAe;AACvC,EAAA,QAAI,SAAS,KAAK,SAAL,YAA0B,SAAS,IAAnC,IAA2C,SAAS,SAAS,IAA1E;AACA,EAAA,QAAI,WAAW,KAAK,SAAL,YAA0B,WAAW,MAArC,IAA+C,SAAS,WAAW,MAAlF;AACA,EAAA,QAAI,UAAU,QAAd,EAAwB;AACtB,EAAA,UAAI,aAAa,OAAO,KAAK,OAAL,CAAa,QAAb,EAAuB,YAAvB,CAAxB;AACA,EAAA,UAAI,SAAU,KAAK,OAAL,IAAgB,KAAK,OAAL,CAAa,UAAb,CAAjB,IAA8C,KAAK,UAAL,CAA3D;;AAEA,EAAA,UAAI,EAAE,UAAF,CAAa,MAAb,CAAJ,EAA0B;AACxB,EAAA,YAAI,MAAJ,EAAY;AACV,EAAA;AACD,EAAA,SAFD,MAEO;AACL,EAAA,cAAI,OAAO,MAAP,GAAgB,CAApB,EAAuB;AACrB,EAAA,uBAAW,SAAX,CAAqB,uFAArB;AACD,EAAA;AACF,EAAA;AACF,EAAA;;AAED,EAAA,UAAI,CAAC,KAAK,OAAV,EAAmB;AAAE,EAAA,eAAO,IAAP;AAAc,EAAA;;AAEnC,EAAA,UAAI,CAAC,SAAS,aAAT,IAA0B,SAAS,MAApC,KAA+C,KAAK,OAAL,CAAa,IAAb,CAAnD,EAAuE;AACrE,EAAA,YAAI,MAAJ,EAAY;AACV,EAAA;AACD,EAAA,SAFD,MAEO;AACL,EAAA,cAAI,KAAK,OAAL,CAAa,IAAb,EAAmB,MAAnB,GAA4B,CAAhC,EAAmC;AACjC,EAAA,uBAAW,SAAX,CAAqB,uFAArB;AACD,EAAA;AACF,EAAA;AACF,EAAA;AACF,EAAA;;AAED,EAAA,WAAO,QAAQ,KAAR,CAAc,IAAd,EAAoB,SAApB,CAAP;AACD,EAAA,GA/BD;AAgCD,EAAA;;mCCvGyB;;AAExB,EAAA,WAAS,GAAT,GAAe;AACb,EAAA,eAAW,SAAX,CAAqB,+FAArB;AACD,EAAA;;AAED,EAAA,MAAM,sBAAsB,WAAW,WAAX,CAAuB,SAAvB,CAAiC,WAA7D;;AAEA,EAAA,aAAW,WAAX,GAAyB,WAAW,WAAX,CAAuB,MAAvB,CAA8B;AACrD,EAAA,iBAAa,qBAAS,OAAT,EAAkB;AAC7B,EAAA,WAAK,kBAAL,CAAwB,OAAxB;AACA,EAAA,0BAAoB,KAApB,CAA0B,IAA1B,EAAgC,SAAhC;AACD,EAAA,KAJoD;;AAMrD,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA,gBAAY,oBAAS,OAAT,EAAkB;AAC5B,EAAA,aAAO,KAAK,cAAL,CAAoB,UAApB,CAA+B,OAA/B,CAAP;AACD,EAAA,KAZoD;;AAcrD,EAAA;AACA,EAAA,kBAAc,wBAAW;AACvB,EAAA,aAAO,KAAK,cAAL,CAAoB,YAApB,EAAP;AACD,EAAA,KAjBoD;;AAmBrD,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA,kBAAc,sBAAS,MAAT,EAAiB;AAC7B,EAAA,aAAO,KAAK,cAAL,CAAoB,YAApB,CAAiC,MAAjC,CAAP;AACD,EAAA,KAxBoD;;AA0BrD,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA,eAAW,mBAAS,MAAT,EAAiB;AAC1B,EAAA,UAAI,UAAU,MAAd,EAAsB;AACpB,EAAA;AACA,EAAA,eAAO,KAAK,cAAL,CAAoB,GAApB,CAAwB,MAAxB,CAAP;AACD,EAAA;;AAED,EAAA,aAAO,KAAK,OAAZ;AACD,EAAA,KApCoD;;AAsCrD,EAAA;AACA,EAAA,gBAAY,sBAAW;AACrB,EAAA,aAAO,KAAK,cAAL,CAAoB,UAApB,EAAP;AACD,EAAA,KAzCoD;;AA2CrD,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA,sBAAkB,4BAAW;AAC3B,EAAA,aAAO,IAAI,WAAW,aAAf,EAAP;AACD,EAAA,KAhDoD;;AAkDrD,EAAA;AACA,EAAA;AACA,EAAA,wBAAoB,8BAAuB;AAAA,EAAA,UAAd,OAAc,yDAAJ,EAAI;;AACzC,EAAA,UAAI,UAAU,EAAE,UAAF,CAAa,KAAK,OAAlB,IAA6B,KAAK,OAAL,CAAa,OAAb,CAA7B,GAAqD,KAAK,OAAL,IAAgB,EAAnF;;AAEA,EAAA;AACA,EAAA,UAAI,gBAAiB,QAAQ,OAAR,IAAmB,QAAQ,OAAR,CAAgB,OAApC,IAAgD,QAAQ,OAA5E;;AAEA,EAAA;AACA,EAAA,UAAI,EAAE,UAAF,CAAa,aAAb,CAAJ,EAAiC;AAC/B,EAAA,wBAAgB,cAAc,IAAd,CAAmB,IAAnB,EAAyB,OAAzB,CAAhB;AACD,EAAA;;AAED,EAAA;AACA,EAAA,QAAE,MAAF,CAAS,OAAT,EAAkB,aAAlB;;AAEA,EAAA,WAAK,kBAAL;;AAEA,EAAA,UAAI,CAAC,EAAE,OAAF,CAAU,OAAV,CAAL,EAAyB;AACvB,EAAA;;AAEA,EAAA,aAAK,UAAL,CAAgB,OAAhB;AACD,EAAA;;AAED,EAAA,aAAO,IAAP;AACD,EAAA,KA3EoD;;AA6ErD,EAAA;AACA,EAAA,wBAAoB,8BAAW;AAC7B,EAAA,WAAK,cAAL,GAAsB,KAAK,gBAAL,EAAtB;AACA,EAAA,WAAK,cAAL,CAAoB,OAApB,GAA8B,IAA9B;;AAEA,EAAA,WAAK,QAAL,CAAc,KAAK,cAAnB,EAAmC,mBAAnC,EAAwD,UAAS,IAAT,EAAe,MAAf,EAAuB;AAC7E,EAAA,aAAK,aAAL,CAAmB,mBAAnB,EAAwC,IAAxC,EAA8C,MAA9C;AACD,EAAA,OAFD;;AAIA,EAAA,WAAK,QAAL,CAAc,KAAK,cAAnB,EAAmC,YAAnC,EAAiD,UAAS,IAAT,EAAe,MAAf,EAAuB;AACtE,EAAA,aAAK,IAAL,IAAa,MAAb;AACA,EAAA,aAAK,aAAL,CAAmB,YAAnB,EAAiC,IAAjC,EAAuC,MAAvC;AACD,EAAA,OAHD;;AAKA,EAAA,WAAK,QAAL,CAAc,KAAK,cAAnB,EAAmC,sBAAnC,EAA2D,UAAS,IAAT,EAAe,MAAf,EAAuB;AAChF,EAAA,aAAK,aAAL,CAAmB,sBAAnB,EAA2C,IAA3C,EAAiD,MAAjD;AACD,EAAA,OAFD;;AAIA,EAAA,WAAK,QAAL,CAAc,KAAK,cAAnB,EAAmC,eAAnC,EAAoD,UAAS,IAAT,EAAe,MAAf,EAAuB;AACzE,EAAA,eAAO,KAAK,IAAL,CAAP;AACA,EAAA,aAAK,aAAL,CAAmB,eAAnB,EAAoC,IAApC,EAA0C,MAA1C;AACD,EAAA,OAHD;AAID,EAAA;AAnGoD,EAAA,GAA9B,CAAzB;AAsGD,EAAA;;4BC7GyB;;AAExB,EAAA,WAAS,GAAT,GAAe;AACb,EAAA,eAAW,SAAX,CAAqB,uFAArB;AACD,EAAA;;AAED,EAAA,WAAS,UAAT,CAAoB,IAApB,EAA0B,IAA1B,EAAgC,MAAhC,EAAwC;AACtC,EAAA,QAAM,aAAa,OAAO,IAA1B;AACA,EAAA,QAAM,cAAc,OAAO,KAA3B;AACA,EAAA,QAAM,cAAc,OAAO,KAA3B;AACA,EAAA,QAAM,WAAW,OAAO,EAAxB;;AAEA,EAAA,QAAM,YAAY,EAAE,MAAF,CAAS,EAAT,EAAa,MAAb,EAAqB;AACrC,EAAA,QADqC,gBAChC;AACH,EAAA;AACA,EAAA,iBAAS,KAAT,CAAe,IAAf,EAAqB,SAArB;AACD,EAAA,OAJoC;AAKrC,EAAA,UALqC,kBAK9B;AACL,EAAA;AACA,EAAA,mBAAW,KAAX,CAAiB,IAAjB,EAAuB,SAAvB;AACD,EAAA,OARoC;AASrC,EAAA,WATqC,mBAS7B;AACN,EAAA;AACA,EAAA,oBAAY,KAAZ,CAAkB,IAAlB,EAAwB,SAAxB;AACD,EAAA,OAZoC;AAarC,EAAA,WAbqC,mBAa7B;AACN,EAAA;AACA,EAAA,oBAAY,KAAZ,CAAkB,IAAlB,EAAwB,SAAxB;AACD,EAAA,OAhBoC;;AAiBrC,EAAA,0BAAoB;AAjBiB,EAAA,KAArB,CAAlB;;AAoBA,EAAA,SAAK,IAAL,IAAa,SAAb;AACD,EAAA;;AAED,EAAA,WAAS,aAAT,CAAuB,IAAvB,EAA6B,IAA7B,EAAmC,MAAnC,EAA2C;AACzC,EAAA,WAAO,KAAK,IAAL,CAAP;AACD,EAAA;;AAED,EAAA,MAAM,WAAW,SAAS,IAAT,CAAc,SAAd,CAAwB,QAAzC;;AAEA,EAAA,WAAS,IAAT,CAAc,SAAd,CAAwB,QAAxB,GAAmC,UAAS,GAAT,EAAc;AAC/C,EAAA,QAAI,IAAI,kBAAR,EAA4B;AAAE,EAAA;AAAQ,EAAA;AACtC,EAAA,aAAS,KAAT,CAAe,IAAf,EAAqB,SAArB;AACD,EAAA,GAHD;;AAKA,EAAA,MAAM,cAAc,WAAW,IAAX,CAAgB,SAAhB,CAA0B,YAA9C;;AAEA,EAAA,IAAE,MAAF,CAAS,WAAW,IAAX,CAAgB,SAAzB,EAAoC;AAClC,EAAA,gBADkC,0BACnB;AACb,EAAA,WAAK,WAAL,GAAmB,WAAW,MAA9B;AACA,EAAA,WAAK,EAAL,CAAQ;AACN,EAAA,sBAAc,UADR;AAEN,EAAA,yBAAiB;AAFX,EAAA,OAAR;AAIA,EAAA,kBAAY,KAAZ,CAAkB,IAAlB,EAAwB,SAAxB;AACD,EAAA;AARiC,EAAA,GAApC;AAUD,EAAA;;kCC3DyB;;AAExB,EAAA,IAAE,MAAF,CAAS,WAAW,MAApB,EAA4B;;AAE1B,EAAA,iBAAa,qBAAS,YAAT,EAAuB,kBAAvB,EAA2C;;AAEtD,EAAA,iBAAW,SAAX,CAAqB,yDAArB;;AAEA,EAAA,UAAI,EAAE,QAAF,CAAW,YAAX,CAAJ,EAA8B;AAC5B,EAAA,eAAO,KAAK,wBAAL,CAA8B,YAA9B,EAA4C,kBAA5C,CAAP;AACD,EAAA;;AAED,EAAA,UAAI,aAAa,QAAb,IAAyB,aAAa,EAAtC,IAA4C,aAAa,WAA7D,EAA0E;AACxE,EAAA,eAAO,KAAK,sBAAL,CAA4B,YAA5B,EAA0C,kBAA1C,CAAP;AACD,EAAA;;AAED,EAAA,UAAI,EAAE,UAAF,CAAa,YAAb,CAAJ,EAAgC;AAC9B,EAAA,eAAO,KAAK,2BAAL,CAAiC,YAAjC,CAAP;AACD,EAAA;;AAED,EAAA,YAAM,IAAI,WAAW,KAAf,CAAqB;AACzB,EAAA,iBAAS,qCADgB;AAEzB,EAAA,aAAK;AAFoB,EAAA,OAArB,CAAN;AAID,EAAA,KAtByB;;AAwB1B,EAAA;AACA,EAAA,8BAA0B,kCAAS,QAAT,EAAmB,kBAAnB,EAAuC;AAC/D,EAAA,aAAO,IAAI,kBAAJ,CAAuB,EAAC,IAAI,QAAL,EAAvB,CAAP;AACD,EAAA,KA3ByB;;AA6B1B,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA,4BAAwB,gCAAS,YAAT,EAAuB,kBAAvB,EAA2C;AACjE,EAAA,UAAI,cAAc,aAAa,WAAb,IAA4B,kBAA9C;AACA,EAAA,UAAI,UAAU,EAAE,IAAF,CAAO,YAAP,EAAqB,UAArB,EAAiC,aAAjC,CAAd;;AAEA,EAAA,UAAI,aAAa,QAAb,IAAyB,CAAC,QAAQ,EAAtC,EAA0C;AACxC,EAAA,gBAAQ,EAAR,GAAa,aAAa,QAA1B;AACD,EAAA;;AAED,EAAA,aAAO,IAAI,WAAJ,CAAgB,OAAhB,CAAP;AACD,EAAA,KA1CyB;;AA4C1B,EAAA;AACA,EAAA,iCAA6B,qCAAS,WAAT,EAAsB;AACjD,EAAA,aAAO,IAAI,WAAJ,EAAP;AACD,EAAA;AA/CyB,EAAA,GAA5B;AAkDD,EAAA;;8BCpDyB;AACxB,EAAA,WAAS,oBAAT,GAA2C;AAAA,EAAA,QAAb,MAAa,yDAAJ,EAAI;;AACzC,EAAA,QAAI,KAAK,eAAL,IAAwB,KAAK,OAAL,CAAa,eAAzC,EAA0D;AACxD,EAAA,iBAAW,SAAX,CAAqB,qDAArB;AACA,EAAA,WAAK,YAAL,CAAkB,KAAK,OAAvB,EAAgC,CAAC,iBAAD,CAAhC;AACA,EAAA,UAAM,kBAAkB,EAAE,MAAF,CAAS,IAAT,EAAe,iBAAf,CAAxB;AACA,EAAA,aAAO,EAAE,MAAF,CAAS,MAAT,EAAiB,eAAjB,CAAP;AACD,EAAA;;AAED,EAAA,QAAM,kBAAkB,EAAE,MAAF,CAAS,IAAT,EAAe,iBAAf,CAAxB;AACA,EAAA,WAAO,EAAE,MAAF,CAAS,MAAT,EAAiB,eAAjB,CAAP;AACD,EAAA;;AAED,EAAA,WAAS,oBAAT,GAAgC;AAC9B,EAAA,eAAW,SAAX,CAAqB,8DAArB;AACA,EAAA,yBAAqB,KAArB,CAA2B,IAA3B,EAAiC,SAAjC;AACD,EAAA;;AAED,EAAA,IAAE,MAAF,CAAS,WAAW,IAAX,CAAgB,SAAzB,EAAoC;AAClC,EAAA,8CADkC;AAElC,EAAA;AAFkC,EAAA,GAApC;;AAKA,EAAA,IAAE,MAAF,CAAS,WAAW,aAAX,CAAyB,SAAlC,EAA6C;AAC3C,EAAA,8CAD2C;AAE3C,EAAA;AAF2C,EAAA,GAA7C;AAID,EAAA;;2BC3ByB;;AAExB,EAAA;AACA,EAAA,MAAI,WAAW,aAAf;;AAEA,EAAA;AACA,EAAA;AACA,EAAA,WAAS,YAAT,CAAsB,KAAtB,EAA6B,MAA7B,EAAqC,SAArC,EAAgD;AAC9C,EAAA,WAAO,UAAU,WAAV,EAAP;AACD,EAAA;;AAED,EAAA,MAAM,gBAAgB,WAAW,IAAX,CAAgB,SAAhB,CAA0B,2BAAhD;;AAEA,EAAA,WAAS,2BAAT,CAAqC,SAArC,EAAyD;AAAA,EAAA,sCAAN,IAAM;AAAN,EAAA,UAAM;AAAA,EAAA;;AACvD,EAAA,QAAM,aAAa,KAAK,WAAL,EAAnB;AACA,EAAA,QAAI,CAAC,UAAL,EAAiB;AAAE,EAAA;AAAS,EAAA;;AAE5B,EAAA,WAAO,QAAQ,EAAf;;AAEA,EAAA,QAAM,cAAc,EAAE,MAAF,CAAS,UAAT,EAAqB,sBAArB,CAApB;AACA,EAAA,QAAM,oBAAoB,cAAc,GAAd,GAAoB,SAA9C;;AAEA,EAAA,QAAI,aAAa,OAAO,kBAAkB,OAAlB,CAA0B,QAA1B,EAAoC,YAApC,CAAxB;AACA,EAAA,QAAI,SAAU,WAAW,OAAX,IAAsB,WAAW,OAAX,CAAmB,UAAnB,CAAvB,IAA0D,WAAW,UAAX,CAAvE;;AAEA,EAAA;AACA,EAAA;AACA,EAAA,QAAI,CAAC,EAAE,UAAF,CAAa,MAAb,KAAwB,OAAO,MAAhC,MAA4C,KAAK,MAAL,GAAc,CAA1D,IACA,CAAC,WAAW,OAAX,IAAsB,WAAW,OAAX,CAAmB,iBAAnB,CAAtB,IAA+D,WAAW,OAAX,CAAmB,iBAAnB,EAAsC,MAAtG,MAAkH,KAAK,MAAL,GAAc,CADpI,EACuI;AACrI,EAAA,aAAO,CAAC,IAAD,EAAO,MAAP,CAAc,IAAd,CAAP;AACA,EAAA,iBAAW,SAAX,CAAqB,yFAArB;AACD,EAAA;;AAED,EAAA,WAAO,cAAc,KAAd,CAAoB,IAApB,EAA0B,CAAC,SAAD,EAAY,MAAZ,CAAmB,IAAnB,CAA1B,CAAP;AACD,EAAA;;AAED,EAAA,WAAS,iBAAT,CAA2B,IAA3B,EAAiC;AAC/B,EAAA,QAAI,SAAS,KAAK,SAAL,CAAe,sBAAf,CAAb;;AAEA,EAAA;AACA,EAAA;AACA,EAAA,SAAK,QAAL,CAAc,IAAd,EAAoB,KAApB,EAA2B,YAAW;AACpC,EAAA,UAAI,OAAO,EAAE,OAAF,CAAU,SAAV,CAAX;AACA,EAAA,UAAI,YAAY,KAAK,CAAL,CAAhB;;AAGA,EAAA,UAAI,kBAAkB,KAAK,gBAAL,CAAsB,KAAK,gBAA3B,CAAtB;;AAEA,EAAA;AACA,EAAA,UAAI,OAAO,eAAP,KAA2B,WAA3B,IAA0C,EAAE,UAAF,CAAa,gBAAgB,SAAhB,CAAb,CAA9C,EAAwF;AACtF,EAAA,wBAAgB,SAAhB,EAA2B,KAA3B,CAAiC,IAAjC,EAAuC,CAAC,IAAD,EAAO,MAAP,CAAc,EAAE,IAAF,CAAO,IAAP,CAAd,CAAvC;AACD,EAAA;;AAED,EAAA;AACA,EAAA,UAAI,oBAAoB,KAAK,kBAA7B;;AAEA,EAAA;AACA,EAAA,UAAI,qBAAqB,EAAE,QAAF,CAAW,kBAAkB,SAAlB,CAAX,CAAzB,EAAmE;AACjE,EAAA,aAAK,aAAL,CAAmB,KAAnB,CAAyB,IAAzB,EAA+B,CAAC,kBAAkB,SAAlB,CAAD,EAA+B,MAA/B,CAAsC,IAAtC,CAA/B;AACD,EAAA;;AAED,EAAA,WAAK,CAAL,IAAU,SAAS,GAAT,GAAe,SAAzB;AACA,EAAA,WAAK,MAAL,CAAY,CAAZ,EAAe,CAAf,EAAkB,IAAlB;;AAEA,EAAA,WAAK,aAAL,CAAmB,KAAnB,CAAyB,IAAzB,EAA+B,IAA/B;AACD,EAAA,KAxBD;AAyBD,EAAA;;AAED,EAAA,IAAE,MAAF,CAAS,WAAW,IAAX,CAAgB,SAAzB,EAAoC;AAClC,EAAA;AADkC,EAAA,GAApC;;AAIA,EAAA,IAAE,MAAF,CAAS,WAAW,aAAX,CAAyB,SAAlC,EAA6C;AAC3C,EAAA;AAD2C,EAAA,GAA7C;;AAIA,EAAA,IAAE,MAAF,CAAS,WAAW,cAAX,CAA0B,SAAnC,EAA8C;AAC5C,EAAA;AAD4C,EAAA,GAA9C;AAGD,EAAA;;0BC/EyB;;AAExB,EAAA,MAAM,sBAAsB,WAAW,IAAX,CAAgB,SAAhB,CAA0B,WAAtD;;AAEA,EAAA,aAAW,IAAX,GAAkB,WAAW,IAAX,CAAgB,MAAhB,CAAuB;AACvC,EAAA,eADuC,uBAC3B,OAD2B,EAClB;AACnB,EAAA,UAAM,OAAO,MAAM,SAAN,CAAgB,KAAhB,CAAsB,IAAtB,CAA2B,SAA3B,CAAb;;AAEA,EAAA,UAAI,EAAE,UAAF,CAAa,OAAb,CAAJ,EAA2B;AACzB,EAAA,mBAAW,SAAX,CAAqB,6FAArB;AACA,EAAA,kBAAU,SAAV;;AAEA,EAAA,aAAK,CAAL,IAAU,OAAV;AACD,EAAA;;AAED,EAAA,0BAAoB,KAApB,CAA0B,IAA1B,EAAgC,IAAhC;AACD,EAAA;AAZsC,EAAA,GAAvB,CAAlB;AAcD,EAAA;;ECKD,WAAW,QAAX,GAAsB,IAAtB;;AAEA,EAAA,IAAI,CAAC,UAAD,IAAe,WAAW,OAAX,CAAmB,MAAnB,CAA0B,CAA1B,MAAiC,GAApD,EAAyD;AACvD,EAAA,QAAM,qFAAN;AACD,EAAA;;AAED,EAAA,WAAW,OAAX,GAAqB,sBAArB;;AAEA,EAAA;AACA,EAAA,WAAW,SAAX,CAAqB,KAArB,GAA6B,YAAW;AACtC,EAAA,MAAM,OAAO,WAAW,SAAX,CAAqB,QAArB,CAA8B,IAA9B,IAAsC,WAAW,SAAX,CAAqB,QAArB,CAA8B,GAApE,IAA2E,YAAW,EAAnG;AACA,EAAA,UAAQ,KAAR;AACA,EAAA,SAAO,KAAK,KAAL,CAAW,WAAW,SAAX,CAAqB,QAAhC,EAA0C,SAA1C,CAAP;AACD,EAAA,CAJD;;AAMA,EAAA,WAAW,SAAX,GAAuB,UAAS,KAAT,EAAgB,OAAhB,EAAyB,MAAzB,EAAiC;AACtD,EAAA,MAAI,EAAE,UAAF,CAAa,KAAb,CAAJ,EAAyB;AACvB,EAAA,YAAQ,SAAS,MAAM,KAAN,CAAY,OAAZ,EAAqB,MAArB,CAAT,GAAwC,MAAM,IAAN,CAAW,OAAX,CAAhD;AACD,EAAA;AACD,EAAA,SAAO,KAAP;AACD,EAAA,CALD;;AAOA,iCAAmC;AAAA,EAAA,MAAX,IAAW,yDAAJ,EAAI;;AACjC,EAAA,MAAM,UAAU,EAAE,MAAF,CAAS;AACvB,EAAA,sCADuB;AAEvB,EAAA,sCAFuB;AAGvB,EAAA,4BAHuB;AAIvB,EAAA,kCAJuB;AAKvB,EAAA,gCALuB;AAMvB,EAAA,0BANuB;AAOvB,EAAA,sCAPuB;AAQvB,EAAA,8BARuB;AASvB,EAAA,sBATuB;AAUvB,EAAA,0BAVuB;AAWvB,EAAA,kBAXuB;AAYvB,EAAA,4BAZuB;AAavB,EAAA,kCAbuB;AAcvB,EAAA,kBAduB;AAevB,EAAA,gCAfuB;AAgBvB,EAAA,oCAhBuB;AAiBvB,EAAA,8CAjBuB;AAkBvB,EAAA,gCAlBuB;AAmBvB,EAAA,4CAnBuB;AAoBvB,EAAA,oCApBuB;AAqBvB,EAAA,8BArBuB;AAsBvB,EAAA;AAtBuB,EAAA,GAAT,EAuBb,IAvBa,CAAhB;;AAyBA,EAAA,IAAE,SAAF,CAAY,OAAZ,EAAqB,UAAS,KAAT,EAAgB;AACnC,EAAA,QAAI,EAAE,UAAF,CAAa,KAAb,CAAJ,EAAyB;AACvB,EAAA;AACD,EAAA;AACF,EAAA,GAJD;AAKD,EAAA;;;;","sourceRoot":"/source/"} \ No newline at end of file +{"version":3,"file":"marionette-v3-compat.js","sources":["src/ApplicationWreqr.js","src/bindEntityEvents.js","src/childEvents.js","src/utils/restoreFunction.js","src/CollectionView.js","src/CompositeView.js","src/Controller.js","src/deprecatedEvents.js","src/getChildView.js","src/ItemView.js","src/LayoutView.js","src/Module.js","src/normalizeUi.js","src/proxyFunctions.js","src/Region.js","src/RegionManager.js","src/RegionShowEvent.js","src/regionsOnApplication.js","src/regionsOnView.js","src/RegionStaticMethods.js","src/templateHelpers.js","src/triggerProxy.js","src/viewOptions.js","src/marionette-v3-compat.js"],"sourcesContent":["import _ from 'underscore';\nimport Radio from 'backbone.radio';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n function dep() {\n Marionette.deprecate('Global channels are deprecated. Create your own Radio channels.');\n }\n\n const originalConstructor = Marionette.Application.prototype.constructor;\n\n Marionette.Application = Marionette.Application.extend({\n constructor: function() {\n this._initV2Channel();\n originalConstructor.apply(this, arguments);\n },\n\n // Command execution, facilitated by Backbone.Wreqr.Commands\n execute: function() {\n this.commands.execute.apply(this.commands, arguments);\n },\n\n // Request/response, facilitated by Backbone.Wreqr.RequestResponse\n request: function() {\n return this.reqres.request.apply(this.reqres, arguments);\n },\n\n _initV2Channel: function() {\n this.channelName = _.result(this, 'channelName') || 'global';\n this.channel = _.result(this, 'channel') || Radio.channel(this.channelName);\n this.channel.__deprecateChannel = true;\n this.vent = this.channel;\n this.reqres = this.channel;\n this.commands = this.channel;\n\n const channelOn = this.channel.on;\n\n this.channel.on = function() {\n dep();\n return channelOn.apply(this, arguments);\n };\n\n const channelRequest = this.channel.request;\n\n this.channel.request = function() {\n dep();\n return channelRequest.apply(this, arguments);\n };\n\n this.channel.execute = function() {\n dep();\n Marionette.deprecate('Channel commands are deprecated. Use requests.');\n return channelRequest.apply(this, arguments);\n };\n\n const listenTo = Marionette.Object.listenTo;\n\n Marionette.Object.listenTo = function(obj) {\n if (obj.__deprecateChannel) { dep(); }\n listenTo.apply(this, arguments);\n };\n }\n });\n}\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n var originalBind = Marionette.bindEvents;\n var originalUnbind = Marionette.unbindEvents;\n\n Marionette.bindEvents = function(context, entity, bindings) {\n if (_.isFunction(bindings)) {\n Marionette.deprecate('bindEvents no longer accepts bindings as a function in v3');\n bindings = bindings.call(context);\n }\n return originalBind(context, entity, bindings);\n };\n\n Marionette.unbindEvents = function(context, entity, bindings) {\n if (_.isFunction(bindings)) {\n Marionette.deprecate('unbindEvents no longer accepts bindings as a function in v3');\n bindings = bindings.call(context);\n }\n return originalUnbind(context, entity, bindings);\n };\n\n Marionette.bindEntityEvents = function(context, entity, bindings) {\n Marionette.deprecate('bindEntityEvents has been renamed to bindEvents in v3.');\n return Marionette.bindEvents(context, entity, bindings);\n };\n\n Marionette.unbindEntityEvents = function(context, entity, bindings) {\n Marionette.deprecate('unbindEntityEvents renamed to unbindEvents in v3.');\n return Marionette.unbindEvents(context, entity, bindings);\n };\n\n const bindEventsMixin = {\n bindEntityEvents(...args) {\n Marionette.deprecate('bindEntityEvents has been renamed to bindEvents in v3.');\n return Marionette.bindEvents(this, ...args);\n },\n unbindEntityEvents(...args) {\n Marionette.deprecate('unbindEntityEvents renamed to unbindEvents in v3.');\n return Marionette.unbindEvents(this, ...args);\n\n }\n };\n\n _.extend(Marionette.Object.prototype, bindEventsMixin);\n\n _.extend(Marionette.View.prototype, bindEventsMixin);\n\n _.extend(Marionette.CollectionView.prototype, bindEventsMixin);\n}\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n // Cache `childViewEvents` and `childViewTriggers`\n function _buildEventProxies() {\n if (this.childEvents || this.options.childEvents) {\n Marionette.deprecate('childEvents are deprecated. Use childViewEvents');\n this.mergeOptions(this.options, ['childEvents']);\n this._childViewEvents = _.result(this, 'childEvents');\n } else {\n this._childViewEvents = _.result(this, 'childViewEvents');\n }\n\n this._childViewTriggers = _.result(this, 'childViewTriggers');\n }\n\n _.extend(Marionette.View.prototype, {\n _buildEventProxies\n });\n\n _.extend(Marionette.CollectionView.prototype, {\n _buildEventProxies\n });\n}\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nexport default function(privateFunction, publicFunction, deprecation, ClassName) {\n const original = Marionette[ClassName].prototype[privateFunction];\n const options = {};\n\n options[privateFunction] = function() {\n this._nodep = true;\n return this[publicFunction].apply(this, arguments);\n }\n\n options[publicFunction] = function() {\n if (this._nodep) {\n this._nodep = false;\n } else {\n Marionette.deprecate(deprecation);\n }\n return original.apply(this, arguments);\n }\n\n _.extend(Marionette[ClassName].prototype, options);\n}\n","import Backbone from 'backbone';\nimport Marionette from 'backbone.marionette';\nimport restoreFunction from './utils/restoreFunction';\nexport default function() {\n\n restoreFunction('_endBuffering', 'endBuffering', 'endBuffering is now private.', 'CollectionView');\n restoreFunction('_startBuffering', 'startBuffering', 'startBuffering is now private.', 'CollectionView');\n restoreFunction('_showCollection', 'showCollection', 'showCollection is now private.', 'CollectionView');\n restoreFunction('_showEmptyView', 'showEmptyView', 'showEmptyView is now private.', 'CollectionView');\n restoreFunction('_destroyEmptyView', 'destroyEmptyView', 'destroyEmptyView is now private.', 'CollectionView');\n restoreFunction('_checkEmpty', 'checkEmpty', 'checkEmpty is now private.', 'CollectionView');\n restoreFunction('_destroyChildren', 'destroyChildren', 'destroyChildren is now private.', 'CollectionView');\n restoreFunction('_proxyChildEvents', 'proxyChildEvents', 'proxyChildEvents is now private.', 'CollectionView');\n restoreFunction('_addChild', 'addChild', 'addChild is now private.', 'CollectionView');\n\n const originalConstructor = Marionette.CollectionView.prototype.constructor;\n\n Marionette.CollectionView = Marionette.CollectionView.extend({\n constructor() {\n Backbone.Events.on.call(this, 'render:children', function() { this.triggerMethod('render:collection', this); });\n Backbone.Events.on.call(this, 'before:render:children', function() { this.triggerMethod('before:render:collection', this); });\n\n Backbone.Events.on.call(this, 'destroy:children', function() { this.triggerMethod('destroy:collection', this); });\n Backbone.Events.on.call(this, 'before:destroy:children', function() { this.triggerMethod('before:destroy:collection', this); });\n\n originalConstructor.apply(this, arguments);\n },\n initRenderBuffer() {\n Marionette.deprecate('initRenderBuffer is now private.');\n this._bufferedChildren = [];\n }\n });\n\n const originalConstructorComp = Marionette.CompositeView.prototype.constructor;\n\n Marionette.CompositeView = Marionette.CompositeView.extend({\n constructor() {\n Backbone.Events.on.call(this, 'render:children', function() { this.triggerMethod('render:collection', this); });\n Backbone.Events.on.call(this, 'before:render:children', function() { this.triggerMethod('before:render:collection', this); });\n\n Backbone.Events.on.call(this, 'destroy:children', function() { this.triggerMethod('destroy:collection', this); });\n Backbone.Events.on.call(this, 'before:destroy:children', function() { this.triggerMethod('before:destroy:collection', this); });\n originalConstructorComp.apply(this, arguments);\n }\n });\n\n}\n\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\nexport default function() {\n\n\n const originalRenderTemp = Marionette.CompositeView.prototype._renderTemplate;\n\n _.extend(Marionette.CompositeView.prototype, {\n _renderTemplate() {\n this.triggerMethod('before:render:template');\n originalRenderTemp.apply(this, arguments);\n this.triggerMethod('render:template');\n }\n });\n}\n","import Marionette from 'backbone.marionette';\n\nexport default function() {\n Marionette.Controller = Marionette.Object.extend({\n constructor(options) {\n this.options = options || {};\n\n const args = Array.prototype.slice.call(arguments);\n args[0] = this.options;\n\n Marionette.deprecate('Marionette.Controller is deprecated. Use Marionette.Object');\n Marionette.Object.prototype.constructor.apply(this, args);\n },\n\n destroy: function(...args) {\n this.triggerMethod('before:destroy', ...args);\n this.triggerMethod('destroy', ...args);\n this.stopListening();\n\n return this;\n }\n });\n}\n","import _ from 'underscore';\nimport Backbone from 'backbone';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n const deprecatedEvents = {\n 'render:collection': true,\n 'destroy:collection:': true,\n 'render:template': true\n };\n\n const dep = function(name) {\n Marionette.deprecate(`${ name } event is deprecated.`);\n }\n\n const listenTo = Backbone.View.prototype.listenTo;\n\n Backbone.View.prototype.listenTo = function(obj, name) {\n if (deprecatedEvents[name]) { dep(name); }\n if (_.isObject(name)) {\n _.each(name, function(value, key) {\n if (deprecatedEvents[key]) { dep(key); }\n });\n }\n listenTo.apply(this, arguments);\n }\n\n const on = Backbone.View.prototype.on;\n\n Backbone.View.prototype.on = function(name) {\n if (deprecatedEvents[name]) { dep(name); }\n if (_.isObject(name)) {\n _.each(name, function(value, key) {\n if (deprecatedEvents[key]) { dep(key); }\n });\n }\n on.apply(this, arguments);\n }\n};\n","import restoreFunction from './utils/restoreFunction';\n\nexport default function() {\n\n restoreFunction('_getChildView', 'getChildView', 'getChildView is deprecated. Use childView instead.', 'CollectionView');\n restoreFunction('_getEmptyView', 'getEmptyView', 'getEmptyView is deprecated. Use emptyView instead.', 'CollectionView');\n}\n","import Marionette from 'backbone.marionette';\n\nexport default function() {\n Marionette.ItemView = Marionette.View.extend({\n constructor() {\n Marionette.deprecate('Marionette.ItemView is deprecated. Use Marionette.View');\n Marionette.View.prototype.constructor.apply(this, arguments);\n }\n });\n}\n","import Marionette from 'backbone.marionette';\n\nexport default function() {\n Marionette.LayoutView = Marionette.View.extend({\n constructor() {\n Marionette.deprecate('Marionette.LayoutView is deprecated. Use Marionette.View');\n Marionette.View.prototype.constructor.apply(this, arguments);\n }\n });\n}\n","import _ from 'underscore';\nimport Backbone from 'backbone';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n const originalConstructor = Marionette.Application.prototype.constructor;\n\n Marionette.Deferred = function() {\n Marionette.deprecate('Marionette.Deferred is deprecated and removed in v3.');\n return Backbone.$.Deferred.apply(this, arguments);\n };\n\n Marionette.Application = Marionette.Application.extend({\n constructor: function() {\n this._initCallbacks = new Marionette.Callbacks();\n this.submodules = {};\n originalConstructor.apply(this, arguments);\n },\n\n addInitializer: function(initializer) {\n Marionette.deprecate('Application Initializers are deprecated and removed in v3.');\n this._initCallbacks.add(initializer);\n },\n\n start: function(options) {\n this.triggerMethod('before:start', options);\n this._initCallbacks.run(options, this);\n this.triggerMethod('start', options);\n },\n\n module: function(moduleNames, moduleDefinition) {\n\n // Overwrite the module class if the user specifies one\n var ModuleClass = Marionette.Module.getClass(moduleDefinition);\n\n var args = _.toArray(arguments);\n args.unshift(this);\n\n // see the Marionette.Module object for more information\n return ModuleClass.create.apply(ModuleClass, args);\n }\n });\n\n\n // Callbacks\n // ---------\n\n // A simple way of managing a collection of callbacks\n // and executing them at a later point in time, using jQuery's\n // `Deferred` object.\n Marionette.Callbacks = function() {\n this._deferred = Marionette.Deferred();\n this._callbacks = [];\n };\n\n _.extend(Marionette.Callbacks.prototype, {\n\n // Add a callback to be executed. Callbacks added here are\n // guaranteed to execute, even if they are added after the\n // `run` method is called.\n add: function(callback, contextOverride) {\n var promise = _.result(this._deferred, 'promise');\n\n this._callbacks.push({cb: callback, ctx: contextOverride});\n\n promise.then(function(args) {\n if (contextOverride) { args.context = contextOverride; }\n callback.call(args.context, args.options);\n });\n },\n\n // Run all registered callbacks with the context specified.\n // Additional callbacks can be added after this has been run\n // and they will still be executed.\n run: function(options, context) {\n this._deferred.resolve({\n options: options,\n context: context\n });\n },\n\n // Resets the list of callbacks to be run, allowing the same list\n // to be run multiple times - whenever the `run` method is called.\n reset: function() {\n var callbacks = this._callbacks;\n this._deferred = Marionette.Deferred();\n this._callbacks = [];\n\n _.each(callbacks, function(cb) {\n this.add(cb.cb, cb.ctx);\n }, this);\n }\n });\n\n // A simple module system, used to create privacy and encapsulation in\n // Marionette applications\n Marionette.Module = function(moduleName, app, options) {\n Marionette.deprecate('Marionette.module is deprecated and removed in v3.');\n\n this.moduleName = moduleName;\n this.options = _.extend({}, this.options, options);\n // Allow for a user to overide the initialize\n // for a given module instance.\n this.initialize = options.initialize || this.initialize;\n\n // Set up an internal store for sub-modules.\n this.submodules = {};\n\n this._setupInitializersAndFinalizers();\n\n // Set an internal reference to the app\n // within a module.\n this.app = app;\n\n if (_.isFunction(this.initialize)) {\n this.initialize(moduleName, app, this.options);\n }\n };\n\n Marionette.Module.extend = Marionette.extend;\n\n // Extend the Module prototype with events / listenTo, so that the module\n // can be used as an event aggregator or pub/sub.\n _.extend(Marionette.Module.prototype, Backbone.Events, {\n\n // By default modules start with their parents.\n startWithParent: true,\n\n // Initialize is an empty function by default. Override it with your own\n // initialization logic when extending Marionette.Module.\n initialize: function() {},\n\n // Initializer for a specific module. Initializers are run when the\n // module's `start` method is called.\n addInitializer: function(callback) {\n this._initializerCallbacks.add(callback);\n },\n\n // Finalizers are run when a module is stopped. They are used to teardown\n // and finalize any variables, references, events and other code that the\n // module had set up.\n addFinalizer: function(callback) {\n this._finalizerCallbacks.add(callback);\n },\n\n // Start the module, and run all of its initializers\n start: function(options) {\n // Prevent re-starting a module that is already started\n if (this._isInitialized) { return; }\n\n // start the sub-modules (depth-first hierarchy)\n _.each(this.submodules, function(mod) {\n // check to see if we should start the sub-module with this parent\n if (mod.startWithParent) {\n mod.start(options);\n }\n });\n\n // run the callbacks to \"start\" the current module\n this.triggerMethod('before:start', options);\n\n this._initializerCallbacks.run(options, this);\n this._isInitialized = true;\n\n this.triggerMethod('start', options);\n },\n\n // Stop this module by running its finalizers and then stop all of\n // the sub-modules for this module\n stop: function() {\n // if we are not initialized, don't bother finalizing\n if (!this._isInitialized) { return; }\n this._isInitialized = false;\n\n this.triggerMethod('before:stop');\n\n // stop the sub-modules; depth-first, to make sure the\n // sub-modules are stopped / finalized before parents\n _.invoke(this.submodules, 'stop');\n\n // run the finalizers\n this._finalizerCallbacks.run(undefined, this);\n\n // reset the initializers and finalizers\n this._initializerCallbacks.reset();\n this._finalizerCallbacks.reset();\n\n this.triggerMethod('stop');\n },\n\n // Configure the module with a definition function and any custom args\n // that are to be passed in to the definition function\n addDefinition: function(moduleDefinition, customArgs) {\n this._runModuleDefinition(moduleDefinition, customArgs);\n },\n\n // Internal method: run the module definition function with the correct\n // arguments\n _runModuleDefinition: function(definition, customArgs) {\n // If there is no definition short circut the method.\n if (!definition) { return; }\n\n // build the correct list of arguments for the module definition\n var args = _.flatten([\n this,\n this.app,\n Backbone,\n Marionette,\n Backbone.$, _,\n customArgs\n ]);\n\n definition.apply(this, args);\n },\n\n // Internal method: set up new copies of initializers and finalizers.\n // Calling this method will wipe out all existing initializers and\n // finalizers.\n _setupInitializersAndFinalizers: function() {\n this._initializerCallbacks = new Marionette.Callbacks();\n this._finalizerCallbacks = new Marionette.Callbacks();\n },\n\n // import the `triggerMethod` to trigger events with corresponding\n // methods if the method exists\n triggerMethod: function(...args) { return Marionette.triggerMethod.apply(this, [this].concat(args)); }\n });\n\n // Class methods to create modules\n _.extend(Marionette.Module, {\n\n // Create a module, hanging off the app parameter as the parent object.\n create: function(app, moduleNames, moduleDefinition) {\n var module = app;\n\n // get the custom args passed in after the module definition and\n // get rid of the module name and definition function\n var customArgs = _.drop(arguments, 3);\n\n // Split the module names and get the number of submodules.\n // i.e. an example module name of `Doge.Wow.Amaze` would\n // then have the potential for 3 module definitions.\n moduleNames = moduleNames.split('.');\n var length = moduleNames.length;\n\n // store the module definition for the last module in the chain\n var moduleDefinitions = [];\n moduleDefinitions[length - 1] = moduleDefinition;\n\n // Loop through all the parts of the module definition\n _.each(moduleNames, function(moduleName, i) {\n var parentModule = module;\n module = this._getModule(parentModule, moduleName, app, moduleDefinition);\n this._addModuleDefinition(parentModule, module, moduleDefinitions[i], customArgs);\n }, this);\n\n // Return the last module in the definition chain\n return module;\n },\n\n _getModule: function(parentModule, moduleName, app, def, args) {\n var options = _.extend({}, def);\n var ModuleClass = this.getClass(def);\n\n // Get an existing module of this name if we have one\n var module = parentModule[moduleName];\n\n if (!module) {\n // Create a new module if we don't have one\n module = new ModuleClass(moduleName, app, options);\n parentModule[moduleName] = module;\n // store the module on the parent\n parentModule.submodules[moduleName] = module;\n }\n\n return module;\n },\n\n // ## Module Classes\n //\n // Module classes can be used as an alternative to the define pattern.\n // The extend function of a Module is identical to the extend functions\n // on other Backbone and Marionette classes.\n // This allows module lifecyle events like `onStart` and `onStop` to be called directly.\n getClass: function(moduleDefinition) {\n var ModuleClass = Marionette.Module;\n\n if (!moduleDefinition) {\n return ModuleClass;\n }\n\n // If all of the module's functionality is defined inside its class,\n // then the class can be passed in directly. `MyApp.module(\"Foo\", FooModule)`.\n if (moduleDefinition.prototype instanceof ModuleClass) {\n return moduleDefinition;\n }\n\n return moduleDefinition.moduleClass || ModuleClass;\n },\n\n // Add the module definition and add a startWithParent initializer function.\n // This is complicated because module definitions are heavily overloaded\n // and support an anonymous function, module class, or options object\n _addModuleDefinition: function(parentModule, module, def, args) {\n var fn = this._getDefine(def);\n var startWithParent = this._getStartWithParent(def, module);\n\n if (fn) {\n module.addDefinition(fn, args);\n }\n\n this._addStartWithParent(parentModule, module, startWithParent);\n },\n\n _getStartWithParent: function(def, module) {\n var swp;\n\n if (_.isFunction(def) && (def.prototype instanceof Marionette.Module)) {\n swp = module.constructor.prototype.startWithParent;\n return _.isUndefined(swp) ? true : swp;\n }\n\n if (_.isObject(def)) {\n swp = def.startWithParent;\n return _.isUndefined(swp) ? true : swp;\n }\n\n return true;\n },\n\n _getDefine: function(def) {\n if (_.isFunction(def) && !(def.prototype instanceof Marionette.Module)) {\n return def;\n }\n\n if (_.isObject(def)) {\n return def.define;\n }\n\n return null;\n },\n\n _addStartWithParent: function(parentModule, module, startWithParent) {\n module.startWithParent = module.startWithParent && startWithParent;\n\n if (!module.startWithParent || !!module.startWithParentIsConfigured) {\n return;\n }\n\n module.startWithParentIsConfigured = true;\n\n parentModule.addInitializer(function(options) {\n if (module.startWithParent) {\n module.start(options);\n }\n });\n }\n });\n\n}\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n var normalizeUIString = function(uiString, ui) {\n return uiString.replace(/@ui\\.[a-zA-Z-_$0-9]*/g, function(r) {\n return ui[r.slice(4)];\n });\n };\n\n Marionette.normalizeUIString = function(uiString, ui) {\n Marionette.deprecate('normalizeUIString was removed in v3.');\n return normalizeUIString.apply(this, arguments);\n };\n\n var normalizeUIKeys = function(hash, ui) {\n return _.reduce(hash, function(memo, val, key) {\n var normalizedKey = normalizeUIString(key, ui);\n memo[normalizedKey] = val;\n return memo;\n }, {});\n };\n\n Marionette.normalizeUIKeys = function(hash, ui) {\n Marionette.deprecate('normalizeUIKeys was removed in v3.');\n return normalizeUIKeys.apply(this, arguments);\n };\n\n var normalizeUIValues = function(hash, ui, properties) {\n _.each(hash, function(val, key) {\n if (_.isString(val)) {\n hash[key] = normalizeUIString(val, ui);\n } else if (_.isObject(val) && _.isArray(properties)) {\n _.extend(val, normalizeUIValues(_.pick(val, properties), ui));\n /* Value is an object, and we got an array of embedded property names to normalize. */\n _.each(properties, function(property) {\n var propertyVal = val[property];\n if (_.isString(propertyVal)) {\n val[property] = normalizeUIString(propertyVal, ui);\n }\n });\n }\n });\n return hash;\n };\n\n Marionette.normalizeUIValues = function(hash, ui, properties) {\n Marionette.deprecate('normalizeUIValues was removed in v3.');\n return normalizeUIValues.apply(this, arguments);\n };\n\n}\n","import Marionette from 'backbone.marionette';\n\nexport default function() {\n Marionette.proxyGetOption = function(optionName) {\n Marionette.deprecate('proxyGetOption has been deprecated and removed in v3.');\n return Marionette.getOption(this, optionName);\n };\n\n Marionette.proxyBindEntityEvents = function(entity, bindings) {\n Marionette.deprecate('proxyBindEntityEvents has been deprecated and removed in v3.');\n return Marionette.bindEvents(this, entity, bindings);\n };\n\n Marionette.proxyUnbindEntityEvents = function(entity, bindings) {\n Marionette.deprecate('proxyUnbindEntityEvents has been deprecated and removed in v3.');\n return Marionette.unbindEvents(this, entity, bindings);\n };\n}\n","import Marionette from 'backbone.marionette';\n\nexport default function() {\n\n const originalShow = Marionette.Region.prototype.show;\n\n Marionette.Region = Marionette.Region.extend({\n attachView(view) {\n Marionette.deprecate('Region#attachView was removed in v3. Use Region#show without fear of re-rendering.')\n if (this.currentView) {\n delete this.currentView._parent;\n }\n view._parent = this;\n this.currentView = view;\n return this;\n },\n show(view, options) {\n if (!this._ensureElement(options)) {\n return;\n }\n this._ensureView(view);\n if (view === this.currentView) { return this; }\n if (view._isRendered) {\n view.render();\n Marionette.deprecate('Rendered views shown in a Region are not re-rendered in v3.');\n }\n var isChangingView = !!this.currentView;\n if (isChangingView) {\n this.triggerMethod('before:swapOut', this.currentView, this, options);\n this.triggerMethod('before:swap', view, this, options);\n this.triggerMethod('swapOut', this.currentView, this, options);\n }\n originalShow.apply(this, arguments);\n if (isChangingView) {\n this.triggerMethod('swap', view, this, options);\n }\n return this;\n },\n });\n}\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n // Manage one or more related `Marionette.Region` objects.\n Marionette.RegionManager = Marionette.Object.extend({\n constructor: function(options) {\n this._regions = {};\n this.length = 0;\n\n Marionette.Object.call(this, options);\n\n this.addRegions(this.getOption('regions'));\n },\n\n // Add multiple regions using an object literal or a\n // function that returns an object literal, where\n // each key becomes the region name, and each value is\n // the region definition.\n addRegions: function(regionDefinitions, defaults) {\n regionDefinitions = Marionette._getValue(regionDefinitions, this, arguments);\n\n if (!_.isEmpty(regionDefinitions)) {\n Marionette.deprecate('RegionManager is deprecated and removed in v3.');\n }\n\n return _.reduce(regionDefinitions, function(regions, definition, name) {\n if (_.isString(definition)) {\n definition = {selector: definition};\n }\n if (definition.selector) {\n definition = _.defaults({}, definition, defaults);\n }\n\n regions[name] = this.addRegion(name, definition);\n return regions;\n }, {}, this);\n },\n\n // Add an individual region to the region manager,\n // and return the region instance\n addRegion: function(name, definition) {\n var region;\n\n if (definition instanceof Marionette.Region) {\n region = definition;\n } else {\n region = Marionette.Region.buildRegion(definition, Marionette.Region);\n }\n\n this.triggerMethod('before:add:region', name, region);\n\n region._parent = this;\n this._store(name, region);\n\n this.triggerMethod('add:region', name, region);\n return region;\n },\n\n // Get a region by name\n get: function(name) {\n return this._regions[name];\n },\n\n // Gets all the regions contained within\n // the `regionManager` instance.\n getRegions: function() {\n return _.clone(this._regions);\n },\n\n // Remove a region by name\n removeRegion: function(name) {\n var region = this._regions[name];\n this._remove(name, region);\n\n return region;\n },\n\n // Empty all regions in the region manager, and\n // remove them\n removeRegions: function() {\n var regions = this.getRegions();\n _.each(this._regions, function(region, name) {\n this._remove(name, region);\n }, this);\n\n return regions;\n },\n\n // Empty all regions in the region manager, but\n // leave them attached\n emptyRegions: function() {\n var regions = this.getRegions();\n _.invoke(regions, 'empty');\n return regions;\n },\n\n // Destroy all regions and shut down the region\n // manager entirely\n destroy: function() {\n this.removeRegions();\n return Marionette.Object.prototype.destroy.apply(this, arguments);\n },\n\n // internal method to store regions\n _store: function(name, region) {\n if (!this._regions[name]) {\n this.length++;\n }\n\n this._regions[name] = region;\n },\n\n // internal method to remove a region\n _remove: function(name, region) {\n this.triggerMethod('before:remove:region', name, region);\n region.empty();\n region.stopListening();\n\n delete region._parent;\n delete this._regions[name];\n this.length--;\n this.triggerMethod('remove:region', name, region);\n }\n });\n\n // Mix in methods from Underscore, for iteration, and other\n // collection related features.\n // Borrowing this code from Backbone.Collection:\n // http://backbonejs.org/docs/backbone.html#section-121\n var _actAsCollection = function(object, listProperty) {\n var methods = ['forEach', 'each', 'map', 'find', 'detect', 'filter',\n 'select', 'reject', 'every', 'all', 'some', 'any', 'include',\n 'contains', 'invoke', 'toArray', 'first', 'initial', 'rest',\n 'last', 'without', 'isEmpty', 'pluck'];\n\n _.each(methods, function(method) {\n object[method] = function() {\n var list = _.values(_.result(this, listProperty));\n var args = [list].concat(_.toArray(arguments));\n return _[method].apply(_, args);\n };\n });\n };\n\n Marionette.actAsCollection = function(object, listProperty) {\n Marionette.deprecate('actAsCollection is deprecated and removed in v3.');\n\n return _actAsCollection.apply(this, arguments);\n }\n\n _actAsCollection(Marionette.RegionManager.prototype, '_regions');\n\n}\n","import _ from 'underscore';\nimport Backbone from 'backbone';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n function dep() {\n Marionette.deprecate('Show events are no longer triggered on the View. User render or attach.');\n }\n\n function triggerOnChildren(children, name) {\n if (!children) { return; }\n\n children.each(function(v) {\n if (!v._isShown) { Marionette.triggerMethodOn(v, name, v); }\n if (name === 'show') { v._isShown = true; }\n });\n }\n\n\n var regionTriggerMethod = Marionette.Region.prototype.triggerMethod;\n\n Marionette.Region.prototype.triggerMethod = function(name, region, view, options) {\n var result;\n\n if (name === 'before:show') {\n result = regionTriggerMethod.call(this, 'before:show', view, region, options);\n if (!view._isShown) {\n view.once('render', function() {\n Marionette.triggerMethodOn(view, 'before:show', view, region, options);\n });\n }\n view.once('render', function() {\n triggerOnChildren(view.children, name);\n });\n } else if (name === 'show') {\n result = regionTriggerMethod.call(this, 'show', view, region, options);\n if (!view._isShown) { Marionette.triggerMethodOn(view, 'show', view, region, options); }\n view._isShown = true;\n triggerOnChildren(view.children, name);\n } else {\n result = regionTriggerMethod.apply(this, arguments);\n }\n\n return result;\n };\n\n var _addChildView = Marionette.CollectionView.prototype._addChildView;\n\n Marionette.CollectionView.prototype._addChildView = function(view) {\n view.once('render', function() {\n // trigger the 'before:show' event on `view` if the collection view has already been shown\n if (this._isShown && !this._isBuffering) {\n Marionette.triggerMethodOn(view, 'before:show', view);\n }\n }, this);\n\n _addChildView.apply(this, arguments);\n\n if (this._isShown && !this._isBuffering) {\n if (!view._isShown) {\n Marionette.triggerMethodOn(view, 'show', view);\n }\n view._isShown = true;\n }\n };\n\n\n // split the event name on the \":\"\n var splitter = /(^|:)(\\w)/gi;\n\n // take the event section (\"section1:section2:section3\")\n // and turn it in to uppercase name onSection1Section2Section3\n function getEventName(match, prefix, eventName) {\n return eventName.toUpperCase();\n }\n\n var trigger = Backbone.Events.trigger;\n\n Backbone.Events.trigger = function(name) {\n var isView = this.prototype instanceof Backbone.View || this === Backbone.View;\n var isRegion = this.prototype instanceof Marionette.Region || this === Marionette.Region;\n if (isView || isRegion) {\n var methodName = 'on' + name.replace(splitter, getEventName);\n var method = (this.options && this.options[methodName]) || this[methodName];\n\n if (_.isFunction(method)) {\n if (isView) {\n dep();\n } else {\n if (method.length > 1) {\n Marionette.deprecate('Region show events in v3 pass the region and the 1st argument and the view as the 2nd');\n }\n }\n }\n\n if (!this._events) { return this; }\n\n if ((name === 'before:show' || name === 'show') && this._events[name]) {\n if (isView) {\n dep();\n } else {\n if (this._events[name].length > 1) {\n Marionette.deprecate('Region show events in v3 pass the region and the 1st argument and the view as the 2nd');\n }\n }\n }\n }\n\n return trigger.apply(this, arguments);\n }\n}\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n function dep() {\n Marionette.deprecate('Regions attached to the Application are deprecated. Application now only has a single region.');\n }\n\n const originalConstructor = Marionette.Application.prototype.constructor;\n\n Marionette.Application = Marionette.Application.extend({\n constructor: function(options) {\n this._initializeRegions(options);\n originalConstructor.apply(this, arguments);\n },\n\n // Add regions to your app.\n // Accepts a hash of named strings or Region objects\n // addRegions({something: \"#someRegion\"})\n // addRegions({something: Region.extend({el: \"#someRegion\"}) });\n addRegions: function(regions) {\n return this._regionManager.addRegions(regions);\n },\n\n // Empty all regions in the app, without removing them\n emptyRegions: function() {\n return this._regionManager.emptyRegions();\n },\n\n // Removes a region from your app, by name\n // Accepts the regions name\n // removeRegion('myRegion')\n removeRegion: function(region) {\n return this._regionManager.removeRegion(region);\n },\n\n // Provides alternative access to regions\n // Accepts the region name\n // getRegion('main')\n getRegion: function(region) {\n if (arguments.length) {\n dep();\n return this._regionManager.get(region);\n }\n\n return this._region;\n },\n\n // Get all the regions from the region manager\n getRegions: function() {\n return this._regionManager.getRegions();\n },\n\n // Enable easy overriding of the default `RegionManager`\n // for customized region interactions and business-specific\n // view logic for better control over single regions.\n getRegionManager: function() {\n return new Marionette.RegionManager();\n },\n\n // Internal method to initialize the regions that have been defined in a\n // `regions` attribute on the application instance\n _initializeRegions: function(options = {}) {\n var regions = _.isFunction(this.regions) ? this.regions(options) : this.regions || {};\n\n // Enable users to define `regions` in instance options.\n var optionRegions = (options.options && options.options.regions) || options.regions;\n\n // Enable region options to be a function\n if (_.isFunction(optionRegions)) {\n optionRegions = optionRegions.call(this, options);\n }\n\n // Overwrite current regions with those passed in options\n _.extend(regions, optionRegions);\n\n this._initRegionManager();\n\n if (!_.isEmpty(regions)) {\n dep();\n\n this.addRegions(regions);\n }\n\n return this;\n },\n\n // Internal method to set up the region manager\n _initRegionManager: function() {\n this._regionManager = this.getRegionManager();\n this._regionManager._parent = this;\n\n this.listenTo(this._regionManager, 'before:add:region', function(name, region) {\n this.triggerMethod('before:add:region', name, region);\n });\n\n this.listenTo(this._regionManager, 'add:region', function(name, region) {\n this[name] = region;\n this.triggerMethod('add:region', name, region);\n });\n\n this.listenTo(this._regionManager, 'before:remove:region', function(name, region) {\n this.triggerMethod('before:remove:region', name, region);\n });\n\n this.listenTo(this._regionManager, 'remove:region', function(name, region) {\n delete this[name];\n this.triggerMethod('remove:region', name, region);\n });\n }\n })\n\n}\n","import _ from 'underscore';\nimport Backbone from 'backbone';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n function dep() {\n Marionette.deprecate('Regions attached to the view are deprecated. Use View#getRegion or View#showChildView');\n }\n\n function _addRegion(view, name, region) {\n const regionShow = region.show;\n const regionEmpty = region.empty;\n const regionReset = region.reset;\n const regionOn = region.on;\n\n const newRegion = _.extend({}, region, {\n on() {\n dep();\n regionOn.apply(this, arguments);\n },\n show() {\n dep();\n regionShow.apply(this, arguments);\n },\n empty() {\n dep();\n regionEmpty.apply(this, arguments);\n },\n reset() {\n dep();\n regionReset.apply(this, arguments);\n },\n __deprecatedRegion: true\n });\n\n view[name] = newRegion;\n }\n\n function _removeRegion(view, name, region) {\n delete view[name];\n }\n\n const listenTo = Backbone.View.prototype.listenTo;\n\n Backbone.View.prototype.listenTo = function(obj) {\n if (obj.__deprecatedRegion) { dep(); }\n listenTo.apply(this, arguments);\n }\n\n const initRegions = Marionette.View.prototype._initRegions;\n\n _.extend(Marionette.View.prototype, {\n _initRegions() {\n this.regionClass = Marionette.Region;\n this.on({\n 'add:region': _addRegion,\n 'remove:region': _removeRegion\n });\n initRegions.apply(this, arguments);\n }\n });\n}\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n _.extend(Marionette.Region, {\n\n buildRegion: function(regionConfig, DefaultRegionClass) {\n\n Marionette.deprecate('Region Static Options are deprecated and removed in v3.');\n\n if (_.isString(regionConfig)) {\n return this._buildRegionFromSelector(regionConfig, DefaultRegionClass);\n }\n\n if (regionConfig.selector || regionConfig.el || regionConfig.regionClass) {\n return this._buildRegionFromObject(regionConfig, DefaultRegionClass);\n }\n\n if (_.isFunction(regionConfig)) {\n return this._buildRegionFromRegionClass(regionConfig);\n }\n\n throw new Marionette.Error({\n message: 'Improper region configuration type.',\n url: 'marionette.region.html#region-configuration-types'\n });\n },\n\n // Build the region from a string selector like '#foo-region'\n _buildRegionFromSelector: function(selector, DefaultRegionClass) {\n return new DefaultRegionClass({el: selector});\n },\n\n // Build the region from a configuration object\n // ```js\n // { selector: '#foo', regionClass: FooRegion, allowMissingEl: false }\n // ```\n _buildRegionFromObject: function(regionConfig, DefaultRegionClass) {\n var RegionClass = regionConfig.regionClass || DefaultRegionClass;\n var options = _.omit(regionConfig, 'selector', 'regionClass');\n\n if (regionConfig.selector && !options.el) {\n options.el = regionConfig.selector;\n }\n\n return new RegionClass(options);\n },\n\n // Build the region directly from a given `RegionClass`\n _buildRegionFromRegionClass: function(RegionClass) {\n return new RegionClass();\n }\n });\n\n}\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n function mixinTemplateContext(target = {}) {\n if (this.templateHelpers || this.options.templateHelpers) {\n Marionette.deprecate('templateHelpers are deprecated. Use templateContext');\n this.mergeOptions(this.options, ['templateHelpers']);\n const templateHelpers = _.result(this, 'templateHelpers');\n return _.extend(target, templateHelpers);\n }\n\n const templateContext = _.result(this, 'templateContext');\n return _.extend(target, templateContext);\n }\n\n function mixinTemplateHelpers() {\n Marionette.deprecate('mixinTemplateHelpers was renamed mixinTemplateContext in v3.');\n mixinTemplateContext.apply(this, arguments);\n }\n\n _.extend(Marionette.View.prototype, {\n mixinTemplateContext,\n mixinTemplateHelpers\n });\n\n _.extend(Marionette.CompositeView.prototype, {\n mixinTemplateContext,\n mixinTemplateHelpers\n });\n}\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n // split the event name on the \":\"\n var splitter = /(^|:)(\\w)/gi;\n\n // take the event section (\"section1:section2:section3\")\n // and turn it in to uppercase name onSection1Section2Section3\n function getEventName(match, prefix, eventName) {\n return eventName.toUpperCase();\n }\n\n const triggerParent = Marionette.View.prototype._triggerEventOnParentLayout;\n\n function _triggerEventOnParentLayout(eventName, ...args) {\n const layoutView = this._parentView();\n if (!layoutView) { return; }\n\n args = args || [];\n\n const eventPrefix = _.result(layoutView, 'childViewEventPrefix');\n const prefixedEventName = eventPrefix + ':' + eventName;\n\n var methodName = 'on' + prefixedEventName.replace(splitter, getEventName);\n var method = (layoutView.options && layoutView.options[methodName]) || layoutView[methodName];\n\n // If this is true we expect that it is expecting `this`\n // as its first argument\n if ((_.isFunction(method) && method.length) === args.length + 1 ||\n (layoutView._events && layoutView._events[prefixedEventName] && layoutView._events[prefixedEventName].length) === args.length + 1) {\n args = [this].concat(args);\n Marionette.deprecate('The triggering view is no longer prepended on to the arguments of proxied child events.');\n }\n\n return triggerParent.apply(this, [eventName].concat(args));\n }\n\n function _proxyChildEvents(view) {\n var prefix = this.getOption('childViewEventPrefix');\n\n // Forward all child view events through the parent,\n // prepending \"childview:\" to the event name\n this.listenTo(view, 'all', function() {\n var args = _.toArray(arguments);\n var rootEvent = args[0];\n\n\n var childViewEvents = this.normalizeMethods(this._childViewEvents);\n\n // call collectionView childViewEvent if defined\n if (typeof childViewEvents !== 'undefined' && _.isFunction(childViewEvents[rootEvent])) {\n childViewEvents[rootEvent].apply(this, [view].concat(_.rest(args)));\n }\n\n // use the parent view's proxyEvent handlers\n var childViewTriggers = this._childViewTriggers;\n\n // Call the event with the proxy name on the parent layout\n if (childViewTriggers && _.isString(childViewTriggers[rootEvent])) {\n this.triggerMethod.apply(this, [childViewTriggers[rootEvent]].concat(args));\n }\n\n args[0] = prefix + ':' + rootEvent;\n args.splice(1, 0, view);\n\n this.triggerMethod.apply(this, args);\n });\n }\n\n _.extend(Marionette.View.prototype, {\n _triggerEventOnParentLayout\n });\n\n _.extend(Marionette.CompositeView.prototype, {\n _triggerEventOnParentLayout\n });\n\n _.extend(Marionette.CollectionView.prototype, {\n _proxyChildEvents\n });\n}\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n const originalConstructor = Marionette.View.prototype.constructor;\n\n Marionette.View = Marionette.View.extend({\n constructor(options) {\n const args = Array.prototype.slice.call(arguments);\n\n if (_.isFunction(options)) {\n Marionette.deprecate('Marionette.View options is no longer supported as a function. Please use an object instead.');\n options = options();\n\n args[0] = options;\n }\n\n originalConstructor.apply(this, args);\n }\n });\n};\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nimport ApplicationWreqr from './ApplicationWreqr';\nimport bindEntityEvents from './bindEntityEvents';\nimport childEvents from './childEvents';\nimport CollectionView from './CollectionView';\nimport CompositeView from './CompositeView';\nimport Controller from './Controller';\nimport deprecatedEvents from './deprecatedEvents';\nimport getChildView from './getChildView';\nimport ItemView from './ItemView';\nimport LayoutView from './LayoutView';\nimport Module from './Module';\nimport normalizeUi from './normalizeUi';\nimport proxyFunctions from './proxyFunctions';\nimport Region from './Region';\nimport RegionManager from './RegionManager';\nimport RegionShowEvent from './RegionShowEvent';\nimport regionsOnApplication from './regionsOnApplication';\nimport regionsOnView from './regionsOnView';\nimport RegionStaticMethods from './RegionStaticMethods';\nimport templateHelpers from './templateHelpers';\nimport triggerProxy from './triggerProxy';\nimport viewOptions from './viewOptions';\n\nMarionette.DEV_MODE = true;\n\nif (!Marionette || Marionette.VERSION.charAt(0) !== '3') {\n alert('marionette-v3-compat patches Marionette v3 to act like v2. Marionette v3 not found.');\n}\n\nMarionette.VERSION = 'marionette-v3-compat';\n\n// Add a console.trace to the deprecate message\nMarionette.deprecate._warn = function() {\n const warn = Marionette.deprecate._console.warn || Marionette.deprecate._console.log || function() {};\n console.trace();\n return warn.apply(Marionette.deprecate._console, arguments);\n};\n\nMarionette._getValue = function(value, context, params) {\n if (_.isFunction(value)) {\n value = params ? value.apply(context, params) : value.call(context);\n }\n return value;\n};\n\nexport default function(opts = {}) {\n const patches = _.extend({\n ApplicationWreqr,\n bindEntityEvents,\n childEvents,\n CollectionView,\n CompositeView,\n Controller,\n deprecatedEvents,\n getChildView,\n ItemView,\n LayoutView,\n Module,\n normalizeUi,\n proxyFunctions,\n Region,\n RegionManager,\n RegionShowEvent,\n regionsOnApplication,\n regionsOnView,\n RegionStaticMethods,\n templateHelpers,\n triggerProxy,\n viewOptions\n }, opts);\n\n _.mapObject(patches, function(patch) {\n if (_.isFunction(patch)) {\n patch();\n }\n });\n}\n"],"names":[],"mappings":"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","sourceRoot":"/source/"} \ No newline at end of file diff --git a/lib/marionette-v3-compat.min.js b/lib/marionette-v3-compat.min.js index 8f147ef..b92ec69 100644 --- a/lib/marionette-v3-compat.min.js +++ b/lib/marionette-v3-compat.min.js @@ -1,2 +1,2 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("underscore"),require("backbone.marionette"),require("backbone.radio"),require("backbone")):"function"==typeof define&&define.amd?define(["underscore","backbone.marionette","backbone.radio","backbone"],t):e.mnV3Compat=t(e._,e.Marionette,e.Radio,e.Backbone)}(this,function(e,t,n,i){"use strict";function r(){function i(){t.deprecate("Global channels are deprecated. Create your own Radio channels.")}var r=t.Application.prototype.constructor;t.Application=t.Application.extend({constructor:function(){this._initV2Channel(),r.apply(this,arguments)},execute:function(){this.commands.execute.apply(this.commands,arguments)},request:function(){return this.reqres.request.apply(this.reqres,arguments)},_initV2Channel:function(){this.channelName=e.result(this,"channelName")||"global",this.channel=e.result(this,"channel")||n.channel(this.channelName),this.channel.__deprecateChannel=!0,this.vent=this.channel,this.reqres=this.channel,this.commands=this.channel;var r=this.channel.on;this.channel.on=function(){return i(),r.apply(this,arguments)};var o=this.channel.request;this.channel.request=function(){return i(),o.apply(this,arguments)},this.channel.execute=function(){return i(),t.deprecate("Channel commands are deprecated. Use requests."),o.apply(this,arguments)};var s=t.Object.listenTo;t.Object.listenTo=function(e){e.__deprecateChannel&&i(),s.apply(this,arguments)}}})}function o(){var n=t.bindEvents,i=t.unbindEvents;t.bindEvents=function(i,r,o){return e.isFunction(o)&&(t.deprecate("bindEvents no longer accepts bindings as a function in v3"),o=o.call(i)),n(i,r,o)},t.unbindEvents=function(n,r,o){return e.isFunction(o)&&(t.deprecate("unbindEvents no longer accepts bindings as a function in v3"),o=o.call(n)),i(n,r,o)},t.bindEntityEvents=function(e,n,i){return t.deprecate("bindEntityEvents has been renamed to bindEvents in v3."),t.bindEvents(e,n,i)},t.unbindEntityEvents=function(e,n,i){return t.deprecate("unbindEntityEvents renamed to unbindEvents in v3."),t.unbindEvents(e,n,i)};var r={bindEntityEvents:function(){t.deprecate("bindEntityEvents has been renamed to bindEvents in v3.");for(var e=arguments.length,n=Array(e),i=0;e>i;i++)n[i]=arguments[i];return t.bindEvents.apply(t,[this].concat(n))},unbindEntityEvents:function(){t.deprecate("unbindEntityEvents renamed to unbindEvents in v3.");for(var e=arguments.length,n=Array(e),i=0;e>i;i++)n[i]=arguments[i];return t.unbindEvents.apply(t,[this].concat(n))}};e.extend(t.Object.prototype,r),e.extend(t.View.prototype,r),e.extend(t.CollectionView.prototype,r)}function s(){function n(){this.childEvents||this.options.childEvents?(t.deprecate("childEvents are deprecated. Use childViewEvents"),this.mergeOptions(this.options,["childEvents"]),this._childViewEvents=e.result(this,"childEvents")):this._childViewEvents=e.result(this,"childViewEvents"),this._childViewTriggers=e.result(this,"childViewTriggers")}e.extend(t.View.prototype,{_buildEventProxies:n}),e.extend(t.CollectionView.prototype,{_buildEventProxies:n})}function a(n,i,r,o){var s=t[o].prototype[n],a={};a[n]=function(){return this._nodep=!0,this[i].apply(this,arguments)},a[i]=function(){return this._nodep?this._nodep=!1:t.deprecate(r),s.apply(this,arguments)},e.extend(t[o].prototype,a)}function c(){a("_endBuffering","endBuffering","endBuffering is now private.","CollectionView"),a("_startBuffering","startBuffering","startBuffering is now private.","CollectionView"),a("_showCollection","showCollection","showCollection is now private.","CollectionView"),a("_showEmptyView","showEmptyView","showEmptyView is now private.","CollectionView"),a("_destroyEmptyView","destroyEmptyView","destroyEmptyView is now private.","CollectionView"),a("_checkEmpty","checkEmpty","checkEmpty is now private.","CollectionView"),a("_destroyChildren","destroyChildren","destroyChildren is now private.","CollectionView"),a("_proxyChildEvents","proxyChildEvents","proxyChildEvents is now private.","CollectionView"),a("_addChild","addChild","addChild is now private.","CollectionView");var e=t.CollectionView.prototype.constructor;t.CollectionView=t.CollectionView.extend({constructor:function(){i.Events.on.call(this,"render:children",function(){this.triggerMethod("render:collection",this)}),i.Events.on.call(this,"before:render:children",function(){this.triggerMethod("before:render:collection",this)}),i.Events.on.call(this,"destroy:children",function(){this.triggerMethod("destroy:collection",this)}),i.Events.on.call(this,"before:destroy:children",function(){this.triggerMethod("before:destroy:collection",this)}),e.apply(this,arguments)},initRenderBuffer:function(){t.deprecate("initRenderBuffer is now private."),this._bufferedChildren=[]}});var n=t.CompositeView.prototype.constructor;t.CompositeView=t.CompositeView.extend({constructor:function(){i.Events.on.call(this,"render:children",function(){this.triggerMethod("render:collection",this)}),i.Events.on.call(this,"before:render:children",function(){this.triggerMethod("before:render:collection",this)}),i.Events.on.call(this,"destroy:children",function(){this.triggerMethod("destroy:collection",this)}),i.Events.on.call(this,"before:destroy:children",function(){this.triggerMethod("before:destroy:collection",this)}),n.apply(this,arguments)}})}function h(){var n=t.CompositeView.prototype._renderTemplate;e.extend(t.CompositeView.prototype,{_renderTemplate:function(){this.triggerMethod("before:render:template"),n.apply(this,arguments),this.triggerMethod("render:template")}})}function d(){t.Controller=t.Object.extend({constructor:function(e){this.options=e||{};var n=Array.prototype.slice.call(arguments);n[0]=this.options,t.deprecate("Marionette.Controller is deprecated. Use Marionette.Object"),t.Object.prototype.constructor.apply(this,n)},destroy:function(){for(var e=arguments.length,t=Array(e),n=0;e>n;n++)t[n]=arguments[n];return this.triggerMethod.apply(this,["before:destroy"].concat(t)),this.triggerMethod.apply(this,["destroy"].concat(t)),this.stopListening(),this}})}function l(){var n={"render:collection":!0,"destroy:collection:":!0,"render:template":!0},r=function(e){t.deprecate(e+" event is deprecated.")},o=i.View.prototype.listenTo;i.View.prototype.listenTo=function(t,i){n[i]&&r(i),e.isObject(i)&&e.each(i,function(e,t){n[t]&&r(t)}),o.apply(this,arguments)};var s=i.View.prototype.on;i.View.prototype.on=function(t){n[t]&&r(t),e.isObject(t)&&e.each(t,function(e,t){n[t]&&r(t)}),s.apply(this,arguments)}}function u(){a("_getChildView","getChildView","getChildView is deprecated. Use childView instead.","CollectionView"),a("_getEmptyView","getEmptyView","getEmptyView is deprecated. Use emptyView instead.","CollectionView")}function p(){t.ItemView=t.View.extend({constructor:function(){t.deprecate("Marionette.ItemView is deprecated. Use Marionette.View"),t.View.prototype.constructor.apply(this,arguments)}})}function g(){t.LayoutView=t.View.extend({constructor:function(){t.deprecate("Marionette.LayoutView is deprecated. Use Marionette.View"),t.View.prototype.constructor.apply(this,arguments)}})}function f(){var n=t.Application.prototype.constructor;t.Deferred=function(){return t.deprecate("Marionette.Deferred is deprecated and removed in v3."),i.$.Deferred.apply(this,arguments)},t.Application=t.Application.extend({constructor:function(){this._initCallbacks=new t.Callbacks,this.submodules={},n.apply(this,arguments)},addInitializer:function(e){t.deprecate("Application Initializers are deprecated and removed in v3."),this._initCallbacks.add(e)},start:function(e){this.triggerMethod("before:start",e),this._initCallbacks.run(e,this),this.triggerMethod("start",e)},module:function(n,i){var r=t.Module.getClass(i),o=e.toArray(arguments);return o.unshift(this),r.create.apply(r,o)}}),t.Callbacks=function(){this._deferred=t.Deferred(),this._callbacks=[]},e.extend(t.Callbacks.prototype,{add:function(t,n){var i=e.result(this._deferred,"promise");this._callbacks.push({cb:t,ctx:n}),i.then(function(e){n&&(e.context=n),t.call(e.context,e.options)})},run:function(e,t){this._deferred.resolve({options:e,context:t})},reset:function(){var n=this._callbacks;this._deferred=t.Deferred(),this._callbacks=[],e.each(n,function(e){this.add(e.cb,e.ctx)},this)}}),t.Module=function(n,i,r){t.deprecate("Marionette.module is deprecated and removed in v3."),this.moduleName=n,this.options=e.extend({},this.options,r),this.initialize=r.initialize||this.initialize,this.submodules={},this._setupInitializersAndFinalizers(),this.app=i,e.isFunction(this.initialize)&&this.initialize(n,i,this.options)},t.Module.extend=t.extend,e.extend(t.Module.prototype,i.Events,{startWithParent:!0,initialize:function(){},addInitializer:function(e){this._initializerCallbacks.add(e)},addFinalizer:function(e){this._finalizerCallbacks.add(e)},start:function(t){this._isInitialized||(e.each(this.submodules,function(e){e.startWithParent&&e.start(t)}),this.triggerMethod("before:start",t),this._initializerCallbacks.run(t,this),this._isInitialized=!0,this.triggerMethod("start",t))},stop:function(){this._isInitialized&&(this._isInitialized=!1,this.triggerMethod("before:stop"),e.invoke(this.submodules,"stop"),this._finalizerCallbacks.run(void 0,this),this._initializerCallbacks.reset(),this._finalizerCallbacks.reset(),this.triggerMethod("stop"))},addDefinition:function(e,t){this._runModuleDefinition(e,t)},_runModuleDefinition:function(n,r){if(n){var o=e.flatten([this,this.app,i,t,i.$,e,r]);n.apply(this,o)}},_setupInitializersAndFinalizers:function(){this._initializerCallbacks=new t.Callbacks,this._finalizerCallbacks=new t.Callbacks},triggerMethod:function(){for(var e=arguments.length,n=Array(e),i=0;e>i;i++)n[i]=arguments[i];return t.triggerMethod.apply(this,[this].concat(n))}}),e.extend(t.Module,{create:function(t,n,i){var r=t,o=e.drop(arguments,3);n=n.split(".");var s=n.length,a=[];return a[s-1]=i,e.each(n,function(e,n){var s=r;r=this._getModule(s,e,t,i),this._addModuleDefinition(s,r,a[n],o)},this),r},_getModule:function(t,n,i,r,o){var s=e.extend({},r),a=this.getClass(r),c=t[n];return c||(c=new a(n,i,s),t[n]=c,t.submodules[n]=c),c},getClass:function(e){var n=t.Module;return e?e.prototype instanceof n?e:e.moduleClass||n:n},_addModuleDefinition:function(e,t,n,i){var r=this._getDefine(n),o=this._getStartWithParent(n,t);r&&t.addDefinition(r,i),this._addStartWithParent(e,t,o)},_getStartWithParent:function(n,i){var r;return e.isFunction(n)&&n.prototype instanceof t.Module?(r=i.constructor.prototype.startWithParent,e.isUndefined(r)?!0:r):e.isObject(n)?(r=n.startWithParent,e.isUndefined(r)?!0:r):!0},_getDefine:function(n){return!e.isFunction(n)||n.prototype instanceof t.Module?e.isObject(n)?n.define:null:n},_addStartWithParent:function(e,t,n){t.startWithParent=t.startWithParent&&n,t.startWithParent&&!t.startWithParentIsConfigured&&(t.startWithParentIsConfigured=!0,e.addInitializer(function(e){t.startWithParent&&t.start(e)}))}})}function v(){var n=function(e,t){return e.replace(/@ui\.[a-zA-Z-_$0-9]*/g,function(e){return t[e.slice(4)]})};t.normalizeUIString=function(e,i){return t.deprecate("normalizeUIString was removed in v3."),n.apply(this,arguments)};var i=function(t,i){return e.reduce(t,function(e,t,r){var o=n(r,i);return e[o]=t,e},{})};t.normalizeUIKeys=function(e,n){return t.deprecate("normalizeUIKeys was removed in v3."),i.apply(this,arguments)};var r=function o(t,i,r){return e.each(t,function(s,a){e.isString(s)?t[a]=n(s,i):e.isObject(s)&&e.isArray(r)&&(e.extend(s,o(e.pick(s,r),i)),e.each(r,function(t){var r=s[t];e.isString(r)&&(s[t]=n(r,i))}))}),t};t.normalizeUIValues=function(e,n,i){return t.deprecate("normalizeUIValues was removed in v3."),r.apply(this,arguments)}}function m(){t.proxyGetOption=function(e){return t.deprecate("proxyGetOption has been deprecated and removed in v3."),t.getOption(this,e)},t.proxyBindEntityEvents=function(e,n){return t.deprecate("proxyBindEntityEvents has been deprecated and removed in v3."),t.bindEvents(this,e,n)},t.proxyUnbindEntityEvents=function(e,n){return t.deprecate("proxyUnbindEntityEvents has been deprecated and removed in v3."),t.unbindEvents(this,e,n)}}function y(){var e=t.Region.prototype.show;t.Region=t.Region.extend({attachView:function(e){return t.deprecate("Region#attachView was removed in v3. Use Region#show without fear of re-rendering."),this.currentView&&delete this.currentView._parent,e._parent=this,this.currentView=e,this},show:function(t,n){if(this._ensureElement(n)){if(this._ensureView(t),t===this.currentView)return this;var i=!!this.currentView;return i&&(this.triggerMethod("before:swapOut",this.currentView,this,n),this.triggerMethod("before:swap",t,this,n),this.triggerMethod("swapOut",this.currentView,this,n)),e.apply(this,arguments),i&&this.triggerMethod("swap",t,this,n),this}}})}function w(){t.RegionManager=t.Object.extend({constructor:function(e){this._regions={},this.length=0,t.Object.call(this,e),this.addRegions(this.getOption("regions"))},addRegions:function(n,i){return n=t._getValue(n,this,arguments),e.isEmpty(n)||t.deprecate("RegionManager is deprecated and removed in v3."),e.reduce(n,function(t,n,r){return e.isString(n)&&(n={selector:n}),n.selector&&(n=e.defaults({},n,i)),t[r]=this.addRegion(r,n),t},{},this)},addRegion:function(e,n){var i;return i=n instanceof t.Region?n:t.Region.buildRegion(n,t.Region),this.triggerMethod("before:add:region",e,i),i._parent=this,this._store(e,i),this.triggerMethod("add:region",e,i),i},get:function(e){return this._regions[e]},getRegions:function(){return e.clone(this._regions)},removeRegion:function(e){var t=this._regions[e];return this._remove(e,t),t},removeRegions:function(){var t=this.getRegions();return e.each(this._regions,function(e,t){this._remove(t,e)},this),t},emptyRegions:function(){var t=this.getRegions();return e.invoke(t,"empty"),t},destroy:function(){return this.removeRegions(),t.Object.prototype.destroy.apply(this,arguments)},_store:function(e,t){this._regions[e]||this.length++,this._regions[e]=t},_remove:function(e,t){this.triggerMethod("before:remove:region",e,t),t.empty(),t.stopListening(),delete t._parent,delete this._regions[e],this.length--,this.triggerMethod("remove:region",e,t)}});var n=function(t,n){var i=["forEach","each","map","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","toArray","first","initial","rest","last","without","isEmpty","pluck"];e.each(i,function(i){t[i]=function(){var t=e.values(e.result(this,n)),r=[t].concat(e.toArray(arguments));return e[i].apply(e,r)}})};t.actAsCollection=function(e,i){return t.deprecate("actAsCollection is deprecated and removed in v3."),n.apply(this,arguments)},n(t.RegionManager.prototype,"_regions")}function _(){function n(){t.deprecate("Show events are no longer triggered on the View. User render or attach.")}function r(e,n){e&&e.each(function(e){e._isShown||t.triggerMethodOn(e,n,e),"show"===n&&(e._isShown=!0)})}function o(e,t,n){return n.toUpperCase()}var s=t.Region.prototype.triggerMethod;t.Region.prototype.triggerMethod=function(e,n,i,o){var a;return"before:show"===e||"show"===e?(a=s.call(this,e,i,n,o),i._isShown||t.triggerMethodOn(i,e,i,n,o),"show"===e?(i._isShown=!0,r(i.children,e)):i.once("render",function(){r(i.children,e)})):a=s.apply(this,arguments),a};var a=t.CollectionView.prototype._addChildView;t.CollectionView.prototype._addChildView=function(e){e.once("render",function(){this._isShown&&!this._isBuffering&&t.triggerMethodOn(e,"before:show",e)},this),a.apply(this,arguments),this._isShown&&!this._isBuffering&&(e._isShown||t.triggerMethodOn(e,"show",e),e._isShown=!0)};var c=/(^|:)(\w)/gi,h=i.Events.trigger;i.Events.trigger=function(r){var s=this.prototype instanceof i.View||this===i.View,a=this.prototype instanceof t.Region||this===t.Region;if(s||a){var d="on"+r.replace(c,o),l=this.options&&this.options[d]||this[d];if(e.isFunction(l)&&(s?n():l.length>1&&t.deprecate("Region show events in v3 pass the region and the 1st argument and the view as the 2nd")),!this._events)return this;"before:show"!==r&&"show"!==r||!this._events[r]||(s?n():this._events[r].length>1&&t.deprecate("Region show events in v3 pass the region and the 1st argument and the view as the 2nd"))}return h.apply(this,arguments)}}function b(){function n(){t.deprecate("Regions attached to the Application are deprecated. Application now only has a single region.")}var i=t.Application.prototype.constructor;t.Application=t.Application.extend({constructor:function(e){this._initializeRegions(e),i.apply(this,arguments)},addRegions:function(e){return this._regionManager.addRegions(e)},emptyRegions:function(){return this._regionManager.emptyRegions()},removeRegion:function(e){return this._regionManager.removeRegion(e)},getRegion:function(e){return arguments.length?(n(),this._regionManager.get(e)):this._region},getRegions:function(){return this._regionManager.getRegions()},getRegionManager:function(){return new t.RegionManager},_initializeRegions:function(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],i=e.isFunction(this.regions)?this.regions(t):this.regions||{},r=t.options&&t.options.regions||t.regions;return e.isFunction(r)&&(r=r.call(this,t)),e.extend(i,r),this._initRegionManager(),e.isEmpty(i)||(n(),this.addRegions(i)),this},_initRegionManager:function(){this._regionManager=this.getRegionManager(),this._regionManager._parent=this,this.listenTo(this._regionManager,"before:add:region",function(e,t){this.triggerMethod("before:add:region",e,t)}),this.listenTo(this._regionManager,"add:region",function(e,t){this[e]=t,this.triggerMethod("add:region",e,t)}),this.listenTo(this._regionManager,"before:remove:region",function(e,t){this.triggerMethod("before:remove:region",e,t)}),this.listenTo(this._regionManager,"remove:region",function(e,t){delete this[e],this.triggerMethod("remove:region",e,t)})}})}function V(){function n(){t.deprecate("Regions attached to the view are deprecated. Use View#getRegion or View#showChildView")}function r(t,i,r){var o=r.show,s=r.empty,a=r.reset,c=r.on,h=e.extend({},r,{on:function(){n(),c.apply(this,arguments)},show:function(){n(),o.apply(this,arguments)},empty:function(){n(),s.apply(this,arguments)},reset:function(){n(),a.apply(this,arguments)},__deprecatedRegion:!0});t[i]=h}function o(e,t,n){delete e[t]}var s=i.View.prototype.listenTo;i.View.prototype.listenTo=function(e){e.__deprecatedRegion&&n(),s.apply(this,arguments)};var a=t.View.prototype._initRegions;e.extend(t.View.prototype,{_initRegions:function(){this.regionClass=t.Region,this.on({"add:region":r,"remove:region":o}),a.apply(this,arguments)}})}function E(){e.extend(t.Region,{buildRegion:function(n,i){if(t.deprecate("Region Static Options are deprecated and removed in v3."),e.isString(n))return this._buildRegionFromSelector(n,i);if(n.selector||n.el||n.regionClass)return this._buildRegionFromObject(n,i);if(e.isFunction(n))return this._buildRegionFromRegionClass(n);throw new t.Error({message:"Improper region configuration type.",url:"marionette.region.html#region-configuration-types"})},_buildRegionFromSelector:function(e,t){return new t({el:e})},_buildRegionFromObject:function(t,n){var i=t.regionClass||n,r=e.omit(t,"selector","regionClass");return t.selector&&!r.el&&(r.el=t.selector),new i(r)},_buildRegionFromRegionClass:function(e){return new e}})}function C(){function n(){var n=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];if(this.templateHelpers||this.options.templateHelpers){t.deprecate("templateHelpers are deprecated. Use templateContext"),this.mergeOptions(this.options,["templateHelpers"]);var i=e.result(this,"templateHelpers");return e.extend(n,i)}var r=e.result(this,"templateContext");return e.extend(n,r)}function i(){t.deprecate("mixinTemplateHelpers was renamed mixinTemplateContext in v3."),n.apply(this,arguments)}e.extend(t.View.prototype,{mixinTemplateContext:n,mixinTemplateHelpers:i}),e.extend(t.CompositeView.prototype,{mixinTemplateContext:n,mixinTemplateHelpers:i})}function M(){function n(e,t,n){return n.toUpperCase()}function i(i){for(var r=arguments.length,a=Array(r>1?r-1:0),c=1;r>c;c++)a[c-1]=arguments[c];var h=this._parentView();if(h){a=a||[];var d=e.result(h,"childViewEventPrefix"),l=d+":"+i,u="on"+l.replace(o,n),p=h.options&&h.options[u]||h[u];return((e.isFunction(p)&&p.length)===a.length+1||(h._events&&h._events[l]&&h._events[l].length)===a.length+1)&&(a=[this].concat(a),t.deprecate("The triggering view is no longer prepended on to the arguments of proxied child events.")),s.apply(this,[i].concat(a))}}function r(t){var n=this.getOption("childViewEventPrefix");this.listenTo(t,"all",function(){var i=e.toArray(arguments),r=i[0],o=this.normalizeMethods(this._childViewEvents);"undefined"!=typeof o&&e.isFunction(o[r])&&o[r].apply(this,[t].concat(e.rest(i)));var s=this._childViewTriggers;s&&e.isString(s[r])&&this.triggerMethod.apply(this,[s[r]].concat(i)),i[0]=n+":"+r,i.splice(1,0,t),this.triggerMethod.apply(this,i)})}var o=/(^|:)(\w)/gi,s=t.View.prototype._triggerEventOnParentLayout;e.extend(t.View.prototype,{_triggerEventOnParentLayout:i}),e.extend(t.CompositeView.prototype,{_triggerEventOnParentLayout:i}),e.extend(t.CollectionView.prototype,{_proxyChildEvents:r})}function x(){var n=t.View.prototype.constructor;t.View=t.View.extend({constructor:function(i){var r=Array.prototype.slice.call(arguments);e.isFunction(i)&&(t.deprecate("Marionette.View options is no longer supported as a function. Please use an object instead."),i=i(),r[0]=i),n.apply(this,r)}})}function R(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],n=e.extend({ApplicationWreqr:r,bindEntityEvents:o,childEvents:s,CollectionView:c,CompositeView:h,Controller:d,deprecatedEvents:l,getChildView:u,ItemView:p,LayoutView:g,Module:f,normalizeUi:v,proxyFunctions:m,Region:y,RegionManager:w,RegionShowEvent:_,regionsOnApplication:b,regionsOnView:V,RegionStaticMethods:E,templateHelpers:C,triggerProxy:M,viewOptions:x},t);e.mapObject(n,function(t){e.isFunction(t)&&t()})}return e="default"in e?e["default"]:e,t="default"in t?t["default"]:t,n="default"in n?n["default"]:n,i="default"in i?i["default"]:i,t.DEV_MODE=!0,t&&"3"===t.VERSION.charAt(0)||alert("marionette-v3-compat patches Marionette v3 to act like v2. Marionette v3 not found."),t.VERSION="marionette-v3-compat",t.deprecate._warn=function(){var e=t.deprecate._console.warn||t.deprecate._console.log||function(){};return console.trace(),e.apply(t.deprecate._console,arguments)},t._getValue=function(t,n,i){return e.isFunction(t)&&(t=i?t.apply(n,i):t.call(n)),t},R}); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("underscore"),require("backbone.marionette"),require("backbone.radio"),require("backbone")):"function"==typeof define&&define.amd?define(["underscore","backbone.marionette","backbone.radio","backbone"],t):e.mnV3Compat=t(e._,e.Marionette,e.Radio,e.Backbone)}(this,function(e,t,n,i){"use strict";function r(){function i(){t.deprecate("Global channels are deprecated. Create your own Radio channels.")}var r=t.Application.prototype.constructor;t.Application=t.Application.extend({constructor:function(){this._initV2Channel(),r.apply(this,arguments)},execute:function(){this.commands.execute.apply(this.commands,arguments)},request:function(){return this.reqres.request.apply(this.reqres,arguments)},_initV2Channel:function(){this.channelName=e.result(this,"channelName")||"global",this.channel=e.result(this,"channel")||n.channel(this.channelName),this.channel.__deprecateChannel=!0,this.vent=this.channel,this.reqres=this.channel,this.commands=this.channel;var r=this.channel.on;this.channel.on=function(){return i(),r.apply(this,arguments)};var o=this.channel.request;this.channel.request=function(){return i(),o.apply(this,arguments)},this.channel.execute=function(){return i(),t.deprecate("Channel commands are deprecated. Use requests."),o.apply(this,arguments)};var s=t.Object.listenTo;t.Object.listenTo=function(e){e.__deprecateChannel&&i(),s.apply(this,arguments)}}})}function o(){var n=t.bindEvents,i=t.unbindEvents;t.bindEvents=function(i,r,o){return e.isFunction(o)&&(t.deprecate("bindEvents no longer accepts bindings as a function in v3"),o=o.call(i)),n(i,r,o)},t.unbindEvents=function(n,r,o){return e.isFunction(o)&&(t.deprecate("unbindEvents no longer accepts bindings as a function in v3"),o=o.call(n)),i(n,r,o)},t.bindEntityEvents=function(e,n,i){return t.deprecate("bindEntityEvents has been renamed to bindEvents in v3."),t.bindEvents(e,n,i)},t.unbindEntityEvents=function(e,n,i){return t.deprecate("unbindEntityEvents renamed to unbindEvents in v3."),t.unbindEvents(e,n,i)};var r={bindEntityEvents:function(){t.deprecate("bindEntityEvents has been renamed to bindEvents in v3.");for(var e=arguments.length,n=Array(e),i=0;e>i;i++)n[i]=arguments[i];return t.bindEvents.apply(t,[this].concat(n))},unbindEntityEvents:function(){t.deprecate("unbindEntityEvents renamed to unbindEvents in v3.");for(var e=arguments.length,n=Array(e),i=0;e>i;i++)n[i]=arguments[i];return t.unbindEvents.apply(t,[this].concat(n))}};e.extend(t.Object.prototype,r),e.extend(t.View.prototype,r),e.extend(t.CollectionView.prototype,r)}function s(){function n(){this.childEvents||this.options.childEvents?(t.deprecate("childEvents are deprecated. Use childViewEvents"),this.mergeOptions(this.options,["childEvents"]),this._childViewEvents=e.result(this,"childEvents")):this._childViewEvents=e.result(this,"childViewEvents"),this._childViewTriggers=e.result(this,"childViewTriggers")}e.extend(t.View.prototype,{_buildEventProxies:n}),e.extend(t.CollectionView.prototype,{_buildEventProxies:n})}function a(n,i,r,o){var s=t[o].prototype[n],a={};a[n]=function(){return this._nodep=!0,this[i].apply(this,arguments)},a[i]=function(){return this._nodep?this._nodep=!1:t.deprecate(r),s.apply(this,arguments)},e.extend(t[o].prototype,a)}function c(){a("_endBuffering","endBuffering","endBuffering is now private.","CollectionView"),a("_startBuffering","startBuffering","startBuffering is now private.","CollectionView"),a("_showCollection","showCollection","showCollection is now private.","CollectionView"),a("_showEmptyView","showEmptyView","showEmptyView is now private.","CollectionView"),a("_destroyEmptyView","destroyEmptyView","destroyEmptyView is now private.","CollectionView"),a("_checkEmpty","checkEmpty","checkEmpty is now private.","CollectionView"),a("_destroyChildren","destroyChildren","destroyChildren is now private.","CollectionView"),a("_proxyChildEvents","proxyChildEvents","proxyChildEvents is now private.","CollectionView"),a("_addChild","addChild","addChild is now private.","CollectionView");var e=t.CollectionView.prototype.constructor;t.CollectionView=t.CollectionView.extend({constructor:function(){i.Events.on.call(this,"render:children",function(){this.triggerMethod("render:collection",this)}),i.Events.on.call(this,"before:render:children",function(){this.triggerMethod("before:render:collection",this)}),i.Events.on.call(this,"destroy:children",function(){this.triggerMethod("destroy:collection",this)}),i.Events.on.call(this,"before:destroy:children",function(){this.triggerMethod("before:destroy:collection",this)}),e.apply(this,arguments)},initRenderBuffer:function(){t.deprecate("initRenderBuffer is now private."),this._bufferedChildren=[]}});var n=t.CompositeView.prototype.constructor;t.CompositeView=t.CompositeView.extend({constructor:function(){i.Events.on.call(this,"render:children",function(){this.triggerMethod("render:collection",this)}),i.Events.on.call(this,"before:render:children",function(){this.triggerMethod("before:render:collection",this)}),i.Events.on.call(this,"destroy:children",function(){this.triggerMethod("destroy:collection",this)}),i.Events.on.call(this,"before:destroy:children",function(){this.triggerMethod("before:destroy:collection",this)}),n.apply(this,arguments)}})}function h(){var n=t.CompositeView.prototype._renderTemplate;e.extend(t.CompositeView.prototype,{_renderTemplate:function(){this.triggerMethod("before:render:template"),n.apply(this,arguments),this.triggerMethod("render:template")}})}function d(){t.Controller=t.Object.extend({constructor:function(e){this.options=e||{};var n=Array.prototype.slice.call(arguments);n[0]=this.options,t.deprecate("Marionette.Controller is deprecated. Use Marionette.Object"),t.Object.prototype.constructor.apply(this,n)},destroy:function(){for(var e=arguments.length,t=Array(e),n=0;e>n;n++)t[n]=arguments[n];return this.triggerMethod.apply(this,["before:destroy"].concat(t)),this.triggerMethod.apply(this,["destroy"].concat(t)),this.stopListening(),this}})}function l(){var n={"render:collection":!0,"destroy:collection:":!0,"render:template":!0},r=function(e){t.deprecate(e+" event is deprecated.")},o=i.View.prototype.listenTo;i.View.prototype.listenTo=function(t,i){n[i]&&r(i),e.isObject(i)&&e.each(i,function(e,t){n[t]&&r(t)}),o.apply(this,arguments)};var s=i.View.prototype.on;i.View.prototype.on=function(t){n[t]&&r(t),e.isObject(t)&&e.each(t,function(e,t){n[t]&&r(t)}),s.apply(this,arguments)}}function u(){a("_getChildView","getChildView","getChildView is deprecated. Use childView instead.","CollectionView"),a("_getEmptyView","getEmptyView","getEmptyView is deprecated. Use emptyView instead.","CollectionView")}function p(){t.ItemView=t.View.extend({constructor:function(){t.deprecate("Marionette.ItemView is deprecated. Use Marionette.View"),t.View.prototype.constructor.apply(this,arguments)}})}function g(){t.LayoutView=t.View.extend({constructor:function(){t.deprecate("Marionette.LayoutView is deprecated. Use Marionette.View"),t.View.prototype.constructor.apply(this,arguments)}})}function f(){var n=t.Application.prototype.constructor;t.Deferred=function(){return t.deprecate("Marionette.Deferred is deprecated and removed in v3."),i.$.Deferred.apply(this,arguments)},t.Application=t.Application.extend({constructor:function(){this._initCallbacks=new t.Callbacks,this.submodules={},n.apply(this,arguments)},addInitializer:function(e){t.deprecate("Application Initializers are deprecated and removed in v3."),this._initCallbacks.add(e)},start:function(e){this.triggerMethod("before:start",e),this._initCallbacks.run(e,this),this.triggerMethod("start",e)},module:function(n,i){var r=t.Module.getClass(i),o=e.toArray(arguments);return o.unshift(this),r.create.apply(r,o)}}),t.Callbacks=function(){this._deferred=t.Deferred(),this._callbacks=[]},e.extend(t.Callbacks.prototype,{add:function(t,n){var i=e.result(this._deferred,"promise");this._callbacks.push({cb:t,ctx:n}),i.then(function(e){n&&(e.context=n),t.call(e.context,e.options)})},run:function(e,t){this._deferred.resolve({options:e,context:t})},reset:function(){var n=this._callbacks;this._deferred=t.Deferred(),this._callbacks=[],e.each(n,function(e){this.add(e.cb,e.ctx)},this)}}),t.Module=function(n,i,r){t.deprecate("Marionette.module is deprecated and removed in v3."),this.moduleName=n,this.options=e.extend({},this.options,r),this.initialize=r.initialize||this.initialize,this.submodules={},this._setupInitializersAndFinalizers(),this.app=i,e.isFunction(this.initialize)&&this.initialize(n,i,this.options)},t.Module.extend=t.extend,e.extend(t.Module.prototype,i.Events,{startWithParent:!0,initialize:function(){},addInitializer:function(e){this._initializerCallbacks.add(e)},addFinalizer:function(e){this._finalizerCallbacks.add(e)},start:function(t){this._isInitialized||(e.each(this.submodules,function(e){e.startWithParent&&e.start(t)}),this.triggerMethod("before:start",t),this._initializerCallbacks.run(t,this),this._isInitialized=!0,this.triggerMethod("start",t))},stop:function(){this._isInitialized&&(this._isInitialized=!1,this.triggerMethod("before:stop"),e.invoke(this.submodules,"stop"),this._finalizerCallbacks.run(void 0,this),this._initializerCallbacks.reset(),this._finalizerCallbacks.reset(),this.triggerMethod("stop"))},addDefinition:function(e,t){this._runModuleDefinition(e,t)},_runModuleDefinition:function(n,r){if(n){var o=e.flatten([this,this.app,i,t,i.$,e,r]);n.apply(this,o)}},_setupInitializersAndFinalizers:function(){this._initializerCallbacks=new t.Callbacks,this._finalizerCallbacks=new t.Callbacks},triggerMethod:function(){for(var e=arguments.length,n=Array(e),i=0;e>i;i++)n[i]=arguments[i];return t.triggerMethod.apply(this,[this].concat(n))}}),e.extend(t.Module,{create:function(t,n,i){var r=t,o=e.drop(arguments,3);n=n.split(".");var s=n.length,a=[];return a[s-1]=i,e.each(n,function(e,n){var s=r;r=this._getModule(s,e,t,i),this._addModuleDefinition(s,r,a[n],o)},this),r},_getModule:function(t,n,i,r,o){var s=e.extend({},r),a=this.getClass(r),c=t[n];return c||(c=new a(n,i,s),t[n]=c,t.submodules[n]=c),c},getClass:function(e){var n=t.Module;return e?e.prototype instanceof n?e:e.moduleClass||n:n},_addModuleDefinition:function(e,t,n,i){var r=this._getDefine(n),o=this._getStartWithParent(n,t);r&&t.addDefinition(r,i),this._addStartWithParent(e,t,o)},_getStartWithParent:function(n,i){var r;return e.isFunction(n)&&n.prototype instanceof t.Module?(r=i.constructor.prototype.startWithParent,e.isUndefined(r)?!0:r):e.isObject(n)?(r=n.startWithParent,e.isUndefined(r)?!0:r):!0},_getDefine:function(n){return!e.isFunction(n)||n.prototype instanceof t.Module?e.isObject(n)?n.define:null:n},_addStartWithParent:function(e,t,n){t.startWithParent=t.startWithParent&&n,t.startWithParent&&!t.startWithParentIsConfigured&&(t.startWithParentIsConfigured=!0,e.addInitializer(function(e){t.startWithParent&&t.start(e)}))}})}function v(){var n=function(e,t){return e.replace(/@ui\.[a-zA-Z-_$0-9]*/g,function(e){return t[e.slice(4)]})};t.normalizeUIString=function(e,i){return t.deprecate("normalizeUIString was removed in v3."),n.apply(this,arguments)};var i=function(t,i){return e.reduce(t,function(e,t,r){var o=n(r,i);return e[o]=t,e},{})};t.normalizeUIKeys=function(e,n){return t.deprecate("normalizeUIKeys was removed in v3."),i.apply(this,arguments)};var r=function o(t,i,r){return e.each(t,function(s,a){e.isString(s)?t[a]=n(s,i):e.isObject(s)&&e.isArray(r)&&(e.extend(s,o(e.pick(s,r),i)),e.each(r,function(t){var r=s[t];e.isString(r)&&(s[t]=n(r,i))}))}),t};t.normalizeUIValues=function(e,n,i){return t.deprecate("normalizeUIValues was removed in v3."),r.apply(this,arguments)}}function m(){t.proxyGetOption=function(e){return t.deprecate("proxyGetOption has been deprecated and removed in v3."),t.getOption(this,e)},t.proxyBindEntityEvents=function(e,n){return t.deprecate("proxyBindEntityEvents has been deprecated and removed in v3."),t.bindEvents(this,e,n)},t.proxyUnbindEntityEvents=function(e,n){return t.deprecate("proxyUnbindEntityEvents has been deprecated and removed in v3."),t.unbindEvents(this,e,n)}}function y(){var e=t.Region.prototype.show;t.Region=t.Region.extend({attachView:function(e){return t.deprecate("Region#attachView was removed in v3. Use Region#show without fear of re-rendering."),this.currentView&&delete this.currentView._parent,e._parent=this,this.currentView=e,this},show:function(n,i){if(this._ensureElement(i)){if(this._ensureView(n),n===this.currentView)return this;n._isRendered&&(n.render(),t.deprecate("Rendered views shown in a Region are not re-rendered in v3."));var r=!!this.currentView;return r&&(this.triggerMethod("before:swapOut",this.currentView,this,i),this.triggerMethod("before:swap",n,this,i),this.triggerMethod("swapOut",this.currentView,this,i)),e.apply(this,arguments),r&&this.triggerMethod("swap",n,this,i),this}}})}function w(){t.RegionManager=t.Object.extend({constructor:function(e){this._regions={},this.length=0,t.Object.call(this,e),this.addRegions(this.getOption("regions"))},addRegions:function(n,i){return n=t._getValue(n,this,arguments),e.isEmpty(n)||t.deprecate("RegionManager is deprecated and removed in v3."),e.reduce(n,function(t,n,r){return e.isString(n)&&(n={selector:n}),n.selector&&(n=e.defaults({},n,i)),t[r]=this.addRegion(r,n),t},{},this)},addRegion:function(e,n){var i;return i=n instanceof t.Region?n:t.Region.buildRegion(n,t.Region),this.triggerMethod("before:add:region",e,i),i._parent=this,this._store(e,i),this.triggerMethod("add:region",e,i),i},get:function(e){return this._regions[e]},getRegions:function(){return e.clone(this._regions)},removeRegion:function(e){var t=this._regions[e];return this._remove(e,t),t},removeRegions:function(){var t=this.getRegions();return e.each(this._regions,function(e,t){this._remove(t,e)},this),t},emptyRegions:function(){var t=this.getRegions();return e.invoke(t,"empty"),t},destroy:function(){return this.removeRegions(),t.Object.prototype.destroy.apply(this,arguments)},_store:function(e,t){this._regions[e]||this.length++,this._regions[e]=t},_remove:function(e,t){this.triggerMethod("before:remove:region",e,t),t.empty(),t.stopListening(),delete t._parent,delete this._regions[e],this.length--,this.triggerMethod("remove:region",e,t)}});var n=function(t,n){var i=["forEach","each","map","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","toArray","first","initial","rest","last","without","isEmpty","pluck"];e.each(i,function(i){t[i]=function(){var t=e.values(e.result(this,n)),r=[t].concat(e.toArray(arguments));return e[i].apply(e,r)}})};t.actAsCollection=function(e,i){return t.deprecate("actAsCollection is deprecated and removed in v3."),n.apply(this,arguments)},n(t.RegionManager.prototype,"_regions")}function _(){function n(){t.deprecate("Show events are no longer triggered on the View. User render or attach.")}function r(e,n){e&&e.each(function(e){e._isShown||t.triggerMethodOn(e,n,e),"show"===n&&(e._isShown=!0)})}function o(e,t,n){return n.toUpperCase()}var s=t.Region.prototype.triggerMethod;t.Region.prototype.triggerMethod=function(e,n,i,o){var a;return"before:show"===e?(a=s.call(this,"before:show",i,n,o),i._isShown||i.once("render",function(){t.triggerMethodOn(i,"before:show",i,n,o)}),i.once("render",function(){r(i.children,e)})):"show"===e?(a=s.call(this,"show",i,n,o),i._isShown||t.triggerMethodOn(i,"show",i,n,o),i._isShown=!0,r(i.children,e)):a=s.apply(this,arguments),a};var a=t.CollectionView.prototype._addChildView;t.CollectionView.prototype._addChildView=function(e){e.once("render",function(){this._isShown&&!this._isBuffering&&t.triggerMethodOn(e,"before:show",e)},this),a.apply(this,arguments),this._isShown&&!this._isBuffering&&(e._isShown||t.triggerMethodOn(e,"show",e),e._isShown=!0)};var c=/(^|:)(\w)/gi,h=i.Events.trigger;i.Events.trigger=function(r){var s=this.prototype instanceof i.View||this===i.View,a=this.prototype instanceof t.Region||this===t.Region;if(s||a){var d="on"+r.replace(c,o),l=this.options&&this.options[d]||this[d];if(e.isFunction(l)&&(s?n():l.length>1&&t.deprecate("Region show events in v3 pass the region and the 1st argument and the view as the 2nd")),!this._events)return this;"before:show"!==r&&"show"!==r||!this._events[r]||(s?n():this._events[r].length>1&&t.deprecate("Region show events in v3 pass the region and the 1st argument and the view as the 2nd"))}return h.apply(this,arguments)}}function b(){function n(){t.deprecate("Regions attached to the Application are deprecated. Application now only has a single region.")}var i=t.Application.prototype.constructor;t.Application=t.Application.extend({constructor:function(e){this._initializeRegions(e),i.apply(this,arguments)},addRegions:function(e){return this._regionManager.addRegions(e)},emptyRegions:function(){return this._regionManager.emptyRegions()},removeRegion:function(e){return this._regionManager.removeRegion(e)},getRegion:function(e){return arguments.length?(n(),this._regionManager.get(e)):this._region},getRegions:function(){return this._regionManager.getRegions()},getRegionManager:function(){return new t.RegionManager},_initializeRegions:function(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],i=e.isFunction(this.regions)?this.regions(t):this.regions||{},r=t.options&&t.options.regions||t.regions;return e.isFunction(r)&&(r=r.call(this,t)),e.extend(i,r),this._initRegionManager(),e.isEmpty(i)||(n(),this.addRegions(i)),this},_initRegionManager:function(){this._regionManager=this.getRegionManager(),this._regionManager._parent=this,this.listenTo(this._regionManager,"before:add:region",function(e,t){this.triggerMethod("before:add:region",e,t)}),this.listenTo(this._regionManager,"add:region",function(e,t){this[e]=t,this.triggerMethod("add:region",e,t)}),this.listenTo(this._regionManager,"before:remove:region",function(e,t){this.triggerMethod("before:remove:region",e,t)}),this.listenTo(this._regionManager,"remove:region",function(e,t){delete this[e],this.triggerMethod("remove:region",e,t)})}})}function V(){function n(){t.deprecate("Regions attached to the view are deprecated. Use View#getRegion or View#showChildView")}function r(t,i,r){var o=r.show,s=r.empty,a=r.reset,c=r.on,h=e.extend({},r,{on:function(){n(),c.apply(this,arguments)},show:function(){n(),o.apply(this,arguments)},empty:function(){n(),s.apply(this,arguments)},reset:function(){n(),a.apply(this,arguments)},__deprecatedRegion:!0});t[i]=h}function o(e,t,n){delete e[t]}var s=i.View.prototype.listenTo;i.View.prototype.listenTo=function(e){e.__deprecatedRegion&&n(),s.apply(this,arguments)};var a=t.View.prototype._initRegions;e.extend(t.View.prototype,{_initRegions:function(){this.regionClass=t.Region,this.on({"add:region":r,"remove:region":o}),a.apply(this,arguments)}})}function E(){e.extend(t.Region,{buildRegion:function(n,i){if(t.deprecate("Region Static Options are deprecated and removed in v3."),e.isString(n))return this._buildRegionFromSelector(n,i);if(n.selector||n.el||n.regionClass)return this._buildRegionFromObject(n,i);if(e.isFunction(n))return this._buildRegionFromRegionClass(n);throw new t.Error({message:"Improper region configuration type.",url:"marionette.region.html#region-configuration-types"})},_buildRegionFromSelector:function(e,t){return new t({el:e})},_buildRegionFromObject:function(t,n){var i=t.regionClass||n,r=e.omit(t,"selector","regionClass");return t.selector&&!r.el&&(r.el=t.selector),new i(r)},_buildRegionFromRegionClass:function(e){return new e}})}function C(){function n(){var n=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];if(this.templateHelpers||this.options.templateHelpers){t.deprecate("templateHelpers are deprecated. Use templateContext"),this.mergeOptions(this.options,["templateHelpers"]);var i=e.result(this,"templateHelpers");return e.extend(n,i)}var r=e.result(this,"templateContext");return e.extend(n,r)}function i(){t.deprecate("mixinTemplateHelpers was renamed mixinTemplateContext in v3."),n.apply(this,arguments)}e.extend(t.View.prototype,{mixinTemplateContext:n,mixinTemplateHelpers:i}),e.extend(t.CompositeView.prototype,{mixinTemplateContext:n,mixinTemplateHelpers:i})}function M(){function n(e,t,n){return n.toUpperCase()}function i(i){for(var r=arguments.length,a=Array(r>1?r-1:0),c=1;r>c;c++)a[c-1]=arguments[c];var h=this._parentView();if(h){a=a||[];var d=e.result(h,"childViewEventPrefix"),l=d+":"+i,u="on"+l.replace(o,n),p=h.options&&h.options[u]||h[u];return((e.isFunction(p)&&p.length)===a.length+1||(h._events&&h._events[l]&&h._events[l].length)===a.length+1)&&(a=[this].concat(a),t.deprecate("The triggering view is no longer prepended on to the arguments of proxied child events.")),s.apply(this,[i].concat(a))}}function r(t){var n=this.getOption("childViewEventPrefix");this.listenTo(t,"all",function(){var i=e.toArray(arguments),r=i[0],o=this.normalizeMethods(this._childViewEvents);"undefined"!=typeof o&&e.isFunction(o[r])&&o[r].apply(this,[t].concat(e.rest(i)));var s=this._childViewTriggers;s&&e.isString(s[r])&&this.triggerMethod.apply(this,[s[r]].concat(i)),i[0]=n+":"+r,i.splice(1,0,t),this.triggerMethod.apply(this,i)})}var o=/(^|:)(\w)/gi,s=t.View.prototype._triggerEventOnParentLayout;e.extend(t.View.prototype,{_triggerEventOnParentLayout:i}),e.extend(t.CompositeView.prototype,{_triggerEventOnParentLayout:i}),e.extend(t.CollectionView.prototype,{_proxyChildEvents:r})}function R(){var n=t.View.prototype.constructor;t.View=t.View.extend({constructor:function(i){var r=Array.prototype.slice.call(arguments);e.isFunction(i)&&(t.deprecate("Marionette.View options is no longer supported as a function. Please use an object instead."),i=i(),r[0]=i),n.apply(this,r)}})}function x(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],n=e.extend({ApplicationWreqr:r,bindEntityEvents:o,childEvents:s,CollectionView:c,CompositeView:h,Controller:d,deprecatedEvents:l,getChildView:u,ItemView:p,LayoutView:g,Module:f,normalizeUi:v,proxyFunctions:m,Region:y,RegionManager:w,RegionShowEvent:_,regionsOnApplication:b,regionsOnView:V,RegionStaticMethods:E,templateHelpers:C,triggerProxy:M,viewOptions:R},t);e.mapObject(n,function(t){e.isFunction(t)&&t()})}return e="default"in e?e["default"]:e,t="default"in t?t["default"]:t,n="default"in n?n["default"]:n,i="default"in i?i["default"]:i,t.DEV_MODE=!0,t&&"3"===t.VERSION.charAt(0)||alert("marionette-v3-compat patches Marionette v3 to act like v2. Marionette v3 not found."),t.VERSION="marionette-v3-compat",t.deprecate._warn=function(){var e=t.deprecate._console.warn||t.deprecate._console.log||function(){};return console.trace(),e.apply(t.deprecate._console,arguments)},t._getValue=function(t,n,i){return e.isFunction(t)&&(t=i?t.apply(n,i):t.call(n)),t},x}); //# sourceMappingURL=marionette-v3-compat.min.js.map diff --git a/lib/marionette-v3-compat.min.js.map b/lib/marionette-v3-compat.min.js.map index f56e653..9bcc845 100644 --- a/lib/marionette-v3-compat.min.js.map +++ b/lib/marionette-v3-compat.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["marionette-v3-compat.min.js","/source/src/ApplicationWreqr.js","/source/src/bindEntityEvents.js","/source/src/childEvents.js","/source/src/utils/restoreFunction.js","/source/src/CollectionView.js","/source/src/CompositeView.js","/source/src/Controller.js","/source/src/deprecatedEvents.js","/source/src/getChildView.js","/source/src/ItemView.js","/source/src/LayoutView.js","/source/src/Module.js","/source/src/normalizeUi.js","/source/src/proxyFunctions.js","/source/src/Region.js","/source/src/RegionManager.js","/source/src/RegionShowEvent.js","/source/src/regionsOnApplication.js","/source/src/regionsOnView.js","/source/src/RegionStaticMethods.js","/source/src/templateHelpers.js","/source/src/triggerProxy.js","/source/src/viewOptions.js","/source/src/marionette-v3-compat.js"],"names":["global","factory","exports","module","require","define","amd","mnV3Compat","_","Marionette","Radio","Backbone","this","ApplicationWreqr","dep","deprecate","originalConstructor","Application","prototype","constructor","extend","_initV2Channel","apply","arguments","execute","commands","request","reqres","channelName","result","channel","__deprecateChannel","vent","channelOn","on","channelRequest","listenTo","Object","obj","bindEntityEvents","originalBind","bindEvents","originalUnbind","unbindEvents","context","entity","bindings","isFunction","call","unbindEntityEvents","bindEventsMixin","_len","length","args","Array","_key","concat","_len2","_key2","View","CollectionView","childEvents","_buildEventProxies","options","mergeOptions","_childViewEvents","_childViewTriggers","restoreFunction","privateFunction","publicFunction","deprecation","ClassName","original","_nodep","Events","triggerMethod","initRenderBuffer","_bufferedChildren","originalConstructorComp","CompositeView","originalRenderTemp","_renderTemplate","Controller","slice","destroy","stopListening","deprecatedEvents","render:collection","destroy:collection:","render:template","name","isObject","each","value","key","getChildView","ItemView","LayoutView","Module","Deferred","$","_initCallbacks","Callbacks","submodules","addInitializer","initializer","add","start","run","moduleNames","moduleDefinition","ModuleClass","getClass","toArray","unshift","create","_deferred","_callbacks","callback","contextOverride","promise","push","cb","ctx","then","resolve","reset","callbacks","moduleName","app","initialize","_setupInitializersAndFinalizers","startWithParent","_initializerCallbacks","addFinalizer","_finalizerCallbacks","_isInitialized","mod","stop","invoke","undefined","addDefinition","customArgs","_runModuleDefinition","definition","flatten","drop","split","moduleDefinitions","i","parentModule","_getModule","_addModuleDefinition","def","moduleClass","fn","_getDefine","_getStartWithParent","_addStartWithParent","swp","isUndefined","startWithParentIsConfigured","normalizeUi","normalizeUIString","uiString","ui","replace","r","normalizeUIKeys","hash","reduce","memo","val","normalizedKey","normalizeUIValues","properties","isString","isArray","pick","property","propertyVal","proxyFunctions","proxyGetOption","optionName","getOption","proxyBindEntityEvents","proxyUnbindEntityEvents","Region","originalShow","show","attachView","view","currentView","_parent","_ensureElement","_ensureView","isChangingView","RegionManager","_regions","addRegions","regionDefinitions","defaults","_getValue","isEmpty","regions","selector","addRegion","region","buildRegion","_store","get","getRegions","clone","removeRegion","_remove","removeRegions","emptyRegions","empty","_actAsCollection","object","listProperty","methods","method","list","values","actAsCollection","RegionShowEvent","triggerOnChildren","children","v","_isShown","triggerMethodOn","getEventName","match","prefix","eventName","toUpperCase","regionTriggerMethod","once","_addChildView","_isBuffering","splitter","trigger","isView","isRegion","methodName","_events","regionsOnApplication","_initializeRegions","_regionManager","getRegion","_region","getRegionManager","optionRegions","_initRegionManager","regionsOnView","_addRegion","regionShow","regionEmpty","regionReset","regionOn","newRegion","__deprecatedRegion","_removeRegion","initRegions","_initRegions","regionClass","add:region","remove:region","RegionStaticMethods","regionConfig","DefaultRegionClass","_buildRegionFromSelector","el","_buildRegionFromObject","_buildRegionFromRegionClass","Error","message","url","RegionClass","omit","templateHelpers","mixinTemplateContext","target","templateContext","mixinTemplateHelpers","triggerProxy","_triggerEventOnParentLayout","layoutView","_parentView","eventPrefix","prefixedEventName","triggerParent","_proxyChildEvents","rootEvent","childViewEvents","normalizeMethods","rest","childViewTriggers","splice","viewOptions","marionetteV3Compat","opts","patches","mapObject","patch","DEV_MODE","VERSION","charAt","alert","_warn","warn","_console","log","console","trace","params"],"mappings":"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","file":"marionette-v3-compat.min.js","sourcesContent":["!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t(require(\"underscore\"),require(\"backbone.marionette\"),require(\"backbone.radio\"),require(\"backbone\")):\"function\"==typeof define&&define.amd?define([\"underscore\",\"backbone.marionette\",\"backbone.radio\",\"backbone\"],t):e.mnV3Compat=t(e._,e.Marionette,e.Radio,e.Backbone)}(this,function(e,t,n,i){\"use strict\";function r(){function i(){t.deprecate(\"Global channels are deprecated. Create your own Radio channels.\")}var r=t.Application.prototype.constructor;t.Application=t.Application.extend({constructor:function(){this._initV2Channel(),r.apply(this,arguments)},execute:function(){this.commands.execute.apply(this.commands,arguments)},request:function(){return this.reqres.request.apply(this.reqres,arguments)},_initV2Channel:function(){this.channelName=e.result(this,\"channelName\")||\"global\",this.channel=e.result(this,\"channel\")||n.channel(this.channelName),this.channel.__deprecateChannel=!0,this.vent=this.channel,this.reqres=this.channel,this.commands=this.channel;var r=this.channel.on;this.channel.on=function(){return i(),r.apply(this,arguments)};var o=this.channel.request;this.channel.request=function(){return i(),o.apply(this,arguments)},this.channel.execute=function(){return i(),t.deprecate(\"Channel commands are deprecated. Use requests.\"),o.apply(this,arguments)};var s=t.Object.listenTo;t.Object.listenTo=function(e){e.__deprecateChannel&&i(),s.apply(this,arguments)}}})}function o(){var n=t.bindEvents,i=t.unbindEvents;t.bindEvents=function(i,r,o){return e.isFunction(o)&&(t.deprecate(\"bindEvents no longer accepts bindings as a function in v3\"),o=o.call(i)),n(i,r,o)},t.unbindEvents=function(n,r,o){return e.isFunction(o)&&(t.deprecate(\"unbindEvents no longer accepts bindings as a function in v3\"),o=o.call(n)),i(n,r,o)},t.bindEntityEvents=function(e,n,i){return t.deprecate(\"bindEntityEvents has been renamed to bindEvents in v3.\"),t.bindEvents(e,n,i)},t.unbindEntityEvents=function(e,n,i){return t.deprecate(\"unbindEntityEvents renamed to unbindEvents in v3.\"),t.unbindEvents(e,n,i)};var r={bindEntityEvents:function(){t.deprecate(\"bindEntityEvents has been renamed to bindEvents in v3.\");for(var e=arguments.length,n=Array(e),i=0;e>i;i++)n[i]=arguments[i];return t.bindEvents.apply(t,[this].concat(n))},unbindEntityEvents:function(){t.deprecate(\"unbindEntityEvents renamed to unbindEvents in v3.\");for(var e=arguments.length,n=Array(e),i=0;e>i;i++)n[i]=arguments[i];return t.unbindEvents.apply(t,[this].concat(n))}};e.extend(t.Object.prototype,r),e.extend(t.View.prototype,r),e.extend(t.CollectionView.prototype,r)}function s(){function n(){this.childEvents||this.options.childEvents?(t.deprecate(\"childEvents are deprecated. Use childViewEvents\"),this.mergeOptions(this.options,[\"childEvents\"]),this._childViewEvents=e.result(this,\"childEvents\")):this._childViewEvents=e.result(this,\"childViewEvents\"),this._childViewTriggers=e.result(this,\"childViewTriggers\")}e.extend(t.View.prototype,{_buildEventProxies:n}),e.extend(t.CollectionView.prototype,{_buildEventProxies:n})}function a(n,i,r,o){var s=t[o].prototype[n],a={};a[n]=function(){return this._nodep=!0,this[i].apply(this,arguments)},a[i]=function(){return this._nodep?this._nodep=!1:t.deprecate(r),s.apply(this,arguments)},e.extend(t[o].prototype,a)}function c(){a(\"_endBuffering\",\"endBuffering\",\"endBuffering is now private.\",\"CollectionView\"),a(\"_startBuffering\",\"startBuffering\",\"startBuffering is now private.\",\"CollectionView\"),a(\"_showCollection\",\"showCollection\",\"showCollection is now private.\",\"CollectionView\"),a(\"_showEmptyView\",\"showEmptyView\",\"showEmptyView is now private.\",\"CollectionView\"),a(\"_destroyEmptyView\",\"destroyEmptyView\",\"destroyEmptyView is now private.\",\"CollectionView\"),a(\"_checkEmpty\",\"checkEmpty\",\"checkEmpty is now private.\",\"CollectionView\"),a(\"_destroyChildren\",\"destroyChildren\",\"destroyChildren is now private.\",\"CollectionView\"),a(\"_proxyChildEvents\",\"proxyChildEvents\",\"proxyChildEvents is now private.\",\"CollectionView\"),a(\"_addChild\",\"addChild\",\"addChild is now private.\",\"CollectionView\");var e=t.CollectionView.prototype.constructor;t.CollectionView=t.CollectionView.extend({constructor:function(){i.Events.on.call(this,\"render:children\",function(){this.triggerMethod(\"render:collection\",this)}),i.Events.on.call(this,\"before:render:children\",function(){this.triggerMethod(\"before:render:collection\",this)}),i.Events.on.call(this,\"destroy:children\",function(){this.triggerMethod(\"destroy:collection\",this)}),i.Events.on.call(this,\"before:destroy:children\",function(){this.triggerMethod(\"before:destroy:collection\",this)}),e.apply(this,arguments)},initRenderBuffer:function(){t.deprecate(\"initRenderBuffer is now private.\"),this._bufferedChildren=[]}});var n=t.CompositeView.prototype.constructor;t.CompositeView=t.CompositeView.extend({constructor:function(){i.Events.on.call(this,\"render:children\",function(){this.triggerMethod(\"render:collection\",this)}),i.Events.on.call(this,\"before:render:children\",function(){this.triggerMethod(\"before:render:collection\",this)}),i.Events.on.call(this,\"destroy:children\",function(){this.triggerMethod(\"destroy:collection\",this)}),i.Events.on.call(this,\"before:destroy:children\",function(){this.triggerMethod(\"before:destroy:collection\",this)}),n.apply(this,arguments)}})}function h(){var n=t.CompositeView.prototype._renderTemplate;e.extend(t.CompositeView.prototype,{_renderTemplate:function(){this.triggerMethod(\"before:render:template\"),n.apply(this,arguments),this.triggerMethod(\"render:template\")}})}function d(){t.Controller=t.Object.extend({constructor:function(e){this.options=e||{};var n=Array.prototype.slice.call(arguments);n[0]=this.options,t.deprecate(\"Marionette.Controller is deprecated. Use Marionette.Object\"),t.Object.prototype.constructor.apply(this,n)},destroy:function(){for(var e=arguments.length,t=Array(e),n=0;e>n;n++)t[n]=arguments[n];return this.triggerMethod.apply(this,[\"before:destroy\"].concat(t)),this.triggerMethod.apply(this,[\"destroy\"].concat(t)),this.stopListening(),this}})}function l(){var n={\"render:collection\":!0,\"destroy:collection:\":!0,\"render:template\":!0},r=function(e){t.deprecate(e+\" event is deprecated.\")},o=i.View.prototype.listenTo;i.View.prototype.listenTo=function(t,i){n[i]&&r(i),e.isObject(i)&&e.each(i,function(e,t){n[t]&&r(t)}),o.apply(this,arguments)};var s=i.View.prototype.on;i.View.prototype.on=function(t){n[t]&&r(t),e.isObject(t)&&e.each(t,function(e,t){n[t]&&r(t)}),s.apply(this,arguments)}}function u(){a(\"_getChildView\",\"getChildView\",\"getChildView is deprecated. Use childView instead.\",\"CollectionView\"),a(\"_getEmptyView\",\"getEmptyView\",\"getEmptyView is deprecated. Use emptyView instead.\",\"CollectionView\")}function p(){t.ItemView=t.View.extend({constructor:function(){t.deprecate(\"Marionette.ItemView is deprecated. Use Marionette.View\"),t.View.prototype.constructor.apply(this,arguments)}})}function g(){t.LayoutView=t.View.extend({constructor:function(){t.deprecate(\"Marionette.LayoutView is deprecated. Use Marionette.View\"),t.View.prototype.constructor.apply(this,arguments)}})}function f(){var n=t.Application.prototype.constructor;t.Deferred=function(){return t.deprecate(\"Marionette.Deferred is deprecated and removed in v3.\"),i.$.Deferred.apply(this,arguments)},t.Application=t.Application.extend({constructor:function(){this._initCallbacks=new t.Callbacks,this.submodules={},n.apply(this,arguments)},addInitializer:function(e){t.deprecate(\"Application Initializers are deprecated and removed in v3.\"),this._initCallbacks.add(e)},start:function(e){this.triggerMethod(\"before:start\",e),this._initCallbacks.run(e,this),this.triggerMethod(\"start\",e)},module:function(n,i){var r=t.Module.getClass(i),o=e.toArray(arguments);return o.unshift(this),r.create.apply(r,o)}}),t.Callbacks=function(){this._deferred=t.Deferred(),this._callbacks=[]},e.extend(t.Callbacks.prototype,{add:function(t,n){var i=e.result(this._deferred,\"promise\");this._callbacks.push({cb:t,ctx:n}),i.then(function(e){n&&(e.context=n),t.call(e.context,e.options)})},run:function(e,t){this._deferred.resolve({options:e,context:t})},reset:function(){var n=this._callbacks;this._deferred=t.Deferred(),this._callbacks=[],e.each(n,function(e){this.add(e.cb,e.ctx)},this)}}),t.Module=function(n,i,r){t.deprecate(\"Marionette.module is deprecated and removed in v3.\"),this.moduleName=n,this.options=e.extend({},this.options,r),this.initialize=r.initialize||this.initialize,this.submodules={},this._setupInitializersAndFinalizers(),this.app=i,e.isFunction(this.initialize)&&this.initialize(n,i,this.options)},t.Module.extend=t.extend,e.extend(t.Module.prototype,i.Events,{startWithParent:!0,initialize:function(){},addInitializer:function(e){this._initializerCallbacks.add(e)},addFinalizer:function(e){this._finalizerCallbacks.add(e)},start:function(t){this._isInitialized||(e.each(this.submodules,function(e){e.startWithParent&&e.start(t)}),this.triggerMethod(\"before:start\",t),this._initializerCallbacks.run(t,this),this._isInitialized=!0,this.triggerMethod(\"start\",t))},stop:function(){this._isInitialized&&(this._isInitialized=!1,this.triggerMethod(\"before:stop\"),e.invoke(this.submodules,\"stop\"),this._finalizerCallbacks.run(void 0,this),this._initializerCallbacks.reset(),this._finalizerCallbacks.reset(),this.triggerMethod(\"stop\"))},addDefinition:function(e,t){this._runModuleDefinition(e,t)},_runModuleDefinition:function(n,r){if(n){var o=e.flatten([this,this.app,i,t,i.$,e,r]);n.apply(this,o)}},_setupInitializersAndFinalizers:function(){this._initializerCallbacks=new t.Callbacks,this._finalizerCallbacks=new t.Callbacks},triggerMethod:function(){for(var e=arguments.length,n=Array(e),i=0;e>i;i++)n[i]=arguments[i];return t.triggerMethod.apply(this,[this].concat(n))}}),e.extend(t.Module,{create:function(t,n,i){var r=t,o=e.drop(arguments,3);n=n.split(\".\");var s=n.length,a=[];return a[s-1]=i,e.each(n,function(e,n){var s=r;r=this._getModule(s,e,t,i),this._addModuleDefinition(s,r,a[n],o)},this),r},_getModule:function(t,n,i,r,o){var s=e.extend({},r),a=this.getClass(r),c=t[n];return c||(c=new a(n,i,s),t[n]=c,t.submodules[n]=c),c},getClass:function(e){var n=t.Module;return e?e.prototype instanceof n?e:e.moduleClass||n:n},_addModuleDefinition:function(e,t,n,i){var r=this._getDefine(n),o=this._getStartWithParent(n,t);r&&t.addDefinition(r,i),this._addStartWithParent(e,t,o)},_getStartWithParent:function(n,i){var r;return e.isFunction(n)&&n.prototype instanceof t.Module?(r=i.constructor.prototype.startWithParent,e.isUndefined(r)?!0:r):e.isObject(n)?(r=n.startWithParent,e.isUndefined(r)?!0:r):!0},_getDefine:function(n){return!e.isFunction(n)||n.prototype instanceof t.Module?e.isObject(n)?n.define:null:n},_addStartWithParent:function(e,t,n){t.startWithParent=t.startWithParent&&n,t.startWithParent&&!t.startWithParentIsConfigured&&(t.startWithParentIsConfigured=!0,e.addInitializer(function(e){t.startWithParent&&t.start(e)}))}})}function v(){var n=function(e,t){return e.replace(/@ui\\.[a-zA-Z-_$0-9]*/g,function(e){return t[e.slice(4)]})};t.normalizeUIString=function(e,i){return t.deprecate(\"normalizeUIString was removed in v3.\"),n.apply(this,arguments)};var i=function(t,i){return e.reduce(t,function(e,t,r){var o=n(r,i);return e[o]=t,e},{})};t.normalizeUIKeys=function(e,n){return t.deprecate(\"normalizeUIKeys was removed in v3.\"),i.apply(this,arguments)};var r=function o(t,i,r){return e.each(t,function(s,a){e.isString(s)?t[a]=n(s,i):e.isObject(s)&&e.isArray(r)&&(e.extend(s,o(e.pick(s,r),i)),e.each(r,function(t){var r=s[t];e.isString(r)&&(s[t]=n(r,i))}))}),t};t.normalizeUIValues=function(e,n,i){return t.deprecate(\"normalizeUIValues was removed in v3.\"),r.apply(this,arguments)}}function m(){t.proxyGetOption=function(e){return t.deprecate(\"proxyGetOption has been deprecated and removed in v3.\"),t.getOption(this,e)},t.proxyBindEntityEvents=function(e,n){return t.deprecate(\"proxyBindEntityEvents has been deprecated and removed in v3.\"),t.bindEvents(this,e,n)},t.proxyUnbindEntityEvents=function(e,n){return t.deprecate(\"proxyUnbindEntityEvents has been deprecated and removed in v3.\"),t.unbindEvents(this,e,n)}}function y(){var e=t.Region.prototype.show;t.Region=t.Region.extend({attachView:function(e){return t.deprecate(\"Region#attachView was removed in v3. Use Region#show without fear of re-rendering.\"),this.currentView&&delete this.currentView._parent,e._parent=this,this.currentView=e,this},show:function(t,n){if(this._ensureElement(n)){if(this._ensureView(t),t===this.currentView)return this;var i=!!this.currentView;return i&&(this.triggerMethod(\"before:swapOut\",this.currentView,this,n),this.triggerMethod(\"before:swap\",t,this,n),this.triggerMethod(\"swapOut\",this.currentView,this,n)),e.apply(this,arguments),i&&this.triggerMethod(\"swap\",t,this,n),this}}})}function w(){t.RegionManager=t.Object.extend({constructor:function(e){this._regions={},this.length=0,t.Object.call(this,e),this.addRegions(this.getOption(\"regions\"))},addRegions:function(n,i){return n=t._getValue(n,this,arguments),e.isEmpty(n)||t.deprecate(\"RegionManager is deprecated and removed in v3.\"),e.reduce(n,function(t,n,r){return e.isString(n)&&(n={selector:n}),n.selector&&(n=e.defaults({},n,i)),t[r]=this.addRegion(r,n),t},{},this)},addRegion:function(e,n){var i;return i=n instanceof t.Region?n:t.Region.buildRegion(n,t.Region),this.triggerMethod(\"before:add:region\",e,i),i._parent=this,this._store(e,i),this.triggerMethod(\"add:region\",e,i),i},get:function(e){return this._regions[e]},getRegions:function(){return e.clone(this._regions)},removeRegion:function(e){var t=this._regions[e];return this._remove(e,t),t},removeRegions:function(){var t=this.getRegions();return e.each(this._regions,function(e,t){this._remove(t,e)},this),t},emptyRegions:function(){var t=this.getRegions();return e.invoke(t,\"empty\"),t},destroy:function(){return this.removeRegions(),t.Object.prototype.destroy.apply(this,arguments)},_store:function(e,t){this._regions[e]||this.length++,this._regions[e]=t},_remove:function(e,t){this.triggerMethod(\"before:remove:region\",e,t),t.empty(),t.stopListening(),delete t._parent,delete this._regions[e],this.length--,this.triggerMethod(\"remove:region\",e,t)}});var n=function(t,n){var i=[\"forEach\",\"each\",\"map\",\"find\",\"detect\",\"filter\",\"select\",\"reject\",\"every\",\"all\",\"some\",\"any\",\"include\",\"contains\",\"invoke\",\"toArray\",\"first\",\"initial\",\"rest\",\"last\",\"without\",\"isEmpty\",\"pluck\"];e.each(i,function(i){t[i]=function(){var t=e.values(e.result(this,n)),r=[t].concat(e.toArray(arguments));return e[i].apply(e,r)}})};t.actAsCollection=function(e,i){return t.deprecate(\"actAsCollection is deprecated and removed in v3.\"),n.apply(this,arguments)},n(t.RegionManager.prototype,\"_regions\")}function _(){function n(){t.deprecate(\"Show events are no longer triggered on the View. User render or attach.\")}function r(e,n){e&&e.each(function(e){e._isShown||t.triggerMethodOn(e,n,e),\"show\"===n&&(e._isShown=!0)})}function o(e,t,n){return n.toUpperCase()}var s=t.Region.prototype.triggerMethod;t.Region.prototype.triggerMethod=function(e,n,i,o){var a;return\"before:show\"===e||\"show\"===e?(a=s.call(this,e,i,n,o),i._isShown||t.triggerMethodOn(i,e,i,n,o),\"show\"===e?(i._isShown=!0,r(i.children,e)):i.once(\"render\",function(){r(i.children,e)})):a=s.apply(this,arguments),a};var a=t.CollectionView.prototype._addChildView;t.CollectionView.prototype._addChildView=function(e){e.once(\"render\",function(){this._isShown&&!this._isBuffering&&t.triggerMethodOn(e,\"before:show\",e)},this),a.apply(this,arguments),this._isShown&&!this._isBuffering&&(e._isShown||t.triggerMethodOn(e,\"show\",e),e._isShown=!0)};var c=/(^|:)(\\w)/gi,h=i.Events.trigger;i.Events.trigger=function(r){var s=this.prototype instanceof i.View||this===i.View,a=this.prototype instanceof t.Region||this===t.Region;if(s||a){var d=\"on\"+r.replace(c,o),l=this.options&&this.options[d]||this[d];if(e.isFunction(l)&&(s?n():l.length>1&&t.deprecate(\"Region show events in v3 pass the region and the 1st argument and the view as the 2nd\")),!this._events)return this;\"before:show\"!==r&&\"show\"!==r||!this._events[r]||(s?n():this._events[r].length>1&&t.deprecate(\"Region show events in v3 pass the region and the 1st argument and the view as the 2nd\"))}return h.apply(this,arguments)}}function b(){function n(){t.deprecate(\"Regions attached to the Application are deprecated. Application now only has a single region.\")}var i=t.Application.prototype.constructor;t.Application=t.Application.extend({constructor:function(e){this._initializeRegions(e),i.apply(this,arguments)},addRegions:function(e){return this._regionManager.addRegions(e)},emptyRegions:function(){return this._regionManager.emptyRegions()},removeRegion:function(e){return this._regionManager.removeRegion(e)},getRegion:function(e){return arguments.length?(n(),this._regionManager.get(e)):this._region},getRegions:function(){return this._regionManager.getRegions()},getRegionManager:function(){return new t.RegionManager},_initializeRegions:function(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],i=e.isFunction(this.regions)?this.regions(t):this.regions||{},r=t.options&&t.options.regions||t.regions;return e.isFunction(r)&&(r=r.call(this,t)),e.extend(i,r),this._initRegionManager(),e.isEmpty(i)||(n(),this.addRegions(i)),this},_initRegionManager:function(){this._regionManager=this.getRegionManager(),this._regionManager._parent=this,this.listenTo(this._regionManager,\"before:add:region\",function(e,t){this.triggerMethod(\"before:add:region\",e,t)}),this.listenTo(this._regionManager,\"add:region\",function(e,t){this[e]=t,this.triggerMethod(\"add:region\",e,t)}),this.listenTo(this._regionManager,\"before:remove:region\",function(e,t){this.triggerMethod(\"before:remove:region\",e,t)}),this.listenTo(this._regionManager,\"remove:region\",function(e,t){delete this[e],this.triggerMethod(\"remove:region\",e,t)})}})}function V(){function n(){t.deprecate(\"Regions attached to the view are deprecated. Use View#getRegion or View#showChildView\")}function r(t,i,r){var o=r.show,s=r.empty,a=r.reset,c=r.on,h=e.extend({},r,{on:function(){n(),c.apply(this,arguments)},show:function(){n(),o.apply(this,arguments)},empty:function(){n(),s.apply(this,arguments)},reset:function(){n(),a.apply(this,arguments)},__deprecatedRegion:!0});t[i]=h}function o(e,t,n){delete e[t]}var s=i.View.prototype.listenTo;i.View.prototype.listenTo=function(e){e.__deprecatedRegion&&n(),s.apply(this,arguments)};var a=t.View.prototype._initRegions;e.extend(t.View.prototype,{_initRegions:function(){this.regionClass=t.Region,this.on({\"add:region\":r,\"remove:region\":o}),a.apply(this,arguments)}})}function E(){e.extend(t.Region,{buildRegion:function(n,i){if(t.deprecate(\"Region Static Options are deprecated and removed in v3.\"),e.isString(n))return this._buildRegionFromSelector(n,i);if(n.selector||n.el||n.regionClass)return this._buildRegionFromObject(n,i);if(e.isFunction(n))return this._buildRegionFromRegionClass(n);throw new t.Error({message:\"Improper region configuration type.\",url:\"marionette.region.html#region-configuration-types\"})},_buildRegionFromSelector:function(e,t){return new t({el:e})},_buildRegionFromObject:function(t,n){var i=t.regionClass||n,r=e.omit(t,\"selector\",\"regionClass\");return t.selector&&!r.el&&(r.el=t.selector),new i(r)},_buildRegionFromRegionClass:function(e){return new e}})}function C(){function n(){var n=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];if(this.templateHelpers||this.options.templateHelpers){t.deprecate(\"templateHelpers are deprecated. Use templateContext\"),this.mergeOptions(this.options,[\"templateHelpers\"]);var i=e.result(this,\"templateHelpers\");return e.extend(n,i)}var r=e.result(this,\"templateContext\");return e.extend(n,r)}function i(){t.deprecate(\"mixinTemplateHelpers was renamed mixinTemplateContext in v3.\"),n.apply(this,arguments)}e.extend(t.View.prototype,{mixinTemplateContext:n,mixinTemplateHelpers:i}),e.extend(t.CompositeView.prototype,{mixinTemplateContext:n,mixinTemplateHelpers:i})}function M(){function n(e,t,n){return n.toUpperCase()}function i(i){for(var r=arguments.length,a=Array(r>1?r-1:0),c=1;r>c;c++)a[c-1]=arguments[c];var h=this._parentView();if(h){a=a||[];var d=e.result(h,\"childViewEventPrefix\"),l=d+\":\"+i,u=\"on\"+l.replace(o,n),p=h.options&&h.options[u]||h[u];return((e.isFunction(p)&&p.length)===a.length+1||(h._events&&h._events[l]&&h._events[l].length)===a.length+1)&&(a=[this].concat(a),t.deprecate(\"The triggering view is no longer prepended on to the arguments of proxied child events.\")),s.apply(this,[i].concat(a))}}function r(t){var n=this.getOption(\"childViewEventPrefix\");this.listenTo(t,\"all\",function(){var i=e.toArray(arguments),r=i[0],o=this.normalizeMethods(this._childViewEvents);\"undefined\"!=typeof o&&e.isFunction(o[r])&&o[r].apply(this,[t].concat(e.rest(i)));var s=this._childViewTriggers;s&&e.isString(s[r])&&this.triggerMethod.apply(this,[s[r]].concat(i)),i[0]=n+\":\"+r,i.splice(1,0,t),this.triggerMethod.apply(this,i)})}var o=/(^|:)(\\w)/gi,s=t.View.prototype._triggerEventOnParentLayout;e.extend(t.View.prototype,{_triggerEventOnParentLayout:i}),e.extend(t.CompositeView.prototype,{_triggerEventOnParentLayout:i}),e.extend(t.CollectionView.prototype,{_proxyChildEvents:r})}function x(){var n=t.View.prototype.constructor;t.View=t.View.extend({constructor:function(i){var r=Array.prototype.slice.call(arguments);e.isFunction(i)&&(t.deprecate(\"Marionette.View options is no longer supported as a function. Please use an object instead.\"),i=i(),r[0]=i),n.apply(this,r)}})}function R(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],n=e.extend({ApplicationWreqr:r,bindEntityEvents:o,childEvents:s,CollectionView:c,CompositeView:h,Controller:d,deprecatedEvents:l,getChildView:u,ItemView:p,LayoutView:g,Module:f,normalizeUi:v,proxyFunctions:m,Region:y,RegionManager:w,RegionShowEvent:_,regionsOnApplication:b,regionsOnView:V,RegionStaticMethods:E,templateHelpers:C,triggerProxy:M,viewOptions:x},t);e.mapObject(n,function(t){e.isFunction(t)&&t()})}return e=\"default\"in e?e[\"default\"]:e,t=\"default\"in t?t[\"default\"]:t,n=\"default\"in n?n[\"default\"]:n,i=\"default\"in i?i[\"default\"]:i,t.DEV_MODE=!0,t&&\"3\"===t.VERSION.charAt(0)||alert(\"marionette-v3-compat patches Marionette v3 to act like v2. Marionette v3 not found.\"),t.VERSION=\"marionette-v3-compat\",t.deprecate._warn=function(){var e=t.deprecate._console.warn||t.deprecate._console.log||function(){};return console.trace(),e.apply(t.deprecate._console,arguments)},t._getValue=function(t,n,i){return e.isFunction(t)&&(t=i?t.apply(n,i):t.call(n)),t},R});\n//# sourceMappingURL=marionette-v3-compat.min.js.map\n","import _ from 'underscore';\nimport Radio from 'backbone.radio';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n function dep() {\n Marionette.deprecate('Global channels are deprecated. Create your own Radio channels.');\n }\n\n const originalConstructor = Marionette.Application.prototype.constructor;\n\n Marionette.Application = Marionette.Application.extend({\n constructor: function() {\n this._initV2Channel();\n originalConstructor.apply(this, arguments);\n },\n\n // Command execution, facilitated by Backbone.Wreqr.Commands\n execute: function() {\n this.commands.execute.apply(this.commands, arguments);\n },\n\n // Request/response, facilitated by Backbone.Wreqr.RequestResponse\n request: function() {\n return this.reqres.request.apply(this.reqres, arguments);\n },\n\n _initV2Channel: function() {\n this.channelName = _.result(this, 'channelName') || 'global';\n this.channel = _.result(this, 'channel') || Radio.channel(this.channelName);\n this.channel.__deprecateChannel = true;\n this.vent = this.channel;\n this.reqres = this.channel;\n this.commands = this.channel;\n\n const channelOn = this.channel.on;\n\n this.channel.on = function() {\n dep();\n return channelOn.apply(this, arguments);\n };\n\n const channelRequest = this.channel.request;\n\n this.channel.request = function() {\n dep();\n return channelRequest.apply(this, arguments);\n };\n\n this.channel.execute = function() {\n dep();\n Marionette.deprecate('Channel commands are deprecated. Use requests.');\n return channelRequest.apply(this, arguments);\n };\n\n const listenTo = Marionette.Object.listenTo;\n\n Marionette.Object.listenTo = function(obj) {\n if (obj.__deprecateChannel) { dep(); }\n listenTo.apply(this, arguments);\n };\n }\n });\n}\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n var originalBind = Marionette.bindEvents;\n var originalUnbind = Marionette.unbindEvents;\n\n Marionette.bindEvents = function(context, entity, bindings) {\n if (_.isFunction(bindings)) {\n Marionette.deprecate('bindEvents no longer accepts bindings as a function in v3');\n bindings = bindings.call(context);\n }\n return originalBind(context, entity, bindings);\n };\n\n Marionette.unbindEvents = function(context, entity, bindings) {\n if (_.isFunction(bindings)) {\n Marionette.deprecate('unbindEvents no longer accepts bindings as a function in v3');\n bindings = bindings.call(context);\n }\n return originalUnbind(context, entity, bindings);\n };\n\n Marionette.bindEntityEvents = function(context, entity, bindings) {\n Marionette.deprecate('bindEntityEvents has been renamed to bindEvents in v3.');\n return Marionette.bindEvents(context, entity, bindings);\n };\n\n Marionette.unbindEntityEvents = function(context, entity, bindings) {\n Marionette.deprecate('unbindEntityEvents renamed to unbindEvents in v3.');\n return Marionette.unbindEvents(context, entity, bindings);\n };\n\n const bindEventsMixin = {\n bindEntityEvents(...args) {\n Marionette.deprecate('bindEntityEvents has been renamed to bindEvents in v3.');\n return Marionette.bindEvents(this, ...args);\n },\n unbindEntityEvents(...args) {\n Marionette.deprecate('unbindEntityEvents renamed to unbindEvents in v3.');\n return Marionette.unbindEvents(this, ...args);\n\n }\n };\n\n _.extend(Marionette.Object.prototype, bindEventsMixin);\n\n _.extend(Marionette.View.prototype, bindEventsMixin);\n\n _.extend(Marionette.CollectionView.prototype, bindEventsMixin);\n}\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n // Cache `childViewEvents` and `childViewTriggers`\n function _buildEventProxies() {\n if (this.childEvents || this.options.childEvents) {\n Marionette.deprecate('childEvents are deprecated. Use childViewEvents');\n this.mergeOptions(this.options, ['childEvents']);\n this._childViewEvents = _.result(this, 'childEvents');\n } else {\n this._childViewEvents = _.result(this, 'childViewEvents');\n }\n\n this._childViewTriggers = _.result(this, 'childViewTriggers');\n }\n\n _.extend(Marionette.View.prototype, {\n _buildEventProxies\n });\n\n _.extend(Marionette.CollectionView.prototype, {\n _buildEventProxies\n });\n}\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nexport default function(privateFunction, publicFunction, deprecation, ClassName) {\n const original = Marionette[ClassName].prototype[privateFunction];\n const options = {};\n\n options[privateFunction] = function() {\n this._nodep = true;\n return this[publicFunction].apply(this, arguments);\n }\n\n options[publicFunction] = function() {\n if (this._nodep) {\n this._nodep = false;\n } else {\n Marionette.deprecate(deprecation);\n }\n return original.apply(this, arguments);\n }\n\n _.extend(Marionette[ClassName].prototype, options);\n}\n","import Backbone from 'backbone';\nimport Marionette from 'backbone.marionette';\nimport restoreFunction from './utils/restoreFunction';\nexport default function() {\n\n restoreFunction('_endBuffering', 'endBuffering', 'endBuffering is now private.', 'CollectionView');\n restoreFunction('_startBuffering', 'startBuffering', 'startBuffering is now private.', 'CollectionView');\n restoreFunction('_showCollection', 'showCollection', 'showCollection is now private.', 'CollectionView');\n restoreFunction('_showEmptyView', 'showEmptyView', 'showEmptyView is now private.', 'CollectionView');\n restoreFunction('_destroyEmptyView', 'destroyEmptyView', 'destroyEmptyView is now private.', 'CollectionView');\n restoreFunction('_checkEmpty', 'checkEmpty', 'checkEmpty is now private.', 'CollectionView');\n restoreFunction('_destroyChildren', 'destroyChildren', 'destroyChildren is now private.', 'CollectionView');\n restoreFunction('_proxyChildEvents', 'proxyChildEvents', 'proxyChildEvents is now private.', 'CollectionView');\n restoreFunction('_addChild', 'addChild', 'addChild is now private.', 'CollectionView');\n\n const originalConstructor = Marionette.CollectionView.prototype.constructor;\n\n Marionette.CollectionView = Marionette.CollectionView.extend({\n constructor() {\n Backbone.Events.on.call(this, 'render:children', function() { this.triggerMethod('render:collection', this); });\n Backbone.Events.on.call(this, 'before:render:children', function() { this.triggerMethod('before:render:collection', this); });\n\n Backbone.Events.on.call(this, 'destroy:children', function() { this.triggerMethod('destroy:collection', this); });\n Backbone.Events.on.call(this, 'before:destroy:children', function() { this.triggerMethod('before:destroy:collection', this); });\n\n originalConstructor.apply(this, arguments);\n },\n initRenderBuffer() {\n Marionette.deprecate('initRenderBuffer is now private.');\n this._bufferedChildren = [];\n }\n });\n\n const originalConstructorComp = Marionette.CompositeView.prototype.constructor;\n\n Marionette.CompositeView = Marionette.CompositeView.extend({\n constructor() {\n Backbone.Events.on.call(this, 'render:children', function() { this.triggerMethod('render:collection', this); });\n Backbone.Events.on.call(this, 'before:render:children', function() { this.triggerMethod('before:render:collection', this); });\n\n Backbone.Events.on.call(this, 'destroy:children', function() { this.triggerMethod('destroy:collection', this); });\n Backbone.Events.on.call(this, 'before:destroy:children', function() { this.triggerMethod('before:destroy:collection', this); });\n originalConstructorComp.apply(this, arguments);\n }\n });\n\n}\n\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\nexport default function() {\n\n\n const originalRenderTemp = Marionette.CompositeView.prototype._renderTemplate;\n\n _.extend(Marionette.CompositeView.prototype, {\n _renderTemplate() {\n this.triggerMethod('before:render:template');\n originalRenderTemp.apply(this, arguments);\n this.triggerMethod('render:template');\n }\n });\n}\n","import Marionette from 'backbone.marionette';\n\nexport default function() {\n Marionette.Controller = Marionette.Object.extend({\n constructor(options) {\n this.options = options || {};\n\n const args = Array.prototype.slice.call(arguments);\n args[0] = this.options;\n\n Marionette.deprecate('Marionette.Controller is deprecated. Use Marionette.Object');\n Marionette.Object.prototype.constructor.apply(this, args);\n },\n\n destroy: function(...args) {\n this.triggerMethod('before:destroy', ...args);\n this.triggerMethod('destroy', ...args);\n this.stopListening();\n\n return this;\n }\n });\n}\n","import _ from 'underscore';\nimport Backbone from 'backbone';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n const deprecatedEvents = {\n 'render:collection': true,\n 'destroy:collection:': true,\n 'render:template': true\n };\n\n const dep = function(name) {\n Marionette.deprecate(`${ name } event is deprecated.`);\n }\n\n const listenTo = Backbone.View.prototype.listenTo;\n\n Backbone.View.prototype.listenTo = function(obj, name) {\n if (deprecatedEvents[name]) { dep(name); }\n if (_.isObject(name)) {\n _.each(name, function(value, key) {\n if (deprecatedEvents[key]) { dep(key); }\n });\n }\n listenTo.apply(this, arguments);\n }\n\n const on = Backbone.View.prototype.on;\n\n Backbone.View.prototype.on = function(name) {\n if (deprecatedEvents[name]) { dep(name); }\n if (_.isObject(name)) {\n _.each(name, function(value, key) {\n if (deprecatedEvents[key]) { dep(key); }\n });\n }\n on.apply(this, arguments);\n }\n};\n","import restoreFunction from './utils/restoreFunction';\n\nexport default function() {\n\n restoreFunction('_getChildView', 'getChildView', 'getChildView is deprecated. Use childView instead.', 'CollectionView');\n restoreFunction('_getEmptyView', 'getEmptyView', 'getEmptyView is deprecated. Use emptyView instead.', 'CollectionView');\n}\n","import Marionette from 'backbone.marionette';\n\nexport default function() {\n Marionette.ItemView = Marionette.View.extend({\n constructor() {\n Marionette.deprecate('Marionette.ItemView is deprecated. Use Marionette.View');\n Marionette.View.prototype.constructor.apply(this, arguments);\n }\n });\n}\n","import Marionette from 'backbone.marionette';\n\nexport default function() {\n Marionette.LayoutView = Marionette.View.extend({\n constructor() {\n Marionette.deprecate('Marionette.LayoutView is deprecated. Use Marionette.View');\n Marionette.View.prototype.constructor.apply(this, arguments);\n }\n });\n}\n","import _ from 'underscore';\nimport Backbone from 'backbone';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n const originalConstructor = Marionette.Application.prototype.constructor;\n\n Marionette.Deferred = function() {\n Marionette.deprecate('Marionette.Deferred is deprecated and removed in v3.');\n return Backbone.$.Deferred.apply(this, arguments);\n };\n\n Marionette.Application = Marionette.Application.extend({\n constructor: function() {\n this._initCallbacks = new Marionette.Callbacks();\n this.submodules = {};\n originalConstructor.apply(this, arguments);\n },\n\n addInitializer: function(initializer) {\n Marionette.deprecate('Application Initializers are deprecated and removed in v3.');\n this._initCallbacks.add(initializer);\n },\n\n start: function(options) {\n this.triggerMethod('before:start', options);\n this._initCallbacks.run(options, this);\n this.triggerMethod('start', options);\n },\n\n module: function(moduleNames, moduleDefinition) {\n\n // Overwrite the module class if the user specifies one\n var ModuleClass = Marionette.Module.getClass(moduleDefinition);\n\n var args = _.toArray(arguments);\n args.unshift(this);\n\n // see the Marionette.Module object for more information\n return ModuleClass.create.apply(ModuleClass, args);\n }\n });\n\n\n // Callbacks\n // ---------\n\n // A simple way of managing a collection of callbacks\n // and executing them at a later point in time, using jQuery's\n // `Deferred` object.\n Marionette.Callbacks = function() {\n this._deferred = Marionette.Deferred();\n this._callbacks = [];\n };\n\n _.extend(Marionette.Callbacks.prototype, {\n\n // Add a callback to be executed. Callbacks added here are\n // guaranteed to execute, even if they are added after the\n // `run` method is called.\n add: function(callback, contextOverride) {\n var promise = _.result(this._deferred, 'promise');\n\n this._callbacks.push({cb: callback, ctx: contextOverride});\n\n promise.then(function(args) {\n if (contextOverride) { args.context = contextOverride; }\n callback.call(args.context, args.options);\n });\n },\n\n // Run all registered callbacks with the context specified.\n // Additional callbacks can be added after this has been run\n // and they will still be executed.\n run: function(options, context) {\n this._deferred.resolve({\n options: options,\n context: context\n });\n },\n\n // Resets the list of callbacks to be run, allowing the same list\n // to be run multiple times - whenever the `run` method is called.\n reset: function() {\n var callbacks = this._callbacks;\n this._deferred = Marionette.Deferred();\n this._callbacks = [];\n\n _.each(callbacks, function(cb) {\n this.add(cb.cb, cb.ctx);\n }, this);\n }\n });\n\n // A simple module system, used to create privacy and encapsulation in\n // Marionette applications\n Marionette.Module = function(moduleName, app, options) {\n Marionette.deprecate('Marionette.module is deprecated and removed in v3.');\n\n this.moduleName = moduleName;\n this.options = _.extend({}, this.options, options);\n // Allow for a user to overide the initialize\n // for a given module instance.\n this.initialize = options.initialize || this.initialize;\n\n // Set up an internal store for sub-modules.\n this.submodules = {};\n\n this._setupInitializersAndFinalizers();\n\n // Set an internal reference to the app\n // within a module.\n this.app = app;\n\n if (_.isFunction(this.initialize)) {\n this.initialize(moduleName, app, this.options);\n }\n };\n\n Marionette.Module.extend = Marionette.extend;\n\n // Extend the Module prototype with events / listenTo, so that the module\n // can be used as an event aggregator or pub/sub.\n _.extend(Marionette.Module.prototype, Backbone.Events, {\n\n // By default modules start with their parents.\n startWithParent: true,\n\n // Initialize is an empty function by default. Override it with your own\n // initialization logic when extending Marionette.Module.\n initialize: function() {},\n\n // Initializer for a specific module. Initializers are run when the\n // module's `start` method is called.\n addInitializer: function(callback) {\n this._initializerCallbacks.add(callback);\n },\n\n // Finalizers are run when a module is stopped. They are used to teardown\n // and finalize any variables, references, events and other code that the\n // module had set up.\n addFinalizer: function(callback) {\n this._finalizerCallbacks.add(callback);\n },\n\n // Start the module, and run all of its initializers\n start: function(options) {\n // Prevent re-starting a module that is already started\n if (this._isInitialized) { return; }\n\n // start the sub-modules (depth-first hierarchy)\n _.each(this.submodules, function(mod) {\n // check to see if we should start the sub-module with this parent\n if (mod.startWithParent) {\n mod.start(options);\n }\n });\n\n // run the callbacks to \"start\" the current module\n this.triggerMethod('before:start', options);\n\n this._initializerCallbacks.run(options, this);\n this._isInitialized = true;\n\n this.triggerMethod('start', options);\n },\n\n // Stop this module by running its finalizers and then stop all of\n // the sub-modules for this module\n stop: function() {\n // if we are not initialized, don't bother finalizing\n if (!this._isInitialized) { return; }\n this._isInitialized = false;\n\n this.triggerMethod('before:stop');\n\n // stop the sub-modules; depth-first, to make sure the\n // sub-modules are stopped / finalized before parents\n _.invoke(this.submodules, 'stop');\n\n // run the finalizers\n this._finalizerCallbacks.run(undefined, this);\n\n // reset the initializers and finalizers\n this._initializerCallbacks.reset();\n this._finalizerCallbacks.reset();\n\n this.triggerMethod('stop');\n },\n\n // Configure the module with a definition function and any custom args\n // that are to be passed in to the definition function\n addDefinition: function(moduleDefinition, customArgs) {\n this._runModuleDefinition(moduleDefinition, customArgs);\n },\n\n // Internal method: run the module definition function with the correct\n // arguments\n _runModuleDefinition: function(definition, customArgs) {\n // If there is no definition short circut the method.\n if (!definition) { return; }\n\n // build the correct list of arguments for the module definition\n var args = _.flatten([\n this,\n this.app,\n Backbone,\n Marionette,\n Backbone.$, _,\n customArgs\n ]);\n\n definition.apply(this, args);\n },\n\n // Internal method: set up new copies of initializers and finalizers.\n // Calling this method will wipe out all existing initializers and\n // finalizers.\n _setupInitializersAndFinalizers: function() {\n this._initializerCallbacks = new Marionette.Callbacks();\n this._finalizerCallbacks = new Marionette.Callbacks();\n },\n\n // import the `triggerMethod` to trigger events with corresponding\n // methods if the method exists\n triggerMethod: function(...args) { return Marionette.triggerMethod.apply(this, [this].concat(args)); }\n });\n\n // Class methods to create modules\n _.extend(Marionette.Module, {\n\n // Create a module, hanging off the app parameter as the parent object.\n create: function(app, moduleNames, moduleDefinition) {\n var module = app;\n\n // get the custom args passed in after the module definition and\n // get rid of the module name and definition function\n var customArgs = _.drop(arguments, 3);\n\n // Split the module names and get the number of submodules.\n // i.e. an example module name of `Doge.Wow.Amaze` would\n // then have the potential for 3 module definitions.\n moduleNames = moduleNames.split('.');\n var length = moduleNames.length;\n\n // store the module definition for the last module in the chain\n var moduleDefinitions = [];\n moduleDefinitions[length - 1] = moduleDefinition;\n\n // Loop through all the parts of the module definition\n _.each(moduleNames, function(moduleName, i) {\n var parentModule = module;\n module = this._getModule(parentModule, moduleName, app, moduleDefinition);\n this._addModuleDefinition(parentModule, module, moduleDefinitions[i], customArgs);\n }, this);\n\n // Return the last module in the definition chain\n return module;\n },\n\n _getModule: function(parentModule, moduleName, app, def, args) {\n var options = _.extend({}, def);\n var ModuleClass = this.getClass(def);\n\n // Get an existing module of this name if we have one\n var module = parentModule[moduleName];\n\n if (!module) {\n // Create a new module if we don't have one\n module = new ModuleClass(moduleName, app, options);\n parentModule[moduleName] = module;\n // store the module on the parent\n parentModule.submodules[moduleName] = module;\n }\n\n return module;\n },\n\n // ## Module Classes\n //\n // Module classes can be used as an alternative to the define pattern.\n // The extend function of a Module is identical to the extend functions\n // on other Backbone and Marionette classes.\n // This allows module lifecyle events like `onStart` and `onStop` to be called directly.\n getClass: function(moduleDefinition) {\n var ModuleClass = Marionette.Module;\n\n if (!moduleDefinition) {\n return ModuleClass;\n }\n\n // If all of the module's functionality is defined inside its class,\n // then the class can be passed in directly. `MyApp.module(\"Foo\", FooModule)`.\n if (moduleDefinition.prototype instanceof ModuleClass) {\n return moduleDefinition;\n }\n\n return moduleDefinition.moduleClass || ModuleClass;\n },\n\n // Add the module definition and add a startWithParent initializer function.\n // This is complicated because module definitions are heavily overloaded\n // and support an anonymous function, module class, or options object\n _addModuleDefinition: function(parentModule, module, def, args) {\n var fn = this._getDefine(def);\n var startWithParent = this._getStartWithParent(def, module);\n\n if (fn) {\n module.addDefinition(fn, args);\n }\n\n this._addStartWithParent(parentModule, module, startWithParent);\n },\n\n _getStartWithParent: function(def, module) {\n var swp;\n\n if (_.isFunction(def) && (def.prototype instanceof Marionette.Module)) {\n swp = module.constructor.prototype.startWithParent;\n return _.isUndefined(swp) ? true : swp;\n }\n\n if (_.isObject(def)) {\n swp = def.startWithParent;\n return _.isUndefined(swp) ? true : swp;\n }\n\n return true;\n },\n\n _getDefine: function(def) {\n if (_.isFunction(def) && !(def.prototype instanceof Marionette.Module)) {\n return def;\n }\n\n if (_.isObject(def)) {\n return def.define;\n }\n\n return null;\n },\n\n _addStartWithParent: function(parentModule, module, startWithParent) {\n module.startWithParent = module.startWithParent && startWithParent;\n\n if (!module.startWithParent || !!module.startWithParentIsConfigured) {\n return;\n }\n\n module.startWithParentIsConfigured = true;\n\n parentModule.addInitializer(function(options) {\n if (module.startWithParent) {\n module.start(options);\n }\n });\n }\n });\n\n}\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n var normalizeUIString = function(uiString, ui) {\n return uiString.replace(/@ui\\.[a-zA-Z-_$0-9]*/g, function(r) {\n return ui[r.slice(4)];\n });\n };\n\n Marionette.normalizeUIString = function(uiString, ui) {\n Marionette.deprecate('normalizeUIString was removed in v3.');\n return normalizeUIString.apply(this, arguments);\n };\n\n var normalizeUIKeys = function(hash, ui) {\n return _.reduce(hash, function(memo, val, key) {\n var normalizedKey = normalizeUIString(key, ui);\n memo[normalizedKey] = val;\n return memo;\n }, {});\n };\n\n Marionette.normalizeUIKeys = function(hash, ui) {\n Marionette.deprecate('normalizeUIKeys was removed in v3.');\n return normalizeUIKeys.apply(this, arguments);\n };\n\n var normalizeUIValues = function(hash, ui, properties) {\n _.each(hash, function(val, key) {\n if (_.isString(val)) {\n hash[key] = normalizeUIString(val, ui);\n } else if (_.isObject(val) && _.isArray(properties)) {\n _.extend(val, normalizeUIValues(_.pick(val, properties), ui));\n /* Value is an object, and we got an array of embedded property names to normalize. */\n _.each(properties, function(property) {\n var propertyVal = val[property];\n if (_.isString(propertyVal)) {\n val[property] = normalizeUIString(propertyVal, ui);\n }\n });\n }\n });\n return hash;\n };\n\n Marionette.normalizeUIValues = function(hash, ui, properties) {\n Marionette.deprecate('normalizeUIValues was removed in v3.');\n return normalizeUIValues.apply(this, arguments);\n };\n\n}\n","import Marionette from 'backbone.marionette';\n\nexport default function() {\n Marionette.proxyGetOption = function(optionName) {\n Marionette.deprecate('proxyGetOption has been deprecated and removed in v3.');\n return Marionette.getOption(this, optionName);\n };\n\n Marionette.proxyBindEntityEvents = function(entity, bindings) {\n Marionette.deprecate('proxyBindEntityEvents has been deprecated and removed in v3.');\n return Marionette.bindEvents(this, entity, bindings);\n };\n\n Marionette.proxyUnbindEntityEvents = function(entity, bindings) {\n Marionette.deprecate('proxyUnbindEntityEvents has been deprecated and removed in v3.');\n return Marionette.unbindEvents(this, entity, bindings);\n };\n}\n","import Marionette from 'backbone.marionette';\n\nexport default function() {\n\n const originalShow = Marionette.Region.prototype.show;\n\n Marionette.Region = Marionette.Region.extend({\n attachView(view) {\n Marionette.deprecate('Region#attachView was removed in v3. Use Region#show without fear of re-rendering.')\n if (this.currentView) {\n delete this.currentView._parent;\n }\n view._parent = this;\n this.currentView = view;\n return this;\n },\n show(view, options) {\n if (!this._ensureElement(options)) {\n return;\n }\n this._ensureView(view);\n if (view === this.currentView) { return this; }\n var isChangingView = !!this.currentView;\n if (isChangingView) {\n this.triggerMethod('before:swapOut', this.currentView, this, options);\n this.triggerMethod('before:swap', view, this, options);\n this.triggerMethod('swapOut', this.currentView, this, options);\n }\n originalShow.apply(this, arguments);\n if (isChangingView) {\n this.triggerMethod('swap', view, this, options);\n }\n return this;\n },\n });\n}\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n // Manage one or more related `Marionette.Region` objects.\n Marionette.RegionManager = Marionette.Object.extend({\n constructor: function(options) {\n this._regions = {};\n this.length = 0;\n\n Marionette.Object.call(this, options);\n\n this.addRegions(this.getOption('regions'));\n },\n\n // Add multiple regions using an object literal or a\n // function that returns an object literal, where\n // each key becomes the region name, and each value is\n // the region definition.\n addRegions: function(regionDefinitions, defaults) {\n regionDefinitions = Marionette._getValue(regionDefinitions, this, arguments);\n\n if (!_.isEmpty(regionDefinitions)) {\n Marionette.deprecate('RegionManager is deprecated and removed in v3.');\n }\n\n return _.reduce(regionDefinitions, function(regions, definition, name) {\n if (_.isString(definition)) {\n definition = {selector: definition};\n }\n if (definition.selector) {\n definition = _.defaults({}, definition, defaults);\n }\n\n regions[name] = this.addRegion(name, definition);\n return regions;\n }, {}, this);\n },\n\n // Add an individual region to the region manager,\n // and return the region instance\n addRegion: function(name, definition) {\n var region;\n\n if (definition instanceof Marionette.Region) {\n region = definition;\n } else {\n region = Marionette.Region.buildRegion(definition, Marionette.Region);\n }\n\n this.triggerMethod('before:add:region', name, region);\n\n region._parent = this;\n this._store(name, region);\n\n this.triggerMethod('add:region', name, region);\n return region;\n },\n\n // Get a region by name\n get: function(name) {\n return this._regions[name];\n },\n\n // Gets all the regions contained within\n // the `regionManager` instance.\n getRegions: function() {\n return _.clone(this._regions);\n },\n\n // Remove a region by name\n removeRegion: function(name) {\n var region = this._regions[name];\n this._remove(name, region);\n\n return region;\n },\n\n // Empty all regions in the region manager, and\n // remove them\n removeRegions: function() {\n var regions = this.getRegions();\n _.each(this._regions, function(region, name) {\n this._remove(name, region);\n }, this);\n\n return regions;\n },\n\n // Empty all regions in the region manager, but\n // leave them attached\n emptyRegions: function() {\n var regions = this.getRegions();\n _.invoke(regions, 'empty');\n return regions;\n },\n\n // Destroy all regions and shut down the region\n // manager entirely\n destroy: function() {\n this.removeRegions();\n return Marionette.Object.prototype.destroy.apply(this, arguments);\n },\n\n // internal method to store regions\n _store: function(name, region) {\n if (!this._regions[name]) {\n this.length++;\n }\n\n this._regions[name] = region;\n },\n\n // internal method to remove a region\n _remove: function(name, region) {\n this.triggerMethod('before:remove:region', name, region);\n region.empty();\n region.stopListening();\n\n delete region._parent;\n delete this._regions[name];\n this.length--;\n this.triggerMethod('remove:region', name, region);\n }\n });\n\n // Mix in methods from Underscore, for iteration, and other\n // collection related features.\n // Borrowing this code from Backbone.Collection:\n // http://backbonejs.org/docs/backbone.html#section-121\n var _actAsCollection = function(object, listProperty) {\n var methods = ['forEach', 'each', 'map', 'find', 'detect', 'filter',\n 'select', 'reject', 'every', 'all', 'some', 'any', 'include',\n 'contains', 'invoke', 'toArray', 'first', 'initial', 'rest',\n 'last', 'without', 'isEmpty', 'pluck'];\n\n _.each(methods, function(method) {\n object[method] = function() {\n var list = _.values(_.result(this, listProperty));\n var args = [list].concat(_.toArray(arguments));\n return _[method].apply(_, args);\n };\n });\n };\n\n Marionette.actAsCollection = function(object, listProperty) {\n Marionette.deprecate('actAsCollection is deprecated and removed in v3.');\n\n return _actAsCollection.apply(this, arguments);\n }\n\n _actAsCollection(Marionette.RegionManager.prototype, '_regions');\n\n}\n","import _ from 'underscore';\nimport Backbone from 'backbone';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n function dep() {\n Marionette.deprecate('Show events are no longer triggered on the View. User render or attach.');\n }\n\n function triggerOnChildren(children, name) {\n if (!children) { return; }\n\n children.each(function(v) {\n if (!v._isShown) { Marionette.triggerMethodOn(v, name, v); }\n if (name === 'show') { v._isShown = true; }\n });\n }\n\n\n var regionTriggerMethod = Marionette.Region.prototype.triggerMethod;\n\n Marionette.Region.prototype.triggerMethod = function(name, region, view, options) {\n var result;\n if (name === 'before:show' || name === 'show') {\n result = regionTriggerMethod.call(this, name, view, region, options);\n if (!view._isShown) { Marionette.triggerMethodOn(view, name, view, region, options); }\n if (name === 'show') {\n view._isShown = true;\n triggerOnChildren(view.children, name);\n } else {\n view.once('render', function() {\n triggerOnChildren(view.children, name);\n });\n }\n } else {\n result = regionTriggerMethod.apply(this, arguments);\n }\n\n return result;\n };\n\n var _addChildView = Marionette.CollectionView.prototype._addChildView;\n\n Marionette.CollectionView.prototype._addChildView = function(view) {\n view.once('render', function() {\n // trigger the 'before:show' event on `view` if the collection view has already been shown\n if (this._isShown && !this._isBuffering) {\n Marionette.triggerMethodOn(view, 'before:show', view);\n }\n }, this);\n\n _addChildView.apply(this, arguments);\n\n if (this._isShown && !this._isBuffering) {\n if (!view._isShown) {\n Marionette.triggerMethodOn(view, 'show', view);\n }\n view._isShown = true;\n }\n };\n\n\n // split the event name on the \":\"\n var splitter = /(^|:)(\\w)/gi;\n\n // take the event section (\"section1:section2:section3\")\n // and turn it in to uppercase name onSection1Section2Section3\n function getEventName(match, prefix, eventName) {\n return eventName.toUpperCase();\n }\n\n var trigger = Backbone.Events.trigger;\n\n Backbone.Events.trigger = function(name) {\n var isView = this.prototype instanceof Backbone.View || this === Backbone.View;\n var isRegion = this.prototype instanceof Marionette.Region || this === Marionette.Region;\n if (isView || isRegion) {\n var methodName = 'on' + name.replace(splitter, getEventName);\n var method = (this.options && this.options[methodName]) || this[methodName];\n\n if (_.isFunction(method)) {\n if (isView) {\n dep();\n } else {\n if (method.length > 1) {\n Marionette.deprecate('Region show events in v3 pass the region and the 1st argument and the view as the 2nd');\n }\n }\n }\n\n if (!this._events) { return this; }\n\n if ((name === 'before:show' || name === 'show') && this._events[name]) {\n if (isView) {\n dep();\n } else {\n if (this._events[name].length > 1) {\n Marionette.deprecate('Region show events in v3 pass the region and the 1st argument and the view as the 2nd');\n }\n }\n }\n }\n\n return trigger.apply(this, arguments);\n }\n}\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n function dep() {\n Marionette.deprecate('Regions attached to the Application are deprecated. Application now only has a single region.');\n }\n\n const originalConstructor = Marionette.Application.prototype.constructor;\n\n Marionette.Application = Marionette.Application.extend({\n constructor: function(options) {\n this._initializeRegions(options);\n originalConstructor.apply(this, arguments);\n },\n\n // Add regions to your app.\n // Accepts a hash of named strings or Region objects\n // addRegions({something: \"#someRegion\"})\n // addRegions({something: Region.extend({el: \"#someRegion\"}) });\n addRegions: function(regions) {\n return this._regionManager.addRegions(regions);\n },\n\n // Empty all regions in the app, without removing them\n emptyRegions: function() {\n return this._regionManager.emptyRegions();\n },\n\n // Removes a region from your app, by name\n // Accepts the regions name\n // removeRegion('myRegion')\n removeRegion: function(region) {\n return this._regionManager.removeRegion(region);\n },\n\n // Provides alternative access to regions\n // Accepts the region name\n // getRegion('main')\n getRegion: function(region) {\n if (arguments.length) {\n dep();\n return this._regionManager.get(region);\n }\n\n return this._region;\n },\n\n // Get all the regions from the region manager\n getRegions: function() {\n return this._regionManager.getRegions();\n },\n\n // Enable easy overriding of the default `RegionManager`\n // for customized region interactions and business-specific\n // view logic for better control over single regions.\n getRegionManager: function() {\n return new Marionette.RegionManager();\n },\n\n // Internal method to initialize the regions that have been defined in a\n // `regions` attribute on the application instance\n _initializeRegions: function(options = {}) {\n var regions = _.isFunction(this.regions) ? this.regions(options) : this.regions || {};\n\n // Enable users to define `regions` in instance options.\n var optionRegions = (options.options && options.options.regions) || options.regions;\n\n // Enable region options to be a function\n if (_.isFunction(optionRegions)) {\n optionRegions = optionRegions.call(this, options);\n }\n\n // Overwrite current regions with those passed in options\n _.extend(regions, optionRegions);\n\n this._initRegionManager();\n\n if (!_.isEmpty(regions)) {\n dep();\n\n this.addRegions(regions);\n }\n\n return this;\n },\n\n // Internal method to set up the region manager\n _initRegionManager: function() {\n this._regionManager = this.getRegionManager();\n this._regionManager._parent = this;\n\n this.listenTo(this._regionManager, 'before:add:region', function(name, region) {\n this.triggerMethod('before:add:region', name, region);\n });\n\n this.listenTo(this._regionManager, 'add:region', function(name, region) {\n this[name] = region;\n this.triggerMethod('add:region', name, region);\n });\n\n this.listenTo(this._regionManager, 'before:remove:region', function(name, region) {\n this.triggerMethod('before:remove:region', name, region);\n });\n\n this.listenTo(this._regionManager, 'remove:region', function(name, region) {\n delete this[name];\n this.triggerMethod('remove:region', name, region);\n });\n }\n })\n\n}\n","import _ from 'underscore';\nimport Backbone from 'backbone';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n function dep() {\n Marionette.deprecate('Regions attached to the view are deprecated. Use View#getRegion or View#showChildView');\n }\n\n function _addRegion(view, name, region) {\n const regionShow = region.show;\n const regionEmpty = region.empty;\n const regionReset = region.reset;\n const regionOn = region.on;\n\n const newRegion = _.extend({}, region, {\n on() {\n dep();\n regionOn.apply(this, arguments);\n },\n show() {\n dep();\n regionShow.apply(this, arguments);\n },\n empty() {\n dep();\n regionEmpty.apply(this, arguments);\n },\n reset() {\n dep();\n regionReset.apply(this, arguments);\n },\n __deprecatedRegion: true\n });\n\n view[name] = newRegion;\n }\n\n function _removeRegion(view, name, region) {\n delete view[name];\n }\n\n const listenTo = Backbone.View.prototype.listenTo;\n\n Backbone.View.prototype.listenTo = function(obj) {\n if (obj.__deprecatedRegion) { dep(); }\n listenTo.apply(this, arguments);\n }\n\n const initRegions = Marionette.View.prototype._initRegions;\n\n _.extend(Marionette.View.prototype, {\n _initRegions() {\n this.regionClass = Marionette.Region;\n this.on({\n 'add:region': _addRegion,\n 'remove:region': _removeRegion\n });\n initRegions.apply(this, arguments);\n }\n });\n}\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n _.extend(Marionette.Region, {\n\n buildRegion: function(regionConfig, DefaultRegionClass) {\n\n Marionette.deprecate('Region Static Options are deprecated and removed in v3.');\n\n if (_.isString(regionConfig)) {\n return this._buildRegionFromSelector(regionConfig, DefaultRegionClass);\n }\n\n if (regionConfig.selector || regionConfig.el || regionConfig.regionClass) {\n return this._buildRegionFromObject(regionConfig, DefaultRegionClass);\n }\n\n if (_.isFunction(regionConfig)) {\n return this._buildRegionFromRegionClass(regionConfig);\n }\n\n throw new Marionette.Error({\n message: 'Improper region configuration type.',\n url: 'marionette.region.html#region-configuration-types'\n });\n },\n\n // Build the region from a string selector like '#foo-region'\n _buildRegionFromSelector: function(selector, DefaultRegionClass) {\n return new DefaultRegionClass({el: selector});\n },\n\n // Build the region from a configuration object\n // ```js\n // { selector: '#foo', regionClass: FooRegion, allowMissingEl: false }\n // ```\n _buildRegionFromObject: function(regionConfig, DefaultRegionClass) {\n var RegionClass = regionConfig.regionClass || DefaultRegionClass;\n var options = _.omit(regionConfig, 'selector', 'regionClass');\n\n if (regionConfig.selector && !options.el) {\n options.el = regionConfig.selector;\n }\n\n return new RegionClass(options);\n },\n\n // Build the region directly from a given `RegionClass`\n _buildRegionFromRegionClass: function(RegionClass) {\n return new RegionClass();\n }\n });\n\n}\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n function mixinTemplateContext(target = {}) {\n if (this.templateHelpers || this.options.templateHelpers) {\n Marionette.deprecate('templateHelpers are deprecated. Use templateContext');\n this.mergeOptions(this.options, ['templateHelpers']);\n const templateHelpers = _.result(this, 'templateHelpers');\n return _.extend(target, templateHelpers);\n }\n\n const templateContext = _.result(this, 'templateContext');\n return _.extend(target, templateContext);\n }\n\n function mixinTemplateHelpers() {\n Marionette.deprecate('mixinTemplateHelpers was renamed mixinTemplateContext in v3.');\n mixinTemplateContext.apply(this, arguments);\n }\n\n _.extend(Marionette.View.prototype, {\n mixinTemplateContext,\n mixinTemplateHelpers\n });\n\n _.extend(Marionette.CompositeView.prototype, {\n mixinTemplateContext,\n mixinTemplateHelpers\n });\n}\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n // split the event name on the \":\"\n var splitter = /(^|:)(\\w)/gi;\n\n // take the event section (\"section1:section2:section3\")\n // and turn it in to uppercase name onSection1Section2Section3\n function getEventName(match, prefix, eventName) {\n return eventName.toUpperCase();\n }\n\n const triggerParent = Marionette.View.prototype._triggerEventOnParentLayout;\n\n function _triggerEventOnParentLayout(eventName, ...args) {\n const layoutView = this._parentView();\n if (!layoutView) { return; }\n\n args = args || [];\n\n const eventPrefix = _.result(layoutView, 'childViewEventPrefix');\n const prefixedEventName = eventPrefix + ':' + eventName;\n\n var methodName = 'on' + prefixedEventName.replace(splitter, getEventName);\n var method = (layoutView.options && layoutView.options[methodName]) || layoutView[methodName];\n\n // If this is true we expect that it is expecting `this`\n // as its first argument\n if ((_.isFunction(method) && method.length) === args.length + 1 ||\n (layoutView._events && layoutView._events[prefixedEventName] && layoutView._events[prefixedEventName].length) === args.length + 1) {\n args = [this].concat(args);\n Marionette.deprecate('The triggering view is no longer prepended on to the arguments of proxied child events.');\n }\n\n return triggerParent.apply(this, [eventName].concat(args));\n }\n\n function _proxyChildEvents(view) {\n var prefix = this.getOption('childViewEventPrefix');\n\n // Forward all child view events through the parent,\n // prepending \"childview:\" to the event name\n this.listenTo(view, 'all', function() {\n var args = _.toArray(arguments);\n var rootEvent = args[0];\n\n\n var childViewEvents = this.normalizeMethods(this._childViewEvents);\n\n // call collectionView childViewEvent if defined\n if (typeof childViewEvents !== 'undefined' && _.isFunction(childViewEvents[rootEvent])) {\n childViewEvents[rootEvent].apply(this, [view].concat(_.rest(args)));\n }\n\n // use the parent view's proxyEvent handlers\n var childViewTriggers = this._childViewTriggers;\n\n // Call the event with the proxy name on the parent layout\n if (childViewTriggers && _.isString(childViewTriggers[rootEvent])) {\n this.triggerMethod.apply(this, [childViewTriggers[rootEvent]].concat(args));\n }\n\n args[0] = prefix + ':' + rootEvent;\n args.splice(1, 0, view);\n\n this.triggerMethod.apply(this, args);\n });\n }\n\n _.extend(Marionette.View.prototype, {\n _triggerEventOnParentLayout\n });\n\n _.extend(Marionette.CompositeView.prototype, {\n _triggerEventOnParentLayout\n });\n\n _.extend(Marionette.CollectionView.prototype, {\n _proxyChildEvents\n });\n}\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n const originalConstructor = Marionette.View.prototype.constructor;\n\n Marionette.View = Marionette.View.extend({\n constructor(options) {\n const args = Array.prototype.slice.call(arguments);\n\n if (_.isFunction(options)) {\n Marionette.deprecate('Marionette.View options is no longer supported as a function. Please use an object instead.');\n options = options();\n\n args[0] = options;\n }\n\n originalConstructor.apply(this, args);\n }\n });\n};\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nimport ApplicationWreqr from './ApplicationWreqr';\nimport bindEntityEvents from './bindEntityEvents';\nimport childEvents from './childEvents';\nimport CollectionView from './CollectionView';\nimport CompositeView from './CompositeView';\nimport Controller from './Controller';\nimport deprecatedEvents from './deprecatedEvents';\nimport getChildView from './getChildView';\nimport ItemView from './ItemView';\nimport LayoutView from './LayoutView';\nimport Module from './Module';\nimport normalizeUi from './normalizeUi';\nimport proxyFunctions from './proxyFunctions';\nimport Region from './Region';\nimport RegionManager from './RegionManager';\nimport RegionShowEvent from './RegionShowEvent';\nimport regionsOnApplication from './regionsOnApplication';\nimport regionsOnView from './regionsOnView';\nimport RegionStaticMethods from './RegionStaticMethods';\nimport templateHelpers from './templateHelpers';\nimport triggerProxy from './triggerProxy';\nimport viewOptions from './viewOptions';\n\nMarionette.DEV_MODE = true;\n\nif (!Marionette || Marionette.VERSION.charAt(0) !== '3') {\n alert('marionette-v3-compat patches Marionette v3 to act like v2. Marionette v3 not found.');\n}\n\nMarionette.VERSION = 'marionette-v3-compat';\n\n// Add a console.trace to the deprecate message\nMarionette.deprecate._warn = function() {\n const warn = Marionette.deprecate._console.warn || Marionette.deprecate._console.log || function() {};\n console.trace();\n return warn.apply(Marionette.deprecate._console, arguments);\n};\n\nMarionette._getValue = function(value, context, params) {\n if (_.isFunction(value)) {\n value = params ? value.apply(context, params) : value.call(context);\n }\n return value;\n};\n\nexport default function(opts = {}) {\n const patches = _.extend({\n ApplicationWreqr,\n bindEntityEvents,\n childEvents,\n CollectionView,\n CompositeView,\n Controller,\n deprecatedEvents,\n getChildView,\n ItemView,\n LayoutView,\n Module,\n normalizeUi,\n proxyFunctions,\n Region,\n RegionManager,\n RegionShowEvent,\n regionsOnApplication,\n regionsOnView,\n RegionStaticMethods,\n templateHelpers,\n triggerProxy,\n viewOptions\n }, opts);\n\n _.mapObject(patches, function(patch) {\n if (_.isFunction(patch)) {\n patch();\n }\n });\n}\n"],"sourceRoot":"/source/"} \ No newline at end of file +{"version":3,"sources":["marionette-v3-compat.min.js","/source/src/ApplicationWreqr.js","/source/src/bindEntityEvents.js","/source/src/childEvents.js","/source/src/utils/restoreFunction.js","/source/src/CollectionView.js","/source/src/CompositeView.js","/source/src/Controller.js","/source/src/deprecatedEvents.js","/source/src/getChildView.js","/source/src/ItemView.js","/source/src/LayoutView.js","/source/src/Module.js","/source/src/normalizeUi.js","/source/src/proxyFunctions.js","/source/src/Region.js","/source/src/RegionManager.js","/source/src/RegionShowEvent.js","/source/src/regionsOnApplication.js","/source/src/regionsOnView.js","/source/src/RegionStaticMethods.js","/source/src/templateHelpers.js","/source/src/triggerProxy.js","/source/src/viewOptions.js","/source/src/marionette-v3-compat.js"],"names":["global","factory","exports","module","require","define","amd","mnV3Compat","_","Marionette","Radio","Backbone","this","ApplicationWreqr","dep","deprecate","originalConstructor","Application","prototype","constructor","extend","_initV2Channel","apply","arguments","execute","commands","request","reqres","channelName","result","channel","__deprecateChannel","vent","channelOn","on","channelRequest","listenTo","Object","obj","bindEntityEvents","originalBind","bindEvents","originalUnbind","unbindEvents","context","entity","bindings","isFunction","call","unbindEntityEvents","bindEventsMixin","_len","length","args","Array","_key","concat","_len2","_key2","View","CollectionView","childEvents","_buildEventProxies","options","mergeOptions","_childViewEvents","_childViewTriggers","restoreFunction","privateFunction","publicFunction","deprecation","ClassName","original","_nodep","Events","triggerMethod","initRenderBuffer","_bufferedChildren","originalConstructorComp","CompositeView","originalRenderTemp","_renderTemplate","Controller","slice","destroy","stopListening","deprecatedEvents","render:collection","destroy:collection:","render:template","name","isObject","each","value","key","getChildView","ItemView","LayoutView","Module","Deferred","$","_initCallbacks","Callbacks","submodules","addInitializer","initializer","add","start","run","moduleNames","moduleDefinition","ModuleClass","getClass","toArray","unshift","create","_deferred","_callbacks","callback","contextOverride","promise","push","cb","ctx","then","resolve","reset","callbacks","moduleName","app","initialize","_setupInitializersAndFinalizers","startWithParent","_initializerCallbacks","addFinalizer","_finalizerCallbacks","_isInitialized","mod","stop","invoke","undefined","addDefinition","customArgs","_runModuleDefinition","definition","flatten","drop","split","moduleDefinitions","i","parentModule","_getModule","_addModuleDefinition","def","moduleClass","fn","_getDefine","_getStartWithParent","_addStartWithParent","swp","isUndefined","startWithParentIsConfigured","normalizeUi","normalizeUIString","uiString","ui","replace","r","normalizeUIKeys","hash","reduce","memo","val","normalizedKey","normalizeUIValues","properties","isString","isArray","pick","property","propertyVal","proxyFunctions","proxyGetOption","optionName","getOption","proxyBindEntityEvents","proxyUnbindEntityEvents","Region","originalShow","show","attachView","view","currentView","_parent","_ensureElement","_ensureView","_isRendered","render","isChangingView","RegionManager","_regions","addRegions","regionDefinitions","defaults","_getValue","isEmpty","regions","selector","addRegion","region","buildRegion","_store","get","getRegions","clone","removeRegion","_remove","removeRegions","emptyRegions","empty","_actAsCollection","object","listProperty","methods","method","list","values","actAsCollection","RegionShowEvent","triggerOnChildren","children","v","_isShown","triggerMethodOn","getEventName","match","prefix","eventName","toUpperCase","regionTriggerMethod","once","_addChildView","_isBuffering","splitter","trigger","isView","isRegion","methodName","_events","regionsOnApplication","_initializeRegions","_regionManager","getRegion","_region","getRegionManager","optionRegions","_initRegionManager","regionsOnView","_addRegion","regionShow","regionEmpty","regionReset","regionOn","newRegion","__deprecatedRegion","_removeRegion","initRegions","_initRegions","regionClass","add:region","remove:region","RegionStaticMethods","regionConfig","DefaultRegionClass","_buildRegionFromSelector","el","_buildRegionFromObject","_buildRegionFromRegionClass","Error","message","url","RegionClass","omit","templateHelpers","mixinTemplateContext","target","templateContext","mixinTemplateHelpers","triggerProxy","_triggerEventOnParentLayout","layoutView","_parentView","eventPrefix","prefixedEventName","triggerParent","_proxyChildEvents","rootEvent","childViewEvents","normalizeMethods","rest","childViewTriggers","splice","viewOptions","marionetteV3Compat","opts","patches","mapObject","patch","DEV_MODE","VERSION","charAt","alert","_warn","warn","_console","log","console","trace","params"],"mappings":"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","file":"marionette-v3-compat.min.js","sourcesContent":["!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t(require(\"underscore\"),require(\"backbone.marionette\"),require(\"backbone.radio\"),require(\"backbone\")):\"function\"==typeof define&&define.amd?define([\"underscore\",\"backbone.marionette\",\"backbone.radio\",\"backbone\"],t):e.mnV3Compat=t(e._,e.Marionette,e.Radio,e.Backbone)}(this,function(e,t,n,i){\"use strict\";function r(){function i(){t.deprecate(\"Global channels are deprecated. Create your own Radio channels.\")}var r=t.Application.prototype.constructor;t.Application=t.Application.extend({constructor:function(){this._initV2Channel(),r.apply(this,arguments)},execute:function(){this.commands.execute.apply(this.commands,arguments)},request:function(){return this.reqres.request.apply(this.reqres,arguments)},_initV2Channel:function(){this.channelName=e.result(this,\"channelName\")||\"global\",this.channel=e.result(this,\"channel\")||n.channel(this.channelName),this.channel.__deprecateChannel=!0,this.vent=this.channel,this.reqres=this.channel,this.commands=this.channel;var r=this.channel.on;this.channel.on=function(){return i(),r.apply(this,arguments)};var o=this.channel.request;this.channel.request=function(){return i(),o.apply(this,arguments)},this.channel.execute=function(){return i(),t.deprecate(\"Channel commands are deprecated. Use requests.\"),o.apply(this,arguments)};var s=t.Object.listenTo;t.Object.listenTo=function(e){e.__deprecateChannel&&i(),s.apply(this,arguments)}}})}function o(){var n=t.bindEvents,i=t.unbindEvents;t.bindEvents=function(i,r,o){return e.isFunction(o)&&(t.deprecate(\"bindEvents no longer accepts bindings as a function in v3\"),o=o.call(i)),n(i,r,o)},t.unbindEvents=function(n,r,o){return e.isFunction(o)&&(t.deprecate(\"unbindEvents no longer accepts bindings as a function in v3\"),o=o.call(n)),i(n,r,o)},t.bindEntityEvents=function(e,n,i){return t.deprecate(\"bindEntityEvents has been renamed to bindEvents in v3.\"),t.bindEvents(e,n,i)},t.unbindEntityEvents=function(e,n,i){return t.deprecate(\"unbindEntityEvents renamed to unbindEvents in v3.\"),t.unbindEvents(e,n,i)};var r={bindEntityEvents:function(){t.deprecate(\"bindEntityEvents has been renamed to bindEvents in v3.\");for(var e=arguments.length,n=Array(e),i=0;e>i;i++)n[i]=arguments[i];return t.bindEvents.apply(t,[this].concat(n))},unbindEntityEvents:function(){t.deprecate(\"unbindEntityEvents renamed to unbindEvents in v3.\");for(var e=arguments.length,n=Array(e),i=0;e>i;i++)n[i]=arguments[i];return t.unbindEvents.apply(t,[this].concat(n))}};e.extend(t.Object.prototype,r),e.extend(t.View.prototype,r),e.extend(t.CollectionView.prototype,r)}function s(){function n(){this.childEvents||this.options.childEvents?(t.deprecate(\"childEvents are deprecated. Use childViewEvents\"),this.mergeOptions(this.options,[\"childEvents\"]),this._childViewEvents=e.result(this,\"childEvents\")):this._childViewEvents=e.result(this,\"childViewEvents\"),this._childViewTriggers=e.result(this,\"childViewTriggers\")}e.extend(t.View.prototype,{_buildEventProxies:n}),e.extend(t.CollectionView.prototype,{_buildEventProxies:n})}function a(n,i,r,o){var s=t[o].prototype[n],a={};a[n]=function(){return this._nodep=!0,this[i].apply(this,arguments)},a[i]=function(){return this._nodep?this._nodep=!1:t.deprecate(r),s.apply(this,arguments)},e.extend(t[o].prototype,a)}function c(){a(\"_endBuffering\",\"endBuffering\",\"endBuffering is now private.\",\"CollectionView\"),a(\"_startBuffering\",\"startBuffering\",\"startBuffering is now private.\",\"CollectionView\"),a(\"_showCollection\",\"showCollection\",\"showCollection is now private.\",\"CollectionView\"),a(\"_showEmptyView\",\"showEmptyView\",\"showEmptyView is now private.\",\"CollectionView\"),a(\"_destroyEmptyView\",\"destroyEmptyView\",\"destroyEmptyView is now private.\",\"CollectionView\"),a(\"_checkEmpty\",\"checkEmpty\",\"checkEmpty is now private.\",\"CollectionView\"),a(\"_destroyChildren\",\"destroyChildren\",\"destroyChildren is now private.\",\"CollectionView\"),a(\"_proxyChildEvents\",\"proxyChildEvents\",\"proxyChildEvents is now private.\",\"CollectionView\"),a(\"_addChild\",\"addChild\",\"addChild is now private.\",\"CollectionView\");var e=t.CollectionView.prototype.constructor;t.CollectionView=t.CollectionView.extend({constructor:function(){i.Events.on.call(this,\"render:children\",function(){this.triggerMethod(\"render:collection\",this)}),i.Events.on.call(this,\"before:render:children\",function(){this.triggerMethod(\"before:render:collection\",this)}),i.Events.on.call(this,\"destroy:children\",function(){this.triggerMethod(\"destroy:collection\",this)}),i.Events.on.call(this,\"before:destroy:children\",function(){this.triggerMethod(\"before:destroy:collection\",this)}),e.apply(this,arguments)},initRenderBuffer:function(){t.deprecate(\"initRenderBuffer is now private.\"),this._bufferedChildren=[]}});var n=t.CompositeView.prototype.constructor;t.CompositeView=t.CompositeView.extend({constructor:function(){i.Events.on.call(this,\"render:children\",function(){this.triggerMethod(\"render:collection\",this)}),i.Events.on.call(this,\"before:render:children\",function(){this.triggerMethod(\"before:render:collection\",this)}),i.Events.on.call(this,\"destroy:children\",function(){this.triggerMethod(\"destroy:collection\",this)}),i.Events.on.call(this,\"before:destroy:children\",function(){this.triggerMethod(\"before:destroy:collection\",this)}),n.apply(this,arguments)}})}function h(){var n=t.CompositeView.prototype._renderTemplate;e.extend(t.CompositeView.prototype,{_renderTemplate:function(){this.triggerMethod(\"before:render:template\"),n.apply(this,arguments),this.triggerMethod(\"render:template\")}})}function d(){t.Controller=t.Object.extend({constructor:function(e){this.options=e||{};var n=Array.prototype.slice.call(arguments);n[0]=this.options,t.deprecate(\"Marionette.Controller is deprecated. Use Marionette.Object\"),t.Object.prototype.constructor.apply(this,n)},destroy:function(){for(var e=arguments.length,t=Array(e),n=0;e>n;n++)t[n]=arguments[n];return this.triggerMethod.apply(this,[\"before:destroy\"].concat(t)),this.triggerMethod.apply(this,[\"destroy\"].concat(t)),this.stopListening(),this}})}function l(){var n={\"render:collection\":!0,\"destroy:collection:\":!0,\"render:template\":!0},r=function(e){t.deprecate(e+\" event is deprecated.\")},o=i.View.prototype.listenTo;i.View.prototype.listenTo=function(t,i){n[i]&&r(i),e.isObject(i)&&e.each(i,function(e,t){n[t]&&r(t)}),o.apply(this,arguments)};var s=i.View.prototype.on;i.View.prototype.on=function(t){n[t]&&r(t),e.isObject(t)&&e.each(t,function(e,t){n[t]&&r(t)}),s.apply(this,arguments)}}function u(){a(\"_getChildView\",\"getChildView\",\"getChildView is deprecated. Use childView instead.\",\"CollectionView\"),a(\"_getEmptyView\",\"getEmptyView\",\"getEmptyView is deprecated. Use emptyView instead.\",\"CollectionView\")}function p(){t.ItemView=t.View.extend({constructor:function(){t.deprecate(\"Marionette.ItemView is deprecated. Use Marionette.View\"),t.View.prototype.constructor.apply(this,arguments)}})}function g(){t.LayoutView=t.View.extend({constructor:function(){t.deprecate(\"Marionette.LayoutView is deprecated. Use Marionette.View\"),t.View.prototype.constructor.apply(this,arguments)}})}function f(){var n=t.Application.prototype.constructor;t.Deferred=function(){return t.deprecate(\"Marionette.Deferred is deprecated and removed in v3.\"),i.$.Deferred.apply(this,arguments)},t.Application=t.Application.extend({constructor:function(){this._initCallbacks=new t.Callbacks,this.submodules={},n.apply(this,arguments)},addInitializer:function(e){t.deprecate(\"Application Initializers are deprecated and removed in v3.\"),this._initCallbacks.add(e)},start:function(e){this.triggerMethod(\"before:start\",e),this._initCallbacks.run(e,this),this.triggerMethod(\"start\",e)},module:function(n,i){var r=t.Module.getClass(i),o=e.toArray(arguments);return o.unshift(this),r.create.apply(r,o)}}),t.Callbacks=function(){this._deferred=t.Deferred(),this._callbacks=[]},e.extend(t.Callbacks.prototype,{add:function(t,n){var i=e.result(this._deferred,\"promise\");this._callbacks.push({cb:t,ctx:n}),i.then(function(e){n&&(e.context=n),t.call(e.context,e.options)})},run:function(e,t){this._deferred.resolve({options:e,context:t})},reset:function(){var n=this._callbacks;this._deferred=t.Deferred(),this._callbacks=[],e.each(n,function(e){this.add(e.cb,e.ctx)},this)}}),t.Module=function(n,i,r){t.deprecate(\"Marionette.module is deprecated and removed in v3.\"),this.moduleName=n,this.options=e.extend({},this.options,r),this.initialize=r.initialize||this.initialize,this.submodules={},this._setupInitializersAndFinalizers(),this.app=i,e.isFunction(this.initialize)&&this.initialize(n,i,this.options)},t.Module.extend=t.extend,e.extend(t.Module.prototype,i.Events,{startWithParent:!0,initialize:function(){},addInitializer:function(e){this._initializerCallbacks.add(e)},addFinalizer:function(e){this._finalizerCallbacks.add(e)},start:function(t){this._isInitialized||(e.each(this.submodules,function(e){e.startWithParent&&e.start(t)}),this.triggerMethod(\"before:start\",t),this._initializerCallbacks.run(t,this),this._isInitialized=!0,this.triggerMethod(\"start\",t))},stop:function(){this._isInitialized&&(this._isInitialized=!1,this.triggerMethod(\"before:stop\"),e.invoke(this.submodules,\"stop\"),this._finalizerCallbacks.run(void 0,this),this._initializerCallbacks.reset(),this._finalizerCallbacks.reset(),this.triggerMethod(\"stop\"))},addDefinition:function(e,t){this._runModuleDefinition(e,t)},_runModuleDefinition:function(n,r){if(n){var o=e.flatten([this,this.app,i,t,i.$,e,r]);n.apply(this,o)}},_setupInitializersAndFinalizers:function(){this._initializerCallbacks=new t.Callbacks,this._finalizerCallbacks=new t.Callbacks},triggerMethod:function(){for(var e=arguments.length,n=Array(e),i=0;e>i;i++)n[i]=arguments[i];return t.triggerMethod.apply(this,[this].concat(n))}}),e.extend(t.Module,{create:function(t,n,i){var r=t,o=e.drop(arguments,3);n=n.split(\".\");var s=n.length,a=[];return a[s-1]=i,e.each(n,function(e,n){var s=r;r=this._getModule(s,e,t,i),this._addModuleDefinition(s,r,a[n],o)},this),r},_getModule:function(t,n,i,r,o){var s=e.extend({},r),a=this.getClass(r),c=t[n];return c||(c=new a(n,i,s),t[n]=c,t.submodules[n]=c),c},getClass:function(e){var n=t.Module;return e?e.prototype instanceof n?e:e.moduleClass||n:n},_addModuleDefinition:function(e,t,n,i){var r=this._getDefine(n),o=this._getStartWithParent(n,t);r&&t.addDefinition(r,i),this._addStartWithParent(e,t,o)},_getStartWithParent:function(n,i){var r;return e.isFunction(n)&&n.prototype instanceof t.Module?(r=i.constructor.prototype.startWithParent,e.isUndefined(r)?!0:r):e.isObject(n)?(r=n.startWithParent,e.isUndefined(r)?!0:r):!0},_getDefine:function(n){return!e.isFunction(n)||n.prototype instanceof t.Module?e.isObject(n)?n.define:null:n},_addStartWithParent:function(e,t,n){t.startWithParent=t.startWithParent&&n,t.startWithParent&&!t.startWithParentIsConfigured&&(t.startWithParentIsConfigured=!0,e.addInitializer(function(e){t.startWithParent&&t.start(e)}))}})}function v(){var n=function(e,t){return e.replace(/@ui\\.[a-zA-Z-_$0-9]*/g,function(e){return t[e.slice(4)]})};t.normalizeUIString=function(e,i){return t.deprecate(\"normalizeUIString was removed in v3.\"),n.apply(this,arguments)};var i=function(t,i){return e.reduce(t,function(e,t,r){var o=n(r,i);return e[o]=t,e},{})};t.normalizeUIKeys=function(e,n){return t.deprecate(\"normalizeUIKeys was removed in v3.\"),i.apply(this,arguments)};var r=function o(t,i,r){return e.each(t,function(s,a){e.isString(s)?t[a]=n(s,i):e.isObject(s)&&e.isArray(r)&&(e.extend(s,o(e.pick(s,r),i)),e.each(r,function(t){var r=s[t];e.isString(r)&&(s[t]=n(r,i))}))}),t};t.normalizeUIValues=function(e,n,i){return t.deprecate(\"normalizeUIValues was removed in v3.\"),r.apply(this,arguments)}}function m(){t.proxyGetOption=function(e){return t.deprecate(\"proxyGetOption has been deprecated and removed in v3.\"),t.getOption(this,e)},t.proxyBindEntityEvents=function(e,n){return t.deprecate(\"proxyBindEntityEvents has been deprecated and removed in v3.\"),t.bindEvents(this,e,n)},t.proxyUnbindEntityEvents=function(e,n){return t.deprecate(\"proxyUnbindEntityEvents has been deprecated and removed in v3.\"),t.unbindEvents(this,e,n)}}function y(){var e=t.Region.prototype.show;t.Region=t.Region.extend({attachView:function(e){return t.deprecate(\"Region#attachView was removed in v3. Use Region#show without fear of re-rendering.\"),this.currentView&&delete this.currentView._parent,e._parent=this,this.currentView=e,this},show:function(t,n){if(this._ensureElement(n)){if(this._ensureView(t),t===this.currentView)return this;var i=!!this.currentView;return i&&(this.triggerMethod(\"before:swapOut\",this.currentView,this,n),this.triggerMethod(\"before:swap\",t,this,n),this.triggerMethod(\"swapOut\",this.currentView,this,n)),e.apply(this,arguments),i&&this.triggerMethod(\"swap\",t,this,n),this}}})}function w(){t.RegionManager=t.Object.extend({constructor:function(e){this._regions={},this.length=0,t.Object.call(this,e),this.addRegions(this.getOption(\"regions\"))},addRegions:function(n,i){return n=t._getValue(n,this,arguments),e.isEmpty(n)||t.deprecate(\"RegionManager is deprecated and removed in v3.\"),e.reduce(n,function(t,n,r){return e.isString(n)&&(n={selector:n}),n.selector&&(n=e.defaults({},n,i)),t[r]=this.addRegion(r,n),t},{},this)},addRegion:function(e,n){var i;return i=n instanceof t.Region?n:t.Region.buildRegion(n,t.Region),this.triggerMethod(\"before:add:region\",e,i),i._parent=this,this._store(e,i),this.triggerMethod(\"add:region\",e,i),i},get:function(e){return this._regions[e]},getRegions:function(){return e.clone(this._regions)},removeRegion:function(e){var t=this._regions[e];return this._remove(e,t),t},removeRegions:function(){var t=this.getRegions();return e.each(this._regions,function(e,t){this._remove(t,e)},this),t},emptyRegions:function(){var t=this.getRegions();return e.invoke(t,\"empty\"),t},destroy:function(){return this.removeRegions(),t.Object.prototype.destroy.apply(this,arguments)},_store:function(e,t){this._regions[e]||this.length++,this._regions[e]=t},_remove:function(e,t){this.triggerMethod(\"before:remove:region\",e,t),t.empty(),t.stopListening(),delete t._parent,delete this._regions[e],this.length--,this.triggerMethod(\"remove:region\",e,t)}});var n=function(t,n){var i=[\"forEach\",\"each\",\"map\",\"find\",\"detect\",\"filter\",\"select\",\"reject\",\"every\",\"all\",\"some\",\"any\",\"include\",\"contains\",\"invoke\",\"toArray\",\"first\",\"initial\",\"rest\",\"last\",\"without\",\"isEmpty\",\"pluck\"];e.each(i,function(i){t[i]=function(){var t=e.values(e.result(this,n)),r=[t].concat(e.toArray(arguments));return e[i].apply(e,r)}})};t.actAsCollection=function(e,i){return t.deprecate(\"actAsCollection is deprecated and removed in v3.\"),n.apply(this,arguments)},n(t.RegionManager.prototype,\"_regions\")}function _(){function n(){t.deprecate(\"Show events are no longer triggered on the View. User render or attach.\")}function r(e,n){e&&e.each(function(e){e._isShown||t.triggerMethodOn(e,n,e),\"show\"===n&&(e._isShown=!0)})}function o(e,t,n){return n.toUpperCase()}var s=t.Region.prototype.triggerMethod;t.Region.prototype.triggerMethod=function(e,n,i,o){var a;return\"before:show\"===e||\"show\"===e?(a=s.call(this,e,i,n,o),i._isShown||t.triggerMethodOn(i,e,i,n,o),\"show\"===e?(i._isShown=!0,r(i.children,e)):i.once(\"render\",function(){r(i.children,e)})):a=s.apply(this,arguments),a};var a=t.CollectionView.prototype._addChildView;t.CollectionView.prototype._addChildView=function(e){e.once(\"render\",function(){this._isShown&&!this._isBuffering&&t.triggerMethodOn(e,\"before:show\",e)},this),a.apply(this,arguments),this._isShown&&!this._isBuffering&&(e._isShown||t.triggerMethodOn(e,\"show\",e),e._isShown=!0)};var c=/(^|:)(\\w)/gi,h=i.Events.trigger;i.Events.trigger=function(r){var s=this.prototype instanceof i.View||this===i.View,a=this.prototype instanceof t.Region||this===t.Region;if(s||a){var d=\"on\"+r.replace(c,o),l=this.options&&this.options[d]||this[d];if(e.isFunction(l)&&(s?n():l.length>1&&t.deprecate(\"Region show events in v3 pass the region and the 1st argument and the view as the 2nd\")),!this._events)return this;\"before:show\"!==r&&\"show\"!==r||!this._events[r]||(s?n():this._events[r].length>1&&t.deprecate(\"Region show events in v3 pass the region and the 1st argument and the view as the 2nd\"))}return h.apply(this,arguments)}}function b(){function n(){t.deprecate(\"Regions attached to the Application are deprecated. Application now only has a single region.\")}var i=t.Application.prototype.constructor;t.Application=t.Application.extend({constructor:function(e){this._initializeRegions(e),i.apply(this,arguments)},addRegions:function(e){return this._regionManager.addRegions(e)},emptyRegions:function(){return this._regionManager.emptyRegions()},removeRegion:function(e){return this._regionManager.removeRegion(e)},getRegion:function(e){return arguments.length?(n(),this._regionManager.get(e)):this._region},getRegions:function(){return this._regionManager.getRegions()},getRegionManager:function(){return new t.RegionManager},_initializeRegions:function(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],i=e.isFunction(this.regions)?this.regions(t):this.regions||{},r=t.options&&t.options.regions||t.regions;return e.isFunction(r)&&(r=r.call(this,t)),e.extend(i,r),this._initRegionManager(),e.isEmpty(i)||(n(),this.addRegions(i)),this},_initRegionManager:function(){this._regionManager=this.getRegionManager(),this._regionManager._parent=this,this.listenTo(this._regionManager,\"before:add:region\",function(e,t){this.triggerMethod(\"before:add:region\",e,t)}),this.listenTo(this._regionManager,\"add:region\",function(e,t){this[e]=t,this.triggerMethod(\"add:region\",e,t)}),this.listenTo(this._regionManager,\"before:remove:region\",function(e,t){this.triggerMethod(\"before:remove:region\",e,t)}),this.listenTo(this._regionManager,\"remove:region\",function(e,t){delete this[e],this.triggerMethod(\"remove:region\",e,t)})}})}function V(){function n(){t.deprecate(\"Regions attached to the view are deprecated. Use View#getRegion or View#showChildView\")}function r(t,i,r){var o=r.show,s=r.empty,a=r.reset,c=r.on,h=e.extend({},r,{on:function(){n(),c.apply(this,arguments)},show:function(){n(),o.apply(this,arguments)},empty:function(){n(),s.apply(this,arguments)},reset:function(){n(),a.apply(this,arguments)},__deprecatedRegion:!0});t[i]=h}function o(e,t,n){delete e[t]}var s=i.View.prototype.listenTo;i.View.prototype.listenTo=function(e){e.__deprecatedRegion&&n(),s.apply(this,arguments)};var a=t.View.prototype._initRegions;e.extend(t.View.prototype,{_initRegions:function(){this.regionClass=t.Region,this.on({\"add:region\":r,\"remove:region\":o}),a.apply(this,arguments)}})}function E(){e.extend(t.Region,{buildRegion:function(n,i){if(t.deprecate(\"Region Static Options are deprecated and removed in v3.\"),e.isString(n))return this._buildRegionFromSelector(n,i);if(n.selector||n.el||n.regionClass)return this._buildRegionFromObject(n,i);if(e.isFunction(n))return this._buildRegionFromRegionClass(n);throw new t.Error({message:\"Improper region configuration type.\",url:\"marionette.region.html#region-configuration-types\"})},_buildRegionFromSelector:function(e,t){return new t({el:e})},_buildRegionFromObject:function(t,n){var i=t.regionClass||n,r=e.omit(t,\"selector\",\"regionClass\");return t.selector&&!r.el&&(r.el=t.selector),new i(r)},_buildRegionFromRegionClass:function(e){return new e}})}function C(){function n(){var n=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];if(this.templateHelpers||this.options.templateHelpers){t.deprecate(\"templateHelpers are deprecated. Use templateContext\"),this.mergeOptions(this.options,[\"templateHelpers\"]);var i=e.result(this,\"templateHelpers\");return e.extend(n,i)}var r=e.result(this,\"templateContext\");return e.extend(n,r)}function i(){t.deprecate(\"mixinTemplateHelpers was renamed mixinTemplateContext in v3.\"),n.apply(this,arguments)}e.extend(t.View.prototype,{mixinTemplateContext:n,mixinTemplateHelpers:i}),e.extend(t.CompositeView.prototype,{mixinTemplateContext:n,mixinTemplateHelpers:i})}function M(){function n(e,t,n){return n.toUpperCase()}function i(i){for(var r=arguments.length,a=Array(r>1?r-1:0),c=1;r>c;c++)a[c-1]=arguments[c];var h=this._parentView();if(h){a=a||[];var d=e.result(h,\"childViewEventPrefix\"),l=d+\":\"+i,u=\"on\"+l.replace(o,n),p=h.options&&h.options[u]||h[u];return((e.isFunction(p)&&p.length)===a.length+1||(h._events&&h._events[l]&&h._events[l].length)===a.length+1)&&(a=[this].concat(a),t.deprecate(\"The triggering view is no longer prepended on to the arguments of proxied child events.\")),s.apply(this,[i].concat(a))}}function r(t){var n=this.getOption(\"childViewEventPrefix\");this.listenTo(t,\"all\",function(){var i=e.toArray(arguments),r=i[0],o=this.normalizeMethods(this._childViewEvents);\"undefined\"!=typeof o&&e.isFunction(o[r])&&o[r].apply(this,[t].concat(e.rest(i)));var s=this._childViewTriggers;s&&e.isString(s[r])&&this.triggerMethod.apply(this,[s[r]].concat(i)),i[0]=n+\":\"+r,i.splice(1,0,t),this.triggerMethod.apply(this,i)})}var o=/(^|:)(\\w)/gi,s=t.View.prototype._triggerEventOnParentLayout;e.extend(t.View.prototype,{_triggerEventOnParentLayout:i}),e.extend(t.CompositeView.prototype,{_triggerEventOnParentLayout:i}),e.extend(t.CollectionView.prototype,{_proxyChildEvents:r})}function x(){var n=t.View.prototype.constructor;t.View=t.View.extend({constructor:function(i){var r=Array.prototype.slice.call(arguments);e.isFunction(i)&&(t.deprecate(\"Marionette.View options is no longer supported as a function. Please use an object instead.\"),i=i(),r[0]=i),n.apply(this,r)}})}function R(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],n=e.extend({ApplicationWreqr:r,bindEntityEvents:o,childEvents:s,CollectionView:c,CompositeView:h,Controller:d,deprecatedEvents:l,getChildView:u,ItemView:p,LayoutView:g,Module:f,normalizeUi:v,proxyFunctions:m,Region:y,RegionManager:w,RegionShowEvent:_,regionsOnApplication:b,regionsOnView:V,RegionStaticMethods:E,templateHelpers:C,triggerProxy:M,viewOptions:x},t);e.mapObject(n,function(t){e.isFunction(t)&&t()})}return e=\"default\"in e?e[\"default\"]:e,t=\"default\"in t?t[\"default\"]:t,n=\"default\"in n?n[\"default\"]:n,i=\"default\"in i?i[\"default\"]:i,t.DEV_MODE=!0,t&&\"3\"===t.VERSION.charAt(0)||alert(\"marionette-v3-compat patches Marionette v3 to act like v2. Marionette v3 not found.\"),t.VERSION=\"marionette-v3-compat\",t.deprecate._warn=function(){var e=t.deprecate._console.warn||t.deprecate._console.log||function(){};return console.trace(),e.apply(t.deprecate._console,arguments)},t._getValue=function(t,n,i){return e.isFunction(t)&&(t=i?t.apply(n,i):t.call(n)),t},R});\n//# sourceMappingURL=marionette-v3-compat.min.js.map\n","import _ from 'underscore';\nimport Radio from 'backbone.radio';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n function dep() {\n Marionette.deprecate('Global channels are deprecated. Create your own Radio channels.');\n }\n\n const originalConstructor = Marionette.Application.prototype.constructor;\n\n Marionette.Application = Marionette.Application.extend({\n constructor: function() {\n this._initV2Channel();\n originalConstructor.apply(this, arguments);\n },\n\n // Command execution, facilitated by Backbone.Wreqr.Commands\n execute: function() {\n this.commands.execute.apply(this.commands, arguments);\n },\n\n // Request/response, facilitated by Backbone.Wreqr.RequestResponse\n request: function() {\n return this.reqres.request.apply(this.reqres, arguments);\n },\n\n _initV2Channel: function() {\n this.channelName = _.result(this, 'channelName') || 'global';\n this.channel = _.result(this, 'channel') || Radio.channel(this.channelName);\n this.channel.__deprecateChannel = true;\n this.vent = this.channel;\n this.reqres = this.channel;\n this.commands = this.channel;\n\n const channelOn = this.channel.on;\n\n this.channel.on = function() {\n dep();\n return channelOn.apply(this, arguments);\n };\n\n const channelRequest = this.channel.request;\n\n this.channel.request = function() {\n dep();\n return channelRequest.apply(this, arguments);\n };\n\n this.channel.execute = function() {\n dep();\n Marionette.deprecate('Channel commands are deprecated. Use requests.');\n return channelRequest.apply(this, arguments);\n };\n\n const listenTo = Marionette.Object.listenTo;\n\n Marionette.Object.listenTo = function(obj) {\n if (obj.__deprecateChannel) { dep(); }\n listenTo.apply(this, arguments);\n };\n }\n });\n}\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n var originalBind = Marionette.bindEvents;\n var originalUnbind = Marionette.unbindEvents;\n\n Marionette.bindEvents = function(context, entity, bindings) {\n if (_.isFunction(bindings)) {\n Marionette.deprecate('bindEvents no longer accepts bindings as a function in v3');\n bindings = bindings.call(context);\n }\n return originalBind(context, entity, bindings);\n };\n\n Marionette.unbindEvents = function(context, entity, bindings) {\n if (_.isFunction(bindings)) {\n Marionette.deprecate('unbindEvents no longer accepts bindings as a function in v3');\n bindings = bindings.call(context);\n }\n return originalUnbind(context, entity, bindings);\n };\n\n Marionette.bindEntityEvents = function(context, entity, bindings) {\n Marionette.deprecate('bindEntityEvents has been renamed to bindEvents in v3.');\n return Marionette.bindEvents(context, entity, bindings);\n };\n\n Marionette.unbindEntityEvents = function(context, entity, bindings) {\n Marionette.deprecate('unbindEntityEvents renamed to unbindEvents in v3.');\n return Marionette.unbindEvents(context, entity, bindings);\n };\n\n const bindEventsMixin = {\n bindEntityEvents(...args) {\n Marionette.deprecate('bindEntityEvents has been renamed to bindEvents in v3.');\n return Marionette.bindEvents(this, ...args);\n },\n unbindEntityEvents(...args) {\n Marionette.deprecate('unbindEntityEvents renamed to unbindEvents in v3.');\n return Marionette.unbindEvents(this, ...args);\n\n }\n };\n\n _.extend(Marionette.Object.prototype, bindEventsMixin);\n\n _.extend(Marionette.View.prototype, bindEventsMixin);\n\n _.extend(Marionette.CollectionView.prototype, bindEventsMixin);\n}\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n // Cache `childViewEvents` and `childViewTriggers`\n function _buildEventProxies() {\n if (this.childEvents || this.options.childEvents) {\n Marionette.deprecate('childEvents are deprecated. Use childViewEvents');\n this.mergeOptions(this.options, ['childEvents']);\n this._childViewEvents = _.result(this, 'childEvents');\n } else {\n this._childViewEvents = _.result(this, 'childViewEvents');\n }\n\n this._childViewTriggers = _.result(this, 'childViewTriggers');\n }\n\n _.extend(Marionette.View.prototype, {\n _buildEventProxies\n });\n\n _.extend(Marionette.CollectionView.prototype, {\n _buildEventProxies\n });\n}\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nexport default function(privateFunction, publicFunction, deprecation, ClassName) {\n const original = Marionette[ClassName].prototype[privateFunction];\n const options = {};\n\n options[privateFunction] = function() {\n this._nodep = true;\n return this[publicFunction].apply(this, arguments);\n }\n\n options[publicFunction] = function() {\n if (this._nodep) {\n this._nodep = false;\n } else {\n Marionette.deprecate(deprecation);\n }\n return original.apply(this, arguments);\n }\n\n _.extend(Marionette[ClassName].prototype, options);\n}\n","import Backbone from 'backbone';\nimport Marionette from 'backbone.marionette';\nimport restoreFunction from './utils/restoreFunction';\nexport default function() {\n\n restoreFunction('_endBuffering', 'endBuffering', 'endBuffering is now private.', 'CollectionView');\n restoreFunction('_startBuffering', 'startBuffering', 'startBuffering is now private.', 'CollectionView');\n restoreFunction('_showCollection', 'showCollection', 'showCollection is now private.', 'CollectionView');\n restoreFunction('_showEmptyView', 'showEmptyView', 'showEmptyView is now private.', 'CollectionView');\n restoreFunction('_destroyEmptyView', 'destroyEmptyView', 'destroyEmptyView is now private.', 'CollectionView');\n restoreFunction('_checkEmpty', 'checkEmpty', 'checkEmpty is now private.', 'CollectionView');\n restoreFunction('_destroyChildren', 'destroyChildren', 'destroyChildren is now private.', 'CollectionView');\n restoreFunction('_proxyChildEvents', 'proxyChildEvents', 'proxyChildEvents is now private.', 'CollectionView');\n restoreFunction('_addChild', 'addChild', 'addChild is now private.', 'CollectionView');\n\n const originalConstructor = Marionette.CollectionView.prototype.constructor;\n\n Marionette.CollectionView = Marionette.CollectionView.extend({\n constructor() {\n Backbone.Events.on.call(this, 'render:children', function() { this.triggerMethod('render:collection', this); });\n Backbone.Events.on.call(this, 'before:render:children', function() { this.triggerMethod('before:render:collection', this); });\n\n Backbone.Events.on.call(this, 'destroy:children', function() { this.triggerMethod('destroy:collection', this); });\n Backbone.Events.on.call(this, 'before:destroy:children', function() { this.triggerMethod('before:destroy:collection', this); });\n\n originalConstructor.apply(this, arguments);\n },\n initRenderBuffer() {\n Marionette.deprecate('initRenderBuffer is now private.');\n this._bufferedChildren = [];\n }\n });\n\n const originalConstructorComp = Marionette.CompositeView.prototype.constructor;\n\n Marionette.CompositeView = Marionette.CompositeView.extend({\n constructor() {\n Backbone.Events.on.call(this, 'render:children', function() { this.triggerMethod('render:collection', this); });\n Backbone.Events.on.call(this, 'before:render:children', function() { this.triggerMethod('before:render:collection', this); });\n\n Backbone.Events.on.call(this, 'destroy:children', function() { this.triggerMethod('destroy:collection', this); });\n Backbone.Events.on.call(this, 'before:destroy:children', function() { this.triggerMethod('before:destroy:collection', this); });\n originalConstructorComp.apply(this, arguments);\n }\n });\n\n}\n\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\nexport default function() {\n\n\n const originalRenderTemp = Marionette.CompositeView.prototype._renderTemplate;\n\n _.extend(Marionette.CompositeView.prototype, {\n _renderTemplate() {\n this.triggerMethod('before:render:template');\n originalRenderTemp.apply(this, arguments);\n this.triggerMethod('render:template');\n }\n });\n}\n","import Marionette from 'backbone.marionette';\n\nexport default function() {\n Marionette.Controller = Marionette.Object.extend({\n constructor(options) {\n this.options = options || {};\n\n const args = Array.prototype.slice.call(arguments);\n args[0] = this.options;\n\n Marionette.deprecate('Marionette.Controller is deprecated. Use Marionette.Object');\n Marionette.Object.prototype.constructor.apply(this, args);\n },\n\n destroy: function(...args) {\n this.triggerMethod('before:destroy', ...args);\n this.triggerMethod('destroy', ...args);\n this.stopListening();\n\n return this;\n }\n });\n}\n","import _ from 'underscore';\nimport Backbone from 'backbone';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n const deprecatedEvents = {\n 'render:collection': true,\n 'destroy:collection:': true,\n 'render:template': true\n };\n\n const dep = function(name) {\n Marionette.deprecate(`${ name } event is deprecated.`);\n }\n\n const listenTo = Backbone.View.prototype.listenTo;\n\n Backbone.View.prototype.listenTo = function(obj, name) {\n if (deprecatedEvents[name]) { dep(name); }\n if (_.isObject(name)) {\n _.each(name, function(value, key) {\n if (deprecatedEvents[key]) { dep(key); }\n });\n }\n listenTo.apply(this, arguments);\n }\n\n const on = Backbone.View.prototype.on;\n\n Backbone.View.prototype.on = function(name) {\n if (deprecatedEvents[name]) { dep(name); }\n if (_.isObject(name)) {\n _.each(name, function(value, key) {\n if (deprecatedEvents[key]) { dep(key); }\n });\n }\n on.apply(this, arguments);\n }\n};\n","import restoreFunction from './utils/restoreFunction';\n\nexport default function() {\n\n restoreFunction('_getChildView', 'getChildView', 'getChildView is deprecated. Use childView instead.', 'CollectionView');\n restoreFunction('_getEmptyView', 'getEmptyView', 'getEmptyView is deprecated. Use emptyView instead.', 'CollectionView');\n}\n","import Marionette from 'backbone.marionette';\n\nexport default function() {\n Marionette.ItemView = Marionette.View.extend({\n constructor() {\n Marionette.deprecate('Marionette.ItemView is deprecated. Use Marionette.View');\n Marionette.View.prototype.constructor.apply(this, arguments);\n }\n });\n}\n","import Marionette from 'backbone.marionette';\n\nexport default function() {\n Marionette.LayoutView = Marionette.View.extend({\n constructor() {\n Marionette.deprecate('Marionette.LayoutView is deprecated. Use Marionette.View');\n Marionette.View.prototype.constructor.apply(this, arguments);\n }\n });\n}\n","import _ from 'underscore';\nimport Backbone from 'backbone';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n const originalConstructor = Marionette.Application.prototype.constructor;\n\n Marionette.Deferred = function() {\n Marionette.deprecate('Marionette.Deferred is deprecated and removed in v3.');\n return Backbone.$.Deferred.apply(this, arguments);\n };\n\n Marionette.Application = Marionette.Application.extend({\n constructor: function() {\n this._initCallbacks = new Marionette.Callbacks();\n this.submodules = {};\n originalConstructor.apply(this, arguments);\n },\n\n addInitializer: function(initializer) {\n Marionette.deprecate('Application Initializers are deprecated and removed in v3.');\n this._initCallbacks.add(initializer);\n },\n\n start: function(options) {\n this.triggerMethod('before:start', options);\n this._initCallbacks.run(options, this);\n this.triggerMethod('start', options);\n },\n\n module: function(moduleNames, moduleDefinition) {\n\n // Overwrite the module class if the user specifies one\n var ModuleClass = Marionette.Module.getClass(moduleDefinition);\n\n var args = _.toArray(arguments);\n args.unshift(this);\n\n // see the Marionette.Module object for more information\n return ModuleClass.create.apply(ModuleClass, args);\n }\n });\n\n\n // Callbacks\n // ---------\n\n // A simple way of managing a collection of callbacks\n // and executing them at a later point in time, using jQuery's\n // `Deferred` object.\n Marionette.Callbacks = function() {\n this._deferred = Marionette.Deferred();\n this._callbacks = [];\n };\n\n _.extend(Marionette.Callbacks.prototype, {\n\n // Add a callback to be executed. Callbacks added here are\n // guaranteed to execute, even if they are added after the\n // `run` method is called.\n add: function(callback, contextOverride) {\n var promise = _.result(this._deferred, 'promise');\n\n this._callbacks.push({cb: callback, ctx: contextOverride});\n\n promise.then(function(args) {\n if (contextOverride) { args.context = contextOverride; }\n callback.call(args.context, args.options);\n });\n },\n\n // Run all registered callbacks with the context specified.\n // Additional callbacks can be added after this has been run\n // and they will still be executed.\n run: function(options, context) {\n this._deferred.resolve({\n options: options,\n context: context\n });\n },\n\n // Resets the list of callbacks to be run, allowing the same list\n // to be run multiple times - whenever the `run` method is called.\n reset: function() {\n var callbacks = this._callbacks;\n this._deferred = Marionette.Deferred();\n this._callbacks = [];\n\n _.each(callbacks, function(cb) {\n this.add(cb.cb, cb.ctx);\n }, this);\n }\n });\n\n // A simple module system, used to create privacy and encapsulation in\n // Marionette applications\n Marionette.Module = function(moduleName, app, options) {\n Marionette.deprecate('Marionette.module is deprecated and removed in v3.');\n\n this.moduleName = moduleName;\n this.options = _.extend({}, this.options, options);\n // Allow for a user to overide the initialize\n // for a given module instance.\n this.initialize = options.initialize || this.initialize;\n\n // Set up an internal store for sub-modules.\n this.submodules = {};\n\n this._setupInitializersAndFinalizers();\n\n // Set an internal reference to the app\n // within a module.\n this.app = app;\n\n if (_.isFunction(this.initialize)) {\n this.initialize(moduleName, app, this.options);\n }\n };\n\n Marionette.Module.extend = Marionette.extend;\n\n // Extend the Module prototype with events / listenTo, so that the module\n // can be used as an event aggregator or pub/sub.\n _.extend(Marionette.Module.prototype, Backbone.Events, {\n\n // By default modules start with their parents.\n startWithParent: true,\n\n // Initialize is an empty function by default. Override it with your own\n // initialization logic when extending Marionette.Module.\n initialize: function() {},\n\n // Initializer for a specific module. Initializers are run when the\n // module's `start` method is called.\n addInitializer: function(callback) {\n this._initializerCallbacks.add(callback);\n },\n\n // Finalizers are run when a module is stopped. They are used to teardown\n // and finalize any variables, references, events and other code that the\n // module had set up.\n addFinalizer: function(callback) {\n this._finalizerCallbacks.add(callback);\n },\n\n // Start the module, and run all of its initializers\n start: function(options) {\n // Prevent re-starting a module that is already started\n if (this._isInitialized) { return; }\n\n // start the sub-modules (depth-first hierarchy)\n _.each(this.submodules, function(mod) {\n // check to see if we should start the sub-module with this parent\n if (mod.startWithParent) {\n mod.start(options);\n }\n });\n\n // run the callbacks to \"start\" the current module\n this.triggerMethod('before:start', options);\n\n this._initializerCallbacks.run(options, this);\n this._isInitialized = true;\n\n this.triggerMethod('start', options);\n },\n\n // Stop this module by running its finalizers and then stop all of\n // the sub-modules for this module\n stop: function() {\n // if we are not initialized, don't bother finalizing\n if (!this._isInitialized) { return; }\n this._isInitialized = false;\n\n this.triggerMethod('before:stop');\n\n // stop the sub-modules; depth-first, to make sure the\n // sub-modules are stopped / finalized before parents\n _.invoke(this.submodules, 'stop');\n\n // run the finalizers\n this._finalizerCallbacks.run(undefined, this);\n\n // reset the initializers and finalizers\n this._initializerCallbacks.reset();\n this._finalizerCallbacks.reset();\n\n this.triggerMethod('stop');\n },\n\n // Configure the module with a definition function and any custom args\n // that are to be passed in to the definition function\n addDefinition: function(moduleDefinition, customArgs) {\n this._runModuleDefinition(moduleDefinition, customArgs);\n },\n\n // Internal method: run the module definition function with the correct\n // arguments\n _runModuleDefinition: function(definition, customArgs) {\n // If there is no definition short circut the method.\n if (!definition) { return; }\n\n // build the correct list of arguments for the module definition\n var args = _.flatten([\n this,\n this.app,\n Backbone,\n Marionette,\n Backbone.$, _,\n customArgs\n ]);\n\n definition.apply(this, args);\n },\n\n // Internal method: set up new copies of initializers and finalizers.\n // Calling this method will wipe out all existing initializers and\n // finalizers.\n _setupInitializersAndFinalizers: function() {\n this._initializerCallbacks = new Marionette.Callbacks();\n this._finalizerCallbacks = new Marionette.Callbacks();\n },\n\n // import the `triggerMethod` to trigger events with corresponding\n // methods if the method exists\n triggerMethod: function(...args) { return Marionette.triggerMethod.apply(this, [this].concat(args)); }\n });\n\n // Class methods to create modules\n _.extend(Marionette.Module, {\n\n // Create a module, hanging off the app parameter as the parent object.\n create: function(app, moduleNames, moduleDefinition) {\n var module = app;\n\n // get the custom args passed in after the module definition and\n // get rid of the module name and definition function\n var customArgs = _.drop(arguments, 3);\n\n // Split the module names and get the number of submodules.\n // i.e. an example module name of `Doge.Wow.Amaze` would\n // then have the potential for 3 module definitions.\n moduleNames = moduleNames.split('.');\n var length = moduleNames.length;\n\n // store the module definition for the last module in the chain\n var moduleDefinitions = [];\n moduleDefinitions[length - 1] = moduleDefinition;\n\n // Loop through all the parts of the module definition\n _.each(moduleNames, function(moduleName, i) {\n var parentModule = module;\n module = this._getModule(parentModule, moduleName, app, moduleDefinition);\n this._addModuleDefinition(parentModule, module, moduleDefinitions[i], customArgs);\n }, this);\n\n // Return the last module in the definition chain\n return module;\n },\n\n _getModule: function(parentModule, moduleName, app, def, args) {\n var options = _.extend({}, def);\n var ModuleClass = this.getClass(def);\n\n // Get an existing module of this name if we have one\n var module = parentModule[moduleName];\n\n if (!module) {\n // Create a new module if we don't have one\n module = new ModuleClass(moduleName, app, options);\n parentModule[moduleName] = module;\n // store the module on the parent\n parentModule.submodules[moduleName] = module;\n }\n\n return module;\n },\n\n // ## Module Classes\n //\n // Module classes can be used as an alternative to the define pattern.\n // The extend function of a Module is identical to the extend functions\n // on other Backbone and Marionette classes.\n // This allows module lifecyle events like `onStart` and `onStop` to be called directly.\n getClass: function(moduleDefinition) {\n var ModuleClass = Marionette.Module;\n\n if (!moduleDefinition) {\n return ModuleClass;\n }\n\n // If all of the module's functionality is defined inside its class,\n // then the class can be passed in directly. `MyApp.module(\"Foo\", FooModule)`.\n if (moduleDefinition.prototype instanceof ModuleClass) {\n return moduleDefinition;\n }\n\n return moduleDefinition.moduleClass || ModuleClass;\n },\n\n // Add the module definition and add a startWithParent initializer function.\n // This is complicated because module definitions are heavily overloaded\n // and support an anonymous function, module class, or options object\n _addModuleDefinition: function(parentModule, module, def, args) {\n var fn = this._getDefine(def);\n var startWithParent = this._getStartWithParent(def, module);\n\n if (fn) {\n module.addDefinition(fn, args);\n }\n\n this._addStartWithParent(parentModule, module, startWithParent);\n },\n\n _getStartWithParent: function(def, module) {\n var swp;\n\n if (_.isFunction(def) && (def.prototype instanceof Marionette.Module)) {\n swp = module.constructor.prototype.startWithParent;\n return _.isUndefined(swp) ? true : swp;\n }\n\n if (_.isObject(def)) {\n swp = def.startWithParent;\n return _.isUndefined(swp) ? true : swp;\n }\n\n return true;\n },\n\n _getDefine: function(def) {\n if (_.isFunction(def) && !(def.prototype instanceof Marionette.Module)) {\n return def;\n }\n\n if (_.isObject(def)) {\n return def.define;\n }\n\n return null;\n },\n\n _addStartWithParent: function(parentModule, module, startWithParent) {\n module.startWithParent = module.startWithParent && startWithParent;\n\n if (!module.startWithParent || !!module.startWithParentIsConfigured) {\n return;\n }\n\n module.startWithParentIsConfigured = true;\n\n parentModule.addInitializer(function(options) {\n if (module.startWithParent) {\n module.start(options);\n }\n });\n }\n });\n\n}\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n var normalizeUIString = function(uiString, ui) {\n return uiString.replace(/@ui\\.[a-zA-Z-_$0-9]*/g, function(r) {\n return ui[r.slice(4)];\n });\n };\n\n Marionette.normalizeUIString = function(uiString, ui) {\n Marionette.deprecate('normalizeUIString was removed in v3.');\n return normalizeUIString.apply(this, arguments);\n };\n\n var normalizeUIKeys = function(hash, ui) {\n return _.reduce(hash, function(memo, val, key) {\n var normalizedKey = normalizeUIString(key, ui);\n memo[normalizedKey] = val;\n return memo;\n }, {});\n };\n\n Marionette.normalizeUIKeys = function(hash, ui) {\n Marionette.deprecate('normalizeUIKeys was removed in v3.');\n return normalizeUIKeys.apply(this, arguments);\n };\n\n var normalizeUIValues = function(hash, ui, properties) {\n _.each(hash, function(val, key) {\n if (_.isString(val)) {\n hash[key] = normalizeUIString(val, ui);\n } else if (_.isObject(val) && _.isArray(properties)) {\n _.extend(val, normalizeUIValues(_.pick(val, properties), ui));\n /* Value is an object, and we got an array of embedded property names to normalize. */\n _.each(properties, function(property) {\n var propertyVal = val[property];\n if (_.isString(propertyVal)) {\n val[property] = normalizeUIString(propertyVal, ui);\n }\n });\n }\n });\n return hash;\n };\n\n Marionette.normalizeUIValues = function(hash, ui, properties) {\n Marionette.deprecate('normalizeUIValues was removed in v3.');\n return normalizeUIValues.apply(this, arguments);\n };\n\n}\n","import Marionette from 'backbone.marionette';\n\nexport default function() {\n Marionette.proxyGetOption = function(optionName) {\n Marionette.deprecate('proxyGetOption has been deprecated and removed in v3.');\n return Marionette.getOption(this, optionName);\n };\n\n Marionette.proxyBindEntityEvents = function(entity, bindings) {\n Marionette.deprecate('proxyBindEntityEvents has been deprecated and removed in v3.');\n return Marionette.bindEvents(this, entity, bindings);\n };\n\n Marionette.proxyUnbindEntityEvents = function(entity, bindings) {\n Marionette.deprecate('proxyUnbindEntityEvents has been deprecated and removed in v3.');\n return Marionette.unbindEvents(this, entity, bindings);\n };\n}\n","import Marionette from 'backbone.marionette';\n\nexport default function() {\n\n const originalShow = Marionette.Region.prototype.show;\n\n Marionette.Region = Marionette.Region.extend({\n attachView(view) {\n Marionette.deprecate('Region#attachView was removed in v3. Use Region#show without fear of re-rendering.')\n if (this.currentView) {\n delete this.currentView._parent;\n }\n view._parent = this;\n this.currentView = view;\n return this;\n },\n show(view, options) {\n if (!this._ensureElement(options)) {\n return;\n }\n this._ensureView(view);\n if (view === this.currentView) { return this; }\n if (view._isRendered) {\n view.render();\n Marionette.deprecate('Rendered views shown in a Region are not re-rendered in v3.');\n }\n var isChangingView = !!this.currentView;\n if (isChangingView) {\n this.triggerMethod('before:swapOut', this.currentView, this, options);\n this.triggerMethod('before:swap', view, this, options);\n this.triggerMethod('swapOut', this.currentView, this, options);\n }\n originalShow.apply(this, arguments);\n if (isChangingView) {\n this.triggerMethod('swap', view, this, options);\n }\n return this;\n },\n });\n}\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n // Manage one or more related `Marionette.Region` objects.\n Marionette.RegionManager = Marionette.Object.extend({\n constructor: function(options) {\n this._regions = {};\n this.length = 0;\n\n Marionette.Object.call(this, options);\n\n this.addRegions(this.getOption('regions'));\n },\n\n // Add multiple regions using an object literal or a\n // function that returns an object literal, where\n // each key becomes the region name, and each value is\n // the region definition.\n addRegions: function(regionDefinitions, defaults) {\n regionDefinitions = Marionette._getValue(regionDefinitions, this, arguments);\n\n if (!_.isEmpty(regionDefinitions)) {\n Marionette.deprecate('RegionManager is deprecated and removed in v3.');\n }\n\n return _.reduce(regionDefinitions, function(regions, definition, name) {\n if (_.isString(definition)) {\n definition = {selector: definition};\n }\n if (definition.selector) {\n definition = _.defaults({}, definition, defaults);\n }\n\n regions[name] = this.addRegion(name, definition);\n return regions;\n }, {}, this);\n },\n\n // Add an individual region to the region manager,\n // and return the region instance\n addRegion: function(name, definition) {\n var region;\n\n if (definition instanceof Marionette.Region) {\n region = definition;\n } else {\n region = Marionette.Region.buildRegion(definition, Marionette.Region);\n }\n\n this.triggerMethod('before:add:region', name, region);\n\n region._parent = this;\n this._store(name, region);\n\n this.triggerMethod('add:region', name, region);\n return region;\n },\n\n // Get a region by name\n get: function(name) {\n return this._regions[name];\n },\n\n // Gets all the regions contained within\n // the `regionManager` instance.\n getRegions: function() {\n return _.clone(this._regions);\n },\n\n // Remove a region by name\n removeRegion: function(name) {\n var region = this._regions[name];\n this._remove(name, region);\n\n return region;\n },\n\n // Empty all regions in the region manager, and\n // remove them\n removeRegions: function() {\n var regions = this.getRegions();\n _.each(this._regions, function(region, name) {\n this._remove(name, region);\n }, this);\n\n return regions;\n },\n\n // Empty all regions in the region manager, but\n // leave them attached\n emptyRegions: function() {\n var regions = this.getRegions();\n _.invoke(regions, 'empty');\n return regions;\n },\n\n // Destroy all regions and shut down the region\n // manager entirely\n destroy: function() {\n this.removeRegions();\n return Marionette.Object.prototype.destroy.apply(this, arguments);\n },\n\n // internal method to store regions\n _store: function(name, region) {\n if (!this._regions[name]) {\n this.length++;\n }\n\n this._regions[name] = region;\n },\n\n // internal method to remove a region\n _remove: function(name, region) {\n this.triggerMethod('before:remove:region', name, region);\n region.empty();\n region.stopListening();\n\n delete region._parent;\n delete this._regions[name];\n this.length--;\n this.triggerMethod('remove:region', name, region);\n }\n });\n\n // Mix in methods from Underscore, for iteration, and other\n // collection related features.\n // Borrowing this code from Backbone.Collection:\n // http://backbonejs.org/docs/backbone.html#section-121\n var _actAsCollection = function(object, listProperty) {\n var methods = ['forEach', 'each', 'map', 'find', 'detect', 'filter',\n 'select', 'reject', 'every', 'all', 'some', 'any', 'include',\n 'contains', 'invoke', 'toArray', 'first', 'initial', 'rest',\n 'last', 'without', 'isEmpty', 'pluck'];\n\n _.each(methods, function(method) {\n object[method] = function() {\n var list = _.values(_.result(this, listProperty));\n var args = [list].concat(_.toArray(arguments));\n return _[method].apply(_, args);\n };\n });\n };\n\n Marionette.actAsCollection = function(object, listProperty) {\n Marionette.deprecate('actAsCollection is deprecated and removed in v3.');\n\n return _actAsCollection.apply(this, arguments);\n }\n\n _actAsCollection(Marionette.RegionManager.prototype, '_regions');\n\n}\n","import _ from 'underscore';\nimport Backbone from 'backbone';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n function dep() {\n Marionette.deprecate('Show events are no longer triggered on the View. User render or attach.');\n }\n\n function triggerOnChildren(children, name) {\n if (!children) { return; }\n\n children.each(function(v) {\n if (!v._isShown) { Marionette.triggerMethodOn(v, name, v); }\n if (name === 'show') { v._isShown = true; }\n });\n }\n\n\n var regionTriggerMethod = Marionette.Region.prototype.triggerMethod;\n\n Marionette.Region.prototype.triggerMethod = function(name, region, view, options) {\n var result;\n\n if (name === 'before:show') {\n result = regionTriggerMethod.call(this, 'before:show', view, region, options);\n if (!view._isShown) {\n view.once('render', function() {\n Marionette.triggerMethodOn(view, 'before:show', view, region, options);\n });\n }\n view.once('render', function() {\n triggerOnChildren(view.children, name);\n });\n } else if (name === 'show') {\n result = regionTriggerMethod.call(this, 'show', view, region, options);\n if (!view._isShown) { Marionette.triggerMethodOn(view, 'show', view, region, options); }\n view._isShown = true;\n triggerOnChildren(view.children, name);\n } else {\n result = regionTriggerMethod.apply(this, arguments);\n }\n\n return result;\n };\n\n var _addChildView = Marionette.CollectionView.prototype._addChildView;\n\n Marionette.CollectionView.prototype._addChildView = function(view) {\n view.once('render', function() {\n // trigger the 'before:show' event on `view` if the collection view has already been shown\n if (this._isShown && !this._isBuffering) {\n Marionette.triggerMethodOn(view, 'before:show', view);\n }\n }, this);\n\n _addChildView.apply(this, arguments);\n\n if (this._isShown && !this._isBuffering) {\n if (!view._isShown) {\n Marionette.triggerMethodOn(view, 'show', view);\n }\n view._isShown = true;\n }\n };\n\n\n // split the event name on the \":\"\n var splitter = /(^|:)(\\w)/gi;\n\n // take the event section (\"section1:section2:section3\")\n // and turn it in to uppercase name onSection1Section2Section3\n function getEventName(match, prefix, eventName) {\n return eventName.toUpperCase();\n }\n\n var trigger = Backbone.Events.trigger;\n\n Backbone.Events.trigger = function(name) {\n var isView = this.prototype instanceof Backbone.View || this === Backbone.View;\n var isRegion = this.prototype instanceof Marionette.Region || this === Marionette.Region;\n if (isView || isRegion) {\n var methodName = 'on' + name.replace(splitter, getEventName);\n var method = (this.options && this.options[methodName]) || this[methodName];\n\n if (_.isFunction(method)) {\n if (isView) {\n dep();\n } else {\n if (method.length > 1) {\n Marionette.deprecate('Region show events in v3 pass the region and the 1st argument and the view as the 2nd');\n }\n }\n }\n\n if (!this._events) { return this; }\n\n if ((name === 'before:show' || name === 'show') && this._events[name]) {\n if (isView) {\n dep();\n } else {\n if (this._events[name].length > 1) {\n Marionette.deprecate('Region show events in v3 pass the region and the 1st argument and the view as the 2nd');\n }\n }\n }\n }\n\n return trigger.apply(this, arguments);\n }\n}\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n function dep() {\n Marionette.deprecate('Regions attached to the Application are deprecated. Application now only has a single region.');\n }\n\n const originalConstructor = Marionette.Application.prototype.constructor;\n\n Marionette.Application = Marionette.Application.extend({\n constructor: function(options) {\n this._initializeRegions(options);\n originalConstructor.apply(this, arguments);\n },\n\n // Add regions to your app.\n // Accepts a hash of named strings or Region objects\n // addRegions({something: \"#someRegion\"})\n // addRegions({something: Region.extend({el: \"#someRegion\"}) });\n addRegions: function(regions) {\n return this._regionManager.addRegions(regions);\n },\n\n // Empty all regions in the app, without removing them\n emptyRegions: function() {\n return this._regionManager.emptyRegions();\n },\n\n // Removes a region from your app, by name\n // Accepts the regions name\n // removeRegion('myRegion')\n removeRegion: function(region) {\n return this._regionManager.removeRegion(region);\n },\n\n // Provides alternative access to regions\n // Accepts the region name\n // getRegion('main')\n getRegion: function(region) {\n if (arguments.length) {\n dep();\n return this._regionManager.get(region);\n }\n\n return this._region;\n },\n\n // Get all the regions from the region manager\n getRegions: function() {\n return this._regionManager.getRegions();\n },\n\n // Enable easy overriding of the default `RegionManager`\n // for customized region interactions and business-specific\n // view logic for better control over single regions.\n getRegionManager: function() {\n return new Marionette.RegionManager();\n },\n\n // Internal method to initialize the regions that have been defined in a\n // `regions` attribute on the application instance\n _initializeRegions: function(options = {}) {\n var regions = _.isFunction(this.regions) ? this.regions(options) : this.regions || {};\n\n // Enable users to define `regions` in instance options.\n var optionRegions = (options.options && options.options.regions) || options.regions;\n\n // Enable region options to be a function\n if (_.isFunction(optionRegions)) {\n optionRegions = optionRegions.call(this, options);\n }\n\n // Overwrite current regions with those passed in options\n _.extend(regions, optionRegions);\n\n this._initRegionManager();\n\n if (!_.isEmpty(regions)) {\n dep();\n\n this.addRegions(regions);\n }\n\n return this;\n },\n\n // Internal method to set up the region manager\n _initRegionManager: function() {\n this._regionManager = this.getRegionManager();\n this._regionManager._parent = this;\n\n this.listenTo(this._regionManager, 'before:add:region', function(name, region) {\n this.triggerMethod('before:add:region', name, region);\n });\n\n this.listenTo(this._regionManager, 'add:region', function(name, region) {\n this[name] = region;\n this.triggerMethod('add:region', name, region);\n });\n\n this.listenTo(this._regionManager, 'before:remove:region', function(name, region) {\n this.triggerMethod('before:remove:region', name, region);\n });\n\n this.listenTo(this._regionManager, 'remove:region', function(name, region) {\n delete this[name];\n this.triggerMethod('remove:region', name, region);\n });\n }\n })\n\n}\n","import _ from 'underscore';\nimport Backbone from 'backbone';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n function dep() {\n Marionette.deprecate('Regions attached to the view are deprecated. Use View#getRegion or View#showChildView');\n }\n\n function _addRegion(view, name, region) {\n const regionShow = region.show;\n const regionEmpty = region.empty;\n const regionReset = region.reset;\n const regionOn = region.on;\n\n const newRegion = _.extend({}, region, {\n on() {\n dep();\n regionOn.apply(this, arguments);\n },\n show() {\n dep();\n regionShow.apply(this, arguments);\n },\n empty() {\n dep();\n regionEmpty.apply(this, arguments);\n },\n reset() {\n dep();\n regionReset.apply(this, arguments);\n },\n __deprecatedRegion: true\n });\n\n view[name] = newRegion;\n }\n\n function _removeRegion(view, name, region) {\n delete view[name];\n }\n\n const listenTo = Backbone.View.prototype.listenTo;\n\n Backbone.View.prototype.listenTo = function(obj) {\n if (obj.__deprecatedRegion) { dep(); }\n listenTo.apply(this, arguments);\n }\n\n const initRegions = Marionette.View.prototype._initRegions;\n\n _.extend(Marionette.View.prototype, {\n _initRegions() {\n this.regionClass = Marionette.Region;\n this.on({\n 'add:region': _addRegion,\n 'remove:region': _removeRegion\n });\n initRegions.apply(this, arguments);\n }\n });\n}\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n _.extend(Marionette.Region, {\n\n buildRegion: function(regionConfig, DefaultRegionClass) {\n\n Marionette.deprecate('Region Static Options are deprecated and removed in v3.');\n\n if (_.isString(regionConfig)) {\n return this._buildRegionFromSelector(regionConfig, DefaultRegionClass);\n }\n\n if (regionConfig.selector || regionConfig.el || regionConfig.regionClass) {\n return this._buildRegionFromObject(regionConfig, DefaultRegionClass);\n }\n\n if (_.isFunction(regionConfig)) {\n return this._buildRegionFromRegionClass(regionConfig);\n }\n\n throw new Marionette.Error({\n message: 'Improper region configuration type.',\n url: 'marionette.region.html#region-configuration-types'\n });\n },\n\n // Build the region from a string selector like '#foo-region'\n _buildRegionFromSelector: function(selector, DefaultRegionClass) {\n return new DefaultRegionClass({el: selector});\n },\n\n // Build the region from a configuration object\n // ```js\n // { selector: '#foo', regionClass: FooRegion, allowMissingEl: false }\n // ```\n _buildRegionFromObject: function(regionConfig, DefaultRegionClass) {\n var RegionClass = regionConfig.regionClass || DefaultRegionClass;\n var options = _.omit(regionConfig, 'selector', 'regionClass');\n\n if (regionConfig.selector && !options.el) {\n options.el = regionConfig.selector;\n }\n\n return new RegionClass(options);\n },\n\n // Build the region directly from a given `RegionClass`\n _buildRegionFromRegionClass: function(RegionClass) {\n return new RegionClass();\n }\n });\n\n}\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n function mixinTemplateContext(target = {}) {\n if (this.templateHelpers || this.options.templateHelpers) {\n Marionette.deprecate('templateHelpers are deprecated. Use templateContext');\n this.mergeOptions(this.options, ['templateHelpers']);\n const templateHelpers = _.result(this, 'templateHelpers');\n return _.extend(target, templateHelpers);\n }\n\n const templateContext = _.result(this, 'templateContext');\n return _.extend(target, templateContext);\n }\n\n function mixinTemplateHelpers() {\n Marionette.deprecate('mixinTemplateHelpers was renamed mixinTemplateContext in v3.');\n mixinTemplateContext.apply(this, arguments);\n }\n\n _.extend(Marionette.View.prototype, {\n mixinTemplateContext,\n mixinTemplateHelpers\n });\n\n _.extend(Marionette.CompositeView.prototype, {\n mixinTemplateContext,\n mixinTemplateHelpers\n });\n}\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n // split the event name on the \":\"\n var splitter = /(^|:)(\\w)/gi;\n\n // take the event section (\"section1:section2:section3\")\n // and turn it in to uppercase name onSection1Section2Section3\n function getEventName(match, prefix, eventName) {\n return eventName.toUpperCase();\n }\n\n const triggerParent = Marionette.View.prototype._triggerEventOnParentLayout;\n\n function _triggerEventOnParentLayout(eventName, ...args) {\n const layoutView = this._parentView();\n if (!layoutView) { return; }\n\n args = args || [];\n\n const eventPrefix = _.result(layoutView, 'childViewEventPrefix');\n const prefixedEventName = eventPrefix + ':' + eventName;\n\n var methodName = 'on' + prefixedEventName.replace(splitter, getEventName);\n var method = (layoutView.options && layoutView.options[methodName]) || layoutView[methodName];\n\n // If this is true we expect that it is expecting `this`\n // as its first argument\n if ((_.isFunction(method) && method.length) === args.length + 1 ||\n (layoutView._events && layoutView._events[prefixedEventName] && layoutView._events[prefixedEventName].length) === args.length + 1) {\n args = [this].concat(args);\n Marionette.deprecate('The triggering view is no longer prepended on to the arguments of proxied child events.');\n }\n\n return triggerParent.apply(this, [eventName].concat(args));\n }\n\n function _proxyChildEvents(view) {\n var prefix = this.getOption('childViewEventPrefix');\n\n // Forward all child view events through the parent,\n // prepending \"childview:\" to the event name\n this.listenTo(view, 'all', function() {\n var args = _.toArray(arguments);\n var rootEvent = args[0];\n\n\n var childViewEvents = this.normalizeMethods(this._childViewEvents);\n\n // call collectionView childViewEvent if defined\n if (typeof childViewEvents !== 'undefined' && _.isFunction(childViewEvents[rootEvent])) {\n childViewEvents[rootEvent].apply(this, [view].concat(_.rest(args)));\n }\n\n // use the parent view's proxyEvent handlers\n var childViewTriggers = this._childViewTriggers;\n\n // Call the event with the proxy name on the parent layout\n if (childViewTriggers && _.isString(childViewTriggers[rootEvent])) {\n this.triggerMethod.apply(this, [childViewTriggers[rootEvent]].concat(args));\n }\n\n args[0] = prefix + ':' + rootEvent;\n args.splice(1, 0, view);\n\n this.triggerMethod.apply(this, args);\n });\n }\n\n _.extend(Marionette.View.prototype, {\n _triggerEventOnParentLayout\n });\n\n _.extend(Marionette.CompositeView.prototype, {\n _triggerEventOnParentLayout\n });\n\n _.extend(Marionette.CollectionView.prototype, {\n _proxyChildEvents\n });\n}\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nexport default function() {\n\n const originalConstructor = Marionette.View.prototype.constructor;\n\n Marionette.View = Marionette.View.extend({\n constructor(options) {\n const args = Array.prototype.slice.call(arguments);\n\n if (_.isFunction(options)) {\n Marionette.deprecate('Marionette.View options is no longer supported as a function. Please use an object instead.');\n options = options();\n\n args[0] = options;\n }\n\n originalConstructor.apply(this, args);\n }\n });\n};\n","import _ from 'underscore';\nimport Marionette from 'backbone.marionette';\n\nimport ApplicationWreqr from './ApplicationWreqr';\nimport bindEntityEvents from './bindEntityEvents';\nimport childEvents from './childEvents';\nimport CollectionView from './CollectionView';\nimport CompositeView from './CompositeView';\nimport Controller from './Controller';\nimport deprecatedEvents from './deprecatedEvents';\nimport getChildView from './getChildView';\nimport ItemView from './ItemView';\nimport LayoutView from './LayoutView';\nimport Module from './Module';\nimport normalizeUi from './normalizeUi';\nimport proxyFunctions from './proxyFunctions';\nimport Region from './Region';\nimport RegionManager from './RegionManager';\nimport RegionShowEvent from './RegionShowEvent';\nimport regionsOnApplication from './regionsOnApplication';\nimport regionsOnView from './regionsOnView';\nimport RegionStaticMethods from './RegionStaticMethods';\nimport templateHelpers from './templateHelpers';\nimport triggerProxy from './triggerProxy';\nimport viewOptions from './viewOptions';\n\nMarionette.DEV_MODE = true;\n\nif (!Marionette || Marionette.VERSION.charAt(0) !== '3') {\n alert('marionette-v3-compat patches Marionette v3 to act like v2. Marionette v3 not found.');\n}\n\nMarionette.VERSION = 'marionette-v3-compat';\n\n// Add a console.trace to the deprecate message\nMarionette.deprecate._warn = function() {\n const warn = Marionette.deprecate._console.warn || Marionette.deprecate._console.log || function() {};\n console.trace();\n return warn.apply(Marionette.deprecate._console, arguments);\n};\n\nMarionette._getValue = function(value, context, params) {\n if (_.isFunction(value)) {\n value = params ? value.apply(context, params) : value.call(context);\n }\n return value;\n};\n\nexport default function(opts = {}) {\n const patches = _.extend({\n ApplicationWreqr,\n bindEntityEvents,\n childEvents,\n CollectionView,\n CompositeView,\n Controller,\n deprecatedEvents,\n getChildView,\n ItemView,\n LayoutView,\n Module,\n normalizeUi,\n proxyFunctions,\n Region,\n RegionManager,\n RegionShowEvent,\n regionsOnApplication,\n regionsOnView,\n RegionStaticMethods,\n templateHelpers,\n triggerProxy,\n viewOptions\n }, opts);\n\n _.mapObject(patches, function(patch) {\n if (_.isFunction(patch)) {\n patch();\n }\n });\n}\n"],"sourceRoot":"/source/"} \ No newline at end of file