New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@elastic/search-ui

Package Overview
Dependencies
Maintainers
62
Versions
100
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@elastic/search-ui - npm Package Compare versions

Comparing version 1.0.1-canary1.22 to 1.1.0

es/A11yNotifications.js

3

es/actions/index.js

@@ -12,2 +12,3 @@ export { default as addFilter } from "./addFilter";

export { default as trackClickThrough } from "./trackClickThrough";
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hY3Rpb25zL2luZGV4LmpzIl0sIm5hbWVzIjpbImRlZmF1bHQiLCJhZGRGaWx0ZXIiLCJ0cmFja0F1dG9jb21wbGV0ZUNsaWNrVGhyb3VnaCIsImNsZWFyRmlsdGVycyIsInJlbW92ZUZpbHRlciIsInJlc2V0Iiwic2V0Q3VycmVudCIsInNldEZpbHRlciIsInNldFJlc3VsdHNQZXJQYWdlIiwic2V0U2VhcmNoVGVybSIsInNldFNvcnQiLCJ0cmFja0NsaWNrVGhyb3VnaCJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsT0FBTyxJQUFJQyxTQUFwQixRQUFxQyxhQUFyQztBQUNBLFNBQ0VELE9BQU8sSUFBSUUsNkJBRGIsUUFFTyxpQ0FGUDtBQUdBLFNBQVNGLE9BQU8sSUFBSUcsWUFBcEIsUUFBd0MsZ0JBQXhDO0FBQ0EsU0FBU0gsT0FBTyxJQUFJSSxZQUFwQixRQUF3QyxnQkFBeEM7QUFDQSxTQUFTSixPQUFPLElBQUlLLEtBQXBCLFFBQWlDLFNBQWpDO0FBQ0EsU0FBU0wsT0FBTyxJQUFJTSxVQUFwQixRQUFzQyxjQUF0QztBQUNBLFNBQVNOLE9BQU8sSUFBSU8sU0FBcEIsUUFBcUMsYUFBckM7QUFDQSxTQUFTUCxPQUFPLElBQUlRLGlCQUFwQixRQUE2QyxxQkFBN0M7QUFDQSxTQUFTUixPQUFPLElBQUlTLGFBQXBCLFFBQXlDLGlCQUF6QztBQUNBLFNBQVNULE9BQU8sSUFBSVUsT0FBcEIsUUFBbUMsV0FBbkM7QUFDQSxTQUFTVixPQUFPLElBQUlXLGlCQUFwQixRQUE2QyxxQkFBN0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkZWZhdWx0IGFzIGFkZEZpbHRlciB9IGZyb20gXCIuL2FkZEZpbHRlclwiO1xuZXhwb3J0IHtcbiAgZGVmYXVsdCBhcyB0cmFja0F1dG9jb21wbGV0ZUNsaWNrVGhyb3VnaFxufSBmcm9tIFwiLi90cmFja0F1dG9jb21wbGV0ZUNsaWNrVGhyb3VnaFwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBjbGVhckZpbHRlcnMgfSBmcm9tIFwiLi9jbGVhckZpbHRlcnNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgcmVtb3ZlRmlsdGVyIH0gZnJvbSBcIi4vcmVtb3ZlRmlsdGVyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHJlc2V0IH0gZnJvbSBcIi4vcmVzZXRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgc2V0Q3VycmVudCB9IGZyb20gXCIuL3NldEN1cnJlbnRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgc2V0RmlsdGVyIH0gZnJvbSBcIi4vc2V0RmlsdGVyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHNldFJlc3VsdHNQZXJQYWdlIH0gZnJvbSBcIi4vc2V0UmVzdWx0c1BlclBhZ2VcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgc2V0U2VhcmNoVGVybSB9IGZyb20gXCIuL3NldFNlYXJjaFRlcm1cIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgc2V0U29ydCB9IGZyb20gXCIuL3NldFNvcnRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgdHJhY2tDbGlja1Rocm91Z2ggfSBmcm9tIFwiLi90cmFja0NsaWNrVGhyb3VnaFwiO1xuIl19
export { default as a11yNotify } from "./a11yNotify";
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hY3Rpb25zL2luZGV4LmpzIl0sIm5hbWVzIjpbImRlZmF1bHQiLCJhZGRGaWx0ZXIiLCJ0cmFja0F1dG9jb21wbGV0ZUNsaWNrVGhyb3VnaCIsImNsZWFyRmlsdGVycyIsInJlbW92ZUZpbHRlciIsInJlc2V0Iiwic2V0Q3VycmVudCIsInNldEZpbHRlciIsInNldFJlc3VsdHNQZXJQYWdlIiwic2V0U2VhcmNoVGVybSIsInNldFNvcnQiLCJ0cmFja0NsaWNrVGhyb3VnaCIsImExMXlOb3RpZnkiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLE9BQU8sSUFBSUMsU0FBcEIsUUFBcUMsYUFBckM7QUFDQSxTQUNFRCxPQUFPLElBQUlFLDZCQURiLFFBRU8saUNBRlA7QUFHQSxTQUFTRixPQUFPLElBQUlHLFlBQXBCLFFBQXdDLGdCQUF4QztBQUNBLFNBQVNILE9BQU8sSUFBSUksWUFBcEIsUUFBd0MsZ0JBQXhDO0FBQ0EsU0FBU0osT0FBTyxJQUFJSyxLQUFwQixRQUFpQyxTQUFqQztBQUNBLFNBQVNMLE9BQU8sSUFBSU0sVUFBcEIsUUFBc0MsY0FBdEM7QUFDQSxTQUFTTixPQUFPLElBQUlPLFNBQXBCLFFBQXFDLGFBQXJDO0FBQ0EsU0FBU1AsT0FBTyxJQUFJUSxpQkFBcEIsUUFBNkMscUJBQTdDO0FBQ0EsU0FBU1IsT0FBTyxJQUFJUyxhQUFwQixRQUF5QyxpQkFBekM7QUFDQSxTQUFTVCxPQUFPLElBQUlVLE9BQXBCLFFBQW1DLFdBQW5DO0FBQ0EsU0FBU1YsT0FBTyxJQUFJVyxpQkFBcEIsUUFBNkMscUJBQTdDO0FBQ0EsU0FBU1gsT0FBTyxJQUFJWSxVQUFwQixRQUFzQyxjQUF0QyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGRlZmF1bHQgYXMgYWRkRmlsdGVyIH0gZnJvbSBcIi4vYWRkRmlsdGVyXCI7XG5leHBvcnQge1xuICBkZWZhdWx0IGFzIHRyYWNrQXV0b2NvbXBsZXRlQ2xpY2tUaHJvdWdoXG59IGZyb20gXCIuL3RyYWNrQXV0b2NvbXBsZXRlQ2xpY2tUaHJvdWdoXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGNsZWFyRmlsdGVycyB9IGZyb20gXCIuL2NsZWFyRmlsdGVyc1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyByZW1vdmVGaWx0ZXIgfSBmcm9tIFwiLi9yZW1vdmVGaWx0ZXJcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgcmVzZXQgfSBmcm9tIFwiLi9yZXNldFwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBzZXRDdXJyZW50IH0gZnJvbSBcIi4vc2V0Q3VycmVudFwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBzZXRGaWx0ZXIgfSBmcm9tIFwiLi9zZXRGaWx0ZXJcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgc2V0UmVzdWx0c1BlclBhZ2UgfSBmcm9tIFwiLi9zZXRSZXN1bHRzUGVyUGFnZVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBzZXRTZWFyY2hUZXJtIH0gZnJvbSBcIi4vc2V0U2VhcmNoVGVybVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBzZXRTb3J0IH0gZnJvbSBcIi4vc2V0U29ydFwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyB0cmFja0NsaWNrVGhyb3VnaCB9IGZyb20gXCIuL3RyYWNrQ2xpY2tUaHJvdWdoXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGExMXlOb3RpZnkgfSBmcm9tIFwiLi9hMTF5Tm90aWZ5XCI7XG4iXX0=
import _defineProperty from "@babel/runtime/helpers/defineProperty";
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { keys.push.apply(keys, Object.getOwnPropertySymbols(object)); } if (enumerableOnly) keys = keys.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); return keys; }
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; }

@@ -6,0 +6,0 @@ 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; }

@@ -6,3 +6,3 @@ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";

function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { keys.push.apply(keys, Object.getOwnPropertySymbols(object)); } if (enumerableOnly) keys = keys.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); return keys; }
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; }

@@ -16,2 +16,3 @@ 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; }

import Events from "./Events";
import * as a11y from "./A11yNotifications";

@@ -57,2 +58,4 @@ function filterSearchParameters(_ref) {

totalResults: 0,
pagingStart: 0,
pagingEnd: 0,
wasSearched: false

@@ -106,3 +109,7 @@ };

_ref4$urlPushDebounce = _ref4.urlPushDebounceLength,
urlPushDebounceLength = _ref4$urlPushDebounce === void 0 ? 500 : _ref4$urlPushDebounce;
urlPushDebounceLength = _ref4$urlPushDebounce === void 0 ? 500 : _ref4$urlPushDebounce,
_ref4$hasA11yNotifica = _ref4.hasA11yNotifications,
hasA11yNotifications = _ref4$hasA11yNotifica === void 0 ? false : _ref4$hasA11yNotifica,
_ref4$a11yNotificatio = _ref4.a11yNotificationMessages,
a11yNotificationMessages = _ref4$a11yNotificatio === void 0 ? {} : _ref4$a11yNotificatio;

@@ -176,7 +183,14 @@ _classCallCheck(this, SearchDriver);

_this.requestSequencer.completed(requestId);
_this.requestSequencer.completed(requestId); // Results paging start & end
var totalResults = resultState.totalResults;
var start = totalResults === 0 ? 0 : (current - 1) * resultsPerPage + 1;
var end = totalResults <= start + resultsPerPage ? totalResults : start + resultsPerPage - 1;
_this._setState(_objectSpread({
isLoading: false,
resultSearchTerm: searchTerm
resultSearchTerm: searchTerm,
pagingStart: start,
pagingEnd: end
}, resultState, {

@@ -186,2 +200,13 @@ wasSearched: true

if (_this.hasA11yNotifications) {
var messageArgs = {
start: start,
end: end,
totalResults: totalResults,
searchTerm: searchTerm
};
_this.actions.a11yNotify("searchResults", messageArgs);
}
if (!skipPushToUrl && _this.trackUrlState) {

@@ -242,6 +267,10 @@ // We debounce here so that we don't get a lot of intermediary

urlState = {};
} // Remember the state this application is initialized into, so that we can
} // Manage screen reader accessible notifications
this.hasA11yNotifications = hasA11yNotifications;
if (this.hasA11yNotifications) a11y.getLiveRegion();
this.a11yNotificationMessages = _objectSpread({}, a11y.defaultMessages, {}, a11yNotificationMessages); // Remember the state this application is initialized into, so that we can
// reset to it later.
this.startingState = _objectSpread({}, this.state, {}, initialState); // We filter these here to disallow anything other than valid search

@@ -342,2 +371,2 @@ // parameters to be passed in initial state, or url state. `results`, etc,

export { SearchDriver as default };
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9TZWFyY2hEcml2ZXIuanMiXSwibmFtZXMiOlsiVVJMTWFuYWdlciIsIlJlcXVlc3RTZXF1ZW5jZXIiLCJEZWJvdW5jZU1hbmFnZXIiLCJhY3Rpb25zIiwiRXZlbnRzIiwiZmlsdGVyU2VhcmNoUGFyYW1ldGVycyIsImN1cnJlbnQiLCJmaWx0ZXJzIiwicmVzdWx0c1BlclBhZ2UiLCJzZWFyY2hUZXJtIiwic29ydERpcmVjdGlvbiIsInNvcnRGaWVsZCIsIkRFRkFVTFRfU1RBVEUiLCJhdXRvY29tcGxldGVkUmVzdWx0cyIsImF1dG9jb21wbGV0ZWRSZXN1bHRzUmVxdWVzdElkIiwiYXV0b2NvbXBsZXRlZFN1Z2dlc3Rpb25zIiwiYXV0b2NvbXBsZXRlZFN1Z2dlc3Rpb25zUmVxdWVzdElkIiwiZXJyb3IiLCJpc0xvYWRpbmciLCJmYWNldHMiLCJyZXF1ZXN0SWQiLCJyZXN1bHRzIiwicmVzdWx0U2VhcmNoVGVybSIsInRvdGFsUGFnZXMiLCJ0b3RhbFJlc3VsdHMiLCJ3YXNTZWFyY2hlZCIsInJlbW92ZUNvbmRpdGlvbmFsRmFjZXRzIiwiY29uZGl0aW9uYWxGYWNldHMiLCJPYmplY3QiLCJlbnRyaWVzIiwicmVkdWNlIiwiYWNjIiwiZmFjZXRLZXkiLCJmYWNldCIsIlNlYXJjaERyaXZlciIsImFwaUNvbm5lY3RvciIsImF1dG9jb21wbGV0ZVF1ZXJ5IiwiZGVidWciLCJpbml0aWFsU3RhdGUiLCJvblNlYXJjaCIsIm9uQXV0b2NvbXBsZXRlIiwib25SZXN1bHRDbGljayIsIm9uQXV0b2NvbXBsZXRlUmVzdWx0Q2xpY2siLCJzZWFyY2hRdWVyeSIsInRyYWNrVXJsU3RhdGUiLCJ1cmxQdXNoRGVib3VuY2VMZW5ndGgiLCJhdXRvY29tcGxldGVSZXN1bHRzIiwiYXV0b2NvbXBsZXRlU3VnZ2VzdGlvbnMiLCJyZXF1ZXN0U2VxdWVuY2VyIiwibmV4dCIsInF1ZXJ5Q29uZmlnIiwic3VnZ2VzdGlvbnMiLCJldmVudHMiLCJhdXRvY29tcGxldGUiLCJ0aGVuIiwiYXV0b2NvbXBsZXRlZCIsImlzT2xkUmVxdWVzdCIsImNvbXBsZXRlZCIsIl9zZXRTdGF0ZSIsInNlYXJjaFBhcmFtZXRlcnMiLCJza2lwUHVzaFRvVXJsIiwiaWdub3JlSXNMb2FkaW5nQ2hlY2siLCJzdGF0ZSIsInJlcXVlc3RTdGF0ZSIsInNlYXJjaCIsInJlc3VsdFN0YXRlIiwiZGVib3VuY2VNYW5hZ2VyIiwicnVuV2l0aERlYm91bmNlIiwicHVzaFN0YXRlVG9VUkwiLCJiaW5kIiwibWVzc2FnZSIsImFjdGlvbk5hbWUiLCJhY3Rpb24iLCJhc3NpZ24iLCJzdWJzY3JpcHRpb25zIiwidXJsU3RhdGUiLCJnZXRTdGF0ZUZyb21VUkwiLCJvblVSTFN0YXRlQ2hhbmdlIiwiX3VwZGF0ZVNlYXJjaFJlc3VsdHMiLCJzdGFydGluZ1N0YXRlIiwibGVuZ3RoIiwibmV3U3RhdGUiLCJjb25zb2xlIiwibG9nIiwiZm9yRWFjaCIsInN1YnNjcmlwdGlvbiIsIm9uU3RhdGVDaGFuZ2UiLCJwdXNoIiwiZmlsdGVyIiwic3ViIiwidGVhckRvd24iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU9BLFVBQVAsTUFBdUIsY0FBdkI7QUFFQSxPQUFPQyxnQkFBUCxNQUE2QixvQkFBN0I7QUFDQSxPQUFPQyxlQUFQLE1BQTRCLG1CQUE1QjtBQUVBLE9BQU8sS0FBS0MsT0FBWixNQUF5QixXQUF6QjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsVUFBbkI7O0FBRUEsU0FBU0Msc0JBQVQsT0FPRztBQUFBLE1BTkRDLE9BTUMsUUFOREEsT0FNQztBQUFBLE1BTERDLE9BS0MsUUFMREEsT0FLQztBQUFBLE1BSkRDLGNBSUMsUUFKREEsY0FJQztBQUFBLE1BSERDLFVBR0MsUUFIREEsVUFHQztBQUFBLE1BRkRDLGFBRUMsUUFGREEsYUFFQztBQUFBLE1BRERDLFNBQ0MsUUFEREEsU0FDQztBQUNELFNBQU87QUFDTEwsSUFBQUEsT0FBTyxFQUFQQSxPQURLO0FBRUxDLElBQUFBLE9BQU8sRUFBUEEsT0FG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LENBQWdCMEYsUUFBaEIsRUFBbkI7QUFDRDtBQUVEOzs7Ozs7OztpQ0FLYTtBQUNYLGFBQU8sS0FBS3ZGLE9BQVo7QUFDRDtBQUVEOzs7Ozs7Ozs7K0JBTVc7QUFDVDtBQUNBO0FBQ0EsK0JBQVksS0FBSzJELEtBQWpCO0FBQ0Q7Ozs7OztTQTFQa0I1QixZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFVSTE1hbmFnZXIgZnJvbSBcIi4vVVJMTWFuYWdlclwiO1xuXG5pbXBvcnQgUmVxdWVzdFNlcXVlbmNlciBmcm9tIFwiLi9SZXF1ZXN0U2VxdWVuY2VyXCI7XG5pbXBvcnQgRGVib3VuY2VNYW5hZ2VyIGZyb20gXCIuL0RlYm91bmNlTWFuYWdlclwiO1xuXG5pbXBvcnQgKiBhcyBhY3Rpb25zIGZyb20gXCIuL2FjdGlvbnNcIjtcbmltcG9ydCBFdmVudHMgZnJvbSBcIi4vRXZlbnRzXCI7XG5cbmZ1bmN0aW9uIGZpbHRlclNlYXJjaFBhcmFtZXRlcnMoe1xuICBjdXJyZW50LFxuICBmaWx0ZXJzLFxuICByZXN1bHRzUGVyUGFnZSxcbiAgc2VhcmNoVGVybSxcbiAgc29ydERpcmVjdGlvbixcbiAgc29ydEZpZWxkXG59KSB7XG4gIHJldHVybiB7XG4gICAgY3VycmVudCxcbiAgICBmaWx0ZXJzLFxuICAgIHJlc3VsdHNQZXJQYWdlLFxuICAgIHNlYXJjaFRlcm0sXG4gICAgc29ydERpcmVjdGlvbixcbiAgICBzb3J0RmllbGRcbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfU1RBVEUgPSB7XG4gIC8vIFNlYXJjaCBQYXJhbWV0ZXJzIC0tIFRoaXMgaXMgc3RhdGUgdGhhdCByZXByZXNlbnRzIHRoZSBpbnB1dCBzdGF0ZS5cbiAgY3VycmVudDogMSxcbiAgZmlsdGVyczogW10sXG4gIHJlc3VsdHNQZXJQYWdlOiAyMCxcbiAgc2VhcmNoVGVybTogXCJcIixcbiAgc29ydERpcmVjdGlvbjogXCJcIixcbiAgc29ydEZpZWxkOiBcIlwiLFxuICAvLyBSZXN1bHQgU3RhdGUgLS0gVGhpcyBzdGF0ZSByZXByZXNlbnRzIHN0YXRlIHRoYXQgaXMgdXBkYXRlZCBhdXRvbWF0aWNhbGx5XG4gIC8vIGFzIHRoZSByZXN1bHQgb2YgY2hhbmdpbmcgaW5wdXQgc3RhdGUuXG4gIGF1dG9jb21wbGV0ZWRSZXN1bHRzOiBbXSxcbiAgYXV0b2NvbXBsZXRlZFJlc3VsdHNSZXF1ZXN0SWQ6IFwiXCIsXG4gIGF1dG9jb21wbGV0ZWRTdWdnZXN0aW9uczoge30sXG4gIGF1dG9jb21wbGV0ZWRTdWdnZXN0aW9uc1JlcXVlc3RJZDogXCJcIixcbiAgZXJyb3I6IFwiXCIsXG4gIGlzTG9hZGluZzogZmFsc2UsXG4gIGZhY2V0czoge30sXG4gIHJlcXVlc3RJZDogXCJcIixcbiAgcmVzdWx0czogW10sXG4gIHJlc3VsdFNlYXJjaFRlcm06IFwiXCIsXG4gIHRvdGFsUGFnZXM6IDAsXG4gIHRvdGFsUmVzdWx0czogMCxcbiAgd2FzU2VhcmNoZWQ6IGZhbHNlXG59O1xuXG5mdW5jdGlvbiByZW1vdmVDb25kaXRpb25hbEZhY2V0cyhcbiAgZmFjZXRzID0ge30sXG4gIGNvbmRpdGlvbmFsRmFjZXRzID0ge30sXG4gIGZpbHRlcnMgPSBbXVxuKSB7XG4gIHJldHVybiBPYmplY3QuZW50cmllcyhmYWNldHMpLnJlZHVjZSgoYWNjLCBbZmFjZXRLZXksIGZhY2V0XSkgPT4ge1xuICAgIGlmIChcbiAgICAgIGNvbmRpdGlvbmFsRmFjZXRzW2ZhY2V0S2V5XSAmJlxuICAgICAgdHlwZW9mIGNvbmRpdGlvbmFsRmFjZXRzW2ZhY2V0S2V5XSA9PT0gXCJmdW5jdGlvblwiICYmXG4gICAgICAhY29uZGl0aW9uYWxGYWNldHNbZmFjZXRLZXldKHsgZmlsdGVycyB9KVxuICAgICkge1xuICAgICAgcmV0dXJuIGFjYztcbiAgICB9XG5cbiAgICBhY2NbZmFjZXRLZXldID0gZmFjZXQ7XG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30pO1xufVxuXG4vKlxuICogVGhlIERyaXZlciBpcyBhIGZyYW1ld29yayBhZ25vc3RpYyBzZWFyY2ggc3RhdGUgbWFuYWdlciB0aGF0IGlzIGNhcGFibGVcbiAqIHN5bmNpbmcgc3RhdGUgdG8gdGhlIHVybC5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2VhcmNoRHJpdmVyIHtcbiAgc3RhdGUgPSBERUZBVUxUX1NUQVRFO1xuXG4gIGNvbnN0cnVjdG9yKHtcbiAgICBhcGlDb25uZWN0b3IsXG4gICAgYXV0b2NvbXBsZXRlUXVlcnkgPSB7fSxcbiAgICBkZWJ1ZyxcbiAgICBpbml0aWFsU3RhdGUsXG4gICAgb25TZWFyY2gsXG4gICAgb25BdXRvY29tcGxldGUsXG4gICAgb25SZXN1bHRDbGljayxcbiAgICBvbkF1dG9jb21wbGV0ZVJlc3VsdENsaWNrLFxuICAgIHNlYXJjaFF1ZXJ5ID0ge30sXG4gICAgdHJhY2tVcmxTdGF0ZSA9IHRydWUsXG4gICAgdXJsUHVzaERlYm91bmNlTGVuZ3RoID0gNTAwXG4gIH0pIHtcbiAgICB0aGlzLmFjdGlvbnMgPSBPYmplY3QuZW50cmllcyhhY3Rpb25zKS5yZWR1Y2UoXG4gICAgICAoYWNjLCBbYWN0aW9uTmFtZSwgYWN0aW9uXSkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmFjYyxcbiAgICAgICAgICBbYWN0aW9uTmFtZV06IGFjdGlvbi5iaW5kKHRoaXMpXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgICAge31cbiAgICApO1xuICAgIE9iamVjdC5hc3NpZ24odGhpcywgdGhpcy5hY3Rpb25zKTtcblxuICAgIHRoaXMuZXZlbnRzID0gbmV3IEV2ZW50cyh7XG4gICAgICBhcGlDb25uZWN0b3IsXG4gICAgICBvblNlYXJjaCxcbiAgICAgIG9uQXV0b2NvbXBsZXRlLFxuICAgICAgb25SZXN1bHRDbGljayxcbiAgICAgIG9uQXV0b2NvbXBsZXRlUmVzdWx0Q2xpY2tcbiAgICB9KTtcblxuICAgIHRoaXMuZGVidWcgPSBkZWJ1ZztcbiAgICB0aGlzLnJlcXVlc3RTZXF1ZW5jZXIgPSBuZXcgUmVxdWVzdFNlcXVlbmNlcigpO1xuICAgIHRoaXMuZGVib3VuY2VNYW5hZ2VyID0gbmV3IERlYm91bmNlTWFuYWdlcigpO1xuICAgIHRoaXMuYXV0b2NvbXBsZXRlUXVlcnkgPSBhdXRvY29tcGxldGVRdWVyeTtcbiAgICB0aGlzLnNlYXJjaFF1ZXJ5ID0gc2VhcmNoUXVlcnk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zID0gW107XG4gICAgdGhpcy50cmFja1VybFN0YXRlID0gdHJhY2tVcmxTdGF0ZTtcbiAgICB0aGlzLnVybFB1c2hEZWJvdW5jZUxlbmd0aCA9IHVybFB1c2hEZWJvdW5jZUxlbmd0aDtcblxuICAgIGxldCB1cmxTdGF0ZTtcbiAgICBpZiAodHJhY2tVcmxTdGF0ZSkge1xuICAgICAgdGhpcy5VUkxNYW5hZ2VyID0gbmV3IFVSTE1hbmFnZXIoKTtcbiAgICAgIHVybFN0YXRlID0gdGhpcy5VUkxNYW5hZ2VyLmdldFN0YXRlRnJvbVVSTCgpO1xuICAgICAgdGhpcy5VUkxNYW5hZ2VyLm9uVVJMU3RhdGVDaGFuZ2UodXJsU3RhdGUgPT4ge1xuICAgICAgICB0aGlzLl91cGRhdGVTZWFyY2hSZXN1bHRzKFxuICAgICAgICAgIHsgLi4uREVGQVVMVF9TVEFURSwgLi4udXJsU3RhdGUgfSxcbiAgICAgICAgICB7IHNraXBQdXNoVG9Vcmw6IHRydWUgfVxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHVybFN0YXRlID0ge307XG4gICAgfVxuXG4gICAgLy8gUmVtZW1iZXIgdGhlIHN0YXRlIHRoaXMgYXBwbGljYXRpb24gaXMgaW5pdGlhbGl6ZWQgaW50bywgc28gdGhhdCB3ZSBjYW5cbiAgICAvLyByZXNldCB0byBpdCBsYXRlci5cbiAgICB0aGlzLnN0YXJ0aW5nU3RhdGUgPSB7XG4gICAgICAuLi50aGlzLnN0YXRlLFxuICAgICAgLi4uaW5pdGlhbFN0YXRlXG4gICAgfTtcblxuICAgIC8vIFdlIGZpbHRlciB0aGVzZSBoZXJlIHRvIGRpc2FsbG93IGFueXRoaW5nIG90aGVyIHRoYW4gdmFsaWQgc2VhcmNoXG4gICAgLy8gcGFyYW1ldGVycyB0byBiZSBwYXNzZWQgaW4gaW5pdGlhbCBzdGF0ZSwgb3IgdXJsIHN0YXRlLiBgcmVzdWx0c2AsIGV0YyxcbiAgICAvLyBzaG91bGQgbm90IGJlIGFsbG93ZWQgdG8gYmUgcGFzc2VkIGluLCB0aGF0IHNob3VsZCBiZSBnZW5lcmF0ZWQgYmFzZWQgb25cbiAgICAvLyB0aGUgcmVzdWx0cyBvZiB0aGUgcXVlcnlcbiAgICBjb25zdCBzZWFyY2hQYXJhbWV0ZXJzID0gZmlsdGVyU2VhcmNoUGFyYW1ldGVycyh7XG4gICAgICAuLi50aGlzLnN0YXJ0aW5nU3RhdGUsXG4gICAgICAuLi51cmxTdGF0ZVxuICAgIH0pO1xuXG4gICAgLy8gSW5pdGlhbGl6ZSB0aGUgc3RhdGUgd2l0aG91dCBjYWxsaW5nIF9zZXRTdGF0ZSwgYmVjYXVzZSB3ZSBkb24ndFxuICAgIC8vIHdhbnQgdG8gdHJpZ2dlciBhbiB1cGRhdGUgY2FsbGJhY2ssIHdlJ3JlIGp1c3QgaW5pdGlhbGl6aW5nIHRoZSBzdGF0ZVxuICAgIC8vIHRvIHRoZSBjb3JyZWN0IGRlZmF1bHQgdmFsdWVzIGZvciB0aGUgaW5pdGlhbCBVSSByZW5kZXJcbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgLi4udGhpcy5zdGF0ZSxcbiAgICAgIC4uLnNlYXJjaFBhcmFtZXRlcnNcbiAgICB9O1xuXG4gICAgLy8gV2UnbGwgdHJpZ2dlciBhbiBpbml0aWFsIHNlYXJjaCBpZiBpbml0aWFsIHBhcmFtZXRlcnMgY29udGFpblxuICAgIC8vIGEgc2VhcmNoIHRlcm0gb3IgZmlsdGVycywgb3RoZXJ3aXNlLCB3ZSdsbCBqdXN0IHNhdmUgdGhlaXIgc2VsZWN0aW9uc1xuICAgIC8vIGluIHN0YXRlIGFzIGluaXRpYWwgdmFsdWVzLlxuICAgIGlmIChzZWFyY2hQYXJhbWV0ZXJzLnNlYXJjaFRlcm0gfHwgc2VhcmNoUGFyYW1ldGVycy5maWx0ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuX3VwZGF0ZVNlYXJjaFJlc3VsdHMoc2VhcmNoUGFyYW1ldGVycyk7XG4gICAgfVxuICB9XG5cbiAgX3VwZGF0ZUF1dG9jb21wbGV0ZSA9IChcbiAgICBzZWFyY2hUZXJtLFxuICAgIHsgYXV0b2NvbXBsZXRlUmVzdWx0cywgYXV0b2NvbXBsZXRlU3VnZ2VzdGlvbnMgfSA9IHt9XG4gICkgPT4ge1xuICAgIGNvbnN0IHJlcXVlc3RJZCA9IHRoaXMucmVxdWVzdFNlcXVlbmNlci5uZXh0KCk7XG5cbiAgICBjb25zdCBxdWVyeUNvbmZpZyA9IHtcbiAgICAgIC4uLihhdXRvY29tcGxldGVSZXN1bHRzICYmIHtcbiAgICAgICAgcmVzdWx0czogdGhpcy5hdXRvY29tcGxldGVRdWVyeS5yZXN1bHRzIHx8IHt9XG4gICAgICB9KSxcbiAgICAgIC4uLihhdXRvY29tcGxldGVTdWdnZXN0aW9ucyAmJiB7XG4gICAgICAgIHN1Z2dlc3Rpb25zOiB0aGlzLmF1dG9jb21wbGV0ZVF1ZXJ5LnN1Z2dlc3Rpb25zIHx8IHt9XG4gICAgICB9KVxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5ldmVudHNcbiAgICAgIC5hdXRvY29tcGxldGUoeyBzZWFyY2hUZXJtIH0sIHF1ZXJ5Q29uZmlnKVxuICAgICAgLnRoZW4oYXV0b2NvbXBsZXRlZCA9PiB7XG4gICAgICAgIGlmICh0aGlzLnJlcXVlc3RTZXF1ZW5jZXIuaXNPbGRSZXF1ZXN0KHJlcXVlc3RJZCkpIHJldHVybjtcbiAgICAgICAgdGhpcy5yZXF1ZXN0U2VxdWVuY2VyLmNvbXBsZXRlZChyZXF1ZXN0SWQpO1xuXG4gICAgICAgIHRoaXMuX3NldFN0YXRlKGF1dG9jb21wbGV0ZWQpO1xuICAgICAgfSk7XG4gIH07XG5cbiAgX3VwZGF0ZVNlYXJjaFJlc3VsdHMgPSAoXG4gICAgc2VhcmNoUGFyYW1ldGVycyxcbiAgICB7IHNraXBQdXNoVG9VcmwgPSBmYWxzZSwgaWdub3JlSXNMb2FkaW5nQ2hlY2sgPSBmYWxzZSB9ID0ge31cbiAgKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgY3VycmVudCxcbiAgICAgIGZpbHRlcnMsXG4gICAgICBpc0xvYWRpbmcsXG4gICAgICByZXN1bHRzUGVyUGFnZSxcbiAgICAgIHNlYXJjaFRlcm0sXG4gICAgICBzb3J0RGlyZWN0aW9uLFxuICAgICAgc29ydEZpZWxkXG4gICAgfSA9IHtcbiAgICAgIC4uLnRoaXMuc3RhdGUsXG4gICAgICAuLi5zZWFyY2hQYXJhbWV0ZXJzXG4gICAgfTtcblxuICAgIGlmIChpc0xvYWRpbmcgJiYgIWlnbm9yZUlzTG9hZGluZ0NoZWNrKSByZXR1cm47XG5cbiAgICB0aGlzLl9zZXRTdGF0ZSh7XG4gICAgICBjdXJyZW50LFxuICAgICAgZXJyb3I6IFwiXCIsXG4gICAgICBmaWx0ZXJzLFxuICAgICAgaXNMb2FkaW5nOiB0cnVlLFxuICAgICAgcmVzdWx0c1BlclBhZ2UsXG4gICAgICBzZWFyY2hUZXJtLFxuICAgICAgc29ydERpcmVjdGlvbixcbiAgICAgIHNvcnRGaWVsZFxuICAgIH0pO1xuXG4gICAgY29uc3QgcmVxdWVzdElkID0gdGhpcy5yZXF1ZXN0U2VxdWVuY2VyLm5leHQoKTtcblxuICAgIGNvbnN0IHF1ZXJ5Q29uZmlnID0ge1xuICAgICAgLi4udGhpcy5zZWFyY2hRdWVyeSxcbiAgICAgIGZhY2V0czogcmVtb3ZlQ29uZGl0aW9uYWxGYWNldHMoXG4gICAgICAgIHRoaXMuc2VhcmNoUXVlcnkuZmFjZXRzLFxuICAgICAgICB0aGlzLnNlYXJjaFF1ZXJ5LmNvbmRpdGlvbmFsRmFjZXRzLFxuICAgICAgICBmaWx0ZXJzXG4gICAgICApXG4gICAgfTtcblxuICAgIGNvbnN0IHJlcXVlc3RTdGF0ZSA9IGZpbHRlclNlYXJjaFBhcmFtZXRlcnModGhpcy5zdGF0ZSk7XG5cbiAgICByZXR1cm4gdGhpcy5ldmVudHMuc2VhcmNoKHJlcXVlc3RTdGF0ZSwgcXVlcnlDb25maWcpLnRoZW4oXG4gICAgICByZXN1bHRTdGF0ZSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnJlcXVlc3RTZXF1ZW5jZXIuaXNPbGRSZXF1ZXN0KHJlcXVlc3RJZCkpIHJldHVybjtcbiAgICAgICAgdGhpcy5yZXF1ZXN0U2VxdWVuY2VyLmNvbXBsZXRlZChyZXF1ZXN0SWQpO1xuXG4gICAgICAgIHRoaXMuX3NldFN0YXRlKHtcbiAgICAgICAgICBpc0xvYWRpbmc6IGZhbHNlLFxuICAgICAgICAgIHJlc3VsdFNlYXJjaFRlcm06IHNlYXJjaFRlcm0sXG4gICAgICAgICAgLi4ucmVzdWx0U3RhdGUsXG4gICAgICAgICAgd2FzU2VhcmNoZWQ6IHRydWVcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKCFza2lwUHVzaFRvVXJsICYmIHRoaXMudHJhY2tVcmxTdGF0ZSkge1xuICAgICAgICAgIC8vIFdlIGRlYm91bmNlIGhlcmUgc28gdGhhdCB3ZSBkb24ndCBnZXQgYSBsb3Qgb2YgaW50ZXJtZWRpYXJ5XG4gICAgICAgICAgLy8gVVJMIHN0YXRlIGlmIHNvbWVvbmUgaXMgdXBkYXRpbmcgYSBVSSByZWFsbHkgZmFzdCwgbGlrZSB0eXBpbmdcbiAgICAgICAgICAvLyBpbiBhIGxpdmUgc2VhcmNoIGJveCBmb3IgaW5zdGFuY2UuXG4gICAgICAgICAgdGhpcy5kZWJvdW5jZU1hbmFnZXIucnVuV2l0aERlYm91bmNlKFxuICAgICAgICAgICAgdGhpcy51cmxQdXNoRGVib3VuY2VMZW5ndGgsXG4gICAgICAgICAgICB0aGlzLlVSTE1hbmFnZXIucHVzaFN0YXRlVG9VUkwuYmluZCh0aGlzLlVSTE1hbmFnZXIpLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBjdXJyZW50LFxuICAgICAgICAgICAgICBmaWx0ZXJzLFxuICAgICAgICAgICAgICByZXN1bHRzUGVyUGFnZSxcbiAgICAgICAgICAgICAgc2VhcmNoVGVybSxcbiAgICAgICAgICAgICAgc29ydERpcmVjdGlvbixcbiAgICAgICAgICAgICAgc29ydEZpZWxkXG4gICAgICAgICAgICB9XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGVycm9yID0+IHtcbiAgICAgICAgdGhpcy5fc2V0U3RhdGUoe1xuICAgICAgICAgIGVycm9yOiBgQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cnJlZDogJHtlcnJvci5tZXNzYWdlfWBcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgKTtcbiAgfTtcblxuICBfc2V0U3RhdGUobmV3U3RhdGUpIHtcbiAgICBjb25zdCBzdGF0ZSA9IHsgLi4udGhpcy5zdGF0ZSwgLi4ubmV3U3RhdGUgfTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgIGlmICh0aGlzLmRlYnVnKSBjb25zb2xlLmxvZyhcIlN0YXRlIFVwZGF0ZVwiLCBuZXdTdGF0ZSwgc3RhdGUpO1xuICAgIHRoaXMuc3RhdGUgPSBzdGF0ZTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWJzY3JpcHRpb24gPT4gc3Vic2NyaXB0aW9uKHN0YXRlKSk7XG4gIH1cblxuICAvKipcbiAgICogQW55IHRpbWUgc3RhdGUgaXMgdXBkYXRlZCBpbiB0aGlzIERyaXZlciwgdGhlIHByb3ZpZGVkIGNhbGxiYWNrXG4gICAqIHdpbGwgYmUgZXhlY3V0ZWQgd2l0aCB0aGUgdXBkYXRlZCBzdGF0ZS5cbiAgICpcbiAgICogQHBhcmFtIG9uU3RhdGVDaGFuZ2UgRnVuY3Rpb25cbiAgICovXG4gIHN1YnNjcmliZVRvU3RhdGVDaGFuZ2VzKG9uU3RhdGVDaGFuZ2UpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChvblN0YXRlQ2hhbmdlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gb25TdGF0ZUNoYW5nZSBGdW5jdGlvblxuICAgKi9cbiAgdW5zdWJzY3JpYmVUb1N0YXRlQ2hhbmdlcyhvblN0YXRlQ2hhbmdlKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zID0gdGhpcy5zdWJzY3JpcHRpb25zLmZpbHRlcihcbiAgICAgIHN1YiA9PiBzdWIgIT09IG9uU3RhdGVDaGFuZ2VcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBhbGwgbGlzdGVuZXJzXG4gICAqL1xuICB0ZWFyRG93bigpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBbXTtcbiAgICB0aGlzLlVSTE1hbmFnZXIgJiYgdGhpcy5VUkxNYW5hZ2VyLnRlYXJEb3duKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIGFsbCBhdmFpbGFibGUgYWNpdG9uc1xuICAgKlxuICAgKiBAcmV0dXJucyBPYmplY3QgQWxsIGFjdGlvbnNcbiAgICovXG4gIGdldEFjdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aW9ucztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSBjdXJyZW50IHN0YXRlLiBUeXBpY2FsbHkgdXNlZCBvbiBhcHAgaW5pdGlhbGl6YXRpb24uIFN1YnNlcXVlbnRcbiAgICogc3RhdGUgdXBkYXRlcyBzaG91bGQgY29tZSB0aHJvdWdoIHN1YnNjcmlwdGlvbi5cbiAgICpcbiAgICogQHJldHVybnMgT2JqZWN0IEN1cnJlbnQgc3RhdGVcbiAgICovXG4gIGdldFN0YXRlKCkge1xuICAgIC8vIFdlIHJldHVybiBhIGNvcHkgb2Ygc3RhdGUgaGVyZSwgYmVjYXVzZSB3ZSB3YW50IHRvIGVuc3VyZSB0aGUgc3RhdGVcbiAgICAvLyBpbnNpZGUgb2YgdGhpcyBvYmplY3QgcmVtYWlucyBpbW11dGFibGUuXG4gICAgcmV0dXJuIHsgLi4udGhpcy5zdGF0ZSB9O1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9TZWFyY2hEcml2ZXIuanMiXSwibmFtZXMiOlsiVVJMTWFuYWdlciIsIlJlcXVlc3RTZXF1ZW5jZXIiLCJEZWJvdW5jZU1hbmFnZXIiLCJhY3Rpb25zIiwiRXZlbnRzIiwiYTExeSIsImZpbHRlclNlYXJjaFBhcmFtZXRlcnMiLCJjdXJyZW50IiwiZmlsdGVycyIsInJlc3VsdHNQZXJQYWdlIiwic2VhcmNoVGVybSIsInNvcnREaXJlY3Rpb24iLCJzb3J0RmllbGQiLCJERUZBVUxUX1NUQVRFIiwiYXV0b2NvbXBsZXRlZFJlc3VsdHMiLCJhdXRvY29tcGxldGVkUmVzdWx0c1JlcXVlc3RJZCIsImF1dG9jb21wbGV0ZWRTdWdnZXN0aW9ucyIsImF1dG9jb21wbGV0ZWRTdWdnZXN0aW9uc1JlcXVlc3RJZCIsImVycm9yIiwiaXNMb2FkaW5nIiwiZmFjZXRzIiwicmVxdWVzdElkIiwicmVzdWx0cyIsInJlc3VsdFNlYXJjaFRlcm0iLCJ0b3RhbFBhZ2VzIiwidG90YWxSZXN1bHRzIiwicGFnaW5nU3RhcnQiLCJwYWdpbmdFbmQiLCJ3YXNTZWFyY2hlZCIsInJlbW92ZUNvbmRpdGlvbmFsRmFjZXRzIiwiY29uZGl0aW9uYWxGYWNldHMiLCJPYmplY3QiLCJlbnRyaWVzIiwicmVkdWNlIiwiYWNjIiwiZmFjZXRLZXkiLCJmYWNldCIsIlNlYXJjaERyaXZlciIsImFwaUNvbm5lY3RvciIsImF1dG9jb21wbGV0ZVF1ZXJ5IiwiZGVidWciLCJpbml0aWFsU3RhdGUiLCJvblNlYXJjaCIsIm9uQXV0b2NvbXBsZXRlIiwib25SZXN1bHRDbGljayIsIm9uQXV0b2NvbXBsZXRlUmVzdWx0Q2xpY2siLCJzZWFyY2hRdWVyeSIsInRyYWNrVXJsU3RhdGUiLCJ1cmxQdXNoRGVib3VuY2VMZW5ndGgiLCJoYXNBMTF5Tm90aWZpY2F0aW9ucyIsImExMXlOb3RpZmljYXRpb25NZXNzYWdlcyIsImF1dG9jb21wbGV0ZVJlc3VsdHMiLCJhdXRvY29tcGxldGVTdWdnZXN0aW9ucyIsInJlcXVlc3RTZXF1ZW5jZXIiLCJuZXh0IiwicXVlcnlDb25maWciLCJzdWdnZXN0aW9ucyIsImV2ZW50cyIsImF1dG9jb21wbGV0ZSIsInRoZW4iLCJhdXRvY29tcGxldGVkIiwiaXNPbGRSZXF1ZXN0IiwiY29tcGxldGVkIiwiX3NldFN0YXRlIiwic2VhcmNoUGFyYW1ldGVycyIsInNraXBQdXNoVG9VcmwiLCJpZ25vcmVJc0xvYWRpbmdDaGVjayIsInN0YXRlIiwicmVxdWVzdFN0YXRlIiwic2VhcmNoIiwicmVzdWx0U3RhdGUiLCJzdGFydCIsImVuZCIsIm1lc3NhZ2VBcmdzIiwiYTExeU5vdGlmeSIsImRlYm91bmNlTWFuYWdlciIsInJ1bldpdGhEZWJvdW5jZSIsInB1c2hTdGF0ZVRvVVJMIiwiYmluZCIsIm1lc3NhZ2UiLCJhY3Rpb25OYW1lIiwiYWN0aW9uIiwiYXNzaWduIiwic3Vic2NyaXB0aW9ucyIsInVybFN0YXRlIiwiZ2V0U3RhdGVGcm9tVVJMIiwib25VUkxTdGF0ZUNoYW5nZSIsIl91cGRhdGVTZWFyY2hSZXN1bHRzIiwiZ2V0TGl2ZVJlZ2lvbiIsImRlZmF1bHRNZXNzYWdlcyIsInN0YXJ0aW5nU3RhdGUiLCJsZW5ndGgiLCJuZXdTdGF0ZSIsImNvbnNvbGUiLCJsb2ciLCJmb3JFYWNoIiwic3Vic2NyaXB0aW9uIiwib25TdGF0ZUNoYW5nZSIsInB1c2giLCJmaWx0ZXIiLCJzdWIiLCJ0ZWFyRG93biJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBT0EsVUFBUCxNQUF1QixjQUF2QjtBQUVBLE9BQU9DLGdCQUFQLE1BQTZCLG9CQUE3QjtBQUNBLE9BQU9DLGVBQVAsTUFBNEIsbUJBQTVCO0FBRUEsT0FBTyxLQUFLQyxPQUFaLE1BQXlCLFdBQXpCO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixVQUFuQjtBQUVBLE9BQU8sS0FBS0MsSUFBWixNQUFzQixxQkFBdEI7O0FBRUEsU0FBU0Msc0JBQVQsT0FPRztBQUFBLE1BTkRDLE9BTUMsUUFOREEsT0FNQztBQUFBLE1B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LEdBQXFCLEtBQUtBLGFBQUwsQ0FBbUJnQixNQUFuQixDQUNuQixVQUFBQyxHQUFHO0FBQUEsZUFBSUEsR0FBRyxLQUFLSCxhQUFaO0FBQUEsT0FEZ0IsQ0FBckI7QUFHRDtBQUVEOzs7Ozs7K0JBR1c7QUFDVCxXQUFLZCxhQUFMLEdBQXFCLEVBQXJCO0FBQ0EsV0FBS25GLFVBQUwsSUFBbUIsS0FBS0EsVUFBTCxDQUFnQnFHLFFBQWhCLEVBQW5CO0FBQ0Q7QUFFRDs7Ozs7Ozs7aUNBS2E7QUFDWCxhQUFPLEtBQUtsRyxPQUFaO0FBQ0Q7QUFFRDs7Ozs7Ozs7OytCQU1XO0FBQ1Q7QUFDQTtBQUNBLCtCQUFZLEtBQUtnRSxLQUFqQjtBQUNEOzs7Ozs7U0FyUmtCOUIsWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBVUkxNYW5hZ2VyIGZyb20gXCIuL1VSTE1hbmFnZXJcIjtcblxuaW1wb3J0IFJlcXVlc3RTZXF1ZW5jZXIgZnJvbSBcIi4vUmVxdWVzdFNlcXVlbmNlclwiO1xuaW1wb3J0IERlYm91bmNlTWFuYWdlciBmcm9tIFwiLi9EZWJvdW5jZU1hbmFnZXJcIjtcblxuaW1wb3J0ICogYXMgYWN0aW9ucyBmcm9tIFwiLi9hY3Rpb25zXCI7XG5pbXBvcnQgRXZlbnRzIGZyb20gXCIuL0V2ZW50c1wiO1xuXG5pbXBvcnQgKiBhcyBhMTF5IGZyb20gXCIuL0ExMXlOb3RpZmljYXRpb25zXCI7XG5cbmZ1bmN0aW9uIGZpbHRlclNlYXJjaFBhcmFtZXRlcnMoe1xuICBjdXJyZW50LFxuICBmaWx0ZXJzLFxuICByZXN1bHRzUGVyUGFnZSxcbiAgc2VhcmNoVGVybSxcbiAgc29ydERpcmVjdGlvbixcbiAgc29ydEZpZWxkXG59KSB7XG4gIHJldHVybiB7XG4gICAgY3VycmVudCxcbiAgICBmaWx0ZXJzLFxuICAgIHJlc3VsdHNQZXJQYWdlLFxuICAgIHNlYXJjaFRlcm0sXG4gICAgc29ydERpcmVjdGlvbixcbiAgICBzb3J0RmllbGRcbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfU1RBVEUgPSB7XG4gIC8vIFNlYXJjaCBQYXJhbWV0ZXJzIC0tIFRoaXMgaXMgc3RhdGUgdGhhdCByZXByZXNlbnRzIHRoZSBpbnB1dCBzdGF0ZS5cbiAgY3VycmVudDogMSxcbiAgZmlsdGVyczogW10sXG4gIHJlc3VsdHNQZXJQYWdlOiAyMCxcbiAgc2VhcmNoVGVybTogXCJcIixcbiAgc29ydERpcmVjdGlvbjogXCJcIixcbiAgc29ydEZpZWxkOiBcIlwiLFxuICAvLyBSZXN1bHQgU3RhdGUgLS0gVGhpcyBzdGF0ZSByZXByZXNlbnRzIHN0YXRlIHRoYXQgaXMgdXBkYXRlZCBhdXRvbWF0aWNhbGx5XG4gIC8vIGFzIHRoZSByZXN1bHQgb2YgY2hhbmdpbmcgaW5wdXQgc3RhdGUuXG4gIGF1dG9jb21wbGV0ZWRSZXN1bHRzOiBbXSxcbiAgYXV0b2NvbXBsZXRlZFJlc3VsdHNSZXF1ZXN0SWQ6IFwiXCIsXG4gIGF1dG9jb21wbGV0ZWRTdWdnZXN0aW9uczoge30sXG4gIGF1dG9jb21wbGV0ZWRTdWdnZXN0aW9uc1JlcXVlc3RJZDogXCJcIixcbiAgZXJyb3I6IFwiXCIsXG4gIGlzTG9hZGluZzogZmFsc2UsXG4gIGZhY2V0czoge30sXG4gIHJlcXVlc3RJZDogXCJcIixcbiAgcmVzdWx0czogW10sXG4gIHJlc3VsdFNlYXJjaFRlcm06IFwiXCIsXG4gIHRvdGFsUGFnZXM6IDAsXG4gIHRvdGFsUmVzdWx0czogMCxcbiAgcGFnaW5nU3RhcnQ6IDAsXG4gIHBhZ2luZ0VuZDogMCxcbiAgd2FzU2VhcmNoZWQ6IGZhbHNlXG59O1xuXG5mdW5jdGlvbiByZW1vdmVDb25kaXRpb25hbEZhY2V0cyhcbiAgZmFjZXRzID0ge30sXG4gIGNvbmRpdGlvbmFsRmFjZXRzID0ge30sXG4gIGZpbHRlcnMgPSBbXVxuKSB7XG4gIHJldHVybiBPYmplY3QuZW50cmllcyhmYWNldHMpLnJlZHVjZSgoYWNjLCBbZmFjZXRLZXksIGZhY2V0XSkgPT4ge1xuICAgIGlmIChcbiAgICAgIGNvbmRpdGlvbmFsRmFjZXRzW2ZhY2V0S2V5XSAmJlxuICAgICAgdHlwZW9mIGNvbmRpdGlvbmFsRmFjZXRzW2ZhY2V0S2V5XSA9PT0gXCJmdW5jdGlvblwiICYmXG4gICAgICAhY29uZGl0aW9uYWxGYWNldHNbZmFjZXRLZXldKHsgZmlsdGVycyB9KVxuICAgICkge1xuICAgICAgcmV0dXJuIGFjYztcbiAgICB9XG5cbiAgICBhY2NbZmFjZXRLZXldID0gZmFjZXQ7XG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30pO1xufVxuXG4vKlxuICogVGhlIERyaXZlciBpcyBhIGZyYW1ld29yayBhZ25vc3RpYyBzZWFyY2ggc3RhdGUgbWFuYWdlciB0aGF0IGlzIGNhcGFibGVcbiAqIHN5bmNpbmcgc3RhdGUgdG8gdGhlIHVybC5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2VhcmNoRHJpdmVyIHtcbiAgc3RhdGUgPSBERUZBVUxUX1NUQVRFO1xuXG4gIGNvbnN0cnVjdG9yKHtcbiAgICBhcGlDb25uZWN0b3IsXG4gICAgYXV0b2NvbXBsZXRlUXVlcnkgPSB7fSxcbiAgICBkZWJ1ZyxcbiAgICBpbml0aWFsU3RhdGUsXG4gICAgb25TZWFyY2gsXG4gICAgb25BdXRvY29tcGxldGUsXG4gICAgb25SZXN1bHRDbGljayxcbiAgICBvbkF1dG9jb21wbGV0ZVJlc3VsdENsaWNrLFxuICAgIHNlYXJjaFF1ZXJ5ID0ge30sXG4gICAgdHJhY2tVcmxTdGF0ZSA9IHRydWUsXG4gICAgdXJsUHVzaERlYm91bmNlTGVuZ3RoID0gNTAwLFxuICAgIGhhc0ExMXlOb3RpZmljYXRpb25zID0gZmFsc2UsXG4gICAgYTExeU5vdGlmaWNhdGlvbk1lc3NhZ2VzID0ge31cbiAgfSkge1xuICAgIHRoaXMuYWN0aW9ucyA9IE9iamVjdC5lbnRyaWVzKGFjdGlvbnMpLnJlZHVjZShcbiAgICAgIChhY2MsIFthY3Rpb25OYW1lLCBhY3Rpb25dKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgIFthY3Rpb25OYW1lXTogYWN0aW9uLmJpbmQodGhpcylcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgICB7fVxuICAgICk7XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLCB0aGlzLmFjdGlvbnMpO1xuXG4gICAgdGhpcy5ldmVudHMgPSBuZXcgRXZlbnRzKHtcbiAgICAgIGFwaUNvbm5lY3RvcixcbiAgICAgIG9uU2VhcmNoLFxuICAgICAgb25BdXRvY29tcGxldGUsXG4gICAgICBvblJlc3VsdENsaWNrLFxuICAgICAgb25BdXRvY29tcGxldGVSZXN1bHRDbGlja1xuICAgIH0pO1xuXG4gICAgdGhpcy5kZWJ1ZyA9IGRlYnVnO1xuICAgIHRoaXMucmVxdWVzdFNlcXVlbmNlciA9IG5ldyBSZXF1ZXN0U2VxdWVuY2VyKCk7XG4gICAgdGhpcy5kZWJvdW5jZU1hbmFnZXIgPSBuZXcgRGVib3VuY2VNYW5hZ2VyKCk7XG4gICAgdGhpcy5hdXRvY29tcGxldGVRdWVyeSA9IGF1dG9jb21wbGV0ZVF1ZXJ5O1xuICAgIHRoaXMuc2VhcmNoUXVlcnkgPSBzZWFyY2hRdWVyeTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBbXTtcbiAgICB0aGlzLnRyYWNrVXJsU3RhdGUgPSB0cmFja1VybFN0YXRlO1xuICAgIHRoaXMudXJsUHVzaERlYm91bmNlTGVuZ3RoID0gdXJsUHVzaERlYm91bmNlTGVuZ3RoO1xuXG4gICAgbGV0IHVybFN0YXRlO1xuICAgIGlmICh0cmFja1VybFN0YXRlKSB7XG4gICAgICB0aGlzLlVSTE1hbmFnZXIgPSBuZXcgVVJMTWFuYWdlcigpO1xuICAgICAgdXJsU3RhdGUgPSB0aGlzLlVSTE1hbmFnZXIuZ2V0U3RhdGVGcm9tVVJMKCk7XG4gICAgICB0aGlzLlVSTE1hbmFnZXIub25VUkxTdGF0ZUNoYW5nZSh1cmxTdGF0ZSA9PiB7XG4gICAgICAgIHRoaXMuX3VwZGF0ZVNlYXJjaFJlc3VsdHMoXG4gICAgICAgICAgeyAuLi5ERUZBVUxUX1NUQVRFLCAuLi51cmxTdGF0ZSB9LFxuICAgICAgICAgIHsgc2tpcFB1c2hUb1VybDogdHJ1ZSB9XG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdXJsU3RhdGUgPSB7fTtcbiAgICB9XG5cbiAgICAvLyBNYW5hZ2Ugc2NyZWVuIHJlYWRlciBhY2Nlc3NpYmxlIG5vdGlmaWNhdGlvbnNcbiAgICB0aGlzLmhhc0ExMXlOb3RpZmljYXRpb25zID0gaGFzQTExeU5vdGlmaWNhdGlvbnM7XG4gICAgaWYgKHRoaXMuaGFzQTExeU5vdGlmaWNhdGlvbnMpIGExMXkuZ2V0TGl2ZVJlZ2lvbigpO1xuXG4gICAgdGhpcy5hMTF5Tm90aWZpY2F0aW9uTWVzc2FnZXMgPSB7XG4gICAgICAuLi5hMTF5LmRlZmF1bHRNZXNzYWdlcyxcbiAgICAgIC4uLmExMXlOb3RpZmljYXRpb25NZXNzYWdlc1xuICAgIH07XG5cbiAgICAvLyBSZW1lbWJlciB0aGUgc3RhdGUgdGhpcyBhcHBsaWNhdGlvbiBpcyBpbml0aWFsaXplZCBpbnRvLCBzbyB0aGF0IHdlIGNhblxuICAgIC8vIHJlc2V0IHRvIGl0IGxhdGVyLlxuICAgIHRoaXMuc3RhcnRpbmdTdGF0ZSA9IHtcbiAgICAgIC4uLnRoaXMuc3RhdGUsXG4gICAgICAuLi5pbml0aWFsU3RhdGVcbiAgICB9O1xuXG4gICAgLy8gV2UgZmlsdGVyIHRoZXNlIGhlcmUgdG8gZGlzYWxsb3cgYW55dGhpbmcgb3RoZXIgdGhhbiB2YWxpZCBzZWFyY2hcbiAgICAvLyBwYXJhbWV0ZXJzIHRvIGJlIHBhc3NlZCBpbiBpbml0aWFsIHN0YXRlLCBvciB1cmwgc3RhdGUuIGByZXN1bHRzYCwgZXRjLFxuICAgIC8vIHNob3VsZCBub3QgYmUgYWxsb3dlZCB0byBiZSBwYXNzZWQgaW4sIHRoYXQgc2hvdWxkIGJlIGdlbmVyYXRlZCBiYXNlZCBvblxuICAgIC8vIHRoZSByZXN1bHRzIG9mIHRoZSBxdWVyeVxuICAgIGNvbnN0IHNlYXJjaFBhcmFtZXRlcnMgPSBmaWx0ZXJTZWFyY2hQYXJhbWV0ZXJzKHtcbiAgICAgIC4uLnRoaXMuc3RhcnRpbmdTdGF0ZSxcbiAgICAgIC4uLnVybFN0YXRlXG4gICAgfSk7XG5cbiAgICAvLyBJbml0aWFsaXplIHRoZSBzdGF0ZSB3aXRob3V0IGNhbGxpbmcgX3NldFN0YXRlLCBiZWNhdXNlIHdlIGRvbid0XG4gICAgLy8gd2FudCB0byB0cmlnZ2VyIGFuIHVwZGF0ZSBjYWxsYmFjaywgd2UncmUganVzdCBpbml0aWFsaXppbmcgdGhlIHN0YXRlXG4gICAgLy8gdG8gdGhlIGNvcnJlY3QgZGVmYXVsdCB2YWx1ZXMgZm9yIHRoZSBpbml0aWFsIFVJIHJlbmRlclxuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICAuLi50aGlzLnN0YXRlLFxuICAgICAgLi4uc2VhcmNoUGFyYW1ldGVyc1xuICAgIH07XG5cbiAgICAvLyBXZSdsbCB0cmlnZ2VyIGFuIGluaXRpYWwgc2VhcmNoIGlmIGluaXRpYWwgcGFyYW1ldGVycyBjb250YWluXG4gICAgLy8gYSBzZWFyY2ggdGVybSBvciBmaWx0ZXJzLCBvdGhlcndpc2UsIHdlJ2xsIGp1c3Qgc2F2ZSB0aGVpciBzZWxlY3Rpb25zXG4gICAgLy8gaW4gc3RhdGUgYXMgaW5pdGlhbCB2YWx1ZXMuXG4gICAgaWYgKHNlYXJjaFBhcmFtZXRlcnMuc2VhcmNoVGVybSB8fCBzZWFyY2hQYXJhbWV0ZXJzLmZpbHRlcnMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5fdXBkYXRlU2VhcmNoUmVzdWx0cyhzZWFyY2hQYXJhbWV0ZXJzKTtcbiAgICB9XG4gIH1cblxuICBfdXBkYXRlQXV0b2NvbXBsZXRlID0gKFxuICAgIHNlYXJjaFRlcm0sXG4gICAgeyBhdXRvY29tcGxldGVSZXN1bHRzLCBhdXRvY29tcGxldGVTdWdnZXN0aW9ucyB9ID0ge31cbiAgKSA9PiB7XG4gICAgY29uc3QgcmVxdWVzdElkID0gdGhpcy5yZXF1ZXN0U2VxdWVuY2VyLm5leHQoKTtcblxuICAgIGNvbnN0IHF1ZXJ5Q29uZmlnID0ge1xuICAgICAgLi4uKGF1dG9jb21wbGV0ZVJlc3VsdHMgJiYge1xuICAgICAgICByZXN1bHRzOiB0aGlzLmF1dG9jb21wbGV0ZVF1ZXJ5LnJlc3VsdHMgfHwge31cbiAgICAgIH0pLFxuICAgICAgLi4uKGF1dG9jb21wbGV0ZVN1Z2dlc3Rpb25zICYmIHtcbiAgICAgICAgc3VnZ2VzdGlvbnM6IHRoaXMuYXV0b2NvbXBsZXRlUXVlcnkuc3VnZ2VzdGlvbnMgfHwge31cbiAgICAgIH0pXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLmV2ZW50c1xuICAgICAgLmF1dG9jb21wbGV0ZSh7IHNlYXJjaFRlcm0gfSwgcXVlcnlDb25maWcpXG4gICAgICAudGhlbihhdXRvY29tcGxldGVkID0+IHtcbiAgICAgICAgaWYgKHRoaXMucmVxdWVzdFNlcXVlbmNlci5pc09sZFJlcXVlc3QocmVxdWVzdElkKSkgcmV0dXJuO1xuICAgICAgICB0aGlzLnJlcXVlc3RTZXF1ZW5jZXIuY29tcGxldGVkKHJlcXVlc3RJZCk7XG5cbiAgICAgICAgdGhpcy5fc2V0U3RhdGUoYXV0b2NvbXBsZXRlZCk7XG4gICAgICB9KTtcbiAgfTtcblxuICBfdXBkYXRlU2VhcmNoUmVzdWx0cyA9IChcbiAgICBzZWFyY2hQYXJhbWV0ZXJzLFxuICAgIHsgc2tpcFB1c2hUb1VybCA9IGZhbHNlLCBpZ25vcmVJc0xvYWRpbmdDaGVjayA9IGZhbHNlIH0gPSB7fVxuICApID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBjdXJyZW50LFxuICAgICAgZmlsdGVycyxcbiAgICAgIGlzTG9hZGluZyxcbiAgICAgIHJlc3VsdHNQZXJQYWdlLFxuICAgICAgc2VhcmNoVGVybSxcbiAgICAgIHNvcnREaXJlY3Rpb24sXG4gICAgICBzb3J0RmllbGRcbiAgICB9ID0ge1xuICAgICAgLi4udGhpcy5zdGF0ZSxcbiAgICAgIC4uLnNlYXJjaFBhcmFtZXRlcnNcbiAgICB9O1xuXG4gICAgaWYgKGlzTG9hZGluZyAmJiAhaWdub3JlSXNMb2FkaW5nQ2hlY2spIHJldHVybjtcblxuICAgIHRoaXMuX3NldFN0YXRlKHtcbiAgICAgIGN1cnJlbnQsXG4gICAgICBlcnJvcjogXCJcIixcbiAgICAgIGZpbHRlcnMsXG4gICAgICBpc0xvYWRpbmc6IHRydWUsXG4gICAgICByZXN1bHRzUGVyUGFnZSxcbiAgICAgIHNlYXJjaFRlcm0sXG4gICAgICBzb3J0RGlyZWN0aW9uLFxuICAgICAgc29ydEZpZWxkXG4gICAgfSk7XG5cbiAgICBjb25zdCByZXF1ZXN0SWQgPSB0aGlzLnJlcXVlc3RTZXF1ZW5jZXIubmV4dCgpO1xuXG4gICAgY29uc3QgcXVlcnlDb25maWcgPSB7XG4gICAgICAuLi50aGlzLnNlYXJjaFF1ZXJ5LFxuICAgICAgZmFjZXRzOiByZW1vdmVDb25kaXRpb25hbEZhY2V0cyhcbiAgICAgICAgdGhpcy5zZWFyY2hRdWVyeS5mYWNldHMsXG4gICAgICAgIHRoaXMuc2VhcmNoUXVlcnkuY29uZGl0aW9uYWxGYWNldHMsXG4gICAgICAgIGZpbHRlcnNcbiAgICAgIClcbiAgICB9O1xuXG4gICAgY29uc3QgcmVxdWVzdFN0YXRlID0gZmlsdGVyU2VhcmNoUGFyYW1ldGVycyh0aGlzLnN0YXRlKTtcblxuICAgIHJldHVybiB0aGlzLmV2ZW50cy5zZWFyY2gocmVxdWVzdFN0YXRlLCBxdWVyeUNvbmZpZykudGhlbihcbiAgICAgIHJlc3VsdFN0YXRlID0+IHtcbiAgICAgICAgaWYgKHRoaXMucmVxdWVzdFNlcXVlbmNlci5pc09sZFJlcXVlc3QocmVxdWVzdElkKSkgcmV0dXJuO1xuICAgICAgICB0aGlzLnJlcXVlc3RTZXF1ZW5jZXIuY29tcGxldGVkKHJlcXVlc3RJZCk7XG5cbiAgICAgICAgLy8gUmVzdWx0cyBwYWdpbmcgc3RhcnQgJiBlbmRcbiAgICAgICAgY29uc3QgeyB0b3RhbFJlc3VsdHMgfSA9IHJlc3VsdFN0YXRlO1xuICAgICAgICBjb25zdCBzdGFydCA9XG4gICAgICAgICAgdG90YWxSZXN1bHRzID09PSAwID8gMCA6IChjdXJyZW50IC0gMSkgKiByZXN1bHRzUGVyUGFnZSArIDE7XG4gICAgICAgIGNvbnN0IGVuZCA9XG4gICAgICAgICAgdG90YWxSZXN1bHRzIDw9IHN0YXJ0ICsgcmVzdWx0c1BlclBhZ2VcbiAgICAgICAgICAgID8gdG90YWxSZXN1bHRzXG4gICAgICAgICAgICA6IHN0YXJ0ICsgcmVzdWx0c1BlclBhZ2UgLSAxO1xuXG4gICAgICAgIHRoaXMuX3NldFN0YXRlKHtcbiAgICAgICAgICBpc0xvYWRpbmc6IGZhbHNlLFxuICAgICAgICAgIHJlc3VsdFNlYXJjaFRlcm06IHNlYXJjaFRlcm0sXG4gICAgICAgICAgcGFnaW5nU3RhcnQ6IHN0YXJ0LFxuICAgICAgICAgIHBhZ2luZ0VuZDogZW5kLFxuICAgICAgICAgIC4uLnJlc3VsdFN0YXRlLFxuICAgICAgICAgIHdhc1NlYXJjaGVkOiB0cnVlXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICh0aGlzLmhhc0ExMXlOb3RpZmljYXRpb25zKSB7XG4gICAgICAgICAgY29uc3QgbWVzc2FnZUFyZ3MgPSB7IHN0YXJ0LCBlbmQsIHRvdGFsUmVzdWx0cywgc2VhcmNoVGVybSB9O1xuICAgICAgICAgIHRoaXMuYWN0aW9ucy5hMTF5Tm90aWZ5KFwic2VhcmNoUmVzdWx0c1wiLCBtZXNzYWdlQXJncyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXNraXBQdXNoVG9VcmwgJiYgdGhpcy50cmFja1VybFN0YXRlKSB7XG4gICAgICAgICAgLy8gV2UgZGVib3VuY2UgaGVyZSBzbyB0aGF0IHdlIGRvbid0IGdldCBhIGxvdCBvZiBpbnRlcm1lZGlhcnlcbiAgICAgICAgICAvLyBVUkwgc3RhdGUgaWYgc29tZW9uZSBpcyB1cGRhdGluZyBhIFVJIHJlYWxseSBmYXN0LCBsaWtlIHR5cGluZ1xuICAgICAgICAgIC8vIGluIGEgbGl2ZSBzZWFyY2ggYm94IGZvciBpbnN0YW5jZS5cbiAgICAgICAgICB0aGlzLmRlYm91bmNlTWFuYWdlci5ydW5XaXRoRGVib3VuY2UoXG4gICAgICAgICAgICB0aGlzLnVybFB1c2hEZWJvdW5jZUxlbmd0aCxcbiAgICAgICAgICAgIHRoaXMuVVJMTWFuYWdlci5wdXNoU3RhdGVUb1VSTC5iaW5kKHRoaXMuVVJMTWFuYWdlciksXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGN1cnJlbnQsXG4gICAgICAgICAgICAgIGZpbHRlcnMsXG4gICAgICAgICAgICAgIHJlc3VsdHNQZXJQYWdlLFxuICAgICAgICAgICAgICBzZWFyY2hUZXJtLFxuICAgICAgICAgICAgICBzb3J0RGlyZWN0aW9uLFxuICAgICAgICAgICAgICBzb3J0RmllbGRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZXJyb3IgPT4ge1xuICAgICAgICB0aGlzLl9zZXRTdGF0ZSh7XG4gICAgICAgICAgZXJyb3I6IGBBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VycmVkOiAke2Vycm9yLm1lc3NhZ2V9YFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICApO1xuICB9O1xuXG4gIF9zZXRTdGF0ZShuZXdTdGF0ZSkge1xuICAgIGNvbnN0IHN0YXRlID0geyAuLi50aGlzLnN0YXRlLCAuLi5uZXdTdGF0ZSB9O1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgaWYgKHRoaXMuZGVidWcpIGNvbnNvbGUubG9nKFwiU3RhdGUgVXBkYXRlXCIsIG5ld1N0YXRlLCBzdGF0ZSk7XG4gICAgdGhpcy5zdGF0ZSA9IHN0YXRlO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHN1YnNjcmlwdGlvbiA9PiBzdWJzY3JpcHRpb24oc3RhdGUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbnkgdGltZSBzdGF0ZSBpcyB1cGRhdGVkIGluIHRoaXMgRHJpdmVyLCB0aGUgcHJvdmlkZWQgY2FsbGJhY2tcbiAgICogd2lsbCBiZSBleGVjdXRlZCB3aXRoIHRoZSB1cGRhdGVkIHN0YXRlLlxuICAgKlxuICAgKiBAcGFyYW0gb25TdGF0ZUNoYW5nZSBGdW5jdGlvblxuICAgKi9cbiAgc3Vic2NyaWJlVG9TdGF0ZUNoYW5nZXMob25TdGF0ZUNoYW5nZSkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKG9uU3RhdGVDaGFuZ2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBvblN0YXRlQ2hhbmdlIEZ1bmN0aW9uXG4gICAqL1xuICB1bnN1YnNjcmliZVRvU3RhdGVDaGFuZ2VzKG9uU3RhdGVDaGFuZ2UpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSB0aGlzLnN1YnNjcmlwdGlvbnMuZmlsdGVyKFxuICAgICAgc3ViID0+IHN1YiAhPT0gb25TdGF0ZUNoYW5nZVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGFsbCBsaXN0ZW5lcnNcbiAgICovXG4gIHRlYXJEb3duKCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IFtdO1xuICAgIHRoaXMuVVJMTWFuYWdlciAmJiB0aGlzLlVSTE1hbmFnZXIudGVhckRvd24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgYWxsIGF2YWlsYWJsZSBhY2l0b25zXG4gICAqXG4gICAqIEByZXR1cm5zIE9iamVjdCBBbGwgYWN0aW9uc1xuICAgKi9cbiAgZ2V0QWN0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5hY3Rpb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlIGN1cnJlbnQgc3RhdGUuIFR5cGljYWxseSB1c2VkIG9uIGFwcCBpbml0aWFsaXphdGlvbi4gU3Vic2VxdWVudFxuICAgKiBzdGF0ZSB1cGRhdGVzIHNob3VsZCBjb21lIHRocm91Z2ggc3Vic2NyaXB0aW9uLlxuICAgKlxuICAgKiBAcmV0dXJucyBPYmplY3QgQ3VycmVudCBzdGF0ZVxuICAgKi9cbiAgZ2V0U3RhdGUoKSB7XG4gICAgLy8gV2UgcmV0dXJuIGEgY29weSBvZiBzdGF0ZSBoZXJlLCBiZWNhdXNlIHdlIHdhbnQgdG8gZW5zdXJlIHRoZSBzdGF0ZVxuICAgIC8vIGluc2lkZSBvZiB0aGlzIG9iamVjdCByZW1haW5zIGltbXV0YWJsZS5cbiAgICByZXR1cm4geyAuLi50aGlzLnN0YXRlIH07XG4gIH1cbn1cbiJdfQ==

@@ -0,1 +1,8 @@

import _defineProperty from "@babel/runtime/helpers/defineProperty";
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
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; }
import SearchDriver from "../SearchDriver";

@@ -48,5 +55,4 @@ var suggestions = {

var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
initialState = _ref.initialState,
mockSearchResponse = _ref.mockSearchResponse,
trackUrlState = _ref.trackUrlState;
rest = _objectWithoutProperties(_ref, ["mockSearchResponse"]);

@@ -63,11 +69,9 @@ var mockApiConnector = getMockApiConnector();

trackUrlState = trackUrlState === false || trackUrlState === true ? trackUrlState : true;
var driver = new SearchDriver({
apiConnector: mockApiConnector,
trackUrlState: trackUrlState,
initialState: initialState,
var driver = new SearchDriver(_objectSpread({
apiConnector: mockApiConnector
}, rest, {
// We don't want to deal with async in our tests, so pass 0 so URL state
// pushes happen synchronously
urlPushDebounceLength: 0
});
}));
var updatedStateAfterAction = {};

@@ -111,2 +115,2 @@ driver.subscribeToStateChanges(function (newState) {

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0L2hlbHBlcnMuanMiXSwibmFtZXMiOlsiU2VhcmNoRHJpdmVyIiwic3VnZ2VzdGlvbnMiLCJkb2N1bWVudHMiLCJzdWdnZXN0aW9uIiwic2VhcmNoUmVzcG9uc2UiLCJ0b3RhbFJlc3VsdHMiLCJ0b3RhbFBhZ2VzIiwicmVxdWVzdElkIiwiZmFjZXRzIiwicmVzdWx0cyIsImF1dG9jb21wbGV0ZVNlYXJjaFJlc3BvbnNlIiwiZ2V0TW9ja0FwaUNvbm5lY3RvciIsIm9uQXV0b2NvbXBsZXRlIiwiamVzdCIsImZuIiwibW9ja1JldHVyblZhbHVlIiwidGhlbiIsImNiIiwiYXV0b2NvbXBsZXRlZFJlc3VsdHMiLCJhdXRvY29tcGxldGVkUmVzdWx0c1JlcXVlc3RJZCIsImF1dG9jb21wbGV0ZWRTdWdnZXN0aW9ucyIsIm9uU2VhcmNoIiwib25SZXN1bHRDbGljayIsIm9uQXV0b2NvbXBsZXRlUmVzdWx0Q2xpY2siLCJzZXR1cERyaXZlciIsImluaXRpYWxTdGF0ZSIsIm1vY2tTZWFyY2hSZXNwb25zZSIsInRyYWNrVXJsU3RhdGUiLCJtb2NrQXBpQ29ubmVjdG9yIiwiZHJpdmVyIiwiYXBpQ29ubmVjdG9yIiwidXJsUHVzaERlYm91bmNlTGVuZ3RoIiwidXBkYXRlZFN0YXRlQWZ0ZXJBY3Rpb24iLCJzdWJzY3JpYmVUb1N0YXRlQ2hhbmdlcyIsIm5ld1N0YXRlIiwic3RhdGUiLCJzdGF0ZUFmdGVyQ3JlYXRpb24iLCJnZXRTdGF0ZSIsImRvZXNTdGF0ZUhhdmVSZXNwb25zZURhdGEiLCJyZXNwb25zZSIsIndhc1NlYXJjaGVkIiwibGVuZ3RoIiwid2FpdEFCaXQiLCJQcm9taXNlIiwicmVzb2x2ZSIsInNldFRpbWVvdXQiLCJnZXRTZWFyY2hDYWxscyIsIm1vY2siLCJjYWxscyIsImdldEF1dG9jb21wbGV0ZUNhbGxzIiwiZ2V0Q2xpY2tDYWxscyIsImdldEF1dG9jb21wbGV0ZUNsaWNrQ2FsbHMiXSwibWFwcGluZ3MiOiJBQUFBLE9B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O0FBQy9DLFNBQU9BLGdCQUFnQixDQUFDUCxRQUFqQixDQUEwQjBCLElBQTFCLENBQStCQyxLQUF0QztBQUNEO0FBRUQsT0FBTyxTQUFTQyxvQkFBVCxDQUE4QnJCLGdCQUE5QixFQUFnRDtBQUNyRCxTQUFPQSxnQkFBZ0IsQ0FBQ2hCLGNBQWpCLENBQWdDbUMsSUFBaEMsQ0FBcUNDLEtBQTVDO0FBQ0Q7QUFFRCxPQUFPLFNBQVNFLGFBQVQsQ0FBdUJ0QixnQkFBdkIsRUFBeUM7QUFDOUMsU0FBT0EsZ0JBQWdCLENBQUNOLGFBQWpCLENBQStCeUIsSUFBL0IsQ0FBb0NDLEtBQTNDO0FBQ0Q7QUFFRCxPQUFPLFNBQVNHLHlCQUFULENBQW1DdkIsZ0JBQW5DLEVBQXFEO0FBQzFELFNBQU9BLGdCQUFnQixDQUFDTCx5QkFBakIsQ0FBMkN3QixJQUEzQyxDQUFnREMsS0FBdkQ7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBTZWFyY2hEcml2ZXIgZnJvbSBcIi4uL1NlYXJjaERyaXZlclwiO1xuXG5jb25zdCBzdWdnZXN0aW9ucyA9IHtcbiAgZG9jdW1lbnRzOiBbXG4gICAge1xuICAgICAgc3VnZ2VzdGlvbjogXCJjYXJsc2JhZFwiXG4gICAgfSxcbiAgICB7XG4gICAgICBzdWdnZXN0aW9uOiBcImNhcmxzYmFkIGNhdmVybnNcIlxuICAgIH0sXG4gICAge1xuICAgICAgc3VnZ2VzdGlvbjogXCJjYXJvbGluYVwiXG4gICAgfVxuICBdXG59O1xuXG5jb25zdCBzZWFyY2hSZXNwb25zZSA9IHtcbiAgdG90YWxSZXN1bHRzOiAxMDAwLFxuICB0b3RhbFBhZ2VzOiAxMDAsXG4gIHJlcXVlc3RJZDogXCIxMjM0NVwiLFxuICBmYWNldHM6IHt9LFxuICByZXN1bHRzOiBbe30sIHt9XVxufTtcblxuY29uc3QgYXV0b2NvbXBsZXRlU2VhcmNoUmVzcG9uc2UgPSB7XG4gIHJlcXVlc3RJZDogXCI2Nzg5XCIsXG4gIHJlc3VsdHM6IFt7fSwge31dXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TW9ja0FwaUNvbm5lY3RvcigpIHtcbiAgcmV0dXJuIHtcbiAgICBvbkF1dG9jb21wbGV0ZTogamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZSh7XG4gICAgICB0aGVuOiBjYiA9PlxuICAgICAgICBjYih7XG4gICAgICAgICAgYXV0b2NvbXBsZXRlZFJlc3VsdHM6IGF1dG9jb21wbGV0ZVNlYXJjaFJlc3BvbnNlLnJlc3VsdHMsXG4gICAgICAgICAgYXV0b2NvbXBsZXRlZFJlc3VsdHNSZXF1ZXN0SWQ6IGF1dG9jb21wbGV0ZVNlYXJjaFJlc3BvbnNlLnJlcXVlc3RJZCxcbiAgICAgICAgICBhdXRvY29tcGxldGVkU3VnZ2VzdGlvbnM6IHN1Z2dlc3Rpb25zXG4gICAgICAgIH0pXG4gICAgfSksXG4gICAgb25TZWFyY2g6IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoeyB0aGVuOiBjYiA9PiBjYihzZWFyY2hSZXNwb25zZSkgfSksXG4gICAgb25SZXN1bHRDbGljazogamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZSh7IHRoZW46ICgpID0+IHt9IH0pLFxuICAgIG9uQXV0b2NvbXBsZXRlUmVzdWx0Q2xpY2s6IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoeyB0aGVuOiAoKSA9PiB7fSB9KVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0dXBEcml2ZXIoe1xuICBpbml0aWFsU3RhdGUsXG4gIG1vY2tTZWFyY2hSZXNwb25zZSxcbiAgdHJhY2tVcmxTdGF0ZVxufSA9IHt9KSB7XG4gIGNvbnN0IG1vY2tBcGlDb25uZWN0b3IgPSBnZXRNb2NrQXBpQ29ubmVjdG9yKCk7XG5cbiAgaWYgKG1vY2tTZWFyY2hSZXNwb25zZSkge1xuICAgIG1vY2tBcGlDb25uZWN0b3Iub25TZWFyY2ggPSBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKHtcbiAgICAgIHRoZW46IGNiID0+IGNiKG1vY2tTZWFyY2hSZXNwb25zZSlcbiAgICB9KTtcbiAgfVxuXG4gIHRyYWNrVXJsU3RhdGUgPVxuICAgIHRyYWNrVXJsU3RhdGUgPT09IGZhbHNlIHx8IHRyYWNrVXJsU3RhdGUgPT09IHRydWUgPyB0cmFja1VybFN0YXRlIDogdHJ1ZTtcblxuICBjb25zdCBkcml2ZXIgPSBuZXcgU2VhcmNoRHJpdmVyKHtcbiAgICBhcGlDb25uZWN0b3I6IG1vY2tBcGlDb25uZWN0b3IsXG4gICAgdHJhY2tVcmxTdGF0ZSxcbiAgICBpbml0aWFsU3RhdGUsXG4gICAgLy8gV2UgZG9uJ3Qgd2FudCB0byBkZWFsIHdpdGggYXN5bmMgaW4gb3VyIHRlc3RzLCBzbyBwYXNzIDAgc28gVVJMIHN0YXRlXG4gICAgLy8gcHVzaGVzIGhhcHBlbiBzeW5jaHJvbm91c2x5XG4gICAgdXJsUHVzaERlYm91bmNlTGVuZ3RoOiAwXG4gIH0pO1xuXG4gIGNvbnN0IHVwZGF0ZWRTdGF0ZUFmdGVyQWN0aW9uID0ge307XG4gIGRyaXZlci5zdWJzY3JpYmVUb1N0YXRlQ2hhbmdlcyhuZXdTdGF0ZSA9PiB7XG4gICAgdXBkYXRlZFN0YXRlQWZ0ZXJBY3Rpb24uc3RhdGUgPSBuZXdTdGF0ZTtcbiAgfSk7XG5cbiAgcmV0dXJuIHtcbiAgICBzdGF0ZUFmdGVyQ3JlYXRpb246IGRyaXZlci5nZXRTdGF0ZSgpLFxuICAgIGRyaXZlcixcbiAgICB1cGRhdGVkU3RhdGVBZnRlckFjdGlvbixcbiAgICBtb2NrQXBpQ29ubmVjdG9yXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkb2VzU3RhdGVIYXZlUmVzcG9uc2VEYXRhKHJlc3BvbnNlKSB7XG4gIGNvbnN0IHtcbiAgICByZXF1ZXN0SWQsXG4gICAgcmVzdWx0cyxcbiAgICB0b3RhbFBhZ2VzLFxuICAgIHRvdGFsUmVzdWx0cyxcbiAgICB3YXNTZWFyY2hlZFxuICB9ID0gcmVzcG9uc2U7XG4gIHJldHVybiAoXG4gICAgISFyZXN1bHRzICYmXG4gICAgcmVzdWx0cy5sZW5ndGggJiZcbiAgICAhIXJlcXVlc3RJZCAmJlxuICAgIHRvdGFsUGFnZXMgPiAwICYmXG4gICAgdG90YWxSZXN1bHRzID4gMCAmJlxuICAgICEhd2FzU2VhcmNoZWRcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdhaXRBQml0KGxlbmd0aCkge1xuICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4gcmVzb2x2ZSgpLCBsZW5ndGgpO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNlYXJjaENhbGxzKG1vY2tBcGlDb25uZWN0b3IpIHtcbiAgcmV0dXJuIG1vY2tBcGlDb25uZWN0b3Iub25TZWFyY2gubW9jay5jYWxscztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEF1dG9jb21wbGV0ZUNhbGxzKG1vY2tBcGlDb25uZWN0b3IpIHtcbiAgcmV0dXJuIG1vY2tBcGlDb25uZWN0b3Iub25BdXRvY29tcGxldGUubW9jay5jYWxscztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldENsaWNrQ2FsbHMobW9ja0FwaUNvbm5lY3Rvcikge1xuICByZXR1cm4gbW9ja0FwaUNvbm5lY3Rvci5vblJlc3VsdENsaWNrLm1vY2suY2FsbHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBdXRvY29tcGxldGVDbGlja0NhbGxzKG1vY2tBcGlDb25uZWN0b3IpIHtcbiAgcmV0dXJuIG1vY2tBcGlDb25uZWN0b3Iub25BdXRvY29tcGxldGVSZXN1bHRDbGljay5tb2NrLmNhbGxzO1xufVxuIl19
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0L2hlbHBlcnMuanMiXSwibmFtZXMiOlsiU2VhcmNoRHJpdmVyIiwic3VnZ2VzdGlvbnMiLCJkb2N1bWVudHMiLCJzdWdnZXN0aW9uIiwic2VhcmNoUmVzcG9uc2UiLCJ0b3RhbFJlc3VsdHMiLCJ0b3RhbFBhZ2VzIiwicmVxdWVzdElkIiwiZmFjZXRzIiwicmVzdWx0cyIsImF1dG9jb21wbGV0ZVNlYXJjaFJlc3BvbnNlIiwiZ2V0TW9ja0FwaUNvbm5lY3RvciIsIm9uQXV0b2NvbXBsZXRlIiwiamVzdCIsImZuIiwibW9ja1JldHVyblZhbHVlIiwidGhlbiIsImNiIiwiYXV0b2NvbXBsZXRlZFJlc3VsdHMiLCJhdXRvY29tcGxldGVkUmVzdWx0c1JlcXVlc3RJZCIsImF1dG9jb21wbGV0ZWRTdWdnZXN0aW9ucyIsIm9uU2VhcmNoIiwib25SZXN1bHRDbGljayIsIm9uQXV0b2NvbXBsZXRlUmVzdWx0Q2xpY2siLCJzZXR1cERyaXZlciIsIm1vY2tTZWFyY2hSZXNwb25zZSIsInJlc3QiLCJtb2NrQXBpQ29ubmVjdG9yIiwiZHJpdmVyIiwiYXBpQ29ubmVjdG9yIiwidXJsUHVzaERlYm91bmNlTGVuZ3RoIiwidXBkYXRlZFN0YXRlQWZ0ZXJBY3Rpb24iLCJzdWJzY3JpYmVUb1N0YXRlQ2hhbmdlcyIsIm5ld1N0YXRlIiwic3RhdGUiLCJzdGF0ZUFmdGVyQ3JlYXRpb24iLCJnZXRTdGF0ZSIsImRvZXNTdGF0ZUhhdmVSZXNwb25zZURhdGEiLCJyZXNwb25zZSIsIndhc1NlYXJjaGVkIiwibGVuZ3RoIiwid2FpdEFCaXQiLCJQcm9taXNlIiwicmVzb2x2ZSIsInNldFRpbWVvdXQiLCJnZXRTZWFyY2hDYWxscyIsIm1vY2siLCJjYWxscyIsImdldEF1dG9jb21wbGV0ZUNhbGxzIiwiZ2V0Q2xpY2tDYWxscyIsImdldEF1dG9jb21wbGV0ZUNsaWNrQ2FsbHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxPQUFPQSxZQUFQLE1BQXlCLGlC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QUF2QixFQUF5QztBQUM5QyxTQUFPQSxnQkFBZ0IsQ0FBQ0wsYUFBakIsQ0FBK0J3QixJQUEvQixDQUFvQ0MsS0FBM0M7QUFDRDtBQUVELE9BQU8sU0FBU0cseUJBQVQsQ0FBbUN2QixnQkFBbkMsRUFBcUQ7QUFDMUQsU0FBT0EsZ0JBQWdCLENBQUNKLHlCQUFqQixDQUEyQ3VCLElBQTNDLENBQWdEQyxLQUF2RDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFNlYXJjaERyaXZlciBmcm9tIFwiLi4vU2VhcmNoRHJpdmVyXCI7XG5cbmNvbnN0IHN1Z2dlc3Rpb25zID0ge1xuICBkb2N1bWVudHM6IFtcbiAgICB7XG4gICAgICBzdWdnZXN0aW9uOiBcImNhcmxzYmFkXCJcbiAgICB9LFxuICAgIHtcbiAgICAgIHN1Z2dlc3Rpb246IFwiY2FybHNiYWQgY2F2ZXJuc1wiXG4gICAgfSxcbiAgICB7XG4gICAgICBzdWdnZXN0aW9uOiBcImNhcm9saW5hXCJcbiAgICB9XG4gIF1cbn07XG5cbmNvbnN0IHNlYXJjaFJlc3BvbnNlID0ge1xuICB0b3RhbFJlc3VsdHM6IDEwMDAsXG4gIHRvdGFsUGFnZXM6IDEwMCxcbiAgcmVxdWVzdElkOiBcIjEyMzQ1XCIsXG4gIGZhY2V0czoge30sXG4gIHJlc3VsdHM6IFt7fSwge31dXG59O1xuXG5jb25zdCBhdXRvY29tcGxldGVTZWFyY2hSZXNwb25zZSA9IHtcbiAgcmVxdWVzdElkOiBcIjY3ODlcIixcbiAgcmVzdWx0czogW3t9LCB7fV1cbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNb2NrQXBpQ29ubmVjdG9yKCkge1xuICByZXR1cm4ge1xuICAgIG9uQXV0b2NvbXBsZXRlOiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKHtcbiAgICAgIHRoZW46IGNiID0+XG4gICAgICAgIGNiKHtcbiAgICAgICAgICBhdXRvY29tcGxldGVkUmVzdWx0czogYXV0b2NvbXBsZXRlU2VhcmNoUmVzcG9uc2UucmVzdWx0cyxcbiAgICAgICAgICBhdXRvY29tcGxldGVkUmVzdWx0c1JlcXVlc3RJZDogYXV0b2NvbXBsZXRlU2VhcmNoUmVzcG9uc2UucmVxdWVzdElkLFxuICAgICAgICAgIGF1dG9jb21wbGV0ZWRTdWdnZXN0aW9uczogc3VnZ2VzdGlvbnNcbiAgICAgICAgfSlcbiAgICB9KSxcbiAgICBvblNlYXJjaDogamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZSh7IHRoZW46IGNiID0+IGNiKHNlYXJjaFJlc3BvbnNlKSB9KSxcbiAgICBvblJlc3VsdENsaWNrOiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKHsgdGhlbjogKCkgPT4ge30gfSksXG4gICAgb25BdXRvY29tcGxldGVSZXN1bHRDbGljazogamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZSh7IHRoZW46ICgpID0+IHt9IH0pXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXR1cERyaXZlcih7IG1vY2tTZWFyY2hSZXNwb25zZSwgLi4ucmVzdCB9ID0ge30pIHtcbiAgY29uc3QgbW9ja0FwaUNvbm5lY3RvciA9IGdldE1vY2tBcGlDb25uZWN0b3IoKTtcblxuICBpZiAobW9ja1NlYXJjaFJlc3BvbnNlKSB7XG4gICAgbW9ja0FwaUNvbm5lY3Rvci5vblNlYXJjaCA9IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoe1xuICAgICAgdGhlbjogY2IgPT4gY2IobW9ja1NlYXJjaFJlc3BvbnNlKVxuICAgIH0pO1xuICB9XG5cbiAgY29uc3QgZHJpdmVyID0gbmV3IFNlYXJjaERyaXZlcih7XG4gICAgYXBpQ29ubmVjdG9yOiBtb2NrQXBpQ29ubmVjdG9yLFxuICAgIC8vIFBhc3MsIGUuZy4sIGluaXRpYWxTdGF0ZSBhbmQgYWxsIG90aGVyIGNvbmZpZ3NcbiAgICAuLi5yZXN0LFxuICAgIC8vIFdlIGRvbid0IHdhbnQgdG8gZGVhbCB3aXRoIGFzeW5jIGluIG91ciB0ZXN0cywgc28gcGFzcyAwIHNvIFVSTCBzdGF0ZVxuICAgIC8vIHB1c2hlcyBoYXBwZW4gc3luY2hyb25vdXNseVxuICAgIHVybFB1c2hEZWJvdW5jZUxlbmd0aDogMFxuICB9KTtcblxuICBjb25zdCB1cGRhdGVkU3RhdGVBZnRlckFjdGlvbiA9IHt9O1xuICBkcml2ZXIuc3Vic2NyaWJlVG9TdGF0ZUNoYW5nZXMobmV3U3RhdGUgPT4ge1xuICAgIHVwZGF0ZWRTdGF0ZUFmdGVyQWN0aW9uLnN0YXRlID0gbmV3U3RhdGU7XG4gIH0pO1xuXG4gIHJldHVybiB7XG4gICAgc3RhdGVBZnRlckNyZWF0aW9uOiBkcml2ZXIuZ2V0U3RhdGUoKSxcbiAgICBkcml2ZXIsXG4gICAgdXBkYXRlZFN0YXRlQWZ0ZXJBY3Rpb24sXG4gICAgbW9ja0FwaUNvbm5lY3RvclxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZG9lc1N0YXRlSGF2ZVJlc3BvbnNlRGF0YShyZXNwb25zZSkge1xuICBjb25zdCB7XG4gICAgcmVxdWVzdElkLFxuICAgIHJlc3VsdHMsXG4gICAgdG90YWxQYWdlcyxcbiAgICB0b3RhbFJlc3VsdHMsXG4gICAgd2FzU2VhcmNoZWRcbiAgfSA9IHJlc3BvbnNlO1xuICByZXR1cm4gKFxuICAgICEhcmVzdWx0cyAmJlxuICAgIHJlc3VsdHMubGVuZ3RoICYmXG4gICAgISFyZXF1ZXN0SWQgJiZcbiAgICB0b3RhbFBhZ2VzID4gMCAmJlxuICAgIHRvdGFsUmVzdWx0cyA+IDAgJiZcbiAgICAhIXdhc1NlYXJjaGVkXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3YWl0QUJpdChsZW5ndGgpIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHJlc29sdmUoKSwgbGVuZ3RoKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTZWFyY2hDYWxscyhtb2NrQXBpQ29ubmVjdG9yKSB7XG4gIHJldHVybiBtb2NrQXBpQ29ubmVjdG9yLm9uU2VhcmNoLm1vY2suY2FsbHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBdXRvY29tcGxldGVDYWxscyhtb2NrQXBpQ29ubmVjdG9yKSB7XG4gIHJldHVybiBtb2NrQXBpQ29ubmVjdG9yLm9uQXV0b2NvbXBsZXRlLm1vY2suY2FsbHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDbGlja0NhbGxzKG1vY2tBcGlDb25uZWN0b3IpIHtcbiAgcmV0dXJuIG1vY2tBcGlDb25uZWN0b3Iub25SZXN1bHRDbGljay5tb2NrLmNhbGxzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXV0b2NvbXBsZXRlQ2xpY2tDYWxscyhtb2NrQXBpQ29ubmVjdG9yKSB7XG4gIHJldHVybiBtb2NrQXBpQ29ubmVjdG9yLm9uQXV0b2NvbXBsZXRlUmVzdWx0Q2xpY2subW9jay5jYWxscztcbn1cbiJdfQ==

@@ -74,2 +74,8 @@ "use strict";

});
Object.defineProperty(exports, "a11yNotify", {
enumerable: true,
get: function get() {
return _a11yNotify.default;
}
});

@@ -97,2 +103,4 @@ var _addFilter = _interopRequireDefault(require("./addFilter"));

var _trackClickThrough = _interopRequireDefault(require("./trackClickThrough"));
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hY3Rpb25zL2luZGV4LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0EiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkZWZhdWx0IGFzIGFkZEZpbHRlciB9IGZyb20gXCIuL2FkZEZpbHRlclwiO1xuZXhwb3J0IHtcbiAgZGVmYXVsdCBhcyB0cmFja0F1dG9jb21wbGV0ZUNsaWNrVGhyb3VnaFxufSBmcm9tIFwiLi90cmFja0F1dG9jb21wbGV0ZUNsaWNrVGhyb3VnaFwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBjbGVhckZpbHRlcnMgfSBmcm9tIFwiLi9jbGVhckZpbHRlcnNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgcmVtb3ZlRmlsdGVyIH0gZnJvbSBcIi4vcmVtb3ZlRmlsdGVyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHJlc2V0IH0gZnJvbSBcIi4vcmVzZXRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgc2V0Q3VycmVudCB9IGZyb20gXCIuL3NldEN1cnJlbnRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgc2V0RmlsdGVyIH0gZnJvbSBcIi4vc2V0RmlsdGVyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHNldFJlc3VsdHNQZXJQYWdlIH0gZnJvbSBcIi4vc2V0UmVzdWx0c1BlclBhZ2VcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgc2V0U2VhcmNoVGVybSB9IGZyb20gXCIuL3NldFNlYXJjaFRlcm1cIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgc2V0U29ydCB9IGZyb20gXCIuL3NldFNvcnRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgdHJhY2tDbGlja1Rocm91Z2ggfSBmcm9tIFwiLi90cmFja0NsaWNrVGhyb3VnaFwiO1xuIl19
var _a11yNotify = _interopRequireDefault(require("./a11yNotify"));
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hY3Rpb25zL2luZGV4LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0EiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkZWZhdWx0IGFzIGFkZEZpbHRlciB9IGZyb20gXCIuL2FkZEZpbHRlclwiO1xuZXhwb3J0IHtcbiAgZGVmYXVsdCBhcyB0cmFja0F1dG9jb21wbGV0ZUNsaWNrVGhyb3VnaFxufSBmcm9tIFwiLi90cmFja0F1dG9jb21wbGV0ZUNsaWNrVGhyb3VnaFwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBjbGVhckZpbHRlcnMgfSBmcm9tIFwiLi9jbGVhckZpbHRlcnNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgcmVtb3ZlRmlsdGVyIH0gZnJvbSBcIi4vcmVtb3ZlRmlsdGVyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHJlc2V0IH0gZnJvbSBcIi4vcmVzZXRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgc2V0Q3VycmVudCB9IGZyb20gXCIuL3NldEN1cnJlbnRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgc2V0RmlsdGVyIH0gZnJvbSBcIi4vc2V0RmlsdGVyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHNldFJlc3VsdHNQZXJQYWdlIH0gZnJvbSBcIi4vc2V0UmVzdWx0c1BlclBhZ2VcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgc2V0U2VhcmNoVGVybSB9IGZyb20gXCIuL3NldFNlYXJjaFRlcm1cIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgc2V0U29ydCB9IGZyb20gXCIuL3NldFNvcnRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgdHJhY2tDbGlja1Rocm91Z2ggfSBmcm9tIFwiLi90cmFja0NsaWNrVGhyb3VnaFwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBhMTF5Tm90aWZ5IH0gZnJvbSBcIi4vYTExeU5vdGlmeVwiO1xuIl19

@@ -17,3 +17,3 @@ "use strict";

function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { keys.push.apply(keys, Object.getOwnPropertySymbols(object)); } if (enumerableOnly) keys = keys.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); return keys; }
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; }

@@ -20,0 +20,0 @@ 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) { (0, _defineProperty2.default)(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; }

@@ -30,4 +30,6 @@ "use strict";

function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { keys.push.apply(keys, Object.getOwnPropertySymbols(object)); } if (enumerableOnly) keys = keys.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); return keys; }
var a11y = _interopRequireWildcard(require("./A11yNotifications"));
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) { (0, _defineProperty2.default)(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; }

@@ -74,2 +76,4 @@

totalResults: 0,
pagingStart: 0,
pagingEnd: 0,
wasSearched: false

@@ -124,3 +128,7 @@ };

_ref4$urlPushDebounce = _ref4.urlPushDebounceLength,
urlPushDebounceLength = _ref4$urlPushDebounce === void 0 ? 500 : _ref4$urlPushDebounce;
urlPushDebounceLength = _ref4$urlPushDebounce === void 0 ? 500 : _ref4$urlPushDebounce,
_ref4$hasA11yNotifica = _ref4.hasA11yNotifications,
hasA11yNotifications = _ref4$hasA11yNotifica === void 0 ? false : _ref4$hasA11yNotifica,
_ref4$a11yNotificatio = _ref4.a11yNotificationMessages,
a11yNotificationMessages = _ref4$a11yNotificatio === void 0 ? {} : _ref4$a11yNotificatio;
(0, _classCallCheck2.default)(this, SearchDriver);

@@ -190,7 +198,14 @@ (0, _defineProperty2.default)(this, "state", DEFAULT_STATE);

_this.requestSequencer.completed(requestId);
_this.requestSequencer.completed(requestId); // Results paging start & end
var totalResults = resultState.totalResults;
var start = totalResults === 0 ? 0 : (current - 1) * resultsPerPage + 1;
var end = totalResults <= start + resultsPerPage ? totalResults : start + resultsPerPage - 1;
_this._setState(_objectSpread({
isLoading: false,
resultSearchTerm: searchTerm
resultSearchTerm: searchTerm,
pagingStart: start,
pagingEnd: end
}, resultState, {

@@ -200,2 +215,13 @@ wasSearched: true

if (_this.hasA11yNotifications) {
var messageArgs = {
start: start,
end: end,
totalResults: totalResults,
searchTerm: searchTerm
};
_this.actions.a11yNotify("searchResults", messageArgs);
}
if (!skipPushToUrl && _this.trackUrlState) {

@@ -255,6 +281,10 @@ // We debounce here so that we don't get a lot of intermediary

urlState = {};
} // Remember the state this application is initialized into, so that we can
} // Manage screen reader accessible notifications
this.hasA11yNotifications = hasA11yNotifications;
if (this.hasA11yNotifications) a11y.getLiveRegion();
this.a11yNotificationMessages = _objectSpread({}, a11y.defaultMessages, {}, a11yNotificationMessages); // Remember the state this application is initialized into, so that we can
// reset to it later.
this.startingState = _objectSpread({}, this.state, {}, initialState); // We filter these here to disallow anything other than valid search

@@ -354,2 +384,2 @@ // parameters to be passed in initial state, or url state. `results`, etc,

exports.default = SearchDriver;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9TZWFyY2hEcml2ZXIuanMiXSwibmFtZXMiOlsiZmlsdGVyU2VhcmNoUGFyYW1ldGVycyIsImN1cnJlbnQiLCJmaWx0ZXJzIiwicmVzdWx0c1BlclBhZ2UiLCJzZWFyY2hUZXJtIiwic29ydERpcmVjdGlvbiIsInNvcnRGaWVsZCIsIkRFRkFVTFRfU1RBVEUiLCJhdXRvY29tcGxldGVkUmVzdWx0cyIsImF1dG9jb21wbGV0ZWRSZXN1bHRzUmVxdWVzdElkIiwiYXV0b2NvbXBsZXRlZFN1Z2dlc3Rpb25zIiwiYXV0b2NvbXBsZXRlZFN1Z2dlc3Rpb25zUmVxdWVzdElkIiwiZXJyb3IiLCJpc0xvYWRpbmciLCJmYWNldHMiLCJyZXF1ZXN0SWQiLCJyZXN1bHRzIiwicmVzdWx0U2VhcmNoVGVybSIsInRvdGFsUGFnZXMiLCJ0b3RhbFJlc3VsdHMiLCJ3YXNTZWFyY2hlZCIsInJlbW92ZUNvbmRpdGlvbmFsRmFjZXRzIiwiY29uZGl0aW9uYWxGYWNldHMiLCJPYmplY3QiLCJlbnRyaWVzIiwicmVkdWNlIiwiYWNjIiwiZmFjZXRLZXkiLCJmYWNldCIsIlNlYXJjaERyaXZlciIsImFwaUNvbm5lY3RvciIsImF1dG9jb21wbGV0ZVF1ZXJ5IiwiZGVidWciLCJpbml0aWFsU3RhdGUiLCJvblNlYXJjaCIsIm9uQXV0b2NvbXBsZXRlIiwib25SZXN1bHRDbGljayIsIm9uQXV0b2NvbXBsZXRlUmVzdWx0Q2xpY2siLCJzZWFyY2hRdWVyeSIsInRyYWNrVXJsU3RhdGUiLCJ1cmxQdXNoRGVib3VuY2VMZW5ndGgiLCJhdXRvY29tcGxldGVSZXN1bHRzIiwiYXV0b2NvbXBsZXRlU3VnZ2VzdGlvbnMiLCJyZXF1ZXN0U2VxdWVuY2VyIiwibmV4dCIsInF1ZXJ5Q29uZmlnIiwic3VnZ2VzdGlvbnMiLCJldmVudHMiLCJhdXRvY29tcGxldGUiLCJ0aGVuIiwiYXV0b2NvbXBsZXRlZCIsImlzT2xkUmVxdWVzdCIsImNvbXBsZXRlZCIsIl9zZXRTdGF0ZSIsInNlYXJjaFBhcmFtZXRlcnMiLCJza2lwUHVzaFRvVXJsIiwiaWdub3JlSXNMb2FkaW5nQ2hlY2siLCJzdGF0ZSIsInJlcXVlc3RTdGF0ZSIsInNlYXJjaCIsInJlc3VsdFN0YXRlIiwiZGVib3VuY2VNYW5hZ2VyIiwicnVuV2l0aERlYm91bmNlIiwiVVJMTWFuYWdlciIsInB1c2hTdGF0ZVRvVVJMIiwiYmluZCIsIm1lc3NhZ2UiLCJhY3Rpb25zIiwiYWN0aW9uTmFtZSIsImFjdGlvbiIsImFzc2lnbiIsIkV2ZW50cyIsIlJlcXVlc3RTZXF1ZW5jZXIiLCJEZWJvdW5jZU1hbmFnZXIiLCJzdWJzY3JpcHRpb25zIiwidXJsU3RhdGUiLCJnZXRTdGF0ZUZyb21VUkwiLCJvblVSTFN0YXRlQ2hhbmdlIiwiX3VwZGF0ZVNlYXJjaFJlc3VsdHMiLCJzdGFydGluZ1N0YXRlIiwibGVuZ3RoIiwibmV3U3RhdGUiLCJjb25zb2xlIiwibG9nIiwiZm9yRWFjaCIsInN1YnNjcmlwdGlvbiIsIm9uU3RhdGVDaGFuZ2UiLCJwdXNoIiwiZmlsdGVyIiwic3ViIiwidGVhckRvd24iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFFQTs7QUFDQTs7Ozs7O0FBRUEsU0FBU0Esc0JBQVQsT0FPRztBQUFBLE1BTkRDLE9BTUMsUUFOREEsT0FNQztBQUFBLE1BTERDLE9BS0MsUUFMREEsT0FLQztBQUFBLE1BSkRDLGNBSUMsUUFKREEsY0FJQztBQUFBLE1BSERDLFVBR0MsUUFIREEsVUFHQztBQUFBLE1BRkRDLGFBRUMsUUFGREEsYUFFQztBQUFBLE1BRERDLFNBQ0MsUUFEREEsU0FDQztBQUNELFNBQU87QUFDTEwsSUFBQUEsT0FBTyxFQUFQQSxPQURLO0FBRUxDLElBQUFBLE9BQU8sRUFBUEEsT0FGSztBQUdMQyxJQUFBQSxjQUFjLEVBQWRBLGNBSEs7QUFJTEMsSUFBQUEsVUFBVSxFQUFWQSxVQUpLO0FBS0xDLElBQUFBLGFBQWEsRUFBYkEsYUFMSztBQU1MQyxJQUFBQSxTQUFTLEVB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QWpCO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVVJMTWFuYWdlciBmcm9tIFwiLi9VUkxNYW5hZ2VyXCI7XG5cbmltcG9ydCBSZXF1ZXN0U2VxdWVuY2VyIGZyb20gXCIuL1JlcXVlc3RTZXF1ZW5jZXJcIjtcbmltcG9ydCBEZWJvdW5jZU1hbmFnZXIgZnJvbSBcIi4vRGVib3VuY2VNYW5hZ2VyXCI7XG5cbmltcG9ydCAqIGFzIGFjdGlvbnMgZnJvbSBcIi4vYWN0aW9uc1wiO1xuaW1wb3J0IEV2ZW50cyBmcm9tIFwiLi9FdmVudHNcIjtcblxuZnVuY3Rpb24gZmlsdGVyU2VhcmNoUGFyYW1ldGVycyh7XG4gIGN1cnJlbnQsXG4gIGZpbHRlcnMsXG4gIHJlc3VsdHNQZXJQYWdlLFxuICBzZWFyY2hUZXJtLFxuICBzb3J0RGlyZWN0aW9uLFxuICBzb3J0RmllbGRcbn0pIHtcbiAgcmV0dXJuIHtcbiAgICBjdXJyZW50LFxuICAgIGZpbHRlcnMsXG4gICAgcmVzdWx0c1BlclBhZ2UsXG4gICAgc2VhcmNoVGVybSxcbiAgICBzb3J0RGlyZWN0aW9uLFxuICAgIHNvcnRGaWVsZFxuICB9O1xufVxuXG5leHBvcnQgY29uc3QgREVGQVVMVF9TVEFURSA9IHtcbiAgLy8gU2VhcmNoIFBhcmFtZXRlcnMgLS0gVGhpcyBpcyBzdGF0ZSB0aGF0IHJlcHJlc2VudHMgdGhlIGlucHV0IHN0YXRlLlxuICBjdXJyZW50OiAxLFxuICBmaWx0ZXJzOiBbXSxcbiAgcmVzdWx0c1BlclBhZ2U6IDIwLFxuICBzZWFyY2hUZXJtOiBcIlwiLFxuICBzb3J0RGlyZWN0aW9uOiBcIlwiLFxuICBzb3J0RmllbGQ6IFwiXCIsXG4gIC8vIFJlc3VsdCBTdGF0ZSAtLSBUaGlzIHN0YXRlIHJlcHJlc2VudHMgc3RhdGUgdGhhdCBpcyB1cGRhdGVkIGF1dG9tYXRpY2FsbHlcbiAgLy8gYXMgdGhlIHJlc3VsdCBvZiBjaGFuZ2luZyBpbnB1dCBzdGF0ZS5cbiAgYXV0b2NvbXBsZXRlZFJlc3VsdHM6IFtdLFxuICBhdXRvY29tcGxldGVkUmVzdWx0c1JlcXVlc3RJZDogXCJcIixcbiAgYXV0b2NvbXBsZXRlZFN1Z2dlc3Rpb25zOiB7fSxcbiAgYXV0b2NvbXBsZXRlZFN1Z2dlc3Rpb25zUmVxdWVzdElkOiBcIlwiLFxuICBlcnJvcjogXCJcIixcbiAgaXNMb2FkaW5nOiBmYWxzZSxcbiAgZmFjZXRzOiB7fSxcbiAgcmVxdWVzdElkOiBcIlwiLFxuICByZXN1bHRzOiBbXSxcbiAgcmVzdWx0U2VhcmNoVGVybTogXCJcIixcbiAgdG90YWxQYWdlczogMCxcbiAgdG90YWxSZXN1bHRzOiAwLFxuICB3YXNTZWFyY2hlZDogZmFsc2Vcbn07XG5cbmZ1bmN0aW9uIHJlbW92ZUNvbmRpdGlvbmFsRmFjZXRzKFxuICBmYWNldHMgPSB7fSxcbiAgY29uZGl0aW9uYWxGYWNldHMgPSB7fSxcbiAgZmlsdGVycyA9IFtdXG4pIHtcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGZhY2V0cykucmVkdWNlKChhY2MsIFtmYWNldEtleSwgZmFjZXRdKSA9PiB7XG4gICAgaWYgKFxuICAgICAgY29uZGl0aW9uYWxGYWNldHNbZmFjZXRLZXldICYmXG4gICAgICB0eXBlb2YgY29uZGl0aW9uYWxGYWNldHNbZmFjZXRLZXldID09PSBcImZ1bmN0aW9uXCIgJiZcbiAgICAgICFjb25kaXRpb25hbEZhY2V0c1tmYWNldEtleV0oeyBmaWx0ZXJzIH0pXG4gICAgKSB7XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH1cblxuICAgIGFjY1tmYWNldEtleV0gPSBmYWNldDtcbiAgICByZXR1cm4gYWNjO1xuICB9LCB7fSk7XG59XG5cbi8qXG4gKiBUaGUgRHJpdmVyIGlzIGEgZnJhbWV3b3JrIGFnbm9zdGljIHNlYXJjaCBzdGF0ZSBtYW5hZ2VyIHRoYXQgaXMgY2FwYWJsZVxuICogc3luY2luZyBzdGF0ZSB0byB0aGUgdXJsLlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTZWFyY2hEcml2ZXIge1xuICBzdGF0ZSA9IERFRkFVTFRfU1RBVEU7XG5cbiAgY29uc3RydWN0b3Ioe1xuICAgIGFwaUNvbm5lY3RvcixcbiAgICBhdXRvY29tcGxldGVRdWVyeSA9IHt9LFxuICAgIGRlYnVnLFxuICAgIGluaXRpYWxTdGF0ZSxcbiAgICBvblNlYXJjaCxcbiAgICBvbkF1dG9jb21wbGV0ZSxcbiAgICBvblJlc3VsdENsaWNrLFxuICAgIG9uQXV0b2NvbXBsZXRlUmVzdWx0Q2xpY2ssXG4gICAgc2VhcmNoUXVlcnkgPSB7fSxcbiAgICB0cmFja1VybFN0YXRlID0gdHJ1ZSxcbiAgICB1cmxQdXNoRGVib3VuY2VMZW5ndGggPSA1MDBcbiAgfSkge1xuICAgIHRoaXMuYWN0aW9ucyA9IE9iamVjdC5lbnRyaWVzKGFjdGlvbnMpLnJlZHVjZShcbiAgICAgIChhY2MsIFthY3Rpb25OYW1lLCBhY3Rpb25dKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgIFthY3Rpb25OYW1lXTogYWN0aW9uLmJpbmQodGhpcylcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgICB7fVxuICAgICk7XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLCB0aGlzLmFjdGlvbnMpO1xuXG4gICAgdGhpcy5ldmVudHMgPSBuZXcgRXZlbnRzKHtcbiAgICAgIGFwaUNvbm5lY3RvcixcbiAgICAgIG9uU2VhcmNoLFxuICAgICAgb25BdXRvY29tcGxldGUsXG4gICAgICBvblJlc3VsdENsaWNrLFxuICAgICAgb25BdXRvY29tcGxldGVSZXN1bHRDbGlja1xuICAgIH0pO1xuXG4gICAgdGhpcy5kZWJ1ZyA9IGRlYnVnO1xuICAgIHRoaXMucmVxdWVzdFNlcXVlbmNlciA9IG5ldyBSZXF1ZXN0U2VxdWVuY2VyKCk7XG4gICAgdGhpcy5kZWJvdW5jZU1hbmFnZXIgPSBuZXcgRGVib3VuY2VNYW5hZ2VyKCk7XG4gICAgdGhpcy5hdXRvY29tcGxldGVRdWVyeSA9IGF1dG9jb21wbGV0ZVF1ZXJ5O1xuICAgIHRoaXMuc2VhcmNoUXVlcnkgPSBzZWFyY2hRdWVyeTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBbXTtcbiAgICB0aGlzLnRyYWNrVXJsU3RhdGUgPSB0cmFja1VybFN0YXRlO1xuICAgIHRoaXMudXJsUHVzaERlYm91bmNlTGVuZ3RoID0gdXJsUHVzaERlYm91bmNlTGVuZ3RoO1xuXG4gICAgbGV0IHVybFN0YXRlO1xuICAgIGlmICh0cmFja1VybFN0YXRlKSB7XG4gICAgICB0aGlzLlVSTE1hbmFnZXIgPSBuZXcgVVJMTWFuYWdlcigpO1xuICAgICAgdXJsU3RhdGUgPSB0aGlzLlVSTE1hbmFnZXIuZ2V0U3RhdGVGcm9tVVJMKCk7XG4gICAgICB0aGlzLlVSTE1hbmFnZXIub25VUkxTdGF0ZUNoYW5nZSh1cmxTdGF0ZSA9PiB7XG4gICAgICAgIHRoaXMuX3VwZGF0ZVNlYXJjaFJlc3VsdHMoXG4gICAgICAgICAgeyAuLi5ERUZBVUxUX1NUQVRFLCAuLi51cmxTdGF0ZSB9LFxuICAgICAgICAgIHsgc2tpcFB1c2hUb1VybDogdHJ1ZSB9XG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdXJsU3RhdGUgPSB7fTtcbiAgICB9XG5cbiAgICAvLyBSZW1lbWJlciB0aGUgc3RhdGUgdGhpcyBhcHBsaWNhdGlvbiBpcyBpbml0aWFsaXplZCBpbnRvLCBzbyB0aGF0IHdlIGNhblxuICAgIC8vIHJlc2V0IHRvIGl0IGxhdGVyLlxuICAgIHRoaXMuc3RhcnRpbmdTdGF0ZSA9IHtcbiAgICAgIC4uLnRoaXMuc3RhdGUsXG4gICAgICAuLi5pbml0aWFsU3RhdGVcbiAgICB9O1xuXG4gICAgLy8gV2UgZmlsdGVyIHRoZXNlIGhlcmUgdG8gZGlzYWxsb3cgYW55dGhpbmcgb3RoZXIgdGhhbiB2YWxpZCBzZWFyY2hcbiAgICAvLyBwYXJhbWV0ZXJzIHRvIGJlIHBhc3NlZCBpbiBpbml0aWFsIHN0YXRlLCBvciB1cmwgc3RhdGUuIGByZXN1bHRzYCwgZXRjLFxuICAgIC8vIHNob3VsZCBub3QgYmUgYWxsb3dlZCB0byBiZSBwYXNzZWQgaW4sIHRoYXQgc2hvdWxkIGJlIGdlbmVyYXRlZCBiYXNlZCBvblxuICAgIC8vIHRoZSByZXN1bHRzIG9mIHRoZSBxdWVyeVxuICAgIGNvbnN0IHNlYXJjaFBhcmFtZXRlcnMgPSBmaWx0ZXJTZWFyY2hQYXJhbWV0ZXJzKHtcbiAgICAgIC4uLnRoaXMuc3RhcnRpbmdTdGF0ZSxcbiAgICAgIC4uLnVybFN0YXRlXG4gICAgfSk7XG5cbiAgICAvLyBJbml0aWFsaXplIHRoZSBzdGF0ZSB3aXRob3V0IGNhbGxpbmcgX3NldFN0YXRlLCBiZWNhdXNlIHdlIGRvbid0XG4gICAgLy8gd2FudCB0byB0cmlnZ2VyIGFuIHVwZGF0ZSBjYWxsYmFjaywgd2UncmUganVzdCBpbml0aWFsaXppbmcgdGhlIHN0YXRlXG4gICAgLy8gdG8gdGhlIGNvcnJlY3QgZGVmYXVsdCB2YWx1ZXMgZm9yIHRoZSBpbml0aWFsIFVJIHJlbmRlclxuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICAuLi50aGlzLnN0YXRlLFxuICAgICAgLi4uc2VhcmNoUGFyYW1ldGVyc1xuICAgIH07XG5cbiAgICAvLyBXZSdsbCB0cmlnZ2VyIGFuIGluaXRpYWwgc2VhcmNoIGlmIGluaXRpYWwgcGFyYW1ldGVycyBjb250YWluXG4gICAgLy8gYSBzZWFyY2ggdGVybSBvciBmaWx0ZXJzLCBvdGhlcndpc2UsIHdlJ2xsIGp1c3Qgc2F2ZSB0aGVpciBzZWxlY3Rpb25zXG4gICAgLy8gaW4gc3RhdGUgYXMgaW5pdGlhbCB2YWx1ZXMuXG4gICAgaWYgKHNlYXJjaFBhcmFtZXRlcnMuc2VhcmNoVGVybSB8fCBzZWFyY2hQYXJhbWV0ZXJzLmZpbHRlcnMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5fdXBkYXRlU2VhcmNoUmVzdWx0cyhzZWFyY2hQYXJhbWV0ZXJzKTtcbiAgICB9XG4gIH1cblxuICBfdXBkYXRlQXV0b2NvbXBsZXRlID0gKFxuICAgIHNlYXJjaFRlcm0sXG4gICAgeyBhdXRvY29tcGxldGVSZXN1bHRzLCBhdXRvY29tcGxldGVTdWdnZXN0aW9ucyB9ID0ge31cbiAgKSA9PiB7XG4gICAgY29uc3QgcmVxdWVzdElkID0gdGhpcy5yZXF1ZXN0U2VxdWVuY2VyLm5leHQoKTtcblxuICAgIGNvbnN0IHF1ZXJ5Q29uZmlnID0ge1xuICAgICAgLi4uKGF1dG9jb21wbGV0ZVJlc3VsdHMgJiYge1xuICAgICAgICByZXN1bHRzOiB0aGlzLmF1dG9jb21wbGV0ZVF1ZXJ5LnJlc3VsdHMgfHwge31cbiAgICAgIH0pLFxuICAgICAgLi4uKGF1dG9jb21wbGV0ZVN1Z2dlc3Rpb25zICYmIHtcbiAgICAgICAgc3VnZ2VzdGlvbnM6IHRoaXMuYXV0b2NvbXBsZXRlUXVlcnkuc3VnZ2VzdGlvbnMgfHwge31cbiAgICAgIH0pXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLmV2ZW50c1xuICAgICAgLmF1dG9jb21wbGV0ZSh7IHNlYXJjaFRlcm0gfSwgcXVlcnlDb25maWcpXG4gICAgICAudGhlbihhdXRvY29tcGxldGVkID0+IHtcbiAgICAgICAgaWYgKHRoaXMucmVxdWVzdFNlcXVlbmNlci5pc09sZFJlcXVlc3QocmVxdWVzdElkKSkgcmV0dXJuO1xuICAgICAgICB0aGlzLnJlcXVlc3RTZXF1ZW5jZXIuY29tcGxldGVkKHJlcXVlc3RJZCk7XG5cbiAgICAgICAgdGhpcy5fc2V0U3RhdGUoYXV0b2NvbXBsZXRlZCk7XG4gICAgICB9KTtcbiAgfTtcblxuICBfdXBkYXRlU2VhcmNoUmVzdWx0cyA9IChcbiAgICBzZWFyY2hQYXJhbWV0ZXJzLFxuICAgIHsgc2tpcFB1c2hUb1VybCA9IGZhbHNlLCBpZ25vcmVJc0xvYWRpbmdDaGVjayA9IGZhbHNlIH0gPSB7fVxuICApID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBjdXJyZW50LFxuICAgICAgZmlsdGVycyxcbiAgICAgIGlzTG9hZGluZyxcbiAgICAgIHJlc3VsdHNQZXJQYWdlLFxuICAgICAgc2VhcmNoVGVybSxcbiAgICAgIHNvcnREaXJlY3Rpb24sXG4gICAgICBzb3J0RmllbGRcbiAgICB9ID0ge1xuICAgICAgLi4udGhpcy5zdGF0ZSxcbiAgICAgIC4uLnNlYXJjaFBhcmFtZXRlcnNcbiAgICB9O1xuXG4gICAgaWYgKGlzTG9hZGluZyAmJiAhaWdub3JlSXNMb2FkaW5nQ2hlY2spIHJldHVybjtcblxuICAgIHRoaXMuX3NldFN0YXRlKHtcbiAgICAgIGN1cnJlbnQsXG4gICAgICBlcnJvcjogXCJcIixcbiAgICAgIGZpbHRlcnMsXG4gICAgICBpc0xvYWRpbmc6IHRydWUsXG4gICAgICByZXN1bHRzUGVyUGFnZSxcbiAgICAgIHNlYXJjaFRlcm0sXG4gICAgICBzb3J0RGlyZWN0aW9uLFxuICAgICAgc29ydEZpZWxkXG4gICAgfSk7XG5cbiAgICBjb25zdCByZXF1ZXN0SWQgPSB0aGlzLnJlcXVlc3RTZXF1ZW5jZXIubmV4dCgpO1xuXG4gICAgY29uc3QgcXVlcnlDb25maWcgPSB7XG4gICAgICAuLi50aGlzLnNlYXJjaFF1ZXJ5LFxuICAgICAgZmFjZXRzOiByZW1vdmVDb25kaXRpb25hbEZhY2V0cyhcbiAgICAgICAgdGhpcy5zZWFyY2hRdWVyeS5mYWNldHMsXG4gICAgICAgIHRoaXMuc2VhcmNoUXVlcnkuY29uZGl0aW9uYWxGYWNldHMsXG4gICAgICAgIGZpbHRlcnNcbiAgICAgIClcbiAgICB9O1xuXG4gICAgY29uc3QgcmVxdWVzdFN0YXRlID0gZmlsdGVyU2VhcmNoUGFyYW1ldGVycyh0aGlzLnN0YXRlKTtcblxuICAgIHJldHVybiB0aGlzLmV2ZW50cy5zZWFyY2gocmVxdWVzdFN0YXRlLCBxdWVyeUNvbmZpZykudGhlbihcbiAgICAgIHJlc3VsdFN0YXRlID0+IHtcbiAgICAgICAgaWYgKHRoaXMucmVxdWVzdFNlcXVlbmNlci5pc09sZFJlcXVlc3QocmVxdWVzdElkKSkgcmV0dXJuO1xuICAgICAgICB0aGlzLnJlcXVlc3RTZXF1ZW5jZXIuY29tcGxldGVkKHJlcXVlc3RJZCk7XG5cbiAgICAgICAgdGhpcy5fc2V0U3RhdGUoe1xuICAgICAgICAgIGlzTG9hZGluZzogZmFsc2UsXG4gICAgICAgICAgcmVzdWx0U2VhcmNoVGVybTogc2VhcmNoVGVybSxcbiAgICAgICAgICAuLi5yZXN1bHRTdGF0ZSxcbiAgICAgICAgICB3YXNTZWFyY2hlZDogdHJ1ZVxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoIXNraXBQdXNoVG9VcmwgJiYgdGhpcy50cmFja1VybFN0YXRlKSB7XG4gICAgICAgICAgLy8gV2UgZGVib3VuY2UgaGVyZSBzbyB0aGF0IHdlIGRvbid0IGdldCBhIGxvdCBvZiBpbnRlcm1lZGlhcnlcbiAgICAgICAgICAvLyBVUkwgc3RhdGUgaWYgc29tZW9uZSBpcyB1cGRhdGluZyBhIFVJIHJlYWxseSBmYXN0LCBsaWtlIHR5cGluZ1xuICAgICAgICAgIC8vIGluIGEgbGl2ZSBzZWFyY2ggYm94IGZvciBpbnN0YW5jZS5cbiAgICAgICAgICB0aGlzLmRlYm91bmNlTWFuYWdlci5ydW5XaXRoRGVib3VuY2UoXG4gICAgICAgICAgICB0aGlzLnVybFB1c2hEZWJvdW5jZUxlbmd0aCxcbiAgICAgICAgICAgIHRoaXMuVVJMTWFuYWdlci5wdXNoU3RhdGVUb1VSTC5iaW5kKHRoaXMuVVJMTWFuYWdlciksXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGN1cnJlbnQsXG4gICAgICAgICAgICAgIGZpbHRlcnMsXG4gICAgICAgICAgICAgIHJlc3VsdHNQZXJQYWdlLFxuICAgICAgICAgICAgICBzZWFyY2hUZXJtLFxuICAgICAgICAgICAgICBzb3J0RGlyZWN0aW9uLFxuICAgICAgICAgICAgICBzb3J0RmllbGRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZXJyb3IgPT4ge1xuICAgICAgICB0aGlzLl9zZXRTdGF0ZSh7XG4gICAgICAgICAgZXJyb3I6IGBBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VycmVkOiAke2Vycm9yLm1lc3NhZ2V9YFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICApO1xuICB9O1xuXG4gIF9zZXRTdGF0ZShuZXdTdGF0ZSkge1xuICAgIGNvbnN0IHN0YXRlID0geyAuLi50aGlzLnN0YXRlLCAuLi5uZXdTdGF0ZSB9O1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgaWYgKHRoaXMuZGVidWcpIGNvbnNvbGUubG9nKFwiU3RhdGUgVXBkYXRlXCIsIG5ld1N0YXRlLCBzdGF0ZSk7XG4gICAgdGhpcy5zdGF0ZSA9IHN0YXRlO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHN1YnNjcmlwdGlvbiA9PiBzdWJzY3JpcHRpb24oc3RhdGUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbnkgdGltZSBzdGF0ZSBpcyB1cGRhdGVkIGluIHRoaXMgRHJpdmVyLCB0aGUgcHJvdmlkZWQgY2FsbGJhY2tcbiAgICogd2lsbCBiZSBleGVjdXRlZCB3aXRoIHRoZSB1cGRhdGVkIHN0YXRlLlxuICAgKlxuICAgKiBAcGFyYW0gb25TdGF0ZUNoYW5nZSBGdW5jdGlvblxuICAgKi9cbiAgc3Vic2NyaWJlVG9TdGF0ZUNoYW5nZXMob25TdGF0ZUNoYW5nZSkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKG9uU3RhdGVDaGFuZ2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBvblN0YXRlQ2hhbmdlIEZ1bmN0aW9uXG4gICAqL1xuICB1bnN1YnNjcmliZVRvU3RhdGVDaGFuZ2VzKG9uU3RhdGVDaGFuZ2UpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSB0aGlzLnN1YnNjcmlwdGlvbnMuZmlsdGVyKFxuICAgICAgc3ViID0+IHN1YiAhPT0gb25TdGF0ZUNoYW5nZVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGFsbCBsaXN0ZW5lcnNcbiAgICovXG4gIHRlYXJEb3duKCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IFtdO1xuICAgIHRoaXMuVVJMTWFuYWdlciAmJiB0aGlzLlVSTE1hbmFnZXIudGVhckRvd24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgYWxsIGF2YWlsYWJsZSBhY2l0b25zXG4gICAqXG4gICAqIEByZXR1cm5zIE9iamVjdCBBbGwgYWN0aW9uc1xuICAgKi9cbiAgZ2V0QWN0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5hY3Rpb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlIGN1cnJlbnQgc3RhdGUuIFR5cGljYWxseSB1c2VkIG9uIGFwcCBpbml0aWFsaXphdGlvbi4gU3Vic2VxdWVudFxuICAgKiBzdGF0ZSB1cGRhdGVzIHNob3VsZCBjb21lIHRocm91Z2ggc3Vic2NyaXB0aW9uLlxuICAgKlxuICAgKiBAcmV0dXJucyBPYmplY3QgQ3VycmVudCBzdGF0ZVxuICAgKi9cbiAgZ2V0U3RhdGUoKSB7XG4gICAgLy8gV2UgcmV0dXJuIGEgY29weSBvZiBzdGF0ZSBoZXJlLCBiZWNhdXNlIHdlIHdhbnQgdG8gZW5zdXJlIHRoZSBzdGF0ZVxuICAgIC8vIGluc2lkZSBvZiB0aGlzIG9iamVjdCByZW1haW5zIGltbXV0YWJsZS5cbiAgICByZXR1cm4geyAuLi50aGlzLnN0YXRlIH07XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9TZWFyY2hEcml2ZXIuanMiXSwibmFtZXMiOlsiZmlsdGVyU2VhcmNoUGFyYW1ldGVycyIsImN1cnJlbnQiLCJmaWx0ZXJzIiwicmVzdWx0c1BlclBhZ2UiLCJzZWFyY2hUZXJtIiwic29ydERpcmVjdGlvbiIsInNvcnRGaWVsZCIsIkRFRkFVTFRfU1RBVEUiLCJhdXRvY29tcGxldGVkUmVzdWx0cyIsImF1dG9jb21wbGV0ZWRSZXN1bHRzUmVxdWVzdElkIiwiYXV0b2NvbXBsZXRlZFN1Z2dlc3Rpb25zIiwiYXV0b2NvbXBsZXRlZFN1Z2dlc3Rpb25zUmVxdWVzdElkIiwiZXJyb3IiLCJpc0xvYWRpbmciLCJmYWNldHMiLCJyZXF1ZXN0SWQiLCJyZXN1bHRzIiwicmVzdWx0U2VhcmNoVGVybSIsInRvdGFsUGFnZXMiLCJ0b3RhbFJlc3VsdHMiLCJwYWdpbmdTdGFydCIsInBhZ2luZ0VuZCIsIndhc1NlYXJjaGVkIiwicmVtb3ZlQ29uZGl0aW9uYWxGYWNldHMiLCJjb25kaXRpb25hbEZhY2V0cyIsIk9iamVjdCIsImVudHJpZXMiLCJyZWR1Y2UiLCJhY2MiLCJmYWNldEtleSIsImZhY2V0IiwiU2VhcmNoRHJpdmVyIiwiYXBpQ29ubmVjdG9yIiwiYXV0b2NvbXBsZXRlUXVlcnkiLCJkZWJ1ZyIsImluaXRpYWxTdGF0ZSIsIm9uU2VhcmNoIiwib25BdXRvY29tcGxldGUiLCJvblJlc3VsdENsaWNrIiwib25BdXRvY29tcGxldGVSZXN1bHRDbGljayIsInNlYXJjaFF1ZXJ5IiwidHJhY2tVcmxTdGF0ZSIsInVybFB1c2hEZWJvdW5jZUxlbmd0aCIsImhhc0ExMXlOb3RpZmljYXRpb25zIiwiYTExeU5vdGlmaWNhdGlvbk1lc3NhZ2VzIiwiYXV0b2NvbXBsZXRlUmVzdWx0cyIsImF1dG9jb21wbGV0ZVN1Z2dlc3Rpb25zIiwicmVxdWVzdFNlcXVlbmNlciIsIm5leHQiLCJxdWVyeUNvbmZpZyIsInN1Z2dlc3Rpb25zIiwiZXZlbnRzIiwiYXV0b2NvbXBsZXRlIiwidGhlbiIsImF1dG9jb21wbGV0ZWQiLCJpc09sZFJlcXVlc3QiLCJjb21wbGV0ZWQiLCJfc2V0U3RhdGUiLCJzZWFyY2hQYXJhbWV0ZXJzIiwic2tpcFB1c2hUb1VybCIsImlnbm9yZUlzTG9hZGluZ0NoZWNrIiwic3RhdGUiLCJyZXF1ZXN0U3RhdGUiLCJzZWFyY2giLCJyZXN1bHRTdGF0ZSIsInN0YXJ0IiwiZW5kIiwibWVzc2FnZUFyZ3MiLCJhY3Rpb25zIiwiYTExeU5vdGlmeSIsImRlYm91bmNlTWFuYWdlciIsInJ1bldpdGhEZWJvdW5jZSIsIlVSTE1hbmFnZXIiLCJwdXNoU3RhdGVUb1VSTCIsImJpbmQiLCJtZXNzYWdlIiwiYWN0aW9uTmFtZSIsImFjdGlvbiIsImFzc2lnbiIsIkV2ZW50cyIsIlJlcXVlc3RTZXF1ZW5jZXIiLCJEZWJvdW5jZU1hbmFnZXIiLCJzdWJzY3JpcHRpb25zIiwidXJsU3RhdGUiLCJnZXRTdGF0ZUZyb21VUkwiLCJvblVSTFN0YXRlQ2hhbmdlIiwiX3VwZGF0ZVNlYXJjaFJlc3VsdHMiLCJhMTF5IiwiZ2V0TGl2ZVJlZ2lvbiIsImRlZmF1bHRNZXNzYWdlcyIsInN0YXJ0aW5nU3RhdGUiLCJsZW5ndGgiLCJuZXdTdGF0ZSIsImNvbnNvbGUiLCJsb2ciLCJmb3JFYWNoIiwic3Vic2NyaXB0aW9uIiwib25TdGF0ZUNoYW5nZSIsInB1c2giLCJmaWx0ZXIiLCJzdWIiLCJ0ZWFyRG93biJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUVBOztBQUNBOztBQUVBOztBQUNBOztBQUVBOzs7Ozs7QUFFQSxTQUFTQSxzQkFBVCxPQU9HO0FBQUEsTUFOREMsT0FNQyxRQU5EQSxPQU1DO0FBQUEsTUFMREMsT0FLQyxRQUxEQSxPQUtDO0FBQUEsTUFKREMsY0FJQyxRQUpEQSxjQUlDO0FBQUEsTUFIREMsVUFHQyxRQUhEQSxVQUdDO0FBQUEsTUFGREMsYUFFQyxRQUZEQSxhQUVDO0FBQUEsTUFEREMsU0FDQyxRQUREQSxTQUNDO0FBQ0Qs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VixVQUFMLElBQW1CLEtBQUtBLFVBQUwsQ0FBZ0I2QixRQUFoQixFQUFuQjtBQUNEO0FBRUQ7Ozs7Ozs7O2lDQUthO0FBQ1gsYUFBTyxLQUFLakMsT0FBWjtBQUNEO0FBRUQ7Ozs7Ozs7OzsrQkFNVztBQUNUO0FBQ0E7QUFDQSwrQkFBWSxLQUFLUCxLQUFqQjtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFVSTE1hbmFnZXIgZnJvbSBcIi4vVVJMTWFuYWdlclwiO1xuXG5pbXBvcnQgUmVxdWVzdFNlcXVlbmNlciBmcm9tIFwiLi9SZXF1ZXN0U2VxdWVuY2VyXCI7XG5pbXBvcnQgRGVib3VuY2VNYW5hZ2VyIGZyb20gXCIuL0RlYm91bmNlTWFuYWdlclwiO1xuXG5pbXBvcnQgKiBhcyBhY3Rpb25zIGZyb20gXCIuL2FjdGlvbnNcIjtcbmltcG9ydCBFdmVudHMgZnJvbSBcIi4vRXZlbnRzXCI7XG5cbmltcG9ydCAqIGFzIGExMXkgZnJvbSBcIi4vQTExeU5vdGlmaWNhdGlvbnNcIjtcblxuZnVuY3Rpb24gZmlsdGVyU2VhcmNoUGFyYW1ldGVycyh7XG4gIGN1cnJlbnQsXG4gIGZpbHRlcnMsXG4gIHJlc3VsdHNQZXJQYWdlLFxuICBzZWFyY2hUZXJtLFxuICBzb3J0RGlyZWN0aW9uLFxuICBzb3J0RmllbGRcbn0pIHtcbiAgcmV0dXJuIHtcbiAgICBjdXJyZW50LFxuICAgIGZpbHRlcnMsXG4gICAgcmVzdWx0c1BlclBhZ2UsXG4gICAgc2VhcmNoVGVybSxcbiAgICBzb3J0RGlyZWN0aW9uLFxuICAgIHNvcnRGaWVsZFxuICB9O1xufVxuXG5leHBvcnQgY29uc3QgREVGQVVMVF9TVEFURSA9IHtcbiAgLy8gU2VhcmNoIFBhcmFtZXRlcnMgLS0gVGhpcyBpcyBzdGF0ZSB0aGF0IHJlcHJlc2VudHMgdGhlIGlucHV0IHN0YXRlLlxuICBjdXJyZW50OiAxLFxuICBmaWx0ZXJzOiBbXSxcbiAgcmVzdWx0c1BlclBhZ2U6IDIwLFxuICBzZWFyY2hUZXJtOiBcIlwiLFxuICBzb3J0RGlyZWN0aW9uOiBcIlwiLFxuICBzb3J0RmllbGQ6IFwiXCIsXG4gIC8vIFJlc3VsdCBTdGF0ZSAtLSBUaGlzIHN0YXRlIHJlcHJlc2VudHMgc3RhdGUgdGhhdCBpcyB1cGRhdGVkIGF1dG9tYXRpY2FsbHlcbiAgLy8gYXMgdGhlIHJlc3VsdCBvZiBjaGFuZ2luZyBpbnB1dCBzdGF0ZS5cbiAgYXV0b2NvbXBsZXRlZFJlc3VsdHM6IFtdLFxuICBhdXRvY29tcGxldGVkUmVzdWx0c1JlcXVlc3RJZDogXCJcIixcbiAgYXV0b2NvbXBsZXRlZFN1Z2dlc3Rpb25zOiB7fSxcbiAgYXV0b2NvbXBsZXRlZFN1Z2dlc3Rpb25zUmVxdWVzdElkOiBcIlwiLFxuICBlcnJvcjogXCJcIixcbiAgaXNMb2FkaW5nOiBmYWxzZSxcbiAgZmFjZXRzOiB7fSxcbiAgcmVxdWVzdElkOiBcIlwiLFxuICByZXN1bHRzOiBbXSxcbiAgcmVzdWx0U2VhcmNoVGVybTogXCJcIixcbiAgdG90YWxQYWdlczogMCxcbiAgdG90YWxSZXN1bHRzOiAwLFxuICBwYWdpbmdTdGFydDogMCxcbiAgcGFnaW5nRW5kOiAwLFxuICB3YXNTZWFyY2hlZDogZmFsc2Vcbn07XG5cbmZ1bmN0aW9uIHJlbW92ZUNvbmRpdGlvbmFsRmFjZXRzKFxuICBmYWNldHMgPSB7fSxcbiAgY29uZGl0aW9uYWxGYWNldHMgPSB7fSxcbiAgZmlsdGVycyA9IFtdXG4pIHtcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGZhY2V0cykucmVkdWNlKChhY2MsIFtmYWNldEtleSwgZmFjZXRdKSA9PiB7XG4gICAgaWYgKFxuICAgICAgY29uZGl0aW9uYWxGYWNldHNbZmFjZXRLZXldICYmXG4gICAgICB0eXBlb2YgY29uZGl0aW9uYWxGYWNldHNbZmFjZXRLZXldID09PSBcImZ1bmN0aW9uXCIgJiZcbiAgICAgICFjb25kaXRpb25hbEZhY2V0c1tmYWNldEtleV0oeyBmaWx0ZXJzIH0pXG4gICAgKSB7XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH1cblxuICAgIGFjY1tmYWNldEtleV0gPSBmYWNldDtcbiAgICByZXR1cm4gYWNjO1xuICB9LCB7fSk7XG59XG5cbi8qXG4gKiBUaGUgRHJpdmVyIGlzIGEgZnJhbWV3b3JrIGFnbm9zdGljIHNlYXJjaCBzdGF0ZSBtYW5hZ2VyIHRoYXQgaXMgY2FwYWJsZVxuICogc3luY2luZyBzdGF0ZSB0byB0aGUgdXJsLlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTZWFyY2hEcml2ZXIge1xuICBzdGF0ZSA9IERFRkFVTFRfU1RBVEU7XG5cbiAgY29uc3RydWN0b3Ioe1xuICAgIGFwaUNvbm5lY3RvcixcbiAgICBhdXRvY29tcGxldGVRdWVyeSA9IHt9LFxuICAgIGRlYnVnLFxuICAgIGluaXRpYWxTdGF0ZSxcbiAgICBvblNlYXJjaCxcbiAgICBvbkF1dG9jb21wbGV0ZSxcbiAgICBvblJlc3VsdENsaWNrLFxuICAgIG9uQXV0b2NvbXBsZXRlUmVzdWx0Q2xpY2ssXG4gICAgc2VhcmNoUXVlcnkgPSB7fSxcbiAgICB0cmFja1VybFN0YXRlID0gdHJ1ZSxcbiAgICB1cmxQdXNoRGVib3VuY2VMZW5ndGggPSA1MDAsXG4gICAgaGFzQTExeU5vdGlmaWNhdGlvbnMgPSBmYWxzZSxcbiAgICBhMTF5Tm90aWZpY2F0aW9uTWVzc2FnZXMgPSB7fVxuICB9KSB7XG4gICAgdGhpcy5hY3Rpb25zID0gT2JqZWN0LmVudHJpZXMoYWN0aW9ucykucmVkdWNlKFxuICAgICAgKGFjYywgW2FjdGlvbk5hbWUsIGFjdGlvbl0pID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5hY2MsXG4gICAgICAgICAgW2FjdGlvbk5hbWVdOiBhY3Rpb24uYmluZCh0aGlzKVxuICAgICAgICB9O1xuICAgICAgfSxcbiAgICAgIHt9XG4gICAgKTtcbiAgICBPYmplY3QuYXNzaWduKHRoaXMsIHRoaXMuYWN0aW9ucyk7XG5cbiAgICB0aGlzLmV2ZW50cyA9IG5ldyBFdmVudHMoe1xuICAgICAgYXBpQ29ubmVjdG9yLFxuICAgICAgb25TZWFyY2gsXG4gICAgICBvbkF1dG9jb21wbGV0ZSxcbiAgICAgIG9uUmVzdWx0Q2xpY2ssXG4gICAgICBvbkF1dG9jb21wbGV0ZVJlc3VsdENsaWNrXG4gICAgfSk7XG5cbiAgICB0aGlzLmRlYnVnID0gZGVidWc7XG4gICAgdGhpcy5yZXF1ZXN0U2VxdWVuY2VyID0gbmV3IFJlcXVlc3RTZXF1ZW5jZXIoKTtcbiAgICB0aGlzLmRlYm91bmNlTWFuYWdlciA9IG5ldyBEZWJvdW5jZU1hbmFnZXIoKTtcbiAgICB0aGlzLmF1dG9jb21wbGV0ZVF1ZXJ5ID0gYXV0b2NvbXBsZXRlUXVlcnk7XG4gICAgdGhpcy5zZWFyY2hRdWVyeSA9IHNlYXJjaFF1ZXJ5O1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IFtdO1xuICAgIHRoaXMudHJhY2tVcmxTdGF0ZSA9IHRyYWNrVXJsU3RhdGU7XG4gICAgdGhpcy51cmxQdXNoRGVib3VuY2VMZW5ndGggPSB1cmxQdXNoRGVib3VuY2VMZW5ndGg7XG5cbiAgICBsZXQgdXJsU3RhdGU7XG4gICAgaWYgKHRyYWNrVXJsU3RhdGUpIHtcbiAgICAgIHRoaXMuVVJMTWFuYWdlciA9IG5ldyBVUkxNYW5hZ2VyKCk7XG4gICAgICB1cmxTdGF0ZSA9IHRoaXMuVVJMTWFuYWdlci5nZXRTdGF0ZUZyb21VUkwoKTtcbiAgICAgIHRoaXMuVVJMTWFuYWdlci5vblVSTFN0YXRlQ2hhbmdlKHVybFN0YXRlID0+IHtcbiAgICAgICAgdGhpcy5fdXBkYXRlU2VhcmNoUmVzdWx0cyhcbiAgICAgICAgICB7IC4uLkRFRkFVTFRfU1RBVEUsIC4uLnVybFN0YXRlIH0sXG4gICAgICAgICAgeyBza2lwUHVzaFRvVXJsOiB0cnVlIH1cbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB1cmxTdGF0ZSA9IHt9O1xuICAgIH1cblxuICAgIC8vIE1hbmFnZSBzY3JlZW4gcmVhZGVyIGFjY2Vzc2libGUgbm90aWZpY2F0aW9uc1xuICAgIHRoaXMuaGFzQTExeU5vdGlmaWNhdGlvbnMgPSBoYXNBMTF5Tm90aWZpY2F0aW9ucztcbiAgICBpZiAodGhpcy5oYXNBMTF5Tm90aWZpY2F0aW9ucykgYTExeS5nZXRMaXZlUmVnaW9uKCk7XG5cbiAgICB0aGlzLmExMXlOb3RpZmljYXRpb25NZXNzYWdlcyA9IHtcbiAgICAgIC4uLmExMXkuZGVmYXVsdE1lc3NhZ2VzLFxuICAgICAgLi4uYTExeU5vdGlmaWNhdGlvbk1lc3NhZ2VzXG4gICAgfTtcblxuICAgIC8vIFJlbWVtYmVyIHRoZSBzdGF0ZSB0aGlzIGFwcGxpY2F0aW9uIGlzIGluaXRpYWxpemVkIGludG8sIHNvIHRoYXQgd2UgY2FuXG4gICAgLy8gcmVzZXQgdG8gaXQgbGF0ZXIuXG4gICAgdGhpcy5zdGFydGluZ1N0YXRlID0ge1xuICAgICAgLi4udGhpcy5zdGF0ZSxcbiAgICAgIC4uLmluaXRpYWxTdGF0ZVxuICAgIH07XG5cbiAgICAvLyBXZSBmaWx0ZXIgdGhlc2UgaGVyZSB0byBkaXNhbGxvdyBhbnl0aGluZyBvdGhlciB0aGFuIHZhbGlkIHNlYXJjaFxuICAgIC8vIHBhcmFtZXRlcnMgdG8gYmUgcGFzc2VkIGluIGluaXRpYWwgc3RhdGUsIG9yIHVybCBzdGF0ZS4gYHJlc3VsdHNgLCBldGMsXG4gICAgLy8gc2hvdWxkIG5vdCBiZSBhbGxvd2VkIHRvIGJlIHBhc3NlZCBpbiwgdGhhdCBzaG91bGQgYmUgZ2VuZXJhdGVkIGJhc2VkIG9uXG4gICAgLy8gdGhlIHJlc3VsdHMgb2YgdGhlIHF1ZXJ5XG4gICAgY29uc3Qgc2VhcmNoUGFyYW1ldGVycyA9IGZpbHRlclNlYXJjaFBhcmFtZXRlcnMoe1xuICAgICAgLi4udGhpcy5zdGFydGluZ1N0YXRlLFxuICAgICAgLi4udXJsU3RhdGVcbiAgICB9KTtcblxuICAgIC8vIEluaXRpYWxpemUgdGhlIHN0YXRlIHdpdGhvdXQgY2FsbGluZyBfc2V0U3RhdGUsIGJlY2F1c2Ugd2UgZG9uJ3RcbiAgICAvLyB3YW50IHRvIHRyaWdnZXIgYW4gdXBkYXRlIGNhbGxiYWNrLCB3ZSdyZSBqdXN0IGluaXRpYWxpemluZyB0aGUgc3RhdGVcbiAgICAvLyB0byB0aGUgY29ycmVjdCBkZWZhdWx0IHZhbHVlcyBmb3IgdGhlIGluaXRpYWwgVUkgcmVuZGVyXG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIC4uLnRoaXMuc3RhdGUsXG4gICAgICAuLi5zZWFyY2hQYXJhbWV0ZXJzXG4gICAgfTtcblxuICAgIC8vIFdlJ2xsIHRyaWdnZXIgYW4gaW5pdGlhbCBzZWFyY2ggaWYgaW5pdGlhbCBwYXJhbWV0ZXJzIGNvbnRhaW5cbiAgICAvLyBhIHNlYXJjaCB0ZXJtIG9yIGZpbHRlcnMsIG90aGVyd2lzZSwgd2UnbGwganVzdCBzYXZlIHRoZWlyIHNlbGVjdGlvbnNcbiAgICAvLyBpbiBzdGF0ZSBhcyBpbml0aWFsIHZhbHVlcy5cbiAgICBpZiAoc2VhcmNoUGFyYW1ldGVycy5zZWFyY2hUZXJtIHx8IHNlYXJjaFBhcmFtZXRlcnMuZmlsdGVycy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLl91cGRhdGVTZWFyY2hSZXN1bHRzKHNlYXJjaFBhcmFtZXRlcnMpO1xuICAgIH1cbiAgfVxuXG4gIF91cGRhdGVBdXRvY29tcGxldGUgPSAoXG4gICAgc2VhcmNoVGVybSxcbiAgICB7IGF1dG9jb21wbGV0ZVJlc3VsdHMsIGF1dG9jb21wbGV0ZVN1Z2dlc3Rpb25zIH0gPSB7fVxuICApID0+IHtcbiAgICBjb25zdCByZXF1ZXN0SWQgPSB0aGlzLnJlcXVlc3RTZXF1ZW5jZXIubmV4dCgpO1xuXG4gICAgY29uc3QgcXVlcnlDb25maWcgPSB7XG4gICAgICAuLi4oYXV0b2NvbXBsZXRlUmVzdWx0cyAmJiB7XG4gICAgICAgIHJlc3VsdHM6IHRoaXMuYXV0b2NvbXBsZXRlUXVlcnkucmVzdWx0cyB8fCB7fVxuICAgICAgfSksXG4gICAgICAuLi4oYXV0b2NvbXBsZXRlU3VnZ2VzdGlvbnMgJiYge1xuICAgICAgICBzdWdnZXN0aW9uczogdGhpcy5hdXRvY29tcGxldGVRdWVyeS5zdWdnZXN0aW9ucyB8fCB7fVxuICAgICAgfSlcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMuZXZlbnRzXG4gICAgICAuYXV0b2NvbXBsZXRlKHsgc2VhcmNoVGVybSB9LCBxdWVyeUNvbmZpZylcbiAgICAgIC50aGVuKGF1dG9jb21wbGV0ZWQgPT4ge1xuICAgICAgICBpZiAodGhpcy5yZXF1ZXN0U2VxdWVuY2VyLmlzT2xkUmVxdWVzdChyZXF1ZXN0SWQpKSByZXR1cm47XG4gICAgICAgIHRoaXMucmVxdWVzdFNlcXVlbmNlci5jb21wbGV0ZWQocmVxdWVzdElkKTtcblxuICAgICAgICB0aGlzLl9zZXRTdGF0ZShhdXRvY29tcGxldGVkKTtcbiAgICAgIH0pO1xuICB9O1xuXG4gIF91cGRhdGVTZWFyY2hSZXN1bHRzID0gKFxuICAgIHNlYXJjaFBhcmFtZXRlcnMsXG4gICAgeyBza2lwUHVzaFRvVXJsID0gZmFsc2UsIGlnbm9yZUlzTG9hZGluZ0NoZWNrID0gZmFsc2UgfSA9IHt9XG4gICkgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIGN1cnJlbnQsXG4gICAgICBmaWx0ZXJzLFxuICAgICAgaXNMb2FkaW5nLFxuICAgICAgcmVzdWx0c1BlclBhZ2UsXG4gICAgICBzZWFyY2hUZXJtLFxuICAgICAgc29ydERpcmVjdGlvbixcbiAgICAgIHNvcnRGaWVsZFxuICAgIH0gPSB7XG4gICAgICAuLi50aGlzLnN0YXRlLFxuICAgICAgLi4uc2VhcmNoUGFyYW1ldGVyc1xuICAgIH07XG5cbiAgICBpZiAoaXNMb2FkaW5nICYmICFpZ25vcmVJc0xvYWRpbmdDaGVjaykgcmV0dXJuO1xuXG4gICAgdGhpcy5fc2V0U3RhdGUoe1xuICAgICAgY3VycmVudCxcbiAgICAgIGVycm9yOiBcIlwiLFxuICAgICAgZmlsdGVycyxcbiAgICAgIGlzTG9hZGluZzogdHJ1ZSxcbiAgICAgIHJlc3VsdHNQZXJQYWdlLFxuICAgICAgc2VhcmNoVGVybSxcbiAgICAgIHNvcnREaXJlY3Rpb24sXG4gICAgICBzb3J0RmllbGRcbiAgICB9KTtcblxuICAgIGNvbnN0IHJlcXVlc3RJZCA9IHRoaXMucmVxdWVzdFNlcXVlbmNlci5uZXh0KCk7XG5cbiAgICBjb25zdCBxdWVyeUNvbmZpZyA9IHtcbiAgICAgIC4uLnRoaXMuc2VhcmNoUXVlcnksXG4gICAgICBmYWNldHM6IHJlbW92ZUNvbmRpdGlvbmFsRmFjZXRzKFxuICAgICAgICB0aGlzLnNlYXJjaFF1ZXJ5LmZhY2V0cyxcbiAgICAgICAgdGhpcy5zZWFyY2hRdWVyeS5jb25kaXRpb25hbEZhY2V0cyxcbiAgICAgICAgZmlsdGVyc1xuICAgICAgKVxuICAgIH07XG5cbiAgICBjb25zdCByZXF1ZXN0U3RhdGUgPSBmaWx0ZXJTZWFyY2hQYXJhbWV0ZXJzKHRoaXMuc3RhdGUpO1xuXG4gICAgcmV0dXJuIHRoaXMuZXZlbnRzLnNlYXJjaChyZXF1ZXN0U3RhdGUsIHF1ZXJ5Q29uZmlnKS50aGVuKFxuICAgICAgcmVzdWx0U3RhdGUgPT4ge1xuICAgICAgICBpZiAodGhpcy5yZXF1ZXN0U2VxdWVuY2VyLmlzT2xkUmVxdWVzdChyZXF1ZXN0SWQpKSByZXR1cm47XG4gICAgICAgIHRoaXMucmVxdWVzdFNlcXVlbmNlci5jb21wbGV0ZWQocmVxdWVzdElkKTtcblxuICAgICAgICAvLyBSZXN1bHRzIHBhZ2luZyBzdGFydCAmIGVuZFxuICAgICAgICBjb25zdCB7IHRvdGFsUmVzdWx0cyB9ID0gcmVzdWx0U3RhdGU7XG4gICAgICAgIGNvbnN0IHN0YXJ0ID1cbiAgICAgICAgICB0b3RhbFJlc3VsdHMgPT09IDAgPyAwIDogKGN1cnJlbnQgLSAxKSAqIHJlc3VsdHNQZXJQYWdlICsgMTtcbiAgICAgICAgY29uc3QgZW5kID1cbiAgICAgICAgICB0b3RhbFJlc3VsdHMgPD0gc3RhcnQgKyByZXN1bHRzUGVyUGFnZVxuICAgICAgICAgICAgPyB0b3RhbFJlc3VsdHNcbiAgICAgICAgICAgIDogc3RhcnQgKyByZXN1bHRzUGVyUGFnZSAtIDE7XG5cbiAgICAgICAgdGhpcy5fc2V0U3RhdGUoe1xuICAgICAgICAgIGlzTG9hZGluZzogZmFsc2UsXG4gICAgICAgICAgcmVzdWx0U2VhcmNoVGVybTogc2VhcmNoVGVybSxcbiAgICAgICAgICBwYWdpbmdTdGFydDogc3RhcnQsXG4gICAgICAgICAgcGFnaW5nRW5kOiBlbmQsXG4gICAgICAgICAgLi4ucmVzdWx0U3RhdGUsXG4gICAgICAgICAgd2FzU2VhcmNoZWQ6IHRydWVcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMuaGFzQTExeU5vdGlmaWNhdGlvbnMpIHtcbiAgICAgICAgICBjb25zdCBtZXNzYWdlQXJncyA9IHsgc3RhcnQsIGVuZCwgdG90YWxSZXN1bHRzLCBzZWFyY2hUZXJtIH07XG4gICAgICAgICAgdGhpcy5hY3Rpb25zLmExMXlOb3RpZnkoXCJzZWFyY2hSZXN1bHRzXCIsIG1lc3NhZ2VBcmdzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghc2tpcFB1c2hUb1VybCAmJiB0aGlzLnRyYWNrVXJsU3RhdGUpIHtcbiAgICAgICAgICAvLyBXZSBkZWJvdW5jZSBoZXJlIHNvIHRoYXQgd2UgZG9uJ3QgZ2V0IGEgbG90IG9mIGludGVybWVkaWFyeVxuICAgICAgICAgIC8vIFVSTCBzdGF0ZSBpZiBzb21lb25lIGlzIHVwZGF0aW5nIGEgVUkgcmVhbGx5IGZhc3QsIGxpa2UgdHlwaW5nXG4gICAgICAgICAgLy8gaW4gYSBsaXZlIHNlYXJjaCBib3ggZm9yIGluc3RhbmNlLlxuICAgICAgICAgIHRoaXMuZGVib3VuY2VNYW5hZ2VyLnJ1bldpdGhEZWJvdW5jZShcbiAgICAgICAgICAgIHRoaXMudXJsUHVzaERlYm91bmNlTGVuZ3RoLFxuICAgICAgICAgICAgdGhpcy5VUkxNYW5hZ2VyLnB1c2hTdGF0ZVRvVVJMLmJpbmQodGhpcy5VUkxNYW5hZ2VyKSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgY3VycmVudCxcbiAgICAgICAgICAgICAgZmlsdGVycyxcbiAgICAgICAgICAgICAgcmVzdWx0c1BlclBhZ2UsXG4gICAgICAgICAgICAgIHNlYXJjaFRlcm0sXG4gICAgICAgICAgICAgIHNvcnREaXJlY3Rpb24sXG4gICAgICAgICAgICAgIHNvcnRGaWVsZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBlcnJvciA9PiB7XG4gICAgICAgIHRoaXMuX3NldFN0YXRlKHtcbiAgICAgICAgICBlcnJvcjogYEFuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJyZWQ6ICR7ZXJyb3IubWVzc2FnZX1gXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICk7XG4gIH07XG5cbiAgX3NldFN0YXRlKG5ld1N0YXRlKSB7XG4gICAgY29uc3Qgc3RhdGUgPSB7IC4uLnRoaXMuc3RhdGUsIC4uLm5ld1N0YXRlIH07XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICBpZiAodGhpcy5kZWJ1ZykgY29uc29sZS5sb2coXCJTdGF0ZSBVcGRhdGVcIiwgbmV3U3RhdGUsIHN0YXRlKTtcbiAgICB0aGlzLnN0YXRlID0gc3RhdGU7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goc3Vic2NyaXB0aW9uID0+IHN1YnNjcmlwdGlvbihzdGF0ZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFueSB0aW1lIHN0YXRlIGlzIHVwZGF0ZWQgaW4gdGhpcyBEcml2ZXIsIHRoZSBwcm92aWRlZCBjYWxsYmFja1xuICAgKiB3aWxsIGJlIGV4ZWN1dGVkIHdpdGggdGhlIHVwZGF0ZWQgc3RhdGUuXG4gICAqXG4gICAqIEBwYXJhbSBvblN0YXRlQ2hhbmdlIEZ1bmN0aW9uXG4gICAqL1xuICBzdWJzY3JpYmVUb1N0YXRlQ2hhbmdlcyhvblN0YXRlQ2hhbmdlKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2gob25TdGF0ZUNoYW5nZSk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIG9uU3RhdGVDaGFuZ2UgRnVuY3Rpb25cbiAgICovXG4gIHVuc3Vic2NyaWJlVG9TdGF0ZUNoYW5nZXMob25TdGF0ZUNoYW5nZSkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IHRoaXMuc3Vic2NyaXB0aW9ucy5maWx0ZXIoXG4gICAgICBzdWIgPT4gc3ViICE9PSBvblN0YXRlQ2hhbmdlXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgYWxsIGxpc3RlbmVyc1xuICAgKi9cbiAgdGVhckRvd24oKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zID0gW107XG4gICAgdGhpcy5VUkxNYW5hZ2VyICYmIHRoaXMuVVJMTWFuYWdlci50ZWFyRG93bigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyBhbGwgYXZhaWxhYmxlIGFjaXRvbnNcbiAgICpcbiAgICogQHJldHVybnMgT2JqZWN0IEFsbCBhY3Rpb25zXG4gICAqL1xuICBnZXRBY3Rpb25zKCkge1xuICAgIHJldHVybiB0aGlzLmFjdGlvbnM7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmUgY3VycmVudCBzdGF0ZS4gVHlwaWNhbGx5IHVzZWQgb24gYXBwIGluaXRpYWxpemF0aW9uLiBTdWJzZXF1ZW50XG4gICAqIHN0YXRlIHVwZGF0ZXMgc2hvdWxkIGNvbWUgdGhyb3VnaCBzdWJzY3JpcHRpb24uXG4gICAqXG4gICAqIEByZXR1cm5zIE9iamVjdCBDdXJyZW50IHN0YXRlXG4gICAqL1xuICBnZXRTdGF0ZSgpIHtcbiAgICAvLyBXZSByZXR1cm4gYSBjb3B5IG9mIHN0YXRlIGhlcmUsIGJlY2F1c2Ugd2Ugd2FudCB0byBlbnN1cmUgdGhlIHN0YXRlXG4gICAgLy8gaW5zaWRlIG9mIHRoaXMgb2JqZWN0IHJlbWFpbnMgaW1tdXRhYmxlLlxuICAgIHJldHVybiB7IC4uLnRoaXMuc3RhdGUgfTtcbiAgfVxufVxuIl19

@@ -17,4 +17,12 @@ "use strict";

var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _SearchDriver = _interopRequireDefault(require("../SearchDriver"));
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) { (0, _defineProperty2.default)(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; }
var suggestions = {

@@ -68,5 +76,4 @@ documents: [{

var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
initialState = _ref.initialState,
mockSearchResponse = _ref.mockSearchResponse,
trackUrlState = _ref.trackUrlState;
rest = (0, _objectWithoutProperties2.default)(_ref, ["mockSearchResponse"]);

@@ -83,11 +90,9 @@ var mockApiConnector = getMockApiConnector();

trackUrlState = trackUrlState === false || trackUrlState === true ? trackUrlState : true;
var driver = new _SearchDriver.default({
apiConnector: mockApiConnector,
trackUrlState: trackUrlState,
initialState: initialState,
var driver = new _SearchDriver.default(_objectSpread({
apiConnector: mockApiConnector
}, rest, {
// We don't want to deal with async in our tests, so pass 0 so URL state
// pushes happen synchronously
urlPushDebounceLength: 0
});
}));
var updatedStateAfterAction = {};

@@ -137,2 +142,2 @@ driver.subscribeToStateChanges(function (newState) {

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0L2hlbHBlcnMuanMiXSwibmFtZXMiOlsic3VnZ2VzdGlvbnMiLCJkb2N1bWVudHMiLCJzdWdnZXN0aW9uIiwic2VhcmNoUmVzcG9uc2UiLCJ0b3RhbFJlc3VsdHMiLCJ0b3RhbFBhZ2VzIiwicmVxdWVzdElkIiwiZmFjZXRzIiwicmVzdWx0cyIsImF1dG9jb21wbGV0ZVNlYXJjaFJlc3BvbnNlIiwiZ2V0TW9ja0FwaUNvbm5lY3RvciIsIm9uQXV0b2NvbXBsZXRlIiwiamVzdCIsImZuIiwibW9ja1JldHVyblZhbHVlIiwidGhlbiIsImNiIiwiYXV0b2NvbXBsZXRlZFJlc3VsdHMiLCJhdXRvY29tcGxldGVkUmVzdWx0c1JlcXVlc3RJZCIsImF1dG9jb21wbGV0ZWRTdWdnZXN0aW9ucyIsIm9uU2VhcmNoIiwib25SZXN1bHRDbGljayIsIm9uQXV0b2NvbXBsZXRlUmVzdWx0Q2xpY2siLCJzZXR1cERyaXZlciIsImluaXRpYWxTdGF0ZSIsIm1vY2tTZWFyY2hSZXNwb25zZSIsInRyYWNrVXJsU3RhdGUiLCJtb2NrQXBpQ29ubmVjdG9yIiwiZHJpdmVyIiwiU2VhcmNoRHJpdmVyIiwiYXBpQ29ubmVjdG9yIiwidXJsUHVzaERlYm91bmNlTGVuZ3RoIiwidXBkYXRlZFN0YXRlQWZ0ZXJBY3Rpb24iLCJzdWJzY3JpYmVUb1N0YXRlQ2hhbmdlcyIsIm5ld1N0YXRlIiwic3RhdGUiLCJzdGF0ZUFmdGVyQ3JlYXRpb24iLCJnZXRTdGF0ZSIsImRvZXNTdGF0ZUhhdmVSZXNwb25zZURhdGEiLCJyZXNwb25zZSIsIndhc1NlYXJjaGVkIiwibGVuZ3RoIiwid2FpdEFCaXQiLCJQcm9taXNlIiwicmVzb2x2ZSIsInNldFRpbWVvdXQiLCJnZXRTZWFyY2hDYWxscyIsIm1vY2siLCJjYWxscyIsImdldEF1dG9jb21wbGV0ZUNhbGxzIiwiZ2V0Q2xpY2tDYWxscyIsImdldEF1dG9jb21wbGV0ZUNsaWNrQ2FsbHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQSxJQUFNQSxXQUFXLEdBQUc7QUFDbEJDLEVBQUFBLFNBQVMsRUFBRSxDQUNUO0FBQ0VDLElBQUFBLFVBQVUsRUFBRTtBQURkLEdBRFMsRUFJVDtBQUNFQSxJQUFBQSxVQUFVLEVBQUU7QUFEZCxHQUpTLEVBT1Q7QUFDRUEsSUFBQUEsVUFBVSxFQUFFO0FBRGQsR0FQUztBQURPLENBQXBCO0FBY0EsSUFBTUMsY0FBYyxHQUFHO0FBQ3JCQyxFQUFBQSxZQUFZLEVBQUUsSUFETztBQUVyQkMsRUFBQUEsVUFBVSxFQUFFLEdBRlM7QUFHckJDLEVBQUFBLFNBQVMsRUFBRSxPQUhVO0FBSXJCQyxFQUFBQSxNQUFNLEVBQUUsRUFKYTtBQUtyQkMsRUFBQUEsT0FBTyxFQUFFLENBQUMsRUFBRCxFQUFLLEVBQUw7QUFMWSxDQUF2QjtBQVFBLElBQU1DLDBCQUEwQixHQUFHO0FBQ2pDSCxFQUFBQSxTQUFTLEVBQUUsTUFEc0I7QUFFakNFLEVBQUFBLE9BQU8sRUFBRSxDQUFDLEVBQUQsRUFBSyxFQUFMO0FBRndCLENBQW5DOztBQUtPLFNBQVNFLG1CQUFULEdBQStCO0FBQ3BDLFNBQU87QUFDTEMsSUFBQUEsY0FBYyxFQUFFQyxJQUFJLENBQUNDLEVBQUwsR0FBVUMsZUFBVixDQUEwQjtBQUN4Q0MsTUFBQUEsSUFBSSxFQUFFLGNBQUFDLEVBQUU7QUFBQSxlQUNOQSxFQUFFLENBQUM7QUFDREMsVUFBQUEsb0JBQW9CLEVBQUVSLDBCQUEwQixDQUFDRCxPQURoRDtBQUVEVSxVQUFBQSw2QkFBNkIsRUFBRVQsMEJBQTBCLENBQUNILFNBRnpEO0FBR0RhLFVBQUFBLHdCQUF3QixFQUFFbkI7QUFIekIsU0FBRCxDQURJO0FBQUE7QUFEZ0MsS0FBMUIsQ0FEWDtBQVNMb0IsSUFBQUEsUUFBUSxFQUFFUixJQUFJLENBQUNDLEVBQUwsR0FBVUMsZUFBVixDQUEwQjtBQUFFQyxNQUFBQSxJQUFJLEVBQUUsY0FBQUMsRUFBRTtBQUFBLGVBQUlBLEVBQUUsQ0FBQ2IsY0FBRCxDQUFOO0FBQUE7QUFBVixLQUExQixDQVRMO0FBVUxrQixJQUFBQSxhQUFhLEVBQUVULElBQUksQ0FBQ0MsRUFBTCxHQUFVQyxlQUFWLENBQTBCO0FBQUVDLE1BQUFBLElBQUksRUFBRSxnQkFBTSxDQUFFO0FBQWhCLEtBQTFCLENBVlY7QUFXTE8sSUFBQUEseUJBQXlCLEVBQUVWLElBQUksQ0FBQ0MsRUFBTCxHQUFVQyxlQUFWLENBQTBCO0FBQUVDLE1BQUFBLElBQUksRUFBRSxnQkFBTSxDQUFFO0FBQWhCLEtBQTFCO0FBWHRCLEdBQVA7QUFhRDs7QUFFTSxTQUFTUSxXQUFULEdBSUM7QUFBQSxpRkFBSixFQUFJO0FBQUEsTUFITkMsWUFHTSxRQUhOQSxZQUdNO0FBQUEsTUFGTkMsa0JBRU0sUUFGTkEsa0JBRU07QUFBQSxNQUROQyxhQUNNLFFBRE5BLGFBQ007O0FBQ04sTUFBTUMsZ0JBQWdCLEdBQUdqQixtQkFBbUIsRUFBNUM7O0FBRUEsTUFBSWUsa0JBQUosRUFBd0I7QUFDdEJFLElBQUFBLGdCQUFnQixDQUFDUCxRQUFqQixHQUE0QlIsSUFBSSxDQUFDQyxFQUFMLEdBQVVDLGVBQVYsQ0FBMEI7QUFDcERDLE1BQUFBLElBQUksRUFBRSxjQUFBQyxFQUFFO0FBQUEsZUFBSUEsRUFBRSxDQUFDUyxrQkFBRCxDQUFOO0FBQUE7QUFENEMsS0FBMUIsQ0FBNUI7QUFHRDs7QUFFREMsRUFBQUEsYUFBYSxHQUNYQSxhQUFhLEtBQUssS0FBbEIsSUFBMkJBLGFBQWEsS0FBSyxJQUE3QyxHQUFvREEsYUFBcEQsR0FBb0UsSUFEdEU7QUFHQSxNQUFNRSxNQUFNLEdBQUcsSUFBSUMscUJBQUosQ0FBaUI7QUFDOUJDLElBQUFBLFlBQVksRUFBRUgsZ0JBRGdCO0FBRTlCRCxJQUFBQSxhQUFhLEVBQWJBLGFBRjhCO0FBRzlCRixJQUFBQSxZQUFZLEVBQVpBLFlBSDhCO0FBSTlCO0FBQ0E7QUFDQU8sSUFBQUEscUJBQXFCLEVBQUU7QUFOTyxHQUFqQixDQUFmO0FBU0EsTUFBTUMsdUJBQXVCLEdBQUcsRUFBaEM7QUFDQUosRUFBQUEsTUFBTSxDQUFDSyx1QkFBUCxDQUErQixVQUFBQyxRQUFRLEVBQUk7QUFDekNGLElBQUFBLHVCQUF1QixDQUFDRyxLQUF4QixHQUFnQ0QsUUFBaEM7QUFDRCxHQUZEO0FBSUEsU0FBTztBQUNMRSxJQUFBQSxrQkFBa0IsRUFBRVIsTUFBTSxDQUFDUyxRQUFQLEVBRGY7QUFFTFQsSUFBQUEsTUFBTSxFQUFOQSxNQUZLO0FBR0xJLElBQUFBLHVCQUF1QixFQUF2QkEsdUJBSEs7QUFJTEwsSUFBQUEsZ0JBQWdCLEVBQWhCQTtBQUpLLEdBQVA7QUFNRDs7QUFFTSxTQUFTVyx5QkFBVCxDQUFtQ0MsUUFBbkMsRUFBNkM7QUFBQSxNQUVoRGpDLFNBRmdELEdBTzlDaUMsUUFQOEMsQ0FFaERqQyxTQUZnRDtBQUFBLE1BR2hERSxPQUhnRCxHQU85QytCLFFBUDhDLENBR2hEL0IsT0FIZ0Q7QUFBQSxNQUloREgsVUFKZ0QsR0FPOUNrQyxRQVA4QyxDQUloRGxDLFVBSmdEO0FBQUEsTUFLaERELFlBTGdELEdBTzlDbUMsUUFQOEMsQ0FLaERuQyxZQUxnRDtBQUFBLE1BTWhEb0MsV0FOZ0QsR0FPOUNELFFBUDhDLENBTWhEQyxXQU5nRDtBQVFsRCxTQUNFLENBQUMsQ0FBQ2hDLE9BQUYsSUFDQUEsT0FBTyxDQUFDaUMsTUFEUixJQUVBLENBQUMsQ0FBQ25DLFNBRkYsSUFHQUQsVUFBVSxHQUFHLENBSGIsSUFJQUQsWUFBWSxHQUFHLENBSmYsSUFLQSxDQUFDLENBQUNvQyxXQU5KO0FBUUQ7O0FBRU0sU0FBU0UsUUFBVCxDQUFrQkQsTUFBbEIsRUFBMEI7QUFDL0IsU0FBTyxJQUFJRSxPQUFKLENBQVksVUFBU0MsT0FBVCxFQUFrQjtBQUNuQ0MsSUFBQUEsVUFBVSxDQUFDO0FBQUEsYUFBTUQsT0FBTyxFQUFiO0FBQUEsS0FBRCxFQUFrQkgsTUFBbEIsQ0FBVjtBQUNELEdBRk0sQ0FBUDtBQUdEOztBQUVNLFNBQVNLLGNBQVQsQ0FBd0JuQixnQkFBeEIsRUFBMEM7QUFDL0MsU0FBT0EsZ0JBQWdCLENBQUNQLFFBQWpCLENBQTBCMkIsSUFBMUIsQ0FBK0JDLEtBQXRDO0FBQ0Q7O0FBRU0sU0FBU0Msb0JBQVQsQ0FBOEJ0QixnQkFBOUIsRUFBZ0Q7QUFDckQsU0FBT0EsZ0JBQWdCLENBQUNoQixjQUFqQixDQUFnQ29DLElBQWhDLENBQXFDQyxLQUE1QztBQUNEOztBQUVNLFNBQVNFLGFBQVQsQ0FBdUJ2QixnQkFBdkIsRUFBeUM7QUFDOUMsU0FBT0EsZ0JBQWdCLENBQUNOLGFBQWpCLENBQStCMEIsSUFBL0IsQ0FBb0NDLEtBQTNDO0FBQ0Q7O0FBRU0sU0FBU0cseUJBQVQsQ0FBbUN4QixnQkFBbkMsRUFBcUQ7QUFDMUQsU0FBT0EsZ0JBQWdCLENBQUNMLHlCQUFqQixDQUEyQ3lCLElBQTNDLENBQWdEQyxLQUF2RDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFNlYXJjaERyaXZlciBmcm9tIFwiLi4vU2VhcmNoRHJpdmVyXCI7XG5cbmNvbnN0IHN1Z2dlc3Rpb25zID0ge1xuICBkb2N1bWVudHM6IFtcbiAgICB7XG4gICAgICBzdWdnZXN0aW9uOiBcImNhcmxzYmFkXCJcbiAgICB9LFxuICAgIHtcbiAgICAgIHN1Z2dlc3Rpb246IFwiY2FybHNiYWQgY2F2ZXJuc1wiXG4gICAgfSxcbiAgICB7XG4gICAgICBzdWdnZXN0aW9uOiBcImNhcm9saW5hXCJcbiAgICB9XG4gIF1cbn07XG5cbmNvbnN0IHNlYXJjaFJlc3BvbnNlID0ge1xuICB0b3RhbFJlc3VsdHM6IDEwMDAsXG4gIHRvdGFsUGFnZXM6IDEwMCxcbiAgcmVxdWVzdElkOiBcIjEyMzQ1XCIsXG4gIGZhY2V0czoge30sXG4gIHJlc3VsdHM6IFt7fSwge31dXG59O1xuXG5jb25zdCBhdXRvY29tcGxldGVTZWFyY2hSZXNwb25zZSA9IHtcbiAgcmVxdWVzdElkOiBcIjY3ODlcIixcbiAgcmVzdWx0czogW3t9LCB7fV1cbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNb2NrQXBpQ29ubmVjdG9yKCkge1xuICByZXR1cm4ge1xuICAgIG9uQXV0b2NvbXBsZXRlOiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKHtcbiAgICAgIHRoZW46IGNiID0+XG4gICAgICAgIGNiKHtcbiAgICAgICAgICBhdXRvY29tcGxldGVkUmVzdWx0czogYXV0b2NvbXBsZXRlU2VhcmNoUmVzcG9uc2UucmVzdWx0cyxcbiAgICAgICAgICBhdXRvY29tcGxldGVkUmVzdWx0c1JlcXVlc3RJZDogYXV0b2NvbXBsZXRlU2VhcmNoUmVzcG9uc2UucmVxdWVzdElkLFxuICAgICAgICAgIGF1dG9jb21wbGV0ZWRTdWdnZXN0aW9uczogc3VnZ2VzdGlvbnNcbiAgICAgICAgfSlcbiAgICB9KSxcbiAgICBvblNlYXJjaDogamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZSh7IHRoZW46IGNiID0+IGNiKHNlYXJjaFJlc3BvbnNlKSB9KSxcbiAgICBvblJlc3VsdENsaWNrOiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKHsgdGhlbjogKCkgPT4ge30gfSksXG4gICAgb25BdXRvY29tcGxldGVSZXN1bHRDbGljazogamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZSh7IHRoZW46ICgpID0+IHt9IH0pXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXR1cERyaXZlcih7XG4gIGluaXRpYWxTdGF0ZSxcbiAgbW9ja1NlYXJjaFJlc3BvbnNlLFxuICB0cmFja1VybFN0YXRlXG59ID0ge30pIHtcbiAgY29uc3QgbW9ja0FwaUNvbm5lY3RvciA9IGdldE1vY2tBcGlDb25uZWN0b3IoKTtcblxuICBpZiAobW9ja1NlYXJjaFJlc3BvbnNlKSB7XG4gICAgbW9ja0FwaUNvbm5lY3Rvci5vblNlYXJjaCA9IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoe1xuICAgICAgdGhlbjogY2IgPT4gY2IobW9ja1NlYXJjaFJlc3BvbnNlKVxuICAgIH0pO1xuICB9XG5cbiAgdHJhY2tVcmxTdGF0ZSA9XG4gICAgdHJhY2tVcmxTdGF0ZSA9PT0gZmFsc2UgfHwgdHJhY2tVcmxTdGF0ZSA9PT0gdHJ1ZSA/IHRyYWNrVXJsU3RhdGUgOiB0cnVlO1xuXG4gIGNvbnN0IGRyaXZlciA9IG5ldyBTZWFyY2hEcml2ZXIoe1xuICAgIGFwaUNvbm5lY3RvcjogbW9ja0FwaUNvbm5lY3RvcixcbiAgICB0cmFja1VybFN0YXRlLFxuICAgIGluaXRpYWxTdGF0ZSxcbiAgICAvLyBXZSBkb24ndCB3YW50IHRvIGRlYWwgd2l0aCBhc3luYyBpbiBvdXIgdGVzdHMsIHNvIHBhc3MgMCBzbyBVUkwgc3RhdGVcbiAgICAvLyBwdXNoZXMgaGFwcGVuIHN5bmNocm9ub3VzbHlcbiAgICB1cmxQdXNoRGVib3VuY2VMZW5ndGg6IDBcbiAgfSk7XG5cbiAgY29uc3QgdXBkYXRlZFN0YXRlQWZ0ZXJBY3Rpb24gPSB7fTtcbiAgZHJpdmVyLnN1YnNjcmliZVRvU3RhdGVDaGFuZ2VzKG5ld1N0YXRlID0+IHtcbiAgICB1cGRhdGVkU3RhdGVBZnRlckFjdGlvbi5zdGF0ZSA9IG5ld1N0YXRlO1xuICB9KTtcblxuICByZXR1cm4ge1xuICAgIHN0YXRlQWZ0ZXJDcmVhdGlvbjogZHJpdmVyLmdldFN0YXRlKCksXG4gICAgZHJpdmVyLFxuICAgIHVwZGF0ZWRTdGF0ZUFmdGVyQWN0aW9uLFxuICAgIG1vY2tBcGlDb25uZWN0b3JcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRvZXNTdGF0ZUhhdmVSZXNwb25zZURhdGEocmVzcG9uc2UpIHtcbiAgY29uc3Qge1xuICAgIHJlcXVlc3RJZCxcbiAgICByZXN1bHRzLFxuICAgIHRvdGFsUGFnZXMsXG4gICAgdG90YWxSZXN1bHRzLFxuICAgIHdhc1NlYXJjaGVkXG4gIH0gPSByZXNwb25zZTtcbiAgcmV0dXJuIChcbiAgICAhIXJlc3VsdHMgJiZcbiAgICByZXN1bHRzLmxlbmd0aCAmJlxuICAgICEhcmVxdWVzdElkICYmXG4gICAgdG90YWxQYWdlcyA+IDAgJiZcbiAgICB0b3RhbFJlc3VsdHMgPiAwICYmXG4gICAgISF3YXNTZWFyY2hlZFxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd2FpdEFCaXQobGVuZ3RoKSB7XG4gIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiByZXNvbHZlKCksIGxlbmd0aCk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2VhcmNoQ2FsbHMobW9ja0FwaUNvbm5lY3Rvcikge1xuICByZXR1cm4gbW9ja0FwaUNvbm5lY3Rvci5vblNlYXJjaC5tb2NrLmNhbGxzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXV0b2NvbXBsZXRlQ2FsbHMobW9ja0FwaUNvbm5lY3Rvcikge1xuICByZXR1cm4gbW9ja0FwaUNvbm5lY3Rvci5vbkF1dG9jb21wbGV0ZS5tb2NrLmNhbGxzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2xpY2tDYWxscyhtb2NrQXBpQ29ubmVjdG9yKSB7XG4gIHJldHVybiBtb2NrQXBpQ29ubmVjdG9yLm9uUmVzdWx0Q2xpY2subW9jay5jYWxscztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEF1dG9jb21wbGV0ZUNsaWNrQ2FsbHMobW9ja0FwaUNvbm5lY3Rvcikge1xuICByZXR1cm4gbW9ja0FwaUNvbm5lY3Rvci5vbkF1dG9jb21wbGV0ZVJlc3VsdENsaWNrLm1vY2suY2FsbHM7XG59XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0L2hlbHBlcnMuanMiXSwibmFtZXMiOlsic3VnZ2VzdGlvbnMiLCJkb2N1bWVudHMiLCJzdWdnZXN0aW9uIiwic2VhcmNoUmVzcG9uc2UiLCJ0b3RhbFJlc3VsdHMiLCJ0b3RhbFBhZ2VzIiwicmVxdWVzdElkIiwiZmFjZXRzIiwicmVzdWx0cyIsImF1dG9jb21wbGV0ZVNlYXJjaFJlc3BvbnNlIiwiZ2V0TW9ja0FwaUNvbm5lY3RvciIsIm9uQXV0b2NvbXBsZXRlIiwiamVzdCIsImZuIiwibW9ja1JldHVyblZhbHVlIiwidGhlbiIsImNiIiwiYXV0b2NvbXBsZXRlZFJlc3VsdHMiLCJhdXRvY29tcGxldGVkUmVzdWx0c1JlcXVlc3RJZCIsImF1dG9jb21wbGV0ZWRTdWdnZXN0aW9ucyIsIm9uU2VhcmNoIiwib25SZXN1bHRDbGljayIsIm9uQXV0b2NvbXBsZXRlUmVzdWx0Q2xpY2siLCJzZXR1cERyaXZlciIsIm1vY2tTZWFyY2hSZXNwb25zZSIsInJlc3QiLCJtb2NrQXBpQ29ubmVjdG9yIiwiZHJpdmVyIiwiU2VhcmNoRHJpdmVyIiwiYXBpQ29ubmVjdG9yIiwidXJsUHVzaERlYm91bmNlTGVuZ3RoIiwidXBkYXRlZFN0YXRlQWZ0ZXJBY3Rpb24iLCJzdWJzY3JpYmVUb1N0YXRlQ2hhbmdlcyIsIm5ld1N0YXRlIiwic3RhdGUiLCJzdGF0ZUFmdGVyQ3JlYXRpb24iLCJnZXRTdGF0ZSIsImRvZXNTdGF0ZUhhdmVSZXNwb25zZURhdGEiLCJyZXNwb25zZSIsIndhc1NlYXJjaGVkIiwibGVuZ3RoIiwid2FpdEFCaXQiLCJQcm9taXNlIiwicmVzb2x2ZSIsInNldFRpbWVvdXQiLCJnZXRTZWFyY2hDYWxscyIsIm1vY2siLCJjYWxscyIsImdldEF1dG9jb21wbGV0ZUNhbGxzIiwiZ2V0Q2xpY2tDYWxscyIsImdldEF1dG9jb21wbGV0ZUNsaWNrQ2FsbHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7OztB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LGFBQWpCLENBQStCeUIsSUFBL0IsQ0FBb0NDLEtBQTNDO0FBQ0Q7O0FBRU0sU0FBU0cseUJBQVQsQ0FBbUN4QixnQkFBbkMsRUFBcUQ7QUFDMUQsU0FBT0EsZ0JBQWdCLENBQUNKLHlCQUFqQixDQUEyQ3dCLElBQTNDLENBQWdEQyxLQUF2RDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFNlYXJjaERyaXZlciBmcm9tIFwiLi4vU2VhcmNoRHJpdmVyXCI7XG5cbmNvbnN0IHN1Z2dlc3Rpb25zID0ge1xuICBkb2N1bWVudHM6IFtcbiAgICB7XG4gICAgICBzdWdnZXN0aW9uOiBcImNhcmxzYmFkXCJcbiAgICB9LFxuICAgIHtcbiAgICAgIHN1Z2dlc3Rpb246IFwiY2FybHNiYWQgY2F2ZXJuc1wiXG4gICAgfSxcbiAgICB7XG4gICAgICBzdWdnZXN0aW9uOiBcImNhcm9saW5hXCJcbiAgICB9XG4gIF1cbn07XG5cbmNvbnN0IHNlYXJjaFJlc3BvbnNlID0ge1xuICB0b3RhbFJlc3VsdHM6IDEwMDAsXG4gIHRvdGFsUGFnZXM6IDEwMCxcbiAgcmVxdWVzdElkOiBcIjEyMzQ1XCIsXG4gIGZhY2V0czoge30sXG4gIHJlc3VsdHM6IFt7fSwge31dXG59O1xuXG5jb25zdCBhdXRvY29tcGxldGVTZWFyY2hSZXNwb25zZSA9IHtcbiAgcmVxdWVzdElkOiBcIjY3ODlcIixcbiAgcmVzdWx0czogW3t9LCB7fV1cbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNb2NrQXBpQ29ubmVjdG9yKCkge1xuICByZXR1cm4ge1xuICAgIG9uQXV0b2NvbXBsZXRlOiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKHtcbiAgICAgIHRoZW46IGNiID0+XG4gICAgICAgIGNiKHtcbiAgICAgICAgICBhdXRvY29tcGxldGVkUmVzdWx0czogYXV0b2NvbXBsZXRlU2VhcmNoUmVzcG9uc2UucmVzdWx0cyxcbiAgICAgICAgICBhdXRvY29tcGxldGVkUmVzdWx0c1JlcXVlc3RJZDogYXV0b2NvbXBsZXRlU2VhcmNoUmVzcG9uc2UucmVxdWVzdElkLFxuICAgICAgICAgIGF1dG9jb21wbGV0ZWRTdWdnZXN0aW9uczogc3VnZ2VzdGlvbnNcbiAgICAgICAgfSlcbiAgICB9KSxcbiAgICBvblNlYXJjaDogamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZSh7IHRoZW46IGNiID0+IGNiKHNlYXJjaFJlc3BvbnNlKSB9KSxcbiAgICBvblJlc3VsdENsaWNrOiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKHsgdGhlbjogKCkgPT4ge30gfSksXG4gICAgb25BdXRvY29tcGxldGVSZXN1bHRDbGljazogamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZSh7IHRoZW46ICgpID0+IHt9IH0pXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXR1cERyaXZlcih7IG1vY2tTZWFyY2hSZXNwb25zZSwgLi4ucmVzdCB9ID0ge30pIHtcbiAgY29uc3QgbW9ja0FwaUNvbm5lY3RvciA9IGdldE1vY2tBcGlDb25uZWN0b3IoKTtcblxuICBpZiAobW9ja1NlYXJjaFJlc3BvbnNlKSB7XG4gICAgbW9ja0FwaUNvbm5lY3Rvci5vblNlYXJjaCA9IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoe1xuICAgICAgdGhlbjogY2IgPT4gY2IobW9ja1NlYXJjaFJlc3BvbnNlKVxuICAgIH0pO1xuICB9XG5cbiAgY29uc3QgZHJpdmVyID0gbmV3IFNlYXJjaERyaXZlcih7XG4gICAgYXBpQ29ubmVjdG9yOiBtb2NrQXBpQ29ubmVjdG9yLFxuICAgIC8vIFBhc3MsIGUuZy4sIGluaXRpYWxTdGF0ZSBhbmQgYWxsIG90aGVyIGNvbmZpZ3NcbiAgICAuLi5yZXN0LFxuICAgIC8vIFdlIGRvbid0IHdhbnQgdG8gZGVhbCB3aXRoIGFzeW5jIGluIG91ciB0ZXN0cywgc28gcGFzcyAwIHNvIFVSTCBzdGF0ZVxuICAgIC8vIHB1c2hlcyBoYXBwZW4gc3luY2hyb25vdXNseVxuICAgIHVybFB1c2hEZWJvdW5jZUxlbmd0aDogMFxuICB9KTtcblxuICBjb25zdCB1cGRhdGVkU3RhdGVBZnRlckFjdGlvbiA9IHt9O1xuICBkcml2ZXIuc3Vic2NyaWJlVG9TdGF0ZUNoYW5nZXMobmV3U3RhdGUgPT4ge1xuICAgIHVwZGF0ZWRTdGF0ZUFmdGVyQWN0aW9uLnN0YXRlID0gbmV3U3RhdGU7XG4gIH0pO1xuXG4gIHJldHVybiB7XG4gICAgc3RhdGVBZnRlckNyZWF0aW9uOiBkcml2ZXIuZ2V0U3RhdGUoKSxcbiAgICBkcml2ZXIsXG4gICAgdXBkYXRlZFN0YXRlQWZ0ZXJBY3Rpb24sXG4gICAgbW9ja0FwaUNvbm5lY3RvclxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZG9lc1N0YXRlSGF2ZVJlc3BvbnNlRGF0YShyZXNwb25zZSkge1xuICBjb25zdCB7XG4gICAgcmVxdWVzdElkLFxuICAgIHJlc3VsdHMsXG4gICAgdG90YWxQYWdlcyxcbiAgICB0b3RhbFJlc3VsdHMsXG4gICAgd2FzU2VhcmNoZWRcbiAgfSA9IHJlc3BvbnNlO1xuICByZXR1cm4gKFxuICAgICEhcmVzdWx0cyAmJlxuICAgIHJlc3VsdHMubGVuZ3RoICYmXG4gICAgISFyZXF1ZXN0SWQgJiZcbiAgICB0b3RhbFBhZ2VzID4gMCAmJlxuICAgIHRvdGFsUmVzdWx0cyA+IDAgJiZcbiAgICAhIXdhc1NlYXJjaGVkXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3YWl0QUJpdChsZW5ndGgpIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHJlc29sdmUoKSwgbGVuZ3RoKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTZWFyY2hDYWxscyhtb2NrQXBpQ29ubmVjdG9yKSB7XG4gIHJldHVybiBtb2NrQXBpQ29ubmVjdG9yLm9uU2VhcmNoLm1vY2suY2FsbHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBdXRvY29tcGxldGVDYWxscyhtb2NrQXBpQ29ubmVjdG9yKSB7XG4gIHJldHVybiBtb2NrQXBpQ29ubmVjdG9yLm9uQXV0b2NvbXBsZXRlLm1vY2suY2FsbHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDbGlja0NhbGxzKG1vY2tBcGlDb25uZWN0b3IpIHtcbiAgcmV0dXJuIG1vY2tBcGlDb25uZWN0b3Iub25SZXN1bHRDbGljay5tb2NrLmNhbGxzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXV0b2NvbXBsZXRlQ2xpY2tDYWxscyhtb2NrQXBpQ29ubmVjdG9yKSB7XG4gIHJldHVybiBtb2NrQXBpQ29ubmVjdG9yLm9uQXV0b2NvbXBsZXRlUmVzdWx0Q2xpY2subW9jay5jYWxscztcbn1cbiJdfQ==
{
"name": "@elastic/search-ui",
"version": "1.0.1-canary1.22+c244422",
"version": "1.1.0",
"description": "A Headless Search UI library",

@@ -49,3 +49,3 @@ "license": "Apache-2.0",

},
"gitHead": "c244422e72965424a50fda3343d89901e6211339"
"gitHead": "0689149e53baf2e84c10d1bd0c1724e1610dc768"
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc