@kando-env/kando-ui 1.2.228-alpha.119 → 1.2.228-alpha.120
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
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var packageJsonVersion = "1.2.228-alpha.
|
|
3
|
+
var packageJsonVersion = "1.2.228-alpha.120";
|
|
4
4
|
if (typeof packageJsonVersion === 'string') {
|
|
5
5
|
// eslint-disable-next-line no-console
|
|
6
6
|
console.log("%c Kando UI %c v".concat(packageJsonVersion, " "), 'font-size: 15px; background-color: #fff; color: #e20f53;', 'font-weight: bold; font-size: 15px; background-color: #e20f53; color: #fff;', "with NODE_ENV=".concat(process.env.NODE_ENV));
|
|
@@ -181,9 +181,11 @@ var EventsList = function EventsList(_ref) {
|
|
|
181
181
|
// dispatch(setHoverEventIndicator(null));
|
|
182
182
|
dispatch((0, _actions.setFocusedEvent)(event));
|
|
183
183
|
setFilterPopupOpen(false);
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
184
|
+
if (getEventIdFromURL() === null || getEventIdFromURL() === 'null') {
|
|
185
|
+
setTimeout(function () {
|
|
186
|
+
history.push("/".concat(nav_context_data.navContext.name, "/index?water_authority_id=").concat(global_data.waterAuthorityId, "&locale=").concat(nav_context_data.navContext.locale, "&eventId=").concat(event.id, "&valuesFromKQL=").concat(global_data.eventFilterParam, "&validEvent=").concat(validateEvent(event)));
|
|
187
|
+
}, 500);
|
|
188
|
+
}
|
|
187
189
|
};
|
|
188
190
|
var onMouseEnterEvent = function onMouseEnterEvent(event) {
|
|
189
191
|
if (!focusedEvent && !hoveredEvent && validateEvent(event)) {
|
|
@@ -347,4 +349,4 @@ var EventsList = function EventsList(_ref) {
|
|
|
347
349
|
var connector = (0, _reactRedux.connect)(mapStateToProps);
|
|
348
350
|
var _default = connector(EventsList);
|
|
349
351
|
exports.default = _default;
|
|
350
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZnJlZVNvbGlkU3ZnSWNvbnMiLCJyZXF1aXJlIiwiX3JlYWN0Rm9udGF3ZXNvbWUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9yZWFjdFJlZHV4IiwiX3JlYWN0Um91dGVyRG9tIiwiX2Fycm93TGVmdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfZnVubmVsIiwiX25vX2V2ZW50cyIsIl9TZXZlcmVFdmVudCIsIl9VcmxIaXN0b3J5IiwiX2FjdGlvbnMiLCJfYWN0aW9uczIiLCJfaTE4biIsIl9FdmVudEluZm8iLCJfTW9yZUluZm8iLCJfRmlsdGVyQ29udGFpbmVyIiwiX1NvcnQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIm1hcFN0YXRlVG9Qcm9wcyIsInN0YXRlIiwiZXZlbnRzX2RhdGEiLCJnbG9iYWxfZGF0YSIsImVkZ2VzX2RhdGEiLCJwb2ludHNfZGF0YSIsImFyZWFzX2RhdGEiLCJuYXZfY29udGV4dF9kYXRhIiwiRXZlbnRzTGlzdCIsIl9yZWYiLCJzaWRlbmF2RXhwYW5kZWQiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiaXRlbXMiLCJpc0ZldGNoaW5nIiwiZm9jdXNlZEV2ZW50IiwiaG92ZXJlZEV2ZW50IiwiaG92ZXJlZEV2ZW50UGF0aHMiLCJob3ZlcmVkRWRnZVBhdGhzIiwid2F0ZXJBdXRob3JpdHlJZCIsIm1hcCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImZpbHRlclBvcHVwT3BlbiIsInNldEZpbHRlclBvcHVwT3BlbiIsIl91c2VTdGF0ZTMiLCJtZXNzYWdlcyIsIm1lc3NhZ2UiLCJldmVudF9pZCIsImV2ZW50X2lkcyIsIl91c2VTdGF0ZTQiLCJleGNlcHRpb25BbGVydCIsInNldEV4Y2VwdGlvbkFsZXJ0IiwibGFzdFZpc2l0ZWQiLCJ1c2VMYXN0VmlzaXRlZCIsInVzZVF1ZXJ5IiwiVVJMU2VhcmNoUGFyYW1zIiwidXNlTG9jYXRpb24iLCJzZWFyY2giLCJoaXN0b3J5IiwidXNlSGlzdG9yeSIsInF1ZXJ5IiwiZ2V0S1FMVmFsdWVzRnJvbVVSTCIsImdldEV2ZW50SWRGcm9tVVJMIiwibG9hZGVyIiwibGVuZ3RoIiwibmV3QXJlYXMiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiaGFuZGxlRXhwYW5zaW9uVG9nZ2xlIiwic2lkZU5hdkV4cGFuZGVkIiwiYXBwbHlEZWZhdWx0RmlsdGVyIiwicHVzaCIsImNvbmNhdCIsIm5hdkNvbnRleHQiLCJuYW1lIiwibG9jYWxlIiwic2V0RXZlbnRGaWx0ZXJQYXJhbSIsInZhbGlkYXRlRXZlbnQiLCJldmVudCIsImludmFsaWRPYnNlcnZhdGlvbnNNZXNzYWdlcyIsIm9ic2VydmF0aW9ucyIsImZvckVhY2giLCJvYnNlcnZhdGlvbiIsInBvaW50X2lzX3Jvb3QiLCJlZGdlIiwiZmluZCIsInNvdXJjZV9wb2ludF9pZCIsInBvaW50X2lkIiwidW5kZWZpbmVkIiwicG9pbnRfbmFtZSIsImluZGV4IiwiZmluZEluZGV4IiwibXNnIiwiaWQiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwiRnJhZ21lbnQiLCJpMThuIiwidCIsImludmFsaWRQYXRoTWVzc2FnZXMiLCJwYXRoIiwiZWRnZV9pZCIsImNvbnNvbGUiLCJlcnJvciIsImxhc3Rfb2JzZXJ2YXRpb25faWQiLCJsYXN0T2JzZXJ2YXRpb25Qb2ludCIsImhhbmRsZUV2ZW50SXRlbUNsaWNrIiwicmVmIiwib25Nb3VzZUxlYXZlRXZlbnQiLCJzZXRGb2N1c2VkRXZlbnQiLCJzZXRUaW1lb3V0IiwiZXZlbnRGaWx0ZXJQYXJhbSIsIm9uTW91c2VFbnRlckV2ZW50Iiwic2V0SG92ZXJlZEV2ZW50IiwicmVtb3ZlTGF5ZXIiLCJsYXllcnMiLCJfbGF5ZXJzIiwicHJvcGVydHkiLCJrYW5kb19vYmplY3QiLCJpbmNsdWRlcyIsInNldEhvdmVyZWRFdmVudFBhdGhzIiwic2V0SG92ZXJlZEVkZ2VQYXRocyIsImlzRGF0YUZldGNoZWRBbmRFdmVudE5vdEZvY3VzZWQiLCJzZXRGb2N1c2VkRXZlbnRJZkZvdW5kSW5QYXJhbXMiLCJlIiwicGFyc2VJbnQiLCJ2YWxpZEV2ZW50IiwidXNlTWVtbyIsInRvU3RyaW5nIiwidHJpZ2dlclNvcnQiLCJzb3J0IiwiYWN0aXZlRmlsdGVyIiwid2FybiIsImNhbGNFdmVudHNSZWFsQW1vdW50IiwiZXZlbnRzQ291bnQiLCJldmVudHNfY291bnQiLCJ1c2VFZmZlY3QiLCJmZXRjaEV2ZW50cyIsIm1vcmVJbmZvIiwiYWN0aXZlIiwicmVPcGVuRmlsdGVyIiwib25DbGljayIsIkZvbnRBd2Vzb21lSWNvbiIsImljb24iLCJmYUNhcmV0TGVmdCIsImZhQ2FyZXRSaWdodCIsImhyZWYiLCJmYUFycm93TGVmdCIsIkxpbmsiLCJ0byIsInNyYyIsIkxlZnRBcnJvd0ljb24iLCJoZWlnaHQiLCJ3aWR0aCIsImFsdCIsImV2ZW50cyIsImV2ZW50c0ZldGNoaW5nIiwiUmVhY3RDb21wb25lbnQiLCJmaWxsIiwiZmV0Y2hUeXBlIiwiTm9FdmVudHNJbWFnZSIsIlNldmVyZUV2ZW50IiwiaGFuZGxlQ2xpY2siLCJjb25uZWN0b3IiLCJjb25uZWN0IiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3BhZ2VzL0V2ZW50c1BhZ2UvZXZlbnRzL2V2ZW50c19saXN0L0V2ZW50c0xpc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGV0Yy9uby1jb21tZW50ZWQtb3V0LWNvZGUgKi9cbmltcG9ydCB7XG4gIGZhQXJyb3dMZWZ0LFxuICBmYUNhcmV0TGVmdCxcbiAgZmFDYXJldFJpZ2h0LFxufSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgRm9udEF3ZXNvbWVJY29uIH0gZnJvbSAnQGZvcnRhd2Vzb21lL3JlYWN0LWZvbnRhd2Vzb21lJztcbmltcG9ydCBSZWFjdCwgeyBSZWZPYmplY3QsIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjb25uZWN0LCBDb25uZWN0ZWRQcm9wcywgdXNlRGlzcGF0Y2ggfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBMaW5rLCB1c2VIaXN0b3J5LCB1c2VMb2NhdGlvbiB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IExlZnRBcnJvd0ljb24gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9hcnJvdy1sZWZ0LnN2Zyc7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBGaWx0ZXJJY29uIH0gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9mdW5uZWwuc3ZnJztcbmltcG9ydCBOb0V2ZW50c0ltYWdlIGZyb20gJ3NyYy9hc3NldHMvbm9fZXZlbnRzLnN2Zyc7XG5pbXBvcnQgeyBTZXZlcmVFdmVudCB9IGZyb20gJ3NyYy9jb21wb25lbnRzL1NldmVyZUV2ZW50L1NldmVyZUV2ZW50JztcbmltcG9ydCB7IElBcHBTdGF0ZSB9IGZyb20gJ3NyYy9tb2RlbHMvSUFwcFN0YXRlJztcbmltcG9ydCB7IHVzZUxhc3RWaXNpdGVkIH0gZnJvbSAnc3JjL3Byb3ZpZGVycy9VcmxIaXN0b3J5JztcbmltcG9ydCB7XG4gIGZldGNoRXZlbnRzLFxuICBzZXRGb2N1c2VkRXZlbnQsXG4gIHNldEhvdmVyZWRFZGdlUGF0aHMsXG4gIHNldEhvdmVyZWRFdmVudCxcbiAgc2V0SG92ZXJlZEV2ZW50UGF0aHMsXG59IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvYWN0aW9ucyc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHsgc2V0RXZlbnRGaWx0ZXJQYXJhbSwgc2lkZU5hdkV4cGFuZGVkIH0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9hY3Rpb25zJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgJy4uL0V2ZW50c1N0eWxlLnNjc3MnO1xuaW1wb3J0IEV2ZW50SW5mbyBmcm9tICcuLi9ldmVudF9pbmZvL0V2ZW50SW5mbyc7XG5pbXBvcnQgTW9yZUluZm8gZnJvbSAnLi4vTW9yZUluZm8nO1xuaW1wb3J0IEZpbHRlckNvbnRhaW5lciBmcm9tICcuL0ZpbHRlci9GaWx0ZXJDb250YWluZXInO1xuaW1wb3J0IFNvcnQgZnJvbSAnLi9Tb3J0JztcblxuZnVuY3Rpb24gbWFwU3RhdGVUb1Byb3BzKHN0YXRlOiBJQXBwU3RhdGUpIHtcbiAgY29uc3Qge1xuICAgIGV2ZW50c19kYXRhLFxuICAgIGdsb2JhbF9kYXRhLFxuICAgIGVkZ2VzX2RhdGEsXG4gICAgcG9pbnRzX2RhdGEsXG4gICAgYXJlYXNfZGF0YSxcbiAgICBuYXZfY29udGV4dF9kYXRhLFxuICB9ID0gc3RhdGU7XG5cbiAgcmV0dXJuIHtcbiAgICBldmVudHNfZGF0YSxcbiAgICBnbG9iYWxfZGF0YSxcbiAgICBlZGdlc19kYXRhLFxuICAgIHBvaW50c19kYXRhLFxuICAgIGFyZWFzX2RhdGEsXG4gICAgbmF2X2NvbnRleHRfZGF0YSxcbiAgfTtcbn1cblxudHlwZSBJUHJvcHMgPSBDb25uZWN0ZWRQcm9wczx0eXBlb2YgY29ubmVjdG9yPiAmIHtcbiAgc2lkZW5hdkV4cGFuZGVkOiBib29sZWFuO1xufTtcblxuY29uc3QgRXZlbnRzTGlzdDogUmVhY3QuRkM8SVByb3BzPiA9ICh7XG4gIGFyZWFzX2RhdGEsXG4gIHBvaW50c19kYXRhLFxuICBlZGdlc19kYXRhLFxuICBnbG9iYWxfZGF0YSxcbiAgc2lkZW5hdkV4cGFuZGVkLFxuICBldmVudHNfZGF0YSxcbiAgbmF2X2NvbnRleHRfZGF0YSxcbn0pID0+IHtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCB7XG4gICAgaXRlbXMsXG4gICAgaXNGZXRjaGluZyxcbiAgICBmb2N1c2VkRXZlbnQsXG4gICAgaG92ZXJlZEV2ZW50LFxuICAgIGhvdmVyZWRFdmVudFBhdGhzLFxuICAgIGhvdmVyZWRFZGdlUGF0aHMsXG4gIH0gPSBldmVudHNfZGF0YTtcbiAgY29uc3QgeyB3YXRlckF1dGhvcml0eUlkLCBtYXAgfSA9IGdsb2JhbF9kYXRhO1xuICBjb25zdCBbZmlsdGVyUG9wdXBPcGVuLCBzZXRGaWx0ZXJQb3B1cE9wZW5dID0gdXNlU3RhdGUodHJ1ZSk7XG4gIGNvbnN0IFtleGNlcHRpb25BbGVydCwgc2V0RXhjZXB0aW9uQWxlcnRdID0gdXNlU3RhdGU8e1xuICAgIG1lc3NhZ2VzOiB7IG1lc3NhZ2U6IGFueTsgZXZlbnRfaWQ6IG51bWJlciB9W107XG4gICAgZXZlbnRfaWRzOiBudW1iZXJbXTtcbiAgfT4oeyBtZXNzYWdlczogW3sgbWVzc2FnZTogJycsIGV2ZW50X2lkOiAwIH1dLCBldmVudF9pZHM6IFtdIH0pO1xuICBjb25zdCBsYXN0VmlzaXRlZCA9IHVzZUxhc3RWaXNpdGVkKCk7XG5cbiAgY29uc3QgdXNlUXVlcnkgPSAoKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBVUkxTZWFyY2hQYXJhbXModXNlTG9jYXRpb24oKS5zZWFyY2gpO1xuICB9O1xuICBjb25zdCBoaXN0b3J5ID0gdXNlSGlzdG9yeSgpO1xuICBjb25zdCBxdWVyeSA9IHVzZVF1ZXJ5KCk7XG4gIGNvbnN0IGdldEtRTFZhbHVlc0Zyb21VUkwgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHF1ZXJ5LmdldCgndmFsdWVzRnJvbUtRTCcpO1xuICB9O1xuICBjb25zdCBnZXRFdmVudElkRnJvbVVSTCA9ICgpID0+IHtcbiAgICByZXR1cm4gcXVlcnkuZ2V0KCdldmVudElkJyk7XG4gIH07XG5cbiAgY29uc3QgbG9hZGVyID0gKCkgPT4ge1xuICAgIGlmIChcbiAgICAgIChpc0ZldGNoaW5nICYmIGl0ZW1zLmxlbmd0aCA9PT0gMCkgfHxcbiAgICAgIGFyZWFzX2RhdGEubmV3QXJlYXMubGVuZ3RoID09PSAwIHx8XG4gICAgICBwb2ludHNfZGF0YS5pc0ZldGNoaW5nIHx8XG4gICAgICBlZGdlc19kYXRhLmlzRmV0Y2hpbmdcbiAgICApIHtcbiAgICAgIHJldHVybiA8ZGl2IGNsYXNzTmFtZT17J2xvYWRlcid9PjwvZGl2PjtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUV4cGFuc2lvblRvZ2dsZSA9ICgpID0+IHtcbiAgICBkaXNwYXRjaChzaWRlTmF2RXhwYW5kZWQoIXNpZGVuYXZFeHBhbmRlZCkpO1xuICB9O1xuXG4gIGNvbnN0IGFwcGx5RGVmYXVsdEZpbHRlciA9ICgpID0+IHtcbiAgICBoaXN0b3J5LnB1c2goXG4gICAgICBgLyR7bmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWV9L2luZGV4P3dhdGVyX2F1dGhvcml0eV9pZD0ke2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWR9JmxvY2FsZT0ke25hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5sb2NhbGV9JnZhbHVlc0Zyb21LUUw9YCxcbiAgICApO1xuICAgIGRpc3BhdGNoKHNldEV2ZW50RmlsdGVyUGFyYW0oJycpKTtcbiAgfTtcblxuICBjb25zdCB2YWxpZGF0ZUV2ZW50ID0gKGV2ZW50OiBJRXZlbnQpID0+IHtcbiAgICAvLyBjaGVjayB0aGF0IGFsbCBvYnNlcnZhdGlvbnMnIGVkZ2VzIGV4aXN0cy4gSWYgdGhleSBhcmUgbm90IGV4aXN0cyBpdCdzIGluZGljYXRlcyB0aGF0IHRoZWlyIHBvaW50cyBhcmVcbiAgICAvLyBub3QgaW4gdGhlIGhpZXJhcmNoeSBvciBkb2Vzbid0IGhhdmUgbGF0L2xuZy5cbiAgICBsZXQgaW52YWxpZE9ic2VydmF0aW9uc01lc3NhZ2VzOiBhbnkgPSBbXTtcbiAgICBldmVudC5vYnNlcnZhdGlvbnMuZm9yRWFjaCgob2JzZXJ2YXRpb246IGFueSkgPT4ge1xuICAgICAgLy8gaWYgb2JzZXJ2YXRpb24gaXMgcm9vdCAoZXguIFdXVFApIHRoZXJlIGlzIG5vIGVkZ2UgdGhhdCBpdHMgYSBzb3VyY2UuIHNvIHdlIGNhbiBza2lwIHRoaXMgY2hlY2tcbiAgICAgIGlmICghb2JzZXJ2YXRpb24ucG9pbnRfaXNfcm9vdCkge1xuICAgICAgICBsZXQgZWRnZSA9IGVkZ2VzX2RhdGEuaXRlbXMuZmluZChcbiAgICAgICAgICAoZWRnZSkgPT4gZWRnZS5zb3VyY2VfcG9pbnRfaWQgPT09IG9ic2VydmF0aW9uLnBvaW50X2lkLFxuICAgICAgICApO1xuICAgICAgICBpZiAoZWRnZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgaW52YWxpZE9ic2VydmF0aW9uc01lc3NhZ2VzLnB1c2goXG4gICAgICAgICAgICBgJHtvYnNlcnZhdGlvbi5wb2ludF9uYW1lfSAoJHtvYnNlcnZhdGlvbi5wb2ludF9pZH0pIGAsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKGludmFsaWRPYnNlcnZhdGlvbnNNZXNzYWdlcy5sZW5ndGggIT09IDApIHtcbiAgICAgIGxldCBpbmRleCA9IGV4Y2VwdGlvbkFsZXJ0Lm1lc3NhZ2VzLmZpbmRJbmRleChcbiAgICAgICAgKG1zZykgPT4gbXNnLmV2ZW50X2lkID09PSBldmVudC5pZCxcbiAgICAgICk7XG5cbiAgICAgIGlmIChpbmRleCA9PT0gLTEpIHtcbiAgICAgICAgc2V0RXhjZXB0aW9uQWxlcnQoe1xuICAgICAgICAgIG1lc3NhZ2VzOiBbXG4gICAgICAgICAgICAuLi5leGNlcHRpb25BbGVydC5tZXNzYWdlcyxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbWVzc2FnZTogKFxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICA8cD57aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZXZlbnRfZGF0YV9taXNzaW5nJyl9PC9wPlxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICBldmVudF9pZDogZXZlbnQuaWQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgZXZlbnRfaWRzOiBbLi4uZXhjZXB0aW9uQWxlcnQuZXZlbnRfaWRzLCBldmVudC5pZF0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8vIHNhbWUgY2hlY2sgYXMgYWJvdmUgYnV0IHRoaXMgdGltZSBmb3IgdGhlIGV2ZW50IHBhdGguIElmIGVkZ2UgZG9lc24ndCBleGlzdCwgaXQncyBpbmRpY2F0ZXMgdGhhdCBvbmUgb2YgdGhlXG4gICAgLy8gcG9pbnRzIGRvd25zdHJlYW0gZG9lc24ndCBoYXZlIGxhdC9sbmcuXG4gICAgbGV0IGludmFsaWRQYXRoTWVzc2FnZXM6IGFueSA9IFtdO1xuICAgIGV2ZW50LnBhdGguZm9yRWFjaCgocGF0aDogYW55KSA9PiB7XG4gICAgICBsZXQgZWRnZSA9IGVkZ2VzX2RhdGEuaXRlbXMuZmluZCgoZWRnZSkgPT4gZWRnZS5pZCA9PT0gcGF0aC5lZGdlX2lkKTtcbiAgICAgIGlmIChlZGdlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgZWRnZSAke3BhdGguZWRnZV9pZH0gY2FuIG5vdCBiZSBmb3VuZGApO1xuICAgICAgICBsZXQgb2JzZXJ2YXRpb24gPSBldmVudC5vYnNlcnZhdGlvbnMuZmluZChcbiAgICAgICAgICAob2JzZXJ2YXRpb24pID0+IG9ic2VydmF0aW9uLmlkID09PSBwYXRoLmxhc3Rfb2JzZXJ2YXRpb25faWQsXG4gICAgICAgICk7XG4gICAgICAgIGxldCBsYXN0T2JzZXJ2YXRpb25Qb2ludCA9ICdOb3QgZm91bmQnO1xuICAgICAgICBpZiAob2JzZXJ2YXRpb24pIHtcbiAgICAgICAgICBsYXN0T2JzZXJ2YXRpb25Qb2ludCA9IG9ic2VydmF0aW9uLnBvaW50X25hbWU7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignbGFzdE9ic2VydmF0aW9uUG9pbnQnLCBsYXN0T2JzZXJ2YXRpb25Qb2ludCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBpbnZhbGlkUGF0aE1lc3NhZ2VzLnB1c2goYCR7bGFzdE9ic2VydmF0aW9uUG9pbnR9IGApO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKGludmFsaWRQYXRoTWVzc2FnZXMubGVuZ3RoICE9PSAwKSB7XG4gICAgICBzZXRFeGNlcHRpb25BbGVydCh7XG4gICAgICAgIG1lc3NhZ2VzOiBbXG4gICAgICAgICAgLi4uZXhjZXB0aW9uQWxlcnQubWVzc2FnZXMsXG4gICAgICAgICAge1xuICAgICAgICAgICAgbWVzc2FnZTogKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIDxwPntpMThuLnQoJ2V2ZW50c19vdmVydmlldy5ldmVudF92ZXJpZnlfY29vcmRpbmF0ZXMnKX08L3A+XG4gICAgICAgICAgICAgICAgPHNwYW4+e2ludmFsaWRQYXRoTWVzc2FnZXN9PC9zcGFuPlxuICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBldmVudF9pZDogZXZlbnQuaWQsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgZXZlbnRfaWRzOiBbLi4uZXhjZXB0aW9uQWxlcnQuZXZlbnRfaWRzLCBldmVudC5pZF0sXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVFdmVudEl0ZW1DbGljayA9IChcbiAgICBldmVudDogSUV2ZW50LFxuICAgIHJlZjogUmVmT2JqZWN0PEhUTUxFbGVtZW50PiB8IG51bGwsXG4gICkgPT4ge1xuICAgIGlmIChyZWYgIT09IG51bGwpIG9uTW91c2VMZWF2ZUV2ZW50KCk7XG4gICAgLy8gaWYgKGhvdmVyZWRFdmVudFBhdGhzICYmIG1hcCkge1xuICAgIC8vICAgICBob3ZlcmVkRXZlbnRQYXRocy5mb3JFYWNoKChwYXRoKSA9PiB7XG4gICAgLy8gICAgICAgICBtYXAucmVtb3ZlTGF5ZXIocGF0aCk7XG4gICAgLy8gICAgIH0pO1xuICAgIC8vIH1cbiAgICAvLyBkaXNwYXRjaChzZXRIb3ZlcmVkRXZlbnRQYXRocyhbXSkpO1xuICAgIC8vIGRpc3BhdGNoKHNldEhvdmVyRXZlbnRJbmRpY2F0b3IobnVsbCkpO1xuICAgIGRpc3BhdGNoKHNldEZvY3VzZWRFdmVudChldmVudCkpO1xuICAgIHNldEZpbHRlclBvcHVwT3BlbihmYWxzZSk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBoaXN0b3J5LnB1c2goXG4gICAgICAgIGAvJHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubmFtZX0vaW5kZXg/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7XG4gICAgICAgICAgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZFxuICAgICAgICB9JmxvY2FsZT0ke25hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5sb2NhbGV9JmV2ZW50SWQ9JHtcbiAgICAgICAgICBldmVudC5pZFxuICAgICAgICB9JnZhbHVlc0Zyb21LUUw9JHtcbiAgICAgICAgICBnbG9iYWxfZGF0YS5ldmVudEZpbHRlclBhcmFtXG4gICAgICAgIH0mdmFsaWRFdmVudD0ke3ZhbGlkYXRlRXZlbnQoZXZlbnQpfWAsXG4gICAgICApO1xuICAgIH0sIDUwMCk7XG4gIH07XG5cbiAgY29uc3Qgb25Nb3VzZUVudGVyRXZlbnQgPSAoZXZlbnQpID0+IHtcbiAgICBpZiAoIWZvY3VzZWRFdmVudCAmJiAhaG92ZXJlZEV2ZW50ICYmIHZhbGlkYXRlRXZlbnQoZXZlbnQpKSB7XG4gICAgICBkaXNwYXRjaChzZXRIb3ZlcmVkRXZlbnQoZXZlbnQpKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3Qgb25Nb3VzZUxlYXZlRXZlbnQgPSAoKSA9PiB7XG4gICAgaWYgKGhvdmVyZWRFdmVudCAmJiBob3ZlcmVkRXZlbnRQYXRocyAmJiBtYXApIHtcbiAgICAgIGhvdmVyZWRFdmVudFBhdGhzLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAgICAgbWFwLnJlbW92ZUxheWVyKHBhdGgpO1xuICAgICAgfSk7XG5cbiAgICAgIGlmIChob3ZlcmVkRWRnZVBhdGhzKSB7XG4gICAgICAgIGhvdmVyZWRFZGdlUGF0aHMuZm9yRWFjaCgocGF0aCkgPT4ge1xuICAgICAgICAgIG1hcC5yZW1vdmVMYXllcihwYXRoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGxldCBsYXllcnMgPSBtYXAuX2xheWVycztcbiAgICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbGF5ZXJzKSB7XG4gICAgICAgIGNvbnN0IGthbmRvX29iamVjdCA9IGxheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0O1xuICAgICAgICBpZiAoXG4gICAgICAgICAga2FuZG9fb2JqZWN0Py5pbmNsdWRlcygnRXZlbnRCb2R5JykgfHxcbiAgICAgICAgICBbXG4gICAgICAgICAgICAnRXZlbnRUYWlsJyxcbiAgICAgICAgICAgICdTYW1wbGluZ1BvaW50JyxcbiAgICAgICAgICAgICdEZWNvcmF0b3InLFxuICAgICAgICAgICAgJ0hvdmVyZWRFZGdlJyxcbiAgICAgICAgICAgICdIb3ZlcmVkRWRnZUZyb250JyxcbiAgICAgICAgICAgICdGb2N1c2VkRWRnZScsXG4gICAgICAgICAgICAnRm9jdXNlZEVkZ2VGcm9udCcsXG4gICAgICAgICAgXS5pbmNsdWRlcyhrYW5kb19vYmplY3QpXG4gICAgICAgICkge1xuICAgICAgICAgIG1hcC5yZW1vdmVMYXllcihsYXllcnNbcHJvcGVydHldKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBkaXNwYXRjaChzZXRIb3ZlcmVkRXZlbnQobnVsbCkpO1xuICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFdmVudFBhdGhzKFtdKSk7XG4gICAgZGlzcGF0Y2goc2V0SG92ZXJlZEVkZ2VQYXRocyhbXSkpO1xuICB9O1xuXG4gIGNvbnN0IGlzRGF0YUZldGNoZWRBbmRFdmVudE5vdEZvY3VzZWQgPSAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIChnZXRFdmVudElkRnJvbVVSTCgpID09PSAnbnVsbCcgfHwgZ2V0RXZlbnRJZEZyb21VUkwoKSA9PT0gbnVsbCkgJiZcbiAgICAgIGZvY3VzZWRFdmVudCA9PT0gbnVsbCAmJlxuICAgICAgaXRlbXMubGVuZ3RoICE9PSAwICYmXG4gICAgICAhaXNGZXRjaGluZyAmJlxuICAgICAgIWFyZWFzX2RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgIXBvaW50c19kYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgICFlZGdlc19kYXRhLmlzRmV0Y2hpbmdcbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IHNldEZvY3VzZWRFdmVudElmRm91bmRJblBhcmFtcyA9ICgpID0+IHtcbiAgICBpZiAoXG4gICAgICBnZXRFdmVudElkRnJvbVVSTCgpICE9PSBudWxsICYmXG4gICAgICBnZXRFdmVudElkRnJvbVVSTCgpICE9PSAnbnVsbCcgJiZcbiAgICAgIGZvY3VzZWRFdmVudCA9PT0gbnVsbCAmJlxuICAgICAgaXRlbXMubGVuZ3RoICE9PSAwICYmXG4gICAgICAhaXNGZXRjaGluZyAmJlxuICAgICAgIWFyZWFzX2RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgIXBvaW50c19kYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgICFlZGdlc19kYXRhLmlzRmV0Y2hpbmdcbiAgICApIHtcbiAgICAgIGxldCBldmVudCA9IGV2ZW50c19kYXRhLml0ZW1zLmZpbmQoXG4gICAgICAgIChlOiBJRXZlbnQpID0+IGUuaWQgPT09IHBhcnNlSW50KGdldEV2ZW50SWRGcm9tVVJMKCkhKSxcbiAgICAgICk7XG4gICAgICBpZiAoZXZlbnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBoYW5kbGVFdmVudEl0ZW1DbGljayhldmVudCwgbnVsbCk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHZhbGlkRXZlbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBsZXQgZXZlbnQgPSBldmVudHNfZGF0YS5pdGVtcy5maW5kKFxuICAgICAgKGUpID0+IGUuaWQudG9TdHJpbmcoKSA9PT0gZ2V0RXZlbnRJZEZyb21VUkwoKSxcbiAgICApO1xuXG4gICAgaWYgKGV2ZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB2YWxpZGF0ZUV2ZW50KGV2ZW50KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9LCBbXG4gICAgZXZlbnRzX2RhdGEuZm9jdXNlZEV2ZW50LFxuICAgIGFyZWFzX2RhdGEuaXNGZXRjaGluZyxcbiAgICBwb2ludHNfZGF0YS5pc0ZldGNoaW5nLFxuICAgIGVkZ2VzX2RhdGEuaXNGZXRjaGluZyxcbiAgICBldmVudHNfZGF0YS5pc0ZldGNoaW5nLFxuICBdKTtcblxuICBjb25zdCB0cmlnZ2VyU29ydCA9IChzb3J0OiBudW1iZXIpID0+IHtcbiAgICBpZiAoXG4gICAgICBnbG9iYWxfZGF0YS5hY3RpdmVGaWx0ZXIgIT09IG51bGwgJiZcbiAgICAgIGlzRGF0YUZldGNoZWRBbmRFdmVudE5vdEZvY3VzZWQoKVxuICAgICkge1xuICAgICAgY29uc29sZS53YXJuKCdzb3J0Jywgc29ydCk7XG4gICAgICBjb25zb2xlLndhcm4oJ3ZhbGlkRXZlbnQnLCB2YWxpZEV2ZW50KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgY2FsY0V2ZW50c1JlYWxBbW91bnQgPSAoKSA9PiB7XG4gICAgbGV0IGV2ZW50c0NvdW50OiBudW1iZXIgfCBzdHJpbmcgPSAwO1xuICAgIGV2ZW50c0NvdW50ID0gZXZlbnRzX2RhdGEuZXZlbnRzX2NvdW50O1xuICAgIGlmIChldmVudHNDb3VudCA+IDUwKVxuICAgICAgZXZlbnRzQ291bnQgPSBgJHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5tb3JlX3RoYW4nKX0gNTBgO1xuXG4gICAgcmV0dXJuIGV2ZW50c0NvdW50O1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZGlzcGF0Y2goXG4gICAgICBmZXRjaEV2ZW50cyhcbiAgICAgICAgd2F0ZXJBdXRob3JpdHlJZCxcbiAgICAgICAgZ2V0S1FMVmFsdWVzRnJvbVVSTCgpIHx8ICdERUZBVUxUJyxcbiAgICAgICAgZ2V0RXZlbnRJZEZyb21VUkwoKSxcbiAgICAgICksXG4gICAgKTtcbiAgfSwgW2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsIGdsb2JhbF9kYXRhLmV2ZW50RmlsdGVyUGFyYW1dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChcbiAgICAgICFldmVudHNfZGF0YS5pc0ZldGNoaW5nICYmXG4gICAgICAhZWRnZXNfZGF0YS5pc0ZldGNoaW5nICYmXG4gICAgICAhcG9pbnRzX2RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgIWFyZWFzX2RhdGEuaXNGZXRjaGluZ1xuICAgICkge1xuICAgICAgc2V0Rm9jdXNlZEV2ZW50SWZGb3VuZEluUGFyYW1zKCk7XG4gICAgfVxuICB9LCBbXG4gICAgZXZlbnRzX2RhdGEuaXNGZXRjaGluZyxcbiAgICBlZGdlc19kYXRhLmlzRmV0Y2hpbmcsXG4gICAgcG9pbnRzX2RhdGEuaXNGZXRjaGluZyxcbiAgICBhcmVhc19kYXRhLmlzRmV0Y2hpbmcsXG4gICAgZ2xvYmFsX2RhdGEuZXZlbnRGaWx0ZXJQYXJhbSxcbiAgXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17J3NpZGVuYXYgJyArIChzaWRlbmF2RXhwYW5kZWQgPyAnJyA6ICdzaWRlbmF2LS1jb2xsYXBzZWQnKX0+XG4gICAgICB7Z2xvYmFsX2RhdGEubW9yZUluZm8gIT09IHVuZGVmaW5lZCAmJiBnbG9iYWxfZGF0YS5tb3JlSW5mby5hY3RpdmUgJiYgKFxuICAgICAgICA8TW9yZUluZm8gLz5cbiAgICAgICl9XG5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPXtcbiAgICAgICAgICAnZXZlbnQtaW5mbyAnICtcbiAgICAgICAgICAoIWhvdmVyZWRFdmVudCAmJiBmb2N1c2VkRXZlbnQgIT09IG51bGxcbiAgICAgICAgICAgID8gJydcbiAgICAgICAgICAgIDogJ2V2ZW50LWluZm8tLWNvbGxhcHNlZCcpXG4gICAgICAgIH1cbiAgICAgID5cbiAgICAgICAgeyFob3ZlcmVkRXZlbnQgJiYgZm9jdXNlZEV2ZW50ICE9PSBudWxsICYmIChcbiAgICAgICAgICA8RXZlbnRJbmZvXG4gICAgICAgICAgICBldmVudD17Zm9jdXNlZEV2ZW50fVxuICAgICAgICAgICAgcmVPcGVuRmlsdGVyPXsoKSA9PiBzZXRGaWx0ZXJQb3B1cE9wZW4odHJ1ZSl9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9XCJ0b2dnbGUtZXhwYW5zaW9uLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICBoYW5kbGVFeHBhbnNpb25Ub2dnbGUoKTtcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJuYXYtZXhwYW5zaW9uLWljb25cIj5cbiAgICAgICAgICA8Rm9udEF3ZXNvbWVJY29uXG4gICAgICAgICAgICBpY29uPXtzaWRlbmF2RXhwYW5kZWQgPyBmYUNhcmV0TGVmdCA6IGZhQ2FyZXRSaWdodH1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9eyd0b2dnbGUtZXhwYW5zaW9uLWJ1dHRvbi1tb2JpbGUnfVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgaGFuZGxlRXhwYW5zaW9uVG9nZ2xlKCk7XG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxhIGhyZWY9XCIjXCI+XG4gICAgICAgICAgPEZvbnRBd2Vzb21lSWNvbiBpY29uPXtmYUFycm93TGVmdH0gLz5cbiAgICAgICAgICA8c3Bhbj4ge2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmJhY2tfdG9fZGV0YWlscycpfTwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImV2ZW50cy1oZWFkZXJcIj5cbiAgICAgICAge2xhc3RWaXNpdGVkICYmICFpc0ZldGNoaW5nICYmIChcbiAgICAgICAgICA8TGluayBjbGFzc05hbWU9XCJiYWNrXCIgdG89e2xhc3RWaXNpdGVkfT5cbiAgICAgICAgICAgIHsnICd9XG4gICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgIHNyYz17TGVmdEFycm93SWNvbn1cbiAgICAgICAgICAgICAgaGVpZ2h0PVwiMTBweFwiXG4gICAgICAgICAgICAgIHdpZHRoPVwiMTJweFwiXG4gICAgICAgICAgICAgIGFsdD1cImJhY2tcIlxuICAgICAgICAgICAgLz57JyAnfVxuICAgICAgICAgICAge2kxOG4udCgnYXJlYV9zY3JlZW4uYmFjaycpfVxuICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgKX1cbiAgICAgICAgPGg0PlxuICAgICAgICAgIHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5ldmVudHNfbGlzdCcpfVxuICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17J2V2ZW50cy1oZWFkZXJfX2V2ZW50c19hbW91bnQnfT5cbiAgICAgICAgICAgICh7Y2FsY0V2ZW50c1JlYWxBbW91bnQoKX0pXG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2g0PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpbHRlcmluZ1wiPlxuICAgICAgICAgIHtldmVudHNfZGF0YS5pdGVtcy5sZW5ndGggIT09IDAgJiYgKFxuICAgICAgICAgICAgPFNvcnRcbiAgICAgICAgICAgICAgdHJpZ2dlclNvcnQ9e3RyaWdnZXJTb3J0fVxuICAgICAgICAgICAgICBldmVudHM9e2V2ZW50c19kYXRhLml0ZW1zfVxuICAgICAgICAgICAgICBldmVudHNGZXRjaGluZz17ZXZlbnRzX2RhdGEuaXNGZXRjaGluZ31cbiAgICAgICAgICAgICAgYWN0aXZlRmlsdGVyPXtnbG9iYWxfZGF0YS5hY3RpdmVGaWx0ZXJ9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpY29uc1wiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJmaWx0ZXJcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRGaWx0ZXJQb3B1cE9wZW4oIWZpbHRlclBvcHVwT3Blbil9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxGaWx0ZXJJY29uIHdpZHRoPVwiMTdweFwiIGhlaWdodD1cIjE3cHhcIiBmaWxsPVwiI2Y2MDA0ZlwiIC8+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAge3BvaW50c19kYXRhLml0ZW1zLmxlbmd0aCAhPT0gMCAmJiAhZm9jdXNlZEV2ZW50ICYmIChcbiAgICAgICAgICA8RmlsdGVyQ29udGFpbmVyXG4gICAgICAgICAgICBmaWx0ZXJQb3B1cE9wZW49e2ZpbHRlclBvcHVwT3Blbn1cbiAgICAgICAgICAgIGZldGNoVHlwZT17J0V2ZW50RmlsdGVyJ31cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImV2ZW50cy1jb250YWluZXIgc2Nyb2xsYmFyIFwiPlxuICAgICAgICB7bG9hZGVyKCl9XG4gICAgICAgIHshaXNGZXRjaGluZyAmJlxuICAgICAgICAgIGl0ZW1zLmxlbmd0aCA9PT0gMCAmJlxuICAgICAgICAgICFwb2ludHNfZGF0YS5pc0ZldGNoaW5nICYmXG4gICAgICAgICAgIWVkZ2VzX2RhdGEuaXNGZXRjaGluZyAmJiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2V2ZW50c19fYmxhbmtzbGF0ZSd9PlxuICAgICAgICAgICAgICA8aW1nIHNyYz17Tm9FdmVudHNJbWFnZX0gYWx0PVwiTm9FdmVudHNJY29uXCIgLz5cbiAgICAgICAgICAgICAgPGgyPntpMThuLnQoJ2V2ZW50c19vdmVydmlldy5maWx0ZXIuYmxhbmtzbGF0ZS5oZWFkZXInKX08L2gyPlxuICAgICAgICAgICAgICA8cD57aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZmlsdGVyLmJsYW5rc2xhdGUuYm9keScpfTwvcD5cbiAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9eydhcHBseV9kZWZhdWx0X2ZpbHRlcl9idXR0b24nfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGFwcGx5RGVmYXVsdEZpbHRlcigpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5ibGFua3NsYXRlLmJ1dHRvbicpfVxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApfVxuICAgICAgICB7aXRlbXMubGVuZ3RoICE9PSAwICYmXG4gICAgICAgICAgIWFyZWFzX2RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgICAgICFwb2ludHNfZGF0YS5pc0ZldGNoaW5nICYmXG4gICAgICAgICAgIWVkZ2VzX2RhdGEuaXNGZXRjaGluZyAmJiAoXG4gICAgICAgICAgICA8dWwgY2xhc3NOYW1lPVwiZXZlbnRzIFwiPlxuICAgICAgICAgICAgICB7aXRlbXMubWFwKChldmVudDogYW55KSA9PiAoXG4gICAgICAgICAgICAgICAgPGxpIGtleT17ZXZlbnQuaWR9IGNsYXNzTmFtZT1cImV2ZW50XCIgZGF0YS1ldmVudC1pZD17ZXZlbnQuaWR9PlxuICAgICAgICAgICAgICAgICAgPFNldmVyZUV2ZW50XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50PXtldmVudH1cbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlQ2xpY2s9e2hhbmRsZUV2ZW50SXRlbUNsaWNrfVxuICAgICAgICAgICAgICAgICAgICBvbk1vdXNlRW50ZXJFdmVudD17b25Nb3VzZUVudGVyRXZlbnR9XG4gICAgICAgICAgICAgICAgICAgIG9uTW91c2VMZWF2ZUV2ZW50PXtvbk1vdXNlTGVhdmVFdmVudH1cbiAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGVFdmVudD17dmFsaWRhdGVFdmVudH1cbiAgICAgICAgICAgICAgICAgICAgZXhjZXB0aW9uQWxlcnQ9e2V4Y2VwdGlvbkFsZXJ0fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuY29uc3QgY29ubmVjdG9yID0gY29ubmVjdChtYXBTdGF0ZVRvUHJvcHMpO1xuZXhwb3J0IGRlZmF1bHQgY29ubmVjdG9yKEV2ZW50c0xpc3QpO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQ0EsSUFBQUEsa0JBQUEsR0FBQUMsT0FBQTtBQUtBLElBQUFDLGlCQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxNQUFBLEdBQUFDLHVCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSSxXQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxlQUFBLEdBQUFMLE9BQUE7QUFBaUUsSUFBQU0sVUFBQSxHQUFBQyxzQkFBQSxDQUFBUCxPQUFBO0FBQUEsSUFBQVEsT0FBQSxHQUFBUixPQUFBO0FBQUEsSUFBQVMsVUFBQSxHQUFBRixzQkFB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
|
|
352
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZnJlZVNvbGlkU3ZnSWNvbnMiLCJyZXF1aXJlIiwiX3JlYWN0Rm9udGF3ZXNvbWUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9yZWFjdFJlZHV4IiwiX3JlYWN0Um91dGVyRG9tIiwiX2Fycm93TGVmdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfZnVubmVsIiwiX25vX2V2ZW50cyIsIl9TZXZlcmVFdmVudCIsIl9VcmxIaXN0b3J5IiwiX2FjdGlvbnMiLCJfYWN0aW9uczIiLCJfaTE4biIsIl9FdmVudEluZm8iLCJfTW9yZUluZm8iLCJfRmlsdGVyQ29udGFpbmVyIiwiX1NvcnQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIm1hcFN0YXRlVG9Qcm9wcyIsInN0YXRlIiwiZXZlbnRzX2RhdGEiLCJnbG9iYWxfZGF0YSIsImVkZ2VzX2RhdGEiLCJwb2ludHNfZGF0YSIsImFyZWFzX2RhdGEiLCJuYXZfY29udGV4dF9kYXRhIiwiRXZlbnRzTGlzdCIsIl9yZWYiLCJzaWRlbmF2RXhwYW5kZWQiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiaXRlbXMiLCJpc0ZldGNoaW5nIiwiZm9jdXNlZEV2ZW50IiwiaG92ZXJlZEV2ZW50IiwiaG92ZXJlZEV2ZW50UGF0aHMiLCJob3ZlcmVkRWRnZVBhdGhzIiwid2F0ZXJBdXRob3JpdHlJZCIsIm1hcCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImZpbHRlclBvcHVwT3BlbiIsInNldEZpbHRlclBvcHVwT3BlbiIsIl91c2VTdGF0ZTMiLCJtZXNzYWdlcyIsIm1lc3NhZ2UiLCJldmVudF9pZCIsImV2ZW50X2lkcyIsIl91c2VTdGF0ZTQiLCJleGNlcHRpb25BbGVydCIsInNldEV4Y2VwdGlvbkFsZXJ0IiwibGFzdFZpc2l0ZWQiLCJ1c2VMYXN0VmlzaXRlZCIsInVzZVF1ZXJ5IiwiVVJMU2VhcmNoUGFyYW1zIiwidXNlTG9jYXRpb24iLCJzZWFyY2giLCJoaXN0b3J5IiwidXNlSGlzdG9yeSIsInF1ZXJ5IiwiZ2V0S1FMVmFsdWVzRnJvbVVSTCIsImdldEV2ZW50SWRGcm9tVVJMIiwibG9hZGVyIiwibGVuZ3RoIiwibmV3QXJlYXMiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiaGFuZGxlRXhwYW5zaW9uVG9nZ2xlIiwic2lkZU5hdkV4cGFuZGVkIiwiYXBwbHlEZWZhdWx0RmlsdGVyIiwicHVzaCIsImNvbmNhdCIsIm5hdkNvbnRleHQiLCJuYW1lIiwibG9jYWxlIiwic2V0RXZlbnRGaWx0ZXJQYXJhbSIsInZhbGlkYXRlRXZlbnQiLCJldmVudCIsImludmFsaWRPYnNlcnZhdGlvbnNNZXNzYWdlcyIsIm9ic2VydmF0aW9ucyIsImZvckVhY2giLCJvYnNlcnZhdGlvbiIsInBvaW50X2lzX3Jvb3QiLCJlZGdlIiwiZmluZCIsInNvdXJjZV9wb2ludF9pZCIsInBvaW50X2lkIiwidW5kZWZpbmVkIiwicG9pbnRfbmFtZSIsImluZGV4IiwiZmluZEluZGV4IiwibXNnIiwiaWQiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwiRnJhZ21lbnQiLCJpMThuIiwidCIsImludmFsaWRQYXRoTWVzc2FnZXMiLCJwYXRoIiwiZWRnZV9pZCIsImNvbnNvbGUiLCJlcnJvciIsImxhc3Rfb2JzZXJ2YXRpb25faWQiLCJsYXN0T2JzZXJ2YXRpb25Qb2ludCIsImhhbmRsZUV2ZW50SXRlbUNsaWNrIiwicmVmIiwib25Nb3VzZUxlYXZlRXZlbnQiLCJzZXRGb2N1c2VkRXZlbnQiLCJzZXRUaW1lb3V0IiwiZXZlbnRGaWx0ZXJQYXJhbSIsIm9uTW91c2VFbnRlckV2ZW50Iiwic2V0SG92ZXJlZEV2ZW50IiwicmVtb3ZlTGF5ZXIiLCJsYXllcnMiLCJfbGF5ZXJzIiwicHJvcGVydHkiLCJrYW5kb19vYmplY3QiLCJpbmNsdWRlcyIsInNldEhvdmVyZWRFdmVudFBhdGhzIiwic2V0SG92ZXJlZEVkZ2VQYXRocyIsImlzRGF0YUZldGNoZWRBbmRFdmVudE5vdEZvY3VzZWQiLCJzZXRGb2N1c2VkRXZlbnRJZkZvdW5kSW5QYXJhbXMiLCJlIiwicGFyc2VJbnQiLCJ2YWxpZEV2ZW50IiwidXNlTWVtbyIsInRvU3RyaW5nIiwidHJpZ2dlclNvcnQiLCJzb3J0IiwiYWN0aXZlRmlsdGVyIiwid2FybiIsImNhbGNFdmVudHNSZWFsQW1vdW50IiwiZXZlbnRzQ291bnQiLCJldmVudHNfY291bnQiLCJ1c2VFZmZlY3QiLCJmZXRjaEV2ZW50cyIsIm1vcmVJbmZvIiwiYWN0aXZlIiwicmVPcGVuRmlsdGVyIiwib25DbGljayIsIkZvbnRBd2Vzb21lSWNvbiIsImljb24iLCJmYUNhcmV0TGVmdCIsImZhQ2FyZXRSaWdodCIsImhyZWYiLCJmYUFycm93TGVmdCIsIkxpbmsiLCJ0byIsInNyYyIsIkxlZnRBcnJvd0ljb24iLCJoZWlnaHQiLCJ3aWR0aCIsImFsdCIsImV2ZW50cyIsImV2ZW50c0ZldGNoaW5nIiwiUmVhY3RDb21wb25lbnQiLCJmaWxsIiwiZmV0Y2hUeXBlIiwiTm9FdmVudHNJbWFnZSIsIlNldmVyZUV2ZW50IiwiaGFuZGxlQ2xpY2siLCJjb25uZWN0b3IiLCJjb25uZWN0IiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3BhZ2VzL0V2ZW50c1BhZ2UvZXZlbnRzL2V2ZW50c19saXN0L0V2ZW50c0xpc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGV0Yy9uby1jb21tZW50ZWQtb3V0LWNvZGUgKi9cbmltcG9ydCB7XG4gIGZhQXJyb3dMZWZ0LFxuICBmYUNhcmV0TGVmdCxcbiAgZmFDYXJldFJpZ2h0LFxufSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgRm9udEF3ZXNvbWVJY29uIH0gZnJvbSAnQGZvcnRhd2Vzb21lL3JlYWN0LWZvbnRhd2Vzb21lJztcbmltcG9ydCBSZWFjdCwgeyBSZWZPYmplY3QsIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjb25uZWN0LCBDb25uZWN0ZWRQcm9wcywgdXNlRGlzcGF0Y2ggfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBMaW5rLCB1c2VIaXN0b3J5LCB1c2VMb2NhdGlvbiB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IExlZnRBcnJvd0ljb24gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9hcnJvdy1sZWZ0LnN2Zyc7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBGaWx0ZXJJY29uIH0gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9mdW5uZWwuc3ZnJztcbmltcG9ydCBOb0V2ZW50c0ltYWdlIGZyb20gJ3NyYy9hc3NldHMvbm9fZXZlbnRzLnN2Zyc7XG5pbXBvcnQgeyBTZXZlcmVFdmVudCB9IGZyb20gJ3NyYy9jb21wb25lbnRzL1NldmVyZUV2ZW50L1NldmVyZUV2ZW50JztcbmltcG9ydCB7IElBcHBTdGF0ZSB9IGZyb20gJ3NyYy9tb2RlbHMvSUFwcFN0YXRlJztcbmltcG9ydCB7IHVzZUxhc3RWaXNpdGVkIH0gZnJvbSAnc3JjL3Byb3ZpZGVycy9VcmxIaXN0b3J5JztcbmltcG9ydCB7XG4gIGZldGNoRXZlbnRzLFxuICBzZXRGb2N1c2VkRXZlbnQsXG4gIHNldEhvdmVyZWRFZGdlUGF0aHMsXG4gIHNldEhvdmVyZWRFdmVudCxcbiAgc2V0SG92ZXJlZEV2ZW50UGF0aHMsXG59IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvYWN0aW9ucyc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHsgc2V0RXZlbnRGaWx0ZXJQYXJhbSwgc2lkZU5hdkV4cGFuZGVkIH0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9hY3Rpb25zJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgJy4uL0V2ZW50c1N0eWxlLnNjc3MnO1xuaW1wb3J0IEV2ZW50SW5mbyBmcm9tICcuLi9ldmVudF9pbmZvL0V2ZW50SW5mbyc7XG5pbXBvcnQgTW9yZUluZm8gZnJvbSAnLi4vTW9yZUluZm8nO1xuaW1wb3J0IEZpbHRlckNvbnRhaW5lciBmcm9tICcuL0ZpbHRlci9GaWx0ZXJDb250YWluZXInO1xuaW1wb3J0IFNvcnQgZnJvbSAnLi9Tb3J0JztcblxuZnVuY3Rpb24gbWFwU3RhdGVUb1Byb3BzKHN0YXRlOiBJQXBwU3RhdGUpIHtcbiAgY29uc3Qge1xuICAgIGV2ZW50c19kYXRhLFxuICAgIGdsb2JhbF9kYXRhLFxuICAgIGVkZ2VzX2RhdGEsXG4gICAgcG9pbnRzX2RhdGEsXG4gICAgYXJlYXNfZGF0YSxcbiAgICBuYXZfY29udGV4dF9kYXRhLFxuICB9ID0gc3RhdGU7XG5cbiAgcmV0dXJuIHtcbiAgICBldmVudHNfZGF0YSxcbiAgICBnbG9iYWxfZGF0YSxcbiAgICBlZGdlc19kYXRhLFxuICAgIHBvaW50c19kYXRhLFxuICAgIGFyZWFzX2RhdGEsXG4gICAgbmF2X2NvbnRleHRfZGF0YSxcbiAgfTtcbn1cblxudHlwZSBJUHJvcHMgPSBDb25uZWN0ZWRQcm9wczx0eXBlb2YgY29ubmVjdG9yPiAmIHtcbiAgc2lkZW5hdkV4cGFuZGVkOiBib29sZWFuO1xufTtcblxuY29uc3QgRXZlbnRzTGlzdDogUmVhY3QuRkM8SVByb3BzPiA9ICh7XG4gIGFyZWFzX2RhdGEsXG4gIHBvaW50c19kYXRhLFxuICBlZGdlc19kYXRhLFxuICBnbG9iYWxfZGF0YSxcbiAgc2lkZW5hdkV4cGFuZGVkLFxuICBldmVudHNfZGF0YSxcbiAgbmF2X2NvbnRleHRfZGF0YSxcbn0pID0+IHtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCB7XG4gICAgaXRlbXMsXG4gICAgaXNGZXRjaGluZyxcbiAgICBmb2N1c2VkRXZlbnQsXG4gICAgaG92ZXJlZEV2ZW50LFxuICAgIGhvdmVyZWRFdmVudFBhdGhzLFxuICAgIGhvdmVyZWRFZGdlUGF0aHMsXG4gIH0gPSBldmVudHNfZGF0YTtcbiAgY29uc3QgeyB3YXRlckF1dGhvcml0eUlkLCBtYXAgfSA9IGdsb2JhbF9kYXRhO1xuICBjb25zdCBbZmlsdGVyUG9wdXBPcGVuLCBzZXRGaWx0ZXJQb3B1cE9wZW5dID0gdXNlU3RhdGUodHJ1ZSk7XG4gIGNvbnN0IFtleGNlcHRpb25BbGVydCwgc2V0RXhjZXB0aW9uQWxlcnRdID0gdXNlU3RhdGU8e1xuICAgIG1lc3NhZ2VzOiB7IG1lc3NhZ2U6IGFueTsgZXZlbnRfaWQ6IG51bWJlciB9W107XG4gICAgZXZlbnRfaWRzOiBudW1iZXJbXTtcbiAgfT4oeyBtZXNzYWdlczogW3sgbWVzc2FnZTogJycsIGV2ZW50X2lkOiAwIH1dLCBldmVudF9pZHM6IFtdIH0pO1xuICBjb25zdCBsYXN0VmlzaXRlZCA9IHVzZUxhc3RWaXNpdGVkKCk7XG5cbiAgY29uc3QgdXNlUXVlcnkgPSAoKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBVUkxTZWFyY2hQYXJhbXModXNlTG9jYXRpb24oKS5zZWFyY2gpO1xuICB9O1xuICBjb25zdCBoaXN0b3J5ID0gdXNlSGlzdG9yeSgpO1xuICBjb25zdCBxdWVyeSA9IHVzZVF1ZXJ5KCk7XG4gIGNvbnN0IGdldEtRTFZhbHVlc0Zyb21VUkwgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHF1ZXJ5LmdldCgndmFsdWVzRnJvbUtRTCcpO1xuICB9O1xuICBjb25zdCBnZXRFdmVudElkRnJvbVVSTCA9ICgpID0+IHtcbiAgICByZXR1cm4gcXVlcnkuZ2V0KCdldmVudElkJyk7XG4gIH07XG5cbiAgY29uc3QgbG9hZGVyID0gKCkgPT4ge1xuICAgIGlmIChcbiAgICAgIChpc0ZldGNoaW5nICYmIGl0ZW1zLmxlbmd0aCA9PT0gMCkgfHxcbiAgICAgIGFyZWFzX2RhdGEubmV3QXJlYXMubGVuZ3RoID09PSAwIHx8XG4gICAgICBwb2ludHNfZGF0YS5pc0ZldGNoaW5nIHx8XG4gICAgICBlZGdlc19kYXRhLmlzRmV0Y2hpbmdcbiAgICApIHtcbiAgICAgIHJldHVybiA8ZGl2IGNsYXNzTmFtZT17J2xvYWRlcid9PjwvZGl2PjtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUV4cGFuc2lvblRvZ2dsZSA9ICgpID0+IHtcbiAgICBkaXNwYXRjaChzaWRlTmF2RXhwYW5kZWQoIXNpZGVuYXZFeHBhbmRlZCkpO1xuICB9O1xuXG4gIGNvbnN0IGFwcGx5RGVmYXVsdEZpbHRlciA9ICgpID0+IHtcbiAgICBoaXN0b3J5LnB1c2goXG4gICAgICBgLyR7bmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWV9L2luZGV4P3dhdGVyX2F1dGhvcml0eV9pZD0ke2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWR9JmxvY2FsZT0ke25hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5sb2NhbGV9JnZhbHVlc0Zyb21LUUw9YCxcbiAgICApO1xuICAgIGRpc3BhdGNoKHNldEV2ZW50RmlsdGVyUGFyYW0oJycpKTtcbiAgfTtcblxuICBjb25zdCB2YWxpZGF0ZUV2ZW50ID0gKGV2ZW50OiBJRXZlbnQpID0+IHtcbiAgICAvLyBjaGVjayB0aGF0IGFsbCBvYnNlcnZhdGlvbnMnIGVkZ2VzIGV4aXN0cy4gSWYgdGhleSBhcmUgbm90IGV4aXN0cyBpdCdzIGluZGljYXRlcyB0aGF0IHRoZWlyIHBvaW50cyBhcmVcbiAgICAvLyBub3QgaW4gdGhlIGhpZXJhcmNoeSBvciBkb2Vzbid0IGhhdmUgbGF0L2xuZy5cbiAgICBsZXQgaW52YWxpZE9ic2VydmF0aW9uc01lc3NhZ2VzOiBhbnkgPSBbXTtcbiAgICBldmVudC5vYnNlcnZhdGlvbnMuZm9yRWFjaCgob2JzZXJ2YXRpb246IGFueSkgPT4ge1xuICAgICAgLy8gaWYgb2JzZXJ2YXRpb24gaXMgcm9vdCAoZXguIFdXVFApIHRoZXJlIGlzIG5vIGVkZ2UgdGhhdCBpdHMgYSBzb3VyY2UuIHNvIHdlIGNhbiBza2lwIHRoaXMgY2hlY2tcbiAgICAgIGlmICghb2JzZXJ2YXRpb24ucG9pbnRfaXNfcm9vdCkge1xuICAgICAgICBsZXQgZWRnZSA9IGVkZ2VzX2RhdGEuaXRlbXMuZmluZChcbiAgICAgICAgICAoZWRnZSkgPT4gZWRnZS5zb3VyY2VfcG9pbnRfaWQgPT09IG9ic2VydmF0aW9uLnBvaW50X2lkLFxuICAgICAgICApO1xuICAgICAgICBpZiAoZWRnZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgaW52YWxpZE9ic2VydmF0aW9uc01lc3NhZ2VzLnB1c2goXG4gICAgICAgICAgICBgJHtvYnNlcnZhdGlvbi5wb2ludF9uYW1lfSAoJHtvYnNlcnZhdGlvbi5wb2ludF9pZH0pIGAsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKGludmFsaWRPYnNlcnZhdGlvbnNNZXNzYWdlcy5sZW5ndGggIT09IDApIHtcbiAgICAgIGxldCBpbmRleCA9IGV4Y2VwdGlvbkFsZXJ0Lm1lc3NhZ2VzLmZpbmRJbmRleChcbiAgICAgICAgKG1zZykgPT4gbXNnLmV2ZW50X2lkID09PSBldmVudC5pZCxcbiAgICAgICk7XG5cbiAgICAgIGlmIChpbmRleCA9PT0gLTEpIHtcbiAgICAgICAgc2V0RXhjZXB0aW9uQWxlcnQoe1xuICAgICAgICAgIG1lc3NhZ2VzOiBbXG4gICAgICAgICAgICAuLi5leGNlcHRpb25BbGVydC5tZXNzYWdlcyxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbWVzc2FnZTogKFxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICA8cD57aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZXZlbnRfZGF0YV9taXNzaW5nJyl9PC9wPlxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICBldmVudF9pZDogZXZlbnQuaWQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgZXZlbnRfaWRzOiBbLi4uZXhjZXB0aW9uQWxlcnQuZXZlbnRfaWRzLCBldmVudC5pZF0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8vIHNhbWUgY2hlY2sgYXMgYWJvdmUgYnV0IHRoaXMgdGltZSBmb3IgdGhlIGV2ZW50IHBhdGguIElmIGVkZ2UgZG9lc24ndCBleGlzdCwgaXQncyBpbmRpY2F0ZXMgdGhhdCBvbmUgb2YgdGhlXG4gICAgLy8gcG9pbnRzIGRvd25zdHJlYW0gZG9lc24ndCBoYXZlIGxhdC9sbmcuXG4gICAgbGV0IGludmFsaWRQYXRoTWVzc2FnZXM6IGFueSA9IFtdO1xuICAgIGV2ZW50LnBhdGguZm9yRWFjaCgocGF0aDogYW55KSA9PiB7XG4gICAgICBsZXQgZWRnZSA9IGVkZ2VzX2RhdGEuaXRlbXMuZmluZCgoZWRnZSkgPT4gZWRnZS5pZCA9PT0gcGF0aC5lZGdlX2lkKTtcbiAgICAgIGlmIChlZGdlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgZWRnZSAke3BhdGguZWRnZV9pZH0gY2FuIG5vdCBiZSBmb3VuZGApO1xuICAgICAgICBsZXQgb2JzZXJ2YXRpb24gPSBldmVudC5vYnNlcnZhdGlvbnMuZmluZChcbiAgICAgICAgICAob2JzZXJ2YXRpb24pID0+IG9ic2VydmF0aW9uLmlkID09PSBwYXRoLmxhc3Rfb2JzZXJ2YXRpb25faWQsXG4gICAgICAgICk7XG4gICAgICAgIGxldCBsYXN0T2JzZXJ2YXRpb25Qb2ludCA9ICdOb3QgZm91bmQnO1xuICAgICAgICBpZiAob2JzZXJ2YXRpb24pIHtcbiAgICAgICAgICBsYXN0T2JzZXJ2YXRpb25Qb2ludCA9IG9ic2VydmF0aW9uLnBvaW50X25hbWU7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignbGFzdE9ic2VydmF0aW9uUG9pbnQnLCBsYXN0T2JzZXJ2YXRpb25Qb2ludCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBpbnZhbGlkUGF0aE1lc3NhZ2VzLnB1c2goYCR7bGFzdE9ic2VydmF0aW9uUG9pbnR9IGApO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKGludmFsaWRQYXRoTWVzc2FnZXMubGVuZ3RoICE9PSAwKSB7XG4gICAgICBzZXRFeGNlcHRpb25BbGVydCh7XG4gICAgICAgIG1lc3NhZ2VzOiBbXG4gICAgICAgICAgLi4uZXhjZXB0aW9uQWxlcnQubWVzc2FnZXMsXG4gICAgICAgICAge1xuICAgICAgICAgICAgbWVzc2FnZTogKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIDxwPntpMThuLnQoJ2V2ZW50c19vdmVydmlldy5ldmVudF92ZXJpZnlfY29vcmRpbmF0ZXMnKX08L3A+XG4gICAgICAgICAgICAgICAgPHNwYW4+e2ludmFsaWRQYXRoTWVzc2FnZXN9PC9zcGFuPlxuICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBldmVudF9pZDogZXZlbnQuaWQsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgZXZlbnRfaWRzOiBbLi4uZXhjZXB0aW9uQWxlcnQuZXZlbnRfaWRzLCBldmVudC5pZF0sXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVFdmVudEl0ZW1DbGljayA9IChcbiAgICBldmVudDogSUV2ZW50LFxuICAgIHJlZjogUmVmT2JqZWN0PEhUTUxFbGVtZW50PiB8IG51bGwsXG4gICkgPT4ge1xuICAgIGlmIChyZWYgIT09IG51bGwpIG9uTW91c2VMZWF2ZUV2ZW50KCk7XG4gICAgLy8gaWYgKGhvdmVyZWRFdmVudFBhdGhzICYmIG1hcCkge1xuICAgIC8vICAgICBob3ZlcmVkRXZlbnRQYXRocy5mb3JFYWNoKChwYXRoKSA9PiB7XG4gICAgLy8gICAgICAgICBtYXAucmVtb3ZlTGF5ZXIocGF0aCk7XG4gICAgLy8gICAgIH0pO1xuICAgIC8vIH1cbiAgICAvLyBkaXNwYXRjaChzZXRIb3ZlcmVkRXZlbnRQYXRocyhbXSkpO1xuICAgIC8vIGRpc3BhdGNoKHNldEhvdmVyRXZlbnRJbmRpY2F0b3IobnVsbCkpO1xuICAgIGRpc3BhdGNoKHNldEZvY3VzZWRFdmVudChldmVudCkpO1xuICAgIHNldEZpbHRlclBvcHVwT3BlbihmYWxzZSk7XG4gICAgaWYgKGdldEV2ZW50SWRGcm9tVVJMKCkgPT09IG51bGwgfHwgZ2V0RXZlbnRJZEZyb21VUkwoKSA9PT0gJ251bGwnKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaGlzdG9yeS5wdXNoKFxuICAgICAgICAgIGAvJHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubmFtZX0vaW5kZXg/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7XG4gICAgICAgICAgICBnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkXG4gICAgICAgICAgfSZsb2NhbGU9JHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlfSZldmVudElkPSR7XG4gICAgICAgICAgICBldmVudC5pZFxuICAgICAgICAgIH0mdmFsdWVzRnJvbUtRTD0ke1xuICAgICAgICAgICAgZ2xvYmFsX2RhdGEuZXZlbnRGaWx0ZXJQYXJhbVxuICAgICAgICAgIH0mdmFsaWRFdmVudD0ke3ZhbGlkYXRlRXZlbnQoZXZlbnQpfWAsXG4gICAgICAgICk7XG4gICAgICB9LCA1MDApO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBvbk1vdXNlRW50ZXJFdmVudCA9IChldmVudCkgPT4ge1xuICAgIGlmICghZm9jdXNlZEV2ZW50ICYmICFob3ZlcmVkRXZlbnQgJiYgdmFsaWRhdGVFdmVudChldmVudCkpIHtcbiAgICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFdmVudChldmVudCkpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBvbk1vdXNlTGVhdmVFdmVudCA9ICgpID0+IHtcbiAgICBpZiAoaG92ZXJlZEV2ZW50ICYmIGhvdmVyZWRFdmVudFBhdGhzICYmIG1hcCkge1xuICAgICAgaG92ZXJlZEV2ZW50UGF0aHMuZm9yRWFjaCgocGF0aCkgPT4ge1xuICAgICAgICBtYXAucmVtb3ZlTGF5ZXIocGF0aCk7XG4gICAgICB9KTtcblxuICAgICAgaWYgKGhvdmVyZWRFZGdlUGF0aHMpIHtcbiAgICAgICAgaG92ZXJlZEVkZ2VQYXRocy5mb3JFYWNoKChwYXRoKSA9PiB7XG4gICAgICAgICAgbWFwLnJlbW92ZUxheWVyKHBhdGgpO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgbGV0IGxheWVycyA9IG1hcC5fbGF5ZXJzO1xuICAgICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBsYXllcnMpIHtcbiAgICAgICAgY29uc3Qga2FuZG9fb2JqZWN0ID0gbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3Q7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBrYW5kb19vYmplY3Q/LmluY2x1ZGVzKCdFdmVudEJvZHknKSB8fFxuICAgICAgICAgIFtcbiAgICAgICAgICAgICdFdmVudFRhaWwnLFxuICAgICAgICAgICAgJ1NhbXBsaW5nUG9pbnQnLFxuICAgICAgICAgICAgJ0RlY29yYXRvcicsXG4gICAgICAgICAgICAnSG92ZXJlZEVkZ2UnLFxuICAgICAgICAgICAgJ0hvdmVyZWRFZGdlRnJvbnQnLFxuICAgICAgICAgICAgJ0ZvY3VzZWRFZGdlJyxcbiAgICAgICAgICAgICdGb2N1c2VkRWRnZUZyb250JyxcbiAgICAgICAgICBdLmluY2x1ZGVzKGthbmRvX29iamVjdClcbiAgICAgICAgKSB7XG4gICAgICAgICAgbWFwLnJlbW92ZUxheWVyKGxheWVyc1twcm9wZXJ0eV0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFdmVudChudWxsKSk7XG4gICAgZGlzcGF0Y2goc2V0SG92ZXJlZEV2ZW50UGF0aHMoW10pKTtcbiAgICBkaXNwYXRjaChzZXRIb3ZlcmVkRWRnZVBhdGhzKFtdKSk7XG4gIH07XG5cbiAgY29uc3QgaXNEYXRhRmV0Y2hlZEFuZEV2ZW50Tm90Rm9jdXNlZCA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgKGdldEV2ZW50SWRGcm9tVVJMKCkgPT09ICdudWxsJyB8fCBnZXRFdmVudElkRnJvbVVSTCgpID09PSBudWxsKSAmJlxuICAgICAgZm9jdXNlZEV2ZW50ID09PSBudWxsICYmXG4gICAgICBpdGVtcy5sZW5ndGggIT09IDAgJiZcbiAgICAgICFpc0ZldGNoaW5nICYmXG4gICAgICAhYXJlYXNfZGF0YS5pc0ZldGNoaW5nICYmXG4gICAgICAhcG9pbnRzX2RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgIWVkZ2VzX2RhdGEuaXNGZXRjaGluZ1xuICAgICk7XG4gIH07XG5cbiAgY29uc3Qgc2V0Rm9jdXNlZEV2ZW50SWZGb3VuZEluUGFyYW1zID0gKCkgPT4ge1xuICAgIGlmIChcbiAgICAgIGdldEV2ZW50SWRGcm9tVVJMKCkgIT09IG51bGwgJiZcbiAgICAgIGdldEV2ZW50SWRGcm9tVVJMKCkgIT09ICdudWxsJyAmJlxuICAgICAgZm9jdXNlZEV2ZW50ID09PSBudWxsICYmXG4gICAgICBpdGVtcy5sZW5ndGggIT09IDAgJiZcbiAgICAgICFpc0ZldGNoaW5nICYmXG4gICAgICAhYXJlYXNfZGF0YS5pc0ZldGNoaW5nICYmXG4gICAgICAhcG9pbnRzX2RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgIWVkZ2VzX2RhdGEuaXNGZXRjaGluZ1xuICAgICkge1xuICAgICAgbGV0IGV2ZW50ID0gZXZlbnRzX2RhdGEuaXRlbXMuZmluZChcbiAgICAgICAgKGU6IElFdmVudCkgPT4gZS5pZCA9PT0gcGFyc2VJbnQoZ2V0RXZlbnRJZEZyb21VUkwoKSEpLFxuICAgICAgKTtcbiAgICAgIGlmIChldmVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGhhbmRsZUV2ZW50SXRlbUNsaWNrKGV2ZW50LCBudWxsKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgY29uc3QgdmFsaWRFdmVudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGxldCBldmVudCA9IGV2ZW50c19kYXRhLml0ZW1zLmZpbmQoXG4gICAgICAoZSkgPT4gZS5pZC50b1N0cmluZygpID09PSBnZXRFdmVudElkRnJvbVVSTCgpLFxuICAgICk7XG5cbiAgICBpZiAoZXZlbnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHZhbGlkYXRlRXZlbnQoZXZlbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0sIFtcbiAgICBldmVudHNfZGF0YS5mb2N1c2VkRXZlbnQsXG4gICAgYXJlYXNfZGF0YS5pc0ZldGNoaW5nLFxuICAgIHBvaW50c19kYXRhLmlzRmV0Y2hpbmcsXG4gICAgZWRnZXNfZGF0YS5pc0ZldGNoaW5nLFxuICAgIGV2ZW50c19kYXRhLmlzRmV0Y2hpbmcsXG4gIF0pO1xuXG4gIGNvbnN0IHRyaWdnZXJTb3J0ID0gKHNvcnQ6IG51bWJlcikgPT4ge1xuICAgIGlmIChcbiAgICAgIGdsb2JhbF9kYXRhLmFjdGl2ZUZpbHRlciAhPT0gbnVsbCAmJlxuICAgICAgaXNEYXRhRmV0Y2hlZEFuZEV2ZW50Tm90Rm9jdXNlZCgpXG4gICAgKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ3NvcnQnLCBzb3J0KTtcbiAgICAgIGNvbnNvbGUud2FybigndmFsaWRFdmVudCcsIHZhbGlkRXZlbnQpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBjYWxjRXZlbnRzUmVhbEFtb3VudCA9ICgpID0+IHtcbiAgICBsZXQgZXZlbnRzQ291bnQ6IG51bWJlciB8IHN0cmluZyA9IDA7XG4gICAgZXZlbnRzQ291bnQgPSBldmVudHNfZGF0YS5ldmVudHNfY291bnQ7XG4gICAgaWYgKGV2ZW50c0NvdW50ID4gNTApXG4gICAgICBldmVudHNDb3VudCA9IGAke2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3Lm1vcmVfdGhhbicpfSA1MGA7XG5cbiAgICByZXR1cm4gZXZlbnRzQ291bnQ7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkaXNwYXRjaChcbiAgICAgIGZldGNoRXZlbnRzKFxuICAgICAgICB3YXRlckF1dGhvcml0eUlkLFxuICAgICAgICBnZXRLUUxWYWx1ZXNGcm9tVVJMKCkgfHwgJ0RFRkFVTFQnLFxuICAgICAgICBnZXRFdmVudElkRnJvbVVSTCgpLFxuICAgICAgKSxcbiAgICApO1xuICB9LCBbZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCwgZ2xvYmFsX2RhdGEuZXZlbnRGaWx0ZXJQYXJhbV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKFxuICAgICAgIWV2ZW50c19kYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgICFlZGdlc19kYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgICFwb2ludHNfZGF0YS5pc0ZldGNoaW5nICYmXG4gICAgICAhYXJlYXNfZGF0YS5pc0ZldGNoaW5nXG4gICAgKSB7XG4gICAgICBzZXRGb2N1c2VkRXZlbnRJZkZvdW5kSW5QYXJhbXMoKTtcbiAgICB9XG4gIH0sIFtcbiAgICBldmVudHNfZGF0YS5pc0ZldGNoaW5nLFxuICAgIGVkZ2VzX2RhdGEuaXNGZXRjaGluZyxcbiAgICBwb2ludHNfZGF0YS5pc0ZldGNoaW5nLFxuICAgIGFyZWFzX2RhdGEuaXNGZXRjaGluZyxcbiAgICBnbG9iYWxfZGF0YS5ldmVudEZpbHRlclBhcmFtLFxuICBdKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXsnc2lkZW5hdiAnICsgKHNpZGVuYXZFeHBhbmRlZCA/ICcnIDogJ3NpZGVuYXYtLWNvbGxhcHNlZCcpfT5cbiAgICAgIHtnbG9iYWxfZGF0YS5tb3JlSW5mbyAhPT0gdW5kZWZpbmVkICYmIGdsb2JhbF9kYXRhLm1vcmVJbmZvLmFjdGl2ZSAmJiAoXG4gICAgICAgIDxNb3JlSW5mbyAvPlxuICAgICAgKX1cblxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9e1xuICAgICAgICAgICdldmVudC1pbmZvICcgK1xuICAgICAgICAgICghaG92ZXJlZEV2ZW50ICYmIGZvY3VzZWRFdmVudCAhPT0gbnVsbFxuICAgICAgICAgICAgPyAnJ1xuICAgICAgICAgICAgOiAnZXZlbnQtaW5mby0tY29sbGFwc2VkJylcbiAgICAgICAgfVxuICAgICAgPlxuICAgICAgICB7IWhvdmVyZWRFdmVudCAmJiBmb2N1c2VkRXZlbnQgIT09IG51bGwgJiYgKFxuICAgICAgICAgIDxFdmVudEluZm9cbiAgICAgICAgICAgIGV2ZW50PXtmb2N1c2VkRXZlbnR9XG4gICAgICAgICAgICByZU9wZW5GaWx0ZXI9eygpID0+IHNldEZpbHRlclBvcHVwT3Blbih0cnVlKX1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT1cInRvZ2dsZS1leHBhbnNpb24tYnV0dG9uXCJcbiAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgIGhhbmRsZUV4cGFuc2lvblRvZ2dsZSgpO1xuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm5hdi1leHBhbnNpb24taWNvblwiPlxuICAgICAgICAgIDxGb250QXdlc29tZUljb25cbiAgICAgICAgICAgIGljb249e3NpZGVuYXZFeHBhbmRlZCA/IGZhQ2FyZXRMZWZ0IDogZmFDYXJldFJpZ2h0fVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT17J3RvZ2dsZS1leHBhbnNpb24tYnV0dG9uLW1vYmlsZSd9XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICBoYW5kbGVFeHBhbnNpb25Ub2dnbGUoKTtcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPGEgaHJlZj1cIiNcIj5cbiAgICAgICAgICA8Rm9udEF3ZXNvbWVJY29uIGljb249e2ZhQXJyb3dMZWZ0fSAvPlxuICAgICAgICAgIDxzcGFuPiB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuYmFja190b19kZXRhaWxzJyl9PC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZXZlbnRzLWhlYWRlclwiPlxuICAgICAgICB7bGFzdFZpc2l0ZWQgJiYgIWlzRmV0Y2hpbmcgJiYgKFxuICAgICAgICAgIDxMaW5rIGNsYXNzTmFtZT1cImJhY2tcIiB0bz17bGFzdFZpc2l0ZWR9PlxuICAgICAgICAgICAgeycgJ31cbiAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgc3JjPXtMZWZ0QXJyb3dJY29ufVxuICAgICAgICAgICAgICBoZWlnaHQ9XCIxMHB4XCJcbiAgICAgICAgICAgICAgd2lkdGg9XCIxMnB4XCJcbiAgICAgICAgICAgICAgYWx0PVwiYmFja1wiXG4gICAgICAgICAgICAvPnsnICd9XG4gICAgICAgICAgICB7aTE4bi50KCdhcmVhX3NjcmVlbi5iYWNrJyl9XG4gICAgICAgICAgPC9MaW5rPlxuICAgICAgICApfVxuICAgICAgICA8aDQ+XG4gICAgICAgICAge2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmV2ZW50c19saXN0Jyl9XG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXsnZXZlbnRzLWhlYWRlcl9fZXZlbnRzX2Ftb3VudCd9PlxuICAgICAgICAgICAgKHtjYWxjRXZlbnRzUmVhbEFtb3VudCgpfSlcbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvaDQ+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmlsdGVyaW5nXCI+XG4gICAgICAgICAge2V2ZW50c19kYXRhLml0ZW1zLmxlbmd0aCAhPT0gMCAmJiAoXG4gICAgICAgICAgICA8U29ydFxuICAgICAgICAgICAgICB0cmlnZ2VyU29ydD17dHJpZ2dlclNvcnR9XG4gICAgICAgICAgICAgIGV2ZW50cz17ZXZlbnRzX2RhdGEuaXRlbXN9XG4gICAgICAgICAgICAgIGV2ZW50c0ZldGNoaW5nPXtldmVudHNfZGF0YS5pc0ZldGNoaW5nfVxuICAgICAgICAgICAgICBhY3RpdmVGaWx0ZXI9e2dsb2JhbF9kYXRhLmFjdGl2ZUZpbHRlcn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImljb25zXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZpbHRlclwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldEZpbHRlclBvcHVwT3BlbighZmlsdGVyUG9wdXBPcGVuKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPEZpbHRlckljb24gd2lkdGg9XCIxN3B4XCIgaGVpZ2h0PVwiMTdweFwiIGZpbGw9XCIjZjYwMDRmXCIgLz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICB7cG9pbnRzX2RhdGEuaXRlbXMubGVuZ3RoICE9PSAwICYmICFmb2N1c2VkRXZlbnQgJiYgKFxuICAgICAgICAgIDxGaWx0ZXJDb250YWluZXJcbiAgICAgICAgICAgIGZpbHRlclBvcHVwT3Blbj17ZmlsdGVyUG9wdXBPcGVufVxuICAgICAgICAgICAgZmV0Y2hUeXBlPXsnRXZlbnRGaWx0ZXInfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZXZlbnRzLWNvbnRhaW5lciBzY3JvbGxiYXIgXCI+XG4gICAgICAgIHtsb2FkZXIoKX1cbiAgICAgICAgeyFpc0ZldGNoaW5nICYmXG4gICAgICAgICAgaXRlbXMubGVuZ3RoID09PSAwICYmXG4gICAgICAgICAgIXBvaW50c19kYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgICAgICAhZWRnZXNfZGF0YS5pc0ZldGNoaW5nICYmIChcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZXZlbnRzX19ibGFua3NsYXRlJ30+XG4gICAgICAgICAgICAgIDxpbWcgc3JjPXtOb0V2ZW50c0ltYWdlfSBhbHQ9XCJOb0V2ZW50c0ljb25cIiAvPlxuICAgICAgICAgICAgICA8aDI+e2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5ibGFua3NsYXRlLmhlYWRlcicpfTwvaDI+XG4gICAgICAgICAgICAgIDxwPntpMThuLnQoJ2V2ZW50c19vdmVydmlldy5maWx0ZXIuYmxhbmtzbGF0ZS5ib2R5Jyl9PC9wPlxuICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17J2FwcGx5X2RlZmF1bHRfZmlsdGVyX2J1dHRvbid9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gYXBwbHlEZWZhdWx0RmlsdGVyKCl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZmlsdGVyLmJsYW5rc2xhdGUuYnV0dG9uJyl9XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICl9XG4gICAgICAgIHtpdGVtcy5sZW5ndGggIT09IDAgJiZcbiAgICAgICAgICAhYXJlYXNfZGF0YS5pc0ZldGNoaW5nICYmXG4gICAgICAgICAgIXBvaW50c19kYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgICAgICAhZWRnZXNfZGF0YS5pc0ZldGNoaW5nICYmIChcbiAgICAgICAgICAgIDx1bCBjbGFzc05hbWU9XCJldmVudHMgXCI+XG4gICAgICAgICAgICAgIHtpdGVtcy5tYXAoKGV2ZW50OiBhbnkpID0+IChcbiAgICAgICAgICAgICAgICA8bGkga2V5PXtldmVudC5pZH0gY2xhc3NOYW1lPVwiZXZlbnRcIiBkYXRhLWV2ZW50LWlkPXtldmVudC5pZH0+XG4gICAgICAgICAgICAgICAgICA8U2V2ZXJlRXZlbnRcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQ9e2V2ZW50fVxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVDbGljaz17aGFuZGxlRXZlbnRJdGVtQ2xpY2t9XG4gICAgICAgICAgICAgICAgICAgIG9uTW91c2VFbnRlckV2ZW50PXtvbk1vdXNlRW50ZXJFdmVudH1cbiAgICAgICAgICAgICAgICAgICAgb25Nb3VzZUxlYXZlRXZlbnQ9e29uTW91c2VMZWF2ZUV2ZW50fVxuICAgICAgICAgICAgICAgICAgICB2YWxpZGF0ZUV2ZW50PXt2YWxpZGF0ZUV2ZW50fVxuICAgICAgICAgICAgICAgICAgICBleGNlcHRpb25BbGVydD17ZXhjZXB0aW9uQWxlcnR9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5jb25zdCBjb25uZWN0b3IgPSBjb25uZWN0KG1hcFN0YXRlVG9Qcm9wcyk7XG5leHBvcnQgZGVmYXVsdCBjb25uZWN0b3IoRXZlbnRzTGlzdCk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFDQSxJQUFBQSxrQkFBQSxHQUFBQyxPQUFBO0FBS0EsSUFBQUMsaUJBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLFdBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLGVBQUEs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
|