@kando-env/kando-ui 1.2.215 → 1.2.217
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/macros/getVersion.js +1 -1
- package/lib/pages/ProfilePage/ProfilePage.js +4 -4
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +5 -3
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.test.js +45 -0
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +11 -4
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.test.js +61 -0
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +2 -2
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +9 -2
- package/lib/pages/SitePage/SamplingParameters/dataParser.js +13 -3
- package/package.json +1 -1
package/lib/macros/getVersion.js
CHANGED
|
@@ -83,13 +83,13 @@ var ProfilePage = function ProfilePage() {
|
|
|
83
83
|
label: 'English'
|
|
84
84
|
}, {
|
|
85
85
|
value: 'he',
|
|
86
|
-
label: '
|
|
86
|
+
label: 'עברית'
|
|
87
87
|
}, {
|
|
88
88
|
value: 'it',
|
|
89
|
-
label: '
|
|
89
|
+
label: 'Italiano'
|
|
90
90
|
}, {
|
|
91
91
|
value: 'fr',
|
|
92
|
-
label: '
|
|
92
|
+
label: 'Français'
|
|
93
93
|
}];
|
|
94
94
|
|
|
95
95
|
var _useState = (0, _react.useState)(localeOptions[0]),
|
|
@@ -481,4 +481,4 @@ var ProfilePage = function ProfilePage() {
|
|
|
481
481
|
};
|
|
482
482
|
|
|
483
483
|
exports.ProfilePage = ProfilePage;
|
|
484
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9Qcm9maWxlUGFnZS9Qcm9maWxlUGFnZS50c3giXSwibmFtZXMiOlsiUHJvZmlsZVBhZ2UiLCJ0aW1lem9uZXNBcnJheSIsIm1vbWVudCIsInR6IiwibmFtZXMiLCJkYXRlVGltZUZvcm1hdE9wdGlvbnMiLCJ2YWx1ZSIsImxhYmVsIiwiZm9ybWF0IiwibW9udGgiLCJkYXkiLCJ5ZWFyIiwiaG91ciIsIm1pbnV0ZSIsImhvdXIxMiIsInRpbWV6b25lcyIsIm1hcCIsInQiLCJsb2NhbGVPcHRpb25zIiwibG9jYWxlIiwic2V0TG9jYWxlIiwiZGF0ZVRpbWVGb3JtYXQiLCJzZXREYXRlVGltZUZvcm1hdCIsInRpbWV6b25lIiwic2V0VGltZXpvbmUiLCJpbml0aWFsUGFyYW1zU3RhdGUiLCJmaXJzdF9uYW1lIiwibGFzdF9uYW1lIiwicGhvbmUiLCJlbWFpbCIsInRpbWVfem9uZSIsImRhdGVfdGltZV9mb3JtYXQiLCJ0ZWxlZ3JhbV9uYW1lIiwiaXNUZWxlZ3JhbU9wZW4iLCJzZXRJc1RlbGVncmFtT3BlbiIsInNob3dQYXNzd29yZE1vZGFsIiwic2V0U2hvd1Bhc3N3b3JkTW9kYWwiLCJzdWJtaXR0aW5nIiwic2V0U3VibWl0dGluZyIsInNob3dTdWNjZXNzTWVzc2FnZSIsInNldFNob3dTdWNjZXNzTWVzc2FnZSIsInNob3dFcnJvck1lc3NhZ2UiLCJzZXRTaG93RXJyb3JNZXNzYWdlIiwic2hvdyIsInN0YXR1cyIsIm1lc3NhZ2UiLCJzaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2UiLCJzZXRTaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2UiLCJwYXJhbXMiLCJzZXRQYXJhbXMiLCJoYW5kbGVPbkNoYW5nZSIsImUiLCJzdGFydHNXaXRoIiwicmVwbGFjZSIsInByZXZTdGF0ZSIsInRhcmdldCIsIm5hbWUiLCJnZXRQYXJhbXNXaXRoQWdncmVnYXRlZFZhbHVlcyIsIndhdGVyQXV0aG9yaXR5TmFtZSIsInN0YXRlIiwiZ2xvYmFsX2RhdGEiLCJoYW5kbGVTdWJtaXQiLCJwcmV2ZW50RGVmYXVsdCIsImF4aW9zIiwicHV0IiwidXNlciIsInRoZW4iLCJyZXNwIiwiZGF0YSIsImVycm9ycyIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvckFsbCIsImZvckVhY2giLCJwIiwiaW5uZXJIVE1MIiwiY2xhc3NMaXN0IiwicmVtb3ZlIiwiSlNPTiIsInBhcnNlIiwiZmluZExvY2FsZSIsImZpbmQiLCJmaW5kRGF0ZVRpbWVGb3JtYXQiLCJmaW5kVGltZXpvbmUiLCJzZXRUaW1lb3V0IiwiZXJyb3IiLCJmaW5kRWxlbWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJwYXJlbnQiLCJjbG9zZXN0IiwiZmluZElucHV0IiwiYWRkIiwiaTE4biIsImNhdGNoIiwidXRpbGl0eV9uYW1lIiwidG9rZW4iLCJjb250ZW50IiwiZGVmYXVsdHMiLCJoZWFkZXJzIiwiY29tbW9uIiwiZ2V0IiwiYWxlcnQiLCJ1bmRlZmluZWQiLCJEYXRlIiwidG9Mb2NhbGVEYXRlU3RyaW5nIiwidG9VcHBlckNhc2UiLCJzdWJzdHJpbmciXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7OztBQUdBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUFFTyxJQUFNQSxXQUFXLEdBQUcsU0FBZEEsV0FBYyxHQUFNO0FBQy9CLE1BQU1DLGNBQWMsR0FBR0Msd0JBQU9DLEVBQVAsQ0FBVUMsS0FBVixFQUF2Qjs7QUFDQSxNQUFNQyxxQkFBcUIsR0FBRyxDQUM1QjtBQUNFQyxJQUFBQSxLQUFLLEVBQUUsSUFEVDtBQUVFQyxJQUFBQSxLQUFLLEVBQUUsZUFGVDtBQUdFQyxJQUFBQSxNQUFNLEVBQUU7QUFDTkMsTUFBQUEsS0FBSyxFQUFFLE9BREQ7QUFFTkMsTUFBQUEsR0FBRyxFQUFFLFNBRkM7QUFHTkMsTUFBQUEsSUFBSSxFQUFFLFNBSEE7QUFJTkMsTUFBQUEsSUFBSSxFQUFFLFNBSkE7QUFLTkMsTUFBQUEsTUFBTSxFQUFFO0FBTEY7QUFIVixHQUQ0QixFQVk1QjtBQUNFUCxJQUFBQSxLQUFLLEVBQUUsSUFEVDtBQUVFQyxJQUFBQSxLQUFLLEVBQUUsUUFGVDtBQUdFQyxJQUFBQSxNQUFNLEVBQUU7QUFDTkUsTUFBQUEsR0FBRyxFQUFFLFNBREM7QUFFTkQsTUFBQUEsS0FBSyxFQUFFLFNBRkQ7QUFHTkUsTUFBQUEsSUFBSSxFQUFFLFNBSEE7QUFJTkMsTUFBQUEsSUFBSSxFQUFFLFNBSkE7QUFLTkMsTUFBQUEsTUFBTSxFQUFFLFNBTEY7QUFNTkMsTUFBQUEsTUFBTSxFQUFFO0FBTkY7QUFIVixHQVo0QixDQUE5QjtBQTBCQSxNQUFNQyxTQUFTLEdBQUdkLGNBQWMsQ0FBQ2UsR0FBZixDQUFtQixVQUFDQyxDQUFELEVBQU87QUFDMUMsV0FBTztBQUFFWCxNQUFBQSxLQUFLLEVBQUVXLENBQVQ7QUFBWVYsTUFBQUEsS0FBSyxFQUFFVTtBQUFuQixLQUFQO0FBQ0QsR0FGaUIsQ0FBbEI7QUFJQSxNQUFNQyxhQUFhLEdBQUcsQ0FDcEI7QUFBRVosSUFBQUEsS0FBSyxFQUFFLElBQVQ7QUFBZUMsSUFBQUEsS0FBSyxFQUFFO0FBQXRCLEdBRG9CLEVBRXBCO0FBQUVELElBQUFBLEtBQUssRUFBRSxJQUFUO0FBQWVDLElBQUFBLEtBQUssRUFBRTtBQUF0QixHQUZvQixFQUdwQjtBQUFFRCxJQUFBQSxLQUFLLEVBQUUsSUFBVDtBQUFlQyxJQUFBQSxLQUFLLEVBQUU7QUFBdEIsR0FIb0IsRUFJcEI7QUFBRUQsSUFBQUEsS0FBSyxFQUFFLElBQVQ7QUFBZUMsSUFBQUEsS0FBSyxFQUFFO0FBQXRCLEdBSm9CLENBQXRCOztBQU9BLGtCQUE0QixxQkFHekJXLGFBQWEsQ0FBQyxDQUFELENBSFksQ0FBNUI7QUFBQTtBQUFBLE1BQU9DLE1BQVA7QUFBQSxNQUFlQyxTQUFmOztBQUtBLG1CQUE0QyxxQkFJekNmLHFCQUFxQixDQUFDLENBQUQsQ0FKb0IsQ0FBNUM7QUFBQTtBQUFBLE1BQU9nQixjQUFQO0FBQUEsTUFBdUJDLGlCQUF2Qjs7QUFNQSxtQkFBZ0MscUJBRzdCUCxTQUFTLENBQUMsRUFBRCxDQUhvQixDQUFoQztBQUFBO0FBQUEsTUFBT1EsUUFBUDtBQUFBLE1BQWlCQyxXQUFqQjs7QUFLQSxNQUFNQyxrQkFBa0IsR0FBRztBQUN6QkMsSUFBQUEsVUFBVSxFQUFFLEVBRGE7QUFFekJDLElBQUFBLFNBQVMsRUFBRSxFQUZjO0FBR3pCQyxJQUFBQSxLQUFLLEVBQUUsRUFIa0I7QUFJekJDLElBQUFBLEtBQUssRUFBRSxFQUprQjtBQUt6QkMsSUFBQUEsU0FBUyxFQUFFLEVBTGM7QUFNekJDLElBQUFBLGdCQUFnQixFQUFFLEVBTk87QUFPekJaLElBQUFBLE1BQU0sRUFBRSxFQVBpQjtBQVF6QmEsSUFBQUEsYUFBYSxFQUFFO0FBUlUsR0FBM0I7O0FBV0EsbUJBQTRDLHFCQUFrQixLQUFsQixDQUE1QztBQUFBO0FBQUEsTUFBT0MsY0FBUDtBQUFBLE1BQXVCQyxpQkFBdkI7O0FBQ0EsbUJBQWtELHFCQUFrQixLQUFsQixDQUFsRDtBQUFBO0FBQUEsTUFBT0MsaUJBQVA7QUFBQSxNQUEwQkMsb0JBQTFCOztBQUNBLG9CQUFvQyxxQkFBa0IsS0FBbEIsQ0FBcEM7QUFBQTtBQUFBLE1BQU9DLFVBQVA7QUFBQSxNQUFtQkMsYUFBbkI7O0FBQ0Esb0JBQW9ELHFCQUFrQixLQUFsQixDQUFwRDtBQUFBO0FBQUEsTUFBT0Msa0JBQVA7QUFBQSxNQUEyQkMscUJBQTNCOztBQUNBLG9CQUFnRCxxQkFBa0IsS0FBbEIsQ0FBaEQ7QUFBQTtBQUFBLE1BQU9DLGdCQUFQO0FBQUEsTUFBeUJDLG1CQUF6Qjs7QUFDQSxvQkFDRSxxQkFJRztBQUNEQyxJQUFBQSxJQUFJLEVBQUUsS0FETDtBQUVEQyxJQUFBQSxNQUFNLEVBQUUsRUFGUDtBQUdEQyxJQUFBQSxPQUFPLEVBQUU7QUFIUixHQUpILENBREY7QUFBQTtBQUFBLE1BQU9DLDJCQUFQO0FBQUEsTUFBb0NDLDhCQUFwQzs7QUFVQSxvQkFBNEIscUJBU3pCdEIsa0JBVHlCLENBQTVCO0FBQUE7QUFBQSxNQUFPdUIsTUFBUDtBQUFBLE1BQWVDLFNBQWY7O0FBV0EsTUFBTUMsY0FBYyxHQUFHLFNBQWpCQSxjQUFpQixDQUFDQyxDQUFELEVBQU87QUFDNUIsUUFBSSxPQUFPQSxDQUFQLEtBQWEsUUFBakIsRUFBMkI7QUFDekIsVUFBSUEsQ0FBQyxDQUFDQyxVQUFGLENBQWEsTUFBYixDQUFKLEVBQTBCO0FBQ3hCRCxRQUFBQSxDQUFDLEdBQUdBLENBQUMsQ0FBQ0UsT0FBRixDQUFVLFNBQVYsRUFBcUIsS0FBckIsQ0FBSjtBQUNEOztBQUNESixNQUFBQSxTQUFTLENBQUMsVUFBQ0ssU0FBRDtBQUFBLDJFQUNMQSxTQURLO0FBRVIxQixVQUFBQSxLQUFLLEVBQUV1QjtBQUZDO0FBQUEsT0FBRCxDQUFUO0FBSUQsS0FSRCxNQVFPO0FBQ0wsc0JBQXdCQSxDQUFDLENBQUNJLE1BQTFCO0FBQUEsVUFBUWpELEtBQVIsYUFBUUEsS0FBUjtBQUFBLFVBQWVrRCxJQUFmLGFBQWVBLElBQWY7QUFDQVAsTUFBQUEsU0FBUyxDQUFDLFVBQUNLLFNBQUQ7QUFBQSwyRUFDTEEsU0FESyx5Q0FFUEUsSUFGTyxFQUVBbEQsS0FGQTtBQUFBLE9BQUQsQ0FBVDtBQUlEO0FBQ0YsR0FoQkQ7O0FBa0JBLE1BQU1tRCw2QkFBNkIsR0FBRyxTQUFoQ0EsNkJBQWdDLEdBQU07QUFDMUMsdUVBQ0tULE1BREw7QUFFRWpCLE1BQUFBLGdCQUFnQixFQUFFVixjQUFjLENBQUNmLEtBRm5DO0FBR0VhLE1BQUFBLE1BQU0sRUFBRUEsTUFBTSxDQUFDYixLQUhqQjtBQUlFd0IsTUFBQUEsU0FBUyxFQUFFUCxRQUFRLENBQUNqQjtBQUp0QjtBQU1ELEdBUEQ7O0FBU0EsTUFBTW9ELGtCQUFrQixHQUFHLDZCQUN6QixVQUFDQyxLQUFEO0FBQUEsV0FBV0EsS0FBSyxDQUFDQyxXQUFOLENBQWtCRixrQkFBN0I7QUFBQSxHQUR5QixDQUEzQjs7QUFJQSxNQUFNRyxZQUFZLEdBQUcsU0FBZkEsWUFBZSxDQUFDVixDQUFELEVBQU87QUFDMUJBLElBQUFBLENBQUMsQ0FBQ1csY0FBRjtBQUNBeEIsSUFBQUEsYUFBYSxDQUFDLElBQUQsQ0FBYjs7QUFDQXlCLG1CQUNHQyxHQURILENBQ08sV0FEUCxFQUNvQjtBQUFFQyxNQUFBQSxJQUFJLEVBQUVSLDZCQUE2QjtBQUFyQyxLQURwQixFQUVHUyxJQUZILENBRVEsVUFBQ0MsSUFBRCxFQUFVO0FBQ2QsVUFBSUEsSUFBSSxDQUFDQyxJQUFMLENBQVVDLE1BQVYsS0FBcUIsSUFBekIsRUFBK0I7QUFDN0JDLFFBQUFBLFFBQVEsQ0FDTEMsZ0JBREgsQ0FDb0IsZ0JBRHBCLEVBRUdDLE9BRkgsQ0FFVyxVQUFDQyxDQUFEO0FBQUEsaUJBQVFBLENBQUMsQ0FBQ0MsU0FBRixHQUFjLEVBQXRCO0FBQUEsU0FGWDtBQUlBSixRQUFBQSxRQUFRLENBQ0xDLGdCQURILENBQ29CLGdCQURwQixFQUVHQyxPQUZILENBRVcsVUFBQ0MsQ0FBRDtBQUFBLGlCQUFPQSxDQUFDLENBQUNFLFNBQUYsQ0FBWUMsTUFBWixDQUFtQixlQUFuQixDQUFQO0FBQUEsU0FGWDtBQUdBLFlBQUlYLElBQUksR0FBR1ksSUFBSSxDQUFDQyxLQUFMLENBQVdYLElBQUksQ0FBQ0MsSUFBTCxDQUFVSCxJQUFyQixDQUFYO0FBQ0EsWUFBTWMsVUFBVSxHQUFHN0QsYUFBYSxDQUFDOEQsSUFBZCxDQUFtQixVQUFDN0IsQ0FBRDtBQUFBLGlCQUFPQSxDQUFDLENBQUM3QyxLQUFGLEtBQVkyRCxJQUFJLENBQUM5QyxNQUF4QjtBQUFBLFNBQW5CLENBQW5CO0FBQ0EsWUFBTThELGtCQUFrQixHQUFHNUUscUJBQXFCLENBQUMyRSxJQUF0QixDQUN6QixVQUFDN0IsQ0FBRDtBQUFBLGlCQUFPQSxDQUFDLENBQUM3QyxLQUFGLEtBQVkyRCxJQUFJLENBQUNsQyxnQkFBeEI7QUFBQSxTQUR5QixDQUEzQjtBQUdBLFlBQU1tRCxZQUFZLEdBQUduRSxTQUFTLENBQUNpRSxJQUFWLENBQ25CLFVBQUM3QixDQUFEO0FBQUEsaUJBQU9BLENBQUMsQ0FBQzdDLEtBQUYsS0FBWTJELElBQUksQ0FBQ25DLFNBQXhCO0FBQUEsU0FEbUIsQ0FBckI7QUFJQW1CLFFBQUFBLFNBQVMsQ0FBQ2dCLElBQUQsQ0FBVDtBQUNBN0MsUUFBQUEsU0FBUyxDQUFDMkQsVUFBRCxDQUFUO0FBQ0F6RCxRQUFBQSxpQkFBaUIsQ0FBQzJELGtCQUFELENBQWpCO0FBQ0F6RCxRQUFBQSxXQUFXLENBQUMwRCxZQUFELENBQVg7QUFDQTFDLFFBQUFBLHFCQUFxQixDQUFDLElBQUQsQ0FBckI7QUFDQTJDLFFBQUFBLFVBQVUsQ0FBQyxZQUFNO0FBQ2YzQyxVQUFBQSxxQkFBcUIsQ0FBQyxLQUFELENBQXJCO0FBQ0QsU0FGUyxFQUVQLElBRk8sQ0FBVjtBQUdELE9BekJELE1BeUJPO0FBQ0w4QixRQUFBQSxRQUFRLENBQ0xDLGdCQURILENBQ29CLGdCQURwQixFQUVHQyxPQUZILENBRVcsVUFBQ0MsQ0FBRDtBQUFBLGlCQUFRQSxDQUFDLENBQUNDLFNBQUYsR0FBYyxFQUF0QjtBQUFBLFNBRlg7QUFHQSxZQUFJTCxNQUFNLEdBQUdGLElBQUksQ0FBQ0MsSUFBTCxDQUFVQyxNQUF2Qjs7QUFDQSxhQUFLLElBQU1lLEtBQVgsSUFBb0JmLE1BQXBCLEVBQTRCO0FBQzFCLGNBQUlnQixXQUFXLEdBQUdmLFFBQVEsQ0FBQ2dCLGFBQVQsdUJBQXNDRixLQUF0QyxRQUFsQjtBQUNBLGNBQUlHLE1BQU0sR0FBR0YsV0FBVyxDQUFFRyxPQUFiLENBQXFCLFFBQXJCLENBQWI7QUFDQSxjQUFJQyxTQUFTLEdBQUdGLE1BQU0sQ0FBRUQsYUFBUixDQUFzQixPQUF0QixDQUFoQjtBQUNBRyxVQUFBQSxTQUFTLENBQUVkLFNBQVgsQ0FBcUJlLEdBQXJCLENBQXlCLGVBQXpCO0FBQ0FILFVBQUFBLE1BQU0sQ0FBRUQsYUFBUixDQUFzQixnQkFBdEIsRUFBeUNaLFNBQXpDLEdBQXFEaUIsY0FBSzFFLENBQUwsdUNBQ3BCbUUsS0FEb0IsRUFBckQ7QUFHRDs7QUFDRDVDLFFBQUFBLHFCQUFxQixDQUFDLEtBQUQsQ0FBckI7QUFDRDs7QUFFREYsTUFBQUEsYUFBYSxDQUFDLEtBQUQsQ0FBYjtBQUNELEtBOUNILEVBK0NHc0QsS0EvQ0gsQ0ErQ1MsVUFBQ1IsS0FBRCxFQUFXO0FBQ2hCMUMsTUFBQUEsbUJBQW1CLENBQUMsSUFBRCxDQUFuQjtBQUNBRixNQUFBQSxxQkFBcUIsQ0FBQyxLQUFELENBQXJCO0FBQ0FGLE1BQUFBLGFBQWEsQ0FBQyxLQUFELENBQWI7QUFDQTZDLE1BQUFBLFVBQVUsQ0FBQyxZQUFNO0FBQ2Z6QyxRQUFBQSxtQkFBbUIsQ0FBQyxLQUFELENBQW5CO0FBQ0QsT0FGUyxFQUVQLElBRk8sQ0FBVjtBQUdELEtBdERIO0FBdURELEdBMUREOztBQTREQSx3QkFBVSxZQUFNO0FBQ2QsbUNBQWUscUJBQWYsRUFBc0M7QUFDcENtRCxNQUFBQSxZQUFZLEVBQUVuQztBQURzQixLQUF0QyxFQURjLENBSWQ7O0FBQ0EsUUFBTW9DLEtBQUssR0FBR3hCLFFBQVEsQ0FBQ2dCLGFBQVQsQ0FBdUIsbUJBQXZCLEVBQTZDUyxPQUEzRDtBQUNBaEMsbUJBQU1pQyxRQUFOLENBQWVDLE9BQWYsQ0FBdUJDLE1BQXZCLENBQThCLGNBQTlCLElBQWdESixLQUFoRDtBQUNBL0IsbUJBQU1pQyxRQUFOLENBQWVDLE9BQWYsQ0FBdUJDLE1BQXZCLENBQThCLGNBQTlCLElBQWdELGdCQUFoRDs7QUFDQW5DLG1CQUNHb0MsR0FESCxDQUNPLG9CQURQLEVBRUdqQyxJQUZILENBRVEsVUFBQ0MsSUFBRCxFQUFVO0FBQ2RsQixNQUFBQSxTQUFTLENBQUNrQixJQUFJLENBQUNDLElBQU4sQ0FBVDtBQUNBLFVBQU1XLFVBQVUsR0FBRzdELGFBQWEsQ0FBQzhELElBQWQsQ0FDakIsVUFBQzdCLENBQUQ7QUFBQSxlQUFPQSxDQUFDLENBQUM3QyxLQUFGLEtBQVk2RCxJQUFJLENBQUNDLElBQUwsQ0FBVWpELE1BQTdCO0FBQUEsT0FEaUIsQ0FBbkI7QUFHQSxVQUFNOEQsa0JBQWtCLEdBQUc1RSxxQkFBcUIsQ0FBQzJFLElBQXRCLENBQ3pCLFVBQUM3QixDQUFEO0FBQUEsZUFBT0EsQ0FBQyxDQUFDN0MsS0FBRixLQUFZNkQsSUFBSSxDQUFDQyxJQUFMLENBQVVyQyxnQkFBN0I7QUFBQSxPQUR5QixDQUEzQjtBQUdBLFVBQU1tRCxZQUFZLEdBQUduRSxTQUFTLENBQUNpRSxJQUFWLENBQ25CLFVBQUM3QixDQUFEO0FBQUEsZUFBT0EsQ0FBQyxDQUFDN0MsS0FBRixLQUFZNkQsSUFBSSxDQUFDQyxJQUFMLENBQVV0QyxTQUE3QjtBQUFBLE9BRG1CLENBQXJCO0FBR0FWLE1BQUFBLFNBQVMsQ0FBQzJELFVBQUQsQ0FBVDtBQUNBekQsTUFBQUEsaUJBQWlCLENBQUMyRCxrQkFBRCxDQUFqQjtBQUNBekQsTUFBQUEsV0FBVyxDQUFDMEQsWUFBRCxDQUFYO0FBQ0QsS0FoQkgsRUFpQkdVLEtBakJILENBaUJTLFVBQUNSLEtBQUQ7QUFBQSxhQUFXZ0IsS0FBSyxDQUFDaEIsS0FBRCxDQUFoQjtBQUFBLEtBakJUO0FBa0JELEdBMUJELEVBMEJHLEVBMUJIO0FBNEJBLHNCQUNFLDZCQUFDLG9CQUFELHFCQUNFO0FBQUssSUFBQSxTQUFTLEVBQUM7QUFBZixLQUErQk8sY0FBSzFFLENBQUwsQ0FBTyw0QkFBUCxDQUEvQixDQURGLGVBRUU7QUFBTSxJQUFBLE1BQU0sRUFBQyxFQUFiO0FBQWdCLElBQUEsUUFBUSxFQUFFLGtCQUFDa0MsQ0FBRDtBQUFBLGFBQU9VLFlBQVksQ0FBQ1YsQ0FBRCxDQUFuQjtBQUFBO0FBQTFCLGtCQUNFO0FBQUssSUFBQSxTQUFTLEVBQUM7QUFBZixrQkFDRTtBQUFLLElBQUEsU0FBUyxFQUFDO0FBQWYsS0FDR3dDLGNBQUsxRSxDQUFMLENBQU8sdUNBQVAsQ0FESCxDQURGLGVBSUU7QUFBUyxJQUFBLFNBQVMsRUFBQztBQUFuQixrQkFDRTtBQUFLLElBQUEsU0FBUyxFQUFDO0FBQWYsa0JBQ0U7QUFBSyxJQUFBLFNBQVMsRUFBQztBQUFmLEtBQ0cwRSxjQUFLMUUsQ0FBTCxDQUFPLGlDQUFQLENBREgsQ0FERixlQUlFO0FBQ0UsSUFBQSxJQUFJLEVBQUMsTUFEUDtBQUVFLElBQUEsU0FBUyxFQUFDLFVBRlo7QUFHRSxJQUFBLElBQUksRUFBRSxZQUhSO0FBSUUsSUFBQSxLQUFLLEVBQUUrQixNQUFNLENBQUN0QixVQUpoQjtBQUtFLElBQUEsUUFBUSxFQUFFLGtCQUFDeUIsQ0FBRDtBQUFBLGFBQU9ELGNBQWMsQ0FBQ0MsQ0FBRCxDQUFyQjtBQUFBO0FBTFosSUFKRixlQVdFO0FBQUcsSUFBQSxTQUFTLEVBQUU7QUFBZCxJQVhGLENBREYsZUFjRTtBQUFLLElBQUEsU0FBUyxFQUFDO0FBQWYsa0JBQ0U7QUFBSyxJQUFBLFNBQVMsRUFBQztBQUFmLEtBQ0d3QyxjQUFLMUUsQ0FBTCxDQUFPLGdDQUFQLENBREgsQ0FERixlQUlFO0FBQ0UsSUFBQSxJQUFJLEVBQUMsTUFEUDtBQUVFLElBQUEsU0FBUyxFQUFDLFVBRlo7QUFHRSxJQUFBLElBQUksRUFBRSxXQUhSO0FBSUUsSUFBQSxLQUFLLEVBQUUrQixNQUFNLENBQUNyQixTQUpoQjtBQUtFLElBQUEsUUFBUSxFQUFFLGtCQUFDd0IsQ0FBRDtBQUFBLGFBQU9ELGNBQWMsQ0FBQ0MsQ0FBRCxDQUFyQjtBQUFBO0FBTFosSUFKRixlQVdFO0FBQUcsSUFBQSxTQUFTLEVBQUU7QUFBZCxJQVhGLENBZEYsZUEyQkU7QUFBSyxJQUFBLFNBQVMsRUFBQztBQUFmLGtCQUNFO0FBQUssSUFBQSxTQUFTLEVBQUM7QUFBZixLQUNHd0MsY0FBSzFFLENBQUwsQ0FBTyw0QkFBUCxDQURILENBREYsZUFJRTtBQUNFLElBQUEsUUFBUSxFQUFFLElBRFo7QUFFRSxJQUFBLElBQUksRUFBQyxNQUZQO0FBR0UsSUFBQSxTQUFTLEVBQUMsVUFIWjtBQUlFLElBQUEsSUFBSSxFQUFFLE9BSlI7QUFLRSxJQUFBLEtBQUssRUFBRStCLE1BQU0sQ0FBQ25CO0FBTGhCLElBSkYsZUFXRTtBQUFHLElBQUEsU0FBUyxFQUFFO0FBQWQsSUFYRixDQTNCRixlQXdDRTtBQUFLLElBQUEsU0FBUyxFQUFDO0FBQWYsa0JBQ0U7QUFBSyxJQUFBLFNBQVMsRUFBQztBQUFmLEtBQ0c4RCxjQUFLMUUsQ0FBTCxDQUFPLDRCQUFQLENBREgsQ0FERixlQUlFLDZCQUFDLHdCQUFEO0FBQ0UsSUFBQSxPQUFPLEVBQUUsSUFEWDtBQUVFLElBQUEsWUFBWSxFQUFFMEUsY0FBSzFFLENBQUwsQ0FBTyxXQUFQLENBRmhCO0FBR0UsSUFBQSxVQUFVLEVBQUMsYUFIYjtBQUlFLElBQUEsY0FBYyxFQUFDLFVBSmpCO0FBS0UsSUFBQSxXQUFXLEVBQUMsVUFMZDtBQU1FLElBQUEsYUFBYSxFQUFDLGdCQU5oQjtBQU9FLElBQUEsS0FBSyxFQUFFK0IsTUFBTSxDQUFDcEIsS0FQaEI7QUFRRSxJQUFBLFlBQVksTUFSZDtBQVNFLElBQUEsaUJBQWlCLEVBQUUrRCxjQUFLMUUsQ0FBTCxDQUFPLFFBQVAsQ0FUckI7QUFVRSxJQUFBLG1CQUFtQixFQUFFLEtBVnZCO0FBV0UsSUFBQSxRQUFRLEVBQUUsa0JBQUNYLEtBQUQsRUFBVztBQUNuQjRDLE1BQUFBLGNBQWMsQ0FBQzVDLEtBQUQsQ0FBZDtBQUNELEtBYkg7QUFjRSxJQUFBLFVBQVUsRUFBRTtBQUFFa0QsTUFBQUEsSUFBSSxFQUFFO0FBQVI7QUFkZCxJQUpGLGVBb0JFO0FBQUcsSUFBQSxTQUFTLEVBQUU7QUFBZCxJQXBCRixDQXhDRixlQThERTtBQUFLLElBQUEsU0FBUyxFQUFDO0FBQWYsa0JBQ0U7QUFDRSxJQUFBLFNBQVMsRUFBQyxpQkFEWjtBQUVFLElBQUEsT0FBTyxFQUFFO0FBQUEsYUFBTXBCLG9CQUFvQixDQUFDLElBQUQsQ0FBMUI7QUFBQTtBQUZYLGtCQUlFLDZCQUFDLG1CQUFEO0FBQVEsSUFBQSxLQUFLLEVBQUMsTUFBZDtBQUFxQixJQUFBLE1BQU0sRUFBQyxNQUE1QjtBQUFtQyxJQUFBLElBQUksRUFBQztBQUF4QyxJQUpGLEVBS0csSUFMSCxFQU1HdUQsY0FBSzFFLENBQUwsQ0FBTyxzQ0FBUCxDQU5ILENBREYsQ0E5REYsQ0FKRixlQTZFRTtBQUFLLElBQUEsU0FBUyxFQUFDO0FBQWYsS0FBd0IwRSxjQUFLMUUsQ0FBTCxDQUFPLCtCQUFQLENBQXhCLENBN0VGLGVBOEVFO0FBQVMsSUFBQSxTQUFTLEVBQUM7QUFBbkIsa0JBQ0U7QUFBSyxJQUFBLFNBQVMsRUFBQztBQUFmLGtCQUNFO0FBQUssSUFBQSxTQUFTLEVBQUM7QUFBZixLQUNHMEUsY0FBSzFFLENBQUwsQ0FBTyxnQ0FBUCxDQURILE1BREYsZUFJRTtBQUFLLElBQUEsU0FBUyxFQUFDO0FBQWYsa0JBQ0UsNkJBQUMsY0FBRDtBQUNFLElBQUEsUUFBUSxFQUFFTyxXQURaO0FBRUUsSUFBQSxLQUFLLEVBQUVELFFBRlQ7QUFHRSxJQUFBLE9BQU8sRUFBRVIsU0FIWDtBQUlFLElBQUEsZUFBZTtBQUpqQixJQURGLENBSkYsQ0FERixlQWNFO0FBQUssSUFBQSxTQUFTLEVBQUM7QUFBZixrQkFDRTtBQUFLLElBQUEsU0FBUyxFQUFDO0FBQWYsS0FDRzRFLGNBQUsxRSxDQUFMLENBQU8sdUNBQVAsQ0FESCxNQURGLGVBSUU7QUFBSyxJQUFBLFNBQVMsRUFBQztBQUFmLGtCQUNFLDZCQUFDLGNBQUQ7QUFDRSxJQUFBLE9BQU8sRUFBRVoscUJBRFg7QUFFRSxJQUFBLEtBQUssRUFBRWdCLGNBRlQ7QUFHRSxJQUFBLFFBQVEsRUFBRUMsaUJBSFo7QUFJRSxJQUFBLGVBQWU7QUFKakIsSUFERixDQUpGLGVBWUU7QUFBSyxJQUFBLFNBQVMsRUFBRTtBQUFoQixLQUNHRCxjQUFjLEtBQUtnRixTQUFuQixJQUNDLElBQUlDLElBQUosR0FBV0Msa0JBQVgsQ0FBOEIsT0FBOUIsRUFBdUNsRixjQUFjLENBQUNiLE1BQXRELENBRkosQ0FaRixDQWRGLGVBK0JFO0FBQUssSUFBQSxTQUFTLEVBQUM7QUFBZixrQkFDRTtBQUFLLElBQUEsU0FBUyxFQUFDO0FBQWYsS0FDR21GLGNBQUsxRSxDQUFMLENBQU8sK0JBQVAsQ0FESCxNQURGLGVBSUU7QUFBSyxJQUFBLFNBQVMsRUFBRTtBQUFoQixrQkFDRSw2QkFBQyxjQUFEO0FBQ0UsSUFBQSxPQUFPLEVBQUVDLGFBRFg7QUFFRSxJQUFBLEtBQUssRUFBRUMsTUFGVDtBQUdFLElBQUEsUUFBUSxFQUFFQyxTQUhaO0FBSUUsSUFBQSxlQUFlO0FBSmpCLElBREYsQ0FKRixDQS9CRixlQTRDRTtBQUFLLElBQUEsU0FBUyxFQUFDO0FBQWYsS0FDRzRCLE1BQU0sQ0FBQ2hCLGFBQVAsS0FBeUIsRUFBekIsaUJBQ0M7QUFBRyxJQUFBLFNBQVMsRUFBQyxVQUFiO0FBQXdCLElBQUEsT0FBTyxFQUFFO0FBQUEsYUFBTUUsaUJBQWlCLENBQUMsSUFBRCxDQUF2QjtBQUFBO0FBQWpDLEtBQ0d5RCxjQUFLMUUsQ0FBTCxDQUFPLDBDQUFQLENBREgsQ0FGSixFQU1HK0IsTUFBTSxDQUFDaEIsYUFBUCxLQUF5QixFQUF6QixpQkFDQyx5RUFDRTtBQUFLLElBQUEsU0FBUyxFQUFDO0FBQWYsa0JBQ0U7QUFBSyxJQUFBLFNBQVMsRUFBQztBQUFmLEtBQ0cyRCxjQUFLMUUsQ0FBTCxDQUFPLG9DQUFQLENBREgsZUFFRTtBQUNFLElBQUEsU0FBUyxFQUFDLE9BRFo7QUFFRSxJQUFBLE9BQU8sRUFBRTtBQUFBLGFBQU1pQixpQkFBaUIsQ0FBQyxJQUFELENBQXZCO0FBQUE7QUFGWCxrQkFJRSw2QkFBQyxtQkFBRDtBQUFRLElBQUEsS0FBSyxFQUFDLE1BQWQ7QUFBcUIsSUFBQSxNQUFNLEVBQUMsTUFBNUI7QUFBbUMsSUFBQSxJQUFJLEVBQUM7QUFBeEMsSUFKRixFQUl1RCxHQUp2RCxFQUtHeUQsY0FBSzFFLENBQUwsQ0FBTyxrQ0FBUCxDQUxILENBRkYsQ0FERixlQVdFO0FBQUssSUFBQSxTQUFTLEVBQUU7QUFBaEIsa0JBQ0U7QUFDRSxJQUFBLFFBQVEsRUFBRSxJQURaO0FBRUUsSUFBQSxJQUFJLEVBQUMsTUFGUDtBQUdFLElBQUEsU0FBUyxFQUFDLFVBSFo7QUFJRSxJQUFBLElBQUksRUFBRSxlQUpSO0FBS0UsSUFBQSxLQUFLLEVBQUUrQixNQUFNLENBQUNoQjtBQUxoQixJQURGLGVBUUU7QUFDRSxJQUFBLFNBQVMsRUFBRSx3Q0FEYjtBQUVFLElBQUEsT0FBTyxFQUFFLGlCQUFDbUIsQ0FBRCxFQUFPO0FBQ2RGLE1BQUFBLFNBQVMsQ0FBQyxVQUFDSyxTQUFEO0FBQUEsMkVBQ0xBLFNBREs7QUFFUnRCLFVBQUFBLGFBQWEsRUFBRTtBQUZQO0FBQUEsT0FBRCxDQUFUO0FBSUQ7QUFQSCxrQkFTRSw2QkFBQyxzQkFBRCxPQVRGLENBUkYsQ0FYRixlQStCRTtBQUFHLElBQUEsU0FBUyxFQUFFO0FBQWQsSUEvQkYsQ0FERixlQWtDRSx1REFDRTtBQUNFLElBQUEsU0FBUyxFQUFFLGVBRGI7QUFFRSxJQUFBLE9BQU8sRUFBRSxtQkFBTTtBQUNiK0IscUJBQ0dvQyxHQURILHFDQUVHakMsSUFGSCxDQUVRLFVBQUNDLElBQUQsRUFBVTtBQUNkcEIsUUFBQUEsOEJBQThCLENBQUM7QUFDN0JILFVBQUFBLE1BQU0sRUFDSnVCLElBQUksQ0FBQ0MsSUFBTCxDQUFVeEIsTUFBVixDQUFpQixDQUFqQixFQUFvQjRELFdBQXBCLEtBQ0FyQyxJQUFJLENBQUNDLElBQUwsQ0FBVXhCLE1BQVYsQ0FBaUI2RCxTQUFqQixDQUEyQixDQUEzQixDQUgyQjtBQUk3QjVELFVBQUFBLE9BQU8sRUFBRXNCLElBQUksQ0FBQ0MsSUFBTCxDQUFVdkIsT0FKVTtBQUs3QkYsVUFBQUEsSUFBSSxFQUFFO0FBTHVCLFNBQUQsQ0FBOUI7QUFPQXdDLFFBQUFBLFVBQVUsQ0FBQyxZQUFNO0FBQ2ZwQyxVQUFBQSw4QkFBOEIsQ0FBQztBQUM3QkgsWUFBQUEsTUFBTSxFQUFFLEVBRHFCO0FBRTdCQyxZQUFBQSxPQUFPLEVBQUUsRUFGb0I7QUFHN0JGLFlBQUFBLElBQUksRUFBRTtBQUh1QixXQUFELENBQTlCO0FBS0QsU0FOUyxFQU1QLElBTk8sQ0FBVjtBQU9ELE9BakJILEVBa0JHaUQsS0FsQkgsQ0FrQlMsVUFBQ1IsS0FBRDtBQUFBLGVBQVdnQixLQUFLLENBQUNoQixLQUFELENBQWhCO0FBQUEsT0FsQlQ7QUFtQkQ7QUF0QkgsS0F3QkcsQ0FBQ3RDLDJCQUEyQixDQUFDSCxJQUE3QixJQUNDZ0QsY0FBSzFFLENBQUwsQ0FBTyw0Q0FBUCxDQXpCSixFQTBCRzZCLDJCQUEyQixDQUFDSCxJQUE1QixJQUNDRywyQkFBMkIsQ0FBQ0YsTUEzQmhDLENBREYsQ0FsQ0YsQ0FQSixDQTVDRixDQTlFRixlQXNNRTtBQUFRLElBQUEsSUFBSSxFQUFFLFFBQWQ7QUFBd0IsSUFBQSxTQUFTLEVBQUUsTUFBbkM7QUFBMkMsSUFBQSxRQUFRLEVBQUVQO0FBQXJELEtBQ0csQ0FBQ0EsVUFBRCxJQUNDLENBQUNFLGtCQURGLElBRUMsQ0FBQ0UsZ0JBRkYsSUFHQ2tELGNBQUsxRSxDQUFMLENBQU8sNkJBQVAsQ0FKSixFQUtHb0IsVUFBVSxJQUNULENBQUNFLGtCQURGLElBRUMsQ0FBQ0UsZ0JBRkYsSUFHQ2tELGNBQUsxRSxDQUFMLENBQU8saUNBQVAsQ0FSSixFQVNHc0Isa0JBQWtCLElBQUlvRCxjQUFLMUUsQ0FBTCxDQUFPLDhCQUFQLENBVHpCLEVBVUd3QixnQkFBZ0IsSUFBSWtELGNBQUsxRSxDQUFMLENBQU8sNEJBQVAsQ0FWdkIsQ0F0TUYsQ0FERixDQUZGLEVBd05Ha0IsaUJBQWlCLGlCQUNoQiw2QkFBQyw0QkFBRDtBQUNFLElBQUEsS0FBSyxFQUFFO0FBQUEsYUFBTUMsb0JBQW9CLENBQUMsS0FBRCxDQUExQjtBQUFBLEtBRFQ7QUFFRSxJQUFBLElBQUksRUFBRSxnQkFBTSxDQUFFO0FBRmhCLElBek5KLEVBOE5HSCxjQUFjLGlCQUNiLDZCQUFDLDRCQUFEO0FBQ0UsSUFBQSxLQUFLLEVBQUU7QUFBQSxhQUFNQyxpQkFBaUIsQ0FBQyxLQUFELENBQXZCO0FBQUEsS0FEVDtBQUVFLElBQUEsY0FBYyxFQUFFZ0IsY0FGbEI7QUFHRSxJQUFBLFlBQVksRUFBRVc7QUFIaEIsSUEvTkosQ0FERjtBQXdPRCxDQTNiTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgU2VsZWN0IH0gZnJvbSAnc3JjL2NvbXBvbmVudHMvQ3VzdG9tSW5wdXRzL1NlbGVjdC9TZWxlY3QnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IFBhc3N3b3JkTW9kYWwgfSBmcm9tICcuL1Bhc3N3b3JkTW9kYWwvUGFzc3dvcmRNb2RhbCc7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBQZW5TdmcgfSBmcm9tICcuL3Blbi5zdmcnO1xuaW1wb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgQ2FuY2VsIH0gZnJvbSAnLi9jYW5jZWwuc3ZnJztcbmltcG9ydCBQaG9uZUlucHV0IGZyb20gJ3JlYWN0LXBob25lLWlucHV0LTInO1xuaW1wb3J0ICdyZWFjdC1waG9uZS1pbnB1dC0yL2xpYi9zdHlsZS5jc3MnO1xuaW1wb3J0IHsgVGVsZWdyYW1Nb2RhbCB9IGZyb20gJy4vVGVsZWdyYW1Nb2RhbC9UZWxlZ3JhbU1vZGFsJztcbmltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7XG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tICcuL0NvbnRhaW5lcic7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudC10aW1lem9uZSc7XG5pbXBvcnQgeyBhbmFseXRpY3NUcmFjayB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9BbmFseXRpY3MnO1xuaW1wb3J0IHsgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5cbmV4cG9ydCBjb25zdCBQcm9maWxlUGFnZSA9ICgpID0+IHtcbiAgY29uc3QgdGltZXpvbmVzQXJyYXkgPSBtb21lbnQudHoubmFtZXMoKTtcbiAgY29uc3QgZGF0ZVRpbWVGb3JtYXRPcHRpb25zID0gW1xuICAgIHtcbiAgICAgIHZhbHVlOiAndXMnLFxuICAgICAgbGFiZWw6ICdVbml0ZWQgU3RhdGVzJyxcbiAgICAgIGZvcm1hdDoge1xuICAgICAgICBtb250aDogJ3Nob3J0JyxcbiAgICAgICAgZGF5OiAnbnVtZXJpYycsXG4gICAgICAgIHllYXI6ICdudW1lcmljJyxcbiAgICAgICAgaG91cjogJ251bWVyaWMnLFxuICAgICAgICBtaW51dGU6ICdudW1lcmljJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YWx1ZTogJ2V1JyxcbiAgICAgIGxhYmVsOiAnRXVyb3BlJyxcbiAgICAgIGZvcm1hdDoge1xuICAgICAgICBkYXk6ICdudW1lcmljJyxcbiAgICAgICAgbW9udGg6ICdudW1lcmljJyxcbiAgICAgICAgeWVhcjogJ251bWVyaWMnLFxuICAgICAgICBob3VyOiAnbnVtZXJpYycsXG4gICAgICAgIG1pbnV0ZTogJ251bWVyaWMnLFxuICAgICAgICBob3VyMTI6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9LFxuICBdO1xuXG4gIGNvbnN0IHRpbWV6b25lcyA9IHRpbWV6b25lc0FycmF5Lm1hcCgodCkgPT4ge1xuICAgIHJldHVybiB7IHZhbHVlOiB0LCBsYWJlbDogdCB9O1xuICB9KTtcblxuICBjb25zdCBsb2NhbGVPcHRpb25zID0gW1xuICAgIHsgdmFsdWU6ICdlbicsIGxhYmVsOiAnRW5nbGlzaCcgfSxcbiAgICB7IHZhbHVlOiAnaGUnLCBsYWJlbDogJ0hlYnJldycgfSxcbiAgICB7IHZhbHVlOiAnaXQnLCBsYWJlbDogJ0l0YWx5JyB9LFxuICAgIHsgdmFsdWU6ICdmcicsIGxhYmVsOiAnRnJhbmNlJyB9LFxuICBdO1xuXG4gIGNvbnN0IFtsb2NhbGUsIHNldExvY2FsZV0gPSB1c2VTdGF0ZTx7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBsYWJlbDogc3RyaW5nO1xuICB9Pihsb2NhbGVPcHRpb25zWzBdKTtcblxuICBjb25zdCBbZGF0ZVRpbWVGb3JtYXQsIHNldERhdGVUaW1lRm9ybWF0XSA9IHVzZVN0YXRlPHtcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgZm9ybWF0OiBvYmplY3Q7XG4gIH0+KGRhdGVUaW1lRm9ybWF0T3B0aW9uc1swXSk7XG5cbiAgY29uc3QgW3RpbWV6b25lLCBzZXRUaW1lem9uZV0gPSB1c2VTdGF0ZTx7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBsYWJlbDogc3RyaW5nO1xuICB9Pih0aW1lem9uZXNbMjBdKTtcblxuICBjb25zdCBpbml0aWFsUGFyYW1zU3RhdGUgPSB7XG4gICAgZmlyc3RfbmFtZTogJycsXG4gICAgbGFzdF9uYW1lOiAnJyxcbiAgICBwaG9uZTogJycsXG4gICAgZW1haWw6ICcnLFxuICAgIHRpbWVfem9uZTogJycsXG4gICAgZGF0ZV90aW1lX2Zvcm1hdDogJycsXG4gICAgbG9jYWxlOiAnJyxcbiAgICB0ZWxlZ3JhbV9uYW1lOiAnJyxcbiAgfTtcblxuICBjb25zdCBbaXNUZWxlZ3JhbU9wZW4sIHNldElzVGVsZWdyYW1PcGVuXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgW3Nob3dQYXNzd29yZE1vZGFsLCBzZXRTaG93UGFzc3dvcmRNb2RhbF0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gIGNvbnN0IFtzdWJtaXR0aW5nLCBzZXRTdWJtaXR0aW5nXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgW3Nob3dTdWNjZXNzTWVzc2FnZSwgc2V0U2hvd1N1Y2Nlc3NNZXNzYWdlXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgW3Nob3dFcnJvck1lc3NhZ2UsIHNldFNob3dFcnJvck1lc3NhZ2VdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuICBjb25zdCBbc2hvd1RlbGVncmFtUmVzcG9uc2VNZXNzYWdlLCBzZXRTaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2VdID1cbiAgICB1c2VTdGF0ZTx7XG4gICAgICBzaG93OiBib29sZWFuO1xuICAgICAgc3RhdHVzOiBzdHJpbmc7XG4gICAgICBtZXNzYWdlOiBzdHJpbmc7XG4gICAgfT4oe1xuICAgICAgc2hvdzogZmFsc2UsXG4gICAgICBzdGF0dXM6ICcnLFxuICAgICAgbWVzc2FnZTogJycsXG4gICAgfSk7XG4gIGNvbnN0IFtwYXJhbXMsIHNldFBhcmFtc10gPSB1c2VTdGF0ZTx7XG4gICAgZmlyc3RfbmFtZTogc3RyaW5nO1xuICAgIGxhc3RfbmFtZTogc3RyaW5nO1xuICAgIHBob25lOiBzdHJpbmc7XG4gICAgZW1haWw6IHN0cmluZztcbiAgICB0aW1lX3pvbmU6IHN0cmluZztcbiAgICBkYXRlX3RpbWVfZm9ybWF0OiBzdHJpbmc7XG4gICAgbG9jYWxlOiBzdHJpbmc7XG4gICAgdGVsZWdyYW1fbmFtZTogc3RyaW5nO1xuICB9Pihpbml0aWFsUGFyYW1zU3RhdGUpO1xuXG4gIGNvbnN0IGhhbmRsZU9uQ2hhbmdlID0gKGUpID0+IHtcbiAgICBpZiAodHlwZW9mIGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBpZiAoZS5zdGFydHNXaXRoKCc5NzIwJykpIHtcbiAgICAgICAgZSA9IGUucmVwbGFjZSgvKDk3MjApL2csICc5NzInKTtcbiAgICAgIH1cbiAgICAgIHNldFBhcmFtcygocHJldlN0YXRlKSA9PiAoe1xuICAgICAgICAuLi5wcmV2U3RhdGUsXG4gICAgICAgIHBob25lOiBlLFxuICAgICAgfSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB7IHZhbHVlLCBuYW1lIH0gPSBlLnRhcmdldDtcbiAgICAgIHNldFBhcmFtcygocHJldlN0YXRlKSA9PiAoe1xuICAgICAgICAuLi5wcmV2U3RhdGUsXG4gICAgICAgIFtuYW1lXTogdmFsdWUsXG4gICAgICB9KSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGdldFBhcmFtc1dpdGhBZ2dyZWdhdGVkVmFsdWVzID0gKCkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5wYXJhbXMsXG4gICAgICBkYXRlX3RpbWVfZm9ybWF0OiBkYXRlVGltZUZvcm1hdC52YWx1ZSxcbiAgICAgIGxvY2FsZTogbG9jYWxlLnZhbHVlLFxuICAgICAgdGltZV96b25lOiB0aW1lem9uZS52YWx1ZSxcbiAgICB9O1xuICB9O1xuXG4gIGNvbnN0IHdhdGVyQXV0aG9yaXR5TmFtZSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZSkgPT4gc3RhdGUuZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlOYW1lLFxuICApO1xuXG4gIGNvbnN0IGhhbmRsZVN1Ym1pdCA9IChlKSA9PiB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHNldFN1Ym1pdHRpbmcodHJ1ZSk7XG4gICAgYXhpb3NcbiAgICAgIC5wdXQoJy9wcm9maWxlcycsIHsgdXNlcjogZ2V0UGFyYW1zV2l0aEFnZ3JlZ2F0ZWRWYWx1ZXMoKSB9KVxuICAgICAgLnRoZW4oKHJlc3ApID0+IHtcbiAgICAgICAgaWYgKHJlc3AuZGF0YS5lcnJvcnMgPT09IG51bGwpIHtcbiAgICAgICAgICBkb2N1bWVudFxuICAgICAgICAgICAgLnF1ZXJ5U2VsZWN0b3JBbGwoJy5lcnJvci1tZXNzYWdlJylcbiAgICAgICAgICAgIC5mb3JFYWNoKChwKSA9PiAocC5pbm5lckhUTUwgPSAnJykpO1xuXG4gICAgICAgICAgZG9jdW1lbnRcbiAgICAgICAgICAgIC5xdWVyeVNlbGVjdG9yQWxsKCcuaW52YWxpZC1maWVsZCcpXG4gICAgICAgICAgICAuZm9yRWFjaCgocCkgPT4gcC5jbGFzc0xpc3QucmVtb3ZlKCdpbnZhbGlkLWZpZWxkJykpO1xuICAgICAgICAgIGxldCB1c2VyID0gSlNPTi5wYXJzZShyZXNwLmRhdGEudXNlcik7XG4gICAgICAgICAgY29uc3QgZmluZExvY2FsZSA9IGxvY2FsZU9wdGlvbnMuZmluZCgoZSkgPT4gZS52YWx1ZSA9PT0gdXNlci5sb2NhbGUpO1xuICAgICAgICAgIGNvbnN0IGZpbmREYXRlVGltZUZvcm1hdCA9IGRhdGVUaW1lRm9ybWF0T3B0aW9ucy5maW5kKFxuICAgICAgICAgICAgKGUpID0+IGUudmFsdWUgPT09IHVzZXIuZGF0ZV90aW1lX2Zvcm1hdCxcbiAgICAgICAgICApO1xuICAgICAgICAgIGNvbnN0IGZpbmRUaW1lem9uZSA9IHRpbWV6b25lcy5maW5kKFxuICAgICAgICAgICAgKGUpID0+IGUudmFsdWUgPT09IHVzZXIudGltZV96b25lLFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBzZXRQYXJhbXModXNlcik7XG4gICAgICAgICAgc2V0TG9jYWxlKGZpbmRMb2NhbGUhKTtcbiAgICAgICAgICBzZXREYXRlVGltZUZvcm1hdChmaW5kRGF0ZVRpbWVGb3JtYXQhKTtcbiAgICAgICAgICBzZXRUaW1lem9uZShmaW5kVGltZXpvbmUhKTtcbiAgICAgICAgICBzZXRTaG93U3VjY2Vzc01lc3NhZ2UodHJ1ZSk7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBzZXRTaG93U3VjY2Vzc01lc3NhZ2UoZmFsc2UpO1xuICAgICAgICAgIH0sIDYwMDApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRvY3VtZW50XG4gICAgICAgICAgICAucXVlcnlTZWxlY3RvckFsbCgnLmVycm9yLW1lc3NhZ2UnKVxuICAgICAgICAgICAgLmZvckVhY2goKHApID0+IChwLmlubmVySFRNTCA9ICcnKSk7XG4gICAgICAgICAgbGV0IGVycm9ycyA9IHJlc3AuZGF0YS5lcnJvcnM7XG4gICAgICAgICAgZm9yIChjb25zdCBlcnJvciBpbiBlcnJvcnMpIHtcbiAgICAgICAgICAgIGxldCBmaW5kRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYGlucHV0W25hbWU9JyR7ZXJyb3J9J11gKTtcbiAgICAgICAgICAgIGxldCBwYXJlbnQgPSBmaW5kRWxlbWVudCEuY2xvc2VzdCgnLmZpZWxkJyk7XG4gICAgICAgICAgICBsZXQgZmluZElucHV0ID0gcGFyZW50IS5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpO1xuICAgICAgICAgICAgZmluZElucHV0IS5jbGFzc0xpc3QuYWRkKCdpbnZhbGlkLWZpZWxkJyk7XG4gICAgICAgICAgICBwYXJlbnQhLnF1ZXJ5U2VsZWN0b3IoJy5lcnJvci1tZXNzYWdlJykhLmlubmVySFRNTCA9IGkxOG4udChcbiAgICAgICAgICAgICAgYGRhc2hib2FyZF92Mi5wcm9maWxlLmVycm9ycy4ke2Vycm9yfWAsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzZXRTaG93U3VjY2Vzc01lc3NhZ2UoZmFsc2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0U3VibWl0dGluZyhmYWxzZSk7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICBzZXRTaG93RXJyb3JNZXNzYWdlKHRydWUpO1xuICAgICAgICBzZXRTaG93U3VjY2Vzc01lc3NhZ2UoZmFsc2UpO1xuICAgICAgICBzZXRTdWJtaXR0aW5nKGZhbHNlKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgc2V0U2hvd0Vycm9yTWVzc2FnZShmYWxzZSk7XG4gICAgICAgIH0sIDYwMDApO1xuICAgICAgfSk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBhbmFseXRpY3NUcmFjaygnVmlld2VkIFByb2ZpbGUgUGFnZScsIHtcbiAgICAgIHV0aWxpdHlfbmFtZTogd2F0ZXJBdXRob3JpdHlOYW1lLFxuICAgIH0pO1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBjb25zdCB0b2tlbiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tuYW1lPWNzcmYtdG9rZW5dJykhLmNvbnRlbnQ7XG4gICAgYXhpb3MuZGVmYXVsdHMuaGVhZGVycy5jb21tb25bJ1gtQ1NSRi1UT0tFTiddID0gdG9rZW47XG4gICAgYXhpb3MuZGVmYXVsdHMuaGVhZGVycy5jb21tb25bJ0NvbnRlbnQtVHlwZSddID0gJ2FwcGxpY2F0aW9uL2pzJztcbiAgICBheGlvc1xuICAgICAgLmdldCgnL3Byb2ZpbGVzL3Jlc291cmNlJylcbiAgICAgIC50aGVuKChyZXNwKSA9PiB7XG4gICAgICAgIHNldFBhcmFtcyhyZXNwLmRhdGEpO1xuICAgICAgICBjb25zdCBmaW5kTG9jYWxlID0gbG9jYWxlT3B0aW9ucy5maW5kKFxuICAgICAgICAgIChlKSA9PiBlLnZhbHVlID09PSByZXNwLmRhdGEubG9jYWxlLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBmaW5kRGF0ZVRpbWVGb3JtYXQgPSBkYXRlVGltZUZvcm1hdE9wdGlvbnMuZmluZChcbiAgICAgICAgICAoZSkgPT4gZS52YWx1ZSA9PT0gcmVzcC5kYXRhLmRhdGVfdGltZV9mb3JtYXQsXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGZpbmRUaW1lem9uZSA9IHRpbWV6b25lcy5maW5kKFxuICAgICAgICAgIChlKSA9PiBlLnZhbHVlID09PSByZXNwLmRhdGEudGltZV96b25lLFxuICAgICAgICApO1xuICAgICAgICBzZXRMb2NhbGUoZmluZExvY2FsZSEpO1xuICAgICAgICBzZXREYXRlVGltZUZvcm1hdChmaW5kRGF0ZVRpbWVGb3JtYXQhKTtcbiAgICAgICAgc2V0VGltZXpvbmUoZmluZFRpbWV6b25lISk7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlcnJvcikgPT4gYWxlcnQoZXJyb3IpKTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiAoXG4gICAgPENvbnRhaW5lcj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaGVhZGVyLXRpdGxlXCI+e2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUudGl0bGUnKX08L2Rpdj5cbiAgICAgIDxmb3JtIGFjdGlvbj1cIlwiIG9uU3VibWl0PXsoZSkgPT4gaGFuZGxlU3VibWl0KGUpfT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb250ZW50XCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0aXRsZVwiPlxuICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUucGVyc29uYWwtZGV0YWlscycpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT1cInBlcnNvbmFsXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5maXJzdF9uYW1lJyl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibXktaW5wdXRcIlxuICAgICAgICAgICAgICAgIG5hbWU9eydmaXJzdF9uYW1lJ31cbiAgICAgICAgICAgICAgICB2YWx1ZT17cGFyYW1zLmZpcnN0X25hbWV9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBoYW5kbGVPbkNoYW5nZShlKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPXsnZXJyb3ItbWVzc2FnZSd9PjwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUubGFzdF9uYW1lJyl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibXktaW5wdXRcIlxuICAgICAgICAgICAgICAgIG5hbWU9eydsYXN0X25hbWUnfVxuICAgICAgICAgICAgICAgIHZhbHVlPXtwYXJhbXMubGFzdF9uYW1lfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gaGFuZGxlT25DaGFuZ2UoZSl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT17J2Vycm9yLW1lc3NhZ2UnfT48L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGQgZmllbGQtLXJlYWRvbmx5XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5lbWFpbCcpfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgcmVhZE9ubHk9e3RydWV9XG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm15LWlucHV0XCJcbiAgICAgICAgICAgICAgICBuYW1lPXsnZW1haWwnfVxuICAgICAgICAgICAgICAgIHZhbHVlPXtwYXJhbXMuZW1haWx9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT17J2Vycm9yLW1lc3NhZ2UnfT48L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLnBob25lJyl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8UGhvbmVJbnB1dFxuICAgICAgICAgICAgICAgIGNvdW50cnk9eydpbCd9XG4gICAgICAgICAgICAgICAgbG9jYWxpemF0aW9uPXtpMThuLnQoJ2NvdW50cmllcycpfVxuICAgICAgICAgICAgICAgIGlucHV0Q2xhc3M9XCJwaG9uZS1pbnB1dFwiXG4gICAgICAgICAgICAgICAgY29udGFpbmVyQ2xhc3M9XCJteS1waG9uZVwiXG4gICAgICAgICAgICAgICAgYnV0dG9uQ2xhc3M9XCJkcm9wZG93blwiXG4gICAgICAgICAgICAgICAgZHJvcGRvd25DbGFzcz1cInBob25lLWRyb3Bkb3duXCJcbiAgICAgICAgICAgICAgICB2YWx1ZT17cGFyYW1zLnBob25lfVxuICAgICAgICAgICAgICAgIGVuYWJsZVNlYXJjaFxuICAgICAgICAgICAgICAgIHNlYXJjaFBsYWNlaG9sZGVyPXtpMThuLnQoJ3NlYXJjaCcpfVxuICAgICAgICAgICAgICAgIGNvdW50cnlDb2RlRWRpdGFibGU9e2ZhbHNlfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICAgIGhhbmRsZU9uQ2hhbmdlKHZhbHVlKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIGlucHV0UHJvcHM9e3sgbmFtZTogJ3Bob25lJyB9fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9eydlcnJvci1tZXNzYWdlJ30+PC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkXCI+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJjaGFuZ2UtcGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldFNob3dQYXNzd29yZE1vZGFsKHRydWUpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFBlblN2ZyB3aWR0aD1cIjEycHhcIiBoZWlnaHQ9XCIxMnB4XCIgZmlsbD1cIiNmMDEzNGNcIiAvPlxuICAgICAgICAgICAgICAgIHsnICAnfVxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmNoYW5nZS1wYXNzd29yZCcpfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRpdGxlXCI+e2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuc2V0dGluZ3MnKX08L2Rpdj5cbiAgICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJzZXR0aW5nc1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUudGltZS16b25lJyl9KlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteS1pbnB1dFwiPlxuICAgICAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgICAgIHNldFZhbHVlPXtzZXRUaW1lem9uZX1cbiAgICAgICAgICAgICAgICAgIHZhbHVlPXt0aW1lem9uZX1cbiAgICAgICAgICAgICAgICAgIG9wdGlvbnM9e3RpbWV6b25lc31cbiAgICAgICAgICAgICAgICAgIGNhbmNlbFRleHRXaWR0aFxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5kYXRlLXRpbWUtZm9ybWF0Jyl9KlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteS1pbnB1dFwiPlxuICAgICAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgICAgIG9wdGlvbnM9e2RhdGVUaW1lRm9ybWF0T3B0aW9uc31cbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtkYXRlVGltZUZvcm1hdH1cbiAgICAgICAgICAgICAgICAgIHNldFZhbHVlPXtzZXREYXRlVGltZUZvcm1hdH1cbiAgICAgICAgICAgICAgICAgIGNhbmNlbFRleHRXaWR0aFxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2RhdGUtdGltZS1mb3JtYXQnfT5cbiAgICAgICAgICAgICAgICB7ZGF0ZVRpbWVGb3JtYXQgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgICAgICAgbmV3IERhdGUoKS50b0xvY2FsZURhdGVTdHJpbmcoJ2VuLVVTJywgZGF0ZVRpbWVGb3JtYXQuZm9ybWF0KX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmxhbmd1YWdlJyl9KlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydteS1pbnB1dCd9PlxuICAgICAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgICAgIG9wdGlvbnM9e2xvY2FsZU9wdGlvbnN9XG4gICAgICAgICAgICAgICAgICB2YWx1ZT17bG9jYWxlfVxuICAgICAgICAgICAgICAgICAgc2V0VmFsdWU9e3NldExvY2FsZX1cbiAgICAgICAgICAgICAgICAgIGNhbmNlbFRleHRXaWR0aFxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkIGZpZWxkLS1idXR0b25zXCI+XG4gICAgICAgICAgICAgIHtwYXJhbXMudGVsZWdyYW1fbmFtZSA9PT0gJycgJiYgKFxuICAgICAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInRlbGVncmFtXCIgb25DbGljaz17KCkgPT4gc2V0SXNUZWxlZ3JhbU9wZW4odHJ1ZSl9PlxuICAgICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuY29ubmVjdC10by10ZWxlZ3JhbScpfVxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAge3BhcmFtcy50ZWxlZ3JhbV9uYW1lICE9PSAnJyAmJiAoXG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLnRlbGVncmFtX25hbWUnKX1cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJyaWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRJc1RlbGVncmFtT3Blbih0cnVlKX1cbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8UGVuU3ZnIHdpZHRoPVwiMTJweFwiIGhlaWdodD1cIjEycHhcIiBmaWxsPVwiI2YwMTM0Y1wiIC8+eycgJ31cbiAgICAgICAgICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmNoYW5nZS1uYW1lJyl9XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J3RlbGVncmFtLWV4aXN0aW5nLWlucHV0J30+XG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICByZWFkT25seT17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm15LWlucHV0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9eyd0ZWxlZ3JhbV9uYW1lJ31cbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXtwYXJhbXMudGVsZWdyYW1fbmFtZX1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17J3RlbGVncmFtLWV4aXN0aW5nLWlucHV0X19jYW5jZWwtYnV0dG9uJ31cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eyhlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNldFBhcmFtcygocHJldlN0YXRlKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnByZXZTdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZWxlZ3JhbV9uYW1lOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8Q2FuY2VsIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9eydlcnJvci1tZXNzYWdlJ30+PC9wPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17J3RlbGVncmFtIG9wZW4nfVxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGF4aW9zXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC5nZXQoYC90ZWxlZ3JhbS9zZW5kX3Rlc3RfbWVzc2FnZS5qc29uYClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLnRoZW4oKHJlc3ApID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRTaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2Uoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwLmRhdGEuc3RhdHVzWzBdLnRvVXBwZXJDYXNlKCkgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwLmRhdGEuc3RhdHVzLnN1YnN0cmluZygxKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IHJlc3AuZGF0YS5tZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvdzogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFNob3dUZWxlZ3JhbVJlc3BvbnNlTWVzc2FnZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1czogJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93OiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDYwMDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiBhbGVydChlcnJvcikpO1xuICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7IXNob3dUZWxlZ3JhbVJlc3BvbnNlTWVzc2FnZS5zaG93ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLnNlbmRfdGVsZWdyYW1fbWVzc2FnZScpfVxuICAgICAgICAgICAgICAgICAgICAgIHtzaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2Uuc2hvdyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1RlbGVncmFtUmVzcG9uc2VNZXNzYWdlLnN0YXR1c31cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPXsnc3VibWl0J30gY2xhc3NOYW1lPXsnc2F2ZSd9IGRpc2FibGVkPXtzdWJtaXR0aW5nfT5cbiAgICAgICAgICAgIHshc3VibWl0dGluZyAmJlxuICAgICAgICAgICAgICAhc2hvd1N1Y2Nlc3NNZXNzYWdlICYmXG4gICAgICAgICAgICAgICFzaG93RXJyb3JNZXNzYWdlICYmXG4gICAgICAgICAgICAgIGkxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuc3VibWl0Jyl9XG4gICAgICAgICAgICB7c3VibWl0dGluZyAmJlxuICAgICAgICAgICAgICAhc2hvd1N1Y2Nlc3NNZXNzYWdlICYmXG4gICAgICAgICAgICAgICFzaG93RXJyb3JNZXNzYWdlICYmXG4gICAgICAgICAgICAgIGkxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuc3VibWl0dGluZycpfVxuICAgICAgICAgICAge3Nob3dTdWNjZXNzTWVzc2FnZSAmJiBpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLnN1Y2Nlc3MnKX1cbiAgICAgICAgICAgIHtzaG93RXJyb3JNZXNzYWdlICYmIGkxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuZXJyb3InKX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Zvcm0+XG5cbiAgICAgIHtzaG93UGFzc3dvcmRNb2RhbCAmJiAoXG4gICAgICAgIDxQYXNzd29yZE1vZGFsXG4gICAgICAgICAgY2xvc2U9eygpID0+IHNldFNob3dQYXNzd29yZE1vZGFsKGZhbHNlKX1cbiAgICAgICAgICBzYXZlPXsoKSA9PiB7fX1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgICB7aXNUZWxlZ3JhbU9wZW4gJiYgKFxuICAgICAgICA8VGVsZWdyYW1Nb2RhbFxuICAgICAgICAgIGNsb3NlPXsoKSA9PiBzZXRJc1RlbGVncmFtT3BlbihmYWxzZSl9XG4gICAgICAgICAgaGFuZGxlT25DaGFuZ2U9e2hhbmRsZU9uQ2hhbmdlfVxuICAgICAgICAgIGhhbmRsZVN1Ym1pdD17aGFuZGxlU3VibWl0fVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICA8L0NvbnRhaW5lcj5cbiAgKTtcbn07XG4iXX0=
|
|
484
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9Qcm9maWxlUGFnZS9Qcm9maWxlUGFnZS50c3giXSwibmFtZXMiOlsiUHJvZmlsZVBhZ2UiLCJ0aW1lem9uZXNBcnJheSIsIm1vbWVudCIsInR6IiwibmFtZXMiLCJkYXRlVGltZUZvcm1hdE9wdGlvbnMiLCJ2YWx1ZSIsImxhYmVsIiwiZm9ybWF0IiwibW9udGgiLCJkYXkiLCJ5ZWFyIiwiaG91ciIsIm1pbnV0ZSIsImhvdXIxMiIsInRpbWV6b25lcyIsIm1hcCIsInQiLCJsb2NhbGVPcHRpb25zIiwibG9jYWxlIiwic2V0TG9jYWxlIiwiZGF0ZVRpbWVGb3JtYXQiLCJzZXREYXRlVGltZUZvcm1hdCIsInRpbWV6b25lIiwic2V0VGltZXpvbmUiLCJpbml0aWFsUGFyYW1zU3RhdGUiLCJmaXJzdF9uYW1lIiwibGFzdF9uYW1lIiwicGhvbmUiLCJlbWFpbCIsInRpbWVfem9uZSIsImRhdGVfdGltZV9mb3JtYXQiLCJ0ZWxlZ3JhbV9uYW1lIiwiaXNUZWxlZ3JhbU9wZW4iLCJzZXRJc1RlbGVncmFtT3BlbiIsInNob3dQYXNzd29yZE1vZGFsIiwic2V0U2hvd1Bhc3N3b3JkTW9kYWwiLCJzdWJtaXR0aW5nIiwic2V0U3VibWl0dGluZyIsInNob3dTdWNjZXNzTWVzc2FnZSIsInNldFNob3dTdWNjZXNzTWVzc2FnZSIsInNob3dFcnJvck1lc3NhZ2UiLCJzZXRTaG93RXJyb3JNZXNzYWdlIiwic2hvdyIsInN0YXR1cyIsIm1lc3NhZ2UiLCJzaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2UiLCJzZXRTaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2UiLCJwYXJhbXMiLCJzZXRQYXJhbXMiLCJoYW5kbGVPbkNoYW5nZSIsImUiLCJzdGFydHNXaXRoIiwicmVwbGFjZSIsInByZXZTdGF0ZSIsInRhcmdldCIsIm5hbWUiLCJnZXRQYXJhbXNXaXRoQWdncmVnYXRlZFZhbHVlcyIsIndhdGVyQXV0aG9yaXR5TmFtZSIsInN0YXRlIiwiZ2xvYmFsX2RhdGEiLCJoYW5kbGVTdWJtaXQiLCJwcmV2ZW50RGVmYXVsdCIsImF4aW9zIiwicHV0IiwidXNlciIsInRoZW4iLCJyZXNwIiwiZGF0YSIsImVycm9ycyIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvckFsbCIsImZvckVhY2giLCJwIiwiaW5uZXJIVE1MIiwiY2xhc3NMaXN0IiwicmVtb3ZlIiwiSlNPTiIsInBhcnNlIiwiZmluZExvY2FsZSIsImZpbmQiLCJmaW5kRGF0ZVRpbWVGb3JtYXQiLCJmaW5kVGltZXpvbmUiLCJzZXRUaW1lb3V0IiwiZXJyb3IiLCJmaW5kRWxlbWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJwYXJlbnQiLCJjbG9zZXN0IiwiZmluZElucHV0IiwiYWRkIiwiaTE4biIsImNhdGNoIiwidXRpbGl0eV9uYW1lIiwidG9rZW4iLCJjb250ZW50IiwiZGVmYXVsdHMiLCJoZWFkZXJzIiwiY29tbW9uIiwiZ2V0IiwiYWxlcnQiLCJ1bmRlZmluZWQiLCJEYXRlIiwidG9Mb2NhbGVEYXRlU3RyaW5nIiwidG9VcHBlckNhc2UiLCJzdWJzdHJpbmciXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7OztBQUdBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUFFTyxJQUFNQSxXQUFXLEdBQUcsU0FBZEEsV0FBYyxHQUFNO0FBQy9CLE1BQU1DLGNBQWMsR0FBR0Msd0JBQU9DLEVBQVAsQ0FBVUMsS0FBVixFQUF2Qjs7QUFDQSxNQUFNQyxxQkFBcUIsR0FBRyxDQUM1QjtBQUNFQyxJQUFBQSxLQUFLLEVBQUUsSUFEVDtBQUVFQyxJQUFBQSxLQUFLLEVBQUUsZUFGVDtBQUdFQyxJQUFBQSxNQUFNLEVBQUU7QUFDTkMsTUFBQUEsS0FBSyxFQUFFLE9BREQ7QUFFTkMsTUFBQUEsR0FBRyxFQUFFLFNBRkM7QUFHTkMsTUFBQUEsSUFBSSxFQUFFLFNBSEE7QUFJTkMsTUFBQUEsSUFBSSxFQUFFLFNB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YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgU2VsZWN0IH0gZnJvbSAnc3JjL2NvbXBvbmVudHMvQ3VzdG9tSW5wdXRzL1NlbGVjdC9TZWxlY3QnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IFBhc3N3b3JkTW9kYWwgfSBmcm9tICcuL1Bhc3N3b3JkTW9kYWwvUGFzc3dvcmRNb2RhbCc7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBQZW5TdmcgfSBmcm9tICcuL3Blbi5zdmcnO1xuaW1wb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgQ2FuY2VsIH0gZnJvbSAnLi9jYW5jZWwuc3ZnJztcbmltcG9ydCBQaG9uZUlucHV0IGZyb20gJ3JlYWN0LXBob25lLWlucHV0LTInO1xuaW1wb3J0ICdyZWFjdC1waG9uZS1pbnB1dC0yL2xpYi9zdHlsZS5jc3MnO1xuaW1wb3J0IHsgVGVsZWdyYW1Nb2RhbCB9IGZyb20gJy4vVGVsZWdyYW1Nb2RhbC9UZWxlZ3JhbU1vZGFsJztcbmltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7XG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tICcuL0NvbnRhaW5lcic7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudC10aW1lem9uZSc7XG5pbXBvcnQgeyBhbmFseXRpY3NUcmFjayB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9BbmFseXRpY3MnO1xuaW1wb3J0IHsgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5cbmV4cG9ydCBjb25zdCBQcm9maWxlUGFnZSA9ICgpID0+IHtcbiAgY29uc3QgdGltZXpvbmVzQXJyYXkgPSBtb21lbnQudHoubmFtZXMoKTtcbiAgY29uc3QgZGF0ZVRpbWVGb3JtYXRPcHRpb25zID0gW1xuICAgIHtcbiAgICAgIHZhbHVlOiAndXMnLFxuICAgICAgbGFiZWw6ICdVbml0ZWQgU3RhdGVzJyxcbiAgICAgIGZvcm1hdDoge1xuICAgICAgICBtb250aDogJ3Nob3J0JyxcbiAgICAgICAgZGF5OiAnbnVtZXJpYycsXG4gICAgICAgIHllYXI6ICdudW1lcmljJyxcbiAgICAgICAgaG91cjogJ251bWVyaWMnLFxuICAgICAgICBtaW51dGU6ICdudW1lcmljJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YWx1ZTogJ2V1JyxcbiAgICAgIGxhYmVsOiAnRXVyb3BlJyxcbiAgICAgIGZvcm1hdDoge1xuICAgICAgICBkYXk6ICdudW1lcmljJyxcbiAgICAgICAgbW9udGg6ICdudW1lcmljJyxcbiAgICAgICAgeWVhcjogJ251bWVyaWMnLFxuICAgICAgICBob3VyOiAnbnVtZXJpYycsXG4gICAgICAgIG1pbnV0ZTogJ251bWVyaWMnLFxuICAgICAgICBob3VyMTI6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9LFxuICBdO1xuXG4gIGNvbnN0IHRpbWV6b25lcyA9IHRpbWV6b25lc0FycmF5Lm1hcCgodCkgPT4ge1xuICAgIHJldHVybiB7IHZhbHVlOiB0LCBsYWJlbDogdCB9O1xuICB9KTtcblxuICBjb25zdCBsb2NhbGVPcHRpb25zID0gW1xuICAgIHsgdmFsdWU6ICdlbicsIGxhYmVsOiAnRW5nbGlzaCcgfSxcbiAgICB7IHZhbHVlOiAnaGUnLCBsYWJlbDogJ9ei15HXqNeZ16onIH0sXG4gICAgeyB2YWx1ZTogJ2l0JywgbGFiZWw6ICdJdGFsaWFubycgfSxcbiAgICB7IHZhbHVlOiAnZnInLCBsYWJlbDogJ0ZyYW7Dp2FpcycgfSxcbiAgXTtcblxuICBjb25zdCBbbG9jYWxlLCBzZXRMb2NhbGVdID0gdXNlU3RhdGU8e1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgfT4obG9jYWxlT3B0aW9uc1swXSk7XG5cbiAgY29uc3QgW2RhdGVUaW1lRm9ybWF0LCBzZXREYXRlVGltZUZvcm1hdF0gPSB1c2VTdGF0ZTx7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIGZvcm1hdDogb2JqZWN0O1xuICB9PihkYXRlVGltZUZvcm1hdE9wdGlvbnNbMF0pO1xuXG4gIGNvbnN0IFt0aW1lem9uZSwgc2V0VGltZXpvbmVdID0gdXNlU3RhdGU8e1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgfT4odGltZXpvbmVzWzIwXSk7XG5cbiAgY29uc3QgaW5pdGlhbFBhcmFtc1N0YXRlID0ge1xuICAgIGZpcnN0X25hbWU6ICcnLFxuICAgIGxhc3RfbmFtZTogJycsXG4gICAgcGhvbmU6ICcnLFxuICAgIGVtYWlsOiAnJyxcbiAgICB0aW1lX3pvbmU6ICcnLFxuICAgIGRhdGVfdGltZV9mb3JtYXQ6ICcnLFxuICAgIGxvY2FsZTogJycsXG4gICAgdGVsZWdyYW1fbmFtZTogJycsXG4gIH07XG5cbiAgY29uc3QgW2lzVGVsZWdyYW1PcGVuLCBzZXRJc1RlbGVncmFtT3Blbl0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gIGNvbnN0IFtzaG93UGFzc3dvcmRNb2RhbCwgc2V0U2hvd1Bhc3N3b3JkTW9kYWxdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuICBjb25zdCBbc3VibWl0dGluZywgc2V0U3VibWl0dGluZ10gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gIGNvbnN0IFtzaG93U3VjY2Vzc01lc3NhZ2UsIHNldFNob3dTdWNjZXNzTWVzc2FnZV0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gIGNvbnN0IFtzaG93RXJyb3JNZXNzYWdlLCBzZXRTaG93RXJyb3JNZXNzYWdlXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgW3Nob3dUZWxlZ3JhbVJlc3BvbnNlTWVzc2FnZSwgc2V0U2hvd1RlbGVncmFtUmVzcG9uc2VNZXNzYWdlXSA9XG4gICAgdXNlU3RhdGU8e1xuICAgICAgc2hvdzogYm9vbGVhbjtcbiAgICAgIHN0YXR1czogc3RyaW5nO1xuICAgICAgbWVzc2FnZTogc3RyaW5nO1xuICAgIH0+KHtcbiAgICAgIHNob3c6IGZhbHNlLFxuICAgICAgc3RhdHVzOiAnJyxcbiAgICAgIG1lc3NhZ2U6ICcnLFxuICAgIH0pO1xuICBjb25zdCBbcGFyYW1zLCBzZXRQYXJhbXNdID0gdXNlU3RhdGU8e1xuICAgIGZpcnN0X25hbWU6IHN0cmluZztcbiAgICBsYXN0X25hbWU6IHN0cmluZztcbiAgICBwaG9uZTogc3RyaW5nO1xuICAgIGVtYWlsOiBzdHJpbmc7XG4gICAgdGltZV96b25lOiBzdHJpbmc7XG4gICAgZGF0ZV90aW1lX2Zvcm1hdDogc3RyaW5nO1xuICAgIGxvY2FsZTogc3RyaW5nO1xuICAgIHRlbGVncmFtX25hbWU6IHN0cmluZztcbiAgfT4oaW5pdGlhbFBhcmFtc1N0YXRlKTtcblxuICBjb25zdCBoYW5kbGVPbkNoYW5nZSA9IChlKSA9PiB7XG4gICAgaWYgKHR5cGVvZiBlID09PSAnc3RyaW5nJykge1xuICAgICAgaWYgKGUuc3RhcnRzV2l0aCgnOTcyMCcpKSB7XG4gICAgICAgIGUgPSBlLnJlcGxhY2UoLyg5NzIwKS9nLCAnOTcyJyk7XG4gICAgICB9XG4gICAgICBzZXRQYXJhbXMoKHByZXZTdGF0ZSkgPT4gKHtcbiAgICAgICAgLi4ucHJldlN0YXRlLFxuICAgICAgICBwaG9uZTogZSxcbiAgICAgIH0pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgeyB2YWx1ZSwgbmFtZSB9ID0gZS50YXJnZXQ7XG4gICAgICBzZXRQYXJhbXMoKHByZXZTdGF0ZSkgPT4gKHtcbiAgICAgICAgLi4ucHJldlN0YXRlLFxuICAgICAgICBbbmFtZV06IHZhbHVlLFxuICAgICAgfSkpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBnZXRQYXJhbXNXaXRoQWdncmVnYXRlZFZhbHVlcyA9ICgpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4ucGFyYW1zLFxuICAgICAgZGF0ZV90aW1lX2Zvcm1hdDogZGF0ZVRpbWVGb3JtYXQudmFsdWUsXG4gICAgICBsb2NhbGU6IGxvY2FsZS52YWx1ZSxcbiAgICAgIHRpbWVfem9uZTogdGltZXpvbmUudmFsdWUsXG4gICAgfTtcbiAgfTtcblxuICBjb25zdCB3YXRlckF1dGhvcml0eU5hbWUgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGUpID0+IHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5TmFtZSxcbiAgKTtcblxuICBjb25zdCBoYW5kbGVTdWJtaXQgPSAoZSkgPT4ge1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICBzZXRTdWJtaXR0aW5nKHRydWUpO1xuICAgIGF4aW9zXG4gICAgICAucHV0KCcvcHJvZmlsZXMnLCB7IHVzZXI6IGdldFBhcmFtc1dpdGhBZ2dyZWdhdGVkVmFsdWVzKCkgfSlcbiAgICAgIC50aGVuKChyZXNwKSA9PiB7XG4gICAgICAgIGlmIChyZXNwLmRhdGEuZXJyb3JzID09PSBudWxsKSB7XG4gICAgICAgICAgZG9jdW1lbnRcbiAgICAgICAgICAgIC5xdWVyeVNlbGVjdG9yQWxsKCcuZXJyb3ItbWVzc2FnZScpXG4gICAgICAgICAgICAuZm9yRWFjaCgocCkgPT4gKHAuaW5uZXJIVE1MID0gJycpKTtcblxuICAgICAgICAgIGRvY3VtZW50XG4gICAgICAgICAgICAucXVlcnlTZWxlY3RvckFsbCgnLmludmFsaWQtZmllbGQnKVxuICAgICAgICAgICAgLmZvckVhY2goKHApID0+IHAuY2xhc3NMaXN0LnJlbW92ZSgnaW52YWxpZC1maWVsZCcpKTtcbiAgICAgICAgICBsZXQgdXNlciA9IEpTT04ucGFyc2UocmVzcC5kYXRhLnVzZXIpO1xuICAgICAgICAgIGNvbnN0IGZpbmRMb2NhbGUgPSBsb2NhbGVPcHRpb25zLmZpbmQoKGUpID0+IGUudmFsdWUgPT09IHVzZXIubG9jYWxlKTtcbiAgICAgICAgICBjb25zdCBmaW5kRGF0ZVRpbWVGb3JtYXQgPSBkYXRlVGltZUZvcm1hdE9wdGlvbnMuZmluZChcbiAgICAgICAgICAgIChlKSA9PiBlLnZhbHVlID09PSB1c2VyLmRhdGVfdGltZV9mb3JtYXQsXG4gICAgICAgICAgKTtcbiAgICAgICAgICBjb25zdCBmaW5kVGltZXpvbmUgPSB0aW1lem9uZXMuZmluZChcbiAgICAgICAgICAgIChlKSA9PiBlLnZhbHVlID09PSB1c2VyLnRpbWVfem9uZSxcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgc2V0UGFyYW1zKHVzZXIpO1xuICAgICAgICAgIHNldExvY2FsZShmaW5kTG9jYWxlISk7XG4gICAgICAgICAgc2V0RGF0ZVRpbWVGb3JtYXQoZmluZERhdGVUaW1lRm9ybWF0ISk7XG4gICAgICAgICAgc2V0VGltZXpvbmUoZmluZFRpbWV6b25lISk7XG4gICAgICAgICAgc2V0U2hvd1N1Y2Nlc3NNZXNzYWdlKHRydWUpO1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgc2V0U2hvd1N1Y2Nlc3NNZXNzYWdlKGZhbHNlKTtcbiAgICAgICAgICB9LCA2MDAwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkb2N1bWVudFxuICAgICAgICAgICAgLnF1ZXJ5U2VsZWN0b3JBbGwoJy5lcnJvci1tZXNzYWdlJylcbiAgICAgICAgICAgIC5mb3JFYWNoKChwKSA9PiAocC5pbm5lckhUTUwgPSAnJykpO1xuICAgICAgICAgIGxldCBlcnJvcnMgPSByZXNwLmRhdGEuZXJyb3JzO1xuICAgICAgICAgIGZvciAoY29uc3QgZXJyb3IgaW4gZXJyb3JzKSB7XG4gICAgICAgICAgICBsZXQgZmluZEVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBpbnB1dFtuYW1lPScke2Vycm9yfSddYCk7XG4gICAgICAgICAgICBsZXQgcGFyZW50ID0gZmluZEVsZW1lbnQhLmNsb3Nlc3QoJy5maWVsZCcpO1xuICAgICAgICAgICAgbGV0IGZpbmRJbnB1dCA9IHBhcmVudCEucXVlcnlTZWxlY3RvcignaW5wdXQnKTtcbiAgICAgICAgICAgIGZpbmRJbnB1dCEuY2xhc3NMaXN0LmFkZCgnaW52YWxpZC1maWVsZCcpO1xuICAgICAgICAgICAgcGFyZW50IS5xdWVyeVNlbGVjdG9yKCcuZXJyb3ItbWVzc2FnZScpIS5pbm5lckhUTUwgPSBpMThuLnQoXG4gICAgICAgICAgICAgIGBkYXNoYm9hcmRfdjIucHJvZmlsZS5lcnJvcnMuJHtlcnJvcn1gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgc2V0U2hvd1N1Y2Nlc3NNZXNzYWdlKGZhbHNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNldFN1Ym1pdHRpbmcoZmFsc2UpO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgc2V0U2hvd0Vycm9yTWVzc2FnZSh0cnVlKTtcbiAgICAgICAgc2V0U2hvd1N1Y2Nlc3NNZXNzYWdlKGZhbHNlKTtcbiAgICAgICAgc2V0U3VibWl0dGluZyhmYWxzZSk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHNldFNob3dFcnJvck1lc3NhZ2UoZmFsc2UpO1xuICAgICAgICB9LCA2MDAwKTtcbiAgICAgIH0pO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgYW5hbHl0aWNzVHJhY2soJ1ZpZXdlZCBQcm9maWxlIFBhZ2UnLCB7XG4gICAgICB1dGlsaXR5X25hbWU6IHdhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICB9KTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgY29uc3QgdG9rZW4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdbbmFtZT1jc3JmLXRva2VuXScpIS5jb250ZW50O1xuICAgIGF4aW9zLmRlZmF1bHRzLmhlYWRlcnMuY29tbW9uWydYLUNTUkYtVE9LRU4nXSA9IHRva2VuO1xuICAgIGF4aW9zLmRlZmF1bHRzLmhlYWRlcnMuY29tbW9uWydDb250ZW50LVR5cGUnXSA9ICdhcHBsaWNhdGlvbi9qcyc7XG4gICAgYXhpb3NcbiAgICAgIC5nZXQoJy9wcm9maWxlcy9yZXNvdXJjZScpXG4gICAgICAudGhlbigocmVzcCkgPT4ge1xuICAgICAgICBzZXRQYXJhbXMocmVzcC5kYXRhKTtcbiAgICAgICAgY29uc3QgZmluZExvY2FsZSA9IGxvY2FsZU9wdGlvbnMuZmluZChcbiAgICAgICAgICAoZSkgPT4gZS52YWx1ZSA9PT0gcmVzcC5kYXRhLmxvY2FsZSxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgZmluZERhdGVUaW1lRm9ybWF0ID0gZGF0ZVRpbWVGb3JtYXRPcHRpb25zLmZpbmQoXG4gICAgICAgICAgKGUpID0+IGUudmFsdWUgPT09IHJlc3AuZGF0YS5kYXRlX3RpbWVfZm9ybWF0LFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBmaW5kVGltZXpvbmUgPSB0aW1lem9uZXMuZmluZChcbiAgICAgICAgICAoZSkgPT4gZS52YWx1ZSA9PT0gcmVzcC5kYXRhLnRpbWVfem9uZSxcbiAgICAgICAgKTtcbiAgICAgICAgc2V0TG9jYWxlKGZpbmRMb2NhbGUhKTtcbiAgICAgICAgc2V0RGF0ZVRpbWVGb3JtYXQoZmluZERhdGVUaW1lRm9ybWF0ISk7XG4gICAgICAgIHNldFRpbWV6b25lKGZpbmRUaW1lem9uZSEpO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoZXJyb3IpID0+IGFsZXJ0KGVycm9yKSk7XG4gIH0sIFtdKTtcblxuICByZXR1cm4gKFxuICAgIDxDb250YWluZXI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImhlYWRlci10aXRsZVwiPntpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLnRpdGxlJyl9PC9kaXY+XG4gICAgICA8Zm9ybSBhY3Rpb249XCJcIiBvblN1Ym1pdD17KGUpID0+IGhhbmRsZVN1Ym1pdChlKX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGVudFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGl0bGVcIj5cbiAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLnBlcnNvbmFsLWRldGFpbHMnKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJwZXJzb25hbFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuZmlyc3RfbmFtZScpfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm15LWlucHV0XCJcbiAgICAgICAgICAgICAgICBuYW1lPXsnZmlyc3RfbmFtZSd9XG4gICAgICAgICAgICAgICAgdmFsdWU9e3BhcmFtcy5maXJzdF9uYW1lfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gaGFuZGxlT25DaGFuZ2UoZSl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT17J2Vycm9yLW1lc3NhZ2UnfT48L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmxhc3RfbmFtZScpfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm15LWlucHV0XCJcbiAgICAgICAgICAgICAgICBuYW1lPXsnbGFzdF9uYW1lJ31cbiAgICAgICAgICAgICAgICB2YWx1ZT17cGFyYW1zLmxhc3RfbmFtZX1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IGhhbmRsZU9uQ2hhbmdlKGUpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9eydlcnJvci1tZXNzYWdlJ30+PC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkIGZpZWxkLS1yZWFkb25seVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuZW1haWwnKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIHJlYWRPbmx5PXt0cnVlfVxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJteS1pbnB1dFwiXG4gICAgICAgICAgICAgICAgbmFtZT17J2VtYWlsJ31cbiAgICAgICAgICAgICAgICB2YWx1ZT17cGFyYW1zLmVtYWlsfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9eydlcnJvci1tZXNzYWdlJ30+PC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5waG9uZScpfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPFBob25lSW5wdXRcbiAgICAgICAgICAgICAgICBjb3VudHJ5PXsnaWwnfVxuICAgICAgICAgICAgICAgIGxvY2FsaXphdGlvbj17aTE4bi50KCdjb3VudHJpZXMnKX1cbiAgICAgICAgICAgICAgICBpbnB1dENsYXNzPVwicGhvbmUtaW5wdXRcIlxuICAgICAgICAgICAgICAgIGNvbnRhaW5lckNsYXNzPVwibXktcGhvbmVcIlxuICAgICAgICAgICAgICAgIGJ1dHRvbkNsYXNzPVwiZHJvcGRvd25cIlxuICAgICAgICAgICAgICAgIGRyb3Bkb3duQ2xhc3M9XCJwaG9uZS1kcm9wZG93blwiXG4gICAgICAgICAgICAgICAgdmFsdWU9e3BhcmFtcy5waG9uZX1cbiAgICAgICAgICAgICAgICBlbmFibGVTZWFyY2hcbiAgICAgICAgICAgICAgICBzZWFyY2hQbGFjZWhvbGRlcj17aTE4bi50KCdzZWFyY2gnKX1cbiAgICAgICAgICAgICAgICBjb3VudHJ5Q29kZUVkaXRhYmxlPXtmYWxzZX1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgICBoYW5kbGVPbkNoYW5nZSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICBpbnB1dFByb3BzPXt7IG5hbWU6ICdwaG9uZScgfX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPXsnZXJyb3ItbWVzc2FnZSd9PjwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiY2hhbmdlLXBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRTaG93UGFzc3dvcmRNb2RhbCh0cnVlKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxQZW5Tdmcgd2lkdGg9XCIxMnB4XCIgaGVpZ2h0PVwiMTJweFwiIGZpbGw9XCIjZjAxMzRjXCIgLz5cbiAgICAgICAgICAgICAgICB7JyAgJ31cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5jaGFuZ2UtcGFzc3dvcmQnKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0aXRsZVwiPntpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLnNldHRpbmdzJyl9PC9kaXY+XG4gICAgICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPVwic2V0dGluZ3NcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLnRpbWUtem9uZScpfSpcbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXktaW5wdXRcIj5cbiAgICAgICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgICBzZXRWYWx1ZT17c2V0VGltZXpvbmV9XG4gICAgICAgICAgICAgICAgICB2YWx1ZT17dGltZXpvbmV9XG4gICAgICAgICAgICAgICAgICBvcHRpb25zPXt0aW1lem9uZXN9XG4gICAgICAgICAgICAgICAgICBjYW5jZWxUZXh0V2lkdGhcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuZGF0ZS10aW1lLWZvcm1hdCcpfSpcbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXktaW5wdXRcIj5cbiAgICAgICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgICBvcHRpb25zPXtkYXRlVGltZUZvcm1hdE9wdGlvbnN9XG4gICAgICAgICAgICAgICAgICB2YWx1ZT17ZGF0ZVRpbWVGb3JtYXR9XG4gICAgICAgICAgICAgICAgICBzZXRWYWx1ZT17c2V0RGF0ZVRpbWVGb3JtYXR9XG4gICAgICAgICAgICAgICAgICBjYW5jZWxUZXh0V2lkdGhcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydkYXRlLXRpbWUtZm9ybWF0J30+XG4gICAgICAgICAgICAgICAge2RhdGVUaW1lRm9ybWF0ICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgICAgICAgIG5ldyBEYXRlKCkudG9Mb2NhbGVEYXRlU3RyaW5nKCdlbi1VUycsIGRhdGVUaW1lRm9ybWF0LmZvcm1hdCl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5sYW5ndWFnZScpfSpcbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnbXktaW5wdXQnfT5cbiAgICAgICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgICBvcHRpb25zPXtsb2NhbGVPcHRpb25zfVxuICAgICAgICAgICAgICAgICAgdmFsdWU9e2xvY2FsZX1cbiAgICAgICAgICAgICAgICAgIHNldFZhbHVlPXtzZXRMb2NhbGV9XG4gICAgICAgICAgICAgICAgICBjYW5jZWxUZXh0V2lkdGhcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZCBmaWVsZC0tYnV0dG9uc1wiPlxuICAgICAgICAgICAgICB7cGFyYW1zLnRlbGVncmFtX25hbWUgPT09ICcnICYmIChcbiAgICAgICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJ0ZWxlZ3JhbVwiIG9uQ2xpY2s9eygpID0+IHNldElzVGVsZWdyYW1PcGVuKHRydWUpfT5cbiAgICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmNvbm5lY3QtdG8tdGVsZWdyYW0nKX1cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIHtwYXJhbXMudGVsZWdyYW1fbmFtZSAhPT0gJycgJiYgKFxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS50ZWxlZ3JhbV9uYW1lJyl9XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwicmlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0SXNUZWxlZ3JhbU9wZW4odHJ1ZSl9XG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPFBlblN2ZyB3aWR0aD1cIjEycHhcIiBoZWlnaHQ9XCIxMnB4XCIgZmlsbD1cIiNmMDEzNGNcIiAvPnsnICd9XG4gICAgICAgICAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5jaGFuZ2UtbmFtZScpfVxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eyd0ZWxlZ3JhbS1leGlzdGluZy1pbnB1dCd9PlxuICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVhZE9ubHk9e3RydWV9XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJteS1pbnB1dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lPXsndGVsZWdyYW1fbmFtZSd9XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17cGFyYW1zLnRlbGVncmFtX25hbWV9XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9eyd0ZWxlZ3JhbS1leGlzdGluZy1pbnB1dF9fY2FuY2VsLWJ1dHRvbid9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRQYXJhbXMoKHByZXZTdGF0ZSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5wcmV2U3RhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVsZWdyYW1fbmFtZTogJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPENhbmNlbCAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPXsnZXJyb3ItbWVzc2FnZSd9PjwvcD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9eyd0ZWxlZ3JhbSBvcGVuJ31cbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBheGlvc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2V0KGAvdGVsZWdyYW0vc2VuZF90ZXN0X21lc3NhZ2UuanNvbmApXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC50aGVuKChyZXNwKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0U2hvd1RlbGVncmFtUmVzcG9uc2VNZXNzYWdlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1czpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcC5kYXRhLnN0YXR1c1swXS50b1VwcGVyQ2FzZSgpICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcC5kYXRhLnN0YXR1cy5zdWJzdHJpbmcoMSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiByZXNwLmRhdGEubWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3c6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRTaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2Uoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM6ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvdzogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCA2MDAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4gYWxlcnQoZXJyb3IpKTtcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgeyFzaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2Uuc2hvdyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgaTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5zZW5kX3RlbGVncmFtX21lc3NhZ2UnKX1cbiAgICAgICAgICAgICAgICAgICAgICB7c2hvd1RlbGVncmFtUmVzcG9uc2VNZXNzYWdlLnNob3cgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIHNob3dUZWxlZ3JhbVJlc3BvbnNlTWVzc2FnZS5zdGF0dXN9XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgIDxidXR0b24gdHlwZT17J3N1Ym1pdCd9IGNsYXNzTmFtZT17J3NhdmUnfSBkaXNhYmxlZD17c3VibWl0dGluZ30+XG4gICAgICAgICAgICB7IXN1Ym1pdHRpbmcgJiZcbiAgICAgICAgICAgICAgIXNob3dTdWNjZXNzTWVzc2FnZSAmJlxuICAgICAgICAgICAgICAhc2hvd0Vycm9yTWVzc2FnZSAmJlxuICAgICAgICAgICAgICBpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLnN1Ym1pdCcpfVxuICAgICAgICAgICAge3N1Ym1pdHRpbmcgJiZcbiAgICAgICAgICAgICAgIXNob3dTdWNjZXNzTWVzc2FnZSAmJlxuICAgICAgICAgICAgICAhc2hvd0Vycm9yTWVzc2FnZSAmJlxuICAgICAgICAgICAgICBpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLnN1Ym1pdHRpbmcnKX1cbiAgICAgICAgICAgIHtzaG93U3VjY2Vzc01lc3NhZ2UgJiYgaTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5zdWNjZXNzJyl9XG4gICAgICAgICAgICB7c2hvd0Vycm9yTWVzc2FnZSAmJiBpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmVycm9yJyl9XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9mb3JtPlxuXG4gICAgICB7c2hvd1Bhc3N3b3JkTW9kYWwgJiYgKFxuICAgICAgICA8UGFzc3dvcmRNb2RhbFxuICAgICAgICAgIGNsb3NlPXsoKSA9PiBzZXRTaG93UGFzc3dvcmRNb2RhbChmYWxzZSl9XG4gICAgICAgICAgc2F2ZT17KCkgPT4ge319XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgICAge2lzVGVsZWdyYW1PcGVuICYmIChcbiAgICAgICAgPFRlbGVncmFtTW9kYWxcbiAgICAgICAgICBjbG9zZT17KCkgPT4gc2V0SXNUZWxlZ3JhbU9wZW4oZmFsc2UpfVxuICAgICAgICAgIGhhbmRsZU9uQ2hhbmdlPXtoYW5kbGVPbkNoYW5nZX1cbiAgICAgICAgICBoYW5kbGVTdWJtaXQ9e2hhbmRsZVN1Ym1pdH1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgPC9Db250YWluZXI+XG4gICk7XG59O1xuIl19
|
|
@@ -15,10 +15,12 @@ var ParameterButton = function ParameterButton(_ref) {
|
|
|
15
15
|
var number = _ref.number,
|
|
16
16
|
title = _ref.title,
|
|
17
17
|
onClick = _ref.onClick,
|
|
18
|
-
active = _ref.active
|
|
18
|
+
active = _ref.active,
|
|
19
|
+
_ref$isValid = _ref.isValid,
|
|
20
|
+
isValid = _ref$isValid === void 0 ? true : _ref$isValid;
|
|
19
21
|
return /*#__PURE__*/_react.default.createElement(_styles.Button, {
|
|
20
22
|
onClick: onClick,
|
|
21
|
-
className: active ? 'active' : ''
|
|
23
|
+
className: [active ? 'active' : '', isValid ? '' : 'invalid'].join(' ')
|
|
22
24
|
}, /*#__PURE__*/_react.default.createElement(_styles.Text, {
|
|
23
25
|
fontWeight: "600"
|
|
24
26
|
}, number, " "), /*#__PURE__*/_react.default.createElement(_styles.Text, {
|
|
@@ -27,4 +29,4 @@ var ParameterButton = function ParameterButton(_ref) {
|
|
|
27
29
|
};
|
|
28
30
|
|
|
29
31
|
exports.ParameterButton = ParameterButton;
|
|
30
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9TaXRlUGFnZS9TYW1wbGluZ1BhcmFtZXRlcnMvUGFyYW1ldGVyc0NvbnRhaW5lci9QYXJhbWV0ZXJzQnV0dG9ucy9QYXJhbWV0ZXJCdXR0b24vUGFyYW1ldGVyQnV0dG9uLnRzeCJdLCJuYW1lcyI6WyJQYXJhbWV0ZXJCdXR0b24iLCJudW1iZXIiLCJ0aXRsZSIsIm9uQ2xpY2siLCJhY3RpdmUiLCJpc1ZhbGlkIiwiam9pbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBU08sSUFBTUEsZUFBZSxHQUFHLFNBQWxCQSxlQUFrQixPQU1IO0FBQUEsTUFMMUJDLE1BSzBCLFFBTDFCQSxNQUswQjtBQUFBLE1BSjFCQyxLQUkwQixRQUoxQkEsS0FJMEI7QUFBQSxNQUgxQkMsT0FHMEIsUUFIMUJBLE9BRzBCO0FBQUEsTUFGMUJDLE1BRTBCLFFBRjFCQSxNQUUwQjtBQUFBLDBCQUQxQkMsT0FDMEI7QUFBQSxNQUQxQkEsT0FDMEIsNkJBRGhCLElBQ2dCO0FBQzFCLHNCQUNFLDZCQUFDLGNBQUQ7QUFDRSxJQUFBLE9BQU8sRUFBRUYsT0FEWDtBQUVFLElBQUEsU0FBUyxFQUFFLENBQUNDLE1BQU0sR0FBRyxRQUFILEdBQWMsRUFBckIsRUFBeUJDLE9BQU8sR0FBRyxFQUFILEdBQVEsU0FBeEMsRUFBbURDLElBQW5ELENBQXdELEdBQXhEO0FBRmIsa0JBSUUsNkJBQUMsWUFBRDtBQUFNLElBQUEsVUFBVSxFQUFDO0FBQWpCLEtBQXdCTCxNQUF4QixNQUpGLGVBS0UsNkJBQUMsWUFBRDtBQUFNLElBQUEsVUFBVSxFQUFDO0FBQWpCLEtBQXdCQyxLQUF4QixDQUxGLENBREY7QUFTRCxDQWhCTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBCdXR0b24sIFRleHQgfSBmcm9tICcuLi9zdHlsZXMnO1xuXG5pbnRlcmZhY2UgUGFyYW1ldGVyQnV0dG9uUHJvcHMge1xuICBudW1iZXI/OiBudW1iZXI7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIG9uQ2xpY2s6ICgpID0+IHZvaWQ7XG4gIGFjdGl2ZTogYm9vbGVhbjtcbiAgaXNWYWxpZDogYm9vbGVhbjtcbn1cbmV4cG9ydCBjb25zdCBQYXJhbWV0ZXJCdXR0b24gPSAoe1xuICBudW1iZXIsXG4gIHRpdGxlLFxuICBvbkNsaWNrLFxuICBhY3RpdmUsXG4gIGlzVmFsaWQgPSB0cnVlLFxufTogUGFyYW1ldGVyQnV0dG9uUHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8QnV0dG9uXG4gICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgY2xhc3NOYW1lPXtbYWN0aXZlID8gJ2FjdGl2ZScgOiAnJywgaXNWYWxpZCA/ICcnIDogJ2ludmFsaWQnXS5qb2luKCcgJyl9XG4gICAgPlxuICAgICAgPFRleHQgZm9udFdlaWdodD1cIjYwMFwiPntudW1iZXJ9IDwvVGV4dD5cbiAgICAgIDxUZXh0IGZvbnRXZWlnaHQ9XCI2MDBcIj57dGl0bGV9PC9UZXh0PlxuICAgIDwvQnV0dG9uPlxuICApO1xufTtcbiJdfQ==
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _ParameterButton = require("./ParameterButton");
|
|
6
|
+
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
|
|
9
|
+
require("@testing-library/jest-dom/extend-expect");
|
|
10
|
+
|
|
11
|
+
var _StylesLayout = _interopRequireDefault(require("styles/StylesLayout"));
|
|
12
|
+
|
|
13
|
+
var _require = require('@testing-library/react'),
|
|
14
|
+
screen = _require.screen,
|
|
15
|
+
render = _require.render;
|
|
16
|
+
|
|
17
|
+
describe('parameter button unit tests', function () {
|
|
18
|
+
test('test exceeded', function () {
|
|
19
|
+
var _render = render( /*#__PURE__*/_react.default.createElement(_StylesLayout.default, null, /*#__PURE__*/_react.default.createElement(_ParameterButton.ParameterButton, {
|
|
20
|
+
isValid: false,
|
|
21
|
+
title: 'title',
|
|
22
|
+
onClick: function onClick() {},
|
|
23
|
+
active: false
|
|
24
|
+
}))),
|
|
25
|
+
container = _render.container;
|
|
26
|
+
|
|
27
|
+
screen.getByText('title');
|
|
28
|
+
var parameterButton = container.querySelector('.invalid');
|
|
29
|
+
expect(parameterButton).toBeInTheDocument();
|
|
30
|
+
});
|
|
31
|
+
test('test not exceeded', function () {
|
|
32
|
+
var _render2 = render( /*#__PURE__*/_react.default.createElement(_StylesLayout.default, null, /*#__PURE__*/_react.default.createElement(_ParameterButton.ParameterButton, {
|
|
33
|
+
isValid: true,
|
|
34
|
+
title: 'title',
|
|
35
|
+
onClick: function onClick() {},
|
|
36
|
+
active: false
|
|
37
|
+
}))),
|
|
38
|
+
container = _render2.container;
|
|
39
|
+
|
|
40
|
+
screen.getByText('title');
|
|
41
|
+
var parameterButton = container.querySelector('.invalid');
|
|
42
|
+
expect(parameterButton).not.toBeInTheDocument();
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9TaXRlUGFnZS9TYW1wbGluZ1BhcmFtZXRlcnMvUGFyYW1ldGVyc0NvbnRhaW5lci9QYXJhbWV0ZXJzQnV0dG9ucy9QYXJhbWV0ZXJCdXR0b24vUGFyYW1ldGVyQnV0dG9uLnRlc3QudHN4Il0sIm5hbWVzIjpbInJlcXVpcmUiLCJzY3JlZW4iLCJyZW5kZXIiLCJkZXNjcmliZSIsInRlc3QiLCJjb250YWluZXIiLCJnZXRCeVRleHQiLCJwYXJhbWV0ZXJCdXR0b24iLCJxdWVyeVNlbGVjdG9yIiwiZXhwZWN0IiwidG9CZUluVGhlRG9jdW1lbnQiLCJub3QiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQSxlQUEyQkEsT0FBTyxDQUFDLHdCQUFELENBQWxDO0FBQUEsSUFBUUMsTUFBUixZQUFRQSxNQUFSO0FBQUEsSUFBZ0JDLE1BQWhCLFlBQWdCQSxNQUFoQjs7QUFFQUMsUUFBUSxDQUFDLDZCQUFELEVBQWdDLFlBQU07QUFDNUNDLEVBQUFBLElBQUksQ0FBQyxlQUFELEVBQWtCLFlBQU07QUFDMUIsa0JBQXNCRixNQUFNLGVBQzFCLDZCQUFDLHFCQUFELHFCQUNFLDZCQUFDLGdDQUFEO0FBQ0UsTUFBQSxPQUFPLEVBQUUsS0FEWDtBQUVFLE1BQUEsS0FBSyxFQUFFLE9BRlQ7QUFHRSxNQUFBLE9BQU8sRUFBRSxtQkFBTSxDQUFFLENBSG5CO0FBSUUsTUFBQSxNQUFNLEVBQUU7QUFKVixNQURGLENBRDBCLENBQTVCO0FBQUEsUUFBUUcsU0FBUixXQUFRQSxTQUFSOztBQVVBSixJQUFBQSxNQUFNLENBQUNLLFNBQVAsQ0FBaUIsT0FBakI7QUFDQSxRQUFNQyxlQUFlLEdBQUdGLFNBQVMsQ0FBQ0csYUFBVixDQUF3QixVQUF4QixDQUF4QjtBQUNBQyxJQUFBQSxNQUFNLENBQUNGLGVBQUQsQ0FBTixDQUF3QkcsaUJBQXhCO0FBQ0QsR0FkRyxDQUFKO0FBZ0JBTixFQUFBQSxJQUFJLENBQUMsbUJBQUQsRUFBc0IsWUFBTTtBQUM5QixtQkFBc0JGLE1BQU0sZUFDMUIsNkJBQUMscUJBQUQscUJBQ0UsNkJBQUMsZ0NBQUQ7QUFDRSxNQUFBLE9BQU8sRUFBRSxJQURYO0FBRUUsTUFBQSxLQUFLLEVBQUUsT0FGVDtBQUdFLE1BQUEsT0FBTyxFQUFFLG1CQUFNLENBQUUsQ0FIbkI7QUFJRSxNQUFBLE1BQU0sRUFBRTtBQUpWLE1BREYsQ0FEMEIsQ0FBNUI7QUFBQSxRQUFRRyxTQUFSLFlBQVFBLFNBQVI7O0FBVUFKLElBQUFBLE1BQU0sQ0FBQ0ssU0FBUCxDQUFpQixPQUFqQjtBQUNBLFFBQU1DLGVBQWUsR0FBR0YsU0FBUyxDQUFDRyxhQUFWLENBQXdCLFVBQXhCLENBQXhCO0FBQ0FDLElBQUFBLE1BQU0sQ0FBQ0YsZUFBRCxDQUFOLENBQXdCSSxHQUF4QixDQUE0QkQsaUJBQTVCO0FBQ0QsR0FkRyxDQUFKO0FBZUQsQ0FoQ08sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhcmFtZXRlckJ1dHRvbiB9IGZyb20gJy4vUGFyYW1ldGVyQnV0dG9uJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgJ0B0ZXN0aW5nLWxpYnJhcnkvamVzdC1kb20vZXh0ZW5kLWV4cGVjdCc7XG5pbXBvcnQgU3R5bGVzTGF5b3V0IGZyb20gJ3NyYy9zdHlsZXMvU3R5bGVzTGF5b3V0JztcblxuY29uc3QgeyBzY3JlZW4sIHJlbmRlciB9ID0gcmVxdWlyZSgnQHRlc3RpbmctbGlicmFyeS9yZWFjdCcpO1xuXG5kZXNjcmliZSgncGFyYW1ldGVyIGJ1dHRvbiB1bml0IHRlc3RzJywgKCkgPT4ge1xuICB0ZXN0KCd0ZXN0IGV4Y2VlZGVkJywgKCkgPT4ge1xuICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoXG4gICAgICA8U3R5bGVzTGF5b3V0PlxuICAgICAgICA8UGFyYW1ldGVyQnV0dG9uXG4gICAgICAgICAgaXNWYWxpZD17ZmFsc2V9XG4gICAgICAgICAgdGl0bGU9eyd0aXRsZSd9XG4gICAgICAgICAgb25DbGljaz17KCkgPT4ge319XG4gICAgICAgICAgYWN0aXZlPXtmYWxzZX1cbiAgICAgICAgLz5cbiAgICAgIDwvU3R5bGVzTGF5b3V0PixcbiAgICApO1xuICAgIHNjcmVlbi5nZXRCeVRleHQoJ3RpdGxlJyk7XG4gICAgY29uc3QgcGFyYW1ldGVyQnV0dG9uID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJy5pbnZhbGlkJyk7XG4gICAgZXhwZWN0KHBhcmFtZXRlckJ1dHRvbikudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgfSk7XG5cbiAgdGVzdCgndGVzdCBub3QgZXhjZWVkZWQnLCAoKSA9PiB7XG4gICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcihcbiAgICAgIDxTdHlsZXNMYXlvdXQ+XG4gICAgICAgIDxQYXJhbWV0ZXJCdXR0b25cbiAgICAgICAgICBpc1ZhbGlkPXt0cnVlfVxuICAgICAgICAgIHRpdGxlPXsndGl0bGUnfVxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHt9fVxuICAgICAgICAgIGFjdGl2ZT17ZmFsc2V9XG4gICAgICAgIC8+XG4gICAgICA8L1N0eWxlc0xheW91dD4sXG4gICAgKTtcbiAgICBzY3JlZW4uZ2V0QnlUZXh0KCd0aXRsZScpO1xuICAgIGNvbnN0IHBhcmFtZXRlckJ1dHRvbiA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCcuaW52YWxpZCcpO1xuICAgIGV4cGVjdChwYXJhbWV0ZXJCdXR0b24pLm5vdC50b0JlSW5UaGVEb2N1bWVudCgpO1xuICB9KTtcbn0pO1xuIl19
|
|
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.ParametersButtons = void 0;
|
|
9
9
|
|
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
11
|
+
|
|
10
12
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
11
13
|
|
|
12
14
|
var _react = _interopRequireDefault(require("react"));
|
|
@@ -16,19 +18,24 @@ var _styles = require("./styles");
|
|
|
16
18
|
var _ParameterButton = require("./ParameterButton/ParameterButton");
|
|
17
19
|
|
|
18
20
|
var ParametersButtons = function ParametersButtons(_ref) {
|
|
19
|
-
var
|
|
21
|
+
var parametersData = _ref.parametersData,
|
|
20
22
|
_onClick = _ref.onClick,
|
|
21
23
|
selectedTitle = _ref.selectedTitle,
|
|
22
24
|
_ref$style = _ref.style,
|
|
23
25
|
style = _ref$style === void 0 ? {} : _ref$style;
|
|
24
26
|
return /*#__PURE__*/_react.default.createElement(_styles.ButtonsContainer, {
|
|
25
27
|
style: (0, _objectSpread2.default)({}, style),
|
|
26
|
-
amount:
|
|
27
|
-
},
|
|
28
|
+
amount: parametersData.length
|
|
29
|
+
}, parametersData.map(function (_ref2) {
|
|
30
|
+
var _ref3 = (0, _slicedToArray2.default)(_ref2, 2),
|
|
31
|
+
title = _ref3[0],
|
|
32
|
+
isValid = _ref3[1];
|
|
33
|
+
|
|
28
34
|
return /*#__PURE__*/_react.default.createElement(_styles.ButtonHolder, {
|
|
29
35
|
key: title
|
|
30
36
|
}, /*#__PURE__*/_react.default.createElement(_ParameterButton.ParameterButton, {
|
|
31
37
|
title: title,
|
|
38
|
+
isValid: isValid,
|
|
32
39
|
active: selectedTitle === title,
|
|
33
40
|
onClick: function onClick() {
|
|
34
41
|
return _onClick(title);
|
|
@@ -38,4 +45,4 @@ var ParametersButtons = function ParametersButtons(_ref) {
|
|
|
38
45
|
};
|
|
39
46
|
|
|
40
47
|
exports.ParametersButtons = ParametersButtons;
|
|
41
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9TaXRlUGFnZS9TYW1wbGluZ1BhcmFtZXRlcnMvUGFyYW1ldGVyc0NvbnRhaW5lci9QYXJhbWV0ZXJzQnV0dG9ucy9QYXJhbWV0ZXJzQnV0dG9ucy50c3giXSwibmFtZXMiOlsiUGFyYW1ldGVyc0J1dHRvbnMiLCJwYXJhbWV0ZXJzRGF0YSIsIm9uQ2xpY2siLCJzZWxlY3RlZFRpdGxlIiwic3R5bGUiLCJsZW5ndGgiLCJtYXAiLCJ0aXRsZSIsImlzVmFsaWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFPTyxJQUFNQSxpQkFBbUQsR0FBRyxTQUF0REEsaUJBQXNELE9BSzdEO0FBQUEsTUFKSkMsY0FJSSxRQUpKQSxjQUlJO0FBQUEsTUFISkMsUUFHSSxRQUhKQSxPQUdJO0FBQUEsTUFGSkMsYUFFSSxRQUZKQSxhQUVJO0FBQUEsd0JBREpDLEtBQ0k7QUFBQSxNQURKQSxLQUNJLDJCQURJLEVBQ0o7QUFDSixzQkFDRSw2QkFBQyx3QkFBRDtBQUFrQixJQUFBLEtBQUssa0NBQU9BLEtBQVAsQ0FBdkI7QUFBdUMsSUFBQSxNQUFNLEVBQUVILGNBQWMsQ0FBQ0k7QUFBOUQsS0FDR0osY0FBYyxDQUFDSyxHQUFmLENBQW1CO0FBQUE7QUFBQSxRQUFFQyxLQUFGO0FBQUEsUUFBU0MsT0FBVDs7QUFBQSx3QkFDbEIsNkJBQUMsb0JBQUQ7QUFBYyxNQUFBLEdBQUcsRUFBRUQ7QUFBbkIsb0JBQ0UsNkJBQUMsZ0NBQUQ7QUFDRSxNQUFBLEtBQUssRUFBRUEsS0FEVDtBQUVFLE1BQUEsT0FBTyxFQUFFQyxPQUZYO0FBR0UsTUFBQSxNQUFNLEVBQUVMLGFBQWEsS0FBS0ksS0FINUI7QUFJRSxNQUFBLE9BQU8sRUFBRTtBQUFBLGVBQU1MLFFBQU8sQ0FBQ0ssS0FBRCxDQUFiO0FBQUE7QUFKWCxNQURGLENBRGtCO0FBQUEsR0FBbkIsQ0FESCxDQURGO0FBY0QsQ0FwQk0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQnV0dG9uSG9sZGVyLCBCdXR0b25zQ29udGFpbmVyIH0gZnJvbSAnLi9zdHlsZXMnO1xuaW1wb3J0IHsgUGFyYW1ldGVyQnV0dG9uIH0gZnJvbSAnLi9QYXJhbWV0ZXJCdXR0b24vUGFyYW1ldGVyQnV0dG9uJztcbmludGVyZmFjZSBQYXJhbWV0ZXJzQnV0dG9uc1Byb3BzIHtcbiAgcGFyYW1ldGVyc0RhdGE6IFtzdHJpbmcsIGJvb2xlYW5dW107XG4gIHN0eWxlPzogUmVhY3QuQ1NTUHJvcGVydGllcztcbiAgb25DbGljazogKHRpdGxlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIHNlbGVjdGVkVGl0bGU6IHN0cmluZztcbn1cbmV4cG9ydCBjb25zdCBQYXJhbWV0ZXJzQnV0dG9uczogUmVhY3QuRkM8UGFyYW1ldGVyc0J1dHRvbnNQcm9wcz4gPSAoe1xuICBwYXJhbWV0ZXJzRGF0YSxcbiAgb25DbGljayxcbiAgc2VsZWN0ZWRUaXRsZSxcbiAgc3R5bGUgPSB7fSxcbn0pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8QnV0dG9uc0NvbnRhaW5lciBzdHlsZT17eyAuLi5zdHlsZSB9fSBhbW91bnQ9e3BhcmFtZXRlcnNEYXRhLmxlbmd0aH0+XG4gICAgICB7cGFyYW1ldGVyc0RhdGEubWFwKChbdGl0bGUsIGlzVmFsaWRdKSA9PiAoXG4gICAgICAgIDxCdXR0b25Ib2xkZXIga2V5PXt0aXRsZX0+XG4gICAgICAgICAgPFBhcmFtZXRlckJ1dHRvblxuICAgICAgICAgICAgdGl0bGU9e3RpdGxlfVxuICAgICAgICAgICAgaXNWYWxpZD17aXNWYWxpZH1cbiAgICAgICAgICAgIGFjdGl2ZT17c2VsZWN0ZWRUaXRsZSA9PT0gdGl0bGV9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNsaWNrKHRpdGxlKX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L0J1dHRvbkhvbGRlcj5cbiAgICAgICkpfVxuICAgIDwvQnV0dG9uc0NvbnRhaW5lcj5cbiAgKTtcbn07XG4iXX0=
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _ParametersButtons = require("./ParametersButtons");
|
|
6
|
+
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
|
|
9
|
+
require("@testing-library/jest-dom/extend-expect");
|
|
10
|
+
|
|
11
|
+
var _StylesLayout = _interopRequireDefault(require("styles/StylesLayout"));
|
|
12
|
+
|
|
13
|
+
var _require = require('@testing-library/react'),
|
|
14
|
+
screen = _require.screen,
|
|
15
|
+
render = _require.render;
|
|
16
|
+
|
|
17
|
+
describe('parameter buttons unit tests', function () {
|
|
18
|
+
test('test exceeded value', function () {
|
|
19
|
+
var _render = render( /*#__PURE__*/_react.default.createElement(_StylesLayout.default, null, /*#__PURE__*/_react.default.createElement(_ParametersButtons.ParametersButtons, {
|
|
20
|
+
parametersData: [['invalid', false], ['invalid2', false]],
|
|
21
|
+
onClick: function onClick() {},
|
|
22
|
+
selectedTitle: 'invalid'
|
|
23
|
+
}))),
|
|
24
|
+
container = _render.container;
|
|
25
|
+
|
|
26
|
+
screen.getByText('invalid');
|
|
27
|
+
var exceededItems = container.querySelectorAll('.invalid');
|
|
28
|
+
expect(exceededItems).toHaveLength(2);
|
|
29
|
+
var exceededActive = container.querySelector('.invalid.active');
|
|
30
|
+
expect(exceededActive).toBeInTheDocument();
|
|
31
|
+
});
|
|
32
|
+
test('test valid value', function () {
|
|
33
|
+
var _render2 = render( /*#__PURE__*/_react.default.createElement(_StylesLayout.default, null, /*#__PURE__*/_react.default.createElement(_ParametersButtons.ParametersButtons, {
|
|
34
|
+
parametersData: [['valid', true], ['valid2', true]],
|
|
35
|
+
onClick: function onClick() {},
|
|
36
|
+
selectedTitle: 'invalid'
|
|
37
|
+
}))),
|
|
38
|
+
container = _render2.container;
|
|
39
|
+
|
|
40
|
+
screen.getByText('valid2');
|
|
41
|
+
var exceededItems = container.querySelectorAll('.invalid');
|
|
42
|
+
expect(exceededItems).toHaveLength(0);
|
|
43
|
+
var exceededActive = container.querySelector('.invalid.active');
|
|
44
|
+
expect(exceededActive).not.toBeInTheDocument();
|
|
45
|
+
});
|
|
46
|
+
test('test mix value', function () {
|
|
47
|
+
var _render3 = render( /*#__PURE__*/_react.default.createElement(_StylesLayout.default, null, /*#__PURE__*/_react.default.createElement(_ParametersButtons.ParametersButtons, {
|
|
48
|
+
parametersData: [['invalid', false], ['valid', true]],
|
|
49
|
+
onClick: function onClick() {},
|
|
50
|
+
selectedTitle: 'valid'
|
|
51
|
+
}))),
|
|
52
|
+
container = _render3.container;
|
|
53
|
+
|
|
54
|
+
screen.getByText('valid');
|
|
55
|
+
var exceededItems = container.querySelectorAll('.invalid');
|
|
56
|
+
expect(exceededItems).toHaveLength(1);
|
|
57
|
+
var exceededActive = container.querySelector('.invalid.active');
|
|
58
|
+
expect(exceededActive).not.toBeInTheDocument();
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9TaXRlUGFnZS9TYW1wbGluZ1BhcmFtZXRlcnMvUGFyYW1ldGVyc0NvbnRhaW5lci9QYXJhbWV0ZXJzQnV0dG9ucy9QYXJhbWV0ZXJzQnV0dG9ucy50ZXN0LnRzeCJdLCJuYW1lcyI6WyJyZXF1aXJlIiwic2NyZWVuIiwicmVuZGVyIiwiZGVzY3JpYmUiLCJ0ZXN0IiwiY29udGFpbmVyIiwiZ2V0QnlUZXh0IiwiZXhjZWVkZWRJdGVtcyIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJleHBlY3QiLCJ0b0hhdmVMZW5ndGgiLCJleGNlZWRlZEFjdGl2ZSIsInF1ZXJ5U2VsZWN0b3IiLCJ0b0JlSW5UaGVEb2N1bWVudCIsIm5vdCJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUVBLGVBQTJCQSxPQUFPLENBQUMsd0JBQUQsQ0FBbEM7QUFBQSxJQUFRQyxNQUFSLFlBQVFBLE1BQVI7QUFBQSxJQUFnQkMsTUFBaEIsWUFBZ0JBLE1BQWhCOztBQUVBQyxRQUFRLENBQUMsOEJBQUQsRUFBaUMsWUFBTTtBQUM3Q0MsRUFBQUEsSUFBSSxDQUFDLHFCQUFELEVBQXdCLFlBQU07QUFDaEMsa0JBQXNCRixNQUFNLGVBQzFCLDZCQUFDLHFCQUFELHFCQUNFLDZCQUFDLG9DQUFEO0FBQ0UsTUFBQSxjQUFjLEVBQUUsQ0FDZCxDQUFDLFNBQUQsRUFBWSxLQUFaLENBRGMsRUFFZCxDQUFDLFVBQUQsRUFBYSxLQUFiLENBRmMsQ0FEbEI7QUFLRSxNQUFBLE9BQU8sRUFBRSxtQkFBTSxDQUFFLENBTG5CO0FBTUUsTUFBQSxhQUFhLEVBQUU7QUFOakIsTUFERixDQUQwQixDQUE1QjtBQUFBLFFBQVFHLFNBQVIsV0FBUUEsU0FBUjs7QUFZQUosSUFBQUEsTUFBTSxDQUFDSyxTQUFQLENBQWlCLFNBQWpCO0FBQ0EsUUFBTUMsYUFBYSxHQUFHRixTQUFTLENBQUNHLGdCQUFWLENBQTJCLFVBQTNCLENBQXRCO0FBQ0FDLElBQUFBLE1BQU0sQ0FBQ0YsYUFBRCxDQUFOLENBQXNCRyxZQUF0QixDQUFtQyxDQUFuQztBQUNBLFFBQU1DLGNBQWMsR0FBR04sU0FBUyxDQUFDTyxhQUFWLENBQXdCLGlCQUF4QixDQUF2QjtBQUNBSCxJQUFBQSxNQUFNLENBQUNFLGNBQUQsQ0FBTixDQUF1QkUsaUJBQXZCO0FBQ0QsR0FsQkcsQ0FBSjtBQW9CQVQsRUFBQUEsSUFBSSxDQUFDLGtCQUFELEVBQXFCLFlBQU07QUFDN0IsbUJBQXNCRixNQUFNLGVBQzFCLDZCQUFDLHFCQUFELHFCQUNFLDZCQUFDLG9DQUFEO0FBQ0UsTUFBQSxjQUFjLEVBQUUsQ0FDZCxDQUFDLE9BQUQsRUFBVSxJQUFWLENBRGMsRUFFZCxDQUFDLFFBQUQsRUFBVyxJQUFYLENBRmMsQ0FEbEI7QUFLRSxNQUFBLE9BQU8sRUFBRSxtQkFBTSxDQUFFLENBTG5CO0FBTUUsTUFBQSxhQUFhLEVBQUU7QUFOakIsTUFERixDQUQwQixDQUE1QjtBQUFBLFFBQVFHLFNBQVIsWUFBUUEsU0FBUjs7QUFZQUosSUFBQUEsTUFBTSxDQUFDSyxTQUFQLENBQWlCLFFBQWpCO0FBQ0EsUUFBTUMsYUFBYSxHQUFHRixTQUFTLENBQUNHLGdCQUFWLENBQTJCLFVBQTNCLENBQXRCO0FBQ0FDLElBQUFBLE1BQU0sQ0FBQ0YsYUFBRCxDQUFOLENBQXNCRyxZQUF0QixDQUFtQyxDQUFuQztBQUNBLFFBQU1DLGNBQWMsR0FBR04sU0FBUyxDQUFDTyxhQUFWLENBQXdCLGlCQUF4QixDQUF2QjtBQUNBSCxJQUFBQSxNQUFNLENBQUNFLGNBQUQsQ0FBTixDQUF1QkcsR0FBdkIsQ0FBMkJELGlCQUEzQjtBQUNELEdBbEJHLENBQUo7QUFvQkFULEVBQUFBLElBQUksQ0FBQyxnQkFBRCxFQUFtQixZQUFNO0FBQzNCLG1CQUFzQkYsTUFBTSxlQUMxQiw2QkFBQyxxQkFBRCxxQkFDRSw2QkFBQyxvQ0FBRDtBQUNFLE1BQUEsY0FBYyxFQUFFLENBQ2QsQ0FBQyxTQUFELEVBQVksS0FBWixDQURjLEVBRWQsQ0FBQyxPQUFELEVBQVUsSUFBVixDQUZjLENBRGxCO0FBS0UsTUFBQSxPQUFPLEVBQUUsbUJBQU0sQ0FBRSxDQUxuQjtBQU1FLE1BQUEsYUFBYSxFQUFFO0FBTmpCLE1BREYsQ0FEMEIsQ0FBNUI7QUFBQSxRQUFRRyxTQUFSLFlBQVFBLFNBQVI7O0FBWUFKLElBQUFBLE1BQU0sQ0FBQ0ssU0FBUCxDQUFpQixPQUFqQjtBQUNBLFFBQU1DLGFBQWEsR0FBR0YsU0FBUyxDQUFDRyxnQkFBVixDQUEyQixVQUEzQixDQUF0QjtBQUNBQyxJQUFBQSxNQUFNLENBQUNGLGFBQUQsQ0FBTixDQUFzQkcsWUFBdEIsQ0FBbUMsQ0FBbkM7QUFDQSxRQUFNQyxjQUFjLEdBQUdOLFNBQVMsQ0FBQ08sYUFBVixDQUF3QixpQkFBeEIsQ0FBdkI7QUFDQUgsSUFBQUEsTUFBTSxDQUFDRSxjQUFELENBQU4sQ0FBdUJHLEdBQXZCLENBQTJCRCxpQkFBM0I7QUFDRCxHQWxCRyxDQUFKO0FBbUJELENBNURPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYXJhbWV0ZXJzQnV0dG9ucyB9IGZyb20gJy4vUGFyYW1ldGVyc0J1dHRvbnMnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCAnQHRlc3RpbmctbGlicmFyeS9qZXN0LWRvbS9leHRlbmQtZXhwZWN0JztcbmltcG9ydCBTdHlsZXNMYXlvdXQgZnJvbSAnc3JjL3N0eWxlcy9TdHlsZXNMYXlvdXQnO1xuXG5jb25zdCB7IHNjcmVlbiwgcmVuZGVyIH0gPSByZXF1aXJlKCdAdGVzdGluZy1saWJyYXJ5L3JlYWN0Jyk7XG5cbmRlc2NyaWJlKCdwYXJhbWV0ZXIgYnV0dG9ucyB1bml0IHRlc3RzJywgKCkgPT4ge1xuICB0ZXN0KCd0ZXN0IGV4Y2VlZGVkIHZhbHVlJywgKCkgPT4ge1xuICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoXG4gICAgICA8U3R5bGVzTGF5b3V0PlxuICAgICAgICA8UGFyYW1ldGVyc0J1dHRvbnNcbiAgICAgICAgICBwYXJhbWV0ZXJzRGF0YT17W1xuICAgICAgICAgICAgWydpbnZhbGlkJywgZmFsc2VdLFxuICAgICAgICAgICAgWydpbnZhbGlkMicsIGZhbHNlXSxcbiAgICAgICAgICBdfVxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHt9fVxuICAgICAgICAgIHNlbGVjdGVkVGl0bGU9eydpbnZhbGlkJ31cbiAgICAgICAgLz5cbiAgICAgIDwvU3R5bGVzTGF5b3V0PixcbiAgICApO1xuICAgIHNjcmVlbi5nZXRCeVRleHQoJ2ludmFsaWQnKTtcbiAgICBjb25zdCBleGNlZWRlZEl0ZW1zID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3JBbGwoJy5pbnZhbGlkJyk7XG4gICAgZXhwZWN0KGV4Y2VlZGVkSXRlbXMpLnRvSGF2ZUxlbmd0aCgyKTtcbiAgICBjb25zdCBleGNlZWRlZEFjdGl2ZSA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCcuaW52YWxpZC5hY3RpdmUnKTtcbiAgICBleHBlY3QoZXhjZWVkZWRBY3RpdmUpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gIH0pO1xuXG4gIHRlc3QoJ3Rlc3QgdmFsaWQgdmFsdWUnLCAoKSA9PiB7XG4gICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcihcbiAgICAgIDxTdHlsZXNMYXlvdXQ+XG4gICAgICAgIDxQYXJhbWV0ZXJzQnV0dG9uc1xuICAgICAgICAgIHBhcmFtZXRlcnNEYXRhPXtbXG4gICAgICAgICAgICBbJ3ZhbGlkJywgdHJ1ZV0sXG4gICAgICAgICAgICBbJ3ZhbGlkMicsIHRydWVdLFxuICAgICAgICAgIF19XG4gICAgICAgICAgb25DbGljaz17KCkgPT4ge319XG4gICAgICAgICAgc2VsZWN0ZWRUaXRsZT17J2ludmFsaWQnfVxuICAgICAgICAvPlxuICAgICAgPC9TdHlsZXNMYXlvdXQ+LFxuICAgICk7XG4gICAgc2NyZWVuLmdldEJ5VGV4dCgndmFsaWQyJyk7XG4gICAgY29uc3QgZXhjZWVkZWRJdGVtcyA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yQWxsKCcuaW52YWxpZCcpO1xuICAgIGV4cGVjdChleGNlZWRlZEl0ZW1zKS50b0hhdmVMZW5ndGgoMCk7XG4gICAgY29uc3QgZXhjZWVkZWRBY3RpdmUgPSBjb250YWluZXIucXVlcnlTZWxlY3RvcignLmludmFsaWQuYWN0aXZlJyk7XG4gICAgZXhwZWN0KGV4Y2VlZGVkQWN0aXZlKS5ub3QudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgfSk7XG5cbiAgdGVzdCgndGVzdCBtaXggdmFsdWUnLCAoKSA9PiB7XG4gICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcihcbiAgICAgIDxTdHlsZXNMYXlvdXQ+XG4gICAgICAgIDxQYXJhbWV0ZXJzQnV0dG9uc1xuICAgICAgICAgIHBhcmFtZXRlcnNEYXRhPXtbXG4gICAgICAgICAgICBbJ2ludmFsaWQnLCBmYWxzZV0sXG4gICAgICAgICAgICBbJ3ZhbGlkJywgdHJ1ZV0sXG4gICAgICAgICAgXX1cbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7fX1cbiAgICAgICAgICBzZWxlY3RlZFRpdGxlPXsndmFsaWQnfVxuICAgICAgICAvPlxuICAgICAgPC9TdHlsZXNMYXlvdXQ+LFxuICAgICk7XG4gICAgc2NyZWVuLmdldEJ5VGV4dCgndmFsaWQnKTtcbiAgICBjb25zdCBleGNlZWRlZEl0ZW1zID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3JBbGwoJy5pbnZhbGlkJyk7XG4gICAgZXhwZWN0KGV4Y2VlZGVkSXRlbXMpLnRvSGF2ZUxlbmd0aCgxKTtcbiAgICBjb25zdCBleGNlZWRlZEFjdGl2ZSA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCcuaW52YWxpZC5hY3RpdmUnKTtcbiAgICBleHBlY3QoZXhjZWVkZWRBY3RpdmUpLm5vdC50b0JlSW5UaGVEb2N1bWVudCgpO1xuICB9KTtcbn0pO1xuIl19
|
package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js
CHANGED
|
@@ -26,7 +26,7 @@ exports.ButtonHolder = ButtonHolder;
|
|
|
26
26
|
var Button = _styledComponents.default.button.withConfig({
|
|
27
27
|
displayName: "styles__Button",
|
|
28
28
|
componentId: "sc-q95mqe-2"
|
|
29
|
-
})(["width:100%;padding-top:13px;padding-bottom:13px;border-width:1px;cursor:pointer;border:solid 1px #ebebeb;background-color:#fcfcfc;&&.active{background-color:#ebebeb;position:relative;&&::after{content:'';position:absolute;bottom:-5px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #ebebeb;}}"]);
|
|
29
|
+
})(["width:100%;padding-top:13px;padding-bottom:13px;border-width:1px;cursor:pointer;border:solid 1px #ebebeb;background-color:#fcfcfc;&&.invalid{background-color:#fdd6e2;}&&.active{background-color:#ebebeb;position:relative;&&::after{content:'';position:absolute;bottom:-5px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #ebebeb;}}"]);
|
|
30
30
|
|
|
31
31
|
exports.Button = Button;
|
|
32
32
|
|
|
@@ -39,4 +39,4 @@ var Text = _styledComponents.default.span.withConfig({
|
|
|
39
39
|
});
|
|
40
40
|
|
|
41
41
|
exports.Text = Text;
|
|
42
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9TaXRlUGFnZS9TYW1wbGluZ1BhcmFtZXRlcnMvUGFyYW1ldGVyc0NvbnRhaW5lci9QYXJhbWV0ZXJzQnV0dG9ucy9zdHlsZXMudHN4Il0sIm5hbWVzIjpbIkJ1dHRvbnNDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiLCJCdXR0b25Ib2xkZXIiLCJCdXR0b24iLCJidXR0b24iLCJUZXh0Iiwic3BhbiIsImZvbnRXZWlnaHQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBRU8sSUFBTUEsZ0JBQWdCLEdBQUdDLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLHdUQUF0Qjs7OztBQWtCQSxJQUFNQyxZQUFZLEdBQUdGLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLHVCQUFsQjs7OztBQU9BLElBQU1FLE1BQU0sR0FBR0gsMEJBQU9JLE1BQVY7QUFBQTtBQUFBO0FBQUEsZ2JBQVo7Ozs7QUFnQ0EsSUFBTUMsSUFBSSxHQUFHTCwwQkFBT00sSUFBVjtBQUFBO0FBQUE7QUFBQSx5Q0FDQTtBQUFBLE1BQUdDLFVBQUgsUUFBR0EsVUFBSDtBQUFBLFNBQW9CQSxVQUFwQjtBQUFBLENBREEsQ0FBViIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuXG5leHBvcnQgY29uc3QgQnV0dG9uc0NvbnRhaW5lciA9IHN0eWxlZC5kaXY8eyBhbW91bnQ6IG51bWJlciB9PmBcbiAgZGlzcGxheTogZ3JpZDtcbiAgZm9udC1zaXplOiAxNHB4O1xuXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEwLCBtaW5tYXgoMjBweCwgMTB2dykpO1xuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTMwMHB4KSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoOCwgbWlubWF4KDIwcHgsIDEydncpKTtcblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCBtaW5tYXgoMjBweCwgMjB2dykpO1xuICAgIH1cbiAgfVxuXG4gIGdyaWQtZ2FwOiAxMHB4O1xuICBmb250LWZhbWlseTogR2lscm95LCBBcmlhbDtcbmA7XG5cbmV4cG9ydCBjb25zdCBCdXR0b25Ib2xkZXIgPSBzdHlsZWQuZGl2YFxuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV4Y2VwdGlvblByb3BzIHtcbiAgcmVhZG9ubHkgYmFja2dyb3VuZENvbG9yOiBzdHJpbmc7XG59XG5leHBvcnQgY29uc3QgQnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiAxM3B4O1xuICBwYWRkaW5nLWJvdHRvbTogMTNweDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2ViZWJlYjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZmNmYztcblxuICAmJi5pbnZhbGlkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRkNmUyO1xuICB9XG5cbiAgJiYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC01cHg7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkICNlYmViZWI7XG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgVGV4dCA9IHN0eWxlZC5zcGFuPHsgZm9udFdlaWdodDogbnVtYmVyIHwgc3RyaW5nIH0+YFxuICBmb250LXdlaWdodDogJHsoeyBmb250V2VpZ2h0IH0pID0+IGZvbnRXZWlnaHR9O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuIl19
|
|
@@ -26,6 +26,13 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
26
26
|
var ParametersContainer = function ParametersContainer(_ref) {
|
|
27
27
|
var parametersSummary = _ref.parametersSummary;
|
|
28
28
|
var titles = Object.keys(parametersSummary);
|
|
29
|
+
var parameterButtonData = Object.entries(parametersSummary).map(function (_ref2) {
|
|
30
|
+
var _ref3 = (0, _slicedToArray2.default)(_ref2, 2),
|
|
31
|
+
key = _ref3[0],
|
|
32
|
+
value = _ref3[1];
|
|
33
|
+
|
|
34
|
+
return [key, value.isValid];
|
|
35
|
+
});
|
|
29
36
|
|
|
30
37
|
var _useState = (0, _react.useState)(titles[0]),
|
|
31
38
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
@@ -44,7 +51,7 @@ var ParametersContainer = function ParametersContainer(_ref) {
|
|
|
44
51
|
setParametersData = _useState4[1];
|
|
45
52
|
|
|
46
53
|
return /*#__PURE__*/_react.default.createElement(Container, null, /*#__PURE__*/_react.default.createElement(_ParametersButtons.ParametersButtons, {
|
|
47
|
-
|
|
54
|
+
parametersData: parameterButtonData,
|
|
48
55
|
onClick: setSelectedTitle,
|
|
49
56
|
selectedTitle: selectedTitle
|
|
50
57
|
}), /*#__PURE__*/_react.default.createElement(_ParametersChart.ParametersChart, {
|
|
@@ -60,4 +67,4 @@ var Container = _styledComponents.default.div.withConfig({
|
|
|
60
67
|
displayName: "ParametersContainer__Container",
|
|
61
68
|
componentId: "sc-1iglpno-0"
|
|
62
69
|
})(["width:100%;"]);
|
|
63
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9TaXRlUGFnZS9TYW1wbGluZ1BhcmFtZXRlcnMvUGFyYW1ldGVyc0NvbnRhaW5lci9QYXJhbWV0ZXJzQ29udGFpbmVyLnRzeCJdLCJuYW1lcyI6WyJQYXJhbWV0ZXJzQ29udGFpbmVyIiwicGFyYW1ldGVyc1N1bW1hcnkiLCJ0aXRsZXMiLCJPYmplY3QiLCJrZXlzIiwicGFyYW1ldGVyQnV0dG9uRGF0YSIsImVudHJpZXMiLCJtYXAiLCJrZXkiLCJ2YWx1ZSIsImlzVmFsaWQiLCJzZWxlY3RlZFRpdGxlIiwic2V0U2VsZWN0ZWRUaXRsZSIsInNldFBhcmFtZXRlcnNEYXRhIiwicGFyYW1ldGVyc0RhdGEiLCJkYXRhIiwidW5pdCIsIkNvbnRhaW5lciIsInN0eWxlZCIsImRpdiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7Ozs7OztBQVFPLElBQU1BLG1CQUF1RCxHQUFHLFNBQTFEQSxtQkFBMEQsT0FFakU7QUFBQSxNQURKQyxpQkFDSSxRQURKQSxpQkFDSTtBQUNKLE1BQU1DLE1BQWdCLEdBQUdDLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZSCxpQkFBWixDQUF6QjtBQUNBLE1BQU1JLG1CQUFtQixHQUFHRixNQUFNLENBQUNHLE9BQVAsQ0FBZUwsaUJBQWYsRUFBa0NNLEdBQWxDLENBQzFCLGlCQUFxQztBQUFBO0FBQUEsUUFBbkNDLEdBQW1DO0FBQUEsUUFBOUJDLEtBQThCOztBQUNuQyxXQUFPLENBQUNELEdBQUQsRUFBTUMsS0FBSyxDQUFDQyxPQUFaLENBQVA7QUFDRCxHQUh5QixDQUE1Qjs7QUFNQSxrQkFBMEMscUJBQWlCUixNQUFNLENBQUMsQ0FBRCxDQUF2QixDQUExQztBQUFBO0FBQUEsTUFBT1MsYUFBUDtBQUFBLE1BQXNCQyxnQkFBdEI7O0FBRUEsd0JBQVUsWUFBTTtBQUNkLFFBQUlYLGlCQUFpQixDQUFDVSxhQUFELENBQXJCLEVBQXNDO0FBQ3BDRSxNQUFBQSxpQkFBaUIsQ0FBQ1osaUJBQWlCLENBQUNVLGFBQUQsQ0FBakIsSUFBb0MsSUFBckMsQ0FBakI7QUFDRDtBQUNGLEdBSkQsRUFJRyxDQUFDQSxhQUFELENBSkg7O0FBTUEsbUJBQTRDLHFCQUMxQ1YsaUJBQWlCLENBQUNVLGFBQUQsQ0FBakIsSUFBb0MsRUFETSxDQUE1QztBQUFBO0FBQUEsTUFBT0csY0FBUDtBQUFBLE1BQXVCRCxpQkFBdkI7O0FBSUEsc0JBQ0UsNkJBQUMsU0FBRCxxQkFDRSw2QkFBQyxvQ0FBRDtBQUNFLElBQUEsY0FBYyxFQUFFUixtQkFEbEI7QUFFRSxJQUFBLE9BQU8sRUFBRU8sZ0JBRlg7QUFHRSxJQUFBLGFBQWEsRUFBRUQ7QUFIakIsSUFERixlQU1FLDZCQUFDLGdDQUFEO0FBQ0UsSUFBQSxjQUFjLEVBQUVHLGNBQWMsQ0FBQ0MsSUFEakM7QUFFRSxJQUFBLEtBQUssRUFBRUosYUFGVDtBQUdFLElBQUEsSUFBSSxFQUFFRyxjQUFjLENBQUNFO0FBSHZCLElBTkYsQ0FERjtBQWNELENBcENNOzs7O0FBc0NQLElBQU1DLFNBQVMsR0FBR0MsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsbUJBQWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFBhcmFtZXRlcnNDaGFydCB9IGZyb20gJy4uL2NoYXJ0cy9QYXJhbWV0ZXJzQ2hhcnQnO1xuaW1wb3J0IHsgUGFyYW1ldGVyc0J1dHRvbnMgfSBmcm9tICcuL1BhcmFtZXRlcnNCdXR0b25zL1BhcmFtZXRlcnNCdXR0b25zJztcbmltcG9ydCB7IFBhcmFtZXRlckRhdGEsIFBhcmFtZXRlcnNTdW1tYXJ5IH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuXG5pbnRlcmZhY2UgUGFyYW1ldGVyc0NvbnRhaW5lclByb3BzIHtcbiAgcGFyYW1ldGVyc1N1bW1hcnk6IFBhcmFtZXRlcnNTdW1tYXJ5O1xufVxuXG5leHBvcnQgY29uc3QgUGFyYW1ldGVyc0NvbnRhaW5lcjogUmVhY3QuRkM8UGFyYW1ldGVyc0NvbnRhaW5lclByb3BzPiA9ICh7XG4gIHBhcmFtZXRlcnNTdW1tYXJ5LFxufSkgPT4ge1xuICBjb25zdCB0aXRsZXM6IHN0cmluZ1tdID0gT2JqZWN0LmtleXMocGFyYW1ldGVyc1N1bW1hcnkpIGFzIEFycmF5PHN0cmluZz47XG4gIGNvbnN0IHBhcmFtZXRlckJ1dHRvbkRhdGEgPSBPYmplY3QuZW50cmllcyhwYXJhbWV0ZXJzU3VtbWFyeSkubWFwKFxuICAgIChba2V5LCB2YWx1ZV0pOiBbc3RyaW5nLCBib29sZWFuXSA9PiB7XG4gICAgICByZXR1cm4gW2tleSwgdmFsdWUuaXNWYWxpZF07XG4gICAgfSxcbiAgKTtcblxuICBjb25zdCBbc2VsZWN0ZWRUaXRsZSwgc2V0U2VsZWN0ZWRUaXRsZV0gPSB1c2VTdGF0ZTxzdHJpbmc+KHRpdGxlc1swXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocGFyYW1ldGVyc1N1bW1hcnlbc2VsZWN0ZWRUaXRsZV0pIHtcbiAgICAgIHNldFBhcmFtZXRlcnNEYXRhKHBhcmFtZXRlcnNTdW1tYXJ5W3NlbGVjdGVkVGl0bGVdIHx8IG51bGwpO1xuICAgIH1cbiAgfSwgW3NlbGVjdGVkVGl0bGVdKTtcblxuICBjb25zdCBbcGFyYW1ldGVyc0RhdGEsIHNldFBhcmFtZXRlcnNEYXRhXSA9IHVzZVN0YXRlPFBhcmFtZXRlckRhdGE+KFxuICAgIHBhcmFtZXRlcnNTdW1tYXJ5W3NlbGVjdGVkVGl0bGVdIHx8IFtdLFxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPENvbnRhaW5lcj5cbiAgICAgIDxQYXJhbWV0ZXJzQnV0dG9uc1xuICAgICAgICBwYXJhbWV0ZXJzRGF0YT17cGFyYW1ldGVyQnV0dG9uRGF0YX1cbiAgICAgICAgb25DbGljaz17c2V0U2VsZWN0ZWRUaXRsZX1cbiAgICAgICAgc2VsZWN0ZWRUaXRsZT17c2VsZWN0ZWRUaXRsZX1cbiAgICAgIC8+XG4gICAgICA8UGFyYW1ldGVyc0NoYXJ0XG4gICAgICAgIHBhcmFtZXRlcnNEYXRhPXtwYXJhbWV0ZXJzRGF0YS5kYXRhfVxuICAgICAgICB0aXRsZT17c2VsZWN0ZWRUaXRsZX1cbiAgICAgICAgdW5pdD17cGFyYW1ldGVyc0RhdGEudW5pdH1cbiAgICAgIC8+XG4gICAgPC9Db250YWluZXI+XG4gICk7XG59O1xuXG5jb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbmA7XG4iXX0=
|
|
@@ -76,12 +76,20 @@ var parametersReducer = function parametersReducer(labResults) {
|
|
|
76
76
|
result.parameters.reduce(function (unsortedSummary, param) {
|
|
77
77
|
if (!unsortedSummary[param.symbol]) {
|
|
78
78
|
unsortedSummary[param.symbol] = {
|
|
79
|
+
parameter_family: param.parameter_family,
|
|
79
80
|
unit: param.unit,
|
|
80
|
-
data: []
|
|
81
|
+
data: [],
|
|
82
|
+
isValid: true
|
|
81
83
|
};
|
|
82
84
|
}
|
|
83
85
|
|
|
84
86
|
var time = (0, _moment.default)(result.date);
|
|
87
|
+
var isValid = param.measured_value <= param.break_line && param.measured_value >= (param.min_value || 0);
|
|
88
|
+
|
|
89
|
+
if (!isValid) {
|
|
90
|
+
unsortedSummary[param.symbol].isValid = false;
|
|
91
|
+
}
|
|
92
|
+
|
|
85
93
|
var data = {
|
|
86
94
|
title: "".concat(time.format('MMM DD, YYYY'), "<br/>").concat(time.format('hh:mm A')),
|
|
87
95
|
value: param.measured_value,
|
|
@@ -99,12 +107,14 @@ var parametersReducer = function parametersReducer(labResults) {
|
|
|
99
107
|
}, unsortedSummary);
|
|
100
108
|
var summaryArrayEntries = Object.entries(unsortedSummary).sort(function (_ref, _ref2) {
|
|
101
109
|
var _ref3 = (0, _slicedToArray2.default)(_ref, 2),
|
|
110
|
+
name_a = _ref3[0],
|
|
102
111
|
values_a = _ref3[1];
|
|
103
112
|
|
|
104
113
|
var _ref4 = (0, _slicedToArray2.default)(_ref2, 2),
|
|
114
|
+
name_b = _ref4[0],
|
|
105
115
|
values_b = _ref4[1];
|
|
106
116
|
|
|
107
|
-
return values_b.
|
|
117
|
+
return values_b.parameter_family - values_a.parameter_family || name_a.localeCompare(name_b);
|
|
108
118
|
});
|
|
109
119
|
var sortedSummary = {};
|
|
110
120
|
summaryArrayEntries.forEach(function (param) {
|
|
@@ -132,4 +142,4 @@ var parseTableData = function parseTableData(resultsArr) {
|
|
|
132
142
|
};
|
|
133
143
|
|
|
134
144
|
exports.parseTableData = parseTableData;
|
|
135
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWdlcy9TaXRlUGFnZS9TYW1wbGluZ1BhcmFtZXRlcnMvZGF0YVBhcnNlci50cyJdLCJuYW1lcyI6WyJyb3dNYXBwZXIiLCJyZXN1bHQiLCJyb3ciLCJ0aW1lIiwiZGF0ZSIsInB1c2giLCJmb3JtYXQiLCJwYXJhbWV0ZXJzIiwibGVuZ3RoIiwidG9TdHJpbmciLCJleGNlcHRpb24iLCJleGNlcHRpb25TdGF0dXNDb3VudGVyIiwiZXhjZXB0aW9uTnVtYmVyIiwibnVtYmVyIiwibm9ybWFsTnVtYmVyIiwibm9ybWFsIiwic3RhdHVzIiwidG9VcHBlckNhc2UiLCJzbGljZSIsImFyciIsInN1bW1hcnkiLCJ0b3RhbCIsImNvbG9yIiwiY29sb3JzIiwiZ3JleSIsInRpdGxlIiwicmVkIiwiZ3JlZW4iLCJmaWx0ZXIiLCJmb3JFYWNoIiwicGFyYW1ldGVyc1JlZHVjZXIiLCJsYWJSZXN1bHRzIiwidW5zb3J0ZWRTdW1tYXJ5IiwicmVkdWNlIiwicGFyYW0iLCJzeW1ib2wiLCJ1bml0IiwiZGF0YSIsInZhbHVlIiwibWVhc3VyZWRfdmFsdWUiLCJicmVha0xpbmUiLCJicmVha19saW5lIiwibWluVmFsdWUiLCJtaW5fdmFsdWUiLCJpc1JlZ3VsYXRlZCIsImlzX3JlZ3VsYXRlZCIsInN1bW1hcnlBcnJheUVudHJpZXMiLCJPYmplY3QiLCJlbnRyaWVzIiwic29ydCIsInZhbHVlc19hIiwidmFsdWVzX2IiLCJzb3J0ZWRTdW1tYXJ5IiwicGFyc2VUYWJsZURhdGEiLCJyZXN1bHRzQXJyIiwiaGVhZGVycyIsImkxOG4iLCJ0Iiwicm93cyIsIm1hcCIsImkiLCJleGNlcHRpb25zU3VtbWFyeSIsImV4Y2VwdGlvbnMiLCJ2YWx1ZXMiLCJwYXJhbWV0ZXJzU3VtbWFyeSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFDQTs7QUFDQTs7QUFFQTs7QUFKQTtBQU1BLElBQU1BLFNBQVMsR0FBRyxTQUFaQSxTQUFZLENBQUNDLE1BQUQsRUFB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QyxpQkFBaUIsQ0FBQ3dCLFVBQUQsQ0FBM0M7QUFFQSxTQUFPO0FBQ0xDLElBQUFBLE9BQU8sRUFBUEEsT0FESztBQUVMRyxJQUFBQSxJQUFJLEVBQUpBLElBRks7QUFHTEksSUFBQUEsVUFBVSxFQUFWQSxVQUhLO0FBSUxFLElBQUFBLGlCQUFpQixFQUFqQkE7QUFKSyxHQUFQO0FBTUQsQ0E1Qk0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBldGMvbm8tY29tbWVudGVkLW91dC1jb2RlICovXG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgRXhjZXB0aW9uLCBIYXNTdGF0dXMsIExhYlJlc3VsdHMsIFBhcmFtZXRlcnNTdW1tYXJ5IH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgY29sb3JzIH0gZnJvbSAnLi9zdHlsZXMvc3R5bGVzJztcblxuY29uc3Qgcm93TWFwcGVyID0gKHJlc3VsdDogTGFiUmVzdWx0cykgPT4ge1xuICBjb25zdCByb3c6IHN0cmluZ1tdID0gW107XG4gIGNvbnN0IHRpbWUgPSBtb21lbnQocmVzdWx0LmRhdGUpO1xuICByb3cucHVzaCh0aW1lLmZvcm1hdCgnTU1NIERELCBZWVlZJykpO1xuICByb3cucHVzaCh0aW1lLmZvcm1hdCgnaGg6bW0gQScpKTtcbiAgLy8gcm93LnB1c2gocmVzdWx0LnBvaW50LnNpdGVfbmFtZSk7XG4gIHJvdy5wdXNoKHJlc3VsdC5wYXJhbWV0ZXJzLmxlbmd0aC50b1N0cmluZygpKTtcbiAgY29uc3QgZXhjZXB0aW9uID0gZXhjZXB0aW9uU3RhdHVzQ291bnRlcihyZXN1bHQucGFyYW1ldGVycyk7XG4gIGNvbnN0IGV4Y2VwdGlvbk51bWJlciA9IGV4Y2VwdGlvbi5leGNlcHRpb24ubnVtYmVyLnRvU3RyaW5nKCk7XG4gIHJvdy5wdXNoKGV4Y2VwdGlvbk51bWJlcik7XG4gIGNvbnN0IG5vcm1hbE51bWJlciA9IGV4Y2VwdGlvbi5ub3JtYWwubnVtYmVyLnRvU3RyaW5nKCk7XG4gIHJvdy5wdXNoKG5vcm1hbE51bWJlcik7XG5cbiAgaWYgKHJlc3VsdC5zdGF0dXMpIHtcbiAgICByb3cucHVzaChyZXN1bHQuc3RhdHVzWzBdLnRvVXBwZXJDYXNlKCkgKyByZXN1bHQuc3RhdHVzLnNsaWNlKDEpKTtcbiAgfVxuICByZXR1cm4gcm93O1xufTtcblxuY29uc3QgZXhjZXB0aW9uU3RhdHVzQ291bnRlciA9IChhcnI6IEhhc1N0YXR1c1tdKSA9PiB7XG4gIGNvbnN0IHN1bW1hcnkgPSB7XG4gICAgdG90YWw6IHtcbiAgICAgIG51bWJlcjogMCxcbiAgICAgIGNvbG9yOiBjb2xvcnMuZ3JleSxcbiAgICAgIHRpdGxlOiAnU2FtcGxlcycsXG4gICAgfSxcblxuICAgIGV4Y2VwdGlvbjoge1xuICAgICAgbnVtYmVyOiAwLFxuICAgICAgY29sb3I6IGNvbG9ycy5yZWQsXG4gICAgICB0aXRsZTogJ0V4Y2VwdGlvbnMnLFxuICAgIH0sXG4gICAgbm9ybWFsOiB7XG4gICAgICBudW1iZXI6IDAsXG4gICAgICBjb2xvcjogY29sb3JzLmdyZWVuLFxuICAgICAgdGl0bGU6ICdOb3JtYWwnLFxuICAgIH0sXG4gIH07XG4gIGFyclxuICAgIC5maWx0ZXIoKHJlc3VsdCkgPT4gcmVzdWx0LnN0YXR1cyAmJiByZXN1bHQuc3RhdHVzICE9PSAnbm90X3JlZ3VsYXRlZCcpXG4gICAgLmZvckVhY2goKHJlc3VsdCkgPT4ge1xuICAgICAgaWYgKHJlc3VsdC5zdGF0dXMpIHtcbiAgICAgICAgaWYgKHJlc3VsdC5zdGF0dXMgPT09ICd3YXJuaW5nJykge1xuICAgICAgICAgIHN1bW1hcnkuZXhjZXB0aW9uLm51bWJlciArPSAxO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHN1bW1hcnlbcmVzdWx0LnN0YXR1c10ubnVtYmVyICs9IDE7XG4gICAgICAgIH1cbiAgICAgICAgc3VtbWFyeS50b3RhbC5udW1iZXIgKz0gMTtcbiAgICAgIH1cbiAgICB9KTtcblxuICByZXR1cm4gc3VtbWFyeTtcbn07XG5cbmNvbnN0IHBhcmFtZXRlcnNSZWR1Y2VyID0gKGxhYlJlc3VsdHM6IExhYlJlc3VsdHNbXSkgPT4ge1xuICBjb25zdCB1bnNvcnRlZFN1bW1hcnk6IFBhcmFtZXRlcnNTdW1tYXJ5ID0ge307XG4gIGxhYlJlc3VsdHMuZm9yRWFjaCgocmVzdWx0KSA9PiB7XG4gICAgcmVzdWx0LnBhcmFtZXRlcnMucmVkdWNlKCh1bnNvcnRlZFN1bW1hcnksIHBhcmFtKSA9PiB7XG4gICAgICBpZiAoIXVuc29ydGVkU3VtbWFyeVtwYXJhbS5zeW1ib2xdKSB7XG4gICAgICAgIHVuc29ydGVkU3VtbWFyeVtwYXJhbS5zeW1ib2xdID0geyB1bml0OiBwYXJhbS51bml0LCBkYXRhOiBbXSB9O1xuICAgICAgfVxuICAgICAgY29uc3QgdGltZSA9IG1vbWVudChyZXN1bHQuZGF0ZSk7XG4gICAgICBjb25zdCBkYXRhID0ge1xuICAgICAgICB0aXRsZTogYCR7dGltZS5mb3JtYXQoJ01NTSBERCwgWVlZWScpfTxici8+JHt0aW1lLmZvcm1hdCgnaGg6bW0gQScpfWAsXG4gICAgICAgIHZhbHVlOiBwYXJhbS5tZWFzdXJlZF92YWx1ZSxcbiAgICAgICAgYnJlYWtMaW5lOiBwYXJhbS5icmVha19saW5lLFxuICAgICAgICBtaW5WYWx1ZTogcGFyYW0ubWluX3ZhbHVlLFxuICAgICAgICBpc1JlZ3VsYXRlZDogcGFyYW0uaXNfcmVndWxhdGVkLFxuICAgICAgfTtcbiAgICAgIGlmIChwYXJhbT8uc3ltYm9sICYmIHVuc29ydGVkU3VtbWFyeVtwYXJhbS5zeW1ib2xdICYmIGRhdGEpIHtcbiAgICAgICAgdW5zb3J0ZWRTdW1tYXJ5W3BhcmFtLnN5bWJvbF0uZGF0YS5wdXNoKGRhdGEpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHVuc29ydGVkU3VtbWFyeTtcbiAgICB9LCB1bnNvcnRlZFN1bW1hcnkpO1xuICB9LCB1bnNvcnRlZFN1bW1hcnkpO1xuXG4gIGNvbnN0IHN1bW1hcnlBcnJheUVudHJpZXMgPSBPYmplY3QuZW50cmllcyh1bnNvcnRlZFN1bW1hcnkpLnNvcnQoXG4gICAgKFssIHZhbHVlc19hXSwgWywgdmFsdWVzX2JdKSA9PiB2YWx1ZXNfYi5kYXRhLmxlbmd0aCAtIHZhbHVlc19hLmRhdGEubGVuZ3RoLFxuICApO1xuXG4gIGNvbnN0IHNvcnRlZFN1bW1hcnk6IFBhcmFtZXRlcnNTdW1tYXJ5ID0ge307XG4gIHN1bW1hcnlBcnJheUVudHJpZXMuZm9yRWFjaCgocGFyYW0pID0+IHtcbiAgICBzb3J0ZWRTdW1tYXJ5W3BhcmFtWzBdXSA9IHBhcmFtWzFdO1xuICB9KTtcblxuICByZXR1cm4gc29ydGVkU3VtbWFyeTtcbn07XG5cbmV4cG9ydCBjb25zdCBwYXJzZVRhYmxlRGF0YSA9IChyZXN1bHRzQXJyOiBMYWJSZXN1bHRzW10pID0+IHtcbiAgY29uc3QgaGVhZGVycyA9IFtcbiAgICBpMThuLnQoJ2Rhc2hib2FyZF92Mi5zYW1wbGluZ19wYXJhbWV0ZXJzLnNhbXBsaW5nLWRhdGUnKSxcblxuICAgIC8vIGkxOG4udCgnZGFzaGJvYXJkX3YyLnNhbXBsaW5nX3BhcmFtZXRlcnMuc2l0ZScpLFxuXG4gICAgaTE4bi50KCdkYXNoYm9hcmRfdjIuc2FtcGxpbmdfcGFyYW1ldGVycy5wYXJhbWV0ZXJzJyksXG5cbiAgICBpMThuLnQoJ2Rhc2hib2FyZF92Mi5zYW1wbGluZ19wYXJhbWV0ZXJzLmV4Y2VwdGlvbnMnKSxcblxuICAgIGkxOG4udCgnZGFzaGJvYXJkX3YyLnNhbXBsaW5nX3BhcmFtZXRlcnMubm9ybWFsJyksXG5cbiAgICBpMThuLnQoJ3N0YXR1cycpLFxuICBdO1xuXG4gIC8vIGNvbnN0IHJvd3MgPSByZXN1bHRzQXJyLmxhYl9yZXN1bHRzLm1hcCgoaSkgPT4gcm93TWFwcGVyKGkpKTtcbiAgY29uc3Qgcm93cyA9IHJlc3VsdHNBcnIubWFwKChpKSA9PiByb3dNYXBwZXIoaSkpO1xuXG4gIGNvbnN0IGV4Y2VwdGlvbnNTdW1tYXJ5ID0gZXhjZXB0aW9uU3RhdHVzQ291bnRlcihyZXN1bHRzQXJyKTtcbiAgY29uc3QgZXhjZXB0aW9ucyA9IE9iamVjdC52YWx1ZXMoZXhjZXB0aW9uc1N1bW1hcnkpIGFzIEFycmF5PEV4Y2VwdGlvbj47XG4gIGNvbnN0IHBhcmFtZXRlcnNTdW1tYXJ5ID0gcGFyYW1ldGVyc1JlZHVjZXIocmVzdWx0c0Fycik7XG5cbiAgcmV0dXJuIHtcbiAgICBoZWFkZXJzLFxuICAgIHJvd3MsXG4gICAgZXhjZXB0aW9ucyxcbiAgICBwYXJhbWV0ZXJzU3VtbWFyeSxcbiAgfTtcbn07XG4iXX0=
|
|
145
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWdlcy9TaXRlUGFnZS9TYW1wbGluZ1BhcmFtZXRlcnMvZGF0YVBhcnNlci50cyJdLCJuYW1lcyI6WyJyb3dNYXBwZXIiLCJyZXN1bHQiLCJyb3ciLCJ0aW1lIiwiZGF0ZSIsInB1c2giLCJmb3JtYXQiLCJwYXJhbWV0ZXJzIiwibGVuZ3RoIiwidG9TdHJpbmciLCJleGNlcHRpb24iLCJleGNlcHRpb25TdGF0dXNDb3VudGVyIiwiZXhjZXB0aW9uTnVtYmVyIiwibnVtYmVyIiwibm9ybWFsTnVtYmVyIiwibm9ybWFsIiwic3RhdHVzIiwidG9VcHBlckNhc2UiLCJzbGljZSIsImFyciIsInN1bW1hcnkiLCJ0b3RhbCIsImNvbG9yIiwiY29sb3JzIiwiZ3JleSIsInRpdGxlIiwicmVkIiwiZ3JlZW4iLCJmaWx0ZXIiLCJmb3JFYWNoIiwicGFyYW1ldGVyc1JlZHVjZXIiLCJsYWJSZXN1bHRzIiwidW5zb3J0ZWRTdW1tYXJ5IiwicmVkdWNlIiwicGFyYW0iLCJzeW1ib2wiLCJwYXJhbWV0ZXJfZmFtaWx5IiwidW5pdCIsImRhdGEiLCJpc1ZhbGlkIiwibWVhc3VyZWRfdmFsdWUiLCJicmVha19saW5lIiwibWluX3ZhbHVlIiwidmFsdWUiLCJicmVha0xpbmUiLCJtaW5WYWx1ZSIsImlzUmVndWxhdGVkIiwiaXNfcmVndWxhdGVkIiwic3VtbWFyeUFycmF5RW50cmllcyIsIk9iamVjdCIsImVudHJpZXMiLCJzb3J0IiwibmFtZV9hIiwidmFsdWVzX2EiLCJuYW1lX2IiLCJ2YWx1ZXNfYiIsImxvY2FsZUNvbXBhcmUiLCJzb3J0ZWRTdW1tYXJ5IiwicGFyc2VUYWJsZURhdGEiLCJyZXN1bHRzQXJyIiwiaGVhZGVycyIsImkxOG4iLCJ0Iiwicm93cyIsIm1hcCIsImkiLCJleGNlcHRpb25zU3VtbWFyeSIsImV4Y2VwdGlvbnMiLCJ2YWx1ZXMiLCJwYXJhbWV0ZXJzU3VtbWFyeSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFDQTs7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Y0FBS0MsQ0FBTCxDQUFPLGdEQUFQLENBRGMsRUFHZDtBQUVBRCxnQkFBS0MsQ0FBTCxDQUFPLDZDQUFQLENBTGMsRUFPZEQsY0FBS0MsQ0FBTCxDQUFPLDZDQUFQLENBUGMsRUFTZEQsY0FBS0MsQ0FBTCxDQUFPLHlDQUFQLENBVGMsRUFXZEQsY0FBS0MsQ0FBTCxDQUFPLFFBQVAsQ0FYYyxDQUFoQixDQUQwRCxDQWUxRDs7QUFDQSxNQUFNQyxJQUFJLEdBQUdKLFVBQVUsQ0FBQ0ssR0FBWCxDQUFlLFVBQUNDLENBQUQ7QUFBQSxXQUFPakUsU0FBUyxDQUFDaUUsQ0FBRCxDQUFoQjtBQUFBLEdBQWYsQ0FBYjtBQUVBLE1BQU1DLGlCQUFpQixHQUFHdkQsc0JBQXNCLENBQUNnRCxVQUFELENBQWhEO0FBQ0EsTUFBTVEsVUFBVSxHQUFHbEIsTUFBTSxDQUFDbUIsTUFBUCxDQUFjRixpQkFBZCxDQUFuQjtBQUNBLE1BQU1HLGlCQUFpQixHQUFHdkMsaUJBQWlCLENBQUM2QixVQUFELENBQTNDO0FBRUEsU0FBTztBQUNMQyxJQUFBQSxPQUFPLEVBQVBBLE9BREs7QUFFTEcsSUFBQUEsSUFBSSxFQUFKQSxJQUZLO0FBR0xJLElBQUFBLFVBQVUsRUFBVkEsVUFISztBQUlMRSxJQUFBQSxpQkFBaUIsRUFBakJBO0FBSkssR0FBUDtBQU1ELENBNUJNIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgZXRjL25vLWNvbW1lbnRlZC1vdXQtY29kZSAqL1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IEV4Y2VwdGlvbiwgSGFzU3RhdHVzLCBMYWJSZXN1bHRzLCBQYXJhbWV0ZXJzU3VtbWFyeSB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IGNvbG9ycyB9IGZyb20gJy4vc3R5bGVzL3N0eWxlcyc7XG5cbmNvbnN0IHJvd01hcHBlciA9IChyZXN1bHQ6IExhYlJlc3VsdHMpID0+IHtcbiAgY29uc3Qgcm93OiBzdHJpbmdbXSA9IFtdO1xuICBjb25zdCB0aW1lID0gbW9tZW50KHJlc3VsdC5kYXRlKTtcbiAgcm93LnB1c2godGltZS5mb3JtYXQoJ01NTSBERCwgWVlZWScpKTtcbiAgcm93LnB1c2godGltZS5mb3JtYXQoJ2hoOm1tIEEnKSk7XG4gIC8vIHJvdy5wdXNoKHJlc3VsdC5wb2ludC5zaXRlX25hbWUpO1xuICByb3cucHVzaChyZXN1bHQucGFyYW1ldGVycy5sZW5ndGgudG9TdHJpbmcoKSk7XG4gIGNvbnN0IGV4Y2VwdGlvbiA9IGV4Y2VwdGlvblN0YXR1c0NvdW50ZXIocmVzdWx0LnBhcmFtZXRlcnMpO1xuICBjb25zdCBleGNlcHRpb25OdW1iZXIgPSBleGNlcHRpb24uZXhjZXB0aW9uLm51bWJlci50b1N0cmluZygpO1xuICByb3cucHVzaChleGNlcHRpb25OdW1iZXIpO1xuICBjb25zdCBub3JtYWxOdW1iZXIgPSBleGNlcHRpb24ubm9ybWFsLm51bWJlci50b1N0cmluZygpO1xuICByb3cucHVzaChub3JtYWxOdW1iZXIpO1xuXG4gIGlmIChyZXN1bHQuc3RhdHVzKSB7XG4gICAgcm93LnB1c2gocmVzdWx0LnN0YXR1c1swXS50b1VwcGVyQ2FzZSgpICsgcmVzdWx0LnN0YXR1cy5zbGljZSgxKSk7XG4gIH1cbiAgcmV0dXJuIHJvdztcbn07XG5cbmNvbnN0IGV4Y2VwdGlvblN0YXR1c0NvdW50ZXIgPSAoYXJyOiBIYXNTdGF0dXNbXSkgPT4ge1xuICBjb25zdCBzdW1tYXJ5ID0ge1xuICAgIHRvdGFsOiB7XG4gICAgICBudW1iZXI6IDAsXG4gICAgICBjb2xvcjogY29sb3JzLmdyZXksXG4gICAgICB0aXRsZTogJ1NhbXBsZXMnLFxuICAgIH0sXG5cbiAgICBleGNlcHRpb246IHtcbiAgICAgIG51bWJlcjogMCxcbiAgICAgIGNvbG9yOiBjb2xvcnMucmVkLFxuICAgICAgdGl0bGU6ICdFeGNlcHRpb25zJyxcbiAgICB9LFxuICAgIG5vcm1hbDoge1xuICAgICAgbnVtYmVyOiAwLFxuICAgICAgY29sb3I6IGNvbG9ycy5ncmVlbixcbiAgICAgIHRpdGxlOiAnTm9ybWFsJyxcbiAgICB9LFxuICB9O1xuICBhcnJcbiAgICAuZmlsdGVyKChyZXN1bHQpID0+IHJlc3VsdC5zdGF0dXMgJiYgcmVzdWx0LnN0YXR1cyAhPT0gJ25vdF9yZWd1bGF0ZWQnKVxuICAgIC5mb3JFYWNoKChyZXN1bHQpID0+IHtcbiAgICAgIGlmIChyZXN1bHQuc3RhdHVzKSB7XG4gICAgICAgIGlmIChyZXN1bHQuc3RhdHVzID09PSAnd2FybmluZycpIHtcbiAgICAgICAgICBzdW1tYXJ5LmV4Y2VwdGlvbi5udW1iZXIgKz0gMTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzdW1tYXJ5W3Jlc3VsdC5zdGF0dXNdLm51bWJlciArPSAxO1xuICAgICAgICB9XG4gICAgICAgIHN1bW1hcnkudG90YWwubnVtYmVyICs9IDE7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgcmV0dXJuIHN1bW1hcnk7XG59O1xuXG5jb25zdCBwYXJhbWV0ZXJzUmVkdWNlciA9IChsYWJSZXN1bHRzOiBMYWJSZXN1bHRzW10pID0+IHtcbiAgY29uc3QgdW5zb3J0ZWRTdW1tYXJ5OiBQYXJhbWV0ZXJzU3VtbWFyeSA9IHt9O1xuICBsYWJSZXN1bHRzLmZvckVhY2goKHJlc3VsdCkgPT4ge1xuICAgIHJlc3VsdC5wYXJhbWV0ZXJzLnJlZHVjZSgodW5zb3J0ZWRTdW1tYXJ5LCBwYXJhbSkgPT4ge1xuICAgICAgaWYgKCF1bnNvcnRlZFN1bW1hcnlbcGFyYW0uc3ltYm9sXSkge1xuICAgICAgICB1bnNvcnRlZFN1bW1hcnlbcGFyYW0uc3ltYm9sXSA9IHtcbiAgICAgICAgICBwYXJhbWV0ZXJfZmFtaWx5OiBwYXJhbS5wYXJhbWV0ZXJfZmFtaWx5LFxuICAgICAgICAgIHVuaXQ6IHBhcmFtLnVuaXQsXG4gICAgICAgICAgZGF0YTogW10sXG4gICAgICAgICAgaXNWYWxpZDogdHJ1ZSxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHRpbWUgPSBtb21lbnQocmVzdWx0LmRhdGUpO1xuICAgICAgY29uc3QgaXNWYWxpZCA9XG4gICAgICAgIHBhcmFtLm1lYXN1cmVkX3ZhbHVlIDw9IHBhcmFtLmJyZWFrX2xpbmUgJiZcbiAgICAgICAgcGFyYW0ubWVhc3VyZWRfdmFsdWUgPj0gKHBhcmFtLm1pbl92YWx1ZSB8fCAwKTtcbiAgICAgIGlmICghaXNWYWxpZCkge1xuICAgICAgICB1bnNvcnRlZFN1bW1hcnlbcGFyYW0uc3ltYm9sXS5pc1ZhbGlkID0gZmFsc2U7XG4gICAgICB9XG4gICAgICBjb25zdCBkYXRhID0ge1xuICAgICAgICB0aXRsZTogYCR7dGltZS5mb3JtYXQoJ01NTSBERCwgWVlZWScpfTxici8+JHt0aW1lLmZvcm1hdCgnaGg6bW0gQScpfWAsXG4gICAgICAgIHZhbHVlOiBwYXJhbS5tZWFzdXJlZF92YWx1ZSxcbiAgICAgICAgYnJlYWtMaW5lOiBwYXJhbS5icmVha19saW5lLFxuICAgICAgICBtaW5WYWx1ZTogcGFyYW0ubWluX3ZhbHVlLFxuICAgICAgICBpc1JlZ3VsYXRlZDogcGFyYW0uaXNfcmVndWxhdGVkLFxuICAgICAgfTtcbiAgICAgIGlmIChwYXJhbT8uc3ltYm9sICYmIHVuc29ydGVkU3VtbWFyeVtwYXJhbS5zeW1ib2xdICYmIGRhdGEpIHtcbiAgICAgICAgdW5zb3J0ZWRTdW1tYXJ5W3BhcmFtLnN5bWJvbF0uZGF0YS5wdXNoKGRhdGEpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHVuc29ydGVkU3VtbWFyeTtcbiAgICB9LCB1bnNvcnRlZFN1bW1hcnkpO1xuICB9LCB1bnNvcnRlZFN1bW1hcnkpO1xuXG4gIGNvbnN0IHN1bW1hcnlBcnJheUVudHJpZXMgPSBPYmplY3QuZW50cmllcyh1bnNvcnRlZFN1bW1hcnkpLnNvcnQoXG4gICAgKFtuYW1lX2EsIHZhbHVlc19hXSwgW25hbWVfYiwgdmFsdWVzX2JdKSA9PlxuICAgICAgdmFsdWVzX2IucGFyYW1ldGVyX2ZhbWlseSAtIHZhbHVlc19hLnBhcmFtZXRlcl9mYW1pbHkgfHxcbiAgICAgIG5hbWVfYS5sb2NhbGVDb21wYXJlKG5hbWVfYiksXG4gICk7XG5cbiAgY29uc3Qgc29ydGVkU3VtbWFyeTogUGFyYW1ldGVyc1N1bW1hcnkgPSB7fTtcbiAgc3VtbWFyeUFycmF5RW50cmllcy5mb3JFYWNoKChwYXJhbSkgPT4ge1xuICAgIHNvcnRlZFN1bW1hcnlbcGFyYW1bMF1dID0gcGFyYW1bMV07XG4gIH0pO1xuXG4gIHJldHVybiBzb3J0ZWRTdW1tYXJ5O1xufTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlVGFibGVEYXRhID0gKHJlc3VsdHNBcnI6IExhYlJlc3VsdHNbXSkgPT4ge1xuICBjb25zdCBoZWFkZXJzID0gW1xuICAgIGkxOG4udCgnZGFzaGJvYXJkX3YyLnNhbXBsaW5nX3BhcmFtZXRlcnMuc2FtcGxpbmctZGF0ZScpLFxuXG4gICAgLy8gaTE4bi50KCdkYXNoYm9hcmRfdjIuc2FtcGxpbmdfcGFyYW1ldGVycy5zaXRlJyksXG5cbiAgICBpMThuLnQoJ2Rhc2hib2FyZF92Mi5zYW1wbGluZ19wYXJhbWV0ZXJzLnBhcmFtZXRlcnMnKSxcblxuICAgIGkxOG4udCgnZGFzaGJvYXJkX3YyLnNhbXBsaW5nX3BhcmFtZXRlcnMuZXhjZXB0aW9ucycpLFxuXG4gICAgaTE4bi50KCdkYXNoYm9hcmRfdjIuc2FtcGxpbmdfcGFyYW1ldGVycy5ub3JtYWwnKSxcblxuICAgIGkxOG4udCgnc3RhdHVzJyksXG4gIF07XG5cbiAgLy8gY29uc3Qgcm93cyA9IHJlc3VsdHNBcnIubGFiX3Jlc3VsdHMubWFwKChpKSA9PiByb3dNYXBwZXIoaSkpO1xuICBjb25zdCByb3dzID0gcmVzdWx0c0Fyci5tYXAoKGkpID0+IHJvd01hcHBlcihpKSk7XG5cbiAgY29uc3QgZXhjZXB0aW9uc1N1bW1hcnkgPSBleGNlcHRpb25TdGF0dXNDb3VudGVyKHJlc3VsdHNBcnIpO1xuICBjb25zdCBleGNlcHRpb25zID0gT2JqZWN0LnZhbHVlcyhleGNlcHRpb25zU3VtbWFyeSkgYXMgQXJyYXk8RXhjZXB0aW9uPjtcbiAgY29uc3QgcGFyYW1ldGVyc1N1bW1hcnkgPSBwYXJhbWV0ZXJzUmVkdWNlcihyZXN1bHRzQXJyKTtcblxuICByZXR1cm4ge1xuICAgIGhlYWRlcnMsXG4gICAgcm93cyxcbiAgICBleGNlcHRpb25zLFxuICAgIHBhcmFtZXRlcnNTdW1tYXJ5LFxuICB9O1xufTtcbiJdfQ==
|