UNPKG

obstacle-wl-1

Version:

## Project setup ``` npm install ```

1,608 lines (1,374 loc) 2.38 MB
(function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); else if(typeof define === 'function' && define.amd) define([], factory); else if(typeof exports === 'object') exports["obstacle-wl"] = factory(); else root["obstacle-wl"] = factory(); })((typeof self !== 'undefined' ? self : this), function() { return /******/ (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 = "fb15"); /******/ }) /************************************************************************/ /******/ ({ /***/ "005c": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Markup; }); /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("1157"); /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("bcd7"); // eslint-disable-next-line var Markup; (function (Markup) { function isJSONMarkup(markup) { return markup != null && !isStringMarkup(markup); } Markup.isJSONMarkup = isJSONMarkup; function isStringMarkup(markup) { return markup != null && typeof markup === 'string'; } Markup.isStringMarkup = isStringMarkup; function clone(markup) { return markup == null || isStringMarkup(markup) ? markup : _util__WEBPACK_IMPORTED_MODULE_1__[/* ObjectExt */ "g"].cloneDeep(markup); } Markup.clone = clone; /** * Removes blank space in markup to prevent create empty text node. */ function sanitize(markup) { return `${markup}` .trim() .replace(/[\r|\n]/g, ' ') .replace(/>\s+</g, '><'); } Markup.sanitize = sanitize; function parseStringMarkup(markup) { const fragment = document.createDocumentFragment(); const groups = {}; const selectors = {}; const sanitized = sanitize(markup); const nodes = _util__WEBPACK_IMPORTED_MODULE_1__[/* StringExt */ "k"].sanitizeHTML(sanitized, { raw: true }); nodes.forEach((node) => { fragment.appendChild(node); }); return { fragment, selectors, groups }; } Markup.parseStringMarkup = parseStringMarkup; function parseJSONMarkup(markup, options = { ns: _util__WEBPACK_IMPORTED_MODULE_1__[/* Dom */ "c"].ns.svg }) { const fragment = document.createDocumentFragment(); const groups = {}; const selectors = {}; const queue = [ { markup: Array.isArray(markup) ? markup : [markup], parent: fragment, ns: options.ns, }, ]; while (queue.length > 0) { const item = queue.pop(); let ns = item.ns || _util__WEBPACK_IMPORTED_MODULE_1__[/* Dom */ "c"].ns.svg; const defines = item.markup; const parentNode = item.parent; defines.forEach((define) => { // tagName const tagName = define.tagName; if (!tagName) { throw new TypeError('Invalid tagName'); } // ns if (define.ns) { ns = define.ns; } const svg = ns === _util__WEBPACK_IMPORTED_MODULE_1__[/* Dom */ "c"].ns.svg; const node = ns ? _util__WEBPACK_IMPORTED_MODULE_1__[/* Dom */ "c"].createElementNS(tagName, ns) : _util__WEBPACK_IMPORTED_MODULE_1__[/* Dom */ "c"].createElement(tagName); // attrs const attrs = define.attrs; if (attrs) { if (svg) { _util__WEBPACK_IMPORTED_MODULE_1__[/* Dom */ "c"].attr(node, _util__WEBPACK_IMPORTED_MODULE_1__[/* Dom */ "c"].kebablizeAttrs(attrs)); } else { jquery__WEBPACK_IMPORTED_MODULE_0___default()(node).attr(attrs); } } // style const style = define.style; if (style) { jquery__WEBPACK_IMPORTED_MODULE_0___default()(node).css(style); } // classname const className = define.className; if (className != null) { node.setAttribute('class', Array.isArray(className) ? className.join(' ') : className); } // textContent if (define.textContent) { node.textContent = define.textContent; } // selector const selector = define.selector; if (selector != null) { if (selectors[selector]) { throw new TypeError('Selector must be unique'); } selectors[selector] = node; } // group if (define.groupSelector) { let nodeGroups = define.groupSelector; if (!Array.isArray(nodeGroups)) { nodeGroups = [nodeGroups]; } nodeGroups.forEach((name) => { if (!groups[name]) { groups[name] = []; } groups[name].push(node); }); } parentNode.appendChild(node); // children const children = define.children; if (Array.isArray(children)) { queue.push({ ns, markup: children, parent: node }); } }); } Object.keys(groups).forEach((groupName) => { if (selectors[groupName]) { throw new Error('Ambiguous group selector'); } selectors[groupName] = groups[groupName]; }); return { fragment, selectors, groups }; } Markup.parseJSONMarkup = parseJSONMarkup; function createContainer(firstChild) { return firstChild instanceof SVGElement ? _util__WEBPACK_IMPORTED_MODULE_1__[/* Dom */ "c"].createSvgElement('g') : _util__WEBPACK_IMPORTED_MODULE_1__[/* Dom */ "c"].createElement('div'); } function renderMarkup(markup) { if (isStringMarkup(markup)) { const nodes = _util__WEBPACK_IMPORTED_MODULE_1__[/* Vector */ "m"].createVectors(markup); const count = nodes.length; if (count === 1) { return { elem: nodes[0].node, }; } if (count > 1) { const elem = createContainer(nodes[0].node); nodes.forEach((node) => { elem.appendChild(node.node); }); return { elem }; } return {}; } const result = parseJSONMarkup(markup); const fragment = result.fragment; let elem = null; if (fragment.childNodes.length > 1) { elem = createContainer(fragment.firstChild); elem.appendChild(fragment); } else { elem = fragment.firstChild; } return { elem, selectors: result.selectors }; } Markup.renderMarkup = renderMarkup; function parseLabelStringMarkup(markup) { const children = _util__WEBPACK_IMPORTED_MODULE_1__[/* Vector */ "m"].createVectors(markup); const fragment = document.createDocumentFragment(); for (let i = 0, n = children.length; i < n; i += 1) { const currentChild = children[i].node; fragment.appendChild(currentChild); } return { fragment, selectors: {} }; } Markup.parseLabelStringMarkup = parseLabelStringMarkup; })(Markup || (Markup = {})); // eslint-disable-next-line (function (Markup) { function getSelector(elem, stop, prev) { if (elem != null) { let selector; const tagName = elem.tagName.toLowerCase(); if (elem === stop) { if (typeof prev === 'string') { selector = `> ${tagName} > ${prev}`; } else { selector = `> ${tagName}`; } return selector; } const parent = elem.parentNode; if (parent && parent.childNodes.length > 1) { const nth = _util__WEBPACK_IMPORTED_MODULE_1__[/* Dom */ "c"].index(elem) + 1; selector = `${tagName}:nth-child(${nth})`; } else { selector = tagName; } if (prev) { selector += ` > ${prev}`; } return getSelector(elem.parentNode, stop, selector); } return prev; } Markup.getSelector = getSelector; function parseNode(node, root, ns) { if (node.nodeName === '#text') { return null; } let selector = null; let groupSelector = null; // let classNames: string | null = null let attrs = null; let isCSSSelector = false; const markup = { tagName: node.tagName, }; if (node.attributes) { attrs = {}; for (let i = 0, l = node.attributes.length; i < l; i += 1) { const attr = node.attributes[i]; const name = attr.nodeName; const value = attr.nodeValue; if (name === 'selector') { selector = value; } else if (name === 'groupSelector') { groupSelector = value; } else if (name === 'class') { markup.attrs = { class: value }; } else { attrs[name] = value; } } } if (selector == null) { isCSSSelector = true; selector = getSelector(node, root); } if (node.namespaceURI) { markup.ns = node.namespaceURI; } if (markup.ns == null) { if ([ 'body', 'div', 'section', 'main', 'nav', 'footer', 'span', 'p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dl', 'center', 'strong', 'pre', 'form', 'select', 'textarea', 'fieldset', 'marquee', 'bgsound', 'iframe', 'frameset', ].includes(node.tagName)) { markup.ns = _util__WEBPACK_IMPORTED_MODULE_1__[/* Dom */ "c"].ns.xhtml; } else if (ns) { markup.ns = ns; } } if (selector) { markup.selector = selector; } if (groupSelector != null) { markup.groupSelector = groupSelector; } return { markup, attrs, isCSSSelector, }; } function xml2json(xml) { const sanitized = Markup.sanitize(xml); const doc = _util__WEBPACK_IMPORTED_MODULE_1__[/* Dom */ "c"].parseXML(sanitized, { mimeType: 'image/svg+xml' }); const nodes = Array.prototype.slice.call(doc.childNodes); const attrMap = {}; const markupMap = new WeakMap(); const parse = (node, root, ns) => { const data = parseNode(node, root, ns); if (data == null) { const parent = markupMap.get(node.parentNode); if (parent && node.textContent) { parent.textContent = node.textContent; } } else { const { markup, attrs, isCSSSelector } = data; markupMap.set(node, markup); if (markup.selector && attrs != null) { if (Object.keys(attrs).length) { attrMap[markup.selector] = attrs; } if (isCSSSelector) { delete markup.selector; } } if (node.childNodes && node.childNodes.length > 0) { for (let i = 0, l = node.childNodes.length; i < l; i += 1) { const child = node.childNodes[i]; const childMarkup = parse(child, root, markup.ns); if (childMarkup) { if (markup.children == null) { markup.children = []; } markup.children.push(childMarkup); } } } return markup; } }; const markup = nodes .map((node) => parse(node, node)) .filter((mk) => mk != null); return { markup, attrs: attrMap, }; } Markup.xml2json = xml2json; })(Markup || (Markup = {})); // eslint-disable-next-line (function (Markup) { function getPortContainerMarkup() { return 'g'; } Markup.getPortContainerMarkup = getPortContainerMarkup; function getPortMarkup() { return { tagName: 'circle', selector: 'circle', attrs: { r: 10, fill: '#FFFFFF', stroke: '#000000', }, }; } Markup.getPortMarkup = getPortMarkup; function getPortLabelMarkup() { return { tagName: 'text', selector: 'text', attrs: { fill: '#000000', }, }; } Markup.getPortLabelMarkup = getPortLabelMarkup; })(Markup || (Markup = {})); // eslint-disable-next-line (function (Markup) { function getEdgeMarkup() { return Markup.sanitize(` <path class="connection" stroke="black" d="M 0 0 0 0"/> <path class="source-marker" fill="black" stroke="black" d="M 0 0 0 0"/> <path class="target-marker" fill="black" stroke="black" d="M 0 0 0 0"/> <path class="connection-wrap" d="M 0 0 0 0"/> <g class="labels"/> <g class="vertices"/> <g class="arrowheads"/> <g class="tools"/> `); } Markup.getEdgeMarkup = getEdgeMarkup; function getEdgeToolMarkup() { return Markup.sanitize(` <g class="edge-tool"> <g class="tool-remove" event="edge:remove"> <circle r="11" /> <path transform="scale(.8) translate(-16, -16)" d="M24.778,21.419 19.276,15.917 24.777,10.415 21.949,7.585 16.447,13.087 10.945,7.585 8.117,10.415 13.618,15.917 8.116,21.419 10.946,24.248 16.447,18.746 21.948,24.248z" /> <title>Remove edge.</title> </g> <g class="tool-options" event="edge:options"> <circle r="11" transform="translate(25)"/> <path fill="white" transform="scale(.55) translate(29, -16)" d="M31.229,17.736c0.064-0.571,0.104-1.148,0.104-1.736s-0.04-1.166-0.104-1.737l-4.377-1.557c-0.218-0.716-0.504-1.401-0.851-2.05l1.993-4.192c-0.725-0.91-1.549-1.734-2.458-2.459l-4.193,1.994c-0.647-0.347-1.334-0.632-2.049-0.849l-1.558-4.378C17.165,0.708,16.588,0.667,16,0.667s-1.166,0.041-1.737,0.105L12.707,5.15c-0.716,0.217-1.401,0.502-2.05,0.849L6.464,4.005C5.554,4.73,4.73,5.554,4.005,6.464l1.994,4.192c-0.347,0.648-0.632,1.334-0.849,2.05l-4.378,1.557C0.708,14.834,0.667,15.412,0.667,16s0.041,1.165,0.105,1.736l4.378,1.558c0.217,0.715,0.502,1.401,0.849,2.049l-1.994,4.193c0.725,0.909,1.549,1.733,2.459,2.458l4.192-1.993c0.648,0.347,1.334,0.633,2.05,0.851l1.557,4.377c0.571,0.064,1.148,0.104,1.737,0.104c0.588,0,1.165-0.04,1.736-0.104l1.558-4.377c0.715-0.218,1.399-0.504,2.049-0.851l4.193,1.993c0.909-0.725,1.733-1.549,2.458-2.458l-1.993-4.193c0.347-0.647,0.633-1.334,0.851-2.049L31.229,17.736zM16,20.871c-2.69,0-4.872-2.182-4.872-4.871c0-2.69,2.182-4.872,4.872-4.872c2.689,0,4.871,2.182,4.871,4.872C20.871,18.689,18.689,20.871,16,20.871z"/> <title>Edge options.</title> </g> </g> `); } Markup.getEdgeToolMarkup = getEdgeToolMarkup; function getEdgeVertexMarkup() { return Markup.sanitize(` <g class="vertex-group" transform="translate(<%= x %>, <%= y %>)"> <circle class="vertex" data-index="<%= index %>" r="10" /> <path class="vertex-remove-area" data-index="<%= index %>" d="M16,5.333c-7.732,0-14,4.701-14,10.5c0,1.982,0.741,3.833,2.016,5.414L2,25.667l5.613-1.441c2.339,1.317,5.237,2.107,8.387,2.107c7.732,0,14-4.701,14-10.5C30,10.034,23.732,5.333,16,5.333z" transform="translate(5, -33)"/> <path class="vertex-remove" data-index="<%= index %>" transform="scale(.8) translate(9.5, -37)" d="M24.778,21.419 19.276,15.917 24.777,10.415 21.949,7.585 16.447,13.087 10.945,7.585 8.117,10.415 13.618,15.917 8.116,21.419 10.946,24.248 16.447,18.746 21.948,24.248z"> <title>Remove vertex.</title> </path> </g> `); } Markup.getEdgeVertexMarkup = getEdgeVertexMarkup; function getEdgeArrowheadMarkup() { return Markup.sanitize(` <g class="arrowhead-group arrowhead-group-<%= end %>"> <path class="arrowhead" data-terminal="<%= end %>" d="M 26 0 L 0 13 L 26 26 z" /> </g> `); } Markup.getEdgeArrowheadMarkup = getEdgeArrowheadMarkup; })(Markup || (Markup = {})); // eslint-disable-next-line (function (Markup) { function getForeignObjectMarkup(bare = false) { return { tagName: 'foreignObject', selector: 'fo', children: [ { ns: _util__WEBPACK_IMPORTED_MODULE_1__[/* Dom */ "c"].ns.xhtml, tagName: 'body', selector: 'foBody', attrs: { xmlns: _util__WEBPACK_IMPORTED_MODULE_1__[/* Dom */ "c"].ns.xhtml, }, style: { width: '100%', height: '100%', background: 'transparent', }, children: bare ? [] : [ { tagName: 'div', selector: 'foContent', style: { width: '100%', height: '100%', }, }, ], }, ], }; } Markup.getForeignObjectMarkup = getForeignObjectMarkup; })(Markup || (Markup = {})); //# sourceMappingURL=markup.js.map /***/ }), /***/ "00ee": /***/ (function(module, exports, __webpack_require__) { var wellKnownSymbol = __webpack_require__("b622"); var TO_STRING_TAG = wellKnownSymbol('toStringTag'); var test = {}; test[TO_STRING_TAG] = 'z'; module.exports = String(test) === '[object z]'; /***/ }), /***/ "0366": /***/ (function(module, exports, __webpack_require__) { var uncurryThis = __webpack_require__("e330"); var aCallable = __webpack_require__("59ed"); var bind = uncurryThis(uncurryThis.bind); // optional / simple context binding module.exports = function (fn, that) { aCallable(fn); return that === undefined ? fn : bind ? bind(fn, that) : function (/* ...args */) { return fn.apply(that, arguments); }; }; /***/ }), /***/ "057f": /***/ (function(module, exports, __webpack_require__) { /* eslint-disable es/no-object-getownpropertynames -- safe */ var classof = __webpack_require__("c6b6"); var toIndexedObject = __webpack_require__("fc6a"); var $getOwnPropertyNames = __webpack_require__("241c").f; var arraySlice = __webpack_require__("4dae"); var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : []; var getWindowNames = function (it) { try { return $getOwnPropertyNames(it); } catch (error) { return arraySlice(windowNames); } }; // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window module.exports.f = function getOwnPropertyNames(it) { return windowNames && classof(it) == 'Window' ? getWindowNames(it) : $getOwnPropertyNames(toIndexedObject(it)); }; /***/ }), /***/ "06cf": /***/ (function(module, exports, __webpack_require__) { var DESCRIPTORS = __webpack_require__("83ab"); var call = __webpack_require__("c65b"); var propertyIsEnumerableModule = __webpack_require__("d1e7"); var createPropertyDescriptor = __webpack_require__("5c6c"); var toIndexedObject = __webpack_require__("fc6a"); var toPropertyKey = __webpack_require__("a04b"); var hasOwn = __webpack_require__("1a2d"); var IE8_DOM_DEFINE = __webpack_require__("0cfb"); // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; // `Object.getOwnPropertyDescriptor` method // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { O = toIndexedObject(O); P = toPropertyKey(P); if (IE8_DOM_DEFINE) try { return $getOwnPropertyDescriptor(O, P); } catch (error) { /* empty */ } if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]); }; /***/ }), /***/ "07fa": /***/ (function(module, exports, __webpack_require__) { var toLength = __webpack_require__("50c4"); // `LengthOfArrayLike` abstract operation // https://tc39.es/ecma262/#sec-lengthofarraylike module.exports = function (obj) { return toLength(obj.length); }; /***/ }), /***/ "0b19": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* unused harmony export isWindow */ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return isNumeric; }); const isWindow = (value) => value && value === value.window; const isNumeric = (value) => !Array.isArray(value) && value - parseFloat(value) + 1 >= 0; //# sourceMappingURL=lang.js.map /***/ }), /***/ "0b42": /***/ (function(module, exports, __webpack_require__) { var global = __webpack_require__("da84"); var isArray = __webpack_require__("e8b5"); var isConstructor = __webpack_require__("68ee"); var isObject = __webpack_require__("861d"); var wellKnownSymbol = __webpack_require__("b622"); var SPECIES = wellKnownSymbol('species'); var Array = global.Array; // a part of `ArraySpeciesCreate` abstract operation // https://tc39.es/ecma262/#sec-arrayspeciescreate module.exports = function (originalArray) { var C; if (isArray(originalArray)) { C = originalArray.constructor; // cross-realm fallback if (isConstructor(C) && (C === Array || isArray(C.prototype))) C = undefined; else if (isObject(C)) { C = C[SPECIES]; if (C === null) C = undefined; } } return C === undefined ? Array : C; }; /***/ }), /***/ "0cfb": /***/ (function(module, exports, __webpack_require__) { var DESCRIPTORS = __webpack_require__("83ab"); var fails = __webpack_require__("d039"); var createElement = __webpack_require__("cc12"); // Thank's IE8 for his funny defineProperty module.exports = !DESCRIPTORS && !fails(function () { // eslint-disable-next-line es/no-object-defineproperty -- requied for testing return Object.defineProperty(createElement('div'), 'a', { get: function () { return 7; } }).a != 7; }); /***/ }), /***/ "0d51": /***/ (function(module, exports, __webpack_require__) { var global = __webpack_require__("da84"); var String = global.String; module.exports = function (argument) { try { return String(argument); } catch (error) { return 'Object'; } }; /***/ }), /***/ "0f4a": /***/ (function(module, exports) { module.exports = "data:image/svg+xml,%3csvg id='组_5' data-name='组 5' xmlns='http://www.w3.org/2000/svg' width='200' height='100' viewBox='0 0 200 100'%3e %3cdefs%3e %3cstyle%3e .cls-1, .cls-2 %7b fill: none; stroke: %23000; stroke-width: 2px; %7d .cls-2 %7b fill-rule: evenodd; %7d %3c/style%3e %3c/defs%3e %3crect id='形状_4' data-name='形状 4' class='cls-1' x='88' y='37' width='96' height='30' rx='15' ry='15'/%3e %3cpath id='矩形_3' data-name='矩形 3' class='cls-2' d='M16,26s9.837-15,27-15c17.745,0,27,15,27,15V90H16V26Z'/%3e %3cg id='组_6' data-name='组 6'%3e %3crect id='矩形_2' data-name='矩形 2' x='70' y='49' width='18' height='2'/%3e %3c/g%3e %3c/svg%3e" /***/ }), /***/ "1147": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /** * Checks if `value` is object-like. A value is object-like if it's not `null` * and has a `typeof` result of "object". * * @static * @memberOf _ * @since 4.0.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is object-like, else `false`. * @example * * _.isObjectLike({}); * // => true * * _.isObjectLike([1, 2, 3]); * // => true * * _.isObjectLike(_.noop); * // => false * * _.isObjectLike(null); * // => false */ function isObjectLike(value) { return value != null && typeof value == 'object'; } /* harmony default export */ __webpack_exports__["a"] = (isObjectLike); /***/ }), /***/ "1157": /***/ (function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! * jQuery JavaScript Library v3.6.0 * https://jquery.com/ * * Includes Sizzle.js * https://sizzlejs.com/ * * Copyright OpenJS Foundation and other contributors * Released under the MIT license * https://jquery.org/license * * Date: 2021-03-02T17:08Z */ ( function( global, factory ) { "use strict"; if ( true && typeof module.exports === "object" ) { // For CommonJS and CommonJS-like environments where a proper `window` // is present, execute the factory and get jQuery. // For environments that do not have a `window` with a `document` // (such as Node.js), expose a factory as module.exports. // This accentuates the need for the creation of a real `window`. // e.g. var jQuery = require("jquery")(window); // See ticket #14549 for more info. module.exports = global.document ? factory( global, true ) : function( w ) { if ( !w.document ) { throw new Error( "jQuery requires a window with a document" ); } return factory( w ); }; } else { factory( global ); } // Pass this if window is not defined yet } )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { // Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 // throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode // arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common // enough that all such attempts are guarded in a try block. "use strict"; var arr = []; var getProto = Object.getPrototypeOf; var slice = arr.slice; var flat = arr.flat ? function( array ) { return arr.flat.call( array ); } : function( array ) { return arr.concat.apply( [], array ); }; var push = arr.push; var indexOf = arr.indexOf; var class2type = {}; var toString = class2type.toString; var hasOwn = class2type.hasOwnProperty; var fnToString = hasOwn.toString; var ObjectFunctionString = fnToString.call( Object ); var support = {}; var isFunction = function isFunction( obj ) { // Support: Chrome <=57, Firefox <=52 // In some browsers, typeof returns "function" for HTML <object> elements // (i.e., `typeof document.createElement( "object" ) === "function"`). // We don't want to classify *any* DOM node as a function. // Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5 // Plus for old WebKit, typeof returns "function" for HTML collections // (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756) return typeof obj === "function" && typeof obj.nodeType !== "number" && typeof obj.item !== "function"; }; var isWindow = function isWindow( obj ) { return obj != null && obj === obj.window; }; var document = window.document; var preservedScriptAttributes = { type: true, src: true, nonce: true, noModule: true }; function DOMEval( code, node, doc ) { doc = doc || document; var i, val, script = doc.createElement( "script" ); script.text = code; if ( node ) { for ( i in preservedScriptAttributes ) { // Support: Firefox 64+, Edge 18+ // Some browsers don't support the "nonce" property on scripts. // On the other hand, just using `getAttribute` is not enough as // the `nonce` attribute is reset to an empty string whenever it // becomes browsing-context connected. // See https://github.com/whatwg/html/issues/2369 // See https://html.spec.whatwg.org/#nonce-attributes // The `node.getAttribute` check was added for the sake of // `jQuery.globalEval` so that it can fake a nonce-containing node // via an object. val = node[ i ] || node.getAttribute && node.getAttribute( i ); if ( val ) { script.setAttribute( i, val ); } } } doc.head.appendChild( script ).parentNode.removeChild( script ); } function toType( obj ) { if ( obj == null ) { return obj + ""; } // Support: Android <=2.3 only (functionish RegExp) return typeof obj === "object" || typeof obj === "function" ? class2type[ toString.call( obj ) ] || "object" : typeof obj; } /* global Symbol */ // Defining this global in .eslintrc.json would create a danger of using the global // unguarded in another place, it seems safer to define global only for this module var version = "3.6.0", // Define a local copy of jQuery jQuery = function( selector, context ) { // The jQuery object is actually just the init constructor 'enhanced' // Need init if jQuery is called (just allow error to be thrown if not included) return new jQuery.fn.init( selector, context ); }; jQuery.fn = jQuery.prototype = { // The current version of jQuery being used jquery: version, constructor: jQuery, // The default length of a jQuery object is 0 length: 0, toArray: function() { return slice.call( this ); }, // Get the Nth element in the matched element set OR // Get the whole matched element set as a clean array get: function( num ) { // Return all the elements in a clean array if ( num == null ) { return slice.call( this ); } // Return just the one element from the set return num < 0 ? this[ num + this.length ] : this[ num ]; }, // Take an array of elements and push it onto the stack // (returning the new matched element set) pushStack: function( elems ) { // Build a new jQuery matched element set var ret = jQuery.merge( this.constructor(), elems ); // Add the old object onto the stack (as a reference) ret.prevObject = this; // Return the newly-formed element set return ret; }, // Execute a callback for every element in the matched set. each: function( callback ) { return jQuery.each( this, callback ); }, map: function( callback ) { return this.pushStack( jQuery.map( this, function( elem, i ) { return callback.call( elem, i, elem ); } ) ); }, slice: function() { return this.pushStack( slice.apply( this, arguments ) ); }, first: function() { return this.eq( 0 ); }, last: function() { return this.eq( -1 ); }, even: function() { return this.pushStack( jQuery.grep( this, function( _elem, i ) { return ( i + 1 ) % 2; } ) ); }, odd: function() { return this.pushStack( jQuery.grep( this, function( _elem, i ) { return i % 2; } ) ); }, eq: function( i ) { var len = this.length, j = +i + ( i < 0 ? len : 0 ); return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); }, end: function() { return this.prevObject || this.constructor(); }, // For internal use only. // Behaves like an Array's method, not like a jQuery method. push: push, sort: arr.sort, splice: arr.splice }; jQuery.extend = jQuery.fn.extend = function() { var options, name, src, copy, copyIsArray, clone, target = arguments[ 0 ] || {}, i = 1, length = arguments.length, deep = false; // Handle a deep copy situation if ( typeof target === "boolean" ) { deep = target; // Skip the boolean and the target target = arguments[ i ] || {}; i++; } // Handle case when target is a string or something (possible in deep copy) if ( typeof target !== "object" && !isFunction( target ) ) { target = {}; } // Extend jQuery itself if only one argument is passed if ( i === length ) { target = this; i--; } for ( ; i < length; i++ ) { // Only deal with non-null/undefined values if ( ( options = arguments[ i ] ) != null ) { // Extend the base object for ( name in options ) { copy = options[ name ]; // Prevent Object.prototype pollution // Prevent never-ending loop if ( name === "__proto__" || target === copy ) { continue; } // Recurse if we're merging plain objects or arrays if ( deep && copy && ( jQuery.isPlainObject( copy ) || ( copyIsArray = Array.isArray( copy ) ) ) ) { src = target[ name ]; // Ensure proper type for the source value if ( copyIsArray && !Array.isArray( src ) ) { clone = []; } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { clone = {}; } else { clone = src; } copyIsArray = false; // Never move original objects, clone them target[ name ] = jQuery.extend( deep, clone, copy ); // Don't bring in undefined values } else if ( copy !== undefined ) { target[ name ] = copy; } } } } // Return the modified object return target; }; jQuery.extend( { // Unique for each copy of jQuery on the page expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), // Assume jQuery is ready without the ready module isReady: true, error: function( msg ) { throw new Error( msg ); }, noop: function() {}, isPlainObject: function( obj ) { var proto, Ctor; // Detect obvious negatives // Use toString instead of jQuery.type to catch host objects if ( !obj || toString.call( obj ) !== "[object Object]" ) { return false; } proto = getProto( obj ); // Objects with no prototype (e.g., `Object.create( null )`) are plain if ( !proto ) { return true; } // Objects with prototype are plain iff they were constructed by a global Object function Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; }, isEmptyObject: function( obj ) { var name; for ( name in obj ) { return false; } return true; }, // Evaluates a script in a provided context; falls back to the global one // if not specified. globalEval: function( code, options, doc ) { DOMEval( code, { nonce: options && options.nonce }, doc ); }, each: function( obj, callback ) { var length, i = 0; if ( isArrayLike( obj ) ) { length = obj.length; for ( ; i < length; i++ ) { if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { break; } } } else { for ( i in obj ) { if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { break; } } } return obj; }, // results is for internal usage only makeArray: function( arr, results ) { var ret = results || []; if ( arr != null ) { if ( isArrayLike( Object( arr ) ) ) { jQuery.merge( ret, typeof arr === "string" ? [ arr ] : arr ); } else { push.call( ret, arr ); } } return ret; }, inArray: function( elem, arr, i ) { return arr == null ? -1 : indexOf.call( arr, elem, i ); }, // Support: Android <=4.0 only, PhantomJS 1 only // push.apply(_, arraylike) throws on ancient WebKit merge: function( first, second ) { var len = +second.length, j = 0, i = first.length; for ( ; j < len; j++ ) { first[ i++ ] = second[ j ]; } first.length = i; return first; }, grep: function( elems, callback, invert ) { var callbackInverse, matches = [], i = 0, length = elems.length, callbackExpect = !invert; // Go through the array, only saving the items // that pass the validator function for ( ; i < length; i++ ) { callbackInverse = !callback( elems[ i ], i ); if ( callbackInverse !== callbackExpect ) { matches.push( elems[ i ] ); } } return matches; }, // arg is for internal usage only map: function( elems, callback, arg ) { var length, value, i = 0, ret = []; // Go through the array, translating each of the items to their new values if ( isArrayLike( elems ) ) { length = elems.length; for ( ; i < length; i++ ) { value = callback( elems[ i ], i, arg ); if ( value != null ) { ret.push( value ); } } // Go through every key on the object, } else { for ( i in elems ) { value = callback( elems[ i ], i, arg ); if ( value != null ) { ret.push( value ); } } } // Flatten any nested arrays return flat( ret ); }, // A global GUID counter for objects guid: 1, // jQuery.support is not used in Core but other projects attach their // properties to it so it needs to exist. support: support } ); if ( typeof Symbol === "function" ) { jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; } // Populate the class2type map jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), function( _i, name ) { class2type[ "[object " + name + "]" ] = name.toLowerCase(); } ); function isArrayLike( obj ) { // Support: real iOS 8.2 only (not reproducible in simulator) // `in` check used to prevent JIT error (gh-2145) // hasOwn isn't used here due to false negatives // regarding Nodelist length in IE var length = !!obj && "length" in obj && obj.length, type = toType( obj ); if ( isFunction( obj ) || isWindow( obj ) ) { return false; } return type === "array" || length === 0 || typeof length === "number" && length > 0 && ( length - 1 ) in obj; } var Sizzle = /*! * Sizzle CSS Selector Engine v2.3.6 * https://sizzlejs.com/ * * Copyright JS Foundation and other contributors * Released under the MIT license * https://js.foundation/ * * Date: 2021-02-16 */ ( function( window ) { var i, support, Expr, getText, isXML, tokenize, compile, select, outermostContext, sortInput, hasDuplicate, // Local document vars setDocument, document, docElem, documentIsHTML, rbuggyQSA, rbuggyMatches, matches, contains, // Instance-specific data expando = "sizzle" + 1 * new Date(), preferredDoc = window.document, dirruns = 0, done = 0, classCache = createCache(), tokenCache = createCache(), compilerCache = createCache(), nonnativeSelectorCache = createCache(), sortOrder = function( a, b ) { if ( a === b ) { hasDuplicate = true; } return 0; }, // Instance methods hasOwn = ( {} ).hasOwnProperty, arr = [], pop = arr.pop, pushNative = arr.push, push = arr.push, slice = arr.slice, // Use a stripped-down indexOf as it's faster than native // https://jsperf.com/thor-indexof-vs-for/5 indexOf = function( list, elem ) { var i = 0, len = list.length; for ( ; i < len; i++ ) { if ( list[ i ] === elem ) { return i; } } return -1; }, booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" + "ismap|loop|multiple|open|readonly|required|scoped", // Regular expressions // http://www.w3.org/TR/css3-selectors/#whitespace whitespace = "[\\x20\\t\\r\\n\\f]", // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + // Operator (capture 2) "*([*^$|!~]?=)" + whitespace + // "Attribute values must be CSS identifiers [capture 5] // or strings [capture 3 or capture 4]" "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + "*\\]", pseudos = ":(" + identifier + ")(?:\\((" + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: // 1. quoted (capture 3; capture 4 or capture 5) "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + // 2. simple (capture 6) "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + // 3. anything else (capture 2) ".*" + ")\\)|)", // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter rwhitespace = new RegExp( whitespace + "+", "g" ), rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), rdescend = new RegExp( whitespace + "|>" ), rpseudo = new RegExp( pseudos ), ridentifier = new RegExp( "^" + identifier + "$" ), matchExpr = { "ID": new RegExp( "^#(" + identifier + ")" ), "CLASS": new RegExp( "^\\.(" + identifier + ")" ), "TAG": new RegExp( "^(" + identifier + "|[*])" ), "ATTR": new RegExp( "^" + attributes ), "PSEUDO": new RegExp( "^" + pseudos ), "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), // For use in libraries implementing .is() // We use this for POS matching in `select` "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) }, rhtml = /HTML$/i, rinputs = /^(?:input|select|textarea|button)$/i, rheader = /^h\d$/i, rnative = /^[^{]+\{\s*\[native \w/, // Easily-parseable/retrievable ID or TAG or CLASS selectors rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, rsibling = /[+~]/, // CSS escapes // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ), funescape = function( escape, nonHex ) { var high = "0x" + escape.slice( 1 ) - 0x10000; return nonHex ? // Strip the backslash prefix from a non-hex escape sequence nonHex : // Replace a hexadecimal escape sequence with the encoded Unicode code point // Support: IE <=11+ // For values outside the Basic Multilingual Plane (BMP), manually construct a // surrogate pair high < 0 ? String.fromCharCode( high + 0x10000 ) : String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); }, // CSS string/identifier serialization // https://drafts.csswg.org/cssom/#common-serializing-idioms rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, fcssescape = function( ch, asCodePoint ) { if ( asCodePoint ) { // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER if ( ch === "\0" ) { return "\uFFFD"; } // Control characters and (dependent upon position) numbers get escaped as code points return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; } // Other potentially-special ASCII characters get backslash-escaped return "\\" + ch; }, // Used for iframes // See setDocument() // Removing the function wrapper causes a "Permission Denied" // error in IE unloadHandler = function() { setDocument(); }, inDisabledFieldset = addCombinator( function( elem ) { return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; }, { dir: "parentNode", next: "legend" } ); // Optimize for push.apply( _, NodeList ) try { push.apply( ( arr = slice.call( preferredDoc.childNodes ) ), preferredDoc.childNodes ); // Support: Android<4.0 // Detect silently failing push.apply // eslint-disable-next-line no-unused-expressions arr[ preferredDoc.childNodes.length ].nodeType; } catch ( e ) { push = { apply: arr.length ? // Leverage slice if possible function( target, els ) { pushNative.apply( target, slice.call( els ) ); } : // Support: IE<9 // Otherwise append directly function( target, els ) { var j = target.length, i = 0; // Can't trust NodeList.length while ( ( target[ j++ ] = els[ i++ ] ) ) {} target.length = j - 1; } }; } function Sizzle( selector, context, results, seed ) { var m, i, elem, nid, match, groups, newSelector, newContext = context && context.ownerDocument, // nodeType defaults to 9, since context defaults to document nodeType = context ? context.nodeType : 9; results = results || []; // Return early from calls with invalid selector or context if ( typeof selector !== "string" || !selector || nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { return results; } // Try to shortcut find operations (as opposed to filters) in HTML documents if ( !seed ) { setDocument( context ); context = context || document; if ( documentIsHTML ) { // If the selector is sufficiently simple, try using a "get*By*" DOM method // (excepting DocumentFragment context, where the methods don't exist) if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) { // ID selector if ( ( m = match[ 1 ] ) ) { // Document context if ( nodeType === 9 ) { if ( ( elem = context.getElementById( m ) ) ) { // Support: IE, Opera, Webkit // TODO: identify versions // getElementById can match elements by name instead of ID if ( elem.id === m ) {