diff --git a/api.css b/api.css index 641333e072be22b7b7113181e0850a231e8f89e6..b482d9c92546216c44717945d06c8ff724014526 100644 --- a/api.css +++ b/api.css @@ -3081,7 +3081,7 @@ mark { .ant-modal-open { overflow: hidden; } -@media (max-width: 768px) { +@media (max-width: 767px) { .ant-modal { width: auto !important; margin: 10px; @@ -3863,11 +3863,12 @@ mark { .ant-btn + .ant-btn-group, .ant-btn-group span + .ant-btn, .ant-btn-group .ant-btn + span, +.ant-btn-group > span + span, .ant-btn-group + .ant-btn, .ant-btn-group + .ant-btn-group { margin-left: -1px; } -.ant-btn-group .ant-btn-primary + .ant-btn:not(.ant-btn-primary) { +.ant-btn-group .ant-btn-primary + .ant-btn:not(.ant-btn-primary):not([disabled]) { border-left-color: transparent; } .ant-btn-group .ant-btn:not(:first-child):not(:last-child) { @@ -6508,6 +6509,7 @@ span.ant-radio + * { .ant-spin-dot { position: relative; display: inline-block; + font-size: 20px; width: 20px; height: 20px; } @@ -6555,6 +6557,7 @@ span.ant-radio + * { animation: antRotate 1.2s infinite linear; } .ant-spin-sm .ant-spin-dot { + font-size: 14px; width: 14px; height: 14px; } @@ -6563,6 +6566,7 @@ span.ant-radio + * { height: 6px; } .ant-spin-lg .ant-spin-dot { + font-size: 32px; width: 32px; height: 32px; } diff --git a/api.js b/api.js index 77026434dc7274f9ab240c12fb70cf70455dc55d..416806494651bae5291e9f2e2b8b2943c53aab76 100644 --- a/api.js +++ b/api.js @@ -65,1181 +65,870 @@ /************************************************************************/ /******/ ({ -/***/ "+00f": +/***/ "+4K5": /***/ (function(module, exports, __webpack_require__) { -"use strict"; - - -exports.decode = exports.parse = __webpack_require__("J6GP"); -exports.encode = exports.stringify = __webpack_require__("bvhO"); +var isObject = __webpack_require__("Caf2"); +module.exports = function (it) { + if (!isObject(it)) throw TypeError(it + ' is not an object!'); + return it; +}; /***/ }), -/***/ "+CtU": +/***/ "+aro": /***/ (function(module, exports, __webpack_require__) { -"use strict"; +var listCacheClear = __webpack_require__("pxyR"), + listCacheDelete = __webpack_require__("kWiX"), + listCacheGet = __webpack_require__("YPqc"), + listCacheHas = __webpack_require__("OFtI"), + listCacheSet = __webpack_require__("NAjx"); + /** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. + * Creates an list cache object. * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. */ +function ListCache(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} +// Add methods to `ListCache`. +ListCache.prototype.clear = listCacheClear; +ListCache.prototype['delete'] = listCacheDelete; +ListCache.prototype.get = listCacheGet; +ListCache.prototype.has = listCacheHas; +ListCache.prototype.set = listCacheSet; -var emptyObject = {}; - -if (false) { - Object.freeze(emptyObject); -} +module.exports = ListCache; -module.exports = emptyObject; /***/ }), -/***/ "+Lv/": -/***/ (function(module, exports) { +/***/ "+tSQ": +/***/ (function(module, exports, __webpack_require__) { + +// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window +var toIObject = __webpack_require__("Lc9H"); +var gOPN = __webpack_require__("rBMJ").f; +var toString = {}.toString; + +var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames + ? Object.getOwnPropertyNames(window) : []; + +var getWindowNames = function (it) { + try { + return gOPN(it); + } catch (e) { + return windowNames.slice(); + } +}; + +module.exports.f = function getOwnPropertyNames(it) { + return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it)); +}; -// removed by extract-text-webpack-plugin /***/ }), -/***/ "+UAC": +/***/ "+wRB": /***/ (function(module, exports, __webpack_require__) { -var arrayLikeKeys = __webpack_require__("VcL+"), - baseKeysIn = __webpack_require__("9FAS"), - isArrayLike = __webpack_require__("LN6c"); +var isObject = __webpack_require__("LonY"), + isSymbol = __webpack_require__("UkjT"); + +/** Used as references for various `Number` constants. */ +var NAN = 0 / 0; + +/** Used to match leading and trailing whitespace. */ +var reTrim = /^\s+|\s+$/g; + +/** Used to detect bad signed hexadecimal string values. */ +var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; + +/** Used to detect binary string values. */ +var reIsBinary = /^0b[01]+$/i; + +/** Used to detect octal string values. */ +var reIsOctal = /^0o[0-7]+$/i; + +/** Built-in method references without a dependency on `root`. */ +var freeParseInt = parseInt; /** - * Creates an array of the own and inherited enumerable property names of `object`. - * - * **Note:** Non-object values are coerced to objects. + * Converts `value` to a number. * * @static * @memberOf _ - * @since 3.0.0 - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. + * @since 4.0.0 + * @category Lang + * @param {*} value The value to process. + * @returns {number} Returns the number. * @example * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } + * _.toNumber(3.2); + * // => 3.2 * - * Foo.prototype.c = 3; + * _.toNumber(Number.MIN_VALUE); + * // => 5e-324 * - * _.keysIn(new Foo); - * // => ['a', 'b', 'c'] (iteration order is not guaranteed) + * _.toNumber(Infinity); + * // => Infinity + * + * _.toNumber('3.2'); + * // => 3.2 */ -function keysIn(object) { - return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object); +function toNumber(value) { + if (typeof value == 'number') { + return value; + } + if (isSymbol(value)) { + return NAN; + } + if (isObject(value)) { + var other = typeof value.valueOf == 'function' ? value.valueOf() : value; + value = isObject(other) ? (other + '') : other; + } + if (typeof value != 'string') { + return value === 0 ? value : +value; + } + value = value.replace(reTrim, ''); + var isBinary = reIsBinary.test(value); + return (isBinary || reIsOctal.test(value)) + ? freeParseInt(value.slice(2), isBinary ? 2 : 8) + : (reIsBadHex.test(value) ? NAN : +value); } -module.exports = keysIn; +module.exports = toNumber; /***/ }), -/***/ "+VwJ": -/***/ (function(module, exports) { +/***/ "/+nn": +/***/ (function(module, exports, __webpack_require__) { -// removed by extract-text-webpack-plugin +"use strict"; -/***/ }), -/***/ "+bWy": -/***/ (function(module, exports, __webpack_require__) { +var replace = String.prototype.replace; +var percentTwenties = /%20/g; + +module.exports = { + 'default': 'RFC3986', + formatters: { + RFC1738: function (value) { + return replace.call(value, percentTwenties, '+'); + }, + RFC3986: function (value) { + return value; + } + }, + RFC1738: 'RFC1738', + RFC3986: 'RFC3986' +}; -var assocIndexOf = __webpack_require__("yEjJ"); -/** Used for built-in method references. */ -var arrayProto = Array.prototype; +/***/ }), -/** Built-in value references. */ -var splice = arrayProto.splice; +/***/ "/FPE": +/***/ (function(module, exports, __webpack_require__) { + +var identity = __webpack_require__("JsRD"), + overRest = __webpack_require__("Gk3S"), + setToString = __webpack_require__("NuVF"); /** - * Removes `key` and its value from the list cache. + * The base implementation of `_.rest` which doesn't validate or coerce arguments. * * @private - * @name delete - * @memberOf ListCache - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @returns {Function} Returns the new function. */ -function listCacheDelete(key) { - var data = this.__data__, - index = assocIndexOf(data, key); - - if (index < 0) { - return false; - } - var lastIndex = data.length - 1; - if (index == lastIndex) { - data.pop(); - } else { - splice.call(data, index, 1); - } - --this.size; - return true; +function baseRest(func, start) { + return setToString(overRest(func, start, identity), func + ''); } -module.exports = listCacheDelete; +module.exports = baseRest; /***/ }), -/***/ "/0+/": +/***/ "/rL6": /***/ (function(module, exports, __webpack_require__) { "use strict"; /** - * Copyright (c) 2014-present, Facebook, Inc. + * Copyright (c) 2013-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - * - * @providesModule warning - */ - - - -/** - * Similar to invariant but only logs a warning if the condition is not met. - * This can be used to log issues in development environments in critical - * paths. Removing the logging code for production environments will keep the - * same logic and follow the same code paths. */ -var __DEV__ = "production" !== 'production'; -var warning = function() {}; -if (__DEV__) { - var printWarning = function printWarning(format, args) { - var len = arguments.length; - args = new Array(len > 2 ? len - 2 : 0); - for (var key = 2; key < len; key++) { - args[key - 2] = arguments[key]; - } - var argIndex = 0; - var message = 'Warning: ' + - format.replace(/%s/g, function() { - return args[argIndex++]; - }); - if (typeof console !== 'undefined') { - console.error(message); - } - try { - // --- Welcome to debugging React --- - // This error was thrown as a convenience so that you can use this stack - // to find the callsite that caused this warning to fire. - throw new Error(message); - } catch (x) {} - } +var emptyFunction = __webpack_require__("aeWf"); +var invariant = __webpack_require__("uxfE"); +var ReactPropTypesSecret = __webpack_require__("49uv"); - warning = function(condition, format, args) { - var len = arguments.length; - args = new Array(len > 2 ? len - 2 : 0); - for (var key = 2; key < len; key++) { - args[key - 2] = arguments[key]; - } - if (format === undefined) { - throw new Error( - '`warning(condition, format, ...args)` requires a warning ' + - 'message argument' - ); - } - if (!condition) { - printWarning.apply(null, [format].concat(args)); +module.exports = function() { + function shim(props, propName, componentName, location, propFullName, secret) { + if (secret === ReactPropTypesSecret) { + // It is still safe when called from React. + return; } + invariant( + false, + 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' + + 'Use PropTypes.checkPropTypes() to call them. ' + + 'Read more at http://fb.me/use-check-prop-types' + ); }; -} - -module.exports = warning; + shim.isRequired = shim; + function getShim() { + return shim; + }; + // Important! + // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`. + var ReactPropTypes = { + array: shim, + bool: shim, + func: shim, + number: shim, + object: shim, + string: shim, + symbol: shim, + any: shim, + arrayOf: getShim, + element: shim, + instanceOf: getShim, + node: shim, + objectOf: getShim, + oneOf: getShim, + oneOfType: getShim, + shape: getShim, + exact: getShim + }; -/***/ }), + ReactPropTypes.checkPropTypes = emptyFunction; + ReactPropTypes.PropTypes = ReactPropTypes; -/***/ "/QDu": -/***/ (function(module, exports, __webpack_require__) { + return ReactPropTypes; +}; -module.exports = __webpack_require__("3v7p"); /***/ }), -/***/ "/sXU": +/***/ "/ti9": /***/ (function(module, exports, __webpack_require__) { -"use strict"; -/** - * Copyright 2014-2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - */ - - +var isKeyable = __webpack_require__("pBV0"); /** - * Similar to invariant but only logs a warning if the condition is not met. - * This can be used to log issues in development environments in critical - * paths. Removing the logging code for production environments will keep the - * same logic and follow the same code paths. + * Gets the data for `map`. + * + * @private + * @param {Object} map The map to query. + * @param {string} key The reference key. + * @returns {*} Returns the map data. */ +function getMapData(map, key) { + var data = map.__data__; + return isKeyable(key) + ? data[typeof key == 'string' ? 'string' : 'hash'] + : data.map; +} -var warning = function() {}; +module.exports = getMapData; -if (false) { - warning = function(condition, format, args) { - var len = arguments.length; - args = new Array(len > 2 ? len - 2 : 0); - for (var key = 2; key < len; key++) { - args[key - 2] = arguments[key]; - } - if (format === undefined) { - throw new Error( - '`warning(condition, format, ...args)` requires a warning ' + - 'message argument' - ); - } - if (format.length < 10 || (/^[s\W]*$/).test(format)) { - throw new Error( - 'The warning format should be able to uniquely identify this ' + - 'warning. Please, use a more descriptive format than: ' + format - ); - } +/***/ }), - if (!condition) { - var argIndex = 0; - var message = 'Warning: ' + - format.replace(/%s/g, function() { - return args[argIndex++]; - }); - if (typeof console !== 'undefined') { - console.error(message); - } - try { - // This error was thrown as a convenience so that you can use this stack - // to find the callsite that caused this warning to fire. - throw new Error(message); - } catch(x) {} - } - }; -} +/***/ "04ZJ": +/***/ (function(module, exports, __webpack_require__) { -module.exports = warning; +var baseGetTag = __webpack_require__("16Yq"), + isLength = __webpack_require__("IShM"), + isObjectLike = __webpack_require__("8rVd"); +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + boolTag = '[object Boolean]', + dateTag = '[object Date]', + errorTag = '[object Error]', + funcTag = '[object Function]', + mapTag = '[object Map]', + numberTag = '[object Number]', + objectTag = '[object Object]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + weakMapTag = '[object WeakMap]'; -/***/ }), +var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; -/***/ "/u/u": -/***/ (function(module, exports) { +/** Used to identify `toStringTag` values of typed arrays. */ +var typedArrayTags = {}; +typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = +typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = +typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = +typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = +typedArrayTags[uint32Tag] = true; +typedArrayTags[argsTag] = typedArrayTags[arrayTag] = +typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = +typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = +typedArrayTags[errorTag] = typedArrayTags[funcTag] = +typedArrayTags[mapTag] = typedArrayTags[numberTag] = +typedArrayTags[objectTag] = typedArrayTags[regexpTag] = +typedArrayTags[setTag] = typedArrayTags[stringTag] = +typedArrayTags[weakMapTag] = false; /** - * Delegate to handle a media query being matched and unmatched. + * The base implementation of `_.isTypedArray` without Node.js optimizations. * - * @param {object} options - * @param {function} options.match callback for when the media query is matched - * @param {function} [options.unmatch] callback for when the media query is unmatched - * @param {function} [options.setup] one-time callback triggered the first time a query is matched - * @param {boolean} [options.deferSetup=false] should the setup callback be run immediately, rather than first time query is matched? - * @constructor + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. */ -function QueryHandler(options) { - this.options = options; - !options.deferSetup && this.setup(); +function baseIsTypedArray(value) { + return isObjectLike(value) && + isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; } -QueryHandler.prototype = { - - constructor : QueryHandler, - - /** - * coordinates setup of the handler - * - * @function - */ - setup : function() { - if(this.options.setup) { - this.options.setup(); - } - this.initialised = true; - }, - - /** - * coordinates setup and triggering of the handler - * - * @function - */ - on : function() { - !this.initialised && this.setup(); - this.options.match && this.options.match(); - }, - - /** - * coordinates the unmatch event for the handler - * - * @function - */ - off : function() { - this.options.unmatch && this.options.unmatch(); - }, - - /** - * called when a handler is to be destroyed. - * delegates to the destroy or unmatch callbacks, depending on availability. - * - * @function - */ - destroy : function() { - this.options.destroy ? this.options.destroy() : this.off(); - }, +module.exports = baseIsTypedArray; - /** - * determines equality by reference. - * if object is supplied compare options, if function, compare match callback - * - * @function - * @param {object || function} [target] the target for comparison - */ - equals : function(target) { - return this.options === target || this.options.match === target; - } -}; +/***/ }), -module.exports = QueryHandler; +/***/ "0bf1": +/***/ (function(module, exports, __webpack_require__) { +"use strict"; -/***/ }), -/***/ "/wuY": -/***/ (function(module, exports, __webpack_require__) { +function checkDCE() { + /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */ + if ( + typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' || + typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function' + ) { + return; + } + if (false) { + // This branch is unreachable because this function is only called + // in production, but the condition is true only in development. + // Therefore if the branch is still here, dead code elimination wasn't + // properly applied. + // Don't change the message. React DevTools relies on it. Also make sure + // this message doesn't occur elsewhere in this function, or it will cause + // a false positive. + throw new Error('^_^'); + } + try { + // Verify that the code above has been dead code eliminated (DCE'd). + __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE); + } catch (err) { + // DevTools shouldn't crash React, no matter what. + // We should still report in case we break this code. + console.error(err); + } +} -var shared = __webpack_require__("NB7d")('keys'); -var uid = __webpack_require__("X6va"); -module.exports = function (key) { - return shared[key] || (shared[key] = uid(key)); -}; +if (true) { + // DCE check should happen before ReactDOM bundle executes so that + // DevTools can report bad minification during injection. + checkDCE(); + module.exports = __webpack_require__("tt0j"); +} else { + module.exports = require('./cjs/react-dom.development.js'); +} /***/ }), -/***/ "/z8I": +/***/ "0l9/": /***/ (function(module, exports, __webpack_require__) { "use strict"; -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _EventBaseObject = __webpack_require__("M4O7"); +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @typechecks + */ -var _EventBaseObject2 = _interopRequireDefault(_EventBaseObject); +/** + * @param {*} object The object to check. + * @return {boolean} Whether or not the object is a DOM node. + */ +function isNode(object) { + var doc = object ? object.ownerDocument || object : document; + var defaultView = doc.defaultView || window; + return !!(object && (typeof defaultView.Node === 'function' ? object instanceof defaultView.Node : typeof object === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string')); +} -var _objectAssign = __webpack_require__("J4Nk"); +module.exports = isNode; -var _objectAssign2 = _interopRequireDefault(_objectAssign); +/***/ }), -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } +/***/ "0pXN": +/***/ (function(module, exports, __webpack_require__) { + +var QueryHandler = __webpack_require__("0yWv"); +var each = __webpack_require__("ARiH").each; /** - * @ignore - * event object for dom - * @author yiminghe@gmail.com + * Represents a single media query, manages it's state and registered handlers for this query + * + * @constructor + * @param {string} query the media query string + * @param {boolean} [isUnconditional=false] whether the media query should run regardless of whether the conditions are met. Primarily for helping older browsers deal with mobile-first design */ +function MediaQuery(query, isUnconditional) { + this.query = query; + this.isUnconditional = isUnconditional; + this.handlers = []; + this.mql = window.matchMedia(query); -var TRUE = true; -var FALSE = false; -var commonProps = ['altKey', 'bubbles', 'cancelable', 'ctrlKey', 'currentTarget', 'eventPhase', 'metaKey', 'shiftKey', 'target', 'timeStamp', 'view', 'type']; - -function isNullOrUndefined(w) { - return w === null || w === undefined; + var self = this; + this.listener = function(mql) { + // Chrome passes an MediaQueryListEvent object, while other browsers pass MediaQueryList directly + self.mql = mql.currentTarget || mql; + self.assess(); + }; + this.mql.addListener(this.listener); } -var eventNormalizers = [{ - reg: /^key/, - props: ['char', 'charCode', 'key', 'keyCode', 'which'], - fix: function fix(event, nativeEvent) { - if (isNullOrUndefined(event.which)) { - event.which = !isNullOrUndefined(nativeEvent.charCode) ? nativeEvent.charCode : nativeEvent.keyCode; - } - - // add metaKey to non-Mac browsers (use ctrl for PC 's and Meta for Macs) - if (event.metaKey === undefined) { - event.metaKey = event.ctrlKey; - } - } -}, { - reg: /^touch/, - props: ['touches', 'changedTouches', 'targetTouches'] -}, { - reg: /^hashchange$/, - props: ['newURL', 'oldURL'] -}, { - reg: /^gesturechange$/i, - props: ['rotation', 'scale'] -}, { - reg: /^(mousewheel|DOMMouseScroll)$/, - props: [], - fix: function fix(event, nativeEvent) { - var deltaX = void 0; - var deltaY = void 0; - var delta = void 0; - var wheelDelta = nativeEvent.wheelDelta; - var axis = nativeEvent.axis; - var wheelDeltaY = nativeEvent.wheelDeltaY; - var wheelDeltaX = nativeEvent.wheelDeltaX; - var detail = nativeEvent.detail; +MediaQuery.prototype = { - // ie/webkit - if (wheelDelta) { - delta = wheelDelta / 120; - } + constuctor : MediaQuery, - // gecko - if (detail) { - // press control e.detail == 1 else e.detail == 3 - delta = 0 - (detail % 3 === 0 ? detail / 3 : detail); - } + /** + * add a handler for this query, triggering if already active + * + * @param {object} handler + * @param {function} handler.match callback for when query is activated + * @param {function} [handler.unmatch] callback for when query is deactivated + * @param {function} [handler.setup] callback for immediate execution when a query handler is registered + * @param {boolean} [handler.deferSetup=false] should the setup callback be deferred until the first time the handler is matched? + */ + addHandler : function(handler) { + var qh = new QueryHandler(handler); + this.handlers.push(qh); - // Gecko - if (axis !== undefined) { - if (axis === event.HORIZONTAL_AXIS) { - deltaY = 0; - deltaX = 0 - delta; - } else if (axis === event.VERTICAL_AXIS) { - deltaX = 0; - deltaY = delta; - } - } + this.matches() && qh.on(); + }, - // Webkit - if (wheelDeltaY !== undefined) { - deltaY = wheelDeltaY / 120; - } - if (wheelDeltaX !== undefined) { - deltaX = -1 * wheelDeltaX / 120; - } + /** + * removes the given handler from the collection, and calls it's destroy methods + * + * @param {object || function} handler the handler to remove + */ + removeHandler : function(handler) { + var handlers = this.handlers; + each(handlers, function(h, i) { + if(h.equals(handler)) { + h.destroy(); + return !handlers.splice(i,1); //remove from array and exit each early + } + }); + }, - // 默认 deltaY (ie) - if (!deltaX && !deltaY) { - deltaY = delta; - } + /** + * Determine whether the media query should be considered a match + * + * @return {Boolean} true if media query can be considered a match, false otherwise + */ + matches : function() { + return this.mql.matches || this.isUnconditional; + }, - if (deltaX !== undefined) { - /** - * deltaX of mousewheel event - * @property deltaX - * @member Event.DomEvent.Object - */ - event.deltaX = deltaX; - } + /** + * Clears all handlers and unbinds events + */ + clear : function() { + each(this.handlers, function(handler) { + handler.destroy(); + }); + this.mql.removeListener(this.listener); + this.handlers.length = 0; //clear array + }, - if (deltaY !== undefined) { - /** - * deltaY of mousewheel event - * @property deltaY - * @member Event.DomEvent.Object - */ - event.deltaY = deltaY; - } + /* + * Assesses the query, turning on all handlers if it matches, turning them off if it doesn't match + */ + assess : function() { + var action = this.matches() ? 'on' : 'off'; - if (delta !== undefined) { - /** - * delta of mousewheel event - * @property delta - * @member Event.DomEvent.Object - */ - event.delta = delta; + each(this.handlers, function(handler) { + handler[action](); + }); } - } -}, { - reg: /^mouse|contextmenu|click|mspointer|(^DOMMouseScroll$)/i, - props: ['buttons', 'clientX', 'clientY', 'button', 'offsetX', 'relatedTarget', 'which', 'fromElement', 'toElement', 'offsetY', 'pageX', 'pageY', 'screenX', 'screenY'], - fix: function fix(event, nativeEvent) { - var eventDoc = void 0; - var doc = void 0; - var body = void 0; - var target = event.target; - var button = nativeEvent.button; +}; - // Calculate pageX/Y if missing and clientX/Y available - if (target && isNullOrUndefined(event.pageX) && !isNullOrUndefined(nativeEvent.clientX)) { - eventDoc = target.ownerDocument || document; - doc = eventDoc.documentElement; - body = eventDoc.body; - event.pageX = nativeEvent.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0); - event.pageY = nativeEvent.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0); - } +module.exports = MediaQuery; - // which for click: 1 === left; 2 === middle; 3 === right - // do not use button - if (!event.which && button !== undefined) { - if (button & 1) { - event.which = 1; - } else if (button & 2) { - event.which = 3; - } else if (button & 4) { - event.which = 2; - } else { - event.which = 0; - } - } - // add relatedTarget, if necessary - if (!event.relatedTarget && event.fromElement) { - event.relatedTarget = event.fromElement === target ? event.toElement : event.fromElement; - } +/***/ }), - return event; - } -}]; +/***/ "0yWv": +/***/ (function(module, exports) { -function retTrue() { - return TRUE; +/** + * Delegate to handle a media query being matched and unmatched. + * + * @param {object} options + * @param {function} options.match callback for when the media query is matched + * @param {function} [options.unmatch] callback for when the media query is unmatched + * @param {function} [options.setup] one-time callback triggered the first time a query is matched + * @param {boolean} [options.deferSetup=false] should the setup callback be run immediately, rather than first time query is matched? + * @constructor + */ +function QueryHandler(options) { + this.options = options; + !options.deferSetup && this.setup(); } -function retFalse() { - return FALSE; -} +QueryHandler.prototype = { -function DomEventObject(nativeEvent) { - var type = nativeEvent.type; + constructor : QueryHandler, - var isNative = typeof nativeEvent.stopPropagation === 'function' || typeof nativeEvent.cancelBubble === 'boolean'; + /** + * coordinates setup of the handler + * + * @function + */ + setup : function() { + if(this.options.setup) { + this.options.setup(); + } + this.initialised = true; + }, - _EventBaseObject2["default"].call(this); + /** + * coordinates setup and triggering of the handler + * + * @function + */ + on : function() { + !this.initialised && this.setup(); + this.options.match && this.options.match(); + }, - this.nativeEvent = nativeEvent; + /** + * coordinates the unmatch event for the handler + * + * @function + */ + off : function() { + this.options.unmatch && this.options.unmatch(); + }, - // in case dom event has been mark as default prevented by lower dom node - var isDefaultPrevented = retFalse; - if ('defaultPrevented' in nativeEvent) { - isDefaultPrevented = nativeEvent.defaultPrevented ? retTrue : retFalse; - } else if ('getPreventDefault' in nativeEvent) { - // https://bugzilla.mozilla.org/show_bug.cgi?id=691151 - isDefaultPrevented = nativeEvent.getPreventDefault() ? retTrue : retFalse; - } else if ('returnValue' in nativeEvent) { - isDefaultPrevented = nativeEvent.returnValue === FALSE ? retTrue : retFalse; - } + /** + * called when a handler is to be destroyed. + * delegates to the destroy or unmatch callbacks, depending on availability. + * + * @function + */ + destroy : function() { + this.options.destroy ? this.options.destroy() : this.off(); + }, - this.isDefaultPrevented = isDefaultPrevented; + /** + * determines equality by reference. + * if object is supplied compare options, if function, compare match callback + * + * @function + * @param {object || function} [target] the target for comparison + */ + equals : function(target) { + return this.options === target || this.options.match === target; + } - var fixFns = []; - var fixFn = void 0; - var l = void 0; - var prop = void 0; - var props = commonProps.concat(); +}; - eventNormalizers.forEach(function (normalizer) { - if (type.match(normalizer.reg)) { - props = props.concat(normalizer.props); - if (normalizer.fix) { - fixFns.push(normalizer.fix); - } - } - }); +module.exports = QueryHandler; - l = props.length; - // clone properties of the original event object - while (l) { - prop = props[--l]; - this[prop] = nativeEvent[prop]; - } +/***/ }), - // fix target property, if necessary - if (!this.target && isNative) { - this.target = nativeEvent.srcElement || document; // srcElement might not be defined either - } +/***/ "13fR": +/***/ (function(module, exports, __webpack_require__) { - // check if target is a text node (safari) - if (this.target && this.target.nodeType === 3) { - this.target = this.target.parentNode; - } +__webpack_require__("A1y6"); +module.exports = __webpack_require__("C7BO").Symbol['for']; - l = fixFns.length; - while (l) { - fixFn = fixFns[--l]; - fixFn(this, nativeEvent); - } +/***/ }), - this.timeStamp = nativeEvent.timeStamp || Date.now(); -} +/***/ "15l7": +/***/ (function(module, exports, __webpack_require__) { -var EventBaseObjectProto = _EventBaseObject2["default"].prototype; +var assignMergeValue = __webpack_require__("ulrV"), + cloneBuffer = __webpack_require__("9S7N"), + cloneTypedArray = __webpack_require__("WMBI"), + copyArray = __webpack_require__("hTU2"), + initCloneObject = __webpack_require__("oft9"), + isArguments = __webpack_require__("MN0m"), + isArray = __webpack_require__("FR/r"), + isArrayLikeObject = __webpack_require__("Vo0h"), + isBuffer = __webpack_require__("TsMo"), + isFunction = __webpack_require__("qBEH"), + isObject = __webpack_require__("LonY"), + isPlainObject = __webpack_require__("V0Zo"), + isTypedArray = __webpack_require__("ln5w"), + safeGet = __webpack_require__("JeUT"), + toPlainObject = __webpack_require__("vToN"); -(0, _objectAssign2["default"])(DomEventObject.prototype, EventBaseObjectProto, { - constructor: DomEventObject, +/** + * A specialized version of `baseMerge` for arrays and objects which performs + * deep merges and tracks traversed objects enabling objects with circular + * references to be merged. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @param {string} key The key of the value to merge. + * @param {number} srcIndex The index of `source`. + * @param {Function} mergeFunc The function to merge values. + * @param {Function} [customizer] The function to customize assigned values. + * @param {Object} [stack] Tracks traversed source values and their merged + * counterparts. + */ +function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) { + var objValue = safeGet(object, key), + srcValue = safeGet(source, key), + stacked = stack.get(srcValue); - preventDefault: function preventDefault() { - var e = this.nativeEvent; + if (stacked) { + assignMergeValue(object, key, stacked); + return; + } + var newValue = customizer + ? customizer(objValue, srcValue, (key + ''), object, source, stack) + : undefined; - // if preventDefault exists run it on the original event - if (e.preventDefault) { - e.preventDefault(); - } else { - // otherwise set the returnValue property of the original event to FALSE (IE) - e.returnValue = FALSE; - } + var isCommon = newValue === undefined; - EventBaseObjectProto.preventDefault.call(this); - }, - stopPropagation: function stopPropagation() { - var e = this.nativeEvent; + if (isCommon) { + var isArr = isArray(srcValue), + isBuff = !isArr && isBuffer(srcValue), + isTyped = !isArr && !isBuff && isTypedArray(srcValue); - // if stopPropagation exists run it on the original event - if (e.stopPropagation) { - e.stopPropagation(); - } else { - // otherwise set the cancelBubble property of the original event to TRUE (IE) - e.cancelBubble = TRUE; + newValue = srcValue; + if (isArr || isBuff || isTyped) { + if (isArray(objValue)) { + newValue = objValue; + } + else if (isArrayLikeObject(objValue)) { + newValue = copyArray(objValue); + } + else if (isBuff) { + isCommon = false; + newValue = cloneBuffer(srcValue, true); + } + else if (isTyped) { + isCommon = false; + newValue = cloneTypedArray(srcValue, true); + } + else { + newValue = []; + } + } + else if (isPlainObject(srcValue) || isArguments(srcValue)) { + newValue = objValue; + if (isArguments(objValue)) { + newValue = toPlainObject(objValue); + } + else if (!isObject(objValue) || (srcIndex && isFunction(objValue))) { + newValue = initCloneObject(srcValue); + } + } + else { + isCommon = false; } - - EventBaseObjectProto.stopPropagation.call(this); } -}); + if (isCommon) { + // Recursively merge objects and arrays (susceptible to call stack limits). + stack.set(srcValue, newValue); + mergeFunc(newValue, srcValue, srcIndex, customizer, stack); + stack['delete'](srcValue); + } + assignMergeValue(object, key, newValue); +} + +module.exports = baseMergeDeep; -exports["default"] = DomEventObject; -module.exports = exports['default']; /***/ }), -/***/ "08Lj": +/***/ "16Yq": /***/ (function(module, exports, __webpack_require__) { -module.exports = __webpack_require__("dXs8"); +var Symbol = __webpack_require__("631M"), + getRawTag = __webpack_require__("yT6I"), + objectToString = __webpack_require__("lPck"); -/***/ }), +/** `Object#toString` result references. */ +var nullTag = '[object Null]', + undefinedTag = '[object Undefined]'; -/***/ "0WCH": -/***/ (function(module, exports) { +/** Built-in value references. */ +var symToStringTag = Symbol ? Symbol.toStringTag : undefined; -module.exports = function (bitmap, value) { - return { - enumerable: !(bitmap & 1), - configurable: !(bitmap & 2), - writable: !(bitmap & 4), - value: value - }; -}; +/** + * The base implementation of `getTag` without fallbacks for buggy environments. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ +function baseGetTag(value) { + if (value == null) { + return value === undefined ? undefinedTag : nullTag; + } + return (symToStringTag && symToStringTag in Object(value)) + ? getRawTag(value) + : objectToString(value); +} + +module.exports = baseGetTag; /***/ }), -/***/ "0pJf": +/***/ "1DXa": /***/ (function(module, exports, __webpack_require__) { -var root = __webpack_require__("MIhM"); +var overArg = __webpack_require__("c8fH"); -/** - * Gets the timestamp of the number of milliseconds that have elapsed since - * the Unix epoch (1 January 1970 00:00:00 UTC). - * - * @static - * @memberOf _ - * @since 2.4.0 - * @category Date - * @returns {number} Returns the timestamp. - * @example - * - * _.defer(function(stamp) { - * console.log(_.now() - stamp); - * }, _.now()); - * // => Logs the number of milliseconds it took for the deferred invocation. - */ -var now = function() { - return root.Date.now(); -}; +/** Built-in value references. */ +var getPrototype = overArg(Object.getPrototypeOf, Object); -module.exports = now; +module.exports = getPrototype; /***/ }), -/***/ "11Ut": +/***/ "1Oy4": /***/ (function(module, exports, __webpack_require__) { -var def = __webpack_require__("Gfzd").f; -var has = __webpack_require__("yS17"); -var TAG = __webpack_require__("Ug9I")('toStringTag'); +var baseGetTag = __webpack_require__("16Yq"), + isObjectLike = __webpack_require__("8rVd"); -module.exports = function (it, tag, stat) { - if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag }); -}; - - -/***/ }), - -/***/ "1QDr": -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var util = __webpack_require__("Ku7I"); - -function scrollIntoView(elem, container, config) { - config = config || {}; - // document 归一化到 window - if (container.nodeType === 9) { - container = util.getWindow(container); - } - - var allowHorizontalScroll = config.allowHorizontalScroll; - var onlyScrollIfNeeded = config.onlyScrollIfNeeded; - var alignWithTop = config.alignWithTop; - var alignWithLeft = config.alignWithLeft; - var offsetTop = config.offsetTop || 0; - var offsetLeft = config.offsetLeft || 0; - var offsetBottom = config.offsetBottom || 0; - var offsetRight = config.offsetRight || 0; - - allowHorizontalScroll = allowHorizontalScroll === undefined ? true : allowHorizontalScroll; - - var isWin = util.isWindow(container); - var elemOffset = util.offset(elem); - var eh = util.outerHeight(elem); - var ew = util.outerWidth(elem); - var containerOffset = undefined; - var ch = undefined; - var cw = undefined; - var containerScroll = undefined; - var diffTop = undefined; - var diffBottom = undefined; - var win = undefined; - var winScroll = undefined; - var ww = undefined; - var wh = undefined; - - if (isWin) { - win = container; - wh = util.height(win); - ww = util.width(win); - winScroll = { - left: util.scrollLeft(win), - top: util.scrollTop(win) - }; - // elem 相对 container 可视视窗的距离 - diffTop = { - left: elemOffset.left - winScroll.left - offsetLeft, - top: elemOffset.top - winScroll.top - offsetTop - }; - diffBottom = { - left: elemOffset.left + ew - (winScroll.left + ww) + offsetRight, - top: elemOffset.top + eh - (winScroll.top + wh) + offsetBottom - }; - containerScroll = winScroll; - } else { - containerOffset = util.offset(container); - ch = container.clientHeight; - cw = container.clientWidth; - containerScroll = { - left: container.scrollLeft, - top: container.scrollTop - }; - // elem 相对 container 可视视窗的距离 - // 注意边框, offset 是边框到根节点 - diffTop = { - left: elemOffset.left - (containerOffset.left + (parseFloat(util.css(container, 'borderLeftWidth')) || 0)) - offsetLeft, - top: elemOffset.top - (containerOffset.top + (parseFloat(util.css(container, 'borderTopWidth')) || 0)) - offsetTop - }; - diffBottom = { - left: elemOffset.left + ew - (containerOffset.left + cw + (parseFloat(util.css(container, 'borderRightWidth')) || 0)) + offsetRight, - top: elemOffset.top + eh - (containerOffset.top + ch + (parseFloat(util.css(container, 'borderBottomWidth')) || 0)) + offsetBottom - }; - } - - if (diffTop.top < 0 || diffBottom.top > 0) { - // 强制向上 - if (alignWithTop === true) { - util.scrollTop(container, containerScroll.top + diffTop.top); - } else if (alignWithTop === false) { - util.scrollTop(container, containerScroll.top + diffBottom.top); - } else { - // 自动调整 - if (diffTop.top < 0) { - util.scrollTop(container, containerScroll.top + diffTop.top); - } else { - util.scrollTop(container, containerScroll.top + diffBottom.top); - } - } - } else { - if (!onlyScrollIfNeeded) { - alignWithTop = alignWithTop === undefined ? true : !!alignWithTop; - if (alignWithTop) { - util.scrollTop(container, containerScroll.top + diffTop.top); - } else { - util.scrollTop(container, containerScroll.top + diffBottom.top); - } - } - } - - if (allowHorizontalScroll) { - if (diffTop.left < 0 || diffBottom.left > 0) { - // 强制向上 - if (alignWithLeft === true) { - util.scrollLeft(container, containerScroll.left + diffTop.left); - } else if (alignWithLeft === false) { - util.scrollLeft(container, containerScroll.left + diffBottom.left); - } else { - // 自动调整 - if (diffTop.left < 0) { - util.scrollLeft(container, containerScroll.left + diffTop.left); - } else { - util.scrollLeft(container, containerScroll.left + diffBottom.left); - } - } - } else { - if (!onlyScrollIfNeeded) { - alignWithLeft = alignWithLeft === undefined ? true : !!alignWithLeft; - if (alignWithLeft) { - util.scrollLeft(container, containerScroll.left + diffTop.left); - } else { - util.scrollLeft(container, containerScroll.left + diffBottom.left); - } - } - } - } -} - -module.exports = scrollIntoView; - -/***/ }), - -/***/ "1RxS": -/***/ (function(module, exports, __webpack_require__) { - -var nativeCreate = __webpack_require__("FTXF"); +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]'; /** - * Removes all key-value entries from the hash. + * The base implementation of `_.isArguments`. * * @private - * @name clear - * @memberOf Hash + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, */ -function hashClear() { - this.__data__ = nativeCreate ? nativeCreate(null) : {}; - this.size = 0; +function baseIsArguments(value) { + return isObjectLike(value) && baseGetTag(value) == argsTag; } -module.exports = hashClear; - - -/***/ }), - -/***/ "1kq3": -/***/ (function(module, exports) { - -module.exports = true; - - -/***/ }), - -/***/ "1n8/": -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -if (true) { - module.exports = __webpack_require__("awqi"); -} else { - module.exports = require('./cjs/react.development.js'); -} +module.exports = baseIsArguments; /***/ }), -/***/ "1qpN": +/***/ "1XJI": /***/ (function(module, exports, __webpack_require__) { -var coreJsData = __webpack_require__("q3B8"); - -/** Used to detect methods masquerading as native. */ -var maskSrcKey = (function() { - var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); - return uid ? ('Symbol(src)_1.' + uid) : ''; -}()); +var defineProperty = __webpack_require__("64P+"); /** - * Checks if `func` has its source masked. + * The base implementation of `assignValue` and `assignMergeValue` without + * value checks. * * @private - * @param {Function} func The function to check. - * @returns {boolean} Returns `true` if `func` is masked, else `false`. + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. */ -function isMasked(func) { - return !!maskSrcKey && (maskSrcKey in func); +function baseAssignValue(object, key, value) { + if (key == '__proto__' && defineProperty) { + defineProperty(object, key, { + 'configurable': true, + 'enumerable': true, + 'value': value, + 'writable': true + }); + } else { + object[key] = value; + } } -module.exports = isMasked; +module.exports = baseAssignValue; /***/ }), -/***/ "2Axb": +/***/ "1h5v": /***/ (function(module, exports, __webpack_require__) { -var memoize = __webpack_require__("EiMJ"); - -/** Used as the maximum memoize cache size. */ -var MAX_MEMOIZE_SIZE = 500; - -/** - * A specialized version of `_.memoize` which clears the memoized function's - * cache when it exceeds `MAX_MEMOIZE_SIZE`. - * - * @private - * @param {Function} func The function to have its output memoized. - * @returns {Function} Returns the new memoized function. - */ -function memoizeCapped(func) { - var result = memoize(func, function(key) { - if (cache.size === MAX_MEMOIZE_SIZE) { - cache.clear(); - } - return key; - }); - - var cache = result.cache; - return result; -} - -module.exports = memoizeCapped; - - -/***/ }), - -/***/ "2DKW": -/***/ (function(module, exports, __webpack_require__) { +// 19.1.2.14 / 15.2.3.14 Object.keys(O) +var $keys = __webpack_require__("6dMm"); +var enumBugKeys = __webpack_require__("grP1"); -/** - * Copyright 2015, Yahoo! Inc. - * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. - */ -(function (global, factory) { - true ? module.exports = factory() : - typeof define === 'function' && define.amd ? define(factory) : - (global.hoistNonReactStatics = factory()); -}(this, (function () { - 'use strict'; - - var REACT_STATICS = { - childContextTypes: true, - contextTypes: true, - defaultProps: true, - displayName: true, - getDefaultProps: true, - getDerivedStateFromProps: true, - mixins: true, - propTypes: true, - type: true - }; - - var KNOWN_STATICS = { - name: true, - length: true, - prototype: true, - caller: true, - callee: true, - arguments: true, - arity: true - }; - - var defineProperty = Object.defineProperty; - var getOwnPropertyNames = Object.getOwnPropertyNames; - var getOwnPropertySymbols = Object.getOwnPropertySymbols; - var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; - var getPrototypeOf = Object.getPrototypeOf; - var objectPrototype = getPrototypeOf && getPrototypeOf(Object); - - return function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) { - if (typeof sourceComponent !== 'string') { // don't hoist over string (html) components - - if (objectPrototype) { - var inheritedComponent = getPrototypeOf(sourceComponent); - if (inheritedComponent && inheritedComponent !== objectPrototype) { - hoistNonReactStatics(targetComponent, inheritedComponent, blacklist); - } - } - - var keys = getOwnPropertyNames(sourceComponent); - - if (getOwnPropertySymbols) { - keys = keys.concat(getOwnPropertySymbols(sourceComponent)); - } - - for (var i = 0; i < keys.length; ++i) { - var key = keys[i]; - if (!REACT_STATICS[key] && !KNOWN_STATICS[key] && (!blacklist || !blacklist[key])) { - var descriptor = getOwnPropertyDescriptor(sourceComponent, key); - try { // Avoid failures from read-only properties - defineProperty(targetComponent, key, descriptor); - } catch (e) {} - } - } - - return targetComponent; - } - - return targetComponent; - }; -}))); +module.exports = Object.keys || function keys(O) { + return $keys(O, enumBugKeys); +}; /***/ }), -/***/ "2L2L": +/***/ "1hzZ": /***/ (function(module, exports, __webpack_require__) { -var baseGetTag = __webpack_require__("e5TX"), - isLength = __webpack_require__("GmNU"), - isObjectLike = __webpack_require__("OuyB"); - -/** `Object#toString` result references. */ -var argsTag = '[object Arguments]', - arrayTag = '[object Array]', - boolTag = '[object Boolean]', - dateTag = '[object Date]', - errorTag = '[object Error]', - funcTag = '[object Function]', - mapTag = '[object Map]', - numberTag = '[object Number]', - objectTag = '[object Object]', - regexpTag = '[object RegExp]', - setTag = '[object Set]', - stringTag = '[object String]', - weakMapTag = '[object WeakMap]'; - -var arrayBufferTag = '[object ArrayBuffer]', - dataViewTag = '[object DataView]', - float32Tag = '[object Float32Array]', - float64Tag = '[object Float64Array]', - int8Tag = '[object Int8Array]', - int16Tag = '[object Int16Array]', - int32Tag = '[object Int32Array]', - uint8Tag = '[object Uint8Array]', - uint8ClampedTag = '[object Uint8ClampedArray]', - uint16Tag = '[object Uint16Array]', - uint32Tag = '[object Uint32Array]'; - -/** Used to identify `toStringTag` values of typed arrays. */ -var typedArrayTags = {}; -typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = -typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = -typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = -typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = -typedArrayTags[uint32Tag] = true; -typedArrayTags[argsTag] = typedArrayTags[arrayTag] = -typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = -typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = -typedArrayTags[errorTag] = typedArrayTags[funcTag] = -typedArrayTags[mapTag] = typedArrayTags[numberTag] = -typedArrayTags[objectTag] = typedArrayTags[regexpTag] = -typedArrayTags[setTag] = typedArrayTags[stringTag] = -typedArrayTags[weakMapTag] = false; - -/** - * The base implementation of `_.isTypedArray` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. - */ -function baseIsTypedArray(value) { - return isObjectLike(value) && - isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; -} - -module.exports = baseIsTypedArray; - - -/***/ }), - -/***/ "2NNl": -/***/ (function(module, exports) { - -/** Used to detect hot functions by number of calls within a span of milliseconds. */ -var HOT_COUNT = 800, - HOT_SPAN = 16; - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeNow = Date.now; - -/** - * Creates a function that'll short out and invoke `identity` instead - * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN` - * milliseconds. - * - * @private - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new shortable function. - */ -function shortOut(func) { - var count = 0, - lastCalled = 0; - - return function() { - var stamp = nativeNow(), - remaining = HOT_SPAN - (stamp - lastCalled); +var root = __webpack_require__("jBK5"); - lastCalled = stamp; - if (remaining > 0) { - if (++count >= HOT_COUNT) { - return arguments[0]; - } - } else { - count = 0; - } - return func.apply(undefined, arguments); - }; -} +/** Used to detect overreaching core-js shims. */ +var coreJsData = root['__core-js_shared__']; -module.exports = shortOut; +module.exports = coreJsData; /***/ }), -/***/ "2Tdb": +/***/ "2OVl": /***/ (function(module, exports, __webpack_require__) { -var baseAssignValue = __webpack_require__("d05+"), - eq = __webpack_require__("LIpy"); - -/** - * This function is like `assignValue` except that it doesn't assign - * `undefined` values. - * - * @private - * @param {Object} object The object to modify. - * @param {string} key The key of the property to assign. - * @param {*} value The value to assign. - */ -function assignMergeValue(object, key, value) { - if ((value !== undefined && !eq(object[key], value)) || - (value === undefined && !(key in object))) { - baseAssignValue(object, key, value); - } -} - -module.exports = assignMergeValue; +// 7.1.13 ToObject(argument) +var defined = __webpack_require__("OcaM"); +module.exports = function (it) { + return Object(defined(it)); +}; /***/ }), @@ -1248,7 +937,7 @@ module.exports = assignMergeValue; /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_moment__ = __webpack_require__("a2/B"); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_moment__ = __webpack_require__("Xx0m"); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_moment___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_moment__); @@ -1453,1374 +1142,1458 @@ const getFakeChartData = { /***/ }), -/***/ "2ibm": -/***/ (function(module, exports, __webpack_require__) { - -var isArray = __webpack_require__("p/0c"), - isSymbol = __webpack_require__("bgO7"); - -/** Used to match property names within property paths. */ -var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, - reIsPlainProp = /^\w*$/; - -/** - * Checks if `value` is a property name and not a property path. - * - * @private - * @param {*} value The value to check. - * @param {Object} [object] The object to query keys on. - * @returns {boolean} Returns `true` if `value` is a property name, else `false`. - */ -function isKey(value, object) { - if (isArray(value)) { - return false; - } - var type = typeof value; - if (type == 'number' || type == 'symbol' || type == 'boolean' || - value == null || isSymbol(value)) { - return true; - } - return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || - (object != null && value in Object(object)); -} - -module.exports = isKey; +/***/ "2US+": +/***/ (function(module, exports) { +// removed by extract-text-webpack-plugin /***/ }), -/***/ "2mwf": +/***/ "2jc9": /***/ (function(module, exports, __webpack_require__) { -__webpack_require__("c2zY")('observable'); +var toInteger = __webpack_require__("W0Xw"); +var defined = __webpack_require__("OcaM"); +// true -> String#at +// false -> String#codePointAt +module.exports = function (TO_STRING) { + return function (that, pos) { + var s = String(defined(that)); + var i = toInteger(pos); + var l = s.length; + var a, b; + if (i < 0 || i >= l) return TO_STRING ? '' : undefined; + a = s.charCodeAt(i); + return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff + ? TO_STRING ? s.charAt(i) : a + : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; + }; +}; /***/ }), -/***/ "3Dq6": +/***/ "3H+u": /***/ (function(module, exports, __webpack_require__) { "use strict"; +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. -module.exports = __webpack_require__("1QDr"); - -/***/ }), -/***/ "3til": -/***/ (function(module, exports, __webpack_require__) { +var punycode = __webpack_require__("w00j"); +var util = __webpack_require__("pg3j"); -var baseIsArguments = __webpack_require__("pK4Y"), - isObjectLike = __webpack_require__("OuyB"); +exports.parse = urlParse; +exports.resolve = urlResolve; +exports.resolveObject = urlResolveObject; +exports.format = urlFormat; -/** Used for built-in method references. */ -var objectProto = Object.prototype; +exports.Url = Url; -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; +function Url() { + this.protocol = null; + this.slashes = null; + this.auth = null; + this.host = null; + this.port = null; + this.hostname = null; + this.hash = null; + this.search = null; + this.query = null; + this.pathname = null; + this.path = null; + this.href = null; +} -/** Built-in value references. */ -var propertyIsEnumerable = objectProto.propertyIsEnumerable; +// Reference: RFC 3986, RFC 1808, RFC 2396 -/** - * Checks if `value` is likely an `arguments` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an `arguments` object, - * else `false`. - * @example - * - * _.isArguments(function() { return arguments; }()); - * // => true - * - * _.isArguments([1, 2, 3]); - * // => false - */ -var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { - return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && - !propertyIsEnumerable.call(value, 'callee'); -}; +// define these here so at least they only have to be +// compiled once on the first module load. +var protocolPattern = /^([a-z0-9.+-]+:)/i, + portPattern = /:[0-9]*$/, -module.exports = isArguments; + // Special case for a simple path URL + simplePathPattern = /^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/, + // RFC 2396: characters reserved for delimiting URLs. + // We actually just auto-escape these. + delims = ['<', '>', '"', '`', ' ', '\r', '\n', '\t'], -/***/ }), + // RFC 2396: characters not allowed for various reasons. + unwise = ['{', '}', '|', '\\', '^', '`'].concat(delims), -/***/ "3v7p": -/***/ (function(module, exports, __webpack_require__) { - -__webpack_require__("htFH"); -var $Object = __webpack_require__("zKeE").Object; -module.exports = function defineProperty(it, key, desc) { - return $Object.defineProperty(it, key, desc); -}; + // Allowed by RFCs, but cause of XSS attacks. Always escape these. + autoEscape = ['\''].concat(unwise), + // Characters that are never ever allowed in a hostname. + // Note that any invalid chars are also handled, but these + // are the ones that are *expected* to be seen, so we fast-path + // them. + nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape), + hostEndingChars = ['/', '?', '#'], + hostnameMaxLen = 255, + hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/, + hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/, + // protocols that can allow "unsafe" and "unwise" chars. + unsafeProtocol = { + 'javascript': true, + 'javascript:': true + }, + // protocols that never have a hostname. + hostlessProtocol = { + 'javascript': true, + 'javascript:': true + }, + // protocols that always contain a // bit. + slashedProtocol = { + 'http': true, + 'https': true, + 'ftp': true, + 'gopher': true, + 'file': true, + 'http:': true, + 'https:': true, + 'ftp:': true, + 'gopher:': true, + 'file:': true + }, + querystring = __webpack_require__("imPA"); +function urlParse(url, parseQueryString, slashesDenoteHost) { + if (url && util.isObject(url) && url instanceof Url) return url; -/***/ }), + var u = new Url; + u.parse(url, parseQueryString, slashesDenoteHost); + return u; +} -/***/ "3w4y": -/***/ (function(module, exports, __webpack_require__) { +Url.prototype.parse = function(url, parseQueryString, slashesDenoteHost) { + if (!util.isString(url)) { + throw new TypeError("Parameter 'url' must be a string, not " + typeof url); + } -var Symbol = __webpack_require__("wppe"), - arrayMap = __webpack_require__("BblM"), - isArray = __webpack_require__("p/0c"), - isSymbol = __webpack_require__("bgO7"); + // Copy chrome, IE, opera backslash-handling behavior. + // Back slashes before the query string get converted to forward slashes + // See: https://code.google.com/p/chromium/issues/detail?id=25916 + var queryIndex = url.indexOf('?'), + splitter = + (queryIndex !== -1 && queryIndex < url.indexOf('#')) ? '?' : '#', + uSplit = url.split(splitter), + slashRegex = /\\/g; + uSplit[0] = uSplit[0].replace(slashRegex, '/'); + url = uSplit.join(splitter); -/** Used as references for various `Number` constants. */ -var INFINITY = 1 / 0; + var rest = url; -/** Used to convert symbols to primitives and strings. */ -var symbolProto = Symbol ? Symbol.prototype : undefined, - symbolToString = symbolProto ? symbolProto.toString : undefined; + // trim before proceeding. + // This is to support parse stuff like " http://foo.com \n" + rest = rest.trim(); -/** - * The base implementation of `_.toString` which doesn't convert nullish - * values to empty strings. - * - * @private - * @param {*} value The value to process. - * @returns {string} Returns the string. - */ -function baseToString(value) { - // Exit early for strings to avoid a performance hit in some environments. - if (typeof value == 'string') { - return value; + if (!slashesDenoteHost && url.split('#').length === 1) { + // Try fast path regexp + var simplePath = simplePathPattern.exec(rest); + if (simplePath) { + this.path = rest; + this.href = rest; + this.pathname = simplePath[1]; + if (simplePath[2]) { + this.search = simplePath[2]; + if (parseQueryString) { + this.query = querystring.parse(this.search.substr(1)); + } else { + this.query = this.search.substr(1); + } + } else if (parseQueryString) { + this.search = ''; + this.query = {}; + } + return this; + } } - if (isArray(value)) { - // Recursively convert values (susceptible to call stack limits). - return arrayMap(value, baseToString) + ''; + + var proto = protocolPattern.exec(rest); + if (proto) { + proto = proto[0]; + var lowerProto = proto.toLowerCase(); + this.protocol = lowerProto; + rest = rest.substr(proto.length); } - if (isSymbol(value)) { - return symbolToString ? symbolToString.call(value) : ''; + + // figure out if it's got a host + // user@server is *always* interpreted as a hostname, and url + // resolution will treat //foo/bar as host=foo,path=bar because that's + // how the browser resolves relative URLs. + if (slashesDenoteHost || proto || rest.match(/^\/\/[^@\/]+@[^@\/]+/)) { + var slashes = rest.substr(0, 2) === '//'; + if (slashes && !(proto && hostlessProtocol[proto])) { + rest = rest.substr(2); + this.slashes = true; + } } - var result = (value + ''); - return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; -} -module.exports = baseToString; + if (!hostlessProtocol[proto] && + (slashes || (proto && !slashedProtocol[proto]))) { + // there's a hostname. + // the first instance of /, ?, ;, or # ends the host. + // + // If there is an @ in the hostname, then non-host chars *are* allowed + // to the left of the last @ sign, unless some host-ending character + // comes *before* the @-sign. + // URLs are obnoxious. + // + // ex: + // http://a@b@c/ => user:a@b host:c + // http://a@b?@c => user:a host:c path:/?@c -/***/ }), + // v0.12 TODO(isaacs): This is not quite how Chrome does things. + // Review our test case against browsers more comprehensively. -/***/ "3zRh": -/***/ (function(module, exports, __webpack_require__) { + // find the first instance of any hostEndingChars + var hostEnd = -1; + for (var i = 0; i < hostEndingChars.length; i++) { + var hec = rest.indexOf(hostEndingChars[i]); + if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) + hostEnd = hec; + } -// optional / simple context binding -var aFunction = __webpack_require__("g31e"); -module.exports = function (fn, that, length) { - aFunction(fn); - if (that === undefined) return fn; - switch (length) { - case 1: return function (a) { - return fn.call(that, a); - }; - case 2: return function (a, b) { - return fn.call(that, a, b); - }; - case 3: return function (a, b, c) { - return fn.call(that, a, b, c); - }; - } - return function (/* ...args */) { - return fn.apply(that, arguments); - }; -}; + // at this point, either we have an explicit point where the + // auth portion cannot go past, or the last @ char is the decider. + var auth, atSign; + if (hostEnd === -1) { + // atSign can be anywhere. + atSign = rest.lastIndexOf('@'); + } else { + // atSign must be in auth portion. + // http://a@b/c@d => host:b auth:a path:/c@d + atSign = rest.lastIndexOf('@', hostEnd); + } + // Now we have a portion which is definitely the auth. + // Pull that off. + if (atSign !== -1) { + auth = rest.slice(0, atSign); + rest = rest.slice(atSign + 1); + this.auth = decodeURIComponent(auth); + } -/***/ }), + // the host is the remaining to the left of the first non-host char + hostEnd = -1; + for (var i = 0; i < nonHostChars.length; i++) { + var hec = rest.indexOf(nonHostChars[i]); + if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) + hostEnd = hec; + } + // if we still have not hit it, then the entire thing is a host. + if (hostEnd === -1) + hostEnd = rest.length; -/***/ "4/4o": -/***/ (function(module, exports) { + this.host = rest.slice(0, hostEnd); + rest = rest.slice(hostEnd); -/** - * Creates a unary function that invokes `func` with its argument transformed. - * - * @private - * @param {Function} func The function to wrap. - * @param {Function} transform The argument transform. - * @returns {Function} Returns the new function. - */ -function overArg(func, transform) { - return function(arg) { - return func(transform(arg)); - }; -} + // pull out port. + this.parseHost(); -module.exports = overArg; + // we've indicated that there is a hostname, + // so even if it's empty, it has to be present. + this.hostname = this.hostname || ''; + // if hostname begins with [ and ends with ] + // assume that it's an IPv6 address. + var ipv6Hostname = this.hostname[0] === '[' && + this.hostname[this.hostname.length - 1] === ']'; -/***/ }), + // validate a little. + if (!ipv6Hostname) { + var hostparts = this.hostname.split(/\./); + for (var i = 0, l = hostparts.length; i < l; i++) { + var part = hostparts[i]; + if (!part) continue; + if (!part.match(hostnamePartPattern)) { + var newpart = ''; + for (var j = 0, k = part.length; j < k; j++) { + if (part.charCodeAt(j) > 127) { + // we replace non-ASCII char with a temporary placeholder + // we need this to make sure size of hostname is not + // broken by replacing non-ASCII by nothing + newpart += 'x'; + } else { + newpart += part[j]; + } + } + // we test again with ASCII char only + if (!newpart.match(hostnamePartPattern)) { + var validParts = hostparts.slice(0, i); + var notHost = hostparts.slice(i + 1); + var bit = part.match(hostnamePartStart); + if (bit) { + validParts.push(bit[1]); + notHost.unshift(bit[2]); + } + if (notHost.length) { + rest = '/' + notHost.join('.') + rest; + } + this.hostname = validParts.join('.'); + break; + } + } + } + } -/***/ "49I8": -/***/ (function(module, exports, __webpack_require__) { + if (this.hostname.length > hostnameMaxLen) { + this.hostname = ''; + } else { + // hostnames are always lower case. + this.hostname = this.hostname.toLowerCase(); + } -var ListCache = __webpack_require__("Xk23"), - stackClear = __webpack_require__("4y4D"), - stackDelete = __webpack_require__("TpjK"), - stackGet = __webpack_require__("skbs"), - stackHas = __webpack_require__("9ocJ"), - stackSet = __webpack_require__("fwYF"); + if (!ipv6Hostname) { + // IDNA Support: Returns a punycoded representation of "domain". + // It only converts parts of the domain name that + // have non-ASCII characters, i.e. it doesn't matter if + // you call it with a domain that already is ASCII-only. + this.hostname = punycode.toASCII(this.hostname); + } -/** - * Creates a stack cache object to store key-value pairs. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */ -function Stack(entries) { - var data = this.__data__ = new ListCache(entries); - this.size = data.size; -} + var p = this.port ? ':' + this.port : ''; + var h = this.hostname || ''; + this.host = h + p; + this.href += this.host; -// Add methods to `Stack`. -Stack.prototype.clear = stackClear; -Stack.prototype['delete'] = stackDelete; -Stack.prototype.get = stackGet; -Stack.prototype.has = stackHas; -Stack.prototype.set = stackSet; + // strip [ and ] from the hostname + // the host field still retains them, though + if (ipv6Hostname) { + this.hostname = this.hostname.substr(1, this.hostname.length - 2); + if (rest[0] !== '/') { + rest = '/' + rest; + } + } + } -module.exports = Stack; + // now rest is set to the post-host stuff. + // chop off any delim chars. + if (!unsafeProtocol[lowerProto]) { + + // First, make 100% sure that any "autoEscape" chars get + // escaped, even if encodeURIComponent doesn't think they + // need to be. + for (var i = 0, l = autoEscape.length; i < l; i++) { + var ae = autoEscape[i]; + if (rest.indexOf(ae) === -1) + continue; + var esc = encodeURIComponent(ae); + if (esc === ae) { + esc = escape(ae); + } + rest = rest.split(ae).join(esc); + } + } -/***/ }), + // chop off from the tail first. + var hash = rest.indexOf('#'); + if (hash !== -1) { + // got a fragment string. + this.hash = rest.substr(hash); + rest = rest.slice(0, hash); + } + var qm = rest.indexOf('?'); + if (qm !== -1) { + this.search = rest.substr(qm); + this.query = rest.substr(qm + 1); + if (parseQueryString) { + this.query = querystring.parse(this.query); + } + rest = rest.slice(0, qm); + } else if (parseQueryString) { + // no query string, but parseQueryString still requested + this.search = ''; + this.query = {}; + } + if (rest) this.pathname = rest; + if (slashedProtocol[lowerProto] && + this.hostname && !this.pathname) { + this.pathname = '/'; + } -/***/ "49SQ": -/***/ (function(module, exports, __webpack_require__) { + //to support http.request + if (this.pathname || this.search) { + var p = this.pathname || ''; + var s = this.search || ''; + this.path = p + s; + } -__webpack_require__("hHLa"); -var $Object = __webpack_require__("zKeE").Object; -module.exports = function getOwnPropertyDescriptor(it, key) { - return $Object.getOwnPropertyDescriptor(it, key); + // finally, reconstruct the href based on what has been validated. + this.href = this.format(); + return this; }; +// format a parsed object into a url string +function urlFormat(obj) { + // ensure it's an object, and not a string url. + // If it's an obj, this is a no-op. + // this way, you can call url_format() on strings + // to clean up potentially wonky urls. + if (util.isString(obj)) obj = urlParse(obj); + if (!(obj instanceof Url)) return Url.prototype.format.call(obj); + return obj.format(); +} -/***/ }), +Url.prototype.format = function() { + var auth = this.auth || ''; + if (auth) { + auth = encodeURIComponent(auth); + auth = auth.replace(/%3A/i, ':'); + auth += '@'; + } -/***/ "4hqW": -/***/ (function(module, exports, __webpack_require__) { + var protocol = this.protocol || '', + pathname = this.pathname || '', + hash = this.hash || '', + host = false, + query = ''; -__webpack_require__("Aa2f"); -module.exports = __webpack_require__("zKeE").Object.getOwnPropertySymbols; + if (this.host) { + host = auth + this.host; + } else if (this.hostname) { + host = auth + (this.hostname.indexOf(':') === -1 ? + this.hostname : + '[' + this.hostname + ']'); + if (this.port) { + host += ':' + this.port; + } + } + if (this.query && + util.isObject(this.query) && + Object.keys(this.query).length) { + query = querystring.stringify(this.query); + } -/***/ }), + var search = this.search || (query && ('?' + query)) || ''; -/***/ "4y4D": -/***/ (function(module, exports, __webpack_require__) { + if (protocol && protocol.substr(-1) !== ':') protocol += ':'; -var ListCache = __webpack_require__("Xk23"); + // only the slashedProtocols get the //. Not mailto:, xmpp:, etc. + // unless they had them to begin with. + if (this.slashes || + (!protocol || slashedProtocol[protocol]) && host !== false) { + host = '//' + (host || ''); + if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname; + } else if (!host) { + host = ''; + } -/** - * Removes all key-value entries from the stack. - * - * @private - * @name clear - * @memberOf Stack - */ -function stackClear() { - this.__data__ = new ListCache; - this.size = 0; -} + if (hash && hash.charAt(0) !== '#') hash = '#' + hash; + if (search && search.charAt(0) !== '?') search = '?' + search; -module.exports = stackClear; + pathname = pathname.replace(/[?#]/g, function(match) { + return encodeURIComponent(match); + }); + search = search.replace('#', '%23'); + return protocol + host + pathname + search + hash; +}; -/***/ }), +function urlResolve(source, relative) { + return urlParse(source, false, true).resolve(relative); +} -/***/ "5D9O": -/***/ (function(module, exports, __webpack_require__) { +Url.prototype.resolve = function(relative) { + return this.resolveObject(urlParse(relative, false, true)).format(); +}; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ +function urlResolveObject(source, relative) { + if (!source) return relative; + return urlParse(source, false, true).resolveObject(relative); +} -if (false) { - var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' && - Symbol.for && - Symbol.for('react.element')) || - 0xeac7; +Url.prototype.resolveObject = function(relative) { + if (util.isString(relative)) { + var rel = new Url(); + rel.parse(relative, false, true); + relative = rel; + } - var isValidElement = function(object) { - return typeof object === 'object' && - object !== null && - object.$$typeof === REACT_ELEMENT_TYPE; - }; + var result = new Url(); + var tkeys = Object.keys(this); + for (var tk = 0; tk < tkeys.length; tk++) { + var tkey = tkeys[tk]; + result[tkey] = this[tkey]; + } - // By explicitly using `prop-types` you are opting into new development behavior. - // http://fb.me/prop-types-in-prod - var throwOnDirectAccess = true; - module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess); -} else { - // By explicitly using `prop-types` you are opting into new production behavior. - // http://fb.me/prop-types-in-prod - module.exports = __webpack_require__("wVGV")(); -} + // hash is always overridden, no matter what. + // even href="" will remove it. + result.hash = relative.hash; + // if the relative url is empty, then there's nothing left to do here. + if (relative.href === '') { + result.href = result.format(); + return result; + } -/***/ }), + // hrefs like //foo/bar always cut to the protocol. + if (relative.slashes && !relative.protocol) { + // take everything except the protocol from relative + var rkeys = Object.keys(relative); + for (var rk = 0; rk < rkeys.length; rk++) { + var rkey = rkeys[rk]; + if (rkey !== 'protocol') + result[rkey] = relative[rkey]; + } -/***/ "5U5Y": -/***/ (function(module, exports, __webpack_require__) { + //urlParse appends trailing / to urls like http://www.example.com + if (slashedProtocol[result.protocol] && + result.hostname && !result.pathname) { + result.path = result.pathname = '/'; + } -var baseGet = __webpack_require__("yeiR"); + result.href = result.format(); + return result; + } -/** - * Gets the value at `path` of `object`. If the resolved value is - * `undefined`, the `defaultValue` is returned in its place. - * - * @static - * @memberOf _ - * @since 3.7.0 - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path of the property to get. - * @param {*} [defaultValue] The value returned for `undefined` resolved values. - * @returns {*} Returns the resolved value. - * @example - * - * var object = { 'a': [{ 'b': { 'c': 3 } }] }; - * - * _.get(object, 'a[0].b.c'); - * // => 3 - * - * _.get(object, ['a', '0', 'b', 'c']); - * // => 3 - * - * _.get(object, 'a.b.c', 'default'); - * // => 'default' - */ -function get(object, path, defaultValue) { - var result = object == null ? undefined : baseGet(object, path); - return result === undefined ? defaultValue : result; -} + if (relative.protocol && relative.protocol !== result.protocol) { + // if it's a known url protocol, then changing + // the protocol does weird things + // first, if it's not file:, then we MUST have a host, + // and if there was a path + // to begin with, then we MUST have a path. + // if it is file:, then the host is dropped, + // because that's known to be hostless. + // anything else is assumed to be absolute. + if (!slashedProtocol[relative.protocol]) { + var keys = Object.keys(relative); + for (var v = 0; v < keys.length; v++) { + var k = keys[v]; + result[k] = relative[k]; + } + result.href = result.format(); + return result; + } -module.exports = get; + result.protocol = relative.protocol; + if (!relative.host && !hostlessProtocol[relative.protocol]) { + var relPath = (relative.pathname || '').split('/'); + while (relPath.length && !(relative.host = relPath.shift())); + if (!relative.host) relative.host = ''; + if (!relative.hostname) relative.hostname = ''; + if (relPath[0] !== '') relPath.unshift(''); + if (relPath.length < 2) relPath.unshift(''); + result.pathname = relPath.join('/'); + } else { + result.pathname = relative.pathname; + } + result.search = relative.search; + result.query = relative.query; + result.host = relative.host || ''; + result.auth = relative.auth; + result.hostname = relative.hostname || relative.host; + result.port = relative.port; + // to support http.request + if (result.pathname || result.search) { + var p = result.pathname || ''; + var s = result.search || ''; + result.path = p + s; + } + result.slashes = result.slashes || relative.slashes; + result.href = result.format(); + return result; + } + var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/'), + isRelAbs = ( + relative.host || + relative.pathname && relative.pathname.charAt(0) === '/' + ), + mustEndAbs = (isRelAbs || isSourceAbs || + (result.host && relative.pathname)), + removeAllDots = mustEndAbs, + srcPath = result.pathname && result.pathname.split('/') || [], + relPath = relative.pathname && relative.pathname.split('/') || [], + psychotic = result.protocol && !slashedProtocol[result.protocol]; -/***/ }), + // if the url is a non-slashed url, then relative + // links like ../.. should be able + // to crawl up to the hostname, as well. This is strange. + // result.protocol has already been set by now. + // Later on, put the first path part into the host field. + if (psychotic) { + result.hostname = ''; + result.port = null; + if (result.host) { + if (srcPath[0] === '') srcPath[0] = result.host; + else srcPath.unshift(result.host); + } + result.host = ''; + if (relative.protocol) { + relative.hostname = null; + relative.port = null; + if (relative.host) { + if (relPath[0] === '') relPath[0] = relative.host; + else relPath.unshift(relative.host); + } + relative.host = null; + } + mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === ''); + } -/***/ "5YsI": -/***/ (function(module, exports, __webpack_require__) { + if (isRelAbs) { + // it's absolute. + result.host = (relative.host || relative.host === '') ? + relative.host : result.host; + result.hostname = (relative.hostname || relative.hostname === '') ? + relative.hostname : result.hostname; + result.search = relative.search; + result.query = relative.query; + srcPath = relPath; + // fall through to the dot-handling below. + } else if (relPath.length) { + // it's relative + // throw away the existing file, and take the new path instead. + if (!srcPath) srcPath = []; + srcPath.pop(); + srcPath = srcPath.concat(relPath); + result.search = relative.search; + result.query = relative.query; + } else if (!util.isNullOrUndefined(relative.search)) { + // just pull out the search. + // like href='?foo'. + // Put this after the other two cases because it simplifies the booleans + if (psychotic) { + result.hostname = result.host = srcPath.shift(); + //occationaly the auth can get stuck only in host + //this especially happens in cases like + //url.resolveObject('mailto:local1@domain1', 'local2@domain2') + var authInHost = result.host && result.host.indexOf('@') > 0 ? + result.host.split('@') : false; + if (authInHost) { + result.auth = authInHost.shift(); + result.host = result.hostname = authInHost.shift(); + } + } + result.search = relative.search; + result.query = relative.query; + //to support http.request + if (!util.isNull(result.pathname) || !util.isNull(result.search)) { + result.path = (result.pathname ? result.pathname : '') + + (result.search ? result.search : ''); + } + result.href = result.format(); + return result; + } -"use strict"; + if (!srcPath.length) { + // no path at all. easy. + // we've already handled the other stuff above. + result.pathname = null; + //to support http.request + if (result.search) { + result.path = '/' + result.search; + } else { + result.path = null; + } + result.href = result.format(); + return result; + } + // if a url ENDs in . or .., then it must get a trailing slash. + // however, if it ends in anything else non-slashy, + // then it must NOT get a trailing slash. + var last = srcPath.slice(-1)[0]; + var hasTrailingSlash = ( + (result.host || relative.host || srcPath.length > 1) && + (last === '.' || last === '..') || last === ''); -module.exports = { - isString: function(arg) { - return typeof(arg) === 'string'; - }, - isObject: function(arg) { - return typeof(arg) === 'object' && arg !== null; - }, - isNull: function(arg) { - return arg === null; - }, - isNullOrUndefined: function(arg) { - return arg == null; + // strip single dots, resolve double dots to parent dir + // if the path tries to go above the root, `up` ends up > 0 + var up = 0; + for (var i = srcPath.length; i >= 0; i--) { + last = srcPath[i]; + if (last === '.') { + srcPath.splice(i, 1); + } else if (last === '..') { + srcPath.splice(i, 1); + up++; + } else if (up) { + srcPath.splice(i, 1); + up--; + } + } + + // if the path is allowed to go above the root, restore leading ..s + if (!mustEndAbs && !removeAllDots) { + for (; up--; up) { + srcPath.unshift('..'); + } + } + + if (mustEndAbs && srcPath[0] !== '' && + (!srcPath[0] || srcPath[0].charAt(0) !== '/')) { + srcPath.unshift(''); + } + + if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) { + srcPath.push(''); + } + + var isAbsolute = srcPath[0] === '' || + (srcPath[0] && srcPath[0].charAt(0) === '/'); + + // put the host back + if (psychotic) { + result.hostname = result.host = isAbsolute ? '' : + srcPath.length ? srcPath.shift() : ''; + //occationaly the auth can get stuck only in host + //this especially happens in cases like + //url.resolveObject('mailto:local1@domain1', 'local2@domain2') + var authInHost = result.host && result.host.indexOf('@') > 0 ? + result.host.split('@') : false; + if (authInHost) { + result.auth = authInHost.shift(); + result.host = result.hostname = authInHost.shift(); + } + } + + mustEndAbs = mustEndAbs || (result.host && srcPath.length); + + if (mustEndAbs && !isAbsolute) { + srcPath.unshift(''); + } + + if (!srcPath.length) { + result.pathname = null; + result.path = null; + } else { + result.pathname = srcPath.join('/'); + } + + //to support request.http + if (!util.isNull(result.pathname) || !util.isNull(result.search)) { + result.path = (result.pathname ? result.pathname : '') + + (result.search ? result.search : ''); } + result.auth = relative.auth || result.auth; + result.slashes = result.slashes || relative.slashes; + result.href = result.format(); + return result; +}; + +Url.prototype.parseHost = function() { + var host = this.host; + var port = portPattern.exec(host); + if (port) { + port = port[0]; + if (port !== ':') { + this.port = port.substr(1); + } + host = host.substr(0, host.length - port.length); + } + if (host) this.hostname = host; }; /***/ }), -/***/ "6MLN": +/***/ "3KzH": /***/ (function(module, exports, __webpack_require__) { -// Thank's IE8 for his funny defineProperty -module.exports = !__webpack_require__("wLcK")(function () { - return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7; -}); - +module.exports = __webpack_require__("13fR"); /***/ }), -/***/ "6kQO": +/***/ "3lVw": /***/ (function(module, exports, __webpack_require__) { -// the whatwg-fetch polyfill installs the fetch() function -// on the global object (window or self) -// -// Return that as the export for use in Webpack, Browserify etc. -__webpack_require__("MCp7"); -module.exports = self.fetch.bind(self); +// optional / simple context binding +var aFunction = __webpack_require__("6wt/"); +module.exports = function (fn, that, length) { + aFunction(fn); + if (that === undefined) return fn; + switch (length) { + case 1: return function (a) { + return fn.call(that, a); + }; + case 2: return function (a, b) { + return fn.call(that, a, b); + }; + case 3: return function (a, b, c) { + return fn.call(that, a, b, c); + }; + } + return function (/* ...args */) { + return fn.apply(that, arguments); + }; +}; /***/ }), -/***/ "6t7t": +/***/ "3wdz": /***/ (function(module, exports, __webpack_require__) { -module.exports = { "default": __webpack_require__("nFDa"), __esModule: true }; +"use strict"; + + +exports.__esModule = true; + +exports.default = function (instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +}; /***/ }), -/***/ "7AqT": -/***/ (function(module, exports, __webpack_require__) { +/***/ "40OA": +/***/ (function(module, exports) { -var classof = __webpack_require__("ZHvQ"); -var ITERATOR = __webpack_require__("Ug9I")('iterator'); -var Iterators = __webpack_require__("dhak"); -module.exports = __webpack_require__("zKeE").getIteratorMethod = function (it) { - if (it != undefined) return it[ITERATOR] - || it['@@iterator'] - || Iterators[classof(it)]; +module.exports = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; }; /***/ }), -/***/ "7DxK": +/***/ "49uv": /***/ (function(module, exports, __webpack_require__) { -var _Object$getOwnPropertyDescriptor = __webpack_require__("zo3+"); +"use strict"; +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ -var _Object$getOwnPropertySymbols = __webpack_require__("ElCz"); -var _Object$keys = __webpack_require__("mA+Z"); -var defineProperty = __webpack_require__("eGZu"); +var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; -function _objectSpread(target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i] != null ? arguments[i] : {}; +module.exports = ReactPropTypesSecret; - var ownKeys = _Object$keys(source); - if (typeof _Object$getOwnPropertySymbols === 'function') { - ownKeys = ownKeys.concat(_Object$getOwnPropertySymbols(source).filter(function (sym) { - return _Object$getOwnPropertyDescriptor(source, sym).enumerable; - })); - } +/***/ }), - ownKeys.forEach(function (key) { - defineProperty(target, key, source[key]); - }); - } +/***/ "5FX/": +/***/ (function(module, exports, __webpack_require__) { - return target; -} +// 7.1.15 ToLength +var toInteger = __webpack_require__("W0Xw"); +var min = Math.min; +module.exports = function (it) { + return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 +}; -module.exports = _objectSpread; /***/ }), -/***/ "85ue": -/***/ (function(module, exports, __webpack_require__) { +/***/ "5X1t": +/***/ (function(module, exports) { + +/** Used for built-in method references. */ +var funcProto = Function.prototype; -var getMapData = __webpack_require__("ZC1a"); +/** Used to resolve the decompiled source of functions. */ +var funcToString = funcProto.toString; /** - * Checks if a map value for `key` exists. + * Converts `func` to its source code. * * @private - * @name has - * @memberOf MapCache - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + * @param {Function} func The function to convert. + * @returns {string} Returns the source code. */ -function mapCacheHas(key) { - return getMapData(this, key).has(key); +function toSource(func) { + if (func != null) { + try { + return funcToString.call(func); + } catch (e) {} + try { + return (func + ''); + } catch (e) {} + } + return ''; } -module.exports = mapCacheHas; +module.exports = toSource; /***/ }), -/***/ "92s5": +/***/ "631M": /***/ (function(module, exports, __webpack_require__) { -var copyObject = __webpack_require__("dtkN"), - keysIn = __webpack_require__("+UAC"); +var root = __webpack_require__("jBK5"); -/** - * Converts `value` to a plain object flattening inherited enumerable string - * keyed properties of `value` to own properties of the plain object. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {Object} Returns the converted plain object. - * @example - * - * function Foo() { - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.assign({ 'a': 1 }, new Foo); - * // => { 'a': 1, 'b': 2 } - * - * _.assign({ 'a': 1 }, _.toPlainObject(new Foo)); - * // => { 'a': 1, 'b': 2, 'c': 3 } - */ -function toPlainObject(value) { - return copyObject(value, keysIn(value)); -} +/** Built-in value references. */ +var Symbol = root.Symbol; -module.exports = toPlainObject; +module.exports = Symbol; /***/ }), -/***/ "9FAS": +/***/ "64P+": /***/ (function(module, exports, __webpack_require__) { -var isObject = __webpack_require__("u9vI"), - isPrototype = __webpack_require__("nhsl"), - nativeKeysIn = __webpack_require__("uy4o"); +var getNative = __webpack_require__("7aT/"); -/** Used for built-in method references. */ -var objectProto = Object.prototype; +var defineProperty = (function() { + try { + var func = getNative(Object, 'defineProperty'); + func({}, '', {}); + return func; + } catch (e) {} +}()); -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; +module.exports = defineProperty; + + +/***/ }), + +/***/ "6Bp7": +/***/ (function(module, exports) { /** - * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense. + * The base implementation of `_.unary` without support for storing metadata. * * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. + * @param {Function} func The function to cap arguments for. + * @returns {Function} Returns the new capped function. */ -function baseKeysIn(object) { - if (!isObject(object)) { - return nativeKeysIn(object); - } - var isProto = isPrototype(object), - result = []; - - for (var key in object) { - if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) { - result.push(key); - } - } - return result; +function baseUnary(func) { + return function(value) { + return func(value); + }; } -module.exports = baseKeysIn; +module.exports = baseUnary; /***/ }), -/***/ "9Qea": -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ "6Ea3": +/***/ (function(module, exports) { -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) {/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_mockjs__ = __webpack_require__("eMAQ"); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_mockjs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_mockjs__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mock_rule__ = __webpack_require__("IMUl"); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__mock_api__ = __webpack_require__("mCGg"); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__mock_chart__ = __webpack_require__("2U7Q"); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__mock_profile__ = __webpack_require__("YShb"); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__mock_notices__ = __webpack_require__("ZJYB"); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_roadhog_api_doc__ = __webpack_require__("dKQ/"); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_roadhog_api_doc___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_roadhog_api_doc__); +var hasOwnProperty = {}.hasOwnProperty; +module.exports = function (it, key) { + return hasOwnProperty.call(it, key); +}; +/***/ }), +/***/ "6dMm": +/***/ (function(module, exports, __webpack_require__) { +var has = __webpack_require__("6Ea3"); +var toIObject = __webpack_require__("Lc9H"); +var arrayIndexOf = __webpack_require__("D0qj")(false); +var IE_PROTO = __webpack_require__("UZSV")('IE_PROTO'); +module.exports = function (object, names) { + var O = toIObject(object); + var i = 0; + var result = []; + var key; + for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key); + // Don't enum bug & hidden keys + while (names.length > i) if (has(O, key = names[i++])) { + ~arrayIndexOf(result, key) || result.push(key); + } + return result; +}; +/***/ }), +/***/ "6h0p": +/***/ (function(module, exports, __webpack_require__) { -// 是否禁用代理 -const noProxy = process.env.NO_PROXY === 'true'; +__webpack_require__("JiM8"); +var $Object = __webpack_require__("C7BO").Object; +module.exports = function getOwnPropertyDescriptor(it, key) { + return $Object.getOwnPropertyDescriptor(it, key); +}; -// 代码中会兼容本地 service mock 以及部署站点的静态数据 -const proxy = { - // 支持值为 Object 和 Array - 'GET /api/currentUser': { - $desc: '获取当前用户接口', - $params: { - pageSize: { - desc: '分页', - exp: 2, - }, - }, - $body: { - name: 'Serati Ma', - avatar: 'https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png', - userid: '00000001', - notifyCount: 12, - }, - }, - // GET POST 可省略 - 'GET /api/users': [ - { - key: '1', - name: 'John Brown', - age: 32, - address: 'New York No. 1 Lake Park', - }, - { - key: '2', - name: 'Jim Green', - age: 42, - address: 'London No. 1 Lake Park', - }, - { - key: '3', - name: 'Joe Black', - age: 32, - address: 'Sidney No. 1 Lake Park', - }, - ], - 'GET /api/project/notice': __WEBPACK_IMPORTED_MODULE_2__mock_api__["c" /* getNotice */], - 'GET /api/activities': __WEBPACK_IMPORTED_MODULE_2__mock_api__["a" /* getActivities */], - 'GET /api/rule': __WEBPACK_IMPORTED_MODULE_1__mock_rule__["a" /* getRule */], - 'POST /api/rule': { - $params: { - pageSize: { - desc: '分页', - exp: 2, - }, - }, - $body: __WEBPACK_IMPORTED_MODULE_1__mock_rule__["b" /* postRule */], - }, - 'POST /api/forms': (req, res) => { - res.send({ message: 'Ok' }); - }, - 'GET /api/tags': __WEBPACK_IMPORTED_MODULE_0_mockjs___default.a.mock({ - 'list|100': [{ name: '@city', 'value|1-100': 150, 'type|0-2': 1 }], - }), - 'GET /api/fake_list': __WEBPACK_IMPORTED_MODULE_2__mock_api__["b" /* getFakeList */], - 'GET /api/fake_chart_data': __WEBPACK_IMPORTED_MODULE_3__mock_chart__["a" /* getFakeChartData */], - 'GET /api/profile/basic': __WEBPACK_IMPORTED_MODULE_4__mock_profile__["b" /* getProfileBasicData */], - 'GET /api/profile/advanced': __WEBPACK_IMPORTED_MODULE_4__mock_profile__["a" /* getProfileAdvancedData */], - 'POST /api/login/account': (req, res) => { - const { password, userName, type } = req.body; - if (password === '888888' && userName === 'admin') { - res.send({ - status: 'ok', - type, - currentAuthority: 'admin', - }); - return; - } - if (password === '123456' && userName === 'user') { - res.send({ - status: 'ok', - type, - currentAuthority: 'user', - }); - return; - } - res.send({ - status: 'error', - type, - currentAuthority: 'guest', - }); - }, - 'POST /api/register': (req, res) => { - res.send({ status: 'ok', currentAuthority: 'user' }); - }, - 'GET /api/notices': __WEBPACK_IMPORTED_MODULE_5__mock_notices__["a" /* getNotices */], - 'GET /api/500': (req, res) => { - res.status(500).send({ - timestamp: 1513932555104, - status: 500, - error: 'error', - message: 'error', - path: '/base/category/list', - }); - }, - 'GET /api/404': (req, res) => { - res.status(404).send({ - timestamp: 1513932643431, - status: 404, - error: 'Not Found', - message: 'No message available', - path: '/base/category/list/2121212', - }); - }, - 'GET /api/403': (req, res) => { - res.status(403).send({ - timestamp: 1513932555104, - status: 403, - error: 'Unauthorized', - message: 'Unauthorized', - path: '/base/category/list', - }); - }, - 'GET /api/401': (req, res) => { - res.status(401).send({ - timestamp: 1513932555104, - status: 401, - error: 'Unauthorized', - message: 'Unauthorized', - path: '/base/category/list', - }); - }, -}; - -/* harmony default export */ __webpack_exports__["a"] = (noProxy ? {} : Object(__WEBPACK_IMPORTED_MODULE_6_roadhog_api_doc__["delay"])(proxy, 1000)); - -/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__("FN88"))) /***/ }), -/***/ "9kxq": +/***/ "6iQm": /***/ (function(module, exports, __webpack_require__) { -var isObject = __webpack_require__("BxvP"); -var document = __webpack_require__("i1Q6").document; -// typeof document.createElement is 'object' in old IE -var is = isObject(document) && isObject(document.createElement); -module.exports = function (it) { - return is ? document.createElement(it) : {}; -}; - +var nativeCreate = __webpack_require__("BzOd"); -/***/ }), +/** Used for built-in method references. */ +var objectProto = Object.prototype; -/***/ "9ocJ": -/***/ (function(module, exports) { +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; /** - * Checks if a stack value for `key` exists. + * Checks if a hash value for `key` exists. * * @private * @name has - * @memberOf Stack + * @memberOf Hash * @param {string} key The key of the entry to check. * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. */ -function stackHas(key) { - return this.__data__.has(key); +function hashHas(key) { + var data = this.__data__; + return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key); } -module.exports = stackHas; +module.exports = hashHas; /***/ }), -/***/ "9qb7": +/***/ "6nBR": /***/ (function(module, exports, __webpack_require__) { -var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! - Copyright (c) 2016 Jed Watson. - Licensed under the MIT License (MIT), see - http://jedwatson.github.io/classnames -*/ -/* global define */ +var toInteger = __webpack_require__("W0Xw"); +var max = Math.max; +var min = Math.min; +module.exports = function (index, length) { + index = toInteger(index); + return index < 0 ? max(index + length, 0) : min(index, length); +}; -(function () { - 'use strict'; - var hasOwn = {}.hasOwnProperty; +/***/ }), - function classNames () { - var classes = []; +/***/ "6wt/": +/***/ (function(module, exports) { - for (var i = 0; i < arguments.length; i++) { - var arg = arguments[i]; - if (!arg) continue; +module.exports = function (it) { + if (typeof it != 'function') throw TypeError(it + ' is not a function!'); + return it; +}; - var argType = typeof arg; - if (argType === 'string' || argType === 'number') { - classes.push(arg); - } else if (Array.isArray(arg)) { - classes.push(classNames.apply(null, arg)); - } else if (argType === 'object') { - for (var key in arg) { - if (hasOwn.call(arg, key) && arg[key]) { - classes.push(key); - } - } - } - } +/***/ }), - return classes.join(' '); - } +/***/ "76my": +/***/ (function(module, exports, __webpack_require__) { - if (typeof module !== 'undefined' && module.exports) { - module.exports = classNames; - } else if (true) { - // register as 'classnames', consistent with npm package name - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () { - return classNames; - }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - } else { - window.classNames = classNames; - } -}()); +"use strict"; +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. -/***/ }), -/***/ "A+gr": -/***/ (function(module, exports) { +var stringifyPrimitive = function(v) { + switch (typeof v) { + case 'string': + return v; -/** Used as references for various `Number` constants. */ -var MAX_SAFE_INTEGER = 9007199254740991; + case 'boolean': + return v ? 'true' : 'false'; -/** Used to detect unsigned integer values. */ -var reIsUint = /^(?:0|[1-9]\d*)$/; + case 'number': + return isFinite(v) ? v : ''; + + default: + return ''; + } +}; + +module.exports = function(obj, sep, eq, name) { + sep = sep || '&'; + eq = eq || '='; + if (obj === null) { + obj = undefined; + } + + if (typeof obj === 'object') { + return map(objectKeys(obj), function(k) { + var ks = encodeURIComponent(stringifyPrimitive(k)) + eq; + if (isArray(obj[k])) { + return map(obj[k], function(v) { + return ks + encodeURIComponent(stringifyPrimitive(v)); + }).join(sep); + } else { + return ks + encodeURIComponent(stringifyPrimitive(obj[k])); + } + }).join(sep); + + } + + if (!name) return ''; + return encodeURIComponent(stringifyPrimitive(name)) + eq + + encodeURIComponent(stringifyPrimitive(obj)); +}; + +var isArray = Array.isArray || function (xs) { + return Object.prototype.toString.call(xs) === '[object Array]'; +}; + +function map (xs, f) { + if (xs.map) return xs.map(f); + var res = []; + for (var i = 0; i < xs.length; i++) { + res.push(f(xs[i], i)); + } + return res; +} + +var objectKeys = Object.keys || function (obj) { + var res = []; + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key); + } + return res; +}; + + +/***/ }), + +/***/ "77WM": +/***/ (function(module, exports) { /** - * Checks if `value` is a valid array-like index. + * Creates a base function for methods like `_.forIn` and `_.forOwn`. * * @private - * @param {*} value The value to check. - * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. - * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. */ -function isIndex(value, length) { - var type = typeof value; - length = length == null ? MAX_SAFE_INTEGER : length; +function createBaseFor(fromRight) { + return function(object, iteratee, keysFunc) { + var index = -1, + iterable = Object(object), + props = keysFunc(object), + length = props.length; - return !!length && - (type == 'number' || - (type != 'symbol' && reIsUint.test(value))) && - (value > -1 && value % 1 == 0 && value < length); + while (length--) { + var key = props[fromRight ? length : ++index]; + if (iteratee(iterable[key], key, iterable) === false) { + break; + } + } + return object; + }; } -module.exports = isIndex; +module.exports = createBaseFor; /***/ }), -/***/ "A8RV": -/***/ (function(module, exports, __webpack_require__) { - -var baseToString = __webpack_require__("3w4y"); +/***/ "7D4t": +/***/ (function(module, exports) { /** - * Converts `value` to a string. An empty string is returned for `null` - * and `undefined` values. The sign of `-0` is preserved. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {string} Returns the converted string. - * @example - * - * _.toString(null); - * // => '' - * - * _.toString(-0); - * // => '-0' + * A faster alternative to `Function#apply`, this function invokes `func` + * with the `this` binding of `thisArg` and the arguments of `args`. * - * _.toString([1, 2, 3]); - * // => '1,2,3' + * @private + * @param {Function} func The function to invoke. + * @param {*} thisArg The `this` binding of `func`. + * @param {Array} args The arguments to invoke `func` with. + * @returns {*} Returns the result of `func`. */ -function toString(value) { - return value == null ? '' : baseToString(value); +function apply(func, thisArg, args) { + switch (args.length) { + case 0: return func.call(thisArg); + case 1: return func.call(thisArg, args[0]); + case 2: return func.call(thisArg, args[0], args[1]); + case 3: return func.call(thisArg, args[0], args[1], args[2]); + } + return func.apply(thisArg, args); } -module.exports = toString; +module.exports = apply; /***/ }), -/***/ "A9HP": +/***/ "7H/n": /***/ (function(module, exports, __webpack_require__) { -var MediaQuery = __webpack_require__("fp05"); -var Util = __webpack_require__("gozI"); -var each = Util.each; -var isFunction = Util.isFunction; -var isArray = Util.isArray; +module.exports = { "default": __webpack_require__("l+Bl"), __esModule: true }; -/** - * Allows for registration of query handlers. - * Manages the query handler's state and is responsible for wiring up browser events - * - * @constructor - */ -function MediaQueryDispatch () { - if(!window.matchMedia) { - throw new Error('matchMedia not present, legacy browsers require a polyfill'); - } +/***/ }), - this.queries = {}; - this.browserIsIncapable = !window.matchMedia('only all').matches; -} +/***/ "7LDM": +/***/ (function(module, exports, __webpack_require__) { -MediaQueryDispatch.prototype = { +__webpack_require__("avf0"); +var $Object = __webpack_require__("C7BO").Object; +module.exports = function create(P, D) { + return $Object.create(P, D); +}; - constructor : MediaQueryDispatch, - /** - * Registers a handler for the given media query - * - * @param {string} q the media query - * @param {object || Array || Function} options either a single query handler object, a function, or an array of query handlers - * @param {function} options.match fired when query matched - * @param {function} [options.unmatch] fired when a query is no longer matched - * @param {function} [options.setup] fired when handler first triggered - * @param {boolean} [options.deferSetup=false] whether setup should be run immediately or deferred until query is first matched - * @param {boolean} [shouldDegrade=false] whether this particular media query should always run on incapable browsers - */ - register : function(q, options, shouldDegrade) { - var queries = this.queries, - isUnconditional = shouldDegrade && this.browserIsIncapable; +/***/ }), - if(!queries[q]) { - queries[q] = new MediaQuery(q, isUnconditional); - } +/***/ "7aT/": +/***/ (function(module, exports, __webpack_require__) { - //normalise to object in an array - if(isFunction(options)) { - options = { match : options }; - } - if(!isArray(options)) { - options = [options]; - } - each(options, function(handler) { - if (isFunction(handler)) { - handler = { match : handler }; - } - queries[q].addHandler(handler); - }); +var baseIsNative = __webpack_require__("ucRO"), + getValue = __webpack_require__("9aiX"); - return this; - }, +/** + * Gets the native function at `key` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the method to get. + * @returns {*} Returns the function if it's native, else `undefined`. + */ +function getNative(object, key) { + var value = getValue(object, key); + return baseIsNative(value) ? value : undefined; +} - /** - * unregisters a query and all it's handlers, or a specific handler for a query - * - * @param {string} q the media query to target - * @param {object || function} [handler] specific handler to unregister - */ - unregister : function(q, handler) { - var query = this.queries[q]; +module.exports = getNative; - if(query) { - if(handler) { - query.removeHandler(handler); - } - else { - query.clear(); - delete this.queries[q]; - } - } - return this; - } -}; +/***/ }), -module.exports = MediaQueryDispatch; +/***/ "88l/": +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__("JSlx"); +__webpack_require__("wm8l"); +module.exports = __webpack_require__("ZIwG").f('iterator'); /***/ }), -/***/ "Aa2f": +/***/ "8JMs": /***/ (function(module, exports, __webpack_require__) { "use strict"; -// ECMAScript 6 symbols shim -var global = __webpack_require__("i1Q6"); -var has = __webpack_require__("yS17"); -var DESCRIPTORS = __webpack_require__("6MLN"); -var $export = __webpack_require__("vSO4"); -var redefine = __webpack_require__("gojl"); -var META = __webpack_require__("e8vu").KEY; -var $fails = __webpack_require__("wLcK"); -var shared = __webpack_require__("NB7d"); -var setToStringTag = __webpack_require__("11Ut"); -var uid = __webpack_require__("X6va"); -var wks = __webpack_require__("Ug9I"); -var wksExt = __webpack_require__("ZxII"); -var wksDefine = __webpack_require__("c2zY"); -var enumKeys = __webpack_require__("ycyv"); -var isArray = __webpack_require__("ayXv"); -var anObject = __webpack_require__("zotD"); -var isObject = __webpack_require__("BxvP"); -var toIObject = __webpack_require__("Wyka"); -var toPrimitive = __webpack_require__("EKwp"); -var createDesc = __webpack_require__("0WCH"); -var _create = __webpack_require__("TNJq"); -var gOPNExt = __webpack_require__("rMkZ"); -var $GOPD = __webpack_require__("sxPs"); -var $DP = __webpack_require__("Gfzd"); -var $keys = __webpack_require__("knrM"); -var gOPD = $GOPD.f; -var dP = $DP.f; -var gOPN = gOPNExt.f; -var $Symbol = global.Symbol; -var $JSON = global.JSON; -var _stringify = $JSON && $JSON.stringify; -var PROTOTYPE = 'prototype'; -var HIDDEN = wks('_hidden'); -var TO_PRIMITIVE = wks('toPrimitive'); -var isEnum = {}.propertyIsEnumerable; -var SymbolRegistry = shared('symbol-registry'); -var AllSymbols = shared('symbols'); -var OPSymbols = shared('op-symbols'); -var ObjectProto = Object[PROTOTYPE]; -var USE_NATIVE = typeof $Symbol == 'function'; -var QObject = global.QObject; -// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 -var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; -// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 -var setSymbolDesc = DESCRIPTORS && $fails(function () { - return _create(dP({}, 'a', { - get: function () { return dP(this, 'a', { value: 7 }).a; } - })).a != 7; -}) ? function (it, key, D) { - var protoDesc = gOPD(ObjectProto, key); - if (protoDesc) delete ObjectProto[key]; - dP(it, key, D); - if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc); -} : dP; +exports.__esModule = true; -var wrap = function (tag) { - var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]); - sym._k = tag; - return sym; +var _typeof2 = __webpack_require__("JhO1"); + +var _typeof3 = _interopRequireDefault(_typeof2); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = function (self, call) { + if (!self) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + + return call && ((typeof call === "undefined" ? "undefined" : (0, _typeof3.default)(call)) === "object" || typeof call === "function") ? call : self; }; -var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) { - return typeof it == 'symbol'; -} : function (it) { - return it instanceof $Symbol; +/***/ }), + +/***/ "8N1o": +/***/ (function(module, exports, __webpack_require__) { + +var isObject = __webpack_require__("Caf2"); +var document = __webpack_require__("eqAs").document; +// typeof document.createElement is 'object' in old IE +var is = isObject(document) && isObject(document.createElement); +module.exports = function (it) { + return is ? document.createElement(it) : {}; }; -var $defineProperty = function defineProperty(it, key, D) { - if (it === ObjectProto) $defineProperty(OPSymbols, key, D); - anObject(it); - key = toPrimitive(key, true); - anObject(D); - if (has(AllSymbols, key)) { - if (!D.enumerable) { - if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {})); - it[HIDDEN][key] = true; - } else { - if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false; - D = _create(D, { enumerable: createDesc(0, false) }); - } return setSymbolDesc(it, key, D); - } return dP(it, key, D); -}; -var $defineProperties = function defineProperties(it, P) { - anObject(it); - var keys = enumKeys(P = toIObject(P)); - var i = 0; - var l = keys.length; - var key; - while (l > i) $defineProperty(it, key = keys[i++], P[key]); - return it; -}; -var $create = function create(it, P) { - return P === undefined ? _create(it) : $defineProperties(_create(it), P); -}; -var $propertyIsEnumerable = function propertyIsEnumerable(key) { - var E = isEnum.call(this, key = toPrimitive(key, true)); - if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false; - return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true; -}; -var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) { - it = toIObject(it); - key = toPrimitive(key, true); - if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return; - var D = gOPD(it, key); - if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true; - return D; -}; -var $getOwnPropertyNames = function getOwnPropertyNames(it) { - var names = gOPN(toIObject(it)); - var result = []; - var i = 0; - var key; - while (names.length > i) { - if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key); - } return result; -}; -var $getOwnPropertySymbols = function getOwnPropertySymbols(it) { - var IS_OP = it === ObjectProto; - var names = gOPN(IS_OP ? OPSymbols : toIObject(it)); - var result = []; - var i = 0; - var key; - while (names.length > i) { - if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]); - } return result; -}; - -// 19.4.1.1 Symbol([description]) -if (!USE_NATIVE) { - $Symbol = function Symbol() { - if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!'); - var tag = uid(arguments.length > 0 ? arguments[0] : undefined); - var $set = function (value) { - if (this === ObjectProto) $set.call(OPSymbols, value); - if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false; - setSymbolDesc(this, tag, createDesc(1, value)); - }; - if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set }); - return wrap(tag); - }; - redefine($Symbol[PROTOTYPE], 'toString', function toString() { - return this._k; - }); - - $GOPD.f = $getOwnPropertyDescriptor; - $DP.f = $defineProperty; - __webpack_require__("Ni5N").f = gOPNExt.f = $getOwnPropertyNames; - __webpack_require__("z7R8").f = $propertyIsEnumerable; - __webpack_require__("Ocr3").f = $getOwnPropertySymbols; - - if (DESCRIPTORS && !__webpack_require__("1kq3")) { - redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true); - } - - wksExt.f = function (name) { - return wrap(wks(name)); - }; -} -$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol }); +/***/ }), -for (var es6Symbols = ( - // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14 - 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables' -).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]); +/***/ "8T29": +/***/ (function(module, exports, __webpack_require__) { -for (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]); +var _Symbol$iterator = __webpack_require__("flIw"); -$export($export.S + $export.F * !USE_NATIVE, 'Symbol', { - // 19.4.2.1 Symbol.for(key) - 'for': function (key) { - return has(SymbolRegistry, key += '') - ? SymbolRegistry[key] - : SymbolRegistry[key] = $Symbol(key); - }, - // 19.4.2.5 Symbol.keyFor(sym) - keyFor: function keyFor(sym) { - if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!'); - for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key; - }, - useSetter: function () { setter = true; }, - useSimple: function () { setter = false; } -}); +var _Symbol = __webpack_require__("nK9T"); -$export($export.S + $export.F * !USE_NATIVE, 'Object', { - // 19.1.2.2 Object.create(O [, Properties]) - create: $create, - // 19.1.2.4 Object.defineProperty(O, P, Attributes) - defineProperty: $defineProperty, - // 19.1.2.3 Object.defineProperties(O, Properties) - defineProperties: $defineProperties, - // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) - getOwnPropertyDescriptor: $getOwnPropertyDescriptor, - // 19.1.2.7 Object.getOwnPropertyNames(O) - getOwnPropertyNames: $getOwnPropertyNames, - // 19.1.2.8 Object.getOwnPropertySymbols(O) - getOwnPropertySymbols: $getOwnPropertySymbols -}); +function _typeof2(obj) { if (typeof _Symbol === "function" && typeof _Symbol$iterator === "symbol") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof _Symbol === "function" && obj.constructor === _Symbol && obj !== _Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof2(obj); } -// 24.3.2 JSON.stringify(value [, replacer [, space]]) -$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () { - var S = $Symbol(); - // MS Edge converts symbol values to JSON as {} - // WebKit converts symbol values to JSON as null - // V8 throws on boxed symbols - return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}'; -})), 'JSON', { - stringify: function stringify(it) { - var args = [it]; - var i = 1; - var replacer, $replacer; - while (arguments.length > i) args.push(arguments[i++]); - $replacer = replacer = args[1]; - if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined - if (!isArray(replacer)) replacer = function (key, value) { - if (typeof $replacer == 'function') value = $replacer.call(this, key, value); - if (!isSymbol(value)) return value; +function _typeof(obj) { + if (typeof _Symbol === "function" && _typeof2(_Symbol$iterator) === "symbol") { + module.exports = _typeof = function _typeof(obj) { + return _typeof2(obj); + }; + } else { + module.exports = _typeof = function _typeof(obj) { + return obj && typeof _Symbol === "function" && obj.constructor === _Symbol && obj !== _Symbol.prototype ? "symbol" : _typeof2(obj); }; - args[1] = replacer; - return _stringify.apply($JSON, args); } -}); -// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint) -$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__("akPY")($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf); -// 19.4.3.5 Symbol.prototype[@@toStringTag] -setToStringTag($Symbol, 'Symbol'); -// 20.2.1.9 Math[@@toStringTag] -setToStringTag(Math, 'Math', true); -// 24.3.3 JSON[@@toStringTag] -setToStringTag(global.JSON, 'JSON', true); + return _typeof(obj); +} +module.exports = _typeof; /***/ }), -/***/ "Ag0p": +/***/ "8qDK": /***/ (function(module, exports, __webpack_require__) { -var nativeCreate = __webpack_require__("FTXF"); - -/** Used to stand-in for `undefined` hash values. */ -var HASH_UNDEFINED = '__lodash_hash_undefined__'; - -/** - * Sets the hash `key` to `value`. - * - * @private - * @name set - * @memberOf Hash - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the hash instance. - */ -function hashSet(key, value) { - var data = this.__data__; - this.size += this.has(key) ? 0 : 1; - data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; - return this; -} +var pIE = __webpack_require__("HZVW"); +var createDesc = __webpack_require__("40OA"); +var toIObject = __webpack_require__("Lc9H"); +var toPrimitive = __webpack_require__("Iv/i"); +var has = __webpack_require__("6Ea3"); +var IE8_DOM_DEFINE = __webpack_require__("O7bR"); +var gOPD = Object.getOwnPropertyDescriptor; -module.exports = hashSet; +exports.f = __webpack_require__("aati") ? gOPD : function getOwnPropertyDescriptor(O, P) { + O = toIObject(O); + P = toPrimitive(P, true); + if (IE8_DOM_DEFINE) try { + return gOPD(O, P); + } catch (e) { /* empty */ } + if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]); +}; /***/ }), -/***/ "Aq8W": +/***/ "8rI1": /***/ (function(module, exports, __webpack_require__) { -module.exports = { "default": __webpack_require__("dXs8"), __esModule: true }; +module.exports = __webpack_require__("Y6GY"); /***/ }), -/***/ "Asjh": -/***/ (function(module, exports, __webpack_require__) { +/***/ "8rVd": +/***/ (function(module, exports) { -"use strict"; /** - * Copyright (c) 2013-present, Facebook, Inc. + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false */ +function isObjectLike(value) { + return value != null && typeof value == 'object'; +} +module.exports = isObjectLike; -var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; - -module.exports = ReactPropTypesSecret; - - -/***/ }), - -/***/ "Awbb": -/***/ (function(module, exports) { - -// removed by extract-text-webpack-plugin - /***/ }), -/***/ "B9Lq": +/***/ "90vs": /***/ (function(module, exports, __webpack_require__) { -var has = __webpack_require__("yS17"); -var toIObject = __webpack_require__("Wyka"); -var arrayIndexOf = __webpack_require__("LNnS")(false); -var IE_PROTO = __webpack_require__("/wuY")('IE_PROTO'); +var _Object$defineProperty = __webpack_require__("dUAT"); -module.exports = function (object, names) { - var O = toIObject(object); - var i = 0; - var result = []; - var key; - for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key); - // Don't enum bug & hidden keys - while (names.length > i) if (has(O, key = names[i++])) { - ~arrayIndexOf(result, key) || result.push(key); +function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + + _Object$defineProperty(target, descriptor.key, descriptor); } - return result; -}; +} + +function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; +} +module.exports = _createClass; /***/ }), -/***/ "BblM": -/***/ (function(module, exports) { +/***/ "93Kp": +/***/ (function(module, exports, __webpack_require__) { + +var getMapData = __webpack_require__("/ti9"); /** - * A specialized version of `_.map` for arrays without support for iteratee - * shorthands. + * Removes `key` and its value from the map. * * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns the new mapped array. + * @name delete + * @memberOf MapCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. */ -function arrayMap(array, iteratee) { - var index = -1, - length = array == null ? 0 : array.length, - result = Array(length); - - while (++index < length) { - result[index] = iteratee(array[index], index, array); - } +function mapCacheDelete(key) { + var result = getMapData(this, key)['delete'](key); + this.size -= result ? 1 : 0; return result; } -module.exports = arrayMap; - - -/***/ }), - -/***/ "BtHH": -/***/ (function(module, exports, __webpack_require__) { - -// 19.1.2.9 Object.getPrototypeOf(O) -var toObject = __webpack_require__("mbLO"); -var $getPrototypeOf = __webpack_require__("HHE0"); - -__webpack_require__("cOHw")('getPrototypeOf', function () { - return function getPrototypeOf(it) { - return $getPrototypeOf(toObject(it)); - }; -}); - - -/***/ }), - -/***/ "Bw2v": -/***/ (function(module, exports) { - -// removed by extract-text-webpack-plugin - -/***/ }), - -/***/ "BxvP": -/***/ (function(module, exports) { - -module.exports = function (it) { - return typeof it === 'object' ? it !== null : typeof it === 'function'; -}; +module.exports = mapCacheDelete; /***/ }), -/***/ "C8N4": +/***/ "99aK": /***/ (function(module, exports, __webpack_require__) { -var hashClear = __webpack_require__("1RxS"), - hashDelete = __webpack_require__("qBl2"), - hashGet = __webpack_require__("hClK"), - hashHas = __webpack_require__("YIaf"), - hashSet = __webpack_require__("Ag0p"); +var hashClear = __webpack_require__("lYfx"), + hashDelete = __webpack_require__("o8pu"), + hashGet = __webpack_require__("zv0g"), + hashHas = __webpack_require__("6iQm"), + hashSet = __webpack_require__("abMm"); /** * Creates a hash object. @@ -2852,2356 +2625,2089 @@ module.exports = Hash; /***/ }), -/***/ "COf8": +/***/ "9Aga": /***/ (function(module, exports, __webpack_require__) { -__webpack_require__("OYXR"); -var global = __webpack_require__("i1Q6"); -var hide = __webpack_require__("akPY"); -var Iterators = __webpack_require__("dhak"); -var TO_STRING_TAG = __webpack_require__("Ug9I")('toStringTag'); - -var DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' + - 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' + - 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' + - 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' + - 'TextTrackList,TouchList').split(','); - -for (var i = 0; i < DOMIterables.length; i++) { - var NAME = DOMIterables[i]; - var Collection = global[NAME]; - var proto = Collection && Collection.prototype; - if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME); - Iterators[NAME] = Iterators.Array; -} - +"use strict"; -/***/ }), -/***/ "CXf5": -/***/ (function(module, exports, __webpack_require__) { +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * + */ -var overArg = __webpack_require__("4/4o"); +var isTextNode = __webpack_require__("ne+K"); -/** Built-in value references. */ -var getPrototype = overArg(Object.getPrototypeOf, Object); +/*eslint-disable no-bitwise */ -module.exports = getPrototype; +/** + * Checks if a given DOM node contains or is another DOM node. + */ +function containsNode(outerNode, innerNode) { + if (!outerNode || !innerNode) { + return false; + } else if (outerNode === innerNode) { + return true; + } else if (isTextNode(outerNode)) { + return false; + } else if (isTextNode(innerNode)) { + return containsNode(outerNode, innerNode.parentNode); + } else if ('contains' in outerNode) { + return outerNode.contains(innerNode); + } else if (outerNode.compareDocumentPosition) { + return !!(outerNode.compareDocumentPosition(innerNode) & 16); + } else { + return false; + } +} +module.exports = containsNode; /***/ }), -/***/ "CXfR": +/***/ "9Nuo": /***/ (function(module, exports, __webpack_require__) { -var isObject = __webpack_require__("u9vI"), - now = __webpack_require__("0pJf"), - toNumber = __webpack_require__("iS0Z"); - -/** Error message constants. */ -var FUNC_ERROR_TEXT = 'Expected a function'; - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeMax = Math.max, - nativeMin = Math.min; +/* WEBPACK VAR INJECTION */(function(global) {/** Detect free variable `global` from Node.js. */ +var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; -/** - * Creates a debounced function that delays invoking `func` until after `wait` - * milliseconds have elapsed since the last time the debounced function was - * invoked. The debounced function comes with a `cancel` method to cancel - * delayed `func` invocations and a `flush` method to immediately invoke them. - * Provide `options` to indicate whether `func` should be invoked on the - * leading and/or trailing edge of the `wait` timeout. The `func` is invoked - * with the last arguments provided to the debounced function. Subsequent - * calls to the debounced function return the result of the last `func` - * invocation. - * - * **Note:** If `leading` and `trailing` options are `true`, `func` is - * invoked on the trailing edge of the timeout only if the debounced function - * is invoked more than once during the `wait` timeout. - * - * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred - * until to the next tick, similar to `setTimeout` with a timeout of `0`. - * - * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) - * for details over the differences between `_.debounce` and `_.throttle`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to debounce. - * @param {number} [wait=0] The number of milliseconds to delay. - * @param {Object} [options={}] The options object. - * @param {boolean} [options.leading=false] - * Specify invoking on the leading edge of the timeout. - * @param {number} [options.maxWait] - * The maximum time `func` is allowed to be delayed before it's invoked. - * @param {boolean} [options.trailing=true] - * Specify invoking on the trailing edge of the timeout. - * @returns {Function} Returns the new debounced function. - * @example - * - * // Avoid costly calculations while the window size is in flux. - * jQuery(window).on('resize', _.debounce(calculateLayout, 150)); - * - * // Invoke `sendMail` when clicked, debouncing subsequent calls. - * jQuery(element).on('click', _.debounce(sendMail, 300, { - * 'leading': true, - * 'trailing': false - * })); - * - * // Ensure `batchLog` is invoked once after 1 second of debounced calls. - * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 }); - * var source = new EventSource('/stream'); - * jQuery(source).on('message', debounced); - * - * // Cancel the trailing debounced invocation. - * jQuery(window).on('popstate', debounced.cancel); - */ -function debounce(func, wait, options) { - var lastArgs, - lastThis, - maxWait, - result, - timerId, - lastCallTime, - lastInvokeTime = 0, - leading = false, - maxing = false, - trailing = true; +module.exports = freeGlobal; - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - wait = toNumber(wait) || 0; - if (isObject(options)) { - leading = !!options.leading; - maxing = 'maxWait' in options; - maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait; - trailing = 'trailing' in options ? !!options.trailing : trailing; - } +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__("WUc3"))) - function invokeFunc(time) { - var args = lastArgs, - thisArg = lastThis; +/***/ }), - lastArgs = lastThis = undefined; - lastInvokeTime = time; - result = func.apply(thisArg, args); - return result; - } +/***/ "9Qea": +/***/ (function(module, __webpack_exports__, __webpack_require__) { - function leadingEdge(time) { - // Reset any `maxWait` timer. - lastInvokeTime = time; - // Start the timer for the trailing edge. - timerId = setTimeout(timerExpired, wait); - // Invoke the leading edge. - return leading ? invokeFunc(time) : result; - } +"use strict"; +/* WEBPACK VAR INJECTION */(function(process) {/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_mockjs__ = __webpack_require__("jwnc"); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_mockjs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_mockjs__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mock_rule__ = __webpack_require__("IMUl"); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__mock_api__ = __webpack_require__("mCGg"); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__mock_chart__ = __webpack_require__("2U7Q"); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__mock_profile__ = __webpack_require__("YShb"); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__mock_notices__ = __webpack_require__("ZJYB"); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_roadhog_api_doc__ = __webpack_require__("XAG5"); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_roadhog_api_doc___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_roadhog_api_doc__); - function remainingWait(time) { - var timeSinceLastCall = time - lastCallTime, - timeSinceLastInvoke = time - lastInvokeTime, - timeWaiting = wait - timeSinceLastCall; - return maxing - ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) - : timeWaiting; - } - function shouldInvoke(time) { - var timeSinceLastCall = time - lastCallTime, - timeSinceLastInvoke = time - lastInvokeTime; - // Either this is the first call, activity has stopped and we're at the - // trailing edge, the system time has gone backwards and we're treating - // it as the trailing edge, or we've hit the `maxWait` limit. - return (lastCallTime === undefined || (timeSinceLastCall >= wait) || - (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait)); - } - function timerExpired() { - var time = now(); - if (shouldInvoke(time)) { - return trailingEdge(time); - } - // Restart the timer. - timerId = setTimeout(timerExpired, remainingWait(time)); - } - function trailingEdge(time) { - timerId = undefined; - // Only invoke if we have `lastArgs` which means `func` has been - // debounced at least once. - if (trailing && lastArgs) { - return invokeFunc(time); - } - lastArgs = lastThis = undefined; - return result; - } - function cancel() { - if (timerId !== undefined) { - clearTimeout(timerId); - } - lastInvokeTime = 0; - lastArgs = lastCallTime = lastThis = timerId = undefined; - } - function flush() { - return timerId === undefined ? result : trailingEdge(now()); - } +// 是否禁用代理 +const noProxy = process.env.NO_PROXY === 'true'; - function debounced() { - var time = now(), - isInvoking = shouldInvoke(time); - - lastArgs = arguments; - lastThis = this; - lastCallTime = time; - - if (isInvoking) { - if (timerId === undefined) { - return leadingEdge(lastCallTime); - } - if (maxing) { - // Handle invocations in a tight loop. - timerId = setTimeout(timerExpired, wait); - return invokeFunc(lastCallTime); - } +// 代码中会兼容本地 service mock 以及部署站点的静态数据 +const proxy = { + // 支持值为 Object 和 Array + 'GET /api/currentUser': { + $desc: '获取当前用户接口', + $params: { + pageSize: { + desc: '分页', + exp: 2, + }, + }, + $body: { + name: 'Serati Ma', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png', + userid: '00000001', + notifyCount: 12, + }, + }, + // GET POST 可省略 + 'GET /api/users': [ + { + key: '1', + name: 'John Brown', + age: 32, + address: 'New York No. 1 Lake Park', + }, + { + key: '2', + name: 'Jim Green', + age: 42, + address: 'London No. 1 Lake Park', + }, + { + key: '3', + name: 'Joe Black', + age: 32, + address: 'Sidney No. 1 Lake Park', + }, + ], + 'GET /api/project/notice': __WEBPACK_IMPORTED_MODULE_2__mock_api__["c" /* getNotice */], + 'GET /api/activities': __WEBPACK_IMPORTED_MODULE_2__mock_api__["a" /* getActivities */], + 'GET /api/rule': __WEBPACK_IMPORTED_MODULE_1__mock_rule__["a" /* getRule */], + 'POST /api/rule': { + $params: { + pageSize: { + desc: '分页', + exp: 2, + }, + }, + $body: __WEBPACK_IMPORTED_MODULE_1__mock_rule__["b" /* postRule */], + }, + 'POST /api/forms': (req, res) => { + res.send({ message: 'Ok' }); + }, + 'GET /api/tags': __WEBPACK_IMPORTED_MODULE_0_mockjs___default.a.mock({ + 'list|100': [{ name: '@city', 'value|1-100': 150, 'type|0-2': 1 }], + }), + 'GET /api/fake_list': __WEBPACK_IMPORTED_MODULE_2__mock_api__["b" /* getFakeList */], + 'GET /api/fake_chart_data': __WEBPACK_IMPORTED_MODULE_3__mock_chart__["a" /* getFakeChartData */], + 'GET /api/profile/basic': __WEBPACK_IMPORTED_MODULE_4__mock_profile__["b" /* getProfileBasicData */], + 'GET /api/profile/advanced': __WEBPACK_IMPORTED_MODULE_4__mock_profile__["a" /* getProfileAdvancedData */], + 'POST /api/login/account': (req, res) => { + const { password, userName, type } = req.body; + if (password === '888888' && userName === 'admin') { + res.send({ + status: 'ok', + type, + currentAuthority: 'admin', + }); + return; } - if (timerId === undefined) { - timerId = setTimeout(timerExpired, wait); + if (password === '123456' && userName === 'user') { + res.send({ + status: 'ok', + type, + currentAuthority: 'user', + }); + return; } - return result; - } - debounced.cancel = cancel; - debounced.flush = flush; - return debounced; -} - -module.exports = debounce; - - -/***/ }), - -/***/ "E5Ce": -/***/ (function(module, exports, __webpack_require__) { - -// fallback for non-array-like ES3 and non-enumerable old V8 strings -var cof = __webpack_require__("ShN9"); -// eslint-disable-next-line no-prototype-builtins -module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) { - return cof(it) == 'String' ? it.split('') : Object(it); + res.send({ + status: 'error', + type, + currentAuthority: 'guest', + }); + }, + 'POST /api/register': (req, res) => { + res.send({ status: 'ok', currentAuthority: 'user' }); + }, + 'GET /api/notices': __WEBPACK_IMPORTED_MODULE_5__mock_notices__["a" /* getNotices */], + 'GET /api/500': (req, res) => { + res.status(500).send({ + timestamp: 1513932555104, + status: 500, + error: 'error', + message: 'error', + path: '/base/category/list', + }); + }, + 'GET /api/404': (req, res) => { + res.status(404).send({ + timestamp: 1513932643431, + status: 404, + error: 'Not Found', + message: 'No message available', + path: '/base/category/list/2121212', + }); + }, + 'GET /api/403': (req, res) => { + res.status(403).send({ + timestamp: 1513932555104, + status: 403, + error: 'Unauthorized', + message: 'Unauthorized', + path: '/base/category/list', + }); + }, + 'GET /api/401': (req, res) => { + res.status(401).send({ + timestamp: 1513932555104, + status: 401, + error: 'Unauthorized', + message: 'Unauthorized', + path: '/base/category/list', + }); + }, }; +/* harmony default export */ __webpack_exports__["a"] = (noProxy ? {} : Object(__WEBPACK_IMPORTED_MODULE_6_roadhog_api_doc__["delay"])(proxy, 1000)); -/***/ }), - -/***/ "EKwp": -/***/ (function(module, exports, __webpack_require__) { - -// 7.1.1 ToPrimitive(input [, PreferredType]) -var isObject = __webpack_require__("BxvP"); -// instead of the ES6 spec version, we didn't implement @@toPrimitive case -// and the second argument - flag - preferred type is a string -module.exports = function (it, S) { - if (!isObject(it)) return it; - var fn, val; - if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; - if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val; - if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; - throw TypeError("Can't convert object to primitive value"); -}; - +/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__("KIG8"))) /***/ }), -/***/ "ES04": +/***/ "9S7N": /***/ (function(module, exports, __webpack_require__) { -var baseGetTag = __webpack_require__("e5TX"), - getPrototype = __webpack_require__("CXf5"), - isObjectLike = __webpack_require__("OuyB"); - -/** `Object#toString` result references. */ -var objectTag = '[object Object]'; +/* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__("jBK5"); -/** Used for built-in method references. */ -var funcProto = Function.prototype, - objectProto = Object.prototype; +/** Detect free variable `exports`. */ +var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; -/** Used to resolve the decompiled source of functions. */ -var funcToString = funcProto.toString; +/** Detect free variable `module`. */ +var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; +/** Detect the popular CommonJS extension `module.exports`. */ +var moduleExports = freeModule && freeModule.exports === freeExports; -/** Used to infer the `Object` constructor. */ -var objectCtorString = funcToString.call(Object); +/** Built-in value references. */ +var Buffer = moduleExports ? root.Buffer : undefined, + allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined; /** - * Checks if `value` is a plain object, that is, an object created by the - * `Object` constructor or one with a `[[Prototype]]` of `null`. - * - * @static - * @memberOf _ - * @since 0.8.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a plain object, else `false`. - * @example - * - * function Foo() { - * this.a = 1; - * } - * - * _.isPlainObject(new Foo); - * // => false - * - * _.isPlainObject([1, 2, 3]); - * // => false - * - * _.isPlainObject({ 'x': 0, 'y': 0 }); - * // => true + * Creates a clone of `buffer`. * - * _.isPlainObject(Object.create(null)); - * // => true + * @private + * @param {Buffer} buffer The buffer to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Buffer} Returns the cloned buffer. */ -function isPlainObject(value) { - if (!isObjectLike(value) || baseGetTag(value) != objectTag) { - return false; - } - var proto = getPrototype(value); - if (proto === null) { - return true; +function cloneBuffer(buffer, isDeep) { + if (isDeep) { + return buffer.slice(); } - var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor; - return typeof Ctor == 'function' && Ctor instanceof Ctor && - funcToString.call(Ctor) == objectCtorString; + var length = buffer.length, + result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length); + + buffer.copy(result); + return result; } -module.exports = isPlainObject; +module.exports = cloneBuffer; +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__("ue8d")(module))) /***/ }), -/***/ "EiMJ": -/***/ (function(module, exports, __webpack_require__) { - -var MapCache = __webpack_require__("wtMJ"); - -/** Error message constants. */ -var FUNC_ERROR_TEXT = 'Expected a function'; +/***/ "9aiX": +/***/ (function(module, exports) { /** - * Creates a function that memoizes the result of `func`. If `resolver` is - * provided, it determines the cache key for storing the result based on the - * arguments provided to the memoized function. By default, the first argument - * provided to the memoized function is used as the map cache key. The `func` - * is invoked with the `this` binding of the memoized function. - * - * **Note:** The cache is exposed as the `cache` property on the memoized - * function. Its creation may be customized by replacing the `_.memoize.Cache` - * constructor with one whose instances implement the - * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object) - * method interface of `clear`, `delete`, `get`, `has`, and `set`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to have its output memoized. - * @param {Function} [resolver] The function to resolve the cache key. - * @returns {Function} Returns the new memoized function. - * @example - * - * var object = { 'a': 1, 'b': 2 }; - * var other = { 'c': 3, 'd': 4 }; - * - * var values = _.memoize(_.values); - * values(object); - * // => [1, 2] - * - * values(other); - * // => [3, 4] - * - * object.a = 2; - * values(object); - * // => [1, 2] - * - * // Modify the result cache. - * values.cache.set(object, ['a', 'b']); - * values(object); - * // => ['a', 'b'] + * Gets the value at `key` of `object`. * - * // Replace `_.memoize.Cache`. - * _.memoize.Cache = WeakMap; + * @private + * @param {Object} [object] The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. */ -function memoize(func, resolver) { - if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) { - throw new TypeError(FUNC_ERROR_TEXT); - } - var memoized = function() { - var args = arguments, - key = resolver ? resolver.apply(this, args) : args[0], - cache = memoized.cache; - - if (cache.has(key)) { - return cache.get(key); - } - var result = func.apply(this, args); - memoized.cache = cache.set(key, result) || cache; - return result; - }; - memoized.cache = new (memoize.Cache || MapCache); - return memoized; +function getValue(object, key) { + return object == null ? undefined : object[key]; } -// Expose `MapCache`. -memoize.Cache = MapCache; - -module.exports = memoize; +module.exports = getValue; /***/ }), -/***/ "ElCz": +/***/ "9iF7": /***/ (function(module, exports, __webpack_require__) { -module.exports = __webpack_require__("4hqW"); +"use strict"; +/** @license React v16.4.0 + * react.production.min.js + * + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +var k=__webpack_require__("deVn"),n=__webpack_require__("uxfE"),p=__webpack_require__("nsDf"),q=__webpack_require__("aeWf"),r="function"===typeof Symbol&&Symbol.for,t=r?Symbol.for("react.element"):60103,u=r?Symbol.for("react.portal"):60106,v=r?Symbol.for("react.fragment"):60107,w=r?Symbol.for("react.strict_mode"):60108,x=r?Symbol.for("react.profiler"):60114,y=r?Symbol.for("react.provider"):60109,z=r?Symbol.for("react.context"):60110,A=r?Symbol.for("react.async_mode"):60111,B= +r?Symbol.for("react.forward_ref"):60112;r&&Symbol.for("react.timeout");var C="function"===typeof Symbol&&Symbol.iterator;function D(a){for(var b=arguments.length-1,e="https://reactjs.org/docs/error-decoder.html?invariant="+a,c=0;cP.length&&P.push(a)} +function S(a,b,e,c){var d=typeof a;if("undefined"===d||"boolean"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case "string":case "number":g=!0;break;case "object":switch(a.$$typeof){case t:case u:g=!0}}if(g)return e(c,a,""===b?"."+T(a,0):b),1;g=0;b=""===b?".":b+":";if(Array.isArray(a))for(var h=0;h