UNPKG

95.1 kBJavaScriptView Raw
1(function webpackUniversalModuleDefinition(root, factory) {
2 if(typeof exports === 'object' && typeof module === 'object')
3 module.exports = factory();
4 else if(typeof define === 'function' && define.amd)
5 define(factory);
6 else if(typeof exports === 'object')
7 exports["ReactProxy"] = factory();
8 else
9 root["ReactProxy"] = factory();
10})(this, function() {
11return /******/ (function(modules) { // webpackBootstrap
12/******/ // The module cache
13/******/ var installedModules = {};
14/******/
15/******/ // The require function
16/******/ function __webpack_require__(moduleId) {
17/******/
18/******/ // Check if module is in cache
19/******/ if(installedModules[moduleId])
20/******/ return installedModules[moduleId].exports;
21/******/
22/******/ // Create a new module (and put it into the cache)
23/******/ var module = installedModules[moduleId] = {
24/******/ exports: {},
25/******/ id: moduleId,
26/******/ loaded: false
27/******/ };
28/******/
29/******/ // Execute the module function
30/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
31/******/
32/******/ // Flag the module as loaded
33/******/ module.loaded = true;
34/******/
35/******/ // Return the exports of the module
36/******/ return module.exports;
37/******/ }
38/******/
39/******/
40/******/ // expose the modules object (__webpack_modules__)
41/******/ __webpack_require__.m = modules;
42/******/
43/******/ // expose the module cache
44/******/ __webpack_require__.c = installedModules;
45/******/
46/******/ // __webpack_public_path__
47/******/ __webpack_require__.p = "";
48/******/
49/******/ // Load entry module and return exports
50/******/ return __webpack_require__(0);
51/******/ })
52/************************************************************************/
53/******/ ([
54/* 0 */
55/***/ function(module, exports, __webpack_require__) {
56
57 'use strict';
58
59 Object.defineProperty(exports, "__esModule", {
60 value: true
61 });
62 exports.getForceUpdate = exports.createProxy = undefined;
63
64 var _supportsProtoAssignment = __webpack_require__(31);
65
66 var _supportsProtoAssignment2 = _interopRequireDefault(_supportsProtoAssignment);
67
68 var _createClassProxy = __webpack_require__(47);
69
70 var _createClassProxy2 = _interopRequireDefault(_createClassProxy);
71
72 var _reactDeepForceUpdate = __webpack_require__(104);
73
74 var _reactDeepForceUpdate2 = _interopRequireDefault(_reactDeepForceUpdate);
75
76 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
77
78 if (!(0, _supportsProtoAssignment2.default)()) {
79 console.warn('This JavaScript environment does not support __proto__. ' + 'This means that react-proxy is unable to proxy React components. ' + 'Features that rely on react-proxy, such as react-transform-hmr, ' + 'will not function as expected.');
80 }
81
82 exports.createProxy = _createClassProxy2.default;
83 exports.getForceUpdate = _reactDeepForceUpdate2.default;
84
85/***/ },
86/* 1 */
87/***/ function(module, exports, __webpack_require__) {
88
89 module.exports = function(it){
90 return typeof it === 'object' ? it !== null : typeof it === 'function';
91 };
92
93/***/ },
94/* 2 */
95/***/ function(module, exports, __webpack_require__) {
96
97 var hasOwnProperty = {}.hasOwnProperty;
98 module.exports = function(it, key){
99 return hasOwnProperty.call(it, key);
100 };
101
102/***/ },
103/* 3 */
104/***/ function(module, exports, __webpack_require__) {
105
106 var store = __webpack_require__(42)('wks')
107 , uid = __webpack_require__(27)
108 , Symbol = __webpack_require__(5).Symbol
109 , USE_SYMBOL = typeof Symbol == 'function';
110 module.exports = function(name){
111 return store[name] || (store[name] =
112 USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));
113 };
114
115/***/ },
116/* 4 */
117/***/ function(module, exports, __webpack_require__) {
118
119 var isObject = __webpack_require__(1);
120 module.exports = function(it){
121 if(!isObject(it))throw TypeError(it + ' is not an object!');
122 return it;
123 };
124
125/***/ },
126/* 5 */
127/***/ function(module, exports, __webpack_require__) {
128
129 // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
130 var global = module.exports = typeof window != 'undefined' && window.Math == Math
131 ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();
132 if(typeof __g == 'number')__g = global; // eslint-disable-line no-undef
133
134/***/ },
135/* 6 */
136/***/ function(module, exports, __webpack_require__) {
137
138 var dP = __webpack_require__(10)
139 , createDesc = __webpack_require__(39);
140 module.exports = __webpack_require__(8) ? function(object, key, value){
141 return dP.f(object, key, createDesc(1, value));
142 } : function(object, key, value){
143 object[key] = value;
144 return object;
145 };
146
147/***/ },
148/* 7 */
149/***/ function(module, exports, __webpack_require__) {
150
151 /**
152 * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.
153 * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
154 *
155 * @static
156 * @memberOf _
157 * @category Lang
158 * @param {*} value The value to check.
159 * @returns {boolean} Returns `true` if `value` is an object, else `false`.
160 * @example
161 *
162 * _.isObject({});
163 * // => true
164 *
165 * _.isObject([1, 2, 3]);
166 * // => true
167 *
168 * _.isObject(1);
169 * // => false
170 */
171 function isObject(value) {
172 // Avoid a V8 JIT bug in Chrome 19-20.
173 // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.
174 var type = typeof value;
175 return !!value && (type == 'object' || type == 'function');
176 }
177
178 module.exports = isObject;
179
180
181/***/ },
182/* 8 */
183/***/ function(module, exports, __webpack_require__) {
184
185 // Thank's IE8 for his funny defineProperty
186 module.exports = !__webpack_require__(9)(function(){
187 return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;
188 });
189
190/***/ },
191/* 9 */
192/***/ function(module, exports, __webpack_require__) {
193
194 module.exports = function(exec){
195 try {
196 return !!exec();
197 } catch(e){
198 return true;
199 }
200 };
201
202/***/ },
203/* 10 */
204/***/ function(module, exports, __webpack_require__) {
205
206 var anObject = __webpack_require__(4)
207 , IE8_DOM_DEFINE = __webpack_require__(59)
208 , toPrimitive = __webpack_require__(75)
209 , dP = Object.defineProperty;
210
211 exports.f = __webpack_require__(8) ? Object.defineProperty : function defineProperty(O, P, Attributes){
212 anObject(O);
213 P = toPrimitive(P, true);
214 anObject(Attributes);
215 if(IE8_DOM_DEFINE)try {
216 return dP(O, P, Attributes);
217 } catch(e){ /* empty */ }
218 if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');
219 if('value' in Attributes)O[P] = Attributes.value;
220 return O;
221 };
222
223/***/ },
224/* 11 */
225/***/ function(module, exports, __webpack_require__) {
226
227 var getLength = __webpack_require__(95),
228 isLength = __webpack_require__(15);
229
230 /**
231 * Checks if `value` is array-like.
232 *
233 * @private
234 * @param {*} value The value to check.
235 * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
236 */
237 function isArrayLike(value) {
238 return value != null && isLength(getLength(value));
239 }
240
241 module.exports = isArrayLike;
242
243
244/***/ },
245/* 12 */
246/***/ function(module, exports, __webpack_require__) {
247
248 /**
249 * Checks if `value` is object-like.
250 *
251 * @private
252 * @param {*} value The value to check.
253 * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
254 */
255 function isObjectLike(value) {
256 return !!value && typeof value == 'object';
257 }
258
259 module.exports = isObjectLike;
260
261
262/***/ },
263/* 13 */
264/***/ function(module, exports, __webpack_require__) {
265
266 module.exports = {};
267
268/***/ },
269/* 14 */
270/***/ function(module, exports, __webpack_require__) {
271
272 var isNative = __webpack_require__(100);
273
274 /**
275 * Gets the native function at `key` of `object`.
276 *
277 * @private
278 * @param {Object} object The object to query.
279 * @param {string} key The key of the method to get.
280 * @returns {*} Returns the function if it's native, else `undefined`.
281 */
282 function getNative(object, key) {
283 var value = object == null ? undefined : object[key];
284 return isNative(value) ? value : undefined;
285 }
286
287 module.exports = getNative;
288
289
290/***/ },
291/* 15 */
292/***/ function(module, exports, __webpack_require__) {
293
294 /**
295 * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)
296 * of an array-like value.
297 */
298 var MAX_SAFE_INTEGER = 9007199254740991;
299
300 /**
301 * Checks if `value` is a valid array-like length.
302 *
303 * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).
304 *
305 * @private
306 * @param {*} value The value to check.
307 * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
308 */
309 function isLength(value) {
310 return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
311 }
312
313 module.exports = isLength;
314
315
316/***/ },
317/* 16 */
318/***/ function(module, exports, __webpack_require__) {
319
320 // 0 -> Array#forEach
321 // 1 -> Array#map
322 // 2 -> Array#filter
323 // 3 -> Array#some
324 // 4 -> Array#every
325 // 5 -> Array#find
326 // 6 -> Array#findIndex
327 var ctx = __webpack_require__(19)
328 , IObject = __webpack_require__(20)
329 , toObject = __webpack_require__(26)
330 , toLength = __webpack_require__(25)
331 , asc = __webpack_require__(54);
332 module.exports = function(TYPE, $create){
333 var IS_MAP = TYPE == 1
334 , IS_FILTER = TYPE == 2
335 , IS_SOME = TYPE == 3
336 , IS_EVERY = TYPE == 4
337 , IS_FIND_INDEX = TYPE == 6
338 , NO_HOLES = TYPE == 5 || IS_FIND_INDEX
339 , create = $create || asc;
340 return function($this, callbackfn, that){
341 var O = toObject($this)
342 , self = IObject(O)
343 , f = ctx(callbackfn, that, 3)
344 , length = toLength(self.length)
345 , index = 0
346 , result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined
347 , val, res;
348 for(;length > index; index++)if(NO_HOLES || index in self){
349 val = self[index];
350 res = f(val, index, O);
351 if(TYPE){
352 if(IS_MAP)result[index] = res; // map
353 else if(res)switch(TYPE){
354 case 3: return true; // some
355 case 5: return val; // find
356 case 6: return index; // findIndex
357 case 2: result.push(val); // filter
358 } else if(IS_EVERY)return false; // every
359 }
360 }
361 return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;
362 };
363 };
364
365/***/ },
366/* 17 */
367/***/ function(module, exports, __webpack_require__) {
368
369 var toString = {}.toString;
370
371 module.exports = function(it){
372 return toString.call(it).slice(8, -1);
373 };
374
375/***/ },
376/* 18 */
377/***/ function(module, exports, __webpack_require__) {
378
379 var core = module.exports = {version: '2.1.3'};
380 if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef
381
382/***/ },
383/* 19 */
384/***/ function(module, exports, __webpack_require__) {
385
386 // optional / simple context binding
387 var aFunction = __webpack_require__(51);
388 module.exports = function(fn, that, length){
389 aFunction(fn);
390 if(that === undefined)return fn;
391 switch(length){
392 case 1: return function(a){
393 return fn.call(that, a);
394 };
395 case 2: return function(a, b){
396 return fn.call(that, a, b);
397 };
398 case 3: return function(a, b, c){
399 return fn.call(that, a, b, c);
400 };
401 }
402 return function(/* ...args */){
403 return fn.apply(that, arguments);
404 };
405 };
406
407/***/ },
408/* 20 */
409/***/ function(module, exports, __webpack_require__) {
410
411 // fallback for non-array-like ES3 and non-enumerable old V8 strings
412 var cof = __webpack_require__(17);
413 module.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){
414 return cof(it) == 'String' ? it.split('') : Object(it);
415 };
416
417/***/ },
418/* 21 */
419/***/ function(module, exports, __webpack_require__) {
420
421 var META = __webpack_require__(27)('meta')
422 , isObject = __webpack_require__(1)
423 , has = __webpack_require__(2)
424 , setDesc = __webpack_require__(10).f
425 , id = 0;
426 var isExtensible = Object.isExtensible || function(){
427 return true;
428 };
429 var FREEZE = !__webpack_require__(9)(function(){
430 return isExtensible(Object.preventExtensions({}));
431 });
432 var setMeta = function(it){
433 setDesc(it, META, {value: {
434 i: 'O' + ++id, // object ID
435 w: {} // weak collections IDs
436 }});
437 };
438 var fastKey = function(it, create){
439 // return primitive with prefix
440 if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
441 if(!has(it, META)){
442 // can't set metadata to uncaught frozen object
443 if(!isExtensible(it))return 'F';
444 // not necessary to add metadata
445 if(!create)return 'E';
446 // add missing metadata
447 setMeta(it);
448 // return object ID
449 } return it[META].i;
450 };
451 var getWeak = function(it, create){
452 if(!has(it, META)){
453 // can't set metadata to uncaught frozen object
454 if(!isExtensible(it))return true;
455 // not necessary to add metadata
456 if(!create)return false;
457 // add missing metadata
458 setMeta(it);
459 // return hash weak collections IDs
460 } return it[META].w;
461 };
462 // add metadata on freeze-family methods calling
463 var onFreeze = function(it){
464 if(FREEZE && meta.NEED && isExtensible(it) && !has(it, META))setMeta(it);
465 return it;
466 };
467 var meta = module.exports = {
468 KEY: META,
469 NEED: false,
470 fastKey: fastKey,
471 getWeak: getWeak,
472 onFreeze: onFreeze
473 };
474
475/***/ },
476/* 22 */
477/***/ function(module, exports, __webpack_require__) {
478
479 var def = __webpack_require__(10).f
480 , has = __webpack_require__(2)
481 , TAG = __webpack_require__(3)('toStringTag');
482
483 module.exports = function(it, tag, stat){
484 if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});
485 };
486
487/***/ },
488/* 23 */
489/***/ function(module, exports, __webpack_require__) {
490
491 var shared = __webpack_require__(42)('keys')
492 , uid = __webpack_require__(27);
493 module.exports = function(key){
494 return shared[key] || (shared[key] = uid(key));
495 };
496
497/***/ },
498/* 24 */
499/***/ function(module, exports, __webpack_require__) {
500
501 // to indexed object, toObject with fallback for non-array-like ES3 strings
502 var IObject = __webpack_require__(20)
503 , defined = __webpack_require__(33);
504 module.exports = function(it){
505 return IObject(defined(it));
506 };
507
508/***/ },
509/* 25 */
510/***/ function(module, exports, __webpack_require__) {
511
512 // 7.1.15 ToLength
513 var toInteger = __webpack_require__(43)
514 , min = Math.min;
515 module.exports = function(it){
516 return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
517 };
518
519/***/ },
520/* 26 */
521/***/ function(module, exports, __webpack_require__) {
522
523 // 7.1.13 ToObject(argument)
524 var defined = __webpack_require__(33);
525 module.exports = function(it){
526 return Object(defined(it));
527 };
528
529/***/ },
530/* 27 */
531/***/ function(module, exports, __webpack_require__) {
532
533 var id = 0
534 , px = Math.random();
535 module.exports = function(key){
536 return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
537 };
538
539/***/ },
540/* 28 */
541/***/ function(module, exports, __webpack_require__) {
542
543 /** Used to detect unsigned integer values. */
544 var reIsUint = /^\d+$/;
545
546 /**
547 * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)
548 * of an array-like value.
549 */
550 var MAX_SAFE_INTEGER = 9007199254740991;
551
552 /**
553 * Checks if `value` is a valid array-like index.
554 *
555 * @private
556 * @param {*} value The value to check.
557 * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
558 * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
559 */
560 function isIndex(value, length) {
561 value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;
562 length = length == null ? MAX_SAFE_INTEGER : length;
563 return value > -1 && value % 1 == 0 && value < length;
564 }
565
566 module.exports = isIndex;
567
568
569/***/ },
570/* 29 */
571/***/ function(module, exports, __webpack_require__) {
572
573 var isArrayLike = __webpack_require__(11),
574 isObjectLike = __webpack_require__(12);
575
576 /** Used for native method references. */
577 var objectProto = Object.prototype;
578
579 /** Used to check objects for own properties. */
580 var hasOwnProperty = objectProto.hasOwnProperty;
581
582 /** Native method references. */
583 var propertyIsEnumerable = objectProto.propertyIsEnumerable;
584
585 /**
586 * Checks if `value` is classified as an `arguments` object.
587 *
588 * @static
589 * @memberOf _
590 * @category Lang
591 * @param {*} value The value to check.
592 * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
593 * @example
594 *
595 * _.isArguments(function() { return arguments; }());
596 * // => true
597 *
598 * _.isArguments([1, 2, 3]);
599 * // => false
600 */
601 function isArguments(value) {
602 return isObjectLike(value) && isArrayLike(value) &&
603 hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');
604 }
605
606 module.exports = isArguments;
607
608
609/***/ },
610/* 30 */
611/***/ function(module, exports, __webpack_require__) {
612
613 var getNative = __webpack_require__(14),
614 isLength = __webpack_require__(15),
615 isObjectLike = __webpack_require__(12);
616
617 /** `Object#toString` result references. */
618 var arrayTag = '[object Array]';
619
620 /** Used for native method references. */
621 var objectProto = Object.prototype;
622
623 /**
624 * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
625 * of values.
626 */
627 var objToString = objectProto.toString;
628
629 /* Native method references for those with the same name as other `lodash` methods. */
630 var nativeIsArray = getNative(Array, 'isArray');
631
632 /**
633 * Checks if `value` is classified as an `Array` object.
634 *
635 * @static
636 * @memberOf _
637 * @category Lang
638 * @param {*} value The value to check.
639 * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
640 * @example
641 *
642 * _.isArray([1, 2, 3]);
643 * // => true
644 *
645 * _.isArray(function() { return arguments; }());
646 * // => false
647 */
648 var isArray = nativeIsArray || function(value) {
649 return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;
650 };
651
652 module.exports = isArray;
653
654
655/***/ },
656/* 31 */
657/***/ function(module, exports, __webpack_require__) {
658
659 "use strict";
660
661 Object.defineProperty(exports, "__esModule", {
662 value: true
663 });
664 exports.default = supportsProtoAssignment;
665 var x = {};
666 var y = { supports: true };
667 try {
668 x.__proto__ = y;
669 } catch (err) {}
670
671 function supportsProtoAssignment() {
672 return x.supports || false;
673 };
674
675/***/ },
676/* 32 */
677/***/ function(module, exports, __webpack_require__) {
678
679 module.exports = function(it, Constructor, name, forbiddenField){
680 if(!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)){
681 throw TypeError(name + ': incorrect invocation!');
682 } return it;
683 };
684
685/***/ },
686/* 33 */
687/***/ function(module, exports, __webpack_require__) {
688
689 // 7.2.1 RequireObjectCoercible(argument)
690 module.exports = function(it){
691 if(it == undefined)throw TypeError("Can't call method on " + it);
692 return it;
693 };
694
695/***/ },
696/* 34 */
697/***/ function(module, exports, __webpack_require__) {
698
699 var isObject = __webpack_require__(1)
700 , document = __webpack_require__(5).document
701 // in old IE typeof document.createElement is 'object'
702 , is = isObject(document) && isObject(document.createElement);
703 module.exports = function(it){
704 return is ? document.createElement(it) : {};
705 };
706
707/***/ },
708/* 35 */
709/***/ function(module, exports, __webpack_require__) {
710
711 // IE 8- don't enum bug keys
712 module.exports = (
713 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'
714 ).split(',');
715
716/***/ },
717/* 36 */
718/***/ function(module, exports, __webpack_require__) {
719
720 var global = __webpack_require__(5)
721 , core = __webpack_require__(18)
722 , ctx = __webpack_require__(19)
723 , hide = __webpack_require__(6)
724 , PROTOTYPE = 'prototype';
725
726 var $export = function(type, name, source){
727 var IS_FORCED = type & $export.F
728 , IS_GLOBAL = type & $export.G
729 , IS_STATIC = type & $export.S
730 , IS_PROTO = type & $export.P
731 , IS_BIND = type & $export.B
732 , IS_WRAP = type & $export.W
733 , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})
734 , expProto = exports[PROTOTYPE]
735 , target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]
736 , key, own, out;
737 if(IS_GLOBAL)source = name;
738 for(key in source){
739 // contains in native
740 own = !IS_FORCED && target && target[key] !== undefined;
741 if(own && key in exports)continue;
742 // export native or passed
743 out = own ? target[key] : source[key];
744 // prevent global pollution for namespaces
745 exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]
746 // bind timers to global for call from export context
747 : IS_BIND && own ? ctx(out, global)
748 // wrap global constructors for prevent change them in library
749 : IS_WRAP && target[key] == out ? (function(C){
750 var F = function(a, b, c){
751 if(this instanceof C){
752 switch(arguments.length){
753 case 0: return new C;
754 case 1: return new C(a);
755 case 2: return new C(a, b);
756 } return new C(a, b, c);
757 } return C.apply(this, arguments);
758 };
759 F[PROTOTYPE] = C[PROTOTYPE];
760 return F;
761 // make static versions for prototype methods
762 })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
763 // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%
764 if(IS_PROTO){
765 (exports.virtual || (exports.virtual = {}))[key] = out;
766 // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%
767 if(type & $export.R && expProto && !expProto[key])hide(expProto, key, out);
768 }
769 }
770 };
771 // type bitmap
772 $export.F = 1; // forced
773 $export.G = 2; // global
774 $export.S = 4; // static
775 $export.P = 8; // proto
776 $export.B = 16; // bind
777 $export.W = 32; // wrap
778 $export.U = 64; // safe
779 $export.R = 128; // real proto method for `library`
780 module.exports = $export;
781
782/***/ },
783/* 37 */
784/***/ function(module, exports, __webpack_require__) {
785
786 var ctx = __webpack_require__(19)
787 , call = __webpack_require__(62)
788 , isArrayIter = __webpack_require__(60)
789 , anObject = __webpack_require__(4)
790 , toLength = __webpack_require__(25)
791 , getIterFn = __webpack_require__(76);
792 module.exports = function(iterable, entries, fn, that, ITERATOR){
793 var iterFn = ITERATOR ? function(){ return iterable; } : getIterFn(iterable)
794 , f = ctx(fn, that, entries ? 2 : 1)
795 , index = 0
796 , length, step, iterator;
797 if(typeof iterFn != 'function')throw TypeError(iterable + ' is not iterable!');
798 // fast case for arrays with default iterator
799 if(isArrayIter(iterFn))for(length = toLength(iterable.length); length > index; index++){
800 entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
801 } else for(iterator = iterFn.call(iterable); !(step = iterator.next()).done; ){
802 call(iterator, f, step.value, entries);
803 }
804 };
805
806/***/ },
807/* 38 */
808/***/ function(module, exports, __webpack_require__) {
809
810 // 19.1.2.14 / 15.2.3.14 Object.keys(O)
811 var $keys = __webpack_require__(72)
812 , enumBugKeys = __webpack_require__(35);
813
814 module.exports = Object.keys || function keys(O){
815 return $keys(O, enumBugKeys);
816 };
817
818/***/ },
819/* 39 */
820/***/ function(module, exports, __webpack_require__) {
821
822 module.exports = function(bitmap, value){
823 return {
824 enumerable : !(bitmap & 1),
825 configurable: !(bitmap & 2),
826 writable : !(bitmap & 4),
827 value : value
828 };
829 };
830
831/***/ },
832/* 40 */
833/***/ function(module, exports, __webpack_require__) {
834
835 var hide = __webpack_require__(6);
836 module.exports = function(target, src, safe){
837 for(var key in src){
838 if(safe && target[key])target[key] = src[key];
839 else hide(target, key, src[key]);
840 } return target;
841 };
842
843/***/ },
844/* 41 */
845/***/ function(module, exports, __webpack_require__) {
846
847 module.exports = __webpack_require__(6);
848
849/***/ },
850/* 42 */
851/***/ function(module, exports, __webpack_require__) {
852
853 var global = __webpack_require__(5)
854 , SHARED = '__core-js_shared__'
855 , store = global[SHARED] || (global[SHARED] = {});
856 module.exports = function(key){
857 return store[key] || (store[key] = {});
858 };
859
860/***/ },
861/* 43 */
862/***/ function(module, exports, __webpack_require__) {
863
864 // 7.1.4 ToInteger
865 var ceil = Math.ceil
866 , floor = Math.floor;
867 module.exports = function(it){
868 return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
869 };
870
871/***/ },
872/* 44 */
873/***/ function(module, exports, __webpack_require__) {
874
875 /** Used as the `TypeError` message for "Functions" methods. */
876 var FUNC_ERROR_TEXT = 'Expected a function';
877
878 /* Native method references for those with the same name as other `lodash` methods. */
879 var nativeMax = Math.max;
880
881 /**
882 * Creates a function that invokes `func` with the `this` binding of the
883 * created function and arguments from `start` and beyond provided as an array.
884 *
885 * **Note:** This method is based on the [rest parameter](https://developer.mozilla.org/Web/JavaScript/Reference/Functions/rest_parameters).
886 *
887 * @static
888 * @memberOf _
889 * @category Function
890 * @param {Function} func The function to apply a rest parameter to.
891 * @param {number} [start=func.length-1] The start position of the rest parameter.
892 * @returns {Function} Returns the new function.
893 * @example
894 *
895 * var say = _.restParam(function(what, names) {
896 * return what + ' ' + _.initial(names).join(', ') +
897 * (_.size(names) > 1 ? ', & ' : '') + _.last(names);
898 * });
899 *
900 * say('hello', 'fred', 'barney', 'pebbles');
901 * // => 'hello fred, barney, & pebbles'
902 */
903 function restParam(func, start) {
904 if (typeof func != 'function') {
905 throw new TypeError(FUNC_ERROR_TEXT);
906 }
907 start = nativeMax(start === undefined ? (func.length - 1) : (+start || 0), 0);
908 return function() {
909 var args = arguments,
910 index = -1,
911 length = nativeMax(args.length - start, 0),
912 rest = Array(length);
913
914 while (++index < length) {
915 rest[index] = args[start + index];
916 }
917 switch (start) {
918 case 0: return func.call(this, rest);
919 case 1: return func.call(this, args[0], rest);
920 case 2: return func.call(this, args[0], args[1], rest);
921 }
922 var otherArgs = Array(start + 1);
923 index = -1;
924 while (++index < start) {
925 otherArgs[index] = args[index];
926 }
927 otherArgs[start] = rest;
928 return func.apply(this, otherArgs);
929 };
930 }
931
932 module.exports = restParam;
933
934
935/***/ },
936/* 45 */
937/***/ function(module, exports, __webpack_require__) {
938
939 var getNative = __webpack_require__(14),
940 isArrayLike = __webpack_require__(11),
941 isObject = __webpack_require__(7),
942 shimKeys = __webpack_require__(98);
943
944 /* Native method references for those with the same name as other `lodash` methods. */
945 var nativeKeys = getNative(Object, 'keys');
946
947 /**
948 * Creates an array of the own enumerable property names of `object`.
949 *
950 * **Note:** Non-object values are coerced to objects. See the
951 * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)
952 * for more details.
953 *
954 * @static
955 * @memberOf _
956 * @category Object
957 * @param {Object} object The object to query.
958 * @returns {Array} Returns the array of property names.
959 * @example
960 *
961 * function Foo() {
962 * this.a = 1;
963 * this.b = 2;
964 * }
965 *
966 * Foo.prototype.c = 3;
967 *
968 * _.keys(new Foo);
969 * // => ['a', 'b'] (iteration order is not guaranteed)
970 *
971 * _.keys('hi');
972 * // => ['0', '1']
973 */
974 var keys = !nativeKeys ? shimKeys : function(object) {
975 var Ctor = object == null ? undefined : object.constructor;
976 if ((typeof Ctor == 'function' && Ctor.prototype === object) ||
977 (typeof object != 'function' && isArrayLike(object))) {
978 return shimKeys(object);
979 }
980 return isObject(object) ? nativeKeys(object) : [];
981 };
982
983 module.exports = keys;
984
985
986/***/ },
987/* 46 */
988/***/ function(module, exports, __webpack_require__) {
989
990 'use strict';
991
992 Object.defineProperty(exports, "__esModule", {
993 value: true
994 });
995 exports.default = bindAutoBindMethods;
996 /**
997 * Copyright 2013-2015, Facebook, Inc.
998 * All rights reserved.
999 *
1000 * This source code is licensed under the BSD-style license found in the
1001 * LICENSE file in the root directory of React source tree. An additional grant
1002 * of patent rights can be found in the PATENTS file in the same directory.
1003 *
1004 * Original:
1005 * https://github.com/facebook/react/blob/6508b1ad273a6f371e8d90ae676e5390199461b4/src/isomorphic/classic/class/ReactClass.js#L650-L713
1006 */
1007
1008 function bindAutoBindMethod(component, method) {
1009 var boundMethod = method.bind(component);
1010
1011 boundMethod.__reactBoundContext = component;
1012 boundMethod.__reactBoundMethod = method;
1013 boundMethod.__reactBoundArguments = null;
1014
1015 var componentName = component.constructor.displayName,
1016 _bind = boundMethod.bind;
1017
1018 boundMethod.bind = function (newThis) {
1019 var args = Array.prototype.slice.call(arguments, 1);
1020 if (newThis !== component && newThis !== null) {
1021 console.warn('bind(): React component methods may only be bound to the ' + 'component instance. See ' + componentName);
1022 } else if (!args.length) {
1023 console.warn('bind(): You are binding a component method to the component. ' + 'React does this for you automatically in a high-performance ' + 'way, so you can safely remove this call. See ' + componentName);
1024 return boundMethod;
1025 }
1026
1027 var reboundMethod = _bind.apply(boundMethod, arguments);
1028 reboundMethod.__reactBoundContext = component;
1029 reboundMethod.__reactBoundMethod = method;
1030 reboundMethod.__reactBoundArguments = args;
1031
1032 return reboundMethod;
1033 };
1034
1035 return boundMethod;
1036 }
1037
1038 function bindAutoBindMethodsFromMap(component) {
1039 for (var autoBindKey in component.__reactAutoBindMap) {
1040 if (!component.__reactAutoBindMap.hasOwnProperty(autoBindKey)) {
1041 return;
1042 }
1043
1044 // Tweak: skip methods that are already bound.
1045 // This is to preserve method reference in case it is used
1046 // as a subscription handler that needs to be detached later.
1047 if (component.hasOwnProperty(autoBindKey) && component[autoBindKey].__reactBoundContext === component) {
1048 continue;
1049 }
1050
1051 var method = component.__reactAutoBindMap[autoBindKey];
1052 component[autoBindKey] = bindAutoBindMethod(component, method);
1053 }
1054 }
1055
1056 function bindAutoBindMethods(component) {
1057 if (component.__reactAutoBindPairs) {
1058 bindAutoBindMethodsFromArray(component);
1059 } else if (component.__reactAutoBindMap) {
1060 bindAutoBindMethodsFromMap(component);
1061 }
1062 }
1063
1064 function bindAutoBindMethodsFromArray(component) {
1065 var pairs = component.__reactAutoBindPairs;
1066
1067 if (!pairs) {
1068 return;
1069 }
1070
1071 for (var i = 0; i < pairs.length; i += 2) {
1072 var autoBindKey = pairs[i];
1073
1074 if (component.hasOwnProperty(autoBindKey) && component[autoBindKey].__reactBoundContext === component) {
1075 continue;
1076 }
1077
1078 var method = pairs[i + 1];
1079
1080 component[autoBindKey] = bindAutoBindMethod(component, method);
1081 }
1082 }
1083
1084/***/ },
1085/* 47 */
1086/***/ function(module, exports, __webpack_require__) {
1087
1088 'use strict';
1089
1090 Object.defineProperty(exports, "__esModule", {
1091 value: true
1092 });
1093
1094 var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
1095
1096 exports.default = proxyClass;
1097 exports.default = createClassProxy;
1098
1099 var _weakMap = __webpack_require__(50);
1100
1101 var _weakMap2 = _interopRequireDefault(_weakMap);
1102
1103 var _createPrototypeProxy = __webpack_require__(48);
1104
1105 var _createPrototypeProxy2 = _interopRequireDefault(_createPrototypeProxy);
1106
1107 var _bindAutoBindMethods = __webpack_require__(46);
1108
1109 var _bindAutoBindMethods2 = _interopRequireDefault(_bindAutoBindMethods);
1110
1111 var _deleteUnknownAutoBindMethods = __webpack_require__(49);
1112
1113 var _deleteUnknownAutoBindMethods2 = _interopRequireDefault(_deleteUnknownAutoBindMethods);
1114
1115 var _supportsProtoAssignment = __webpack_require__(31);
1116
1117 var _supportsProtoAssignment2 = _interopRequireDefault(_supportsProtoAssignment);
1118
1119 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1120
1121 function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
1122
1123 var RESERVED_STATICS = ['length', 'name', 'arguments', 'caller', 'prototype', 'toString'];
1124
1125 function isEqualDescriptor(a, b) {
1126 if (!a && !b) {
1127 return true;
1128 }
1129 if (!a || !b) {
1130 return false;
1131 }
1132 for (var key in a) {
1133 if (a[key] !== b[key]) {
1134 return false;
1135 }
1136 }
1137 return true;
1138 }
1139
1140 var allProxies = new _weakMap2.default();
1141
1142 function proxyClass(InitialComponent) {
1143 // Prevent double wrapping.
1144 // Given a proxy class, return the existing proxy managing it.
1145 if (allProxies.has(InitialComponent)) {
1146 return allProxies.get(InitialComponent);
1147 }
1148
1149 var prototypeProxy = (0, _createPrototypeProxy2.default)();
1150 var CurrentComponent = undefined;
1151 var ProxyComponent = undefined;
1152
1153 var staticDescriptors = {};
1154 function wasStaticModifiedByUser(key) {
1155 // Compare the descriptor with the one we previously set ourselves.
1156 var currentDescriptor = Object.getOwnPropertyDescriptor(ProxyComponent, key);
1157 return !isEqualDescriptor(staticDescriptors[key], currentDescriptor);
1158 }
1159
1160 function instantiate(factory, context, params) {
1161 var component = factory();
1162
1163 try {
1164 return component.apply(context, params);
1165 } catch (err) {
1166 (function () {
1167 // Native ES6 class instantiation
1168 var instance = new (Function.prototype.bind.apply(component, [null].concat(_toConsumableArray(params))))();
1169
1170 Object.keys(instance).forEach(function (key) {
1171 if (RESERVED_STATICS.indexOf(key) > -1) {
1172 return;
1173 }
1174 context[key] = instance[key];
1175 });
1176 })();
1177 }
1178 }
1179
1180 try {
1181 // Create a proxy constructor with matching name
1182 ProxyComponent = new Function('factory', 'instantiate', 'return function ' + (InitialComponent.name || 'ProxyComponent') + '() {\n return instantiate(factory, this, arguments);\n }')(function () {
1183 return CurrentComponent;
1184 }, instantiate);
1185 } catch (err) {
1186 // Some environments may forbid dynamic evaluation
1187 ProxyComponent = function ProxyComponent() {
1188 return instantiate(function () {
1189 return CurrentComponent;
1190 }, this, arguments);
1191 };
1192 }
1193
1194 // Point proxy constructor to the proxy prototype
1195 ProxyComponent.prototype = prototypeProxy.get();
1196
1197 // Proxy toString() to the current constructor
1198 ProxyComponent.toString = function toString() {
1199 return CurrentComponent.toString();
1200 };
1201
1202 function update(NextComponent) {
1203 if (typeof NextComponent !== 'function') {
1204 throw new Error('Expected a constructor.');
1205 }
1206
1207 // Prevent proxy cycles
1208 if (allProxies.has(NextComponent)) {
1209 return update(allProxies.get(NextComponent).__getCurrent());
1210 }
1211
1212 // Save the next constructor so we call it
1213 CurrentComponent = NextComponent;
1214
1215 // Update the prototype proxy with new methods
1216 var mountedInstances = prototypeProxy.update(NextComponent.prototype);
1217
1218 // Set up the constructor property so accessing the statics work
1219 ProxyComponent.prototype.constructor = ProxyComponent;
1220
1221 // Set up the same prototype for inherited statics
1222 ProxyComponent.__proto__ = NextComponent.__proto__;
1223
1224 // Copy static methods and properties
1225 Object.getOwnPropertyNames(NextComponent).forEach(function (key) {
1226 if (RESERVED_STATICS.indexOf(key) > -1) {
1227 return;
1228 }
1229
1230 var staticDescriptor = _extends({}, Object.getOwnPropertyDescriptor(NextComponent, key), {
1231 configurable: true
1232 });
1233
1234 // Copy static unless user has redefined it at runtime
1235 if (!wasStaticModifiedByUser(key)) {
1236 Object.defineProperty(ProxyComponent, key, staticDescriptor);
1237 staticDescriptors[key] = staticDescriptor;
1238 }
1239 });
1240
1241 // Remove old static methods and properties
1242 Object.getOwnPropertyNames(ProxyComponent).forEach(function (key) {
1243 if (RESERVED_STATICS.indexOf(key) > -1) {
1244 return;
1245 }
1246
1247 // Skip statics that exist on the next class
1248 if (NextComponent.hasOwnProperty(key)) {
1249 return;
1250 }
1251
1252 // Skip non-configurable statics
1253 var descriptor = Object.getOwnPropertyDescriptor(ProxyComponent, key);
1254 if (descriptor && !descriptor.configurable) {
1255 return;
1256 }
1257
1258 // Delete static unless user has redefined it at runtime
1259 if (!wasStaticModifiedByUser(key)) {
1260 delete ProxyComponent[key];
1261 delete staticDescriptors[key];
1262 }
1263 });
1264
1265 // Try to infer displayName
1266 ProxyComponent.displayName = NextComponent.displayName || NextComponent.name;
1267
1268 // We might have added new methods that need to be auto-bound
1269 mountedInstances.forEach(_bindAutoBindMethods2.default);
1270 mountedInstances.forEach(_deleteUnknownAutoBindMethods2.default);
1271
1272 // Let the user take care of redrawing
1273 return mountedInstances;
1274 };
1275
1276 function get() {
1277 return ProxyComponent;
1278 }
1279
1280 function getCurrent() {
1281 return CurrentComponent;
1282 }
1283
1284 update(InitialComponent);
1285
1286 var proxy = { get: get, update: update };
1287 allProxies.set(ProxyComponent, proxy);
1288
1289 Object.defineProperty(proxy, '__getCurrent', {
1290 configurable: false,
1291 writable: false,
1292 enumerable: false,
1293 value: getCurrent
1294 });
1295
1296 return proxy;
1297 }
1298
1299 function createFallback(Component) {
1300 var CurrentComponent = Component;
1301
1302 return {
1303 get: function get() {
1304 return CurrentComponent;
1305 },
1306 update: function update(NextComponent) {
1307 CurrentComponent = NextComponent;
1308 }
1309 };
1310 }
1311
1312 function createClassProxy(Component) {
1313 return Component.__proto__ && (0, _supportsProtoAssignment2.default)() ? proxyClass(Component) : createFallback(Component);
1314 }
1315
1316/***/ },
1317/* 48 */
1318/***/ function(module, exports, __webpack_require__) {
1319
1320 'use strict';
1321
1322 Object.defineProperty(exports, "__esModule", {
1323 value: true
1324 });
1325 exports.default = createPrototypeProxy;
1326
1327 var _assign = __webpack_require__(101);
1328
1329 var _assign2 = _interopRequireDefault(_assign);
1330
1331 var _difference = __webpack_require__(80);
1332
1333 var _difference2 = _interopRequireDefault(_difference);
1334
1335 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1336
1337 function createPrototypeProxy() {
1338 var proxy = {};
1339 var current = null;
1340 var mountedInstances = [];
1341
1342 /**
1343 * Creates a proxied toString() method pointing to the current version's toString().
1344 */
1345 function proxyToString(name) {
1346 // Wrap to always call the current version
1347 return function toString() {
1348 if (typeof current[name] === 'function') {
1349 return current[name].toString();
1350 } else {
1351 return '<method was deleted>';
1352 }
1353 };
1354 }
1355
1356 /**
1357 * Creates a proxied method that calls the current version, whenever available.
1358 */
1359 function proxyMethod(name) {
1360 // Wrap to always call the current version
1361 var proxiedMethod = function proxiedMethod() {
1362 if (typeof current[name] === 'function') {
1363 return current[name].apply(this, arguments);
1364 }
1365 };
1366
1367 // Copy properties of the original function, if any
1368 (0, _assign2.default)(proxiedMethod, current[name]);
1369 proxiedMethod.toString = proxyToString(name);
1370
1371 return proxiedMethod;
1372 }
1373
1374 /**
1375 * Augments the original componentDidMount with instance tracking.
1376 */
1377 function proxiedComponentDidMount() {
1378 mountedInstances.push(this);
1379 if (typeof current.componentDidMount === 'function') {
1380 return current.componentDidMount.apply(this, arguments);
1381 }
1382 }
1383 proxiedComponentDidMount.toString = proxyToString('componentDidMount');
1384
1385 /**
1386 * Augments the original componentWillUnmount with instance tracking.
1387 */
1388 function proxiedComponentWillUnmount() {
1389 var index = mountedInstances.indexOf(this);
1390 // Unless we're in a weird environment without componentDidMount
1391 if (index !== -1) {
1392 mountedInstances.splice(index, 1);
1393 }
1394 if (typeof current.componentWillUnmount === 'function') {
1395 return current.componentWillUnmount.apply(this, arguments);
1396 }
1397 }
1398 proxiedComponentWillUnmount.toString = proxyToString('componentWillUnmount');
1399
1400 /**
1401 * Defines a property on the proxy.
1402 */
1403 function defineProxyProperty(name, descriptor) {
1404 Object.defineProperty(proxy, name, descriptor);
1405 }
1406
1407 /**
1408 * Defines a property, attempting to keep the original descriptor configuration.
1409 */
1410 function defineProxyPropertyWithValue(name, value) {
1411 var _ref = Object.getOwnPropertyDescriptor(current, name) || {};
1412
1413 var _ref$enumerable = _ref.enumerable;
1414 var enumerable = _ref$enumerable === undefined ? false : _ref$enumerable;
1415 var _ref$writable = _ref.writable;
1416 var writable = _ref$writable === undefined ? true : _ref$writable;
1417
1418
1419 defineProxyProperty(name, {
1420 configurable: true,
1421 enumerable: enumerable,
1422 writable: writable,
1423 value: value
1424 });
1425 }
1426
1427 /**
1428 * Creates an auto-bind map mimicking the original map, but directed at proxy.
1429 */
1430 function createAutoBindMap() {
1431 if (!current.__reactAutoBindMap) {
1432 return;
1433 }
1434
1435 var __reactAutoBindMap = {};
1436 for (var name in current.__reactAutoBindMap) {
1437 if (typeof proxy[name] === 'function' && current.__reactAutoBindMap.hasOwnProperty(name)) {
1438 __reactAutoBindMap[name] = proxy[name];
1439 }
1440 }
1441
1442 return __reactAutoBindMap;
1443 }
1444
1445 /**
1446 * Creates an auto-bind map mimicking the original map, but directed at proxy.
1447 */
1448 function createAutoBindPairs() {
1449 var __reactAutoBindPairs = [];
1450
1451 for (var i = 0; i < current.__reactAutoBindPairs.length; i += 2) {
1452 var name = current.__reactAutoBindPairs[i];
1453 var method = proxy[name];
1454
1455 if (typeof method === 'function') {
1456 __reactAutoBindPairs.push(name, method);
1457 }
1458 }
1459
1460 return __reactAutoBindPairs;
1461 }
1462
1463 /**
1464 * Applies the updated prototype.
1465 */
1466 function update(next) {
1467 // Save current source of truth
1468 current = next;
1469
1470 // Find changed property names
1471 var currentNames = Object.getOwnPropertyNames(current);
1472 var previousName = Object.getOwnPropertyNames(proxy);
1473 var removedNames = (0, _difference2.default)(previousName, currentNames);
1474
1475 // Remove properties and methods that are no longer there
1476 removedNames.forEach(function (name) {
1477 delete proxy[name];
1478 });
1479
1480 // Copy every descriptor
1481 currentNames.forEach(function (name) {
1482 var descriptor = Object.getOwnPropertyDescriptor(current, name);
1483 if (typeof descriptor.value === 'function') {
1484 // Functions require additional wrapping so they can be bound later
1485 defineProxyPropertyWithValue(name, proxyMethod(name));
1486 } else {
1487 // Other values can be copied directly
1488 defineProxyProperty(name, descriptor);
1489 }
1490 });
1491
1492 // Track mounting and unmounting
1493 defineProxyPropertyWithValue('componentDidMount', proxiedComponentDidMount);
1494 defineProxyPropertyWithValue('componentWillUnmount', proxiedComponentWillUnmount);
1495
1496 if (current.hasOwnProperty('__reactAutoBindMap')) {
1497 defineProxyPropertyWithValue('__reactAutoBindMap', createAutoBindMap());
1498 }
1499
1500 if (current.hasOwnProperty('__reactAutoBindPairs')) {
1501 defineProxyPropertyWithValue('__reactAutoBindPairs', createAutoBindPairs());
1502 }
1503
1504 // Set up the prototype chain
1505 proxy.__proto__ = next;
1506
1507 return mountedInstances;
1508 }
1509
1510 /**
1511 * Returns the up-to-date proxy prototype.
1512 */
1513 function get() {
1514 return proxy;
1515 }
1516
1517 return {
1518 update: update,
1519 get: get
1520 };
1521 };
1522
1523/***/ },
1524/* 49 */
1525/***/ function(module, exports, __webpack_require__) {
1526
1527 'use strict';
1528
1529 Object.defineProperty(exports, "__esModule", {
1530 value: true
1531 });
1532 exports.default = deleteUnknownAutoBindMethods;
1533 function shouldDeleteClassicInstanceMethod(component, name) {
1534 if (component.__reactAutoBindMap && component.__reactAutoBindMap.hasOwnProperty(name)) {
1535 // It's a known autobound function, keep it
1536 return false;
1537 }
1538
1539 if (component.__reactAutoBindPairs && component.__reactAutoBindPairs.indexOf(name) >= 0) {
1540 // It's a known autobound function, keep it
1541 return false;
1542 }
1543
1544 if (component[name].__reactBoundArguments !== null) {
1545 // It's a function bound to specific args, keep it
1546 return false;
1547 }
1548
1549 // It's a cached bound method for a function
1550 // that was deleted by user, so we delete it from component.
1551 return true;
1552 }
1553
1554 function shouldDeleteModernInstanceMethod(component, name) {
1555 var prototype = component.constructor.prototype;
1556
1557 var prototypeDescriptor = Object.getOwnPropertyDescriptor(prototype, name);
1558
1559 if (!prototypeDescriptor || !prototypeDescriptor.get) {
1560 // This is definitely not an autobinding getter
1561 return false;
1562 }
1563
1564 if (prototypeDescriptor.get().length !== component[name].length) {
1565 // The length doesn't match, bail out
1566 return false;
1567 }
1568
1569 // This seems like a method bound using an autobinding getter on the prototype
1570 // Hopefully we won't run into too many false positives.
1571 return true;
1572 }
1573
1574 function shouldDeleteInstanceMethod(component, name) {
1575 var descriptor = Object.getOwnPropertyDescriptor(component, name);
1576 if (typeof descriptor.value !== 'function') {
1577 // Not a function, or something fancy: bail out
1578 return;
1579 }
1580
1581 if (component.__reactAutoBindMap || component.__reactAutoBindPairs) {
1582 // Classic
1583 return shouldDeleteClassicInstanceMethod(component, name);
1584 } else {
1585 // Modern
1586 return shouldDeleteModernInstanceMethod(component, name);
1587 }
1588 }
1589
1590 /**
1591 * Deletes autobound methods from the instance.
1592 *
1593 * For classic React classes, we only delete the methods that no longer exist in map.
1594 * This means the user actually deleted them in code.
1595 *
1596 * For modern classes, we delete methods that exist on prototype with the same length,
1597 * and which have getters on prototype, but are normal values on the instance.
1598 * This is usually an indication that an autobinding decorator is being used,
1599 * and the getter will re-generate the memoized handler on next access.
1600 */
1601 function deleteUnknownAutoBindMethods(component) {
1602 var names = Object.getOwnPropertyNames(component);
1603
1604 names.forEach(function (name) {
1605 if (shouldDeleteInstanceMethod(component, name)) {
1606 delete component[name];
1607 }
1608 });
1609 }
1610
1611/***/ },
1612/* 50 */
1613/***/ function(module, exports, __webpack_require__) {
1614
1615 __webpack_require__(78);
1616 __webpack_require__(77);
1617 __webpack_require__(79);
1618 module.exports = __webpack_require__(18).WeakMap;
1619
1620/***/ },
1621/* 51 */
1622/***/ function(module, exports, __webpack_require__) {
1623
1624 module.exports = function(it){
1625 if(typeof it != 'function')throw TypeError(it + ' is not a function!');
1626 return it;
1627 };
1628
1629/***/ },
1630/* 52 */
1631/***/ function(module, exports, __webpack_require__) {
1632
1633 module.exports = function(){ /* empty */ };
1634
1635/***/ },
1636/* 53 */
1637/***/ function(module, exports, __webpack_require__) {
1638
1639 // false -> Array#indexOf
1640 // true -> Array#includes
1641 var toIObject = __webpack_require__(24)
1642 , toLength = __webpack_require__(25)
1643 , toIndex = __webpack_require__(74);
1644 module.exports = function(IS_INCLUDES){
1645 return function($this, el, fromIndex){
1646 var O = toIObject($this)
1647 , length = toLength(O.length)
1648 , index = toIndex(fromIndex, length)
1649 , value;
1650 // Array#includes uses SameValueZero equality algorithm
1651 if(IS_INCLUDES && el != el)while(length > index){
1652 value = O[index++];
1653 if(value != value)return true;
1654 // Array#toIndex ignores holes, Array#includes - not
1655 } else for(;length > index; index++)if(IS_INCLUDES || index in O){
1656 if(O[index] === el)return IS_INCLUDES || index;
1657 } return !IS_INCLUDES && -1;
1658 };
1659 };
1660
1661/***/ },
1662/* 54 */
1663/***/ function(module, exports, __webpack_require__) {
1664
1665 // 9.4.2.3 ArraySpeciesCreate(originalArray, length)
1666 var isObject = __webpack_require__(1)
1667 , isArray = __webpack_require__(61)
1668 , SPECIES = __webpack_require__(3)('species');
1669 module.exports = function(original, length){
1670 var C;
1671 if(isArray(original)){
1672 C = original.constructor;
1673 // cross-realm fallback
1674 if(typeof C == 'function' && (C === Array || isArray(C.prototype)))C = undefined;
1675 if(isObject(C)){
1676 C = C[SPECIES];
1677 if(C === null)C = undefined;
1678 }
1679 } return new (C === undefined ? Array : C)(length);
1680 };
1681
1682/***/ },
1683/* 55 */
1684/***/ function(module, exports, __webpack_require__) {
1685
1686 // getting tag from 19.1.3.6 Object.prototype.toString()
1687 var cof = __webpack_require__(17)
1688 , TAG = __webpack_require__(3)('toStringTag')
1689 // ES3 wrong here
1690 , ARG = cof(function(){ return arguments; }()) == 'Arguments';
1691
1692 module.exports = function(it){
1693 var O, T, B;
1694 return it === undefined ? 'Undefined' : it === null ? 'Null'
1695 // @@toStringTag case
1696 : typeof (T = (O = Object(it))[TAG]) == 'string' ? T
1697 // builtinTag case
1698 : ARG ? cof(O)
1699 // ES3 arguments fallback
1700 : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
1701 };
1702
1703/***/ },
1704/* 56 */
1705/***/ function(module, exports, __webpack_require__) {
1706
1707 'use strict';
1708 var redefineAll = __webpack_require__(40)
1709 , getWeak = __webpack_require__(21).getWeak
1710 , anObject = __webpack_require__(4)
1711 , isObject = __webpack_require__(1)
1712 , anInstance = __webpack_require__(32)
1713 , forOf = __webpack_require__(37)
1714 , createArrayMethod = __webpack_require__(16)
1715 , $has = __webpack_require__(2)
1716 , arrayFind = createArrayMethod(5)
1717 , arrayFindIndex = createArrayMethod(6)
1718 , id = 0;
1719
1720 // fallback for uncaught frozen keys
1721 var uncaughtFrozenStore = function(that){
1722 return that._l || (that._l = new UncaughtFrozenStore);
1723 };
1724 var UncaughtFrozenStore = function(){
1725 this.a = [];
1726 };
1727 var findUncaughtFrozen = function(store, key){
1728 return arrayFind(store.a, function(it){
1729 return it[0] === key;
1730 });
1731 };
1732 UncaughtFrozenStore.prototype = {
1733 get: function(key){
1734 var entry = findUncaughtFrozen(this, key);
1735 if(entry)return entry[1];
1736 },
1737 has: function(key){
1738 return !!findUncaughtFrozen(this, key);
1739 },
1740 set: function(key, value){
1741 var entry = findUncaughtFrozen(this, key);
1742 if(entry)entry[1] = value;
1743 else this.a.push([key, value]);
1744 },
1745 'delete': function(key){
1746 var index = arrayFindIndex(this.a, function(it){
1747 return it[0] === key;
1748 });
1749 if(~index)this.a.splice(index, 1);
1750 return !!~index;
1751 }
1752 };
1753
1754 module.exports = {
1755 getConstructor: function(wrapper, NAME, IS_MAP, ADDER){
1756 var C = wrapper(function(that, iterable){
1757 anInstance(that, C, NAME, '_i');
1758 that._i = id++; // collection id
1759 that._l = undefined; // leak store for uncaught frozen objects
1760 if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);
1761 });
1762 redefineAll(C.prototype, {
1763 // 23.3.3.2 WeakMap.prototype.delete(key)
1764 // 23.4.3.3 WeakSet.prototype.delete(value)
1765 'delete': function(key){
1766 if(!isObject(key))return false;
1767 var data = getWeak(key);
1768 if(data === true)return uncaughtFrozenStore(this)['delete'](key);
1769 return data && $has(data, this._i) && delete data[this._i];
1770 },
1771 // 23.3.3.4 WeakMap.prototype.has(key)
1772 // 23.4.3.4 WeakSet.prototype.has(value)
1773 has: function has(key){
1774 if(!isObject(key))return false;
1775 var data = getWeak(key);
1776 if(data === true)return uncaughtFrozenStore(this).has(key);
1777 return data && $has(data, this._i);
1778 }
1779 });
1780 return C;
1781 },
1782 def: function(that, key, value){
1783 var data = getWeak(anObject(key), true);
1784 if(data === true)uncaughtFrozenStore(that).set(key, value);
1785 else data[that._i] = value;
1786 return that;
1787 },
1788 ufstore: uncaughtFrozenStore
1789 };
1790
1791/***/ },
1792/* 57 */
1793/***/ function(module, exports, __webpack_require__) {
1794
1795 'use strict';
1796 var global = __webpack_require__(5)
1797 , $export = __webpack_require__(36)
1798 , meta = __webpack_require__(21)
1799 , fails = __webpack_require__(9)
1800 , hide = __webpack_require__(6)
1801 , redefineAll = __webpack_require__(40)
1802 , forOf = __webpack_require__(37)
1803 , anInstance = __webpack_require__(32)
1804 , isObject = __webpack_require__(1)
1805 , setToStringTag = __webpack_require__(22)
1806 , dP = __webpack_require__(10).f
1807 , each = __webpack_require__(16)(0)
1808 , DESCRIPTORS = __webpack_require__(8);
1809
1810 module.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){
1811 var Base = global[NAME]
1812 , C = Base
1813 , ADDER = IS_MAP ? 'set' : 'add'
1814 , proto = C && C.prototype
1815 , O = {};
1816 if(!DESCRIPTORS || typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function(){
1817 new C().entries().next();
1818 }))){
1819 // create collection constructor
1820 C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);
1821 redefineAll(C.prototype, methods);
1822 meta.NEED = true;
1823 } else {
1824 C = wrapper(function(target, iterable){
1825 anInstance(target, C, NAME, '_c');
1826 target._c = new Base;
1827 if(iterable != undefined)forOf(iterable, IS_MAP, target[ADDER], target);
1828 });
1829 each('add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON'.split(','),function(KEY){
1830 var IS_ADDER = KEY == 'add' || KEY == 'set';
1831 if(KEY in proto && !(IS_WEAK && KEY == 'clear'))hide(C.prototype, KEY, function(a, b){
1832 anInstance(this, C, KEY);
1833 if(!IS_ADDER && IS_WEAK && !isObject(a))return KEY == 'get' ? undefined : false;
1834 var result = this._c[KEY](a === 0 ? 0 : a, b);
1835 return IS_ADDER ? this : result;
1836 });
1837 });
1838 if('size' in proto)dP(C.prototype, 'size', {
1839 get: function(){
1840 return this._c.size;
1841 }
1842 });
1843 }
1844
1845 setToStringTag(C, NAME);
1846
1847 O[NAME] = C;
1848 $export($export.G + $export.W + $export.F, O);
1849
1850 if(!IS_WEAK)common.setStrong(C, NAME, IS_MAP);
1851
1852 return C;
1853 };
1854
1855/***/ },
1856/* 58 */
1857/***/ function(module, exports, __webpack_require__) {
1858
1859 module.exports = __webpack_require__(5).document && document.documentElement;
1860
1861/***/ },
1862/* 59 */
1863/***/ function(module, exports, __webpack_require__) {
1864
1865 module.exports = !__webpack_require__(8) && !__webpack_require__(9)(function(){
1866 return Object.defineProperty(__webpack_require__(34)('div'), 'a', {get: function(){ return 7; }}).a != 7;
1867 });
1868
1869/***/ },
1870/* 60 */
1871/***/ function(module, exports, __webpack_require__) {
1872
1873 // check on default Array iterator
1874 var Iterators = __webpack_require__(13)
1875 , ITERATOR = __webpack_require__(3)('iterator')
1876 , ArrayProto = Array.prototype;
1877
1878 module.exports = function(it){
1879 return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
1880 };
1881
1882/***/ },
1883/* 61 */
1884/***/ function(module, exports, __webpack_require__) {
1885
1886 // 7.2.2 IsArray(argument)
1887 var cof = __webpack_require__(17);
1888 module.exports = Array.isArray || function isArray(arg){
1889 return cof(arg) == 'Array';
1890 };
1891
1892/***/ },
1893/* 62 */
1894/***/ function(module, exports, __webpack_require__) {
1895
1896 // call something on iterator step with safe closing on error
1897 var anObject = __webpack_require__(4);
1898 module.exports = function(iterator, fn, value, entries){
1899 try {
1900 return entries ? fn(anObject(value)[0], value[1]) : fn(value);
1901 // 7.4.6 IteratorClose(iterator, completion)
1902 } catch(e){
1903 var ret = iterator['return'];
1904 if(ret !== undefined)anObject(ret.call(iterator));
1905 throw e;
1906 }
1907 };
1908
1909/***/ },
1910/* 63 */
1911/***/ function(module, exports, __webpack_require__) {
1912
1913 'use strict';
1914 var create = __webpack_require__(68)
1915 , descriptor = __webpack_require__(39)
1916 , setToStringTag = __webpack_require__(22)
1917 , IteratorPrototype = {};
1918
1919 // 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
1920 __webpack_require__(6)(IteratorPrototype, __webpack_require__(3)('iterator'), function(){ return this; });
1921
1922 module.exports = function(Constructor, NAME, next){
1923 Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)});
1924 setToStringTag(Constructor, NAME + ' Iterator');
1925 };
1926
1927/***/ },
1928/* 64 */
1929/***/ function(module, exports, __webpack_require__) {
1930
1931 'use strict';
1932 var LIBRARY = __webpack_require__(66)
1933 , $export = __webpack_require__(36)
1934 , redefine = __webpack_require__(41)
1935 , hide = __webpack_require__(6)
1936 , has = __webpack_require__(2)
1937 , Iterators = __webpack_require__(13)
1938 , $iterCreate = __webpack_require__(63)
1939 , setToStringTag = __webpack_require__(22)
1940 , getPrototypeOf = __webpack_require__(71)
1941 , ITERATOR = __webpack_require__(3)('iterator')
1942 , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`
1943 , FF_ITERATOR = '@@iterator'
1944 , KEYS = 'keys'
1945 , VALUES = 'values';
1946
1947 var returnThis = function(){ return this; };
1948
1949 module.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){
1950 $iterCreate(Constructor, NAME, next);
1951 var getMethod = function(kind){
1952 if(!BUGGY && kind in proto)return proto[kind];
1953 switch(kind){
1954 case KEYS: return function keys(){ return new Constructor(this, kind); };
1955 case VALUES: return function values(){ return new Constructor(this, kind); };
1956 } return function entries(){ return new Constructor(this, kind); };
1957 };
1958 var TAG = NAME + ' Iterator'
1959 , DEF_VALUES = DEFAULT == VALUES
1960 , VALUES_BUG = false
1961 , proto = Base.prototype
1962 , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]
1963 , $default = $native || getMethod(DEFAULT)
1964 , $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined
1965 , $anyNative = NAME == 'Array' ? proto.entries || $native : $native
1966 , methods, key, IteratorPrototype;
1967 // Fix native
1968 if($anyNative){
1969 IteratorPrototype = getPrototypeOf($anyNative.call(new Base));
1970 if(IteratorPrototype !== Object.prototype){
1971 // Set @@toStringTag to native iterators
1972 setToStringTag(IteratorPrototype, TAG, true);
1973 // fix for some old engines
1974 if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);
1975 }
1976 }
1977 // fix Array#{values, @@iterator}.name in V8 / FF
1978 if(DEF_VALUES && $native && $native.name !== VALUES){
1979 VALUES_BUG = true;
1980 $default = function values(){ return $native.call(this); };
1981 }
1982 // Define iterator
1983 if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){
1984 hide(proto, ITERATOR, $default);
1985 }
1986 // Plug for library
1987 Iterators[NAME] = $default;
1988 Iterators[TAG] = returnThis;
1989 if(DEFAULT){
1990 methods = {
1991 values: DEF_VALUES ? $default : getMethod(VALUES),
1992 keys: IS_SET ? $default : getMethod(KEYS),
1993 entries: $entries
1994 };
1995 if(FORCED)for(key in methods){
1996 if(!(key in proto))redefine(proto, key, methods[key]);
1997 } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
1998 }
1999 return methods;
2000 };
2001
2002/***/ },
2003/* 65 */
2004/***/ function(module, exports, __webpack_require__) {
2005
2006 module.exports = function(done, value){
2007 return {value: value, done: !!done};
2008 };
2009
2010/***/ },
2011/* 66 */
2012/***/ function(module, exports, __webpack_require__) {
2013
2014 module.exports = true;
2015
2016/***/ },
2017/* 67 */
2018/***/ function(module, exports, __webpack_require__) {
2019
2020 'use strict';
2021 // 19.1.2.1 Object.assign(target, source, ...)
2022 var getKeys = __webpack_require__(38)
2023 , gOPS = __webpack_require__(70)
2024 , pIE = __webpack_require__(73)
2025 , toObject = __webpack_require__(26)
2026 , IObject = __webpack_require__(20);
2027
2028 // should work with symbols and should have deterministic property order (V8 bug)
2029 module.exports = __webpack_require__(9)(function(){
2030 var a = Object.assign
2031 , A = {}
2032 , B = {}
2033 , S = Symbol()
2034 , K = 'abcdefghijklmnopqrst';
2035 A[S] = 7;
2036 K.split('').forEach(function(k){ B[k] = k; });
2037 return a({}, A)[S] != 7 || Object.keys(a({}, B)).join('') != K;
2038 }) ? function assign(target, source){ // eslint-disable-line no-unused-vars
2039 var T = toObject(target)
2040 , aLen = arguments.length
2041 , index = 1
2042 , getSymbols = gOPS.f
2043 , isEnum = pIE.f;
2044 while(aLen > index){
2045 var S = IObject(arguments[index++])
2046 , keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S)
2047 , length = keys.length
2048 , j = 0
2049 , key;
2050 while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key];
2051 }
2052 return T;
2053 } : Object.assign;
2054
2055/***/ },
2056/* 68 */
2057/***/ function(module, exports, __webpack_require__) {
2058
2059 // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
2060 var anObject = __webpack_require__(4)
2061 , dPs = __webpack_require__(69)
2062 , enumBugKeys = __webpack_require__(35)
2063 , IE_PROTO = __webpack_require__(23)('IE_PROTO')
2064 , Empty = function(){ /* empty */ }
2065 , PROTOTYPE = 'prototype';
2066
2067 // Create object with fake `null` prototype: use iframe Object with cleared prototype
2068 var createDict = function(){
2069 // Thrash, waste and sodomy: IE GC bug
2070 var iframe = __webpack_require__(34)('iframe')
2071 , i = enumBugKeys.length
2072 , gt = '>'
2073 , iframeDocument;
2074 iframe.style.display = 'none';
2075 __webpack_require__(58).appendChild(iframe);
2076 iframe.src = 'javascript:'; // eslint-disable-line no-script-url
2077 // createDict = iframe.contentWindow.Object;
2078 // html.removeChild(iframe);
2079 iframeDocument = iframe.contentWindow.document;
2080 iframeDocument.open();
2081 iframeDocument.write('<script>document.F=Object</script' + gt);
2082 iframeDocument.close();
2083 createDict = iframeDocument.F;
2084 while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]];
2085 return createDict();
2086 };
2087
2088 module.exports = Object.create || function create(O, Properties){
2089 var result;
2090 if(O !== null){
2091 Empty[PROTOTYPE] = anObject(O);
2092 result = new Empty;
2093 Empty[PROTOTYPE] = null;
2094 // add "__proto__" for Object.getPrototypeOf polyfill
2095 result[IE_PROTO] = O;
2096 } else result = createDict();
2097 return Properties === undefined ? result : dPs(result, Properties);
2098 };
2099
2100/***/ },
2101/* 69 */
2102/***/ function(module, exports, __webpack_require__) {
2103
2104 var dP = __webpack_require__(10)
2105 , anObject = __webpack_require__(4)
2106 , getKeys = __webpack_require__(38);
2107
2108 module.exports = __webpack_require__(8) ? Object.defineProperties : function defineProperties(O, Properties){
2109 anObject(O);
2110 var keys = getKeys(Properties)
2111 , length = keys.length
2112 , i = 0
2113 , P;
2114 while(length > i)dP.f(O, P = keys[i++], Properties[P]);
2115 return O;
2116 };
2117
2118/***/ },
2119/* 70 */
2120/***/ function(module, exports, __webpack_require__) {
2121
2122 exports.f = Object.getOwnPropertySymbols;
2123
2124/***/ },
2125/* 71 */
2126/***/ function(module, exports, __webpack_require__) {
2127
2128 // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
2129 var has = __webpack_require__(2)
2130 , toObject = __webpack_require__(26)
2131 , IE_PROTO = __webpack_require__(23)('IE_PROTO')
2132 , ObjectProto = Object.prototype;
2133
2134 module.exports = Object.getPrototypeOf || function(O){
2135 O = toObject(O);
2136 if(has(O, IE_PROTO))return O[IE_PROTO];
2137 if(typeof O.constructor == 'function' && O instanceof O.constructor){
2138 return O.constructor.prototype;
2139 } return O instanceof Object ? ObjectProto : null;
2140 };
2141
2142/***/ },
2143/* 72 */
2144/***/ function(module, exports, __webpack_require__) {
2145
2146 var has = __webpack_require__(2)
2147 , toIObject = __webpack_require__(24)
2148 , arrayIndexOf = __webpack_require__(53)(false)
2149 , IE_PROTO = __webpack_require__(23)('IE_PROTO');
2150
2151 module.exports = function(object, names){
2152 var O = toIObject(object)
2153 , i = 0
2154 , result = []
2155 , key;
2156 for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key);
2157 // Don't enum bug & hidden keys
2158 while(names.length > i)if(has(O, key = names[i++])){
2159 ~arrayIndexOf(result, key) || result.push(key);
2160 }
2161 return result;
2162 };
2163
2164/***/ },
2165/* 73 */
2166/***/ function(module, exports, __webpack_require__) {
2167
2168 exports.f = {}.propertyIsEnumerable;
2169
2170/***/ },
2171/* 74 */
2172/***/ function(module, exports, __webpack_require__) {
2173
2174 var toInteger = __webpack_require__(43)
2175 , max = Math.max
2176 , min = Math.min;
2177 module.exports = function(index, length){
2178 index = toInteger(index);
2179 return index < 0 ? max(index + length, 0) : min(index, length);
2180 };
2181
2182/***/ },
2183/* 75 */
2184/***/ function(module, exports, __webpack_require__) {
2185
2186 // 7.1.1 ToPrimitive(input [, PreferredType])
2187 var isObject = __webpack_require__(1);
2188 // instead of the ES6 spec version, we didn't implement @@toPrimitive case
2189 // and the second argument - flag - preferred type is a string
2190 module.exports = function(it, S){
2191 if(!isObject(it))return it;
2192 var fn, val;
2193 if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;
2194 if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;
2195 if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;
2196 throw TypeError("Can't convert object to primitive value");
2197 };
2198
2199/***/ },
2200/* 76 */
2201/***/ function(module, exports, __webpack_require__) {
2202
2203 var classof = __webpack_require__(55)
2204 , ITERATOR = __webpack_require__(3)('iterator')
2205 , Iterators = __webpack_require__(13);
2206 module.exports = __webpack_require__(18).getIteratorMethod = function(it){
2207 if(it != undefined)return it[ITERATOR]
2208 || it['@@iterator']
2209 || Iterators[classof(it)];
2210 };
2211
2212/***/ },
2213/* 77 */
2214/***/ function(module, exports, __webpack_require__) {
2215
2216 'use strict';
2217 var addToUnscopables = __webpack_require__(52)
2218 , step = __webpack_require__(65)
2219 , Iterators = __webpack_require__(13)
2220 , toIObject = __webpack_require__(24);
2221
2222 // 22.1.3.4 Array.prototype.entries()
2223 // 22.1.3.13 Array.prototype.keys()
2224 // 22.1.3.29 Array.prototype.values()
2225 // 22.1.3.30 Array.prototype[@@iterator]()
2226 module.exports = __webpack_require__(64)(Array, 'Array', function(iterated, kind){
2227 this._t = toIObject(iterated); // target
2228 this._i = 0; // next index
2229 this._k = kind; // kind
2230 // 22.1.5.2.1 %ArrayIteratorPrototype%.next()
2231 }, function(){
2232 var O = this._t
2233 , kind = this._k
2234 , index = this._i++;
2235 if(!O || index >= O.length){
2236 this._t = undefined;
2237 return step(1);
2238 }
2239 if(kind == 'keys' )return step(0, index);
2240 if(kind == 'values')return step(0, O[index]);
2241 return step(0, [index, O[index]]);
2242 }, 'values');
2243
2244 // argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)
2245 Iterators.Arguments = Iterators.Array;
2246
2247 addToUnscopables('keys');
2248 addToUnscopables('values');
2249 addToUnscopables('entries');
2250
2251/***/ },
2252/* 78 */
2253/***/ function(module, exports, __webpack_require__) {
2254
2255
2256
2257/***/ },
2258/* 79 */
2259/***/ function(module, exports, __webpack_require__) {
2260
2261 'use strict';
2262 var each = __webpack_require__(16)(0)
2263 , redefine = __webpack_require__(41)
2264 , meta = __webpack_require__(21)
2265 , assign = __webpack_require__(67)
2266 , weak = __webpack_require__(56)
2267 , isObject = __webpack_require__(1)
2268 , has = __webpack_require__(2)
2269 , getWeak = meta.getWeak
2270 , isExtensible = Object.isExtensible
2271 , uncaughtFrozenStore = weak.ufstore
2272 , tmp = {}
2273 , InternalMap;
2274
2275 var wrapper = function(get){
2276 return function WeakMap(){
2277 return get(this, arguments.length > 0 ? arguments[0] : undefined);
2278 };
2279 };
2280
2281 var methods = {
2282 // 23.3.3.3 WeakMap.prototype.get(key)
2283 get: function get(key){
2284 if(isObject(key)){
2285 var data = getWeak(key);
2286 if(data === true)return uncaughtFrozenStore(this).get(key);
2287 return data ? data[this._i] : undefined;
2288 }
2289 },
2290 // 23.3.3.5 WeakMap.prototype.set(key, value)
2291 set: function set(key, value){
2292 return weak.def(this, key, value);
2293 }
2294 };
2295
2296 // 23.3 WeakMap Objects
2297 var $WeakMap = module.exports = __webpack_require__(57)('WeakMap', wrapper, methods, weak, true, true);
2298
2299 // IE11 WeakMap frozen keys fix
2300 if(new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7){
2301 InternalMap = weak.getConstructor(wrapper);
2302 assign(InternalMap.prototype, methods);
2303 meta.NEED = true;
2304 each(['delete', 'has', 'get', 'set'], function(key){
2305 var proto = $WeakMap.prototype
2306 , method = proto[key];
2307 redefine(proto, key, function(a, b){
2308 // store frozen objects on internal weakmap shim
2309 if(isObject(a) && !isExtensible(a)){
2310 if(!this._f)this._f = new InternalMap;
2311 var result = this._f[key](a, b);
2312 return key == 'set' ? this : result;
2313 // store all the rest on native weakmap
2314 } return method.call(this, a, b);
2315 });
2316 });
2317 }
2318
2319/***/ },
2320/* 80 */
2321/***/ function(module, exports, __webpack_require__) {
2322
2323 var baseDifference = __webpack_require__(86),
2324 baseFlatten = __webpack_require__(87),
2325 isArrayLike = __webpack_require__(11),
2326 isObjectLike = __webpack_require__(12),
2327 restParam = __webpack_require__(44);
2328
2329 /**
2330 * Creates an array of unique `array` values not included in the other
2331 * provided arrays using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
2332 * for equality comparisons.
2333 *
2334 * @static
2335 * @memberOf _
2336 * @category Array
2337 * @param {Array} array The array to inspect.
2338 * @param {...Array} [values] The arrays of values to exclude.
2339 * @returns {Array} Returns the new array of filtered values.
2340 * @example
2341 *
2342 * _.difference([1, 2, 3], [4, 2]);
2343 * // => [1, 3]
2344 */
2345 var difference = restParam(function(array, values) {
2346 return (isObjectLike(array) && isArrayLike(array))
2347 ? baseDifference(array, baseFlatten(values, false, true))
2348 : [];
2349 });
2350
2351 module.exports = difference;
2352
2353
2354/***/ },
2355/* 81 */
2356/***/ function(module, exports, __webpack_require__) {
2357
2358 /* WEBPACK VAR INJECTION */(function(global) {var cachePush = __webpack_require__(92),
2359 getNative = __webpack_require__(14);
2360
2361 /** Native method references. */
2362 var Set = getNative(global, 'Set');
2363
2364 /* Native method references for those with the same name as other `lodash` methods. */
2365 var nativeCreate = getNative(Object, 'create');
2366
2367 /**
2368 *
2369 * Creates a cache object to store unique values.
2370 *
2371 * @private
2372 * @param {Array} [values] The values to cache.
2373 */
2374 function SetCache(values) {
2375 var length = values ? values.length : 0;
2376
2377 this.data = { 'hash': nativeCreate(null), 'set': new Set };
2378 while (length--) {
2379 this.push(values[length]);
2380 }
2381 }
2382
2383 // Add functions to the `Set` cache.
2384 SetCache.prototype.push = cachePush;
2385
2386 module.exports = SetCache;
2387
2388 /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
2389
2390/***/ },
2391/* 82 */
2392/***/ function(module, exports, __webpack_require__) {
2393
2394 /**
2395 * Appends the elements of `values` to `array`.
2396 *
2397 * @private
2398 * @param {Array} array The array to modify.
2399 * @param {Array} values The values to append.
2400 * @returns {Array} Returns `array`.
2401 */
2402 function arrayPush(array, values) {
2403 var index = -1,
2404 length = values.length,
2405 offset = array.length;
2406
2407 while (++index < length) {
2408 array[offset + index] = values[index];
2409 }
2410 return array;
2411 }
2412
2413 module.exports = arrayPush;
2414
2415
2416/***/ },
2417/* 83 */
2418/***/ function(module, exports, __webpack_require__) {
2419
2420 var keys = __webpack_require__(45);
2421
2422 /**
2423 * A specialized version of `_.assign` for customizing assigned values without
2424 * support for argument juggling, multiple sources, and `this` binding `customizer`
2425 * functions.
2426 *
2427 * @private
2428 * @param {Object} object The destination object.
2429 * @param {Object} source The source object.
2430 * @param {Function} customizer The function to customize assigned values.
2431 * @returns {Object} Returns `object`.
2432 */
2433 function assignWith(object, source, customizer) {
2434 var index = -1,
2435 props = keys(source),
2436 length = props.length;
2437
2438 while (++index < length) {
2439 var key = props[index],
2440 value = object[key],
2441 result = customizer(value, source[key], key, object, source);
2442
2443 if ((result === result ? (result !== value) : (value === value)) ||
2444 (value === undefined && !(key in object))) {
2445 object[key] = result;
2446 }
2447 }
2448 return object;
2449 }
2450
2451 module.exports = assignWith;
2452
2453
2454/***/ },
2455/* 84 */
2456/***/ function(module, exports, __webpack_require__) {
2457
2458 var baseCopy = __webpack_require__(85),
2459 keys = __webpack_require__(45);
2460
2461 /**
2462 * The base implementation of `_.assign` without support for argument juggling,
2463 * multiple sources, and `customizer` functions.
2464 *
2465 * @private
2466 * @param {Object} object The destination object.
2467 * @param {Object} source The source object.
2468 * @returns {Object} Returns `object`.
2469 */
2470 function baseAssign(object, source) {
2471 return source == null
2472 ? object
2473 : baseCopy(source, keys(source), object);
2474 }
2475
2476 module.exports = baseAssign;
2477
2478
2479/***/ },
2480/* 85 */
2481/***/ function(module, exports, __webpack_require__) {
2482
2483 /**
2484 * Copies properties of `source` to `object`.
2485 *
2486 * @private
2487 * @param {Object} source The object to copy properties from.
2488 * @param {Array} props The property names to copy.
2489 * @param {Object} [object={}] The object to copy properties to.
2490 * @returns {Object} Returns `object`.
2491 */
2492 function baseCopy(source, props, object) {
2493 object || (object = {});
2494
2495 var index = -1,
2496 length = props.length;
2497
2498 while (++index < length) {
2499 var key = props[index];
2500 object[key] = source[key];
2501 }
2502 return object;
2503 }
2504
2505 module.exports = baseCopy;
2506
2507
2508/***/ },
2509/* 86 */
2510/***/ function(module, exports, __webpack_require__) {
2511
2512 var baseIndexOf = __webpack_require__(88),
2513 cacheIndexOf = __webpack_require__(91),
2514 createCache = __webpack_require__(94);
2515
2516 /** Used as the size to enable large array optimizations. */
2517 var LARGE_ARRAY_SIZE = 200;
2518
2519 /**
2520 * The base implementation of `_.difference` which accepts a single array
2521 * of values to exclude.
2522 *
2523 * @private
2524 * @param {Array} array The array to inspect.
2525 * @param {Array} values The values to exclude.
2526 * @returns {Array} Returns the new array of filtered values.
2527 */
2528 function baseDifference(array, values) {
2529 var length = array ? array.length : 0,
2530 result = [];
2531
2532 if (!length) {
2533 return result;
2534 }
2535 var index = -1,
2536 indexOf = baseIndexOf,
2537 isCommon = true,
2538 cache = (isCommon && values.length >= LARGE_ARRAY_SIZE) ? createCache(values) : null,
2539 valuesLength = values.length;
2540
2541 if (cache) {
2542 indexOf = cacheIndexOf;
2543 isCommon = false;
2544 values = cache;
2545 }
2546 outer:
2547 while (++index < length) {
2548 var value = array[index];
2549
2550 if (isCommon && value === value) {
2551 var valuesIndex = valuesLength;
2552 while (valuesIndex--) {
2553 if (values[valuesIndex] === value) {
2554 continue outer;
2555 }
2556 }
2557 result.push(value);
2558 }
2559 else if (indexOf(values, value, 0) < 0) {
2560 result.push(value);
2561 }
2562 }
2563 return result;
2564 }
2565
2566 module.exports = baseDifference;
2567
2568
2569/***/ },
2570/* 87 */
2571/***/ function(module, exports, __webpack_require__) {
2572
2573 var arrayPush = __webpack_require__(82),
2574 isArguments = __webpack_require__(29),
2575 isArray = __webpack_require__(30),
2576 isArrayLike = __webpack_require__(11),
2577 isObjectLike = __webpack_require__(12);
2578
2579 /**
2580 * The base implementation of `_.flatten` with added support for restricting
2581 * flattening and specifying the start index.
2582 *
2583 * @private
2584 * @param {Array} array The array to flatten.
2585 * @param {boolean} [isDeep] Specify a deep flatten.
2586 * @param {boolean} [isStrict] Restrict flattening to arrays-like objects.
2587 * @param {Array} [result=[]] The initial result value.
2588 * @returns {Array} Returns the new flattened array.
2589 */
2590 function baseFlatten(array, isDeep, isStrict, result) {
2591 result || (result = []);
2592
2593 var index = -1,
2594 length = array.length;
2595
2596 while (++index < length) {
2597 var value = array[index];
2598 if (isObjectLike(value) && isArrayLike(value) &&
2599 (isStrict || isArray(value) || isArguments(value))) {
2600 if (isDeep) {
2601 // Recursively flatten arrays (susceptible to call stack limits).
2602 baseFlatten(value, isDeep, isStrict, result);
2603 } else {
2604 arrayPush(result, value);
2605 }
2606 } else if (!isStrict) {
2607 result[result.length] = value;
2608 }
2609 }
2610 return result;
2611 }
2612
2613 module.exports = baseFlatten;
2614
2615
2616/***/ },
2617/* 88 */
2618/***/ function(module, exports, __webpack_require__) {
2619
2620 var indexOfNaN = __webpack_require__(96);
2621
2622 /**
2623 * The base implementation of `_.indexOf` without support for binary searches.
2624 *
2625 * @private
2626 * @param {Array} array The array to search.
2627 * @param {*} value The value to search for.
2628 * @param {number} fromIndex The index to search from.
2629 * @returns {number} Returns the index of the matched value, else `-1`.
2630 */
2631 function baseIndexOf(array, value, fromIndex) {
2632 if (value !== value) {
2633 return indexOfNaN(array, fromIndex);
2634 }
2635 var index = fromIndex - 1,
2636 length = array.length;
2637
2638 while (++index < length) {
2639 if (array[index] === value) {
2640 return index;
2641 }
2642 }
2643 return -1;
2644 }
2645
2646 module.exports = baseIndexOf;
2647
2648
2649/***/ },
2650/* 89 */
2651/***/ function(module, exports, __webpack_require__) {
2652
2653 /**
2654 * The base implementation of `_.property` without support for deep paths.
2655 *
2656 * @private
2657 * @param {string} key The key of the property to get.
2658 * @returns {Function} Returns the new function.
2659 */
2660 function baseProperty(key) {
2661 return function(object) {
2662 return object == null ? undefined : object[key];
2663 };
2664 }
2665
2666 module.exports = baseProperty;
2667
2668
2669/***/ },
2670/* 90 */
2671/***/ function(module, exports, __webpack_require__) {
2672
2673 var identity = __webpack_require__(103);
2674
2675 /**
2676 * A specialized version of `baseCallback` which only supports `this` binding
2677 * and specifying the number of arguments to provide to `func`.
2678 *
2679 * @private
2680 * @param {Function} func The function to bind.
2681 * @param {*} thisArg The `this` binding of `func`.
2682 * @param {number} [argCount] The number of arguments to provide to `func`.
2683 * @returns {Function} Returns the callback.
2684 */
2685 function bindCallback(func, thisArg, argCount) {
2686 if (typeof func != 'function') {
2687 return identity;
2688 }
2689 if (thisArg === undefined) {
2690 return func;
2691 }
2692 switch (argCount) {
2693 case 1: return function(value) {
2694 return func.call(thisArg, value);
2695 };
2696 case 3: return function(value, index, collection) {
2697 return func.call(thisArg, value, index, collection);
2698 };
2699 case 4: return function(accumulator, value, index, collection) {
2700 return func.call(thisArg, accumulator, value, index, collection);
2701 };
2702 case 5: return function(value, other, key, object, source) {
2703 return func.call(thisArg, value, other, key, object, source);
2704 };
2705 }
2706 return function() {
2707 return func.apply(thisArg, arguments);
2708 };
2709 }
2710
2711 module.exports = bindCallback;
2712
2713
2714/***/ },
2715/* 91 */
2716/***/ function(module, exports, __webpack_require__) {
2717
2718 var isObject = __webpack_require__(7);
2719
2720 /**
2721 * Checks if `value` is in `cache` mimicking the return signature of
2722 * `_.indexOf` by returning `0` if the value is found, else `-1`.
2723 *
2724 * @private
2725 * @param {Object} cache The cache to search.
2726 * @param {*} value The value to search for.
2727 * @returns {number} Returns `0` if `value` is found, else `-1`.
2728 */
2729 function cacheIndexOf(cache, value) {
2730 var data = cache.data,
2731 result = (typeof value == 'string' || isObject(value)) ? data.set.has(value) : data.hash[value];
2732
2733 return result ? 0 : -1;
2734 }
2735
2736 module.exports = cacheIndexOf;
2737
2738
2739/***/ },
2740/* 92 */
2741/***/ function(module, exports, __webpack_require__) {
2742
2743 var isObject = __webpack_require__(7);
2744
2745 /**
2746 * Adds `value` to the cache.
2747 *
2748 * @private
2749 * @name push
2750 * @memberOf SetCache
2751 * @param {*} value The value to cache.
2752 */
2753 function cachePush(value) {
2754 var data = this.data;
2755 if (typeof value == 'string' || isObject(value)) {
2756 data.set.add(value);
2757 } else {
2758 data.hash[value] = true;
2759 }
2760 }
2761
2762 module.exports = cachePush;
2763
2764
2765/***/ },
2766/* 93 */
2767/***/ function(module, exports, __webpack_require__) {
2768
2769 var bindCallback = __webpack_require__(90),
2770 isIterateeCall = __webpack_require__(97),
2771 restParam = __webpack_require__(44);
2772
2773 /**
2774 * Creates a `_.assign`, `_.defaults`, or `_.merge` function.
2775 *
2776 * @private
2777 * @param {Function} assigner The function to assign values.
2778 * @returns {Function} Returns the new assigner function.
2779 */
2780 function createAssigner(assigner) {
2781 return restParam(function(object, sources) {
2782 var index = -1,
2783 length = object == null ? 0 : sources.length,
2784 customizer = length > 2 ? sources[length - 2] : undefined,
2785 guard = length > 2 ? sources[2] : undefined,
2786 thisArg = length > 1 ? sources[length - 1] : undefined;
2787
2788 if (typeof customizer == 'function') {
2789 customizer = bindCallback(customizer, thisArg, 5);
2790 length -= 2;
2791 } else {
2792 customizer = typeof thisArg == 'function' ? thisArg : undefined;
2793 length -= (customizer ? 1 : 0);
2794 }
2795 if (guard && isIterateeCall(sources[0], sources[1], guard)) {
2796 customizer = length < 3 ? undefined : customizer;
2797 length = 1;
2798 }
2799 while (++index < length) {
2800 var source = sources[index];
2801 if (source) {
2802 assigner(object, source, customizer);
2803 }
2804 }
2805 return object;
2806 });
2807 }
2808
2809 module.exports = createAssigner;
2810
2811
2812/***/ },
2813/* 94 */
2814/***/ function(module, exports, __webpack_require__) {
2815
2816 /* WEBPACK VAR INJECTION */(function(global) {var SetCache = __webpack_require__(81),
2817 getNative = __webpack_require__(14);
2818
2819 /** Native method references. */
2820 var Set = getNative(global, 'Set');
2821
2822 /* Native method references for those with the same name as other `lodash` methods. */
2823 var nativeCreate = getNative(Object, 'create');
2824
2825 /**
2826 * Creates a `Set` cache object to optimize linear searches of large arrays.
2827 *
2828 * @private
2829 * @param {Array} [values] The values to cache.
2830 * @returns {null|Object} Returns the new cache object if `Set` is supported, else `null`.
2831 */
2832 function createCache(values) {
2833 return (nativeCreate && Set) ? new SetCache(values) : null;
2834 }
2835
2836 module.exports = createCache;
2837
2838 /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
2839
2840/***/ },
2841/* 95 */
2842/***/ function(module, exports, __webpack_require__) {
2843
2844 var baseProperty = __webpack_require__(89);
2845
2846 /**
2847 * Gets the "length" property value of `object`.
2848 *
2849 * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)
2850 * that affects Safari on at least iOS 8.1-8.3 ARM64.
2851 *
2852 * @private
2853 * @param {Object} object The object to query.
2854 * @returns {*} Returns the "length" value.
2855 */
2856 var getLength = baseProperty('length');
2857
2858 module.exports = getLength;
2859
2860
2861/***/ },
2862/* 96 */
2863/***/ function(module, exports, __webpack_require__) {
2864
2865 /**
2866 * Gets the index at which the first occurrence of `NaN` is found in `array`.
2867 *
2868 * @private
2869 * @param {Array} array The array to search.
2870 * @param {number} fromIndex The index to search from.
2871 * @param {boolean} [fromRight] Specify iterating from right to left.
2872 * @returns {number} Returns the index of the matched `NaN`, else `-1`.
2873 */
2874 function indexOfNaN(array, fromIndex, fromRight) {
2875 var length = array.length,
2876 index = fromIndex + (fromRight ? 0 : -1);
2877
2878 while ((fromRight ? index-- : ++index < length)) {
2879 var other = array[index];
2880 if (other !== other) {
2881 return index;
2882 }
2883 }
2884 return -1;
2885 }
2886
2887 module.exports = indexOfNaN;
2888
2889
2890/***/ },
2891/* 97 */
2892/***/ function(module, exports, __webpack_require__) {
2893
2894 var isArrayLike = __webpack_require__(11),
2895 isIndex = __webpack_require__(28),
2896 isObject = __webpack_require__(7);
2897
2898 /**
2899 * Checks if the provided arguments are from an iteratee call.
2900 *
2901 * @private
2902 * @param {*} value The potential iteratee value argument.
2903 * @param {*} index The potential iteratee index or key argument.
2904 * @param {*} object The potential iteratee object argument.
2905 * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.
2906 */
2907 function isIterateeCall(value, index, object) {
2908 if (!isObject(object)) {
2909 return false;
2910 }
2911 var type = typeof index;
2912 if (type == 'number'
2913 ? (isArrayLike(object) && isIndex(index, object.length))
2914 : (type == 'string' && index in object)) {
2915 var other = object[index];
2916 return value === value ? (value === other) : (other !== other);
2917 }
2918 return false;
2919 }
2920
2921 module.exports = isIterateeCall;
2922
2923
2924/***/ },
2925/* 98 */
2926/***/ function(module, exports, __webpack_require__) {
2927
2928 var isArguments = __webpack_require__(29),
2929 isArray = __webpack_require__(30),
2930 isIndex = __webpack_require__(28),
2931 isLength = __webpack_require__(15),
2932 keysIn = __webpack_require__(102);
2933
2934 /** Used for native method references. */
2935 var objectProto = Object.prototype;
2936
2937 /** Used to check objects for own properties. */
2938 var hasOwnProperty = objectProto.hasOwnProperty;
2939
2940 /**
2941 * A fallback implementation of `Object.keys` which creates an array of the
2942 * own enumerable property names of `object`.
2943 *
2944 * @private
2945 * @param {Object} object The object to query.
2946 * @returns {Array} Returns the array of property names.
2947 */
2948 function shimKeys(object) {
2949 var props = keysIn(object),
2950 propsLength = props.length,
2951 length = propsLength && object.length;
2952
2953 var allowIndexes = !!length && isLength(length) &&
2954 (isArray(object) || isArguments(object));
2955
2956 var index = -1,
2957 result = [];
2958
2959 while (++index < propsLength) {
2960 var key = props[index];
2961 if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {
2962 result.push(key);
2963 }
2964 }
2965 return result;
2966 }
2967
2968 module.exports = shimKeys;
2969
2970
2971/***/ },
2972/* 99 */
2973/***/ function(module, exports, __webpack_require__) {
2974
2975 var isObject = __webpack_require__(7);
2976
2977 /** `Object#toString` result references. */
2978 var funcTag = '[object Function]';
2979
2980 /** Used for native method references. */
2981 var objectProto = Object.prototype;
2982
2983 /**
2984 * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
2985 * of values.
2986 */
2987 var objToString = objectProto.toString;
2988
2989 /**
2990 * Checks if `value` is classified as a `Function` object.
2991 *
2992 * @static
2993 * @memberOf _
2994 * @category Lang
2995 * @param {*} value The value to check.
2996 * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
2997 * @example
2998 *
2999 * _.isFunction(_);
3000 * // => true
3001 *
3002 * _.isFunction(/abc/);
3003 * // => false
3004 */
3005 function isFunction(value) {
3006 // The use of `Object#toString` avoids issues with the `typeof` operator
3007 // in older versions of Chrome and Safari which return 'function' for regexes
3008 // and Safari 8 which returns 'object' for typed array constructors.
3009 return isObject(value) && objToString.call(value) == funcTag;
3010 }
3011
3012 module.exports = isFunction;
3013
3014
3015/***/ },
3016/* 100 */
3017/***/ function(module, exports, __webpack_require__) {
3018
3019 var isFunction = __webpack_require__(99),
3020 isObjectLike = __webpack_require__(12);
3021
3022 /** Used to detect host constructors (Safari > 5). */
3023 var reIsHostCtor = /^\[object .+?Constructor\]$/;
3024
3025 /** Used for native method references. */
3026 var objectProto = Object.prototype;
3027
3028 /** Used to resolve the decompiled source of functions. */
3029 var fnToString = Function.prototype.toString;
3030
3031 /** Used to check objects for own properties. */
3032 var hasOwnProperty = objectProto.hasOwnProperty;
3033
3034 /** Used to detect if a method is native. */
3035 var reIsNative = RegExp('^' +
3036 fnToString.call(hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g, '\\$&')
3037 .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
3038 );
3039
3040 /**
3041 * Checks if `value` is a native function.
3042 *
3043 * @static
3044 * @memberOf _
3045 * @category Lang
3046 * @param {*} value The value to check.
3047 * @returns {boolean} Returns `true` if `value` is a native function, else `false`.
3048 * @example
3049 *
3050 * _.isNative(Array.prototype.push);
3051 * // => true
3052 *
3053 * _.isNative(_);
3054 * // => false
3055 */
3056 function isNative(value) {
3057 if (value == null) {
3058 return false;
3059 }
3060 if (isFunction(value)) {
3061 return reIsNative.test(fnToString.call(value));
3062 }
3063 return isObjectLike(value) && reIsHostCtor.test(value);
3064 }
3065
3066 module.exports = isNative;
3067
3068
3069/***/ },
3070/* 101 */
3071/***/ function(module, exports, __webpack_require__) {
3072
3073 var assignWith = __webpack_require__(83),
3074 baseAssign = __webpack_require__(84),
3075 createAssigner = __webpack_require__(93);
3076
3077 /**
3078 * Assigns own enumerable properties of source object(s) to the destination
3079 * object. Subsequent sources overwrite property assignments of previous sources.
3080 * If `customizer` is provided it's invoked to produce the assigned values.
3081 * The `customizer` is bound to `thisArg` and invoked with five arguments:
3082 * (objectValue, sourceValue, key, object, source).
3083 *
3084 * **Note:** This method mutates `object` and is based on
3085 * [`Object.assign`](http://ecma-international.org/ecma-262/6.0/#sec-object.assign).
3086 *
3087 * @static
3088 * @memberOf _
3089 * @alias extend
3090 * @category Object
3091 * @param {Object} object The destination object.
3092 * @param {...Object} [sources] The source objects.
3093 * @param {Function} [customizer] The function to customize assigned values.
3094 * @param {*} [thisArg] The `this` binding of `customizer`.
3095 * @returns {Object} Returns `object`.
3096 * @example
3097 *
3098 * _.assign({ 'user': 'barney' }, { 'age': 40 }, { 'user': 'fred' });
3099 * // => { 'user': 'fred', 'age': 40 }
3100 *
3101 * // using a customizer callback
3102 * var defaults = _.partialRight(_.assign, function(value, other) {
3103 * return _.isUndefined(value) ? other : value;
3104 * });
3105 *
3106 * defaults({ 'user': 'barney' }, { 'age': 36 }, { 'user': 'fred' });
3107 * // => { 'user': 'barney', 'age': 36 }
3108 */
3109 var assign = createAssigner(function(object, source, customizer) {
3110 return customizer
3111 ? assignWith(object, source, customizer)
3112 : baseAssign(object, source);
3113 });
3114
3115 module.exports = assign;
3116
3117
3118/***/ },
3119/* 102 */
3120/***/ function(module, exports, __webpack_require__) {
3121
3122 var isArguments = __webpack_require__(29),
3123 isArray = __webpack_require__(30),
3124 isIndex = __webpack_require__(28),
3125 isLength = __webpack_require__(15),
3126 isObject = __webpack_require__(7);
3127
3128 /** Used for native method references. */
3129 var objectProto = Object.prototype;
3130
3131 /** Used to check objects for own properties. */
3132 var hasOwnProperty = objectProto.hasOwnProperty;
3133
3134 /**
3135 * Creates an array of the own and inherited enumerable property names of `object`.
3136 *
3137 * **Note:** Non-object values are coerced to objects.
3138 *
3139 * @static
3140 * @memberOf _
3141 * @category Object
3142 * @param {Object} object The object to query.
3143 * @returns {Array} Returns the array of property names.
3144 * @example
3145 *
3146 * function Foo() {
3147 * this.a = 1;
3148 * this.b = 2;
3149 * }
3150 *
3151 * Foo.prototype.c = 3;
3152 *
3153 * _.keysIn(new Foo);
3154 * // => ['a', 'b', 'c'] (iteration order is not guaranteed)
3155 */
3156 function keysIn(object) {
3157 if (object == null) {
3158 return [];
3159 }
3160 if (!isObject(object)) {
3161 object = Object(object);
3162 }
3163 var length = object.length;
3164 length = (length && isLength(length) &&
3165 (isArray(object) || isArguments(object)) && length) || 0;
3166
3167 var Ctor = object.constructor,
3168 index = -1,
3169 isProto = typeof Ctor == 'function' && Ctor.prototype === object,
3170 result = Array(length),
3171 skipIndexes = length > 0;
3172
3173 while (++index < length) {
3174 result[index] = (index + '');
3175 }
3176 for (var key in object) {
3177 if (!(skipIndexes && isIndex(key, length)) &&
3178 !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {
3179 result.push(key);
3180 }
3181 }
3182 return result;
3183 }
3184
3185 module.exports = keysIn;
3186
3187
3188/***/ },
3189/* 103 */
3190/***/ function(module, exports, __webpack_require__) {
3191
3192 /**
3193 * This method returns the first argument provided to it.
3194 *
3195 * @static
3196 * @memberOf _
3197 * @category Utility
3198 * @param {*} value Any value.
3199 * @returns {*} Returns `value`.
3200 * @example
3201 *
3202 * var object = { 'user': 'fred' };
3203 *
3204 * _.identity(object) === object;
3205 * // => true
3206 */
3207 function identity(value) {
3208 return value;
3209 }
3210
3211 module.exports = identity;
3212
3213
3214/***/ },
3215/* 104 */
3216/***/ function(module, exports, __webpack_require__) {
3217
3218 "use strict";
3219
3220 exports.__esModule = true;
3221 exports["default"] = getForceUpdate;
3222 function traverseRenderedChildren(internalInstance, callback, argument) {
3223 callback(internalInstance, argument);
3224
3225 if (internalInstance._renderedComponent) {
3226 traverseRenderedChildren(internalInstance._renderedComponent, callback, argument);
3227 } else {
3228 for (var key in internalInstance._renderedChildren) {
3229 if (internalInstance._renderedChildren.hasOwnProperty(key)) {
3230 traverseRenderedChildren(internalInstance._renderedChildren[key], callback, argument);
3231 }
3232 }
3233 }
3234 }
3235
3236 function setPendingForceUpdate(internalInstance) {
3237 if (internalInstance._pendingForceUpdate === false) {
3238 internalInstance._pendingForceUpdate = true;
3239 }
3240 }
3241
3242 function forceUpdateIfPending(internalInstance, React) {
3243 if (internalInstance._pendingForceUpdate === true) {
3244 var publicInstance = internalInstance._instance;
3245 React.Component.prototype.forceUpdate.call(publicInstance);
3246 }
3247 }
3248
3249 function getForceUpdate(React) {
3250 return function (instance) {
3251 var internalInstance = instance._reactInternalInstance;
3252 traverseRenderedChildren(internalInstance, setPendingForceUpdate);
3253 traverseRenderedChildren(internalInstance, forceUpdateIfPending, React);
3254 };
3255 }
3256
3257 module.exports = exports["default"];
3258
3259/***/ }
3260/******/ ])
3261});