UNPKG

yyzone

Version:

yyzone vue components and utils

99 lines (90 loc) 10.9 MB
/******/ (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, { /******/ configurable: false, /******/ enumerable: true, /******/ get: getter /******/ }); /******/ } /******/ }; /******/ /******/ // 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 = 350); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("/* harmony export (immutable) */ __webpack_exports__[\"a\"] = normalizeComponent;\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzPzJiNWYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiMC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGdsb2JhbHMgX19WVUVfU1NSX0NPTlRFWFRfXyAqL1xuXG4vLyBJTVBPUlRBTlQ6IERvIE5PVCB1c2UgRVMyMDE1IGZlYXR1cmVzIGluIHRoaXMgZmlsZSAoZXhjZXB0IGZvciBtb2R1bGVzKS5cbi8vIFRoaXMgbW9kdWxlIGlzIGEgcnVudGltZSB1dGlsaXR5IGZvciBjbGVhbmVyIGNvbXBvbmVudCBtb2R1bGUgb3V0cHV0IGFuZCB3aWxsXG4vLyBiZSBpbmNsdWRlZCBpbiB0aGUgZmluYWwgd2VicGFjayB1c2VyIGJ1bmRsZS5cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbm9ybWFsaXplQ29tcG9uZW50IChcbiAgc2NyaXB0RXhwb3J0cyxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZ1bmN0aW9uYWxUZW1wbGF0ZSxcbiAgaW5qZWN0U3R5bGVzLFxuICBzY29wZUlkLFxuICBtb2R1bGVJZGVudGlmaWVyLCAvKiBzZXJ2ZXIgb25seSAqL1xuICBzaGFkb3dNb2RlIC8qIHZ1ZS1jbGkgb25seSAqL1xuKSB7XG4gIC8vIFZ1ZS5leHRlbmQgY29uc3RydWN0b3IgZXhwb3J0IGludGVyb3BcbiAgdmFyIG9wdGlvbnMgPSB0eXBlb2Ygc2NyaXB0RXhwb3J0cyA9PT0gJ2Z1bmN0aW9uJ1xuICAgID8gc2NyaXB0RXhwb3J0cy5vcHRpb25zXG4gICAgOiBzY3JpcHRFeHBvcnRzXG5cbiAgLy8gcmVuZGVyIGZ1bmN0aW9uc1xuICBpZiAocmVuZGVyKSB7XG4gICAgb3B0aW9ucy5yZW5kZXIgPSByZW5kZXJcbiAgICBvcHRpb25zLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZuc1xuICAgIG9wdGlvbnMuX2NvbXBpbGVkID0gdHJ1ZVxuICB9XG5cbiAgLy8gZnVuY3Rpb25hbCB0ZW1wbGF0ZVxuICBpZiAoZnVuY3Rpb25hbFRlbXBsYXRlKSB7XG4gICAgb3B0aW9ucy5mdW5jdGlvbmFsID0gdHJ1ZVxuICB9XG5cbiAgLy8gc2NvcGVkSWRcbiAgaWYgKHNjb3BlSWQpIHtcbiAgICBvcHRpb25zLl9zY29wZUlkID0gJ2RhdGEtdi0nICsgc2NvcGVJZFxuICB9XG5cbiAgdmFyIGhvb2tcbiAgaWYgKG1vZHVsZUlkZW50aWZpZXIpIHsgLy8gc2VydmVyIGJ1aWxkXG4gICAgaG9vayA9IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgICAvLyAyLjMgaW5qZWN0aW9uXG4gICAgICBjb250ZXh0ID1cbiAgICAgICAgY29udGV4dCB8fCAvLyBjYWNoZWQgY2FsbFxuICAgICAgICAodGhpcy4kdm5vZGUgJiYgdGhpcy4kdm5vZGUuc3NyQ29udGV4dCkgfHwgLy8gc3RhdGVmdWxcbiAgICAgICAgKHRoaXMucGFyZW50ICYmIHRoaXMucGFyZW50LiR2bm9kZSAmJiB0aGlzLnBhcmVudC4kdm5vZGUuc3NyQ29udGV4dCkgLy8gZnVuY3Rpb25hbFxuICAgICAgLy8gMi4yIHdpdGggcnVuSW5OZXdDb250ZXh0OiB0cnVlXG4gICAgICBpZiAoIWNvbnRleHQgJiYgdHlwZW9mIF9fVlVFX1NTUl9DT05URVhUX18gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIGNvbnRleHQgPSBfX1ZVRV9TU1JfQ09OVEVYVF9fXG4gICAgICB9XG4gICAgICAvLyBpbmplY3QgY29tcG9uZW50IHN0eWxlc1xuICAgICAgaWYgKGluamVjdFN0eWxlcykge1xuICAgICAgICBpbmplY3RTdHlsZXMuY2FsbCh0aGlzLCBjb250ZXh0KVxuICAgICAgfVxuICAgICAgLy8gcmVnaXN0ZXIgY29tcG9uZW50IG1vZHVsZSBpZGVudGlmaWVyIGZvciBhc3luYyBjaHVuayBpbmZlcnJlbmNlXG4gICAgICBpZiAoY29udGV4dCAmJiBjb250ZXh0Ll9yZWdpc3RlcmVkQ29tcG9uZW50cykge1xuICAgICAgICBjb250ZXh0Ll9yZWdpc3RlcmVkQ29tcG9uZW50cy5hZGQobW9kdWxlSWRlbnRpZmllcilcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gdXNlZCBieSBzc3IgaW4gY2FzZSBjb21wb25lbnQgaXMgY2FjaGVkIGFuZCBiZWZvcmVDcmVhdGVcbiAgICAvLyBuZXZlciBnZXRzIGNhbGxlZFxuICAgIG9wdGlvbnMuX3NzclJlZ2lzdGVyID0gaG9va1xuICB9IGVsc2UgaWYgKGluamVjdFN0eWxlcykge1xuICAgIGhvb2sgPSBzaGFkb3dNb2RlXG4gICAgICA/IGZ1bmN0aW9uICgpIHsgaW5qZWN0U3R5bGVzLmNhbGwodGhpcywgdGhpcy4kcm9vdC4kb3B0aW9ucy5zaGFkb3dSb290KSB9XG4gICAgICA6IGluamVjdFN0eWxlc1xuICB9XG5cbiAgaWYgKGhvb2spIHtcbiAgICBpZiAob3B0aW9ucy5mdW5jdGlvbmFsKSB7XG4gICAgICAvLyBmb3IgdGVtcGxhdGUtb25seSBob3QtcmVsb2FkIGJlY2F1c2UgaW4gdGhhdCBjYXNlIHRoZSByZW5kZXIgZm4gZG9lc24ndFxuICAgICAgLy8gZ28gdGhyb3VnaCB0aGUgbm9ybWFsaXplclxuICAgICAgb3B0aW9ucy5faW5qZWN0U3R5bGVzID0gaG9va1xuICAgICAgLy8gcmVnaXN0ZXIgZm9yIGZ1bmN0aW9hbCBjb21wb25lbnQgaW4gdnVlIGZpbGVcbiAgICAgIHZhciBvcmlnaW5hbFJlbmRlciA9IG9wdGlvbnMucmVuZGVyXG4gICAgICBvcHRpb25zLnJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcldpdGhTdHlsZUluamVjdGlvbiAoaCwgY29udGV4dCkge1xuICAgICAgICBob29rLmNhbGwoY29udGV4dClcbiAgICAgICAgcmV0dXJuIG9yaWdpbmFsUmVuZGVyKGgsIGNvbnRleHQpXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGluamVjdCBjb21wb25lbnQgcmVnaXN0cmF0aW9uIGFzIGJlZm9yZUNyZWF0ZSBob29rXG4gICAgICB2YXIgZXhpc3RpbmcgPSBvcHRpb25zLmJlZm9yZUNyZWF0ZVxuICAgICAgb3B0aW9ucy5iZWZvcmVDcmVhdGUgPSBleGlzdGluZ1xuICAgICAgICA/IFtdLmNvbmNhdChleGlzdGluZywgaG9vaylcbiAgICAgICAgOiBbaG9va11cbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGV4cG9ydHM6IHNjcmlwdEV4cG9ydHMsXG4gICAgb3B0aW9uczogb3B0aW9uc1xuICB9XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcbi8vIG1vZHVsZSBpZCA9IDBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///0\n"); /***/ }), /* 1 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.oneOf = oneOf;\nexports.typeOf = typeOf;\nexports.deepCopy = deepCopy;\nexports.getScrollBarSize = getScrollBarSize;\nexports.getStyle = getStyle;\nexports.firstUpperCase = firstUpperCase;\nexports.findComponentUpward = findComponentUpward;\nexports.findComponentDownward = findComponentDownward;\nexports.findComponentsUpward = findComponentsUpward;\nexports.findComponentsDownward = findComponentsDownward;\nexports.hasClass = hasClass;\nexports.addClass = addClass;\nexports.removeClass = removeClass;\nexports.htmlEscape = htmlEscape;\nexports.escapeHtml = escapeHtml;\nexports.revertURL = revertURL;\nexports.bytesToSize = bytesToSize;\n\nvar _vue = __webpack_require__(17);\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar isServer = _vue2.default.prototype.$isServer;\n\n// oneOf\nfunction oneOf(value, validList) {\n for (var i = 0; i < validList.length; i++) {\n if (value === validList[i]) {\n return true;\n }\n }\n return false;\n}\n\n// typeOf\nfunction typeOf(obj) {\n var toString = Object.prototype.toString;\n var types = {\n '[object Boolean]': 'boolean',\n '[object Number]': 'number',\n '[object String]': 'string',\n '[object Function]': 'function',\n '[object Array]': 'array',\n '[object Date]': 'date',\n '[object RegExp]': 'regExp',\n '[object Undefined]': 'undefined',\n '[object Null]': 'null',\n '[object Object]': 'object'\n };\n return types[toString.call(obj)] || 'undefined';\n}\n\n// deepCopy\nfunction deepCopy(obj, cache) {\n if (cache === void 0) cache = [];\n\n if (obj === null || (typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) !== 'object') {\n return obj;\n }\n\n var hit = find(cache, function (c) {\n return c.original === obj;\n });\n if (hit) {\n return hit.copy;\n }\n\n var copy = Array.isArray(obj) ? [] : {};\n cache.push({\n original: obj,\n copy: copy\n });\n\n Object.keys(obj).forEach(function (key) {\n copy[key] = deepCopy(obj[key], cache);\n });\n\n return copy;\n}\n\n// getScrollBarSize\nvar cached = void 0;\nfunction getScrollBarSize(fresh) {\n if (isServer) return 0;\n if (fresh || cached === undefined) {\n var inner = document.createElement('div');\n inner.style.width = '100%';\n inner.style.height = '200px';\n\n var outer = document.createElement('div');\n var outerStyle = outer.style;\n\n outerStyle.position = 'absolute';\n outerStyle.top = 0;\n outerStyle.left = 0;\n outerStyle.pointerEvents = 'none';\n outerStyle.visibility = 'hidden';\n outerStyle.width = '200px';\n outerStyle.height = '150px';\n outerStyle.overflow = 'hidden';\n\n outer.appendChild(inner);\n\n document.body.appendChild(outer);\n\n var widthContained = inner.offsetWidth;\n outer.style.overflow = 'scroll';\n var widthScroll = inner.offsetWidth;\n\n if (widthContained === widthScroll) {\n widthScroll = outer.clientWidth;\n }\n\n document.body.removeChild(outer);\n\n cached = widthContained - widthScroll;\n }\n return cached;\n}\n\nvar SPECIAL_CHARS_REGEXP = /([\\:\\-\\_]+(.))/g;\nvar MOZ_HACK_REGEXP = /^moz([A-Z])/;\n\nfunction camelCase(name) {\n return name.replace(SPECIAL_CHARS_REGEXP, function (_, separator, letter, offset) {\n return offset ? letter.toUpperCase() : letter;\n }).replace(MOZ_HACK_REGEXP, 'Moz$1');\n}\n// getStyle\nfunction getStyle(element, styleName) {\n if (!element || !styleName) return null;\n styleName = camelCase(styleName);\n if (styleName === 'float') {\n styleName = 'cssFloat';\n }\n try {\n var computed = document.defaultView.getComputedStyle(element, '');\n return element.style[styleName] || computed ? computed[styleName] : null;\n } catch (e) {\n return element.style[styleName];\n }\n}\n\n// first upperCase\nfunction firstUpperCase(str) {\n return str.toString()[0].toUpperCase() + str.toString().slice(1);\n}\n\n// find component\nfunction findComponentUpward(context, componentName, componentNames) {\n if (typeof componentName === 'string') {\n componentNames = [componentName];\n } else {\n componentNames = componentName;\n }\n\n var parent = context.$parent;\n var name = parent.$options.name;\n while (parent && (!name || componentNames.indexOf(name) < 0)) {\n parent = parent.$parent;\n if (parent) name = parent.$options.name;\n }\n return parent;\n}\nfunction findComponentDownward(context, componentName) {\n var childrens = context.$children;\n var children = null;\n\n if (childrens.length) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = childrens[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var child = _step.value;\n\n var name = child.$options.name;\n if (name === componentName) {\n children = child;\n break;\n } else {\n children = findComponentDownward(child, componentName);\n if (children) break;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n return children;\n}\n\n// find components\nfunction findComponentsUpward(context, componentName) {\n var parents = [];\n var parent = context.$parent;\n if (parent) {\n if (parent.$options.name === componentName) parents.push(parent);\n return parents.concat(findComponentsUpward(parent, componentName));\n } else {\n return [];\n }\n}\nfunction findComponentsDownward(context, componentName) {\n return context.$children.reduce(function (components, child) {\n if (child.$options.name === componentName) components.push(child);\n var foundChilds = findComponentsDownward(child, componentName);\n return components.concat(foundChilds);\n }, []);\n}\n\n// hasClass\nfunction hasClass(el, cls) {\n if (!el || !cls) return false;\n if (cls.indexOf(' ') !== -1) throw new Error('className should not contain space.');\n if (el.classList) {\n return el.classList.contains(cls);\n }\n return (' ' + el.className + ' ').indexOf(' ' + cls + ' ') > -1;\n}\n\n// addClass\nfunction addClass(el, cls) {\n if (!el) return;\n var curClass = el.className;\n var classes = (cls || '').split(' ');\n\n for (var i = 0, j = classes.length; i < j; i++) {\n var clsName = classes[i];\n if (!clsName) continue;\n\n if (el.classList) {\n return el.classList.add(clsName);\n }\n if (!hasClass(el, clsName)) {\n return curClass += ' ' + clsName;\n }\n }\n if (!el.classList) {\n el.className = curClass;\n }\n}\n\n// removeClass\nfunction removeClass(el, cls) {\n if (!el || !cls) return;\n var classes = cls.split(' ');\n var curClass = ' ' + el.className + ' ';\n\n for (var i = 0, j = classes.length; i < j; i++) {\n var clsName = classes[i];\n if (!clsName) continue;\n\n if (el.classList) {\n return el.classList.remove(clsName);\n }\n if (hasClass(el, clsName)) {\n return curClass = curClass.replace(' ' + clsName + ' ', ' ');\n }\n }\n if (!el.classList) {\n el.className = trim(curClass);\n }\n}\n\n//普通字符转换成转意符\nfunction htmlEscape(str) {\n if (str && typeof str == 'string') {\n return str.replace(/[\\<\\>\\&\\\"\\']/g, function (c) {\n return {\n '<': '&#60',\n '>': '&#62',\n '&': '&#38',\n '\"': '&#34',\n '\\'': '&#39'\n }[c];\n });\n }\n return str;\n}\n\n//转意符换成普通字符\nfunction escapeHtml(str) {\n if (str && typeof str == 'string') {\n var arrEntities = {\n 'lt': '<',\n 'gt': '>',\n 'nbsp': ' ',\n 'amp': '&',\n 'quot': '\"',\n '#60': '<',\n '#62': '>',\n '#38': '&',\n '#34': '\"',\n '#39': '\\''\n };\n return str.replace(/&(lt|gt|nbsp|amp|quot|\\#(:?60|62|38|34|39))?/ig, function (all, t) {\n return arrEntities[t];\n });\n }\n return str;\n}\n\n// 转换URL\nfunction revertURL() {\n var _window$location = window.location,\n protocol = _window$location.protocol,\n host = _window$location.host,\n pathname = _window$location.pathname,\n hash = _window$location.hash,\n search = _window$location.search;\n\n if (search !== '') {\n window.location.href = decodeURIComponent([protocol, '//', host, pathname, hash, search].join(''));\n }\n}\n\n// bytesToSize\nfunction bytesToSize(bytes) {\n if (typeof bytes == 'string') {\n bytes = parseInt(bytes);\n }\n if (bytes === 0) return '0 B';\n var k = 1024;\n var sizes = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n var i = Math.floor(Math.log(bytes) / Math.log(k));\n return (bytes / Math.pow(k, i)).toFixed(2) + ' ' + sizes[i]; //toPrecision(3) 后面保留一位小数,如1.0GB \n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvdXRpbHMvYXNzaXN0LmpzPzMzNzYiXSwibmFtZXMiOlsib25lT2YiLCJ0eXBlT2YiLCJkZWVwQ29weSIsImdldFNjcm9sbEJhclNpemUiLCJnZXRTdHlsZSIsImZpcnN0VXBwZXJDYXNlIiwiZmluZENvbXBvbmVudFVwd2FyZCIsImZpbmRDb21wb25lbnREb3dud2FyZCIsImZpbmRDb21wb25lbnRzVXB3YXJkIiwiZmluZENvbXBvbmVudHNEb3dud2FyZCIsImhhc0NsYXNzIiwiYWRkQ2xhc3MiLCJyZW1vdmVDbGFzcyIsImh0bWxFc2NhcGUiLCJlc2NhcGVIdG1sIiwicmV2ZXJ0VVJMIiwiYnl0ZXNUb1NpemUiLCJpc1NlcnZlciIsIlZ1ZSIsInByb3RvdHlwZSIsIiRpc1NlcnZlciIsInZhbHVlIiwidmFsaWRMaXN0IiwiaSIsImxlbmd0aCIsIm9iaiIsInRvU3RyaW5nIiwiT2JqZWN0IiwidHlwZXMiLCJjYWxsIiwiY2FjaGUiLCJoaXQiLCJmaW5kIiwiYyIsIm9yaWdpbmFsIiwiY29weSIsIkFycmF5IiwiaXNBcnJheSIsInB1c2giLCJrZXlzIiwiZm9yRWFjaCIsImtleSIsImNhY2hlZCIsImZyZXNoIiwidW5kZWZpbmVkIiwiaW5uZXIiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJzdHlsZSIsIndpZHRoIiwiaGVpZ2h0Iiwib3V0ZXIiLCJvdXRlclN0eWxlIiwicG9zaXRpb24iLCJ0b3AiLCJsZWZ0IiwicG9pbnRlckV2ZW50cyIsInZpc2liaWxpdHkiLCJvdmVyZmxvdyIsImFwcGVuZENoaWxkIiwiYm9keSIsIndpZHRoQ29udGFpbmVkIiwib2Zmc2V0V2lkdGgiLCJ3aWR0aFNjcm9sbCIsImNsaWVudFdpZHRoIiwicmVtb3ZlQ2hpbGQiLCJTUEVDSUFMX0NIQVJTX1JFR0VYUCIsIk1PWl9IQUNLX1JFR0VYUCIsImNhbWVsQ2FzZSIsIm5hbWUiLCJyZXBsYWNlIiwiXyIsInNlcGFyYXRvciIsImxldHRlciIsIm9mZnNldCIsInRvVXBwZXJDYXNlIiwiZWxlbWVudCIsInN0eWxlTmFtZSIsImNvbXB1dGVkIiwiZGVmYXVsdFZpZXciLCJnZXRDb21wdXRlZFN0eWxlIiwiZSIsInN0ciIsInNsaWNlIiwiY29udGV4dCIsImNvbXBvbmVudE5hbWUiLCJjb21wb25lbnROYW1lcyIsInBhcmVudCIsIiRwYXJlbnQiLCIkb3B0aW9ucyIsImluZGV4T2YiLCJjaGlsZHJlbnMiLCIkY2hpbGRyZW4iLCJjaGlsZHJlbiIsImNoaWxkIiwicGFyZW50cyIsImNvbmNhdCIsInJlZHVjZSIsImNvbXBvbmVudHMiLCJmb3VuZENoaWxkcyIsImVsIiwiY2xzIiwiRXJyb3IiLCJjbGFzc0xpc3QiLCJjb250YWlucyIsImNsYXNzTmFtZSIsImN1ckNsYXNzIiwiY2xhc3NlcyIsInNwbGl0IiwiaiIsImNsc05hbWUiLCJhZGQiLCJyZW1vdmUiLCJ0cmltIiwiYXJyRW50aXRpZXMiLCJhbGwiLCJ0Iiwid2luZG93IiwibG9jYXRpb24iLCJwcm90b2NvbCIsImhvc3QiLCJwYXRobmFtZSIsImhhc2giLCJzZWFyY2giLCJocmVmIiwiZGVjb2RlVVJJQ29tcG9uZW50Iiwiam9pbiIsImJ5dGVzIiwicGFyc2VJbnQiLCJrIiwic2l6ZXMiLCJNYXRoIiwiZmxvb3IiLCJsb2ciLCJwb3ciLCJ0b0ZpeGVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztRQUlnQkEsSyxHQUFBQSxLO1FBVUFDLE0sR0FBQUEsTTtRQWtCQUMsUSxHQUFBQSxRO1FBNkJBQyxnQixHQUFBQSxnQjtRQStDQUMsUSxHQUFBQSxRO1FBZUFDLGMsR0FBQUEsYztRQUtBQyxtQixHQUFBQSxtQjtRQWVBQyxxQixHQUFBQSxxQjtRQW9CQUMsb0IsR0FBQUEsb0I7UUFVQUMsc0IsR0FBQUEsc0I7UUFVQUMsUSxHQUFBQSxRO1FBVUFDLFEsR0FBQUEsUTtRQXNCQUMsVyxHQUFBQSxXO1FBc0JBQyxVLEdBQUFBLFU7UUFnQkFDLFUsR0FBQUEsVTtRQXNCQUMsUyxHQUFBQSxTO1FBY0FD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QWdCTSxJQUFoQixHQUF1QkMsbUJBQW1CLENBQUNOLFFBQUQsRUFBVyxJQUFYLEVBQWlCQyxJQUFqQixFQUF1QkMsUUFBdkIsRUFBaUNDLElBQWpDLEVBQXVDQyxNQUF2QyxFQUErQ0csSUFBL0MsQ0FBb0QsRUFBcEQsQ0FBbkIsQ0FBdkI7QUFDSDtBQUNKOztBQUVEO0FBQ08sU0FBUzlHLFdBQVQsQ0FBcUIrRyxLQUFyQixFQUE0QjtBQUMvQixRQUFHLE9BQU9BLEtBQVAsSUFBZ0IsUUFBbkIsRUFBNEI7QUFDeEJBLGdCQUFRQyxTQUFTRCxLQUFULENBQVI7QUFDSDtBQUNELFFBQUlBLFVBQVUsQ0FBZCxFQUFpQixPQUFPLEtBQVA7QUFDakIsUUFBSUUsSUFBSSxJQUFSO0FBQ0EsUUFBSUMsUUFBUSxDQUFDLEdBQUQsRUFBTSxJQUFOLEVBQVksSUFBWixFQUFrQixJQUFsQixFQUF3QixJQUF4QixFQUE4QixJQUE5QixFQUFvQyxJQUFwQyxFQUEwQyxJQUExQyxFQUFnRCxJQUFoRCxDQUFaO0FBQ0EsUUFBSTNHLElBQUk0RyxLQUFLQyxLQUFMLENBQVdELEtBQUtFLEdBQUwsQ0FBU04sS0FBVCxJQUFrQkksS0FBS0UsR0FBTCxDQUFTSixDQUFULENBQTdCLENBQVI7QUFDQSxXQUFPLENBQUNGLFFBQVFJLEtBQUtHLEdBQUwsQ0FBU0wsQ0FBVCxFQUFZMUcsQ0FBWixDQUFULEVBQXlCZ0gsT0FBekIsQ0FBaUMsQ0FBakMsSUFBc0MsR0FBdEMsR0FBNENMLE1BQU0zRyxDQUFOLENBQW5ELENBUitCLENBUTZCO0FBQy9EIiwiZmlsZSI6IjEuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVnVlIGZyb20gJ3Z1ZSdcbmNvbnN0IGlzU2VydmVyID0gVnVlLnByb3RvdHlwZS4kaXNTZXJ2ZXJcblxuLy8gb25lT2ZcbmV4cG9ydCBmdW5jdGlvbiBvbmVPZiAodmFsdWUsIHZhbGlkTGlzdCkge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdmFsaWRMaXN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdmFsaWRMaXN0W2ldKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZVxufVxuXG4vLyB0eXBlT2ZcbmV4cG9ydCBmdW5jdGlvbiB0eXBlT2Yob2JqKSB7XG4gICAgY29uc3QgdG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nXG4gICAgY29uc3QgdHlwZXMgPSB7XG4gICAgICAgICdbb2JqZWN0IEJvb2xlYW5dJzogJ2Jvb2xlYW4nLFxuICAgICAgICAnW29iamVjdCBOdW1iZXJdJzogJ251bWJlcicsXG4gICAgICAgICdbb2JqZWN0IFN0cmluZ10nOiAnc3RyaW5nJyxcbiAgICAgICAgJ1tvYmplY3QgRnVuY3Rpb25dJzogJ2Z1bmN0aW9uJyxcbiAgICAgICAgJ1tvYmplY3QgQXJyYXldJzogJ2FycmF5JyxcbiAgICAgICAgJ1tvYmplY3QgRGF0ZV0nOiAnZGF0ZScsXG4gICAgICAgICdbb2JqZWN0IFJlZ0V4cF0nOiAncmVnRXhwJyxcbiAgICAgICAgJ1tvYmplY3QgVW5kZWZpbmVkXSc6ICd1bmRlZmluZWQnLFxuICAgICAgICAnW29iamVjdCBOdWxsXSc6ICdudWxsJyxcbiAgICAgICAgJ1tvYmplY3QgT2JqZWN0XSc6ICdvYmplY3QnXG4gICAgfVxuICAgIHJldHVybiB0eXBlc1t0b1N0cmluZy5jYWxsKG9iaildIHx8ICd1bmRlZmluZWQnXG59XG5cbi8vIGRlZXBDb3B5XG5leHBvcnQgZnVuY3Rpb24gZGVlcENvcHkob2JqLCBjYWNoZSkge1xuICAgIGlmIChjYWNoZSA9PT0gdm9pZCAwKSBjYWNoZSA9IFtdXG5cbiAgICBpZiAob2JqID09PSBudWxsIHx8IHR5cGVvZiBvYmogIT09ICdvYmplY3QnKSB7XG4gICAgICAgIHJldHVybiBvYmpcbiAgICB9XG5cbiAgICBsZXQgaGl0ID0gZmluZChjYWNoZSwgZnVuY3Rpb24gKGMpIHtcbiAgICAgICAgcmV0dXJuIGMub3JpZ2luYWwgPT09IG9ialxuICAgIH0pXG4gICAgaWYgKGhpdCkge1xuICAgICAgICByZXR1cm4gaGl0LmNvcHlcbiAgICB9XG5cbiAgICBsZXQgY29weSA9IEFycmF5LmlzQXJyYXkob2JqKSA/IFtdIDoge31cbiAgICBjYWNoZS5wdXNoKHtcbiAgICAgICAgb3JpZ2luYWw6IG9iaixcbiAgICAgICAgY29weTogY29weVxuICAgIH0pXG5cbiAgICBPYmplY3Qua2V5cyhvYmopLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuICAgICAgICBjb3B5W2tleV0gPSBkZWVwQ29weShvYmpba2V5XSwgY2FjaGUpXG4gICAgfSlcblxuICAgIHJldHVybiBjb3B5XG59XG5cbi8vIGdldFNjcm9sbEJhclNpemVcbmxldCBjYWNoZWRcbmV4cG9ydCBmdW5jdGlvbiBnZXRTY3JvbGxCYXJTaXplIChmcmVzaCkge1xuICAgIGlmIChpc1NlcnZlcikgcmV0dXJuIDBcbiAgICBpZiAoZnJlc2ggfHwgY2FjaGVkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3QgaW5uZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKVxuICAgICAgICBpbm5lci5zdHlsZS53aWR0aCA9ICcxMDAlJ1xuICAgICAgICBpbm5lci5zdHlsZS5oZWlnaHQgPSAnMjAwcHgnXG5cbiAgICAgICAgY29uc3Qgb3V0ZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKVxuICAgICAgICBjb25zdCBvdXRlclN0eWxlID0gb3V0ZXIuc3R5bGVcblxuICAgICAgICBvdXRlclN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJ1xuICAgICAgICBvdXRlclN0eWxlLnRvcCA9IDBcbiAgICAgICAgb3V0ZXJTdHlsZS5sZWZ0ID0gMFxuICAgICAgICBvdXRlclN0eWxlLnBvaW50ZXJFdmVudHMgPSAnbm9uZSdcbiAgICAgICAgb3V0ZXJTdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbidcbiAgICAgICAgb3V0ZXJTdHlsZS53aWR0aCA9ICcyMDBweCdcbiAgICAgICAgb3V0ZXJTdHlsZS5oZWlnaHQgPSAnMTUwcHgnXG4gICAgICAgIG91dGVyU3R5bGUub3ZlcmZsb3cgPSAnaGlkZGVuJ1xuXG4gICAgICAgIG91dGVyLmFwcGVuZENoaWxkKGlubmVyKVxuXG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQob3V0ZXIpXG5cbiAgICAgICAgY29uc3Qgd2lkdGhDb250YWluZWQgPSBpbm5lci5vZmZzZXRXaWR0aFxuICAgICAgICBvdXRlci5zdHlsZS5vdmVyZmxvdyA9ICdzY3JvbGwnXG4gICAgICAgIGxldCB3aWR0aFNjcm9sbCA9IGlubmVyLm9mZnNldFdpZHRoXG5cbiAgICAgICAgaWYgKHdpZHRoQ29udGFpbmVkID09PSB3aWR0aFNjcm9sbCkge1xuICAgICAgICAgICAgd2lkdGhTY3JvbGwgPSBvdXRlci5jbGllbnRXaWR0aFxuICAgICAgICB9XG5cbiAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChvdXRlcilcblxuICAgICAgICBjYWNoZWQgPSB3aWR0aENvbnRhaW5lZCAtIHdpZHRoU2Nyb2xsXG4gICAgfVxuICAgIHJldHVybiBjYWNoZWRcbn1cblxuY29uc3QgU1BFQ0lBTF9DSEFSU19SRUdFWFAgPSAvKFtcXDpcXC1cXF9dKyguKSkvZ1xuY29uc3QgTU9aX0hBQ0tfUkVHRVhQID0gL15tb3ooW0EtWl0pL1xuXG5mdW5jdGlvbiBjYW1lbENhc2UobmFtZSkge1xuICAgIHJldHVybiBuYW1lLnJlcGxhY2UoU1BFQ0lBTF9DSEFSU19SRUdFWFAsIGZ1bmN0aW9uKF8sIHNlcGFyYXRvciwgbGV0dGVyLCBvZmZzZXQpIHtcbiAgICAgICAgcmV0dXJuIG9mZnNldCA/IGxldHRlci50b1VwcGVyQ2FzZSgpIDogbGV0dGVyXG4gICAgfSkucmVwbGFjZShNT1pfSEFDS19SRUdFWFAsICdNb3okMScpO1xufVxuLy8gZ2V0U3R5bGVcbmV4cG9ydCBmdW5jdGlvbiBnZXRTdHlsZSAoZWxlbWVudCwgc3R5bGVOYW1lKSB7XG4gICAgaWYgKCFlbGVtZW50IHx8ICFzdHlsZU5hbWUpIHJldHVybiBudWxsXG4gICAgc3R5bGVOYW1lID0gY2FtZWxDYXNlKHN0eWxlTmFtZSlcbiAgICBpZiAoc3R5bGVOYW1lID09PSAnZmxvYXQnKSB7XG4gICAgICAgIHN0eWxlTmFtZSA9ICdjc3NGbG9hdCdcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgY29tcHV0ZWQgPSBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKTtcbiAgICAgICAgcmV0dXJuIGVsZW1lbnQuc3R5bGVbc3R5bGVOYW1lXSB8fCBjb21wdXRlZCA/IGNvbXB1dGVkW3N0eWxlTmFtZV0gOiBudWxsXG4gICAgfSBjYXRjaChlKSB7XG4gICAgICAgIHJldHVybiBlbGVtZW50LnN0eWxlW3N0eWxlTmFtZV1cbiAgICB9XG59XG5cbi8vIGZpcnN0IHVwcGVyQ2FzZVxuZXhwb3J0IGZ1bmN0aW9uIGZpcnN0VXBwZXJDYXNlKHN0cikge1xuICAgIHJldHVybiBzdHIudG9TdHJpbmcoKVswXS50b1VwcGVyQ2FzZSgpICsgc3RyLnRvU3RyaW5nKCkuc2xpY2UoMSlcbn1cblxuLy8gZmluZCBjb21wb25lbnRcbmV4cG9ydCBmdW5jdGlvbiBmaW5kQ29tcG9uZW50VXB3YXJkIChjb250ZXh0LCBjb21wb25lbnROYW1lLCBjb21wb25lbnROYW1lcykge1xuICAgIGlmICh0eXBlb2YgY29tcG9uZW50TmFtZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29tcG9uZW50TmFtZXMgPSBbY29tcG9uZW50TmFtZV1cbiAgICB9IGVsc2Uge1xuICAgICAgICBjb21wb25lbnROYW1lcyA9IGNvbXBvbmVudE5hbWVcbiAgICB9XG5cbiAgICBsZXQgcGFyZW50ID0gY29udGV4dC4kcGFyZW50XG4gICAgbGV0IG5hbWUgPSBwYXJlbnQuJG9wdGlvbnMubmFtZVxuICAgIHdoaWxlIChwYXJlbnQgJiYgKCFuYW1lIHx8IGNvbXBvbmVudE5hbWVzLmluZGV4T2YobmFtZSkgPCAwKSkge1xuICAgICAgICBwYXJlbnQgPSBwYXJlbnQuJHBhcmVudFxuICAgICAgICBpZiAocGFyZW50KSBuYW1lID0gcGFyZW50LiRvcHRpb25zLm5hbWVcbiAgICB9XG4gICAgcmV0dXJuIHBhcmVudFxufVxuZXhwb3J0IGZ1bmN0aW9uIGZpbmRDb21wb25lbnREb3dud2FyZCAoY29udGV4dCwgY29tcG9uZW50TmFtZSkge1xuICAgIGNvbnN0IGNoaWxkcmVucyA9IGNvbnRleHQuJGNoaWxkcmVuXG4gICAgbGV0IGNoaWxkcmVuID0gbnVsbFxuXG4gICAgaWYgKGNoaWxkcmVucy5sZW5ndGgpIHtcbiAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBjaGlsZHJlbnMpIHtcbiAgICAgICAgICAgIGNvbnN0IG5hbWUgPSBjaGlsZC4kb3B0aW9ucy5uYW1lXG4gICAgICAgICAgICBpZiAobmFtZSA9PT0gY29tcG9uZW50TmFtZSkge1xuICAgICAgICAgICAgICAgIGNoaWxkcmVuID0gY2hpbGRcbiAgICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjaGlsZHJlbiA9IGZpbmRDb21wb25lbnREb3dud2FyZChjaGlsZCwgY29tcG9uZW50TmFtZSlcbiAgICAgICAgICAgICAgICBpZiAoY2hpbGRyZW4pIGJyZWFrXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNoaWxkcmVuXG59XG5cbi8vIGZpbmQgY29tcG9uZW50c1xuZXhwb3J0IGZ1bmN0aW9uIGZpbmRDb21wb25lbnRzVXB3YXJkIChjb250ZXh0LCBjb21wb25lbnROYW1lKSB7XG4gICAgbGV0IHBhcmVudHMgPSBbXVxuICAgIGNvbnN0IHBhcmVudCA9IGNvbnRleHQuJHBhcmVudFxuICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgaWYgKHBhcmVudC4kb3B0aW9ucy5uYW1lID09PSBjb21wb25lbnROYW1lKSBwYXJlbnRzLnB1c2gocGFyZW50KVxuICAgICAgICByZXR1cm4gcGFyZW50cy5jb25jYXQoZmluZENvbXBvbmVudHNVcHdhcmQocGFyZW50LCBjb21wb25lbnROYW1lKSlcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gW11cbiAgICB9XG59XG5leHBvcnQgZnVuY3Rpb24gZmluZENvbXBvbmVudHNEb3dud2FyZCAoY29udGV4dCwgY29tcG9uZW50TmFtZSkge1xuICAgIHJldHVybiBjb250ZXh0LiRjaGlsZHJlbi5yZWR1Y2UoKGNvbXBvbmVudHMsIGNoaWxkKSA9PiB7XG4gICAgICAgIGlmIChjaGlsZC4kb3B0aW9ucy5uYW1lID09PSBjb21wb25lbnROYW1lKSBjb21wb25lbnRzLnB1c2goY2hpbGQpXG4gICAgICAgIGNvbnN0IGZvdW5kQ2hpbGRzID0gZmluZENvbXBvbmVudHNEb3dud2FyZChjaGlsZCwgY29tcG9uZW50TmFtZSlcbiAgICAgICAgcmV0dXJuIGNvbXBvbmVudHMuY29uY2F0KGZvdW5kQ2hpbGRzKVxuICAgIH0sIFtdKVxufVxuXG5cbi8vIGhhc0NsYXNzXG5leHBvcnQgZnVuY3Rpb24gaGFzQ2xhc3MoZWwsIGNscykge1xuICAgIGlmICghZWwgfHwgIWNscykgcmV0dXJuIGZhbHNlXG4gICAgaWYgKGNscy5pbmRleE9mKCcgJykgIT09IC0xKSB0aHJvdyBuZXcgRXJyb3IoJ2NsYXNzTmFtZSBzaG91bGQgbm90IGNvbnRhaW4gc3BhY2UuJylcbiAgICBpZiAoZWwuY2xhc3NMaXN0KSB7XG4gICAgICAgIHJldHVybiBlbC5jbGFzc0xpc3QuY29udGFpbnMoY2xzKVxuICAgIH1cbiAgICByZXR1cm4gKCcgJyArIGVsLmNsYXNzTmFtZSArICcgJykuaW5kZXhPZignICcgKyBjbHMgKyAnICcpID4gLTFcbn1cblxuLy8gYWRkQ2xhc3NcbmV4cG9ydCBmdW5jdGlvbiBhZGRDbGFzcyhlbCwgY2xzKSB7XG4gICAgaWYgKCFlbCkgcmV0dXJuXG4gICAgbGV0IGN1ckNsYXNzID0gZWwuY2xhc3NOYW1lXG4gICAgY29uc3QgY2xhc3NlcyA9IChjbHMgfHwgJycpLnNwbGl0KCcgJylcblxuICAgIGZvciAobGV0IGkgPSAwLCBqID0gY2xhc3Nlcy5sZW5ndGggO2kgPCBqOyBpKyspIHtcbiAgICAgICAgY29uc3QgY2xzTmFtZSA9IGNsYXNzZXNbaV1cbiAgICAgICAgaWYgKCFjbHNOYW1lKSBjb250aW51ZVxuXG4gICAgICAgIGlmIChlbC5jbGFzc0xpc3QpIHtcbiAgICAgICAgICAgIHJldHVybiBlbC5jbGFzc0xpc3QuYWRkKGNsc05hbWUpXG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFoYXNDbGFzcyhlbCwgY2xzTmFtZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBjdXJDbGFzcyArPSAnICcgKyBjbHNOYW1lXG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKCFlbC5jbGFzc0xpc3QpIHtcbiAgICAgICAgZWwuY2xhc3NOYW1lID0gY3VyQ2xhc3NcbiAgICB9XG59XG5cbi8vIHJlbW92ZUNsYXNzXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlQ2xhc3MoZWwsIGNscykge1xuICAgIGlmICghZWwgfHwgIWNscykgcmV0dXJuXG4gICAgY29uc3QgY2xhc3NlcyA9IGNscy5zcGxpdCgnICcpXG4gICAgbGV0IGN1ckNsYXNzID0gJyAnICsgZWwuY2xhc3NOYW1lICsgJyAnXG5cbiAgICBmb3IgKGxldCBpID0gMCwgaiA9IGNsYXNzZXMubGVuZ3RoOyBpIDwgajsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGNsc05hbWUgPSBjbGFzc2VzW2ldXG4gICAgICAgIGlmICghY2xzTmFtZSkgY29udGludWVcblxuICAgICAgICBpZiAoZWwuY2xhc3NMaXN0KSB7XG4gICAgICAgICAgICByZXR1cm4gZWwuY2xhc3NMaXN0LnJlbW92ZShjbHNOYW1lKVxuICAgICAgICB9XG4gICAgICAgIGlmIChoYXNDbGFzcyhlbCwgY2xzTmFtZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBjdXJDbGFzcyA9IGN1ckNsYXNzLnJlcGxhY2UoJyAnICsgY2xzTmFtZSArICcgJywgJyAnKVxuICAgICAgICB9XG4gICAgfVxuICAgIGlmICghZWwuY2xhc3NMaXN0KSB7XG4gICAgICAgIGVsLmNsYXNzTmFtZSA9IHRyaW0oY3VyQ2xhc3MpXG4gICAgfVxufVxuXG4vL+aZrumAmuWtl+espui9rOaNouaIkOi9rOaEj+esplxuZXhwb3J0IGZ1bmN0aW9uIGh0bWxFc2NhcGUoc3RyKSB7XG4gICAgaWYgKHN0ciAmJiB0eXBlb2Ygc3RyID09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiBzdHIucmVwbGFjZSgvW1xcPFxcPlxcJlxcXCJcXCddL2csIGZ1bmN0aW9uIChjKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICc8JzogJyYjNjAnLFxuICAgICAgICAgICAgICAgICc+JzogJyYjNjInLFxuICAgICAgICAgICAgICAgICcmJzogJyYjMzgnLFxuICAgICAgICAgICAgICAgICdcIic6ICcmIzM0JyxcbiAgICAgICAgICAgICAgICAnXFwnJzogJyYjMzknXG4gICAgICAgICAgICB9IFtjXVxuICAgICAgICB9KVxuICAgIH1cbiAgICByZXR1cm4gc3RyXG59XG5cbi8v6L2s5oSP56ym5o2i5oiQ5pmu6YCa5a2X56ymXG5leHBvcnQgZnVuY3Rpb24gZXNjYXBlSHRtbChzdHIpIHtcbiAgICBpZiAoc3RyICYmIHR5cGVvZiBzdHIgPT0gJ3N0cmluZycpIHtcbiAgICAgICAgbGV0IGFyckVudGl0aWVzID0ge1xuICAgICAgICAgICAgJ2x0JzogJzwnLFxuICAgICAgICAgICAgJ2d0JzogJz4nLFxuICAgICAgICAgICAgJ25ic3AnOiAnICcsXG4gICAgICAgICAgICAnYW1wJzogJyYnLFxuICAgICAgICAgICAgJ3F1b3QnOiAnXCInLFxuICAgICAgICAgICAgJyM2MCc6ICc8JyxcbiAgICAgICAgICAgICcjNjInOiAnPicsXG4gICAgICAgICAgICAnIzM4JzogJyYnLFxuICAgICAgICAgICAgJyMzNCc6ICdcIicsXG4gICAgICAgICAgICAnIzM5JzogJ1xcJydcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3RyLnJlcGxhY2UoLyYobHR8Z3R8bmJzcHxhbXB8cXVvdHxcXCMoOj82MHw2MnwzOHwzNHwzOSkpPy9pZywgZnVuY3Rpb24gKGFsbCwgdCkge1xuICAgICAgICAgICAgcmV0dXJuIGFyckVudGl0aWVzW3RdXG4gICAgICAgIH0pXG4gICAgfVxuICAgIHJldHVybiBzdHJcbn1cblxuLy8g6L2s5o2iVVJMXG5leHBvcnQgZnVuY3Rpb24gcmV2ZXJ0VVJMKCkge1xuICAgIGxldCB7XG4gICAgICAgIHByb3RvY29sLFxuICAgICAgICBob3N0LFxuICAgICAgICBwYXRobmFtZSxcbiAgICAgICAgaGFzaCxcbiAgICAgICAgc2VhcmNoXG4gICAgfSA9IHdpbmRvdy5sb2NhdGlvblxuICAgIGlmIChzZWFyY2ggIT09ICcnKSB7XG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gZGVjb2RlVVJJQ29tcG9uZW50KFtwcm90b2NvbCwgJy8vJywgaG9zdCwgcGF0aG5hbWUsIGhhc2gsIHNlYXJjaF0uam9pbignJykpXG4gICAgfVxufVxuXG4vLyBieXRlc1RvU2l6ZVxuZXhwb3J0IGZ1bmN0aW9uIGJ5dGVzVG9TaXplKGJ5dGVzKSB7XG4gICAgaWYodHlwZW9mIGJ5dGVzID09ICdzdHJpbmcnKXtcbiAgICAgICAgYnl0ZXMgPSBwYXJzZUludChieXRlcylcbiAgICB9XG4gICAgaWYgKGJ5dGVzID09PSAwKSByZXR1cm4gJzAgQidcbiAgICB2YXIgayA9IDEwMjRcbiAgICB2YXIgc2l6ZXMgPSBbJ0InLCAnS0InLCAnTUInLCAnR0InLCAnVEInLCAnUEInLCAnRUInLCAnWkInLCAnWUInXVxuICAgIHZhciBpID0gTWF0aC5mbG9vcihNYXRoLmxvZyhieXRlcykgLyBNYXRoLmxvZyhrKSlcbiAgICByZXR1cm4gKGJ5dGVzIC8gTWF0aC5wb3coaywgaSkpLnRvRml4ZWQoMikgKyAnICcgKyBzaXplc1tpXSAvL3RvUHJlY2lzaW9uKDMpIOWQjumdouS/neeVmeS4gOS9jeWwj+aVsO+8jOWmgjEuMEdCICAgICAgICBcbn1cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9zcmMvdXRpbHMvYXNzaXN0LmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///1\n"); /***/ }), /* 2 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _locale = __webpack_require__(6);\n\nexports.default = {\n methods: {\n t: function t() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _locale.t.apply(this, args);\n }\n }\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvbWl4aW5zL2xvY2FsZS5qcz8wMzFkIl0sIm5hbWVzIjpbIm1ldGhvZHMiLCJ0IiwiYXJncyIsImFwcGx5Il0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7a0JBRWU7QUFDWEEsYUFBUztBQUNMQyxTQURLLGVBQ007QUFBQSw4Q0FBTkMsSUFBTTtBQUFOQSxvQkFBTTtBQUFBOztBQUNQLG1CQUFPRCxVQUFFRSxLQUFGLENBQVEsSUFBUixFQUFjRCxJQUFkLENBQVA7QUFDSDtBQUhJO0FBREUsQyIsImZpbGUiOiIyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdCB9IGZyb20gJy4uL2xvY2FsZS8nXG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIHQoLi4uYXJncykge1xuICAgICAgICAgICAgcmV0dXJuIHQuYXBwbHkodGhpcywgYXJncyk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9zcmMvbWl4aW5zL2xvY2FsZS5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///2\n"); /***/ }), /* 3 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _icon = __webpack_require__(30);\n\nvar _icon2 = _interopRequireDefault(_icon);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _icon2.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9iYXNlL2ljb24vaW5kZXguanM/ODExNyJdLCJuYW1lcyI6WyJZWUljb24iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOzs7Ozs7a0JBRWVBLGMiLCJmaWxlIjoiMy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBZWUljb24gZnJvbSAnLi9pY29uJ1xuXG5leHBvcnQgZGVmYXVsdCBZWUljb25cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9zcmMvY29tcG9uZW50cy9iYXNlL2ljb24vaW5kZXguanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///3\n"); /***/ }), /* 4 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction _broadcast(componentName, eventName, params) {\n this.$children.forEach(function (child) {\n var name = child.$options.name;\n\n if (name === componentName) {\n child.$emit.apply(child, [eventName].concat(params));\n } else {\n // todo 如果 params 是空数组,接收到的会是 undefined\n _broadcast.apply(child, [componentName, eventName].concat([params]));\n }\n });\n}\nexports.default = {\n methods: {\n dispatch: function dispatch(componentName, eventName, params) {\n var parent = this.$parent || this.$root;\n var name = parent.$options.name;\n\n while (parent && (!name || name !== componentName)) {\n parent = parent.$parent;\n\n if (parent) {\n name = parent.$options.name;\n }\n }\n if (parent) {\n parent.$emit.apply(parent, [eventName].concat(params));\n }\n },\n broadcast: function broadcast(componentName, eventName, params) {\n _broadcast.call(this, componentName, eventName, params);\n }\n }\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvbWl4aW5zL2VtaXR0ZXIuanM/NDBlNyJdLCJuYW1lcyI6WyJicm9hZGNhc3QiLCJjb21wb25lbnROYW1lIiwiZXZlbnROYW1lIiwicGFyYW1zIiwiJGNoaWxkcmVuIiwiZm9yRWFjaCIsIm5hbWUiLCJjaGlsZCIsIiRvcHRpb25zIiwiJGVtaXQiLCJhcHBseSIsImNvbmNhdCIsIm1ldGhvZHMiLCJkaXNwYXRjaCIsInBhcmVudCIsIiRwYXJlbnQiLCIkcm9vdCIsImNhbGwiXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsU0FBU0EsVUFBVCxDQUFtQkMsYUFBbkIsRUFBa0NDLFNBQWxDLEVBQTZDQyxNQUE3QyxFQUFxRDtBQUNqRCxTQUFLQyxTQUFMLENBQWVDLE9BQWYsQ0FBdUIsaUJBQVM7QUFDNUIsWUFBTUMsT0FBT0MsTUFBTUMsUUFBTixDQUFlRixJQUE1Qjs7QUFFQSxZQUFJQSxTQUFTTCxhQUFiLEVBQTRCO0FBQ3hCTSxrQkFBTUUsS0FBTixDQUFZQyxLQUFaLENBQWtCSCxLQUFsQixFQUF5QixDQUFDTCxTQUFELEVBQVlTLE1BQVosQ0FBbUJSLE1BQW5CLENBQXpCO0FBQ0gsU0FGRCxNQUVPO0FBQ0g7QUFDQUgsdUJBQVVVLEtBQVYsQ0FBZ0JILEtBQWhCLEVBQXVCLENBQUNOLGFBQUQsRUFBZ0JDLFNBQWhCLEVBQTJCUyxNQUEzQixDQUFrQyxDQUFDUixNQUFELENBQWxDLENBQXZCO0FBQ0g7QUFDSixLQVREO0FBVUg7a0JBQ2M7QUFDWFMsYUFBUztBQUNMQyxnQkFESyxvQkFDSVosYUFESixFQUNtQkMsU0FEbkIsRUFDOEJDLE1BRDlCLEVBQ3NDO0FBQ3ZDLGdCQUFJVyxTQUFTLEtBQUtDLE9BQUwsSUFBZ0IsS0FBS0MsS0FBbEM7QUFDQSxnQkFBSVYsT0FBT1EsT0FBT04sUUFBUCxDQUFnQkYsSUFBM0I7O0FBRUEsbUJBQU9RLFdBQVcsQ0FBQ1IsSUFBRCxJQUFTQSxTQUFTTCxhQUE3QixDQUFQLEVBQW9EO0FBQ2hEYSx5QkFBU0EsT0FBT0MsT0FBaEI7O0FBRUEsb0JBQUlELE1BQUosRUFBWTtBQUNSUiwyQkFBT1EsT0FBT04sUUFBUCxDQUFnQkYsSUFBdk