@kando-env/kando-ui 1.2.47-alpha.26 → 1.2.47-alpha.28
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/components/SevereEvent/SevereEvent.js +17 -17
- package/lib/components/SevereEvent/SevereEvent.scss +21 -10
- package/lib/i18n/en.json +3 -0
- package/lib/i18n/he.json +3 -0
- package/lib/macros/getVersion.js +1 -1
- package/lib/pages/EventsPage/events/EventsStyle.scss +1 -0
- package/lib/pages/EventsPage/events/events_list/EventsList.js +4 -4
- package/package.json +1 -1
|
@@ -147,13 +147,26 @@ var SevereEvent = function SevereEvent(_ref) {
|
|
|
147
147
|
className: "type-title"
|
|
148
148
|
}, _i18n.default.t('dashboard_v2.utility_dashboard.most-severe-events.total-time'), ":"), /*#__PURE__*/_react.default.createElement("div", {
|
|
149
149
|
className: "time"
|
|
150
|
-
}, total)), /*#__PURE__*/_react.default.createElement("div", {
|
|
150
|
+
}, total)))), etaWWTP && /*#__PURE__*/_react.default.createElement("div", {
|
|
151
|
+
className: "eta-wwtp"
|
|
152
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
153
|
+
className: "type-title"
|
|
154
|
+
}, _i18n.default.t('dashboard_v2.utility_dashboard.most-severe-events.eta-wwtp'), ":"), /*#__PURE__*/_react.default.createElement("div", {
|
|
155
|
+
className: "info"
|
|
156
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
157
|
+
className: "date "
|
|
158
|
+
}, etaWWTP.date, /*#__PURE__*/_react.default.createElement("span", {
|
|
159
|
+
className: "time"
|
|
160
|
+
}, " (", etaWWTP.time, ")")), /*#__PURE__*/_react.default.createElement("a", {
|
|
161
|
+
href: "#",
|
|
162
|
+
className: "more "
|
|
163
|
+
}, etaWWTP.interestPoints ? "".concat(etaWWTP.interestPoints, " ").concat(_i18n.default.t('dashboard_v2.utility_dashboard.most-severe-events.more-interset')) : ''))), /*#__PURE__*/_react.default.createElement("div", {
|
|
151
164
|
className: "alert-icon"
|
|
152
165
|
}, exceptionAlert !== undefined && exceptionAlert.event_ids.includes(event.id) && exceptionAlert.messages.map(function (msg) {
|
|
153
166
|
if (msg.event_id === event.id) {
|
|
154
167
|
return /*#__PURE__*/_react.default.createElement(_InfoTooltip.InfoTooltip, {
|
|
155
168
|
data: msg.message,
|
|
156
|
-
title: '',
|
|
169
|
+
title: _i18n.default.t('events_overview.event_alert_title'),
|
|
157
170
|
alignToBottom: false,
|
|
158
171
|
alternateIcon: /*#__PURE__*/_react.default.createElement(_AlertIcon.ReactComponent, null),
|
|
159
172
|
reversed: true,
|
|
@@ -162,20 +175,7 @@ var SevereEvent = function SevereEvent(_ref) {
|
|
|
162
175
|
} else {
|
|
163
176
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
|
|
164
177
|
}
|
|
165
|
-
}))
|
|
166
|
-
className: "eta-wwtp"
|
|
167
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
168
|
-
className: "type-title"
|
|
169
|
-
}, _i18n.default.t('dashboard_v2.utility_dashboard.most-severe-events.eta-wwtp'), ":"), /*#__PURE__*/_react.default.createElement("div", {
|
|
170
|
-
className: "info"
|
|
171
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
172
|
-
className: "date "
|
|
173
|
-
}, etaWWTP.date, /*#__PURE__*/_react.default.createElement("span", {
|
|
174
|
-
className: "time"
|
|
175
|
-
}, " (", etaWWTP.time, ")")), /*#__PURE__*/_react.default.createElement("a", {
|
|
176
|
-
href: "#",
|
|
177
|
-
className: "more "
|
|
178
|
-
}, etaWWTP.interestPoints ? "".concat(etaWWTP.interestPoints, " ").concat(_i18n.default.t('dashboard_v2.utility_dashboard.most-severe-events.more-interset')) : ''))), /*#__PURE__*/_react.default.createElement(_Eta.default, {
|
|
178
|
+
})), /*#__PURE__*/_react.default.createElement(_Eta.default, {
|
|
179
179
|
event: event
|
|
180
180
|
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
181
181
|
className: "msg".concat(msg ? ' on' : '')
|
|
@@ -187,4 +187,4 @@ var SevereEvent = function SevereEvent(_ref) {
|
|
|
187
187
|
|
|
188
188
|
exports.SevereEvent = SevereEvent;
|
|
189
189
|
var severities = ['low', 'high', 'extreme'];
|
|
190
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1NldmVyZUV2ZW50L1NldmVyZUV2ZW50LnRzeCJdLCJuYW1lcyI6WyJTZXZlcmVFdmVudCIsImV0YVdXVFAiLCJtc2ciLCJldmVudCIsImhhbmRsZUNsaWNrIiwib25Nb3VzZUVudGVyRXZlbnQiLCJvbk1vdXNlTGVhdmVFdmVudCIsImV4Y2VwdGlvbkFsZXJ0IiwidmFsaWRhdGVFdmVudCIsInBhcnNlRXZlbnREYXRhIiwibGFzdHNlZW4iLCJvYnNlcnZhdGlvbnMiLCJzb3J0Iiwib2JzMSIsIm9iczIiLCJsYXN0X3NlZW5fdGltZSIsInNsaWNlIiwiZmlyc3RzZWVuIiwic3RhcnRfdGltZSIsImRpZmYiLCJkYXlqcyIsImV4dGVuZCIsImR1cmF0aW9uIiwibWFwcGVkRXZlbnQiLCJ0b3RhbCIsImZvcm1hdCIsImFzRGF5cyIsIml0ZW1Db250YWluZXIiLCJldmVudFNvdXJjZSIsInNvdXJjZV90eXBlIiwiaTE4biIsInQiLCJzb3VyY2VzIiwicG9pbnRfbmFtZSIsInVuZGVmaW5lZCIsInNldmVyaXRpZXMiLCJOdW1iZXIiLCJzZXZlcml0eSIsImlkIiwiZGlzY2hhcmdpbmciLCJ0b1N0cmluZyIsInRpbWVfem9uZSIsImV2ZW50X2lkcyIsImluY2x1ZGVzIiwibWVzc2FnZXMiLCJtYXAiLCJldmVudF9pZCIsIm1lc3NhZ2UiLCJkYXRlIiwidGltZSIsImludGVyZXN0UG9pbnRzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOzs7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBR0E7Ozs7Ozs7O0FBa0JPLElBQU1BLFdBQXVDLEdBQUcsU0FBMUNBLFdBQTBDLE9BU2pEO0FBQUEsTUFSSkMsT0FRSSxRQVJKQSxPQVFJO0FBQUEsc0JBUEpDLEdBT0k7QUFBQSxNQVBKQSxHQU9JLHlCQVBFLEVBT0Y7QUFBQSxNQU5KQyxLQU1JLFFBTkpBLEtBTUk7QUFBQSxNQUxKQyxXQUtJ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RUF5RUc5QyxPQUFPLGlCQUNOO0FBQUssSUFBQSxTQUFTLEVBQUM7QUFBZixrQkFDRTtBQUFLLElBQUEsU0FBUyxFQUFDO0FBQWYsS0FDRzZCLGNBQUtDLENBQUwsQ0FDQyw0REFERCxDQURILE1BREYsZUFPRTtBQUFLLElBQUEsU0FBUyxFQUFDO0FBQWYsa0JBQ0U7QUFBSyxJQUFBLFNBQVMsRUFBQztBQUFmLEtBQ0c5QixPQUFPLENBQUMrQyxJQURYLGVBRUU7QUFBTSxJQUFBLFNBQVMsRUFBQztBQUFoQixXQUEwQi9DLE9BQU8sQ0FBQ2dELElBQWxDLE1BRkYsQ0FERixlQUtFO0FBQUcsSUFBQSxJQUFJLEVBQUMsR0FBUjtBQUFZLElBQUEsU0FBUyxFQUFDO0FBQXRCLEtBQ0doRCxPQUFPLENBQUNpRCxjQUFSLGFBQ01qRCxPQUFPLENBQUNpRCxjQURkLGNBQ2dDcEIsY0FBS0MsQ0FBTCxDQUMzQixpRUFEMkIsQ0FEaEMsSUFJRyxFQUxOLENBTEYsQ0FQRixDQTFFSixlQWdHRSw2QkFBQyxZQUFEO0FBQUssSUFBQSxLQUFLLEVBQUU1QjtBQUFaLElBaEdGLGVBa0dFO0FBQUssSUFBQSxTQUFTLGVBQVFELEdBQUcsR0FBRyxLQUFILEdBQVcsRUFBdEI7QUFBZCxrQkFDRSw2QkFBQyxvQkFBRDtBQUFNLElBQUEsS0FBSyxFQUFDLE1BQVo7QUFBbUIsSUFBQSxNQUFNLEVBQUM7QUFBMUIsSUFERixFQUVHQSxHQUZILENBbEdGLENBakJGLENBREY7QUEySEQsQ0ExTE07OztBQTRMUCxJQUFNaUMsVUFBVSxHQUFHLENBQUMsS0FBRCxFQUFRLE1BQVIsRUFBZ0IsU0FBaEIsQ0FBbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgaTE4biBmcm9tICcuLi8uLi91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgVGltZUZvcm1hdCBmcm9tICcuLi8uLi91dGlsaXRpZXMvVGltZUZvcm1hdCc7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBJbmZvIH0gZnJvbSAnLi9hc3NldHMvaW5mby5zdmcnO1xuaW1wb3J0IEV0YSBmcm9tICcuL0V0YS9FdGEnO1xuaW1wb3J0ICcuL1NldmVyZUV2ZW50LnNjc3MnO1xuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcbmltcG9ydCBkdXJhdGlvbiBmcm9tICdkYXlqcy9wbHVnaW4vZHVyYXRpb24nO1xuaW1wb3J0IHsgZXRhV1dUUCB9IGZyb20gJ3NyYy9wYWdlcy9VdGlsaXR5RGFzaGJvYXJkUGFnZS9Nb3N0U2V2ZXJlRXZlbnRzL21vZGVscyc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHsgSW5mb1Rvb2x0aXAgfSBmcm9tICcuLi8uLi91aS1raXQvSW5mb1Rvb2x0aXAvSW5mb1Rvb2x0aXAnO1xuaW1wb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgQWxlcnRJY29uIH0gZnJvbSAnLi9BbGVydEljb24uc3ZnJztcblxuZXhwb3J0IGludGVyZmFjZSBTZXZlcmVFdmVudFByb3BzIHtcbiAgZXRhV1dUUD86IGV0YVdXVFA7XG4gIG1zZz86IHN0cmluZztcbiAgZXZlbnQ6IElFdmVudDtcbiAgb25Nb3VzZUVudGVyRXZlbnQ/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgb25Nb3VzZUxlYXZlRXZlbnQ/OiAoKSA9PiB2b2lkO1xuICBoYW5kbGVDbGljaz86IChhcmcyOiBhbnksIGFyZzE6IGFueSkgPT4gdm9pZDtcbiAgdmFsdWVzRnJvbUtRTD86IHN0cmluZztcbiAgZXhjZXB0aW9uQWxlcnQ/OiB7XG4gICAgbWVzc2FnZXM6IHsgbWVzc2FnZTogYW55OyBldmVudF9pZDogbnVtYmVyIH1bXTtcbiAgICBldmVudF9pZHM6IG51bWJlcltdO1xuICB9O1xuICB2YWxpZGF0ZUV2ZW50PzogKGV2ZW50OiBJRXZlbnQpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBTZXZlcmVFdmVudDogUmVhY3QuRkM8U2V2ZXJlRXZlbnRQcm9wcz4gPSAoe1xuICBldGFXV1RQLFxuICBtc2cgPSAnJyxcbiAgZXZlbnQsXG4gIGhhbmRsZUNsaWNrLFxuICBvbk1vdXNlRW50ZXJFdmVudCxcbiAgb25Nb3VzZUxlYXZlRXZlbnQsXG4gIGV4Y2VwdGlvbkFsZXJ0LFxuICB2YWxpZGF0ZUV2ZW50LFxufSkgPT4ge1xuICBjb25zdCBwYXJzZUV2ZW50RGF0YSA9IChldmVudDogSUV2ZW50KSA9PiB7XG4gICAgY29uc3QgbGFzdHNlZW4gPSBldmVudC5vYnNlcnZhdGlvbnNcbiAgICAgIC5zb3J0KChvYnMxLCBvYnMyKSA9PiB7XG4gICAgICAgIHJldHVybiBvYnMxLmxhc3Rfc2Vlbl90aW1lIC0gb2JzMi5sYXN0X3NlZW5fdGltZTtcbiAgICAgIH0pXG4gICAgICAuc2xpY2UoLTEpWzBdO1xuXG4gICAgY29uc3QgZmlyc3RzZWVuID0gZXZlbnQub2JzZXJ2YXRpb25zLnNvcnQoKG9iczEsIG9iczIpID0+IHtcbiAgICAgIHJldHVybiBvYnMxLnN0YXJ0X3RpbWUgLSBvYnMyLnN0YXJ0X3RpbWU7XG4gICAgfSlbMF07XG5cbiAgICBjb25zdCBkaWZmID0gbGFzdHNlZW4ubGFzdF9zZWVuX3RpbWUgLSBmaXJzdHNlZW4uc3RhcnRfdGltZTtcbiAgICBkYXlqcy5leHRlbmQoZHVyYXRpb24pO1xuXG4gICAgY29uc3QgbWFwcGVkRXZlbnQ6IGFueSA9IHtcbiAgICAgIGxhc3RzZWVuLFxuICAgICAgZmlyc3RzZWVuLFxuICAgICAgdG90YWw6IGRheWpzXG4gICAgICAgIC5kdXJhdGlvbihkaWZmICogMTAwMClcbiAgICAgICAgLmZvcm1hdChcbiAgICAgICAgICBkYXlqcy5kdXJhdGlvbihkaWZmICogMTAwMCkuYXNEYXlzKCkgPj0gMVxuICAgICAgICAgICAgPyAnRERbZF06SEhbaF06bW1bbV0nXG4gICAgICAgICAgICA6ICdISFtoXTptbVttXScsXG4gICAgICAgICksXG4gICAgfTtcblxuICAgIHJldHVybiBtYXBwZWRFdmVudDtcbiAgfTtcbiAgY29uc3QgeyBmaXJzdHNlZW4sIGxhc3RzZWVuLCB0b3RhbCB9ID0gdXNlTWVtbyhcbiAgICAoKSA9PiBwYXJzZUV2ZW50RGF0YShldmVudCksXG4gICAgW2V2ZW50XSxcbiAgKTtcbiAgY29uc3QgaXRlbUNvbnRhaW5lciA9IHVzZVJlZjxhbnk+KG51bGwpO1xuXG4gIC8qIFNob3cgbmFtZSBpbiB0aGUgdGl0bGUgZm9yIGZhY3RvcmllcyBvbmx5ICovXG4gIGNvbnN0IGV2ZW50U291cmNlID0gKGV2ZW50OiBJRXZlbnQpID0+IHtcbiAgICBpZiAoZXZlbnQuc291cmNlX3R5cGUgPT09ICdmYWN0b3J5Jykge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzb3VyY2VcIj5cbiAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIudXRpbGl0eV9kYXNoYm9hcmQubW9zdC1zZXZlcmUtZXZlbnRzLnNvdXJjZScpfVxuICAgICAgICAgIDombmJzcDtcbiAgICAgICAgICB7Zmlyc3QoZXZlbnQuc291cmNlcyk/LnBvaW50X25hbWUgfHwgJ05vIE5hbWUnfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICB2YWxpZGF0ZUV2ZW50ICE9PSB1bmRlZmluZWQgJiYgdmFsaWRhdGVFdmVudChldmVudCk7XG4gIH0sIFtdKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHJlZj17aXRlbUNvbnRhaW5lcn1cbiAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUNsaWNrICYmIGhhbmRsZUNsaWNrKGV2ZW50LCBpdGVtQ29udGFpbmVyKX1cbiAgICAgIG9uTW91c2VFbnRlcj17KCkgPT4gb25Nb3VzZUVudGVyRXZlbnQgJiYgb25Nb3VzZUVudGVyRXZlbnQoZXZlbnQpfVxuICAgICAgb25Nb3VzZUxlYXZlPXsoKSA9PiBvbk1vdXNlTGVhdmVFdmVudCAmJiBvbk1vdXNlTGVhdmVFdmVudCgpfVxuICAgICAgY2xhc3NOYW1lPXtgc2V2ZXJlLWV2ZW50ICR7c2V2ZXJpdGllc1tOdW1iZXIoZXZlbnQuc2V2ZXJpdHkpXX1gfVxuICAgICAgZGF0YS1ldmVudC1pZD17ZXZlbnQuaWR9XG4gICAgPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0b3BcIj5cbiAgICAgICAge2V2ZW50U291cmNlKGV2ZW50KX1cblxuICAgICAgICB7ZXZlbnQuZGlzY2hhcmdpbmcgJiYgKFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGlzY2hhcmdpbmdcIj5cbiAgICAgICAgICAgIHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5kaXNjaGFyZ2luZycpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbnRlbnRcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzZWVuXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkZXRhaWxzXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpcnN0XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidHlwZS10aXRsZVwiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAnZGFzaGJvYXJkX3YyLnV0aWxpdHlfZGFzaGJvYXJkLm1vc3Qtc2V2ZXJlLWV2ZW50cy5maXJzdC1zZWVuJyxcbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDpcbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIm1vYmlsZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWRkclwiPntmaXJzdHNlZW4ucG9pbnRfbmFtZX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRhdGVcIj5cbiAgICAgICAgICAgICAgICAgIDxUaW1lRm9ybWF0XG4gICAgICAgICAgICAgICAgICAgIHRpbWVzdGFtcD17Zmlyc3RzZWVuLnN0YXJ0X3RpbWUudG9TdHJpbmcoKX1cbiAgICAgICAgICAgICAgICAgICAgdGltZV96b25lPXtmaXJzdHNlZW4udGltZV96b25lLnRvU3RyaW5nKCl9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGFzdFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInR5cGUtdGl0bGVcIj5cbiAgICAgICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgICAgIHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAnZGFzaGJvYXJkX3YyLnV0aWxpdHlfZGFzaGJvYXJkLm1vc3Qtc2V2ZXJlLWV2ZW50cy5sYXN0LXNlZW4nLFxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgOlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwibW9iaWxlXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhZGRyXCI+e2xhc3RzZWVuLnBvaW50X25hbWV9PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkYXRlXCI+XG4gICAgICAgICAgICAgICAgICA8VGltZUZvcm1hdFxuICAgICAgICAgICAgICAgICAgICB0aW1lc3RhbXA9e2xhc3RzZWVuLmxhc3Rfc2Vlbl90aW1lLnRvU3RyaW5nKCl9XG4gICAgICAgICAgICAgICAgICAgIHRpbWVfem9uZT17bGFzdHNlZW4udGltZV96b25lLnRvU3RyaW5nKCl9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2xvd2VyX2RldGFpbHMnfT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidG90YWwtdGltZVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInR5cGUtdGl0bGVcIj5cbiAgICAgICAgICAgICAgICB7aTE4bi50KFxuICAgICAgICAgICAgICAgICAgJ2Rhc2hib2FyZF92Mi51dGlsaXR5X2Rhc2hib2FyZC5tb3N0LXNldmVyZS1ldmVudHMudG90YWwtdGltZScsXG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICB7LypUb3RhbCB0aW1lKi99OlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0aW1lXCI+e3RvdGFsfTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFsZXJ0LWljb25cIj5cbiAgICAgICAgICAgICAge2V4Y2VwdGlvbkFsZXJ0ICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgICAgICBleGNlcHRpb25BbGVydC5ldmVudF9pZHMuaW5jbHVkZXMoZXZlbnQuaWQpICYmXG4gICAgICAgICAgICAgICAgZXhjZXB0aW9uQWxlcnQubWVzc2FnZXMubWFwKChtc2cpID0+IHtcbiAgICAgICAgICAgICAgICAgIGlmIChtc2cuZXZlbnRfaWQgPT09IGV2ZW50LmlkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgPEluZm9Ub29sdGlwXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhPXttc2cubWVzc2FnZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPXsnJ31cbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduVG9Cb3R0b209e2ZhbHNlfVxuICAgICAgICAgICAgICAgICAgICAgICAgYWx0ZXJuYXRlSWNvbj17PEFsZXJ0SWNvbiAvPn1cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldmVyc2VkPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZz17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPD48Lz5cbiAgICAgICAgICAgICAgICAgICAgICA8L0luZm9Ub29sdGlwPlxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDw+PC8+O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB7ZXRhV1dUUCAmJiAoXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJldGEtd3d0cFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0eXBlLXRpdGxlXCI+XG4gICAgICAgICAgICAgIHtpMThuLnQoXG4gICAgICAgICAgICAgICAgJ2Rhc2hib2FyZF92Mi51dGlsaXR5X2Rhc2hib2FyZC5tb3N0LXNldmVyZS1ldmVudHMuZXRhLXd3dHAnLFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA6XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW5mb1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRhdGUgXCI+XG4gICAgICAgICAgICAgICAge2V0YVdXVFAuZGF0ZX1cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0aW1lXCI+ICh7ZXRhV1dUUC50aW1lfSk8L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzTmFtZT1cIm1vcmUgXCI+XG4gICAgICAgICAgICAgICAge2V0YVdXVFAuaW50ZXJlc3RQb2ludHNcbiAgICAgICAgICAgICAgICAgID8gYCR7ZXRhV1dUUC5pbnRlcmVzdFBvaW50c30gJHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgJ2Rhc2hib2FyZF92Mi51dGlsaXR5X2Rhc2hib2FyZC5tb3N0LXNldmVyZS1ldmVudHMubW9yZS1pbnRlcnNldCcsXG4gICAgICAgICAgICAgICAgICAgICl9YFxuICAgICAgICAgICAgICAgICAgOiAnJ31cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG4gICAgICAgIDxFdGEgZXZlbnQ9e2V2ZW50fSAvPlxuXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgbXNnJHttc2cgPyAnIG9uJyA6ICcnfWB9PlxuICAgICAgICAgIDxJbmZvIHdpZHRoPVwiMTNweFwiIGhlaWdodD1cIjEycHhcIiAvPlxuICAgICAgICAgIHttc2d9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5jb25zdCBzZXZlcml0aWVzID0gWydsb3cnLCAnaGlnaCcsICdleHRyZW1lJ107XG4iXX0=
|
|
190
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1NldmVyZUV2ZW50L1NldmVyZUV2ZW50LnRzeCJdLCJuYW1lcyI6WyJTZXZlcmVFdmVudCIsImV0YVdXVFAiLCJtc2ciLCJldmVudCIsImhhbmRsZUNsaWNrIiwib25Nb3VzZUVudGVyRXZlbnQiLCJvbk1vdXNlTGVhdmVFdmVudCIsImV4Y2VwdGlvbkFsZXJ0IiwidmFsaWRhdGVFdmVudCIsInBhcnNlRXZlbnREYXRhIiwibGFzdHNlZW4iLCJvYnNlcnZhdGlvbnMiLCJzb3J0Iiwib2JzMSIsIm9iczIiLCJsYXN0X3NlZW5fdGltZSIsInNsaWNlIiwiZmlyc3RzZWVuIiwic3RhcnRfdGltZSIsImRpZmYiLCJkYXlqcyIsImV4dGVuZCIsImR1cmF0aW9uIiwibWFwcGVkRXZlbnQiLCJ0b3RhbCIsImZvcm1hdCIsImFzRGF5cyIsIml0ZW1Db250YWluZXIiLCJldmVudFNvdXJjZSIsInNvdXJjZV90eXBlIiwiaTE4biIsInQiLCJzb3VyY2VzIiwicG9pbnRfbmFtZSIsInVuZGVmaW5lZCIsInNldmVyaXRpZXMiLCJOdW1iZXIiLCJzZXZlcml0eSIsImlkIiwiZGlzY2hhcmdpbmciLCJ0b1N0cmluZyIsInRpbWVfem9uZSIsImRhdGUiLCJ0aW1lIiwiaW50ZXJlc3RQb2ludHMiLCJldmVudF9pZHMiLCJpbmNsdWRlcyIsIm1lc3NhZ2VzIiwibWFwIiwiZXZlbnRfaWQiLCJtZXNzYWdlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOzs7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBR0E7Ozs7Ozs7O0FBa0JPLElBQU1BLFdBQXVDLEdBQUcsU0FBMUNBLFdBQTBDLE9BU2pEO0FBQUEsTUFSSkMsT0FRSSxRQVJKQSxPQVFJO0FBQUEsc0JBUEpDLEdBT0k7QUFBQSxNQVBKQSxHQU9JLHlCQVBFLEVBT0Y7QUFBQSxNQU5KQyxLQU1JLFFBTkpBLEtBTUk7QUFBQSxNQUxKQyxXQUtJ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QUF6QixDQUFrQzNDLEtBQUssQ0FBQ21DLEVBQXhDLENBREQsSUFFQy9CLGNBQWMsQ0FBQ3dDLFFBQWYsQ0FBd0JDLEdBQXhCLENBQTRCLFVBQUM5QyxHQUFELEVBQVM7QUFDbkMsUUFBSUEsR0FBRyxDQUFDK0MsUUFBSixLQUFpQjlDLEtBQUssQ0FBQ21DLEVBQTNCLEVBQStCO0FBQzdCLDBCQUNFLDZCQUFDLHdCQUFEO0FBQ0UsUUFBQSxJQUFJLEVBQUVwQyxHQUFHLENBQUNnRCxPQURaO0FBRUUsUUFBQSxLQUFLLEVBQUVwQixjQUFLQyxDQUFMLENBQU8sbUNBQVAsQ0FGVDtBQUdFLFFBQUEsYUFBYSxFQUFFLEtBSGpCO0FBSUUsUUFBQSxhQUFhLGVBQUUsNkJBQUMseUJBQUQsT0FKakI7QUFLRSxRQUFBLFFBQVEsRUFBRSxJQUxaO0FBTUUsUUFBQSxPQUFPLEVBQUU7QUFOWCxzQkFRRSwyREFSRixDQURGO0FBWUQsS0FiRCxNQWFPO0FBQ0wsMEJBQU8sMkRBQVA7QUFDRDtBQUNGLEdBakJELENBSEosQ0ExRUYsZUFnR0UsNkJBQUMsWUFBRDtBQUFLLElBQUEsS0FBSyxFQUFFNUI7QUFBWixJQWhHRixlQWtHRTtBQUFLLElBQUEsU0FBUyxlQUFRRCxHQUFHLEdBQUcsS0FBSCxHQUFXLEVBQXRCO0FBQWQsa0JBQ0UsNkJBQUMsb0JBQUQ7QUFBTSxJQUFBLEtBQUssRUFBQyxNQUFaO0FBQW1CLElBQUEsTUFBTSxFQUFDO0FBQTFCLElBREYsRUFFR0EsR0FGSCxDQWxHRixDQWpCRixDQURGO0FBMkhELENBMUxNOzs7QUE0TFAsSUFBTWlDLFVBQVUsR0FBRyxDQUFDLEtBQUQsRUFBUSxNQUFSLEVBQWdCLFNBQWhCLENBQW5CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgZmlyc3QgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IGkxOG4gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IFRpbWVGb3JtYXQgZnJvbSAnLi4vLi4vdXRpbGl0aWVzL1RpbWVGb3JtYXQnO1xuaW1wb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgSW5mbyB9IGZyb20gJy4vYXNzZXRzL2luZm8uc3ZnJztcbmltcG9ydCBFdGEgZnJvbSAnLi9FdGEvRXRhJztcbmltcG9ydCAnLi9TZXZlcmVFdmVudC5zY3NzJztcbmltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XG5pbXBvcnQgZHVyYXRpb24gZnJvbSAnZGF5anMvcGx1Z2luL2R1cmF0aW9uJztcbmltcG9ydCB7IGV0YVdXVFAgfSBmcm9tICdzcmMvcGFnZXMvVXRpbGl0eURhc2hib2FyZFBhZ2UvTW9zdFNldmVyZUV2ZW50cy9tb2RlbHMnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCB7IEluZm9Ub29sdGlwIH0gZnJvbSAnLi4vLi4vdWkta2l0L0luZm9Ub29sdGlwL0luZm9Ub29sdGlwJztcbmltcG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIEFsZXJ0SWNvbiB9IGZyb20gJy4vQWxlcnRJY29uLnN2Zyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2V2ZXJlRXZlbnRQcm9wcyB7XG4gIGV0YVdXVFA/OiBldGFXV1RQO1xuICBtc2c/OiBzdHJpbmc7XG4gIGV2ZW50OiBJRXZlbnQ7XG4gIG9uTW91c2VFbnRlckV2ZW50PzogKGV2ZW50OiBhbnkpID0+IHZvaWQ7XG4gIG9uTW91c2VMZWF2ZUV2ZW50PzogKCkgPT4gdm9pZDtcbiAgaGFuZGxlQ2xpY2s/OiAoYXJnMjogYW55LCBhcmcxOiBhbnkpID0+IHZvaWQ7XG4gIHZhbHVlc0Zyb21LUUw/OiBzdHJpbmc7XG4gIGV4Y2VwdGlvbkFsZXJ0Pzoge1xuICAgIG1lc3NhZ2VzOiB7IG1lc3NhZ2U6IGFueTsgZXZlbnRfaWQ6IG51bWJlciB9W107XG4gICAgZXZlbnRfaWRzOiBudW1iZXJbXTtcbiAgfTtcbiAgdmFsaWRhdGVFdmVudD86IChldmVudDogSUV2ZW50KSA9PiB2b2lkO1xufVxuXG5leHBvcnQgY29uc3QgU2V2ZXJlRXZlbnQ6IFJlYWN0LkZDPFNldmVyZUV2ZW50UHJvcHM+ID0gKHtcbiAgZXRhV1dUUCxcbiAgbXNnID0gJycsXG4gIGV2ZW50LFxuICBoYW5kbGVDbGljayxcbiAgb25Nb3VzZUVudGVyRXZlbnQsXG4gIG9uTW91c2VMZWF2ZUV2ZW50LFxuICBleGNlcHRpb25BbGVydCxcbiAgdmFsaWRhdGVFdmVudCxcbn0pID0+IHtcbiAgY29uc3QgcGFyc2VFdmVudERhdGEgPSAoZXZlbnQ6IElFdmVudCkgPT4ge1xuICAgIGNvbnN0IGxhc3RzZWVuID0gZXZlbnQub2JzZXJ2YXRpb25zXG4gICAgICAuc29ydCgob2JzMSwgb2JzMikgPT4ge1xuICAgICAgICByZXR1cm4gb2JzMS5sYXN0X3NlZW5fdGltZSAtIG9iczIubGFzdF9zZWVuX3RpbWU7XG4gICAgICB9KVxuICAgICAgLnNsaWNlKC0xKVswXTtcblxuICAgIGNvbnN0IGZpcnN0c2VlbiA9IGV2ZW50Lm9ic2VydmF0aW9ucy5zb3J0KChvYnMxLCBvYnMyKSA9PiB7XG4gICAgICByZXR1cm4gb2JzMS5zdGFydF90aW1lIC0gb2JzMi5zdGFydF90aW1lO1xuICAgIH0pWzBdO1xuXG4gICAgY29uc3QgZGlmZiA9IGxhc3RzZWVuLmxhc3Rfc2Vlbl90aW1lIC0gZmlyc3RzZWVuLnN0YXJ0X3RpbWU7XG4gICAgZGF5anMuZXh0ZW5kKGR1cmF0aW9uKTtcblxuICAgIGNvbnN0IG1hcHBlZEV2ZW50OiBhbnkgPSB7XG4gICAgICBsYXN0c2VlbixcbiAgICAgIGZpcnN0c2VlbixcbiAgICAgIHRvdGFsOiBkYXlqc1xuICAgICAgICAuZHVyYXRpb24oZGlmZiAqIDEwMDApXG4gICAgICAgIC5mb3JtYXQoXG4gICAgICAgICAgZGF5anMuZHVyYXRpb24oZGlmZiAqIDEwMDApLmFzRGF5cygpID49IDFcbiAgICAgICAgICAgID8gJ0REW2RdOkhIW2hdOm1tW21dJ1xuICAgICAgICAgICAgOiAnSEhbaF06bW1bbV0nLFxuICAgICAgICApLFxuICAgIH07XG5cbiAgICByZXR1cm4gbWFwcGVkRXZlbnQ7XG4gIH07XG4gIGNvbnN0IHsgZmlyc3RzZWVuLCBsYXN0c2VlbiwgdG90YWwgfSA9IHVzZU1lbW8oXG4gICAgKCkgPT4gcGFyc2VFdmVudERhdGEoZXZlbnQpLFxuICAgIFtldmVudF0sXG4gICk7XG4gIGNvbnN0IGl0ZW1Db250YWluZXIgPSB1c2VSZWY8YW55PihudWxsKTtcblxuICAvKiBTaG93IG5hbWUgaW4gdGhlIHRpdGxlIGZvciBmYWN0b3JpZXMgb25seSAqL1xuICBjb25zdCBldmVudFNvdXJjZSA9IChldmVudDogSUV2ZW50KSA9PiB7XG4gICAgaWYgKGV2ZW50LnNvdXJjZV90eXBlID09PSAnZmFjdG9yeScpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic291cmNlXCI+XG4gICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnV0aWxpdHlfZGFzaGJvYXJkLm1vc3Qtc2V2ZXJlLWV2ZW50cy5zb3VyY2UnKX1cbiAgICAgICAgICA6Jm5ic3A7XG4gICAgICAgICAge2ZpcnN0KGV2ZW50LnNvdXJjZXMpPy5wb2ludF9uYW1lIHx8ICdObyBOYW1lJ31cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgdmFsaWRhdGVFdmVudCAhPT0gdW5kZWZpbmVkICYmIHZhbGlkYXRlRXZlbnQoZXZlbnQpO1xuICB9LCBbXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICByZWY9e2l0ZW1Db250YWluZXJ9XG4gICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVDbGljayAmJiBoYW5kbGVDbGljayhldmVudCwgaXRlbUNvbnRhaW5lcil9XG4gICAgICBvbk1vdXNlRW50ZXI9eygpID0+IG9uTW91c2VFbnRlckV2ZW50ICYmIG9uTW91c2VFbnRlckV2ZW50KGV2ZW50KX1cbiAgICAgIG9uTW91c2VMZWF2ZT17KCkgPT4gb25Nb3VzZUxlYXZlRXZlbnQgJiYgb25Nb3VzZUxlYXZlRXZlbnQoKX1cbiAgICAgIGNsYXNzTmFtZT17YHNldmVyZS1ldmVudCAke3NldmVyaXRpZXNbTnVtYmVyKGV2ZW50LnNldmVyaXR5KV19YH1cbiAgICAgIGRhdGEtZXZlbnQtaWQ9e2V2ZW50LmlkfVxuICAgID5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwidG9wXCI+XG4gICAgICAgIHtldmVudFNvdXJjZShldmVudCl9XG5cbiAgICAgICAge2V2ZW50LmRpc2NoYXJnaW5nICYmIChcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRpc2NoYXJnaW5nXCI+XG4gICAgICAgICAgICB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZGlzY2hhcmdpbmcnKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb250ZW50XCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic2VlblwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGV0YWlsc1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaXJzdFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInR5cGUtdGl0bGVcIj5cbiAgICAgICAgICAgICAgICB7aTE4bi50KFxuICAgICAgICAgICAgICAgICAgJ2Rhc2hib2FyZF92Mi51dGlsaXR5X2Rhc2hib2FyZC5tb3N0LXNldmVyZS1ldmVudHMuZmlyc3Qtc2VlbicsXG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA6XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJtb2JpbGVcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFkZHJcIj57Zmlyc3RzZWVuLnBvaW50X25hbWV9PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkYXRlXCI+XG4gICAgICAgICAgICAgICAgICA8VGltZUZvcm1hdFxuICAgICAgICAgICAgICAgICAgICB0aW1lc3RhbXA9e2ZpcnN0c2Vlbi5zdGFydF90aW1lLnRvU3RyaW5nKCl9XG4gICAgICAgICAgICAgICAgICAgIHRpbWVfem9uZT17Zmlyc3RzZWVuLnRpbWVfem9uZS50b1N0cmluZygpfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhc3RcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0eXBlLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgeycgJ31cbiAgICAgICAgICAgICAgICB7aTE4bi50KFxuICAgICAgICAgICAgICAgICAgJ2Rhc2hib2FyZF92Mi51dGlsaXR5X2Rhc2hib2FyZC5tb3N0LXNldmVyZS1ldmVudHMubGFzdC1zZWVuJyxcbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDpcbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIm1vYmlsZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWRkclwiPntsYXN0c2Vlbi5wb2ludF9uYW1lfTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgPFRpbWVGb3JtYXRcbiAgICAgICAgICAgICAgICAgICAgdGltZXN0YW1wPXtsYXN0c2Vlbi5sYXN0X3NlZW5fdGltZS50b1N0cmluZygpfVxuICAgICAgICAgICAgICAgICAgICB0aW1lX3pvbmU9e2xhc3RzZWVuLnRpbWVfem9uZS50b1N0cmluZygpfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydsb3dlcl9kZXRhaWxzJ30+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRvdGFsLXRpbWVcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0eXBlLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAge2kxOG4udChcbiAgICAgICAgICAgICAgICAgICdkYXNoYm9hcmRfdjIudXRpbGl0eV9kYXNoYm9hcmQubW9zdC1zZXZlcmUtZXZlbnRzLnRvdGFsLXRpbWUnLFxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgey8qVG90YWwgdGltZSovfTpcbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGltZVwiPnt0b3RhbH08L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAge2V0YVdXVFAgJiYgKFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZXRhLXd3dHBcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidHlwZS10aXRsZVwiPlxuICAgICAgICAgICAgICB7aTE4bi50KFxuICAgICAgICAgICAgICAgICdkYXNoYm9hcmRfdjIudXRpbGl0eV9kYXNoYm9hcmQubW9zdC1zZXZlcmUtZXZlbnRzLmV0YS13d3RwJyxcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgOlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImluZm9cIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkYXRlIFwiPlxuICAgICAgICAgICAgICAgIHtldGFXV1RQLmRhdGV9XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGltZVwiPiAoe2V0YVdXVFAudGltZX0pPC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzc05hbWU9XCJtb3JlIFwiPlxuICAgICAgICAgICAgICAgIHtldGFXV1RQLmludGVyZXN0UG9pbnRzXG4gICAgICAgICAgICAgICAgICA/IGAke2V0YVdXVFAuaW50ZXJlc3RQb2ludHN9ICR7aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAgICdkYXNoYm9hcmRfdjIudXRpbGl0eV9kYXNoYm9hcmQubW9zdC1zZXZlcmUtZXZlbnRzLm1vcmUtaW50ZXJzZXQnLFxuICAgICAgICAgICAgICAgICAgICApfWBcbiAgICAgICAgICAgICAgICAgIDogJyd9XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFsZXJ0LWljb25cIj5cbiAgICAgICAgICB7ZXhjZXB0aW9uQWxlcnQgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgZXhjZXB0aW9uQWxlcnQuZXZlbnRfaWRzLmluY2x1ZGVzKGV2ZW50LmlkKSAmJlxuICAgICAgICAgICAgZXhjZXB0aW9uQWxlcnQubWVzc2FnZXMubWFwKChtc2cpID0+IHtcbiAgICAgICAgICAgICAgaWYgKG1zZy5ldmVudF9pZCA9PT0gZXZlbnQuaWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgPEluZm9Ub29sdGlwXG4gICAgICAgICAgICAgICAgICAgIGRhdGE9e21zZy5tZXNzYWdlfVxuICAgICAgICAgICAgICAgICAgICB0aXRsZT17aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZXZlbnRfYWxlcnRfdGl0bGUnKX1cbiAgICAgICAgICAgICAgICAgICAgYWxpZ25Ub0JvdHRvbT17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICAgIGFsdGVybmF0ZUljb249ezxBbGVydEljb24gLz59XG4gICAgICAgICAgICAgICAgICAgIHJldmVyc2VkPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nPXtmYWxzZX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPD48Lz5cbiAgICAgICAgICAgICAgICAgIDwvSW5mb1Rvb2x0aXA+XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gPD48Lz47XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPEV0YSBldmVudD17ZXZlbnR9IC8+XG5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Btc2cke21zZyA/ICcgb24nIDogJyd9YH0+XG4gICAgICAgICAgPEluZm8gd2lkdGg9XCIxM3B4XCIgaGVpZ2h0PVwiMTJweFwiIC8+XG4gICAgICAgICAge21zZ31cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmNvbnN0IHNldmVyaXRpZXMgPSBbJ2xvdycsICdoaWdoJywgJ2V4dHJlbWUnXTtcbiJdfQ==
|
|
@@ -9,6 +9,27 @@
|
|
|
9
9
|
border-radius: 6px;
|
|
10
10
|
overflow: visible;
|
|
11
11
|
|
|
12
|
+
.alert-icon {
|
|
13
|
+
position: absolute;
|
|
14
|
+
bottom: 10px;
|
|
15
|
+
|
|
16
|
+
[dir='rtl'] & {
|
|
17
|
+
left: 15px;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
[dir='ltr'] & {
|
|
21
|
+
right: 15px;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
svg {
|
|
25
|
+
opacity: 0.3;
|
|
26
|
+
|
|
27
|
+
&:hover {
|
|
28
|
+
opacity: 1;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
12
33
|
&.high {
|
|
13
34
|
--theme-color: #ff7635;
|
|
14
35
|
|
|
@@ -151,16 +172,6 @@
|
|
|
151
172
|
display: flex;
|
|
152
173
|
justify-content: space-between;
|
|
153
174
|
align-items: center;
|
|
154
|
-
|
|
155
|
-
.alert-icon {
|
|
156
|
-
svg {
|
|
157
|
-
opacity: 0.3;
|
|
158
|
-
|
|
159
|
-
&:hover {
|
|
160
|
-
opacity: 1;
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
175
|
}
|
|
165
176
|
|
|
166
177
|
.total-time {
|
package/lib/i18n/en.json
CHANGED
|
@@ -2936,6 +2936,9 @@
|
|
|
2936
2936
|
"events_list": "Events List",
|
|
2937
2937
|
"back_to_events": "Back to Events",
|
|
2938
2938
|
"back_to_details": "Back to info",
|
|
2939
|
+
"event_data_missing": "The event cannot be displayed on the map as the network has changed since the event creation, or lat and lng data is missing",
|
|
2940
|
+
"event_verify_coordinates": "Please make sure that the following sites and their downstream sites all have lat & lng coordinates",
|
|
2941
|
+
"event_alert_title": "Could not be displayed",
|
|
2939
2942
|
"back_to": "Back",
|
|
2940
2943
|
"source": "Source",
|
|
2941
2944
|
"sector": "Sector",
|
package/lib/i18n/he.json
CHANGED
|
@@ -2896,6 +2896,9 @@
|
|
|
2896
2896
|
"offline_events": "אירועים שנגמרו",
|
|
2897
2897
|
"back_to_events": "חזרה לאירועים",
|
|
2898
2898
|
"back_to_details": "חזרה לפרטי האירוע",
|
|
2899
|
+
"event_data_missing": "לא ניתן להציג את האירוע על המפה כיוון שהרשת השתנתה או שחסרים קואורינדטות לנקודות באירוע",
|
|
2900
|
+
"event_verify_coordinates": "אנא וודא שלאתרים הבאים ולבנים שלהם במורד הזרם, יש קואורינדטות תקינות",
|
|
2901
|
+
"event_alert_title": "לא ניתן להציג את האירוע על המפה",
|
|
2899
2902
|
"back_to": "חזור",
|
|
2900
2903
|
"source": "מקור",
|
|
2901
2904
|
"sector": "סקטור",
|
package/lib/macros/getVersion.js
CHANGED
|
@@ -154,7 +154,7 @@ var EventsList = function EventsList(_ref) {
|
|
|
154
154
|
});
|
|
155
155
|
|
|
156
156
|
if (edge === undefined) {
|
|
157
|
-
invalidObservationsMessages.push("".concat(observation.point_name, " (").concat(observation.point_id, ")"));
|
|
157
|
+
invalidObservationsMessages.push("".concat(observation.point_name, " (").concat(observation.point_id, ") "));
|
|
158
158
|
}
|
|
159
159
|
}
|
|
160
160
|
});
|
|
@@ -167,7 +167,7 @@ var EventsList = function EventsList(_ref) {
|
|
|
167
167
|
if (index === -1) {
|
|
168
168
|
setExceptionAlert({
|
|
169
169
|
messages: [].concat((0, _toConsumableArray2.default)(exceptionAlert.messages), [{
|
|
170
|
-
message: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("p", null,
|
|
170
|
+
message: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("p", null, _i18n.default.t('events_overview.event_data_missing')), /*#__PURE__*/_react.default.createElement("span", null, invalidObservationsMessages)),
|
|
171
171
|
event_id: event.id
|
|
172
172
|
}]),
|
|
173
173
|
event_ids: [].concat((0, _toConsumableArray2.default)(exceptionAlert.event_ids), [event.id])
|
|
@@ -203,7 +203,7 @@ var EventsList = function EventsList(_ref) {
|
|
|
203
203
|
if (invalidPathMessages.length !== 0) {
|
|
204
204
|
setExceptionAlert({
|
|
205
205
|
messages: [].concat((0, _toConsumableArray2.default)(exceptionAlert.messages), [{
|
|
206
|
-
message: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("p", null,
|
|
206
|
+
message: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("p", null, _i18n.default.t('events_overview.event_verify_coordinates')), /*#__PURE__*/_react.default.createElement("span", null, invalidPathMessages)),
|
|
207
207
|
event_id: event.id
|
|
208
208
|
}]),
|
|
209
209
|
event_ids: [].concat((0, _toConsumableArray2.default)(exceptionAlert.event_ids), [event.id])
|
|
@@ -394,4 +394,4 @@ var connector = (0, _reactRedux.connect)(mapStateToProps);
|
|
|
394
394
|
var _default = connector(EventsList);
|
|
395
395
|
|
|
396
396
|
exports.default = _default;
|
|
397
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9FdmVudHNQYWdlL2V2ZW50cy9ldmVudHNfbGlzdC9FdmVudHNMaXN0LnRzeCJdLCJuYW1lcyI6WyJtYXBTdGF0ZVRvUHJvcHMiLCJzdGF0ZSIsImV2ZW50c19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJlZGdlc19kYXRhIiwicG9pbnRzX2RhdGEiLCJhcmVhc19kYXRhIiwibmF2X2NvbnRleHRfZGF0YSIsIkV2ZW50c0xpc3QiLCJzaWRlbmF2RXhwYW5kZWQiLCJkaXNwYXRjaCIsIml0ZW1zIiwiaXNGZXRjaGluZyIsImZvY3VzZWRFdmVudCIsImhvdmVyZWRFdmVudCIsImhvdmVyZWRFdmVudFBhdGhzIiwid2F0ZXJBdXRob3JpdHlJZCIsIm1hcCIsImZpbHRlclBvcHVwT3BlbiIsInNldEZpbHRlclBvcHVwT3BlbiIsIm1lc3NhZ2VzIiwibWVzc2FnZSIsImV2ZW50X2lkIiwiZXZlbnRfaWRzIiwiZXhjZXB0aW9uQWxlcnQiLCJzZXRFeGNlcHRpb25BbGVydCIsImxhc3RWaXNpdGVkIiwidXNlUXVlcnkiLCJVUkxTZWFyY2hQYXJhbXMiLCJzZWFyY2giLCJoaXN0b3J5IiwicXVlcnkiLCJnZXRLUUxWYWx1ZXNGcm9tVVJMIiwiZ2V0IiwiZ2V0RXZlbnRJZEZyb21VUkwiLCJsb2FkZXIiLCJsZW5ndGgiLCJuZXdBcmVhcyIsImhhbmRsZUV4cGFuc2lvblRvZ2dsZSIsImFwcGx5RGVmYXVsdEZpbHRlciIsInB1c2giLCJuYXZDb250ZXh0IiwibmFtZSIsImxvY2FsZSIsInZhbGlkYXRlRXZlbnQiLCJldmVudCIsImludmFsaWRPYnNlcnZhdGlvbnNNZXNzYWdlcyIsIm9ic2VydmF0aW9ucyIsImZvckVhY2giLCJvYnNlcnZhdGlvbiIsInBvaW50X2lzX3Jvb3QiLCJlZGdlIiwiZmluZCIsInNvdXJjZV9wb2ludF9pZCIsInBvaW50X2lkIiwidW5kZWZpbmVkIiwicG9pbnRfbmFtZSIsImluZGV4IiwiZmluZEluZGV4IiwibXNnIiwiaWQiLCJpbnZhbGlkUGF0aE1lc3NhZ2VzIiwicGF0aCIsImVkZ2VfaWQiLCJjb25zb2xlIiwiZXJyb3IiLCJsYXN0X29ic2VydmF0aW9uX2lkIiwibGFzdE9ic2VydmF0aW9uUG9pbnQiLCJoYW5kbGVFdmVudEl0ZW1DbGljayIsInJlZiIsIm9uTW91c2VMZWF2ZUV2ZW50IiwiZXZlbnRGaWx0ZXJQYXJhbSIsIm9uTW91c2VFbnRlckV2ZW50IiwicmVtb3ZlTGF5ZXIiLCJsYXllcnMiLCJfbGF5ZXJzIiwicHJvcGVydHkiLCJrYW5kb19vYmplY3QiLCJpbmNsdWRlcyIsInNldEZvY3VzZWRFdmVudElmRm91bmRJblBhcmFtcyIsImUiLCJwYXJzZUludCIsInRyaWdnZXJTb3J0Iiwic29ydCIsImFjdGl2ZUZpbHRlciIsIktRTCIsIlVSTCIsIm1vcmVJbmZvIiwiYWN0aXZlIiwiZmFDYXJldExlZnQiLCJmYUNhcmV0UmlnaHQiLCJmYUFycm93TGVmdCIsImkxOG4iLCJ0IiwiTGVmdEFycm93SWNvbiIsIk5vRXZlbnRzSW1hZ2UiLCJjb25uZWN0b3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUNBOztBQUtBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7OztBQUlBOztBQUVBOztBQUNBOztBQU9BOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUE5QkE7QUFnQ0EsU0FBU0EsZUFBVCxDQUF5QkMsS0FBekIsRUFBMkM7QUFDekMsTUFDRUMsV0FERixHQU9JRCxLQVBKLENBQ0VDLFdBREY7QUFBQSxNQUVFQyxXQUZGLEdBT0lGLEtBUEosQ0FFRUUsV0FGRjtBQUFBLE1BR0VDLFVBSEYsR0FPSUgsS0FQSixDQUdFRyxVQUhGO0FBQUEsTUFJRUMsV0FKRixHQU9JSixLQVBKLENBSUVJLFdBSkY7QUFBQSxNQUtFQyxVQUxGLEdBT0lMLEtBUEosQ0FLRUssVUFMRjtBQUFBLE1BTUVDLGdCQU5GLEdBT0lOLEtBUEosQ0FNRU0sZ0JBTkY7QUFTQSxT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QUFBLGlCQUFpQixFQUFFSSxpQkFIckI7QUFJRSxNQUFBLGlCQUFpQixFQUFFRixpQkFKckI7QUFLRSxNQUFBLGFBQWEsRUFBRTFCLGFBTGpCO0FBTUUsTUFBQSxjQUFjLEVBQUVwQjtBQU5sQixNQURGLENBRFM7QUFBQSxHQUFWLENBREgsQ0F0Qk4sQ0F0RkYsQ0FERjtBQStIRCxDQTVXRDs7QUE4V0EsSUFBTXdFLFNBQVMsR0FBRyx5QkFBUWhHLGVBQVIsQ0FBbEI7O2VBQ2VnRyxTQUFTLENBQUN4RixVQUFELEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBldGMvbm8tY29tbWVudGVkLW91dC1jb2RlICovXG5pbXBvcnQge1xuICBmYUFycm93TGVmdCxcbiAgZmFDYXJldExlZnQsXG4gIGZhQ2FyZXRSaWdodCxcbn0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSc7XG5pbXBvcnQgUmVhY3QsIHsgUmVmT2JqZWN0LCB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY29ubmVjdCwgQ29ubmVjdGVkUHJvcHMsIHVzZURpc3BhdGNoIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgTGluaywgdXNlSGlzdG9yeSwgdXNlTG9jYXRpb24gfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCBMZWZ0QXJyb3dJY29uIGZyb20gJ3NyYy9hc3NldHMvaWNvbnMvYXJyb3ctbGVmdC5zdmcnO1xuaW1wb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgRmlsdGVySWNvbiB9IGZyb20gJ3NyYy9hc3NldHMvaWNvbnMvZnVubmVsLnN2Zyc7XG5pbXBvcnQgTm9FdmVudHNJbWFnZSBmcm9tICdzcmMvYXNzZXRzL25vX2V2ZW50cy5zdmcnO1xuaW1wb3J0IHsgU2V2ZXJlRXZlbnQgfSBmcm9tICdzcmMvY29tcG9uZW50cy9TZXZlcmVFdmVudC9TZXZlcmVFdmVudCc7XG5pbXBvcnQgeyBJQXBwU3RhdGUgfSBmcm9tICdzcmMvbW9kZWxzL0lBcHBTdGF0ZSc7XG5pbXBvcnQgeyB1c2VMYXN0VmlzaXRlZCB9IGZyb20gJ3NyYy9wcm92aWRlcnMvVXJsSGlzdG9yeSc7XG5pbXBvcnQge1xuICBmZXRjaEV2ZW50cyxcbiAgc2V0Rm9jdXNlZEV2ZW50LFxuICBzZXRIb3ZlcmVkRXZlbnQsXG4gIHNldEhvdmVyZWRFdmVudFBhdGhzLFxufSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCB7IHNldEV2ZW50RmlsdGVyUGFyYW0sIHNpZGVOYXZFeHBhbmRlZCB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgYnVpbGRLUUxRdWVyeSB9IGZyb20gJ3NyYy91dGlsaXRpZXMva3FsJztcbmltcG9ydCAnLi4vRXZlbnRzU3R5bGUuc2Nzcyc7XG5pbXBvcnQgRXZlbnRJbmZvIGZyb20gJy4uL2V2ZW50X2luZm8vRXZlbnRJbmZvJztcbmltcG9ydCBNb3JlSW5mbyBmcm9tICcuLi9Nb3JlSW5mbyc7XG5pbXBvcnQgRmlsdGVyQ29udGFpbmVyIGZyb20gJy4vRmlsdGVyL0ZpbHRlckNvbnRhaW5lcic7XG5pbXBvcnQgU29ydCBmcm9tICcuL1NvcnQnO1xuXG5mdW5jdGlvbiBtYXBTdGF0ZVRvUHJvcHMoc3RhdGU6IElBcHBTdGF0ZSkge1xuICBjb25zdCB7XG4gICAgZXZlbnRzX2RhdGEsXG4gICAgZ2xvYmFsX2RhdGEsXG4gICAgZWRnZXNfZGF0YSxcbiAgICBwb2ludHNfZGF0YSxcbiAgICBhcmVhc19kYXRhLFxuICAgIG5hdl9jb250ZXh0X2RhdGEsXG4gIH0gPSBzdGF0ZTtcblxuICByZXR1cm4ge1xuICAgIGV2ZW50c19kYXRhLFxuICAgIGdsb2JhbF9kYXRhLFxuICAgIGVkZ2VzX2RhdGEsXG4gICAgcG9pbnRzX2RhdGEsXG4gICAgYXJlYXNfZGF0YSxcbiAgICBuYXZfY29udGV4dF9kYXRhLFxuICB9O1xufVxuXG50eXBlIElQcm9wcyA9IENvbm5lY3RlZFByb3BzPHR5cGVvZiBjb25uZWN0b3I+ICYge1xuICBzaWRlbmF2RXhwYW5kZWQ6IGJvb2xlYW47XG59O1xuXG5jb25zdCBFdmVudHNMaXN0OiBSZWFjdC5GQzxJUHJvcHM+ID0gKHtcbiAgYXJlYXNfZGF0YSxcbiAgcG9pbnRzX2RhdGEsXG4gIGVkZ2VzX2RhdGEsXG4gIGdsb2JhbF9kYXRhLFxuICBzaWRlbmF2RXhwYW5kZWQsXG4gIGV2ZW50c19kYXRhLFxuICBuYXZfY29udGV4dF9kYXRhLFxufSkgPT4ge1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IHsgaXRlbXMsIGlzRmV0Y2hpbmcsIGZvY3VzZWRFdmVudCwgaG92ZXJlZEV2ZW50LCBob3ZlcmVkRXZlbnRQYXRocyB9ID1cbiAgICBldmVudHNfZGF0YTtcbiAgY29uc3QgeyB3YXRlckF1dGhvcml0eUlkLCBtYXAgfSA9IGdsb2JhbF9kYXRhO1xuICBjb25zdCBbZmlsdGVyUG9wdXBPcGVuLCBzZXRGaWx0ZXJQb3B1cE9wZW5dID0gdXNlU3RhdGUodHJ1ZSk7XG4gIGNvbnN0IFtleGNlcHRpb25BbGVydCwgc2V0RXhjZXB0aW9uQWxlcnRdID0gdXNlU3RhdGU8e1xuICAgIG1lc3NhZ2VzOiB7IG1lc3NhZ2U6IGFueTsgZXZlbnRfaWQ6IG51bWJlciB9W107XG4gICAgZXZlbnRfaWRzOiBudW1iZXJbXTtcbiAgfT4oeyBtZXNzYWdlczogW3sgbWVzc2FnZTogJycsIGV2ZW50X2lkOiAwIH1dLCBldmVudF9pZHM6IFtdIH0pO1xuICBjb25zdCBsYXN0VmlzaXRlZCA9IHVzZUxhc3RWaXNpdGVkKCk7XG5cbiAgY29uc3QgdXNlUXVlcnkgPSAoKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBVUkxTZWFyY2hQYXJhbXModXNlTG9jYXRpb24oKS5zZWFyY2gpO1xuICB9O1xuICBjb25zdCBoaXN0b3J5ID0gdXNlSGlzdG9yeSgpO1xuICBjb25zdCBxdWVyeSA9IHVzZVF1ZXJ5KCk7XG4gIGNvbnN0IGdldEtRTFZhbHVlc0Zyb21VUkwgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHF1ZXJ5LmdldCgndmFsdWVzRnJvbUtRTCcpO1xuICB9O1xuICBjb25zdCBnZXRFdmVudElkRnJvbVVSTCA9ICgpID0+IHtcbiAgICByZXR1cm4gcXVlcnkuZ2V0KCdldmVudElkJyk7XG4gIH07XG5cbiAgY29uc3QgbG9hZGVyID0gKCkgPT4ge1xuICAgIGlmIChcbiAgICAgIChpc0ZldGNoaW5nICYmIGl0ZW1zLmxlbmd0aCA9PT0gMCkgfHxcbiAgICAgIGFyZWFzX2RhdGEubmV3QXJlYXMubGVuZ3RoID09PSAwIHx8XG4gICAgICBwb2ludHNfZGF0YS5pc0ZldGNoaW5nIHx8XG4gICAgICBlZGdlc19kYXRhLmlzRmV0Y2hpbmdcbiAgICApIHtcbiAgICAgIHJldHVybiA8ZGl2IGNsYXNzTmFtZT17J2xvYWRlcid9PjwvZGl2PjtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUV4cGFuc2lvblRvZ2dsZSA9ICgpID0+IHtcbiAgICBkaXNwYXRjaChzaWRlTmF2RXhwYW5kZWQoIXNpZGVuYXZFeHBhbmRlZCkpO1xuICB9O1xuXG4gIGNvbnN0IGFwcGx5RGVmYXVsdEZpbHRlciA9ICgpID0+IHtcbiAgICBoaXN0b3J5LnB1c2goXG4gICAgICBgLyR7bmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWV9L2luZGV4P3dhdGVyX2F1dGhvcml0eV9pZD0ke2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWR9JmxvY2FsZT0ke25hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5sb2NhbGV9JnZhbHVlc0Zyb21LUUw9YCxcbiAgICApO1xuICAgIGRpc3BhdGNoKHNldEV2ZW50RmlsdGVyUGFyYW0oJycpKTtcbiAgfTtcblxuICBjb25zdCB2YWxpZGF0ZUV2ZW50ID0gKGV2ZW50OiBJRXZlbnQpID0+IHtcbiAgICAvLyBjaGVjayB0aGF0IGFsbCBvYnNlcnZhdGlvbnMnIGVkZ2VzIGV4aXN0cy4gSWYgdGhleSBhcmUgbm90IGV4aXN0cyBpdCdzIGluZGljYXRlcyB0aGF0IHRoZWlyIHBvaW50cyBhcmVcbiAgICAvLyBub3QgaW4gdGhlIGhpZXJhcmNoeSBvciBkb2Vzbid0IGhhdmUgbGF0L2xuZy5cbiAgICBsZXQgaW52YWxpZE9ic2VydmF0aW9uc01lc3NhZ2VzOiBhbnkgPSBbXTtcbiAgICBldmVudC5vYnNlcnZhdGlvbnMuZm9yRWFjaCgob2JzZXJ2YXRpb246IGFueSkgPT4ge1xuICAgICAgLy8gaWYgb2JzZXJ2YXRpb24gaXMgcm9vdCAoZXguIFdXVFApIHRoZXJlIGlzIG5vIGVkZ2UgdGhhdCBpdHMgYSBzb3VyY2UuIHNvIHdlIGNhbiBza2lwIHRoaXMgY2hlY2tcbiAgICAgIGlmICghb2JzZXJ2YXRpb24ucG9pbnRfaXNfcm9vdCkge1xuICAgICAgICBsZXQgZWRnZSA9IGVkZ2VzX2RhdGEuaXRlbXMuZmluZChcbiAgICAgICAgICAoZWRnZSkgPT4gZWRnZS5zb3VyY2VfcG9pbnRfaWQgPT09IG9ic2VydmF0aW9uLnBvaW50X2lkLFxuICAgICAgICApO1xuICAgICAgICBpZiAoZWRnZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgaW52YWxpZE9ic2VydmF0aW9uc01lc3NhZ2VzLnB1c2goXG4gICAgICAgICAgICBgJHtvYnNlcnZhdGlvbi5wb2ludF9uYW1lfSAoJHtvYnNlcnZhdGlvbi5wb2ludF9pZH0pYCxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoaW52YWxpZE9ic2VydmF0aW9uc01lc3NhZ2VzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgbGV0IGluZGV4ID0gZXhjZXB0aW9uQWxlcnQubWVzc2FnZXMuZmluZEluZGV4KFxuICAgICAgICAobXNnKSA9PiBtc2cuZXZlbnRfaWQgPT09IGV2ZW50LmlkLFxuICAgICAgKTtcblxuICAgICAgaWYgKGluZGV4ID09PSAtMSkge1xuICAgICAgICBzZXRFeGNlcHRpb25BbGVydCh7XG4gICAgICAgICAgbWVzc2FnZXM6IFtcbiAgICAgICAgICAgIC4uLmV4Y2VwdGlvbkFsZXJ0Lm1lc3NhZ2VzLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBtZXNzYWdlOiAoXG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgIDxwPntgUGxlYXNlIG1ha2Ugc3VyZSB0aGF0IHRoZSBmb2xsb3dpbmcgc2l0ZXMgYXJlIGluIHRoZSBoaWVyYXJjaHkgYW5kIHRoZWlyIGxhdCAmIGxuZyBjb29yZGluYXRlcyBleGlzdGB9PC9wPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+e2ludmFsaWRPYnNlcnZhdGlvbnNNZXNzYWdlc308L3NwYW4+XG4gICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIGV2ZW50X2lkOiBldmVudC5pZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBldmVudF9pZHM6IFsuLi5leGNlcHRpb25BbGVydC5ldmVudF9pZHMsIGV2ZW50LmlkXSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gc2FtZSBjaGVjayBhcyBhYm92ZSBidXQgdGhpcyB0aW1lIGZvciB0aGUgZXZlbnQgcGF0aC4gSWYgZWRnZSBkb2Vzbid0IGV4aXN0LCBpdCdzIGluZGljYXRlcyB0aGF0IG9uZSBvZiB0aGVcbiAgICAvLyBwb2ludHMgZG93bnN0cmVhbSBkb2Vzbid0IGhhdmUgbGF0L2xuZy5cbiAgICBsZXQgaW52YWxpZFBhdGhNZXNzYWdlczogYW55ID0gW107XG4gICAgZXZlbnQucGF0aC5mb3JFYWNoKChwYXRoOiBhbnkpID0+IHtcbiAgICAgIGxldCBlZGdlID0gZWRnZXNfZGF0YS5pdGVtcy5maW5kKChlZGdlKSA9PiBlZGdlLmlkID09PSBwYXRoLmVkZ2VfaWQpO1xuICAgICAgaWYgKGVkZ2UgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zb2xlLmVycm9yKGBlZGdlICR7cGF0aC5lZGdlX2lkfSBjYW4gbm90IGJlIGZvdW5kYCk7XG4gICAgICAgIGxldCBvYnNlcnZhdGlvbiA9IGV2ZW50Lm9ic2VydmF0aW9ucy5maW5kKFxuICAgICAgICAgIChvYnNlcnZhdGlvbikgPT4gb2JzZXJ2YXRpb24uaWQgPT09IHBhdGgubGFzdF9vYnNlcnZhdGlvbl9pZCxcbiAgICAgICAgKTtcbiAgICAgICAgbGV0IGxhc3RPYnNlcnZhdGlvblBvaW50ID0gJ05vdCBmb3VuZCc7XG4gICAgICAgIGlmIChvYnNlcnZhdGlvbikge1xuICAgICAgICAgIGxhc3RPYnNlcnZhdGlvblBvaW50ID0gb2JzZXJ2YXRpb24ucG9pbnRfbmFtZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGludmFsaWRQYXRoTWVzc2FnZXMucHVzaChgJHtsYXN0T2JzZXJ2YXRpb25Qb2ludH0gYCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoaW52YWxpZFBhdGhNZXNzYWdlcy5sZW5ndGggIT09IDApIHtcbiAgICAgIHNldEV4Y2VwdGlvbkFsZXJ0KHtcbiAgICAgICAgbWVzc2FnZXM6IFtcbiAgICAgICAgICAuLi5leGNlcHRpb25BbGVydC5tZXNzYWdlcyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBtZXNzYWdlOiAoXG4gICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgPHA+e2BQbGVhc2UgbWFrZSBzdXJlIHRoYXQgdGhlIGZvbGxvd2luZyBzaXRlcyBhbmQgdGhlaXIgZG93bnN0cmVhbSBzaXRlcyBhbGwgaGF2ZSBsYXQgJiBsbmcgY29vcmRpbmF0ZXNgfTwvcD5cbiAgICAgICAgICAgICAgICA8c3Bhbj57aW52YWxpZFBhdGhNZXNzYWdlc308L3NwYW4+XG4gICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIGV2ZW50X2lkOiBldmVudC5pZCxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBldmVudF9pZHM6IFsuLi5leGNlcHRpb25BbGVydC5ldmVudF9pZHMsIGV2ZW50LmlkXSxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUV2ZW50SXRlbUNsaWNrID0gKGV2ZW50OiBJRXZlbnQsIHJlZjogUmVmT2JqZWN0PEhUTUxFbGVtZW50PikgPT4ge1xuICAgIG9uTW91c2VMZWF2ZUV2ZW50KCk7XG4gICAgLy8gaWYgKGhvdmVyZWRFdmVudFBhdGhzICYmIG1hcCkge1xuICAgIC8vICAgICBob3ZlcmVkRXZlbnRQYXRocy5mb3JFYWNoKChwYXRoKSA9PiB7XG4gICAgLy8gICAgICAgICBtYXAucmVtb3ZlTGF5ZXIocGF0aCk7XG4gICAgLy8gICAgIH0pO1xuICAgIC8vIH1cbiAgICAvLyBkaXNwYXRjaChzZXRIb3ZlcmVkRXZlbnRQYXRocyhbXSkpO1xuICAgIC8vIGRpc3BhdGNoKHNldEhvdmVyRXZlbnRJbmRpY2F0b3IobnVsbCkpO1xuICAgIGlmICh2YWxpZGF0ZUV2ZW50KGV2ZW50KSkge1xuICAgICAgZGlzcGF0Y2goc2V0Rm9jdXNlZEV2ZW50KGV2ZW50KSk7XG4gICAgICBzZXRGaWx0ZXJQb3B1cE9wZW4oZmFsc2UpO1xuICAgICAgaGlzdG9yeS5wdXNoKFxuICAgICAgICBgLyR7bmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWV9L2luZGV4P3dhdGVyX2F1dGhvcml0eV9pZD0ke2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWR9JmxvY2FsZT0ke25hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5sb2NhbGV9JmV2ZW50SWQ9JHtldmVudC5pZH0mdmFsdWVzRnJvbUtRTD0ke2dsb2JhbF9kYXRhLmV2ZW50RmlsdGVyUGFyYW19YCxcbiAgICAgICk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IG9uTW91c2VFbnRlckV2ZW50ID0gKGV2ZW50KSA9PiB7XG4gICAgaWYgKCFmb2N1c2VkRXZlbnQgJiYgIWhvdmVyZWRFdmVudCAmJiB2YWxpZGF0ZUV2ZW50KGV2ZW50KSkge1xuICAgICAgZGlzcGF0Y2goc2V0SG92ZXJlZEV2ZW50KGV2ZW50KSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IG9uTW91c2VMZWF2ZUV2ZW50ID0gKCkgPT4ge1xuICAgIGlmIChob3ZlcmVkRXZlbnQgJiYgaG92ZXJlZEV2ZW50UGF0aHMgJiYgbWFwKSB7XG4gICAgICBob3ZlcmVkRXZlbnRQYXRocy5mb3JFYWNoKChwYXRoKSA9PiB7XG4gICAgICAgIG1hcC5yZW1vdmVMYXllcihwYXRoKTtcbiAgICAgIH0pO1xuXG4gICAgICBsZXQgbGF5ZXJzID0gbWFwLl9sYXllcnM7XG4gICAgICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIGxheWVycykge1xuICAgICAgICBjb25zdCBrYW5kb19vYmplY3QgPSBsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdDtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGthbmRvX29iamVjdD8uaW5jbHVkZXMoJ0V2ZW50Qm9keScpIHx8XG4gICAgICAgICAgWydFdmVudFRhaWwnLCAnU2FtcGxpbmdQb2ludCcsICdEZWNvcmF0b3InXS5pbmNsdWRlcyhrYW5kb19vYmplY3QpXG4gICAgICAgICkge1xuICAgICAgICAgIG1hcC5yZW1vdmVMYXllcihsYXllcnNbcHJvcGVydHldKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBkaXNwYXRjaChzZXRIb3ZlcmVkRXZlbnQobnVsbCkpO1xuICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFdmVudFBhdGhzKFtdKSk7XG4gICAgLy8gZGlzcGF0Y2goc2V0SG92ZXJFdmVudEluZGljYXRvcihudWxsKSk7XG4gIH07XG5cbiAgY29uc3Qgc2V0Rm9jdXNlZEV2ZW50SWZGb3VuZEluUGFyYW1zID0gKCkgPT4ge1xuICAgIGlmIChcbiAgICAgIGdldEV2ZW50SWRGcm9tVVJMKCkgIT09IG51bGwgJiZcbiAgICAgIGdldEV2ZW50SWRGcm9tVVJMKCkgIT09ICdudWxsJyAmJlxuICAgICAgZm9jdXNlZEV2ZW50ID09PSBudWxsICYmXG4gICAgICBpdGVtcy5sZW5ndGggIT09IDAgJiZcbiAgICAgICFpc0ZldGNoaW5nICYmXG4gICAgICAhYXJlYXNfZGF0YS5pc0ZldGNoaW5nICYmXG4gICAgICAhcG9pbnRzX2RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgIWVkZ2VzX2RhdGEuaXNGZXRjaGluZ1xuICAgICkge1xuICAgICAgbGV0IGV2ZW50ID0gZXZlbnRzX2RhdGEuaXRlbXMuZmluZChcbiAgICAgICAgKGU6IElFdmVudCkgPT4gZS5pZCA9PT0gcGFyc2VJbnQoZ2V0RXZlbnRJZEZyb21VUkwoKSEpLFxuICAgICAgKTtcbiAgICAgIGlmIChldmVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRpc3BhdGNoKHNldEZvY3VzZWRFdmVudChldmVudCkpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBjb25zdCB0cmlnZ2VyU29ydCA9IChzb3J0OiBudW1iZXIpID0+IHtcbiAgICBpZiAoZ2xvYmFsX2RhdGEuYWN0aXZlRmlsdGVyICE9PSBudWxsKSB7XG4gICAgICBsZXQgS1FMO1xuICAgICAgbGV0IFVSTDtcbiAgICAgIHN3aXRjaCAoc29ydCkge1xuICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgS1FMID0gYCR7YnVpbGRLUUxRdWVyeShnbG9iYWxfZGF0YS5hY3RpdmVGaWx0ZXIsICduZXdlc3QnKX1gO1xuICAgICAgICAgIFVSTCA9IGAvJHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubmFtZX0vaW5kZXg/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7Z2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZH0mbG9jYWxlPSR7bmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZX0mdmFsdWVzRnJvbUtRTD0ke0tRTH1gO1xuICAgICAgICAgIGhpc3RvcnkucHVzaChVUkwpO1xuICAgICAgICAgIGRpc3BhdGNoKHNldEV2ZW50RmlsdGVyUGFyYW0oS1FMKSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgMjpcbiAgICAgICAgICBLUUwgPSBgJHtidWlsZEtRTFF1ZXJ5KGdsb2JhbF9kYXRhLmFjdGl2ZUZpbHRlciwgJ29sZGVzdCcpfWA7XG4gICAgICAgICAgVVJMID0gYC8ke25hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5uYW1lfS9pbmRleD93YXRlcl9hdXRob3JpdHlfaWQ9JHtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkfSZsb2NhbGU9JHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlfSZ2YWx1ZXNGcm9tS1FMPSR7S1FMfWA7XG4gICAgICAgICAgaGlzdG9yeS5wdXNoKFVSTCk7XG4gICAgICAgICAgZGlzcGF0Y2goc2V0RXZlbnRGaWx0ZXJQYXJhbShLUUwpKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAzOlxuICAgICAgICAgIEtRTCA9IGAke2J1aWxkS1FMUXVlcnkoZ2xvYmFsX2RhdGEuYWN0aXZlRmlsdGVyLCAnc2V2ZXJpdHknKX1gO1xuICAgICAgICAgIFVSTCA9IGAvJHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubmFtZX0vaW5kZXg/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7Z2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZH0mbG9jYWxlPSR7bmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZX0mdmFsdWVzRnJvbUtRTD0ke0tRTH1gO1xuICAgICAgICAgIGhpc3RvcnkucHVzaChVUkwpO1xuICAgICAgICAgIGRpc3BhdGNoKHNldEV2ZW50RmlsdGVyUGFyYW0oS1FMKSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZGlzcGF0Y2goZmV0Y2hFdmVudHMod2F0ZXJBdXRob3JpdHlJZCwgZ2V0S1FMVmFsdWVzRnJvbVVSTCgpIHx8ICdERUZBVUxUJykpO1xuICB9LCBbZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCwgZ2xvYmFsX2RhdGEuZXZlbnRGaWx0ZXJQYXJhbV0pO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9eydzaWRlbmF2ICcgKyAoc2lkZW5hdkV4cGFuZGVkID8gJycgOiAnc2lkZW5hdi0tY29sbGFwc2VkJyl9PlxuICAgICAge3NldEZvY3VzZWRFdmVudElmRm91bmRJblBhcmFtcygpfVxuICAgICAge2dsb2JhbF9kYXRhLm1vcmVJbmZvICE9PSB1bmRlZmluZWQgJiYgZ2xvYmFsX2RhdGEubW9yZUluZm8uYWN0aXZlICYmIChcbiAgICAgICAgPE1vcmVJbmZvIC8+XG4gICAgICApfVxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT17XG4gICAgICAgICAgJ2V2ZW50LWluZm8gJyArXG4gICAgICAgICAgKCFob3ZlcmVkRXZlbnQgJiYgZm9jdXNlZEV2ZW50ICE9PSBudWxsXG4gICAgICAgICAgICA/ICcnXG4gICAgICAgICAgICA6ICdldmVudC1pbmZvLS1jb2xsYXBzZWQnKVxuICAgICAgICB9XG4gICAgICA+XG4gICAgICAgIHshaG92ZXJlZEV2ZW50ICYmIGZvY3VzZWRFdmVudCAhPT0gbnVsbCAmJiAoXG4gICAgICAgICAgPEV2ZW50SW5mb1xuICAgICAgICAgICAgZXZlbnQ9e2ZvY3VzZWRFdmVudH1cbiAgICAgICAgICAgIHJlT3BlbkZpbHRlcj17KCkgPT4gc2V0RmlsdGVyUG9wdXBPcGVuKHRydWUpfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPVwidG9nZ2xlLWV4cGFuc2lvbi1idXR0b25cIlxuICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgaGFuZGxlRXhwYW5zaW9uVG9nZ2xlKCk7XG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibmF2LWV4cGFuc2lvbi1pY29uXCI+XG4gICAgICAgICAgPEZvbnRBd2Vzb21lSWNvblxuICAgICAgICAgICAgaWNvbj17c2lkZW5hdkV4cGFuZGVkID8gZmFDYXJldExlZnQgOiBmYUNhcmV0UmlnaHR9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPXsndG9nZ2xlLWV4cGFuc2lvbi1idXR0b24tbW9iaWxlJ31cbiAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgIGhhbmRsZUV4cGFuc2lvblRvZ2dsZSgpO1xuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8YSBocmVmPVwiI1wiPlxuICAgICAgICAgIDxGb250QXdlc29tZUljb24gaWNvbj17ZmFBcnJvd0xlZnR9IC8+XG4gICAgICAgICAgPHNwYW4+IHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5iYWNrX3RvX2RldGFpbHMnKX08L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJldmVudHMtaGVhZGVyXCI+XG4gICAgICAgIHtsYXN0VmlzaXRlZCAmJiAhaXNGZXRjaGluZyAmJiAoXG4gICAgICAgICAgPExpbmsgY2xhc3NOYW1lPVwiYmFja1wiIHRvPXtsYXN0VmlzaXRlZH0+XG4gICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICBzcmM9e0xlZnRBcnJvd0ljb259XG4gICAgICAgICAgICAgIGhlaWdodD1cIjEwcHhcIlxuICAgICAgICAgICAgICB3aWR0aD1cIjEycHhcIlxuICAgICAgICAgICAgICBhbHQ9XCJiYWNrXCJcbiAgICAgICAgICAgIC8+eycgJ31cbiAgICAgICAgICAgIHtpMThuLnQoJ2FyZWFfc2NyZWVuLmJhY2snKX1cbiAgICAgICAgICA8L0xpbms+XG4gICAgICAgICl9XG4gICAgICAgIDxoND5cbiAgICAgICAgICB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZXZlbnRzX2xpc3QnKX0gKHtldmVudHNfZGF0YS5pdGVtcy5sZW5ndGh9KVxuICAgICAgICA8L2g0PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpbHRlcmluZ1wiPlxuICAgICAgICAgIHtldmVudHNfZGF0YS5pdGVtcy5sZW5ndGggIT09IDAgJiYgKFxuICAgICAgICAgICAgPFNvcnRcbiAgICAgICAgICAgICAgdHJpZ2dlclNvcnQ9e3RyaWdnZXJTb3J0fVxuICAgICAgICAgICAgICBldmVudHM9e2V2ZW50c19kYXRhLml0ZW1zfVxuICAgICAgICAgICAgICBldmVudHNGZXRjaGluZz17ZXZlbnRzX2RhdGEuaXNGZXRjaGluZ31cbiAgICAgICAgICAgICAgYWN0aXZlRmlsdGVyPXtnbG9iYWxfZGF0YS5hY3RpdmVGaWx0ZXJ9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpY29uc1wiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJmaWx0ZXJcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRGaWx0ZXJQb3B1cE9wZW4oIWZpbHRlclBvcHVwT3Blbil9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxGaWx0ZXJJY29uIHdpZHRoPVwiMTdweFwiIGhlaWdodD1cIjE3cHhcIiBmaWxsPVwiI2Y2MDA0ZlwiIC8+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAge3BvaW50c19kYXRhLml0ZW1zLmxlbmd0aCAhPT0gMCAmJiAoXG4gICAgICAgICAgPEZpbHRlckNvbnRhaW5lclxuICAgICAgICAgICAgZmlsdGVyUG9wdXBPcGVuPXtmaWx0ZXJQb3B1cE9wZW59XG4gICAgICAgICAgICBmZXRjaFR5cGU9eydFdmVudEZpbHRlcid9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJldmVudHMtY29udGFpbmVyIHNjcm9sbGJhciBcIj5cbiAgICAgICAge2xvYWRlcigpfVxuICAgICAgICB7IWlzRmV0Y2hpbmcgJiZcbiAgICAgICAgICBpdGVtcy5sZW5ndGggPT09IDAgJiZcbiAgICAgICAgICAhcG9pbnRzX2RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgICAgICFlZGdlc19kYXRhLmlzRmV0Y2hpbmcgJiYgKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydldmVudHNfX2JsYW5rc2xhdGUnfT5cbiAgICAgICAgICAgICAgPGltZyBzcmM9e05vRXZlbnRzSW1hZ2V9IGFsdD1cIk5vRXZlbnRzSWNvblwiIC8+XG4gICAgICAgICAgICAgIDxoMj57aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZmlsdGVyLmJsYW5rc2xhdGUuaGVhZGVyJyl9PC9oMj5cbiAgICAgICAgICAgICAgPHA+e2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5ibGFua3NsYXRlLmJvZHknKX08L3A+XG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXsnYXBwbHlfZGVmYXVsdF9maWx0ZXJfYnV0dG9uJ31cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBhcHBseURlZmF1bHRGaWx0ZXIoKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5maWx0ZXIuYmxhbmtzbGF0ZS5idXR0b24nKX1cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKX1cbiAgICAgICAge2l0ZW1zLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgICAgICFhcmVhc19kYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgICAgICAhcG9pbnRzX2RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgICAgICFlZGdlc19kYXRhLmlzRmV0Y2hpbmcgJiYgKFxuICAgICAgICAgICAgPHVsIGNsYXNzTmFtZT1cImV2ZW50cyBcIj5cbiAgICAgICAgICAgICAge2l0ZW1zLm1hcCgoZXZlbnQ6IGFueSkgPT4gKFxuICAgICAgICAgICAgICAgIDxsaSBrZXk9e2V2ZW50LmlkfSBjbGFzc05hbWU9XCJldmVudFwiIGRhdGEtZXZlbnQtaWQ9e2V2ZW50LmlkfT5cbiAgICAgICAgICAgICAgICAgIDxTZXZlcmVFdmVudFxuICAgICAgICAgICAgICAgICAgICBldmVudD17ZXZlbnR9XG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZUNsaWNrPXtoYW5kbGVFdmVudEl0ZW1DbGlja31cbiAgICAgICAgICAgICAgICAgICAgb25Nb3VzZUVudGVyRXZlbnQ9e29uTW91c2VFbnRlckV2ZW50fVxuICAgICAgICAgICAgICAgICAgICBvbk1vdXNlTGVhdmVFdmVudD17b25Nb3VzZUxlYXZlRXZlbnR9XG4gICAgICAgICAgICAgICAgICAgIHZhbGlkYXRlRXZlbnQ9e3ZhbGlkYXRlRXZlbnR9XG4gICAgICAgICAgICAgICAgICAgIGV4Y2VwdGlvbkFsZXJ0PXtleGNlcHRpb25BbGVydH1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmNvbnN0IGNvbm5lY3RvciA9IGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzKTtcbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3RvcihFdmVudHNMaXN0KTtcbiJdfQ==
|
|
397
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9FdmVudHNQYWdlL2V2ZW50cy9ldmVudHNfbGlzdC9FdmVudHNMaXN0LnRzeCJdLCJuYW1lcyI6WyJtYXBTdGF0ZVRvUHJvcHMiLCJzdGF0ZSIsImV2ZW50c19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJlZGdlc19kYXRhIiwicG9pbnRzX2RhdGEiLCJhcmVhc19kYXRhIiwibmF2X2NvbnRleHRfZGF0YSIsIkV2ZW50c0xpc3QiLCJzaWRlbmF2RXhwYW5kZWQiLCJkaXNwYXRjaCIsIml0ZW1zIiwiaXNGZXRjaGluZyIsImZvY3VzZWRFdmVudCIsImhvdmVyZWRFdmVudCIsImhvdmVyZWRFdmVudFBhdGhzIiwid2F0ZXJBdXRob3JpdHlJZCIsIm1hcCIsImZpbHRlclBvcHVwT3BlbiIsInNldEZpbHRlclBvcHVwT3BlbiIsIm1lc3NhZ2VzIiwibWVzc2FnZSIsImV2ZW50X2lkIiwiZXZlbnRfaWRzIiwiZXhjZXB0aW9uQWxlcnQiLCJzZXRFeGNlcHRpb25BbGVydCIsImxhc3RWaXNpdGVkIiwidXNlUXVlcnkiLCJVUkxTZWFyY2hQYXJhbXMiLCJzZWFyY2giLCJoaXN0b3J5IiwicXVlcnkiLCJnZXRLUUxWYWx1ZXNGcm9tVVJMIiwiZ2V0IiwiZ2V0RXZlbnRJZEZyb21VUkwiLCJsb2FkZXIiLCJsZW5ndGgiLCJuZXdBcmVhcyIsImhhbmRsZUV4cGFuc2lvblRvZ2dsZSIsImFwcGx5RGVmYXVsdEZpbHRlciIsInB1c2giLCJuYXZDb250ZXh0IiwibmFtZSIsImxvY2FsZSIsInZhbGlkYXRlRXZlbnQiLCJldmVudCIsImludmFsaWRPYnNlcnZhdGlvbnNNZXNzYWdlcyIsIm9ic2VydmF0aW9ucyIsImZvckVhY2giLCJvYnNlcnZhdGlvbiIsInBvaW50X2lzX3Jvb3QiLCJlZGdlIiwiZmluZCIsInNvdXJjZV9wb2ludF9pZCIsInBvaW50X2lkIiwidW5kZWZpbmVkIiwicG9pbnRfbmFtZSIsImluZGV4IiwiZmluZEluZGV4IiwibXNnIiwiaWQiLCJpMThuIiwidCIsImludmFsaWRQYXRoTWVzc2FnZXMiLCJwYXRoIiwiZWRnZV9pZCIsImNvbnNvbGUiLCJlcnJvciIsImxhc3Rfb2JzZXJ2YXRpb25faWQiLCJsYXN0T2JzZXJ2YXRpb25Qb2ludCIsImhhbmRsZUV2ZW50SXRlbUNsaWNrIiwicmVmIiwib25Nb3VzZUxlYXZlRXZlbnQiLCJldmVudEZpbHRlclBhcmFtIiwib25Nb3VzZUVudGVyRXZlbnQiLCJyZW1vdmVMYXllciIsImxheWVycyIsIl9sYXllcnMiLCJwcm9wZXJ0eSIsImthbmRvX29iamVjdCIsImluY2x1ZGVzIiwic2V0Rm9jdXNlZEV2ZW50SWZGb3VuZEluUGFyYW1zIiwiZSIsInBhcnNlSW50IiwidHJpZ2dlclNvcnQiLCJzb3J0IiwiYWN0aXZlRmlsdGVyIiwiS1FMIiwiVVJMIiwibW9yZUluZm8iLCJhY3RpdmUiLCJmYUNhcmV0TGVmdCIsImZhQ2FyZXRSaWdodCIsImZhQXJyb3dMZWZ0IiwiTGVmdEFycm93SWNvbiIsIk5vRXZlbnRzSW1hZ2UiLCJjb25uZWN0b3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUNBOztBQUtBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7OztBQUlBOztBQUVBOztBQUNBOztBQU9BOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUE5QkE7QUFnQ0EsU0FBU0EsZUFBVCxDQUF5QkMsS0FBekIsRUFBMkM7QUFDekMsTUFDRUMsV0FERixHQU9JRCxLQVBKLENBQ0VDLFdBREY7QUFBQSxNQUVFQyxXQUZGLEdBT0lGLEtBUEosQ0FFRUUsV0FGRjtBQUFBLE1BR0VDLFVBSEYsR0FPSUgsS0FQSixDQUdFRyxVQUhGO0FBQUEsTUFJRUMsV0FKRixHQU9JSixLQVBKLENBSUVJLFdBSkY7QUFBQSxNQUtFQyxVQUxGLEdBT0lMLEtBUEosQ0FLRUssVUFMRjtBQUFBLE1BTUVDLGdCQU5GLEdBT0lOLEtBUEosQ0FNRU0sZ0JBTkY7QUFTQSxT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RSw2QkFBQyx3QkFBRDtBQUNFLE1BQUEsS0FBSyxFQUFFZixLQURUO0FBRUUsTUFBQSxXQUFXLEVBQUV5QixvQkFGZjtBQUdFLE1BQUEsaUJBQWlCLEVBQUVJLGlCQUhyQjtBQUlFLE1BQUEsaUJBQWlCLEVBQUVGLGlCQUpyQjtBQUtFLE1BQUEsYUFBYSxFQUFFNUIsYUFMakI7QUFNRSxNQUFBLGNBQWMsRUFBRXBCO0FBTmxCLE1BREYsQ0FEUztBQUFBLEdBQVYsQ0FESCxDQXRCTixDQXRGRixDQURGO0FBK0hELENBNVdEOztBQThXQSxJQUFNd0UsU0FBUyxHQUFHLHlCQUFRaEcsZUFBUixDQUFsQjs7ZUFDZWdHLFNBQVMsQ0FBQ3hGLFVBQUQsQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGV0Yy9uby1jb21tZW50ZWQtb3V0LWNvZGUgKi9cbmltcG9ydCB7XG4gIGZhQXJyb3dMZWZ0LFxuICBmYUNhcmV0TGVmdCxcbiAgZmFDYXJldFJpZ2h0LFxufSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgRm9udEF3ZXNvbWVJY29uIH0gZnJvbSAnQGZvcnRhd2Vzb21lL3JlYWN0LWZvbnRhd2Vzb21lJztcbmltcG9ydCBSZWFjdCwgeyBSZWZPYmplY3QsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjb25uZWN0LCBDb25uZWN0ZWRQcm9wcywgdXNlRGlzcGF0Y2ggfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBMaW5rLCB1c2VIaXN0b3J5LCB1c2VMb2NhdGlvbiB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IExlZnRBcnJvd0ljb24gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9hcnJvdy1sZWZ0LnN2Zyc7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBGaWx0ZXJJY29uIH0gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9mdW5uZWwuc3ZnJztcbmltcG9ydCBOb0V2ZW50c0ltYWdlIGZyb20gJ3NyYy9hc3NldHMvbm9fZXZlbnRzLnN2Zyc7XG5pbXBvcnQgeyBTZXZlcmVFdmVudCB9IGZyb20gJ3NyYy9jb21wb25lbnRzL1NldmVyZUV2ZW50L1NldmVyZUV2ZW50JztcbmltcG9ydCB7IElBcHBTdGF0ZSB9IGZyb20gJ3NyYy9tb2RlbHMvSUFwcFN0YXRlJztcbmltcG9ydCB7IHVzZUxhc3RWaXNpdGVkIH0gZnJvbSAnc3JjL3Byb3ZpZGVycy9VcmxIaXN0b3J5JztcbmltcG9ydCB7XG4gIGZldGNoRXZlbnRzLFxuICBzZXRGb2N1c2VkRXZlbnQsXG4gIHNldEhvdmVyZWRFdmVudCxcbiAgc2V0SG92ZXJlZEV2ZW50UGF0aHMsXG59IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvYWN0aW9ucyc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHsgc2V0RXZlbnRGaWx0ZXJQYXJhbSwgc2lkZU5hdkV4cGFuZGVkIH0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9hY3Rpb25zJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBidWlsZEtRTFF1ZXJ5IH0gZnJvbSAnc3JjL3V0aWxpdGllcy9rcWwnO1xuaW1wb3J0ICcuLi9FdmVudHNTdHlsZS5zY3NzJztcbmltcG9ydCBFdmVudEluZm8gZnJvbSAnLi4vZXZlbnRfaW5mby9FdmVudEluZm8nO1xuaW1wb3J0IE1vcmVJbmZvIGZyb20gJy4uL01vcmVJbmZvJztcbmltcG9ydCBGaWx0ZXJDb250YWluZXIgZnJvbSAnLi9GaWx0ZXIvRmlsdGVyQ29udGFpbmVyJztcbmltcG9ydCBTb3J0IGZyb20gJy4vU29ydCc7XG5cbmZ1bmN0aW9uIG1hcFN0YXRlVG9Qcm9wcyhzdGF0ZTogSUFwcFN0YXRlKSB7XG4gIGNvbnN0IHtcbiAgICBldmVudHNfZGF0YSxcbiAgICBnbG9iYWxfZGF0YSxcbiAgICBlZGdlc19kYXRhLFxuICAgIHBvaW50c19kYXRhLFxuICAgIGFyZWFzX2RhdGEsXG4gICAgbmF2X2NvbnRleHRfZGF0YSxcbiAgfSA9IHN0YXRlO1xuXG4gIHJldHVybiB7XG4gICAgZXZlbnRzX2RhdGEsXG4gICAgZ2xvYmFsX2RhdGEsXG4gICAgZWRnZXNfZGF0YSxcbiAgICBwb2ludHNfZGF0YSxcbiAgICBhcmVhc19kYXRhLFxuICAgIG5hdl9jb250ZXh0X2RhdGEsXG4gIH07XG59XG5cbnR5cGUgSVByb3BzID0gQ29ubmVjdGVkUHJvcHM8dHlwZW9mIGNvbm5lY3Rvcj4gJiB7XG4gIHNpZGVuYXZFeHBhbmRlZDogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEV2ZW50c0xpc3Q6IFJlYWN0LkZDPElQcm9wcz4gPSAoe1xuICBhcmVhc19kYXRhLFxuICBwb2ludHNfZGF0YSxcbiAgZWRnZXNfZGF0YSxcbiAgZ2xvYmFsX2RhdGEsXG4gIHNpZGVuYXZFeHBhbmRlZCxcbiAgZXZlbnRzX2RhdGEsXG4gIG5hdl9jb250ZXh0X2RhdGEsXG59KSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgeyBpdGVtcywgaXNGZXRjaGluZywgZm9jdXNlZEV2ZW50LCBob3ZlcmVkRXZlbnQsIGhvdmVyZWRFdmVudFBhdGhzIH0gPVxuICAgIGV2ZW50c19kYXRhO1xuICBjb25zdCB7IHdhdGVyQXV0aG9yaXR5SWQsIG1hcCB9ID0gZ2xvYmFsX2RhdGE7XG4gIGNvbnN0IFtmaWx0ZXJQb3B1cE9wZW4sIHNldEZpbHRlclBvcHVwT3Blbl0gPSB1c2VTdGF0ZSh0cnVlKTtcbiAgY29uc3QgW2V4Y2VwdGlvbkFsZXJ0LCBzZXRFeGNlcHRpb25BbGVydF0gPSB1c2VTdGF0ZTx7XG4gICAgbWVzc2FnZXM6IHsgbWVzc2FnZTogYW55OyBldmVudF9pZDogbnVtYmVyIH1bXTtcbiAgICBldmVudF9pZHM6IG51bWJlcltdO1xuICB9Pih7IG1lc3NhZ2VzOiBbeyBtZXNzYWdlOiAnJywgZXZlbnRfaWQ6IDAgfV0sIGV2ZW50X2lkczogW10gfSk7XG4gIGNvbnN0IGxhc3RWaXNpdGVkID0gdXNlTGFzdFZpc2l0ZWQoKTtcblxuICBjb25zdCB1c2VRdWVyeSA9ICgpID0+IHtcbiAgICByZXR1cm4gbmV3IFVSTFNlYXJjaFBhcmFtcyh1c2VMb2NhdGlvbigpLnNlYXJjaCk7XG4gIH07XG4gIGNvbnN0IGhpc3RvcnkgPSB1c2VIaXN0b3J5KCk7XG4gIGNvbnN0IHF1ZXJ5ID0gdXNlUXVlcnkoKTtcbiAgY29uc3QgZ2V0S1FMVmFsdWVzRnJvbVVSTCA9ICgpID0+IHtcbiAgICByZXR1cm4gcXVlcnkuZ2V0KCd2YWx1ZXNGcm9tS1FMJyk7XG4gIH07XG4gIGNvbnN0IGdldEV2ZW50SWRGcm9tVVJMID0gKCkgPT4ge1xuICAgIHJldHVybiBxdWVyeS5nZXQoJ2V2ZW50SWQnKTtcbiAgfTtcblxuICBjb25zdCBsb2FkZXIgPSAoKSA9PiB7XG4gICAgaWYgKFxuICAgICAgKGlzRmV0Y2hpbmcgJiYgaXRlbXMubGVuZ3RoID09PSAwKSB8fFxuICAgICAgYXJlYXNfZGF0YS5uZXdBcmVhcy5sZW5ndGggPT09IDAgfHxcbiAgICAgIHBvaW50c19kYXRhLmlzRmV0Y2hpbmcgfHxcbiAgICAgIGVkZ2VzX2RhdGEuaXNGZXRjaGluZ1xuICAgICkge1xuICAgICAgcmV0dXJuIDxkaXYgY2xhc3NOYW1lPXsnbG9hZGVyJ30+PC9kaXY+O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlRXhwYW5zaW9uVG9nZ2xlID0gKCkgPT4ge1xuICAgIGRpc3BhdGNoKHNpZGVOYXZFeHBhbmRlZCghc2lkZW5hdkV4cGFuZGVkKSk7XG4gIH07XG5cbiAgY29uc3QgYXBwbHlEZWZhdWx0RmlsdGVyID0gKCkgPT4ge1xuICAgIGhpc3RvcnkucHVzaChcbiAgICAgIGAvJHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubmFtZX0vaW5kZXg/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7Z2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZH0mbG9jYWxlPSR7bmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZX0mdmFsdWVzRnJvbUtRTD1gLFxuICAgICk7XG4gICAgZGlzcGF0Y2goc2V0RXZlbnRGaWx0ZXJQYXJhbSgnJykpO1xuICB9O1xuXG4gIGNvbnN0IHZhbGlkYXRlRXZlbnQgPSAoZXZlbnQ6IElFdmVudCkgPT4ge1xuICAgIC8vIGNoZWNrIHRoYXQgYWxsIG9ic2VydmF0aW9ucycgZWRnZXMgZXhpc3RzLiBJZiB0aGV5IGFyZSBub3QgZXhpc3RzIGl0J3MgaW5kaWNhdGVzIHRoYXQgdGhlaXIgcG9pbnRzIGFyZVxuICAgIC8vIG5vdCBpbiB0aGUgaGllcmFyY2h5IG9yIGRvZXNuJ3QgaGF2ZSBsYXQvbG5nLlxuICAgIGxldCBpbnZhbGlkT2JzZXJ2YXRpb25zTWVzc2FnZXM6IGFueSA9IFtdO1xuICAgIGV2ZW50Lm9ic2VydmF0aW9ucy5mb3JFYWNoKChvYnNlcnZhdGlvbjogYW55KSA9PiB7XG4gICAgICAvLyBpZiBvYnNlcnZhdGlvbiBpcyByb290IChleC4gV1dUUCkgdGhlcmUgaXMgbm8gZWRnZSB0aGF0IGl0cyBhIHNvdXJjZS4gc28gd2UgY2FuIHNraXAgdGhpcyBjaGVja1xuICAgICAgaWYgKCFvYnNlcnZhdGlvbi5wb2ludF9pc19yb290KSB7XG4gICAgICAgIGxldCBlZGdlID0gZWRnZXNfZGF0YS5pdGVtcy5maW5kKFxuICAgICAgICAgIChlZGdlKSA9PiBlZGdlLnNvdXJjZV9wb2ludF9pZCA9PT0gb2JzZXJ2YXRpb24ucG9pbnRfaWQsXG4gICAgICAgICk7XG4gICAgICAgIGlmIChlZGdlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBpbnZhbGlkT2JzZXJ2YXRpb25zTWVzc2FnZXMucHVzaChcbiAgICAgICAgICAgIGAke29ic2VydmF0aW9uLnBvaW50X25hbWV9ICgke29ic2VydmF0aW9uLnBvaW50X2lkfSkgYCxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoaW52YWxpZE9ic2VydmF0aW9uc01lc3NhZ2VzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgbGV0IGluZGV4ID0gZXhjZXB0aW9uQWxlcnQubWVzc2FnZXMuZmluZEluZGV4KFxuICAgICAgICAobXNnKSA9PiBtc2cuZXZlbnRfaWQgPT09IGV2ZW50LmlkLFxuICAgICAgKTtcblxuICAgICAgaWYgKGluZGV4ID09PSAtMSkge1xuICAgICAgICBzZXRFeGNlcHRpb25BbGVydCh7XG4gICAgICAgICAgbWVzc2FnZXM6IFtcbiAgICAgICAgICAgIC4uLmV4Y2VwdGlvbkFsZXJ0Lm1lc3NhZ2VzLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBtZXNzYWdlOiAoXG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgIDxwPntpMThuLnQoJ2V2ZW50c19vdmVydmlldy5ldmVudF9kYXRhX21pc3NpbmcnKX08L3A+XG4gICAgICAgICAgICAgICAgICA8c3Bhbj57aW52YWxpZE9ic2VydmF0aW9uc01lc3NhZ2VzfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgZXZlbnRfaWQ6IGV2ZW50LmlkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGV2ZW50X2lkczogWy4uLmV4Y2VwdGlvbkFsZXJ0LmV2ZW50X2lkcywgZXZlbnQuaWRdLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBzYW1lIGNoZWNrIGFzIGFib3ZlIGJ1dCB0aGlzIHRpbWUgZm9yIHRoZSBldmVudCBwYXRoLiBJZiBlZGdlIGRvZXNuJ3QgZXhpc3QsIGl0J3MgaW5kaWNhdGVzIHRoYXQgb25lIG9mIHRoZVxuICAgIC8vIHBvaW50cyBkb3duc3RyZWFtIGRvZXNuJ3QgaGF2ZSBsYXQvbG5nLlxuICAgIGxldCBpbnZhbGlkUGF0aE1lc3NhZ2VzOiBhbnkgPSBbXTtcbiAgICBldmVudC5wYXRoLmZvckVhY2goKHBhdGg6IGFueSkgPT4ge1xuICAgICAgbGV0IGVkZ2UgPSBlZGdlc19kYXRhLml0ZW1zLmZpbmQoKGVkZ2UpID0+IGVkZ2UuaWQgPT09IHBhdGguZWRnZV9pZCk7XG4gICAgICBpZiAoZWRnZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYGVkZ2UgJHtwYXRoLmVkZ2VfaWR9IGNhbiBub3QgYmUgZm91bmRgKTtcbiAgICAgICAgbGV0IG9ic2VydmF0aW9uID0gZXZlbnQub2JzZXJ2YXRpb25zLmZpbmQoXG4gICAgICAgICAgKG9ic2VydmF0aW9uKSA9PiBvYnNlcnZhdGlvbi5pZCA9PT0gcGF0aC5sYXN0X29ic2VydmF0aW9uX2lkLFxuICAgICAgICApO1xuICAgICAgICBsZXQgbGFzdE9ic2VydmF0aW9uUG9pbnQgPSAnTm90IGZvdW5kJztcbiAgICAgICAgaWYgKG9ic2VydmF0aW9uKSB7XG4gICAgICAgICAgbGFzdE9ic2VydmF0aW9uUG9pbnQgPSBvYnNlcnZhdGlvbi5wb2ludF9uYW1lO1xuICAgICAgICB9XG5cbiAgICAgICAgaW52YWxpZFBhdGhNZXNzYWdlcy5wdXNoKGAke2xhc3RPYnNlcnZhdGlvblBvaW50fSBgKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChpbnZhbGlkUGF0aE1lc3NhZ2VzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgc2V0RXhjZXB0aW9uQWxlcnQoe1xuICAgICAgICBtZXNzYWdlczogW1xuICAgICAgICAgIC4uLmV4Y2VwdGlvbkFsZXJ0Lm1lc3NhZ2VzLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG1lc3NhZ2U6IChcbiAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICA8cD57aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZXZlbnRfdmVyaWZ5X2Nvb3JkaW5hdGVzJyl9PC9wPlxuICAgICAgICAgICAgICAgIDxzcGFuPntpbnZhbGlkUGF0aE1lc3NhZ2VzfTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgZXZlbnRfaWQ6IGV2ZW50LmlkLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIGV2ZW50X2lkczogWy4uLmV4Y2VwdGlvbkFsZXJ0LmV2ZW50X2lkcywgZXZlbnQuaWRdLFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlRXZlbnRJdGVtQ2xpY2sgPSAoZXZlbnQ6IElFdmVudCwgcmVmOiBSZWZPYmplY3Q8SFRNTEVsZW1lbnQ+KSA9PiB7XG4gICAgb25Nb3VzZUxlYXZlRXZlbnQoKTtcbiAgICAvLyBpZiAoaG92ZXJlZEV2ZW50UGF0aHMgJiYgbWFwKSB7XG4gICAgLy8gICAgIGhvdmVyZWRFdmVudFBhdGhzLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAvLyAgICAgICAgIG1hcC5yZW1vdmVMYXllcihwYXRoKTtcbiAgICAvLyAgICAgfSk7XG4gICAgLy8gfVxuICAgIC8vIGRpc3BhdGNoKHNldEhvdmVyZWRFdmVudFBhdGhzKFtdKSk7XG4gICAgLy8gZGlzcGF0Y2goc2V0SG92ZXJFdmVudEluZGljYXRvcihudWxsKSk7XG4gICAgaWYgKHZhbGlkYXRlRXZlbnQoZXZlbnQpKSB7XG4gICAgICBkaXNwYXRjaChzZXRGb2N1c2VkRXZlbnQoZXZlbnQpKTtcbiAgICAgIHNldEZpbHRlclBvcHVwT3BlbihmYWxzZSk7XG4gICAgICBoaXN0b3J5LnB1c2goXG4gICAgICAgIGAvJHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubmFtZX0vaW5kZXg/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7Z2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZH0mbG9jYWxlPSR7bmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZX0mZXZlbnRJZD0ke2V2ZW50LmlkfSZ2YWx1ZXNGcm9tS1FMPSR7Z2xvYmFsX2RhdGEuZXZlbnRGaWx0ZXJQYXJhbX1gLFxuICAgICAgKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3Qgb25Nb3VzZUVudGVyRXZlbnQgPSAoZXZlbnQpID0+IHtcbiAgICBpZiAoIWZvY3VzZWRFdmVudCAmJiAhaG92ZXJlZEV2ZW50ICYmIHZhbGlkYXRlRXZlbnQoZXZlbnQpKSB7XG4gICAgICBkaXNwYXRjaChzZXRIb3ZlcmVkRXZlbnQoZXZlbnQpKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3Qgb25Nb3VzZUxlYXZlRXZlbnQgPSAoKSA9PiB7XG4gICAgaWYgKGhvdmVyZWRFdmVudCAmJiBob3ZlcmVkRXZlbnRQYXRocyAmJiBtYXApIHtcbiAgICAgIGhvdmVyZWRFdmVudFBhdGhzLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAgICAgbWFwLnJlbW92ZUxheWVyKHBhdGgpO1xuICAgICAgfSk7XG5cbiAgICAgIGxldCBsYXllcnMgPSBtYXAuX2xheWVycztcbiAgICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbGF5ZXJzKSB7XG4gICAgICAgIGNvbnN0IGthbmRvX29iamVjdCA9IGxheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0O1xuICAgICAgICBpZiAoXG4gICAgICAgICAga2FuZG9fb2JqZWN0Py5pbmNsdWRlcygnRXZlbnRCb2R5JykgfHxcbiAgICAgICAgICBbJ0V2ZW50VGFpbCcsICdTYW1wbGluZ1BvaW50JywgJ0RlY29yYXRvciddLmluY2x1ZGVzKGthbmRvX29iamVjdClcbiAgICAgICAgKSB7XG4gICAgICAgICAgbWFwLnJlbW92ZUxheWVyKGxheWVyc1twcm9wZXJ0eV0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFdmVudChudWxsKSk7XG4gICAgZGlzcGF0Y2goc2V0SG92ZXJlZEV2ZW50UGF0aHMoW10pKTtcbiAgICAvLyBkaXNwYXRjaChzZXRIb3ZlckV2ZW50SW5kaWNhdG9yKG51bGwpKTtcbiAgfTtcblxuICBjb25zdCBzZXRGb2N1c2VkRXZlbnRJZkZvdW5kSW5QYXJhbXMgPSAoKSA9PiB7XG4gICAgaWYgKFxuICAgICAgZ2V0RXZlbnRJZEZyb21VUkwoKSAhPT0gbnVsbCAmJlxuICAgICAgZ2V0RXZlbnRJZEZyb21VUkwoKSAhPT0gJ251bGwnICYmXG4gICAgICBmb2N1c2VkRXZlbnQgPT09IG51bGwgJiZcbiAgICAgIGl0ZW1zLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgIWlzRmV0Y2hpbmcgJiZcbiAgICAgICFhcmVhc19kYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgICFwb2ludHNfZGF0YS5pc0ZldGNoaW5nICYmXG4gICAgICAhZWRnZXNfZGF0YS5pc0ZldGNoaW5nXG4gICAgKSB7XG4gICAgICBsZXQgZXZlbnQgPSBldmVudHNfZGF0YS5pdGVtcy5maW5kKFxuICAgICAgICAoZTogSUV2ZW50KSA9PiBlLmlkID09PSBwYXJzZUludChnZXRFdmVudElkRnJvbVVSTCgpISksXG4gICAgICApO1xuICAgICAgaWYgKGV2ZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZGlzcGF0Y2goc2V0Rm9jdXNlZEV2ZW50KGV2ZW50KSk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHRyaWdnZXJTb3J0ID0gKHNvcnQ6IG51bWJlcikgPT4ge1xuICAgIGlmIChnbG9iYWxfZGF0YS5hY3RpdmVGaWx0ZXIgIT09IG51bGwpIHtcbiAgICAgIGxldCBLUUw7XG4gICAgICBsZXQgVVJMO1xuICAgICAgc3dpdGNoIChzb3J0KSB7XG4gICAgICAgIGNhc2UgMTpcbiAgICAgICAgICBLUUwgPSBgJHtidWlsZEtRTFF1ZXJ5KGdsb2JhbF9kYXRhLmFjdGl2ZUZpbHRlciwgJ25ld2VzdCcpfWA7XG4gICAgICAgICAgVVJMID0gYC8ke25hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5uYW1lfS9pbmRleD93YXRlcl9hdXRob3JpdHlfaWQ9JHtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkfSZsb2NhbGU9JHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlfSZ2YWx1ZXNGcm9tS1FMPSR7S1FMfWA7XG4gICAgICAgICAgaGlzdG9yeS5wdXNoKFVSTCk7XG4gICAgICAgICAgZGlzcGF0Y2goc2V0RXZlbnRGaWx0ZXJQYXJhbShLUUwpKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAyOlxuICAgICAgICAgIEtRTCA9IGAke2J1aWxkS1FMUXVlcnkoZ2xvYmFsX2RhdGEuYWN0aXZlRmlsdGVyLCAnb2xkZXN0Jyl9YDtcbiAgICAgICAgICBVUkwgPSBgLyR7bmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWV9L2luZGV4P3dhdGVyX2F1dGhvcml0eV9pZD0ke2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWR9JmxvY2FsZT0ke25hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5sb2NhbGV9JnZhbHVlc0Zyb21LUUw9JHtLUUx9YDtcbiAgICAgICAgICBoaXN0b3J5LnB1c2goVVJMKTtcbiAgICAgICAgICBkaXNwYXRjaChzZXRFdmVudEZpbHRlclBhcmFtKEtRTCkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgS1FMID0gYCR7YnVpbGRLUUxRdWVyeShnbG9iYWxfZGF0YS5hY3RpdmVGaWx0ZXIsICdzZXZlcml0eScpfWA7XG4gICAgICAgICAgVVJMID0gYC8ke25hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5uYW1lfS9pbmRleD93YXRlcl9hdXRob3JpdHlfaWQ9JHtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkfSZsb2NhbGU9JHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlfSZ2YWx1ZXNGcm9tS1FMPSR7S1FMfWA7XG4gICAgICAgICAgaGlzdG9yeS5wdXNoKFVSTCk7XG4gICAgICAgICAgZGlzcGF0Y2goc2V0RXZlbnRGaWx0ZXJQYXJhbShLUUwpKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkaXNwYXRjaChmZXRjaEV2ZW50cyh3YXRlckF1dGhvcml0eUlkLCBnZXRLUUxWYWx1ZXNGcm9tVVJMKCkgfHwgJ0RFRkFVTFQnKSk7XG4gIH0sIFtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBnbG9iYWxfZGF0YS5ldmVudEZpbHRlclBhcmFtXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17J3NpZGVuYXYgJyArIChzaWRlbmF2RXhwYW5kZWQgPyAnJyA6ICdzaWRlbmF2LS1jb2xsYXBzZWQnKX0+XG4gICAgICB7c2V0Rm9jdXNlZEV2ZW50SWZGb3VuZEluUGFyYW1zKCl9XG4gICAgICB7Z2xvYmFsX2RhdGEubW9yZUluZm8gIT09IHVuZGVmaW5lZCAmJiBnbG9iYWxfZGF0YS5tb3JlSW5mby5hY3RpdmUgJiYgKFxuICAgICAgICA8TW9yZUluZm8gLz5cbiAgICAgICl9XG5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPXtcbiAgICAgICAgICAnZXZlbnQtaW5mbyAnICtcbiAgICAgICAgICAoIWhvdmVyZWRFdmVudCAmJiBmb2N1c2VkRXZlbnQgIT09IG51bGxcbiAgICAgICAgICAgID8gJydcbiAgICAgICAgICAgIDogJ2V2ZW50LWluZm8tLWNvbGxhcHNlZCcpXG4gICAgICAgIH1cbiAgICAgID5cbiAgICAgICAgeyFob3ZlcmVkRXZlbnQgJiYgZm9jdXNlZEV2ZW50ICE9PSBudWxsICYmIChcbiAgICAgICAgICA8RXZlbnRJbmZvXG4gICAgICAgICAgICBldmVudD17Zm9jdXNlZEV2ZW50fVxuICAgICAgICAgICAgcmVPcGVuRmlsdGVyPXsoKSA9PiBzZXRGaWx0ZXJQb3B1cE9wZW4odHJ1ZSl9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9XCJ0b2dnbGUtZXhwYW5zaW9uLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICBoYW5kbGVFeHBhbnNpb25Ub2dnbGUoKTtcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJuYXYtZXhwYW5zaW9uLWljb25cIj5cbiAgICAgICAgICA8Rm9udEF3ZXNvbWVJY29uXG4gICAgICAgICAgICBpY29uPXtzaWRlbmF2RXhwYW5kZWQgPyBmYUNhcmV0TGVmdCA6IGZhQ2FyZXRSaWdodH1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9eyd0b2dnbGUtZXhwYW5zaW9uLWJ1dHRvbi1tb2JpbGUnfVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgaGFuZGxlRXhwYW5zaW9uVG9nZ2xlKCk7XG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxhIGhyZWY9XCIjXCI+XG4gICAgICAgICAgPEZvbnRBd2Vzb21lSWNvbiBpY29uPXtmYUFycm93TGVmdH0gLz5cbiAgICAgICAgICA8c3Bhbj4ge2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmJhY2tfdG9fZGV0YWlscycpfTwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImV2ZW50cy1oZWFkZXJcIj5cbiAgICAgICAge2xhc3RWaXNpdGVkICYmICFpc0ZldGNoaW5nICYmIChcbiAgICAgICAgICA8TGluayBjbGFzc05hbWU9XCJiYWNrXCIgdG89e2xhc3RWaXNpdGVkfT5cbiAgICAgICAgICAgIHsnICd9XG4gICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgIHNyYz17TGVmdEFycm93SWNvbn1cbiAgICAgICAgICAgICAgaGVpZ2h0PVwiMTBweFwiXG4gICAgICAgICAgICAgIHdpZHRoPVwiMTJweFwiXG4gICAgICAgICAgICAgIGFsdD1cImJhY2tcIlxuICAgICAgICAgICAgLz57JyAnfVxuICAgICAgICAgICAge2kxOG4udCgnYXJlYV9zY3JlZW4uYmFjaycpfVxuICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgKX1cbiAgICAgICAgPGg0PlxuICAgICAgICAgIHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5ldmVudHNfbGlzdCcpfSAoe2V2ZW50c19kYXRhLml0ZW1zLmxlbmd0aH0pXG4gICAgICAgIDwvaDQ+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmlsdGVyaW5nXCI+XG4gICAgICAgICAge2V2ZW50c19kYXRhLml0ZW1zLmxlbmd0aCAhPT0gMCAmJiAoXG4gICAgICAgICAgICA8U29ydFxuICAgICAgICAgICAgICB0cmlnZ2VyU29ydD17dHJpZ2dlclNvcnR9XG4gICAgICAgICAgICAgIGV2ZW50cz17ZXZlbnRzX2RhdGEuaXRlbXN9XG4gICAgICAgICAgICAgIGV2ZW50c0ZldGNoaW5nPXtldmVudHNfZGF0YS5pc0ZldGNoaW5nfVxuICAgICAgICAgICAgICBhY3RpdmVGaWx0ZXI9e2dsb2JhbF9kYXRhLmFjdGl2ZUZpbHRlcn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImljb25zXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZpbHRlclwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldEZpbHRlclBvcHVwT3BlbighZmlsdGVyUG9wdXBPcGVuKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPEZpbHRlckljb24gd2lkdGg9XCIxN3B4XCIgaGVpZ2h0PVwiMTdweFwiIGZpbGw9XCIjZjYwMDRmXCIgLz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICB7cG9pbnRzX2RhdGEuaXRlbXMubGVuZ3RoICE9PSAwICYmIChcbiAgICAgICAgICA8RmlsdGVyQ29udGFpbmVyXG4gICAgICAgICAgICBmaWx0ZXJQb3B1cE9wZW49e2ZpbHRlclBvcHVwT3Blbn1cbiAgICAgICAgICAgIGZldGNoVHlwZT17J0V2ZW50RmlsdGVyJ31cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImV2ZW50cy1jb250YWluZXIgc2Nyb2xsYmFyIFwiPlxuICAgICAgICB7bG9hZGVyKCl9XG4gICAgICAgIHshaXNGZXRjaGluZyAmJlxuICAgICAgICAgIGl0ZW1zLmxlbmd0aCA9PT0gMCAmJlxuICAgICAgICAgICFwb2ludHNfZGF0YS5pc0ZldGNoaW5nICYmXG4gICAgICAgICAgIWVkZ2VzX2RhdGEuaXNGZXRjaGluZyAmJiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2V2ZW50c19fYmxhbmtzbGF0ZSd9PlxuICAgICAgICAgICAgICA8aW1nIHNyYz17Tm9FdmVudHNJbWFnZX0gYWx0PVwiTm9FdmVudHNJY29uXCIgLz5cbiAgICAgICAgICAgICAgPGgyPntpMThuLnQoJ2V2ZW50c19vdmVydmlldy5maWx0ZXIuYmxhbmtzbGF0ZS5oZWFkZXInKX08L2gyPlxuICAgICAgICAgICAgICA8cD57aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZmlsdGVyLmJsYW5rc2xhdGUuYm9keScpfTwvcD5cbiAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9eydhcHBseV9kZWZhdWx0X2ZpbHRlcl9idXR0b24nfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGFwcGx5RGVmYXVsdEZpbHRlcigpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5ibGFua3NsYXRlLmJ1dHRvbicpfVxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApfVxuICAgICAgICB7aXRlbXMubGVuZ3RoICE9PSAwICYmXG4gICAgICAgICAgIWFyZWFzX2RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgICAgICFwb2ludHNfZGF0YS5pc0ZldGNoaW5nICYmXG4gICAgICAgICAgIWVkZ2VzX2RhdGEuaXNGZXRjaGluZyAmJiAoXG4gICAgICAgICAgICA8dWwgY2xhc3NOYW1lPVwiZXZlbnRzIFwiPlxuICAgICAgICAgICAgICB7aXRlbXMubWFwKChldmVudDogYW55KSA9PiAoXG4gICAgICAgICAgICAgICAgPGxpIGtleT17ZXZlbnQuaWR9IGNsYXNzTmFtZT1cImV2ZW50XCIgZGF0YS1ldmVudC1pZD17ZXZlbnQuaWR9PlxuICAgICAgICAgICAgICAgICAgPFNldmVyZUV2ZW50XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50PXtldmVudH1cbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlQ2xpY2s9e2hhbmRsZUV2ZW50SXRlbUNsaWNrfVxuICAgICAgICAgICAgICAgICAgICBvbk1vdXNlRW50ZXJFdmVudD17b25Nb3VzZUVudGVyRXZlbnR9XG4gICAgICAgICAgICAgICAgICAgIG9uTW91c2VMZWF2ZUV2ZW50PXtvbk1vdXNlTGVhdmVFdmVudH1cbiAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGVFdmVudD17dmFsaWRhdGVFdmVudH1cbiAgICAgICAgICAgICAgICAgICAgZXhjZXB0aW9uQWxlcnQ9e2V4Y2VwdGlvbkFsZXJ0fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuY29uc3QgY29ubmVjdG9yID0gY29ubmVjdChtYXBTdGF0ZVRvUHJvcHMpO1xuZXhwb3J0IGRlZmF1bHQgY29ubmVjdG9yKEV2ZW50c0xpc3QpO1xuIl19
|