
/*
 * SDP.UC v1.2.9
 * Wed, 19 Feb 2020 06:01:59 GMT
 */
this.SDP = this.SDP || {};

this.SDP.UC =
/******/ (function(modules) { // webpackBootstrap
/******/ 	// The module cache
/******/ 	var installedModules = {};
/******/
/******/ 	// The require function
/******/ 	function __webpack_require__(moduleId) {
/******/
/******/ 		// Check if module is in cache
/******/ 		if(installedModules[moduleId]) {
/******/ 			return installedModules[moduleId].exports;
/******/ 		}
/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = installedModules[moduleId] = {
/******/ 			i: moduleId,
/******/ 			l: false,
/******/ 			exports: {}
/******/ 		};
/******/
/******/ 		// Execute the module function
/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ 		// Flag the module as loaded
/******/ 		module.l = true;
/******/
/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}
/******/
/******/
/******/ 	// expose the modules object (__webpack_modules__)
/******/ 	__webpack_require__.m = modules;
/******/
/******/ 	// expose the module cache
/******/ 	__webpack_require__.c = installedModules;
/******/
/******/ 	// define getter function for harmony exports
/******/ 	__webpack_require__.d = function(exports, name, getter) {
/******/ 		if(!__webpack_require__.o(exports, name)) {
/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ 		}
/******/ 	};
/******/
/******/ 	// define __esModule on exports
/******/ 	__webpack_require__.r = function(exports) {
/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ 		}
/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
/******/ 	};
/******/
/******/ 	// create a fake namespace object
/******/ 	// mode & 1: value is a module id, require it
/******/ 	// mode & 2: merge all properties of value into the ns
/******/ 	// mode & 4: return value when already ns object
/******/ 	// mode & 8|1: behave like require
/******/ 	__webpack_require__.t = function(value, mode) {
/******/ 		if(mode & 1) value = __webpack_require__(value);
/******/ 		if(mode & 8) return value;
/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ 		var ns = Object.create(null);
/******/ 		__webpack_require__.r(ns);
/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ 		return ns;
/******/ 	};
/******/
/******/ 	// getDefaultExport function for compatibility with non-harmony modules
/******/ 	__webpack_require__.n = function(module) {
/******/ 		var getter = module && module.__esModule ?
/******/ 			function getDefault() { return module['default']; } :
/******/ 			function getModuleExports() { return module; };
/******/ 		__webpack_require__.d(getter, 'a', getter);
/******/ 		return getter;
/******/ 	};
/******/
/******/ 	// Object.prototype.hasOwnProperty.call
/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ 	// __webpack_public_path__
/******/ 	__webpack_require__.p = "";
/******/
/******/
/******/ 	// Load entry module and return exports
/******/ 	return __webpack_require__(__webpack_require__.s = "./src/index.js");
/******/ })
/************************************************************************/
/******/ ({

/***/ "./node_modules/@babel/runtime/helpers/applyDecoratedDescriptor.js":
/*!*************************************************************************!*\
  !*** ./node_modules/@babel/runtime/helpers/applyDecoratedDescriptor.js ***!
  \*************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object.keys(descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n\n  if (desc.initializer === void 0) {\n    Object.defineProperty(target, property, desc);\n    desc = null;\n  }\n\n  return desc;\n}\n\nmodule.exports = _applyDecoratedDescriptor;\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/@babel/runtime/helpers/applyDecoratedDescriptor.js?");

/***/ }),

/***/ "./node_modules/@babel/runtime/helpers/arrayWithHoles.js":
/*!***************************************************************!*\
  !*** ./node_modules/@babel/runtime/helpers/arrayWithHoles.js ***!
  \***************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("function _arrayWithHoles(arr) {\n  if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/@babel/runtime/helpers/arrayWithHoles.js?");

/***/ }),

/***/ "./node_modules/@babel/runtime/helpers/defineProperty.js":
/*!***************************************************************!*\
  !*** ./node_modules/@babel/runtime/helpers/defineProperty.js ***!
  \***************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("function _defineProperty(obj, key, value) {\n  if (key in obj) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n}\n\nmodule.exports = _defineProperty;\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/@babel/runtime/helpers/defineProperty.js?");

/***/ }),

/***/ "./node_modules/@babel/runtime/helpers/inheritsLoose.js":
/*!**************************************************************!*\
  !*** ./node_modules/@babel/runtime/helpers/inheritsLoose.js ***!
  \**************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("function _inheritsLoose(subClass, superClass) {\n  subClass.prototype = Object.create(superClass.prototype);\n  subClass.prototype.constructor = subClass;\n  subClass.__proto__ = superClass;\n}\n\nmodule.exports = _inheritsLoose;\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/@babel/runtime/helpers/inheritsLoose.js?");

/***/ }),

/***/ "./node_modules/@babel/runtime/helpers/interopRequireDefault.js":
/*!**********************************************************************!*\
  !*** ./node_modules/@babel/runtime/helpers/interopRequireDefault.js ***!
  \**********************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("function _interopRequireDefault(obj) {\n  return obj && obj.__esModule ? obj : {\n    \"default\": obj\n  };\n}\n\nmodule.exports = _interopRequireDefault;\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/@babel/runtime/helpers/interopRequireDefault.js?");

/***/ }),

/***/ "./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js":
/*!*********************************************************************!*\
  !*** ./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***!
  \*********************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("function _iterableToArrayLimit(arr, i) {\n  if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) {\n    return;\n  }\n\n  var _arr = [];\n  var _n = true;\n  var _d = false;\n  var _e = undefined;\n\n  try {\n    for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n      _arr.push(_s.value);\n\n      if (i && _arr.length === i) break;\n    }\n  } catch (err) {\n    _d = true;\n    _e = err;\n  } finally {\n    try {\n      if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n    } finally {\n      if (_d) throw _e;\n    }\n  }\n\n  return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js?");

/***/ }),

/***/ "./node_modules/@babel/runtime/helpers/nonIterableRest.js":
/*!****************************************************************!*\
  !*** ./node_modules/@babel/runtime/helpers/nonIterableRest.js ***!
  \****************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("function _nonIterableRest() {\n  throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nmodule.exports = _nonIterableRest;\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/@babel/runtime/helpers/nonIterableRest.js?");

/***/ }),

/***/ "./node_modules/@babel/runtime/helpers/objectWithoutProperties.js":
/*!************************************************************************!*\
  !*** ./node_modules/@babel/runtime/helpers/objectWithoutProperties.js ***!
  \************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var objectWithoutPropertiesLoose = __webpack_require__(/*! ./objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\");\n\nfunction _objectWithoutProperties(source, excluded) {\n  if (source == null) return {};\n  var target = objectWithoutPropertiesLoose(source, excluded);\n  var key, i;\n\n  if (Object.getOwnPropertySymbols) {\n    var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n    for (i = 0; i < sourceSymbolKeys.length; i++) {\n      key = sourceSymbolKeys[i];\n      if (excluded.indexOf(key) >= 0) continue;\n      if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n      target[key] = source[key];\n    }\n  }\n\n  return target;\n}\n\nmodule.exports = _objectWithoutProperties;\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/@babel/runtime/helpers/objectWithoutProperties.js?");

/***/ }),

/***/ "./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js":
/*!*****************************************************************************!*\
  !*** ./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js ***!
  \*****************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("function _objectWithoutPropertiesLoose(source, excluded) {\n  if (source == null) return {};\n  var target = {};\n  var sourceKeys = Object.keys(source);\n  var key, i;\n\n  for (i = 0; i < sourceKeys.length; i++) {\n    key = sourceKeys[i];\n    if (excluded.indexOf(key) >= 0) continue;\n    target[key] = source[key];\n  }\n\n  return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js?");

/***/ }),

/***/ "./node_modules/@babel/runtime/helpers/slicedToArray.js":
/*!**************************************************************!*\
  !*** ./node_modules/@babel/runtime/helpers/slicedToArray.js ***!
  \**************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles */ \"./node_modules/@babel/runtime/helpers/arrayWithHoles.js\");\n\nvar iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit */ \"./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js\");\n\nvar nonIterableRest = __webpack_require__(/*! ./nonIterableRest */ \"./node_modules/@babel/runtime/helpers/nonIterableRest.js\");\n\nfunction _slicedToArray(arr, i) {\n  return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/@babel/runtime/helpers/slicedToArray.js?");

/***/ }),

/***/ "./node_modules/@babel/runtime/helpers/typeof.js":
/*!*******************************************************!*\
  !*** ./node_modules/@babel/runtime/helpers/typeof.js ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("function _typeof(obj) {\n  \"@babel/helpers - typeof\";\n\n  if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n    module.exports = _typeof = function _typeof(obj) {\n      return typeof obj;\n    };\n  } else {\n    module.exports = _typeof = function _typeof(obj) {\n      return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n    };\n  }\n\n  return _typeof(obj);\n}\n\nmodule.exports = _typeof;\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/@babel/runtime/helpers/typeof.js?");

/***/ }),

/***/ "./node_modules/@gem-mine/request-adapter-xhr/lib/helper/btoa.js":
/*!***********************************************************************!*\
  !*** ./node_modules/@gem-mine/request-adapter-xhr/lib/helper/btoa.js ***!
  \***********************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval(" // btoa polyfill for IE<10 courtesy https://github.com/davidchambers/Base64.js\n\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\nfunction E() {\n  this.message = 'String contains an invalid character';\n}\n\nE.prototype = new Error();\nE.prototype.code = 5;\nE.prototype.name = 'InvalidCharacterError';\n\nfunction btoa(input) {\n  var str = String(input);\n  var output = '';\n\n  for ( // initialize result and counter\n  var block, charCode, idx = 0, map = chars; // if the next str index does not exist:\n  //   change the mapping table to \"=\"\n  //   check if d has no fractional digits\n  str.charAt(idx | 0) || (map = '=', idx % 1); // \"8 - idx % 1 * 8\" generates the sequence 2, 4, 6, 8\n  output += map.charAt(63 & block >> 8 - idx % 1 * 8)) {\n    charCode = str.charCodeAt(idx += 3 / 4);\n\n    if (charCode > 0xFF) {\n      throw new E();\n    }\n\n    block = block << 8 | charCode;\n  }\n\n  return output;\n}\n\nmodule.exports = btoa;\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/@gem-mine/request-adapter-xhr/lib/helper/btoa.js?");

/***/ }),

/***/ "./node_modules/@gem-mine/request-adapter-xhr/lib/helper/buildURL.js":
/*!***************************************************************************!*\
  !*** ./node_modules/@gem-mine/request-adapter-xhr/lib/helper/buildURL.js ***!
  \***************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar utils = __webpack_require__(/*! ./utils */ \"./node_modules/@gem-mine/request-adapter-xhr/lib/helper/utils.js\");\n\nfunction encode(val) {\n  return encodeURIComponent(val).replace(/%40/gi, '@').replace(/%3A/gi, ':').replace(/%24/g, '$').replace(/%2C/gi, ',').replace(/%20/g, '+').replace(/%5B/gi, '[').replace(/%5D/gi, ']');\n}\n/**\r\n * Build a URL by appending params to the end\r\n *\r\n * @param {string} url The base of the url (e.g., http://www.google.com)\r\n * @param {object} [params] The params to be appended\r\n * @returns {string} The formatted url\r\n */\n\n\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n  /* eslint no-param-reassign:0 */\n  if (!params) {\n    return url;\n  }\n\n  var serializedParams;\n\n  if (paramsSerializer) {\n    serializedParams = paramsSerializer(params);\n  } else if (utils.isURLSearchParams(params)) {\n    serializedParams = params.toString();\n  } else {\n    var parts = [];\n    utils.forEach(params, function serialize(val, key) {\n      if (val === null || typeof val === 'undefined') {\n        return;\n      }\n\n      if (utils.isArray(val)) {\n        key = key + '[]';\n      } else {\n        val = [val];\n      }\n\n      utils.forEach(val, function parseValue(v) {\n        if (utils.isDate(v)) {\n          v = v.toISOString();\n        } else if (utils.isObject(v)) {\n          v = JSON.stringify(v);\n        }\n\n        parts.push(encode(key) + '=' + encode(v));\n      });\n    });\n    serializedParams = parts.join('&');\n  }\n\n  if (serializedParams) {\n    url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n  }\n\n  return url;\n};\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/@gem-mine/request-adapter-xhr/lib/helper/buildURL.js?");

/***/ }),

/***/ "./node_modules/@gem-mine/request-adapter-xhr/lib/helper/createError.js":
/*!******************************************************************************!*\
  !*** ./node_modules/@gem-mine/request-adapter-xhr/lib/helper/createError.js ***!
  \******************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar enhanceError = __webpack_require__(/*! ./enhanceError */ \"./node_modules/@gem-mine/request-adapter-xhr/lib/helper/enhanceError.js\");\n/**\r\n * Create an Error with the specified message, config, error code, request and response.\r\n *\r\n * @param {string} message The error message.\r\n * @param {Object} config The config.\r\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\r\n * @param {Object} [request] The request.\r\n * @param {Object} [response] The response.\r\n * @returns {Error} The created error.\r\n */\n\n\nmodule.exports = function createError(message, config, code, request, response) {\n  var error = new Error(message);\n  return enhanceError(error, config, code, request, response);\n};\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/@gem-mine/request-adapter-xhr/lib/helper/createError.js?");

/***/ }),

/***/ "./node_modules/@gem-mine/request-adapter-xhr/lib/helper/enhanceError.js":
/*!*******************************************************************************!*\
  !*** ./node_modules/@gem-mine/request-adapter-xhr/lib/helper/enhanceError.js ***!
  \*******************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\n\nmodule.exports = function enhanceError(error, config, code, request, response) {\n  error.config = config;\n\n  if (code) {\n    error.code = code;\n  }\n\n  error.request = request;\n  error.response = response;\n  return error;\n};\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/@gem-mine/request-adapter-xhr/lib/helper/enhanceError.js?");

/***/ }),

/***/ "./node_modules/@gem-mine/request-adapter-xhr/lib/helper/isURLSameOrigin.js":
/*!**********************************************************************************!*\
  !*** ./node_modules/@gem-mine/request-adapter-xhr/lib/helper/isURLSameOrigin.js ***!
  \**********************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar utils = __webpack_require__(/*! ./utils */ \"./node_modules/@gem-mine/request-adapter-xhr/lib/helper/utils.js\");\n\nmodule.exports = utils.isStandardBrowserEnv() // Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n? function standardBrowserEnv() {\n  var msie = /(msie|trident)/i.test(navigator.userAgent);\n  var urlParsingNode = document.createElement('a');\n  /**\r\n  * Parse a URL to discover it's components\r\n  *\r\n  * @param {String} url The URL to be parsed\r\n  * @returns {Object}\r\n  */\n\n  function resolveURL(url) {\n    var href = url;\n\n    if (msie) {\n      // IE needs attribute set twice to normalize properties\n      urlParsingNode.setAttribute('href', href);\n      href = urlParsingNode.href;\n    }\n\n    urlParsingNode.setAttribute('href', href); // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n\n    return {\n      href: urlParsingNode.href,\n      protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n      host: urlParsingNode.host,\n      search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n      hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n      hostname: urlParsingNode.hostname,\n      port: urlParsingNode.port,\n      pathname: urlParsingNode.pathname.charAt(0) === '/' ? urlParsingNode.pathname : '/' + urlParsingNode.pathname\n    };\n  }\n\n  var originURL = resolveURL(window.location.href);\n  /**\r\n  * Determine if a URL shares the same origin as the current location\r\n  *\r\n  * @param {String} requestURL The URL to test\r\n  * @returns {boolean} True if URL shares the same origin, otherwise false\r\n  */\n\n  return function isURLSameOrigin(requestURL) {\n    var parsed = utils.isString(requestURL) ? resolveURL(requestURL) : requestURL;\n    return parsed.protocol === originURL.protocol && parsed.host === originURL.host;\n  };\n}() // Non standard browser envs (web workers, react-native) lack needed support.\n: function nonStandardBrowserEnv() {\n  return function isURLSameOrigin() {\n    return true;\n  };\n}();\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/@gem-mine/request-adapter-xhr/lib/helper/isURLSameOrigin.js?");

/***/ }),

/***/ "./node_modules/@gem-mine/request-adapter-xhr/lib/helper/parseHeaders.js":
/*!*******************************************************************************!*\
  !*** ./node_modules/@gem-mine/request-adapter-xhr/lib/helper/parseHeaders.js ***!
  \*******************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar utils = __webpack_require__(/*! ./utils */ \"./node_modules/@gem-mine/request-adapter-xhr/lib/helper/utils.js\"); // Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\n\n\nvar ignoreDuplicateOf = ['age', 'authorization', 'content-length', 'content-type', 'etag', 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', 'last-modified', 'location', 'max-forwards', 'proxy-authorization', 'referer', 'retry-after', 'user-agent'];\n/**\r\n * Parse headers into an object\r\n *\r\n * ```\r\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\r\n * Content-Type: application/json\r\n * Connection: keep-alive\r\n * Transfer-Encoding: chunked\r\n * ```\r\n *\r\n * @param {String} headers Headers needing to be parsed\r\n * @returns {Object} Headers parsed into an object\r\n */\n\nmodule.exports = function parseHeaders(headers) {\n  var parsed = {};\n  var key;\n  var val;\n  var i;\n\n  if (!headers) {\n    return parsed;\n  }\n\n  utils.forEach(headers.split('\\n'), function parser(line) {\n    i = line.indexOf(':');\n    key = utils.trim(line.substr(0, i)).toLowerCase();\n    val = utils.trim(line.substr(i + 1));\n\n    if (key) {\n      if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n        return;\n      }\n\n      if (key === 'set-cookie') {\n        parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n      } else {\n        parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n      }\n    }\n  });\n  return parsed;\n};\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/@gem-mine/request-adapter-xhr/lib/helper/parseHeaders.js?");

/***/ }),

/***/ "./node_modules/@gem-mine/request-adapter-xhr/lib/helper/settle.js":
/*!*************************************************************************!*\
  !*** ./node_modules/@gem-mine/request-adapter-xhr/lib/helper/settle.js ***!
  \*************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar createError = __webpack_require__(/*! ./createError */ \"./node_modules/@gem-mine/request-adapter-xhr/lib/helper/createError.js\");\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\n\n\nmodule.exports = function settle(resolve, reject, response) {\n  var validateStatus = response.config.validateStatus; // Note: status is not exposed by XDomainRequest\n\n  if (!response.status || !validateStatus || validateStatus(response.status)) {\n    resolve(response);\n  } else {\n    reject(createError('Request failed with status code ' + response.status, response.config, null, response.request, response));\n  }\n};\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/@gem-mine/request-adapter-xhr/lib/helper/settle.js?");

/***/ }),

/***/ "./node_modules/@gem-mine/request-adapter-xhr/lib/helper/utils.js":
/*!************************************************************************!*\
  !*** ./node_modules/@gem-mine/request-adapter-xhr/lib/helper/utils.js ***!
  \************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ \"./node_modules/@babel/runtime/helpers/typeof.js\"));\n\nvar toString = Object.prototype.toString;\n/**\r\n * Determine if a value is a URLSearchParams object\r\n *\r\n * @param {Object} val The value to test\r\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\r\n */\n\nfunction isURLSearchParams(val) {\n  return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n/**\r\n * Determine if a value is an Array\r\n *\r\n * @param {Object} val The value to test\r\n * @returns {boolean} True if value is an Array, otherwise false\r\n */\n\n\nfunction isArray(val) {\n  return toString.call(val) === '[object Array]';\n}\n/**\r\n * Determine if a value is a Date\r\n *\r\n * @param {Object} val The value to test\r\n * @returns {boolean} True if value is a Date, otherwise false\r\n */\n\n\nfunction isDate(val) {\n  return toString.call(val) === '[object Date]';\n}\n/**\r\n * Determine if a value is an Object\r\n *\r\n * @param {Object} val The value to test\r\n * @returns {boolean} True if value is an Object, otherwise false\r\n */\n\n\nfunction isObject(val) {\n  return val !== null && (0, _typeof2[\"default\"])(val) === 'object';\n}\n/**\r\n * Iterate over an Array or an Object invoking a function for each item.\r\n *\r\n * If `obj` is an Array callback will be called passing\r\n * the value, index, and complete array for each item.\r\n *\r\n * If 'obj' is an Object callback will be called passing\r\n * the value, key, and complete object for each property.\r\n *\r\n * @param {Object|Array} obj The object to iterate\r\n * @param {Function} fn The callback to invoke for each item\r\n */\n\n\nfunction forEach(obj, fn) {\n  // Don't bother if no value provided\n  if (obj === null || typeof obj === 'undefined') {\n    return;\n  } // Force an array if not already something iterable\n\n\n  if ((0, _typeof2[\"default\"])(obj) !== 'object') {\n    /* eslint no-param-reassign:0 */\n    obj = [obj];\n  }\n\n  if (isArray(obj)) {\n    // Iterate over array values\n    for (var i = 0, l = obj.length; i < l; i++) {\n      fn.call(null, obj[i], i, obj);\n    }\n  } else {\n    // Iterate over object keys\n    for (var key in obj) {\n      if (Object.prototype.hasOwnProperty.call(obj, key)) {\n        fn.call(null, obj[key], key, obj);\n      }\n    }\n  }\n}\n/**\r\n * Determine if we're running in a standard browser environment\r\n *\r\n * This allows axios to run in a web worker, and react-native.\r\n * Both environments support XMLHttpRequest, but not fully standard globals.\r\n *\r\n * web workers:\r\n *  typeof window -> undefined\r\n *  typeof document -> undefined\r\n *\r\n * react-native:\r\n *  navigator.product -> 'ReactNative'\r\n */\n\n\nfunction isStandardBrowserEnv() {\n  if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n    return false;\n  }\n\n  return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\n/**\r\n * Determine if a value is a String\r\n *\r\n * @param {Object} val The value to test\r\n * @returns {boolean} True if value is a String, otherwise false\r\n */\n\n\nfunction isString(val) {\n  return typeof val === 'string';\n}\n/**\r\n * Determine if a value is a FormData\r\n *\r\n * @param {Object} val The value to test\r\n * @returns {boolean} True if value is an FormData, otherwise false\r\n */\n\n\nfunction isFormData(val) {\n  return typeof FormData !== 'undefined' && val instanceof FormData;\n}\n/**\r\n * Trim excess whitespace off the beginning and end of a string\r\n *\r\n * @param {String} str The String to trim\r\n * @returns {String} The String freed of excess whitespace\r\n */\n\n\nfunction trim(str) {\n  return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\nmodule.exports = {\n  isURLSearchParams: isURLSearchParams,\n  forEach: forEach,\n  isArray: isArray,\n  isDate: isDate,\n  isObject: isObject,\n  isStandardBrowserEnv: isStandardBrowserEnv,\n  isString: isString,\n  isFormData: isFormData,\n  trim: trim\n};\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/@gem-mine/request-adapter-xhr/lib/helper/utils.js?");

/***/ }),

/***/ "./node_modules/@gem-mine/request-adapter-xhr/lib/index.js":
/*!*****************************************************************!*\
  !*** ./node_modules/@gem-mine/request-adapter-xhr/lib/index.js ***!
  \*****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar utils = __webpack_require__(/*! ./helper/utils */ \"./node_modules/@gem-mine/request-adapter-xhr/lib/helper/utils.js\");\n\nvar settle = __webpack_require__(/*! ./helper/settle */ \"./node_modules/@gem-mine/request-adapter-xhr/lib/helper/settle.js\");\n\nvar buildURL = __webpack_require__(/*! ./helper/buildURL */ \"./node_modules/@gem-mine/request-adapter-xhr/lib/helper/buildURL.js\");\n\nvar parseHeaders = __webpack_require__(/*! ./helper/parseHeaders */ \"./node_modules/@gem-mine/request-adapter-xhr/lib/helper/parseHeaders.js\");\n\nvar isURLSameOrigin = __webpack_require__(/*! ./helper/isURLSameOrigin */ \"./node_modules/@gem-mine/request-adapter-xhr/lib/helper/isURLSameOrigin.js\");\n\nvar createError = __webpack_require__(/*! ./helper/createError */ \"./node_modules/@gem-mine/request-adapter-xhr/lib/helper/createError.js\");\n\nvar btoa = typeof window !== 'undefined' && window.btoa && window.btoa.bind(window) || __webpack_require__(/*! ./helper/btoa */ \"./node_modules/@gem-mine/request-adapter-xhr/lib/helper/btoa.js\");\n\nmodule.exports = function xhrAdapter(config) {\n  return new Promise(function dispatchXhrRequest(resolve, reject) {\n    var requestData = config.data;\n    var requestHeaders = config.headers;\n\n    if (utils.isFormData(requestData)) {\n      delete requestHeaders['Content-Type']; // Let the browser set it\n    }\n\n    var request = new XMLHttpRequest();\n    var loadEvent = 'onreadystatechange';\n    var xDomain = false; // For IE 8/9 CORS support\n    // Only supports POST and GET calls and doesn't returns the response headers.\n    // DON'T do this for testing b/c XMLHttpRequest is mocked, not XDomainRequest.\n\n    if ( true && typeof window !== 'undefined' && window.XDomainRequest && !('withCredentials' in request) && !isURLSameOrigin(config.url)) {\n      request = new window.XDomainRequest();\n      loadEvent = 'onload';\n      xDomain = true;\n\n      request.onprogress = function handleProgress() {};\n\n      request.ontimeout = function handleTimeout() {};\n    } // HTTP basic authentication\n\n\n    if (config.auth) {\n      var username = config.auth.username || '';\n      var password = config.auth.password || '';\n      requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n    }\n\n    request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true); // Set the request timeout in MS\n\n    request.timeout = config.timeout; // Listen for ready state\n\n    request[loadEvent] = function handleLoad() {\n      if (!request || request.readyState !== 4 && !xDomain) {\n        return;\n      } // The request errored out and we didn't get a response, this will be\n      // handled by onerror instead\n      // With one exception: request that using file: protocol, most browsers\n      // will return status as 0 even though it's a successful request\n\n\n      if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n        return;\n      } // Prepare the response\n\n\n      var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n      var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n      var response = {\n        data: responseData,\n        // IE sends 1223 instead of 204 (https://github.com/axios/axios/issues/201)\n        status: request.status === 1223 ? 204 : request.status,\n        statusText: request.status === 1223 ? 'No Content' : request.statusText,\n        headers: responseHeaders,\n        config: config,\n        request: request\n      };\n      settle(resolve, reject, response); // Clean up request\n\n      request = null;\n    }; // Handle low level network errors\n\n\n    request.onerror = function handleError() {\n      // Real errors are hidden from us by the browser\n      // onerror should only fire if it's a network error\n      reject(createError('Network Error', config, null, request)); // Clean up request\n\n      request = null;\n    }; // Handle timeout\n\n\n    request.ontimeout = function handleTimeout() {\n      reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED', request)); // Clean up request\n\n      request = null;\n    }; // Add xsrf header\n    // This is only done if running in a standard browser environment.\n    // Specifically not if we're in a web worker, or react-native.\n\n\n    if (utils.isStandardBrowserEnv()) {\n      var cookies = __webpack_require__(/*! axios/lib/helpers/cookies */ \"./node_modules/axios/lib/helpers/cookies.js\"); // Add xsrf header\n\n\n      var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ? cookies.read(config.xsrfCookieName) : undefined;\n\n      if (xsrfValue) {\n        requestHeaders[config.xsrfHeaderName] = xsrfValue;\n      }\n    } // Add headers to the request\n\n\n    if ('setRequestHeader' in request) {\n      utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n        if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n          // Remove Content-Type if data is undefined\n          delete requestHeaders[key];\n        } else {\n          // Otherwise add header to the request\n          request.setRequestHeader(key, val);\n        }\n      });\n    } // Add withCredentials to request if needed\n\n\n    if (config.withCredentials) {\n      request.withCredentials = true;\n    } // Add responseType to request if needed\n\n\n    if (config.responseType) {\n      try {\n        request.responseType = config.responseType;\n      } catch (e) {\n        // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n        // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n        if (config.responseType !== 'json') {\n          throw e;\n        }\n      }\n    } // Handle progress if needed\n\n\n    if (typeof config.onDownloadProgress === 'function') {\n      request.addEventListener('progress', config.onDownloadProgress);\n    } // Not all browsers support upload events\n\n\n    if (typeof config.onUploadProgress === 'function' && request.upload) {\n      request.upload.addEventListener('progress', config.onUploadProgress);\n    }\n\n    if (config.cancelToken) {\n      // Handle cancellation\n      config.cancelToken.promise.then(function onCanceled(cancel) {\n        if (!request) {\n          return;\n        }\n\n        request.abort();\n        reject(cancel); // Clean up request\n\n        request = null;\n      });\n    }\n\n    if (requestData === undefined) {\n      requestData = null;\n    } // Send the request\n\n\n    request.send(requestData);\n  });\n};\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/@gem-mine/request-adapter-xhr/lib/index.js?");

/***/ }),

/***/ "./node_modules/@gem-mine/request/dist/index.js":
/*!******************************************************!*\
  !*** ./node_modules/@gem-mine/request/dist/index.js ***!
  \******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar axios_1 = __webpack_require__(/*! axios */ \"./node_modules/axios/index.js\");\nvar whenToShowLoading = 1500;\n// 默认配置\nvar defaults = {\n    url: '',\n    method: 'get',\n    timeout: 15000,\n    withCredentials: false,\n    whenToShowLoading: whenToShowLoading,\n    before: undefined,\n    loading: function () {\n        console.warn(\"\\u5F53\\u4F60\\u770B\\u5230\\u6B64\\u63D0\\u793A\\u65F6\\uFF0C\\u8BF4\\u660E\\u5B58\\u5728\\u670D\\u52A1\\u7AEF\\u8D85\\u8FC7 \" + whenToShowLoading + \" ms \\u7684\\u8BF7\\u6C42\\uFF0C\\u5E76\\u4E14\\u6CA1\\u6709\\u8FDB\\u884C\\u5168\\u5C40 loading \\u914D\\u7F6E\\uFF0C\\u8BF7\\u53C2\\u770B request.config \\u8FDB\\u884C\\u914D\\u7F6E\");\n    },\n    verify: function () {\n        return true;\n    },\n    transform: undefined,\n    success: undefined,\n    // function, 请求失败处理函数\n    error: function (error) {\n        return Promise.reject(error);\n    },\n    customError: false,\n    complete: undefined\n};\n// 域配置的 cache\nvar domainDefaultConfig = {};\nvar KEYS = [\n    'whenToShowLoading',\n    'before',\n    'loading',\n    'verify',\n    'transform',\n    'success',\n    'error',\n    'customError',\n    'complete'\n];\nfunction isFunction(fn) {\n    return typeof fn === 'function';\n}\n/**\n * 将字符串中的两个双斜杆处理成一个，但要排除 http:// 或者 https:// 或者 // 开头\n */\nfunction fixDobuleSlash(str) {\n    var _a = str.split(/\\/+/), first = _a[0], arr = _a.slice(1);\n    var left = arr.length ? arr.join('/') : '';\n    if (/^https?:/.test(first) || /^\\/\\//.test(str)) {\n        return first + \"//\" + left;\n    }\n    return first + \"/\" + left;\n}\nfunction trim(str) {\n    return str.replace(/^\\s+|\\s+$/g, '');\n}\nfunction join() {\n    var strs = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        strs[_i] = arguments[_i];\n    }\n    var s = '';\n    for (var i = 0; i < strs.length; i++) {\n        var item = strs[i];\n        if (item) {\n            item = trim(item);\n        }\n        if (item) {\n            if (item[0] !== '/' && !/^https?:/.test(item)) {\n                s += '/' + item;\n            }\n            else {\n                s += item;\n            }\n        }\n    }\n    return s;\n}\nvar _requestIndex = 0;\nvar Action = /** @class */ (function () {\n    function Action(instance, setting) {\n        this.instance = instance;\n        this.name = setting.name;\n        this.setting = setting;\n        Object.assign({\n            name: setting.name,\n            prefix: setting.prefix ? setting.prefix.replace(/^\\/+/, '/') : '',\n            url: setting.url || ''\n        });\n    }\n    /**\n     * 核心请求方法\n     * @param params 请求参数对象\n     */\n    Action.prototype.request = function (params) {\n        var _this = this;\n        KEYS.forEach(function (key) {\n            if (isFunction(params[key])) {\n                params[key] = params[key].bind(_this);\n            }\n        });\n        var prefix = this.setting.prefix || '';\n        params.url = join(prefix, params.url);\n        if (!this.setting.wds) {\n            params.url = join(this.setting.url, params.url);\n        }\n        params.url = fixDobuleSlash(params.url);\n        params = Object.assign({}, defaults, domainDefaultConfig[this.setting.name], params);\n        this.params = params;\n        var shouldContinue = true;\n        if (params.before) {\n            shouldContinue = params.before.call(this, params);\n        }\n        if (shouldContinue !== false) {\n            if (typeof shouldContinue === 'object') {\n                this.params = shouldContinue;\n            }\n            var timer_1 = setTimeout(function () {\n                if (params.loading) {\n                    params.loading.call(_this);\n                }\n            }, params.whenToShowLoading);\n            var clear_1 = function () {\n                if (timer_1) {\n                    clearTimeout(timer_1);\n                }\n            };\n            var requestParams_1 = {};\n            Object.keys(this.params).forEach(function (key) {\n                if (KEYS.indexOf(key) === -1) {\n                    requestParams_1[key] = _this.params[key];\n                }\n            });\n            return this.instance(requestParams_1)\n                .then(function (res) {\n                clear_1();\n                var flag = true;\n                var data = res.data;\n                if (params.verify) {\n                    flag = params.verify(res) !== false;\n                }\n                if (flag) {\n                    if (params.transform) {\n                        data = params.transform.call(_this, data, true);\n                    }\n                    if (params.success) {\n                        params.success.call(_this, data);\n                    }\n                    if (params.complete) {\n                        params.complete.call(_this, data);\n                    }\n                    return Promise.resolve(data);\n                }\n                else {\n                    // 进入 catch\n                    throw res;\n                }\n            })\n                .catch(function (error) {\n                try {\n                    clear_1();\n                    var err = error;\n                    if (params.transform) {\n                        err = params.transform.call(_this, err, false);\n                    }\n                    else {\n                        if (error.response) {\n                            // http status error\n                            err = error.response;\n                        }\n                        else {\n                            // 根据verify返回false认为的error\n                            err = { data: error.data, status: 400 };\n                        }\n                    }\n                    if (params.complete) {\n                        params.complete.call(_this, err);\n                    }\n                    if (params.customError === true) {\n                        // 继续传递，自行 .catch 捕获处理\n                        return Promise.reject(err);\n                    }\n                    else {\n                        if (params.error) {\n                            var result = params.error.call(_this, err);\n                            // 允许 error 中返回结果，通常用于返回异常以供后续 .catch 捕获\n                            if (result) {\n                                return result;\n                            }\n                        }\n                        // error 中没有 throw error 或者 return Promise.reject 则中断处理\n                        return new Promise(function () { });\n                    }\n                }\n                catch (e) {\n                    // 非请求造成异常，直接报错\n                    clear_1();\n                    throw error;\n                }\n            });\n        }\n        else {\n            return new Promise(function () { });\n        }\n    };\n    return Action;\n}());\nvar GLOBAL_REQUEST = '__global__';\nvar request = function (setting) {\n    var instance = axios_1.default.create();\n    if (!setting) {\n        setting = {};\n    }\n    if (setting.prefix) {\n        setting.prefix = setting.prefix.replace(/^\\/+/, '/');\n    }\n    var _setting = Object.assign({\n        name: \"request_\" + ++_requestIndex + \"_\" + Math.ceil(Math.random() * 10000),\n        url: '',\n        prefix: ''\n    }, setting);\n    var apiName = _setting.name;\n    var actions = {\n        setting: _setting,\n        // API 域的配置\n        config: function (requestGlobalSetting) {\n            if (apiName === GLOBAL_REQUEST) {\n                for (var key in requestGlobalSetting) {\n                    defaults[key] = requestGlobalSetting[key];\n                }\n            }\n            else {\n                domainDefaultConfig[apiName] = Object.assign({}, domainDefaultConfig[apiName], requestGlobalSetting);\n            }\n        },\n        request: function (params) {\n            var req = new Action(instance, _setting);\n            return req.request(params);\n        },\n        get: function (url, params) {\n            var req = new Action(instance, _setting);\n            var options = Object.assign({}, params, {\n                url: url,\n                method: 'get'\n            });\n            var useCache = false; // 不使用 cache，默认会在 get 请求中添加随机数来避免 IE ajax 的缓存问题\n            // 请求中主动使用 cache\n            if (params && params.cache === true) {\n                useCache = true;\n            }\n            // 域配置主动使用 cache\n            if (!useCache) {\n                if (apiName !== GLOBAL_REQUEST && domainDefaultConfig[apiName] && domainDefaultConfig[apiName].cache === true) {\n                    useCache = true;\n                }\n            }\n            // 全局配置主动使用 cache\n            if (!useCache) {\n                if (defaults && defaults.cache === true) {\n                    useCache = true;\n                }\n            }\n            if (!useCache) {\n                options.params = Object.assign({}, options.params, {\n                    _r: Date.now()\n                });\n            }\n            return req.request(options);\n        },\n        post: function (url, params) {\n            var req = new Action(instance, _setting);\n            var options = Object.assign({}, params, {\n                url: url,\n                method: 'post'\n            });\n            return req.request(options);\n        },\n        patch: function (url, params) {\n            var req = new Action(instance, _setting);\n            var options = Object.assign({}, params, {\n                url: url,\n                method: 'patch'\n            });\n            return req.request(options);\n        },\n        put: function (url, params) {\n            var req = new Action(instance, _setting);\n            var options = Object.assign({}, params, {\n                url: url,\n                method: 'put'\n            });\n            return req.request(options);\n        },\n        delete: function (url, params) {\n            var req = new Action(instance, _setting);\n            var options = Object.assign({}, params, {\n                url: url,\n                method: 'delete'\n            });\n            return req.request(options);\n        },\n        head: function (url, params) {\n            var req = new Action(instance, _setting);\n            var options = Object.assign({}, params, {\n                url: url,\n                method: 'head'\n            });\n            return req.request(options);\n        }\n    };\n    return actions;\n};\n/**\n * 初始化\n */\nvar _init = false;\nfunction init(apis, param) {\n    if (_init) {\n        console.warn('request.init should be called only once time');\n    }\n    else {\n        _init = true;\n    }\n    var _a = param || {}, _b = _a.env, env = _b === void 0 ? '' : _b, _c = _a.wds, wds = _c === void 0 ? false : _c, _d = _a.defaultEnv, defaultEnv = _d === void 0 ? 'defaults' : _d;\n    Object.keys(apis).forEach(function (apiName) {\n        // api name 合法性检测\n        if (request.hasOwnProperty(apiName)) {\n            throw new Error(apiName + \" \\u4E0D\\u80FD\\u4F5C\\u4E3A\\u8BF7\\u6C42\\u547D\\u540D\");\n        }\n        var setting;\n        var api = apis[apiName];\n        if (wds && api.wds) {\n            setting = __assign({}, api.wds, { env: 'wds', name: apiName, wds: true, prefix: fixDobuleSlash(\"/\" + apiName + \"_wds/\" + (api.wds.prefix || '')) });\n        }\n        else {\n            if (api[env]) {\n                setting = Object.assign({}, api[env], { name: apiName, env: env });\n            }\n            else {\n                setting = Object.assign({}, api[defaultEnv], { name: apiName, env: defaultEnv });\n            }\n        }\n        // 为每个 API 域请求分配一个请求对象\n        request[apiName] = request(setting);\n    });\n    return request;\n}\nexports.init = init;\n/**\n * 提供给 webpack-dev-server 使用的 proxy 配置\n */\nfunction wdsProxySetting(apis, proxySetting) {\n    var proxy = {};\n    Object.keys(apis).forEach(function (apiName) {\n        var _a;\n        var api = apis[apiName];\n        var wds = api.wds;\n        if (wds) {\n            var prefix = \"/\" + apiName + \"_wds\";\n            if (proxySetting) {\n                Object.keys(proxySetting).forEach(function (key) {\n                    if (isFunction(proxySetting[key])) {\n                        proxySetting[key] = proxySetting[key].bind(wds);\n                    }\n                });\n            }\n            proxy[prefix] = Object.assign({\n                target: wds.url,\n                changeOrigin: true,\n                secure: false,\n                pathRewrite: (_a = {}, _a[\"^\" + prefix] = '', _a)\n            }, proxySetting);\n        }\n    });\n    return proxy;\n}\nexports.wdsProxySetting = wdsProxySetting;\n// 全局请求注入，以方便直接使用 request.get/post...\nvar globalRequest = request({\n    name: GLOBAL_REQUEST\n});\nObject.keys(globalRequest).forEach(function (key) {\n    if (globalRequest.hasOwnProperty(key)) {\n        if (typeof globalRequest[key] === 'function') {\n            request[key] = globalRequest[key];\n        }\n    }\n});\nrequest.init = init;\nrequest.wdsProxySetting = wdsProxySetting;\nexports.default = request;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/@gem-mine/request/dist/index.js?");

/***/ }),

/***/ "./node_modules/@sdp.nd/request-adapter-waf/dist/index.js":
/*!****************************************************************!*\
  !*** ./node_modules/@sdp.nd/request-adapter-waf/dist/index.js ***!
  \****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\r\nvar __assign = (this && this.__assign) || function () {\r\n    __assign = Object.assign || function(t) {\r\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n                t[p] = s[p];\r\n        }\r\n        return t;\r\n    };\r\n    return __assign.apply(this, arguments);\r\n};\r\nvar __rest = (this && this.__rest) || function (s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n            t[p[i]] = s[p[i]];\r\n    return t;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar isURLSameOrigin = __webpack_require__(/*! @gem-mine/request-adapter-xhr/lib/helper/isURLSameOrigin */ \"./node_modules/@gem-mine/request-adapter-xhr/lib/helper/isURLSameOrigin.js\");\r\nvar buildURL = __webpack_require__(/*! @gem-mine/request-adapter-xhr/lib/helper/buildURL */ \"./node_modules/@gem-mine/request-adapter-xhr/lib/helper/buildURL.js\");\r\nvar xhrAdapter = __webpack_require__(/*! @gem-mine/request-adapter-xhr */ \"./node_modules/@gem-mine/request-adapter-xhr/lib/index.js\");\r\nfunction isXDomain(url) {\r\n    if (typeof window !== 'undefined' &&\r\n        window.XDomainRequest && !('withCredentials' in new window.XMLHttpRequest()) &&\r\n        !isURLSameOrigin(url)) {\r\n        return true;\r\n    }\r\n    return false;\r\n}\r\nfunction convertRequest(config) {\r\n    var method = config.method, headers = config.headers, _a = config.params, params = _a === void 0 ? {} : _a, data = config.data, restConfig = __rest(config, [\"method\", \"headers\", \"params\", \"data\"]);\r\n    return Object.assign({}, restConfig, {\r\n        method: 'POST',\r\n        params: __assign({}, params, { $proxy: 'body' }),\r\n        data: {\r\n            $method: method,\r\n            $headers: headers,\r\n            $body: data,\r\n        },\r\n    });\r\n}\r\nfunction convertResponse(response) {\r\n    if (response.$status) { // 请求库直接返回 data\r\n        var $status_1 = response.$status, $status_text_1 = response.$status_text, $headers_1 = response.$headers, $body_1 = response.$body;\r\n        var data_1 = $body_1 !== undefined ? JSON.parse($body_1) : $body_1;\r\n        return {\r\n            data: data_1,\r\n            status: $status_1,\r\n            statusText: $status_text_1,\r\n            headers: $headers_1,\r\n            message: (data_1 && data_1.message) || $status_text_1,\r\n        };\r\n    }\r\n    var _a = response.data, $status = _a.$status, $status_text = _a.$status_text, $headers = _a.$headers, $body = _a.$body, config = response.config, request = response.request;\r\n    var data = $body !== undefined ? JSON.parse($body) : $body;\r\n    return {\r\n        data: data,\r\n        headers: $headers,\r\n        status: $status,\r\n        statusText: $status_text,\r\n        message: (data && data.message) || $status_text,\r\n        config: config,\r\n        request: request\r\n    };\r\n}\r\nmodule.exports = {\r\n    isXDomain: isXDomain,\r\n    convertRequest: convertRequest,\r\n    convertResponse: convertResponse,\r\n    buildURL: buildURL,\r\n    xhrAdapter: xhrAdapter\r\n};\r\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/@sdp.nd/request-adapter-waf/dist/index.js?");

/***/ }),

/***/ "./node_modules/axios/index.js":
/*!*************************************!*\
  !*** ./node_modules/axios/index.js ***!
  \*************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("module.exports = __webpack_require__(/*! ./lib/axios */ \"./node_modules/axios/lib/axios.js\");\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/axios/index.js?");

/***/ }),

/***/ "./node_modules/axios/lib/adapters/xhr.js":
/*!************************************************!*\
  !*** ./node_modules/axios/lib/adapters/xhr.js ***!
  \************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\nvar settle = __webpack_require__(/*! ./../core/settle */ \"./node_modules/axios/lib/core/settle.js\");\nvar buildURL = __webpack_require__(/*! ./../helpers/buildURL */ \"./node_modules/axios/lib/helpers/buildURL.js\");\nvar parseHeaders = __webpack_require__(/*! ./../helpers/parseHeaders */ \"./node_modules/axios/lib/helpers/parseHeaders.js\");\nvar isURLSameOrigin = __webpack_require__(/*! ./../helpers/isURLSameOrigin */ \"./node_modules/axios/lib/helpers/isURLSameOrigin.js\");\nvar createError = __webpack_require__(/*! ../core/createError */ \"./node_modules/axios/lib/core/createError.js\");\nvar btoa = (typeof window !== 'undefined' && window.btoa && window.btoa.bind(window)) || __webpack_require__(/*! ./../helpers/btoa */ \"./node_modules/axios/lib/helpers/btoa.js\");\n\nmodule.exports = function xhrAdapter(config) {\n  return new Promise(function dispatchXhrRequest(resolve, reject) {\n    var requestData = config.data;\n    var requestHeaders = config.headers;\n\n    if (utils.isFormData(requestData)) {\n      delete requestHeaders['Content-Type']; // Let the browser set it\n    }\n\n    var request = new XMLHttpRequest();\n    var loadEvent = 'onreadystatechange';\n    var xDomain = false;\n\n    // For IE 8/9 CORS support\n    // Only supports POST and GET calls and doesn't returns the response headers.\n    // DON'T do this for testing b/c XMLHttpRequest is mocked, not XDomainRequest.\n    if ( true &&\n        typeof window !== 'undefined' &&\n        window.XDomainRequest && !('withCredentials' in request) &&\n        !isURLSameOrigin(config.url)) {\n      request = new window.XDomainRequest();\n      loadEvent = 'onload';\n      xDomain = true;\n      request.onprogress = function handleProgress() {};\n      request.ontimeout = function handleTimeout() {};\n    }\n\n    // HTTP basic authentication\n    if (config.auth) {\n      var username = config.auth.username || '';\n      var password = config.auth.password || '';\n      requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n    }\n\n    request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);\n\n    // Set the request timeout in MS\n    request.timeout = config.timeout;\n\n    // Listen for ready state\n    request[loadEvent] = function handleLoad() {\n      if (!request || (request.readyState !== 4 && !xDomain)) {\n        return;\n      }\n\n      // The request errored out and we didn't get a response, this will be\n      // handled by onerror instead\n      // With one exception: request that using file: protocol, most browsers\n      // will return status as 0 even though it's a successful request\n      if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n        return;\n      }\n\n      // Prepare the response\n      var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n      var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n      var response = {\n        data: responseData,\n        // IE sends 1223 instead of 204 (https://github.com/axios/axios/issues/201)\n        status: request.status === 1223 ? 204 : request.status,\n        statusText: request.status === 1223 ? 'No Content' : request.statusText,\n        headers: responseHeaders,\n        config: config,\n        request: request\n      };\n\n      settle(resolve, reject, response);\n\n      // Clean up request\n      request = null;\n    };\n\n    // Handle low level network errors\n    request.onerror = function handleError() {\n      // Real errors are hidden from us by the browser\n      // onerror should only fire if it's a network error\n      reject(createError('Network Error', config, null, request));\n\n      // Clean up request\n      request = null;\n    };\n\n    // Handle timeout\n    request.ontimeout = function handleTimeout() {\n      reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED',\n        request));\n\n      // Clean up request\n      request = null;\n    };\n\n    // Add xsrf header\n    // This is only done if running in a standard browser environment.\n    // Specifically not if we're in a web worker, or react-native.\n    if (utils.isStandardBrowserEnv()) {\n      var cookies = __webpack_require__(/*! ./../helpers/cookies */ \"./node_modules/axios/lib/helpers/cookies.js\");\n\n      // Add xsrf header\n      var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ?\n          cookies.read(config.xsrfCookieName) :\n          undefined;\n\n      if (xsrfValue) {\n        requestHeaders[config.xsrfHeaderName] = xsrfValue;\n      }\n    }\n\n    // Add headers to the request\n    if ('setRequestHeader' in request) {\n      utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n        if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n          // Remove Content-Type if data is undefined\n          delete requestHeaders[key];\n        } else {\n          // Otherwise add header to the request\n          request.setRequestHeader(key, val);\n        }\n      });\n    }\n\n    // Add withCredentials to request if needed\n    if (config.withCredentials) {\n      request.withCredentials = true;\n    }\n\n    // Add responseType to request if needed\n    if (config.responseType) {\n      try {\n        request.responseType = config.responseType;\n      } catch (e) {\n        // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n        // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n        if (config.responseType !== 'json') {\n          throw e;\n        }\n      }\n    }\n\n    // Handle progress if needed\n    if (typeof config.onDownloadProgress === 'function') {\n      request.addEventListener('progress', config.onDownloadProgress);\n    }\n\n    // Not all browsers support upload events\n    if (typeof config.onUploadProgress === 'function' && request.upload) {\n      request.upload.addEventListener('progress', config.onUploadProgress);\n    }\n\n    if (config.cancelToken) {\n      // Handle cancellation\n      config.cancelToken.promise.then(function onCanceled(cancel) {\n        if (!request) {\n          return;\n        }\n\n        request.abort();\n        reject(cancel);\n        // Clean up request\n        request = null;\n      });\n    }\n\n    if (requestData === undefined) {\n      requestData = null;\n    }\n\n    // Send the request\n    request.send(requestData);\n  });\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/axios/lib/adapters/xhr.js?");

/***/ }),

/***/ "./node_modules/axios/lib/axios.js":
/*!*****************************************!*\
  !*** ./node_modules/axios/lib/axios.js ***!
  \*****************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar utils = __webpack_require__(/*! ./utils */ \"./node_modules/axios/lib/utils.js\");\nvar bind = __webpack_require__(/*! ./helpers/bind */ \"./node_modules/axios/lib/helpers/bind.js\");\nvar Axios = __webpack_require__(/*! ./core/Axios */ \"./node_modules/axios/lib/core/Axios.js\");\nvar defaults = __webpack_require__(/*! ./defaults */ \"./node_modules/axios/lib/defaults.js\");\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n  var context = new Axios(defaultConfig);\n  var instance = bind(Axios.prototype.request, context);\n\n  // Copy axios.prototype to instance\n  utils.extend(instance, Axios.prototype, context);\n\n  // Copy context to instance\n  utils.extend(instance, context);\n\n  return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n  return createInstance(utils.merge(defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = __webpack_require__(/*! ./cancel/Cancel */ \"./node_modules/axios/lib/cancel/Cancel.js\");\naxios.CancelToken = __webpack_require__(/*! ./cancel/CancelToken */ \"./node_modules/axios/lib/cancel/CancelToken.js\");\naxios.isCancel = __webpack_require__(/*! ./cancel/isCancel */ \"./node_modules/axios/lib/cancel/isCancel.js\");\n\n// Expose all/spread\naxios.all = function all(promises) {\n  return Promise.all(promises);\n};\naxios.spread = __webpack_require__(/*! ./helpers/spread */ \"./node_modules/axios/lib/helpers/spread.js\");\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/axios/lib/axios.js?");

/***/ }),

/***/ "./node_modules/axios/lib/cancel/Cancel.js":
/*!*************************************************!*\
  !*** ./node_modules/axios/lib/cancel/Cancel.js ***!
  \*************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n  this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n  return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/axios/lib/cancel/Cancel.js?");

/***/ }),

/***/ "./node_modules/axios/lib/cancel/CancelToken.js":
/*!******************************************************!*\
  !*** ./node_modules/axios/lib/cancel/CancelToken.js ***!
  \******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar Cancel = __webpack_require__(/*! ./Cancel */ \"./node_modules/axios/lib/cancel/Cancel.js\");\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n  if (typeof executor !== 'function') {\n    throw new TypeError('executor must be a function.');\n  }\n\n  var resolvePromise;\n  this.promise = new Promise(function promiseExecutor(resolve) {\n    resolvePromise = resolve;\n  });\n\n  var token = this;\n  executor(function cancel(message) {\n    if (token.reason) {\n      // Cancellation has already been requested\n      return;\n    }\n\n    token.reason = new Cancel(message);\n    resolvePromise(token.reason);\n  });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n  if (this.reason) {\n    throw this.reason;\n  }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n  var cancel;\n  var token = new CancelToken(function executor(c) {\n    cancel = c;\n  });\n  return {\n    token: token,\n    cancel: cancel\n  };\n};\n\nmodule.exports = CancelToken;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/axios/lib/cancel/CancelToken.js?");

/***/ }),

/***/ "./node_modules/axios/lib/cancel/isCancel.js":
/*!***************************************************!*\
  !*** ./node_modules/axios/lib/cancel/isCancel.js ***!
  \***************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nmodule.exports = function isCancel(value) {\n  return !!(value && value.__CANCEL__);\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/axios/lib/cancel/isCancel.js?");

/***/ }),

/***/ "./node_modules/axios/lib/core/Axios.js":
/*!**********************************************!*\
  !*** ./node_modules/axios/lib/core/Axios.js ***!
  \**********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar defaults = __webpack_require__(/*! ./../defaults */ \"./node_modules/axios/lib/defaults.js\");\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\nvar InterceptorManager = __webpack_require__(/*! ./InterceptorManager */ \"./node_modules/axios/lib/core/InterceptorManager.js\");\nvar dispatchRequest = __webpack_require__(/*! ./dispatchRequest */ \"./node_modules/axios/lib/core/dispatchRequest.js\");\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n  this.defaults = instanceConfig;\n  this.interceptors = {\n    request: new InterceptorManager(),\n    response: new InterceptorManager()\n  };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n  /*eslint no-param-reassign:0*/\n  // Allow for axios('example/url'[, config]) a la fetch API\n  if (typeof config === 'string') {\n    config = utils.merge({\n      url: arguments[0]\n    }, arguments[1]);\n  }\n\n  config = utils.merge(defaults, {method: 'get'}, this.defaults, config);\n  config.method = config.method.toLowerCase();\n\n  // Hook up interceptors middleware\n  var chain = [dispatchRequest, undefined];\n  var promise = Promise.resolve(config);\n\n  this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n    chain.unshift(interceptor.fulfilled, interceptor.rejected);\n  });\n\n  this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n    chain.push(interceptor.fulfilled, interceptor.rejected);\n  });\n\n  while (chain.length) {\n    promise = promise.then(chain.shift(), chain.shift());\n  }\n\n  return promise;\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n  /*eslint func-names:0*/\n  Axios.prototype[method] = function(url, config) {\n    return this.request(utils.merge(config || {}, {\n      method: method,\n      url: url\n    }));\n  };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n  /*eslint func-names:0*/\n  Axios.prototype[method] = function(url, data, config) {\n    return this.request(utils.merge(config || {}, {\n      method: method,\n      url: url,\n      data: data\n    }));\n  };\n});\n\nmodule.exports = Axios;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/axios/lib/core/Axios.js?");

/***/ }),

/***/ "./node_modules/axios/lib/core/InterceptorManager.js":
/*!***********************************************************!*\
  !*** ./node_modules/axios/lib/core/InterceptorManager.js ***!
  \***********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\n\nfunction InterceptorManager() {\n  this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n  this.handlers.push({\n    fulfilled: fulfilled,\n    rejected: rejected\n  });\n  return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n  if (this.handlers[id]) {\n    this.handlers[id] = null;\n  }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n  utils.forEach(this.handlers, function forEachHandler(h) {\n    if (h !== null) {\n      fn(h);\n    }\n  });\n};\n\nmodule.exports = InterceptorManager;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/axios/lib/core/InterceptorManager.js?");

/***/ }),

/***/ "./node_modules/axios/lib/core/createError.js":
/*!****************************************************!*\
  !*** ./node_modules/axios/lib/core/createError.js ***!
  \****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar enhanceError = __webpack_require__(/*! ./enhanceError */ \"./node_modules/axios/lib/core/enhanceError.js\");\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n  var error = new Error(message);\n  return enhanceError(error, config, code, request, response);\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/axios/lib/core/createError.js?");

/***/ }),

/***/ "./node_modules/axios/lib/core/dispatchRequest.js":
/*!********************************************************!*\
  !*** ./node_modules/axios/lib/core/dispatchRequest.js ***!
  \********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\nvar transformData = __webpack_require__(/*! ./transformData */ \"./node_modules/axios/lib/core/transformData.js\");\nvar isCancel = __webpack_require__(/*! ../cancel/isCancel */ \"./node_modules/axios/lib/cancel/isCancel.js\");\nvar defaults = __webpack_require__(/*! ../defaults */ \"./node_modules/axios/lib/defaults.js\");\nvar isAbsoluteURL = __webpack_require__(/*! ./../helpers/isAbsoluteURL */ \"./node_modules/axios/lib/helpers/isAbsoluteURL.js\");\nvar combineURLs = __webpack_require__(/*! ./../helpers/combineURLs */ \"./node_modules/axios/lib/helpers/combineURLs.js\");\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n  if (config.cancelToken) {\n    config.cancelToken.throwIfRequested();\n  }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n  throwIfCancellationRequested(config);\n\n  // Support baseURL config\n  if (config.baseURL && !isAbsoluteURL(config.url)) {\n    config.url = combineURLs(config.baseURL, config.url);\n  }\n\n  // Ensure headers exist\n  config.headers = config.headers || {};\n\n  // Transform request data\n  config.data = transformData(\n    config.data,\n    config.headers,\n    config.transformRequest\n  );\n\n  // Flatten headers\n  config.headers = utils.merge(\n    config.headers.common || {},\n    config.headers[config.method] || {},\n    config.headers || {}\n  );\n\n  utils.forEach(\n    ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n    function cleanHeaderConfig(method) {\n      delete config.headers[method];\n    }\n  );\n\n  var adapter = config.adapter || defaults.adapter;\n\n  return adapter(config).then(function onAdapterResolution(response) {\n    throwIfCancellationRequested(config);\n\n    // Transform response data\n    response.data = transformData(\n      response.data,\n      response.headers,\n      config.transformResponse\n    );\n\n    return response;\n  }, function onAdapterRejection(reason) {\n    if (!isCancel(reason)) {\n      throwIfCancellationRequested(config);\n\n      // Transform response data\n      if (reason && reason.response) {\n        reason.response.data = transformData(\n          reason.response.data,\n          reason.response.headers,\n          config.transformResponse\n        );\n      }\n    }\n\n    return Promise.reject(reason);\n  });\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/axios/lib/core/dispatchRequest.js?");

/***/ }),

/***/ "./node_modules/axios/lib/core/enhanceError.js":
/*!*****************************************************!*\
  !*** ./node_modules/axios/lib/core/enhanceError.js ***!
  \*****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n  error.config = config;\n  if (code) {\n    error.code = code;\n  }\n  error.request = request;\n  error.response = response;\n  return error;\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/axios/lib/core/enhanceError.js?");

/***/ }),

/***/ "./node_modules/axios/lib/core/settle.js":
/*!***********************************************!*\
  !*** ./node_modules/axios/lib/core/settle.js ***!
  \***********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar createError = __webpack_require__(/*! ./createError */ \"./node_modules/axios/lib/core/createError.js\");\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n  var validateStatus = response.config.validateStatus;\n  // Note: status is not exposed by XDomainRequest\n  if (!response.status || !validateStatus || validateStatus(response.status)) {\n    resolve(response);\n  } else {\n    reject(createError(\n      'Request failed with status code ' + response.status,\n      response.config,\n      null,\n      response.request,\n      response\n    ));\n  }\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/axios/lib/core/settle.js?");

/***/ }),

/***/ "./node_modules/axios/lib/core/transformData.js":
/*!******************************************************!*\
  !*** ./node_modules/axios/lib/core/transformData.js ***!
  \******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n  /*eslint no-param-reassign:0*/\n  utils.forEach(fns, function transform(fn) {\n    data = fn(data, headers);\n  });\n\n  return data;\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/axios/lib/core/transformData.js?");

/***/ }),

/***/ "./node_modules/axios/lib/defaults.js":
/*!********************************************!*\
  !*** ./node_modules/axios/lib/defaults.js ***!
  \********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("/* WEBPACK VAR INJECTION */(function(process) {\n\nvar utils = __webpack_require__(/*! ./utils */ \"./node_modules/axios/lib/utils.js\");\nvar normalizeHeaderName = __webpack_require__(/*! ./helpers/normalizeHeaderName */ \"./node_modules/axios/lib/helpers/normalizeHeaderName.js\");\n\nvar DEFAULT_CONTENT_TYPE = {\n  'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n  if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n    headers['Content-Type'] = value;\n  }\n}\n\nfunction getDefaultAdapter() {\n  var adapter;\n  if (typeof XMLHttpRequest !== 'undefined') {\n    // For browsers use XHR adapter\n    adapter = __webpack_require__(/*! ./adapters/xhr */ \"./node_modules/axios/lib/adapters/xhr.js\");\n  } else if (typeof process !== 'undefined') {\n    // For node use HTTP adapter\n    adapter = __webpack_require__(/*! ./adapters/http */ \"./node_modules/axios/lib/adapters/xhr.js\");\n  }\n  return adapter;\n}\n\nvar defaults = {\n  adapter: getDefaultAdapter(),\n\n  transformRequest: [function transformRequest(data, headers) {\n    normalizeHeaderName(headers, 'Content-Type');\n    if (utils.isFormData(data) ||\n      utils.isArrayBuffer(data) ||\n      utils.isBuffer(data) ||\n      utils.isStream(data) ||\n      utils.isFile(data) ||\n      utils.isBlob(data)\n    ) {\n      return data;\n    }\n    if (utils.isArrayBufferView(data)) {\n      return data.buffer;\n    }\n    if (utils.isURLSearchParams(data)) {\n      setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n      return data.toString();\n    }\n    if (utils.isObject(data)) {\n      setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n      return JSON.stringify(data);\n    }\n    return data;\n  }],\n\n  transformResponse: [function transformResponse(data) {\n    /*eslint no-param-reassign:0*/\n    if (typeof data === 'string') {\n      try {\n        data = JSON.parse(data);\n      } catch (e) { /* Ignore */ }\n    }\n    return data;\n  }],\n\n  /**\n   * A timeout in milliseconds to abort a request. If set to 0 (default) a\n   * timeout is not created.\n   */\n  timeout: 0,\n\n  xsrfCookieName: 'XSRF-TOKEN',\n  xsrfHeaderName: 'X-XSRF-TOKEN',\n\n  maxContentLength: -1,\n\n  validateStatus: function validateStatus(status) {\n    return status >= 200 && status < 300;\n  }\n};\n\ndefaults.headers = {\n  common: {\n    'Accept': 'application/json, text/plain, */*'\n  }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n  defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n  defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../process/browser.js */ \"./node_modules/process/browser.js\")))\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/axios/lib/defaults.js?");

/***/ }),

/***/ "./node_modules/axios/lib/helpers/bind.js":
/*!************************************************!*\
  !*** ./node_modules/axios/lib/helpers/bind.js ***!
  \************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nmodule.exports = function bind(fn, thisArg) {\n  return function wrap() {\n    var args = new Array(arguments.length);\n    for (var i = 0; i < args.length; i++) {\n      args[i] = arguments[i];\n    }\n    return fn.apply(thisArg, args);\n  };\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/axios/lib/helpers/bind.js?");

/***/ }),

/***/ "./node_modules/axios/lib/helpers/btoa.js":
/*!************************************************!*\
  !*** ./node_modules/axios/lib/helpers/btoa.js ***!
  \************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\n// btoa polyfill for IE<10 courtesy https://github.com/davidchambers/Base64.js\n\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\nfunction E() {\n  this.message = 'String contains an invalid character';\n}\nE.prototype = new Error;\nE.prototype.code = 5;\nE.prototype.name = 'InvalidCharacterError';\n\nfunction btoa(input) {\n  var str = String(input);\n  var output = '';\n  for (\n    // initialize result and counter\n    var block, charCode, idx = 0, map = chars;\n    // if the next str index does not exist:\n    //   change the mapping table to \"=\"\n    //   check if d has no fractional digits\n    str.charAt(idx | 0) || (map = '=', idx % 1);\n    // \"8 - idx % 1 * 8\" generates the sequence 2, 4, 6, 8\n    output += map.charAt(63 & block >> 8 - idx % 1 * 8)\n  ) {\n    charCode = str.charCodeAt(idx += 3 / 4);\n    if (charCode > 0xFF) {\n      throw new E();\n    }\n    block = block << 8 | charCode;\n  }\n  return output;\n}\n\nmodule.exports = btoa;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/axios/lib/helpers/btoa.js?");

/***/ }),

/***/ "./node_modules/axios/lib/helpers/buildURL.js":
/*!****************************************************!*\
  !*** ./node_modules/axios/lib/helpers/buildURL.js ***!
  \****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\n\nfunction encode(val) {\n  return encodeURIComponent(val).\n    replace(/%40/gi, '@').\n    replace(/%3A/gi, ':').\n    replace(/%24/g, '$').\n    replace(/%2C/gi, ',').\n    replace(/%20/g, '+').\n    replace(/%5B/gi, '[').\n    replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n  /*eslint no-param-reassign:0*/\n  if (!params) {\n    return url;\n  }\n\n  var serializedParams;\n  if (paramsSerializer) {\n    serializedParams = paramsSerializer(params);\n  } else if (utils.isURLSearchParams(params)) {\n    serializedParams = params.toString();\n  } else {\n    var parts = [];\n\n    utils.forEach(params, function serialize(val, key) {\n      if (val === null || typeof val === 'undefined') {\n        return;\n      }\n\n      if (utils.isArray(val)) {\n        key = key + '[]';\n      } else {\n        val = [val];\n      }\n\n      utils.forEach(val, function parseValue(v) {\n        if (utils.isDate(v)) {\n          v = v.toISOString();\n        } else if (utils.isObject(v)) {\n          v = JSON.stringify(v);\n        }\n        parts.push(encode(key) + '=' + encode(v));\n      });\n    });\n\n    serializedParams = parts.join('&');\n  }\n\n  if (serializedParams) {\n    url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n  }\n\n  return url;\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/axios/lib/helpers/buildURL.js?");

/***/ }),

/***/ "./node_modules/axios/lib/helpers/combineURLs.js":
/*!*******************************************************!*\
  !*** ./node_modules/axios/lib/helpers/combineURLs.js ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n  return relativeURL\n    ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n    : baseURL;\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/axios/lib/helpers/combineURLs.js?");

/***/ }),

/***/ "./node_modules/axios/lib/helpers/cookies.js":
/*!***************************************************!*\
  !*** ./node_modules/axios/lib/helpers/cookies.js ***!
  \***************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\n\nmodule.exports = (\n  utils.isStandardBrowserEnv() ?\n\n  // Standard browser envs support document.cookie\n  (function standardBrowserEnv() {\n    return {\n      write: function write(name, value, expires, path, domain, secure) {\n        var cookie = [];\n        cookie.push(name + '=' + encodeURIComponent(value));\n\n        if (utils.isNumber(expires)) {\n          cookie.push('expires=' + new Date(expires).toGMTString());\n        }\n\n        if (utils.isString(path)) {\n          cookie.push('path=' + path);\n        }\n\n        if (utils.isString(domain)) {\n          cookie.push('domain=' + domain);\n        }\n\n        if (secure === true) {\n          cookie.push('secure');\n        }\n\n        document.cookie = cookie.join('; ');\n      },\n\n      read: function read(name) {\n        var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n        return (match ? decodeURIComponent(match[3]) : null);\n      },\n\n      remove: function remove(name) {\n        this.write(name, '', Date.now() - 86400000);\n      }\n    };\n  })() :\n\n  // Non standard browser env (web workers, react-native) lack needed support.\n  (function nonStandardBrowserEnv() {\n    return {\n      write: function write() {},\n      read: function read() { return null; },\n      remove: function remove() {}\n    };\n  })()\n);\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/axios/lib/helpers/cookies.js?");

/***/ }),

/***/ "./node_modules/axios/lib/helpers/isAbsoluteURL.js":
/*!*********************************************************!*\
  !*** ./node_modules/axios/lib/helpers/isAbsoluteURL.js ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n  // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n  // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n  // by any combination of letters, digits, plus, period, or hyphen.\n  return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/axios/lib/helpers/isAbsoluteURL.js?");

/***/ }),

/***/ "./node_modules/axios/lib/helpers/isURLSameOrigin.js":
/*!***********************************************************!*\
  !*** ./node_modules/axios/lib/helpers/isURLSameOrigin.js ***!
  \***********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\n\nmodule.exports = (\n  utils.isStandardBrowserEnv() ?\n\n  // Standard browser envs have full support of the APIs needed to test\n  // whether the request URL is of the same origin as current location.\n  (function standardBrowserEnv() {\n    var msie = /(msie|trident)/i.test(navigator.userAgent);\n    var urlParsingNode = document.createElement('a');\n    var originURL;\n\n    /**\n    * Parse a URL to discover it's components\n    *\n    * @param {String} url The URL to be parsed\n    * @returns {Object}\n    */\n    function resolveURL(url) {\n      var href = url;\n\n      if (msie) {\n        // IE needs attribute set twice to normalize properties\n        urlParsingNode.setAttribute('href', href);\n        href = urlParsingNode.href;\n      }\n\n      urlParsingNode.setAttribute('href', href);\n\n      // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n      return {\n        href: urlParsingNode.href,\n        protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n        host: urlParsingNode.host,\n        search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n        hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n        hostname: urlParsingNode.hostname,\n        port: urlParsingNode.port,\n        pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n                  urlParsingNode.pathname :\n                  '/' + urlParsingNode.pathname\n      };\n    }\n\n    originURL = resolveURL(window.location.href);\n\n    /**\n    * Determine if a URL shares the same origin as the current location\n    *\n    * @param {String} requestURL The URL to test\n    * @returns {boolean} True if URL shares the same origin, otherwise false\n    */\n    return function isURLSameOrigin(requestURL) {\n      var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n      return (parsed.protocol === originURL.protocol &&\n            parsed.host === originURL.host);\n    };\n  })() :\n\n  // Non standard browser envs (web workers, react-native) lack needed support.\n  (function nonStandardBrowserEnv() {\n    return function isURLSameOrigin() {\n      return true;\n    };\n  })()\n);\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/axios/lib/helpers/isURLSameOrigin.js?");

/***/ }),

/***/ "./node_modules/axios/lib/helpers/normalizeHeaderName.js":
/*!***************************************************************!*\
  !*** ./node_modules/axios/lib/helpers/normalizeHeaderName.js ***!
  \***************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar utils = __webpack_require__(/*! ../utils */ \"./node_modules/axios/lib/utils.js\");\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n  utils.forEach(headers, function processHeader(value, name) {\n    if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n      headers[normalizedName] = value;\n      delete headers[name];\n    }\n  });\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/axios/lib/helpers/normalizeHeaderName.js?");

/***/ }),

/***/ "./node_modules/axios/lib/helpers/parseHeaders.js":
/*!********************************************************!*\
  !*** ./node_modules/axios/lib/helpers/parseHeaders.js ***!
  \********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n  'age', 'authorization', 'content-length', 'content-type', 'etag',\n  'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n  'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n  'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n  var parsed = {};\n  var key;\n  var val;\n  var i;\n\n  if (!headers) { return parsed; }\n\n  utils.forEach(headers.split('\\n'), function parser(line) {\n    i = line.indexOf(':');\n    key = utils.trim(line.substr(0, i)).toLowerCase();\n    val = utils.trim(line.substr(i + 1));\n\n    if (key) {\n      if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n        return;\n      }\n      if (key === 'set-cookie') {\n        parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n      } else {\n        parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n      }\n    }\n  });\n\n  return parsed;\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/axios/lib/helpers/parseHeaders.js?");

/***/ }),

/***/ "./node_modules/axios/lib/helpers/spread.js":
/*!**************************************************!*\
  !*** ./node_modules/axios/lib/helpers/spread.js ***!
  \**************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n *  ```js\n *  function f(x, y, z) {}\n *  var args = [1, 2, 3];\n *  f.apply(null, args);\n *  ```\n *\n * With `spread` this example can be re-written.\n *\n *  ```js\n *  spread(function(x, y, z) {})([1, 2, 3]);\n *  ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n  return function wrap(arr) {\n    return callback.apply(null, arr);\n  };\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/axios/lib/helpers/spread.js?");

/***/ }),

/***/ "./node_modules/axios/lib/utils.js":
/*!*****************************************!*\
  !*** ./node_modules/axios/lib/utils.js ***!
  \*****************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n\nvar bind = __webpack_require__(/*! ./helpers/bind */ \"./node_modules/axios/lib/helpers/bind.js\");\nvar isBuffer = __webpack_require__(/*! is-buffer */ \"./node_modules/is-buffer/index.js\");\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n  return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n  return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n  return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n  var result;\n  if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n    result = ArrayBuffer.isView(val);\n  } else {\n    result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n  }\n  return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n  return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n  return typeof val === 'number';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n  return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n  return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n  return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n  return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n  return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n  return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n  return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n  return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n  return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n *  typeof window -> undefined\n *  typeof document -> undefined\n *\n * react-native:\n *  navigator.product -> 'ReactNative'\n */\nfunction isStandardBrowserEnv() {\n  if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n    return false;\n  }\n  return (\n    typeof window !== 'undefined' &&\n    typeof document !== 'undefined'\n  );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n  // Don't bother if no value provided\n  if (obj === null || typeof obj === 'undefined') {\n    return;\n  }\n\n  // Force an array if not already something iterable\n  if (typeof obj !== 'object') {\n    /*eslint no-param-reassign:0*/\n    obj = [obj];\n  }\n\n  if (isArray(obj)) {\n    // Iterate over array values\n    for (var i = 0, l = obj.length; i < l; i++) {\n      fn.call(null, obj[i], i, obj);\n    }\n  } else {\n    // Iterate over object keys\n    for (var key in obj) {\n      if (Object.prototype.hasOwnProperty.call(obj, key)) {\n        fn.call(null, obj[key], key, obj);\n      }\n    }\n  }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n  var result = {};\n  function assignValue(val, key) {\n    if (typeof result[key] === 'object' && typeof val === 'object') {\n      result[key] = merge(result[key], val);\n    } else {\n      result[key] = val;\n    }\n  }\n\n  for (var i = 0, l = arguments.length; i < l; i++) {\n    forEach(arguments[i], assignValue);\n  }\n  return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n  forEach(b, function assignValue(val, key) {\n    if (thisArg && typeof val === 'function') {\n      a[key] = bind(val, thisArg);\n    } else {\n      a[key] = val;\n    }\n  });\n  return a;\n}\n\nmodule.exports = {\n  isArray: isArray,\n  isArrayBuffer: isArrayBuffer,\n  isBuffer: isBuffer,\n  isFormData: isFormData,\n  isArrayBufferView: isArrayBufferView,\n  isString: isString,\n  isNumber: isNumber,\n  isObject: isObject,\n  isUndefined: isUndefined,\n  isDate: isDate,\n  isFile: isFile,\n  isBlob: isBlob,\n  isFunction: isFunction,\n  isStream: isStream,\n  isURLSearchParams: isURLSearchParams,\n  isStandardBrowserEnv: isStandardBrowserEnv,\n  forEach: forEach,\n  merge: merge,\n  extend: extend,\n  trim: trim\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/axios/lib/utils.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/an-object.js":
/*!*****************************************************!*\
  !*** ./node_modules/core-js/internals/an-object.js ***!
  \*****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var isObject = __webpack_require__(/*! ../internals/is-object */ \"./node_modules/core-js/internals/is-object.js\");\n\nmodule.exports = function (it) {\n  if (!isObject(it)) {\n    throw TypeError(String(it) + ' is not an object');\n  } return it;\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/an-object.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/array-includes.js":
/*!**********************************************************!*\
  !*** ./node_modules/core-js/internals/array-includes.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ \"./node_modules/core-js/internals/to-indexed-object.js\");\nvar toLength = __webpack_require__(/*! ../internals/to-length */ \"./node_modules/core-js/internals/to-length.js\");\nvar toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ \"./node_modules/core-js/internals/to-absolute-index.js\");\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIndexedObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) {\n      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\nmodule.exports = {\n  // `Array.prototype.includes` method\n  // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n  includes: createMethod(true),\n  // `Array.prototype.indexOf` method\n  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n  indexOf: createMethod(false)\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/array-includes.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/classof-raw.js":
/*!*******************************************************!*\
  !*** ./node_modules/core-js/internals/classof-raw.js ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("var toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/classof-raw.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/copy-constructor-properties.js":
/*!***********************************************************************!*\
  !*** ./node_modules/core-js/internals/copy-constructor-properties.js ***!
  \***********************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var has = __webpack_require__(/*! ../internals/has */ \"./node_modules/core-js/internals/has.js\");\nvar ownKeys = __webpack_require__(/*! ../internals/own-keys */ \"./node_modules/core-js/internals/own-keys.js\");\nvar getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ \"./node_modules/core-js/internals/object-get-own-property-descriptor.js\");\nvar definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ \"./node_modules/core-js/internals/object-define-property.js\");\n\nmodule.exports = function (target, source) {\n  var keys = ownKeys(source);\n  var defineProperty = definePropertyModule.f;\n  var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n  for (var i = 0; i < keys.length; i++) {\n    var key = keys[i];\n    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n  }\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/copy-constructor-properties.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/create-non-enumerable-property.js":
/*!**************************************************************************!*\
  !*** ./node_modules/core-js/internals/create-non-enumerable-property.js ***!
  \**************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\nvar definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ \"./node_modules/core-js/internals/object-define-property.js\");\nvar createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ \"./node_modules/core-js/internals/create-property-descriptor.js\");\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n  return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/create-non-enumerable-property.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/create-property-descriptor.js":
/*!**********************************************************************!*\
  !*** ./node_modules/core-js/internals/create-property-descriptor.js ***!
  \**********************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("module.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/create-property-descriptor.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/descriptors.js":
/*!*******************************************************!*\
  !*** ./node_modules/core-js/internals/descriptors.js ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/descriptors.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/document-create-element.js":
/*!*******************************************************************!*\
  !*** ./node_modules/core-js/internals/document-create-element.js ***!
  \*******************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar isObject = __webpack_require__(/*! ../internals/is-object */ \"./node_modules/core-js/internals/is-object.js\");\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n  return EXISTS ? document.createElement(it) : {};\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/document-create-element.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/enum-bug-keys.js":
/*!*********************************************************!*\
  !*** ./node_modules/core-js/internals/enum-bug-keys.js ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("// IE8- don't enum bug keys\nmodule.exports = [\n  'constructor',\n  'hasOwnProperty',\n  'isPrototypeOf',\n  'propertyIsEnumerable',\n  'toLocaleString',\n  'toString',\n  'valueOf'\n];\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/enum-bug-keys.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/export.js":
/*!**************************************************!*\
  !*** ./node_modules/core-js/internals/export.js ***!
  \**************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ \"./node_modules/core-js/internals/object-get-own-property-descriptor.js\").f;\nvar createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ \"./node_modules/core-js/internals/create-non-enumerable-property.js\");\nvar redefine = __webpack_require__(/*! ../internals/redefine */ \"./node_modules/core-js/internals/redefine.js\");\nvar setGlobal = __webpack_require__(/*! ../internals/set-global */ \"./node_modules/core-js/internals/set-global.js\");\nvar copyConstructorProperties = __webpack_require__(/*! ../internals/copy-constructor-properties */ \"./node_modules/core-js/internals/copy-constructor-properties.js\");\nvar isForced = __webpack_require__(/*! ../internals/is-forced */ \"./node_modules/core-js/internals/is-forced.js\");\n\n/*\n  options.target      - name of the target object\n  options.global      - target is the global object\n  options.stat        - export as static methods of target\n  options.proto       - export as prototype methods of target\n  options.real        - real prototype method for the `pure` version\n  options.forced      - export even if the native feature is available\n  options.bind        - bind methods to the target, required for the `pure` version\n  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version\n  options.unsafe      - use the simple assignment of property instead of delete + defineProperty\n  options.sham        - add a flag to not completely full polyfills\n  options.enumerable  - export as enumerable property\n  options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n  var TARGET = options.target;\n  var GLOBAL = options.global;\n  var STATIC = options.stat;\n  var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n  if (GLOBAL) {\n    target = global;\n  } else if (STATIC) {\n    target = global[TARGET] || setGlobal(TARGET, {});\n  } else {\n    target = (global[TARGET] || {}).prototype;\n  }\n  if (target) for (key in source) {\n    sourceProperty = source[key];\n    if (options.noTargetGet) {\n      descriptor = getOwnPropertyDescriptor(target, key);\n      targetProperty = descriptor && descriptor.value;\n    } else targetProperty = target[key];\n    FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n    // contained in target\n    if (!FORCED && targetProperty !== undefined) {\n      if (typeof sourceProperty === typeof targetProperty) continue;\n      copyConstructorProperties(sourceProperty, targetProperty);\n    }\n    // add a flag to not completely full polyfills\n    if (options.sham || (targetProperty && targetProperty.sham)) {\n      createNonEnumerableProperty(sourceProperty, 'sham', true);\n    }\n    // extend global\n    redefine(target, key, sourceProperty, options);\n  }\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/export.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/fails.js":
/*!*************************************************!*\
  !*** ./node_modules/core-js/internals/fails.js ***!
  \*************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("module.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (error) {\n    return true;\n  }\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/fails.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/get-built-in.js":
/*!********************************************************!*\
  !*** ./node_modules/core-js/internals/get-built-in.js ***!
  \********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var path = __webpack_require__(/*! ../internals/path */ \"./node_modules/core-js/internals/path.js\");\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\n\nvar aFunction = function (variable) {\n  return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n    : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/get-built-in.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/global.js":
/*!**************************************************!*\
  !*** ./node_modules/core-js/internals/global.js ***!
  \**************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("/* WEBPACK VAR INJECTION */(function(global) {var check = function (it) {\n  return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n  // eslint-disable-next-line no-undef\n  check(typeof globalThis == 'object' && globalThis) ||\n  check(typeof window == 'object' && window) ||\n  check(typeof self == 'object' && self) ||\n  check(typeof global == 'object' && global) ||\n  // eslint-disable-next-line no-new-func\n  Function('return this')();\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/global.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/has.js":
/*!***********************************************!*\
  !*** ./node_modules/core-js/internals/has.js ***!
  \***********************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/has.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/hidden-keys.js":
/*!*******************************************************!*\
  !*** ./node_modules/core-js/internals/hidden-keys.js ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("module.exports = {};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/hidden-keys.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/ie8-dom-define.js":
/*!**********************************************************!*\
  !*** ./node_modules/core-js/internals/ie8-dom-define.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar createElement = __webpack_require__(/*! ../internals/document-create-element */ \"./node_modules/core-js/internals/document-create-element.js\");\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n  return Object.defineProperty(createElement('div'), 'a', {\n    get: function () { return 7; }\n  }).a != 7;\n});\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/ie8-dom-define.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/indexed-object.js":
/*!**********************************************************!*\
  !*** ./node_modules/core-js/internals/indexed-object.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar classof = __webpack_require__(/*! ../internals/classof-raw */ \"./node_modules/core-js/internals/classof-raw.js\");\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n  // eslint-disable-next-line no-prototype-builtins\n  return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n  return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/indexed-object.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/inspect-source.js":
/*!**********************************************************!*\
  !*** ./node_modules/core-js/internals/inspect-source.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var store = __webpack_require__(/*! ../internals/shared-store */ \"./node_modules/core-js/internals/shared-store.js\");\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n  store.inspectSource = function (it) {\n    return functionToString.call(it);\n  };\n}\n\nmodule.exports = store.inspectSource;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/inspect-source.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/internal-state.js":
/*!**********************************************************!*\
  !*** ./node_modules/core-js/internals/internal-state.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var NATIVE_WEAK_MAP = __webpack_require__(/*! ../internals/native-weak-map */ \"./node_modules/core-js/internals/native-weak-map.js\");\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar isObject = __webpack_require__(/*! ../internals/is-object */ \"./node_modules/core-js/internals/is-object.js\");\nvar createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ \"./node_modules/core-js/internals/create-non-enumerable-property.js\");\nvar objectHas = __webpack_require__(/*! ../internals/has */ \"./node_modules/core-js/internals/has.js\");\nvar sharedKey = __webpack_require__(/*! ../internals/shared-key */ \"./node_modules/core-js/internals/shared-key.js\");\nvar hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ \"./node_modules/core-js/internals/hidden-keys.js\");\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n  return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n  return function (it) {\n    var state;\n    if (!isObject(it) || (state = get(it)).type !== TYPE) {\n      throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n    } return state;\n  };\n};\n\nif (NATIVE_WEAK_MAP) {\n  var store = new WeakMap();\n  var wmget = store.get;\n  var wmhas = store.has;\n  var wmset = store.set;\n  set = function (it, metadata) {\n    wmset.call(store, it, metadata);\n    return metadata;\n  };\n  get = function (it) {\n    return wmget.call(store, it) || {};\n  };\n  has = function (it) {\n    return wmhas.call(store, it);\n  };\n} else {\n  var STATE = sharedKey('state');\n  hiddenKeys[STATE] = true;\n  set = function (it, metadata) {\n    createNonEnumerableProperty(it, STATE, metadata);\n    return metadata;\n  };\n  get = function (it) {\n    return objectHas(it, STATE) ? it[STATE] : {};\n  };\n  has = function (it) {\n    return objectHas(it, STATE);\n  };\n}\n\nmodule.exports = {\n  set: set,\n  get: get,\n  has: has,\n  enforce: enforce,\n  getterFor: getterFor\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/internal-state.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/is-forced.js":
/*!*****************************************************!*\
  !*** ./node_modules/core-js/internals/is-forced.js ***!
  \*****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n  var value = data[normalize(feature)];\n  return value == POLYFILL ? true\n    : value == NATIVE ? false\n    : typeof detection == 'function' ? fails(detection)\n    : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n  return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/is-forced.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/is-object.js":
/*!*****************************************************!*\
  !*** ./node_modules/core-js/internals/is-object.js ***!
  \*****************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("module.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/is-object.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/is-pure.js":
/*!***************************************************!*\
  !*** ./node_modules/core-js/internals/is-pure.js ***!
  \***************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("module.exports = false;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/is-pure.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/native-weak-map.js":
/*!***********************************************************!*\
  !*** ./node_modules/core-js/internals/native-weak-map.js ***!
  \***********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar inspectSource = __webpack_require__(/*! ../internals/inspect-source */ \"./node_modules/core-js/internals/inspect-source.js\");\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/native-weak-map.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/object-assign.js":
/*!*********************************************************!*\
  !*** ./node_modules/core-js/internals/object-assign.js ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar objectKeys = __webpack_require__(/*! ../internals/object-keys */ \"./node_modules/core-js/internals/object-keys.js\");\nvar getOwnPropertySymbolsModule = __webpack_require__(/*! ../internals/object-get-own-property-symbols */ \"./node_modules/core-js/internals/object-get-own-property-symbols.js\");\nvar propertyIsEnumerableModule = __webpack_require__(/*! ../internals/object-property-is-enumerable */ \"./node_modules/core-js/internals/object-property-is-enumerable.js\");\nvar toObject = __webpack_require__(/*! ../internals/to-object */ \"./node_modules/core-js/internals/to-object.js\");\nvar IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ \"./node_modules/core-js/internals/indexed-object.js\");\n\nvar nativeAssign = Object.assign;\nvar defineProperty = Object.defineProperty;\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\nmodule.exports = !nativeAssign || fails(function () {\n  // should have correct order of operations (Edge bug)\n  if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {\n    enumerable: true,\n    get: function () {\n      defineProperty(this, 'b', {\n        value: 3,\n        enumerable: false\n      });\n    }\n  }), { b: 2 })).b !== 1) return true;\n  // should work with symbols and should have deterministic property order (V8 bug)\n  var A = {};\n  var B = {};\n  // eslint-disable-next-line no-undef\n  var symbol = Symbol();\n  var alphabet = 'abcdefghijklmnopqrst';\n  A[symbol] = 7;\n  alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n  return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n  var T = toObject(target);\n  var argumentsLength = arguments.length;\n  var index = 1;\n  var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n  var propertyIsEnumerable = propertyIsEnumerableModule.f;\n  while (argumentsLength > index) {\n    var S = IndexedObject(arguments[index++]);\n    var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n    var length = keys.length;\n    var j = 0;\n    var key;\n    while (length > j) {\n      key = keys[j++];\n      if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n    }\n  } return T;\n} : nativeAssign;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/object-assign.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/object-define-property.js":
/*!******************************************************************!*\
  !*** ./node_modules/core-js/internals/object-define-property.js ***!
  \******************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\nvar IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ \"./node_modules/core-js/internals/ie8-dom-define.js\");\nvar anObject = __webpack_require__(/*! ../internals/an-object */ \"./node_modules/core-js/internals/an-object.js\");\nvar toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ \"./node_modules/core-js/internals/to-primitive.js\");\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return nativeDefineProperty(O, P, Attributes);\n  } catch (error) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/object-define-property.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/object-get-own-property-descriptor.js":
/*!******************************************************************************!*\
  !*** ./node_modules/core-js/internals/object-get-own-property-descriptor.js ***!
  \******************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\nvar propertyIsEnumerableModule = __webpack_require__(/*! ../internals/object-property-is-enumerable */ \"./node_modules/core-js/internals/object-property-is-enumerable.js\");\nvar createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ \"./node_modules/core-js/internals/create-property-descriptor.js\");\nvar toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ \"./node_modules/core-js/internals/to-indexed-object.js\");\nvar toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ \"./node_modules/core-js/internals/to-primitive.js\");\nvar has = __webpack_require__(/*! ../internals/has */ \"./node_modules/core-js/internals/has.js\");\nvar IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ \"./node_modules/core-js/internals/ie8-dom-define.js\");\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n  O = toIndexedObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return nativeGetOwnPropertyDescriptor(O, P);\n  } catch (error) { /* empty */ }\n  if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/object-get-own-property-descriptor.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/object-get-own-property-names.js":
/*!*************************************************************************!*\
  !*** ./node_modules/core-js/internals/object-get-own-property-names.js ***!
  \*************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var internalObjectKeys = __webpack_require__(/*! ../internals/object-keys-internal */ \"./node_modules/core-js/internals/object-keys-internal.js\");\nvar enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ \"./node_modules/core-js/internals/enum-bug-keys.js\");\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return internalObjectKeys(O, hiddenKeys);\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/object-get-own-property-names.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/object-get-own-property-symbols.js":
/*!***************************************************************************!*\
  !*** ./node_modules/core-js/internals/object-get-own-property-symbols.js ***!
  \***************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("exports.f = Object.getOwnPropertySymbols;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/object-get-own-property-symbols.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/object-keys-internal.js":
/*!****************************************************************!*\
  !*** ./node_modules/core-js/internals/object-keys-internal.js ***!
  \****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var has = __webpack_require__(/*! ../internals/has */ \"./node_modules/core-js/internals/has.js\");\nvar toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ \"./node_modules/core-js/internals/to-indexed-object.js\");\nvar indexOf = __webpack_require__(/*! ../internals/array-includes */ \"./node_modules/core-js/internals/array-includes.js\").indexOf;\nvar hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ \"./node_modules/core-js/internals/hidden-keys.js\");\n\nmodule.exports = function (object, names) {\n  var O = toIndexedObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~indexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/object-keys-internal.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/object-keys.js":
/*!*******************************************************!*\
  !*** ./node_modules/core-js/internals/object-keys.js ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var internalObjectKeys = __webpack_require__(/*! ../internals/object-keys-internal */ \"./node_modules/core-js/internals/object-keys-internal.js\");\nvar enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ \"./node_modules/core-js/internals/enum-bug-keys.js\");\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n  return internalObjectKeys(O, enumBugKeys);\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/object-keys.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/object-property-is-enumerable.js":
/*!*************************************************************************!*\
  !*** ./node_modules/core-js/internals/object-property-is-enumerable.js ***!
  \*************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n  var descriptor = getOwnPropertyDescriptor(this, V);\n  return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/object-property-is-enumerable.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/own-keys.js":
/*!****************************************************!*\
  !*** ./node_modules/core-js/internals/own-keys.js ***!
  \****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ \"./node_modules/core-js/internals/get-built-in.js\");\nvar getOwnPropertyNamesModule = __webpack_require__(/*! ../internals/object-get-own-property-names */ \"./node_modules/core-js/internals/object-get-own-property-names.js\");\nvar getOwnPropertySymbolsModule = __webpack_require__(/*! ../internals/object-get-own-property-symbols */ \"./node_modules/core-js/internals/object-get-own-property-symbols.js\");\nvar anObject = __webpack_require__(/*! ../internals/an-object */ \"./node_modules/core-js/internals/an-object.js\");\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n  var keys = getOwnPropertyNamesModule.f(anObject(it));\n  var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/own-keys.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/path.js":
/*!************************************************!*\
  !*** ./node_modules/core-js/internals/path.js ***!
  \************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\n\nmodule.exports = global;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/path.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/redefine.js":
/*!****************************************************!*\
  !*** ./node_modules/core-js/internals/redefine.js ***!
  \****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ \"./node_modules/core-js/internals/create-non-enumerable-property.js\");\nvar has = __webpack_require__(/*! ../internals/has */ \"./node_modules/core-js/internals/has.js\");\nvar setGlobal = __webpack_require__(/*! ../internals/set-global */ \"./node_modules/core-js/internals/set-global.js\");\nvar inspectSource = __webpack_require__(/*! ../internals/inspect-source */ \"./node_modules/core-js/internals/inspect-source.js\");\nvar InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ \"./node_modules/core-js/internals/internal-state.js\");\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n  var unsafe = options ? !!options.unsafe : false;\n  var simple = options ? !!options.enumerable : false;\n  var noTargetGet = options ? !!options.noTargetGet : false;\n  if (typeof value == 'function') {\n    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n  }\n  if (O === global) {\n    if (simple) O[key] = value;\n    else setGlobal(key, value);\n    return;\n  } else if (!unsafe) {\n    delete O[key];\n  } else if (!noTargetGet && O[key]) {\n    simple = true;\n  }\n  if (simple) O[key] = value;\n  else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/redefine.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/require-object-coercible.js":
/*!********************************************************************!*\
  !*** ./node_modules/core-js/internals/require-object-coercible.js ***!
  \********************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n  return it;\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/require-object-coercible.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/set-global.js":
/*!******************************************************!*\
  !*** ./node_modules/core-js/internals/set-global.js ***!
  \******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ \"./node_modules/core-js/internals/create-non-enumerable-property.js\");\n\nmodule.exports = function (key, value) {\n  try {\n    createNonEnumerableProperty(global, key, value);\n  } catch (error) {\n    global[key] = value;\n  } return value;\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/set-global.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/shared-key.js":
/*!******************************************************!*\
  !*** ./node_modules/core-js/internals/shared-key.js ***!
  \******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var shared = __webpack_require__(/*! ../internals/shared */ \"./node_modules/core-js/internals/shared.js\");\nvar uid = __webpack_require__(/*! ../internals/uid */ \"./node_modules/core-js/internals/uid.js\");\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n  return keys[key] || (keys[key] = uid(key));\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/shared-key.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/shared-store.js":
/*!********************************************************!*\
  !*** ./node_modules/core-js/internals/shared-store.js ***!
  \********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar setGlobal = __webpack_require__(/*! ../internals/set-global */ \"./node_modules/core-js/internals/set-global.js\");\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/shared-store.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/shared.js":
/*!**************************************************!*\
  !*** ./node_modules/core-js/internals/shared.js ***!
  \**************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ \"./node_modules/core-js/internals/is-pure.js\");\nvar store = __webpack_require__(/*! ../internals/shared-store */ \"./node_modules/core-js/internals/shared-store.js\");\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: '3.6.4',\n  mode: IS_PURE ? 'pure' : 'global',\n  copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/shared.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/to-absolute-index.js":
/*!*************************************************************!*\
  !*** ./node_modules/core-js/internals/to-absolute-index.js ***!
  \*************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var toInteger = __webpack_require__(/*! ../internals/to-integer */ \"./node_modules/core-js/internals/to-integer.js\");\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n  var integer = toInteger(index);\n  return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/to-absolute-index.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/to-indexed-object.js":
/*!*************************************************************!*\
  !*** ./node_modules/core-js/internals/to-indexed-object.js ***!
  \*************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ \"./node_modules/core-js/internals/indexed-object.js\");\nvar requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ \"./node_modules/core-js/internals/require-object-coercible.js\");\n\nmodule.exports = function (it) {\n  return IndexedObject(requireObjectCoercible(it));\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/to-indexed-object.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/to-integer.js":
/*!******************************************************!*\
  !*** ./node_modules/core-js/internals/to-integer.js ***!
  \******************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/to-integer.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/to-length.js":
/*!*****************************************************!*\
  !*** ./node_modules/core-js/internals/to-length.js ***!
  \*****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var toInteger = __webpack_require__(/*! ../internals/to-integer */ \"./node_modules/core-js/internals/to-integer.js\");\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/to-length.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/to-object.js":
/*!*****************************************************!*\
  !*** ./node_modules/core-js/internals/to-object.js ***!
  \*****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ \"./node_modules/core-js/internals/require-object-coercible.js\");\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n  return Object(requireObjectCoercible(argument));\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/to-object.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/to-primitive.js":
/*!********************************************************!*\
  !*** ./node_modules/core-js/internals/to-primitive.js ***!
  \********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var isObject = __webpack_require__(/*! ../internals/is-object */ \"./node_modules/core-js/internals/is-object.js\");\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n  if (!isObject(input)) return input;\n  var fn, val;\n  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/to-primitive.js?");

/***/ }),

/***/ "./node_modules/core-js/internals/uid.js":
/*!***********************************************!*\
  !*** ./node_modules/core-js/internals/uid.js ***!
  \***********************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/internals/uid.js?");

/***/ }),

/***/ "./node_modules/core-js/modules/es.object.assign.js":
/*!**********************************************************!*\
  !*** ./node_modules/core-js/modules/es.object.assign.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar assign = __webpack_require__(/*! ../internals/object-assign */ \"./node_modules/core-js/internals/object-assign.js\");\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n  assign: assign\n});\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/core-js/modules/es.object.assign.js?");

/***/ }),

/***/ "./node_modules/is-buffer/index.js":
/*!*****************************************!*\
  !*** ./node_modules/is-buffer/index.js ***!
  \*****************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/*!\n * Determine if an object is a Buffer\n *\n * @author   Feross Aboukhadijeh <https://feross.org>\n * @license  MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n  return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n  return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n  return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/is-buffer/index.js?");

/***/ }),

/***/ "./node_modules/lodash/_Hash.js":
/*!**************************************!*\
  !*** ./node_modules/lodash/_Hash.js ***!
  \**************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var hashClear = __webpack_require__(/*! ./_hashClear */ \"./node_modules/lodash/_hashClear.js\"),\n    hashDelete = __webpack_require__(/*! ./_hashDelete */ \"./node_modules/lodash/_hashDelete.js\"),\n    hashGet = __webpack_require__(/*! ./_hashGet */ \"./node_modules/lodash/_hashGet.js\"),\n    hashHas = __webpack_require__(/*! ./_hashHas */ \"./node_modules/lodash/_hashHas.js\"),\n    hashSet = __webpack_require__(/*! ./_hashSet */ \"./node_modules/lodash/_hashSet.js\");\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n  var index = -1,\n      length = entries == null ? 0 : entries.length;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_Hash.js?");

/***/ }),

/***/ "./node_modules/lodash/_ListCache.js":
/*!*******************************************!*\
  !*** ./node_modules/lodash/_ListCache.js ***!
  \*******************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var listCacheClear = __webpack_require__(/*! ./_listCacheClear */ \"./node_modules/lodash/_listCacheClear.js\"),\n    listCacheDelete = __webpack_require__(/*! ./_listCacheDelete */ \"./node_modules/lodash/_listCacheDelete.js\"),\n    listCacheGet = __webpack_require__(/*! ./_listCacheGet */ \"./node_modules/lodash/_listCacheGet.js\"),\n    listCacheHas = __webpack_require__(/*! ./_listCacheHas */ \"./node_modules/lodash/_listCacheHas.js\"),\n    listCacheSet = __webpack_require__(/*! ./_listCacheSet */ \"./node_modules/lodash/_listCacheSet.js\");\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n  var index = -1,\n      length = entries == null ? 0 : entries.length;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_ListCache.js?");

/***/ }),

/***/ "./node_modules/lodash/_Map.js":
/*!*************************************!*\
  !*** ./node_modules/lodash/_Map.js ***!
  \*************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var getNative = __webpack_require__(/*! ./_getNative */ \"./node_modules/lodash/_getNative.js\"),\n    root = __webpack_require__(/*! ./_root */ \"./node_modules/lodash/_root.js\");\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_Map.js?");

/***/ }),

/***/ "./node_modules/lodash/_MapCache.js":
/*!******************************************!*\
  !*** ./node_modules/lodash/_MapCache.js ***!
  \******************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var mapCacheClear = __webpack_require__(/*! ./_mapCacheClear */ \"./node_modules/lodash/_mapCacheClear.js\"),\n    mapCacheDelete = __webpack_require__(/*! ./_mapCacheDelete */ \"./node_modules/lodash/_mapCacheDelete.js\"),\n    mapCacheGet = __webpack_require__(/*! ./_mapCacheGet */ \"./node_modules/lodash/_mapCacheGet.js\"),\n    mapCacheHas = __webpack_require__(/*! ./_mapCacheHas */ \"./node_modules/lodash/_mapCacheHas.js\"),\n    mapCacheSet = __webpack_require__(/*! ./_mapCacheSet */ \"./node_modules/lodash/_mapCacheSet.js\");\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n  var index = -1,\n      length = entries == null ? 0 : entries.length;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_MapCache.js?");

/***/ }),

/***/ "./node_modules/lodash/_Stack.js":
/*!***************************************!*\
  !*** ./node_modules/lodash/_Stack.js ***!
  \***************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var ListCache = __webpack_require__(/*! ./_ListCache */ \"./node_modules/lodash/_ListCache.js\"),\n    stackClear = __webpack_require__(/*! ./_stackClear */ \"./node_modules/lodash/_stackClear.js\"),\n    stackDelete = __webpack_require__(/*! ./_stackDelete */ \"./node_modules/lodash/_stackDelete.js\"),\n    stackGet = __webpack_require__(/*! ./_stackGet */ \"./node_modules/lodash/_stackGet.js\"),\n    stackHas = __webpack_require__(/*! ./_stackHas */ \"./node_modules/lodash/_stackHas.js\"),\n    stackSet = __webpack_require__(/*! ./_stackSet */ \"./node_modules/lodash/_stackSet.js\");\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n  var data = this.__data__ = new ListCache(entries);\n  this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_Stack.js?");

/***/ }),

/***/ "./node_modules/lodash/_Symbol.js":
/*!****************************************!*\
  !*** ./node_modules/lodash/_Symbol.js ***!
  \****************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var root = __webpack_require__(/*! ./_root */ \"./node_modules/lodash/_root.js\");\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_Symbol.js?");

/***/ }),

/***/ "./node_modules/lodash/_Uint8Array.js":
/*!********************************************!*\
  !*** ./node_modules/lodash/_Uint8Array.js ***!
  \********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var root = __webpack_require__(/*! ./_root */ \"./node_modules/lodash/_root.js\");\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_Uint8Array.js?");

/***/ }),

/***/ "./node_modules/lodash/_apply.js":
/*!***************************************!*\
  !*** ./node_modules/lodash/_apply.js ***!
  \***************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n  switch (args.length) {\n    case 0: return func.call(thisArg);\n    case 1: return func.call(thisArg, args[0]);\n    case 2: return func.call(thisArg, args[0], args[1]);\n    case 3: return func.call(thisArg, args[0], args[1], args[2]);\n  }\n  return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_apply.js?");

/***/ }),

/***/ "./node_modules/lodash/_arrayLikeKeys.js":
/*!***********************************************!*\
  !*** ./node_modules/lodash/_arrayLikeKeys.js ***!
  \***********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var baseTimes = __webpack_require__(/*! ./_baseTimes */ \"./node_modules/lodash/_baseTimes.js\"),\n    isArguments = __webpack_require__(/*! ./isArguments */ \"./node_modules/lodash/isArguments.js\"),\n    isArray = __webpack_require__(/*! ./isArray */ \"./node_modules/lodash/isArray.js\"),\n    isBuffer = __webpack_require__(/*! ./isBuffer */ \"./node_modules/lodash/isBuffer.js\"),\n    isIndex = __webpack_require__(/*! ./_isIndex */ \"./node_modules/lodash/_isIndex.js\"),\n    isTypedArray = __webpack_require__(/*! ./isTypedArray */ \"./node_modules/lodash/isTypedArray.js\");\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n  var isArr = isArray(value),\n      isArg = !isArr && isArguments(value),\n      isBuff = !isArr && !isArg && isBuffer(value),\n      isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n      skipIndexes = isArr || isArg || isBuff || isType,\n      result = skipIndexes ? baseTimes(value.length, String) : [],\n      length = result.length;\n\n  for (var key in value) {\n    if ((inherited || hasOwnProperty.call(value, key)) &&\n        !(skipIndexes && (\n           // Safari 9 has enumerable `arguments.length` in strict mode.\n           key == 'length' ||\n           // Node.js 0.10 has enumerable non-index properties on buffers.\n           (isBuff && (key == 'offset' || key == 'parent')) ||\n           // PhantomJS 2 has enumerable non-index properties on typed arrays.\n           (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n           // Skip index properties.\n           isIndex(key, length)\n        ))) {\n      result.push(key);\n    }\n  }\n  return result;\n}\n\nmodule.exports = arrayLikeKeys;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_arrayLikeKeys.js?");

/***/ }),

/***/ "./node_modules/lodash/_arrayMap.js":
/*!******************************************!*\
  !*** ./node_modules/lodash/_arrayMap.js ***!
  \******************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n  var index = -1,\n      length = array == null ? 0 : array.length,\n      result = Array(length);\n\n  while (++index < length) {\n    result[index] = iteratee(array[index], index, array);\n  }\n  return result;\n}\n\nmodule.exports = arrayMap;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_arrayMap.js?");

/***/ }),

/***/ "./node_modules/lodash/_assignMergeValue.js":
/*!**************************************************!*\
  !*** ./node_modules/lodash/_assignMergeValue.js ***!
  \**************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var baseAssignValue = __webpack_require__(/*! ./_baseAssignValue */ \"./node_modules/lodash/_baseAssignValue.js\"),\n    eq = __webpack_require__(/*! ./eq */ \"./node_modules/lodash/eq.js\");\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n  if ((value !== undefined && !eq(object[key], value)) ||\n      (value === undefined && !(key in object))) {\n    baseAssignValue(object, key, value);\n  }\n}\n\nmodule.exports = assignMergeValue;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_assignMergeValue.js?");

/***/ }),

/***/ "./node_modules/lodash/_assignValue.js":
/*!*********************************************!*\
  !*** ./node_modules/lodash/_assignValue.js ***!
  \*********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var baseAssignValue = __webpack_require__(/*! ./_baseAssignValue */ \"./node_modules/lodash/_baseAssignValue.js\"),\n    eq = __webpack_require__(/*! ./eq */ \"./node_modules/lodash/eq.js\");\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n  var objValue = object[key];\n  if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n      (value === undefined && !(key in object))) {\n    baseAssignValue(object, key, value);\n  }\n}\n\nmodule.exports = assignValue;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_assignValue.js?");

/***/ }),

/***/ "./node_modules/lodash/_assocIndexOf.js":
/*!**********************************************!*\
  !*** ./node_modules/lodash/_assocIndexOf.js ***!
  \**********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var eq = __webpack_require__(/*! ./eq */ \"./node_modules/lodash/eq.js\");\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n  var length = array.length;\n  while (length--) {\n    if (eq(array[length][0], key)) {\n      return length;\n    }\n  }\n  return -1;\n}\n\nmodule.exports = assocIndexOf;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_assocIndexOf.js?");

/***/ }),

/***/ "./node_modules/lodash/_baseAssignValue.js":
/*!*************************************************!*\
  !*** ./node_modules/lodash/_baseAssignValue.js ***!
  \*************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var defineProperty = __webpack_require__(/*! ./_defineProperty */ \"./node_modules/lodash/_defineProperty.js\");\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n  if (key == '__proto__' && defineProperty) {\n    defineProperty(object, key, {\n      'configurable': true,\n      'enumerable': true,\n      'value': value,\n      'writable': true\n    });\n  } else {\n    object[key] = value;\n  }\n}\n\nmodule.exports = baseAssignValue;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_baseAssignValue.js?");

/***/ }),

/***/ "./node_modules/lodash/_baseCreate.js":
/*!********************************************!*\
  !*** ./node_modules/lodash/_baseCreate.js ***!
  \********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var isObject = __webpack_require__(/*! ./isObject */ \"./node_modules/lodash/isObject.js\");\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n  function object() {}\n  return function(proto) {\n    if (!isObject(proto)) {\n      return {};\n    }\n    if (objectCreate) {\n      return objectCreate(proto);\n    }\n    object.prototype = proto;\n    var result = new object;\n    object.prototype = undefined;\n    return result;\n  };\n}());\n\nmodule.exports = baseCreate;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_baseCreate.js?");

/***/ }),

/***/ "./node_modules/lodash/_baseFor.js":
/*!*****************************************!*\
  !*** ./node_modules/lodash/_baseFor.js ***!
  \*****************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var createBaseFor = __webpack_require__(/*! ./_createBaseFor */ \"./node_modules/lodash/_createBaseFor.js\");\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_baseFor.js?");

/***/ }),

/***/ "./node_modules/lodash/_baseGet.js":
/*!*****************************************!*\
  !*** ./node_modules/lodash/_baseGet.js ***!
  \*****************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var castPath = __webpack_require__(/*! ./_castPath */ \"./node_modules/lodash/_castPath.js\"),\n    toKey = __webpack_require__(/*! ./_toKey */ \"./node_modules/lodash/_toKey.js\");\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n  path = castPath(path, object);\n\n  var index = 0,\n      length = path.length;\n\n  while (object != null && index < length) {\n    object = object[toKey(path[index++])];\n  }\n  return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_baseGet.js?");

/***/ }),

/***/ "./node_modules/lodash/_baseGetTag.js":
/*!********************************************!*\
  !*** ./node_modules/lodash/_baseGetTag.js ***!
  \********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var Symbol = __webpack_require__(/*! ./_Symbol */ \"./node_modules/lodash/_Symbol.js\"),\n    getRawTag = __webpack_require__(/*! ./_getRawTag */ \"./node_modules/lodash/_getRawTag.js\"),\n    objectToString = __webpack_require__(/*! ./_objectToString */ \"./node_modules/lodash/_objectToString.js\");\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n    undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n  if (value == null) {\n    return value === undefined ? undefinedTag : nullTag;\n  }\n  return (symToStringTag && symToStringTag in Object(value))\n    ? getRawTag(value)\n    : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_baseGetTag.js?");

/***/ }),

/***/ "./node_modules/lodash/_baseIsArguments.js":
/*!*************************************************!*\
  !*** ./node_modules/lodash/_baseIsArguments.js ***!
  \*************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ \"./node_modules/lodash/_baseGetTag.js\"),\n    isObjectLike = __webpack_require__(/*! ./isObjectLike */ \"./node_modules/lodash/isObjectLike.js\");\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n  return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_baseIsArguments.js?");

/***/ }),

/***/ "./node_modules/lodash/_baseIsNative.js":
/*!**********************************************!*\
  !*** ./node_modules/lodash/_baseIsNative.js ***!
  \**********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var isFunction = __webpack_require__(/*! ./isFunction */ \"./node_modules/lodash/isFunction.js\"),\n    isMasked = __webpack_require__(/*! ./_isMasked */ \"./node_modules/lodash/_isMasked.js\"),\n    isObject = __webpack_require__(/*! ./isObject */ \"./node_modules/lodash/isObject.js\"),\n    toSource = __webpack_require__(/*! ./_toSource */ \"./node_modules/lodash/_toSource.js\");\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n    objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n  funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n  .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n *  else `false`.\n */\nfunction baseIsNative(value) {\n  if (!isObject(value) || isMasked(value)) {\n    return false;\n  }\n  var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n  return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_baseIsNative.js?");

/***/ }),

/***/ "./node_modules/lodash/_baseIsTypedArray.js":
/*!**************************************************!*\
  !*** ./node_modules/lodash/_baseIsTypedArray.js ***!
  \**************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ \"./node_modules/lodash/_baseGetTag.js\"),\n    isLength = __webpack_require__(/*! ./isLength */ \"./node_modules/lodash/isLength.js\"),\n    isObjectLike = __webpack_require__(/*! ./isObjectLike */ \"./node_modules/lodash/isObjectLike.js\");\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n    arrayTag = '[object Array]',\n    boolTag = '[object Boolean]',\n    dateTag = '[object Date]',\n    errorTag = '[object Error]',\n    funcTag = '[object Function]',\n    mapTag = '[object Map]',\n    numberTag = '[object Number]',\n    objectTag = '[object Object]',\n    regexpTag = '[object RegExp]',\n    setTag = '[object Set]',\n    stringTag = '[object String]',\n    weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n    dataViewTag = '[object DataView]',\n    float32Tag = '[object Float32Array]',\n    float64Tag = '[object Float64Array]',\n    int8Tag = '[object Int8Array]',\n    int16Tag = '[object Int16Array]',\n    int32Tag = '[object Int32Array]',\n    uint8Tag = '[object Uint8Array]',\n    uint8ClampedTag = '[object Uint8ClampedArray]',\n    uint16Tag = '[object Uint16Array]',\n    uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n  return isObjectLike(value) &&\n    isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_baseIsTypedArray.js?");

/***/ }),

/***/ "./node_modules/lodash/_baseKeysIn.js":
/*!********************************************!*\
  !*** ./node_modules/lodash/_baseKeysIn.js ***!
  \********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var isObject = __webpack_require__(/*! ./isObject */ \"./node_modules/lodash/isObject.js\"),\n    isPrototype = __webpack_require__(/*! ./_isPrototype */ \"./node_modules/lodash/_isPrototype.js\"),\n    nativeKeysIn = __webpack_require__(/*! ./_nativeKeysIn */ \"./node_modules/lodash/_nativeKeysIn.js\");\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n  if (!isObject(object)) {\n    return nativeKeysIn(object);\n  }\n  var isProto = isPrototype(object),\n      result = [];\n\n  for (var key in object) {\n    if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n      result.push(key);\n    }\n  }\n  return result;\n}\n\nmodule.exports = baseKeysIn;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_baseKeysIn.js?");

/***/ }),

/***/ "./node_modules/lodash/_baseMerge.js":
/*!*******************************************!*\
  !*** ./node_modules/lodash/_baseMerge.js ***!
  \*******************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var Stack = __webpack_require__(/*! ./_Stack */ \"./node_modules/lodash/_Stack.js\"),\n    assignMergeValue = __webpack_require__(/*! ./_assignMergeValue */ \"./node_modules/lodash/_assignMergeValue.js\"),\n    baseFor = __webpack_require__(/*! ./_baseFor */ \"./node_modules/lodash/_baseFor.js\"),\n    baseMergeDeep = __webpack_require__(/*! ./_baseMergeDeep */ \"./node_modules/lodash/_baseMergeDeep.js\"),\n    isObject = __webpack_require__(/*! ./isObject */ \"./node_modules/lodash/isObject.js\"),\n    keysIn = __webpack_require__(/*! ./keysIn */ \"./node_modules/lodash/keysIn.js\"),\n    safeGet = __webpack_require__(/*! ./_safeGet */ \"./node_modules/lodash/_safeGet.js\");\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n *  counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n  if (object === source) {\n    return;\n  }\n  baseFor(source, function(srcValue, key) {\n    if (isObject(srcValue)) {\n      stack || (stack = new Stack);\n      baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n    }\n    else {\n      var newValue = customizer\n        ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n        : undefined;\n\n      if (newValue === undefined) {\n        newValue = srcValue;\n      }\n      assignMergeValue(object, key, newValue);\n    }\n  }, keysIn);\n}\n\nmodule.exports = baseMerge;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_baseMerge.js?");

/***/ }),

/***/ "./node_modules/lodash/_baseMergeDeep.js":
/*!***********************************************!*\
  !*** ./node_modules/lodash/_baseMergeDeep.js ***!
  \***********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var assignMergeValue = __webpack_require__(/*! ./_assignMergeValue */ \"./node_modules/lodash/_assignMergeValue.js\"),\n    cloneBuffer = __webpack_require__(/*! ./_cloneBuffer */ \"./node_modules/lodash/_cloneBuffer.js\"),\n    cloneTypedArray = __webpack_require__(/*! ./_cloneTypedArray */ \"./node_modules/lodash/_cloneTypedArray.js\"),\n    copyArray = __webpack_require__(/*! ./_copyArray */ \"./node_modules/lodash/_copyArray.js\"),\n    initCloneObject = __webpack_require__(/*! ./_initCloneObject */ \"./node_modules/lodash/_initCloneObject.js\"),\n    isArguments = __webpack_require__(/*! ./isArguments */ \"./node_modules/lodash/isArguments.js\"),\n    isArray = __webpack_require__(/*! ./isArray */ \"./node_modules/lodash/isArray.js\"),\n    isArrayLikeObject = __webpack_require__(/*! ./isArrayLikeObject */ \"./node_modules/lodash/isArrayLikeObject.js\"),\n    isBuffer = __webpack_require__(/*! ./isBuffer */ \"./node_modules/lodash/isBuffer.js\"),\n    isFunction = __webpack_require__(/*! ./isFunction */ \"./node_modules/lodash/isFunction.js\"),\n    isObject = __webpack_require__(/*! ./isObject */ \"./node_modules/lodash/isObject.js\"),\n    isPlainObject = __webpack_require__(/*! ./isPlainObject */ \"./node_modules/lodash/isPlainObject.js\"),\n    isTypedArray = __webpack_require__(/*! ./isTypedArray */ \"./node_modules/lodash/isTypedArray.js\"),\n    safeGet = __webpack_require__(/*! ./_safeGet */ \"./node_modules/lodash/_safeGet.js\"),\n    toPlainObject = __webpack_require__(/*! ./toPlainObject */ \"./node_modules/lodash/toPlainObject.js\");\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n *  counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n  var objValue = safeGet(object, key),\n      srcValue = safeGet(source, key),\n      stacked = stack.get(srcValue);\n\n  if (stacked) {\n    assignMergeValue(object, key, stacked);\n    return;\n  }\n  var newValue = customizer\n    ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n    : undefined;\n\n  var isCommon = newValue === undefined;\n\n  if (isCommon) {\n    var isArr = isArray(srcValue),\n        isBuff = !isArr && isBuffer(srcValue),\n        isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n    newValue = srcValue;\n    if (isArr || isBuff || isTyped) {\n      if (isArray(objValue)) {\n        newValue = objValue;\n      }\n      else if (isArrayLikeObject(objValue)) {\n        newValue = copyArray(objValue);\n      }\n      else if (isBuff) {\n        isCommon = false;\n        newValue = cloneBuffer(srcValue, true);\n      }\n      else if (isTyped) {\n        isCommon = false;\n        newValue = cloneTypedArray(srcValue, true);\n      }\n      else {\n        newValue = [];\n      }\n    }\n    else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n      newValue = objValue;\n      if (isArguments(objValue)) {\n        newValue = toPlainObject(objValue);\n      }\n      else if (!isObject(objValue) || isFunction(objValue)) {\n        newValue = initCloneObject(srcValue);\n      }\n    }\n    else {\n      isCommon = false;\n    }\n  }\n  if (isCommon) {\n    // Recursively merge objects and arrays (susceptible to call stack limits).\n    stack.set(srcValue, newValue);\n    mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n    stack['delete'](srcValue);\n  }\n  assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_baseMergeDeep.js?");

/***/ }),

/***/ "./node_modules/lodash/_baseRest.js":
/*!******************************************!*\
  !*** ./node_modules/lodash/_baseRest.js ***!
  \******************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var identity = __webpack_require__(/*! ./identity */ \"./node_modules/lodash/identity.js\"),\n    overRest = __webpack_require__(/*! ./_overRest */ \"./node_modules/lodash/_overRest.js\"),\n    setToString = __webpack_require__(/*! ./_setToString */ \"./node_modules/lodash/_setToString.js\");\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n  return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_baseRest.js?");

/***/ }),

/***/ "./node_modules/lodash/_baseSetToString.js":
/*!*************************************************!*\
  !*** ./node_modules/lodash/_baseSetToString.js ***!
  \*************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var constant = __webpack_require__(/*! ./constant */ \"./node_modules/lodash/constant.js\"),\n    defineProperty = __webpack_require__(/*! ./_defineProperty */ \"./node_modules/lodash/_defineProperty.js\"),\n    identity = __webpack_require__(/*! ./identity */ \"./node_modules/lodash/identity.js\");\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n  return defineProperty(func, 'toString', {\n    'configurable': true,\n    'enumerable': false,\n    'value': constant(string),\n    'writable': true\n  });\n};\n\nmodule.exports = baseSetToString;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_baseSetToString.js?");

/***/ }),

/***/ "./node_modules/lodash/_baseTimes.js":
/*!*******************************************!*\
  !*** ./node_modules/lodash/_baseTimes.js ***!
  \*******************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n  var index = -1,\n      result = Array(n);\n\n  while (++index < n) {\n    result[index] = iteratee(index);\n  }\n  return result;\n}\n\nmodule.exports = baseTimes;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_baseTimes.js?");

/***/ }),

/***/ "./node_modules/lodash/_baseToString.js":
/*!**********************************************!*\
  !*** ./node_modules/lodash/_baseToString.js ***!
  \**********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var Symbol = __webpack_require__(/*! ./_Symbol */ \"./node_modules/lodash/_Symbol.js\"),\n    arrayMap = __webpack_require__(/*! ./_arrayMap */ \"./node_modules/lodash/_arrayMap.js\"),\n    isArray = __webpack_require__(/*! ./isArray */ \"./node_modules/lodash/isArray.js\"),\n    isSymbol = __webpack_require__(/*! ./isSymbol */ \"./node_modules/lodash/isSymbol.js\");\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n    symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n  // Exit early for strings to avoid a performance hit in some environments.\n  if (typeof value == 'string') {\n    return value;\n  }\n  if (isArray(value)) {\n    // Recursively convert values (susceptible to call stack limits).\n    return arrayMap(value, baseToString) + '';\n  }\n  if (isSymbol(value)) {\n    return symbolToString ? symbolToString.call(value) : '';\n  }\n  var result = (value + '');\n  return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_baseToString.js?");

/***/ }),

/***/ "./node_modules/lodash/_baseUnary.js":
/*!*******************************************!*\
  !*** ./node_modules/lodash/_baseUnary.js ***!
  \*******************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n  return function(value) {\n    return func(value);\n  };\n}\n\nmodule.exports = baseUnary;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_baseUnary.js?");

/***/ }),

/***/ "./node_modules/lodash/_castPath.js":
/*!******************************************!*\
  !*** ./node_modules/lodash/_castPath.js ***!
  \******************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var isArray = __webpack_require__(/*! ./isArray */ \"./node_modules/lodash/isArray.js\"),\n    isKey = __webpack_require__(/*! ./_isKey */ \"./node_modules/lodash/_isKey.js\"),\n    stringToPath = __webpack_require__(/*! ./_stringToPath */ \"./node_modules/lodash/_stringToPath.js\"),\n    toString = __webpack_require__(/*! ./toString */ \"./node_modules/lodash/toString.js\");\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n  if (isArray(value)) {\n    return value;\n  }\n  return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_castPath.js?");

/***/ }),

/***/ "./node_modules/lodash/_cloneArrayBuffer.js":
/*!**************************************************!*\
  !*** ./node_modules/lodash/_cloneArrayBuffer.js ***!
  \**************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var Uint8Array = __webpack_require__(/*! ./_Uint8Array */ \"./node_modules/lodash/_Uint8Array.js\");\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n  var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n  new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n  return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_cloneArrayBuffer.js?");

/***/ }),

/***/ "./node_modules/lodash/_cloneBuffer.js":
/*!*********************************************!*\
  !*** ./node_modules/lodash/_cloneBuffer.js ***!
  \*********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("/* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(/*! ./_root */ \"./node_modules/lodash/_root.js\");\n\n/** Detect free variable `exports`. */\nvar freeExports =  true && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n    allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of  `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n  if (isDeep) {\n    return buffer.slice();\n  }\n  var length = buffer.length,\n      result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n  buffer.copy(result);\n  return result;\n}\n\nmodule.exports = cloneBuffer;\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/module.js */ \"./node_modules/webpack/buildin/module.js\")(module)))\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_cloneBuffer.js?");

/***/ }),

/***/ "./node_modules/lodash/_cloneTypedArray.js":
/*!*************************************************!*\
  !*** ./node_modules/lodash/_cloneTypedArray.js ***!
  \*************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var cloneArrayBuffer = __webpack_require__(/*! ./_cloneArrayBuffer */ \"./node_modules/lodash/_cloneArrayBuffer.js\");\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n  var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n  return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_cloneTypedArray.js?");

/***/ }),

/***/ "./node_modules/lodash/_copyArray.js":
/*!*******************************************!*\
  !*** ./node_modules/lodash/_copyArray.js ***!
  \*******************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n  var index = -1,\n      length = source.length;\n\n  array || (array = Array(length));\n  while (++index < length) {\n    array[index] = source[index];\n  }\n  return array;\n}\n\nmodule.exports = copyArray;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_copyArray.js?");

/***/ }),

/***/ "./node_modules/lodash/_copyObject.js":
/*!********************************************!*\
  !*** ./node_modules/lodash/_copyObject.js ***!
  \********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var assignValue = __webpack_require__(/*! ./_assignValue */ \"./node_modules/lodash/_assignValue.js\"),\n    baseAssignValue = __webpack_require__(/*! ./_baseAssignValue */ \"./node_modules/lodash/_baseAssignValue.js\");\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n  var isNew = !object;\n  object || (object = {});\n\n  var index = -1,\n      length = props.length;\n\n  while (++index < length) {\n    var key = props[index];\n\n    var newValue = customizer\n      ? customizer(object[key], source[key], key, object, source)\n      : undefined;\n\n    if (newValue === undefined) {\n      newValue = source[key];\n    }\n    if (isNew) {\n      baseAssignValue(object, key, newValue);\n    } else {\n      assignValue(object, key, newValue);\n    }\n  }\n  return object;\n}\n\nmodule.exports = copyObject;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_copyObject.js?");

/***/ }),

/***/ "./node_modules/lodash/_coreJsData.js":
/*!********************************************!*\
  !*** ./node_modules/lodash/_coreJsData.js ***!
  \********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var root = __webpack_require__(/*! ./_root */ \"./node_modules/lodash/_root.js\");\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_coreJsData.js?");

/***/ }),

/***/ "./node_modules/lodash/_createAssigner.js":
/*!************************************************!*\
  !*** ./node_modules/lodash/_createAssigner.js ***!
  \************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var baseRest = __webpack_require__(/*! ./_baseRest */ \"./node_modules/lodash/_baseRest.js\"),\n    isIterateeCall = __webpack_require__(/*! ./_isIterateeCall */ \"./node_modules/lodash/_isIterateeCall.js\");\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n  return baseRest(function(object, sources) {\n    var index = -1,\n        length = sources.length,\n        customizer = length > 1 ? sources[length - 1] : undefined,\n        guard = length > 2 ? sources[2] : undefined;\n\n    customizer = (assigner.length > 3 && typeof customizer == 'function')\n      ? (length--, customizer)\n      : undefined;\n\n    if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n      customizer = length < 3 ? undefined : customizer;\n      length = 1;\n    }\n    object = Object(object);\n    while (++index < length) {\n      var source = sources[index];\n      if (source) {\n        assigner(object, source, index, customizer);\n      }\n    }\n    return object;\n  });\n}\n\nmodule.exports = createAssigner;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_createAssigner.js?");

/***/ }),

/***/ "./node_modules/lodash/_createBaseFor.js":
/*!***********************************************!*\
  !*** ./node_modules/lodash/_createBaseFor.js ***!
  \***********************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n  return function(object, iteratee, keysFunc) {\n    var index = -1,\n        iterable = Object(object),\n        props = keysFunc(object),\n        length = props.length;\n\n    while (length--) {\n      var key = props[fromRight ? length : ++index];\n      if (iteratee(iterable[key], key, iterable) === false) {\n        break;\n      }\n    }\n    return object;\n  };\n}\n\nmodule.exports = createBaseFor;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_createBaseFor.js?");

/***/ }),

/***/ "./node_modules/lodash/_defineProperty.js":
/*!************************************************!*\
  !*** ./node_modules/lodash/_defineProperty.js ***!
  \************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var getNative = __webpack_require__(/*! ./_getNative */ \"./node_modules/lodash/_getNative.js\");\n\nvar defineProperty = (function() {\n  try {\n    var func = getNative(Object, 'defineProperty');\n    func({}, '', {});\n    return func;\n  } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_defineProperty.js?");

/***/ }),

/***/ "./node_modules/lodash/_freeGlobal.js":
/*!********************************************!*\
  !*** ./node_modules/lodash/_freeGlobal.js ***!
  \********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("/* WEBPACK VAR INJECTION */(function(global) {/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_freeGlobal.js?");

/***/ }),

/***/ "./node_modules/lodash/_getMapData.js":
/*!********************************************!*\
  !*** ./node_modules/lodash/_getMapData.js ***!
  \********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var isKeyable = __webpack_require__(/*! ./_isKeyable */ \"./node_modules/lodash/_isKeyable.js\");\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n  var data = map.__data__;\n  return isKeyable(key)\n    ? data[typeof key == 'string' ? 'string' : 'hash']\n    : data.map;\n}\n\nmodule.exports = getMapData;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_getMapData.js?");

/***/ }),

/***/ "./node_modules/lodash/_getNative.js":
/*!*******************************************!*\
  !*** ./node_modules/lodash/_getNative.js ***!
  \*******************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var baseIsNative = __webpack_require__(/*! ./_baseIsNative */ \"./node_modules/lodash/_baseIsNative.js\"),\n    getValue = __webpack_require__(/*! ./_getValue */ \"./node_modules/lodash/_getValue.js\");\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n  var value = getValue(object, key);\n  return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_getNative.js?");

/***/ }),

/***/ "./node_modules/lodash/_getPrototype.js":
/*!**********************************************!*\
  !*** ./node_modules/lodash/_getPrototype.js ***!
  \**********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var overArg = __webpack_require__(/*! ./_overArg */ \"./node_modules/lodash/_overArg.js\");\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_getPrototype.js?");

/***/ }),

/***/ "./node_modules/lodash/_getRawTag.js":
/*!*******************************************!*\
  !*** ./node_modules/lodash/_getRawTag.js ***!
  \*******************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var Symbol = __webpack_require__(/*! ./_Symbol */ \"./node_modules/lodash/_Symbol.js\");\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n  var isOwn = hasOwnProperty.call(value, symToStringTag),\n      tag = value[symToStringTag];\n\n  try {\n    value[symToStringTag] = undefined;\n    var unmasked = true;\n  } catch (e) {}\n\n  var result = nativeObjectToString.call(value);\n  if (unmasked) {\n    if (isOwn) {\n      value[symToStringTag] = tag;\n    } else {\n      delete value[symToStringTag];\n    }\n  }\n  return result;\n}\n\nmodule.exports = getRawTag;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_getRawTag.js?");

/***/ }),

/***/ "./node_modules/lodash/_getValue.js":
/*!******************************************!*\
  !*** ./node_modules/lodash/_getValue.js ***!
  \******************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n  return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_getValue.js?");

/***/ }),

/***/ "./node_modules/lodash/_hashClear.js":
/*!*******************************************!*\
  !*** ./node_modules/lodash/_hashClear.js ***!
  \*******************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var nativeCreate = __webpack_require__(/*! ./_nativeCreate */ \"./node_modules/lodash/_nativeCreate.js\");\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n  this.__data__ = nativeCreate ? nativeCreate(null) : {};\n  this.size = 0;\n}\n\nmodule.exports = hashClear;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_hashClear.js?");

/***/ }),

/***/ "./node_modules/lodash/_hashDelete.js":
/*!********************************************!*\
  !*** ./node_modules/lodash/_hashDelete.js ***!
  \********************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n  var result = this.has(key) && delete this.__data__[key];\n  this.size -= result ? 1 : 0;\n  return result;\n}\n\nmodule.exports = hashDelete;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_hashDelete.js?");

/***/ }),

/***/ "./node_modules/lodash/_hashGet.js":
/*!*****************************************!*\
  !*** ./node_modules/lodash/_hashGet.js ***!
  \*****************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var nativeCreate = __webpack_require__(/*! ./_nativeCreate */ \"./node_modules/lodash/_nativeCreate.js\");\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n  var data = this.__data__;\n  if (nativeCreate) {\n    var result = data[key];\n    return result === HASH_UNDEFINED ? undefined : result;\n  }\n  return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_hashGet.js?");

/***/ }),

/***/ "./node_modules/lodash/_hashHas.js":
/*!*****************************************!*\
  !*** ./node_modules/lodash/_hashHas.js ***!
  \*****************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var nativeCreate = __webpack_require__(/*! ./_nativeCreate */ \"./node_modules/lodash/_nativeCreate.js\");\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n  var data = this.__data__;\n  return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_hashHas.js?");

/***/ }),

/***/ "./node_modules/lodash/_hashSet.js":
/*!*****************************************!*\
  !*** ./node_modules/lodash/_hashSet.js ***!
  \*****************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var nativeCreate = __webpack_require__(/*! ./_nativeCreate */ \"./node_modules/lodash/_nativeCreate.js\");\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n  var data = this.__data__;\n  this.size += this.has(key) ? 0 : 1;\n  data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n  return this;\n}\n\nmodule.exports = hashSet;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_hashSet.js?");

/***/ }),

/***/ "./node_modules/lodash/_initCloneObject.js":
/*!*************************************************!*\
  !*** ./node_modules/lodash/_initCloneObject.js ***!
  \*************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var baseCreate = __webpack_require__(/*! ./_baseCreate */ \"./node_modules/lodash/_baseCreate.js\"),\n    getPrototype = __webpack_require__(/*! ./_getPrototype */ \"./node_modules/lodash/_getPrototype.js\"),\n    isPrototype = __webpack_require__(/*! ./_isPrototype */ \"./node_modules/lodash/_isPrototype.js\");\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n  return (typeof object.constructor == 'function' && !isPrototype(object))\n    ? baseCreate(getPrototype(object))\n    : {};\n}\n\nmodule.exports = initCloneObject;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_initCloneObject.js?");

/***/ }),

/***/ "./node_modules/lodash/_isIndex.js":
/*!*****************************************!*\
  !*** ./node_modules/lodash/_isIndex.js ***!
  \*****************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n  var type = typeof value;\n  length = length == null ? MAX_SAFE_INTEGER : length;\n\n  return !!length &&\n    (type == 'number' ||\n      (type != 'symbol' && reIsUint.test(value))) &&\n        (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_isIndex.js?");

/***/ }),

/***/ "./node_modules/lodash/_isIterateeCall.js":
/*!************************************************!*\
  !*** ./node_modules/lodash/_isIterateeCall.js ***!
  \************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var eq = __webpack_require__(/*! ./eq */ \"./node_modules/lodash/eq.js\"),\n    isArrayLike = __webpack_require__(/*! ./isArrayLike */ \"./node_modules/lodash/isArrayLike.js\"),\n    isIndex = __webpack_require__(/*! ./_isIndex */ \"./node_modules/lodash/_isIndex.js\"),\n    isObject = __webpack_require__(/*! ./isObject */ \"./node_modules/lodash/isObject.js\");\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n *  else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n  if (!isObject(object)) {\n    return false;\n  }\n  var type = typeof index;\n  if (type == 'number'\n        ? (isArrayLike(object) && isIndex(index, object.length))\n        : (type == 'string' && index in object)\n      ) {\n    return eq(object[index], value);\n  }\n  return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_isIterateeCall.js?");

/***/ }),

/***/ "./node_modules/lodash/_isKey.js":
/*!***************************************!*\
  !*** ./node_modules/lodash/_isKey.js ***!
  \***************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var isArray = __webpack_require__(/*! ./isArray */ \"./node_modules/lodash/isArray.js\"),\n    isSymbol = __webpack_require__(/*! ./isSymbol */ \"./node_modules/lodash/isSymbol.js\");\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n    reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n  if (isArray(value)) {\n    return false;\n  }\n  var type = typeof value;\n  if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n      value == null || isSymbol(value)) {\n    return true;\n  }\n  return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n    (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_isKey.js?");

/***/ }),

/***/ "./node_modules/lodash/_isKeyable.js":
/*!*******************************************!*\
  !*** ./node_modules/lodash/_isKeyable.js ***!
  \*******************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n  var type = typeof value;\n  return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n    ? (value !== '__proto__')\n    : (value === null);\n}\n\nmodule.exports = isKeyable;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_isKeyable.js?");

/***/ }),

/***/ "./node_modules/lodash/_isMasked.js":
/*!******************************************!*\
  !*** ./node_modules/lodash/_isMasked.js ***!
  \******************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var coreJsData = __webpack_require__(/*! ./_coreJsData */ \"./node_modules/lodash/_coreJsData.js\");\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n  var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n  return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n  return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_isMasked.js?");

/***/ }),

/***/ "./node_modules/lodash/_isPrototype.js":
/*!*********************************************!*\
  !*** ./node_modules/lodash/_isPrototype.js ***!
  \*********************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n  var Ctor = value && value.constructor,\n      proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n  return value === proto;\n}\n\nmodule.exports = isPrototype;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_isPrototype.js?");

/***/ }),

/***/ "./node_modules/lodash/_listCacheClear.js":
/*!************************************************!*\
  !*** ./node_modules/lodash/_listCacheClear.js ***!
  \************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n  this.__data__ = [];\n  this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_listCacheClear.js?");

/***/ }),

/***/ "./node_modules/lodash/_listCacheDelete.js":
/*!*************************************************!*\
  !*** ./node_modules/lodash/_listCacheDelete.js ***!
  \*************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var assocIndexOf = __webpack_require__(/*! ./_assocIndexOf */ \"./node_modules/lodash/_assocIndexOf.js\");\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  if (index < 0) {\n    return false;\n  }\n  var lastIndex = data.length - 1;\n  if (index == lastIndex) {\n    data.pop();\n  } else {\n    splice.call(data, index, 1);\n  }\n  --this.size;\n  return true;\n}\n\nmodule.exports = listCacheDelete;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_listCacheDelete.js?");

/***/ }),

/***/ "./node_modules/lodash/_listCacheGet.js":
/*!**********************************************!*\
  !*** ./node_modules/lodash/_listCacheGet.js ***!
  \**********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var assocIndexOf = __webpack_require__(/*! ./_assocIndexOf */ \"./node_modules/lodash/_assocIndexOf.js\");\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_listCacheGet.js?");

/***/ }),

/***/ "./node_modules/lodash/_listCacheHas.js":
/*!**********************************************!*\
  !*** ./node_modules/lodash/_listCacheHas.js ***!
  \**********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var assocIndexOf = __webpack_require__(/*! ./_assocIndexOf */ \"./node_modules/lodash/_assocIndexOf.js\");\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n  return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_listCacheHas.js?");

/***/ }),

/***/ "./node_modules/lodash/_listCacheSet.js":
/*!**********************************************!*\
  !*** ./node_modules/lodash/_listCacheSet.js ***!
  \**********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var assocIndexOf = __webpack_require__(/*! ./_assocIndexOf */ \"./node_modules/lodash/_assocIndexOf.js\");\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  if (index < 0) {\n    ++this.size;\n    data.push([key, value]);\n  } else {\n    data[index][1] = value;\n  }\n  return this;\n}\n\nmodule.exports = listCacheSet;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_listCacheSet.js?");

/***/ }),

/***/ "./node_modules/lodash/_mapCacheClear.js":
/*!***********************************************!*\
  !*** ./node_modules/lodash/_mapCacheClear.js ***!
  \***********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var Hash = __webpack_require__(/*! ./_Hash */ \"./node_modules/lodash/_Hash.js\"),\n    ListCache = __webpack_require__(/*! ./_ListCache */ \"./node_modules/lodash/_ListCache.js\"),\n    Map = __webpack_require__(/*! ./_Map */ \"./node_modules/lodash/_Map.js\");\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n  this.size = 0;\n  this.__data__ = {\n    'hash': new Hash,\n    'map': new (Map || ListCache),\n    'string': new Hash\n  };\n}\n\nmodule.exports = mapCacheClear;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_mapCacheClear.js?");

/***/ }),

/***/ "./node_modules/lodash/_mapCacheDelete.js":
/*!************************************************!*\
  !*** ./node_modules/lodash/_mapCacheDelete.js ***!
  \************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var getMapData = __webpack_require__(/*! ./_getMapData */ \"./node_modules/lodash/_getMapData.js\");\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n  var result = getMapData(this, key)['delete'](key);\n  this.size -= result ? 1 : 0;\n  return result;\n}\n\nmodule.exports = mapCacheDelete;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_mapCacheDelete.js?");

/***/ }),

/***/ "./node_modules/lodash/_mapCacheGet.js":
/*!*********************************************!*\
  !*** ./node_modules/lodash/_mapCacheGet.js ***!
  \*********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var getMapData = __webpack_require__(/*! ./_getMapData */ \"./node_modules/lodash/_getMapData.js\");\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n  return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_mapCacheGet.js?");

/***/ }),

/***/ "./node_modules/lodash/_mapCacheHas.js":
/*!*********************************************!*\
  !*** ./node_modules/lodash/_mapCacheHas.js ***!
  \*********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var getMapData = __webpack_require__(/*! ./_getMapData */ \"./node_modules/lodash/_getMapData.js\");\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n  return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_mapCacheHas.js?");

/***/ }),

/***/ "./node_modules/lodash/_mapCacheSet.js":
/*!*********************************************!*\
  !*** ./node_modules/lodash/_mapCacheSet.js ***!
  \*********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var getMapData = __webpack_require__(/*! ./_getMapData */ \"./node_modules/lodash/_getMapData.js\");\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n  var data = getMapData(this, key),\n      size = data.size;\n\n  data.set(key, value);\n  this.size += data.size == size ? 0 : 1;\n  return this;\n}\n\nmodule.exports = mapCacheSet;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_mapCacheSet.js?");

/***/ }),

/***/ "./node_modules/lodash/_memoizeCapped.js":
/*!***********************************************!*\
  !*** ./node_modules/lodash/_memoizeCapped.js ***!
  \***********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var memoize = __webpack_require__(/*! ./memoize */ \"./node_modules/lodash/memoize.js\");\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n  var result = memoize(func, function(key) {\n    if (cache.size === MAX_MEMOIZE_SIZE) {\n      cache.clear();\n    }\n    return key;\n  });\n\n  var cache = result.cache;\n  return result;\n}\n\nmodule.exports = memoizeCapped;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_memoizeCapped.js?");

/***/ }),

/***/ "./node_modules/lodash/_nativeCreate.js":
/*!**********************************************!*\
  !*** ./node_modules/lodash/_nativeCreate.js ***!
  \**********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var getNative = __webpack_require__(/*! ./_getNative */ \"./node_modules/lodash/_getNative.js\");\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_nativeCreate.js?");

/***/ }),

/***/ "./node_modules/lodash/_nativeKeysIn.js":
/*!**********************************************!*\
  !*** ./node_modules/lodash/_nativeKeysIn.js ***!
  \**********************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n  var result = [];\n  if (object != null) {\n    for (var key in Object(object)) {\n      result.push(key);\n    }\n  }\n  return result;\n}\n\nmodule.exports = nativeKeysIn;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_nativeKeysIn.js?");

/***/ }),

/***/ "./node_modules/lodash/_nodeUtil.js":
/*!******************************************!*\
  !*** ./node_modules/lodash/_nodeUtil.js ***!
  \******************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("/* WEBPACK VAR INJECTION */(function(module) {var freeGlobal = __webpack_require__(/*! ./_freeGlobal */ \"./node_modules/lodash/_freeGlobal.js\");\n\n/** Detect free variable `exports`. */\nvar freeExports =  true && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n  try {\n    // Use `util.types` for Node.js 10+.\n    var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n    if (types) {\n      return types;\n    }\n\n    // Legacy `process.binding('util')` for Node.js < 10.\n    return freeProcess && freeProcess.binding && freeProcess.binding('util');\n  } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/module.js */ \"./node_modules/webpack/buildin/module.js\")(module)))\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_nodeUtil.js?");

/***/ }),

/***/ "./node_modules/lodash/_objectToString.js":
/*!************************************************!*\
  !*** ./node_modules/lodash/_objectToString.js ***!
  \************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n  return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_objectToString.js?");

/***/ }),

/***/ "./node_modules/lodash/_overArg.js":
/*!*****************************************!*\
  !*** ./node_modules/lodash/_overArg.js ***!
  \*****************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n  return function(arg) {\n    return func(transform(arg));\n  };\n}\n\nmodule.exports = overArg;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_overArg.js?");

/***/ }),

/***/ "./node_modules/lodash/_overRest.js":
/*!******************************************!*\
  !*** ./node_modules/lodash/_overRest.js ***!
  \******************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var apply = __webpack_require__(/*! ./_apply */ \"./node_modules/lodash/_apply.js\");\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n  start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n  return function() {\n    var args = arguments,\n        index = -1,\n        length = nativeMax(args.length - start, 0),\n        array = Array(length);\n\n    while (++index < length) {\n      array[index] = args[start + index];\n    }\n    index = -1;\n    var otherArgs = Array(start + 1);\n    while (++index < start) {\n      otherArgs[index] = args[index];\n    }\n    otherArgs[start] = transform(array);\n    return apply(func, this, otherArgs);\n  };\n}\n\nmodule.exports = overRest;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_overRest.js?");

/***/ }),

/***/ "./node_modules/lodash/_root.js":
/*!**************************************!*\
  !*** ./node_modules/lodash/_root.js ***!
  \**************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var freeGlobal = __webpack_require__(/*! ./_freeGlobal */ \"./node_modules/lodash/_freeGlobal.js\");\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_root.js?");

/***/ }),

/***/ "./node_modules/lodash/_safeGet.js":
/*!*****************************************!*\
  !*** ./node_modules/lodash/_safeGet.js ***!
  \*****************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * Gets the value at `key`, unless `key` is \"__proto__\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n  if (key == '__proto__') {\n    return;\n  }\n\n  return object[key];\n}\n\nmodule.exports = safeGet;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_safeGet.js?");

/***/ }),

/***/ "./node_modules/lodash/_setToString.js":
/*!*********************************************!*\
  !*** ./node_modules/lodash/_setToString.js ***!
  \*********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var baseSetToString = __webpack_require__(/*! ./_baseSetToString */ \"./node_modules/lodash/_baseSetToString.js\"),\n    shortOut = __webpack_require__(/*! ./_shortOut */ \"./node_modules/lodash/_shortOut.js\");\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_setToString.js?");

/***/ }),

/***/ "./node_modules/lodash/_shortOut.js":
/*!******************************************!*\
  !*** ./node_modules/lodash/_shortOut.js ***!
  \******************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n    HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n  var count = 0,\n      lastCalled = 0;\n\n  return function() {\n    var stamp = nativeNow(),\n        remaining = HOT_SPAN - (stamp - lastCalled);\n\n    lastCalled = stamp;\n    if (remaining > 0) {\n      if (++count >= HOT_COUNT) {\n        return arguments[0];\n      }\n    } else {\n      count = 0;\n    }\n    return func.apply(undefined, arguments);\n  };\n}\n\nmodule.exports = shortOut;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_shortOut.js?");

/***/ }),

/***/ "./node_modules/lodash/_stackClear.js":
/*!********************************************!*\
  !*** ./node_modules/lodash/_stackClear.js ***!
  \********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var ListCache = __webpack_require__(/*! ./_ListCache */ \"./node_modules/lodash/_ListCache.js\");\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n  this.__data__ = new ListCache;\n  this.size = 0;\n}\n\nmodule.exports = stackClear;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_stackClear.js?");

/***/ }),

/***/ "./node_modules/lodash/_stackDelete.js":
/*!*********************************************!*\
  !*** ./node_modules/lodash/_stackDelete.js ***!
  \*********************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n  var data = this.__data__,\n      result = data['delete'](key);\n\n  this.size = data.size;\n  return result;\n}\n\nmodule.exports = stackDelete;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_stackDelete.js?");

/***/ }),

/***/ "./node_modules/lodash/_stackGet.js":
/*!******************************************!*\
  !*** ./node_modules/lodash/_stackGet.js ***!
  \******************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n  return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_stackGet.js?");

/***/ }),

/***/ "./node_modules/lodash/_stackHas.js":
/*!******************************************!*\
  !*** ./node_modules/lodash/_stackHas.js ***!
  \******************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n  return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_stackHas.js?");

/***/ }),

/***/ "./node_modules/lodash/_stackSet.js":
/*!******************************************!*\
  !*** ./node_modules/lodash/_stackSet.js ***!
  \******************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var ListCache = __webpack_require__(/*! ./_ListCache */ \"./node_modules/lodash/_ListCache.js\"),\n    Map = __webpack_require__(/*! ./_Map */ \"./node_modules/lodash/_Map.js\"),\n    MapCache = __webpack_require__(/*! ./_MapCache */ \"./node_modules/lodash/_MapCache.js\");\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n  var data = this.__data__;\n  if (data instanceof ListCache) {\n    var pairs = data.__data__;\n    if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n      pairs.push([key, value]);\n      this.size = ++data.size;\n      return this;\n    }\n    data = this.__data__ = new MapCache(pairs);\n  }\n  data.set(key, value);\n  this.size = data.size;\n  return this;\n}\n\nmodule.exports = stackSet;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_stackSet.js?");

/***/ }),

/***/ "./node_modules/lodash/_stringToPath.js":
/*!**********************************************!*\
  !*** ./node_modules/lodash/_stringToPath.js ***!
  \**********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var memoizeCapped = __webpack_require__(/*! ./_memoizeCapped */ \"./node_modules/lodash/_memoizeCapped.js\");\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n  var result = [];\n  if (string.charCodeAt(0) === 46 /* . */) {\n    result.push('');\n  }\n  string.replace(rePropName, function(match, number, quote, subString) {\n    result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n  });\n  return result;\n});\n\nmodule.exports = stringToPath;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_stringToPath.js?");

/***/ }),

/***/ "./node_modules/lodash/_toKey.js":
/*!***************************************!*\
  !*** ./node_modules/lodash/_toKey.js ***!
  \***************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var isSymbol = __webpack_require__(/*! ./isSymbol */ \"./node_modules/lodash/isSymbol.js\");\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n  if (typeof value == 'string' || isSymbol(value)) {\n    return value;\n  }\n  var result = (value + '');\n  return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_toKey.js?");

/***/ }),

/***/ "./node_modules/lodash/_toSource.js":
/*!******************************************!*\
  !*** ./node_modules/lodash/_toSource.js ***!
  \******************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n  if (func != null) {\n    try {\n      return funcToString.call(func);\n    } catch (e) {}\n    try {\n      return (func + '');\n    } catch (e) {}\n  }\n  return '';\n}\n\nmodule.exports = toSource;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/_toSource.js?");

/***/ }),

/***/ "./node_modules/lodash/constant.js":
/*!*****************************************!*\
  !*** ./node_modules/lodash/constant.js ***!
  \*****************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n  return function() {\n    return value;\n  };\n}\n\nmodule.exports = constant;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/constant.js?");

/***/ }),

/***/ "./node_modules/lodash/eq.js":
/*!***********************************!*\
  !*** ./node_modules/lodash/eq.js ***!
  \***********************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n  return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/eq.js?");

/***/ }),

/***/ "./node_modules/lodash/get.js":
/*!************************************!*\
  !*** ./node_modules/lodash/get.js ***!
  \************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var baseGet = __webpack_require__(/*! ./_baseGet */ \"./node_modules/lodash/_baseGet.js\");\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n  var result = object == null ? undefined : baseGet(object, path);\n  return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/get.js?");

/***/ }),

/***/ "./node_modules/lodash/identity.js":
/*!*****************************************!*\
  !*** ./node_modules/lodash/identity.js ***!
  \*****************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n  return value;\n}\n\nmodule.exports = identity;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/identity.js?");

/***/ }),

/***/ "./node_modules/lodash/isArguments.js":
/*!********************************************!*\
  !*** ./node_modules/lodash/isArguments.js ***!
  \********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var baseIsArguments = __webpack_require__(/*! ./_baseIsArguments */ \"./node_modules/lodash/_baseIsArguments.js\"),\n    isObjectLike = __webpack_require__(/*! ./isObjectLike */ \"./node_modules/lodash/isObjectLike.js\");\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n *  else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n  return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n    !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/isArguments.js?");

/***/ }),

/***/ "./node_modules/lodash/isArray.js":
/*!****************************************!*\
  !*** ./node_modules/lodash/isArray.js ***!
  \****************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/isArray.js?");

/***/ }),

/***/ "./node_modules/lodash/isArrayLike.js":
/*!********************************************!*\
  !*** ./node_modules/lodash/isArrayLike.js ***!
  \********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var isFunction = __webpack_require__(/*! ./isFunction */ \"./node_modules/lodash/isFunction.js\"),\n    isLength = __webpack_require__(/*! ./isLength */ \"./node_modules/lodash/isLength.js\");\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n  return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/isArrayLike.js?");

/***/ }),

/***/ "./node_modules/lodash/isArrayLikeObject.js":
/*!**************************************************!*\
  !*** ./node_modules/lodash/isArrayLikeObject.js ***!
  \**************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var isArrayLike = __webpack_require__(/*! ./isArrayLike */ \"./node_modules/lodash/isArrayLike.js\"),\n    isObjectLike = __webpack_require__(/*! ./isObjectLike */ \"./node_modules/lodash/isObjectLike.js\");\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n *  else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n  return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/isArrayLikeObject.js?");

/***/ }),

/***/ "./node_modules/lodash/isBoolean.js":
/*!******************************************!*\
  !*** ./node_modules/lodash/isBoolean.js ***!
  \******************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ \"./node_modules/lodash/_baseGetTag.js\"),\n    isObjectLike = __webpack_require__(/*! ./isObjectLike */ \"./node_modules/lodash/isObjectLike.js\");\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]';\n\n/**\n * Checks if `value` is classified as a boolean primitive or object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a boolean, else `false`.\n * @example\n *\n * _.isBoolean(false);\n * // => true\n *\n * _.isBoolean(null);\n * // => false\n */\nfunction isBoolean(value) {\n  return value === true || value === false ||\n    (isObjectLike(value) && baseGetTag(value) == boolTag);\n}\n\nmodule.exports = isBoolean;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/isBoolean.js?");

/***/ }),

/***/ "./node_modules/lodash/isBuffer.js":
/*!*****************************************!*\
  !*** ./node_modules/lodash/isBuffer.js ***!
  \*****************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("/* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(/*! ./_root */ \"./node_modules/lodash/_root.js\"),\n    stubFalse = __webpack_require__(/*! ./stubFalse */ \"./node_modules/lodash/stubFalse.js\");\n\n/** Detect free variable `exports`. */\nvar freeExports =  true && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/module.js */ \"./node_modules/webpack/buildin/module.js\")(module)))\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/isBuffer.js?");

/***/ }),

/***/ "./node_modules/lodash/isFunction.js":
/*!*******************************************!*\
  !*** ./node_modules/lodash/isFunction.js ***!
  \*******************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ \"./node_modules/lodash/_baseGetTag.js\"),\n    isObject = __webpack_require__(/*! ./isObject */ \"./node_modules/lodash/isObject.js\");\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n    funcTag = '[object Function]',\n    genTag = '[object GeneratorFunction]',\n    proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n  if (!isObject(value)) {\n    return false;\n  }\n  // The use of `Object#toString` avoids issues with the `typeof` operator\n  // in Safari 9 which returns 'object' for typed arrays and other constructors.\n  var tag = baseGetTag(value);\n  return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/isFunction.js?");

/***/ }),

/***/ "./node_modules/lodash/isLength.js":
/*!*****************************************!*\
  !*** ./node_modules/lodash/isLength.js ***!
  \*****************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n  return typeof value == 'number' &&\n    value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/isLength.js?");

/***/ }),

/***/ "./node_modules/lodash/isNumber.js":
/*!*****************************************!*\
  !*** ./node_modules/lodash/isNumber.js ***!
  \*****************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ \"./node_modules/lodash/_baseGetTag.js\"),\n    isObjectLike = __webpack_require__(/*! ./isObjectLike */ \"./node_modules/lodash/isObjectLike.js\");\n\n/** `Object#toString` result references. */\nvar numberTag = '[object Number]';\n\n/**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n * classified as numbers, use the `_.isFinite` method.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a number, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\nfunction isNumber(value) {\n  return typeof value == 'number' ||\n    (isObjectLike(value) && baseGetTag(value) == numberTag);\n}\n\nmodule.exports = isNumber;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/isNumber.js?");

/***/ }),

/***/ "./node_modules/lodash/isObject.js":
/*!*****************************************!*\
  !*** ./node_modules/lodash/isObject.js ***!
  \*****************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n  var type = typeof value;\n  return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/isObject.js?");

/***/ }),

/***/ "./node_modules/lodash/isObjectLike.js":
/*!*********************************************!*\
  !*** ./node_modules/lodash/isObjectLike.js ***!
  \*********************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n  return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/isObjectLike.js?");

/***/ }),

/***/ "./node_modules/lodash/isPlainObject.js":
/*!**********************************************!*\
  !*** ./node_modules/lodash/isPlainObject.js ***!
  \**********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ \"./node_modules/lodash/_baseGetTag.js\"),\n    getPrototype = __webpack_require__(/*! ./_getPrototype */ \"./node_modules/lodash/_getPrototype.js\"),\n    isObjectLike = __webpack_require__(/*! ./isObjectLike */ \"./node_modules/lodash/isObjectLike.js\");\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n    objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n *   this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n  if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n    return false;\n  }\n  var proto = getPrototype(value);\n  if (proto === null) {\n    return true;\n  }\n  var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n  return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n    funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/isPlainObject.js?");

/***/ }),

/***/ "./node_modules/lodash/isString.js":
/*!*****************************************!*\
  !*** ./node_modules/lodash/isString.js ***!
  \*****************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ \"./node_modules/lodash/_baseGetTag.js\"),\n    isArray = __webpack_require__(/*! ./isArray */ \"./node_modules/lodash/isArray.js\"),\n    isObjectLike = __webpack_require__(/*! ./isObjectLike */ \"./node_modules/lodash/isObjectLike.js\");\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n  return typeof value == 'string' ||\n    (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/isString.js?");

/***/ }),

/***/ "./node_modules/lodash/isSymbol.js":
/*!*****************************************!*\
  !*** ./node_modules/lodash/isSymbol.js ***!
  \*****************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ \"./node_modules/lodash/_baseGetTag.js\"),\n    isObjectLike = __webpack_require__(/*! ./isObjectLike */ \"./node_modules/lodash/isObjectLike.js\");\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n  return typeof value == 'symbol' ||\n    (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/isSymbol.js?");

/***/ }),

/***/ "./node_modules/lodash/isTypedArray.js":
/*!*********************************************!*\
  !*** ./node_modules/lodash/isTypedArray.js ***!
  \*********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var baseIsTypedArray = __webpack_require__(/*! ./_baseIsTypedArray */ \"./node_modules/lodash/_baseIsTypedArray.js\"),\n    baseUnary = __webpack_require__(/*! ./_baseUnary */ \"./node_modules/lodash/_baseUnary.js\"),\n    nodeUtil = __webpack_require__(/*! ./_nodeUtil */ \"./node_modules/lodash/_nodeUtil.js\");\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/isTypedArray.js?");

/***/ }),

/***/ "./node_modules/lodash/keysIn.js":
/*!***************************************!*\
  !*** ./node_modules/lodash/keysIn.js ***!
  \***************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var arrayLikeKeys = __webpack_require__(/*! ./_arrayLikeKeys */ \"./node_modules/lodash/_arrayLikeKeys.js\"),\n    baseKeysIn = __webpack_require__(/*! ./_baseKeysIn */ \"./node_modules/lodash/_baseKeysIn.js\"),\n    isArrayLike = __webpack_require__(/*! ./isArrayLike */ \"./node_modules/lodash/isArrayLike.js\");\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n *   this.a = 1;\n *   this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n  return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/keysIn.js?");

/***/ }),

/***/ "./node_modules/lodash/memoize.js":
/*!****************************************!*\
  !*** ./node_modules/lodash/memoize.js ***!
  \****************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var MapCache = __webpack_require__(/*! ./_MapCache */ \"./node_modules/lodash/_MapCache.js\");\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n  if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n    throw new TypeError(FUNC_ERROR_TEXT);\n  }\n  var memoized = function() {\n    var args = arguments,\n        key = resolver ? resolver.apply(this, args) : args[0],\n        cache = memoized.cache;\n\n    if (cache.has(key)) {\n      return cache.get(key);\n    }\n    var result = func.apply(this, args);\n    memoized.cache = cache.set(key, result) || cache;\n    return result;\n  };\n  memoized.cache = new (memoize.Cache || MapCache);\n  return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/memoize.js?");

/***/ }),

/***/ "./node_modules/lodash/merge.js":
/*!**************************************!*\
  !*** ./node_modules/lodash/merge.js ***!
  \**************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var baseMerge = __webpack_require__(/*! ./_baseMerge */ \"./node_modules/lodash/_baseMerge.js\"),\n    createAssigner = __webpack_require__(/*! ./_createAssigner */ \"./node_modules/lodash/_createAssigner.js\");\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n *   'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n *   'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n  baseMerge(object, source, srcIndex);\n});\n\nmodule.exports = merge;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/merge.js?");

/***/ }),

/***/ "./node_modules/lodash/stubFalse.js":
/*!******************************************!*\
  !*** ./node_modules/lodash/stubFalse.js ***!
  \******************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n  return false;\n}\n\nmodule.exports = stubFalse;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/stubFalse.js?");

/***/ }),

/***/ "./node_modules/lodash/toPlainObject.js":
/*!**********************************************!*\
  !*** ./node_modules/lodash/toPlainObject.js ***!
  \**********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var copyObject = __webpack_require__(/*! ./_copyObject */ \"./node_modules/lodash/_copyObject.js\"),\n    keysIn = __webpack_require__(/*! ./keysIn */ \"./node_modules/lodash/keysIn.js\");\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n *   this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n  return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/toPlainObject.js?");

/***/ }),

/***/ "./node_modules/lodash/toString.js":
/*!*****************************************!*\
  !*** ./node_modules/lodash/toString.js ***!
  \*****************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("var baseToString = __webpack_require__(/*! ./_baseToString */ \"./node_modules/lodash/_baseToString.js\");\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n  return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/lodash/toString.js?");

/***/ }),

/***/ "./node_modules/nd-base64/index.js":
/*!*****************************************!*\
  !*** ./node_modules/nd-base64/index.js ***!
  \*****************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("var BASE64_MAPPING = [\n  'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',\n  'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',\n  'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X',\n  'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f',\n  'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',\n  'o', 'p', 'q', 'r', 's', 't', 'u', 'v',\n  'w', 'x', 'y', 'z', '0', '1', '2', '3',\n  '4', '5', '6', '7', '8', '9', '+', '/'\n]\n\n/**\n *ascii convert to binary\n  */\nvar  _toBinary = function(ascii) {\n  var  binary = []\n  while (ascii > 0) {\n    var  b = ascii % 2\n    ascii = Math.floor(ascii / 2)\n    binary.push(b)\n  }\n  binary.reverse()\n  return binary\n}\n\n/**\n *binary convert to decimal\n  */\nvar  _toDecimal = function(binary) {\n  var  dec = 0\n  var  p = 0\n  for (var  i = binary.length - 1; i >= 0; --i) {\n    var  b = binary[i]\n    if (b === 1) {\n      dec += Math.pow(2, p)\n    }\n    ++p\n  }\n  return dec\n}\n\n/**\n *unicode convert to utf-8\n  */\nvar  _toUTF8Binary = function(c, binaryArray) {\n  var  mustLen = (8 - (c + 1)) + ((c - 1) * 6)\n  var  fatLen = binaryArray.length\n  var  diff = mustLen - fatLen\n  while (--diff >= 0) {\n    binaryArray.unshift(0)\n  }\n  var  binary = []\n  var  _c = c\n  while (--_c >= 0) {\n    binary.push(1)\n  }\n  binary.push(0)\n  var  i = 0\n  var  len = 8 - (c + 1)\n  for (; i < len; ++i) {\n    binary.push(binaryArray[i])\n  }\n\n  for (var  j = 0; j < c - 1; ++j) {\n    binary.push(1)\n    binary.push(0)\n    var  sum = 6\n    while (--sum >= 0) {\n      binary.push(binaryArray[i++])\n    }\n  }\n  return binary\n}\n\n/**\n *unit8array convert to string\n  */\nvar  _UTF8ArrayToStr = function(array) {\n  var  out = ''\n  var  i = 0\n  var  c, char2, char3\n  var  len = array.length\n\n  while (i < len) {\n    c = array[i++]\n    switch (c >> 4) {\n      case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7:\n        // 0xxxxxxx\n        out += String.fromCharCode(c)\n        break\n      case 12: case 13:\n        // 110x xxxx   10xx xxxx\n        char2 = array[i++]\n        out += String.fromCharCode(((c & 0x1F) << 6) | (char2 & 0x3F))\n        break\n      case 14:\n        // 1110 xxxx  10xx xxxx  10xx xxxx\n        char2 = array[i++]\n        char3 = array[i++]\n        out += String.fromCharCode(((c & 0x0F) << 12) |\n                    ((char2 & 0x3F) << 6) |\n                    ((char3 & 0x3F) << 0))\n        break\n    }\n  }\n\n  return out\n}\n\nmodule.exports = {\n  /**\n   *BASE64 Encode\n    */\n  encoder: function(str) {\n    var  base64_Index = []\n    var  binaryArray = []\n    for (var  i = 0, len = str.length; i < len; ++i) {\n      var  unicode = str.charCodeAt(i)\n      var  _tmpBinary = _toBinary(unicode)\n      if (unicode < 0x80) {\n        var  _tmpdiff = 8 - _tmpBinary.length\n        while (--_tmpdiff >= 0) {\n          _tmpBinary.unshift(0)\n        }\n        binaryArray = binaryArray.concat(_tmpBinary)\n      } else if (unicode >= 0x80 && unicode <= 0x7FF) {\n        binaryArray = binaryArray.concat(_toUTF8Binary(2, _tmpBinary))\n      } else if (unicode >= 0x800 && unicode <= 0xFFFF) { // UTF-8 3byte\n        binaryArray = binaryArray.concat(_toUTF8Binary(3, _tmpBinary))\n      } else if (unicode >= 0x10000 && unicode <= 0x1FFFFF) { // UTF-8 4byte\n        binaryArray = binaryArray.concat(_toUTF8Binary(4, _tmpBinary))\n      } else if (unicode >= 0x200000 && unicode <= 0x3FFFFFF) { // UTF-8 5byte\n        binaryArray = binaryArray.concat(_toUTF8Binary(5, _tmpBinary))\n      } else if (unicode >= 4000000 && unicode <= 0x7FFFFFFF) { // UTF-8 6byte\n        binaryArray = binaryArray.concat(_toUTF8Binary(6, _tmpBinary))\n      }\n    }\n\n    var  extra_Zero_Count = 0\n    for (i = 0, len = binaryArray.length; i < len; i += 6) {\n      var  diff = (i + 6) - len\n\n      if (diff === 2) {\n        extra_Zero_Count = 2\n      } else if (diff === 4) {\n        extra_Zero_Count = 4\n      }\n      var  _tmpExtra_Zero_Count = extra_Zero_Count\n      while (--_tmpExtra_Zero_Count >= 0) {\n        binaryArray.push(0)\n      }\n      base64_Index.push(_toDecimal(binaryArray.slice(i, i + 6)))\n    }\n\n    var  base64 = ''\n    for (i = 0, len = base64_Index.length; i < len; ++i) {\n      base64 += BASE64_MAPPING[base64_Index[i]]\n    }\n\n    for (i = 0, len = extra_Zero_Count / 2; i < len; ++i) {\n      base64 += '='\n    }\n    return base64\n  },\n  /**\n   *BASE64  Decode for UTF-8\n    */\n  decoder: function(_base64Str) {\n    var  _len = _base64Str.length\n    var  extra_Zero_Count = 0\n    /**\n     *计算在进行BASE64编码的时候，补了几个0\n      */\n    if (_base64Str.charAt(_len - 1) === '=') {\n      // alert(_base64Str.charAt(_len-1));\n      // alert(_base64Str.charAt(_len-2));\n      if (_base64Str.charAt(_len - 2) === '=') { // 两个等号说明补了4个0\n        extra_Zero_Count = 4\n        _base64Str = _base64Str.substring(0, _len - 2)\n      } else { // 一个等号说明补了2个0\n        extra_Zero_Count = 2\n        _base64Str = _base64Str.substring(0, _len - 1)\n      }\n    }\n\n    var  binaryArray = []\n    for (var  i = 0, len = _base64Str.length; i < len; ++i) {\n      var  c = _base64Str.charAt(i)\n      for (var  j = 0, size = BASE64_MAPPING.length; j < size; ++j) {\n        if (c === BASE64_MAPPING[j]) {\n          var  _tmp = _toBinary(j)\n          // 不足6位的补0\n          var  _tmpLen = _tmp.length\n          if (6 - _tmpLen > 0) {\n            for (var  k = 6 - _tmpLen; k > 0; --k) {\n              _tmp.unshift(0)\n            }\n          }\n          binaryArray = binaryArray.concat(_tmp)\n          break\n        }\n      }\n    }\n\n    if (extra_Zero_Count > 0) {\n      binaryArray = binaryArray.slice(0, binaryArray.length - extra_Zero_Count)\n    }\n\n    var  unicode = []\n    var  unicodeBinary = []\n    for (i = 0, len = binaryArray.length; i < len;) {\n      if (binaryArray[i] === 0) {\n        unicode = unicode.concat(_toDecimal(binaryArray.slice(i, i + 8)))\n        i += 8\n      } else {\n        var  sum = 0\n        while (i < len) {\n          if (binaryArray[i] === 1) {\n            ++sum\n          } else {\n            break\n          }\n          ++i\n        }\n        unicodeBinary = unicodeBinary.concat(binaryArray.slice(i + 1, i + 8 - sum))\n        i += 8 - sum\n        while (sum > 1) {\n          unicodeBinary = unicodeBinary.concat(binaryArray.slice(i + 2, i + 8))\n          i += 8\n          --sum\n        }\n        unicode = unicode.concat(_toDecimal(unicodeBinary))\n        unicodeBinary = []\n      }\n    }\n    return _UTF8ArrayToStr(unicode)\n  }\n}\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/nd-base64/index.js?");

/***/ }),

/***/ "./node_modules/nd-datetime/index.js":
/*!*******************************************!*\
  !*** ./node_modules/nd-datetime/index.js ***!
  \*******************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("/**\n * @module datetime\n * @author crossjs <liwenfu@crossjs.com>\n */\n\n\n\nvar MONTH_NAMES = ['January', 'February', 'March',  'April', 'May', 'June',  'July', 'August', 'September',  'October', 'November', 'December'];\nvar MONTH_NAMES_ABBR = ['Jan', 'Feb', 'Mar',  'Apr', 'May', 'Jun',  'Jul', 'Aug', 'Sep',  'Oct', 'Nov', 'Dec'];\nvar DAY_NAMES = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];\nvar DAY_NAMES_ABBR = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\n\nvar DATETIME_FORMAT = 'yyyy-MM-dd hh:mm:ss';\n\nvar datetime;\n\nfunction zeroPad(m, n) {\n  n || (n = 2);\n  m = '' + m;\n  n -= m.length;\n\n  while (n--) {\n    m = '0' + m;\n  }\n\n  return m;\n}\n\nfunction isLeap(year) {\n  return ((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0);\n}\n\nfunction parseVal(timestamp, pattern) {\n  pattern || (pattern = DATETIME_FORMAT);\n\n  var tArr = timestamp.split(/\\D+/);\n  var fArr = pattern.split(/[^yMdhmsiED]+/);\n\n  var y, M, d, h, m, s, i;\n  var map = {};\n\n  for (i = 0; i < fArr.length; i++) {\n    map[fArr[i]] = parseInt(tArr[i], 10);\n  }\n\n  y = map.yyyy || map.yy || 1970;\n  M = map.MM || map.M || 0;\n  // d = map.dd || map.d || 0;\n  if(map.dd === 0 || map.d === 0) {\n    d = 0\n  }else {\n    d = map.dd || map.d || 1;\n  }\n  h = map.hh || map.h || 0;\n  m = map.mm || map.m || 0;\n  s = map.ss || map.s || 0;\n  i = map.ii || map.i || 0;\n\n  return new Date(y < 1900 ? y + 1900 : y, M - 1, d, h, m, s, i);\n}\n\nfunction parseDate(timestamp, pattern) {\n  if (typeof timestamp === 'function') {\n    return timestamp(pattern);\n  }\n\n  if (timestamp) {\n\n    if (timestamp.constructor === Date) {\n      return timestamp;\n    }\n\n    // UNIX TIME\n    if (/^-?\\d+$/.test(timestamp)) {\n      return new Date(+timestamp);\n    }\n\n    // ISO-8601\n    // 2015-04-22T02:32:27.068+0000\n    // if (/^\\d{4}(\\-\\d{2}){2}T\\d{2}(:\\d{2}){2}\\.\\d{3}[+-]\\d{4}$/.test(timestamp)) {\n    //   // replace for IE (IE does not support hhmm but hh:mm)\n    //   return Date.fromISO(timestamp.replace(/([+-]\\d{2})(\\d{2})/, '$1:$2'));\n    // }\n\n    if (/^\\d{4}(\\-\\d{2}){2}T\\d{2}(:\\d{2}){2}(\\.\\d{3})?[+-]\\d{4}$/.test(timestamp)) {\n      return Date.fromISO(timestamp.replace(/([+-]\\d{2})(\\d{2})/, '$1:$2'));\n    }\n    if (/^\\d{4}(\\-\\d{2}){2}T\\d{2}(:\\d{2}){2}(\\.\\d{3})?[+-]\\d{2}:\\d{2}$/.test(timestamp)) {\n      return Date.fromISO(timestamp);\n    }\n    if (/^\\d{4}(\\-\\d{2}){2}T\\d{2}(:\\d{2}){2}(\\.\\d{3})?[zZ]$/.test(timestamp)) {\n      return Date.fromISO(timestamp.replace(/[zZ]/, '+00:00'));\n    }\n\n    // string\n    return parseVal(timestamp, pattern);\n  } else {\n\n    if (typeof timestamp === 'undefined') {\n      // now\n      return new Date();\n    }\n\n    // 1970-01-01 ...\n    return new Date(0);\n  }\n}\n\n/**\n * @class\n * @param {Date|Number|String} [timestamp] 任意表示时间日期的数据\n * @param {String} [pattern]   时间格式\n */\nvar DateTime = function(timestamp, pattern) {\n  this.date = parseDate(timestamp, pattern);\n  this._zone = this.date.getTimezoneOffset();\n  this._offset = this._zone - new Date().getTimezoneOffset();\n  this.pattern = pattern || DATETIME_FORMAT;\n};\n\nDateTime.prototype = {\n\n  constructor: DateTime,\n\n  /**\n   * 返回月份名\n   */\n  MMMM: function() {\n    return datetime.MONTH_NAMES[this.M() - 1];\n  },\n\n  /**\n   * 返回月份名缩写\n   */\n  MMM: function() {\n    return datetime.MONTH_NAMES_ABBR[this.M() - 1];\n  },\n\n  /**\n   * 返回星期名\n   */\n  EEEE: function() {\n    return datetime.DAY_NAMES[this.D()];\n  },\n\n  /**\n   * 返回星期名缩写\n   */\n  EEE: function() {\n    return datetime.DAY_NAMES_ABBR[this.D()];\n  },\n\n  // TODO: 一年中的第几周\n  EE: function() {\n    return '';\n  },\n\n  // TODO: 一月中的第几周\n  E: function() {\n    return '';\n  },\n\n  /**\n   * 返回一周中的第几天（0-6）\n   */\n  D: function() {\n    return this.date.getDay();\n  },\n\n  /**\n   * 返回年份，四位数字\n   */\n  yyyy: function() {\n    return this.date.getFullYear();\n  },\n\n  /**\n   * 返回年份，减去1900\n   */\n  yy: function() {\n    return this.date.getYear();\n  },\n\n  /**\n   * 返回月份（01-12）\n   */\n  MM: function() {\n    return zeroPad(this.M());\n  },\n\n  /**\n   * 返回月份（1-12）\n   */\n  M: function() {\n    return this.date.getMonth() + 1;\n  },\n\n  /**\n   * 返回日期（01-31）\n   */\n  dd: function() {\n    return zeroPad(this.d());\n  },\n\n  /**\n   * 返回日期（1-31）\n   */\n  d: function() {\n    return this.date.getDate();\n  },\n\n  /**\n   * 返回小时（00-23）\n   */\n  hh: function() {\n    return zeroPad(this.h());\n  },\n\n  /**\n   * 返回小时（0-23）\n   */\n  h: function() {\n    return this.date.getHours();\n  },\n\n  /**\n   * 返回分钟（00-59）\n   */\n  mm: function() {\n    return zeroPad(this.m());\n  },\n\n  /**\n   * 返回分钟（0-59）\n   */\n  m: function() {\n    return this.date.getMinutes();\n  },\n\n  /**\n   * 返回秒数（00-59）\n   */\n  ss: function() {\n    return zeroPad(this.s());\n  },\n\n  /**\n   * 返回秒数（0-59）\n   */\n  s: function() {\n    return this.date.getSeconds();\n  },\n\n  /**\n   * 返回毫秒数（000-999）\n   */\n  ii: function() {\n    return zeroPad(this.i(), 3);\n  },\n\n  /**\n   * 返回毫秒数（0-999）\n   */\n  i: function() {\n    return this.date.getMilliseconds();\n  },\n\n  /**\n   * 返回时差（相对 UTC）\n   */\n  zone: function() {\n    return this._zone;\n  },\n\n  /**\n   * 返回时差（相对当前）\n   */\n  offset: function() {\n    return this._offset;\n  },\n\n  /**\n   * 返回是否闰年\n   * @return {Boolean}\n   */\n  isLeap: function() {\n    return isLeap(this.yyyy());\n  },\n\n  /**\n   * 增加指定数量指定单位的时间\n   * @param {String} unit     年月日时分秒\n   * @param {Number} distance 增加数量\n   * @return {DateTime}\n   */\n  add: function(unit, distance) {\n    switch (unit) {\n      case 'y':\n        this.date.setFullYear(+this.yyyy() + distance);\n        break;\n      case 'M':\n        this.date.setMonth(+this.M() + distance - 1);\n        break;\n      case 'd':\n        this.date.setDate(+this.d() + distance);\n        break;\n      case 'h':\n        this.date.setHours(+this.h() + distance);\n        break;\n      case 'm':\n        this.date.setMinutes(+this.m() + distance);\n        break;\n      case 's':\n        this.date.setSeconds(+this.s() + distance);\n        break;\n      case 'i':\n        this.date.setMilliseconds(+this.i() + distance);\n        break;\n    }\n\n    return this;\n  },\n\n  /**\n   * 返回指定格式的字符串，同 toString\n   * @param  {String} [pattern] 时间格式\n   * @return {String}\n   */\n  format: function(pattern) {\n    return this.toString(pattern);\n  },\n\n  /**\n   * 返回 Date 对象\n   * @return {Date}\n   */\n  toDate: function() {\n    return this.date;\n  },\n\n  /**\n   * 返回时间戳，精确到毫秒\n   * @return {Number}\n   */\n  toNumber: function() {\n    return this.date.getTime();\n  },\n\n  /**\n   * 返回指定格式的字符串\n   * @param  {String} [pattern] 时间格式\n   * @return {String}\n   */\n  toString: function(pattern) {\n    var that = this;\n\n    return (pattern || this.pattern).replace(/y+|M+|d+|h+|m+|s+|i+|E+|D+/g, function($0) {\n      return that[$0]()\n    });\n  }\n\n};\n\ndatetime = function(timestamp, pattern) {\n  return new DateTime(timestamp, pattern);\n};\n\ndatetime.isLeap = isLeap;\n\ndatetime.MONTH_NAMES = MONTH_NAMES;\ndatetime.MONTH_NAMES_ABBR = MONTH_NAMES_ABBR;\ndatetime.DAY_NAMES = DAY_NAMES;\ndatetime.DAY_NAMES_ABBR = DAY_NAMES_ABBR;\n\n// compatible with ie8\n// iso-8601\n(function() {\n  var D= new Date('1970-01-01T00:01:01+00:01');\n  if(!D || +D!== 1000){\n    Date.fromISO= function(s){\n      var day;\n      var tz;\n      var rx = /^(\\d{4}\\-\\d\\d\\-\\d\\d([tT ][\\d:\\.]*)?)([zZ]|([+\\-])(\\d\\d):(\\d\\d))?$/;\n      var p = rx.exec(s) || [];\n      if(p[1]){\n        day = p[1].split(/\\D/);\n        for(var i= 0, L= day.length; i<L; i++){\n          day[i] = parseInt(day[i], 10) || 0;\n        }\n        day[1] -= 1;\n        day= new Date(Date.UTC.apply(Date, day));\n        if(!day.getDate()) {\n          return NaN;\n        }\n        if(p[5]){\n          tz = (parseInt(p[5], 10)*60);\n          if(p[6]) {\n            tz += parseInt(p[6], 10);\n          }\n          if(p[4] === '+') {\n            tz *= -1;\n          }\n          if(tz) {\n            day.setUTCMinutes(day.getUTCMinutes()+ tz);\n          }\n        }\n        return day;\n      }\n      return NaN;\n    }\n  }\n  else{\n    Date.fromISO= function(s){\n      return new Date(s);\n    }\n  }\n})()\n\nmodule.exports = datetime;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/nd-datetime/index.js?");

/***/ }),

/***/ "./node_modules/nd-md5s/index.js":
/*!***************************************!*\
  !*** ./node_modules/nd-md5s/index.js ***!
  \***************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("/**\n * @module md5s\n * @author lzhengms <lzhengms@gmail.com>\n */\n\n\n\nvar hex_chr = \"0123456789abcdef\";\n\nfunction rhex(num) {\n  var str = '';\n  for (var j = 0; j <= 3; j++) str += hex_chr.charAt((num >> (j * 8 + 4)) & 0x0F) + hex_chr.charAt((num >> (j * 8)) & 0x0F);\n  return str;\n}\n\nfunction str2blks_MD5(str) {\n  var i;\n  var nblk = ((str.length + 8) >> 6) + 1;\n  var blks = new Array(nblk * 16);\n  for (i = 0; i < nblk * 16; i++) blks[i] = 0;\n  for (i = 0; i < str.length; i++) blks[i >> 2] |= str.charCodeAt(i) << ((i % 4) * 8);\n  blks[i >> 2] |= 0x80 << ((i % 4) * 8);\n  blks[nblk * 16 - 2] = str.length * 8;\n  return blks;\n}\nfunction add(x, y) {\n  var lsw = (x & 0xFFFF) + (y & 0xFFFF);\n  var msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n  return (msw << 16) | (lsw & 0xFFFF);\n}\nfunction rol(num, cnt) {\n  return (num << cnt) | (num >>> (32 - cnt));\n}\nfunction cmn(q, a, b, x, s, t) {\n  return add(rol(add(add(a, q), add(x, t)), s), b);\n}\nfunction ff(a, b, c, d, x, s, t) {\n  return cmn((b & c) | ((~b) & d), a, b, x, s, t);\n}\nfunction gg(a, b, c, d, x, s, t) {\n  return cmn((b & d) | (c & (~d)), a, b, x, s, t);\n}\nfunction hh(a, b, c, d, x, s, t) {\n  return cmn(b ^ c ^ d, a, b, x, s, t);\n}\nfunction ii(a, b, c, d, x, s, t) {\n  return cmn(c ^ (b | (~d)), a, b, x, s, t);\n}\n\nfunction MD5(str) {\n  var x = str2blks_MD5(str);\n  var a = 1732584193;\n  var b = -271733879;\n  var c = -1732584194;\n  var d = 271733878;\n  for (var i = 0; i < x.length; i += 16) {\n    var olda = a;\n    var oldb = b;\n    var oldc = c;\n    var oldd = d;\n    a = ff(a, b, c, d, x[i + 0], 7, -680876936);\n    d = ff(d, a, b, c, x[i + 1], 12, -389564586);\n    c = ff(c, d, a, b, x[i + 2], 17, 606105819);\n    b = ff(b, c, d, a, x[i + 3], 22, -1044525330);\n    a = ff(a, b, c, d, x[i + 4], 7, -176418897);\n    d = ff(d, a, b, c, x[i + 5], 12, 1200080426);\n    c = ff(c, d, a, b, x[i + 6], 17, -1473231341);\n    b = ff(b, c, d, a, x[i + 7], 22, -45705983);\n    a = ff(a, b, c, d, x[i + 8], 7, 1770035416);\n    d = ff(d, a, b, c, x[i + 9], 12, -1958414417);\n    c = ff(c, d, a, b, x[i + 10], 17, -42063);\n    b = ff(b, c, d, a, x[i + 11], 22, -1990404162);\n    a = ff(a, b, c, d, x[i + 12], 7, 1804603682);\n    d = ff(d, a, b, c, x[i + 13], 12, -40341101);\n    c = ff(c, d, a, b, x[i + 14], 17, -1502002290);\n    b = ff(b, c, d, a, x[i + 15], 22, 1236535329);\n    a = gg(a, b, c, d, x[i + 1], 5, -165796510);\n    d = gg(d, a, b, c, x[i + 6], 9, -1069501632);\n    c = gg(c, d, a, b, x[i + 11], 14, 643717713);\n    b = gg(b, c, d, a, x[i + 0], 20, -373897302);\n    a = gg(a, b, c, d, x[i + 5], 5, -701558691);\n    d = gg(d, a, b, c, x[i + 10], 9, 38016083);\n    c = gg(c, d, a, b, x[i + 15], 14, -660478335);\n    b = gg(b, c, d, a, x[i + 4], 20, -405537848);\n    a = gg(a, b, c, d, x[i + 9], 5, 568446438);\n    d = gg(d, a, b, c, x[i + 14], 9, -1019803690);\n    c = gg(c, d, a, b, x[i + 3], 14, -187363961);\n    b = gg(b, c, d, a, x[i + 8], 20, 1163531501);\n    a = gg(a, b, c, d, x[i + 13], 5, -1444681467);\n    d = gg(d, a, b, c, x[i + 2], 9, -51403784);\n    c = gg(c, d, a, b, x[i + 7], 14, 1735328473);\n    b = gg(b, c, d, a, x[i + 12], 20, -1926607734);\n    a = hh(a, b, c, d, x[i + 5], 4, -378558);\n    d = hh(d, a, b, c, x[i + 8], 11, -2022574463);\n    c = hh(c, d, a, b, x[i + 11], 16, 1839030562);\n    b = hh(b, c, d, a, x[i + 14], 23, -35309556);\n    a = hh(a, b, c, d, x[i + 1], 4, -1530992060);\n    d = hh(d, a, b, c, x[i + 4], 11, 1272893353);\n    c = hh(c, d, a, b, x[i + 7], 16, -155497632);\n    b = hh(b, c, d, a, x[i + 10], 23, -1094730640);\n    a = hh(a, b, c, d, x[i + 13], 4, 681279174);\n    d = hh(d, a, b, c, x[i + 0], 11, -358537222);\n    c = hh(c, d, a, b, x[i + 3], 16, -722521979);\n    b = hh(b, c, d, a, x[i + 6], 23, 76029189);\n    a = hh(a, b, c, d, x[i + 9], 4, -640364487);\n    d = hh(d, a, b, c, x[i + 12], 11, -421815835);\n    c = hh(c, d, a, b, x[i + 15], 16, 530742520);\n    b = hh(b, c, d, a, x[i + 2], 23, -995338651);\n    a = ii(a, b, c, d, x[i + 0], 6, -198630844);\n    d = ii(d, a, b, c, x[i + 7], 10, 1126891415);\n    c = ii(c, d, a, b, x[i + 14], 15, -1416354905);\n    b = ii(b, c, d, a, x[i + 5], 21, -57434055);\n    a = ii(a, b, c, d, x[i + 12], 6, 1700485571);\n    d = ii(d, a, b, c, x[i + 3], 10, -1894986606);\n    c = ii(c, d, a, b, x[i + 10], 15, -1051523);\n    b = ii(b, c, d, a, x[i + 1], 21, -2054922799);\n    a = ii(a, b, c, d, x[i + 8], 6, 1873313359);\n    d = ii(d, a, b, c, x[i + 15], 10, -30611744);\n    c = ii(c, d, a, b, x[i + 6], 15, -1560198380);\n    b = ii(b, c, d, a, x[i + 13], 21, 1309151649);\n    a = ii(a, b, c, d, x[i + 4], 6, -145523070);\n    d = ii(d, a, b, c, x[i + 11], 10, -1120210379);\n    c = ii(c, d, a, b, x[i + 2], 15, 718787259);\n    b = ii(b, c, d, a, x[i + 9], 21, -343485551);\n    a = add(a, olda);\n    b = add(b, oldb);\n    c = add(c, oldc);\n    d = add(d, oldd);\n  }\n  return rhex(a) + rhex(b) + rhex(c) + rhex(d);\n}\n\nmodule.exports = function(data, salt) {\n  return MD5(data + (salt || ''));\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/nd-md5s/index.js?");

/***/ }),

/***/ "./node_modules/nd-uri-parser/index.js":
/*!*********************************************!*\
  !*** ./node_modules/nd-uri-parser/index.js ***!
  \*********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("/*\n * Module file for URI-Parser\n *\n * Copyright 2011, Stuart Hudson <goulash1971@yahoo.com>\n * Released under the terms of the MIT License.\n * \n * Version 1.0.0\n */\n\nmodule.exports = __webpack_require__(/*! ./lib */ \"./node_modules/nd-uri-parser/lib/index.js\");\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/nd-uri-parser/index.js?");

/***/ }),

/***/ "./node_modules/nd-uri-parser/lib/index.js":
/*!*************************************************!*\
  !*** ./node_modules/nd-uri-parser/lib/index.js ***!
  \*************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("/*\n * Loader for the URI-Parser module\n *\n * Copyright 2011, Stuart Hudson <goulash1971@yahoo.com>\n * Released under the terms of the MIT License.\n * \n * Version 1.0.0\n */\n\nvar Parser = __webpack_require__(/*! ./parser */ \"./node_modules/nd-uri-parser/lib/parser.js\");\nexports.Parser = Parser; \n\nvar p = new Parser();\n\n/**\n * Expose the important methods of the Parser for the module\n */\nexports.parse = p.parse;\nexports.complete = p.complete;\nexports.format = p.format;\n\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/nd-uri-parser/lib/index.js?");

/***/ }),

/***/ "./node_modules/nd-uri-parser/lib/parseUri.js":
/*!****************************************************!*\
  !*** ./node_modules/nd-uri-parser/lib/parseUri.js ***!
  \****************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("// parseUri 1.2.2\n// (c) Steven Levithan <stevenlevithan.com>\n// MIT License\n\nfunction parseUri (str, mode) {\n\tvar\to   = parseUri.options;\n\tif (mode === undefined) mode = (o.strictMode ? \"strict\" : \"loose\");\n\tvar\tm   = o.parser[mode].exec(str),\n\turi = {},\n\ti   = 14;\n\t\n\twhile (i--) uri[o.key[i]] = m[i] || \"\";\n\t\n\turi[o.q.name] = {};\n\turi[o.key[12]].replace(o.q.parser, function ($0, $1, $2) {\n\t\tif ($1) {\n\t\t\tif (uri[o.q.name][$1] === undefined) {\n\t\t\t\turi[o.q.name][$1] = $2;\n\t\t\t} else if (typeof uri[o.q.name][$1] === '[object Array]') {\n\t\t\t\turi[o.q.name][$1].push($2);\n\t\t\t} else if (typeof uri[o.q.name][$1] === 'string') {\n\t\t\t\turi[o.q.name][$1] = [ uri[o.q.name][$1], $2];\n\t\t\t}\n\t\t}\n\t});\n\t\n\treturn uri;\n};\n\nparseUri.options = {\n\tstrictMode: false,\n\tkey: [\"source\",\"protocol\",\"authority\",\"userInfo\",\"user\",\"password\",\"host\",\"port\",\"relative\",\"path\",\"directory\",\"file\",\"query\",\"anchor\"],\n\tq:   {\n\t\tname:   \"queryKey\",\n\t\tparser: /(?:^|&)([^&=]*)=?([^&]*)/g\n\t},\n\tparser: {\n\t\tstrict: /^(?:([^:\\/?#]+):)?(?:\\/\\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\\/?#]*)(?::(\\d*))?))?((((?:[^?#\\/]*\\/)*)([^?#]*))(?:\\?([^#]*))?(?:#(.*))?)/,\n\t\tloose:  /^(?:(?![^:@]+:[^:@\\/]*@)([^:\\/?#.]+):)?(?:\\/\\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\\/?#]*)(?::(\\d*))?)(((\\/(?:[^?#](?![^?#\\/]*\\.[^?#\\/.]+(?:[?#]|$)))*\\/?)?([^?#\\/]*))(?:\\?([^#]*))?(?:#(.*))?)/\n\t}\n};\n\nmodule.exports = parseUri;\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/nd-uri-parser/lib/parseUri.js?");

/***/ }),

/***/ "./node_modules/nd-uri-parser/lib/parser.js":
/*!**************************************************!*\
  !*** ./node_modules/nd-uri-parser/lib/parser.js ***!
  \**************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("/*\n * URI Parser\n *\n * Copyright 2011, Stuart Hudson <goulash1971@yahoo.com>\n * Released under the terms of the MIT License.\n * \n * Version 1.0.0\n */\nvar parseUri = __webpack_require__(/*! ./parseUri */ \"./node_modules/nd-uri-parser/lib/parseUri.js\");\n\n/**\n * Utility function that will sort a query (keys and values) and produce a new\n * query string that is sorted by key order.\n *\n * @param {Object} query as keys and values\n * @return {String} a new query strinng sorted in key order\n * @api private\n */\nfunction sortedQuery (query) {\n  var keys = [], name, i, len, key, sorted = [];\n  for (name in query) {\n    for (i = 0, len = keys.length; i < len; i++) {\n      if (keys[i] >= name) break;\n    }\n    keys.splice(i, 0, name);\n  }\n  for (i = 0, len = keys.length; i < len; i++) {\n    key = keys[i];\n    sorted.push(key + \"=\" + query[key]);\n  }\n  if (sorted.length !== 0)\n\treturn sorted.join(\"&\");\n};\n\n/**\n * Macro function that returns {@code true} if the {@param value} supplied\n * is not {@code undefined} and not {@code null}\n *\n * @param {Mixed} value to test\n * @return {Boolean} indicating if the value is set\n * @api private\n */\nfunction isSet(value) {\n\tif ((value !== undefined) && (value !== null))\n\t\treturn value !== '';\n\treturn false;\n}\n\n/**\n * Macro function that returns the {@param value} if it is not {@code undefined} \n * and not {@code null} otherwise returns ane empty string\n *\n * @param {Mixed} value to test\n * @return {String} teh string {@param value} or empty string\n * @api private\n */\nfunction value(value) {\n\tif ((value !== undefined) && (value !== null))\n\t\treturn value;\n\treturn '';\n}\n\n/**\n * Macro function that returns the {@param value} with a {@param prefix} if it \n * is not {@code undefined} and not {@code null} otherwise returns ane empty string\n *\n * @param {Mixed} value to test\n * @parem {String} the prefix\n * @return {String} the prefixed {@param value} or empty string\n * @api private\n */\nfunction prefix(value, prefix) {\n\tif ((value !== undefined) && (value !== null))\n\t\treturn prefix + value;\n\treturn '';\n}\n\n/**\n * Macro function that returns the {@param value} with a {@param suffix} if it \n * is not {@code undefined} and not {@code null} otherwise returns ane empty string\n *\n * @param {Mixed} value to test\n * @parem {String} the suffix\n * @return {String} the suffixed {@param value} or empty string\n * @api private\n */\nfunction suffix(value, suffix) {\n\tif ((value !== undefined) && (value !== null))\n\t\treturn value + suffix;\n\treturn '';\n}\n\n/**\n * Parser constructor that takes some options for the parser used\n * to control parseUri and other things.\n *\n * @param {Object} options for the Parser\n * @api public\n */\nfunction Parser (options) {\n\tthis.options = options;\n};\n\n\n/**\n * Method that will parse a given {@param uriStr} into it's components\n * in either 'loose' (default) or 'strict' mode.\n *\n * @param {String} the URI string to be parsed\n * @param {Boolean} set if we want 'strict' parsing\n * @return {Object} parsed URI\n * @api public\n * {@see parseUri}\n */\nParser.prototype.parse = function (uriStr, strictMode) {\n\tif (strictMode === true) return parseUri (uriStr, \"strict\");\n\treturn parseUri (uriStr);\n};\n\n\n/**\n * Method that will 'complete' a URI definition by combining the low level\n * components (if defined) into values for the higher level components.\n *\n * @param {Object} URI as components\n * @return {Object} completed URI with high level components\n * @api private\n */\nParser.prototype.complete = function (obj) {\n\tif (typeof obj === 'string') obj = this.parse(obj);\n\tif ((!isSet(obj.userInfo)) && \n\t\t(isSet(obj.user) || isSet(obj.password)))\n\t\tobj.userInfo = value(obj.user) + prefix(obj.password, ':');\n\tif (!isSet(obj.authority) && \n\t\t(isSet(obj.userInfo) || isSet(obj.host) || isSet(obj.port)))\n\t\tobj.authority = suffix(obj.userInfo, '@') + value(obj.host) + prefix(obj.port, ':');\n\tif ((!isSet(obj.query)) && isSet(obj.queryKey)) \n\t\tobj.query = sortedQuery(obj.queryKey);\n\tif ((!isSet(obj.relative)) && \n\t\t(isSet(obj.directory) || isSet(obj.file)))\n\t\tobj.relative = value(obj.directory) + value(obj.file);\n\tif (!isSet(obj.relative) && \n\t\t(isSet(obj.path) || isSet(obj.query) || isSet(obj.anchor)))\n\t\tobj.relative = value(obj.path) + prefix(obj.query, '?') + prefix(obj.anchor, '#');\n\treturn obj;\n};\n\n/**\n * Method that will create a {String} from an URI thatis specified as a series of\n * URI components\n *\n * @param {Object} the URI components\n * @return {String} the formatted URI\n * @api public\n */\nParser.prototype.format = function (obj) {\n\tobj = this.complete(obj);\n\treturn (suffix(obj.protocol, ':').toLowerCase() + \n\t\t\tprefix(obj.authority, '//') + value(obj.relative));\n};\n\n\n/**\n * Expose the Parser\n */\nmodule.exports = exports = Parser;\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/nd-uri-parser/lib/parser.js?");

/***/ }),

/***/ "./node_modules/process/browser.js":
/*!*****************************************!*\
  !*** ./node_modules/process/browser.js ***!
  \*****************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things.  But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals.  It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n    throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n    throw new Error('clearTimeout has not been defined');\n}\n(function () {\n    try {\n        if (typeof setTimeout === 'function') {\n            cachedSetTimeout = setTimeout;\n        } else {\n            cachedSetTimeout = defaultSetTimout;\n        }\n    } catch (e) {\n        cachedSetTimeout = defaultSetTimout;\n    }\n    try {\n        if (typeof clearTimeout === 'function') {\n            cachedClearTimeout = clearTimeout;\n        } else {\n            cachedClearTimeout = defaultClearTimeout;\n        }\n    } catch (e) {\n        cachedClearTimeout = defaultClearTimeout;\n    }\n} ())\nfunction runTimeout(fun) {\n    if (cachedSetTimeout === setTimeout) {\n        //normal enviroments in sane situations\n        return setTimeout(fun, 0);\n    }\n    // if setTimeout wasn't available but was latter defined\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n        cachedSetTimeout = setTimeout;\n        return setTimeout(fun, 0);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedSetTimeout(fun, 0);\n    } catch(e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n            return cachedSetTimeout.call(null, fun, 0);\n        } catch(e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n            return cachedSetTimeout.call(this, fun, 0);\n        }\n    }\n\n\n}\nfunction runClearTimeout(marker) {\n    if (cachedClearTimeout === clearTimeout) {\n        //normal enviroments in sane situations\n        return clearTimeout(marker);\n    }\n    // if clearTimeout wasn't available but was latter defined\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n        cachedClearTimeout = clearTimeout;\n        return clearTimeout(marker);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedClearTimeout(marker);\n    } catch (e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\n            return cachedClearTimeout.call(null, marker);\n        } catch (e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n            return cachedClearTimeout.call(this, marker);\n        }\n    }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n    if (!draining || !currentQueue) {\n        return;\n    }\n    draining = false;\n    if (currentQueue.length) {\n        queue = currentQueue.concat(queue);\n    } else {\n        queueIndex = -1;\n    }\n    if (queue.length) {\n        drainQueue();\n    }\n}\n\nfunction drainQueue() {\n    if (draining) {\n        return;\n    }\n    var timeout = runTimeout(cleanUpNextTick);\n    draining = true;\n\n    var len = queue.length;\n    while(len) {\n        currentQueue = queue;\n        queue = [];\n        while (++queueIndex < len) {\n            if (currentQueue) {\n                currentQueue[queueIndex].run();\n            }\n        }\n        queueIndex = -1;\n        len = queue.length;\n    }\n    currentQueue = null;\n    draining = false;\n    runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n    var args = new Array(arguments.length - 1);\n    if (arguments.length > 1) {\n        for (var i = 1; i < arguments.length; i++) {\n            args[i - 1] = arguments[i];\n        }\n    }\n    queue.push(new Item(fun, args));\n    if (queue.length === 1 && !draining) {\n        runTimeout(drainQueue);\n    }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n    this.fun = fun;\n    this.array = array;\n}\nItem.prototype.run = function () {\n    this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n    throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n    throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n//# sourceURL=webpack://this.SDP.UC/./node_modules/process/browser.js?");

/***/ }),

/***/ "./node_modules/webpack/buildin/global.js":
/*!***********************************!*\
  !*** (webpack)/buildin/global.js ***!
  \***********************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n\n\n//# sourceURL=webpack://this.SDP.UC/(webpack)/buildin/global.js?");

/***/ }),

/***/ "./node_modules/webpack/buildin/module.js":
/*!***********************************!*\
  !*** (webpack)/buildin/module.js ***!
  \***********************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n\n\n//# sourceURL=webpack://this.SDP.UC/(webpack)/buildin/module.js?");

/***/ }),

/***/ "./src/api/UCGateway.js":
/*!******************************!*\
  !*** ./src/api/UCGateway.js ***!
  \******************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/objectWithoutProperties.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _origins__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./origins */ \"./src/api/origins.js\");\n/* harmony import */ var _error_UCError__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../error/UCError */ \"./src/error/UCError.js\");\n/* harmony import */ var _jsonp__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../jsonp */ \"./src/jsonp/index.js\");\n/* harmony import */ var _request__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./request */ \"./src/api/request.js\");\n/* harmony import */ var _utils_storage__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/storage */ \"./src/utils/storage.js\");\n/* harmony import */ var _manager_Header__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../manager/Header */ \"./src/manager/Header.js\");\n\n\n\n\n\n\n\n/**\n * UC网关API\n * wiki - http://wiki.sdp.nd/index.php?title=%E8%BA%AB%E4%BB%BD%E8%AE%A4%E8%AF%81%E9%A2%86%E5%9F%9F-%E5%89%8D%E7%AB%AF%E6%8E%A5%E5%8F%A3\n *\n * @class UCGateway\n */\n\nvar UCGateway =\n/*#__PURE__*/\nfunction () {\n  // 参数配置\n  // UC请求地址\n  // SSO请求地址\n  // 请求头管理器\n  // token存储\n  // 请求对象\n  // jsonp\n\n  /**\n   * 构造函数\n   *\n   * @constructor\n   * @param {UCOptions} options 参数配置\n   * @param {Storage} sessionRepository Session仓库\n   */\n  function UCGateway(options, sessionRepository, headerManager, tokenStorage) {\n    this.options = void 0;\n    this.UC = void 0;\n    this.SSO = void 0;\n    this.headerManager = void 0;\n    this.tokenStorage = void 0;\n    this.request = void 0;\n    this.jsonp = void 0;\n    var env = options.env,\n        origins = options.origins,\n        requestAdapter = options.requestAdapter;\n    var origin = origins || _origins__WEBPACK_IMPORTED_MODULE_1__[\"default\"][env];\n\n    if (!origin) {\n      throw new _error_UCError__WEBPACK_IMPORTED_MODULE_2__[\"default\"]('UCSDK/ENV_INVALID');\n    }\n\n    var UC = origin.UC,\n        SSO = origin.SSO;\n\n    if (!(UC && SSO)) {\n      throw new _error_UCError__WEBPACK_IMPORTED_MODULE_2__[\"default\"]('UCSDK/ENV_INVALID');\n    }\n\n    var defaultHeaders = headerManager.getDefaultHeaders();\n    this.options = options;\n    this.UC = UC;\n    this.SSO = SSO;\n    this.headerManager = headerManager;\n    this.tokenStorage = tokenStorage;\n    this.request = Object(_request__WEBPACK_IMPORTED_MODULE_4__[\"createRequest\"])({\n      defaultHeaders: defaultHeaders,\n      sessionRepository: sessionRepository,\n      adapter: requestAdapter\n    });\n    this.jsonp = Object(_jsonp__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({\n      defaultHeaders: defaultHeaders,\n      sessionRepository: sessionRepository\n    });\n  }\n  /**\n   * 根据当前实例的options，适配请求走UC网关还是SSO服务\n   * 默认走UC网关\n   * @param {Object} config 请求相关的参数\n   * @param {string} config.url 地址\n   * @param {string} [config.type] 类型\n   * @param {Object} [config.data] 数据\n   * @param {Object} [config.headers] 请求头\n   * @param {Object} [config.needAuthHeader] 是否需要追加Authorization Headers\n   * @param {boolean} _sso 显示指定是否走SSO（仅SSO开启时有效）\n   */\n\n\n  var _proto = UCGateway.prototype;\n\n  _proto.requestAdapter = function requestAdapter() {\n    var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n    var _sso = arguments.length > 1 ? arguments[1] : undefined;\n\n    var _config$data = config.data,\n        data = _config$data === void 0 ? {} : _config$data,\n        _config$needAuthHeade = config.needAuthHeader,\n        needAuthHeader = _config$needAuthHeade === void 0 ? false : _config$needAuthHeade;\n    var _config$type = config.type,\n        type = _config$type === void 0 ? 'post' : _config$type,\n        _config$url = config.url,\n        url = _config$url === void 0 ? '' : _config$url,\n        _config$headers = config.headers,\n        headers = _config$headers === void 0 ? {} : _config$headers;\n    var sso = this.options.sso || false;\n    type = type.toLowerCase(); // 显示关闭SSO（仅SSO开启时有效）\n\n    if (sso && typeof _sso !== 'undefined') {\n      sso = _sso;\n    } // 补全url\n\n\n    if (url.indexOf('http') !== 0) {\n      url = \"\".concat(sso ? this.SSO : this.UC).concat(url);\n    } // 静默加上Authorization Header\n\n\n    if (needAuthHeader) {\n      var token = JSON.parse(this.tokenStorage.get('token'));\n      headers = Object.assign(headers, this.headerManager.getMACAuthorizationHeaders(url, type, token));\n    }\n\n    if (sso) {\n      return this.jsonp({\n        method: type,\n        url: url,\n        data: data,\n        headers: headers\n      });\n    }\n\n    return this.request[type]({\n      url: url,\n      data: data,\n      headers: headers\n    });\n  }\n  /**\n   * 2.1.1-创建会话\n   *\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.createSession = function createSession() {\n    var _this = this;\n\n    return this.headerManager.getDeviceID().then(function (deviceId) {\n      return _this.request.post({\n        url: \"\".concat(_this.UC, \"/v1.1/sessions\"),\n        data: {\n          device_id: deviceId\n        }\n      });\n    });\n  }\n  /**\n   * 2.1.2-下发短信验证码\n   *\n   * @param {string} sessionId 会话ID\n   * @param {Object} data 请求数据\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.sendSMSCode = function sendSMSCode(sessionId, data) {\n    return this.request.post({\n      url: \"\".concat(this.UC, \"/v1.1/sessions/\").concat(sessionId, \"/actions/send_sms_code\"),\n      data: data\n    });\n  }\n  /**\n   * 2.1.3-获取图片验证码\n   *\n   * @param {string} sessionId 会话ID\n   * @returns {string} 图片验证码地址\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.getIdentifyCode = function getIdentifyCode(sessionId) {\n    return \"\".concat(this.UC, \"/v1.1/sessions/\").concat(sessionId, \"/identify_code\");\n  }\n  /**\n   * 2.1.4-验证图片验证码\n   *\n   * @param {string} sessionId 会话ID\n   * @param {string} identifyCode 图片验证码\n   * @returns\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.validIdentifyCode = function validIdentifyCode(sessionId, identifyCode) {\n    return this.request.post({\n      url: \"\".concat(this.UC, \"/v1.1/sessions/\").concat(sessionId, \"/identify_code/actions/valid\"),\n      data: {\n        identify_code: identifyCode\n      }\n    });\n  }\n  /**\n   * 2.1.5-下发邮箱验证码\n   *\n   * @param {string} sessionId 会话ID\n   * @param {Object} data 请求数据\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.sendEmailCode = function sendEmailCode(sessionId, data) {\n    return this.request.post({\n      url: \"\".concat(this.UC, \"/v1.1/sessions/\").concat(sessionId, \"/actions/send_email_code\"),\n      data: data\n    });\n  }\n  /**\n   * 2.2.1-密码登录\n   *\n   * @param {Object} data 请求数据\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.loginByPassword = function loginByPassword(data) {\n    var _this2 = this;\n\n    return this.headerManager.getUCCOLLHeaders().then(function (headers) {\n      return _this2.requestAdapter({\n        type: 'post',\n        url: '/v1.1/tokens',\n        data: data,\n        headers: headers\n      });\n    });\n  }\n  /**\n   * 2.2.2-短信登录\n   *\n   * @param {Object} data 请求数据\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.loginBySMS = function loginBySMS(data) {\n    var _this3 = this;\n\n    return this.headerManager.getUCCOLLHeaders().then(function (headers) {\n      return _this3.requestAdapter({\n        type: 'post',\n        url: '/v1.1/sms_tokens',\n        data: data,\n        headers: headers\n      });\n    });\n  }\n  /**\n   * 2.2.3-邮箱验证码登录\n   * @param {Object} data 请求数据\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.loginByEmailCode = function loginByEmailCode(data) {\n    var _this4 = this;\n\n    return this.headerManager.getUCCOLLHeaders().then(function (headers) {\n      return _this4.requestAdapter({\n        type: 'post',\n        url: '/v1.1/email_tokens',\n        data: data,\n        headers: headers\n      });\n    });\n  }\n  /**\n   * 2.2.4-第三方登录\n   *\n   * @param {Object} data 请求数据\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.loginByThirdAccount = function loginByThirdAccount(data) {\n    var _this5 = this;\n\n    return this.headerManager.getUCCOLLHeaders().then(function (headers) {\n      return _this5.requestAdapter({\n        type: 'post',\n        url: '/v1.1/third_tokens',\n        data: data,\n        headers: headers\n      });\n    });\n  }\n  /**\n   * 2.2.5-游客登录\n   *\n   * @param {Object} data 请求数据\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.loginByGuest = function loginByGuest() {\n    var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n    return this.requestAdapter({\n      type: 'post',\n      url: '/v1.1/guest_tokens',\n      data: data\n    });\n  }\n  /**\n   * 2.2.6-令牌检查\n   *\n   * @param {string} accessToken 登录令牌\n   * @param {Object} data 请求数据\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.validToken = function validToken(accessToken, data) {\n    return this.requestAdapter({\n      type: 'post',\n      url: \"/v1.1/tokens/\".concat(accessToken, \"/actions/valid\"),\n      data: data\n    });\n  }\n  /**\n   * 2.2.7-令牌续约\n   *\n   * @param {string} refreshToken 刷新令牌\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.refreshToken = function refreshToken(_refreshToken) {\n    return this.requestAdapter({\n      type: 'post',\n      url: \"/v1.1/tokens/\".concat(_refreshToken, \"/actions/refresh\")\n    });\n  }\n  /**\n   * 2.2.8-令牌克隆\n   *\n   * @param {string} accessToken 登录令牌\n   * @param {Object} data 请求数据\n   * @param {boolean} [sso] 是否走SSO服务\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.cloneToken = function cloneToken(accessToken, data, sso) {\n    return this.requestAdapter({\n      type: 'post',\n      url: \"/v1.1/tokens/\".concat(accessToken, \"/actions/clone\"),\n      data: data\n    }, sso);\n  }\n  /**\n   * 2.2.9-令牌置换\n   *\n   * @param {Object} token 登录令牌\n   * @param {Object} data 请求数据\n   * @param {boolean} [sso] 是否走SSO服务\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.exchangeToken = function exchangeToken(token, data, sso) {\n    return this.requestAdapter({\n      type: 'post',\n      url: \"/v1.1/tokens/\".concat(token.access_token, \"/actions/exchange\"),\n      data: data,\n      needAuthHeader: true,\n      token: token\n    }, sso);\n  }\n  /**\n   * 2.2.10-登出\n   *\n   * @param {string} accessToken 原始的登录令牌\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.logout = function logout(accessToken) {\n    return this.requestAdapter({\n      type: 'delete',\n      url: \"/v1.1/tokens/\".concat(accessToken)\n    });\n  }\n  /**\n   * 获取扫码登录票据\n   *\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.getQrTickets = function getQrTickets() {\n    return this.request.post({\n      url: \"\".concat(this.UC, \"/v1.1/qr_tickets\")\n    });\n  }\n  /**\n   * 获取扫码登录票据状态信息\n   *\n   * @param {string} sessionId 会话ID\n   * @param {string} ticket 票据\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.getQrTicketsStatusInfo = function getQrTicketsStatusInfo(sessionId, ticket) {\n    return this.requestAdapter({\n      type: 'get',\n      url: \"/v1.1/qr_tickets/\".concat(ticket, \"/sessions/\").concat(sessionId, \"/status_info\")\n    });\n  }\n  /**\n   * 2.3.1-通过手机注册个人帐户\n   *\n   * @param {Object} data 请求数据\n   * @param {boolean} [needAuthHeader] 是否携带认证头\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.registerPersonAccountByMobile = function registerPersonAccountByMobile(data, needAuthHeader) {\n    return this.requestAdapter({\n      type: 'post',\n      url: '/v1.1/person_accounts/actions/register_by_mobile',\n      data: data,\n      needAuthHeader: needAuthHeader\n    });\n  }\n  /**\n   * 2.3.2-通过邮箱注册个人帐户\n   *\n   * @param {Object} data 请求数据\n   * @param {boolean} [needAuthHeader] 是否携带认证头\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.registerPersonAccountByEmail = function registerPersonAccountByEmail(data, needAuthHeader) {\n    return this.requestAdapter({\n      type: 'post',\n      url: '/v1.1/person_accounts/actions/register_by_email',\n      data: data,\n      needAuthHeader: needAuthHeader\n    });\n  }\n  /**\n   * 2.3.3-通过用户名注册个人帐户\n   *\n   * @param {Object} data 请求数据\n   * @param {boolean} [needAuthHeader] 是否携带认证头\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.registerPersonAccountByUserName = function registerPersonAccountByUserName(data, needAuthHeader) {\n    return this.requestAdapter({\n      type: 'post',\n      url: '/v1.1/person_accounts/actions/register_by_user_name',\n      data: data,\n      needAuthHeader: needAuthHeader\n    });\n  }\n  /**\n   * 2.3.4-个人帐户修改密码（通过旧密码）\n   *\n   * @param {Object} token 登录令牌\n   * @param {Object} data 请求数据\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.modifyPersonAccountPasswordByOldPassword = function modifyPersonAccountPasswordByOldPassword(token, data) {\n    return this.requestAdapter({\n      type: 'put',\n      url: \"/v1.1/person_accounts/\".concat(token.account_id, \"/password/actions/modify\"),\n      data: data,\n      needAuthHeader: true,\n      token: token\n    });\n  }\n  /**\n   * 2.3.5-个人帐户重置密码（通过短信验证码）\n   *\n   * @param {Object} data 请求数据\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.resetPersonAccountPasswordBySMS = function resetPersonAccountPasswordBySMS(data) {\n    return this.requestAdapter({\n      type: 'put',\n      url: '/v1.1/person_accounts/password/actions/reset_by_sms_code',\n      data: data\n    });\n  }\n  /**\n   * 2.3.6-发送重置密码的邮件\n   *\n   * @param {Object} data 请求数据\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.sendEmailOfResetPersonAccountPassword = function sendEmailOfResetPersonAccountPassword(data) {\n    return this.request.put({\n      url: \"\".concat(this.UC, \"/v1.1/person_accounts/password/actions/send_reset_email\"),\n      data: data\n    });\n  }\n  /**\n   * 2.3.7-个人帐户重置密码（邮箱）\n   *\n   * @param {Object} data 请求数据\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.resetPersonAccountPasswordByEmail = function resetPersonAccountPasswordByEmail(data) {\n    return this.requestAdapter({\n      type: 'put',\n      url: '/v1.1/person_accounts/password/actions/reset_by_email',\n      data: data\n    });\n  }\n  /**\n   * 2.3.8-获取个人帐户信息\n   *\n   * @param {Object} token 登录令牌\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.getPersonAccountInfo = function getPersonAccountInfo(token) {\n    var url = \"\".concat(this.UC, \"/v1.1/person_accounts/\").concat(token.account_id);\n    return this.request.get({\n      url: url,\n      headers: this.headerManager.getMACAuthorizationHeaders(url, 'GET', token)\n    });\n  }\n  /**\n   * 2.3.9-设置个人帐户信息\n   *\n   * @param {Object} token 登录令牌\n   * @param {Object} data 请求数据\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.modifyPersonAccountInfo = function modifyPersonAccountInfo(token, data) {\n    var url = \"\".concat(this.UC, \"/v1.1/person_accounts/\").concat(token.account_id);\n    return this.request.patch({\n      url: url,\n      data: data,\n      headers: this.headerManager.getMACAuthorizationHeaders(url, 'PATCH', token)\n    });\n  }\n  /**\n   * 2.3.10-下发短信验证码到个人帐号绑定的手机\n   *\n   * @param {Object} token 登录令牌\n   * @param {Object} data 请求数据\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.sendSMSCodeToPersonAccountMobile = function sendSMSCodeToPersonAccountMobile(token, data) {\n    var url = \"\".concat(this.UC, \"/v1.1/person_accounts/\").concat(token.account_id, \"/mobile/actions/send_sms_code\");\n    return this.request.post({\n      url: url,\n      data: data,\n      headers: this.headerManager.getMACAuthorizationHeaders(url, 'POST', token)\n    });\n  }\n  /**\n   * 2.3.11-个人帐户更新绑定的手机号前验证原手机号\n   *\n   * @param {Object} token 登录令牌\n   * @param {Object} data 请求数据\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.validSMSCodeOfPersonAccountMobile = function validSMSCodeOfPersonAccountMobile(token, data) {\n    var url = \"\".concat(this.UC, \"/v1.1/person_accounts/\").concat(token.account_id, \"/mobile/actions/valid\");\n    return this.request.post({\n      url: url,\n      data: data,\n      headers: this.headerManager.getMACAuthorizationHeaders(url, 'POST', token)\n    });\n  }\n  /**\n   * 2.3.12-个人帐户更新绑定的手机号\n   *\n   * @param {Object} token 登录令牌\n   * @param {Object} data 请求数据\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.bindPersonAccountMobile = function bindPersonAccountMobile(token, data) {\n    var url = \"\".concat(this.UC, \"/v1.1/person_accounts/\").concat(token.account_id, \"/mobile\");\n    return this.request.put({\n      url: url,\n      data: data,\n      headers: this.headerManager.getMACAuthorizationHeaders(url, 'PUT', token)\n    });\n  }\n  /**\n   * 2.3.13-个人帐户解绑邮箱\n   *\n   * @param {Object} token 登录令牌\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.unbindPersonAccountEmail = function unbindPersonAccountEmail(token) {\n    var url = \"\".concat(this.UC, \"/v1.1/person_accounts/\").concat(token.account_id, \"/email\");\n    return this.request.delete({\n      url: url,\n      headers: this.headerManager.getMACAuthorizationHeaders(url, 'DELETE', token)\n    });\n  }\n  /**\n   * 2.3.14-个人帐户更新绑定的邮箱\n   *\n   * @param {Object} token 登录令牌\n   * @param {Object} data 请求数据\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.bindPersonAccountEmail = function bindPersonAccountEmail(token, data) {\n    var url = \"\".concat(this.UC, \"/v1.1/person_accounts/\").concat(token.account_id, \"/email\");\n    return this.request.put({\n      url: url,\n      data: data,\n      headers: this.headerManager.getMACAuthorizationHeaders(url, 'PUT', token)\n    });\n  }\n  /**\n   * 2.3.15-个人帐户绑定邮箱确认\n   *\n   * @param {string} validateCode 验证码\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.confirmBindingPersonAccountEmail = function confirmBindingPersonAccountEmail(validateCode) {\n    return this.request.get({\n      url: \"\".concat(this.UC, \"/v1.1/person_accounts/actions/email_validate\"),\n      params: {\n        validate_code: validateCode\n      }\n    });\n  }\n  /**\n   * 2.3.16-绑定第三方帐户\n   *\n   * @param {Object} token 登录令牌\n   * @param {Object} data 请求数据\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.bindThirdAccountOfPersonAccount = function bindThirdAccountOfPersonAccount(token, data) {\n    var url = \"\".concat(this.UC, \"/v1.1/person_accounts/\").concat(token.account_id, \"/third_accounts\");\n    return this.request.post({\n      url: url,\n      data: data,\n      headers: this.headerManager.getMACAuthorizationHeaders(url, 'POST', token)\n    });\n  }\n  /**\n   * 2.3.17-个人帐户解绑第三方帐户\n   *\n   * @param {Object} token 登录令牌\n   * @param {Object} data 请求数据\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.unbindThirdAccountOfPersonAccount = function unbindThirdAccountOfPersonAccount(token, data) {\n    var open_id = data.open_id,\n        app_id = data.app_id,\n        source_plat = data.source_plat;\n    var url = \"\".concat(this.UC, \"/v1.1/person_accounts/\").concat(token.account_id, \"/third_accounts?app_id=\").concat(app_id, \"&source_plat=\").concat(source_plat, \"&open_id=\").concat(open_id);\n    return this.request.delete({\n      url: url,\n      headers: this.headerManager.getMACAuthorizationHeaders(url, 'DELETE', token)\n    });\n  }\n  /**\n   * 2.3.18-获取绑定的第三方帐户列表\n   *\n   * @param {Object} token 登录令牌\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.getBindingThirdAccountListOfPersonAccount = function getBindingThirdAccountListOfPersonAccount(token) {\n    var url = \"\".concat(this.UC, \"/v1.1/person_accounts/\").concat(token.account_id, \"/third_accounts\");\n    return this.request.get({\n      url: url,\n      headers: this.headerManager.getMACAuthorizationHeaders(url, 'GET', token)\n    });\n  }\n  /**\n   * 2.3.19-判断用户名是否存在\n   *\n   * @param {Object} data 请求数据\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.checkUserNameExist = function checkUserNameExist(data) {\n    return this.request.post({\n      url: \"\".concat(this.UC, \"/v1.1/person_accounts/user_name/actions/exists\"),\n      data: data\n    });\n  }\n  /**\n   * 2.3.20-个人帐户加入组织\n   *\n   * @param {Object} token 登录令牌\n   * @param {Object} data 请求数据\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.joinOrganization = function joinOrganization(token, data) {\n    var url = \"\".concat(this.UC, \"/v1.1/person_accounts/\").concat(token.account_id, \"/actions/join_org\");\n    return this.request.post({\n      url: url,\n      data: data,\n      headers: this.headerManager.getMACAuthorizationHeaders(url, 'POST', token)\n    });\n  }\n  /**\n   * 2.3.23-个人帐户绑定组织帐户\n   *\n   * @param {Object} token 登录令牌\n   * @param {Object} data 请求数据\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.bindOrgAccount = function bindOrgAccount(token, data) {\n    var url = \"\".concat(this.UC, \"/v1.1/users/actions/bind/person_accounts/\").concat(token.account_id);\n    return this.request.post({\n      url: url,\n      data: data,\n      headers: this.headerManager.getMACAuthorizationHeaders(url, 'POST', token)\n    });\n  }\n  /**\n   * 2.3.25-获取个人帐户绑定的组织帐户列表\n   *\n   * @param {Object} token 登录令牌\n   * @param {Object} data 请求数据\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.getBindingOrgAccountList = function getBindingOrgAccountList(token) {\n    var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n    var _data$isFilter = data.isFilter,\n        isFilter = _data$isFilter === void 0 ? false : _data$isFilter,\n        _data$offset = data.offset,\n        offset = _data$offset === void 0 ? 0 : _data$offset,\n        _data$limit = data.limit,\n        limit = _data$limit === void 0 ? 100 : _data$limit;\n    var url = \"\".concat(this.UC, \"/v1.1/person_accounts/\").concat(token.account_id, \"/binded/users?is_filter=\").concat(String(isFilter), \"&$offset=\").concat(offset, \"&$limit=\").concat(limit);\n    return this.request.get({\n      url: url,\n      headers: this.headerManager.getMACAuthorizationHeaders(url, 'GET', token)\n    });\n  }\n  /**\n   * 2.3.26-个人帐户解绑组织帐户\n   *\n   * @param {Object} token 登录令牌\n   * @param {Object} data 请求数据\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.unbindOrgAccount = function unbindOrgAccount(token) {\n    var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n    var user_id = data.user_id,\n        rest = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0___default()(data, [\"user_id\"]);\n\n    var url = \"\".concat(this.UC, \"/v1.1/person_accounts/actions/unbinded/users/\").concat(user_id);\n    return this.request.post({\n      url: url,\n      data: rest,\n      headers: this.headerManager.getMACAuthorizationHeaders(url, 'POST', token)\n    });\n  }\n  /**\n   * 2.4.1-获取成员信息\n   *\n   * @param {Object} token 登录令牌\n   * @param {boolean} [withExt=true] 是否返回扩展信息，默认true：返回\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.getUserInfo = function getUserInfo(token) {\n    var withExt = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n    var url = \"\".concat(this.UC, \"/v1.1/users/\").concat(token.user_id, \"?with_ext=\").concat(String(withExt));\n    return this.request.get({\n      url: url,\n      headers: this.headerManager.getMACAuthorizationHeaders(url, 'GET', token)\n    });\n  }\n  /**\n   * 2.4.1-获取组织帐户公开信息\n   *\n   * @param {Object} token 登录令牌\n   * @param {Object} data 请求数据\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.getOrgAccountPublicInfo = function getOrgAccountPublicInfo() {\n    var token = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n    var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n    var user_id = data.user_id || token.user_id;\n    var url = \"\".concat(this.UC, \"/v1.1/public/users/\").concat(user_id);\n    return this.request.get({\n      url: url,\n      headers: this.headerManager.getMACAuthorizationHeaders(url, 'GET', token)\n    });\n  }\n  /**\n   * 2.4.3-修改成员信息\n   *\n   * @param {Object} token 登录令牌\n   * @param {Object} data 请求数据\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.modifyUserInfo = function modifyUserInfo(token, data) {\n    var url = \"\".concat(this.UC, \"/v1.1/users/\").concat(token.user_id);\n    return this.request.patch({\n      url: url,\n      data: data,\n      headers: this.headerManager.getMACAuthorizationHeaders(url, 'PATCH', token)\n    });\n  }\n  /**\n   * 2.4.4-组织帐户修改密码(旧密码改新密码)\n   *\n   * @param {Object} token 登录令牌\n   * @param {Object} data 请求数据\n   * @param {boolean} [sso] 是否走SSO服务\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.modifyOrgAccountPassword = function modifyOrgAccountPassword(token, data, sso) {\n    return this.requestAdapter({\n      type: 'put',\n      url: \"/v1.1/users/\".concat(token.user_id, \"/password/actions/modify\"),\n      data: data,\n      needAuthHeader: true,\n      token: token\n    }, sso);\n  }\n  /**\n   * 2.4.5-下发短信验证码到组织帐号绑定的手机\n   *\n   * @param {Object} token 登录令牌\n   * @param {Object} data 请求数据\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.sendSMSCodeToOrgAccountMobile = function sendSMSCodeToOrgAccountMobile(token, data) {\n    var url = \"\".concat(this.UC, \"/v1.1/users/\").concat(token.user_id, \"/mobile/actions/send_sms_code\");\n    return this.request.post({\n      url: url,\n      data: data,\n      headers: this.headerManager.getMACAuthorizationHeaders(url, 'POST', token)\n    });\n  }\n  /**\n   * 2.4.6-组织帐户更新绑定的手机号前验证原手机号\n   *\n   * @param {Object} token 登录令牌\n   * @param {Object} data 请求数据\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.validSMSCodeOfOrgAccountMobile = function validSMSCodeOfOrgAccountMobile(token, data) {\n    var url = \"\".concat(this.UC, \"/v1.1/users/\").concat(token.user_id, \"/mobile/actions/valid\");\n    return this.request.post({\n      url: url,\n      data: data,\n      headers: this.headerManager.getMACAuthorizationHeaders(url, 'POST', token)\n    });\n  }\n  /**\n   * 2.4.7-组织帐户更新绑定的手机号\n   *\n   * @param {Object} token 登录令牌\n   * @param {Object} data 请求数据\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.bindOrgAccountMobile = function bindOrgAccountMobile(token, data) {\n    var url = \"\".concat(this.UC, \"/v1.1/users/\").concat(token.user_id, \"/mobile\");\n    return this.request.put({\n      url: url,\n      data: data,\n      headers: this.headerManager.getMACAuthorizationHeaders(url, 'PUT', token)\n    });\n  }\n  /**\n   * 2.4.8-组织帐户更新绑定的邮箱\n   *\n   * @param {Object} token 登录令牌\n   * @param {Object} data 请求数据\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.bindOrgAccountEmail = function bindOrgAccountEmail(token, data) {\n    var url = \"\".concat(this.UC, \"/v1.1/users/\").concat(token.user_id, \"/email\");\n    return this.request.put({\n      url: url,\n      data: data,\n      headers: this.headerManager.getMACAuthorizationHeaders(url, 'PUT', token)\n    });\n  }\n  /**\n   * 2.4.9-组织帐户绑定邮箱确认\n   *\n   * @param {string} validateCode 验证码\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.confirmBindingOrgAccountEmail = function confirmBindingOrgAccountEmail(validateCode) {\n    return this.request.get({\n      url: \"\".concat(this.UC, \"/v1.1/users/actions/email_validate\"),\n      params: {\n        validate_code: validateCode\n      }\n    });\n  }\n  /**\n   * 2.4.10-组织帐户解绑邮箱\n   *\n   * @param {Object} token 登录令牌\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.unbindOrgAccountEmail = function unbindOrgAccountEmail(token) {\n    var url = \"\".concat(this.UC, \"/v1.1/users/\").concat(token.user_id, \"/email\");\n    return this.request.delete({\n      url: url,\n      headers: this.headerManager.getMACAuthorizationHeaders(url, 'DELETE', token)\n    });\n  }\n  /**\n   * 2.4.11-获取组织帐户绑定的第三方帐户列表\n   *\n   * @param {Object} token 登录令牌\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.getBindingThirdAccountListOfOrgAccount = function getBindingThirdAccountListOfOrgAccount(token) {\n    var url = \"\".concat(this.UC, \"/v1.1/users/\").concat(token.user_id, \"/third_accounts\");\n    return this.request.get({\n      url: url,\n      headers: this.headerManager.getMACAuthorizationHeaders(url, 'GET', token)\n    });\n  }\n  /**\n   * 2.4.12-获取组织帐户绑定的个人帐户\n   *\n   * @param {Object} token 登录令牌\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.getBindingPersonAccountOfOrgAccount = function getBindingPersonAccountOfOrgAccount(token) {\n    var url = \"\".concat(this.UC, \"/v1.1/users/\").concat(token.user_id, \"/person_account\");\n    return this.request.get({\n      url: url,\n      headers: this.headerManager.getMACAuthorizationHeaders(url, 'GET', token)\n    });\n  }\n  /**\n   * 2.4.13-获取个人帐户关联的组织帐户关系列表\n   *\n   * @param {Object} token 登录令牌\n   * @param {number} [$offset=0] 偏移量 >=0\n   * @param {number} [$limit=100] 单页最大数量[1, 100]\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.getRelatedOrgAccountListOfPersonAccount = function getRelatedOrgAccountListOfPersonAccount(token) {\n    var $offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n    var $limit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 100;\n    var url = \"\".concat(this.UC, \"/v1.1/users/actions/query?account_id=\").concat(token.account_id, \"&$offset=\").concat($offset, \"&$limit=\").concat($limit);\n    return this.request.get({\n      url: url,\n      headers: this.headerManager.getMACAuthorizationHeaders(url, 'GET', token)\n    });\n  }\n  /**\n   * 2.4.14-获取个人帐户关联的组织帐户所在节点路径信息\n   *\n   * @param {Object} token 登录令牌\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.getRelatedOrgAccountNodePathOfPersonAccount = function getRelatedOrgAccountNodePathOfPersonAccount(token) {\n    var url = \"\".concat(this.UC, \"/v1.1/users/actions/ancestor_nodes?account_id=\").concat(token.account_id);\n    return this.request.get({\n      url: url,\n      headers: this.headerManager.getMACAuthorizationHeaders(url, 'GET', token)\n    });\n  }\n  /**\n   * 2.4.24-组织帐户重置密码（通过短信验证码）\n   *\n   * @param {Object} data 请求数据\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.resetOrgAccountPasswordBySMS = function resetOrgAccountPasswordBySMS(data) {\n    return this.requestAdapter({\n      type: 'put',\n      url: '/v1.1/users/password/actions/reset_by_sms_code',\n      data: data\n    });\n  }\n  /**\n   * 2.4.26-组织帐户重置密码（通过邮箱验证码）\n   *\n   * @param {Object} data 请求数据\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.resetOrgAccountPasswordByEmail = function resetOrgAccountPasswordByEmail(data) {\n    return this.requestAdapter({\n      type: 'put',\n      url: '/v1.1/users/password/actions/reset_by_email',\n      data: data\n    });\n  }\n  /**\n   * 组织帐户初始密码设置\n   *\n   * @param {Object} data 请求数据\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.modifyOrgAccountInitialPassword = function modifyOrgAccountInitialPassword(token, data) {\n    return this.requestAdapter({\n      type: 'put',\n      url: \"/v1.1/users/\".concat(token.user_id, \"/initial_password/actions/modify\"),\n      data: data,\n      needAuthHeader: true,\n      token: token\n    });\n  }\n  /**\n   * 2.10.1-获取服务器时间\n   *\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.getServerTime = function getServerTime() {\n    return this.request.get({\n      url: \"\".concat(this.UC, \"/v1.1/time\")\n    });\n  }\n  /**\n   * 2.11.10-通过授权码换取第三方token\n   *\n   * @param {Object} data 请求数据\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.getThirdAccessTokenByCode = function getThirdAccessTokenByCode(data) {\n    return this.request.get({\n      url: \"\".concat(this.UC, \"/v1.1/third_token_info\"),\n      params: data\n    });\n  }\n  /**\n   * 2.11.15-验证密码\n   *\n   * @param {Object} token 登录令牌\n   * @param {Object} data 请求数据\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.verifyPassword = function verifyPassword(token, data) {\n    var url = \"\".concat(this.UC, \"/v1.1/password/actions/verify\");\n    return this.request.post({\n      url: url,\n      data: data,\n      headers: this.headerManager.getMACAuthorizationHeaders(url, 'POST', token)\n    });\n  }\n  /**\n   * SSO-4.获取权限Token\n   *\n   * @returns {Promise<*>}\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.ssoGetToken = function ssoGetToken() {\n    var _this6 = this;\n\n    return this.headerManager.getDeviceIDHeaders().then(function (headers) {\n      return _this6.jsonp({\n        method: 'GET',\n        url: \"\".concat(_this6.SSO, \"/v1.1/sso/tokens\"),\n        headers: headers\n      });\n    });\n  }\n  /**\n   * Avatar-1.个人帐户获取头像URL\n   *\n   * @param {number} account_id\n   * @param {number} [size]\n   * @param {string} [ext]\n   * @returns\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.getPersonAccountAvatarURL = function getPersonAccountAvatarURL(account_id) {\n    var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 80;\n    var ext = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'jpg';\n    return \"\".concat(this.UC, \"/v1.1/person_accounts/\").concat(account_id, \"/avatar_url?size=\").concat(size, \"&ext=\").concat(ext);\n  }\n  /**\n   * Avatar-2.组织帐户获取头像URL\n   *\n   * @param {number} user_id\n   * @param {number} [size]\n   * @param {string} [ext]\n   * @returns\n   * @memberof UCGateway\n   */\n  ;\n\n  _proto.getOrgAccountAvatarURL = function getOrgAccountAvatarURL(user_id) {\n    var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 80;\n    var ext = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'jpg';\n    return \"\".concat(this.UC, \"/v1.1/users/\").concat(user_id, \"/avatar_url?size=\").concat(size, \"&ext=\").concat(ext);\n  };\n\n  return UCGateway;\n}();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (UCGateway);\n\n//# sourceURL=webpack://this.SDP.UC/./src/api/UCGateway.js?");

/***/ }),

/***/ "./src/api/env.js":
/*!************************!*\
  !*** ./src/api/env.js ***!
  \************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar ENV = {\n  DEVELOPMENT: 'development',\n  TEST: 'test',\n  PREPRODUCTION: 'preproduction',\n  PRODUCT: 'product',\n  AWSCALIFORNIA: 'aws-california',\n  HK: 'hk',\n  SNWJT: 'snwjt'\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (ENV);\n\n//# sourceURL=webpack://this.SDP.UC/./src/api/env.js?");

/***/ }),

/***/ "./src/api/origins.js":
/*!****************************!*\
  !*** ./src/api/origins.js ***!
  \****************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _env__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./env */ \"./src/api/env.js\");\n\n\nvar _ORIGINS;\n\n // import { protocol } from '../utils/window'\n\nvar ORIGINS = (_ORIGINS = {}, _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_ORIGINS, _env__WEBPACK_IMPORTED_MODULE_1__[\"default\"].DEVELOPMENT, {\n  UC: 'http://uc-gateway.dev.web.nd',\n  SSO: 'http://uc-sso.dev.web.nd'\n}), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_ORIGINS, _env__WEBPACK_IMPORTED_MODULE_1__[\"default\"].TEST, {\n  UC: 'http://uc-gateway.debug.web.nd',\n  SSO: 'http://uc-sso.debug.web.nd'\n}), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_ORIGINS, _env__WEBPACK_IMPORTED_MODULE_1__[\"default\"].PREPRODUCTION, {\n  UC: 'https://uc-gateway.beta.101.com',\n  SSO: 'https://uc-personal-beta.101.com'\n}), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_ORIGINS, _env__WEBPACK_IMPORTED_MODULE_1__[\"default\"].PRODUCT, {\n  UC: 'https://uc-gateway.sdp.101.com',\n  SSO: 'https://uc.101.com'\n}), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_ORIGINS, _env__WEBPACK_IMPORTED_MODULE_1__[\"default\"].AWSCALIFORNIA, {\n  UC: 'https://uc-gateway.awsca.101.com',\n  SSO: 'https://uc-personal-web.awsca.101.com'\n}), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_ORIGINS, _env__WEBPACK_IMPORTED_MODULE_1__[\"default\"].HK, {\n  UC: 'https://uc-gateway.hk.101.com',\n  SSO: 'https://uc-hk.101.com'\n}), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_ORIGINS, _env__WEBPACK_IMPORTED_MODULE_1__[\"default\"].SNWJT, {\n  UC: 'https://uc-gateway.sneduyun.com.cn',\n  SSO: 'https://uc-personal-web.sneduyun.com.cn'\n}), _ORIGINS);\n/* harmony default export */ __webpack_exports__[\"default\"] = (ORIGINS);\n\n//# sourceURL=webpack://this.SDP.UC/./src/api/origins.js?");

/***/ }),

/***/ "./src/api/request.js":
/*!****************************!*\
  !*** ./src/api/request.js ***!
  \****************************/
/*! exports provided: createRequest */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(process) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createRequest\", function() { return createRequest; });\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/objectWithoutProperties.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _gem_mine_request__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @gem-mine/request */ \"./node_modules/@gem-mine/request/dist/index.js\");\n/* harmony import */ var _gem_mine_request__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_gem_mine_request__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _sdp_nd_request_adapter_waf__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @sdp.nd/request-adapter-waf */ \"./node_modules/@sdp.nd/request-adapter-waf/dist/index.js\");\n/* harmony import */ var _sdp_nd_request_adapter_waf__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_sdp_nd_request_adapter_waf__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _error_UCError__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../error/UCError */ \"./src/error/UCError.js\");\n\n// flow\n\n // 兼容ie9\n\n // uc 内部工具函数 之前在其他文件，后面请自行调增\n\nfunction hasOwn(obj, key) {\n  return obj && Object.prototype.hasOwnProperty.call(obj, key) || false;\n}\n\nfunction createRequest(_ref) {\n  var defaultHeaders = _ref.defaultHeaders,\n      sessionRepository = _ref.sessionRepository,\n      adapter = _ref.adapter;\n  var xDomain = false;\n  var request = _gem_mine_request__WEBPACK_IMPORTED_MODULE_1___default()(); // 未定义适配器且当前非Node环境\n\n  if (typeof adapter === 'undefined' && typeof process === 'undefined') {\n    adapter = _sdp_nd_request_adapter_waf__WEBPACK_IMPORTED_MODULE_2__[\"xhrAdapter\"];\n  }\n\n  request.config({\n    cache: true,\n    adapter: adapter,\n    before: function before(config) {\n      config.headers = Object.assign({}, defaultHeaders, config.headers);\n      xDomain = Object(_sdp_nd_request_adapter_waf__WEBPACK_IMPORTED_MODULE_2__[\"isXDomain\"])(config.url);\n\n      if (xDomain) {\n        config = Object(_sdp_nd_request_adapter_waf__WEBPACK_IMPORTED_MODULE_2__[\"convertRequest\"])(config);\n      }\n\n      return config;\n    },\n    verify: function verify(data) {\n      // 成功失败校验函数\n      // uc 服务端返回的状态码不止200 请uc做相应处理\n      if (xDomain) {\n        return data.data.$status === 200 || data.data.$status === 201;\n      }\n\n      return data.status === 200 || data.status === 201;\n    },\n    transform: function transform(response, isSuccess) {\n      // 请求数据转换\n      if (xDomain) {\n        response = Object(_sdp_nd_request_adapter_waf__WEBPACK_IMPORTED_MODULE_2__[\"convertResponse\"])(response);\n        return isSuccess ? response.data : response;\n      }\n\n      return response;\n    },\n    error: function error() {\n      var _error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n      // 错误处理\n      if (['config', 'request', 'response'].every(function (key) {\n        return hasOwn(_error, key);\n      })) {\n        _error = _error.response;\n      } // @sdp.nd/request-adapter-waf 可能将data解构到error中\n\n\n      var data = _error.data || _error || {};\n      var code = data.code,\n          message = data.message;\n\n      if (code) {\n        // UC/INVALID_SESSION_ID - SessionID无效\n        // UC/SESSION_EXPIRED - Session未创建或已过期\n        if (code === 'UC/INVALID_SESSION_ID' || code === 'UC/SESSION_EXPIRED') {\n          // 清空错误的Session\n          sessionRepository.clear();\n          return Promise.reject(new _error_UCError__WEBPACK_IMPORTED_MODULE_3__[\"default\"]('UCSDK/SESSION_ERROR')); // Session异常错误\n        }\n\n        return Promise.reject(new _error_UCError__WEBPACK_IMPORTED_MODULE_3__[\"default\"](code, message)); // 服务端错误数据\n      }\n\n      return Promise.reject(new _error_UCError__WEBPACK_IMPORTED_MODULE_3__[\"default\"]('UCSDK/SERVER_ERROR', _error)); // 自定义错误数据\n    }\n  });\n  var methods = ['get', 'post', 'patch', 'put', 'delete', 'head'];\n  methods.forEach(function (method) {\n    var originMethod = request[method];\n\n    request[method] = function (args) {\n      var url = args.url,\n          rest = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0___default()(args, [\"url\"]);\n\n      return originMethod(url, rest);\n    };\n  });\n  return request;\n}\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../node_modules/process/browser.js */ \"./node_modules/process/browser.js\")))\n\n//# sourceURL=webpack://this.SDP.UC/./src/api/request.js?");

/***/ }),

/***/ "./src/config/index.js":
/*!*****************************!*\
  !*** ./src/config/index.js ***!
  \*****************************/
/*! exports provided: DEFAULT_ENV, PASSWORD_CONFUSE, TOKEN_EXPIRE, DEVICE_ID, GET_TOKEN_STORAGE_KEY_PREFIX, ACCOUNT_TYPE, ORG_LOGIN_NAME_REGEX */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DEFAULT_ENV\", function() { return DEFAULT_ENV; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PASSWORD_CONFUSE\", function() { return PASSWORD_CONFUSE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TOKEN_EXPIRE\", function() { return TOKEN_EXPIRE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DEVICE_ID\", function() { return DEVICE_ID; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GET_TOKEN_STORAGE_KEY_PREFIX\", function() { return GET_TOKEN_STORAGE_KEY_PREFIX; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ACCOUNT_TYPE\", function() { return ACCOUNT_TYPE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ORG_LOGIN_NAME_REGEX\", function() { return ORG_LOGIN_NAME_REGEX; });\n/* harmony import */ var _api_env__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../api/env */ \"./src/api/env.js\");\n\n/**\n * 默认环境变量\n * @private\n*/\n\nvar DEFAULT_ENV = _api_env__WEBPACK_IMPORTED_MODULE_0__[\"default\"].TEST;\n/**\n * 密码 MD5 混淆值\n * @private\n*/\n\nvar PASSWORD_CONFUSE = '£¬¡£fdjf,jkgfkl';\n/**\n * token 过期秒数\n * @private\n */\n\nvar TOKEN_EXPIRE = 7 * 24 * 3600;\n/**\n * deviceID存储Storage中的key\n * @private\n */\n\nvar DEVICE_ID = 'ND_UC_DEVICE_ID';\n/**\n * 获取 Token storage key 前缀\n * @private\n */\n\nvar GET_TOKEN_STORAGE_KEY_PREFIX = function GET_TOKEN_STORAGE_KEY_PREFIX(_ref) {\n  var sdpAppId = _ref.sdpAppId,\n      env = _ref.env;\n  return \"ND_UC_AUTH-\".concat(sdpAppId, \"&\").concat(env, \"&\");\n};\n/**\n * 帐户类型\n * @private\n */\n\nvar ACCOUNT_TYPE = {\n  ORG: 'org',\n  PERSON: 'person',\n  GUEST: 'guest'\n};\n/**\n * 工号登录名正则\n * @private\n */\n\nvar ORG_LOGIN_NAME_REGEX = /^\\S+@\\w+$/;\n\n//# sourceURL=webpack://this.SDP.UC/./src/config/index.js?");

/***/ }),

/***/ "./src/crypto/base64.js":
/*!******************************!*\
  !*** ./src/crypto/base64.js ***!
  \******************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar BASE64_MAPPING = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/'];\n/**\n *ascii convert to binary\n  */\n\nvar _toBinary = function _toBinary(ascii) {\n  var binary = new Array();\n\n  while (ascii > 0) {\n    var b = ascii % 2;\n    ascii = Math.floor(ascii / 2);\n    binary.push(b);\n  }\n  /*\n  var len = binary.length;\n  if(6-len > 0){\n    for(var i = 6-len ; i > 0 ; --i){\n      binary.push(0);\n    }\n  }*/\n\n\n  binary.reverse();\n  return binary;\n};\n/**\n *binary convert to decimal\n  */\n\n\nvar _toDecimal = function _toDecimal(binary) {\n  var dec = 0;\n  var p = 0;\n\n  for (var i = binary.length - 1; i >= 0; --i) {\n    var b = binary[i];\n\n    if (b == 1) {\n      dec += Math.pow(2, p);\n    }\n\n    ++p;\n  }\n\n  return dec;\n};\n/**\n *unicode convert to utf-8\n  */\n\n\nvar _toUTF8Binary = function _toUTF8Binary(c, binaryArray) {\n  var mustLen = 8 - (c + 1) + (c - 1) * 6;\n  var fatLen = binaryArray.length;\n  var diff = mustLen - fatLen;\n\n  while (--diff >= 0) {\n    binaryArray.unshift(0);\n  }\n\n  var binary = [];\n  var _c = c;\n\n  while (--_c >= 0) {\n    binary.push(1);\n  }\n\n  binary.push(0);\n  var i = 0,\n      len = 8 - (c + 1);\n\n  for (; i < len; ++i) {\n    binary.push(binaryArray[i]);\n  }\n\n  for (var j = 0; j < c - 1; ++j) {\n    binary.push(1);\n    binary.push(0);\n    var sum = 6;\n\n    while (--sum >= 0) {\n      binary.push(binaryArray[i++]);\n    }\n  }\n\n  return binary;\n};\n\nvar __BASE64 = {\n  /**\n   *BASE64 Encode\n    */\n  encoder: function encoder(str) {\n    var base64_Index = [];\n    var binaryArray = [];\n\n    for (var i = 0, len = str.length; i < len; ++i) {\n      var unicode = str.charCodeAt(i);\n\n      var _tmpBinary = _toBinary(unicode);\n\n      if (unicode < 0x80) {\n        var _tmpdiff = 8 - _tmpBinary.length;\n\n        while (--_tmpdiff >= 0) {\n          _tmpBinary.unshift(0);\n        }\n\n        binaryArray = binaryArray.concat(_tmpBinary);\n      } else if (unicode >= 0x80 && unicode <= 0x7FF) {\n        binaryArray = binaryArray.concat(_toUTF8Binary(2, _tmpBinary));\n      } else if (unicode >= 0x800 && unicode <= 0xFFFF) {\n        //UTF-8 3byte\n        binaryArray = binaryArray.concat(_toUTF8Binary(3, _tmpBinary));\n      } else if (unicode >= 0x10000 && unicode <= 0x1FFFFF) {\n        //UTF-8 4byte\n        binaryArray = binaryArray.concat(_toUTF8Binary(4, _tmpBinary));\n      } else if (unicode >= 0x200000 && unicode <= 0x3FFFFFF) {\n        //UTF-8 5byte\n        binaryArray = binaryArray.concat(_toUTF8Binary(5, _tmpBinary));\n      } else if (unicode >= 4000000 && unicode <= 0x7FFFFFFF) {\n        //UTF-8 6byte\n        binaryArray = binaryArray.concat(_toUTF8Binary(6, _tmpBinary));\n      }\n    }\n\n    var extra_Zero_Count = 0;\n\n    for (var i = 0, len = binaryArray.length; i < len; i += 6) {\n      var diff = i + 6 - len;\n\n      if (diff == 2) {\n        extra_Zero_Count = 2;\n      } else if (diff == 4) {\n        extra_Zero_Count = 4;\n      } //if(extra_Zero_Count > 0){\n      //\tlen += extra_Zero_Count+1;\n      //}\n\n\n      var _tmpExtra_Zero_Count = extra_Zero_Count;\n\n      while (--_tmpExtra_Zero_Count >= 0) {\n        binaryArray.push(0);\n      }\n\n      base64_Index.push(_toDecimal(binaryArray.slice(i, i + 6)));\n    }\n\n    var base64 = '';\n\n    for (var i = 0, len = base64_Index.length; i < len; ++i) {\n      base64 += BASE64_MAPPING[base64_Index[i]];\n    }\n\n    for (var i = 0, len = extra_Zero_Count / 2; i < len; ++i) {\n      base64 += '=';\n    }\n\n    return base64;\n  },\n\n  /**\n   *BASE64  Decode for UTF-8\n    */\n  decoder: function decoder(_base64Str) {\n    var _len = _base64Str.length;\n    var extra_Zero_Count = 0;\n    /**\n     *ï¿½ï¿½ï¿½ï¿½ï¿½Ú½ï¿½ï¿½ï¿½BASE64ï¿½ï¿½ï¿½ï¿½ï¿½Ê±ï¿½ò£¬²ï¿½ï¿½Ë¼ï¿½ï¿½ï¿½0\n      */\n\n    if (_base64Str.charAt(_len - 1) == '=') {\n      //alert(_base64Str.charAt(_len-1));\n      //alert(_base64Str.charAt(_len-2));\n      if (_base64Str.charAt(_len - 2) == '=') {\n        //ï¿½ï¿½ï¿½ï¿½ï¿½Èºï¿½Ëµï¿½ï¿½ï¿½ï¿½ï¿½ï¿½4ï¿½ï¿½0\n        extra_Zero_Count = 4;\n        _base64Str = _base64Str.substring(0, _len - 2);\n      } else {\n        //Ò»ï¿½ï¿½ï¿½Èºï¿½Ëµï¿½ï¿½ï¿½ï¿½ï¿½ï¿½2ï¿½ï¿½0\n        extra_Zero_Count = 2;\n        _base64Str = _base64Str.substring(0, _len - 1);\n      }\n    }\n\n    var binaryArray = [];\n\n    for (var i = 0, len = _base64Str.length; i < len; ++i) {\n      var c = _base64Str.charAt(i);\n\n      for (var j = 0, size = BASE64_MAPPING.length; j < size; ++j) {\n        if (c == BASE64_MAPPING[j]) {\n          var _tmp = _toBinary(j);\n          /*ï¿½ï¿½ï¿½ï¿½6Î»ï¿½Ä²ï¿½0*/\n\n\n          var _tmpLen = _tmp.length;\n\n          if (6 - _tmpLen > 0) {\n            for (var k = 6 - _tmpLen; k > 0; --k) {\n              _tmp.unshift(0);\n            }\n          }\n\n          binaryArray = binaryArray.concat(_tmp);\n          break;\n        }\n      }\n    }\n\n    if (extra_Zero_Count > 0) {\n      binaryArray = binaryArray.slice(0, binaryArray.length - extra_Zero_Count);\n    }\n\n    var unicode = [];\n    var unicodeBinary = [];\n\n    for (var i = 0, len = binaryArray.length; i < len;) {\n      if (binaryArray[i] == 0) {\n        unicode = unicode.concat(_toDecimal(binaryArray.slice(i, i + 8)));\n        i += 8;\n      } else {\n        var sum = 0;\n\n        while (i < len) {\n          if (binaryArray[i] == 1) {\n            ++sum;\n          } else {\n            break;\n          }\n\n          ++i;\n        }\n\n        unicodeBinary = unicodeBinary.concat(binaryArray.slice(i + 1, i + 8 - sum));\n        i += 8 - sum;\n\n        while (sum > 1) {\n          unicodeBinary = unicodeBinary.concat(binaryArray.slice(i + 2, i + 8));\n          i += 8;\n          --sum;\n        }\n\n        unicode = unicode.concat(_toDecimal(unicodeBinary));\n        unicodeBinary = [];\n      }\n    }\n\n    return unicode;\n  }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (__BASE64);\n\n//# sourceURL=webpack://this.SDP.UC/./src/crypto/base64.js?");

/***/ }),

/***/ "./src/crypto/cipher-core.js":
/*!***********************************!*\
  !*** ./src/crypto/cipher-core.js ***!
  \***********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/*\nCryptoJS v3.1.2\ncode.google.com/p/crypto-js\n(c) 2009-2013 by Jeff Mott. All rights reserved.\ncode.google.com/p/crypto-js/wiki/License\n*/\n\n/**\n * Cipher core components.\n */\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (CryptoJS) {\n  // Shortcuts\n  var C = CryptoJS;\n  var C_lib = C.lib;\n  var Base = C_lib.Base;\n  var WordArray = C_lib.WordArray;\n  var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm;\n  var C_enc = C.enc;\n  var Utf8 = C_enc.Utf8;\n  var Base64 = C_enc.Base64;\n  var C_algo = C.algo;\n  var EvpKDF = C_algo.EvpKDF;\n  /**\n   * Abstract base cipher template.\n   *\n   * @property {number} keySize This cipher's key size. Default: 4 (128 bits)\n   * @property {number} ivSize This cipher's IV size. Default: 4 (128 bits)\n   * @property {number} _ENC_XFORM_MODE A constant representing encryption mode.\n   * @property {number} _DEC_XFORM_MODE A constant representing decryption mode.\n   */\n\n  var Cipher = C_lib.Cipher = BufferedBlockAlgorithm.extend({\n    /**\n     * Configuration options.\n     *\n     * @property {WordArray} iv The IV to use for this operation.\n     */\n    cfg: Base.extend(),\n\n    /**\n     * Creates this cipher in encryption mode.\n     *\n     * @param {WordArray} key The key.\n     * @param {Object} cfg (Optional) The configuration options to use for this operation.\n     *\n     * @return {Cipher} A cipher instance.\n     *\n     * @static\n     *\n     * @example\n     *\n     *     var cipher = CryptoJS.algo.AES.createEncryptor(keyWordArray, { iv: ivWordArray });\n     */\n    createEncryptor: function createEncryptor(key, cfg) {\n      return this.create(this._ENC_XFORM_MODE, key, cfg);\n    },\n\n    /**\n     * Creates this cipher in decryption mode.\n     *\n     * @param {WordArray} key The key.\n     * @param {Object} cfg (Optional) The configuration options to use for this operation.\n     *\n     * @return {Cipher} A cipher instance.\n     *\n     * @static\n     *\n     * @example\n     *\n     *     var cipher = CryptoJS.algo.AES.createDecryptor(keyWordArray, { iv: ivWordArray });\n     */\n    createDecryptor: function createDecryptor(key, cfg) {\n      return this.create(this._DEC_XFORM_MODE, key, cfg);\n    },\n\n    /**\n     * Initializes a newly created cipher.\n     *\n     * @param {number} xformMode Either the encryption or decryption transormation mode constant.\n     * @param {WordArray} key The key.\n     * @param {Object} cfg (Optional) The configuration options to use for this operation.\n     *\n     * @example\n     *\n     *     var cipher = CryptoJS.algo.AES.create(CryptoJS.algo.AES._ENC_XFORM_MODE, keyWordArray, { iv: ivWordArray });\n     */\n    init: function init(xformMode, key, cfg) {\n      // Apply config defaults\n      this.cfg = this.cfg.extend(cfg); // Store transform mode and key\n\n      this._xformMode = xformMode;\n      this._key = key; // Set initial values\n\n      this.reset();\n    },\n\n    /**\n     * Resets this cipher to its initial state.\n     *\n     * @example\n     *\n     *     cipher.reset();\n     */\n    reset: function reset() {\n      // Reset data buffer\n      BufferedBlockAlgorithm.reset.call(this); // Perform concrete-cipher logic\n\n      this._doReset();\n    },\n\n    /**\n     * Adds data to be encrypted or decrypted.\n     *\n     * @param {WordArray|string} dataUpdate The data to encrypt or decrypt.\n     *\n     * @return {WordArray} The data after processing.\n     *\n     * @example\n     *\n     *     var encrypted = cipher.process('data');\n     *     var encrypted = cipher.process(wordArray);\n     */\n    process: function process(dataUpdate) {\n      // Append\n      this._append(dataUpdate); // Process available blocks\n\n\n      return this._process();\n    },\n\n    /**\n     * Finalizes the encryption or decryption process.\n     * Note that the finalize operation is effectively a destructive, read-once operation.\n     *\n     * @param {WordArray|string} dataUpdate The final data to encrypt or decrypt.\n     *\n     * @return {WordArray} The data after final processing.\n     *\n     * @example\n     *\n     *     var encrypted = cipher.finalize();\n     *     var encrypted = cipher.finalize('data');\n     *     var encrypted = cipher.finalize(wordArray);\n     */\n    finalize: function finalize(dataUpdate) {\n      // Final data update\n      if (dataUpdate) {\n        this._append(dataUpdate);\n      } // Perform concrete-cipher logic\n\n\n      var finalProcessedData = this._doFinalize();\n\n      return finalProcessedData;\n    },\n    keySize: 128 / 32,\n    ivSize: 128 / 32,\n    _ENC_XFORM_MODE: 1,\n    _DEC_XFORM_MODE: 2,\n\n    /**\n     * Creates shortcut functions to a cipher's object interface.\n     *\n     * @param {Cipher} cipher The cipher to create a helper for.\n     *\n     * @return {Object} An object with encrypt and decrypt shortcut functions.\n     *\n     * @static\n     *\n     * @example\n     *\n     *     var AES = CryptoJS.lib.Cipher._createHelper(CryptoJS.algo.AES);\n     */\n    _createHelper: function () {\n      function selectCipherStrategy(key) {\n        if (typeof key == 'string') {\n          return PasswordBasedCipher;\n        } else {\n          return SerializableCipher;\n        }\n      }\n\n      return function (cipher) {\n        return {\n          encrypt: function encrypt(message, key, cfg) {\n            return selectCipherStrategy(key).encrypt(cipher, message, key, cfg);\n          },\n          decrypt: function decrypt(ciphertext, key, cfg) {\n            return selectCipherStrategy(key).decrypt(cipher, ciphertext, key, cfg);\n          }\n        };\n      };\n    }()\n  });\n  /**\n   * Abstract base stream cipher template.\n   *\n   * @property {number} blockSize The number of 32-bit words this cipher operates on. Default: 1 (32 bits)\n   */\n\n  var StreamCipher = C_lib.StreamCipher = Cipher.extend({\n    _doFinalize: function _doFinalize() {\n      // Process partial blocks\n      var finalProcessedBlocks = this._process(!!'flush');\n\n      return finalProcessedBlocks;\n    },\n    blockSize: 1\n  });\n  /**\n   * Mode namespace.\n   */\n\n  var C_mode = C.mode = {};\n  /**\n   * Abstract base block cipher mode template.\n   */\n\n  var BlockCipherMode = C_lib.BlockCipherMode = Base.extend({\n    /**\n     * Creates this mode for encryption.\n     *\n     * @param {Cipher} cipher A block cipher instance.\n     * @param {Array} iv The IV words.\n     *\n     * @static\n     *\n     * @example\n     *\n     *     var mode = CryptoJS.mode.CBC.createEncryptor(cipher, iv.words);\n     */\n    createEncryptor: function createEncryptor(cipher, iv) {\n      return this.Encryptor.create(cipher, iv);\n    },\n\n    /**\n     * Creates this mode for decryption.\n     *\n     * @param {Cipher} cipher A block cipher instance.\n     * @param {Array} iv The IV words.\n     *\n     * @static\n     *\n     * @example\n     *\n     *     var mode = CryptoJS.mode.CBC.createDecryptor(cipher, iv.words);\n     */\n    createDecryptor: function createDecryptor(cipher, iv) {\n      return this.Decryptor.create(cipher, iv);\n    },\n\n    /**\n     * Initializes a newly created mode.\n     *\n     * @param {Cipher} cipher A block cipher instance.\n     * @param {Array} iv The IV words.\n     *\n     * @example\n     *\n     *     var mode = CryptoJS.mode.CBC.Encryptor.create(cipher, iv.words);\n     */\n    init: function init(cipher, iv) {\n      this._cipher = cipher;\n      this._iv = iv;\n    }\n  });\n  /**\n   * Cipher Block Chaining mode.\n   */\n\n  var CBC = C_mode.CBC = function () {\n    /**\n     * Abstract base CBC mode.\n     */\n    var CBC = BlockCipherMode.extend();\n    /**\n     * CBC encryptor.\n     */\n\n    CBC.Encryptor = CBC.extend({\n      /**\n       * Processes the data block at offset.\n       *\n       * @param {Array} words The data words to operate on.\n       * @param {number} offset The offset where the block starts.\n       *\n       * @example\n       *\n       *     mode.processBlock(data.words, offset);\n       */\n      processBlock: function processBlock(words, offset) {\n        // Shortcuts\n        var cipher = this._cipher;\n        var blockSize = cipher.blockSize; // XOR and encrypt\n\n        xorBlock.call(this, words, offset, blockSize);\n        cipher.encryptBlock(words, offset); // Remember this block to use with next block\n\n        this._prevBlock = words.slice(offset, offset + blockSize);\n      }\n    });\n    /**\n     * CBC decryptor.\n     */\n\n    CBC.Decryptor = CBC.extend({\n      /**\n       * Processes the data block at offset.\n       *\n       * @param {Array} words The data words to operate on.\n       * @param {number} offset The offset where the block starts.\n       *\n       * @example\n       *\n       *     mode.processBlock(data.words, offset);\n       */\n      processBlock: function processBlock(words, offset) {\n        // Shortcuts\n        var cipher = this._cipher;\n        var blockSize = cipher.blockSize; // Remember this block to use with next block\n\n        var thisBlock = words.slice(offset, offset + blockSize); // Decrypt and XOR\n\n        cipher.decryptBlock(words, offset);\n        xorBlock.call(this, words, offset, blockSize); // This block becomes the previous block\n\n        this._prevBlock = thisBlock;\n      }\n    });\n\n    function xorBlock(words, offset, blockSize) {\n      // Shortcut\n      var iv = this._iv; // Choose mixing block\n\n      if (iv) {\n        var block = iv; // Remove IV for subsequent blocks\n\n        this._iv = undefined;\n      } else {\n        var block = this._prevBlock;\n      } // XOR blocks\n\n\n      for (var i = 0; i < blockSize; i++) {\n        words[offset + i] ^= block[i];\n      }\n    }\n\n    return CBC;\n  }();\n  /**\n   * Padding namespace.\n   */\n\n\n  var C_pad = C.pad = {};\n  /**\n   * PKCS #5/7 padding strategy.\n   */\n\n  var Pkcs7 = C_pad.Pkcs7 = {\n    /**\n     * Pads data using the algorithm defined in PKCS #5/7.\n     *\n     * @param {WordArray} data The data to pad.\n     * @param {number} blockSize The multiple that the data should be padded to.\n     *\n     * @static\n     *\n     * @example\n     *\n     *     CryptoJS.pad.Pkcs7.pad(wordArray, 4);\n     */\n    pad: function pad(data, blockSize) {\n      // Shortcut\n      var blockSizeBytes = blockSize * 4; // Count padding bytes\n\n      var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes; // Create padding word\n\n      var paddingWord = nPaddingBytes << 24 | nPaddingBytes << 16 | nPaddingBytes << 8 | nPaddingBytes; // Create padding\n\n      var paddingWords = [];\n\n      for (var i = 0; i < nPaddingBytes; i += 4) {\n        paddingWords.push(paddingWord);\n      }\n\n      var padding = WordArray.create(paddingWords, nPaddingBytes); // Add padding\n\n      data.concat(padding);\n    },\n\n    /**\n     * Unpads data that had been padded using the algorithm defined in PKCS #5/7.\n     *\n     * @param {WordArray} data The data to unpad.\n     *\n     * @static\n     *\n     * @example\n     *\n     *     CryptoJS.pad.Pkcs7.unpad(wordArray);\n     */\n    unpad: function unpad(data) {\n      // Get number of padding bytes from last byte\n      var nPaddingBytes = data.words[data.sigBytes - 1 >>> 2] & 0xff; // Remove padding\n\n      data.sigBytes -= nPaddingBytes;\n    }\n  };\n  /**\n   * Abstract base block cipher template.\n   *\n   * @property {number} blockSize The number of 32-bit words this cipher operates on. Default: 4 (128 bits)\n   */\n\n  var BlockCipher = C_lib.BlockCipher = Cipher.extend({\n    /**\n     * Configuration options.\n     *\n     * @property {Mode} mode The block mode to use. Default: CBC\n     * @property {Padding} padding The padding strategy to use. Default: Pkcs7\n     */\n    cfg: Cipher.cfg.extend({\n      mode: CBC,\n      padding: Pkcs7\n    }),\n    reset: function reset() {\n      // Reset cipher\n      Cipher.reset.call(this); // Shortcuts\n\n      var cfg = this.cfg;\n      var iv = cfg.iv;\n      var mode = cfg.mode; // Reset block mode\n\n      if (this._xformMode == this._ENC_XFORM_MODE) {\n        var modeCreator = mode.createEncryptor;\n      } else\n        /* if (this._xformMode == this._DEC_XFORM_MODE) */\n        {\n          var modeCreator = mode.createDecryptor; // Keep at least one block in the buffer for unpadding\n\n          this._minBufferSize = 1;\n        }\n\n      this._mode = modeCreator.call(mode, this, iv && iv.words);\n    },\n    _doProcessBlock: function _doProcessBlock(words, offset) {\n      this._mode.processBlock(words, offset);\n    },\n    _doFinalize: function _doFinalize() {\n      // Shortcut\n      var padding = this.cfg.padding; // Finalize\n\n      if (this._xformMode == this._ENC_XFORM_MODE) {\n        // Pad data\n        padding.pad(this._data, this.blockSize); // Process final blocks\n\n        var finalProcessedBlocks = this._process(!!'flush');\n      } else\n        /* if (this._xformMode == this._DEC_XFORM_MODE) */\n        {\n          // Process final blocks\n          var finalProcessedBlocks = this._process(!!'flush'); // Unpad data\n\n\n          padding.unpad(finalProcessedBlocks);\n        }\n\n      return finalProcessedBlocks;\n    },\n    blockSize: 128 / 32\n  });\n  /**\n   * A collection of cipher parameters.\n   *\n   * @property {WordArray} ciphertext The raw ciphertext.\n   * @property {WordArray} key The key to this ciphertext.\n   * @property {WordArray} iv The IV used in the ciphering operation.\n   * @property {WordArray} salt The salt used with a key derivation function.\n   * @property {Cipher} algorithm The cipher algorithm.\n   * @property {Mode} mode The block mode used in the ciphering operation.\n   * @property {Padding} padding The padding scheme used in the ciphering operation.\n   * @property {number} blockSize The block size of the cipher.\n   * @property {Format} formatter The default formatting strategy to convert this cipher params object to a string.\n   */\n\n  var CipherParams = C_lib.CipherParams = Base.extend({\n    /**\n     * Initializes a newly created cipher params object.\n     *\n     * @param {Object} cipherParams An object with any of the possible cipher parameters.\n     *\n     * @example\n     *\n     *     var cipherParams = CryptoJS.lib.CipherParams.create({\n     *         ciphertext: ciphertextWordArray,\n     *         key: keyWordArray,\n     *         iv: ivWordArray,\n     *         salt: saltWordArray,\n     *         algorithm: CryptoJS.algo.AES,\n     *         mode: CryptoJS.mode.CBC,\n     *         padding: CryptoJS.pad.PKCS7,\n     *         blockSize: 4,\n     *         formatter: CryptoJS.format.OpenSSL\n     *     });\n     */\n    init: function init(cipherParams) {\n      this.mixIn(cipherParams);\n    },\n\n    /**\n     * Converts this cipher params object to a string.\n     *\n     * @param {Format} formatter (Optional) The formatting strategy to use.\n     *\n     * @return {string} The stringified cipher params.\n     *\n     * @throws Error If neither the formatter nor the default formatter is set.\n     *\n     * @example\n     *\n     *     var string = cipherParams + '';\n     *     var string = cipherParams.toString();\n     *     var string = cipherParams.toString(CryptoJS.format.OpenSSL);\n     */\n    toString: function toString(formatter) {\n      return (formatter || this.formatter).stringify(this);\n    }\n  });\n  /**\n   * Format namespace.\n   */\n\n  var C_format = C.format = {};\n  /**\n   * OpenSSL formatting strategy.\n   */\n\n  var OpenSSLFormatter = C_format.OpenSSL = {\n    /**\n     * Converts a cipher params object to an OpenSSL-compatible string.\n     *\n     * @param {CipherParams} cipherParams The cipher params object.\n     *\n     * @return {string} The OpenSSL-compatible string.\n     *\n     * @static\n     *\n     * @example\n     *\n     *     var openSSLString = CryptoJS.format.OpenSSL.stringify(cipherParams);\n     */\n    stringify: function stringify(cipherParams) {\n      // Shortcuts\n      var ciphertext = cipherParams.ciphertext;\n      var salt = cipherParams.salt; // Format\n\n      if (salt) {\n        var wordArray = WordArray.create([0x53616c74, 0x65645f5f]).concat(salt).concat(ciphertext);\n      } else {\n        var wordArray = ciphertext;\n      }\n\n      return wordArray.toString(Base64);\n    },\n\n    /**\n     * Converts an OpenSSL-compatible string to a cipher params object.\n     *\n     * @param {string} openSSLStr The OpenSSL-compatible string.\n     *\n     * @return {CipherParams} The cipher params object.\n     *\n     * @static\n     *\n     * @example\n     *\n     *     var cipherParams = CryptoJS.format.OpenSSL.parse(openSSLString);\n     */\n    parse: function parse(openSSLStr) {\n      // Parse base64\n      var ciphertext = Base64.parse(openSSLStr); // Shortcut\n\n      var ciphertextWords = ciphertext.words; // Test for salt\n\n      if (ciphertextWords[0] == 0x53616c74 && ciphertextWords[1] == 0x65645f5f) {\n        // Extract salt\n        var salt = WordArray.create(ciphertextWords.slice(2, 4)); // Remove salt from ciphertext\n\n        ciphertextWords.splice(0, 4);\n        ciphertext.sigBytes -= 16;\n      }\n\n      return CipherParams.create({\n        ciphertext: ciphertext,\n        salt: salt\n      });\n    }\n  };\n  /**\n   * A cipher wrapper that returns ciphertext as a serializable cipher params object.\n   */\n\n  var SerializableCipher = C_lib.SerializableCipher = Base.extend({\n    /**\n     * Configuration options.\n     *\n     * @property {Formatter} format The formatting strategy to convert cipher param objects to and from a string. Default: OpenSSL\n     */\n    cfg: Base.extend({\n      format: OpenSSLFormatter\n    }),\n\n    /**\n     * Encrypts a message.\n     *\n     * @param {Cipher} cipher The cipher algorithm to use.\n     * @param {WordArray|string} message The message to encrypt.\n     * @param {WordArray} key The key.\n     * @param {Object} cfg (Optional) The configuration options to use for this operation.\n     *\n     * @return {CipherParams} A cipher params object.\n     *\n     * @static\n     *\n     * @example\n     *\n     *     var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key);\n     *     var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv });\n     *     var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv, format: CryptoJS.format.OpenSSL });\n     */\n    encrypt: function encrypt(cipher, message, key, cfg) {\n      // Apply config defaults\n      cfg = this.cfg.extend(cfg); // Encrypt\n\n      var encryptor = cipher.createEncryptor(key, cfg);\n      var ciphertext = encryptor.finalize(message); // Shortcut\n\n      var cipherCfg = encryptor.cfg; // Create and return serializable cipher params\n\n      return CipherParams.create({\n        ciphertext: ciphertext,\n        key: key,\n        iv: cipherCfg.iv,\n        algorithm: cipher,\n        mode: cipherCfg.mode,\n        padding: cipherCfg.padding,\n        blockSize: cipher.blockSize,\n        formatter: cfg.format\n      });\n    },\n\n    /**\n     * Decrypts serialized ciphertext.\n     *\n     * @param {Cipher} cipher The cipher algorithm to use.\n     * @param {CipherParams|string} ciphertext The ciphertext to decrypt.\n     * @param {WordArray} key The key.\n     * @param {Object} cfg (Optional) The configuration options to use for this operation.\n     *\n     * @return {WordArray} The plaintext.\n     *\n     * @static\n     *\n     * @example\n     *\n     *     var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, key, { iv: iv, format: CryptoJS.format.OpenSSL });\n     *     var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, key, { iv: iv, format: CryptoJS.format.OpenSSL });\n     */\n    decrypt: function decrypt(cipher, ciphertext, key, cfg) {\n      // Apply config defaults\n      cfg = this.cfg.extend(cfg); // Convert string to CipherParams\n\n      ciphertext = this._parse(ciphertext, cfg.format); // Decrypt\n\n      var plaintext = cipher.createDecryptor(key, cfg).finalize(ciphertext.ciphertext);\n      return plaintext;\n    },\n\n    /**\n     * Converts serialized ciphertext to CipherParams,\n     * else assumed CipherParams already and returns ciphertext unchanged.\n     *\n     * @param {CipherParams|string} ciphertext The ciphertext.\n     * @param {Formatter} format The formatting strategy to use to parse serialized ciphertext.\n     *\n     * @return {CipherParams} The unserialized ciphertext.\n     *\n     * @static\n     *\n     * @example\n     *\n     *     var ciphertextParams = CryptoJS.lib.SerializableCipher._parse(ciphertextStringOrParams, format);\n     */\n    _parse: function _parse(ciphertext, format) {\n      if (typeof ciphertext == 'string') {\n        return format.parse(ciphertext, this);\n      } else {\n        return ciphertext;\n      }\n    }\n  });\n  /**\n   * Key derivation function namespace.\n   */\n\n  var C_kdf = C.kdf = {};\n  /**\n   * OpenSSL key derivation function.\n   */\n\n  var OpenSSLKdf = C_kdf.OpenSSL = {\n    /**\n     * Derives a key and IV from a password.\n     *\n     * @param {string} password The password to derive from.\n     * @param {number} keySize The size in words of the key to generate.\n     * @param {number} ivSize The size in words of the IV to generate.\n     * @param {WordArray|string} salt (Optional) A 64-bit salt to use. If omitted, a salt will be generated randomly.\n     *\n     * @return {CipherParams} A cipher params object with the key, IV, and salt.\n     *\n     * @static\n     *\n     * @example\n     *\n     *     var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32);\n     *     var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32, 'saltsalt');\n     */\n    execute: function execute(password, keySize, ivSize, salt) {\n      // Generate random salt\n      if (!salt) {\n        salt = WordArray.random(64 / 8);\n      } // Derive key and IV\n\n\n      var key = EvpKDF.create({\n        keySize: keySize + ivSize\n      }).compute(password, salt); // Separate key and IV\n\n      var iv = WordArray.create(key.words.slice(keySize), ivSize * 4);\n      key.sigBytes = keySize * 4; // Return params\n\n      return CipherParams.create({\n        key: key,\n        iv: iv,\n        salt: salt\n      });\n    }\n  };\n  /**\n   * A serializable cipher wrapper that derives the key from a password,\n   * and returns ciphertext as a serializable cipher params object.\n   */\n\n  var PasswordBasedCipher = C_lib.PasswordBasedCipher = SerializableCipher.extend({\n    /**\n     * Configuration options.\n     *\n     * @property {KDF} kdf The key derivation function to use to generate a key and IV from a password. Default: OpenSSL\n     */\n    cfg: SerializableCipher.cfg.extend({\n      kdf: OpenSSLKdf\n    }),\n\n    /**\n     * Encrypts a message using a password.\n     *\n     * @param {Cipher} cipher The cipher algorithm to use.\n     * @param {WordArray|string} message The message to encrypt.\n     * @param {string} password The password.\n     * @param {Object} cfg (Optional) The configuration options to use for this operation.\n     *\n     * @return {CipherParams} A cipher params object.\n     *\n     * @static\n     *\n     * @example\n     *\n     *     var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password');\n     *     var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password', { format: CryptoJS.format.OpenSSL });\n     */\n    encrypt: function encrypt(cipher, message, password, cfg) {\n      // Apply config defaults\n      cfg = this.cfg.extend(cfg); // Derive key and other params\n\n      var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize); // Add IV to config\n\n      cfg.iv = derivedParams.iv; // Encrypt\n\n      var ciphertext = SerializableCipher.encrypt.call(this, cipher, message, derivedParams.key, cfg); // Mix in derived params\n\n      ciphertext.mixIn(derivedParams);\n      return ciphertext;\n    },\n\n    /**\n     * Decrypts serialized ciphertext using a password.\n     *\n     * @param {Cipher} cipher The cipher algorithm to use.\n     * @param {CipherParams|string} ciphertext The ciphertext to decrypt.\n     * @param {string} password The password.\n     * @param {Object} cfg (Optional) The configuration options to use for this operation.\n     *\n     * @return {WordArray} The plaintext.\n     *\n     * @static\n     *\n     * @example\n     *\n     *     var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, 'password', { format: CryptoJS.format.OpenSSL });\n     *     var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, 'password', { format: CryptoJS.format.OpenSSL });\n     */\n    decrypt: function decrypt(cipher, ciphertext, password, cfg) {\n      // Apply config defaults\n      cfg = this.cfg.extend(cfg); // Convert string to CipherParams\n\n      ciphertext = this._parse(ciphertext, cfg.format); // Derive key and other params\n\n      var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, ciphertext.salt); // Add IV to config\n\n      cfg.iv = derivedParams.iv; // Decrypt\n\n      var plaintext = SerializableCipher.decrypt.call(this, cipher, ciphertext, derivedParams.key, cfg);\n      return plaintext;\n    }\n  });\n});\n\n//# sourceURL=webpack://this.SDP.UC/./src/crypto/cipher-core.js?");

/***/ }),

/***/ "./src/crypto/core.js":
/*!****************************!*\
  !*** ./src/crypto/core.js ***!
  \****************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/*\nCryptoJS v3.1.2\ncode.google.com/p/crypto-js\n(c) 2009-2013 by Jeff Mott. All rights reserved.\ncode.google.com/p/crypto-js/wiki/License\n*/\n\n/**\n * CryptoJS core components.\n */\n\n/**\n * CryptoJS namespace.\n */\nvar C = {};\n/**\n * Library namespace.\n */\n\nvar C_lib = C.lib = {};\n/**\n * Base object for prototypal inheritance.\n */\n\nvar Base = C_lib.Base = function () {\n  function F() {}\n\n  return {\n    /**\n     * Creates a new object that inherits from this object.\n     *\n     * @param {Object} overrides Properties to copy into the new object.\n     *\n     * @return {Object} The new object.\n     *\n     * @static\n     *\n     * @example\n     *\n     *     var MyType = CryptoJS.lib.Base.extend({\n     *         field: 'value',\n     *\n     *         method: function () {\n     *         }\n     *     });\n     */\n    extend: function extend(overrides) {\n      // Spawn\n      F.prototype = this;\n      var subtype = new F(); // Augment\n\n      if (overrides) {\n        subtype.mixIn(overrides);\n      } // Create default initializer\n\n\n      if (!subtype.hasOwnProperty('init')) {\n        subtype.init = function () {\n          subtype.$super.init.apply(this, arguments);\n        };\n      } // Initializer's prototype is the subtype object\n\n\n      subtype.init.prototype = subtype; // Reference supertype\n\n      subtype.$super = this;\n      return subtype;\n    },\n\n    /**\n     * Extends this object and runs the init method.\n     * Arguments to create() will be passed to init().\n     *\n     * @return {Object} The new object.\n     *\n     * @static\n     *\n     * @example\n     *\n     *     var instance = MyType.create();\n     */\n    create: function create() {\n      var instance = this.extend();\n      instance.init.apply(instance, arguments);\n      return instance;\n    },\n\n    /**\n     * Initializes a newly created object.\n     * Override this method to add some logic when your objects are created.\n     *\n     * @example\n     *\n     *     var MyType = CryptoJS.lib.Base.extend({\n     *         init: function () {\n     *             // ...\n     *         }\n     *     });\n     */\n    init: function init() {},\n\n    /**\n     * Copies properties into this object.\n     *\n     * @param {Object} properties The properties to mix in.\n     *\n     * @example\n     *\n     *     MyType.mixIn({\n     *         field: 'value'\n     *     });\n     */\n    mixIn: function mixIn(properties) {\n      for (var propertyName in properties) {\n        if (properties.hasOwnProperty(propertyName)) {\n          this[propertyName] = properties[propertyName];\n        }\n      } // IE won't copy toString using the loop above\n\n\n      if (properties.hasOwnProperty('toString')) {\n        this.toString = properties.toString;\n      }\n    },\n\n    /**\n     * Creates a copy of this object.\n     *\n     * @return {Object} The clone.\n     *\n     * @example\n     *\n     *     var clone = instance.clone();\n     */\n    clone: function clone() {\n      return this.init.prototype.extend(this);\n    }\n  };\n}();\n/**\n * An array of 32-bit words.\n *\n * @property {Array} words The array of 32-bit words.\n * @property {number} sigBytes The number of significant bytes in this word array.\n */\n\n\nvar WordArray = C_lib.WordArray = Base.extend({\n  /**\n   * Initializes a newly created word array.\n   *\n   * @param {Array} words (Optional) An array of 32-bit words.\n   * @param {number} sigBytes (Optional) The number of significant bytes in the words.\n   *\n   * @example\n   *\n   *     var wordArray = CryptoJS.lib.WordArray.create();\n   *     var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607]);\n   *     var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607], 6);\n   */\n  init: function init(words, sigBytes) {\n    words = this.words = words || [];\n\n    if (sigBytes != undefined) {\n      this.sigBytes = sigBytes;\n    } else {\n      this.sigBytes = words.length * 4;\n    }\n  },\n\n  /**\n   * Converts this word array to a string.\n   *\n   * @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJS.enc.Hex\n   *\n   * @return {string} The stringified word array.\n   *\n   * @example\n   *\n   *     var string = wordArray + '';\n   *     var string = wordArray.toString();\n   *     var string = wordArray.toString(CryptoJS.enc.Utf8);\n   */\n  toString: function toString(encoder) {\n    return (encoder || Hex).stringify(this);\n  },\n\n  /**\n   * Concatenates a word array to this word array.\n   *\n   * @param {WordArray} wordArray The word array to append.\n   *\n   * @return {WordArray} This word array.\n   *\n   * @example\n   *\n   *     wordArray1.concat(wordArray2);\n   */\n  concat: function concat(wordArray) {\n    // Shortcuts\n    var thisWords = this.words;\n    var thatWords = wordArray.words;\n    var thisSigBytes = this.sigBytes;\n    var thatSigBytes = wordArray.sigBytes; // Clamp excess bits\n\n    this.clamp(); // Concat\n\n    if (thisSigBytes % 4) {\n      // Copy one byte at a time\n      for (var i = 0; i < thatSigBytes; i++) {\n        var thatByte = thatWords[i >>> 2] >>> 24 - i % 4 * 8 & 0xff;\n        thisWords[thisSigBytes + i >>> 2] |= thatByte << 24 - (thisSigBytes + i) % 4 * 8;\n      }\n    } else if (thatWords.length > 0xffff) {\n      // Copy one word at a time\n      for (var i = 0; i < thatSigBytes; i += 4) {\n        thisWords[thisSigBytes + i >>> 2] = thatWords[i >>> 2];\n      }\n    } else {\n      // Copy all words at once\n      thisWords.push.apply(thisWords, thatWords);\n    }\n\n    this.sigBytes += thatSigBytes; // Chainable\n\n    return this;\n  },\n\n  /**\n   * Removes insignificant bits.\n   *\n   * @example\n   *\n   *     wordArray.clamp();\n   */\n  clamp: function clamp() {\n    // Shortcuts\n    var words = this.words;\n    var sigBytes = this.sigBytes; // Clamp\n\n    words[sigBytes >>> 2] &= 0xffffffff << 32 - sigBytes % 4 * 8;\n    words.length = Math.ceil(sigBytes / 4);\n  },\n\n  /**\n   * Creates a copy of this word array.\n   *\n   * @return {WordArray} The clone.\n   *\n   * @example\n   *\n   *     var clone = wordArray.clone();\n   */\n  clone: function clone() {\n    var clone = Base.clone.call(this);\n    clone.words = this.words.slice(0);\n    return clone;\n  },\n\n  /**\n   * Creates a word array filled with random bytes.\n   *\n   * @param {number} nBytes The number of random bytes to generate.\n   *\n   * @return {WordArray} The random word array.\n   *\n   * @static\n   *\n   * @example\n   *\n   *     var wordArray = CryptoJS.lib.WordArray.random(16);\n   */\n  random: function random(nBytes) {\n    var words = [];\n\n    for (var i = 0; i < nBytes; i += 4) {\n      words.push(Math.random() * 0x100000000 | 0);\n    }\n\n    return new WordArray.init(words, nBytes);\n  }\n});\n/**\n * Encoder namespace.\n */\n\nvar C_enc = C.enc = {};\n/**\n * Hex encoding strategy.\n */\n\nvar Hex = C_enc.Hex = {\n  /**\n   * Converts a word array to a hex string.\n   *\n   * @param {WordArray} wordArray The word array.\n   *\n   * @return {string} The hex string.\n   *\n   * @static\n   *\n   * @example\n   *\n   *     var hexString = CryptoJS.enc.Hex.stringify(wordArray);\n   */\n  stringify: function stringify(wordArray) {\n    // Shortcuts\n    var words = wordArray.words;\n    var sigBytes = wordArray.sigBytes; // Convert\n\n    var hexChars = [];\n\n    for (var i = 0; i < sigBytes; i++) {\n      var bite = words[i >>> 2] >>> 24 - i % 4 * 8 & 0xff;\n      hexChars.push((bite >>> 4).toString(16));\n      hexChars.push((bite & 0x0f).toString(16));\n    }\n\n    return hexChars.join('');\n  },\n\n  /**\n   * Converts a hex string to a word array.\n   *\n   * @param {string} hexStr The hex string.\n   *\n   * @return {WordArray} The word array.\n   *\n   * @static\n   *\n   * @example\n   *\n   *     var wordArray = CryptoJS.enc.Hex.parse(hexString);\n   */\n  parse: function parse(hexStr) {\n    // Shortcut\n    var hexStrLength = hexStr.length; // Convert\n\n    var words = [];\n\n    for (var i = 0; i < hexStrLength; i += 2) {\n      words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << 24 - i % 8 * 4;\n    }\n\n    return new WordArray.init(words, hexStrLength / 2);\n  }\n};\n/**\n * Latin1 encoding strategy.\n */\n\nvar Latin1 = C_enc.Latin1 = {\n  /**\n   * Converts a word array to a Latin1 string.\n   *\n   * @param {WordArray} wordArray The word array.\n   *\n   * @return {string} The Latin1 string.\n   *\n   * @static\n   *\n   * @example\n   *\n   *     var latin1String = CryptoJS.enc.Latin1.stringify(wordArray);\n   */\n  stringify: function stringify(wordArray) {\n    // Shortcuts\n    var words = wordArray.words;\n    var sigBytes = wordArray.sigBytes; // Convert\n\n    var latin1Chars = [];\n\n    for (var i = 0; i < sigBytes; i++) {\n      var bite = words[i >>> 2] >>> 24 - i % 4 * 8 & 0xff;\n      latin1Chars.push(String.fromCharCode(bite));\n    }\n\n    return latin1Chars.join('');\n  },\n\n  /**\n   * Converts a Latin1 string to a word array.\n   *\n   * @param {string} latin1Str The Latin1 string.\n   *\n   * @return {WordArray} The word array.\n   *\n   * @static\n   *\n   * @example\n   *\n   *     var wordArray = CryptoJS.enc.Latin1.parse(latin1String);\n   */\n  parse: function parse(latin1Str) {\n    // Shortcut\n    var latin1StrLength = latin1Str.length; // Convert\n\n    var words = [];\n\n    for (var i = 0; i < latin1StrLength; i++) {\n      words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << 24 - i % 4 * 8;\n    }\n\n    return new WordArray.init(words, latin1StrLength);\n  }\n};\n/**\n * UTF-8 encoding strategy.\n */\n\nvar Utf8 = C_enc.Utf8 = {\n  /**\n   * Converts a word array to a UTF-8 string.\n   *\n   * @param {WordArray} wordArray The word array.\n   *\n   * @return {string} The UTF-8 string.\n   *\n   * @static\n   *\n   * @example\n   *\n   *     var utf8String = CryptoJS.enc.Utf8.stringify(wordArray);\n   */\n  stringify: function stringify(wordArray) {\n    try {\n      return decodeURIComponent(escape(Latin1.stringify(wordArray)));\n    } catch (e) {\n      throw new Error('Malformed UTF-8 data');\n    }\n  },\n\n  /**\n   * Converts a UTF-8 string to a word array.\n   *\n   * @param {string} utf8Str The UTF-8 string.\n   *\n   * @return {WordArray} The word array.\n   *\n   * @static\n   *\n   * @example\n   *\n   *     var wordArray = CryptoJS.enc.Utf8.parse(utf8String);\n   */\n  parse: function parse(utf8Str) {\n    return Latin1.parse(unescape(encodeURIComponent(utf8Str)));\n  }\n};\n/**\n * Abstract buffered block algorithm template.\n *\n * The property blockSize must be implemented in a concrete subtype.\n *\n * @property {number} _minBufferSize The number of blocks that should be kept unprocessed in the buffer. Default: 0\n */\n\nvar BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base.extend({\n  /**\n   * Resets this block algorithm's data buffer to its initial state.\n   *\n   * @example\n   *\n   *     bufferedBlockAlgorithm.reset();\n   */\n  reset: function reset() {\n    // Initial values\n    this._data = new WordArray.init();\n    this._nDataBytes = 0;\n  },\n\n  /**\n   * Adds new data to this block algorithm's buffer.\n   *\n   * @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8.\n   *\n   * @example\n   *\n   *     bufferedBlockAlgorithm._append('data');\n   *     bufferedBlockAlgorithm._append(wordArray);\n   */\n  _append: function _append(data) {\n    // Convert string to WordArray, else assume WordArray already\n    if (typeof data == 'string') {\n      data = Utf8.parse(data);\n    } // Append\n\n\n    this._data.concat(data);\n\n    this._nDataBytes += data.sigBytes;\n  },\n\n  /**\n   * Processes available data blocks.\n   *\n   * This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype.\n   *\n   * @param {boolean} doFlush Whether all blocks and partial blocks should be processed.\n   *\n   * @return {WordArray} The processed data.\n   *\n   * @example\n   *\n   *     var processedData = bufferedBlockAlgorithm._process();\n   *     var processedData = bufferedBlockAlgorithm._process(!!'flush');\n   */\n  _process: function _process(doFlush) {\n    // Shortcuts\n    var data = this._data;\n    var dataWords = data.words;\n    var dataSigBytes = data.sigBytes;\n    var blockSize = this.blockSize;\n    var blockSizeBytes = blockSize * 4; // Count blocks ready\n\n    var nBlocksReady = dataSigBytes / blockSizeBytes;\n\n    if (doFlush) {\n      // Round up to include partial blocks\n      nBlocksReady = Math.ceil(nBlocksReady);\n    } else {\n      // Round down to include only full blocks,\n      // less the number of blocks that must remain in the buffer\n      nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);\n    } // Count words ready\n\n\n    var nWordsReady = nBlocksReady * blockSize; // Count bytes ready\n\n    var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes); // Process blocks\n\n    if (nWordsReady) {\n      for (var offset = 0; offset < nWordsReady; offset += blockSize) {\n        // Perform concrete-algorithm logic\n        this._doProcessBlock(dataWords, offset);\n      } // Remove processed words\n\n\n      var processedWords = dataWords.splice(0, nWordsReady);\n      data.sigBytes -= nBytesReady;\n    } // Return processed words\n\n\n    return new WordArray.init(processedWords, nBytesReady);\n  },\n\n  /**\n   * Creates a copy of this object.\n   *\n   * @return {Object} The clone.\n   *\n   * @example\n   *\n   *     var clone = bufferedBlockAlgorithm.clone();\n   */\n  clone: function clone() {\n    var clone = Base.clone.call(this);\n    clone._data = this._data.clone();\n    return clone;\n  },\n  _minBufferSize: 0\n});\n/**\n * Abstract hasher template.\n *\n * @property {number} blockSize The number of 32-bit words this hasher operates on. Default: 16 (512 bits)\n */\n\nvar Hasher = C_lib.Hasher = BufferedBlockAlgorithm.extend({\n  /**\n   * Configuration options.\n   */\n  cfg: Base.extend(),\n\n  /**\n   * Initializes a newly created hasher.\n   *\n   * @param {Object} cfg (Optional) The configuration options to use for this hash computation.\n   *\n   * @example\n   *\n   *     var hasher = CryptoJS.algo.SHA256.create();\n   */\n  init: function init(cfg) {\n    // Apply config defaults\n    this.cfg = this.cfg.extend(cfg); // Set initial values\n\n    this.reset();\n  },\n\n  /**\n   * Resets this hasher to its initial state.\n   *\n   * @example\n   *\n   *     hasher.reset();\n   */\n  reset: function reset() {\n    // Reset data buffer\n    BufferedBlockAlgorithm.reset.call(this); // Perform concrete-hasher logic\n\n    this._doReset();\n  },\n\n  /**\n   * Updates this hasher with a message.\n   *\n   * @param {WordArray|string} messageUpdate The message to append.\n   *\n   * @return {Hasher} This hasher.\n   *\n   * @example\n   *\n   *     hasher.update('message');\n   *     hasher.update(wordArray);\n   */\n  update: function update(messageUpdate) {\n    // Append\n    this._append(messageUpdate); // Update the hash\n\n\n    this._process(); // Chainable\n\n\n    return this;\n  },\n\n  /**\n   * Finalizes the hash computation.\n   * Note that the finalize operation is effectively a destructive, read-once operation.\n   *\n   * @param {WordArray|string} messageUpdate (Optional) A final message update.\n   *\n   * @return {WordArray} The hash.\n   *\n   * @example\n   *\n   *     var hash = hasher.finalize();\n   *     var hash = hasher.finalize('message');\n   *     var hash = hasher.finalize(wordArray);\n   */\n  finalize: function finalize(messageUpdate) {\n    // Final message update\n    if (messageUpdate) {\n      this._append(messageUpdate);\n    } // Perform concrete-hasher logic\n\n\n    var hash = this._doFinalize();\n\n    return hash;\n  },\n  blockSize: 512 / 32,\n\n  /**\n   * Creates a shortcut function to a hasher's object interface.\n   *\n   * @param {Hasher} hasher The hasher to create a helper for.\n   *\n   * @return {Function} The shortcut function.\n   *\n   * @static\n   *\n   * @example\n   *\n   *     var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256);\n   */\n  _createHelper: function _createHelper(hasher) {\n    return function (message, cfg) {\n      return new hasher.init(cfg).finalize(message);\n    };\n  },\n\n  /**\n   * Creates a shortcut function to the HMAC's object interface.\n   *\n   * @param {Hasher} hasher The hasher to use in this HMAC helper.\n   *\n   * @return {Function} The shortcut function.\n   *\n   * @static\n   *\n   * @example\n   *\n   *     var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256);\n   */\n  _createHmacHelper: function _createHmacHelper(hasher) {\n    return function (message, key) {\n      return new C_algo.HMAC.init(hasher, key).finalize(message);\n    };\n  }\n});\n/**\n * Algorithm namespace.\n */\n\nvar C_algo = C.algo = {};\n/* harmony default export */ __webpack_exports__[\"default\"] = (C);\n\n//# sourceURL=webpack://this.SDP.UC/./src/crypto/core.js?");

/***/ }),

/***/ "./src/crypto/enc-base64.js":
/*!**********************************!*\
  !*** ./src/crypto/enc-base64.js ***!
  \**********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/*\nCryptoJS v3.1.2\ncode.google.com/p/crypto-js\n(c) 2009-2013 by Jeff Mott. All rights reserved.\ncode.google.com/p/crypto-js/wiki/License\n*/\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (CryptoJS) {\n  // Shortcuts\n  var C = CryptoJS;\n  var C_lib = C.lib;\n  var WordArray = C_lib.WordArray;\n  var C_enc = C.enc;\n  /**\n   * Base64 encoding strategy.\n   */\n\n  var Base64 = C_enc.Base64 = {\n    /**\n     * Converts a word array to a Base64 string.\n     *\n     * @param {WordArray} wordArray The word array.\n     *\n     * @return {string} The Base64 string.\n     *\n     * @static\n     *\n     * @example\n     *\n     *     var base64String = CryptoJS.enc.Base64.stringify(wordArray);\n     */\n    stringify: function stringify(wordArray) {\n      // Shortcuts\n      var words = wordArray.words;\n      var sigBytes = wordArray.sigBytes;\n      var map = this._map; // Clamp excess bits\n\n      wordArray.clamp(); // Convert\n\n      var base64Chars = [];\n\n      for (var i = 0; i < sigBytes; i += 3) {\n        var byte1 = words[i >>> 2] >>> 24 - i % 4 * 8 & 0xff;\n        var byte2 = words[i + 1 >>> 2] >>> 24 - (i + 1) % 4 * 8 & 0xff;\n        var byte3 = words[i + 2 >>> 2] >>> 24 - (i + 2) % 4 * 8 & 0xff;\n        var triplet = byte1 << 16 | byte2 << 8 | byte3;\n\n        for (var j = 0; j < 4 && i + j * 0.75 < sigBytes; j++) {\n          base64Chars.push(map.charAt(triplet >>> 6 * (3 - j) & 0x3f));\n        }\n      } // Add padding\n\n\n      var paddingChar = map.charAt(64);\n\n      if (paddingChar) {\n        while (base64Chars.length % 4) {\n          base64Chars.push(paddingChar);\n        }\n      }\n\n      return base64Chars.join('');\n    },\n\n    /**\n     * Converts a Base64 string to a word array.\n     *\n     * @param {string} base64Str The Base64 string.\n     *\n     * @return {WordArray} The word array.\n     *\n     * @static\n     *\n     * @example\n     *\n     *     var wordArray = CryptoJS.enc.Base64.parse(base64String);\n     */\n    parse: function parse(base64Str) {\n      // Shortcuts\n      var base64StrLength = base64Str.length;\n      var map = this._map; // Ignore padding\n\n      var paddingChar = map.charAt(64);\n\n      if (paddingChar) {\n        var paddingIndex = base64Str.indexOf(paddingChar);\n\n        if (paddingIndex != -1) {\n          base64StrLength = paddingIndex;\n        }\n      } // Convert\n\n\n      var words = [];\n      var nBytes = 0;\n\n      for (var i = 0; i < base64StrLength; i++) {\n        if (i % 4) {\n          var bits1 = map.indexOf(base64Str.charAt(i - 1)) << i % 4 * 2;\n          var bits2 = map.indexOf(base64Str.charAt(i)) >>> 6 - i % 4 * 2;\n          words[nBytes >>> 2] |= (bits1 | bits2) << 24 - nBytes % 4 * 8;\n          nBytes++;\n        }\n      }\n\n      return WordArray.create(words, nBytes);\n    },\n    _map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='\n  };\n});\n\n//# sourceURL=webpack://this.SDP.UC/./src/crypto/enc-base64.js?");

/***/ }),

/***/ "./src/crypto/hmac.js":
/*!****************************!*\
  !*** ./src/crypto/hmac.js ***!
  \****************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/*\nCryptoJS v3.1.2\ncode.google.com/p/crypto-js\n(c) 2009-2013 by Jeff Mott. All rights reserved.\ncode.google.com/p/crypto-js/wiki/License\n*/\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (CryptoJS) {\n  // Shortcuts\n  var C = CryptoJS;\n  var C_lib = C.lib;\n  var Base = C_lib.Base;\n  var C_enc = C.enc;\n  var Utf8 = C_enc.Utf8;\n  var C_algo = C.algo;\n  /**\n   * HMAC algorithm.\n   */\n\n  var HMAC = C_algo.HMAC = Base.extend({\n    /**\n     * Initializes a newly created HMAC.\n     *\n     * @param {Hasher} hasher The hash algorithm to use.\n     * @param {WordArray|string} key The secret key.\n     *\n     * @example\n     *\n     *     var hmacHasher = CryptoJS.algo.HMAC.create(CryptoJS.algo.SHA256, key);\n     */\n    init: function init(hasher, key) {\n      // Init hasher\n      hasher = this._hasher = new hasher.init(); // Convert string to WordArray, else assume WordArray already\n\n      if (typeof key == 'string') {\n        key = Utf8.parse(key);\n      } // Shortcuts\n\n\n      var hasherBlockSize = hasher.blockSize;\n      var hasherBlockSizeBytes = hasherBlockSize * 4; // Allow arbitrary length keys\n\n      if (key.sigBytes > hasherBlockSizeBytes) {\n        key = hasher.finalize(key);\n      } // Clamp excess bits\n\n\n      key.clamp(); // Clone key for inner and outer pads\n\n      var oKey = this._oKey = key.clone();\n      var iKey = this._iKey = key.clone(); // Shortcuts\n\n      var oKeyWords = oKey.words;\n      var iKeyWords = iKey.words; // XOR keys with pad constants\n\n      for (var i = 0; i < hasherBlockSize; i++) {\n        oKeyWords[i] ^= 0x5c5c5c5c;\n        iKeyWords[i] ^= 0x36363636;\n      }\n\n      oKey.sigBytes = iKey.sigBytes = hasherBlockSizeBytes; // Set initial values\n\n      this.reset();\n    },\n\n    /**\n     * Resets this HMAC to its initial state.\n     *\n     * @example\n     *\n     *     hmacHasher.reset();\n     */\n    reset: function reset() {\n      // Shortcut\n      var hasher = this._hasher; // Reset\n\n      hasher.reset();\n      hasher.update(this._iKey);\n    },\n\n    /**\n     * Updates this HMAC with a message.\n     *\n     * @param {WordArray|string} messageUpdate The message to append.\n     *\n     * @return {HMAC} This HMAC instance.\n     *\n     * @example\n     *\n     *     hmacHasher.update('message');\n     *     hmacHasher.update(wordArray);\n     */\n    update: function update(messageUpdate) {\n      this._hasher.update(messageUpdate); // Chainable\n\n\n      return this;\n    },\n\n    /**\n     * Finalizes the HMAC computation.\n     * Note that the finalize operation is effectively a destructive, read-once operation.\n     *\n     * @param {WordArray|string} messageUpdate (Optional) A final message update.\n     *\n     * @return {WordArray} The HMAC.\n     *\n     * @example\n     *\n     *     var hmac = hmacHasher.finalize();\n     *     var hmac = hmacHasher.finalize('message');\n     *     var hmac = hmacHasher.finalize(wordArray);\n     */\n    finalize: function finalize(messageUpdate) {\n      // Shortcut\n      var hasher = this._hasher; // Compute HMAC\n\n      var innerHash = hasher.finalize(messageUpdate);\n      hasher.reset();\n      var hmac = hasher.finalize(this._oKey.clone().concat(innerHash));\n      return hmac;\n    }\n  });\n});\n\n//# sourceURL=webpack://this.SDP.UC/./src/crypto/hmac.js?");

/***/ }),

/***/ "./src/crypto/index.js":
/*!*****************************!*\
  !*** ./src/crypto/index.js ***!
  \*****************************/
/*! exports provided: default, encryptByDes, decryptByDES, decryptToken */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"encryptByDes\", function() { return encryptByDes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"decryptByDES\", function() { return decryptByDES; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"decryptToken\", function() { return decryptToken; });\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./core */ \"./src/crypto/core.js\");\n/* harmony import */ var _enc_base64__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./enc-base64 */ \"./src/crypto/enc-base64.js\");\n/* harmony import */ var _sha256__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./sha256 */ \"./src/crypto/sha256.js\");\n/* harmony import */ var _cipher_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./cipher-core */ \"./src/crypto/cipher-core.js\");\n/* harmony import */ var _tripledes__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./tripledes */ \"./src/crypto/tripledes.js\");\n/* harmony import */ var _hmac__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./hmac */ \"./src/crypto/hmac.js\");\n/* harmony import */ var _mode_ecb__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./mode-ecb */ \"./src/crypto/mode-ecb.js\");\n/* harmony import */ var _utils_logger__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/logger */ \"./src/utils/logger.js\");\n\n\n\n\n\n\n\n\nObject(_enc_base64__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_core__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\nObject(_cipher_core__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_core__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\nObject(_tripledes__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(_core__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\nObject(_mode_ecb__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(_core__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\nObject(_sha256__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_core__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\nObject(_hmac__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(_core__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (_core__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\nfunction encryptByDes(content, key) {\n  content = content + '';\n  return _core__WEBPACK_IMPORTED_MODULE_0__[\"default\"].DES.encrypt(content, _core__WEBPACK_IMPORTED_MODULE_0__[\"default\"].enc.Utf8.parse(key), {\n    mode: _core__WEBPACK_IMPORTED_MODULE_0__[\"default\"].mode.ECB,\n    padding: _core__WEBPACK_IMPORTED_MODULE_0__[\"default\"].pad.Pkcs7\n  }).toString();\n}\nfunction decryptByDES(content, key) {\n  content = content + '';\n\n  if (!content) {\n    return content;\n  }\n\n  var text = _core__WEBPACK_IMPORTED_MODULE_0__[\"default\"].DES.decrypt({\n    ciphertext: _core__WEBPACK_IMPORTED_MODULE_0__[\"default\"].enc.Base64.parse(content)\n  }, _core__WEBPACK_IMPORTED_MODULE_0__[\"default\"].enc.Utf8.parse(key), {\n    mode: _core__WEBPACK_IMPORTED_MODULE_0__[\"default\"].mode.ECB,\n    padding: _core__WEBPACK_IMPORTED_MODULE_0__[\"default\"].pad.Pkcs7\n  });\n  return text.toString(_core__WEBPACK_IMPORTED_MODULE_0__[\"default\"].enc.Utf8) === '' ? null : text.toString(_core__WEBPACK_IMPORTED_MODULE_0__[\"default\"].enc.Utf8);\n}\nfunction decryptToken() {\n  var token = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n  var key = arguments.length > 1 ? arguments[1] : undefined;\n\n  try {\n    var account_id = token.account_id,\n        user_id = token.user_id,\n        mac_key = token.mac_key;\n\n    if (account_id && isNaN(account_id)) {\n      token.account_id = decryptByDES(account_id, key);\n    }\n\n    if (user_id && isNaN(user_id)) {\n      token.user_id = decryptByDES(user_id, key);\n    }\n\n    if (mac_key) {\n      token.mac_key = decryptByDES(mac_key, key);\n    }\n  } catch (e) {\n    _utils_logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].warn('decrypt token fail: ', e);\n  }\n\n  return token;\n}\n\n//# sourceURL=webpack://this.SDP.UC/./src/crypto/index.js?");

/***/ }),

/***/ "./src/crypto/mode-ecb.js":
/*!********************************!*\
  !*** ./src/crypto/mode-ecb.js ***!
  \********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/*\nCryptoJS v3.1.2\ncode.google.com/p/crypto-js\n(c) 2009-2013 by Jeff Mott. All rights reserved.\ncode.google.com/p/crypto-js/wiki/License\n*/\n\n/**\n * Electronic Codebook block mode.\n */\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (CryptoJS) {\n  CryptoJS.mode.ECB = function () {\n    var ECB = CryptoJS.lib.BlockCipherMode.extend();\n    ECB.Encryptor = ECB.extend({\n      processBlock: function processBlock(words, offset) {\n        this._cipher.encryptBlock(words, offset);\n      }\n    });\n    ECB.Decryptor = ECB.extend({\n      processBlock: function processBlock(words, offset) {\n        this._cipher.decryptBlock(words, offset);\n      }\n    });\n    return ECB;\n  }();\n});\n\n//# sourceURL=webpack://this.SDP.UC/./src/crypto/mode-ecb.js?");

/***/ }),

/***/ "./src/crypto/sha256.js":
/*!******************************!*\
  !*** ./src/crypto/sha256.js ***!
  \******************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/*\nCryptoJS v3.1.2\ncode.google.com/p/crypto-js\n(c) 2009-2013 by Jeff Mott. All rights reserved.\ncode.google.com/p/crypto-js/wiki/License\n*/\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (CryptoJS) {\n  // Shortcuts\n  var C = CryptoJS;\n  var C_lib = C.lib;\n  var WordArray = C_lib.WordArray;\n  var Hasher = C_lib.Hasher;\n  var C_algo = C.algo; // Initialization and round constants tables\n\n  var H = [];\n  var K = []; // Compute constants\n\n  (function () {\n    function isPrime(n) {\n      var sqrtN = Math.sqrt(n);\n\n      for (var factor = 2; factor <= sqrtN; factor++) {\n        if (!(n % factor)) {\n          return false;\n        }\n      }\n\n      return true;\n    }\n\n    function getFractionalBits(n) {\n      return (n - (n | 0)) * 0x100000000 | 0;\n    }\n\n    var n = 2;\n    var nPrime = 0;\n\n    while (nPrime < 64) {\n      if (isPrime(n)) {\n        if (nPrime < 8) {\n          H[nPrime] = getFractionalBits(Math.pow(n, 1 / 2));\n        }\n\n        K[nPrime] = getFractionalBits(Math.pow(n, 1 / 3));\n        nPrime++;\n      }\n\n      n++;\n    }\n  })(); // Reusable object\n\n\n  var W = [];\n  /**\n   * SHA-256 hash algorithm.\n   */\n\n  var SHA256 = C_algo.SHA256 = Hasher.extend({\n    _doReset: function _doReset() {\n      this._hash = new WordArray.init(H.slice(0));\n    },\n    _doProcessBlock: function _doProcessBlock(M, offset) {\n      // Shortcut\n      var H = this._hash.words; // Working variables\n\n      var a = H[0];\n      var b = H[1];\n      var c = H[2];\n      var d = H[3];\n      var e = H[4];\n      var f = H[5];\n      var g = H[6];\n      var h = H[7]; // Computation\n\n      for (var i = 0; i < 64; i++) {\n        if (i < 16) {\n          W[i] = M[offset + i] | 0;\n        } else {\n          var gamma0x = W[i - 15];\n          var gamma0 = (gamma0x << 25 | gamma0x >>> 7) ^ (gamma0x << 14 | gamma0x >>> 18) ^ gamma0x >>> 3;\n          var gamma1x = W[i - 2];\n          var gamma1 = (gamma1x << 15 | gamma1x >>> 17) ^ (gamma1x << 13 | gamma1x >>> 19) ^ gamma1x >>> 10;\n          W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16];\n        }\n\n        var ch = e & f ^ ~e & g;\n        var maj = a & b ^ a & c ^ b & c;\n        var sigma0 = (a << 30 | a >>> 2) ^ (a << 19 | a >>> 13) ^ (a << 10 | a >>> 22);\n        var sigma1 = (e << 26 | e >>> 6) ^ (e << 21 | e >>> 11) ^ (e << 7 | e >>> 25);\n        var t1 = h + sigma1 + ch + K[i] + W[i];\n        var t2 = sigma0 + maj;\n        h = g;\n        g = f;\n        f = e;\n        e = d + t1 | 0;\n        d = c;\n        c = b;\n        b = a;\n        a = t1 + t2 | 0;\n      } // Intermediate hash value\n\n\n      H[0] = H[0] + a | 0;\n      H[1] = H[1] + b | 0;\n      H[2] = H[2] + c | 0;\n      H[3] = H[3] + d | 0;\n      H[4] = H[4] + e | 0;\n      H[5] = H[5] + f | 0;\n      H[6] = H[6] + g | 0;\n      H[7] = H[7] + h | 0;\n    },\n    _doFinalize: function _doFinalize() {\n      // Shortcuts\n      var data = this._data;\n      var dataWords = data.words;\n      var nBitsTotal = this._nDataBytes * 8;\n      var nBitsLeft = data.sigBytes * 8; // Add padding\n\n      dataWords[nBitsLeft >>> 5] |= 0x80 << 24 - nBitsLeft % 32;\n      dataWords[(nBitsLeft + 64 >>> 9 << 4) + 14] = Math.floor(nBitsTotal / 0x100000000);\n      dataWords[(nBitsLeft + 64 >>> 9 << 4) + 15] = nBitsTotal;\n      data.sigBytes = dataWords.length * 4; // Hash final blocks\n\n      this._process(); // Return final computed hash\n\n\n      return this._hash;\n    },\n    clone: function clone() {\n      var clone = Hasher.clone.call(this);\n      clone._hash = this._hash.clone();\n      return clone;\n    }\n  });\n  /**\n   * Shortcut function to the hasher's object interface.\n   *\n   * @param {WordArray|string} message The message to hash.\n   *\n   * @return {WordArray} The hash.\n   *\n   * @static\n   *\n   * @example\n   *\n   *     var hash = CryptoJS.SHA256('message');\n   *     var hash = CryptoJS.SHA256(wordArray);\n   */\n\n  C.SHA256 = Hasher._createHelper(SHA256);\n  /**\n   * Shortcut function to the HMAC's object interface.\n   *\n   * @param {WordArray|string} message The message to hash.\n   * @param {WordArray|string} key The secret key.\n   *\n   * @return {WordArray} The HMAC.\n   *\n   * @static\n   *\n   * @example\n   *\n   *     var hmac = CryptoJS.HmacSHA256(message, key);\n   */\n\n  C.HmacSHA256 = Hasher._createHmacHelper(SHA256);\n});\n\n//# sourceURL=webpack://this.SDP.UC/./src/crypto/sha256.js?");

/***/ }),

/***/ "./src/crypto/tripledes.js":
/*!*********************************!*\
  !*** ./src/crypto/tripledes.js ***!
  \*********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (CryptoJS) {\n  function d(a, b) {\n    b &= this._lBlock >>> a ^ this._rBlock;\n    this._rBlock ^= b;\n    this._lBlock ^= b << a;\n  }\n\n  function a(a, b) {\n    b &= this._rBlock >>> a ^ this._lBlock;\n    this._lBlock ^= b;\n    this._rBlock ^= b << a;\n  }\n\n  var b = CryptoJS,\n      c = b.lib,\n      f = c.WordArray,\n      c = c.BlockCipher,\n      e = b.algo,\n      h = [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4],\n      k = [14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32],\n      l = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28],\n      g = [{\n    0: 8421888,\n    268435456: 32768,\n    536870912: 8421378,\n    805306368: 2,\n    1073741824: 512,\n    1342177280: 8421890,\n    1610612736: 8389122,\n    1879048192: 8388608,\n    2147483648: 514,\n    2415919104: 8389120,\n    2684354560: 33280,\n    2952790016: 8421376,\n    3221225472: 32770,\n    3489660928: 8388610,\n    3758096384: 0,\n    4026531840: 33282,\n    134217728: 0,\n    402653184: 8421890,\n    671088640: 33282,\n    939524096: 32768,\n    1207959552: 8421888,\n    1476395008: 512,\n    1744830464: 8421378,\n    2013265920: 2,\n    2281701376: 8389120,\n    2550136832: 33280,\n    2818572288: 8421376,\n    3087007744: 8389122,\n    3355443200: 8388610,\n    3623878656: 32770,\n    3892314112: 514,\n    4160749568: 8388608,\n    1: 32768,\n    268435457: 2,\n    536870913: 8421888,\n    805306369: 8388608,\n    1073741825: 8421378,\n    1342177281: 33280,\n    1610612737: 512,\n    1879048193: 8389122,\n    2147483649: 8421890,\n    2415919105: 8421376,\n    2684354561: 8388610,\n    2952790017: 33282,\n    3221225473: 514,\n    3489660929: 8389120,\n    3758096385: 32770,\n    4026531841: 0,\n    134217729: 8421890,\n    402653185: 8421376,\n    671088641: 8388608,\n    939524097: 512,\n    1207959553: 32768,\n    1476395009: 8388610,\n    1744830465: 2,\n    2013265921: 33282,\n    2281701377: 32770,\n    2550136833: 8389122,\n    2818572289: 514,\n    3087007745: 8421888,\n    3355443201: 8389120,\n    3623878657: 0,\n    3892314113: 33280,\n    4160749569: 8421378\n  }, {\n    0: 1074282512,\n    16777216: 16384,\n    33554432: 524288,\n    50331648: 1074266128,\n    67108864: 1073741840,\n    83886080: 1074282496,\n    100663296: 1073758208,\n    117440512: 16,\n    134217728: 540672,\n    150994944: 1073758224,\n    167772160: 1073741824,\n    184549376: 540688,\n    201326592: 524304,\n    218103808: 0,\n    234881024: 16400,\n    251658240: 1074266112,\n    8388608: 1073758208,\n    25165824: 540688,\n    41943040: 16,\n    58720256: 1073758224,\n    75497472: 1074282512,\n    92274688: 1073741824,\n    109051904: 524288,\n    125829120: 1074266128,\n    142606336: 524304,\n    159383552: 0,\n    176160768: 16384,\n    192937984: 1074266112,\n    209715200: 1073741840,\n    226492416: 540672,\n    243269632: 1074282496,\n    260046848: 16400,\n    268435456: 0,\n    285212672: 1074266128,\n    301989888: 1073758224,\n    318767104: 1074282496,\n    335544320: 1074266112,\n    352321536: 16,\n    369098752: 540688,\n    385875968: 16384,\n    402653184: 16400,\n    419430400: 524288,\n    436207616: 524304,\n    452984832: 1073741840,\n    469762048: 540672,\n    486539264: 1073758208,\n    503316480: 1073741824,\n    520093696: 1074282512,\n    276824064: 540688,\n    293601280: 524288,\n    310378496: 1074266112,\n    327155712: 16384,\n    343932928: 1073758208,\n    360710144: 1074282512,\n    377487360: 16,\n    394264576: 1073741824,\n    411041792: 1074282496,\n    427819008: 1073741840,\n    444596224: 1073758224,\n    461373440: 524304,\n    478150656: 0,\n    494927872: 16400,\n    511705088: 1074266128,\n    528482304: 540672\n  }, {\n    0: 260,\n    1048576: 0,\n    2097152: 67109120,\n    3145728: 65796,\n    4194304: 65540,\n    5242880: 67108868,\n    6291456: 67174660,\n    7340032: 67174400,\n    8388608: 67108864,\n    9437184: 67174656,\n    10485760: 65792,\n    11534336: 67174404,\n    12582912: 67109124,\n    13631488: 65536,\n    14680064: 4,\n    15728640: 256,\n    524288: 67174656,\n    1572864: 67174404,\n    2621440: 0,\n    3670016: 67109120,\n    4718592: 67108868,\n    5767168: 65536,\n    6815744: 65540,\n    7864320: 260,\n    8912896: 4,\n    9961472: 256,\n    11010048: 67174400,\n    12058624: 65796,\n    13107200: 65792,\n    14155776: 67109124,\n    15204352: 67174660,\n    16252928: 67108864,\n    16777216: 67174656,\n    17825792: 65540,\n    18874368: 65536,\n    19922944: 67109120,\n    20971520: 256,\n    22020096: 67174660,\n    23068672: 67108868,\n    24117248: 0,\n    25165824: 67109124,\n    26214400: 67108864,\n    27262976: 4,\n    28311552: 65792,\n    29360128: 67174400,\n    30408704: 260,\n    31457280: 65796,\n    32505856: 67174404,\n    17301504: 67108864,\n    18350080: 260,\n    19398656: 67174656,\n    20447232: 0,\n    21495808: 65540,\n    22544384: 67109120,\n    23592960: 256,\n    24641536: 67174404,\n    25690112: 65536,\n    26738688: 67174660,\n    27787264: 65796,\n    28835840: 67108868,\n    29884416: 67109124,\n    30932992: 67174400,\n    31981568: 4,\n    33030144: 65792\n  }, {\n    0: 2151682048,\n    65536: 2147487808,\n    131072: 4198464,\n    196608: 2151677952,\n    262144: 0,\n    327680: 4198400,\n    393216: 2147483712,\n    458752: 4194368,\n    524288: 2147483648,\n    589824: 4194304,\n    655360: 64,\n    720896: 2147487744,\n    786432: 2151678016,\n    851968: 4160,\n    917504: 4096,\n    983040: 2151682112,\n    32768: 2147487808,\n    98304: 64,\n    163840: 2151678016,\n    229376: 2147487744,\n    294912: 4198400,\n    360448: 2151682112,\n    425984: 0,\n    491520: 2151677952,\n    557056: 4096,\n    622592: 2151682048,\n    688128: 4194304,\n    753664: 4160,\n    819200: 2147483648,\n    884736: 4194368,\n    950272: 4198464,\n    1015808: 2147483712,\n    1048576: 4194368,\n    1114112: 4198400,\n    1179648: 2147483712,\n    1245184: 0,\n    1310720: 4160,\n    1376256: 2151678016,\n    1441792: 2151682048,\n    1507328: 2147487808,\n    1572864: 2151682112,\n    1638400: 2147483648,\n    1703936: 2151677952,\n    1769472: 4198464,\n    1835008: 2147487744,\n    1900544: 4194304,\n    1966080: 64,\n    2031616: 4096,\n    1081344: 2151677952,\n    1146880: 2151682112,\n    1212416: 0,\n    1277952: 4198400,\n    1343488: 4194368,\n    1409024: 2147483648,\n    1474560: 2147487808,\n    1540096: 64,\n    1605632: 2147483712,\n    1671168: 4096,\n    1736704: 2147487744,\n    1802240: 2151678016,\n    1867776: 4160,\n    1933312: 2151682048,\n    1998848: 4194304,\n    2064384: 4198464\n  }, {\n    0: 128,\n    4096: 17039360,\n    8192: 262144,\n    12288: 536870912,\n    16384: 537133184,\n    20480: 16777344,\n    24576: 553648256,\n    28672: 262272,\n    32768: 16777216,\n    36864: 537133056,\n    40960: 536871040,\n    45056: 553910400,\n    49152: 553910272,\n    53248: 0,\n    57344: 17039488,\n    61440: 553648128,\n    2048: 17039488,\n    6144: 553648256,\n    10240: 128,\n    14336: 17039360,\n    18432: 262144,\n    22528: 537133184,\n    26624: 553910272,\n    30720: 536870912,\n    34816: 537133056,\n    38912: 0,\n    43008: 553910400,\n    47104: 16777344,\n    51200: 536871040,\n    55296: 553648128,\n    59392: 16777216,\n    63488: 262272,\n    65536: 262144,\n    69632: 128,\n    73728: 536870912,\n    77824: 553648256,\n    81920: 16777344,\n    86016: 553910272,\n    90112: 537133184,\n    94208: 16777216,\n    98304: 553910400,\n    102400: 553648128,\n    106496: 17039360,\n    110592: 537133056,\n    114688: 262272,\n    118784: 536871040,\n    122880: 0,\n    126976: 17039488,\n    67584: 553648256,\n    71680: 16777216,\n    75776: 17039360,\n    79872: 537133184,\n    83968: 536870912,\n    88064: 17039488,\n    92160: 128,\n    96256: 553910272,\n    100352: 262272,\n    104448: 553910400,\n    108544: 0,\n    112640: 553648128,\n    116736: 16777344,\n    120832: 262144,\n    124928: 537133056,\n    129024: 536871040\n  }, {\n    0: 268435464,\n    256: 8192,\n    512: 270532608,\n    768: 270540808,\n    1024: 268443648,\n    1280: 2097152,\n    1536: 2097160,\n    1792: 268435456,\n    2048: 0,\n    2304: 268443656,\n    2560: 2105344,\n    2816: 8,\n    3072: 270532616,\n    3328: 2105352,\n    3584: 8200,\n    3840: 270540800,\n    128: 270532608,\n    384: 270540808,\n    640: 8,\n    896: 2097152,\n    1152: 2105352,\n    1408: 268435464,\n    1664: 268443648,\n    1920: 8200,\n    2176: 2097160,\n    2432: 8192,\n    2688: 268443656,\n    2944: 270532616,\n    3200: 0,\n    3456: 270540800,\n    3712: 2105344,\n    3968: 268435456,\n    4096: 268443648,\n    4352: 270532616,\n    4608: 270540808,\n    4864: 8200,\n    5120: 2097152,\n    5376: 268435456,\n    5632: 268435464,\n    5888: 2105344,\n    6144: 2105352,\n    6400: 0,\n    6656: 8,\n    6912: 270532608,\n    7168: 8192,\n    7424: 268443656,\n    7680: 270540800,\n    7936: 2097160,\n    4224: 8,\n    4480: 2105344,\n    4736: 2097152,\n    4992: 268435464,\n    5248: 268443648,\n    5504: 8200,\n    5760: 270540808,\n    6016: 270532608,\n    6272: 270540800,\n    6528: 270532616,\n    6784: 8192,\n    7040: 2105352,\n    7296: 2097160,\n    7552: 0,\n    7808: 268435456,\n    8064: 268443656\n  }, {\n    0: 1048576,\n    16: 33555457,\n    32: 1024,\n    48: 1049601,\n    64: 34604033,\n    80: 0,\n    96: 1,\n    112: 34603009,\n    128: 33555456,\n    144: 1048577,\n    160: 33554433,\n    176: 34604032,\n    192: 34603008,\n    208: 1025,\n    224: 1049600,\n    240: 33554432,\n    8: 34603009,\n    24: 0,\n    40: 33555457,\n    56: 34604032,\n    72: 1048576,\n    88: 33554433,\n    104: 33554432,\n    120: 1025,\n    136: 1049601,\n    152: 33555456,\n    168: 34603008,\n    184: 1048577,\n    200: 1024,\n    216: 34604033,\n    232: 1,\n    248: 1049600,\n    256: 33554432,\n    272: 1048576,\n    288: 33555457,\n    304: 34603009,\n    320: 1048577,\n    336: 33555456,\n    352: 34604032,\n    368: 1049601,\n    384: 1025,\n    400: 34604033,\n    416: 1049600,\n    432: 1,\n    448: 0,\n    464: 34603008,\n    480: 33554433,\n    496: 1024,\n    264: 1049600,\n    280: 33555457,\n    296: 34603009,\n    312: 1,\n    328: 33554432,\n    344: 1048576,\n    360: 1025,\n    376: 34604032,\n    392: 33554433,\n    408: 34603008,\n    424: 0,\n    440: 34604033,\n    456: 1049601,\n    472: 1024,\n    488: 33555456,\n    504: 1048577\n  }, {\n    0: 134219808,\n    1: 131072,\n    2: 134217728,\n    3: 32,\n    4: 131104,\n    5: 134350880,\n    6: 134350848,\n    7: 2048,\n    8: 134348800,\n    9: 134219776,\n    10: 133120,\n    11: 134348832,\n    12: 2080,\n    13: 0,\n    14: 134217760,\n    15: 133152,\n    2147483648: 2048,\n    2147483649: 134350880,\n    2147483650: 134219808,\n    2147483651: 134217728,\n    2147483652: 134348800,\n    2147483653: 133120,\n    2147483654: 133152,\n    2147483655: 32,\n    2147483656: 134217760,\n    2147483657: 2080,\n    2147483658: 131104,\n    2147483659: 134350848,\n    2147483660: 0,\n    2147483661: 134348832,\n    2147483662: 134219776,\n    2147483663: 131072,\n    16: 133152,\n    17: 134350848,\n    18: 32,\n    19: 2048,\n    20: 134219776,\n    21: 134217760,\n    22: 134348832,\n    23: 131072,\n    24: 0,\n    25: 131104,\n    26: 134348800,\n    27: 134219808,\n    28: 134350880,\n    29: 133120,\n    30: 2080,\n    31: 134217728,\n    2147483664: 131072,\n    2147483665: 2048,\n    2147483666: 134348832,\n    2147483667: 133152,\n    2147483668: 32,\n    2147483669: 134348800,\n    2147483670: 134217728,\n    2147483671: 134219808,\n    2147483672: 134350880,\n    2147483673: 134217760,\n    2147483674: 134219776,\n    2147483675: 0,\n    2147483676: 133120,\n    2147483677: 2080,\n    2147483678: 131104,\n    2147483679: 134350848\n  }],\n      r = [4160749569, 528482304, 33030144, 2064384, 129024, 8064, 504, 2147483679],\n      v = e.DES = c.extend({\n    _doReset: function _doReset() {\n      for (var a = this._key.words, b = [], c = 0; 56 > c; c++) {\n        var d = h[c] - 1;\n        b[c] = a[d >>> 5] >>> 31 - d % 32 & 1;\n      }\n\n      a = this._subKeys = [];\n\n      for (d = 0; 16 > d; d++) {\n        for (var e = a[d] = [], f = l[d], c = 0; 24 > c; c++) {\n          e[c / 6 | 0] |= b[(k[c] - 1 + f) % 28] << 31 - c % 6, e[4 + (c / 6 | 0)] |= b[28 + (k[c + 24] - 1 + f) % 28] << 31 - c % 6;\n        }\n\n        e[0] = e[0] << 1 | e[0] >>> 31;\n\n        for (c = 1; 7 > c; c++) {\n          e[c] >>>= 4 * (c - 1) + 3;\n        }\n\n        e[7] = e[7] << 5 | e[7] >>> 27;\n      }\n\n      b = this._invSubKeys = [];\n\n      for (c = 0; 16 > c; c++) {\n        b[c] = a[15 - c];\n      }\n    },\n    encryptBlock: function encryptBlock(a, b) {\n      this._doCryptBlock(a, b, this._subKeys);\n    },\n    decryptBlock: function decryptBlock(a, b) {\n      this._doCryptBlock(a, b, this._invSubKeys);\n    },\n    _doCryptBlock: function _doCryptBlock(b, c, e) {\n      this._lBlock = b[c];\n      this._rBlock = b[c + 1];\n      d.call(this, 4, 252645135);\n      d.call(this, 16, 65535);\n      a.call(this, 2, 858993459);\n      a.call(this, 8, 16711935);\n      d.call(this, 1, 1431655765);\n\n      for (var f = 0; 16 > f; f++) {\n        for (var h = e[f], k = this._lBlock, l = this._rBlock, q = 0, t = 0; 8 > t; t++) {\n          q |= g[t][((l ^ h[t]) & r[t]) >>> 0];\n        }\n\n        this._lBlock = l;\n        this._rBlock = k ^ q;\n      }\n\n      e = this._lBlock;\n      this._lBlock = this._rBlock;\n      this._rBlock = e;\n      d.call(this, 1, 1431655765);\n      a.call(this, 8, 16711935);\n      a.call(this, 2, 858993459);\n      d.call(this, 16, 65535);\n      d.call(this, 4, 252645135);\n      b[c] = this._lBlock;\n      b[c + 1] = this._rBlock;\n    },\n    keySize: 2,\n    ivSize: 2,\n    blockSize: 2\n  });\n  b.DES = c._createHelper(v);\n  e = e.TripleDES = c.extend({\n    _doReset: function _doReset() {\n      var a = this._key.words;\n      this._des1 = v.createEncryptor(f.create(a.slice(0, 2)));\n      this._des2 = v.createEncryptor(f.create(a.slice(2, 4)));\n      this._des3 = v.createEncryptor(f.create(a.slice(4, 6)));\n    },\n    encryptBlock: function encryptBlock(a, b) {\n      this._des1.encryptBlock(a, b);\n\n      this._des2.decryptBlock(a, b);\n\n      this._des3.encryptBlock(a, b);\n    },\n    decryptBlock: function decryptBlock(a, b) {\n      this._des3.decryptBlock(a, b);\n\n      this._des2.encryptBlock(a, b);\n\n      this._des1.decryptBlock(a, b);\n    },\n    keySize: 6,\n    ivSize: 2,\n    blockSize: 2\n  });\n  b.TripleDES = c._createHelper(e);\n});\n\n//# sourceURL=webpack://this.SDP.UC/./src/crypto/tripledes.js?");

/***/ }),

/***/ "./src/decorator/humpToUnderline.js":
/*!******************************************!*\
  !*** ./src/decorator/humpToUnderline.js ***!
  \******************************************/
/*! exports provided: hump2Underline, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hump2Underline\", function() { return hump2Underline; });\n/* harmony import */ var lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/isPlainObject */ \"./node_modules/lodash/isPlainObject.js\");\n/* harmony import */ var lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_0__);\n\n\nfunction humpTo_(name) {\n  return name.replace(/([A-Z])/g, '_$1').toLowerCase();\n}\n/**\n * 将驼峰命名转换成下划线\n *\n * @export\n * @returns\n */\n\n\nfunction hump2Underline(data) {\n  if (!lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_0___default()(data)) {\n    return data;\n  }\n\n  var result = {};\n  Object.keys(data).forEach(function (key) {\n    result[humpTo_(key)] = data[key];\n  });\n  return result;\n}\n/**\n * 函数修饰器 - 请求参数中对象类型的key全部转成下划线命名\n *\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (target, name, descriptor) {\n  var fn = descriptor.value;\n\n  descriptor.value = function () {\n    var args = [];\n\n    for (var i = 0; i < arguments.length; i++) {\n      args.push(hump2Underline(arguments[i]));\n    }\n\n    return fn.apply(this, args);\n  };\n\n  return descriptor;\n});\n\n//# sourceURL=webpack://this.SDP.UC/./src/decorator/humpToUnderline.js?");

/***/ }),

/***/ "./src/decorator/index.js":
/*!********************************!*\
  !*** ./src/decorator/index.js ***!
  \********************************/
/*! exports provided: humpToUnderline */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _humpToUnderline__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./humpToUnderline */ \"./src/decorator/humpToUnderline.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"humpToUnderline\", function() { return _humpToUnderline__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n\n\n\n//# sourceURL=webpack://this.SDP.UC/./src/decorator/index.js?");

/***/ }),

/***/ "./src/error/UCError.js":
/*!******************************!*\
  !*** ./src/error/UCError.js ***!
  \******************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_logger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/logger */ \"./src/utils/logger.js\");\n\nvar CODE_MESSAGE = {\n  'UCSDK/ENV_INVALID': '无效的环境变量',\n  'UCSDK/NOT_LOGIN': '用户未登录',\n  'UCSDK/AUTH_NOT_MATCH': 'AUTH 信息匹配不正确',\n  'UCSDK/SESSION_ERROR': '太长时间未操作，请重新开始',\n  'UCSDK/ARGUMENT_ERROR': '参数错误',\n  'UCSDK/SERVER_ERROR': '服务端错误'\n};\n/**\n * UCError: UCSDK自定义Error\n *\n * @export\n * @class UCError\n * @extends {Error}\n */\n\nfunction UCError(code, message) {\n  message = message || CODE_MESSAGE[code];\n  this.name = 'UCError';\n  this.code = code;\n  this.message = message;\n  _utils_logger__WEBPACK_IMPORTED_MODULE_0__[\"default\"].error(this.code, this.message);\n  this.stack = new Error().stack;\n}\n\nUCError.prototype = Object.create(Error.prototype);\nUCError.prototype.constructor = UCError;\n/* harmony default export */ __webpack_exports__[\"default\"] = (UCError);\n\n//# sourceURL=webpack://this.SDP.UC/./src/error/UCError.js?");

/***/ }),

/***/ "./src/index.js":
/*!**********************!*\
  !*** ./src/index.js ***!
  \**********************/
/*! exports provided: UC, UC2B, UC2C, UCUtil, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_object_assign__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.object.assign */ \"./node_modules/core-js/modules/es.object.assign.js\");\n/* harmony import */ var core_js_modules_es_object_assign__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_assign__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _uc_UC__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./uc/UC */ \"./src/uc/UC.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UC\", function() { return _uc_UC__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _uc_UC2B__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./uc/UC2B */ \"./src/uc/UC2B.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UC2B\", function() { return _uc_UC2B__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _uc_UC2C__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./uc/UC2C */ \"./src/uc/UC2C.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UC2C\", function() { return _uc_UC2C__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _uc_UCUtil__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./uc/UCUtil */ \"./src/uc/UCUtil.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UCUtil\", function() { return _uc_UCUtil__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  UC: _uc_UC__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  UC2B: _uc_UC2B__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n  UC2C: _uc_UC2C__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n  UCUtil: _uc_UCUtil__WEBPACK_IMPORTED_MODULE_4__[\"default\"]\n});\n\n//# sourceURL=webpack://this.SDP.UC/./src/index.js?");

/***/ }),

/***/ "./src/jsonp/core.js":
/*!***************************!*\
  !*** ./src/jsonp/core.js ***!
  \***************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return jsonp; });\n/* harmony import */ var _utils_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/window */ \"./src/utils/window.js\");\n\n/**\n * 开源于 jsonp(https://www.npmjs.com/package/jsonp) 库，删除 debug 库的依赖\n */\n\nvar count = 0;\n/**\n * Noop function.\n */\n\nfunction noop() {}\n/**\n * JSONP handler\n * @private\n * @param {String} url\n * @param {Object} opts\n * @param {Function} fn\n * @desc\n *\n * Options:\n *  - param {String} qs parameter (`callback`)\n *  - prefix {String} qs parameter (`__jp`)\n *  - name {String} qs parameter (`prefix` + incr)\n *  - timeout {Number} how long after a timeout error is emitted (`60000`)\n */\n\n\nfunction jsonp(url, opts, fn) {\n  if (typeof opts === 'function') {\n    fn = opts;\n    opts = {};\n  }\n\n  if (!opts) opts = {};\n  var prefix = opts.prefix || '__jp'; // use the callback name that was passed if one was provided.\n  // otherwise generate a unique name by incrementing our counter.\n\n  var id = opts.name || prefix + count++;\n  var param = opts.param || 'callback';\n  var timeout = opts.timeout != null ? opts.timeout : 20000;\n  var enc = encodeURIComponent;\n  var target = document.getElementsByTagName('script')[0] || document.head;\n  var script = document.createElement('script');\n  var timer;\n\n  if (timeout) {\n    timer = setTimeout(function () {\n      cleanup();\n      if (fn) fn('UCSDK/TIMEOUT');\n    }, timeout);\n  }\n\n  function cleanup() {\n    if (script.parentNode) script.parentNode.removeChild(script);\n    _utils_window__WEBPACK_IMPORTED_MODULE_0__[\"commonjsGlobal\"][id] = noop;\n    if (timer) clearTimeout(timer);\n  }\n\n  function cancel() {\n    if (_utils_window__WEBPACK_IMPORTED_MODULE_0__[\"commonjsGlobal\"][id]) {\n      cleanup();\n    }\n  }\n\n  _utils_window__WEBPACK_IMPORTED_MODULE_0__[\"commonjsGlobal\"][id] = function (data) {\n    // debug('jsonp got', data);\n    cleanup();\n    if (fn) fn(null, data);\n  }; // add qs component\n\n\n  url += (~url.indexOf('?') ? '&' : '?') + param + '=' + enc(id);\n  url = url.replace('?&', '?'); // debug('jsonp req \"%s\"', url);\n  // create script\n\n  script.src = url;\n  target.parentNode && target.parentNode.insertBefore(script, target);\n  return cancel;\n}\n\n//# sourceURL=webpack://this.SDP.UC/./src/jsonp/core.js?");

/***/ }),

/***/ "./src/jsonp/index.js":
/*!****************************!*\
  !*** ./src/jsonp/index.js ***!
  \****************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getJsonp; });\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jsonpCore__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./jsonpCore */ \"./src/jsonp/jsonpCore.js\");\n/* harmony import */ var _error_UCError__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../error/UCError */ \"./src/error/UCError.js\");\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n\n\n/**\n * jsonp 请求\n * @private\n * @param {Object} option\n */\n\nfunction getJsonp(_ref) {\n  var defaultHeaders = _ref.defaultHeaders,\n      sessionRepository = _ref.sessionRepository;\n  return function jsonp(_ref2) {\n    var url = _ref2.url,\n        _ref2$headers = _ref2.headers,\n        headers = _ref2$headers === void 0 ? {} : _ref2$headers,\n        _ref2$data = _ref2.data,\n        data = _ref2$data === void 0 ? '{}' : _ref2$data,\n        _ref2$method = _ref2.method,\n        method = _ref2$method === void 0 ? 'GET' : _ref2$method,\n        _ref2$isProxy = _ref2.isProxy,\n        isProxy = _ref2$isProxy === void 0 ? true : _ref2$isProxy;\n    headers = _objectSpread({}, defaultHeaders, {}, headers);\n    return Object(_jsonpCore__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n      url: url,\n      headers: headers,\n      data: data,\n      method: method,\n      isProxy: isProxy\n    }).catch(function (err) {\n      // UC/INVALID_SESSION_ID - SessionID无效\n      // UC/SESSION_EXPIRED - Session未创建或已过期\n      if (err.code === 'UC/INVALID_SESSION_ID' || err.code === 'UC/SESSION_EXPIRED') {\n        // 清空错误的Session\n        sessionRepository.clear();\n        return Promise.reject(new _error_UCError__WEBPACK_IMPORTED_MODULE_2__[\"default\"]('UCSDK/SESSION_ERROR')); // Session异常错误\n      }\n\n      return Promise.reject(err);\n    });\n  };\n}\n\n//# sourceURL=webpack://this.SDP.UC/./src/jsonp/index.js?");

/***/ }),

/***/ "./src/jsonp/jsonpCore.js":
/*!********************************!*\
  !*** ./src/jsonp/jsonpCore.js ***!
  \********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return jsonpCore; });\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/isPlainObject */ \"./node_modules/lodash/isPlainObject.js\");\n/* harmony import */ var lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./core */ \"./src/jsonp/core.js\");\n/* harmony import */ var _error_UCError__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../error/UCError */ \"./src/error/UCError.js\");\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n\n\n\n\nfunction parseUrl(url) {\n  var matched = url.match(/^(?:https?:)?\\/\\/([^/]+)(\\/.+)$/i);\n  return {\n    url: matched && matched[2],\n    host: matched && matched[1]\n  };\n}\n\nvar DEFAULT_HEADERS = {\n  'Accept': 'application/json',\n  'Content-Type': 'application/json'\n};\n/**\n * 不带鉴权可能的 jsonp\n * @private\n * @param {*} param0\n */\n\nfunction jsonpCore(_ref) {\n  var url = _ref.url,\n      headers = _ref.headers,\n      _ref$data = _ref.data,\n      data = _ref$data === void 0 ? '{}' : _ref$data,\n      _ref$method = _ref.method,\n      method = _ref$method === void 0 ? 'GET' : _ref$method,\n      _ref$isProxy = _ref.isProxy,\n      isProxy = _ref$isProxy === void 0 ? true : _ref$isProxy;\n  headers = _objectSpread({}, DEFAULT_HEADERS, {}, headers);\n  headers.Host = parseUrl(url).host;\n  data['org_name'] === null && delete data['org_name']; // 设置代理参数\n\n  var bodys = {\n    '$headers': headers,\n    '$body': data,\n    '$method': method\n  };\n  var proxyParam = \"$proxy=proxyhttp&bodys=\".concat(encodeURIComponent(JSON.stringify(bodys)));\n\n  if (isProxy) {\n    url += (url.indexOf('?') >= 0 ? '&' : '?') + proxyParam;\n  }\n\n  url = url.replace('?&', '?');\n  return new Promise(function (resolve, reject) {\n    Object(_core__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(url, {\n      prefix: \"nd_uc_sdk_\".concat(+new Date().getTime())\n    }, function (err) {\n      var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n      if (err) {\n        if (typeof err === 'string') {\n          reject(new _error_UCError__WEBPACK_IMPORTED_MODULE_3__[\"default\"](err));\n          return;\n        }\n\n        reject(err);\n        return;\n      }\n\n      var isSuccess = data.$status >= 200 && data.$status < 300 || data.$status === 304 || isElearnSuccess(data);\n\n      if (isSuccess) {\n        // 请求成功\n        data.$body === undefined && (data.$body = {}); // Elearn 不返回 $body T_T\n\n        if (lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_1___default()(data.$body)) {\n          resolve(data.$body);\n        } else {\n          try {\n            resolve(JSON.parse(data.$body));\n          } catch (e) {\n            // 可能服务端返回不正常的数据\n            reject(new _error_UCError__WEBPACK_IMPORTED_MODULE_3__[\"default\"]('UCSDK/SERVER_ERROR'));\n          }\n        }\n      } else if (isSuccess === false && lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_1___default()(data.$body)) {\n        reject(data.$body);\n      } else {\n        try {\n          reject(JSON.parse(data.$body));\n        } catch (e) {\n          // 可能服务端返回不正常的数据\n          reject(new _error_UCError__WEBPACK_IMPORTED_MODULE_3__[\"default\"]('UCSDK/SERVER_ERROR'));\n        }\n      }\n    });\n  });\n} // T_T Elearn 规范\n\nfunction isElearnSuccess(data) {\n  return data.code === 'success';\n}\n\n//# sourceURL=webpack://this.SDP.UC/./src/jsonp/jsonpCore.js?");

/***/ }),

/***/ "./src/manager/Header.js":
/*!*******************************!*\
  !*** ./src/manager/Header.js ***!
  \*******************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return HeaderManager; });\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var nd_md5s__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! nd-md5s */ \"./node_modules/nd-md5s/index.js\");\n/* harmony import */ var nd_md5s__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(nd_md5s__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _crypto_base64__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../crypto/base64 */ \"./src/crypto/base64.js\");\n/* harmony import */ var _utils_auth__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/auth */ \"./src/utils/auth.js\");\n/* harmony import */ var _utils_device__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/device */ \"./src/utils/device.js\");\n/* harmony import */ var _utils_window__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/window */ \"./src/utils/window.js\");\n/* harmony import */ var _utils_uuid__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/uuid */ \"./src/utils/uuid.js\");\n/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../config */ \"./src/config/index.js\");\n/* harmony import */ var _utils_storage__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/storage */ \"./src/utils/storage.js\");\n\n\n\n\n\n\n\n\n\n/**\n * HeaderManager 请求头管理器\n */\n\nvar HeaderManager =\n/*#__PURE__*/\nfunction () {\n  // 参数配置\n\n  /**\n   *构造函数\n   * @param {object} options 参数配置\n   * @param {*} storage 设备号存储\n   */\n  function HeaderManager(options, storage) {\n    this.options = void 0;\n    this.storage = void 0;\n    this.options = options;\n    this.storage = storage;\n  }\n  /**\n   * 获取设备ID\n   * 设备ID会被缓存到Storage，防止重复计算及浏览器缩放比例变化导致此ID发生变化\n   */\n\n\n  var _proto = HeaderManager.prototype;\n\n  _proto.getDeviceID = function getDeviceID() {\n    var _this = this;\n\n    return new Promise(function (resolve, reject) {\n      var d = _this.storage.get(_config__WEBPACK_IMPORTED_MODULE_7__[\"DEVICE_ID\"]);\n\n      if (d) {\n        return resolve(d);\n      }\n\n      var deviceId = \"\".concat(Object(_utils_device__WEBPACK_IMPORTED_MODULE_4__[\"getOSAndBrowserKey\"])('/'), \"/\").concat(Object(_utils_uuid__WEBPACK_IMPORTED_MODULE_6__[\"createUuid\"])());\n      deviceId = \"\".concat(_crypto_base64__WEBPACK_IMPORTED_MODULE_2__[\"default\"].encoder(nd_md5s__WEBPACK_IMPORTED_MODULE_1___default()(deviceId, _config__WEBPACK_IMPORTED_MODULE_7__[\"PASSWORD_CONFUSE\"])).charAt(2), \"w\").concat(deviceId);\n\n      _this.storage.set(_config__WEBPACK_IMPORTED_MODULE_7__[\"DEVICE_ID\"], deviceId);\n\n      resolve(deviceId);\n    });\n  }\n  /**\n   * 获取UC-COLL字符串\n   * UC-COLL格式：产品名/产品版本号(机型;iOS/android版本;分辨率;联网;设备Id;设备名称)\n   * WEB示例：7767525116/1.0(Win7;Chrome52;1920x1200;;76e9bb10e42a6951eae521d74053edbf;)\n   */\n  ;\n\n  _proto.getUCCOLLString = function getUCCOLLString() {\n    var sdpAppId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n    var version = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '1.0';\n    return this.getDeviceID().then(function (deviceId) {\n      var osAndBrowser = Object(_utils_device__WEBPACK_IMPORTED_MODULE_4__[\"getOSAndBrowserKey\"])(';');\n      return \"\".concat(sdpAppId, \"/\").concat(version, \"(\").concat(osAndBrowser, \";\").concat(_utils_window__WEBPACK_IMPORTED_MODULE_5__[\"screenWidth\"], \"x\").concat(_utils_window__WEBPACK_IMPORTED_MODULE_5__[\"screenHeight\"], \";\").concat(deviceId, \";)\");\n    });\n  }\n  /**\n   * 获取默认的请求头\n   */\n  ;\n\n  _proto.getDefaultHeaders = function getDefaultHeaders() {\n    return {\n      'Accept': 'application/json',\n      'Content-Type': 'application/json',\n      'SDP-APP-ID': this.options.sdpAppId\n    };\n  }\n  /**\n   * 获取UC-COLL请求头:登录接口需要包含UC-COLL请求头,用于采集设备信息\n   */\n  ;\n\n  _proto.getUCCOLLHeaders = function getUCCOLLHeaders() {\n    return this.getUCCOLLString(this.options.sdpAppId).then(function (coll) {\n      return {\n        'UC-COLL': coll\n      };\n    });\n  }\n  /**\n   * 获取MAC认证请求头\n   * @param {*} url\n   * @param {*} method\n   * @param {*} token\n   */\n  ;\n\n  _proto.getMACAuthorizationHeaders = function getMACAuthorizationHeaders(url, method, token) {\n    var auth = Object(_utils_auth__WEBPACK_IMPORTED_MODULE_3__[\"getAuthHeader\"])(url, method, {\n      accessToken: token.access_token,\n      macKey: token.mac_key,\n      diff: token.diff\n    });\n    return {\n      Authorization: auth\n    };\n  }\n  /**\n   * 获取设备ID请求头\n   * @param {*} hasUCCOLL\n   */\n  ;\n\n  _proto.getDeviceIDHeaders = function getDeviceIDHeaders() {\n    var hasUCCOLL = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n    var deviceIdPromise = this.getDeviceID();\n\n    if (hasUCCOLL) {\n      var ucCOLLStringPromise = this.getUCCOLLString(this.options.sdpAppId);\n      return Promise.all([deviceIdPromise, ucCOLLStringPromise]).then(function (_ref) {\n        var _ref2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default()(_ref, 2),\n            deviceId = _ref2[0],\n            ucCOLLString = _ref2[1];\n\n        return {\n          'DEVICE-ID': deviceId,\n          'UC-COLL': ucCOLLString\n        };\n      });\n    }\n\n    return deviceIdPromise.then(function (deviceId) {\n      return {\n        'DEVICE-ID': deviceId\n      };\n    });\n  };\n\n  return HeaderManager;\n}();\n\n\n\n//# sourceURL=webpack://this.SDP.UC/./src/manager/Header.js?");

/***/ }),

/***/ "./src/uc/UC.js":
/*!**********************!*\
  !*** ./src/uc/UC.js ***!
  \**********************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/inheritsLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _UCCore__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./UCCore */ \"./src/uc/UCCore/index.js\");\n/* harmony import */ var _UC2B__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./UC2B */ \"./src/uc/UC2B.js\");\n/* harmony import */ var _UC2C__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./UC2C */ \"./src/uc/UC2C.js\");\n/* harmony import */ var _utils_mixinClasses__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/mixinClasses */ \"./src/utils/mixinClasses.js\");\n/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../config */ \"./src/config/index.js\");\n\n\nvar _dec, _class, _class2, _temp;\n\n\n\n\n\n\n/**\n * UC mix（包含个人用户和企业用户所有功能）\n *\n * @class UC\n * @extends {UCCore}\n */\n\nvar UC = (_dec = Object(_utils_mixinClasses__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(_UC2B__WEBPACK_IMPORTED_MODULE_2__[\"default\"], _UC2C__WEBPACK_IMPORTED_MODULE_3__[\"default\"]), _dec(_class = (_temp = _class2 =\n/*#__PURE__*/\nfunction (_UCCore) {\n  _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0___default()(UC, _UCCore);\n\n  function UC() {\n    return _UCCore.apply(this, arguments) || this;\n  }\n\n  var _proto = UC.prototype;\n\n  // 版本信息\n\n  /**\n   * 登录\n   *\n   * @param {Object} options 参数\n   * @param {string} options.loginName 登录名\n   * @param {string} options.password 密码\n   * @param {string} [options.identifyCode] (可选)图片验证码\n   * @param {string} [options.loginNameType] (可选)登录名类型\n   * @param {string} [options.accountType] (可选)登录帐户的类型\n   * @param {string} [options.countryCode] (可选)国际区号，默认\"+86\"，注：国外的业务需要填写\n   * @param {string} [options.orgCode] (可选)组织编码\n   * @returns {Promise<*>}\n   * @memberof UC\n   */\n  _proto.login = function login() {\n    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n    var _options = options,\n        loginName = _options.loginName,\n        password = _options.password,\n        identifyCode = _options.identifyCode; // 兼容login('120032', '123456')\n\n    if (typeof options === 'string') {\n      loginName = arguments[0];\n      password = arguments[1];\n      identifyCode = arguments[2]; // 重新组装options\n\n      options = {\n        loginName: loginName,\n        password: password,\n        identifyCode: identifyCode\n      };\n    } // 如果loginName是xxx@xx的工号格式，则采用组织帐号登录方式\n\n\n    var regex = _config__WEBPACK_IMPORTED_MODULE_5__[\"ORG_LOGIN_NAME_REGEX\"];\n\n    if (regex.test(loginName)) {\n      var indexOfAt = loginName.lastIndexOf('@');\n      var orgUserCode = loginName.substring(0, indexOfAt);\n      var orgCode = loginName.substring(indexOfAt + 1);\n      return this._login({\n        loginName: orgUserCode,\n        password: password,\n        identifyCode: identifyCode,\n        loginNameType: 'org_user_code',\n        accountType: 'org',\n        orgCode: orgCode\n      });\n    } // 其他情况，参数透传给_login方法进行登录\n\n\n    return this._login(options);\n  };\n\n  return UC;\n}(_UCCore__WEBPACK_IMPORTED_MODULE_1__[\"default\"]), _class2.VERSION = '__VERSION__', _temp)) || _class);\n/* harmony default export */ __webpack_exports__[\"default\"] = (UC);\n\n//# sourceURL=webpack://this.SDP.UC/./src/uc/UC.js?");

/***/ }),

/***/ "./src/uc/UC2B.js":
/*!************************!*\
  !*** ./src/uc/UC2B.js ***!
  \************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/inheritsLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/applyDecoratedDescriptor */ \"./node_modules/@babel/runtime/helpers/applyDecoratedDescriptor.js\");\n/* harmony import */ var _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var nd_md5s__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! nd-md5s */ \"./node_modules/nd-md5s/index.js\");\n/* harmony import */ var nd_md5s__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(nd_md5s__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _UCCore__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./UCCore */ \"./src/uc/UCCore/index.js\");\n/* harmony import */ var _validation__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../validation */ \"./src/validation/index.js\");\n/* harmony import */ var _validation_validators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../validation/validators */ \"./src/validation/validators.js\");\n/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../config */ \"./src/config/index.js\");\n/* harmony import */ var _crypto__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../crypto */ \"./src/crypto/index.js\");\n/* harmony import */ var _decorator__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../decorator */ \"./src/decorator/index.js\");\n\n\n\nvar _dec, _dec2, _dec3, _dec4, _class;\n\n\n\n\n\n\n\n\n/**\n * UC to B（面向企业用户）\n *\n * @class UC2B\n * @extends {UCCore}\n */\n\nvar UC2B = (_dec = Object(_validation__WEBPACK_IMPORTED_MODULE_4__[\"default\"])([{\n  key: 'options',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_5__[\"default\"].object\n}, {\n  key: 'orgUserCode',\n  path: '0.orgUserCode',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_5__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'password',\n  path: '0.password',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_5__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'identifyCode',\n  path: '0.identifyCode',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_5__[\"default\"].string,\n  config: {\n    required: false\n  }\n}]), _dec2 = Object(_validation__WEBPACK_IMPORTED_MODULE_4__[\"default\"])([{\n  key: 'options',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_5__[\"default\"].object\n}, {\n  key: 'newPassword',\n  path: '0.newPassword',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_5__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}]), _dec3 = Object(_validation__WEBPACK_IMPORTED_MODULE_4__[\"default\"])([{\n  key: 'options',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_5__[\"default\"].object\n}, {\n  key: 'newPassword',\n  path: '0.newPassword',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_5__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}]), _dec4 = Object(_validation__WEBPACK_IMPORTED_MODULE_4__[\"default\"])([{\n  key: 'validateCode',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_5__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}]), (_class =\n/*#__PURE__*/\nfunction (_UCCore) {\n  _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0___default()(UC2B, _UCCore);\n\n  function UC2B() {\n    return _UCCore.apply(this, arguments) || this;\n  }\n\n  var _proto = UC2B.prototype;\n\n  /**\n   * 工号登录\n   *\n   * @param {Object} options 参数\n   * @param {string} options.orgUserCode 工号\n   * @param {string} options.password 密码\n   * @param {string} [options.identifyCode] (可选)图片验证码\n   * @returns {Promise<*>}\n   * @memberof UC2B\n   */\n  _proto.loginByOrgUserCode = function loginByOrgUserCode() {\n    var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n        orgUserCode = _ref.orgUserCode,\n        password = _ref.password,\n        identifyCode = _ref.identifyCode;\n\n    // 如果orgUserCode是xxx@xx的工号格式，则从中获取组织名，否则从UCSDK初始化参数中获取组织名\n    var regex = _config__WEBPACK_IMPORTED_MODULE_6__[\"ORG_LOGIN_NAME_REGEX\"];\n    var userCode = orgUserCode;\n    var orgCode = this.options.orgName;\n\n    if (regex.test(orgUserCode)) {\n      var indexOfAt = orgUserCode.lastIndexOf('@');\n      userCode = orgUserCode.substring(0, indexOfAt);\n      orgCode = orgUserCode.substring(indexOfAt + 1);\n    }\n\n    return this._login({\n      loginName: userCode,\n      password: password,\n      identifyCode: identifyCode,\n      loginNameType: 'org_user_code',\n      accountType: 'org',\n      orgCode: orgCode\n    });\n  }\n  /**\n   * 通过短信验证码重置组织帐户密码\n   *\n   * @param {Object} options 参数\n   * @param {string} options.orgUserCode 组织帐号工号\n   * @param {string} options.orgCode 组织代码\n   * @param {string} options.mobile 手机号码\n   * @param {string} options.smsCode 手机验证码\n   * @param {string} options.newPassword 新密码\n   * @param {string} [options.countryCode] (可选)国际区号，默认\"+86\"，注：国外的业务需要填写\n   * @returns {Promise<*>}\n   * @memberof UC2C\n   */\n  ;\n\n  _proto.resetOrgAccountPasswordBySMS = function resetOrgAccountPasswordBySMS(options) {\n    var _this = this;\n\n    return this.getSession().then(function (session) {\n      var session_id = session.session_id,\n          session_key = session.session_key;\n      var new_password = options.new_password;\n\n      if (new_password) {\n        options.new_password = Object(_crypto__WEBPACK_IMPORTED_MODULE_7__[\"encryptByDes\"])(nd_md5s__WEBPACK_IMPORTED_MODULE_2___default()(new_password, _config__WEBPACK_IMPORTED_MODULE_6__[\"PASSWORD_CONFUSE\"]), session_key);\n      }\n\n      options.session_id = session_id;\n      return _this._ucGateway.resetOrgAccountPasswordBySMS(options);\n    });\n  }\n  /**\n   * 通过邮件验证码重置组织帐户密码\n   *\n   * @param {Object} options 参数\n   * @param {string} options.orgUserCode 组织帐号工号\n   * @param {string} options.orgCode 组织代码\n   * @param {string} options.emailVerificationMode 邮箱验证模式:0 邮件验证码, 1 确认邮件\n   * @param {string} options.emailCode 邮箱验证码，email_verification_mode为0时为邮箱验证码，为1时为reset_uri的validate_code参数的值\n   * @param {string} options.newPassword 新密码\n   * @param {string} [options.email] 邮箱 当email_verification_mode为0时此参数必填\n   * @returns {Promise<*>}\n   * @memberof UC2C\n   */\n  ;\n\n  _proto.resetOrgAccountPasswordByEmail = function resetOrgAccountPasswordByEmail(options) {\n    var _this2 = this;\n\n    return this.getSession().then(function (session) {\n      var session_id = session.session_id,\n          session_key = session.session_key;\n      var new_password = options.new_password,\n          email_verification_mode = options.email_verification_mode;\n\n      if (new_password) {\n        options.new_password = Object(_crypto__WEBPACK_IMPORTED_MODULE_7__[\"encryptByDes\"])(nd_md5s__WEBPACK_IMPORTED_MODULE_2___default()(new_password, _config__WEBPACK_IMPORTED_MODULE_6__[\"PASSWORD_CONFUSE\"]), session_key);\n      }\n\n      options.session_id = session_id; // 向下兼容\n\n      if (typeof email_verification_mode === 'undefined') {\n        options.email_verification_mode = options.mode;\n      }\n\n      return _this2._ucGateway.resetOrgAccountPasswordByEmail(options);\n    });\n  }\n  /**\n   * 确认绑定邮箱（组织帐户）\n   *\n   * @param {string} validateCode 邮箱验证码\n   * @returns {Promise<*>}\n   * @memberof UC2B\n   */\n  ;\n\n  _proto.confirmBindingOrgAccountEmail = function confirmBindingOrgAccountEmail(validateCode) {\n    return this._ucGateway.confirmBindingOrgAccountEmail(validateCode);\n  };\n\n  return UC2B;\n}(_UCCore__WEBPACK_IMPORTED_MODULE_3__[\"default\"]), (_babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class.prototype, \"loginByOrgUserCode\", [_dec], Object.getOwnPropertyDescriptor(_class.prototype, \"loginByOrgUserCode\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class.prototype, \"resetOrgAccountPasswordBySMS\", [_dec2, _decorator__WEBPACK_IMPORTED_MODULE_8__[\"humpToUnderline\"]], Object.getOwnPropertyDescriptor(_class.prototype, \"resetOrgAccountPasswordBySMS\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class.prototype, \"resetOrgAccountPasswordByEmail\", [_dec3, _decorator__WEBPACK_IMPORTED_MODULE_8__[\"humpToUnderline\"]], Object.getOwnPropertyDescriptor(_class.prototype, \"resetOrgAccountPasswordByEmail\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class.prototype, \"confirmBindingOrgAccountEmail\", [_dec4], Object.getOwnPropertyDescriptor(_class.prototype, \"confirmBindingOrgAccountEmail\"), _class.prototype)), _class));\n/* harmony default export */ __webpack_exports__[\"default\"] = (UC2B);\n\n//# sourceURL=webpack://this.SDP.UC/./src/uc/UC2B.js?");

/***/ }),

/***/ "./src/uc/UC2C.js":
/*!************************!*\
  !*** ./src/uc/UC2C.js ***!
  \************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/inheritsLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/applyDecoratedDescriptor */ \"./node_modules/@babel/runtime/helpers/applyDecoratedDescriptor.js\");\n/* harmony import */ var _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var nd_md5s__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! nd-md5s */ \"./node_modules/nd-md5s/index.js\");\n/* harmony import */ var nd_md5s__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(nd_md5s__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _UCCore__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./UCCore */ \"./src/uc/UCCore/index.js\");\n/* harmony import */ var _crypto__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../crypto */ \"./src/crypto/index.js\");\n/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../config */ \"./src/config/index.js\");\n/* harmony import */ var _validation__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../validation */ \"./src/validation/index.js\");\n/* harmony import */ var _validation_validators__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../validation/validators */ \"./src/validation/validators.js\");\n/* harmony import */ var _decorator__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../decorator */ \"./src/decorator/index.js\");\n\n\n\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _class;\n\n\n\n\n\n\n\n\n/**\n * UC to C（面向个人用户）\n *\n * @class UC2C\n * @extends {UCCore}\n */\n\nvar UC2C = (_dec = Object(_validation__WEBPACK_IMPORTED_MODULE_7__[\"default\"])([{\n  key: 'options',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].object\n}, {\n  key: 'mobile',\n  path: '0.mobile',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'password',\n  path: '0.password',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'identifyCode',\n  path: '0.identifyCode',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    required: false\n  }\n}, {\n  key: 'countryCode',\n  path: '0.countryCode',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    required: false\n  }\n}]), _dec2 = Object(_validation__WEBPACK_IMPORTED_MODULE_7__[\"default\"])([{\n  key: 'options',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].object\n}, {\n  key: 'email',\n  path: '0.email',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'password',\n  path: '0.password',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'identifyCode',\n  path: '0.identifyCode',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    required: false\n  }\n}]), _dec3 = Object(_validation__WEBPACK_IMPORTED_MODULE_7__[\"default\"])([{\n  key: 'options',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].object\n}, {\n  key: 'userName',\n  path: '0.userName',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'password',\n  path: '0.password',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'identifyCode',\n  path: '0.identifyCode',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    required: false\n  }\n}]), _dec4 = Object(_validation__WEBPACK_IMPORTED_MODULE_7__[\"default\"])([{\n  key: 'options',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].object\n}, {\n  key: 'mobile',\n  path: '0.mobile',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'smsCode',\n  path: '0.smsCode',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'countryCode',\n  path: '0.countryCode',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    required: false\n  }\n}]), _dec5 = Object(_validation__WEBPACK_IMPORTED_MODULE_7__[\"default\"])([{\n  key: 'options',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].object\n}, {\n  key: 'email',\n  path: '0.email',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'emailCode',\n  path: '0.emailCode',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}]), _dec6 = Object(_validation__WEBPACK_IMPORTED_MODULE_7__[\"default\"])([{\n  key: 'options',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].object\n}, {\n  key: 'thirdPlatAppId',\n  path: '0.thirdPlatAppId',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'openId',\n  path: '0.openId',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'thirdPlatType',\n  path: '0.thirdPlatType',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'thirdAccessToken',\n  path: '0.thirdAccessToken',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'autoRegister',\n  path: '0.autoRegister',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].boolean,\n  config: {\n    required: false\n  }\n}]), _dec7 = Object(_validation__WEBPACK_IMPORTED_MODULE_7__[\"default\"])([{\n  key: 'options',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].object\n}, {\n  key: 'code',\n  path: '0.code',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'sdpAppId',\n  path: '0.sdpAppId',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'thirdPlatType',\n  path: '0.thirdPlatType',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}]), _dec8 = Object(_validation__WEBPACK_IMPORTED_MODULE_7__[\"default\"])([{\n  key: 'options',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].object\n}, {\n  key: 'mobile',\n  path: '0.mobile',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'password',\n  path: '0.password',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'smsCode',\n  path: '0.smsCode',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'nickName',\n  path: '0.nickName',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    required: false\n  }\n}, {\n  key: 'countryCode',\n  path: '0.countryCode',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    required: false\n  }\n}, {\n  key: 'autoLogin',\n  path: '0.autoLogin',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].boolean,\n  config: {\n    required: false\n  }\n}]), _dec9 = Object(_validation__WEBPACK_IMPORTED_MODULE_7__[\"default\"])([{\n  key: 'options',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].object\n}, {\n  key: 'email',\n  path: '0.email',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'password',\n  path: '0.password',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'nickName',\n  path: '0.nickName',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    required: false\n  }\n}, {\n  key: 'emailCode',\n  path: '0.emailCode',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    required: false,\n    enableEmptyString: false\n  }\n}, {\n  key: 'autoLogin',\n  path: '0.autoLogin',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].boolean,\n  config: {\n    required: false\n  }\n}]), _dec10 = Object(_validation__WEBPACK_IMPORTED_MODULE_7__[\"default\"])([{\n  key: 'options',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].object\n}, {\n  key: 'userName',\n  path: '0.userName',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'password',\n  path: '0.password',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'nickName',\n  path: '0.nickName',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    required: false\n  }\n}, {\n  key: 'autoLogin',\n  path: '0.autoLogin',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].boolean,\n  config: {\n    required: false\n  }\n}]), _dec11 = Object(_validation__WEBPACK_IMPORTED_MODULE_7__[\"default\"])([{\n  key: 'options',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].object\n}, {\n  key: 'mobile',\n  path: '0.mobile',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'smsCode',\n  path: '0.smsCode',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'newPassword',\n  path: '0.newPassword',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}]), _dec12 = Object(_validation__WEBPACK_IMPORTED_MODULE_7__[\"default\"])([{\n  key: 'options',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].object\n}, {\n  key: 'email',\n  path: '0.email',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    required: false,\n    enableEmptyString: false\n  }\n}, {\n  key: 'emailCode',\n  path: '0.emailCode',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'newPassword',\n  path: '0.newPassword',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}]), _dec13 = Object(_validation__WEBPACK_IMPORTED_MODULE_7__[\"default\"])([{\n  key: 'options',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].object\n}, {\n  key: 'email',\n  path: '0.email',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'cipherStrength',\n  path: '0.cipherStrength',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].number\n}, {\n  key: 'resetUri',\n  path: '0.resetUri',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    required: false\n  }\n}]), _dec14 = Object(_validation__WEBPACK_IMPORTED_MODULE_7__[\"default\"])([{\n  key: 'validateCode',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}]), _dec15 = Object(_validation__WEBPACK_IMPORTED_MODULE_7__[\"default\"])([{\n  key: 'userName',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_8__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}]), (_class =\n/*#__PURE__*/\nfunction (_UCCore) {\n  _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default()(UC2C, _UCCore);\n\n  function UC2C() {\n    return _UCCore.apply(this, arguments) || this;\n  }\n\n  var _proto = UC2C.prototype;\n\n  /**\n   * 手机号登录\n   *\n   * @param {Object} options 参数\n   * @param {string} options.mobile 手机号码\n   * @param {string} options.password 密码\n   * @param {string} [options.identifyCode] (可选)图形验证码\n   * @param {string} [options.countryCode] (可选)国际区号，默认\"+86\"，注：国外的业务需要填写\n   * @returns {Promise<*>}\n   * @memberof UC2C\n   */\n  _proto.loginByMobile = function loginByMobile() {\n    var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n        mobile = _ref.mobile,\n        password = _ref.password,\n        identifyCode = _ref.identifyCode,\n        countryCode = _ref.countryCode;\n\n    return this._login({\n      loginName: mobile,\n      password: password,\n      identifyCode: identifyCode,\n      loginNameType: 'mobile',\n      accountType: 'person',\n      countryCode: countryCode\n    });\n  }\n  /**\n   * 邮箱登录\n   *\n   * @param {Object} options 参数\n   * @param {string} options.email 邮箱\n   * @param {string} options.password 密码\n   * @param {string} [options.identifyCode] (可选)图形验证码\n   * @returns {Promise<*>}\n   * @memberof UC2C\n   */\n  ;\n\n  _proto.loginByEmail = function loginByEmail() {\n    var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n        email = _ref2.email,\n        password = _ref2.password,\n        identifyCode = _ref2.identifyCode;\n\n    return this._login({\n      loginName: email,\n      password: password,\n      identifyCode: identifyCode,\n      loginNameType: 'email',\n      accountType: 'person'\n    });\n  }\n  /**\n   * 用户名登录\n   *\n   * @param {Object} options 参数\n   * @param {string} options.userName 用户名\n   * @param {string} options.password 密码\n   * @param {string} [options.identifyCode] (可选)图形验证码\n   * @returns {Promise<*>}\n   * @memberof UC2C\n   */\n  ;\n\n  _proto.loginByUserName = function loginByUserName() {\n    var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n        userName = _ref3.userName,\n        password = _ref3.password,\n        identifyCode = _ref3.identifyCode;\n\n    return this._login({\n      loginName: userName,\n      password: password,\n      identifyCode: identifyCode,\n      loginNameType: 'user_name',\n      accountType: 'person'\n    });\n  }\n  /**\n   * 短信登录\n   *\n   * @param {Object} options 参数\n   * @param {string} options.mobile 手机号码\n   * @param {string} options.smsCode 短信验证码\n   * @param {string} [options.countryCode] (可选)国际区号，默认\"+86\"，注：国外的业务需要填写\n   * @returns {Promise<*>}\n   * @memberof UC2C\n   */\n  ;\n\n  _proto.loginBySMS = function loginBySMS() {\n    var _this = this;\n\n    var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n        mobile = _ref4.mobile,\n        smsCode = _ref4.smsCode,\n        countryCode = _ref4.countryCode;\n\n    return this.getSession().then(function (session) {\n      var session_id = session.session_id,\n          session_key = session.session_key;\n      var data = {\n        session_id: session_id,\n        country_code: countryCode,\n        mobile: mobile,\n        sms_code: smsCode\n      };\n      return _this._ucGateway.loginBySMS(data).then(function (token) {\n        return Object(_crypto__WEBPACK_IMPORTED_MODULE_5__[\"decryptToken\"])(token, session_key);\n      }).then(function (token) {\n        return _this._ucToken.saveToken(token);\n      });\n    });\n  }\n  /**\n   * 邮箱验证码登录\n   *\n   * @param {Object} options 参数\n   * @param {string} options.email 邮箱\n   * @param {string} options.emailCode 邮箱验证码\n   * @returns {Promise<*>}\n   * @memberof UC2C\n   */\n  ;\n\n  _proto.loginByEmailCode = function loginByEmailCode() {\n    var _this2 = this;\n\n    var _ref5 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n        email = _ref5.email,\n        emailCode = _ref5.emailCode;\n\n    return this.getSession().then(function (session) {\n      var session_id = session.session_id,\n          session_key = session.session_key;\n\n      if (email) {\n        email = Object(_crypto__WEBPACK_IMPORTED_MODULE_5__[\"encryptByDes\"])(email, session_key);\n      }\n\n      var data = {\n        session_id: session_id,\n        email_code: emailCode,\n        email: email\n      };\n      return _this2._ucGateway.loginByEmailCode(data).then(function (token) {\n        return Object(_crypto__WEBPACK_IMPORTED_MODULE_5__[\"decryptToken\"])(token, session_key);\n      }).then(function (token) {\n        return _this2._ucToken.saveToken(token);\n      });\n    });\n  }\n  /**\n   * 游客登录\n   *\n   */\n  ;\n\n  _proto.loginByGuest = function loginByGuest() {\n    var _this3 = this;\n\n    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n    var deviceIdPromise = this._headerManager.getDeviceID();\n\n    var sessionPromise = this.getSession();\n    return Promise.all([sessionPromise, deviceIdPromise]).then(function (_ref6) {\n      var _ref7 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default()(_ref6, 2),\n          session = _ref7[0],\n          deviceId = _ref7[1];\n\n      var session_id = session.session_id,\n          session_key = session.session_key;\n      options.session_id = session_id;\n      options.device_id = Object(_crypto__WEBPACK_IMPORTED_MODULE_5__[\"encryptByDes\"])(deviceId, session_key);\n      return _this3._ucGateway.loginByGuest(options).then(function (token) {\n        return Object(_crypto__WEBPACK_IMPORTED_MODULE_5__[\"decryptToken\"])(token, session_key);\n      }).then(function (token) {\n        return _this3._ucToken.saveToken(token);\n      });\n    });\n  }\n  /**\n   * 第三方登录\n   *\n   * @param {Object} options 参数\n   * @param {string} options.thirdPlatAppId 第三方平台给应用分配的Id\n   * @param {string} options.openId 第三方平台给用户分配的Id,如微信、QQ的openId\n   * @param {string} options.thirdPlatType 第三方登录来源，目前支持：qq(QQ类型),weixin(微信类型)\n   * @param {string} [options.thirdSubPlat] (可选)第三方登录来源子平台\n   * @param {string} options.thirdAccessToken 第三方的access_token\n   * @param {boolean} [options.autoRegister] (可选)默认为false,当为true时，表示第三方帐号不存在时，自动创建个人帐号并进行绑定\n   * @returns {Promise<*>}\n   * @memberof UC2C\n   */\n  ;\n\n  _proto.loginByThirdAccount = function loginByThirdAccount() {\n    var _this4 = this;\n\n    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n    return this.getSession().then(function (session) {\n      var session_id = session.session_id,\n          session_key = session.session_key;\n      options.session_id = session_id;\n      return _this4._ucGateway.loginByThirdAccount(options).then(function (token) {\n        return Object(_crypto__WEBPACK_IMPORTED_MODULE_5__[\"decryptToken\"])(token, session_key);\n      }).then(function (token) {\n        return _this4._ucToken.saveToken(token);\n      });\n    });\n  }\n  /**\n   * 第三方登录(新)\n   * @param {*} options 参数\n   * @param {string} options.url 地址\n   * @param {string} [config.type] 类型\n   * @param {Object} [config.data] 数据\n   */\n  ;\n\n  _proto.loginByThird = function loginByThird() {\n    var _this5 = this;\n\n    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n    return this.getSession().then(function (session) {\n      var session_id = session.session_id,\n          session_key = session.session_key;\n      options.data = options.data || {};\n      options.data.session_id = session_id;\n      return _this5._ucGateway.requestAdapter(options, false).then(function (token) {\n        return Object(_crypto__WEBPACK_IMPORTED_MODULE_5__[\"decryptToken\"])(token, session_key);\n      });\n    });\n  }\n  /**\n   * 通过code获取access_token\n   * @param {Object} options 参数\n   * @param {string} options.code 第三方平台颁发的授权码\n   * @param {string} options.sdpAppId 应用门户给应用分配的id\n   * @param {string} options.thirdPlatType 第三方登录来源\n   * @param {string} [options.thirdSubPlat] (可选)第三方登录来源子平台\n   */\n  ;\n\n  _proto.getThirdAccessTokenByCode = function getThirdAccessTokenByCode() {\n    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n    return this._ucGateway.getThirdAccessTokenByCode(options);\n  }\n  /**\n   * 手机号注册\n   *\n   * @param {Object} options 参数\n   * @param {string} options.mobile 手机号码\n   * @param {string} options.password 密码\n   * @param {string} options.smsCode 手机验证码\n   * @param {string} [options.nickName] (可选)昵称\n   * @param {string} [options.countryCode] (可选)国际区号，默认\"+86\"，注：国外的业务需要填写\n   * @param {boolean} [options.autoLogin] (可选)注册成功后是否自动登录,为true时,会在注册完成后进行自动登录并返回token信息;默认为false;\n   * @returns {Promise<*>}\n   * @memberof UC2C\n   */\n  ;\n\n  _proto.registerByMobile = function registerByMobile() {\n    var _this6 = this;\n\n    var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n        mobile = _ref8.mobile,\n        password = _ref8.password,\n        smsCode = _ref8.smsCode,\n        nickName = _ref8.nickName,\n        countryCode = _ref8.countryCode,\n        autoLogin = _ref8.autoLogin;\n\n    return this.getSession().then(function (session) {\n      var session_id = session.session_id,\n          session_key = session.session_key;\n      var encryptMobile = Object(_crypto__WEBPACK_IMPORTED_MODULE_5__[\"encryptByDes\"])(mobile, session_key);\n      var encryptPassword = Object(_crypto__WEBPACK_IMPORTED_MODULE_5__[\"encryptByDes\"])(nd_md5s__WEBPACK_IMPORTED_MODULE_3___default()(password, _config__WEBPACK_IMPORTED_MODULE_6__[\"PASSWORD_CONFUSE\"]), session_key);\n      var data = {\n        session_id: session_id,\n        mobile: encryptMobile,\n        password: encryptPassword,\n        sms_code: smsCode,\n        nick_name: nickName,\n        country_code: countryCode,\n        auto_login: autoLogin\n      };\n\n      var token = _this6.getToken(); // token存在并且为游客时携带认证头\n\n\n      var needAuthHeader = token && token.account_type === _config__WEBPACK_IMPORTED_MODULE_6__[\"ACCOUNT_TYPE\"].GUEST;\n      return _this6._ucGateway.registerPersonAccountByMobile(data, needAuthHeader).then(function (result) {\n        result = Object(_crypto__WEBPACK_IMPORTED_MODULE_5__[\"decryptToken\"])(result, session_key); // 自动登录时，保持返回的Token\n\n        if (autoLogin) {\n          _this6._ucToken.saveToken(result);\n        }\n\n        return result;\n      });\n    });\n  }\n  /**\n   * 邮箱注册\n   *\n   * @param {Object} options 参数\n   * @param {number} options.emailVerificationMode 邮箱验证模式:0 邮件验证码,1 确认邮件\n   * @param {string} options.email 邮箱地址\n   * @param {string} options.password 密码\n   * @param {string} [options.nickName] (可选)昵称\n   * @param {string} [options.emailCode] (可选)邮件验证码,当mode为0时,此字段必填\n   * @param {boolean} [options.autoLogin] (可选)注册成功后是否自动登录,为true时,会在注册完成后进行自动登录并返回token信息;默认为false;\n   * @returns {Promise<*>}\n   * @memberof UC2C\n   */\n  ;\n\n  _proto.registerByEmail = function registerByEmail() {\n    var _this7 = this;\n\n    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n    return this.getSession().then(function (session) {\n      var session_id = session.session_id,\n          session_key = session.session_key;\n      var email = options.email,\n          password = options.password,\n          email_verification_mode = options.email_verification_mode,\n          auto_login = options.auto_login;\n      options.session_id = session_id;\n\n      if (email) {\n        options.email = Object(_crypto__WEBPACK_IMPORTED_MODULE_5__[\"encryptByDes\"])(email, session_key);\n      }\n\n      if (password) {\n        options.password = Object(_crypto__WEBPACK_IMPORTED_MODULE_5__[\"encryptByDes\"])(nd_md5s__WEBPACK_IMPORTED_MODULE_3___default()(password, _config__WEBPACK_IMPORTED_MODULE_6__[\"PASSWORD_CONFUSE\"]), session_key);\n      } // 向下兼容\n\n\n      if (typeof email_verification_mode === 'undefined') {\n        options.email_verification_mode = options.mode;\n      }\n\n      var token = _this7.getToken(); // token存在并且为游客时携带认证头\n\n\n      var needAuthHeader = token && token.account_type === _config__WEBPACK_IMPORTED_MODULE_6__[\"ACCOUNT_TYPE\"].GUEST;\n      return _this7._ucGateway.registerPersonAccountByEmail(options, needAuthHeader).then(function (result) {\n        result = Object(_crypto__WEBPACK_IMPORTED_MODULE_5__[\"decryptToken\"])(result, session_key); // 自动登录时，保持返回的Token\n\n        if (auto_login) {\n          _this7._ucToken.saveToken(result);\n        }\n\n        return result;\n      });\n    });\n  }\n  /**\n   * 用户名注册\n   *\n   * @param {Object} options 参数\n   * @param {string} options.userName 用户名，以字母开头,可包含字母、数字、_，最长20字符\n   * @param {string} options.password 密码\n   * @param {string} [options.nickName] (可选)昵称\n   * @param {boolean} [options.autoLogin] (可选)注册成功后是否自动登录,为true时,会在注册完成后进行自动登录并返回token信息;默认为false;\n   * @returns {Promise<*>}\n   * @memberof UC2C\n   */\n  ;\n\n  _proto.registerByUserName = function registerByUserName() {\n    var _this8 = this;\n\n    var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n        userName = _ref9.userName,\n        password = _ref9.password,\n        nickName = _ref9.nickName,\n        autoLogin = _ref9.autoLogin;\n\n    return this.getSession().then(function (session) {\n      var session_id = session.session_id,\n          session_key = session.session_key;\n      var encryptUserName = Object(_crypto__WEBPACK_IMPORTED_MODULE_5__[\"encryptByDes\"])(userName, session_key);\n      var encryptPassword = Object(_crypto__WEBPACK_IMPORTED_MODULE_5__[\"encryptByDes\"])(nd_md5s__WEBPACK_IMPORTED_MODULE_3___default()(password, _config__WEBPACK_IMPORTED_MODULE_6__[\"PASSWORD_CONFUSE\"]), session_key);\n      var data = {\n        session_id: session_id,\n        user_name: encryptUserName,\n        password: encryptPassword,\n        nick_name: nickName,\n        auto_login: autoLogin\n      };\n\n      var token = _this8.getToken(); // token存在并且为游客时携带认证头\n\n\n      var needAuthHeader = token && token.account_type === _config__WEBPACK_IMPORTED_MODULE_6__[\"ACCOUNT_TYPE\"].GUEST;\n      return _this8._ucGateway.registerPersonAccountByUserName(data, needAuthHeader).then(function (result) {\n        result = Object(_crypto__WEBPACK_IMPORTED_MODULE_5__[\"decryptToken\"])(result, session_key); // 自动登录时，保持返回的Token\n\n        if (autoLogin) {\n          _this8._ucToken.saveToken(result);\n        }\n\n        return result;\n      });\n    });\n  }\n  /**\n   * 通过短信重置密码\n   *\n   * @param {Object} options 参数\n   * @param {string} options.mobile 手机号码\n   * @param {string} options.smsCode 手机验证码\n   * @param {string} options.newPassword 新密码\n   * @param {string} [options.countryCode] (可选)国际区号，默认\"+86\"，注：国外的业务需要填写\n   * @returns {Promise<*>}\n   * @memberof UC2C\n   */\n  ;\n\n  _proto.resetPasswordBySMS = function resetPasswordBySMS(options) {\n    var _this9 = this;\n\n    return this.getSession().then(function (session) {\n      var session_id = session.session_id,\n          session_key = session.session_key;\n      var new_password = options.new_password;\n\n      if (new_password) {\n        options.new_password = Object(_crypto__WEBPACK_IMPORTED_MODULE_5__[\"encryptByDes\"])(nd_md5s__WEBPACK_IMPORTED_MODULE_3___default()(new_password, _config__WEBPACK_IMPORTED_MODULE_6__[\"PASSWORD_CONFUSE\"]), session_key);\n      }\n\n      options.session_id = session_id;\n      return _this9._ucGateway.resetPersonAccountPasswordBySMS(options);\n    });\n  }\n  /**\n   * 通过邮箱重置密码\n   *\n   * @param {Object} options 参数\n   * @param {number} options.emailVerificationMode 邮箱验证模式:0 邮件验证码,1 确认邮件\n   * @param {string} [options.email] (可选)邮箱,当mode为0时此参数必填\n   * @param {string} options.emailCode 邮箱验证码，mode为0时为邮箱验证码，为1时为reset_uri的validate_code参数的值\n   * @param {string} options.newPassword 新密码\n   * @returns {Promise<*>}\n   * @memberof UC2C\n   */\n  ;\n\n  _proto.resetPasswordByEmail = function resetPasswordByEmail() {\n    var _this10 = this;\n\n    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n    return this.getSession().then(function (session) {\n      var session_id = session.session_id,\n          session_key = session.session_key;\n      var new_password = options.new_password,\n          email_verification_mode = options.email_verification_mode;\n\n      if (new_password) {\n        options.new_password = Object(_crypto__WEBPACK_IMPORTED_MODULE_5__[\"encryptByDes\"])(nd_md5s__WEBPACK_IMPORTED_MODULE_3___default()(new_password, _config__WEBPACK_IMPORTED_MODULE_6__[\"PASSWORD_CONFUSE\"]), session_key);\n      }\n\n      options.session_id = session_id; // 向下兼容\n\n      if (typeof email_verification_mode === 'undefined') {\n        options.email_verification_mode = options.mode;\n      }\n\n      return _this10._ucGateway.resetPersonAccountPasswordByEmail(options);\n    });\n  }\n  /**\n   * 发送重置密码的邮件\n   *\n   * @param {Object} options 参数\n   * @param {string} options.email 邮箱地址\n   * @param {string} options.cipherStrength 0 --密码强度,0为至少低级强度 1为至少中级强度 2为至少要高级强度\n   * @param {string} [options.resetUri] (可选)自定义密码重置页，默认为uc.101.com的密码重置页. 注，web端，必须以https://或者 http:// 开头, 否则会发生邮件链接不能点击的情况\n   * @returns {Promise<*>}\n   * @memberof UC2C\n   */\n  ;\n\n  _proto.sendResetPasswordEmail = function sendResetPasswordEmail() {\n    var _this11 = this;\n\n    var _ref10 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n        email = _ref10.email,\n        cipherStrength = _ref10.cipherStrength,\n        resetUri = _ref10.resetUri;\n\n    return this.getSession().then(function (session) {\n      var session_id = session.session_id,\n          session_key = session.session_key;\n      var encryptEmail = Object(_crypto__WEBPACK_IMPORTED_MODULE_5__[\"encryptByDes\"])(email, session_key);\n      return _this11._ucGateway.sendEmailOfResetPersonAccountPassword({\n        session_id: session_id,\n        email: encryptEmail,\n        cipher_strength: cipherStrength,\n        reset_uri: resetUri\n      });\n    });\n  }\n  /**\n   * 确认绑定邮箱（个人帐户）\n   *\n   * @param {string} validateCode 邮箱验证码\n   * @returns {Promise<*>}\n   * @memberof UC2C\n   */\n  ;\n\n  _proto.confirmBindingPersonAccountEmail = function confirmBindingPersonAccountEmail(validateCode) {\n    return this._ucGateway.confirmBindingPersonAccountEmail(validateCode);\n  }\n  /**\n   * 检查用户名是否存在\n   *\n   * @param {string} userName 用户名\n   * @returns {Promise<*>}\n   * @memberof UC2C\n   */\n  ;\n\n  _proto.checkUserNameExist = function checkUserNameExist(userName) {\n    return this._ucGateway.checkUserNameExist({\n      user_name: userName\n    });\n  };\n\n  return UC2C;\n}(_UCCore__WEBPACK_IMPORTED_MODULE_4__[\"default\"]), (_babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"loginByMobile\", [_dec], Object.getOwnPropertyDescriptor(_class.prototype, \"loginByMobile\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"loginByEmail\", [_dec2], Object.getOwnPropertyDescriptor(_class.prototype, \"loginByEmail\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"loginByUserName\", [_dec3], Object.getOwnPropertyDescriptor(_class.prototype, \"loginByUserName\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"loginBySMS\", [_dec4], Object.getOwnPropertyDescriptor(_class.prototype, \"loginBySMS\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"loginByEmailCode\", [_dec5], Object.getOwnPropertyDescriptor(_class.prototype, \"loginByEmailCode\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"loginByThirdAccount\", [_dec6, _decorator__WEBPACK_IMPORTED_MODULE_9__[\"humpToUnderline\"]], Object.getOwnPropertyDescriptor(_class.prototype, \"loginByThirdAccount\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"loginByThird\", [_decorator__WEBPACK_IMPORTED_MODULE_9__[\"humpToUnderline\"]], Object.getOwnPropertyDescriptor(_class.prototype, \"loginByThird\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"getThirdAccessTokenByCode\", [_dec7, _decorator__WEBPACK_IMPORTED_MODULE_9__[\"humpToUnderline\"]], Object.getOwnPropertyDescriptor(_class.prototype, \"getThirdAccessTokenByCode\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"registerByMobile\", [_dec8], Object.getOwnPropertyDescriptor(_class.prototype, \"registerByMobile\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"registerByEmail\", [_dec9, _decorator__WEBPACK_IMPORTED_MODULE_9__[\"humpToUnderline\"]], Object.getOwnPropertyDescriptor(_class.prototype, \"registerByEmail\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"registerByUserName\", [_dec10], Object.getOwnPropertyDescriptor(_class.prototype, \"registerByUserName\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"resetPasswordBySMS\", [_dec11, _decorator__WEBPACK_IMPORTED_MODULE_9__[\"humpToUnderline\"]], Object.getOwnPropertyDescriptor(_class.prototype, \"resetPasswordBySMS\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"resetPasswordByEmail\", [_dec12, _decorator__WEBPACK_IMPORTED_MODULE_9__[\"humpToUnderline\"]], Object.getOwnPropertyDescriptor(_class.prototype, \"resetPasswordByEmail\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"sendResetPasswordEmail\", [_dec13], Object.getOwnPropertyDescriptor(_class.prototype, \"sendResetPasswordEmail\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"confirmBindingPersonAccountEmail\", [_dec14], Object.getOwnPropertyDescriptor(_class.prototype, \"confirmBindingPersonAccountEmail\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"checkUserNameExist\", [_dec15], Object.getOwnPropertyDescriptor(_class.prototype, \"checkUserNameExist\"), _class.prototype)), _class));\n/* harmony default export */ __webpack_exports__[\"default\"] = (UC2C);\n\n//# sourceURL=webpack://this.SDP.UC/./src/uc/UC2C.js?");

/***/ }),

/***/ "./src/uc/UCAccount/Account/Account.js":
/*!*********************************************!*\
  !*** ./src/uc/UCAccount/Account/Account.js ***!
  \*********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _api_UCGateway__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../api/UCGateway */ \"./src/api/UCGateway.js\");\n/* harmony import */ var _UCSession__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../UCSession */ \"./src/uc/UCSession/index.js\");\n/* harmony import */ var _UCToken__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../UCToken */ \"./src/uc/UCToken/index.js\");\n/* harmony import */ var _error_UCError__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../error/UCError */ \"./src/error/UCError.js\");\n\n\n\n\n/**\n * 帐户基类\n *\n * @class Account\n */\n\nvar Account =\n/*#__PURE__*/\nfunction () {\n  // 帐户类型：'person'-个人帐户 'org'-组织帐户\n  // 网关实例\n  // Session管理实例\n  // Token管理实例\n\n  /**\n   * 构造函数\n   *\n   * @constructor\n   * @param {Object} options 参数\n   * @param {string} options.accountType 帐户类型\n   * @param {UCGateway} options.ucGateway 网关实例\n   * @param {UCSession} options.ucSession Session管理实例\n   * @param {UCToken} options.ucToken Token管理实例\n   */\n  function Account(_ref) {\n    var accountType = _ref.accountType,\n        ucGateway = _ref.ucGateway,\n        ucSession = _ref.ucSession,\n        ucToken = _ref.ucToken;\n    this._accountType = void 0;\n    this._ucGateway = void 0;\n    this._ucSession = void 0;\n    this._ucToken = void 0;\n    this._accountType = accountType;\n    this._ucGateway = ucGateway;\n    this._ucSession = ucSession;\n    this._ucToken = ucToken;\n  }\n  /**\n   * 获取帐户类型：'person'-个人帐户 'org'-组织帐户\n   *\n   * @returns {string}\n   * @memberof Account\n   */\n\n\n  var _proto = Account.prototype;\n\n  _proto.getAccountType = function getAccountType() {\n    return this._accountType;\n  }\n  /**\n   * 获取Token源标记类型\n   *\n   */\n  ;\n\n  _proto.getTokenSourceType = function getTokenSourceType() {\n    var token = this._ucToken.getToken();\n\n    if (!token) {\n      return new _error_UCError__WEBPACK_IMPORTED_MODULE_3__[\"default\"]('UCSDK/NOT_LOGIN');\n    }\n\n    return token.source_token_account_type || this._accountType || '';\n  }\n  /**\n   * 获取登录令牌\n   *\n   * @returns {Promise<*>}\n   * @memberof Account\n   * @protected\n   */\n  ;\n\n  _proto._getLoginToken = function _getLoginToken() {\n    var token = this._ucToken.getToken();\n\n    if (!token) {\n      return Promise.reject(new _error_UCError__WEBPACK_IMPORTED_MODULE_3__[\"default\"]('UCSDK/NOT_LOGIN'));\n    }\n\n    return Promise.resolve(token);\n  }\n  /**\n   * 获取登录令牌及会话\n   *\n   * @param {boolean} [isForceSession=false] 是否强制获取最新的Session，默认本地\n   * @returns {Promise<*>}\n   * @memberof Account\n   * @protected\n   */\n  ;\n\n  _proto._getLoginTokenAndSession = function _getLoginTokenAndSession() {\n    var isForceSession = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n    return Promise.all([this._getLoginToken(), this._ucSession.getSession(isForceSession)]);\n  };\n\n  return Account;\n}();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Account);\n\n//# sourceURL=webpack://this.SDP.UC/./src/uc/UCAccount/Account/Account.js?");

/***/ }),

/***/ "./src/uc/UCAccount/Account/GuestAccount.js":
/*!**************************************************!*\
  !*** ./src/uc/UCAccount/Account/GuestAccount.js ***!
  \**************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/inheritsLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _Account__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Account */ \"./src/uc/UCAccount/Account/Account.js\");\n/* harmony import */ var _api_UCGateway__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../api/UCGateway */ \"./src/api/UCGateway.js\");\n/* harmony import */ var _UCSession__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../UCSession */ \"./src/uc/UCSession/index.js\");\n/* harmony import */ var _UCToken__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../UCToken */ \"./src/uc/UCToken/index.js\");\n/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../config */ \"./src/config/index.js\");\n\n\n\n\n\n\n/**\n * 游客帐户\n *\n */\n\nvar GuestAccount =\n/*#__PURE__*/\nfunction (_Account) {\n  _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0___default()(GuestAccount, _Account);\n\n  /**\n   * 构造函数\n   *\n   * @constructor\n   * @param {Object} options 参数\n   * @param {UCGateway} options.ucGateway 网关实例\n   * @param {UCSession} options.ucSession Session管理实例\n   * @param {UCToken} options.ucToken Token管理实例\n   */\n  function GuestAccount(_ref) {\n    var ucGateway = _ref.ucGateway,\n        ucSession = _ref.ucSession,\n        ucToken = _ref.ucToken;\n    return _Account.call(this, {\n      accountType: _config__WEBPACK_IMPORTED_MODULE_5__[\"ACCOUNT_TYPE\"].GUEST,\n      ucGateway: ucGateway,\n      ucSession: ucSession,\n      ucToken: ucToken\n    }) || this;\n  }\n\n  return GuestAccount;\n}(_Account__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (GuestAccount);\n\n//# sourceURL=webpack://this.SDP.UC/./src/uc/UCAccount/Account/GuestAccount.js?");

/***/ }),

/***/ "./src/uc/UCAccount/Account/OrgAccount.js":
/*!************************************************!*\
  !*** ./src/uc/UCAccount/Account/OrgAccount.js ***!
  \************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/inheritsLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/applyDecoratedDescriptor */ \"./node_modules/@babel/runtime/helpers/applyDecoratedDescriptor.js\");\n/* harmony import */ var _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var nd_md5s__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! nd-md5s */ \"./node_modules/nd-md5s/index.js\");\n/* harmony import */ var nd_md5s__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(nd_md5s__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _Account__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Account */ \"./src/uc/UCAccount/Account/Account.js\");\n/* harmony import */ var _api_UCGateway__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../api/UCGateway */ \"./src/api/UCGateway.js\");\n/* harmony import */ var _UCSession__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../UCSession */ \"./src/uc/UCSession/index.js\");\n/* harmony import */ var _UCToken__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../UCToken */ \"./src/uc/UCToken/index.js\");\n/* harmony import */ var _crypto__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../crypto */ \"./src/crypto/index.js\");\n/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../config */ \"./src/config/index.js\");\n/* harmony import */ var _validation__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../validation */ \"./src/validation/index.js\");\n/* harmony import */ var _validation_validators__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../validation/validators */ \"./src/validation/validators.js\");\n/* harmony import */ var _decorator__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../../decorator */ \"./src/decorator/index.js\");\n/* harmony import */ var _utils_func__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../../utils/func */ \"./src/utils/func.js\");\n\n\n\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _class;\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * 组织帐户\n *\n * @class OrgAccount\n * @extends {Account}\n */\n\nvar OrgAccount = (_dec = Object(_validation__WEBPACK_IMPORTED_MODULE_10__[\"default\"])([{\n  key: 'withExt',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].boolean,\n  config: {\n    required: false\n  }\n}]), _dec2 = Object(_validation__WEBPACK_IMPORTED_MODULE_10__[\"default\"])([{\n  key: 'options',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].object,\n  config: {\n    required: false\n  }\n}, {\n  key: 'realName',\n  path: '0.realName',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    required: false\n  }\n}, {\n  key: 'nickName',\n  path: '0.nickName',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    required: false\n  }\n}, {\n  key: 'avatarSource',\n  path: '0.avatarSource',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].number,\n  config: {\n    required: false\n  }\n}, {\n  key: 'avatarData',\n  path: '0.avatarData',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    required: false\n  }\n}, {\n  key: 'countryCode',\n  path: '0.countryCode',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    required: false\n  }\n}, {\n  key: 'mobile',\n  path: '0.mobile',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    required: false\n  }\n}, {\n  key: 'email',\n  path: '0.email',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    required: false\n  }\n}, {\n  key: 'telephone',\n  path: '0.telephone',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    required: false\n  }\n}, {\n  key: 'passport',\n  path: '0.passport',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    required: false\n  }\n}, {\n  key: 'idCard',\n  path: '0.idCard',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    required: false\n  }\n}, {\n  key: 'birthday',\n  path: '0.birthday',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    required: false\n  }\n}, {\n  key: 'gender',\n  path: '0.gender',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].number,\n  config: {\n    required: false\n  }\n}, {\n  key: 'extInfo',\n  path: '0.extInfo',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].object,\n  config: {\n    required: false\n  }\n}]), _dec3 = Object(_validation__WEBPACK_IMPORTED_MODULE_10__[\"default\"])([{\n  key: 'options',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].object\n}, {\n  key: 'oldPassword',\n  path: '0.oldPassword',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'newPassword',\n  path: '0.newPassword',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}]), _dec4 = Object(_validation__WEBPACK_IMPORTED_MODULE_10__[\"default\"])([{\n  key: 'identifyCode',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    required: false\n  }\n}]), _dec5 = Object(_validation__WEBPACK_IMPORTED_MODULE_10__[\"default\"])([{\n  key: 'smsCode',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}]), _dec6 = Object(_validation__WEBPACK_IMPORTED_MODULE_10__[\"default\"])([{\n  key: 'options',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].object\n}, {\n  key: 'newMobile',\n  path: '0.newMobile',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'smsCode',\n  path: '0.smsCode',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'countryCode',\n  path: '0.countryCode',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    required: false\n  }\n}]), _dec7 = Object(_validation__WEBPACK_IMPORTED_MODULE_10__[\"default\"])([{\n  key: 'options',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].object\n}, {\n  key: 'newEmail',\n  path: '0.newEmail',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'emailCode',\n  path: '0.emailCode',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    required: false,\n    enableEmptyString: false\n  }\n}]), (_class =\n/*#__PURE__*/\nfunction (_Account) {\n  _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default()(OrgAccount, _Account);\n\n  /**\n   * 构造函数\n   *\n   * @constructor\n   * @param {Object} options 参数\n   * @param {UCGateway} options.ucGateway 网关实例\n   * @param {UCSession} options.ucSession Session管理实例\n   * @param {UCToken} options.ucToken Token管理实例\n   */\n  function OrgAccount(_ref) {\n    var ucGateway = _ref.ucGateway,\n        ucSession = _ref.ucSession,\n        ucToken = _ref.ucToken;\n    return _Account.call(this, {\n      accountType: _config__WEBPACK_IMPORTED_MODULE_9__[\"ACCOUNT_TYPE\"].ORG,\n      ucGateway: ucGateway,\n      ucSession: ucSession,\n      ucToken: ucToken\n    }) || this;\n  }\n  /**\n   * 获取帐户信息\n   *\n   * @param {boolean} [withExt] 是否返回扩展信息，默认true：返回\n   * @returns {Promise<*>}\n   * @memberof OrgAccount\n   */\n\n\n  var _proto = OrgAccount.prototype;\n\n  _proto.getAccountInfo = function getAccountInfo(withExt) {\n    var _this = this;\n\n    return this._getLoginToken().then(function (token) {\n      return _this._ucGateway.getUserInfo(token, withExt);\n    }).then(function (data) {\n      return Object(_utils_func__WEBPACK_IMPORTED_MODULE_13__[\"preventXss\"])(data);\n    });\n  }\n  /**\n   * 获取组织帐户公开信息\n   *\n   * @param {Object} options 参数\n   * @param {string} [options.userId] 组织帐户Id，默认为当前帐户\n   * @returns {Promise<*>}\n   * @memberof OrgAccount\n   */\n  ;\n\n  _proto.getAccountPublicInfo = function getAccountPublicInfo() {\n    var _this2 = this;\n\n    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n    return this._getLoginToken().then(function (token) {\n      return _this2._ucGateway.getOrgAccountPublicInfo(token, options);\n    });\n  }\n  /**\n   * 设置帐户信息\n   *\n   * @param {Object} options 参数\n   * @param {string} [options.realName] (可选)成员姓名,修改完real_name,nick_name不允许同时为空\n   * @param {string} [options.nickName] (可选)昵称,修改完real_name,nick_name不允许同时为空\n   * @param {number} [options.avatarSource] (可选)用户头像源,取值:1 cs\n   * @param {string} [options.avatarData] (可选)用户头像信息,说明:当avatarSource为1时,此字段存的是头像的dentry_id\n   * @param {string} [options.countryCode] (可选)国际区号,如：中国\"+86\"\n   * @param {string} [options.mobile] (可选)手机,手机绑定状态为已绑定的情况不允许修改，只能解绑更新\n   * @param {string} [options.email] (可选)邮箱,邮箱绑定状态为已绑定的情况不允许修改，只能解绑更新\n   * @param {string} [options.telephone] (可选)电话,明文\n   * @param {string} [options.passport] (可选)护照,明文\n   * @param {string} [options.idCard] (可选)身份证,明文\n   * @param {string} [options.birthday] (可选)生日,格式：yyyy-MM-dd，不能是未来时\n   * @param {number} [options.gender] (可选)性别,0不确定 1男 2女，默认0\n   * @param {Object} [options.extInfo] (可选)扩展信息,扩展字段key具体含义由业务方解释、key只允许字母、数字、下划线表示，只能吏用字母打头，最长20个字符\n   * @returns {Promise<*>}\n   * @memberof PersonAccount\n   */\n  ;\n\n  _proto.setAccountInfo = function setAccountInfo() {\n    var _this3 = this;\n\n    var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n        realName = _ref2.realName,\n        nickName = _ref2.nickName,\n        avatarSource = _ref2.avatarSource,\n        avatarData = _ref2.avatarData,\n        countryCode = _ref2.countryCode,\n        mobile = _ref2.mobile,\n        email = _ref2.email,\n        telephone = _ref2.telephone,\n        passport = _ref2.passport,\n        idCard = _ref2.idCard,\n        birthday = _ref2.birthday,\n        gender = _ref2.gender,\n        extInfo = _ref2.extInfo;\n\n    return this._getLoginToken().then(function (token) {\n      return _this3._ucGateway.modifyUserInfo(token, {\n        real_name: realName,\n        nick_name: nickName,\n        country_code: countryCode,\n        avatar_source: avatarSource,\n        avatar_data: avatarData,\n        mobile: mobile,\n        email: email,\n        telephone: telephone,\n        passport: passport,\n        id_card: idCard,\n        birthday: birthday,\n        gender: gender,\n        ext_info: extInfo\n      });\n    });\n  }\n  /**\n   * 修改密码\n   *\n   * @param {Object} options 参数\n   * @param {string} options.oldPassword 旧密码\n   * @param {string} options.newPassword 新密码\n   * @returns {Promise<*>}\n   * @memberof OrgAccount\n   */\n  ;\n\n  _proto.modifyPassword = function modifyPassword() {\n    var _this4 = this;\n\n    var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n        oldPassword = _ref3.oldPassword,\n        newPassword = _ref3.newPassword;\n\n    return this._getLoginTokenAndSession().then(function (_ref4) {\n      var _ref5 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default()(_ref4, 2),\n          token = _ref5[0],\n          session = _ref5[1];\n\n      var session_id = session.session_id,\n          session_key = session.session_key;\n      var encryptOldPassword = Object(_crypto__WEBPACK_IMPORTED_MODULE_8__[\"encryptByDes\"])(nd_md5s__WEBPACK_IMPORTED_MODULE_3___default()(oldPassword, _config__WEBPACK_IMPORTED_MODULE_9__[\"PASSWORD_CONFUSE\"]), session_key);\n      var encryptNewPassword = Object(_crypto__WEBPACK_IMPORTED_MODULE_8__[\"encryptByDes\"])(nd_md5s__WEBPACK_IMPORTED_MODULE_3___default()(newPassword, _config__WEBPACK_IMPORTED_MODULE_9__[\"PASSWORD_CONFUSE\"]), session_key);\n      return _this4._ucGateway.modifyOrgAccountPassword(token, {\n        session_id: session_id,\n        old_password: encryptOldPassword,\n        new_password: encryptNewPassword\n      }).then(function (token) {\n        return _this4._ucToken.saveToken(token);\n      });\n    });\n  }\n  /**\n   * 组织帐户初始密码设置\n   * @param {Object} options 参数\n   * @param {string} [options.initialPassword] 密码\n   */\n  ;\n\n  _proto.modifyOrgAccountInitialPassword = function modifyOrgAccountInitialPassword(options) {\n    var _this5 = this;\n\n    return this._getLoginTokenAndSession().then(function (_ref6) {\n      var _ref7 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default()(_ref6, 2),\n          token = _ref7[0],\n          session = _ref7[1];\n\n      var session_id = session.session_id,\n          session_key = session.session_key;\n      var initial_password = options.initial_password;\n\n      if (initial_password) {\n        options.initial_password = Object(_crypto__WEBPACK_IMPORTED_MODULE_8__[\"encryptByDes\"])(nd_md5s__WEBPACK_IMPORTED_MODULE_3___default()(initial_password, _config__WEBPACK_IMPORTED_MODULE_9__[\"PASSWORD_CONFUSE\"]), session_key);\n      }\n\n      options.session_id = session_id;\n      return _this5._ucGateway.modifyOrgAccountInitialPassword(token, options).then(function (token) {\n        return _this5._ucToken.saveToken(token);\n      });\n    });\n  }\n  /**\n   * 发送短信验证码到当前绑定手机\n   *\n   * @param {string} [identifyCode] (可选)图形验证码\n   * @returns {Promise<*>}\n   * @memberof OrgAccount\n   */\n  ;\n\n  _proto.sendCurrentMobileSMSCode = function sendCurrentMobileSMSCode(identifyCode) {\n    var _this6 = this;\n\n    return this._getLoginTokenAndSession().then(function (_ref8) {\n      var _ref9 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default()(_ref8, 2),\n          token = _ref9[0],\n          session = _ref9[1];\n\n      return _this6._ucGateway.sendSMSCodeToOrgAccountMobile(token, {\n        session_id: session.session_id,\n        identify_code: identifyCode\n      });\n    });\n  }\n  /**\n   * 验证当前绑定手机的短信验证码\n   *\n   * @param {string} smsCode 短信验证码\n   * @returns {Promise<*>}\n   * @memberof OrgAccount\n   */\n  ;\n\n  _proto.validCurrentMobileSMSCode = function validCurrentMobileSMSCode(smsCode) {\n    var _this7 = this;\n\n    return this._getLoginTokenAndSession().then(function (_ref10) {\n      var _ref11 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default()(_ref10, 2),\n          token = _ref11[0],\n          session = _ref11[1];\n\n      return _this7._ucGateway.validSMSCodeOfOrgAccountMobile(token, {\n        session_id: session.session_id,\n        sms_code: smsCode\n      });\n    });\n  }\n  /**\n   * 绑定手机（含更新绑定）\n   *\n   * @param {Object} options 参数\n   * @param {string} options.newMobile 新手机号\n   * @param {string} options.smsCode 短信验证码\n   * @param {string} [options.countryCode] (可选)国际区号，默认\"+86\"，注：国外的业务需要填写\n   * @returns {Promise<*>}\n   * @memberof OrgAccount\n   */\n  ;\n\n  _proto.bindMobile = function bindMobile() {\n    var _this8 = this;\n\n    var _ref12 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n        newMobile = _ref12.newMobile,\n        smsCode = _ref12.smsCode,\n        countryCode = _ref12.countryCode;\n\n    return this._getLoginTokenAndSession().then(function (_ref13) {\n      var _ref14 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default()(_ref13, 2),\n          token = _ref14[0],\n          session = _ref14[1];\n\n      return _this8._ucGateway.bindOrgAccountMobile(token, {\n        session_id: session.session_id,\n        new_mobile: newMobile,\n        sms_code: smsCode,\n        country_code: countryCode\n      });\n    });\n  }\n  /**\n   * 绑定邮箱（含更新绑定）\n   *\n   * @param {Object} options 参数\n   * @param {number} options.emailVerificationMode 邮箱验证模式:0 邮件验证码,1 确认邮件\n   * @param {string} options.newEmail 新邮箱地址\n   * @param {string} [options.emailCode] (可选)邮件验证码,当mode为0时,此字段必填\n   * @returns {Promise<*>}\n   * @memberof OrgAccount\n   */\n  ;\n\n  _proto.bindEmail = function bindEmail() {\n    var _this9 = this;\n\n    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n    return this._getLoginTokenAndSession().then(function (_ref15) {\n      var _ref16 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default()(_ref15, 2),\n          token = _ref16[0],\n          session = _ref16[1];\n\n      var session_id = session.session_id;\n      var email_verification_mode = options.email_verification_mode;\n      options.session_id = session_id; // 向下兼容\n\n      if (typeof email_verification_mode === 'undefined') {\n        options.email_verification_mode = options.mode;\n      }\n\n      return _this9._ucGateway.bindOrgAccountEmail(token, options);\n    });\n  }\n  /**\n   * 解绑邮箱\n   *\n   * @returns {Promise<*>}\n   * @memberof OrgAccount\n   */\n  ;\n\n  _proto.unbindEmail = function unbindEmail() {\n    var _this10 = this;\n\n    return this._getLoginToken().then(function (token) {\n      return _this10._ucGateway.unbindOrgAccountEmail(token);\n    });\n  }\n  /**\n   * 获取绑定的第三方帐户列表\n   *\n   * @returns {Promise<*>}\n   * @memberof OrgAccount\n   */\n  ;\n\n  _proto.getBindingThirdAccountList = function getBindingThirdAccountList() {\n    var _this11 = this;\n\n    return this._getLoginToken().then(function (token) {\n      return _this11._ucGateway.getBindingThirdAccountListOfOrgAccount(token);\n    });\n  }\n  /**\n   * 获取绑定的个人帐户\n   *\n   * @returns {Promise<*>}\n   * @memberof OrgAccount\n   */\n  ;\n\n  _proto.getBindingPersonAccount = function getBindingPersonAccount() {\n    var _this12 = this;\n\n    return this._getLoginToken().then(function (token) {\n      return _this12._ucGateway.getBindingPersonAccountOfOrgAccount(token);\n    });\n  };\n\n  return OrgAccount;\n}(_Account__WEBPACK_IMPORTED_MODULE_4__[\"default\"]), (_babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"getAccountInfo\", [_dec], Object.getOwnPropertyDescriptor(_class.prototype, \"getAccountInfo\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"getAccountPublicInfo\", [_decorator__WEBPACK_IMPORTED_MODULE_12__[\"humpToUnderline\"]], Object.getOwnPropertyDescriptor(_class.prototype, \"getAccountPublicInfo\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"setAccountInfo\", [_dec2], Object.getOwnPropertyDescriptor(_class.prototype, \"setAccountInfo\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"modifyPassword\", [_dec3], Object.getOwnPropertyDescriptor(_class.prototype, \"modifyPassword\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"modifyOrgAccountInitialPassword\", [_decorator__WEBPACK_IMPORTED_MODULE_12__[\"humpToUnderline\"]], Object.getOwnPropertyDescriptor(_class.prototype, \"modifyOrgAccountInitialPassword\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"sendCurrentMobileSMSCode\", [_dec4], Object.getOwnPropertyDescriptor(_class.prototype, \"sendCurrentMobileSMSCode\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"validCurrentMobileSMSCode\", [_dec5], Object.getOwnPropertyDescriptor(_class.prototype, \"validCurrentMobileSMSCode\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"bindMobile\", [_dec6], Object.getOwnPropertyDescriptor(_class.prototype, \"bindMobile\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"bindEmail\", [_dec7], Object.getOwnPropertyDescriptor(_class.prototype, \"bindEmail\"), _class.prototype)), _class));\n/* harmony default export */ __webpack_exports__[\"default\"] = (OrgAccount);\n\n//# sourceURL=webpack://this.SDP.UC/./src/uc/UCAccount/Account/OrgAccount.js?");

/***/ }),

/***/ "./src/uc/UCAccount/Account/PersonAccount.js":
/*!***************************************************!*\
  !*** ./src/uc/UCAccount/Account/PersonAccount.js ***!
  \***************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/inheritsLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/applyDecoratedDescriptor */ \"./node_modules/@babel/runtime/helpers/applyDecoratedDescriptor.js\");\n/* harmony import */ var _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var nd_md5s__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! nd-md5s */ \"./node_modules/nd-md5s/index.js\");\n/* harmony import */ var nd_md5s__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(nd_md5s__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _Account__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Account */ \"./src/uc/UCAccount/Account/Account.js\");\n/* harmony import */ var _api_UCGateway__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../api/UCGateway */ \"./src/api/UCGateway.js\");\n/* harmony import */ var _UCSession__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../UCSession */ \"./src/uc/UCSession/index.js\");\n/* harmony import */ var _UCToken__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../UCToken */ \"./src/uc/UCToken/index.js\");\n/* harmony import */ var _crypto__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../crypto */ \"./src/crypto/index.js\");\n/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../config */ \"./src/config/index.js\");\n/* harmony import */ var _validation__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../validation */ \"./src/validation/index.js\");\n/* harmony import */ var _validation_validators__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../validation/validators */ \"./src/validation/validators.js\");\n/* harmony import */ var _decorator__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../../decorator */ \"./src/decorator/index.js\");\n/* harmony import */ var _utils_func__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../../utils/func */ \"./src/utils/func.js\");\n\n\n\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _class;\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * 个人帐户\n *\n * @class PersonAccount\n * @extends {Account}\n */\n\nvar PersonAccount = (_dec = Object(_validation__WEBPACK_IMPORTED_MODULE_10__[\"default\"])([{\n  key: 'options',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].object,\n  config: {\n    required: false\n  }\n}, {\n  key: 'userName',\n  path: '0.userName',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    required: false\n  }\n}, {\n  key: 'realName',\n  path: '0.realName',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    required: false\n  }\n}, {\n  key: 'nickName',\n  path: '0.nickName',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    required: false\n  }\n}, {\n  key: 'avatarSource',\n  path: '0.avatarSource',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].number,\n  config: {\n    required: false\n  }\n}, {\n  key: 'avatarData',\n  path: '0.avatarData',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    required: false\n  }\n}, {\n  key: 'telephone',\n  path: '0.telephone',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    required: false\n  }\n}, {\n  key: 'passport',\n  path: '0.passport',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    required: false\n  }\n}, {\n  key: 'idCard',\n  path: '0.idCard',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    required: false\n  }\n}, {\n  key: 'birthday',\n  path: '0.birthday',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    required: false\n  }\n}, {\n  key: 'gender',\n  path: '0.gender',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].number,\n  config: {\n    required: false\n  }\n}, {\n  key: 'extInfo',\n  path: '0.extInfo',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].object,\n  config: {\n    required: false\n  }\n}]), _dec2 = Object(_validation__WEBPACK_IMPORTED_MODULE_10__[\"default\"])([{\n  key: 'options',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].object\n}, {\n  key: 'oldPassword',\n  path: '0.oldPassword',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'newPassword',\n  path: '0.newPassword',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}]), _dec3 = Object(_validation__WEBPACK_IMPORTED_MODULE_10__[\"default\"])([{\n  key: 'identifyCode',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    required: false\n  }\n}]), _dec4 = Object(_validation__WEBPACK_IMPORTED_MODULE_10__[\"default\"])([{\n  key: 'smsCode',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}]), _dec5 = Object(_validation__WEBPACK_IMPORTED_MODULE_10__[\"default\"])([{\n  key: 'options',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].object\n}, {\n  key: 'newMobile',\n  path: '0.newMobile',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'smsCode',\n  path: '0.smsCode',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'countryCode',\n  path: '0.countryCode',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    required: false\n  }\n}, {\n  key: 'newPassword',\n  path: '0.newPassword',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    required: false,\n    enableEmptyString: false\n  }\n}]), _dec6 = Object(_validation__WEBPACK_IMPORTED_MODULE_10__[\"default\"])([{\n  key: 'options',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].object\n}, {\n  key: 'newEmail',\n  path: '0.newEmail',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'emailCode',\n  path: '0.emailCode',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    required: false,\n    enableEmptyString: false\n  }\n}]), _dec7 = Object(_validation__WEBPACK_IMPORTED_MODULE_10__[\"default\"])([{\n  key: 'options',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].object\n}, {\n  key: 'openId',\n  path: '0.openId',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'appId',\n  path: '0.appId',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'sourcePlat',\n  path: '0.sourcePlat',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'thirdAccessToken',\n  path: '0.thirdAccessToken',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}]), _dec8 = Object(_validation__WEBPACK_IMPORTED_MODULE_10__[\"default\"])([{\n  key: 'options',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].object\n}, {\n  key: 'orgUserCode',\n  path: '0.orgUserCode',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string\n}, {\n  key: 'orgCode',\n  path: '0.orgCode',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string\n}, {\n  key: 'password',\n  path: '0.password',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string\n}]), _dec9 = Object(_validation__WEBPACK_IMPORTED_MODULE_10__[\"default\"])([{\n  key: 'options',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].object\n}, {\n  key: 'userId',\n  path: '0.userId',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}]), _dec10 = Object(_validation__WEBPACK_IMPORTED_MODULE_10__[\"default\"])([{\n  key: 'options',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].object\n}, {\n  key: 'openId',\n  path: '0.openId',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'appId',\n  path: '0.appId',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'sourcePlat',\n  path: '0.sourcePlat',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}]), _dec11 = Object(_validation__WEBPACK_IMPORTED_MODULE_10__[\"default\"])([{\n  key: '$offset',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].number,\n  config: {\n    required: false\n  }\n}, {\n  key: '$limit',\n  path: '1',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].number,\n  config: {\n    required: false\n  }\n}]), _dec12 = Object(_validation__WEBPACK_IMPORTED_MODULE_10__[\"default\"])([{\n  key: 'options',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].object\n}]), _dec13 = Object(_validation__WEBPACK_IMPORTED_MODULE_10__[\"default\"])([{\n  key: 'options',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_11__[\"default\"].object\n}]), (_class =\n/*#__PURE__*/\nfunction (_Account) {\n  _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default()(PersonAccount, _Account);\n\n  /**\n   * 构造函数\n   *\n   * @constructor\n   * @param {Object} options 参数\n   * @param {UCGateway} options.ucGateway 网关实例\n   * @param {UCSession} options.ucSession Session管理实例\n   * @param {UCToken} options.ucToken Token管理实例\n   */\n  function PersonAccount(_ref) {\n    var ucGateway = _ref.ucGateway,\n        ucSession = _ref.ucSession,\n        ucToken = _ref.ucToken;\n    return _Account.call(this, {\n      accountType: _config__WEBPACK_IMPORTED_MODULE_9__[\"ACCOUNT_TYPE\"].PERSON,\n      ucGateway: ucGateway,\n      ucSession: ucSession,\n      ucToken: ucToken\n    }) || this;\n  }\n  /**\n   * 获取帐户信息\n   *\n   * @returns {Promise<*>}\n   * @memberof PersonAccount\n   */\n\n\n  var _proto = PersonAccount.prototype;\n\n  _proto.getAccountInfo = function getAccountInfo() {\n    var _this = this;\n\n    return this._getLoginToken().then(function (token) {\n      return _this._ucGateway.getPersonAccountInfo(token);\n    }).then(function (data) {\n      return Object(_utils_func__WEBPACK_IMPORTED_MODULE_13__[\"preventXss\"])(data);\n    });\n  }\n  /**\n   * 设置帐户信息\n   *\n   * @param {Object} options 参数\n   * @param {string} [options.userName] (可选)用户名\n   * @param {string} [options.realName] (可选)用户姓名\n   * @param {string} [options.nickName] (可选)昵称\n   * @param {number} [options.avatarSource] (可选)用户头像源,取值:1 cs\n   * @param {string} [options.avatarData] (可选)用户头像信息,说明:当avatarSource为1时,此字段存的是头像的dentry_id\n   * @param {string} [options.telephone] (可选)电话,明文\n   * @param {string} [options.passport] (可选)护照,明文\n   * @param {string} [options.idCard] (可选)身份证,明文\n   * @param {string} [options.birthday] (可选)生日\n   * @param {number} [options.gender] (可选)性别,0不确定 1男 2女，默认0\n   * @param {Object} [options.extInfo] (可选)扩展信息,扩展字段key具体含义由业务方解释、key只允许字母、数字、下划线表示，只能吏用字母打头，最长20个字符\n   * @returns {Promise<*>}\n   * @memberof PersonAccount\n   */\n  ;\n\n  _proto.setAccountInfo = function setAccountInfo() {\n    var _this2 = this;\n\n    var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n        userName = _ref2.userName,\n        realName = _ref2.realName,\n        nickName = _ref2.nickName,\n        avatarSource = _ref2.avatarSource,\n        avatarData = _ref2.avatarData,\n        telephone = _ref2.telephone,\n        passport = _ref2.passport,\n        idCard = _ref2.idCard,\n        birthday = _ref2.birthday,\n        gender = _ref2.gender,\n        extInfo = _ref2.extInfo;\n\n    return this._getLoginToken().then(function (token) {\n      return _this2._ucGateway.modifyPersonAccountInfo(token, {\n        user_name: userName,\n        real_name: realName,\n        nick_name: nickName,\n        avatar_source: avatarSource,\n        avatar_data: avatarData,\n        telephone: telephone,\n        passport: passport,\n        id_card: idCard,\n        birthday: birthday,\n        gender: gender,\n        ext_info: extInfo\n      });\n    });\n  }\n  /**\n   * 修改密码\n   *\n   * @param {Object} options 参数\n   * @param {string} options.oldPassword 旧密码\n   * @param {string} options.newPassword 新密码\n   * @returns {Promise<*>}\n   * @memberof PersonAccount\n   */\n  ;\n\n  _proto.modifyPassword = function modifyPassword() {\n    var _this3 = this;\n\n    var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n        oldPassword = _ref3.oldPassword,\n        newPassword = _ref3.newPassword;\n\n    return this._getLoginTokenAndSession().then(function (_ref4) {\n      var _ref5 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default()(_ref4, 2),\n          token = _ref5[0],\n          session = _ref5[1];\n\n      var session_id = session.session_id,\n          session_key = session.session_key;\n      var encryptOldPassword = Object(_crypto__WEBPACK_IMPORTED_MODULE_8__[\"encryptByDes\"])(nd_md5s__WEBPACK_IMPORTED_MODULE_3___default()(oldPassword, _config__WEBPACK_IMPORTED_MODULE_9__[\"PASSWORD_CONFUSE\"]), session_key);\n      var encryptNewPassword = Object(_crypto__WEBPACK_IMPORTED_MODULE_8__[\"encryptByDes\"])(nd_md5s__WEBPACK_IMPORTED_MODULE_3___default()(newPassword, _config__WEBPACK_IMPORTED_MODULE_9__[\"PASSWORD_CONFUSE\"]), session_key);\n      return _this3._ucGateway.modifyPersonAccountPasswordByOldPassword(token, {\n        session_id: session_id,\n        old_password: encryptOldPassword,\n        new_password: encryptNewPassword\n      }).then(function (token) {\n        return _this3._ucToken.saveToken(token);\n      });\n    });\n  }\n  /**\n   * 发送短信验证码到当前绑定手机\n   *\n   * @param {string} [identifyCode] (可选)图形验证码\n   * @returns {Promise<*>}\n   * @memberof PersonAccount\n   */\n  ;\n\n  _proto.sendCurrentMobileSMSCode = function sendCurrentMobileSMSCode(identifyCode) {\n    var _this4 = this;\n\n    return this._getLoginTokenAndSession().then(function (_ref6) {\n      var _ref7 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default()(_ref6, 2),\n          token = _ref7[0],\n          session = _ref7[1];\n\n      return _this4._ucGateway.sendSMSCodeToPersonAccountMobile(token, {\n        session_id: session.session_id,\n        identify_code: identifyCode\n      });\n    });\n  }\n  /**\n   * 验证当前绑定手机的短信验证码\n   *\n   * @param {string} smsCode 短信验证码\n   * @returns {Promise<*>}\n   * @memberof PersonAccount\n   */\n  ;\n\n  _proto.validCurrentMobileSMSCode = function validCurrentMobileSMSCode(smsCode) {\n    var _this5 = this;\n\n    return this._getLoginTokenAndSession().then(function (_ref8) {\n      var _ref9 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default()(_ref8, 2),\n          token = _ref9[0],\n          session = _ref9[1];\n\n      return _this5._ucGateway.validSMSCodeOfPersonAccountMobile(token, {\n        session_id: session.session_id,\n        sms_code: smsCode\n      });\n    });\n  }\n  /**\n   * 绑定手机（含更新绑定）\n   *\n   * @param {Object} options 参数\n   * @param {string} options.newMobile 新手机号\n   * @param {string} options.smsCode 短信验证码\n   * @param {string} [options.countryCode] (可选)国际区号，默认\"+86\"，注：国外的业务需要填写\n   * @param {string} [options.newPassword] (可选)密码,当此字段有值时,会使用其值修改此个人帐户的密码\n   * @returns {Promise<*>}\n   * @memberof PersonAccount\n   */\n  ;\n\n  _proto.bindMobile = function bindMobile() {\n    var _this6 = this;\n\n    var _ref10 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n        newMobile = _ref10.newMobile,\n        smsCode = _ref10.smsCode,\n        countryCode = _ref10.countryCode,\n        newPassword = _ref10.newPassword;\n\n    return this._getLoginTokenAndSession().then(function (_ref11) {\n      var _ref12 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default()(_ref11, 2),\n          token = _ref12[0],\n          session = _ref12[1];\n\n      var session_id = session.session_id,\n          session_key = session.session_key;\n      var encryptNewPassword;\n\n      if (newPassword) {\n        encryptNewPassword = Object(_crypto__WEBPACK_IMPORTED_MODULE_8__[\"encryptByDes\"])(nd_md5s__WEBPACK_IMPORTED_MODULE_3___default()(newPassword, _config__WEBPACK_IMPORTED_MODULE_9__[\"PASSWORD_CONFUSE\"]), session_key);\n      }\n\n      return _this6._ucGateway.bindPersonAccountMobile(token, {\n        session_id: session_id,\n        new_mobile: newMobile,\n        sms_code: smsCode,\n        country_code: countryCode,\n        new_password: encryptNewPassword\n      });\n    });\n  }\n  /**\n   * 绑定邮箱（含更新绑定）\n   *\n   * @param {Object} options 参数\n   * @param {number} options.emailVerificationMode 邮箱验证模式:0 邮件验证码,1 确认邮件\n   * @param {string} options.newEmail 新邮箱地址\n   * @param {string} [options.emailCode] (可选)邮件验证码,当mode为0时,此字段必填\n   * @returns {Promise<*>}\n   * @memberof PersonAccount\n   */\n  ;\n\n  _proto.bindEmail = function bindEmail() {\n    var _this7 = this;\n\n    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n    return this._getLoginTokenAndSession().then(function (_ref13) {\n      var _ref14 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default()(_ref13, 2),\n          token = _ref14[0],\n          session = _ref14[1];\n\n      var session_id = session.session_id;\n      var email_verification_mode = options.email_verification_mode;\n      options.session_id = session_id; // 向下兼容\n\n      if (typeof email_verification_mode === 'undefined') {\n        options.email_verification_mode = options.mode;\n      }\n\n      return _this7._ucGateway.bindPersonAccountEmail(token, options);\n    });\n  }\n  /**\n   * 绑定第三方帐户\n   *\n   * @param {Object} options 参数\n   * @param {string} options.openId 第三方平台给用户分配的Id,如微信、QQ的openId\n   * @param {string} options.appId 第三方平台给应用分配的Id\n   * @param {string} options.sourcePlat 第三方登录来源，目前支持：1)qq 2)weixin 3)sinawb(新浪微博) 6)nd99(nd99帐号) 7)facebook(facebook帐号) 8)twitter(twitter帐号) 10)mmosite(mmosite帐号）13)gzjyc(广州教育城) 14)google(谷歌帐号）\n   * @param {string} options.thirdAccessToken 第三方的access_token\n   * @returns {Promise<*>}\n   * @memberof PersonAccount\n   */\n  ;\n\n  _proto.bindThirdAccount = function bindThirdAccount() {\n    var _this8 = this;\n\n    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n    return this._getLoginToken().then(function (token) {\n      return _this8._ucGateway.bindThirdAccountOfPersonAccount(token, options);\n    });\n  }\n  /**\n   * 绑定组织帐户\n   * @param {Object} options 参数\n   * @param {string} options.orgUserCode 工号\n   * @param {string} options.orgCode 组织编码\n   * @param {string} options.password 密码\n   * @param {string} [options.identify_code] 图形验证码\n   * @returns {Promise<*>}\n   * @memberof PersonAccount\n   */\n  ;\n\n  _proto.bindOrgAccount = function bindOrgAccount(options) {\n    var _this9 = this;\n\n    return this._getLoginTokenAndSession().then(function (_ref15) {\n      var _ref16 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default()(_ref15, 2),\n          token = _ref16[0],\n          session = _ref16[1];\n\n      var session_id = session.session_id,\n          session_key = session.session_key;\n      var org_user_code = options.org_user_code,\n          password = options.password;\n      options.org_user_code = Object(_crypto__WEBPACK_IMPORTED_MODULE_8__[\"encryptByDes\"])(org_user_code, session_key);\n      options.password = Object(_crypto__WEBPACK_IMPORTED_MODULE_8__[\"encryptByDes\"])(nd_md5s__WEBPACK_IMPORTED_MODULE_3___default()(password, _config__WEBPACK_IMPORTED_MODULE_9__[\"PASSWORD_CONFUSE\"]), session_key);\n      options.session_id = session_id;\n      return _this9._ucGateway.bindOrgAccount(token, options).then(function (token) {\n        return Object(_crypto__WEBPACK_IMPORTED_MODULE_8__[\"decryptToken\"])(token, session_key);\n      });\n    });\n  }\n  /**\n   * 解绑组织帐户\n   * @param {Object} options 参数\n   * @param {string} options.userId 组织帐户Id\n   * @param {string} options.password 个人帐户密码\n   */\n  ;\n\n  _proto.unbindOrgAccount = function unbindOrgAccount(options) {\n    var _this10 = this;\n\n    return this._getLoginTokenAndSession().then(function (_ref17) {\n      var _ref18 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default()(_ref17, 2),\n          token = _ref18[0],\n          session = _ref18[1];\n\n      var session_id = session.session_id,\n          session_key = session.session_key;\n      var password = options.password;\n\n      if (password) {\n        options.password = Object(_crypto__WEBPACK_IMPORTED_MODULE_8__[\"encryptByDes\"])(nd_md5s__WEBPACK_IMPORTED_MODULE_3___default()(password, _config__WEBPACK_IMPORTED_MODULE_9__[\"PASSWORD_CONFUSE\"]), session_key);\n      }\n\n      options.session_id = session_id;\n      return _this10._ucGateway.unbindOrgAccount(token, options);\n    });\n  }\n  /**\n   * 解绑邮箱\n   *\n   * @returns {Promise<*>}\n   * @memberof PersonAccount\n   */\n  ;\n\n  _proto.unbindEmail = function unbindEmail() {\n    var _this11 = this;\n\n    return this._getLoginToken().then(function (token) {\n      return _this11._ucGateway.unbindPersonAccountEmail(token);\n    });\n  }\n  /**\n   * 解绑第三方帐户\n   *\n   * @param {Object} options 参数\n   * @param {string} options.openId 第三方平台给用户分配的Id,如微信、QQ的openId\n   * @param {string} options.appId 第三方平台给应用分配的Id\n   * @param {string} options.sourcePlat 第三方登录来源，目前支持：qq,weixin\n   * @returns {Promise<*>}\n   * @memberof PersonAccount\n   */\n  ;\n\n  _proto.unbindThirdAccount = function unbindThirdAccount() {\n    var _this12 = this;\n\n    var _ref19 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n        openId = _ref19.openId,\n        appId = _ref19.appId,\n        sourcePlat = _ref19.sourcePlat;\n\n    return this._getLoginToken().then(function (token) {\n      return _this12._ucGateway.unbindThirdAccountOfPersonAccount(token, {\n        open_id: openId,\n        app_id: appId,\n        source_plat: sourcePlat\n      });\n    });\n  }\n  /**\n   * 获取绑定的第三方帐户列表\n   *\n   * @returns {Promise<*>}\n   * @memberof PersonAccount\n   */\n  ;\n\n  _proto.getBindingThirdAccountList = function getBindingThirdAccountList() {\n    var _this13 = this;\n\n    return this._getLoginToken().then(function (token) {\n      return _this13._ucGateway.getBindingThirdAccountListOfPersonAccount(token);\n    });\n  }\n  /**\n   * 获取绑定的组织帐户列表\n   *\n   * @param {Object} options 参数\n   * @param {number} [options.offset] 偏移量 >=0\n   * @param {number} [options.limit] 单页最大数量[1, 100]\n   * @param {boolean} [options.isFilter] 是否根据sdp-app-id过滤组织帐号，非必填，默认false,不过滤\n   * @returns {Promise<*>}\n   * @memberof PersonAccount\n   */\n  ;\n\n  _proto.getBindingOrgAccountList = function getBindingOrgAccountList(options) {\n    var _this14 = this;\n\n    return this._getLoginToken().then(function (token) {\n      return _this14._ucGateway.getBindingOrgAccountList(token, options);\n    });\n  }\n  /**\n   * 获取个人帐户关联的组织帐户列表(只能获取本人相关数据)\n   *\n   * @param {number} [$offset] 偏移量 >=0\n   * @param {number} [$limit] 单页最大数量[1, 100]\n   * @returns {Promise<*>}\n   * @memberof PersonAccount\n   */\n  ;\n\n  _proto.getRelatedOrgAccountList = function getRelatedOrgAccountList($offset, $limit) {\n    var _this15 = this;\n\n    return this._getLoginToken().then(function (token) {\n      return _this15._ucGateway.getRelatedOrgAccountListOfPersonAccount(token, $offset, $limit);\n    });\n  }\n  /**\n   * 获取个人帐户关联的组织帐户节点路径消息\n   *\n   * @returns {Promise<*>}\n   * @memberof PersonAccount\n   */\n  ;\n\n  _proto.getRelatedOrgAccountNodePath = function getRelatedOrgAccountNodePath() {\n    var _this16 = this;\n\n    return this._getLoginToken().then(function (token) {\n      return _this16._ucGateway.getRelatedOrgAccountNodePathOfPersonAccount(token);\n    });\n  }\n  /**\n   * 个人帐户加入组织\n   *\n   * @param {Object} options 参数\n   * @param {string} options.orgCode 要加入的组织的组织编码\n   * @param {number} [options.nodeId] (可选)加入的节点,默认为根节点\n   * @returns {Promise<*>}\n   * @memberof PersonAccount\n   */\n  ;\n\n  _proto.joinOrganization = function joinOrganization(options) {\n    var _this17 = this;\n\n    return this._getLoginTokenAndSession().then(function (_ref20) {\n      var _ref21 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default()(_ref20, 2),\n          token = _ref21[0],\n          session = _ref21[1];\n\n      var session_id = session.session_id,\n          session_key = session.session_key;\n      options.session_id = session_id;\n      return _this17._ucGateway.joinOrganization(token, options).then(function (token) {\n        return Object(_crypto__WEBPACK_IMPORTED_MODULE_8__[\"decryptToken\"])(token, session_key);\n      });\n    });\n  }\n  /**\n   * 个人帐户修改组织帐户密码\n   *\n   * @param {Object} options 参数\n   * @param {string} options.userId 组织帐户ID\n   * @param {string} options.oldPassword 旧密码\n   * @param {string} options.newPassword 新密码\n   * @param {boolean} [replace=false] 是否替换当前的token，默认否，为false\n   * @returns {Promise<*>}\n   * @memberof OrgAccount\n   */\n  ;\n\n  _proto.modifyOrgAccountPassword = function modifyOrgAccountPassword() {\n    var _this18 = this;\n\n    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n    var replace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n    return this._getLoginTokenAndSession().then(function (_ref22) {\n      var _ref23 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default()(_ref22, 2),\n          token = _ref23[0],\n          session = _ref23[1];\n\n      var session_id = session.session_id,\n          session_key = session.session_key;\n      var old_password = options.old_password,\n          new_password = options.new_password;\n      options.old_password = Object(_crypto__WEBPACK_IMPORTED_MODULE_8__[\"encryptByDes\"])(nd_md5s__WEBPACK_IMPORTED_MODULE_3___default()(old_password, _config__WEBPACK_IMPORTED_MODULE_9__[\"PASSWORD_CONFUSE\"]), session_key);\n      options.new_password = Object(_crypto__WEBPACK_IMPORTED_MODULE_8__[\"encryptByDes\"])(nd_md5s__WEBPACK_IMPORTED_MODULE_3___default()(new_password, _config__WEBPACK_IMPORTED_MODULE_9__[\"PASSWORD_CONFUSE\"]), session_key);\n      options.session_id = session_id;\n      token.user_id = options.user_id;\n      return _this18._ucGateway.modifyOrgAccountPassword(token, options, replace).then(function (token) {\n        if (replace) {\n          _this18._ucToken.saveToken(token);\n        }\n\n        return token;\n      });\n    });\n  };\n\n  return PersonAccount;\n}(_Account__WEBPACK_IMPORTED_MODULE_4__[\"default\"]), (_babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"setAccountInfo\", [_dec], Object.getOwnPropertyDescriptor(_class.prototype, \"setAccountInfo\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"modifyPassword\", [_dec2], Object.getOwnPropertyDescriptor(_class.prototype, \"modifyPassword\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"sendCurrentMobileSMSCode\", [_dec3], Object.getOwnPropertyDescriptor(_class.prototype, \"sendCurrentMobileSMSCode\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"validCurrentMobileSMSCode\", [_dec4], Object.getOwnPropertyDescriptor(_class.prototype, \"validCurrentMobileSMSCode\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"bindMobile\", [_dec5], Object.getOwnPropertyDescriptor(_class.prototype, \"bindMobile\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"bindEmail\", [_dec6, _decorator__WEBPACK_IMPORTED_MODULE_12__[\"humpToUnderline\"]], Object.getOwnPropertyDescriptor(_class.prototype, \"bindEmail\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"bindThirdAccount\", [_dec7, _decorator__WEBPACK_IMPORTED_MODULE_12__[\"humpToUnderline\"]], Object.getOwnPropertyDescriptor(_class.prototype, \"bindThirdAccount\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"bindOrgAccount\", [_dec8, _decorator__WEBPACK_IMPORTED_MODULE_12__[\"humpToUnderline\"]], Object.getOwnPropertyDescriptor(_class.prototype, \"bindOrgAccount\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"unbindOrgAccount\", [_dec9, _decorator__WEBPACK_IMPORTED_MODULE_12__[\"humpToUnderline\"]], Object.getOwnPropertyDescriptor(_class.prototype, \"unbindOrgAccount\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"unbindThirdAccount\", [_dec10], Object.getOwnPropertyDescriptor(_class.prototype, \"unbindThirdAccount\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"getRelatedOrgAccountList\", [_dec11], Object.getOwnPropertyDescriptor(_class.prototype, \"getRelatedOrgAccountList\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"joinOrganization\", [_dec12, _decorator__WEBPACK_IMPORTED_MODULE_12__[\"humpToUnderline\"]], Object.getOwnPropertyDescriptor(_class.prototype, \"joinOrganization\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"modifyOrgAccountPassword\", [_dec13, _decorator__WEBPACK_IMPORTED_MODULE_12__[\"humpToUnderline\"]], Object.getOwnPropertyDescriptor(_class.prototype, \"modifyOrgAccountPassword\"), _class.prototype)), _class));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PersonAccount);\n\n//# sourceURL=webpack://this.SDP.UC/./src/uc/UCAccount/Account/PersonAccount.js?");

/***/ }),

/***/ "./src/uc/UCAccount/Account/index.js":
/*!*******************************************!*\
  !*** ./src/uc/UCAccount/Account/index.js ***!
  \*******************************************/
/*! exports provided: GuestAccount, OrgAccount, PersonAccount */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _GuestAccount__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./GuestAccount */ \"./src/uc/UCAccount/Account/GuestAccount.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"GuestAccount\", function() { return _GuestAccount__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _OrgAccount__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./OrgAccount */ \"./src/uc/UCAccount/Account/OrgAccount.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"OrgAccount\", function() { return _OrgAccount__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _PersonAccount__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PersonAccount */ \"./src/uc/UCAccount/Account/PersonAccount.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PersonAccount\", function() { return _PersonAccount__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n\n\n\n\n\n//# sourceURL=webpack://this.SDP.UC/./src/uc/UCAccount/Account/index.js?");

/***/ }),

/***/ "./src/uc/UCAccount/index.js":
/*!***********************************!*\
  !*** ./src/uc/UCAccount/index.js ***!
  \***********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _api_UCGateway__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../api/UCGateway */ \"./src/api/UCGateway.js\");\n/* harmony import */ var _Account__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Account */ \"./src/uc/UCAccount/Account/index.js\");\n/* harmony import */ var _UCSession__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../UCSession */ \"./src/uc/UCSession/index.js\");\n/* harmony import */ var _UCToken__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../UCToken */ \"./src/uc/UCToken/index.js\");\n/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../config */ \"./src/config/index.js\");\n\n\n\n\n\n/**\n * Account管理类\n *\n * @class UCAccount\n */\n\nvar UCAccount =\n/*#__PURE__*/\nfunction () {\n  // UC网关实例\n  // Session管理实例\n  // Token管理实例\n  // 缓存的Token对象\n  // 当前登录帐户\n\n  /**\n   * 构造函数\n   *\n   * @constructor\n   * @param {UCGateway} ucGateway UC网关实例\n   * @param {UCSession} ucSession Session管理实例\n   * @param {UCToken} ucToken Token管理实例\n   */\n  function UCAccount(ucGateway, ucSession, ucToken) {\n    this._ucGateway = void 0;\n    this._ucSession = void 0;\n    this._ucToken = void 0;\n    this._cachedToken = void 0;\n    this._currentAccount = void 0;\n    this._ucGateway = ucGateway;\n    this._ucSession = ucSession;\n    this._ucToken = ucToken;\n  }\n  /**\n   * 获取当前登录帐户\n   *\n   * @returns {(?(OrgAccount | PersonAccount))}\n   * @memberof UCAccount\n   */\n\n\n  var _proto = UCAccount.prototype;\n\n  _proto.getCurrentAccount = function getCurrentAccount() {\n    var token = this._ucToken.getToken();\n\n    if (token !== this._cachedToken) {\n      // token变了，需要重置当前登录帐户\n      this._currentAccount = this._resetCurrentAccount(token);\n      this._cachedToken = token;\n    }\n\n    return this._currentAccount;\n  };\n\n  _proto._resetCurrentAccount = function _resetCurrentAccount(token) {\n    if (token) {\n      var account_type = token.account_type;\n      var params = {\n        ucGateway: this._ucGateway,\n        ucSession: this._ucSession,\n        ucToken: this._ucToken\n      };\n\n      if (account_type === _config__WEBPACK_IMPORTED_MODULE_4__[\"ACCOUNT_TYPE\"].ORG) {\n        return new _Account__WEBPACK_IMPORTED_MODULE_1__[\"OrgAccount\"](params);\n      } else if (account_type === _config__WEBPACK_IMPORTED_MODULE_4__[\"ACCOUNT_TYPE\"].PERSON) {\n        return new _Account__WEBPACK_IMPORTED_MODULE_1__[\"PersonAccount\"](params);\n      } else if (account_type === _config__WEBPACK_IMPORTED_MODULE_4__[\"ACCOUNT_TYPE\"].GUEST) {\n        return new _Account__WEBPACK_IMPORTED_MODULE_1__[\"GuestAccount\"](params);\n      } else if (+token.user_id) {\n        return new _Account__WEBPACK_IMPORTED_MODULE_1__[\"OrgAccount\"](params);\n      }\n\n      return new _Account__WEBPACK_IMPORTED_MODULE_1__[\"PersonAccount\"](params);\n    }\n  };\n\n  return UCAccount;\n}();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (UCAccount);\n\n//# sourceURL=webpack://this.SDP.UC/./src/uc/UCAccount/index.js?");

/***/ }),

/***/ "./src/uc/UCCore/index.js":
/*!********************************!*\
  !*** ./src/uc/UCCore/index.js ***!
  \********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/applyDecoratedDescriptor */ \"./node_modules/@babel/runtime/helpers/applyDecoratedDescriptor.js\");\n/* harmony import */ var _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var nd_base64__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! nd-base64 */ \"./node_modules/nd-base64/index.js\");\n/* harmony import */ var nd_base64__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(nd_base64__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var nd_md5s__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! nd-md5s */ \"./node_modules/nd-md5s/index.js\");\n/* harmony import */ var nd_md5s__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(nd_md5s__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var nd_uri_parser__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! nd-uri-parser */ \"./node_modules/nd-uri-parser/index.js\");\n/* harmony import */ var nd_uri_parser__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(nd_uri_parser__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _api_UCGateway__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../api/UCGateway */ \"./src/api/UCGateway.js\");\n/* harmony import */ var _UCSession__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../UCSession */ \"./src/uc/UCSession/index.js\");\n/* harmony import */ var _UCToken__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../UCToken */ \"./src/uc/UCToken/index.js\");\n/* harmony import */ var _UCAccount__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../UCAccount */ \"./src/uc/UCAccount/index.js\");\n/* harmony import */ var _UCAccount_Account__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../UCAccount/Account */ \"./src/uc/UCAccount/Account/index.js\");\n/* harmony import */ var _crypto__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../crypto */ \"./src/crypto/index.js\");\n/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../config */ \"./src/config/index.js\");\n/* harmony import */ var _decorator__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../decorator */ \"./src/decorator/index.js\");\n/* harmony import */ var _validation__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../validation */ \"./src/validation/index.js\");\n/* harmony import */ var _validation_validators__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../validation/validators */ \"./src/validation/validators.js\");\n/* harmony import */ var lodash_merge__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! lodash/merge */ \"./node_modules/lodash/merge.js\");\n/* harmony import */ var lodash_merge__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(lodash_merge__WEBPACK_IMPORTED_MODULE_16__);\n/* harmony import */ var _utils_auth__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../utils/auth */ \"./src/utils/auth.js\");\n/* harmony import */ var _utils_func__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../utils/func */ \"./src/utils/func.js\");\n/* harmony import */ var _utils_window__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../../utils/window */ \"./src/utils/window.js\");\n/* harmony import */ var _utils_logger__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../../utils/logger */ \"./src/utils/logger.js\");\n/* harmony import */ var _utils_storage__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../../utils/storage */ \"./src/utils/storage.js\");\n/* harmony import */ var _error_UCError__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../../error/UCError */ \"./src/error/UCError.js\");\n/* harmony import */ var _manager_Header__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../../manager/Header */ \"./src/manager/Header.js\");\n\n\n\n\nvar _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _class, _class2, _temp;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * UC核心层代码\n *\n * @class UCCore\n */\n\nvar UCCore = (_dec = Object(_validation__WEBPACK_IMPORTED_MODULE_14__[\"default\"])([{\n  key: 'options',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_15__[\"default\"].object,\n  config: {\n    required: false\n  }\n}, {\n  key: 'env',\n  path: '0.env',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_15__[\"default\"].string,\n  config: {\n    required: false\n  }\n}, {\n  key: 'sdpAppId',\n  path: '0.sdpAppId',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_15__[\"default\"].string,\n  config: {\n    required: false\n  }\n}, {\n  key: 'sso',\n  path: '0.sso',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_15__[\"default\"].boolean,\n  config: {\n    required: false\n  }\n}, {\n  key: 'orgName',\n  path: '0.orgName',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_15__[\"default\"].string,\n  config: {\n    required: false\n  }\n}, {\n  key: 'storageExpire',\n  path: '0.storageExpire',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_15__[\"default\"].number,\n  config: {\n    required: false\n  }\n}, {\n  key: 'origins',\n  path: '0.origins',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_15__[\"default\"].object,\n  config: {\n    required: false\n  }\n}], false), _dec2 = Object(_validation__WEBPACK_IMPORTED_MODULE_14__[\"default\"])([{\n  key: 'isForce',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_15__[\"default\"].boolean,\n  config: {\n    required: false\n  }\n}]), _dec3 = Object(_validation__WEBPACK_IMPORTED_MODULE_14__[\"default\"])([{\n  key: 'isForce',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_15__[\"default\"].boolean,\n  config: {\n    required: false\n  }\n}]), _dec4 = Object(_validation__WEBPACK_IMPORTED_MODULE_14__[\"default\"])([{\n  key: 'identifyCode',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_15__[\"default\"].string\n}]), _dec5 = Object(_validation__WEBPACK_IMPORTED_MODULE_14__[\"default\"])([{\n  key: 'options',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_15__[\"default\"].object\n}, {\n  key: 'loginName',\n  path: '0.loginName',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_15__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'password',\n  path: '0.password',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_15__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'identifyCode',\n  path: '0.identifyCode',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_15__[\"default\"].string,\n  config: {\n    required: false\n  }\n}, {\n  key: 'loginNameType',\n  path: '0.loginNameType',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_15__[\"default\"].string,\n  config: {\n    required: false\n  }\n}, {\n  key: 'accountType',\n  path: '0.accountType',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_15__[\"default\"].string,\n  config: {\n    required: false\n  }\n}, {\n  key: 'countryCode',\n  path: '0.countryCode',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_15__[\"default\"].string,\n  config: {\n    required: false\n  }\n}, {\n  key: 'orgCode',\n  path: '0.orgCode',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_15__[\"default\"].string,\n  config: {\n    required: false\n  }\n}]), _dec6 = Object(_validation__WEBPACK_IMPORTED_MODULE_14__[\"default\"])([{\n  key: 'token',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_15__[\"default\"].object\n}]), _dec7 = Object(_validation__WEBPACK_IMPORTED_MODULE_14__[\"default\"])([{\n  key: 'options',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_15__[\"default\"].object\n}, {\n  key: 'replace',\n  path: '1',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_15__[\"default\"].boolean,\n  config: {\n    required: false\n  }\n}]), _dec8 = Object(_validation__WEBPACK_IMPORTED_MODULE_14__[\"default\"])([{\n  key: 'options',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_15__[\"default\"].object\n}, {\n  key: 'opType',\n  path: '0.opType',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_15__[\"default\"].number\n}, {\n  key: 'mobile',\n  path: '0.mobile',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_15__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'countryCode',\n  path: '0.countryCode',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_15__[\"default\"].string,\n  config: {\n    required: false\n  }\n}, {\n  key: 'identifyCode',\n  path: '0.identifyCode',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_15__[\"default\"].string,\n  config: {\n    required: false\n  }\n}]), _dec9 = Object(_validation__WEBPACK_IMPORTED_MODULE_14__[\"default\"])([{\n  key: 'options',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_15__[\"default\"].object\n}, {\n  key: 'opType',\n  path: '0.opType',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_15__[\"default\"].number\n}, {\n  key: 'email',\n  path: '0.email',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_15__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}, {\n  key: 'identifyCode',\n  path: '0.identifyCode',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_15__[\"default\"].string,\n  config: {\n    required: false\n  }\n}]), _dec10 = Object(_validation__WEBPACK_IMPORTED_MODULE_14__[\"default\"])([{\n  key: 'options',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_15__[\"default\"].object\n}, {\n  key: 'password',\n  path: '0.password',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_15__[\"default\"].string,\n  config: {\n    enableEmptyString: false\n  }\n}]), _dec11 = Object(_validation__WEBPACK_IMPORTED_MODULE_14__[\"default\"])([{\n  key: 'options',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_15__[\"default\"].object\n}, {\n  key: 'ticket',\n  path: '0.ticket',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_15__[\"default\"].string\n}]), (_class = (_temp = _class2 =\n/*#__PURE__*/\nfunction () {\n  // 参数配置\n  // UC网关实例\n  // Session管理实例\n  // Token管理实例\n  // Account管理实例\n\n  /**\n   * 默认参数配置\n   */\n\n  /**\n   * 构造函数\n   *\n   * @constructor\n   * @param {UCOptions} options 参数配置\n   * @param {string} options.env UC环境\n   * @param {string} options.sdpAppId 产品Id\n   * @param {boolean} [options.sso] (可选)单点登录，默认不开启，为false\n   * @param {string} [options.orgName] (可选)组织名\n   * @param {number} [options.storageExpire] (可选)localStorage 存储 token 过期秒数，默认 7 天，当为 -1 时，使用 sessionStorage\n   * @param {Object} [options.origins] (可选)自定义的一组UC环境，该字段存在时，env不生效\n   */\n  function UCCore(options) {\n    this.options = void 0;\n    this._ucGateway = void 0;\n    this._ucSession = void 0;\n    this._ucToken = void 0;\n    this._ucAccount = void 0;\n\n    this._validateUCOptions(options);\n\n    options = lodash_merge__WEBPACK_IMPORTED_MODULE_16___default()({}, UCCore.defaultOptions, options);\n    var _options = options,\n        env = _options.env,\n        sdpAppId = _options.sdpAppId,\n        sso = _options.sso,\n        storageExpire = _options.storageExpire,\n        customStorage = _options.customStorage;\n\n    if (sso) {\n      if (!sdpAppId) {\n        options.sso = false;\n        _utils_logger__WEBPACK_IMPORTED_MODULE_20__[\"default\"].warn('UC-SDK: 未指定sdpAppId，SSO自动关闭');\n      }\n\n      if (!(typeof navigator !== 'undefined' && navigator.cookieEnabled)) {\n        options.sso = false;\n        _utils_logger__WEBPACK_IMPORTED_MODULE_20__[\"default\"].warn('UC-SDK: 当前环境不支持SSO，SSO自动关闭');\n      }\n    }\n\n    _utils_logger__WEBPACK_IMPORTED_MODULE_20__[\"default\"].warn('UC-SDK: ', options);\n\n    if (customStorage) {\n      _utils_storage__WEBPACK_IMPORTED_MODULE_21__[\"default\"].setStorage(customStorage);\n    } // 存储： deviceId\n\n\n    var deviceStorage = new _utils_storage__WEBPACK_IMPORTED_MODULE_21__[\"default\"](); // 存储：token\n\n    var tokenStorage = new _utils_storage__WEBPACK_IMPORTED_MODULE_21__[\"default\"](Object(_config__WEBPACK_IMPORTED_MODULE_12__[\"GET_TOKEN_STORAGE_KEY_PREFIX\"])({\n      sdpAppId: sdpAppId,\n      env: env\n    }), storageExpire); // 仓库：session\n\n    var sessionRepository = new _utils_storage__WEBPACK_IMPORTED_MODULE_21__[\"default\"](\"ND_UC_SESSION-\".concat(sdpAppId, \"&\").concat(env, \"&\"), -1); // header管理器\n\n    var headerManager = new _manager_Header__WEBPACK_IMPORTED_MODULE_23__[\"default\"](options, deviceStorage); // UC网关，聚合所有请求\n\n    var ucGateway = new _api_UCGateway__WEBPACK_IMPORTED_MODULE_6__[\"default\"](options, sessionRepository, headerManager, tokenStorage);\n    this.options = options;\n    this._headerManager = headerManager;\n    this._ucGateway = ucGateway;\n    this._ucSession = new _UCSession__WEBPACK_IMPORTED_MODULE_7__[\"default\"](ucGateway, sessionRepository);\n    this._ucToken = new _UCToken__WEBPACK_IMPORTED_MODULE_8__[\"default\"](options, ucGateway, tokenStorage);\n    this._ucAccount = new _UCAccount__WEBPACK_IMPORTED_MODULE_9__[\"default\"](ucGateway, this._ucSession, this._ucToken);\n  }\n  /**\n   * 校验UCOptions参数\n   *\n   * @param {UCOptions} options 参数配置\n   * @memberof UCCore\n   * @private\n   */\n\n\n  var _proto = UCCore.prototype;\n\n  _proto._validateUCOptions = function _validateUCOptions(options) {}\n  /**\n   * 获取Session\n   *\n   * @param {boolean} [isForce=false] 是否强制获取最新的，默认本地\n   * @returns {Promise<Session>}\n   * @memberof UCCore\n   */\n  ;\n\n  _proto.getSession = function getSession() {\n    var isForce = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n    return this._ucSession.getSession(isForce);\n  }\n  /**\n   * 获取Token\n   *\n   * @returns {?Token}\n   * @memberof UCCore\n   */\n  ;\n\n  _proto.getToken = function getToken() {\n    return this._ucToken.getToken();\n  }\n  /**\n   * 获取当前登录帐户\n   *\n   * @returns {(?(OrgAccount | PersonAccount))}\n   * @memberof UCCore\n   */\n  ;\n\n  _proto.getCurrentAccount = function getCurrentAccount() {\n    return this._ucAccount.getCurrentAccount();\n  }\n  /**\n   * 获取图片验证码\n   * -- 注意：调用该方法会默认刷新当前session，除非传入false。原因是图片验证码是通过session_id拼接而成，由于无法预知当前的session_id是否有效，故调用该方法每次都会刷新当前的session，从而保证图片验证码url一定有效。\n   * -- 最佳实践：一般只需要调用一次该方法获取图片验证码url，再次刷新验证码可以通过给url加时间戳来刷新，如：${url}?t=${now}\n   *\n   * @param {boolean} [isForce=true] 是否强制刷新session，默认刷新\n   * @returns {Promise<string>}\n   * @memberof UCCore\n   */\n  ;\n\n  _proto.getIdentifyCodePath = function getIdentifyCodePath() {\n    var _this = this;\n\n    var isForce = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n    return this.getSession(isForce).then(function (session) {\n      return _this._ucGateway.getIdentifyCode(session.session_id);\n    });\n  }\n  /**\n   * 验证图片验证码\n   *\n   * @param {string} identifyCode 图片验证码\n   * @returns {Promise<*>}\n   * @memberof UCCore\n   */\n  ;\n\n  _proto.validIdentifyCode = function validIdentifyCode(identifyCode) {\n    var _this2 = this;\n\n    return this.getSession().then(function (session) {\n      return _this2._ucGateway.validIdentifyCode(session.session_id, identifyCode);\n    });\n  }\n  /**\n   * 用户是否登录\n   *\n   * @returns {Promise<boolean>}\n   * @memberof UCCore\n   */\n  ;\n\n  _proto.isLogin = function isLogin() {\n    return this._ucToken.isLogin();\n  }\n  /**\n   * 登录（核心层完整登录接口）\n   *\n   * @param {Object} options 参数\n   * @param {string} options.loginName 登录名\n   * @param {string} options.password 密码\n   * @param {string} [options.identifyCode] (可选)图片验证码\n   * @param {string} [options.loginNameType] (可选)登录名类型\n   * @param {string} [options.accountType] (可选)登录帐户的类型\n   * @param {string} [options.countryCode] (可选)国际区号，默认\"+86\"，注：国外的业务需要填写\n   * @param {string} [options.orgCode] (可选)组织编码\n   * @returns {Promise<*>}\n   * @memberof UCCore\n   */\n  ;\n\n  _proto._login = function _login() {\n    var _this3 = this;\n\n    var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n        loginName = _ref.loginName,\n        password = _ref.password,\n        identifyCode = _ref.identifyCode,\n        loginNameType = _ref.loginNameType,\n        accountType = _ref.accountType,\n        countryCode = _ref.countryCode,\n        orgCode = _ref.orgCode;\n\n    return this.getSession().then(function (session) {\n      var session_id = session.session_id,\n          session_key = session.session_key;\n      var encryptLoginName = Object(_crypto__WEBPACK_IMPORTED_MODULE_11__[\"encryptByDes\"])(loginName, session_key);\n      var encryptPassword = Object(_crypto__WEBPACK_IMPORTED_MODULE_11__[\"encryptByDes\"])(nd_md5s__WEBPACK_IMPORTED_MODULE_4___default()(password, _config__WEBPACK_IMPORTED_MODULE_12__[\"PASSWORD_CONFUSE\"]), session_key);\n      var data = {\n        session_id: session_id,\n        login_name_type: loginNameType,\n        login_name: encryptLoginName,\n        account_type: accountType,\n        country_code: countryCode,\n        org_code: orgCode,\n        password: encryptPassword,\n        identify_code: identifyCode\n      };\n      return _this3._ucGateway.loginByPassword(data).then(function (token) {\n        return Object(_crypto__WEBPACK_IMPORTED_MODULE_11__[\"decryptToken\"])(token, session_key);\n      }).then(function (token) {\n        return _this3._ucToken.saveToken(token);\n      });\n    });\n  }\n  /**\n   * 使用UCKey登录\n   *\n   * @param {Object} options 参数\n   * @param {string} [options.uckey] 格式为 base64(Authorization: MAC id=\"xxx\",nonce=\"xxx\",mac=\"xxx\",request_uri=\"/\",host=\"xxx.xxx.com\",sdpAppId=\"xxxxx\") 如果生成时有指定网址, 则不包括request_uri和host字段。\n   * @param {string} [options.__mac]\n   * @param {string} [options.auth]\n   * @param {string} [options.url] (可选)生成 UCKey 时用的网址, 如果生成 UCKEY 时未指定则不需要传入\n   * @param {string} [options.method='GET'] (可选)mac生成时的请求方法，默认'GET'\n   * @returns {Promise<*>}\n   * @memberof UCCore\n   */\n  ;\n\n  _proto.loginByUCKey = function loginByUCKey(options) {\n    var _this4 = this;\n\n    // options未定义，默认取当前url\n    if (!options) {\n      options = Object(_utils_func__WEBPACK_IMPORTED_MODULE_18__[\"keyToLowerCase\"])(Object(_utils_func__WEBPACK_IMPORTED_MODULE_18__[\"getParams\"])(_utils_window__WEBPACK_IMPORTED_MODULE_19__[\"_location\"].href));\n    }\n\n    var _options2 = options,\n        uckey = _options2.uckey,\n        __mac = _options2.__mac,\n        auth = _options2.auth,\n        _options2$method = _options2.method,\n        method = _options2$method === void 0 ? 'GET' : _options2$method;\n    var url = options.url;\n    var key = uckey || __mac || auth; // 无显示传递url，默认取当前origin\n\n    if (!url) {\n      url = _utils_window__WEBPACK_IMPORTED_MODULE_19__[\"_origin\"];\n    }\n\n    if (!key) {\n      _utils_logger__WEBPACK_IMPORTED_MODULE_20__[\"default\"].error('missing parameter uckey or __mac or auth');\n    }\n\n    try {\n      if (typeof decodeURIComponent === 'function') {\n        key = decodeURIComponent(key);\n      }\n\n      if (!key.match('MAC id=\"([^\"]*)\",nonce=\"([^\"]*)\",mac=\"([^\"]*)\"')) {\n        // base64解码\n        key = nd_base64__WEBPACK_IMPORTED_MODULE_3___default.a.decoder(key);\n      }\n    } catch (e) {\n      _utils_logger__WEBPACK_IMPORTED_MODULE_20__[\"default\"].error('decode UCKey fail');\n    }\n\n    var tokenMatch = key.match('MAC id=\"([^\"]*)\",nonce=\"([^\"]*)\",mac=\"([^\"]*)\"');\n    var urlMatch = key.match('request_uri=\"([^\"]*)\",host=\"([^\"]*)\"');\n    var urlParse = nd_uri_parser__WEBPACK_IMPORTED_MODULE_5___default.a.parse(url);\n    var access_token = tokenMatch[1];\n    var nonce = tokenMatch[2];\n    var mac = tokenMatch[3];\n    var request_uri = urlMatch ? urlMatch[1] : urlParse.relative || '/';\n    var host = urlMatch ? urlMatch[2] : urlParse.authority;\n    var http_method = method;\n    return this._ucGateway.validToken(access_token, {\n      nonce: nonce,\n      mac: mac,\n      request_uri: request_uri,\n      host: host,\n      http_method: http_method\n    }).then(function (token) {\n      return _this4._ucToken.saveToken(token);\n    });\n  }\n  /**\n   * 使用Token登录\n   *\n   * @param {Object} token 登录令牌\n   * @returns {Promise<*>}\n   * @memberof UCCore\n   */\n  ;\n\n  _proto.loginByToken = function loginByToken(token) {\n    var _this5 = this;\n\n    return this._ucToken.validToken(token).then(function (token) {\n      return _this5._ucToken.saveToken(token);\n    });\n  }\n  /**\n   * 登出\n   *\n   * @returns {Promise<*>}\n   * @memberof UCCore\n   */\n  ;\n\n  _proto.logout = function logout() {\n    return this._ucToken.logout();\n  }\n  /**\n   * 获取请求签名\n   *\n   * @param {Object} options 参数\n   * @param {string} options.url 请求的 URL\n   * @param {string} [options.method='GET'] (可选)mac生成时的请求方法，默认'GET'\n   * @returns {string}\n   * @memberof UCCore\n   */\n  ;\n\n  _proto.getAuthHeader = function getAuthHeader() {\n    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n    var url = options.url,\n        _options$method = options.method,\n        method = _options$method === void 0 ? 'GET' : _options$method; // 兼容getAuthHeader('https://authbeta.101.com/v8.0/users/120032', 'GET')\n\n    if (typeof options === 'string') {\n      url = arguments[0];\n      method = arguments[1] || 'GET';\n    }\n\n    if (!url) {\n      _utils_logger__WEBPACK_IMPORTED_MODULE_20__[\"default\"].error('UC-SDK: ', '缺少参数url');\n      return '';\n    }\n\n    var token = this.getToken();\n\n    if (!token) {\n      _utils_logger__WEBPACK_IMPORTED_MODULE_20__[\"default\"].warn('UC-SDK: ', '当前SDK实例未登录');\n      return '';\n    }\n\n    return Object(_utils_auth__WEBPACK_IMPORTED_MODULE_17__[\"getAuthHeader\"])(url, method, {\n      accessToken: token.access_token,\n      macKey: token.mac_key,\n      diff: token.diff\n    });\n  }\n  /**\n   * 生成 UCKey\n   *\n   * @param {string} [url] (可选)指定生成UCKey用的网址\n   * @returns {string} uckey, 如果指定了生成用网址则不会包含request_uri和host字段, 默认情况下取location.href做request_uri和host字段\n   * @memberof UCCore\n   */\n  ;\n\n  _proto.generateUCKey = function generateUCKey() {\n    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n    var url = options.url;\n\n    if (typeof options === 'string') {\n      url = arguments[0];\n    }\n\n    var token = this.getToken();\n\n    if (!token) {\n      _utils_logger__WEBPACK_IMPORTED_MODULE_20__[\"default\"].warn('UC-SDK: ', '当前SDK实例未登录');\n      return '';\n    }\n\n    var parse = nd_uri_parser__WEBPACK_IMPORTED_MODULE_5___default.a.parse(url || _utils_window__WEBPACK_IMPORTED_MODULE_19__[\"_location\"].href || 'https://uc.101.com/');\n    var origin = parse.protocol + '://' + parse.host + (parse.port ? ':' + parse.port : '');\n    var authURL = origin + (url ? parse.relative || '/' : '/');\n    var uckey = \"Authorization: \".concat(this.getAuthHeader({\n      url: authURL,\n      method: 'GET'\n    })) + (url ? '' : \",request_uri=\\\"/\\\",host=\\\"\".concat(parse.authority, \"\\\"\"));\n    return nd_base64__WEBPACK_IMPORTED_MODULE_3___default.a.encoder(uckey);\n  }\n  /**\n   * 生成 __mac\n   *\n   * @param {Object} options 参数\n   * @param {string} options.url 请求的 URL\n   * @returns {string}\n   * @memberof UCCore\n   */\n  ;\n\n  _proto.generateMac = function generateMac() {\n    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n    var url = options.url;\n\n    if (typeof options === 'string') {\n      url = arguments[0];\n    }\n\n    var auth = this.getAuthHeader({\n      url: url\n    });\n    return nd_base64__WEBPACK_IMPORTED_MODULE_3___default.a.encoder(auth);\n  }\n  /**\n   * 生成 auth\n   *\n   * @param {Object} options 参数\n   * @param {string} options.url 请求的 URL\n   * @returns {string}\n   * @memberof UCCore\n   */\n  ;\n\n  _proto.generateAuth = function generateAuth() {\n    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n    var url = options.url;\n\n    if (typeof options === 'string') {\n      url = arguments[0];\n    }\n\n    var auth = this.getAuthHeader({\n      url: url\n    });\n\n    if (typeof encodeURIComponent === 'function') {\n      return encodeURIComponent(auth);\n    }\n\n    return nd_base64__WEBPACK_IMPORTED_MODULE_3___default.a.encoder(auth);\n  }\n  /**\n   * 刷新Token\n   *\n   * @returns {Promise<*>}\n   * @memberof UCCore\n   */\n  ;\n\n  _proto.refreshToken = function refreshToken() {\n    var _this6 = this;\n\n    return this._ucToken.refreshToken().then(function (token) {\n      return _this6._ucToken.saveToken(token);\n    });\n  }\n  /**\n   * 克隆Token\n   *\n   * @returns {Promise<*>}\n   * @param {boolean} [replace=false] (可选) 是否替换当前的token，默认不替换\n   * @memberof UCCore\n   */\n  ;\n\n  _proto.cloneToken = function cloneToken() {\n    var _this7 = this;\n\n    var replace = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n    return this._ucToken.cloneToken(replace).then(function (token) {\n      if (replace) {\n        _this7._ucToken.saveToken(token);\n      }\n\n      return token;\n    });\n  }\n  /**\n   * 置换Token\n   *\n   * @param {Object} options 参数\n   * @param {boolean} [replace=false] (可选) 是否替换当前的token，默认不替换\n   * @returns {Promise<*>}\n   * @memberof UCCore\n   */\n  ;\n\n  _proto.exchangeToken = function exchangeToken(options) {\n    var _this8 = this;\n\n    var replace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n    return this.getSession().then(function (session) {\n      var session_id = session.session_id,\n          session_key = session.session_key;\n      var user_id = options.user_id,\n          account_id = options.account_id,\n          password = options.password;\n\n      if (user_id) {\n        options.user_id = Object(_crypto__WEBPACK_IMPORTED_MODULE_11__[\"encryptByDes\"])(user_id, session_key);\n      }\n\n      if (account_id) {\n        options.account_id = Object(_crypto__WEBPACK_IMPORTED_MODULE_11__[\"encryptByDes\"])(account_id, session_key);\n      }\n\n      if (password) {\n        options.password = Object(_crypto__WEBPACK_IMPORTED_MODULE_11__[\"encryptByDes\"])(nd_md5s__WEBPACK_IMPORTED_MODULE_4___default()(password, _config__WEBPACK_IMPORTED_MODULE_12__[\"PASSWORD_CONFUSE\"]), session_key);\n      }\n\n      return _this8._ucToken.exchangeToken(_objectSpread({\n        session_id: session_id\n      }, options), replace).then(function (token) {\n        return Object(_crypto__WEBPACK_IMPORTED_MODULE_11__[\"decryptToken\"])(token, session_key);\n      }).then(function (token) {\n        if (replace) {\n          _this8._ucToken.saveToken(token);\n        }\n\n        return token;\n      });\n    });\n  }\n  /**\n   * 发送短信验证码\n   *\n   * @param {Object} options 参数\n   * @param {number} options.opType 业务操作类型: 0:注册用户下发短信，1：个人帐户重置密码，2：更新手机号码，3:用户短信登陆，5:更新手机时旧手机的验证(内部逻辑使用)，6：组织帐户重置密码\n   * @param {string} options.mobile 手机号码\n   * @param {string} [options.countryCode] (可选)国际区号，默认\"+86\"，注：国外的业务需要填写\n   * @param {string} [options.identifyCode] (可选)图形验证码，注：单个设备下发短信次数超过3次时需填该图形验证码,调用2.1.3接口生成\n   * @returns {Promise<*>}\n   * @memberof UCCore\n   */\n  ;\n\n  _proto.sendSMSCode = function sendSMSCode() {\n    var _this9 = this;\n\n    var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n        opType = _ref2.opType,\n        mobile = _ref2.mobile,\n        countryCode = _ref2.countryCode,\n        identifyCode = _ref2.identifyCode;\n\n    return this.getSession().then(function (session) {\n      return _this9._ucGateway.sendSMSCode(session.session_id, {\n        op_type: opType,\n        country_code: countryCode,\n        mobile: mobile,\n        identify_code: identifyCode\n      });\n    });\n  }\n  /**\n   * 发送邮箱验证码\n   *\n   * @param {Object} options 参数\n   * @param {number} options.opType 业务操作类型: 0:邮箱注册,1:个人帐户重置(找回)密码,2:邮箱绑定，3：组织帐户重置密码\n   * @param {string} options.email 邮箱\n   * @param {string} [options.identifyCode] (可选)图形验证码，注：单个设备下发邮件次数超过3次时需填该图形验证码，调用2.1.3接口生成\n   * @returns {Promise<*>}\n   * @memberof UCCore\n   */\n  ;\n\n  _proto.sendEmailCode = function sendEmailCode() {\n    var _this10 = this;\n\n    var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n        opType = _ref3.opType,\n        email = _ref3.email,\n        identifyCode = _ref3.identifyCode;\n\n    return this.getSession().then(function (session) {\n      return _this10._ucGateway.sendEmailCode(session.session_id, {\n        op_type: opType,\n        email: email,\n        identify_code: identifyCode\n      });\n    });\n  }\n  /**\n   * 获取服务器时间\n   *\n   * @returns {Promise<*>}\n   * @memberof UCCore\n   */\n  ;\n\n  _proto.getServerTime = function getServerTime() {\n    return this._ucGateway.getServerTime();\n  }\n  /**\n   * 获取用户头像(组织帐户传userId,个人帐户传accountId)\n   *\n   * @param {Object} options 参数\n   * @param {number} options.userId 组织帐户Id\n   * @param {number} options.accountId 个人帐户Id\n   * @param {number} [options.size] (可选)缩略图短边尺寸（像素），仅支持80,120,160,240,320,480,640,960,1080,1200;默认80\n   * @param {string} [options.ext] (可选)生成缩略图的格式，仅支持jpg,png,jpeg,bmp,gif,webp;默认jpg\n   * @returns {Promise<*>}\n   * @memberof UCCore\n   */\n  ;\n\n  _proto.getAvatarURL = function getAvatarURL() {\n    var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n        userId = _ref4.userId,\n        accountId = _ref4.accountId,\n        size = _ref4.size,\n        ext = _ref4.ext;\n\n    if (userId) {\n      return this._ucGateway.getOrgAccountAvatarURL(userId, size, ext);\n    }\n\n    if (accountId) {\n      return this._ucGateway.getPersonAccountAvatarURL(accountId, size, ext);\n    }\n\n    return '';\n  }\n  /**\n   * 校验密码\n   *\n   * @param {Object} options 参数\n   * @param {string} options.password 当前帐户密码\n   * @param {string} [options.userId] 仅当当前TOKEN是个人帐户时选填，标识是要验证哪个组织帐户的密码\n   * @param {string} [options.identifyCode] (可选)图形验证码，密码错误次数达到3次需要填写 (获取验证码的会话必须与加密密码的会话一致)\n   * @returns {Promise<*>}\n   * @memberof UCCore\n   */\n  ;\n\n  _proto.verifyPassword = function verifyPassword(options) {\n    var _this11 = this;\n\n    return Promise.all([this.getToken(), this.getSession()]).then(function (_ref5) {\n      var _ref6 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default()(_ref5, 2),\n          token = _ref6[0],\n          session = _ref6[1];\n\n      if (!token) {\n        return Promise.reject(new _error_UCError__WEBPACK_IMPORTED_MODULE_22__[\"default\"]('UCSDK/NOT_LOGIN'));\n      }\n\n      var session_id = session.session_id,\n          session_key = session.session_key;\n      var password = options.password;\n      options.session_id = session_id;\n\n      if (password) {\n        options.password = Object(_crypto__WEBPACK_IMPORTED_MODULE_11__[\"encryptByDes\"])(nd_md5s__WEBPACK_IMPORTED_MODULE_4___default()(password, _config__WEBPACK_IMPORTED_MODULE_12__[\"PASSWORD_CONFUSE\"]), session_key);\n      }\n\n      return _this11._ucGateway.verifyPassword(token, options);\n    });\n  }\n  /**\n   * 获取扫码登录票据\n   */\n  ;\n\n  _proto.getQrTickets = function getQrTickets() {\n    return this._ucGateway.getQrTickets();\n  }\n  /**\n   * 获取扫码登录票据状态信息\n   *\n   * @param {Object} options 参数\n   * @param {string} options.ticket 票据\n   */\n  ;\n\n  _proto.getQrTicketsStatusInfo = function getQrTicketsStatusInfo(options) {\n    var _this12 = this;\n\n    return this.getSession().then(function (session) {\n      var session_id = session.session_id,\n          session_key = session.session_key;\n      return _this12._ucGateway.getQrTicketsStatusInfo(session_id, options.ticket).then(function () {\n        var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n        if (+data.status === 2) {\n          var token = data.data;\n          token = Object(_crypto__WEBPACK_IMPORTED_MODULE_11__[\"decryptToken\"])(token, session_key);\n\n          _this12._ucToken.saveToken(token);\n        }\n\n        return data;\n      });\n    });\n  };\n\n  return UCCore;\n}(), _class2.defaultOptions = {\n  env: _config__WEBPACK_IMPORTED_MODULE_12__[\"DEFAULT_ENV\"],\n  sdpAppId: '',\n  sso: false,\n  orgName: '',\n  storageExpire: _config__WEBPACK_IMPORTED_MODULE_12__[\"TOKEN_EXPIRE\"]\n}, _temp), (_babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"_validateUCOptions\", [_dec], Object.getOwnPropertyDescriptor(_class.prototype, \"_validateUCOptions\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"getSession\", [_dec2], Object.getOwnPropertyDescriptor(_class.prototype, \"getSession\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"getIdentifyCodePath\", [_dec3], Object.getOwnPropertyDescriptor(_class.prototype, \"getIdentifyCodePath\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"validIdentifyCode\", [_dec4], Object.getOwnPropertyDescriptor(_class.prototype, \"validIdentifyCode\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"_login\", [_dec5], Object.getOwnPropertyDescriptor(_class.prototype, \"_login\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"loginByUCKey\", [_decorator__WEBPACK_IMPORTED_MODULE_13__[\"humpToUnderline\"]], Object.getOwnPropertyDescriptor(_class.prototype, \"loginByUCKey\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"loginByToken\", [_dec6], Object.getOwnPropertyDescriptor(_class.prototype, \"loginByToken\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"exchangeToken\", [_dec7, _decorator__WEBPACK_IMPORTED_MODULE_13__[\"humpToUnderline\"]], Object.getOwnPropertyDescriptor(_class.prototype, \"exchangeToken\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"sendSMSCode\", [_dec8], Object.getOwnPropertyDescriptor(_class.prototype, \"sendSMSCode\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"sendEmailCode\", [_dec9], Object.getOwnPropertyDescriptor(_class.prototype, \"sendEmailCode\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"verifyPassword\", [_dec10, _decorator__WEBPACK_IMPORTED_MODULE_13__[\"humpToUnderline\"]], Object.getOwnPropertyDescriptor(_class.prototype, \"verifyPassword\"), _class.prototype), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_2___default()(_class.prototype, \"getQrTicketsStatusInfo\", [_dec11, _decorator__WEBPACK_IMPORTED_MODULE_13__[\"humpToUnderline\"]], Object.getOwnPropertyDescriptor(_class.prototype, \"getQrTicketsStatusInfo\"), _class.prototype)), _class));\n/* harmony default export */ __webpack_exports__[\"default\"] = (UCCore);\n\n//# sourceURL=webpack://this.SDP.UC/./src/uc/UCCore/index.js?");

/***/ }),

/***/ "./src/uc/UCSession/index.js":
/*!***********************************!*\
  !*** ./src/uc/UCSession/index.js ***!
  \***********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _api_UCGateway__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../api/UCGateway */ \"./src/api/UCGateway.js\");\n/* harmony import */ var _utils_storage__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/storage */ \"./src/utils/storage.js\");\n\n\n/**\n * Session管理类\n *\n * @class UCSession\n */\n\nvar UCSession =\n/*#__PURE__*/\nfunction () {\n  // UC网关实例\n  // Session仓库\n\n  /**\n   * 构造函数\n   *\n   * @constructor\n   * @param {UCGateway} ucGateway UC网关实例\n   * @param {Storage} storage Session仓库\n   */\n  function UCSession(ucGateway, storage) {\n    this._ucGateway = void 0;\n    this._sessionRepository = void 0;\n    this._ucGateway = ucGateway;\n    this._sessionRepository = storage;\n  }\n  /**\n   * 获取Session\n   *\n   * @param {boolean} [isForce=false] 是否强制获取最新的，默认本地\n   * @returns {Promise<Session>}\n   * @memberof UCSession\n   */\n\n\n  var _proto = UCSession.prototype;\n\n  _proto.getSession = function getSession() {\n    var isForce = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n    return isForce ? this._getSessionFromNet() : this._getSessionFromLocal();\n  };\n\n  _proto._getSessionFromLocal = function _getSessionFromLocal() {\n    var session = this._sessionRepository.get('session');\n\n    if (session) {\n      return Promise.resolve(session);\n    }\n\n    return this._getSessionFromNet();\n  };\n\n  _proto._getSessionFromNet = function _getSessionFromNet() {\n    var _this = this;\n\n    return this._ucGateway.createSession().then(function (session) {\n      _this._sessionRepository.set('session', session);\n\n      return session;\n    });\n  };\n\n  return UCSession;\n}();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (UCSession);\n\n//# sourceURL=webpack://this.SDP.UC/./src/uc/UCSession/index.js?");

/***/ }),

/***/ "./src/uc/UCToken/index.js":
/*!*********************************!*\
  !*** ./src/uc/UCToken/index.js ***!
  \*********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var nd_datetime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! nd-datetime */ \"./node_modules/nd-datetime/index.js\");\n/* harmony import */ var nd_datetime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(nd_datetime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _error_UCError__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../error/UCError */ \"./src/error/UCError.js\");\n/* harmony import */ var _utils_auth__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/auth */ \"./src/utils/auth.js\");\n/* harmony import */ var _utils_storage__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/storage */ \"./src/utils/storage.js\");\n/* harmony import */ var _api_UCGateway__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../api/UCGateway */ \"./src/api/UCGateway.js\");\n\n\n\n\n\n/**\n * Token管理类\n *\n * @class UCToken\n */\n\nvar UCToken =\n/*#__PURE__*/\nfunction () {\n  // 参数配置\n  // UC网关实例\n  // Token Storage\n  // Token缓存\n\n  /**\n   * 构造函数\n   *\n   * @constructor\n   * @param {UCOptions} options 参数配置\n   * @param {boolean} [options.sso]\n   * @param {UCGateway} ucGateway UC网关实例\n   * @param {Storage} tokenStorage token存储\n   */\n  function UCToken(options, ucGateway, tokenStorage) {\n    this.options = void 0;\n    this._ucGateway = void 0;\n    this._tokenStorage = void 0;\n    this._token = void 0;\n    this.options = options;\n    this._ucGateway = ucGateway;\n    this._tokenStorage = tokenStorage;\n  }\n  /**\n   * 获取本地Token\n   *\n   * @returns {?Token}\n   * @memberof UCToken\n   */\n\n\n  var _proto = UCToken.prototype;\n\n  _proto.getToken = function getToken() {\n    if (!this._token && this._tokenStorage.get('token')) {\n      this._token = JSON.parse(this._tokenStorage.get('token'));\n    } // 检查Token是否过期\n\n\n    if (this._token && nd_datetime__WEBPACK_IMPORTED_MODULE_0___default()(this._token.expires_at).toNumber() <= nd_datetime__WEBPACK_IMPORTED_MODULE_0___default()().toNumber()) {\n      this.clearToken();\n    }\n\n    return this._token;\n  }\n  /**\n   * 获取远端Token\n   * SSO存储的是解密后的Token\n   *\n   * @returns {Promise<?Token>}\n   * @memberof UCToken\n   */\n  ;\n\n  _proto.fetchToken = function fetchToken() {\n    var _this = this;\n\n    if (this.options.sso) {\n      return this._ucGateway.ssoGetToken().then(function (token) {\n        return token ? _this.saveToken(token) : _this.clearToken();\n      }).catch(function () {\n        return _this.clearToken();\n      });\n    }\n\n    return Promise.resolve(this.getToken());\n  }\n  /**\n   * 保存Token\n   *\n   * @param {Token} token\n   * @returns {Token}\n   * @memberof UCToken\n   */\n  ;\n\n  _proto.saveToken = function saveToken(token) {\n    if (!token.diff) {\n      // 当token中存在server_time字段时，重新计算服务器偏移时间diff\n      token.diff = token.server_time ? nd_datetime__WEBPACK_IMPORTED_MODULE_0___default()(token.server_time).toNumber() - nd_datetime__WEBPACK_IMPORTED_MODULE_0___default()().toNumber() : 0;\n    }\n\n    this._token = token;\n\n    this._tokenStorage.set('token', JSON.stringify(token));\n\n    return token;\n  }\n  /**\n   * 清理Token\n   *\n   * @returns {void}\n   * @memberof UCToken\n   */\n  ;\n\n  _proto.clearToken = function clearToken() {\n    this._token = undefined;\n\n    this._tokenStorage.remove('token');\n  }\n  /**\n   * 是否登录\n   *\n   * @returns {Promise<boolean>}\n   * @memberof UCToken\n   */\n  ;\n\n  _proto.isLogin = function isLogin() {\n    var _this2 = this;\n\n    return this.fetchToken().then(function (token) {\n      if (!token) {\n        return false;\n      }\n\n      if (_this2.options.sso) {\n        // 从单点服务获取的Token无需检查\n        return true;\n      }\n\n      return _this2.validToken(token).then(function (data) {\n        return true;\n      }).catch(function (err) {\n        // AUTH_INVALID_TOKEN: 可能是 \"当用户退出、令牌续约、修改密码、删除用户\"\n        // AUTH_TOKEN_EXPIRED: 授权已过期\n        // 这两种是业务常有的情况，返回 false 会更友好\n        if (err.code === 'UC/AUTH_INVALID_TOKEN' || err.code === 'UC/AUTH_UNAVAILABLE_TOKEN') {\n          _this2.clearToken();\n\n          return false;\n        }\n\n        if (err.code === 'UC/AUTH_TOKEN_EXPIRED') {\n          return false;\n        }\n\n        return Promise.reject(err);\n      });\n    });\n  }\n  /**\n   * 登出\n   *\n   * @returns {Promise<*>}\n   * @memberof UCToken\n   */\n  ;\n\n  _proto.logout = function logout() {\n    var _this3 = this;\n\n    var token = this.getToken();\n\n    if (!token) {\n      return Promise.reject(new _error_UCError__WEBPACK_IMPORTED_MODULE_1__[\"default\"]('UCSDK/NOT_LOGIN'));\n    }\n\n    var logoutPromise = this._ucGateway.logout(token.access_token);\n\n    return logoutPromise.then(function (data) {\n      _this3.clearToken();\n\n      return data;\n    }).catch(function (err) {\n      // 异常一般是 token 有问题，所以有问题的 token 就没有存在的必要了\n      _this3.clearToken();\n\n      return Promise.reject(err);\n    });\n  }\n  /**\n   * 令牌检查\n   *\n   * @param {Token} token 令牌\n   * @returns {Promise<*>}\n   * @memberof UCToken\n   */\n  ;\n\n  _proto.validToken = function validToken(token) {\n    var _this4 = this;\n\n    return this._getTokenDiff(token.diff).then(function (diff) {\n      var access_token = token.access_token,\n          mac_key = token.mac_key;\n      var UC = _this4._ucGateway.UC;\n      var uri = \"/v1.1/tokens/\".concat(access_token, \"/actions/valid\");\n      var method = 'POST';\n      var nonce = Object(_utils_auth__WEBPACK_IMPORTED_MODULE_2__[\"getNonce\"])(diff);\n      var mac = Object(_utils_auth__WEBPACK_IMPORTED_MODULE_2__[\"getMac\"])(UC + uri, nonce, method, mac_key);\n      var host = UC.slice(UC.indexOf('//') + 2, UC.length);\n      return _this4._ucGateway.validToken(access_token, {\n        mac: mac,\n        nonce: nonce,\n        http_method: method,\n        request_uri: uri,\n        host: host\n      });\n    });\n  }\n  /**\n   * 令牌续约\n   *\n   * @returns {Promise<*>}\n   * @memberof UCToken\n   */\n  ;\n\n  _proto.refreshToken = function refreshToken() {\n    var _this5 = this;\n\n    var token = this.getToken();\n\n    if (!token) {\n      return Promise.reject(new _error_UCError__WEBPACK_IMPORTED_MODULE_1__[\"default\"]('UCSDK/NOT_LOGIN'));\n    }\n\n    return Promise.resolve(token).then(function (token) {\n      if (!token.refresh_token) {\n        // 通过 validToken 接口拉取 refresh_token 值\n        return _this5.validToken(token);\n      }\n\n      return token;\n    }).then(function (token) {\n      return _this5._ucGateway.refreshToken(token.refresh_token);\n    });\n  }\n  /**\n   * 令牌克隆\n   *\n   * @returns {Promise<*>}\n   * @param {boolean} replace 是否替换当前的token，默认不开启，为false\n   * @memberof UCToken\n   */\n  ;\n\n  _proto.cloneToken = function cloneToken() {\n    var _this6 = this;\n\n    var replace = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n    var token = this.getToken();\n\n    if (!token) {\n      return Promise.reject(new _error_UCError__WEBPACK_IMPORTED_MODULE_1__[\"default\"]('UCSDK/NOT_LOGIN'));\n    }\n\n    return this._getTokenDiff(token.diff).then(function (diff) {\n      var access_token = token.access_token,\n          mac_key = token.mac_key;\n      var UC = _this6._ucGateway.UC;\n      var uri = \"/v1.1/tokens/\".concat(access_token, \"/actions/clone\");\n      var method = 'POST';\n      var nonce = Object(_utils_auth__WEBPACK_IMPORTED_MODULE_2__[\"getNonce\"])(diff);\n      var mac = Object(_utils_auth__WEBPACK_IMPORTED_MODULE_2__[\"getMac\"])(UC + uri, nonce, method, mac_key);\n      var host = UC.slice(UC.indexOf('//') + 2, UC.length);\n      return _this6._ucGateway.cloneToken(access_token, {\n        mac: mac,\n        nonce: nonce,\n        http_method: method,\n        request_uri: uri,\n        host: host\n      }, replace);\n    });\n  }\n  /**\n   * 令牌置换\n   * 置换接口返回的Token是加密的，不可直接保存\n   *\n   * @param {Object} data\n   * @param {boolean} replace 是否替换当前的token，默认不开启，为false\n   * @returns {Promise<*>}\n   * @memberof UCToken\n   */\n  ;\n\n  _proto.exchangeToken = function exchangeToken(data) {\n    var replace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n    var token = this.getToken();\n\n    if (!token) {\n      return Promise.reject(new _error_UCError__WEBPACK_IMPORTED_MODULE_1__[\"default\"]('UCSDK/NOT_LOGIN'));\n    } // sso 服务器在token置换的时候会自动保存新的token\n\n\n    return this._ucGateway.exchangeToken(token, data, replace);\n  };\n\n  _proto._getTokenDiff = function _getTokenDiff(diff) {\n    return diff ? Promise.resolve(diff) : this._ucGateway.getServerTime().then(function (data) {\n      return nd_datetime__WEBPACK_IMPORTED_MODULE_0___default()(data.sys_time).toNumber() - nd_datetime__WEBPACK_IMPORTED_MODULE_0___default()().toNumber();\n    });\n  };\n\n  return UCToken;\n}();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (UCToken);\n\n//# sourceURL=webpack://this.SDP.UC/./src/uc/UCToken/index.js?");

/***/ }),

/***/ "./src/uc/UCUtil.js":
/*!**************************!*\
  !*** ./src/uc/UCUtil.js ***!
  \**************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return UCUtil; });\n/* harmony import */ var _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/applyDecoratedDescriptor */ \"./node_modules/@babel/runtime/helpers/applyDecoratedDescriptor.js\");\n/* harmony import */ var _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var nd_md5s__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! nd-md5s */ \"./node_modules/nd-md5s/index.js\");\n/* harmony import */ var nd_md5s__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(nd_md5s__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../config */ \"./src/config/index.js\");\n/* harmony import */ var _validation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../validation */ \"./src/validation/index.js\");\n/* harmony import */ var _validation_validators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../validation/validators */ \"./src/validation/validators.js\");\n\n\nvar _dec, _dec2, _dec3, _dec4, _class;\n\n\n\n\n\n/**\n * UC-SDK工具类\n *\n * @export\n * @class UCUtil\n */\n\nvar UCUtil = (_dec = Object(_validation__WEBPACK_IMPORTED_MODULE_3__[\"default\"])([{\n  key: 'str',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_4__[\"default\"].string\n}], false), _dec2 = Object(_validation__WEBPACK_IMPORTED_MODULE_3__[\"default\"])([{\n  key: 'mobile',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_4__[\"default\"].string\n}, {\n  key: 'countryCode',\n  path: '1',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_4__[\"default\"].string,\n  config: {\n    required: false\n  }\n}], false), _dec3 = Object(_validation__WEBPACK_IMPORTED_MODULE_3__[\"default\"])([{\n  key: 'email',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_4__[\"default\"].string\n}], false), _dec4 = Object(_validation__WEBPACK_IMPORTED_MODULE_3__[\"default\"])([{\n  key: 'passwordStr',\n  path: '0',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_4__[\"default\"].string\n}, {\n  key: 'passwordStrengthExpected',\n  path: '1',\n  validator: _validation_validators__WEBPACK_IMPORTED_MODULE_4__[\"default\"].number,\n  config: {\n    required: false\n  }\n}], false), (_class =\n/*#__PURE__*/\nfunction () {\n  function UCUtil() {}\n\n  /**\n   * MD5加密字符串\n   *\n   * @static\n   * @param {string} str 字符串\n   * @returns {string} 加密字符串\n   * @memberof UCUtil\n   */\n  UCUtil.encryptByMD5 = function encryptByMD5(str) {\n    return nd_md5s__WEBPACK_IMPORTED_MODULE_1___default()(str, _config__WEBPACK_IMPORTED_MODULE_2__[\"PASSWORD_CONFUSE\"]);\n  }\n  /**\n   * 检查手机号\n   * 国内手机号参考百度百科\"手机号码\"词条 https://baike.baidu.com/item/%E6%89%8B%E6%9C%BA%E5%8F%B7%E7%A0%81\n   * 国外手机号参考 http://phoneregex.com/\n   *\n   * @static\n   * @param {string} mobile 手机号\n   * @param {string} [countryCode='+86'] (可选)国际区号，默认\"+86\"，注：国外的业务需要填写\n   * @returns {boolean} 是否为手机号\n   * @memberof UCUtil\n   */\n  ;\n\n  UCUtil.checkMobile = function checkMobile(mobile) {\n    var countryCode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '+86';\n    var isMobile = false;\n\n    if (countryCode === '+86') {\n      // 尽量避免国内手机号段增加导致匹配失败\n      isMobile = /^1[3-9]\\d{9}$/.test(mobile);\n    } else {\n      isMobile = /^\\d{1,14}$/.test(mobile);\n    }\n\n    return isMobile;\n  }\n  /**\n   * 检查邮箱\n   * From http://emailregex.com/\n   *\n   * @static\n   * @param {string} email 邮箱\n   * @returns {boolean} 是否为邮箱\n   * @memberof UCUtil\n   */\n  ;\n\n  UCUtil.checkEmail = function checkEmail(email) {\n    var isEmail = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/.test(email);\n    return isEmail;\n  }\n  /**\n   * 检查密码强度\n   * 低(0)为至少6位数字\n   * 中(1)为8-16位，至少包含数字、字母、字符中的至少两个\n   * 高(2)为8-16位，必须包含字符、数字、字母三种\n   *\n   * @static\n   * @param {string} passwordStr 密码\n   * @param {number} [passwordStrengthExpected=1] (可选)预期密码强度(min: 0 max: 2 default: 1)\n   * @returns {boolean} 是否符合密码强度\n   * @memberof UCUtil\n   */\n  ;\n\n  UCUtil.checkPasswordStrength = function checkPasswordStrength(passwordStr) {\n    var passwordStrengthExpected = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n    var minLength = passwordStrengthExpected === 0 ? 6 : 8;\n    var maxLength = 16;\n    var strong1_1rep = /[0-9]/;\n    var strong1_2rep = /[a-z]/; // 匹配特殊字符\n\n    var strong1_3rep = /[-~!@#\\\\$￥%^&*_\\\\(\\\\)\\\\{\\\\};:+|,.\\\\?\\\\/\\\\[\\]\\\\'\"]/;\n    passwordStr = passwordStr.toLocaleLowerCase();\n\n    if (passwordStr.length < minLength || passwordStr.length > maxLength) {\n      return false;\n    }\n\n    if (passwordStrengthExpected === 0) {\n      return true;\n    } // 含数字、字母、特殊字符 且 长度符合要求，强度为 1或 2 都通过\n\n\n    if (strong1_1rep.exec(passwordStr) !== null && strong1_2rep.exec(passwordStr) !== null && strong1_3rep.exec(passwordStr) !== null) {\n      return true;\n    }\n\n    if (passwordStrengthExpected === 1) {\n      if (strong1_1rep.exec(passwordStr) !== null && strong1_2rep.exec(passwordStr) !== null || strong1_1rep.exec(passwordStr) !== null && strong1_3rep.exec(passwordStr) !== null || strong1_2rep.exec(passwordStr) !== null && strong1_3rep.exec(passwordStr) !== null) {\n        return true;\n      }\n    }\n\n    return false;\n  }\n  /**\n   * 检查是否为101帐号\n   * 2-20由字母、数字、连接符、下划线组成的字符串，首字符只能是字母或者数字\n   */\n  ;\n\n  UCUtil.check101Account = function check101Account() {\n    var account = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n    return /^[A-Za-z0-9][0-9A-Za-z_-]{1,19}$/.test(account);\n  };\n\n  return UCUtil;\n}(), (_babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_0___default()(_class, \"encryptByMD5\", [_dec], Object.getOwnPropertyDescriptor(_class, \"encryptByMD5\"), _class), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_0___default()(_class, \"checkMobile\", [_dec2], Object.getOwnPropertyDescriptor(_class, \"checkMobile\"), _class), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_0___default()(_class, \"checkEmail\", [_dec3], Object.getOwnPropertyDescriptor(_class, \"checkEmail\"), _class), _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_0___default()(_class, \"checkPasswordStrength\", [_dec4], Object.getOwnPropertyDescriptor(_class, \"checkPasswordStrength\"), _class)), _class));\n\n\n//# sourceURL=webpack://this.SDP.UC/./src/uc/UCUtil.js?");

/***/ }),

/***/ "./src/utils/auth.js":
/*!***************************!*\
  !*** ./src/utils/auth.js ***!
  \***************************/
/*! exports provided: parseToken, getAuthHeader, parseAuth, getMac, getNonce */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parseToken\", function() { return parseToken; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getAuthHeader\", function() { return getAuthHeader; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parseAuth\", function() { return parseAuth; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getMac\", function() { return getMac; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getNonce\", function() { return getNonce; });\n/* harmony import */ var _crypto__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../crypto */ \"./src/crypto/index.js\");\n/* harmony import */ var nd_uri_parser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! nd-uri-parser */ \"./node_modules/nd-uri-parser/index.js\");\n/* harmony import */ var nd_uri_parser__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(nd_uri_parser__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _error_UCError__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../error/UCError */ \"./src/error/UCError.js\");\n\n\n\n\nfunction generateMixed(length) {\n  var strArray = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'.split('');\n  var mixed = '';\n\n  for (var i = 0; i < length; i++) {\n    mixed += strArray[Math.ceil(35 * Math.random())];\n  }\n\n  return mixed;\n}\n/**\n * 计算 mac 值\n * @param {string} uckey 请求url\n * @returns {Object} mac值\n */\n\n\nfunction parseToken(uckey) {\n  var tokenMatch = uckey.match('MAC id=\"([^\"]*)\",nonce=\"([^\"]*)\",mac=\"([^\"]*)\"');\n  var urlMatch = uckey.match('request_uri=\"([^\"]*)\",host=\"([^\"]*)\"');\n  var token = {};\n\n  if (tokenMatch && urlMatch) {\n    token = {\n      tokenId: tokenMatch[1],\n      nonce: tokenMatch[2],\n      mac: tokenMatch[3],\n      request_uri: urlMatch[1],\n      host: urlMatch[2]\n    };\n  } else {\n    return Promise.reject(new _error_UCError__WEBPACK_IMPORTED_MODULE_2__[\"default\"]('UCSDK/AUTH_NOT_MATCH'));\n  }\n\n  return token;\n}\n/**\n * @private\n * @param {*} url\n * @param {*} method\n * @param {*} param2\n * @desc\n *  Auth 格式为：MAC id=\"${accessToken}\",nonce=\"${nonce}\",mac=\"${mac}\"     // ${mac} 为加密后的值\n *\n *  mac 加密前格式为：${nonce}\\n${method)\\n${url}\\n${host}\n *\n *  mac 加密后格式为：CryptoJS.HmacSHA256(mac, macKey).toString(CryptoJS.enc.Base64);\n */\n\nfunction getAuthHeader(url) {\n  var method = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'GET';\n\n  var _ref = arguments.length > 2 ? arguments[2] : undefined,\n      accessToken = _ref.accessToken,\n      macKey = _ref.macKey,\n      diff = _ref.diff;\n\n  var nonce = getNonce(diff); // mac 加密\n\n  var mac = getMac(url, nonce, method, macKey);\n  var auth = \"MAC id=\\\"\".concat(accessToken, \"\\\",nonce=\\\"\").concat(nonce, \"\\\",mac=\\\"\").concat(mac, \"\\\"\");\n  return auth;\n}\nfunction parseAuth() {\n  var auth = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n}\n/**\n * 计算 mac 值\n * @private\n * @param {string} url 请求url\n * @param {string} nonce 时间戳\n * @param {string} method 请求方法\n * @param {string} macKey Mac Key值\n * @returns {string} mac值\n */\n\nfunction getMac(url, nonce, method, macKey) {\n  var parse = nd_uri_parser__WEBPACK_IMPORTED_MODULE_1___default.a.parse(url); // authority 非 80 有带端口号\n\n  var macContent = nonce + '\\n' + method.toUpperCase() + '\\n' + parse.relative + '\\n' + parse.authority + '\\n';\n  return _crypto__WEBPACK_IMPORTED_MODULE_0__[\"default\"].HmacSHA256(macContent, macKey).toString(_crypto__WEBPACK_IMPORTED_MODULE_0__[\"default\"].enc.Base64);\n}\n/**\n * 计算 防重放串 (时间戳 + 随机码)\n * @param {number} diffTime 本地与服务器时间偏移\n * @returns {string} 防重放串nonce\n */\n\nfunction getNonce(diffTime) {\n  return new Date().getTime() + parseInt(diffTime, 10) + ':' + generateMixed(8);\n}\n\n//# sourceURL=webpack://this.SDP.UC/./src/utils/auth.js?");

/***/ }),

/***/ "./src/utils/device.js":
/*!*****************************!*\
  !*** ./src/utils/device.js ***!
  \*****************************/
/*! exports provided: getOSAndBrowserKey */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getOSAndBrowserKey\", function() { return getOSAndBrowserKey; });\n/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./logger */ \"./src/utils/logger.js\");\n\n/**\n * 获取应用使用的 系统名和浏览器名\n */\n\nfunction getOSAndBrowserKey(separator) {\n  try {\n    if (typeof navigator === 'undefined') {\n      return 'unknown';\n    }\n\n    var os = navigator.platform;\n    var userAgent = navigator.userAgent;\n    var info = '';\n    var tempArray = '';\n\n    if (os.indexOf('Win') > -1) {\n      if (userAgent.indexOf('Windows NT 5.0') > -1) {\n        info += 'Win2000';\n      } else if (userAgent.indexOf('Windows NT 5.1') > -1) {\n        info += 'WinXP';\n      } else if (userAgent.indexOf('Windows NT 5.2') > -1) {\n        info += 'Win2003';\n      } else if (userAgent.indexOf('Windows NT 6.0') > -1) {\n        info += 'WindowsVista';\n      } else if (userAgent.indexOf('Windows NT 6.1') > -1) {\n        info += 'Win7';\n      } else if (userAgent.indexOf('Windows NT 6.2') > -1) {\n        info += 'Win8';\n      } else if (userAgent.indexOf('Windows NT 6.3') > -1) {\n        info += 'Win8.1';\n      } else if (userAgent.indexOf('Windows NT 6.4') > -1 || userAgent.indexOf('Windows NT 10.0') > -1) {\n        info += 'Win10';\n      } else {\n        info += 'Other';\n      }\n    } else if (os.indexOf('Mac') > -1) {\n      info += 'Mac';\n    } else if (os.indexOf('X11') > -1) {\n      info += 'Unix';\n    } else if (os.indexOf('Linux') > -1) {\n      info += 'Linux';\n    } else {\n      info += 'Other';\n    }\n\n    info += separator;\n\n    if (/[Ff]irefox(\\/\\d+\\.\\d+)/.test(userAgent)) {\n      tempArray = /([Ff]irefox)\\/(\\d+\\.\\d+)/.exec(userAgent);\n      info += tempArray[1] + tempArray[2];\n    } else if (/MSIE \\d+\\.\\d+/.test(userAgent)) {\n      tempArray = /MS(IE) (\\d+\\.\\d+)/.exec(userAgent);\n      info += tempArray[1] + tempArray[2];\n    } else if (/[Cc]hrome\\/\\d+/.test(userAgent)) {\n      tempArray = /([Cc]hrome)\\/(\\d+)/.exec(userAgent);\n      info += tempArray[1] + tempArray[2];\n    } else if (/[Vv]ersion\\/\\d+\\.\\d+\\.\\d+(\\.\\d)* *[Ss]afari/.test(userAgent)) {\n      tempArray = /[Vv]ersion\\/(\\d+\\.\\d+\\.\\d+)(\\.\\d)* *([Ss]afari)/.exec(userAgent);\n      info += tempArray[3] + tempArray[1];\n    } else if (/[Oo]pera.+[Vv]ersion\\/\\d+\\.\\d+/.test(userAgent)) {\n      tempArray = /([Oo]pera).+[Vv]ersion\\/(\\d+)\\.\\d+/.exec(userAgent);\n      info += tempArray[1] + tempArray[2];\n    } else {\n      info += 'unknown';\n    }\n\n    if (info.indexOf('IE') > -1) {\n      return 'windows_IE';\n    }\n\n    return info;\n  } catch (e) {\n    _logger__WEBPACK_IMPORTED_MODULE_0__[\"default\"].warn('获取系统名和浏览器名失败', e);\n    return 'unknown';\n  }\n}\n\n//# sourceURL=webpack://this.SDP.UC/./src/utils/device.js?");

/***/ }),

/***/ "./src/utils/func.js":
/*!***************************!*\
  !*** ./src/utils/func.js ***!
  \***************************/
/*! exports provided: getParams, keyToLowerCase, preventXss */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getParams\", function() { return getParams; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"keyToLowerCase\", function() { return keyToLowerCase; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"preventXss\", function() { return preventXss; });\n/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/typeof */ \"./node_modules/@babel/runtime/helpers/typeof.js\");\n/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/isPlainObject */ \"./node_modules/lodash/isPlainObject.js\");\n/* harmony import */ var lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_1__);\n\n\nfunction getParams(url) {\n  var result = {};\n  url.replace(/(\\?|&)([^=]+)=([^&#]+)/g, function (match, p1, p2, p3) {\n    result[p2] = p3;\n  });\n  return result;\n}\n/**\n * 将对象的key装换成小写\n */\n\nfunction keyToLowerCase(data) {\n  if (!lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_1___default()(data)) {\n    return data;\n  }\n\n  var result = {};\n  Object.keys(data).forEach(function (key) {\n    result[key.toLowerCase()] = data[key];\n  });\n  return result;\n}\n/**\n   * 预防xss\n   */\n\nfunction preventXss(data) {\n  if (data instanceof Array) {\n    data.forEach(function (key) {\n      data[key] = preventXss(data[key]);\n    });\n    return data;\n  }\n\n  if (data && _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(data) === 'object') {\n    Object.keys(data).forEach(function (key) {\n      data[key] = preventXss(data[key]);\n    });\n    return data;\n  }\n\n  if (typeof data === 'string') {\n    return data.replace(/&/g, '&amp;').replace(/ /g, '&nbsp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\"/g, '&quot;').replace(/'/g, '&#39;');\n  }\n\n  return data;\n}\n\n//# sourceURL=webpack://this.SDP.UC/./src/utils/func.js?");

/***/ }),

/***/ "./src/utils/logger.js":
/*!*****************************!*\
  !*** ./src/utils/logger.js ***!
  \*****************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Logger; });\n/* harmony import */ var _window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./window */ \"./src/utils/window.js\");\n\nvar methods = ['assert', 'clear', 'count', 'debug', 'dir', 'dirxml', 'error', 'exception', 'group', 'groupCollapsed', 'groupEnd', 'info', 'log', 'markTimeline', 'profile', 'profileEnd', 'table', 'time', 'timeEnd', 'timeline', 'timelineEnd', 'timeStamp', 'trace', 'warn'];\nvar length = methods.length;\nvar method = null;\n\nvar emptyFuc = function emptyFuc() {};\n\nwhile (length--) {\n  method = methods[length]; // Only stub undefined methods.\n\n  if (!_window__WEBPACK_IMPORTED_MODULE_0__[\"_console\"][method]) {\n    _window__WEBPACK_IMPORTED_MODULE_0__[\"_console\"][method] = emptyFuc;\n  }\n} // (debug:3, info:2, warn:1, error: 0, close: -1)\n\n\nvar levelMap = {\n  'log': 3,\n  'info': 2,\n  'warn': 1,\n  'error': 0,\n  'default': -1\n};\n\nvar Logger =\n/*#__PURE__*/\nfunction () {\n  function Logger() {}\n\n  Logger.setLevel = function setLevel() {\n    var level = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n    Logger.level = levelMap[level];\n  };\n\n  Logger.log = function log() {\n    for (var _len = arguments.length, arg = new Array(_len), _key = 0; _key < _len; _key++) {\n      arg[_key] = arguments[_key];\n    }\n\n    Logger._addLog.apply(Logger, ['log'].concat(arg));\n  };\n\n  Logger.info = function info() {\n    for (var _len2 = arguments.length, arg = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n      arg[_key2] = arguments[_key2];\n    }\n\n    Logger._addLog.apply(Logger, ['info'].concat(arg));\n  };\n\n  Logger.warn = function warn() {\n    for (var _len3 = arguments.length, arg = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n      arg[_key3] = arguments[_key3];\n    }\n\n    Logger._addLog.apply(Logger, ['warn'].concat(arg));\n  };\n\n  Logger.error = function error() {\n    for (var _len4 = arguments.length, arg = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n      arg[_key4] = arguments[_key4];\n    }\n\n    Logger._addLog.apply(Logger, ['error'].concat(arg));\n  };\n\n  Logger._addLog = function _addLog(level) {\n    if (Logger.level >= levelMap[level]) {\n      var fn = Logger.console[level];\n\n      for (var _len5 = arguments.length, arg = new Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {\n        arg[_key5 - 1] = arguments[_key5];\n      }\n\n      if (typeof fn.apply === 'function') {\n        fn.apply(Logger.console, arg);\n      } else {\n        fn(arg);\n      }\n    }\n  };\n\n  return Logger;\n}();\n\n\nLogger.level =  true ? 1 : undefined;\nLogger.console = _window__WEBPACK_IMPORTED_MODULE_0__[\"_console\"];\n\n//# sourceURL=webpack://this.SDP.UC/./src/utils/logger.js?");

/***/ }),

/***/ "./src/utils/mixinClasses.js":
/*!***********************************!*\
  !*** ./src/utils/mixinClasses.js ***!
  \***********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return mixinClasses; });\n// flow\n\n/**\n * 混入多个Class修饰器函数\n *\n * @export\n * @param {*} mixinClasses\n * @returns\n */\nfunction mixinClasses() {\n  for (var _len = arguments.length, mixinClasses = new Array(_len), _key = 0; _key < _len; _key++) {\n    mixinClasses[_key] = arguments[_key];\n  }\n\n  return function (target) {\n    var targetProto = target.prototype;\n    mixinClasses.forEach(function (mixinClass) {\n      var mixinProto = mixinClass.prototype;\n      var propertyNames = Object.getOwnPropertyNames(mixinProto);\n      propertyNames.forEach(function (name) {\n        var hasOwnProperty = targetProto.hasOwnProperty(name);\n\n        if (!hasOwnProperty) {\n          targetProto[name] = mixinProto[name];\n        }\n      });\n    });\n  };\n}\n\n//# sourceURL=webpack://this.SDP.UC/./src/utils/mixinClasses.js?");

/***/ }),

/***/ "./src/utils/storage.js":
/*!******************************!*\
  !*** ./src/utils/storage.js ***!
  \******************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/isFunction */ \"./node_modules/lodash/isFunction.js\");\n/* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_isFunction__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./logger */ \"./src/utils/logger.js\");\n/* harmony import */ var _window__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./window */ \"./src/utils/window.js\");\n// flow\n\n\n\n\nfunction sessionStorageMock() {\n  var storage = {};\n  return {\n    setItem: function setItem(key, value) {\n      storage[key] = value || '';\n    },\n    getItem: function getItem(key) {\n      return key in storage ? storage[key] : null;\n    },\n    removeItem: function removeItem(key) {\n      delete storage[key];\n    },\n    clear: function clear() {\n      storage = {};\n    }\n  };\n}\n\nvar Storage =\n/*#__PURE__*/\nfunction () {\n  Storage.setStorage = function setStorage() {\n    var storage = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n    if (!lodash_isFunction__WEBPACK_IMPORTED_MODULE_0___default()(storage.setItem) || !lodash_isFunction__WEBPACK_IMPORTED_MODULE_0___default()(storage.getItem) || !lodash_isFunction__WEBPACK_IMPORTED_MODULE_0___default()(storage.removeItem) || !lodash_isFunction__WEBPACK_IMPORTED_MODULE_0___default()(storage.clear)) {\n      _logger__WEBPACK_IMPORTED_MODULE_1__[\"default\"].error('UC-SDK: Custom storage must have functions setItem getItem removeItem and clear');\n    }\n\n    Storage.customStorage = storage;\n  }\n  /**\n   * @param {string} prefix  key 前缀\n   * @param {number} expire  默认过期秒数\n   */\n  ;\n\n  function Storage(prefix) {\n    var expire = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n    this.prefix = prefix || '';\n\n    if (expire === -1) {\n      // session storage\n      this.driver = _window__WEBPACK_IMPORTED_MODULE_2__[\"commonjsGlobal\"].sessionStorage || sessionStorageMock();\n    } else {\n      // local storage\n      this.driver = Storage.customStorage || _window__WEBPACK_IMPORTED_MODULE_2__[\"commonjsGlobal\"].localStorage || sessionStorageMock();\n      this.expire = expire || 0;\n    }\n  }\n\n  var _proto = Storage.prototype;\n\n  _proto._key = function _key(key) {\n    return this.prefix + key;\n  };\n\n  _proto.set = function set() {\n    var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n    var value = arguments.length > 1 ? arguments[1] : undefined;\n    var expire = arguments.length > 2 ? arguments[2] : undefined;\n\n    try {\n      var data = {\n        value: value\n      };\n\n      if (typeof expire === 'undefined') {\n        expire = this.expire;\n      }\n\n      if (expire) {\n        data.expire = new Date().getTime() + expire * 1000;\n      }\n\n      this.driver.setItem(this._key(key), JSON.stringify(data));\n    } catch (e) {\n      _logger__WEBPACK_IMPORTED_MODULE_1__[\"default\"].error(\"UC-SDK: Failed to set \".concat(key, \" to storage\"));\n    }\n  };\n\n  _proto.get = function get(key) {\n    try {\n      var data = this.driver.getItem(this._key(key));\n\n      if (data) {\n        data = JSON.parse(data);\n\n        if (data.expire) {\n          if (data.expire < new Date().getTime()) {\n            this.remove(key);\n            data = null;\n          }\n        }\n      }\n\n      return data && data.value;\n    } catch (e) {\n      _logger__WEBPACK_IMPORTED_MODULE_1__[\"default\"].error(\"UC-SDK: Failed to get \".concat(key, \" from storage\"), e);\n      return null;\n    }\n  };\n\n  _proto.remove = function remove(key) {\n    try {\n      this.driver.removeItem(this._key(key));\n    } catch (e) {\n      _logger__WEBPACK_IMPORTED_MODULE_1__[\"default\"].error(\"UC-SDK: Failed to remove \".concat(key, \" from the storage\"), e);\n    }\n  };\n\n  _proto.clear = function clear() {\n    try {\n      this.driver.clear();\n    } catch (e) {\n      _logger__WEBPACK_IMPORTED_MODULE_1__[\"default\"].error('UC-SDK: Failed to clear the storage', e);\n    }\n  };\n\n  return Storage;\n}();\n\nStorage.customStorage = _window__WEBPACK_IMPORTED_MODULE_2__[\"commonjsGlobal\"].localStorage || sessionStorageMock();\n/* harmony default export */ __webpack_exports__[\"default\"] = (Storage);\n\n//# sourceURL=webpack://this.SDP.UC/./src/utils/storage.js?");

/***/ }),

/***/ "./src/utils/uuid.js":
/*!***************************!*\
  !*** ./src/utils/uuid.js ***!
  \***************************/
/*! exports provided: createUuid */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createUuid\", function() { return createUuid; });\nfunction createUuid() {\n  return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n    var r = Math.random() * 16 | 0;\n    var v = c === 'x' ? r : r & 0x3 | 0x8;\n    return v.toString(16);\n  });\n}\n\n//# sourceURL=webpack://this.SDP.UC/./src/utils/uuid.js?");

/***/ }),

/***/ "./src/utils/window.js":
/*!*****************************!*\
  !*** ./src/utils/window.js ***!
  \*****************************/
/*! exports provided: _location, _origin, protocol, commonjsGlobal, screenWidth, screenHeight, _console */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"_location\", function() { return _location; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"_origin\", function() { return _origin; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"protocol\", function() { return protocol; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"commonjsGlobal\", function() { return commonjsGlobal; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"screenWidth\", function() { return screenWidth; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"screenHeight\", function() { return screenHeight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"_console\", function() { return _console; });\n// location\nvar _location = {\n  protocol: 'https',\n  href: ''\n}; // origin\n\nvar _origin = ''; //\n\nvar _console = {}; // 请求协议\n\nvar protocol = 'https:'; // 全局对象\n\nvar commonjsGlobal = {}; // 屏幕宽高\n\nvar screenWidth = 1;\nvar screenHeight = 1;\n\ntry {\n  if (typeof window !== 'undefined') {\n    _location = window.location; // 兼容IE9\n\n    _origin = window.location.origin || window.location.protocol + '//' + window.location.hostname + (window.location.port || '');\n    _console = window.console;\n    protocol = window.location.protocol || 'https';\n    commonjsGlobal = window;\n    screenWidth = window.screen && window.screen.width;\n    screenHeight = window.screen && window.screen.height;\n  } else if (typeof global !== 'undefined') {\n    _console = global.console;\n    commonjsGlobal = global;\n  } else if (typeof self !== 'undefined') {\n    _console = self.console;\n    commonjsGlobal = self;\n  } else {\n    _console = console;\n  }\n} catch (e) {\n  throw new Error(e);\n}\n\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../node_modules/webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack://this.SDP.UC/./src/utils/window.js?");

/***/ }),

/***/ "./src/validation/index.js":
/*!*********************************!*\
  !*** ./src/validation/index.js ***!
  \*********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return validation; });\n/* harmony import */ var lodash_get__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/get */ \"./node_modules/lodash/get.js\");\n/* harmony import */ var lodash_get__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_get__WEBPACK_IMPORTED_MODULE_0__);\n\n/**\n * 参数校验修饰器函数\n *\n * @export\n * @param {Array} rules 校验规则\n * @param {boolean} [isPromise=true] 方法返回值为Promise方式，默认为true\n * @returns\n */\n\nfunction validation(rules) {\n  var isPromise = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n  return function (target, name, descriptor) {\n    var fn = descriptor.value;\n\n    descriptor.value = function () {\n      var _arguments = arguments;\n\n      // 参数校验\n      if (rules && rules.length) {\n        var result;\n        rules.some(function (rule) {\n          // 校验规则：key - 参数名，path - 参数位置，validator - 校验器，config - 校验配置\n          var key = rule.key,\n              path = rule.path,\n              validator = rule.validator,\n              _rule$config = rule.config,\n              config = _rule$config === void 0 ? {} : _rule$config; // 获取校验值\n\n          var value = lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(_arguments, path); // 执行校验方法: name - 方法名，key - 参数名，value - 参数值，config - 校验配置\n\n          result = validator({\n            name: name,\n            key: key,\n            value: value,\n            config: config\n          });\n          return result;\n        }); // 校验结果\n\n        if (result) {\n          if (isPromise) {\n            return Promise.reject(result);\n          }\n\n          throw result;\n        }\n      }\n\n      return fn.apply(this, arguments);\n    };\n  };\n}\n\n//# sourceURL=webpack://this.SDP.UC/./src/validation/index.js?");

/***/ }),

/***/ "./src/validation/validators.js":
/*!**************************************!*\
  !*** ./src/validation/validators.js ***!
  \**************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _error_UCError__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../error/UCError */ \"./src/error/UCError.js\");\n/* harmony import */ var lodash_isBoolean__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/isBoolean */ \"./node_modules/lodash/isBoolean.js\");\n/* harmony import */ var lodash_isBoolean__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_isBoolean__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var lodash_isNumber__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash/isNumber */ \"./node_modules/lodash/isNumber.js\");\n/* harmony import */ var lodash_isNumber__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_isNumber__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var lodash_isString__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash/isString */ \"./node_modules/lodash/isString.js\");\n/* harmony import */ var lodash_isString__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash_isString__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var lodash_isObjectLike__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash/isObjectLike */ \"./node_modules/lodash/isObjectLike.js\");\n/* harmony import */ var lodash_isObjectLike__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash_isObjectLike__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n\nfunction getUndefinedError(_ref) {\n  var name = _ref.name,\n      key = _ref.key;\n  return new _error_UCError__WEBPACK_IMPORTED_MODULE_0__[\"default\"]('UCSDK/ARGUMENT_ERROR', \"\".concat(name, \"\\u65B9\\u6CD5\\u7F3A\\u5C11\\u53C2\\u6570\").concat(key));\n}\n\nfunction getArgumentError(_ref2) {\n  var name = _ref2.name,\n      key = _ref2.key,\n      type = _ref2.type;\n  return new _error_UCError__WEBPACK_IMPORTED_MODULE_0__[\"default\"]('UCSDK/ARGUMENT_ERROR', \"\".concat(name, \"\\u65B9\\u6CD5\\u7684\").concat(key, \"\\u53C2\\u6570\\u9700\\u8981\").concat(type, \"\\u7C7B\\u578B\"));\n}\n\nfunction getEmptyStringError(_ref3) {\n  var name = _ref3.name,\n      key = _ref3.key;\n  return new _error_UCError__WEBPACK_IMPORTED_MODULE_0__[\"default\"]('UCSDK/ARGUMENT_ERROR', \"\".concat(name, \"\\u65B9\\u6CD5\\u7684\").concat(key, \"\\u53C2\\u6570\\u4E0D\\u80FD\\u4E3A\\u7A7A\\u5B57\\u7B26\\u4E32\"));\n}\n/**\n * \b非空校验器\n */\n\n\nfunction undefinedValidator(_ref4) {\n  var name = _ref4.name,\n      key = _ref4.key,\n      value = _ref4.value,\n      config = _ref4.config;\n  // 参数校验默认不能为空\n  var _config$required = config.required,\n      required = _config$required === void 0 ? true : _config$required;\n\n  if (required && value === undefined) {\n    return getUndefinedError({\n      name: name,\n      key: key\n    });\n  }\n}\n/**\n * boolean校验器\n */\n\n\nfunction booleanValidator(_ref5) {\n  var name = _ref5.name,\n      key = _ref5.key,\n      value = _ref5.value,\n      config = _ref5.config;\n  var undefinedResult = undefinedValidator({\n    name: name,\n    key: key,\n    value: value,\n    config: config\n  });\n\n  if (undefinedResult) {\n    return undefinedResult;\n  }\n\n  if (value !== undefined && !lodash_isBoolean__WEBPACK_IMPORTED_MODULE_1___default()(value)) {\n    return getArgumentError({\n      name: name,\n      key: key,\n      type: 'boolean'\n    });\n  }\n}\n/**\n * number校验器\n */\n\n\nfunction numberValidator(_ref6) {\n  var name = _ref6.name,\n      key = _ref6.key,\n      value = _ref6.value,\n      config = _ref6.config;\n  var undefinedResult = undefinedValidator({\n    name: name,\n    key: key,\n    value: value,\n    config: config\n  });\n\n  if (undefinedResult) {\n    return undefinedResult;\n  }\n\n  if (value !== undefined && !lodash_isNumber__WEBPACK_IMPORTED_MODULE_2___default()(value)) {\n    return getArgumentError({\n      name: name,\n      key: key,\n      type: 'number'\n    });\n  }\n}\n/**\n * string校验器\n */\n\n\nfunction stringValidator(_ref7) {\n  var name = _ref7.name,\n      key = _ref7.key,\n      value = _ref7.value,\n      config = _ref7.config;\n  var undefinedResult = undefinedValidator({\n    name: name,\n    key: key,\n    value: value,\n    config: config\n  });\n\n  if (undefinedResult) {\n    return undefinedResult;\n  }\n\n  if (value !== undefined) {\n    if (!lodash_isString__WEBPACK_IMPORTED_MODULE_3___default()(value)) {\n      return getArgumentError({\n        name: name,\n        key: key,\n        type: 'string'\n      });\n    } // 字符串校验默认允许为空字符串\n\n\n    var _config$enableEmptySt = config.enableEmptyString,\n        enableEmptyString = _config$enableEmptySt === void 0 ? true : _config$enableEmptySt;\n\n    if (!enableEmptyString && value.trim() === '') {\n      return getEmptyStringError({\n        name: name,\n        key: key\n      });\n    }\n  }\n}\n/**\n * object校验器\n */\n\n\nfunction objectValidator(_ref8) {\n  var name = _ref8.name,\n      key = _ref8.key,\n      value = _ref8.value,\n      config = _ref8.config;\n  var undefinedResult = undefinedValidator({\n    name: name,\n    key: key,\n    value: value,\n    config: config\n  });\n\n  if (undefinedResult) {\n    return undefinedResult;\n  }\n\n  if (value !== undefined && !lodash_isObjectLike__WEBPACK_IMPORTED_MODULE_4___default()(value)) {\n    return getArgumentError({\n      name: name,\n      key: key,\n      type: 'object'\n    });\n  }\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  boolean: booleanValidator,\n  number: numberValidator,\n  string: stringValidator,\n  object: objectValidator\n});\n\n//# sourceURL=webpack://this.SDP.UC/./src/validation/validators.js?");

/***/ })

/******/ });