From 73c704968544809f8bafb13eba66747ff088501f Mon Sep 17 00:00:00 2001 From: Jeff Ohrstrom Date: Wed, 13 Apr 2022 13:14:37 -0400 Subject: [PATCH 01/22] first commit to migrate to esbuild. jquery does not work right --- apps/dashboard/Gemfile | 6 +- apps/dashboard/Gemfile.lock | 15 +- apps/dashboard/app/assets/builds/.keep | 0 .../app/assets/builds/active_jobs.js | 13276 ++++++++ .../app/assets/builds/active_jobs.js.map | 7 + .../app/assets/builds/application.css | 26849 ++++++++++++++++ .../app/assets/builds/application.js | 11728 +++++++ .../app/assets/builds/application.js.map | 7 + apps/dashboard/app/assets/builds/apps.js | 11400 +++++++ apps/dashboard/app/assets/builds/apps.js.map | 7 + .../app/assets/builds/batch_connect.js | 381 + .../app/assets/builds/batch_connect.js.map | 7 + .../assets/builds/batch_connect_sessions.js | 128 + .../builds/batch_connect_sessions.js.map | 7 + apps/dashboard/app/assets/builds/config.js | 34 + .../dashboard/app/assets/builds/config.js.map | 7 + apps/dashboard/app/assets/builds/dashboard.js | 17052 ++++++++++ .../app/assets/builds/dashboard.js.map | 7 + apps/dashboard/app/assets/builds/editor.js | 147 + .../dashboard/app/assets/builds/editor.js.map | 7 + .../app/assets/builds/icon_picker.js | 1043 + .../app/assets/builds/icon_picker.js.map | 7 + apps/dashboard/app/assets/builds/icons.js | 997 + apps/dashboard/app/assets/builds/icons.js.map | 7 + .../app/assets/builds/products_index.js | 11398 +++++++ .../app/assets/builds/products_index.js.map | 7 + .../app/assets/builds/products_show.js | 57 + .../app/assets/builds/products_show.js.map | 7 + apps/dashboard/app/assets/config/manifest.js | 4 + .../dashboard/app/helpers/dashboard_helper.rb | 2 +- .../app/javascript/packs/application.js | 12 +- .../app/javascript/packs/dashboard.js | 1 + .../app/javascript/packs/icon_picker.js | 2 +- .../app/views/active_jobs/index.html.erb | 2 +- apps/dashboard/app/views/apps/index.html.erb | 2 +- .../session_contexts/_form.html.erb | 2 +- .../batch_connect/sessions/index.html.erb | 2 +- .../app/views/dashboard/index.html.erb | 2 +- .../app/views/layouts/_footer.html.erb | 2 +- .../app/views/layouts/application.html.erb | 4 +- .../app/views/layouts/editor.html.erb | 6 +- .../app/views/layouts/files.html.erb | 2 +- .../app/views/products/_form_icon.html.erb | 2 +- .../app/views/products/index.html.erb | 2 +- .../app/views/products/show.html.erb | 2 +- apps/dashboard/babel.config.js | 71 - apps/dashboard/bin/setup | 4 +- apps/dashboard/config/application.rb | 2 +- apps/dashboard/config/webpack/development.js | 5 - apps/dashboard/config/webpack/environment.js | 38 - apps/dashboard/config/webpack/production.js | 5 - apps/dashboard/config/webpack/test.js | 5 - apps/dashboard/config/webpacker.yml | 93 - apps/dashboard/package.json | 10 +- apps/dashboard/postcss.config.js | 12 - apps/dashboard/yarn.lock | 6035 +--- 56 files changed, 94778 insertions(+), 6148 deletions(-) create mode 100644 apps/dashboard/app/assets/builds/.keep create mode 100644 apps/dashboard/app/assets/builds/active_jobs.js create mode 100644 apps/dashboard/app/assets/builds/active_jobs.js.map create mode 100644 apps/dashboard/app/assets/builds/application.css create mode 100644 apps/dashboard/app/assets/builds/application.js create mode 100644 apps/dashboard/app/assets/builds/application.js.map create mode 100644 apps/dashboard/app/assets/builds/apps.js create mode 100644 apps/dashboard/app/assets/builds/apps.js.map create mode 100644 apps/dashboard/app/assets/builds/batch_connect.js create mode 100644 apps/dashboard/app/assets/builds/batch_connect.js.map create mode 100644 apps/dashboard/app/assets/builds/batch_connect_sessions.js create mode 100644 apps/dashboard/app/assets/builds/batch_connect_sessions.js.map create mode 100644 apps/dashboard/app/assets/builds/config.js create mode 100644 apps/dashboard/app/assets/builds/config.js.map create mode 100644 apps/dashboard/app/assets/builds/dashboard.js create mode 100644 apps/dashboard/app/assets/builds/dashboard.js.map create mode 100644 apps/dashboard/app/assets/builds/editor.js create mode 100644 apps/dashboard/app/assets/builds/editor.js.map create mode 100644 apps/dashboard/app/assets/builds/icon_picker.js create mode 100644 apps/dashboard/app/assets/builds/icon_picker.js.map create mode 100644 apps/dashboard/app/assets/builds/icons.js create mode 100644 apps/dashboard/app/assets/builds/icons.js.map create mode 100644 apps/dashboard/app/assets/builds/products_index.js create mode 100644 apps/dashboard/app/assets/builds/products_index.js.map create mode 100644 apps/dashboard/app/assets/builds/products_show.js create mode 100644 apps/dashboard/app/assets/builds/products_show.js.map create mode 100644 apps/dashboard/app/assets/config/manifest.js delete mode 100644 apps/dashboard/babel.config.js delete mode 100644 apps/dashboard/config/webpack/development.js delete mode 100644 apps/dashboard/config/webpack/environment.js delete mode 100644 apps/dashboard/config/webpack/production.js delete mode 100644 apps/dashboard/config/webpack/test.js delete mode 100644 apps/dashboard/config/webpacker.yml delete mode 100644 apps/dashboard/postcss.config.js diff --git a/apps/dashboard/Gemfile b/apps/dashboard/Gemfile index 8795dbd300..1046d591b7 100644 --- a/apps/dashboard/Gemfile +++ b/apps/dashboard/Gemfile @@ -45,6 +45,10 @@ gem 'mocha', '~> 1.1', group: :test gem 'autoprefixer-rails', '~> 10.2.5' gem 'dotiw' gem 'local_time', '~> 1.0.3' +gem 'zip_tricks', '~> 5.5' + +gem 'jsbundling-rails', '~> 1.0' +gem 'cssbundling-rails', '~> 1.1' # OOD specific gems gem 'ood_support', '~> 0.0.2' @@ -58,5 +62,3 @@ gem "sinatra-contrib", require: false gem "erubi", require: false gem "dalli", require: false -gem 'webpacker', '~> 5.4' -gem 'zip_tricks', '~> 5.5' diff --git a/apps/dashboard/Gemfile.lock b/apps/dashboard/Gemfile.lock index af220fe15e..94fff6820f 100644 --- a/apps/dashboard/Gemfile.lock +++ b/apps/dashboard/Gemfile.lock @@ -90,6 +90,8 @@ GEM coffee-script-source (1.12.2) concurrent-ruby (1.1.10) crass (1.0.6) + cssbundling-rails (1.1.0) + railties (>= 6.0.0) dalli (3.2.1) dotenv (2.7.6) dotenv-rails (2.7.6) @@ -108,6 +110,8 @@ GEM jbuilder (2.11.5) actionview (>= 5.0.0) activesupport (>= 5.0.0) + jsbundling-rails (1.0.2) + railties (>= 6.0.0) local_time (1.0.3) coffee-rails lograge (0.12.0) @@ -151,8 +155,6 @@ GEM rack (2.2.3) rack-protection (2.2.0) rack - rack-proxy (0.7.2) - rack rack-test (1.1.0) rack (>= 1.0, < 3) rails (6.1.4.7) @@ -196,7 +198,6 @@ GEM childprocess (>= 0.5, < 5.0) rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2) - semantic_range (3.0.0) sinatra (2.2.0) mustermann (~> 1.0) rack (~> 2.2) @@ -220,11 +221,6 @@ GEM timecop (0.9.5) tzinfo (2.0.4) concurrent-ruby (~> 1.0) - webpacker (5.4.3) - activesupport (>= 5.2) - rack-proxy (>= 0.6.1) - railties (>= 5.2) - semantic_range (>= 2.3.0) websocket-driver (0.7.5) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) @@ -244,11 +240,13 @@ DEPENDENCIES byebug capybara climate_control (~> 0.2) + cssbundling-rails (~> 1.1) dalli dotenv-rails (~> 2.1) dotiw erubi jbuilder (~> 2.0) + jsbundling-rails (~> 1.0) local_time (~> 1.0.3) mocha (~> 1.1) ood_appkit (~> 2.1.0) @@ -262,7 +260,6 @@ DEPENDENCIES sinatra sinatra-contrib timecop (~> 0.9) - webpacker (~> 5.4) zip_tricks (~> 5.5) BUNDLED WITH diff --git a/apps/dashboard/app/assets/builds/.keep b/apps/dashboard/app/assets/builds/.keep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/apps/dashboard/app/assets/builds/active_jobs.js b/apps/dashboard/app/assets/builds/active_jobs.js new file mode 100644 index 0000000000..d248f6850a --- /dev/null +++ b/apps/dashboard/app/assets/builds/active_jobs.js @@ -0,0 +1,13276 @@ +"use strict"; +(() => { + var __create = Object.create; + var __defProp = Object.defineProperty; + var __getOwnPropDesc = Object.getOwnPropertyDescriptor; + var __getOwnPropNames = Object.getOwnPropertyNames; + var __getProtoOf = Object.getPrototypeOf; + var __hasOwnProp = Object.prototype.hasOwnProperty; + var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; + }; + var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; + }; + var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod)); + + // node_modules/oboe/dist/oboe-browser.js + var require_oboe_browser = __commonJS({ + "node_modules/oboe/dist/oboe-browser.js"(exports, module) { + (function webpackUniversalModuleDefinition(root, factory) { + if (typeof exports === "object" && typeof module === "object") + module.exports = factory(); + else if (typeof define === "function" && define.amd) + define("oboe", [], factory); + else if (typeof exports === "object") + exports["oboe"] = factory(); + else + root["oboe"] = factory(); + })(typeof self !== "undefined" ? self : exports, function() { + return function(modules) { + var installedModules = {}; + function __webpack_require__(moduleId) { + if (installedModules[moduleId]) { + return installedModules[moduleId].exports; + } + var module2 = installedModules[moduleId] = { + i: moduleId, + l: false, + exports: {} + }; + modules[moduleId].call(module2.exports, module2, module2.exports, __webpack_require__); + module2.l = true; + return module2.exports; + } + __webpack_require__.m = modules; + __webpack_require__.c = installedModules; + __webpack_require__.d = function(exports2, name, getter) { + if (!__webpack_require__.o(exports2, name)) { + Object.defineProperty(exports2, name, { + configurable: false, + enumerable: true, + get: getter + }); + } + }; + __webpack_require__.n = function(module2) { + var getter = module2 && module2.__esModule ? function getDefault() { + return module2["default"]; + } : function getModuleExports() { + return module2; + }; + __webpack_require__.d(getter, "a", getter); + return getter; + }; + __webpack_require__.o = function(object, property) { + return Object.prototype.hasOwnProperty.call(object, property); + }; + __webpack_require__.p = ""; + return __webpack_require__(__webpack_require__.s = 7); + }([ + function(module2, __webpack_exports__, __webpack_require__) { + "use strict"; + __webpack_require__.d(__webpack_exports__, "j", function() { + return partialComplete; + }); + __webpack_require__.d(__webpack_exports__, "d", function() { + return compose2; + }); + __webpack_require__.d(__webpack_exports__, "c", function() { + return attr; + }); + __webpack_require__.d(__webpack_exports__, "h", function() { + return lazyUnion; + }); + __webpack_require__.d(__webpack_exports__, "b", function() { + return apply; + }); + __webpack_require__.d(__webpack_exports__, "k", function() { + return varArgs; + }); + __webpack_require__.d(__webpack_exports__, "e", function() { + return flip; + }); + __webpack_require__.d(__webpack_exports__, "g", function() { + return lazyIntersection; + }); + __webpack_require__.d(__webpack_exports__, "i", function() { + return noop; + }); + __webpack_require__.d(__webpack_exports__, "a", function() { + return always; + }); + __webpack_require__.d(__webpack_exports__, "f", function() { + return functor; + }); + var __WEBPACK_IMPORTED_MODULE_0__lists__ = __webpack_require__(1); + var partialComplete = varArgs(function(fn, args) { + var numBoundArgs = args.length; + return varArgs(function(callArgs) { + for (var i = 0; i < callArgs.length; i++) { + args[numBoundArgs + i] = callArgs[i]; + } + args.length = numBoundArgs + callArgs.length; + return fn.apply(this, args); + }); + }); + var compose = varArgs(function(fns) { + var fnsList = Object(__WEBPACK_IMPORTED_MODULE_0__lists__["c"])(fns); + function next(params, curFn) { + return [apply(params, curFn)]; + } + return varArgs(function(startParams) { + return Object(__WEBPACK_IMPORTED_MODULE_0__lists__["f"])(next, startParams, fnsList)[0]; + }); + }); + function compose2(f1, f2) { + return function() { + return f1.call(this, f2.apply(this, arguments)); + }; + } + function attr(key) { + return function(o) { + return o[key]; + }; + } + var lazyUnion = varArgs(function(fns) { + return varArgs(function(params) { + var maybeValue; + for (var i = 0; i < attr("length")(fns); i++) { + maybeValue = apply(params, fns[i]); + if (maybeValue) { + return maybeValue; + } + } + }); + }); + function apply(args, fn) { + return fn.apply(void 0, args); + } + function varArgs(fn) { + var numberOfFixedArguments = fn.length - 1; + var slice = Array.prototype.slice; + if (numberOfFixedArguments === 0) { + return function() { + return fn.call(this, slice.call(arguments)); + }; + } else if (numberOfFixedArguments === 1) { + return function() { + return fn.call(this, arguments[0], slice.call(arguments, 1)); + }; + } + var argsHolder = Array(fn.length); + return function() { + for (var i = 0; i < numberOfFixedArguments; i++) { + argsHolder[i] = arguments[i]; + } + argsHolder[numberOfFixedArguments] = slice.call(arguments, numberOfFixedArguments); + return fn.apply(this, argsHolder); + }; + } + function flip(fn) { + return function(a, b) { + return fn(b, a); + }; + } + function lazyIntersection(fn1, fn2) { + return function(param) { + return fn1(param) && fn2(param); + }; + } + function noop() { + } + function always() { + return true; + } + function functor(val) { + return function() { + return val; + }; + } + }, + function(module2, __webpack_exports__, __webpack_require__) { + "use strict"; + __webpack_require__.d(__webpack_exports__, "d", function() { + return cons; + }); + __webpack_require__.d(__webpack_exports__, "g", function() { + return head; + }); + __webpack_require__.d(__webpack_exports__, "l", function() { + return tail; + }); + __webpack_require__.d(__webpack_exports__, "c", function() { + return arrayAsList; + }); + __webpack_require__.d(__webpack_exports__, "h", function() { + return list; + }); + __webpack_require__.d(__webpack_exports__, "i", function() { + return listAsArray; + }); + __webpack_require__.d(__webpack_exports__, "j", function() { + return map; + }); + __webpack_require__.d(__webpack_exports__, "f", function() { + return foldR; + }); + __webpack_require__.d(__webpack_exports__, "m", function() { + return without; + }); + __webpack_require__.d(__webpack_exports__, "a", function() { + return all; + }); + __webpack_require__.d(__webpack_exports__, "b", function() { + return applyEach; + }); + __webpack_require__.d(__webpack_exports__, "k", function() { + return reverseList; + }); + __webpack_require__.d(__webpack_exports__, "e", function() { + return first; + }); + var __WEBPACK_IMPORTED_MODULE_0__functional__ = __webpack_require__(0); + function cons(x, xs) { + return [x, xs]; + } + var emptyList = null; + var head = Object(__WEBPACK_IMPORTED_MODULE_0__functional__["c"])(0); + var tail = Object(__WEBPACK_IMPORTED_MODULE_0__functional__["c"])(1); + function arrayAsList(inputArray) { + return reverseList(inputArray.reduce(Object(__WEBPACK_IMPORTED_MODULE_0__functional__["e"])(cons), emptyList)); + } + var list = Object(__WEBPACK_IMPORTED_MODULE_0__functional__["k"])(arrayAsList); + function listAsArray(list2) { + return foldR(function(arraySoFar, listItem) { + arraySoFar.unshift(listItem); + return arraySoFar; + }, [], list2); + } + function map(fn, list2) { + return list2 ? cons(fn(head(list2)), map(fn, tail(list2))) : emptyList; + } + function foldR(fn, startValue, list2) { + return list2 ? fn(foldR(fn, startValue, tail(list2)), head(list2)) : startValue; + } + function foldR1(fn, list2) { + return tail(list2) ? fn(foldR1(fn, tail(list2)), head(list2)) : head(list2); + } + function without(list2, test, removedFn) { + return withoutInner(list2, removedFn || __WEBPACK_IMPORTED_MODULE_0__functional__["i"]); + function withoutInner(subList, removedFn2) { + return subList ? test(head(subList)) ? (removedFn2(head(subList)), tail(subList)) : cons(head(subList), withoutInner(tail(subList), removedFn2)) : emptyList; + } + } + function all(fn, list2) { + return !list2 || fn(head(list2)) && all(fn, tail(list2)); + } + function applyEach(fnList, args) { + if (fnList) { + head(fnList).apply(null, args); + applyEach(tail(fnList), args); + } + } + function reverseList(list2) { + function reverseInner(list3, reversedAlready) { + if (!list3) { + return reversedAlready; + } + return reverseInner(tail(list3), cons(head(list3), reversedAlready)); + } + return reverseInner(list2, emptyList); + } + function first(test, list2) { + return list2 && (test(head(list2)) ? head(list2) : first(test, tail(list2))); + } + }, + function(module2, __webpack_exports__, __webpack_require__) { + "use strict"; + __webpack_require__.d(__webpack_exports__, "c", function() { + return isOfType; + }); + __webpack_require__.d(__webpack_exports__, "e", function() { + return len; + }); + __webpack_require__.d(__webpack_exports__, "d", function() { + return isString; + }); + __webpack_require__.d(__webpack_exports__, "a", function() { + return defined; + }); + __webpack_require__.d(__webpack_exports__, "b", function() { + return hasAllProperties; + }); + var __WEBPACK_IMPORTED_MODULE_0__lists__ = __webpack_require__(1); + var __WEBPACK_IMPORTED_MODULE_1__functional__ = __webpack_require__(0); + function isOfType(T, maybeSomething) { + return maybeSomething && maybeSomething.constructor === T; + } + var len = Object(__WEBPACK_IMPORTED_MODULE_1__functional__["c"])("length"); + var isString = Object(__WEBPACK_IMPORTED_MODULE_1__functional__["j"])(isOfType, String); + function defined(value) { + return value !== void 0; + } + function hasAllProperties(fieldList, o) { + return o instanceof Object && Object(__WEBPACK_IMPORTED_MODULE_0__lists__["a"])(function(field) { + return field in o; + }, fieldList); + } + }, + function(module2, __webpack_exports__, __webpack_require__) { + "use strict"; + __webpack_require__.d(__webpack_exports__, "f", function() { + return NODE_OPENED; + }); + __webpack_require__.d(__webpack_exports__, "d", function() { + return NODE_CLOSED; + }); + __webpack_require__.d(__webpack_exports__, "g", function() { + return NODE_SWAP; + }); + __webpack_require__.d(__webpack_exports__, "e", function() { + return NODE_DROP; + }); + __webpack_require__.d(__webpack_exports__, "b", function() { + return FAIL_EVENT; + }); + __webpack_require__.d(__webpack_exports__, "h", function() { + return ROOT_NODE_FOUND; + }); + __webpack_require__.d(__webpack_exports__, "i", function() { + return ROOT_PATH_FOUND; + }); + __webpack_require__.d(__webpack_exports__, "c", function() { + return HTTP_START; + }); + __webpack_require__.d(__webpack_exports__, "m", function() { + return STREAM_DATA; + }); + __webpack_require__.d(__webpack_exports__, "n", function() { + return STREAM_END; + }); + __webpack_require__.d(__webpack_exports__, "a", function() { + return ABORTING; + }); + __webpack_require__.d(__webpack_exports__, "j", function() { + return SAX_KEY; + }); + __webpack_require__.d(__webpack_exports__, "l", function() { + return SAX_VALUE_OPEN; + }); + __webpack_require__.d(__webpack_exports__, "k", function() { + return SAX_VALUE_CLOSE; + }); + __webpack_require__.d(__webpack_exports__, "o", function() { + return errorReport; + }); + var _S = 1; + var NODE_OPENED = _S++; + var NODE_CLOSED = _S++; + var NODE_SWAP = _S++; + var NODE_DROP = _S++; + var FAIL_EVENT = "fail"; + var ROOT_NODE_FOUND = _S++; + var ROOT_PATH_FOUND = _S++; + var HTTP_START = "start"; + var STREAM_DATA = "data"; + var STREAM_END = "end"; + var ABORTING = _S++; + var SAX_KEY = _S++; + var SAX_VALUE_OPEN = _S++; + var SAX_VALUE_CLOSE = _S++; + function errorReport(statusCode, body, error) { + try { + var jsonBody = JSON.parse(body); + } catch (e) { + } + return { + statusCode, + body, + jsonBody, + thrown: error + }; + } + }, + function(module2, __webpack_exports__, __webpack_require__) { + "use strict"; + __webpack_require__.d(__webpack_exports__, "b", function() { + return namedNode; + }); + __webpack_require__.d(__webpack_exports__, "a", function() { + return keyOf; + }); + __webpack_require__.d(__webpack_exports__, "c", function() { + return nodeOf; + }); + var __WEBPACK_IMPORTED_MODULE_0__functional__ = __webpack_require__(0); + function namedNode(key, node) { + return { key, node }; + } + var keyOf = Object(__WEBPACK_IMPORTED_MODULE_0__functional__["c"])("key"); + var nodeOf = Object(__WEBPACK_IMPORTED_MODULE_0__functional__["c"])("node"); + }, + function(module2, __webpack_exports__, __webpack_require__) { + "use strict"; + __webpack_require__.d(__webpack_exports__, "a", function() { + return oboe2; + }); + var __WEBPACK_IMPORTED_MODULE_0__lists__ = __webpack_require__(1); + var __WEBPACK_IMPORTED_MODULE_1__functional__ = __webpack_require__(0); + var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(2); + var __WEBPACK_IMPORTED_MODULE_3__defaults__ = __webpack_require__(8); + var __WEBPACK_IMPORTED_MODULE_4__wire__ = __webpack_require__(9); + function oboe2(arg1) { + var nodeStreamMethodNames = Object(__WEBPACK_IMPORTED_MODULE_0__lists__["h"])("resume", "pause", "pipe"); + var isStream = Object(__WEBPACK_IMPORTED_MODULE_1__functional__["j"])(__WEBPACK_IMPORTED_MODULE_2__util__["b"], nodeStreamMethodNames); + if (arg1) { + if (isStream(arg1) || Object(__WEBPACK_IMPORTED_MODULE_2__util__["d"])(arg1)) { + return Object(__WEBPACK_IMPORTED_MODULE_3__defaults__["a"])(__WEBPACK_IMPORTED_MODULE_4__wire__["a"], arg1); + } else { + return Object(__WEBPACK_IMPORTED_MODULE_3__defaults__["a"])(__WEBPACK_IMPORTED_MODULE_4__wire__["a"], arg1.url, arg1.method, arg1.body, arg1.headers, arg1.withCredentials, arg1.cached); + } + } else { + return Object(__WEBPACK_IMPORTED_MODULE_4__wire__["a"])(); + } + } + oboe2.drop = function() { + return oboe2.drop; + }; + }, + function(module2, __webpack_exports__, __webpack_require__) { + "use strict"; + __webpack_require__.d(__webpack_exports__, "b", function() { + return incrementalContentBuilder; + }); + __webpack_require__.d(__webpack_exports__, "a", function() { + return ROOT_PATH; + }); + var __WEBPACK_IMPORTED_MODULE_0__events__ = __webpack_require__(3); + var __WEBPACK_IMPORTED_MODULE_1__ascent__ = __webpack_require__(4); + var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(2); + var __WEBPACK_IMPORTED_MODULE_3__lists__ = __webpack_require__(1); + var ROOT_PATH = {}; + function incrementalContentBuilder(oboeBus) { + var emitNodeOpened = oboeBus(__WEBPACK_IMPORTED_MODULE_0__events__["f"]).emit; + var emitNodeClosed = oboeBus(__WEBPACK_IMPORTED_MODULE_0__events__["d"]).emit; + var emitRootOpened = oboeBus(__WEBPACK_IMPORTED_MODULE_0__events__["i"]).emit; + var emitRootClosed = oboeBus(__WEBPACK_IMPORTED_MODULE_0__events__["h"]).emit; + function arrayIndicesAreKeys(possiblyInconsistentAscent, newDeepestNode) { + var parentNode = Object(__WEBPACK_IMPORTED_MODULE_1__ascent__["c"])(Object(__WEBPACK_IMPORTED_MODULE_3__lists__["g"])(possiblyInconsistentAscent)); + return Object(__WEBPACK_IMPORTED_MODULE_2__util__["c"])(Array, parentNode) ? keyFound(possiblyInconsistentAscent, Object(__WEBPACK_IMPORTED_MODULE_2__util__["e"])(parentNode), newDeepestNode) : possiblyInconsistentAscent; + } + function nodeOpened(ascent, newDeepestNode) { + if (!ascent) { + emitRootOpened(newDeepestNode); + return keyFound(ascent, ROOT_PATH, newDeepestNode); + } + var arrayConsistentAscent = arrayIndicesAreKeys(ascent, newDeepestNode); + var ancestorBranches = Object(__WEBPACK_IMPORTED_MODULE_3__lists__["l"])(arrayConsistentAscent); + var previouslyUnmappedName = Object(__WEBPACK_IMPORTED_MODULE_1__ascent__["a"])(Object(__WEBPACK_IMPORTED_MODULE_3__lists__["g"])(arrayConsistentAscent)); + appendBuiltContent(ancestorBranches, previouslyUnmappedName, newDeepestNode); + return Object(__WEBPACK_IMPORTED_MODULE_3__lists__["d"])(Object(__WEBPACK_IMPORTED_MODULE_1__ascent__["b"])(previouslyUnmappedName, newDeepestNode), ancestorBranches); + } + function appendBuiltContent(ancestorBranches, key, node) { + Object(__WEBPACK_IMPORTED_MODULE_1__ascent__["c"])(Object(__WEBPACK_IMPORTED_MODULE_3__lists__["g"])(ancestorBranches))[key] = node; + } + function keyFound(ascent, newDeepestName, maybeNewDeepestNode) { + if (ascent) { + appendBuiltContent(ascent, newDeepestName, maybeNewDeepestNode); + } + var ascentWithNewPath = Object(__WEBPACK_IMPORTED_MODULE_3__lists__["d"])(Object(__WEBPACK_IMPORTED_MODULE_1__ascent__["b"])(newDeepestName, maybeNewDeepestNode), ascent); + emitNodeOpened(ascentWithNewPath); + return ascentWithNewPath; + } + function nodeClosed(ascent) { + emitNodeClosed(ascent); + return Object(__WEBPACK_IMPORTED_MODULE_3__lists__["l"])(ascent) || emitRootClosed(Object(__WEBPACK_IMPORTED_MODULE_1__ascent__["c"])(Object(__WEBPACK_IMPORTED_MODULE_3__lists__["g"])(ascent))); + } + var contentBuilderHandlers = {}; + contentBuilderHandlers[__WEBPACK_IMPORTED_MODULE_0__events__["l"]] = nodeOpened; + contentBuilderHandlers[__WEBPACK_IMPORTED_MODULE_0__events__["k"]] = nodeClosed; + contentBuilderHandlers[__WEBPACK_IMPORTED_MODULE_0__events__["j"]] = keyFound; + return contentBuilderHandlers; + } + }, + function(module2, __webpack_exports__, __webpack_require__) { + "use strict"; + Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); + var __WEBPACK_IMPORTED_MODULE_0__publicApi__ = __webpack_require__(5); + __webpack_exports__["default"] = __WEBPACK_IMPORTED_MODULE_0__publicApi__["a"]; + }, + function(module2, __webpack_exports__, __webpack_require__) { + "use strict"; + __webpack_require__.d(__webpack_exports__, "a", function() { + return applyDefaults; + }); + var __WEBPACK_IMPORTED_MODULE_0__util__ = __webpack_require__(2); + function applyDefaults(passthrough, url, httpMethodName, body, headers, withCredentials, cached) { + headers = headers ? JSON.parse(JSON.stringify(headers)) : {}; + if (body) { + if (!Object(__WEBPACK_IMPORTED_MODULE_0__util__["d"])(body)) { + body = JSON.stringify(body); + headers["Content-Type"] = headers["Content-Type"] || "application/json"; + } + headers["Content-Length"] = headers["Content-Length"] || body.length; + } else { + body = null; + } + function modifiedUrl(baseUrl, cached2) { + if (cached2 === false) { + if (baseUrl.indexOf("?") === -1) { + baseUrl += "?"; + } else { + baseUrl += "&"; + } + baseUrl += "_=" + new Date().getTime(); + } + return baseUrl; + } + return passthrough(httpMethodName || "GET", modifiedUrl(url, cached), body, headers, withCredentials || false); + } + }, + function(module2, __webpack_exports__, __webpack_require__) { + "use strict"; + __webpack_require__.d(__webpack_exports__, "a", function() { + return wire; + }); + var __WEBPACK_IMPORTED_MODULE_0__pubSub__ = __webpack_require__(10); + var __WEBPACK_IMPORTED_MODULE_1__ascentManager__ = __webpack_require__(12); + var __WEBPACK_IMPORTED_MODULE_2__incrementalContentBuilder__ = __webpack_require__(6); + var __WEBPACK_IMPORTED_MODULE_3__patternAdapter__ = __webpack_require__(13); + var __WEBPACK_IMPORTED_MODULE_4__jsonPath__ = __webpack_require__(14); + var __WEBPACK_IMPORTED_MODULE_5__instanceApi__ = __webpack_require__(16); + var __WEBPACK_IMPORTED_MODULE_6__libs_clarinet__ = __webpack_require__(17); + var __WEBPACK_IMPORTED_MODULE_7__streamingHttp_node__ = __webpack_require__(18); + function wire(httpMethodName, contentSource, body, headers, withCredentials) { + var oboeBus = Object(__WEBPACK_IMPORTED_MODULE_0__pubSub__["a"])(); + if (contentSource) { + Object(__WEBPACK_IMPORTED_MODULE_7__streamingHttp_node__["b"])(oboeBus, Object(__WEBPACK_IMPORTED_MODULE_7__streamingHttp_node__["a"])(), httpMethodName, contentSource, body, headers, withCredentials); + } + Object(__WEBPACK_IMPORTED_MODULE_6__libs_clarinet__["a"])(oboeBus); + Object(__WEBPACK_IMPORTED_MODULE_1__ascentManager__["a"])(oboeBus, Object(__WEBPACK_IMPORTED_MODULE_2__incrementalContentBuilder__["b"])(oboeBus)); + Object(__WEBPACK_IMPORTED_MODULE_3__patternAdapter__["a"])(oboeBus, __WEBPACK_IMPORTED_MODULE_4__jsonPath__["a"]); + return Object(__WEBPACK_IMPORTED_MODULE_5__instanceApi__["a"])(oboeBus, contentSource); + } + }, + function(module2, __webpack_exports__, __webpack_require__) { + "use strict"; + __webpack_require__.d(__webpack_exports__, "a", function() { + return pubSub; + }); + var __WEBPACK_IMPORTED_MODULE_0__singleEventPubSub__ = __webpack_require__(11); + var __WEBPACK_IMPORTED_MODULE_1__functional__ = __webpack_require__(0); + function pubSub() { + var singles = {}; + var newListener = newSingle("newListener"); + var removeListener = newSingle("removeListener"); + function newSingle(eventName) { + singles[eventName] = Object(__WEBPACK_IMPORTED_MODULE_0__singleEventPubSub__["a"])(eventName, newListener, removeListener); + return singles[eventName]; + } + function pubSubInstance(eventName) { + return singles[eventName] || newSingle(eventName); + } + ["emit", "on", "un"].forEach(function(methodName) { + pubSubInstance[methodName] = Object(__WEBPACK_IMPORTED_MODULE_1__functional__["k"])(function(eventName, parameters) { + Object(__WEBPACK_IMPORTED_MODULE_1__functional__["b"])(parameters, pubSubInstance(eventName)[methodName]); + }); + }); + return pubSubInstance; + } + }, + function(module2, __webpack_exports__, __webpack_require__) { + "use strict"; + __webpack_require__.d(__webpack_exports__, "a", function() { + return singleEventPubSub; + }); + var __WEBPACK_IMPORTED_MODULE_0__lists__ = __webpack_require__(1); + var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(2); + var __WEBPACK_IMPORTED_MODULE_2__functional__ = __webpack_require__(0); + function singleEventPubSub(eventType, newListener, removeListener) { + var listenerTupleList, listenerList; + function hasId(id) { + return function(tuple) { + return tuple.id === id; + }; + } + return { + on: function(listener, listenerId) { + var tuple = { + listener, + id: listenerId || listener + }; + if (newListener) { + newListener.emit(eventType, listener, tuple.id); + } + listenerTupleList = Object(__WEBPACK_IMPORTED_MODULE_0__lists__["d"])(tuple, listenerTupleList); + listenerList = Object(__WEBPACK_IMPORTED_MODULE_0__lists__["d"])(listener, listenerList); + return this; + }, + emit: function() { + Object(__WEBPACK_IMPORTED_MODULE_0__lists__["b"])(listenerList, arguments); + }, + un: function(listenerId) { + var removed; + listenerTupleList = Object(__WEBPACK_IMPORTED_MODULE_0__lists__["m"])(listenerTupleList, hasId(listenerId), function(tuple) { + removed = tuple; + }); + if (removed) { + listenerList = Object(__WEBPACK_IMPORTED_MODULE_0__lists__["m"])(listenerList, function(listener) { + return listener === removed.listener; + }); + if (removeListener) { + removeListener.emit(eventType, removed.listener, removed.id); + } + } + }, + listeners: function() { + return listenerList; + }, + hasListener: function(listenerId) { + var test = listenerId ? hasId(listenerId) : __WEBPACK_IMPORTED_MODULE_2__functional__["a"]; + return Object(__WEBPACK_IMPORTED_MODULE_1__util__["a"])(Object(__WEBPACK_IMPORTED_MODULE_0__lists__["e"])(test, listenerTupleList)); + } + }; + } + }, + function(module2, __webpack_exports__, __webpack_require__) { + "use strict"; + __webpack_require__.d(__webpack_exports__, "a", function() { + return ascentManager; + }); + var __WEBPACK_IMPORTED_MODULE_0__ascent__ = __webpack_require__(4); + var __WEBPACK_IMPORTED_MODULE_1__events__ = __webpack_require__(3); + var __WEBPACK_IMPORTED_MODULE_2__lists__ = __webpack_require__(1); + function ascentManager(oboeBus, handlers) { + "use strict"; + var listenerId = {}; + var ascent; + function stateAfter(handler) { + return function(param) { + ascent = handler(ascent, param); + }; + } + for (var eventName in handlers) { + oboeBus(eventName).on(stateAfter(handlers[eventName]), listenerId); + } + oboeBus(__WEBPACK_IMPORTED_MODULE_1__events__["g"]).on(function(newNode) { + var oldHead = Object(__WEBPACK_IMPORTED_MODULE_2__lists__["g"])(ascent); + var key = Object(__WEBPACK_IMPORTED_MODULE_0__ascent__["a"])(oldHead); + var ancestors = Object(__WEBPACK_IMPORTED_MODULE_2__lists__["l"])(ascent); + var parentNode; + if (ancestors) { + parentNode = Object(__WEBPACK_IMPORTED_MODULE_0__ascent__["c"])(Object(__WEBPACK_IMPORTED_MODULE_2__lists__["g"])(ancestors)); + parentNode[key] = newNode; + } + }); + oboeBus(__WEBPACK_IMPORTED_MODULE_1__events__["e"]).on(function() { + var oldHead = Object(__WEBPACK_IMPORTED_MODULE_2__lists__["g"])(ascent); + var key = Object(__WEBPACK_IMPORTED_MODULE_0__ascent__["a"])(oldHead); + var ancestors = Object(__WEBPACK_IMPORTED_MODULE_2__lists__["l"])(ascent); + var parentNode; + if (ancestors) { + parentNode = Object(__WEBPACK_IMPORTED_MODULE_0__ascent__["c"])(Object(__WEBPACK_IMPORTED_MODULE_2__lists__["g"])(ancestors)); + delete parentNode[key]; + } + }); + oboeBus(__WEBPACK_IMPORTED_MODULE_1__events__["a"]).on(function() { + for (var eventName2 in handlers) { + oboeBus(eventName2).un(listenerId); + } + }); + } + }, + function(module2, __webpack_exports__, __webpack_require__) { + "use strict"; + __webpack_require__.d(__webpack_exports__, "a", function() { + return patternAdapter; + }); + var __WEBPACK_IMPORTED_MODULE_0__events__ = __webpack_require__(3); + var __WEBPACK_IMPORTED_MODULE_1__lists__ = __webpack_require__(1); + var __WEBPACK_IMPORTED_MODULE_2__ascent__ = __webpack_require__(4); + function patternAdapter(oboeBus, jsonPathCompiler) { + var predicateEventMap = { + node: oboeBus(__WEBPACK_IMPORTED_MODULE_0__events__["d"]), + path: oboeBus(__WEBPACK_IMPORTED_MODULE_0__events__["f"]) + }; + function emitMatchingNode(emitMatch, node, ascent) { + var descent = Object(__WEBPACK_IMPORTED_MODULE_1__lists__["k"])(ascent); + emitMatch(node, Object(__WEBPACK_IMPORTED_MODULE_1__lists__["i"])(Object(__WEBPACK_IMPORTED_MODULE_1__lists__["l"])(Object(__WEBPACK_IMPORTED_MODULE_1__lists__["j"])(__WEBPACK_IMPORTED_MODULE_2__ascent__["a"], descent))), Object(__WEBPACK_IMPORTED_MODULE_1__lists__["i"])(Object(__WEBPACK_IMPORTED_MODULE_1__lists__["j"])(__WEBPACK_IMPORTED_MODULE_2__ascent__["c"], descent))); + } + function addUnderlyingListener(fullEventName, predicateEvent, compiledJsonPath) { + var emitMatch = oboeBus(fullEventName).emit; + predicateEvent.on(function(ascent) { + var maybeMatchingMapping = compiledJsonPath(ascent); + if (maybeMatchingMapping !== false) { + emitMatchingNode(emitMatch, Object(__WEBPACK_IMPORTED_MODULE_2__ascent__["c"])(maybeMatchingMapping), ascent); + } + }, fullEventName); + oboeBus("removeListener").on(function(removedEventName) { + if (removedEventName === fullEventName) { + if (!oboeBus(removedEventName).listeners()) { + predicateEvent.un(fullEventName); + } + } + }); + } + oboeBus("newListener").on(function(fullEventName) { + var match = /(node|path):(.*)/.exec(fullEventName); + if (match) { + var predicateEvent = predicateEventMap[match[1]]; + if (!predicateEvent.hasListener(fullEventName)) { + addUnderlyingListener(fullEventName, predicateEvent, jsonPathCompiler(match[2])); + } + } + }); + } + }, + function(module2, __webpack_exports__, __webpack_require__) { + "use strict"; + __webpack_require__.d(__webpack_exports__, "a", function() { + return jsonPathCompiler; + }); + var __WEBPACK_IMPORTED_MODULE_0__functional__ = __webpack_require__(0); + var __WEBPACK_IMPORTED_MODULE_1__lists__ = __webpack_require__(1); + var __WEBPACK_IMPORTED_MODULE_2__ascent__ = __webpack_require__(4); + var __WEBPACK_IMPORTED_MODULE_3__util__ = __webpack_require__(2); + var __WEBPACK_IMPORTED_MODULE_4__incrementalContentBuilder__ = __webpack_require__(6); + var __WEBPACK_IMPORTED_MODULE_5__jsonPathSyntax__ = __webpack_require__(15); + var jsonPathCompiler = Object(__WEBPACK_IMPORTED_MODULE_5__jsonPathSyntax__["a"])(function(pathNodeSyntax, doubleDotSyntax, dotSyntax, bangSyntax, emptySyntax) { + var CAPTURING_INDEX = 1; + var NAME_INDEX = 2; + var FIELD_LIST_INDEX = 3; + var headKey = Object(__WEBPACK_IMPORTED_MODULE_0__functional__["d"])(__WEBPACK_IMPORTED_MODULE_2__ascent__["a"], __WEBPACK_IMPORTED_MODULE_1__lists__["g"]); + var headNode = Object(__WEBPACK_IMPORTED_MODULE_0__functional__["d"])(__WEBPACK_IMPORTED_MODULE_2__ascent__["c"], __WEBPACK_IMPORTED_MODULE_1__lists__["g"]); + function nameClause(previousExpr, detection) { + var name = detection[NAME_INDEX]; + var matchesName = !name || name === "*" ? __WEBPACK_IMPORTED_MODULE_0__functional__["a"] : function(ascent) { + return String(headKey(ascent)) === name; + }; + return Object(__WEBPACK_IMPORTED_MODULE_0__functional__["g"])(matchesName, previousExpr); + } + function duckTypeClause(previousExpr, detection) { + var fieldListStr = detection[FIELD_LIST_INDEX]; + if (!fieldListStr) { + return previousExpr; + } + var hasAllrequiredFields = Object(__WEBPACK_IMPORTED_MODULE_0__functional__["j"])(__WEBPACK_IMPORTED_MODULE_3__util__["b"], Object(__WEBPACK_IMPORTED_MODULE_1__lists__["c"])(fieldListStr.split(/\W+/))); + var isMatch = Object(__WEBPACK_IMPORTED_MODULE_0__functional__["d"])(hasAllrequiredFields, headNode); + return Object(__WEBPACK_IMPORTED_MODULE_0__functional__["g"])(isMatch, previousExpr); + } + function capture(previousExpr, detection) { + var capturing = !!detection[CAPTURING_INDEX]; + if (!capturing) { + return previousExpr; + } + return Object(__WEBPACK_IMPORTED_MODULE_0__functional__["g"])(previousExpr, __WEBPACK_IMPORTED_MODULE_1__lists__["g"]); + } + function skip1(previousExpr) { + if (previousExpr === __WEBPACK_IMPORTED_MODULE_0__functional__["a"]) { + return __WEBPACK_IMPORTED_MODULE_0__functional__["a"]; + } + function notAtRoot(ascent) { + return headKey(ascent) !== __WEBPACK_IMPORTED_MODULE_4__incrementalContentBuilder__["a"]; + } + return Object(__WEBPACK_IMPORTED_MODULE_0__functional__["g"])(notAtRoot, Object(__WEBPACK_IMPORTED_MODULE_0__functional__["d"])(previousExpr, __WEBPACK_IMPORTED_MODULE_1__lists__["l"])); + } + function skipMany(previousExpr) { + if (previousExpr === __WEBPACK_IMPORTED_MODULE_0__functional__["a"]) { + return __WEBPACK_IMPORTED_MODULE_0__functional__["a"]; + } + var terminalCaseWhenArrivingAtRoot = rootExpr(); + var terminalCaseWhenPreviousExpressionIsSatisfied = previousExpr; + var recursiveCase = skip1(function(ascent) { + return cases(ascent); + }); + var cases = Object(__WEBPACK_IMPORTED_MODULE_0__functional__["h"])(terminalCaseWhenArrivingAtRoot, terminalCaseWhenPreviousExpressionIsSatisfied, recursiveCase); + return cases; + } + function rootExpr() { + return function(ascent) { + return headKey(ascent) === __WEBPACK_IMPORTED_MODULE_4__incrementalContentBuilder__["a"]; + }; + } + function statementExpr(lastClause) { + return function(ascent) { + var exprMatch = lastClause(ascent); + return exprMatch === true ? Object(__WEBPACK_IMPORTED_MODULE_1__lists__["g"])(ascent) : exprMatch; + }; + } + function expressionsReader(exprs, parserGeneratedSoFar, detection) { + return Object(__WEBPACK_IMPORTED_MODULE_1__lists__["f"])(function(parserGeneratedSoFar2, expr) { + return expr(parserGeneratedSoFar2, detection); + }, parserGeneratedSoFar, exprs); + } + function generateClauseReaderIfTokenFound(tokenDetector, clauseEvaluatorGenerators, jsonPath, parserGeneratedSoFar, onSuccess) { + var detected = tokenDetector(jsonPath); + if (detected) { + var compiledParser = expressionsReader(clauseEvaluatorGenerators, parserGeneratedSoFar, detected); + var remainingUnparsedJsonPath = jsonPath.substr(Object(__WEBPACK_IMPORTED_MODULE_3__util__["e"])(detected[0])); + return onSuccess(remainingUnparsedJsonPath, compiledParser); + } + } + function clauseMatcher(tokenDetector, exprs) { + return Object(__WEBPACK_IMPORTED_MODULE_0__functional__["j"])(generateClauseReaderIfTokenFound, tokenDetector, exprs); + } + var clauseForJsonPath = Object(__WEBPACK_IMPORTED_MODULE_0__functional__["h"])(clauseMatcher(pathNodeSyntax, Object(__WEBPACK_IMPORTED_MODULE_1__lists__["h"])(capture, duckTypeClause, nameClause, skip1)), clauseMatcher(doubleDotSyntax, Object(__WEBPACK_IMPORTED_MODULE_1__lists__["h"])(skipMany)), clauseMatcher(dotSyntax, Object(__WEBPACK_IMPORTED_MODULE_1__lists__["h"])()), clauseMatcher(bangSyntax, Object(__WEBPACK_IMPORTED_MODULE_1__lists__["h"])(capture, rootExpr)), clauseMatcher(emptySyntax, Object(__WEBPACK_IMPORTED_MODULE_1__lists__["h"])(statementExpr)), function(jsonPath) { + throw Error('"' + jsonPath + '" could not be tokenised'); + }); + function returnFoundParser(_remainingJsonPath, compiledParser) { + return compiledParser; + } + function compileJsonPathToFunction(uncompiledJsonPath, parserGeneratedSoFar) { + var onFind = uncompiledJsonPath ? compileJsonPathToFunction : returnFoundParser; + return clauseForJsonPath(uncompiledJsonPath, parserGeneratedSoFar, onFind); + } + return function(jsonPath) { + try { + return compileJsonPathToFunction(jsonPath, __WEBPACK_IMPORTED_MODULE_0__functional__["a"]); + } catch (e) { + throw Error('Could not compile "' + jsonPath + '" because ' + e.message); + } + }; + }); + }, + function(module2, __webpack_exports__, __webpack_require__) { + "use strict"; + __webpack_require__.d(__webpack_exports__, "a", function() { + return jsonPathSyntax; + }); + var __WEBPACK_IMPORTED_MODULE_0__functional__ = __webpack_require__(0); + var jsonPathSyntax = function() { + var regexDescriptor = function regexDescriptor2(regex) { + return regex.exec.bind(regex); + }; + var jsonPathClause = Object(__WEBPACK_IMPORTED_MODULE_0__functional__["k"])(function(componentRegexes) { + componentRegexes.unshift(/^/); + return regexDescriptor(RegExp(componentRegexes.map(Object(__WEBPACK_IMPORTED_MODULE_0__functional__["c"])("source")).join(""))); + }); + var possiblyCapturing = /(\$?)/; + var namedNode = /([\w-_]+|\*)/; + var namePlaceholder = /()/; + var nodeInArrayNotation = /\["([^"]+)"\]/; + var numberedNodeInArrayNotation = /\[(\d+|\*)\]/; + var fieldList = /{([\w ]*?)}/; + var optionalFieldList = /(?:{([\w ]*?)})?/; + var jsonPathNamedNodeInObjectNotation = jsonPathClause(possiblyCapturing, namedNode, optionalFieldList); + var jsonPathNamedNodeInArrayNotation = jsonPathClause(possiblyCapturing, nodeInArrayNotation, optionalFieldList); + var jsonPathNumberedNodeInArrayNotation = jsonPathClause(possiblyCapturing, numberedNodeInArrayNotation, optionalFieldList); + var jsonPathPureDuckTyping = jsonPathClause(possiblyCapturing, namePlaceholder, fieldList); + var jsonPathDoubleDot = jsonPathClause(/\.\./); + var jsonPathDot = jsonPathClause(/\./); + var jsonPathBang = jsonPathClause(possiblyCapturing, /!/); + var emptyString = jsonPathClause(/$/); + return function(fn) { + return fn(Object(__WEBPACK_IMPORTED_MODULE_0__functional__["h"])(jsonPathNamedNodeInObjectNotation, jsonPathNamedNodeInArrayNotation, jsonPathNumberedNodeInArrayNotation, jsonPathPureDuckTyping), jsonPathDoubleDot, jsonPathDot, jsonPathBang, emptyString); + }; + }(); + }, + function(module2, __webpack_exports__, __webpack_require__) { + "use strict"; + __webpack_require__.d(__webpack_exports__, "a", function() { + return instanceApi; + }); + var __WEBPACK_IMPORTED_MODULE_0__events__ = __webpack_require__(3); + var __WEBPACK_IMPORTED_MODULE_1__functional__ = __webpack_require__(0); + var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(2); + var __WEBPACK_IMPORTED_MODULE_3__publicApi__ = __webpack_require__(5); + function instanceApi(oboeBus, contentSource) { + var oboeApi; + var fullyQualifiedNamePattern = /^(node|path):./; + var rootNodeFinishedEvent = oboeBus(__WEBPACK_IMPORTED_MODULE_0__events__["h"]); + var emitNodeDrop = oboeBus(__WEBPACK_IMPORTED_MODULE_0__events__["e"]).emit; + var emitNodeSwap = oboeBus(__WEBPACK_IMPORTED_MODULE_0__events__["g"]).emit; + var addListener = Object(__WEBPACK_IMPORTED_MODULE_1__functional__["k"])(function(eventId, parameters) { + if (oboeApi[eventId]) { + Object(__WEBPACK_IMPORTED_MODULE_1__functional__["b"])(parameters, oboeApi[eventId]); + } else { + var event = oboeBus(eventId); + var listener = parameters[0]; + if (fullyQualifiedNamePattern.test(eventId)) { + addForgettableCallback(event, wrapCallbackToSwapNodeIfSomethingReturned(listener)); + } else { + event.on(listener); + } + } + return oboeApi; + }); + var removeListener = function(eventId, p2, p3) { + if (eventId === "done") { + rootNodeFinishedEvent.un(p2); + } else if (eventId === "node" || eventId === "path") { + oboeBus.un(eventId + ":" + p2, p3); + } else { + var listener = p2; + oboeBus(eventId).un(listener); + } + return oboeApi; + }; + function addProtectedCallback(eventName, callback) { + oboeBus(eventName).on(protectedCallback(callback), callback); + return oboeApi; + } + function addForgettableCallback(event, callback, listenerId) { + listenerId = listenerId || callback; + var safeCallback = protectedCallback(callback); + event.on(function() { + var discard = false; + oboeApi.forget = function() { + discard = true; + }; + Object(__WEBPACK_IMPORTED_MODULE_1__functional__["b"])(arguments, safeCallback); + delete oboeApi.forget; + if (discard) { + event.un(listenerId); + } + }, listenerId); + return oboeApi; + } + function protectedCallback(callback) { + return function() { + try { + return callback.apply(oboeApi, arguments); + } catch (e) { + setTimeout(function() { + throw new Error(e.message); + }); + } + }; + } + function fullyQualifiedPatternMatchEvent(type, pattern) { + return oboeBus(type + ":" + pattern); + } + function wrapCallbackToSwapNodeIfSomethingReturned(callback) { + return function() { + var returnValueFromCallback = callback.apply(this, arguments); + if (Object(__WEBPACK_IMPORTED_MODULE_2__util__["a"])(returnValueFromCallback)) { + if (returnValueFromCallback === __WEBPACK_IMPORTED_MODULE_3__publicApi__["a"].drop) { + emitNodeDrop(); + } else { + emitNodeSwap(returnValueFromCallback); + } + } + }; + } + function addSingleNodeOrPathListener(eventId, pattern, callback) { + var effectiveCallback; + if (eventId === "node") { + effectiveCallback = wrapCallbackToSwapNodeIfSomethingReturned(callback); + } else { + effectiveCallback = callback; + } + addForgettableCallback(fullyQualifiedPatternMatchEvent(eventId, pattern), effectiveCallback, callback); + } + function addMultipleNodeOrPathListeners(eventId, listenerMap) { + for (var pattern in listenerMap) { + addSingleNodeOrPathListener(eventId, pattern, listenerMap[pattern]); + } + } + function addNodeOrPathListenerApi(eventId, jsonPathOrListenerMap, callback) { + if (Object(__WEBPACK_IMPORTED_MODULE_2__util__["d"])(jsonPathOrListenerMap)) { + addSingleNodeOrPathListener(eventId, jsonPathOrListenerMap, callback); + } else { + addMultipleNodeOrPathListeners(eventId, jsonPathOrListenerMap); + } + return oboeApi; + } + oboeBus(__WEBPACK_IMPORTED_MODULE_0__events__["i"]).on(function(rootNode) { + oboeApi.root = Object(__WEBPACK_IMPORTED_MODULE_1__functional__["f"])(rootNode); + }); + oboeBus(__WEBPACK_IMPORTED_MODULE_0__events__["c"]).on(function(_statusCode, headers) { + oboeApi.header = function(name) { + return name ? headers[name] : headers; + }; + }); + oboeApi = { + on: addListener, + addListener, + removeListener, + emit: oboeBus.emit, + node: Object(__WEBPACK_IMPORTED_MODULE_1__functional__["j"])(addNodeOrPathListenerApi, "node"), + path: Object(__WEBPACK_IMPORTED_MODULE_1__functional__["j"])(addNodeOrPathListenerApi, "path"), + done: Object(__WEBPACK_IMPORTED_MODULE_1__functional__["j"])(addForgettableCallback, rootNodeFinishedEvent), + start: Object(__WEBPACK_IMPORTED_MODULE_1__functional__["j"])(addProtectedCallback, __WEBPACK_IMPORTED_MODULE_0__events__["c"]), + fail: oboeBus(__WEBPACK_IMPORTED_MODULE_0__events__["b"]).on, + abort: oboeBus(__WEBPACK_IMPORTED_MODULE_0__events__["a"]).emit, + header: __WEBPACK_IMPORTED_MODULE_1__functional__["i"], + root: __WEBPACK_IMPORTED_MODULE_1__functional__["i"], + source: contentSource + }; + return oboeApi; + } + }, + function(module2, __webpack_exports__, __webpack_require__) { + "use strict"; + __webpack_require__.d(__webpack_exports__, "a", function() { + return clarinet; + }); + var __WEBPACK_IMPORTED_MODULE_0__events__ = __webpack_require__(3); + function clarinet(eventBus) { + "use strict"; + var emitSaxKey = eventBus(__WEBPACK_IMPORTED_MODULE_0__events__["j"]).emit; + var emitValueOpen = eventBus(__WEBPACK_IMPORTED_MODULE_0__events__["l"]).emit; + var emitValueClose = eventBus(__WEBPACK_IMPORTED_MODULE_0__events__["k"]).emit; + var emitFail = eventBus(__WEBPACK_IMPORTED_MODULE_0__events__["b"]).emit; + var MAX_BUFFER_LENGTH = 64 * 1024; + var stringTokenPattern = /[\\"\n]/g; + var _n = 0; + var BEGIN = _n++; + var VALUE = _n++; + var OPEN_OBJECT = _n++; + var CLOSE_OBJECT = _n++; + var OPEN_ARRAY = _n++; + var CLOSE_ARRAY = _n++; + var STRING = _n++; + var OPEN_KEY = _n++; + var CLOSE_KEY = _n++; + var TRUE = _n++; + var TRUE2 = _n++; + var TRUE3 = _n++; + var FALSE = _n++; + var FALSE2 = _n++; + var FALSE3 = _n++; + var FALSE4 = _n++; + var NULL = _n++; + var NULL2 = _n++; + var NULL3 = _n++; + var NUMBER_DECIMAL_POINT = _n++; + var NUMBER_DIGIT = _n; + var bufferCheckPosition = MAX_BUFFER_LENGTH; + var latestError; + var c; + var p; + var textNode; + var numberNode = ""; + var slashed = false; + var closed = false; + var state = BEGIN; + var stack = []; + var unicodeS = null; + var unicodeI = 0; + var depth = 0; + var position = 0; + var column = 0; + var line = 1; + function checkBufferLength() { + var maxActual = 0; + if (textNode !== void 0 && textNode.length > MAX_BUFFER_LENGTH) { + emitError("Max buffer length exceeded: textNode"); + maxActual = Math.max(maxActual, textNode.length); + } + if (numberNode.length > MAX_BUFFER_LENGTH) { + emitError("Max buffer length exceeded: numberNode"); + maxActual = Math.max(maxActual, numberNode.length); + } + bufferCheckPosition = MAX_BUFFER_LENGTH - maxActual + position; + } + eventBus(__WEBPACK_IMPORTED_MODULE_0__events__["m"]).on(handleData); + eventBus(__WEBPACK_IMPORTED_MODULE_0__events__["n"]).on(handleStreamEnd); + function emitError(errorString) { + if (textNode !== void 0) { + emitValueOpen(textNode); + emitValueClose(); + textNode = void 0; + } + latestError = Error(errorString + "\nLn: " + line + "\nCol: " + column + "\nChr: " + c); + emitFail(Object(__WEBPACK_IMPORTED_MODULE_0__events__["o"])(void 0, void 0, latestError)); + } + function handleStreamEnd() { + if (state === BEGIN) { + emitValueOpen({}); + emitValueClose(); + closed = true; + return; + } + if (state !== VALUE || depth !== 0) { + emitError("Unexpected end"); + } + if (textNode !== void 0) { + emitValueOpen(textNode); + emitValueClose(); + textNode = void 0; + } + closed = true; + } + function whitespace(c2) { + return c2 === "\r" || c2 === "\n" || c2 === " " || c2 === " "; + } + function handleData(chunk) { + if (latestError) { + return; + } + if (closed) { + return emitError("Cannot write after close"); + } + var i = 0; + c = chunk[0]; + while (c) { + if (i > 0) { + p = c; + } + c = chunk[i++]; + if (!c) + break; + position++; + if (c === "\n") { + line++; + column = 0; + } else + column++; + switch (state) { + case BEGIN: + if (c === "{") + state = OPEN_OBJECT; + else if (c === "[") + state = OPEN_ARRAY; + else if (!whitespace(c)) { + return emitError("Non-whitespace before {[."); + } + continue; + case OPEN_KEY: + case OPEN_OBJECT: + if (whitespace(c)) + continue; + if (state === OPEN_KEY) + stack.push(CLOSE_KEY); + else { + if (c === "}") { + emitValueOpen({}); + emitValueClose(); + state = stack.pop() || VALUE; + continue; + } else + stack.push(CLOSE_OBJECT); + } + if (c === '"') { + state = STRING; + } else { + return emitError('Malformed object key should start with " '); + } + continue; + case CLOSE_KEY: + case CLOSE_OBJECT: + if (whitespace(c)) + continue; + if (c === ":") { + if (state === CLOSE_OBJECT) { + stack.push(CLOSE_OBJECT); + if (textNode !== void 0) { + emitValueOpen({}); + emitSaxKey(textNode); + textNode = void 0; + } + depth++; + } else { + if (textNode !== void 0) { + emitSaxKey(textNode); + textNode = void 0; + } + } + state = VALUE; + } else if (c === "}") { + if (textNode !== void 0) { + emitValueOpen(textNode); + emitValueClose(); + textNode = void 0; + } + emitValueClose(); + depth--; + state = stack.pop() || VALUE; + } else if (c === ",") { + if (state === CLOSE_OBJECT) { + stack.push(CLOSE_OBJECT); + } + if (textNode !== void 0) { + emitValueOpen(textNode); + emitValueClose(); + textNode = void 0; + } + state = OPEN_KEY; + } else { + return emitError("Bad object"); + } + continue; + case OPEN_ARRAY: + case VALUE: + if (whitespace(c)) + continue; + if (state === OPEN_ARRAY) { + emitValueOpen([]); + depth++; + state = VALUE; + if (c === "]") { + emitValueClose(); + depth--; + state = stack.pop() || VALUE; + continue; + } else { + stack.push(CLOSE_ARRAY); + } + } + if (c === '"') + state = STRING; + else if (c === "{") + state = OPEN_OBJECT; + else if (c === "[") + state = OPEN_ARRAY; + else if (c === "t") + state = TRUE; + else if (c === "f") + state = FALSE; + else if (c === "n") + state = NULL; + else if (c === "-") { + numberNode += c; + } else if (c === "0") { + numberNode += c; + state = NUMBER_DIGIT; + } else if ("123456789".indexOf(c) !== -1) { + numberNode += c; + state = NUMBER_DIGIT; + } else { + return emitError("Bad value"); + } + continue; + case CLOSE_ARRAY: + if (c === ",") { + stack.push(CLOSE_ARRAY); + if (textNode !== void 0) { + emitValueOpen(textNode); + emitValueClose(); + textNode = void 0; + } + state = VALUE; + } else if (c === "]") { + if (textNode !== void 0) { + emitValueOpen(textNode); + emitValueClose(); + textNode = void 0; + } + emitValueClose(); + depth--; + state = stack.pop() || VALUE; + } else if (whitespace(c)) { + continue; + } else { + return emitError("Bad array"); + } + continue; + case STRING: + if (textNode === void 0) { + textNode = ""; + } + var starti = i - 1; + STRING_BIGLOOP: + while (true) { + while (unicodeI > 0) { + unicodeS += c; + c = chunk.charAt(i++); + if (unicodeI === 4) { + textNode += String.fromCharCode(parseInt(unicodeS, 16)); + unicodeI = 0; + starti = i - 1; + } else { + unicodeI++; + } + if (!c) + break STRING_BIGLOOP; + } + if (c === '"' && !slashed) { + state = stack.pop() || VALUE; + textNode += chunk.substring(starti, i - 1); + break; + } + if (c === "\\" && !slashed) { + slashed = true; + textNode += chunk.substring(starti, i - 1); + c = chunk.charAt(i++); + if (!c) + break; + } + if (slashed) { + slashed = false; + if (c === "n") { + textNode += "\n"; + } else if (c === "r") { + textNode += "\r"; + } else if (c === "t") { + textNode += " "; + } else if (c === "f") { + textNode += "\f"; + } else if (c === "b") { + textNode += "\b"; + } else if (c === "u") { + unicodeI = 1; + unicodeS = ""; + } else { + textNode += c; + } + c = chunk.charAt(i++); + starti = i - 1; + if (!c) + break; + else + continue; + } + stringTokenPattern.lastIndex = i; + var reResult = stringTokenPattern.exec(chunk); + if (!reResult) { + i = chunk.length + 1; + textNode += chunk.substring(starti, i - 1); + break; + } + i = reResult.index + 1; + c = chunk.charAt(reResult.index); + if (!c) { + textNode += chunk.substring(starti, i - 1); + break; + } + } + continue; + case TRUE: + if (!c) + continue; + if (c === "r") + state = TRUE2; + else { + return emitError("Invalid true started with t" + c); + } + continue; + case TRUE2: + if (!c) + continue; + if (c === "u") + state = TRUE3; + else { + return emitError("Invalid true started with tr" + c); + } + continue; + case TRUE3: + if (!c) + continue; + if (c === "e") { + emitValueOpen(true); + emitValueClose(); + state = stack.pop() || VALUE; + } else { + return emitError("Invalid true started with tru" + c); + } + continue; + case FALSE: + if (!c) + continue; + if (c === "a") + state = FALSE2; + else { + return emitError("Invalid false started with f" + c); + } + continue; + case FALSE2: + if (!c) + continue; + if (c === "l") + state = FALSE3; + else { + return emitError("Invalid false started with fa" + c); + } + continue; + case FALSE3: + if (!c) + continue; + if (c === "s") + state = FALSE4; + else { + return emitError("Invalid false started with fal" + c); + } + continue; + case FALSE4: + if (!c) + continue; + if (c === "e") { + emitValueOpen(false); + emitValueClose(); + state = stack.pop() || VALUE; + } else { + return emitError("Invalid false started with fals" + c); + } + continue; + case NULL: + if (!c) + continue; + if (c === "u") + state = NULL2; + else { + return emitError("Invalid null started with n" + c); + } + continue; + case NULL2: + if (!c) + continue; + if (c === "l") + state = NULL3; + else { + return emitError("Invalid null started with nu" + c); + } + continue; + case NULL3: + if (!c) + continue; + if (c === "l") { + emitValueOpen(null); + emitValueClose(); + state = stack.pop() || VALUE; + } else { + return emitError("Invalid null started with nul" + c); + } + continue; + case NUMBER_DECIMAL_POINT: + if (c === ".") { + numberNode += c; + state = NUMBER_DIGIT; + } else { + return emitError("Leading zero not followed by ."); + } + continue; + case NUMBER_DIGIT: + if ("0123456789".indexOf(c) !== -1) + numberNode += c; + else if (c === ".") { + if (numberNode.indexOf(".") !== -1) { + return emitError("Invalid number has two dots"); + } + numberNode += c; + } else if (c === "e" || c === "E") { + if (numberNode.indexOf("e") !== -1 || numberNode.indexOf("E") !== -1) { + return emitError("Invalid number has two exponential"); + } + numberNode += c; + } else if (c === "+" || c === "-") { + if (!(p === "e" || p === "E")) { + return emitError("Invalid symbol in number"); + } + numberNode += c; + } else { + if (numberNode) { + emitValueOpen(parseFloat(numberNode)); + emitValueClose(); + numberNode = ""; + } + i--; + state = stack.pop() || VALUE; + } + continue; + default: + return emitError("Unknown state: " + state); + } + } + if (position >= bufferCheckPosition) { + checkBufferLength(); + } + } + } + }, + function(module2, __webpack_exports__, __webpack_require__) { + "use strict"; + __webpack_require__.d(__webpack_exports__, "a", function() { + return httpTransport; + }); + __webpack_require__.d(__webpack_exports__, "b", function() { + return streamingHttp; + }); + var __WEBPACK_IMPORTED_MODULE_0__detectCrossOrigin_browser__ = __webpack_require__(19); + var __WEBPACK_IMPORTED_MODULE_1__events__ = __webpack_require__(3); + var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(2); + var __WEBPACK_IMPORTED_MODULE_3__parseResponseHeaders_browser__ = __webpack_require__(20); + var __WEBPACK_IMPORTED_MODULE_4__functional__ = __webpack_require__(0); + function httpTransport() { + return new XMLHttpRequest(); + } + function streamingHttp(oboeBus, xhr, method, url, data, headers, withCredentials) { + "use strict"; + var emitStreamData = oboeBus(__WEBPACK_IMPORTED_MODULE_1__events__["m"]).emit; + var emitFail = oboeBus(__WEBPACK_IMPORTED_MODULE_1__events__["b"]).emit; + var numberOfCharsAlreadyGivenToCallback = 0; + var stillToSendStartEvent = true; + oboeBus(__WEBPACK_IMPORTED_MODULE_1__events__["a"]).on(function() { + xhr.onreadystatechange = null; + xhr.abort(); + }); + function handleProgress() { + if (String(xhr.status)[0] === "2") { + var textSoFar = xhr.responseText; + var newText = (" " + textSoFar.substr(numberOfCharsAlreadyGivenToCallback)).substr(1); + if (newText) { + emitStreamData(newText); + } + numberOfCharsAlreadyGivenToCallback = Object(__WEBPACK_IMPORTED_MODULE_2__util__["e"])(textSoFar); + } + } + if ("onprogress" in xhr) { + xhr.onprogress = handleProgress; + } + function sendStartIfNotAlready(xhr2) { + try { + stillToSendStartEvent && oboeBus(__WEBPACK_IMPORTED_MODULE_1__events__["c"]).emit(xhr2.status, Object(__WEBPACK_IMPORTED_MODULE_3__parseResponseHeaders_browser__["a"])(xhr2.getAllResponseHeaders())); + stillToSendStartEvent = false; + } catch (e) { + } + } + xhr.onreadystatechange = function() { + switch (xhr.readyState) { + case 2: + case 3: + return sendStartIfNotAlready(xhr); + case 4: + sendStartIfNotAlready(xhr); + var successful = String(xhr.status)[0] === "2"; + if (successful) { + handleProgress(); + oboeBus(__WEBPACK_IMPORTED_MODULE_1__events__["n"]).emit(); + } else { + emitFail(Object(__WEBPACK_IMPORTED_MODULE_1__events__["o"])(xhr.status, xhr.responseText)); + } + } + }; + try { + xhr.open(method, url, true); + for (var headerName in headers) { + xhr.setRequestHeader(headerName, headers[headerName]); + } + if (!Object(__WEBPACK_IMPORTED_MODULE_0__detectCrossOrigin_browser__["a"])(window.location, Object(__WEBPACK_IMPORTED_MODULE_0__detectCrossOrigin_browser__["b"])(url))) { + xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest"); + } + xhr.withCredentials = withCredentials; + xhr.send(data); + } catch (e) { + window.setTimeout(Object(__WEBPACK_IMPORTED_MODULE_4__functional__["j"])(emitFail, Object(__WEBPACK_IMPORTED_MODULE_1__events__["o"])(void 0, void 0, e)), 0); + } + } + }, + function(module2, __webpack_exports__, __webpack_require__) { + "use strict"; + __webpack_require__.d(__webpack_exports__, "a", function() { + return isCrossOrigin; + }); + __webpack_require__.d(__webpack_exports__, "b", function() { + return parseUrlOrigin; + }); + function isCrossOrigin(pageLocation, ajaxHost) { + function defaultPort(protocol) { + return { "http:": 80, "https:": 443 }[protocol]; + } + function portOf(location2) { + return String(location2.port || defaultPort(location2.protocol || pageLocation.protocol)); + } + return !!(ajaxHost.protocol && ajaxHost.protocol !== pageLocation.protocol || ajaxHost.host && ajaxHost.host !== pageLocation.host || ajaxHost.host && portOf(ajaxHost) !== portOf(pageLocation)); + } + function parseUrlOrigin(url) { + var URL_HOST_PATTERN = /(\w+:)?(?:\/\/)([\w.-]+)?(?::(\d+))?\/?/; + var urlHostMatch = URL_HOST_PATTERN.exec(url) || []; + return { + protocol: urlHostMatch[1] || "", + host: urlHostMatch[2] || "", + port: urlHostMatch[3] || "" + }; + } + }, + function(module2, __webpack_exports__, __webpack_require__) { + "use strict"; + __webpack_require__.d(__webpack_exports__, "a", function() { + return parseResponseHeaders; + }); + function parseResponseHeaders(headerStr) { + var headers = {}; + headerStr && headerStr.split("\r\n").forEach(function(headerPair) { + var index = headerPair.indexOf(": "); + headers[headerPair.substring(0, index)] = headerPair.substring(index + 2); + }); + return headers; + } + } + ])["default"]; + }); + } + }); + + // node_modules/jquery/dist/jquery.js + var require_jquery = __commonJS({ + "node_modules/jquery/dist/jquery.js"(exports, module) { + (function(global, factory) { + "use strict"; + if (typeof module === "object" && typeof module.exports === "object") { + 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); + } + })(typeof window !== "undefined" ? window : exports, function(window2, noGlobal) { + "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 isFunction2(obj) { + return typeof obj === "function" && typeof obj.nodeType !== "number" && typeof obj.item !== "function"; + }; + var isWindow = function isWindow2(obj) { + return obj != null && obj === obj.window; + }; + var document2 = window2.document; + var preservedScriptAttributes = { + type: true, + src: true, + nonce: true, + noModule: true + }; + function DOMEval(code, node, doc) { + doc = doc || document2; + var i, val, script = doc.createElement("script"); + script.text = code; + if (node) { + for (i in preservedScriptAttributes) { + 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 + ""; + } + return typeof obj === "object" || typeof obj === "function" ? class2type[toString.call(obj)] || "object" : typeof obj; + } + var version = "3.6.0", jQuery2 = function(selector, context) { + return new jQuery2.fn.init(selector, context); + }; + jQuery2.fn = jQuery2.prototype = { + jquery: version, + constructor: jQuery2, + length: 0, + toArray: function() { + return slice.call(this); + }, + get: function(num) { + if (num == null) { + return slice.call(this); + } + return num < 0 ? this[num + this.length] : this[num]; + }, + pushStack: function(elems) { + var ret = jQuery2.merge(this.constructor(), elems); + ret.prevObject = this; + return ret; + }, + each: function(callback) { + return jQuery2.each(this, callback); + }, + map: function(callback) { + return this.pushStack(jQuery2.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(jQuery2.grep(this, function(_elem, i) { + return (i + 1) % 2; + })); + }, + odd: function() { + return this.pushStack(jQuery2.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(); + }, + push, + sort: arr.sort, + splice: arr.splice + }; + jQuery2.extend = jQuery2.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, target = arguments[0] || {}, i = 1, length = arguments.length, deep = false; + if (typeof target === "boolean") { + deep = target; + target = arguments[i] || {}; + i++; + } + if (typeof target !== "object" && !isFunction(target)) { + target = {}; + } + if (i === length) { + target = this; + i--; + } + for (; i < length; i++) { + if ((options = arguments[i]) != null) { + for (name in options) { + copy = options[name]; + if (name === "__proto__" || target === copy) { + continue; + } + if (deep && copy && (jQuery2.isPlainObject(copy) || (copyIsArray = Array.isArray(copy)))) { + src = target[name]; + if (copyIsArray && !Array.isArray(src)) { + clone = []; + } else if (!copyIsArray && !jQuery2.isPlainObject(src)) { + clone = {}; + } else { + clone = src; + } + copyIsArray = false; + target[name] = jQuery2.extend(deep, clone, copy); + } else if (copy !== void 0) { + target[name] = copy; + } + } + } + } + return target; + }; + jQuery2.extend({ + expando: "jQuery" + (version + Math.random()).replace(/\D/g, ""), + isReady: true, + error: function(msg) { + throw new Error(msg); + }, + noop: function() { + }, + isPlainObject: function(obj) { + var proto, Ctor; + if (!obj || toString.call(obj) !== "[object Object]") { + return false; + } + proto = getProto(obj); + if (!proto) { + return true; + } + 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; + }, + 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; + }, + makeArray: function(arr2, results) { + var ret = results || []; + if (arr2 != null) { + if (isArrayLike(Object(arr2))) { + jQuery2.merge(ret, typeof arr2 === "string" ? [arr2] : arr2); + } else { + push.call(ret, arr2); + } + } + return ret; + }, + inArray: function(elem, arr2, i) { + return arr2 == null ? -1 : indexOf.call(arr2, elem, i); + }, + 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; + for (; i < length; i++) { + callbackInverse = !callback(elems[i], i); + if (callbackInverse !== callbackExpect) { + matches.push(elems[i]); + } + } + return matches; + }, + map: function(elems, callback, arg) { + var length, value, i = 0, ret = []; + if (isArrayLike(elems)) { + length = elems.length; + for (; i < length; i++) { + value = callback(elems[i], i, arg); + if (value != null) { + ret.push(value); + } + } + } else { + for (i in elems) { + value = callback(elems[i], i, arg); + if (value != null) { + ret.push(value); + } + } + } + return flat(ret); + }, + guid: 1, + support + }); + if (typeof Symbol === "function") { + jQuery2.fn[Symbol.iterator] = arr[Symbol.iterator]; + } + jQuery2.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function(_i, name) { + class2type["[object " + name + "]"] = name.toLowerCase(); + }); + function isArrayLike(obj) { + 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 = function(window3) { + var i, support2, Expr, getText, isXML, tokenize, compile, select, outermostContext, sortInput, hasDuplicate, setDocument, document3, docElem, documentIsHTML, rbuggyQSA, rbuggyMatches, matches, contains, expando = "sizzle" + 1 * new Date(), preferredDoc = window3.document, dirruns = 0, done = 0, classCache = createCache(), tokenCache = createCache(), compilerCache = createCache(), nonnativeSelectorCache = createCache(), sortOrder = function(a, b) { + if (a === b) { + hasDuplicate = true; + } + return 0; + }, hasOwn2 = {}.hasOwnProperty, arr2 = [], pop = arr2.pop, pushNative = arr2.push, push2 = arr2.push, slice2 = arr2.slice, indexOf2 = function(list, elem) { + var i2 = 0, len = list.length; + for (; i2 < len; i2++) { + if (list[i2] === elem) { + return i2; + } + } + return -1; + }, booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", whitespace = "[\\x20\\t\\r\\n\\f]", identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + "*([*^$|!~]?=)" + whitespace + `*(?:'((?:\\\\.|[^\\\\'])*)'|"((?:\\\\.|[^\\\\"])*)"|(` + identifier + "))|)" + whitespace + "*\\]", pseudos = ":(" + identifier + `)(?:\\((('((?:\\\\.|[^\\\\'])*)'|"((?:\\\\.|[^\\\\"])*)")|((?:\\\\.|[^\\\\()[\\]]|` + attributes + ")*)|.*)\\)|)", rwhitespace = new RegExp(whitespace + "+", "g"), rtrim2 = 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"), + "needsContext": new RegExp("^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i") + }, rhtml2 = /HTML$/i, rinputs = /^(?:input|select|textarea|button)$/i, rheader = /^h\d$/i, rnative = /^[^{]+\{\s*\[native \w/, rquickExpr2 = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, rsibling = /[+~]/, runescape = new RegExp("\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g"), funescape = function(escape, nonHex) { + var high = "0x" + escape.slice(1) - 65536; + return nonHex ? nonHex : high < 0 ? String.fromCharCode(high + 65536) : String.fromCharCode(high >> 10 | 55296, high & 1023 | 56320); + }, rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, fcssescape = function(ch, asCodePoint) { + if (asCodePoint) { + if (ch === "\0") { + return "\uFFFD"; + } + return ch.slice(0, -1) + "\\" + ch.charCodeAt(ch.length - 1).toString(16) + " "; + } + return "\\" + ch; + }, unloadHandler = function() { + setDocument(); + }, inDisabledFieldset = addCombinator(function(elem) { + return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; + }, { dir: "parentNode", next: "legend" }); + try { + push2.apply(arr2 = slice2.call(preferredDoc.childNodes), preferredDoc.childNodes); + arr2[preferredDoc.childNodes.length].nodeType; + } catch (e) { + push2 = { + apply: arr2.length ? function(target, els) { + pushNative.apply(target, slice2.call(els)); + } : function(target, els) { + var j = target.length, i2 = 0; + while (target[j++] = els[i2++]) { + } + target.length = j - 1; + } + }; + } + function Sizzle2(selector, context, results, seed) { + var m, i2, elem, nid, match, groups, newSelector, newContext = context && context.ownerDocument, nodeType = context ? context.nodeType : 9; + results = results || []; + if (typeof selector !== "string" || !selector || nodeType !== 1 && nodeType !== 9 && nodeType !== 11) { + return results; + } + if (!seed) { + setDocument(context); + context = context || document3; + if (documentIsHTML) { + if (nodeType !== 11 && (match = rquickExpr2.exec(selector))) { + if (m = match[1]) { + if (nodeType === 9) { + if (elem = context.getElementById(m)) { + if (elem.id === m) { + results.push(elem); + return results; + } + } else { + return results; + } + } else { + if (newContext && (elem = newContext.getElementById(m)) && contains(context, elem) && elem.id === m) { + results.push(elem); + return results; + } + } + } else if (match[2]) { + push2.apply(results, context.getElementsByTagName(selector)); + return results; + } else if ((m = match[3]) && support2.getElementsByClassName && context.getElementsByClassName) { + push2.apply(results, context.getElementsByClassName(m)); + return results; + } + } + if (support2.qsa && !nonnativeSelectorCache[selector + " "] && (!rbuggyQSA || !rbuggyQSA.test(selector)) && (nodeType !== 1 || context.nodeName.toLowerCase() !== "object")) { + newSelector = selector; + newContext = context; + if (nodeType === 1 && (rdescend.test(selector) || rcombinators.test(selector))) { + newContext = rsibling.test(selector) && testContext(context.parentNode) || context; + if (newContext !== context || !support2.scope) { + if (nid = context.getAttribute("id")) { + nid = nid.replace(rcssescape, fcssescape); + } else { + context.setAttribute("id", nid = expando); + } + } + groups = tokenize(selector); + i2 = groups.length; + while (i2--) { + groups[i2] = (nid ? "#" + nid : ":scope") + " " + toSelector(groups[i2]); + } + newSelector = groups.join(","); + } + try { + push2.apply(results, newContext.querySelectorAll(newSelector)); + return results; + } catch (qsaError) { + nonnativeSelectorCache(selector, true); + } finally { + if (nid === expando) { + context.removeAttribute("id"); + } + } + } + } + } + return select(selector.replace(rtrim2, "$1"), context, results, seed); + } + function createCache() { + var keys = []; + function cache(key, value) { + if (keys.push(key + " ") > Expr.cacheLength) { + delete cache[keys.shift()]; + } + return cache[key + " "] = value; + } + return cache; + } + function markFunction(fn) { + fn[expando] = true; + return fn; + } + function assert(fn) { + var el = document3.createElement("fieldset"); + try { + return !!fn(el); + } catch (e) { + return false; + } finally { + if (el.parentNode) { + el.parentNode.removeChild(el); + } + el = null; + } + } + function addHandle(attrs, handler) { + var arr3 = attrs.split("|"), i2 = arr3.length; + while (i2--) { + Expr.attrHandle[arr3[i2]] = handler; + } + } + function siblingCheck(a, b) { + var cur = b && a, diff = cur && a.nodeType === 1 && b.nodeType === 1 && a.sourceIndex - b.sourceIndex; + if (diff) { + return diff; + } + if (cur) { + while (cur = cur.nextSibling) { + if (cur === b) { + return -1; + } + } + } + return a ? 1 : -1; + } + function createInputPseudo(type) { + return function(elem) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; + } + function createButtonPseudo(type) { + return function(elem) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; + } + function createDisabledPseudo(disabled) { + return function(elem) { + if ("form" in elem) { + if (elem.parentNode && elem.disabled === false) { + if ("label" in elem) { + if ("label" in elem.parentNode) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + return elem.isDisabled === disabled || elem.isDisabled !== !disabled && inDisabledFieldset(elem) === disabled; + } + return elem.disabled === disabled; + } else if ("label" in elem) { + return elem.disabled === disabled; + } + return false; + }; + } + function createPositionalPseudo(fn) { + return markFunction(function(argument) { + argument = +argument; + return markFunction(function(seed, matches2) { + var j, matchIndexes = fn([], seed.length, argument), i2 = matchIndexes.length; + while (i2--) { + if (seed[j = matchIndexes[i2]]) { + seed[j] = !(matches2[j] = seed[j]); + } + } + }); + }); + } + function testContext(context) { + return context && typeof context.getElementsByTagName !== "undefined" && context; + } + support2 = Sizzle2.support = {}; + isXML = Sizzle2.isXML = function(elem) { + var namespace = elem && elem.namespaceURI, docElem2 = elem && (elem.ownerDocument || elem).documentElement; + return !rhtml2.test(namespace || docElem2 && docElem2.nodeName || "HTML"); + }; + setDocument = Sizzle2.setDocument = function(node) { + var hasCompare, subWindow, doc = node ? node.ownerDocument || node : preferredDoc; + if (doc == document3 || doc.nodeType !== 9 || !doc.documentElement) { + return document3; + } + document3 = doc; + docElem = document3.documentElement; + documentIsHTML = !isXML(document3); + if (preferredDoc != document3 && (subWindow = document3.defaultView) && subWindow.top !== subWindow) { + if (subWindow.addEventListener) { + subWindow.addEventListener("unload", unloadHandler, false); + } else if (subWindow.attachEvent) { + subWindow.attachEvent("onunload", unloadHandler); + } + } + support2.scope = assert(function(el) { + docElem.appendChild(el).appendChild(document3.createElement("div")); + return typeof el.querySelectorAll !== "undefined" && !el.querySelectorAll(":scope fieldset div").length; + }); + support2.attributes = assert(function(el) { + el.className = "i"; + return !el.getAttribute("className"); + }); + support2.getElementsByTagName = assert(function(el) { + el.appendChild(document3.createComment("")); + return !el.getElementsByTagName("*").length; + }); + support2.getElementsByClassName = rnative.test(document3.getElementsByClassName); + support2.getById = assert(function(el) { + docElem.appendChild(el).id = expando; + return !document3.getElementsByName || !document3.getElementsByName(expando).length; + }); + if (support2.getById) { + Expr.filter["ID"] = function(id) { + var attrId = id.replace(runescape, funescape); + return function(elem) { + return elem.getAttribute("id") === attrId; + }; + }; + Expr.find["ID"] = function(id, context) { + if (typeof context.getElementById !== "undefined" && documentIsHTML) { + var elem = context.getElementById(id); + return elem ? [elem] : []; + } + }; + } else { + Expr.filter["ID"] = function(id) { + var attrId = id.replace(runescape, funescape); + return function(elem) { + var node2 = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id"); + return node2 && node2.value === attrId; + }; + }; + Expr.find["ID"] = function(id, context) { + if (typeof context.getElementById !== "undefined" && documentIsHTML) { + var node2, i2, elems, elem = context.getElementById(id); + if (elem) { + node2 = elem.getAttributeNode("id"); + if (node2 && node2.value === id) { + return [elem]; + } + elems = context.getElementsByName(id); + i2 = 0; + while (elem = elems[i2++]) { + node2 = elem.getAttributeNode("id"); + if (node2 && node2.value === id) { + return [elem]; + } + } + } + return []; + } + }; + } + Expr.find["TAG"] = support2.getElementsByTagName ? function(tag, context) { + if (typeof context.getElementsByTagName !== "undefined") { + return context.getElementsByTagName(tag); + } else if (support2.qsa) { + return context.querySelectorAll(tag); + } + } : function(tag, context) { + var elem, tmp = [], i2 = 0, results = context.getElementsByTagName(tag); + if (tag === "*") { + while (elem = results[i2++]) { + if (elem.nodeType === 1) { + tmp.push(elem); + } + } + return tmp; + } + return results; + }; + Expr.find["CLASS"] = support2.getElementsByClassName && function(className, context) { + if (typeof context.getElementsByClassName !== "undefined" && documentIsHTML) { + return context.getElementsByClassName(className); + } + }; + rbuggyMatches = []; + rbuggyQSA = []; + if (support2.qsa = rnative.test(document3.querySelectorAll)) { + assert(function(el) { + var input; + docElem.appendChild(el).innerHTML = ""; + if (el.querySelectorAll("[msallowcapture^='']").length) { + rbuggyQSA.push("[*^$]=" + whitespace + `*(?:''|"")`); + } + if (!el.querySelectorAll("[selected]").length) { + rbuggyQSA.push("\\[" + whitespace + "*(?:value|" + booleans + ")"); + } + if (!el.querySelectorAll("[id~=" + expando + "-]").length) { + rbuggyQSA.push("~="); + } + input = document3.createElement("input"); + input.setAttribute("name", ""); + el.appendChild(input); + if (!el.querySelectorAll("[name='']").length) { + rbuggyQSA.push("\\[" + whitespace + "*name" + whitespace + "*=" + whitespace + `*(?:''|"")`); + } + if (!el.querySelectorAll(":checked").length) { + rbuggyQSA.push(":checked"); + } + if (!el.querySelectorAll("a#" + expando + "+*").length) { + rbuggyQSA.push(".#.+[+~]"); + } + el.querySelectorAll("\\\f"); + rbuggyQSA.push("[\\r\\n\\f]"); + }); + assert(function(el) { + el.innerHTML = ""; + var input = document3.createElement("input"); + input.setAttribute("type", "hidden"); + el.appendChild(input).setAttribute("name", "D"); + if (el.querySelectorAll("[name=d]").length) { + rbuggyQSA.push("name" + whitespace + "*[*^$|!~]?="); + } + if (el.querySelectorAll(":enabled").length !== 2) { + rbuggyQSA.push(":enabled", ":disabled"); + } + docElem.appendChild(el).disabled = true; + if (el.querySelectorAll(":disabled").length !== 2) { + rbuggyQSA.push(":enabled", ":disabled"); + } + el.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + if (support2.matchesSelector = rnative.test(matches = docElem.matches || docElem.webkitMatchesSelector || docElem.mozMatchesSelector || docElem.oMatchesSelector || docElem.msMatchesSelector)) { + assert(function(el) { + support2.disconnectedMatch = matches.call(el, "*"); + matches.call(el, "[s!='']:x"); + rbuggyMatches.push("!=", pseudos); + }); + } + rbuggyQSA = rbuggyQSA.length && new RegExp(rbuggyQSA.join("|")); + rbuggyMatches = rbuggyMatches.length && new RegExp(rbuggyMatches.join("|")); + hasCompare = rnative.test(docElem.compareDocumentPosition); + contains = hasCompare || rnative.test(docElem.contains) ? function(a, b) { + var adown = a.nodeType === 9 ? a.documentElement : a, bup = b && b.parentNode; + return a === bup || !!(bup && bup.nodeType === 1 && (adown.contains ? adown.contains(bup) : a.compareDocumentPosition && a.compareDocumentPosition(bup) & 16)); + } : function(a, b) { + if (b) { + while (b = b.parentNode) { + if (b === a) { + return true; + } + } + } + return false; + }; + sortOrder = hasCompare ? function(a, b) { + if (a === b) { + hasDuplicate = true; + return 0; + } + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if (compare) { + return compare; + } + compare = (a.ownerDocument || a) == (b.ownerDocument || b) ? a.compareDocumentPosition(b) : 1; + if (compare & 1 || !support2.sortDetached && b.compareDocumentPosition(a) === compare) { + if (a == document3 || a.ownerDocument == preferredDoc && contains(preferredDoc, a)) { + return -1; + } + if (b == document3 || b.ownerDocument == preferredDoc && contains(preferredDoc, b)) { + return 1; + } + return sortInput ? indexOf2(sortInput, a) - indexOf2(sortInput, b) : 0; + } + return compare & 4 ? -1 : 1; + } : function(a, b) { + if (a === b) { + hasDuplicate = true; + return 0; + } + var cur, i2 = 0, aup = a.parentNode, bup = b.parentNode, ap = [a], bp = [b]; + if (!aup || !bup) { + return a == document3 ? -1 : b == document3 ? 1 : aup ? -1 : bup ? 1 : sortInput ? indexOf2(sortInput, a) - indexOf2(sortInput, b) : 0; + } else if (aup === bup) { + return siblingCheck(a, b); + } + cur = a; + while (cur = cur.parentNode) { + ap.unshift(cur); + } + cur = b; + while (cur = cur.parentNode) { + bp.unshift(cur); + } + while (ap[i2] === bp[i2]) { + i2++; + } + return i2 ? siblingCheck(ap[i2], bp[i2]) : ap[i2] == preferredDoc ? -1 : bp[i2] == preferredDoc ? 1 : 0; + }; + return document3; + }; + Sizzle2.matches = function(expr, elements) { + return Sizzle2(expr, null, null, elements); + }; + Sizzle2.matchesSelector = function(elem, expr) { + setDocument(elem); + if (support2.matchesSelector && documentIsHTML && !nonnativeSelectorCache[expr + " "] && (!rbuggyMatches || !rbuggyMatches.test(expr)) && (!rbuggyQSA || !rbuggyQSA.test(expr))) { + try { + var ret = matches.call(elem, expr); + if (ret || support2.disconnectedMatch || elem.document && elem.document.nodeType !== 11) { + return ret; + } + } catch (e) { + nonnativeSelectorCache(expr, true); + } + } + return Sizzle2(expr, document3, null, [elem]).length > 0; + }; + Sizzle2.contains = function(context, elem) { + if ((context.ownerDocument || context) != document3) { + setDocument(context); + } + return contains(context, elem); + }; + Sizzle2.attr = function(elem, name) { + if ((elem.ownerDocument || elem) != document3) { + setDocument(elem); + } + var fn = Expr.attrHandle[name.toLowerCase()], val = fn && hasOwn2.call(Expr.attrHandle, name.toLowerCase()) ? fn(elem, name, !documentIsHTML) : void 0; + return val !== void 0 ? val : support2.attributes || !documentIsHTML ? elem.getAttribute(name) : (val = elem.getAttributeNode(name)) && val.specified ? val.value : null; + }; + Sizzle2.escape = function(sel) { + return (sel + "").replace(rcssescape, fcssescape); + }; + Sizzle2.error = function(msg) { + throw new Error("Syntax error, unrecognized expression: " + msg); + }; + Sizzle2.uniqueSort = function(results) { + var elem, duplicates = [], j = 0, i2 = 0; + hasDuplicate = !support2.detectDuplicates; + sortInput = !support2.sortStable && results.slice(0); + results.sort(sortOrder); + if (hasDuplicate) { + while (elem = results[i2++]) { + if (elem === results[i2]) { + j = duplicates.push(i2); + } + } + while (j--) { + results.splice(duplicates[j], 1); + } + } + sortInput = null; + return results; + }; + getText = Sizzle2.getText = function(elem) { + var node, ret = "", i2 = 0, nodeType = elem.nodeType; + if (!nodeType) { + while (node = elem[i2++]) { + ret += getText(node); + } + } else if (nodeType === 1 || nodeType === 9 || nodeType === 11) { + if (typeof elem.textContent === "string") { + return elem.textContent; + } else { + for (elem = elem.firstChild; elem; elem = elem.nextSibling) { + ret += getText(elem); + } + } + } else if (nodeType === 3 || nodeType === 4) { + return elem.nodeValue; + } + return ret; + }; + Expr = Sizzle2.selectors = { + cacheLength: 50, + createPseudo: markFunction, + match: matchExpr, + attrHandle: {}, + find: {}, + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + preFilter: { + "ATTR": function(match) { + match[1] = match[1].replace(runescape, funescape); + match[3] = (match[3] || match[4] || match[5] || "").replace(runescape, funescape); + if (match[2] === "~=") { + match[3] = " " + match[3] + " "; + } + return match.slice(0, 4); + }, + "CHILD": function(match) { + match[1] = match[1].toLowerCase(); + if (match[1].slice(0, 3) === "nth") { + if (!match[3]) { + Sizzle2.error(match[0]); + } + match[4] = +(match[4] ? match[5] + (match[6] || 1) : 2 * (match[3] === "even" || match[3] === "odd")); + match[5] = +(match[7] + match[8] || match[3] === "odd"); + } else if (match[3]) { + Sizzle2.error(match[0]); + } + return match; + }, + "PSEUDO": function(match) { + var excess, unquoted = !match[6] && match[2]; + if (matchExpr["CHILD"].test(match[0])) { + return null; + } + if (match[3]) { + match[2] = match[4] || match[5] || ""; + } else if (unquoted && rpseudo.test(unquoted) && (excess = tokenize(unquoted, true)) && (excess = unquoted.indexOf(")", unquoted.length - excess) - unquoted.length)) { + match[0] = match[0].slice(0, excess); + match[2] = unquoted.slice(0, excess); + } + return match.slice(0, 3); + } + }, + filter: { + "TAG": function(nodeNameSelector) { + var nodeName2 = nodeNameSelector.replace(runescape, funescape).toLowerCase(); + return nodeNameSelector === "*" ? function() { + return true; + } : function(elem) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName2; + }; + }, + "CLASS": function(className) { + var pattern = classCache[className + " "]; + return pattern || (pattern = new RegExp("(^|" + whitespace + ")" + className + "(" + whitespace + "|$)")) && classCache(className, function(elem) { + return pattern.test(typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || ""); + }); + }, + "ATTR": function(name, operator, check) { + return function(elem) { + var result = Sizzle2.attr(elem, name); + if (result == null) { + return operator === "!="; + } + if (!operator) { + return true; + } + result += ""; + return operator === "=" ? result === check : operator === "!=" ? result !== check : operator === "^=" ? check && result.indexOf(check) === 0 : operator === "*=" ? check && result.indexOf(check) > -1 : operator === "$=" ? check && result.slice(-check.length) === check : operator === "~=" ? (" " + result.replace(rwhitespace, " ") + " ").indexOf(check) > -1 : operator === "|=" ? result === check || result.slice(0, check.length + 1) === check + "-" : false; + }; + }, + "CHILD": function(type, what, _argument, first, last) { + var simple = type.slice(0, 3) !== "nth", forward = type.slice(-4) !== "last", ofType = what === "of-type"; + return first === 1 && last === 0 ? function(elem) { + return !!elem.parentNode; + } : function(elem, _context, xml) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, dir2 = simple !== forward ? "nextSibling" : "previousSibling", parent = elem.parentNode, name = ofType && elem.nodeName.toLowerCase(), useCache = !xml && !ofType, diff = false; + if (parent) { + if (simple) { + while (dir2) { + node = elem; + while (node = node[dir2]) { + if (ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1) { + return false; + } + } + start = dir2 = type === "only" && !start && "nextSibling"; + } + return true; + } + start = [forward ? parent.firstChild : parent.lastChild]; + if (forward && useCache) { + node = parent; + outerCache = node[expando] || (node[expando] = {}); + uniqueCache = outerCache[node.uniqueID] || (outerCache[node.uniqueID] = {}); + cache = uniqueCache[type] || []; + nodeIndex = cache[0] === dirruns && cache[1]; + diff = nodeIndex && cache[2]; + node = nodeIndex && parent.childNodes[nodeIndex]; + while (node = ++nodeIndex && node && node[dir2] || (diff = nodeIndex = 0) || start.pop()) { + if (node.nodeType === 1 && ++diff && node === elem) { + uniqueCache[type] = [dirruns, nodeIndex, diff]; + break; + } + } + } else { + if (useCache) { + node = elem; + outerCache = node[expando] || (node[expando] = {}); + uniqueCache = outerCache[node.uniqueID] || (outerCache[node.uniqueID] = {}); + cache = uniqueCache[type] || []; + nodeIndex = cache[0] === dirruns && cache[1]; + diff = nodeIndex; + } + if (diff === false) { + while (node = ++nodeIndex && node && node[dir2] || (diff = nodeIndex = 0) || start.pop()) { + if ((ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1) && ++diff) { + if (useCache) { + outerCache = node[expando] || (node[expando] = {}); + uniqueCache = outerCache[node.uniqueID] || (outerCache[node.uniqueID] = {}); + uniqueCache[type] = [dirruns, diff]; + } + if (node === elem) { + break; + } + } + } + } + } + diff -= last; + return diff === first || diff % first === 0 && diff / first >= 0; + } + }; + }, + "PSEUDO": function(pseudo, argument) { + var args, fn = Expr.pseudos[pseudo] || Expr.setFilters[pseudo.toLowerCase()] || Sizzle2.error("unsupported pseudo: " + pseudo); + if (fn[expando]) { + return fn(argument); + } + if (fn.length > 1) { + args = [pseudo, pseudo, "", argument]; + return Expr.setFilters.hasOwnProperty(pseudo.toLowerCase()) ? markFunction(function(seed, matches2) { + var idx, matched = fn(seed, argument), i2 = matched.length; + while (i2--) { + idx = indexOf2(seed, matched[i2]); + seed[idx] = !(matches2[idx] = matched[i2]); + } + }) : function(elem) { + return fn(elem, 0, args); + }; + } + return fn; + } + }, + pseudos: { + "not": markFunction(function(selector) { + var input = [], results = [], matcher = compile(selector.replace(rtrim2, "$1")); + return matcher[expando] ? markFunction(function(seed, matches2, _context, xml) { + var elem, unmatched = matcher(seed, null, xml, []), i2 = seed.length; + while (i2--) { + if (elem = unmatched[i2]) { + seed[i2] = !(matches2[i2] = elem); + } + } + }) : function(elem, _context, xml) { + input[0] = elem; + matcher(input, null, xml, results); + input[0] = null; + return !results.pop(); + }; + }), + "has": markFunction(function(selector) { + return function(elem) { + return Sizzle2(selector, elem).length > 0; + }; + }), + "contains": markFunction(function(text) { + text = text.replace(runescape, funescape); + return function(elem) { + return (elem.textContent || getText(elem)).indexOf(text) > -1; + }; + }), + "lang": markFunction(function(lang) { + if (!ridentifier.test(lang || "")) { + Sizzle2.error("unsupported lang: " + lang); + } + lang = lang.replace(runescape, funescape).toLowerCase(); + return function(elem) { + var elemLang; + do { + if (elemLang = documentIsHTML ? elem.lang : elem.getAttribute("xml:lang") || elem.getAttribute("lang")) { + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf(lang + "-") === 0; + } + } while ((elem = elem.parentNode) && elem.nodeType === 1); + return false; + }; + }), + "target": function(elem) { + var hash = window3.location && window3.location.hash; + return hash && hash.slice(1) === elem.id; + }, + "root": function(elem) { + return elem === docElem; + }, + "focus": function(elem) { + return elem === document3.activeElement && (!document3.hasFocus || document3.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + "enabled": createDisabledPseudo(false), + "disabled": createDisabledPseudo(true), + "checked": function(elem) { + var nodeName2 = elem.nodeName.toLowerCase(); + return nodeName2 === "input" && !!elem.checked || nodeName2 === "option" && !!elem.selected; + }, + "selected": function(elem) { + if (elem.parentNode) { + elem.parentNode.selectedIndex; + } + return elem.selected === true; + }, + "empty": function(elem) { + for (elem = elem.firstChild; elem; elem = elem.nextSibling) { + if (elem.nodeType < 6) { + return false; + } + } + return true; + }, + "parent": function(elem) { + return !Expr.pseudos["empty"](elem); + }, + "header": function(elem) { + return rheader.test(elem.nodeName); + }, + "input": function(elem) { + return rinputs.test(elem.nodeName); + }, + "button": function(elem) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + "text": function(elem) { + var attr; + return elem.nodeName.toLowerCase() === "input" && elem.type === "text" && ((attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text"); + }, + "first": createPositionalPseudo(function() { + return [0]; + }), + "last": createPositionalPseudo(function(_matchIndexes, length) { + return [length - 1]; + }), + "eq": createPositionalPseudo(function(_matchIndexes, length, argument) { + return [argument < 0 ? argument + length : argument]; + }), + "even": createPositionalPseudo(function(matchIndexes, length) { + var i2 = 0; + for (; i2 < length; i2 += 2) { + matchIndexes.push(i2); + } + return matchIndexes; + }), + "odd": createPositionalPseudo(function(matchIndexes, length) { + var i2 = 1; + for (; i2 < length; i2 += 2) { + matchIndexes.push(i2); + } + return matchIndexes; + }), + "lt": createPositionalPseudo(function(matchIndexes, length, argument) { + var i2 = argument < 0 ? argument + length : argument > length ? length : argument; + for (; --i2 >= 0; ) { + matchIndexes.push(i2); + } + return matchIndexes; + }), + "gt": createPositionalPseudo(function(matchIndexes, length, argument) { + var i2 = argument < 0 ? argument + length : argument; + for (; ++i2 < length; ) { + matchIndexes.push(i2); + } + return matchIndexes; + }) + } + }; + Expr.pseudos["nth"] = Expr.pseudos["eq"]; + for (i in { radio: true, checkbox: true, file: true, password: true, image: true }) { + Expr.pseudos[i] = createInputPseudo(i); + } + for (i in { submit: true, reset: true }) { + Expr.pseudos[i] = createButtonPseudo(i); + } + function setFilters() { + } + setFilters.prototype = Expr.filters = Expr.pseudos; + Expr.setFilters = new setFilters(); + tokenize = Sizzle2.tokenize = function(selector, parseOnly) { + var matched, match, tokens, type, soFar, groups, preFilters, cached = tokenCache[selector + " "]; + if (cached) { + return parseOnly ? 0 : cached.slice(0); + } + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + while (soFar) { + if (!matched || (match = rcomma.exec(soFar))) { + if (match) { + soFar = soFar.slice(match[0].length) || soFar; + } + groups.push(tokens = []); + } + matched = false; + if (match = rcombinators.exec(soFar)) { + matched = match.shift(); + tokens.push({ + value: matched, + type: match[0].replace(rtrim2, " ") + }); + soFar = soFar.slice(matched.length); + } + for (type in Expr.filter) { + if ((match = matchExpr[type].exec(soFar)) && (!preFilters[type] || (match = preFilters[type](match)))) { + matched = match.shift(); + tokens.push({ + value: matched, + type, + matches: match + }); + soFar = soFar.slice(matched.length); + } + } + if (!matched) { + break; + } + } + return parseOnly ? soFar.length : soFar ? Sizzle2.error(selector) : tokenCache(selector, groups).slice(0); + }; + function toSelector(tokens) { + var i2 = 0, len = tokens.length, selector = ""; + for (; i2 < len; i2++) { + selector += tokens[i2].value; + } + return selector; + } + function addCombinator(matcher, combinator, base) { + var dir2 = combinator.dir, skip = combinator.next, key = skip || dir2, checkNonElements = base && key === "parentNode", doneName = done++; + return combinator.first ? function(elem, context, xml) { + while (elem = elem[dir2]) { + if (elem.nodeType === 1 || checkNonElements) { + return matcher(elem, context, xml); + } + } + return false; + } : function(elem, context, xml) { + var oldCache, uniqueCache, outerCache, newCache = [dirruns, doneName]; + if (xml) { + while (elem = elem[dir2]) { + if (elem.nodeType === 1 || checkNonElements) { + if (matcher(elem, context, xml)) { + return true; + } + } + } + } else { + while (elem = elem[dir2]) { + if (elem.nodeType === 1 || checkNonElements) { + outerCache = elem[expando] || (elem[expando] = {}); + uniqueCache = outerCache[elem.uniqueID] || (outerCache[elem.uniqueID] = {}); + if (skip && skip === elem.nodeName.toLowerCase()) { + elem = elem[dir2] || elem; + } else if ((oldCache = uniqueCache[key]) && oldCache[0] === dirruns && oldCache[1] === doneName) { + return newCache[2] = oldCache[2]; + } else { + uniqueCache[key] = newCache; + if (newCache[2] = matcher(elem, context, xml)) { + return true; + } + } + } + } + } + return false; + }; + } + function elementMatcher(matchers) { + return matchers.length > 1 ? function(elem, context, xml) { + var i2 = matchers.length; + while (i2--) { + if (!matchers[i2](elem, context, xml)) { + return false; + } + } + return true; + } : matchers[0]; + } + function multipleContexts(selector, contexts, results) { + var i2 = 0, len = contexts.length; + for (; i2 < len; i2++) { + Sizzle2(selector, contexts[i2], results); + } + return results; + } + function condense(unmatched, map, filter, context, xml) { + var elem, newUnmatched = [], i2 = 0, len = unmatched.length, mapped = map != null; + for (; i2 < len; i2++) { + if (elem = unmatched[i2]) { + if (!filter || filter(elem, context, xml)) { + newUnmatched.push(elem); + if (mapped) { + map.push(i2); + } + } + } + } + return newUnmatched; + } + function setMatcher(preFilter, selector, matcher, postFilter, postFinder, postSelector) { + if (postFilter && !postFilter[expando]) { + postFilter = setMatcher(postFilter); + } + if (postFinder && !postFinder[expando]) { + postFinder = setMatcher(postFinder, postSelector); + } + return markFunction(function(seed, results, context, xml) { + var temp, i2, elem, preMap = [], postMap = [], preexisting = results.length, elems = seed || multipleContexts(selector || "*", context.nodeType ? [context] : context, []), matcherIn = preFilter && (seed || !selector) ? condense(elems, preMap, preFilter, context, xml) : elems, matcherOut = matcher ? postFinder || (seed ? preFilter : preexisting || postFilter) ? [] : results : matcherIn; + if (matcher) { + matcher(matcherIn, matcherOut, context, xml); + } + if (postFilter) { + temp = condense(matcherOut, postMap); + postFilter(temp, [], context, xml); + i2 = temp.length; + while (i2--) { + if (elem = temp[i2]) { + matcherOut[postMap[i2]] = !(matcherIn[postMap[i2]] = elem); + } + } + } + if (seed) { + if (postFinder || preFilter) { + if (postFinder) { + temp = []; + i2 = matcherOut.length; + while (i2--) { + if (elem = matcherOut[i2]) { + temp.push(matcherIn[i2] = elem); + } + } + postFinder(null, matcherOut = [], temp, xml); + } + i2 = matcherOut.length; + while (i2--) { + if ((elem = matcherOut[i2]) && (temp = postFinder ? indexOf2(seed, elem) : preMap[i2]) > -1) { + seed[temp] = !(results[temp] = elem); + } + } + } + } else { + matcherOut = condense(matcherOut === results ? matcherOut.splice(preexisting, matcherOut.length) : matcherOut); + if (postFinder) { + postFinder(null, results, matcherOut, xml); + } else { + push2.apply(results, matcherOut); + } + } + }); + } + function matcherFromTokens(tokens) { + var checkContext, matcher, j, len = tokens.length, leadingRelative = Expr.relative[tokens[0].type], implicitRelative = leadingRelative || Expr.relative[" "], i2 = leadingRelative ? 1 : 0, matchContext = addCombinator(function(elem) { + return elem === checkContext; + }, implicitRelative, true), matchAnyContext = addCombinator(function(elem) { + return indexOf2(checkContext, elem) > -1; + }, implicitRelative, true), matchers = [function(elem, context, xml) { + var ret = !leadingRelative && (xml || context !== outermostContext) || ((checkContext = context).nodeType ? matchContext(elem, context, xml) : matchAnyContext(elem, context, xml)); + checkContext = null; + return ret; + }]; + for (; i2 < len; i2++) { + if (matcher = Expr.relative[tokens[i2].type]) { + matchers = [addCombinator(elementMatcher(matchers), matcher)]; + } else { + matcher = Expr.filter[tokens[i2].type].apply(null, tokens[i2].matches); + if (matcher[expando]) { + j = ++i2; + for (; j < len; j++) { + if (Expr.relative[tokens[j].type]) { + break; + } + } + return setMatcher(i2 > 1 && elementMatcher(matchers), i2 > 1 && toSelector(tokens.slice(0, i2 - 1).concat({ value: tokens[i2 - 2].type === " " ? "*" : "" })).replace(rtrim2, "$1"), matcher, i2 < j && matcherFromTokens(tokens.slice(i2, j)), j < len && matcherFromTokens(tokens = tokens.slice(j)), j < len && toSelector(tokens)); + } + matchers.push(matcher); + } + } + return elementMatcher(matchers); + } + function matcherFromGroupMatchers(elementMatchers, setMatchers) { + var bySet = setMatchers.length > 0, byElement = elementMatchers.length > 0, superMatcher = function(seed, context, xml, results, outermost) { + var elem, j, matcher, matchedCount = 0, i2 = "0", unmatched = seed && [], setMatched = [], contextBackup = outermostContext, elems = seed || byElement && Expr.find["TAG"]("*", outermost), dirrunsUnique = dirruns += contextBackup == null ? 1 : Math.random() || 0.1, len = elems.length; + if (outermost) { + outermostContext = context == document3 || context || outermost; + } + for (; i2 !== len && (elem = elems[i2]) != null; i2++) { + if (byElement && elem) { + j = 0; + if (!context && elem.ownerDocument != document3) { + setDocument(elem); + xml = !documentIsHTML; + } + while (matcher = elementMatchers[j++]) { + if (matcher(elem, context || document3, xml)) { + results.push(elem); + break; + } + } + if (outermost) { + dirruns = dirrunsUnique; + } + } + if (bySet) { + if (elem = !matcher && elem) { + matchedCount--; + } + if (seed) { + unmatched.push(elem); + } + } + } + matchedCount += i2; + if (bySet && i2 !== matchedCount) { + j = 0; + while (matcher = setMatchers[j++]) { + matcher(unmatched, setMatched, context, xml); + } + if (seed) { + if (matchedCount > 0) { + while (i2--) { + if (!(unmatched[i2] || setMatched[i2])) { + setMatched[i2] = pop.call(results); + } + } + } + setMatched = condense(setMatched); + } + push2.apply(results, setMatched); + if (outermost && !seed && setMatched.length > 0 && matchedCount + setMatchers.length > 1) { + Sizzle2.uniqueSort(results); + } + } + if (outermost) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + return unmatched; + }; + return bySet ? markFunction(superMatcher) : superMatcher; + } + compile = Sizzle2.compile = function(selector, match) { + var i2, setMatchers = [], elementMatchers = [], cached = compilerCache[selector + " "]; + if (!cached) { + if (!match) { + match = tokenize(selector); + } + i2 = match.length; + while (i2--) { + cached = matcherFromTokens(match[i2]); + if (cached[expando]) { + setMatchers.push(cached); + } else { + elementMatchers.push(cached); + } + } + cached = compilerCache(selector, matcherFromGroupMatchers(elementMatchers, setMatchers)); + cached.selector = selector; + } + return cached; + }; + select = Sizzle2.select = function(selector, context, results, seed) { + var i2, tokens, token, type, find, compiled = typeof selector === "function" && selector, match = !seed && tokenize(selector = compiled.selector || selector); + results = results || []; + if (match.length === 1) { + tokens = match[0] = match[0].slice(0); + if (tokens.length > 2 && (token = tokens[0]).type === "ID" && context.nodeType === 9 && documentIsHTML && Expr.relative[tokens[1].type]) { + context = (Expr.find["ID"](token.matches[0].replace(runescape, funescape), context) || [])[0]; + if (!context) { + return results; + } else if (compiled) { + context = context.parentNode; + } + selector = selector.slice(tokens.shift().value.length); + } + i2 = matchExpr["needsContext"].test(selector) ? 0 : tokens.length; + while (i2--) { + token = tokens[i2]; + if (Expr.relative[type = token.type]) { + break; + } + if (find = Expr.find[type]) { + if (seed = find(token.matches[0].replace(runescape, funescape), rsibling.test(tokens[0].type) && testContext(context.parentNode) || context)) { + tokens.splice(i2, 1); + selector = seed.length && toSelector(tokens); + if (!selector) { + push2.apply(results, seed); + return results; + } + break; + } + } + } + } + (compiled || compile(selector, match))(seed, context, !documentIsHTML, results, !context || rsibling.test(selector) && testContext(context.parentNode) || context); + return results; + }; + support2.sortStable = expando.split("").sort(sortOrder).join("") === expando; + support2.detectDuplicates = !!hasDuplicate; + setDocument(); + support2.sortDetached = assert(function(el) { + return el.compareDocumentPosition(document3.createElement("fieldset")) & 1; + }); + if (!assert(function(el) { + el.innerHTML = ""; + return el.firstChild.getAttribute("href") === "#"; + })) { + addHandle("type|href|height|width", function(elem, name, isXML2) { + if (!isXML2) { + return elem.getAttribute(name, name.toLowerCase() === "type" ? 1 : 2); + } + }); + } + if (!support2.attributes || !assert(function(el) { + el.innerHTML = ""; + el.firstChild.setAttribute("value", ""); + return el.firstChild.getAttribute("value") === ""; + })) { + addHandle("value", function(elem, _name, isXML2) { + if (!isXML2 && elem.nodeName.toLowerCase() === "input") { + return elem.defaultValue; + } + }); + } + if (!assert(function(el) { + return el.getAttribute("disabled") == null; + })) { + addHandle(booleans, function(elem, name, isXML2) { + var val; + if (!isXML2) { + return elem[name] === true ? name.toLowerCase() : (val = elem.getAttributeNode(name)) && val.specified ? val.value : null; + } + }); + } + return Sizzle2; + }(window2); + jQuery2.find = Sizzle; + jQuery2.expr = Sizzle.selectors; + jQuery2.expr[":"] = jQuery2.expr.pseudos; + jQuery2.uniqueSort = jQuery2.unique = Sizzle.uniqueSort; + jQuery2.text = Sizzle.getText; + jQuery2.isXMLDoc = Sizzle.isXML; + jQuery2.contains = Sizzle.contains; + jQuery2.escapeSelector = Sizzle.escape; + var dir = function(elem, dir2, until) { + var matched = [], truncate = until !== void 0; + while ((elem = elem[dir2]) && elem.nodeType !== 9) { + if (elem.nodeType === 1) { + if (truncate && jQuery2(elem).is(until)) { + break; + } + matched.push(elem); + } + } + return matched; + }; + var siblings = function(n, elem) { + var matched = []; + for (; n; n = n.nextSibling) { + if (n.nodeType === 1 && n !== elem) { + matched.push(n); + } + } + return matched; + }; + var rneedsContext = jQuery2.expr.match.needsContext; + function nodeName(elem, name) { + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + } + var rsingleTag = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i; + function winnow(elements, qualifier, not) { + if (isFunction(qualifier)) { + return jQuery2.grep(elements, function(elem, i) { + return !!qualifier.call(elem, i, elem) !== not; + }); + } + if (qualifier.nodeType) { + return jQuery2.grep(elements, function(elem) { + return elem === qualifier !== not; + }); + } + if (typeof qualifier !== "string") { + return jQuery2.grep(elements, function(elem) { + return indexOf.call(qualifier, elem) > -1 !== not; + }); + } + return jQuery2.filter(qualifier, elements, not); + } + jQuery2.filter = function(expr, elems, not) { + var elem = elems[0]; + if (not) { + expr = ":not(" + expr + ")"; + } + if (elems.length === 1 && elem.nodeType === 1) { + return jQuery2.find.matchesSelector(elem, expr) ? [elem] : []; + } + return jQuery2.find.matches(expr, jQuery2.grep(elems, function(elem2) { + return elem2.nodeType === 1; + })); + }; + jQuery2.fn.extend({ + find: function(selector) { + var i, ret, len = this.length, self2 = this; + if (typeof selector !== "string") { + return this.pushStack(jQuery2(selector).filter(function() { + for (i = 0; i < len; i++) { + if (jQuery2.contains(self2[i], this)) { + return true; + } + } + })); + } + ret = this.pushStack([]); + for (i = 0; i < len; i++) { + jQuery2.find(selector, self2[i], ret); + } + return len > 1 ? jQuery2.uniqueSort(ret) : ret; + }, + filter: function(selector) { + return this.pushStack(winnow(this, selector || [], false)); + }, + not: function(selector) { + return this.pushStack(winnow(this, selector || [], true)); + }, + is: function(selector) { + return !!winnow(this, typeof selector === "string" && rneedsContext.test(selector) ? jQuery2(selector) : selector || [], false).length; + } + }); + var rootjQuery, rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, init = jQuery2.fn.init = function(selector, context, root) { + var match, elem; + if (!selector) { + return this; + } + root = root || rootjQuery; + if (typeof selector === "string") { + if (selector[0] === "<" && selector[selector.length - 1] === ">" && selector.length >= 3) { + match = [null, selector, null]; + } else { + match = rquickExpr.exec(selector); + } + if (match && (match[1] || !context)) { + if (match[1]) { + context = context instanceof jQuery2 ? context[0] : context; + jQuery2.merge(this, jQuery2.parseHTML(match[1], context && context.nodeType ? context.ownerDocument || context : document2, true)); + if (rsingleTag.test(match[1]) && jQuery2.isPlainObject(context)) { + for (match in context) { + if (isFunction(this[match])) { + this[match](context[match]); + } else { + this.attr(match, context[match]); + } + } + } + return this; + } else { + elem = document2.getElementById(match[2]); + if (elem) { + this[0] = elem; + this.length = 1; + } + return this; + } + } else if (!context || context.jquery) { + return (context || root).find(selector); + } else { + return this.constructor(context).find(selector); + } + } else if (selector.nodeType) { + this[0] = selector; + this.length = 1; + return this; + } else if (isFunction(selector)) { + return root.ready !== void 0 ? root.ready(selector) : selector(jQuery2); + } + return jQuery2.makeArray(selector, this); + }; + init.prototype = jQuery2.fn; + rootjQuery = jQuery2(document2); + var rparentsprev = /^(?:parents|prev(?:Until|All))/, guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + jQuery2.fn.extend({ + has: function(target) { + var targets = jQuery2(target, this), l = targets.length; + return this.filter(function() { + var i = 0; + for (; i < l; i++) { + if (jQuery2.contains(this, targets[i])) { + return true; + } + } + }); + }, + closest: function(selectors, context) { + var cur, i = 0, l = this.length, matched = [], targets = typeof selectors !== "string" && jQuery2(selectors); + if (!rneedsContext.test(selectors)) { + for (; i < l; i++) { + for (cur = this[i]; cur && cur !== context; cur = cur.parentNode) { + if (cur.nodeType < 11 && (targets ? targets.index(cur) > -1 : cur.nodeType === 1 && jQuery2.find.matchesSelector(cur, selectors))) { + matched.push(cur); + break; + } + } + } + } + return this.pushStack(matched.length > 1 ? jQuery2.uniqueSort(matched) : matched); + }, + index: function(elem) { + if (!elem) { + return this[0] && this[0].parentNode ? this.first().prevAll().length : -1; + } + if (typeof elem === "string") { + return indexOf.call(jQuery2(elem), this[0]); + } + return indexOf.call(this, elem.jquery ? elem[0] : elem); + }, + add: function(selector, context) { + return this.pushStack(jQuery2.uniqueSort(jQuery2.merge(this.get(), jQuery2(selector, context)))); + }, + addBack: function(selector) { + return this.add(selector == null ? this.prevObject : this.prevObject.filter(selector)); + } + }); + function sibling(cur, dir2) { + while ((cur = cur[dir2]) && cur.nodeType !== 1) { + } + return cur; + } + jQuery2.each({ + parent: function(elem) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function(elem) { + return dir(elem, "parentNode"); + }, + parentsUntil: function(elem, _i, until) { + return dir(elem, "parentNode", until); + }, + next: function(elem) { + return sibling(elem, "nextSibling"); + }, + prev: function(elem) { + return sibling(elem, "previousSibling"); + }, + nextAll: function(elem) { + return dir(elem, "nextSibling"); + }, + prevAll: function(elem) { + return dir(elem, "previousSibling"); + }, + nextUntil: function(elem, _i, until) { + return dir(elem, "nextSibling", until); + }, + prevUntil: function(elem, _i, until) { + return dir(elem, "previousSibling", until); + }, + siblings: function(elem) { + return siblings((elem.parentNode || {}).firstChild, elem); + }, + children: function(elem) { + return siblings(elem.firstChild); + }, + contents: function(elem) { + if (elem.contentDocument != null && getProto(elem.contentDocument)) { + return elem.contentDocument; + } + if (nodeName(elem, "template")) { + elem = elem.content || elem; + } + return jQuery2.merge([], elem.childNodes); + } + }, function(name, fn) { + jQuery2.fn[name] = function(until, selector) { + var matched = jQuery2.map(this, fn, until); + if (name.slice(-5) !== "Until") { + selector = until; + } + if (selector && typeof selector === "string") { + matched = jQuery2.filter(selector, matched); + } + if (this.length > 1) { + if (!guaranteedUnique[name]) { + jQuery2.uniqueSort(matched); + } + if (rparentsprev.test(name)) { + matched.reverse(); + } + } + return this.pushStack(matched); + }; + }); + var rnothtmlwhite = /[^\x20\t\r\n\f]+/g; + function createOptions(options) { + var object = {}; + jQuery2.each(options.match(rnothtmlwhite) || [], function(_, flag) { + object[flag] = true; + }); + return object; + } + jQuery2.Callbacks = function(options) { + options = typeof options === "string" ? createOptions(options) : jQuery2.extend({}, options); + var firing, memory, fired, locked, list = [], queue = [], firingIndex = -1, fire = function() { + locked = locked || options.once; + fired = firing = true; + for (; queue.length; firingIndex = -1) { + memory = queue.shift(); + while (++firingIndex < list.length) { + if (list[firingIndex].apply(memory[0], memory[1]) === false && options.stopOnFalse) { + firingIndex = list.length; + memory = false; + } + } + } + if (!options.memory) { + memory = false; + } + firing = false; + if (locked) { + if (memory) { + list = []; + } else { + list = ""; + } + } + }, self2 = { + add: function() { + if (list) { + if (memory && !firing) { + firingIndex = list.length - 1; + queue.push(memory); + } + (function add(args) { + jQuery2.each(args, function(_, arg) { + if (isFunction(arg)) { + if (!options.unique || !self2.has(arg)) { + list.push(arg); + } + } else if (arg && arg.length && toType(arg) !== "string") { + add(arg); + } + }); + })(arguments); + if (memory && !firing) { + fire(); + } + } + return this; + }, + remove: function() { + jQuery2.each(arguments, function(_, arg) { + var index; + while ((index = jQuery2.inArray(arg, list, index)) > -1) { + list.splice(index, 1); + if (index <= firingIndex) { + firingIndex--; + } + } + }); + return this; + }, + has: function(fn) { + return fn ? jQuery2.inArray(fn, list) > -1 : list.length > 0; + }, + empty: function() { + if (list) { + list = []; + } + return this; + }, + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + lock: function() { + locked = queue = []; + if (!memory && !firing) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + fireWith: function(context, args) { + if (!locked) { + args = args || []; + args = [context, args.slice ? args.slice() : args]; + queue.push(args); + if (!firing) { + fire(); + } + } + return this; + }, + fire: function() { + self2.fireWith(this, arguments); + return this; + }, + fired: function() { + return !!fired; + } + }; + return self2; + }; + function Identity(v) { + return v; + } + function Thrower(ex) { + throw ex; + } + function adoptValue(value, resolve, reject, noValue) { + var method; + try { + if (value && isFunction(method = value.promise)) { + method.call(value).done(resolve).fail(reject); + } else if (value && isFunction(method = value.then)) { + method.call(value, resolve, reject); + } else { + resolve.apply(void 0, [value].slice(noValue)); + } + } catch (value2) { + reject.apply(void 0, [value2]); + } + } + jQuery2.extend({ + Deferred: function(func) { + var tuples = [ + [ + "notify", + "progress", + jQuery2.Callbacks("memory"), + jQuery2.Callbacks("memory"), + 2 + ], + [ + "resolve", + "done", + jQuery2.Callbacks("once memory"), + jQuery2.Callbacks("once memory"), + 0, + "resolved" + ], + [ + "reject", + "fail", + jQuery2.Callbacks("once memory"), + jQuery2.Callbacks("once memory"), + 1, + "rejected" + ] + ], state = "pending", promise = { + state: function() { + return state; + }, + always: function() { + deferred.done(arguments).fail(arguments); + return this; + }, + "catch": function(fn) { + return promise.then(null, fn); + }, + pipe: function() { + var fns = arguments; + return jQuery2.Deferred(function(newDefer) { + jQuery2.each(tuples, function(_i, tuple) { + var fn = isFunction(fns[tuple[4]]) && fns[tuple[4]]; + deferred[tuple[1]](function() { + var returned = fn && fn.apply(this, arguments); + if (returned && isFunction(returned.promise)) { + returned.promise().progress(newDefer.notify).done(newDefer.resolve).fail(newDefer.reject); + } else { + newDefer[tuple[0] + "With"](this, fn ? [returned] : arguments); + } + }); + }); + fns = null; + }).promise(); + }, + then: function(onFulfilled, onRejected, onProgress) { + var maxDepth = 0; + function resolve(depth, deferred2, handler, special) { + return function() { + var that = this, args = arguments, mightThrow = function() { + var returned, then; + if (depth < maxDepth) { + return; + } + returned = handler.apply(that, args); + if (returned === deferred2.promise()) { + throw new TypeError("Thenable self-resolution"); + } + then = returned && (typeof returned === "object" || typeof returned === "function") && returned.then; + if (isFunction(then)) { + if (special) { + then.call(returned, resolve(maxDepth, deferred2, Identity, special), resolve(maxDepth, deferred2, Thrower, special)); + } else { + maxDepth++; + then.call(returned, resolve(maxDepth, deferred2, Identity, special), resolve(maxDepth, deferred2, Thrower, special), resolve(maxDepth, deferred2, Identity, deferred2.notifyWith)); + } + } else { + if (handler !== Identity) { + that = void 0; + args = [returned]; + } + (special || deferred2.resolveWith)(that, args); + } + }, process = special ? mightThrow : function() { + try { + mightThrow(); + } catch (e) { + if (jQuery2.Deferred.exceptionHook) { + jQuery2.Deferred.exceptionHook(e, process.stackTrace); + } + if (depth + 1 >= maxDepth) { + if (handler !== Thrower) { + that = void 0; + args = [e]; + } + deferred2.rejectWith(that, args); + } + } + }; + if (depth) { + process(); + } else { + if (jQuery2.Deferred.getStackHook) { + process.stackTrace = jQuery2.Deferred.getStackHook(); + } + window2.setTimeout(process); + } + }; + } + return jQuery2.Deferred(function(newDefer) { + tuples[0][3].add(resolve(0, newDefer, isFunction(onProgress) ? onProgress : Identity, newDefer.notifyWith)); + tuples[1][3].add(resolve(0, newDefer, isFunction(onFulfilled) ? onFulfilled : Identity)); + tuples[2][3].add(resolve(0, newDefer, isFunction(onRejected) ? onRejected : Thrower)); + }).promise(); + }, + promise: function(obj) { + return obj != null ? jQuery2.extend(obj, promise) : promise; + } + }, deferred = {}; + jQuery2.each(tuples, function(i, tuple) { + var list = tuple[2], stateString = tuple[5]; + promise[tuple[1]] = list.add; + if (stateString) { + list.add(function() { + state = stateString; + }, tuples[3 - i][2].disable, tuples[3 - i][3].disable, tuples[0][2].lock, tuples[0][3].lock); + } + list.add(tuple[3].fire); + deferred[tuple[0]] = function() { + deferred[tuple[0] + "With"](this === deferred ? void 0 : this, arguments); + return this; + }; + deferred[tuple[0] + "With"] = list.fireWith; + }); + promise.promise(deferred); + if (func) { + func.call(deferred, deferred); + } + return deferred; + }, + when: function(singleValue) { + var remaining = arguments.length, i = remaining, resolveContexts = Array(i), resolveValues = slice.call(arguments), primary = jQuery2.Deferred(), updateFunc = function(i2) { + return function(value) { + resolveContexts[i2] = this; + resolveValues[i2] = arguments.length > 1 ? slice.call(arguments) : value; + if (!--remaining) { + primary.resolveWith(resolveContexts, resolveValues); + } + }; + }; + if (remaining <= 1) { + adoptValue(singleValue, primary.done(updateFunc(i)).resolve, primary.reject, !remaining); + if (primary.state() === "pending" || isFunction(resolveValues[i] && resolveValues[i].then)) { + return primary.then(); + } + } + while (i--) { + adoptValue(resolveValues[i], updateFunc(i), primary.reject); + } + return primary.promise(); + } + }); + var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + jQuery2.Deferred.exceptionHook = function(error, stack) { + if (window2.console && window2.console.warn && error && rerrorNames.test(error.name)) { + window2.console.warn("jQuery.Deferred exception: " + error.message, error.stack, stack); + } + }; + jQuery2.readyException = function(error) { + window2.setTimeout(function() { + throw error; + }); + }; + var readyList = jQuery2.Deferred(); + jQuery2.fn.ready = function(fn) { + readyList.then(fn).catch(function(error) { + jQuery2.readyException(error); + }); + return this; + }; + jQuery2.extend({ + isReady: false, + readyWait: 1, + ready: function(wait) { + if (wait === true ? --jQuery2.readyWait : jQuery2.isReady) { + return; + } + jQuery2.isReady = true; + if (wait !== true && --jQuery2.readyWait > 0) { + return; + } + readyList.resolveWith(document2, [jQuery2]); + } + }); + jQuery2.ready.then = readyList.then; + function completed() { + document2.removeEventListener("DOMContentLoaded", completed); + window2.removeEventListener("load", completed); + jQuery2.ready(); + } + if (document2.readyState === "complete" || document2.readyState !== "loading" && !document2.documentElement.doScroll) { + window2.setTimeout(jQuery2.ready); + } else { + document2.addEventListener("DOMContentLoaded", completed); + window2.addEventListener("load", completed); + } + var access = function(elems, fn, key, value, chainable, emptyGet, raw) { + var i = 0, len = elems.length, bulk = key == null; + if (toType(key) === "object") { + chainable = true; + for (i in key) { + access(elems, fn, i, key[i], true, emptyGet, raw); + } + } else if (value !== void 0) { + chainable = true; + if (!isFunction(value)) { + raw = true; + } + if (bulk) { + if (raw) { + fn.call(elems, value); + fn = null; + } else { + bulk = fn; + fn = function(elem, _key, value2) { + return bulk.call(jQuery2(elem), value2); + }; + } + } + if (fn) { + for (; i < len; i++) { + fn(elems[i], key, raw ? value : value.call(elems[i], i, fn(elems[i], key))); + } + } + } + if (chainable) { + return elems; + } + if (bulk) { + return fn.call(elems); + } + return len ? fn(elems[0], key) : emptyGet; + }; + var rmsPrefix = /^-ms-/, rdashAlpha = /-([a-z])/g; + function fcamelCase(_all, letter) { + return letter.toUpperCase(); + } + function camelCase(string) { + return string.replace(rmsPrefix, "ms-").replace(rdashAlpha, fcamelCase); + } + var acceptData = function(owner) { + return owner.nodeType === 1 || owner.nodeType === 9 || !+owner.nodeType; + }; + function Data() { + this.expando = jQuery2.expando + Data.uid++; + } + Data.uid = 1; + Data.prototype = { + cache: function(owner) { + var value = owner[this.expando]; + if (!value) { + value = {}; + if (acceptData(owner)) { + if (owner.nodeType) { + owner[this.expando] = value; + } else { + Object.defineProperty(owner, this.expando, { + value, + configurable: true + }); + } + } + } + return value; + }, + set: function(owner, data, value) { + var prop, cache = this.cache(owner); + if (typeof data === "string") { + cache[camelCase(data)] = value; + } else { + for (prop in data) { + cache[camelCase(prop)] = data[prop]; + } + } + return cache; + }, + get: function(owner, key) { + return key === void 0 ? this.cache(owner) : owner[this.expando] && owner[this.expando][camelCase(key)]; + }, + access: function(owner, key, value) { + if (key === void 0 || key && typeof key === "string" && value === void 0) { + return this.get(owner, key); + } + this.set(owner, key, value); + return value !== void 0 ? value : key; + }, + remove: function(owner, key) { + var i, cache = owner[this.expando]; + if (cache === void 0) { + return; + } + if (key !== void 0) { + if (Array.isArray(key)) { + key = key.map(camelCase); + } else { + key = camelCase(key); + key = key in cache ? [key] : key.match(rnothtmlwhite) || []; + } + i = key.length; + while (i--) { + delete cache[key[i]]; + } + } + if (key === void 0 || jQuery2.isEmptyObject(cache)) { + if (owner.nodeType) { + owner[this.expando] = void 0; + } else { + delete owner[this.expando]; + } + } + }, + hasData: function(owner) { + var cache = owner[this.expando]; + return cache !== void 0 && !jQuery2.isEmptyObject(cache); + } + }; + var dataPriv = new Data(); + var dataUser = new Data(); + var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, rmultiDash = /[A-Z]/g; + function getData(data) { + if (data === "true") { + return true; + } + if (data === "false") { + return false; + } + if (data === "null") { + return null; + } + if (data === +data + "") { + return +data; + } + if (rbrace.test(data)) { + return JSON.parse(data); + } + return data; + } + function dataAttr(elem, key, data) { + var name; + if (data === void 0 && elem.nodeType === 1) { + name = "data-" + key.replace(rmultiDash, "-$&").toLowerCase(); + data = elem.getAttribute(name); + if (typeof data === "string") { + try { + data = getData(data); + } catch (e) { + } + dataUser.set(elem, key, data); + } else { + data = void 0; + } + } + return data; + } + jQuery2.extend({ + hasData: function(elem) { + return dataUser.hasData(elem) || dataPriv.hasData(elem); + }, + data: function(elem, name, data) { + return dataUser.access(elem, name, data); + }, + removeData: function(elem, name) { + dataUser.remove(elem, name); + }, + _data: function(elem, name, data) { + return dataPriv.access(elem, name, data); + }, + _removeData: function(elem, name) { + dataPriv.remove(elem, name); + } + }); + jQuery2.fn.extend({ + data: function(key, value) { + var i, name, data, elem = this[0], attrs = elem && elem.attributes; + if (key === void 0) { + if (this.length) { + data = dataUser.get(elem); + if (elem.nodeType === 1 && !dataPriv.get(elem, "hasDataAttrs")) { + i = attrs.length; + while (i--) { + if (attrs[i]) { + name = attrs[i].name; + if (name.indexOf("data-") === 0) { + name = camelCase(name.slice(5)); + dataAttr(elem, name, data[name]); + } + } + } + dataPriv.set(elem, "hasDataAttrs", true); + } + } + return data; + } + if (typeof key === "object") { + return this.each(function() { + dataUser.set(this, key); + }); + } + return access(this, function(value2) { + var data2; + if (elem && value2 === void 0) { + data2 = dataUser.get(elem, key); + if (data2 !== void 0) { + return data2; + } + data2 = dataAttr(elem, key); + if (data2 !== void 0) { + return data2; + } + return; + } + this.each(function() { + dataUser.set(this, key, value2); + }); + }, null, value, arguments.length > 1, null, true); + }, + removeData: function(key) { + return this.each(function() { + dataUser.remove(this, key); + }); + } + }); + jQuery2.extend({ + queue: function(elem, type, data) { + var queue; + if (elem) { + type = (type || "fx") + "queue"; + queue = dataPriv.get(elem, type); + if (data) { + if (!queue || Array.isArray(data)) { + queue = dataPriv.access(elem, type, jQuery2.makeArray(data)); + } else { + queue.push(data); + } + } + return queue || []; + } + }, + dequeue: function(elem, type) { + type = type || "fx"; + var queue = jQuery2.queue(elem, type), startLength = queue.length, fn = queue.shift(), hooks = jQuery2._queueHooks(elem, type), next = function() { + jQuery2.dequeue(elem, type); + }; + if (fn === "inprogress") { + fn = queue.shift(); + startLength--; + } + if (fn) { + if (type === "fx") { + queue.unshift("inprogress"); + } + delete hooks.stop; + fn.call(elem, next, hooks); + } + if (!startLength && hooks) { + hooks.empty.fire(); + } + }, + _queueHooks: function(elem, type) { + var key = type + "queueHooks"; + return dataPriv.get(elem, key) || dataPriv.access(elem, key, { + empty: jQuery2.Callbacks("once memory").add(function() { + dataPriv.remove(elem, [type + "queue", key]); + }) + }); + } + }); + jQuery2.fn.extend({ + queue: function(type, data) { + var setter = 2; + if (typeof type !== "string") { + data = type; + type = "fx"; + setter--; + } + if (arguments.length < setter) { + return jQuery2.queue(this[0], type); + } + return data === void 0 ? this : this.each(function() { + var queue = jQuery2.queue(this, type, data); + jQuery2._queueHooks(this, type); + if (type === "fx" && queue[0] !== "inprogress") { + jQuery2.dequeue(this, type); + } + }); + }, + dequeue: function(type) { + return this.each(function() { + jQuery2.dequeue(this, type); + }); + }, + clearQueue: function(type) { + return this.queue(type || "fx", []); + }, + promise: function(type, obj) { + var tmp, count = 1, defer = jQuery2.Deferred(), elements = this, i = this.length, resolve = function() { + if (!--count) { + defer.resolveWith(elements, [elements]); + } + }; + if (typeof type !== "string") { + obj = type; + type = void 0; + } + type = type || "fx"; + while (i--) { + tmp = dataPriv.get(elements[i], type + "queueHooks"); + if (tmp && tmp.empty) { + count++; + tmp.empty.add(resolve); + } + } + resolve(); + return defer.promise(obj); + } + }); + var pnum = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source; + var rcssNum = new RegExp("^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i"); + var cssExpand = ["Top", "Right", "Bottom", "Left"]; + var documentElement = document2.documentElement; + var isAttached = function(elem) { + return jQuery2.contains(elem.ownerDocument, elem); + }, composed = { composed: true }; + if (documentElement.getRootNode) { + isAttached = function(elem) { + return jQuery2.contains(elem.ownerDocument, elem) || elem.getRootNode(composed) === elem.ownerDocument; + }; + } + var isHiddenWithinTree = function(elem, el) { + elem = el || elem; + return elem.style.display === "none" || elem.style.display === "" && isAttached(elem) && jQuery2.css(elem, "display") === "none"; + }; + function adjustCSS(elem, prop, valueParts, tween) { + var adjusted, scale, maxIterations = 20, currentValue = tween ? function() { + return tween.cur(); + } : function() { + return jQuery2.css(elem, prop, ""); + }, initial = currentValue(), unit = valueParts && valueParts[3] || (jQuery2.cssNumber[prop] ? "" : "px"), initialInUnit = elem.nodeType && (jQuery2.cssNumber[prop] || unit !== "px" && +initial) && rcssNum.exec(jQuery2.css(elem, prop)); + if (initialInUnit && initialInUnit[3] !== unit) { + initial = initial / 2; + unit = unit || initialInUnit[3]; + initialInUnit = +initial || 1; + while (maxIterations--) { + jQuery2.style(elem, prop, initialInUnit + unit); + if ((1 - scale) * (1 - (scale = currentValue() / initial || 0.5)) <= 0) { + maxIterations = 0; + } + initialInUnit = initialInUnit / scale; + } + initialInUnit = initialInUnit * 2; + jQuery2.style(elem, prop, initialInUnit + unit); + valueParts = valueParts || []; + } + if (valueParts) { + initialInUnit = +initialInUnit || +initial || 0; + adjusted = valueParts[1] ? initialInUnit + (valueParts[1] + 1) * valueParts[2] : +valueParts[2]; + if (tween) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; + } + var defaultDisplayMap = {}; + function getDefaultDisplay(elem) { + var temp, doc = elem.ownerDocument, nodeName2 = elem.nodeName, display = defaultDisplayMap[nodeName2]; + if (display) { + return display; + } + temp = doc.body.appendChild(doc.createElement(nodeName2)); + display = jQuery2.css(temp, "display"); + temp.parentNode.removeChild(temp); + if (display === "none") { + display = "block"; + } + defaultDisplayMap[nodeName2] = display; + return display; + } + function showHide(elements, show) { + var display, elem, values = [], index = 0, length = elements.length; + for (; index < length; index++) { + elem = elements[index]; + if (!elem.style) { + continue; + } + display = elem.style.display; + if (show) { + if (display === "none") { + values[index] = dataPriv.get(elem, "display") || null; + if (!values[index]) { + elem.style.display = ""; + } + } + if (elem.style.display === "" && isHiddenWithinTree(elem)) { + values[index] = getDefaultDisplay(elem); + } + } else { + if (display !== "none") { + values[index] = "none"; + dataPriv.set(elem, "display", display); + } + } + } + for (index = 0; index < length; index++) { + if (values[index] != null) { + elements[index].style.display = values[index]; + } + } + return elements; + } + jQuery2.fn.extend({ + show: function() { + return showHide(this, true); + }, + hide: function() { + return showHide(this); + }, + toggle: function(state) { + if (typeof state === "boolean") { + return state ? this.show() : this.hide(); + } + return this.each(function() { + if (isHiddenWithinTree(this)) { + jQuery2(this).show(); + } else { + jQuery2(this).hide(); + } + }); + } + }); + var rcheckableType = /^(?:checkbox|radio)$/i; + var rtagName = /<([a-z][^\/\0>\x20\t\r\n\f]*)/i; + var rscriptType = /^$|^module$|\/(?:java|ecma)script/i; + (function() { + var fragment = document2.createDocumentFragment(), div = fragment.appendChild(document2.createElement("div")), input = document2.createElement("input"); + input.setAttribute("type", "radio"); + input.setAttribute("checked", "checked"); + input.setAttribute("name", "t"); + div.appendChild(input); + support.checkClone = div.cloneNode(true).cloneNode(true).lastChild.checked; + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode(true).lastChild.defaultValue; + div.innerHTML = ""; + support.option = !!div.lastChild; + })(); + var wrapMap = { + thead: [1, "", "
"], + col: [2, "", "
"], + tr: [2, "", "
"], + td: [3, "", "
"], + _default: [0, "", ""] + }; + wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; + wrapMap.th = wrapMap.td; + if (!support.option) { + wrapMap.optgroup = wrapMap.option = [1, ""]; + } + function getAll(context, tag) { + var ret; + if (typeof context.getElementsByTagName !== "undefined") { + ret = context.getElementsByTagName(tag || "*"); + } else if (typeof context.querySelectorAll !== "undefined") { + ret = context.querySelectorAll(tag || "*"); + } else { + ret = []; + } + if (tag === void 0 || tag && nodeName(context, tag)) { + return jQuery2.merge([context], ret); + } + return ret; + } + function setGlobalEval(elems, refElements) { + var i = 0, l = elems.length; + for (; i < l; i++) { + dataPriv.set(elems[i], "globalEval", !refElements || dataPriv.get(refElements[i], "globalEval")); + } + } + var rhtml = /<|&#?\w+;/; + function buildFragment(elems, context, scripts, selection, ignored) { + var elem, tmp, tag, wrap, attached, j, fragment = context.createDocumentFragment(), nodes = [], i = 0, l = elems.length; + for (; i < l; i++) { + elem = elems[i]; + if (elem || elem === 0) { + if (toType(elem) === "object") { + jQuery2.merge(nodes, elem.nodeType ? [elem] : elem); + } else if (!rhtml.test(elem)) { + nodes.push(context.createTextNode(elem)); + } else { + tmp = tmp || fragment.appendChild(context.createElement("div")); + tag = (rtagName.exec(elem) || ["", ""])[1].toLowerCase(); + wrap = wrapMap[tag] || wrapMap._default; + tmp.innerHTML = wrap[1] + jQuery2.htmlPrefilter(elem) + wrap[2]; + j = wrap[0]; + while (j--) { + tmp = tmp.lastChild; + } + jQuery2.merge(nodes, tmp.childNodes); + tmp = fragment.firstChild; + tmp.textContent = ""; + } + } + } + fragment.textContent = ""; + i = 0; + while (elem = nodes[i++]) { + if (selection && jQuery2.inArray(elem, selection) > -1) { + if (ignored) { + ignored.push(elem); + } + continue; + } + attached = isAttached(elem); + tmp = getAll(fragment.appendChild(elem), "script"); + if (attached) { + setGlobalEval(tmp); + } + if (scripts) { + j = 0; + while (elem = tmp[j++]) { + if (rscriptType.test(elem.type || "")) { + scripts.push(elem); + } + } + } + } + return fragment; + } + var rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + function returnTrue() { + return true; + } + function returnFalse() { + return false; + } + function expectSync(elem, type) { + return elem === safeActiveElement() === (type === "focus"); + } + function safeActiveElement() { + try { + return document2.activeElement; + } catch (err) { + } + } + function on(elem, types, selector, data, fn, one) { + var origFn, type; + if (typeof types === "object") { + if (typeof selector !== "string") { + data = data || selector; + selector = void 0; + } + for (type in types) { + on(elem, type, selector, data, types[type], one); + } + return elem; + } + if (data == null && fn == null) { + fn = selector; + data = selector = void 0; + } else if (fn == null) { + if (typeof selector === "string") { + fn = data; + data = void 0; + } else { + fn = data; + data = selector; + selector = void 0; + } + } + if (fn === false) { + fn = returnFalse; + } else if (!fn) { + return elem; + } + if (one === 1) { + origFn = fn; + fn = function(event) { + jQuery2().off(event); + return origFn.apply(this, arguments); + }; + fn.guid = origFn.guid || (origFn.guid = jQuery2.guid++); + } + return elem.each(function() { + jQuery2.event.add(this, types, fn, data, selector); + }); + } + jQuery2.event = { + global: {}, + add: function(elem, types, handler, data, selector) { + var handleObjIn, eventHandle, tmp, events, t, handleObj, special, handlers, type, namespaces, origType, elemData = dataPriv.get(elem); + if (!acceptData(elem)) { + return; + } + if (handler.handler) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + if (selector) { + jQuery2.find.matchesSelector(documentElement, selector); + } + if (!handler.guid) { + handler.guid = jQuery2.guid++; + } + if (!(events = elemData.events)) { + events = elemData.events = /* @__PURE__ */ Object.create(null); + } + if (!(eventHandle = elemData.handle)) { + eventHandle = elemData.handle = function(e) { + return typeof jQuery2 !== "undefined" && jQuery2.event.triggered !== e.type ? jQuery2.event.dispatch.apply(elem, arguments) : void 0; + }; + } + types = (types || "").match(rnothtmlwhite) || [""]; + t = types.length; + while (t--) { + tmp = rtypenamespace.exec(types[t]) || []; + type = origType = tmp[1]; + namespaces = (tmp[2] || "").split(".").sort(); + if (!type) { + continue; + } + special = jQuery2.event.special[type] || {}; + type = (selector ? special.delegateType : special.bindType) || type; + special = jQuery2.event.special[type] || {}; + handleObj = jQuery2.extend({ + type, + origType, + data, + handler, + guid: handler.guid, + selector, + needsContext: selector && jQuery2.expr.match.needsContext.test(selector), + namespace: namespaces.join(".") + }, handleObjIn); + if (!(handlers = events[type])) { + handlers = events[type] = []; + handlers.delegateCount = 0; + if (!special.setup || special.setup.call(elem, data, namespaces, eventHandle) === false) { + if (elem.addEventListener) { + elem.addEventListener(type, eventHandle); + } + } + } + if (special.add) { + special.add.call(elem, handleObj); + if (!handleObj.handler.guid) { + handleObj.handler.guid = handler.guid; + } + } + if (selector) { + handlers.splice(handlers.delegateCount++, 0, handleObj); + } else { + handlers.push(handleObj); + } + jQuery2.event.global[type] = true; + } + }, + remove: function(elem, types, handler, selector, mappedTypes) { + var j, origCount, tmp, events, t, handleObj, special, handlers, type, namespaces, origType, elemData = dataPriv.hasData(elem) && dataPriv.get(elem); + if (!elemData || !(events = elemData.events)) { + return; + } + types = (types || "").match(rnothtmlwhite) || [""]; + t = types.length; + while (t--) { + tmp = rtypenamespace.exec(types[t]) || []; + type = origType = tmp[1]; + namespaces = (tmp[2] || "").split(".").sort(); + if (!type) { + for (type in events) { + jQuery2.event.remove(elem, type + types[t], handler, selector, true); + } + continue; + } + special = jQuery2.event.special[type] || {}; + type = (selector ? special.delegateType : special.bindType) || type; + handlers = events[type] || []; + tmp = tmp[2] && new RegExp("(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)"); + origCount = j = handlers.length; + while (j--) { + handleObj = handlers[j]; + if ((mappedTypes || origType === handleObj.origType) && (!handler || handler.guid === handleObj.guid) && (!tmp || tmp.test(handleObj.namespace)) && (!selector || selector === handleObj.selector || selector === "**" && handleObj.selector)) { + handlers.splice(j, 1); + if (handleObj.selector) { + handlers.delegateCount--; + } + if (special.remove) { + special.remove.call(elem, handleObj); + } + } + } + if (origCount && !handlers.length) { + if (!special.teardown || special.teardown.call(elem, namespaces, elemData.handle) === false) { + jQuery2.removeEvent(elem, type, elemData.handle); + } + delete events[type]; + } + } + if (jQuery2.isEmptyObject(events)) { + dataPriv.remove(elem, "handle events"); + } + }, + dispatch: function(nativeEvent) { + var i, j, ret, matched, handleObj, handlerQueue, args = new Array(arguments.length), event = jQuery2.event.fix(nativeEvent), handlers = (dataPriv.get(this, "events") || /* @__PURE__ */ Object.create(null))[event.type] || [], special = jQuery2.event.special[event.type] || {}; + args[0] = event; + for (i = 1; i < arguments.length; i++) { + args[i] = arguments[i]; + } + event.delegateTarget = this; + if (special.preDispatch && special.preDispatch.call(this, event) === false) { + return; + } + handlerQueue = jQuery2.event.handlers.call(this, event, handlers); + i = 0; + while ((matched = handlerQueue[i++]) && !event.isPropagationStopped()) { + event.currentTarget = matched.elem; + j = 0; + while ((handleObj = matched.handlers[j++]) && !event.isImmediatePropagationStopped()) { + if (!event.rnamespace || handleObj.namespace === false || event.rnamespace.test(handleObj.namespace)) { + event.handleObj = handleObj; + event.data = handleObj.data; + ret = ((jQuery2.event.special[handleObj.origType] || {}).handle || handleObj.handler).apply(matched.elem, args); + if (ret !== void 0) { + if ((event.result = ret) === false) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + if (special.postDispatch) { + special.postDispatch.call(this, event); + } + return event.result; + }, + handlers: function(event, handlers) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, handlerQueue = [], delegateCount = handlers.delegateCount, cur = event.target; + if (delegateCount && cur.nodeType && !(event.type === "click" && event.button >= 1)) { + for (; cur !== this; cur = cur.parentNode || this) { + if (cur.nodeType === 1 && !(event.type === "click" && cur.disabled === true)) { + matchedHandlers = []; + matchedSelectors = {}; + for (i = 0; i < delegateCount; i++) { + handleObj = handlers[i]; + sel = handleObj.selector + " "; + if (matchedSelectors[sel] === void 0) { + matchedSelectors[sel] = handleObj.needsContext ? jQuery2(sel, this).index(cur) > -1 : jQuery2.find(sel, this, null, [cur]).length; + } + if (matchedSelectors[sel]) { + matchedHandlers.push(handleObj); + } + } + if (matchedHandlers.length) { + handlerQueue.push({ elem: cur, handlers: matchedHandlers }); + } + } + } + } + cur = this; + if (delegateCount < handlers.length) { + handlerQueue.push({ elem: cur, handlers: handlers.slice(delegateCount) }); + } + return handlerQueue; + }, + addProp: function(name, hook) { + Object.defineProperty(jQuery2.Event.prototype, name, { + enumerable: true, + configurable: true, + get: isFunction(hook) ? function() { + if (this.originalEvent) { + return hook(this.originalEvent); + } + } : function() { + if (this.originalEvent) { + return this.originalEvent[name]; + } + }, + set: function(value) { + Object.defineProperty(this, name, { + enumerable: true, + configurable: true, + writable: true, + value + }); + } + }); + }, + fix: function(originalEvent) { + return originalEvent[jQuery2.expando] ? originalEvent : new jQuery2.Event(originalEvent); + }, + special: { + load: { + noBubble: true + }, + click: { + setup: function(data) { + var el = this || data; + if (rcheckableType.test(el.type) && el.click && nodeName(el, "input")) { + leverageNative(el, "click", returnTrue); + } + return false; + }, + trigger: function(data) { + var el = this || data; + if (rcheckableType.test(el.type) && el.click && nodeName(el, "input")) { + leverageNative(el, "click"); + } + return true; + }, + _default: function(event) { + var target = event.target; + return rcheckableType.test(target.type) && target.click && nodeName(target, "input") && dataPriv.get(target, "click") || nodeName(target, "a"); + } + }, + beforeunload: { + postDispatch: function(event) { + if (event.result !== void 0 && event.originalEvent) { + event.originalEvent.returnValue = event.result; + } + } + } + } + }; + function leverageNative(el, type, expectSync2) { + if (!expectSync2) { + if (dataPriv.get(el, type) === void 0) { + jQuery2.event.add(el, type, returnTrue); + } + return; + } + dataPriv.set(el, type, false); + jQuery2.event.add(el, type, { + namespace: false, + handler: function(event) { + var notAsync, result, saved = dataPriv.get(this, type); + if (event.isTrigger & 1 && this[type]) { + if (!saved.length) { + saved = slice.call(arguments); + dataPriv.set(this, type, saved); + notAsync = expectSync2(this, type); + this[type](); + result = dataPriv.get(this, type); + if (saved !== result || notAsync) { + dataPriv.set(this, type, false); + } else { + result = {}; + } + if (saved !== result) { + event.stopImmediatePropagation(); + event.preventDefault(); + return result && result.value; + } + } else if ((jQuery2.event.special[type] || {}).delegateType) { + event.stopPropagation(); + } + } else if (saved.length) { + dataPriv.set(this, type, { + value: jQuery2.event.trigger(jQuery2.extend(saved[0], jQuery2.Event.prototype), saved.slice(1), this) + }); + event.stopImmediatePropagation(); + } + } + }); + } + jQuery2.removeEvent = function(elem, type, handle) { + if (elem.removeEventListener) { + elem.removeEventListener(type, handle); + } + }; + jQuery2.Event = function(src, props) { + if (!(this instanceof jQuery2.Event)) { + return new jQuery2.Event(src, props); + } + if (src && src.type) { + this.originalEvent = src; + this.type = src.type; + this.isDefaultPrevented = src.defaultPrevented || src.defaultPrevented === void 0 && src.returnValue === false ? returnTrue : returnFalse; + this.target = src.target && src.target.nodeType === 3 ? src.target.parentNode : src.target; + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + } else { + this.type = src; + } + if (props) { + jQuery2.extend(this, props); + } + this.timeStamp = src && src.timeStamp || Date.now(); + this[jQuery2.expando] = true; + }; + jQuery2.Event.prototype = { + constructor: jQuery2.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + preventDefault: function() { + var e = this.originalEvent; + this.isDefaultPrevented = returnTrue; + if (e && !this.isSimulated) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + this.isPropagationStopped = returnTrue; + if (e && !this.isSimulated) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + this.isImmediatePropagationStopped = returnTrue; + if (e && !this.isSimulated) { + e.stopImmediatePropagation(); + } + this.stopPropagation(); + } + }; + jQuery2.each({ + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + code: true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + which: true + }, jQuery2.event.addProp); + jQuery2.each({ focus: "focusin", blur: "focusout" }, function(type, delegateType) { + jQuery2.event.special[type] = { + setup: function() { + leverageNative(this, type, expectSync); + return false; + }, + trigger: function() { + leverageNative(this, type); + return true; + }, + _default: function() { + return true; + }, + delegateType + }; + }); + jQuery2.each({ + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" + }, function(orig, fix) { + jQuery2.event.special[orig] = { + delegateType: fix, + bindType: fix, + handle: function(event) { + var ret, target = this, related = event.relatedTarget, handleObj = event.handleObj; + if (!related || related !== target && !jQuery2.contains(target, related)) { + event.type = handleObj.origType; + ret = handleObj.handler.apply(this, arguments); + event.type = fix; + } + return ret; + } + }; + }); + jQuery2.fn.extend({ + on: function(types, selector, data, fn) { + return on(this, types, selector, data, fn); + }, + one: function(types, selector, data, fn) { + return on(this, types, selector, data, fn, 1); + }, + off: function(types, selector, fn) { + var handleObj, type; + if (types && types.preventDefault && types.handleObj) { + handleObj = types.handleObj; + jQuery2(types.delegateTarget).off(handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, handleObj.selector, handleObj.handler); + return this; + } + if (typeof types === "object") { + for (type in types) { + this.off(type, selector, types[type]); + } + return this; + } + if (selector === false || typeof selector === "function") { + fn = selector; + selector = void 0; + } + if (fn === false) { + fn = returnFalse; + } + return this.each(function() { + jQuery2.event.remove(this, types, fn, selector); + }); + } + }); + var rnoInnerhtml = /\s*$/g; + function manipulationTarget(elem, content) { + if (nodeName(elem, "table") && nodeName(content.nodeType !== 11 ? content : content.firstChild, "tr")) { + return jQuery2(elem).children("tbody")[0] || elem; + } + return elem; + } + function disableScript(elem) { + elem.type = (elem.getAttribute("type") !== null) + "/" + elem.type; + return elem; + } + function restoreScript(elem) { + if ((elem.type || "").slice(0, 5) === "true/") { + elem.type = elem.type.slice(5); + } else { + elem.removeAttribute("type"); + } + return elem; + } + function cloneCopyEvent(src, dest) { + var i, l, type, pdataOld, udataOld, udataCur, events; + if (dest.nodeType !== 1) { + return; + } + if (dataPriv.hasData(src)) { + pdataOld = dataPriv.get(src); + events = pdataOld.events; + if (events) { + dataPriv.remove(dest, "handle events"); + for (type in events) { + for (i = 0, l = events[type].length; i < l; i++) { + jQuery2.event.add(dest, type, events[type][i]); + } + } + } + } + if (dataUser.hasData(src)) { + udataOld = dataUser.access(src); + udataCur = jQuery2.extend({}, udataOld); + dataUser.set(dest, udataCur); + } + } + function fixInput(src, dest) { + var nodeName2 = dest.nodeName.toLowerCase(); + if (nodeName2 === "input" && rcheckableType.test(src.type)) { + dest.checked = src.checked; + } else if (nodeName2 === "input" || nodeName2 === "textarea") { + dest.defaultValue = src.defaultValue; + } + } + function domManip(collection, args, callback, ignored) { + args = flat(args); + var fragment, first, scripts, hasScripts, node, doc, i = 0, l = collection.length, iNoClone = l - 1, value = args[0], valueIsFunction = isFunction(value); + if (valueIsFunction || l > 1 && typeof value === "string" && !support.checkClone && rchecked.test(value)) { + return collection.each(function(index) { + var self2 = collection.eq(index); + if (valueIsFunction) { + args[0] = value.call(this, index, self2.html()); + } + domManip(self2, args, callback, ignored); + }); + } + if (l) { + fragment = buildFragment(args, collection[0].ownerDocument, false, collection, ignored); + first = fragment.firstChild; + if (fragment.childNodes.length === 1) { + fragment = first; + } + if (first || ignored) { + scripts = jQuery2.map(getAll(fragment, "script"), disableScript); + hasScripts = scripts.length; + for (; i < l; i++) { + node = fragment; + if (i !== iNoClone) { + node = jQuery2.clone(node, true, true); + if (hasScripts) { + jQuery2.merge(scripts, getAll(node, "script")); + } + } + callback.call(collection[i], node, i); + } + if (hasScripts) { + doc = scripts[scripts.length - 1].ownerDocument; + jQuery2.map(scripts, restoreScript); + for (i = 0; i < hasScripts; i++) { + node = scripts[i]; + if (rscriptType.test(node.type || "") && !dataPriv.access(node, "globalEval") && jQuery2.contains(doc, node)) { + if (node.src && (node.type || "").toLowerCase() !== "module") { + if (jQuery2._evalUrl && !node.noModule) { + jQuery2._evalUrl(node.src, { + nonce: node.nonce || node.getAttribute("nonce") + }, doc); + } + } else { + DOMEval(node.textContent.replace(rcleanScript, ""), node, doc); + } + } + } + } + } + } + return collection; + } + function remove(elem, selector, keepData) { + var node, nodes = selector ? jQuery2.filter(selector, elem) : elem, i = 0; + for (; (node = nodes[i]) != null; i++) { + if (!keepData && node.nodeType === 1) { + jQuery2.cleanData(getAll(node)); + } + if (node.parentNode) { + if (keepData && isAttached(node)) { + setGlobalEval(getAll(node, "script")); + } + node.parentNode.removeChild(node); + } + } + return elem; + } + jQuery2.extend({ + htmlPrefilter: function(html) { + return html; + }, + clone: function(elem, dataAndEvents, deepDataAndEvents) { + var i, l, srcElements, destElements, clone = elem.cloneNode(true), inPage = isAttached(elem); + if (!support.noCloneChecked && (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery2.isXMLDoc(elem)) { + destElements = getAll(clone); + srcElements = getAll(elem); + for (i = 0, l = srcElements.length; i < l; i++) { + fixInput(srcElements[i], destElements[i]); + } + } + if (dataAndEvents) { + if (deepDataAndEvents) { + srcElements = srcElements || getAll(elem); + destElements = destElements || getAll(clone); + for (i = 0, l = srcElements.length; i < l; i++) { + cloneCopyEvent(srcElements[i], destElements[i]); + } + } else { + cloneCopyEvent(elem, clone); + } + } + destElements = getAll(clone, "script"); + if (destElements.length > 0) { + setGlobalEval(destElements, !inPage && getAll(elem, "script")); + } + return clone; + }, + cleanData: function(elems) { + var data, elem, type, special = jQuery2.event.special, i = 0; + for (; (elem = elems[i]) !== void 0; i++) { + if (acceptData(elem)) { + if (data = elem[dataPriv.expando]) { + if (data.events) { + for (type in data.events) { + if (special[type]) { + jQuery2.event.remove(elem, type); + } else { + jQuery2.removeEvent(elem, type, data.handle); + } + } + } + elem[dataPriv.expando] = void 0; + } + if (elem[dataUser.expando]) { + elem[dataUser.expando] = void 0; + } + } + } + } + }); + jQuery2.fn.extend({ + detach: function(selector) { + return remove(this, selector, true); + }, + remove: function(selector) { + return remove(this, selector); + }, + text: function(value) { + return access(this, function(value2) { + return value2 === void 0 ? jQuery2.text(this) : this.empty().each(function() { + if (this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9) { + this.textContent = value2; + } + }); + }, null, value, arguments.length); + }, + append: function() { + return domManip(this, arguments, function(elem) { + if (this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9) { + var target = manipulationTarget(this, elem); + target.appendChild(elem); + } + }); + }, + prepend: function() { + return domManip(this, arguments, function(elem) { + if (this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9) { + var target = manipulationTarget(this, elem); + target.insertBefore(elem, target.firstChild); + } + }); + }, + before: function() { + return domManip(this, arguments, function(elem) { + if (this.parentNode) { + this.parentNode.insertBefore(elem, this); + } + }); + }, + after: function() { + return domManip(this, arguments, function(elem) { + if (this.parentNode) { + this.parentNode.insertBefore(elem, this.nextSibling); + } + }); + }, + empty: function() { + var elem, i = 0; + for (; (elem = this[i]) != null; i++) { + if (elem.nodeType === 1) { + jQuery2.cleanData(getAll(elem, false)); + elem.textContent = ""; + } + } + return this; + }, + clone: function(dataAndEvents, deepDataAndEvents) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + return this.map(function() { + return jQuery2.clone(this, dataAndEvents, deepDataAndEvents); + }); + }, + html: function(value) { + return access(this, function(value2) { + var elem = this[0] || {}, i = 0, l = this.length; + if (value2 === void 0 && elem.nodeType === 1) { + return elem.innerHTML; + } + if (typeof value2 === "string" && !rnoInnerhtml.test(value2) && !wrapMap[(rtagName.exec(value2) || ["", ""])[1].toLowerCase()]) { + value2 = jQuery2.htmlPrefilter(value2); + try { + for (; i < l; i++) { + elem = this[i] || {}; + if (elem.nodeType === 1) { + jQuery2.cleanData(getAll(elem, false)); + elem.innerHTML = value2; + } + } + elem = 0; + } catch (e) { + } + } + if (elem) { + this.empty().append(value2); + } + }, null, value, arguments.length); + }, + replaceWith: function() { + var ignored = []; + return domManip(this, arguments, function(elem) { + var parent = this.parentNode; + if (jQuery2.inArray(this, ignored) < 0) { + jQuery2.cleanData(getAll(this)); + if (parent) { + parent.replaceChild(elem, this); + } + } + }, ignored); + } + }); + jQuery2.each({ + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" + }, function(name, original) { + jQuery2.fn[name] = function(selector) { + var elems, ret = [], insert = jQuery2(selector), last = insert.length - 1, i = 0; + for (; i <= last; i++) { + elems = i === last ? this : this.clone(true); + jQuery2(insert[i])[original](elems); + push.apply(ret, elems.get()); + } + return this.pushStack(ret); + }; + }); + var rnumnonpx = new RegExp("^(" + pnum + ")(?!px)[a-z%]+$", "i"); + var getStyles = function(elem) { + var view = elem.ownerDocument.defaultView; + if (!view || !view.opener) { + view = window2; + } + return view.getComputedStyle(elem); + }; + var swap = function(elem, options, callback) { + var ret, name, old = {}; + for (name in options) { + old[name] = elem.style[name]; + elem.style[name] = options[name]; + } + ret = callback.call(elem); + for (name in options) { + elem.style[name] = old[name]; + } + return ret; + }; + var rboxStyle = new RegExp(cssExpand.join("|"), "i"); + (function() { + function computeStyleTests() { + if (!div) { + return; + } + container.style.cssText = "position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0"; + div.style.cssText = "position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%"; + documentElement.appendChild(container).appendChild(div); + var divStyle = window2.getComputedStyle(div); + pixelPositionVal = divStyle.top !== "1%"; + reliableMarginLeftVal = roundPixelMeasures(divStyle.marginLeft) === 12; + div.style.right = "60%"; + pixelBoxStylesVal = roundPixelMeasures(divStyle.right) === 36; + boxSizingReliableVal = roundPixelMeasures(divStyle.width) === 36; + div.style.position = "absolute"; + scrollboxSizeVal = roundPixelMeasures(div.offsetWidth / 3) === 12; + documentElement.removeChild(container); + div = null; + } + function roundPixelMeasures(measure) { + return Math.round(parseFloat(measure)); + } + var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, reliableTrDimensionsVal, reliableMarginLeftVal, container = document2.createElement("div"), div = document2.createElement("div"); + if (!div.style) { + return; + } + div.style.backgroundClip = "content-box"; + div.cloneNode(true).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + jQuery2.extend(support, { + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelBoxStyles: function() { + computeStyleTests(); + return pixelBoxStylesVal; + }, + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + }, + scrollboxSize: function() { + computeStyleTests(); + return scrollboxSizeVal; + }, + reliableTrDimensions: function() { + var table, tr, trChild, trStyle; + if (reliableTrDimensionsVal == null) { + table = document2.createElement("table"); + tr = document2.createElement("tr"); + trChild = document2.createElement("div"); + table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate"; + tr.style.cssText = "border:1px solid"; + tr.style.height = "1px"; + trChild.style.height = "9px"; + trChild.style.display = "block"; + documentElement.appendChild(table).appendChild(tr).appendChild(trChild); + trStyle = window2.getComputedStyle(tr); + reliableTrDimensionsVal = parseInt(trStyle.height, 10) + parseInt(trStyle.borderTopWidth, 10) + parseInt(trStyle.borderBottomWidth, 10) === tr.offsetHeight; + documentElement.removeChild(table); + } + return reliableTrDimensionsVal; + } + }); + })(); + function curCSS(elem, name, computed) { + var width, minWidth, maxWidth, ret, style = elem.style; + computed = computed || getStyles(elem); + if (computed) { + ret = computed.getPropertyValue(name) || computed[name]; + if (ret === "" && !isAttached(elem)) { + ret = jQuery2.style(elem, name); + } + if (!support.pixelBoxStyles() && rnumnonpx.test(ret) && rboxStyle.test(name)) { + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + return ret !== void 0 ? ret + "" : ret; + } + function addGetHookIf(conditionFn, hookFn) { + return { + get: function() { + if (conditionFn()) { + delete this.get; + return; + } + return (this.get = hookFn).apply(this, arguments); + } + }; + } + var cssPrefixes = ["Webkit", "Moz", "ms"], emptyStyle = document2.createElement("div").style, vendorProps = {}; + function vendorPropName(name) { + var capName = name[0].toUpperCase() + name.slice(1), i = cssPrefixes.length; + while (i--) { + name = cssPrefixes[i] + capName; + if (name in emptyStyle) { + return name; + } + } + } + function finalPropName(name) { + var final = jQuery2.cssProps[name] || vendorProps[name]; + if (final) { + return final; + } + if (name in emptyStyle) { + return name; + } + return vendorProps[name] = vendorPropName(name) || name; + } + var rdisplayswap = /^(none|table(?!-c[ea]).+)/, rcustomProp = /^--/, cssShow = { position: "absolute", visibility: "hidden", display: "block" }, cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }; + function setPositiveNumber(_elem, value, subtract) { + var matches = rcssNum.exec(value); + return matches ? Math.max(0, matches[2] - (subtract || 0)) + (matches[3] || "px") : value; + } + function boxModelAdjustment(elem, dimension, box, isBorderBox, styles, computedVal) { + var i = dimension === "width" ? 1 : 0, extra = 0, delta = 0; + if (box === (isBorderBox ? "border" : "content")) { + return 0; + } + for (; i < 4; i += 2) { + if (box === "margin") { + delta += jQuery2.css(elem, box + cssExpand[i], true, styles); + } + if (!isBorderBox) { + delta += jQuery2.css(elem, "padding" + cssExpand[i], true, styles); + if (box !== "padding") { + delta += jQuery2.css(elem, "border" + cssExpand[i] + "Width", true, styles); + } else { + extra += jQuery2.css(elem, "border" + cssExpand[i] + "Width", true, styles); + } + } else { + if (box === "content") { + delta -= jQuery2.css(elem, "padding" + cssExpand[i], true, styles); + } + if (box !== "margin") { + delta -= jQuery2.css(elem, "border" + cssExpand[i] + "Width", true, styles); + } + } + } + if (!isBorderBox && computedVal >= 0) { + delta += Math.max(0, Math.ceil(elem["offset" + dimension[0].toUpperCase() + dimension.slice(1)] - computedVal - delta - extra - 0.5)) || 0; + } + return delta; + } + function getWidthOrHeight(elem, dimension, extra) { + var styles = getStyles(elem), boxSizingNeeded = !support.boxSizingReliable() || extra, isBorderBox = boxSizingNeeded && jQuery2.css(elem, "boxSizing", false, styles) === "border-box", valueIsBorderBox = isBorderBox, val = curCSS(elem, dimension, styles), offsetProp = "offset" + dimension[0].toUpperCase() + dimension.slice(1); + if (rnumnonpx.test(val)) { + if (!extra) { + return val; + } + val = "auto"; + } + if ((!support.boxSizingReliable() && isBorderBox || !support.reliableTrDimensions() && nodeName(elem, "tr") || val === "auto" || !parseFloat(val) && jQuery2.css(elem, "display", false, styles) === "inline") && elem.getClientRects().length) { + isBorderBox = jQuery2.css(elem, "boxSizing", false, styles) === "border-box"; + valueIsBorderBox = offsetProp in elem; + if (valueIsBorderBox) { + val = elem[offsetProp]; + } + } + val = parseFloat(val) || 0; + return val + boxModelAdjustment(elem, dimension, extra || (isBorderBox ? "border" : "content"), valueIsBorderBox, styles, val) + "px"; + } + jQuery2.extend({ + cssHooks: { + opacity: { + get: function(elem, computed) { + if (computed) { + var ret = curCSS(elem, "opacity"); + return ret === "" ? "1" : ret; + } + } + } + }, + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "gridArea": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnStart": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowStart": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + cssProps: {}, + style: function(elem, name, value, extra) { + if (!elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style) { + return; + } + var ret, type, hooks, origName = camelCase(name), isCustomProp = rcustomProp.test(name), style = elem.style; + if (!isCustomProp) { + name = finalPropName(origName); + } + hooks = jQuery2.cssHooks[name] || jQuery2.cssHooks[origName]; + if (value !== void 0) { + type = typeof value; + if (type === "string" && (ret = rcssNum.exec(value)) && ret[1]) { + value = adjustCSS(elem, name, ret); + type = "number"; + } + if (value == null || value !== value) { + return; + } + if (type === "number" && !isCustomProp) { + value += ret && ret[3] || (jQuery2.cssNumber[origName] ? "" : "px"); + } + if (!support.clearCloneStyle && value === "" && name.indexOf("background") === 0) { + style[name] = "inherit"; + } + if (!hooks || !("set" in hooks) || (value = hooks.set(elem, value, extra)) !== void 0) { + if (isCustomProp) { + style.setProperty(name, value); + } else { + style[name] = value; + } + } + } else { + if (hooks && "get" in hooks && (ret = hooks.get(elem, false, extra)) !== void 0) { + return ret; + } + return style[name]; + } + }, + css: function(elem, name, extra, styles) { + var val, num, hooks, origName = camelCase(name), isCustomProp = rcustomProp.test(name); + if (!isCustomProp) { + name = finalPropName(origName); + } + hooks = jQuery2.cssHooks[name] || jQuery2.cssHooks[origName]; + if (hooks && "get" in hooks) { + val = hooks.get(elem, true, extra); + } + if (val === void 0) { + val = curCSS(elem, name, styles); + } + if (val === "normal" && name in cssNormalTransform) { + val = cssNormalTransform[name]; + } + if (extra === "" || extra) { + num = parseFloat(val); + return extra === true || isFinite(num) ? num || 0 : val; + } + return val; + } + }); + jQuery2.each(["height", "width"], function(_i, dimension) { + jQuery2.cssHooks[dimension] = { + get: function(elem, computed, extra) { + if (computed) { + return rdisplayswap.test(jQuery2.css(elem, "display")) && (!elem.getClientRects().length || !elem.getBoundingClientRect().width) ? swap(elem, cssShow, function() { + return getWidthOrHeight(elem, dimension, extra); + }) : getWidthOrHeight(elem, dimension, extra); + } + }, + set: function(elem, value, extra) { + var matches, styles = getStyles(elem), scrollboxSizeBuggy = !support.scrollboxSize() && styles.position === "absolute", boxSizingNeeded = scrollboxSizeBuggy || extra, isBorderBox = boxSizingNeeded && jQuery2.css(elem, "boxSizing", false, styles) === "border-box", subtract = extra ? boxModelAdjustment(elem, dimension, extra, isBorderBox, styles) : 0; + if (isBorderBox && scrollboxSizeBuggy) { + subtract -= Math.ceil(elem["offset" + dimension[0].toUpperCase() + dimension.slice(1)] - parseFloat(styles[dimension]) - boxModelAdjustment(elem, dimension, "border", false, styles) - 0.5); + } + if (subtract && (matches = rcssNum.exec(value)) && (matches[3] || "px") !== "px") { + elem.style[dimension] = value; + value = jQuery2.css(elem, dimension); + } + return setPositiveNumber(elem, value, subtract); + } + }; + }); + jQuery2.cssHooks.marginLeft = addGetHookIf(support.reliableMarginLeft, function(elem, computed) { + if (computed) { + return (parseFloat(curCSS(elem, "marginLeft")) || elem.getBoundingClientRect().left - swap(elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + })) + "px"; + } + }); + jQuery2.each({ + margin: "", + padding: "", + border: "Width" + }, function(prefix, suffix) { + jQuery2.cssHooks[prefix + suffix] = { + expand: function(value) { + var i = 0, expanded = {}, parts = typeof value === "string" ? value.split(" ") : [value]; + for (; i < 4; i++) { + expanded[prefix + cssExpand[i] + suffix] = parts[i] || parts[i - 2] || parts[0]; + } + return expanded; + } + }; + if (prefix !== "margin") { + jQuery2.cssHooks[prefix + suffix].set = setPositiveNumber; + } + }); + jQuery2.fn.extend({ + css: function(name, value) { + return access(this, function(elem, name2, value2) { + var styles, len, map = {}, i = 0; + if (Array.isArray(name2)) { + styles = getStyles(elem); + len = name2.length; + for (; i < len; i++) { + map[name2[i]] = jQuery2.css(elem, name2[i], false, styles); + } + return map; + } + return value2 !== void 0 ? jQuery2.style(elem, name2, value2) : jQuery2.css(elem, name2); + }, name, value, arguments.length > 1); + } + }); + function Tween(elem, options, prop, end, easing) { + return new Tween.prototype.init(elem, options, prop, end, easing); + } + jQuery2.Tween = Tween; + Tween.prototype = { + constructor: Tween, + init: function(elem, options, prop, end, easing, unit) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery2.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || (jQuery2.cssNumber[prop] ? "" : "px"); + }, + cur: function() { + var hooks = Tween.propHooks[this.prop]; + return hooks && hooks.get ? hooks.get(this) : Tween.propHooks._default.get(this); + }, + run: function(percent) { + var eased, hooks = Tween.propHooks[this.prop]; + if (this.options.duration) { + this.pos = eased = jQuery2.easing[this.easing](percent, this.options.duration * percent, 0, 1, this.options.duration); + } else { + this.pos = eased = percent; + } + this.now = (this.end - this.start) * eased + this.start; + if (this.options.step) { + this.options.step.call(this.elem, this.now, this); + } + if (hooks && hooks.set) { + hooks.set(this); + } else { + Tween.propHooks._default.set(this); + } + return this; + } + }; + Tween.prototype.init.prototype = Tween.prototype; + Tween.propHooks = { + _default: { + get: function(tween) { + var result; + if (tween.elem.nodeType !== 1 || tween.elem[tween.prop] != null && tween.elem.style[tween.prop] == null) { + return tween.elem[tween.prop]; + } + result = jQuery2.css(tween.elem, tween.prop, ""); + return !result || result === "auto" ? 0 : result; + }, + set: function(tween) { + if (jQuery2.fx.step[tween.prop]) { + jQuery2.fx.step[tween.prop](tween); + } else if (tween.elem.nodeType === 1 && (jQuery2.cssHooks[tween.prop] || tween.elem.style[finalPropName(tween.prop)] != null)) { + jQuery2.style(tween.elem, tween.prop, tween.now + tween.unit); + } else { + tween.elem[tween.prop] = tween.now; + } + } + } + }; + Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function(tween) { + if (tween.elem.nodeType && tween.elem.parentNode) { + tween.elem[tween.prop] = tween.now; + } + } + }; + jQuery2.easing = { + linear: function(p) { + return p; + }, + swing: function(p) { + return 0.5 - Math.cos(p * Math.PI) / 2; + }, + _default: "swing" + }; + jQuery2.fx = Tween.prototype.init; + jQuery2.fx.step = {}; + var fxNow, inProgress, rfxtypes = /^(?:toggle|show|hide)$/, rrun = /queueHooks$/; + function schedule() { + if (inProgress) { + if (document2.hidden === false && window2.requestAnimationFrame) { + window2.requestAnimationFrame(schedule); + } else { + window2.setTimeout(schedule, jQuery2.fx.interval); + } + jQuery2.fx.tick(); + } + } + function createFxNow() { + window2.setTimeout(function() { + fxNow = void 0; + }); + return fxNow = Date.now(); + } + function genFx(type, includeWidth) { + var which, i = 0, attrs = { height: type }; + includeWidth = includeWidth ? 1 : 0; + for (; i < 4; i += 2 - includeWidth) { + which = cssExpand[i]; + attrs["margin" + which] = attrs["padding" + which] = type; + } + if (includeWidth) { + attrs.opacity = attrs.width = type; + } + return attrs; + } + function createTween(value, prop, animation) { + var tween, collection = (Animation.tweeners[prop] || []).concat(Animation.tweeners["*"]), index = 0, length = collection.length; + for (; index < length; index++) { + if (tween = collection[index].call(animation, prop, value)) { + return tween; + } + } + } + function defaultPrefilter(elem, props, opts) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, isBox = "width" in props || "height" in props, anim = this, orig = {}, style = elem.style, hidden = elem.nodeType && isHiddenWithinTree(elem), dataShow = dataPriv.get(elem, "fxshow"); + if (!opts.queue) { + hooks = jQuery2._queueHooks(elem, "fx"); + if (hooks.unqueued == null) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if (!hooks.unqueued) { + oldfire(); + } + }; + } + hooks.unqueued++; + anim.always(function() { + anim.always(function() { + hooks.unqueued--; + if (!jQuery2.queue(elem, "fx").length) { + hooks.empty.fire(); + } + }); + }); + } + for (prop in props) { + value = props[prop]; + if (rfxtypes.test(value)) { + delete props[prop]; + toggle = toggle || value === "toggle"; + if (value === (hidden ? "hide" : "show")) { + if (value === "show" && dataShow && dataShow[prop] !== void 0) { + hidden = true; + } else { + continue; + } + } + orig[prop] = dataShow && dataShow[prop] || jQuery2.style(elem, prop); + } + } + propTween = !jQuery2.isEmptyObject(props); + if (!propTween && jQuery2.isEmptyObject(orig)) { + return; + } + if (isBox && elem.nodeType === 1) { + opts.overflow = [style.overflow, style.overflowX, style.overflowY]; + restoreDisplay = dataShow && dataShow.display; + if (restoreDisplay == null) { + restoreDisplay = dataPriv.get(elem, "display"); + } + display = jQuery2.css(elem, "display"); + if (display === "none") { + if (restoreDisplay) { + display = restoreDisplay; + } else { + showHide([elem], true); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery2.css(elem, "display"); + showHide([elem]); + } + } + if (display === "inline" || display === "inline-block" && restoreDisplay != null) { + if (jQuery2.css(elem, "float") === "none") { + if (!propTween) { + anim.done(function() { + style.display = restoreDisplay; + }); + if (restoreDisplay == null) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + if (opts.overflow) { + style.overflow = "hidden"; + anim.always(function() { + style.overflow = opts.overflow[0]; + style.overflowX = opts.overflow[1]; + style.overflowY = opts.overflow[2]; + }); + } + propTween = false; + for (prop in orig) { + if (!propTween) { + if (dataShow) { + if ("hidden" in dataShow) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access(elem, "fxshow", { display: restoreDisplay }); + } + if (toggle) { + dataShow.hidden = !hidden; + } + if (hidden) { + showHide([elem], true); + } + anim.done(function() { + if (!hidden) { + showHide([elem]); + } + dataPriv.remove(elem, "fxshow"); + for (prop in orig) { + jQuery2.style(elem, prop, orig[prop]); + } + }); + } + propTween = createTween(hidden ? dataShow[prop] : 0, prop, anim); + if (!(prop in dataShow)) { + dataShow[prop] = propTween.start; + if (hidden) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } + } + function propFilter(props, specialEasing) { + var index, name, easing, value, hooks; + for (index in props) { + name = camelCase(index); + easing = specialEasing[name]; + value = props[index]; + if (Array.isArray(value)) { + easing = value[1]; + value = props[index] = value[0]; + } + if (index !== name) { + props[name] = value; + delete props[index]; + } + hooks = jQuery2.cssHooks[name]; + if (hooks && "expand" in hooks) { + value = hooks.expand(value); + delete props[name]; + for (index in value) { + if (!(index in props)) { + props[index] = value[index]; + specialEasing[index] = easing; + } + } + } else { + specialEasing[name] = easing; + } + } + } + function Animation(elem, properties, options) { + var result, stopped, index = 0, length = Animation.prefilters.length, deferred = jQuery2.Deferred().always(function() { + delete tick.elem; + }), tick = function() { + if (stopped) { + return false; + } + var currentTime = fxNow || createFxNow(), remaining = Math.max(0, animation.startTime + animation.duration - currentTime), temp = remaining / animation.duration || 0, percent = 1 - temp, index2 = 0, length2 = animation.tweens.length; + for (; index2 < length2; index2++) { + animation.tweens[index2].run(percent); + } + deferred.notifyWith(elem, [animation, percent, remaining]); + if (percent < 1 && length2) { + return remaining; + } + if (!length2) { + deferred.notifyWith(elem, [animation, 1, 0]); + } + deferred.resolveWith(elem, [animation]); + return false; + }, animation = deferred.promise({ + elem, + props: jQuery2.extend({}, properties), + opts: jQuery2.extend(true, { + specialEasing: {}, + easing: jQuery2.easing._default + }, options), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function(prop, end) { + var tween = jQuery2.Tween(elem, animation.opts, prop, end, animation.opts.specialEasing[prop] || animation.opts.easing); + animation.tweens.push(tween); + return tween; + }, + stop: function(gotoEnd) { + var index2 = 0, length2 = gotoEnd ? animation.tweens.length : 0; + if (stopped) { + return this; + } + stopped = true; + for (; index2 < length2; index2++) { + animation.tweens[index2].run(1); + } + if (gotoEnd) { + deferred.notifyWith(elem, [animation, 1, 0]); + deferred.resolveWith(elem, [animation, gotoEnd]); + } else { + deferred.rejectWith(elem, [animation, gotoEnd]); + } + return this; + } + }), props = animation.props; + propFilter(props, animation.opts.specialEasing); + for (; index < length; index++) { + result = Animation.prefilters[index].call(animation, elem, props, animation.opts); + if (result) { + if (isFunction(result.stop)) { + jQuery2._queueHooks(animation.elem, animation.opts.queue).stop = result.stop.bind(result); + } + return result; + } + } + jQuery2.map(props, createTween, animation); + if (isFunction(animation.opts.start)) { + animation.opts.start.call(elem, animation); + } + animation.progress(animation.opts.progress).done(animation.opts.done, animation.opts.complete).fail(animation.opts.fail).always(animation.opts.always); + jQuery2.fx.timer(jQuery2.extend(tick, { + elem, + anim: animation, + queue: animation.opts.queue + })); + return animation; + } + jQuery2.Animation = jQuery2.extend(Animation, { + tweeners: { + "*": [function(prop, value) { + var tween = this.createTween(prop, value); + adjustCSS(tween.elem, prop, rcssNum.exec(value), tween); + return tween; + }] + }, + tweener: function(props, callback) { + if (isFunction(props)) { + callback = props; + props = ["*"]; + } else { + props = props.match(rnothtmlwhite); + } + var prop, index = 0, length = props.length; + for (; index < length; index++) { + prop = props[index]; + Animation.tweeners[prop] = Animation.tweeners[prop] || []; + Animation.tweeners[prop].unshift(callback); + } + }, + prefilters: [defaultPrefilter], + prefilter: function(callback, prepend) { + if (prepend) { + Animation.prefilters.unshift(callback); + } else { + Animation.prefilters.push(callback); + } + } + }); + jQuery2.speed = function(speed, easing, fn) { + var opt = speed && typeof speed === "object" ? jQuery2.extend({}, speed) : { + complete: fn || !fn && easing || isFunction(speed) && speed, + duration: speed, + easing: fn && easing || easing && !isFunction(easing) && easing + }; + if (jQuery2.fx.off) { + opt.duration = 0; + } else { + if (typeof opt.duration !== "number") { + if (opt.duration in jQuery2.fx.speeds) { + opt.duration = jQuery2.fx.speeds[opt.duration]; + } else { + opt.duration = jQuery2.fx.speeds._default; + } + } + } + if (opt.queue == null || opt.queue === true) { + opt.queue = "fx"; + } + opt.old = opt.complete; + opt.complete = function() { + if (isFunction(opt.old)) { + opt.old.call(this); + } + if (opt.queue) { + jQuery2.dequeue(this, opt.queue); + } + }; + return opt; + }; + jQuery2.fn.extend({ + fadeTo: function(speed, to, easing, callback) { + return this.filter(isHiddenWithinTree).css("opacity", 0).show().end().animate({ opacity: to }, speed, easing, callback); + }, + animate: function(prop, speed, easing, callback) { + var empty = jQuery2.isEmptyObject(prop), optall = jQuery2.speed(speed, easing, callback), doAnimation = function() { + var anim = Animation(this, jQuery2.extend({}, prop), optall); + if (empty || dataPriv.get(this, "finish")) { + anim.stop(true); + } + }; + doAnimation.finish = doAnimation; + return empty || optall.queue === false ? this.each(doAnimation) : this.queue(optall.queue, doAnimation); + }, + stop: function(type, clearQueue, gotoEnd) { + var stopQueue = function(hooks) { + var stop = hooks.stop; + delete hooks.stop; + stop(gotoEnd); + }; + if (typeof type !== "string") { + gotoEnd = clearQueue; + clearQueue = type; + type = void 0; + } + if (clearQueue) { + this.queue(type || "fx", []); + } + return this.each(function() { + var dequeue = true, index = type != null && type + "queueHooks", timers = jQuery2.timers, data = dataPriv.get(this); + if (index) { + if (data[index] && data[index].stop) { + stopQueue(data[index]); + } + } else { + for (index in data) { + if (data[index] && data[index].stop && rrun.test(index)) { + stopQueue(data[index]); + } + } + } + for (index = timers.length; index--; ) { + if (timers[index].elem === this && (type == null || timers[index].queue === type)) { + timers[index].anim.stop(gotoEnd); + dequeue = false; + timers.splice(index, 1); + } + } + if (dequeue || !gotoEnd) { + jQuery2.dequeue(this, type); + } + }); + }, + finish: function(type) { + if (type !== false) { + type = type || "fx"; + } + return this.each(function() { + var index, data = dataPriv.get(this), queue = data[type + "queue"], hooks = data[type + "queueHooks"], timers = jQuery2.timers, length = queue ? queue.length : 0; + data.finish = true; + jQuery2.queue(this, type, []); + if (hooks && hooks.stop) { + hooks.stop.call(this, true); + } + for (index = timers.length; index--; ) { + if (timers[index].elem === this && timers[index].queue === type) { + timers[index].anim.stop(true); + timers.splice(index, 1); + } + } + for (index = 0; index < length; index++) { + if (queue[index] && queue[index].finish) { + queue[index].finish.call(this); + } + } + delete data.finish; + }); + } + }); + jQuery2.each(["toggle", "show", "hide"], function(_i, name) { + var cssFn = jQuery2.fn[name]; + jQuery2.fn[name] = function(speed, easing, callback) { + return speed == null || typeof speed === "boolean" ? cssFn.apply(this, arguments) : this.animate(genFx(name, true), speed, easing, callback); + }; + }); + jQuery2.each({ + slideDown: genFx("show"), + slideUp: genFx("hide"), + slideToggle: genFx("toggle"), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } + }, function(name, props) { + jQuery2.fn[name] = function(speed, easing, callback) { + return this.animate(props, speed, easing, callback); + }; + }); + jQuery2.timers = []; + jQuery2.fx.tick = function() { + var timer, i = 0, timers = jQuery2.timers; + fxNow = Date.now(); + for (; i < timers.length; i++) { + timer = timers[i]; + if (!timer() && timers[i] === timer) { + timers.splice(i--, 1); + } + } + if (!timers.length) { + jQuery2.fx.stop(); + } + fxNow = void 0; + }; + jQuery2.fx.timer = function(timer) { + jQuery2.timers.push(timer); + jQuery2.fx.start(); + }; + jQuery2.fx.interval = 13; + jQuery2.fx.start = function() { + if (inProgress) { + return; + } + inProgress = true; + schedule(); + }; + jQuery2.fx.stop = function() { + inProgress = null; + }; + jQuery2.fx.speeds = { + slow: 600, + fast: 200, + _default: 400 + }; + jQuery2.fn.delay = function(time, type) { + time = jQuery2.fx ? jQuery2.fx.speeds[time] || time : time; + type = type || "fx"; + return this.queue(type, function(next, hooks) { + var timeout = window2.setTimeout(next, time); + hooks.stop = function() { + window2.clearTimeout(timeout); + }; + }); + }; + (function() { + var input = document2.createElement("input"), select = document2.createElement("select"), opt = select.appendChild(document2.createElement("option")); + input.type = "checkbox"; + support.checkOn = input.value !== ""; + support.optSelected = opt.selected; + input = document2.createElement("input"); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; + })(); + var boolHook, attrHandle = jQuery2.expr.attrHandle; + jQuery2.fn.extend({ + attr: function(name, value) { + return access(this, jQuery2.attr, name, value, arguments.length > 1); + }, + removeAttr: function(name) { + return this.each(function() { + jQuery2.removeAttr(this, name); + }); + } + }); + jQuery2.extend({ + attr: function(elem, name, value) { + var ret, hooks, nType = elem.nodeType; + if (nType === 3 || nType === 8 || nType === 2) { + return; + } + if (typeof elem.getAttribute === "undefined") { + return jQuery2.prop(elem, name, value); + } + if (nType !== 1 || !jQuery2.isXMLDoc(elem)) { + hooks = jQuery2.attrHooks[name.toLowerCase()] || (jQuery2.expr.match.bool.test(name) ? boolHook : void 0); + } + if (value !== void 0) { + if (value === null) { + jQuery2.removeAttr(elem, name); + return; + } + if (hooks && "set" in hooks && (ret = hooks.set(elem, value, name)) !== void 0) { + return ret; + } + elem.setAttribute(name, value + ""); + return value; + } + if (hooks && "get" in hooks && (ret = hooks.get(elem, name)) !== null) { + return ret; + } + ret = jQuery2.find.attr(elem, name); + return ret == null ? void 0 : ret; + }, + attrHooks: { + type: { + set: function(elem, value) { + if (!support.radioValue && value === "radio" && nodeName(elem, "input")) { + var val = elem.value; + elem.setAttribute("type", value); + if (val) { + elem.value = val; + } + return value; + } + } + } + }, + removeAttr: function(elem, value) { + var name, i = 0, attrNames = value && value.match(rnothtmlwhite); + if (attrNames && elem.nodeType === 1) { + while (name = attrNames[i++]) { + elem.removeAttribute(name); + } + } + } + }); + boolHook = { + set: function(elem, value, name) { + if (value === false) { + jQuery2.removeAttr(elem, name); + } else { + elem.setAttribute(name, name); + } + return name; + } + }; + jQuery2.each(jQuery2.expr.match.bool.source.match(/\w+/g), function(_i, name) { + var getter = attrHandle[name] || jQuery2.find.attr; + attrHandle[name] = function(elem, name2, isXML) { + var ret, handle, lowercaseName = name2.toLowerCase(); + if (!isXML) { + handle = attrHandle[lowercaseName]; + attrHandle[lowercaseName] = ret; + ret = getter(elem, name2, isXML) != null ? lowercaseName : null; + attrHandle[lowercaseName] = handle; + } + return ret; + }; + }); + var rfocusable = /^(?:input|select|textarea|button)$/i, rclickable = /^(?:a|area)$/i; + jQuery2.fn.extend({ + prop: function(name, value) { + return access(this, jQuery2.prop, name, value, arguments.length > 1); + }, + removeProp: function(name) { + return this.each(function() { + delete this[jQuery2.propFix[name] || name]; + }); + } + }); + jQuery2.extend({ + prop: function(elem, name, value) { + var ret, hooks, nType = elem.nodeType; + if (nType === 3 || nType === 8 || nType === 2) { + return; + } + if (nType !== 1 || !jQuery2.isXMLDoc(elem)) { + name = jQuery2.propFix[name] || name; + hooks = jQuery2.propHooks[name]; + } + if (value !== void 0) { + if (hooks && "set" in hooks && (ret = hooks.set(elem, value, name)) !== void 0) { + return ret; + } + return elem[name] = value; + } + if (hooks && "get" in hooks && (ret = hooks.get(elem, name)) !== null) { + return ret; + } + return elem[name]; + }, + propHooks: { + tabIndex: { + get: function(elem) { + var tabindex = jQuery2.find.attr(elem, "tabindex"); + if (tabindex) { + return parseInt(tabindex, 10); + } + if (rfocusable.test(elem.nodeName) || rclickable.test(elem.nodeName) && elem.href) { + return 0; + } + return -1; + } + } + }, + propFix: { + "for": "htmlFor", + "class": "className" + } + }); + if (!support.optSelected) { + jQuery2.propHooks.selected = { + get: function(elem) { + var parent = elem.parentNode; + if (parent && parent.parentNode) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function(elem) { + var parent = elem.parentNode; + if (parent) { + parent.selectedIndex; + if (parent.parentNode) { + parent.parentNode.selectedIndex; + } + } + } + }; + } + jQuery2.each([ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" + ], function() { + jQuery2.propFix[this.toLowerCase()] = this; + }); + function stripAndCollapse(value) { + var tokens = value.match(rnothtmlwhite) || []; + return tokens.join(" "); + } + function getClass(elem) { + return elem.getAttribute && elem.getAttribute("class") || ""; + } + function classesToArray(value) { + if (Array.isArray(value)) { + return value; + } + if (typeof value === "string") { + return value.match(rnothtmlwhite) || []; + } + return []; + } + jQuery2.fn.extend({ + addClass: function(value) { + var classes, elem, cur, curValue, clazz, j, finalValue, i = 0; + if (isFunction(value)) { + return this.each(function(j2) { + jQuery2(this).addClass(value.call(this, j2, getClass(this))); + }); + } + classes = classesToArray(value); + if (classes.length) { + while (elem = this[i++]) { + curValue = getClass(elem); + cur = elem.nodeType === 1 && " " + stripAndCollapse(curValue) + " "; + if (cur) { + j = 0; + while (clazz = classes[j++]) { + if (cur.indexOf(" " + clazz + " ") < 0) { + cur += clazz + " "; + } + } + finalValue = stripAndCollapse(cur); + if (curValue !== finalValue) { + elem.setAttribute("class", finalValue); + } + } + } + } + return this; + }, + removeClass: function(value) { + var classes, elem, cur, curValue, clazz, j, finalValue, i = 0; + if (isFunction(value)) { + return this.each(function(j2) { + jQuery2(this).removeClass(value.call(this, j2, getClass(this))); + }); + } + if (!arguments.length) { + return this.attr("class", ""); + } + classes = classesToArray(value); + if (classes.length) { + while (elem = this[i++]) { + curValue = getClass(elem); + cur = elem.nodeType === 1 && " " + stripAndCollapse(curValue) + " "; + if (cur) { + j = 0; + while (clazz = classes[j++]) { + while (cur.indexOf(" " + clazz + " ") > -1) { + cur = cur.replace(" " + clazz + " ", " "); + } + } + finalValue = stripAndCollapse(cur); + if (curValue !== finalValue) { + elem.setAttribute("class", finalValue); + } + } + } + } + return this; + }, + toggleClass: function(value, stateVal) { + var type = typeof value, isValidValue = type === "string" || Array.isArray(value); + if (typeof stateVal === "boolean" && isValidValue) { + return stateVal ? this.addClass(value) : this.removeClass(value); + } + if (isFunction(value)) { + return this.each(function(i) { + jQuery2(this).toggleClass(value.call(this, i, getClass(this), stateVal), stateVal); + }); + } + return this.each(function() { + var className, i, self2, classNames; + if (isValidValue) { + i = 0; + self2 = jQuery2(this); + classNames = classesToArray(value); + while (className = classNames[i++]) { + if (self2.hasClass(className)) { + self2.removeClass(className); + } else { + self2.addClass(className); + } + } + } else if (value === void 0 || type === "boolean") { + className = getClass(this); + if (className) { + dataPriv.set(this, "__className__", className); + } + if (this.setAttribute) { + this.setAttribute("class", className || value === false ? "" : dataPriv.get(this, "__className__") || ""); + } + } + }); + }, + hasClass: function(selector) { + var className, elem, i = 0; + className = " " + selector + " "; + while (elem = this[i++]) { + if (elem.nodeType === 1 && (" " + stripAndCollapse(getClass(elem)) + " ").indexOf(className) > -1) { + return true; + } + } + return false; + } + }); + var rreturn = /\r/g; + jQuery2.fn.extend({ + val: function(value) { + var hooks, ret, valueIsFunction, elem = this[0]; + if (!arguments.length) { + if (elem) { + hooks = jQuery2.valHooks[elem.type] || jQuery2.valHooks[elem.nodeName.toLowerCase()]; + if (hooks && "get" in hooks && (ret = hooks.get(elem, "value")) !== void 0) { + return ret; + } + ret = elem.value; + if (typeof ret === "string") { + return ret.replace(rreturn, ""); + } + return ret == null ? "" : ret; + } + return; + } + valueIsFunction = isFunction(value); + return this.each(function(i) { + var val; + if (this.nodeType !== 1) { + return; + } + if (valueIsFunction) { + val = value.call(this, i, jQuery2(this).val()); + } else { + val = value; + } + if (val == null) { + val = ""; + } else if (typeof val === "number") { + val += ""; + } else if (Array.isArray(val)) { + val = jQuery2.map(val, function(value2) { + return value2 == null ? "" : value2 + ""; + }); + } + hooks = jQuery2.valHooks[this.type] || jQuery2.valHooks[this.nodeName.toLowerCase()]; + if (!hooks || !("set" in hooks) || hooks.set(this, val, "value") === void 0) { + this.value = val; + } + }); + } + }); + jQuery2.extend({ + valHooks: { + option: { + get: function(elem) { + var val = jQuery2.find.attr(elem, "value"); + return val != null ? val : stripAndCollapse(jQuery2.text(elem)); + } + }, + select: { + get: function(elem) { + var value, option, i, options = elem.options, index = elem.selectedIndex, one = elem.type === "select-one", values = one ? null : [], max = one ? index + 1 : options.length; + if (index < 0) { + i = max; + } else { + i = one ? index : 0; + } + for (; i < max; i++) { + option = options[i]; + if ((option.selected || i === index) && !option.disabled && (!option.parentNode.disabled || !nodeName(option.parentNode, "optgroup"))) { + value = jQuery2(option).val(); + if (one) { + return value; + } + values.push(value); + } + } + return values; + }, + set: function(elem, value) { + var optionSet, option, options = elem.options, values = jQuery2.makeArray(value), i = options.length; + while (i--) { + option = options[i]; + if (option.selected = jQuery2.inArray(jQuery2.valHooks.option.get(option), values) > -1) { + optionSet = true; + } + } + if (!optionSet) { + elem.selectedIndex = -1; + } + return values; + } + } + } + }); + jQuery2.each(["radio", "checkbox"], function() { + jQuery2.valHooks[this] = { + set: function(elem, value) { + if (Array.isArray(value)) { + return elem.checked = jQuery2.inArray(jQuery2(elem).val(), value) > -1; + } + } + }; + if (!support.checkOn) { + jQuery2.valHooks[this].get = function(elem) { + return elem.getAttribute("value") === null ? "on" : elem.value; + }; + } + }); + support.focusin = "onfocusin" in window2; + var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, stopPropagationCallback = function(e) { + e.stopPropagation(); + }; + jQuery2.extend(jQuery2.event, { + trigger: function(event, data, elem, onlyHandlers) { + var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, eventPath = [elem || document2], type = hasOwn.call(event, "type") ? event.type : event, namespaces = hasOwn.call(event, "namespace") ? event.namespace.split(".") : []; + cur = lastElement = tmp = elem = elem || document2; + if (elem.nodeType === 3 || elem.nodeType === 8) { + return; + } + if (rfocusMorph.test(type + jQuery2.event.triggered)) { + return; + } + if (type.indexOf(".") > -1) { + namespaces = type.split("."); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf(":") < 0 && "on" + type; + event = event[jQuery2.expando] ? event : new jQuery2.Event(type, typeof event === "object" && event); + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join("."); + event.rnamespace = event.namespace ? new RegExp("(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)") : null; + event.result = void 0; + if (!event.target) { + event.target = elem; + } + data = data == null ? [event] : jQuery2.makeArray(data, [event]); + special = jQuery2.event.special[type] || {}; + if (!onlyHandlers && special.trigger && special.trigger.apply(elem, data) === false) { + return; + } + if (!onlyHandlers && !special.noBubble && !isWindow(elem)) { + bubbleType = special.delegateType || type; + if (!rfocusMorph.test(bubbleType + type)) { + cur = cur.parentNode; + } + for (; cur; cur = cur.parentNode) { + eventPath.push(cur); + tmp = cur; + } + if (tmp === (elem.ownerDocument || document2)) { + eventPath.push(tmp.defaultView || tmp.parentWindow || window2); + } + } + i = 0; + while ((cur = eventPath[i++]) && !event.isPropagationStopped()) { + lastElement = cur; + event.type = i > 1 ? bubbleType : special.bindType || type; + handle = (dataPriv.get(cur, "events") || /* @__PURE__ */ Object.create(null))[event.type] && dataPriv.get(cur, "handle"); + if (handle) { + handle.apply(cur, data); + } + handle = ontype && cur[ontype]; + if (handle && handle.apply && acceptData(cur)) { + event.result = handle.apply(cur, data); + if (event.result === false) { + event.preventDefault(); + } + } + } + event.type = type; + if (!onlyHandlers && !event.isDefaultPrevented()) { + if ((!special._default || special._default.apply(eventPath.pop(), data) === false) && acceptData(elem)) { + if (ontype && isFunction(elem[type]) && !isWindow(elem)) { + tmp = elem[ontype]; + if (tmp) { + elem[ontype] = null; + } + jQuery2.event.triggered = type; + if (event.isPropagationStopped()) { + lastElement.addEventListener(type, stopPropagationCallback); + } + elem[type](); + if (event.isPropagationStopped()) { + lastElement.removeEventListener(type, stopPropagationCallback); + } + jQuery2.event.triggered = void 0; + if (tmp) { + elem[ontype] = tmp; + } + } + } + } + return event.result; + }, + simulate: function(type, elem, event) { + var e = jQuery2.extend(new jQuery2.Event(), event, { + type, + isSimulated: true + }); + jQuery2.event.trigger(e, null, elem); + } + }); + jQuery2.fn.extend({ + trigger: function(type, data) { + return this.each(function() { + jQuery2.event.trigger(type, data, this); + }); + }, + triggerHandler: function(type, data) { + var elem = this[0]; + if (elem) { + return jQuery2.event.trigger(type, data, elem, true); + } + } + }); + if (!support.focusin) { + jQuery2.each({ focus: "focusin", blur: "focusout" }, function(orig, fix) { + var handler = function(event) { + jQuery2.event.simulate(fix, event.target, jQuery2.event.fix(event)); + }; + jQuery2.event.special[fix] = { + setup: function() { + var doc = this.ownerDocument || this.document || this, attaches = dataPriv.access(doc, fix); + if (!attaches) { + doc.addEventListener(orig, handler, true); + } + dataPriv.access(doc, fix, (attaches || 0) + 1); + }, + teardown: function() { + var doc = this.ownerDocument || this.document || this, attaches = dataPriv.access(doc, fix) - 1; + if (!attaches) { + doc.removeEventListener(orig, handler, true); + dataPriv.remove(doc, fix); + } else { + dataPriv.access(doc, fix, attaches); + } + } + }; + }); + } + var location2 = window2.location; + var nonce = { guid: Date.now() }; + var rquery = /\?/; + jQuery2.parseXML = function(data) { + var xml, parserErrorElem; + if (!data || typeof data !== "string") { + return null; + } + try { + xml = new window2.DOMParser().parseFromString(data, "text/xml"); + } catch (e) { + } + parserErrorElem = xml && xml.getElementsByTagName("parsererror")[0]; + if (!xml || parserErrorElem) { + jQuery2.error("Invalid XML: " + (parserErrorElem ? jQuery2.map(parserErrorElem.childNodes, function(el) { + return el.textContent; + }).join("\n") : data)); + } + return xml; + }; + var rbracket = /\[\]$/, rCRLF = /\r?\n/g, rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, rsubmittable = /^(?:input|select|textarea|keygen)/i; + function buildParams(prefix, obj, traditional, add) { + var name; + if (Array.isArray(obj)) { + jQuery2.each(obj, function(i, v) { + if (traditional || rbracket.test(prefix)) { + add(prefix, v); + } else { + buildParams(prefix + "[" + (typeof v === "object" && v != null ? i : "") + "]", v, traditional, add); + } + }); + } else if (!traditional && toType(obj) === "object") { + for (name in obj) { + buildParams(prefix + "[" + name + "]", obj[name], traditional, add); + } + } else { + add(prefix, obj); + } + } + jQuery2.param = function(a, traditional) { + var prefix, s = [], add = function(key, valueOrFunction) { + var value = isFunction(valueOrFunction) ? valueOrFunction() : valueOrFunction; + s[s.length] = encodeURIComponent(key) + "=" + encodeURIComponent(value == null ? "" : value); + }; + if (a == null) { + return ""; + } + if (Array.isArray(a) || a.jquery && !jQuery2.isPlainObject(a)) { + jQuery2.each(a, function() { + add(this.name, this.value); + }); + } else { + for (prefix in a) { + buildParams(prefix, a[prefix], traditional, add); + } + } + return s.join("&"); + }; + jQuery2.fn.extend({ + serialize: function() { + return jQuery2.param(this.serializeArray()); + }, + serializeArray: function() { + return this.map(function() { + var elements = jQuery2.prop(this, "elements"); + return elements ? jQuery2.makeArray(elements) : this; + }).filter(function() { + var type = this.type; + return this.name && !jQuery2(this).is(":disabled") && rsubmittable.test(this.nodeName) && !rsubmitterTypes.test(type) && (this.checked || !rcheckableType.test(type)); + }).map(function(_i, elem) { + var val = jQuery2(this).val(); + if (val == null) { + return null; + } + if (Array.isArray(val)) { + return jQuery2.map(val, function(val2) { + return { name: elem.name, value: val2.replace(rCRLF, "\r\n") }; + }); + } + return { name: elem.name, value: val.replace(rCRLF, "\r\n") }; + }).get(); + } + }); + var r20 = /%20/g, rhash = /#.*$/, rantiCache = /([?&])_=[^&]*/, rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, rnoContent = /^(?:GET|HEAD)$/, rprotocol = /^\/\//, prefilters = {}, transports = {}, allTypes = "*/".concat("*"), originAnchor = document2.createElement("a"); + originAnchor.href = location2.href; + function addToPrefiltersOrTransports(structure) { + return function(dataTypeExpression, func) { + if (typeof dataTypeExpression !== "string") { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + var dataType, i = 0, dataTypes = dataTypeExpression.toLowerCase().match(rnothtmlwhite) || []; + if (isFunction(func)) { + while (dataType = dataTypes[i++]) { + if (dataType[0] === "+") { + dataType = dataType.slice(1) || "*"; + (structure[dataType] = structure[dataType] || []).unshift(func); + } else { + (structure[dataType] = structure[dataType] || []).push(func); + } + } + } + }; + } + function inspectPrefiltersOrTransports(structure, options, originalOptions, jqXHR) { + var inspected = {}, seekingTransport = structure === transports; + function inspect(dataType) { + var selected; + inspected[dataType] = true; + jQuery2.each(structure[dataType] || [], function(_, prefilterOrFactory) { + var dataTypeOrTransport = prefilterOrFactory(options, originalOptions, jqXHR); + if (typeof dataTypeOrTransport === "string" && !seekingTransport && !inspected[dataTypeOrTransport]) { + options.dataTypes.unshift(dataTypeOrTransport); + inspect(dataTypeOrTransport); + return false; + } else if (seekingTransport) { + return !(selected = dataTypeOrTransport); + } + }); + return selected; + } + return inspect(options.dataTypes[0]) || !inspected["*"] && inspect("*"); + } + function ajaxExtend(target, src) { + var key, deep, flatOptions = jQuery2.ajaxSettings.flatOptions || {}; + for (key in src) { + if (src[key] !== void 0) { + (flatOptions[key] ? target : deep || (deep = {}))[key] = src[key]; + } + } + if (deep) { + jQuery2.extend(true, target, deep); + } + return target; + } + function ajaxHandleResponses(s, jqXHR, responses) { + var ct, type, finalDataType, firstDataType, contents = s.contents, dataTypes = s.dataTypes; + while (dataTypes[0] === "*") { + dataTypes.shift(); + if (ct === void 0) { + ct = s.mimeType || jqXHR.getResponseHeader("Content-Type"); + } + } + if (ct) { + for (type in contents) { + if (contents[type] && contents[type].test(ct)) { + dataTypes.unshift(type); + break; + } + } + } + if (dataTypes[0] in responses) { + finalDataType = dataTypes[0]; + } else { + for (type in responses) { + if (!dataTypes[0] || s.converters[type + " " + dataTypes[0]]) { + finalDataType = type; + break; + } + if (!firstDataType) { + firstDataType = type; + } + } + finalDataType = finalDataType || firstDataType; + } + if (finalDataType) { + if (finalDataType !== dataTypes[0]) { + dataTypes.unshift(finalDataType); + } + return responses[finalDataType]; + } + } + function ajaxConvert(s, response, jqXHR, isSuccess) { + var conv2, current, conv, tmp, prev, converters = {}, dataTypes = s.dataTypes.slice(); + if (dataTypes[1]) { + for (conv in s.converters) { + converters[conv.toLowerCase()] = s.converters[conv]; + } + } + current = dataTypes.shift(); + while (current) { + if (s.responseFields[current]) { + jqXHR[s.responseFields[current]] = response; + } + if (!prev && isSuccess && s.dataFilter) { + response = s.dataFilter(response, s.dataType); + } + prev = current; + current = dataTypes.shift(); + if (current) { + if (current === "*") { + current = prev; + } else if (prev !== "*" && prev !== current) { + conv = converters[prev + " " + current] || converters["* " + current]; + if (!conv) { + for (conv2 in converters) { + tmp = conv2.split(" "); + if (tmp[1] === current) { + conv = converters[prev + " " + tmp[0]] || converters["* " + tmp[0]]; + if (conv) { + if (conv === true) { + conv = converters[conv2]; + } else if (converters[conv2] !== true) { + current = tmp[0]; + dataTypes.unshift(tmp[1]); + } + break; + } + } + } + } + if (conv !== true) { + if (conv && s.throws) { + response = conv(response); + } else { + try { + response = conv(response); + } catch (e) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + return { state: "success", data: response }; + } + jQuery2.extend({ + active: 0, + lastModified: {}, + etag: {}, + ajaxSettings: { + url: location2.href, + type: "GET", + isLocal: rlocalProtocol.test(location2.protocol), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + converters: { + "* text": String, + "text html": true, + "text json": JSON.parse, + "text xml": jQuery2.parseXML + }, + flatOptions: { + url: true, + context: true + } + }, + ajaxSetup: function(target, settings) { + return settings ? ajaxExtend(ajaxExtend(target, jQuery2.ajaxSettings), settings) : ajaxExtend(jQuery2.ajaxSettings, target); + }, + ajaxPrefilter: addToPrefiltersOrTransports(prefilters), + ajaxTransport: addToPrefiltersOrTransports(transports), + ajax: function(url, options) { + if (typeof url === "object") { + options = url; + url = void 0; + } + options = options || {}; + var transport, cacheURL, responseHeadersString, responseHeaders, timeoutTimer, urlAnchor, completed2, fireGlobals, i, uncached, s = jQuery2.ajaxSetup({}, options), callbackContext = s.context || s, globalEventContext = s.context && (callbackContext.nodeType || callbackContext.jquery) ? jQuery2(callbackContext) : jQuery2.event, deferred = jQuery2.Deferred(), completeDeferred = jQuery2.Callbacks("once memory"), statusCode = s.statusCode || {}, requestHeaders = {}, requestHeadersNames = {}, strAbort = "canceled", jqXHR = { + readyState: 0, + getResponseHeader: function(key) { + var match; + if (completed2) { + if (!responseHeaders) { + responseHeaders = {}; + while (match = rheaders.exec(responseHeadersString)) { + responseHeaders[match[1].toLowerCase() + " "] = (responseHeaders[match[1].toLowerCase() + " "] || []).concat(match[2]); + } + } + match = responseHeaders[key.toLowerCase() + " "]; + } + return match == null ? null : match.join(", "); + }, + getAllResponseHeaders: function() { + return completed2 ? responseHeadersString : null; + }, + setRequestHeader: function(name, value) { + if (completed2 == null) { + name = requestHeadersNames[name.toLowerCase()] = requestHeadersNames[name.toLowerCase()] || name; + requestHeaders[name] = value; + } + return this; + }, + overrideMimeType: function(type) { + if (completed2 == null) { + s.mimeType = type; + } + return this; + }, + statusCode: function(map) { + var code; + if (map) { + if (completed2) { + jqXHR.always(map[jqXHR.status]); + } else { + for (code in map) { + statusCode[code] = [statusCode[code], map[code]]; + } + } + } + return this; + }, + abort: function(statusText) { + var finalText = statusText || strAbort; + if (transport) { + transport.abort(finalText); + } + done(0, finalText); + return this; + } + }; + deferred.promise(jqXHR); + s.url = ((url || s.url || location2.href) + "").replace(rprotocol, location2.protocol + "//"); + s.type = options.method || options.type || s.method || s.type; + s.dataTypes = (s.dataType || "*").toLowerCase().match(rnothtmlwhite) || [""]; + if (s.crossDomain == null) { + urlAnchor = document2.createElement("a"); + try { + urlAnchor.href = s.url; + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== urlAnchor.protocol + "//" + urlAnchor.host; + } catch (e) { + s.crossDomain = true; + } + } + if (s.data && s.processData && typeof s.data !== "string") { + s.data = jQuery2.param(s.data, s.traditional); + } + inspectPrefiltersOrTransports(prefilters, s, options, jqXHR); + if (completed2) { + return jqXHR; + } + fireGlobals = jQuery2.event && s.global; + if (fireGlobals && jQuery2.active++ === 0) { + jQuery2.event.trigger("ajaxStart"); + } + s.type = s.type.toUpperCase(); + s.hasContent = !rnoContent.test(s.type); + cacheURL = s.url.replace(rhash, ""); + if (!s.hasContent) { + uncached = s.url.slice(cacheURL.length); + if (s.data && (s.processData || typeof s.data === "string")) { + cacheURL += (rquery.test(cacheURL) ? "&" : "?") + s.data; + delete s.data; + } + if (s.cache === false) { + cacheURL = cacheURL.replace(rantiCache, "$1"); + uncached = (rquery.test(cacheURL) ? "&" : "?") + "_=" + nonce.guid++ + uncached; + } + s.url = cacheURL + uncached; + } else if (s.data && s.processData && (s.contentType || "").indexOf("application/x-www-form-urlencoded") === 0) { + s.data = s.data.replace(r20, "+"); + } + if (s.ifModified) { + if (jQuery2.lastModified[cacheURL]) { + jqXHR.setRequestHeader("If-Modified-Since", jQuery2.lastModified[cacheURL]); + } + if (jQuery2.etag[cacheURL]) { + jqXHR.setRequestHeader("If-None-Match", jQuery2.etag[cacheURL]); + } + } + if (s.data && s.hasContent && s.contentType !== false || options.contentType) { + jqXHR.setRequestHeader("Content-Type", s.contentType); + } + jqXHR.setRequestHeader("Accept", s.dataTypes[0] && s.accepts[s.dataTypes[0]] ? s.accepts[s.dataTypes[0]] + (s.dataTypes[0] !== "*" ? ", " + allTypes + "; q=0.01" : "") : s.accepts["*"]); + for (i in s.headers) { + jqXHR.setRequestHeader(i, s.headers[i]); + } + if (s.beforeSend && (s.beforeSend.call(callbackContext, jqXHR, s) === false || completed2)) { + return jqXHR.abort(); + } + strAbort = "abort"; + completeDeferred.add(s.complete); + jqXHR.done(s.success); + jqXHR.fail(s.error); + transport = inspectPrefiltersOrTransports(transports, s, options, jqXHR); + if (!transport) { + done(-1, "No Transport"); + } else { + jqXHR.readyState = 1; + if (fireGlobals) { + globalEventContext.trigger("ajaxSend", [jqXHR, s]); + } + if (completed2) { + return jqXHR; + } + if (s.async && s.timeout > 0) { + timeoutTimer = window2.setTimeout(function() { + jqXHR.abort("timeout"); + }, s.timeout); + } + try { + completed2 = false; + transport.send(requestHeaders, done); + } catch (e) { + if (completed2) { + throw e; + } + done(-1, e); + } + } + function done(status, nativeStatusText, responses, headers) { + var isSuccess, success, error, response, modified, statusText = nativeStatusText; + if (completed2) { + return; + } + completed2 = true; + if (timeoutTimer) { + window2.clearTimeout(timeoutTimer); + } + transport = void 0; + responseHeadersString = headers || ""; + jqXHR.readyState = status > 0 ? 4 : 0; + isSuccess = status >= 200 && status < 300 || status === 304; + if (responses) { + response = ajaxHandleResponses(s, jqXHR, responses); + } + if (!isSuccess && jQuery2.inArray("script", s.dataTypes) > -1 && jQuery2.inArray("json", s.dataTypes) < 0) { + s.converters["text script"] = function() { + }; + } + response = ajaxConvert(s, response, jqXHR, isSuccess); + if (isSuccess) { + if (s.ifModified) { + modified = jqXHR.getResponseHeader("Last-Modified"); + if (modified) { + jQuery2.lastModified[cacheURL] = modified; + } + modified = jqXHR.getResponseHeader("etag"); + if (modified) { + jQuery2.etag[cacheURL] = modified; + } + } + if (status === 204 || s.type === "HEAD") { + statusText = "nocontent"; + } else if (status === 304) { + statusText = "notmodified"; + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + error = statusText; + if (status || !statusText) { + statusText = "error"; + if (status < 0) { + status = 0; + } + } + } + jqXHR.status = status; + jqXHR.statusText = (nativeStatusText || statusText) + ""; + if (isSuccess) { + deferred.resolveWith(callbackContext, [success, statusText, jqXHR]); + } else { + deferred.rejectWith(callbackContext, [jqXHR, statusText, error]); + } + jqXHR.statusCode(statusCode); + statusCode = void 0; + if (fireGlobals) { + globalEventContext.trigger(isSuccess ? "ajaxSuccess" : "ajaxError", [jqXHR, s, isSuccess ? success : error]); + } + completeDeferred.fireWith(callbackContext, [jqXHR, statusText]); + if (fireGlobals) { + globalEventContext.trigger("ajaxComplete", [jqXHR, s]); + if (!--jQuery2.active) { + jQuery2.event.trigger("ajaxStop"); + } + } + } + return jqXHR; + }, + getJSON: function(url, data, callback) { + return jQuery2.get(url, data, callback, "json"); + }, + getScript: function(url, callback) { + return jQuery2.get(url, void 0, callback, "script"); + } + }); + jQuery2.each(["get", "post"], function(_i, method) { + jQuery2[method] = function(url, data, callback, type) { + if (isFunction(data)) { + type = type || callback; + callback = data; + data = void 0; + } + return jQuery2.ajax(jQuery2.extend({ + url, + type: method, + dataType: type, + data, + success: callback + }, jQuery2.isPlainObject(url) && url)); + }; + }); + jQuery2.ajaxPrefilter(function(s) { + var i; + for (i in s.headers) { + if (i.toLowerCase() === "content-type") { + s.contentType = s.headers[i] || ""; + } + } + }); + jQuery2._evalUrl = function(url, options, doc) { + return jQuery2.ajax({ + url, + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + converters: { + "text script": function() { + } + }, + dataFilter: function(response) { + jQuery2.globalEval(response, options, doc); + } + }); + }; + jQuery2.fn.extend({ + wrapAll: function(html) { + var wrap; + if (this[0]) { + if (isFunction(html)) { + html = html.call(this[0]); + } + wrap = jQuery2(html, this[0].ownerDocument).eq(0).clone(true); + if (this[0].parentNode) { + wrap.insertBefore(this[0]); + } + wrap.map(function() { + var elem = this; + while (elem.firstElementChild) { + elem = elem.firstElementChild; + } + return elem; + }).append(this); + } + return this; + }, + wrapInner: function(html) { + if (isFunction(html)) { + return this.each(function(i) { + jQuery2(this).wrapInner(html.call(this, i)); + }); + } + return this.each(function() { + var self2 = jQuery2(this), contents = self2.contents(); + if (contents.length) { + contents.wrapAll(html); + } else { + self2.append(html); + } + }); + }, + wrap: function(html) { + var htmlIsFunction = isFunction(html); + return this.each(function(i) { + jQuery2(this).wrapAll(htmlIsFunction ? html.call(this, i) : html); + }); + }, + unwrap: function(selector) { + this.parent(selector).not("body").each(function() { + jQuery2(this).replaceWith(this.childNodes); + }); + return this; + } + }); + jQuery2.expr.pseudos.hidden = function(elem) { + return !jQuery2.expr.pseudos.visible(elem); + }; + jQuery2.expr.pseudos.visible = function(elem) { + return !!(elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length); + }; + jQuery2.ajaxSettings.xhr = function() { + try { + return new window2.XMLHttpRequest(); + } catch (e) { + } + }; + var xhrSuccessStatus = { + 0: 200, + 1223: 204 + }, xhrSupported = jQuery2.ajaxSettings.xhr(); + support.cors = !!xhrSupported && "withCredentials" in xhrSupported; + support.ajax = xhrSupported = !!xhrSupported; + jQuery2.ajaxTransport(function(options) { + var callback, errorCallback; + if (support.cors || xhrSupported && !options.crossDomain) { + return { + send: function(headers, complete) { + var i, xhr = options.xhr(); + xhr.open(options.type, options.url, options.async, options.username, options.password); + if (options.xhrFields) { + for (i in options.xhrFields) { + xhr[i] = options.xhrFields[i]; + } + } + if (options.mimeType && xhr.overrideMimeType) { + xhr.overrideMimeType(options.mimeType); + } + if (!options.crossDomain && !headers["X-Requested-With"]) { + headers["X-Requested-With"] = "XMLHttpRequest"; + } + for (i in headers) { + xhr.setRequestHeader(i, headers[i]); + } + callback = function(type) { + return function() { + if (callback) { + callback = errorCallback = xhr.onload = xhr.onerror = xhr.onabort = xhr.ontimeout = xhr.onreadystatechange = null; + if (type === "abort") { + xhr.abort(); + } else if (type === "error") { + if (typeof xhr.status !== "number") { + complete(0, "error"); + } else { + complete(xhr.status, xhr.statusText); + } + } else { + complete(xhrSuccessStatus[xhr.status] || xhr.status, xhr.statusText, (xhr.responseType || "text") !== "text" || typeof xhr.responseText !== "string" ? { binary: xhr.response } : { text: xhr.responseText }, xhr.getAllResponseHeaders()); + } + } + }; + }; + xhr.onload = callback(); + errorCallback = xhr.onerror = xhr.ontimeout = callback("error"); + if (xhr.onabort !== void 0) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + if (xhr.readyState === 4) { + window2.setTimeout(function() { + if (callback) { + errorCallback(); + } + }); + } + }; + } + callback = callback("abort"); + try { + xhr.send(options.hasContent && options.data || null); + } catch (e) { + if (callback) { + throw e; + } + } + }, + abort: function() { + if (callback) { + callback(); + } + } + }; + } + }); + jQuery2.ajaxPrefilter(function(s) { + if (s.crossDomain) { + s.contents.script = false; + } + }); + jQuery2.ajaxSetup({ + accepts: { + script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function(text) { + jQuery2.globalEval(text); + return text; + } + } + }); + jQuery2.ajaxPrefilter("script", function(s) { + if (s.cache === void 0) { + s.cache = false; + } + if (s.crossDomain) { + s.type = "GET"; + } + }); + jQuery2.ajaxTransport("script", function(s) { + if (s.crossDomain || s.scriptAttrs) { + var script, callback; + return { + send: function(_, complete) { + script = jQuery2("