diff --git a/.eslintrc.js b/.eslintrc.js index 89f43e3ebf851..8a641af8856c4 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -160,6 +160,8 @@ module.exports = { { from: ['src/legacy/ui/**/*', 'ui/**/*'], target: [ + 'test/plugin_functional/plugins/**/public/np_ready/**/*', + 'test/plugin_functional/plugins/**/server/np_ready/**/*', 'src/legacy/core_plugins/**/public/np_ready/**/*', 'src/legacy/core_plugins/**/server/np_ready/**/*', 'x-pack/legacy/plugins/**/public/np_ready/**/*', diff --git a/docs/security/authentication/index.asciidoc b/docs/security/authentication/index.asciidoc index 19a2f5ec4b3a5..1b326c95e20b5 100644 --- a/docs/security/authentication/index.asciidoc +++ b/docs/security/authentication/index.asciidoc @@ -9,6 +9,7 @@ - <> - <> +- <> - <> - <> @@ -44,6 +45,36 @@ The token authentication provider can be used in conjunction with the basic auth xpack.security.authc.providers: [token, basic] -------------------------------------------------------------------------------- +[[pki-authentication]] +==== Public Key Infrastructure (PKI) Authentication + +[IMPORTANT] +============================================================================ +PKI authentication will not work if {kib} is hosted behind a TLS termination reverse proxy. In this configuration, {kib} does not have direct access to the client certificates and cannot authenticate the user. +============================================================================ + +PKI authentication allows users to log into {kib} using X.509 client certificates that must be presented while connecting to {kib}. The certificates must first be accepted for authentication on the {kib} TLS layer, and then they are further validated by an {es} PKI realm. The PKI authentication provider relies on the {es} {ref}/security-api-delegate-pki-authentication.html[Delegate PKI authentication API] to exchange X.509 client certificates to access tokens. All subsequent requests to {es} APIs on behalf of users will be authenticated using these access tokens. + +Prior to configuring {kib}, ensure that the PKI realm is enabled in {es} and configured to permit delegation. See {ref}/configuring-pki-realm.html[Configuring a PKI realm] for more information. + +To enable the PKI authentication provider in {kib}, you must first <>. You must also enable TLS client authentication and include the certificate authority (CA) used to sign client certificates into a list of CAs trusted by {kib} in your `kibana.yml`: + +[source,yaml] +-------------------------------------------------------------------------------- +server.ssl.certificateAuthorities: /path/to/your/cacert.pem +server.ssl.clientAuthentication: required +xpack.security.authc.providers: [pki] +-------------------------------------------------------------------------------- + +PKI support in {kib} is designed to be the primary (or sole) authentication method for users of that {kib} instance. However, you can configure both PKI and Basic authentication for the same {kib} instance: + +[source,yaml] +-------------------------------------------------------------------------------- +xpack.security.authc.providers: [pki, basic] +-------------------------------------------------------------------------------- + +Note that with `server.ssl.clientAuthentication` set to `required`, users are asked to provide a valid client certificate, even if they want to authenticate with username and password. Depending on the security policies, it may or may not be desired. If not, `server.ssl.clientAuthentication` can be set to `optional`. In this case, {kib} still requests a client certificate, but the client won't be required to present one. The `optional` client authentication mode might also be needed in other cases, for example, when PKI authentication is used in conjunction with Reporting. + [[saml]] ==== SAML Single Sign-On diff --git a/packages/kbn-pm/dist/index.js b/packages/kbn-pm/dist/index.js index fdba2da45b1ca..8953cee42d036 100644 --- a/packages/kbn-pm/dist/index.js +++ b/packages/kbn-pm/dist/index.js @@ -94,21 +94,21 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _cli__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "run", function() { return _cli__WEBPACK_IMPORTED_MODULE_0__["run"]; }); -/* harmony import */ var _production__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(402); +/* harmony import */ var _production__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(403); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "buildProductionProjects", function() { return _production__WEBPACK_IMPORTED_MODULE_1__["buildProductionProjects"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "prepareExternalProjectDependencies", function() { return _production__WEBPACK_IMPORTED_MODULE_1__["prepareExternalProjectDependencies"]; }); -/* harmony import */ var _utils_projects__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(35); +/* harmony import */ var _utils_projects__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(36); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getProjects", function() { return _utils_projects__WEBPACK_IMPORTED_MODULE_2__["getProjects"]; }); -/* harmony import */ var _utils_project__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(53); +/* harmony import */ var _utils_project__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(54); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Project", function() { return _utils_project__WEBPACK_IMPORTED_MODULE_3__["Project"]; }); -/* harmony import */ var _utils_workspaces__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(161); +/* harmony import */ var _utils_workspaces__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(162); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "copyWorkspacePackages", function() { return _utils_workspaces__WEBPACK_IMPORTED_MODULE_4__["copyWorkspacePackages"]; }); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(162); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(163); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getProjectPaths", function() { return _config__WEBPACK_IMPORTED_MODULE_5__["getProjectPaths"]; }); /* @@ -152,8 +152,8 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(16); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var _commands__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(17); -/* harmony import */ var _run__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(392); -/* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(33); +/* harmony import */ var _run__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(393); +/* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(34); /* * Licensed to Elasticsearch B.V. under one or more contributor * license agreements. See the NOTICE file distributed with @@ -2502,9 +2502,9 @@ module.exports = require("path"); __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "commands", function() { return commands; }); /* harmony import */ var _bootstrap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(18); -/* harmony import */ var _clean__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(163); -/* harmony import */ var _run__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(190); -/* harmony import */ var _watch__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(191); +/* harmony import */ var _clean__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(164); +/* harmony import */ var _run__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(191); +/* harmony import */ var _watch__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(192); /* * Licensed to Elasticsearch B.V. under one or more contributor * license agreements. See the NOTICE file distributed with @@ -2544,9 +2544,9 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2); /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(chalk__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _utils_link_project_executables__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(19); -/* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(33); -/* harmony import */ var _utils_parallelize__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(34); -/* harmony import */ var _utils_projects__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(35); +/* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(34); +/* harmony import */ var _utils_parallelize__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(35); +/* harmony import */ var _utils_projects__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(36); /* * Licensed to Elasticsearch B.V. under one or more contributor * license agreements. See the NOTICE file distributed with @@ -2631,7 +2631,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2); /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(chalk__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _fs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20); -/* harmony import */ var _log__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(33); +/* harmony import */ var _log__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(34); /* * Licensed to Elasticsearch B.V. under one or more contributor * license agreements. See the NOTICE file distributed with @@ -2712,7 +2712,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(fs__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var mkdirp__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(31); /* harmony import */ var mkdirp__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(mkdirp__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var ncp__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(32); +/* harmony import */ var ncp__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(33); /* harmony import */ var ncp__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(ncp__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(16); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_4__); @@ -2847,7 +2847,8 @@ var fs = __webpack_require__(22) var mkdir = __webpack_require__(31) , path = __webpack_require__(16) - , shebangExpr = /^#\!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/ + , toBatchSyntax = __webpack_require__(32) + , shebangExpr = /^#\!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+=[^ \t]+\s+)*\s*([^ \t]+)(.*)$/ function cmdShimIfExists (from, to, cb) { fs.stat(from, function (er) { @@ -2895,51 +2896,70 @@ function writeShim (from, to, cb) { if (er) return writeShim_(from, to, null, null, cb) var firstLine = data.trim().split(/\r*\n/)[0] , shebang = firstLine.match(shebangExpr) - if (!shebang) return writeShim_(from, to, null, null, cb) - var prog = shebang[1] - , args = shebang[2] || "" - return writeShim_(from, to, prog, args, cb) + if (!shebang) return writeShim_(from, to, null, null, null, cb) + var vars = shebang[1] || "" + , prog = shebang[2] + , args = shebang[3] || "" + return writeShim_(from, to, prog, args, vars, cb) }) }) } -function writeShim_ (from, to, prog, args, cb) { + +function writeShim_ (from, to, prog, args, variables, cb) { var shTarget = path.relative(path.dirname(to), from) , target = shTarget.split("/").join("\\") , longProg , shProg = prog && prog.split("\\").join("/") , shLongProg + , pwshProg = shProg && "\"" + shProg + "$exe\"" + , pwshLongProg shTarget = shTarget.split("\\").join("/") args = args || "" + variables = variables || "" if (!prog) { prog = "\"%~dp0\\" + target + "\"" shProg = "\"$basedir/" + shTarget + "\"" + pwshProg = shProg args = "" target = "" shTarget = "" } else { longProg = "\"%~dp0\\" + prog + ".exe\"" shLongProg = "\"$basedir/" + prog + "\"" + pwshLongProg = "\"$basedir/" + prog + "$exe\"" target = "\"%~dp0\\" + target + "\"" shTarget = "\"$basedir/" + shTarget + "\"" } + // @SETLOCAL + // // @IF EXIST "%~dp0\node.exe" ( - // "%~dp0\node.exe" "%~dp0\.\node_modules\npm\bin\npm-cli.js" %* + // @SET "_prog=%~dp0\node.exe" // ) ELSE ( - // SETLOCAL - // SET PATHEXT=%PATHEXT:;.JS;=;% - // node "%~dp0\.\node_modules\npm\bin\npm-cli.js" %* + // @SET "_prog=node" + // @SET PATHEXT=%PATHEXT:;.JS;=;% // ) + // + // "%_prog%" "%~dp0\.\node_modules\npm\bin\npm-cli.js" %* + // @ENDLOCAL var cmd if (longProg) { - cmd = "@IF EXIST " + longProg + " (\r\n" - + " " + longProg + " " + args + " " + target + " %*\r\n" + shLongProg = shLongProg.trim(); + args = args.trim(); + var variableDeclarationsAsBatch = toBatchSyntax.convertToSetCommands(variables) + cmd = "@SETLOCAL\r\n" + + variableDeclarationsAsBatch + + "\r\n" + + "@IF EXIST " + longProg + " (\r\n" + + " @SET \"_prog=" + longProg.replace(/(^")|("$)/g, '') + "\"\r\n" + ") ELSE (\r\n" - + " @SETLOCAL\r\n" + + " @SET \"_prog=" + prog.replace(/(^")|("$)/g, '') + "\"\r\n" + " @SET PATHEXT=%PATHEXT:;.JS;=;%\r\n" - + " " + prog + " " + args + " " + target + " %*\r\n" - + ")" + + ")\r\n" + + "\r\n" + + "\"%_prog%\" " + args + " " + target + " %*\r\n" + + '@ENDLOCAL\r\n' } else { cmd = "@" + prog + " " + args + " " + target + " %*\r\n" } @@ -2948,7 +2968,7 @@ function writeShim_ (from, to, prog, args, cb) { // basedir=`dirname "$0"` // // case `uname` in - // *CYGWIN*) basedir=`cygpath -w "$basedir"`;; + // *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;; // esac // // if [ -x "$basedir/node.exe" ]; then @@ -2962,30 +2982,76 @@ function writeShim_ (from, to, prog, args, cb) { var sh = "#!/bin/sh\n" - if (shLongProg) { - sh = sh - + "basedir=$(dirname \"$(echo \"$0\" | sed -e 's,\\\\,/,g')\")\n" - + "\n" - + "case `uname` in\n" - + " *CYGWIN*) basedir=`cygpath -w \"$basedir\"`;;\n" - + "esac\n" - + "\n" + sh = sh + + "basedir=$(dirname \"$(echo \"$0\" | sed -e 's,\\\\,/,g')\")\n" + + "\n" + + "case `uname` in\n" + + " *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w \"$basedir\"`;;\n" + + "esac\n" + + "\n" + if (shLongProg) { sh = sh + "if [ -x "+shLongProg+" ]; then\n" - + " " + shLongProg + " " + args + " " + shTarget + " \"$@\"\n" + + " " + variables + shLongProg + " " + args + " " + shTarget + " \"$@\"\n" + " ret=$?\n" + "else \n" - + " " + shProg + " " + args + " " + shTarget + " \"$@\"\n" + + " " + variables + shProg + " " + args + " " + shTarget + " \"$@\"\n" + " ret=$?\n" + "fi\n" + "exit $ret\n" } else { - sh = shProg + " " + args + " " + shTarget + " \"$@\"\n" + sh = sh + + shProg + " " + args + " " + shTarget + " \"$@\"\n" + "exit $?\n" } - var then = times(2, next, cb) + // #!/usr/bin/env pwsh + // $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + // + // $ret=0 + // $exe = "" + // if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + // # Fix case when both the Windows and Linux builds of Node + // # are installed in the same directory + // $exe = ".exe" + // } + // if (Test-Path "$basedir/node") { + // & "$basedir/node$exe" "$basedir/node_modules/npm/bin/npm-cli.js" $args + // $ret=$LASTEXITCODE + // } else { + // & "node$exe" "$basedir/node_modules/npm/bin/npm-cli.js" $args + // $ret=$LASTEXITCODE + // } + // exit $ret + var pwsh = "#!/usr/bin/env pwsh\n" + + "$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent\n" + + "\n" + + "$exe=\"\"\n" + + "if ($PSVersionTable.PSVersion -lt \"6.0\" -or $IsWindows) {\n" + + " # Fix case when both the Windows and Linux builds of Node\n" + + " # are installed in the same directory\n" + + " $exe=\".exe\"\n" + + "}\n" + if (shLongProg) { + pwsh = pwsh + + "$ret=0\n" + + "if (Test-Path " + pwshLongProg + ") {\n" + + " & " + pwshLongProg + " " + args + " " + shTarget + " $args\n" + + " $ret=$LASTEXITCODE\n" + + "} else {\n" + + " & " + pwshProg + " " + args + " " + shTarget + " $args\n" + + " $ret=$LASTEXITCODE\n" + + "}\n" + + "exit $ret\n" + } else { + pwsh = pwsh + + "& " + pwshProg + " " + args + " " + shTarget + " $args\n" + + "exit $LASTEXITCODE\n" + } + + var then = times(3, next, cb) + fs.writeFile(to + ".ps1", pwsh, "utf8", then) fs.writeFile(to + ".cmd", cmd, "utf8", then) fs.writeFile(to, sh, "utf8", then) function next () { @@ -2995,8 +3061,9 @@ function writeShim_ (from, to, prog, args, cb) { function chmodShim (to, cb) { var then = times(2, cb, cb) - fs.chmod(to, 0755, then) - fs.chmod(to + ".cmd", 0755, then) + fs.chmod(to, "0755", then) + fs.chmod(to + ".cmd", "0755", then) + fs.chmod(to + ".ps1", "0755", then) } function times(n, ok, cb) { @@ -3904,6 +3971,64 @@ mkdirP.sync = function sync (p, opts, made) { /***/ }), /* 32 */ +/***/ (function(module, exports) { + +exports.replaceDollarWithPercentPair = replaceDollarWithPercentPair +exports.convertToSetCommand = convertToSetCommand +exports.convertToSetCommands = convertToSetCommands + +function convertToSetCommand(key, value) { + var line = "" + key = key || "" + key = key.trim() + value = value || "" + value = value.trim() + if(key && value && value.length > 0) { + line = "@SET " + key + "=" + replaceDollarWithPercentPair(value) + "\r\n" + } + return line +} + +function extractVariableValuePairs(declarations) { + var pairs = {} + declarations.map(function(declaration) { + var split = declaration.split("=") + pairs[split[0]]=split[1] + }) + return pairs +} + +function convertToSetCommands(variableString) { + var variableValuePairs = extractVariableValuePairs(variableString.split(" ")) + var variableDeclarationsAsBatch = "" + Object.keys(variableValuePairs).forEach(function (key) { + variableDeclarationsAsBatch += convertToSetCommand(key, variableValuePairs[key]) + }) + return variableDeclarationsAsBatch +} + +function replaceDollarWithPercentPair(value) { + var dollarExpressions = /\$\{?([^\$@#\?\- \t{}:]+)\}?/g + var result = "" + var startIndex = 0 + value = value || "" + do { + var match = dollarExpressions.exec(value) + if(match) { + var betweenMatches = value.substring(startIndex, match.index) || "" + result += betweenMatches + "%" + match[1] + "%" + startIndex = dollarExpressions.lastIndex + } + } while (dollarExpressions.lastIndex > 0) + result += value.substr(startIndex) + return result +} + + + + +/***/ }), +/* 33 */ /***/ (function(module, exports, __webpack_require__) { var fs = __webpack_require__(23), @@ -4170,7 +4295,7 @@ function ncp (source, dest, options, callback) { /***/ }), -/* 33 */ +/* 34 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4208,7 +4333,7 @@ const log = { }; /***/ }), -/* 34 */ +/* 35 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4274,7 +4399,7 @@ async function parallelize(items, fn, concurrency = 4) { } /***/ }), -/* 35 */ +/* 36 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4283,15 +4408,15 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "buildProjectGraph", function() { return buildProjectGraph; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "topologicallyBatchProjects", function() { return topologicallyBatchProjects; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "includeTransitiveProjects", function() { return includeTransitiveProjects; }); -/* harmony import */ var glob__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(36); +/* harmony import */ var glob__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(37); /* harmony import */ var glob__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(glob__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(29); /* harmony import */ var util__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(util__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(52); -/* harmony import */ var _project__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(53); -/* harmony import */ var _workspaces__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(161); +/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(53); +/* harmony import */ var _project__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(54); +/* harmony import */ var _workspaces__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(162); /* * Licensed to Elasticsearch B.V. under one or more contributor * license agreements. See the NOTICE file distributed with @@ -4488,7 +4613,7 @@ function includeTransitiveProjects(subsetOfProjects, allProjects, { } /***/ }), -/* 36 */ +/* 37 */ /***/ (function(module, exports, __webpack_require__) { // Approach: @@ -4534,26 +4659,26 @@ function includeTransitiveProjects(subsetOfProjects, allProjects, { module.exports = glob var fs = __webpack_require__(23) -var rp = __webpack_require__(37) -var minimatch = __webpack_require__(39) +var rp = __webpack_require__(38) +var minimatch = __webpack_require__(40) var Minimatch = minimatch.Minimatch -var inherits = __webpack_require__(43) -var EE = __webpack_require__(45).EventEmitter +var inherits = __webpack_require__(44) +var EE = __webpack_require__(46).EventEmitter var path = __webpack_require__(16) var assert = __webpack_require__(30) -var isAbsolute = __webpack_require__(46) -var globSync = __webpack_require__(47) -var common = __webpack_require__(48) +var isAbsolute = __webpack_require__(47) +var globSync = __webpack_require__(48) +var common = __webpack_require__(49) var alphasort = common.alphasort var alphasorti = common.alphasorti var setopts = common.setopts var ownProp = common.ownProp -var inflight = __webpack_require__(49) +var inflight = __webpack_require__(50) var util = __webpack_require__(29) var childrenIgnored = common.childrenIgnored var isIgnored = common.isIgnored -var once = __webpack_require__(51) +var once = __webpack_require__(52) function glob (pattern, options, cb) { if (typeof options === 'function') cb = options, options = {} @@ -5284,7 +5409,7 @@ Glob.prototype._stat2 = function (f, abs, er, stat, cb) { /***/ }), -/* 37 */ +/* 38 */ /***/ (function(module, exports, __webpack_require__) { module.exports = realpath @@ -5300,7 +5425,7 @@ var origRealpathSync = fs.realpathSync var version = process.version var ok = /^v[0-5]\./.test(version) -var old = __webpack_require__(38) +var old = __webpack_require__(39) function newError (er) { return er && er.syscall === 'realpath' && ( @@ -5356,7 +5481,7 @@ function unmonkeypatch () { /***/ }), -/* 38 */ +/* 39 */ /***/ (function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. @@ -5665,7 +5790,7 @@ exports.realpath = function realpath(p, cache, cb) { /***/ }), -/* 39 */ +/* 40 */ /***/ (function(module, exports, __webpack_require__) { module.exports = minimatch @@ -5677,7 +5802,7 @@ try { } catch (er) {} var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {} -var expand = __webpack_require__(40) +var expand = __webpack_require__(41) var plTypes = { '!': { open: '(?:(?!(?:', close: '))[^/]*?)'}, @@ -6594,11 +6719,11 @@ function regExpEscape (s) { /***/ }), -/* 40 */ +/* 41 */ /***/ (function(module, exports, __webpack_require__) { -var concatMap = __webpack_require__(41); -var balanced = __webpack_require__(42); +var concatMap = __webpack_require__(42); +var balanced = __webpack_require__(43); module.exports = expandTop; @@ -6801,7 +6926,7 @@ function expand(str, isTop) { /***/ }), -/* 41 */ +/* 42 */ /***/ (function(module, exports) { module.exports = function (xs, fn) { @@ -6820,7 +6945,7 @@ var isArray = Array.isArray || function (xs) { /***/ }), -/* 42 */ +/* 43 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -6886,7 +7011,7 @@ function range(a, b, str) { /***/ }), -/* 43 */ +/* 44 */ /***/ (function(module, exports, __webpack_require__) { try { @@ -6894,12 +7019,12 @@ try { if (typeof util.inherits !== 'function') throw ''; module.exports = util.inherits; } catch (e) { - module.exports = __webpack_require__(44); + module.exports = __webpack_require__(45); } /***/ }), -/* 44 */ +/* 45 */ /***/ (function(module, exports) { if (typeof Object.create === 'function') { @@ -6928,13 +7053,13 @@ if (typeof Object.create === 'function') { /***/ }), -/* 45 */ +/* 46 */ /***/ (function(module, exports) { module.exports = require("events"); /***/ }), -/* 46 */ +/* 47 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -6961,22 +7086,22 @@ module.exports.win32 = win32; /***/ }), -/* 47 */ +/* 48 */ /***/ (function(module, exports, __webpack_require__) { module.exports = globSync globSync.GlobSync = GlobSync var fs = __webpack_require__(23) -var rp = __webpack_require__(37) -var minimatch = __webpack_require__(39) +var rp = __webpack_require__(38) +var minimatch = __webpack_require__(40) var Minimatch = minimatch.Minimatch -var Glob = __webpack_require__(36).Glob +var Glob = __webpack_require__(37).Glob var util = __webpack_require__(29) var path = __webpack_require__(16) var assert = __webpack_require__(30) -var isAbsolute = __webpack_require__(46) -var common = __webpack_require__(48) +var isAbsolute = __webpack_require__(47) +var common = __webpack_require__(49) var alphasort = common.alphasort var alphasorti = common.alphasorti var setopts = common.setopts @@ -7453,7 +7578,7 @@ GlobSync.prototype._makeAbs = function (f) { /***/ }), -/* 48 */ +/* 49 */ /***/ (function(module, exports, __webpack_require__) { exports.alphasort = alphasort @@ -7471,8 +7596,8 @@ function ownProp (obj, field) { } var path = __webpack_require__(16) -var minimatch = __webpack_require__(39) -var isAbsolute = __webpack_require__(46) +var minimatch = __webpack_require__(40) +var isAbsolute = __webpack_require__(47) var Minimatch = minimatch.Minimatch function alphasorti (a, b) { @@ -7699,12 +7824,12 @@ function childrenIgnored (self, path) { /***/ }), -/* 49 */ +/* 50 */ /***/ (function(module, exports, __webpack_require__) { -var wrappy = __webpack_require__(50) +var wrappy = __webpack_require__(51) var reqs = Object.create(null) -var once = __webpack_require__(51) +var once = __webpack_require__(52) module.exports = wrappy(inflight) @@ -7759,7 +7884,7 @@ function slice (args) { /***/ }), -/* 50 */ +/* 51 */ /***/ (function(module, exports) { // Returns a wrapper function that returns a wrapped callback @@ -7798,10 +7923,10 @@ function wrappy (fn, cb) { /***/ }), -/* 51 */ +/* 52 */ /***/ (function(module, exports, __webpack_require__) { -var wrappy = __webpack_require__(50) +var wrappy = __webpack_require__(51) module.exports = wrappy(once) module.exports.strict = wrappy(onceStrict) @@ -7846,7 +7971,7 @@ function onceStrict (fn) { /***/ }), -/* 52 */ +/* 53 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -7879,7 +8004,7 @@ class CliError extends Error { } /***/ }), -/* 53 */ +/* 54 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -7893,10 +8018,10 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var util__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(29); /* harmony import */ var util__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(util__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(52); -/* harmony import */ var _log__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(33); -/* harmony import */ var _package_json__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(54); -/* harmony import */ var _scripts__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(118); +/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(53); +/* harmony import */ var _log__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(34); +/* harmony import */ var _package_json__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(55); +/* harmony import */ var _scripts__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(119); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } @@ -8122,7 +8247,7 @@ function normalizePath(path) { } /***/ }), -/* 54 */ +/* 55 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -8130,9 +8255,9 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "readPackageJson", function() { return readPackageJson; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "writePackageJson", function() { return writePackageJson; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isLinkDependency", function() { return isLinkDependency; }); -/* harmony import */ var read_pkg__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(55); +/* harmony import */ var read_pkg__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(56); /* harmony import */ var read_pkg__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(read_pkg__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var write_pkg__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(97); +/* harmony import */ var write_pkg__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(98); /* harmony import */ var write_pkg__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(write_pkg__WEBPACK_IMPORTED_MODULE_1__); /* * Licensed to Elasticsearch B.V. under one or more contributor @@ -8166,7 +8291,7 @@ function writePackageJson(path, json) { const isLinkDependency = depVersion => depVersion.startsWith('link:'); /***/ }), -/* 55 */ +/* 56 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -8174,7 +8299,7 @@ const isLinkDependency = depVersion => depVersion.startsWith('link:'); const {promisify} = __webpack_require__(29); const fs = __webpack_require__(23); const path = __webpack_require__(16); -const parseJson = __webpack_require__(56); +const parseJson = __webpack_require__(57); const readFileAsync = promisify(fs.readFile); @@ -8189,7 +8314,7 @@ module.exports = async options => { const json = parseJson(await readFileAsync(filePath, 'utf8')); if (options.normalize) { - __webpack_require__(72)(json); + __webpack_require__(73)(json); } return json; @@ -8206,7 +8331,7 @@ module.exports.sync = options => { const json = parseJson(fs.readFileSync(filePath, 'utf8')); if (options.normalize) { - __webpack_require__(72)(json); + __webpack_require__(73)(json); } return json; @@ -8214,15 +8339,15 @@ module.exports.sync = options => { /***/ }), -/* 56 */ +/* 57 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const errorEx = __webpack_require__(57); -const fallback = __webpack_require__(59); -const {default: LinesAndColumns} = __webpack_require__(60); -const {codeFrameColumns} = __webpack_require__(61); +const errorEx = __webpack_require__(58); +const fallback = __webpack_require__(60); +const {default: LinesAndColumns} = __webpack_require__(61); +const {codeFrameColumns} = __webpack_require__(62); const JSONError = errorEx('JSONError', { fileName: errorEx.append('in %s'), @@ -8271,14 +8396,14 @@ module.exports = (string, reviver, filename) => { /***/ }), -/* 57 */ +/* 58 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var util = __webpack_require__(29); -var isArrayish = __webpack_require__(58); +var isArrayish = __webpack_require__(59); var errorEx = function errorEx(name, properties) { if (!name || name.constructor !== String) { @@ -8411,7 +8536,7 @@ module.exports = errorEx; /***/ }), -/* 58 */ +/* 59 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -8428,7 +8553,7 @@ module.exports = function isArrayish(obj) { /***/ }), -/* 59 */ +/* 60 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -8467,7 +8592,7 @@ function parseJson (txt, reviver, context) { /***/ }), -/* 60 */ +/* 61 */ /***/ (function(__webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; @@ -8531,7 +8656,7 @@ var LinesAndColumns = (function () { /***/ }), -/* 61 */ +/* 62 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -8544,7 +8669,7 @@ exports.codeFrameColumns = codeFrameColumns; exports.default = _default; function _highlight() { - const data = _interopRequireWildcard(__webpack_require__(62)); + const data = _interopRequireWildcard(__webpack_require__(63)); _highlight = function () { return data; @@ -8710,7 +8835,7 @@ function _default(rawLines, lineNumber, colNumber, opts = {}) { } /***/ }), -/* 62 */ +/* 63 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -8724,7 +8849,7 @@ exports.getChalk = getChalk; exports.default = highlight; function _jsTokens() { - const data = _interopRequireWildcard(__webpack_require__(63)); + const data = _interopRequireWildcard(__webpack_require__(64)); _jsTokens = function () { return data; @@ -8734,7 +8859,7 @@ function _jsTokens() { } function _esutils() { - const data = _interopRequireDefault(__webpack_require__(64)); + const data = _interopRequireDefault(__webpack_require__(65)); _esutils = function () { return data; @@ -8744,7 +8869,7 @@ function _esutils() { } function _chalk() { - const data = _interopRequireDefault(__webpack_require__(68)); + const data = _interopRequireDefault(__webpack_require__(69)); _chalk = function () { return data; @@ -8845,7 +8970,7 @@ function highlight(code, options = {}) { } /***/ }), -/* 63 */ +/* 64 */ /***/ (function(module, exports) { // Copyright 2014, 2015, 2016, 2017, 2018 Simon Lydell @@ -8874,7 +8999,7 @@ exports.matchToToken = function(match) { /***/ }), -/* 64 */ +/* 65 */ /***/ (function(module, exports, __webpack_require__) { /* @@ -8905,15 +9030,15 @@ exports.matchToToken = function(match) { (function () { 'use strict'; - exports.ast = __webpack_require__(65); - exports.code = __webpack_require__(66); - exports.keyword = __webpack_require__(67); + exports.ast = __webpack_require__(66); + exports.code = __webpack_require__(67); + exports.keyword = __webpack_require__(68); }()); /* vim: set sw=4 ts=4 et tw=80 : */ /***/ }), -/* 65 */ +/* 66 */ /***/ (function(module, exports) { /* @@ -9063,7 +9188,7 @@ exports.matchToToken = function(match) { /***/ }), -/* 66 */ +/* 67 */ /***/ (function(module, exports) { /* @@ -9204,7 +9329,7 @@ exports.matchToToken = function(match) { /***/ }), -/* 67 */ +/* 68 */ /***/ (function(module, exports, __webpack_require__) { /* @@ -9234,7 +9359,7 @@ exports.matchToToken = function(match) { (function () { 'use strict'; - var code = __webpack_require__(66); + var code = __webpack_require__(67); function isStrictModeReservedWordES6(id) { switch (id) { @@ -9375,16 +9500,16 @@ exports.matchToToken = function(match) { /***/ }), -/* 68 */ +/* 69 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const escapeStringRegexp = __webpack_require__(3); -const ansiStyles = __webpack_require__(69); -const stdoutColor = __webpack_require__(70).stdout; +const ansiStyles = __webpack_require__(70); +const stdoutColor = __webpack_require__(71).stdout; -const template = __webpack_require__(71); +const template = __webpack_require__(72); const isSimpleWindowsTerm = process.platform === 'win32' && !(process.env.TERM || '').toLowerCase().startsWith('xterm'); @@ -9610,7 +9735,7 @@ module.exports.default = module.exports; // For TypeScript /***/ }), -/* 69 */ +/* 70 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -9783,7 +9908,7 @@ Object.defineProperty(module, 'exports', { /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(5)(module))) /***/ }), -/* 70 */ +/* 71 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -9925,7 +10050,7 @@ module.exports = { /***/ }), -/* 71 */ +/* 72 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -10060,15 +10185,15 @@ module.exports = (chalk, tmp) => { /***/ }), -/* 72 */ +/* 73 */ /***/ (function(module, exports, __webpack_require__) { module.exports = normalize -var fixer = __webpack_require__(73) +var fixer = __webpack_require__(74) normalize.fixer = fixer -var makeWarning = __webpack_require__(95) +var makeWarning = __webpack_require__(96) var fieldsToFix = ['name','version','description','repository','modules','scripts' ,'files','bin','man','bugs','keywords','readme','homepage','license'] @@ -10105,17 +10230,17 @@ function ucFirst (string) { /***/ }), -/* 73 */ +/* 74 */ /***/ (function(module, exports, __webpack_require__) { -var semver = __webpack_require__(74) -var validateLicense = __webpack_require__(75); -var hostedGitInfo = __webpack_require__(80) -var isBuiltinModule = __webpack_require__(84).isCore +var semver = __webpack_require__(75) +var validateLicense = __webpack_require__(76); +var hostedGitInfo = __webpack_require__(81) +var isBuiltinModule = __webpack_require__(85).isCore var depTypes = ["dependencies","devDependencies","optionalDependencies"] -var extractDescription = __webpack_require__(93) -var url = __webpack_require__(81) -var typos = __webpack_require__(94) +var extractDescription = __webpack_require__(94) +var url = __webpack_require__(82) +var typos = __webpack_require__(95) var fixer = module.exports = { // default warning function @@ -10529,7 +10654,7 @@ function bugsTypos(bugs, warn) { /***/ }), -/* 74 */ +/* 75 */ /***/ (function(module, exports) { exports = module.exports = SemVer; @@ -11831,11 +11956,11 @@ function intersects(r1, r2, loose) { /***/ }), -/* 75 */ +/* 76 */ /***/ (function(module, exports, __webpack_require__) { -var parse = __webpack_require__(76); -var correct = __webpack_require__(78); +var parse = __webpack_require__(77); +var correct = __webpack_require__(79); var genericWarning = ( 'license should be ' + @@ -11921,10 +12046,10 @@ module.exports = function(argument) { /***/ }), -/* 76 */ +/* 77 */ /***/ (function(module, exports, __webpack_require__) { -var parser = __webpack_require__(77).parser +var parser = __webpack_require__(78).parser module.exports = function (argument) { return parser.parse(argument) @@ -11932,7 +12057,7 @@ module.exports = function (argument) { /***/ }), -/* 77 */ +/* 78 */ /***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(module) {/* parser generated by jison 0.4.17 */ @@ -13296,10 +13421,10 @@ if ( true && __webpack_require__.c[__webpack_require__.s] === module) { /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(5)(module))) /***/ }), -/* 78 */ +/* 79 */ /***/ (function(module, exports, __webpack_require__) { -var licenseIDs = __webpack_require__(79); +var licenseIDs = __webpack_require__(80); function valid(string) { return licenseIDs.indexOf(string) > -1; @@ -13539,20 +13664,20 @@ module.exports = function(identifier) { /***/ }), -/* 79 */ +/* 80 */ /***/ (function(module) { module.exports = JSON.parse("[\"Glide\",\"Abstyles\",\"AFL-1.1\",\"AFL-1.2\",\"AFL-2.0\",\"AFL-2.1\",\"AFL-3.0\",\"AMPAS\",\"APL-1.0\",\"Adobe-Glyph\",\"APAFML\",\"Adobe-2006\",\"AGPL-1.0\",\"Afmparse\",\"Aladdin\",\"ADSL\",\"AMDPLPA\",\"ANTLR-PD\",\"Apache-1.0\",\"Apache-1.1\",\"Apache-2.0\",\"AML\",\"APSL-1.0\",\"APSL-1.1\",\"APSL-1.2\",\"APSL-2.0\",\"Artistic-1.0\",\"Artistic-1.0-Perl\",\"Artistic-1.0-cl8\",\"Artistic-2.0\",\"AAL\",\"Bahyph\",\"Barr\",\"Beerware\",\"BitTorrent-1.0\",\"BitTorrent-1.1\",\"BSL-1.0\",\"Borceux\",\"BSD-2-Clause\",\"BSD-2-Clause-FreeBSD\",\"BSD-2-Clause-NetBSD\",\"BSD-3-Clause\",\"BSD-3-Clause-Clear\",\"BSD-4-Clause\",\"BSD-Protection\",\"BSD-Source-Code\",\"BSD-3-Clause-Attribution\",\"0BSD\",\"BSD-4-Clause-UC\",\"bzip2-1.0.5\",\"bzip2-1.0.6\",\"Caldera\",\"CECILL-1.0\",\"CECILL-1.1\",\"CECILL-2.0\",\"CECILL-2.1\",\"CECILL-B\",\"CECILL-C\",\"ClArtistic\",\"MIT-CMU\",\"CNRI-Jython\",\"CNRI-Python\",\"CNRI-Python-GPL-Compatible\",\"CPOL-1.02\",\"CDDL-1.0\",\"CDDL-1.1\",\"CPAL-1.0\",\"CPL-1.0\",\"CATOSL-1.1\",\"Condor-1.1\",\"CC-BY-1.0\",\"CC-BY-2.0\",\"CC-BY-2.5\",\"CC-BY-3.0\",\"CC-BY-4.0\",\"CC-BY-ND-1.0\",\"CC-BY-ND-2.0\",\"CC-BY-ND-2.5\",\"CC-BY-ND-3.0\",\"CC-BY-ND-4.0\",\"CC-BY-NC-1.0\",\"CC-BY-NC-2.0\",\"CC-BY-NC-2.5\",\"CC-BY-NC-3.0\",\"CC-BY-NC-4.0\",\"CC-BY-NC-ND-1.0\",\"CC-BY-NC-ND-2.0\",\"CC-BY-NC-ND-2.5\",\"CC-BY-NC-ND-3.0\",\"CC-BY-NC-ND-4.0\",\"CC-BY-NC-SA-1.0\",\"CC-BY-NC-SA-2.0\",\"CC-BY-NC-SA-2.5\",\"CC-BY-NC-SA-3.0\",\"CC-BY-NC-SA-4.0\",\"CC-BY-SA-1.0\",\"CC-BY-SA-2.0\",\"CC-BY-SA-2.5\",\"CC-BY-SA-3.0\",\"CC-BY-SA-4.0\",\"CC0-1.0\",\"Crossword\",\"CrystalStacker\",\"CUA-OPL-1.0\",\"Cube\",\"curl\",\"D-FSL-1.0\",\"diffmark\",\"WTFPL\",\"DOC\",\"Dotseqn\",\"DSDP\",\"dvipdfm\",\"EPL-1.0\",\"ECL-1.0\",\"ECL-2.0\",\"eGenix\",\"EFL-1.0\",\"EFL-2.0\",\"MIT-advertising\",\"MIT-enna\",\"Entessa\",\"ErlPL-1.1\",\"EUDatagrid\",\"EUPL-1.0\",\"EUPL-1.1\",\"Eurosym\",\"Fair\",\"MIT-feh\",\"Frameworx-1.0\",\"FreeImage\",\"FTL\",\"FSFAP\",\"FSFUL\",\"FSFULLR\",\"Giftware\",\"GL2PS\",\"Glulxe\",\"AGPL-3.0\",\"GFDL-1.1\",\"GFDL-1.2\",\"GFDL-1.3\",\"GPL-1.0\",\"GPL-2.0\",\"GPL-3.0\",\"LGPL-2.1\",\"LGPL-3.0\",\"LGPL-2.0\",\"gnuplot\",\"gSOAP-1.3b\",\"HaskellReport\",\"HPND\",\"IBM-pibs\",\"IPL-1.0\",\"ICU\",\"ImageMagick\",\"iMatix\",\"Imlib2\",\"IJG\",\"Info-ZIP\",\"Intel-ACPI\",\"Intel\",\"Interbase-1.0\",\"IPA\",\"ISC\",\"JasPer-2.0\",\"JSON\",\"LPPL-1.0\",\"LPPL-1.1\",\"LPPL-1.2\",\"LPPL-1.3a\",\"LPPL-1.3c\",\"Latex2e\",\"BSD-3-Clause-LBNL\",\"Leptonica\",\"LGPLLR\",\"Libpng\",\"libtiff\",\"LAL-1.2\",\"LAL-1.3\",\"LiLiQ-P-1.1\",\"LiLiQ-Rplus-1.1\",\"LiLiQ-R-1.1\",\"LPL-1.02\",\"LPL-1.0\",\"MakeIndex\",\"MTLL\",\"MS-PL\",\"MS-RL\",\"MirOS\",\"MITNFA\",\"MIT\",\"Motosoto\",\"MPL-1.0\",\"MPL-1.1\",\"MPL-2.0\",\"MPL-2.0-no-copyleft-exception\",\"mpich2\",\"Multics\",\"Mup\",\"NASA-1.3\",\"Naumen\",\"NBPL-1.0\",\"NetCDF\",\"NGPL\",\"NOSL\",\"NPL-1.0\",\"NPL-1.1\",\"Newsletr\",\"NLPL\",\"Nokia\",\"NPOSL-3.0\",\"NLOD-1.0\",\"Noweb\",\"NRL\",\"NTP\",\"Nunit\",\"OCLC-2.0\",\"ODbL-1.0\",\"PDDL-1.0\",\"OCCT-PL\",\"OGTSL\",\"OLDAP-2.2.2\",\"OLDAP-1.1\",\"OLDAP-1.2\",\"OLDAP-1.3\",\"OLDAP-1.4\",\"OLDAP-2.0\",\"OLDAP-2.0.1\",\"OLDAP-2.1\",\"OLDAP-2.2\",\"OLDAP-2.2.1\",\"OLDAP-2.3\",\"OLDAP-2.4\",\"OLDAP-2.5\",\"OLDAP-2.6\",\"OLDAP-2.7\",\"OLDAP-2.8\",\"OML\",\"OPL-1.0\",\"OSL-1.0\",\"OSL-1.1\",\"OSL-2.0\",\"OSL-2.1\",\"OSL-3.0\",\"OpenSSL\",\"OSET-PL-2.1\",\"PHP-3.0\",\"PHP-3.01\",\"Plexus\",\"PostgreSQL\",\"psfrag\",\"psutils\",\"Python-2.0\",\"QPL-1.0\",\"Qhull\",\"Rdisc\",\"RPSL-1.0\",\"RPL-1.1\",\"RPL-1.5\",\"RHeCos-1.1\",\"RSCPL\",\"RSA-MD\",\"Ruby\",\"SAX-PD\",\"Saxpath\",\"SCEA\",\"SWL\",\"SMPPL\",\"Sendmail\",\"SGI-B-1.0\",\"SGI-B-1.1\",\"SGI-B-2.0\",\"OFL-1.0\",\"OFL-1.1\",\"SimPL-2.0\",\"Sleepycat\",\"SNIA\",\"Spencer-86\",\"Spencer-94\",\"Spencer-99\",\"SMLNJ\",\"SugarCRM-1.1.3\",\"SISSL\",\"SISSL-1.2\",\"SPL-1.0\",\"Watcom-1.0\",\"TCL\",\"Unlicense\",\"TMate\",\"TORQUE-1.1\",\"TOSL\",\"Unicode-TOU\",\"UPL-1.0\",\"NCSA\",\"Vim\",\"VOSTROM\",\"VSL-1.0\",\"W3C-19980720\",\"W3C\",\"Wsuipa\",\"Xnet\",\"X11\",\"Xerox\",\"XFree86-1.1\",\"xinetd\",\"xpp\",\"XSkat\",\"YPL-1.0\",\"YPL-1.1\",\"Zed\",\"Zend-2.0\",\"Zimbra-1.3\",\"Zimbra-1.4\",\"Zlib\",\"zlib-acknowledgement\",\"ZPL-1.1\",\"ZPL-2.0\",\"ZPL-2.1\",\"BSD-3-Clause-No-Nuclear-License\",\"BSD-3-Clause-No-Nuclear-Warranty\",\"BSD-3-Clause-No-Nuclear-License-2014\",\"eCos-2.0\",\"GPL-2.0-with-autoconf-exception\",\"GPL-2.0-with-bison-exception\",\"GPL-2.0-with-classpath-exception\",\"GPL-2.0-with-font-exception\",\"GPL-2.0-with-GCC-exception\",\"GPL-3.0-with-autoconf-exception\",\"GPL-3.0-with-GCC-exception\",\"StandardML-NJ\",\"WXwindows\"]"); /***/ }), -/* 80 */ +/* 81 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var url = __webpack_require__(81) -var gitHosts = __webpack_require__(82) -var GitHost = module.exports = __webpack_require__(83) +var url = __webpack_require__(82) +var gitHosts = __webpack_require__(83) +var GitHost = module.exports = __webpack_require__(84) var protocolToRepresentationMap = { 'git+ssh': 'sshurl', @@ -13673,13 +13798,13 @@ function parseGitUrl (giturl) { /***/ }), -/* 81 */ +/* 82 */ /***/ (function(module, exports) { module.exports = require("url"); /***/ }), -/* 82 */ +/* 83 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -13754,12 +13879,12 @@ Object.keys(gitHosts).forEach(function (name) { /***/ }), -/* 83 */ +/* 84 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var gitHosts = __webpack_require__(82) +var gitHosts = __webpack_require__(83) var extend = Object.assign || __webpack_require__(29)._extend var GitHost = module.exports = function (type, user, auth, project, committish, defaultRepresentation, opts) { @@ -13875,21 +14000,21 @@ GitHost.prototype.toString = function (opts) { /***/ }), -/* 84 */ +/* 85 */ /***/ (function(module, exports, __webpack_require__) { -var core = __webpack_require__(85); -var async = __webpack_require__(87); +var core = __webpack_require__(86); +var async = __webpack_require__(88); async.core = core; async.isCore = function isCore(x) { return core[x]; }; -async.sync = __webpack_require__(92); +async.sync = __webpack_require__(93); exports = async; module.exports = async; /***/ }), -/* 85 */ +/* 86 */ /***/ (function(module, exports, __webpack_require__) { var current = (process.versions && process.versions.node && process.versions.node.split('.')) || []; @@ -13936,7 +14061,7 @@ function versionIncluded(specifierValue) { return matchesRange(specifierValue); } -var data = __webpack_require__(86); +var data = __webpack_require__(87); var core = {}; for (var mod in data) { // eslint-disable-line no-restricted-syntax @@ -13948,21 +14073,21 @@ module.exports = core; /***/ }), -/* 86 */ +/* 87 */ /***/ (function(module) { module.exports = JSON.parse("{\"assert\":true,\"async_hooks\":\">= 8\",\"buffer_ieee754\":\"< 0.9.7\",\"buffer\":true,\"child_process\":true,\"cluster\":true,\"console\":true,\"constants\":true,\"crypto\":true,\"_debugger\":\"< 8\",\"dgram\":true,\"dns\":true,\"domain\":true,\"events\":true,\"freelist\":\"< 6\",\"fs\":true,\"fs/promises\":\">= 10 && < 10.1\",\"_http_agent\":\">= 0.11.1\",\"_http_client\":\">= 0.11.1\",\"_http_common\":\">= 0.11.1\",\"_http_incoming\":\">= 0.11.1\",\"_http_outgoing\":\">= 0.11.1\",\"_http_server\":\">= 0.11.1\",\"http\":true,\"http2\":\">= 8.8\",\"https\":true,\"inspector\":\">= 8.0.0\",\"_linklist\":\"< 8\",\"module\":true,\"net\":true,\"node-inspect/lib/_inspect\":\">= 7.6.0\",\"node-inspect/lib/internal/inspect_client\":\">= 7.6.0\",\"node-inspect/lib/internal/inspect_repl\":\">= 7.6.0\",\"os\":true,\"path\":true,\"perf_hooks\":\">= 8.5\",\"process\":\">= 1\",\"punycode\":true,\"querystring\":true,\"readline\":true,\"repl\":true,\"smalloc\":\">= 0.11.5 && < 3\",\"_stream_duplex\":\">= 0.9.4\",\"_stream_transform\":\">= 0.9.4\",\"_stream_wrap\":\">= 1.4.1\",\"_stream_passthrough\":\">= 0.9.4\",\"_stream_readable\":\">= 0.9.4\",\"_stream_writable\":\">= 0.9.4\",\"stream\":true,\"string_decoder\":true,\"sys\":true,\"timers\":true,\"_tls_common\":\">= 0.11.13\",\"_tls_legacy\":\">= 0.11.3 && < 10\",\"_tls_wrap\":\">= 0.11.3\",\"tls\":true,\"trace_events\":\">= 10\",\"tty\":true,\"url\":true,\"util\":true,\"v8/tools/arguments\":\">= 10\",\"v8/tools/codemap\":[\">= 4.4.0 && < 5\",\">= 5.2.0\"],\"v8/tools/consarray\":[\">= 4.4.0 && < 5\",\">= 5.2.0\"],\"v8/tools/csvparser\":[\">= 4.4.0 && < 5\",\">= 5.2.0\"],\"v8/tools/logreader\":[\">= 4.4.0 && < 5\",\">= 5.2.0\"],\"v8/tools/profile_view\":[\">= 4.4.0 && < 5\",\">= 5.2.0\"],\"v8/tools/splaytree\":[\">= 4.4.0 && < 5\",\">= 5.2.0\"],\"v8\":\">= 1\",\"vm\":true,\"worker_threads\":\">= 11.7\",\"zlib\":true}"); /***/ }), -/* 87 */ +/* 88 */ /***/ (function(module, exports, __webpack_require__) { -var core = __webpack_require__(85); +var core = __webpack_require__(86); var fs = __webpack_require__(23); var path = __webpack_require__(16); -var caller = __webpack_require__(88); -var nodeModulesPaths = __webpack_require__(89); -var normalizeOptions = __webpack_require__(91); +var caller = __webpack_require__(89); +var nodeModulesPaths = __webpack_require__(90); +var normalizeOptions = __webpack_require__(92); var defaultIsFile = function isFile(file, cb) { fs.stat(file, function (err, stat) { @@ -14189,7 +14314,7 @@ module.exports = function resolve(x, options, callback) { /***/ }), -/* 88 */ +/* 89 */ /***/ (function(module, exports) { module.exports = function () { @@ -14203,11 +14328,11 @@ module.exports = function () { /***/ }), -/* 89 */ +/* 90 */ /***/ (function(module, exports, __webpack_require__) { var path = __webpack_require__(16); -var parse = path.parse || __webpack_require__(90); +var parse = path.parse || __webpack_require__(91); var getNodeModulesDirs = function getNodeModulesDirs(absoluteStart, modules) { var prefix = '/'; @@ -14251,7 +14376,7 @@ module.exports = function nodeModulesPaths(start, opts, request) { /***/ }), -/* 90 */ +/* 91 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -14351,7 +14476,7 @@ module.exports.win32 = win32.parse; /***/ }), -/* 91 */ +/* 92 */ /***/ (function(module, exports) { module.exports = function (x, opts) { @@ -14367,15 +14492,15 @@ module.exports = function (x, opts) { /***/ }), -/* 92 */ +/* 93 */ /***/ (function(module, exports, __webpack_require__) { -var core = __webpack_require__(85); +var core = __webpack_require__(86); var fs = __webpack_require__(23); var path = __webpack_require__(16); -var caller = __webpack_require__(88); -var nodeModulesPaths = __webpack_require__(89); -var normalizeOptions = __webpack_require__(91); +var caller = __webpack_require__(89); +var nodeModulesPaths = __webpack_require__(90); +var normalizeOptions = __webpack_require__(92); var defaultIsFile = function isFile(file) { try { @@ -14527,7 +14652,7 @@ module.exports = function (x, options) { /***/ }), -/* 93 */ +/* 94 */ /***/ (function(module, exports) { module.exports = extractDescription @@ -14547,17 +14672,17 @@ function extractDescription (d) { /***/ }), -/* 94 */ +/* 95 */ /***/ (function(module) { module.exports = JSON.parse("{\"topLevel\":{\"dependancies\":\"dependencies\",\"dependecies\":\"dependencies\",\"depdenencies\":\"dependencies\",\"devEependencies\":\"devDependencies\",\"depends\":\"dependencies\",\"dev-dependencies\":\"devDependencies\",\"devDependences\":\"devDependencies\",\"devDepenencies\":\"devDependencies\",\"devdependencies\":\"devDependencies\",\"repostitory\":\"repository\",\"repo\":\"repository\",\"prefereGlobal\":\"preferGlobal\",\"hompage\":\"homepage\",\"hampage\":\"homepage\",\"autohr\":\"author\",\"autor\":\"author\",\"contributers\":\"contributors\",\"publicationConfig\":\"publishConfig\",\"script\":\"scripts\"},\"bugs\":{\"web\":\"url\",\"name\":\"url\"},\"script\":{\"server\":\"start\",\"tests\":\"test\"}}"); /***/ }), -/* 95 */ +/* 96 */ /***/ (function(module, exports, __webpack_require__) { var util = __webpack_require__(29) -var messages = __webpack_require__(96) +var messages = __webpack_require__(97) module.exports = function() { var args = Array.prototype.slice.call(arguments, 0) @@ -14582,20 +14707,20 @@ function makeTypoWarning (providedName, probableName, field) { /***/ }), -/* 96 */ +/* 97 */ /***/ (function(module) { module.exports = JSON.parse("{\"repositories\":\"'repositories' (plural) Not supported. Please pick one as the 'repository' field\",\"missingRepository\":\"No repository field.\",\"brokenGitUrl\":\"Probably broken git url: %s\",\"nonObjectScripts\":\"scripts must be an object\",\"nonStringScript\":\"script values must be string commands\",\"nonArrayFiles\":\"Invalid 'files' member\",\"invalidFilename\":\"Invalid filename in 'files' list: %s\",\"nonArrayBundleDependencies\":\"Invalid 'bundleDependencies' list. Must be array of package names\",\"nonStringBundleDependency\":\"Invalid bundleDependencies member: %s\",\"nonDependencyBundleDependency\":\"Non-dependency in bundleDependencies: %s\",\"nonObjectDependencies\":\"%s field must be an object\",\"nonStringDependency\":\"Invalid dependency: %s %s\",\"deprecatedArrayDependencies\":\"specifying %s as array is deprecated\",\"deprecatedModules\":\"modules field is deprecated\",\"nonArrayKeywords\":\"keywords should be an array of strings\",\"nonStringKeyword\":\"keywords should be an array of strings\",\"conflictingName\":\"%s is also the name of a node core module.\",\"nonStringDescription\":\"'description' field should be a string\",\"missingDescription\":\"No description\",\"missingReadme\":\"No README data\",\"missingLicense\":\"No license field.\",\"nonEmailUrlBugsString\":\"Bug string field must be url, email, or {email,url}\",\"nonUrlBugsUrlField\":\"bugs.url field must be a string url. Deleted.\",\"nonEmailBugsEmailField\":\"bugs.email field must be a string email. Deleted.\",\"emptyNormalizedBugs\":\"Normalized value of bugs field is an empty object. Deleted.\",\"nonUrlHomepage\":\"homepage field must be a string url. Deleted.\",\"invalidLicense\":\"license should be a valid SPDX license expression\",\"typo\":\"%s should probably be %s.\"}"); /***/ }), -/* 97 */ +/* 98 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const path = __webpack_require__(16); -const writeJsonFile = __webpack_require__(98); -const sortKeys = __webpack_require__(112); +const writeJsonFile = __webpack_require__(99); +const sortKeys = __webpack_require__(113); const dependencyKeys = new Set([ 'dependencies', @@ -14660,18 +14785,18 @@ module.exports.sync = (filePath, data, options) => { /***/ }), -/* 98 */ +/* 99 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const path = __webpack_require__(16); -const fs = __webpack_require__(99); -const writeFileAtomic = __webpack_require__(103); -const sortKeys = __webpack_require__(112); -const makeDir = __webpack_require__(114); -const pify = __webpack_require__(115); -const detectIndent = __webpack_require__(117); +const fs = __webpack_require__(100); +const writeFileAtomic = __webpack_require__(104); +const sortKeys = __webpack_require__(113); +const makeDir = __webpack_require__(115); +const pify = __webpack_require__(116); +const detectIndent = __webpack_require__(118); const init = (fn, filePath, data, options) => { if (!filePath) { @@ -14743,13 +14868,13 @@ module.exports.sync = (filePath, data, options) => { /***/ }), -/* 99 */ +/* 100 */ /***/ (function(module, exports, __webpack_require__) { var fs = __webpack_require__(23) -var polyfills = __webpack_require__(100) -var legacy = __webpack_require__(101) -var clone = __webpack_require__(102) +var polyfills = __webpack_require__(101) +var legacy = __webpack_require__(102) +var clone = __webpack_require__(103) var queue = [] @@ -15028,7 +15153,7 @@ function retry () { /***/ }), -/* 100 */ +/* 101 */ /***/ (function(module, exports, __webpack_require__) { var constants = __webpack_require__(26) @@ -15363,7 +15488,7 @@ function patch (fs) { /***/ }), -/* 101 */ +/* 102 */ /***/ (function(module, exports, __webpack_require__) { var Stream = __webpack_require__(28).Stream @@ -15487,7 +15612,7 @@ function legacy (fs) { /***/ }), -/* 102 */ +/* 103 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -15513,7 +15638,7 @@ function clone (obj) { /***/ }), -/* 103 */ +/* 104 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -15523,9 +15648,9 @@ module.exports.sync = writeFileSync module.exports._getTmpname = getTmpname // for testing module.exports._cleanupOnExit = cleanupOnExit -var fs = __webpack_require__(104) -var MurmurHash3 = __webpack_require__(108) -var onExit = __webpack_require__(109) +var fs = __webpack_require__(105) +var MurmurHash3 = __webpack_require__(109) +var onExit = __webpack_require__(110) var path = __webpack_require__(16) var activeFiles = {} @@ -15533,7 +15658,7 @@ var activeFiles = {} /* istanbul ignore next */ var threadId = (function getId () { try { - var workerThreads = __webpack_require__(111) + var workerThreads = __webpack_require__(112) /// if we are in main thread, this is set to `0` return workerThreads.threadId @@ -15758,12 +15883,12 @@ function writeFileSync (filename, data, options) { /***/ }), -/* 104 */ +/* 105 */ /***/ (function(module, exports, __webpack_require__) { var fs = __webpack_require__(23) -var polyfills = __webpack_require__(105) -var legacy = __webpack_require__(107) +var polyfills = __webpack_require__(106) +var legacy = __webpack_require__(108) var queue = [] var util = __webpack_require__(29) @@ -15787,7 +15912,7 @@ if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || '')) { }) } -module.exports = patch(__webpack_require__(106)) +module.exports = patch(__webpack_require__(107)) if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH) { module.exports = patch(fs) } @@ -16026,10 +16151,10 @@ function retry () { /***/ }), -/* 105 */ +/* 106 */ /***/ (function(module, exports, __webpack_require__) { -var fs = __webpack_require__(106) +var fs = __webpack_require__(107) var constants = __webpack_require__(26) var origCwd = process.cwd @@ -16362,7 +16487,7 @@ function chownErOk (er) { /***/ }), -/* 106 */ +/* 107 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -16390,7 +16515,7 @@ function clone (obj) { /***/ }), -/* 107 */ +/* 108 */ /***/ (function(module, exports, __webpack_require__) { var Stream = __webpack_require__(28).Stream @@ -16514,7 +16639,7 @@ function legacy (fs) { /***/ }), -/* 108 */ +/* 109 */ /***/ (function(module, exports, __webpack_require__) { /** @@ -16656,16 +16781,16 @@ function legacy (fs) { /***/ }), -/* 109 */ +/* 110 */ /***/ (function(module, exports, __webpack_require__) { // Note: since nyc uses this module to output coverage, any lines // that are in the direct sync flow of nyc's outputCoverage are // ignored, since we can never get coverage for them. var assert = __webpack_require__(30) -var signals = __webpack_require__(110) +var signals = __webpack_require__(111) -var EE = __webpack_require__(45) +var EE = __webpack_require__(46) /* istanbul ignore if */ if (typeof EE !== 'function') { EE = EE.EventEmitter @@ -16819,7 +16944,7 @@ function processEmit (ev, arg) { /***/ }), -/* 110 */ +/* 111 */ /***/ (function(module, exports) { // This is not the set of all possible signals. @@ -16878,18 +17003,18 @@ if (process.platform === 'linux') { /***/ }), -/* 111 */ +/* 112 */ /***/ (function(module, exports) { module.exports = require(undefined); /***/ }), -/* 112 */ +/* 113 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const isPlainObj = __webpack_require__(113); +const isPlainObj = __webpack_require__(114); module.exports = (obj, opts) => { if (!isPlainObj(obj)) { @@ -16946,7 +17071,7 @@ module.exports = (obj, opts) => { /***/ }), -/* 113 */ +/* 114 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -16960,15 +17085,15 @@ module.exports = function (x) { /***/ }), -/* 114 */ +/* 115 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const fs = __webpack_require__(23); const path = __webpack_require__(16); -const pify = __webpack_require__(115); -const semver = __webpack_require__(116); +const pify = __webpack_require__(116); +const semver = __webpack_require__(117); const defaults = { mode: 0o777 & (~process.umask()), @@ -17106,7 +17231,7 @@ module.exports.sync = (input, options) => { /***/ }), -/* 115 */ +/* 116 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -17181,7 +17306,7 @@ module.exports = (input, options) => { /***/ }), -/* 116 */ +/* 117 */ /***/ (function(module, exports) { exports = module.exports = SemVer @@ -18670,7 +18795,7 @@ function coerce (version) { /***/ }), -/* 117 */ +/* 118 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -18799,7 +18924,7 @@ module.exports = str => { /***/ }), -/* 118 */ +/* 119 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -18808,7 +18933,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "runScriptInPackage", function() { return runScriptInPackage; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "runScriptInPackageStreaming", function() { return runScriptInPackageStreaming; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "yarnWorkspacesInfo", function() { return yarnWorkspacesInfo; }); -/* harmony import */ var _child_process__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(119); +/* harmony import */ var _child_process__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(120); /* * Licensed to Elasticsearch B.V. under one or more contributor * license agreements. See the NOTICE file distributed with @@ -18872,7 +18997,7 @@ async function yarnWorkspacesInfo(directory) { } /***/ }), -/* 119 */ +/* 120 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -18881,11 +19006,11 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "spawnStreaming", function() { return spawnStreaming; }); /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2); /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(chalk__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var execa__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(120); +/* harmony import */ var execa__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(121); /* harmony import */ var execa__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(execa__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var log_symbols__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(148); +/* harmony import */ var log_symbols__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(149); /* harmony import */ var log_symbols__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(log_symbols__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var strong_log_transformer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(153); +/* harmony import */ var strong_log_transformer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(154); /* harmony import */ var strong_log_transformer__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(strong_log_transformer__WEBPACK_IMPORTED_MODULE_3__); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } @@ -18949,22 +19074,22 @@ function spawnStreaming(command, args, opts, { } /***/ }), -/* 120 */ +/* 121 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const path = __webpack_require__(16); -const childProcess = __webpack_require__(121); -const crossSpawn = __webpack_require__(122); -const stripEof = __webpack_require__(137); -const npmRunPath = __webpack_require__(138); -const isStream = __webpack_require__(140); -const _getStream = __webpack_require__(141); -const pFinally = __webpack_require__(145); -const onExit = __webpack_require__(109); -const errname = __webpack_require__(146); -const stdio = __webpack_require__(147); +const childProcess = __webpack_require__(122); +const crossSpawn = __webpack_require__(123); +const stripEof = __webpack_require__(138); +const npmRunPath = __webpack_require__(139); +const isStream = __webpack_require__(141); +const _getStream = __webpack_require__(142); +const pFinally = __webpack_require__(146); +const onExit = __webpack_require__(110); +const errname = __webpack_require__(147); +const stdio = __webpack_require__(148); const TEN_MEGABYTES = 1000 * 1000 * 10; @@ -19317,21 +19442,21 @@ module.exports.shellSync = (cmd, opts) => handleShell(module.exports.sync, cmd, /***/ }), -/* 121 */ +/* 122 */ /***/ (function(module, exports) { module.exports = require("child_process"); /***/ }), -/* 122 */ +/* 123 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const cp = __webpack_require__(121); -const parse = __webpack_require__(123); -const enoent = __webpack_require__(136); +const cp = __webpack_require__(122); +const parse = __webpack_require__(124); +const enoent = __webpack_require__(137); function spawn(command, args, options) { // Parse the arguments @@ -19369,18 +19494,18 @@ module.exports._enoent = enoent; /***/ }), -/* 123 */ +/* 124 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const path = __webpack_require__(16); -const niceTry = __webpack_require__(124); -const resolveCommand = __webpack_require__(125); -const escape = __webpack_require__(131); -const readShebang = __webpack_require__(132); -const semver = __webpack_require__(135); +const niceTry = __webpack_require__(125); +const resolveCommand = __webpack_require__(126); +const escape = __webpack_require__(132); +const readShebang = __webpack_require__(133); +const semver = __webpack_require__(136); const isWin = process.platform === 'win32'; const isExecutableRegExp = /\.(?:com|exe)$/i; @@ -19501,7 +19626,7 @@ module.exports = parse; /***/ }), -/* 124 */ +/* 125 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -19520,15 +19645,15 @@ module.exports = function(fn) { } /***/ }), -/* 125 */ +/* 126 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const path = __webpack_require__(16); -const which = __webpack_require__(126); -const pathKey = __webpack_require__(130)(); +const which = __webpack_require__(127); +const pathKey = __webpack_require__(131)(); function resolveCommandAttempt(parsed, withoutPathExt) { const cwd = process.cwd(); @@ -19574,7 +19699,7 @@ module.exports = resolveCommand; /***/ }), -/* 126 */ +/* 127 */ /***/ (function(module, exports, __webpack_require__) { module.exports = which @@ -19586,7 +19711,7 @@ var isWindows = process.platform === 'win32' || var path = __webpack_require__(16) var COLON = isWindows ? ';' : ':' -var isexe = __webpack_require__(127) +var isexe = __webpack_require__(128) function getNotFoundError (cmd) { var er = new Error('not found: ' + cmd) @@ -19715,15 +19840,15 @@ function whichSync (cmd, opt) { /***/ }), -/* 127 */ +/* 128 */ /***/ (function(module, exports, __webpack_require__) { var fs = __webpack_require__(23) var core if (process.platform === 'win32' || global.TESTING_WINDOWS) { - core = __webpack_require__(128) -} else { core = __webpack_require__(129) +} else { + core = __webpack_require__(130) } module.exports = isexe @@ -19778,7 +19903,7 @@ function sync (path, options) { /***/ }), -/* 128 */ +/* 129 */ /***/ (function(module, exports, __webpack_require__) { module.exports = isexe @@ -19826,7 +19951,7 @@ function sync (path, options) { /***/ }), -/* 129 */ +/* 130 */ /***/ (function(module, exports, __webpack_require__) { module.exports = isexe @@ -19873,7 +19998,7 @@ function checkMode (stat, options) { /***/ }), -/* 130 */ +/* 131 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -19893,7 +20018,7 @@ module.exports = opts => { /***/ }), -/* 131 */ +/* 132 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -19945,14 +20070,14 @@ module.exports.argument = escapeArgument; /***/ }), -/* 132 */ +/* 133 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const fs = __webpack_require__(23); -const shebangCommand = __webpack_require__(133); +const shebangCommand = __webpack_require__(134); function readShebang(command) { // Read the first 150 bytes from the file @@ -19984,12 +20109,12 @@ module.exports = readShebang; /***/ }), -/* 133 */ +/* 134 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var shebangRegex = __webpack_require__(134); +var shebangRegex = __webpack_require__(135); module.exports = function (str) { var match = str.match(shebangRegex); @@ -20010,7 +20135,7 @@ module.exports = function (str) { /***/ }), -/* 134 */ +/* 135 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -20019,7 +20144,7 @@ module.exports = /^#!.*/; /***/ }), -/* 135 */ +/* 136 */ /***/ (function(module, exports) { exports = module.exports = SemVer; @@ -21349,7 +21474,7 @@ function coerce(version) { /***/ }), -/* 136 */ +/* 137 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -21415,7 +21540,7 @@ module.exports = { /***/ }), -/* 137 */ +/* 138 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -21437,13 +21562,13 @@ module.exports = function (x) { /***/ }), -/* 138 */ +/* 139 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const path = __webpack_require__(16); -const pathKey = __webpack_require__(139); +const pathKey = __webpack_require__(140); module.exports = opts => { opts = Object.assign({ @@ -21483,7 +21608,7 @@ module.exports.env = opts => { /***/ }), -/* 139 */ +/* 140 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -21503,7 +21628,7 @@ module.exports = opts => { /***/ }), -/* 140 */ +/* 141 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -21531,13 +21656,13 @@ isStream.transform = function (stream) { /***/ }), -/* 141 */ +/* 142 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const pump = __webpack_require__(142); -const bufferStream = __webpack_require__(144); +const pump = __webpack_require__(143); +const bufferStream = __webpack_require__(145); class MaxBufferError extends Error { constructor() { @@ -21588,11 +21713,11 @@ module.exports.MaxBufferError = MaxBufferError; /***/ }), -/* 142 */ +/* 143 */ /***/ (function(module, exports, __webpack_require__) { -var once = __webpack_require__(51) -var eos = __webpack_require__(143) +var once = __webpack_require__(52) +var eos = __webpack_require__(144) var fs = __webpack_require__(23) // we only need fs to get the ReadStream and WriteStream prototypes var noop = function () {} @@ -21676,10 +21801,10 @@ module.exports = pump /***/ }), -/* 143 */ +/* 144 */ /***/ (function(module, exports, __webpack_require__) { -var once = __webpack_require__(51); +var once = __webpack_require__(52); var noop = function() {}; @@ -21769,7 +21894,7 @@ module.exports = eos; /***/ }), -/* 144 */ +/* 145 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -21827,7 +21952,7 @@ module.exports = options => { /***/ }), -/* 145 */ +/* 146 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -21849,7 +21974,7 @@ module.exports = (promise, onFinally) => { /***/ }), -/* 146 */ +/* 147 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -21895,7 +22020,7 @@ function errname(uv, code) { /***/ }), -/* 147 */ +/* 148 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -21943,12 +22068,12 @@ module.exports = opts => { /***/ }), -/* 148 */ +/* 149 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const chalk = __webpack_require__(149); +const chalk = __webpack_require__(150); const isSupported = process.platform !== 'win32' || process.env.CI || process.env.TERM === 'xterm-256color'; @@ -21970,16 +22095,16 @@ module.exports = isSupported ? main : fallbacks; /***/ }), -/* 149 */ +/* 150 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const escapeStringRegexp = __webpack_require__(3); -const ansiStyles = __webpack_require__(150); -const stdoutColor = __webpack_require__(151).stdout; +const ansiStyles = __webpack_require__(151); +const stdoutColor = __webpack_require__(152).stdout; -const template = __webpack_require__(152); +const template = __webpack_require__(153); const isSimpleWindowsTerm = process.platform === 'win32' && !(process.env.TERM || '').toLowerCase().startsWith('xterm'); @@ -22205,7 +22330,7 @@ module.exports.default = module.exports; // For TypeScript /***/ }), -/* 150 */ +/* 151 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -22378,7 +22503,7 @@ Object.defineProperty(module, 'exports', { /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(5)(module))) /***/ }), -/* 151 */ +/* 152 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -22520,7 +22645,7 @@ module.exports = { /***/ }), -/* 152 */ +/* 153 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -22655,7 +22780,7 @@ module.exports = (chalk, tmp) => { /***/ }), -/* 153 */ +/* 154 */ /***/ (function(module, exports, __webpack_require__) { // Copyright IBM Corp. 2014,2018. All Rights Reserved. @@ -22663,12 +22788,12 @@ module.exports = (chalk, tmp) => { // This file is licensed under the Apache License 2.0. // License text available at https://opensource.org/licenses/Apache-2.0 -module.exports = __webpack_require__(154); -module.exports.cli = __webpack_require__(158); +module.exports = __webpack_require__(155); +module.exports.cli = __webpack_require__(159); /***/ }), -/* 154 */ +/* 155 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -22683,9 +22808,9 @@ var stream = __webpack_require__(28); var util = __webpack_require__(29); var fs = __webpack_require__(23); -var through = __webpack_require__(155); -var duplexer = __webpack_require__(156); -var StringDecoder = __webpack_require__(157).StringDecoder; +var through = __webpack_require__(156); +var duplexer = __webpack_require__(157); +var StringDecoder = __webpack_require__(158).StringDecoder; module.exports = Logger; @@ -22874,7 +22999,7 @@ function lineMerger(host) { /***/ }), -/* 155 */ +/* 156 */ /***/ (function(module, exports, __webpack_require__) { var Stream = __webpack_require__(28) @@ -22988,7 +23113,7 @@ function through (write, end, opts) { /***/ }), -/* 156 */ +/* 157 */ /***/ (function(module, exports, __webpack_require__) { var Stream = __webpack_require__(28) @@ -23081,13 +23206,13 @@ function duplex(writer, reader) { /***/ }), -/* 157 */ +/* 158 */ /***/ (function(module, exports) { module.exports = require("string_decoder"); /***/ }), -/* 158 */ +/* 159 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -23098,11 +23223,11 @@ module.exports = require("string_decoder"); -var minimist = __webpack_require__(159); +var minimist = __webpack_require__(160); var path = __webpack_require__(16); -var Logger = __webpack_require__(154); -var pkg = __webpack_require__(160); +var Logger = __webpack_require__(155); +var pkg = __webpack_require__(161); module.exports = cli; @@ -23156,7 +23281,7 @@ function usage($0, p) { /***/ }), -/* 159 */ +/* 160 */ /***/ (function(module, exports) { module.exports = function (args, opts) { @@ -23398,29 +23523,29 @@ function isNumber (x) { /***/ }), -/* 160 */ +/* 161 */ /***/ (function(module) { module.exports = JSON.parse("{\"name\":\"strong-log-transformer\",\"version\":\"2.1.0\",\"description\":\"Stream transformer that prefixes lines with timestamps and other things.\",\"author\":\"Ryan Graham \",\"license\":\"Apache-2.0\",\"repository\":{\"type\":\"git\",\"url\":\"git://github.com/strongloop/strong-log-transformer\"},\"keywords\":[\"logging\",\"streams\"],\"bugs\":{\"url\":\"https://github.com/strongloop/strong-log-transformer/issues\"},\"homepage\":\"https://github.com/strongloop/strong-log-transformer\",\"directories\":{\"test\":\"test\"},\"bin\":{\"sl-log-transformer\":\"bin/sl-log-transformer.js\"},\"main\":\"index.js\",\"scripts\":{\"test\":\"tap --100 test/test-*\"},\"dependencies\":{\"duplexer\":\"^0.1.1\",\"minimist\":\"^1.2.0\",\"through\":\"^2.3.4\"},\"devDependencies\":{\"tap\":\"^12.0.1\"},\"engines\":{\"node\":\">=4\"}}"); /***/ }), -/* 161 */ +/* 162 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "workspacePackagePaths", function() { return workspacePackagePaths; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "copyWorkspacePackages", function() { return copyWorkspacePackages; }); -/* harmony import */ var glob__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(36); +/* harmony import */ var glob__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(37); /* harmony import */ var glob__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(glob__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(29); /* harmony import */ var util__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(util__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(162); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(163); /* harmony import */ var _fs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(20); -/* harmony import */ var _package_json__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(54); -/* harmony import */ var _projects__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(35); +/* harmony import */ var _package_json__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(55); +/* harmony import */ var _projects__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(36); /* * Licensed to Elasticsearch B.V. under one or more contributor * license agreements. See the NOTICE file distributed with @@ -23510,7 +23635,7 @@ function packagesFromGlobPattern({ } /***/ }), -/* 162 */ +/* 163 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -23575,7 +23700,7 @@ function getProjectPaths(rootPath, options = {}) { } /***/ }), -/* 163 */ +/* 164 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -23583,14 +23708,14 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CleanCommand", function() { return CleanCommand; }); /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2); /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(chalk__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var del__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(164); +/* harmony import */ var del__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(165); /* harmony import */ var del__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(del__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var ora__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(179); +/* harmony import */ var ora__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(180); /* harmony import */ var ora__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(ora__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(16); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var _utils_fs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(20); -/* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(33); +/* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(34); /* * Licensed to Elasticsearch B.V. under one or more contributor * license agreements. See the NOTICE file distributed with @@ -23685,18 +23810,18 @@ const CleanCommand = { }; /***/ }), -/* 164 */ +/* 165 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const path = __webpack_require__(16); -const globby = __webpack_require__(165); -const isPathCwd = __webpack_require__(172); -const isPathInCwd = __webpack_require__(173); -const pify = __webpack_require__(176); -const rimraf = __webpack_require__(177); -const pMap = __webpack_require__(178); +const globby = __webpack_require__(166); +const isPathCwd = __webpack_require__(173); +const isPathInCwd = __webpack_require__(174); +const pify = __webpack_require__(177); +const rimraf = __webpack_require__(178); +const pMap = __webpack_require__(179); const rimrafP = pify(rimraf); @@ -23762,16 +23887,16 @@ module.exports.sync = (patterns, options) => { /***/ }), -/* 165 */ +/* 166 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var Promise = __webpack_require__(166); -var arrayUnion = __webpack_require__(168); -var objectAssign = __webpack_require__(170); -var glob = __webpack_require__(36); -var pify = __webpack_require__(171); +var Promise = __webpack_require__(167); +var arrayUnion = __webpack_require__(169); +var objectAssign = __webpack_require__(171); +var glob = __webpack_require__(37); +var pify = __webpack_require__(172); var globP = pify(glob, Promise).bind(glob); @@ -23857,17 +23982,17 @@ module.exports.hasMagic = function (patterns, opts) { /***/ }), -/* 166 */ +/* 167 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -module.exports = typeof Promise === 'function' ? Promise : __webpack_require__(167); +module.exports = typeof Promise === 'function' ? Promise : __webpack_require__(168); /***/ }), -/* 167 */ +/* 168 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -24166,12 +24291,12 @@ module.exports = Promise; /***/ }), -/* 168 */ +/* 169 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var arrayUniq = __webpack_require__(169); +var arrayUniq = __webpack_require__(170); module.exports = function () { return arrayUniq([].concat.apply([], arguments)); @@ -24179,7 +24304,7 @@ module.exports = function () { /***/ }), -/* 169 */ +/* 170 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -24248,7 +24373,7 @@ if ('Set' in global) { /***/ }), -/* 170 */ +/* 171 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -24345,7 +24470,7 @@ module.exports = shouldUseNative() ? Object.assign : function (target, source) { /***/ }), -/* 171 */ +/* 172 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -24420,7 +24545,7 @@ pify.all = pify; /***/ }), -/* 172 */ +/* 173 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -24431,24 +24556,24 @@ module.exports = path_ => path.resolve(path_) === process.cwd(); /***/ }), -/* 173 */ +/* 174 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const isPathInside = __webpack_require__(174); +const isPathInside = __webpack_require__(175); module.exports = path => isPathInside(path, process.cwd()); /***/ }), -/* 174 */ +/* 175 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const path = __webpack_require__(16); -const pathIsInside = __webpack_require__(175); +const pathIsInside = __webpack_require__(176); module.exports = (childPath, parentPath) => { childPath = path.resolve(childPath); @@ -24463,7 +24588,7 @@ module.exports = (childPath, parentPath) => { /***/ }), -/* 175 */ +/* 176 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -24498,7 +24623,7 @@ function stripTrailingSep(thePath) { /***/ }), -/* 176 */ +/* 177 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -24573,7 +24698,7 @@ module.exports = (input, options) => { /***/ }), -/* 177 */ +/* 178 */ /***/ (function(module, exports, __webpack_require__) { module.exports = rimraf @@ -24582,7 +24707,7 @@ rimraf.sync = rimrafSync var assert = __webpack_require__(30) var path = __webpack_require__(16) var fs = __webpack_require__(23) -var glob = __webpack_require__(36) +var glob = __webpack_require__(37) var _0666 = parseInt('666', 8) var defaultGlobOpts = { @@ -24943,7 +25068,7 @@ function rmkidsSync (p, options) { /***/ }), -/* 178 */ +/* 179 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -25022,15 +25147,15 @@ module.exports.default = pMap; /***/ }), -/* 179 */ +/* 180 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const chalk = __webpack_require__(180); -const cliCursor = __webpack_require__(184); -const cliSpinners = __webpack_require__(188); -const logSymbols = __webpack_require__(148); +const chalk = __webpack_require__(181); +const cliCursor = __webpack_require__(185); +const cliSpinners = __webpack_require__(189); +const logSymbols = __webpack_require__(149); class Ora { constructor(options) { @@ -25177,16 +25302,16 @@ module.exports.promise = (action, options) => { /***/ }), -/* 180 */ +/* 181 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const escapeStringRegexp = __webpack_require__(3); -const ansiStyles = __webpack_require__(181); -const stdoutColor = __webpack_require__(182).stdout; +const ansiStyles = __webpack_require__(182); +const stdoutColor = __webpack_require__(183).stdout; -const template = __webpack_require__(183); +const template = __webpack_require__(184); const isSimpleWindowsTerm = process.platform === 'win32' && !(process.env.TERM || '').toLowerCase().startsWith('xterm'); @@ -25412,7 +25537,7 @@ module.exports.default = module.exports; // For TypeScript /***/ }), -/* 181 */ +/* 182 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -25585,7 +25710,7 @@ Object.defineProperty(module, 'exports', { /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(5)(module))) /***/ }), -/* 182 */ +/* 183 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -25727,7 +25852,7 @@ module.exports = { /***/ }), -/* 183 */ +/* 184 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -25862,12 +25987,12 @@ module.exports = (chalk, tmp) => { /***/ }), -/* 184 */ +/* 185 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const restoreCursor = __webpack_require__(185); +const restoreCursor = __webpack_require__(186); let hidden = false; @@ -25908,13 +26033,13 @@ exports.toggle = (force, stream) => { /***/ }), -/* 185 */ +/* 186 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const onetime = __webpack_require__(186); -const signalExit = __webpack_require__(109); +const onetime = __webpack_require__(187); +const signalExit = __webpack_require__(110); module.exports = onetime(() => { signalExit(() => { @@ -25924,12 +26049,12 @@ module.exports = onetime(() => { /***/ }), -/* 186 */ +/* 187 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const mimicFn = __webpack_require__(187); +const mimicFn = __webpack_require__(188); module.exports = (fn, opts) => { // TODO: Remove this in v3 @@ -25970,7 +26095,7 @@ module.exports = (fn, opts) => { /***/ }), -/* 187 */ +/* 188 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -25986,22 +26111,22 @@ module.exports = (to, from) => { /***/ }), -/* 188 */ +/* 189 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -module.exports = __webpack_require__(189); +module.exports = __webpack_require__(190); /***/ }), -/* 189 */ +/* 190 */ /***/ (function(module) { module.exports = JSON.parse("{\"dots\":{\"interval\":80,\"frames\":[\"⠋\",\"⠙\",\"⠹\",\"⠸\",\"⠼\",\"⠴\",\"⠦\",\"⠧\",\"⠇\",\"⠏\"]},\"dots2\":{\"interval\":80,\"frames\":[\"⣾\",\"⣽\",\"⣻\",\"⢿\",\"⡿\",\"⣟\",\"⣯\",\"⣷\"]},\"dots3\":{\"interval\":80,\"frames\":[\"⠋\",\"⠙\",\"⠚\",\"⠞\",\"⠖\",\"⠦\",\"⠴\",\"⠲\",\"⠳\",\"⠓\"]},\"dots4\":{\"interval\":80,\"frames\":[\"⠄\",\"⠆\",\"⠇\",\"⠋\",\"⠙\",\"⠸\",\"⠰\",\"⠠\",\"⠰\",\"⠸\",\"⠙\",\"⠋\",\"⠇\",\"⠆\"]},\"dots5\":{\"interval\":80,\"frames\":[\"⠋\",\"⠙\",\"⠚\",\"⠒\",\"⠂\",\"⠂\",\"⠒\",\"⠲\",\"⠴\",\"⠦\",\"⠖\",\"⠒\",\"⠐\",\"⠐\",\"⠒\",\"⠓\",\"⠋\"]},\"dots6\":{\"interval\":80,\"frames\":[\"⠁\",\"⠉\",\"⠙\",\"⠚\",\"⠒\",\"⠂\",\"⠂\",\"⠒\",\"⠲\",\"⠴\",\"⠤\",\"⠄\",\"⠄\",\"⠤\",\"⠴\",\"⠲\",\"⠒\",\"⠂\",\"⠂\",\"⠒\",\"⠚\",\"⠙\",\"⠉\",\"⠁\"]},\"dots7\":{\"interval\":80,\"frames\":[\"⠈\",\"⠉\",\"⠋\",\"⠓\",\"⠒\",\"⠐\",\"⠐\",\"⠒\",\"⠖\",\"⠦\",\"⠤\",\"⠠\",\"⠠\",\"⠤\",\"⠦\",\"⠖\",\"⠒\",\"⠐\",\"⠐\",\"⠒\",\"⠓\",\"⠋\",\"⠉\",\"⠈\"]},\"dots8\":{\"interval\":80,\"frames\":[\"⠁\",\"⠁\",\"⠉\",\"⠙\",\"⠚\",\"⠒\",\"⠂\",\"⠂\",\"⠒\",\"⠲\",\"⠴\",\"⠤\",\"⠄\",\"⠄\",\"⠤\",\"⠠\",\"⠠\",\"⠤\",\"⠦\",\"⠖\",\"⠒\",\"⠐\",\"⠐\",\"⠒\",\"⠓\",\"⠋\",\"⠉\",\"⠈\",\"⠈\"]},\"dots9\":{\"interval\":80,\"frames\":[\"⢹\",\"⢺\",\"⢼\",\"⣸\",\"⣇\",\"⡧\",\"⡗\",\"⡏\"]},\"dots10\":{\"interval\":80,\"frames\":[\"⢄\",\"⢂\",\"⢁\",\"⡁\",\"⡈\",\"⡐\",\"⡠\"]},\"dots11\":{\"interval\":100,\"frames\":[\"⠁\",\"⠂\",\"⠄\",\"⡀\",\"⢀\",\"⠠\",\"⠐\",\"⠈\"]},\"dots12\":{\"interval\":80,\"frames\":[\"⢀⠀\",\"⡀⠀\",\"⠄⠀\",\"⢂⠀\",\"⡂⠀\",\"⠅⠀\",\"⢃⠀\",\"⡃⠀\",\"⠍⠀\",\"⢋⠀\",\"⡋⠀\",\"⠍⠁\",\"⢋⠁\",\"⡋⠁\",\"⠍⠉\",\"⠋⠉\",\"⠋⠉\",\"⠉⠙\",\"⠉⠙\",\"⠉⠩\",\"⠈⢙\",\"⠈⡙\",\"⢈⠩\",\"⡀⢙\",\"⠄⡙\",\"⢂⠩\",\"⡂⢘\",\"⠅⡘\",\"⢃⠨\",\"⡃⢐\",\"⠍⡐\",\"⢋⠠\",\"⡋⢀\",\"⠍⡁\",\"⢋⠁\",\"⡋⠁\",\"⠍⠉\",\"⠋⠉\",\"⠋⠉\",\"⠉⠙\",\"⠉⠙\",\"⠉⠩\",\"⠈⢙\",\"⠈⡙\",\"⠈⠩\",\"⠀⢙\",\"⠀⡙\",\"⠀⠩\",\"⠀⢘\",\"⠀⡘\",\"⠀⠨\",\"⠀⢐\",\"⠀⡐\",\"⠀⠠\",\"⠀⢀\",\"⠀⡀\"]},\"line\":{\"interval\":130,\"frames\":[\"-\",\"\\\\\",\"|\",\"/\"]},\"line2\":{\"interval\":100,\"frames\":[\"⠂\",\"-\",\"–\",\"—\",\"–\",\"-\"]},\"pipe\":{\"interval\":100,\"frames\":[\"┤\",\"┘\",\"┴\",\"└\",\"├\",\"┌\",\"┬\",\"┐\"]},\"simpleDots\":{\"interval\":400,\"frames\":[\". \",\".. \",\"...\",\" \"]},\"simpleDotsScrolling\":{\"interval\":200,\"frames\":[\". \",\".. \",\"...\",\" ..\",\" .\",\" \"]},\"star\":{\"interval\":70,\"frames\":[\"✶\",\"✸\",\"✹\",\"✺\",\"✹\",\"✷\"]},\"star2\":{\"interval\":80,\"frames\":[\"+\",\"x\",\"*\"]},\"flip\":{\"interval\":70,\"frames\":[\"_\",\"_\",\"_\",\"-\",\"`\",\"`\",\"'\",\"´\",\"-\",\"_\",\"_\",\"_\"]},\"hamburger\":{\"interval\":100,\"frames\":[\"☱\",\"☲\",\"☴\"]},\"growVertical\":{\"interval\":120,\"frames\":[\"▁\",\"▃\",\"▄\",\"▅\",\"▆\",\"▇\",\"▆\",\"▅\",\"▄\",\"▃\"]},\"growHorizontal\":{\"interval\":120,\"frames\":[\"▏\",\"▎\",\"▍\",\"▌\",\"▋\",\"▊\",\"▉\",\"▊\",\"▋\",\"▌\",\"▍\",\"▎\"]},\"balloon\":{\"interval\":140,\"frames\":[\" \",\".\",\"o\",\"O\",\"@\",\"*\",\" \"]},\"balloon2\":{\"interval\":120,\"frames\":[\".\",\"o\",\"O\",\"°\",\"O\",\"o\",\".\"]},\"noise\":{\"interval\":100,\"frames\":[\"▓\",\"▒\",\"░\"]},\"bounce\":{\"interval\":120,\"frames\":[\"⠁\",\"⠂\",\"⠄\",\"⠂\"]},\"boxBounce\":{\"interval\":120,\"frames\":[\"▖\",\"▘\",\"▝\",\"▗\"]},\"boxBounce2\":{\"interval\":100,\"frames\":[\"▌\",\"▀\",\"▐\",\"▄\"]},\"triangle\":{\"interval\":50,\"frames\":[\"◢\",\"◣\",\"◤\",\"◥\"]},\"arc\":{\"interval\":100,\"frames\":[\"◜\",\"◠\",\"◝\",\"◞\",\"◡\",\"◟\"]},\"circle\":{\"interval\":120,\"frames\":[\"◡\",\"⊙\",\"◠\"]},\"squareCorners\":{\"interval\":180,\"frames\":[\"◰\",\"◳\",\"◲\",\"◱\"]},\"circleQuarters\":{\"interval\":120,\"frames\":[\"◴\",\"◷\",\"◶\",\"◵\"]},\"circleHalves\":{\"interval\":50,\"frames\":[\"◐\",\"◓\",\"◑\",\"◒\"]},\"squish\":{\"interval\":100,\"frames\":[\"╫\",\"╪\"]},\"toggle\":{\"interval\":250,\"frames\":[\"⊶\",\"⊷\"]},\"toggle2\":{\"interval\":80,\"frames\":[\"▫\",\"▪\"]},\"toggle3\":{\"interval\":120,\"frames\":[\"□\",\"■\"]},\"toggle4\":{\"interval\":100,\"frames\":[\"■\",\"□\",\"▪\",\"▫\"]},\"toggle5\":{\"interval\":100,\"frames\":[\"▮\",\"▯\"]},\"toggle6\":{\"interval\":300,\"frames\":[\"ဝ\",\"၀\"]},\"toggle7\":{\"interval\":80,\"frames\":[\"⦾\",\"⦿\"]},\"toggle8\":{\"interval\":100,\"frames\":[\"◍\",\"◌\"]},\"toggle9\":{\"interval\":100,\"frames\":[\"◉\",\"◎\"]},\"toggle10\":{\"interval\":100,\"frames\":[\"㊂\",\"㊀\",\"㊁\"]},\"toggle11\":{\"interval\":50,\"frames\":[\"⧇\",\"⧆\"]},\"toggle12\":{\"interval\":120,\"frames\":[\"☗\",\"☖\"]},\"toggle13\":{\"interval\":80,\"frames\":[\"=\",\"*\",\"-\"]},\"arrow\":{\"interval\":100,\"frames\":[\"←\",\"↖\",\"↑\",\"↗\",\"→\",\"↘\",\"↓\",\"↙\"]},\"arrow2\":{\"interval\":80,\"frames\":[\"⬆️ \",\"↗️ \",\"➡️ \",\"↘️ \",\"⬇️ \",\"↙️ \",\"⬅️ \",\"↖️ \"]},\"arrow3\":{\"interval\":120,\"frames\":[\"▹▹▹▹▹\",\"▸▹▹▹▹\",\"▹▸▹▹▹\",\"▹▹▸▹▹\",\"▹▹▹▸▹\",\"▹▹▹▹▸\"]},\"bouncingBar\":{\"interval\":80,\"frames\":[\"[ ]\",\"[= ]\",\"[== ]\",\"[=== ]\",\"[ ===]\",\"[ ==]\",\"[ =]\",\"[ ]\",\"[ =]\",\"[ ==]\",\"[ ===]\",\"[====]\",\"[=== ]\",\"[== ]\",\"[= ]\"]},\"bouncingBall\":{\"interval\":80,\"frames\":[\"( ● )\",\"( ● )\",\"( ● )\",\"( ● )\",\"( ●)\",\"( ● )\",\"( ● )\",\"( ● )\",\"( ● )\",\"(● )\"]},\"smiley\":{\"interval\":200,\"frames\":[\"😄 \",\"😝 \"]},\"monkey\":{\"interval\":300,\"frames\":[\"🙈 \",\"🙈 \",\"🙉 \",\"🙊 \"]},\"hearts\":{\"interval\":100,\"frames\":[\"💛 \",\"💙 \",\"💜 \",\"💚 \",\"❤️ \"]},\"clock\":{\"interval\":100,\"frames\":[\"🕐 \",\"🕑 \",\"🕒 \",\"🕓 \",\"🕔 \",\"🕕 \",\"🕖 \",\"🕗 \",\"🕘 \",\"🕙 \",\"🕚 \"]},\"earth\":{\"interval\":180,\"frames\":[\"🌍 \",\"🌎 \",\"🌏 \"]},\"moon\":{\"interval\":80,\"frames\":[\"🌑 \",\"🌒 \",\"🌓 \",\"🌔 \",\"🌕 \",\"🌖 \",\"🌗 \",\"🌘 \"]},\"runner\":{\"interval\":140,\"frames\":[\"🚶 \",\"🏃 \"]},\"pong\":{\"interval\":80,\"frames\":[\"▐⠂ ▌\",\"▐⠈ ▌\",\"▐ ⠂ ▌\",\"▐ ⠠ ▌\",\"▐ ⡀ ▌\",\"▐ ⠠ ▌\",\"▐ ⠂ ▌\",\"▐ ⠈ ▌\",\"▐ ⠂ ▌\",\"▐ ⠠ ▌\",\"▐ ⡀ ▌\",\"▐ ⠠ ▌\",\"▐ ⠂ ▌\",\"▐ ⠈ ▌\",\"▐ ⠂▌\",\"▐ ⠠▌\",\"▐ ⡀▌\",\"▐ ⠠ ▌\",\"▐ ⠂ ▌\",\"▐ ⠈ ▌\",\"▐ ⠂ ▌\",\"▐ ⠠ ▌\",\"▐ ⡀ ▌\",\"▐ ⠠ ▌\",\"▐ ⠂ ▌\",\"▐ ⠈ ▌\",\"▐ ⠂ ▌\",\"▐ ⠠ ▌\",\"▐ ⡀ ▌\",\"▐⠠ ▌\"]},\"shark\":{\"interval\":120,\"frames\":[\"▐|\\\\____________▌\",\"▐_|\\\\___________▌\",\"▐__|\\\\__________▌\",\"▐___|\\\\_________▌\",\"▐____|\\\\________▌\",\"▐_____|\\\\_______▌\",\"▐______|\\\\______▌\",\"▐_______|\\\\_____▌\",\"▐________|\\\\____▌\",\"▐_________|\\\\___▌\",\"▐__________|\\\\__▌\",\"▐___________|\\\\_▌\",\"▐____________|\\\\▌\",\"▐____________/|▌\",\"▐___________/|_▌\",\"▐__________/|__▌\",\"▐_________/|___▌\",\"▐________/|____▌\",\"▐_______/|_____▌\",\"▐______/|______▌\",\"▐_____/|_______▌\",\"▐____/|________▌\",\"▐___/|_________▌\",\"▐__/|__________▌\",\"▐_/|___________▌\",\"▐/|____________▌\"]},\"dqpb\":{\"interval\":100,\"frames\":[\"d\",\"q\",\"p\",\"b\"]},\"weather\":{\"interval\":100,\"frames\":[\"☀️ \",\"☀️ \",\"☀️ \",\"🌤 \",\"⛅️ \",\"🌥 \",\"☁️ \",\"🌧 \",\"🌨 \",\"🌧 \",\"🌨 \",\"🌧 \",\"🌨 \",\"⛈ \",\"🌨 \",\"🌧 \",\"🌨 \",\"☁️ \",\"🌥 \",\"⛅️ \",\"🌤 \",\"☀️ \",\"☀️ \"]},\"christmas\":{\"interval\":400,\"frames\":[\"🌲\",\"🎄\"]}}"); /***/ }), -/* 190 */ +/* 191 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -26009,9 +26134,9 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "RunCommand", function() { return RunCommand; }); /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2); /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(chalk__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(33); -/* harmony import */ var _utils_parallelize__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(34); -/* harmony import */ var _utils_projects__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(35); +/* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(34); +/* harmony import */ var _utils_parallelize__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(35); +/* harmony import */ var _utils_projects__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(36); /* * Licensed to Elasticsearch B.V. under one or more contributor * license agreements. See the NOTICE file distributed with @@ -26061,7 +26186,7 @@ const RunCommand = { }; /***/ }), -/* 191 */ +/* 192 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -26069,10 +26194,10 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "WatchCommand", function() { return WatchCommand; }); /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2); /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(chalk__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(33); -/* harmony import */ var _utils_parallelize__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(34); -/* harmony import */ var _utils_projects__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(35); -/* harmony import */ var _utils_watch__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(192); +/* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(34); +/* harmony import */ var _utils_parallelize__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(35); +/* harmony import */ var _utils_projects__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(36); +/* harmony import */ var _utils_watch__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(193); /* * Licensed to Elasticsearch B.V. under one or more contributor * license agreements. See the NOTICE file distributed with @@ -26156,14 +26281,14 @@ const WatchCommand = { }; /***/ }), -/* 192 */ +/* 193 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "waitUntilWatchIsReady", function() { return waitUntilWatchIsReady; }); -/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(193); -/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(292); +/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(194); +/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(293); /* * Licensed to Elasticsearch B.V. under one or more contributor * license agreements. See the NOTICE file distributed with @@ -26230,168 +26355,168 @@ function waitUntilWatchIsReady(stream, opts = {}) { } /***/ }), -/* 193 */ +/* 194 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(194); +/* harmony import */ var _internal_Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(195); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Observable", function() { return _internal_Observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]; }); -/* harmony import */ var _internal_observable_ConnectableObservable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(212); +/* harmony import */ var _internal_observable_ConnectableObservable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(213); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ConnectableObservable", function() { return _internal_observable_ConnectableObservable__WEBPACK_IMPORTED_MODULE_1__["ConnectableObservable"]; }); -/* harmony import */ var _internal_operators_groupBy__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(217); +/* harmony import */ var _internal_operators_groupBy__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(218); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "GroupedObservable", function() { return _internal_operators_groupBy__WEBPACK_IMPORTED_MODULE_2__["GroupedObservable"]; }); -/* harmony import */ var _internal_symbol_observable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(209); +/* harmony import */ var _internal_symbol_observable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(210); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "observable", function() { return _internal_symbol_observable__WEBPACK_IMPORTED_MODULE_3__["observable"]; }); -/* harmony import */ var _internal_Subject__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(213); +/* harmony import */ var _internal_Subject__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(214); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Subject", function() { return _internal_Subject__WEBPACK_IMPORTED_MODULE_4__["Subject"]; }); -/* harmony import */ var _internal_BehaviorSubject__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(218); +/* harmony import */ var _internal_BehaviorSubject__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(219); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BehaviorSubject", function() { return _internal_BehaviorSubject__WEBPACK_IMPORTED_MODULE_5__["BehaviorSubject"]; }); -/* harmony import */ var _internal_ReplaySubject__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(219); +/* harmony import */ var _internal_ReplaySubject__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(220); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ReplaySubject", function() { return _internal_ReplaySubject__WEBPACK_IMPORTED_MODULE_6__["ReplaySubject"]; }); -/* harmony import */ var _internal_AsyncSubject__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(236); +/* harmony import */ var _internal_AsyncSubject__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(237); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "AsyncSubject", function() { return _internal_AsyncSubject__WEBPACK_IMPORTED_MODULE_7__["AsyncSubject"]; }); -/* harmony import */ var _internal_scheduler_asap__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(237); +/* harmony import */ var _internal_scheduler_asap__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(238); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "asapScheduler", function() { return _internal_scheduler_asap__WEBPACK_IMPORTED_MODULE_8__["asap"]; }); -/* harmony import */ var _internal_scheduler_async__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(241); +/* harmony import */ var _internal_scheduler_async__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(242); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "asyncScheduler", function() { return _internal_scheduler_async__WEBPACK_IMPORTED_MODULE_9__["async"]; }); -/* harmony import */ var _internal_scheduler_queue__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(220); +/* harmony import */ var _internal_scheduler_queue__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(221); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "queueScheduler", function() { return _internal_scheduler_queue__WEBPACK_IMPORTED_MODULE_10__["queue"]; }); -/* harmony import */ var _internal_scheduler_animationFrame__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(242); +/* harmony import */ var _internal_scheduler_animationFrame__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(243); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "animationFrameScheduler", function() { return _internal_scheduler_animationFrame__WEBPACK_IMPORTED_MODULE_11__["animationFrame"]; }); -/* harmony import */ var _internal_scheduler_VirtualTimeScheduler__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(245); +/* harmony import */ var _internal_scheduler_VirtualTimeScheduler__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(246); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "VirtualTimeScheduler", function() { return _internal_scheduler_VirtualTimeScheduler__WEBPACK_IMPORTED_MODULE_12__["VirtualTimeScheduler"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "VirtualAction", function() { return _internal_scheduler_VirtualTimeScheduler__WEBPACK_IMPORTED_MODULE_12__["VirtualAction"]; }); -/* harmony import */ var _internal_Scheduler__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(226); +/* harmony import */ var _internal_Scheduler__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(227); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Scheduler", function() { return _internal_Scheduler__WEBPACK_IMPORTED_MODULE_13__["Scheduler"]; }); -/* harmony import */ var _internal_Subscription__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(202); +/* harmony import */ var _internal_Subscription__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(203); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Subscription", function() { return _internal_Subscription__WEBPACK_IMPORTED_MODULE_14__["Subscription"]; }); -/* harmony import */ var _internal_Subscriber__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(196); +/* harmony import */ var _internal_Subscriber__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(197); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Subscriber", function() { return _internal_Subscriber__WEBPACK_IMPORTED_MODULE_15__["Subscriber"]; }); -/* harmony import */ var _internal_Notification__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(228); +/* harmony import */ var _internal_Notification__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(229); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Notification", function() { return _internal_Notification__WEBPACK_IMPORTED_MODULE_16__["Notification"]; }); -/* harmony import */ var _internal_util_pipe__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(210); +/* harmony import */ var _internal_util_pipe__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(211); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pipe", function() { return _internal_util_pipe__WEBPACK_IMPORTED_MODULE_17__["pipe"]; }); -/* harmony import */ var _internal_util_noop__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(211); +/* harmony import */ var _internal_util_noop__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(212); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "noop", function() { return _internal_util_noop__WEBPACK_IMPORTED_MODULE_18__["noop"]; }); -/* harmony import */ var _internal_util_identity__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(246); +/* harmony import */ var _internal_util_identity__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(247); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "identity", function() { return _internal_util_identity__WEBPACK_IMPORTED_MODULE_19__["identity"]; }); -/* harmony import */ var _internal_util_isObservable__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(247); +/* harmony import */ var _internal_util_isObservable__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(248); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "isObservable", function() { return _internal_util_isObservable__WEBPACK_IMPORTED_MODULE_20__["isObservable"]; }); -/* harmony import */ var _internal_util_ArgumentOutOfRangeError__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(248); +/* harmony import */ var _internal_util_ArgumentOutOfRangeError__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(249); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ArgumentOutOfRangeError", function() { return _internal_util_ArgumentOutOfRangeError__WEBPACK_IMPORTED_MODULE_21__["ArgumentOutOfRangeError"]; }); -/* harmony import */ var _internal_util_EmptyError__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(249); +/* harmony import */ var _internal_util_EmptyError__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(250); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "EmptyError", function() { return _internal_util_EmptyError__WEBPACK_IMPORTED_MODULE_22__["EmptyError"]; }); -/* harmony import */ var _internal_util_ObjectUnsubscribedError__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(214); +/* harmony import */ var _internal_util_ObjectUnsubscribedError__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(215); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ObjectUnsubscribedError", function() { return _internal_util_ObjectUnsubscribedError__WEBPACK_IMPORTED_MODULE_23__["ObjectUnsubscribedError"]; }); -/* harmony import */ var _internal_util_UnsubscriptionError__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(207); +/* harmony import */ var _internal_util_UnsubscriptionError__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(208); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "UnsubscriptionError", function() { return _internal_util_UnsubscriptionError__WEBPACK_IMPORTED_MODULE_24__["UnsubscriptionError"]; }); -/* harmony import */ var _internal_util_TimeoutError__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(250); +/* harmony import */ var _internal_util_TimeoutError__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(251); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TimeoutError", function() { return _internal_util_TimeoutError__WEBPACK_IMPORTED_MODULE_25__["TimeoutError"]; }); -/* harmony import */ var _internal_observable_bindCallback__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(251); +/* harmony import */ var _internal_observable_bindCallback__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(252); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "bindCallback", function() { return _internal_observable_bindCallback__WEBPACK_IMPORTED_MODULE_26__["bindCallback"]; }); -/* harmony import */ var _internal_observable_bindNodeCallback__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(253); +/* harmony import */ var _internal_observable_bindNodeCallback__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(254); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "bindNodeCallback", function() { return _internal_observable_bindNodeCallback__WEBPACK_IMPORTED_MODULE_27__["bindNodeCallback"]; }); -/* harmony import */ var _internal_observable_combineLatest__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(254); +/* harmony import */ var _internal_observable_combineLatest__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(255); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "combineLatest", function() { return _internal_observable_combineLatest__WEBPACK_IMPORTED_MODULE_28__["combineLatest"]; }); -/* harmony import */ var _internal_observable_concat__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(265); +/* harmony import */ var _internal_observable_concat__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(266); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "concat", function() { return _internal_observable_concat__WEBPACK_IMPORTED_MODULE_29__["concat"]; }); -/* harmony import */ var _internal_observable_defer__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(275); +/* harmony import */ var _internal_observable_defer__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(276); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "defer", function() { return _internal_observable_defer__WEBPACK_IMPORTED_MODULE_30__["defer"]; }); -/* harmony import */ var _internal_observable_empty__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(229); +/* harmony import */ var _internal_observable_empty__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(230); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "empty", function() { return _internal_observable_empty__WEBPACK_IMPORTED_MODULE_31__["empty"]; }); -/* harmony import */ var _internal_observable_forkJoin__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(276); +/* harmony import */ var _internal_observable_forkJoin__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(277); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "forkJoin", function() { return _internal_observable_forkJoin__WEBPACK_IMPORTED_MODULE_32__["forkJoin"]; }); -/* harmony import */ var _internal_observable_from__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(266); +/* harmony import */ var _internal_observable_from__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(267); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "from", function() { return _internal_observable_from__WEBPACK_IMPORTED_MODULE_33__["from"]; }); -/* harmony import */ var _internal_observable_fromEvent__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(277); +/* harmony import */ var _internal_observable_fromEvent__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(278); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "fromEvent", function() { return _internal_observable_fromEvent__WEBPACK_IMPORTED_MODULE_34__["fromEvent"]; }); -/* harmony import */ var _internal_observable_fromEventPattern__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(278); +/* harmony import */ var _internal_observable_fromEventPattern__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(279); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "fromEventPattern", function() { return _internal_observable_fromEventPattern__WEBPACK_IMPORTED_MODULE_35__["fromEventPattern"]; }); -/* harmony import */ var _internal_observable_generate__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(279); +/* harmony import */ var _internal_observable_generate__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(280); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "generate", function() { return _internal_observable_generate__WEBPACK_IMPORTED_MODULE_36__["generate"]; }); -/* harmony import */ var _internal_observable_iif__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(280); +/* harmony import */ var _internal_observable_iif__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(281); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "iif", function() { return _internal_observable_iif__WEBPACK_IMPORTED_MODULE_37__["iif"]; }); -/* harmony import */ var _internal_observable_interval__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(281); +/* harmony import */ var _internal_observable_interval__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(282); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "interval", function() { return _internal_observable_interval__WEBPACK_IMPORTED_MODULE_38__["interval"]; }); -/* harmony import */ var _internal_observable_merge__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(283); +/* harmony import */ var _internal_observable_merge__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(284); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "merge", function() { return _internal_observable_merge__WEBPACK_IMPORTED_MODULE_39__["merge"]; }); -/* harmony import */ var _internal_observable_never__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(284); +/* harmony import */ var _internal_observable_never__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(285); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "never", function() { return _internal_observable_never__WEBPACK_IMPORTED_MODULE_40__["never"]; }); -/* harmony import */ var _internal_observable_of__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(230); +/* harmony import */ var _internal_observable_of__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(231); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "of", function() { return _internal_observable_of__WEBPACK_IMPORTED_MODULE_41__["of"]; }); -/* harmony import */ var _internal_observable_onErrorResumeNext__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(285); +/* harmony import */ var _internal_observable_onErrorResumeNext__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(286); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "onErrorResumeNext", function() { return _internal_observable_onErrorResumeNext__WEBPACK_IMPORTED_MODULE_42__["onErrorResumeNext"]; }); -/* harmony import */ var _internal_observable_pairs__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(286); +/* harmony import */ var _internal_observable_pairs__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(287); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pairs", function() { return _internal_observable_pairs__WEBPACK_IMPORTED_MODULE_43__["pairs"]; }); -/* harmony import */ var _internal_observable_race__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(287); +/* harmony import */ var _internal_observable_race__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(288); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "race", function() { return _internal_observable_race__WEBPACK_IMPORTED_MODULE_44__["race"]; }); -/* harmony import */ var _internal_observable_range__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(288); +/* harmony import */ var _internal_observable_range__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(289); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "range", function() { return _internal_observable_range__WEBPACK_IMPORTED_MODULE_45__["range"]; }); -/* harmony import */ var _internal_observable_throwError__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(235); +/* harmony import */ var _internal_observable_throwError__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(236); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "throwError", function() { return _internal_observable_throwError__WEBPACK_IMPORTED_MODULE_46__["throwError"]; }); -/* harmony import */ var _internal_observable_timer__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(289); +/* harmony import */ var _internal_observable_timer__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(290); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "timer", function() { return _internal_observable_timer__WEBPACK_IMPORTED_MODULE_47__["timer"]; }); -/* harmony import */ var _internal_observable_using__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(290); +/* harmony import */ var _internal_observable_using__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(291); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "using", function() { return _internal_observable_using__WEBPACK_IMPORTED_MODULE_48__["using"]; }); -/* harmony import */ var _internal_observable_zip__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(291); +/* harmony import */ var _internal_observable_zip__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(292); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "zip", function() { return _internal_observable_zip__WEBPACK_IMPORTED_MODULE_49__["zip"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "EMPTY", function() { return _internal_observable_empty__WEBPACK_IMPORTED_MODULE_31__["EMPTY"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "NEVER", function() { return _internal_observable_never__WEBPACK_IMPORTED_MODULE_40__["NEVER"]; }); -/* harmony import */ var _internal_config__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(200); +/* harmony import */ var _internal_config__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(201); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "config", function() { return _internal_config__WEBPACK_IMPORTED_MODULE_50__["config"]; }); /** PURE_IMPORTS_START PURE_IMPORTS_END */ @@ -26452,16 +26577,16 @@ __webpack_require__.r(__webpack_exports__); /***/ }), -/* 194 */ +/* 195 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Observable", function() { return Observable; }); -/* harmony import */ var _util_toSubscriber__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(195); -/* harmony import */ var _internal_symbol_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(209); -/* harmony import */ var _util_pipe__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(210); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(200); +/* harmony import */ var _util_toSubscriber__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(196); +/* harmony import */ var _internal_symbol_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(210); +/* harmony import */ var _util_pipe__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(211); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(201); /** PURE_IMPORTS_START _util_toSubscriber,_internal_symbol_observable,_util_pipe,_config PURE_IMPORTS_END */ @@ -26575,15 +26700,15 @@ function getPromiseCtor(promiseCtor) { /***/ }), -/* 195 */ +/* 196 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "toSubscriber", function() { return toSubscriber; }); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(196); -/* harmony import */ var _symbol_rxSubscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(208); -/* harmony import */ var _Observer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(199); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); +/* harmony import */ var _symbol_rxSubscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(209); +/* harmony import */ var _Observer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(200); /** PURE_IMPORTS_START _Subscriber,_symbol_rxSubscriber,_Observer PURE_IMPORTS_END */ @@ -26606,19 +26731,19 @@ function toSubscriber(nextOrObserver, error, complete) { /***/ }), -/* 196 */ +/* 197 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Subscriber", function() { return Subscriber; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _util_isFunction__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(198); -/* harmony import */ var _Observer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(199); -/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(202); -/* harmony import */ var _internal_symbol_rxSubscriber__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(208); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(200); -/* harmony import */ var _util_hostReportError__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(201); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _util_isFunction__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(199); +/* harmony import */ var _Observer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(200); +/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(203); +/* harmony import */ var _internal_symbol_rxSubscriber__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(209); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(201); +/* harmony import */ var _util_hostReportError__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(202); /** PURE_IMPORTS_START tslib,_util_isFunction,_Observer,_Subscription,_internal_symbol_rxSubscriber,_config,_util_hostReportError PURE_IMPORTS_END */ @@ -26860,7 +26985,7 @@ function isTrustedSubscriber(obj) { /***/ }), -/* 197 */ +/* 198 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -27073,7 +27198,7 @@ function __importDefault(mod) { /***/ }), -/* 198 */ +/* 199 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -27087,14 +27212,14 @@ function isFunction(x) { /***/ }), -/* 199 */ +/* 200 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "empty", function() { return empty; }); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(200); -/* harmony import */ var _util_hostReportError__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(201); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(201); +/* harmony import */ var _util_hostReportError__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(202); /** PURE_IMPORTS_START _config,_util_hostReportError PURE_IMPORTS_END */ @@ -27115,7 +27240,7 @@ var empty = { /***/ }), -/* 200 */ +/* 201 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -27143,7 +27268,7 @@ var config = { /***/ }), -/* 201 */ +/* 202 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -27157,18 +27282,18 @@ function hostReportError(err) { /***/ }), -/* 202 */ +/* 203 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Subscription", function() { return Subscription; }); -/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(203); -/* harmony import */ var _util_isObject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(204); -/* harmony import */ var _util_isFunction__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(198); -/* harmony import */ var _util_tryCatch__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(205); -/* harmony import */ var _util_errorObject__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(206); -/* harmony import */ var _util_UnsubscriptionError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(207); +/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(204); +/* harmony import */ var _util_isObject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(205); +/* harmony import */ var _util_isFunction__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(199); +/* harmony import */ var _util_tryCatch__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(206); +/* harmony import */ var _util_errorObject__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(207); +/* harmony import */ var _util_UnsubscriptionError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(208); /** PURE_IMPORTS_START _util_isArray,_util_isObject,_util_isFunction,_util_tryCatch,_util_errorObject,_util_UnsubscriptionError PURE_IMPORTS_END */ @@ -27304,7 +27429,7 @@ function flattenUnsubscriptionErrors(errors) { /***/ }), -/* 203 */ +/* 204 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -27316,7 +27441,7 @@ var isArray = Array.isArray || (function (x) { return x && typeof x.length === ' /***/ }), -/* 204 */ +/* 205 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -27330,13 +27455,13 @@ function isObject(x) { /***/ }), -/* 205 */ +/* 206 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "tryCatch", function() { return tryCatch; }); -/* harmony import */ var _errorObject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(206); +/* harmony import */ var _errorObject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(207); /** PURE_IMPORTS_START _errorObject PURE_IMPORTS_END */ var tryCatchTarget; @@ -27357,7 +27482,7 @@ function tryCatch(fn) { /***/ }), -/* 206 */ +/* 207 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -27369,13 +27494,13 @@ var errorObject = { e: {} }; /***/ }), -/* 207 */ +/* 208 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "UnsubscriptionError", function() { return UnsubscriptionError; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); /** PURE_IMPORTS_START tslib PURE_IMPORTS_END */ var UnsubscriptionError = /*@__PURE__*/ (function (_super) { @@ -27395,7 +27520,7 @@ var UnsubscriptionError = /*@__PURE__*/ (function (_super) { /***/ }), -/* 208 */ +/* 209 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -27411,7 +27536,7 @@ var $$rxSubscriber = rxSubscriber; /***/ }), -/* 209 */ +/* 210 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -27423,14 +27548,14 @@ var observable = typeof Symbol === 'function' && Symbol.observable || '@@observa /***/ }), -/* 210 */ +/* 211 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "pipe", function() { return pipe; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "pipeFromArray", function() { return pipeFromArray; }); -/* harmony import */ var _noop__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(211); +/* harmony import */ var _noop__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(212); /** PURE_IMPORTS_START _noop PURE_IMPORTS_END */ function pipe() { @@ -27455,7 +27580,7 @@ function pipeFromArray(fns) { /***/ }), -/* 211 */ +/* 212 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -27467,19 +27592,19 @@ function noop() { } /***/ }), -/* 212 */ +/* 213 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ConnectableObservable", function() { return ConnectableObservable; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "connectableObservableDescriptor", function() { return connectableObservableDescriptor; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(213); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(194); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(196); -/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(202); -/* harmony import */ var _operators_refCount__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(216); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(214); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(195); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(197); +/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(203); +/* harmony import */ var _operators_refCount__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(217); /** PURE_IMPORTS_START tslib,_Subject,_Observable,_Subscriber,_Subscription,_operators_refCount PURE_IMPORTS_END */ @@ -27626,7 +27751,7 @@ var RefCountSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 213 */ +/* 214 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -27634,13 +27759,13 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SubjectSubscriber", function() { return SubjectSubscriber; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Subject", function() { return Subject; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AnonymousSubject", function() { return AnonymousSubject; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(194); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(196); -/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(202); -/* harmony import */ var _util_ObjectUnsubscribedError__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(214); -/* harmony import */ var _SubjectSubscription__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(215); -/* harmony import */ var _internal_symbol_rxSubscriber__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(208); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(195); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(197); +/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(203); +/* harmony import */ var _util_ObjectUnsubscribedError__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(215); +/* harmony import */ var _SubjectSubscription__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(216); +/* harmony import */ var _internal_symbol_rxSubscriber__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(209); /** PURE_IMPORTS_START tslib,_Observable,_Subscriber,_Subscription,_util_ObjectUnsubscribedError,_SubjectSubscription,_internal_symbol_rxSubscriber PURE_IMPORTS_END */ @@ -27802,13 +27927,13 @@ var AnonymousSubject = /*@__PURE__*/ (function (_super) { /***/ }), -/* 214 */ +/* 215 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ObjectUnsubscribedError", function() { return ObjectUnsubscribedError; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); /** PURE_IMPORTS_START tslib PURE_IMPORTS_END */ var ObjectUnsubscribedError = /*@__PURE__*/ (function (_super) { @@ -27826,14 +27951,14 @@ var ObjectUnsubscribedError = /*@__PURE__*/ (function (_super) { /***/ }), -/* 215 */ +/* 216 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SubjectSubscription", function() { return SubjectSubscription; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(202); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(203); /** PURE_IMPORTS_START tslib,_Subscription PURE_IMPORTS_END */ @@ -27869,14 +27994,14 @@ var SubjectSubscription = /*@__PURE__*/ (function (_super) { /***/ }), -/* 216 */ +/* 217 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "refCount", function() { return refCount; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(196); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -27938,18 +28063,18 @@ var RefCountSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 217 */ +/* 218 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "groupBy", function() { return groupBy; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "GroupedObservable", function() { return GroupedObservable; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(196); -/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(202); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(194); -/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(213); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); +/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(203); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(195); +/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(214); /** PURE_IMPORTS_START tslib,_Subscriber,_Subscription,_Observable,_Subject PURE_IMPORTS_END */ @@ -28135,15 +28260,15 @@ var InnerRefCountSubscription = /*@__PURE__*/ (function (_super) { /***/ }), -/* 218 */ +/* 219 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BehaviorSubject", function() { return BehaviorSubject; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(213); -/* harmony import */ var _util_ObjectUnsubscribedError__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(214); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(214); +/* harmony import */ var _util_ObjectUnsubscribedError__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(215); /** PURE_IMPORTS_START tslib,_Subject,_util_ObjectUnsubscribedError PURE_IMPORTS_END */ @@ -28190,19 +28315,19 @@ var BehaviorSubject = /*@__PURE__*/ (function (_super) { /***/ }), -/* 219 */ +/* 220 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ReplaySubject", function() { return ReplaySubject; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(213); -/* harmony import */ var _scheduler_queue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(220); -/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(202); -/* harmony import */ var _operators_observeOn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(227); -/* harmony import */ var _util_ObjectUnsubscribedError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(214); -/* harmony import */ var _SubjectSubscription__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(215); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(214); +/* harmony import */ var _scheduler_queue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(221); +/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(203); +/* harmony import */ var _operators_observeOn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(228); +/* harmony import */ var _util_ObjectUnsubscribedError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(215); +/* harmony import */ var _SubjectSubscription__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(216); /** PURE_IMPORTS_START tslib,_Subject,_scheduler_queue,_Subscription,_operators_observeOn,_util_ObjectUnsubscribedError,_SubjectSubscription PURE_IMPORTS_END */ @@ -28323,14 +28448,14 @@ var ReplayEvent = /*@__PURE__*/ (function () { /***/ }), -/* 220 */ +/* 221 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "queue", function() { return queue; }); -/* harmony import */ var _QueueAction__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(221); -/* harmony import */ var _QueueScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(224); +/* harmony import */ var _QueueAction__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(222); +/* harmony import */ var _QueueScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(225); /** PURE_IMPORTS_START _QueueAction,_QueueScheduler PURE_IMPORTS_END */ @@ -28339,14 +28464,14 @@ var queue = /*@__PURE__*/ new _QueueScheduler__WEBPACK_IMPORTED_MODULE_1__["Queu /***/ }), -/* 221 */ +/* 222 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "QueueAction", function() { return QueueAction; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _AsyncAction__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(222); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _AsyncAction__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(223); /** PURE_IMPORTS_START tslib,_AsyncAction PURE_IMPORTS_END */ @@ -28391,14 +28516,14 @@ var QueueAction = /*@__PURE__*/ (function (_super) { /***/ }), -/* 222 */ +/* 223 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AsyncAction", function() { return AsyncAction; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Action__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(223); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Action__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(224); /** PURE_IMPORTS_START tslib,_Action PURE_IMPORTS_END */ @@ -28496,14 +28621,14 @@ var AsyncAction = /*@__PURE__*/ (function (_super) { /***/ }), -/* 223 */ +/* 224 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Action", function() { return Action; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(202); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(203); /** PURE_IMPORTS_START tslib,_Subscription PURE_IMPORTS_END */ @@ -28525,14 +28650,14 @@ var Action = /*@__PURE__*/ (function (_super) { /***/ }), -/* 224 */ +/* 225 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "QueueScheduler", function() { return QueueScheduler; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _AsyncScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(225); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _AsyncScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(226); /** PURE_IMPORTS_START tslib,_AsyncScheduler PURE_IMPORTS_END */ @@ -28548,14 +28673,14 @@ var QueueScheduler = /*@__PURE__*/ (function (_super) { /***/ }), -/* 225 */ +/* 226 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AsyncScheduler", function() { return AsyncScheduler; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Scheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(226); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Scheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(227); /** PURE_IMPORTS_START tslib,_Scheduler PURE_IMPORTS_END */ @@ -28617,7 +28742,7 @@ var AsyncScheduler = /*@__PURE__*/ (function (_super) { /***/ }), -/* 226 */ +/* 227 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -28645,7 +28770,7 @@ var Scheduler = /*@__PURE__*/ (function () { /***/ }), -/* 227 */ +/* 228 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -28654,9 +28779,9 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ObserveOnOperator", function() { return ObserveOnOperator; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ObserveOnSubscriber", function() { return ObserveOnSubscriber; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ObserveOnMessage", function() { return ObserveOnMessage; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(196); -/* harmony import */ var _Notification__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(228); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); +/* harmony import */ var _Notification__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(229); /** PURE_IMPORTS_START tslib,_Subscriber,_Notification PURE_IMPORTS_END */ @@ -28726,15 +28851,15 @@ var ObserveOnMessage = /*@__PURE__*/ (function () { /***/ }), -/* 228 */ +/* 229 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Notification", function() { return Notification; }); -/* harmony import */ var _observable_empty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(229); -/* harmony import */ var _observable_of__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(230); -/* harmony import */ var _observable_throwError__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(235); +/* harmony import */ var _observable_empty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(230); +/* harmony import */ var _observable_of__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(231); +/* harmony import */ var _observable_throwError__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(236); /** PURE_IMPORTS_START _observable_empty,_observable_of,_observable_throwError PURE_IMPORTS_END */ @@ -28808,7 +28933,7 @@ var Notification = /*@__PURE__*/ (function () { /***/ }), -/* 229 */ +/* 230 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -28816,7 +28941,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "EMPTY", function() { return EMPTY; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "empty", function() { return empty; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "emptyScheduled", function() { return emptyScheduled; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(194); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(195); /** PURE_IMPORTS_START _Observable PURE_IMPORTS_END */ var EMPTY = /*@__PURE__*/ new _Observable__WEBPACK_IMPORTED_MODULE_0__["Observable"](function (subscriber) { return subscriber.complete(); }); @@ -28830,16 +28955,16 @@ function emptyScheduled(scheduler) { /***/ }), -/* 230 */ +/* 231 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "of", function() { return of; }); -/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(231); -/* harmony import */ var _fromArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(232); -/* harmony import */ var _empty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(229); -/* harmony import */ var _scalar__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(234); +/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(232); +/* harmony import */ var _fromArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(233); +/* harmony import */ var _empty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(230); +/* harmony import */ var _scalar__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(235); /** PURE_IMPORTS_START _util_isScheduler,_fromArray,_empty,_scalar PURE_IMPORTS_END */ @@ -28870,7 +28995,7 @@ function of() { /***/ }), -/* 231 */ +/* 232 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -28884,15 +29009,15 @@ function isScheduler(value) { /***/ }), -/* 232 */ +/* 233 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "fromArray", function() { return fromArray; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(194); -/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(202); -/* harmony import */ var _util_subscribeToArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(233); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(195); +/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(203); +/* harmony import */ var _util_subscribeToArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(234); /** PURE_IMPORTS_START _Observable,_Subscription,_util_subscribeToArray PURE_IMPORTS_END */ @@ -28923,7 +29048,7 @@ function fromArray(input, scheduler) { /***/ }), -/* 233 */ +/* 234 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -28944,13 +29069,13 @@ var subscribeToArray = function (array) { /***/ }), -/* 234 */ +/* 235 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "scalar", function() { return scalar; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(194); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(195); /** PURE_IMPORTS_START _Observable PURE_IMPORTS_END */ function scalar(value) { @@ -28966,13 +29091,13 @@ function scalar(value) { /***/ }), -/* 235 */ +/* 236 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "throwError", function() { return throwError; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(194); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(195); /** PURE_IMPORTS_START _Observable PURE_IMPORTS_END */ function throwError(error, scheduler) { @@ -28991,15 +29116,15 @@ function dispatch(_a) { /***/ }), -/* 236 */ +/* 237 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AsyncSubject", function() { return AsyncSubject; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(213); -/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(202); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(214); +/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(203); /** PURE_IMPORTS_START tslib,_Subject,_Subscription PURE_IMPORTS_END */ @@ -29050,14 +29175,14 @@ var AsyncSubject = /*@__PURE__*/ (function (_super) { /***/ }), -/* 237 */ +/* 238 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "asap", function() { return asap; }); -/* harmony import */ var _AsapAction__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(238); -/* harmony import */ var _AsapScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(240); +/* harmony import */ var _AsapAction__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(239); +/* harmony import */ var _AsapScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(241); /** PURE_IMPORTS_START _AsapAction,_AsapScheduler PURE_IMPORTS_END */ @@ -29066,15 +29191,15 @@ var asap = /*@__PURE__*/ new _AsapScheduler__WEBPACK_IMPORTED_MODULE_1__["AsapSc /***/ }), -/* 238 */ +/* 239 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AsapAction", function() { return AsapAction; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _util_Immediate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(239); -/* harmony import */ var _AsyncAction__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(222); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _util_Immediate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(240); +/* harmony import */ var _AsyncAction__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(223); /** PURE_IMPORTS_START tslib,_util_Immediate,_AsyncAction PURE_IMPORTS_END */ @@ -29117,7 +29242,7 @@ var AsapAction = /*@__PURE__*/ (function (_super) { /***/ }), -/* 239 */ +/* 240 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -29147,14 +29272,14 @@ var Immediate = { /***/ }), -/* 240 */ +/* 241 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AsapScheduler", function() { return AsapScheduler; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _AsyncScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(225); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _AsyncScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(226); /** PURE_IMPORTS_START tslib,_AsyncScheduler PURE_IMPORTS_END */ @@ -29191,14 +29316,14 @@ var AsapScheduler = /*@__PURE__*/ (function (_super) { /***/ }), -/* 241 */ +/* 242 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "async", function() { return async; }); -/* harmony import */ var _AsyncAction__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(222); -/* harmony import */ var _AsyncScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(225); +/* harmony import */ var _AsyncAction__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(223); +/* harmony import */ var _AsyncScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(226); /** PURE_IMPORTS_START _AsyncAction,_AsyncScheduler PURE_IMPORTS_END */ @@ -29207,14 +29332,14 @@ var async = /*@__PURE__*/ new _AsyncScheduler__WEBPACK_IMPORTED_MODULE_1__["Asyn /***/ }), -/* 242 */ +/* 243 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "animationFrame", function() { return animationFrame; }); -/* harmony import */ var _AnimationFrameAction__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(243); -/* harmony import */ var _AnimationFrameScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(244); +/* harmony import */ var _AnimationFrameAction__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(244); +/* harmony import */ var _AnimationFrameScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(245); /** PURE_IMPORTS_START _AnimationFrameAction,_AnimationFrameScheduler PURE_IMPORTS_END */ @@ -29223,14 +29348,14 @@ var animationFrame = /*@__PURE__*/ new _AnimationFrameScheduler__WEBPACK_IMPORTE /***/ }), -/* 243 */ +/* 244 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AnimationFrameAction", function() { return AnimationFrameAction; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _AsyncAction__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(222); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _AsyncAction__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(223); /** PURE_IMPORTS_START tslib,_AsyncAction PURE_IMPORTS_END */ @@ -29272,14 +29397,14 @@ var AnimationFrameAction = /*@__PURE__*/ (function (_super) { /***/ }), -/* 244 */ +/* 245 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AnimationFrameScheduler", function() { return AnimationFrameScheduler; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _AsyncScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(225); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _AsyncScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(226); /** PURE_IMPORTS_START tslib,_AsyncScheduler PURE_IMPORTS_END */ @@ -29316,16 +29441,16 @@ var AnimationFrameScheduler = /*@__PURE__*/ (function (_super) { /***/ }), -/* 245 */ +/* 246 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "VirtualTimeScheduler", function() { return VirtualTimeScheduler; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "VirtualAction", function() { return VirtualAction; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _AsyncAction__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(222); -/* harmony import */ var _AsyncScheduler__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(225); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _AsyncAction__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(223); +/* harmony import */ var _AsyncScheduler__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(226); /** PURE_IMPORTS_START tslib,_AsyncAction,_AsyncScheduler PURE_IMPORTS_END */ @@ -29437,7 +29562,7 @@ var VirtualAction = /*@__PURE__*/ (function (_super) { /***/ }), -/* 246 */ +/* 247 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -29451,13 +29576,13 @@ function identity(x) { /***/ }), -/* 247 */ +/* 248 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isObservable", function() { return isObservable; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(194); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(195); /** PURE_IMPORTS_START _Observable PURE_IMPORTS_END */ function isObservable(obj) { @@ -29467,13 +29592,13 @@ function isObservable(obj) { /***/ }), -/* 248 */ +/* 249 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ArgumentOutOfRangeError", function() { return ArgumentOutOfRangeError; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); /** PURE_IMPORTS_START tslib PURE_IMPORTS_END */ var ArgumentOutOfRangeError = /*@__PURE__*/ (function (_super) { @@ -29491,13 +29616,13 @@ var ArgumentOutOfRangeError = /*@__PURE__*/ (function (_super) { /***/ }), -/* 249 */ +/* 250 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "EmptyError", function() { return EmptyError; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); /** PURE_IMPORTS_START tslib PURE_IMPORTS_END */ var EmptyError = /*@__PURE__*/ (function (_super) { @@ -29515,13 +29640,13 @@ var EmptyError = /*@__PURE__*/ (function (_super) { /***/ }), -/* 250 */ +/* 251 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TimeoutError", function() { return TimeoutError; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); /** PURE_IMPORTS_START tslib PURE_IMPORTS_END */ var TimeoutError = /*@__PURE__*/ (function (_super) { @@ -29539,17 +29664,17 @@ var TimeoutError = /*@__PURE__*/ (function (_super) { /***/ }), -/* 251 */ +/* 252 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "bindCallback", function() { return bindCallback; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(194); -/* harmony import */ var _AsyncSubject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(236); -/* harmony import */ var _operators_map__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(252); -/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(203); -/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(231); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(195); +/* harmony import */ var _AsyncSubject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(237); +/* harmony import */ var _operators_map__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(253); +/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(204); +/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(232); /** PURE_IMPORTS_START _Observable,_AsyncSubject,_operators_map,_util_isArray,_util_isScheduler PURE_IMPORTS_END */ @@ -29652,15 +29777,15 @@ function dispatchError(state) { /***/ }), -/* 252 */ +/* 253 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "map", function() { return map; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MapOperator", function() { return MapOperator; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(196); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -29709,17 +29834,17 @@ var MapSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 253 */ +/* 254 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "bindNodeCallback", function() { return bindNodeCallback; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(194); -/* harmony import */ var _AsyncSubject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(236); -/* harmony import */ var _operators_map__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(252); -/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(231); -/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(203); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(195); +/* harmony import */ var _AsyncSubject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(237); +/* harmony import */ var _operators_map__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(253); +/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(232); +/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(204); /** PURE_IMPORTS_START _Observable,_AsyncSubject,_operators_map,_util_isScheduler,_util_isArray PURE_IMPORTS_END */ @@ -29830,7 +29955,7 @@ function dispatchError(arg) { /***/ }), -/* 254 */ +/* 255 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -29838,12 +29963,12 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "combineLatest", function() { return combineLatest; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CombineLatestOperator", function() { return CombineLatestOperator; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CombineLatestSubscriber", function() { return CombineLatestSubscriber; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(231); -/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(203); -/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(255); -/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(256); -/* harmony import */ var _fromArray__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(232); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(232); +/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(204); +/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(256); +/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(257); +/* harmony import */ var _fromArray__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(233); /** PURE_IMPORTS_START tslib,_util_isScheduler,_util_isArray,_OuterSubscriber,_util_subscribeToResult,_fromArray PURE_IMPORTS_END */ @@ -29948,14 +30073,14 @@ var CombineLatestSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 255 */ +/* 256 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "OuterSubscriber", function() { return OuterSubscriber; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(196); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -29980,14 +30105,14 @@ var OuterSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 256 */ +/* 257 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "subscribeToResult", function() { return subscribeToResult; }); -/* harmony import */ var _InnerSubscriber__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(257); -/* harmony import */ var _subscribeTo__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(258); +/* harmony import */ var _InnerSubscriber__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(258); +/* harmony import */ var _subscribeTo__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(259); /** PURE_IMPORTS_START _InnerSubscriber,_subscribeTo PURE_IMPORTS_END */ @@ -29999,14 +30124,14 @@ function subscribeToResult(outerSubscriber, result, outerValue, outerIndex) { /***/ }), -/* 257 */ +/* 258 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "InnerSubscriber", function() { return InnerSubscriber; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(196); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -30038,22 +30163,22 @@ var InnerSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 258 */ +/* 259 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "subscribeTo", function() { return subscribeTo; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(194); -/* harmony import */ var _subscribeToArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(233); -/* harmony import */ var _subscribeToPromise__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(259); -/* harmony import */ var _subscribeToIterable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(260); -/* harmony import */ var _subscribeToObservable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(262); -/* harmony import */ var _isArrayLike__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(263); -/* harmony import */ var _isPromise__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(264); -/* harmony import */ var _isObject__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(204); -/* harmony import */ var _symbol_iterator__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(261); -/* harmony import */ var _symbol_observable__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(209); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(195); +/* harmony import */ var _subscribeToArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(234); +/* harmony import */ var _subscribeToPromise__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(260); +/* harmony import */ var _subscribeToIterable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(261); +/* harmony import */ var _subscribeToObservable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(263); +/* harmony import */ var _isArrayLike__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(264); +/* harmony import */ var _isPromise__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(265); +/* harmony import */ var _isObject__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(205); +/* harmony import */ var _symbol_iterator__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(262); +/* harmony import */ var _symbol_observable__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(210); /** PURE_IMPORTS_START _Observable,_subscribeToArray,_subscribeToPromise,_subscribeToIterable,_subscribeToObservable,_isArrayLike,_isPromise,_isObject,_symbol_iterator,_symbol_observable PURE_IMPORTS_END */ @@ -30101,13 +30226,13 @@ var subscribeTo = function (result) { /***/ }), -/* 259 */ +/* 260 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "subscribeToPromise", function() { return subscribeToPromise; }); -/* harmony import */ var _hostReportError__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(201); +/* harmony import */ var _hostReportError__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(202); /** PURE_IMPORTS_START _hostReportError PURE_IMPORTS_END */ var subscribeToPromise = function (promise) { @@ -30126,13 +30251,13 @@ var subscribeToPromise = function (promise) { /***/ }), -/* 260 */ +/* 261 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "subscribeToIterable", function() { return subscribeToIterable; }); -/* harmony import */ var _symbol_iterator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(261); +/* harmony import */ var _symbol_iterator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(262); /** PURE_IMPORTS_START _symbol_iterator PURE_IMPORTS_END */ var subscribeToIterable = function (iterable) { @@ -30163,7 +30288,7 @@ var subscribeToIterable = function (iterable) { /***/ }), -/* 261 */ +/* 262 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -30184,13 +30309,13 @@ var $$iterator = iterator; /***/ }), -/* 262 */ +/* 263 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "subscribeToObservable", function() { return subscribeToObservable; }); -/* harmony import */ var _symbol_observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(209); +/* harmony import */ var _symbol_observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(210); /** PURE_IMPORTS_START _symbol_observable PURE_IMPORTS_END */ var subscribeToObservable = function (obj) { @@ -30208,7 +30333,7 @@ var subscribeToObservable = function (obj) { /***/ }), -/* 263 */ +/* 264 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -30220,7 +30345,7 @@ var isArrayLike = (function (x) { return x && typeof x.length === 'number' && ty /***/ }), -/* 264 */ +/* 265 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -30234,16 +30359,16 @@ function isPromise(value) { /***/ }), -/* 265 */ +/* 266 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "concat", function() { return concat; }); -/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(231); -/* harmony import */ var _of__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(230); -/* harmony import */ var _from__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(266); -/* harmony import */ var _operators_concatAll__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(272); +/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(232); +/* harmony import */ var _of__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(231); +/* harmony import */ var _from__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(267); +/* harmony import */ var _operators_concatAll__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(273); /** PURE_IMPORTS_START _util_isScheduler,_of,_from,_operators_concatAll PURE_IMPORTS_END */ @@ -30263,22 +30388,22 @@ function concat() { /***/ }), -/* 266 */ +/* 267 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "from", function() { return from; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(194); -/* harmony import */ var _util_isPromise__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(264); -/* harmony import */ var _util_isArrayLike__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(263); -/* harmony import */ var _util_isInteropObservable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(267); -/* harmony import */ var _util_isIterable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(268); -/* harmony import */ var _fromArray__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(232); -/* harmony import */ var _fromPromise__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(269); -/* harmony import */ var _fromIterable__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(270); -/* harmony import */ var _fromObservable__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(271); -/* harmony import */ var _util_subscribeTo__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(258); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(195); +/* harmony import */ var _util_isPromise__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(265); +/* harmony import */ var _util_isArrayLike__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(264); +/* harmony import */ var _util_isInteropObservable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(268); +/* harmony import */ var _util_isIterable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(269); +/* harmony import */ var _fromArray__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(233); +/* harmony import */ var _fromPromise__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(270); +/* harmony import */ var _fromIterable__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(271); +/* harmony import */ var _fromObservable__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(272); +/* harmony import */ var _util_subscribeTo__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(259); /** PURE_IMPORTS_START _Observable,_util_isPromise,_util_isArrayLike,_util_isInteropObservable,_util_isIterable,_fromArray,_fromPromise,_fromIterable,_fromObservable,_util_subscribeTo PURE_IMPORTS_END */ @@ -30317,13 +30442,13 @@ function from(input, scheduler) { /***/ }), -/* 267 */ +/* 268 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isInteropObservable", function() { return isInteropObservable; }); -/* harmony import */ var _symbol_observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(209); +/* harmony import */ var _symbol_observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(210); /** PURE_IMPORTS_START _symbol_observable PURE_IMPORTS_END */ function isInteropObservable(input) { @@ -30333,13 +30458,13 @@ function isInteropObservable(input) { /***/ }), -/* 268 */ +/* 269 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isIterable", function() { return isIterable; }); -/* harmony import */ var _symbol_iterator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(261); +/* harmony import */ var _symbol_iterator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(262); /** PURE_IMPORTS_START _symbol_iterator PURE_IMPORTS_END */ function isIterable(input) { @@ -30349,15 +30474,15 @@ function isIterable(input) { /***/ }), -/* 269 */ +/* 270 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "fromPromise", function() { return fromPromise; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(194); -/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(202); -/* harmony import */ var _util_subscribeToPromise__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(259); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(195); +/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(203); +/* harmony import */ var _util_subscribeToPromise__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(260); /** PURE_IMPORTS_START _Observable,_Subscription,_util_subscribeToPromise PURE_IMPORTS_END */ @@ -30387,16 +30512,16 @@ function fromPromise(input, scheduler) { /***/ }), -/* 270 */ +/* 271 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "fromIterable", function() { return fromIterable; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(194); -/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(202); -/* harmony import */ var _symbol_iterator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(261); -/* harmony import */ var _util_subscribeToIterable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(260); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(195); +/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(203); +/* harmony import */ var _symbol_iterator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(262); +/* harmony import */ var _util_subscribeToIterable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(261); /** PURE_IMPORTS_START _Observable,_Subscription,_symbol_iterator,_util_subscribeToIterable PURE_IMPORTS_END */ @@ -30452,16 +30577,16 @@ function fromIterable(input, scheduler) { /***/ }), -/* 271 */ +/* 272 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "fromObservable", function() { return fromObservable; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(194); -/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(202); -/* harmony import */ var _symbol_observable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(209); -/* harmony import */ var _util_subscribeToObservable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(262); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(195); +/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(203); +/* harmony import */ var _symbol_observable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(210); +/* harmony import */ var _util_subscribeToObservable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(263); /** PURE_IMPORTS_START _Observable,_Subscription,_symbol_observable,_util_subscribeToObservable PURE_IMPORTS_END */ @@ -30490,13 +30615,13 @@ function fromObservable(input, scheduler) { /***/ }), -/* 272 */ +/* 273 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "concatAll", function() { return concatAll; }); -/* harmony import */ var _mergeAll__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(273); +/* harmony import */ var _mergeAll__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(274); /** PURE_IMPORTS_START _mergeAll PURE_IMPORTS_END */ function concatAll() { @@ -30506,14 +30631,14 @@ function concatAll() { /***/ }), -/* 273 */ +/* 274 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mergeAll", function() { return mergeAll; }); -/* harmony import */ var _mergeMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(274); -/* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(246); +/* harmony import */ var _mergeMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(275); +/* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(247); /** PURE_IMPORTS_START _mergeMap,_util_identity PURE_IMPORTS_END */ @@ -30527,7 +30652,7 @@ function mergeAll(concurrent) { /***/ }), -/* 274 */ +/* 275 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -30535,11 +30660,11 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mergeMap", function() { return mergeMap; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MergeMapOperator", function() { return MergeMapOperator; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MergeMapSubscriber", function() { return MergeMapSubscriber; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(256); -/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(255); -/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(252); -/* harmony import */ var _observable_from__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(266); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(257); +/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(256); +/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(253); +/* harmony import */ var _observable_from__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(267); /** PURE_IMPORTS_START tslib,_util_subscribeToResult,_OuterSubscriber,_map,_observable_from PURE_IMPORTS_END */ @@ -30638,15 +30763,15 @@ var MergeMapSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 275 */ +/* 276 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "defer", function() { return defer; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(194); -/* harmony import */ var _from__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(266); -/* harmony import */ var _empty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(229); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(195); +/* harmony import */ var _from__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(267); +/* harmony import */ var _empty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(230); /** PURE_IMPORTS_START _Observable,_from,_empty PURE_IMPORTS_END */ @@ -30669,19 +30794,19 @@ function defer(observableFactory) { /***/ }), -/* 276 */ +/* 277 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "forkJoin", function() { return forkJoin; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(194); -/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(203); -/* harmony import */ var _empty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(229); -/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(256); -/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(255); -/* harmony import */ var _operators_map__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(252); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(195); +/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(204); +/* harmony import */ var _empty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(230); +/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(257); +/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(256); +/* harmony import */ var _operators_map__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(253); /** PURE_IMPORTS_START tslib,_Observable,_util_isArray,_empty,_util_subscribeToResult,_OuterSubscriber,_operators_map PURE_IMPORTS_END */ @@ -30759,16 +30884,16 @@ var ForkJoinSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 277 */ +/* 278 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "fromEvent", function() { return fromEvent; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(194); -/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(203); -/* harmony import */ var _util_isFunction__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(198); -/* harmony import */ var _operators_map__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(252); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(195); +/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(204); +/* harmony import */ var _util_isFunction__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(199); +/* harmony import */ var _operators_map__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(253); /** PURE_IMPORTS_START _Observable,_util_isArray,_util_isFunction,_operators_map PURE_IMPORTS_END */ @@ -30835,16 +30960,16 @@ function isEventTarget(sourceObj) { /***/ }), -/* 278 */ +/* 279 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "fromEventPattern", function() { return fromEventPattern; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(194); -/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(203); -/* harmony import */ var _util_isFunction__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(198); -/* harmony import */ var _operators_map__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(252); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(195); +/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(204); +/* harmony import */ var _util_isFunction__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(199); +/* harmony import */ var _operators_map__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(253); /** PURE_IMPORTS_START _Observable,_util_isArray,_util_isFunction,_operators_map PURE_IMPORTS_END */ @@ -30880,15 +31005,15 @@ function fromEventPattern(addHandler, removeHandler, resultSelector) { /***/ }), -/* 279 */ +/* 280 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "generate", function() { return generate; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(194); -/* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(246); -/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(231); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(195); +/* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(247); +/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(232); /** PURE_IMPORTS_START _Observable,_util_identity,_util_isScheduler PURE_IMPORTS_END */ @@ -31017,14 +31142,14 @@ function dispatch(state) { /***/ }), -/* 280 */ +/* 281 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "iif", function() { return iif; }); -/* harmony import */ var _defer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(275); -/* harmony import */ var _empty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(229); +/* harmony import */ var _defer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(276); +/* harmony import */ var _empty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(230); /** PURE_IMPORTS_START _defer,_empty PURE_IMPORTS_END */ @@ -31041,15 +31166,15 @@ function iif(condition, trueResult, falseResult) { /***/ }), -/* 281 */ +/* 282 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "interval", function() { return interval; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(194); -/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(241); -/* harmony import */ var _util_isNumeric__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(282); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(195); +/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(242); +/* harmony import */ var _util_isNumeric__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(283); /** PURE_IMPORTS_START _Observable,_scheduler_async,_util_isNumeric PURE_IMPORTS_END */ @@ -31081,13 +31206,13 @@ function dispatch(state) { /***/ }), -/* 282 */ +/* 283 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isNumeric", function() { return isNumeric; }); -/* harmony import */ var _isArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(203); +/* harmony import */ var _isArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(204); /** PURE_IMPORTS_START _isArray PURE_IMPORTS_END */ function isNumeric(val) { @@ -31097,16 +31222,16 @@ function isNumeric(val) { /***/ }), -/* 283 */ +/* 284 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "merge", function() { return merge; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(194); -/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(231); -/* harmony import */ var _operators_mergeAll__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(273); -/* harmony import */ var _fromArray__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(232); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(195); +/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(232); +/* harmony import */ var _operators_mergeAll__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(274); +/* harmony import */ var _fromArray__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(233); /** PURE_IMPORTS_START _Observable,_util_isScheduler,_operators_mergeAll,_fromArray PURE_IMPORTS_END */ @@ -31138,15 +31263,15 @@ function merge() { /***/ }), -/* 284 */ +/* 285 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "NEVER", function() { return NEVER; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "never", function() { return never; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(194); -/* harmony import */ var _util_noop__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(211); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(195); +/* harmony import */ var _util_noop__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(212); /** PURE_IMPORTS_START _Observable,_util_noop PURE_IMPORTS_END */ @@ -31158,16 +31283,16 @@ function never() { /***/ }), -/* 285 */ +/* 286 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "onErrorResumeNext", function() { return onErrorResumeNext; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(194); -/* harmony import */ var _from__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(266); -/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(203); -/* harmony import */ var _empty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(229); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(195); +/* harmony import */ var _from__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(267); +/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(204); +/* harmony import */ var _empty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(230); /** PURE_IMPORTS_START _Observable,_from,_util_isArray,_empty PURE_IMPORTS_END */ @@ -31198,15 +31323,15 @@ function onErrorResumeNext() { /***/ }), -/* 286 */ +/* 287 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "pairs", function() { return pairs; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "dispatch", function() { return dispatch; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(194); -/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(202); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(195); +/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(203); /** PURE_IMPORTS_START _Observable,_Subscription PURE_IMPORTS_END */ @@ -31249,7 +31374,7 @@ function dispatch(state) { /***/ }), -/* 287 */ +/* 288 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -31257,11 +31382,11 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "race", function() { return race; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "RaceOperator", function() { return RaceOperator; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "RaceSubscriber", function() { return RaceSubscriber; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(203); -/* harmony import */ var _fromArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(232); -/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(255); -/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(256); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(204); +/* harmony import */ var _fromArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(233); +/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(256); +/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(257); /** PURE_IMPORTS_START tslib,_util_isArray,_fromArray,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */ @@ -31343,14 +31468,14 @@ var RaceSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 288 */ +/* 289 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "range", function() { return range; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "dispatch", function() { return dispatch; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(194); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(195); /** PURE_IMPORTS_START _Observable PURE_IMPORTS_END */ function range(start, count, scheduler) { @@ -31401,16 +31526,16 @@ function dispatch(state) { /***/ }), -/* 289 */ +/* 290 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "timer", function() { return timer; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(194); -/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(241); -/* harmony import */ var _util_isNumeric__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(282); -/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(231); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(195); +/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(242); +/* harmony import */ var _util_isNumeric__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(283); +/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(232); /** PURE_IMPORTS_START _Observable,_scheduler_async,_util_isNumeric,_util_isScheduler PURE_IMPORTS_END */ @@ -31455,15 +31580,15 @@ function dispatch(state) { /***/ }), -/* 290 */ +/* 291 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "using", function() { return using; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(194); -/* harmony import */ var _from__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(266); -/* harmony import */ var _empty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(229); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(195); +/* harmony import */ var _from__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(267); +/* harmony import */ var _empty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(230); /** PURE_IMPORTS_START _Observable,_from,_empty PURE_IMPORTS_END */ @@ -31500,7 +31625,7 @@ function using(resourceFactory, observableFactory) { /***/ }), -/* 291 */ +/* 292 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -31508,13 +31633,13 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "zip", function() { return zip; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ZipOperator", function() { return ZipOperator; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ZipSubscriber", function() { return ZipSubscriber; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _fromArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(232); -/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(203); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(196); -/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(255); -/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(256); -/* harmony import */ var _internal_symbol_iterator__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(261); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _fromArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(233); +/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(204); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(197); +/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(256); +/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(257); +/* harmony import */ var _internal_symbol_iterator__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(262); /** PURE_IMPORTS_START tslib,_fromArray,_util_isArray,_Subscriber,_OuterSubscriber,_util_subscribeToResult,_.._internal_symbol_iterator PURE_IMPORTS_END */ @@ -31734,320 +31859,320 @@ var ZipBufferIterator = /*@__PURE__*/ (function (_super) { /***/ }), -/* 292 */ +/* 293 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_operators_audit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(293); +/* harmony import */ var _internal_operators_audit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(294); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "audit", function() { return _internal_operators_audit__WEBPACK_IMPORTED_MODULE_0__["audit"]; }); -/* harmony import */ var _internal_operators_auditTime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(294); +/* harmony import */ var _internal_operators_auditTime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(295); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "auditTime", function() { return _internal_operators_auditTime__WEBPACK_IMPORTED_MODULE_1__["auditTime"]; }); -/* harmony import */ var _internal_operators_buffer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(295); +/* harmony import */ var _internal_operators_buffer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(296); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "buffer", function() { return _internal_operators_buffer__WEBPACK_IMPORTED_MODULE_2__["buffer"]; }); -/* harmony import */ var _internal_operators_bufferCount__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(296); +/* harmony import */ var _internal_operators_bufferCount__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(297); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "bufferCount", function() { return _internal_operators_bufferCount__WEBPACK_IMPORTED_MODULE_3__["bufferCount"]; }); -/* harmony import */ var _internal_operators_bufferTime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(297); +/* harmony import */ var _internal_operators_bufferTime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(298); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "bufferTime", function() { return _internal_operators_bufferTime__WEBPACK_IMPORTED_MODULE_4__["bufferTime"]; }); -/* harmony import */ var _internal_operators_bufferToggle__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(298); +/* harmony import */ var _internal_operators_bufferToggle__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(299); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "bufferToggle", function() { return _internal_operators_bufferToggle__WEBPACK_IMPORTED_MODULE_5__["bufferToggle"]; }); -/* harmony import */ var _internal_operators_bufferWhen__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(299); +/* harmony import */ var _internal_operators_bufferWhen__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(300); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "bufferWhen", function() { return _internal_operators_bufferWhen__WEBPACK_IMPORTED_MODULE_6__["bufferWhen"]; }); -/* harmony import */ var _internal_operators_catchError__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(300); +/* harmony import */ var _internal_operators_catchError__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(301); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "catchError", function() { return _internal_operators_catchError__WEBPACK_IMPORTED_MODULE_7__["catchError"]; }); -/* harmony import */ var _internal_operators_combineAll__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(301); +/* harmony import */ var _internal_operators_combineAll__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(302); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "combineAll", function() { return _internal_operators_combineAll__WEBPACK_IMPORTED_MODULE_8__["combineAll"]; }); -/* harmony import */ var _internal_operators_combineLatest__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(302); +/* harmony import */ var _internal_operators_combineLatest__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(303); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "combineLatest", function() { return _internal_operators_combineLatest__WEBPACK_IMPORTED_MODULE_9__["combineLatest"]; }); -/* harmony import */ var _internal_operators_concat__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(303); +/* harmony import */ var _internal_operators_concat__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(304); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "concat", function() { return _internal_operators_concat__WEBPACK_IMPORTED_MODULE_10__["concat"]; }); -/* harmony import */ var _internal_operators_concatAll__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(272); +/* harmony import */ var _internal_operators_concatAll__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(273); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "concatAll", function() { return _internal_operators_concatAll__WEBPACK_IMPORTED_MODULE_11__["concatAll"]; }); -/* harmony import */ var _internal_operators_concatMap__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(304); +/* harmony import */ var _internal_operators_concatMap__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(305); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "concatMap", function() { return _internal_operators_concatMap__WEBPACK_IMPORTED_MODULE_12__["concatMap"]; }); -/* harmony import */ var _internal_operators_concatMapTo__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(305); +/* harmony import */ var _internal_operators_concatMapTo__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(306); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "concatMapTo", function() { return _internal_operators_concatMapTo__WEBPACK_IMPORTED_MODULE_13__["concatMapTo"]; }); -/* harmony import */ var _internal_operators_count__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(306); +/* harmony import */ var _internal_operators_count__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(307); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "count", function() { return _internal_operators_count__WEBPACK_IMPORTED_MODULE_14__["count"]; }); -/* harmony import */ var _internal_operators_debounce__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(307); +/* harmony import */ var _internal_operators_debounce__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(308); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "debounce", function() { return _internal_operators_debounce__WEBPACK_IMPORTED_MODULE_15__["debounce"]; }); -/* harmony import */ var _internal_operators_debounceTime__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(308); +/* harmony import */ var _internal_operators_debounceTime__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(309); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "debounceTime", function() { return _internal_operators_debounceTime__WEBPACK_IMPORTED_MODULE_16__["debounceTime"]; }); -/* harmony import */ var _internal_operators_defaultIfEmpty__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(309); +/* harmony import */ var _internal_operators_defaultIfEmpty__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(310); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "defaultIfEmpty", function() { return _internal_operators_defaultIfEmpty__WEBPACK_IMPORTED_MODULE_17__["defaultIfEmpty"]; }); -/* harmony import */ var _internal_operators_delay__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(310); +/* harmony import */ var _internal_operators_delay__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(311); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "delay", function() { return _internal_operators_delay__WEBPACK_IMPORTED_MODULE_18__["delay"]; }); -/* harmony import */ var _internal_operators_delayWhen__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(312); +/* harmony import */ var _internal_operators_delayWhen__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(313); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "delayWhen", function() { return _internal_operators_delayWhen__WEBPACK_IMPORTED_MODULE_19__["delayWhen"]; }); -/* harmony import */ var _internal_operators_dematerialize__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(313); +/* harmony import */ var _internal_operators_dematerialize__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(314); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "dematerialize", function() { return _internal_operators_dematerialize__WEBPACK_IMPORTED_MODULE_20__["dematerialize"]; }); -/* harmony import */ var _internal_operators_distinct__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(314); +/* harmony import */ var _internal_operators_distinct__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(315); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "distinct", function() { return _internal_operators_distinct__WEBPACK_IMPORTED_MODULE_21__["distinct"]; }); -/* harmony import */ var _internal_operators_distinctUntilChanged__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(315); +/* harmony import */ var _internal_operators_distinctUntilChanged__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(316); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "distinctUntilChanged", function() { return _internal_operators_distinctUntilChanged__WEBPACK_IMPORTED_MODULE_22__["distinctUntilChanged"]; }); -/* harmony import */ var _internal_operators_distinctUntilKeyChanged__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(316); +/* harmony import */ var _internal_operators_distinctUntilKeyChanged__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(317); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "distinctUntilKeyChanged", function() { return _internal_operators_distinctUntilKeyChanged__WEBPACK_IMPORTED_MODULE_23__["distinctUntilKeyChanged"]; }); -/* harmony import */ var _internal_operators_elementAt__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(317); +/* harmony import */ var _internal_operators_elementAt__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(318); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "elementAt", function() { return _internal_operators_elementAt__WEBPACK_IMPORTED_MODULE_24__["elementAt"]; }); -/* harmony import */ var _internal_operators_endWith__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(322); +/* harmony import */ var _internal_operators_endWith__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(323); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "endWith", function() { return _internal_operators_endWith__WEBPACK_IMPORTED_MODULE_25__["endWith"]; }); -/* harmony import */ var _internal_operators_every__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(323); +/* harmony import */ var _internal_operators_every__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(324); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "every", function() { return _internal_operators_every__WEBPACK_IMPORTED_MODULE_26__["every"]; }); -/* harmony import */ var _internal_operators_exhaust__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(324); +/* harmony import */ var _internal_operators_exhaust__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(325); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "exhaust", function() { return _internal_operators_exhaust__WEBPACK_IMPORTED_MODULE_27__["exhaust"]; }); -/* harmony import */ var _internal_operators_exhaustMap__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(325); +/* harmony import */ var _internal_operators_exhaustMap__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(326); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "exhaustMap", function() { return _internal_operators_exhaustMap__WEBPACK_IMPORTED_MODULE_28__["exhaustMap"]; }); -/* harmony import */ var _internal_operators_expand__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(326); +/* harmony import */ var _internal_operators_expand__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(327); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "expand", function() { return _internal_operators_expand__WEBPACK_IMPORTED_MODULE_29__["expand"]; }); -/* harmony import */ var _internal_operators_filter__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(318); +/* harmony import */ var _internal_operators_filter__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(319); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "filter", function() { return _internal_operators_filter__WEBPACK_IMPORTED_MODULE_30__["filter"]; }); -/* harmony import */ var _internal_operators_finalize__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(327); +/* harmony import */ var _internal_operators_finalize__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(328); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "finalize", function() { return _internal_operators_finalize__WEBPACK_IMPORTED_MODULE_31__["finalize"]; }); -/* harmony import */ var _internal_operators_find__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(328); +/* harmony import */ var _internal_operators_find__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(329); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "find", function() { return _internal_operators_find__WEBPACK_IMPORTED_MODULE_32__["find"]; }); -/* harmony import */ var _internal_operators_findIndex__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(329); +/* harmony import */ var _internal_operators_findIndex__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(330); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "findIndex", function() { return _internal_operators_findIndex__WEBPACK_IMPORTED_MODULE_33__["findIndex"]; }); -/* harmony import */ var _internal_operators_first__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(330); +/* harmony import */ var _internal_operators_first__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(331); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "first", function() { return _internal_operators_first__WEBPACK_IMPORTED_MODULE_34__["first"]; }); -/* harmony import */ var _internal_operators_groupBy__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(217); +/* harmony import */ var _internal_operators_groupBy__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(218); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "groupBy", function() { return _internal_operators_groupBy__WEBPACK_IMPORTED_MODULE_35__["groupBy"]; }); -/* harmony import */ var _internal_operators_ignoreElements__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(331); +/* harmony import */ var _internal_operators_ignoreElements__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(332); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ignoreElements", function() { return _internal_operators_ignoreElements__WEBPACK_IMPORTED_MODULE_36__["ignoreElements"]; }); -/* harmony import */ var _internal_operators_isEmpty__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(332); +/* harmony import */ var _internal_operators_isEmpty__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(333); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "isEmpty", function() { return _internal_operators_isEmpty__WEBPACK_IMPORTED_MODULE_37__["isEmpty"]; }); -/* harmony import */ var _internal_operators_last__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(333); +/* harmony import */ var _internal_operators_last__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(334); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "last", function() { return _internal_operators_last__WEBPACK_IMPORTED_MODULE_38__["last"]; }); -/* harmony import */ var _internal_operators_map__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(252); +/* harmony import */ var _internal_operators_map__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(253); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "map", function() { return _internal_operators_map__WEBPACK_IMPORTED_MODULE_39__["map"]; }); -/* harmony import */ var _internal_operators_mapTo__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(335); +/* harmony import */ var _internal_operators_mapTo__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(336); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mapTo", function() { return _internal_operators_mapTo__WEBPACK_IMPORTED_MODULE_40__["mapTo"]; }); -/* harmony import */ var _internal_operators_materialize__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(336); +/* harmony import */ var _internal_operators_materialize__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(337); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "materialize", function() { return _internal_operators_materialize__WEBPACK_IMPORTED_MODULE_41__["materialize"]; }); -/* harmony import */ var _internal_operators_max__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(337); +/* harmony import */ var _internal_operators_max__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(338); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "max", function() { return _internal_operators_max__WEBPACK_IMPORTED_MODULE_42__["max"]; }); -/* harmony import */ var _internal_operators_merge__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(340); +/* harmony import */ var _internal_operators_merge__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(341); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "merge", function() { return _internal_operators_merge__WEBPACK_IMPORTED_MODULE_43__["merge"]; }); -/* harmony import */ var _internal_operators_mergeAll__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(273); +/* harmony import */ var _internal_operators_mergeAll__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(274); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mergeAll", function() { return _internal_operators_mergeAll__WEBPACK_IMPORTED_MODULE_44__["mergeAll"]; }); -/* harmony import */ var _internal_operators_mergeMap__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(274); +/* harmony import */ var _internal_operators_mergeMap__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(275); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mergeMap", function() { return _internal_operators_mergeMap__WEBPACK_IMPORTED_MODULE_45__["mergeMap"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "flatMap", function() { return _internal_operators_mergeMap__WEBPACK_IMPORTED_MODULE_45__["mergeMap"]; }); -/* harmony import */ var _internal_operators_mergeMapTo__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(341); +/* harmony import */ var _internal_operators_mergeMapTo__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(342); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mergeMapTo", function() { return _internal_operators_mergeMapTo__WEBPACK_IMPORTED_MODULE_46__["mergeMapTo"]; }); -/* harmony import */ var _internal_operators_mergeScan__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(342); +/* harmony import */ var _internal_operators_mergeScan__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(343); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mergeScan", function() { return _internal_operators_mergeScan__WEBPACK_IMPORTED_MODULE_47__["mergeScan"]; }); -/* harmony import */ var _internal_operators_min__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(343); +/* harmony import */ var _internal_operators_min__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(344); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "min", function() { return _internal_operators_min__WEBPACK_IMPORTED_MODULE_48__["min"]; }); -/* harmony import */ var _internal_operators_multicast__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(344); +/* harmony import */ var _internal_operators_multicast__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(345); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "multicast", function() { return _internal_operators_multicast__WEBPACK_IMPORTED_MODULE_49__["multicast"]; }); -/* harmony import */ var _internal_operators_observeOn__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(227); +/* harmony import */ var _internal_operators_observeOn__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(228); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "observeOn", function() { return _internal_operators_observeOn__WEBPACK_IMPORTED_MODULE_50__["observeOn"]; }); -/* harmony import */ var _internal_operators_onErrorResumeNext__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(345); +/* harmony import */ var _internal_operators_onErrorResumeNext__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(346); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "onErrorResumeNext", function() { return _internal_operators_onErrorResumeNext__WEBPACK_IMPORTED_MODULE_51__["onErrorResumeNext"]; }); -/* harmony import */ var _internal_operators_pairwise__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(346); +/* harmony import */ var _internal_operators_pairwise__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(347); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pairwise", function() { return _internal_operators_pairwise__WEBPACK_IMPORTED_MODULE_52__["pairwise"]; }); -/* harmony import */ var _internal_operators_partition__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(347); +/* harmony import */ var _internal_operators_partition__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(348); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "partition", function() { return _internal_operators_partition__WEBPACK_IMPORTED_MODULE_53__["partition"]; }); -/* harmony import */ var _internal_operators_pluck__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(349); +/* harmony import */ var _internal_operators_pluck__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(350); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pluck", function() { return _internal_operators_pluck__WEBPACK_IMPORTED_MODULE_54__["pluck"]; }); -/* harmony import */ var _internal_operators_publish__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(350); +/* harmony import */ var _internal_operators_publish__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(351); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "publish", function() { return _internal_operators_publish__WEBPACK_IMPORTED_MODULE_55__["publish"]; }); -/* harmony import */ var _internal_operators_publishBehavior__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(351); +/* harmony import */ var _internal_operators_publishBehavior__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(352); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "publishBehavior", function() { return _internal_operators_publishBehavior__WEBPACK_IMPORTED_MODULE_56__["publishBehavior"]; }); -/* harmony import */ var _internal_operators_publishLast__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(352); +/* harmony import */ var _internal_operators_publishLast__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(353); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "publishLast", function() { return _internal_operators_publishLast__WEBPACK_IMPORTED_MODULE_57__["publishLast"]; }); -/* harmony import */ var _internal_operators_publishReplay__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(353); +/* harmony import */ var _internal_operators_publishReplay__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(354); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "publishReplay", function() { return _internal_operators_publishReplay__WEBPACK_IMPORTED_MODULE_58__["publishReplay"]; }); -/* harmony import */ var _internal_operators_race__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(354); +/* harmony import */ var _internal_operators_race__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(355); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "race", function() { return _internal_operators_race__WEBPACK_IMPORTED_MODULE_59__["race"]; }); -/* harmony import */ var _internal_operators_reduce__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(338); +/* harmony import */ var _internal_operators_reduce__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(339); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "reduce", function() { return _internal_operators_reduce__WEBPACK_IMPORTED_MODULE_60__["reduce"]; }); -/* harmony import */ var _internal_operators_repeat__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(355); +/* harmony import */ var _internal_operators_repeat__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(356); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "repeat", function() { return _internal_operators_repeat__WEBPACK_IMPORTED_MODULE_61__["repeat"]; }); -/* harmony import */ var _internal_operators_repeatWhen__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(356); +/* harmony import */ var _internal_operators_repeatWhen__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(357); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "repeatWhen", function() { return _internal_operators_repeatWhen__WEBPACK_IMPORTED_MODULE_62__["repeatWhen"]; }); -/* harmony import */ var _internal_operators_retry__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(357); +/* harmony import */ var _internal_operators_retry__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(358); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "retry", function() { return _internal_operators_retry__WEBPACK_IMPORTED_MODULE_63__["retry"]; }); -/* harmony import */ var _internal_operators_retryWhen__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(358); +/* harmony import */ var _internal_operators_retryWhen__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(359); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "retryWhen", function() { return _internal_operators_retryWhen__WEBPACK_IMPORTED_MODULE_64__["retryWhen"]; }); -/* harmony import */ var _internal_operators_refCount__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(216); +/* harmony import */ var _internal_operators_refCount__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(217); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "refCount", function() { return _internal_operators_refCount__WEBPACK_IMPORTED_MODULE_65__["refCount"]; }); -/* harmony import */ var _internal_operators_sample__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(359); +/* harmony import */ var _internal_operators_sample__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(360); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "sample", function() { return _internal_operators_sample__WEBPACK_IMPORTED_MODULE_66__["sample"]; }); -/* harmony import */ var _internal_operators_sampleTime__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(360); +/* harmony import */ var _internal_operators_sampleTime__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(361); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "sampleTime", function() { return _internal_operators_sampleTime__WEBPACK_IMPORTED_MODULE_67__["sampleTime"]; }); -/* harmony import */ var _internal_operators_scan__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(339); +/* harmony import */ var _internal_operators_scan__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(340); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "scan", function() { return _internal_operators_scan__WEBPACK_IMPORTED_MODULE_68__["scan"]; }); -/* harmony import */ var _internal_operators_sequenceEqual__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(361); +/* harmony import */ var _internal_operators_sequenceEqual__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(362); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "sequenceEqual", function() { return _internal_operators_sequenceEqual__WEBPACK_IMPORTED_MODULE_69__["sequenceEqual"]; }); -/* harmony import */ var _internal_operators_share__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(362); +/* harmony import */ var _internal_operators_share__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(363); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "share", function() { return _internal_operators_share__WEBPACK_IMPORTED_MODULE_70__["share"]; }); -/* harmony import */ var _internal_operators_shareReplay__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(363); +/* harmony import */ var _internal_operators_shareReplay__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(364); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "shareReplay", function() { return _internal_operators_shareReplay__WEBPACK_IMPORTED_MODULE_71__["shareReplay"]; }); -/* harmony import */ var _internal_operators_single__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(364); +/* harmony import */ var _internal_operators_single__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(365); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "single", function() { return _internal_operators_single__WEBPACK_IMPORTED_MODULE_72__["single"]; }); -/* harmony import */ var _internal_operators_skip__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(365); +/* harmony import */ var _internal_operators_skip__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(366); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "skip", function() { return _internal_operators_skip__WEBPACK_IMPORTED_MODULE_73__["skip"]; }); -/* harmony import */ var _internal_operators_skipLast__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(366); +/* harmony import */ var _internal_operators_skipLast__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(367); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "skipLast", function() { return _internal_operators_skipLast__WEBPACK_IMPORTED_MODULE_74__["skipLast"]; }); -/* harmony import */ var _internal_operators_skipUntil__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(367); +/* harmony import */ var _internal_operators_skipUntil__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(368); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "skipUntil", function() { return _internal_operators_skipUntil__WEBPACK_IMPORTED_MODULE_75__["skipUntil"]; }); -/* harmony import */ var _internal_operators_skipWhile__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(368); +/* harmony import */ var _internal_operators_skipWhile__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(369); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "skipWhile", function() { return _internal_operators_skipWhile__WEBPACK_IMPORTED_MODULE_76__["skipWhile"]; }); -/* harmony import */ var _internal_operators_startWith__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(369); +/* harmony import */ var _internal_operators_startWith__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(370); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "startWith", function() { return _internal_operators_startWith__WEBPACK_IMPORTED_MODULE_77__["startWith"]; }); -/* harmony import */ var _internal_operators_subscribeOn__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(370); +/* harmony import */ var _internal_operators_subscribeOn__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(371); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "subscribeOn", function() { return _internal_operators_subscribeOn__WEBPACK_IMPORTED_MODULE_78__["subscribeOn"]; }); -/* harmony import */ var _internal_operators_switchAll__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(372); +/* harmony import */ var _internal_operators_switchAll__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(373); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "switchAll", function() { return _internal_operators_switchAll__WEBPACK_IMPORTED_MODULE_79__["switchAll"]; }); -/* harmony import */ var _internal_operators_switchMap__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(373); +/* harmony import */ var _internal_operators_switchMap__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(374); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "switchMap", function() { return _internal_operators_switchMap__WEBPACK_IMPORTED_MODULE_80__["switchMap"]; }); -/* harmony import */ var _internal_operators_switchMapTo__WEBPACK_IMPORTED_MODULE_81__ = __webpack_require__(374); +/* harmony import */ var _internal_operators_switchMapTo__WEBPACK_IMPORTED_MODULE_81__ = __webpack_require__(375); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "switchMapTo", function() { return _internal_operators_switchMapTo__WEBPACK_IMPORTED_MODULE_81__["switchMapTo"]; }); -/* harmony import */ var _internal_operators_take__WEBPACK_IMPORTED_MODULE_82__ = __webpack_require__(321); +/* harmony import */ var _internal_operators_take__WEBPACK_IMPORTED_MODULE_82__ = __webpack_require__(322); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "take", function() { return _internal_operators_take__WEBPACK_IMPORTED_MODULE_82__["take"]; }); -/* harmony import */ var _internal_operators_takeLast__WEBPACK_IMPORTED_MODULE_83__ = __webpack_require__(334); +/* harmony import */ var _internal_operators_takeLast__WEBPACK_IMPORTED_MODULE_83__ = __webpack_require__(335); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "takeLast", function() { return _internal_operators_takeLast__WEBPACK_IMPORTED_MODULE_83__["takeLast"]; }); -/* harmony import */ var _internal_operators_takeUntil__WEBPACK_IMPORTED_MODULE_84__ = __webpack_require__(375); +/* harmony import */ var _internal_operators_takeUntil__WEBPACK_IMPORTED_MODULE_84__ = __webpack_require__(376); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "takeUntil", function() { return _internal_operators_takeUntil__WEBPACK_IMPORTED_MODULE_84__["takeUntil"]; }); -/* harmony import */ var _internal_operators_takeWhile__WEBPACK_IMPORTED_MODULE_85__ = __webpack_require__(376); +/* harmony import */ var _internal_operators_takeWhile__WEBPACK_IMPORTED_MODULE_85__ = __webpack_require__(377); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "takeWhile", function() { return _internal_operators_takeWhile__WEBPACK_IMPORTED_MODULE_85__["takeWhile"]; }); -/* harmony import */ var _internal_operators_tap__WEBPACK_IMPORTED_MODULE_86__ = __webpack_require__(320); +/* harmony import */ var _internal_operators_tap__WEBPACK_IMPORTED_MODULE_86__ = __webpack_require__(321); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "tap", function() { return _internal_operators_tap__WEBPACK_IMPORTED_MODULE_86__["tap"]; }); -/* harmony import */ var _internal_operators_throttle__WEBPACK_IMPORTED_MODULE_87__ = __webpack_require__(377); +/* harmony import */ var _internal_operators_throttle__WEBPACK_IMPORTED_MODULE_87__ = __webpack_require__(378); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "throttle", function() { return _internal_operators_throttle__WEBPACK_IMPORTED_MODULE_87__["throttle"]; }); -/* harmony import */ var _internal_operators_throttleTime__WEBPACK_IMPORTED_MODULE_88__ = __webpack_require__(378); +/* harmony import */ var _internal_operators_throttleTime__WEBPACK_IMPORTED_MODULE_88__ = __webpack_require__(379); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "throttleTime", function() { return _internal_operators_throttleTime__WEBPACK_IMPORTED_MODULE_88__["throttleTime"]; }); -/* harmony import */ var _internal_operators_throwIfEmpty__WEBPACK_IMPORTED_MODULE_89__ = __webpack_require__(319); +/* harmony import */ var _internal_operators_throwIfEmpty__WEBPACK_IMPORTED_MODULE_89__ = __webpack_require__(320); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "throwIfEmpty", function() { return _internal_operators_throwIfEmpty__WEBPACK_IMPORTED_MODULE_89__["throwIfEmpty"]; }); -/* harmony import */ var _internal_operators_timeInterval__WEBPACK_IMPORTED_MODULE_90__ = __webpack_require__(379); +/* harmony import */ var _internal_operators_timeInterval__WEBPACK_IMPORTED_MODULE_90__ = __webpack_require__(380); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "timeInterval", function() { return _internal_operators_timeInterval__WEBPACK_IMPORTED_MODULE_90__["timeInterval"]; }); -/* harmony import */ var _internal_operators_timeout__WEBPACK_IMPORTED_MODULE_91__ = __webpack_require__(380); +/* harmony import */ var _internal_operators_timeout__WEBPACK_IMPORTED_MODULE_91__ = __webpack_require__(381); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "timeout", function() { return _internal_operators_timeout__WEBPACK_IMPORTED_MODULE_91__["timeout"]; }); -/* harmony import */ var _internal_operators_timeoutWith__WEBPACK_IMPORTED_MODULE_92__ = __webpack_require__(381); +/* harmony import */ var _internal_operators_timeoutWith__WEBPACK_IMPORTED_MODULE_92__ = __webpack_require__(382); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "timeoutWith", function() { return _internal_operators_timeoutWith__WEBPACK_IMPORTED_MODULE_92__["timeoutWith"]; }); -/* harmony import */ var _internal_operators_timestamp__WEBPACK_IMPORTED_MODULE_93__ = __webpack_require__(382); +/* harmony import */ var _internal_operators_timestamp__WEBPACK_IMPORTED_MODULE_93__ = __webpack_require__(383); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "timestamp", function() { return _internal_operators_timestamp__WEBPACK_IMPORTED_MODULE_93__["timestamp"]; }); -/* harmony import */ var _internal_operators_toArray__WEBPACK_IMPORTED_MODULE_94__ = __webpack_require__(383); +/* harmony import */ var _internal_operators_toArray__WEBPACK_IMPORTED_MODULE_94__ = __webpack_require__(384); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "toArray", function() { return _internal_operators_toArray__WEBPACK_IMPORTED_MODULE_94__["toArray"]; }); -/* harmony import */ var _internal_operators_window__WEBPACK_IMPORTED_MODULE_95__ = __webpack_require__(384); +/* harmony import */ var _internal_operators_window__WEBPACK_IMPORTED_MODULE_95__ = __webpack_require__(385); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "window", function() { return _internal_operators_window__WEBPACK_IMPORTED_MODULE_95__["window"]; }); -/* harmony import */ var _internal_operators_windowCount__WEBPACK_IMPORTED_MODULE_96__ = __webpack_require__(385); +/* harmony import */ var _internal_operators_windowCount__WEBPACK_IMPORTED_MODULE_96__ = __webpack_require__(386); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "windowCount", function() { return _internal_operators_windowCount__WEBPACK_IMPORTED_MODULE_96__["windowCount"]; }); -/* harmony import */ var _internal_operators_windowTime__WEBPACK_IMPORTED_MODULE_97__ = __webpack_require__(386); +/* harmony import */ var _internal_operators_windowTime__WEBPACK_IMPORTED_MODULE_97__ = __webpack_require__(387); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "windowTime", function() { return _internal_operators_windowTime__WEBPACK_IMPORTED_MODULE_97__["windowTime"]; }); -/* harmony import */ var _internal_operators_windowToggle__WEBPACK_IMPORTED_MODULE_98__ = __webpack_require__(387); +/* harmony import */ var _internal_operators_windowToggle__WEBPACK_IMPORTED_MODULE_98__ = __webpack_require__(388); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "windowToggle", function() { return _internal_operators_windowToggle__WEBPACK_IMPORTED_MODULE_98__["windowToggle"]; }); -/* harmony import */ var _internal_operators_windowWhen__WEBPACK_IMPORTED_MODULE_99__ = __webpack_require__(388); +/* harmony import */ var _internal_operators_windowWhen__WEBPACK_IMPORTED_MODULE_99__ = __webpack_require__(389); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "windowWhen", function() { return _internal_operators_windowWhen__WEBPACK_IMPORTED_MODULE_99__["windowWhen"]; }); -/* harmony import */ var _internal_operators_withLatestFrom__WEBPACK_IMPORTED_MODULE_100__ = __webpack_require__(389); +/* harmony import */ var _internal_operators_withLatestFrom__WEBPACK_IMPORTED_MODULE_100__ = __webpack_require__(390); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "withLatestFrom", function() { return _internal_operators_withLatestFrom__WEBPACK_IMPORTED_MODULE_100__["withLatestFrom"]; }); -/* harmony import */ var _internal_operators_zip__WEBPACK_IMPORTED_MODULE_101__ = __webpack_require__(390); +/* harmony import */ var _internal_operators_zip__WEBPACK_IMPORTED_MODULE_101__ = __webpack_require__(391); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "zip", function() { return _internal_operators_zip__WEBPACK_IMPORTED_MODULE_101__["zip"]; }); -/* harmony import */ var _internal_operators_zipAll__WEBPACK_IMPORTED_MODULE_102__ = __webpack_require__(391); +/* harmony import */ var _internal_operators_zipAll__WEBPACK_IMPORTED_MODULE_102__ = __webpack_require__(392); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "zipAll", function() { return _internal_operators_zipAll__WEBPACK_IMPORTED_MODULE_102__["zipAll"]; }); /** PURE_IMPORTS_START PURE_IMPORTS_END */ @@ -32159,17 +32284,17 @@ __webpack_require__.r(__webpack_exports__); /***/ }), -/* 293 */ +/* 294 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "audit", function() { return audit; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _util_tryCatch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(205); -/* harmony import */ var _util_errorObject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(206); -/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(255); -/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(256); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _util_tryCatch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(206); +/* harmony import */ var _util_errorObject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(207); +/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(256); +/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(257); /** PURE_IMPORTS_START tslib,_util_tryCatch,_util_errorObject,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */ @@ -32242,15 +32367,15 @@ var AuditSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 294 */ +/* 295 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "auditTime", function() { return auditTime; }); -/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(241); -/* harmony import */ var _audit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(293); -/* harmony import */ var _observable_timer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(289); +/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(242); +/* harmony import */ var _audit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(294); +/* harmony import */ var _observable_timer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(290); /** PURE_IMPORTS_START _scheduler_async,_audit,_observable_timer PURE_IMPORTS_END */ @@ -32265,15 +32390,15 @@ function auditTime(duration, scheduler) { /***/ }), -/* 295 */ +/* 296 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "buffer", function() { return buffer; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(255); -/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(256); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(256); +/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(257); /** PURE_IMPORTS_START tslib,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */ @@ -32314,14 +32439,14 @@ var BufferSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 296 */ +/* 297 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "bufferCount", function() { return bufferCount; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(196); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -32415,16 +32540,16 @@ var BufferSkipCountSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 297 */ +/* 298 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "bufferTime", function() { return bufferTime; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(241); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(196); -/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(231); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(242); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(197); +/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(232); /** PURE_IMPORTS_START tslib,_scheduler_async,_Subscriber,_util_isScheduler PURE_IMPORTS_END */ @@ -32576,16 +32701,16 @@ function dispatchBufferClose(arg) { /***/ }), -/* 298 */ +/* 299 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "bufferToggle", function() { return bufferToggle; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(202); -/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(256); -/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(255); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(203); +/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(257); +/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(256); /** PURE_IMPORTS_START tslib,_Subscription,_util_subscribeToResult,_OuterSubscriber PURE_IMPORTS_END */ @@ -32696,18 +32821,18 @@ var BufferToggleSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 299 */ +/* 300 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "bufferWhen", function() { return bufferWhen; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(202); -/* harmony import */ var _util_tryCatch__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(205); -/* harmony import */ var _util_errorObject__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(206); -/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(255); -/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(256); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(203); +/* harmony import */ var _util_tryCatch__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(206); +/* harmony import */ var _util_errorObject__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(207); +/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(256); +/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(257); /** PURE_IMPORTS_START tslib,_Subscription,_util_tryCatch,_util_errorObject,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */ @@ -32793,15 +32918,15 @@ var BufferWhenSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 300 */ +/* 301 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "catchError", function() { return catchError; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(255); -/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(256); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(256); +/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(257); /** PURE_IMPORTS_START tslib,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */ @@ -32850,13 +32975,13 @@ var CatchSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 301 */ +/* 302 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "combineAll", function() { return combineAll; }); -/* harmony import */ var _observable_combineLatest__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(254); +/* harmony import */ var _observable_combineLatest__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(255); /** PURE_IMPORTS_START _observable_combineLatest PURE_IMPORTS_END */ function combineAll(project) { @@ -32866,15 +32991,15 @@ function combineAll(project) { /***/ }), -/* 302 */ +/* 303 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "combineLatest", function() { return combineLatest; }); -/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(203); -/* harmony import */ var _observable_combineLatest__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(254); -/* harmony import */ var _observable_from__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(266); +/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(204); +/* harmony import */ var _observable_combineLatest__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(255); +/* harmony import */ var _observable_from__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(267); /** PURE_IMPORTS_START _util_isArray,_observable_combineLatest,_observable_from PURE_IMPORTS_END */ @@ -32898,13 +33023,13 @@ function combineLatest() { /***/ }), -/* 303 */ +/* 304 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "concat", function() { return concat; }); -/* harmony import */ var _observable_concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(265); +/* harmony import */ var _observable_concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(266); /** PURE_IMPORTS_START _observable_concat PURE_IMPORTS_END */ function concat() { @@ -32918,13 +33043,13 @@ function concat() { /***/ }), -/* 304 */ +/* 305 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "concatMap", function() { return concatMap; }); -/* harmony import */ var _mergeMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(274); +/* harmony import */ var _mergeMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(275); /** PURE_IMPORTS_START _mergeMap PURE_IMPORTS_END */ function concatMap(project, resultSelector) { @@ -32934,13 +33059,13 @@ function concatMap(project, resultSelector) { /***/ }), -/* 305 */ +/* 306 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "concatMapTo", function() { return concatMapTo; }); -/* harmony import */ var _concatMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(304); +/* harmony import */ var _concatMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(305); /** PURE_IMPORTS_START _concatMap PURE_IMPORTS_END */ function concatMapTo(innerObservable, resultSelector) { @@ -32950,14 +33075,14 @@ function concatMapTo(innerObservable, resultSelector) { /***/ }), -/* 306 */ +/* 307 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "count", function() { return count; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(196); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -33015,15 +33140,15 @@ var CountSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 307 */ +/* 308 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "debounce", function() { return debounce; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(255); -/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(256); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(256); +/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(257); /** PURE_IMPORTS_START tslib,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */ @@ -33103,15 +33228,15 @@ var DebounceSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 308 */ +/* 309 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "debounceTime", function() { return debounceTime; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(196); -/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(241); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); +/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(242); /** PURE_IMPORTS_START tslib,_Subscriber,_scheduler_async PURE_IMPORTS_END */ @@ -33179,14 +33304,14 @@ function dispatchNext(subscriber) { /***/ }), -/* 309 */ +/* 310 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "defaultIfEmpty", function() { return defaultIfEmpty; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(196); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -33229,17 +33354,17 @@ var DefaultIfEmptySubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 310 */ +/* 311 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "delay", function() { return delay; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(241); -/* harmony import */ var _util_isDate__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(311); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(196); -/* harmony import */ var _Notification__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(228); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(242); +/* harmony import */ var _util_isDate__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(312); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(197); +/* harmony import */ var _Notification__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(229); /** PURE_IMPORTS_START tslib,_scheduler_async,_util_isDate,_Subscriber,_Notification PURE_IMPORTS_END */ @@ -33333,7 +33458,7 @@ var DelayMessage = /*@__PURE__*/ (function () { /***/ }), -/* 311 */ +/* 312 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -33347,17 +33472,17 @@ function isDate(value) { /***/ }), -/* 312 */ +/* 313 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "delayWhen", function() { return delayWhen; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(196); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(194); -/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(255); -/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(256); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(195); +/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(256); +/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(257); /** PURE_IMPORTS_START tslib,_Subscriber,_Observable,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */ @@ -33488,14 +33613,14 @@ var SubscriptionDelaySubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 313 */ +/* 314 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "dematerialize", function() { return dematerialize; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(196); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -33526,16 +33651,16 @@ var DeMaterializeSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 314 */ +/* 315 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "distinct", function() { return distinct; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DistinctSubscriber", function() { return DistinctSubscriber; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(255); -/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(256); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(256); +/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(257); /** PURE_IMPORTS_START tslib,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */ @@ -33604,16 +33729,16 @@ var DistinctSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 315 */ +/* 316 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "distinctUntilChanged", function() { return distinctUntilChanged; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(196); -/* harmony import */ var _util_tryCatch__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(205); -/* harmony import */ var _util_errorObject__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(206); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); +/* harmony import */ var _util_tryCatch__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(206); +/* harmony import */ var _util_errorObject__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(207); /** PURE_IMPORTS_START tslib,_Subscriber,_util_tryCatch,_util_errorObject PURE_IMPORTS_END */ @@ -33676,13 +33801,13 @@ var DistinctUntilChangedSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 316 */ +/* 317 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "distinctUntilKeyChanged", function() { return distinctUntilKeyChanged; }); -/* harmony import */ var _distinctUntilChanged__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(315); +/* harmony import */ var _distinctUntilChanged__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(316); /** PURE_IMPORTS_START _distinctUntilChanged PURE_IMPORTS_END */ function distinctUntilKeyChanged(key, compare) { @@ -33692,17 +33817,17 @@ function distinctUntilKeyChanged(key, compare) { /***/ }), -/* 317 */ +/* 318 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "elementAt", function() { return elementAt; }); -/* harmony import */ var _util_ArgumentOutOfRangeError__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(248); -/* harmony import */ var _filter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(318); -/* harmony import */ var _throwIfEmpty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(319); -/* harmony import */ var _defaultIfEmpty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(309); -/* harmony import */ var _take__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(321); +/* harmony import */ var _util_ArgumentOutOfRangeError__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(249); +/* harmony import */ var _filter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(319); +/* harmony import */ var _throwIfEmpty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(320); +/* harmony import */ var _defaultIfEmpty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(310); +/* harmony import */ var _take__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(322); /** PURE_IMPORTS_START _util_ArgumentOutOfRangeError,_filter,_throwIfEmpty,_defaultIfEmpty,_take PURE_IMPORTS_END */ @@ -33724,14 +33849,14 @@ function elementAt(index, defaultValue) { /***/ }), -/* 318 */ +/* 319 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "filter", function() { return filter; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(196); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -33778,14 +33903,14 @@ var FilterSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 319 */ +/* 320 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "throwIfEmpty", function() { return throwIfEmpty; }); -/* harmony import */ var _tap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(320); -/* harmony import */ var _util_EmptyError__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(249); +/* harmony import */ var _tap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(321); +/* harmony import */ var _util_EmptyError__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(250); /** PURE_IMPORTS_START _tap,_util_EmptyError PURE_IMPORTS_END */ @@ -33810,16 +33935,16 @@ function defaultErrorFactory() { /***/ }), -/* 320 */ +/* 321 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "tap", function() { return tap; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(196); -/* harmony import */ var _util_noop__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(211); -/* harmony import */ var _util_isFunction__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(198); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); +/* harmony import */ var _util_noop__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(212); +/* harmony import */ var _util_isFunction__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(199); /** PURE_IMPORTS_START tslib,_Subscriber,_util_noop,_util_isFunction PURE_IMPORTS_END */ @@ -33898,16 +34023,16 @@ var TapSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 321 */ +/* 322 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "take", function() { return take; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(196); -/* harmony import */ var _util_ArgumentOutOfRangeError__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(248); -/* harmony import */ var _observable_empty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(229); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); +/* harmony import */ var _util_ArgumentOutOfRangeError__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(249); +/* harmony import */ var _observable_empty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(230); /** PURE_IMPORTS_START tslib,_Subscriber,_util_ArgumentOutOfRangeError,_observable_empty PURE_IMPORTS_END */ @@ -33960,17 +34085,17 @@ var TakeSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 322 */ +/* 323 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "endWith", function() { return endWith; }); -/* harmony import */ var _observable_fromArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(232); -/* harmony import */ var _observable_scalar__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(234); -/* harmony import */ var _observable_empty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(229); -/* harmony import */ var _observable_concat__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(265); -/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(231); +/* harmony import */ var _observable_fromArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(233); +/* harmony import */ var _observable_scalar__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(235); +/* harmony import */ var _observable_empty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(230); +/* harmony import */ var _observable_concat__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(266); +/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(232); /** PURE_IMPORTS_START _observable_fromArray,_observable_scalar,_observable_empty,_observable_concat,_util_isScheduler PURE_IMPORTS_END */ @@ -34006,14 +34131,14 @@ function endWith() { /***/ }), -/* 323 */ +/* 324 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "every", function() { return every; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(196); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -34068,15 +34193,15 @@ var EverySubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 324 */ +/* 325 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "exhaust", function() { return exhaust; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(255); -/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(256); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(256); +/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(257); /** PURE_IMPORTS_START tslib,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */ @@ -34125,17 +34250,17 @@ var SwitchFirstSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 325 */ +/* 326 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "exhaustMap", function() { return exhaustMap; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(255); -/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(256); -/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(252); -/* harmony import */ var _observable_from__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(266); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(256); +/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(257); +/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(253); +/* harmony import */ var _observable_from__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(267); /** PURE_IMPORTS_START tslib,_OuterSubscriber,_util_subscribeToResult,_map,_observable_from PURE_IMPORTS_END */ @@ -34211,7 +34336,7 @@ var ExhaustMapSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 326 */ +/* 327 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -34219,11 +34344,11 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "expand", function() { return expand; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ExpandOperator", function() { return ExpandOperator; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ExpandSubscriber", function() { return ExpandSubscriber; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _util_tryCatch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(205); -/* harmony import */ var _util_errorObject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(206); -/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(255); -/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(256); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _util_tryCatch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(206); +/* harmony import */ var _util_errorObject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(207); +/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(256); +/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(257); /** PURE_IMPORTS_START tslib,_util_tryCatch,_util_errorObject,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */ @@ -34327,15 +34452,15 @@ var ExpandSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 327 */ +/* 328 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "finalize", function() { return finalize; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(196); -/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(202); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); +/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(203); /** PURE_IMPORTS_START tslib,_Subscriber,_Subscription PURE_IMPORTS_END */ @@ -34365,7 +34490,7 @@ var FinallySubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 328 */ +/* 329 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -34373,8 +34498,8 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "find", function() { return find; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FindValueOperator", function() { return FindValueOperator; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FindValueSubscriber", function() { return FindValueSubscriber; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(196); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -34436,13 +34561,13 @@ var FindValueSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 329 */ +/* 330 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "findIndex", function() { return findIndex; }); -/* harmony import */ var _operators_find__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(328); +/* harmony import */ var _operators_find__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(329); /** PURE_IMPORTS_START _operators_find PURE_IMPORTS_END */ function findIndex(predicate, thisArg) { @@ -34452,18 +34577,18 @@ function findIndex(predicate, thisArg) { /***/ }), -/* 330 */ +/* 331 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "first", function() { return first; }); -/* harmony import */ var _util_EmptyError__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(249); -/* harmony import */ var _filter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(318); -/* harmony import */ var _take__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(321); -/* harmony import */ var _defaultIfEmpty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(309); -/* harmony import */ var _throwIfEmpty__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(319); -/* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(246); +/* harmony import */ var _util_EmptyError__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(250); +/* harmony import */ var _filter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(319); +/* harmony import */ var _take__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(322); +/* harmony import */ var _defaultIfEmpty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(310); +/* harmony import */ var _throwIfEmpty__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(320); +/* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(247); /** PURE_IMPORTS_START _util_EmptyError,_filter,_take,_defaultIfEmpty,_throwIfEmpty,_util_identity PURE_IMPORTS_END */ @@ -34479,14 +34604,14 @@ function first(predicate, defaultValue) { /***/ }), -/* 331 */ +/* 332 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ignoreElements", function() { return ignoreElements; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(196); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -34516,14 +34641,14 @@ var IgnoreElementsSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 332 */ +/* 333 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isEmpty", function() { return isEmpty; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(196); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -34560,18 +34685,18 @@ var IsEmptySubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 333 */ +/* 334 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "last", function() { return last; }); -/* harmony import */ var _util_EmptyError__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(249); -/* harmony import */ var _filter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(318); -/* harmony import */ var _takeLast__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(334); -/* harmony import */ var _throwIfEmpty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(319); -/* harmony import */ var _defaultIfEmpty__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(309); -/* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(246); +/* harmony import */ var _util_EmptyError__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(250); +/* harmony import */ var _filter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(319); +/* harmony import */ var _takeLast__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(335); +/* harmony import */ var _throwIfEmpty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(320); +/* harmony import */ var _defaultIfEmpty__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(310); +/* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(247); /** PURE_IMPORTS_START _util_EmptyError,_filter,_takeLast,_throwIfEmpty,_defaultIfEmpty,_util_identity PURE_IMPORTS_END */ @@ -34587,16 +34712,16 @@ function last(predicate, defaultValue) { /***/ }), -/* 334 */ +/* 335 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "takeLast", function() { return takeLast; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(196); -/* harmony import */ var _util_ArgumentOutOfRangeError__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(248); -/* harmony import */ var _observable_empty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(229); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); +/* harmony import */ var _util_ArgumentOutOfRangeError__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(249); +/* harmony import */ var _observable_empty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(230); /** PURE_IMPORTS_START tslib,_Subscriber,_util_ArgumentOutOfRangeError,_observable_empty PURE_IMPORTS_END */ @@ -34664,14 +34789,14 @@ var TakeLastSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 335 */ +/* 336 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mapTo", function() { return mapTo; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(196); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -34703,15 +34828,15 @@ var MapToSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 336 */ +/* 337 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "materialize", function() { return materialize; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(196); -/* harmony import */ var _Notification__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(228); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); +/* harmony import */ var _Notification__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(229); /** PURE_IMPORTS_START tslib,_Subscriber,_Notification PURE_IMPORTS_END */ @@ -34753,13 +34878,13 @@ var MaterializeSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 337 */ +/* 338 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "max", function() { return max; }); -/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(338); +/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(339); /** PURE_IMPORTS_START _reduce PURE_IMPORTS_END */ function max(comparer) { @@ -34772,16 +34897,16 @@ function max(comparer) { /***/ }), -/* 338 */ +/* 339 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "reduce", function() { return reduce; }); -/* harmony import */ var _scan__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(339); -/* harmony import */ var _takeLast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(334); -/* harmony import */ var _defaultIfEmpty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(309); -/* harmony import */ var _util_pipe__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(210); +/* harmony import */ var _scan__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(340); +/* harmony import */ var _takeLast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(335); +/* harmony import */ var _defaultIfEmpty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(310); +/* harmony import */ var _util_pipe__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(211); /** PURE_IMPORTS_START _scan,_takeLast,_defaultIfEmpty,_util_pipe PURE_IMPORTS_END */ @@ -34803,14 +34928,14 @@ function reduce(accumulator, seed) { /***/ }), -/* 339 */ +/* 340 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "scan", function() { return scan; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(196); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -34885,13 +35010,13 @@ var ScanSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 340 */ +/* 341 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "merge", function() { return merge; }); -/* harmony import */ var _observable_merge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(283); +/* harmony import */ var _observable_merge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(284); /** PURE_IMPORTS_START _observable_merge PURE_IMPORTS_END */ function merge() { @@ -34905,13 +35030,13 @@ function merge() { /***/ }), -/* 341 */ +/* 342 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mergeMapTo", function() { return mergeMapTo; }); -/* harmony import */ var _mergeMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(274); +/* harmony import */ var _mergeMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(275); /** PURE_IMPORTS_START _mergeMap PURE_IMPORTS_END */ function mergeMapTo(innerObservable, resultSelector, concurrent) { @@ -34930,7 +35055,7 @@ function mergeMapTo(innerObservable, resultSelector, concurrent) { /***/ }), -/* 342 */ +/* 343 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -34938,11 +35063,11 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mergeScan", function() { return mergeScan; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MergeScanOperator", function() { return MergeScanOperator; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MergeScanSubscriber", function() { return MergeScanSubscriber; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _util_tryCatch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(205); -/* harmony import */ var _util_errorObject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(206); -/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(256); -/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(255); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _util_tryCatch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(206); +/* harmony import */ var _util_errorObject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(207); +/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(257); +/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(256); /** PURE_IMPORTS_START tslib,_util_tryCatch,_util_errorObject,_util_subscribeToResult,_OuterSubscriber PURE_IMPORTS_END */ @@ -35037,13 +35162,13 @@ var MergeScanSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 343 */ +/* 344 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "min", function() { return min; }); -/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(338); +/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(339); /** PURE_IMPORTS_START _reduce PURE_IMPORTS_END */ function min(comparer) { @@ -35056,14 +35181,14 @@ function min(comparer) { /***/ }), -/* 344 */ +/* 345 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "multicast", function() { return multicast; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MulticastOperator", function() { return MulticastOperator; }); -/* harmony import */ var _observable_ConnectableObservable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(212); +/* harmony import */ var _observable_ConnectableObservable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(213); /** PURE_IMPORTS_START _observable_ConnectableObservable PURE_IMPORTS_END */ function multicast(subjectOrSubjectFactory, selector) { @@ -35105,18 +35230,18 @@ var MulticastOperator = /*@__PURE__*/ (function () { /***/ }), -/* 345 */ +/* 346 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "onErrorResumeNext", function() { return onErrorResumeNext; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "onErrorResumeNextStatic", function() { return onErrorResumeNextStatic; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _observable_from__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(266); -/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(203); -/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(255); -/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(256); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _observable_from__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(267); +/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(204); +/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(256); +/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(257); /** PURE_IMPORTS_START tslib,_observable_from,_util_isArray,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */ @@ -35189,14 +35314,14 @@ var OnErrorResumeNextSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 346 */ +/* 347 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "pairwise", function() { return pairwise; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(196); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -35233,14 +35358,14 @@ var PairwiseSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 347 */ +/* 348 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "partition", function() { return partition; }); -/* harmony import */ var _util_not__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(348); -/* harmony import */ var _filter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(318); +/* harmony import */ var _util_not__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(349); +/* harmony import */ var _filter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(319); /** PURE_IMPORTS_START _util_not,_filter PURE_IMPORTS_END */ @@ -35256,7 +35381,7 @@ function partition(predicate, thisArg) { /***/ }), -/* 348 */ +/* 349 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -35275,13 +35400,13 @@ function not(pred, thisArg) { /***/ }), -/* 349 */ +/* 350 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "pluck", function() { return pluck; }); -/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(252); +/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(253); /** PURE_IMPORTS_START _map PURE_IMPORTS_END */ function pluck() { @@ -35315,14 +35440,14 @@ function plucker(props, length) { /***/ }), -/* 350 */ +/* 351 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "publish", function() { return publish; }); -/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(213); -/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(344); +/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(214); +/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(345); /** PURE_IMPORTS_START _Subject,_multicast PURE_IMPORTS_END */ @@ -35335,14 +35460,14 @@ function publish(selector) { /***/ }), -/* 351 */ +/* 352 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "publishBehavior", function() { return publishBehavior; }); -/* harmony import */ var _BehaviorSubject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(218); -/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(344); +/* harmony import */ var _BehaviorSubject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(219); +/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(345); /** PURE_IMPORTS_START _BehaviorSubject,_multicast PURE_IMPORTS_END */ @@ -35353,14 +35478,14 @@ function publishBehavior(value) { /***/ }), -/* 352 */ +/* 353 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "publishLast", function() { return publishLast; }); -/* harmony import */ var _AsyncSubject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(236); -/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(344); +/* harmony import */ var _AsyncSubject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(237); +/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(345); /** PURE_IMPORTS_START _AsyncSubject,_multicast PURE_IMPORTS_END */ @@ -35371,14 +35496,14 @@ function publishLast() { /***/ }), -/* 353 */ +/* 354 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "publishReplay", function() { return publishReplay; }); -/* harmony import */ var _ReplaySubject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(219); -/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(344); +/* harmony import */ var _ReplaySubject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(220); +/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(345); /** PURE_IMPORTS_START _ReplaySubject,_multicast PURE_IMPORTS_END */ @@ -35394,14 +35519,14 @@ function publishReplay(bufferSize, windowTime, selectorOrScheduler, scheduler) { /***/ }), -/* 354 */ +/* 355 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "race", function() { return race; }); -/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(203); -/* harmony import */ var _observable_race__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(287); +/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(204); +/* harmony import */ var _observable_race__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(288); /** PURE_IMPORTS_START _util_isArray,_observable_race PURE_IMPORTS_END */ @@ -35421,15 +35546,15 @@ function race() { /***/ }), -/* 355 */ +/* 356 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "repeat", function() { return repeat; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(196); -/* harmony import */ var _observable_empty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(229); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); +/* harmony import */ var _observable_empty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(230); /** PURE_IMPORTS_START tslib,_Subscriber,_observable_empty PURE_IMPORTS_END */ @@ -35486,18 +35611,18 @@ var RepeatSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 356 */ +/* 357 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "repeatWhen", function() { return repeatWhen; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(213); -/* harmony import */ var _util_tryCatch__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(205); -/* harmony import */ var _util_errorObject__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(206); -/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(255); -/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(256); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(214); +/* harmony import */ var _util_tryCatch__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(206); +/* harmony import */ var _util_errorObject__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(207); +/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(256); +/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(257); /** PURE_IMPORTS_START tslib,_Subject,_util_tryCatch,_util_errorObject,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */ @@ -35582,14 +35707,14 @@ var RepeatWhenSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 357 */ +/* 358 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "retry", function() { return retry; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(196); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -35635,18 +35760,18 @@ var RetrySubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 358 */ +/* 359 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "retryWhen", function() { return retryWhen; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(213); -/* harmony import */ var _util_tryCatch__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(205); -/* harmony import */ var _util_errorObject__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(206); -/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(255); -/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(256); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(214); +/* harmony import */ var _util_tryCatch__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(206); +/* harmony import */ var _util_errorObject__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(207); +/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(256); +/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(257); /** PURE_IMPORTS_START tslib,_Subject,_util_tryCatch,_util_errorObject,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */ @@ -35724,15 +35849,15 @@ var RetryWhenSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 359 */ +/* 360 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "sample", function() { return sample; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(255); -/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(256); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(256); +/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(257); /** PURE_IMPORTS_START tslib,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */ @@ -35781,15 +35906,15 @@ var SampleSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 360 */ +/* 361 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "sampleTime", function() { return sampleTime; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(196); -/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(241); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); +/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(242); /** PURE_IMPORTS_START tslib,_Subscriber,_scheduler_async PURE_IMPORTS_END */ @@ -35841,7 +35966,7 @@ function dispatchNotification(state) { /***/ }), -/* 361 */ +/* 362 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -35849,10 +35974,10 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "sequenceEqual", function() { return sequenceEqual; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SequenceEqualOperator", function() { return SequenceEqualOperator; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SequenceEqualSubscriber", function() { return SequenceEqualSubscriber; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(196); -/* harmony import */ var _util_tryCatch__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(205); -/* harmony import */ var _util_errorObject__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(206); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); +/* harmony import */ var _util_tryCatch__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(206); +/* harmony import */ var _util_errorObject__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(207); /** PURE_IMPORTS_START tslib,_Subscriber,_util_tryCatch,_util_errorObject PURE_IMPORTS_END */ @@ -35960,15 +36085,15 @@ var SequenceEqualCompareToSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 362 */ +/* 363 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "share", function() { return share; }); -/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(344); -/* harmony import */ var _refCount__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(216); -/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(213); +/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(345); +/* harmony import */ var _refCount__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(217); +/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(214); /** PURE_IMPORTS_START _multicast,_refCount,_Subject PURE_IMPORTS_END */ @@ -35983,13 +36108,13 @@ function share() { /***/ }), -/* 363 */ +/* 364 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "shareReplay", function() { return shareReplay; }); -/* harmony import */ var _ReplaySubject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(219); +/* harmony import */ var _ReplaySubject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(220); /** PURE_IMPORTS_START _ReplaySubject PURE_IMPORTS_END */ function shareReplay(bufferSize, windowTime, scheduler) { @@ -36032,15 +36157,15 @@ function shareReplayOperator(bufferSize, windowTime, scheduler) { /***/ }), -/* 364 */ +/* 365 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "single", function() { return single; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(196); -/* harmony import */ var _util_EmptyError__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(249); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); +/* harmony import */ var _util_EmptyError__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(250); /** PURE_IMPORTS_START tslib,_Subscriber,_util_EmptyError PURE_IMPORTS_END */ @@ -36112,14 +36237,14 @@ var SingleSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 365 */ +/* 366 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "skip", function() { return skip; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(196); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -36154,15 +36279,15 @@ var SkipSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 366 */ +/* 367 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "skipLast", function() { return skipLast; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(196); -/* harmony import */ var _util_ArgumentOutOfRangeError__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(248); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); +/* harmony import */ var _util_ArgumentOutOfRangeError__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(249); /** PURE_IMPORTS_START tslib,_Subscriber,_util_ArgumentOutOfRangeError PURE_IMPORTS_END */ @@ -36216,15 +36341,15 @@ var SkipLastSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 367 */ +/* 368 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "skipUntil", function() { return skipUntil; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(255); -/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(256); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(256); +/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(257); /** PURE_IMPORTS_START tslib,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */ @@ -36268,14 +36393,14 @@ var SkipUntilSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 368 */ +/* 369 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "skipWhile", function() { return skipWhile; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(196); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -36324,17 +36449,17 @@ var SkipWhileSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 369 */ +/* 370 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "startWith", function() { return startWith; }); -/* harmony import */ var _observable_fromArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(232); -/* harmony import */ var _observable_scalar__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(234); -/* harmony import */ var _observable_empty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(229); -/* harmony import */ var _observable_concat__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(265); -/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(231); +/* harmony import */ var _observable_fromArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(233); +/* harmony import */ var _observable_scalar__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(235); +/* harmony import */ var _observable_empty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(230); +/* harmony import */ var _observable_concat__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(266); +/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(232); /** PURE_IMPORTS_START _observable_fromArray,_observable_scalar,_observable_empty,_observable_concat,_util_isScheduler PURE_IMPORTS_END */ @@ -36370,13 +36495,13 @@ function startWith() { /***/ }), -/* 370 */ +/* 371 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "subscribeOn", function() { return subscribeOn; }); -/* harmony import */ var _observable_SubscribeOnObservable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(371); +/* harmony import */ var _observable_SubscribeOnObservable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(372); /** PURE_IMPORTS_START _observable_SubscribeOnObservable PURE_IMPORTS_END */ function subscribeOn(scheduler, delay) { @@ -36401,16 +36526,16 @@ var SubscribeOnOperator = /*@__PURE__*/ (function () { /***/ }), -/* 371 */ +/* 372 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SubscribeOnObservable", function() { return SubscribeOnObservable; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(194); -/* harmony import */ var _scheduler_asap__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(237); -/* harmony import */ var _util_isNumeric__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(282); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(195); +/* harmony import */ var _scheduler_asap__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(238); +/* harmony import */ var _util_isNumeric__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(283); /** PURE_IMPORTS_START tslib,_Observable,_scheduler_asap,_util_isNumeric PURE_IMPORTS_END */ @@ -36465,14 +36590,14 @@ var SubscribeOnObservable = /*@__PURE__*/ (function (_super) { /***/ }), -/* 372 */ +/* 373 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "switchAll", function() { return switchAll; }); -/* harmony import */ var _switchMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(373); -/* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(246); +/* harmony import */ var _switchMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(374); +/* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(247); /** PURE_IMPORTS_START _switchMap,_util_identity PURE_IMPORTS_END */ @@ -36483,17 +36608,17 @@ function switchAll() { /***/ }), -/* 373 */ +/* 374 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "switchMap", function() { return switchMap; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(255); -/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(256); -/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(252); -/* harmony import */ var _observable_from__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(266); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(256); +/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(257); +/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(253); +/* harmony import */ var _observable_from__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(267); /** PURE_IMPORTS_START tslib,_OuterSubscriber,_util_subscribeToResult,_map,_observable_from PURE_IMPORTS_END */ @@ -36567,13 +36692,13 @@ var SwitchMapSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 374 */ +/* 375 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "switchMapTo", function() { return switchMapTo; }); -/* harmony import */ var _switchMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(373); +/* harmony import */ var _switchMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(374); /** PURE_IMPORTS_START _switchMap PURE_IMPORTS_END */ function switchMapTo(innerObservable, resultSelector) { @@ -36583,15 +36708,15 @@ function switchMapTo(innerObservable, resultSelector) { /***/ }), -/* 375 */ +/* 376 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "takeUntil", function() { return takeUntil; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(255); -/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(256); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(256); +/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(257); /** PURE_IMPORTS_START tslib,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */ @@ -36630,14 +36755,14 @@ var TakeUntilSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 376 */ +/* 377 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "takeWhile", function() { return takeWhile; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(196); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -36688,16 +36813,16 @@ var TakeWhileSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 377 */ +/* 378 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "defaultThrottleConfig", function() { return defaultThrottleConfig; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "throttle", function() { return throttle; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(255); -/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(256); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(256); +/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(257); /** PURE_IMPORTS_START tslib,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */ @@ -36792,16 +36917,16 @@ var ThrottleSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 378 */ +/* 379 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "throttleTime", function() { return throttleTime; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(196); -/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(241); -/* harmony import */ var _throttle__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(377); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); +/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(242); +/* harmony import */ var _throttle__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(378); /** PURE_IMPORTS_START tslib,_Subscriber,_scheduler_async,_throttle PURE_IMPORTS_END */ @@ -36886,17 +37011,17 @@ function dispatchNext(arg) { /***/ }), -/* 379 */ +/* 380 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "timeInterval", function() { return timeInterval; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TimeInterval", function() { return TimeInterval; }); -/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(241); -/* harmony import */ var _scan__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(339); -/* harmony import */ var _observable_defer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(275); -/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(252); +/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(242); +/* harmony import */ var _scan__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(340); +/* harmony import */ var _observable_defer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(276); +/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(253); /** PURE_IMPORTS_START _scheduler_async,_scan,_observable_defer,_map PURE_IMPORTS_END */ @@ -36930,16 +37055,16 @@ var TimeInterval = /*@__PURE__*/ (function () { /***/ }), -/* 380 */ +/* 381 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "timeout", function() { return timeout; }); -/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(241); -/* harmony import */ var _util_TimeoutError__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(250); -/* harmony import */ var _timeoutWith__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(381); -/* harmony import */ var _observable_throwError__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(235); +/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(242); +/* harmony import */ var _util_TimeoutError__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(251); +/* harmony import */ var _timeoutWith__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(382); +/* harmony import */ var _observable_throwError__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(236); /** PURE_IMPORTS_START _scheduler_async,_util_TimeoutError,_timeoutWith,_observable_throwError PURE_IMPORTS_END */ @@ -36955,17 +37080,17 @@ function timeout(due, scheduler) { /***/ }), -/* 381 */ +/* 382 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "timeoutWith", function() { return timeoutWith; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(241); -/* harmony import */ var _util_isDate__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(311); -/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(255); -/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(256); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(242); +/* harmony import */ var _util_isDate__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(312); +/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(256); +/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(257); /** PURE_IMPORTS_START tslib,_scheduler_async,_util_isDate,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */ @@ -37037,15 +37162,15 @@ var TimeoutWithSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 382 */ +/* 383 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "timestamp", function() { return timestamp; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Timestamp", function() { return Timestamp; }); -/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(241); -/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(252); +/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(242); +/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(253); /** PURE_IMPORTS_START _scheduler_async,_map PURE_IMPORTS_END */ @@ -37067,13 +37192,13 @@ var Timestamp = /*@__PURE__*/ (function () { /***/ }), -/* 383 */ +/* 384 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "toArray", function() { return toArray; }); -/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(338); +/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(339); /** PURE_IMPORTS_START _reduce PURE_IMPORTS_END */ function toArrayReducer(arr, item, index) { @@ -37090,16 +37215,16 @@ function toArray() { /***/ }), -/* 384 */ +/* 385 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "window", function() { return window; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(213); -/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(255); -/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(256); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(214); +/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(256); +/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(257); /** PURE_IMPORTS_START tslib,_Subject,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */ @@ -37170,15 +37295,15 @@ var WindowSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 385 */ +/* 386 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "windowCount", function() { return windowCount; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(196); -/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(213); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); +/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(214); /** PURE_IMPORTS_START tslib,_Subscriber,_Subject PURE_IMPORTS_END */ @@ -37260,18 +37385,18 @@ var WindowCountSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 386 */ +/* 387 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "windowTime", function() { return windowTime; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(213); -/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(241); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(196); -/* harmony import */ var _util_isNumeric__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(282); -/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(231); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(214); +/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(242); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(197); +/* harmony import */ var _util_isNumeric__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(283); +/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(232); /** PURE_IMPORTS_START tslib,_Subject,_scheduler_async,_Subscriber,_util_isNumeric,_util_isScheduler PURE_IMPORTS_END */ @@ -37430,19 +37555,19 @@ function dispatchWindowClose(state) { /***/ }), -/* 387 */ +/* 388 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "windowToggle", function() { return windowToggle; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(213); -/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(202); -/* harmony import */ var _util_tryCatch__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(205); -/* harmony import */ var _util_errorObject__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(206); -/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(255); -/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(256); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(214); +/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(203); +/* harmony import */ var _util_tryCatch__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(206); +/* harmony import */ var _util_errorObject__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(207); +/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(256); +/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(257); /** PURE_IMPORTS_START tslib,_Subject,_Subscription,_util_tryCatch,_util_errorObject,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */ @@ -37576,18 +37701,18 @@ var WindowToggleSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 388 */ +/* 389 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "windowWhen", function() { return windowWhen; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(213); -/* harmony import */ var _util_tryCatch__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(205); -/* harmony import */ var _util_errorObject__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(206); -/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(255); -/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(256); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(214); +/* harmony import */ var _util_tryCatch__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(206); +/* harmony import */ var _util_errorObject__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(207); +/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(256); +/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(257); /** PURE_IMPORTS_START tslib,_Subject,_util_tryCatch,_util_errorObject,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */ @@ -37675,15 +37800,15 @@ var WindowSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 389 */ +/* 390 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "withLatestFrom", function() { return withLatestFrom; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); -/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(255); -/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(256); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198); +/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(256); +/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(257); /** PURE_IMPORTS_START tslib,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */ @@ -37770,13 +37895,13 @@ var WithLatestFromSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 390 */ +/* 391 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "zip", function() { return zip; }); -/* harmony import */ var _observable_zip__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(291); +/* harmony import */ var _observable_zip__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(292); /** PURE_IMPORTS_START _observable_zip PURE_IMPORTS_END */ function zip() { @@ -37792,13 +37917,13 @@ function zip() { /***/ }), -/* 391 */ +/* 392 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "zipAll", function() { return zipAll; }); -/* harmony import */ var _observable_zip__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(291); +/* harmony import */ var _observable_zip__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(292); /** PURE_IMPORTS_START _observable_zip PURE_IMPORTS_END */ function zipAll(project) { @@ -37808,7 +37933,7 @@ function zipAll(project) { /***/ }), -/* 392 */ +/* 393 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -37816,15 +37941,15 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "runCommand", function() { return runCommand; }); /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2); /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(chalk__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var indent_string__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(393); +/* harmony import */ var indent_string__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(394); /* harmony import */ var indent_string__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(indent_string__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var wrap_ansi__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(394); +/* harmony import */ var wrap_ansi__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(395); /* harmony import */ var wrap_ansi__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(wrap_ansi__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(162); -/* harmony import */ var _utils_errors__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(52); -/* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(33); -/* harmony import */ var _utils_projects__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(35); -/* harmony import */ var _utils_projects_tree__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(401); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(163); +/* harmony import */ var _utils_errors__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(53); +/* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(34); +/* harmony import */ var _utils_projects__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(36); +/* harmony import */ var _utils_projects_tree__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(402); /* * Licensed to Elasticsearch B.V. under one or more contributor * license agreements. See the NOTICE file distributed with @@ -37902,7 +38027,7 @@ function toArray(value) { } /***/ }), -/* 393 */ +/* 394 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -37936,13 +38061,13 @@ module.exports = (str, count, opts) => { /***/ }), -/* 394 */ +/* 395 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const stringWidth = __webpack_require__(395); -const stripAnsi = __webpack_require__(399); +const stringWidth = __webpack_require__(396); +const stripAnsi = __webpack_require__(400); const ESCAPES = new Set([ '\u001B', @@ -38136,13 +38261,13 @@ module.exports = (str, cols, opts) => { /***/ }), -/* 395 */ +/* 396 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const stripAnsi = __webpack_require__(396); -const isFullwidthCodePoint = __webpack_require__(398); +const stripAnsi = __webpack_require__(397); +const isFullwidthCodePoint = __webpack_require__(399); module.exports = str => { if (typeof str !== 'string' || str.length === 0) { @@ -38179,18 +38304,18 @@ module.exports = str => { /***/ }), -/* 396 */ +/* 397 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const ansiRegex = __webpack_require__(397); +const ansiRegex = __webpack_require__(398); module.exports = input => typeof input === 'string' ? input.replace(ansiRegex(), '') : input; /***/ }), -/* 397 */ +/* 398 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -38207,7 +38332,7 @@ module.exports = () => { /***/ }), -/* 398 */ +/* 399 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -38260,18 +38385,18 @@ module.exports = x => { /***/ }), -/* 399 */ +/* 400 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const ansiRegex = __webpack_require__(400); +const ansiRegex = __webpack_require__(401); module.exports = input => typeof input === 'string' ? input.replace(ansiRegex(), '') : input; /***/ }), -/* 400 */ +/* 401 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -38288,7 +38413,7 @@ module.exports = () => { /***/ }), -/* 401 */ +/* 402 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -38441,15 +38566,15 @@ function addProjectToTree(tree, pathParts, project) { } /***/ }), -/* 402 */ +/* 403 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony import */ var _build_production_projects__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(403); +/* harmony import */ var _build_production_projects__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(404); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "buildProductionProjects", function() { return _build_production_projects__WEBPACK_IMPORTED_MODULE_0__["buildProductionProjects"]; }); -/* harmony import */ var _prepare_project_dependencies__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(588); +/* harmony import */ var _prepare_project_dependencies__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(589); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "prepareExternalProjectDependencies", function() { return _prepare_project_dependencies__WEBPACK_IMPORTED_MODULE_1__["prepareExternalProjectDependencies"]; }); /* @@ -38474,23 +38599,23 @@ __webpack_require__.r(__webpack_exports__); /***/ }), -/* 403 */ +/* 404 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "buildProductionProjects", function() { return buildProductionProjects; }); -/* harmony import */ var cpy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(404); +/* harmony import */ var cpy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(405); /* harmony import */ var cpy__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cpy__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var del__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(164); +/* harmony import */ var del__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(165); /* harmony import */ var del__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(del__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(16); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(162); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(163); /* harmony import */ var _utils_fs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(20); -/* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(33); -/* harmony import */ var _utils_package_json__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(54); -/* harmony import */ var _utils_projects__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(35); +/* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(34); +/* harmony import */ var _utils_package_json__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(55); +/* harmony import */ var _utils_projects__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(36); /* * Licensed to Elasticsearch B.V. under one or more contributor * license agreements. See the NOTICE file distributed with @@ -38620,17 +38745,17 @@ async function copyToBuild(project, kibanaRoot, buildRoot) { } /***/ }), -/* 404 */ +/* 405 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const EventEmitter = __webpack_require__(45); +const EventEmitter = __webpack_require__(46); const path = __webpack_require__(16); -const arrify = __webpack_require__(405); -const globby = __webpack_require__(406); -const cpFile = __webpack_require__(577); -const CpyError = __webpack_require__(587); +const arrify = __webpack_require__(406); +const globby = __webpack_require__(407); +const cpFile = __webpack_require__(578); +const CpyError = __webpack_require__(588); const preprocessSrcPath = (srcPath, options) => options.cwd ? path.resolve(options.cwd, srcPath) : srcPath; @@ -38729,7 +38854,7 @@ module.exports = (src, dest, options = {}) => { /***/ }), -/* 405 */ +/* 406 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -38744,16 +38869,16 @@ module.exports = function (val) { /***/ }), -/* 406 */ +/* 407 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const arrayUnion = __webpack_require__(168); -const glob = __webpack_require__(36); -const fastGlob = __webpack_require__(407); -const dirGlob = __webpack_require__(570); -const gitignore = __webpack_require__(573); +const arrayUnion = __webpack_require__(169); +const glob = __webpack_require__(37); +const fastGlob = __webpack_require__(408); +const dirGlob = __webpack_require__(571); +const gitignore = __webpack_require__(574); const DEFAULT_FILTER = () => false; @@ -38879,10 +39004,10 @@ module.exports.gitignore = gitignore; /***/ }), -/* 407 */ +/* 408 */ /***/ (function(module, exports, __webpack_require__) { -const pkg = __webpack_require__(408); +const pkg = __webpack_require__(409); module.exports = pkg.async; module.exports.default = pkg.async; @@ -38893,19 +39018,19 @@ module.exports.stream = pkg.stream; /***/ }), -/* 408 */ +/* 409 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var merge2 = __webpack_require__(409); -var optionsManager = __webpack_require__(410); -var taskManager = __webpack_require__(411); -var reader_async_1 = __webpack_require__(549); -var reader_stream_1 = __webpack_require__(568); -var reader_sync_1 = __webpack_require__(569); -var arrayUtils = __webpack_require__(565); +var merge2 = __webpack_require__(410); +var optionsManager = __webpack_require__(411); +var taskManager = __webpack_require__(412); +var reader_async_1 = __webpack_require__(550); +var reader_stream_1 = __webpack_require__(569); +var reader_sync_1 = __webpack_require__(570); +var arrayUtils = __webpack_require__(566); /** * Returns a set of works based on provided tasks and class of the reader. */ @@ -38943,7 +39068,7 @@ exports.stream = stream; /***/ }), -/* 409 */ +/* 410 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -39057,7 +39182,7 @@ function pauseStreams (streams, options) { /***/ }), -/* 410 */ +/* 411 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -39092,14 +39217,14 @@ exports.prepare = prepare; /***/ }), -/* 411 */ +/* 412 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var objectUtils = __webpack_require__(412); -var patternUtils = __webpack_require__(413); +var objectUtils = __webpack_require__(413); +var patternUtils = __webpack_require__(414); /** * Returns grouped patterns by base directory of each pattern. */ @@ -39211,7 +39336,7 @@ exports.generate = generate; /***/ }), -/* 412 */ +/* 413 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -39224,7 +39349,7 @@ exports.values = values; /***/ }), -/* 413 */ +/* 414 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -39240,8 +39365,8 @@ var __values = (this && this.__values) || function (o) { }; }; Object.defineProperty(exports, "__esModule", { value: true }); -var globParent = __webpack_require__(414); -var micromatch = __webpack_require__(418); +var globParent = __webpack_require__(415); +var micromatch = __webpack_require__(419); var GLOBSTAR = '**'; /** * Convert a windows «path» to a unix-style «path». @@ -39374,15 +39499,15 @@ exports.match = match; /***/ }), -/* 414 */ +/* 415 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var path = __webpack_require__(16); -var isglob = __webpack_require__(415); -var pathDirname = __webpack_require__(417); +var isglob = __webpack_require__(416); +var pathDirname = __webpack_require__(418); var isWin32 = __webpack_require__(11).platform() === 'win32'; module.exports = function globParent(str) { @@ -39405,7 +39530,7 @@ module.exports = function globParent(str) { /***/ }), -/* 415 */ +/* 416 */ /***/ (function(module, exports, __webpack_require__) { /*! @@ -39415,7 +39540,7 @@ module.exports = function globParent(str) { * Licensed under the MIT License. */ -var isExtglob = __webpack_require__(416); +var isExtglob = __webpack_require__(417); module.exports = function isGlob(str) { if (typeof str !== 'string' || str === '') { @@ -39436,7 +39561,7 @@ module.exports = function isGlob(str) { /***/ }), -/* 416 */ +/* 417 */ /***/ (function(module, exports) { /*! @@ -39462,7 +39587,7 @@ module.exports = function isExtglob(str) { /***/ }), -/* 417 */ +/* 418 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -39612,7 +39737,7 @@ module.exports.win32 = win32; /***/ }), -/* 418 */ +/* 419 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -39623,18 +39748,18 @@ module.exports.win32 = win32; */ var util = __webpack_require__(29); -var braces = __webpack_require__(419); -var toRegex = __webpack_require__(420); -var extend = __webpack_require__(429); +var braces = __webpack_require__(420); +var toRegex = __webpack_require__(421); +var extend = __webpack_require__(430); /** * Local dependencies */ -var compilers = __webpack_require__(523); -var parsers = __webpack_require__(545); -var cache = __webpack_require__(546); -var utils = __webpack_require__(547); +var compilers = __webpack_require__(524); +var parsers = __webpack_require__(546); +var cache = __webpack_require__(547); +var utils = __webpack_require__(548); var MAX_LENGTH = 1024 * 64; /** @@ -40498,7 +40623,7 @@ module.exports = micromatch; /***/ }), -/* 419 */ +/* 420 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -40508,18 +40633,18 @@ module.exports = micromatch; * Module dependencies */ -var toRegex = __webpack_require__(420); -var unique = __webpack_require__(432); -var extend = __webpack_require__(429); +var toRegex = __webpack_require__(421); +var unique = __webpack_require__(433); +var extend = __webpack_require__(430); /** * Local dependencies */ -var compilers = __webpack_require__(433); -var parsers = __webpack_require__(448); -var Braces = __webpack_require__(458); -var utils = __webpack_require__(434); +var compilers = __webpack_require__(434); +var parsers = __webpack_require__(449); +var Braces = __webpack_require__(459); +var utils = __webpack_require__(435); var MAX_LENGTH = 1024 * 64; var cache = {}; @@ -40823,15 +40948,15 @@ module.exports = braces; /***/ }), -/* 420 */ +/* 421 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var define = __webpack_require__(421); -var extend = __webpack_require__(429); -var not = __webpack_require__(431); +var define = __webpack_require__(422); +var extend = __webpack_require__(430); +var not = __webpack_require__(432); var MAX_LENGTH = 1024 * 64; /** @@ -40978,7 +41103,7 @@ module.exports.makeRe = makeRe; /***/ }), -/* 421 */ +/* 422 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -40991,7 +41116,7 @@ module.exports.makeRe = makeRe; -var isDescriptor = __webpack_require__(422); +var isDescriptor = __webpack_require__(423); module.exports = function defineProperty(obj, prop, val) { if (typeof obj !== 'object' && typeof obj !== 'function') { @@ -41016,7 +41141,7 @@ module.exports = function defineProperty(obj, prop, val) { /***/ }), -/* 422 */ +/* 423 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -41029,9 +41154,9 @@ module.exports = function defineProperty(obj, prop, val) { -var typeOf = __webpack_require__(423); -var isAccessor = __webpack_require__(424); -var isData = __webpack_require__(427); +var typeOf = __webpack_require__(424); +var isAccessor = __webpack_require__(425); +var isData = __webpack_require__(428); module.exports = function isDescriptor(obj, key) { if (typeOf(obj) !== 'object') { @@ -41045,7 +41170,7 @@ module.exports = function isDescriptor(obj, key) { /***/ }), -/* 423 */ +/* 424 */ /***/ (function(module, exports) { var toString = Object.prototype.toString; @@ -41198,7 +41323,7 @@ function isBuffer(val) { /***/ }), -/* 424 */ +/* 425 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -41211,7 +41336,7 @@ function isBuffer(val) { -var typeOf = __webpack_require__(425); +var typeOf = __webpack_require__(426); // accessor descriptor properties var accessor = { @@ -41274,10 +41399,10 @@ module.exports = isAccessorDescriptor; /***/ }), -/* 425 */ +/* 426 */ /***/ (function(module, exports, __webpack_require__) { -var isBuffer = __webpack_require__(426); +var isBuffer = __webpack_require__(427); var toString = Object.prototype.toString; /** @@ -41396,7 +41521,7 @@ module.exports = function kindOf(val) { /***/ }), -/* 426 */ +/* 427 */ /***/ (function(module, exports) { /*! @@ -41423,7 +41548,7 @@ function isSlowBuffer (obj) { /***/ }), -/* 427 */ +/* 428 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -41436,7 +41561,7 @@ function isSlowBuffer (obj) { -var typeOf = __webpack_require__(428); +var typeOf = __webpack_require__(429); // data descriptor properties var data = { @@ -41485,10 +41610,10 @@ module.exports = isDataDescriptor; /***/ }), -/* 428 */ +/* 429 */ /***/ (function(module, exports, __webpack_require__) { -var isBuffer = __webpack_require__(426); +var isBuffer = __webpack_require__(427); var toString = Object.prototype.toString; /** @@ -41607,13 +41732,13 @@ module.exports = function kindOf(val) { /***/ }), -/* 429 */ +/* 430 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isObject = __webpack_require__(430); +var isObject = __webpack_require__(431); module.exports = function extend(o/*, objects*/) { if (!isObject(o)) { o = {}; } @@ -41647,7 +41772,7 @@ function hasOwn(obj, key) { /***/ }), -/* 430 */ +/* 431 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -41667,13 +41792,13 @@ module.exports = function isExtendable(val) { /***/ }), -/* 431 */ +/* 432 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var extend = __webpack_require__(429); +var extend = __webpack_require__(430); /** * The main export is a function that takes a `pattern` string and an `options` object. @@ -41740,7 +41865,7 @@ module.exports = toRegex; /***/ }), -/* 432 */ +/* 433 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -41790,13 +41915,13 @@ module.exports.immutable = function uniqueImmutable(arr) { /***/ }), -/* 433 */ +/* 434 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var utils = __webpack_require__(434); +var utils = __webpack_require__(435); module.exports = function(braces, options) { braces.compiler @@ -42079,25 +42204,25 @@ function hasQueue(node) { /***/ }), -/* 434 */ +/* 435 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var splitString = __webpack_require__(435); +var splitString = __webpack_require__(436); var utils = module.exports; /** * Module dependencies */ -utils.extend = __webpack_require__(429); -utils.flatten = __webpack_require__(441); -utils.isObject = __webpack_require__(439); -utils.fillRange = __webpack_require__(442); -utils.repeat = __webpack_require__(447); -utils.unique = __webpack_require__(432); +utils.extend = __webpack_require__(430); +utils.flatten = __webpack_require__(442); +utils.isObject = __webpack_require__(440); +utils.fillRange = __webpack_require__(443); +utils.repeat = __webpack_require__(448); +utils.unique = __webpack_require__(433); utils.define = function(obj, key, val) { Object.defineProperty(obj, key, { @@ -42429,7 +42554,7 @@ utils.escapeRegex = function(str) { /***/ }), -/* 435 */ +/* 436 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -42442,7 +42567,7 @@ utils.escapeRegex = function(str) { -var extend = __webpack_require__(436); +var extend = __webpack_require__(437); module.exports = function(str, options, fn) { if (typeof str !== 'string') { @@ -42607,14 +42732,14 @@ function keepEscaping(opts, str, idx) { /***/ }), -/* 436 */ +/* 437 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isExtendable = __webpack_require__(437); -var assignSymbols = __webpack_require__(440); +var isExtendable = __webpack_require__(438); +var assignSymbols = __webpack_require__(441); module.exports = Object.assign || function(obj/*, objects*/) { if (obj === null || typeof obj === 'undefined') { @@ -42674,7 +42799,7 @@ function isEnum(obj, key) { /***/ }), -/* 437 */ +/* 438 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -42687,7 +42812,7 @@ function isEnum(obj, key) { -var isPlainObject = __webpack_require__(438); +var isPlainObject = __webpack_require__(439); module.exports = function isExtendable(val) { return isPlainObject(val) || typeof val === 'function' || Array.isArray(val); @@ -42695,7 +42820,7 @@ module.exports = function isExtendable(val) { /***/ }), -/* 438 */ +/* 439 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -42708,7 +42833,7 @@ module.exports = function isExtendable(val) { -var isObject = __webpack_require__(439); +var isObject = __webpack_require__(440); function isObjectObject(o) { return isObject(o) === true @@ -42739,7 +42864,7 @@ module.exports = function isPlainObject(o) { /***/ }), -/* 439 */ +/* 440 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -42758,7 +42883,7 @@ module.exports = function isObject(val) { /***/ }), -/* 440 */ +/* 441 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -42805,7 +42930,7 @@ module.exports = function(receiver, objects) { /***/ }), -/* 441 */ +/* 442 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -42834,7 +42959,7 @@ function flat(arr, res) { /***/ }), -/* 442 */ +/* 443 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -42848,10 +42973,10 @@ function flat(arr, res) { var util = __webpack_require__(29); -var isNumber = __webpack_require__(443); -var extend = __webpack_require__(429); -var repeat = __webpack_require__(445); -var toRegex = __webpack_require__(446); +var isNumber = __webpack_require__(444); +var extend = __webpack_require__(430); +var repeat = __webpack_require__(446); +var toRegex = __webpack_require__(447); /** * Return a range of numbers or letters. @@ -43049,7 +43174,7 @@ module.exports = fillRange; /***/ }), -/* 443 */ +/* 444 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -43062,7 +43187,7 @@ module.exports = fillRange; -var typeOf = __webpack_require__(444); +var typeOf = __webpack_require__(445); module.exports = function isNumber(num) { var type = typeOf(num); @@ -43078,10 +43203,10 @@ module.exports = function isNumber(num) { /***/ }), -/* 444 */ +/* 445 */ /***/ (function(module, exports, __webpack_require__) { -var isBuffer = __webpack_require__(426); +var isBuffer = __webpack_require__(427); var toString = Object.prototype.toString; /** @@ -43200,7 +43325,7 @@ module.exports = function kindOf(val) { /***/ }), -/* 445 */ +/* 446 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -43277,7 +43402,7 @@ function repeat(str, num) { /***/ }), -/* 446 */ +/* 447 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -43290,8 +43415,8 @@ function repeat(str, num) { -var repeat = __webpack_require__(445); -var isNumber = __webpack_require__(443); +var repeat = __webpack_require__(446); +var isNumber = __webpack_require__(444); var cache = {}; function toRegexRange(min, max, options) { @@ -43578,7 +43703,7 @@ module.exports = toRegexRange; /***/ }), -/* 447 */ +/* 448 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -43603,14 +43728,14 @@ module.exports = function repeat(ele, num) { /***/ }), -/* 448 */ +/* 449 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var Node = __webpack_require__(449); -var utils = __webpack_require__(434); +var Node = __webpack_require__(450); +var utils = __webpack_require__(435); /** * Braces parsers @@ -43970,15 +44095,15 @@ function concatNodes(pos, node, parent, options) { /***/ }), -/* 449 */ +/* 450 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isObject = __webpack_require__(439); -var define = __webpack_require__(450); -var utils = __webpack_require__(457); +var isObject = __webpack_require__(440); +var define = __webpack_require__(451); +var utils = __webpack_require__(458); var ownNames; /** @@ -44469,7 +44594,7 @@ exports = module.exports = Node; /***/ }), -/* 450 */ +/* 451 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -44482,7 +44607,7 @@ exports = module.exports = Node; -var isDescriptor = __webpack_require__(451); +var isDescriptor = __webpack_require__(452); module.exports = function defineProperty(obj, prop, val) { if (typeof obj !== 'object' && typeof obj !== 'function') { @@ -44507,7 +44632,7 @@ module.exports = function defineProperty(obj, prop, val) { /***/ }), -/* 451 */ +/* 452 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -44520,9 +44645,9 @@ module.exports = function defineProperty(obj, prop, val) { -var typeOf = __webpack_require__(452); -var isAccessor = __webpack_require__(453); -var isData = __webpack_require__(455); +var typeOf = __webpack_require__(453); +var isAccessor = __webpack_require__(454); +var isData = __webpack_require__(456); module.exports = function isDescriptor(obj, key) { if (typeOf(obj) !== 'object') { @@ -44536,7 +44661,7 @@ module.exports = function isDescriptor(obj, key) { /***/ }), -/* 452 */ +/* 453 */ /***/ (function(module, exports) { var toString = Object.prototype.toString; @@ -44671,7 +44796,7 @@ function isBuffer(val) { /***/ }), -/* 453 */ +/* 454 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -44684,7 +44809,7 @@ function isBuffer(val) { -var typeOf = __webpack_require__(454); +var typeOf = __webpack_require__(455); // accessor descriptor properties var accessor = { @@ -44747,7 +44872,7 @@ module.exports = isAccessorDescriptor; /***/ }), -/* 454 */ +/* 455 */ /***/ (function(module, exports) { var toString = Object.prototype.toString; @@ -44882,7 +45007,7 @@ function isBuffer(val) { /***/ }), -/* 455 */ +/* 456 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -44895,7 +45020,7 @@ function isBuffer(val) { -var typeOf = __webpack_require__(456); +var typeOf = __webpack_require__(457); module.exports = function isDataDescriptor(obj, prop) { // data descriptor properties @@ -44938,7 +45063,7 @@ module.exports = function isDataDescriptor(obj, prop) { /***/ }), -/* 456 */ +/* 457 */ /***/ (function(module, exports) { var toString = Object.prototype.toString; @@ -45073,13 +45198,13 @@ function isBuffer(val) { /***/ }), -/* 457 */ +/* 458 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var typeOf = __webpack_require__(444); +var typeOf = __webpack_require__(445); var utils = module.exports; /** @@ -46099,17 +46224,17 @@ function assert(val, message) { /***/ }), -/* 458 */ +/* 459 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var extend = __webpack_require__(429); -var Snapdragon = __webpack_require__(459); -var compilers = __webpack_require__(433); -var parsers = __webpack_require__(448); -var utils = __webpack_require__(434); +var extend = __webpack_require__(430); +var Snapdragon = __webpack_require__(460); +var compilers = __webpack_require__(434); +var parsers = __webpack_require__(449); +var utils = __webpack_require__(435); /** * Customize Snapdragon parser and renderer @@ -46210,17 +46335,17 @@ module.exports = Braces; /***/ }), -/* 459 */ +/* 460 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var Base = __webpack_require__(460); -var define = __webpack_require__(421); -var Compiler = __webpack_require__(490); -var Parser = __webpack_require__(520); -var utils = __webpack_require__(500); +var Base = __webpack_require__(461); +var define = __webpack_require__(422); +var Compiler = __webpack_require__(491); +var Parser = __webpack_require__(521); +var utils = __webpack_require__(501); var regexCache = {}; var cache = {}; @@ -46391,20 +46516,20 @@ module.exports.Parser = Parser; /***/ }), -/* 460 */ +/* 461 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var util = __webpack_require__(29); -var define = __webpack_require__(461); -var CacheBase = __webpack_require__(462); -var Emitter = __webpack_require__(463); -var isObject = __webpack_require__(439); -var merge = __webpack_require__(481); -var pascal = __webpack_require__(484); -var cu = __webpack_require__(485); +var define = __webpack_require__(462); +var CacheBase = __webpack_require__(463); +var Emitter = __webpack_require__(464); +var isObject = __webpack_require__(440); +var merge = __webpack_require__(482); +var pascal = __webpack_require__(485); +var cu = __webpack_require__(486); /** * Optionally define a custom `cache` namespace to use. @@ -46833,7 +46958,7 @@ module.exports.namespace = namespace; /***/ }), -/* 461 */ +/* 462 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -46846,7 +46971,7 @@ module.exports.namespace = namespace; -var isDescriptor = __webpack_require__(451); +var isDescriptor = __webpack_require__(452); module.exports = function defineProperty(obj, prop, val) { if (typeof obj !== 'object' && typeof obj !== 'function') { @@ -46871,21 +46996,21 @@ module.exports = function defineProperty(obj, prop, val) { /***/ }), -/* 462 */ +/* 463 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isObject = __webpack_require__(439); -var Emitter = __webpack_require__(463); -var visit = __webpack_require__(464); -var toPath = __webpack_require__(467); -var union = __webpack_require__(468); -var del = __webpack_require__(472); -var get = __webpack_require__(470); -var has = __webpack_require__(477); -var set = __webpack_require__(480); +var isObject = __webpack_require__(440); +var Emitter = __webpack_require__(464); +var visit = __webpack_require__(465); +var toPath = __webpack_require__(468); +var union = __webpack_require__(469); +var del = __webpack_require__(473); +var get = __webpack_require__(471); +var has = __webpack_require__(478); +var set = __webpack_require__(481); /** * Create a `Cache` constructor that when instantiated will @@ -47139,7 +47264,7 @@ module.exports.namespace = namespace; /***/ }), -/* 463 */ +/* 464 */ /***/ (function(module, exports, __webpack_require__) { @@ -47308,7 +47433,7 @@ Emitter.prototype.hasListeners = function(event){ /***/ }), -/* 464 */ +/* 465 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -47321,8 +47446,8 @@ Emitter.prototype.hasListeners = function(event){ -var visit = __webpack_require__(465); -var mapVisit = __webpack_require__(466); +var visit = __webpack_require__(466); +var mapVisit = __webpack_require__(467); module.exports = function(collection, method, val) { var result; @@ -47345,7 +47470,7 @@ module.exports = function(collection, method, val) { /***/ }), -/* 465 */ +/* 466 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -47358,7 +47483,7 @@ module.exports = function(collection, method, val) { -var isObject = __webpack_require__(439); +var isObject = __webpack_require__(440); module.exports = function visit(thisArg, method, target, val) { if (!isObject(thisArg) && typeof thisArg !== 'function') { @@ -47385,14 +47510,14 @@ module.exports = function visit(thisArg, method, target, val) { /***/ }), -/* 466 */ +/* 467 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var util = __webpack_require__(29); -var visit = __webpack_require__(465); +var visit = __webpack_require__(466); /** * Map `visit` over an array of objects. @@ -47429,7 +47554,7 @@ function isObject(val) { /***/ }), -/* 467 */ +/* 468 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -47442,7 +47567,7 @@ function isObject(val) { -var typeOf = __webpack_require__(444); +var typeOf = __webpack_require__(445); module.exports = function toPath(args) { if (typeOf(args) !== 'arguments') { @@ -47469,16 +47594,16 @@ function filter(arr) { /***/ }), -/* 468 */ +/* 469 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isObject = __webpack_require__(430); -var union = __webpack_require__(469); -var get = __webpack_require__(470); -var set = __webpack_require__(471); +var isObject = __webpack_require__(431); +var union = __webpack_require__(470); +var get = __webpack_require__(471); +var set = __webpack_require__(472); module.exports = function unionValue(obj, prop, value) { if (!isObject(obj)) { @@ -47506,7 +47631,7 @@ function arrayify(val) { /***/ }), -/* 469 */ +/* 470 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -47542,7 +47667,7 @@ module.exports = function union(init) { /***/ }), -/* 470 */ +/* 471 */ /***/ (function(module, exports) { /*! @@ -47598,7 +47723,7 @@ function toString(val) { /***/ }), -/* 471 */ +/* 472 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -47611,10 +47736,10 @@ function toString(val) { -var toPath = __webpack_require__(467); -var extend = __webpack_require__(429); -var isPlainObject = __webpack_require__(438); -var isObject = __webpack_require__(430); +var toPath = __webpack_require__(468); +var extend = __webpack_require__(430); +var isPlainObject = __webpack_require__(439); +var isObject = __webpack_require__(431); module.exports = function(obj, path, val) { if (!isObject(obj)) { @@ -47668,7 +47793,7 @@ module.exports = function(obj, path, val) { /***/ }), -/* 472 */ +/* 473 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -47681,8 +47806,8 @@ module.exports = function(obj, path, val) { -var isObject = __webpack_require__(439); -var has = __webpack_require__(473); +var isObject = __webpack_require__(440); +var has = __webpack_require__(474); module.exports = function unset(obj, prop) { if (!isObject(obj)) { @@ -47707,7 +47832,7 @@ module.exports = function unset(obj, prop) { /***/ }), -/* 473 */ +/* 474 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -47720,9 +47845,9 @@ module.exports = function unset(obj, prop) { -var isObject = __webpack_require__(474); -var hasValues = __webpack_require__(476); -var get = __webpack_require__(470); +var isObject = __webpack_require__(475); +var hasValues = __webpack_require__(477); +var get = __webpack_require__(471); module.exports = function(obj, prop, noZero) { if (isObject(obj)) { @@ -47733,7 +47858,7 @@ module.exports = function(obj, prop, noZero) { /***/ }), -/* 474 */ +/* 475 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -47746,7 +47871,7 @@ module.exports = function(obj, prop, noZero) { -var isArray = __webpack_require__(475); +var isArray = __webpack_require__(476); module.exports = function isObject(val) { return val != null && typeof val === 'object' && isArray(val) === false; @@ -47754,7 +47879,7 @@ module.exports = function isObject(val) { /***/ }), -/* 475 */ +/* 476 */ /***/ (function(module, exports) { var toString = {}.toString; @@ -47765,7 +47890,7 @@ module.exports = Array.isArray || function (arr) { /***/ }), -/* 476 */ +/* 477 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -47808,7 +47933,7 @@ module.exports = function hasValue(o, noZero) { /***/ }), -/* 477 */ +/* 478 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -47821,9 +47946,9 @@ module.exports = function hasValue(o, noZero) { -var isObject = __webpack_require__(439); -var hasValues = __webpack_require__(478); -var get = __webpack_require__(470); +var isObject = __webpack_require__(440); +var hasValues = __webpack_require__(479); +var get = __webpack_require__(471); module.exports = function(val, prop) { return hasValues(isObject(val) && prop ? get(val, prop) : val); @@ -47831,7 +47956,7 @@ module.exports = function(val, prop) { /***/ }), -/* 478 */ +/* 479 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -47844,8 +47969,8 @@ module.exports = function(val, prop) { -var typeOf = __webpack_require__(479); -var isNumber = __webpack_require__(443); +var typeOf = __webpack_require__(480); +var isNumber = __webpack_require__(444); module.exports = function hasValue(val) { // is-number checks for NaN and other edge cases @@ -47898,10 +48023,10 @@ module.exports = function hasValue(val) { /***/ }), -/* 479 */ +/* 480 */ /***/ (function(module, exports, __webpack_require__) { -var isBuffer = __webpack_require__(426); +var isBuffer = __webpack_require__(427); var toString = Object.prototype.toString; /** @@ -48023,7 +48148,7 @@ module.exports = function kindOf(val) { /***/ }), -/* 480 */ +/* 481 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -48036,10 +48161,10 @@ module.exports = function kindOf(val) { -var split = __webpack_require__(435); -var extend = __webpack_require__(429); -var isPlainObject = __webpack_require__(438); -var isObject = __webpack_require__(430); +var split = __webpack_require__(436); +var extend = __webpack_require__(430); +var isPlainObject = __webpack_require__(439); +var isObject = __webpack_require__(431); module.exports = function(obj, prop, val) { if (!isObject(obj)) { @@ -48081,14 +48206,14 @@ module.exports = function(obj, prop, val) { /***/ }), -/* 481 */ +/* 482 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isExtendable = __webpack_require__(482); -var forIn = __webpack_require__(483); +var isExtendable = __webpack_require__(483); +var forIn = __webpack_require__(484); function mixinDeep(target, objects) { var len = arguments.length, i = 0; @@ -48141,7 +48266,7 @@ module.exports = mixinDeep; /***/ }), -/* 482 */ +/* 483 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -48154,7 +48279,7 @@ module.exports = mixinDeep; -var isPlainObject = __webpack_require__(438); +var isPlainObject = __webpack_require__(439); module.exports = function isExtendable(val) { return isPlainObject(val) || typeof val === 'function' || Array.isArray(val); @@ -48162,7 +48287,7 @@ module.exports = function isExtendable(val) { /***/ }), -/* 483 */ +/* 484 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -48185,7 +48310,7 @@ module.exports = function forIn(obj, fn, thisArg) { /***/ }), -/* 484 */ +/* 485 */ /***/ (function(module, exports) { /*! @@ -48212,14 +48337,14 @@ module.exports = pascalcase; /***/ }), -/* 485 */ +/* 486 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var util = __webpack_require__(29); -var utils = __webpack_require__(486); +var utils = __webpack_require__(487); /** * Expose class utils @@ -48584,7 +48709,7 @@ cu.bubble = function(Parent, events) { /***/ }), -/* 486 */ +/* 487 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -48598,10 +48723,10 @@ var utils = {}; * Lazily required module dependencies */ -utils.union = __webpack_require__(469); -utils.define = __webpack_require__(421); -utils.isObj = __webpack_require__(439); -utils.staticExtend = __webpack_require__(487); +utils.union = __webpack_require__(470); +utils.define = __webpack_require__(422); +utils.isObj = __webpack_require__(440); +utils.staticExtend = __webpack_require__(488); /** @@ -48612,7 +48737,7 @@ module.exports = utils; /***/ }), -/* 487 */ +/* 488 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -48625,8 +48750,8 @@ module.exports = utils; -var copy = __webpack_require__(488); -var define = __webpack_require__(421); +var copy = __webpack_require__(489); +var define = __webpack_require__(422); var util = __webpack_require__(29); /** @@ -48709,15 +48834,15 @@ module.exports = extend; /***/ }), -/* 488 */ +/* 489 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var typeOf = __webpack_require__(444); -var copyDescriptor = __webpack_require__(489); -var define = __webpack_require__(421); +var typeOf = __webpack_require__(445); +var copyDescriptor = __webpack_require__(490); +var define = __webpack_require__(422); /** * Copy static properties, prototype properties, and descriptors from one object to another. @@ -48890,7 +49015,7 @@ module.exports.has = has; /***/ }), -/* 489 */ +/* 490 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -48978,16 +49103,16 @@ function isObject(val) { /***/ }), -/* 490 */ +/* 491 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var use = __webpack_require__(491); -var define = __webpack_require__(421); -var debug = __webpack_require__(493)('snapdragon:compiler'); -var utils = __webpack_require__(500); +var use = __webpack_require__(492); +var define = __webpack_require__(422); +var debug = __webpack_require__(494)('snapdragon:compiler'); +var utils = __webpack_require__(501); /** * Create a new `Compiler` with the given `options`. @@ -49141,7 +49266,7 @@ Compiler.prototype = { // source map support if (opts.sourcemap) { - var sourcemaps = __webpack_require__(519); + var sourcemaps = __webpack_require__(520); sourcemaps(this); this.mapVisit(this.ast.nodes); this.applySourceMaps(); @@ -49162,7 +49287,7 @@ module.exports = Compiler; /***/ }), -/* 491 */ +/* 492 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -49175,7 +49300,7 @@ module.exports = Compiler; -var utils = __webpack_require__(492); +var utils = __webpack_require__(493); module.exports = function base(app, opts) { if (!utils.isObject(app) && typeof app !== 'function') { @@ -49290,7 +49415,7 @@ module.exports = function base(app, opts) { /***/ }), -/* 492 */ +/* 493 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -49304,8 +49429,8 @@ var utils = {}; * Lazily required module dependencies */ -utils.define = __webpack_require__(421); -utils.isObject = __webpack_require__(439); +utils.define = __webpack_require__(422); +utils.isObject = __webpack_require__(440); utils.isString = function(val) { @@ -49320,7 +49445,7 @@ module.exports = utils; /***/ }), -/* 493 */ +/* 494 */ /***/ (function(module, exports, __webpack_require__) { /** @@ -49329,14 +49454,14 @@ module.exports = utils; */ if (typeof process !== 'undefined' && process.type === 'renderer') { - module.exports = __webpack_require__(494); + module.exports = __webpack_require__(495); } else { - module.exports = __webpack_require__(497); + module.exports = __webpack_require__(498); } /***/ }), -/* 494 */ +/* 495 */ /***/ (function(module, exports, __webpack_require__) { /** @@ -49345,7 +49470,7 @@ if (typeof process !== 'undefined' && process.type === 'renderer') { * Expose `debug()` as the module. */ -exports = module.exports = __webpack_require__(495); +exports = module.exports = __webpack_require__(496); exports.log = log; exports.formatArgs = formatArgs; exports.save = save; @@ -49527,7 +49652,7 @@ function localstorage() { /***/ }), -/* 495 */ +/* 496 */ /***/ (function(module, exports, __webpack_require__) { @@ -49543,7 +49668,7 @@ exports.coerce = coerce; exports.disable = disable; exports.enable = enable; exports.enabled = enabled; -exports.humanize = __webpack_require__(496); +exports.humanize = __webpack_require__(497); /** * The currently active debug mode names, and names to skip. @@ -49735,7 +49860,7 @@ function coerce(val) { /***/ }), -/* 496 */ +/* 497 */ /***/ (function(module, exports) { /** @@ -49893,14 +50018,14 @@ function plural(ms, n, name) { /***/ }), -/* 497 */ +/* 498 */ /***/ (function(module, exports, __webpack_require__) { /** * Module dependencies. */ -var tty = __webpack_require__(498); +var tty = __webpack_require__(499); var util = __webpack_require__(29); /** @@ -49909,7 +50034,7 @@ var util = __webpack_require__(29); * Expose `debug()` as the module. */ -exports = module.exports = __webpack_require__(495); +exports = module.exports = __webpack_require__(496); exports.init = init; exports.log = log; exports.formatArgs = formatArgs; @@ -50088,7 +50213,7 @@ function createWritableStdioStream (fd) { case 'PIPE': case 'TCP': - var net = __webpack_require__(499); + var net = __webpack_require__(500); stream = new net.Socket({ fd: fd, readable: false, @@ -50147,19 +50272,19 @@ exports.enable(load()); /***/ }), -/* 498 */ +/* 499 */ /***/ (function(module, exports) { module.exports = require("tty"); /***/ }), -/* 499 */ +/* 500 */ /***/ (function(module, exports) { module.exports = require("net"); /***/ }), -/* 500 */ +/* 501 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -50169,9 +50294,9 @@ module.exports = require("net"); * Module dependencies */ -exports.extend = __webpack_require__(429); -exports.SourceMap = __webpack_require__(501); -exports.sourceMapResolve = __webpack_require__(512); +exports.extend = __webpack_require__(430); +exports.SourceMap = __webpack_require__(502); +exports.sourceMapResolve = __webpack_require__(513); /** * Convert backslash in the given string to forward slashes @@ -50214,7 +50339,7 @@ exports.last = function(arr, n) { /***/ }), -/* 501 */ +/* 502 */ /***/ (function(module, exports, __webpack_require__) { /* @@ -50222,13 +50347,13 @@ exports.last = function(arr, n) { * Licensed under the New BSD license. See LICENSE.txt or: * http://opensource.org/licenses/BSD-3-Clause */ -exports.SourceMapGenerator = __webpack_require__(502).SourceMapGenerator; -exports.SourceMapConsumer = __webpack_require__(508).SourceMapConsumer; -exports.SourceNode = __webpack_require__(511).SourceNode; +exports.SourceMapGenerator = __webpack_require__(503).SourceMapGenerator; +exports.SourceMapConsumer = __webpack_require__(509).SourceMapConsumer; +exports.SourceNode = __webpack_require__(512).SourceNode; /***/ }), -/* 502 */ +/* 503 */ /***/ (function(module, exports, __webpack_require__) { /* -*- Mode: js; js-indent-level: 2; -*- */ @@ -50238,10 +50363,10 @@ exports.SourceNode = __webpack_require__(511).SourceNode; * http://opensource.org/licenses/BSD-3-Clause */ -var base64VLQ = __webpack_require__(503); -var util = __webpack_require__(505); -var ArraySet = __webpack_require__(506).ArraySet; -var MappingList = __webpack_require__(507).MappingList; +var base64VLQ = __webpack_require__(504); +var util = __webpack_require__(506); +var ArraySet = __webpack_require__(507).ArraySet; +var MappingList = __webpack_require__(508).MappingList; /** * An instance of the SourceMapGenerator represents a source map which is @@ -50650,7 +50775,7 @@ exports.SourceMapGenerator = SourceMapGenerator; /***/ }), -/* 503 */ +/* 504 */ /***/ (function(module, exports, __webpack_require__) { /* -*- Mode: js; js-indent-level: 2; -*- */ @@ -50690,7 +50815,7 @@ exports.SourceMapGenerator = SourceMapGenerator; * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -var base64 = __webpack_require__(504); +var base64 = __webpack_require__(505); // A single base 64 digit can contain 6 bits of data. For the base 64 variable // length quantities we use in the source map spec, the first bit is the sign, @@ -50796,7 +50921,7 @@ exports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) { /***/ }), -/* 504 */ +/* 505 */ /***/ (function(module, exports) { /* -*- Mode: js; js-indent-level: 2; -*- */ @@ -50869,7 +50994,7 @@ exports.decode = function (charCode) { /***/ }), -/* 505 */ +/* 506 */ /***/ (function(module, exports) { /* -*- Mode: js; js-indent-level: 2; -*- */ @@ -51292,7 +51417,7 @@ exports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflate /***/ }), -/* 506 */ +/* 507 */ /***/ (function(module, exports, __webpack_require__) { /* -*- Mode: js; js-indent-level: 2; -*- */ @@ -51302,7 +51427,7 @@ exports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflate * http://opensource.org/licenses/BSD-3-Clause */ -var util = __webpack_require__(505); +var util = __webpack_require__(506); var has = Object.prototype.hasOwnProperty; var hasNativeMap = typeof Map !== "undefined"; @@ -51419,7 +51544,7 @@ exports.ArraySet = ArraySet; /***/ }), -/* 507 */ +/* 508 */ /***/ (function(module, exports, __webpack_require__) { /* -*- Mode: js; js-indent-level: 2; -*- */ @@ -51429,7 +51554,7 @@ exports.ArraySet = ArraySet; * http://opensource.org/licenses/BSD-3-Clause */ -var util = __webpack_require__(505); +var util = __webpack_require__(506); /** * Determine whether mappingB is after mappingA with respect to generated @@ -51504,7 +51629,7 @@ exports.MappingList = MappingList; /***/ }), -/* 508 */ +/* 509 */ /***/ (function(module, exports, __webpack_require__) { /* -*- Mode: js; js-indent-level: 2; -*- */ @@ -51514,11 +51639,11 @@ exports.MappingList = MappingList; * http://opensource.org/licenses/BSD-3-Clause */ -var util = __webpack_require__(505); -var binarySearch = __webpack_require__(509); -var ArraySet = __webpack_require__(506).ArraySet; -var base64VLQ = __webpack_require__(503); -var quickSort = __webpack_require__(510).quickSort; +var util = __webpack_require__(506); +var binarySearch = __webpack_require__(510); +var ArraySet = __webpack_require__(507).ArraySet; +var base64VLQ = __webpack_require__(504); +var quickSort = __webpack_require__(511).quickSort; function SourceMapConsumer(aSourceMap) { var sourceMap = aSourceMap; @@ -52592,7 +52717,7 @@ exports.IndexedSourceMapConsumer = IndexedSourceMapConsumer; /***/ }), -/* 509 */ +/* 510 */ /***/ (function(module, exports) { /* -*- Mode: js; js-indent-level: 2; -*- */ @@ -52709,7 +52834,7 @@ exports.search = function search(aNeedle, aHaystack, aCompare, aBias) { /***/ }), -/* 510 */ +/* 511 */ /***/ (function(module, exports) { /* -*- Mode: js; js-indent-level: 2; -*- */ @@ -52829,7 +52954,7 @@ exports.quickSort = function (ary, comparator) { /***/ }), -/* 511 */ +/* 512 */ /***/ (function(module, exports, __webpack_require__) { /* -*- Mode: js; js-indent-level: 2; -*- */ @@ -52839,8 +52964,8 @@ exports.quickSort = function (ary, comparator) { * http://opensource.org/licenses/BSD-3-Clause */ -var SourceMapGenerator = __webpack_require__(502).SourceMapGenerator; -var util = __webpack_require__(505); +var SourceMapGenerator = __webpack_require__(503).SourceMapGenerator; +var util = __webpack_require__(506); // Matches a Windows-style `\r\n` newline or a `\n` newline used by all other // operating systems these days (capturing the result). @@ -53248,17 +53373,17 @@ exports.SourceNode = SourceNode; /***/ }), -/* 512 */ +/* 513 */ /***/ (function(module, exports, __webpack_require__) { // Copyright 2014, 2015, 2016, 2017 Simon Lydell // X11 (“MIT”) Licensed. (See LICENSE.) -var sourceMappingURL = __webpack_require__(513) -var resolveUrl = __webpack_require__(514) -var decodeUriComponent = __webpack_require__(515) -var urix = __webpack_require__(517) -var atob = __webpack_require__(518) +var sourceMappingURL = __webpack_require__(514) +var resolveUrl = __webpack_require__(515) +var decodeUriComponent = __webpack_require__(516) +var urix = __webpack_require__(518) +var atob = __webpack_require__(519) @@ -53556,7 +53681,7 @@ module.exports = { /***/ }), -/* 513 */ +/* 514 */ /***/ (function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;// Copyright 2014 Simon Lydell @@ -53619,13 +53744,13 @@ void (function(root, factory) { /***/ }), -/* 514 */ +/* 515 */ /***/ (function(module, exports, __webpack_require__) { // Copyright 2014 Simon Lydell // X11 (“MIT”) Licensed. (See LICENSE.) -var url = __webpack_require__(81) +var url = __webpack_require__(82) function resolveUrl(/* ...urls */) { return Array.prototype.reduce.call(arguments, function(resolved, nextUrl) { @@ -53637,13 +53762,13 @@ module.exports = resolveUrl /***/ }), -/* 515 */ +/* 516 */ /***/ (function(module, exports, __webpack_require__) { // Copyright 2017 Simon Lydell // X11 (“MIT”) Licensed. (See LICENSE.) -var decodeUriComponent = __webpack_require__(516) +var decodeUriComponent = __webpack_require__(517) function customDecodeUriComponent(string) { // `decodeUriComponent` turns `+` into ` `, but that's not wanted. @@ -53654,7 +53779,7 @@ module.exports = customDecodeUriComponent /***/ }), -/* 516 */ +/* 517 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -53755,7 +53880,7 @@ module.exports = function (encodedURI) { /***/ }), -/* 517 */ +/* 518 */ /***/ (function(module, exports, __webpack_require__) { // Copyright 2014 Simon Lydell @@ -53778,7 +53903,7 @@ module.exports = urix /***/ }), -/* 518 */ +/* 519 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -53792,7 +53917,7 @@ module.exports = atob.atob = atob; /***/ }), -/* 519 */ +/* 520 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -53800,8 +53925,8 @@ module.exports = atob.atob = atob; var fs = __webpack_require__(23); var path = __webpack_require__(16); -var define = __webpack_require__(421); -var utils = __webpack_require__(500); +var define = __webpack_require__(422); +var utils = __webpack_require__(501); /** * Expose `mixin()`. @@ -53944,19 +54069,19 @@ exports.comment = function(node) { /***/ }), -/* 520 */ +/* 521 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var use = __webpack_require__(491); +var use = __webpack_require__(492); var util = __webpack_require__(29); -var Cache = __webpack_require__(521); -var define = __webpack_require__(421); -var debug = __webpack_require__(493)('snapdragon:parser'); -var Position = __webpack_require__(522); -var utils = __webpack_require__(500); +var Cache = __webpack_require__(522); +var define = __webpack_require__(422); +var debug = __webpack_require__(494)('snapdragon:parser'); +var Position = __webpack_require__(523); +var utils = __webpack_require__(501); /** * Create a new `Parser` with the given `input` and `options`. @@ -54484,7 +54609,7 @@ module.exports = Parser; /***/ }), -/* 521 */ +/* 522 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -54591,13 +54716,13 @@ MapCache.prototype.del = function mapDelete(key) { /***/ }), -/* 522 */ +/* 523 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var define = __webpack_require__(421); +var define = __webpack_require__(422); /** * Store position for a node @@ -54612,14 +54737,14 @@ module.exports = function Position(start, parser) { /***/ }), -/* 523 */ +/* 524 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var nanomatch = __webpack_require__(524); -var extglob = __webpack_require__(535); +var nanomatch = __webpack_require__(525); +var extglob = __webpack_require__(536); module.exports = function(snapdragon) { var compilers = snapdragon.compiler.compilers; @@ -54696,7 +54821,7 @@ function escapeExtglobs(compiler) { /***/ }), -/* 524 */ +/* 525 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -54707,17 +54832,17 @@ function escapeExtglobs(compiler) { */ var util = __webpack_require__(29); -var toRegex = __webpack_require__(420); -var extend = __webpack_require__(429); +var toRegex = __webpack_require__(421); +var extend = __webpack_require__(430); /** * Local dependencies */ -var compilers = __webpack_require__(525); -var parsers = __webpack_require__(526); -var cache = __webpack_require__(528); -var utils = __webpack_require__(530); +var compilers = __webpack_require__(526); +var parsers = __webpack_require__(527); +var cache = __webpack_require__(529); +var utils = __webpack_require__(531); var MAX_LENGTH = 1024 * 64; /** @@ -55546,7 +55671,7 @@ module.exports = nanomatch; /***/ }), -/* 525 */ +/* 526 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -55872,15 +55997,15 @@ module.exports = function(nanomatch, options) { /***/ }), -/* 526 */ +/* 527 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var regexNot = __webpack_require__(431); -var toRegex = __webpack_require__(420); -var isOdd = __webpack_require__(527); +var regexNot = __webpack_require__(432); +var toRegex = __webpack_require__(421); +var isOdd = __webpack_require__(528); /** * Characters to use in negation regex (we want to "not" match @@ -56267,7 +56392,7 @@ module.exports.not = NOT_REGEX; /***/ }), -/* 527 */ +/* 528 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -56280,7 +56405,7 @@ module.exports.not = NOT_REGEX; -var isNumber = __webpack_require__(443); +var isNumber = __webpack_require__(444); module.exports = function isOdd(i) { if (!isNumber(i)) { @@ -56294,14 +56419,14 @@ module.exports = function isOdd(i) { /***/ }), -/* 528 */ +/* 529 */ /***/ (function(module, exports, __webpack_require__) { -module.exports = new (__webpack_require__(529))(); +module.exports = new (__webpack_require__(530))(); /***/ }), -/* 529 */ +/* 530 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -56314,7 +56439,7 @@ module.exports = new (__webpack_require__(529))(); -var MapCache = __webpack_require__(521); +var MapCache = __webpack_require__(522); /** * Create a new `FragmentCache` with an optional object to use for `caches`. @@ -56436,7 +56561,7 @@ exports = module.exports = FragmentCache; /***/ }), -/* 530 */ +/* 531 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -56449,13 +56574,13 @@ var path = __webpack_require__(16); * Module dependencies */ -var Snapdragon = __webpack_require__(459); -utils.define = __webpack_require__(531); -utils.diff = __webpack_require__(532); -utils.extend = __webpack_require__(429); -utils.pick = __webpack_require__(533); -utils.typeOf = __webpack_require__(534); -utils.unique = __webpack_require__(432); +var Snapdragon = __webpack_require__(460); +utils.define = __webpack_require__(532); +utils.diff = __webpack_require__(533); +utils.extend = __webpack_require__(430); +utils.pick = __webpack_require__(534); +utils.typeOf = __webpack_require__(535); +utils.unique = __webpack_require__(433); /** * Returns true if the given value is effectively an empty string @@ -56821,7 +56946,7 @@ utils.unixify = function(options) { /***/ }), -/* 531 */ +/* 532 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -56834,7 +56959,7 @@ utils.unixify = function(options) { -var isDescriptor = __webpack_require__(451); +var isDescriptor = __webpack_require__(452); module.exports = function defineProperty(obj, prop, val) { if (typeof obj !== 'object' && typeof obj !== 'function') { @@ -56859,7 +56984,7 @@ module.exports = function defineProperty(obj, prop, val) { /***/ }), -/* 532 */ +/* 533 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -56913,7 +57038,7 @@ function diffArray(one, two) { /***/ }), -/* 533 */ +/* 534 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -56926,7 +57051,7 @@ function diffArray(one, two) { -var isObject = __webpack_require__(439); +var isObject = __webpack_require__(440); module.exports = function pick(obj, keys) { if (!isObject(obj) && typeof obj !== 'function') { @@ -56955,7 +57080,7 @@ module.exports = function pick(obj, keys) { /***/ }), -/* 534 */ +/* 535 */ /***/ (function(module, exports) { var toString = Object.prototype.toString; @@ -57108,7 +57233,7 @@ function isBuffer(val) { /***/ }), -/* 535 */ +/* 536 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -57118,18 +57243,18 @@ function isBuffer(val) { * Module dependencies */ -var extend = __webpack_require__(429); -var unique = __webpack_require__(432); -var toRegex = __webpack_require__(420); +var extend = __webpack_require__(430); +var unique = __webpack_require__(433); +var toRegex = __webpack_require__(421); /** * Local dependencies */ -var compilers = __webpack_require__(536); -var parsers = __webpack_require__(542); -var Extglob = __webpack_require__(544); -var utils = __webpack_require__(543); +var compilers = __webpack_require__(537); +var parsers = __webpack_require__(543); +var Extglob = __webpack_require__(545); +var utils = __webpack_require__(544); var MAX_LENGTH = 1024 * 64; /** @@ -57446,13 +57571,13 @@ module.exports = extglob; /***/ }), -/* 536 */ +/* 537 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var brackets = __webpack_require__(537); +var brackets = __webpack_require__(538); /** * Extglob compilers @@ -57622,7 +57747,7 @@ module.exports = function(extglob) { /***/ }), -/* 537 */ +/* 538 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -57632,17 +57757,17 @@ module.exports = function(extglob) { * Local dependencies */ -var compilers = __webpack_require__(538); -var parsers = __webpack_require__(540); +var compilers = __webpack_require__(539); +var parsers = __webpack_require__(541); /** * Module dependencies */ -var debug = __webpack_require__(493)('expand-brackets'); -var extend = __webpack_require__(429); -var Snapdragon = __webpack_require__(459); -var toRegex = __webpack_require__(420); +var debug = __webpack_require__(494)('expand-brackets'); +var extend = __webpack_require__(430); +var Snapdragon = __webpack_require__(460); +var toRegex = __webpack_require__(421); /** * Parses the given POSIX character class `pattern` and returns a @@ -57840,13 +57965,13 @@ module.exports = brackets; /***/ }), -/* 538 */ +/* 539 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var posix = __webpack_require__(539); +var posix = __webpack_require__(540); module.exports = function(brackets) { brackets.compiler @@ -57934,7 +58059,7 @@ module.exports = function(brackets) { /***/ }), -/* 539 */ +/* 540 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -57963,14 +58088,14 @@ module.exports = { /***/ }), -/* 540 */ +/* 541 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var utils = __webpack_require__(541); -var define = __webpack_require__(421); +var utils = __webpack_require__(542); +var define = __webpack_require__(422); /** * Text regex @@ -58189,14 +58314,14 @@ module.exports.TEXT_REGEX = TEXT_REGEX; /***/ }), -/* 541 */ +/* 542 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var toRegex = __webpack_require__(420); -var regexNot = __webpack_require__(431); +var toRegex = __webpack_require__(421); +var regexNot = __webpack_require__(432); var cached; /** @@ -58230,15 +58355,15 @@ exports.createRegex = function(pattern, include) { /***/ }), -/* 542 */ +/* 543 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var brackets = __webpack_require__(537); -var define = __webpack_require__(531); -var utils = __webpack_require__(543); +var brackets = __webpack_require__(538); +var define = __webpack_require__(532); +var utils = __webpack_require__(544); /** * Characters to use in text regex (we want to "not" match @@ -58393,14 +58518,14 @@ module.exports = parsers; /***/ }), -/* 543 */ +/* 544 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var regex = __webpack_require__(431); -var Cache = __webpack_require__(529); +var regex = __webpack_require__(432); +var Cache = __webpack_require__(530); /** * Utils @@ -58469,7 +58594,7 @@ utils.createRegex = function(str) { /***/ }), -/* 544 */ +/* 545 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -58479,16 +58604,16 @@ utils.createRegex = function(str) { * Module dependencies */ -var Snapdragon = __webpack_require__(459); -var define = __webpack_require__(531); -var extend = __webpack_require__(429); +var Snapdragon = __webpack_require__(460); +var define = __webpack_require__(532); +var extend = __webpack_require__(430); /** * Local dependencies */ -var compilers = __webpack_require__(536); -var parsers = __webpack_require__(542); +var compilers = __webpack_require__(537); +var parsers = __webpack_require__(543); /** * Customize Snapdragon parser and renderer @@ -58554,16 +58679,16 @@ module.exports = Extglob; /***/ }), -/* 545 */ +/* 546 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var extglob = __webpack_require__(535); -var nanomatch = __webpack_require__(524); -var regexNot = __webpack_require__(431); -var toRegex = __webpack_require__(420); +var extglob = __webpack_require__(536); +var nanomatch = __webpack_require__(525); +var regexNot = __webpack_require__(432); +var toRegex = __webpack_require__(421); var not; /** @@ -58644,14 +58769,14 @@ function textRegex(pattern) { /***/ }), -/* 546 */ +/* 547 */ /***/ (function(module, exports, __webpack_require__) { -module.exports = new (__webpack_require__(529))(); +module.exports = new (__webpack_require__(530))(); /***/ }), -/* 547 */ +/* 548 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -58664,13 +58789,13 @@ var path = __webpack_require__(16); * Module dependencies */ -var Snapdragon = __webpack_require__(459); -utils.define = __webpack_require__(531); -utils.diff = __webpack_require__(532); -utils.extend = __webpack_require__(429); -utils.pick = __webpack_require__(533); -utils.typeOf = __webpack_require__(548); -utils.unique = __webpack_require__(432); +var Snapdragon = __webpack_require__(460); +utils.define = __webpack_require__(532); +utils.diff = __webpack_require__(533); +utils.extend = __webpack_require__(430); +utils.pick = __webpack_require__(534); +utils.typeOf = __webpack_require__(549); +utils.unique = __webpack_require__(433); /** * Returns true if the platform is windows, or `path.sep` is `\\`. @@ -58967,7 +59092,7 @@ utils.unixify = function(options) { /***/ }), -/* 548 */ +/* 549 */ /***/ (function(module, exports) { var toString = Object.prototype.toString; @@ -59102,7 +59227,7 @@ function isBuffer(val) { /***/ }), -/* 549 */ +/* 550 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -59118,8 +59243,8 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -var readdir = __webpack_require__(550); -var reader_1 = __webpack_require__(563); +var readdir = __webpack_require__(551); +var reader_1 = __webpack_require__(564); var ReaderAsync = /** @class */ (function (_super) { __extends(ReaderAsync, _super); function ReaderAsync() { @@ -59155,15 +59280,15 @@ exports.default = ReaderAsync; /***/ }), -/* 550 */ +/* 551 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const readdirSync = __webpack_require__(551); -const readdirAsync = __webpack_require__(559); -const readdirStream = __webpack_require__(562); +const readdirSync = __webpack_require__(552); +const readdirAsync = __webpack_require__(560); +const readdirStream = __webpack_require__(563); module.exports = exports = readdirAsyncPath; exports.readdir = exports.readdirAsync = exports.async = readdirAsyncPath; @@ -59247,7 +59372,7 @@ function readdirStreamStat (dir, options) { /***/ }), -/* 551 */ +/* 552 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -59255,11 +59380,11 @@ function readdirStreamStat (dir, options) { module.exports = readdirSync; -const DirectoryReader = __webpack_require__(552); +const DirectoryReader = __webpack_require__(553); let syncFacade = { - fs: __webpack_require__(557), - forEach: __webpack_require__(558), + fs: __webpack_require__(558), + forEach: __webpack_require__(559), sync: true }; @@ -59288,18 +59413,18 @@ function readdirSync (dir, options, internalOptions) { /***/ }), -/* 552 */ +/* 553 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const Readable = __webpack_require__(28).Readable; -const EventEmitter = __webpack_require__(45).EventEmitter; +const EventEmitter = __webpack_require__(46).EventEmitter; const path = __webpack_require__(16); -const normalizeOptions = __webpack_require__(553); -const stat = __webpack_require__(555); -const call = __webpack_require__(556); +const normalizeOptions = __webpack_require__(554); +const stat = __webpack_require__(556); +const call = __webpack_require__(557); /** * Asynchronously reads the contents of a directory and streams the results @@ -59675,14 +59800,14 @@ module.exports = DirectoryReader; /***/ }), -/* 553 */ +/* 554 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const path = __webpack_require__(16); -const globToRegExp = __webpack_require__(554); +const globToRegExp = __webpack_require__(555); module.exports = normalizeOptions; @@ -59859,7 +59984,7 @@ function normalizeOptions (options, internalOptions) { /***/ }), -/* 554 */ +/* 555 */ /***/ (function(module, exports) { module.exports = function (glob, opts) { @@ -59996,13 +60121,13 @@ module.exports = function (glob, opts) { /***/ }), -/* 555 */ +/* 556 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const call = __webpack_require__(556); +const call = __webpack_require__(557); module.exports = stat; @@ -60077,7 +60202,7 @@ function symlinkStat (fs, path, lstats, callback) { /***/ }), -/* 556 */ +/* 557 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -60138,14 +60263,14 @@ function callOnce (fn) { /***/ }), -/* 557 */ +/* 558 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const fs = __webpack_require__(23); -const call = __webpack_require__(556); +const call = __webpack_require__(557); /** * A facade around {@link fs.readdirSync} that allows it to be called @@ -60209,7 +60334,7 @@ exports.lstat = function (path, callback) { /***/ }), -/* 558 */ +/* 559 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -60238,7 +60363,7 @@ function syncForEach (array, iterator, done) { /***/ }), -/* 559 */ +/* 560 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -60246,12 +60371,12 @@ function syncForEach (array, iterator, done) { module.exports = readdirAsync; -const maybe = __webpack_require__(560); -const DirectoryReader = __webpack_require__(552); +const maybe = __webpack_require__(561); +const DirectoryReader = __webpack_require__(553); let asyncFacade = { fs: __webpack_require__(23), - forEach: __webpack_require__(561), + forEach: __webpack_require__(562), async: true }; @@ -60293,7 +60418,7 @@ function readdirAsync (dir, options, callback, internalOptions) { /***/ }), -/* 560 */ +/* 561 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -60320,7 +60445,7 @@ module.exports = function maybe (cb, promise) { /***/ }), -/* 561 */ +/* 562 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -60356,7 +60481,7 @@ function asyncForEach (array, iterator, done) { /***/ }), -/* 562 */ +/* 563 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -60364,11 +60489,11 @@ function asyncForEach (array, iterator, done) { module.exports = readdirStream; -const DirectoryReader = __webpack_require__(552); +const DirectoryReader = __webpack_require__(553); let streamFacade = { fs: __webpack_require__(23), - forEach: __webpack_require__(561), + forEach: __webpack_require__(562), async: true }; @@ -60388,15 +60513,15 @@ function readdirStream (dir, options, internalOptions) { /***/ }), -/* 563 */ +/* 564 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var path = __webpack_require__(16); -var deep_1 = __webpack_require__(564); -var entry_1 = __webpack_require__(567); +var deep_1 = __webpack_require__(565); +var entry_1 = __webpack_require__(568); var Reader = /** @class */ (function () { function Reader(options) { this.options = options; @@ -60462,15 +60587,15 @@ exports.default = Reader; /***/ }), -/* 564 */ +/* 565 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var arrayUtils = __webpack_require__(565); -var pathUtils = __webpack_require__(566); -var patternUtils = __webpack_require__(413); +var arrayUtils = __webpack_require__(566); +var pathUtils = __webpack_require__(567); +var patternUtils = __webpack_require__(414); var DeepFilter = /** @class */ (function () { function DeepFilter(options, micromatchOptions) { this.options = options; @@ -60545,7 +60670,7 @@ exports.default = DeepFilter; /***/ }), -/* 565 */ +/* 566 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -60568,7 +60693,7 @@ exports.max = max; /***/ }), -/* 566 */ +/* 567 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -60586,13 +60711,13 @@ exports.isDotDirectory = isDotDirectory; /***/ }), -/* 567 */ +/* 568 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var patternUtils = __webpack_require__(413); +var patternUtils = __webpack_require__(414); var DeepFilter = /** @class */ (function () { function DeepFilter(options, micromatchOptions) { this.options = options; @@ -60664,7 +60789,7 @@ exports.default = DeepFilter; /***/ }), -/* 568 */ +/* 569 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -60681,8 +60806,8 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", { value: true }); var stream = __webpack_require__(28); -var readdir = __webpack_require__(550); -var reader_1 = __webpack_require__(563); +var readdir = __webpack_require__(551); +var reader_1 = __webpack_require__(564); var TransformStream = /** @class */ (function (_super) { __extends(TransformStream, _super); function TransformStream(reader) { @@ -60725,7 +60850,7 @@ exports.default = ReaderStream; /***/ }), -/* 569 */ +/* 570 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -60741,8 +60866,8 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -var readdir = __webpack_require__(550); -var reader_1 = __webpack_require__(563); +var readdir = __webpack_require__(551); +var reader_1 = __webpack_require__(564); var ReaderSync = /** @class */ (function (_super) { __extends(ReaderSync, _super); function ReaderSync() { @@ -60777,14 +60902,14 @@ exports.default = ReaderSync; /***/ }), -/* 570 */ +/* 571 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const path = __webpack_require__(16); -const arrify = __webpack_require__(405); -const pathType = __webpack_require__(571); +const arrify = __webpack_require__(406); +const pathType = __webpack_require__(572); const getExtensions = extensions => extensions.length > 1 ? `{${extensions.join(',')}}` : extensions[0]; const getPath = filepath => filepath[0] === '!' ? filepath.slice(1) : filepath; @@ -60832,13 +60957,13 @@ module.exports.sync = (input, opts) => { /***/ }), -/* 571 */ +/* 572 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const fs = __webpack_require__(23); -const pify = __webpack_require__(572); +const pify = __webpack_require__(573); function type(fn, fn2, fp) { if (typeof fp !== 'string') { @@ -60881,7 +61006,7 @@ exports.symlinkSync = typeSync.bind(null, 'lstatSync', 'isSymbolicLink'); /***/ }), -/* 572 */ +/* 573 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -60972,17 +61097,17 @@ module.exports = (obj, opts) => { /***/ }), -/* 573 */ +/* 574 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const fs = __webpack_require__(23); const path = __webpack_require__(16); -const fastGlob = __webpack_require__(407); -const gitIgnore = __webpack_require__(574); -const pify = __webpack_require__(575); -const slash = __webpack_require__(576); +const fastGlob = __webpack_require__(408); +const gitIgnore = __webpack_require__(575); +const pify = __webpack_require__(576); +const slash = __webpack_require__(577); const DEFAULT_IGNORE = [ '**/node_modules/**', @@ -61074,7 +61199,7 @@ module.exports.sync = o => { /***/ }), -/* 574 */ +/* 575 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -61506,7 +61631,7 @@ typeof process !== 'undefined' && (process.env && process.env.IGNORE_TEST_WIN32 /***/ }), -/* 575 */ +/* 576 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -61597,7 +61722,7 @@ module.exports = (obj, opts) => { /***/ }), -/* 576 */ +/* 577 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -61615,17 +61740,17 @@ module.exports = function (str) { /***/ }), -/* 577 */ +/* 578 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const path = __webpack_require__(16); const fsConstants = __webpack_require__(23).constants; -const {Buffer} = __webpack_require__(578); -const CpFileError = __webpack_require__(580); -const fs = __webpack_require__(582); -const ProgressEmitter = __webpack_require__(586); +const {Buffer} = __webpack_require__(579); +const CpFileError = __webpack_require__(581); +const fs = __webpack_require__(583); +const ProgressEmitter = __webpack_require__(587); module.exports = (src, dest, opts) => { if (!src || !dest) { @@ -61775,11 +61900,11 @@ module.exports.sync = (src, dest, opts) => { /***/ }), -/* 578 */ +/* 579 */ /***/ (function(module, exports, __webpack_require__) { /* eslint-disable node/no-deprecated-api */ -var buffer = __webpack_require__(579) +var buffer = __webpack_require__(580) var Buffer = buffer.Buffer // alternative to using Object.keys for old browsers @@ -61843,18 +61968,18 @@ SafeBuffer.allocUnsafeSlow = function (size) { /***/ }), -/* 579 */ +/* 580 */ /***/ (function(module, exports) { module.exports = require("buffer"); /***/ }), -/* 580 */ +/* 581 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const NestedError = __webpack_require__(581); +const NestedError = __webpack_require__(582); class CpFileError extends NestedError { constructor(message, nested) { @@ -61868,10 +61993,10 @@ module.exports = CpFileError; /***/ }), -/* 581 */ +/* 582 */ /***/ (function(module, exports, __webpack_require__) { -var inherits = __webpack_require__(43); +var inherits = __webpack_require__(44); var NestedError = function (message, nested) { this.nested = nested; @@ -61922,15 +62047,15 @@ module.exports = NestedError; /***/ }), -/* 582 */ +/* 583 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const fs = __webpack_require__(22); -const makeDir = __webpack_require__(583); -const pify = __webpack_require__(585); -const CpFileError = __webpack_require__(580); +const makeDir = __webpack_require__(584); +const pify = __webpack_require__(586); +const CpFileError = __webpack_require__(581); const fsP = pify(fs); @@ -62075,14 +62200,14 @@ if (fs.copyFileSync) { /***/ }), -/* 583 */ +/* 584 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const fs = __webpack_require__(23); const path = __webpack_require__(16); -const pify = __webpack_require__(584); +const pify = __webpack_require__(585); const defaults = { mode: 0o777 & (~process.umask()), @@ -62167,7 +62292,7 @@ module.exports.sync = (input, opts) => { /***/ }), -/* 584 */ +/* 585 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -62258,7 +62383,7 @@ module.exports = (obj, opts) => { /***/ }), -/* 585 */ +/* 586 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -62349,12 +62474,12 @@ module.exports = (obj, opts) => { /***/ }), -/* 586 */ +/* 587 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const EventEmitter = __webpack_require__(45); +const EventEmitter = __webpack_require__(46); const written = new WeakMap(); @@ -62390,12 +62515,12 @@ module.exports = ProgressEmitter; /***/ }), -/* 587 */ +/* 588 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const NestedError = __webpack_require__(581); +const NestedError = __webpack_require__(582); class CpyError extends NestedError { constructor(message, nested) { @@ -62409,14 +62534,14 @@ module.exports = CpyError; /***/ }), -/* 588 */ +/* 589 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "prepareExternalProjectDependencies", function() { return prepareExternalProjectDependencies; }); -/* harmony import */ var _utils_package_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(54); -/* harmony import */ var _utils_project__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(53); +/* harmony import */ var _utils_package_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(55); +/* harmony import */ var _utils_project__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(54); /* * Licensed to Elasticsearch B.V. under one or more contributor * license agreements. See the NOTICE file distributed with diff --git a/packages/kbn-pm/package.json b/packages/kbn-pm/package.json index 9795da0e1c6ae..9223f144a6f58 100644 --- a/packages/kbn-pm/package.json +++ b/packages/kbn-pm/package.json @@ -38,7 +38,7 @@ "@types/write-pkg": "^3.1.0", "babel-loader": "^8.0.6", "chalk": "^2.4.2", - "cmd-shim": "^2.0.2", + "cmd-shim": "^2.1.0", "cpy": "^7.0.1", "dedent": "^0.7.0", "del": "^4.0.0", diff --git a/renovate.json5 b/renovate.json5 index 75b044252c83d..7798909bd3f41 100644 --- a/renovate.json5 +++ b/renovate.json5 @@ -23,14 +23,14 @@ 'release_note:skip', 'renovate', 'v8.0.0', - 'v7.4.0', + 'v7.5.0', ], major: { labels: [ 'release_note:skip', 'renovate', 'v8.0.0', - 'v7.4.0', + 'v7.5.0', 'renovate:major', ], }, @@ -210,7 +210,7 @@ 'release_note:skip', 'renovate', 'v8.0.0', - 'v7.4.0', + 'v7.5.0', ':ml', ], }, diff --git a/src/core/utils/poller.test.ts b/src/core/utils/poller.test.ts new file mode 100644 index 0000000000000..85eb7da06c182 --- /dev/null +++ b/src/core/utils/poller.test.ts @@ -0,0 +1,70 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { Poller } from './poller'; + +const delay = (duration: number) => new Promise(r => setTimeout(r, duration)); + +describe('Poller', () => { + let handler: jest.Mock; + let poller: Poller; + + beforeEach(() => { + handler = jest.fn().mockImplementation((iteration: number) => `polling-${iteration}`); + poller = new Poller(100, 'polling', handler); + }); + + afterEach(() => { + poller.unsubscribe(); + }); + + it('returns an observable of subject', async () => { + await delay(300); + expect(poller.subject$.getValue()).toBe('polling-2'); + }); + + it('executes a function on an interval', async () => { + await delay(300); + expect(handler).toBeCalledTimes(3); + }); + + it('no longer polls after unsubscribing', async () => { + await delay(300); + poller.unsubscribe(); + await delay(300); + expect(handler).toBeCalledTimes(3); + }); + + it('does not add next value if returns undefined', async () => { + const values: any[] = []; + const polling = new Poller(100, 'polling', iteration => { + if (iteration % 2 === 0) { + return `polling-${iteration}`; + } + }); + + polling.subject$.subscribe(value => { + values.push(value); + }); + await delay(300); + polling.unsubscribe(); + + expect(values).toEqual(['polling', 'polling-0', 'polling-2']); + }); +}); diff --git a/src/core/utils/poller.ts b/src/core/utils/poller.ts new file mode 100644 index 0000000000000..7c50db74bcefb --- /dev/null +++ b/src/core/utils/poller.ts @@ -0,0 +1,55 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { BehaviorSubject, timer } from 'rxjs'; + +/** + * Create an Observable BehaviorSubject to invoke a function on an interval + * which returns the next value for the observable. + * @public + */ +export class Poller { + /** + * The observable to observe for changes to the poller value. + */ + public readonly subject$ = new BehaviorSubject(this.initialValue); + private poller$ = timer(0, this.frequency); + private subscription = this.poller$.subscribe(async iteration => { + const next = await this.handler(iteration); + + if (next !== undefined) { + this.subject$.next(next); + } + + return iteration; + }); + + constructor( + private frequency: number, + private initialValue: T, + private handler: (iteration: number) => Promise | T | undefined + ) {} + + /** + * Permanently end the polling operation. + */ + unsubscribe() { + return this.subscription.unsubscribe(); + } +} diff --git a/src/dev/renovate/config.ts b/src/dev/renovate/config.ts index fb4a9f162924b..a86c080f52710 100644 --- a/src/dev/renovate/config.ts +++ b/src/dev/renovate/config.ts @@ -21,7 +21,7 @@ import { RENOVATE_PACKAGE_GROUPS } from './package_groups'; import { PACKAGE_GLOBS } from './package_globs'; import { wordRegExp, maybeFlatMap, maybeMap, getTypePackageName } from './utils'; -const DEFAULT_LABELS = ['release_note:skip', 'renovate', 'v8.0.0', 'v7.4.0']; +const DEFAULT_LABELS = ['release_note:skip', 'renovate', 'v8.0.0', 'v7.5.0']; export const RENOVATE_CONFIG = { extends: ['config:base'], diff --git a/src/legacy/core_plugins/kibana/public/context/api/__tests__/anchor.js b/src/legacy/core_plugins/kibana/public/context/api/__tests__/anchor.js index 776b2db9d659d..582de1c8fa74c 100644 --- a/src/legacy/core_plugins/kibana/public/context/api/__tests__/anchor.js +++ b/src/legacy/core_plugins/kibana/public/context/api/__tests__/anchor.js @@ -68,7 +68,7 @@ describe('context app', function () { it('should use the `fetch` method of the SearchSource', function () { const searchSourceStub = new SearchSourceStub(); - return fetchAnchor('INDEX_PATTERN_ID', 'doc', 'id', [{ '@timestamp': 'desc' }, { '_doc': 'desc' }]) + return fetchAnchor('INDEX_PATTERN_ID', 'id', [{ '@timestamp': 'desc' }, { '_doc': 'desc' }]) .then(() => { expect(searchSourceStub.fetch.calledOnce).to.be(true); }); @@ -77,7 +77,7 @@ describe('context app', function () { it('should configure the SearchSource to not inherit from the implicit root', function () { const searchSourceStub = new SearchSourceStub(); - return fetchAnchor('INDEX_PATTERN_ID', 'doc', 'id', [{ '@timestamp': 'desc' }, { '_doc': 'desc' }]) + return fetchAnchor('INDEX_PATTERN_ID', 'id', [{ '@timestamp': 'desc' }, { '_doc': 'desc' }]) .then(() => { const setParentSpy = searchSourceStub.setParent; expect(setParentSpy.calledOnce).to.be(true); @@ -88,7 +88,7 @@ describe('context app', function () { it('should set the SearchSource index pattern', function () { const searchSourceStub = new SearchSourceStub(); - return fetchAnchor('INDEX_PATTERN_ID', 'doc', 'id', [{ '@timestamp': 'desc' }, { '_doc': 'desc' }]) + return fetchAnchor('INDEX_PATTERN_ID', 'id', [{ '@timestamp': 'desc' }, { '_doc': 'desc' }]) .then(() => { const setFieldSpy = searchSourceStub.setField; expect(setFieldSpy.firstCall.args[1].id).to.eql('INDEX_PATTERN_ID'); @@ -98,7 +98,7 @@ describe('context app', function () { it('should set the SearchSource version flag to true', function () { const searchSourceStub = new SearchSourceStub(); - return fetchAnchor('INDEX_PATTERN_ID', 'doc', 'id', [{ '@timestamp': 'desc' }, { '_doc': 'desc' }]) + return fetchAnchor('INDEX_PATTERN_ID', 'id', [{ '@timestamp': 'desc' }, { '_doc': 'desc' }]) .then(() => { const setVersionSpy = searchSourceStub.setField.withArgs('version'); expect(setVersionSpy.calledOnce).to.be(true); @@ -109,7 +109,7 @@ describe('context app', function () { it('should set the SearchSource size to 1', function () { const searchSourceStub = new SearchSourceStub(); - return fetchAnchor('INDEX_PATTERN_ID', 'doc', 'id', [{ '@timestamp': 'desc' }, { '_doc': 'desc' }]) + return fetchAnchor('INDEX_PATTERN_ID', 'id', [{ '@timestamp': 'desc' }, { '_doc': 'desc' }]) .then(() => { const setSizeSpy = searchSourceStub.setField.withArgs('size'); expect(setSizeSpy.calledOnce).to.be(true); @@ -120,7 +120,7 @@ describe('context app', function () { it('should set the SearchSource query to an ids query', function () { const searchSourceStub = new SearchSourceStub(); - return fetchAnchor('INDEX_PATTERN_ID', 'doc', 'id', [{ '@timestamp': 'desc' }, { '_doc': 'desc' }]) + return fetchAnchor('INDEX_PATTERN_ID', 'id', [{ '@timestamp': 'desc' }, { '_doc': 'desc' }]) .then(() => { const setQuerySpy = searchSourceStub.setField.withArgs('query'); expect(setQuerySpy.calledOnce).to.be(true); @@ -142,7 +142,7 @@ describe('context app', function () { it('should set the SearchSource sort order', function () { const searchSourceStub = new SearchSourceStub(); - return fetchAnchor('INDEX_PATTERN_ID', 'doc', 'id', [{ '@timestamp': 'desc' }, { '_doc': 'desc' }]) + return fetchAnchor('INDEX_PATTERN_ID', 'id', [{ '@timestamp': 'desc' }, { '_doc': 'desc' }]) .then(() => { const setSortSpy = searchSourceStub.setField.withArgs('sort'); expect(setSortSpy.calledOnce).to.be(true); @@ -157,7 +157,7 @@ describe('context app', function () { const searchSourceStub = new SearchSourceStub(); searchSourceStub._stubHits = []; - return fetchAnchor('INDEX_PATTERN_ID', 'doc', 'id', [{ '@timestamp': 'desc' }, { '_doc': 'desc' }]) + return fetchAnchor('INDEX_PATTERN_ID', 'id', [{ '@timestamp': 'desc' }, { '_doc': 'desc' }]) .then( () => { expect().fail('expected the promise to be rejected'); @@ -175,7 +175,7 @@ describe('context app', function () { { property2: 'value2' }, ]; - return fetchAnchor('INDEX_PATTERN_ID', 'doc', 'id', [{ '@timestamp': 'desc' }, { '_doc': 'desc' }]) + return fetchAnchor('INDEX_PATTERN_ID', 'id', [{ '@timestamp': 'desc' }, { '_doc': 'desc' }]) .then((anchorDocument) => { expect(anchorDocument).to.have.property('property1', 'value1'); expect(anchorDocument).to.have.property('$$_isAnchor', true); diff --git a/src/legacy/core_plugins/kibana/public/context/api/anchor.js b/src/legacy/core_plugins/kibana/public/context/api/anchor.js index e4fe17290f1eb..bab75e14e8ed3 100644 --- a/src/legacy/core_plugins/kibana/public/context/api/anchor.js +++ b/src/legacy/core_plugins/kibana/public/context/api/anchor.js @@ -28,7 +28,6 @@ export function fetchAnchorProvider(indexPatterns, Private) { return async function fetchAnchor( indexPatternId, - anchorType, anchorId, sort ) { diff --git a/src/legacy/core_plugins/kibana/public/context/app.js b/src/legacy/core_plugins/kibana/public/context/app.js index 8a7de39d402c7..346d51398e8ab 100644 --- a/src/legacy/core_plugins/kibana/public/context/app.js +++ b/src/legacy/core_plugins/kibana/public/context/app.js @@ -55,7 +55,6 @@ module.directive('contextApp', function ContextApp() { controllerAs: 'contextApp', restrict: 'E', scope: { - anchorType: '=', anchorId: '=', columns: '=', indexPattern: '=', @@ -110,7 +109,6 @@ function ContextAppController($scope, config, Private) { const { queryParameters } = this.state; if ( (newQueryParameters.indexPatternId !== queryParameters.indexPatternId) - || (newQueryParameters.anchorType !== queryParameters.anchorType) || (newQueryParameters.anchorId !== queryParameters.anchorId) || (!_.isEqual(newQueryParameters.sort, queryParameters.sort)) ) { diff --git a/src/legacy/core_plugins/kibana/public/context/index.html b/src/legacy/core_plugins/kibana/public/context/index.html index 231457ecae4e2..1c870f56a1118 100644 --- a/src/legacy/core_plugins/kibana/public/context/index.html +++ b/src/legacy/core_plugins/kibana/public/context/index.html @@ -1,5 +1,4 @@ { + const { indexPattern } = $route.current.locals; + const { id } = $route.current.params; + + return [ + ...getRootBreadcrumbs(), + { + text: i18n.translate('kbn.context.breadcrumb', { + defaultMessage: 'Context of {indexPatternTitle}#{docId}', + values: { + indexPatternTitle: indexPattern.title, + docId: id, + }, + }), + }, + ]; +}; + + uiRoutes + // deprecated route, kept for compatibility + // should be removed in the future .when('/context/:indexPatternId/:type/:id*', { + redirectTo: '/context/:indexPatternId/:id' + }) + .when('/context/:indexPatternId/:id*', { controller: ContextAppRouteController, - k7Breadcrumbs($route) { - const { indexPattern } = $route.current.locals; - const { id } = $route.current.params; - - return [ - ...getRootBreadcrumbs(), - { - text: i18n.translate('kbn.context.breadcrumb', { - defaultMessage: 'Context of {indexPatternTitle}#{docId}', - values: { - indexPatternTitle: indexPattern.title, - docId: id - } - }) - } - ]; - }, + k7Breadcrumbs, controllerAs: 'contextAppRoute', resolve: { indexPattern: function ($route, indexPatterns) { @@ -58,37 +66,30 @@ uiRoutes template: contextAppRouteTemplate, }); - -function ContextAppRouteController( - $routeParams, - $scope, - AppState, - config, - indexPattern, - Private, -) { +function ContextAppRouteController($routeParams, $scope, AppState, config, indexPattern, Private) { const queryFilter = Private(FilterBarQueryFilterProvider); this.state = new AppState(createDefaultAppState(config, indexPattern)); this.state.save(true); - $scope.$watchGroup([ - 'contextAppRoute.state.columns', - 'contextAppRoute.state.predecessorCount', - 'contextAppRoute.state.successorCount', - ], () => this.state.save(true)); + $scope.$watchGroup( + [ + 'contextAppRoute.state.columns', + 'contextAppRoute.state.predecessorCount', + 'contextAppRoute.state.successorCount', + ], + () => this.state.save(true) + ); const updateSubsciption = subscribeWithScope($scope, queryFilter.getUpdates$(), { next: () => { this.filters = _.cloneDeep(queryFilter.getFilters()); - } + }, }); $scope.$on('$destroy', function () { updateSubsciption.unsubscribe(); }); - - this.anchorType = $routeParams.type; this.anchorId = $routeParams.id; this.indexPattern = indexPattern; this.discoverUrl = npStart.core.chrome.navLinks.get('kibana:discover').url; diff --git a/src/legacy/core_plugins/kibana/public/context/query/actions.js b/src/legacy/core_plugins/kibana/public/context/query/actions.js index 142226e5aa98c..10a4812f85f4f 100644 --- a/src/legacy/core_plugins/kibana/public/context/query/actions.js +++ b/src/legacy/core_plugins/kibana/public/context/query/actions.js @@ -60,7 +60,7 @@ export function QueryActionsProvider(Private, Promise) { ); const fetchAnchorRow = (state) => () => { - const { queryParameters: { indexPatternId, anchorType, anchorId, sort, tieBreakerField } } = state; + const { queryParameters: { indexPatternId, anchorId, sort, tieBreakerField } } = state; if (!tieBreakerField) { return Promise.reject(setFailedStatus(state)('anchor', { @@ -71,7 +71,7 @@ export function QueryActionsProvider(Private, Promise) { setLoadingStatus(state)('anchor'); return Promise.try(() => ( - fetchAnchor(indexPatternId, anchorType, anchorId, [_.zipObject([sort]), { [tieBreakerField]: sort[1] }]) + fetchAnchor(indexPatternId, anchorId, [_.zipObject([sort]), { [tieBreakerField]: sort[1] }]) )) .then( (anchorDocument) => { diff --git a/src/legacy/core_plugins/kibana/public/context/query_parameters/__tests__/action_set_query_parameters.js b/src/legacy/core_plugins/kibana/public/context/query_parameters/__tests__/action_set_query_parameters.js index c64a1d40ea43c..853c5726b3da5 100644 --- a/src/legacy/core_plugins/kibana/public/context/query_parameters/__tests__/action_set_query_parameters.js +++ b/src/legacy/core_plugins/kibana/public/context/query_parameters/__tests__/action_set_query_parameters.js @@ -42,7 +42,6 @@ describe('context app', function () { }); setQueryParameters(state)({ - anchorType: 'ANCHOR_TYPE', anchorId: 'ANCHOR_ID', columns: ['column'], defaultStepSize: 3, @@ -55,7 +54,6 @@ describe('context app', function () { expect(state.queryParameters).to.eql({ additionalParameter: 'ADDITIONAL_PARAMETER', - anchorType: 'ANCHOR_TYPE', anchorId: 'ANCHOR_ID', columns: ['column'], defaultStepSize: 3, diff --git a/src/legacy/core_plugins/kibana/public/context/query_parameters/state.js b/src/legacy/core_plugins/kibana/public/context/query_parameters/state.js index bc3cbae82037c..6fa5ad843de58 100644 --- a/src/legacy/core_plugins/kibana/public/context/query_parameters/state.js +++ b/src/legacy/core_plugins/kibana/public/context/query_parameters/state.js @@ -19,7 +19,6 @@ export function createInitialQueryParametersState(defaultStepSize, tieBreakerField) { return { - anchorType: null, anchorId: null, columns: [], defaultStepSize, diff --git a/src/legacy/core_plugins/kibana/public/discover/doc_table/components/table_row.js b/src/legacy/core_plugins/kibana/public/discover/doc_table/components/table_row.js index 5dfe23c58dc37..1801c26eb8baf 100644 --- a/src/legacy/core_plugins/kibana/public/discover/doc_table/components/table_row.js +++ b/src/legacy/core_plugins/kibana/public/discover/doc_table/components/table_row.js @@ -109,9 +109,8 @@ module.directive('kbnTableRow', function ($compile, $httpParamSerializer, kbnUrl }; $scope.getContextAppHref = () => { - const path = kbnUrl.eval('#/context/{{ indexPattern }}/{{ anchorType }}/{{ anchorId }}', { + const path = kbnUrl.eval('#/context/{{ indexPattern }}/{{ anchorId }}', { anchorId: $scope.row._id, - anchorType: $scope.row._type, indexPattern: $scope.indexPattern.id, }); const hash = $httpParamSerializer({ diff --git a/src/legacy/core_plugins/kibana/public/management/sections/objects/components/objects_table/components/flyout/__jest__/__snapshots__/flyout.test.js.snap b/src/legacy/core_plugins/kibana/public/management/sections/objects/components/objects_table/components/flyout/__jest__/__snapshots__/flyout.test.js.snap index 0586647254e9c..4771aae2284ca 100644 --- a/src/legacy/core_plugins/kibana/public/management/sections/objects/components/objects_table/components/flyout/__jest__/__snapshots__/flyout.test.js.snap +++ b/src/legacy/core_plugins/kibana/public/management/sections/objects/components/objects_table/components/flyout/__jest__/__snapshots__/flyout.test.js.snap @@ -435,6 +435,17 @@ exports[`Flyout legacy conflicts should allow conflict resolution 1`] = ` ], "newIndexPatternId": undefined, }, + Object { + "existingIndexPatternId": "filterIndex", + "list": Array [ + Object { + "id": "filterIndex", + "title": "MyIndexPattern*", + "type": "index-pattern", + }, + ], + "newIndexPatternId": undefined, + }, ] } pagination={ diff --git a/src/legacy/core_plugins/kibana/public/management/sections/objects/components/objects_table/components/flyout/__jest__/flyout.test.js b/src/legacy/core_plugins/kibana/public/management/sections/objects/components/objects_table/components/flyout/__jest__/flyout.test.js index 4f0c1cc73efb9..c006594605d56 100644 --- a/src/legacy/core_plugins/kibana/public/management/sections/objects/components/objects_table/components/flyout/__jest__/flyout.test.js +++ b/src/legacy/core_plugins/kibana/public/management/sections/objects/components/objects_table/components/flyout/__jest__/flyout.test.js @@ -418,8 +418,12 @@ describe('Flyout', () => { }, obj: { searchSource: { - getOwnField: () => 'MyIndexPattern*', + getOwnField: (field) => { + if(field === 'index') { return 'MyIndexPattern*';} + if(field === 'filter') { return [{ meta: { index: 'filterIndex' } }];} + }, }, + _serialize: () => { return { references: [{ id: 'MyIndexPattern*' }, { id: 'filterIndex' }] };}, }, }, ]; @@ -477,7 +481,17 @@ describe('Flyout', () => { type: 'index-pattern', }, ], - }, + }, { + 'existingIndexPatternId': 'filterIndex', + 'list': [ + { + 'id': 'filterIndex', + 'title': 'MyIndexPattern*', + 'type': 'index-pattern', + }, + ], + 'newIndexPatternId': undefined, + } ], }); }); diff --git a/src/legacy/core_plugins/kibana/public/management/sections/objects/components/objects_table/components/flyout/flyout.js b/src/legacy/core_plugins/kibana/public/management/sections/objects/components/objects_table/components/flyout/flyout.js index 50bd0e3e993cf..625a32485de0f 100644 --- a/src/legacy/core_plugins/kibana/public/management/sections/objects/components/objects_table/components/flyout/flyout.js +++ b/src/legacy/core_plugins/kibana/public/management/sections/objects/components/objects_table/components/flyout/flyout.js @@ -19,7 +19,7 @@ import React, { Component, Fragment } from 'react'; import PropTypes from 'prop-types'; -import { groupBy, take, get as getField } from 'lodash'; +import { take, get as getField } from 'lodash'; import { EuiFlyout, EuiFlyoutBody, @@ -273,9 +273,15 @@ class FlyoutUI extends Component { confirmModalPromise ); - const byId = groupBy(conflictedIndexPatterns, ({ obj }) => - obj.searchSource.getOwnField('index') - ); + const byId = {}; + conflictedIndexPatterns + .map(({ doc, obj }) => { + return { doc, obj: obj._serialize() }; + }).forEach(({ doc, obj }) => + obj.references.forEach(ref => { + byId[ref.id] = byId[ref.id] != null ? byId[ref.id].concat({ doc, obj }) : [{ doc, obj }]; + }) + ); const unmatchedReferences = Object.entries(byId).reduce( (accum, [existingIndexPatternId, list]) => { accum.push({ diff --git a/src/legacy/core_plugins/kibana/public/management/sections/objects/lib/__jest__/resolve_saved_objects.test.js b/src/legacy/core_plugins/kibana/public/management/sections/objects/lib/__jest__/resolve_saved_objects.test.js index acfb6d0040bb2..e8d8a2469e2ed 100644 --- a/src/legacy/core_plugins/kibana/public/management/sections/objects/lib/__jest__/resolve_saved_objects.test.js +++ b/src/legacy/core_plugins/kibana/public/management/sections/objects/lib/__jest__/resolve_saved_objects.test.js @@ -238,7 +238,9 @@ describe('resolveSavedObjects', () => { { obj: { searchSource: { - getOwnField: () => '1', + getOwnField: (field) => { + return field === 'index' ? '1' : undefined; + }, }, hydrateIndexPattern, save, @@ -247,7 +249,9 @@ describe('resolveSavedObjects', () => { { obj: { searchSource: { - getOwnField: () => '3', + getOwnField: (field) => { + return field === 'index' ? '3' : undefined; + }, }, hydrateIndexPattern, save, @@ -283,6 +287,63 @@ describe('resolveSavedObjects', () => { expect(hydrateIndexPattern).toHaveBeenCalledWith('2'); expect(hydrateIndexPattern).toHaveBeenCalledWith('4'); }); + + it('should resolve filter index conflicts', async () => { + const hydrateIndexPattern = jest.fn(); + const save = jest.fn(); + + const conflictedIndexPatterns = [ + { + obj: { + searchSource: { + getOwnField: (field) => { + return field === 'index' ? '1' : [{ meta: { index: 'filterIndex' } }]; + }, + setField: jest.fn(), + }, + hydrateIndexPattern, + save, + }, + }, + { + obj: { + searchSource: { + getOwnField: (field) => { + return field === 'index' ? '3' : undefined; + }, + }, + hydrateIndexPattern, + save, + }, + }, + ]; + + const resolutions = [ + { + oldId: '1', + newId: '2', + }, + { + oldId: '3', + newId: '4', + }, + { + oldId: 'filterIndex', + newId: 'newFilterIndex', + }, + ]; + + const overwriteAll = false; + + await resolveIndexPatternConflicts( + resolutions, + conflictedIndexPatterns, + overwriteAll + ); + + expect(conflictedIndexPatterns[0].obj.searchSource.setField).toHaveBeenCalledWith('filter', [{ meta: { index: 'newFilterIndex' } }]); + expect(save.mock.calls.length).toBe(2); + }); }); describe('saveObjects', () => { diff --git a/src/legacy/core_plugins/kibana/public/management/sections/objects/lib/resolve_saved_objects.js b/src/legacy/core_plugins/kibana/public/management/sections/objects/lib/resolve_saved_objects.js index 1468b3d90400d..eeb5fb778b707 100644 --- a/src/legacy/core_plugins/kibana/public/management/sections/objects/lib/resolve_saved_objects.js +++ b/src/legacy/core_plugins/kibana/public/management/sections/objects/lib/resolve_saved_objects.js @@ -140,19 +140,38 @@ export async function resolveIndexPatternConflicts( overwriteAll ) { let importCount = 0; + await awaitEachItemInParallel(conflictedIndexPatterns, async ({ obj }) => { + // Resolve search index reference: let oldIndexId = obj.searchSource.getOwnField('index'); // Depending on the object, this can either be the raw id or the actual index pattern object if (typeof oldIndexId !== 'string') { oldIndexId = oldIndexId.id; } - const resolution = resolutions.find(({ oldId }) => oldId === oldIndexId); + let resolution = resolutions.find(({ oldId }) => oldId === oldIndexId); + if (resolution) { + const newIndexId = resolution.newId; + await obj.hydrateIndexPattern(newIndexId); + } + + // Resolve filter index reference: + const filter = (obj.searchSource.getOwnField('filter') || []).map((filter) => { + if (!(filter.meta && filter.meta.index)) { + return filter; + } + + resolution = resolutions.find(({ oldId }) => oldId === filter.meta.index); + return resolution ? ({ ...filter, ...{ meta: { ...filter.meta, index: resolution.newId } } }) : filter; + }); + + if (filter.length > 0) { + obj.searchSource.setField('filter', filter); + } + if (!resolution) { // The user decided to skip this conflict so do nothing return; } - const newIndexId = resolution.newId; - await obj.hydrateIndexPattern(newIndexId); if (await saveObject(obj, overwriteAll)) { importCount++; } diff --git a/src/legacy/ui/public/saved_objects/__tests__/saved_object.js b/src/legacy/ui/public/saved_objects/__tests__/saved_object.js index 3af540b5b652c..1c23a9e8f91ee 100644 --- a/src/legacy/ui/public/saved_objects/__tests__/saved_object.js +++ b/src/legacy/ui/public/saved_objects/__tests__/saved_object.js @@ -363,6 +363,40 @@ describe('Saved Object', function () { }); }); + it('when index in searchSourceJSON is not found', () => { + const id = '123'; + stubESResponse(getMockedDocResponse(id)); + return createInitializedSavedObject({ type: 'dashboard', searchSource: true }) + .then((savedObject) => { + sinon.stub(savedObjectsClientStub, 'create').callsFake(() => { + return BluebirdPromise.resolve({ + id, + version: 2, + type: 'dashboard', + }); + }); + savedObject.searchSource.setFields({ 'index': 'non-existant-index' }); + return savedObject + .save() + .then(() => { + expect(savedObjectsClientStub.create.getCall(0).args[1]).to.eql({ + kibanaSavedObjectMeta: { + searchSourceJSON: JSON.stringify({ + indexRefName: 'kibanaSavedObjectMeta.searchSourceJSON.index', + }), + }, + }); + const { references } = savedObjectsClientStub.create.getCall(0).args[2]; + expect(references).to.have.length(1); + expect(references[0]).to.eql({ + name: 'kibanaSavedObjectMeta.searchSourceJSON.index', + type: 'index-pattern', + id: 'non-existant-index', + }); + }); + }); + }); + it('when indexes exists in filter of searchSourceJSON', () => { const id = '123'; stubESResponse(getMockedDocResponse(id)); diff --git a/src/legacy/ui/public/saved_objects/components/saved_object_finder.tsx b/src/legacy/ui/public/saved_objects/components/saved_object_finder.tsx index 9169286fb4171..5b787eb265509 100644 --- a/src/legacy/ui/public/saved_objects/components/saved_object_finder.tsx +++ b/src/legacy/ui/public/saved_objects/components/saved_object_finder.tsx @@ -17,46 +17,17 @@ * under the License. */ -import _ from 'lodash'; -import PropTypes from 'prop-types'; import React from 'react'; -import chrome from 'ui/chrome'; - -import { - CommonProps, - EuiContextMenuItem, - EuiContextMenuPanel, - EuiContextMenuPanelProps, - EuiEmptyPrompt, - EuiFieldSearch, - EuiFilterButton, - EuiFilterGroup, - EuiFlexGroup, - EuiFlexItem, - EuiListGroup, - EuiListGroupItem, - EuiLoadingSpinner, - EuiPagination, - EuiPopover, - EuiSpacer, - EuiTablePagination, - IconType, -} from '@elastic/eui'; -import { Direction } from '@elastic/eui/src/services/sort/sort_direction'; -import { i18n } from '@kbn/i18n'; - +import { npStart } from 'ui/new_platform'; +import { IconType } from '@elastic/eui'; import { SavedObjectAttributes } from 'src/core/server'; import { SimpleSavedObject } from 'src/core/public'; +import { SavedObjectFinder as SavedObjectFinderNP } from '../../../../../plugins/kibana_react/public'; -// TODO the typings for EuiListGroup are incorrect - maxWidth is missing. This can be removed when the types are adjusted -const FixedEuiListGroup = (EuiListGroup as any) as React.FunctionComponent< - CommonProps & { maxWidth: boolean } ->; - -// TODO the typings for EuiContextMenuPanel are incorrect - watchedItemProps is missing. This can be removed when the types are adjusted -const FixedEuiContextMenuPanel = (EuiContextMenuPanel as any) as React.FunctionComponent< - EuiContextMenuPanelProps & { watchedItemProps: string[] } ->; +/** + * DO NOT USE THIS COMPONENT, IT IS DEPRECATED. + * Use the one in `src/plugins/kibana_react` instead. + */ export interface SavedObjectMetaData { type: string; @@ -66,452 +37,72 @@ export interface SavedObjectMetaData { showSavedObject?(savedObject: SimpleSavedObject): boolean; } -interface SavedObjectFinderState { - items: Array<{ - title: string | null; - id: SimpleSavedObject['id']; - type: SimpleSavedObject['type']; - savedObject: SimpleSavedObject; - }>; - query: string; - isFetchingItems: boolean; - page: number; - perPage: number; - sortDirection?: Direction; - sortOpen: boolean; - filterOpen: boolean; - filteredTypes: string[]; -} - interface BaseSavedObjectFinder { + /** + * @deprecated + * + * Use component in `src/plugins/kibana_react` instead. + */ onChoose?: ( id: SimpleSavedObject['id'], type: SimpleSavedObject['type'], name: string ) => void; + /** + * @deprecated + * + * Use component in `src/plugins/kibana_react` instead. + */ noItemsMessage?: React.ReactNode; + /** + * @deprecated + * + * Use component in `src/plugins/kibana_react` instead. + */ savedObjectMetaData: Array>; + /** + * @deprecated + * + * Use component in `src/plugins/kibana_react` instead. + */ showFilter?: boolean; } interface SavedObjectFinderFixedPage extends BaseSavedObjectFinder { + /** + * @deprecated + * + * Use component in `src/plugins/kibana_react` instead. + */ initialPageSize?: undefined; + /** + * @deprecated + * + * Use component in `src/plugins/kibana_react` instead. + */ fixedPageSize: number; } interface SavedObjectFinderInitialPageSize extends BaseSavedObjectFinder { + /** + * @deprecated + * + * Use component in `src/plugins/kibana_react` instead. + */ initialPageSize?: 5 | 10 | 15 | 25; + /** + * @deprecated + * + * Use component in `src/plugins/kibana_react` instead. + */ fixedPageSize?: undefined; } type SavedObjectFinderProps = SavedObjectFinderFixedPage | SavedObjectFinderInitialPageSize; -class SavedObjectFinder extends React.Component { - public static propTypes = { - onChoose: PropTypes.func, - noItemsMessage: PropTypes.node, - savedObjectMetaData: PropTypes.array.isRequired, - initialPageSize: PropTypes.oneOf([5, 10, 15, 25]), - fixedPageSize: PropTypes.number, - showFilter: PropTypes.bool, - }; - - private isComponentMounted: boolean = false; - - private debouncedFetch = _.debounce(async (query: string) => { - const metaDataMap = this.getSavedObjectMetaDataMap(); - - const resp = await chrome.getSavedObjectsClient().find({ - type: Object.keys(metaDataMap), - fields: ['title', 'visState'], - search: query ? `${query}*` : undefined, - page: 1, - perPage: chrome.getUiSettingsClient().get('savedObjects:listingLimit'), - searchFields: ['title^3', 'description'], - defaultSearchOperator: 'AND', - }); - - resp.savedObjects = resp.savedObjects.filter(savedObject => { - const metaData = metaDataMap[savedObject.type]; - if (metaData.showSavedObject) { - return metaData.showSavedObject(savedObject); - } else { - return true; - } - }); - - if (!this.isComponentMounted) { - return; - } - - // We need this check to handle the case where search results come back in a different - // order than they were sent out. Only load results for the most recent search. - if (query === this.state.query) { - this.setState({ - isFetchingItems: false, - items: resp.savedObjects.map(savedObject => { - const { - attributes: { title }, - id, - type, - } = savedObject; - return { - title: typeof title === 'string' ? title : '', - id, - type, - savedObject, - }; - }), - }); - } - }, 300); - - constructor(props: SavedObjectFinderProps) { - super(props); - - this.state = { - items: [], - isFetchingItems: false, - page: 0, - perPage: props.initialPageSize || props.fixedPageSize || 10, - query: '', - filterOpen: false, - filteredTypes: [], - sortOpen: false, - }; - } - - public componentWillUnmount() { - this.isComponentMounted = false; - this.debouncedFetch.cancel(); - } - - public componentDidMount() { - this.isComponentMounted = true; - this.fetchItems(); - } - - public render() { - return ( - - {this.renderSearchBar()} - {this.renderListing()} - - ); - } - - private getSavedObjectMetaDataMap(): Record> { - return this.props.savedObjectMetaData.reduce( - (map, metaData) => ({ ...map, [metaData.type]: metaData }), - {} - ); - } - - private getPageCount() { - return Math.ceil( - (this.state.filteredTypes.length === 0 - ? this.state.items.length - : this.state.items.filter( - item => - this.state.filteredTypes.length === 0 || this.state.filteredTypes.includes(item.type) - ).length) / this.state.perPage - ); - } - - // server-side paging not supported - // 1) saved object client does not support sorting by title because title is only mapped as analyzed - // 2) can not search on anything other than title because all other fields are stored in opaque JSON strings, - // for example, visualizations need to be search by isLab but this is not possible in Elasticsearch side - // with the current mappings - private getPageOfItems = () => { - // do not sort original list to preserve elasticsearch ranking order - const items = this.state.items.slice(); - const { sortDirection } = this.state; - - if (sortDirection || !this.state.query) { - items.sort(({ title: titleA }, { title: titleB }) => { - let order = 1; - if (sortDirection === 'desc') { - order = -1; - } - return order * (titleA || '').toLowerCase().localeCompare((titleB || '').toLowerCase()); - }); - } - - // If begin is greater than the length of the sequence, an empty array is returned. - const startIndex = this.state.page * this.state.perPage; - // If end is greater than the length of the sequence, slice extracts through to the end of the sequence (arr.length). - const lastIndex = startIndex + this.state.perPage; - return items - .filter( - item => - this.state.filteredTypes.length === 0 || this.state.filteredTypes.includes(item.type) - ) - .slice(startIndex, lastIndex); - }; - - private fetchItems = () => { - this.setState( - { - isFetchingItems: true, - }, - this.debouncedFetch.bind(null, this.state.query) - ); - }; - - private getAvailableSavedObjectMetaData() { - const typesInItems = new Set(); - this.state.items.forEach(item => { - typesInItems.add(item.type); - }); - return this.props.savedObjectMetaData.filter(metaData => typesInItems.has(metaData.type)); - } - - private getSortOptions() { - const sortOptions = [ - { - this.setState({ - sortDirection: 'asc', - }); - }} - > - {i18n.translate('common.ui.savedObjects.finder.sortAsc', { - defaultMessage: 'Ascending', - })} - , - { - this.setState({ - sortDirection: 'desc', - }); - }} - > - {i18n.translate('common.ui.savedObjects.finder.sortDesc', { - defaultMessage: 'Descending', - })} - , - ]; - if (this.state.query) { - sortOptions.push( - { - this.setState({ - sortDirection: undefined, - }); - }} - > - {i18n.translate('common.ui.savedObjects.finder.sortAuto', { - defaultMessage: 'Best match', - })} - - ); - } - return sortOptions; - } - - private renderSearchBar() { - const availableSavedObjectMetaData = this.getAvailableSavedObjectMetaData(); - - return ( - - - { - this.setState( - { - query: e.target.value, - }, - this.fetchItems - ); - }} - data-test-subj="savedObjectFinderSearchInput" - isLoading={this.state.isFetchingItems} - /> - - - - this.setState({ sortOpen: false })} - button={ - - this.setState(({ sortOpen }) => ({ - sortOpen: !sortOpen, - })) - } - iconType="arrowDown" - isSelected={this.state.sortOpen} - data-test-subj="savedObjectFinderSortButton" - > - {i18n.translate('common.ui.savedObjects.finder.sortButtonLabel', { - defaultMessage: 'Sort', - })} - - } - > - - - {this.props.showFilter && ( - this.setState({ filterOpen: false })} - button={ - - this.setState(({ filterOpen }) => ({ - filterOpen: !filterOpen, - })) - } - iconType="arrowDown" - data-test-subj="savedObjectFinderFilterButton" - isSelected={this.state.filterOpen} - numFilters={this.props.savedObjectMetaData.length} - hasActiveFilters={this.state.filteredTypes.length > 0} - numActiveFilters={this.state.filteredTypes.length} - > - {i18n.translate('common.ui.savedObjects.finder.filterButtonLabel', { - defaultMessage: 'Types', - })} - - } - > - ( - { - this.setState(({ filteredTypes }) => ({ - filteredTypes: filteredTypes.includes(metaData.type) - ? filteredTypes.filter(t => t !== metaData.type) - : [...filteredTypes, metaData.type], - page: 0, - })); - }} - > - {metaData.name} - - ))} - /> - - )} - - - - ); - } - - private renderListing() { - const items = this.state.items.length === 0 ? [] : this.getPageOfItems(); - const { onChoose, savedObjectMetaData } = this.props; - - return ( - <> - {this.state.isFetchingItems && this.state.items.length === 0 && ( - - - - - - - )} - {items.length > 0 ? ( - - {items.map(item => { - const currentSavedObjectMetaData = savedObjectMetaData.find( - metaData => metaData.type === item.type - )!; - const fullName = currentSavedObjectMetaData.getTooltipForSavedObject - ? currentSavedObjectMetaData.getTooltipForSavedObject(item.savedObject) - : `${item.title} (${currentSavedObjectMetaData!.name})`; - const iconType = ( - currentSavedObjectMetaData || - ({ - getIconForSavedObject: () => 'document', - } as Pick, 'getIconForSavedObject'>) - ).getIconForSavedObject(item.savedObject); - return ( - { - onChoose(item.id, item.type, fullName); - } - : undefined - } - title={fullName} - data-test-subj={`savedObjectTitle${(item.title || '').split(' ').join('-')}`} - /> - ); - })} - - ) : ( - !this.state.isFetchingItems && - )} - {this.getPageCount() > 1 && - (this.props.fixedPageSize ? ( - { - this.setState({ - page, - }); - }} - /> - ) : ( - { - this.setState({ - page, - }); - }} - onChangeItemsPerPage={perPage => { - this.setState({ - perPage, - }); - }} - itemsPerPage={this.state.perPage} - itemsPerPageOptions={[5, 10, 15, 25]} - /> - ))} - - ); - } -} - -export { SavedObjectFinder }; +export const SavedObjectFinder: React.FC = props => ( + +); diff --git a/src/legacy/ui/public/saved_objects/components/saved_object_save_modal.tsx b/src/legacy/ui/public/saved_objects/components/saved_object_save_modal.tsx index b6802758b958a..131f28059cebd 100644 --- a/src/legacy/ui/public/saved_objects/components/saved_object_save_modal.tsx +++ b/src/legacy/ui/public/saved_objects/components/saved_object_save_modal.tsx @@ -16,256 +16,10 @@ * specific language governing permissions and limitations * under the License. */ -import { - EuiButton, - EuiButtonEmpty, - EuiCallOut, - EuiFieldText, - EuiForm, - EuiFormRow, - EuiModal, - EuiModalBody, - EuiModalFooter, - EuiModalHeader, - EuiModalHeaderTitle, - EuiOverlayMask, - EuiSpacer, - EuiSwitch, -} from '@elastic/eui'; -import { FormattedMessage } from '@kbn/i18n/react'; -import React, { Fragment } from 'react'; -import { EuiText } from '@elastic/eui'; -interface OnSaveProps { - newTitle: string; - newCopyOnSave: boolean; - isTitleDuplicateConfirmed: boolean; - onTitleDuplicate: () => void; -} - -interface Props { - onSave: (props: OnSaveProps) => void; - onClose: () => void; - title: string; - showCopyOnSave: boolean; - objectType: string; - confirmButtonLabel?: React.ReactNode; - options?: React.ReactNode; - description?: string; -} - -interface State { - title: string; - copyOnSave: boolean; - isTitleDuplicateConfirmed: boolean; - hasTitleDuplicate: boolean; - isLoading: boolean; -} - -export class SavedObjectSaveModal extends React.Component { - public readonly state = { - title: this.props.title, - copyOnSave: false, - isTitleDuplicateConfirmed: false, - hasTitleDuplicate: false, - isLoading: false, - }; - - public render() { - const { isTitleDuplicateConfirmed, hasTitleDuplicate, title, isLoading } = this.state; - - return ( - -
- - - - - - - - - {this.renderDuplicateTitleCallout()} - - - {this.props.description && ( - - {this.props.description} - - )} - {this.renderCopyOnSave()} - - - } - > - - - - {this.props.options} - - - - - - - - - - {this.props.confirmButtonLabel ? ( - this.props.confirmButtonLabel - ) : ( - - )} - - - -
-
- ); - } - - private onTitleDuplicate = () => { - this.setState({ - isLoading: false, - isTitleDuplicateConfirmed: true, - hasTitleDuplicate: true, - }); - }; - - private saveSavedObject = async () => { - if (this.state.isLoading) { - // ignore extra clicks - return; - } - - this.setState({ - isLoading: true, - }); - - await this.props.onSave({ - newTitle: this.state.title, - newCopyOnSave: this.state.copyOnSave, - isTitleDuplicateConfirmed: this.state.isTitleDuplicateConfirmed, - onTitleDuplicate: this.onTitleDuplicate, - }); - }; - - private onTitleChange = (event: React.ChangeEvent) => { - this.setState({ - title: event.target.value, - isTitleDuplicateConfirmed: false, - hasTitleDuplicate: false, - }); - }; - - private onCopyOnSaveChange = (event: React.ChangeEvent) => { - this.setState({ - copyOnSave: event.target.checked, - }); - }; - - private onFormSubmit = (event: React.FormEvent) => { - event.preventDefault(); - this.saveSavedObject(); - }; - - private renderDuplicateTitleCallout = () => { - if (!this.state.hasTitleDuplicate) { - return; - } - - return ( - - - } - color="warning" - data-test-subj="titleDupicateWarnMsg" - > -

- - - - ), - }} - /> -

-
- -
- ); - }; - - private renderCopyOnSave = () => { - if (!this.props.showCopyOnSave) { - return; - } - - return ( - - - } - /> - - - ); - }; -} +/** + * @deprecated + * + * Do not import this component from here. Import from `src/plugins/kibana_react` instead. + */ +export { SavedObjectSaveModal } from '../../../../../plugins/kibana_react/public'; diff --git a/src/legacy/ui/public/saved_objects/saved_object.js b/src/legacy/ui/public/saved_objects/saved_object.js index 28ae065dbd986..74d273119125a 100644 --- a/src/legacy/ui/public/saved_objects/saved_object.js +++ b/src/legacy/ui/public/saved_objects/saved_object.js @@ -321,7 +321,10 @@ export function SavedObjectProvider(Promise, Private, confirmModalPromise, index if (this.searchSource) { let searchSourceFields = _.omit(this.searchSource.getFields(), ['sort', 'size']); if (searchSourceFields.index) { - const { id: indexId } = searchSourceFields.index; + // searchSourceFields.index will normally be an IndexPattern, but can be a string in two scenarios: + // (1) `init()` (and by extension `hydrateIndexPattern()`) hasn't been called on this Saved Object + // (2) The IndexPattern doesn't exist, so we fail to resolve it in `hydrateIndexPattern()` + const indexId = typeof (searchSourceFields.index) === 'string' ? searchSourceFields.index : searchSourceFields.index.id; const refName = 'kibanaSavedObjectMeta.searchSourceJSON.index'; references.push({ name: refName, diff --git a/src/plugins/kibana_react/public/index.ts b/src/plugins/kibana_react/public/index.ts index b9a223a29c17c..0e98d68988488 100644 --- a/src/plugins/kibana_react/public/index.ts +++ b/src/plugins/kibana_react/public/index.ts @@ -17,6 +17,7 @@ * under the License. */ +export * from './saved_objects'; export * from './exit_full_screen_button'; export * from './context'; export * from './overlays'; diff --git a/src/legacy/ui/public/saved_objects/components/__snapshots__/saved_object_save_modal.test.tsx.snap b/src/plugins/kibana_react/public/saved_objects/__snapshots__/saved_object_save_modal.test.tsx.snap similarity index 88% rename from src/legacy/ui/public/saved_objects/components/__snapshots__/saved_object_save_modal.test.tsx.snap rename to src/plugins/kibana_react/public/saved_objects/__snapshots__/saved_object_save_modal.test.tsx.snap index aabf9d8d1d1e7..47b4a5219068f 100644 --- a/src/legacy/ui/public/saved_objects/components/__snapshots__/saved_object_save_modal.test.tsx.snap +++ b/src/plugins/kibana_react/public/saved_objects/__snapshots__/saved_object_save_modal.test.tsx.snap @@ -15,7 +15,7 @@ exports[`SavedObjectSaveModal should render matching snapshot 1`] = ` } @@ -62,7 +62,7 @@ exports[`SavedObjectSaveModal should render matching snapshot 1`] = ` > @@ -78,7 +78,7 @@ exports[`SavedObjectSaveModal should render matching snapshot 1`] = ` > diff --git a/src/plugins/kibana_react/public/saved_objects/index.ts b/src/plugins/kibana_react/public/saved_objects/index.ts new file mode 100644 index 0000000000000..ade80d2cd2a92 --- /dev/null +++ b/src/plugins/kibana_react/public/saved_objects/index.ts @@ -0,0 +1,21 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +export * from './saved_object_finder'; +export * from './saved_object_save_modal'; diff --git a/src/legacy/ui/public/saved_objects/components/saved_object_finder.test.tsx b/src/plugins/kibana_react/public/saved_objects/saved_object_finder.test.tsx similarity index 53% rename from src/legacy/ui/public/saved_objects/components/saved_object_finder.test.tsx rename to src/plugins/kibana_react/public/saved_objects/saved_object_finder.test.tsx index 0170efbd56aee..6b0728e73c691 100644 --- a/src/legacy/ui/public/saved_objects/components/saved_object_finder.test.tsx +++ b/src/plugins/kibana_react/public/saved_objects/saved_object_finder.test.tsx @@ -17,12 +17,6 @@ * under the License. */ -jest.mock('ui/chrome', () => ({ - getUiSettingsClient: () => ({ - get: () => 10, - }), -})); - jest.mock('lodash', () => ({ debounce: (fn: any) => fn, })); @@ -42,10 +36,10 @@ import { shallow } from 'enzyme'; import React from 'react'; import * as sinon from 'sinon'; import { SavedObjectFinder } from './saved_object_finder'; +// eslint-disable-next-line +import { coreMock } from '../../../../core/public/mocks'; describe('SavedObjectsFinder', () => { - let objectsClientStub: sinon.SinonStub; - const doc = { id: '1', type: 'search', @@ -69,38 +63,48 @@ describe('SavedObjectsFinder', () => { }, ]; - beforeEach(() => { - objectsClientStub = sinon.stub(); - objectsClientStub.returns(Promise.resolve({ savedObjects: [] })); - require('ui/chrome').getSavedObjectsClient = () => ({ - find: async (...args: any[]) => { - return objectsClientStub(...args); - }, - }); - }); - it('should call saved object client on startup', async () => { - objectsClientStub.returns(Promise.resolve({ savedObjects: [doc] })); + const core = coreMock.createStart(); + ((core.savedObjects.client.find as any) as jest.SpyInstance).mockImplementation(() => + Promise.resolve({ savedObjects: [doc] }) + ); + core.uiSettings.get.mockImplementation(() => 10); - const wrapper = shallow(); + const wrapper = shallow( + + ); wrapper.instance().componentDidMount!(); - expect( - objectsClientStub.calledWith({ - type: ['search'], - fields: ['title', 'visState'], - search: undefined, - page: 1, - perPage: 10, - searchFields: ['title^3', 'description'], - defaultSearchOperator: 'AND', - }) - ).toBe(true); + + expect(core.savedObjects.client.find).toHaveBeenCalledWith({ + type: ['search'], + fields: ['title', 'visState'], + search: undefined, + page: 1, + perPage: 10, + searchFields: ['title^3', 'description'], + defaultSearchOperator: 'AND', + }); }); it('should list initial items', async () => { - objectsClientStub.returns(Promise.resolve({ savedObjects: [doc] })); + const core = coreMock.createStart(); + ((core.savedObjects.client.find as any) as jest.SpyInstance).mockImplementation(() => + Promise.resolve({ savedObjects: [doc] }) + ); + core.uiSettings.get.mockImplementation(() => 10); + + const wrapper = shallow( + + ); - const wrapper = shallow(); wrapper.instance().componentDidMount!(); await nextTick(); expect( @@ -110,11 +114,21 @@ describe('SavedObjectsFinder', () => { it('should call onChoose on item click', async () => { const chooseStub = sinon.stub(); - objectsClientStub.returns(Promise.resolve({ savedObjects: [doc] })); + const core = coreMock.createStart(); + ((core.savedObjects.client.find as any) as jest.SpyInstance).mockImplementation(() => + Promise.resolve({ savedObjects: [doc] }) + ); + core.uiSettings.get.mockImplementation(() => 10); const wrapper = shallow( - + ); + wrapper.instance().componentDidMount!(); await nextTick(); wrapper @@ -126,9 +140,19 @@ describe('SavedObjectsFinder', () => { describe('sorting', () => { it('should list items ascending', async () => { - objectsClientStub.returns(Promise.resolve({ savedObjects: [doc, doc2] })); + const core = coreMock.createStart(); + ((core.savedObjects.client.find as any) as jest.SpyInstance).mockImplementation(() => + Promise.resolve({ savedObjects: [doc, doc2] }) + ); + core.uiSettings.get.mockImplementation(() => 10); - const wrapper = shallow(); + const wrapper = shallow( + + ); wrapper.instance().componentDidMount!(); await nextTick(); const list = wrapper.find(EuiListGroup); @@ -137,9 +161,20 @@ describe('SavedObjectsFinder', () => { }); it('should list items descending', async () => { - objectsClientStub.returns(Promise.resolve({ savedObjects: [doc, doc2] })); + const core = coreMock.createStart(); + ((core.savedObjects.client.find as any) as jest.SpyInstance).mockImplementation(() => + Promise.resolve({ savedObjects: [doc, doc2] }) + ); + core.uiSettings.get.mockImplementation(() => 10); + + const wrapper = shallow( + + ); - const wrapper = shallow(); wrapper.instance().componentDidMount!(); await nextTick(); wrapper.setState({ sortDirection: 'desc' }); @@ -150,10 +185,16 @@ describe('SavedObjectsFinder', () => { }); it('should not show the saved objects which get filtered by showSavedObject', async () => { - objectsClientStub.returns(Promise.resolve({ savedObjects: [doc, doc2] })); + const core = coreMock.createStart(); + ((core.savedObjects.client.find as any) as jest.SpyInstance).mockImplementation(() => + Promise.resolve({ savedObjects: [doc, doc2] }) + ); + core.uiSettings.get.mockImplementation(() => 10); const wrapper = shallow( { ]} /> ); + wrapper.instance().componentDidMount!(); await nextTick(); const list = wrapper.find(EuiListGroup); @@ -173,9 +215,19 @@ describe('SavedObjectsFinder', () => { describe('search', () => { it('should request filtered list on search input', async () => { - objectsClientStub.returns(Promise.resolve({ savedObjects: [doc, doc2] })); + const core = coreMock.createStart(); + ((core.savedObjects.client.find as any) as jest.SpyInstance).mockImplementation(() => + Promise.resolve({ savedObjects: [doc, doc2] }) + ); + core.uiSettings.get.mockImplementation(() => 10); - const wrapper = shallow(); + const wrapper = shallow( + + ); wrapper.instance().componentDidMount!(); await nextTick(); wrapper @@ -183,23 +235,32 @@ describe('SavedObjectsFinder', () => { .first() .simulate('change', { target: { value: 'abc' } }); - expect( - objectsClientStub.calledWith({ - type: ['search'], - fields: ['title', 'visState'], - search: 'abc*', - page: 1, - perPage: 10, - searchFields: ['title^3', 'description'], - defaultSearchOperator: 'AND', - }) - ).toBe(true); + expect(core.savedObjects.client.find).toHaveBeenCalledWith({ + type: ['search'], + fields: ['title', 'visState'], + search: 'abc*', + page: 1, + perPage: 10, + searchFields: ['title^3', 'description'], + defaultSearchOperator: 'AND', + }); }); it('should respect response order on search input', async () => { - objectsClientStub.returns(Promise.resolve({ savedObjects: [doc, doc2] })); + const core = coreMock.createStart(); + ((core.savedObjects.client.find as any) as jest.SpyInstance).mockImplementation(() => + Promise.resolve({ savedObjects: [doc, doc2] }) + ); + core.uiSettings.get.mockImplementation(() => 10); + + const wrapper = shallow( + + ); - const wrapper = shallow(); wrapper.instance().componentDidMount!(); await nextTick(); wrapper @@ -214,8 +275,16 @@ describe('SavedObjectsFinder', () => { }); it('should request multiple saved object types at once', async () => { + const core = coreMock.createStart(); + ((core.savedObjects.client.find as any) as jest.SpyInstance).mockImplementation(() => + Promise.resolve({ savedObjects: [doc, doc2] }) + ); + core.uiSettings.get.mockImplementation(() => 10); + const wrapper = shallow( { ); wrapper.instance().componentDidMount!(); - expect( - objectsClientStub.calledWith({ - type: ['search', 'vis'], - fields: ['title', 'visState'], - search: undefined, - page: 1, - perPage: 10, - searchFields: ['title^3', 'description'], - defaultSearchOperator: 'AND', - }) - ).toBe(true); + expect(core.savedObjects.client.find).toHaveBeenCalledWith({ + type: ['search', 'vis'], + fields: ['title', 'visState'], + search: undefined, + page: 1, + perPage: 10, + searchFields: ['title^3', 'description'], + defaultSearchOperator: 'AND', + }); }); describe('filter', () => { @@ -260,14 +327,23 @@ describe('SavedObjectsFinder', () => { ]; it('should not render filter buttons if disabled', async () => { - objectsClientStub.returns( + const core = coreMock.createStart(); + ((core.savedObjects.client.find as any) as jest.SpyInstance).mockImplementation(() => Promise.resolve({ savedObjects: [doc, doc2, doc3], }) ); + core.uiSettings.get.mockImplementation(() => 10); + const wrapper = shallow( - + ); + wrapper.instance().componentDidMount!(); await nextTick(); expect(wrapper.find('[data-test-subj="savedObjectFinderFilter-search"]').exists()).toBe( @@ -276,14 +352,23 @@ describe('SavedObjectsFinder', () => { }); it('should not render filter buttons if there is only one type in the list', async () => { - objectsClientStub.returns( + const core = coreMock.createStart(); + ((core.savedObjects.client.find as any) as jest.SpyInstance).mockImplementation(() => Promise.resolve({ savedObjects: [doc, doc2], }) ); + core.uiSettings.get.mockImplementation(() => 10); + const wrapper = shallow( - + ); + wrapper.instance().componentDidMount!(); await nextTick(); expect(wrapper.find('[data-test-subj="savedObjectFinderFilter-search"]').exists()).toBe( @@ -292,14 +377,23 @@ describe('SavedObjectsFinder', () => { }); it('should apply filter if selected', async () => { - objectsClientStub.returns( + const core = coreMock.createStart(); + ((core.savedObjects.client.find as any) as jest.SpyInstance).mockImplementation(() => Promise.resolve({ savedObjects: [doc, doc2, doc3], }) ); + core.uiSettings.get.mockImplementation(() => 10); + const wrapper = shallow( - + ); + wrapper.instance().componentDidMount!(); await nextTick(); wrapper.setState({ filteredTypes: ['vis'] }); @@ -313,10 +407,20 @@ describe('SavedObjectsFinder', () => { }); it('should display no items message if there are no items', async () => { - objectsClientStub.returns(Promise.resolve({ savedObjects: [] })); + const core = coreMock.createStart(); + ((core.savedObjects.client.find as any) as jest.SpyInstance).mockImplementation(() => + Promise.resolve({ savedObjects: [] }) + ); + core.uiSettings.get.mockImplementation(() => 10); + const noItemsMessage = ; const wrapper = shallow( - + ); wrapper.instance().componentDidMount!(); await nextTick(); @@ -338,14 +442,22 @@ describe('SavedObjectsFinder', () => { }, })); - beforeEach(() => { - objectsClientStub.returns(Promise.resolve({ savedObjects: longItemList })); - }); - it('should show a table pagination with initial per page', async () => { + const core = coreMock.createStart(); + ((core.savedObjects.client.find as any) as jest.SpyInstance).mockImplementation(() => + Promise.resolve({ savedObjects: longItemList }) + ); + core.uiSettings.get.mockImplementation(() => 10); + const wrapper = shallow( - + ); + wrapper.instance().componentDidMount!(); await nextTick(); expect( @@ -358,9 +470,21 @@ describe('SavedObjectsFinder', () => { }); it('should allow switching the page size', async () => { + const core = coreMock.createStart(); + ((core.savedObjects.client.find as any) as jest.SpyInstance).mockImplementation(() => + Promise.resolve({ savedObjects: longItemList }) + ); + core.uiSettings.get.mockImplementation(() => 10); + const wrapper = shallow( - + ); + wrapper.instance().componentDidMount!(); await nextTick(); wrapper @@ -371,9 +495,21 @@ describe('SavedObjectsFinder', () => { }); it('should switch page correctly', async () => { + const core = coreMock.createStart(); + ((core.savedObjects.client.find as any) as jest.SpyInstance).mockImplementation(() => + Promise.resolve({ savedObjects: longItemList }) + ); + core.uiSettings.get.mockImplementation(() => 10); + const wrapper = shallow( - + ); + wrapper.instance().componentDidMount!(); await nextTick(); wrapper @@ -390,9 +526,21 @@ describe('SavedObjectsFinder', () => { }); it('should show an ordinary pagination for fixed page sizes', async () => { + const core = coreMock.createStart(); + ((core.savedObjects.client.find as any) as jest.SpyInstance).mockImplementation(() => + Promise.resolve({ savedObjects: longItemList }) + ); + core.uiSettings.get.mockImplementation(() => 10); + const wrapper = shallow( - + ); + wrapper.instance().componentDidMount!(); await nextTick(); expect( @@ -405,9 +553,21 @@ describe('SavedObjectsFinder', () => { }); it('should switch page correctly for fixed page sizes', async () => { + const core = coreMock.createStart(); + ((core.savedObjects.client.find as any) as jest.SpyInstance).mockImplementation(() => + Promise.resolve({ savedObjects: longItemList }) + ); + core.uiSettings.get.mockImplementation(() => 10); + const wrapper = shallow( - + ); + wrapper.instance().componentDidMount!(); await nextTick(); wrapper @@ -426,16 +586,29 @@ describe('SavedObjectsFinder', () => { describe('loading state', () => { it('should display a spinner during initial loading', () => { - const wrapper = shallow(); + const core = coreMock.createStart(); + + const wrapper = shallow( + + ); expect(wrapper.containsMatchingElement()).toBe(true); }); it('should hide the spinner if data is shown', async () => { - objectsClientStub.returns(Promise.resolve({ savedObjects: [doc] })); + const core = coreMock.createStart(); + ((core.savedObjects.client.find as any) as jest.SpyInstance).mockImplementation(() => + Promise.resolve({ savedObjects: [doc] }) + ); const wrapper = shallow( { ]} /> ); + wrapper.instance().componentDidMount!(); await nextTick(); expect(wrapper.containsMatchingElement()).toBe(false); }); it('should not show the spinner if there are already items', async () => { - objectsClientStub.returns(Promise.resolve({ savedObjects: [doc] })); + const core = coreMock.createStart(); + ((core.savedObjects.client.find as any) as jest.SpyInstance).mockImplementation(() => + Promise.resolve({ savedObjects: [doc] }) + ); + + const wrapper = shallow( + + ); - const wrapper = shallow(); wrapper.instance().componentDidMount!(); await nextTick(); wrapper diff --git a/src/plugins/kibana_react/public/saved_objects/saved_object_finder.tsx b/src/plugins/kibana_react/public/saved_objects/saved_object_finder.tsx new file mode 100644 index 0000000000000..d34185731f3cc --- /dev/null +++ b/src/plugins/kibana_react/public/saved_objects/saved_object_finder.tsx @@ -0,0 +1,520 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import _ from 'lodash'; +import PropTypes from 'prop-types'; +import React from 'react'; + +import { + CommonProps, + EuiContextMenuItem, + EuiContextMenuPanel, + EuiContextMenuPanelProps, + EuiEmptyPrompt, + EuiFieldSearch, + EuiFilterButton, + EuiFilterGroup, + EuiFlexGroup, + EuiFlexItem, + EuiListGroup, + EuiListGroupItem, + EuiLoadingSpinner, + EuiPagination, + EuiPopover, + EuiSpacer, + EuiTablePagination, + IconType, +} from '@elastic/eui'; +import { Direction } from '@elastic/eui/src/services/sort/sort_direction'; +import { i18n } from '@kbn/i18n'; + +import { SavedObjectAttributes } from '../../../../core/server'; +import { SimpleSavedObject, CoreStart } from '../../../../core/public'; + +// TODO the typings for EuiListGroup are incorrect - maxWidth is missing. This can be removed when the types are adjusted +const FixedEuiListGroup = (EuiListGroup as any) as React.FunctionComponent< + CommonProps & { maxWidth: boolean } +>; + +// TODO the typings for EuiContextMenuPanel are incorrect - watchedItemProps is missing. This can be removed when the types are adjusted +const FixedEuiContextMenuPanel = (EuiContextMenuPanel as any) as React.FunctionComponent< + EuiContextMenuPanelProps & { watchedItemProps: string[] } +>; + +export interface SavedObjectMetaData { + type: string; + name: string; + getIconForSavedObject(savedObject: SimpleSavedObject): IconType; + getTooltipForSavedObject?(savedObject: SimpleSavedObject): string; + showSavedObject?(savedObject: SimpleSavedObject): boolean; +} + +interface SavedObjectFinderState { + items: Array<{ + title: string | null; + id: SimpleSavedObject['id']; + type: SimpleSavedObject['type']; + savedObject: SimpleSavedObject; + }>; + query: string; + isFetchingItems: boolean; + page: number; + perPage: number; + sortDirection?: Direction; + sortOpen: boolean; + filterOpen: boolean; + filteredTypes: string[]; +} + +interface BaseSavedObjectFinder { + onChoose?: ( + id: SimpleSavedObject['id'], + type: SimpleSavedObject['type'], + name: string + ) => void; + noItemsMessage?: React.ReactNode; + savedObjectMetaData: Array>; + showFilter?: boolean; +} + +interface SavedObjectFinderFixedPage extends BaseSavedObjectFinder { + initialPageSize?: undefined; + fixedPageSize: number; +} + +interface SavedObjectFinderInitialPageSize extends BaseSavedObjectFinder { + initialPageSize?: 5 | 10 | 15 | 25; + fixedPageSize?: undefined; +} +type SavedObjectFinderProps = { + savedObjects: CoreStart['savedObjects']; + uiSettings: CoreStart['uiSettings']; +} & (SavedObjectFinderFixedPage | SavedObjectFinderInitialPageSize); + +class SavedObjectFinder extends React.Component { + public static propTypes = { + onChoose: PropTypes.func, + noItemsMessage: PropTypes.node, + savedObjectMetaData: PropTypes.array.isRequired, + initialPageSize: PropTypes.oneOf([5, 10, 15, 25]), + fixedPageSize: PropTypes.number, + showFilter: PropTypes.bool, + }; + + private isComponentMounted: boolean = false; + + private debouncedFetch = _.debounce(async (query: string) => { + const metaDataMap = this.getSavedObjectMetaDataMap(); + + const perPage = this.props.uiSettings.get('savedObjects:listingLimit'); + const resp = await this.props.savedObjects.client.find({ + type: Object.keys(metaDataMap), + fields: ['title', 'visState'], + search: query ? `${query}*` : undefined, + page: 1, + perPage, + searchFields: ['title^3', 'description'], + defaultSearchOperator: 'AND', + }); + + resp.savedObjects = resp.savedObjects.filter(savedObject => { + const metaData = metaDataMap[savedObject.type]; + if (metaData.showSavedObject) { + return metaData.showSavedObject(savedObject); + } else { + return true; + } + }); + + if (!this.isComponentMounted) { + return; + } + + // We need this check to handle the case where search results come back in a different + // order than they were sent out. Only load results for the most recent search. + if (query === this.state.query) { + this.setState({ + isFetchingItems: false, + items: resp.savedObjects.map(savedObject => { + const { + attributes: { title }, + id, + type, + } = savedObject; + return { + title: typeof title === 'string' ? title : '', + id, + type, + savedObject, + }; + }), + }); + } + }, 300); + + constructor(props: SavedObjectFinderProps) { + super(props); + + this.state = { + items: [], + isFetchingItems: false, + page: 0, + perPage: props.initialPageSize || props.fixedPageSize || 10, + query: '', + filterOpen: false, + filteredTypes: [], + sortOpen: false, + }; + } + + public componentWillUnmount() { + this.isComponentMounted = false; + this.debouncedFetch.cancel(); + } + + public componentDidMount() { + this.isComponentMounted = true; + this.fetchItems(); + } + + public render() { + return ( + + {this.renderSearchBar()} + {this.renderListing()} + + ); + } + + private getSavedObjectMetaDataMap(): Record> { + return this.props.savedObjectMetaData.reduce( + (map, metaData) => ({ ...map, [metaData.type]: metaData }), + {} + ); + } + + private getPageCount() { + return Math.ceil( + (this.state.filteredTypes.length === 0 + ? this.state.items.length + : this.state.items.filter( + item => + this.state.filteredTypes.length === 0 || this.state.filteredTypes.includes(item.type) + ).length) / this.state.perPage + ); + } + + // server-side paging not supported + // 1) saved object client does not support sorting by title because title is only mapped as analyzed + // 2) can not search on anything other than title because all other fields are stored in opaque JSON strings, + // for example, visualizations need to be search by isLab but this is not possible in Elasticsearch side + // with the current mappings + private getPageOfItems = () => { + // do not sort original list to preserve elasticsearch ranking order + const items = this.state.items.slice(); + const { sortDirection } = this.state; + + if (sortDirection || !this.state.query) { + items.sort(({ title: titleA }, { title: titleB }) => { + let order = 1; + if (sortDirection === 'desc') { + order = -1; + } + return order * (titleA || '').toLowerCase().localeCompare((titleB || '').toLowerCase()); + }); + } + + // If begin is greater than the length of the sequence, an empty array is returned. + const startIndex = this.state.page * this.state.perPage; + // If end is greater than the length of the sequence, slice extracts through to the end of the sequence (arr.length). + const lastIndex = startIndex + this.state.perPage; + return items + .filter( + item => + this.state.filteredTypes.length === 0 || this.state.filteredTypes.includes(item.type) + ) + .slice(startIndex, lastIndex); + }; + + private fetchItems = () => { + this.setState( + { + isFetchingItems: true, + }, + this.debouncedFetch.bind(null, this.state.query) + ); + }; + + private getAvailableSavedObjectMetaData() { + const typesInItems = new Set(); + this.state.items.forEach(item => { + typesInItems.add(item.type); + }); + return this.props.savedObjectMetaData.filter(metaData => typesInItems.has(metaData.type)); + } + + private getSortOptions() { + const sortOptions = [ + { + this.setState({ + sortDirection: 'asc', + }); + }} + > + {i18n.translate('kibana-react.savedObjects.finder.sortAsc', { + defaultMessage: 'Ascending', + })} + , + { + this.setState({ + sortDirection: 'desc', + }); + }} + > + {i18n.translate('kibana-react.savedObjects.finder.sortDesc', { + defaultMessage: 'Descending', + })} + , + ]; + if (this.state.query) { + sortOptions.push( + { + this.setState({ + sortDirection: undefined, + }); + }} + > + {i18n.translate('kibana-react.savedObjects.finder.sortAuto', { + defaultMessage: 'Best match', + })} + + ); + } + return sortOptions; + } + + private renderSearchBar() { + const availableSavedObjectMetaData = this.getAvailableSavedObjectMetaData(); + + return ( + + + { + this.setState( + { + query: e.target.value, + }, + this.fetchItems + ); + }} + data-test-subj="savedObjectFinderSearchInput" + isLoading={this.state.isFetchingItems} + /> + + + + this.setState({ sortOpen: false })} + button={ + + this.setState(({ sortOpen }) => ({ + sortOpen: !sortOpen, + })) + } + iconType="arrowDown" + isSelected={this.state.sortOpen} + data-test-subj="savedObjectFinderSortButton" + > + {i18n.translate('kibana-react.savedObjects.finder.sortButtonLabel', { + defaultMessage: 'Sort', + })} + + } + > + + + {this.props.showFilter && ( + this.setState({ filterOpen: false })} + button={ + + this.setState(({ filterOpen }) => ({ + filterOpen: !filterOpen, + })) + } + iconType="arrowDown" + data-test-subj="savedObjectFinderFilterButton" + isSelected={this.state.filterOpen} + numFilters={this.props.savedObjectMetaData.length} + hasActiveFilters={this.state.filteredTypes.length > 0} + numActiveFilters={this.state.filteredTypes.length} + > + {i18n.translate('kibana-react.savedObjects.finder.filterButtonLabel', { + defaultMessage: 'Types', + })} + + } + > + ( + { + this.setState(({ filteredTypes }) => ({ + filteredTypes: filteredTypes.includes(metaData.type) + ? filteredTypes.filter(t => t !== metaData.type) + : [...filteredTypes, metaData.type], + page: 0, + })); + }} + > + {metaData.name} + + ))} + /> + + )} + + + + ); + } + + private renderListing() { + const items = this.state.items.length === 0 ? [] : this.getPageOfItems(); + const { onChoose, savedObjectMetaData } = this.props; + + return ( + <> + {this.state.isFetchingItems && this.state.items.length === 0 && ( + + + + + + + )} + {items.length > 0 ? ( + + {items.map(item => { + const currentSavedObjectMetaData = savedObjectMetaData.find( + metaData => metaData.type === item.type + )!; + const fullName = currentSavedObjectMetaData.getTooltipForSavedObject + ? currentSavedObjectMetaData.getTooltipForSavedObject(item.savedObject) + : `${item.title} (${currentSavedObjectMetaData!.name})`; + const iconType = ( + currentSavedObjectMetaData || + ({ + getIconForSavedObject: () => 'document', + } as Pick, 'getIconForSavedObject'>) + ).getIconForSavedObject(item.savedObject); + return ( + { + onChoose(item.id, item.type, fullName); + } + : undefined + } + title={fullName} + data-test-subj={`savedObjectTitle${(item.title || '').split(' ').join('-')}`} + /> + ); + })} + + ) : ( + !this.state.isFetchingItems && + )} + {this.getPageCount() > 1 && + (this.props.fixedPageSize ? ( + { + this.setState({ + page, + }); + }} + /> + ) : ( + { + this.setState({ + page, + }); + }} + onChangeItemsPerPage={perPage => { + this.setState({ + perPage, + }); + }} + itemsPerPage={this.state.perPage} + itemsPerPageOptions={[5, 10, 15, 25]} + /> + ))} + + ); + } +} + +export { SavedObjectFinder }; diff --git a/src/legacy/ui/public/saved_objects/components/saved_object_save_modal.test.tsx b/src/plugins/kibana_react/public/saved_objects/saved_object_save_modal.test.tsx similarity index 100% rename from src/legacy/ui/public/saved_objects/components/saved_object_save_modal.test.tsx rename to src/plugins/kibana_react/public/saved_objects/saved_object_save_modal.test.tsx diff --git a/src/plugins/kibana_react/public/saved_objects/saved_object_save_modal.tsx b/src/plugins/kibana_react/public/saved_objects/saved_object_save_modal.tsx new file mode 100644 index 0000000000000..27da5d90646b3 --- /dev/null +++ b/src/plugins/kibana_react/public/saved_objects/saved_object_save_modal.tsx @@ -0,0 +1,271 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +import { + EuiButton, + EuiButtonEmpty, + EuiCallOut, + EuiFieldText, + EuiForm, + EuiFormRow, + EuiModal, + EuiModalBody, + EuiModalFooter, + EuiModalHeader, + EuiModalHeaderTitle, + EuiOverlayMask, + EuiSpacer, + EuiSwitch, +} from '@elastic/eui'; +import { FormattedMessage } from '@kbn/i18n/react'; +import React from 'react'; +import { EuiText } from '@elastic/eui'; + +interface OnSaveProps { + newTitle: string; + newCopyOnSave: boolean; + isTitleDuplicateConfirmed: boolean; + onTitleDuplicate: () => void; +} + +interface Props { + onSave: (props: OnSaveProps) => void; + onClose: () => void; + title: string; + showCopyOnSave: boolean; + objectType: string; + confirmButtonLabel?: React.ReactNode; + options?: React.ReactNode; + description?: string; +} + +interface State { + title: string; + copyOnSave: boolean; + isTitleDuplicateConfirmed: boolean; + hasTitleDuplicate: boolean; + isLoading: boolean; +} + +export class SavedObjectSaveModal extends React.Component { + public readonly state = { + title: this.props.title, + copyOnSave: false, + isTitleDuplicateConfirmed: false, + hasTitleDuplicate: false, + isLoading: false, + }; + + public render() { + const { isTitleDuplicateConfirmed, hasTitleDuplicate, title, isLoading } = this.state; + + return ( + +
+ + + + + + + + + {this.renderDuplicateTitleCallout()} + + + {this.props.description && ( + + {this.props.description} + + )} + {this.renderCopyOnSave()} + + + } + > + + + + {this.props.options} + + + + + + + + + + {this.props.confirmButtonLabel ? ( + this.props.confirmButtonLabel + ) : ( + + )} + + + +
+
+ ); + } + + private onTitleDuplicate = () => { + this.setState({ + isLoading: false, + isTitleDuplicateConfirmed: true, + hasTitleDuplicate: true, + }); + }; + + private saveSavedObject = async () => { + if (this.state.isLoading) { + // ignore extra clicks + return; + } + + this.setState({ + isLoading: true, + }); + + await this.props.onSave({ + newTitle: this.state.title, + newCopyOnSave: this.state.copyOnSave, + isTitleDuplicateConfirmed: this.state.isTitleDuplicateConfirmed, + onTitleDuplicate: this.onTitleDuplicate, + }); + }; + + private onTitleChange = (event: React.ChangeEvent) => { + this.setState({ + title: event.target.value, + isTitleDuplicateConfirmed: false, + hasTitleDuplicate: false, + }); + }; + + private onCopyOnSaveChange = (event: React.ChangeEvent) => { + this.setState({ + copyOnSave: event.target.checked, + }); + }; + + private onFormSubmit = (event: React.FormEvent) => { + event.preventDefault(); + this.saveSavedObject(); + }; + + private renderDuplicateTitleCallout = () => { + if (!this.state.hasTitleDuplicate) { + return; + } + + return ( + <> + + } + color="warning" + data-test-subj="titleDupicateWarnMsg" + > +

+ + + + ), + }} + /> +

+
+ + + ); + }; + + private renderCopyOnSave = () => { + if (!this.props.showCopyOnSave) { + return; + } + + return ( + <> + + } + /> + + + ); + }; +} diff --git a/src/test_utils/kbn_server.ts b/src/test_utils/kbn_server.ts index 706a8050a0adb..0a36915f693c3 100644 --- a/src/test_utils/kbn_server.ts +++ b/src/test_utils/kbn_server.ts @@ -120,8 +120,11 @@ export function createRoot(settings = {}, cliArgs: Partial = {}) { * @param {Object} [settings={}] Any config overrides for this instance. * @returns {Root} */ -export function createRootWithCorePlugins(settings = {}) { - return createRootWithSettings(defaultsDeep({}, settings, DEFAULT_SETTINGS_WITH_CORE_PLUGINS)); +export function createRootWithCorePlugins(settings = {}, cliArgs: Partial = {}) { + return createRootWithSettings( + defaultsDeep({}, settings, DEFAULT_SETTINGS_WITH_CORE_PLUGINS), + cliArgs + ); } /** diff --git a/test/functional/apps/context/_date_nanos.js b/test/functional/apps/context/_date_nanos.js index 26882ec8a52a9..054ef9e27a119 100644 --- a/test/functional/apps/context/_date_nanos.js +++ b/test/functional/apps/context/_date_nanos.js @@ -20,7 +20,6 @@ import expect from '@kbn/expect'; const TEST_INDEX_PATTERN = 'date-nanos'; -const TEST_ANCHOR_TYPE = '_doc'; const TEST_DEFAULT_CONTEXT_SIZE = 1; const TEST_STEP_SIZE = 3; @@ -45,7 +44,7 @@ export default function ({ getService, getPageObjects }) { }); it('displays predessors - anchor - successors in right order ', async function () { - await PageObjects.context.navigateTo(TEST_INDEX_PATTERN, TEST_ANCHOR_TYPE, 'AU_x3-TaGFA8no6Qj999Z'); + await PageObjects.context.navigateTo(TEST_INDEX_PATTERN, 'AU_x3-TaGFA8no6Qj999Z'); const actualRowsText = await docTable.getRowsText(); const expectedRowsText = [ 'Sep 18, 2019 @ 06:50:13.000000000-2', @@ -56,7 +55,7 @@ export default function ({ getService, getPageObjects }) { }); it('displays correctly when predecessors and successors are loaded', async function () { - await PageObjects.context.navigateTo(TEST_INDEX_PATTERN, TEST_ANCHOR_TYPE, 'AU_x3-TaGFA8no6Qjisd'); + await PageObjects.context.navigateTo(TEST_INDEX_PATTERN, 'AU_x3-TaGFA8no6Qjisd'); await PageObjects.context.clickPredecessorLoadMoreButton(); await PageObjects.context.clickSuccessorLoadMoreButton(); const actualRowsText = await docTable.getRowsText(); diff --git a/test/functional/apps/context/_filters.js b/test/functional/apps/context/_filters.js index a47e034c58fe6..62599a4090b83 100644 --- a/test/functional/apps/context/_filters.js +++ b/test/functional/apps/context/_filters.js @@ -20,7 +20,6 @@ import expect from '@kbn/expect'; const TEST_INDEX_PATTERN = 'logstash-*'; -const TEST_ANCHOR_TYPE = '_doc'; const TEST_ANCHOR_ID = 'AU_x3_BrGFA8no6QjjaI'; const TEST_ANCHOR_FILTER_FIELD = 'geo.src'; const TEST_ANCHOR_FILTER_VALUE = 'IN'; @@ -35,7 +34,7 @@ export default function ({ getService, getPageObjects }) { describe('context filters', function contextSize() { beforeEach(async function () { - await PageObjects.context.navigateTo(TEST_INDEX_PATTERN, TEST_ANCHOR_TYPE, TEST_ANCHOR_ID, { + await PageObjects.context.navigateTo(TEST_INDEX_PATTERN, TEST_ANCHOR_ID, { columns: TEST_COLUMN_NAMES, }); }); diff --git a/test/functional/apps/context/_size.js b/test/functional/apps/context/_size.js index 9b693d2cda892..08e26a86da086 100644 --- a/test/functional/apps/context/_size.js +++ b/test/functional/apps/context/_size.js @@ -20,7 +20,6 @@ import expect from '@kbn/expect'; const TEST_INDEX_PATTERN = 'logstash-*'; -const TEST_ANCHOR_TYPE = '_doc'; const TEST_ANCHOR_ID = 'AU_x3_BrGFA8no6QjjaI'; const TEST_DEFAULT_CONTEXT_SIZE = 7; const TEST_STEP_SIZE = 3; @@ -40,7 +39,7 @@ export default function ({ getService, getPageObjects }) { }); it('should default to the `context:defaultSize` setting', async function () { - await PageObjects.context.navigateTo(TEST_INDEX_PATTERN, TEST_ANCHOR_TYPE, TEST_ANCHOR_ID); + await PageObjects.context.navigateTo(TEST_INDEX_PATTERN, TEST_ANCHOR_ID); await retry.try(async function () { expect(await docTable.getRowsText()).to.have.length(2 * TEST_DEFAULT_CONTEXT_SIZE + 1); @@ -56,7 +55,7 @@ export default function ({ getService, getPageObjects }) { }); it('should increase according to the `context:step` setting when clicking the `load newer` button', async function () { - await PageObjects.context.navigateTo(TEST_INDEX_PATTERN, TEST_ANCHOR_TYPE, TEST_ANCHOR_ID); + await PageObjects.context.navigateTo(TEST_INDEX_PATTERN, TEST_ANCHOR_ID); await PageObjects.context.clickPredecessorLoadMoreButton(); await retry.try(async function () { @@ -67,7 +66,7 @@ export default function ({ getService, getPageObjects }) { }); it('should increase according to the `context:step` setting when clicking the `load older` button', async function () { - await PageObjects.context.navigateTo(TEST_INDEX_PATTERN, TEST_ANCHOR_TYPE, TEST_ANCHOR_ID); + await PageObjects.context.navigateTo(TEST_INDEX_PATTERN, TEST_ANCHOR_ID); await PageObjects.context.clickSuccessorLoadMoreButton(); await retry.try(async function () { diff --git a/test/functional/page_objects/context_page.js b/test/functional/page_objects/context_page.js index 4e2745d2c11ad..a189376f06454 100644 --- a/test/functional/page_objects/context_page.js +++ b/test/functional/page_objects/context_page.js @@ -34,14 +34,14 @@ export function ContextPageProvider({ getService, getPageObjects }) { const log = getService('log'); class ContextPage { - async navigateTo(indexPattern, anchorType, anchorId, overrideInitialState = {}) { + async navigateTo(indexPattern, anchorId, overrideInitialState = {}) { const initialState = rison.encode({ ...DEFAULT_INITIAL_STATE, ...overrideInitialState, }); const appUrl = getUrl.noAuth(config.get('servers.kibana'), { ...config.get('apps.context'), - hash: `${config.get('apps.context.hash')}/${indexPattern}/${anchorType}/${anchorId}?_a=${initialState}`, + hash: `${config.get('apps.context.hash')}/${indexPattern}/${anchorId}?_a=${initialState}`, }); log.debug(`browser.get(${appUrl})`); diff --git a/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/index.ts b/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/index.ts index 0bf7ff9ee7527..dfce45671483f 100644 --- a/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/index.ts +++ b/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/index.ts @@ -27,8 +27,9 @@ export default function(kibana: any) { app: { title: 'Embeddable Explorer', order: 1, - main: 'plugins/kbn_tp_embeddable_explorer', + main: 'plugins/kbn_tp_embeddable_explorer/np_ready/public/legacy', }, + hacks: ['plugins/dashboard_embeddable_container/initialize'], }, init(server: Legacy.Server) { server.injectUiAppVars('kbn_tp_embeddable_explorer', async () => diff --git a/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/index.ts b/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/index.ts deleted file mode 100644 index 4064454424d80..0000000000000 --- a/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/index.ts +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import { npStart } from '../../../../../src/legacy/ui/public/new_platform'; -import { start } from '../../../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public/legacy'; -import { - HelloWorldAction, - SayHelloAction, - SendMessageAction, - HelloWorldEmbeddableFactory, - ContactCardEmbeddableFactory, -} from '../../../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public/lib/test_samples'; - -import { Plugin as EmbeddableExplorer } from './plugin'; -import { createShim } from './shim'; - -const helloWorldAction = new HelloWorldAction(npStart.core.overlays); -const sayHelloAction = new SayHelloAction(alert); -const sendMessageAction = new SendMessageAction(npStart.core.overlays); -const helloWorldEmbeddableFactory = new HelloWorldEmbeddableFactory(); -const contactCardEmbeddableFactory = new ContactCardEmbeddableFactory( - {}, - start.executeTriggerActions, - npStart.core.overlays -); - -start.registerAction(helloWorldAction); -start.registerAction(sayHelloAction); -start.registerAction(sendMessageAction); -start.registerEmbeddableFactory(helloWorldEmbeddableFactory.type, helloWorldEmbeddableFactory); -start.registerEmbeddableFactory(contactCardEmbeddableFactory.type, contactCardEmbeddableFactory); - -const embeddableExplorer = new EmbeddableExplorer(); -embeddableExplorer.start(createShim()); diff --git a/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/initialize.ts b/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/initialize.ts new file mode 100644 index 0000000000000..a4bc3cf17026c --- /dev/null +++ b/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/initialize.ts @@ -0,0 +1,20 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import './np_ready/public/legacy'; diff --git a/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/np_ready/kibana.json b/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/np_ready/kibana.json new file mode 100644 index 0000000000000..d0d0784eae8d3 --- /dev/null +++ b/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/np_ready/kibana.json @@ -0,0 +1,10 @@ +{ + "id": "kbn_tp_embeddable_explorer", + "version": "kibana", + "requiredPlugins": [ + "embeddable", + "inspector" + ], + "server": false, + "ui": true +} diff --git a/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/actions/edit_mode_action.tsx b/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/np_ready/public/actions/edit_mode_action.tsx similarity index 69% rename from test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/actions/edit_mode_action.tsx rename to test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/np_ready/public/actions/edit_mode_action.tsx index bab880d36a55e..a57d6444b7716 100644 --- a/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/actions/edit_mode_action.tsx +++ b/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/np_ready/public/actions/edit_mode_action.tsx @@ -17,9 +17,9 @@ * under the License. */ -import { CONTEXT_MENU_TRIGGER } from '../../../../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public'; -import { setup } from '../../../../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public/legacy'; -import { EditModeAction } from '../../../../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public/lib/test_samples/actions/edit_mode_action'; +import { CONTEXT_MENU_TRIGGER } from '../../../../../../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public'; +import { setup } from '../../../../../../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public/legacy'; +import { EditModeAction } from '../../../../../../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public/lib/test_samples/actions/edit_mode_action'; const editModeAction = new EditModeAction(); setup.registerAction(editModeAction); diff --git a/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/app/app.tsx b/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/np_ready/public/app/app.tsx similarity index 96% rename from test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/app/app.tsx rename to test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/np_ready/public/app/app.tsx index d51ffc967c653..13df6bce6089c 100644 --- a/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/app/app.tsx +++ b/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/np_ready/public/app/app.tsx @@ -16,7 +16,6 @@ * specific language governing permissions and limitations * under the License. */ -import { I18nContext } from 'ui/i18n'; import { EuiTab } from '@elastic/eui'; import React, { Component } from 'react'; import { CoreStart } from 'src/core/public'; @@ -28,7 +27,7 @@ import { import { ContactCardEmbeddableExample } from './hello_world_embeddable_example'; import { HelloWorldContainerExample } from './hello_world_container_example'; import { DashboardContainerExample } from './dashboard_container_example'; -import { Start as InspectorStartContract } from '../../../../../../src/plugins/inspector/public'; +import { Start as InspectorStartContract } from '../../../../../../../../src/plugins/inspector/public'; export interface AppProps { getActions: GetActionsCompatibleWithTrigger; @@ -38,6 +37,7 @@ export interface AppProps { notifications: CoreStart['notifications']; inspector: InspectorStartContract; SavedObjectFinder: React.ComponentType; + I18nContext: CoreStart['i18n']['Context']; } export class App extends Component { @@ -85,12 +85,12 @@ export class App extends Component { public render() { return ( - +
{this.renderTabs()}
{this.getContentsForTab()}
-
+ ); } diff --git a/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/app/dashboard_container_example.tsx b/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/np_ready/public/app/dashboard_container_example.tsx similarity index 92% rename from test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/app/dashboard_container_example.tsx rename to test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/np_ready/public/app/dashboard_container_example.tsx index b37181d567684..c1bf9da3c5827 100644 --- a/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/app/dashboard_container_example.tsx +++ b/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/np_ready/public/app/dashboard_container_example.tsx @@ -22,7 +22,7 @@ import { DASHBOARD_CONTAINER_TYPE, DashboardContainer, DashboardContainerFactory, -} from '../../../../../../src/legacy/core_plugins/dashboard_embeddable_container/public/np_ready/public'; +} from '../../../../../../../../src/legacy/core_plugins/dashboard_embeddable_container/public/np_ready/public'; import { ErrorEmbeddable, @@ -32,11 +32,11 @@ import { GetActionsCompatibleWithTrigger, GetEmbeddableFactory, GetEmbeddableFactories, -} from '../../../../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public'; +} from '../../../../../../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public'; -import { CoreStart } from '../../../../../../src/core/public'; +import { CoreStart } from '../../../../../../../../src/core/public'; import { dashboardInput } from './dashboard_input'; -import { Start as InspectorStartContract } from '../../../../../../src/plugins/inspector/public'; +import { Start as InspectorStartContract } from '../../../../../../../../src/plugins/inspector/public'; interface Props { getActions: GetActionsCompatibleWithTrigger; diff --git a/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/app/dashboard_input.ts b/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/np_ready/public/app/dashboard_input.ts similarity index 81% rename from test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/app/dashboard_input.ts rename to test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/np_ready/public/app/dashboard_input.ts index b5b97c8ac9c29..f684974b28b49 100644 --- a/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/app/dashboard_input.ts +++ b/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/np_ready/public/app/dashboard_input.ts @@ -17,10 +17,10 @@ * under the License. */ -import { DashboardContainerInput } from '../../../../../../src/legacy/core_plugins/dashboard_embeddable_container/public/np_ready/public'; -import { CONTACT_CARD_EMBEDDABLE } from '../../../../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public/lib/test_samples/embeddables/contact_card/contact_card_embeddable_factory'; -import { HELLO_WORLD_EMBEDDABLE_TYPE } from '../../../../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public/lib/test_samples/embeddables/hello_world/hello_world_embeddable'; -import { ViewMode } from '../../../../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public'; +import { DashboardContainerInput } from '../../../../../../../../src/legacy/core_plugins/dashboard_embeddable_container/public/np_ready/public'; +import { CONTACT_CARD_EMBEDDABLE } from '../../../../../../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public/lib/test_samples/embeddables/contact_card/contact_card_embeddable_factory'; +import { HELLO_WORLD_EMBEDDABLE_TYPE } from '../../../../../../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public/lib/test_samples/embeddables/hello_world/hello_world_embeddable'; +import { ViewMode } from '../../../../../../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public'; export const dashboardInput: DashboardContainerInput = { panels: { diff --git a/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/app/hello_world_container_example.tsx b/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/np_ready/public/app/hello_world_container_example.tsx similarity index 83% rename from test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/app/hello_world_container_example.tsx rename to test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/np_ready/public/app/hello_world_container_example.tsx index 425b8ab355005..70df793ee97fc 100644 --- a/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/app/hello_world_container_example.tsx +++ b/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/np_ready/public/app/hello_world_container_example.tsx @@ -20,17 +20,17 @@ import React from 'react'; import { Subscription } from 'rxjs'; import { EuiFieldText, EuiFormRow } from '@elastic/eui'; -import { CoreStart } from '../../../../../../src/core/public'; +import { CoreStart } from '../../../../../../../../src/core/public'; import { EmbeddablePanel, GetEmbeddableFactory, GetActionsCompatibleWithTrigger, GetEmbeddableFactories, -} from '../../../../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public'; -import { HelloWorldContainer } from '../../../../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public/lib/test_samples/embeddables/hello_world_container'; -import { CONTACT_CARD_EMBEDDABLE } from '../../../../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public/lib/test_samples/embeddables/contact_card/contact_card_embeddable_factory'; -import { HELLO_WORLD_EMBEDDABLE_TYPE } from '../../../../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public/lib/test_samples/embeddables/hello_world/hello_world_embeddable'; -import { Start as InspectorStartContract } from '../../../../../../src/plugins/inspector/public'; +} from '../../../../../../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public'; +import { HelloWorldContainer } from '../../../../../../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public/lib/test_samples/embeddables/hello_world_container'; +import { CONTACT_CARD_EMBEDDABLE } from '../../../../../../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public/lib/test_samples/embeddables/contact_card/contact_card_embeddable_factory'; +import { HELLO_WORLD_EMBEDDABLE_TYPE } from '../../../../../../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public/lib/test_samples/embeddables/hello_world/hello_world_embeddable'; +import { Start as InspectorStartContract } from '../../../../../../../../src/plugins/inspector/public'; interface Props { getActions: GetActionsCompatibleWithTrigger; diff --git a/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/app/hello_world_embeddable_example.tsx b/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/np_ready/public/app/hello_world_embeddable_example.tsx similarity index 85% rename from test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/app/hello_world_embeddable_example.tsx rename to test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/np_ready/public/app/hello_world_embeddable_example.tsx index a18dabd88a501..80bc2eeaf2778 100644 --- a/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/app/hello_world_embeddable_example.tsx +++ b/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/np_ready/public/app/hello_world_embeddable_example.tsx @@ -23,10 +23,10 @@ import { GetActionsCompatibleWithTrigger, GetEmbeddableFactory, GetEmbeddableFactories, -} from '../../../../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public'; -import { HelloWorldEmbeddable } from '../../../../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public/lib/test_samples/embeddables/hello_world/hello_world_embeddable'; -import { CoreStart } from '../../../../../../src/core/public'; -import { Start as InspectorStartContract } from '../../../../../../src/plugins/inspector/public'; +} from '../../../../../../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public'; +import { HelloWorldEmbeddable } from '../../../../../../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public/lib/test_samples/embeddables/hello_world/hello_world_embeddable'; +import { CoreStart } from '../../../../../../../../src/core/public'; +import { Start as InspectorStartContract } from '../../../../../../../../src/plugins/inspector/public'; interface Props { getActions: GetActionsCompatibleWithTrigger; diff --git a/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/app/index.ts b/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/np_ready/public/app/index.ts similarity index 100% rename from test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/app/index.ts rename to test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/np_ready/public/app/index.ts diff --git a/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/np_ready/public/embeddable_api.ts b/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/np_ready/public/embeddable_api.ts new file mode 100644 index 0000000000000..e46bf60dacb4b --- /dev/null +++ b/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/np_ready/public/embeddable_api.ts @@ -0,0 +1,20 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +export * from '../../../../../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public'; diff --git a/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/embeddables/hello_world_embeddable_factory.ts b/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/np_ready/public/embeddables/hello_world_embeddable_factory.ts similarity index 73% rename from test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/embeddables/hello_world_embeddable_factory.ts rename to test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/np_ready/public/embeddables/hello_world_embeddable_factory.ts index 78453e32efdcb..6be4afcb36daf 100644 --- a/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/embeddables/hello_world_embeddable_factory.ts +++ b/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/np_ready/public/embeddables/hello_world_embeddable_factory.ts @@ -17,8 +17,8 @@ * under the License. */ -import { setup } from '../../../../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public/legacy'; -import { HelloWorldEmbeddableFactory } from '../../../../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public/lib/test_samples/embeddables/hello_world/hello_world_embeddable_factory'; +import { setup } from '../../../../../../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public/legacy'; +import { HelloWorldEmbeddableFactory } from '../../../../../../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public/lib/test_samples/embeddables/hello_world/hello_world_embeddable_factory'; const factory = new HelloWorldEmbeddableFactory(); setup.registerEmbeddableFactory(factory.type, factory); diff --git a/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/index.html b/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/np_ready/public/index.html similarity index 100% rename from test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/index.html rename to test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/np_ready/public/index.html diff --git a/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/np_ready/public/index.ts b/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/np_ready/public/index.ts new file mode 100644 index 0000000000000..a844214af50c2 --- /dev/null +++ b/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/np_ready/public/index.ts @@ -0,0 +1,30 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { PluginInitializer } from 'kibana/public'; +import { + EmbeddableExplorerPublicPlugin, + EmbeddableExplorerSetup, + EmbeddableExplorerStart, +} from './plugin'; + +export { EmbeddableExplorerPublicPlugin as Plugin }; + +export const plugin: PluginInitializer = () => + new EmbeddableExplorerPublicPlugin(); diff --git a/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/shim.tsx b/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/np_ready/public/legacy.ts similarity index 54% rename from test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/shim.tsx rename to test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/np_ready/public/legacy.ts index 9773c26953b93..0d1db5d0e239c 100644 --- a/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/shim.tsx +++ b/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/np_ready/public/legacy.ts @@ -16,49 +16,40 @@ * specific language governing permissions and limitations * under the License. */ - +/* eslint-disable @kbn/eslint/no-restricted-paths */ import 'ui/autoload/all'; import 'uiExports/embeddableFactories'; import 'uiExports/embeddableActions'; +import { npSetup, npStart } from 'ui/new_platform'; +import { SavedObjectFinder } from 'ui/saved_objects/components/saved_object_finder'; +import { ExitFullScreenButton } from 'ui/exit_full_screen'; import uiRoutes from 'ui/routes'; - // @ts-ignore import { uiModules } from 'ui/modules'; - -import { Plugin } from '../../../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public'; -import { start } from '../../../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public/legacy'; -import { npStart } from '../../../../../src/legacy/ui/public/new_platform'; +/* eslint-enable @kbn/eslint/no-restricted-paths */ import template from './index.html'; -export interface PluginShim { - embeddable: ReturnType; -} +import { plugin } from '.'; +import { + setup as embeddableSetup, + start as embeddableStart, +} from '../../../../../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public/legacy'; -const { inspector } = npStart.plugins; +const pluginInstance = plugin({} as any); -export interface CoreShim { - inspector: typeof inspector; - onRenderComplete: (listener: () => void) => void; -} - -const plugins: PluginShim = { - embeddable: start, -}; +export const setup = pluginInstance.setup(npSetup.core, { + embeddable: embeddableSetup, + inspector: npSetup.plugins.inspector, + __LEGACY: { + SavedObjectFinder, + ExitFullScreenButton, + }, +}); let rendered = false; const onRenderCompleteListeners: Array<() => void> = []; -const coreShim: CoreShim = { - inspector, - onRenderComplete: (renderCompleteListener: () => void) => { - if (rendered) { - renderCompleteListener(); - } else { - onRenderCompleteListeners.push(renderCompleteListener); - } - }, -}; uiRoutes.enable(); uiRoutes.defaults(/\embeddable_explorer/, {}); @@ -72,9 +63,18 @@ uiRoutes.when('/', { }, }); -export function createShim(): { core: CoreShim; plugins: PluginShim } { - return { - core: coreShim, - plugins, - }; -} +export const start = pluginInstance.start(npStart.core, { + embeddable: embeddableStart, + inspector: npStart.plugins.inspector, + __LEGACY: { + SavedObjectFinder, + ExitFullScreenButton, + onRenderComplete: (renderCompleteListener: () => void) => { + if (rendered) { + renderCompleteListener(); + } else { + onRenderCompleteListeners.push(renderCompleteListener); + } + }, + }, +}); diff --git a/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/np_ready/public/plugin.tsx b/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/np_ready/public/plugin.tsx new file mode 100644 index 0000000000000..a7b0248d0deaf --- /dev/null +++ b/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/np_ready/public/plugin.tsx @@ -0,0 +1,114 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +import React from 'react'; +import ReactDOM from 'react-dom'; +import { CoreSetup, CoreStart, Plugin } from 'src/core/public'; + +import { + Start as InspectorStartContract, + Setup as InspectorSetupContract, +} from '../../../../../../../src/plugins/inspector/public'; + +import { Plugin as EmbeddablePlugin, CONTEXT_MENU_TRIGGER } from './embeddable_api'; + +const REACT_ROOT_ID = 'embeddableExplorerRoot'; + +import { + HelloWorldAction, + SayHelloAction, + SendMessageAction, + HelloWorldEmbeddableFactory, + ContactCardEmbeddableFactory, + HELLO_WORLD_ACTION_ID, +} from '../../../../../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public/lib/test_samples'; +import { App } from './app'; + +export interface SetupDependencies { + embeddable: ReturnType; + inspector: InspectorSetupContract; + __LEGACY: { + SavedObjectFinder: React.ComponentType; + ExitFullScreenButton: React.ComponentType; + }; +} + +interface StartDependencies { + embeddable: ReturnType; + inspector: InspectorStartContract; + __LEGACY: { + SavedObjectFinder: React.ComponentType; + ExitFullScreenButton: React.ComponentType; + onRenderComplete: (onRenderComplete: () => void) => void; + }; +} + +export type EmbeddableExplorerSetup = void; +export type EmbeddableExplorerStart = void; + +export class EmbeddableExplorerPublicPlugin + implements + Plugin { + public setup(core: CoreSetup, setupDeps: SetupDependencies): EmbeddableExplorerSetup {} + + public start(core: CoreStart, plugins: StartDependencies): EmbeddableExplorerStart { + const helloWorldAction = new HelloWorldAction(core.overlays); + const sayHelloAction = new SayHelloAction(alert); + const sendMessageAction = new SendMessageAction(core.overlays); + const helloWorldEmbeddableFactory = new HelloWorldEmbeddableFactory(); + const contactCardEmbeddableFactory = new ContactCardEmbeddableFactory( + {}, + plugins.embeddable.executeTriggerActions, + core.overlays + ); + + plugins.embeddable.registerAction(helloWorldAction); + plugins.embeddable.registerAction(sayHelloAction); + plugins.embeddable.registerAction(sendMessageAction); + + plugins.embeddable.attachAction(CONTEXT_MENU_TRIGGER, HELLO_WORLD_ACTION_ID); + + plugins.embeddable.registerEmbeddableFactory( + helloWorldEmbeddableFactory.type, + helloWorldEmbeddableFactory + ); + plugins.embeddable.registerEmbeddableFactory( + contactCardEmbeddableFactory.type, + contactCardEmbeddableFactory + ); + + plugins.__LEGACY.onRenderComplete(() => { + const root = document.getElementById(REACT_ROOT_ID); + ReactDOM.render( + , + root + ); + }); + } + + public stop() {} +} diff --git a/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/plugin.tsx b/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/plugin.tsx deleted file mode 100644 index d8c5c53b3f1b6..0000000000000 --- a/test/plugin_functional/plugins/kbn_tp_embeddable_explorer/public/plugin.tsx +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -import React from 'react'; -import ReactDOM from 'react-dom'; -import { npStart } from 'ui/new_platform'; -import { start } from '../../../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public/legacy'; -import { App } from './app/'; -import { CoreShim, PluginShim } from './shim'; -import { SavedObjectFinder } from '../../../../../src/legacy/ui/public/saved_objects/components/saved_object_finder'; - -const REACT_ROOT_ID = 'embeddableExplorerRoot'; - -export class Plugin { - public start({ core }: { core: CoreShim; plugins: PluginShim }): void { - core.onRenderComplete(() => { - const root = document.getElementById(REACT_ROOT_ID); - ReactDOM.render( - , - root - ); - }); - } -} diff --git a/test/scripts/jenkins_ci_group.sh b/test/scripts/jenkins_ci_group.sh index fb532e9ec71db..80acdac7a985b 100755 --- a/test/scripts/jenkins_ci_group.sh +++ b/test/scripts/jenkins_ci_group.sh @@ -18,4 +18,4 @@ if [ "$CI_GROUP" == "1" ]; then cd -; yarn run grunt run:pluginFunctionalTestsRelease --from=source; yarn run grunt run:interpreterFunctionalTestsRelease; -fi \ No newline at end of file +fi diff --git a/x-pack/.i18nrc.json b/x-pack/.i18nrc.json index 24f8ce79d70a6..8aa39499f1c0d 100644 --- a/x-pack/.i18nrc.json +++ b/x-pack/.i18nrc.json @@ -17,6 +17,7 @@ "xpack.indexLifecycleMgmt": "legacy/plugins/index_lifecycle_management", "xpack.infra": "legacy/plugins/infra", "xpack.kueryAutocomplete": "legacy/plugins/kuery_autocomplete", + "xpack.licensing": "plugins/licensing", "xpack.licenseMgmt": "legacy/plugins/license_management", "xpack.maps": "legacy/plugins/maps", "xpack.ml": "legacy/plugins/ml", diff --git a/x-pack/legacy/plugins/canvas/public/apps/home/home_app.js b/x-pack/legacy/plugins/canvas/public/apps/home/home_app/home_app.js similarity index 79% rename from x-pack/legacy/plugins/canvas/public/apps/home/home_app.js rename to x-pack/legacy/plugins/canvas/public/apps/home/home_app/home_app.js index 0cb9172d7a2db..bfa4abbf7c56d 100644 --- a/x-pack/legacy/plugins/canvas/public/apps/home/home_app.js +++ b/x-pack/legacy/plugins/canvas/public/apps/home/home_app/home_app.js @@ -6,10 +6,11 @@ import React from 'react'; import { EuiPage, EuiPageBody, EuiPageContent } from '@elastic/eui'; -import { WorkpadManager } from '../../components/workpad_manager'; -import { setDocTitle } from '../../lib/doc_title'; +import { WorkpadManager } from '../../../components/workpad_manager'; +import { setDocTitle } from '../../../lib/doc_title'; -export const HomeApp = () => { +export const HomeApp = ({ onLoad = () => {} }) => { + onLoad(); setDocTitle('Canvas'); return ( diff --git a/x-pack/legacy/plugins/canvas/public/apps/home/home_app.scss b/x-pack/legacy/plugins/canvas/public/apps/home/home_app/home_app.scss similarity index 100% rename from x-pack/legacy/plugins/canvas/public/apps/home/home_app.scss rename to x-pack/legacy/plugins/canvas/public/apps/home/home_app/home_app.scss diff --git a/x-pack/legacy/plugins/canvas/public/apps/home/home_app/index.js b/x-pack/legacy/plugins/canvas/public/apps/home/home_app/index.js new file mode 100644 index 0000000000000..8ecde2cc721e3 --- /dev/null +++ b/x-pack/legacy/plugins/canvas/public/apps/home/home_app/index.js @@ -0,0 +1,20 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import { connect } from 'react-redux'; +import { resetWorkpad } from '../../../state/actions/workpad'; +import { HomeApp as Component } from './home_app'; + +const mapDispatchToProps = dispatch => ({ + onLoad() { + dispatch(resetWorkpad()); + }, +}); + +export const HomeApp = connect( + null, + mapDispatchToProps +)(Component); diff --git a/x-pack/legacy/plugins/canvas/public/components/editor/editor_theme.ts b/x-pack/legacy/plugins/canvas/public/components/editor/editor_theme.ts index 8bad0b5d6e45d..836f65456a975 100644 --- a/x-pack/legacy/plugins/canvas/public/components/editor/editor_theme.ts +++ b/x-pack/legacy/plugins/canvas/public/components/editor/editor_theme.ts @@ -17,28 +17,6 @@ const IS_DARK_THEME = chrome.getUiSettingsClient().get('theme:darkMode'); const themeName = IS_DARK_THEME ? darkTheme : lightTheme; -const themeColors = { - keyword: themeName.euiColorAccent, - comment: themeName.euiColorDarkShade, - delimiter: themeName.euiColorSecondary, - string: themeName.euiColorPrimary, - number: themeName.euiColorWarning, - regexp: themeName.euiColorPrimary, - types: `${IS_DARK_THEME ? themeName.euiColorVis5 : themeName.euiColorVis9}`, - annotation: themeName.euiColorLightShade, - tag: themeName.euiColorAccent, - symbol: themeName.euiColorDanger, - foreground: themeName.euiColorDarkestShade, - editorBackground: themeName.euiColorEmptyShade, - lineNumbers: themeName.euiColorDarkShade, - editorIndentGuide: themeName.euiColorLightShade, - selectionBackground: `${IS_DARK_THEME ? '#343551' : '#E3E4ED'}`, - editorWidgetBackground: themeName.euiColorLightestShade, - editorWidgetBorder: themeName.euiColorLightShade, - findMatchBackground: themeName.euiColorWarning, - findMatchHighlightBackground: themeName.euiColorWarning, -}; - export const theme: monacoEditor.editor.IStandaloneThemeData = { base: 'vs', inherit: true, @@ -56,8 +34,8 @@ export const theme: monacoEditor.editor.IStandaloneThemeData = { { token: 'variable.predefined', foreground: themeName.euiColorSecondary }, { token: 'constant', foreground: themeName.euiColorAccent }, { token: 'comment', foreground: themeName.euiColorMediumShade }, - { token: 'number', foreground: themeName.euiColorWarning }, - { token: 'number.hex', foreground: themeName.euiColorPrimary }, + { token: 'number', foreground: themeName.euiColorAccent }, + { token: 'number.hex', foreground: themeName.euiColorAccent }, { token: 'regexp', foreground: themeName.euiColorDanger }, { token: 'annotation', foreground: themeName.euiColorMediumShade }, { token: 'type', foreground: themeName.euiColorVis0 }, @@ -104,13 +82,13 @@ export const theme: monacoEditor.editor.IStandaloneThemeData = { { token: 'predefined.sql', foreground: themeName.euiColorMediumShade }, ], colors: { - 'editor.foreground': themeColors.foreground, - 'editor.background': themeColors.editorBackground, - 'editorLineNumber.foreground': themeColors.lineNumbers, - 'editorLineNumber.activeForeground': themeColors.lineNumbers, - 'editorIndentGuide.background': themeColors.editorIndentGuide, - 'editor.selectionBackground': themeColors.selectionBackground, - 'editorWidget.border': themeColors.editorWidgetBorder, - 'editorWidget.background': themeColors.editorWidgetBackground, + 'editor.foreground': themeName.euiColorDarkestShade, + 'editor.background': themeName.euiColorEmptyShade, + 'editorLineNumber.foreground': themeName.euiColorDarkShade, + 'editorLineNumber.activeForeground': themeName.euiColorDarkShade, + 'editorIndentGuide.background': themeName.euiColorLightShade, + 'editor.selectionBackground': `${IS_DARK_THEME ? '#343551' : '#E3E4ED'}`, + 'editorWidget.border': themeName.euiColorLightShade, + 'editorWidget.background': themeName.euiColorLightestShade, }, }; diff --git a/x-pack/legacy/plugins/canvas/public/state/actions/workpad.js b/x-pack/legacy/plugins/canvas/public/state/actions/workpad.js index 4e6e8d7bd91ba..5a7fb76ca868c 100644 --- a/x-pack/legacy/plugins/canvas/public/state/actions/workpad.js +++ b/x-pack/legacy/plugins/canvas/public/state/actions/workpad.js @@ -18,6 +18,7 @@ export const setRefreshInterval = createAction('setRefreshInterval'); export const setWorkpadCSS = createAction('setWorkpadCSS'); export const enableAutoplay = createAction('enableAutoplay'); export const setAutoplayInterval = createAction('setAutoplayInterval'); +export const resetWorkpad = createAction('resetWorkpad'); export const initializeWorkpad = createThunk('initializeWorkpad', ({ dispatch }) => { dispatch(fetchAllRenderables()); diff --git a/x-pack/legacy/plugins/canvas/public/state/middleware/es_persist.js b/x-pack/legacy/plugins/canvas/public/state/middleware/es_persist.js index 5f8d0ea2918c6..154c46d9acdde 100644 --- a/x-pack/legacy/plugins/canvas/public/state/middleware/es_persist.js +++ b/x-pack/legacy/plugins/canvas/public/state/middleware/es_persist.js @@ -7,7 +7,8 @@ import { isEqual } from 'lodash'; import { getWorkpad, getFullWorkpadPersisted, getWorkpadPersisted } from '../selectors/workpad'; import { getAssetIds } from '../selectors/assets'; -import { setWorkpad, setRefreshInterval } from '../actions/workpad'; +import { appReady } from '../actions/app'; +import { setWorkpad, setRefreshInterval, resetWorkpad } from '../actions/workpad'; import { setAssets, resetAssets } from '../actions/assets'; import * as transientActions from '../actions/transient'; import * as resolvedArgsActions from '../actions/resolved_args'; @@ -28,6 +29,8 @@ const assetsChanged = (before, after) => { export const esPersistMiddleware = ({ getState }) => { // these are the actions we don't want to trigger a persist call const skippedActions = [ + appReady, // there's no need to resave the workpad once we've loaded it. + resetWorkpad, // used for resetting the workpad in state setWorkpad, // used for loading and creating workpads setAssets, // used when loading assets resetAssets, // used when creating new workpads diff --git a/x-pack/legacy/plugins/canvas/public/state/reducers/workpad.js b/x-pack/legacy/plugins/canvas/public/state/reducers/workpad.js index 124af96888b4c..12a2a2761b468 100644 --- a/x-pack/legacy/plugins/canvas/public/state/reducers/workpad.js +++ b/x-pack/legacy/plugins/canvas/public/state/reducers/workpad.js @@ -6,6 +6,7 @@ import { handleActions } from 'redux-actions'; import { recentlyAccessed } from 'ui/persisted_log'; +import { getDefaultWorkpad } from '../defaults'; import { setWorkpad, sizeWorkpad, @@ -13,6 +14,7 @@ import { setName, setWriteable, setWorkpadCSS, + resetWorkpad, } from '../actions/workpad'; import { APP_ROUTE_WORKPAD } from '../../../common/lib/constants'; @@ -44,6 +46,8 @@ export const workpadReducer = handleActions( [setWorkpadCSS]: (workpadState, { payload }) => { return { ...workpadState, css: payload }; }, + + [resetWorkpad]: () => ({ ...getDefaultWorkpad() }), }, {} ); diff --git a/x-pack/legacy/plugins/canvas/public/style/index.scss b/x-pack/legacy/plugins/canvas/public/style/index.scss index 8e9d77664d2d7..0f59142b10a55 100644 --- a/x-pack/legacy/plugins/canvas/public/style/index.scss +++ b/x-pack/legacy/plugins/canvas/public/style/index.scss @@ -5,7 +5,7 @@ @import 'main'; // Canvas apps -@import '../apps/home/home_app'; +@import '../apps/home/home_app/home_app'; @import '../apps/workpad/workpad_app/workpad_app'; @import '../apps/export/export/export_app'; diff --git a/x-pack/legacy/plugins/code/model/lsp.ts b/x-pack/legacy/plugins/code/model/lsp.ts index f7933ddb1ae52..6d07ccd4f72c9 100644 --- a/x-pack/legacy/plugins/code/model/lsp.ts +++ b/x-pack/legacy/plugins/code/model/lsp.ts @@ -12,5 +12,4 @@ export interface LspRequest { workspacePath?: string; workspaceRevision?: string; isNotification?: boolean; // if this is a notification request that doesn't need response - timeoutForInitializeMs?: number; // If the language server is initialize, how many milliseconds should we wait for it. Default infinite. } diff --git a/x-pack/legacy/plugins/code/public/components/file_tree/file_tree.tsx b/x-pack/legacy/plugins/code/public/components/file_tree/file_tree.tsx index b8c0890d77d36..d9bb5d9511525 100644 --- a/x-pack/legacy/plugins/code/public/components/file_tree/file_tree.tsx +++ b/x-pack/legacy/plugins/code/public/components/file_tree/file_tree.tsx @@ -20,17 +20,28 @@ interface Props extends RouteComponentProps { isNotFound: boolean; } -export class CodeFileTree extends React.Component { +interface State { + closedPaths: string[]; + openPaths: string[]; +} + +export class CodeFileTree extends React.Component { + static getDerivedStateFromProps(props: Props, state: State) { + return { openPaths: CodeFileTree.getOpenPaths(props.match.params.path || '', state.openPaths) }; + } + constructor(props: Props) { super(props); const { path } = props.match.params; if (path) { this.state = { openPaths: CodeFileTree.getOpenPaths(path, []), + closedPaths: [], }; } else { this.state = { openPaths: [], + closedPaths: [], }; } } @@ -51,13 +62,18 @@ export class CodeFileTree extends React.Component { - this.setState({ openPaths: CodeFileTree.getOpenPaths(path, this.state.openPaths) }); + const newClosedPaths = this.state.closedPaths.filter(p => !(p === path)); + this.setState({ + openPaths: CodeFileTree.getOpenPaths(path, this.state.openPaths), + closedPaths: newClosedPaths, + }); }; closeTreePath = (path: string) => { const isSubFolder = (p: string) => p.startsWith(path + '/'); const newOpenPaths = this.state.openPaths.filter(p => !(p === path || isSubFolder(p))); - this.setState({ openPaths: newOpenPaths }); + const newClosedPaths = [...this.state.closedPaths, path]; + this.setState({ openPaths: newOpenPaths, closedPaths: newClosedPaths }); }; public onClick = (node: Tree) => { @@ -85,7 +101,11 @@ export class CodeFileTree extends React.Component Tree[] = (node: Tree) => { if (node.childrenCount === 1 && node.children![0].type === FileTreeItemType.Directory) { - return [node, ...this.flattenDirectory(node.children![0])]; + if (node.children![0].path === this.props.match.params.path) { + return [node, node.children![0]]; + } else { + return [node, ...this.flattenDirectory(node.children![0])]; + } } else { return [node]; } @@ -289,7 +309,7 @@ export class CodeFileTree extends React.Component { if (!props.fileLoading) { return { fileLoading: props.fileLoading }; } + return null; } state = { fileLoading: this.props.fileLoading, diff --git a/x-pack/legacy/plugins/code/public/monaco/definition/definition_provider.ts b/x-pack/legacy/plugins/code/public/monaco/definition/definition_provider.ts index 7ef9dfc88b904..929e9d0737af3 100644 --- a/x-pack/legacy/plugins/code/public/monaco/definition/definition_provider.ts +++ b/x-pack/legacy/plugins/code/public/monaco/definition/definition_provider.ts @@ -72,7 +72,7 @@ export const definitionProvider: monaco.languages.DefinitionProvider = { if (result) { if (result.length > 1) { openDefinitionsPanel(); - return []; + return result.filter(l => l.location !== undefined).map(l => handleLocation(l.location!)); } else { const l = result[0]; const location = l.location; diff --git a/x-pack/legacy/plugins/code/public/reducers/file_tree.ts b/x-pack/legacy/plugins/code/public/reducers/file_tree.ts index 467f04f8f22a9..6c9d69d646703 100644 --- a/x-pack/legacy/plugins/code/public/reducers/file_tree.ts +++ b/x-pack/legacy/plugins/code/public/reducers/file_tree.ts @@ -98,6 +98,14 @@ export const fileTree = handleActions( p => p !== action.payload!.path && p !== '' ); const { tree, path, withParents } = action.payload!; + let sortedTree: FileTree | undefined = tree; + while (sortedTree && sortedTree.children && sortedTree.children.length > 0) { + sortedTree.children = sortedTree.children.sort(sortFileTree); + // each time the tree should only have one child that has children + sortedTree = sortedTree.children.find( + child => child.children && child.children.length > 0 + ); + } if (withParents || path === '/' || path === '') { draft.tree = mergeNode(draft.tree, tree); } else { diff --git a/x-pack/legacy/plugins/code/server/distributed/apis/lsp_api.ts b/x-pack/legacy/plugins/code/server/distributed/apis/lsp_api.ts index e1dd6d26607e6..222c7ee476098 100644 --- a/x-pack/legacy/plugins/code/server/distributed/apis/lsp_api.ts +++ b/x-pack/legacy/plugins/code/server/distributed/apis/lsp_api.ts @@ -14,7 +14,7 @@ import { WorkspaceStatus } from '../../lsp/request_expander'; export const LspServiceDefinitionOption = { routePrefix: '/api/code/internal/lsp' }; export const LspServiceDefinition = { sendRequest: { - request: {} as { method: string; params: any; timeoutForInitializeMs?: number }, + request: {} as { method: string; params: any }, response: {} as ResponseMessage, }, languageSeverDef: { @@ -34,8 +34,8 @@ export const LspServiceDefinition = { export const getLspServiceHandler = ( lspService: LspService ): ServiceHandlerFor => ({ - async sendRequest({ method, params, timeoutForInitializeMs }) { - return await lspService.sendRequest(method, params, timeoutForInitializeMs); + async sendRequest({ method, params }) { + return await lspService.sendRequest(method, params); }, async languageSeverDef({ lang }) { return lspService.getLanguageSeverDef(lang); diff --git a/x-pack/legacy/plugins/code/server/lsp/ctags_launcher.ts b/x-pack/legacy/plugins/code/server/lsp/ctags_launcher.ts index ba5609034f11e..e9cb6d2242bfb 100644 --- a/x-pack/legacy/plugins/code/server/lsp/ctags_launcher.ts +++ b/x-pack/legacy/plugins/code/server/lsp/ctags_launcher.ts @@ -38,7 +38,9 @@ export class CtagsLauncher extends AbstractLauncher { startConnect(proxy: LanguageServerProxy) { proxy.startServerConnection(); - this.embed!.start().catch(err => this.log.error(err)); + if (this.embed) { + this.embed.start().catch(err => this.log.error(err)); + } } async getPort(): Promise { diff --git a/x-pack/legacy/plugins/code/server/lsp/lsp_service.ts b/x-pack/legacy/plugins/code/server/lsp/lsp_service.ts index a7b54740d6359..88f9992f2d808 100644 --- a/x-pack/legacy/plugins/code/server/lsp/lsp_service.ts +++ b/x-pack/legacy/plugins/code/server/lsp/lsp_service.ts @@ -47,14 +47,9 @@ export class LspService { * send a lsp request to language server, will initiate the language server if needed * @param method the method name * @param params the request params - * @param timeoutForInitializeMs When this request triggered an initializing, for how many milliseconds the response will wait for it. */ - public async sendRequest( - method: string, - params: any, - timeoutForInitializeMs?: number - ): Promise { - const request = { method, params, timeoutForInitializeMs }; + public async sendRequest(method: string, params: any): Promise { + const request = { method, params }; await this.workspaceHandler.handleRequest(request); const response = await this.controller.handleRequest(request); return this.workspaceHandler.handleResponse(request, response); diff --git a/x-pack/legacy/plugins/code/server/lsp/request_expander.test.ts b/x-pack/legacy/plugins/code/server/lsp/request_expander.test.ts index 34f5316951544..0b4b4c6a5106b 100644 --- a/x-pack/legacy/plugins/code/server/lsp/request_expander.test.ts +++ b/x-pack/legacy/plugins/code/server/lsp/request_expander.test.ts @@ -12,7 +12,7 @@ import { pathToFileURL } from 'url'; import { ServerOptions } from '../server_options'; import { LanguageServerProxy } from './proxy'; -import { InitializingError, RequestExpander, WorkspaceUnloadedError } from './request_expander'; +import { RequestExpander, WorkspaceUnloadedError } from './request_expander'; import { ConsoleLogger } from '../utils/console_logger'; // @ts-ignore @@ -88,33 +88,6 @@ test('requests should be sequential', async () => { clock.restore(); }); -test('requests should throw error after lsp init timeout', async () => { - const clock = sinon.useFakeTimers(); - const proxyStub = createMockProxy(300); - const expander = new RequestExpander(proxyStub, false, 1, options, {}, log); - const request1 = { - method: 'request1', - params: [], - workspacePath: '/tmp/test/workspace/1', - timeoutForInitializeMs: 100, - }; - mkdirp.sync(request1.workspacePath); - const request2 = { - method: 'request2', - params: [], - workspacePath: '/tmp/test/workspace/2', - timeoutForInitializeMs: 100, - }; - mkdirp.sync(request2.workspacePath); - const response1Promise = expander.handleRequest(request1); - const response2Promise = expander.handleRequest(request2); - clock.tick(400); - process.nextTick(() => clock.runAll()); - await expect(response1Promise).rejects.toEqual(InitializingError); - await expect(response2Promise).rejects.toEqual(InitializingError); - clock.restore(); -}); - test('be able to open multiple workspace', async () => { const proxyStub = createMockProxy(); const expander = new RequestExpander(proxyStub, true, 2, options, {}, log); @@ -205,6 +178,7 @@ test('be able to swap workspace', async () => { test('requests should be cancelled if workspace is unloaded', async () => { // @ts-ignore + const clock = sinon.useFakeTimers(); const proxyStub = createMockProxy(300); const expander = new RequestExpander(proxyStub, true, 1, options, {}, log); @@ -213,16 +187,16 @@ test('requests should be cancelled if workspace is unloaded', async () => { method: 'request1', params: [], workspacePath: workspace1, - timeoutForInitializeMs: 500, }; mkdirp.sync(workspace1); const promise1 = expander.handleRequest(request); - clock.tick(100); const promise2 = expander.handleRequest(request); - await expander.unloadWorkspace(workspace1); - clock.tick(400); + setTimeout(() => expander.unloadWorkspace(workspace1), 1); + clock.tick(100); + process.nextTick(() => clock.runAll()); await expect(promise1).rejects.toEqual(WorkspaceUnloadedError); await expect(promise2).rejects.toEqual(WorkspaceUnloadedError); + clock.restore(); }); diff --git a/x-pack/legacy/plugins/code/server/lsp/request_expander.ts b/x-pack/legacy/plugins/code/server/lsp/request_expander.ts index 9b6fc1b8fbfdc..6fb2f7726ba6b 100644 --- a/x-pack/legacy/plugins/code/server/lsp/request_expander.ts +++ b/x-pack/legacy/plugins/code/server/lsp/request_expander.ts @@ -13,12 +13,11 @@ import { DidChangeWorkspaceFoldersParams, InitializeResult, } from 'vscode-languageserver-protocol'; -import { RequestCancelled, ServerNotInitialized } from '../../common/lsp_error_codes'; +import { RequestCancelled } from '../../common/lsp_error_codes'; import { LspRequest } from '../../model'; import { Logger } from '../log'; import { ServerOptions } from '../server_options'; import { Cancelable } from '../utils/cancelable'; -import { promiseTimeout } from '../utils/timeout'; import { ILanguageServerHandler, LanguageServerProxy } from './proxy'; interface Job { @@ -45,7 +44,6 @@ export interface InitializeOptions { initialOptions?: object; } -export const InitializingError = new ResponseError(ServerNotInitialized, 'Server is initializing'); export const WorkspaceUnloadedError = new ResponseError(RequestCancelled, 'Workspace unloaded'); export class RequestExpander implements ILanguageServerHandler { @@ -157,6 +155,7 @@ export class RequestExpander implements ILanguageServerHandler { await this.sendInitRequest(workspacePath); } ws.status = WorkspaceStatus.Initialized; + delete ws.initPromise; } else { for (const w of this.workspaces.values()) { if (w.status === WorkspaceStatus.Initialized) { @@ -226,24 +225,8 @@ export class RequestExpander implements ILanguageServerHandler { ws.initPromise = Cancelable.fromPromise(this.initialize(request.workspacePath)); } // Uninitialized or initializing - if (ws.status !== WorkspaceStatus.Initialized) { - const timeout = request.timeoutForInitializeMs || 0; - - if (timeout > 0 && ws.initPromise) { - try { - const elapsed = Date.now() - startTime; - await promiseTimeout(timeout - elapsed, ws.initPromise.promise); - } catch (e) { - if (e.isTimeout) { - throw InitializingError; - } - throw e; - } - } else if (ws.initPromise) { - await ws.initPromise.promise; - } else { - throw InitializingError; - } + if (ws.status === WorkspaceStatus.Initializing) { + await ws.initPromise!.promise; } } return await this.proxy.handleRequest(request); diff --git a/x-pack/legacy/plugins/code/server/routes/lsp.ts b/x-pack/legacy/plugins/code/server/routes/lsp.ts index 2d37620207dec..b8dcf0e5cd772 100644 --- a/x-pack/legacy/plugins/code/server/routes/lsp.ts +++ b/x-pack/legacy/plugins/code/server/routes/lsp.ts @@ -52,16 +52,15 @@ export function lspRoute( const requestPromise = lspService.sendRequest(endpoint, { method: `textDocument/${method}`, params: req.payload, - timeoutForInitializeMs: 1000, }); return await promiseTimeout(serverOptions.lsp.requestTimeoutMs, requestPromise); } catch (error) { if (error instanceof ResponseError) { // hide some errors; if ( - error.code !== UnknownFileLanguage || - error.code !== ServerNotInitialized || - error.code !== LanguageServerStartFailed + error.code === UnknownFileLanguage || + error.code === ServerNotInitialized || + error.code === LanguageServerStartFailed ) { log.debug(error); } @@ -102,7 +101,6 @@ export function lspRoute( lspService.sendRequest(endpoint, { method: `textDocument/edefinition`, params: { textDocument: { uri }, position }, - timeoutForInitializeMs: 1000, }) ); const hover = await lspService.sendRequest(endpoint, { @@ -149,7 +147,6 @@ export function lspRoute( lspService.sendRequest(endpoint, { method: `textDocument/references`, params: { textDocument: { uri }, position }, - timeoutForInitializeMs: 1000, }) ); const hover = await lspService.sendRequest(endpoint, { diff --git a/x-pack/legacy/plugins/code/server/utils/cancelable.ts b/x-pack/legacy/plugins/code/server/utils/cancelable.ts index e6d083d755217..4c4fc830197a0 100644 --- a/x-pack/legacy/plugins/code/server/utils/cancelable.ts +++ b/x-pack/legacy/plugins/code/server/utils/cancelable.ts @@ -13,11 +13,15 @@ export class Cancelable { private resolve: Resolve | undefined = undefined; private reject: Reject | undefined = undefined; private _cancel: Cancel | undefined = undefined; + private resolved: boolean = false; constructor(readonly fn: (resolve: Resolve, reject: Reject, onCancel: OnCancel) => void) { this.promise = new Promise((resolve, reject) => { this.resolve = resolve; this.reject = reject; + }).then((t: T) => { + this.resolved = true; + return t; }); fn(this.resolve!, this.reject!, (cancel: Cancel) => { this._cancel = cancel; @@ -25,10 +29,12 @@ export class Cancelable { } public cancel(error: any = 'canceled'): void { - if (this._cancel) { - this._cancel(error); - } else if (this.reject) { - this.reject(error); + if (!this.resolved) { + if (this._cancel) { + this._cancel(error); + } else if (this.reject) { + this.reject(error); + } } } @@ -40,8 +46,7 @@ export class Cancelable { public static fromPromise(promise: Promise) { return new Cancelable((resolve, reject, c) => { - promise.then(resolve); - promise.catch(reject); + promise.then(resolve, reject); }); } } diff --git a/x-pack/legacy/plugins/infra/public/components/metrics/index.tsx b/x-pack/legacy/plugins/infra/public/components/metrics/index.tsx index 4727f7836918b..4c3961c50857f 100644 --- a/x-pack/legacy/plugins/infra/public/components/metrics/index.tsx +++ b/x-pack/legacy/plugins/infra/public/components/metrics/index.tsx @@ -8,11 +8,12 @@ import { EuiPageContentBody, EuiTitle } from '@elastic/eui'; import { FormattedMessage, InjectedIntl, injectI18n } from '@kbn/i18n/react'; import React from 'react'; -import { InfraMetricData, InfraTimerangeInput } from '../../graphql/types'; +import { InfraMetricData } from '../../graphql/types'; import { InfraMetricLayout, InfraMetricLayoutSection } from '../../pages/metrics/layouts/types'; import { NoData } from '../empty_states'; import { InfraLoadingPanel } from '../loading'; import { Section } from './section'; +import { MetricsTimeInput } from '../../containers/metrics/with_metrics_time'; interface Props { metrics: InfraMetricData[]; @@ -21,7 +22,7 @@ interface Props { refetch: () => void; nodeId: string; label: string; - onChangeRangeTime?: (time: InfraTimerangeInput) => void; + onChangeRangeTime?: (time: MetricsTimeInput) => void; isLiveStreaming?: boolean; stopLiveStreaming?: () => void; intl: InjectedIntl; diff --git a/x-pack/legacy/plugins/infra/public/components/metrics/section.tsx b/x-pack/legacy/plugins/infra/public/components/metrics/section.tsx index a569d4796b4de..69981086637b6 100644 --- a/x-pack/legacy/plugins/infra/public/components/metrics/section.tsx +++ b/x-pack/legacy/plugins/infra/public/components/metrics/section.tsx @@ -5,14 +5,15 @@ */ import React from 'react'; -import { InfraMetricData, InfraTimerangeInput } from '../../graphql/types'; +import { InfraMetricData } from '../../graphql/types'; import { InfraMetricLayoutSection } from '../../pages/metrics/layouts/types'; import { sections } from './sections'; +import { MetricsTimeInput } from '../../containers/metrics/with_metrics_time'; interface Props { section: InfraMetricLayoutSection; metrics: InfraMetricData[]; - onChangeRangeTime?: (time: InfraTimerangeInput) => void; + onChangeRangeTime?: (time: MetricsTimeInput) => void; crosshairValue?: number; onCrosshairUpdate?: (crosshairValue: number) => void; isLiveStreaming?: boolean; diff --git a/x-pack/legacy/plugins/infra/public/components/metrics/sections/chart_section.tsx b/x-pack/legacy/plugins/infra/public/components/metrics/sections/chart_section.tsx index 547ea08361bf0..4a6ff059ba0e5 100644 --- a/x-pack/legacy/plugins/infra/public/components/metrics/sections/chart_section.tsx +++ b/x-pack/legacy/plugins/infra/public/components/metrics/sections/chart_section.tsx @@ -18,7 +18,7 @@ import { } from '@elastic/charts'; import { EuiPageContentBody, EuiTitle } from '@elastic/eui'; import { InfraMetricLayoutSection } from '../../../pages/metrics/layouts/types'; -import { InfraMetricData, InfraTimerangeInput } from '../../../graphql/types'; +import { InfraMetricData } from '../../../graphql/types'; import { getChartTheme } from '../../metrics_explorer/helpers/get_chart_theme'; import { InfraFormatterType } from '../../../lib/lib'; import { SeriesChart } from './series_chart'; @@ -32,11 +32,12 @@ import { } from './helpers'; import { ErrorMessage } from './error_message'; import { useKibanaUiSetting } from '../../../utils/use_kibana_ui_setting'; +import { MetricsTimeInput } from '../../../containers/metrics/with_metrics_time'; interface Props { section: InfraMetricLayoutSection; metric: InfraMetricData; - onChangeRangeTime?: (time: InfraTimerangeInput) => void; + onChangeRangeTime?: (time: MetricsTimeInput) => void; isLiveStreaming?: boolean; stopLiveStreaming?: () => void; intl: InjectedIntl; @@ -60,8 +61,8 @@ export const ChartSection = injectI18n( stopLiveStreaming(); } onChangeRangeTime({ - from, - to, + from: moment(from).toISOString(), + to: moment(to).toISOString(), interval: '>=1m', }); } @@ -111,7 +112,7 @@ export const ChartSection = injectI18n(

{section.label}

-
+
diff --git a/x-pack/legacy/plugins/infra/public/components/metrics/sections/series_chart.tsx b/x-pack/legacy/plugins/infra/public/components/metrics/sections/series_chart.tsx index ce359eed05a03..8a29729f7c9c5 100644 --- a/x-pack/legacy/plugins/infra/public/components/metrics/sections/series_chart.tsx +++ b/x-pack/legacy/plugins/infra/public/components/metrics/sections/series_chart.tsx @@ -46,8 +46,8 @@ export const AreaChart = ({ id, color, series, name, type, stack }: Props) => { visible: true, }, point: { - visible: false, - radius: 0.2, + visible: true, + radius: 1, strokeWidth: 2, opacity: 1, }, diff --git a/x-pack/legacy/plugins/infra/public/components/metrics/time_controls.test.tsx b/x-pack/legacy/plugins/infra/public/components/metrics/time_controls.test.tsx index a3d91672c8a9c..61872f52615a0 100644 --- a/x-pack/legacy/plugins/infra/public/components/metrics/time_controls.test.tsx +++ b/x-pack/legacy/plugins/infra/public/components/metrics/time_controls.test.tsx @@ -7,28 +7,26 @@ import React from 'react'; import { MetricsTimeControls } from './time_controls'; import { mount } from 'enzyme'; -import moment from 'moment'; -import { InfraTimerangeInput } from '../../graphql/types'; -import DateMath from '@elastic/datemath'; +import { MetricsTimeInput } from '../../containers/metrics/with_metrics_time'; describe('MetricsTimeControls', () => { it('should set a valid from and to value for Today', () => { const currentTimeRange = { - from: moment() - .subtract(15, 'm') - .valueOf(), - to: moment().valueOf(), + from: 'now-15m', + to: 'now', interval: '>=1m', }; - const handleTimeChange = jest.fn().mockImplementation((time: InfraTimerangeInput) => void 0); + const handleTimeChange = jest.fn().mockImplementation((time: MetricsTimeInput) => void 0); const handleRefreshChange = jest.fn().mockImplementation((refreshInterval: number) => void 0); const handleAutoReload = jest.fn().mockImplementation((isAutoReloading: boolean) => void 0); + const handleOnRefresh = jest.fn().mockImplementation(() => void 0); const component = mount( ); component @@ -41,12 +39,7 @@ describe('MetricsTimeControls', () => { .simulate('click'); expect(handleTimeChange.mock.calls.length).toBe(1); const timeRangeInput = handleTimeChange.mock.calls[0][0]; - const expectedFrom = DateMath.parse('now/d'); - const expectedTo = DateMath.parse('now/d', { roundUp: true }); - if (!expectedFrom || !expectedTo) { - throw new Error('This should never happen!'); - } - expect(timeRangeInput.from).toBe(expectedFrom.valueOf()); - expect(timeRangeInput.to).toBe(expectedTo.valueOf()); + expect(timeRangeInput.from).toBe('now/d'); + expect(timeRangeInput.to).toBe('now/d'); }); }); diff --git a/x-pack/legacy/plugins/infra/public/components/metrics/time_controls.tsx b/x-pack/legacy/plugins/infra/public/components/metrics/time_controls.tsx index e617dae6b2f32..7d236cf0a3ea7 100644 --- a/x-pack/legacy/plugins/infra/public/components/metrics/time_controls.tsx +++ b/x-pack/legacy/plugins/infra/public/components/metrics/time_controls.tsx @@ -4,22 +4,19 @@ * you may not use this file except in compliance with the Elastic License. */ -import dateMath from '@elastic/datemath'; import { EuiSuperDatePicker, OnRefreshChangeProps, OnTimeChangeProps } from '@elastic/eui'; -import moment from 'moment'; import React from 'react'; import euiStyled from '../../../../../common/eui_styled_components'; -import { InfraTimerangeInput } from '../../graphql/types'; - -const EuiSuperDatePickerAbsoluteFormat = 'YYYY-MM-DDTHH:mm:ss.sssZ'; +import { MetricsTimeInput } from '../../containers/metrics/with_metrics_time'; interface MetricsTimeControlsProps { - currentTimeRange: InfraTimerangeInput; + currentTimeRange: MetricsTimeInput; isLiveStreaming?: boolean; refreshInterval?: number | null; - onChangeTimeRange: (time: InfraTimerangeInput) => void; + onChangeTimeRange: (time: MetricsTimeInput) => void; setRefreshInterval: (refreshInterval: number) => void; setAutoReload: (isAutoReloading: boolean) => void; + onRefresh: () => void; } export class MetricsTimeControls extends React.Component { @@ -28,28 +25,24 @@ export class MetricsTimeControls extends React.Component ); } private handleTimeChange = ({ start, end }: OnTimeChangeProps) => { - const parsedStart = dateMath.parse(start); - const parsedEnd = dateMath.parse(end, { roundUp: true }); - - if (parsedStart && parsedEnd) { - this.props.onChangeTimeRange({ - from: parsedStart.valueOf(), - to: parsedEnd.valueOf(), - interval: '>=1m', - }); - } + this.props.onChangeTimeRange({ + from: start, + to: end, + interval: '>=1m', + }); }; private handleRefreshChange = ({ isPaused, refreshInterval }: OnRefreshChangeProps) => { diff --git a/x-pack/legacy/plugins/infra/public/containers/metrics/metrics_time.test.tsx b/x-pack/legacy/plugins/infra/public/containers/metrics/metrics_time.test.tsx index af6d7a9f16211..350fa90810935 100644 --- a/x-pack/legacy/plugins/infra/public/containers/metrics/metrics_time.test.tsx +++ b/x-pack/legacy/plugins/infra/public/containers/metrics/metrics_time.test.tsx @@ -22,8 +22,8 @@ describe('useMetricsTime hook', () => { const { act, getLastHookValue } = mountHook(() => useMetricsTime()); const timeRange = { - from: 12345, - to: 123456, + from: 'now-15m', + to: 'now', interval: '>=2m', }; @@ -36,10 +36,6 @@ describe('useMetricsTime hook', () => { }); describe('AutoReloading state', () => { - beforeEach(() => { - jest.useFakeTimers(); - }); - it('has a default value', () => { const { getLastHookValue } = mountHook(() => useMetricsTime().isAutoReloading); expect(getLastHookValue()).toBe(false); @@ -54,49 +50,5 @@ describe('useMetricsTime hook', () => { expect(getLastHookValue().isAutoReloading).toBe(true); }); - - it('sets up an interval when turned on', () => { - const { act } = mountHook(() => useMetricsTime()); - const refreshInterval = 10000; - - act(({ setAutoReload, setRefreshInterval }) => { - setRefreshInterval(refreshInterval); - setAutoReload(true); - jest.runOnlyPendingTimers(); - }); - - expect(setInterval).toHaveBeenCalledTimes(1); - expect(setInterval).toHaveBeenLastCalledWith(expect.any(Function), refreshInterval); - }); - - it('updates the time range by RANGE each interval', () => { - const { act, getLastHookValue } = mountHook(() => useMetricsTime()); - const from = 100; - const to = 300; - const RANGE = 200; - - act(({ setAutoReload, setTimeRange }) => { - setAutoReload(true); - - setTimeRange({ - from, - to, - interval: '>=1m', - }); - }); - - act(() => { - jest.advanceTimersByTime(6000); - }); - - const timeRange = getLastHookValue().timeRange; - expect(timeRange.from).toBeGreaterThan(from); - expect(timeRange.to).toBeGreaterThan(to); - const newRange = timeRange.to - timeRange.from; - // The following two assertions allow 5ms of leniency, rather than expect(newRange).toBe(RANGE), - // due to failures in CI that don't happen locally. - expect(newRange).toBeGreaterThanOrEqual(RANGE); - expect(newRange).toBeLessThanOrEqual(RANGE + 5); - }); }); }); diff --git a/x-pack/legacy/plugins/infra/public/containers/metrics/with_metrics.tsx b/x-pack/legacy/plugins/infra/public/containers/metrics/with_metrics.tsx index 5768dcfa4a3f3..da5baab030828 100644 --- a/x-pack/legacy/plugins/infra/public/containers/metrics/with_metrics.tsx +++ b/x-pack/legacy/plugins/infra/public/containers/metrics/with_metrics.tsx @@ -10,8 +10,8 @@ import { InfraMetric, InfraMetricData, InfraNodeType, - InfraTimerangeInput, MetricsQuery, + InfraTimerangeInput, } from '../../graphql/types'; import { InfraMetricLayout } from '../../pages/metrics/layouts/types'; import { metricsQuery } from './metrics.gql_query'; diff --git a/x-pack/legacy/plugins/infra/public/containers/metrics/with_metrics_time.tsx b/x-pack/legacy/plugins/infra/public/containers/metrics/with_metrics_time.tsx index bd081c2dfe8fa..e3293a09db121 100644 --- a/x-pack/legacy/plugins/infra/public/containers/metrics/with_metrics_time.tsx +++ b/x-pack/legacy/plugins/infra/public/containers/metrics/with_metrics_time.tsx @@ -5,57 +5,67 @@ */ import createContainer from 'constate-latest'; +import React, { useContext, useState, useMemo, useCallback } from 'react'; +import { isNumber } from 'lodash'; import moment from 'moment'; -import React, { useCallback, useContext, useEffect, useState } from 'react'; -import { InfraTimerangeInput } from '../../graphql/types'; -import { useInterval } from '../../hooks/use_interval'; +import dateMath from '@elastic/datemath'; +import * as rt from 'io-ts'; import { replaceStateKeyInQueryString, UrlStateContainer } from '../../utils/url_state'; +import { InfraTimerangeInput } from '../../graphql/types'; + +export interface MetricsTimeInput { + from: string; + to: string; + interval: string; +} interface MetricsTimeState { - timeRange: InfraTimerangeInput; - setTimeRange: (timeRange: InfraTimerangeInput) => void; + timeRange: MetricsTimeInput; + parsedTimeRange: InfraTimerangeInput; + setTimeRange: (timeRange: MetricsTimeInput) => void; refreshInterval: number; setRefreshInterval: (refreshInterval: number) => void; isAutoReloading: boolean; setAutoReload: (isAutoReloading: boolean) => void; + lastRefresh: number; + triggerRefresh: () => void; } export const useMetricsTime = () => { const [isAutoReloading, setAutoReload] = useState(false); const [refreshInterval, setRefreshInterval] = useState(5000); + const [lastRefresh, setLastRefresh] = useState(moment().valueOf()); const [timeRange, setTimeRange] = useState({ - from: moment() - .subtract(1, 'hour') - .valueOf(), - to: moment().valueOf(), + from: 'now-1h', + to: 'now', interval: '>=1m', }); - const setTimeRangeToNow = useCallback(() => { - const range = timeRange.to - timeRange.from; - const nowInMs = moment().valueOf(); - setTimeRange({ - from: nowInMs - range, - to: nowInMs, - interval: '>=1m', - }); - }, [timeRange.from, timeRange.to]); - - useInterval(setTimeRangeToNow, isAutoReloading ? refreshInterval : null); - - useEffect(() => { - if (isAutoReloading) { - setTimeRangeToNow(); - } - }, [isAutoReloading]); + const parsedFrom = dateMath.parse(timeRange.from); + const parsedTo = dateMath.parse(timeRange.to, { roundUp: true }); + const parsedTimeRange = useMemo( + () => ({ + ...timeRange, + from: + (parsedFrom && parsedFrom.valueOf()) || + moment() + .subtract(1, 'hour') + .valueOf(), + to: (parsedTo && parsedTo.valueOf()) || moment().valueOf(), + }), + [parsedFrom, parsedTo, lastRefresh] + ); return { timeRange, setTimeRange, + parsedTimeRange, refreshInterval, setRefreshInterval, isAutoReloading, setAutoReload, + lastRefresh, + triggerRefresh: useCallback(() => setLastRefresh(moment().valueOf()), [setLastRefresh]), }; }; @@ -141,8 +151,23 @@ const mapToUrlState = (value: any): MetricsTimeUrlState | undefined => } : undefined; -const mapToTimeUrlState = (value: any) => - value && (typeof value.to === 'number' && typeof value.from === 'number') ? value : undefined; +const MetricsTimeRT = rt.type({ + from: rt.union([rt.string, rt.number]), + to: rt.union([rt.string, rt.number]), + interval: rt.string, +}); + +const mapToTimeUrlState = (value: any) => { + const result = MetricsTimeRT.decode(value); + if (result.isRight()) { + const to = isNumber(result.value.to) ? moment(result.value.to).toISOString() : result.value.to; + const from = isNumber(result.value.from) + ? moment(result.value.from).toISOString() + : result.value.from; + return { ...result.value, from, to }; + } + return undefined; +}; const mapToAutoReloadUrlState = (value: any) => (typeof value === 'boolean' ? value : undefined); @@ -155,7 +180,7 @@ export const replaceMetricTimeInQueryString = (from: number, to: number) => autoReload: false, time: { interval: '>=1m', - from, - to, + from: moment(from).toISOString(), + to: moment(to).toISOString(), }, }); diff --git a/x-pack/legacy/plugins/infra/public/pages/metrics/index.tsx b/x-pack/legacy/plugins/infra/public/pages/metrics/index.tsx index e43e5ef95bbf2..fbfd0af867f48 100644 --- a/x-pack/legacy/plugins/infra/public/pages/metrics/index.tsx +++ b/x-pack/legacy/plugins/infra/public/pages/metrics/index.tsx @@ -33,7 +33,7 @@ import { WithMetricsTime, WithMetricsTimeUrlState, } from '../../containers/metrics/with_metrics_time'; -import { InfraNodeType, InfraTimerangeInput } from '../../graphql/types'; +import { InfraNodeType } from '../../graphql/types'; import { Error, ErrorPageBody } from '../error'; import { layoutCreators } from './layouts'; import { InfraMetricLayoutSection } from './layouts/types'; @@ -132,11 +132,13 @@ export const MetricDetail = withMetricPageProviders( {({ timeRange, + parsedTimeRange, setTimeRange, refreshInterval, setRefreshInterval, isAutoReloading, setAutoReload, + triggerRefresh, }) => (
diff --git a/x-pack/legacy/plugins/ml/public/data_frame_analytics/_index.scss b/x-pack/legacy/plugins/ml/public/data_frame_analytics/_index.scss index 5e9579fd68999..e32b15aa13bfa 100644 --- a/x-pack/legacy/plugins/ml/public/data_frame_analytics/_index.scss +++ b/x-pack/legacy/plugins/ml/public/data_frame_analytics/_index.scss @@ -1,2 +1,3 @@ @import 'pages/analytics_exploration/components/exploration/index'; @import 'pages/analytics_management/components/analytics_list/index'; +@import 'pages/analytics_management/components/create_analytics_form/index'; diff --git a/x-pack/legacy/plugins/ml/public/data_frame_analytics/common/analytics.test.ts b/x-pack/legacy/plugins/ml/public/data_frame_analytics/common/analytics.test.ts new file mode 100644 index 0000000000000..9182487cedb51 --- /dev/null +++ b/x-pack/legacy/plugins/ml/public/data_frame_analytics/common/analytics.test.ts @@ -0,0 +1,37 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import { getAnalysisType, isOutlierAnalysis } from './analytics'; + +describe('Data Frame Analytics: Analytics utils', () => { + test('getAnalysisType()', () => { + const outlierAnalysis = { outlier_detection: {} }; + expect(getAnalysisType(outlierAnalysis)).toBe('outlier_detection'); + + const regressionAnalysis = { regression: {} }; + expect(getAnalysisType(regressionAnalysis)).toBe('regression'); + + // test against a job type that does not exist yet. + const otherAnalysis = { other: {} }; + expect(getAnalysisType(otherAnalysis)).toBe('other'); + + // if the analysis object has a shape that is not just a single property, + // the job type will be returned as 'unknown'. + const unknownAnalysis = { outlier_detection: {}, regression: {} }; + expect(getAnalysisType(unknownAnalysis)).toBe('unknown'); + }); + + test('isOutlierAnalysis()', () => { + const outlierAnalysis = { outlier_detection: {} }; + expect(isOutlierAnalysis(outlierAnalysis)).toBe(true); + + const regressionAnalysis = { regression: {} }; + expect(isOutlierAnalysis(regressionAnalysis)).toBe(false); + + const unknownAnalysis = { outlier_detection: {}, regression: {} }; + expect(isOutlierAnalysis(unknownAnalysis)).toBe(false); + }); +}); diff --git a/x-pack/legacy/plugins/ml/public/data_frame_analytics/common/analytics.ts b/x-pack/legacy/plugins/ml/public/data_frame_analytics/common/analytics.ts index eb09c79b60355..5faf20991056a 100644 --- a/x-pack/legacy/plugins/ml/public/data_frame_analytics/common/analytics.ts +++ b/x-pack/legacy/plugins/ml/public/data_frame_analytics/common/analytics.ts @@ -12,16 +12,51 @@ import { Subscription } from 'rxjs'; // @ts-ignore import { isJobIdValid } from '../../../common/util/job_utils'; -// TODO -export const moveToAnalyticsWizard = () => {}; - export const isAnalyticsIdValid = isJobIdValid; export type IndexName = string; export type IndexPattern = string; export type DataFrameAnalyticsId = string; -export interface DataFrameAnalyticsOutlierConfig { +interface OutlierAnalysis { + outlier_detection: {}; +} + +interface RegressionAnalysis { + regression: { + dependent_variable: string; + training_percent?: number; + }; +} + +interface GenericAnalysis { + [key: string]: Record; +} + +type AnalysisConfig = OutlierAnalysis | RegressionAnalysis | GenericAnalysis; + +enum ANALYSIS_CONFIG_TYPE { + OUTLIER_DETECTION = 'outlier_detection', + REGRESSION = 'regression', + UNKNOWN = 'unknown', +} + +export const getAnalysisType = (analysis: AnalysisConfig) => { + const keys = Object.keys(analysis); + + if (keys.length === 1) { + return keys[0]; + } + + return ANALYSIS_CONFIG_TYPE.UNKNOWN; +}; + +export const isOutlierAnalysis = (arg: any): arg is OutlierAnalysis => { + const keys = Object.keys(arg); + return keys.length === 1 && keys[0] === ANALYSIS_CONFIG_TYPE.OUTLIER_DETECTION; +}; + +export interface DataFrameAnalyticsConfig { id: DataFrameAnalyticsId; // Description attribute is not supported yet // description?: string; @@ -32,9 +67,7 @@ export interface DataFrameAnalyticsOutlierConfig { source: { index: IndexName; }; - analysis: { - outlier_detection: {}; - }; + analysis: AnalysisConfig; analyzed_fields: { includes: string[]; excludes: string[]; diff --git a/x-pack/legacy/plugins/ml/public/data_frame_analytics/common/index.ts b/x-pack/legacy/plugins/ml/public/data_frame_analytics/common/index.ts index e5f7866aaf376..99d2c347cbe28 100644 --- a/x-pack/legacy/plugins/ml/public/data_frame_analytics/common/index.ts +++ b/x-pack/legacy/plugins/ml/public/data_frame_analytics/common/index.ts @@ -5,12 +5,13 @@ */ export { + getAnalysisType, isAnalyticsIdValid, - moveToAnalyticsWizard, + isOutlierAnalysis, refreshAnalyticsList$, useRefreshAnalyticsList, DataFrameAnalyticsId, - DataFrameAnalyticsOutlierConfig, + DataFrameAnalyticsConfig, IndexName, IndexPattern, REFRESH_ANALYTICS_LIST_STATE, diff --git a/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_exploration/components/exploration/exploration.tsx b/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_exploration/components/exploration/exploration.tsx index 1be6657ff3e1b..6e73b694b2192 100644 --- a/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_exploration/components/exploration/exploration.tsx +++ b/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_exploration/components/exploration/exploration.tsx @@ -40,7 +40,7 @@ import { ml } from '../../../../../services/ml_api_service'; import { sortColumns, toggleSelectedField, - DataFrameAnalyticsOutlierConfig, + DataFrameAnalyticsConfig, EsFieldName, EsDoc, MAX_COLUMNS, @@ -62,7 +62,7 @@ const FEATURE_INFLUENCE = 'feature_influence'; interface GetDataFrameAnalyticsResponse { count: number; - data_frame_analytics: DataFrameAnalyticsOutlierConfig[]; + data_frame_analytics: DataFrameAnalyticsConfig[]; } // Defining our own ENUM here. @@ -98,9 +98,7 @@ interface Props { } export const Exploration: FC = React.memo(({ jobId }) => { - const [jobConfig, setJobConfig] = useState( - undefined - ); + const [jobConfig, setJobConfig] = useState(undefined); useEffect(() => { (async function() { diff --git a/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_exploration/components/exploration/use_explore_data.ts b/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_exploration/components/exploration/use_explore_data.ts index 2f4b4e9d4f64e..4d94f360f9d69 100644 --- a/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_exploration/components/exploration/use_explore_data.ts +++ b/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_exploration/components/exploration/use_explore_data.ts @@ -14,7 +14,7 @@ import { getNestedProperty } from '../../../../../util/object_utils'; import { getDefaultSelectableFields, getFlattenedFields, - DataFrameAnalyticsOutlierConfig, + DataFrameAnalyticsConfig, EsDoc, EsDocSource, EsFieldName, @@ -36,7 +36,7 @@ export interface UseExploreDataReturnType { } export const useExploreData = ( - jobConfig: DataFrameAnalyticsOutlierConfig | undefined, + jobConfig: DataFrameAnalyticsConfig | undefined, selectedFields: EsFieldName[], setSelectedFields: React.Dispatch> ): UseExploreDataReturnType => { diff --git a/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/analytics_list/__mocks__/analytics_stats.json b/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/analytics_list/__mocks__/analytics_stats.json new file mode 100644 index 0000000000000..d9834bac1de83 --- /dev/null +++ b/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/analytics_list/__mocks__/analytics_stats.json @@ -0,0 +1,49 @@ +{ + "count" : 2, + "data_frame_analytics" : [ + { + "id" : "completed", + "state" : "stopped", + "progress" : [ + { + "phase" : "reindexing", + "progress_percent" : 100 + }, + { + "phase" : "loading_data", + "progress_percent" : 100 + }, + { + "phase" : "analyzing", + "progress_percent" : 100 + }, + { + "phase" : "writing_results", + "progress_percent" : 100 + } + ] + }, + { + "id" : "running", + "state" : "analyzing", + "progress" : [ + { + "phase" : "reindexing", + "progress_percent" : 100 + }, + { + "phase" : "loading_data", + "progress_percent" : 100 + }, + { + "phase" : "analyzing", + "progress_percent" : 37 + }, + { + "phase" : "writing_results", + "progress_percent" : 0 + } + ] + } + ] +} diff --git a/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/analytics_list/action_start.tsx b/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/analytics_list/action_start.tsx index b9679e0c0eec0..c92a251974a94 100644 --- a/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/analytics_list/action_start.tsx +++ b/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/analytics_list/action_start.tsx @@ -21,7 +21,7 @@ import { createPermissionFailureMessage, } from '../../../../../privilege/check_privilege'; -import { DataFrameAnalyticsListRow, isCompletedBatchAnalytics } from './common'; +import { DataFrameAnalyticsListRow, isCompletedAnalyticsJob } from './common'; interface StartActionProps { item: DataFrameAnalyticsListRow; @@ -43,14 +43,14 @@ export const StartAction: FC = ({ item }) => { defaultMessage: 'Start', }); - // Disable start for batch analytics which have completed. - const completedBatchAnalytics = isCompletedBatchAnalytics(item); + // Disable start for analytics jobs which have completed. + const completeAnalytics = isCompletedAnalyticsJob(item.stats); let startButton = ( = ({ item }) => { ); - if (!canStartStopDataFrameAnalytics || completedBatchAnalytics) { + if (!canStartStopDataFrameAnalytics || completeAnalytics) { startButton = ( = ({ item }) => { ? createPermissionFailureMessage('canStartStopDataFrameAnalytics') : i18n.translate('xpack.ml.dataframe.analyticsList.completeBatchAnalyticsToolTip', { defaultMessage: - '{analyticsId} is a completed batch analytics job and cannot be restarted.', + '{analyticsId} is a completed analytics job and cannot be restarted.', values: { analyticsId: item.config.id }, }) } diff --git a/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/analytics_list/actions.tsx b/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/analytics_list/actions.tsx index b9d55b5e71f97..d1e95acef7157 100644 --- a/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/analytics_list/actions.tsx +++ b/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/analytics_list/actions.tsx @@ -13,7 +13,9 @@ import { createPermissionFailureMessage, } from '../../../../../privilege/check_privilege'; -import { getResultsUrl, DataFrameAnalyticsListRow, DATA_FRAME_TASK_STATE } from './common'; +import { isOutlierAnalysis } from '../../../../common/analytics'; + +import { getResultsUrl, isDataFrameAnalyticsRunning, DataFrameAnalyticsListRow } from './common'; import { stopAnalytics } from '../../services/analytics_service'; import { StartAction } from './action_start'; @@ -28,23 +30,25 @@ export const getActions = () => { render: (item: DataFrameAnalyticsListRow) => { return ( (window.location.href = getResultsUrl(item.id))} size="xs" color="text" iconType="visTable" - aria-label={'View'} + aria-label={i18n.translate('xpack.ml.dataframe.analyticsList.viewAriaLabel', { + defaultMessage: 'View', + })} > - {'View'} + {i18n.translate('xpack.ml.dataframe.analyticsList.viewActionName', { + defaultMessage: 'View', + })} ); }, }, { render: (item: DataFrameAnalyticsListRow) => { - if ( - item.stats.state !== DATA_FRAME_TASK_STATE.STARTED && - item.stats.state !== DATA_FRAME_TASK_STATE.REINDEXING - ) { + if (!isDataFrameAnalyticsRunning(item.stats)) { return ; } diff --git a/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/analytics_list/columns.tsx b/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/analytics_list/columns.tsx index 63def83dd6705..6c6f53383dfb8 100644 --- a/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/analytics_list/columns.tsx +++ b/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/analytics_list/columns.tsx @@ -5,7 +5,6 @@ */ import React, { Fragment } from 'react'; -import { idx } from '@kbn/elastic-idx'; import { i18n } from '@kbn/i18n'; import { EuiBadge, @@ -18,16 +17,18 @@ import { RIGHT_ALIGNMENT, } from '@elastic/eui'; -import { DataFrameAnalyticsId } from '../../../../common'; +import { getAnalysisType, DataFrameAnalyticsId } from '../../../../common'; import { - DATA_FRAME_TASK_STATE, + getDataFrameAnalyticsProgress, DataFrameAnalyticsListColumn, DataFrameAnalyticsListRow, DataFrameAnalyticsStats, + DATA_FRAME_TASK_STATE, } from './common'; import { getActions } from './actions'; enum TASK_STATE_COLOR { + analyzing = 'primary', failed = 'danger', reindexing = 'primary', started = 'primary', @@ -105,7 +106,6 @@ export const getColumns = ( name: 'ID', sortable: true, truncateText: true, - width: isManagementTable === true ? '20%' : undefined, }, // Description is not supported yet by API /* @@ -125,7 +125,6 @@ export const getColumns = ( }), sortable: true, truncateText: true, - width: isManagementTable === true ? '25%' : undefined, }, { field: DataFrameAnalyticsListColumn.configDestIndex, @@ -134,7 +133,15 @@ export const getColumns = ( }), sortable: true, truncateText: true, - width: isManagementTable === true ? '20%' : undefined, + }, + { + name: i18n.translate('xpack.ml.dataframe.analyticsList.type', { defaultMessage: 'Type' }), + sortable: (item: DataFrameAnalyticsListRow) => getAnalysisType(item.config.analysis), + truncateText: true, + render(item: DataFrameAnalyticsListRow) { + return {getAnalysisType(item.config.analysis)}; + }, + width: '150px', }, { name: i18n.translate('xpack.ml.dataframe.analyticsList.status', { defaultMessage: 'Status' }), @@ -163,15 +170,15 @@ export const getColumns = ( name: i18n.translate('xpack.ml.dataframe.analyticsList.progress', { defaultMessage: 'Progress', }), - sortable: (item: DataFrameAnalyticsListRow) => idx(item, _ => _.stats.progress_percent) || 0, + sortable: (item: DataFrameAnalyticsListRow) => getDataFrameAnalyticsProgress(item.stats), truncateText: true, render(item: DataFrameAnalyticsListRow) { - if (item.stats.progress_percent === undefined) { + const progress = getDataFrameAnalyticsProgress(item.stats); + + if (progress === undefined) { return null; } - const progress = Math.round(item.stats.progress_percent); - // For now all analytics jobs are batch jobs. const isBatchTransform = true; @@ -217,6 +224,7 @@ export const getColumns = ( defaultMessage: 'Spaces', }), render: () => {'all'}, + width: '75px', }); } else { columns.push({ diff --git a/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/analytics_list/common.test.ts b/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/analytics_list/common.test.ts new file mode 100644 index 0000000000000..3caf09e736513 --- /dev/null +++ b/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/analytics_list/common.test.ts @@ -0,0 +1,35 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import StatsMock from './__mocks__/analytics_stats.json'; + +import { + isCompletedAnalyticsJob, + isDataFrameAnalyticsRunning, + isDataFrameAnalyticsStats, +} from './common'; + +const completedJob = StatsMock.data_frame_analytics[0]; +const runningJob = StatsMock.data_frame_analytics[1]; + +describe('Data Frame Analytics: common utils', () => { + test('isCompletedAnalyticsJob()', () => { + expect(isCompletedAnalyticsJob(completedJob)).toBe(true); + expect(isCompletedAnalyticsJob(runningJob)).toBe(false); + }); + + test('isDataFrameAnalyticsRunning()', () => { + expect(isDataFrameAnalyticsRunning(completedJob)).toBe(false); + expect(isDataFrameAnalyticsRunning(runningJob)).toBe(true); + }); + + test('isDataFrameAnalyticsStats()', () => { + expect(isDataFrameAnalyticsStats(completedJob)).toBe(true); + expect(isDataFrameAnalyticsStats(runningJob)).toBe(true); + expect(isDataFrameAnalyticsStats({})).toBe(false); + expect(isDataFrameAnalyticsStats('no-object')).toBe(false); + }); +}); diff --git a/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/analytics_list/common.ts b/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/analytics_list/common.ts index 856c40697a800..3ad493c9e2b2d 100644 --- a/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/analytics_list/common.ts +++ b/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/analytics_list/common.ts @@ -4,9 +4,10 @@ * you may not use this file except in compliance with the Elastic License. */ -import { DataFrameAnalyticsId, DataFrameAnalyticsOutlierConfig } from '../../../../common'; +import { DataFrameAnalyticsId, DataFrameAnalyticsConfig } from '../../../../common'; export enum DATA_FRAME_TASK_STATE { + ANALYZING = 'analyzing', FAILED = 'failed', REINDEXING = 'reindexing', STARTED = 'started', @@ -32,6 +33,11 @@ export interface Query { syntax: any; } +interface ProgressSection { + phase: string; + progress_percent: number; +} + export interface DataFrameAnalyticsStats { assignment_explanation?: string; id: DataFrameAnalyticsId; @@ -42,24 +48,44 @@ export interface DataFrameAnalyticsStats { name: string; transport_address: string; }; - progress_percent?: number; + progress: ProgressSection[]; reason?: string; state: DATA_FRAME_TASK_STATE; } +export function isDataFrameAnalyticsRunning(stats: DataFrameAnalyticsStats) { + return ( + stats.state === DATA_FRAME_TASK_STATE.ANALYZING || + stats.state === DATA_FRAME_TASK_STATE.STARTED || + stats.state === DATA_FRAME_TASK_STATE.REINDEXING + ); +} + export function isDataFrameAnalyticsStats(arg: any): arg is DataFrameAnalyticsStats { return ( typeof arg === 'object' && arg !== null && {}.hasOwnProperty.call(arg, 'state') && - Object.values(DATA_FRAME_TASK_STATE).includes(arg.state) + Object.values(DATA_FRAME_TASK_STATE).includes(arg.state) && + {}.hasOwnProperty.call(arg, 'progress') && + Array.isArray(arg.progress) ); } +export function getDataFrameAnalyticsProgress(stats: DataFrameAnalyticsStats) { + if (isDataFrameAnalyticsStats(stats)) { + return Math.round( + stats.progress.reduce((p, c) => p + c.progress_percent, 0) / stats.progress.length + ); + } + + return undefined; +} + export interface DataFrameAnalyticsListRow { id: DataFrameAnalyticsId; checkpointing: object; - config: DataFrameAnalyticsOutlierConfig; + config: DataFrameAnalyticsConfig; mode: string; stats: DataFrameAnalyticsStats; } @@ -75,9 +101,9 @@ export enum DataFrameAnalyticsListColumn { export type ItemIdToExpandedRowMap = Record; -export function isCompletedBatchAnalytics(item: DataFrameAnalyticsListRow) { - // For now all analytics jobs are batch jobs. - return false; +export function isCompletedAnalyticsJob(stats: DataFrameAnalyticsStats) { + const progress = getDataFrameAnalyticsProgress(stats); + return stats.state === DATA_FRAME_TASK_STATE.STOPPED && progress === 100; } export function getResultsUrl(jobId: string) { diff --git a/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/analytics_list/expanded_row.tsx b/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/analytics_list/expanded_row.tsx index 149c96d1c6eeb..cb9407271c746 100644 --- a/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/analytics_list/expanded_row.tsx +++ b/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/analytics_list/expanded_row.tsx @@ -16,6 +16,7 @@ import { formatHumanReadableDateTimeSeconds } from '../../../../../util/date_uti import { DataFrameAnalyticsListRow } from './common'; import { ExpandedRowDetailsPane, SectionConfig } from './expanded_row_details_pane'; import { ExpandedRowJsonPane } from './expanded_row_json_pane'; +import { ProgressBar } from './progress_bar'; // import { ExpandedRowMessagesPane } from './expanded_row_messages_pane'; function getItemDescription(value: any) { @@ -32,25 +33,36 @@ interface Props { export const ExpandedRow: FC = ({ item }) => { const stateValues = { ...item.stats }; + delete stateValues.progress; const state: SectionConfig = { - title: 'State', + title: i18n.translate('xpack.ml.dataframe.analyticsList.expandedRow.tabs.jobSettings.state', { + defaultMessage: 'State', + }), items: Object.entries(stateValues).map(s => { return { title: s[0].toString(), description: getItemDescription(s[1]) }; }), position: 'left', }; - const checkpointing: SectionConfig = { - title: 'Checkpointing', - items: Object.entries(item.checkpointing).map(s => { - return { title: s[0].toString(), description: getItemDescription(s[1]) }; + const progress: SectionConfig = { + title: i18n.translate( + 'xpack.ml.dataframe.analyticsList.expandedRow.tabs.jobSettings.progress', + { defaultMessage: 'Progress' } + ), + items: item.stats.progress.map(s => { + return { + title: s.phase, + description: , + }; }), position: 'left', }; const stats: SectionConfig = { - title: 'Stats', + title: i18n.translate('xpack.ml.dataframe.analyticsList.expandedRow.tabs.jobSettings.stats', { + defaultMessage: 'Stats', + }), items: [ { title: 'create_time', @@ -66,24 +78,21 @@ export const ExpandedRow: FC = ({ item }) => { const tabs = [ { - id: 'analytics-details', - name: i18n.translate( - 'xpack.ml.dataframe.analyticsList.analyticsDetails.tabs.analyticsSettingsLabel', - { - defaultMessage: 'Analytics details', - } - ), - content: , + id: 'ml-analytics-job-details', + name: i18n.translate('xpack.ml.dataframe.analyticsList.expandedRow.tabs.jobSettingsLabel', { + defaultMessage: 'Job details', + }), + content: , }, { - id: 'analytics-json', + id: 'ml-analytics-job-json', name: 'JSON', content: , }, // Audit messages are not yet supported by the analytics API. /* { - id: 'analytics-messages', + id: 'ml-analytics-job-messages', name: i18n.translate( 'xpack.ml.dataframe.analyticsList.analyticsDetails.tabs.analyticsMessagesLabel', { diff --git a/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/analytics_list/expanded_row_details_pane.tsx b/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/analytics_list/expanded_row_details_pane.tsx index cae95286c464d..32b2ca3472018 100644 --- a/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/analytics_list/expanded_row_details_pane.tsx +++ b/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/analytics_list/expanded_row_details_pane.tsx @@ -4,7 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ -import React, { Fragment, FC } from 'react'; +import React, { Fragment, FC, ReactElement } from 'react'; import { EuiDescriptionList, @@ -17,7 +17,7 @@ import { export interface SectionItem { title: string; - description: string; + description: string | ReactElement; } export interface SectionConfig { title: string; diff --git a/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/analytics_list/progress_bar.tsx b/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/analytics_list/progress_bar.tsx new file mode 100644 index 0000000000000..b2bcab4dee1c7 --- /dev/null +++ b/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/analytics_list/progress_bar.tsx @@ -0,0 +1,22 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import React, { FC } from 'react'; + +import { EuiFlexGroup, EuiFlexItem, EuiProgress, EuiText } from '@elastic/eui'; + +export const ProgressBar: FC<{ progress: number }> = ({ progress }) => ( + + + + {progress}% + + + + {`${progress}%`} + + +); diff --git a/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/create_analytics_advanced_editor/create_analytics_advanced_editor.tsx b/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/create_analytics_advanced_editor/create_analytics_advanced_editor.tsx index 05689a9e048f6..3800e42f84941 100644 --- a/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/create_analytics_advanced_editor/create_analytics_advanced_editor.tsx +++ b/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/create_analytics_advanced_editor/create_analytics_advanced_editor.tsx @@ -49,7 +49,7 @@ export const CreateAnalyticsAdvancedEditor: FC = ({ ac }; return ( - + {requestMessages.map((requestMessage, i) => ( = ({ actions, sta } = form; return ( - + {requestMessages.map((requestMessage, i) => ( ; + jobConfig: DeepPartial; jobIds: DataFrameAnalyticsId[]; requestMessages: FormMessage[]; } @@ -91,7 +91,7 @@ export const getInitialState = (): State => ({ export const getJobConfigFromFormState = ( formState: State['form'] -): DeepPartial => { +): DeepPartial => { return { source: { index: formState.sourceIndex, diff --git a/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/hooks/use_create_analytics_form/use_create_analytics_form.ts b/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/hooks/use_create_analytics_form/use_create_analytics_form.ts index 0bff0f31c0faa..dc4681169850a 100644 --- a/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/hooks/use_create_analytics_form/use_create_analytics_form.ts +++ b/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/hooks/use_create_analytics_form/use_create_analytics_form.ts @@ -14,7 +14,7 @@ import { useKibanaContext } from '../../../../../contexts/kibana'; import { useRefreshAnalyticsList, DataFrameAnalyticsId, - DataFrameAnalyticsOutlierConfig, + DataFrameAnalyticsConfig, } from '../../../../common'; import { ActionDispatchers, ACTION } from './actions'; @@ -198,7 +198,7 @@ export const useCreateAnalyticsForm = () => { try { setJobIds( (await ml.dataFrameAnalytics.getDataFrameAnalytics()).data_frame_analytics.map( - (job: DataFrameAnalyticsOutlierConfig) => job.id + (job: DataFrameAnalyticsConfig) => job.id ) ); } catch (e) { @@ -285,9 +285,9 @@ export const useCreateAnalyticsForm = () => { addRequestMessage({ error: getErrorMessage(e), message: i18n.translate( - 'xpack.ml.dataframe.analytics.create.errorCreatingDataFrameAnalyticsJob', + 'xpack.ml.dataframe.analytics.create.errorStartingDataFrameAnalyticsJob', { - defaultMessage: 'An error occurred creating the data frame analytics job:', + defaultMessage: 'An error occurred starting the data frame analytics job:', } ), }); diff --git a/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/services/analytics_service/get_analytics.ts b/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/services/analytics_service/get_analytics.ts index a37c13efb655f..36fd283cbea70 100644 --- a/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/services/analytics_service/get_analytics.ts +++ b/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/services/analytics_service/get_analytics.ts @@ -6,7 +6,7 @@ import { ml } from '../../../../../services/ml_api_service'; import { - DataFrameAnalyticsOutlierConfig, + DataFrameAnalyticsConfig, refreshAnalyticsList$, REFRESH_ANALYTICS_LIST_STATE, } from '../../../../common'; @@ -20,7 +20,7 @@ import { interface GetDataFrameAnalyticsResponse { count: number; - data_frame_analytics: DataFrameAnalyticsOutlierConfig[]; + data_frame_analytics: DataFrameAnalyticsConfig[]; } interface GetDataFrameAnalyticsStatsResponseOk { diff --git a/x-pack/legacy/plugins/reporting/common/constants.ts b/x-pack/legacy/plugins/reporting/common/constants.ts index baca113331268..6f1f43fe11fe5 100644 --- a/x-pack/legacy/plugins/reporting/common/constants.ts +++ b/x-pack/legacy/plugins/reporting/common/constants.ts @@ -24,6 +24,7 @@ export const WHITELISTED_JOB_CONTENT_TYPES = [ export const KBN_SCREENSHOT_HEADER_BLACKLIST = [ 'accept-encoding', + 'connection', 'content-length', 'content-type', 'host', diff --git a/x-pack/legacy/plugins/reporting/export_types/common/execute_job/omit_blacklisted_headers.test.ts b/x-pack/legacy/plugins/reporting/export_types/common/execute_job/omit_blacklisted_headers.test.ts index c030fc4c662cb..4d4b0c8ade3f6 100644 --- a/x-pack/legacy/plugins/reporting/export_types/common/execute_job/omit_blacklisted_headers.test.ts +++ b/x-pack/legacy/plugins/reporting/export_types/common/execute_job/omit_blacklisted_headers.test.ts @@ -20,6 +20,7 @@ test(`omits blacklisted headers`, async () => { const blacklistedHeaders = { 'accept-encoding': '', + connection: 'upgrade', 'content-length': '', 'content-type': '', host: '', diff --git a/x-pack/legacy/plugins/siem/public/components/page/network/network_dns_table/columns.tsx b/x-pack/legacy/plugins/siem/public/components/page/network/network_dns_table/columns.tsx index 1d8be96b1264b..1fdea3f2b0332 100644 --- a/x-pack/legacy/plugins/siem/public/components/page/network/network_dns_table/columns.tsx +++ b/x-pack/legacy/plugins/siem/public/components/page/network/network_dns_table/columns.tsx @@ -47,7 +47,7 @@ export const getNetworkDnsColumns = (type: networkModel.NetworkType): NetworkDns excluded: false, kqlQuery: '', queryMatch: { - field: 'dns.question.etld_plus_one', + field: 'dns.question.registered_domain', value: dnsName, operator: IS_OPERATOR, }, diff --git a/x-pack/legacy/plugins/siem/server/lib/network/query_dns.dsl.ts b/x-pack/legacy/plugins/siem/server/lib/network/query_dns.dsl.ts index c72020198ac93..48409cd938598 100644 --- a/x-pack/legacy/plugins/siem/server/lib/network/query_dns.dsl.ts +++ b/x-pack/legacy/plugins/siem/server/lib/network/query_dns.dsl.ts @@ -35,7 +35,7 @@ const getQueryOrder = (networkDnsSortField: NetworkDnsSortField): QueryOrder => const getCountAgg = () => ({ dns_count: { cardinality: { - field: 'dns.question.etld_plus_one', + field: 'dns.question.registered_domain', }, }, }); @@ -87,7 +87,7 @@ export const buildDnsQuery = ({ ...getCountAgg(), dns_name_query_count: { terms: { - field: 'dns.question.etld_plus_one', + field: 'dns.question.registered_domain', size: querySize, order: { ...getQueryOrder(networkDnsSortField), diff --git a/x-pack/legacy/plugins/uptime/common/graphql/introspection.json b/x-pack/legacy/plugins/uptime/common/graphql/introspection.json index 4d906d6ef338d..83c921a76de3a 100644 --- a/x-pack/legacy/plugins/uptime/common/graphql/introspection.json +++ b/x-pack/legacy/plugins/uptime/common/graphql/introspection.json @@ -1872,13 +1872,17 @@ { "kind": "OBJECT", "name": "TLS", - "description": "", + "description": "Contains monitor transmission encryption information.", "fields": [ { "name": "certificate_not_valid_after", - "description": "", + "description": "The date and time after which the certificate is invalid.", "args": [], - "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "type": { + "kind": "LIST", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, "isDeprecated": false, "deprecationReason": null }, @@ -2879,6 +2883,14 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "tls", + "description": "Transport encryption information.", + "args": [], + "type": { "kind": "OBJECT", "name": "TLS", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "url", "description": "", diff --git a/x-pack/legacy/plugins/uptime/common/graphql/types.ts b/x-pack/legacy/plugins/uptime/common/graphql/types.ts index fa80183ac4360..9cdf9bcf4f665 100644 --- a/x-pack/legacy/plugins/uptime/common/graphql/types.ts +++ b/x-pack/legacy/plugins/uptime/common/graphql/types.ts @@ -357,9 +357,10 @@ export interface Tcp { rtt?: Rtt | null; } - +/** Contains monitor transmission encryption information. */ export interface Tls { - certificate_not_valid_after?: string | null; + /** The date and time after which the certificate is invalid. */ + certificate_not_valid_after?: (string | null)[] | null; certificate_not_valid_before?: string | null; @@ -549,6 +550,8 @@ export interface State { summary: Summary; timestamp: UnsignedInteger; + /** Transport encryption information. */ + tls?: Tls | null; url?: StateUrl | null; } diff --git a/x-pack/legacy/plugins/uptime/server/graphql/monitor_states/schema.gql.ts b/x-pack/legacy/plugins/uptime/server/graphql/monitor_states/schema.gql.ts index 0e90928f2b0c7..6d8cd234445f4 100644 --- a/x-pack/legacy/plugins/uptime/server/graphql/monitor_states/schema.gql.ts +++ b/x-pack/legacy/plugins/uptime/server/graphql/monitor_states/schema.gql.ts @@ -124,6 +124,8 @@ export const monitorStatesSchema = gql` monitor: MonitorState summary: Summary! timestamp: UnsignedInteger! + "Transport encryption information." + tls: TLS url: StateUrl } diff --git a/x-pack/legacy/plugins/uptime/server/graphql/pings/schema.gql.ts b/x-pack/legacy/plugins/uptime/server/graphql/pings/schema.gql.ts index 00245cc1a1b80..15b01ab98482a 100644 --- a/x-pack/legacy/plugins/uptime/server/graphql/pings/schema.gql.ts +++ b/x-pack/legacy/plugins/uptime/server/graphql/pings/schema.gql.ts @@ -243,8 +243,10 @@ export const pingsSchema = gql` rtt: RTT } + "Contains monitor transmission encryption information." type TLS { - certificate_not_valid_after: String + "The date and time after which the certificate is invalid." + certificate_not_valid_after: [String] certificate_not_valid_before: String certificates: String rtt: RTT diff --git a/x-pack/legacy/plugins/uptime/server/lib/adapters/monitor_states/__tests__/__snapshots__/elasticsearch_monitor_states_adapter.test.ts.snap b/x-pack/legacy/plugins/uptime/server/lib/adapters/monitor_states/__tests__/__snapshots__/elasticsearch_monitor_states_adapter.test.ts.snap index f4c78e7bfacc4..21ef7b09c9068 100644 --- a/x-pack/legacy/plugins/uptime/server/lib/adapters/monitor_states/__tests__/__snapshots__/elasticsearch_monitor_states_adapter.test.ts.snap +++ b/x-pack/legacy/plugins/uptime/server/lib/adapters/monitor_states/__tests__/__snapshots__/elasticsearch_monitor_states_adapter.test.ts.snap @@ -48,6 +48,9 @@ Array [ "up": 0, }, "timestamp": "2019-06-26T13:42:42.535Z", + "tls": Object { + "certificate_not_valid_after": Array [], + }, "url": Object { "domain": "localhost", "full": "http://localhost:12349/test-page", @@ -103,6 +106,11 @@ Array [ "up": 0, }, "timestamp": "2019-06-26T13:42:21.536Z", + "tls": Object { + "certificate_not_valid_after": Array [ + "2019-11-09T18:04:06.000Z", + ], + }, "url": Object { "domain": "35.245.22.113", "full": "http://35.245.22.113:12349/", diff --git a/x-pack/legacy/plugins/uptime/server/lib/adapters/monitor_states/__tests__/monitor_states_docs.json b/x-pack/legacy/plugins/uptime/server/lib/adapters/monitor_states/__tests__/monitor_states_docs.json index 05809ddbd0a6d..e57bbcf234f24 100644 --- a/x-pack/legacy/plugins/uptime/server/lib/adapters/monitor_states/__tests__/monitor_states_docs.json +++ b/x-pack/legacy/plugins/uptime/server/lib/adapters/monitor_states/__tests__/monitor_states_docs.json @@ -32,15 +32,11 @@ }, "observer": { "geo": { - "name": [ - "us-east-2" - ] + "name": ["us-east-2"] } }, "monitor": { - "ip": [ - "127.0.0.1" - ], + "ip": ["127.0.0.1"], "status": "down" }, "checks": [ @@ -89,15 +85,11 @@ }, "observer": { "geo": { - "name": [ - "us-east-2" - ] + "name": ["us-east-2"] } }, "monitor": { - "ip": [ - "35.245.22.113" - ], + "ip": ["35.245.22.113"], "status": "down" }, "checks": [ @@ -122,6 +114,9 @@ } } ], + "tls": { + "certificate_not_valid_after": ["2019-11-09T18:04:06.000Z"] + }, "@timestamp": "2019-06-26T13:42:21.536Z", "url": { "path": "/", @@ -136,4 +131,4 @@ ] } } -} \ No newline at end of file +} diff --git a/x-pack/legacy/plugins/uptime/server/lib/adapters/monitor_states/elasticsearch_monitor_states_adapter.ts b/x-pack/legacy/plugins/uptime/server/lib/adapters/monitor_states/elasticsearch_monitor_states_adapter.ts index b5727acddd709..f8a2b457ee1f3 100644 --- a/x-pack/legacy/plugins/uptime/server/lib/adapters/monitor_states/elasticsearch_monitor_states_adapter.ts +++ b/x-pack/legacy/plugins/uptime/server/lib/adapters/monitor_states/elasticsearch_monitor_states_adapter.ts @@ -209,74 +209,80 @@ export class ElasticsearchMonitorStatesAdapter implements UMMonitorStatesAdapter state.checksByAgentIdIP = new HashMap(); `, map_script: ` - Map curCheck = new HashMap(); - String agentId = doc["agent.id"][0]; - String ip = null; - if (doc["monitor.ip"].length > 0) { - ip = doc["monitor.ip"][0]; - } - String agentIdIP = agentId + "-" + (ip == null ? "" : ip.toString()); - def ts = doc["@timestamp"][0].toInstant().toEpochMilli(); - - def lastCheck = state.checksByAgentIdIP[agentId]; - Instant lastTs = lastCheck != null ? lastCheck["@timestamp"] : null; - if (lastTs != null && lastTs > ts) { - return; - } - - curCheck.put("@timestamp", ts); - - Map agent = new HashMap(); - agent.id = agentId; - curCheck.put("agent", agent); - - if (state.globals.url == null) { - Map url = new HashMap(); - Collection fields = ["full", "original", "scheme", "username", "password", "domain", "port", "path", "query", "fragment"]; - for (field in fields) { - String docPath = "url." + field; - def val = doc[docPath]; - if (!val.isEmpty()) { - url[field] = val[0]; - } - } - state.globals.url = url; - } - - Map monitor = new HashMap(); - monitor.status = doc["monitor.status"][0]; - monitor.ip = ip; - if (!doc["monitor.name"].isEmpty()) { - String monitorName = doc["monitor.name"][0]; - if (monitor.name != "") { - monitor.name = monitorName; + Map curCheck = new HashMap(); + String agentId = doc["agent.id"][0]; + String ip = null; + if (doc["monitor.ip"].length > 0) { + ip = doc["monitor.ip"][0]; + } + String agentIdIP = agentId + "-" + (ip == null ? "" : ip.toString()); + def ts = doc["@timestamp"][0].toInstant().toEpochMilli(); + + def lastCheck = state.checksByAgentIdIP[agentId]; + Instant lastTs = lastCheck != null ? lastCheck["@timestamp"] : null; + if (lastTs != null && lastTs > ts) { + return; + } + + curCheck.put("@timestamp", ts); + + Map agent = new HashMap(); + agent.id = agentId; + curCheck.put("agent", agent); + + if (state.globals.url == null) { + Map url = new HashMap(); + Collection fields = ["full", "original", "scheme", "username", "password", "domain", "port", "path", "query", "fragment"]; + for (field in fields) { + String docPath = "url." + field; + def val = doc[docPath]; + if (!val.isEmpty()) { + url[field] = val[0]; } } - curCheck.monitor = monitor; - - if (curCheck.observer == null) { - curCheck.observer = new HashMap(); - } - if (curCheck.observer.geo == null) { - curCheck.observer.geo = new HashMap(); - } - if (!doc["observer.geo.name"].isEmpty()) { - curCheck.observer.geo.name = doc["observer.geo.name"][0]; - } - if (!doc["observer.geo.location"].isEmpty()) { - curCheck.observer.geo.location = doc["observer.geo.location"][0]; - } - if (!doc["kubernetes.pod.uid"].isEmpty() && curCheck.kubernetes == null) { - curCheck.kubernetes = new HashMap(); - curCheck.kubernetes.pod = new HashMap(); - curCheck.kubernetes.pod.uid = doc["kubernetes.pod.uid"][0]; - } - if (!doc["container.id"].isEmpty() && curCheck.container == null) { - curCheck.container = new HashMap(); - curCheck.container.id = doc["container.id"][0]; + state.globals.url = url; + } + + Map monitor = new HashMap(); + monitor.status = doc["monitor.status"][0]; + monitor.ip = ip; + if (!doc["monitor.name"].isEmpty()) { + String monitorName = doc["monitor.name"][0]; + if (monitor.name != "") { + monitor.name = monitorName; } - - state.checksByAgentIdIP[agentIdIP] = curCheck; + } + curCheck.monitor = monitor; + + if (curCheck.observer == null) { + curCheck.observer = new HashMap(); + } + if (curCheck.observer.geo == null) { + curCheck.observer.geo = new HashMap(); + } + if (!doc["observer.geo.name"].isEmpty()) { + curCheck.observer.geo.name = doc["observer.geo.name"][0]; + } + if (!doc["observer.geo.location"].isEmpty()) { + curCheck.observer.geo.location = doc["observer.geo.location"][0]; + } + if (!doc["kubernetes.pod.uid"].isEmpty() && curCheck.kubernetes == null) { + curCheck.kubernetes = new HashMap(); + curCheck.kubernetes.pod = new HashMap(); + curCheck.kubernetes.pod.uid = doc["kubernetes.pod.uid"][0]; + } + if (!doc["container.id"].isEmpty() && curCheck.container == null) { + curCheck.container = new HashMap(); + curCheck.container.id = doc["container.id"][0]; + } + if (curCheck.certificate == null) { + curCheck.certificate = new HashMap(); + } + if (!doc["tls.certificate_not_valid_after"].isEmpty()) { + curCheck.certificate.expiration = doc["tls.certificate_not_valid_after"]; + } + + state.checksByAgentIdIP[agentIdIP] = curCheck; `, combine_script: 'return state;', reduce_script: ` @@ -289,6 +295,7 @@ export class ElasticsearchMonitorStatesAdapter implements UMMonitorStatesAdapter Collection geoNames = new HashSet(); Collection podUids = new HashSet(); Collection containerIds = new HashSet(); + Collection certExpirations = new HashSet(); String name = null; for (state in states) { result.putAll(state.globals); @@ -319,6 +326,9 @@ export class ElasticsearchMonitorStatesAdapter implements UMMonitorStatesAdapter if (check.container != null) { containerIds.add(check.container.id); } + if (check.certificate != null && check.certificate.expiration != null) { + certExpirations.add(check.certificate.expiration); + } } } @@ -340,6 +350,7 @@ export class ElasticsearchMonitorStatesAdapter implements UMMonitorStatesAdapter Map observer = new HashMap(); Map geo = new HashMap(); + Map certificate = new HashMap(); observer.geo = geo; geo.name = geoNames; result.observer = observer; @@ -354,6 +365,11 @@ export class ElasticsearchMonitorStatesAdapter implements UMMonitorStatesAdapter result.container = new HashMap(); result.container.id = containerIds; } + + if (!certExpirations.isEmpty()) { + result.tls = new HashMap(); + result.tls.certificate_not_valid_after = certExpirations; + } return result; `, @@ -404,8 +420,12 @@ export class ElasticsearchMonitorStatesAdapter implements UMMonitorStatesAdapter const monitorId = get(monitor, 'key.monitor_id'); monitorIds.push(monitorId); let state = get(monitor, 'state.value'); + const tls = get(state, 'tls.certificate_not_valid_after', Array()); state = { ...state, + tls: { + certificate_not_valid_after: flatten(tls), + }, timestamp: state['@timestamp'], }; const { checks } = state; diff --git a/x-pack/plugins/licensing/kibana.json b/x-pack/plugins/licensing/kibana.json new file mode 100644 index 0000000000000..a76ce1ef6a23c --- /dev/null +++ b/x-pack/plugins/licensing/kibana.json @@ -0,0 +1,8 @@ +{ + "id": "licensing", + "version": "0.0.1", + "kibanaVersion": "kibana", + "configPath": ["x-pack", "licensing"], + "server": true, + "ui": false +} diff --git a/x-pack/plugins/licensing/server/__fixtures__/setup.ts b/x-pack/plugins/licensing/server/__fixtures__/setup.ts new file mode 100644 index 0000000000000..a0cb1ea1a2b67 --- /dev/null +++ b/x-pack/plugins/licensing/server/__fixtures__/setup.ts @@ -0,0 +1,115 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import { take, skip } from 'rxjs/operators'; +import { merge } from 'lodash'; +import { ClusterClient } from 'src/core/server'; +import { coreMock } from '../../../../../src/core/server/mocks'; +import { Plugin } from '../plugin'; +import { schema } from '../schema'; + +export async function licenseMerge(xpackInfo = {}) { + return merge( + { + license: { + uid: '00000000-0000-0000-0000-000000000000', + type: 'basic', + mode: 'basic', + status: 'active', + }, + features: { + ccr: { + available: false, + enabled: true, + }, + data_frame: { + available: true, + enabled: true, + }, + graph: { + available: false, + enabled: true, + }, + ilm: { + available: true, + enabled: true, + }, + logstash: { + available: false, + enabled: true, + }, + ml: { + available: false, + enabled: true, + }, + monitoring: { + available: true, + enabled: true, + }, + rollup: { + available: true, + enabled: true, + }, + security: { + available: true, + enabled: true, + }, + sql: { + available: true, + enabled: true, + }, + vectors: { + available: true, + enabled: true, + }, + voting_only: { + available: true, + enabled: true, + }, + watcher: { + available: false, + enabled: true, + }, + }, + }, + xpackInfo + ); +} + +export async function setupOnly(pluginInitializerContext: any = {}) { + const coreSetup = coreMock.createSetup(); + const clusterClient = ((await coreSetup.elasticsearch.dataClient$ + .pipe(take(1)) + .toPromise()) as unknown) as jest.Mocked>; + const plugin = new Plugin( + coreMock.createPluginInitializerContext({ + config: schema.validate(pluginInitializerContext.config || {}), + }) + ); + + return { coreSetup, plugin, clusterClient }; +} + +export async function setup(xpackInfo = {}, pluginInitializerContext: any = {}) { + const { coreSetup, clusterClient, plugin } = await setupOnly(pluginInitializerContext); + + clusterClient.callAsInternalUser.mockResolvedValueOnce(licenseMerge(xpackInfo)); + + const { license$ } = await plugin.setup(coreSetup); + const license = await license$ + .pipe( + skip(1), + take(1) + ) + .toPromise(); + + return { + plugin, + license$, + license, + clusterClient, + }; +} diff --git a/x-pack/plugins/licensing/server/constants.ts b/x-pack/plugins/licensing/server/constants.ts new file mode 100644 index 0000000000000..f2823ea00933c --- /dev/null +++ b/x-pack/plugins/licensing/server/constants.ts @@ -0,0 +1,21 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +export const SERVICE_NAME = 'licensing'; +export const DEFAULT_POLLING_FREQUENCY = 30001; // 30 seconds +export enum LICENSE_STATUS { + Unavailable = 'UNAVAILABLE', + Invalid = 'INVALID', + Expired = 'EXPIRED', + Valid = 'VALID', +} +export enum LICENSE_TYPE { + basic = 10, + standard = 20, + gold = 30, + platinum = 40, + trial = 50, +} diff --git a/x-pack/plugins/licensing/server/index.ts b/x-pack/plugins/licensing/server/index.ts new file mode 100644 index 0000000000000..49415b63bc3b7 --- /dev/null +++ b/x-pack/plugins/licensing/server/index.ts @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import { PluginInitializerContext } from 'src/core/server'; +import { schema } from './schema'; +import { Plugin } from './plugin'; + +export * from './types'; +export const config = { schema }; +export const plugin = (context: PluginInitializerContext) => new Plugin(context); diff --git a/x-pack/plugins/licensing/server/license.test.ts b/x-pack/plugins/licensing/server/license.test.ts new file mode 100644 index 0000000000000..1c308a6280449 --- /dev/null +++ b/x-pack/plugins/licensing/server/license.test.ts @@ -0,0 +1,180 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import { ILicense } from './types'; +import { Plugin } from './plugin'; +import { LICENSE_STATUS } from './constants'; +import { LicenseFeature } from './license_feature'; +import { setup } from './__fixtures__/setup'; + +describe('license', () => { + let plugin: Plugin; + let license: ILicense; + + afterEach(async () => { + await plugin.stop(); + }); + + test('uid returns a UID field', async () => { + ({ plugin, license } = await setup()); + + expect(license.uid).toBe('00000000-0000-0000-0000-000000000000'); + }); + + test('isActive returns true if status is active', async () => { + ({ plugin, license } = await setup()); + + expect(license.isActive).toBe(true); + }); + + test('isActive returns false if status is not active', async () => { + ({ plugin, license } = await setup({ + license: { + status: 'aCtIvE', // needs to match exactly + }, + })); + + expect(license.isActive).toBe(false); + }); + + test('expiryDateInMillis returns expiry_date_in_millis', async () => { + const expiry = Date.now(); + + ({ plugin, license } = await setup({ + license: { + expiry_date_in_millis: expiry, + }, + })); + + expect(license.expiryDateInMillis).toBe(expiry); + }); + + test('isOneOf returns true if the type includes one of the license types', async () => { + ({ plugin, license } = await setup({ + license: { + type: 'platinum', + }, + })); + + expect(license.isOneOf('platinum')).toBe(true); + expect(license.isOneOf(['platinum'])).toBe(true); + expect(license.isOneOf(['gold', 'platinum'])).toBe(true); + expect(license.isOneOf(['platinum', 'gold'])).toBe(true); + expect(license.isOneOf(['basic', 'gold'])).toBe(false); + expect(license.isOneOf(['basic'])).toBe(false); + }); + + test('type returns the license type', async () => { + ({ plugin, license } = await setup()); + + expect(license.type).toBe('basic'); + }); + + test('returns feature API with getFeature', async () => { + ({ plugin, license } = await setup()); + + const security = license.getFeature('security'); + const fake = license.getFeature('fake'); + + expect(security).toBeInstanceOf(LicenseFeature); + expect(fake).toBeInstanceOf(LicenseFeature); + }); + + describe('isActive', () => { + test('should return Valid if active and check matches', async () => { + ({ plugin, license } = await setup({ + license: { + type: 'gold', + }, + })); + + expect(license.check('test', 'basic').check).toBe(LICENSE_STATUS.Valid); + expect(license.check('test', 'gold').check).toBe(LICENSE_STATUS.Valid); + }); + + test('should return Invalid if active and check does not match', async () => { + ({ plugin, license } = await setup()); + + const { check } = license.check('test', 'gold'); + + expect(check).toBe(LICENSE_STATUS.Invalid); + }); + + test('should return Unavailable if missing license', async () => { + ({ plugin, license } = await setup({ license: null })); + + const { check } = license.check('test', 'gold'); + + expect(check).toBe(LICENSE_STATUS.Unavailable); + }); + + test('should return Expired if not active', async () => { + ({ plugin, license } = await setup({ + license: { + status: 'not-active', + }, + })); + + const { check } = license.check('test', 'basic'); + + expect(check).toBe(LICENSE_STATUS.Expired); + }); + }); + + describe('basic', () => { + test('isBasic is true if active and basic', async () => { + ({ plugin, license } = await setup()); + + expect(license.isBasic).toBe(true); + }); + + test('isBasic is false if active and not basic', async () => { + ({ plugin, license } = await setup({ + license: { + type: 'gold', + }, + })); + + expect(license.isBasic).toBe(false); + }); + + test('isBasic is false if not active and basic', async () => { + ({ plugin, license } = await setup({ + license: { + status: 'not-active', + }, + })); + + expect(license.isBasic).toBe(false); + }); + + test('isNotBasic is false if not active', async () => { + ({ plugin, license } = await setup({ + license: { + status: 'not-active', + }, + })); + + expect(license.isNotBasic).toBe(false); + }); + + test('isNotBasic is true if active and not basic', async () => { + ({ plugin, license } = await setup({ + license: { + type: 'gold', + }, + })); + + expect(license.isNotBasic).toBe(true); + }); + + test('isNotBasic is false if active and basic', async () => { + ({ plugin, license } = await setup()); + + expect(license.isNotBasic).toBe(false); + }); + }); +}); diff --git a/x-pack/plugins/licensing/server/license.ts b/x-pack/plugins/licensing/server/license.ts new file mode 100644 index 0000000000000..4d2d1d3fb41ba --- /dev/null +++ b/x-pack/plugins/licensing/server/license.ts @@ -0,0 +1,178 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import { i18n } from '@kbn/i18n'; +import { createHash } from 'crypto'; +import { LicenseFeature } from './license_feature'; +import { LICENSE_STATUS, LICENSE_TYPE } from './constants'; +import { LicenseType, ILicense } from './types'; + +function toLicenseType(minimumLicenseRequired: LICENSE_TYPE | string) { + if (typeof minimumLicenseRequired !== 'string') { + return minimumLicenseRequired; + } + + if (!(minimumLicenseRequired in LICENSE_TYPE)) { + throw new Error(`${minimumLicenseRequired} is not a valid license type`); + } + + return LICENSE_TYPE[minimumLicenseRequired as LicenseType]; +} + +export class License implements ILicense { + private readonly hasLicense: boolean; + private readonly license: any; + private readonly features: any; + private _signature!: string; + private objectified!: any; + private readonly featuresMap: Map; + + constructor( + license: any, + features: any, + private error: Error | null, + private clusterSource: string + ) { + this.hasLicense = Boolean(license); + this.license = license || {}; + this.features = features; + this.featuresMap = new Map(); + } + + public get uid() { + return this.license.uid; + } + + public get status() { + return this.license.status; + } + + public get isActive() { + return this.status === 'active'; + } + + public get expiryDateInMillis() { + return this.license.expiry_date_in_millis; + } + + public get type() { + return this.license.type; + } + + public get isAvailable() { + return this.hasLicense; + } + + public get isBasic() { + return this.isActive && this.type === 'basic'; + } + + public get isNotBasic() { + return this.isActive && this.type !== 'basic'; + } + + public get reasonUnavailable() { + if (!this.isAvailable) { + return `[${this.clusterSource}] Elasticsearch cluster did not respond with license information.`; + } + + if (this.error instanceof Error && (this.error as any).status === 400) { + return `X-Pack plugin is not installed on the [${this.clusterSource}] Elasticsearch cluster.`; + } + + return this.error; + } + + public get signature() { + if (this._signature !== undefined) { + return this._signature; + } + + this._signature = createHash('md5') + .update(JSON.stringify(this.toObject())) + .digest('hex'); + + return this._signature; + } + + isOneOf(candidateLicenses: string | string[]) { + if (!Array.isArray(candidateLicenses)) { + candidateLicenses = [candidateLicenses]; + } + + return candidateLicenses.includes(this.type); + } + + meetsMinimumOf(minimum: LICENSE_TYPE) { + return LICENSE_TYPE[this.type as LicenseType] >= minimum; + } + + check(pluginName: string, minimumLicenseRequired: LICENSE_TYPE | string) { + const minimum = toLicenseType(minimumLicenseRequired); + + if (!this.isAvailable) { + return { + check: LICENSE_STATUS.Unavailable, + message: i18n.translate('xpack.licensing.check.errorUnavailableMessage', { + defaultMessage: + 'You cannot use {pluginName} because license information is not available at this time.', + values: { pluginName }, + }), + }; + } + + const { type: licenseType } = this.license; + + if (!this.meetsMinimumOf(minimum)) { + return { + check: LICENSE_STATUS.Invalid, + message: i18n.translate('xpack.licensing.check.errorUnsupportedMessage', { + defaultMessage: + 'Your {licenseType} license does not support {pluginName}. Please upgrade your license.', + values: { licenseType, pluginName }, + }), + }; + } + + if (!this.isActive) { + return { + check: LICENSE_STATUS.Expired, + message: i18n.translate('xpack.licensing.check.errorExpiredMessage', { + defaultMessage: + 'You cannot use {pluginName} because your {licenseType} license has expired.', + values: { licenseType, pluginName }, + }), + }; + } + + return { check: LICENSE_STATUS.Valid }; + } + + toObject() { + if (this.objectified) { + return this.objectified; + } + + this.objectified = { + license: { + type: this.type, + isActive: this.isActive, + expiryDateInMillis: this.expiryDateInMillis, + }, + features: [...this.featuresMap].map(([, feature]) => feature.toObject()), + }; + + return this.objectified; + } + + getFeature(name: string) { + if (!this.featuresMap.has(name)) { + this.featuresMap.set(name, new LicenseFeature(name, this.features[name], this)); + } + + return this.featuresMap.get(name); + } +} diff --git a/x-pack/plugins/licensing/server/license_feature.test.ts b/x-pack/plugins/licensing/server/license_feature.test.ts new file mode 100644 index 0000000000000..d36fa2cca48ba --- /dev/null +++ b/x-pack/plugins/licensing/server/license_feature.test.ts @@ -0,0 +1,42 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import { ILicense } from './types'; +import { Plugin } from './plugin'; +import { setup } from './__fixtures__/setup'; + +describe('licensing feature', () => { + let plugin: Plugin; + let license: ILicense; + + afterEach(async () => { + await plugin.stop(); + }); + + test('isAvailable', async () => { + ({ plugin, license } = await setup()); + + const security = license.getFeature('security'); + + expect(security!.isAvailable).toBe(true); + }); + + test('isEnabled', async () => { + ({ plugin, license } = await setup()); + + const security = license.getFeature('security'); + + expect(security!.isEnabled).toBe(true); + }); + + test('name', async () => { + ({ plugin, license } = await setup()); + + const security = license.getFeature('security'); + + expect(security!.name).toBe('security'); + }); +}); diff --git a/x-pack/plugins/licensing/server/license_feature.ts b/x-pack/plugins/licensing/server/license_feature.ts new file mode 100644 index 0000000000000..58c5b81e7af74 --- /dev/null +++ b/x-pack/plugins/licensing/server/license_feature.ts @@ -0,0 +1,34 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import { License } from './license'; +import { LicenseFeatureSerializer } from './types'; + +export class LicenseFeature { + private serializable: LicenseFeatureSerializer = license => ({ + name: this.name, + isAvailable: this.isAvailable, + isEnabled: this.isEnabled, + }); + + constructor(public name: string, private feature: any = {}, private license: License) {} + + public get isAvailable() { + return !!this.feature.available; + } + + public get isEnabled() { + return !!this.feature.enabled; + } + + public onObject(serializable: LicenseFeatureSerializer) { + this.serializable = serializable; + } + + public toObject() { + return this.serializable(this.license); + } +} diff --git a/x-pack/plugins/licensing/server/licensing_config.ts b/x-pack/plugins/licensing/server/licensing_config.ts new file mode 100644 index 0000000000000..a5fd3d0a7b046 --- /dev/null +++ b/x-pack/plugins/licensing/server/licensing_config.ts @@ -0,0 +1,23 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import { PluginInitializerContext } from 'src/core/server'; +import { LicensingConfigType } from './types'; + +export class LicensingConfig { + public isEnabled: boolean; + public clusterSource: string; + public pollingFrequency: number; + + /** + * @internal + */ + constructor(rawConfig: LicensingConfigType, env: PluginInitializerContext['env']) { + this.isEnabled = rawConfig.isEnabled; + this.clusterSource = rawConfig.clusterSource; + this.pollingFrequency = rawConfig.pollingFrequency; + } +} diff --git a/x-pack/plugins/licensing/server/plugin.test.ts b/x-pack/plugins/licensing/server/plugin.test.ts new file mode 100644 index 0000000000000..e8d3b651620ba --- /dev/null +++ b/x-pack/plugins/licensing/server/plugin.test.ts @@ -0,0 +1,83 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import { take, skip } from 'rxjs/operators'; +import { ILicense } from './types'; +import { Plugin } from './plugin'; +import { License } from './license'; +import { setup, setupOnly, licenseMerge } from './__fixtures__/setup'; + +describe('licensing plugin', () => { + let plugin: Plugin; + let license: ILicense; + + afterEach(async () => { + await plugin.stop(); + }); + + test('returns instance of licensing setup', async () => { + ({ plugin, license } = await setup()); + expect(license).toBeInstanceOf(License); + }); + + test('still returns instance of licensing setup when request fails', async () => { + const { clusterClient, coreSetup, plugin: _plugin } = await setupOnly(); + + plugin = _plugin; + clusterClient.callAsInternalUser.mockRejectedValue(new Error('test')); + + const { license$ } = await plugin.setup(coreSetup); + const finalLicense = await license$ + .pipe( + skip(1), + take(1) + ) + .toPromise(); + + expect(finalLicense).toBeInstanceOf(License); + }); + + test('observable receives updated licenses', async () => { + const { clusterClient, coreSetup, plugin: _plugin } = await setupOnly({ + config: { + pollingFrequency: 100, + }, + }); + const types = ['basic', 'gold', 'platinum']; + let iterations = 0; + + plugin = _plugin; + clusterClient.callAsInternalUser.mockImplementation(() => { + return Promise.resolve( + licenseMerge({ + license: { + type: types[iterations++], + }, + }) + ); + }); + + const { license$ } = await plugin.setup(coreSetup); + const licenseTypes: any[] = []; + + await new Promise(resolve => { + const subscription = license$.subscribe(next => { + if (!next.type) { + return; + } + + if (iterations > 3) { + subscription.unsubscribe(); + resolve(); + } else { + licenseTypes.push(next.type); + } + }); + }); + + expect(licenseTypes).toEqual(['basic', 'gold', 'platinum']); + }); +}); diff --git a/x-pack/plugins/licensing/server/plugin.ts b/x-pack/plugins/licensing/server/plugin.ts new file mode 100644 index 0000000000000..7c9a0df15229f --- /dev/null +++ b/x-pack/plugins/licensing/server/plugin.ts @@ -0,0 +1,136 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import { Observable } from 'rxjs'; +import { first, map } from 'rxjs/operators'; +import moment from 'moment'; +import { + CoreSetup, + CoreStart, + Logger, + Plugin as CorePlugin, + PluginInitializerContext, +} from 'src/core/server'; +import { Poller } from '../../../../src/core/utils/poller'; +import { LicensingConfigType, LicensingPluginSetup, ILicense } from './types'; +import { LicensingConfig } from './licensing_config'; +import { License } from './license'; + +export class Plugin implements CorePlugin { + private readonly logger: Logger; + private readonly config$: Observable; + private poller!: Poller; + + constructor(private readonly context: PluginInitializerContext) { + this.logger = this.context.logger.get(); + this.config$ = this.context.config + .create() + .pipe( + map(config => + 'config' in config + ? new LicensingConfig(config.config, this.context.env) + : new LicensingConfig(config, this.context.env) + ) + ); + } + + private hasLicenseInfoChanged(newLicense: any) { + const currentLicense = this.poller.subject$.getValue(); + + if ((currentLicense && !newLicense) || (newLicense && !currentLicense)) { + return true; + } + + return ( + newLicense.type !== currentLicense.type || + newLicense.status !== currentLicense.status || + newLicense.expiry_date_in_millis !== currentLicense.expiryDateInMillis + ); + } + + private async fetchInfo(core: CoreSetup, clusterSource: string, pollingFrequency: number) { + this.logger.debug( + `Calling [${clusterSource}] Elasticsearch _xpack API. Polling frequency: ${pollingFrequency}` + ); + + const cluster = await core.elasticsearch.dataClient$.pipe(first()).toPromise(); + + try { + const response = await cluster.callAsInternalUser('transport.request', { + method: 'GET', + path: '/_xpack', + }); + const rawLicense = response && response.license; + const features = (response && response.features) || {}; + const licenseInfoChanged = this.hasLicenseInfoChanged(rawLicense); + + if (!licenseInfoChanged) { + return { license: false, error: null, features: null }; + } + + const currentLicense = this.poller.subject$.getValue(); + const licenseInfo = [ + 'type' in rawLicense && `type: ${rawLicense.type}`, + 'status' in rawLicense && `status: ${rawLicense.status}`, + 'expiry_date_in_millis' in rawLicense && + `expiry date: ${moment(rawLicense.expiry_date_in_millis, 'x').format()}`, + ] + .filter(Boolean) + .join(' | '); + + this.logger.info( + `Imported ${currentLicense ? 'changed ' : ''}license information` + + ` from Elasticsearch for the [${clusterSource}] cluster: ${licenseInfo}` + ); + + return { license: rawLicense, error: null, features }; + } catch (err) { + this.logger.warn( + `License information could not be obtained from Elasticsearch` + + ` for the [${clusterSource}] cluster. ${err}` + ); + + return { license: null, error: err, features: {} }; + } + } + + private create({ clusterSource, pollingFrequency }: LicensingConfig, core: CoreSetup) { + this.poller = new Poller( + pollingFrequency, + new License(null, {}, null, clusterSource), + async () => { + const { license, features, error } = await this.fetchInfo( + core, + clusterSource, + pollingFrequency + ); + + if (license !== false) { + return new License(license, features, error, clusterSource); + } + } + ); + + return this.poller; + } + + public async setup(core: CoreSetup) { + const config = await this.config$.pipe(first()).toPromise(); + const poller = this.create(config, core); + + return { + license$: poller.subject$.asObservable(), + }; + } + + public async start(core: CoreStart) {} + + public stop() { + if (this.poller) { + this.poller.unsubscribe(); + } + } +} diff --git a/x-pack/plugins/licensing/server/schema.ts b/x-pack/plugins/licensing/server/schema.ts new file mode 100644 index 0000000000000..cfc467677f7b6 --- /dev/null +++ b/x-pack/plugins/licensing/server/schema.ts @@ -0,0 +1,14 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import { schema as Schema } from '@kbn/config-schema'; +import { DEFAULT_POLLING_FREQUENCY } from './constants'; + +export const schema = Schema.object({ + isEnabled: Schema.boolean({ defaultValue: true }), + clusterSource: Schema.string({ defaultValue: 'data' }), + pollingFrequency: Schema.number({ defaultValue: DEFAULT_POLLING_FREQUENCY }), +}); diff --git a/x-pack/plugins/licensing/server/types.ts b/x-pack/plugins/licensing/server/types.ts new file mode 100644 index 0000000000000..a3ceea327c7b0 --- /dev/null +++ b/x-pack/plugins/licensing/server/types.ts @@ -0,0 +1,120 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import { Observable } from 'rxjs'; +import { TypeOf } from '@kbn/config-schema'; +import { schema } from './schema'; +import { LICENSE_TYPE, LICENSE_STATUS } from './constants'; +import { LicenseFeature } from './license_feature'; + +/** + * @public + * Results from checking if a particular license type meets the minimum + * requirements of the license type. + */ +export interface ILicenseCheck { + /** + * The status of checking the results of a license type meeting the license minimum. + */ + check: LICENSE_STATUS; + /** + * A message containing the reason for a license type not being valid. + */ + message?: string; +} +/** @public */ +export interface ILicense { + /** + * UID for license. + */ + uid?: string; + + /** + * The validity status of the license. + */ + status?: string; + + /** + * Determine if the status of the license is active. + */ + isActive: boolean; + + /** + * Unix epoch of the expiration date of the license. + */ + expiryDateInMillis?: number; + + /** + * The license type, being usually one of basic, standard, gold, platinum, or trial. + */ + type?: string; + + /** + * Determine if the license container has information. + */ + isAvailable: boolean; + + /** + * Determine if the type of the license is basic, and also active. + */ + isBasic: boolean; + + /** + * Determine if the type of the license is not basic, and also active. + */ + isNotBasic: boolean; + + /** + * If the license is not available, provides a string or Error containing the reason. + */ + reasonUnavailable: string | Error | null; + + /** + * The MD5 hash of the serialized license. + */ + signature: string; + + /** + * Determine if the provided license types match against the license type. + * @param candidateLicenses license types to intersect against the license. + */ + isOneOf(candidateLicenses: string | string[]): boolean; + + /** + * Determine if the provided license type is sufficient for the current license. + * @param minimum a license type to determine for sufficiency + */ + meetsMinimumOf(minimum: LICENSE_TYPE): boolean; + + /** + * For a given plugin and license type, receive information about the status of the license. + * @param pluginName the name of the plugin + * @param minimumLicenseRequired the minimum valid license for operating the given plugin + */ + check(pluginName: string, minimumLicenseRequired: LICENSE_TYPE | string): ILicenseCheck; + + /** + * Receive a serialized plain object of the license. + */ + toObject(): any; + + /** + * A specific API for interacting with the specific features of the license. + * @param name the name of the feature to interact with + */ + getFeature(name: string): LicenseFeature | undefined; +} + +/** @public */ +export interface LicensingPluginSetup { + license$: Observable; +} +/** @public */ +export type LicensingConfigType = TypeOf; +/** @public */ +export type LicenseType = keyof typeof LICENSE_TYPE; +/** @public */ +export type LicenseFeatureSerializer = (licensing: ILicense) => any; diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index 98af4d5c21eb2..c07cf455dcd8b 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -506,24 +506,24 @@ "common.ui.savedObjects.confirmModal.overwriteTitle": "{name} を上書きしますか?", "common.ui.savedObjects.confirmModal.saveDuplicateButtonLabel": "{name} を保存", "common.ui.savedObjects.confirmModal.saveDuplicateConfirmationMessage": "「{title}」というタイトルの {name} が既に存在します。保存を続けますか?", - "common.ui.savedObjects.finder.filterButtonLabel": "タイプ", - "common.ui.savedObjects.finder.searchPlaceholder": "検索…", - "common.ui.savedObjects.finder.sortAsc": "昇順", - "common.ui.savedObjects.finder.sortAuto": "ベストマッチ", - "common.ui.savedObjects.finder.sortButtonLabel": "並べ替え", - "common.ui.savedObjects.finder.sortDesc": "降順", + "kibana-react.savedObjects.finder.filterButtonLabel": "タイプ", + "kibana-react.savedObjects.finder.searchPlaceholder": "検索…", + "kibana-react.savedObjects.finder.sortAsc": "昇順", + "kibana-react.savedObjects.finder.sortAuto": "ベストマッチ", + "kibana-react.savedObjects.finder.sortButtonLabel": "並べ替え", + "kibana-react.savedObjects.finder.sortDesc": "降順", "common.ui.savedObjects.howToSaveAsNewDescription": "Kibana の以前のバージョンでは、{savedObjectName} の名前を変更すると新しい名前でコピーが作成されました。今後この操作を行うには、「新規 {savedObjectName} として保存」を使用します。", "common.ui.savedObjects.overwriteRejectedDescription": "上書き確認が拒否されました", "common.ui.savedObjects.saveAsNewLabel": "新規 {savedObjectName} として保存", "common.ui.savedObjects.saveDuplicateRejectedDescription": "重複ファイルの保存確認が拒否されました", - "common.ui.savedObjects.saveModal.cancelButtonLabel": "キャンセル", - "common.ui.savedObjects.saveModal.confirmSaveButtonLabel": "保存の確認", - "common.ui.savedObjects.saveModal.duplicateTitleDescription": "重複タイトルで {objectType} を保存するには {confirmSaveLabel} をクリックしてください。", - "common.ui.savedObjects.saveModal.duplicateTitleDescription.confirmSaveText": "保存の確認", - "common.ui.savedObjects.saveModal.duplicateTitleLabel": "「{title}」というタイトルの {objectType} が既に存在します。", - "common.ui.savedObjects.saveModal.saveAsNewLabel": "新規 {objectType} として保存", - "common.ui.savedObjects.saveModal.saveTitle": "{objectType} を保存", - "common.ui.savedObjects.saveModal.titleLabel": "タイトル", + "kibana-react.savedObjects.saveModal.cancelButtonLabel": "キャンセル", + "kibana-react.savedObjects.saveModal.confirmSaveButtonLabel": "保存の確認", + "kibana-react.savedObjects.saveModal.duplicateTitleDescription": "重複タイトルで {objectType} を保存するには {confirmSaveLabel} をクリックしてください。", + "kibana-react.savedObjects.saveModal.duplicateTitleDescription.confirmSaveText": "保存の確認", + "kibana-react.savedObjects.saveModal.duplicateTitleLabel": "「{title}」というタイトルの {objectType} が既に存在します。", + "kibana-react.savedObjects.saveModal.saveAsNewLabel": "新規 {objectType} として保存", + "kibana-react.savedObjects.saveModal.saveTitle": "{objectType} を保存", + "kibana-react.savedObjects.saveModal.titleLabel": "タイトル", "common.ui.scriptingLanguages.errorFetchingToastDescription": "Elasticsearch から利用可能なスクリプト言語の取得中にエラーが発生しました", "common.ui.share.contextMenu.embedCodeLabel": "埋め込みコード", "common.ui.share.contextMenu.embedCodePanelTitle": "埋め込みコード", @@ -5287,6 +5287,9 @@ "xpack.licenseMgmt.uploadLicense.uploadButtonLabel": "アップロード", "xpack.licenseMgmt.uploadLicense.uploadingButtonLabel": "アップロード中…", "xpack.licenseMgmt.uploadLicense.uploadLicenseTitle": "ライセンスのアップロード", + "xpack.licensing.check.errorExpiredMessage": "{licenseType} ライセンスが期限切れのため {pluginName} を使用できません", + "xpack.licensing.check.errorUnavailableMessage": "現在ライセンス情報が利用できないため {pluginName} を使用できません。", + "xpack.licensing.check.errorUnsupportedMessage": "ご使用の {licenseType} ライセンスは {pluginName} をサポートしていません。ライセンスをアップグレードしてください。", "xpack.logstash.addRoleAlert.grantAdditionalPrivilegesDescription": "Kibana の管理で、Kibana ユーザーに {role} ロールを割り当ててください。", "xpack.logstash.addRoleAlert.grantAdditionalPrivilegesTitle": "追加権限の授与。", "xpack.logstash.alertCallOut.howToSeeAdditionalPipelinesDescription": "追加パイプラインを表示させる方法", @@ -9042,9 +9045,6 @@ "xpack.security.roles.createBreadcrumb": "作成", "xpack.security.users.breadcrumb": "ユーザー", "xpack.security.users.createBreadcrumb": "作成", - "xpack.server.checkLicense.errorExpiredMessage": "{licenseType} ライセンスが期限切れのため {pluginName} を使用できません", - "xpack.server.checkLicense.errorUnavailableMessage": "現在ライセンス情報が利用できないため {pluginName} を使用できません。", - "xpack.server.checkLicense.errorUnsupportedMessage": "ご使用の {licenseType} ライセンスは {pluginName} をサポートしていません。ライセンスをアップグレードしてください。", "xpack.siem.add_to_kql.filterForValueHoverAction": "値でフィルターします", "xpack.siem.andOrBadge.and": "AND", "xpack.siem.andOrBadge.or": "OR", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index 630e8220a1de5..dedbfb98402be 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -506,24 +506,24 @@ "common.ui.savedObjects.confirmModal.overwriteTitle": "覆盖“{name}”?", "common.ui.savedObjects.confirmModal.saveDuplicateButtonLabel": "保存“{name}”", "common.ui.savedObjects.confirmModal.saveDuplicateConfirmationMessage": "具有标题 “{title}” 的 “{name}” 已存在。是否确定要保存?", - "common.ui.savedObjects.finder.filterButtonLabel": "类型", - "common.ui.savedObjects.finder.searchPlaceholder": "搜索……", - "common.ui.savedObjects.finder.sortAsc": "升序", - "common.ui.savedObjects.finder.sortAuto": "最佳匹配", - "common.ui.savedObjects.finder.sortButtonLabel": "排序", - "common.ui.savedObjects.finder.sortDesc": "降序", + "kibana-react.savedObjects.finder.filterButtonLabel": "类型", + "kibana-react.savedObjects.finder.searchPlaceholder": "搜索……", + "kibana-react.savedObjects.finder.sortAsc": "升序", + "kibana-react.savedObjects.finder.sortAuto": "最佳匹配", + "kibana-react.savedObjects.finder.sortButtonLabel": "排序", + "kibana-react.savedObjects.finder.sortDesc": "降序", "common.ui.savedObjects.howToSaveAsNewDescription": "在 Kibana 的以前版本中,更改 {savedObjectName} 的名称将创建具有新名称的副本。使用“另存为新的 {savedObjectName}” 复选框可立即达到此目的。", "common.ui.savedObjects.overwriteRejectedDescription": "已拒绝覆盖确认", "common.ui.savedObjects.saveAsNewLabel": "另存为新的 {savedObjectName}", "common.ui.savedObjects.saveDuplicateRejectedDescription": "已拒绝使用重复标题保存确认", - "common.ui.savedObjects.saveModal.cancelButtonLabel": "取消", - "common.ui.savedObjects.saveModal.confirmSaveButtonLabel": "确认保存", - "common.ui.savedObjects.saveModal.duplicateTitleDescription": "单击 “{confirmSaveLabel}” 以保存标题重复的{objectType}", - "common.ui.savedObjects.saveModal.duplicateTitleDescription.confirmSaveText": "确认保存", - "common.ui.savedObjects.saveModal.duplicateTitleLabel": "具有标题 “{title}” 的 {objectType} 已存在。", - "common.ui.savedObjects.saveModal.saveAsNewLabel": "另存为新的{objectType}", - "common.ui.savedObjects.saveModal.saveTitle": "保存{objectType}", - "common.ui.savedObjects.saveModal.titleLabel": "标题", + "kibana-react.savedObjects.saveModal.cancelButtonLabel": "取消", + "kibana-react.savedObjects.saveModal.confirmSaveButtonLabel": "确认保存", + "kibana-react.savedObjects.saveModal.duplicateTitleDescription": "单击 “{confirmSaveLabel}” 以保存标题重复的{objectType}", + "kibana-react.savedObjects.saveModal.duplicateTitleDescription.confirmSaveText": "确认保存", + "kibana-react.savedObjects.saveModal.duplicateTitleLabel": "具有标题 “{title}” 的 {objectType} 已存在。", + "kibana-react.savedObjects.saveModal.saveAsNewLabel": "另存为新的{objectType}", + "kibana-react.savedObjects.saveModal.saveTitle": "保存{objectType}", + "kibana-react.savedObjects.saveModal.titleLabel": "标题", "common.ui.scriptingLanguages.errorFetchingToastDescription": "从 Elasticsearch 获取可用的脚本语言时出错", "common.ui.share.contextMenu.embedCodeLabel": "嵌入代码", "common.ui.share.contextMenu.embedCodePanelTitle": "嵌入代码", @@ -5430,6 +5430,9 @@ "xpack.licenseMgmt.uploadLicense.uploadButtonLabel": "上传", "xpack.licenseMgmt.uploadLicense.uploadingButtonLabel": "正在上传……", "xpack.licenseMgmt.uploadLicense.uploadLicenseTitle": "上传您的许可", + "xpack.licensing.check.errorExpiredMessage": "您不能使用 {pluginName},因为您的 {licenseType} 许可证已过期", + "xpack.licensing.check.errorUnavailableMessage": "您不能使用 {pluginName},因为许可证信息当前不可用。", + "xpack.licensing.check.errorUnsupportedMessage": "您的 {licenseType} 许可证不支持 {pluginName}。请升级您的许可。", "xpack.logstash.addRoleAlert.grantAdditionalPrivilegesDescription": "在 Kibana“管理”中,将 {role} 角色分配给您的 Kibana 用户。", "xpack.logstash.addRoleAlert.grantAdditionalPrivilegesTitle": "授予其他权限。", "xpack.logstash.alertCallOut.howToSeeAdditionalPipelinesDescription": "我如何可以看到其他管道?", @@ -9184,9 +9187,6 @@ "xpack.security.roles.createBreadcrumb": "创建", "xpack.security.users.breadcrumb": "用户", "xpack.security.users.createBreadcrumb": "创建", - "xpack.server.checkLicense.errorExpiredMessage": "您不能使用 {pluginName},因为您的 {licenseType} 许可证已过期", - "xpack.server.checkLicense.errorUnavailableMessage": "您不能使用 {pluginName},因为许可证信息当前不可用。", - "xpack.server.checkLicense.errorUnsupportedMessage": "您的 {licenseType} 许可证不支持 {pluginName}。请升级您的许可。", "xpack.siem.add_to_kql.filterForValueHoverAction": "筛留值", "xpack.siem.andOrBadge.and": "AND", "xpack.siem.andOrBadge.or": "OR", diff --git a/x-pack/test/functional/apps/rollup_job/index.js b/x-pack/test/functional/apps/rollup_job/index.js index cc5c6feacbdd2..a3428335872ef 100644 --- a/x-pack/test/functional/apps/rollup_job/index.js +++ b/x-pack/test/functional/apps/rollup_job/index.js @@ -5,8 +5,8 @@ */ export default function ({ loadTestFile }) { - // FLAKY: https://github.com/elastic/kibana/issues/43559 - describe.skip('rollup job', function () { + + describe('rollup job', function () { this.tags('ciGroup1'); loadTestFile(require.resolve('./rollup_jobs')); diff --git a/x-pack/test/functional/es_archives/packetbeat/default/mappings.json b/x-pack/test/functional/es_archives/packetbeat/default/mappings.json index 3140aa4275ba4..941b278a83390 100644 --- a/x-pack/test/functional/es_archives/packetbeat/default/mappings.json +++ b/x-pack/test/functional/es_archives/packetbeat/default/mappings.json @@ -3160,7 +3160,7 @@ "dns.question.name", "dns.question.type", "dns.question.class", - "dns.question.etld_plus_one", + "dns.question.registered_domain", "dns.answers.name", "dns.answers.type", "dns.answers.class", diff --git a/x-pack/test/functional/es_archives/packetbeat/dns/data.json.gz b/x-pack/test/functional/es_archives/packetbeat/dns/data.json.gz index 8ce74c0a60ad9..2219ef61e34a1 100644 Binary files a/x-pack/test/functional/es_archives/packetbeat/dns/data.json.gz and b/x-pack/test/functional/es_archives/packetbeat/dns/data.json.gz differ diff --git a/x-pack/test/functional/es_archives/packetbeat/dns/mappings.json b/x-pack/test/functional/es_archives/packetbeat/dns/mappings.json index e4c4e9f6d447e..904a4b23c17aa 100644 --- a/x-pack/test/functional/es_archives/packetbeat/dns/mappings.json +++ b/x-pack/test/functional/es_archives/packetbeat/dns/mappings.json @@ -3403,7 +3403,7 @@ "dns.question.name", "dns.question.type", "dns.question.class", - "dns.question.etld_plus_one", + "dns.question.registered_domain", "dns.answers.name", "dns.answers.type", "dns.answers.class", diff --git a/x-pack/test/functional/es_archives/packetbeat/overview/data.json.gz b/x-pack/test/functional/es_archives/packetbeat/overview/data.json.gz index 17f5c11b34210..857f89a60c62e 100644 Binary files a/x-pack/test/functional/es_archives/packetbeat/overview/data.json.gz and b/x-pack/test/functional/es_archives/packetbeat/overview/data.json.gz differ diff --git a/x-pack/test/functional/es_archives/packetbeat/overview/mappings.json b/x-pack/test/functional/es_archives/packetbeat/overview/mappings.json index 7ffe614ab9e84..05d77666d30ab 100644 --- a/x-pack/test/functional/es_archives/packetbeat/overview/mappings.json +++ b/x-pack/test/functional/es_archives/packetbeat/overview/mappings.json @@ -3160,7 +3160,7 @@ "dns.question.name", "dns.question.type", "dns.question.class", - "dns.question.etld_plus_one", + "dns.question.registered_domain", "dns.answers.name", "dns.answers.type", "dns.answers.class", diff --git a/x-pack/test_utils/jest/contract_tests/__memorize_snapshots__/example.contract.test.ts.snap b/x-pack/test_utils/jest/contract_tests/__memorize_snapshots__/example.contract.test.ts.snap index 56d50a67e8ff5..547fe640b6951 100644 --- a/x-pack/test_utils/jest/contract_tests/__memorize_snapshots__/example.contract.test.ts.snap +++ b/x-pack/test_utils/jest/contract_tests/__memorize_snapshots__/example.contract.test.ts.snap @@ -1,4 +1,103 @@ +exports['Example contract tests should have loaded sample data use esArchive - sample_data'] = { + "results": { + "took": 0, + "timed_out": false, + "_shards": { + "total": 1, + "successful": 1, + "skipped": 0, + "failed": 0 + }, + "hits": { + "total": { + "value": 4, + "relation": "eq" + }, + "max_score": 0.9102117, + "hits": [ + { + "_index": ".management-beats", + "_type": "_doc", + "_id": "beat:qux", + "_score": 0.9102117, + "_source": { + "beat": { + "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjcmVhdGVkIjoiMjAxOC0wNi0zMFQwMzo0MjoxNS4yMzBaIiwiaWF0IjoxNTMwMzMwMTM1fQ.SSsX2Byyo1B1bGxV8C3G4QldhE5iH87EY_1r21-bwbI", + "active": true, + "host_ip": "1.2.3.4", + "host_name": "foo.bar.com", + "id": "qux", + "name": "qux_filebeat", + "type": "filebeat" + }, + "type": "beat" + } + }, + { + "_index": ".management-beats", + "_type": "_doc", + "_id": "beat:baz", + "_score": 0.9102117, + "_source": { + "beat": { + "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjcmVhdGVkIjoiMjAxOC0wNi0zMFQwMzo0MjoxNS4yMzBaIiwiaWF0IjoxNTMwMzMwMTM1fQ.SSsX2Byyo1B1bGxV8C3G4QldhE5iH87EY_1r21-bwbI", + "active": true, + "host_ip": "22.33.11.44", + "host_name": "baz.bar.com", + "id": "baz", + "name": "baz_metricbeat", + "type": "metricbeat" + }, + "type": "beat" + } + }, + { + "_index": ".management-beats", + "_type": "_doc", + "_id": "beat:foo", + "_score": 0.9102117, + "_source": { + "beat": { + "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjcmVhdGVkIjoiMjAxOC0wNi0zMFQwMzo0MjoxNS4yMzBaIiwiaWF0IjoxNTMwMzMwMTM1fQ.SSsX2Byyo1B1bGxV8C3G4QldhE5iH87EY_1r21-bwbI", + "active": true, + "host_ip": "1.2.3.4", + "host_name": "foo.bar.com", + "id": "foo", + "name": "foo_metricbeat", + "tags": [ + "production", + "qa" + ], + "type": "metricbeat", + "verified_on": "2018-05-15T16:25:38.924Z" + }, + "type": "beat" + } + }, + { + "_index": ".management-beats", + "_type": "_doc", + "_id": "beat:bar", + "_score": 0.9102117, + "_source": { + "beat": { + "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjcmVhdGVkIjoiMjAxOC0wNi0zMFQwMzo0MjoxNS4yMzBaIiwiaWF0IjoxNTMwMzMwMTM1fQ.SSsX2Byyo1B1bGxV8C3G4QldhE5iH87EY_1r21-bwbI", + "active": true, + "host_ip": "11.22.33.44", + "host_name": "foo.com", + "id": "bar", + "name": "bar_filebeat", + "type": "filebeat" + }, + "type": "beat" + } + } + ] + } + } +} + exports['Example contract tests should run online or offline - example_test_snapshot'] = { "results": { "serverExists": true diff --git a/x-pack/test_utils/jest/contract_tests/example.contract.test.ts b/x-pack/test_utils/jest/contract_tests/example.contract.test.ts index 9aac6682a3ee8..9f06a24193a27 100644 --- a/x-pack/test_utils/jest/contract_tests/example.contract.test.ts +++ b/x-pack/test_utils/jest/contract_tests/example.contract.test.ts @@ -7,18 +7,23 @@ import Slapshot from '@mattapperson/slapshot'; import { createKibanaServer } from './servers'; +import { getEsArchiver } from './services/es_archiver'; +import { EsArchiver } from 'src/es_archiver'; +import * as path from 'path'; +import elasticsearch from 'elasticsearch'; const { callWhenOnline, memorize } = Slapshot; let servers: { kbnServer: any; shutdown: () => void }; +let esArchiver: EsArchiver; describe('Example contract tests', () => { beforeAll(async () => { await callWhenOnline(async () => { - servers = await createKibanaServer({ - security: { - enabled: false, - }, + servers = await createKibanaServer(); + esArchiver = getEsArchiver({ + kibanaUrl: servers.kbnServer.info.uri, + dir: path.resolve(__dirname, 'sample_es_archives'), }); }); }); @@ -28,6 +33,9 @@ describe('Example contract tests', () => { } }); + beforeEach(async () => await callWhenOnline(() => esArchiver.load('example'))); + afterEach(async () => await callWhenOnline(() => esArchiver.unload('example'))); + it('should run online or offline', async () => { const res = await memorize('example_test_snapshot', async () => { return { serverExists: !!servers.kbnServer }; @@ -36,4 +44,44 @@ describe('Example contract tests', () => { expect(res).toBeDefined(); expect(res.serverExists).toBe(true); }); + + it('should have loaded sample data use esArchive', async () => { + const dataInES: any = await memorize('sample_data', () => { + // To keep things simple in this example, getting the connection infor the the JEST contract test ES server + const esConfig = JSON.parse(process.env.__JEST__ESServer || ''); + const client = new elasticsearch.Client({ + hosts: esConfig.hosts, + httpAuth: esConfig.username ? `${esConfig.username}:${esConfig.password}` : undefined, + }); + + return new Promise((resolve, reject) => { + client.search( + { + index: '.management-beats', + size: 10000, + ignore: [404], + body: { + query: { + bool: { + must: { + term: { + type: 'beat', + }, + }, + }, + }, + }, + }, + (err, data) => { + if (err) reject(err); + + resolve(data); + } + ); + }); + }); + + expect(dataInES).toBeDefined(); + expect(dataInES.hits.hits.length).toEqual(4); + }); }); diff --git a/x-pack/test_utils/jest/contract_tests/sample_es_archives/example/data.json b/x-pack/test_utils/jest/contract_tests/sample_es_archives/example/data.json new file mode 100644 index 0000000000000..c2c4aba83a1c6 --- /dev/null +++ b/x-pack/test_utils/jest/contract_tests/sample_es_archives/example/data.json @@ -0,0 +1,171 @@ +{ + "value": { + "id": "beat:qux", + "index": ".management-beats", + "source": { + "beat": { + "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjcmVhdGVkIjoiMjAxOC0wNi0zMFQwMzo0MjoxNS4yMzBaIiwiaWF0IjoxNTMwMzMwMTM1fQ.SSsX2Byyo1B1bGxV8C3G4QldhE5iH87EY_1r21-bwbI", + "active": true, + "host_ip": "1.2.3.4", + "host_name": "foo.bar.com", + "id": "qux", + "name": "qux_filebeat", + "type": "filebeat" + }, + "type": "beat" + } + } +} + +{ + "value": { + "id": "beat:baz", + "index": ".management-beats", + "source": { + "beat": { + "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjcmVhdGVkIjoiMjAxOC0wNi0zMFQwMzo0MjoxNS4yMzBaIiwiaWF0IjoxNTMwMzMwMTM1fQ.SSsX2Byyo1B1bGxV8C3G4QldhE5iH87EY_1r21-bwbI", + "active": true, + "host_ip": "22.33.11.44", + "host_name": "baz.bar.com", + "id": "baz", + "name": "baz_metricbeat", + "type": "metricbeat" + }, + "type": "beat" + } + } +} + +{ + "value": { + "id": "beat:foo", + "index": ".management-beats", + "source": { + "beat": { + "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjcmVhdGVkIjoiMjAxOC0wNi0zMFQwMzo0MjoxNS4yMzBaIiwiaWF0IjoxNTMwMzMwMTM1fQ.SSsX2Byyo1B1bGxV8C3G4QldhE5iH87EY_1r21-bwbI", + "active": true, + "host_ip": "1.2.3.4", + "host_name": "foo.bar.com", + "id": "foo", + "name": "foo_metricbeat", + "tags": [ + "production", + "qa" + ], + "type": "metricbeat", + "verified_on": "2018-05-15T16:25:38.924Z" + }, + "type": "beat" + } + } +} + +{ + "value": { + "id": "beat:bar", + "index": ".management-beats", + "source": { + "beat": { + "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjcmVhdGVkIjoiMjAxOC0wNi0zMFQwMzo0MjoxNS4yMzBaIiwiaWF0IjoxNTMwMzMwMTM1fQ.SSsX2Byyo1B1bGxV8C3G4QldhE5iH87EY_1r21-bwbI", + "active": true, + "host_ip": "11.22.33.44", + "host_name": "foo.com", + "id": "bar", + "name": "bar_filebeat", + "type": "filebeat" + }, + "type": "beat" + } + } +} + +{ + "value": { + "id": "tag:production", + "index": ".management-beats", + "source": { + "tag": { + "color": "blue" + }, + "type": "tag" + } + } +} + +{ + "value": { + "id": "tag:development", + "index": ".management-beats", + "source": { + "tag": { + "color": "red" + }, + "type": "tag" + } + } +} + +{ + "value": { + "id": "tag:qa", + "index": ".management-beats", + "source": { + "tag": { + "color": "green" + }, + "type": "tag" + } + } +} + +{ + "value": { + "id": "configuration_block:SDfsdfIBdsfsf50zbta", + "index": ".management-beats", + "source": { + "configuration_block": { + "config": "{ \"username\": \"some-username\", \"hosts\": [\"localhost:11211\"] }", + "description": "some description", + "last_updated": "2018-05-15T16:25:38.924Z", + "tag": "production", + "type": "output" + }, + "type": "configuration_block" + }, + "type": "_doc" + } +} + +{ + "value": { + "id": "configuration_block:W0tpsmIBdsfsf50zbta", + "index": ".management-beats", + "source": { + "configuration_block": { + "config": "{ \"module\": \"memcached\", \"hosts\": [\"localhost:11211\"] }", + "last_updated": "2018-05-15T16:25:38.924Z", + "tag": "production", + "type": "metricbeat.modules" + }, + "type": "configuration_block" + }, + "type": "_doc" + } +} + +{ + "value": { + "id": "configuration_block:W0tpsmIBdwcYyG50zbta", + "index": ".management-beats", + "source": { + "configuration_block": { + "config": "{\"module\": \"memcached\", \"node.namespace\": \"node\", \"hosts\": [\"localhost:4949\"] }", + "last_updated": "2018-05-15T16:25:38.924Z", + "tag": "qa", + "type": "metricbeat.modules" + }, + "type": "configuration_block" + }, + "type": "_doc" + } +} \ No newline at end of file diff --git a/x-pack/test_utils/jest/contract_tests/servers.ts b/x-pack/test_utils/jest/contract_tests/servers.ts index 44bad3ea702cc..c458d65b6a11d 100644 --- a/x-pack/test_utils/jest/contract_tests/servers.ts +++ b/x-pack/test_utils/jest/contract_tests/servers.ts @@ -24,12 +24,12 @@ type ESServer = { let ESServer: ESServer; function _parseESConnectionString(connectionString: string) { - const { username, password } = (url.parse(connectionString) as unknown) as url.URL; + const uri = (url.parse(connectionString) as unknown) as url.URL; return { hosts: [connectionString], - username, - password, + username: uri.username || (uri as any).auth.split(':')[0], + password: uri.password || (uri as any).auth.split(':')[1], }; } @@ -103,11 +103,16 @@ export async function createKibanaServer(xpackOption = {}) { // Allow kibana to start jest.setTimeout(120000); } - const root = kbnTestServer.createRootWithCorePlugins({ - elasticsearch: { ...getSharedESServer() }, - plugins: { paths: [PLUGIN_PATHS] }, - xpack: xpackOption, - }); + const root = kbnTestServer.createRootWithCorePlugins( + { + elasticsearch: { ...getSharedESServer() }, + plugins: { paths: [PLUGIN_PATHS] }, + xpack: xpackOption, + }, + { + oss: false, + } + ); await root.setup(); await root.start(); const { server } = (root as any).server.legacy.kbnServer; diff --git a/x-pack/test_utils/jest/contract_tests/services/es_archiver.ts b/x-pack/test_utils/jest/contract_tests/services/es_archiver.ts new file mode 100644 index 0000000000000..8b7a90f97b79c --- /dev/null +++ b/x-pack/test_utils/jest/contract_tests/services/es_archiver.ts @@ -0,0 +1,64 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import elasticsearch from 'elasticsearch'; +import { ToolingLog } from '@kbn/dev-utils'; +import { resolve } from 'path'; +import * as fs from 'fs'; +import { EsArchiver } from '../../../../../src/es_archiver/es_archiver'; + +interface ESServerConfig { + hosts: string[]; + username: string; + password: string; +} + +export const getEsArchiver = (options: { + kibanaUrl: string; + logLevel?: 'silent' | 'error' | 'warning' | 'info' | 'debug' | 'verbose'; + dir: string; +}) => { + let esConfig: ESServerConfig | undefined; + if (process.env.__JEST__ESServer) { + esConfig = JSON.parse(process.env.__JEST__ESServer); + } + + if (!esConfig) { + throw new Error( + 'getEsArchiver was called before ES was started or else Jest contract tests are not configured correctly.' + ); + } + + const log = new ToolingLog({ + level: options.logLevel || 'info', + writeTo: process.stdout, + }); + + const client = new elasticsearch.Client({ + hosts: esConfig.hosts, + httpAuth: esConfig.username ? `${esConfig.username}:${esConfig.password}` : undefined, + log: options.logLevel, + }); + + if (!fs.existsSync(resolve(options.dir))) { + throw new Error( + `getEsArchiver expects the dir option to be a path that exists on the local file system, ${resolve( + options.dir + )} does not exist` + ); + } + + const esArchiver = new EsArchiver({ + log, + client, + dataDir: resolve(options.dir), + kibanaUrl: esConfig.username + ? `http://${esConfig.username}:${esConfig.password}@${options.kibanaUrl.split('://')[1]}` + : options.kibanaUrl, + }); + + return esArchiver; +}; diff --git a/yarn.lock b/yarn.lock index 87e048ddbe1c1..b2f873bd83225 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8067,10 +8067,10 @@ cloneable-readable@^1.0.0: process-nextick-args "^2.0.0" readable-stream "^2.3.5" -cmd-shim@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-2.0.2.tgz#6fcbda99483a8fd15d7d30a196ca69d688a2efdb" - integrity sha1-b8vamUg6j9FdfTChlspp1oii79s= +cmd-shim@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-2.1.0.tgz#e59a08d4248dda3bb502044083a4db4ac890579a" + integrity sha512-A5C0Cyf2H8sKsHqX0tvIWRXw5/PK++3Dc0lDbsugr90nOECLLuSPahVQBG8pgmgiXgm/TzBWMqI2rWdZwHduAw== dependencies: graceful-fs "^4.1.2" mkdirp "~0.5.0"