@kando-env/kando-ui 1.2.135-alpha.10 → 1.2.135-alpha.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/Router.js CHANGED
@@ -83,6 +83,12 @@ var _Toolbar = require("./components/Header/Toolbar/Toolbar");
83
83
 
84
84
  var _UploadLabResult = _interopRequireDefault(require("./pages/UploadLabResult"));
85
85
 
86
+ var _SlideshowRunner = _interopRequireDefault(require("./providers/Slideshow/SlideshowRunner"));
87
+
88
+ var _SlideshowProvider = _interopRequireDefault(require("./providers/Slideshow/SlideshowProvider"));
89
+
90
+ var _AssessmentPage = _interopRequireDefault(require("./pages/AssessmentPage/AssessmentPage"));
91
+
86
92
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
87
93
 
88
94
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -180,7 +186,7 @@ var Router = function Router() {
180
186
 
181
187
  return /*#__PURE__*/_react.default.createElement(_reactQuery.QueryClientProvider, {
182
188
  client: queryClient
183
- }, /*#__PURE__*/_react.default.createElement(_UrlHistoryProvider.default, null, /*#__PURE__*/_react.default.createElement(_StylesLayout.default, null, /*#__PURE__*/_react.default.createElement(_GetDir.default, {
189
+ }, /*#__PURE__*/_react.default.createElement(_UrlHistoryProvider.default, null, /*#__PURE__*/_react.default.createElement(_SlideshowProvider.default, null, /*#__PURE__*/_react.default.createElement(_StylesLayout.default, null, /*#__PURE__*/_react.default.createElement(_GetDir.default, {
184
190
  locale: localePrefix,
185
191
  className: localePrefix
186
192
  }, /*#__PURE__*/_react.default.createElement(_Toolbar.Toolbar, {
@@ -237,7 +243,15 @@ var Router = function Router() {
237
243
  path: "/notifications/index",
238
244
  component: _NotificationsPage.default,
239
245
  exact: true
240
- }))))));
246
+ }), /*#__PURE__*/_react.default.createElement(_reactRouterDom.Route, {
247
+ path: "/assessment_page/index",
248
+ component: _AssessmentPage.default,
249
+ exact: true
250
+ }), /*#__PURE__*/_react.default.createElement(_reactRouterDom.Route, {
251
+ path: "/start/slideshow",
252
+ component: _SlideshowRunner.default,
253
+ exact: true
254
+ })))))));
241
255
  };
242
256
 
243
257
  var _default = Router;
@@ -252,4 +266,4 @@ var AppSpinner = (0, _styledComponents.default)(_Spinner.Spinner).withConfig({
252
266
  displayName: "Router__AppSpinner",
253
267
  componentId: "sc-6ilswc-1"
254
268
  })(["height:100vh;"]);
255
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9Sb3V0ZXIudHN4Il0sIm5hbWVzIjpbInF1ZXJ5Q2xpZW50IiwiUXVlcnlDbGllbnQiLCJSb3V0ZXIiLCJxdWVyeVVybCIsImRpc3BhdGNoIiwibG9jYWxlUHJlZml4Iiwic2V0TG9jYWxlUHJlZml4IiwicXVlcnkiLCJ3YXRlckF1dGhvcml0eUlkRnJvbVVybCIsInBhcnNlSW50IiwiZ2V0IiwiRmV0Y2hQZXJtaXNzaW9ucyIsImF4aW9zIiwicGFyYW1zIiwid2F0ZXJfYXV0aG9yaXR5X2lkIiwicmVzIiwiZGF0YSIsImlkIiwibmFtZSIsIndhdGVyX2F1dGhvcml0eV9uYW1lIiwiUGVybWlzc2lvbnNTbGljZSIsImFjdGlvbnMiLCJzZXREYXNoYm9hcmRQZXJtaXNzaW9uIiwibG9jYWxlIiwicHJlZml4IiwiaGFzIiwiaTE4biIsImNoYW5nZUxhbmd1YWdlIiwiVXRpbGl0eURhc2hib2FyZFBhZ2UiLCJBcmVhUGFnZSIsIlNpdGVQYWdlIiwiUHJvZmlsZVBhZ2UiLCJGZWVkYmFjayIsIkV2ZW50c1BhZ2UiLCJJbXBvcnRQbGFubmluZ3MiLCJVcGxvYWRMYWJSZXN1bHQiLCJJbXBvcnRHaXNQcm9jZXNzIiwiV2JlRGFzaGJvYXJkUGFnZSIsIlNhbXBsaW5nc1BhZ2UiLCJTYW1wbGluZ1Byb3BlcnRpZXMiLCJOb3RpZmljYXRpb25zUGFnZSIsIkFwcExvYWRlciIsInN0eWxlZCIsImRpdiIsIkFwcFNwaW5uZXIiLCJTcGlubmVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7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O0FBQ0UsSUFBQSxJQUFJLEVBQUMsc0JBRFA7QUFFRSxJQUFBLFNBQVMsRUFBRUMsa0NBRmI7QUFHRSxJQUFBLEtBQUs7QUFIUCxJQTVDRixlQWtERSw2QkFBQyxxQkFBRDtBQUNFLElBQUEsSUFBSSxFQUFDLHVCQURQO0FBRUUsSUFBQSxTQUFTLEVBQUVDLHNCQUZiO0FBR0UsSUFBQSxLQUFLO0FBSFAsSUFsREYsZUF3REUsNkJBQUMscUJBQUQ7QUFDRSxJQUFBLElBQUksRUFBQyxnQ0FEUDtBQUVFLElBQUEsU0FBUyxFQUFFQyxzQ0FGYjtBQUdFLElBQUEsS0FBSztBQUhQLElBeERGLGVBOERFLDZCQUFDLHFCQUFEO0FBQ0UsSUFBQSxJQUFJLEVBQUMsc0JBRFA7QUFFRSxJQUFBLFNBQVMsRUFBRUMsMEJBRmI7QUFHRSxJQUFBLEtBQUs7QUFIUCxJQTlERixDQUhGLENBREYsQ0FERixDQURGLENBREY7QUFnRkQsQ0F6SUQ7O2VBMklldEMsTTs7O0FBRWYsSUFBTXVDLFNBQVMsR0FBR0MsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsaUNBQWY7O0FBS0EsSUFBTUMsVUFBVSxHQUFHLCtCQUFPQyxnQkFBUCxDQUFIO0FBQUE7QUFBQTtBQUFBLHFCQUFoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnbGVhZmxldC9kaXN0L2xlYWZsZXQuY3NzJztcbmltcG9ydCAncmVhY3QtdG9hc3RpZnkvZGlzdC9SZWFjdFRvYXN0aWZ5LmNzcyc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IFF1ZXJ5Q2xpZW50LCBRdWVyeUNsaWVudFByb3ZpZGVyIH0gZnJvbSAncmVhY3QtcXVlcnknO1xuaW1wb3J0IHsgUm91dGUsIFN3aXRjaCB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgVG9hc3RDb250YWluZXIgfSBmcm9tICdyZWFjdC10b2FzdGlmeSc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcblxuaW1wb3J0IE5vdGlmaWNhdGlvbnNQYWdlIGZyb20gJ3NyYy9wYWdlcy9Ob3RpZmljYXRpb25zUGFnZVYyL05vdGlmaWNhdGlvbnNQYWdlJztcbmltcG9ydCBTYW1wbGluZ3NQYWdlIGZyb20gJ3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlJztcbmltcG9ydCBTdHlsZXNMYXlvdXQgZnJvbSAnc3JjL3N0eWxlcy9TdHlsZXNMYXlvdXQnO1xuaW1wb3J0IFVybEhpc3RvcnlQcm92aWRlciBmcm9tICdzcmMvcHJvdmlkZXJzL1VybEhpc3RvcnkvVXJsSGlzdG9yeVByb3ZpZGVyJztcbmltcG9ydCB1c2VRdWVyeVVSTCBmcm9tICdzcmMvaG9va3MvdXNlUXVlcnlVUkwnO1xuaW1wb3J0IHsgUGVybWlzc2lvbnNTbGljZSB9IGZyb20gJ3NyYy9zdG9yZS9wZXJtaXNzaW9ucy9wZXJtaXNzaW9uc1NsaWNlJztcbmltcG9ydCB7IFNhbXBsaW5nUHJvcGVydGllcyB9IGZyb20gJ3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL1NhbXBsaW5nUHJvcGVydGllcy9TYW1wbGluZ1Byb3BlcnRpZXMnO1xuXG5pbXBvcnQgSW1wb3J0UGxhbm5pbmdzIGZyb20gJy4vcGFnZXMvSW1wb3J0R2lzUGFnZS9JbXBvcnRHaXNDb250YWluZXInO1xuaW1wb3J0IEltcG9ydEdpc1Byb2Nlc3MgZnJvbSAnLi9wYWdlcy9JbXBvcnRHaXNQcm9jZXNzJztcbmltcG9ydCBFdmVudHNQYWdlIGZyb20gJy4vcGFnZXMvRXZlbnRzUGFnZS9FdmVudHNQYWdlJztcbmltcG9ydCBGZWVkYmFjayBmcm9tICcuL3BhZ2VzL0Nhbm55V2lkZ2V0L0ZlZWRiYWNrJztcbmltcG9ydCB7IEFyZWFQYWdlIH0gZnJvbSAnLi9wYWdlcy9BcmVhUGFnZS9BcmVhUGFnZSc7XG5pbXBvcnQgeyBQcm9maWxlUGFnZSB9IGZyb20gJy4vcGFnZXMvUHJvZmlsZVBhZ2UvUHJvZmlsZVBhZ2UnO1xuaW1wb3J0IHsgU2l0ZVBhZ2UgfSBmcm9tICcuL3BhZ2VzL1NpdGVQYWdlL1NpdGVQYWdlJztcbmltcG9ydCB7IFV0aWxpdHlEYXNoYm9hcmRQYWdlIH0gZnJvbSAnLi9wYWdlcy9VdGlsaXR5RGFzaGJvYXJkUGFnZS9VdGlsaXR5RGFzaGJvYXJkUGFnZSc7XG5pbXBvcnQgeyBXYmVEYXNoYm9hcmRQYWdlIH0gZnJvbSAnLi9wYWdlcy9XYmVEYXNoYm9hcmQvV2JlRGFzaGJvYXJkUGFnZSc7XG5cbmltcG9ydCB7IHNldFdhdGVyQXV0aG9yaXR5IH0gZnJvbSAnLi9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgeyB1cGRhdGVMYW5ndWFnZSB9IGZyb20gJy4vc3RvcmUvY29udGV4dC9hY3Rpb25zJztcblxuaW1wb3J0IEdldERpciBmcm9tICcuL3V0aWxpdGllcy9HZXREaXInO1xuaW1wb3J0IGkxOG4gZnJvbSAnLi91dGlsaXRpZXMvaTE4bic7XG5cbmltcG9ydCAnLi9tYWNyb3MvZ2V0VmVyc2lvbic7XG5pbXBvcnQgJy4vc3R5bGVzLnNjc3MnO1xuaW1wb3J0IHsgU3Bpbm5lciB9IGZyb20gJy4vY29tcG9uZW50cy9TcGlubmVyL1NwaW5uZXInO1xuaW1wb3J0IHsgVG9vbGJhciB9IGZyb20gJy4vY29tcG9uZW50cy9IZWFkZXIvVG9vbGJhci9Ub29sYmFyJztcbmltcG9ydCBVcGxvYWRMYWJSZXN1bHQgZnJvbSAnLi9wYWdlcy9VcGxvYWRMYWJSZXN1bHQnO1xuXG5jb25zdCBxdWVyeUNsaWVudCA9IG5ldyBRdWVyeUNsaWVudCgpO1xuXG5jb25zdCBSb3V0ZXIgPSAoKSA9PiB7XG4gIGNvbnN0IHF1ZXJ5VXJsID0gdXNlUXVlcnlVUkwoKTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBbbG9jYWxlUHJlZml4LCBzZXRMb2NhbGVQcmVmaXhdID0gdXNlU3RhdGU8c3RyaW5nPigpO1xuICBjb25zdCBxdWVyeSA9IHVzZVF1ZXJ5VVJMKCk7XG4gIGNvbnN0IHdhdGVyQXV0aG9yaXR5SWRGcm9tVXJsID0gcGFyc2VJbnQoXG4gICAgcXVlcnkuZ2V0KCd3YXRlcl9hdXRob3JpdHlfaWQnKSB8fCAnMCcsXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBGZXRjaFBlcm1pc3Npb25zID0gYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgYXhpb3MuZ2V0KCcvcGVybWlzc2lvbnMnLCB7XG4gICAgICAgIHBhcmFtczogeyB3YXRlcl9hdXRob3JpdHlfaWQ6IHdhdGVyQXV0aG9yaXR5SWRGcm9tVXJsIH0sXG4gICAgICB9KTtcblxuICAgICAgaWYgKHJlcz8uZGF0YT8uZGF0YSkge1xuICAgICAgICBkaXNwYXRjaChcbiAgICAgICAgICBzZXRXYXRlckF1dGhvcml0eSh7XG4gICAgICAgICAgICBpZDogd2F0ZXJBdXRob3JpdHlJZEZyb21VcmwsXG4gICAgICAgICAgICBuYW1lOiByZXMuZGF0YS5kYXRhLndhdGVyX2F1dGhvcml0eV9uYW1lLFxuICAgICAgICAgIH0pLFxuICAgICAgICApO1xuXG4gICAgICAgIGRpc3BhdGNoKFxuICAgICAgICAgIFBlcm1pc3Npb25zU2xpY2UuYWN0aW9ucy5zZXREYXNoYm9hcmRQZXJtaXNzaW9uKHJlcy5kYXRhLmRhdGEpLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBpZiAod2F0ZXJBdXRob3JpdHlJZEZyb21VcmwpIHtcbiAgICAgIEZldGNoUGVybWlzc2lvbnMoKTtcbiAgICB9XG4gIH0sIFt3YXRlckF1dGhvcml0eUlkRnJvbVVybF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZGlzcGF0Y2godXBkYXRlTGFuZ3VhZ2UoeyBsb2NhbGU6IGxvY2FsZVByZWZpeCB9KSk7XG4gIH0sIFtkaXNwYXRjaCwgbG9jYWxlUHJlZml4XSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAoYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgcHJlZml4ID0gcXVlcnlVcmwuaGFzKCdsb2NhbGUnKVxuICAgICAgICA/IChxdWVyeVVybC5nZXQoJ2xvY2FsZScpIGFzIHN0cmluZylcbiAgICAgICAgOiAnZW4nO1xuXG4gICAgICBpMThuLmNoYW5nZUxhbmd1YWdlKHByZWZpeCk7XG4gICAgICBzZXRMb2NhbGVQcmVmaXgocHJlZml4KTtcbiAgICB9KSgpO1xuICB9LCBbcXVlcnlVcmxdKTtcblxuICBpZiAoIWxvY2FsZVByZWZpeCkge1xuICAgIHJldHVybiAoXG4gICAgICA8QXBwTG9hZGVyPlxuICAgICAgICA8QXBwU3Bpbm5lciBsZW5ndGg9XCI4MHB4XCIgLz5cbiAgICAgIDwvQXBwTG9hZGVyPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxRdWVyeUNsaWVudFByb3ZpZGVyIGNsaWVudD17cXVlcnlDbGllbnR9PlxuICAgICAgPFVybEhpc3RvcnlQcm92aWRlcj5cbiAgICAgICAgPFN0eWxlc0xheW91dD5cbiAgICAgICAgICA8R2V0RGlyIGxvY2FsZT17bG9jYWxlUHJlZml4fSBjbGFzc05hbWU9e2xvY2FsZVByZWZpeH0+XG4gICAgICAgICAgICA8VG9vbGJhciBoYXNTZWFyY2g9e3RydWV9IC8+XG4gICAgICAgICAgICA8VG9hc3RDb250YWluZXIgLz5cbiAgICAgICAgICAgIDxTd2l0Y2g+XG4gICAgICAgICAgICAgIDxSb3V0ZVxuICAgICAgICAgICAgICAgIHBhdGg9XCIvZGFzaGJvYXJkX3YyL2luZGV4XCJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ9e1V0aWxpdHlEYXNoYm9hcmRQYWdlfVxuICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgIDxSb3V0ZVxuICAgICAgICAgICAgICAgIHBhdGg9XCIvZGFzaGJvYXJkX3YyL2FyZWEvOmFyZWFJRFwiXG4gICAgICAgICAgICAgICAgY29tcG9uZW50PXtBcmVhUGFnZX1cbiAgICAgICAgICAgICAgICBleGFjdFxuICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgIDxSb3V0ZVxuICAgICAgICAgICAgICAgIHBhdGg9XCIvZGFzaGJvYXJkX3YyL3NpdGUvOnNpdGVJRFwiXG4gICAgICAgICAgICAgICAgY29tcG9uZW50PXtTaXRlUGFnZX1cbiAgICAgICAgICAgICAgICBleGFjdFxuICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL3Byb2ZpbGVzL2luZGV4XCIgY29tcG9uZW50PXtQcm9maWxlUGFnZX0gZXhhY3QgLz5cblxuICAgICAgICAgICAgICA8Um91dGUgcGF0aD1cIi9mZWVkYmFja1wiPlxuICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiKlwiIGNvbXBvbmVudD17RmVlZGJhY2t9IC8+XG4gICAgICAgICAgICAgIDwvUm91dGU+XG5cbiAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvZXZlbnRzX3ZpZXcvaW5kZXhcIiBjb21wb25lbnQ9e0V2ZW50c1BhZ2V9IGV4YWN0IC8+XG5cbiAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgcGF0aD1cIi9pbXBvcnRfcGxhbm5pbmdzL2luZGV4XCJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ9e0ltcG9ydFBsYW5uaW5nc31cbiAgICAgICAgICAgICAgICBleGFjdFxuICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgIDxSb3V0ZVxuICAgICAgICAgICAgICAgIHBhdGg9XCIvc2FtcGxpbmdzLWxpc3QvdXBsb2FkX2xhYl9yZXN1bHRcIlxuICAgICAgICAgICAgICAgIGNvbXBvbmVudD17VXBsb2FkTGFiUmVzdWx0fVxuICAgICAgICAgICAgICAgIGV4YWN0XG4gICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgcGF0aD1cIi9pbXBvcnRfZ2lzX3Byb2Nlc3MvaW5kZXhcIlxuICAgICAgICAgICAgICAgIGNvbXBvbmVudD17SW1wb3J0R2lzUHJvY2Vzc31cbiAgICAgICAgICAgICAgICBleGFjdFxuICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgIDxSb3V0ZVxuICAgICAgICAgICAgICAgIHBhdGg9XCIvd2JlX2Rhc2hib2FyZC9pbmRleFwiXG4gICAgICAgICAgICAgICAgY29tcG9uZW50PXtXYmVEYXNoYm9hcmRQYWdlfVxuICAgICAgICAgICAgICAgIGV4YWN0XG4gICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgcGF0aD1cIi9zYW1wbGluZ3MtbGlzdC9pbmRleFwiXG4gICAgICAgICAgICAgICAgY29tcG9uZW50PXtTYW1wbGluZ3NQYWdlfVxuICAgICAgICAgICAgICAgIGV4YWN0XG4gICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgcGF0aD1cIi9zYW1wbGluZy1wcm9wZXJ0aWVzLzpzYW1wbGVJZFwiXG4gICAgICAgICAgICAgICAgY29tcG9uZW50PXtTYW1wbGluZ1Byb3BlcnRpZXN9XG4gICAgICAgICAgICAgICAgZXhhY3RcbiAgICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICBwYXRoPVwiL25vdGlmaWNhdGlvbnMvaW5kZXhcIlxuICAgICAgICAgICAgICAgIGNvbXBvbmVudD17Tm90aWZpY2F0aW9uc1BhZ2V9XG4gICAgICAgICAgICAgICAgZXhhY3RcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvU3dpdGNoPlxuICAgICAgICAgIDwvR2V0RGlyPlxuICAgICAgICA8L1N0eWxlc0xheW91dD5cbiAgICAgIDwvVXJsSGlzdG9yeVByb3ZpZGVyPlxuICAgIDwvUXVlcnlDbGllbnRQcm92aWRlcj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFJvdXRlcjtcblxuY29uc3QgQXBwTG9hZGVyID0gc3R5bGVkLmRpdmBcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6IDEwMHZ3O1xuYDtcblxuY29uc3QgQXBwU3Bpbm5lciA9IHN0eWxlZChTcGlubmVyKWBcbiAgaGVpZ2h0OiAxMDB2aDtcbmA7XG4iXX0=
269
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9Sb3V0ZXIudHN4Il0sIm5hbWVzIjpbInF1ZXJ5Q2xpZW50IiwiUXVlcnlDbGllbnQiLCJSb3V0ZXIiLCJxdWVyeVVybCIsImRpc3BhdGNoIiwibG9jYWxlUHJlZml4Iiwic2V0TG9jYWxlUHJlZml4IiwicXVlcnkiLCJ3YXRlckF1dGhvcml0eUlkRnJvbVVybCIsInBhcnNlSW50IiwiZ2V0IiwiRmV0Y2hQZXJtaXNzaW9ucyIsImF4aW9zIiwicGFyYW1zIiwid2F0ZXJfYXV0aG9yaXR5X2lkIiwicmVzIiwiZGF0YSIsImlkIiwibmFtZSIsIndhdGVyX2F1dGhvcml0eV9uYW1lIiwiUGVybWlzc2lvbnNTbGljZSIsImFjdGlvbnMiLCJzZXREYXNoYm9hcmRQZXJtaXNzaW9uIiwibG9jYWxlIiwicHJlZml4IiwiaGFzIiwiaTE4biIsImNoYW5nZUxhbmd1YWdlIiwiVXRpbGl0eURhc2hib2FyZFBhZ2UiLCJBcmVhUGFnZSIsIlNpdGVQYWdlIiwiUHJvZmlsZVBhZ2UiLCJGZWVkYmFjayIsIkV2ZW50c1BhZ2UiLCJJbXBvcnRQbGFubmluZ3MiLCJVcGxvYWRMYWJSZXN1bHQiLCJJbXBvcnRHaXNQcm9jZXNzIiwiV2JlRGFzaGJvYXJkUGFnZSIsIlNhbXBsaW5nc1BhZ2UiLCJTYW1wbGluZ1Byb3BlcnRpZXMiLCJOb3RpZmljYXRpb25zUGFnZSIsIkFzc2Vzc21lbnRQYWdlIiwiU2xpZGVzaG93UnVubmVyIiwiQXBwTG9hZGVyIiwic3R5bGVkIiwiZGl2IiwiQXBwU3Bpbm5lciIsIlNwaW5uZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFFQTs7QUFD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O0FBRUUsSUFBQSxTQUFTLEVBQUVDLHlCQUZiO0FBR0UsSUFBQSxLQUFLO0FBSFAsSUF0Q0YsZUE0Q0UsNkJBQUMscUJBQUQ7QUFDRSxJQUFBLElBQUksRUFBQyxzQkFEUDtBQUVFLElBQUEsU0FBUyxFQUFFQyxrQ0FGYjtBQUdFLElBQUEsS0FBSztBQUhQLElBNUNGLGVBa0RFLDZCQUFDLHFCQUFEO0FBQ0UsSUFBQSxJQUFJLEVBQUMsdUJBRFA7QUFFRSxJQUFBLFNBQVMsRUFBRUMsc0JBRmI7QUFHRSxJQUFBLEtBQUs7QUFIUCxJQWxERixlQXdERSw2QkFBQyxxQkFBRDtBQUNFLElBQUEsSUFBSSxFQUFDLGdDQURQO0FBRUUsSUFBQSxTQUFTLEVBQUVDLHNDQUZiO0FBR0UsSUFBQSxLQUFLO0FBSFAsSUF4REYsZUE4REUsNkJBQUMscUJBQUQ7QUFDRSxJQUFBLElBQUksRUFBQyxzQkFEUDtBQUVFLElBQUEsU0FBUyxFQUFFQywwQkFGYjtBQUdFLElBQUEsS0FBSztBQUhQLElBOURGLGVBb0VFLDZCQUFDLHFCQUFEO0FBQ0UsSUFBQSxJQUFJLEVBQUMsd0JBRFA7QUFFRSxJQUFBLFNBQVMsRUFBRUMsdUJBRmI7QUFHRSxJQUFBLEtBQUs7QUFIUCxJQXBFRixlQTBFRSw2QkFBQyxxQkFBRDtBQUNFLElBQUEsSUFBSSxFQUFDLGtCQURQO0FBRUUsSUFBQSxTQUFTLEVBQUVDLHdCQUZiO0FBR0UsSUFBQSxLQUFLO0FBSFAsSUExRUYsQ0FIRixDQURGLENBREYsQ0FERixDQURGLENBREY7QUE4RkQsQ0F2SkQ7O2VBeUpleEMsTTs7O0FBRWYsSUFBTXlDLFNBQVMsR0FBR0MsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsaUNBQWY7O0FBS0EsSUFBTUMsVUFBVSxHQUFHLCtCQUFPQyxnQkFBUCxDQUFIO0FBQUE7QUFBQTtBQUFBLHFCQUFoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnbGVhZmxldC9kaXN0L2xlYWZsZXQuY3NzJztcbmltcG9ydCAncmVhY3QtdG9hc3RpZnkvZGlzdC9SZWFjdFRvYXN0aWZ5LmNzcyc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IFF1ZXJ5Q2xpZW50LCBRdWVyeUNsaWVudFByb3ZpZGVyIH0gZnJvbSAncmVhY3QtcXVlcnknO1xuaW1wb3J0IHsgUm91dGUsIFN3aXRjaCB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgVG9hc3RDb250YWluZXIgfSBmcm9tICdyZWFjdC10b2FzdGlmeSc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcblxuaW1wb3J0IE5vdGlmaWNhdGlvbnNQYWdlIGZyb20gJ3NyYy9wYWdlcy9Ob3RpZmljYXRpb25zUGFnZVYyL05vdGlmaWNhdGlvbnNQYWdlJztcbmltcG9ydCBTYW1wbGluZ3NQYWdlIGZyb20gJ3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlJztcbmltcG9ydCBTdHlsZXNMYXlvdXQgZnJvbSAnc3JjL3N0eWxlcy9TdHlsZXNMYXlvdXQnO1xuaW1wb3J0IFVybEhpc3RvcnlQcm92aWRlciBmcm9tICdzcmMvcHJvdmlkZXJzL1VybEhpc3RvcnkvVXJsSGlzdG9yeVByb3ZpZGVyJztcbmltcG9ydCB1c2VRdWVyeVVSTCBmcm9tICdzcmMvaG9va3MvdXNlUXVlcnlVUkwnO1xuaW1wb3J0IHsgUGVybWlzc2lvbnNTbGljZSB9IGZyb20gJ3NyYy9zdG9yZS9wZXJtaXNzaW9ucy9wZXJtaXNzaW9uc1NsaWNlJztcbmltcG9ydCB7IFNhbXBsaW5nUHJvcGVydGllcyB9IGZyb20gJ3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL1NhbXBsaW5nUHJvcGVydGllcy9TYW1wbGluZ1Byb3BlcnRpZXMnO1xuXG5pbXBvcnQgSW1wb3J0UGxhbm5pbmdzIGZyb20gJy4vcGFnZXMvSW1wb3J0R2lzUGFnZS9JbXBvcnRHaXNDb250YWluZXInO1xuaW1wb3J0IEltcG9ydEdpc1Byb2Nlc3MgZnJvbSAnLi9wYWdlcy9JbXBvcnRHaXNQcm9jZXNzJztcbmltcG9ydCBFdmVudHNQYWdlIGZyb20gJy4vcGFnZXMvRXZlbnRzUGFnZS9FdmVudHNQYWdlJztcbmltcG9ydCBGZWVkYmFjayBmcm9tICcuL3BhZ2VzL0Nhbm55V2lkZ2V0L0ZlZWRiYWNrJztcbmltcG9ydCB7IEFyZWFQYWdlIH0gZnJvbSAnLi9wYWdlcy9BcmVhUGFnZS9BcmVhUGFnZSc7XG5pbXBvcnQgeyBQcm9maWxlUGFnZSB9IGZyb20gJy4vcGFnZXMvUHJvZmlsZVBhZ2UvUHJvZmlsZVBhZ2UnO1xuaW1wb3J0IHsgU2l0ZVBhZ2UgfSBmcm9tICcuL3BhZ2VzL1NpdGVQYWdlL1NpdGVQYWdlJztcbmltcG9ydCB7IFV0aWxpdHlEYXNoYm9hcmRQYWdlIH0gZnJvbSAnLi9wYWdlcy9VdGlsaXR5RGFzaGJvYXJkUGFnZS9VdGlsaXR5RGFzaGJvYXJkUGFnZSc7XG5pbXBvcnQgeyBXYmVEYXNoYm9hcmRQYWdlIH0gZnJvbSAnLi9wYWdlcy9XYmVEYXNoYm9hcmQvV2JlRGFzaGJvYXJkUGFnZSc7XG5cbmltcG9ydCB7IHNldFdhdGVyQXV0aG9yaXR5IH0gZnJvbSAnLi9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgeyB1cGRhdGVMYW5ndWFnZSB9IGZyb20gJy4vc3RvcmUvY29udGV4dC9hY3Rpb25zJztcblxuaW1wb3J0IEdldERpciBmcm9tICcuL3V0aWxpdGllcy9HZXREaXInO1xuaW1wb3J0IGkxOG4gZnJvbSAnLi91dGlsaXRpZXMvaTE4bic7XG5cbmltcG9ydCAnLi9tYWNyb3MvZ2V0VmVyc2lvbic7XG5pbXBvcnQgJy4vc3R5bGVzLnNjc3MnO1xuaW1wb3J0IHsgU3Bpbm5lciB9IGZyb20gJy4vY29tcG9uZW50cy9TcGlubmVyL1NwaW5uZXInO1xuaW1wb3J0IHsgVG9vbGJhciB9IGZyb20gJy4vY29tcG9uZW50cy9IZWFkZXIvVG9vbGJhci9Ub29sYmFyJztcbmltcG9ydCBVcGxvYWRMYWJSZXN1bHQgZnJvbSAnLi9wYWdlcy9VcGxvYWRMYWJSZXN1bHQnO1xuaW1wb3J0IFNsaWRlc2hvd1J1bm5lciBmcm9tICcuL3Byb3ZpZGVycy9TbGlkZXNob3cvU2xpZGVzaG93UnVubmVyJztcbmltcG9ydCBTbGlkZXNob3dQcm92aWRlciBmcm9tICcuL3Byb3ZpZGVycy9TbGlkZXNob3cvU2xpZGVzaG93UHJvdmlkZXInO1xuaW1wb3J0IEFzc2Vzc21lbnRQYWdlIGZyb20gJy4vcGFnZXMvQXNzZXNzbWVudFBhZ2UvQXNzZXNzbWVudFBhZ2UnO1xuXG5jb25zdCBxdWVyeUNsaWVudCA9IG5ldyBRdWVyeUNsaWVudCgpO1xuXG5jb25zdCBSb3V0ZXIgPSAoKSA9PiB7XG4gIGNvbnN0IHF1ZXJ5VXJsID0gdXNlUXVlcnlVUkwoKTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBbbG9jYWxlUHJlZml4LCBzZXRMb2NhbGVQcmVmaXhdID0gdXNlU3RhdGU8c3RyaW5nPigpO1xuICBjb25zdCBxdWVyeSA9IHVzZVF1ZXJ5VVJMKCk7XG4gIGNvbnN0IHdhdGVyQXV0aG9yaXR5SWRGcm9tVXJsID0gcGFyc2VJbnQoXG4gICAgcXVlcnkuZ2V0KCd3YXRlcl9hdXRob3JpdHlfaWQnKSB8fCAnMCcsXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBGZXRjaFBlcm1pc3Npb25zID0gYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgYXhpb3MuZ2V0KCcvcGVybWlzc2lvbnMnLCB7XG4gICAgICAgIHBhcmFtczogeyB3YXRlcl9hdXRob3JpdHlfaWQ6IHdhdGVyQXV0aG9yaXR5SWRGcm9tVXJsIH0sXG4gICAgICB9KTtcblxuICAgICAgaWYgKHJlcz8uZGF0YT8uZGF0YSkge1xuICAgICAgICBkaXNwYXRjaChcbiAgICAgICAgICBzZXRXYXRlckF1dGhvcml0eSh7XG4gICAgICAgICAgICBpZDogd2F0ZXJBdXRob3JpdHlJZEZyb21VcmwsXG4gICAgICAgICAgICBuYW1lOiByZXMuZGF0YS5kYXRhLndhdGVyX2F1dGhvcml0eV9uYW1lLFxuICAgICAgICAgIH0pLFxuICAgICAgICApO1xuXG4gICAgICAgIGRpc3BhdGNoKFxuICAgICAgICAgIFBlcm1pc3Npb25zU2xpY2UuYWN0aW9ucy5zZXREYXNoYm9hcmRQZXJtaXNzaW9uKHJlcy5kYXRhLmRhdGEpLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBpZiAod2F0ZXJBdXRob3JpdHlJZEZyb21VcmwpIHtcbiAgICAgIEZldGNoUGVybWlzc2lvbnMoKTtcbiAgICB9XG4gIH0sIFt3YXRlckF1dGhvcml0eUlkRnJvbVVybF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZGlzcGF0Y2godXBkYXRlTGFuZ3VhZ2UoeyBsb2NhbGU6IGxvY2FsZVByZWZpeCB9KSk7XG4gIH0sIFtkaXNwYXRjaCwgbG9jYWxlUHJlZml4XSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAoYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgcHJlZml4ID0gcXVlcnlVcmwuaGFzKCdsb2NhbGUnKVxuICAgICAgICA/IChxdWVyeVVybC5nZXQoJ2xvY2FsZScpIGFzIHN0cmluZylcbiAgICAgICAgOiAnZW4nO1xuXG4gICAgICBpMThuLmNoYW5nZUxhbmd1YWdlKHByZWZpeCk7XG4gICAgICBzZXRMb2NhbGVQcmVmaXgocHJlZml4KTtcbiAgICB9KSgpO1xuICB9LCBbcXVlcnlVcmxdKTtcblxuICBpZiAoIWxvY2FsZVByZWZpeCkge1xuICAgIHJldHVybiAoXG4gICAgICA8QXBwTG9hZGVyPlxuICAgICAgICA8QXBwU3Bpbm5lciBsZW5ndGg9XCI4MHB4XCIgLz5cbiAgICAgIDwvQXBwTG9hZGVyPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxRdWVyeUNsaWVudFByb3ZpZGVyIGNsaWVudD17cXVlcnlDbGllbnR9PlxuICAgICAgPFVybEhpc3RvcnlQcm92aWRlcj5cbiAgICAgICAgPFNsaWRlc2hvd1Byb3ZpZGVyPlxuICAgICAgICAgIDxTdHlsZXNMYXlvdXQ+XG4gICAgICAgICAgICA8R2V0RGlyIGxvY2FsZT17bG9jYWxlUHJlZml4fSBjbGFzc05hbWU9e2xvY2FsZVByZWZpeH0+XG4gICAgICAgICAgICAgIDxUb29sYmFyIGhhc1NlYXJjaD17dHJ1ZX0gLz5cbiAgICAgICAgICAgICAgPFRvYXN0Q29udGFpbmVyIC8+XG4gICAgICAgICAgICAgIDxTd2l0Y2g+XG4gICAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgICBwYXRoPVwiL2Rhc2hib2FyZF92Mi9pbmRleFwiXG4gICAgICAgICAgICAgICAgICBjb21wb25lbnQ9e1V0aWxpdHlEYXNoYm9hcmRQYWdlfVxuICAgICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICAgIHBhdGg9XCIvZGFzaGJvYXJkX3YyL2FyZWEvOmFyZWFJRFwiXG4gICAgICAgICAgICAgICAgICBjb21wb25lbnQ9e0FyZWFQYWdlfVxuICAgICAgICAgICAgICAgICAgZXhhY3RcbiAgICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgICBwYXRoPVwiL2Rhc2hib2FyZF92Mi9zaXRlLzpzaXRlSURcIlxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50PXtTaXRlUGFnZX1cbiAgICAgICAgICAgICAgICAgIGV4YWN0XG4gICAgICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL3Byb2ZpbGVzL2luZGV4XCIgY29tcG9uZW50PXtQcm9maWxlUGFnZX0gZXhhY3QgLz5cblxuICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL2ZlZWRiYWNrXCI+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD1cIipcIiBjb21wb25lbnQ9e0ZlZWRiYWNrfSAvPlxuICAgICAgICAgICAgICAgIDwvUm91dGU+XG5cbiAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD1cIi9ldmVudHNfdmlldy9pbmRleFwiIGNvbXBvbmVudD17RXZlbnRzUGFnZX0gZXhhY3QgLz5cblxuICAgICAgICAgICAgICAgIDxSb3V0ZVxuICAgICAgICAgICAgICAgICAgcGF0aD1cIi9pbXBvcnRfcGxhbm5pbmdzL2luZGV4XCJcbiAgICAgICAgICAgICAgICAgIGNvbXBvbmVudD17SW1wb3J0UGxhbm5pbmdzfVxuICAgICAgICAgICAgICAgICAgZXhhY3RcbiAgICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgICBwYXRoPVwiL3NhbXBsaW5ncy1saXN0L3VwbG9hZF9sYWJfcmVzdWx0XCJcbiAgICAgICAgICAgICAgICAgIGNvbXBvbmVudD17VXBsb2FkTGFiUmVzdWx0fVxuICAgICAgICAgICAgICAgICAgZXhhY3RcbiAgICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgICBwYXRoPVwiL2ltcG9ydF9naXNfcHJvY2Vzcy9pbmRleFwiXG4gICAgICAgICAgICAgICAgICBjb21wb25lbnQ9e0ltcG9ydEdpc1Byb2Nlc3N9XG4gICAgICAgICAgICAgICAgICBleGFjdFxuICAgICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICAgIHBhdGg9XCIvd2JlX2Rhc2hib2FyZC9pbmRleFwiXG4gICAgICAgICAgICAgICAgICBjb21wb25lbnQ9e1diZURhc2hib2FyZFBhZ2V9XG4gICAgICAgICAgICAgICAgICBleGFjdFxuICAgICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICAgIHBhdGg9XCIvc2FtcGxpbmdzLWxpc3QvaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50PXtTYW1wbGluZ3NQYWdlfVxuICAgICAgICAgICAgICAgICAgZXhhY3RcbiAgICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgICBwYXRoPVwiL3NhbXBsaW5nLXByb3BlcnRpZXMvOnNhbXBsZUlkXCJcbiAgICAgICAgICAgICAgICAgIGNvbXBvbmVudD17U2FtcGxpbmdQcm9wZXJ0aWVzfVxuICAgICAgICAgICAgICAgICAgZXhhY3RcbiAgICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgICBwYXRoPVwiL25vdGlmaWNhdGlvbnMvaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50PXtOb3RpZmljYXRpb25zUGFnZX1cbiAgICAgICAgICAgICAgICAgIGV4YWN0XG4gICAgICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgICAgIDxSb3V0ZVxuICAgICAgICAgICAgICAgICAgcGF0aD1cIi9hc3Nlc3NtZW50X3BhZ2UvaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50PXtBc3Nlc3NtZW50UGFnZX1cbiAgICAgICAgICAgICAgICAgIGV4YWN0XG4gICAgICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgICAgIDxSb3V0ZVxuICAgICAgICAgICAgICAgICAgcGF0aD1cIi9zdGFydC9zbGlkZXNob3dcIlxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50PXtTbGlkZXNob3dSdW5uZXJ9XG4gICAgICAgICAgICAgICAgICBleGFjdFxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvU3dpdGNoPlxuICAgICAgICAgICAgPC9HZXREaXI+XG4gICAgICAgICAgPC9TdHlsZXNMYXlvdXQ+XG4gICAgICAgIDwvU2xpZGVzaG93UHJvdmlkZXI+XG4gICAgICA8L1VybEhpc3RvcnlQcm92aWRlcj5cbiAgICA8L1F1ZXJ5Q2xpZW50UHJvdmlkZXI+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBSb3V0ZXI7XG5cbmNvbnN0IEFwcExvYWRlciA9IHN0eWxlZC5kaXZgXG4gIGhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiAxMDB2dztcbmA7XG5cbmNvbnN0IEFwcFNwaW5uZXIgPSBzdHlsZWQoU3Bpbm5lcilgXG4gIGhlaWdodDogMTAwdmg7XG5gO1xuIl19
@@ -39,6 +39,8 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
39
39
 
40
40
  // @ts-ignore
41
41
  var MAPBOX_DEFAULT_KANDO_STYLE = 'ckfwcs35k4g621apkec9wpokl';
42
+ var MAPBOX_SATELLITE_KANDO_STYLE = 'cle5mffs3001s01q94brapvks';
43
+ var mapBoxSatelliteStyle = MAPBOX_SATELLITE_KANDO_STYLE;
42
44
 
43
45
  var Map = function Map(_ref) {
44
46
  var areas = _ref.areas,
@@ -107,7 +109,7 @@ var Map = function Map(_ref) {
107
109
  });
108
110
  }, [focusedEvent, hoveredEvent, global_data.eventFilterParam]);
109
111
  (0, _react.useEffect)(function () {
110
- (0, _MapUtils.initializeMap)(mapZoomLevel, mapBoxStyle, mapRef, dispatch, _MapUtils.isValidArea, areaToCenterBy, setMapZoomLevel);
112
+ (0, _MapUtils.initializeMap)(mapZoomLevel, mapBoxStyle, mapBoxSatelliteStyle, mapRef, dispatch, _MapUtils.isValidArea, areaToCenterBy, setMapZoomLevel);
111
113
  return function cleanup() {
112
114
  // @ts-ignore
113
115
  mapRef.current.remove();
@@ -116,7 +118,7 @@ var Map = function Map(_ref) {
116
118
  }, [global_data.waterAuthorityId]);
117
119
  (0, _react.useEffect)(function () {
118
120
  if (!mapRef.current) {
119
- (0, _MapUtils.initializeMap)(mapZoomLevel, mapBoxStyle, mapRef, dispatch, _MapUtils.isValidArea, areaToCenterBy, setMapZoomLevel);
121
+ (0, _MapUtils.initializeMap)(mapZoomLevel, mapBoxStyle, mapBoxSatelliteStyle, mapRef, dispatch, _MapUtils.isValidArea, areaToCenterBy, setMapZoomLevel);
120
122
  } else {
121
123
  (0, _MapUtils.areaFocusLogic)(mapRef, _MapUtils.isValidArea, areaToCenterBy);
122
124
  }
@@ -127,7 +129,7 @@ var Map = function Map(_ref) {
127
129
  className: " map-container ".concat(global_data.sidenavExpanded ? '' : 'map-container--sidenav-collapsed')
128
130
  }, /*#__PURE__*/_react.default.createElement(_ErrorBoundary.default, null, /*#__PURE__*/_react.default.createElement("div", {
129
131
  id: "map"
130
- }), (0, _MapUtils.shouldLoadMapObjects)(global_data, mapRef) && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, renderPoints, /*#__PURE__*/_react.default.createElement(_AreaPolygons.AreaPolygons, {
132
+ }), (0, _MapUtils.shouldLoadMapObjects)(global_data, mapRef, edges, points) && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, renderPoints, /*#__PURE__*/_react.default.createElement(_AreaPolygons.AreaPolygons, {
131
133
  areas: areas,
132
134
  map: mapRef.current,
133
135
  L: _leaflet.default,
@@ -144,4 +146,4 @@ var Map = function Map(_ref) {
144
146
  };
145
147
 
146
148
  exports.Map = Map;
147
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9NYXAudHN4Il0sIm5hbWVzIjpbIk1BUEJPWF9ERUZBVUxUX0tBTkRPX1NUWUxFIiwiTWFwIiwiYXJlYXMiLCJlZGdlcyIsInBvaW50cyIsImdsb2JhbF9kYXRhIiwiYXJlYVRvQ2VudGVyQnkiLCJmb2N1c2VkRXZlbnQiLCJob3ZlcmVkRXZlbnQiLCJoaWRlRWRnZXMiLCJtYXBCb3hTdHlsZSIsImNoaWxkcmVuIiwiaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzIiwiaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcyIsIm1hcCIsIm1hcFJlZiIsImRpc3BhdGNoIiwibWFwWm9vbUxldmVsIiwic2V0TWFwWm9vbUxldmVsIiwiZXZlbnRzRGF0YSIsInN0YXRlIiwiZXZlbnRzX2RhdGEiLCJob3ZlcmVkRXZlbnRQcmVzZW50IiwidW5kZWZpbmVkIiwiZm9jdXNlZEV2ZW50UHJlc2VudCIsInJlbmRlclBvaW50cyIsImlzRmV0Y2hpbmciLCJjdXJyZW50IiwiYWN0aXZhdGVab29tQ29udHJvbEZvckljb25zIiwibWVtb2l6ZWRFdmVudCIsImZvY3VzZWQiLCJob3ZlcmVkIiwiZXZlbnRGaWx0ZXJQYXJhbSIsImlzVmFsaWRBcmVhIiwiY2xlYW51cCIsInJlbW92ZSIsIndhdGVyQXV0aG9yaXR5SWQiLCJzaWRlbmF2RXhwYW5kZWQiLCJMIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBSUE7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7Ozs7OztBQWpCQTtBQXVDQSxJQUFNQSwwQkFBMEIsR0FBRywyQkFBbkM7O0FBQ08sSUFBTUMsR0FBdUIsR0FBRyxTQUExQkEsR0FBMEIsT0FhakM7QUFBQSxNQVpKQyxLQVlJLFFBWkpBLEtBWUk7QUFBQSxNQVhKQyxLQVdJLFFBWEpBLEtBV0k7QUFBQSxNQVZKQyxNQVVJLFFBVkpBLE1BVUk7QUFB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bEMsa0JBQ0MsNERBQ0dVLFlBREgsZUFFRSw2QkFBQywwQkFBRDtBQUNFLElBQUEsS0FBSyxFQUFFdkIsS0FEVDtBQUVFLElBQUEsR0FBRyxFQUFFYSxNQUFNLENBQUNZLE9BRmQ7QUFHRSxJQUFBLENBQUMsRUFBRVcsZ0JBSEw7QUFJRSxJQUFBLGNBQWMsRUFBRWhDLGNBSmxCO0FBS0UsSUFBQSxPQUFPLEVBQUVXO0FBTFgsSUFGRixlQVVFLDZCQUFDLGNBQUQ7QUFDRSxJQUFBLEtBQUssRUFBRWQsS0FEVDtBQUVFLElBQUEsR0FBRyxFQUFFWSxNQUFNLENBQUNZLE9BRmQ7QUFHRSxJQUFBLENBQUMsRUFBRVcsZ0JBSEw7QUFJRSxJQUFBLE1BQU0sRUFBRWxDLE1BSlY7QUFLRSxJQUFBLFNBQVMsRUFBRUssU0FMYjtBQU1FLElBQUEsMkJBQTJCLEVBQ3pCSTtBQVBKLElBVkYsQ0FISixFQXlCRyw0Q0FBNkJWLEtBQTdCLEVBQW9DRCxLQUFwQyxFQUEyQ0csV0FBM0MsRUFBd0RVLE1BQXhELGtCQUNDLDREQUNHYyxhQURILEVBRUdELDJCQUZILEVBR0dqQixRQUhILENBMUJKLENBTEYsQ0FERixDQURGO0FBMkNELENBcEpNIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWlnbm9yZVxuaW1wb3J0IEwgZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgSUFyZWEgfSBmcm9tICdzcmMvc3RvcmUvYXJlYXMvbW9kZWxzL0lBcmVhJztcbmltcG9ydCB7IElFZGdlIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL21vZGVscy9JRWRnZSc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHsgc3RvcmVNYXAgfSBmcm9tICdzcmMvc3RvcmUvZ2xvYmFsL2FjdGlvbnMnO1xuaW1wb3J0IHsgSUdsb2JhbFN0YXRlIH0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9tb2RlbHMvSUdsb2JhbFN0YXRlJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgRXJyb3JCb3VuZGFyeSBmcm9tICdzcmMvdXRpbGl0aWVzL0Vycm9yQm91bmRhcnknO1xuaW1wb3J0IHsgQXJlYVBvbHlnb25zIH0gZnJvbSAnLi9hcmVhcy9BcmVhUG9seWdvbnMnO1xuaW1wb3J0IEVkZ2VzIGZyb20gJy4vZWRnZXMvRWRnZXMnO1xuaW1wb3J0ICcuL01hcC5zY3NzJztcbmltcG9ydCB7IFBvaW50TWFya2VycyB9IGZyb20gJy4vcG9pbnRzL1BvaW50TWFya2Vycyc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnLi4vLi4vc3RvcmUvcm9vdFJlZHVjZXInO1xuaW1wb3J0IHsgRXZlbnQgfSBmcm9tICcuL2V2ZW50cy9FdmVudCc7XG5pbXBvcnQge1xuICBhcmVhRm9jdXNMb2dpYyxcbiAgaWNvblpvb21Db250cm9sLFxuICBpbml0aWFsaXplTWFwLFxuICBpc1ZhbGlkQXJlYSxcbiAgc2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyxcbiAgc2hvdWxkTG9hZE1hcE9iamVjdHMsXG59IGZyb20gJy4vTWFwVXRpbHMnO1xuXG5pbnRlcmZhY2UgTWFwUHJvcHMge1xuICBhcmVhczogSUFyZWFbXTtcbiAgZWRnZXM6IElFZGdlW107XG4gIHBvaW50czogSVBvaW50W107XG4gIGdsb2JhbF9kYXRhOiBJR2xvYmFsU3RhdGU7XG4gIGFyZWFUb0NlbnRlckJ5PzogYW55O1xuICBmb2N1c2VkRXZlbnQ/OiBJRXZlbnQgfCBudWxsO1xuICBob3ZlcmVkRXZlbnQ/OiBJRXZlbnQgfCBudWxsO1xuICBoaWRlRWRnZXM/OiBib29sZWFuO1xuICBtYXBCb3hTdHlsZT86IHN0cmluZztcbiAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzPzogYm9vbGVhbjtcbiAgaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcz86IGJvb2xlYW47XG59XG5jb25zdCBNQVBCT1hfREVGQVVMVF9LQU5ET19TVFlMRSA9ICdja2Z3Y3MzNWs0ZzYyMWFwa2VjOXdwb2tsJztcbmV4cG9ydCBjb25zdCBNYXA6IFJlYWN0LkZDPE1hcFByb3BzPiA9ICh7XG4gIGFyZWFzLFxuICBlZGdlcyxcbiAgcG9pbnRzLFxuICBnbG9iYWxfZGF0YSxcbiAgYXJlYVRvQ2VudGVyQnksXG4gIGZvY3VzZWRFdmVudCxcbiAgaG92ZXJlZEV2ZW50LFxuICBoaWRlRWRnZXMgPSBmYWxzZSxcbiAgbWFwQm94U3R5bGUgPSBNQVBCT1hfREVGQVVMVF9LQU5ET19TVFlMRSxcbiAgY2hpbGRyZW4sXG4gIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyA9IGZhbHNlLFxuICBpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzID0gZmFsc2UsXG59KSA9PiB7XG4gIGNvbnN0IHsgbWFwIH0gPSBnbG9iYWxfZGF0YTtcbiAgY29uc3QgbWFwUmVmID0gdXNlUmVmPEwuTWFwPihudWxsKTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBbbWFwWm9vbUxldmVsLCBzZXRNYXBab29tTGV2ZWxdID0gdXNlU3RhdGUoMik7XG4gIGNvbnN0IGV2ZW50c0RhdGEgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS5ldmVudHNfZGF0YSxcbiAgKTtcbiAgY29uc3QgaG92ZXJlZEV2ZW50UHJlc2VudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBob3ZlcmVkRXZlbnQgIT09IG51bGwgJiYgaG92ZXJlZEV2ZW50ICE9PSB1bmRlZmluZWQ7XG4gIH0sIFtob3ZlcmVkRXZlbnRdKTtcblxuICBjb25zdCBmb2N1c2VkRXZlbnRQcmVzZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGZvY3VzZWRFdmVudCAhPT0gbnVsbCAmJiBmb2N1c2VkRXZlbnQgIT09IHVuZGVmaW5lZDtcbiAgfSwgW2ZvY3VzZWRFdmVudF0pO1xuXG4gIGNvbnN0IHJlbmRlclBvaW50cyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICAhZXZlbnRzRGF0YS5pc0ZldGNoaW5nICYmXG4gICAgICBtYXBSZWYuY3VycmVudCAhPT0gbnVsbCAmJlxuICAgICAgIWZvY3VzZWRFdmVudFByZXNlbnQgJiYgKFxuICAgICAgICA8UG9pbnRNYXJrZXJzXG4gICAgICAgICAgbWFwPXttYXBSZWYuY3VycmVudH1cbiAgICAgICAgICBwb2ludHM9e3BvaW50c31cbiAgICAgICAgICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHM9e2luY2x1ZGVVbm1vbml0b3JlZFBvaW50c31cbiAgICAgICAgICByZXJlbmRlcj17Zm9jdXNlZEV2ZW50UHJlc2VudH1cbiAgICAgICAgLz5cbiAgICAgIClcbiAgICApO1xuICB9LCBbZXZlbnRzRGF0YS5pc0ZldGNoaW5nLCBtYXBSZWYuY3VycmVudCwgcG9pbnRzLCBmb2N1c2VkRXZlbnRQcmVzZW50XSk7XG5cbiAgY29uc3QgYWN0aXZhdGVab29tQ29udHJvbEZvckljb25zID0gdXNlTWVtbygoKSA9PiB7XG4gICAgbWFwUmVmLmN1cnJlbnQgIT09IG51bGwgJiYgaWNvblpvb21Db250cm9sKG1hcFJlZi5jdXJyZW50KTtcbiAgfSwgW21hcFJlZi5jdXJyZW50LCBwb2ludHMsIGZvY3VzZWRFdmVudFByZXNlbnRdKTtcblxuICBjb25zdCBtZW1vaXplZEV2ZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGZvY3VzZWRFdmVudFByZXNlbnQpIHtcbiAgICAgIGZvY3VzZWRFdmVudCEuZm9jdXNlZCA9IGZvY3VzZWRFdmVudFByZXNlbnQ7XG4gICAgICBmb2N1c2VkRXZlbnQhLmhvdmVyZWQgPSAhZm9jdXNlZEV2ZW50UHJlc2VudDtcbiAgICB9XG5cbiAgICBpZiAoaG92ZXJlZEV2ZW50UHJlc2VudCkge1xuICAgICAgaG92ZXJlZEV2ZW50IS5ob3ZlcmVkID0gaG92ZXJlZEV2ZW50UHJlc2VudDtcbiAgICAgIGhvdmVyZWRFdmVudCEuZm9jdXNlZCA9ICFob3ZlcmVkRXZlbnRQcmVzZW50O1xuICAgIH1cblxuICAgIGlmICghaG92ZXJlZEV2ZW50UHJlc2VudCAmJiAhZm9jdXNlZEV2ZW50UHJlc2VudCkgcmV0dXJuIDw+PC8+O1xuICAgIHJldHVybiAoXG4gICAgICA8RXZlbnRcbiAgICAgICAgZXZlbnQ9e2ZvY3VzZWRFdmVudCEgfHwgaG92ZXJlZEV2ZW50IX1cbiAgICAgICAgbWFwPXttYXB9XG4gICAgICAgIGVkZ2VzPXtlZGdlc31cbiAgICAgICAgcG9pbnRzPXtwb2ludHN9XG4gICAgICAgIGluY2x1ZGVOZXR3b3JrPXshaG92ZXJlZEV2ZW50UHJlc2VudH1cbiAgICAgIC8+XG4gICAgKTtcbiAgfSwgW2ZvY3VzZWRFdmVudCwgaG92ZXJlZEV2ZW50LCBnbG9iYWxfZGF0YS5ldmVudEZpbHRlclBhcmFtXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpbml0aWFsaXplTWFwKFxuICAgICAgbWFwWm9vbUxldmVsLFxuICAgICAgbWFwQm94U3R5bGUsXG4gICAgICBtYXBSZWYsXG4gICAgICBkaXNwYXRjaCxcbiAgICAgIGlzVmFsaWRBcmVhLFxuICAgICAgYXJlYVRvQ2VudGVyQnksXG4gICAgICBzZXRNYXBab29tTGV2ZWwsXG4gICAgKTtcblxuICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgbWFwUmVmLmN1cnJlbnQucmVtb3ZlKCk7XG4gICAgICBkaXNwYXRjaChzdG9yZU1hcCh1bmRlZmluZWQpKTtcbiAgICB9O1xuICB9LCBbZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFtYXBSZWYuY3VycmVudCkge1xuICAgICAgaW5pdGlhbGl6ZU1hcChcbiAgICAgICAgbWFwWm9vbUxldmVsLFxuICAgICAgICBtYXBCb3hTdHlsZSxcbiAgICAgICAgbWFwUmVmLFxuICAgICAgICBkaXNwYXRjaCxcbiAgICAgICAgaXNWYWxpZEFyZWEsXG4gICAgICAgIGFyZWFUb0NlbnRlckJ5LFxuICAgICAgICBzZXRNYXBab29tTGV2ZWwsXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBhcmVhRm9jdXNMb2dpYyhtYXBSZWYsIGlzVmFsaWRBcmVhLCBhcmVhVG9DZW50ZXJCeSk7XG4gICAgfVxuICB9LCBbYXJlYVRvQ2VudGVyQnldKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwia2QtbWFwLWNvbnRhaW5lclwiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9e2AgbWFwLWNvbnRhaW5lciAke1xuICAgICAgICAgIGdsb2JhbF9kYXRhLnNpZGVuYXZFeHBhbmRlZCA/ICcnIDogJ21hcC1jb250YWluZXItLXNpZGVuYXYtY29sbGFwc2VkJ1xuICAgICAgICB9YH1cbiAgICAgID5cbiAgICAgICAgPEVycm9yQm91bmRhcnk+XG4gICAgICAgICAgPGRpdiBpZD1cIm1hcFwiPjwvZGl2PlxuICAgICAgICAgIHtzaG91bGRMb2FkTWFwT2JqZWN0cyhnbG9iYWxfZGF0YSwgbWFwUmVmKSAmJiAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICB7cmVuZGVyUG9pbnRzfVxuICAgICAgICAgICAgICA8QXJlYVBvbHlnb25zXG4gICAgICAgICAgICAgICAgYXJlYXM9e2FyZWFzfVxuICAgICAgICAgICAgICAgIG1hcD17bWFwUmVmLmN1cnJlbnR9XG4gICAgICAgICAgICAgICAgTD17TH1cbiAgICAgICAgICAgICAgICBhcmVhVG9DZW50ZXJCeT17YXJlYVRvQ2VudGVyQnl9XG4gICAgICAgICAgICAgICAgbWFwWm9vbT17bWFwWm9vbUxldmVsfVxuICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgIDxFZGdlc1xuICAgICAgICAgICAgICAgIGVkZ2VzPXtlZGdlc31cbiAgICAgICAgICAgICAgICBtYXA9e21hcFJlZi5jdXJyZW50fVxuICAgICAgICAgICAgICAgIEw9e0x9XG4gICAgICAgICAgICAgICAgcG9pbnRzPXtwb2ludHN9XG4gICAgICAgICAgICAgICAgaGlkZUVkZ2VzPXtoaWRlRWRnZXN9XG4gICAgICAgICAgICAgICAgYWxsb3dVbm1vbml0b3JlZERlc2NlbmRhbnRzPXtcbiAgICAgICAgICAgICAgICAgIGluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXNcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICAgIHtzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzKGVkZ2VzLCBhcmVhcywgZ2xvYmFsX2RhdGEsIG1hcFJlZikgJiYgKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAge21lbW9pemVkRXZlbnR9XG4gICAgICAgICAgICAgIHthY3RpdmF0ZVpvb21Db250cm9sRm9ySWNvbnN9XG4gICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvRXJyb3JCb3VuZGFyeT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcbiJdfQ==
149
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9NYXAudHN4Il0sIm5hbWVzIjpbIk1BUEJPWF9ERUZBVUxUX0tBTkRPX1NUWUxFIiwiTUFQQk9YX1NBVEVMTElURV9LQU5ET19TVFlMRSIsIm1hcEJveFNhdGVsbGl0ZVN0eWxlIiwiTWFwIiwiYXJlYXMiLCJlZGdlcyIsInBvaW50cyIsImdsb2JhbF9kYXRhIiwiYXJlYVRvQ2VudGVyQnkiLCJmb2N1c2VkRXZlbnQiLCJob3ZlcmVkRXZlbnQiLCJoaWRlRWRnZXMiLCJtYXBCb3hTdHlsZSIsImNoaWxkcmVuIiwiaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzIiwiaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcyIsIm1hcCIsIm1hcFJlZiIsImRpc3BhdGNoIiwibWFwWm9vbUxldmVsIiwic2V0TWFwWm9vbUxldmVsIiwiZXZlbnRzRGF0YSIsInN0YXRlIiwiZXZlbnRzX2RhdGEiLCJob3ZlcmVkRXZlbnRQcmVzZW50IiwidW5kZWZpbmVkIiwiZm9jdXNlZEV2ZW50UHJlc2VudCIsInJlbmRlclBvaW50cyIsImlzRmV0Y2hpbmciLCJjdXJyZW50IiwiYWN0aXZhdGVab29tQ29udHJvbEZvckljb25zIiwibWVtb2l6ZWRFdmVudCIsImZvY3VzZWQiLCJob3ZlcmVkIiwiZXZlbnRGaWx0ZXJQYXJhbSIsImlzVmFsaWRBcmVhIiwiY2xlYW51cCIsInJlbW92ZSIsIndhdGVyQXV0aG9yaXR5SWQiLCJzaWRlbmF2RXhwYW5kZWQiLCJMIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBSUE7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7Ozs7OztBQWpCQTtBQXVDQSxJQUFNQSwwQkFBMEIsR0FBRywyQkFBbkM7QUFDQSxJQUFNQyw0QkFBNEIsR0FBRywyQkFBckM7QUFDQSxJQUFNQyxvQkFBb0IsR0FBR0QsNEJBQTdCOztBQUNPLElBQU1F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LDJCQUNQRCxXQUFXLENBQUNnQyxlQUFaLEdBQThCLEVBQTlCLEdBQW1DLGtDQUQ1QjtBQURYLGtCQUtFLDZCQUFDLHNCQUFELHFCQUNFO0FBQUssSUFBQSxFQUFFLEVBQUM7QUFBUixJQURGLEVBRUcsb0NBQXFCaEMsV0FBckIsRUFBa0NVLE1BQWxDLEVBQTBDWixLQUExQyxFQUFpREMsTUFBakQsa0JBQ0MsNERBQ0dxQixZQURILGVBRUUsNkJBQUMsMEJBQUQ7QUFDRSxJQUFBLEtBQUssRUFBRXZCLEtBRFQ7QUFFRSxJQUFBLEdBQUcsRUFBRWEsTUFBTSxDQUFDWSxPQUZkO0FBR0UsSUFBQSxDQUFDLEVBQUVXLGdCQUhMO0FBSUUsSUFBQSxjQUFjLEVBQUVoQyxjQUpsQjtBQUtFLElBQUEsT0FBTyxFQUFFVztBQUxYLElBRkYsZUFVRSw2QkFBQyxjQUFEO0FBQ0UsSUFBQSxLQUFLLEVBQUVkLEtBRFQ7QUFFRSxJQUFBLEdBQUcsRUFBRVksTUFBTSxDQUFDWSxPQUZkO0FBR0UsSUFBQSxDQUFDLEVBQUVXLGdCQUhMO0FBSUUsSUFBQSxNQUFNLEVBQUVsQyxNQUpWO0FBS0UsSUFBQSxTQUFTLEVBQUVLLFNBTGI7QUFNRSxJQUFBLDJCQUEyQixFQUN6Qkk7QUFQSixJQVZGLENBSEosRUF5QkcsNENBQTZCVixLQUE3QixFQUFvQ0QsS0FBcEMsRUFBMkNHLFdBQTNDLEVBQXdEVSxNQUF4RCxrQkFDQyw0REFDR2MsYUFESCxFQUVHRCwyQkFGSCxFQUdHakIsUUFISCxDQTFCSixDQUxGLENBREYsQ0FERjtBQTJDRCxDQXRKTSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1pZ25vcmVcbmltcG9ydCBMIGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IElBcmVhIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5pbXBvcnQgeyBJRWRnZSB9IGZyb20gJ3NyYy9zdG9yZS9lZGdlcy9tb2RlbHMvSUVkZ2UnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCB7IHN0b3JlTWFwIH0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9hY3Rpb25zJztcbmltcG9ydCB7IElHbG9iYWxTdGF0ZSB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvbW9kZWxzL0lHbG9iYWxTdGF0ZSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IEVycm9yQm91bmRhcnkgZnJvbSAnc3JjL3V0aWxpdGllcy9FcnJvckJvdW5kYXJ5JztcbmltcG9ydCB7IEFyZWFQb2x5Z29ucyB9IGZyb20gJy4vYXJlYXMvQXJlYVBvbHlnb25zJztcbmltcG9ydCBFZGdlcyBmcm9tICcuL2VkZ2VzL0VkZ2VzJztcbmltcG9ydCAnLi9NYXAuc2Nzcyc7XG5pbXBvcnQgeyBQb2ludE1hcmtlcnMgfSBmcm9tICcuL3BvaW50cy9Qb2ludE1hcmtlcnMnO1xuaW1wb3J0IHsgYXBwUmVkdWNlciB9IGZyb20gJy4uLy4uL3N0b3JlL3Jvb3RSZWR1Y2VyJztcbmltcG9ydCB7IEV2ZW50IH0gZnJvbSAnLi9ldmVudHMvRXZlbnQnO1xuaW1wb3J0IHtcbiAgYXJlYUZvY3VzTG9naWMsXG4gIGljb25ab29tQ29udHJvbCxcbiAgaW5pdGlhbGl6ZU1hcCxcbiAgaXNWYWxpZEFyZWEsXG4gIHNob3VkTG9hZERlcGVuZGVudE1hcE9iamVjdHMsXG4gIHNob3VsZExvYWRNYXBPYmplY3RzLFxufSBmcm9tICcuL01hcFV0aWxzJztcblxuaW50ZXJmYWNlIE1hcFByb3BzIHtcbiAgYXJlYXM6IElBcmVhW107XG4gIGVkZ2VzPzogSUVkZ2VbXTtcbiAgcG9pbnRzPzogSVBvaW50W107XG4gIGdsb2JhbF9kYXRhOiBJR2xvYmFsU3RhdGU7XG4gIGFyZWFUb0NlbnRlckJ5PzogYW55O1xuICBmb2N1c2VkRXZlbnQ/OiBJRXZlbnQgfCBudWxsO1xuICBob3ZlcmVkRXZlbnQ/OiBJRXZlbnQgfCBudWxsO1xuICBoaWRlRWRnZXM/OiBib29sZWFuO1xuICBtYXBCb3hTdHlsZT86IHN0cmluZztcbiAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzPzogYm9vbGVhbjtcbiAgaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcz86IGJvb2xlYW47XG59XG5jb25zdCBNQVBCT1hfREVGQVVMVF9LQU5ET19TVFlMRSA9ICdja2Z3Y3MzNWs0ZzYyMWFwa2VjOXdwb2tsJztcbmNvbnN0IE1BUEJPWF9TQVRFTExJVEVfS0FORE9fU1RZTEUgPSAnY2xlNW1mZnMzMDAxczAxcTk0YnJhcHZrcyc7XG5jb25zdCBtYXBCb3hTYXRlbGxpdGVTdHlsZSA9IE1BUEJPWF9TQVRFTExJVEVfS0FORE9fU1RZTEU7XG5leHBvcnQgY29uc3QgTWFwOiBSZWFjdC5GQzxNYXBQcm9wcz4gPSAoe1xuICBhcmVhcyxcbiAgZWRnZXMsXG4gIHBvaW50cyxcbiAgZ2xvYmFsX2RhdGEsXG4gIGFyZWFUb0NlbnRlckJ5LFxuICBmb2N1c2VkRXZlbnQsXG4gIGhvdmVyZWRFdmVudCxcbiAgaGlkZUVkZ2VzID0gZmFsc2UsXG4gIG1hcEJveFN0eWxlID0gTUFQQk9YX0RFRkFVTFRfS0FORE9fU1RZTEUsXG4gIGNoaWxkcmVuLFxuICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHMgPSBmYWxzZSxcbiAgaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcyA9IGZhbHNlLFxufSkgPT4ge1xuICBjb25zdCB7IG1hcCB9ID0gZ2xvYmFsX2RhdGE7XG4gIGNvbnN0IG1hcFJlZiA9IHVzZVJlZjxMLk1hcD4obnVsbCk7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgW21hcFpvb21MZXZlbCwgc2V0TWFwWm9vbUxldmVsXSA9IHVzZVN0YXRlKDIpO1xuICBjb25zdCBldmVudHNEYXRhID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSZXR1cm5UeXBlPHR5cGVvZiBhcHBSZWR1Y2VyPikgPT4gc3RhdGUuZXZlbnRzX2RhdGEsXG4gICk7XG4gIGNvbnN0IGhvdmVyZWRFdmVudFByZXNlbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gaG92ZXJlZEV2ZW50ICE9PSBudWxsICYmIGhvdmVyZWRFdmVudCAhPT0gdW5kZWZpbmVkO1xuICB9LCBbaG92ZXJlZEV2ZW50XSk7XG5cbiAgY29uc3QgZm9jdXNlZEV2ZW50UHJlc2VudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBmb2N1c2VkRXZlbnQgIT09IG51bGwgJiYgZm9jdXNlZEV2ZW50ICE9PSB1bmRlZmluZWQ7XG4gIH0sIFtmb2N1c2VkRXZlbnRdKTtcblxuICBjb25zdCByZW5kZXJQb2ludHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgIWV2ZW50c0RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgbWFwUmVmLmN1cnJlbnQgIT09IG51bGwgJiZcbiAgICAgICFmb2N1c2VkRXZlbnRQcmVzZW50ICYmIChcbiAgICAgICAgPFBvaW50TWFya2Vyc1xuICAgICAgICAgIG1hcD17bWFwUmVmLmN1cnJlbnR9XG4gICAgICAgICAgcG9pbnRzPXtwb2ludHN9XG4gICAgICAgICAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzPXtpbmNsdWRlVW5tb25pdG9yZWRQb2ludHN9XG4gICAgICAgICAgcmVyZW5kZXI9e2ZvY3VzZWRFdmVudFByZXNlbnR9XG4gICAgICAgIC8+XG4gICAgICApXG4gICAgKTtcbiAgfSwgW2V2ZW50c0RhdGEuaXNGZXRjaGluZywgbWFwUmVmLmN1cnJlbnQsIHBvaW50cywgZm9jdXNlZEV2ZW50UHJlc2VudF0pO1xuXG4gIGNvbnN0IGFjdGl2YXRlWm9vbUNvbnRyb2xGb3JJY29ucyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIG1hcFJlZi5jdXJyZW50ICE9PSBudWxsICYmIGljb25ab29tQ29udHJvbChtYXBSZWYuY3VycmVudCk7XG4gIH0sIFttYXBSZWYuY3VycmVudCwgcG9pbnRzLCBmb2N1c2VkRXZlbnRQcmVzZW50XSk7XG5cbiAgY29uc3QgbWVtb2l6ZWRFdmVudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChmb2N1c2VkRXZlbnRQcmVzZW50KSB7XG4gICAgICBmb2N1c2VkRXZlbnQhLmZvY3VzZWQgPSBmb2N1c2VkRXZlbnRQcmVzZW50O1xuICAgICAgZm9jdXNlZEV2ZW50IS5ob3ZlcmVkID0gIWZvY3VzZWRFdmVudFByZXNlbnQ7XG4gICAgfVxuXG4gICAgaWYgKGhvdmVyZWRFdmVudFByZXNlbnQpIHtcbiAgICAgIGhvdmVyZWRFdmVudCEuaG92ZXJlZCA9IGhvdmVyZWRFdmVudFByZXNlbnQ7XG4gICAgICBob3ZlcmVkRXZlbnQhLmZvY3VzZWQgPSAhaG92ZXJlZEV2ZW50UHJlc2VudDtcbiAgICB9XG5cbiAgICBpZiAoIWhvdmVyZWRFdmVudFByZXNlbnQgJiYgIWZvY3VzZWRFdmVudFByZXNlbnQpIHJldHVybiA8PjwvPjtcbiAgICByZXR1cm4gKFxuICAgICAgPEV2ZW50XG4gICAgICAgIGV2ZW50PXtmb2N1c2VkRXZlbnQhIHx8IGhvdmVyZWRFdmVudCF9XG4gICAgICAgIG1hcD17bWFwfVxuICAgICAgICBlZGdlcz17ZWRnZXMhfVxuICAgICAgICBwb2ludHM9e3BvaW50cyF9XG4gICAgICAgIGluY2x1ZGVOZXR3b3JrPXshaG92ZXJlZEV2ZW50UHJlc2VudH1cbiAgICAgIC8+XG4gICAgKTtcbiAgfSwgW2ZvY3VzZWRFdmVudCwgaG92ZXJlZEV2ZW50LCBnbG9iYWxfZGF0YS5ldmVudEZpbHRlclBhcmFtXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpbml0aWFsaXplTWFwKFxuICAgICAgbWFwWm9vbUxldmVsLFxuICAgICAgbWFwQm94U3R5bGUsXG4gICAgICBtYXBCb3hTYXRlbGxpdGVTdHlsZSxcbiAgICAgIG1hcFJlZixcbiAgICAgIGRpc3BhdGNoLFxuICAgICAgaXNWYWxpZEFyZWEsXG4gICAgICBhcmVhVG9DZW50ZXJCeSxcbiAgICAgIHNldE1hcFpvb21MZXZlbCxcbiAgICApO1xuXG4gICAgcmV0dXJuIGZ1bmN0aW9uIGNsZWFudXAoKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBtYXBSZWYuY3VycmVudC5yZW1vdmUoKTtcbiAgICAgIGRpc3BhdGNoKHN0b3JlTWFwKHVuZGVmaW5lZCkpO1xuICAgIH07XG4gIH0sIFtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIW1hcFJlZi5jdXJyZW50KSB7XG4gICAgICBpbml0aWFsaXplTWFwKFxuICAgICAgICBtYXBab29tTGV2ZWwsXG4gICAgICAgIG1hcEJveFN0eWxlLFxuICAgICAgICBtYXBCb3hTYXRlbGxpdGVTdHlsZSxcbiAgICAgICAgbWFwUmVmLFxuICAgICAgICBkaXNwYXRjaCxcbiAgICAgICAgaXNWYWxpZEFyZWEsXG4gICAgICAgIGFyZWFUb0NlbnRlckJ5LFxuICAgICAgICBzZXRNYXBab29tTGV2ZWwsXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBhcmVhRm9jdXNMb2dpYyhtYXBSZWYsIGlzVmFsaWRBcmVhLCBhcmVhVG9DZW50ZXJCeSk7XG4gICAgfVxuICB9LCBbYXJlYVRvQ2VudGVyQnldKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwia2QtbWFwLWNvbnRhaW5lclwiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9e2AgbWFwLWNvbnRhaW5lciAke1xuICAgICAgICAgIGdsb2JhbF9kYXRhLnNpZGVuYXZFeHBhbmRlZCA/ICcnIDogJ21hcC1jb250YWluZXItLXNpZGVuYXYtY29sbGFwc2VkJ1xuICAgICAgICB9YH1cbiAgICAgID5cbiAgICAgICAgPEVycm9yQm91bmRhcnk+XG4gICAgICAgICAgPGRpdiBpZD1cIm1hcFwiPjwvZGl2PlxuICAgICAgICAgIHtzaG91bGRMb2FkTWFwT2JqZWN0cyhnbG9iYWxfZGF0YSwgbWFwUmVmLCBlZGdlcywgcG9pbnRzKSAmJiAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICB7cmVuZGVyUG9pbnRzfVxuICAgICAgICAgICAgICA8QXJlYVBvbHlnb25zXG4gICAgICAgICAgICAgICAgYXJlYXM9e2FyZWFzfVxuICAgICAgICAgICAgICAgIG1hcD17bWFwUmVmLmN1cnJlbnR9XG4gICAgICAgICAgICAgICAgTD17TH1cbiAgICAgICAgICAgICAgICBhcmVhVG9DZW50ZXJCeT17YXJlYVRvQ2VudGVyQnl9XG4gICAgICAgICAgICAgICAgbWFwWm9vbT17bWFwWm9vbUxldmVsfVxuICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgIDxFZGdlc1xuICAgICAgICAgICAgICAgIGVkZ2VzPXtlZGdlcyF9XG4gICAgICAgICAgICAgICAgbWFwPXttYXBSZWYuY3VycmVudH1cbiAgICAgICAgICAgICAgICBMPXtMfVxuICAgICAgICAgICAgICAgIHBvaW50cz17cG9pbnRzIX1cbiAgICAgICAgICAgICAgICBoaWRlRWRnZXM9e2hpZGVFZGdlc31cbiAgICAgICAgICAgICAgICBhbGxvd1VubW9uaXRvcmVkRGVzY2VuZGFudHM9e1xuICAgICAgICAgICAgICAgICAgaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICl9XG4gICAgICAgICAge3Nob3VkTG9hZERlcGVuZGVudE1hcE9iamVjdHMoZWRnZXMsIGFyZWFzLCBnbG9iYWxfZGF0YSwgbWFwUmVmKSAmJiAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICB7bWVtb2l6ZWRFdmVudH1cbiAgICAgICAgICAgICAge2FjdGl2YXRlWm9vbUNvbnRyb2xGb3JJY29uc31cbiAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9FcnJvckJvdW5kYXJ5PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuIl19
@@ -93,6 +93,7 @@
93
93
  transition: 0.3s cubic-bezier(1, 0, 0, 1);
94
94
 
95
95
  .ltr & {
96
+ width: calc(100vw - 450px);
96
97
  left: 450px;
97
98
  right: 0;
98
99
  }
@@ -144,6 +145,22 @@
144
145
  }
145
146
  }
146
147
  }
148
+
149
+ .leaflet-right {
150
+ top: auto;
151
+ transition: 0.3s cubic-bezier(1, 0, 0, 1);
152
+ width: min-content;
153
+ bottom: -8.5em;
154
+
155
+ .ltr & {
156
+ right: 0;
157
+ left: unset;
158
+ }
159
+ .rtl & {
160
+ left: 0em;
161
+ right: unset;
162
+ }
163
+ }
147
164
  }
148
165
  }
149
166
  }
@@ -7,10 +7,14 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.initializeMap = exports.iconZoomControl = exports.topIconOptions = exports.middleIconOptions = exports.bubbleIconOptions = exports.eventsCountIcon = exports.multipleLayeredIcons = exports.eventsCounterIcons = exports.findSpecificLayersFromMap = exports.shoudLoadDependentMapObjects = exports.shouldLoadMapObjects = exports.isValidArea = exports.areaFocusLogic = void 0;
9
9
 
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
11
+
10
12
  var _leaflet = _interopRequireDefault(require("leaflet"));
11
13
 
12
14
  var _actions = require("../../store/global/actions");
13
15
 
16
+ var _i18n = _interopRequireDefault(require("utilities/i18n"));
17
+
14
18
  var areaFocusLogic = function areaFocusLogic(mapRef, isValidArea, areaToCenterBy) {
15
19
  var mapInstance = mapRef.current;
16
20
 
@@ -45,8 +49,8 @@ var isValidArea = function isValidArea(area) {
45
49
 
46
50
  exports.isValidArea = isValidArea;
47
51
 
48
- var shouldLoadMapObjects = function shouldLoadMapObjects(global_data, mapRef) {
49
- return global_data.map !== undefined && mapRef.current !== null;
52
+ var shouldLoadMapObjects = function shouldLoadMapObjects(global_data, mapRef, points, edges) {
53
+ return global_data.map !== undefined && mapRef.current !== null && edges !== undefined && points !== undefined;
50
54
  };
51
55
 
52
56
  exports.shouldLoadMapObjects = shouldLoadMapObjects;
@@ -211,25 +215,45 @@ var iconZoomControl = function iconZoomControl(map) {
211
215
 
212
216
  exports.iconZoomControl = iconZoomControl;
213
217
 
214
- var initializeMap = function initializeMap(mapZoomLevel, mapBoxStyle, mapRef, dispatch, isValidArea, areaToCenterBy, setMapZoomLevel) {
218
+ var mapStyle = function mapStyle(mapBoxStyle) {
219
+ return _leaflet.default.tileLayer("https://api.mapbox.com/styles/v1/nadav-kando/".concat(mapBoxStyle, "/tiles/256/{z}/{x}/{y}@2x?access_token=pk.eyJ1IjoibmFkYXYta2FuZG8iLCJhIjoiY2pveHprdGRxMHlmdDN4bDg0dzJxOXc4dSJ9.J-2ohq7j4yKNbm4N_-P6qw"), {
220
+ attribution: 'Map data &copy; <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, <a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="https://www.mapbox.com/">Mapbox</a>',
221
+ maxZoom: 18,
222
+ id: 'mapbox/streets-v11',
223
+ tileSize: 512,
224
+ zoomOffset: -1,
225
+ updateWhenZooming: false,
226
+ updateWhenIdle: false
227
+ });
228
+ };
229
+
230
+ var baseMaps = function baseMaps(mapBoxStyle, mapBoxSatelliteStyle) {
231
+ var _ref;
232
+
233
+ var defaultMap = _i18n.default.t('map.layers.default');
234
+
235
+ var satellite = _i18n.default.t('map.layers.satellite');
236
+
237
+ return _ref = {}, (0, _defineProperty2.default)(_ref, defaultMap, mapStyle(mapBoxStyle)), (0, _defineProperty2.default)(_ref, satellite, mapStyle(mapBoxSatelliteStyle)), _ref;
238
+ };
239
+
240
+ var initializeMap = function initializeMap(mapZoomLevel, mapBoxStyle, mapBoxSatelliteStyle, mapRef, dispatch, isValidArea, areaToCenterBy, setMapZoomLevel) {
215
241
  // @ts-ignore
216
242
  mapRef.current = _leaflet.default.map('map', {
217
243
  center: [0, 0],
218
244
  zoomSnap: 1,
219
245
  zoom: mapZoomLevel,
220
246
  preferCanvas: true,
221
- layers: [_leaflet.default.tileLayer("https://api.mapbox.com/styles/v1/nadav-kando/".concat(mapBoxStyle, "/tiles/256/{z}/{x}/{y}@2x?access_token=pk.eyJ1IjoibmFkYXYta2FuZG8iLCJhIjoiY2pveHprdGRxMHlmdDN4bDg0dzJxOXc4dSJ9.J-2ohq7j4yKNbm4N_-P6qw"), {
222
- attribution: 'Map data &copy; <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, <a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="https://www.mapbox.com/">Mapbox</a>',
223
- maxZoom: 18,
224
- id: 'mapbox/streets-v11',
225
- tileSize: 512,
226
- zoomOffset: -1,
227
- updateWhenZooming: false,
228
- updateWhenIdle: false
229
- })]
247
+ layers: [mapStyle(mapBoxStyle), mapStyle(mapBoxSatelliteStyle)]
230
248
  });
231
249
  mapRef.current.whenReady(function () {
232
250
  var map = mapRef.current;
251
+
252
+ _leaflet.default.control.layers(baseMaps(mapBoxStyle, mapBoxSatelliteStyle), {}, {
253
+ position: 'bottomright'
254
+ }).addTo(map);
255
+
256
+ mapStyle(mapBoxStyle).addTo(map);
233
257
  map.on('zoomend', function () {
234
258
  iconZoomControl(map);
235
259
  });
@@ -263,4 +287,4 @@ var initializeMap = function initializeMap(mapZoomLevel, mapBoxStyle, mapRef, di
263
287
  };
264
288
 
265
289
  exports.initializeMap = initializeMap;
266
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9NYXBVdGlscy50cyJdLCJuYW1lcyI6WyJhcmVhRm9jdXNMb2dpYyIsIm1hcFJlZiIsImlzVmFsaWRBcmVhIiwiYXJlYVRvQ2VudGVyQnkiLCJtYXBJbnN0YW5jZSIsImN1cnJlbnQiLCJmaXRCb3VuZHMiLCJwYWRkaW5nIiwiZ3JvdXAiLCJwcm9wZXJ0eSIsIl9sYXllcnMiLCJrYW5kb19vYmplY3QiLCJwdXNoIiwiT2JqZWN0Iiwia2V5cyIsIkwiLCJmZWF0dXJlR3JvdXAiLCJnZXRCb3VuZHMiLCJsZW5ndGgiLCJpbnZhbGlkYXRlU2l6ZSIsImFyZWEiLCJzaG91bGRMb2FkTWFwT2JqZWN0cyIsImdsb2JhbF9kYXRhIiwibWFwIiwidW5kZWZpbmVkIiwic2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyIsImVkZ2VzIiwiYXJlYXMiLCJnbG9iYWwiLCJmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwIiwibGF5ZXJzVG9GaW5kIiwiY3VycmVudExheWVyIiwiaW5jbHVkZXMiLCJrYW5kb19wb2ludF90eXBlIiwiZXZlbnRzQ291bnRlckljb25zIiwibGF5ZXIiLCJ6b29tTGV2ZWwiLCJpY29uIiwib3B0aW9ucyIsImljb25TaXplIiwiZXZlbnRzQ291bnRJY29uIiwiaWNvbkFuY2hvciIsInNldEljb24iLCJzZXRPcGFjaXR5IiwibXVsdGlwbGVMYXllcmVkSWNvbnMiLCJpc0FGZXdMYXllckljb24iLCJrYW5kb19mZXdfbGF5ZXJfaWNvbiIsIm1pbmlJY29uIiwicHJlc2VudCIsImthbmRvX3NlY29uZGFyeSIsImthbmRvX3RoaXJkIiwic2Vjb25kYXJ5IiwidGhpcmQiLCJrYW5kb19pbmRleF9vYmplY3QiLCJidWJibGVJY29uT3B0aW9ucyIsIm9uZUxheWVySWNvbk9wdGlvbnMiLCJtaWRkbGVJY29uT3B0aW9ucyIsInRvcEljb25PcHRpb25zIiwiaWNvblpvb21Db250cm9sIiwibGF5ZXJzIiwiX3pvb20iLCJpbml0aWFsaXplTWFwIiwibWFwWm9vbUxldmVsIiwibWFwQm94U3R5bGUiLCJkaXNwYXRjaCIsInNldE1hcFpvb21MZXZlbCIsImNlbnRlciIsInpvb21TbmFwIiwiem9vbSIsInByZWZlckNhbnZhcyIsInRpbGVMYXllciIsImF0dHJpYnV0aW9uIiwibWF4Wm9vbSIsImlkIiwidGlsZVNpemUiLCJ6b29tT2Zmc2V0IiwidXBkYXRlV2hlblpvb21pbmciLCJ1cGRhdGVXaGVuSWRsZSIsIndoZW5SZWFkeSIsIm9uIiwic2V0VGltZW91dCIsImVyciIsImNvbnNvbGUiLCJlcnJvciIsImUiLCJnZXRab29tIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFTyxJQUFNQSxjQUFjLEdBQUcsU0FBakJBLGNBQWlCLENBQUNDLE1BQUQsRUFBU0MsV0FBVCxFQUFzQkMsY0FBdEIsRUFBeUM7QUFDckUsTUFBSUMsV0FBZ0IsR0FBR0gsTUFBTSxDQUFDSSxPQUE5Qjs7QUFDQSxNQUFJSCxXQUFXLENBQUNDLGNBQUQsQ0FBZixFQUFpQztBQUMvQkMsSUFBQUEsV0FBVyxDQUFDRSxTQUFaLENBQXNCSCxjQUF0QixFQUFzQztBQUFFSSxNQUFBQSxPQUFPLEVBQUUsQ0FBQyxDQUFELEVBQUksQ0FBSjtBQUFYLEtBQXRDO0FBQ0QsR0FGRCxNQUVPO0FBQ0wsUUFBTUMsS0FBWSxHQUFHLEVBQXJCOztBQUVBLFNBQUssSUFBTUMsUUFBWCxJQUF1QkwsV0FBVyxDQUFDTSxPQUFuQyxFQUE0QztBQUMxQyxVQUFJTixXQUFXLENBQUNNLE9BQVosQ0FBb0JELFFBQXBCLEVBQThCRSxZQUE5QixLQUErQyxNQUFuRCxFQUEyRDtBQUN6REgsUUFBQUEsS0FBSyxDQUFDSSxJQUFOLENBQVdSLFdBQVcsQ0FBQ00sT0FBWixDQUFvQkQsUUFBcEIsQ0FBWDtBQUNEO0FBQ0Y7O0FBRUQsUUFBSUksTUFBTSxDQUFDQyxJQUFQLENBQVlDLGlCQUFFQyxZQUFGLENBQWVSLEtBQWYsRUFBc0JTLFNBQXRCLEVBQVosRUFB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QUFDeEMsUUFBSSxDQUFDbkYsTUFBTSxDQUFDSSxPQUFaLEVBQXFCO0FBQ25CO0FBQ0Q7O0FBQ0QsUUFBSStELElBQUksR0FBR25FLE1BQU0sQ0FBQ0ksT0FBUCxDQUFlZ0YsT0FBZixFQUFYO0FBQ0FwQixJQUFBQSxlQUFlLENBQUNHLElBQUQsQ0FBZjtBQUNELEdBTkQ7QUFPRCxDQS9ETSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMLCB7IFBvaW50VHVwbGUgfSBmcm9tICdsZWFmbGV0JztcbmltcG9ydCB7IHNpZGVOYXZFeHBhbmRlZCwgc3RvcmVNYXAgfSBmcm9tICcuLi8uLi9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5cbmV4cG9ydCBjb25zdCBhcmVhRm9jdXNMb2dpYyA9IChtYXBSZWYsIGlzVmFsaWRBcmVhLCBhcmVhVG9DZW50ZXJCeSkgPT4ge1xuICBsZXQgbWFwSW5zdGFuY2U6IGFueSA9IG1hcFJlZi5jdXJyZW50O1xuICBpZiAoaXNWYWxpZEFyZWEoYXJlYVRvQ2VudGVyQnkpKSB7XG4gICAgbWFwSW5zdGFuY2UuZml0Qm91bmRzKGFyZWFUb0NlbnRlckJ5LCB7IHBhZGRpbmc6IFswLCAwXSB9KTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBncm91cDogYW55W10gPSBbXTtcblxuICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbWFwSW5zdGFuY2UuX2xheWVycykge1xuICAgICAgaWYgKG1hcEluc3RhbmNlLl9sYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ0FyZWEnKSB7XG4gICAgICAgIGdyb3VwLnB1c2gobWFwSW5zdGFuY2UuX2xheWVyc1twcm9wZXJ0eV0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChPYmplY3Qua2V5cyhMLmZlYXR1cmVHcm91cChncm91cCkuZ2V0Qm91bmRzKCkpLmxlbmd0aCAhPT0gMCkge1xuICAgICAgbWFwSW5zdGFuY2UuZml0Qm91bmRzKEwuZmVhdHVyZUdyb3VwKGdyb3VwKS5nZXRCb3VuZHMoKSwge1xuICAgICAgICBwYWRkaW5nOiBbMTAwLCAxMDBdLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIG1hcEluc3RhbmNlLmludmFsaWRhdGVTaXplKHRydWUpO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzVmFsaWRBcmVhID0gKGFyZWEpID0+IHtcbiAgcmV0dXJuIGFyZWEgJiYgYXJlYS5sZW5ndGggPiAwICYmIE9iamVjdC5rZXlzKGFyZWFbMF0pLmxlbmd0aCA+IDA7XG59O1xuXG5leHBvcnQgY29uc3Qgc2hvdWxkTG9hZE1hcE9iamVjdHMgPSAoZ2xvYmFsX2RhdGEsIG1hcFJlZikgPT4ge1xuICByZXR1cm4gZ2xvYmFsX2RhdGEubWFwICE9PSB1bmRlZmluZWQgJiYgbWFwUmVmLmN1cnJlbnQgIT09IG51bGw7XG59O1xuXG5leHBvcnQgY29uc3Qgc2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyA9IChlZGdlcywgYXJlYXMsIGdsb2JhbCwgbWFwUmVmKSA9PiB7XG4gIHJldHVybiAoXG4gICAgZ2xvYmFsLm1hcCAhPT0gdW5kZWZpbmVkICYmXG4gICAgbWFwUmVmLmN1cnJlbnQgIT09IG51bGwgJiZcbiAgICBlZGdlcy5sZW5ndGggIT09IDAgJiZcbiAgICBhcmVhcy5sZW5ndGggIT09IDBcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwID0gKFxuICBsYXllcnNUb0ZpbmQ6IHN0cmluZ1tdLFxuICBjdXJyZW50TGF5ZXIsXG4pID0+IHtcbiAgcmV0dXJuIChcbiAgICBsYXllcnNUb0ZpbmQuaW5jbHVkZXMoY3VycmVudExheWVyLmthbmRvX29iamVjdCkgJiZcbiAgICBjdXJyZW50TGF5ZXIua2FuZG9fcG9pbnRfdHlwZSAhPT0gJ01hbmhvbGUnXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgZXZlbnRzQ291bnRlckljb25zID0gKGxheWVyLCB6b29tTGV2ZWwpID0+IHtcbiAgbGV0IGljb24gPSBsYXllci5vcHRpb25zLmljb247XG4gIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IGV2ZW50c0NvdW50SWNvbih6b29tTGV2ZWwpLmljb25TaXplO1xuICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IGV2ZW50c0NvdW50SWNvbih6b29tTGV2ZWwpLmljb25BbmNob3I7XG4gIGxheWVyLnNldEljb24oaWNvbik7XG4gIGxheWVyLnNldE9wYWNpdHkoMSk7XG59O1xuXG5leHBvcnQgY29uc3QgbXVsdGlwbGVMYXllcmVkSWNvbnMgPSAobGF5ZXIsIHpvb21MZXZlbCkgPT4ge1xuICBsZXQgaWNvbiA9IGxheWVyLm9wdGlvbnMuaWNvbjtcbiAgbGV0IGlzQUZld0xheWVySWNvbiA9IGxheWVyLmthbmRvX2Zld19sYXllcl9pY29uO1xuICBsZXQgbWluaUljb24gPSB7XG4gICAgcHJlc2VudDogbGF5ZXIua2FuZG9fc2Vjb25kYXJ5IHx8IGxheWVyLmthbmRvX3RoaXJkLFxuICAgIHNlY29uZGFyeTogbGF5ZXIua2FuZG9fc2Vjb25kYXJ5LFxuICAgIHRoaXJkOiBsYXllci5rYW5kb190aGlyZCxcbiAgfTtcblxuICBpZiAobGF5ZXIua2FuZG9faW5kZXhfb2JqZWN0ID09PSAwKSB7XG4gICAgaWYgKGlzQUZld0xheWVySWNvbikge1xuICAgICAgaWNvbi5vcHRpb25zLmljb25TaXplID0gYnViYmxlSWNvbk9wdGlvbnMoem9vbUxldmVsLCBtaW5pSWNvbikuaWNvblNpemU7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IGJ1YmJsZUljb25PcHRpb25zKFxuICAgICAgICB6b29tTGV2ZWwsXG4gICAgICAgIG1pbmlJY29uLFxuICAgICAgKS5pY29uQW5jaG9yO1xuICAgIH0gZWxzZSB7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSBvbmVMYXllckljb25PcHRpb25zKHpvb21MZXZlbCkuaWNvblNpemU7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IG9uZUxheWVySWNvbk9wdGlvbnMoem9vbUxldmVsKS5pY29uQW5jaG9yO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAobGF5ZXIua2FuZG9faW5kZXhfb2JqZWN0ID09PSAxKSB7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSBtaWRkbGVJY29uT3B0aW9ucyh6b29tTGV2ZWwsIG1pbmlJY29uKS5pY29uU2l6ZTtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uQW5jaG9yID0gbWlkZGxlSWNvbk9wdGlvbnMoXG4gICAgICAgIHpvb21MZXZlbCxcbiAgICAgICAgbWluaUljb24sXG4gICAgICApLmljb25BbmNob3I7XG4gICAgfSBlbHNlIHtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IHRvcEljb25PcHRpb25zKHpvb21MZXZlbCwgbWluaUljb24pLmljb25TaXplO1xuICAgICAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSB0b3BJY29uT3B0aW9ucyh6b29tTGV2ZWwsIG1pbmlJY29uKS5pY29uQW5jaG9yO1xuICAgIH1cbiAgfVxuXG4gIGxheWVyLnNldEljb24oaWNvbik7XG59O1xuXG5jb25zdCBvbmVMYXllckljb25PcHRpb25zID0gKHpvb21MZXZlbCkgPT4ge1xuICByZXR1cm4ge1xuICAgIGljb25TaXplOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMy4zLCB6b29tTGV2ZWwgKiAzLjNdLFxuICAgIGljb25BbmNob3I6IDxQb2ludFR1cGxlPlt6b29tTGV2ZWwgKiAxLjcsIHpvb21MZXZlbCAqIDMuN10sXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZXZlbnRzQ291bnRJY29uID0gKHpvb21MZXZlbCkgPT4ge1xuICByZXR1cm4ge1xuICAgIGljb25TaXplOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMi41LCB6b29tTGV2ZWwgKiAyLjVdLFxuICAgIGljb25BbmNob3I6IDxQb2ludFR1cGxlPlt6b29tTGV2ZWwgKiAwLCB6b29tTGV2ZWwgKiA0XSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBidWJibGVJY29uT3B0aW9ucyA9ICh6b29tTGV2ZWwsIG1pbmlJY29uKSA9PiB7XG4gIGlmIChtaW5pSWNvbi5wcmVzZW50KSB7XG4gICAgaWYgKG1pbmlJY29uLnNlY29uZGFyeSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IDxQb2ludFR1cGxlPlt6b29tTGV2ZWwgKiAxLjk4LCB6b29tTGV2ZWwgKiAyLjNdLFxuICAgICAgICBpY29uQW5jaG9yOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMCwgem9vbUxldmVsICogNF0sXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogPFBvaW50VHVwbGU+W3pvb21MZXZlbCAqIDEuOTgsIHpvb21MZXZlbCAqIDIuM10sXG4gICAgICAgIGljb25BbmNob3I6IDxQb2ludFR1cGxlPlt6b29tTGV2ZWwgKiAwLCB6b29tTGV2ZWwgKiAyXSxcbiAgICAgIH07XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uU2l6ZTogPFBvaW50VHVwbGU+W3pvb21MZXZlbCAqIDMuOTgsIHpvb21MZXZlbCAqIDQuM10sXG4gICAgICBpY29uQW5jaG9yOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMiwgem9vbUxldmVsICogNF0sXG4gICAgfTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IG1pZGRsZUljb25PcHRpb25zID0gKHpvb21MZXZlbCwgbWluaUljb24pID0+IHtcbiAgaWYgKG1pbmlJY29uLnByZXNlbnQpIHtcbiAgICBpZiAobWluaUljb24uc2Vjb25kYXJ5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDEuMSwgem9vbUxldmVsICogMS4xXSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIC0wLjQ1LCB6b29tTGV2ZWwgKiAzLjVdLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAxLjEsIHpvb21MZXZlbCAqIDEuMV0sXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAtMC40NSwgem9vbUxldmVsICogMS41XSxcbiAgICAgIH07XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDIuNSwgem9vbUxldmVsICogMi41XSxcbiAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAxLjI5NSwgem9vbUxldmVsICogMy4zNV0sXG4gICAgfTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHRvcEljb25PcHRpb25zID0gKHpvb21MZXZlbCwgbWluaUljb24pID0+IHtcbiAgaWYgKG1pbmlJY29uLnByZXNlbnQpIHtcbiAgICBpZiAobWluaUljb24uc2Vjb25kYXJ5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDAuOSwgem9vbUxldmVsICogMS44XSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIC0wLjUsIHpvb21MZXZlbCAqIDMuOF0sXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDEuNiwgem9vbUxldmVsICogMi41XSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIC0wLjIsIHpvb21MZXZlbCAqIDIuMV0sXG4gICAgICB9O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAzLjksIHpvb21MZXZlbCAqIDMuOF0sXG4gICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogMiwgem9vbUxldmVsICogMy44XSxcbiAgICB9O1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgaWNvblpvb21Db250cm9sID0gKG1hcCkgPT4ge1xuICBsZXQgbGF5ZXJzID0gbWFwLl9sYXllcnM7XG4gIGxldCB6b29tTGV2ZWwgPSBtYXAuX3pvb207XG5cbiAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBsYXllcnMpIHtcbiAgICBpZiAoZmluZFNwZWNpZmljTGF5ZXJzRnJvbU1hcChbJ0ljb25OdW1iZXInXSwgbGF5ZXJzW3Byb3BlcnR5XSkpIHtcbiAgICAgIGV2ZW50c0NvdW50ZXJJY29ucyhsYXllcnNbcHJvcGVydHldLCB6b29tTGV2ZWwpO1xuICAgIH1cblxuICAgIGlmIChmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwKFsnUG9pbnQnLCAnSWNvbiddLCBsYXllcnNbcHJvcGVydHldKSkge1xuICAgICAgbXVsdGlwbGVMYXllcmVkSWNvbnMobGF5ZXJzW3Byb3BlcnR5XSwgem9vbUxldmVsKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwKFsnU2FtcGxpbmcnLCAnT2JzZXJ2YXRpb24nXSwgbGF5ZXJzW3Byb3BlcnR5XSlcbiAgICApIHtcbiAgICAgIG11bHRpcGxlTGF5ZXJlZEljb25zKGxheWVyc1twcm9wZXJ0eV0sIHpvb21MZXZlbCk7XG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgY29uc3QgaW5pdGlhbGl6ZU1hcCA9IChcbiAgbWFwWm9vbUxldmVsLFxuICBtYXBCb3hTdHlsZSxcbiAgbWFwUmVmLFxuICBkaXNwYXRjaCxcbiAgaXNWYWxpZEFyZWEsXG4gIGFyZWFUb0NlbnRlckJ5LFxuICBzZXRNYXBab29tTGV2ZWwsXG4pID0+IHtcbiAgLy8gQHRzLWlnbm9yZVxuICBtYXBSZWYuY3VycmVudCA9IEwubWFwKCdtYXAnLCB7XG4gICAgY2VudGVyOiBbMCwgMF0sXG4gICAgem9vbVNuYXA6IDEsXG4gICAgem9vbTogbWFwWm9vbUxldmVsLFxuICAgIHByZWZlckNhbnZhczogdHJ1ZSxcbiAgICBsYXllcnM6IFtcbiAgICAgIEwudGlsZUxheWVyKFxuICAgICAgICBgaHR0cHM6Ly9hcGkubWFwYm94LmNvbS9zdHlsZXMvdjEvbmFkYXYta2FuZG8vJHttYXBCb3hTdHlsZX0vdGlsZXMvMjU2L3t6fS97eH0ve3l9QDJ4P2FjY2Vzc190b2tlbj1way5leUoxSWpvaWJtRmtZWFl0YTJGdVpHOGlMQ0poSWpvaVkycHZlSHByZEdSeE1IbG1kRE40YkRnMGR6SnhPWGM0ZFNKOS5KLTJvaHE3ajR5S05ibTROXy1QNnF3YCxcbiAgICAgICAge1xuICAgICAgICAgIGF0dHJpYnV0aW9uOlxuICAgICAgICAgICAgJ01hcCBkYXRhICZjb3B5OyA8YSBocmVmPVwiaHR0cHM6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvXCI+T3BlblN0cmVldE1hcDwvYT4gY29udHJpYnV0b3JzLCA8YSBocmVmPVwiaHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LXNhLzIuMC9cIj5DQy1CWS1TQTwvYT4sIEltYWdlcnkgwqkgPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm1hcGJveC5jb20vXCI+TWFwYm94PC9hPicsXG4gICAgICAgICAgbWF4Wm9vbTogMTgsXG4gICAgICAgICAgaWQ6ICdtYXBib3gvc3RyZWV0cy12MTEnLFxuICAgICAgICAgIHRpbGVTaXplOiA1MTIsXG4gICAgICAgICAgem9vbU9mZnNldDogLTEsXG4gICAgICAgICAgdXBkYXRlV2hlblpvb21pbmc6IGZhbHNlLFxuICAgICAgICAgIHVwZGF0ZVdoZW5JZGxlOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgICksXG4gICAgXSxcbiAgfSk7XG5cbiAgbWFwUmVmLmN1cnJlbnQud2hlblJlYWR5KCgpID0+IHtcbiAgICBsZXQgbWFwID0gbWFwUmVmLmN1cnJlbnQ7XG4gICAgbWFwLm9uKCd6b29tZW5kJywgZnVuY3Rpb24gKCkge1xuICAgICAgaWNvblpvb21Db250cm9sKG1hcCk7XG4gICAgfSk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAoIW1hcFJlZi5jdXJyZW50KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdHJ5IHtcbiAgICAgICAgbWFwUmVmLmN1cnJlbnQuaW52YWxpZGF0ZVNpemUodHJ1ZSk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignZXJyJywgZXJyKTtcbiAgICAgIH1cblxuICAgICAgZGlzcGF0Y2goc3RvcmVNYXAobWFwUmVmLmN1cnJlbnQpKTtcbiAgICAgIGRpc3BhdGNoKHNpZGVOYXZFeHBhbmRlZCh0cnVlKSk7XG4gICAgfSwgMCk7XG4gICAgaWYgKG1hcFJlZi5jdXJyZW50ICYmIGlzVmFsaWRBcmVhKGFyZWFUb0NlbnRlckJ5KSkge1xuICAgICAgbWFwUmVmLmN1cnJlbnQuZml0Qm91bmRzKGFyZWFUb0NlbnRlckJ5KTtcbiAgICB9XG4gIH0pO1xuXG4gIG1hcFJlZi5jdXJyZW50Lm9uKCd6b29tZW5kJywgZnVuY3Rpb24gKGUpIHtcbiAgICBpZiAoIW1hcFJlZi5jdXJyZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCB6b29tID0gbWFwUmVmLmN1cnJlbnQuZ2V0Wm9vbSgpO1xuICAgIHNldE1hcFpvb21MZXZlbCh6b29tKTtcbiAgfSk7XG59O1xuIl19
290
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9NYXBVdGlscy50cyJdLCJuYW1lcyI6WyJhcmVhRm9jdXNMb2dpYyIsIm1hcFJlZiIsImlzVmFsaWRBcmVhIiwiYXJlYVRvQ2VudGVyQnkiLCJtYXBJbnN0YW5jZSIsImN1cnJlbnQiLCJmaXRCb3VuZHMiLCJwYWRkaW5nIiwiZ3JvdXAiLCJwcm9wZXJ0eSIsIl9sYXllcnMiLCJrYW5kb19vYmplY3QiLCJwdXNoIiwiT2JqZWN0Iiwia2V5cyIsIkwiLCJmZWF0dXJlR3JvdXAiLCJnZXRCb3VuZHMiLCJsZW5ndGgiLCJpbnZhbGlkYXRlU2l6ZSIsImFyZWEiLCJzaG91bGRMb2FkTWFwT2JqZWN0cyIsImdsb2JhbF9kYXRhIiwicG9pbnRzIiwiZWRnZXMiLCJtYXAiLCJ1bmRlZmluZWQiLCJzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzIiwiYXJlYXMiLCJnbG9iYWwiLCJmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwIiwibGF5ZXJzVG9GaW5kIiwiY3VycmVudExheWVyIiwiaW5jbHVkZXMiLCJrYW5kb19wb2ludF90eXBlIiwiZXZlbnRzQ291bnRlckljb25zIiwibGF5ZXIiLCJ6b29tTGV2ZWwiLCJpY29uIiwib3B0aW9ucyIsImljb25TaXplIiwiZXZlbnRzQ291bnRJY29uIiwiaWNvbkFuY2hvciIsInNldEljb24iLCJzZXRPcGFjaXR5IiwibXVsdGlwbGVMYXllcmVkSWNvbnMiLCJpc0FGZXdMYXllckljb24iLCJrYW5kb19mZXdfbGF5ZXJfaWNvbiIsIm1pbmlJY29uIiwicHJlc2VudCIsImthbmRvX3NlY29uZGFyeSIsImthbmRvX3RoaXJkIiwic2Vjb25kYXJ5IiwidGhpcmQiLCJrYW5kb19pbmRleF9vYmplY3QiLCJidWJibGVJY29uT3B0aW9ucyIsIm9uZUxheWVySWNvbk9wdGlvbnMiLCJtaWRkbGVJY29uT3B0aW9ucyIsInRvcEljb25PcHRpb25zIiwiaWNvblpvb21Db250cm9sIiwibGF5ZXJzIiwiX3pvb20iLCJtYXBTdHlsZSIsIm1hcEJveFN0eWxlIiwidGlsZUxheWVyIiwiYXR0cmlidXRpb24iLCJtYXhab29tIiwiaWQiLCJ0aWxlU2l6ZSIsInpvb21PZmZzZXQiLCJ1cGRhdGVXaGVuWm9vbWluZyIsInVwZGF0ZVdoZW5JZGxlIiwiYmFzZU1hcHMiLCJtYXBCb3hTYXRlbGxpdGVTdHlsZSIsImRlZmF1bHRNYXAiLCJpMThuIiwidCIsInNhdGVsbGl0ZSIsImluaXRpYWxpemVNYXAiLCJtYXBab29tTGV2ZWwiLCJkaXNwYXRjaCIsInNldE1hcFpvb21MZXZlbCIsImNlbnRlciIsInpvb21TbmFwIiwiem9vbSIsInByZWZlckNhbnZhcyIsIndoZW5SZWFkeSIsImNvbnRyb2wiLCJwb3NpdGlvbiIsImFkZFRvIiwib24iLCJzZXRUaW1lb3V0IiwiZXJyIiwiY29uc29sZSIsImVycm9yIiwiZSIsImdldFpvb20iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBRU8sSUFBTUEsY0FBYyxHQUFHLFNBQWpCQSxjQUFpQixDQUFDQyxNQUFELEVBQVNDLFdBQVQsRUFBc0JDLGNBQXRCLEVBQXlDO0FBQ3JFLE1BQUlDLFdBQWdCLEdBQUdILE1BQU0sQ0FBQ0ksT0FBOUI7O0FBQ0EsTUFBSUgsV0FBVyxDQUFDQyxjQUFELENBQWYsRUFBaUM7QUFDL0JDLElBQUFBLFdBQVcsQ0FBQ0UsU0FBWixDQUFzQkgsY0FBdEIsRUFBc0M7QUFBRUksTUFBQUEsT0FBTyxFQUFFLENBQUMsQ0FBRCxFQUFJLENBQUo7QUFBWCxLQUF0QztBQUNELEdBRkQsTUFFTztBQUNMLFFBQU1DLEtBQVksR0FBRyxFQUFyQjs7QUFFQSxTQUFLLElBQU1DLFFBQVgsSUFBdUJMLFdBQVcsQ0FBQ00sT0FBbkMsRUFBNEM7QUFDMUMsVUFBSU4sV0FBVyxDQUFDTSxPQUFaLENBQW9CRCxRQUFwQixFQUE4QkUsWUFBOUIsS0FBK0MsTUFBbkQsRUFBMkQ7QUFDekRILFFBQUFBLEtBQUssQ0FBQ0ksSUFBTixDQUFXUixXQUFXLENBQUNNLE9BQVosQ0FBb0JELFFBQXBCLENBQVg7QUFDRDtBQUNGOztBQUVELFFBQUlJLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZQyxpQkFBRUMsWUFBRixDQUFlUixLQUFmLEVBQXNCUyxTQUF0QixFQUFaLEVBQStDQyxNQUEvQyxLQUEwRCxDQUE5RCxFQUFpRTtBQUMvRGQsTUFBQUEsV0FBVyxDQUFDRSxTQUFaLENBQXNCUyxpQkFBRUMsWUFBRixDQUFlUixLQUFmLEVBQXNCUyxTQUF0QixFQUF0QixFQUF5RDtBQUN2RFYsUUFBQUEsT0FBTyxFQUFFLENBQUMsR0FBRCxFQUFNLEdBQU47QUFEOEMsT0FBekQ7QUFHRDtBQUNGOztBQUNESCxFQUFBQSxXQUFXLENBQUNlLGNBQVosQ0FBMkIsSUFBM0I7QUFDRCxDQXBCTTs7OztBQXNCQSxJQUFNakIsV0FBVyxHQUFHLFNBQWRBLFdBQWMsQ0FBQ2tCLElBQUQsRUFBVTtBQUNuQyxTQUFPQSxJQUFJLElBQUlBLElBQUksQ0FBQ0YsTUFBTCxHQUFjLENBQXRCLElBQTJCTCxNQUFNLENBQUNDLElBQVAsQ0FBWU0sSUFBSSxDQUFDLENBQUQsQ0FBaEIsRUFBcUJGLE1BQXJCLEdBQThCLENBQWhFO0FBQ0QsQ0FGTTs7OztBQUlBLElBQU1HLG9CQUFvQixHQUFHLFNBQXZCQSxvQkFBdUIsQ0FBQ0MsV0FBRCxFQUFjckIsTUFBZCxFQUFzQnNCLE1BQXRCLEVBQThCQyxLQUE5QixFQUF3QztBQUMxRSxTQUNFRixXQUFXLENBQUNHLEdBQVosS0FBb0JDLFNBQXBCLElBQ0F6QixNQUFNLENBQUNJLE9BQVAsS0FBbUIsSUFEbkIsSUFFQW1CLEtBQUssS0FBS0UsU0FGVixJQUdBSCxNQUFNLEtBQUtHLFNBSmI7QUFNRCxDQVBNOzs7O0FBU0EsSUFBTUMsNEJBQTRCLEdBQUcsU0FBL0JBLDRCQUErQixDQUFDSCxLQUFELEVBQVFJLEtBQVIsRUFBZUMsTUFBZixFQUF1QjVCLE1BQXZCLEVBQWtDO0FBQzVFLFNBQ0U0QixNQUFNLENBQUNKLEdBQVAsS0FBZUMsU0FBZixJQUNBekIsTUFBTSxDQUFDSSxPQUFQLEtBQW1CLElBRG5CLElBRUFtQixLQUFLLENBQUNOLE1BQU4sS0FBaUIsQ0FGakIsSUFHQVUsS0FBSyxDQUFDVixNQUFOLEtBQWlCLENBSm5CO0FBTUQsQ0FQTTs7OztBQVNBLElBQU1ZLHlCQUF5QixHQUFHLFNBQTVCQSx5QkFBNEIsQ0FDdkNDLFlBRHVDLEVBRXZDQyxZQUZ1QyxFQUdwQztBQUNILFNBQ0VELFlBQVksQ0FBQ0UsUUFBYixDQUFzQkQsWUFBWSxDQUFDckIsWUFBbkMsS0FDQXFCLFlBQVksQ0FBQ0UsZ0JBQWIsS0FBa0MsU0FGcEM7QUFJRCxDQVJNOzs7O0FBVUEsSUFBTUMsa0JBQWtCLEdBQUcsU0FBckJBLGtCQUFxQixDQUFDQyxLQUFELEVBQVFDLFNBQVIsRUFBc0I7QUFDdEQsTUFBSUMsSUFBSSxHQUFHRixLQUFLLENBQUNHLE9BQU4sQ0FBY0QsSUFBekI7QUFDQUEsRUFBQUEsSUFBSSxDQUFDQyxPQUFMLENBQWFDLFFBQWIsR0FBd0JDLGVBQWUsQ0FBQ0osU0FBRCxDQUFmLENBQTJCRyxRQUFuRDtBQUNBRixFQUFBQSxJQUFJLENBQUNDLE9BQUwsQ0FBYUcsVUFBYixHQUEwQkQsZUFBZSxDQUFDSixTQUFELENBQWYsQ0FBMkJLLFVBQXJEO0FBQ0FOLEVBQUFBLEtBQUssQ0FBQ08sT0FBTixDQUFjTCxJQUFkO0FBQ0FGLEVBQUFBLEtBQUssQ0FBQ1EsVUFBTixDQUFpQixDQUFqQjtBQUNELENBTk07Ozs7QUFRQSxJQUFNQyxvQkFBb0IsR0FBRyxTQUF2QkEsb0JBQXVCLENBQUNULEtBQUQsRUFBUUMsU0FBUixFQUFzQjtBQUN4RCxNQUFJQyxJQUFJLEdBQUdGLEtBQUssQ0FBQ0csT0FBTixDQUFjRCxJQUF6QjtBQUNBLE1BQUlRLGVBQWUsR0FBR1YsS0FBSyxDQUFDVyxvQkFBNUI7QUFDQSxNQUFJQyxRQUFRLEdBQUc7QUFDYkMsSUFBQUEsT0FBTyxFQUFFYixLQUFLLENBQUNjLGVBQU4sSUFBeUJkLEtBQUssQ0FBQ2UsV0FEM0I7QUFFYkMsSUFBQUEsU0FBUyxFQUFFaEIsS0FBSyxDQUFDYyxlQUZKO0FBR2JHLElBQUFBLEtBQUssRUFBRWpCLEtBQUssQ0FBQ2U7QUFIQSxHQUFmOztBQU1BLE1BQUlmLEtBQUssQ0FBQ2tCLGtCQUFOLEtBQTZCLENBQWpDLEVBQW9DO0FBQ2xDLFFBQUlSLGVBQUosRUFBcUI7QUFDbkJSLE1BQUFBLElBQUksQ0FBQ0MsT0FBTCxDQUFhQyxRQUFiLEdBQXdCZSxpQkFBaUIsQ0FBQ2xCLFNBQUQsRUFBWVcsUUFBWixDQUFqQixDQUF1Q1IsUUFBL0Q7QUFDQUYsTUFBQUEsSUFBSSxDQUFDQyxPQUFMLENBQWFHLFVBQWIsR0FBMEJhLGlCQUFpQixDQUN6Q2xCLFNBRHlDLEVBRXpDVyxRQUZ5QyxDQUFqQixDQUd4Qk4sVUFIRjtBQUlELEtBTkQsTUFNTztBQUNMSixNQUFBQSxJQUFJLENBQUNDLE9BQUwsQ0FBYUMsUUFBYixHQUF3QmdCLG1CQUFtQixDQUFDbkIsU0FBRCxDQUFuQixDQUErQkcsUUFBdkQ7QUFDQUYsTUFBQUEsSUFBSSxDQUFDQyxPQUFMLENBQWFHLFVBQWIsR0FBMEJjLG1CQUFtQixDQUFDbkIsU0FBRCxDQUFuQixDQUErQkssVUFBekQ7QUFDRDtBQUNGLEdBWEQsTUFXTztBQUNMLFFBQUlOLEtBQUssQ0FBQ2tCLGtCQUFOLEtBQTZCLENBQWpDLEVBQW9DO0FBQ2xDaEIsTUFBQUEsSUFBSSxDQUFDQyxPQUFMLENBQWFDLFFBQWIsR0FBd0JpQixpQkFBaUIsQ0FBQ3BCLFNBQUQsRUFBWVcsUUFBWixDQUFqQixDQUF1Q1IsUUFBL0Q7QUFDQUYsTUFBQUEsSUFBSSxDQUFDQyxPQUFMLENBQWFHLFVBQWIsR0FBMEJlLGlCQUFpQixDQUN6Q3BCLFNBRHlDLEVBRXpDVyxRQUZ5QyxDQUFqQixDQUd4Qk4sVUFIRjtBQUlELEtBTkQsTUFNTztBQUNMSixNQUFBQSxJQUFJLENBQUNDLE9BQUwsQ0FBYUMsUUFBYixHQUF3QmtCLGNBQWMsQ0FBQ3JCLFNBQUQsRUFBWVcsUUFBWixDQUFkLENBQW9DUixRQUE1RDtBQUNBRixNQUFBQSxJQUFJLENBQUNDLE9BQUwsQ0FBYUcsVUFBYixHQUEwQmdCLGNBQWMsQ0FBQ3JCLFNBQUQsRUFBWVcsUUFBWixDQUFkLENBQW9DTixVQUE5RDtBQUNEO0FBQ0Y7O0FBRUROLEVBQUFBLEtBQUssQ0FBQ08sT0FBTixDQUFjTCxJQUFkO0FBQ0QsQ0FsQ007Ozs7QUFvQ1AsSUFBTWtCLG1CQUFtQixHQUFHLFNBQXRCQSxtQkFBc0IsQ0FBQ25CLFNBQUQsRUFBZTtBQUN6QyxTQUFPO0FBQ0xHLElBQUFBLFFBQVEsRUFBYyxDQUFDSCxTQUFTLEdBQUcsR0FBYixFQUFrQkEsU0FBUyxHQUFHLEdBQTlCLENBRGpCO0FBRUxLLElBQUFBLFVBQVUsRUFBYyxDQUFDTCxTQUFTLEdBQUcsR0FBYixFQUFrQkEsU0FBUyxHQUFHLEdBQTlCO0FBRm5CLEdBQVA7QUFJRCxDQUxEOztBQU9PLElBQU1JLGVBQWUsR0FBRyxTQUFsQkEsZUFBa0IsQ0FBQ0osU0FBRCxFQUFlO0FBQzVDLFNBQU87QUFDTEcsSUFBQUEsUUFBUSxFQUFjLENBQUNILFNBQVMsR0FBRyxHQUFiLEVBQWtCQSxTQUFTLEdBQUcsR0FBOUIsQ0FEakI7QUFFTEssSUFBQUEsVUFBVSxFQUFjLENBQUNMLFNBQVMsR0FBRyxDQUFiLEVBQWdCQSxTQUFTLEdBQUcsQ0FBNUI7QUFGbkIsR0FBUDtBQUlELENBTE07Ozs7QUFPQSxJQUFNa0IsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFvQixDQUFDbEIsU0FBRCxFQUFZVyxRQUFaLEVBQXlCO0FBQ3hELE1BQUlBLFFBQVEsQ0FBQ0MsT0FBYixFQUFzQjtBQUNwQixRQUFJRCxRQUFRLENBQUNJLFNBQWIsRUFBd0I7QUFDdEIsYUFBTztBQUNMWixRQUFBQSxRQUFRLEVBQWMsQ0FBQ0gsU0FBUyxHQUFHLElBQWIsRUFBbUJBLFNBQVMsR0FBRyxHQUEvQixDQURqQjtBQUVMSyxRQUFBQSxVQUFVLEVBQWMsQ0FBQ0wsU0FBUyxHQUFHLENBQWIsRUFBZ0JBLFNBQVMsR0FBRyxDQUE1QjtBQUZuQixPQUFQO0FBSUQsS0FMRCxNQUtPO0FBQ0wsYUFBTztBQUNMRyxRQUFBQSxRQUFRLEVBQWMsQ0FBQ0gsU0FBUyxHQUFHLElBQWIsRUFBbUJBLFNBQVMsR0FBRyxHQUEvQixDQURqQjtBQUVMSyxRQUFBQSxVQUFVLEVBQWMsQ0FBQ0wsU0FBUyxHQUFHLENBQWIsRUFBZ0JBLFNBQVMsR0FBRyxDQUE1QjtBQUZuQixPQUFQO0FBSUQ7QUFDRixHQVpELE1BWU87QUFDTCxXQUFPO0FBQ0xHLE1BQUFBLFFBQVEsRUFBYyxDQUFDSCxTQUFTLEdBQUcsSUFBYixFQUFtQkEsU0FBUyxHQUFHLEdBQS9CLENBRGpCO0FBRUxLLE1BQUFBLFVBQVUsRUFBYyxDQUFDTCxTQUFTLEdBQUcsQ0FBYixFQUFnQkEsU0FBUyxHQUFHLENBQTVCO0FBRm5CLEtBQVA7QUFJRDtBQUNGLENBbkJNOzs7O0FBcUJBLElBQU1vQixpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQW9CLENBQUNwQixTQUFELEVBQVlXLFFBQVosRUFBeUI7QUFDeEQsTUFBSUEsUUFBUSxDQUFDQyxPQUFiLEVBQXNCO0FBQ3BCLFFBQUlELFFBQVEsQ0FBQ0ksU0FBYixFQUF3QjtBQUN0QixhQUFPO0FBQ0xaLFFBQUFBLFFBQVEsRUFBRSxDQUFDSCxTQUFTLEdBQUcsR0FBYixFQUFrQkEsU0FBUyxHQUFHLEdBQTlCLENBREw7QUFFTEssUUFBQUEsVUFBVSxFQUFFLENBQUNMLFNBQVMsR0FBRyxDQUFDLElBQWQsRUFBb0JBLFNBQVMsR0FBRyxHQUFoQztBQUZQLE9BQVA7QUFJRCxLQUxELE1BS087QUFDTCxhQUFPO0FBQ0xHLFFBQUFBLFFBQVEsRUFBRSxDQUFDSCxTQUFTLEdBQUcsR0FBYixFQUFrQkEsU0FBUyxHQUFHLEdBQTlCLENBREw7QUFFTEssUUFBQUEsVUFBVSxFQUFFLENBQUNMLFNBQVMsR0FBRyxDQUFDLElBQWQsRUFBb0JBLFNBQVMsR0FBRyxHQUFoQztBQUZQLE9BQVA7QUFJRDtBQUNGLEdBWkQsTUFZTztBQUNMLFdBQU87QUFDTEcsTUFBQUEsUUFBUSxFQUFFLENBQUNILFNBQVMsR0FBRyxHQUFiLEVBQWtCQSxTQUFTLEdBQUcsR0FBOUIsQ0FETDtBQUVMSyxNQUFBQSxVQUFVLEVBQUUsQ0FBQ0wsU0FBUyxHQUFHLEtBQWIsRUFBb0JBLFNBQVMsR0FBRyxJQUFoQztBQUZQLEtBQVA7QUFJRDtBQUNGLENBbkJNOzs7O0FBcUJBLElBQU1xQixjQUFjLEdBQUcsU0FBakJBLGNBQWlCLENBQUNyQixTQUFELEVBQVlXLFFBQVosRUFBeUI7QUFDckQsTUFBSUEsUUFBUSxDQUFDQyxPQUFiLEVBQXNCO0FBQ3BCLFFBQUlELFFBQVEsQ0FBQ0ksU0FBYixFQUF3QjtBQUN0QixhQUFPO0FBQ0xaLFFBQUFBLFFBQVEsRUFBRSxDQUFDSCxTQUFTLEdBQUcsR0FBYixFQUFrQkEsU0FBUyxHQUFHLEdBQTlCLENBREw7QUFFTEssUUFBQUEsVUFBVSxFQUFFLENBQUNMLFNBQVMsR0FBRyxDQUFDLEdBQWQsRUFBbUJBLFNBQVMsR0FBRyxHQUEvQjtBQUZQLE9BQVA7QUFJRCxLQUxELE1BS087QUFDTCxhQUFPO0FBQ0xHLFFBQUFBLFFBQVEsRUFBRSxDQUFDSCxTQUFTLEdBQUcsR0FBYixFQUFrQkEsU0FBUyxHQUFHLEdBQTlCLENBREw7QUFFTEssUUFBQUEsVUFBVSxFQUFFLENBQUNMLFNBQVMsR0FBRyxDQUFDLEdBQWQsRUFBbUJBLFNBQVMsR0FBRyxHQUEvQjtBQUZQLE9BQVA7QUFJRDtBQUNGLEdBWkQsTUFZTztBQUNMLFdBQU87QUFDTEcsTUFBQUEsUUFBUSxFQUFFLENBQUNILFNBQVMsR0FBRyxHQUFiLEVBQWtCQSxTQUFTLEdBQUcsR0FBOUIsQ0FETDtBQUVMSyxNQUFBQSxVQUFVLEVBQUUsQ0FBQ0wsU0FBUyxHQUFHLENBQWIsRUFBZ0JBLFNBQVMsR0FBRyxHQUE1QjtBQUZQLEtBQVA7QUFJRDtBQUNGLENBbkJNOzs7O0FBcUJBLElBQU1zQixlQUFlLEdBQUcsU0FBbEJBLGVBQWtCLENBQUNsQyxHQUFELEVBQVM7QUFDdEMsTUFBSW1DLE1BQU0sR0FBR25DLEdBQUcsQ0FBQ2YsT0FBakI7QUFDQSxNQUFJMkIsU0FBUyxHQUFHWixHQUFHLENBQUNvQyxLQUFwQjs7QUFFQSxPQUFLLElBQU1wRCxRQUFYLElBQXVCbUQsTUFBdkIsRUFBK0I7QUFDN0IsUUFBSTlCLHlCQUF5QixDQUFDLENBQUMsWUFBRCxDQUFELEVBQWlCOEIsTUFBTSxDQUFDbkQsUUFBRCxDQUF2QixDQUE3QixFQUFpRTtBQUMvRDBCLE1BQUFBLGtCQUFrQixDQUFDeUIsTUFBTSxDQUFDbkQsUUFBRCxDQUFQLEVBQW1CNEIsU0FBbkIsQ0FBbEI7QUFDRDs7QUFFRCxRQUFJUCx5QkFBeUIsQ0FBQyxDQUFDLE9BQUQsRUFBVSxNQUFWLENBQUQsRUFBb0I4QixNQUFNLENBQUNuRCxRQUFELENBQTFCLENBQTdCLEVBQW9FO0FBQ2xFb0MsTUFBQUEsb0JBQW9CLENBQUNlLE1BQU0sQ0FBQ25ELFFBQUQsQ0FBUCxFQUFtQjRCLFNBQW5CLENBQXBCO0FBQ0Q7O0FBRUQsUUFDRVAseUJBQXlCLENBQUMsQ0FBQyxVQUFELEVBQWEsYUFBYixDQUFELEVBQThCOEIsTUFBTSxDQUFDbkQsUUFBRCxDQUFwQyxDQUQzQixFQUVFO0FBQ0FvQyxNQUFBQSxvQkFBb0IsQ0FBQ2UsTUFBTSxDQUFDbkQsUUFBRCxDQUFQLEVBQW1CNEIsU0FBbkIsQ0FBcEI7QUFDRDtBQUNGO0FBQ0YsQ0FuQk07Ozs7QUFxQlAsSUFBTXlCLFFBQVEsR0FBRyxTQUFYQSxRQUFXLENBQUNDLFdBQUQsRUFBaUI7QUFDaEMsU0FBT2hELGlCQUFFaUQsU0FBRix3REFDMkNELFdBRDNDLDRJQUVMO0FBQ0VFLElBQUFBLFdBQVcsRUFDVCx5TkFGSjtBQUdFQyxJQUFBQSxPQUFPLEVBQUUsRUFIWDtBQUlFQyxJQUFBQSxFQUFFLEVBQUUsb0JBSk47QUFLRUMsSUFBQUEsUUFBUSxFQUFFLEdBTFo7QUFNRUMsSUFBQUEsVUFBVSxFQUFFLENBQUMsQ0FOZjtBQU9FQyxJQUFBQSxpQkFBaUIsRUFBRSxLQVByQjtBQVFFQyxJQUFBQSxjQUFjLEVBQUU7QUFSbEIsR0FGSyxDQUFQO0FBYUQsQ0FkRDs7QUFlQSxJQUFNQyxRQUFRLEdBQUcsU0FBWEEsUUFBVyxDQUFDVCxXQUFELEVBQWNVLG9CQUFkLEVBQXVDO0FBQUE7O0FBQ3RELE1BQUlDLFVBQVUsR0FBR0MsY0FBS0MsQ0FBTCxDQUFPLG9CQUFQLENBQWpCOztBQUNBLE1BQUlDLFNBQVMsR0FBR0YsY0FBS0MsQ0FBTCxDQUFPLHNCQUFQLENBQWhCOztBQUNBLHdEQUNHRixVQURILEVBQ2dCWixRQUFRLENBQUNDLFdBQUQsQ0FEeEIsdUNBRUdjLFNBRkgsRUFFZWYsUUFBUSxDQUFDVyxvQkFBRCxDQUZ2QjtBQUlELENBUEQ7O0FBU08sSUFBTUssYUFBYSxHQUFHLFNBQWhCQSxhQUFnQixDQUMzQkMsWUFEMkIsRUFFM0JoQixXQUYyQixFQUczQlUsb0JBSDJCLEVBSTNCeEUsTUFKMkIsRUFLM0IrRSxRQUwyQixFQU0zQjlFLFdBTjJCLEVBTzNCQyxjQVAyQixFQVEzQjhFLGVBUjJCLEVBU3hCO0FBQ0g7QUFDQWhGLEVBQUFBLE1BQU0sQ0FBQ0ksT0FBUCxHQUFpQlUsaUJBQUVVLEdBQUYsQ0FBTSxLQUFOLEVBQWE7QUFDNUJ5RCxJQUFBQSxNQUFNLEVBQUUsQ0FBQyxDQUFELEVBQUksQ0FBSixDQURvQjtBQUU1QkMsSUFBQUEsUUFBUSxFQUFFLENBRmtCO0FBRzVCQyxJQUFBQSxJQUFJLEVBQUVMLFlBSHNCO0FBSTVCTSxJQUFBQSxZQUFZLEVBQUUsSUFKYztBQUs1QnpCLElBQUFBLE1BQU0sRUFBRSxDQUFDRSxRQUFRLENBQUNDLFdBQUQsQ0FBVCxFQUF3QkQsUUFBUSxDQUFDVyxvQkFBRCxDQUFoQztBQUxvQixHQUFiLENBQWpCO0FBUUF4RSxFQUFBQSxNQUFNLENBQUNJLE9BQVAsQ0FBZWlGLFNBQWYsQ0FBeUIsWUFBTTtBQUM3QixRQUFJN0QsR0FBRyxHQUFHeEIsTUFBTSxDQUFDSSxPQUFqQjs7QUFDQVUscUJBQUV3RSxPQUFGLENBQ0czQixNQURILENBRUlZLFFBQVEsQ0FBQ1QsV0FBRCxFQUFjVSxvQkFBZCxDQUZaLEVBR0ksRUFISixFQUlJO0FBQUVlLE1BQUFBLFFBQVEsRUFBRTtBQUFaLEtBSkosRUFNR0MsS0FOSCxDQU1TaEUsR0FOVDs7QUFPQXFDLElBQUFBLFFBQVEsQ0FBQ0MsV0FBRCxDQUFSLENBQXNCMEIsS0FBdEIsQ0FBNEJoRSxHQUE1QjtBQUNBQSxJQUFBQSxHQUFHLENBQUNpRSxFQUFKLENBQU8sU0FBUCxFQUFrQixZQUFZO0FBQzVCL0IsTUFBQUEsZUFBZSxDQUFDbEMsR0FBRCxDQUFmO0FBQ0QsS0FGRDtBQUdBa0UsSUFBQUEsVUFBVSxDQUFDLFlBQU07QUFDZixVQUFJLENBQUMxRixNQUFNLENBQUNJLE9BQVosRUFBcUI7QUFDbkI7QUFDRDs7QUFFRCxVQUFJO0FBQ0ZKLFFBQUFBLE1BQU0sQ0FBQ0ksT0FBUCxDQUFlYyxjQUFmLENBQThCLElBQTlCO0FBQ0QsT0FGRCxDQUVFLE9BQU95RSxHQUFQLEVBQVk7QUFDWkMsUUFBQUEsT0FBTyxDQUFDQyxLQUFSLENBQWMsS0FBZCxFQUFxQkYsR0FBckI7QUFDRDs7QUFFRFosTUFBQUEsUUFBUSxDQUFDLHVCQUFTL0UsTUFBTSxDQUFDSSxPQUFoQixDQUFELENBQVI7QUFDQTJFLE1BQUFBLFFBQVEsQ0FBQyw4QkFBZ0IsSUFBaEIsQ0FBRCxDQUFSO0FBQ0QsS0FiUyxFQWFQLENBYk8sQ0FBVjs7QUFjQSxRQUFJL0UsTUFBTSxDQUFDSSxPQUFQLElBQWtCSCxXQUFXLENBQUNDLGNBQUQsQ0FBakMsRUFBbUQ7QUFDakRGLE1BQUFBLE1BQU0sQ0FBQ0ksT0FBUCxDQUFlQyxTQUFmLENBQXlCSCxjQUF6QjtBQUNEO0FBQ0YsR0E5QkQ7QUFnQ0FGLEVBQUFBLE1BQU0sQ0FBQ0ksT0FBUCxDQUFlcUYsRUFBZixDQUFrQixTQUFsQixFQUE2QixVQUFVSyxDQUFWLEVBQWE7QUFDeEMsUUFBSSxDQUFDOUYsTUFBTSxDQUFDSSxPQUFaLEVBQXFCO0FBQ25CO0FBQ0Q7O0FBQ0QsUUFBSStFLElBQUksR0FBR25GLE1BQU0sQ0FBQ0ksT0FBUCxDQUFlMkYsT0FBZixFQUFYO0FBQ0FmLElBQUFBLGVBQWUsQ0FBQ0csSUFBRCxDQUFmO0FBQ0QsR0FORDtBQU9ELENBMURNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEwsIHsgUG9pbnRUdXBsZSB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IHsgc2lkZU5hdkV4cGFuZGVkLCBzdG9yZU1hcCB9IGZyb20gJy4uLy4uL3N0b3JlL2dsb2JhbC9hY3Rpb25zJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5cbmV4cG9ydCBjb25zdCBhcmVhRm9jdXNMb2dpYyA9IChtYXBSZWYsIGlzVmFsaWRBcmVhLCBhcmVhVG9DZW50ZXJCeSkgPT4ge1xuICBsZXQgbWFwSW5zdGFuY2U6IGFueSA9IG1hcFJlZi5jdXJyZW50O1xuICBpZiAoaXNWYWxpZEFyZWEoYXJlYVRvQ2VudGVyQnkpKSB7XG4gICAgbWFwSW5zdGFuY2UuZml0Qm91bmRzKGFyZWFUb0NlbnRlckJ5LCB7IHBhZGRpbmc6IFswLCAwXSB9KTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBncm91cDogYW55W10gPSBbXTtcblxuICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbWFwSW5zdGFuY2UuX2xheWVycykge1xuICAgICAgaWYgKG1hcEluc3RhbmNlLl9sYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ0FyZWEnKSB7XG4gICAgICAgIGdyb3VwLnB1c2gobWFwSW5zdGFuY2UuX2xheWVyc1twcm9wZXJ0eV0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChPYmplY3Qua2V5cyhMLmZlYXR1cmVHcm91cChncm91cCkuZ2V0Qm91bmRzKCkpLmxlbmd0aCAhPT0gMCkge1xuICAgICAgbWFwSW5zdGFuY2UuZml0Qm91bmRzKEwuZmVhdHVyZUdyb3VwKGdyb3VwKS5nZXRCb3VuZHMoKSwge1xuICAgICAgICBwYWRkaW5nOiBbMTAwLCAxMDBdLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIG1hcEluc3RhbmNlLmludmFsaWRhdGVTaXplKHRydWUpO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzVmFsaWRBcmVhID0gKGFyZWEpID0+IHtcbiAgcmV0dXJuIGFyZWEgJiYgYXJlYS5sZW5ndGggPiAwICYmIE9iamVjdC5rZXlzKGFyZWFbMF0pLmxlbmd0aCA+IDA7XG59O1xuXG5leHBvcnQgY29uc3Qgc2hvdWxkTG9hZE1hcE9iamVjdHMgPSAoZ2xvYmFsX2RhdGEsIG1hcFJlZiwgcG9pbnRzLCBlZGdlcykgPT4ge1xuICByZXR1cm4gKFxuICAgIGdsb2JhbF9kYXRhLm1hcCAhPT0gdW5kZWZpbmVkICYmXG4gICAgbWFwUmVmLmN1cnJlbnQgIT09IG51bGwgJiZcbiAgICBlZGdlcyAhPT0gdW5kZWZpbmVkICYmXG4gICAgcG9pbnRzICE9PSB1bmRlZmluZWRcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzID0gKGVkZ2VzLCBhcmVhcywgZ2xvYmFsLCBtYXBSZWYpID0+IHtcbiAgcmV0dXJuIChcbiAgICBnbG9iYWwubWFwICE9PSB1bmRlZmluZWQgJiZcbiAgICBtYXBSZWYuY3VycmVudCAhPT0gbnVsbCAmJlxuICAgIGVkZ2VzLmxlbmd0aCAhPT0gMCAmJlxuICAgIGFyZWFzLmxlbmd0aCAhPT0gMFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbmRTcGVjaWZpY0xheWVyc0Zyb21NYXAgPSAoXG4gIGxheWVyc1RvRmluZDogc3RyaW5nW10sXG4gIGN1cnJlbnRMYXllcixcbikgPT4ge1xuICByZXR1cm4gKFxuICAgIGxheWVyc1RvRmluZC5pbmNsdWRlcyhjdXJyZW50TGF5ZXIua2FuZG9fb2JqZWN0KSAmJlxuICAgIGN1cnJlbnRMYXllci5rYW5kb19wb2ludF90eXBlICE9PSAnTWFuaG9sZSdcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBldmVudHNDb3VudGVySWNvbnMgPSAobGF5ZXIsIHpvb21MZXZlbCkgPT4ge1xuICBsZXQgaWNvbiA9IGxheWVyLm9wdGlvbnMuaWNvbjtcbiAgaWNvbi5vcHRpb25zLmljb25TaXplID0gZXZlbnRzQ291bnRJY29uKHpvb21MZXZlbCkuaWNvblNpemU7XG4gIGljb24ub3B0aW9ucy5pY29uQW5jaG9yID0gZXZlbnRzQ291bnRJY29uKHpvb21MZXZlbCkuaWNvbkFuY2hvcjtcbiAgbGF5ZXIuc2V0SWNvbihpY29uKTtcbiAgbGF5ZXIuc2V0T3BhY2l0eSgxKTtcbn07XG5cbmV4cG9ydCBjb25zdCBtdWx0aXBsZUxheWVyZWRJY29ucyA9IChsYXllciwgem9vbUxldmVsKSA9PiB7XG4gIGxldCBpY29uID0gbGF5ZXIub3B0aW9ucy5pY29uO1xuICBsZXQgaXNBRmV3TGF5ZXJJY29uID0gbGF5ZXIua2FuZG9fZmV3X2xheWVyX2ljb247XG4gIGxldCBtaW5pSWNvbiA9IHtcbiAgICBwcmVzZW50OiBsYXllci5rYW5kb19zZWNvbmRhcnkgfHwgbGF5ZXIua2FuZG9fdGhpcmQsXG4gICAgc2Vjb25kYXJ5OiBsYXllci5rYW5kb19zZWNvbmRhcnksXG4gICAgdGhpcmQ6IGxheWVyLmthbmRvX3RoaXJkLFxuICB9O1xuXG4gIGlmIChsYXllci5rYW5kb19pbmRleF9vYmplY3QgPT09IDApIHtcbiAgICBpZiAoaXNBRmV3TGF5ZXJJY29uKSB7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSBidWJibGVJY29uT3B0aW9ucyh6b29tTGV2ZWwsIG1pbmlJY29uKS5pY29uU2l6ZTtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uQW5jaG9yID0gYnViYmxlSWNvbk9wdGlvbnMoXG4gICAgICAgIHpvb21MZXZlbCxcbiAgICAgICAgbWluaUljb24sXG4gICAgICApLmljb25BbmNob3I7XG4gICAgfSBlbHNlIHtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IG9uZUxheWVySWNvbk9wdGlvbnMoem9vbUxldmVsKS5pY29uU2l6ZTtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uQW5jaG9yID0gb25lTGF5ZXJJY29uT3B0aW9ucyh6b29tTGV2ZWwpLmljb25BbmNob3I7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGlmIChsYXllci5rYW5kb19pbmRleF9vYmplY3QgPT09IDEpIHtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IG1pZGRsZUljb25PcHRpb25zKHpvb21MZXZlbCwgbWluaUljb24pLmljb25TaXplO1xuICAgICAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSBtaWRkbGVJY29uT3B0aW9ucyhcbiAgICAgICAgem9vbUxldmVsLFxuICAgICAgICBtaW5pSWNvbixcbiAgICAgICkuaWNvbkFuY2hvcjtcbiAgICB9IGVsc2Uge1xuICAgICAgaWNvbi5vcHRpb25zLmljb25TaXplID0gdG9wSWNvbk9wdGlvbnMoem9vbUxldmVsLCBtaW5pSWNvbikuaWNvblNpemU7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IHRvcEljb25PcHRpb25zKHpvb21MZXZlbCwgbWluaUljb24pLmljb25BbmNob3I7XG4gICAgfVxuICB9XG5cbiAgbGF5ZXIuc2V0SWNvbihpY29uKTtcbn07XG5cbmNvbnN0IG9uZUxheWVySWNvbk9wdGlvbnMgPSAoem9vbUxldmVsKSA9PiB7XG4gIHJldHVybiB7XG4gICAgaWNvblNpemU6IDxQb2ludFR1cGxlPlt6b29tTGV2ZWwgKiAzLjMsIHpvb21MZXZlbCAqIDMuM10sXG4gICAgaWNvbkFuY2hvcjogPFBvaW50VHVwbGU+W3pvb21MZXZlbCAqIDEuNywgem9vbUxldmVsICogMy43XSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBldmVudHNDb3VudEljb24gPSAoem9vbUxldmVsKSA9PiB7XG4gIHJldHVybiB7XG4gICAgaWNvblNpemU6IDxQb2ludFR1cGxlPlt6b29tTGV2ZWwgKiAyLjUsIHpvb21MZXZlbCAqIDIuNV0sXG4gICAgaWNvbkFuY2hvcjogPFBvaW50VHVwbGU+W3pvb21MZXZlbCAqIDAsIHpvb21MZXZlbCAqIDRdLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGJ1YmJsZUljb25PcHRpb25zID0gKHpvb21MZXZlbCwgbWluaUljb24pID0+IHtcbiAgaWYgKG1pbmlJY29uLnByZXNlbnQpIHtcbiAgICBpZiAobWluaUljb24uc2Vjb25kYXJ5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogPFBvaW50VHVwbGU+W3pvb21MZXZlbCAqIDEuOTgsIHpvb21MZXZlbCAqIDIuM10sXG4gICAgICAgIGljb25BbmNob3I6IDxQb2ludFR1cGxlPlt6b29tTGV2ZWwgKiAwLCB6b29tTGV2ZWwgKiA0XSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMS45OCwgem9vbUxldmVsICogMi4zXSxcbiAgICAgICAgaWNvbkFuY2hvcjogPFBvaW50VHVwbGU+W3pvb21MZXZlbCAqIDAsIHpvb21MZXZlbCAqIDJdLFxuICAgICAgfTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGljb25TaXplOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMy45OCwgem9vbUxldmVsICogNC4zXSxcbiAgICAgIGljb25BbmNob3I6IDxQb2ludFR1cGxlPlt6b29tTGV2ZWwgKiAyLCB6b29tTGV2ZWwgKiA0XSxcbiAgICB9O1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgbWlkZGxlSWNvbk9wdGlvbnMgPSAoem9vbUxldmVsLCBtaW5pSWNvbikgPT4ge1xuICBpZiAobWluaUljb24ucHJlc2VudCkge1xuICAgIGlmIChtaW5pSWNvbi5zZWNvbmRhcnkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMS4xLCB6b29tTGV2ZWwgKiAxLjFdLFxuICAgICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogLTAuNDUsIHpvb21MZXZlbCAqIDMuNV0sXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDEuMSwgem9vbUxldmVsICogMS4xXSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIC0wLjQ1LCB6b29tTGV2ZWwgKiAxLjVdLFxuICAgICAgfTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMi41LCB6b29tTGV2ZWwgKiAyLjVdLFxuICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDEuMjk1LCB6b29tTGV2ZWwgKiAzLjM1XSxcbiAgICB9O1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgdG9wSWNvbk9wdGlvbnMgPSAoem9vbUxldmVsLCBtaW5pSWNvbikgPT4ge1xuICBpZiAobWluaUljb24ucHJlc2VudCkge1xuICAgIGlmIChtaW5pSWNvbi5zZWNvbmRhcnkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMC45LCB6b29tTGV2ZWwgKiAxLjhdLFxuICAgICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogLTAuNSwgem9vbUxldmVsICogMy44XSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMS42LCB6b29tTGV2ZWwgKiAyLjVdLFxuICAgICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogLTAuMiwgem9vbUxldmVsICogMi4xXSxcbiAgICAgIH07XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDMuOSwgem9vbUxldmVsICogMy44XSxcbiAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAyLCB6b29tTGV2ZWwgKiAzLjhdLFxuICAgIH07XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBpY29uWm9vbUNvbnRyb2wgPSAobWFwKSA9PiB7XG4gIGxldCBsYXllcnMgPSBtYXAuX2xheWVycztcbiAgbGV0IHpvb21MZXZlbCA9IG1hcC5fem9vbTtcblxuICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIGxheWVycykge1xuICAgIGlmIChmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwKFsnSWNvbk51bWJlciddLCBsYXllcnNbcHJvcGVydHldKSkge1xuICAgICAgZXZlbnRzQ291bnRlckljb25zKGxheWVyc1twcm9wZXJ0eV0sIHpvb21MZXZlbCk7XG4gICAgfVxuXG4gICAgaWYgKGZpbmRTcGVjaWZpY0xheWVyc0Zyb21NYXAoWydQb2ludCcsICdJY29uJ10sIGxheWVyc1twcm9wZXJ0eV0pKSB7XG4gICAgICBtdWx0aXBsZUxheWVyZWRJY29ucyhsYXllcnNbcHJvcGVydHldLCB6b29tTGV2ZWwpO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIGZpbmRTcGVjaWZpY0xheWVyc0Zyb21NYXAoWydTYW1wbGluZycsICdPYnNlcnZhdGlvbiddLCBsYXllcnNbcHJvcGVydHldKVxuICAgICkge1xuICAgICAgbXVsdGlwbGVMYXllcmVkSWNvbnMobGF5ZXJzW3Byb3BlcnR5XSwgem9vbUxldmVsKTtcbiAgICB9XG4gIH1cbn07XG5cbmNvbnN0IG1hcFN0eWxlID0gKG1hcEJveFN0eWxlKSA9PiB7XG4gIHJldHVybiBMLnRpbGVMYXllcihcbiAgICBgaHR0cHM6Ly9hcGkubWFwYm94LmNvbS9zdHlsZXMvdjEvbmFkYXYta2FuZG8vJHttYXBCb3hTdHlsZX0vdGlsZXMvMjU2L3t6fS97eH0ve3l9QDJ4P2FjY2Vzc190b2tlbj1way5leUoxSWpvaWJtRmtZWFl0YTJGdVpHOGlMQ0poSWpvaVkycHZlSHByZEdSeE1IbG1kRE40YkRnMGR6SnhPWGM0ZFNKOS5KLTJvaHE3ajR5S05ibTROXy1QNnF3YCxcbiAgICB7XG4gICAgICBhdHRyaWJ1dGlvbjpcbiAgICAgICAgJ01hcCBkYXRhICZjb3B5OyA8YSBocmVmPVwiaHR0cHM6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvXCI+T3BlblN0cmVldE1hcDwvYT4gY29udHJpYnV0b3JzLCA8YSBocmVmPVwiaHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LXNhLzIuMC9cIj5DQy1CWS1TQTwvYT4sIEltYWdlcnkgwqkgPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm1hcGJveC5jb20vXCI+TWFwYm94PC9hPicsXG4gICAgICBtYXhab29tOiAxOCxcbiAgICAgIGlkOiAnbWFwYm94L3N0cmVldHMtdjExJyxcbiAgICAgIHRpbGVTaXplOiA1MTIsXG4gICAgICB6b29tT2Zmc2V0OiAtMSxcbiAgICAgIHVwZGF0ZVdoZW5ab29taW5nOiBmYWxzZSxcbiAgICAgIHVwZGF0ZVdoZW5JZGxlOiBmYWxzZSxcbiAgICB9LFxuICApO1xufTtcbmNvbnN0IGJhc2VNYXBzID0gKG1hcEJveFN0eWxlLCBtYXBCb3hTYXRlbGxpdGVTdHlsZSkgPT4ge1xuICBsZXQgZGVmYXVsdE1hcCA9IGkxOG4udCgnbWFwLmxheWVycy5kZWZhdWx0Jyk7XG4gIGxldCBzYXRlbGxpdGUgPSBpMThuLnQoJ21hcC5sYXllcnMuc2F0ZWxsaXRlJyk7XG4gIHJldHVybiB7XG4gICAgW2RlZmF1bHRNYXBdOiBtYXBTdHlsZShtYXBCb3hTdHlsZSksXG4gICAgW3NhdGVsbGl0ZV06IG1hcFN0eWxlKG1hcEJveFNhdGVsbGl0ZVN0eWxlKSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBpbml0aWFsaXplTWFwID0gKFxuICBtYXBab29tTGV2ZWwsXG4gIG1hcEJveFN0eWxlLFxuICBtYXBCb3hTYXRlbGxpdGVTdHlsZSxcbiAgbWFwUmVmLFxuICBkaXNwYXRjaCxcbiAgaXNWYWxpZEFyZWEsXG4gIGFyZWFUb0NlbnRlckJ5LFxuICBzZXRNYXBab29tTGV2ZWwsXG4pID0+IHtcbiAgLy8gQHRzLWlnbm9yZVxuICBtYXBSZWYuY3VycmVudCA9IEwubWFwKCdtYXAnLCB7XG4gICAgY2VudGVyOiBbMCwgMF0sXG4gICAgem9vbVNuYXA6IDEsXG4gICAgem9vbTogbWFwWm9vbUxldmVsLFxuICAgIHByZWZlckNhbnZhczogdHJ1ZSxcbiAgICBsYXllcnM6IFttYXBTdHlsZShtYXBCb3hTdHlsZSksIG1hcFN0eWxlKG1hcEJveFNhdGVsbGl0ZVN0eWxlKV0sXG4gIH0pO1xuXG4gIG1hcFJlZi5jdXJyZW50LndoZW5SZWFkeSgoKSA9PiB7XG4gICAgbGV0IG1hcCA9IG1hcFJlZi5jdXJyZW50O1xuICAgIEwuY29udHJvbFxuICAgICAgLmxheWVycyhcbiAgICAgICAgYmFzZU1hcHMobWFwQm94U3R5bGUsIG1hcEJveFNhdGVsbGl0ZVN0eWxlKSxcbiAgICAgICAge30sXG4gICAgICAgIHsgcG9zaXRpb246ICdib3R0b21yaWdodCcgfSxcbiAgICAgIClcbiAgICAgIC5hZGRUbyhtYXApO1xuICAgIG1hcFN0eWxlKG1hcEJveFN0eWxlKS5hZGRUbyhtYXApO1xuICAgIG1hcC5vbignem9vbWVuZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGljb25ab29tQ29udHJvbChtYXApO1xuICAgIH0pO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKCFtYXBSZWYuY3VycmVudCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIG1hcFJlZi5jdXJyZW50LmludmFsaWRhdGVTaXplKHRydWUpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ2VycicsIGVycik7XG4gICAgICB9XG5cbiAgICAgIGRpc3BhdGNoKHN0b3JlTWFwKG1hcFJlZi5jdXJyZW50KSk7XG4gICAgICBkaXNwYXRjaChzaWRlTmF2RXhwYW5kZWQodHJ1ZSkpO1xuICAgIH0sIDApO1xuICAgIGlmIChtYXBSZWYuY3VycmVudCAmJiBpc1ZhbGlkQXJlYShhcmVhVG9DZW50ZXJCeSkpIHtcbiAgICAgIG1hcFJlZi5jdXJyZW50LmZpdEJvdW5kcyhhcmVhVG9DZW50ZXJCeSk7XG4gICAgfVxuICB9KTtcblxuICBtYXBSZWYuY3VycmVudC5vbignem9vbWVuZCcsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCFtYXBSZWYuY3VycmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgem9vbSA9IG1hcFJlZi5jdXJyZW50LmdldFpvb20oKTtcbiAgICBzZXRNYXBab29tTGV2ZWwoem9vbSk7XG4gIH0pO1xufTtcbiJdfQ==
@@ -57,7 +57,7 @@ var recursiveUpstreamSearch = function recursiveUpstreamSearch(nextLevel, edges,
57
57
  });
58
58
 
59
59
  if (findEdges(edges, nextUpstreamLevelIds).length === 0) {
60
- return mapAllEdgesNesting(allUpstreamEdges);
60
+ return mapAllEdgesNesting([nextLevel]);
61
61
  } else {
62
62
  allUpstreamEdges.push(findEdges(edges, nextUpstreamLevelIds));
63
63
  recursiveUpstreamSearch(findEdges(edges, nextUpstreamLevelIds), edges, mapAllEdgesNesting, allUpstreamEdges);
@@ -251,4 +251,4 @@ var pointIsWWTP = function pointIsWWTP(point) {
251
251
  };
252
252
 
253
253
  exports.pointIsWWTP = pointIsWWTP;
254
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9ldmVudHMvRXZlbnRVdGlscy50cyJdLCJuYW1lcyI6WyJkcmF3TWFuaG9sZUljb24iLCJzb3VyY2VQb2ludCIsIm1hcCIsInBvaW50SWNvbiIsIkwiLCJpY29uIiwiaWNvblVybCIsIndoaXRlUG9pbnQiLCJpY29uU2l6ZSIsImljb25BbmNob3IiLCJtYW5ob2xlSWNvbiIsIm1hcmtlciIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwicmlzZU9uSG92ZXIiLCJhZGRUbyIsImJpbmRUb29sdGlwIiwiZ3JvdXAiLCJuYW1lIiwic2VjdG9yX25hbWUiLCJpZCIsImdldEZpcnN0RWRnZU9mRXZlbnRQYXRoIiwiZWRnZXMiLCJldmVudCIsInBhdGgiLCJ1bmRlZmluZWQiLCJmaW5kIiwiZWRnZSIsImVkZ2VfaWQiLCJmaW5kRWRnZXMiLCJuZXh0VXBzdHJlYW1MZXZlbElkcyIsImZpbHRlciIsImluY2x1ZGVzIiwidGFyZ2V0X3BvaW50X2lkIiwicmVjdXJzaXZlVXBzdHJlYW1TZWFyY2giLCJuZXh0TGV2ZWwiLCJtYXBBbGxFZGdlc05lc3RpbmciLCJhbGxVcHN0cmVhbUVkZ2VzIiwic291cmNlX3BvaW50X2lkIiwibGVuZ3RoIiwicHVzaCIsIm1hcHBlZCIsImZvckVhY2giLCJnZXRVcHN0cmVhbUVkZ2VzIiwiZmlyc3RFZGdlIiwiZmlyc3RVcHN0cmVhbUxldmVsIiwiZmluZFVwc3RyZWFtRWRnZXNUb0RyYXciLCJ1cHN0cmVhbUVkZ2VzIiwiZWRnZXNUb0RyYXciLCJwb2ludHMiLCJ1cHN0cmVhbUVkZ2UiLCJwb2ludCIsImNvbm5lY3Rpb25FZGdlIiwiZmluZERvd25zdHJlYW1FZGdlc1RvRHJhdyIsImRvd25zdHJlYW1OZXR3b3JrIiwicmVjdXJzaXZlRG93blN0cmVhbVNlYXJjaCIsImRvd25TdHJlYW1FZGdlIiwibGFzdERvd25TdHJlYW1FZGdlIiwibmV4dExldmVsRG93blN0cmVhbSIsImZpbmRFZGdlc0Zyb21FdmVudFBhdGhUb0RyYXciLCJwYXJ0IiwibWF0Y2hlZFBhcnQiLCJkcmF3TmV0d29yayIsImRpc3BhdGNoIiwibGF0bG5ncyIsInNoYXBlX2RhdGEiLCJkYXRhIiwibGF0IiwibG5nIiwicG9seWxpbmVCYWNrIiwicG9seWxpbmUiLCJjb2xvciIsIndlaWdodCIsIm9wYWNpdHkiLCJ0YWlsRGFzaCIsInBvbHlsaW5lRGVjb3JhdG9yIiwiX2xhdGxuZ3MiLCJwYXR0ZXJucyIsIm9mZnNldCIsInJlcGVhdCIsInN5bWJvbCIsIlN5bWJvbCIsImFycm93SGVhZCIsInBpeGVsU2l6ZSIsInBvbHlnb24iLCJwYXRoT3B0aW9ucyIsInN0cm9rZSIsInRhcmdldFBvaW50IiwiYmluZFBvcHVwIiwiZGlzdGFuY2UiLCJoYXNfZGV2aWNlIiwicG9pbnRJc1dXVFAiLCJob3ZlcmVkIiwiZm9jdXNlZCIsImJyaW5nVG9Gcm9udCIsInBvbHlsaW5lRnJvbnQiLCJmaW5kQW5kRHJhd0V2ZW50TmV0d29ya0VkZ2VzIiwicG9pbnRJc09ic2VydmF0aW9uIiwib2JzZXJ2YXRpb25zIiwib2JzIiwicG9pbnRfaWQiLCJ0eXBlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFJQTs7QUFDQTs7QUFFTyxJQUFNQSxlQUFlLEdBQUcsU0FBbEJBLGVBQWtCLENBQUNDLFdBQUQsRUFBc0JDLEdBQXRCLEVBQXFDO0FBQ2xFLE1BQUlDLFNBQVMsR0FBR0MsaUJBQUVDLElBQUYsQ0FBTztBQUNyQkMsSUFBQUEsT0FBTyxFQUFFQyxtQkFEWTtBQUVyQkMsSUFBQUEsUUFBUSxFQUFFLENBQUMsQ0FBRCxFQUFJLENBQUosQ0FGVztBQUdyQkMsSUFBQUEsVUFBVSxFQUFFLENBQUMsR0FBRCxFQUFNLEdBQU47QUFIUyxHQUFQLENBQWhCOztBQU1BLE1BQUlDLFdBQWdCLEdBQUdOLGlCQUFFTyxNQUFGLENBQ3JCLENBQUNWLFdBQVcsQ0FBQ1csUUFBYixFQUF1QlgsV0FBVyxDQUFDWSxTQUFuQyxDQURx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O0FBQ0Q7O0FBRURjLEVBQUFBLFdBQVcsQ0FBQ2QsV0FBRCxFQUFjQyxNQUFkLEVBQXNCYyxRQUF0QixFQUFnQzdELEdBQWhDLEVBQXFDcUIsS0FBckMsQ0FBWDtBQUNELENBcEJNOzs7O0FBc0JBLElBQU0wRSxrQkFBa0IsR0FBRyxTQUFyQkEsa0JBQXFCLENBQUMxRSxLQUFELEVBQWdCNEIsS0FBaEIsRUFBa0M7QUFDbEUsU0FBTzVCLEtBQUssQ0FBQzJFLFlBQU4sQ0FBbUJ4RSxJQUFuQixDQUF3QixVQUFDeUUsR0FBRDtBQUFBLFdBQVNBLEdBQUcsQ0FBQ0MsUUFBSixLQUFpQmpELEtBQUssQ0FBQy9CLEVBQWhDO0FBQUEsR0FBeEIsQ0FBUDtBQUNELENBRk07Ozs7QUFJQSxJQUFNdUUsV0FBVyxHQUFHLFNBQWRBLFdBQWMsQ0FBQ3hDLEtBQUQsRUFBbUI7QUFDNUMsU0FBT0EsS0FBSyxDQUFDbEMsS0FBTixDQUFZb0YsSUFBWixLQUFxQixrQ0FBNUI7QUFDRCxDQUZNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdsZWFmbGV0LXBvbHlsaW5lZGVjb3JhdG9yJztcbmltcG9ydCBMIGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IHdoaXRlUG9pbnQgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3doaXRlLXBvaW50LnBuZyc7XG5pbXBvcnQgeyBJRWRnZSB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2VkZ2VzL21vZGVscy9JRWRnZSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgeyBzZXRIb3ZlcmVkRWRnZVBhdGhzIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZXZlbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgY3JlYXRlQnViYmxlUG9pbnQgfSBmcm9tICcuLi9wb2ludHMvUG9pbnRVdGlscyc7XG5cbmV4cG9ydCBjb25zdCBkcmF3TWFuaG9sZUljb24gPSAoc291cmNlUG9pbnQ6IElQb2ludCwgbWFwOiBMLk1hcCkgPT4ge1xuICBsZXQgcG9pbnRJY29uID0gTC5pY29uKHtcbiAgICBpY29uVXJsOiB3aGl0ZVBvaW50LFxuICAgIGljb25TaXplOiBbOSwgOV0sXG4gICAgaWNvbkFuY2hvcjogWzQuNSwgNC41XSxcbiAgfSk7XG5cbiAgbGV0IG1hbmhvbGVJY29uOiBhbnkgPSBMLm1hcmtlcihcbiAgICBbc291cmNlUG9pbnQubGF0aXR1ZGUsIHNvdXJjZVBvaW50LmxvbmdpdHVkZV0sXG4gICAge1xuICAgICAgaWNvbjogcG9pbnRJY29uLFxuICAgICAgcmlzZU9uSG92ZXI6IHRydWUsXG4gICAgfSxcbiAgKS5hZGRUbyhtYXApO1xuICBtYW5ob2xlSWNvbi5iaW5kVG9vbHRpcChcbiAgICBgJHtzb3VyY2VQb2ludC5ncm91cC5uYW1lfSAoJHtzb3VyY2VQb2ludC5ncm91cC5zZWN0b3JfbmFtZX0pYCxcbiAgKTtcbiAgbWFuaG9sZUljb25bJ2thbmRvX29iamVjdF9pZCddID0gc291cmNlUG9pbnQuaWQ7XG4gIG1hbmhvbGVJY29uWydrYW5kb19vYmplY3QnXSA9ICdVcHN0cmVhbVBvaW50Jztcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRGaXJzdEVkZ2VPZkV2ZW50UGF0aCA9IChlZGdlczogSUVkZ2VbXSwgZXZlbnQ6IElFdmVudCkgPT4ge1xuICBpZiAoZXZlbnQucGF0aFswXSA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gIHJldHVybiBlZGdlcy5maW5kKChlZGdlKSA9PiBlZGdlLmlkID09PSBldmVudC5wYXRoWzBdLmVkZ2VfaWQpO1xufTtcblxuY29uc3QgZmluZEVkZ2VzID0gKGVkZ2VzLCBuZXh0VXBzdHJlYW1MZXZlbElkcykgPT4ge1xuICByZXR1cm4gZWRnZXMuZmlsdGVyKChlZGdlOiBJRWRnZSkgPT5cbiAgICBuZXh0VXBzdHJlYW1MZXZlbElkcy5pbmNsdWRlcyhlZGdlLnRhcmdldF9wb2ludF9pZCksXG4gICk7XG59O1xuXG5jb25zdCByZWN1cnNpdmVVcHN0cmVhbVNlYXJjaCA9IChcbiAgbmV4dExldmVsLFxuICBlZGdlcyxcbiAgbWFwQWxsRWRnZXNOZXN0aW5nLFxuICBhbGxVcHN0cmVhbUVkZ2VzLFxuKSA9PiB7XG4gIGxldCBuZXh0VXBzdHJlYW1MZXZlbElkcyA9IG5leHRMZXZlbC5tYXAoKGVkZ2UpID0+IGVkZ2Uuc291cmNlX3BvaW50X2lkKTtcblxuICBpZiAoZmluZEVkZ2VzKGVkZ2VzLCBuZXh0VXBzdHJlYW1MZXZlbElkcykubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIG1hcEFsbEVkZ2VzTmVzdGluZyhhbGxVcHN0cmVhbUVkZ2VzKTtcbiAgfSBlbHNlIHtcbiAgICBhbGxVcHN0cmVhbUVkZ2VzLnB1c2goZmluZEVkZ2VzKGVkZ2VzLCBuZXh0VXBzdHJlYW1MZXZlbElkcykpO1xuICAgIHJlY3Vyc2l2ZVVwc3RyZWFtU2VhcmNoKFxuICAgICAgZmluZEVkZ2VzKGVkZ2VzLCBuZXh0VXBzdHJlYW1MZXZlbElkcyksXG4gICAgICBlZGdlcyxcbiAgICAgIG1hcEFsbEVkZ2VzTmVzdGluZyxcbiAgICAgIGFsbFVwc3RyZWFtRWRnZXMsXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBtYXBBbGxFZGdlc05lc3RpbmcoYWxsVXBzdHJlYW1FZGdlcyk7XG59O1xuXG5jb25zdCBtYXBBbGxFZGdlc05lc3RpbmcgPSAoYWxsVXBzdHJlYW1FZGdlcykgPT4ge1xuICBsZXQgbWFwcGVkOiBhbnlbXSA9IFtdO1xuICBhbGxVcHN0cmVhbUVkZ2VzLmZvckVhY2goKGVkZ2VzKSA9PiB7XG4gICAgZWRnZXMuZm9yRWFjaCgoZWRnZSkgPT4ge1xuICAgICAgbWFwcGVkLnB1c2goZWRnZSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIHJldHVybiBtYXBwZWQ7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0VXBzdHJlYW1FZGdlcyA9IChmaXJzdEVkZ2U6IElFZGdlLCBlZGdlczogSUVkZ2VbXSkgPT4ge1xuICBsZXQgYWxsVXBzdHJlYW1FZGdlczogYW55W10gPSBbXTtcbiAgbGV0IGZpcnN0VXBzdHJlYW1MZXZlbDogSUVkZ2VbXSA9IGVkZ2VzLmZpbHRlcihcbiAgICAoZWRnZSkgPT4gZWRnZS50YXJnZXRfcG9pbnRfaWQgPT09IGZpcnN0RWRnZSEuc291cmNlX3BvaW50X2lkLFxuICApO1xuXG4gIHJldHVybiByZWN1cnNpdmVVcHN0cmVhbVNlYXJjaChcbiAgICBmaXJzdFVwc3RyZWFtTGV2ZWwsXG4gICAgZWRnZXMsXG4gICAgbWFwQWxsRWRnZXNOZXN0aW5nLFxuICAgIGFsbFVwc3RyZWFtRWRnZXMsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgZmluZFVwc3RyZWFtRWRnZXNUb0RyYXcgPSAoXG4gIHVwc3RyZWFtRWRnZXM6IElFZGdlW10sXG4gIGVkZ2VzVG9EcmF3OiBJRWRnZVtdLFxuICBwb2ludHM6IElQb2ludFtdLFxuICBlZGdlczogSUVkZ2VbXSxcbikgPT4ge1xuICB1cHN0cmVhbUVkZ2VzLmZvckVhY2goKHVwc3RyZWFtRWRnZSkgPT4ge1xuICAgIGlmICh1cHN0cmVhbUVkZ2UpIHtcbiAgICAgIGxldCBzb3VyY2VQb2ludCA9IHBvaW50cy5maW5kKFxuICAgICAgICAocG9pbnQpID0+IHBvaW50LmlkID09PSB1cHN0cmVhbUVkZ2UhLnNvdXJjZV9wb2ludF9pZCxcbiAgICAgICk7XG5cbiAgICAgIGlmIChzb3VyY2VQb2ludCkgZWRnZXNUb0RyYXcucHVzaCh1cHN0cmVhbUVkZ2UpO1xuICAgIH1cbiAgfSk7XG5cbiAgbGV0IGNvbm5lY3Rpb25FZGdlID0gZWRnZXMuZmluZChcbiAgICAoZWRnZSkgPT4gZWRnZS5zb3VyY2VfcG9pbnRfaWQgPT09IHVwc3RyZWFtRWRnZXNbMF0udGFyZ2V0X3BvaW50X2lkLFxuICApO1xuICBpZiAoY29ubmVjdGlvbkVkZ2UgIT09IHVuZGVmaW5lZCkgZWRnZXNUb0RyYXcucHVzaChjb25uZWN0aW9uRWRnZSk7XG4gIHJldHVybiBlZGdlc1RvRHJhdztcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kRG93bnN0cmVhbUVkZ2VzVG9EcmF3ID0gKFxuICBmaXJzdEVkZ2U6IElFZGdlLFxuICBlZGdlczogSUVkZ2VbXSxcbiAgZG93bnN0cmVhbU5ldHdvcmssXG4gIGVkZ2VzVG9EcmF3LFxuKSA9PiB7XG4gIHJlY3Vyc2l2ZURvd25TdHJlYW1TZWFyY2goZG93bnN0cmVhbU5ldHdvcmssIGVkZ2VzKS5mb3JFYWNoKFxuICAgIChkb3duU3RyZWFtRWRnZSkgPT4ge1xuICAgICAgZWRnZXNUb0RyYXcucHVzaChkb3duU3RyZWFtRWRnZSk7XG4gICAgfSxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCByZWN1cnNpdmVEb3duU3RyZWFtU2VhcmNoID0gKFxuICBkb3duc3RyZWFtTmV0d29yazogSUVkZ2VbXSxcbiAgZWRnZXM6IElFZGdlW10sXG4pID0+IHtcbiAgbGV0IGxhc3REb3duU3RyZWFtRWRnZSA9IGRvd25zdHJlYW1OZXR3b3JrW2Rvd25zdHJlYW1OZXR3b3JrLmxlbmd0aCAtIDFdO1xuXG4gIGlmIChuZXh0TGV2ZWxEb3duU3RyZWFtKGxhc3REb3duU3RyZWFtRWRnZSwgZWRnZXMpLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBkb3duc3RyZWFtTmV0d29yaztcbiAgfSBlbHNlIHtcbiAgICBuZXh0TGV2ZWxEb3duU3RyZWFtKGxhc3REb3duU3RyZWFtRWRnZSwgZWRnZXMpLmZvckVhY2goKGVkZ2UpID0+IHtcbiAgICAgIGRvd25zdHJlYW1OZXR3b3JrLnB1c2goZWRnZSk7XG4gICAgICByZWN1cnNpdmVEb3duU3RyZWFtU2VhcmNoKGRvd25zdHJlYW1OZXR3b3JrLCBlZGdlcyk7XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gZG93bnN0cmVhbU5ldHdvcms7XG59O1xuXG5leHBvcnQgY29uc3QgbmV4dExldmVsRG93blN0cmVhbSA9IChmaXJzdEVkZ2U6IElFZGdlLCBlZGdlczogSUVkZ2VbXSkgPT4ge1xuICByZXR1cm4gZWRnZXMuZmlsdGVyKFxuICAgIChlZGdlKSA9PiBlZGdlLnNvdXJjZV9wb2ludF9pZCA9PT0gZmlyc3RFZGdlLnRhcmdldF9wb2ludF9pZCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kRWRnZXNGcm9tRXZlbnRQYXRoVG9EcmF3ID0gKFxuICBlZGdlc1RvRHJhdzogSUVkZ2VbXSxcbiAgZXZlbnQ6IElFdmVudCxcbiAgZWRnZXM6IElFZGdlW10sXG4pID0+IHtcbiAgZXZlbnQucGF0aC5mb3JFYWNoKChwYXJ0KSA9PiB7XG4gICAgbGV0IG1hdGNoZWRQYXJ0ID0gZWRnZXMuZmluZCgoZWRnZSkgPT4gZWRnZS5pZCA9PT0gcGFydC5lZGdlX2lkKTtcbiAgICBpZiAobWF0Y2hlZFBhcnQgIT09IHVuZGVmaW5lZCkgZWRnZXNUb0RyYXcucHVzaChtYXRjaGVkUGFydCk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGRyYXdOZXR3b3JrID0gKFxuICBlZGdlczogSUVkZ2VbXSxcbiAgcG9pbnRzOiBJUG9pbnRbXSxcbiAgZGlzcGF0Y2gsXG4gIG1hcCxcbiAgZXZlbnQsXG4pID0+IHtcbiAgbGV0IGxhdGxuZ3M6IGFueSA9IFtdO1xuICBlZGdlcy5mb3JFYWNoKChlZGdlKSA9PiB7XG4gICAgZWRnZS5zaGFwZV9kYXRhLmZvckVhY2goKGRhdGE6IGFueSkgPT4ge1xuICAgICAgbGF0bG5ncy5wdXNoKFtkYXRhLmxhdCwgZGF0YS5sbmddKTtcbiAgICB9KTtcblxuICAgIGxldCBwb2x5bGluZUJhY2s6IGFueSA9IEwucG9seWxpbmUobGF0bG5ncywge1xuICAgICAgY29sb3I6ICdyZ2IoMjI3LDIyNywyMjcpJyxcbiAgICAgIHdlaWdodDogNixcbiAgICAgIG9wYWNpdHk6IDEsXG4gICAgfSkuYWRkVG8obWFwKTtcblxuICAgIGxldCB0YWlsRGFzaCA9IEwucG9seWxpbmVEZWNvcmF0b3IocG9seWxpbmVCYWNrLl9sYXRsbmdzLCB7XG4gICAgICBwYXR0ZXJuczogW1xuICAgICAgICAvLyBkZWZpbmVzIGEgcGF0dGVybiBvZiAxMHB4LXdpZGUgZGFzaGVzLCByZXBlYXRlZCBldmVyeSAyMHB4IG9uIHRoZSBsaW5lXG4gICAgICAgIHtcbiAgICAgICAgICBvZmZzZXQ6IDE1LFxuICAgICAgICAgIHJlcGVhdDogMjUsXG4gICAgICAgICAgc3ltYm9sOiBMLlN5bWJvbC5hcnJvd0hlYWQoe1xuICAgICAgICAgICAgcGl4ZWxTaXplOiAzLFxuICAgICAgICAgICAgcG9seWdvbjogZmFsc2UsXG4gICAgICAgICAgICBwYXRoT3B0aW9uczoge1xuICAgICAgICAgICAgICBzdHJva2U6IHRydWUsXG4gICAgICAgICAgICAgIGNvbG9yOiAncmdiYSgwLDAsMCknLFxuICAgICAgICAgICAgICB3ZWlnaHQ6IDEsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KS5hZGRUbyhtYXApO1xuICAgIHRhaWxEYXNoWydrYW5kb19vYmplY3QnXSA9ICdEZWNvcmF0b3InO1xuXG4gICAgaWYgKHBvaW50cy5sZW5ndGggIT09IDApIHtcbiAgICAgIGxldCBzb3VyY2VQb2ludCA9IHBvaW50cy5maW5kKFxuICAgICAgICAocG9pbnQ6IElQb2ludCkgPT4gcG9pbnQuaWQgPT09IGVkZ2Uuc291cmNlX3BvaW50X2lkLFxuICAgICAgKTtcbiAgICAgIGxldCB0YXJnZXRQb2ludCA9IHBvaW50cy5maW5kKFxuICAgICAgICAocG9pbnQ6IElQb2ludCkgPT4gcG9pbnQuaWQgPT09IGVkZ2UudGFyZ2V0X3BvaW50X2lkLFxuICAgICAgKTtcbiAgICAgIGlmIChzb3VyY2VQb2ludCAhPT0gdW5kZWZpbmVkICYmIHRhcmdldFBvaW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcG9seWxpbmVCYWNrLmJpbmRQb3B1cChgRWRnZSBJRDogJHtlZGdlLmlkfSw8YnI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZSBwb2ludDogJHtzb3VyY2VQb2ludC5ncm91cC5uYW1lfSw8YnI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRhcmdldCBwb2ludDogJHt0YXJnZXRQb2ludC5ncm91cC5uYW1lfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGlzdGFuY2U6ICR7ZWRnZS5kaXN0YW5jZX1gKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHNvdXJjZVBvaW50KSBkcmF3TWFuaG9sZUljb24oc291cmNlUG9pbnQsIG1hcCk7XG4gICAgICBpZiAodGFyZ2V0UG9pbnQpIGRyYXdNYW5ob2xlSWNvbih0YXJnZXRQb2ludCwgbWFwKTtcbiAgICAgIGlmIChzb3VyY2VQb2ludCAmJiAoc291cmNlUG9pbnQuaGFzX2RldmljZSB8fCBwb2ludElzV1dUUChzb3VyY2VQb2ludCkpKVxuICAgICAgICBjcmVhdGVCdWJibGVQb2ludChcbiAgICAgICAgICBbc291cmNlUG9pbnQubGF0aXR1ZGUsIHNvdXJjZVBvaW50LmxvbmdpdHVkZV0sXG4gICAgICAgICAgc291cmNlUG9pbnQsXG4gICAgICAgICAgbWFwLFxuICAgICAgICApO1xuICAgICAgaWYgKHRhcmdldFBvaW50ICYmICh0YXJnZXRQb2ludC5oYXNfZGV2aWNlIHx8IHBvaW50SXNXV1RQKHRhcmdldFBvaW50KSkpXG4gICAgICAgIGNyZWF0ZUJ1YmJsZVBvaW50KFxuICAgICAgICAgIFt0YXJnZXRQb2ludC5sYXRpdHVkZSwgdGFyZ2V0UG9pbnQubG9uZ2l0dWRlXSxcbiAgICAgICAgICB0YXJnZXRQb2ludCxcbiAgICAgICAgICBtYXAsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcG9seWxpbmVCYWNrWydrYW5kb19vYmplY3RfaWQnXSA9IGVkZ2UuaWQ7XG4gICAgaWYgKGV2ZW50LmhvdmVyZWQpIHBvbHlsaW5lQmFja1sna2FuZG9fb2JqZWN0J10gPSAnSG92ZXJlZEVkZ2UnO1xuICAgIGlmIChldmVudC5mb2N1c2VkKSBwb2x5bGluZUJhY2tbJ2thbmRvX29iamVjdCddID0gJ0ZvY3VzZWRFZGdlJztcblxuICAgIHBvbHlsaW5lQmFjay5icmluZ1RvRnJvbnQoKTtcbiAgICB0YWlsRGFzaC5icmluZ1RvRnJvbnQoKTtcblxuICAgIGxldCBwb2x5bGluZUZyb250OiBhbnkgPSBMLnBvbHlsaW5lKGxhdGxuZ3MsIHtcbiAgICAgIGNvbG9yOiAncmdiKDI5LDI5LDI5KScsXG4gICAgICB3ZWlnaHQ6IDEsXG4gICAgICBvcGFjaXR5OiAxLFxuICAgIH0pLmFkZFRvKG1hcCk7XG5cbiAgICBwb2x5bGluZUZyb250WydrYW5kb19vYmplY3RfaWQnXSA9IGVkZ2UuaWQ7XG4gICAgaWYgKGV2ZW50LmhvdmVyZWQpIHBvbHlsaW5lRnJvbnRbJ2thbmRvX29iamVjdCddID0gJ0hvdmVyZWRFZGdlRnJvbnQnO1xuICAgIGlmIChldmVudC5mb2N1c2VkKSBwb2x5bGluZUZyb250WydrYW5kb19vYmplY3QnXSA9ICdGb2N1c2VkRWRnZUZyb250JztcblxuICAgIHBvbHlsaW5lRnJvbnQuYnJpbmdUb0Zyb250KCk7XG4gICAgaWYgKGV2ZW50LmhvdmVyZWQpXG4gICAgICBkaXNwYXRjaChzZXRIb3ZlcmVkRWRnZVBhdGhzKFtwb2x5bGluZUJhY2ssIHBvbHlsaW5lRnJvbnRdKSk7XG4gICAgbGF0bG5ncyA9IFtdO1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kQW5kRHJhd0V2ZW50TmV0d29ya0VkZ2VzID0gKFxuICBlZGdlczogSUVkZ2VbXSxcbiAgZXZlbnQ6IElFdmVudCxcbiAgcG9pbnRzOiBJUG9pbnRbXSxcbiAgZGlzcGF0Y2gsXG4gIG1hcCxcbikgPT4ge1xuICBsZXQgZWRnZXNUb0RyYXc6IElFZGdlW10gPSBbXTtcbiAgbGV0IGZpcnN0RWRnZSA9IGdldEZpcnN0RWRnZU9mRXZlbnRQYXRoKGVkZ2VzLCBldmVudCk7XG5cbiAgaWYgKGZpcnN0RWRnZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgbGV0IGRvd25zdHJlYW1OZXR3b3JrOiBJRWRnZVtdID0gW2ZpcnN0RWRnZV07XG4gICAgbGV0IHVwc3RyZWFtRWRnZXMgPSBnZXRVcHN0cmVhbUVkZ2VzKGZpcnN0RWRnZSwgZWRnZXMpO1xuICAgIGlmICh1cHN0cmVhbUVkZ2VzID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgICBpZiAodXBzdHJlYW1FZGdlcy5sZW5ndGggIT09IDApXG4gICAgICBmaW5kVXBzdHJlYW1FZGdlc1RvRHJhdyh1cHN0cmVhbUVkZ2VzLCBlZGdlc1RvRHJhdywgcG9pbnRzLCBlZGdlcyk7XG4gICAgZmluZERvd25zdHJlYW1FZGdlc1RvRHJhdyhmaXJzdEVkZ2UsIGVkZ2VzLCBkb3duc3RyZWFtTmV0d29yaywgZWRnZXNUb0RyYXcpO1xuICB9XG5cbiAgZHJhd05ldHdvcmsoZWRnZXNUb0RyYXcsIHBvaW50cywgZGlzcGF0Y2gsIG1hcCwgZXZlbnQpO1xufTtcblxuZXhwb3J0IGNvbnN0IHBvaW50SXNPYnNlcnZhdGlvbiA9IChldmVudDogSUV2ZW50LCBwb2ludDogSVBvaW50KSA9PiB7XG4gIHJldHVybiBldmVudC5vYnNlcnZhdGlvbnMuZmluZCgob2JzKSA9PiBvYnMucG9pbnRfaWQgPT09IHBvaW50LmlkKTtcbn07XG5cbmV4cG9ydCBjb25zdCBwb2ludElzV1dUUCA9IChwb2ludDogSVBvaW50KSA9PiB7XG4gIHJldHVybiBwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpXYXN0ZXdhdGVyVHJlYXRtZW50UGxhbnQnO1xufTtcbiJdfQ==
254
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9ldmVudHMvRXZlbnRVdGlscy50cyJdLCJuYW1lcyI6WyJkcmF3TWFuaG9sZUljb24iLCJzb3VyY2VQb2ludCIsIm1hcCIsInBvaW50SWNvbiIsIkwiLCJpY29uIiwiaWNvblVybCIsIndoaXRlUG9pbnQiLCJpY29uU2l6ZSIsImljb25BbmNob3IiLCJtYW5ob2xlSWNvbiIsIm1hcmtlciIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwicmlzZU9uSG92ZXIiLCJhZGRUbyIsImJpbmRUb29sdGlwIiwiZ3JvdXAiLCJuYW1lIiwic2VjdG9yX25hbWUiLCJpZCIsImdldEZpcnN0RWRnZU9mRXZlbnRQYXRoIiwiZWRnZXMiLCJldmVudCIsInBhdGgiLCJ1bmRlZmluZWQiLCJmaW5kIiwiZWRnZSIsImVkZ2VfaWQiLCJmaW5kRWRnZXMiLCJuZXh0VXBzdHJlYW1MZXZlbElkcyIsImZpbHRlciIsImluY2x1ZGVzIiwidGFyZ2V0X3BvaW50X2lkIiwicmVjdXJzaXZlVXBzdHJlYW1TZWFyY2giLCJuZXh0TGV2ZWwiLCJtYXBBbGxFZGdlc05lc3RpbmciLCJhbGxVcHN0cmVhbUVkZ2VzIiwic291cmNlX3BvaW50X2lkIiwibGVuZ3RoIiwicHVzaCIsIm1hcHBlZCIsImZvckVhY2giLCJnZXRVcHN0cmVhbUVkZ2VzIiwiZmlyc3RFZGdlIiwiZmlyc3RVcHN0cmVhbUxldmVsIiwiZmluZFVwc3RyZWFtRWRnZXNUb0RyYXciLCJ1cHN0cmVhbUVkZ2VzIiwiZWRnZXNUb0RyYXciLCJwb2ludHMiLCJ1cHN0cmVhbUVkZ2UiLCJwb2ludCIsImNvbm5lY3Rpb25FZGdlIiwiZmluZERvd25zdHJlYW1FZGdlc1RvRHJhdyIsImRvd25zdHJlYW1OZXR3b3JrIiwicmVjdXJzaXZlRG93blN0cmVhbVNlYXJjaCIsImRvd25TdHJlYW1FZGdlIiwibGFzdERvd25TdHJlYW1FZGdlIiwibmV4dExldmVsRG93blN0cmVhbSIsImZpbmRFZGdlc0Zyb21FdmVudFBhdGhUb0RyYXciLCJwYXJ0IiwibWF0Y2hlZFBhcnQiLCJkcmF3TmV0d29yayIsImRpc3BhdGNoIiwibGF0bG5ncyIsInNoYXBlX2RhdGEiLCJkYXRhIiwibGF0IiwibG5nIiwicG9seWxpbmVCYWNrIiwicG9seWxpbmUiLCJjb2xvciIsIndlaWdodCIsIm9wYWNpdHkiLCJ0YWlsRGFzaCIsInBvbHlsaW5lRGVjb3JhdG9yIiwiX2xhdGxuZ3MiLCJwYXR0ZXJucyIsIm9mZnNldCIsInJlcGVhdCIsInN5bWJvbCIsIlN5bWJvbCIsImFycm93SGVhZCIsInBpeGVsU2l6ZSIsInBvbHlnb24iLCJwYXRoT3B0aW9ucyIsInN0cm9rZSIsInRhcmdldFBvaW50IiwiYmluZFBvcHVwIiwiZGlzdGFuY2UiLCJoYXNfZGV2aWNlIiwicG9pbnRJc1dXVFAiLCJob3ZlcmVkIiwiZm9jdXNlZCIsImJyaW5nVG9Gcm9udCIsInBvbHlsaW5lRnJvbnQiLCJmaW5kQW5kRHJhd0V2ZW50TmV0d29ya0VkZ2VzIiwicG9pbnRJc09ic2VydmF0aW9uIiwib2JzZXJ2YXRpb25zIiwib2JzIiwicG9pbnRfaWQiLCJ0eXBlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFJQTs7QUFDQTs7QUFFTyxJQUFNQSxlQUFlLEdBQUcsU0FBbEJBLGVBQWtCLENBQUNDLFdBQUQsRUFBc0JDLEdBQXRCLEVBQXFDO0FBQ2xFLE1BQUlDLFNBQVMsR0FBR0MsaUJBQUVDLElBQUYsQ0FBTztBQUNyQkMsSUFBQUEsT0FBTyxFQUFFQyxtQkFEWTtBQUVyQkMsSUFBQUEsUUFBUSxFQUFFLENBQUMsQ0FBRCxFQUFJLENBQUosQ0FGVztBQUdyQkMsSUFBQUEsVUFBVSxFQUFFLENBQUMsR0FBRCxFQUFNLEdBQU47QUFIUyxHQUFQLENBQWhCOztBQU1BLE1BQUlDLFdBQWdCLEdBQUdOLGlCQUFFTyxNQUFGLENBQ3JCLENBQUNWLFdBQVcsQ0FBQ1csUUFBYixFQUF1QlgsV0FBVyxDQUFDWSxTQUFuQyxDQURx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QXRDLENBQXpCO0FBQ0Q7O0FBRURjLEVBQUFBLFdBQVcsQ0FBQ2QsV0FBRCxFQUFjQyxNQUFkLEVBQXNCYyxRQUF0QixFQUFnQzdELEdBQWhDLEVBQXFDcUIsS0FBckMsQ0FBWDtBQUNELENBcEJNOzs7O0FBc0JBLElBQU0wRSxrQkFBa0IsR0FBRyxTQUFyQkEsa0JBQXFCLENBQUMxRSxLQUFELEVBQWdCNEIsS0FBaEIsRUFBa0M7QUFDbEUsU0FBTzVCLEtBQUssQ0FBQzJFLFlBQU4sQ0FBbUJ4RSxJQUFuQixDQUF3QixVQUFDeUUsR0FBRDtBQUFBLFdBQVNBLEdBQUcsQ0FBQ0MsUUFBSixLQUFpQmpELEtBQUssQ0FBQy9CLEVBQWhDO0FBQUEsR0FBeEIsQ0FBUDtBQUNELENBRk07Ozs7QUFJQSxJQUFNdUUsV0FBVyxHQUFHLFNBQWRBLFdBQWMsQ0FBQ3hDLEtBQUQsRUFBbUI7QUFDNUMsU0FBT0EsS0FBSyxDQUFDbEMsS0FBTixDQUFZb0YsSUFBWixLQUFxQixrQ0FBNUI7QUFDRCxDQUZNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdsZWFmbGV0LXBvbHlsaW5lZGVjb3JhdG9yJztcbmltcG9ydCBMIGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IHdoaXRlUG9pbnQgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3doaXRlLXBvaW50LnBuZyc7XG5pbXBvcnQgeyBJRWRnZSB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2VkZ2VzL21vZGVscy9JRWRnZSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgeyBzZXRIb3ZlcmVkRWRnZVBhdGhzIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZXZlbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgY3JlYXRlQnViYmxlUG9pbnQgfSBmcm9tICcuLi9wb2ludHMvUG9pbnRVdGlscyc7XG5cbmV4cG9ydCBjb25zdCBkcmF3TWFuaG9sZUljb24gPSAoc291cmNlUG9pbnQ6IElQb2ludCwgbWFwOiBMLk1hcCkgPT4ge1xuICBsZXQgcG9pbnRJY29uID0gTC5pY29uKHtcbiAgICBpY29uVXJsOiB3aGl0ZVBvaW50LFxuICAgIGljb25TaXplOiBbOSwgOV0sXG4gICAgaWNvbkFuY2hvcjogWzQuNSwgNC41XSxcbiAgfSk7XG5cbiAgbGV0IG1hbmhvbGVJY29uOiBhbnkgPSBMLm1hcmtlcihcbiAgICBbc291cmNlUG9pbnQubGF0aXR1ZGUsIHNvdXJjZVBvaW50LmxvbmdpdHVkZV0sXG4gICAge1xuICAgICAgaWNvbjogcG9pbnRJY29uLFxuICAgICAgcmlzZU9uSG92ZXI6IHRydWUsXG4gICAgfSxcbiAgKS5hZGRUbyhtYXApO1xuICBtYW5ob2xlSWNvbi5iaW5kVG9vbHRpcChcbiAgICBgJHtzb3VyY2VQb2ludC5ncm91cC5uYW1lfSAoJHtzb3VyY2VQb2ludC5ncm91cC5zZWN0b3JfbmFtZX0pYCxcbiAgKTtcbiAgbWFuaG9sZUljb25bJ2thbmRvX29iamVjdF9pZCddID0gc291cmNlUG9pbnQuaWQ7XG4gIG1hbmhvbGVJY29uWydrYW5kb19vYmplY3QnXSA9ICdVcHN0cmVhbVBvaW50Jztcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRGaXJzdEVkZ2VPZkV2ZW50UGF0aCA9IChlZGdlczogSUVkZ2VbXSwgZXZlbnQ6IElFdmVudCkgPT4ge1xuICBpZiAoZXZlbnQucGF0aFswXSA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gIHJldHVybiBlZGdlcy5maW5kKChlZGdlKSA9PiBlZGdlLmlkID09PSBldmVudC5wYXRoWzBdLmVkZ2VfaWQpO1xufTtcblxuY29uc3QgZmluZEVkZ2VzID0gKGVkZ2VzLCBuZXh0VXBzdHJlYW1MZXZlbElkcykgPT4ge1xuICByZXR1cm4gZWRnZXMuZmlsdGVyKChlZGdlOiBJRWRnZSkgPT5cbiAgICBuZXh0VXBzdHJlYW1MZXZlbElkcy5pbmNsdWRlcyhlZGdlLnRhcmdldF9wb2ludF9pZCksXG4gICk7XG59O1xuXG5jb25zdCByZWN1cnNpdmVVcHN0cmVhbVNlYXJjaCA9IChcbiAgbmV4dExldmVsLFxuICBlZGdlcyxcbiAgbWFwQWxsRWRnZXNOZXN0aW5nLFxuICBhbGxVcHN0cmVhbUVkZ2VzLFxuKSA9PiB7XG4gIGxldCBuZXh0VXBzdHJlYW1MZXZlbElkcyA9IG5leHRMZXZlbC5tYXAoKGVkZ2UpID0+IGVkZ2Uuc291cmNlX3BvaW50X2lkKTtcbiAgaWYgKGZpbmRFZGdlcyhlZGdlcywgbmV4dFVwc3RyZWFtTGV2ZWxJZHMpLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBtYXBBbGxFZGdlc05lc3RpbmcoW25leHRMZXZlbF0pO1xuICB9IGVsc2Uge1xuICAgIGFsbFVwc3RyZWFtRWRnZXMucHVzaChmaW5kRWRnZXMoZWRnZXMsIG5leHRVcHN0cmVhbUxldmVsSWRzKSk7XG4gICAgcmVjdXJzaXZlVXBzdHJlYW1TZWFyY2goXG4gICAgICBmaW5kRWRnZXMoZWRnZXMsIG5leHRVcHN0cmVhbUxldmVsSWRzKSxcbiAgICAgIGVkZ2VzLFxuICAgICAgbWFwQWxsRWRnZXNOZXN0aW5nLFxuICAgICAgYWxsVXBzdHJlYW1FZGdlcyxcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIG1hcEFsbEVkZ2VzTmVzdGluZyhhbGxVcHN0cmVhbUVkZ2VzKTtcbn07XG5cbmNvbnN0IG1hcEFsbEVkZ2VzTmVzdGluZyA9IChhbGxVcHN0cmVhbUVkZ2VzKSA9PiB7XG4gIGxldCBtYXBwZWQ6IGFueVtdID0gW107XG4gIGFsbFVwc3RyZWFtRWRnZXMuZm9yRWFjaCgoZWRnZXMpID0+IHtcbiAgICBlZGdlcy5mb3JFYWNoKChlZGdlKSA9PiB7XG4gICAgICBtYXBwZWQucHVzaChlZGdlKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgcmV0dXJuIG1hcHBlZDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRVcHN0cmVhbUVkZ2VzID0gKGZpcnN0RWRnZTogSUVkZ2UsIGVkZ2VzOiBJRWRnZVtdKSA9PiB7XG4gIGxldCBhbGxVcHN0cmVhbUVkZ2VzOiBhbnlbXSA9IFtdO1xuICBsZXQgZmlyc3RVcHN0cmVhbUxldmVsOiBJRWRnZVtdID0gZWRnZXMuZmlsdGVyKFxuICAgIChlZGdlKSA9PiBlZGdlLnRhcmdldF9wb2ludF9pZCA9PT0gZmlyc3RFZGdlIS5zb3VyY2VfcG9pbnRfaWQsXG4gICk7XG5cbiAgcmV0dXJuIHJlY3Vyc2l2ZVVwc3RyZWFtU2VhcmNoKFxuICAgIGZpcnN0VXBzdHJlYW1MZXZlbCxcbiAgICBlZGdlcyxcbiAgICBtYXBBbGxFZGdlc05lc3RpbmcsXG4gICAgYWxsVXBzdHJlYW1FZGdlcyxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kVXBzdHJlYW1FZGdlc1RvRHJhdyA9IChcbiAgdXBzdHJlYW1FZGdlczogSUVkZ2VbXSxcbiAgZWRnZXNUb0RyYXc6IElFZGdlW10sXG4gIHBvaW50czogSVBvaW50W10sXG4gIGVkZ2VzOiBJRWRnZVtdLFxuKSA9PiB7XG4gIHVwc3RyZWFtRWRnZXMuZm9yRWFjaCgodXBzdHJlYW1FZGdlKSA9PiB7XG4gICAgaWYgKHVwc3RyZWFtRWRnZSkge1xuICAgICAgbGV0IHNvdXJjZVBvaW50ID0gcG9pbnRzLmZpbmQoXG4gICAgICAgIChwb2ludCkgPT4gcG9pbnQuaWQgPT09IHVwc3RyZWFtRWRnZSEuc291cmNlX3BvaW50X2lkLFxuICAgICAgKTtcblxuICAgICAgaWYgKHNvdXJjZVBvaW50KSBlZGdlc1RvRHJhdy5wdXNoKHVwc3RyZWFtRWRnZSk7XG4gICAgfVxuICB9KTtcblxuICBsZXQgY29ubmVjdGlvbkVkZ2UgPSBlZGdlcy5maW5kKFxuICAgIChlZGdlKSA9PiBlZGdlLnNvdXJjZV9wb2ludF9pZCA9PT0gdXBzdHJlYW1FZGdlc1swXS50YXJnZXRfcG9pbnRfaWQsXG4gICk7XG4gIGlmIChjb25uZWN0aW9uRWRnZSAhPT0gdW5kZWZpbmVkKSBlZGdlc1RvRHJhdy5wdXNoKGNvbm5lY3Rpb25FZGdlKTtcbiAgcmV0dXJuIGVkZ2VzVG9EcmF3O1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbmREb3duc3RyZWFtRWRnZXNUb0RyYXcgPSAoXG4gIGZpcnN0RWRnZTogSUVkZ2UsXG4gIGVkZ2VzOiBJRWRnZVtdLFxuICBkb3duc3RyZWFtTmV0d29yayxcbiAgZWRnZXNUb0RyYXcsXG4pID0+IHtcbiAgcmVjdXJzaXZlRG93blN0cmVhbVNlYXJjaChkb3duc3RyZWFtTmV0d29yaywgZWRnZXMpLmZvckVhY2goXG4gICAgKGRvd25TdHJlYW1FZGdlKSA9PiB7XG4gICAgICBlZGdlc1RvRHJhdy5wdXNoKGRvd25TdHJlYW1FZGdlKTtcbiAgICB9LFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlY3Vyc2l2ZURvd25TdHJlYW1TZWFyY2ggPSAoXG4gIGRvd25zdHJlYW1OZXR3b3JrOiBJRWRnZVtdLFxuICBlZGdlczogSUVkZ2VbXSxcbikgPT4ge1xuICBsZXQgbGFzdERvd25TdHJlYW1FZGdlID0gZG93bnN0cmVhbU5ldHdvcmtbZG93bnN0cmVhbU5ldHdvcmsubGVuZ3RoIC0gMV07XG5cbiAgaWYgKG5leHRMZXZlbERvd25TdHJlYW0obGFzdERvd25TdHJlYW1FZGdlLCBlZGdlcykubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIGRvd25zdHJlYW1OZXR3b3JrO1xuICB9IGVsc2Uge1xuICAgIG5leHRMZXZlbERvd25TdHJlYW0obGFzdERvd25TdHJlYW1FZGdlLCBlZGdlcykuZm9yRWFjaCgoZWRnZSkgPT4ge1xuICAgICAgZG93bnN0cmVhbU5ldHdvcmsucHVzaChlZGdlKTtcbiAgICAgIHJlY3Vyc2l2ZURvd25TdHJlYW1TZWFyY2goZG93bnN0cmVhbU5ldHdvcmssIGVkZ2VzKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBkb3duc3RyZWFtTmV0d29yaztcbn07XG5cbmV4cG9ydCBjb25zdCBuZXh0TGV2ZWxEb3duU3RyZWFtID0gKGZpcnN0RWRnZTogSUVkZ2UsIGVkZ2VzOiBJRWRnZVtdKSA9PiB7XG4gIHJldHVybiBlZGdlcy5maWx0ZXIoXG4gICAgKGVkZ2UpID0+IGVkZ2Uuc291cmNlX3BvaW50X2lkID09PSBmaXJzdEVkZ2UudGFyZ2V0X3BvaW50X2lkLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbmRFZGdlc0Zyb21FdmVudFBhdGhUb0RyYXcgPSAoXG4gIGVkZ2VzVG9EcmF3OiBJRWRnZVtdLFxuICBldmVudDogSUV2ZW50LFxuICBlZGdlczogSUVkZ2VbXSxcbikgPT4ge1xuICBldmVudC5wYXRoLmZvckVhY2goKHBhcnQpID0+IHtcbiAgICBsZXQgbWF0Y2hlZFBhcnQgPSBlZGdlcy5maW5kKChlZGdlKSA9PiBlZGdlLmlkID09PSBwYXJ0LmVkZ2VfaWQpO1xuICAgIGlmIChtYXRjaGVkUGFydCAhPT0gdW5kZWZpbmVkKSBlZGdlc1RvRHJhdy5wdXNoKG1hdGNoZWRQYXJ0KTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZHJhd05ldHdvcmsgPSAoXG4gIGVkZ2VzOiBJRWRnZVtdLFxuICBwb2ludHM6IElQb2ludFtdLFxuICBkaXNwYXRjaCxcbiAgbWFwLFxuICBldmVudCxcbikgPT4ge1xuICBsZXQgbGF0bG5nczogYW55ID0gW107XG4gIGVkZ2VzLmZvckVhY2goKGVkZ2UpID0+IHtcbiAgICBlZGdlLnNoYXBlX2RhdGEuZm9yRWFjaCgoZGF0YTogYW55KSA9PiB7XG4gICAgICBsYXRsbmdzLnB1c2goW2RhdGEubGF0LCBkYXRhLmxuZ10pO1xuICAgIH0pO1xuXG4gICAgbGV0IHBvbHlsaW5lQmFjazogYW55ID0gTC5wb2x5bGluZShsYXRsbmdzLCB7XG4gICAgICBjb2xvcjogJ3JnYigyMjcsMjI3LDIyNyknLFxuICAgICAgd2VpZ2h0OiA2LFxuICAgICAgb3BhY2l0eTogMSxcbiAgICB9KS5hZGRUbyhtYXApO1xuXG4gICAgbGV0IHRhaWxEYXNoID0gTC5wb2x5bGluZURlY29yYXRvcihwb2x5bGluZUJhY2suX2xhdGxuZ3MsIHtcbiAgICAgIHBhdHRlcm5zOiBbXG4gICAgICAgIC8vIGRlZmluZXMgYSBwYXR0ZXJuIG9mIDEwcHgtd2lkZSBkYXNoZXMsIHJlcGVhdGVkIGV2ZXJ5IDIwcHggb24gdGhlIGxpbmVcbiAgICAgICAge1xuICAgICAgICAgIG9mZnNldDogMTUsXG4gICAgICAgICAgcmVwZWF0OiAyNSxcbiAgICAgICAgICBzeW1ib2w6IEwuU3ltYm9sLmFycm93SGVhZCh7XG4gICAgICAgICAgICBwaXhlbFNpemU6IDMsXG4gICAgICAgICAgICBwb2x5Z29uOiBmYWxzZSxcbiAgICAgICAgICAgIHBhdGhPcHRpb25zOiB7XG4gICAgICAgICAgICAgIHN0cm9rZTogdHJ1ZSxcbiAgICAgICAgICAgICAgY29sb3I6ICdyZ2JhKDAsMCwwKScsXG4gICAgICAgICAgICAgIHdlaWdodDogMSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSksXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pLmFkZFRvKG1hcCk7XG4gICAgdGFpbERhc2hbJ2thbmRvX29iamVjdCddID0gJ0RlY29yYXRvcic7XG5cbiAgICBpZiAocG9pbnRzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgbGV0IHNvdXJjZVBvaW50ID0gcG9pbnRzLmZpbmQoXG4gICAgICAgIChwb2ludDogSVBvaW50KSA9PiBwb2ludC5pZCA9PT0gZWRnZS5zb3VyY2VfcG9pbnRfaWQsXG4gICAgICApO1xuICAgICAgbGV0IHRhcmdldFBvaW50ID0gcG9pbnRzLmZpbmQoXG4gICAgICAgIChwb2ludDogSVBvaW50KSA9PiBwb2ludC5pZCA9PT0gZWRnZS50YXJnZXRfcG9pbnRfaWQsXG4gICAgICApO1xuICAgICAgaWYgKHNvdXJjZVBvaW50ICE9PSB1bmRlZmluZWQgJiYgdGFyZ2V0UG9pbnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBwb2x5bGluZUJhY2suYmluZFBvcHVwKGBFZGdlIElEOiAke2VkZ2UuaWR9LDxicj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlIHBvaW50OiAke3NvdXJjZVBvaW50Lmdyb3VwLm5hbWV9LDxicj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0IHBvaW50OiAke3RhcmdldFBvaW50Lmdyb3VwLm5hbWV9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaXN0YW5jZTogJHtlZGdlLmRpc3RhbmNlfWApO1xuICAgICAgfVxuXG4gICAgICBpZiAoc291cmNlUG9pbnQpIGRyYXdNYW5ob2xlSWNvbihzb3VyY2VQb2ludCwgbWFwKTtcbiAgICAgIGlmICh0YXJnZXRQb2ludCkgZHJhd01hbmhvbGVJY29uKHRhcmdldFBvaW50LCBtYXApO1xuICAgICAgaWYgKHNvdXJjZVBvaW50ICYmIChzb3VyY2VQb2ludC5oYXNfZGV2aWNlIHx8IHBvaW50SXNXV1RQKHNvdXJjZVBvaW50KSkpXG4gICAgICAgIGNyZWF0ZUJ1YmJsZVBvaW50KFxuICAgICAgICAgIFtzb3VyY2VQb2ludC5sYXRpdHVkZSwgc291cmNlUG9pbnQubG9uZ2l0dWRlXSxcbiAgICAgICAgICBzb3VyY2VQb2ludCxcbiAgICAgICAgICBtYXAsXG4gICAgICAgICk7XG4gICAgICBpZiAodGFyZ2V0UG9pbnQgJiYgKHRhcmdldFBvaW50Lmhhc19kZXZpY2UgfHwgcG9pbnRJc1dXVFAodGFyZ2V0UG9pbnQpKSlcbiAgICAgICAgY3JlYXRlQnViYmxlUG9pbnQoXG4gICAgICAgICAgW3RhcmdldFBvaW50LmxhdGl0dWRlLCB0YXJnZXRQb2ludC5sb25naXR1ZGVdLFxuICAgICAgICAgIHRhcmdldFBvaW50LFxuICAgICAgICAgIG1hcCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwb2x5bGluZUJhY2tbJ2thbmRvX29iamVjdF9pZCddID0gZWRnZS5pZDtcbiAgICBpZiAoZXZlbnQuaG92ZXJlZCkgcG9seWxpbmVCYWNrWydrYW5kb19vYmplY3QnXSA9ICdIb3ZlcmVkRWRnZSc7XG4gICAgaWYgKGV2ZW50LmZvY3VzZWQpIHBvbHlsaW5lQmFja1sna2FuZG9fb2JqZWN0J10gPSAnRm9jdXNlZEVkZ2UnO1xuXG4gICAgcG9seWxpbmVCYWNrLmJyaW5nVG9Gcm9udCgpO1xuICAgIHRhaWxEYXNoLmJyaW5nVG9Gcm9udCgpO1xuXG4gICAgbGV0IHBvbHlsaW5lRnJvbnQ6IGFueSA9IEwucG9seWxpbmUobGF0bG5ncywge1xuICAgICAgY29sb3I6ICdyZ2IoMjksMjksMjkpJyxcbiAgICAgIHdlaWdodDogMSxcbiAgICAgIG9wYWNpdHk6IDEsXG4gICAgfSkuYWRkVG8obWFwKTtcblxuICAgIHBvbHlsaW5lRnJvbnRbJ2thbmRvX29iamVjdF9pZCddID0gZWRnZS5pZDtcbiAgICBpZiAoZXZlbnQuaG92ZXJlZCkgcG9seWxpbmVGcm9udFsna2FuZG9fb2JqZWN0J10gPSAnSG92ZXJlZEVkZ2VGcm9udCc7XG4gICAgaWYgKGV2ZW50LmZvY3VzZWQpIHBvbHlsaW5lRnJvbnRbJ2thbmRvX29iamVjdCddID0gJ0ZvY3VzZWRFZGdlRnJvbnQnO1xuXG4gICAgcG9seWxpbmVGcm9udC5icmluZ1RvRnJvbnQoKTtcbiAgICBpZiAoZXZlbnQuaG92ZXJlZClcbiAgICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFZGdlUGF0aHMoW3BvbHlsaW5lQmFjaywgcG9seWxpbmVGcm9udF0pKTtcbiAgICBsYXRsbmdzID0gW107XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbmRBbmREcmF3RXZlbnROZXR3b3JrRWRnZXMgPSAoXG4gIGVkZ2VzOiBJRWRnZVtdLFxuICBldmVudDogSUV2ZW50LFxuICBwb2ludHM6IElQb2ludFtdLFxuICBkaXNwYXRjaCxcbiAgbWFwLFxuKSA9PiB7XG4gIGxldCBlZGdlc1RvRHJhdzogSUVkZ2VbXSA9IFtdO1xuICBsZXQgZmlyc3RFZGdlID0gZ2V0Rmlyc3RFZGdlT2ZFdmVudFBhdGgoZWRnZXMsIGV2ZW50KTtcblxuICBpZiAoZmlyc3RFZGdlICE9PSB1bmRlZmluZWQpIHtcbiAgICBsZXQgZG93bnN0cmVhbU5ldHdvcms6IElFZGdlW10gPSBbZmlyc3RFZGdlXTtcbiAgICBsZXQgdXBzdHJlYW1FZGdlcyA9IGdldFVwc3RyZWFtRWRnZXMoZmlyc3RFZGdlLCBlZGdlcyk7XG4gICAgaWYgKHVwc3RyZWFtRWRnZXMgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICAgIGlmICh1cHN0cmVhbUVkZ2VzLmxlbmd0aCAhPT0gMClcbiAgICAgIGZpbmRVcHN0cmVhbUVkZ2VzVG9EcmF3KHVwc3RyZWFtRWRnZXMsIGVkZ2VzVG9EcmF3LCBwb2ludHMsIGVkZ2VzKTtcbiAgICBmaW5kRG93bnN0cmVhbUVkZ2VzVG9EcmF3KGZpcnN0RWRnZSwgZWRnZXMsIGRvd25zdHJlYW1OZXR3b3JrLCBlZGdlc1RvRHJhdyk7XG4gIH1cblxuICBkcmF3TmV0d29yayhlZGdlc1RvRHJhdywgcG9pbnRzLCBkaXNwYXRjaCwgbWFwLCBldmVudCk7XG59O1xuXG5leHBvcnQgY29uc3QgcG9pbnRJc09ic2VydmF0aW9uID0gKGV2ZW50OiBJRXZlbnQsIHBvaW50OiBJUG9pbnQpID0+IHtcbiAgcmV0dXJuIGV2ZW50Lm9ic2VydmF0aW9ucy5maW5kKChvYnMpID0+IG9icy5wb2ludF9pZCA9PT0gcG9pbnQuaWQpO1xufTtcblxuZXhwb3J0IGNvbnN0IHBvaW50SXNXV1RQID0gKHBvaW50OiBJUG9pbnQpID0+IHtcbiAgcmV0dXJuIHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6Oldhc3Rld2F0ZXJUcmVhdG1lbnRQbGFudCc7XG59O1xuIl19
@@ -26,15 +26,15 @@ var PointMarkers = function PointMarkers(props) {
26
26
  rerender = _props$rerender === void 0 ? false : _props$rerender;
27
27
 
28
28
  var isPointBelongToGroupTypes = function isPointBelongToGroupTypes(point) {
29
- return point.group.type === 'Groups::WastewaterTreatmentPlant' || point.group.type === 'Groups::Factory' && point.has_device || point.group.type === 'Groups::Collectors' && point.has_device;
29
+ return point.group.type === 'Groups::WastewaterTreatmentPlant' || point.group.type === 'Groups::Factory' && point.has_device || point.group.type === 'Groups::Collectors' && point.has_device || point.group.type === 'Groups::PumpStation' && point.has_device;
30
30
  };
31
31
 
32
32
  var includeUnmonitoredPointsLogic = function includeUnmonitoredPointsLogic(point) {
33
- return includeUnmonitoredPoints ? point.part_of_monitored_path : true;
33
+ return includeUnmonitoredPoints ? point.part_of_monitored_path : false;
34
34
  };
35
35
 
36
36
  var filterStatement = function filterStatement(point) {
37
- return includeUnmonitoredPointsLogic(point) && isPointBelongToGroupTypes(point);
37
+ return includeUnmonitoredPointsLogic(point) || isPointBelongToGroupTypes(point) || point.group.type === 'Groups::WastewaterTreatmentPlant';
38
38
  };
39
39
 
40
40
  var filteredPoints = function filteredPoints() {
@@ -55,4 +55,4 @@ var PointMarkers = function PointMarkers(props) {
55
55
  };
56
56
 
57
57
  exports.PointMarkers = PointMarkers;
58
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9wb2ludHMvUG9pbnRNYXJrZXJzLnRzeCJdLCJuYW1lcyI6WyJQb2ludE1hcmtlcnMiLCJwcm9wcyIsInBvaW50cyIsIm1hcCIsImluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyIsInJlcmVuZGVyIiwiaXNQb2ludEJlbG9uZ1RvR3JvdXBUeXBlcyIsInBvaW50IiwiZ3JvdXAiLCJ0eXBlIiwiaGFzX2RldmljZSIsImluY2x1ZGVVbm1vbml0b3JlZFBvaW50c0xvZ2ljIiwicGFydF9vZl9tb25pdG9yZWRfcGF0aCIsImZpbHRlclN0YXRlbWVudCIsImZpbHRlcmVkUG9pbnRzIiwiZmlsdGVyIiwibGVuZ3RoIiwibGF0aXR1ZGUiLCJsb25naXR1ZGUiLCJpZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7Ozs7O0FBU08sSUFBTUEsWUFBNkIsR0FBRyxTQUFoQ0EsWUFBZ0MsQ0FBQ0MsS0FBRCxFQUFXO0FBQ3RELE1BQ0VDLE1BREYsR0FLSUQsS0FMSixDQUNFQyxNQURGO0FBQUEsTUFFRUMsR0FGRixHQUtJRixLQUxKLENBRUVFLEdBRkY7QUFBQSw4QkFLSUYsS0FMSixDQUdFRyx3QkFIRjtBQUFBLE1BR0VBLHdCQUhGLHNDQUc2QixLQUg3QjtBQUFBLHdCQUtJSCxLQUxKLENBSUVJLFFBSkY7QUFBQSxNQUlFQSxRQUpGLGdDQUlhLEtBSmI7O0FBT0EsTUFBTUMseUJBQXlCLEdBQUcsU0FBNUJBLHlCQUE0QixDQUFDQyxLQUFELEVBQW1CO0FBQ25ELFdBQ0VBLEtBQUssQ0FBQ0MsS0FBTixDQUFZQyxJQUFaLEtBQXFCLGtDQUFyQixJQUNDRixLQUFLLENBQUNDLEtBQU4sQ0FBWUMsSUFBWixLQUFxQixpQkFBckIsSUFBMENGLEtBQUssQ0FBQ0csVUFEakQsSUFFQ0gsS0FBSyxDQUFDQyxLQUFOLENBQVlDLElBQVosS0FBcUIsb0JBQXJCLElBQTZDRixLQUFLLENBQUNHLFVBSHREO0FBS0QsR0FORDs7QUFRQSxNQUFNQyw2QkFBNkIsR0FBRyxTQUFoQ0EsNkJBQWdDLENBQUNKLEtBQUQsRUFBbUI7QUFDdkQsV0FBT0gsd0JBQXdCLEdBQUdHLEtBQUssQ0FBQ0ssc0JBQVQsR0FBa0MsSUFBakU7QUFDRCxHQUZEOztBQUlBLE1BQU1DLGVBQWUsR0FBRyxTQUFsQkEsZUFBa0IsQ0FBQ04sS0FBRCxFQUFXO0FBQ2pDLFdBQ0VJLDZCQUE2QixDQUFDSixLQUFELENBQTdCLElBQXdDRCx5QkFBeUIsQ0FBQ0MsS0FBRCxDQURuRTtBQUdELEdBSkQ7O0FBTUEsTUFBTU8sY0FBYyxHQUFHLFNBQWpCQSxjQUFpQixHQUFNO0FBQzNCLFdBQU9aLE1BQU0sQ0FBQ2EsTUFBUCxDQUFjLFVBQUNSLEtBQUQ7QUFBQSxhQUFtQk0sZUFBZSxDQUFDTixLQUFELENBQWxDO0FBQUEsS0FBZCxDQUFQO0FBQ0QsR0FGRDs7QUFJQSx3QkFBVSxZQUFNLENBQUUsQ0FBbEIsRUFBb0IsQ0FBQ0YsUUFBRCxDQUFwQjtBQUVBLHNCQUNFLDBDQUNHSCxNQUFNLENBQUNjLE1BQVAsS0FBa0IsQ0FBbEIsSUFDQ0YsY0FBYyxHQUFHWCxHQUFqQixDQUNFLFVBQUNJLEtBQUQ7QUFBQSxXQUNFQSxLQUFLLENBQUNVLFFBQU4sSUFDQVYsS0FBSyxDQUFDVyxTQUROLGlCQUVFLDZCQUFDLG9CQUFEO0FBQ0UsTUFBQSxHQUFHLEVBQUVmLEdBRFA7QUFFRSxNQUFBLEtBQUssRUFBRUksS0FGVDtBQUdFLE1BQUEsR0FBRyxFQUFFQSxLQUFLLENBQUNZLEVBSGI7QUFJRSxNQUFBLFFBQVEsRUFBRWQ7QUFKWixNQUhKO0FBQUEsR0FERixDQUZKLENBREY7QUFpQkQsQ0FqRE0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCBQb2ludE1hcmtlciBmcm9tICcuL1BvaW50TWFya2VyJztcblxudHlwZSBQcm9wcyA9IHtcbiAgbWFwOiBhbnk7XG4gIHBvaW50czogYW55O1xuICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHM6IGJvb2xlYW47XG4gIHJlcmVuZGVyOiBib29sZWFuO1xufTtcblxuZXhwb3J0IGNvbnN0IFBvaW50TWFya2VyczogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBwb2ludHMsXG4gICAgbWFwLFxuICAgIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyA9IGZhbHNlLFxuICAgIHJlcmVuZGVyID0gZmFsc2UsXG4gIH0gPSBwcm9wcztcblxuICBjb25zdCBpc1BvaW50QmVsb25nVG9Hcm91cFR5cGVzID0gKHBvaW50OiBJUG9pbnQpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgcG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6V2FzdGV3YXRlclRyZWF0bWVudFBsYW50JyB8fFxuICAgICAgKHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6OkZhY3RvcnknICYmIHBvaW50Lmhhc19kZXZpY2UpIHx8XG4gICAgICAocG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6Q29sbGVjdG9ycycgJiYgcG9pbnQuaGFzX2RldmljZSlcbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IGluY2x1ZGVVbm1vbml0b3JlZFBvaW50c0xvZ2ljID0gKHBvaW50OiBJUG9pbnQpID0+IHtcbiAgICByZXR1cm4gaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzID8gcG9pbnQucGFydF9vZl9tb25pdG9yZWRfcGF0aCA6IHRydWU7XG4gIH07XG5cbiAgY29uc3QgZmlsdGVyU3RhdGVtZW50ID0gKHBvaW50KSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50c0xvZ2ljKHBvaW50KSAmJiBpc1BvaW50QmVsb25nVG9Hcm91cFR5cGVzKHBvaW50KVxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgZmlsdGVyZWRQb2ludHMgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHBvaW50cy5maWx0ZXIoKHBvaW50OiBJUG9pbnQpID0+IGZpbHRlclN0YXRlbWVudChwb2ludCkpO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7fSwgW3JlcmVuZGVyXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2PlxuICAgICAge3BvaW50cy5sZW5ndGggIT09IDAgJiZcbiAgICAgICAgZmlsdGVyZWRQb2ludHMoKS5tYXAoXG4gICAgICAgICAgKHBvaW50OiBJUG9pbnQpID0+XG4gICAgICAgICAgICBwb2ludC5sYXRpdHVkZSAmJlxuICAgICAgICAgICAgcG9pbnQubG9uZ2l0dWRlICYmIChcbiAgICAgICAgICAgICAgPFBvaW50TWFya2VyXG4gICAgICAgICAgICAgICAgbWFwPXttYXB9XG4gICAgICAgICAgICAgICAgcG9pbnQ9e3BvaW50fVxuICAgICAgICAgICAgICAgIGtleT17cG9pbnQuaWR9XG4gICAgICAgICAgICAgICAgcmVyZW5kZXI9e3JlcmVuZGVyfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSxcbiAgICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG4iXX0=
58
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9wb2ludHMvUG9pbnRNYXJrZXJzLnRzeCJdLCJuYW1lcyI6WyJQb2ludE1hcmtlcnMiLCJwcm9wcyIsInBvaW50cyIsIm1hcCIsImluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyIsInJlcmVuZGVyIiwiaXNQb2ludEJlbG9uZ1RvR3JvdXBUeXBlcyIsInBvaW50IiwiZ3JvdXAiLCJ0eXBlIiwiaGFzX2RldmljZSIsImluY2x1ZGVVbm1vbml0b3JlZFBvaW50c0xvZ2ljIiwicGFydF9vZl9tb25pdG9yZWRfcGF0aCIsImZpbHRlclN0YXRlbWVudCIsImZpbHRlcmVkUG9pbnRzIiwiZmlsdGVyIiwibGVuZ3RoIiwibGF0aXR1ZGUiLCJsb25naXR1ZGUiLCJpZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7Ozs7O0FBU08sSUFBTUEsWUFBNkIsR0FBRyxTQUFoQ0EsWUFBZ0MsQ0FBQ0MsS0FBRCxFQUFXO0FBQ3RELE1BQ0VDLE1BREYsR0FLSUQsS0FMSixDQUNFQyxNQURGO0FBQUEsTUFFRUMsR0FGRixHQUtJRixLQUxKLENBRUVFLEdBRkY7QUFBQSw4QkFLSUYsS0FMSixDQUdFRyx3QkFIRjtBQUFBLE1BR0VBLHdCQUhGLHNDQUc2QixLQUg3QjtBQUFBLHdCQUtJSCxLQUxKLENBSUVJLFFBSkY7QUFBQSxNQUlFQSxRQUpGLGdDQUlhLEtBSmI7O0FBT0EsTUFBTUMseUJBQXlCLEdBQUcsU0FBNUJBLHlCQUE0QixDQUFDQyxLQUFELEVBQW1CO0FBQ25ELFdBQ0VBLEtBQUssQ0FBQ0MsS0FBTixDQUFZQyxJQUFaLEtBQXFCLGtDQUFyQixJQUNDRixLQUFLLENBQUNDLEtBQU4sQ0FBWUMsSUFBWixLQUFxQixpQkFBckIsSUFBMENGLEtBQUssQ0FBQ0csVUFEakQsSUFFQ0gsS0FBSyxDQUFDQyxLQUFOLENBQVlDLElBQVosS0FBcUIsb0JBQXJCLElBQTZDRixLQUFLLENBQUNHLFVBRnBELElBR0NILEtBQUssQ0FBQ0MsS0FBTixDQUFZQyxJQUFaLEtBQXFCLHFCQUFyQixJQUE4Q0YsS0FBSyxDQUFDRyxVQUp2RDtBQU1ELEdBUEQ7O0FBU0EsTUFBTUMsNkJBQTZCLEdBQUcsU0FBaENBLDZCQUFnQyxDQUFDSixLQUFELEVBQW1CO0FBQ3ZELFdBQU9ILHdCQUF3QixHQUFHRyxLQUFLLENBQUNLLHNCQUFULEdBQWtDLEtBQWpFO0FBQ0QsR0FGRDs7QUFJQSxNQUFNQyxlQUFlLEdBQUcsU0FBbEJBLGVBQWtCLENBQUNOLEtBQUQsRUFBVztBQUNqQyxXQUNFSSw2QkFBNkIsQ0FBQ0osS0FBRCxDQUE3QixJQUNBRCx5QkFBeUIsQ0FBQ0MsS0FBRCxDQUR6QixJQUVBQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUMsSUFBWixLQUFxQixrQ0FIdkI7QUFLRCxHQU5EOztBQVFBLE1BQU1LLGNBQWMsR0FBRyxTQUFqQkEsY0FBaUIsR0FBTTtBQUMzQixXQUFPWixNQUFNLENBQUNhLE1BQVAsQ0FBYyxVQUFDUixLQUFEO0FBQUEsYUFBbUJNLGVBQWUsQ0FBQ04sS0FBRCxDQUFsQztBQUFBLEtBQWQsQ0FBUDtBQUNELEdBRkQ7O0FBSUEsd0JBQVUsWUFBTSxDQUFFLENBQWxCLEVBQW9CLENBQUNGLFFBQUQsQ0FBcEI7QUFFQSxzQkFDRSwwQ0FDR0gsTUFBTSxDQUFDYyxNQUFQLEtBQWtCLENBQWxCLElBQ0NGLGNBQWMsR0FBR1gsR0FBakIsQ0FDRSxVQUFDSSxLQUFEO0FBQUEsV0FDRUEsS0FBSyxDQUFDVSxRQUFOLElBQ0FWLEtBQUssQ0FBQ1csU0FETixpQkFFRSw2QkFBQyxvQkFBRDtBQUNFLE1BQUEsR0FBRyxFQUFFZixHQURQO0FBRUUsTUFBQSxLQUFLLEVBQUVJLEtBRlQ7QUFHRSxNQUFBLEdBQUcsRUFBRUEsS0FBSyxDQUFDWSxFQUhiO0FBSUUsTUFBQSxRQUFRLEVBQUVkO0FBSlosTUFISjtBQUFBLEdBREYsQ0FGSixDQURGO0FBaUJELENBcERNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgUG9pbnRNYXJrZXIgZnJvbSAnLi9Qb2ludE1hcmtlcic7XG5cbnR5cGUgUHJvcHMgPSB7XG4gIG1hcDogYW55O1xuICBwb2ludHM6IGFueTtcbiAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzOiBib29sZWFuO1xuICByZXJlbmRlcjogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBjb25zdCBQb2ludE1hcmtlcnM6IFJlYWN0LkZDPFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgcG9pbnRzLFxuICAgIG1hcCxcbiAgICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHMgPSBmYWxzZSxcbiAgICByZXJlbmRlciA9IGZhbHNlLFxuICB9ID0gcHJvcHM7XG5cbiAgY29uc3QgaXNQb2ludEJlbG9uZ1RvR3JvdXBUeXBlcyA9IChwb2ludDogSVBvaW50KSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6Oldhc3Rld2F0ZXJUcmVhdG1lbnRQbGFudCcgfHxcbiAgICAgIChwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpGYWN0b3J5JyAmJiBwb2ludC5oYXNfZGV2aWNlKSB8fFxuICAgICAgKHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6OkNvbGxlY3RvcnMnICYmIHBvaW50Lmhhc19kZXZpY2UpIHx8XG4gICAgICAocG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6UHVtcFN0YXRpb24nICYmIHBvaW50Lmhhc19kZXZpY2UpXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHNMb2dpYyA9IChwb2ludDogSVBvaW50KSA9PiB7XG4gICAgcmV0dXJuIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyA/IHBvaW50LnBhcnRfb2ZfbW9uaXRvcmVkX3BhdGggOiBmYWxzZTtcbiAgfTtcblxuICBjb25zdCBmaWx0ZXJTdGF0ZW1lbnQgPSAocG9pbnQpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzTG9naWMocG9pbnQpIHx8XG4gICAgICBpc1BvaW50QmVsb25nVG9Hcm91cFR5cGVzKHBvaW50KSB8fFxuICAgICAgcG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6V2FzdGV3YXRlclRyZWF0bWVudFBsYW50J1xuICAgICk7XG4gIH07XG5cbiAgY29uc3QgZmlsdGVyZWRQb2ludHMgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHBvaW50cy5maWx0ZXIoKHBvaW50OiBJUG9pbnQpID0+IGZpbHRlclN0YXRlbWVudChwb2ludCkpO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7fSwgW3JlcmVuZGVyXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2PlxuICAgICAge3BvaW50cy5sZW5ndGggIT09IDAgJiZcbiAgICAgICAgZmlsdGVyZWRQb2ludHMoKS5tYXAoXG4gICAgICAgICAgKHBvaW50OiBJUG9pbnQpID0+XG4gICAgICAgICAgICBwb2ludC5sYXRpdHVkZSAmJlxuICAgICAgICAgICAgcG9pbnQubG9uZ2l0dWRlICYmIChcbiAgICAgICAgICAgICAgPFBvaW50TWFya2VyXG4gICAgICAgICAgICAgICAgbWFwPXttYXB9XG4gICAgICAgICAgICAgICAgcG9pbnQ9e3BvaW50fVxuICAgICAgICAgICAgICAgIGtleT17cG9pbnQuaWR9XG4gICAgICAgICAgICAgICAgcmVyZW5kZXI9e3JlcmVuZGVyfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSxcbiAgICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG4iXX0=