@kando-env/kando-ui 1.2.228-alpha.115 → 1.2.228-alpha.116
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.116";
|
|
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));
|
|
@@ -234,7 +234,7 @@ var EventsList = function EventsList(_ref) {
|
|
|
234
234
|
}
|
|
235
235
|
}, [events_data.focusedEvent, areas_data.isFetching, points_data.isFetching, edges_data.isFetching, events_data.isFetching]);
|
|
236
236
|
var triggerSort = function triggerSort(sort) {
|
|
237
|
-
if (global_data.activeFilter !== null
|
|
237
|
+
if (global_data.activeFilter !== null) {
|
|
238
238
|
var KQL;
|
|
239
239
|
var URL;
|
|
240
240
|
switch (sort) {
|
|
@@ -365,4 +365,4 @@ var EventsList = function EventsList(_ref) {
|
|
|
365
365
|
var connector = (0, _reactRedux.connect)(mapStateToProps);
|
|
366
366
|
var _default = connector(EventsList);
|
|
367
367
|
exports.default = _default;
|
|
368
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZnJlZVNvbGlkU3ZnSWNvbnMiLCJyZXF1aXJlIiwiX3JlYWN0Rm9udGF3ZXNvbWUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9yZWFjdFJlZHV4IiwiX3JlYWN0Um91dGVyRG9tIiwiX2Fycm93TGVmdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfZnVubmVsIiwiX25vX2V2ZW50cyIsIl9TZXZlcmVFdmVudCIsIl9VcmxIaXN0b3J5IiwiX2FjdGlvbnMiLCJfYWN0aW9uczIiLCJfaTE4biIsIl9rcWwiLCJfRXZlbnRJbmZvIiwiX01vcmVJbmZvIiwiX0ZpbHRlckNvbnRhaW5lciIsIl9Tb3J0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJtYXBTdGF0ZVRvUHJvcHMiLCJzdGF0ZSIsImV2ZW50c19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJlZGdlc19kYXRhIiwicG9pbnRzX2RhdGEiLCJhcmVhc19kYXRhIiwibmF2X2NvbnRleHRfZGF0YSIsIkV2ZW50c0xpc3QiLCJfcmVmIiwic2lkZW5hdkV4cGFuZGVkIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsIml0ZW1zIiwiaXNGZXRjaGluZyIsImZvY3VzZWRFdmVudCIsImhvdmVyZWRFdmVudCIsImhvdmVyZWRFdmVudFBhdGhzIiwiaG92ZXJlZEVkZ2VQYXRocyIsIndhdGVyQXV0aG9yaXR5SWQiLCJtYXAiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJmaWx0ZXJQb3B1cE9wZW4iLCJzZXRGaWx0ZXJQb3B1cE9wZW4iLCJfdXNlU3RhdGUzIiwibWVzc2FnZXMiLCJtZXNzYWdlIiwiZXZlbnRfaWQiLCJldmVudF9pZHMiLCJfdXNlU3RhdGU0IiwiZXhjZXB0aW9uQWxlcnQiLCJzZXRFeGNlcHRpb25BbGVydCIsImxhc3RWaXNpdGVkIiwidXNlTGFzdFZpc2l0ZWQiLCJ1c2VRdWVyeSIsIlVSTFNlYXJjaFBhcmFtcyIsInVzZUxvY2F0aW9uIiwic2VhcmNoIiwiaGlzdG9yeSIsInVzZUhpc3RvcnkiLCJxdWVyeSIsImdldEtRTFZhbHVlc0Zyb21VUkwiLCJnZXRFdmVudElkRnJvbVVSTCIsImxvYWRlciIsImxlbmd0aCIsIm5ld0FyZWFzIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsImhhbmRsZUV4cGFuc2lvblRvZ2dsZSIsInNpZGVOYXZFeHBhbmRlZCIsImFwcGx5RGVmYXVsdEZpbHRlciIsInB1c2giLCJjb25jYXQiLCJuYXZDb250ZXh0IiwibmFtZSIsImxvY2FsZSIsInNldEV2ZW50RmlsdGVyUGFyYW0iLCJ2YWxpZGF0ZUV2ZW50IiwiZXZlbnQiLCJpbnZhbGlkT2JzZXJ2YXRpb25zTWVzc2FnZXMiLCJvYnNlcnZhdGlvbnMiLCJmb3JFYWNoIiwib2JzZXJ2YXRpb24iLCJwb2ludF9pc19yb290IiwiZWRnZSIsImZpbmQiLCJzb3VyY2VfcG9pbnRfaWQiLCJwb2ludF9pZCIsInVuZGVmaW5lZCIsInBvaW50X25hbWUiLCJpbmRleCIsImZpbmRJbmRleCIsIm1zZyIsImlkIiwiX3RvQ29uc3VtYWJsZUFycmF5MiIsIkZyYWdtZW50IiwiaTE4biIsInQiLCJpbnZhbGlkUGF0aE1lc3NhZ2VzIiwicGF0aCIsImVkZ2VfaWQiLCJjb25zb2xlIiwiZXJyb3IiLCJsYXN0X29ic2VydmF0aW9uX2lkIiwibGFzdE9ic2VydmF0aW9uUG9pbnQiLCJoYW5kbGVFdmVudEl0ZW1DbGljayIsInJlZiIsIm9uTW91c2VMZWF2ZUV2ZW50Iiwic2V0Rm9jdXNlZEV2ZW50Iiwic2V0VGltZW91dCIsImV2ZW50RmlsdGVyUGFyYW0iLCJvbk1vdXNlRW50ZXJFdmVudCIsInNldEhvdmVyZWRFdmVudCIsInJlbW92ZUxheWVyIiwibGF5ZXJzIiwiX2xheWVycyIsInByb3BlcnR5Iiwia2FuZG9fb2JqZWN0IiwiaW5jbHVkZXMiLCJzZXRIb3ZlcmVkRXZlbnRQYXRocyIsInNldEhvdmVyZWRFZGdlUGF0aHMiLCJzZXRGb2N1c2VkRXZlbnRJZkZvdW5kSW5QYXJhbXMiLCJlIiwicGFyc2VJbnQiLCJ2YWxpZEV2ZW50IiwidXNlTWVtbyIsInRvU3RyaW5nIiwidHJpZ2dlclNvcnQiLCJzb3J0IiwiYWN0aXZlRmlsdGVyIiwiS1FMIiwiVVJMIiwiYnVpbGRLUUxRdWVyeSIsImNhbGNFdmVudHNSZWFsQW1vdW50IiwiZXZlbnRzQ291bnQiLCJldmVudHNfY291bnQiLCJ1c2VFZmZlY3QiLCJmZXRjaEV2ZW50cyIsIm1vcmVJbmZvIiwiYWN0aXZlIiwicmVPcGVuRmlsdGVyIiwib25DbGljayIsIkZvbnRBd2Vzb21lSWNvbiIsImljb24iLCJmYUNhcmV0TGVmdCIsImZhQ2FyZXRSaWdodCIsImhyZWYiLCJmYUFycm93TGVmdCIsIkxpbmsiLCJ0byIsInNyYyIsIkxlZnRBcnJvd0ljb24iLCJoZWlnaHQiLCJ3aWR0aCIsImFsdCIsImV2ZW50cyIsImV2ZW50c0ZldGNoaW5nIiwiUmVhY3RDb21wb25lbnQiLCJmaWxsIiwiZmV0Y2hUeXBlIiwiTm9FdmVudHNJbWFnZSIsIlNldmVyZUV2ZW50IiwiaGFuZGxlQ2xpY2siLCJjb25uZWN0b3IiLCJjb25uZWN0IiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3BhZ2VzL0V2ZW50c1BhZ2UvZXZlbnRzL2V2ZW50c19saXN0L0V2ZW50c0xpc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGV0Yy9uby1jb21tZW50ZWQtb3V0LWNvZGUgKi9cbmltcG9ydCB7XG4gIGZhQXJyb3dMZWZ0LFxuICBmYUNhcmV0TGVmdCxcbiAgZmFDYXJldFJpZ2h0LFxufSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgRm9udEF3ZXNvbWVJY29uIH0gZnJvbSAnQGZvcnRhd2Vzb21lL3JlYWN0LWZvbnRhd2Vzb21lJztcbmltcG9ydCBSZWFjdCwgeyBSZWZPYmplY3QsIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjb25uZWN0LCBDb25uZWN0ZWRQcm9wcywgdXNlRGlzcGF0Y2ggfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBMaW5rLCB1c2VIaXN0b3J5LCB1c2VMb2NhdGlvbiB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IExlZnRBcnJvd0ljb24gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9hcnJvdy1sZWZ0LnN2Zyc7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBGaWx0ZXJJY29uIH0gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9mdW5uZWwuc3ZnJztcbmltcG9ydCBOb0V2ZW50c0ltYWdlIGZyb20gJ3NyYy9hc3NldHMvbm9fZXZlbnRzLnN2Zyc7XG5pbXBvcnQgeyBTZXZlcmVFdmVudCB9IGZyb20gJ3NyYy9jb21wb25lbnRzL1NldmVyZUV2ZW50L1NldmVyZUV2ZW50JztcbmltcG9ydCB7IElBcHBTdGF0ZSB9IGZyb20gJ3NyYy9tb2RlbHMvSUFwcFN0YXRlJztcbmltcG9ydCB7IHVzZUxhc3RWaXNpdGVkIH0gZnJvbSAnc3JjL3Byb3ZpZGVycy9VcmxIaXN0b3J5JztcbmltcG9ydCB7XG4gIGZldGNoRXZlbnRzLFxuICBzZXRGb2N1c2VkRXZlbnQsXG4gIHNldEhvdmVyZWRFZGdlUGF0aHMsXG4gIHNldEhvdmVyZWRFdmVudCxcbiAgc2V0SG92ZXJlZEV2ZW50UGF0aHMsXG59IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvYWN0aW9ucyc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHsgc2V0RXZlbnRGaWx0ZXJQYXJhbSwgc2lkZU5hdkV4cGFuZGVkIH0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9hY3Rpb25zJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBidWlsZEtRTFF1ZXJ5IH0gZnJvbSAnc3JjL3V0aWxpdGllcy9rcWwnO1xuaW1wb3J0ICcuLi9FdmVudHNTdHlsZS5zY3NzJztcbmltcG9ydCBFdmVudEluZm8gZnJvbSAnLi4vZXZlbnRfaW5mby9FdmVudEluZm8nO1xuaW1wb3J0IE1vcmVJbmZvIGZyb20gJy4uL01vcmVJbmZvJztcbmltcG9ydCBGaWx0ZXJDb250YWluZXIgZnJvbSAnLi9GaWx0ZXIvRmlsdGVyQ29udGFpbmVyJztcbmltcG9ydCBTb3J0IGZyb20gJy4vU29ydCc7XG5cbmZ1bmN0aW9uIG1hcFN0YXRlVG9Qcm9wcyhzdGF0ZTogSUFwcFN0YXRlKSB7XG4gIGNvbnN0IHtcbiAgICBldmVudHNfZGF0YSxcbiAgICBnbG9iYWxfZGF0YSxcbiAgICBlZGdlc19kYXRhLFxuICAgIHBvaW50c19kYXRhLFxuICAgIGFyZWFzX2RhdGEsXG4gICAgbmF2X2NvbnRleHRfZGF0YSxcbiAgfSA9IHN0YXRlO1xuXG4gIHJldHVybiB7XG4gICAgZXZlbnRzX2RhdGEsXG4gICAgZ2xvYmFsX2RhdGEsXG4gICAgZWRnZXNfZGF0YSxcbiAgICBwb2ludHNfZGF0YSxcbiAgICBhcmVhc19kYXRhLFxuICAgIG5hdl9jb250ZXh0X2RhdGEsXG4gIH07XG59XG5cbnR5cGUgSVByb3BzID0gQ29ubmVjdGVkUHJvcHM8dHlwZW9mIGNvbm5lY3Rvcj4gJiB7XG4gIHNpZGVuYXZFeHBhbmRlZDogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEV2ZW50c0xpc3Q6IFJlYWN0LkZDPElQcm9wcz4gPSAoe1xuICBhcmVhc19kYXRhLFxuICBwb2ludHNfZGF0YSxcbiAgZWRnZXNfZGF0YSxcbiAgZ2xvYmFsX2RhdGEsXG4gIHNpZGVuYXZFeHBhbmRlZCxcbiAgZXZlbnRzX2RhdGEsXG4gIG5hdl9jb250ZXh0X2RhdGEsXG59KSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3Qge1xuICAgIGl0ZW1zLFxuICAgIGlzRmV0Y2hpbmcsXG4gICAgZm9jdXNlZEV2ZW50LFxuICAgIGhvdmVyZWRFdmVudCxcbiAgICBob3ZlcmVkRXZlbnRQYXRocyxcbiAgICBob3ZlcmVkRWRnZVBhdGhzLFxuICB9ID0gZXZlbnRzX2RhdGE7XG4gIGNvbnN0IHsgd2F0ZXJBdXRob3JpdHlJZCwgbWFwIH0gPSBnbG9iYWxfZGF0YTtcbiAgY29uc3QgW2ZpbHRlclBvcHVwT3Blbiwgc2V0RmlsdGVyUG9wdXBPcGVuXSA9IHVzZVN0YXRlKHRydWUpO1xuICBjb25zdCBbZXhjZXB0aW9uQWxlcnQsIHNldEV4Y2VwdGlvbkFsZXJ0XSA9IHVzZVN0YXRlPHtcbiAgICBtZXNzYWdlczogeyBtZXNzYWdlOiBhbnk7IGV2ZW50X2lkOiBudW1iZXIgfVtdO1xuICAgIGV2ZW50X2lkczogbnVtYmVyW107XG4gIH0+KHsgbWVzc2FnZXM6IFt7IG1lc3NhZ2U6ICcnLCBldmVudF9pZDogMCB9XSwgZXZlbnRfaWRzOiBbXSB9KTtcbiAgY29uc3QgbGFzdFZpc2l0ZWQgPSB1c2VMYXN0VmlzaXRlZCgpO1xuXG4gIGNvbnN0IHVzZVF1ZXJ5ID0gKCkgPT4ge1xuICAgIHJldHVybiBuZXcgVVJMU2VhcmNoUGFyYW1zKHVzZUxvY2F0aW9uKCkuc2VhcmNoKTtcbiAgfTtcbiAgY29uc3QgaGlzdG9yeSA9IHVzZUhpc3RvcnkoKTtcbiAgY29uc3QgcXVlcnkgPSB1c2VRdWVyeSgpO1xuICBjb25zdCBnZXRLUUxWYWx1ZXNGcm9tVVJMID0gKCkgPT4ge1xuICAgIHJldHVybiBxdWVyeS5nZXQoJ3ZhbHVlc0Zyb21LUUwnKTtcbiAgfTtcbiAgY29uc3QgZ2V0RXZlbnRJZEZyb21VUkwgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHF1ZXJ5LmdldCgnZXZlbnRJZCcpO1xuICB9O1xuXG4gIGNvbnN0IGxvYWRlciA9ICgpID0+IHtcbiAgICBpZiAoXG4gICAgICAoaXNGZXRjaGluZyAmJiBpdGVtcy5sZW5ndGggPT09IDApIHx8XG4gICAgICBhcmVhc19kYXRhLm5ld0FyZWFzLmxlbmd0aCA9PT0gMCB8fFxuICAgICAgcG9pbnRzX2RhdGEuaXNGZXRjaGluZyB8fFxuICAgICAgZWRnZXNfZGF0YS5pc0ZldGNoaW5nXG4gICAgKSB7XG4gICAgICByZXR1cm4gPGRpdiBjbGFzc05hbWU9eydsb2FkZXInfT48L2Rpdj47XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVFeHBhbnNpb25Ub2dnbGUgPSAoKSA9PiB7XG4gICAgZGlzcGF0Y2goc2lkZU5hdkV4cGFuZGVkKCFzaWRlbmF2RXhwYW5kZWQpKTtcbiAgfTtcblxuICBjb25zdCBhcHBseURlZmF1bHRGaWx0ZXIgPSAoKSA9PiB7XG4gICAgaGlzdG9yeS5wdXNoKFxuICAgICAgYC8ke25hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5uYW1lfS9pbmRleD93YXRlcl9hdXRob3JpdHlfaWQ9JHtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkfSZsb2NhbGU9JHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlfSZ2YWx1ZXNGcm9tS1FMPWAsXG4gICAgKTtcbiAgICBkaXNwYXRjaChzZXRFdmVudEZpbHRlclBhcmFtKCcnKSk7XG4gIH07XG5cbiAgY29uc3QgdmFsaWRhdGVFdmVudCA9IChldmVudDogSUV2ZW50KSA9PiB7XG4gICAgLy8gY2hlY2sgdGhhdCBhbGwgb2JzZXJ2YXRpb25zJyBlZGdlcyBleGlzdHMuIElmIHRoZXkgYXJlIG5vdCBleGlzdHMgaXQncyBpbmRpY2F0ZXMgdGhhdCB0aGVpciBwb2ludHMgYXJlXG4gICAgLy8gbm90IGluIHRoZSBoaWVyYXJjaHkgb3IgZG9lc24ndCBoYXZlIGxhdC9sbmcuXG4gICAgbGV0IGludmFsaWRPYnNlcnZhdGlvbnNNZXNzYWdlczogYW55ID0gW107XG4gICAgZXZlbnQub2JzZXJ2YXRpb25zLmZvckVhY2goKG9ic2VydmF0aW9uOiBhbnkpID0+IHtcbiAgICAgIC8vIGlmIG9ic2VydmF0aW9uIGlzIHJvb3QgKGV4LiBXV1RQKSB0aGVyZSBpcyBubyBlZGdlIHRoYXQgaXRzIGEgc291cmNlLiBzbyB3ZSBjYW4gc2tpcCB0aGlzIGNoZWNrXG4gICAgICBpZiAoIW9ic2VydmF0aW9uLnBvaW50X2lzX3Jvb3QpIHtcbiAgICAgICAgbGV0IGVkZ2UgPSBlZGdlc19kYXRhLml0ZW1zLmZpbmQoXG4gICAgICAgICAgKGVkZ2UpID0+IGVkZ2Uuc291cmNlX3BvaW50X2lkID09PSBvYnNlcnZhdGlvbi5wb2ludF9pZCxcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKGVkZ2UgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGludmFsaWRPYnNlcnZhdGlvbnNNZXNzYWdlcy5wdXNoKFxuICAgICAgICAgICAgYCR7b2JzZXJ2YXRpb24ucG9pbnRfbmFtZX0gKCR7b2JzZXJ2YXRpb24ucG9pbnRfaWR9KSBgLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChpbnZhbGlkT2JzZXJ2YXRpb25zTWVzc2FnZXMubGVuZ3RoICE9PSAwKSB7XG4gICAgICBsZXQgaW5kZXggPSBleGNlcHRpb25BbGVydC5tZXNzYWdlcy5maW5kSW5kZXgoXG4gICAgICAgIChtc2cpID0+IG1zZy5ldmVudF9pZCA9PT0gZXZlbnQuaWQsXG4gICAgICApO1xuXG4gICAgICBpZiAoaW5kZXggPT09IC0xKSB7XG4gICAgICAgIHNldEV4Y2VwdGlvbkFsZXJ0KHtcbiAgICAgICAgICBtZXNzYWdlczogW1xuICAgICAgICAgICAgLi4uZXhjZXB0aW9uQWxlcnQubWVzc2FnZXMsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG1lc3NhZ2U6IChcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgPHA+e2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmV2ZW50X2RhdGFfbWlzc2luZycpfTwvcD5cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgZXZlbnRfaWQ6IGV2ZW50LmlkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGV2ZW50X2lkczogWy4uLmV4Y2VwdGlvbkFsZXJ0LmV2ZW50X2lkcywgZXZlbnQuaWRdLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBzYW1lIGNoZWNrIGFzIGFib3ZlIGJ1dCB0aGlzIHRpbWUgZm9yIHRoZSBldmVudCBwYXRoLiBJZiBlZGdlIGRvZXNuJ3QgZXhpc3QsIGl0J3MgaW5kaWNhdGVzIHRoYXQgb25lIG9mIHRoZVxuICAgIC8vIHBvaW50cyBkb3duc3RyZWFtIGRvZXNuJ3QgaGF2ZSBsYXQvbG5nLlxuICAgIGxldCBpbnZhbGlkUGF0aE1lc3NhZ2VzOiBhbnkgPSBbXTtcbiAgICBldmVudC5wYXRoLmZvckVhY2goKHBhdGg6IGFueSkgPT4ge1xuICAgICAgbGV0IGVkZ2UgPSBlZGdlc19kYXRhLml0ZW1zLmZpbmQoKGVkZ2UpID0+IGVkZ2UuaWQgPT09IHBhdGguZWRnZV9pZCk7XG4gICAgICBpZiAoZWRnZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYGVkZ2UgJHtwYXRoLmVkZ2VfaWR9IGNhbiBub3QgYmUgZm91bmRgKTtcbiAgICAgICAgbGV0IG9ic2VydmF0aW9uID0gZXZlbnQub2JzZXJ2YXRpb25zLmZpbmQoXG4gICAgICAgICAgKG9ic2VydmF0aW9uKSA9PiBvYnNlcnZhdGlvbi5pZCA9PT0gcGF0aC5sYXN0X29ic2VydmF0aW9uX2lkLFxuICAgICAgICApO1xuICAgICAgICBsZXQgbGFzdE9ic2VydmF0aW9uUG9pbnQgPSAnTm90IGZvdW5kJztcbiAgICAgICAgaWYgKG9ic2VydmF0aW9uKSB7XG4gICAgICAgICAgbGFzdE9ic2VydmF0aW9uUG9pbnQgPSBvYnNlcnZhdGlvbi5wb2ludF9uYW1lO1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ2xhc3RPYnNlcnZhdGlvblBvaW50JywgbGFzdE9ic2VydmF0aW9uUG9pbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gaW52YWxpZFBhdGhNZXNzYWdlcy5wdXNoKGAke2xhc3RPYnNlcnZhdGlvblBvaW50fSBgKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChpbnZhbGlkUGF0aE1lc3NhZ2VzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgc2V0RXhjZXB0aW9uQWxlcnQoe1xuICAgICAgICBtZXNzYWdlczogW1xuICAgICAgICAgIC4uLmV4Y2VwdGlvbkFsZXJ0Lm1lc3NhZ2VzLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG1lc3NhZ2U6IChcbiAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICA8cD57aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZXZlbnRfdmVyaWZ5X2Nvb3JkaW5hdGVzJyl9PC9wPlxuICAgICAgICAgICAgICAgIDxzcGFuPntpbnZhbGlkUGF0aE1lc3NhZ2VzfTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgZXZlbnRfaWQ6IGV2ZW50LmlkLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIGV2ZW50X2lkczogWy4uLmV4Y2VwdGlvbkFsZXJ0LmV2ZW50X2lkcywgZXZlbnQuaWRdLFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlRXZlbnRJdGVtQ2xpY2sgPSAoXG4gICAgZXZlbnQ6IElFdmVudCxcbiAgICByZWY6IFJlZk9iamVjdDxIVE1MRWxlbWVudD4gfCBudWxsLFxuICApID0+IHtcbiAgICBpZiAocmVmICE9PSBudWxsKSBvbk1vdXNlTGVhdmVFdmVudCgpO1xuICAgIC8vIGlmIChob3ZlcmVkRXZlbnRQYXRocyAmJiBtYXApIHtcbiAgICAvLyAgICAgaG92ZXJlZEV2ZW50UGF0aHMuZm9yRWFjaCgocGF0aCkgPT4ge1xuICAgIC8vICAgICAgICAgbWFwLnJlbW92ZUxheWVyKHBhdGgpO1xuICAgIC8vICAgICB9KTtcbiAgICAvLyB9XG4gICAgLy8gZGlzcGF0Y2goc2V0SG92ZXJlZEV2ZW50UGF0aHMoW10pKTtcbiAgICAvLyBkaXNwYXRjaChzZXRIb3ZlckV2ZW50SW5kaWNhdG9yKG51bGwpKTtcbiAgICBkaXNwYXRjaChzZXRGb2N1c2VkRXZlbnQoZXZlbnQpKTtcbiAgICBzZXRGaWx0ZXJQb3B1cE9wZW4oZmFsc2UpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaGlzdG9yeS5wdXNoKFxuICAgICAgICBgLyR7bmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWV9L2luZGV4P3dhdGVyX2F1dGhvcml0eV9pZD0ke1xuICAgICAgICAgIGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWRcbiAgICAgICAgfSZsb2NhbGU9JHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlfSZldmVudElkPSR7XG4gICAgICAgICAgZXZlbnQuaWRcbiAgICAgICAgfSZ2YWx1ZXNGcm9tS1FMPSR7XG4gICAgICAgICAgZ2xvYmFsX2RhdGEuZXZlbnRGaWx0ZXJQYXJhbVxuICAgICAgICB9JnZhbGlkRXZlbnQ9JHt2YWxpZGF0ZUV2ZW50KGV2ZW50KX1gLFxuICAgICAgKTtcbiAgICB9LCA1MDApO1xuICB9O1xuXG4gIGNvbnN0IG9uTW91c2VFbnRlckV2ZW50ID0gKGV2ZW50KSA9PiB7XG4gICAgaWYgKCFmb2N1c2VkRXZlbnQgJiYgIWhvdmVyZWRFdmVudCAmJiB2YWxpZGF0ZUV2ZW50KGV2ZW50KSkge1xuICAgICAgZGlzcGF0Y2goc2V0SG92ZXJlZEV2ZW50KGV2ZW50KSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IG9uTW91c2VMZWF2ZUV2ZW50ID0gKCkgPT4ge1xuICAgIGlmIChob3ZlcmVkRXZlbnQgJiYgaG92ZXJlZEV2ZW50UGF0aHMgJiYgbWFwKSB7XG4gICAgICBob3ZlcmVkRXZlbnRQYXRocy5mb3JFYWNoKChwYXRoKSA9PiB7XG4gICAgICAgIG1hcC5yZW1vdmVMYXllcihwYXRoKTtcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoaG92ZXJlZEVkZ2VQYXRocykge1xuICAgICAgICBob3ZlcmVkRWRnZVBhdGhzLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAgICAgICBtYXAucmVtb3ZlTGF5ZXIocGF0aCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBsZXQgbGF5ZXJzID0gbWFwLl9sYXllcnM7XG4gICAgICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIGxheWVycykge1xuICAgICAgICBjb25zdCBrYW5kb19vYmplY3QgPSBsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdDtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGthbmRvX29iamVjdD8uaW5jbHVkZXMoJ0V2ZW50Qm9keScpIHx8XG4gICAgICAgICAgW1xuICAgICAgICAgICAgJ0V2ZW50VGFpbCcsXG4gICAgICAgICAgICAnU2FtcGxpbmdQb2ludCcsXG4gICAgICAgICAgICAnRGVjb3JhdG9yJyxcbiAgICAgICAgICAgICdIb3ZlcmVkRWRnZScsXG4gICAgICAgICAgICAnSG92ZXJlZEVkZ2VGcm9udCcsXG4gICAgICAgICAgICAnRm9jdXNlZEVkZ2UnLFxuICAgICAgICAgICAgJ0ZvY3VzZWRFZGdlRnJvbnQnLFxuICAgICAgICAgIF0uaW5jbHVkZXMoa2FuZG9fb2JqZWN0KVxuICAgICAgICApIHtcbiAgICAgICAgICBtYXAucmVtb3ZlTGF5ZXIobGF5ZXJzW3Byb3BlcnR5XSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgZGlzcGF0Y2goc2V0SG92ZXJlZEV2ZW50KG51bGwpKTtcbiAgICBkaXNwYXRjaChzZXRIb3ZlcmVkRXZlbnRQYXRocyhbXSkpO1xuICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFZGdlUGF0aHMoW10pKTtcbiAgfTtcblxuICBjb25zdCBzZXRGb2N1c2VkRXZlbnRJZkZvdW5kSW5QYXJhbXMgPSAoKSA9PiB7XG4gICAgaWYgKFxuICAgICAgZ2V0RXZlbnRJZEZyb21VUkwoKSAhPT0gbnVsbCAmJlxuICAgICAgZ2V0RXZlbnRJZEZyb21VUkwoKSAhPT0gJ251bGwnICYmXG4gICAgICBmb2N1c2VkRXZlbnQgPT09IG51bGwgJiZcbiAgICAgIGl0ZW1zLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgIWlzRmV0Y2hpbmcgJiZcbiAgICAgICFhcmVhc19kYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgICFwb2ludHNfZGF0YS5pc0ZldGNoaW5nICYmXG4gICAgICAhZWRnZXNfZGF0YS5pc0ZldGNoaW5nXG4gICAgKSB7XG4gICAgICBsZXQgZXZlbnQgPSBldmVudHNfZGF0YS5pdGVtcy5maW5kKFxuICAgICAgICAoZTogSUV2ZW50KSA9PiBlLmlkID09PSBwYXJzZUludChnZXRFdmVudElkRnJvbVVSTCgpISksXG4gICAgICApO1xuICAgICAgaWYgKGV2ZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaGFuZGxlRXZlbnRJdGVtQ2xpY2soZXZlbnQsIG51bGwpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBjb25zdCB2YWxpZEV2ZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgbGV0IGV2ZW50ID0gZXZlbnRzX2RhdGEuaXRlbXMuZmluZChcbiAgICAgIChlKSA9PiBlLmlkLnRvU3RyaW5nKCkgPT09IGdldEV2ZW50SWRGcm9tVVJMKCksXG4gICAgKTtcblxuICAgIGlmIChldmVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdmFsaWRhdGVFdmVudChldmVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSwgW1xuICAgIGV2ZW50c19kYXRhLmZvY3VzZWRFdmVudCxcbiAgICBhcmVhc19kYXRhLmlzRmV0Y2hpbmcsXG4gICAgcG9pbnRzX2RhdGEuaXNGZXRjaGluZyxcbiAgICBlZGdlc19kYXRhLmlzRmV0Y2hpbmcsXG4gICAgZXZlbnRzX2RhdGEuaXNGZXRjaGluZyxcbiAgXSk7XG5cbiAgY29uc3QgdHJpZ2dlclNvcnQgPSAoc29ydDogbnVtYmVyKSA9PiB7XG4gICAgaWYgKGdsb2JhbF9kYXRhLmFjdGl2ZUZpbHRlciAhPT0gbnVsbCAmJiBnZXRFdmVudElkRnJvbVVSTCgpID09PSAnJykge1xuICAgICAgbGV0IEtRTDtcbiAgICAgIGxldCBVUkw7XG4gICAgICBzd2l0Y2ggKHNvcnQpIHtcbiAgICAgICAgY2FzZSAxOlxuICAgICAgICAgIEtRTCA9IGAke2J1aWxkS1FMUXVlcnkoZ2xvYmFsX2RhdGEuYWN0aXZlRmlsdGVyLCAnbmV3ZXN0Jyl9YDtcbiAgICAgICAgICBVUkwgPSBgLyR7XG4gICAgICAgICAgICBuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubmFtZVxuICAgICAgICAgIH0vaW5kZXg/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7XG4gICAgICAgICAgICBnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkXG4gICAgICAgICAgfSZldmVudElkPSR7Z2V0RXZlbnRJZEZyb21VUkwoKX0mbG9jYWxlPSR7XG4gICAgICAgICAgICBuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlXG4gICAgICAgICAgfSZ2YWx1ZXNGcm9tS1FMPSR7S1FMfSZ2YWxpZEV2ZW50PSR7dmFsaWRFdmVudH1gO1xuICAgICAgICAgIGhpc3RvcnkucHVzaChVUkwpO1xuICAgICAgICAgIGRpc3BhdGNoKHNldEV2ZW50RmlsdGVyUGFyYW0oS1FMKSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgMjpcbiAgICAgICAgICBLUUwgPSBgJHtidWlsZEtRTFF1ZXJ5KGdsb2JhbF9kYXRhLmFjdGl2ZUZpbHRlciwgJ29sZGVzdCcpfWA7XG4gICAgICAgICAgVVJMID0gYC8ke1xuICAgICAgICAgICAgbmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWVcbiAgICAgICAgICB9L2luZGV4P3dhdGVyX2F1dGhvcml0eV9pZD0ke1xuICAgICAgICAgICAgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZFxuICAgICAgICAgIH0mZXZlbnRJZD0ke2dldEV2ZW50SWRGcm9tVVJMKCl9JmxvY2FsZT0ke1xuICAgICAgICAgICAgbmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZVxuICAgICAgICAgIH0mdmFsdWVzRnJvbUtRTD0ke0tRTH0mdmFsaWRFdmVudD0ke3ZhbGlkRXZlbnR9YDtcbiAgICAgICAgICBoaXN0b3J5LnB1c2goVVJMKTtcbiAgICAgICAgICBkaXNwYXRjaChzZXRFdmVudEZpbHRlclBhcmFtKEtRTCkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgS1FMID0gYCR7YnVpbGRLUUxRdWVyeShnbG9iYWxfZGF0YS5hY3RpdmVGaWx0ZXIsICdzZXZlcml0eScpfWA7XG4gICAgICAgICAgVVJMID0gYC8ke1xuICAgICAgICAgICAgbmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWVcbiAgICAgICAgICB9L2luZGV4P3dhdGVyX2F1dGhvcml0eV9pZD0ke1xuICAgICAgICAgICAgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZFxuICAgICAgICAgIH0mZXZlbnRJZD0ke2dldEV2ZW50SWRGcm9tVVJMKCl9JmxvY2FsZT0ke1xuICAgICAgICAgICAgbmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZVxuICAgICAgICAgIH0mdmFsdWVzRnJvbUtRTD0ke0tRTH0mdmFsaWRFdmVudD0ke3ZhbGlkRXZlbnR9YDtcbiAgICAgICAgICBoaXN0b3J5LnB1c2goVVJMKTtcbiAgICAgICAgICBkaXNwYXRjaChzZXRFdmVudEZpbHRlclBhcmFtKEtRTCkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBjb25zdCBjYWxjRXZlbnRzUmVhbEFtb3VudCA9ICgpID0+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+XG4gICk7XG59O1xuXG5jb25zdCBjb25uZWN0b3IgPSBjb25uZWN0KG1hcFN0YXRlVG9Qcm9wcyk7XG5leHBvcnQgZGVmYXVsdCBjb25uZWN0b3IoRXZlbnRzTGlzdCk7XG4iXSwi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
|
|
368
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZnJlZVNvbGlkU3ZnSWNvbnMiLCJyZXF1aXJlIiwiX3JlYWN0Rm9udGF3ZXNvbWUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9yZWFjdFJlZHV4IiwiX3JlYWN0Um91dGVyRG9tIiwiX2Fycm93TGVmdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfZnVubmVsIiwiX25vX2V2ZW50cyIsIl9TZXZlcmVFdmVudCIsIl9VcmxIaXN0b3J5IiwiX2FjdGlvbnMiLCJfYWN0aW9uczIiLCJfaTE4biIsIl9rcWwiLCJfRXZlbnRJbmZvIiwiX01vcmVJbmZvIiwiX0ZpbHRlckNvbnRhaW5lciIsIl9Tb3J0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJtYXBTdGF0ZVRvUHJvcHMiLCJzdGF0ZSIsImV2ZW50c19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJlZGdlc19kYXRhIiwicG9pbnRzX2RhdGEiLCJhcmVhc19kYXRhIiwibmF2X2NvbnRleHRfZGF0YSIsIkV2ZW50c0xpc3QiLCJfcmVmIiwic2lkZW5hdkV4cGFuZGVkIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsIml0ZW1zIiwiaXNGZXRjaGluZyIsImZvY3VzZWRFdmVudCIsImhvdmVyZWRFdmVudCIsImhvdmVyZWRFdmVudFBhdGhzIiwiaG92ZXJlZEVkZ2VQYXRocyIsIndhdGVyQXV0aG9yaXR5SWQiLCJtYXAiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJmaWx0ZXJQb3B1cE9wZW4iLCJzZXRGaWx0ZXJQb3B1cE9wZW4iLCJfdXNlU3RhdGUzIiwibWVzc2FnZXMiLCJtZXNzYWdlIiwiZXZlbnRfaWQiLCJldmVudF9pZHMiLCJfdXNlU3RhdGU0IiwiZXhjZXB0aW9uQWxlcnQiLCJzZXRFeGNlcHRpb25BbGVydCIsImxhc3RWaXNpdGVkIiwidXNlTGFzdFZpc2l0ZWQiLCJ1c2VRdWVyeSIsIlVSTFNlYXJjaFBhcmFtcyIsInVzZUxvY2F0aW9uIiwic2VhcmNoIiwiaGlzdG9yeSIsInVzZUhpc3RvcnkiLCJxdWVyeSIsImdldEtRTFZhbHVlc0Zyb21VUkwiLCJnZXRFdmVudElkRnJvbVVSTCIsImxvYWRlciIsImxlbmd0aCIsIm5ld0FyZWFzIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsImhhbmRsZUV4cGFuc2lvblRvZ2dsZSIsInNpZGVOYXZFeHBhbmRlZCIsImFwcGx5RGVmYXVsdEZpbHRlciIsInB1c2giLCJjb25jYXQiLCJuYXZDb250ZXh0IiwibmFtZSIsImxvY2FsZSIsInNldEV2ZW50RmlsdGVyUGFyYW0iLCJ2YWxpZGF0ZUV2ZW50IiwiZXZlbnQiLCJpbnZhbGlkT2JzZXJ2YXRpb25zTWVzc2FnZXMiLCJvYnNlcnZhdGlvbnMiLCJmb3JFYWNoIiwib2JzZXJ2YXRpb24iLCJwb2ludF9pc19yb290IiwiZWRnZSIsImZpbmQiLCJzb3VyY2VfcG9pbnRfaWQiLCJwb2ludF9pZCIsInVuZGVmaW5lZCIsInBvaW50X25hbWUiLCJpbmRleCIsImZpbmRJbmRleCIsIm1zZyIsImlkIiwiX3RvQ29uc3VtYWJsZUFycmF5MiIsIkZyYWdtZW50IiwiaTE4biIsInQiLCJpbnZhbGlkUGF0aE1lc3NhZ2VzIiwicGF0aCIsImVkZ2VfaWQiLCJjb25zb2xlIiwiZXJyb3IiLCJsYXN0X29ic2VydmF0aW9uX2lkIiwibGFzdE9ic2VydmF0aW9uUG9pbnQiLCJoYW5kbGVFdmVudEl0ZW1DbGljayIsInJlZiIsIm9uTW91c2VMZWF2ZUV2ZW50Iiwic2V0Rm9jdXNlZEV2ZW50Iiwic2V0VGltZW91dCIsImV2ZW50RmlsdGVyUGFyYW0iLCJvbk1vdXNlRW50ZXJFdmVudCIsInNldEhvdmVyZWRFdmVudCIsInJlbW92ZUxheWVyIiwibGF5ZXJzIiwiX2xheWVycyIsInByb3BlcnR5Iiwia2FuZG9fb2JqZWN0IiwiaW5jbHVkZXMiLCJzZXRIb3ZlcmVkRXZlbnRQYXRocyIsInNldEhvdmVyZWRFZGdlUGF0aHMiLCJzZXRGb2N1c2VkRXZlbnRJZkZvdW5kSW5QYXJhbXMiLCJlIiwicGFyc2VJbnQiLCJ2YWxpZEV2ZW50IiwidXNlTWVtbyIsInRvU3RyaW5nIiwidHJpZ2dlclNvcnQiLCJzb3J0IiwiYWN0aXZlRmlsdGVyIiwiS1FMIiwiVVJMIiwiYnVpbGRLUUxRdWVyeSIsImNhbGNFdmVudHNSZWFsQW1vdW50IiwiZXZlbnRzQ291bnQiLCJldmVudHNfY291bnQiLCJ1c2VFZmZlY3QiLCJmZXRjaEV2ZW50cyIsIm1vcmVJbmZvIiwiYWN0aXZlIiwicmVPcGVuRmlsdGVyIiwib25DbGljayIsIkZvbnRBd2Vzb21lSWNvbiIsImljb24iLCJmYUNhcmV0TGVmdCIsImZhQ2FyZXRSaWdodCIsImhyZWYiLCJmYUFycm93TGVmdCIsIkxpbmsiLCJ0byIsInNyYyIsIkxlZnRBcnJvd0ljb24iLCJoZWlnaHQiLCJ3aWR0aCIsImFsdCIsImV2ZW50cyIsImV2ZW50c0ZldGNoaW5nIiwiUmVhY3RDb21wb25lbnQiLCJmaWxsIiwiZmV0Y2hUeXBlIiwiTm9FdmVudHNJbWFnZSIsIlNldmVyZUV2ZW50IiwiaGFuZGxlQ2xpY2siLCJjb25uZWN0b3IiLCJjb25uZWN0IiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3BhZ2VzL0V2ZW50c1BhZ2UvZXZlbnRzL2V2ZW50c19saXN0L0V2ZW50c0xpc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGV0Yy9uby1jb21tZW50ZWQtb3V0LWNvZGUgKi9cbmltcG9ydCB7XG4gIGZhQXJyb3dMZWZ0LFxuICBmYUNhcmV0TGVmdCxcbiAgZmFDYXJldFJpZ2h0LFxufSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgRm9udEF3ZXNvbWVJY29uIH0gZnJvbSAnQGZvcnRhd2Vzb21lL3JlYWN0LWZvbnRhd2Vzb21lJztcbmltcG9ydCBSZWFjdCwgeyBSZWZPYmplY3QsIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjb25uZWN0LCBDb25uZWN0ZWRQcm9wcywgdXNlRGlzcGF0Y2ggfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBMaW5rLCB1c2VIaXN0b3J5LCB1c2VMb2NhdGlvbiB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IExlZnRBcnJvd0ljb24gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9hcnJvdy1sZWZ0LnN2Zyc7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBGaWx0ZXJJY29uIH0gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9mdW5uZWwuc3ZnJztcbmltcG9ydCBOb0V2ZW50c0ltYWdlIGZyb20gJ3NyYy9hc3NldHMvbm9fZXZlbnRzLnN2Zyc7XG5pbXBvcnQgeyBTZXZlcmVFdmVudCB9IGZyb20gJ3NyYy9jb21wb25lbnRzL1NldmVyZUV2ZW50L1NldmVyZUV2ZW50JztcbmltcG9ydCB7IElBcHBTdGF0ZSB9IGZyb20gJ3NyYy9tb2RlbHMvSUFwcFN0YXRlJztcbmltcG9ydCB7IHVzZUxhc3RWaXNpdGVkIH0gZnJvbSAnc3JjL3Byb3ZpZGVycy9VcmxIaXN0b3J5JztcbmltcG9ydCB7XG4gIGZldGNoRXZlbnRzLFxuICBzZXRGb2N1c2VkRXZlbnQsXG4gIHNldEhvdmVyZWRFZGdlUGF0aHMsXG4gIHNldEhvdmVyZWRFdmVudCxcbiAgc2V0SG92ZXJlZEV2ZW50UGF0aHMsXG59IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvYWN0aW9ucyc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHsgc2V0RXZlbnRGaWx0ZXJQYXJhbSwgc2lkZU5hdkV4cGFuZGVkIH0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9hY3Rpb25zJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBidWlsZEtRTFF1ZXJ5IH0gZnJvbSAnc3JjL3V0aWxpdGllcy9rcWwnO1xuaW1wb3J0ICcuLi9FdmVudHNTdHlsZS5zY3NzJztcbmltcG9ydCBFdmVudEluZm8gZnJvbSAnLi4vZXZlbnRfaW5mby9FdmVudEluZm8nO1xuaW1wb3J0IE1vcmVJbmZvIGZyb20gJy4uL01vcmVJbmZvJztcbmltcG9ydCBGaWx0ZXJDb250YWluZXIgZnJvbSAnLi9GaWx0ZXIvRmlsdGVyQ29udGFpbmVyJztcbmltcG9ydCBTb3J0IGZyb20gJy4vU29ydCc7XG5cbmZ1bmN0aW9uIG1hcFN0YXRlVG9Qcm9wcyhzdGF0ZTogSUFwcFN0YXRlKSB7XG4gIGNvbnN0IHtcbiAgICBldmVudHNfZGF0YSxcbiAgICBnbG9iYWxfZGF0YSxcbiAgICBlZGdlc19kYXRhLFxuICAgIHBvaW50c19kYXRhLFxuICAgIGFyZWFzX2RhdGEsXG4gICAgbmF2X2NvbnRleHRfZGF0YSxcbiAgfSA9IHN0YXRlO1xuXG4gIHJldHVybiB7XG4gICAgZXZlbnRzX2RhdGEsXG4gICAgZ2xvYmFsX2RhdGEsXG4gICAgZWRnZXNfZGF0YSxcbiAgICBwb2ludHNfZGF0YSxcbiAgICBhcmVhc19kYXRhLFxuICAgIG5hdl9jb250ZXh0X2RhdGEsXG4gIH07XG59XG5cbnR5cGUgSVByb3BzID0gQ29ubmVjdGVkUHJvcHM8dHlwZW9mIGNvbm5lY3Rvcj4gJiB7XG4gIHNpZGVuYXZFeHBhbmRlZDogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEV2ZW50c0xpc3Q6IFJlYWN0LkZDPElQcm9wcz4gPSAoe1xuICBhcmVhc19kYXRhLFxuICBwb2ludHNfZGF0YSxcbiAgZWRnZXNfZGF0YSxcbiAgZ2xvYmFsX2RhdGEsXG4gIHNpZGVuYXZFeHBhbmRlZCxcbiAgZXZlbnRzX2RhdGEsXG4gIG5hdl9jb250ZXh0X2RhdGEsXG59KSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3Qge1xuICAgIGl0ZW1zLFxuICAgIGlzRmV0Y2hpbmcsXG4gICAgZm9jdXNlZEV2ZW50LFxuICAgIGhvdmVyZWRFdmVudCxcbiAgICBob3ZlcmVkRXZlbnRQYXRocyxcbiAgICBob3ZlcmVkRWRnZVBhdGhzLFxuICB9ID0gZXZlbnRzX2RhdGE7XG4gIGNvbnN0IHsgd2F0ZXJBdXRob3JpdHlJZCwgbWFwIH0gPSBnbG9iYWxfZGF0YTtcbiAgY29uc3QgW2ZpbHRlclBvcHVwT3Blbiwgc2V0RmlsdGVyUG9wdXBPcGVuXSA9IHVzZVN0YXRlKHRydWUpO1xuICBjb25zdCBbZXhjZXB0aW9uQWxlcnQsIHNldEV4Y2VwdGlvbkFsZXJ0XSA9IHVzZVN0YXRlPHtcbiAgICBtZXNzYWdlczogeyBtZXNzYWdlOiBhbnk7IGV2ZW50X2lkOiBudW1iZXIgfVtdO1xuICAgIGV2ZW50X2lkczogbnVtYmVyW107XG4gIH0+KHsgbWVzc2FnZXM6IFt7IG1lc3NhZ2U6ICcnLCBldmVudF9pZDogMCB9XSwgZXZlbnRfaWRzOiBbXSB9KTtcbiAgY29uc3QgbGFzdFZpc2l0ZWQgPSB1c2VMYXN0VmlzaXRlZCgpO1xuXG4gIGNvbnN0IHVzZVF1ZXJ5ID0gKCkgPT4ge1xuICAgIHJldHVybiBuZXcgVVJMU2VhcmNoUGFyYW1zKHVzZUxvY2F0aW9uKCkuc2VhcmNoKTtcbiAgfTtcbiAgY29uc3QgaGlzdG9yeSA9IHVzZUhpc3RvcnkoKTtcbiAgY29uc3QgcXVlcnkgPSB1c2VRdWVyeSgpO1xuICBjb25zdCBnZXRLUUxWYWx1ZXNGcm9tVVJMID0gKCkgPT4ge1xuICAgIHJldHVybiBxdWVyeS5nZXQoJ3ZhbHVlc0Zyb21LUUwnKTtcbiAgfTtcbiAgY29uc3QgZ2V0RXZlbnRJZEZyb21VUkwgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHF1ZXJ5LmdldCgnZXZlbnRJZCcpO1xuICB9O1xuXG4gIGNvbnN0IGxvYWRlciA9ICgpID0+IHtcbiAgICBpZiAoXG4gICAgICAoaXNGZXRjaGluZyAmJiBpdGVtcy5sZW5ndGggPT09IDApIHx8XG4gICAgICBhcmVhc19kYXRhLm5ld0FyZWFzLmxlbmd0aCA9PT0gMCB8fFxuICAgICAgcG9pbnRzX2RhdGEuaXNGZXRjaGluZyB8fFxuICAgICAgZWRnZXNfZGF0YS5pc0ZldGNoaW5nXG4gICAgKSB7XG4gICAgICByZXR1cm4gPGRpdiBjbGFzc05hbWU9eydsb2FkZXInfT48L2Rpdj47XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVFeHBhbnNpb25Ub2dnbGUgPSAoKSA9PiB7XG4gICAgZGlzcGF0Y2goc2lkZU5hdkV4cGFuZGVkKCFzaWRlbmF2RXhwYW5kZWQpKTtcbiAgfTtcblxuICBjb25zdCBhcHBseURlZmF1bHRGaWx0ZXIgPSAoKSA9PiB7XG4gICAgaGlzdG9yeS5wdXNoKFxuICAgICAgYC8ke25hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5uYW1lfS9pbmRleD93YXRlcl9hdXRob3JpdHlfaWQ9JHtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkfSZsb2NhbGU9JHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlfSZ2YWx1ZXNGcm9tS1FMPWAsXG4gICAgKTtcbiAgICBkaXNwYXRjaChzZXRFdmVudEZpbHRlclBhcmFtKCcnKSk7XG4gIH07XG5cbiAgY29uc3QgdmFsaWRhdGVFdmVudCA9IChldmVudDogSUV2ZW50KSA9PiB7XG4gICAgLy8gY2hlY2sgdGhhdCBhbGwgb2JzZXJ2YXRpb25zJyBlZGdlcyBleGlzdHMuIElmIHRoZXkgYXJlIG5vdCBleGlzdHMgaXQncyBpbmRpY2F0ZXMgdGhhdCB0aGVpciBwb2ludHMgYXJlXG4gICAgLy8gbm90IGluIHRoZSBoaWVyYXJjaHkgb3IgZG9lc24ndCBoYXZlIGxhdC9sbmcuXG4gICAgbGV0IGludmFsaWRPYnNlcnZhdGlvbnNNZXNzYWdlczogYW55ID0gW107XG4gICAgZXZlbnQub2JzZXJ2YXRpb25zLmZvckVhY2goKG9ic2VydmF0aW9uOiBhbnkpID0+IHtcbiAgICAgIC8vIGlmIG9ic2VydmF0aW9uIGlzIHJvb3QgKGV4LiBXV1RQKSB0aGVyZSBpcyBubyBlZGdlIHRoYXQgaXRzIGEgc291cmNlLiBzbyB3ZSBjYW4gc2tpcCB0aGlzIGNoZWNrXG4gICAgICBpZiAoIW9ic2VydmF0aW9uLnBvaW50X2lzX3Jvb3QpIHtcbiAgICAgICAgbGV0IGVkZ2UgPSBlZGdlc19kYXRhLml0ZW1zLmZpbmQoXG4gICAgICAgICAgKGVkZ2UpID0+IGVkZ2Uuc291cmNlX3BvaW50X2lkID09PSBvYnNlcnZhdGlvbi5wb2ludF9pZCxcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKGVkZ2UgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGludmFsaWRPYnNlcnZhdGlvbnNNZXNzYWdlcy5wdXNoKFxuICAgICAgICAgICAgYCR7b2JzZXJ2YXRpb24ucG9pbnRfbmFtZX0gKCR7b2JzZXJ2YXRpb24ucG9pbnRfaWR9KSBgLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChpbnZhbGlkT2JzZXJ2YXRpb25zTWVzc2FnZXMubGVuZ3RoICE9PSAwKSB7XG4gICAgICBsZXQgaW5kZXggPSBleGNlcHRpb25BbGVydC5tZXNzYWdlcy5maW5kSW5kZXgoXG4gICAgICAgIChtc2cpID0+IG1zZy5ldmVudF9pZCA9PT0gZXZlbnQuaWQsXG4gICAgICApO1xuXG4gICAgICBpZiAoaW5kZXggPT09IC0xKSB7XG4gICAgICAgIHNldEV4Y2VwdGlvbkFsZXJ0KHtcbiAgICAgICAgICBtZXNzYWdlczogW1xuICAgICAgICAgICAgLi4uZXhjZXB0aW9uQWxlcnQubWVzc2FnZXMsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG1lc3NhZ2U6IChcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgPHA+e2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmV2ZW50X2RhdGFfbWlzc2luZycpfTwvcD5cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgZXZlbnRfaWQ6IGV2ZW50LmlkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGV2ZW50X2lkczogWy4uLmV4Y2VwdGlvbkFsZXJ0LmV2ZW50X2lkcywgZXZlbnQuaWRdLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBzYW1lIGNoZWNrIGFzIGFib3ZlIGJ1dCB0aGlzIHRpbWUgZm9yIHRoZSBldmVudCBwYXRoLiBJZiBlZGdlIGRvZXNuJ3QgZXhpc3QsIGl0J3MgaW5kaWNhdGVzIHRoYXQgb25lIG9mIHRoZVxuICAgIC8vIHBvaW50cyBkb3duc3RyZWFtIGRvZXNuJ3QgaGF2ZSBsYXQvbG5nLlxuICAgIGxldCBpbnZhbGlkUGF0aE1lc3NhZ2VzOiBhbnkgPSBbXTtcbiAgICBldmVudC5wYXRoLmZvckVhY2goKHBhdGg6IGFueSkgPT4ge1xuICAgICAgbGV0IGVkZ2UgPSBlZGdlc19kYXRhLml0ZW1zLmZpbmQoKGVkZ2UpID0+IGVkZ2UuaWQgPT09IHBhdGguZWRnZV9pZCk7XG4gICAgICBpZiAoZWRnZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYGVkZ2UgJHtwYXRoLmVkZ2VfaWR9IGNhbiBub3QgYmUgZm91bmRgKTtcbiAgICAgICAgbGV0IG9ic2VydmF0aW9uID0gZXZlbnQub2JzZXJ2YXRpb25zLmZpbmQoXG4gICAgICAgICAgKG9ic2VydmF0aW9uKSA9PiBvYnNlcnZhdGlvbi5pZCA9PT0gcGF0aC5sYXN0X29ic2VydmF0aW9uX2lkLFxuICAgICAgICApO1xuICAgICAgICBsZXQgbGFzdE9ic2VydmF0aW9uUG9pbnQgPSAnTm90IGZvdW5kJztcbiAgICAgICAgaWYgKG9ic2VydmF0aW9uKSB7XG4gICAgICAgICAgbGFzdE9ic2VydmF0aW9uUG9pbnQgPSBvYnNlcnZhdGlvbi5wb2ludF9uYW1lO1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ2xhc3RPYnNlcnZhdGlvblBvaW50JywgbGFzdE9ic2VydmF0aW9uUG9pbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gaW52YWxpZFBhdGhNZXNzYWdlcy5wdXNoKGAke2xhc3RPYnNlcnZhdGlvblBvaW50fSBgKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChpbnZhbGlkUGF0aE1lc3NhZ2VzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgc2V0RXhjZXB0aW9uQWxlcnQoe1xuICAgICAgICBtZXNzYWdlczogW1xuICAgICAgICAgIC4uLmV4Y2VwdGlvbkFsZXJ0Lm1lc3NhZ2VzLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG1lc3NhZ2U6IChcbiAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICA8cD57aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZXZlbnRfdmVyaWZ5X2Nvb3JkaW5hdGVzJyl9PC9wPlxuICAgICAgICAgICAgICAgIDxzcGFuPntpbnZhbGlkUGF0aE1lc3NhZ2VzfTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgZXZlbnRfaWQ6IGV2ZW50LmlkLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIGV2ZW50X2lkczogWy4uLmV4Y2VwdGlvbkFsZXJ0LmV2ZW50X2lkcywgZXZlbnQuaWRdLFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlRXZlbnRJdGVtQ2xpY2sgPSAoXG4gICAgZXZlbnQ6IElFdmVudCxcbiAgICByZWY6IFJlZk9iamVjdDxIVE1MRWxlbWVudD4gfCBudWxsLFxuICApID0+IHtcbiAgICBpZiAocmVmICE9PSBudWxsKSBvbk1vdXNlTGVhdmVFdmVudCgpO1xuICAgIC8vIGlmIChob3ZlcmVkRXZlbnRQYXRocyAmJiBtYXApIHtcbiAgICAvLyAgICAgaG92ZXJlZEV2ZW50UGF0aHMuZm9yRWFjaCgocGF0aCkgPT4ge1xuICAgIC8vICAgICAgICAgbWFwLnJlbW92ZUxheWVyKHBhdGgpO1xuICAgIC8vICAgICB9KTtcbiAgICAvLyB9XG4gICAgLy8gZGlzcGF0Y2goc2V0SG92ZXJlZEV2ZW50UGF0aHMoW10pKTtcbiAgICAvLyBkaXNwYXRjaChzZXRIb3ZlckV2ZW50SW5kaWNhdG9yKG51bGwpKTtcbiAgICBkaXNwYXRjaChzZXRGb2N1c2VkRXZlbnQoZXZlbnQpKTtcbiAgICBzZXRGaWx0ZXJQb3B1cE9wZW4oZmFsc2UpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaGlzdG9yeS5wdXNoKFxuICAgICAgICBgLyR7bmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWV9L2luZGV4P3dhdGVyX2F1dGhvcml0eV9pZD0ke1xuICAgICAgICAgIGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWRcbiAgICAgICAgfSZsb2NhbGU9JHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlfSZldmVudElkPSR7XG4gICAgICAgICAgZXZlbnQuaWRcbiAgICAgICAgfSZ2YWx1ZXNGcm9tS1FMPSR7XG4gICAgICAgICAgZ2xvYmFsX2RhdGEuZXZlbnRGaWx0ZXJQYXJhbVxuICAgICAgICB9JnZhbGlkRXZlbnQ9JHt2YWxpZGF0ZUV2ZW50KGV2ZW50KX1gLFxuICAgICAgKTtcbiAgICB9LCA1MDApO1xuICB9O1xuXG4gIGNvbnN0IG9uTW91c2VFbnRlckV2ZW50ID0gKGV2ZW50KSA9PiB7XG4gICAgaWYgKCFmb2N1c2VkRXZlbnQgJiYgIWhvdmVyZWRFdmVudCAmJiB2YWxpZGF0ZUV2ZW50KGV2ZW50KSkge1xuICAgICAgZGlzcGF0Y2goc2V0SG92ZXJlZEV2ZW50KGV2ZW50KSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IG9uTW91c2VMZWF2ZUV2ZW50ID0gKCkgPT4ge1xuICAgIGlmIChob3ZlcmVkRXZlbnQgJiYgaG92ZXJlZEV2ZW50UGF0aHMgJiYgbWFwKSB7XG4gICAgICBob3ZlcmVkRXZlbnRQYXRocy5mb3JFYWNoKChwYXRoKSA9PiB7XG4gICAgICAgIG1hcC5yZW1vdmVMYXllcihwYXRoKTtcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoaG92ZXJlZEVkZ2VQYXRocykge1xuICAgICAgICBob3ZlcmVkRWRnZVBhdGhzLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAgICAgICBtYXAucmVtb3ZlTGF5ZXIocGF0aCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBsZXQgbGF5ZXJzID0gbWFwLl9sYXllcnM7XG4gICAgICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIGxheWVycykge1xuICAgICAgICBjb25zdCBrYW5kb19vYmplY3QgPSBsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdDtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGthbmRvX29iamVjdD8uaW5jbHVkZXMoJ0V2ZW50Qm9keScpIHx8XG4gICAgICAgICAgW1xuICAgICAgICAgICAgJ0V2ZW50VGFpbCcsXG4gICAgICAgICAgICAnU2FtcGxpbmdQb2ludCcsXG4gICAgICAgICAgICAnRGVjb3JhdG9yJyxcbiAgICAgICAgICAgICdIb3ZlcmVkRWRnZScsXG4gICAgICAgICAgICAnSG92ZXJlZEVkZ2VGcm9udCcsXG4gICAgICAgICAgICAnRm9jdXNlZEVkZ2UnLFxuICAgICAgICAgICAgJ0ZvY3VzZWRFZGdlRnJvbnQnLFxuICAgICAgICAgIF0uaW5jbHVkZXMoa2FuZG9fb2JqZWN0KVxuICAgICAgICApIHtcbiAgICAgICAgICBtYXAucmVtb3ZlTGF5ZXIobGF5ZXJzW3Byb3BlcnR5XSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgZGlzcGF0Y2goc2V0SG92ZXJlZEV2ZW50KG51bGwpKTtcbiAgICBkaXNwYXRjaChzZXRIb3ZlcmVkRXZlbnRQYXRocyhbXSkpO1xuICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFZGdlUGF0aHMoW10pKTtcbiAgfTtcblxuICBjb25zdCBzZXRGb2N1c2VkRXZlbnRJZkZvdW5kSW5QYXJhbXMgPSAoKSA9PiB7XG4gICAgaWYgKFxuICAgICAgZ2V0RXZlbnRJZEZyb21VUkwoKSAhPT0gbnVsbCAmJlxuICAgICAgZ2V0RXZlbnRJZEZyb21VUkwoKSAhPT0gJ251bGwnICYmXG4gICAgICBmb2N1c2VkRXZlbnQgPT09IG51bGwgJiZcbiAgICAgIGl0ZW1zLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgIWlzRmV0Y2hpbmcgJiZcbiAgICAgICFhcmVhc19kYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgICFwb2ludHNfZGF0YS5pc0ZldGNoaW5nICYmXG4gICAgICAhZWRnZXNfZGF0YS5pc0ZldGNoaW5nXG4gICAgKSB7XG4gICAgICBsZXQgZXZlbnQgPSBldmVudHNfZGF0YS5pdGVtcy5maW5kKFxuICAgICAgICAoZTogSUV2ZW50KSA9PiBlLmlkID09PSBwYXJzZUludChnZXRFdmVudElkRnJvbVVSTCgpISksXG4gICAgICApO1xuICAgICAgaWYgKGV2ZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaGFuZGxlRXZlbnRJdGVtQ2xpY2soZXZlbnQsIG51bGwpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBjb25zdCB2YWxpZEV2ZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgbGV0IGV2ZW50ID0gZXZlbnRzX2RhdGEuaXRlbXMuZmluZChcbiAgICAgIChlKSA9PiBlLmlkLnRvU3RyaW5nKCkgPT09IGdldEV2ZW50SWRGcm9tVVJMKCksXG4gICAgKTtcblxuICAgIGlmIChldmVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdmFsaWRhdGVFdmVudChldmVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSwgW1xuICAgIGV2ZW50c19kYXRhLmZvY3VzZWRFdmVudCxcbiAgICBhcmVhc19kYXRhLmlzRmV0Y2hpbmcsXG4gICAgcG9pbnRzX2RhdGEuaXNGZXRjaGluZyxcbiAgICBlZGdlc19kYXRhLmlzRmV0Y2hpbmcsXG4gICAgZXZlbnRzX2RhdGEuaXNGZXRjaGluZyxcbiAgXSk7XG5cbiAgY29uc3QgdHJpZ2dlclNvcnQgPSAoc29ydDogbnVtYmVyKSA9PiB7XG4gICAgaWYgKGdsb2JhbF9kYXRhLmFjdGl2ZUZpbHRlciAhPT0gbnVsbCkge1xuICAgICAgbGV0IEtRTDtcbiAgICAgIGxldCBVUkw7XG4gICAgICBzd2l0Y2ggKHNvcnQpIHtcbiAgICAgICAgY2FzZSAxOlxuICAgICAgICAgIEtRTCA9IGAke2J1aWxkS1FMUXVlcnkoZ2xvYmFsX2RhdGEuYWN0aXZlRmlsdGVyLCAnbmV3ZXN0Jyl9YDtcbiAgICAgICAgICBVUkwgPSBgLyR7XG4gICAgICAgICAgICBuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubmFtZVxuICAgICAgICAgIH0vaW5kZXg/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7XG4gICAgICAgICAgICBnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkXG4gICAgICAgICAgfSZldmVudElkPSR7Z2V0RXZlbnRJZEZyb21VUkwoKX0mbG9jYWxlPSR7XG4gICAgICAgICAgICBuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlXG4gICAgICAgICAgfSZ2YWx1ZXNGcm9tS1FMPSR7S1FMfSZ2YWxpZEV2ZW50PSR7dmFsaWRFdmVudH1gO1xuICAgICAgICAgIGhpc3RvcnkucHVzaChVUkwpO1xuICAgICAgICAgIGRpc3BhdGNoKHNldEV2ZW50RmlsdGVyUGFyYW0oS1FMKSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgMjpcbiAgICAgICAgICBLUUwgPSBgJHtidWlsZEtRTFF1ZXJ5KGdsb2JhbF9kYXRhLmFjdGl2ZUZpbHRlciwgJ29sZGVzdCcpfWA7XG4gICAgICAgICAgVVJMID0gYC8ke1xuICAgICAgICAgICAgbmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWVcbiAgICAgICAgICB9L2luZGV4P3dhdGVyX2F1dGhvcml0eV9pZD0ke1xuICAgICAgICAgICAgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZFxuICAgICAgICAgIH0mZXZlbnRJZD0ke2dldEV2ZW50SWRGcm9tVVJMKCl9JmxvY2FsZT0ke1xuICAgICAgICAgICAgbmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZVxuICAgICAgICAgIH0mdmFsdWVzRnJvbUtRTD0ke0tRTH0mdmFsaWRFdmVudD0ke3ZhbGlkRXZlbnR9YDtcbiAgICAgICAgICBoaXN0b3J5LnB1c2goVVJMKTtcbiAgICAgICAgICBkaXNwYXRjaChzZXRFdmVudEZpbHRlclBhcmFtKEtRTCkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgS1FMID0gYCR7YnVpbGRLUUxRdWVyeShnbG9iYWxfZGF0YS5hY3RpdmVGaWx0ZXIsICdzZXZlcml0eScpfWA7XG4gICAgICAgICAgVVJMID0gYC8ke1xuICAgICAgICAgICAgbmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWVcbiAgICAgICAgICB9L2luZGV4P3dhdGVyX2F1dGhvcml0eV9pZD0ke1xuICAgICAgICAgICAgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZFxuICAgICAgICAgIH0mZXZlbnRJZD0ke2dldEV2ZW50SWRGcm9tVVJMKCl9JmxvY2FsZT0ke1xuICAgICAgICAgICAgbmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZVxuICAgICAgICAgIH0mdmFsdWVzRnJvbUtRTD0ke0tRTH0mdmFsaWRFdmVudD0ke3ZhbGlkRXZlbnR9YDtcbiAgICAgICAgICBoaXN0b3J5LnB1c2goVVJMKTtcbiAgICAgICAgICBkaXNwYXRjaChzZXRFdmVudEZpbHRlclBhcmFtKEtRTCkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBjb25zdCBjYWxjRXZlbnRzUmVhbEFtb3VudCA9ICgpID0+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+XG4gICk7XG59O1xuXG5jb25zdCBjb25uZWN0b3IgPSBjb25uZWN0KG1hcFN0YXRlVG9Qcm9wcyk7XG5leHBvcnQgZGVmYXVsdCBjb25uZWN0b3IoRXZlbnRzTGlzdCk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFDQSxJQUFB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
|