@kando-env/kando-ui 1.2.467-alpha.1 → 1.2.467-alpha.12
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 +6 -1
- package/lib/Widgets/MostPolluting/Factories/factoriesResponse.interface.js +1 -1
- package/lib/components/SeasonalInsights/SeasonalInsights.js +20 -10
- package/lib/i18n/en.json +6 -2
- package/lib/macros/getVersion.js +2 -2
- package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +2 -2
- package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +2 -1
- package/lib/pages/NetworkPage/NetworkPage.js +48 -0
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +7 -9
- package/lib/ui-kit/HierarchyGraph/AutoFitTree.js +27 -10
- package/lib/ui-kit/HierarchyGraph/HierarchyGraph.js +20 -10
- package/lib/ui-kit/HierarchyGraph/NetworkNode.js +37 -0
- package/lib/ui-kit/HierarchyGraph/style.scss +4 -0
- package/package.json +1 -1
|
@@ -299,7 +299,7 @@ var FilterContainer = function FilterContainer(props) {
|
|
|
299
299
|
history.push("/".concat(nav_context_data.navContext.name, "/index?water_authority_id=").concat(global_data.waterAuthorityId, "&locale=").concat(nav_context_data.navContext.locale, "&valuesFromKQL=").concat((0, _kql.buildKQLQuery)(filter, value)));
|
|
300
300
|
if (applyLogic !== undefined) applyLogic((0, _kql.buildKQLQuery)(filter, value));
|
|
301
301
|
}
|
|
302
|
-
if (fetchType === 'HierarchyFilter') {
|
|
302
|
+
if (fetchType === 'HierarchyFilter' || fetchType === 'NetworkFilter') {
|
|
303
303
|
applyLogic(filter);
|
|
304
304
|
}
|
|
305
305
|
dispatch((0, _actions.setEventFilterParam)((0, _kql.buildKQLQuery)(filter, value)));
|
|
@@ -406,4 +406,4 @@ var FilterContainer = function FilterContainer(props) {
|
|
|
406
406
|
var connector = (0, _reactRedux.connect)(mapStateToProps);
|
|
407
407
|
var _default = connector(FilterContainer);
|
|
408
408
|
exports.default = _default;
|
|
409
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RCb290c3RyYXAiLCJfRHJvcGRvd24iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3JlYWN0UmVkdXgiLCJfcmVhY3RSb3V0ZXJEb20iLCJfZGlza2V0dGUiLCJfbGlzdCIsIl9hY3Rpb25zIiwiX2kxOG4iLCJfa3FsIiwiX0ZpbHRlciIsIl9GaWx0ZXJzRHJvcERvd24iLCJfYWN0aW9uc0NyZWF0b3IiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIm1hcFN0YXRlVG9Qcm9wcyIsInN0YXRlIiwiZ2xvYmFsX2RhdGEiLCJuYXZfY29udGV4dF9kYXRhIiwicG9pbnRzX2RhdGEiLCJGaWx0ZXJDb250YWluZXIiLCJwcm9wcyIsImN1c3RvbV9wb2ludHMiLCJmaWx0ZXJQb3B1cE9wZW4iLCJhcHBseUxvZ2ljIiwiX3Byb3BzJGZldGNoVHlwZSIsImZldGNoVHlwZSIsIl9wcm9wcyRyZXNldEZpbHRlciIsInJlc2V0RmlsdGVyIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsIm5hbWVJbnB1dCIsInVzZVJlZiIsImZpbHRlckNvbnRlbnQiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJmaWx0ZXJzIiwic2V0RmlsdGVycyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiYXZhaWxhYmxlRmlsdGVySXRlbXMiLCJzZXRBdmFpbGFibGVGaWx0ZXJJdGVtcyIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwicmVuZGVyZWQiLCJzZXRSZW5kZXJlZCIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwiV2FJZCIsInNldFdhSWQiLCJfdXNlU3RhdGU5IiwidW5kZWZpbmVkIiwiX3VzZVN0YXRlMTAiLCJhY3RpdmVGaWx0ZXIiLCJzZXRBY3RpdmVGaWx0ZXIiLCJfdXNlU3RhdGUxMSIsIl91c2VTdGF0ZTEyIiwiZGVmYXVsdEZpbHRlcnMiLCJzZXREZWZhdWx0RmlsdGVycyIsIl91c2VTdGF0ZTEzIiwiX3VzZVN0YXRlMTQiLCJhY3RpdmVGaWx0ZXJDb3B5Iiwic2V0QWN0aXZlRmlsdGVyQ29weSIsImNzcmYiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJnZXRBdHRyaWJ1dGUiLCJ1c2VRdWVyeSIsIlVSTFNlYXJjaFBhcmFtcyIsInVzZUxvY2F0aW9uIiwic2VhcmNoIiwiaGlzdG9yeSIsInVzZUhpc3RvcnkiLCJxdWVyeSIsImdldEtRTEZyb21VUkwiLCJoYW5kbGVSZXNldEZpbHRlciIsImRlZmF1bHRGaWx0ZXJzQ2xvbmUiLCJKU09OIiwicGFyc2UiLCJzdHJpbmdpZnkiLCJnZXRQb2ludHNUb0ZpbHRlcnMiLCJpbnRlcmVzdFBvaW50RmlsdGVySXRlbSIsImZpbmQiLCJmIiwidHlwZSIsImZpbHRlcmVkUG9pbnRzRGF0YSIsIml0ZW1zIiwiZmlsdGVyIiwicG9pbnQiLCJwYXJ0X29mX29ic2VydmF0aW9uIiwibWFwIiwiaWQiLCJuYW1lIiwiZ3JvdXAiLCJvcHRpb25zIiwiZm9yRWFjaCIsImZpbHRlckl0ZW0iLCJmaWx0ZXJfaXRlbXMiLCJmaSIsImF2YWlsYWJsZV9vcHRpb25zIiwidXBkYXRlU2l0ZVRvRmlsdGVycyIsInNpdGVGaWx0ZXJJdGVtIiwiZmV0Y2hFdmVudEZpbHRlcnMiLCJwcmVwYXJlZFBhcmFtcyIsIm1ldGhvZCIsInVybCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZldGNoIiwiaGVhZGVycyIsIkFjY2VwdCIsImJvZHkiLCJ0aGVuIiwicmVzcG9uc2UiLCJqc29uIiwiZGF0YSIsImF2YWlsYWJsZV9maWx0ZXJfaXRlbXMiLCJzYXZlZCIsImRlZXBDbG9uZSIsIl91c2VQYXJhbXMiLCJ1c2VQYXJhbXMiLCJzaXRlSUQiLCJhcmVhSUQiLCJnZXREYXRhIiwiZmlyc3RUaW1lIiwiY29uY2F0Iiwid2F0ZXJBdXRob3JpdHlJZCIsImpzb25TaGFsbG93Q29weSIsImFzc2lnbiIsImFjdGl2ZSIsImRpc3BsYXllZF9maWx0ZXIiLCJzZWxlY3RlZFBlcmlvZCIsInNlbGVjdGVkX29wdGlvbnMiLCJhY3RpdmF0ZUZpbHRlciIsImFwcGx5RmlsdGVyIiwiaGFuZGxlRmlsdGVyQ2hhbmdlIiwiY3VycmVudCIsImNsaWNrIiwic2F2ZUFjdGl2ZUZpbHRlciIsImNsb25lZEZpbHRlcnMiLCJmaWx0ZXJUb01vZGlmeUluZGV4IiwiaW5kZXhPZiIsImZpbHRlcl90eXBlIiwidWlfZmlsdGVyIiwiaXNfYWN0aXZlIiwiTWF0aCIsInNpZ24iLCJjcmVhdGVGaWx0ZXIiLCJuZXdGaWx0ZXIiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwiZGVsZXRlRmlsdGVyIiwiZ2V0RXZlbnRJZEZyb21VUkwiLCJnZXRXYUlkRnJvbVVSTCIsImdldEtRTFZhbHVlc0Zyb21VUkwiLCJ2YWx1ZSIsIm5hdkNvbnRleHQiLCJpbmNsdWRlcyIsInB1c2giLCJsb2NhbGUiLCJidWlsZEtRTFF1ZXJ5Iiwic2V0RXZlbnRGaWx0ZXJQYXJhbSIsInNldEFjdGl2ZUZpbHRlckdsb2JhbGx5Iiwic2V0U2FtcGxpbmdEYXRhIiwiY3VycmVudFBhZ2UiLCJpc0ZldGNoIiwiaGFuZGxlQ3JlYXRpb25DbGljayIsInVzZUVmZmVjdCIsImV2ZW50RmlsdGVyUGFyYW0iLCJjbGVhbnVwIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsInJlZiIsImkxOG4iLCJ0IiwiVG9nZ2xlIiwidmFyaWFudCIsIlJlYWN0Q29tcG9uZW50IiwiaGVpZ2h0Iiwid2lkdGgiLCJmaWxsIiwiTWVudSIsIkl0ZW0iLCJkaXNhYmxlZCIsIm9uQ2xpY2siLCJGb3JtQ29udHJvbCIsInBsYWNlaG9sZGVyIiwiYXV0b0ZvY3VzIiwiQnV0dG9uIiwicGFyc2VTZWxlY3RlZEl0ZW1zIiwiY29ubmVjdG9yIiwiY29ubmVjdCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9FdmVudHNQYWdlL2V2ZW50cy9ldmVudHNfbGlzdC9GaWx0ZXIvRmlsdGVyQ29udGFpbmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQnV0dG9uLCBGb3JtQ29udHJvbCB9IGZyb20gJ3JlYWN0LWJvb3RzdHJhcCc7XG5pbXBvcnQgRHJvcGRvd24gZnJvbSAncmVhY3QtYm9vdHN0cmFwL0Ryb3Bkb3duJztcbmltcG9ydCB7IGNvbm5lY3QsIENvbm5lY3RlZFByb3BzLCB1c2VEaXNwYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IHVzZUhpc3RvcnksIHVzZUxvY2F0aW9uLCB1c2VQYXJhbXMgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIFNhdmVJY29uIH0gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9kaXNrZXR0ZS5zdmcnO1xuaW1wb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgTGlzdEljb24gfSBmcm9tICdzcmMvYXNzZXRzL2ljb25zL2xpc3Quc3ZnJztcbmltcG9ydCB7IElBcHBTdGF0ZSB9IGZyb20gJ3NyYy9tb2RlbHMvSUFwcFN0YXRlJztcbmltcG9ydCB7IElGaWx0ZXIgfSBmcm9tICdzcmMvc3RvcmUvZmlsdGVycy9JRmlsdGVyJztcbmltcG9ydCB7IElGaWx0ZXJJdGVtIH0gZnJvbSAnc3JjL3N0b3JlL2ZpbHRlcnMvSUZpbHRlckl0ZW0nO1xuaW1wb3J0IHtcbiAgc2V0QWN0aXZlRmlsdGVyR2xvYmFsbHksXG4gIHNldEV2ZW50RmlsdGVyUGFyYW0sXG59IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IGJ1aWxkS1FMUXVlcnksIHBhcnNlU2VsZWN0ZWRJdGVtcyB9IGZyb20gJ3NyYy91dGlsaXRpZXMva3FsJztcbmltcG9ydCAnLi9GaWx0ZXJTdHlsZS5zY3NzJztcbmltcG9ydCBGaWx0ZXIgZnJvbSAnLi9GaWx0ZXInO1xuaW1wb3J0IEZpbHRlcnNEcm9wRG93biBmcm9tICcuL0ZpbHRlcnNEcm9wRG93bic7XG5pbXBvcnQgeyBzZXRTYW1wbGluZ0RhdGEgfSBmcm9tICdzcmMvc3RvcmUvc2FtcGxpbmdzL2FjdGlvbnNDcmVhdG9yJztcbmZ1bmN0aW9uIG1hcFN0YXRlVG9Qcm9wcyhzdGF0ZTogSUFwcFN0YXRlKSB7XG4gIGNvbnN0IHsgZ2xvYmFsX2RhdGEsIG5hdl9jb250ZXh0X2RhdGEsIHBvaW50c19kYXRhIH0gPSBzdGF0ZTtcblxuICByZXR1cm4ge1xuICAgIGdsb2JhbF9kYXRhLFxuICAgIG5hdl9jb250ZXh0X2RhdGEsXG4gICAgcG9pbnRzX2RhdGEsXG4gIH07XG59XG5cbnR5cGUgSVByb3BzID0gQ29ubmVjdGVkUHJvcHM8dHlwZW9mIGNvbm5lY3Rvcj4gJiB7XG4gIGZpbHRlclBvcHVwT3BlbjogYm9vbGVhbjtcbiAgZmV0Y2hUeXBlOiBzdHJpbmc7XG4gIGN1c3RvbV9wb2ludHM/OiBhbnk7XG4gIGFwcGx5TG9naWM/OiAodmFsdWVzOiBzdHJpbmcpID0+IHZvaWQ7XG4gIHJlc2V0RmlsdGVyPzogKGZpbHRlcikgPT4gdm9pZDtcbn07XG5cbmNvbnN0IEZpbHRlckNvbnRhaW5lcjogUmVhY3QuRkM8SVByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgZ2xvYmFsX2RhdGEsXG4gICAgbmF2X2NvbnRleHRfZGF0YSxcbiAgICBwb2ludHNfZGF0YSxcbiAgICBjdXN0b21fcG9pbnRzLFxuICAgIGZpbHRlclBvcHVwT3BlbixcbiAgICBhcHBseUxvZ2ljLFxuICAgIGZldGNoVHlwZSA9ICdFdmVudEZpbHRlcnMnLFxuICAgIHJlc2V0RmlsdGVyID0gbnVsbCxcbiAgfSA9IHByb3BzO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IG5hbWVJbnB1dCA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKTtcbiAgY29uc3QgZmlsdGVyQ29udGVudCA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IFtmaWx0ZXJzLCBzZXRGaWx0ZXJzXSA9IHVzZVN0YXRlPGFueT4oW10pO1xuICBjb25zdCBbYXZhaWxhYmxlRmlsdGVySXRlbXMsIHNldEF2YWlsYWJsZUZpbHRlckl0ZW1zXSA9IHVzZVN0YXRlKFtdKTtcbiAgY29uc3QgW3JlbmRlcmVkLCBzZXRSZW5kZXJlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtXYUlkLCBzZXRXYUlkXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KCk7XG4gIC8vZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gIGNvbnN0IFthY3RpdmVGaWx0ZXIsIHNldEFjdGl2ZUZpbHRlcl0gPSB1c2VTdGF0ZTxhbnk+KHVuZGVmaW5lZCk7XG4gIGNvbnN0IFtkZWZhdWx0RmlsdGVycywgc2V0RGVmYXVsdEZpbHRlcnNdID0gdXNlU3RhdGU8YW55Pih7fSk7XG4gIGNvbnN0IFthY3RpdmVGaWx0ZXJDb3B5LCBzZXRBY3RpdmVGaWx0ZXJDb3B5XSA9IHVzZVN0YXRlPGFueT4odW5kZWZpbmVkKTtcbiAgLy8gQHRzLWlnbm9yZVxuICBjb25zdCBjc3JmID0gZG9jdW1lbnRcbiAgICAucXVlcnlTZWxlY3RvcihcIm1ldGFbbmFtZT0nY3NyZi10b2tlbiddXCIpXG4gICAgLmdldEF0dHJpYnV0ZSgnY29udGVudCcpO1xuICBjb25zdCB1c2VRdWVyeSA9ICgpID0+IHtcbiAgICByZXR1cm4gbmV3IFVSTFNlYXJjaFBhcmFtcyh1c2VMb2NhdGlvbigpLnNlYXJjaCk7XG4gIH07XG4gIGNvbnN0IGhpc3RvcnkgPSB1c2VIaXN0b3J5KCk7XG4gIGNvbnN0IHF1ZXJ5ID0gdXNlUXVlcnkoKTtcbiAgY29uc3QgZ2V0S1FMRnJvbVVSTCA9ICgpID0+IHtcbiAgICByZXR1cm4gcXVlcnkuZ2V0KCd2YWx1ZXNGcm9tS1FMJyk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlUmVzZXRGaWx0ZXIgPSAoKSA9PiB7XG4gICAgY29uc3QgZGVmYXVsdEZpbHRlcnNDbG9uZSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZGVmYXVsdEZpbHRlcnMpKTtcbiAgICByZXNldEZpbHRlciAmJiByZXNldEZpbHRlcihkZWZhdWx0RmlsdGVyc0Nsb25lKTtcbiAgICBzZXRBY3RpdmVGaWx0ZXJDb3B5KGRlZmF1bHRGaWx0ZXJzQ2xvbmUpO1xuICB9O1xuXG4gIGNvbnN0IGdldFBvaW50c1RvRmlsdGVycyA9IChhdmFpbGFibGVGaWx0ZXJJdGVtczogYW55LCBmaWx0ZXJzOiBhbnkpID0+IHtcbiAgICBsZXQgaW50ZXJlc3RQb2ludEZpbHRlckl0ZW0gPSBhdmFpbGFibGVGaWx0ZXJJdGVtcy5maW5kKFxuICAgICAgKGY6IElGaWx0ZXJJdGVtKSA9PiBmLnR5cGUgPT09ICdJbnRlcmVzdFBvaW50RmlsdGVySXRlbScsXG4gICAgKTtcbiAgICBsZXQgZmlsdGVyZWRQb2ludHNEYXRhID1cbiAgICAgIGN1c3RvbV9wb2ludHMgfHxcbiAgICAgIHBvaW50c19kYXRhLml0ZW1zXG4gICAgICAgIC5maWx0ZXIoKHBvaW50OiBJUG9pbnQpID0+IHBvaW50LnBhcnRfb2Zfb2JzZXJ2YXRpb24gPT09IHRydWUpXG4gICAgICAgIC5tYXAoKHBvaW50OiBJUG9pbnQpID0+IHtcbiAgICAgICAgICByZXR1cm4geyBpZDogcG9pbnQuaWQsIG5hbWU6IHBvaW50Lmdyb3VwLm5hbWUgfTtcbiAgICAgICAgfSk7XG5cbiAgICBpZiAoaW50ZXJlc3RQb2ludEZpbHRlckl0ZW0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgaW50ZXJlc3RQb2ludEZpbHRlckl0ZW0ub3B0aW9ucyA9IGZpbHRlcmVkUG9pbnRzRGF0YTtcbiAgICB9XG5cbiAgICBmaWx0ZXJzLmZvckVhY2goKGY6IElGaWx0ZXIpID0+IHtcbiAgICAgIGxldCBmaWx0ZXJJdGVtID0gZi5maWx0ZXJfaXRlbXMuZmluZChcbiAgICAgICAgKGZpOiBJRmlsdGVySXRlbSkgPT4gZmkudHlwZSA9PT0gJ0ludGVyZXN0UG9pbnRGaWx0ZXJJdGVtJyxcbiAgICAgICk7XG5cbiAgICAgIGlmIChmaWx0ZXJJdGVtICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZmlsdGVySXRlbS5hdmFpbGFibGVfb3B0aW9ucyA9IGZpbHRlcmVkUG9pbnRzRGF0YTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAoY3VzdG9tX3BvaW50cykge1xuICAgICAgdXBkYXRlU2l0ZVRvRmlsdGVycyhhdmFpbGFibGVGaWx0ZXJJdGVtcywgZmlsdGVycyk7XG4gICAgfVxuICAgIHNldEZpbHRlcnMoZmlsdGVycyk7XG4gIH07XG5cbiAgY29uc3QgdXBkYXRlU2l0ZVRvRmlsdGVycyA9IChhdmFpbGFibGVGaWx0ZXJJdGVtczogYW55LCBmaWx0ZXJzOiBhbnkpID0+IHtcbiAgICBsZXQgc2l0ZUZpbHRlckl0ZW0gPSBhdmFpbGFibGVGaWx0ZXJJdGVtcy5maW5kKFxuICAgICAgKGY6IElGaWx0ZXJJdGVtKSA9PiBmLnR5cGUgPT09ICdTaXRlRmlsdGVySXRlbScsXG4gICAgKTtcbiAgICBsZXQgZmlsdGVyZWRQb2ludHNEYXRhID0gY3VzdG9tX3BvaW50cztcblxuICAgIGlmIChzaXRlRmlsdGVySXRlbSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBzaXRlRmlsdGVySXRlbS5vcHRpb25zID0gZmlsdGVyZWRQb2ludHNEYXRhO1xuICAgIH1cblxuICAgIGZpbHRlcnMuZm9yRWFjaCgoZjogSUZpbHRlcikgPT4ge1xuICAgICAgbGV0IGZpbHRlckl0ZW0gPSBmLmZpbHRlcl9pdGVtcy5maW5kKFxuICAgICAgICAoZmk6IElGaWx0ZXJJdGVtKSA9PiBmaS50eXBlID09PSAnU2l0ZUZpbHRlckl0ZW0nLFxuICAgICAgKTtcblxuICAgICAgaWYgKGZpbHRlckl0ZW0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBmaWx0ZXJJdGVtLmF2YWlsYWJsZV9vcHRpb25zID0gZmlsdGVyZWRQb2ludHNEYXRhO1xuICAgICAgfVxuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IGZldGNoRXZlbnRGaWx0ZXJzID0gKFxuICAgIHByZXBhcmVkUGFyYW1zOiBhbnksXG4gICAgbWV0aG9kOiBzdHJpbmcsXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgZmlsdGVyOiBhbnkgPSBudWxsLFxuICApID0+IHtcbiAgICBpZiAoY3NyZiAhPT0gbnVsbCkge1xuICAgICAgZmV0Y2godXJsLCB7XG4gICAgICAgIG1ldGhvZDogbWV0aG9kLFxuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgICAnWC1DU1JGLVRva2VuJzogY3NyZixcbiAgICAgICAgICBBY2NlcHQ6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgfSxcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkocHJlcGFyZWRQYXJhbXMpLFxuICAgICAgfSlcbiAgICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiByZXNwb25zZS5qc29uKCkpXG4gICAgICAgIC50aGVuKChkYXRhKSA9PiB7XG4gICAgICAgICAgZ2V0UG9pbnRzVG9GaWx0ZXJzKGRhdGEuYXZhaWxhYmxlX2ZpbHRlcl9pdGVtcywgZGF0YS5maWx0ZXJzKTtcblxuICAgICAgICAgIGlmIChmaWx0ZXIgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGxldCBzYXZlZCA9IGRhdGEuZmlsdGVycy5maW5kKFxuICAgICAgICAgICAgICAoZjogSUZpbHRlcikgPT4gZi5uYW1lID09PSBmaWx0ZXIubmFtZSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBzZXRBY3RpdmVGaWx0ZXIoc2F2ZWQpO1xuICAgICAgICAgICAgc2V0QWN0aXZlRmlsdGVyQ29weShzYXZlZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgZGVlcENsb25lID0gKGRhdGE6IGFueSkgPT4ge1xuICAgIHJldHVybiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGRhdGEpKTtcbiAgfTtcblxuICBjb25zdCB7IHNpdGVJRCwgYXJlYUlEIH0gPSB1c2VQYXJhbXMoKTtcblxuICBjb25zdCBnZXREYXRhID0gKGZpcnN0VGltZSA9IGZhbHNlKSA9PiB7XG4gICAgZmV0Y2goXG4gICAgICBgL3VpX2ZpbHRlcnMuanNvbj93YXRlcl9hdXRob3JpdHlfaWQ9JHtcbiAgICAgICAgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZFxuICAgICAgfSZmaWx0ZXJfdHlwZT0ke2ZldGNoVHlwZX0mdmFsdWVzRnJvbUtRTD0ke2dldEtRTEZyb21VUkwoKX0ke1xuICAgICAgICBzaXRlSUQgPyBgJnNpdGVfaWQ9JHtzaXRlSUR9YCA6ICcnXG4gICAgICB9JHthcmVhSUQgPyBgJmFyZWFfaWQ9JHthcmVhSUR9YCA6ICcnfWAsXG4gICAgKVxuICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiByZXNwb25zZS5qc29uKCkpXG4gICAgICAudGhlbigoanNvbikgPT4ge1xuICAgICAgICBnZXRQb2ludHNUb0ZpbHRlcnMoanNvbi5hdmFpbGFibGVfZmlsdGVyX2l0ZW1zLCBqc29uLmZpbHRlcnMpO1xuXG4gICAgICAgIGxldCBqc29uU2hhbGxvd0NvcHkgPSBPYmplY3QuYXNzaWduKHt9LCBqc29uKTtcbiAgICAgICAganNvblNoYWxsb3dDb3B5LmZpbHRlcnMgPSBkZWVwQ2xvbmUoanNvblNoYWxsb3dDb3B5LmZpbHRlcnMpO1xuICAgICAgICBsZXQgYWN0aXZlID0ganNvblNoYWxsb3dDb3B5LmRpc3BsYXllZF9maWx0ZXI7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIGdsb2JhbF9kYXRhLnNlbGVjdGVkUGVyaW9kICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICBnbG9iYWxfZGF0YS5zZWxlY3RlZFBlcmlvZCAhPT0gbnVsbFxuICAgICAgICApIHtcbiAgICAgICAgICBhY3RpdmUuZmlsdGVyX2l0ZW1zWzFdLnNlbGVjdGVkX29wdGlvbnMgPSBbXG4gICAgICAgICAgICBnbG9iYWxfZGF0YS5zZWxlY3RlZFBlcmlvZCxcbiAgICAgICAgICBdO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGFjdGl2ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgYWN0aXZhdGVGaWx0ZXIoanNvblNoYWxsb3dDb3B5LmZpbHRlcnNbMF0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNldEF2YWlsYWJsZUZpbHRlckl0ZW1zKGpzb25TaGFsbG93Q29weS5hdmFpbGFibGVfZmlsdGVyX2l0ZW1zKTtcbiAgICAgICAgICBzZXRBY3RpdmVGaWx0ZXIoYWN0aXZlKTtcbiAgICAgICAgICBzZXRBY3RpdmVGaWx0ZXJDb3B5KGFjdGl2ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGZpcnN0VGltZSkge1xuICAgICAgICAgIGNvbnN0IGRlZmF1bHRGaWx0ZXJzQ2xvbmUgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGFjdGl2ZSkpO1xuICAgICAgICAgIHNldERlZmF1bHRGaWx0ZXJzKGRlZmF1bHRGaWx0ZXJzQ2xvbmUpO1xuICAgICAgICB9XG5cbiAgICAgICAgYXBwbHlGaWx0ZXIoYWN0aXZlKTtcbiAgICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUZpbHRlckNoYW5nZSA9IChmaWx0ZXI6IElGaWx0ZXIpID0+IHtcbiAgICBzZXRBY3RpdmVGaWx0ZXIoZGVlcENsb25lKGZpbHRlcikpO1xuICAgIHNldEFjdGl2ZUZpbHRlckNvcHkoZGVlcENsb25lKGZpbHRlcikpO1xuICAgIGZpbHRlckNvbnRlbnQuY3VycmVudCEuY2xpY2soKTtcbiAgfTtcblxuICBjb25zdCBzYXZlQWN0aXZlRmlsdGVyID0gKFxuICAgIGZpbHRlcjpcbiAgICAgIHwgSUZpbHRlclxuICAgICAgfCB7XG4gICAgICAgICAgaWQ6IG51bWJlcjtcbiAgICAgICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICAgICAgZmlsdGVyX2l0ZW1zOiBJRmlsdGVySXRlbVtdO1xuICAgICAgICAgIGlzX2FjdGl2ZTogYm9vbGVhbjtcbiAgICAgICAgfSxcbiAgKSA9PiB7XG4gICAgbGV0IGNsb25lZEZpbHRlcnMgPSBkZWVwQ2xvbmUoZmlsdGVycyk7XG4gICAgbGV0IGZpbHRlclRvTW9kaWZ5SW5kZXggPSBjbG9uZWRGaWx0ZXJzLmluZGV4T2YoXG4gICAgICBjbG9uZWRGaWx0ZXJzLmZpbmQoKGY6IGFueSkgPT4gZi5pZCA9PT0gZmlsdGVyLmlkKSxcbiAgICApO1xuICAgIGxldCBwcmVwYXJlZFBhcmFtcyA9IHtcbiAgICAgIGZpbHRlcl90eXBlOiBmZXRjaFR5cGUsXG4gICAgICB1aV9maWx0ZXI6IHtcbiAgICAgICAgbmFtZTogZmlsdGVyLm5hbWUsXG4gICAgICAgIGlzX2FjdGl2ZTogZmlsdGVyLmlzX2FjdGl2ZSxcbiAgICAgICAgZmlsdGVyX2l0ZW1zOiBKU09OLnN0cmluZ2lmeShmaWx0ZXIuZmlsdGVyX2l0ZW1zKSxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIGNsb25lZEZpbHRlcnNbZmlsdGVyVG9Nb2RpZnlJbmRleF0gPSBmaWx0ZXI7XG4gICAgc2V0RmlsdGVycyhjbG9uZWRGaWx0ZXJzKTtcbiAgICBzZXRBY3RpdmVGaWx0ZXIoZmlsdGVyKTtcbiAgICBzZXRBY3RpdmVGaWx0ZXJDb3B5KGZpbHRlcik7XG5cbiAgICBpZiAoTWF0aC5zaWduKGZpbHRlci5pZCkgPiAwKSB7XG4gICAgICBmZXRjaEV2ZW50RmlsdGVycyhcbiAgICAgICAgcHJlcGFyZWRQYXJhbXMsXG4gICAgICAgICdQVVQnLFxuICAgICAgICBgL3VpX2ZpbHRlcnMvJHtmaWx0ZXIuaWR9P3dhdGVyX2F1dGhvcml0eV9pZD0ke2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWR9YCxcbiAgICAgICAgZmlsdGVyLFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZmV0Y2hFdmVudEZpbHRlcnMoXG4gICAgICAgIHByZXBhcmVkUGFyYW1zLFxuICAgICAgICAnUE9TVCcsXG4gICAgICAgIGAvdWlfZmlsdGVycz93YXRlcl9hdXRob3JpdHlfaWQ9JHtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkfWAsXG4gICAgICAgIGZpbHRlcixcbiAgICAgICk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGNyZWF0ZUZpbHRlciA9IChmaWx0ZXI6IElGaWx0ZXIsIG5hbWU6IHN0cmluZykgPT4ge1xuICAgIGxldCBuZXdGaWx0ZXIgPSB7XG4gICAgICBpZDogLTEsXG4gICAgICBuYW1lOiBuYW1lLFxuICAgICAgZmlsdGVyX2l0ZW1zOiBmaWx0ZXIuZmlsdGVyX2l0ZW1zLFxuICAgICAgaXNfYWN0aXZlOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgc2V0RmlsdGVycyhbLi4uZmlsdGVycywgbmV3RmlsdGVyXSk7XG4gICAgc2V0QWN0aXZlRmlsdGVyQ29weShuZXdGaWx0ZXIpO1xuICAgIHNldEFjdGl2ZUZpbHRlcihuZXdGaWx0ZXIpO1xuICAgIHNhdmVBY3RpdmVGaWx0ZXIobmV3RmlsdGVyKTtcbiAgfTtcblxuICBjb25zdCBkZWxldGVGaWx0ZXIgPSAoZmlsdGVyOiBJRmlsdGVyKSA9PiB7XG4gICAgaWYgKGNzcmYgIT09IG51bGwgJiYgZmlsdGVyLmlkICE9PSAtMSkge1xuICAgICAgZmV0Y2goXG4gICAgICAgIGAvdWlfZmlsdGVycy8ke2ZpbHRlci5pZH0/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7Z2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZH0mZmlsdGVyX3R5cGU9JHtmZXRjaFR5cGV9YCxcbiAgICAgICAge1xuICAgICAgICAgIG1ldGhvZDogJ0RFTEVURScsXG4gICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgJ1gtQ1NSRi1Ub2tlbic6IGNzcmYsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIClcbiAgICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiByZXNwb25zZS5qc29uKCkpXG4gICAgICAgIC50aGVuKChkYXRhKSA9PiB7XG4gICAgICAgICAgbGV0IGFjdGl2ZSA9IGRhdGEuZmlsdGVycy5maW5kKFxuICAgICAgICAgICAgKGZpbHRlcjogSUZpbHRlcikgPT4gZmlsdGVyLmlzX2FjdGl2ZSA9PT0gdHJ1ZSxcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgaWYgKGFjdGl2ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBzZXRGaWx0ZXJzKGRhdGEuZmlsdGVycyk7XG4gICAgICAgICAgICBzZXRBY3RpdmVGaWx0ZXIoYWN0aXZlKTtcbiAgICAgICAgICAgIHNldEFjdGl2ZUZpbHRlckNvcHkoYWN0aXZlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKGRhdGEuZmlsdGVycy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgZ2V0RGF0YSgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgZGF0YS5maWx0ZXJzWzBdLmlzX2FjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgICAgIHNldEFjdGl2ZUZpbHRlcihkYXRhLmZpbHRlcnNbMF0pO1xuICAgICAgICAgICAgICBzZXRBY3RpdmVGaWx0ZXJDb3B5KGRhdGEuZmlsdGVyc1swXSk7XG4gICAgICAgICAgICAgIHNldEZpbHRlcnMoZGF0YS5maWx0ZXJzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBnZXRFdmVudElkRnJvbVVSTCA9ICgpID0+IHtcbiAgICByZXR1cm4gcXVlcnkuZ2V0KCdldmVudElkJyk7XG4gIH07XG5cbiAgY29uc3QgZ2V0V2FJZEZyb21VUkwgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHF1ZXJ5LmdldCgnd2F0ZXJfYXV0aG9yaXR5X2lkJyk7XG4gIH07XG5cbiAgY29uc3QgZ2V0S1FMVmFsdWVzRnJvbVVSTCA9ICgpID0+IHtcbiAgICByZXR1cm4gcXVlcnkuZ2V0KCd2YWx1ZXNGcm9tS1FMJyk7XG4gIH07XG5cbiAgY29uc3QgYWN0aXZhdGVGaWx0ZXIgPSAoZmlsdGVyOiBJRmlsdGVyKSA9PiB7XG4gICAgZmV0Y2hFdmVudEZpbHRlcnMoXG4gICAgICB7fSxcbiAgICAgICdQVVQnLFxuICAgICAgYC91aV9maWx0ZXJzL2FjdGl2YXRlLyR7ZmlsdGVyLmlkfT93YXRlcl9hdXRob3JpdHlfaWQ9JHtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkfSZmaWx0ZXJfdHlwZT0ke2ZldGNoVHlwZX1gLFxuICAgICAgZmlsdGVyLFxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgYXBwbHlGaWx0ZXIgPSAoZmlsdGVyID0gYWN0aXZlRmlsdGVyQ29weSkgPT4ge1xuICAgIGxldCB2YWx1ZSA9ICdvYnNlcnZlZF91cHN0cmVhbSc7XG5cbiAgICBpZiAobmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWUgPT09ICdzYW1wbGluZ3MtbGlzdCcpIHtcbiAgICAgIHZhbHVlID0gJ25ld2VzdCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChnZXRLUUxWYWx1ZXNGcm9tVVJMKCkgIT09IG51bGwpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGdldEtRTFZhbHVlc0Zyb21VUkwoKSEuaW5jbHVkZXMoJ09SREVSX0JZJykgJiZcbiAgICAgICAgICBnZXRLUUxWYWx1ZXNGcm9tVVJMKCkhLmluY2x1ZGVzKCduZXdlc3QnKVxuICAgICAgICApIHtcbiAgICAgICAgICB2YWx1ZSA9ICduZXdlc3QnO1xuICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgIGdldEtRTFZhbHVlc0Zyb21VUkwoKSEuaW5jbHVkZXMoJ09SREVSX0JZJykgJiZcbiAgICAgICAgICBnZXRLUUxWYWx1ZXNGcm9tVVJMKCkhLmluY2x1ZGVzKCdvbGRlc3QnKVxuICAgICAgICApIHtcbiAgICAgICAgICB2YWx1ZSA9ICdvbGRlc3QnO1xuICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgIGdldEtRTFZhbHVlc0Zyb21VUkwoKSEuaW5jbHVkZXMoJ09SREVSX0JZJykgJiZcbiAgICAgICAgICBnZXRLUUxWYWx1ZXNGcm9tVVJMKCkhLmluY2x1ZGVzKCdzZXZlcml0eScpXG4gICAgICAgICkge1xuICAgICAgICAgIHZhbHVlID0gJ3NldmVyaXR5JztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubmFtZSA9PT0gJ2V2ZW50c192aWV3Jykge1xuICAgICAgaGlzdG9yeS5wdXNoKFxuICAgICAgICBgLyR7bmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWV9L2luZGV4P3dhdGVyX2F1dGhvcml0eV9pZD0ke1xuICAgICAgICAgIGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWRcbiAgICAgICAgfSZsb2NhbGU9JHtcbiAgICAgICAgICBuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlXG4gICAgICAgIH0mZXZlbnRJZD0ke2dldEV2ZW50SWRGcm9tVVJMKCl9JnZhbHVlc0Zyb21LUUw9JHtidWlsZEtRTFF1ZXJ5KFxuICAgICAgICAgIGZpbHRlcixcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgKX1gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAobmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWUgPT09ICdzYW1wbGluZ3MtbGlzdCcpIHtcbiAgICAgIGhpc3RvcnkucHVzaChcbiAgICAgICAgYC8ke25hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5uYW1lfS9pbmRleD93YXRlcl9hdXRob3JpdHlfaWQ9JHtcbiAgICAgICAgICBnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkXG4gICAgICAgIH0mbG9jYWxlPSR7XG4gICAgICAgICAgbmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZVxuICAgICAgICB9JnZhbHVlc0Zyb21LUUw9JHtidWlsZEtRTFF1ZXJ5KGZpbHRlciwgdmFsdWUpfWAsXG4gICAgICApO1xuXG4gICAgICBpZiAoYXBwbHlMb2dpYyAhPT0gdW5kZWZpbmVkKSBhcHBseUxvZ2ljKGJ1aWxkS1FMUXVlcnkoZmlsdGVyLCB2YWx1ZSkpO1xuICAgIH1cbiAgICBpZiAoZmV0Y2hUeXBlID09PSAnSGllcmFyY2h5RmlsdGVyJykge1xuICAgICAgYXBwbHlMb2dpYyhmaWx0ZXIpO1xuICAgIH1cblxuICAgIGRpc3BhdGNoKHNldEV2ZW50RmlsdGVyUGFyYW0oYnVpbGRLUUxRdWVyeShmaWx0ZXIsIHZhbHVlKSkpO1xuICAgIGRpc3BhdGNoKHNldEFjdGl2ZUZpbHRlckdsb2JhbGx5KGZpbHRlcikpO1xuICAgIC8vIEFsd2F5cyByZXNldCBwYWdlIHRvIDEgd2hlbiBhIG5ldyBmaWx0ZXIgaXMgYXBwbGllZFxuICAgIGRpc3BhdGNoKHNldFNhbXBsaW5nRGF0YSh7IGN1cnJlbnRQYWdlOiAxLCBpc0ZldGNoOiBmYWxzZSB9KSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQ3JlYXRpb25DbGljayA9ICgpID0+IHtcbiAgICBjcmVhdGVGaWx0ZXIoYWN0aXZlRmlsdGVyQ29weSwgbmFtZUlucHV0LmN1cnJlbnQhLnZhbHVlKTtcbiAgICBuYW1lSW5wdXQuY3VycmVudCEudmFsdWUgPSAnJztcbiAgICBmaWx0ZXJDb250ZW50LmN1cnJlbnQhLmNsaWNrKCk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRXYUlkKGdldFdhSWRGcm9tVVJMKCkpO1xuICAgIGlmICghcmVuZGVyZWQpIHtcbiAgICAgIHNldFJlbmRlcmVkKHRydWUpO1xuICAgICAgZ2V0RGF0YSghcmVuZGVyZWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoZ2xvYmFsX2RhdGEuZXZlbnRGaWx0ZXJQYXJhbSA9PT0gJycgJiYgZmlsdGVycy5sZW5ndGggIT09IDApIHtcbiAgICAgICAgbGV0IGZpbHRlciA9IGZpbHRlcnMuZmluZCgoZmlsdGVyOiBJRmlsdGVyKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGZpbHRlci5pc19hY3RpdmU7XG4gICAgICAgIH0pO1xuICAgICAgICBzZXRBY3RpdmVGaWx0ZXJDb3B5KGZpbHRlcik7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgc2V0UmVuZGVyZWQoZmFsc2UpO1xuICAgIH07XG4gIH0sIFtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBXYUlkXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9e2BmaWx0ZXItY29udGFpbmVyICR7XG4gICAgICAgIGZpbHRlclBvcHVwT3BlbiA/ICcnIDogJ2ZpbHRlci1jb250YWluZXItLWhpZGRlbidcbiAgICAgIH1gfVxuICAgID5cbiAgICAgIHthY3RpdmVGaWx0ZXJDb3B5ICE9PSB1bmRlZmluZWQgJiYgKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2ZpbHRlci1jb250YWluZXJfX2NvbnRlbnQnfSByZWY9e2ZpbHRlckNvbnRlbnR9PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZmlsdGVyLWNvbnRhaW5lcl9fY29udGVudF9faGVhZGVyJ30+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J3RpdGxlJ30+XG4gICAgICAgICAgICAgIDxoND57aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZmlsdGVyLmZpbHRlcicpfTwvaDQ+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydhY3Rpb25zJ30+XG4gICAgICAgICAgICAgIDxEcm9wZG93biBjbGFzc05hbWU9eydhY3Rpb24nfT5cbiAgICAgICAgICAgICAgICA8RHJvcGRvd24uVG9nZ2xlIHZhcmlhbnQ9XCJzdWNjZXNzXCIgaWQ9XCJkcm9wZG93bi1iYXNpY1wiPlxuICAgICAgICAgICAgICAgICAgPExpc3RJY29uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInByZXNldC1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTRweFwiXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTRweFwiXG4gICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMWQxZDFkXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICB7YWN0aXZlRmlsdGVyQ29weS5uYW1lfXsnICd9XG4gICAgICAgICAgICAgICAgICB7YWN0aXZlRmlsdGVyQ29weS5pZCA9PT0gLTEgPyAoXG4gICAgICAgICAgICAgICAgICAgIDxiPiAoe2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmZpbHRlci51bnNhdmVkJyl9KSA8L2I+XG4gICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAnJ1xuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duLlRvZ2dsZT5cblxuICAgICAgICAgICAgICAgIDxGaWx0ZXJzRHJvcERvd25cbiAgICAgICAgICAgICAgICAgIGZpbHRlcnM9e2ZpbHRlcnN9XG4gICAgICAgICAgICAgICAgICBoYW5kbGVGaWx0ZXJDaGFuZ2U9e2hhbmRsZUZpbHRlckNoYW5nZX1cbiAgICAgICAgICAgICAgICAgIGFjdGl2ZUZpbHRlckNvcHk9e2FjdGl2ZUZpbHRlckNvcHl9XG4gICAgICAgICAgICAgICAgICBhY3RpdmF0ZUZpbHRlcj17YWN0aXZhdGVGaWx0ZXJ9XG4gICAgICAgICAgICAgICAgICBkZWxldGVGaWx0ZXI9e2RlbGV0ZUZpbHRlcn1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L0Ryb3Bkb3duPlxuXG4gICAgICAgICAgICAgIDxEcm9wZG93biBjbGFzc05hbWU9eydhY3Rpb24nfT5cbiAgICAgICAgICAgICAgICA8RHJvcGRvd24uVG9nZ2xlIHZhcmlhbnQ9XCJzdWNjZXNzXCIgaWQ9XCJkcm9wZG93bi1iYXNpY1wiPlxuICAgICAgICAgICAgICAgICAgPFNhdmVJY29uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInNhdmUtaWNvblwiXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjEzcHhcIlxuICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjEzcHhcIlxuICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzFkMWQxZFwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+e2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5zYXZlLmxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvRHJvcGRvd24uVG9nZ2xlPlxuXG4gICAgICAgICAgICAgICAgPERyb3Bkb3duLk1lbnU+XG4gICAgICAgICAgICAgICAgICA8RHJvcGRvd24uSXRlbVxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17YWN0aXZlRmlsdGVyQ29weS5pZCA9PT0gLTEgPyB0cnVlIDogZmFsc2V9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBzYXZlQWN0aXZlRmlsdGVyKGFjdGl2ZUZpbHRlckNvcHkpO1xuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZmlsdGVyLnNhdmUuZXhpc3RpbmcnKX1cbiAgICAgICAgICAgICAgICAgIDwvRHJvcGRvd24uSXRlbT5cbiAgICAgICAgICAgICAgICAgIDxEcm9wZG93biBjbGFzc05hbWU9eydhY3Rpb24gYWN0aW9uLS1zYXZlJ30+XG4gICAgICAgICAgICAgICAgICAgIDxEcm9wZG93bi5Ub2dnbGUgdmFyaWFudD1cInN1Y2Nlc3NcIiBpZD1cImRyb3Bkb3duLWJhc2ljXCI+XG4gICAgICAgICAgICAgICAgICAgICAge2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5zYXZlLm5ldycpfVxuICAgICAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duLlRvZ2dsZT5cblxuICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd24uTWVudT5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J25ldy1maWx0ZXItcG9wdXAnfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtQ29udHJvbFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdldmVudHNfb3ZlcnZpZXcuZmlsdGVyLnNhdmUuZmllbGRfcGxhY2Vob2xkZXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiTmFtZSB0aGlzIGZpbHRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9XCJiYXNpYy1hZGRvbjJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e25hbWVJbnB1dH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b0ZvY3VzPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlQ3JlYXRpb25DbGljaygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwic3VjY2Vzc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtpMThuLnQoJ2RldmljZV9oZWFsdGhfc3RhdHVzLm9rJyl9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9Ecm9wZG93bi5NZW51PlxuICAgICAgICAgICAgICAgICAgPC9Ecm9wZG93bj5cbiAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duLk1lbnU+XG4gICAgICAgICAgICAgIDwvRHJvcGRvd24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZmlsdGVyLWNvbnRhaW5lcl9fY29udGVudF9fYm9keSd9PlxuICAgICAgICAgICAgPEZpbHRlclxuICAgICAgICAgICAgICBzZXRBY3RpdmVGaWx0ZXJDb3B5PXtzZXRBY3RpdmVGaWx0ZXJDb3B5fVxuICAgICAgICAgICAgICBhY3RpdmVGaWx0ZXJDb3B5PXthY3RpdmVGaWx0ZXJDb3B5fVxuICAgICAgICAgICAgICBhdmFpbGFibGVGaWx0ZXJJdGVtcz17YXZhaWxhYmxlRmlsdGVySXRlbXN9XG4gICAgICAgICAgICAgIHBhcnNlU2VsZWN0ZWRJdGVtcz17cGFyc2VTZWxlY3RlZEl0ZW1zfVxuICAgICAgICAgICAgICBhcHBseUZpbHRlcj17YXBwbHlGaWx0ZXJ9XG4gICAgICAgICAgICAgIHJlc2V0RmlsdGVyPXtyZXNldEZpbHRlciA/IGhhbmRsZVJlc2V0RmlsdGVyIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmNvbnN0IGNvbm5lY3RvciA9IGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzKTtcbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3RvcihGaWx0ZXJDb250YWluZXIpO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsZUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsU0FBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksV0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssZUFBQSxHQUFBTCxPQUFBO0FBQXNFLElBQUFNLFNBQUEsR0FBQU4sT0FBQTtBQUFBLElBQUFPLEtBQUEsR0FBQVAsT0FBQTtBQU10RSxJQUFBUSxRQUFBLEdBQUFSLE9BQUE7QUFLQSxJQUFBUyxLQUFBLEdBQUFOLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBVSxJQUFBLEdBQUFWLE9BQUE7QUFDQUEsT0FBQTtBQUNBLElBQUFXLE9BQUEsR0FBQVIsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFZLGdCQUFBLEdBQUFULHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBYSxlQUFBLEdBQUFiLE9BQUE7QUFBcUUsU0FBQWMseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFoQix3QkFBQW9CLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FB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
|
|
409
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RCb290c3RyYXAiLCJfRHJvcGRvd24iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3JlYWN0UmVkdXgiLCJfcmVhY3RSb3V0ZXJEb20iLCJfZGlza2V0dGUiLCJfbGlzdCIsIl9hY3Rpb25zIiwiX2kxOG4iLCJfa3FsIiwiX0ZpbHRlciIsIl9GaWx0ZXJzRHJvcERvd24iLCJfYWN0aW9uc0NyZWF0b3IiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIm1hcFN0YXRlVG9Qcm9wcyIsInN0YXRlIiwiZ2xvYmFsX2RhdGEiLCJuYXZfY29udGV4dF9kYXRhIiwicG9pbnRzX2RhdGEiLCJGaWx0ZXJDb250YWluZXIiLCJwcm9wcyIsImN1c3RvbV9wb2ludHMiLCJmaWx0ZXJQb3B1cE9wZW4iLCJhcHBseUxvZ2ljIiwiX3Byb3BzJGZldGNoVHlwZSIsImZldGNoVHlwZSIsIl9wcm9wcyRyZXNldEZpbHRlciIsInJlc2V0RmlsdGVyIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsIm5hbWVJbnB1dCIsInVzZVJlZiIsImZpbHRlckNvbnRlbnQiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJmaWx0ZXJzIiwic2V0RmlsdGVycyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiYXZhaWxhYmxlRmlsdGVySXRlbXMiLCJzZXRBdmFpbGFibGVGaWx0ZXJJdGVtcyIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwicmVuZGVyZWQiLCJzZXRSZW5kZXJlZCIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwiV2FJZCIsInNldFdhSWQiLCJfdXNlU3RhdGU5IiwidW5kZWZpbmVkIiwiX3VzZVN0YXRlMTAiLCJhY3RpdmVGaWx0ZXIiLCJzZXRBY3RpdmVGaWx0ZXIiLCJfdXNlU3RhdGUxMSIsIl91c2VTdGF0ZTEyIiwiZGVmYXVsdEZpbHRlcnMiLCJzZXREZWZhdWx0RmlsdGVycyIsIl91c2VTdGF0ZTEzIiwiX3VzZVN0YXRlMTQiLCJhY3RpdmVGaWx0ZXJDb3B5Iiwic2V0QWN0aXZlRmlsdGVyQ29weSIsImNzcmYiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJnZXRBdHRyaWJ1dGUiLCJ1c2VRdWVyeSIsIlVSTFNlYXJjaFBhcmFtcyIsInVzZUxvY2F0aW9uIiwic2VhcmNoIiwiaGlzdG9yeSIsInVzZUhpc3RvcnkiLCJxdWVyeSIsImdldEtRTEZyb21VUkwiLCJoYW5kbGVSZXNldEZpbHRlciIsImRlZmF1bHRGaWx0ZXJzQ2xvbmUiLCJKU09OIiwicGFyc2UiLCJzdHJpbmdpZnkiLCJnZXRQb2ludHNUb0ZpbHRlcnMiLCJpbnRlcmVzdFBvaW50RmlsdGVySXRlbSIsImZpbmQiLCJmIiwidHlwZSIsImZpbHRlcmVkUG9pbnRzRGF0YSIsIml0ZW1zIiwiZmlsdGVyIiwicG9pbnQiLCJwYXJ0X29mX29ic2VydmF0aW9uIiwibWFwIiwiaWQiLCJuYW1lIiwiZ3JvdXAiLCJvcHRpb25zIiwiZm9yRWFjaCIsImZpbHRlckl0ZW0iLCJmaWx0ZXJfaXRlbXMiLCJmaSIsImF2YWlsYWJsZV9vcHRpb25zIiwidXBkYXRlU2l0ZVRvRmlsdGVycyIsInNpdGVGaWx0ZXJJdGVtIiwiZmV0Y2hFdmVudEZpbHRlcnMiLCJwcmVwYXJlZFBhcmFtcyIsIm1ldGhvZCIsInVybCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZldGNoIiwiaGVhZGVycyIsIkFjY2VwdCIsImJvZHkiLCJ0aGVuIiwicmVzcG9uc2UiLCJqc29uIiwiZGF0YSIsImF2YWlsYWJsZV9maWx0ZXJfaXRlbXMiLCJzYXZlZCIsImRlZXBDbG9uZSIsIl91c2VQYXJhbXMiLCJ1c2VQYXJhbXMiLCJzaXRlSUQiLCJhcmVhSUQiLCJnZXREYXRhIiwiZmlyc3RUaW1lIiwiY29uY2F0Iiwid2F0ZXJBdXRob3JpdHlJZCIsImpzb25TaGFsbG93Q29weSIsImFzc2lnbiIsImFjdGl2ZSIsImRpc3BsYXllZF9maWx0ZXIiLCJzZWxlY3RlZFBlcmlvZCIsInNlbGVjdGVkX29wdGlvbnMiLCJhY3RpdmF0ZUZpbHRlciIsImFwcGx5RmlsdGVyIiwiaGFuZGxlRmlsdGVyQ2hhbmdlIiwiY3VycmVudCIsImNsaWNrIiwic2F2ZUFjdGl2ZUZpbHRlciIsImNsb25lZEZpbHRlcnMiLCJmaWx0ZXJUb01vZGlmeUluZGV4IiwiaW5kZXhPZiIsImZpbHRlcl90eXBlIiwidWlfZmlsdGVyIiwiaXNfYWN0aXZlIiwiTWF0aCIsInNpZ24iLCJjcmVhdGVGaWx0ZXIiLCJuZXdGaWx0ZXIiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwiZGVsZXRlRmlsdGVyIiwiZ2V0RXZlbnRJZEZyb21VUkwiLCJnZXRXYUlkRnJvbVVSTCIsImdldEtRTFZhbHVlc0Zyb21VUkwiLCJ2YWx1ZSIsIm5hdkNvbnRleHQiLCJpbmNsdWRlcyIsInB1c2giLCJsb2NhbGUiLCJidWlsZEtRTFF1ZXJ5Iiwic2V0RXZlbnRGaWx0ZXJQYXJhbSIsInNldEFjdGl2ZUZpbHRlckdsb2JhbGx5Iiwic2V0U2FtcGxpbmdEYXRhIiwiY3VycmVudFBhZ2UiLCJpc0ZldGNoIiwiaGFuZGxlQ3JlYXRpb25DbGljayIsInVzZUVmZmVjdCIsImV2ZW50RmlsdGVyUGFyYW0iLCJjbGVhbnVwIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsInJlZiIsImkxOG4iLCJ0IiwiVG9nZ2xlIiwidmFyaWFudCIsIlJlYWN0Q29tcG9uZW50IiwiaGVpZ2h0Iiwid2lkdGgiLCJmaWxsIiwiTWVudSIsIkl0ZW0iLCJkaXNhYmxlZCIsIm9uQ2xpY2siLCJGb3JtQ29udHJvbCIsInBsYWNlaG9sZGVyIiwiYXV0b0ZvY3VzIiwiQnV0dG9uIiwicGFyc2VTZWxlY3RlZEl0ZW1zIiwiY29ubmVjdG9yIiwiY29ubmVjdCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9FdmVudHNQYWdlL2V2ZW50cy9ldmVudHNfbGlzdC9GaWx0ZXIvRmlsdGVyQ29udGFpbmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQnV0dG9uLCBGb3JtQ29udHJvbCB9IGZyb20gJ3JlYWN0LWJvb3RzdHJhcCc7XG5pbXBvcnQgRHJvcGRvd24gZnJvbSAncmVhY3QtYm9vdHN0cmFwL0Ryb3Bkb3duJztcbmltcG9ydCB7IGNvbm5lY3QsIENvbm5lY3RlZFByb3BzLCB1c2VEaXNwYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IHVzZUhpc3RvcnksIHVzZUxvY2F0aW9uLCB1c2VQYXJhbXMgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIFNhdmVJY29uIH0gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9kaXNrZXR0ZS5zdmcnO1xuaW1wb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgTGlzdEljb24gfSBmcm9tICdzcmMvYXNzZXRzL2ljb25zL2xpc3Quc3ZnJztcbmltcG9ydCB7IElBcHBTdGF0ZSB9IGZyb20gJ3NyYy9tb2RlbHMvSUFwcFN0YXRlJztcbmltcG9ydCB7IElGaWx0ZXIgfSBmcm9tICdzcmMvc3RvcmUvZmlsdGVycy9JRmlsdGVyJztcbmltcG9ydCB7IElGaWx0ZXJJdGVtIH0gZnJvbSAnc3JjL3N0b3JlL2ZpbHRlcnMvSUZpbHRlckl0ZW0nO1xuaW1wb3J0IHtcbiAgc2V0QWN0aXZlRmlsdGVyR2xvYmFsbHksXG4gIHNldEV2ZW50RmlsdGVyUGFyYW0sXG59IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IGJ1aWxkS1FMUXVlcnksIHBhcnNlU2VsZWN0ZWRJdGVtcyB9IGZyb20gJ3NyYy91dGlsaXRpZXMva3FsJztcbmltcG9ydCAnLi9GaWx0ZXJTdHlsZS5zY3NzJztcbmltcG9ydCBGaWx0ZXIgZnJvbSAnLi9GaWx0ZXInO1xuaW1wb3J0IEZpbHRlcnNEcm9wRG93biBmcm9tICcuL0ZpbHRlcnNEcm9wRG93bic7XG5pbXBvcnQgeyBzZXRTYW1wbGluZ0RhdGEgfSBmcm9tICdzcmMvc3RvcmUvc2FtcGxpbmdzL2FjdGlvbnNDcmVhdG9yJztcbmZ1bmN0aW9uIG1hcFN0YXRlVG9Qcm9wcyhzdGF0ZTogSUFwcFN0YXRlKSB7XG4gIGNvbnN0IHsgZ2xvYmFsX2RhdGEsIG5hdl9jb250ZXh0X2RhdGEsIHBvaW50c19kYXRhIH0gPSBzdGF0ZTtcblxuICByZXR1cm4ge1xuICAgIGdsb2JhbF9kYXRhLFxuICAgIG5hdl9jb250ZXh0X2RhdGEsXG4gICAgcG9pbnRzX2RhdGEsXG4gIH07XG59XG5cbnR5cGUgSVByb3BzID0gQ29ubmVjdGVkUHJvcHM8dHlwZW9mIGNvbm5lY3Rvcj4gJiB7XG4gIGZpbHRlclBvcHVwT3BlbjogYm9vbGVhbjtcbiAgZmV0Y2hUeXBlOiBzdHJpbmc7XG4gIGN1c3RvbV9wb2ludHM/OiBhbnk7XG4gIGFwcGx5TG9naWM/OiAodmFsdWVzOiBzdHJpbmcpID0+IHZvaWQ7XG4gIHJlc2V0RmlsdGVyPzogKGZpbHRlcikgPT4gdm9pZDtcbn07XG5cbmNvbnN0IEZpbHRlckNvbnRhaW5lcjogUmVhY3QuRkM8SVByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgZ2xvYmFsX2RhdGEsXG4gICAgbmF2X2NvbnRleHRfZGF0YSxcbiAgICBwb2ludHNfZGF0YSxcbiAgICBjdXN0b21fcG9pbnRzLFxuICAgIGZpbHRlclBvcHVwT3BlbixcbiAgICBhcHBseUxvZ2ljLFxuICAgIGZldGNoVHlwZSA9ICdFdmVudEZpbHRlcnMnLFxuICAgIHJlc2V0RmlsdGVyID0gbnVsbCxcbiAgfSA9IHByb3BzO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IG5hbWVJbnB1dCA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKTtcbiAgY29uc3QgZmlsdGVyQ29udGVudCA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IFtmaWx0ZXJzLCBzZXRGaWx0ZXJzXSA9IHVzZVN0YXRlPGFueT4oW10pO1xuICBjb25zdCBbYXZhaWxhYmxlRmlsdGVySXRlbXMsIHNldEF2YWlsYWJsZUZpbHRlckl0ZW1zXSA9IHVzZVN0YXRlKFtdKTtcbiAgY29uc3QgW3JlbmRlcmVkLCBzZXRSZW5kZXJlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtXYUlkLCBzZXRXYUlkXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KCk7XG4gIC8vZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gIGNvbnN0IFthY3RpdmVGaWx0ZXIsIHNldEFjdGl2ZUZpbHRlcl0gPSB1c2VTdGF0ZTxhbnk+KHVuZGVmaW5lZCk7XG4gIGNvbnN0IFtkZWZhdWx0RmlsdGVycywgc2V0RGVmYXVsdEZpbHRlcnNdID0gdXNlU3RhdGU8YW55Pih7fSk7XG4gIGNvbnN0IFthY3RpdmVGaWx0ZXJDb3B5LCBzZXRBY3RpdmVGaWx0ZXJDb3B5XSA9IHVzZVN0YXRlPGFueT4odW5kZWZpbmVkKTtcbiAgLy8gQHRzLWlnbm9yZVxuICBjb25zdCBjc3JmID0gZG9jdW1lbnRcbiAgICAucXVlcnlTZWxlY3RvcihcIm1ldGFbbmFtZT0nY3NyZi10b2tlbiddXCIpXG4gICAgLmdldEF0dHJpYnV0ZSgnY29udGVudCcpO1xuICBjb25zdCB1c2VRdWVyeSA9ICgpID0+IHtcbiAgICByZXR1cm4gbmV3IFVSTFNlYXJjaFBhcmFtcyh1c2VMb2NhdGlvbigpLnNlYXJjaCk7XG4gIH07XG4gIGNvbnN0IGhpc3RvcnkgPSB1c2VIaXN0b3J5KCk7XG4gIGNvbnN0IHF1ZXJ5ID0gdXNlUXVlcnkoKTtcbiAgY29uc3QgZ2V0S1FMRnJvbVVSTCA9ICgpID0+IHtcbiAgICByZXR1cm4gcXVlcnkuZ2V0KCd2YWx1ZXNGcm9tS1FMJyk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlUmVzZXRGaWx0ZXIgPSAoKSA9PiB7XG4gICAgY29uc3QgZGVmYXVsdEZpbHRlcnNDbG9uZSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZGVmYXVsdEZpbHRlcnMpKTtcbiAgICByZXNldEZpbHRlciAmJiByZXNldEZpbHRlcihkZWZhdWx0RmlsdGVyc0Nsb25lKTtcbiAgICBzZXRBY3RpdmVGaWx0ZXJDb3B5KGRlZmF1bHRGaWx0ZXJzQ2xvbmUpO1xuICB9O1xuXG4gIGNvbnN0IGdldFBvaW50c1RvRmlsdGVycyA9IChhdmFpbGFibGVGaWx0ZXJJdGVtczogYW55LCBmaWx0ZXJzOiBhbnkpID0+IHtcbiAgICBsZXQgaW50ZXJlc3RQb2ludEZpbHRlckl0ZW0gPSBhdmFpbGFibGVGaWx0ZXJJdGVtcy5maW5kKFxuICAgICAgKGY6IElGaWx0ZXJJdGVtKSA9PiBmLnR5cGUgPT09ICdJbnRlcmVzdFBvaW50RmlsdGVySXRlbScsXG4gICAgKTtcbiAgICBsZXQgZmlsdGVyZWRQb2ludHNEYXRhID1cbiAgICAgIGN1c3RvbV9wb2ludHMgfHxcbiAgICAgIHBvaW50c19kYXRhLml0ZW1zXG4gICAgICAgIC5maWx0ZXIoKHBvaW50OiBJUG9pbnQpID0+IHBvaW50LnBhcnRfb2Zfb2JzZXJ2YXRpb24gPT09IHRydWUpXG4gICAgICAgIC5tYXAoKHBvaW50OiBJUG9pbnQpID0+IHtcbiAgICAgICAgICByZXR1cm4geyBpZDogcG9pbnQuaWQsIG5hbWU6IHBvaW50Lmdyb3VwLm5hbWUgfTtcbiAgICAgICAgfSk7XG5cbiAgICBpZiAoaW50ZXJlc3RQb2ludEZpbHRlckl0ZW0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgaW50ZXJlc3RQb2ludEZpbHRlckl0ZW0ub3B0aW9ucyA9IGZpbHRlcmVkUG9pbnRzRGF0YTtcbiAgICB9XG5cbiAgICBmaWx0ZXJzLmZvckVhY2goKGY6IElGaWx0ZXIpID0+IHtcbiAgICAgIGxldCBmaWx0ZXJJdGVtID0gZi5maWx0ZXJfaXRlbXMuZmluZChcbiAgICAgICAgKGZpOiBJRmlsdGVySXRlbSkgPT4gZmkudHlwZSA9PT0gJ0ludGVyZXN0UG9pbnRGaWx0ZXJJdGVtJyxcbiAgICAgICk7XG5cbiAgICAgIGlmIChmaWx0ZXJJdGVtICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZmlsdGVySXRlbS5hdmFpbGFibGVfb3B0aW9ucyA9IGZpbHRlcmVkUG9pbnRzRGF0YTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAoY3VzdG9tX3BvaW50cykge1xuICAgICAgdXBkYXRlU2l0ZVRvRmlsdGVycyhhdmFpbGFibGVGaWx0ZXJJdGVtcywgZmlsdGVycyk7XG4gICAgfVxuICAgIHNldEZpbHRlcnMoZmlsdGVycyk7XG4gIH07XG5cbiAgY29uc3QgdXBkYXRlU2l0ZVRvRmlsdGVycyA9IChhdmFpbGFibGVGaWx0ZXJJdGVtczogYW55LCBmaWx0ZXJzOiBhbnkpID0+IHtcbiAgICBsZXQgc2l0ZUZpbHRlckl0ZW0gPSBhdmFpbGFibGVGaWx0ZXJJdGVtcy5maW5kKFxuICAgICAgKGY6IElGaWx0ZXJJdGVtKSA9PiBmLnR5cGUgPT09ICdTaXRlRmlsdGVySXRlbScsXG4gICAgKTtcbiAgICBsZXQgZmlsdGVyZWRQb2ludHNEYXRhID0gY3VzdG9tX3BvaW50cztcblxuICAgIGlmIChzaXRlRmlsdGVySXRlbSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBzaXRlRmlsdGVySXRlbS5vcHRpb25zID0gZmlsdGVyZWRQb2ludHNEYXRhO1xuICAgIH1cblxuICAgIGZpbHRlcnMuZm9yRWFjaCgoZjogSUZpbHRlcikgPT4ge1xuICAgICAgbGV0IGZpbHRlckl0ZW0gPSBmLmZpbHRlcl9pdGVtcy5maW5kKFxuICAgICAgICAoZmk6IElGaWx0ZXJJdGVtKSA9PiBmaS50eXBlID09PSAnU2l0ZUZpbHRlckl0ZW0nLFxuICAgICAgKTtcblxuICAgICAgaWYgKGZpbHRlckl0ZW0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBmaWx0ZXJJdGVtLmF2YWlsYWJsZV9vcHRpb25zID0gZmlsdGVyZWRQb2ludHNEYXRhO1xuICAgICAgfVxuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IGZldGNoRXZlbnRGaWx0ZXJzID0gKFxuICAgIHByZXBhcmVkUGFyYW1zOiBhbnksXG4gICAgbWV0aG9kOiBzdHJpbmcsXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgZmlsdGVyOiBhbnkgPSBudWxsLFxuICApID0+IHtcbiAgICBpZiAoY3NyZiAhPT0gbnVsbCkge1xuICAgICAgZmV0Y2godXJsLCB7XG4gICAgICAgIG1ldGhvZDogbWV0aG9kLFxuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgICAnWC1DU1JGLVRva2VuJzogY3NyZixcbiAgICAgICAgICBBY2NlcHQ6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgfSxcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkocHJlcGFyZWRQYXJhbXMpLFxuICAgICAgfSlcbiAgICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiByZXNwb25zZS5qc29uKCkpXG4gICAgICAgIC50aGVuKChkYXRhKSA9PiB7XG4gICAgICAgICAgZ2V0UG9pbnRzVG9GaWx0ZXJzKGRhdGEuYXZhaWxhYmxlX2ZpbHRlcl9pdGVtcywgZGF0YS5maWx0ZXJzKTtcblxuICAgICAgICAgIGlmIChmaWx0ZXIgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGxldCBzYXZlZCA9IGRhdGEuZmlsdGVycy5maW5kKFxuICAgICAgICAgICAgICAoZjogSUZpbHRlcikgPT4gZi5uYW1lID09PSBmaWx0ZXIubmFtZSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBzZXRBY3RpdmVGaWx0ZXIoc2F2ZWQpO1xuICAgICAgICAgICAgc2V0QWN0aXZlRmlsdGVyQ29weShzYXZlZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgZGVlcENsb25lID0gKGRhdGE6IGFueSkgPT4ge1xuICAgIHJldHVybiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGRhdGEpKTtcbiAgfTtcblxuICBjb25zdCB7IHNpdGVJRCwgYXJlYUlEIH0gPSB1c2VQYXJhbXMoKTtcblxuICBjb25zdCBnZXREYXRhID0gKGZpcnN0VGltZSA9IGZhbHNlKSA9PiB7XG4gICAgZmV0Y2goXG4gICAgICBgL3VpX2ZpbHRlcnMuanNvbj93YXRlcl9hdXRob3JpdHlfaWQ9JHtcbiAgICAgICAgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZFxuICAgICAgfSZmaWx0ZXJfdHlwZT0ke2ZldGNoVHlwZX0mdmFsdWVzRnJvbUtRTD0ke2dldEtRTEZyb21VUkwoKX0ke1xuICAgICAgICBzaXRlSUQgPyBgJnNpdGVfaWQ9JHtzaXRlSUR9YCA6ICcnXG4gICAgICB9JHthcmVhSUQgPyBgJmFyZWFfaWQ9JHthcmVhSUR9YCA6ICcnfWAsXG4gICAgKVxuICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiByZXNwb25zZS5qc29uKCkpXG4gICAgICAudGhlbigoanNvbikgPT4ge1xuICAgICAgICBnZXRQb2ludHNUb0ZpbHRlcnMoanNvbi5hdmFpbGFibGVfZmlsdGVyX2l0ZW1zLCBqc29uLmZpbHRlcnMpO1xuXG4gICAgICAgIGxldCBqc29uU2hhbGxvd0NvcHkgPSBPYmplY3QuYXNzaWduKHt9LCBqc29uKTtcbiAgICAgICAganNvblNoYWxsb3dDb3B5LmZpbHRlcnMgPSBkZWVwQ2xvbmUoanNvblNoYWxsb3dDb3B5LmZpbHRlcnMpO1xuICAgICAgICBsZXQgYWN0aXZlID0ganNvblNoYWxsb3dDb3B5LmRpc3BsYXllZF9maWx0ZXI7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIGdsb2JhbF9kYXRhLnNlbGVjdGVkUGVyaW9kICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICBnbG9iYWxfZGF0YS5zZWxlY3RlZFBlcmlvZCAhPT0gbnVsbFxuICAgICAgICApIHtcbiAgICAgICAgICBhY3RpdmUuZmlsdGVyX2l0ZW1zWzFdLnNlbGVjdGVkX29wdGlvbnMgPSBbXG4gICAgICAgICAgICBnbG9iYWxfZGF0YS5zZWxlY3RlZFBlcmlvZCxcbiAgICAgICAgICBdO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGFjdGl2ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgYWN0aXZhdGVGaWx0ZXIoanNvblNoYWxsb3dDb3B5LmZpbHRlcnNbMF0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNldEF2YWlsYWJsZUZpbHRlckl0ZW1zKGpzb25TaGFsbG93Q29weS5hdmFpbGFibGVfZmlsdGVyX2l0ZW1zKTtcbiAgICAgICAgICBzZXRBY3RpdmVGaWx0ZXIoYWN0aXZlKTtcbiAgICAgICAgICBzZXRBY3RpdmVGaWx0ZXJDb3B5KGFjdGl2ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGZpcnN0VGltZSkge1xuICAgICAgICAgIGNvbnN0IGRlZmF1bHRGaWx0ZXJzQ2xvbmUgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGFjdGl2ZSkpO1xuICAgICAgICAgIHNldERlZmF1bHRGaWx0ZXJzKGRlZmF1bHRGaWx0ZXJzQ2xvbmUpO1xuICAgICAgICB9XG5cbiAgICAgICAgYXBwbHlGaWx0ZXIoYWN0aXZlKTtcbiAgICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUZpbHRlckNoYW5nZSA9IChmaWx0ZXI6IElGaWx0ZXIpID0+IHtcbiAgICBzZXRBY3RpdmVGaWx0ZXIoZGVlcENsb25lKGZpbHRlcikpO1xuICAgIHNldEFjdGl2ZUZpbHRlckNvcHkoZGVlcENsb25lKGZpbHRlcikpO1xuICAgIGZpbHRlckNvbnRlbnQuY3VycmVudCEuY2xpY2soKTtcbiAgfTtcblxuICBjb25zdCBzYXZlQWN0aXZlRmlsdGVyID0gKFxuICAgIGZpbHRlcjpcbiAgICAgIHwgSUZpbHRlclxuICAgICAgfCB7XG4gICAgICAgICAgaWQ6IG51bWJlcjtcbiAgICAgICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICAgICAgZmlsdGVyX2l0ZW1zOiBJRmlsdGVySXRlbVtdO1xuICAgICAgICAgIGlzX2FjdGl2ZTogYm9vbGVhbjtcbiAgICAgICAgfSxcbiAgKSA9PiB7XG4gICAgbGV0IGNsb25lZEZpbHRlcnMgPSBkZWVwQ2xvbmUoZmlsdGVycyk7XG4gICAgbGV0IGZpbHRlclRvTW9kaWZ5SW5kZXggPSBjbG9uZWRGaWx0ZXJzLmluZGV4T2YoXG4gICAgICBjbG9uZWRGaWx0ZXJzLmZpbmQoKGY6IGFueSkgPT4gZi5pZCA9PT0gZmlsdGVyLmlkKSxcbiAgICApO1xuICAgIGxldCBwcmVwYXJlZFBhcmFtcyA9IHtcbiAgICAgIGZpbHRlcl90eXBlOiBmZXRjaFR5cGUsXG4gICAgICB1aV9maWx0ZXI6IHtcbiAgICAgICAgbmFtZTogZmlsdGVyLm5hbWUsXG4gICAgICAgIGlzX2FjdGl2ZTogZmlsdGVyLmlzX2FjdGl2ZSxcbiAgICAgICAgZmlsdGVyX2l0ZW1zOiBKU09OLnN0cmluZ2lmeShmaWx0ZXIuZmlsdGVyX2l0ZW1zKSxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIGNsb25lZEZpbHRlcnNbZmlsdGVyVG9Nb2RpZnlJbmRleF0gPSBmaWx0ZXI7XG4gICAgc2V0RmlsdGVycyhjbG9uZWRGaWx0ZXJzKTtcbiAgICBzZXRBY3RpdmVGaWx0ZXIoZmlsdGVyKTtcbiAgICBzZXRBY3RpdmVGaWx0ZXJDb3B5KGZpbHRlcik7XG5cbiAgICBpZiAoTWF0aC5zaWduKGZpbHRlci5pZCkgPiAwKSB7XG4gICAgICBmZXRjaEV2ZW50RmlsdGVycyhcbiAgICAgICAgcHJlcGFyZWRQYXJhbXMsXG4gICAgICAgICdQVVQnLFxuICAgICAgICBgL3VpX2ZpbHRlcnMvJHtmaWx0ZXIuaWR9P3dhdGVyX2F1dGhvcml0eV9pZD0ke2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWR9YCxcbiAgICAgICAgZmlsdGVyLFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZmV0Y2hFdmVudEZpbHRlcnMoXG4gICAgICAgIHByZXBhcmVkUGFyYW1zLFxuICAgICAgICAnUE9TVCcsXG4gICAgICAgIGAvdWlfZmlsdGVycz93YXRlcl9hdXRob3JpdHlfaWQ9JHtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkfWAsXG4gICAgICAgIGZpbHRlcixcbiAgICAgICk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGNyZWF0ZUZpbHRlciA9IChmaWx0ZXI6IElGaWx0ZXIsIG5hbWU6IHN0cmluZykgPT4ge1xuICAgIGxldCBuZXdGaWx0ZXIgPSB7XG4gICAgICBpZDogLTEsXG4gICAgICBuYW1lOiBuYW1lLFxuICAgICAgZmlsdGVyX2l0ZW1zOiBmaWx0ZXIuZmlsdGVyX2l0ZW1zLFxuICAgICAgaXNfYWN0aXZlOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgc2V0RmlsdGVycyhbLi4uZmlsdGVycywgbmV3RmlsdGVyXSk7XG4gICAgc2V0QWN0aXZlRmlsdGVyQ29weShuZXdGaWx0ZXIpO1xuICAgIHNldEFjdGl2ZUZpbHRlcihuZXdGaWx0ZXIpO1xuICAgIHNhdmVBY3RpdmVGaWx0ZXIobmV3RmlsdGVyKTtcbiAgfTtcblxuICBjb25zdCBkZWxldGVGaWx0ZXIgPSAoZmlsdGVyOiBJRmlsdGVyKSA9PiB7XG4gICAgaWYgKGNzcmYgIT09IG51bGwgJiYgZmlsdGVyLmlkICE9PSAtMSkge1xuICAgICAgZmV0Y2goXG4gICAgICAgIGAvdWlfZmlsdGVycy8ke2ZpbHRlci5pZH0/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7Z2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZH0mZmlsdGVyX3R5cGU9JHtmZXRjaFR5cGV9YCxcbiAgICAgICAge1xuICAgICAgICAgIG1ldGhvZDogJ0RFTEVURScsXG4gICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgJ1gtQ1NSRi1Ub2tlbic6IGNzcmYsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIClcbiAgICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiByZXNwb25zZS5qc29uKCkpXG4gICAgICAgIC50aGVuKChkYXRhKSA9PiB7XG4gICAgICAgICAgbGV0IGFjdGl2ZSA9IGRhdGEuZmlsdGVycy5maW5kKFxuICAgICAgICAgICAgKGZpbHRlcjogSUZpbHRlcikgPT4gZmlsdGVyLmlzX2FjdGl2ZSA9PT0gdHJ1ZSxcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgaWYgKGFjdGl2ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBzZXRGaWx0ZXJzKGRhdGEuZmlsdGVycyk7XG4gICAgICAgICAgICBzZXRBY3RpdmVGaWx0ZXIoYWN0aXZlKTtcbiAgICAgICAgICAgIHNldEFjdGl2ZUZpbHRlckNvcHkoYWN0aXZlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKGRhdGEuZmlsdGVycy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgZ2V0RGF0YSgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgZGF0YS5maWx0ZXJzWzBdLmlzX2FjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgICAgIHNldEFjdGl2ZUZpbHRlcihkYXRhLmZpbHRlcnNbMF0pO1xuICAgICAgICAgICAgICBzZXRBY3RpdmVGaWx0ZXJDb3B5KGRhdGEuZmlsdGVyc1swXSk7XG4gICAgICAgICAgICAgIHNldEZpbHRlcnMoZGF0YS5maWx0ZXJzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBnZXRFdmVudElkRnJvbVVSTCA9ICgpID0+IHtcbiAgICByZXR1cm4gcXVlcnkuZ2V0KCdldmVudElkJyk7XG4gIH07XG5cbiAgY29uc3QgZ2V0V2FJZEZyb21VUkwgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHF1ZXJ5LmdldCgnd2F0ZXJfYXV0aG9yaXR5X2lkJyk7XG4gIH07XG5cbiAgY29uc3QgZ2V0S1FMVmFsdWVzRnJvbVVSTCA9ICgpID0+IHtcbiAgICByZXR1cm4gcXVlcnkuZ2V0KCd2YWx1ZXNGcm9tS1FMJyk7XG4gIH07XG5cbiAgY29uc3QgYWN0aXZhdGVGaWx0ZXIgPSAoZmlsdGVyOiBJRmlsdGVyKSA9PiB7XG4gICAgZmV0Y2hFdmVudEZpbHRlcnMoXG4gICAgICB7fSxcbiAgICAgICdQVVQnLFxuICAgICAgYC91aV9maWx0ZXJzL2FjdGl2YXRlLyR7ZmlsdGVyLmlkfT93YXRlcl9hdXRob3JpdHlfaWQ9JHtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkfSZmaWx0ZXJfdHlwZT0ke2ZldGNoVHlwZX1gLFxuICAgICAgZmlsdGVyLFxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgYXBwbHlGaWx0ZXIgPSAoZmlsdGVyID0gYWN0aXZlRmlsdGVyQ29weSkgPT4ge1xuICAgIGxldCB2YWx1ZSA9ICdvYnNlcnZlZF91cHN0cmVhbSc7XG5cbiAgICBpZiAobmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWUgPT09ICdzYW1wbGluZ3MtbGlzdCcpIHtcbiAgICAgIHZhbHVlID0gJ25ld2VzdCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChnZXRLUUxWYWx1ZXNGcm9tVVJMKCkgIT09IG51bGwpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGdldEtRTFZhbHVlc0Zyb21VUkwoKSEuaW5jbHVkZXMoJ09SREVSX0JZJykgJiZcbiAgICAgICAgICBnZXRLUUxWYWx1ZXNGcm9tVVJMKCkhLmluY2x1ZGVzKCduZXdlc3QnKVxuICAgICAgICApIHtcbiAgICAgICAgICB2YWx1ZSA9ICduZXdlc3QnO1xuICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgIGdldEtRTFZhbHVlc0Zyb21VUkwoKSEuaW5jbHVkZXMoJ09SREVSX0JZJykgJiZcbiAgICAgICAgICBnZXRLUUxWYWx1ZXNGcm9tVVJMKCkhLmluY2x1ZGVzKCdvbGRlc3QnKVxuICAgICAgICApIHtcbiAgICAgICAgICB2YWx1ZSA9ICdvbGRlc3QnO1xuICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgIGdldEtRTFZhbHVlc0Zyb21VUkwoKSEuaW5jbHVkZXMoJ09SREVSX0JZJykgJiZcbiAgICAgICAgICBnZXRLUUxWYWx1ZXNGcm9tVVJMKCkhLmluY2x1ZGVzKCdzZXZlcml0eScpXG4gICAgICAgICkge1xuICAgICAgICAgIHZhbHVlID0gJ3NldmVyaXR5JztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubmFtZSA9PT0gJ2V2ZW50c192aWV3Jykge1xuICAgICAgaGlzdG9yeS5wdXNoKFxuICAgICAgICBgLyR7bmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWV9L2luZGV4P3dhdGVyX2F1dGhvcml0eV9pZD0ke1xuICAgICAgICAgIGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWRcbiAgICAgICAgfSZsb2NhbGU9JHtcbiAgICAgICAgICBuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlXG4gICAgICAgIH0mZXZlbnRJZD0ke2dldEV2ZW50SWRGcm9tVVJMKCl9JnZhbHVlc0Zyb21LUUw9JHtidWlsZEtRTFF1ZXJ5KFxuICAgICAgICAgIGZpbHRlcixcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgKX1gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAobmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWUgPT09ICdzYW1wbGluZ3MtbGlzdCcpIHtcbiAgICAgIGhpc3RvcnkucHVzaChcbiAgICAgICAgYC8ke25hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5uYW1lfS9pbmRleD93YXRlcl9hdXRob3JpdHlfaWQ9JHtcbiAgICAgICAgICBnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkXG4gICAgICAgIH0mbG9jYWxlPSR7XG4gICAgICAgICAgbmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZVxuICAgICAgICB9JnZhbHVlc0Zyb21LUUw9JHtidWlsZEtRTFF1ZXJ5KGZpbHRlciwgdmFsdWUpfWAsXG4gICAgICApO1xuXG4gICAgICBpZiAoYXBwbHlMb2dpYyAhPT0gdW5kZWZpbmVkKSBhcHBseUxvZ2ljKGJ1aWxkS1FMUXVlcnkoZmlsdGVyLCB2YWx1ZSkpO1xuICAgIH1cbiAgICBpZiAoZmV0Y2hUeXBlID09PSAnSGllcmFyY2h5RmlsdGVyJyB8fCBmZXRjaFR5cGUgPT09ICdOZXR3b3JrRmlsdGVyJykge1xuICAgICAgYXBwbHlMb2dpYyhmaWx0ZXIpO1xuICAgIH1cblxuICAgIGRpc3BhdGNoKHNldEV2ZW50RmlsdGVyUGFyYW0oYnVpbGRLUUxRdWVyeShmaWx0ZXIsIHZhbHVlKSkpO1xuICAgIGRpc3BhdGNoKHNldEFjdGl2ZUZpbHRlckdsb2JhbGx5KGZpbHRlcikpO1xuICAgIC8vIEFsd2F5cyByZXNldCBwYWdlIHRvIDEgd2hlbiBhIG5ldyBmaWx0ZXIgaXMgYXBwbGllZFxuICAgIGRpc3BhdGNoKHNldFNhbXBsaW5nRGF0YSh7IGN1cnJlbnRQYWdlOiAxLCBpc0ZldGNoOiBmYWxzZSB9KSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQ3JlYXRpb25DbGljayA9ICgpID0+IHtcbiAgICBjcmVhdGVGaWx0ZXIoYWN0aXZlRmlsdGVyQ29weSwgbmFtZUlucHV0LmN1cnJlbnQhLnZhbHVlKTtcbiAgICBuYW1lSW5wdXQuY3VycmVudCEudmFsdWUgPSAnJztcbiAgICBmaWx0ZXJDb250ZW50LmN1cnJlbnQhLmNsaWNrKCk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRXYUlkKGdldFdhSWRGcm9tVVJMKCkpO1xuICAgIGlmICghcmVuZGVyZWQpIHtcbiAgICAgIHNldFJlbmRlcmVkKHRydWUpO1xuICAgICAgZ2V0RGF0YSghcmVuZGVyZWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoZ2xvYmFsX2RhdGEuZXZlbnRGaWx0ZXJQYXJhbSA9PT0gJycgJiYgZmlsdGVycy5sZW5ndGggIT09IDApIHtcbiAgICAgICAgbGV0IGZpbHRlciA9IGZpbHRlcnMuZmluZCgoZmlsdGVyOiBJRmlsdGVyKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGZpbHRlci5pc19hY3RpdmU7XG4gICAgICAgIH0pO1xuICAgICAgICBzZXRBY3RpdmVGaWx0ZXJDb3B5KGZpbHRlcik7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgc2V0UmVuZGVyZWQoZmFsc2UpO1xuICAgIH07XG4gIH0sIFtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBXYUlkXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9e2BmaWx0ZXItY29udGFpbmVyICR7XG4gICAgICAgIGZpbHRlclBvcHVwT3BlbiA/ICcnIDogJ2ZpbHRlci1jb250YWluZXItLWhpZGRlbidcbiAgICAgIH1gfVxuICAgID5cbiAgICAgIHthY3RpdmVGaWx0ZXJDb3B5ICE9PSB1bmRlZmluZWQgJiYgKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2ZpbHRlci1jb250YWluZXJfX2NvbnRlbnQnfSByZWY9e2ZpbHRlckNvbnRlbnR9PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZmlsdGVyLWNvbnRhaW5lcl9fY29udGVudF9faGVhZGVyJ30+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J3RpdGxlJ30+XG4gICAgICAgICAgICAgIDxoND57aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZmlsdGVyLmZpbHRlcicpfTwvaDQ+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydhY3Rpb25zJ30+XG4gICAgICAgICAgICAgIDxEcm9wZG93biBjbGFzc05hbWU9eydhY3Rpb24nfT5cbiAgICAgICAgICAgICAgICA8RHJvcGRvd24uVG9nZ2xlIHZhcmlhbnQ9XCJzdWNjZXNzXCIgaWQ9XCJkcm9wZG93bi1iYXNpY1wiPlxuICAgICAgICAgICAgICAgICAgPExpc3RJY29uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInByZXNldC1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTRweFwiXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTRweFwiXG4gICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMWQxZDFkXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICB7YWN0aXZlRmlsdGVyQ29weS5uYW1lfXsnICd9XG4gICAgICAgICAgICAgICAgICB7YWN0aXZlRmlsdGVyQ29weS5pZCA9PT0gLTEgPyAoXG4gICAgICAgICAgICAgICAgICAgIDxiPiAoe2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmZpbHRlci51bnNhdmVkJyl9KSA8L2I+XG4gICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAnJ1xuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duLlRvZ2dsZT5cblxuICAgICAgICAgICAgICAgIDxGaWx0ZXJzRHJvcERvd25cbiAgICAgICAgICAgICAgICAgIGZpbHRlcnM9e2ZpbHRlcnN9XG4gICAgICAgICAgICAgICAgICBoYW5kbGVGaWx0ZXJDaGFuZ2U9e2hhbmRsZUZpbHRlckNoYW5nZX1cbiAgICAgICAgICAgICAgICAgIGFjdGl2ZUZpbHRlckNvcHk9e2FjdGl2ZUZpbHRlckNvcHl9XG4gICAgICAgICAgICAgICAgICBhY3RpdmF0ZUZpbHRlcj17YWN0aXZhdGVGaWx0ZXJ9XG4gICAgICAgICAgICAgICAgICBkZWxldGVGaWx0ZXI9e2RlbGV0ZUZpbHRlcn1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L0Ryb3Bkb3duPlxuXG4gICAgICAgICAgICAgIDxEcm9wZG93biBjbGFzc05hbWU9eydhY3Rpb24nfT5cbiAgICAgICAgICAgICAgICA8RHJvcGRvd24uVG9nZ2xlIHZhcmlhbnQ9XCJzdWNjZXNzXCIgaWQ9XCJkcm9wZG93bi1iYXNpY1wiPlxuICAgICAgICAgICAgICAgICAgPFNhdmVJY29uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInNhdmUtaWNvblwiXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjEzcHhcIlxuICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjEzcHhcIlxuICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzFkMWQxZFwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+e2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5zYXZlLmxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvRHJvcGRvd24uVG9nZ2xlPlxuXG4gICAgICAgICAgICAgICAgPERyb3Bkb3duLk1lbnU+XG4gICAgICAgICAgICAgICAgICA8RHJvcGRvd24uSXRlbVxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17YWN0aXZlRmlsdGVyQ29weS5pZCA9PT0gLTEgPyB0cnVlIDogZmFsc2V9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBzYXZlQWN0aXZlRmlsdGVyKGFjdGl2ZUZpbHRlckNvcHkpO1xuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZmlsdGVyLnNhdmUuZXhpc3RpbmcnKX1cbiAgICAgICAgICAgICAgICAgIDwvRHJvcGRvd24uSXRlbT5cbiAgICAgICAgICAgICAgICAgIDxEcm9wZG93biBjbGFzc05hbWU9eydhY3Rpb24gYWN0aW9uLS1zYXZlJ30+XG4gICAgICAgICAgICAgICAgICAgIDxEcm9wZG93bi5Ub2dnbGUgdmFyaWFudD1cInN1Y2Nlc3NcIiBpZD1cImRyb3Bkb3duLWJhc2ljXCI+XG4gICAgICAgICAgICAgICAgICAgICAge2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5zYXZlLm5ldycpfVxuICAgICAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duLlRvZ2dsZT5cblxuICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd24uTWVudT5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J25ldy1maWx0ZXItcG9wdXAnfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtQ29udHJvbFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdldmVudHNfb3ZlcnZpZXcuZmlsdGVyLnNhdmUuZmllbGRfcGxhY2Vob2xkZXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiTmFtZSB0aGlzIGZpbHRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9XCJiYXNpYy1hZGRvbjJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e25hbWVJbnB1dH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b0ZvY3VzPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlQ3JlYXRpb25DbGljaygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwic3VjY2Vzc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtpMThuLnQoJ2RldmljZV9oZWFsdGhfc3RhdHVzLm9rJyl9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9Ecm9wZG93bi5NZW51PlxuICAgICAgICAgICAgICAgICAgPC9Ecm9wZG93bj5cbiAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duLk1lbnU+XG4gICAgICAgICAgICAgIDwvRHJvcGRvd24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZmlsdGVyLWNvbnRhaW5lcl9fY29udGVudF9fYm9keSd9PlxuICAgICAgICAgICAgPEZpbHRlclxuICAgICAgICAgICAgICBzZXRBY3RpdmVGaWx0ZXJDb3B5PXtzZXRBY3RpdmVGaWx0ZXJDb3B5fVxuICAgICAgICAgICAgICBhY3RpdmVGaWx0ZXJDb3B5PXthY3RpdmVGaWx0ZXJDb3B5fVxuICAgICAgICAgICAgICBhdmFpbGFibGVGaWx0ZXJJdGVtcz17YXZhaWxhYmxlRmlsdGVySXRlbXN9XG4gICAgICAgICAgICAgIHBhcnNlU2VsZWN0ZWRJdGVtcz17cGFyc2VTZWxlY3RlZEl0ZW1zfVxuICAgICAgICAgICAgICBhcHBseUZpbHRlcj17YXBwbHlGaWx0ZXJ9XG4gICAgICAgICAgICAgIHJlc2V0RmlsdGVyPXtyZXNldEZpbHRlciA/IGhhbmRsZVJlc2V0RmlsdGVyIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmNvbnN0IGNvbm5lY3RvciA9IGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzKTtcbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3RvcihGaWx0ZXJDb250YWluZXIpO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsZUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsU0FBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksV0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssZUFBQSxHQUFBTCxPQUFBO0FBQXNFLElBQUFNLFNBQUEsR0FBQU4sT0FBQTtBQUFBLElBQUFPLEtBQUEsR0FBQVAsT0FBQTtBQU10RSxJQUFBUSxRQUFBLEdBQUFSLE9BQUE7QUFLQSxJQUFBUyxLQUFBLEdBQUFOLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBVSxJQUFBLEdBQUFWLE9BQUE7QUFDQUEsT0FBQTtBQUNBLElBQUFXLE9BQUEsR0FBQVIsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFZLGdCQUFBLEdBQUFULHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBYSxlQUFBLEdBQUFiLE9BQUE7QUFBcUUsU0FBQWMseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFoQix3QkFBQW9CLEdBQUEsRUFBQUosV0FB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
|
|
@@ -111,6 +111,7 @@ var FilterItem = function FilterItem(props) {
|
|
|
111
111
|
return _i18n.default.t("events_overview.filter.points_mode.".concat(option));
|
|
112
112
|
case 'SamplerFilterItem':
|
|
113
113
|
return _i18n.default.t("events_overview.filter.sampler_mode.".concat(option));
|
|
114
|
+
case 'NetworkInsightDataFilterItem':
|
|
114
115
|
case 'InsightDataFilterItem':
|
|
115
116
|
return _i18n.default.t("events_overview.filter.insight_data.".concat(option));
|
|
116
117
|
case 'ObservedUpstreamFilterItem':
|
|
@@ -196,4 +197,4 @@ var FilterItem = function FilterItem(props) {
|
|
|
196
197
|
};
|
|
197
198
|
var _default = FilterItem;
|
|
198
199
|
exports.default = _default;
|
|
199
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZnJlZVNvbGlkU3ZnSWNvbnMiLCJyZXF1aXJlIiwiX3JlYWN0Rm9udGF3ZXNvbWUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9pMThuIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9PcHRpb25zRHJvcERvd24iLCJfVGltZVJhbmdlSGVscGVyIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJGaWx0ZXJJdGVtIiwicHJvcHMiLCJmaWx0ZXJfaXRlbSIsInBhcnNlU2VsZWN0ZWRJdGVtcyIsImFjdGl2ZUZpbHRlckNvcHkiLCJzZXRBY3RpdmVGaWx0ZXJDb3B5IiwiYXZhaWxhYmxlRmlsdGVySXRlbXMiLCJzaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cCIsInNldFNob3dGaWx0ZXJJdGVtT3B0aW9uc1BvcHVwIiwiaGFuZGxlRmlsdGVySXRlbUNsaWNrIiwiZmlsdGVySXRlbSIsInNob3ciLCJmaWx0ZXJJdGVtSWQiLCJpZCIsInJlbW92ZUZpbHRlckl0ZW0iLCJ1bmRlZmluZWQiLCJpbmRleCIsImZpbHRlcl9pdGVtcyIsImluZGV4T2YiLCJmaW5kIiwiaXRlbSIsInNwbGljZSIsImFjdGl2ZUZpbHRlckR1cGxpY2F0ZSIsImFzc2lnbiIsImhhbmRsZUNoYW5nZSIsInNlbGVjdGVkIiwiYWN0aXZlRmlsdGVyIiwic2VsZWN0ZWRPcHRpb25zIiwibGVuZ3RoIiwiZm9yRWFjaCIsInNlbGVjdGlvbiIsInB1c2giLCJvcmlnaW5hbCIsInNlbGVjdGVkX29wdGlvbnMiLCJoYW5kbGVTaW5nbGVTZWxlY3Rpb24iLCJfcmVmIiwiX3JlZiRjdXJyZW50VGFyZ2V0IiwiY3VycmVudFRhcmdldCIsIl9yZWYkY3VzdG9tVmFsdWUiLCJjdXN0b21WYWx1ZSIsInNlbGVjdGVkVmFsdWUiLCJjaGlsZHJlbiIsInZhbHVlIiwic3RyaXBEYW1hZ2VUeXBlIiwic3RyaW5nIiwidG9Mb3dlckNhc2UiLCJyZXBsYWNlIiwiY2FtZWxUb1NuYWtlQ2FzZSIsInN0ciIsInNsaWNlIiwibGV0dGVyIiwiY29uY2F0IiwiZGlzcGxheU5hbWVGb3JPYmplY3RUeXBlZE9wdGlvbnMiLCJvcHRpb24iLCJmb3JPdXRlckRpc3BsYXkiLCJhdmFpbGFibGVfb3B0aW9ucyIsImYiLCJuYW1lIiwidHJhbnNsYXRlRmlsdGVySXRlbU9wdGlvbkxhYmVsIiwiYXJndW1lbnRzIiwidHlwZSIsImkxOG4iLCJ0IiwiZm9ybWF0VGltZVNlbGVjdGlvbiIsInRyYW5zbGF0ZUZpbHRlckl0ZW1UeXBlIiwiZmlsdGVySXRlbVR5cGUiLCJnZXRTZWxlY3Rpb25zIiwic2VsZWN0aW9ucyIsIm1hcCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJ1c2VFZmZlY3QiLCJtYXRjaEZpbHRlckl0ZW0iLCJhdmFpbGFibGVGaWx0ZXJJdGVtIiwib3B0aW9ucyIsIkZyYWdtZW50Iiwib25DbGljayIsIkZvbnRBd2Vzb21lSWNvbiIsImljb24iLCJmYVRpbWVzIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3BhZ2VzL0V2ZW50c1BhZ2UvZXZlbnRzL2V2ZW50c19saXN0L0ZpbHRlci9GaWx0ZXJJdGVtLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmYVRpbWVzIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSc7XG5pbXBvcnQgUmVhY3QsIHsgRm9ybUV2ZW50LCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBJRmlsdGVyIH0gZnJvbSAnc3JjL3N0b3JlL2ZpbHRlcnMvSUZpbHRlcic7XG5pbXBvcnQgeyBJRmlsdGVySXRlbSB9IGZyb20gJ3NyYy9zdG9yZS9maWx0ZXJzL0lGaWx0ZXJJdGVtJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgJy4uLy4uL0V2ZW50c1N0eWxlLnNjc3MnO1xuaW1wb3J0IE9wdGlvbnNEcm9wRG93biBmcm9tICcuL09wdGlvbnNEcm9wRG93bic7XG5pbXBvcnQgeyBmb3JtYXRUaW1lU2VsZWN0aW9uIH0gZnJvbSAnc3JjL2NvbXBvbmVudHMvVGltZVJhbmdlU2VsZWN0b3IvVGltZVJhbmdlSGVscGVyJztcblxudHlwZSBJUHJvcHMgPSB7XG4gIGZpbHRlcl9pdGVtOiBJRmlsdGVySXRlbTtcbiAgcGFyc2VTZWxlY3RlZEl0ZW1zOiBGdW5jdGlvbjtcbiAgYWN0aXZlRmlsdGVyQ29weTogYW55O1xuICBzZXRBY3RpdmVGaWx0ZXJDb3B5OiBSZWFjdC5EaXNwYXRjaDxhbnk+O1xuICBhdmFpbGFibGVGaWx0ZXJJdGVtczogYW55O1xuICBzaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cDogYW55O1xuICBzZXRTaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cDogYW55O1xufTtcblxudHlwZSBJQ3VzdG9tVmFsdWUgPSB7XG4gIGN1c3RvbVZhbHVlOiBzdHJpbmc7XG59O1xuXG50eXBlIElTZWxlY3Rpb25FdmVudCA9IElDdXN0b21WYWx1ZSB8IEZvcm1FdmVudDxIVE1MSW5wdXRFbGVtZW50PjtcblxuY29uc3QgRmlsdGVySXRlbTogUmVhY3QuRkM8SVByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgZmlsdGVyX2l0ZW0sXG4gICAgcGFyc2VTZWxlY3RlZEl0ZW1zLFxuICAgIGFjdGl2ZUZpbHRlckNvcHksXG4gICAgc2V0QWN0aXZlRmlsdGVyQ29weSxcbiAgICBhdmFpbGFibGVGaWx0ZXJJdGVtcyxcbiAgICBzaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cCxcbiAgICBzZXRTaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cCxcbiAgfSA9IHByb3BzO1xuICBjb25zdCBoYW5kbGVGaWx0ZXJJdGVtQ2xpY2sgPSAoZmlsdGVySXRlbTogYW55KSA9PiB7XG4gICAgaWYgKFxuICAgICAgIXNob3dGaWx0ZXJJdGVtT3B0aW9uc1BvcHVwLnNob3cgJiZcbiAgICAgIHNob3dGaWx0ZXJJdGVtT3B0aW9uc1BvcHVwLmZpbHRlckl0ZW1JZCAhPT0gZmlsdGVySXRlbS5pZFxuICAgICkge1xuICAgICAgc2V0U2hvd0ZpbHRlckl0ZW1PcHRpb25zUG9wdXAoe1xuICAgICAgICBmaWx0ZXJJdGVtSWQ6IGZpbHRlckl0ZW0uaWQsXG4gICAgICAgIHNob3c6IHRydWUsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgcmVtb3ZlRmlsdGVySXRlbSA9IChmaWx0ZXJJdGVtOiBJRmlsdGVySXRlbSkgPT4ge1xuICAgIGlmIChhY3RpdmVGaWx0ZXJDb3B5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGxldCBpbmRleCA9IGFjdGl2ZUZpbHRlckNvcHkuZmlsdGVyX2l0ZW1zLmluZGV4T2YoXG4gICAgICAgIGFjdGl2ZUZpbHRlckNvcHkuZmlsdGVyX2l0ZW1zLmZpbmQoXG4gICAgICAgICAgKGl0ZW06IElGaWx0ZXJJdGVtKSA9PiBpdGVtLmlkID09PSBmaWx0ZXJJdGVtLmlkLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICAgIGFjdGl2ZUZpbHRlckNvcHkuZmlsdGVyX2l0ZW1zLnNwbGljZShpbmRleCwgMSk7XG5cbiAgICAgIGxldCBhY3RpdmVGaWx0ZXJEdXBsaWNhdGUgPSBPYmplY3QuYXNzaWduKHt9LCBhY3RpdmVGaWx0ZXJDb3B5KTtcbiAgICAgIHNldEFjdGl2ZUZpbHRlckNvcHkoYWN0aXZlRmlsdGVyRHVwbGljYXRlKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQ2hhbmdlID0gKFxuICAgIHNlbGVjdGVkOiBhbnksXG4gICAgZmlsdGVySXRlbTogSUZpbHRlckl0ZW0sXG4gICAgYWN0aXZlRmlsdGVyOiBJRmlsdGVyLFxuICApID0+IHtcbiAgICBsZXQgc2VsZWN0ZWRPcHRpb25zOiBhbnlbXSA9IFtdO1xuXG4gICAgaWYgKHNlbGVjdGVkLmxlbmd0aCAhPT0gMCkge1xuICAgICAgc2VsZWN0ZWQuZm9yRWFjaCgoc2VsZWN0aW9uOiBhbnkpID0+IHtcbiAgICAgICAgc2VsZWN0ZWRPcHRpb25zLnB1c2goc2VsZWN0aW9uLm9yaWdpbmFsKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGZpbHRlckl0ZW0uc2VsZWN0ZWRfb3B0aW9ucyA9IHNlbGVjdGVkT3B0aW9ucztcbiAgICBsZXQgYWN0aXZlRmlsdGVyQ29weSA9IE9iamVjdC5hc3NpZ24oe30sIGFjdGl2ZUZpbHRlcik7XG4gICAgc2V0QWN0aXZlRmlsdGVyQ29weShhY3RpdmVGaWx0ZXJDb3B5KTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVTaW5nbGVTZWxlY3Rpb24gPSAoXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHsgY3VycmVudFRhcmdldCA9ICcnLCBjdXN0b21WYWx1ZSA9ICcnIH06IElTZWxlY3Rpb25FdmVudCxcbiAgICBmaWx0ZXJJdGVtOiBJRmlsdGVySXRlbSxcbiAgICBhY3RpdmVGaWx0ZXI6IElGaWx0ZXIsXG4gICkgPT4ge1xuICAgIGxldCBzZWxlY3RlZE9wdGlvbnM6IGFueVtdID0gW107XG4gICAgY29uc3Qgc2VsZWN0ZWRWYWx1ZSA9IGN1c3RvbVZhbHVlIHx8IGN1cnJlbnRUYXJnZXQuY2hpbGRyZW5bMF0udmFsdWU7XG4gICAgc2VsZWN0ZWRPcHRpb25zLnB1c2goc2VsZWN0ZWRWYWx1ZSk7XG4gICAgZmlsdGVySXRlbS5zZWxlY3RlZF9vcHRpb25zID0gc2VsZWN0ZWRPcHRpb25zO1xuXG4gICAgbGV0IGFjdGl2ZUZpbHRlckNvcHkgPSBPYmplY3QuYXNzaWduKHt9LCBhY3RpdmVGaWx0ZXIpO1xuICAgIHNldEFjdGl2ZUZpbHRlckNvcHkoYWN0aXZlRmlsdGVyQ29weSk7XG4gIH07XG5cbiAgY29uc3Qgc3RyaXBEYW1hZ2VUeXBlID0gKHN0cmluZzogc3RyaW5nKSA9PiB7XG4gICAgcmV0dXJuIHN0cmluZy50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1snICcvJl0vZywgJy0nKTtcbiAgfTtcblxuICBjb25zdCBjYW1lbFRvU25ha2VDYXNlID0gKHN0cjogc3RyaW5nKSA9PlxuICAgIHN0clswXS50b0xvd2VyQ2FzZSgpICtcbiAgICBzdHJcbiAgICAgIC5zbGljZSgxLCBzdHIubGVuZ3RoKVxuICAgICAgLnJlcGxhY2UoL1tBLVpdL2csIChsZXR0ZXIpID0+IGBfJHtsZXR0ZXIudG9Mb3dlckNhc2UoKX1gKTtcbiAgY29uc3QgZGlzcGxheU5hbWVGb3JPYmplY3RUeXBlZE9wdGlvbnMgPSAoXG4gICAgZmlsdGVySXRlbTogSUZpbHRlckl0ZW0sXG4gICAgb3B0aW9uOiBhbnksXG4gICAgZm9yT3V0ZXJEaXNwbGF5OiBib29sZWFuLFxuICApID0+IHtcbiAgICBsZXQgaXRlbTtcbiAgICBpZiAoZm9yT3V0ZXJEaXNwbGF5ICYmIGZpbHRlckl0ZW0uYXZhaWxhYmxlX29wdGlvbnMgIT09IG51bGwpIHtcbiAgICAgIGl0ZW0gPSBmaWx0ZXJJdGVtLmF2YWlsYWJsZV9vcHRpb25zLmZpbmQoKGYpID0+IGYuaWQgPT09IG9wdGlvbik7XG4gICAgICBpdGVtICE9PSB1bmRlZmluZWQgJiYgKGl0ZW0gPSBpdGVtLm5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpdGVtID0gb3B0aW9uO1xuICAgIH1cblxuICAgIHJldHVybiBpdGVtO1xuICB9O1xuICBjb25zdCB0cmFuc2xhdGVGaWx0ZXJJdGVtT3B0aW9uTGFiZWwgPSAoXG4gICAgZmlsdGVySXRlbTogSUZpbHRlckl0ZW0sXG4gICAgb3B0aW9uOiBzdHJpbmcsXG4gICAgZm9yT3V0ZXJEaXNwbGF5ID0gZmFsc2UsXG4gICkgPT4ge1xuICAgIHN3aXRjaCAoZmlsdGVySXRlbS50eXBlKSB7XG4gICAgICBjYXNlICdJbnRlcmVzdFBvaW50RmlsdGVySXRlbSc6XG4gICAgICAgIHJldHVybiBkaXNwbGF5TmFtZUZvck9iamVjdFR5cGVkT3B0aW9ucyhcbiAgICAgICAgICBmaWx0ZXJJdGVtLFxuICAgICAgICAgIG9wdGlvbixcbiAgICAgICAgICBmb3JPdXRlckRpc3BsYXksXG4gICAgICAgICk7XG4gICAgICBjYXNlICdWYXJlYUZpbHRlckl0ZW0nOlxuICAgICAgICByZXR1cm4gZGlzcGxheU5hbWVGb3JPYmplY3RUeXBlZE9wdGlvbnMoXG4gICAgICAgICAgZmlsdGVySXRlbSxcbiAgICAgICAgICBvcHRpb24sXG4gICAgICAgICAgZm9yT3V0ZXJEaXNwbGF5LFxuICAgICAgICApO1xuICAgICAgY2FzZSAnQXJlYUZpbHRlckl0ZW0nOlxuICAgICAgICByZXR1cm4gZGlzcGxheU5hbWVGb3JPYmplY3RUeXBlZE9wdGlvbnMoXG4gICAgICAgICAgZmlsdGVySXRlbSxcbiAgICAgICAgICBvcHRpb24sXG4gICAgICAgICAgZm9yT3V0ZXJEaXNwbGF5LFxuICAgICAgICApO1xuICAgICAgY2FzZSAnU2VjdG9yRmlsdGVySXRlbSc6XG4gICAgICAgIHJldHVybiBkaXNwbGF5TmFtZUZvck9iamVjdFR5cGVkT3B0aW9ucyhcbiAgICAgICAgICBmaWx0ZXJJdGVtLFxuICAgICAgICAgIG9wdGlvbixcbiAgICAgICAgICBmb3JPdXRlckRpc3BsYXksXG4gICAgICAgICk7XG4gICAgICBjYXNlICdTZXZlcml0eUZpbHRlckl0ZW0nOlxuICAgICAgICByZXR1cm4gaTE4bi50KGBldmVudHNfb3ZlcnZpZXcuc2V2ZXJpdGllcy4ke29wdGlvbn1gKTtcbiAgICAgIGNhc2UgJ0RhbWFnZVR5cGVGaWx0ZXJJdGVtJzpcbiAgICAgICAgcmV0dXJuIGkxOG4udChcbiAgICAgICAgICBgZXZlbnRzX292ZXJ2aWV3LmRhbWFnZV90eXBlcy4ke3N0cmlwRGFtYWdlVHlwZShvcHRpb24pfWAsXG4gICAgICAgICk7XG4gICAgICBjYXNlICdUaW1lRmlsdGVySXRlbSc6XG4gICAgICAgIHJldHVybiBmb3JtYXRUaW1lU2VsZWN0aW9uKG9wdGlvbik7XG4gICAgICBjYXNlICdTdGF0dXNGaWx0ZXJJdGVtJzpcbiAgICAgICAgcmV0dXJuIGkxOG4udChgZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5zdGF0dXMuJHtvcHRpb259YCk7XG4gICAgICBjYXNlICdTYW1wbGluZ0ZpbHRlckl0ZW0nOlxuICAgICAgICByZXR1cm4gaTE4bi50KGBldmVudHNfb3ZlcnZpZXcuZmlsdGVyLnNhbXBsaW5nc19vcHRpb25zLiR7b3B0aW9ufWApO1xuICAgICAgY2FzZSAnU2FtcGxpbmdNb2RlRmlsdGVySXRlbSc6XG4gICAgICAgIHJldHVybiBpMThuLnQoYGV2ZW50c19vdmVydmlldy5maWx0ZXIuc2FtcGxpbmdfbW9kZS4ke29wdGlvbn1gKTtcbiAgICAgIGNhc2UgJ1BvaW50c01vZGVGaWx0ZXJJdGVtJzpcbiAgICAgICAgcmV0dXJuIGkxOG4udChgZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5wb2ludHNfbW9kZS4ke29wdGlvbn1gKTtcbiAgICAgIGNhc2UgJ1NhbXBsZXJGaWx0ZXJJdGVtJzpcbiAgICAgICAgcmV0dXJuIGkxOG4udChgZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5zYW1wbGVyX21vZGUuJHtvcHRpb259YCk7XG4gICAgICBjYXNlICdJbnNpZ2h0RGF0YUZpbHRlckl0ZW0nOlxuICAgICAgICByZXR1cm4gaTE4bi50KGBldmVudHNfb3ZlcnZpZXcuZmlsdGVyLmluc2lnaHRfZGF0YS4ke29wdGlvbn1gKTtcbiAgICAgIGNhc2UgJ09ic2VydmVkVXBzdHJlYW1GaWx0ZXJJdGVtJzpcbiAgICAgICAgcmV0dXJuIGkxOG4udChgZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5vYnNlcnZlZF91cHN0cmVhbS4ke29wdGlvbn1gKTtcbiAgICAgIGNhc2UgJ0xhYkZpbHRlckl0ZW0nOlxuICAgICAgICByZXR1cm4gZGlzcGxheU5hbWVGb3JPYmplY3RUeXBlZE9wdGlvbnMoXG4gICAgICAgICAgZmlsdGVySXRlbSxcbiAgICAgICAgICBvcHRpb24sXG4gICAgICAgICAgZm9yT3V0ZXJEaXNwbGF5LFxuICAgICAgICApO1xuICAgICAgY2FzZSAnU2FtcGxpbmdTdGF0dXNGaWx0ZXJJdGVtJzpcbiAgICAgICAgcmV0dXJuIGkxOG4udChgZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5zYW1wbGluZ3Nfc3RhdHVzLiR7b3B0aW9ufWApO1xuICAgICAgY2FzZSAnU2FtcGxpbmdJZEZpbHRlckl0ZW0nOlxuICAgICAgICByZXR1cm4gZGlzcGxheU5hbWVGb3JPYmplY3RUeXBlZE9wdGlvbnMoXG4gICAgICAgICAgZmlsdGVySXRlbSxcbiAgICAgICAgICBvcHRpb24sXG4gICAgICAgICAgZm9yT3V0ZXJEaXNwbGF5LFxuICAgICAgICApO1xuICAgICAgY2FzZSAnU2FtcGxpbmdQYXJhbWV0ZXJGaWx0ZXJJdGVtJzpcbiAgICAgIGNhc2UgJ0Rpc2NoYXJnZVRpbWVGaWx0ZXJJdGVtJzpcbiAgICAgIGNhc2UgJ1NpdGVGaWx0ZXJJdGVtJzpcbiAgICAgICAgcmV0dXJuIGRpc3BsYXlOYW1lRm9yT2JqZWN0VHlwZWRPcHRpb25zKFxuICAgICAgICAgIGZpbHRlckl0ZW0sXG4gICAgICAgICAgb3B0aW9uLFxuICAgICAgICAgIGZvck91dGVyRGlzcGxheSxcbiAgICAgICAgKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgdHJhbnNsYXRlRmlsdGVySXRlbVR5cGUgPSAoZmlsdGVySXRlbVR5cGU6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiBpMThuLnQoXG4gICAgICBgZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5maWx0ZXJfdHlwZXMuJHtjYW1lbFRvU25ha2VDYXNlKGZpbHRlckl0ZW1UeXBlKX1gLFxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgZ2V0U2VsZWN0aW9ucyA9IChzZWxlY3RlZF9vcHRpb25zOiBhbnkpID0+IHtcbiAgICBsZXQgc2VsZWN0aW9uczogYW55W10gPSBbXTtcbiAgICBpZiAoc2VsZWN0ZWRfb3B0aW9ucy5sZW5ndGggPiAxKSB7XG4gICAgICBwYXJzZVNlbGVjdGVkSXRlbXMoZmlsdGVyX2l0ZW0pXG4gICAgICAgIC5zbGljZSgwLCAxKVxuICAgICAgICAubWFwKChzZWxlY3Rpb246IHN0cmluZykgPT5cbiAgICAgICAgICBzZWxlY3Rpb25zLnB1c2goXG4gICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXsnZmlsdGVyX2l0ZW1fX2NvbnRlbnRfX3NlbGVjdGlvbnNfX3NlbGVjdGlvbid9XG4gICAgICAgICAgICAgIGtleT17c2VsZWN0aW9ufVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7dHJhbnNsYXRlRmlsdGVySXRlbU9wdGlvbkxhYmVsKGZpbHRlcl9pdGVtLCBzZWxlY3Rpb24sIHRydWUpfVxuICAgICAgICAgICAgPC9saT4sXG4gICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICAgIHNlbGVjdGlvbnMucHVzaChcbiAgICAgICAgPHNwYW4ga2V5PXsnTU9SRSd9PntgICgke3NlbGVjdGVkX29wdGlvbnMubGVuZ3RofSlgfTwvc3Bhbj4sXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXJzZVNlbGVjdGVkSXRlbXMoZmlsdGVyX2l0ZW0pLm1hcCgoc2VsZWN0aW9uOiBzdHJpbmcpID0+XG4gICAgICAgIHNlbGVjdGlvbnMucHVzaChcbiAgICAgICAgICA8bGlcbiAgICAgICAgICAgIGNsYXNzTmFtZT17J2ZpbHRlcl9pdGVtX19jb250ZW50X19zZWxlY3Rpb25zX19zZWxlY3Rpb24nfVxuICAgICAgICAgICAga2V5PXtzZWxlY3Rpb259XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3RyYW5zbGF0ZUZpbHRlckl0ZW1PcHRpb25MYWJlbChmaWx0ZXJfaXRlbSwgc2VsZWN0aW9uLCB0cnVlKX1cbiAgICAgICAgICA8L2xpPixcbiAgICAgICAgKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlbGVjdGlvbnM7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZmlsdGVyX2l0ZW0uc2VsZWN0ZWRfb3B0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgIHNldFNob3dGaWx0ZXJJdGVtT3B0aW9uc1BvcHVwKHtcbiAgICAgICAgZmlsdGVySXRlbUlkOiBmaWx0ZXJfaXRlbS5pZCxcbiAgICAgICAgc2hvdzogdHJ1ZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChmaWx0ZXJfaXRlbS5hdmFpbGFibGVfb3B0aW9ucyA9PT0gbnVsbCkge1xuICAgICAgbGV0IG1hdGNoRmlsdGVySXRlbSA9IGF2YWlsYWJsZUZpbHRlckl0ZW1zLmZpbmQoXG4gICAgICAgIChhdmFpbGFibGVGaWx0ZXJJdGVtOiBhbnkpID0+XG4gICAgICAgICAgYXZhaWxhYmxlRmlsdGVySXRlbS50eXBlID09PSBmaWx0ZXJfaXRlbS50eXBlLFxuICAgICAgKTtcblxuICAgICAgaWYgKG1hdGNoRmlsdGVySXRlbSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGZpbHRlcl9pdGVtLmF2YWlsYWJsZV9vcHRpb25zID0gbWF0Y2hGaWx0ZXJJdGVtLm9wdGlvbnM7XG4gICAgICB9XG4gICAgfVxuICB9LCBbZmlsdGVyX2l0ZW1dKTtcblxuICByZXR1cm4gKFxuICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPXsnZmlsdGVyX2l0ZW1fX2NvbnRlbnQnfVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVGaWx0ZXJJdGVtQ2xpY2soZmlsdGVyX2l0ZW0pfVxuICAgICAgPlxuICAgICAgICA8c3Bhbj57dHJhbnNsYXRlRmlsdGVySXRlbVR5cGUoZmlsdGVyX2l0ZW0udHlwZSl9PC9zcGFuPlxuICAgICAgICA8dWwgY2xhc3NOYW1lPXsnZmlsdGVyX2l0ZW1fX2NvbnRlbnRfX3NlbGVjdGlvbnMnfT5cbiAgICAgICAgICB7Z2V0U2VsZWN0aW9ucyhwYXJzZVNlbGVjdGVkSXRlbXMoZmlsdGVyX2l0ZW0pKS5tYXAoXG4gICAgICAgICAgICAoc2VsZWN0aW9uOiBIVE1MRWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gc2VsZWN0aW9uO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICApfVxuICAgICAgICA8L3VsPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxhIG9uQ2xpY2s9eygpID0+IHJlbW92ZUZpbHRlckl0ZW0oZmlsdGVyX2l0ZW0pfT5cbiAgICAgICAgPEZvbnRBd2Vzb21lSWNvbiBpY29uPXtmYVRpbWVzfSAvPlxuICAgICAgPC9hPlxuICAgICAge3Nob3dGaWx0ZXJJdGVtT3B0aW9uc1BvcHVwLmZpbHRlckl0ZW1JZCA9PT0gZmlsdGVyX2l0ZW0uaWQgJiZcbiAgICAgICAgc2hvd0ZpbHRlckl0ZW1PcHRpb25zUG9wdXAgJiYgKFxuICAgICAgICAgIDxPcHRpb25zRHJvcERvd25cbiAgICAgICAgICAgIHBhcnNlU2VsZWN0ZWRJdGVtcz17cGFyc2VTZWxlY3RlZEl0ZW1zfVxuICAgICAgICAgICAgZmlsdGVySXRlbT17ZmlsdGVyX2l0ZW19XG4gICAgICAgICAgICBhY3RpdmVGaWx0ZXJDb3B5PXthY3RpdmVGaWx0ZXJDb3B5fVxuICAgICAgICAgICAgc2V0U2hvd0ZpbHRlckl0ZW1PcHRpb25zUG9wdXA9e3NldFNob3dGaWx0ZXJJdGVtT3B0aW9uc1BvcHVwfVxuICAgICAgICAgICAgc2hvd0ZpbHRlckl0ZW1PcHRpb25zUG9wdXA9e3Nob3dGaWx0ZXJJdGVtT3B0aW9uc1BvcHVwfVxuICAgICAgICAgICAgaGFuZGxlU2luZ2xlU2VsZWN0aW9uPXtoYW5kbGVTaW5nbGVTZWxlY3Rpb259XG4gICAgICAgICAgICB0cmFuc2xhdGVGaWx0ZXJJdGVtT3B0aW9uTGFiZWw9e3RyYW5zbGF0ZUZpbHRlckl0ZW1PcHRpb25MYWJlbH1cbiAgICAgICAgICAgIGhhbmRsZUNoYW5nZT17aGFuZGxlQ2hhbmdlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEZpbHRlckl0ZW07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsa0JBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxNQUFBLEdBQUFDLHVCQUFBLENBQUFILE9BQUE7QUFHQSxJQUFBSSxLQUFBLEdBQUFDLHNCQUFBLENBQUFMLE9BQUE7QUFDQUEsT0FBQTtBQUNBLElBQUFNLGdCQUFBLEdBQUFELHNCQUFBLENBQUFMLE9BQUE7QUFDQSxJQUFBTyxnQkFBQSxHQUFBUCxPQUFBO0FBQXVGLFNBQUFRLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBTix3QkFBQVUsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLGFBQUFFLE9BQUEsQ0FBQUYsR0FBQSx5QkFBQUEsR0FBQSw0QkFBQUcsT0FBQSxFQUFBSCxHQUFBLFVBQUFJLEtBQUEsR0FBQVQsd0JBQUEsQ0FBQUMsV0FBQSxPQUFBUSxLQUFBLElBQUFBLEtBQUEsQ0FBQUMsR0FBQSxDQUFBTCxHQUFBLFlBQUFJLEtBQUEsQ0FBQUUsR0FBQSxDQUFBTixHQUFBLFNBQUFPLE1BQUEsV0FBQUMscUJBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsR0FBQSxJQUFBWixHQUFBLFFBQUFZLEdBQUEsa0JBQUFILE1BQUEsQ0FBQUksU0FBQSxDQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWYsR0FBQSxFQUFBWSxHQUFBLFNBQUFJLElBQUEsR0FBQVIscUJBQUEsR0FBQUMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBWCxHQUFBLEVBQUFZLEdBQUEsY0FBQUksSUFBQSxLQUFBQSxJQUFBLENBQUFWLEdBQUEsSUFBQVUsSUFBQSxDQUFBQyxHQUFBLEtBQUFSLE1BQUEsQ0FBQUMsY0FBQSxDQUFBSCxNQUFBLEVBQUFLLEdBQUEsRUFBQUksSUFBQSxZQUFBVCxNQUFBLENBQUFLLEdBQUEsSUFBQVosR0FBQSxDQUFBWSxHQUFBLFNBQUFMLE1BQUEsQ0FBQUosT0FBQSxHQUFBSCxHQUFBLE1BQUFJLEtBQUEsSUFBQUEsS0FBQSxDQUFBYSxHQUFBLENBQUFqQixHQUFBLEVBQUFPLE1BQUEsWUFBQUEsTUFBQTtBQWtCdkYsSUFBTVcsVUFBNEIsR0FBRyxTQUEvQkEsVUFBNEJBLENBQUlDLEtBQUssRUFBSztFQUM5QyxJQUNFQyxXQUFXLEdBT1RELEtBQUssQ0FQUEMsV0FBVztJQUNYQyxrQkFBa0IsR0FNaEJGLEtBQUssQ0FOUEUsa0JBQWtCO0lBQ2xCQyxnQkFBZ0IsR0FLZEgsS0FBSyxDQUxQRyxnQkFBZ0I7SUFDaEJDLG1CQUFtQixHQUlqQkosS0FBSyxDQUpQSSxtQkFBbUI7SUFDbkJDLG9CQUFvQixHQUdsQkwsS0FBSyxDQUhQSyxvQkFBb0I7SUFDcEJDLDBCQUEwQixHQUV4Qk4sS0FBSyxDQUZQTSwwQkFBMEI7SUFDMUJDLDZCQUE2QixHQUMzQlAsS0FBSyxDQURQTyw2QkFBNkI7RUFFL0IsSUFBTUMscUJBQXFCLEdBQUcsU0FBeEJBLHFCQUFxQkEsQ0FBSUMsVUFBZSxFQUFLO0lBQ2pELElBQ0UsQ0FBQ0gsMEJBQTBCLENBQUNJLElBQUksSUFDaENKLDBCQUEwQixDQUFDSyxZQUFZLEtBQUtGLFVBQVUsQ0FBQ0csRUFBRSxFQUN6RDtNQUNBTCw2QkFBNkIsQ0FBQztRQUM1QkksWUFBWSxFQUFFRixVQUFVLENBQUNHLEVBQUU7UUFDM0JGLElBQUksRUFBRTtNQUNSLENBQUMsQ0FBQztJQUNKO0VBQ0YsQ0FBQztFQUVELElBQU1HLGdCQUFnQixHQUFHLFNBQW5CQSxnQkFBZ0JBLENBQUlKLFVBQXVCLEVBQUs7SUFDcEQsSUFBSU4sZ0JBQWdCLEtBQUtXLFNBQVMsRUFBRTtNQUNsQyxJQUFJQyxLQUFLLEdBQUdaLGdCQUFnQixDQUFDYSxZQUFZLENBQUNDLE9BQU8sQ0FDL0NkLGdCQUFnQixDQUFDYSxZQUFZLENBQUNFLElBQUksQ0FDaEMsVUFBQ0MsSUFBaUI7UUFBQSxPQUFLQSxJQUFJLENBQUNQLEVBQUUsS0FBS0gsVUFBVSxDQUFDRyxFQUFFO01BQUEsQ0FDbEQsQ0FDRixDQUFDO01BQ0RULGdCQUFnQixDQUFDYSxZQUFZLENBQUNJLE1BQU0sQ0FBQ0wsS0FBSyxFQUFFLENBQUMsQ0FBQztNQUU5QyxJQUFJTSxxQkFBcUIsR0FBRy9CLE1BQU0sQ0FBQ2dDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRW5CLGdCQUFnQixDQUFDO01BQy9EQyxtQkFBbUIsQ0FBQ2lCLHFCQUFxQixDQUFDO0lBQzVDO0VBQ0YsQ0FBQztFQUVELElBQU1FLFlBQVksR0FBRyxTQUFmQSxZQUFZQSxDQUNoQkMsUUFBYSxFQUNiZixVQUF1QixFQUN2QmdCLFlBQXFCLEVBQ2xCO0lBQ0gsSUFBSUMsZUFBc0IsR0FBRyxFQUFFO0lBRS9CLElBQUlGLFFBQVEsQ0FBQ0csTUFBTSxLQUFLLENBQUMsRUFBRTtNQUN6QkgsUUFBUSxDQUFDSSxPQUFPLENBQUMsVUFBQ0MsU0FBYyxFQUFLO1FBQ25DSCxlQUFlLENBQUNJLElBQUksQ0FBQ0QsU0FBUyxDQUFDRSxRQUFRLENBQUM7TUFDMUMsQ0FBQyxDQUFDO0lBQ0o7SUFFQXRCLFVBQVUsQ0FBQ3VCLGdCQUFnQixHQUFHTixlQUFlO0lBQzdDLElBQUl2QixnQkFBZ0IsR0FBR2IsTUFBTSxDQUFDZ0MsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFRyxZQUFZLENBQUM7SUFDdERyQixtQkFBbUIsQ0FBQ0QsZ0JBQWdCLENBQUM7RUFDdkMsQ0FBQztFQUVELElBQU04QixxQkFBcUIsR0FBRyxTQUF4QkEscUJBQXFCQSxDQUFBQyxJQUFBLEVBR3pCekIsVUFBdUIsRUFDdkJnQixZQUFxQixFQUNsQjtJQUFBLElBQUFVLGtCQUFBLEdBQUFELElBQUEsQ0FIREUsYUFBYTtNQUFiQSxhQUFhLEdBQUFELGtCQUFBLGNBQUcsRUFBRSxHQUFBQSxrQkFBQTtNQUFBRSxnQkFBQSxHQUFBSCxJQUFBLENBQUVJLFdBQVc7TUFBWEEsV0FBVyxHQUFBRCxnQkFBQSxjQUFHLEVBQUUsR0FBQUEsZ0JBQUE7SUFJdEMsSUFBSVgsZUFBc0IsR0FBRyxFQUFFO0lBQy9CLElBQU1hLGFBQWEsR0FBR0QsV0FBVyxJQUFJRixhQUFhLENBQUNJLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQ0MsS0FBSztJQUNwRWYsZUFBZSxDQUFDSSxJQUFJLENBQUNTLGFBQWEsQ0FBQztJQUNuQzlCLFVBQVUsQ0FBQ3VCLGdCQUFnQixHQUFHTixlQUFlO0lBRTdDLElBQUl2QixnQkFBZ0IsR0FBR2IsTUFBTSxDQUFDZ0MsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFRyxZQUFZLENBQUM7SUFDdERyQixtQkFBbUIsQ0FBQ0QsZ0JBQWdCLENBQUM7RUFDdkMsQ0FBQztFQUVELElBQU11QyxlQUFlLEdBQUcsU0FBbEJBLGVBQWVBLENBQUlDLE1BQWMsRUFBSztJQUMxQyxPQUFPQSxNQUFNLENBQUNDLFdBQVcsQ0FBQyxDQUFDLENBQUNDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDO0VBQ3RELENBQUM7RUFFRCxJQUFNQyxnQkFBZ0IsR0FBRyxTQUFuQkEsZ0JBQWdCQSxDQUFJQyxHQUFXO0lBQUEsT0FDbkNBLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQ0gsV0FBVyxDQUFDLENBQUMsR0FDcEJHLEdBQUcsQ0FDQUMsS0FBSyxDQUFDLENBQUMsRUFBRUQsR0FBRyxDQUFDcEIsTUFBTSxDQUFDLENBQ3BCa0IsT0FBTyxDQUFDLFFBQVEsRUFBRSxVQUFDSSxNQUFNO01BQUEsV0FBQUMsTUFBQSxDQUFTRCxNQUFNLENBQUNMLFdBQVcsQ0FBQyxDQUFDO0lBQUEsQ0FBRSxDQUFDO0VBQUE7RUFDOUQsSUFBTU8sZ0NBQWdDLEdBQUcsU0FBbkNBLGdDQUFnQ0EsQ0FDcEMxQyxVQUF1QixFQUN2QjJDLE1BQVcsRUFDWEMsZUFBd0IsRUFDckI7SUFDSCxJQUFJbEMsSUFBSTtJQUNSLElBQUlrQyxlQUFlLElBQUk1QyxVQUFVLENBQUM2QyxpQkFBaUIsS0FBSyxJQUFJLEVBQUU7TUFDNURuQyxJQUFJLEdBQUdWLFVBQVUsQ0FBQzZDLGlCQUFpQixDQUFDcEMsSUFBSSxDQUFDLFVBQUNxQyxDQUFDO1FBQUEsT0FBS0EsQ0FBQyxDQUFDM0MsRUFBRSxLQUFLd0MsTUFBTTtNQUFBLEVBQUM7TUFDaEVqQyxJQUFJLEtBQUtMLFNBQVMsS0FBS0ssSUFBSSxHQUFHQSxJQUFJLENBQUNxQyxJQUFJLENBQUM7SUFDMUMsQ0FBQyxNQUFNO01BQ0xyQyxJQUFJLEdBQUdpQyxNQUFNO0lBQ2Y7SUFFQSxPQUFPakMsSUFBSTtFQUNiLENBQUM7RUFDRCxJQUFNc0MsOEJBQThCLEdBQUcsU0FBakNBLDhCQUE4QkEsQ0FDbENoRCxVQUF1QixFQUN2QjJDLE1BQWMsRUFFWDtJQUFBLElBREhDLGVBQWUsR0FBQUssU0FBQSxDQUFBL0IsTUFBQSxRQUFBK0IsU0FBQSxRQUFBNUMsU0FBQSxHQUFBNEMsU0FBQSxNQUFHLEtBQUs7SUFFdkIsUUFBUWpELFVBQVUsQ0FBQ2tELElBQUk7TUFDckIsS0FBSyx5QkFBeUI7UUFDNUIsT0FBT1IsZ0NBQWdDLENBQ3JDMUMsVUFBVSxFQUNWMkMsTUFBTSxFQUNOQyxlQUNGLENBQUM7TUFDSCxLQUFLLGlCQUFpQjtRQUNwQixPQUFPRixnQ0FBZ0MsQ0FDckMxQyxVQUFVLEVBQ1YyQyxNQUFNLEVBQ05DLGVBQ0YsQ0FBQztNQUNILEtBQUssZ0JBQWdCO1FBQ25CLE9BQU9GLGdDQUFnQyxDQUNyQzFDLFVBQVUsRUFDVjJDLE1BQU0sRUFDTkMsZUFDRixDQUFDO01BQ0gsS0FBSyxrQkFBa0I7UUFDckIsT0FBT0YsZ0NBQWdDLENBQ3JDMUMsVUFBVSxFQUNWMkMsTUFBTSxFQUNOQyxlQUNGLENBQUM7TUFDSCxLQUFLLG9CQUFvQjtRQUN2QixPQUFPTyxhQUFJLENBQUNDLENBQUMsK0JBQUFYLE1BQUEsQ0FBK0JFLE1BQU0sQ0FBRSxDQUFDO01BQ3ZELEtBQUssc0JBQXNCO1FBQ3pCLE9BQU9RLGFBQUksQ0FBQ0MsQ0FBQyxpQ0FBQVgsTUFBQSxDQUNxQlIsZUFBZSxDQUFDVSxNQUFNLENBQUMsQ0FDekQsQ0FBQztNQUNILEtBQUssZ0JBQWdCO1FBQ25CLE9BQU8sSUFBQVUsb0NBQW1CLEVBQUNWLE1BQU0sQ0FBQztNQUNwQyxLQUFLLGtCQUFrQjtRQUNyQixPQUFPUSxhQUFJLENBQUNDLENBQUMsa0NBQUFYLE1BQUEsQ0FBa0NFLE1BQU0sQ0FBRSxDQUFDO01BQzFELEtBQUssb0JBQW9CO1FBQ3ZCLE9BQU9RLGFBQUksQ0FBQ0MsQ0FBQyw2Q0FBQVgsTUFBQSxDQUE2Q0UsTUFBTSxDQUFFLENBQUM7TUFDckUsS0FBSyx3QkFBd0I7UUFDM0IsT0FBT1EsYUFBSSxDQUFDQyxDQUFDLHlDQUFBWCxNQUFBLENBQXlDRSxNQUFNLENBQUUsQ0FBQztNQUNqRSxLQUFLLHNCQUFzQjtRQUN6QixPQUFPUSxhQUFJLENBQUNDLENBQUMsdUNBQUFYLE1BQUEsQ0FBdUNFLE1BQU0sQ0FBRSxDQUFDO01BQy9ELEtBQUssbUJBQW1CO1FBQ3RCLE9BQU9RLGFBQUksQ0FBQ0MsQ0FBQyx3Q0FBQVgsTUFBQSxDQUF3Q0UsTUFBTSxDQUFFLENBQUM7TUFDaEUsS0FBSyx1QkFBdUI7UUFDMUIsT0FBT1EsYUFBSSxDQUFDQyxDQUFDLHdDQUFBWCxNQUFBLENBQXdDRSxNQUFNLENBQUUsQ0FBQztNQUNoRSxLQUFLLDRCQUE0QjtRQUMvQixPQUFPUSxhQUFJLENBQUNDLENBQUMsNkNBQUFYLE1BQUEsQ0FBNkNFLE1BQU0sQ0FBRSxDQUFDO01BQ3JFLEtBQUssZUFBZTtRQUNsQixPQUFPRCxnQ0FBZ0MsQ0FDckMxQyxVQUFVLEVBQ1YyQyxNQUFNLEVBQ05DLGVBQ0YsQ0FBQztNQUNILEtBQUssMEJBQTBCO1FBQzdCLE9BQU9PLGFBQUksQ0FBQ0MsQ0FBQyw0Q0FBQVgsTUFBQSxDQUE0Q0UsTUFBTSxDQUFFLENBQUM7TUFDcEUsS0FBSyxzQkFBc0I7UUFDekIsT0FBT0QsZ0NBQWdDLENBQ3JDMUMsVUFBVSxFQUNWMkMsTUFBTSxFQUNOQyxlQUNGLENBQUM7TUFDSCxLQUFLLDZCQUE2QjtNQUNsQyxLQUFLLHlCQUF5QjtNQUM5QixLQUFLLGdCQUFnQjtRQUNuQixPQUFPRixnQ0FBZ0MsQ0FDckMxQyxVQUFVLEVBQ1YyQyxNQUFNLEVBQ05DLGVBQ0YsQ0FBQztJQUNMO0VBQ0YsQ0FBQztFQUVELElBQU1VLHVCQUF1QixHQUFHLFNBQTFCQSx1QkFBdUJBLENBQUlDLGNBQXNCLEVBQUs7SUFDMUQsT0FBT0osYUFBSSxDQUFDQyxDQUFDLHdDQUFBWCxNQUFBLENBQzRCSixnQkFBZ0IsQ0FBQ2tCLGNBQWMsQ0FBQyxDQUN6RSxDQUFDO0VBQ0gsQ0FBQztFQUVELElBQU1DLGFBQWEsR0FBRyxTQUFoQkEsYUFBYUEsQ0FBSWpDLGdCQUFxQixFQUFLO0lBQy9DLElBQUlrQyxVQUFpQixHQUFHLEVBQUU7SUFDMUIsSUFBSWxDLGdCQUFnQixDQUFDTCxNQUFNLEdBQUcsQ0FBQyxFQUFFO01BQy9CekIsa0JBQWtCLENBQUNELFdBQVcsQ0FBQyxDQUM1QitDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQ1htQixHQUFHLENBQUMsVUFBQ3RDLFNBQWlCO1FBQUEsT0FDckJxQyxVQUFVLENBQUNwQyxJQUFJLGVBQ2I1RCxNQUFBLENBQUFjLE9BQUEsQ0FBQW9GLGFBQUE7VUFDRUMsU0FBUyxFQUFFLDZDQUE4QztVQUN6RDVFLEdBQUcsRUFBRW9DO1FBQVUsR0FFZDRCLDhCQUE4QixDQUFDeEQsV0FBVyxFQUFFNEIsU0FBUyxFQUFFLElBQUksQ0FDMUQsQ0FDTixDQUFDO01BQUEsQ0FDSCxDQUFDO01BQ0hxQyxVQUFVLENBQUNwQyxJQUFJLGVBQ2I1RCxNQUFBLENBQUFjLE9BQUEsQ0FBQW9GLGFBQUE7UUFBTTNFLEdBQUcsRUFBRTtNQUFPLFFBQUF5RCxNQUFBLENBQU9sQixnQkFBZ0IsQ0FBQ0wsTUFBTSxNQUFVLENBQzVELENBQUM7SUFDSCxDQUFDLE1BQU07TUFDTHpCLGtCQUFrQixDQUFDRCxXQUFXLENBQUMsQ0FBQ2tFLEdBQUcsQ0FBQyxVQUFDdEMsU0FBaUI7UUFBQSxPQUNwRHFDLFVBQVUsQ0FBQ3BDLElBQUksZUFDYjVELE1BQUEsQ0FBQWMsT0FBQSxDQUFBb0YsYUFBQTtVQUNFQyxTQUFTLEVBQUUsNkNBQThDO1VBQ3pENUUsR0FBRyxFQUFFb0M7UUFBVSxHQUVkNEIsOEJBQThCLENBQUN4RCxXQUFXLEVBQUU0QixTQUFTLEVBQUUsSUFBSSxDQUMxRCxDQUNOLENBQUM7TUFBQSxDQUNILENBQUM7SUFDSDtJQUVBLE9BQU9xQyxVQUFVO0VBQ25CLENBQUM7RUFFRCxJQUFBSSxnQkFBUyxFQUFDLFlBQU07SUFDZCxJQUFJckUsV0FBVyxDQUFDK0IsZ0JBQWdCLENBQUNMLE1BQU0sS0FBSyxDQUFDLEVBQUU7TUFDN0NwQiw2QkFBNkIsQ0FBQztRQUM1QkksWUFBWSxFQUFFVixXQUFXLENBQUNXLEVBQUU7UUFDNUJGLElBQUksRUFBRTtNQUNSLENBQUMsQ0FBQztJQUNKO0lBRUEsSUFBSVQsV0FBVyxDQUFDcUQsaUJBQWlCLEtBQUssSUFBSSxFQUFFO01BQzFDLElBQUlpQixlQUFlLEdBQUdsRSxvQkFBb0IsQ0FBQ2EsSUFBSSxDQUM3QyxVQUFDc0QsbUJBQXdCO1FBQUEsT0FDdkJBLG1CQUFtQixDQUFDYixJQUFJLEtBQUsxRCxXQUFXLENBQUMwRCxJQUFJO01BQUEsQ0FDakQsQ0FBQztNQUVELElBQUlZLGVBQWUsS0FBS3pELFNBQVMsRUFBRTtRQUNqQ2IsV0FBVyxDQUFDcUQsaUJBQWlCLEdBQUdpQixlQUFlLENBQUNFLE9BQU87TUFDekQ7SUFDRjtFQUNGLENBQUMsRUFBRSxDQUFDeEUsV0FBVyxDQUFDLENBQUM7RUFFakIsb0JBQ0UvQixNQUFBLENBQUFjLE9BQUEsQ0FBQW9GLGFBQUEsQ0FBQ2xHLE1BQUEsQ0FBQWMsT0FBSyxDQUFDMEYsUUFBUSxxQkFDYnhHLE1BQUEsQ0FBQWMsT0FBQSxDQUFBb0YsYUFBQTtJQUNFQyxTQUFTLEVBQUUsc0JBQXVCO0lBQ2xDTSxPQUFPLEVBQUUsU0FBQUEsUUFBQTtNQUFBLE9BQU1uRSxxQkFBcUIsQ0FBQ1AsV0FBVyxDQUFDO0lBQUE7RUFBQyxnQkFFbEQvQixNQUFBLENBQUFjLE9BQUEsQ0FBQW9GLGFBQUEsZUFBT0wsdUJBQXVCLENBQUM5RCxXQUFXLENBQUMwRCxJQUFJLENBQVEsQ0FBQyxlQUN4RHpGLE1BQUEsQ0FBQWMsT0FBQSxDQUFBb0YsYUFBQTtJQUFJQyxTQUFTLEVBQUU7RUFBbUMsR0FDL0NKLGFBQWEsQ0FBQy9ELGtCQUFrQixDQUFDRCxXQUFXLENBQUMsQ0FBQyxDQUFDa0UsR0FBRyxDQUNqRCxVQUFDdEMsU0FBc0IsRUFBSztJQUMxQixPQUFPQSxTQUFTO0VBQ2xCLENBQ0YsQ0FDRSxDQUNELENBQUMsZUFFTjNELE1BQUEsQ0FBQWMsT0FBQSxDQUFBb0YsYUFBQTtJQUFHTyxPQUFPLEVBQUUsU0FBQUEsUUFBQTtNQUFBLE9BQU05RCxnQkFBZ0IsQ0FBQ1osV0FBVyxDQUFDO0lBQUE7RUFBQyxnQkFDOUMvQixNQUFBLENBQUFjLE9BQUEsQ0FBQW9GLGFBQUEsQ0FBQ25HLGlCQUFBLENBQUEyRyxlQUFlO0lBQUNDLElBQUksRUFBRUM7RUFBUSxDQUFFLENBQ2hDLENBQUMsRUFDSHhFLDBCQUEwQixDQUFDSyxZQUFZLEtBQUtWLFdBQVcsQ0FBQ1csRUFBRSxJQUN6RE4sMEJBQTBCLGlCQUN4QnBDLE1BQUEsQ0FBQWMsT0FBQSxDQUFBb0YsYUFBQSxDQUFDOUYsZ0JBQUEsQ0FBQVUsT0FBZTtJQUNka0Isa0JBQWtCLEVBQUVBLGtCQUFtQjtJQUN2Q08sVUFBVSxFQUFFUixXQUFZO0lBQ3hCRSxnQkFBZ0IsRUFBRUEsZ0JBQWlCO0lBQ25DSSw2QkFBNkIsRUFBRUEsNkJBQThCO0lBQzdERCwwQkFBMEIsRUFBRUEsMEJBQTJCO0lBQ3ZEMkIscUJBQXFCLEVBQUVBLHFCQUFzQjtJQUM3Q3dCLDhCQUE4QixFQUFFQSw4QkFBK0I7SUFDL0RsQyxZQUFZLEVBQUVBO0VBQWEsQ0FDNUIsQ0FFUyxDQUFDO0FBRXJCLENBQUM7QUFBQyxJQUFBd0QsUUFBQSxHQUVhaEYsVUFBVTtBQUFBaUYsT0FBQSxDQUFBaEcsT0FBQSxHQUFBK0YsUUFBQSJ9
|
|
200
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZnJlZVNvbGlkU3ZnSWNvbnMiLCJyZXF1aXJlIiwiX3JlYWN0Rm9udGF3ZXNvbWUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9pMThuIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9PcHRpb25zRHJvcERvd24iLCJfVGltZVJhbmdlSGVscGVyIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJGaWx0ZXJJdGVtIiwicHJvcHMiLCJmaWx0ZXJfaXRlbSIsInBhcnNlU2VsZWN0ZWRJdGVtcyIsImFjdGl2ZUZpbHRlckNvcHkiLCJzZXRBY3RpdmVGaWx0ZXJDb3B5IiwiYXZhaWxhYmxlRmlsdGVySXRlbXMiLCJzaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cCIsInNldFNob3dGaWx0ZXJJdGVtT3B0aW9uc1BvcHVwIiwiaGFuZGxlRmlsdGVySXRlbUNsaWNrIiwiZmlsdGVySXRlbSIsInNob3ciLCJmaWx0ZXJJdGVtSWQiLCJpZCIsInJlbW92ZUZpbHRlckl0ZW0iLCJ1bmRlZmluZWQiLCJpbmRleCIsImZpbHRlcl9pdGVtcyIsImluZGV4T2YiLCJmaW5kIiwiaXRlbSIsInNwbGljZSIsImFjdGl2ZUZpbHRlckR1cGxpY2F0ZSIsImFzc2lnbiIsImhhbmRsZUNoYW5nZSIsInNlbGVjdGVkIiwiYWN0aXZlRmlsdGVyIiwic2VsZWN0ZWRPcHRpb25zIiwibGVuZ3RoIiwiZm9yRWFjaCIsInNlbGVjdGlvbiIsInB1c2giLCJvcmlnaW5hbCIsInNlbGVjdGVkX29wdGlvbnMiLCJoYW5kbGVTaW5nbGVTZWxlY3Rpb24iLCJfcmVmIiwiX3JlZiRjdXJyZW50VGFyZ2V0IiwiY3VycmVudFRhcmdldCIsIl9yZWYkY3VzdG9tVmFsdWUiLCJjdXN0b21WYWx1ZSIsInNlbGVjdGVkVmFsdWUiLCJjaGlsZHJlbiIsInZhbHVlIiwic3RyaXBEYW1hZ2VUeXBlIiwic3RyaW5nIiwidG9Mb3dlckNhc2UiLCJyZXBsYWNlIiwiY2FtZWxUb1NuYWtlQ2FzZSIsInN0ciIsInNsaWNlIiwibGV0dGVyIiwiY29uY2F0IiwiZGlzcGxheU5hbWVGb3JPYmplY3RUeXBlZE9wdGlvbnMiLCJvcHRpb24iLCJmb3JPdXRlckRpc3BsYXkiLCJhdmFpbGFibGVfb3B0aW9ucyIsImYiLCJuYW1lIiwidHJhbnNsYXRlRmlsdGVySXRlbU9wdGlvbkxhYmVsIiwiYXJndW1lbnRzIiwidHlwZSIsImkxOG4iLCJ0IiwiZm9ybWF0VGltZVNlbGVjdGlvbiIsInRyYW5zbGF0ZUZpbHRlckl0ZW1UeXBlIiwiZmlsdGVySXRlbVR5cGUiLCJnZXRTZWxlY3Rpb25zIiwic2VsZWN0aW9ucyIsIm1hcCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJ1c2VFZmZlY3QiLCJtYXRjaEZpbHRlckl0ZW0iLCJhdmFpbGFibGVGaWx0ZXJJdGVtIiwib3B0aW9ucyIsIkZyYWdtZW50Iiwib25DbGljayIsIkZvbnRBd2Vzb21lSWNvbiIsImljb24iLCJmYVRpbWVzIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3BhZ2VzL0V2ZW50c1BhZ2UvZXZlbnRzL2V2ZW50c19saXN0L0ZpbHRlci9GaWx0ZXJJdGVtLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmYVRpbWVzIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSc7XG5pbXBvcnQgUmVhY3QsIHsgRm9ybUV2ZW50LCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBJRmlsdGVyIH0gZnJvbSAnc3JjL3N0b3JlL2ZpbHRlcnMvSUZpbHRlcic7XG5pbXBvcnQgeyBJRmlsdGVySXRlbSB9IGZyb20gJ3NyYy9zdG9yZS9maWx0ZXJzL0lGaWx0ZXJJdGVtJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgJy4uLy4uL0V2ZW50c1N0eWxlLnNjc3MnO1xuaW1wb3J0IE9wdGlvbnNEcm9wRG93biBmcm9tICcuL09wdGlvbnNEcm9wRG93bic7XG5pbXBvcnQgeyBmb3JtYXRUaW1lU2VsZWN0aW9uIH0gZnJvbSAnc3JjL2NvbXBvbmVudHMvVGltZVJhbmdlU2VsZWN0b3IvVGltZVJhbmdlSGVscGVyJztcblxudHlwZSBJUHJvcHMgPSB7XG4gIGZpbHRlcl9pdGVtOiBJRmlsdGVySXRlbTtcbiAgcGFyc2VTZWxlY3RlZEl0ZW1zOiBGdW5jdGlvbjtcbiAgYWN0aXZlRmlsdGVyQ29weTogYW55O1xuICBzZXRBY3RpdmVGaWx0ZXJDb3B5OiBSZWFjdC5EaXNwYXRjaDxhbnk+O1xuICBhdmFpbGFibGVGaWx0ZXJJdGVtczogYW55O1xuICBzaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cDogYW55O1xuICBzZXRTaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cDogYW55O1xufTtcblxudHlwZSBJQ3VzdG9tVmFsdWUgPSB7XG4gIGN1c3RvbVZhbHVlOiBzdHJpbmc7XG59O1xuXG50eXBlIElTZWxlY3Rpb25FdmVudCA9IElDdXN0b21WYWx1ZSB8IEZvcm1FdmVudDxIVE1MSW5wdXRFbGVtZW50PjtcblxuY29uc3QgRmlsdGVySXRlbTogUmVhY3QuRkM8SVByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgZmlsdGVyX2l0ZW0sXG4gICAgcGFyc2VTZWxlY3RlZEl0ZW1zLFxuICAgIGFjdGl2ZUZpbHRlckNvcHksXG4gICAgc2V0QWN0aXZlRmlsdGVyQ29weSxcbiAgICBhdmFpbGFibGVGaWx0ZXJJdGVtcyxcbiAgICBzaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cCxcbiAgICBzZXRTaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cCxcbiAgfSA9IHByb3BzO1xuICBjb25zdCBoYW5kbGVGaWx0ZXJJdGVtQ2xpY2sgPSAoZmlsdGVySXRlbTogYW55KSA9PiB7XG4gICAgaWYgKFxuICAgICAgIXNob3dGaWx0ZXJJdGVtT3B0aW9uc1BvcHVwLnNob3cgJiZcbiAgICAgIHNob3dGaWx0ZXJJdGVtT3B0aW9uc1BvcHVwLmZpbHRlckl0ZW1JZCAhPT0gZmlsdGVySXRlbS5pZFxuICAgICkge1xuICAgICAgc2V0U2hvd0ZpbHRlckl0ZW1PcHRpb25zUG9wdXAoe1xuICAgICAgICBmaWx0ZXJJdGVtSWQ6IGZpbHRlckl0ZW0uaWQsXG4gICAgICAgIHNob3c6IHRydWUsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgcmVtb3ZlRmlsdGVySXRlbSA9IChmaWx0ZXJJdGVtOiBJRmlsdGVySXRlbSkgPT4ge1xuICAgIGlmIChhY3RpdmVGaWx0ZXJDb3B5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGxldCBpbmRleCA9IGFjdGl2ZUZpbHRlckNvcHkuZmlsdGVyX2l0ZW1zLmluZGV4T2YoXG4gICAgICAgIGFjdGl2ZUZpbHRlckNvcHkuZmlsdGVyX2l0ZW1zLmZpbmQoXG4gICAgICAgICAgKGl0ZW06IElGaWx0ZXJJdGVtKSA9PiBpdGVtLmlkID09PSBmaWx0ZXJJdGVtLmlkLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICAgIGFjdGl2ZUZpbHRlckNvcHkuZmlsdGVyX2l0ZW1zLnNwbGljZShpbmRleCwgMSk7XG5cbiAgICAgIGxldCBhY3RpdmVGaWx0ZXJEdXBsaWNhdGUgPSBPYmplY3QuYXNzaWduKHt9LCBhY3RpdmVGaWx0ZXJDb3B5KTtcbiAgICAgIHNldEFjdGl2ZUZpbHRlckNvcHkoYWN0aXZlRmlsdGVyRHVwbGljYXRlKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQ2hhbmdlID0gKFxuICAgIHNlbGVjdGVkOiBhbnksXG4gICAgZmlsdGVySXRlbTogSUZpbHRlckl0ZW0sXG4gICAgYWN0aXZlRmlsdGVyOiBJRmlsdGVyLFxuICApID0+IHtcbiAgICBsZXQgc2VsZWN0ZWRPcHRpb25zOiBhbnlbXSA9IFtdO1xuXG4gICAgaWYgKHNlbGVjdGVkLmxlbmd0aCAhPT0gMCkge1xuICAgICAgc2VsZWN0ZWQuZm9yRWFjaCgoc2VsZWN0aW9uOiBhbnkpID0+IHtcbiAgICAgICAgc2VsZWN0ZWRPcHRpb25zLnB1c2goc2VsZWN0aW9uLm9yaWdpbmFsKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGZpbHRlckl0ZW0uc2VsZWN0ZWRfb3B0aW9ucyA9IHNlbGVjdGVkT3B0aW9ucztcbiAgICBsZXQgYWN0aXZlRmlsdGVyQ29weSA9IE9iamVjdC5hc3NpZ24oe30sIGFjdGl2ZUZpbHRlcik7XG4gICAgc2V0QWN0aXZlRmlsdGVyQ29weShhY3RpdmVGaWx0ZXJDb3B5KTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVTaW5nbGVTZWxlY3Rpb24gPSAoXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHsgY3VycmVudFRhcmdldCA9ICcnLCBjdXN0b21WYWx1ZSA9ICcnIH06IElTZWxlY3Rpb25FdmVudCxcbiAgICBmaWx0ZXJJdGVtOiBJRmlsdGVySXRlbSxcbiAgICBhY3RpdmVGaWx0ZXI6IElGaWx0ZXIsXG4gICkgPT4ge1xuICAgIGxldCBzZWxlY3RlZE9wdGlvbnM6IGFueVtdID0gW107XG4gICAgY29uc3Qgc2VsZWN0ZWRWYWx1ZSA9IGN1c3RvbVZhbHVlIHx8IGN1cnJlbnRUYXJnZXQuY2hpbGRyZW5bMF0udmFsdWU7XG4gICAgc2VsZWN0ZWRPcHRpb25zLnB1c2goc2VsZWN0ZWRWYWx1ZSk7XG4gICAgZmlsdGVySXRlbS5zZWxlY3RlZF9vcHRpb25zID0gc2VsZWN0ZWRPcHRpb25zO1xuXG4gICAgbGV0IGFjdGl2ZUZpbHRlckNvcHkgPSBPYmplY3QuYXNzaWduKHt9LCBhY3RpdmVGaWx0ZXIpO1xuICAgIHNldEFjdGl2ZUZpbHRlckNvcHkoYWN0aXZlRmlsdGVyQ29weSk7XG4gIH07XG5cbiAgY29uc3Qgc3RyaXBEYW1hZ2VUeXBlID0gKHN0cmluZzogc3RyaW5nKSA9PiB7XG4gICAgcmV0dXJuIHN0cmluZy50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1snICcvJl0vZywgJy0nKTtcbiAgfTtcblxuICBjb25zdCBjYW1lbFRvU25ha2VDYXNlID0gKHN0cjogc3RyaW5nKSA9PlxuICAgIHN0clswXS50b0xvd2VyQ2FzZSgpICtcbiAgICBzdHJcbiAgICAgIC5zbGljZSgxLCBzdHIubGVuZ3RoKVxuICAgICAgLnJlcGxhY2UoL1tBLVpdL2csIChsZXR0ZXIpID0+IGBfJHtsZXR0ZXIudG9Mb3dlckNhc2UoKX1gKTtcbiAgY29uc3QgZGlzcGxheU5hbWVGb3JPYmplY3RUeXBlZE9wdGlvbnMgPSAoXG4gICAgZmlsdGVySXRlbTogSUZpbHRlckl0ZW0sXG4gICAgb3B0aW9uOiBhbnksXG4gICAgZm9yT3V0ZXJEaXNwbGF5OiBib29sZWFuLFxuICApID0+IHtcbiAgICBsZXQgaXRlbTtcbiAgICBpZiAoZm9yT3V0ZXJEaXNwbGF5ICYmIGZpbHRlckl0ZW0uYXZhaWxhYmxlX29wdGlvbnMgIT09IG51bGwpIHtcbiAgICAgIGl0ZW0gPSBmaWx0ZXJJdGVtLmF2YWlsYWJsZV9vcHRpb25zLmZpbmQoKGYpID0+IGYuaWQgPT09IG9wdGlvbik7XG4gICAgICBpdGVtICE9PSB1bmRlZmluZWQgJiYgKGl0ZW0gPSBpdGVtLm5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpdGVtID0gb3B0aW9uO1xuICAgIH1cblxuICAgIHJldHVybiBpdGVtO1xuICB9O1xuICBjb25zdCB0cmFuc2xhdGVGaWx0ZXJJdGVtT3B0aW9uTGFiZWwgPSAoXG4gICAgZmlsdGVySXRlbTogSUZpbHRlckl0ZW0sXG4gICAgb3B0aW9uOiBzdHJpbmcsXG4gICAgZm9yT3V0ZXJEaXNwbGF5ID0gZmFsc2UsXG4gICkgPT4ge1xuICAgIHN3aXRjaCAoZmlsdGVySXRlbS50eXBlKSB7XG4gICAgICBjYXNlICdJbnRlcmVzdFBvaW50RmlsdGVySXRlbSc6XG4gICAgICAgIHJldHVybiBkaXNwbGF5TmFtZUZvck9iamVjdFR5cGVkT3B0aW9ucyhcbiAgICAgICAgICBmaWx0ZXJJdGVtLFxuICAgICAgICAgIG9wdGlvbixcbiAgICAgICAgICBmb3JPdXRlckRpc3BsYXksXG4gICAgICAgICk7XG4gICAgICBjYXNlICdWYXJlYUZpbHRlckl0ZW0nOlxuICAgICAgICByZXR1cm4gZGlzcGxheU5hbWVGb3JPYmplY3RUeXBlZE9wdGlvbnMoXG4gICAgICAgICAgZmlsdGVySXRlbSxcbiAgICAgICAgICBvcHRpb24sXG4gICAgICAgICAgZm9yT3V0ZXJEaXNwbGF5LFxuICAgICAgICApO1xuICAgICAgY2FzZSAnQXJlYUZpbHRlckl0ZW0nOlxuICAgICAgICByZXR1cm4gZGlzcGxheU5hbWVGb3JPYmplY3RUeXBlZE9wdGlvbnMoXG4gICAgICAgICAgZmlsdGVySXRlbSxcbiAgICAgICAgICBvcHRpb24sXG4gICAgICAgICAgZm9yT3V0ZXJEaXNwbGF5LFxuICAgICAgICApO1xuICAgICAgY2FzZSAnU2VjdG9yRmlsdGVySXRlbSc6XG4gICAgICAgIHJldHVybiBkaXNwbGF5TmFtZUZvck9iamVjdFR5cGVkT3B0aW9ucyhcbiAgICAgICAgICBmaWx0ZXJJdGVtLFxuICAgICAgICAgIG9wdGlvbixcbiAgICAgICAgICBmb3JPdXRlckRpc3BsYXksXG4gICAgICAgICk7XG4gICAgICBjYXNlICdTZXZlcml0eUZpbHRlckl0ZW0nOlxuICAgICAgICByZXR1cm4gaTE4bi50KGBldmVudHNfb3ZlcnZpZXcuc2V2ZXJpdGllcy4ke29wdGlvbn1gKTtcbiAgICAgIGNhc2UgJ0RhbWFnZVR5cGVGaWx0ZXJJdGVtJzpcbiAgICAgICAgcmV0dXJuIGkxOG4udChcbiAgICAgICAgICBgZXZlbnRzX292ZXJ2aWV3LmRhbWFnZV90eXBlcy4ke3N0cmlwRGFtYWdlVHlwZShvcHRpb24pfWAsXG4gICAgICAgICk7XG4gICAgICBjYXNlICdUaW1lRmlsdGVySXRlbSc6XG4gICAgICAgIHJldHVybiBmb3JtYXRUaW1lU2VsZWN0aW9uKG9wdGlvbik7XG4gICAgICBjYXNlICdTdGF0dXNGaWx0ZXJJdGVtJzpcbiAgICAgICAgcmV0dXJuIGkxOG4udChgZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5zdGF0dXMuJHtvcHRpb259YCk7XG4gICAgICBjYXNlICdTYW1wbGluZ0ZpbHRlckl0ZW0nOlxuICAgICAgICByZXR1cm4gaTE4bi50KGBldmVudHNfb3ZlcnZpZXcuZmlsdGVyLnNhbXBsaW5nc19vcHRpb25zLiR7b3B0aW9ufWApO1xuICAgICAgY2FzZSAnU2FtcGxpbmdNb2RlRmlsdGVySXRlbSc6XG4gICAgICAgIHJldHVybiBpMThuLnQoYGV2ZW50c19vdmVydmlldy5maWx0ZXIuc2FtcGxpbmdfbW9kZS4ke29wdGlvbn1gKTtcbiAgICAgIGNhc2UgJ1BvaW50c01vZGVGaWx0ZXJJdGVtJzpcbiAgICAgICAgcmV0dXJuIGkxOG4udChgZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5wb2ludHNfbW9kZS4ke29wdGlvbn1gKTtcbiAgICAgIGNhc2UgJ1NhbXBsZXJGaWx0ZXJJdGVtJzpcbiAgICAgICAgcmV0dXJuIGkxOG4udChgZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5zYW1wbGVyX21vZGUuJHtvcHRpb259YCk7XG4gICAgICBjYXNlICdOZXR3b3JrSW5zaWdodERhdGFGaWx0ZXJJdGVtJzpcbiAgICAgIGNhc2UgJ0luc2lnaHREYXRhRmlsdGVySXRlbSc6XG4gICAgICAgIHJldHVybiBpMThuLnQoYGV2ZW50c19vdmVydmlldy5maWx0ZXIuaW5zaWdodF9kYXRhLiR7b3B0aW9ufWApO1xuICAgICAgY2FzZSAnT2JzZXJ2ZWRVcHN0cmVhbUZpbHRlckl0ZW0nOlxuICAgICAgICByZXR1cm4gaTE4bi50KGBldmVudHNfb3ZlcnZpZXcuZmlsdGVyLm9ic2VydmVkX3Vwc3RyZWFtLiR7b3B0aW9ufWApO1xuICAgICAgY2FzZSAnTGFiRmlsdGVySXRlbSc6XG4gICAgICAgIHJldHVybiBkaXNwbGF5TmFtZUZvck9iamVjdFR5cGVkT3B0aW9ucyhcbiAgICAgICAgICBmaWx0ZXJJdGVtLFxuICAgICAgICAgIG9wdGlvbixcbiAgICAgICAgICBmb3JPdXRlckRpc3BsYXksXG4gICAgICAgICk7XG4gICAgICBjYXNlICdTYW1wbGluZ1N0YXR1c0ZpbHRlckl0ZW0nOlxuICAgICAgICByZXR1cm4gaTE4bi50KGBldmVudHNfb3ZlcnZpZXcuZmlsdGVyLnNhbXBsaW5nc19zdGF0dXMuJHtvcHRpb259YCk7XG4gICAgICBjYXNlICdTYW1wbGluZ0lkRmlsdGVySXRlbSc6XG4gICAgICAgIHJldHVybiBkaXNwbGF5TmFtZUZvck9iamVjdFR5cGVkT3B0aW9ucyhcbiAgICAgICAgICBmaWx0ZXJJdGVtLFxuICAgICAgICAgIG9wdGlvbixcbiAgICAgICAgICBmb3JPdXRlckRpc3BsYXksXG4gICAgICAgICk7XG4gICAgICBjYXNlICdTYW1wbGluZ1BhcmFtZXRlckZpbHRlckl0ZW0nOlxuICAgICAgY2FzZSAnRGlzY2hhcmdlVGltZUZpbHRlckl0ZW0nOlxuICAgICAgY2FzZSAnU2l0ZUZpbHRlckl0ZW0nOlxuICAgICAgICByZXR1cm4gZGlzcGxheU5hbWVGb3JPYmplY3RUeXBlZE9wdGlvbnMoXG4gICAgICAgICAgZmlsdGVySXRlbSxcbiAgICAgICAgICBvcHRpb24sXG4gICAgICAgICAgZm9yT3V0ZXJEaXNwbGF5LFxuICAgICAgICApO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCB0cmFuc2xhdGVGaWx0ZXJJdGVtVHlwZSA9IChmaWx0ZXJJdGVtVHlwZTogc3RyaW5nKSA9PiB7XG4gICAgcmV0dXJuIGkxOG4udChcbiAgICAgIGBldmVudHNfb3ZlcnZpZXcuZmlsdGVyLmZpbHRlcl90eXBlcy4ke2NhbWVsVG9TbmFrZUNhc2UoZmlsdGVySXRlbVR5cGUpfWAsXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBnZXRTZWxlY3Rpb25zID0gKHNlbGVjdGVkX29wdGlvbnM6IGFueSkgPT4ge1xuICAgIGxldCBzZWxlY3Rpb25zOiBhbnlbXSA9IFtdO1xuICAgIGlmIChzZWxlY3RlZF9vcHRpb25zLmxlbmd0aCA+IDEpIHtcbiAgICAgIHBhcnNlU2VsZWN0ZWRJdGVtcyhmaWx0ZXJfaXRlbSlcbiAgICAgICAgLnNsaWNlKDAsIDEpXG4gICAgICAgIC5tYXAoKHNlbGVjdGlvbjogc3RyaW5nKSA9PlxuICAgICAgICAgIHNlbGVjdGlvbnMucHVzaChcbiAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICBjbGFzc05hbWU9eydmaWx0ZXJfaXRlbV9fY29udGVudF9fc2VsZWN0aW9uc19fc2VsZWN0aW9uJ31cbiAgICAgICAgICAgICAga2V5PXtzZWxlY3Rpb259XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt0cmFuc2xhdGVGaWx0ZXJJdGVtT3B0aW9uTGFiZWwoZmlsdGVyX2l0ZW0sIHNlbGVjdGlvbiwgdHJ1ZSl9XG4gICAgICAgICAgICA8L2xpPixcbiAgICAgICAgICApLFxuICAgICAgICApO1xuICAgICAgc2VsZWN0aW9ucy5wdXNoKFxuICAgICAgICA8c3BhbiBrZXk9eydNT1JFJ30+e2AgKCR7c2VsZWN0ZWRfb3B0aW9ucy5sZW5ndGh9KWB9PC9zcGFuPixcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcnNlU2VsZWN0ZWRJdGVtcyhmaWx0ZXJfaXRlbSkubWFwKChzZWxlY3Rpb246IHN0cmluZykgPT5cbiAgICAgICAgc2VsZWN0aW9ucy5wdXNoKFxuICAgICAgICAgIDxsaVxuICAgICAgICAgICAgY2xhc3NOYW1lPXsnZmlsdGVyX2l0ZW1fX2NvbnRlbnRfX3NlbGVjdGlvbnNfX3NlbGVjdGlvbid9XG4gICAgICAgICAgICBrZXk9e3NlbGVjdGlvbn1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7dHJhbnNsYXRlRmlsdGVySXRlbU9wdGlvbkxhYmVsKGZpbHRlcl9pdGVtLCBzZWxlY3Rpb24sIHRydWUpfVxuICAgICAgICAgIDwvbGk+LFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc2VsZWN0aW9ucztcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChmaWx0ZXJfaXRlbS5zZWxlY3RlZF9vcHRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgc2V0U2hvd0ZpbHRlckl0ZW1PcHRpb25zUG9wdXAoe1xuICAgICAgICBmaWx0ZXJJdGVtSWQ6IGZpbHRlcl9pdGVtLmlkLFxuICAgICAgICBzaG93OiB0cnVlLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKGZpbHRlcl9pdGVtLmF2YWlsYWJsZV9vcHRpb25zID09PSBudWxsKSB7XG4gICAgICBsZXQgbWF0Y2hGaWx0ZXJJdGVtID0gYXZhaWxhYmxlRmlsdGVySXRlbXMuZmluZChcbiAgICAgICAgKGF2YWlsYWJsZUZpbHRlckl0ZW06IGFueSkgPT5cbiAgICAgICAgICBhdmFpbGFibGVGaWx0ZXJJdGVtLnR5cGUgPT09IGZpbHRlcl9pdGVtLnR5cGUsXG4gICAgICApO1xuXG4gICAgICBpZiAobWF0Y2hGaWx0ZXJJdGVtICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZmlsdGVyX2l0ZW0uYXZhaWxhYmxlX29wdGlvbnMgPSBtYXRjaEZpbHRlckl0ZW0ub3B0aW9ucztcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtmaWx0ZXJfaXRlbV0pO1xuXG4gIHJldHVybiAoXG4gICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9eydmaWx0ZXJfaXRlbV9fY29udGVudCd9XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUZpbHRlckl0ZW1DbGljayhmaWx0ZXJfaXRlbSl9XG4gICAgICA+XG4gICAgICAgIDxzcGFuPnt0cmFuc2xhdGVGaWx0ZXJJdGVtVHlwZShmaWx0ZXJfaXRlbS50eXBlKX08L3NwYW4+XG4gICAgICAgIDx1bCBjbGFzc05hbWU9eydmaWx0ZXJfaXRlbV9fY29udGVudF9fc2VsZWN0aW9ucyd9PlxuICAgICAgICAgIHtnZXRTZWxlY3Rpb25zKHBhcnNlU2VsZWN0ZWRJdGVtcyhmaWx0ZXJfaXRlbSkpLm1hcChcbiAgICAgICAgICAgIChzZWxlY3Rpb246IEhUTUxFbGVtZW50KSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiBzZWxlY3Rpb247XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICl9XG4gICAgICAgIDwvdWw+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGEgb25DbGljaz17KCkgPT4gcmVtb3ZlRmlsdGVySXRlbShmaWx0ZXJfaXRlbSl9PlxuICAgICAgICA8Rm9udEF3ZXNvbWVJY29uIGljb249e2ZhVGltZXN9IC8+XG4gICAgICA8L2E+XG4gICAgICB7c2hvd0ZpbHRlckl0ZW1PcHRpb25zUG9wdXAuZmlsdGVySXRlbUlkID09PSBmaWx0ZXJfaXRlbS5pZCAmJlxuICAgICAgICBzaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cCAmJiAoXG4gICAgICAgICAgPE9wdGlvbnNEcm9wRG93blxuICAgICAgICAgICAgcGFyc2VTZWxlY3RlZEl0ZW1zPXtwYXJzZVNlbGVjdGVkSXRlbXN9XG4gICAgICAgICAgICBmaWx0ZXJJdGVtPXtmaWx0ZXJfaXRlbX1cbiAgICAgICAgICAgIGFjdGl2ZUZpbHRlckNvcHk9e2FjdGl2ZUZpbHRlckNvcHl9XG4gICAgICAgICAgICBzZXRTaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cD17c2V0U2hvd0ZpbHRlckl0ZW1PcHRpb25zUG9wdXB9XG4gICAgICAgICAgICBzaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cD17c2hvd0ZpbHRlckl0ZW1PcHRpb25zUG9wdXB9XG4gICAgICAgICAgICBoYW5kbGVTaW5nbGVTZWxlY3Rpb249e2hhbmRsZVNpbmdsZVNlbGVjdGlvbn1cbiAgICAgICAgICAgIHRyYW5zbGF0ZUZpbHRlckl0ZW1PcHRpb25MYWJlbD17dHJhbnNsYXRlRmlsdGVySXRlbU9wdGlvbkxhYmVsfVxuICAgICAgICAgICAgaGFuZGxlQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICA8L1JlYWN0LkZyYWdtZW50PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRmlsdGVySXRlbTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxrQkFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUgsT0FBQTtBQUdBLElBQUFJLEtBQUEsR0FBQUMsc0JBQUEsQ0FBQUwsT0FBQTtBQUNBQSxPQUFBO0FBQ0EsSUFBQU0sZ0JBQUEsR0FBQUQsc0JBQUEsQ0FBQUwsT0FBQTtBQUNBLElBQUFPLGdCQUFBLEdBQUFQLE9BQUE7QUFBdUYsU0FBQVEseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFOLHdCQUFBVSxHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQUUsT0FBQSxDQUFBRixHQUFBLHlCQUFBQSxHQUFBLDRCQUFBRyxPQUFBLEVBQUFILEdBQUEsVUFBQUksS0FBQSxHQUFBVCx3QkFBQSxDQUFBQyxXQUFBLE9BQUFRLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFMLEdBQUEsWUFB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
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _reactRedux = require("react-redux");
|
|
11
|
+
var _actions = require("store/edges/actions");
|
|
12
|
+
var _actions2 = require("store/points/actions");
|
|
13
|
+
var _HierarchyGraph = _interopRequireDefault(require("ui-kit/HierarchyGraph"));
|
|
14
|
+
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); }
|
|
15
|
+
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; }
|
|
16
|
+
var NetworkPage = function NetworkPage() {
|
|
17
|
+
var _points_data$items, _edges_data$items;
|
|
18
|
+
var dispatch = (0, _reactRedux.useDispatch)();
|
|
19
|
+
var _useSelector = (0, _reactRedux.useSelector)(function (state) {
|
|
20
|
+
return state;
|
|
21
|
+
}),
|
|
22
|
+
points_data = _useSelector.points_data,
|
|
23
|
+
edges_data = _useSelector.edges_data,
|
|
24
|
+
global_data = _useSelector.global_data;
|
|
25
|
+
var pointsCount = (points_data === null || points_data === void 0 ? void 0 : (_points_data$items = points_data.items) === null || _points_data$items === void 0 ? void 0 : _points_data$items.length) || 0;
|
|
26
|
+
var edgesCount = (edges_data === null || edges_data === void 0 ? void 0 : (_edges_data$items = edges_data.items) === null || _edges_data$items === void 0 ? void 0 : _edges_data$items.length) || 0;
|
|
27
|
+
var isFetchingPoints = points_data === null || points_data === void 0 ? void 0 : points_data.isFetching;
|
|
28
|
+
var isFetchingEdges = edges_data === null || edges_data === void 0 ? void 0 : edges_data.isFetching;
|
|
29
|
+
var waterAuthorityId = global_data === null || global_data === void 0 ? void 0 : global_data.waterAuthorityId;
|
|
30
|
+
(0, _react.useEffect)(function () {
|
|
31
|
+
if (!waterAuthorityId) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
if (!isFetchingPoints && pointsCount === 0) {
|
|
35
|
+
dispatch((0, _actions2.fetchPoints)(waterAuthorityId, '1m'));
|
|
36
|
+
}
|
|
37
|
+
if (!isFetchingEdges && edgesCount === 0) {
|
|
38
|
+
dispatch((0, _actions.fetchEdges)(waterAuthorityId, true));
|
|
39
|
+
}
|
|
40
|
+
}, [dispatch, waterAuthorityId, isFetchingPoints, pointsCount, isFetchingEdges, edgesCount]);
|
|
41
|
+
return /*#__PURE__*/_react.default.createElement(_HierarchyGraph.default, {
|
|
42
|
+
show: true,
|
|
43
|
+
filterType: 'NetworkFilter'
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
var _default = NetworkPage;
|
|
47
|
+
exports.default = _default;
|
|
48
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9hY3Rpb25zIiwiX2FjdGlvbnMyIiwiX0hpZXJhcmNoeUdyYXBoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiTmV0d29ya1BhZ2UiLCJfcG9pbnRzX2RhdGEkaXRlbXMiLCJfZWRnZXNfZGF0YSRpdGVtcyIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJfdXNlU2VsZWN0b3IiLCJ1c2VTZWxlY3RvciIsInN0YXRlIiwicG9pbnRzX2RhdGEiLCJlZGdlc19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJwb2ludHNDb3VudCIsIml0ZW1zIiwibGVuZ3RoIiwiZWRnZXNDb3VudCIsImlzRmV0Y2hpbmdQb2ludHMiLCJpc0ZldGNoaW5nIiwiaXNGZXRjaGluZ0VkZ2VzIiwid2F0ZXJBdXRob3JpdHlJZCIsInVzZUVmZmVjdCIsImZldGNoUG9pbnRzIiwiZmV0Y2hFZGdlcyIsImNyZWF0ZUVsZW1lbnQiLCJzaG93IiwiZmlsdGVyVHlwZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9OZXR3b3JrUGFnZS9OZXR3b3JrUGFnZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcblxuaW1wb3J0IHsgZmV0Y2hFZGdlcyB9IGZyb20gJ3NyYy9zdG9yZS9lZGdlcy9hY3Rpb25zJztcbmltcG9ydCB7IGZldGNoUG9pbnRzIH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9hY3Rpb25zJztcbmltcG9ydCBIaWVyYXJjaHlHcmFwaCBmcm9tICdzcmMvdWkta2l0L0hpZXJhcmNoeUdyYXBoJztcblxuY29uc3QgTmV0d29ya1BhZ2UgPSAoKSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgeyBwb2ludHNfZGF0YSwgZWRnZXNfZGF0YSwgZ2xvYmFsX2RhdGEgfSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZSkgPT4gc3RhdGUsXG4gICk7XG4gIGNvbnN0IHBvaW50c0NvdW50ID0gcG9pbnRzX2RhdGE/Lml0ZW1zPy5sZW5ndGggfHwgMDtcbiAgY29uc3QgZWRnZXNDb3VudCA9IGVkZ2VzX2RhdGE/Lml0ZW1zPy5sZW5ndGggfHwgMDtcbiAgY29uc3QgaXNGZXRjaGluZ1BvaW50cyA9IHBvaW50c19kYXRhPy5pc0ZldGNoaW5nO1xuICBjb25zdCBpc0ZldGNoaW5nRWRnZXMgPSBlZGdlc19kYXRhPy5pc0ZldGNoaW5nO1xuICBjb25zdCB3YXRlckF1dGhvcml0eUlkID0gZ2xvYmFsX2RhdGE/LndhdGVyQXV0aG9yaXR5SWQ7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIXdhdGVyQXV0aG9yaXR5SWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIWlzRmV0Y2hpbmdQb2ludHMgJiYgcG9pbnRzQ291bnQgPT09IDApIHtcbiAgICAgIGRpc3BhdGNoKGZldGNoUG9pbnRzKHdhdGVyQXV0aG9yaXR5SWQsICcxbScpKTtcbiAgICB9XG5cbiAgICBpZiAoIWlzRmV0Y2hpbmdFZGdlcyAmJiBlZGdlc0NvdW50ID09PSAwKSB7XG4gICAgICBkaXNwYXRjaChmZXRjaEVkZ2VzKHdhdGVyQXV0aG9yaXR5SWQsIHRydWUpKTtcbiAgICB9XG4gIH0sIFtcbiAgICBkaXNwYXRjaCxcbiAgICB3YXRlckF1dGhvcml0eUlkLFxuICAgIGlzRmV0Y2hpbmdQb2ludHMsXG4gICAgcG9pbnRzQ291bnQsXG4gICAgaXNGZXRjaGluZ0VkZ2VzLFxuICAgIGVkZ2VzQ291bnQsXG4gIF0pO1xuXG4gIHJldHVybiA8SGllcmFyY2h5R3JhcGggc2hvdz17dHJ1ZX0gZmlsdGVyVHlwZT17J05ldHdvcmtGaWx0ZXInfSAvPjtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE5ldHdvcmtQYWdlO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQUVBLElBQUFFLFFBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLFNBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLGVBQUEsR0FBQUMsc0JBQUEsQ0FBQUwsT0FBQTtBQUF1RCxTQUFBTSx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQVIsd0JBQUFZLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxhQUFBRSxPQUFBLENBQUFGLEdBQUEseUJBQUFBLEdBQUEsNEJBQUFHLE9BQUEsRUFBQUgsR0FBQSxVQUFBSSxLQUFBLEdBQUFULHdCQUFBLENBQUFDLFdBQUEsT0FBQVEsS0FBQSxJQUFBQSxLQUFBLENBQUFDLEdBQUEsQ0FBQUws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
|