fluxxor-rails 1.3.1 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e1fdeb6424a27db728e310822f9ffd71a232e631
4
- data.tar.gz: 5aa67b4dd4bcf80ff9e2276264157ad75f6e8039
3
+ metadata.gz: 8ce161443f8f80328efc4fe622b64c3152463cab
4
+ data.tar.gz: 66dae89dacd2457aad81a3e7ef0762ee7d801187
5
5
  SHA512:
6
- metadata.gz: 675b46e6d4d3c8c85927b1a6910c08c49224535d5dcaacb1faf72f8b8f6bd424c0e267b2e56813b87e8ba75511dac5e50f4215169a3ecd5361b841f1683f3153
7
- data.tar.gz: 0f1819e6edcabf289c91c02a97400a8534d0517d836b230b013b4e967c01f8eee1a557c85f8578d07b616ba8add64b2f69dd51c1548e18b0710ab5e55b030740
6
+ metadata.gz: f33dede9fa13b97de793d6f3f1ce55e4caafe9af31c07f8a5fcc6f002e452d4dfe622ad8046bdb6cc01e6d9262619aca1b3398707d49e0da35cda4993478f163
7
+ data.tar.gz: cf57ba00068dbde161b520b0605dac0c9d2213f66a4b2febc10bb561144092530f8bc9ceb7829101d85c8e7108577fce80ae5a36b68d0b15e8fd119809ba3c84
@@ -1,5 +1,5 @@
1
1
  module Fluxxor
2
2
  module Rails
3
- VERSION = '1.3.1'
3
+ VERSION = '1.3.2'
4
4
  end
5
5
  end
@@ -75,3 +75,8 @@ Started GET "/assets/fluxxor.js" for 127.0.0.1 at 2015-09-23 13:50:40 -0500
75
75
  Served asset /fluxxor.js - 200 OK (2ms)
76
76
  Started GET "/assets/fluxxor.js" for 127.0.0.1 at 2015-09-23 13:50:40 -0500
77
77
  Served asset /fluxxor.js - 200 OK (0ms)
78
+ Started GET "/assets/fluxxor.js" for 127.0.0.1 at 2015-09-23 13:51:18 -0500
79
+ Compiled fluxxor.js (1ms) (pid 17115)
80
+ Served asset /fluxxor.js - 200 OK (7ms)
81
+ Started GET "/assets/fluxxor.js" for 127.0.0.1 at 2015-09-23 13:51:18 -0500
82
+ Served asset /fluxxor.js - 200 OK (0ms)
@@ -79,22 +79,22 @@ return /******/ (function(modules) { // webpackBootstrap
79
79
  /* 1 */
80
80
  /***/ function(module, exports, __webpack_require__) {
81
81
 
82
- module.exports = {"name":"fluxxor","version":"1.3.1","description":"Flux architecture tools for React","repository":{"type":"git","url":"https://github.com/BinaryMuse/fluxxor.git"},"main":"index.js","scripts":{"test":"npm run jshint && mocha --recursive","jshint":"jsxhint lib/ test/","build":"./script/build-fluxxor && ./script/build-examples","preview-site":"wintersmith preview -C site","build-site":"wintersmith build -C site"},"keywords":["react","flux"],"author":"Brandon Tilley <brandon@brandontilley.com>","license":"MIT","devDependencies":{"chai":"^1.9.1","css-loader":"^0.6.12","envify":"^1.2.1","jsdom":"^0.10.5","json-loader":"^0.5.0","jsx-loader":"^0.10.2","jsxhint":"^0.4.9","less":"^1.7.0","less-loader":"^0.7.3","mocha":"^1.18.2","react":"^0.10.0","sinon":"^1.9.1","sinon-chai":"^2.5.0","style-loader":"^0.6.3","webpack":"^1.1.11","webpack-dev-server":"^1.2.7","wintersmith":"^2.0.10","wintersmith-ejs":"^0.1.4","wintersmith-less":"^0.2.2"},"dependencies":{"lodash-node":"^2.4.1"},"jshintConfig":{"camelcase":true,"curly":true,"eqeqeq":true,"forin":true,"latedef":true,"newcap":false,"undef":true,"unused":true,"trailing":true,"node":true,"browser":true,"predef":["it","describe","beforeEach","afterEach"]}}
82
+ module.exports = {"name":"fluxxor","version":"1.3.2","description":"Flux architecture tools for React","repository":{"type":"git","url":"https://github.com/BinaryMuse/fluxxor.git"},"main":"index.js","scripts":{"test":"npm run jshint && mocha --recursive","jshint":"jsxhint lib/ test/","build":"./script/build-fluxxor && ./script/build-examples","preview-site":"wintersmith preview -C site","build-site":"wintersmith build -C site"},"keywords":["react","flux"],"author":"Brandon Tilley <brandon@brandontilley.com>","license":"MIT","devDependencies":{"chai":"^1.9.1","css-loader":"^0.6.12","envify":"^1.2.1","jsdom":"^0.10.5","json-loader":"^0.5.0","jsx-loader":"^0.10.2","jsxhint":"^0.4.9","less":"^1.7.0","less-loader":"^0.7.3","mocha":"^1.18.2","react":"^0.10.0","sinon":"^1.9.1","sinon-chai":"^2.5.0","style-loader":"^0.6.3","webpack":"^1.1.11","webpack-dev-server":"^1.2.7","wintersmith":"^2.0.10","wintersmith-ejs":"^0.1.4","wintersmith-less":"^0.2.2"},"dependencies":{"lodash-node":"^2.4.1"},"jshintConfig":{"camelcase":true,"curly":true,"eqeqeq":true,"forin":true,"latedef":true,"newcap":false,"undef":true,"unused":true,"trailing":true,"node":true,"browser":true,"predef":["it","describe","beforeEach","afterEach"]}}
83
83
 
84
84
  /***/ },
85
85
  /* 2 */
86
86
  /***/ function(module, exports, __webpack_require__) {
87
87
 
88
- var _clone = __webpack_require__(11),
89
- _mapValues = __webpack_require__(12),
90
- _forOwn = __webpack_require__(13),
91
- _intersection = __webpack_require__(16),
92
- _keys = __webpack_require__(14),
93
- _map = __webpack_require__(18),
94
- _each = __webpack_require__(19),
95
- _size = __webpack_require__(20),
96
- _findKey = __webpack_require__(15),
97
- _uniq = __webpack_require__(17);
88
+ var _clone = __webpack_require__(10),
89
+ _mapValues = __webpack_require__(11),
90
+ _forOwn = __webpack_require__(12),
91
+ _intersection = __webpack_require__(15),
92
+ _keys = __webpack_require__(13),
93
+ _map = __webpack_require__(17),
94
+ _each = __webpack_require__(18),
95
+ _size = __webpack_require__(19),
96
+ _findKey = __webpack_require__(14),
97
+ _uniq = __webpack_require__(16);
98
98
 
99
99
  var Dispatcher = function(stores) {
100
100
  this.stores = stores;
@@ -321,7 +321,7 @@ return /******/ (function(modules) { // webpackBootstrap
321
321
  /* 6 */
322
322
  /***/ function(module, exports, __webpack_require__) {
323
323
 
324
- var _each = __webpack_require__(19);
324
+ var _each = __webpack_require__(18);
325
325
 
326
326
  var StoreWatchMixin = function() {
327
327
  var storeNames = Array.prototype.slice.call(arguments);
@@ -341,7 +341,9 @@ return /******/ (function(modules) { // webpackBootstrap
341
341
  },
342
342
 
343
343
  _setStateFromFlux: function() {
344
- this.setState(this.getStateFromFlux());
344
+ if(this.isMounted()) {
345
+ this.setState(this.getStateFromFlux());
346
+ }
345
347
  },
346
348
 
347
349
  getInitialState: function() {
@@ -363,7 +365,7 @@ return /******/ (function(modules) { // webpackBootstrap
363
365
  /* 7 */
364
366
  /***/ function(module, exports, __webpack_require__) {
365
367
 
366
- var _each = __webpack_require__(19),
368
+ var _each = __webpack_require__(18),
367
369
  Store = __webpack_require__(8),
368
370
  util = __webpack_require__(9);
369
371
 
@@ -408,7 +410,7 @@ return /******/ (function(modules) { // webpackBootstrap
408
410
  /* 8 */
409
411
  /***/ function(module, exports, __webpack_require__) {
410
412
 
411
- var EventEmitter = __webpack_require__(10).EventEmitter,
413
+ var EventEmitter = __webpack_require__(20).EventEmitter,
412
414
  util = __webpack_require__(9);
413
415
 
414
416
  function Store(dispatcher) {
@@ -1042,319 +1044,241 @@ return /******/ (function(modules) { // webpackBootstrap
1042
1044
  return Object.prototype.hasOwnProperty.call(obj, prop);
1043
1045
  }
1044
1046
 
1045
- /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(25)))
1047
+ /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(39)))
1046
1048
 
1047
1049
  /***/ },
1048
1050
  /* 10 */
1049
1051
  /***/ function(module, exports, __webpack_require__) {
1050
1052
 
1051
- // Copyright Joyent, Inc. and other Node contributors.
1052
- //
1053
- // Permission is hereby granted, free of charge, to any person obtaining a
1054
- // copy of this software and associated documentation files (the
1055
- // "Software"), to deal in the Software without restriction, including
1056
- // without limitation the rights to use, copy, modify, merge, publish,
1057
- // distribute, sublicense, and/or sell copies of the Software, and to permit
1058
- // persons to whom the Software is furnished to do so, subject to the
1059
- // following conditions:
1060
- //
1061
- // The above copyright notice and this permission notice shall be included
1062
- // in all copies or substantial portions of the Software.
1063
- //
1064
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
1065
- // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1066
- // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
1067
- // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
1068
- // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
1069
- // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
1070
- // USE OR OTHER DEALINGS IN THE SOFTWARE.
1053
+ /**
1054
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1055
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
1056
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1057
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1058
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1059
+ * Available under MIT license <http://lodash.com/license>
1060
+ */
1061
+ var baseClone = __webpack_require__(25),
1062
+ baseCreateCallback = __webpack_require__(26);
1071
1063
 
1072
- function EventEmitter() {
1073
- this._events = this._events || {};
1074
- this._maxListeners = this._maxListeners || undefined;
1064
+ /**
1065
+ * Creates a clone of `value`. If `isDeep` is `true` nested objects will also
1066
+ * be cloned, otherwise they will be assigned by reference. If a callback
1067
+ * is provided it will be executed to produce the cloned values. If the
1068
+ * callback returns `undefined` cloning will be handled by the method instead.
1069
+ * The callback is bound to `thisArg` and invoked with one argument; (value).
1070
+ *
1071
+ * @static
1072
+ * @memberOf _
1073
+ * @category Objects
1074
+ * @param {*} value The value to clone.
1075
+ * @param {boolean} [isDeep=false] Specify a deep clone.
1076
+ * @param {Function} [callback] The function to customize cloning values.
1077
+ * @param {*} [thisArg] The `this` binding of `callback`.
1078
+ * @returns {*} Returns the cloned value.
1079
+ * @example
1080
+ *
1081
+ * var characters = [
1082
+ * { 'name': 'barney', 'age': 36 },
1083
+ * { 'name': 'fred', 'age': 40 }
1084
+ * ];
1085
+ *
1086
+ * var shallow = _.clone(characters);
1087
+ * shallow[0] === characters[0];
1088
+ * // => true
1089
+ *
1090
+ * var deep = _.clone(characters, true);
1091
+ * deep[0] === characters[0];
1092
+ * // => false
1093
+ *
1094
+ * _.mixin({
1095
+ * 'clone': _.partialRight(_.clone, function(value) {
1096
+ * return _.isElement(value) ? value.cloneNode(false) : undefined;
1097
+ * })
1098
+ * });
1099
+ *
1100
+ * var clone = _.clone(document.body);
1101
+ * clone.childNodes.length;
1102
+ * // => 0
1103
+ */
1104
+ function clone(value, isDeep, callback, thisArg) {
1105
+ // allows working with "Collections" methods without using their `index`
1106
+ // and `collection` arguments for `isDeep` and `callback`
1107
+ if (typeof isDeep != 'boolean' && isDeep != null) {
1108
+ thisArg = callback;
1109
+ callback = isDeep;
1110
+ isDeep = false;
1111
+ }
1112
+ return baseClone(value, isDeep, typeof callback == 'function' && baseCreateCallback(callback, thisArg, 1));
1075
1113
  }
1076
- module.exports = EventEmitter;
1077
-
1078
- // Backwards-compat with node 0.10.x
1079
- EventEmitter.EventEmitter = EventEmitter;
1080
1114
 
1081
- EventEmitter.prototype._events = undefined;
1082
- EventEmitter.prototype._maxListeners = undefined;
1115
+ module.exports = clone;
1116
+
1117
+
1118
+ /***/ },
1119
+ /* 11 */
1120
+ /***/ function(module, exports, __webpack_require__) {
1121
+
1122
+ /**
1123
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1124
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
1125
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1126
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1127
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1128
+ * Available under MIT license <http://lodash.com/license>
1129
+ */
1130
+ var createCallback = __webpack_require__(38),
1131
+ forOwn = __webpack_require__(12);
1083
1132
 
1084
- // By default EventEmitters will print a warning if more than 10 listeners are
1085
- // added to it. This is a useful default which helps finding memory leaks.
1086
- EventEmitter.defaultMaxListeners = 10;
1133
+ /**
1134
+ * Creates an object with the same keys as `object` and values generated by
1135
+ * running each own enumerable property of `object` through the callback.
1136
+ * The callback is bound to `thisArg` and invoked with three arguments;
1137
+ * (value, key, object).
1138
+ *
1139
+ * If a property name is provided for `callback` the created "_.pluck" style
1140
+ * callback will return the property value of the given element.
1141
+ *
1142
+ * If an object is provided for `callback` the created "_.where" style callback
1143
+ * will return `true` for elements that have the properties of the given object,
1144
+ * else `false`.
1145
+ *
1146
+ * @static
1147
+ * @memberOf _
1148
+ * @category Objects
1149
+ * @param {Object} object The object to iterate over.
1150
+ * @param {Function|Object|string} [callback=identity] The function called
1151
+ * per iteration. If a property name or object is provided it will be used
1152
+ * to create a "_.pluck" or "_.where" style callback, respectively.
1153
+ * @param {*} [thisArg] The `this` binding of `callback`.
1154
+ * @returns {Array} Returns a new object with values of the results of each `callback` execution.
1155
+ * @example
1156
+ *
1157
+ * _.mapValues({ 'a': 1, 'b': 2, 'c': 3} , function(num) { return num * 3; });
1158
+ * // => { 'a': 3, 'b': 6, 'c': 9 }
1159
+ *
1160
+ * var characters = {
1161
+ * 'fred': { 'name': 'fred', 'age': 40 },
1162
+ * 'pebbles': { 'name': 'pebbles', 'age': 1 }
1163
+ * };
1164
+ *
1165
+ * // using "_.pluck" callback shorthand
1166
+ * _.mapValues(characters, 'age');
1167
+ * // => { 'fred': 40, 'pebbles': 1 }
1168
+ */
1169
+ function mapValues(object, callback, thisArg) {
1170
+ var result = {};
1171
+ callback = createCallback(callback, thisArg, 3);
1087
1172
 
1088
- // Obviously not all Emitters should be limited to 10. This function allows
1089
- // that to be increased. Set to zero for unlimited.
1090
- EventEmitter.prototype.setMaxListeners = function(n) {
1091
- if (!isNumber(n) || n < 0 || isNaN(n))
1092
- throw TypeError('n must be a positive number');
1093
- this._maxListeners = n;
1094
- return this;
1095
- };
1173
+ forOwn(object, function(value, key, object) {
1174
+ result[key] = callback(value, key, object);
1175
+ });
1176
+ return result;
1177
+ }
1096
1178
 
1097
- EventEmitter.prototype.emit = function(type) {
1098
- var er, handler, len, args, i, listeners;
1179
+ module.exports = mapValues;
1180
+
1181
+
1182
+ /***/ },
1183
+ /* 12 */
1184
+ /***/ function(module, exports, __webpack_require__) {
1185
+
1186
+ /**
1187
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1188
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
1189
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1190
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1191
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1192
+ * Available under MIT license <http://lodash.com/license>
1193
+ */
1194
+ var baseCreateCallback = __webpack_require__(26),
1195
+ keys = __webpack_require__(13),
1196
+ objectTypes = __webpack_require__(27);
1099
1197
 
1100
- if (!this._events)
1101
- this._events = {};
1198
+ /**
1199
+ * Iterates over own enumerable properties of an object, executing the callback
1200
+ * for each property. The callback is bound to `thisArg` and invoked with three
1201
+ * arguments; (value, key, object). Callbacks may exit iteration early by
1202
+ * explicitly returning `false`.
1203
+ *
1204
+ * @static
1205
+ * @memberOf _
1206
+ * @type Function
1207
+ * @category Objects
1208
+ * @param {Object} object The object to iterate over.
1209
+ * @param {Function} [callback=identity] The function called per iteration.
1210
+ * @param {*} [thisArg] The `this` binding of `callback`.
1211
+ * @returns {Object} Returns `object`.
1212
+ * @example
1213
+ *
1214
+ * _.forOwn({ '0': 'zero', '1': 'one', 'length': 2 }, function(num, key) {
1215
+ * console.log(key);
1216
+ * });
1217
+ * // => logs '0', '1', and 'length' (property order is not guaranteed across environments)
1218
+ */
1219
+ var forOwn = function(collection, callback, thisArg) {
1220
+ var index, iterable = collection, result = iterable;
1221
+ if (!iterable) return result;
1222
+ if (!objectTypes[typeof iterable]) return result;
1223
+ callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);
1224
+ var ownIndex = -1,
1225
+ ownProps = objectTypes[typeof iterable] && keys(iterable),
1226
+ length = ownProps ? ownProps.length : 0;
1102
1227
 
1103
- // If there is no 'error' event listener then throw.
1104
- if (type === 'error') {
1105
- if (!this._events.error ||
1106
- (isObject(this._events.error) && !this._events.error.length)) {
1107
- er = arguments[1];
1108
- if (er instanceof Error) {
1109
- throw er; // Unhandled 'error' event
1110
- } else {
1111
- throw TypeError('Uncaught, unspecified "error" event.');
1112
- }
1113
- return false;
1228
+ while (++ownIndex < length) {
1229
+ index = ownProps[ownIndex];
1230
+ if (callback(iterable[index], index, collection) === false) return result;
1114
1231
  }
1115
- }
1232
+ return result
1233
+ };
1116
1234
 
1117
- handler = this._events[type];
1235
+ module.exports = forOwn;
1236
+
1237
+
1238
+ /***/ },
1239
+ /* 13 */
1240
+ /***/ function(module, exports, __webpack_require__) {
1241
+
1242
+ /**
1243
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1244
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
1245
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1246
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1247
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1248
+ * Available under MIT license <http://lodash.com/license>
1249
+ */
1250
+ var isNative = __webpack_require__(28),
1251
+ isObject = __webpack_require__(22),
1252
+ shimKeys = __webpack_require__(29);
1118
1253
 
1119
- if (isUndefined(handler))
1120
- return false;
1254
+ /* Native method shortcuts for methods with the same name as other `lodash` methods */
1255
+ var nativeKeys = isNative(nativeKeys = Object.keys) && nativeKeys;
1121
1256
 
1122
- if (isFunction(handler)) {
1123
- switch (arguments.length) {
1124
- // fast cases
1125
- case 1:
1126
- handler.call(this);
1127
- break;
1128
- case 2:
1129
- handler.call(this, arguments[1]);
1130
- break;
1131
- case 3:
1132
- handler.call(this, arguments[1], arguments[2]);
1133
- break;
1134
- // slower
1135
- default:
1136
- len = arguments.length;
1137
- args = new Array(len - 1);
1138
- for (i = 1; i < len; i++)
1139
- args[i - 1] = arguments[i];
1140
- handler.apply(this, args);
1141
- }
1142
- } else if (isObject(handler)) {
1143
- len = arguments.length;
1144
- args = new Array(len - 1);
1145
- for (i = 1; i < len; i++)
1146
- args[i - 1] = arguments[i];
1147
-
1148
- listeners = handler.slice();
1149
- len = listeners.length;
1150
- for (i = 0; i < len; i++)
1151
- listeners[i].apply(this, args);
1152
- }
1153
-
1154
- return true;
1155
- };
1156
-
1157
- EventEmitter.prototype.addListener = function(type, listener) {
1158
- var m;
1159
-
1160
- if (!isFunction(listener))
1161
- throw TypeError('listener must be a function');
1162
-
1163
- if (!this._events)
1164
- this._events = {};
1165
-
1166
- // To avoid recursion in the case that type === "newListener"! Before
1167
- // adding it to the listeners, first emit "newListener".
1168
- if (this._events.newListener)
1169
- this.emit('newListener', type,
1170
- isFunction(listener.listener) ?
1171
- listener.listener : listener);
1172
-
1173
- if (!this._events[type])
1174
- // Optimize the case of one listener. Don't need the extra array object.
1175
- this._events[type] = listener;
1176
- else if (isObject(this._events[type]))
1177
- // If we've already got an array, just append.
1178
- this._events[type].push(listener);
1179
- else
1180
- // Adding the second element, need to change to array.
1181
- this._events[type] = [this._events[type], listener];
1182
-
1183
- // Check for listener leak
1184
- if (isObject(this._events[type]) && !this._events[type].warned) {
1185
- var m;
1186
- if (!isUndefined(this._maxListeners)) {
1187
- m = this._maxListeners;
1188
- } else {
1189
- m = EventEmitter.defaultMaxListeners;
1190
- }
1191
-
1192
- if (m && m > 0 && this._events[type].length > m) {
1193
- this._events[type].warned = true;
1194
- console.error('(node) warning: possible EventEmitter memory ' +
1195
- 'leak detected. %d listeners added. ' +
1196
- 'Use emitter.setMaxListeners() to increase limit.',
1197
- this._events[type].length);
1198
- if (typeof console.trace === 'function') {
1199
- // not supported in IE 10
1200
- console.trace();
1201
- }
1202
- }
1203
- }
1204
-
1205
- return this;
1206
- };
1207
-
1208
- EventEmitter.prototype.on = EventEmitter.prototype.addListener;
1209
-
1210
- EventEmitter.prototype.once = function(type, listener) {
1211
- if (!isFunction(listener))
1212
- throw TypeError('listener must be a function');
1213
-
1214
- var fired = false;
1215
-
1216
- function g() {
1217
- this.removeListener(type, g);
1218
-
1219
- if (!fired) {
1220
- fired = true;
1221
- listener.apply(this, arguments);
1222
- }
1223
- }
1224
-
1225
- g.listener = listener;
1226
- this.on(type, g);
1227
-
1228
- return this;
1229
- };
1230
-
1231
- // emits a 'removeListener' event iff the listener was removed
1232
- EventEmitter.prototype.removeListener = function(type, listener) {
1233
- var list, position, length, i;
1234
-
1235
- if (!isFunction(listener))
1236
- throw TypeError('listener must be a function');
1237
-
1238
- if (!this._events || !this._events[type])
1239
- return this;
1240
-
1241
- list = this._events[type];
1242
- length = list.length;
1243
- position = -1;
1244
-
1245
- if (list === listener ||
1246
- (isFunction(list.listener) && list.listener === listener)) {
1247
- delete this._events[type];
1248
- if (this._events.removeListener)
1249
- this.emit('removeListener', type, listener);
1250
-
1251
- } else if (isObject(list)) {
1252
- for (i = length; i-- > 0;) {
1253
- if (list[i] === listener ||
1254
- (list[i].listener && list[i].listener === listener)) {
1255
- position = i;
1256
- break;
1257
- }
1258
- }
1259
-
1260
- if (position < 0)
1261
- return this;
1262
-
1263
- if (list.length === 1) {
1264
- list.length = 0;
1265
- delete this._events[type];
1266
- } else {
1267
- list.splice(position, 1);
1268
- }
1269
-
1270
- if (this._events.removeListener)
1271
- this.emit('removeListener', type, listener);
1272
- }
1273
-
1274
- return this;
1275
- };
1276
-
1277
- EventEmitter.prototype.removeAllListeners = function(type) {
1278
- var key, listeners;
1279
-
1280
- if (!this._events)
1281
- return this;
1282
-
1283
- // not listening for removeListener, no need to emit
1284
- if (!this._events.removeListener) {
1285
- if (arguments.length === 0)
1286
- this._events = {};
1287
- else if (this._events[type])
1288
- delete this._events[type];
1289
- return this;
1290
- }
1291
-
1292
- // emit removeListener for all listeners on all events
1293
- if (arguments.length === 0) {
1294
- for (key in this._events) {
1295
- if (key === 'removeListener') continue;
1296
- this.removeAllListeners(key);
1297
- }
1298
- this.removeAllListeners('removeListener');
1299
- this._events = {};
1300
- return this;
1301
- }
1302
-
1303
- listeners = this._events[type];
1304
-
1305
- if (isFunction(listeners)) {
1306
- this.removeListener(type, listeners);
1307
- } else {
1308
- // LIFO order
1309
- while (listeners.length)
1310
- this.removeListener(type, listeners[listeners.length - 1]);
1257
+ /**
1258
+ * Creates an array composed of the own enumerable property names of an object.
1259
+ *
1260
+ * @static
1261
+ * @memberOf _
1262
+ * @category Objects
1263
+ * @param {Object} object The object to inspect.
1264
+ * @returns {Array} Returns an array of property names.
1265
+ * @example
1266
+ *
1267
+ * _.keys({ 'one': 1, 'two': 2, 'three': 3 });
1268
+ * // => ['one', 'two', 'three'] (property order is not guaranteed across environments)
1269
+ */
1270
+ var keys = !nativeKeys ? shimKeys : function(object) {
1271
+ if (!isObject(object)) {
1272
+ return [];
1311
1273
  }
1312
- delete this._events[type];
1313
-
1314
- return this;
1315
- };
1316
-
1317
- EventEmitter.prototype.listeners = function(type) {
1318
- var ret;
1319
- if (!this._events || !this._events[type])
1320
- ret = [];
1321
- else if (isFunction(this._events[type]))
1322
- ret = [this._events[type]];
1323
- else
1324
- ret = this._events[type].slice();
1325
- return ret;
1326
- };
1327
-
1328
- EventEmitter.listenerCount = function(emitter, type) {
1329
- var ret;
1330
- if (!emitter._events || !emitter._events[type])
1331
- ret = 0;
1332
- else if (isFunction(emitter._events[type]))
1333
- ret = 1;
1334
- else
1335
- ret = emitter._events[type].length;
1336
- return ret;
1274
+ return nativeKeys(object);
1337
1275
  };
1338
1276
 
1339
- function isFunction(arg) {
1340
- return typeof arg === 'function';
1341
- }
1342
-
1343
- function isNumber(arg) {
1344
- return typeof arg === 'number';
1345
- }
1346
-
1347
- function isObject(arg) {
1348
- return typeof arg === 'object' && arg !== null;
1349
- }
1350
-
1351
- function isUndefined(arg) {
1352
- return arg === void 0;
1353
- }
1277
+ module.exports = keys;
1354
1278
 
1355
1279
 
1356
1280
  /***/ },
1357
- /* 11 */
1281
+ /* 14 */
1358
1282
  /***/ function(module, exports, __webpack_require__) {
1359
1283
 
1360
1284
  /**
@@ -1365,250 +1289,19 @@ return /******/ (function(modules) { // webpackBootstrap
1365
1289
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1366
1290
  * Available under MIT license <http://lodash.com/license>
1367
1291
  */
1368
- var baseClone = __webpack_require__(26),
1369
- baseCreateCallback = __webpack_require__(27);
1292
+ var createCallback = __webpack_require__(38),
1293
+ forOwn = __webpack_require__(12);
1370
1294
 
1371
1295
  /**
1372
- * Creates a clone of `value`. If `isDeep` is `true` nested objects will also
1373
- * be cloned, otherwise they will be assigned by reference. If a callback
1374
- * is provided it will be executed to produce the cloned values. If the
1375
- * callback returns `undefined` cloning will be handled by the method instead.
1376
- * The callback is bound to `thisArg` and invoked with one argument; (value).
1377
- *
1378
- * @static
1379
- * @memberOf _
1380
- * @category Objects
1381
- * @param {*} value The value to clone.
1382
- * @param {boolean} [isDeep=false] Specify a deep clone.
1383
- * @param {Function} [callback] The function to customize cloning values.
1384
- * @param {*} [thisArg] The `this` binding of `callback`.
1385
- * @returns {*} Returns the cloned value.
1386
- * @example
1387
- *
1388
- * var characters = [
1389
- * { 'name': 'barney', 'age': 36 },
1390
- * { 'name': 'fred', 'age': 40 }
1391
- * ];
1392
- *
1393
- * var shallow = _.clone(characters);
1394
- * shallow[0] === characters[0];
1395
- * // => true
1396
- *
1397
- * var deep = _.clone(characters, true);
1398
- * deep[0] === characters[0];
1399
- * // => false
1400
- *
1401
- * _.mixin({
1402
- * 'clone': _.partialRight(_.clone, function(value) {
1403
- * return _.isElement(value) ? value.cloneNode(false) : undefined;
1404
- * })
1405
- * });
1406
- *
1407
- * var clone = _.clone(document.body);
1408
- * clone.childNodes.length;
1409
- * // => 0
1410
- */
1411
- function clone(value, isDeep, callback, thisArg) {
1412
- // allows working with "Collections" methods without using their `index`
1413
- // and `collection` arguments for `isDeep` and `callback`
1414
- if (typeof isDeep != 'boolean' && isDeep != null) {
1415
- thisArg = callback;
1416
- callback = isDeep;
1417
- isDeep = false;
1418
- }
1419
- return baseClone(value, isDeep, typeof callback == 'function' && baseCreateCallback(callback, thisArg, 1));
1420
- }
1421
-
1422
- module.exports = clone;
1423
-
1424
-
1425
- /***/ },
1426
- /* 12 */
1427
- /***/ function(module, exports, __webpack_require__) {
1428
-
1429
- /**
1430
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1431
- * Build: `lodash modularize modern exports="node" -o ./modern/`
1432
- * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1433
- * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1434
- * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1435
- * Available under MIT license <http://lodash.com/license>
1436
- */
1437
- var createCallback = __webpack_require__(39),
1438
- forOwn = __webpack_require__(13);
1439
-
1440
- /**
1441
- * Creates an object with the same keys as `object` and values generated by
1442
- * running each own enumerable property of `object` through the callback.
1443
- * The callback is bound to `thisArg` and invoked with three arguments;
1444
- * (value, key, object).
1445
- *
1446
- * If a property name is provided for `callback` the created "_.pluck" style
1447
- * callback will return the property value of the given element.
1448
- *
1449
- * If an object is provided for `callback` the created "_.where" style callback
1450
- * will return `true` for elements that have the properties of the given object,
1451
- * else `false`.
1452
- *
1453
- * @static
1454
- * @memberOf _
1455
- * @category Objects
1456
- * @param {Object} object The object to iterate over.
1457
- * @param {Function|Object|string} [callback=identity] The function called
1458
- * per iteration. If a property name or object is provided it will be used
1459
- * to create a "_.pluck" or "_.where" style callback, respectively.
1460
- * @param {*} [thisArg] The `this` binding of `callback`.
1461
- * @returns {Array} Returns a new object with values of the results of each `callback` execution.
1462
- * @example
1463
- *
1464
- * _.mapValues({ 'a': 1, 'b': 2, 'c': 3} , function(num) { return num * 3; });
1465
- * // => { 'a': 3, 'b': 6, 'c': 9 }
1466
- *
1467
- * var characters = {
1468
- * 'fred': { 'name': 'fred', 'age': 40 },
1469
- * 'pebbles': { 'name': 'pebbles', 'age': 1 }
1470
- * };
1471
- *
1472
- * // using "_.pluck" callback shorthand
1473
- * _.mapValues(characters, 'age');
1474
- * // => { 'fred': 40, 'pebbles': 1 }
1475
- */
1476
- function mapValues(object, callback, thisArg) {
1477
- var result = {};
1478
- callback = createCallback(callback, thisArg, 3);
1479
-
1480
- forOwn(object, function(value, key, object) {
1481
- result[key] = callback(value, key, object);
1482
- });
1483
- return result;
1484
- }
1485
-
1486
- module.exports = mapValues;
1487
-
1488
-
1489
- /***/ },
1490
- /* 13 */
1491
- /***/ function(module, exports, __webpack_require__) {
1492
-
1493
- /**
1494
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1495
- * Build: `lodash modularize modern exports="node" -o ./modern/`
1496
- * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1497
- * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1498
- * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1499
- * Available under MIT license <http://lodash.com/license>
1500
- */
1501
- var baseCreateCallback = __webpack_require__(27),
1502
- keys = __webpack_require__(14),
1503
- objectTypes = __webpack_require__(28);
1504
-
1505
- /**
1506
- * Iterates over own enumerable properties of an object, executing the callback
1507
- * for each property. The callback is bound to `thisArg` and invoked with three
1508
- * arguments; (value, key, object). Callbacks may exit iteration early by
1509
- * explicitly returning `false`.
1510
- *
1511
- * @static
1512
- * @memberOf _
1513
- * @type Function
1514
- * @category Objects
1515
- * @param {Object} object The object to iterate over.
1516
- * @param {Function} [callback=identity] The function called per iteration.
1517
- * @param {*} [thisArg] The `this` binding of `callback`.
1518
- * @returns {Object} Returns `object`.
1519
- * @example
1520
- *
1521
- * _.forOwn({ '0': 'zero', '1': 'one', 'length': 2 }, function(num, key) {
1522
- * console.log(key);
1523
- * });
1524
- * // => logs '0', '1', and 'length' (property order is not guaranteed across environments)
1525
- */
1526
- var forOwn = function(collection, callback, thisArg) {
1527
- var index, iterable = collection, result = iterable;
1528
- if (!iterable) return result;
1529
- if (!objectTypes[typeof iterable]) return result;
1530
- callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);
1531
- var ownIndex = -1,
1532
- ownProps = objectTypes[typeof iterable] && keys(iterable),
1533
- length = ownProps ? ownProps.length : 0;
1534
-
1535
- while (++ownIndex < length) {
1536
- index = ownProps[ownIndex];
1537
- if (callback(iterable[index], index, collection) === false) return result;
1538
- }
1539
- return result
1540
- };
1541
-
1542
- module.exports = forOwn;
1543
-
1544
-
1545
- /***/ },
1546
- /* 14 */
1547
- /***/ function(module, exports, __webpack_require__) {
1548
-
1549
- /**
1550
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1551
- * Build: `lodash modularize modern exports="node" -o ./modern/`
1552
- * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1553
- * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1554
- * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1555
- * Available under MIT license <http://lodash.com/license>
1556
- */
1557
- var isNative = __webpack_require__(29),
1558
- isObject = __webpack_require__(22),
1559
- shimKeys = __webpack_require__(30);
1560
-
1561
- /* Native method shortcuts for methods with the same name as other `lodash` methods */
1562
- var nativeKeys = isNative(nativeKeys = Object.keys) && nativeKeys;
1563
-
1564
- /**
1565
- * Creates an array composed of the own enumerable property names of an object.
1566
- *
1567
- * @static
1568
- * @memberOf _
1569
- * @category Objects
1570
- * @param {Object} object The object to inspect.
1571
- * @returns {Array} Returns an array of property names.
1572
- * @example
1573
- *
1574
- * _.keys({ 'one': 1, 'two': 2, 'three': 3 });
1575
- * // => ['one', 'two', 'three'] (property order is not guaranteed across environments)
1576
- */
1577
- var keys = !nativeKeys ? shimKeys : function(object) {
1578
- if (!isObject(object)) {
1579
- return [];
1580
- }
1581
- return nativeKeys(object);
1582
- };
1583
-
1584
- module.exports = keys;
1585
-
1586
-
1587
- /***/ },
1588
- /* 15 */
1589
- /***/ function(module, exports, __webpack_require__) {
1590
-
1591
- /**
1592
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1593
- * Build: `lodash modularize modern exports="node" -o ./modern/`
1594
- * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1595
- * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1596
- * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1597
- * Available under MIT license <http://lodash.com/license>
1598
- */
1599
- var createCallback = __webpack_require__(39),
1600
- forOwn = __webpack_require__(13);
1601
-
1602
- /**
1603
- * This method is like `_.findIndex` except that it returns the key of the
1604
- * first element that passes the callback check, instead of the element itself.
1605
- *
1606
- * If a property name is provided for `callback` the created "_.pluck" style
1607
- * callback will return the property value of the given element.
1608
- *
1609
- * If an object is provided for `callback` the created "_.where" style callback
1610
- * will return `true` for elements that have the properties of the given object,
1611
- * else `false`.
1296
+ * This method is like `_.findIndex` except that it returns the key of the
1297
+ * first element that passes the callback check, instead of the element itself.
1298
+ *
1299
+ * If a property name is provided for `callback` the created "_.pluck" style
1300
+ * callback will return the property value of the given element.
1301
+ *
1302
+ * If an object is provided for `callback` the created "_.where" style callback
1303
+ * will return `true` for elements that have the properties of the given object,
1304
+ * else `false`.
1612
1305
  *
1613
1306
  * @static
1614
1307
  * @memberOf _
@@ -1656,7 +1349,7 @@ return /******/ (function(modules) { // webpackBootstrap
1656
1349
 
1657
1350
 
1658
1351
  /***/ },
1659
- /* 16 */
1352
+ /* 15 */
1660
1353
  /***/ function(module, exports, __webpack_require__) {
1661
1354
 
1662
1355
  /**
@@ -1667,15 +1360,15 @@ return /******/ (function(modules) { // webpackBootstrap
1667
1360
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1668
1361
  * Available under MIT license <http://lodash.com/license>
1669
1362
  */
1670
- var baseIndexOf = __webpack_require__(31),
1671
- cacheIndexOf = __webpack_require__(32),
1672
- createCache = __webpack_require__(33),
1673
- getArray = __webpack_require__(34),
1363
+ var baseIndexOf = __webpack_require__(30),
1364
+ cacheIndexOf = __webpack_require__(31),
1365
+ createCache = __webpack_require__(32),
1366
+ getArray = __webpack_require__(33),
1674
1367
  isArguments = __webpack_require__(23),
1675
1368
  isArray = __webpack_require__(24),
1676
- largeArraySize = __webpack_require__(35),
1677
- releaseArray = __webpack_require__(36),
1678
- releaseObject = __webpack_require__(37);
1369
+ largeArraySize = __webpack_require__(34),
1370
+ releaseArray = __webpack_require__(35),
1371
+ releaseObject = __webpack_require__(36);
1679
1372
 
1680
1373
  /**
1681
1374
  * Creates an array of unique values present in all provided arrays using
@@ -1745,7 +1438,7 @@ return /******/ (function(modules) { // webpackBootstrap
1745
1438
 
1746
1439
 
1747
1440
  /***/ },
1748
- /* 17 */
1441
+ /* 16 */
1749
1442
  /***/ function(module, exports, __webpack_require__) {
1750
1443
 
1751
1444
  /**
@@ -1756,8 +1449,8 @@ return /******/ (function(modules) { // webpackBootstrap
1756
1449
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1757
1450
  * Available under MIT license <http://lodash.com/license>
1758
1451
  */
1759
- var baseUniq = __webpack_require__(38),
1760
- createCallback = __webpack_require__(39);
1452
+ var baseUniq = __webpack_require__(37),
1453
+ createCallback = __webpack_require__(38);
1761
1454
 
1762
1455
  /**
1763
1456
  * Creates a duplicate-value-free version of an array using strict equality
@@ -1820,7 +1513,7 @@ return /******/ (function(modules) { // webpackBootstrap
1820
1513
 
1821
1514
 
1822
1515
  /***/ },
1823
- /* 18 */
1516
+ /* 17 */
1824
1517
  /***/ function(module, exports, __webpack_require__) {
1825
1518
 
1826
1519
  /**
@@ -1831,8 +1524,8 @@ return /******/ (function(modules) { // webpackBootstrap
1831
1524
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1832
1525
  * Available under MIT license <http://lodash.com/license>
1833
1526
  */
1834
- var createCallback = __webpack_require__(39),
1835
- forOwn = __webpack_require__(13);
1527
+ var createCallback = __webpack_require__(38),
1528
+ forOwn = __webpack_require__(12);
1836
1529
 
1837
1530
  /**
1838
1531
  * Creates an array of values by running each element in the collection
@@ -1896,7 +1589,7 @@ return /******/ (function(modules) { // webpackBootstrap
1896
1589
 
1897
1590
 
1898
1591
  /***/ },
1899
- /* 19 */
1592
+ /* 18 */
1900
1593
  /***/ function(module, exports, __webpack_require__) {
1901
1594
 
1902
1595
  /**
@@ -1907,8 +1600,8 @@ return /******/ (function(modules) { // webpackBootstrap
1907
1600
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1908
1601
  * Available under MIT license <http://lodash.com/license>
1909
1602
  */
1910
- var baseCreateCallback = __webpack_require__(27),
1911
- forOwn = __webpack_require__(13);
1603
+ var baseCreateCallback = __webpack_require__(26),
1604
+ forOwn = __webpack_require__(12);
1912
1605
 
1913
1606
  /**
1914
1607
  * Iterates over elements of a collection, executing the callback for each
@@ -1940,62 +1633,371 @@ return /******/ (function(modules) { // webpackBootstrap
1940
1633
  var index = -1,
1941
1634
  length = collection ? collection.length : 0;
1942
1635
 
1943
- callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);
1944
- if (typeof length == 'number') {
1945
- while (++index < length) {
1946
- if (callback(collection[index], index, collection) === false) {
1947
- break;
1948
- }
1636
+ callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);
1637
+ if (typeof length == 'number') {
1638
+ while (++index < length) {
1639
+ if (callback(collection[index], index, collection) === false) {
1640
+ break;
1641
+ }
1642
+ }
1643
+ } else {
1644
+ forOwn(collection, callback);
1645
+ }
1646
+ return collection;
1647
+ }
1648
+
1649
+ module.exports = forEach;
1650
+
1651
+
1652
+ /***/ },
1653
+ /* 19 */
1654
+ /***/ function(module, exports, __webpack_require__) {
1655
+
1656
+ /**
1657
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1658
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
1659
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1660
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1661
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1662
+ * Available under MIT license <http://lodash.com/license>
1663
+ */
1664
+ var keys = __webpack_require__(13);
1665
+
1666
+ /**
1667
+ * Gets the size of the `collection` by returning `collection.length` for arrays
1668
+ * and array-like objects or the number of own enumerable properties for objects.
1669
+ *
1670
+ * @static
1671
+ * @memberOf _
1672
+ * @category Collections
1673
+ * @param {Array|Object|string} collection The collection to inspect.
1674
+ * @returns {number} Returns `collection.length` or number of own enumerable properties.
1675
+ * @example
1676
+ *
1677
+ * _.size([1, 2]);
1678
+ * // => 2
1679
+ *
1680
+ * _.size({ 'one': 1, 'two': 2, 'three': 3 });
1681
+ * // => 3
1682
+ *
1683
+ * _.size('pebbles');
1684
+ * // => 7
1685
+ */
1686
+ function size(collection) {
1687
+ var length = collection ? collection.length : 0;
1688
+ return typeof length == 'number' ? length : keys(collection).length;
1689
+ }
1690
+
1691
+ module.exports = size;
1692
+
1693
+
1694
+ /***/ },
1695
+ /* 20 */
1696
+ /***/ function(module, exports, __webpack_require__) {
1697
+
1698
+ // Copyright Joyent, Inc. and other Node contributors.
1699
+ //
1700
+ // Permission is hereby granted, free of charge, to any person obtaining a
1701
+ // copy of this software and associated documentation files (the
1702
+ // "Software"), to deal in the Software without restriction, including
1703
+ // without limitation the rights to use, copy, modify, merge, publish,
1704
+ // distribute, sublicense, and/or sell copies of the Software, and to permit
1705
+ // persons to whom the Software is furnished to do so, subject to the
1706
+ // following conditions:
1707
+ //
1708
+ // The above copyright notice and this permission notice shall be included
1709
+ // in all copies or substantial portions of the Software.
1710
+ //
1711
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
1712
+ // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1713
+ // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
1714
+ // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
1715
+ // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
1716
+ // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
1717
+ // USE OR OTHER DEALINGS IN THE SOFTWARE.
1718
+
1719
+ function EventEmitter() {
1720
+ this._events = this._events || {};
1721
+ this._maxListeners = this._maxListeners || undefined;
1722
+ }
1723
+ module.exports = EventEmitter;
1724
+
1725
+ // Backwards-compat with node 0.10.x
1726
+ EventEmitter.EventEmitter = EventEmitter;
1727
+
1728
+ EventEmitter.prototype._events = undefined;
1729
+ EventEmitter.prototype._maxListeners = undefined;
1730
+
1731
+ // By default EventEmitters will print a warning if more than 10 listeners are
1732
+ // added to it. This is a useful default which helps finding memory leaks.
1733
+ EventEmitter.defaultMaxListeners = 10;
1734
+
1735
+ // Obviously not all Emitters should be limited to 10. This function allows
1736
+ // that to be increased. Set to zero for unlimited.
1737
+ EventEmitter.prototype.setMaxListeners = function(n) {
1738
+ if (!isNumber(n) || n < 0 || isNaN(n))
1739
+ throw TypeError('n must be a positive number');
1740
+ this._maxListeners = n;
1741
+ return this;
1742
+ };
1743
+
1744
+ EventEmitter.prototype.emit = function(type) {
1745
+ var er, handler, len, args, i, listeners;
1746
+
1747
+ if (!this._events)
1748
+ this._events = {};
1749
+
1750
+ // If there is no 'error' event listener then throw.
1751
+ if (type === 'error') {
1752
+ if (!this._events.error ||
1753
+ (isObject(this._events.error) && !this._events.error.length)) {
1754
+ er = arguments[1];
1755
+ if (er instanceof Error) {
1756
+ throw er; // Unhandled 'error' event
1757
+ } else {
1758
+ throw TypeError('Uncaught, unspecified "error" event.');
1759
+ }
1760
+ return false;
1761
+ }
1762
+ }
1763
+
1764
+ handler = this._events[type];
1765
+
1766
+ if (isUndefined(handler))
1767
+ return false;
1768
+
1769
+ if (isFunction(handler)) {
1770
+ switch (arguments.length) {
1771
+ // fast cases
1772
+ case 1:
1773
+ handler.call(this);
1774
+ break;
1775
+ case 2:
1776
+ handler.call(this, arguments[1]);
1777
+ break;
1778
+ case 3:
1779
+ handler.call(this, arguments[1], arguments[2]);
1780
+ break;
1781
+ // slower
1782
+ default:
1783
+ len = arguments.length;
1784
+ args = new Array(len - 1);
1785
+ for (i = 1; i < len; i++)
1786
+ args[i - 1] = arguments[i];
1787
+ handler.apply(this, args);
1788
+ }
1789
+ } else if (isObject(handler)) {
1790
+ len = arguments.length;
1791
+ args = new Array(len - 1);
1792
+ for (i = 1; i < len; i++)
1793
+ args[i - 1] = arguments[i];
1794
+
1795
+ listeners = handler.slice();
1796
+ len = listeners.length;
1797
+ for (i = 0; i < len; i++)
1798
+ listeners[i].apply(this, args);
1799
+ }
1800
+
1801
+ return true;
1802
+ };
1803
+
1804
+ EventEmitter.prototype.addListener = function(type, listener) {
1805
+ var m;
1806
+
1807
+ if (!isFunction(listener))
1808
+ throw TypeError('listener must be a function');
1809
+
1810
+ if (!this._events)
1811
+ this._events = {};
1812
+
1813
+ // To avoid recursion in the case that type === "newListener"! Before
1814
+ // adding it to the listeners, first emit "newListener".
1815
+ if (this._events.newListener)
1816
+ this.emit('newListener', type,
1817
+ isFunction(listener.listener) ?
1818
+ listener.listener : listener);
1819
+
1820
+ if (!this._events[type])
1821
+ // Optimize the case of one listener. Don't need the extra array object.
1822
+ this._events[type] = listener;
1823
+ else if (isObject(this._events[type]))
1824
+ // If we've already got an array, just append.
1825
+ this._events[type].push(listener);
1826
+ else
1827
+ // Adding the second element, need to change to array.
1828
+ this._events[type] = [this._events[type], listener];
1829
+
1830
+ // Check for listener leak
1831
+ if (isObject(this._events[type]) && !this._events[type].warned) {
1832
+ var m;
1833
+ if (!isUndefined(this._maxListeners)) {
1834
+ m = this._maxListeners;
1835
+ } else {
1836
+ m = EventEmitter.defaultMaxListeners;
1837
+ }
1838
+
1839
+ if (m && m > 0 && this._events[type].length > m) {
1840
+ this._events[type].warned = true;
1841
+ console.error('(node) warning: possible EventEmitter memory ' +
1842
+ 'leak detected. %d listeners added. ' +
1843
+ 'Use emitter.setMaxListeners() to increase limit.',
1844
+ this._events[type].length);
1845
+ if (typeof console.trace === 'function') {
1846
+ // not supported in IE 10
1847
+ console.trace();
1848
+ }
1849
+ }
1850
+ }
1851
+
1852
+ return this;
1853
+ };
1854
+
1855
+ EventEmitter.prototype.on = EventEmitter.prototype.addListener;
1856
+
1857
+ EventEmitter.prototype.once = function(type, listener) {
1858
+ if (!isFunction(listener))
1859
+ throw TypeError('listener must be a function');
1860
+
1861
+ var fired = false;
1862
+
1863
+ function g() {
1864
+ this.removeListener(type, g);
1865
+
1866
+ if (!fired) {
1867
+ fired = true;
1868
+ listener.apply(this, arguments);
1869
+ }
1870
+ }
1871
+
1872
+ g.listener = listener;
1873
+ this.on(type, g);
1874
+
1875
+ return this;
1876
+ };
1877
+
1878
+ // emits a 'removeListener' event iff the listener was removed
1879
+ EventEmitter.prototype.removeListener = function(type, listener) {
1880
+ var list, position, length, i;
1881
+
1882
+ if (!isFunction(listener))
1883
+ throw TypeError('listener must be a function');
1884
+
1885
+ if (!this._events || !this._events[type])
1886
+ return this;
1887
+
1888
+ list = this._events[type];
1889
+ length = list.length;
1890
+ position = -1;
1891
+
1892
+ if (list === listener ||
1893
+ (isFunction(list.listener) && list.listener === listener)) {
1894
+ delete this._events[type];
1895
+ if (this._events.removeListener)
1896
+ this.emit('removeListener', type, listener);
1897
+
1898
+ } else if (isObject(list)) {
1899
+ for (i = length; i-- > 0;) {
1900
+ if (list[i] === listener ||
1901
+ (list[i].listener && list[i].listener === listener)) {
1902
+ position = i;
1903
+ break;
1904
+ }
1905
+ }
1906
+
1907
+ if (position < 0)
1908
+ return this;
1909
+
1910
+ if (list.length === 1) {
1911
+ list.length = 0;
1912
+ delete this._events[type];
1913
+ } else {
1914
+ list.splice(position, 1);
1915
+ }
1916
+
1917
+ if (this._events.removeListener)
1918
+ this.emit('removeListener', type, listener);
1919
+ }
1920
+
1921
+ return this;
1922
+ };
1923
+
1924
+ EventEmitter.prototype.removeAllListeners = function(type) {
1925
+ var key, listeners;
1926
+
1927
+ if (!this._events)
1928
+ return this;
1929
+
1930
+ // not listening for removeListener, no need to emit
1931
+ if (!this._events.removeListener) {
1932
+ if (arguments.length === 0)
1933
+ this._events = {};
1934
+ else if (this._events[type])
1935
+ delete this._events[type];
1936
+ return this;
1937
+ }
1938
+
1939
+ // emit removeListener for all listeners on all events
1940
+ if (arguments.length === 0) {
1941
+ for (key in this._events) {
1942
+ if (key === 'removeListener') continue;
1943
+ this.removeAllListeners(key);
1949
1944
  }
1945
+ this.removeAllListeners('removeListener');
1946
+ this._events = {};
1947
+ return this;
1948
+ }
1949
+
1950
+ listeners = this._events[type];
1951
+
1952
+ if (isFunction(listeners)) {
1953
+ this.removeListener(type, listeners);
1950
1954
  } else {
1951
- forOwn(collection, callback);
1955
+ // LIFO order
1956
+ while (listeners.length)
1957
+ this.removeListener(type, listeners[listeners.length - 1]);
1952
1958
  }
1953
- return collection;
1959
+ delete this._events[type];
1960
+
1961
+ return this;
1962
+ };
1963
+
1964
+ EventEmitter.prototype.listeners = function(type) {
1965
+ var ret;
1966
+ if (!this._events || !this._events[type])
1967
+ ret = [];
1968
+ else if (isFunction(this._events[type]))
1969
+ ret = [this._events[type]];
1970
+ else
1971
+ ret = this._events[type].slice();
1972
+ return ret;
1973
+ };
1974
+
1975
+ EventEmitter.listenerCount = function(emitter, type) {
1976
+ var ret;
1977
+ if (!emitter._events || !emitter._events[type])
1978
+ ret = 0;
1979
+ else if (isFunction(emitter._events[type]))
1980
+ ret = 1;
1981
+ else
1982
+ ret = emitter._events[type].length;
1983
+ return ret;
1984
+ };
1985
+
1986
+ function isFunction(arg) {
1987
+ return typeof arg === 'function';
1954
1988
  }
1955
1989
 
1956
- module.exports = forEach;
1957
-
1958
-
1959
- /***/ },
1960
- /* 20 */
1961
- /***/ function(module, exports, __webpack_require__) {
1962
-
1963
- /**
1964
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1965
- * Build: `lodash modularize modern exports="node" -o ./modern/`
1966
- * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1967
- * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1968
- * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1969
- * Available under MIT license <http://lodash.com/license>
1970
- */
1971
- var keys = __webpack_require__(14);
1990
+ function isNumber(arg) {
1991
+ return typeof arg === 'number';
1992
+ }
1972
1993
 
1973
- /**
1974
- * Gets the size of the `collection` by returning `collection.length` for arrays
1975
- * and array-like objects or the number of own enumerable properties for objects.
1976
- *
1977
- * @static
1978
- * @memberOf _
1979
- * @category Collections
1980
- * @param {Array|Object|string} collection The collection to inspect.
1981
- * @returns {number} Returns `collection.length` or number of own enumerable properties.
1982
- * @example
1983
- *
1984
- * _.size([1, 2]);
1985
- * // => 2
1986
- *
1987
- * _.size({ 'one': 1, 'two': 2, 'three': 3 });
1988
- * // => 3
1989
- *
1990
- * _.size('pebbles');
1991
- * // => 7
1992
- */
1993
- function size(collection) {
1994
- var length = collection ? collection.length : 0;
1995
- return typeof length == 'number' ? length : keys(collection).length;
1994
+ function isObject(arg) {
1995
+ return typeof arg === 'object' && arg !== null;
1996
1996
  }
1997
1997
 
1998
- module.exports = size;
1998
+ function isUndefined(arg) {
1999
+ return arg === void 0;
2000
+ }
1999
2001
 
2000
2002
 
2001
2003
  /***/ },
@@ -2021,7 +2023,7 @@ return /******/ (function(modules) { // webpackBootstrap
2021
2023
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2022
2024
  * Available under MIT license <http://lodash.com/license>
2023
2025
  */
2024
- var objectTypes = __webpack_require__(28);
2026
+ var objectTypes = __webpack_require__(27);
2025
2027
 
2026
2028
  /**
2027
2029
  * Checks if `value` is the language type of Object.
@@ -2112,7 +2114,7 @@ return /******/ (function(modules) { // webpackBootstrap
2112
2114
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2113
2115
  * Available under MIT license <http://lodash.com/license>
2114
2116
  */
2115
- var isNative = __webpack_require__(29);
2117
+ var isNative = __webpack_require__(28);
2116
2118
 
2117
2119
  /** `Object#toString` result shortcuts */
2118
2120
  var arrayClass = '[object Array]';
@@ -2153,72 +2155,6 @@ return /******/ (function(modules) { // webpackBootstrap
2153
2155
 
2154
2156
  /***/ },
2155
2157
  /* 25 */
2156
- /***/ function(module, exports, __webpack_require__) {
2157
-
2158
- // shim for using process in browser
2159
-
2160
- var process = module.exports = {};
2161
-
2162
- process.nextTick = (function () {
2163
- var canSetImmediate = typeof window !== 'undefined'
2164
- && window.setImmediate;
2165
- var canPost = typeof window !== 'undefined'
2166
- && window.postMessage && window.addEventListener
2167
- ;
2168
-
2169
- if (canSetImmediate) {
2170
- return function (f) { return window.setImmediate(f) };
2171
- }
2172
-
2173
- if (canPost) {
2174
- var queue = [];
2175
- window.addEventListener('message', function (ev) {
2176
- var source = ev.source;
2177
- if ((source === window || source === null) && ev.data === 'process-tick') {
2178
- ev.stopPropagation();
2179
- if (queue.length > 0) {
2180
- var fn = queue.shift();
2181
- fn();
2182
- }
2183
- }
2184
- }, true);
2185
-
2186
- return function nextTick(fn) {
2187
- queue.push(fn);
2188
- window.postMessage('process-tick', '*');
2189
- };
2190
- }
2191
-
2192
- return function nextTick(fn) {
2193
- setTimeout(fn, 0);
2194
- };
2195
- })();
2196
-
2197
- process.title = 'browser';
2198
- process.browser = true;
2199
- process.env = {};
2200
- process.argv = [];
2201
-
2202
- function noop() {}
2203
-
2204
- process.on = noop;
2205
- process.once = noop;
2206
- process.off = noop;
2207
- process.emit = noop;
2208
-
2209
- process.binding = function (name) {
2210
- throw new Error('process.binding is not supported');
2211
- }
2212
-
2213
- // TODO(shtylman)
2214
- process.cwd = function () { return '/' };
2215
- process.chdir = function (dir) {
2216
- throw new Error('process.chdir is not supported');
2217
- };
2218
-
2219
-
2220
- /***/ },
2221
- /* 26 */
2222
2158
  /***/ function(module, exports, __webpack_require__) {
2223
2159
 
2224
2160
  /**
@@ -2230,12 +2166,12 @@ return /******/ (function(modules) { // webpackBootstrap
2230
2166
  * Available under MIT license <http://lodash.com/license>
2231
2167
  */
2232
2168
  var assign = __webpack_require__(41),
2233
- forEach = __webpack_require__(19),
2234
- forOwn = __webpack_require__(13),
2235
- getArray = __webpack_require__(34),
2169
+ forEach = __webpack_require__(18),
2170
+ forOwn = __webpack_require__(12),
2171
+ getArray = __webpack_require__(33),
2236
2172
  isArray = __webpack_require__(24),
2237
2173
  isObject = __webpack_require__(22),
2238
- releaseArray = __webpack_require__(36),
2174
+ releaseArray = __webpack_require__(35),
2239
2175
  slice = __webpack_require__(42);
2240
2176
 
2241
2177
  /** Used to match regexp flags from their coerced string values */
@@ -2376,7 +2312,7 @@ return /******/ (function(modules) { // webpackBootstrap
2376
2312
 
2377
2313
 
2378
2314
  /***/ },
2379
- /* 27 */
2315
+ /* 26 */
2380
2316
  /***/ function(module, exports, __webpack_require__) {
2381
2317
 
2382
2318
  /**
@@ -2388,7 +2324,7 @@ return /******/ (function(modules) { // webpackBootstrap
2388
2324
  * Available under MIT license <http://lodash.com/license>
2389
2325
  */
2390
2326
  var bind = __webpack_require__(43),
2391
- identity = __webpack_require__(51),
2327
+ identity = __webpack_require__(53),
2392
2328
  setBindData = __webpack_require__(44),
2393
2329
  support = __webpack_require__(45);
2394
2330
 
@@ -2462,7 +2398,7 @@ return /******/ (function(modules) { // webpackBootstrap
2462
2398
 
2463
2399
 
2464
2400
  /***/ },
2465
- /* 28 */
2401
+ /* 27 */
2466
2402
  /***/ function(module, exports, __webpack_require__) {
2467
2403
 
2468
2404
  /**
@@ -2488,7 +2424,7 @@ return /******/ (function(modules) { // webpackBootstrap
2488
2424
 
2489
2425
 
2490
2426
  /***/ },
2491
- /* 29 */
2427
+ /* 28 */
2492
2428
  /***/ function(module, exports, __webpack_require__) {
2493
2429
 
2494
2430
  /**
@@ -2528,7 +2464,7 @@ return /******/ (function(modules) { // webpackBootstrap
2528
2464
 
2529
2465
 
2530
2466
  /***/ },
2531
- /* 30 */
2467
+ /* 29 */
2532
2468
  /***/ function(module, exports, __webpack_require__) {
2533
2469
 
2534
2470
  /**
@@ -2539,7 +2475,7 @@ return /******/ (function(modules) { // webpackBootstrap
2539
2475
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2540
2476
  * Available under MIT license <http://lodash.com/license>
2541
2477
  */
2542
- var objectTypes = __webpack_require__(28);
2478
+ var objectTypes = __webpack_require__(27);
2543
2479
 
2544
2480
  /** Used for native method references */
2545
2481
  var objectProto = Object.prototype;
@@ -2572,7 +2508,7 @@ return /******/ (function(modules) { // webpackBootstrap
2572
2508
 
2573
2509
 
2574
2510
  /***/ },
2575
- /* 31 */
2511
+ /* 30 */
2576
2512
  /***/ function(module, exports, __webpack_require__) {
2577
2513
 
2578
2514
  /**
@@ -2610,7 +2546,7 @@ return /******/ (function(modules) { // webpackBootstrap
2610
2546
 
2611
2547
 
2612
2548
  /***/ },
2613
- /* 32 */
2549
+ /* 31 */
2614
2550
  /***/ function(module, exports, __webpack_require__) {
2615
2551
 
2616
2552
  /**
@@ -2621,8 +2557,8 @@ return /******/ (function(modules) { // webpackBootstrap
2621
2557
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2622
2558
  * Available under MIT license <http://lodash.com/license>
2623
2559
  */
2624
- var baseIndexOf = __webpack_require__(31),
2625
- keyPrefix = __webpack_require__(46);
2560
+ var baseIndexOf = __webpack_require__(30),
2561
+ keyPrefix = __webpack_require__(48);
2626
2562
 
2627
2563
  /**
2628
2564
  * An implementation of `_.contains` for cache objects that mimics the return
@@ -2655,7 +2591,7 @@ return /******/ (function(modules) { // webpackBootstrap
2655
2591
 
2656
2592
 
2657
2593
  /***/ },
2658
- /* 33 */
2594
+ /* 32 */
2659
2595
  /***/ function(module, exports, __webpack_require__) {
2660
2596
 
2661
2597
  /**
@@ -2666,9 +2602,9 @@ return /******/ (function(modules) { // webpackBootstrap
2666
2602
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2667
2603
  * Available under MIT license <http://lodash.com/license>
2668
2604
  */
2669
- var cachePush = __webpack_require__(49),
2670
- getObject = __webpack_require__(50),
2671
- releaseObject = __webpack_require__(37);
2605
+ var cachePush = __webpack_require__(46),
2606
+ getObject = __webpack_require__(47),
2607
+ releaseObject = __webpack_require__(36);
2672
2608
 
2673
2609
  /**
2674
2610
  * Creates a cache object to optimize linear searches of large arrays.
@@ -2706,7 +2642,7 @@ return /******/ (function(modules) { // webpackBootstrap
2706
2642
 
2707
2643
 
2708
2644
  /***/ },
2709
- /* 34 */
2645
+ /* 33 */
2710
2646
  /***/ function(module, exports, __webpack_require__) {
2711
2647
 
2712
2648
  /**
@@ -2717,7 +2653,7 @@ return /******/ (function(modules) { // webpackBootstrap
2717
2653
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2718
2654
  * Available under MIT license <http://lodash.com/license>
2719
2655
  */
2720
- var arrayPool = __webpack_require__(47);
2656
+ var arrayPool = __webpack_require__(51);
2721
2657
 
2722
2658
  /**
2723
2659
  * Gets an array from the array pool or creates a new one if the pool is empty.
@@ -2733,7 +2669,7 @@ return /******/ (function(modules) { // webpackBootstrap
2733
2669
 
2734
2670
 
2735
2671
  /***/ },
2736
- /* 35 */
2672
+ /* 34 */
2737
2673
  /***/ function(module, exports, __webpack_require__) {
2738
2674
 
2739
2675
  /**
@@ -2752,7 +2688,7 @@ return /******/ (function(modules) { // webpackBootstrap
2752
2688
 
2753
2689
 
2754
2690
  /***/ },
2755
- /* 36 */
2691
+ /* 35 */
2756
2692
  /***/ function(module, exports, __webpack_require__) {
2757
2693
 
2758
2694
  /**
@@ -2763,8 +2699,8 @@ return /******/ (function(modules) { // webpackBootstrap
2763
2699
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2764
2700
  * Available under MIT license <http://lodash.com/license>
2765
2701
  */
2766
- var arrayPool = __webpack_require__(47),
2767
- maxPoolSize = __webpack_require__(48);
2702
+ var arrayPool = __webpack_require__(51),
2703
+ maxPoolSize = __webpack_require__(49);
2768
2704
 
2769
2705
  /**
2770
2706
  * Releases the given array back to the array pool.
@@ -2783,7 +2719,7 @@ return /******/ (function(modules) { // webpackBootstrap
2783
2719
 
2784
2720
 
2785
2721
  /***/ },
2786
- /* 37 */
2722
+ /* 36 */
2787
2723
  /***/ function(module, exports, __webpack_require__) {
2788
2724
 
2789
2725
  /**
@@ -2794,8 +2730,8 @@ return /******/ (function(modules) { // webpackBootstrap
2794
2730
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2795
2731
  * Available under MIT license <http://lodash.com/license>
2796
2732
  */
2797
- var maxPoolSize = __webpack_require__(48),
2798
- objectPool = __webpack_require__(52);
2733
+ var maxPoolSize = __webpack_require__(49),
2734
+ objectPool = __webpack_require__(50);
2799
2735
 
2800
2736
  /**
2801
2737
  * Releases the given object back to the object pool.
@@ -2818,7 +2754,7 @@ return /******/ (function(modules) { // webpackBootstrap
2818
2754
 
2819
2755
 
2820
2756
  /***/ },
2821
- /* 38 */
2757
+ /* 37 */
2822
2758
  /***/ function(module, exports, __webpack_require__) {
2823
2759
 
2824
2760
  /**
@@ -2829,13 +2765,13 @@ return /******/ (function(modules) { // webpackBootstrap
2829
2765
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2830
2766
  * Available under MIT license <http://lodash.com/license>
2831
2767
  */
2832
- var baseIndexOf = __webpack_require__(31),
2833
- cacheIndexOf = __webpack_require__(32),
2834
- createCache = __webpack_require__(33),
2835
- getArray = __webpack_require__(34),
2836
- largeArraySize = __webpack_require__(35),
2837
- releaseArray = __webpack_require__(36),
2838
- releaseObject = __webpack_require__(37);
2768
+ var baseIndexOf = __webpack_require__(30),
2769
+ cacheIndexOf = __webpack_require__(31),
2770
+ createCache = __webpack_require__(32),
2771
+ getArray = __webpack_require__(33),
2772
+ largeArraySize = __webpack_require__(34),
2773
+ releaseArray = __webpack_require__(35),
2774
+ releaseObject = __webpack_require__(36);
2839
2775
 
2840
2776
  /**
2841
2777
  * The base implementation of `_.uniq` without support for callback shorthands
@@ -2888,7 +2824,7 @@ return /******/ (function(modules) { // webpackBootstrap
2888
2824
 
2889
2825
 
2890
2826
  /***/ },
2891
- /* 39 */
2827
+ /* 38 */
2892
2828
  /***/ function(module, exports, __webpack_require__) {
2893
2829
 
2894
2830
  /**
@@ -2899,10 +2835,10 @@ return /******/ (function(modules) { // webpackBootstrap
2899
2835
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2900
2836
  * Available under MIT license <http://lodash.com/license>
2901
2837
  */
2902
- var baseCreateCallback = __webpack_require__(27),
2903
- baseIsEqual = __webpack_require__(53),
2838
+ var baseCreateCallback = __webpack_require__(26),
2839
+ baseIsEqual = __webpack_require__(52),
2904
2840
  isObject = __webpack_require__(22),
2905
- keys = __webpack_require__(14),
2841
+ keys = __webpack_require__(13),
2906
2842
  property = __webpack_require__(54);
2907
2843
 
2908
2844
  /**
@@ -2962,16 +2898,82 @@ return /******/ (function(modules) { // webpackBootstrap
2962
2898
  var length = props.length,
2963
2899
  result = false;
2964
2900
 
2965
- while (length--) {
2966
- if (!(result = baseIsEqual(object[props[length]], func[props[length]], null, true))) {
2967
- break;
2968
- }
2901
+ while (length--) {
2902
+ if (!(result = baseIsEqual(object[props[length]], func[props[length]], null, true))) {
2903
+ break;
2904
+ }
2905
+ }
2906
+ return result;
2907
+ };
2908
+ }
2909
+
2910
+ module.exports = createCallback;
2911
+
2912
+
2913
+ /***/ },
2914
+ /* 39 */
2915
+ /***/ function(module, exports, __webpack_require__) {
2916
+
2917
+ // shim for using process in browser
2918
+
2919
+ var process = module.exports = {};
2920
+
2921
+ process.nextTick = (function () {
2922
+ var canSetImmediate = typeof window !== 'undefined'
2923
+ && window.setImmediate;
2924
+ var canPost = typeof window !== 'undefined'
2925
+ && window.postMessage && window.addEventListener
2926
+ ;
2927
+
2928
+ if (canSetImmediate) {
2929
+ return function (f) { return window.setImmediate(f) };
2930
+ }
2931
+
2932
+ if (canPost) {
2933
+ var queue = [];
2934
+ window.addEventListener('message', function (ev) {
2935
+ var source = ev.source;
2936
+ if ((source === window || source === null) && ev.data === 'process-tick') {
2937
+ ev.stopPropagation();
2938
+ if (queue.length > 0) {
2939
+ var fn = queue.shift();
2940
+ fn();
2941
+ }
2942
+ }
2943
+ }, true);
2944
+
2945
+ return function nextTick(fn) {
2946
+ queue.push(fn);
2947
+ window.postMessage('process-tick', '*');
2948
+ };
2969
2949
  }
2970
- return result;
2971
- };
2950
+
2951
+ return function nextTick(fn) {
2952
+ setTimeout(fn, 0);
2953
+ };
2954
+ })();
2955
+
2956
+ process.title = 'browser';
2957
+ process.browser = true;
2958
+ process.env = {};
2959
+ process.argv = [];
2960
+
2961
+ function noop() {}
2962
+
2963
+ process.on = noop;
2964
+ process.once = noop;
2965
+ process.off = noop;
2966
+ process.emit = noop;
2967
+
2968
+ process.binding = function (name) {
2969
+ throw new Error('process.binding is not supported');
2972
2970
  }
2973
2971
 
2974
- module.exports = createCallback;
2972
+ // TODO(shtylman)
2973
+ process.cwd = function () { return '/' };
2974
+ process.chdir = function (dir) {
2975
+ throw new Error('process.chdir is not supported');
2976
+ };
2975
2977
 
2976
2978
 
2977
2979
  /***/ },
@@ -3015,9 +3017,9 @@ return /******/ (function(modules) { // webpackBootstrap
3015
3017
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3016
3018
  * Available under MIT license <http://lodash.com/license>
3017
3019
  */
3018
- var baseCreateCallback = __webpack_require__(27),
3019
- keys = __webpack_require__(14),
3020
- objectTypes = __webpack_require__(28);
3020
+ var baseCreateCallback = __webpack_require__(26),
3021
+ keys = __webpack_require__(13),
3022
+ objectTypes = __webpack_require__(27);
3021
3023
 
3022
3024
  /**
3023
3025
  * Assigns own enumerable properties of source object(s) to the destination
@@ -3135,7 +3137,7 @@ return /******/ (function(modules) { // webpackBootstrap
3135
3137
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3136
3138
  * Available under MIT license <http://lodash.com/license>
3137
3139
  */
3138
- var createWrapper = __webpack_require__(56),
3140
+ var createWrapper = __webpack_require__(55),
3139
3141
  slice = __webpack_require__(42);
3140
3142
 
3141
3143
  /**
@@ -3181,8 +3183,8 @@ return /******/ (function(modules) { // webpackBootstrap
3181
3183
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3182
3184
  * Available under MIT license <http://lodash.com/license>
3183
3185
  */
3184
- var isNative = __webpack_require__(29),
3185
- noop = __webpack_require__(55);
3186
+ var isNative = __webpack_require__(28),
3187
+ noop = __webpack_require__(56);
3186
3188
 
3187
3189
  /** Used as the property descriptor for `__bindData__` */
3188
3190
  var descriptor = {
@@ -3230,7 +3232,7 @@ return /******/ (function(modules) { // webpackBootstrap
3230
3232
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3231
3233
  * Available under MIT license <http://lodash.com/license>
3232
3234
  */
3233
- var isNative = __webpack_require__(29);
3235
+ var isNative = __webpack_require__(28);
3234
3236
 
3235
3237
  /** Used to detect functions containing a `this` reference */
3236
3238
  var reThis = /\bthis\b/;
@@ -3277,64 +3279,7 @@ return /******/ (function(modules) { // webpackBootstrap
3277
3279
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3278
3280
  * Available under MIT license <http://lodash.com/license>
3279
3281
  */
3280
-
3281
- /** Used to prefix keys to avoid issues with `__proto__` and properties on `Object.prototype` */
3282
- var keyPrefix = +new Date + '';
3283
-
3284
- module.exports = keyPrefix;
3285
-
3286
-
3287
- /***/ },
3288
- /* 47 */
3289
- /***/ function(module, exports, __webpack_require__) {
3290
-
3291
- /**
3292
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
3293
- * Build: `lodash modularize modern exports="node" -o ./modern/`
3294
- * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
3295
- * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
3296
- * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3297
- * Available under MIT license <http://lodash.com/license>
3298
- */
3299
-
3300
- /** Used to pool arrays and objects used internally */
3301
- var arrayPool = [];
3302
-
3303
- module.exports = arrayPool;
3304
-
3305
-
3306
- /***/ },
3307
- /* 48 */
3308
- /***/ function(module, exports, __webpack_require__) {
3309
-
3310
- /**
3311
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
3312
- * Build: `lodash modularize modern exports="node" -o ./modern/`
3313
- * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
3314
- * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
3315
- * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3316
- * Available under MIT license <http://lodash.com/license>
3317
- */
3318
-
3319
- /** Used as the max size of the `arrayPool` and `objectPool` */
3320
- var maxPoolSize = 40;
3321
-
3322
- module.exports = maxPoolSize;
3323
-
3324
-
3325
- /***/ },
3326
- /* 49 */
3327
- /***/ function(module, exports, __webpack_require__) {
3328
-
3329
- /**
3330
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
3331
- * Build: `lodash modularize modern exports="node" -o ./modern/`
3332
- * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
3333
- * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
3334
- * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3335
- * Available under MIT license <http://lodash.com/license>
3336
- */
3337
- var keyPrefix = __webpack_require__(46);
3282
+ var keyPrefix = __webpack_require__(48);
3338
3283
 
3339
3284
  /**
3340
3285
  * Adds a given value to the corresponding cache object.
@@ -3367,7 +3312,7 @@ return /******/ (function(modules) { // webpackBootstrap
3367
3312
 
3368
3313
 
3369
3314
  /***/ },
3370
- /* 50 */
3315
+ /* 47 */
3371
3316
  /***/ function(module, exports, __webpack_require__) {
3372
3317
 
3373
3318
  /**
@@ -3378,7 +3323,7 @@ return /******/ (function(modules) { // webpackBootstrap
3378
3323
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3379
3324
  * Available under MIT license <http://lodash.com/license>
3380
3325
  */
3381
- var objectPool = __webpack_require__(52);
3326
+ var objectPool = __webpack_require__(50);
3382
3327
 
3383
3328
  /**
3384
3329
  * Gets an object from the object pool or creates a new one if the pool is empty.
@@ -3408,7 +3353,7 @@ return /******/ (function(modules) { // webpackBootstrap
3408
3353
 
3409
3354
 
3410
3355
  /***/ },
3411
- /* 51 */
3356
+ /* 48 */
3412
3357
  /***/ function(module, exports, __webpack_require__) {
3413
3358
 
3414
3359
  /**
@@ -3420,29 +3365,33 @@ return /******/ (function(modules) { // webpackBootstrap
3420
3365
  * Available under MIT license <http://lodash.com/license>
3421
3366
  */
3422
3367
 
3368
+ /** Used to prefix keys to avoid issues with `__proto__` and properties on `Object.prototype` */
3369
+ var keyPrefix = +new Date + '';
3370
+
3371
+ module.exports = keyPrefix;
3372
+
3373
+
3374
+ /***/ },
3375
+ /* 49 */
3376
+ /***/ function(module, exports, __webpack_require__) {
3377
+
3423
3378
  /**
3424
- * This method returns the first argument provided to it.
3425
- *
3426
- * @static
3427
- * @memberOf _
3428
- * @category Utilities
3429
- * @param {*} value Any value.
3430
- * @returns {*} Returns `value`.
3431
- * @example
3432
- *
3433
- * var object = { 'name': 'fred' };
3434
- * _.identity(object) === object;
3435
- * // => true
3379
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
3380
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
3381
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
3382
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
3383
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3384
+ * Available under MIT license <http://lodash.com/license>
3436
3385
  */
3437
- function identity(value) {
3438
- return value;
3439
- }
3440
3386
 
3441
- module.exports = identity;
3387
+ /** Used as the max size of the `arrayPool` and `objectPool` */
3388
+ var maxPoolSize = 40;
3389
+
3390
+ module.exports = maxPoolSize;
3442
3391
 
3443
3392
 
3444
3393
  /***/ },
3445
- /* 52 */
3394
+ /* 50 */
3446
3395
  /***/ function(module, exports, __webpack_require__) {
3447
3396
 
3448
3397
  /**
@@ -3461,7 +3410,26 @@ return /******/ (function(modules) { // webpackBootstrap
3461
3410
 
3462
3411
 
3463
3412
  /***/ },
3464
- /* 53 */
3413
+ /* 51 */
3414
+ /***/ function(module, exports, __webpack_require__) {
3415
+
3416
+ /**
3417
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
3418
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
3419
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
3420
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
3421
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3422
+ * Available under MIT license <http://lodash.com/license>
3423
+ */
3424
+
3425
+ /** Used to pool arrays and objects used internally */
3426
+ var arrayPool = [];
3427
+
3428
+ module.exports = arrayPool;
3429
+
3430
+
3431
+ /***/ },
3432
+ /* 52 */
3465
3433
  /***/ function(module, exports, __webpack_require__) {
3466
3434
 
3467
3435
  /**
@@ -3473,10 +3441,10 @@ return /******/ (function(modules) { // webpackBootstrap
3473
3441
  * Available under MIT license <http://lodash.com/license>
3474
3442
  */
3475
3443
  var forIn = __webpack_require__(57),
3476
- getArray = __webpack_require__(34),
3444
+ getArray = __webpack_require__(33),
3477
3445
  isFunction = __webpack_require__(58),
3478
- objectTypes = __webpack_require__(28),
3479
- releaseArray = __webpack_require__(36);
3446
+ objectTypes = __webpack_require__(27),
3447
+ releaseArray = __webpack_require__(35);
3480
3448
 
3481
3449
  /** `Object#toString` result shortcuts */
3482
3450
  var argsClass = '[object Arguments]',
@@ -3676,7 +3644,7 @@ return /******/ (function(modules) { // webpackBootstrap
3676
3644
 
3677
3645
 
3678
3646
  /***/ },
3679
- /* 54 */
3647
+ /* 53 */
3680
3648
  /***/ function(module, exports, __webpack_require__) {
3681
3649
 
3682
3650
  /**
@@ -3689,40 +3657,28 @@ return /******/ (function(modules) { // webpackBootstrap
3689
3657
  */
3690
3658
 
3691
3659
  /**
3692
- * Creates a "_.pluck" style function, which returns the `key` value of a
3693
- * given object.
3660
+ * This method returns the first argument provided to it.
3694
3661
  *
3695
3662
  * @static
3696
3663
  * @memberOf _
3697
3664
  * @category Utilities
3698
- * @param {string} key The name of the property to retrieve.
3699
- * @returns {Function} Returns the new function.
3665
+ * @param {*} value Any value.
3666
+ * @returns {*} Returns `value`.
3700
3667
  * @example
3701
3668
  *
3702
- * var characters = [
3703
- * { 'name': 'fred', 'age': 40 },
3704
- * { 'name': 'barney', 'age': 36 }
3705
- * ];
3706
- *
3707
- * var getName = _.property('name');
3708
- *
3709
- * _.map(characters, getName);
3710
- * // => ['barney', 'fred']
3711
- *
3712
- * _.sortBy(characters, getName);
3713
- * // => [{ 'name': 'barney', 'age': 36 }, { 'name': 'fred', 'age': 40 }]
3669
+ * var object = { 'name': 'fred' };
3670
+ * _.identity(object) === object;
3671
+ * // => true
3714
3672
  */
3715
- function property(key) {
3716
- return function(object) {
3717
- return object[key];
3718
- };
3673
+ function identity(value) {
3674
+ return value;
3719
3675
  }
3720
3676
 
3721
- module.exports = property;
3677
+ module.exports = identity;
3722
3678
 
3723
3679
 
3724
3680
  /***/ },
3725
- /* 55 */
3681
+ /* 54 */
3726
3682
  /***/ function(module, exports, __webpack_require__) {
3727
3683
 
3728
3684
  /**
@@ -3735,26 +3691,40 @@ return /******/ (function(modules) { // webpackBootstrap
3735
3691
  */
3736
3692
 
3737
3693
  /**
3738
- * A no-operation function.
3694
+ * Creates a "_.pluck" style function, which returns the `key` value of a
3695
+ * given object.
3739
3696
  *
3740
3697
  * @static
3741
3698
  * @memberOf _
3742
3699
  * @category Utilities
3700
+ * @param {string} key The name of the property to retrieve.
3701
+ * @returns {Function} Returns the new function.
3743
3702
  * @example
3744
3703
  *
3745
- * var object = { 'name': 'fred' };
3746
- * _.noop(object) === undefined;
3747
- * // => true
3704
+ * var characters = [
3705
+ * { 'name': 'fred', 'age': 40 },
3706
+ * { 'name': 'barney', 'age': 36 }
3707
+ * ];
3708
+ *
3709
+ * var getName = _.property('name');
3710
+ *
3711
+ * _.map(characters, getName);
3712
+ * // => ['barney', 'fred']
3713
+ *
3714
+ * _.sortBy(characters, getName);
3715
+ * // => [{ 'name': 'barney', 'age': 36 }, { 'name': 'fred', 'age': 40 }]
3748
3716
  */
3749
- function noop() {
3750
- // no operation performed
3717
+ function property(key) {
3718
+ return function(object) {
3719
+ return object[key];
3720
+ };
3751
3721
  }
3752
3722
 
3753
- module.exports = noop;
3723
+ module.exports = property;
3754
3724
 
3755
3725
 
3756
3726
  /***/ },
3757
- /* 56 */
3727
+ /* 55 */
3758
3728
  /***/ function(module, exports, __webpack_require__) {
3759
3729
 
3760
3730
  /**
@@ -3865,6 +3835,38 @@ return /******/ (function(modules) { // webpackBootstrap
3865
3835
  module.exports = createWrapper;
3866
3836
 
3867
3837
 
3838
+ /***/ },
3839
+ /* 56 */
3840
+ /***/ function(module, exports, __webpack_require__) {
3841
+
3842
+ /**
3843
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
3844
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
3845
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
3846
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
3847
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3848
+ * Available under MIT license <http://lodash.com/license>
3849
+ */
3850
+
3851
+ /**
3852
+ * A no-operation function.
3853
+ *
3854
+ * @static
3855
+ * @memberOf _
3856
+ * @category Utilities
3857
+ * @example
3858
+ *
3859
+ * var object = { 'name': 'fred' };
3860
+ * _.noop(object) === undefined;
3861
+ * // => true
3862
+ */
3863
+ function noop() {
3864
+ // no operation performed
3865
+ }
3866
+
3867
+ module.exports = noop;
3868
+
3869
+
3868
3870
  /***/ },
3869
3871
  /* 57 */
3870
3872
  /***/ function(module, exports, __webpack_require__) {
@@ -3877,8 +3879,8 @@ return /******/ (function(modules) { // webpackBootstrap
3877
3879
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3878
3880
  * Available under MIT license <http://lodash.com/license>
3879
3881
  */
3880
- var baseCreateCallback = __webpack_require__(27),
3881
- objectTypes = __webpack_require__(28);
3882
+ var baseCreateCallback = __webpack_require__(26),
3883
+ objectTypes = __webpack_require__(27);
3882
3884
 
3883
3885
  /**
3884
3886
  * Iterates over own and inherited enumerable properties of an object,
@@ -4122,9 +4124,9 @@ return /******/ (function(modules) { // webpackBootstrap
4122
4124
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
4123
4125
  * Available under MIT license <http://lodash.com/license>
4124
4126
  */
4125
- var isNative = __webpack_require__(29),
4127
+ var isNative = __webpack_require__(28),
4126
4128
  isObject = __webpack_require__(22),
4127
- noop = __webpack_require__(55);
4129
+ noop = __webpack_require__(56);
4128
4130
 
4129
4131
  /* Native method shortcuts for methods with the same name as other `lodash` methods */
4130
4132
  var nativeCreate = isNative(nativeCreate = Object.create) && nativeCreate;