@kando-env/kando-ui 1.2.437-alpha.15 → 1.2.437-alpha.16

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.
@@ -97,7 +97,7 @@
97
97
  width: 100vw !important;
98
98
  }
99
99
  position: fixed;
100
- top: 3.7em;
100
+ //top: 3.7em;
101
101
  height: 100%;
102
102
  overflow: hidden;
103
103
  transition: 0.3s cubic-bezier(1, 0, 0, 1);
@@ -125,7 +125,7 @@
125
125
  }
126
126
 
127
127
  #map {
128
- height: calc(100% - 45px);
128
+ height: calc(100% - 65px);
129
129
 
130
130
  *,
131
131
  *:focus,
@@ -299,6 +299,7 @@
299
299
  }
300
300
 
301
301
  .event-popup {
302
+ min-height: 170px;
302
303
  font-size: 14px;
303
304
  font-weight: 300;
304
305
  [dir='rtl'] & {
@@ -450,11 +450,13 @@ exports.mapZoomLayer = mapZoomLayer;
450
450
  var mapClickLayer = function mapClickLayer(map, layer) {
451
451
  if (map && layer && layer.isPopupOpen() === false) {
452
452
  if (layer instanceof _leaflet.default.Marker) {
453
+ layer.fire('mouseover');
453
454
  layer.fire('click');
454
455
  } else if (layer instanceof _leaflet.default.Polygon) {
456
+ layer.fire('mouseover');
455
457
  layer.fire('click-event');
456
458
  }
457
459
  }
458
460
  };
459
461
  exports.mapClickLayer = mapClickLayer;
460
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2FjdGlvbnMiLCJfaTE4biIsIl9XV1RQRGFzaGJvYXJkU2xpY2UiLCJhcmVhRm9jdXNMb2dpYyIsIm1hcFJlZiIsImlzVmFsaWRBcmVhIiwiYXJlYVRvQ2VudGVyQnkiLCJtYXBJbnN0YW5jZSIsImN1cnJlbnQiLCJmaXRCb3VuZHMiLCJwYWRkaW5nIiwiZ3JvdXAiLCJwcm9wZXJ0eSIsIl9sYXllcnMiLCJrYW5kb19vYmplY3QiLCJwdXNoIiwiT2JqZWN0Iiwia2V5cyIsIkwiLCJmZWF0dXJlR3JvdXAiLCJnZXRCb3VuZHMiLCJsZW5ndGgiLCJleHBvcnRzIiwiYXJlYSIsInNob3VsZExvYWRNYXBPYmplY3RzIiwiZ2xvYmFsX2RhdGEiLCJwb2ludHMiLCJlZGdlcyIsIm1hcCIsInVuZGVmaW5lZCIsInNob3VkTG9hZERlcGVuZGVudE1hcE9iamVjdHMiLCJhcmVhcyIsImdsb2JhbCIsImZpbmRTcGVjaWZpY0xheWVyc0Zyb21NYXAiLCJsYXllcnNUb0ZpbmQiLCJjdXJyZW50TGF5ZXIiLCJpbmNsdWRlcyIsImthbmRvX3BvaW50X3R5cGUiLCJldmVudHNDb3VudGVySWNvbnMiLCJsYXllciIsInpvb21MZXZlbCIsImljb24iLCJvcHRpb25zIiwiaWNvblNpemUiLCJldmVudHNDb3VudEljb24iLCJpY29uQW5jaG9yIiwic2V0SWNvbiIsInNldE9wYWNpdHkiLCJtdWx0aXBsZUxheWVyZWRJY29ucyIsImlzQUZld0xheWVySWNvbiIsImthbmRvX2Zld19sYXllcl9pY29uIiwibWluaUljb24iLCJwcmVzZW50Iiwia2FuZG9fc2Vjb25kYXJ5Iiwia2FuZG9fdGhpcmQiLCJzZWNvbmRhcnkiLCJ0aGlyZCIsImthbmRvX2luZGV4X29iamVjdCIsImJ1YmJsZUljb25PcHRpb25zIiwib25lTGF5ZXJJY29uT3B0aW9ucyIsIm1pZGRsZUljb25PcHRpb25zIiwidG9wSWNvbk9wdGlvbnMiLCJpY29uWm9vbUNvbnRyb2wiLCJsYXllcnMiLCJfem9vbSIsIm1hcFN0eWxlIiwibWFwQm94U3R5bGUiLCJ0aWxlTGF5ZXIiLCJjb25jYXQiLCJhdHRyaWJ1dGlvbiIsIm1heFpvb20iLCJtaW5ab29tIiwiaWQiLCJ0aWxlU2l6ZSIsInpvb21PZmZzZXQiLCJ1cGRhdGVXaGVuWm9vbWluZyIsInVwZGF0ZVdoZW5JZGxlIiwiYmFzZU1hcHMiLCJtYXBCb3hTYXRlbGxpdGVTdHlsZSIsIl9yZWYiLCJkZWZhdWx0TWFwIiwiaTE4biIsInQiLCJzYXRlbGxpdGUiLCJfZGVmaW5lUHJvcGVydHkyIiwiZGVmYXVsdCIsInRvZ2dsZUVkZ2VzVmlzaWJpbGl0eSIsInZpc2libGUiLCJlYWNoTGF5ZXIiLCJQb2x5bGluZSIsIlN5bWJvbCIsImFycm93SGVhZCIsInNldFN0eWxlIiwib3BhY2l0eSIsImVkZ2VzU3BlY2lmaWNMb2dpYyIsImRlZmF1bHRPbiIsImNoZWNrYm94IiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwiY2hlY2tlZCIsImN1c3RvbUNvbnRyb2xzIiwibGFiZWwiLCJpbnB1dFR5cGUiLCJkZW55Rm9yV2EiLCJvbkNoYW5nZSIsImlzQ2hlY2tlZCIsImFwcGVuZEN1c3RvbUNoZWNrYm94VG9MZWFmbGV0c0xheWVyQm94IiwibGVhZmxldHNDb250YWluZXIiLCJjdXN0b21Db250YWluZXIiLCJEb21FdmVudCIsIm9uIiwic3R5bGUiLCJkaXNwbGF5IiwiY3JlYXRlQ3VzdG9tQ29udHJvbCIsImNvbnRyb2wiLCJjb250YWluZXIiLCJjb250cm9sQ29udGFpbmVyIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsImlubmVySFRNTCIsImFkZEV2ZW50TGlzdGVuZXIiLCJlIiwidGFyZ2V0IiwiYXBwZW5kQ2hpbGQiLCJjdXN0b21GdW5jdGlvbmFsaXR5Rm9yTWFwTGF5ZXJzIiwibWFwVHlwZXMiLCJhcmd1bWVudHMiLCJ3YUlkIiwiZm9yV1dUUERhc2hib2FyZCIsImNvbnRyb2xsZXIiLCJwb3NpdGlvbiIsImFkZFRvIiwiZ2V0Q29udGFpbmVyIiwiZm9yRWFjaCIsImluaXRpYWxpemVNYXAiLCJtYXBab29tTGV2ZWwiLCJkaXNwYXRjaCIsInNldE1hcFpvb21MZXZlbCIsInNob3dFZGdlc0J5RGVmYXVsdCIsIk1hcCIsImNlbnRlciIsInpvb21TbmFwIiwiem9vbSIsImF0dHJpYnV0aW9uQ29udHJvbCIsInByZWZlckNhbnZhcyIsInNldE1hcCIsIndoZW5SZWFkeSIsInZhbHVlcyIsInNldFRpbWVvdXQiLCJpbnZhbGlkYXRlU2l6ZSIsImVyciIsImNvbnNvbGUiLCJlcnJvciIsInN0b3JlTWFwIiwic2lkZU5hdkV4cGFuZGVkIiwiZXZlbnQiLCJvcmlnaW5hbEV2ZW50Iiwia2V5IiwiY2xvc2VQb3B1cCIsImJvZHkiLCJmb2N1cyIsImdldFpvb20iLCJ6b29tTGV2ZWxzIiwiZmlsdGVyUG9pbnRzIiwiX3JlZjIiLCJvbmx5TW9uaXRvcmVkIiwid2l0aFNhbXBsZXIiLCJmaWx0ZXIiLCJwb2ludCIsImhhc19kZXZpY2UiLCJoYXNfc2FtcGxlciIsImZpbmRQb2ludCIsInBvaW50SWQiLCJoYXNEZXZpY2VDaGVjayIsImZpbmQiLCJmaWx0ZXJFZGdlcyIsImlzTW9uaXRvcmVkIiwiZWRnZSIsInNvdXJjZVBvaW50Iiwic291cmNlX3BvaW50X2lkIiwiZGVzY2VuZGFudHNfaGFzX2RldmljZSIsInBhcmVudFBvaW50IiwidGFyZ2V0X3BvaW50X2lkIiwic2V0dXBDaGVja2JveExpc3RlbmVyIiwic2VsZWN0b3IiLCJtYXBHZXRMYXllckJ5SWQiLCJyZXRWYWx1ZSIsImthbmRvX29iamVjdF9pZCIsIm1hcFpvb21MYXllciIsIk1hcmtlciIsInNldFZpZXciLCJnZXRMYXRMbmciLCJQb2x5Z29uIiwibWFwQ2xpY2tMYXllciIsImlzUG9wdXBPcGVuIiwiZmlyZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9NYXBVdGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTCwgeyBQb2ludFR1cGxlIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgeyBzaWRlTmF2RXhwYW5kZWQsIHN0b3JlTWFwIH0gZnJvbSAnLi4vLi4vc3RvcmUvZ2xvYmFsL2FjdGlvbnMnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IHNldE1hcCB9IGZyb20gJy4uLy4uL3N0b3JlL1dXVFBEYXNoYm9hcmQvV1dUUERhc2hib2FyZFNsaWNlJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5cbmV4cG9ydCBjb25zdCBhcmVhRm9jdXNMb2dpYyA9IChtYXBSZWYsIGlzVmFsaWRBcmVhLCBhcmVhVG9DZW50ZXJCeSkgPT4ge1xuICBsZXQgbWFwSW5zdGFuY2U6IGFueSA9IG1hcFJlZi5jdXJyZW50O1xuICBpZiAoaXNWYWxpZEFyZWEoYXJlYVRvQ2VudGVyQnkpKSB7XG4gICAgbWFwSW5zdGFuY2UuZml0Qm91bmRzKGFyZWFUb0NlbnRlckJ5LCB7IHBhZGRpbmc6IFswLCAwXSB9KTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBncm91cDogYW55W10gPSBbXTtcblxuICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbWFwSW5zdGFuY2UuX2xheWVycykge1xuICAgICAgaWYgKFxuICAgICAgICBtYXBJbnN0YW5jZS5fbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdBcmVhJyB8fFxuICAgICAgICBtYXBJbnN0YW5jZS5fbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdQb2ludCdcbiAgICAgICkge1xuICAgICAgICBncm91cC5wdXNoKG1hcEluc3RhbmNlLl9sYXllcnNbcHJvcGVydHldKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoT2JqZWN0LmtleXMoTC5mZWF0dXJlR3JvdXAoZ3JvdXApLmdldEJvdW5kcygpKS5sZW5ndGggIT09IDApIHtcbiAgICAgIG1hcEluc3RhbmNlLmZpdEJvdW5kcyhMLmZlYXR1cmVHcm91cChncm91cCkuZ2V0Qm91bmRzKCksIHtcbiAgICAgICAgcGFkZGluZzogWzEwMCwgMTAwXSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICAvLyBtYXBJbnN0YW5jZS5pbnZhbGlkYXRlU2l6ZSh0cnVlKTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc1ZhbGlkQXJlYSA9IChhcmVhKSA9PiB7XG4gIHJldHVybiBhcmVhICYmIGFyZWEubGVuZ3RoID4gMCAmJiBPYmplY3Qua2V5cyhhcmVhWzBdKS5sZW5ndGggPiAwO1xufTtcblxuZXhwb3J0IGNvbnN0IHNob3VsZExvYWRNYXBPYmplY3RzID0gKGdsb2JhbF9kYXRhLCBtYXBSZWYsIHBvaW50cywgZWRnZXMpID0+IHtcbiAgcmV0dXJuIChcbiAgICBnbG9iYWxfZGF0YS5tYXAgIT09IHVuZGVmaW5lZCAmJlxuICAgIG1hcFJlZi5jdXJyZW50ICE9PSBudWxsICYmXG4gICAgZWRnZXMgIT09IHVuZGVmaW5lZCAmJlxuICAgIHBvaW50cyAhPT0gdW5kZWZpbmVkXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyA9IChcbiAgZWRnZXMsXG4gIGFyZWFzLFxuICBnbG9iYWwsXG4gIG1hcFJlZixcbiAgcG9pbnRzLFxuKSA9PiB7XG4gIHJldHVybiAoXG4gICAgZ2xvYmFsLm1hcCAhPT0gdW5kZWZpbmVkICYmXG4gICAgbWFwUmVmLmN1cnJlbnQgIT09IG51bGwgJiZcbiAgICBlZGdlcy5sZW5ndGggPj0gMCAmJlxuICAgIGFyZWFzLmxlbmd0aCA+PSAwICYmXG4gICAgcG9pbnRzLmxlbmd0aCA+PSAwXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgZmluZFNwZWNpZmljTGF5ZXJzRnJvbU1hcCA9IChcbiAgbGF5ZXJzVG9GaW5kOiBzdHJpbmdbXSxcbiAgY3VycmVudExheWVyLFxuKSA9PiB7XG4gIHJldHVybiAoXG4gICAgbGF5ZXJzVG9GaW5kLmluY2x1ZGVzKGN1cnJlbnRMYXllci5rYW5kb19vYmplY3QpICYmXG4gICAgY3VycmVudExheWVyLmthbmRvX3BvaW50X3R5cGUgIT09ICdNYW5ob2xlJ1xuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGV2ZW50c0NvdW50ZXJJY29ucyA9IChsYXllciwgem9vbUxldmVsKSA9PiB7XG4gIGxldCBpY29uID0gbGF5ZXIub3B0aW9ucy5pY29uO1xuICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSBldmVudHNDb3VudEljb24oem9vbUxldmVsKS5pY29uU2l6ZTtcbiAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSBldmVudHNDb3VudEljb24oem9vbUxldmVsKS5pY29uQW5jaG9yO1xuICBsYXllci5zZXRJY29uKGljb24pO1xuICBsYXllci5zZXRPcGFjaXR5KDEpO1xufTtcblxuZXhwb3J0IGNvbnN0IG11bHRpcGxlTGF5ZXJlZEljb25zID0gKGxheWVyLCB6b29tTGV2ZWwpID0+IHtcbiAgbGV0IGljb24gPSBsYXllci5vcHRpb25zLmljb247XG4gIGxldCBpc0FGZXdMYXllckljb24gPSBsYXllci5rYW5kb19mZXdfbGF5ZXJfaWNvbjtcbiAgbGV0IG1pbmlJY29uID0ge1xuICAgIHByZXNlbnQ6IGxheWVyLmthbmRvX3NlY29uZGFyeSB8fCBsYXllci5rYW5kb190aGlyZCxcbiAgICBzZWNvbmRhcnk6IGxheWVyLmthbmRvX3NlY29uZGFyeSxcbiAgICB0aGlyZDogbGF5ZXIua2FuZG9fdGhpcmQsXG4gIH07XG5cbiAgaWYgKGxheWVyLmthbmRvX2luZGV4X29iamVjdCA9PT0gMCkge1xuICAgIGlmIChpc0FGZXdMYXllckljb24pIHtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IGJ1YmJsZUljb25PcHRpb25zKHpvb21MZXZlbCwgbWluaUljb24pLmljb25TaXplO1xuICAgICAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSBidWJibGVJY29uT3B0aW9ucyhcbiAgICAgICAgem9vbUxldmVsLFxuICAgICAgICBtaW5pSWNvbixcbiAgICAgICkuaWNvbkFuY2hvcjtcbiAgICB9IGVsc2Uge1xuICAgICAgaWNvbi5vcHRpb25zLmljb25TaXplID0gb25lTGF5ZXJJY29uT3B0aW9ucyh6b29tTGV2ZWwpLmljb25TaXplO1xuICAgICAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSBvbmVMYXllckljb25PcHRpb25zKHpvb21MZXZlbCkuaWNvbkFuY2hvcjtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaWYgKGxheWVyLmthbmRvX2luZGV4X29iamVjdCA9PT0gMSkge1xuICAgICAgaWNvbi5vcHRpb25zLmljb25TaXplID0gbWlkZGxlSWNvbk9wdGlvbnMoem9vbUxldmVsLCBtaW5pSWNvbikuaWNvblNpemU7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IG1pZGRsZUljb25PcHRpb25zKFxuICAgICAgICB6b29tTGV2ZWwsXG4gICAgICAgIG1pbmlJY29uLFxuICAgICAgKS5pY29uQW5jaG9yO1xuICAgIH0gZWxzZSB7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSB0b3BJY29uT3B0aW9ucyh6b29tTGV2ZWwsIG1pbmlJY29uKS5pY29uU2l6ZTtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uQW5jaG9yID0gdG9wSWNvbk9wdGlvbnMoem9vbUxldmVsLCBtaW5pSWNvbikuaWNvbkFuY2hvcjtcbiAgICB9XG4gIH1cblxuICBsYXllci5zZXRJY29uKGljb24pO1xufTtcblxuY29uc3Qgb25lTGF5ZXJJY29uT3B0aW9ucyA9ICh6b29tTGV2ZWwpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDMuMywgem9vbUxldmVsICogMy4zXSBhcyBQb2ludFR1cGxlLFxuICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAxLjcsIHpvb21MZXZlbCAqIDMuN10gYXMgUG9pbnRUdXBsZSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBldmVudHNDb3VudEljb24gPSAoem9vbUxldmVsKSA9PiB7XG4gIHJldHVybiB7XG4gICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAyLjUsIHpvb21MZXZlbCAqIDIuNV0gYXMgUG9pbnRUdXBsZSxcbiAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogMCwgem9vbUxldmVsICogNF0gYXMgUG9pbnRUdXBsZSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBidWJibGVJY29uT3B0aW9ucyA9ICh6b29tTGV2ZWwsIG1pbmlJY29uKSA9PiB7XG4gIGlmIChtaW5pSWNvbi5wcmVzZW50KSB7XG4gICAgaWYgKG1pbmlJY29uLnNlY29uZGFyeSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAxLjk4LCB6b29tTGV2ZWwgKiAyLjNdIGFzIFBvaW50VHVwbGUsXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAwLCB6b29tTGV2ZWwgKiA0XSBhcyBQb2ludFR1cGxlLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAxLjk4LCB6b29tTGV2ZWwgKiAyLjNdIGFzIFBvaW50VHVwbGUsXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAwLCB6b29tTGV2ZWwgKiAyXSBhcyBQb2ludFR1cGxlLFxuICAgICAgfTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMy45OCwgem9vbUxldmVsICogNC4zXSBhcyBQb2ludFR1cGxlLFxuICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDIsIHpvb21MZXZlbCAqIDRdIGFzIFBvaW50VHVwbGUsXG4gICAgfTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IG1pZGRsZUljb25PcHRpb25zID0gKHpvb21MZXZlbCwgbWluaUljb24pID0+IHtcbiAgaWYgKG1pbmlJY29uLnByZXNlbnQpIHtcbiAgICBpZiAobWluaUljb24uc2Vjb25kYXJ5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDEuMSwgem9vbUxldmVsICogMS4xXSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIC0wLjQ1LCB6b29tTGV2ZWwgKiAzLjVdLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAxLjEsIHpvb21MZXZlbCAqIDEuMV0sXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAtMC40NSwgem9vbUxldmVsICogMS41XSxcbiAgICAgIH07XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDIuNSwgem9vbUxldmVsICogMi41XSxcbiAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAxLjI5NSwgem9vbUxldmVsICogMy4zNV0sXG4gICAgfTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHRvcEljb25PcHRpb25zID0gKHpvb21MZXZlbCwgbWluaUljb24pID0+IHtcbiAgaWYgKG1pbmlJY29uLnByZXNlbnQpIHtcbiAgICBpZiAobWluaUljb24uc2Vjb25kYXJ5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDAuOSwgem9vbUxldmVsICogMS44XSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIC0wLjUsIHpvb21MZXZlbCAqIDMuOF0sXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDEuNiwgem9vbUxldmVsICogMi41XSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIC0wLjIsIHpvb21MZXZlbCAqIDIuMV0sXG4gICAgICB9O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAzLjksIHpvb21MZXZlbCAqIDMuOF0sXG4gICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogMiwgem9vbUxldmVsICogMy44XSxcbiAgICB9O1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgaWNvblpvb21Db250cm9sID0gKG1hcCkgPT4ge1xuICBsZXQgbGF5ZXJzID0gbWFwLl9sYXllcnM7XG4gIGxldCB6b29tTGV2ZWwgPSBtYXAuX3pvb207XG5cbiAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBsYXllcnMpIHtcbiAgICBpZiAoZmluZFNwZWNpZmljTGF5ZXJzRnJvbU1hcChbJ0ljb25OdW1iZXInXSwgbGF5ZXJzW3Byb3BlcnR5XSkpIHtcbiAgICAgIGV2ZW50c0NvdW50ZXJJY29ucyhsYXllcnNbcHJvcGVydHldLCB6b29tTGV2ZWwpO1xuICAgIH1cblxuICAgIGlmIChmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwKFsnUG9pbnQnLCAnSWNvbiddLCBsYXllcnNbcHJvcGVydHldKSkge1xuICAgICAgbXVsdGlwbGVMYXllcmVkSWNvbnMobGF5ZXJzW3Byb3BlcnR5XSwgem9vbUxldmVsKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwKFsnU2FtcGxpbmcnLCAnT2JzZXJ2YXRpb24nXSwgbGF5ZXJzW3Byb3BlcnR5XSlcbiAgICApIHtcbiAgICAgIG11bHRpcGxlTGF5ZXJlZEljb25zKGxheWVyc1twcm9wZXJ0eV0sIHpvb21MZXZlbCk7XG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgY29uc3QgbWFwU3R5bGUgPSAobWFwQm94U3R5bGUpID0+IHtcbiAgcmV0dXJuIEwudGlsZUxheWVyKFxuICAgIGBodHRwczovL2FwaS5tYXBib3guY29tL3N0eWxlcy92MS9uYWRhdi1rYW5kby8ke21hcEJveFN0eWxlfS90aWxlcy8yNTYve3p9L3t4fS97eX1AMng/YWNjZXNzX3Rva2VuPXBrLmV5SjFJam9pYm1Ga1lYWXRhMkZ1Wkc4aUxDSmhJam9pWTJwdmVIcHJkR1J4TUhsbWRETjRiRGcwZHpKeE9YYzRkU0o5LkotMm9ocTdqNHlLTmJtNE5fLVA2cXdgLFxuICAgIHtcbiAgICAgIGF0dHJpYnV0aW9uOlxuICAgICAgICAnTWFwIGRhdGEgJmNvcHk7IDxhIGhyZWY9XCJodHRwczovL3d3dy5vcGVuc3RyZWV0bWFwLm9yZy9cIj5PcGVuU3RyZWV0TWFwPC9hPiBjb250cmlidXRvcnMsIDxhIGhyZWY9XCJodHRwczovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnktc2EvMi4wL1wiPkNDLUJZLVNBPC9hPiwgSW1hZ2VyeSDCqSA8YSBocmVmPVwiaHR0cHM6Ly93d3cubWFwYm94LmNvbS9cIj5NYXBib3g8L2E+JyxcbiAgICAgIG1heFpvb206IDE4LFxuICAgICAgbWluWm9vbTogMixcbiAgICAgIGlkOiAnbWFwYm94L3N0cmVldHMtdjExJyxcbiAgICAgIHRpbGVTaXplOiA1MTIsXG4gICAgICB6b29tT2Zmc2V0OiAtMSxcbiAgICAgIHVwZGF0ZVdoZW5ab29taW5nOiBmYWxzZSxcbiAgICAgIHVwZGF0ZVdoZW5JZGxlOiB0cnVlLFxuICAgIH0sXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgYmFzZU1hcHMgPSAobWFwQm94U3R5bGUsIG1hcEJveFNhdGVsbGl0ZVN0eWxlKSA9PiB7XG4gIGxldCBkZWZhdWx0TWFwID0gaTE4bi50KCdtYXAubGF5ZXJzLmRlZmF1bHQnKTtcbiAgbGV0IHNhdGVsbGl0ZSA9IGkxOG4udCgnbWFwLmxheWVycy5zYXRlbGxpdGUnKTtcbiAgcmV0dXJuIHtcbiAgICBbZGVmYXVsdE1hcF06IG1hcFN0eWxlKG1hcEJveFN0eWxlKSxcbiAgICBbc2F0ZWxsaXRlXTogbWFwU3R5bGUobWFwQm94U2F0ZWxsaXRlU3R5bGUpLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IHRvZ2dsZUVkZ2VzVmlzaWJpbGl0eSA9ICh2aXNpYmxlLCBtYXApID0+IHtcbiAgbWFwLmVhY2hMYXllcigobGF5ZXIpID0+IHtcbiAgICBpZiAoXG4gICAgICAobGF5ZXIgaW5zdGFuY2VvZiBMLlBvbHlsaW5lICYmIGxheWVyLmthbmRvX29iamVjdCAhPT0gJ0FyZWEnKSB8fFxuICAgICAgbGF5ZXIgaW5zdGFuY2VvZiBMLlN5bWJvbC5hcnJvd0hlYWRcbiAgICApIHtcbiAgICAgIGxheWVyLnNldFN0eWxlKHsgb3BhY2l0eTogdmlzaWJsZSA/IDEgOiAwIH0pO1xuICAgIH1cbiAgfSk7XG59O1xuXG4vLyBleHBvcnQgY29uc3QgdG9nZ2xlTW9uaXRvcmVkUG9pbnRzVmlzaWJpbGl0eSA9ICh2aXNpYmxlKSA9PiB7XG4vLyAgIGNvbnNvbGUud2FybigndG9nZ2xlTW9uaXRvcmVkUG9pbnRzVmlzaWJpbGl0eScsIHZpc2libGUpO1xuLy8gfTtcblxuLy8gZXhwb3J0IGNvbnN0IHRvZ2dsZU1vbml0b3JlZFBvaW50c1dpdGhTYW1wbGVyVmlzaWJpbGl0eSA9ICh2aXNpYmxlKSA9PiB7XG4vLyAgIGNvbnNvbGUud2FybigndG9nZ2xlTW9uaXRvcmVkUG9pbnRzV2l0aFNhbXBsZXJWaXNpYmlsaXR5JywgdmlzaWJsZSk7XG4vLyB9O1xuXG5leHBvcnQgY29uc3QgZWRnZXNTcGVjaWZpY0xvZ2ljID0gKGRlZmF1bHRPbiwgbWFwKSA9PiB7XG4gIGxldCBjaGVja2JveCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNlZGdlcy1jaGVja2JveCcpO1xuICBpZiAoY2hlY2tib3ggPT0gbnVsbCkgcmV0dXJuO1xuICBjaGVja2JveC5jaGVja2VkID0gZGVmYXVsdE9uO1xufTtcblxuY29uc3QgY3VzdG9tQ29udHJvbHMgPSAobWFwKSA9PiB7XG4gIHJldHVybiBbXG4gICAge1xuICAgICAgbGFiZWw6IGkxOG4udCgnbWFwLmxheWVycy5uZXR3b3JrX2xpbmVzJyksXG4gICAgICBpZDogJ2VkZ2VzLWNoZWNrYm94JyxcbiAgICAgIGlucHV0VHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGRlbnlGb3JXYTogWzUxOF0sXG4gICAgICBvbkNoYW5nZTogKGlzQ2hlY2tlZCkgPT4gdG9nZ2xlRWRnZXNWaXNpYmlsaXR5KGlzQ2hlY2tlZCwgbWFwKSxcbiAgICB9LFxuXG4gICAge1xuICAgICAgbGFiZWw6ICdTaG93IG9ubHkgbW9uaXRvcmVkIHBvaW50cycsXG4gICAgICBpZDogJ21vbml0b3JlZC1wb2ludHMtY2hlY2tib3gnLFxuICAgICAgaW5wdXRUeXBlOiAnY2hlY2tib3gnLFxuICAgICAgb25DaGFuZ2U6IChpc0NoZWNrZWQpID0+ICgpID0+IHt9LFxuICAgIH0sXG5cbiAgICB7XG4gICAgICBsYWJlbDogJ1Nob3cgc2FtcGxlcnMnLFxuICAgICAgaWQ6ICdtb25pdG9yZWQtcG9pbnRzLXdpdGgtc2FtcGxlci1jaGVja2JveCcsXG4gICAgICBpbnB1dFR5cGU6ICdjaGVja2JveCcsXG4gICAgICBvbkNoYW5nZTogKGlzQ2hlY2tlZCkgPT4gKCkgPT4ge30sXG4gICAgfSxcblxuICAgIC8vIHtcbiAgICAvLyAgIGxhYmVsOiAnQW5vdGhlciBjdXN0b20gZmVhdHVyZScsXG4gICAgLy8gICBpZDogJ2N1c3RvbS1mZWF0dXJlLWNoZWNrYm94JyxcbiAgICAvLyAgIGlucHV0VHlwZTogJ2NoZWNrYm94JyxcbiAgICAvLyAgIG9uQ2hhbmdlOiAoaXNDaGVja2VkKSA9PiBjb25zb2xlLmxvZyhgQW5vdGhlciBmZWF0dXJlIGlzIG5vdyAke2lzQ2hlY2tlZCA/ICdlbmFibGVkJyA6ICdkaXNhYmxlZCd9YCksXG4gICAgLy8gfSxcbiAgXTtcbn07XG5cbmNvbnN0IGFwcGVuZEN1c3RvbUNoZWNrYm94VG9MZWFmbGV0c0xheWVyQm94ID0gKFxuICBsZWFmbGV0c0NvbnRhaW5lcixcbiAgY3VzdG9tQ29udGFpbmVyLFxuKSA9PiB7XG4gIEwuRG9tRXZlbnQub24obGVhZmxldHNDb250YWluZXIsICdtb3VzZW92ZXInLCBmdW5jdGlvbiAoKSB7XG4gICAgY3VzdG9tQ29udGFpbmVyLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuICB9KTtcblxuICBMLkRvbUV2ZW50Lm9uKGxlYWZsZXRzQ29udGFpbmVyLCAnbW91c2VvdXQnLCBmdW5jdGlvbiAoKSB7XG4gICAgY3VzdG9tQ29udGFpbmVyLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gIH0pO1xufTtcblxuY29uc3QgY3JlYXRlQ3VzdG9tQ29udHJvbCA9IChjb250cm9sLCBjb250YWluZXIpID0+IHtcbiAgbGV0IGNvbnRyb2xDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgY29udHJvbENvbnRhaW5lci5jbGFzc05hbWUgPSAnbGVhZmxldC1jb250cm9sLWxheWVycy1vdmVybGF5cyc7XG4gIGNvbnRyb2xDb250YWluZXIuaW5uZXJIVE1MID0gYFxuICAgICAgPGxhYmVsPlxuICAgICAgICA8aW5wdXQgdHlwZT1cIiR7Y29udHJvbC5pbnB1dFR5cGV9XCIgaWQ9XCIke2NvbnRyb2wuaWR9XCIgLz4gJHtjb250cm9sLmxhYmVsfVxuICAgICAgPC9sYWJlbD5cbiAgICBgO1xuXG4gIGNvbnRyb2xDb250YWluZXJcbiAgICAucXVlcnlTZWxlY3RvcihgIyR7Y29udHJvbC5pZH1gKVxuICAgIC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBmdW5jdGlvbiAoZSkge1xuICAgICAgY29uc3QgaXNDaGVja2VkID0gZS50YXJnZXQuY2hlY2tlZDtcbiAgICAgIGNvbnRyb2wub25DaGFuZ2UoaXNDaGVja2VkKTtcbiAgICB9KTtcblxuICBjb250cm9sQ29udGFpbmVyLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gIGNvbnRhaW5lcj8uYXBwZW5kQ2hpbGQoY29udHJvbENvbnRhaW5lcik7XG5cbiAgYXBwZW5kQ3VzdG9tQ2hlY2tib3hUb0xlYWZsZXRzTGF5ZXJCb3goY29udGFpbmVyLCBjb250cm9sQ29udGFpbmVyKTtcbn07XG5cbmV4cG9ydCBjb25zdCBjdXN0b21GdW5jdGlvbmFsaXR5Rm9yTWFwTGF5ZXJzID0gKFxuICBtYXAsXG4gIG1hcFR5cGVzLFxuICBkZWZhdWx0T24gPSB0cnVlLFxuICB3YUlkLFxuICBmb3JXV1RQRGFzaGJvYXJkLFxuKSA9PiB7XG4gIGxldCBjb250cm9sbGVyID0gTC5jb250cm9sXG4gICAgLmxheWVycyhtYXBUeXBlcywge30sIHsgcG9zaXRpb246ICdib3R0b21yaWdodCcgfSlcbiAgICAuYWRkVG8obWFwKTtcbiAgbGV0IGNvbnRhaW5lciA9IGNvbnRyb2xsZXIuZ2V0Q29udGFpbmVyKCk7XG5cbiAgaWYgKGZvcldXVFBEYXNoYm9hcmQpIHtcbiAgICBjdXN0b21Db250cm9scyhtYXApLmZvckVhY2goKGNvbnRyb2wpID0+IHtcbiAgICAgIGlmIChjb250cm9sLmRlbnlGb3JXYSAmJiBjb250cm9sLmRlbnlGb3JXYS5pbmNsdWRlcyh3YUlkKSkgcmV0dXJuO1xuXG4gICAgICBjcmVhdGVDdXN0b21Db250cm9sKGNvbnRyb2wsIGNvbnRhaW5lcik7XG4gICAgICBlZGdlc1NwZWNpZmljTG9naWMoZGVmYXVsdE9uLCBtYXApO1xuICAgIH0pO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgaW5pdGlhbGl6ZU1hcCA9IChcbiAgbWFwWm9vbUxldmVsLFxuICBtYXBCb3hTdHlsZSxcbiAgbWFwQm94U2F0ZWxsaXRlU3R5bGUsXG4gIG1hcFJlZixcbiAgZGlzcGF0Y2gsXG4gIGlzVmFsaWRBcmVhLFxuICBhcmVhVG9DZW50ZXJCeSxcbiAgc2V0TWFwWm9vbUxldmVsLFxuICBmb3JXV1RQRGFzaGJvYXJkLFxuICBzaG93RWRnZXNCeURlZmF1bHQsXG4gIHdhSWQgPSAwLFxuKSA9PiB7XG4gIC8vIEB0cy1pZ25vcmVcbiAgbWFwUmVmLmN1cnJlbnQgPSBuZXcgTC5NYXAoJ21hcCcsIHtcbiAgICBjZW50ZXI6IFswLCAwXSxcbiAgICB6b29tU25hcDogMSxcbiAgICB6b29tOiBtYXBab29tTGV2ZWwsXG4gICAgYXR0cmlidXRpb25Db250cm9sOiBmYWxzZSxcbiAgICBwcmVmZXJDYW52YXM6IHRydWUsXG4gIH0pO1xuXG4gIGlmIChmb3JXV1RQRGFzaGJvYXJkKSBkaXNwYXRjaChzZXRNYXAobWFwUmVmLmN1cnJlbnQpKTtcblxuICBtYXBSZWYuY3VycmVudC53aGVuUmVhZHkoKCkgPT4ge1xuICAgIGxldCBtYXAgPSBtYXBSZWYuY3VycmVudDtcbiAgICBjb25zdCBtYXBUeXBlcyA9IGJhc2VNYXBzKG1hcEJveFN0eWxlLCBtYXBCb3hTYXRlbGxpdGVTdHlsZSk7XG5cbiAgICBjdXN0b21GdW5jdGlvbmFsaXR5Rm9yTWFwTGF5ZXJzKFxuICAgICAgbWFwLFxuICAgICAgbWFwVHlwZXMsXG4gICAgICBzaG93RWRnZXNCeURlZmF1bHQsXG4gICAgICB3YUlkLFxuICAgICAgZm9yV1dUUERhc2hib2FyZCxcbiAgICApO1xuXG4gICAgLy8gVGhlIG5hbWUgb2YgdGhlIGxheWVyIGNoYW5nZXMgYmV0d2VlbiBsYW5ndWFnZXMgc28gdGhlcmUgd2FzIGEgbmVlZCB0byBnZXQgdG8gdGhlIGZpcnN0IGxheWVyXG4gICAgT2JqZWN0LnZhbHVlcyhtYXBUeXBlcylbMF0uYWRkVG8obWFwKTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKCFtYXBSZWYuY3VycmVudCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIG1hcFJlZi5jdXJyZW50LmludmFsaWRhdGVTaXplKHRydWUpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ2VycicsIGVycik7XG4gICAgICB9XG5cbiAgICAgIGRpc3BhdGNoKHN0b3JlTWFwKG1hcFJlZi5jdXJyZW50KSk7XG4gICAgICBkaXNwYXRjaChzaWRlTmF2RXhwYW5kZWQodHJ1ZSkpO1xuXG4gICAgICBtYXAub24oJ2tleWRvd24nLCAoZXZlbnQpID0+IHtcbiAgICAgICAgaWYgKGV2ZW50Lm9yaWdpbmFsRXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgICAgIG1hcC5jbG9zZVBvcHVwKCk7XG4gICAgICAgICAgZG9jdW1lbnQuYm9keS5mb2N1cygpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9LCAwKTtcbiAgICBpZiAobWFwUmVmLmN1cnJlbnQgJiYgaXNWYWxpZEFyZWEoYXJlYVRvQ2VudGVyQnkpKSB7XG4gICAgICBtYXBSZWYuY3VycmVudC5maXRCb3VuZHMoYXJlYVRvQ2VudGVyQnkpO1xuICAgIH1cbiAgfSk7XG5cbiAgbWFwUmVmLmN1cnJlbnQub24oJ3pvb21lbmQnLCBmdW5jdGlvbiAoZSkge1xuICAgIGlmICghbWFwUmVmLmN1cnJlbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbGV0IHpvb20gPSBtYXBSZWYuY3VycmVudC5nZXRab29tKCk7XG4gICAgc2V0TWFwWm9vbUxldmVsKHpvb20pO1xuICB9KTtcbn07XG5cbi8vIGV4cG9ydCBjb25zdCBjbHVzdGVyR3JvdXBPcHRpb25zID0ge1xuLy8gICBzcGlkZXJmeU9uTWF4Wm9vbTogZmFsc2UsXG4vLyAgIHNob3dDb3ZlcmFnZU9uSG92ZXI6IGZhbHNlLFxuLy8gICB6b29tVG9Cb3VuZHNPbkNsaWNrOiB0cnVlLFxuLy8gICBhbmltYXRlOiB0cnVlLFxuLy8gICBkaXNhYmxlQ2x1c3RlcmluZ0F0Wm9vbTogMTAsXG4vLyAgIHJlbW92ZU91dHNpZGVWaXNpYmxlQm91bmRzOiBmYWxzZSxcbi8vICAgY2h1bmtlZExvYWRpbmc6IHRydWUsXG4vLyAgIGljb25DcmVhdGVGdW5jdGlvbjogKGNsdXN0ZXIpID0+IHtcbi8vICAgICByZXR1cm4gbmV3IEwuRGl2SWNvbih7XG4vLyAgICAgICBodG1sOiBgPGRpdj48c3Bhbj4ke2NsdXN0ZXIuX2NoaWxkQ291bnR9PC9zcGFuPjwvZGl2PlxuLy8gICAgICAgICAgICAgIDxkaXYgY2xhc3M9J21hcmtlci1jbHVzdGVyLW5hbWUnPiR7aTE4bi50KCdpbmR1c3RyaWVzJyl9PC9kaXY+YCxcbi8vICAgICAgIGNsYXNzTmFtZTogJ21hcmtlci1jbHVzdGVyJyxcbi8vICAgICAgIGljb25TaXplOiBuZXcgTC5Qb2ludCg0MCwgNDApLFxuLy8gICAgIH0pO1xuLy8gICB9LFxuLy8gfTtcblxuZXhwb3J0IGNvbnN0IHpvb21MZXZlbHMgPSB7XG4gIDE6ICdYTGFyZ2UnLFxuICAyOiAnWExhcmdlJyxcbiAgMzogJ1hMYXJnZScsXG4gIDQ6ICdYTGFyZ2UnLFxuICA1OiAnWExhcmdlJyxcbiAgNjogJ1hMYXJnZScsXG4gIDc6ICdMYXJnZScsXG4gIDg6ICdMYXJnZScsXG4gIDk6ICdMYXJnZScsXG4gIDEwOiAnTGFyZ2UnLFxuICAxMTogJ01MYXJnZScsXG4gIDEyOiAnTUxhcmdlJyxcbiAgMTM6ICdNTGFyZ2UnLFxuICAxNDogJ01MYXJnZScsXG4gIDE1OiAnTWVkaXVtJyxcbiAgMTY6ICdNZWRpdW0nLFxuICAxNzogJ1NtYWxsJyxcbiAgMTg6ICdTbWFsbCcsXG59O1xuXG4vLyBleHBvcnQgY29uc3QgZmlsdGVyUG9pbnRzID0gKHBvaW50cywgaGFzRGV2aWNlKSA9PlxuLy8gICBwb2ludHMuZmlsdGVyKChwb2ludCkgPT4gcG9pbnQuaGFzX2RldmljZSA9PT0gaGFzRGV2aWNlKTtcblxuLy8gVXRpbGl0eSBmdW5jdGlvbiBmb3IgZmlsdGVyaW5nIHBvaW50cyBiYXNlZCBvbiBvcHRpb25zXG5leHBvcnQgY29uc3QgZmlsdGVyUG9pbnRzID0gKFxuICBwb2ludHM6IElQb2ludFtdID0gW10sXG4gIHtcbiAgICBvbmx5TW9uaXRvcmVkLFxuICAgIHdpdGhTYW1wbGVyLFxuICB9OiB7IG9ubHlNb25pdG9yZWQ/OiBib29sZWFuOyB3aXRoU2FtcGxlcj86IGJvb2xlYW4gfSA9IHt9LFxuKTogSVBvaW50W10gPT4ge1xuICByZXR1cm4gcG9pbnRzLmZpbHRlcigocG9pbnQpID0+IHtcbiAgICBpZiAob25seU1vbml0b3JlZCA9PT0gdHJ1ZSAmJiAhcG9pbnQuaGFzX2RldmljZSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmIChvbmx5TW9uaXRvcmVkID09PSBmYWxzZSAmJiBwb2ludC5oYXNfZGV2aWNlKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHdpdGhTYW1wbGVyID09PSB0cnVlICYmICFwb2ludC5oYXNfc2FtcGxlcikgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh3aXRoU2FtcGxlciA9PT0gZmFsc2UgJiYgcG9pbnQuaGFzX3NhbXBsZXIpIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZmluZFBvaW50ID0gKHBvaW50cywgcG9pbnRJZCwgaGFzRGV2aWNlQ2hlY2spID0+XG4gIHBvaW50cy5maW5kKChwb2ludCkgPT4gcG9pbnQuaWQgPT09IHBvaW50SWQgJiYgaGFzRGV2aWNlQ2hlY2socG9pbnQpKTtcblxuZXhwb3J0IGNvbnN0IGZpbHRlckVkZ2VzID0gKGVkZ2VzLCBwb2ludHMsIGlzTW9uaXRvcmVkKSA9PlxuICBlZGdlcy5maWx0ZXIoKGVkZ2UpID0+IHtcbiAgICBjb25zdCBzb3VyY2VQb2ludCA9IGZpbmRQb2ludChwb2ludHMsIGVkZ2Uuc291cmNlX3BvaW50X2lkLCAocG9pbnQpID0+XG4gICAgICBpc01vbml0b3JlZFxuICAgICAgICA/IHBvaW50Lmhhc19kZXZpY2UgfHwgZWRnZS5kZXNjZW5kYW50c19oYXNfZGV2aWNlXG4gICAgICAgIDogIXBvaW50LmRlc2NlbmRhbnRzX2hhc19kZXZpY2UsXG4gICAgKTtcblxuICAgIGNvbnN0IHBhcmVudFBvaW50ID0gZmluZFBvaW50KHBvaW50cywgZWRnZS50YXJnZXRfcG9pbnRfaWQsIChwb2ludCkgPT5cbiAgICAgIGlzTW9uaXRvcmVkXG4gICAgICAgID8gZWRnZS5kZXNjZW5kYW50c19oYXNfZGV2aWNlIHx8IHNvdXJjZVBvaW50ICE9PSB1bmRlZmluZWRcbiAgICAgICAgOiAhcG9pbnQuZGVzY2VuZGFudHNfaGFzX2RldmljZSxcbiAgICApO1xuXG4gICAgcmV0dXJuIHNvdXJjZVBvaW50ICYmIHBhcmVudFBvaW50O1xuICB9KTtcblxuZXhwb3J0IGNvbnN0IHNldHVwQ2hlY2tib3hMaXN0ZW5lciA9IChzZWxlY3Rvciwgb25DaGFuZ2UpID0+IHtcbiAgY29uc3QgY2hlY2tib3ggPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKTtcbiAgaWYgKGNoZWNrYm94ID09PSBudWxsKSByZXR1cm47XG4gIGNoZWNrYm94LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsICgpID0+IG9uQ2hhbmdlKGNoZWNrYm94LmNoZWNrZWQpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBtYXBHZXRMYXllckJ5SWQgPSAobWFwLCBpZCkgPT4ge1xuICBsZXQgcmV0VmFsdWUgPSBudWxsO1xuXG4gIG1hcD8uZWFjaExheWVyKChsYXllcikgPT4ge1xuICAgIGlmIChsYXllcj8ua2FuZG9fb2JqZWN0X2lkID09PSBpZCkge1xuICAgICAgcmV0VmFsdWUgPSBsYXllcjtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gcmV0VmFsdWU7XG59O1xuXG5leHBvcnQgY29uc3QgbWFwWm9vbUxheWVyID0gKG1hcCwgbGF5ZXIsIHpvb21MZXZlbCA9IDE0KSA9PiB7XG4gIGlmIChtYXAgJiYgbGF5ZXIpIHtcbiAgICBpZiAobGF5ZXIgaW5zdGFuY2VvZiBMLk1hcmtlcikge1xuICAgICAgbWFwLnNldFZpZXcobGF5ZXIuZ2V0TGF0TG5nKCksIHpvb21MZXZlbCk7XG4gICAgfSBlbHNlIGlmIChsYXllciBpbnN0YW5jZW9mIEwuUG9seWdvbikge1xuICAgICAgbWFwLmZpdEJvdW5kcyhsYXllci5nZXRCb3VuZHMoKSwgeyBwYWRkaW5nOiBbMCwgMF0gfSk7XG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgY29uc3QgbWFwQ2xpY2tMYXllciA9IChtYXAsIGxheWVyKSA9PiB7XG4gIGlmIChtYXAgJiYgbGF5ZXIgJiYgbGF5ZXIuaXNQb3B1cE9wZW4oKSA9PT0gZmFsc2UpIHtcbiAgICBpZiAobGF5ZXIgaW5zdGFuY2VvZiBMLk1hcmtlcikge1xuICAgICAgbGF5ZXIuZmlyZSgnY2xpY2snKTtcbiAgICB9IGVsc2UgaWYgKGxheWVyIGluc3RhbmNlb2YgTC5Qb2x5Z29uKSB7XG4gICAgICBsYXllci5maXJlKCdjbGljay1ldmVudCcpO1xuICAgIH1cbiAgfVxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxRQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxRQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxLQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxtQkFBQSxHQUFBSCxPQUFBO0FBR08sSUFBTUksY0FBYyxHQUFHLFNBQWpCQSxjQUFjQSxDQUFJQyxNQUFNLEVBQUVDLFdBQVcsRUFBRUMsY0FBYyxFQUFLO0VBQ3JFLElBQUlDLFdBQWdCLEdBQUdILE1BQU0sQ0FBQ0ksT0FBTztFQUNyQyxJQUFJSCxXQUFXLENBQUNDLGNBQWMsQ0FBQyxFQUFFO0lBQy9CQyxXQUFXLENBQUNFLFNBQVMsQ0FBQ0gsY0FBYyxFQUFFO01BQUVJLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQUUsQ0FBQyxDQUFDO0VBQzVELENBQUMsTUFBTTtJQUNMLElBQU1DLEtBQVksR0FBRyxFQUFFO0lBRXZCLEtBQUssSUFBTUMsUUFBUSxJQUFJTCxXQUFXLENBQUNNLE9BQU8sRUFBRTtNQUMxQyxJQUNFTixXQUFXLENBQUNNLE9BQU8sQ0FBQ0QsUUFBUSxDQUFDLENBQUNFLFlBQVksS0FBSyxNQUFNLElBQ3JEUCxXQUFXLENBQUNNLE9BQU8sQ0FBQ0QsUUFBUSxDQUFDLENBQUNFLFlBQVksS0FBSyxPQUFPLEVBQ3REO1FBQ0FILEtBQUssQ0FBQ0ksSUFBSSxDQUFDUixXQUFXLENBQUNNLE9BQU8sQ0FBQ0QsUUFBUSxDQUFDLENBQUM7TUFDM0M7SUFDRjtJQUVBLElBQUlJLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDQyxnQkFBQyxDQUFDQyxZQUFZLENBQUNSLEtBQUss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
462
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2FjdGlvbnMiLCJfaTE4biIsIl9XV1RQRGFzaGJvYXJkU2xpY2UiLCJhcmVhRm9jdXNMb2dpYyIsIm1hcFJlZiIsImlzVmFsaWRBcmVhIiwiYXJlYVRvQ2VudGVyQnkiLCJtYXBJbnN0YW5jZSIsImN1cnJlbnQiLCJmaXRCb3VuZHMiLCJwYWRkaW5nIiwiZ3JvdXAiLCJwcm9wZXJ0eSIsIl9sYXllcnMiLCJrYW5kb19vYmplY3QiLCJwdXNoIiwiT2JqZWN0Iiwia2V5cyIsIkwiLCJmZWF0dXJlR3JvdXAiLCJnZXRCb3VuZHMiLCJsZW5ndGgiLCJleHBvcnRzIiwiYXJlYSIsInNob3VsZExvYWRNYXBPYmplY3RzIiwiZ2xvYmFsX2RhdGEiLCJwb2ludHMiLCJlZGdlcyIsIm1hcCIsInVuZGVmaW5lZCIsInNob3VkTG9hZERlcGVuZGVudE1hcE9iamVjdHMiLCJhcmVhcyIsImdsb2JhbCIsImZpbmRTcGVjaWZpY0xheWVyc0Zyb21NYXAiLCJsYXllcnNUb0ZpbmQiLCJjdXJyZW50TGF5ZXIiLCJpbmNsdWRlcyIsImthbmRvX3BvaW50X3R5cGUiLCJldmVudHNDb3VudGVySWNvbnMiLCJsYXllciIsInpvb21MZXZlbCIsImljb24iLCJvcHRpb25zIiwiaWNvblNpemUiLCJldmVudHNDb3VudEljb24iLCJpY29uQW5jaG9yIiwic2V0SWNvbiIsInNldE9wYWNpdHkiLCJtdWx0aXBsZUxheWVyZWRJY29ucyIsImlzQUZld0xheWVySWNvbiIsImthbmRvX2Zld19sYXllcl9pY29uIiwibWluaUljb24iLCJwcmVzZW50Iiwia2FuZG9fc2Vjb25kYXJ5Iiwia2FuZG9fdGhpcmQiLCJzZWNvbmRhcnkiLCJ0aGlyZCIsImthbmRvX2luZGV4X29iamVjdCIsImJ1YmJsZUljb25PcHRpb25zIiwib25lTGF5ZXJJY29uT3B0aW9ucyIsIm1pZGRsZUljb25PcHRpb25zIiwidG9wSWNvbk9wdGlvbnMiLCJpY29uWm9vbUNvbnRyb2wiLCJsYXllcnMiLCJfem9vbSIsIm1hcFN0eWxlIiwibWFwQm94U3R5bGUiLCJ0aWxlTGF5ZXIiLCJjb25jYXQiLCJhdHRyaWJ1dGlvbiIsIm1heFpvb20iLCJtaW5ab29tIiwiaWQiLCJ0aWxlU2l6ZSIsInpvb21PZmZzZXQiLCJ1cGRhdGVXaGVuWm9vbWluZyIsInVwZGF0ZVdoZW5JZGxlIiwiYmFzZU1hcHMiLCJtYXBCb3hTYXRlbGxpdGVTdHlsZSIsIl9yZWYiLCJkZWZhdWx0TWFwIiwiaTE4biIsInQiLCJzYXRlbGxpdGUiLCJfZGVmaW5lUHJvcGVydHkyIiwiZGVmYXVsdCIsInRvZ2dsZUVkZ2VzVmlzaWJpbGl0eSIsInZpc2libGUiLCJlYWNoTGF5ZXIiLCJQb2x5bGluZSIsIlN5bWJvbCIsImFycm93SGVhZCIsInNldFN0eWxlIiwib3BhY2l0eSIsImVkZ2VzU3BlY2lmaWNMb2dpYyIsImRlZmF1bHRPbiIsImNoZWNrYm94IiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwiY2hlY2tlZCIsImN1c3RvbUNvbnRyb2xzIiwibGFiZWwiLCJpbnB1dFR5cGUiLCJkZW55Rm9yV2EiLCJvbkNoYW5nZSIsImlzQ2hlY2tlZCIsImFwcGVuZEN1c3RvbUNoZWNrYm94VG9MZWFmbGV0c0xheWVyQm94IiwibGVhZmxldHNDb250YWluZXIiLCJjdXN0b21Db250YWluZXIiLCJEb21FdmVudCIsIm9uIiwic3R5bGUiLCJkaXNwbGF5IiwiY3JlYXRlQ3VzdG9tQ29udHJvbCIsImNvbnRyb2wiLCJjb250YWluZXIiLCJjb250cm9sQ29udGFpbmVyIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsImlubmVySFRNTCIsImFkZEV2ZW50TGlzdGVuZXIiLCJlIiwidGFyZ2V0IiwiYXBwZW5kQ2hpbGQiLCJjdXN0b21GdW5jdGlvbmFsaXR5Rm9yTWFwTGF5ZXJzIiwibWFwVHlwZXMiLCJhcmd1bWVudHMiLCJ3YUlkIiwiZm9yV1dUUERhc2hib2FyZCIsImNvbnRyb2xsZXIiLCJwb3NpdGlvbiIsImFkZFRvIiwiZ2V0Q29udGFpbmVyIiwiZm9yRWFjaCIsImluaXRpYWxpemVNYXAiLCJtYXBab29tTGV2ZWwiLCJkaXNwYXRjaCIsInNldE1hcFpvb21MZXZlbCIsInNob3dFZGdlc0J5RGVmYXVsdCIsIk1hcCIsImNlbnRlciIsInpvb21TbmFwIiwiem9vbSIsImF0dHJpYnV0aW9uQ29udHJvbCIsInByZWZlckNhbnZhcyIsInNldE1hcCIsIndoZW5SZWFkeSIsInZhbHVlcyIsInNldFRpbWVvdXQiLCJpbnZhbGlkYXRlU2l6ZSIsImVyciIsImNvbnNvbGUiLCJlcnJvciIsInN0b3JlTWFwIiwic2lkZU5hdkV4cGFuZGVkIiwiZXZlbnQiLCJvcmlnaW5hbEV2ZW50Iiwia2V5IiwiY2xvc2VQb3B1cCIsImJvZHkiLCJmb2N1cyIsImdldFpvb20iLCJ6b29tTGV2ZWxzIiwiZmlsdGVyUG9pbnRzIiwiX3JlZjIiLCJvbmx5TW9uaXRvcmVkIiwid2l0aFNhbXBsZXIiLCJmaWx0ZXIiLCJwb2ludCIsImhhc19kZXZpY2UiLCJoYXNfc2FtcGxlciIsImZpbmRQb2ludCIsInBvaW50SWQiLCJoYXNEZXZpY2VDaGVjayIsImZpbmQiLCJmaWx0ZXJFZGdlcyIsImlzTW9uaXRvcmVkIiwiZWRnZSIsInNvdXJjZVBvaW50Iiwic291cmNlX3BvaW50X2lkIiwiZGVzY2VuZGFudHNfaGFzX2RldmljZSIsInBhcmVudFBvaW50IiwidGFyZ2V0X3BvaW50X2lkIiwic2V0dXBDaGVja2JveExpc3RlbmVyIiwic2VsZWN0b3IiLCJtYXBHZXRMYXllckJ5SWQiLCJyZXRWYWx1ZSIsImthbmRvX29iamVjdF9pZCIsIm1hcFpvb21MYXllciIsIk1hcmtlciIsInNldFZpZXciLCJnZXRMYXRMbmciLCJQb2x5Z29uIiwibWFwQ2xpY2tMYXllciIsImlzUG9wdXBPcGVuIiwiZmlyZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9NYXBVdGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTCwgeyBQb2ludFR1cGxlIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgeyBzaWRlTmF2RXhwYW5kZWQsIHN0b3JlTWFwIH0gZnJvbSAnLi4vLi4vc3RvcmUvZ2xvYmFsL2FjdGlvbnMnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IHNldE1hcCB9IGZyb20gJy4uLy4uL3N0b3JlL1dXVFBEYXNoYm9hcmQvV1dUUERhc2hib2FyZFNsaWNlJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5cbmV4cG9ydCBjb25zdCBhcmVhRm9jdXNMb2dpYyA9IChtYXBSZWYsIGlzVmFsaWRBcmVhLCBhcmVhVG9DZW50ZXJCeSkgPT4ge1xuICBsZXQgbWFwSW5zdGFuY2U6IGFueSA9IG1hcFJlZi5jdXJyZW50O1xuICBpZiAoaXNWYWxpZEFyZWEoYXJlYVRvQ2VudGVyQnkpKSB7XG4gICAgbWFwSW5zdGFuY2UuZml0Qm91bmRzKGFyZWFUb0NlbnRlckJ5LCB7IHBhZGRpbmc6IFswLCAwXSB9KTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBncm91cDogYW55W10gPSBbXTtcblxuICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbWFwSW5zdGFuY2UuX2xheWVycykge1xuICAgICAgaWYgKFxuICAgICAgICBtYXBJbnN0YW5jZS5fbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdBcmVhJyB8fFxuICAgICAgICBtYXBJbnN0YW5jZS5fbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdQb2ludCdcbiAgICAgICkge1xuICAgICAgICBncm91cC5wdXNoKG1hcEluc3RhbmNlLl9sYXllcnNbcHJvcGVydHldKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoT2JqZWN0LmtleXMoTC5mZWF0dXJlR3JvdXAoZ3JvdXApLmdldEJvdW5kcygpKS5sZW5ndGggIT09IDApIHtcbiAgICAgIG1hcEluc3RhbmNlLmZpdEJvdW5kcyhMLmZlYXR1cmVHcm91cChncm91cCkuZ2V0Qm91bmRzKCksIHtcbiAgICAgICAgcGFkZGluZzogWzEwMCwgMTAwXSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICAvLyBtYXBJbnN0YW5jZS5pbnZhbGlkYXRlU2l6ZSh0cnVlKTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc1ZhbGlkQXJlYSA9IChhcmVhKSA9PiB7XG4gIHJldHVybiBhcmVhICYmIGFyZWEubGVuZ3RoID4gMCAmJiBPYmplY3Qua2V5cyhhcmVhWzBdKS5sZW5ndGggPiAwO1xufTtcblxuZXhwb3J0IGNvbnN0IHNob3VsZExvYWRNYXBPYmplY3RzID0gKGdsb2JhbF9kYXRhLCBtYXBSZWYsIHBvaW50cywgZWRnZXMpID0+IHtcbiAgcmV0dXJuIChcbiAgICBnbG9iYWxfZGF0YS5tYXAgIT09IHVuZGVmaW5lZCAmJlxuICAgIG1hcFJlZi5jdXJyZW50ICE9PSBudWxsICYmXG4gICAgZWRnZXMgIT09IHVuZGVmaW5lZCAmJlxuICAgIHBvaW50cyAhPT0gdW5kZWZpbmVkXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyA9IChcbiAgZWRnZXMsXG4gIGFyZWFzLFxuICBnbG9iYWwsXG4gIG1hcFJlZixcbiAgcG9pbnRzLFxuKSA9PiB7XG4gIHJldHVybiAoXG4gICAgZ2xvYmFsLm1hcCAhPT0gdW5kZWZpbmVkICYmXG4gICAgbWFwUmVmLmN1cnJlbnQgIT09IG51bGwgJiZcbiAgICBlZGdlcy5sZW5ndGggPj0gMCAmJlxuICAgIGFyZWFzLmxlbmd0aCA+PSAwICYmXG4gICAgcG9pbnRzLmxlbmd0aCA+PSAwXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgZmluZFNwZWNpZmljTGF5ZXJzRnJvbU1hcCA9IChcbiAgbGF5ZXJzVG9GaW5kOiBzdHJpbmdbXSxcbiAgY3VycmVudExheWVyLFxuKSA9PiB7XG4gIHJldHVybiAoXG4gICAgbGF5ZXJzVG9GaW5kLmluY2x1ZGVzKGN1cnJlbnRMYXllci5rYW5kb19vYmplY3QpICYmXG4gICAgY3VycmVudExheWVyLmthbmRvX3BvaW50X3R5cGUgIT09ICdNYW5ob2xlJ1xuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGV2ZW50c0NvdW50ZXJJY29ucyA9IChsYXllciwgem9vbUxldmVsKSA9PiB7XG4gIGxldCBpY29uID0gbGF5ZXIub3B0aW9ucy5pY29uO1xuICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSBldmVudHNDb3VudEljb24oem9vbUxldmVsKS5pY29uU2l6ZTtcbiAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSBldmVudHNDb3VudEljb24oem9vbUxldmVsKS5pY29uQW5jaG9yO1xuICBsYXllci5zZXRJY29uKGljb24pO1xuICBsYXllci5zZXRPcGFjaXR5KDEpO1xufTtcblxuZXhwb3J0IGNvbnN0IG11bHRpcGxlTGF5ZXJlZEljb25zID0gKGxheWVyLCB6b29tTGV2ZWwpID0+IHtcbiAgbGV0IGljb24gPSBsYXllci5vcHRpb25zLmljb247XG4gIGxldCBpc0FGZXdMYXllckljb24gPSBsYXllci5rYW5kb19mZXdfbGF5ZXJfaWNvbjtcbiAgbGV0IG1pbmlJY29uID0ge1xuICAgIHByZXNlbnQ6IGxheWVyLmthbmRvX3NlY29uZGFyeSB8fCBsYXllci5rYW5kb190aGlyZCxcbiAgICBzZWNvbmRhcnk6IGxheWVyLmthbmRvX3NlY29uZGFyeSxcbiAgICB0aGlyZDogbGF5ZXIua2FuZG9fdGhpcmQsXG4gIH07XG5cbiAgaWYgKGxheWVyLmthbmRvX2luZGV4X29iamVjdCA9PT0gMCkge1xuICAgIGlmIChpc0FGZXdMYXllckljb24pIHtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IGJ1YmJsZUljb25PcHRpb25zKHpvb21MZXZlbCwgbWluaUljb24pLmljb25TaXplO1xuICAgICAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSBidWJibGVJY29uT3B0aW9ucyhcbiAgICAgICAgem9vbUxldmVsLFxuICAgICAgICBtaW5pSWNvbixcbiAgICAgICkuaWNvbkFuY2hvcjtcbiAgICB9IGVsc2Uge1xuICAgICAgaWNvbi5vcHRpb25zLmljb25TaXplID0gb25lTGF5ZXJJY29uT3B0aW9ucyh6b29tTGV2ZWwpLmljb25TaXplO1xuICAgICAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSBvbmVMYXllckljb25PcHRpb25zKHpvb21MZXZlbCkuaWNvbkFuY2hvcjtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaWYgKGxheWVyLmthbmRvX2luZGV4X29iamVjdCA9PT0gMSkge1xuICAgICAgaWNvbi5vcHRpb25zLmljb25TaXplID0gbWlkZGxlSWNvbk9wdGlvbnMoem9vbUxldmVsLCBtaW5pSWNvbikuaWNvblNpemU7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IG1pZGRsZUljb25PcHRpb25zKFxuICAgICAgICB6b29tTGV2ZWwsXG4gICAgICAgIG1pbmlJY29uLFxuICAgICAgKS5pY29uQW5jaG9yO1xuICAgIH0gZWxzZSB7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSB0b3BJY29uT3B0aW9ucyh6b29tTGV2ZWwsIG1pbmlJY29uKS5pY29uU2l6ZTtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uQW5jaG9yID0gdG9wSWNvbk9wdGlvbnMoem9vbUxldmVsLCBtaW5pSWNvbikuaWNvbkFuY2hvcjtcbiAgICB9XG4gIH1cblxuICBsYXllci5zZXRJY29uKGljb24pO1xufTtcblxuY29uc3Qgb25lTGF5ZXJJY29uT3B0aW9ucyA9ICh6b29tTGV2ZWwpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDMuMywgem9vbUxldmVsICogMy4zXSBhcyBQb2ludFR1cGxlLFxuICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAxLjcsIHpvb21MZXZlbCAqIDMuN10gYXMgUG9pbnRUdXBsZSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBldmVudHNDb3VudEljb24gPSAoem9vbUxldmVsKSA9PiB7XG4gIHJldHVybiB7XG4gICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAyLjUsIHpvb21MZXZlbCAqIDIuNV0gYXMgUG9pbnRUdXBsZSxcbiAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogMCwgem9vbUxldmVsICogNF0gYXMgUG9pbnRUdXBsZSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBidWJibGVJY29uT3B0aW9ucyA9ICh6b29tTGV2ZWwsIG1pbmlJY29uKSA9PiB7XG4gIGlmIChtaW5pSWNvbi5wcmVzZW50KSB7XG4gICAgaWYgKG1pbmlJY29uLnNlY29uZGFyeSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAxLjk4LCB6b29tTGV2ZWwgKiAyLjNdIGFzIFBvaW50VHVwbGUsXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAwLCB6b29tTGV2ZWwgKiA0XSBhcyBQb2ludFR1cGxlLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAxLjk4LCB6b29tTGV2ZWwgKiAyLjNdIGFzIFBvaW50VHVwbGUsXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAwLCB6b29tTGV2ZWwgKiAyXSBhcyBQb2ludFR1cGxlLFxuICAgICAgfTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMy45OCwgem9vbUxldmVsICogNC4zXSBhcyBQb2ludFR1cGxlLFxuICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDIsIHpvb21MZXZlbCAqIDRdIGFzIFBvaW50VHVwbGUsXG4gICAgfTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IG1pZGRsZUljb25PcHRpb25zID0gKHpvb21MZXZlbCwgbWluaUljb24pID0+IHtcbiAgaWYgKG1pbmlJY29uLnByZXNlbnQpIHtcbiAgICBpZiAobWluaUljb24uc2Vjb25kYXJ5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDEuMSwgem9vbUxldmVsICogMS4xXSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIC0wLjQ1LCB6b29tTGV2ZWwgKiAzLjVdLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAxLjEsIHpvb21MZXZlbCAqIDEuMV0sXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAtMC40NSwgem9vbUxldmVsICogMS41XSxcbiAgICAgIH07XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDIuNSwgem9vbUxldmVsICogMi41XSxcbiAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAxLjI5NSwgem9vbUxldmVsICogMy4zNV0sXG4gICAgfTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHRvcEljb25PcHRpb25zID0gKHpvb21MZXZlbCwgbWluaUljb24pID0+IHtcbiAgaWYgKG1pbmlJY29uLnByZXNlbnQpIHtcbiAgICBpZiAobWluaUljb24uc2Vjb25kYXJ5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDAuOSwgem9vbUxldmVsICogMS44XSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIC0wLjUsIHpvb21MZXZlbCAqIDMuOF0sXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDEuNiwgem9vbUxldmVsICogMi41XSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIC0wLjIsIHpvb21MZXZlbCAqIDIuMV0sXG4gICAgICB9O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAzLjksIHpvb21MZXZlbCAqIDMuOF0sXG4gICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogMiwgem9vbUxldmVsICogMy44XSxcbiAgICB9O1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgaWNvblpvb21Db250cm9sID0gKG1hcCkgPT4ge1xuICBsZXQgbGF5ZXJzID0gbWFwLl9sYXllcnM7XG4gIGxldCB6b29tTGV2ZWwgPSBtYXAuX3pvb207XG5cbiAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBsYXllcnMpIHtcbiAgICBpZiAoZmluZFNwZWNpZmljTGF5ZXJzRnJvbU1hcChbJ0ljb25OdW1iZXInXSwgbGF5ZXJzW3Byb3BlcnR5XSkpIHtcbiAgICAgIGV2ZW50c0NvdW50ZXJJY29ucyhsYXllcnNbcHJvcGVydHldLCB6b29tTGV2ZWwpO1xuICAgIH1cblxuICAgIGlmIChmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwKFsnUG9pbnQnLCAnSWNvbiddLCBsYXllcnNbcHJvcGVydHldKSkge1xuICAgICAgbXVsdGlwbGVMYXllcmVkSWNvbnMobGF5ZXJzW3Byb3BlcnR5XSwgem9vbUxldmVsKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwKFsnU2FtcGxpbmcnLCAnT2JzZXJ2YXRpb24nXSwgbGF5ZXJzW3Byb3BlcnR5XSlcbiAgICApIHtcbiAgICAgIG11bHRpcGxlTGF5ZXJlZEljb25zKGxheWVyc1twcm9wZXJ0eV0sIHpvb21MZXZlbCk7XG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgY29uc3QgbWFwU3R5bGUgPSAobWFwQm94U3R5bGUpID0+IHtcbiAgcmV0dXJuIEwudGlsZUxheWVyKFxuICAgIGBodHRwczovL2FwaS5tYXBib3guY29tL3N0eWxlcy92MS9uYWRhdi1rYW5kby8ke21hcEJveFN0eWxlfS90aWxlcy8yNTYve3p9L3t4fS97eX1AMng/YWNjZXNzX3Rva2VuPXBrLmV5SjFJam9pYm1Ga1lYWXRhMkZ1Wkc4aUxDSmhJam9pWTJwdmVIcHJkR1J4TUhsbWRETjRiRGcwZHpKeE9YYzRkU0o5LkotMm9ocTdqNHlLTmJtNE5fLVA2cXdgLFxuICAgIHtcbiAgICAgIGF0dHJpYnV0aW9uOlxuICAgICAgICAnTWFwIGRhdGEgJmNvcHk7IDxhIGhyZWY9XCJodHRwczovL3d3dy5vcGVuc3RyZWV0bWFwLm9yZy9cIj5PcGVuU3RyZWV0TWFwPC9hPiBjb250cmlidXRvcnMsIDxhIGhyZWY9XCJodHRwczovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnktc2EvMi4wL1wiPkNDLUJZLVNBPC9hPiwgSW1hZ2VyeSDCqSA8YSBocmVmPVwiaHR0cHM6Ly93d3cubWFwYm94LmNvbS9cIj5NYXBib3g8L2E+JyxcbiAgICAgIG1heFpvb206IDE4LFxuICAgICAgbWluWm9vbTogMixcbiAgICAgIGlkOiAnbWFwYm94L3N0cmVldHMtdjExJyxcbiAgICAgIHRpbGVTaXplOiA1MTIsXG4gICAgICB6b29tT2Zmc2V0OiAtMSxcbiAgICAgIHVwZGF0ZVdoZW5ab29taW5nOiBmYWxzZSxcbiAgICAgIHVwZGF0ZVdoZW5JZGxlOiB0cnVlLFxuICAgIH0sXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgYmFzZU1hcHMgPSAobWFwQm94U3R5bGUsIG1hcEJveFNhdGVsbGl0ZVN0eWxlKSA9PiB7XG4gIGxldCBkZWZhdWx0TWFwID0gaTE4bi50KCdtYXAubGF5ZXJzLmRlZmF1bHQnKTtcbiAgbGV0IHNhdGVsbGl0ZSA9IGkxOG4udCgnbWFwLmxheWVycy5zYXRlbGxpdGUnKTtcbiAgcmV0dXJuIHtcbiAgICBbZGVmYXVsdE1hcF06IG1hcFN0eWxlKG1hcEJveFN0eWxlKSxcbiAgICBbc2F0ZWxsaXRlXTogbWFwU3R5bGUobWFwQm94U2F0ZWxsaXRlU3R5bGUpLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IHRvZ2dsZUVkZ2VzVmlzaWJpbGl0eSA9ICh2aXNpYmxlLCBtYXApID0+IHtcbiAgbWFwLmVhY2hMYXllcigobGF5ZXIpID0+IHtcbiAgICBpZiAoXG4gICAgICAobGF5ZXIgaW5zdGFuY2VvZiBMLlBvbHlsaW5lICYmIGxheWVyLmthbmRvX29iamVjdCAhPT0gJ0FyZWEnKSB8fFxuICAgICAgbGF5ZXIgaW5zdGFuY2VvZiBMLlN5bWJvbC5hcnJvd0hlYWRcbiAgICApIHtcbiAgICAgIGxheWVyLnNldFN0eWxlKHsgb3BhY2l0eTogdmlzaWJsZSA/IDEgOiAwIH0pO1xuICAgIH1cbiAgfSk7XG59O1xuXG4vLyBleHBvcnQgY29uc3QgdG9nZ2xlTW9uaXRvcmVkUG9pbnRzVmlzaWJpbGl0eSA9ICh2aXNpYmxlKSA9PiB7XG4vLyAgIGNvbnNvbGUud2FybigndG9nZ2xlTW9uaXRvcmVkUG9pbnRzVmlzaWJpbGl0eScsIHZpc2libGUpO1xuLy8gfTtcblxuLy8gZXhwb3J0IGNvbnN0IHRvZ2dsZU1vbml0b3JlZFBvaW50c1dpdGhTYW1wbGVyVmlzaWJpbGl0eSA9ICh2aXNpYmxlKSA9PiB7XG4vLyAgIGNvbnNvbGUud2FybigndG9nZ2xlTW9uaXRvcmVkUG9pbnRzV2l0aFNhbXBsZXJWaXNpYmlsaXR5JywgdmlzaWJsZSk7XG4vLyB9O1xuXG5leHBvcnQgY29uc3QgZWRnZXNTcGVjaWZpY0xvZ2ljID0gKGRlZmF1bHRPbiwgbWFwKSA9PiB7XG4gIGxldCBjaGVja2JveCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNlZGdlcy1jaGVja2JveCcpO1xuICBpZiAoY2hlY2tib3ggPT0gbnVsbCkgcmV0dXJuO1xuICBjaGVja2JveC5jaGVja2VkID0gZGVmYXVsdE9uO1xufTtcblxuY29uc3QgY3VzdG9tQ29udHJvbHMgPSAobWFwKSA9PiB7XG4gIHJldHVybiBbXG4gICAge1xuICAgICAgbGFiZWw6IGkxOG4udCgnbWFwLmxheWVycy5uZXR3b3JrX2xpbmVzJyksXG4gICAgICBpZDogJ2VkZ2VzLWNoZWNrYm94JyxcbiAgICAgIGlucHV0VHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGRlbnlGb3JXYTogWzUxOF0sXG4gICAgICBvbkNoYW5nZTogKGlzQ2hlY2tlZCkgPT4gdG9nZ2xlRWRnZXNWaXNpYmlsaXR5KGlzQ2hlY2tlZCwgbWFwKSxcbiAgICB9LFxuXG4gICAge1xuICAgICAgbGFiZWw6ICdTaG93IG9ubHkgbW9uaXRvcmVkIHBvaW50cycsXG4gICAgICBpZDogJ21vbml0b3JlZC1wb2ludHMtY2hlY2tib3gnLFxuICAgICAgaW5wdXRUeXBlOiAnY2hlY2tib3gnLFxuICAgICAgb25DaGFuZ2U6IChpc0NoZWNrZWQpID0+ICgpID0+IHt9LFxuICAgIH0sXG5cbiAgICB7XG4gICAgICBsYWJlbDogJ1Nob3cgc2FtcGxlcnMnLFxuICAgICAgaWQ6ICdtb25pdG9yZWQtcG9pbnRzLXdpdGgtc2FtcGxlci1jaGVja2JveCcsXG4gICAgICBpbnB1dFR5cGU6ICdjaGVja2JveCcsXG4gICAgICBvbkNoYW5nZTogKGlzQ2hlY2tlZCkgPT4gKCkgPT4ge30sXG4gICAgfSxcblxuICAgIC8vIHtcbiAgICAvLyAgIGxhYmVsOiAnQW5vdGhlciBjdXN0b20gZmVhdHVyZScsXG4gICAgLy8gICBpZDogJ2N1c3RvbS1mZWF0dXJlLWNoZWNrYm94JyxcbiAgICAvLyAgIGlucHV0VHlwZTogJ2NoZWNrYm94JyxcbiAgICAvLyAgIG9uQ2hhbmdlOiAoaXNDaGVja2VkKSA9PiBjb25zb2xlLmxvZyhgQW5vdGhlciBmZWF0dXJlIGlzIG5vdyAke2lzQ2hlY2tlZCA/ICdlbmFibGVkJyA6ICdkaXNhYmxlZCd9YCksXG4gICAgLy8gfSxcbiAgXTtcbn07XG5cbmNvbnN0IGFwcGVuZEN1c3RvbUNoZWNrYm94VG9MZWFmbGV0c0xheWVyQm94ID0gKFxuICBsZWFmbGV0c0NvbnRhaW5lcixcbiAgY3VzdG9tQ29udGFpbmVyLFxuKSA9PiB7XG4gIEwuRG9tRXZlbnQub24obGVhZmxldHNDb250YWluZXIsICdtb3VzZW92ZXInLCBmdW5jdGlvbiAoKSB7XG4gICAgY3VzdG9tQ29udGFpbmVyLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuICB9KTtcblxuICBMLkRvbUV2ZW50Lm9uKGxlYWZsZXRzQ29udGFpbmVyLCAnbW91c2VvdXQnLCBmdW5jdGlvbiAoKSB7XG4gICAgY3VzdG9tQ29udGFpbmVyLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gIH0pO1xufTtcblxuY29uc3QgY3JlYXRlQ3VzdG9tQ29udHJvbCA9IChjb250cm9sLCBjb250YWluZXIpID0+IHtcbiAgbGV0IGNvbnRyb2xDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgY29udHJvbENvbnRhaW5lci5jbGFzc05hbWUgPSAnbGVhZmxldC1jb250cm9sLWxheWVycy1vdmVybGF5cyc7XG4gIGNvbnRyb2xDb250YWluZXIuaW5uZXJIVE1MID0gYFxuICAgICAgPGxhYmVsPlxuICAgICAgICA8aW5wdXQgdHlwZT1cIiR7Y29udHJvbC5pbnB1dFR5cGV9XCIgaWQ9XCIke2NvbnRyb2wuaWR9XCIgLz4gJHtjb250cm9sLmxhYmVsfVxuICAgICAgPC9sYWJlbD5cbiAgICBgO1xuXG4gIGNvbnRyb2xDb250YWluZXJcbiAgICAucXVlcnlTZWxlY3RvcihgIyR7Y29udHJvbC5pZH1gKVxuICAgIC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBmdW5jdGlvbiAoZSkge1xuICAgICAgY29uc3QgaXNDaGVja2VkID0gZS50YXJnZXQuY2hlY2tlZDtcbiAgICAgIGNvbnRyb2wub25DaGFuZ2UoaXNDaGVja2VkKTtcbiAgICB9KTtcblxuICBjb250cm9sQ29udGFpbmVyLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gIGNvbnRhaW5lcj8uYXBwZW5kQ2hpbGQoY29udHJvbENvbnRhaW5lcik7XG5cbiAgYXBwZW5kQ3VzdG9tQ2hlY2tib3hUb0xlYWZsZXRzTGF5ZXJCb3goY29udGFpbmVyLCBjb250cm9sQ29udGFpbmVyKTtcbn07XG5cbmV4cG9ydCBjb25zdCBjdXN0b21GdW5jdGlvbmFsaXR5Rm9yTWFwTGF5ZXJzID0gKFxuICBtYXAsXG4gIG1hcFR5cGVzLFxuICBkZWZhdWx0T24gPSB0cnVlLFxuICB3YUlkLFxuICBmb3JXV1RQRGFzaGJvYXJkLFxuKSA9PiB7XG4gIGxldCBjb250cm9sbGVyID0gTC5jb250cm9sXG4gICAgLmxheWVycyhtYXBUeXBlcywge30sIHsgcG9zaXRpb246ICdib3R0b21yaWdodCcgfSlcbiAgICAuYWRkVG8obWFwKTtcbiAgbGV0IGNvbnRhaW5lciA9IGNvbnRyb2xsZXIuZ2V0Q29udGFpbmVyKCk7XG5cbiAgaWYgKGZvcldXVFBEYXNoYm9hcmQpIHtcbiAgICBjdXN0b21Db250cm9scyhtYXApLmZvckVhY2goKGNvbnRyb2wpID0+IHtcbiAgICAgIGlmIChjb250cm9sLmRlbnlGb3JXYSAmJiBjb250cm9sLmRlbnlGb3JXYS5pbmNsdWRlcyh3YUlkKSkgcmV0dXJuO1xuXG4gICAgICBjcmVhdGVDdXN0b21Db250cm9sKGNvbnRyb2wsIGNvbnRhaW5lcik7XG4gICAgICBlZGdlc1NwZWNpZmljTG9naWMoZGVmYXVsdE9uLCBtYXApO1xuICAgIH0pO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgaW5pdGlhbGl6ZU1hcCA9IChcbiAgbWFwWm9vbUxldmVsLFxuICBtYXBCb3hTdHlsZSxcbiAgbWFwQm94U2F0ZWxsaXRlU3R5bGUsXG4gIG1hcFJlZixcbiAgZGlzcGF0Y2gsXG4gIGlzVmFsaWRBcmVhLFxuICBhcmVhVG9DZW50ZXJCeSxcbiAgc2V0TWFwWm9vbUxldmVsLFxuICBmb3JXV1RQRGFzaGJvYXJkLFxuICBzaG93RWRnZXNCeURlZmF1bHQsXG4gIHdhSWQgPSAwLFxuKSA9PiB7XG4gIC8vIEB0cy1pZ25vcmVcbiAgbWFwUmVmLmN1cnJlbnQgPSBuZXcgTC5NYXAoJ21hcCcsIHtcbiAgICBjZW50ZXI6IFswLCAwXSxcbiAgICB6b29tU25hcDogMSxcbiAgICB6b29tOiBtYXBab29tTGV2ZWwsXG4gICAgYXR0cmlidXRpb25Db250cm9sOiBmYWxzZSxcbiAgICBwcmVmZXJDYW52YXM6IHRydWUsXG4gIH0pO1xuXG4gIGlmIChmb3JXV1RQRGFzaGJvYXJkKSBkaXNwYXRjaChzZXRNYXAobWFwUmVmLmN1cnJlbnQpKTtcblxuICBtYXBSZWYuY3VycmVudC53aGVuUmVhZHkoKCkgPT4ge1xuICAgIGxldCBtYXAgPSBtYXBSZWYuY3VycmVudDtcbiAgICBjb25zdCBtYXBUeXBlcyA9IGJhc2VNYXBzKG1hcEJveFN0eWxlLCBtYXBCb3hTYXRlbGxpdGVTdHlsZSk7XG5cbiAgICBjdXN0b21GdW5jdGlvbmFsaXR5Rm9yTWFwTGF5ZXJzKFxuICAgICAgbWFwLFxuICAgICAgbWFwVHlwZXMsXG4gICAgICBzaG93RWRnZXNCeURlZmF1bHQsXG4gICAgICB3YUlkLFxuICAgICAgZm9yV1dUUERhc2hib2FyZCxcbiAgICApO1xuXG4gICAgLy8gVGhlIG5hbWUgb2YgdGhlIGxheWVyIGNoYW5nZXMgYmV0d2VlbiBsYW5ndWFnZXMgc28gdGhlcmUgd2FzIGEgbmVlZCB0byBnZXQgdG8gdGhlIGZpcnN0IGxheWVyXG4gICAgT2JqZWN0LnZhbHVlcyhtYXBUeXBlcylbMF0uYWRkVG8obWFwKTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKCFtYXBSZWYuY3VycmVudCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIG1hcFJlZi5jdXJyZW50LmludmFsaWRhdGVTaXplKHRydWUpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ2VycicsIGVycik7XG4gICAgICB9XG5cbiAgICAgIGRpc3BhdGNoKHN0b3JlTWFwKG1hcFJlZi5jdXJyZW50KSk7XG4gICAgICBkaXNwYXRjaChzaWRlTmF2RXhwYW5kZWQodHJ1ZSkpO1xuXG4gICAgICBtYXAub24oJ2tleWRvd24nLCAoZXZlbnQpID0+IHtcbiAgICAgICAgaWYgKGV2ZW50Lm9yaWdpbmFsRXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgICAgIG1hcC5jbG9zZVBvcHVwKCk7XG4gICAgICAgICAgZG9jdW1lbnQuYm9keS5mb2N1cygpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9LCAwKTtcbiAgICBpZiAobWFwUmVmLmN1cnJlbnQgJiYgaXNWYWxpZEFyZWEoYXJlYVRvQ2VudGVyQnkpKSB7XG4gICAgICBtYXBSZWYuY3VycmVudC5maXRCb3VuZHMoYXJlYVRvQ2VudGVyQnkpO1xuICAgIH1cbiAgfSk7XG5cbiAgbWFwUmVmLmN1cnJlbnQub24oJ3pvb21lbmQnLCBmdW5jdGlvbiAoZSkge1xuICAgIGlmICghbWFwUmVmLmN1cnJlbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbGV0IHpvb20gPSBtYXBSZWYuY3VycmVudC5nZXRab29tKCk7XG4gICAgc2V0TWFwWm9vbUxldmVsKHpvb20pO1xuICB9KTtcbn07XG5cbi8vIGV4cG9ydCBjb25zdCBjbHVzdGVyR3JvdXBPcHRpb25zID0ge1xuLy8gICBzcGlkZXJmeU9uTWF4Wm9vbTogZmFsc2UsXG4vLyAgIHNob3dDb3ZlcmFnZU9uSG92ZXI6IGZhbHNlLFxuLy8gICB6b29tVG9Cb3VuZHNPbkNsaWNrOiB0cnVlLFxuLy8gICBhbmltYXRlOiB0cnVlLFxuLy8gICBkaXNhYmxlQ2x1c3RlcmluZ0F0Wm9vbTogMTAsXG4vLyAgIHJlbW92ZU91dHNpZGVWaXNpYmxlQm91bmRzOiBmYWxzZSxcbi8vICAgY2h1bmtlZExvYWRpbmc6IHRydWUsXG4vLyAgIGljb25DcmVhdGVGdW5jdGlvbjogKGNsdXN0ZXIpID0+IHtcbi8vICAgICByZXR1cm4gbmV3IEwuRGl2SWNvbih7XG4vLyAgICAgICBodG1sOiBgPGRpdj48c3Bhbj4ke2NsdXN0ZXIuX2NoaWxkQ291bnR9PC9zcGFuPjwvZGl2PlxuLy8gICAgICAgICAgICAgIDxkaXYgY2xhc3M9J21hcmtlci1jbHVzdGVyLW5hbWUnPiR7aTE4bi50KCdpbmR1c3RyaWVzJyl9PC9kaXY+YCxcbi8vICAgICAgIGNsYXNzTmFtZTogJ21hcmtlci1jbHVzdGVyJyxcbi8vICAgICAgIGljb25TaXplOiBuZXcgTC5Qb2ludCg0MCwgNDApLFxuLy8gICAgIH0pO1xuLy8gICB9LFxuLy8gfTtcblxuZXhwb3J0IGNvbnN0IHpvb21MZXZlbHMgPSB7XG4gIDE6ICdYTGFyZ2UnLFxuICAyOiAnWExhcmdlJyxcbiAgMzogJ1hMYXJnZScsXG4gIDQ6ICdYTGFyZ2UnLFxuICA1OiAnWExhcmdlJyxcbiAgNjogJ1hMYXJnZScsXG4gIDc6ICdMYXJnZScsXG4gIDg6ICdMYXJnZScsXG4gIDk6ICdMYXJnZScsXG4gIDEwOiAnTGFyZ2UnLFxuICAxMTogJ01MYXJnZScsXG4gIDEyOiAnTUxhcmdlJyxcbiAgMTM6ICdNTGFyZ2UnLFxuICAxNDogJ01MYXJnZScsXG4gIDE1OiAnTWVkaXVtJyxcbiAgMTY6ICdNZWRpdW0nLFxuICAxNzogJ1NtYWxsJyxcbiAgMTg6ICdTbWFsbCcsXG59O1xuXG4vLyBleHBvcnQgY29uc3QgZmlsdGVyUG9pbnRzID0gKHBvaW50cywgaGFzRGV2aWNlKSA9PlxuLy8gICBwb2ludHMuZmlsdGVyKChwb2ludCkgPT4gcG9pbnQuaGFzX2RldmljZSA9PT0gaGFzRGV2aWNlKTtcblxuLy8gVXRpbGl0eSBmdW5jdGlvbiBmb3IgZmlsdGVyaW5nIHBvaW50cyBiYXNlZCBvbiBvcHRpb25zXG5leHBvcnQgY29uc3QgZmlsdGVyUG9pbnRzID0gKFxuICBwb2ludHM6IElQb2ludFtdID0gW10sXG4gIHtcbiAgICBvbmx5TW9uaXRvcmVkLFxuICAgIHdpdGhTYW1wbGVyLFxuICB9OiB7IG9ubHlNb25pdG9yZWQ/OiBib29sZWFuOyB3aXRoU2FtcGxlcj86IGJvb2xlYW4gfSA9IHt9LFxuKTogSVBvaW50W10gPT4ge1xuICByZXR1cm4gcG9pbnRzLmZpbHRlcigocG9pbnQpID0+IHtcbiAgICBpZiAob25seU1vbml0b3JlZCA9PT0gdHJ1ZSAmJiAhcG9pbnQuaGFzX2RldmljZSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmIChvbmx5TW9uaXRvcmVkID09PSBmYWxzZSAmJiBwb2ludC5oYXNfZGV2aWNlKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHdpdGhTYW1wbGVyID09PSB0cnVlICYmICFwb2ludC5oYXNfc2FtcGxlcikgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh3aXRoU2FtcGxlciA9PT0gZmFsc2UgJiYgcG9pbnQuaGFzX3NhbXBsZXIpIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZmluZFBvaW50ID0gKHBvaW50cywgcG9pbnRJZCwgaGFzRGV2aWNlQ2hlY2spID0+XG4gIHBvaW50cy5maW5kKChwb2ludCkgPT4gcG9pbnQuaWQgPT09IHBvaW50SWQgJiYgaGFzRGV2aWNlQ2hlY2socG9pbnQpKTtcblxuZXhwb3J0IGNvbnN0IGZpbHRlckVkZ2VzID0gKGVkZ2VzLCBwb2ludHMsIGlzTW9uaXRvcmVkKSA9PlxuICBlZGdlcy5maWx0ZXIoKGVkZ2UpID0+IHtcbiAgICBjb25zdCBzb3VyY2VQb2ludCA9IGZpbmRQb2ludChwb2ludHMsIGVkZ2Uuc291cmNlX3BvaW50X2lkLCAocG9pbnQpID0+XG4gICAgICBpc01vbml0b3JlZFxuICAgICAgICA/IHBvaW50Lmhhc19kZXZpY2UgfHwgZWRnZS5kZXNjZW5kYW50c19oYXNfZGV2aWNlXG4gICAgICAgIDogIXBvaW50LmRlc2NlbmRhbnRzX2hhc19kZXZpY2UsXG4gICAgKTtcblxuICAgIGNvbnN0IHBhcmVudFBvaW50ID0gZmluZFBvaW50KHBvaW50cywgZWRnZS50YXJnZXRfcG9pbnRfaWQsIChwb2ludCkgPT5cbiAgICAgIGlzTW9uaXRvcmVkXG4gICAgICAgID8gZWRnZS5kZXNjZW5kYW50c19oYXNfZGV2aWNlIHx8IHNvdXJjZVBvaW50ICE9PSB1bmRlZmluZWRcbiAgICAgICAgOiAhcG9pbnQuZGVzY2VuZGFudHNfaGFzX2RldmljZSxcbiAgICApO1xuXG4gICAgcmV0dXJuIHNvdXJjZVBvaW50ICYmIHBhcmVudFBvaW50O1xuICB9KTtcblxuZXhwb3J0IGNvbnN0IHNldHVwQ2hlY2tib3hMaXN0ZW5lciA9IChzZWxlY3Rvciwgb25DaGFuZ2UpID0+IHtcbiAgY29uc3QgY2hlY2tib3ggPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKTtcbiAgaWYgKGNoZWNrYm94ID09PSBudWxsKSByZXR1cm47XG4gIGNoZWNrYm94LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsICgpID0+IG9uQ2hhbmdlKGNoZWNrYm94LmNoZWNrZWQpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBtYXBHZXRMYXllckJ5SWQgPSAobWFwLCBpZCkgPT4ge1xuICBsZXQgcmV0VmFsdWUgPSBudWxsO1xuXG4gIG1hcD8uZWFjaExheWVyKChsYXllcikgPT4ge1xuICAgIGlmIChsYXllcj8ua2FuZG9fb2JqZWN0X2lkID09PSBpZCkge1xuICAgICAgcmV0VmFsdWUgPSBsYXllcjtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gcmV0VmFsdWU7XG59O1xuXG5leHBvcnQgY29uc3QgbWFwWm9vbUxheWVyID0gKG1hcCwgbGF5ZXIsIHpvb21MZXZlbCA9IDE0KSA9PiB7XG4gIGlmIChtYXAgJiYgbGF5ZXIpIHtcbiAgICBpZiAobGF5ZXIgaW5zdGFuY2VvZiBMLk1hcmtlcikge1xuICAgICAgbWFwLnNldFZpZXcobGF5ZXIuZ2V0TGF0TG5nKCksIHpvb21MZXZlbCk7XG4gICAgfSBlbHNlIGlmIChsYXllciBpbnN0YW5jZW9mIEwuUG9seWdvbikge1xuICAgICAgbWFwLmZpdEJvdW5kcyhsYXllci5nZXRCb3VuZHMoKSwgeyBwYWRkaW5nOiBbMCwgMF0gfSk7XG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgY29uc3QgbWFwQ2xpY2tMYXllciA9IChtYXAsIGxheWVyKSA9PiB7XG4gIGlmIChtYXAgJiYgbGF5ZXIgJiYgbGF5ZXIuaXNQb3B1cE9wZW4oKSA9PT0gZmFsc2UpIHtcbiAgICBpZiAobGF5ZXIgaW5zdGFuY2VvZiBMLk1hcmtlcikge1xuICAgICAgbGF5ZXIuZmlyZSgnbW91c2VvdmVyJyk7XG4gICAgICBsYXllci5maXJlKCdjbGljaycpO1xuICAgIH0gZWxzZSBpZiAobGF5ZXIgaW5zdGFuY2VvZiBMLlBvbHlnb24pIHtcbiAgICAgIGxheWVyLmZpcmUoJ21vdXNlb3ZlcicpO1xuICAgICAgbGF5ZXIuZmlyZSgnY2xpY2stZXZlbnQnKTtcbiAgICB9XG4gIH1cbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsUUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsUUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsS0FBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUcsbUJBQUEsR0FBQUgsT0FBQTtBQUdPLElBQU1JLGNBQWMsR0FBRyxTQUFqQkEsY0FBY0EsQ0FBSUMsTUFBTSxFQUFFQyxXQUFXLEVBQUVDLGNBQWMsRUFBSztFQUNyRSxJQUFJQyxXQUFnQixHQUFHSCxNQUFNLENBQUNJLE9BQU87RUFDckMsSUFBSUgsV0FBVyxDQUFDQyxjQUFjLENBQUMsRUFBRTtJQUMvQkMsV0FBVyxDQUFDRSxTQUFTLENBQUNILGNBQWMsRUFBRTtNQUFFSSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUFFLENBQUMsQ0FBQztFQUM1RCxDQUFDLE1BQU07SUFDTCxJQUFNQyxLQUFZLEdBQUcsRUFBRTtJQUV2QixLQUFLLElBQU1DLFFBQVEsSUFBSUwsV0FBVyxDQUFDTSxPQUFPLEVBQUU7TUFDMUMsSUFDRU4sV0FBVyxDQUFDTSxPQUFPLENBQUNELFFBQVEsQ0FBQyxDQUFDRSxZQUFZLEtBQUssTUFBTSxJQUNyRFAsV0FBVyxDQUFDTSxPQUFPLENBQUNELFFBQVEsQ0FBQyxDQUFDRSxZQUFZLEtBQUssT0FBTyxFQUN0RDtRQUNBSCxLQUFLLENBQUNJLElBQUksQ0FBQ1IsV0FBVyxDQUFDTSxPQUFPLENBQUNELFFBQVEsQ0FBQyxDQUFDO01BQzNDO0lBQ0Y7SUFFQSxJQUFJSSxNQUFNLENBQUNDLElBQUksQ0FBQ0MsZ0JBQUMsQ0FBQ0MsWUFBWSxDQUFDUixLQUFLLENBQUMsQ0FBQ1MsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDQyxNQUFNLEtBQUssQ0FBQyxFQUFFO01BQy9EZCxXQUFXLENBQUNFLFNBQVMsQ0FBQ1MsZ0JBQUMsQ0FBQ0MsWUFBWSxDQUFDUixLQUFLLENBQUMsQ0FBQ1MsU0FBUyxDQUFDLENBQUMsRUFBRTtRQUN2RFYsT0FBTyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUc7TUFDcEIsQ0FBQyxDQUFDO0lBQ0o7RUFDRjtFQUNBO0FBQ0YsQ0FBQztBQUFDWSxPQUFBLENBQUFuQixjQUFBLEdBQUFBLGNBQUE7QUFFSyxJQUFNRSxXQUFXLEdBQUcsU0FBZEEsV0FBV0EsQ0FBSWtCLElBQUksRUFBSztFQUNuQyxPQUFPQSxJQUFJLElBQUlBLElBQUksQ0FBQ0YsTUFBTSxHQUFHLENBQUMsSUFBSUwsTUFBTSxDQUFDQyxJQUFJLENBQUNNLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDRixNQUFNLEdBQUcsQ0FBQztBQUNuRSxDQUFDO0FBQUNDLE9BQUEsQ0FBQWpCLFdBQUEsR0FBQUEsV0FBQTtBQUVLLElBQU1tQixvQkFBb0IsR0FBRyxTQUF2QkEsb0JBQW9CQSxDQUFJQyxXQUFXLEVBQUVyQixNQUFNLEVBQUVzQixNQUFNLEVBQUVDLEtBQUssRUFBSztFQUMxRSxPQUNFRixXQUFXLENBQUNHLEdBQUcsS0FBS0MsU0FBUyxJQUM3QnpCLE1BQU0sQ0FBQ0ksT0FBTyxLQUFLLElBQUksSUFDdkJtQixLQUFLLEtBQUtFLFNBQVMsSUFDbkJILE1BQU0sS0FBS0csU0FBUztBQUV4QixDQUFDO0FBQUNQLE9BQUEsQ0FBQUUsb0JBQUEsR0FBQUEsb0JBQUE7QUFFSyxJQUFNTSw0QkFBNEIsR0FBRyxTQUEvQkEsNEJBQTRCQSxDQUN2Q0gsS0FBSyxFQUNMSSxLQUFLLEVBQ0xDLE1BQU0sRUFDTjVCLE1BQU0sRUFDTnNCLE1BQU0sRUFDSDtFQUNILE9BQ0VNLE1BQU0sQ0FBQ0osR0FBRyxLQUFLQyxTQUFTLElBQ3hCekIsTUFBTSxDQUFDSSxPQUFPLEtBQUssSUFBSSxJQUN2Qm1CLEtBQUssQ0FBQ04sTUFBTSxJQUFJLENBQUMsSUFDakJVLEtBQUssQ0FBQ1YsTUFBTSxJQUFJLENBQUMsSUFDakJLLE1BQU0sQ0FBQ0wsTUFBTSxJQUFJLENBQUM7QUFFdEIsQ0FBQztBQUFDQyxPQUFBLENBQUFRLDRCQUFBLEdBQUFBLDRCQUFBO0FBRUssSUFBTUcseUJBQXlCLEdBQUcsU0FBNUJBLHlCQUF5QkEsQ0FDcENDLFlBQXNCLEVBQ3RCQyxZQUFZLEVBQ1Q7RUFDSCxPQUNFRCxZQUFZLENBQUNFLFFBQVEsQ0FBQ0QsWUFBWSxDQUFDckIsWUFBWSxDQUFDLElBQ2hEcUIsWUFBWSxDQUFDRSxnQkFBZ0IsS0FBSyxTQUFTO0FBRS9DLENBQUM7QUFBQ2YsT0FBQSxDQUFBVyx5QkFBQSxHQUFBQSx5QkFBQTtBQUVLLElBQU1LLGtCQUFrQixHQUFHLFNBQXJCQSxrQkFBa0JBLENBQUlDLEtBQUssRUFBRUMsU0FBUyxFQUFLO0VBQ3RELElBQUlDLElBQUksR0FBR0YsS0FBSyxDQUFDRyxPQUFPLENBQUNELElBQUk7RUFDN0JBLElBQUksQ0FBQ0MsT0FBTyxDQUFDQyxRQUFRLEdBQUdDLGVBQWUsQ0FBQ0osU0FBUyxDQUFDLENBQUNHLFFBQVE7RUFDM0RGLElBQUksQ0FBQ0MsT0FBTyxDQUFDRyxVQUFVLEdBQUdELGVBQWUsQ0FBQ0osU0FBUyxDQUFDLENBQUNLLFVBQVU7RUFDL0ROLEtBQUssQ0FBQ08sT0FBTyxDQUFDTCxJQUFJLENBQUM7RUFDbkJGLEtBQUssQ0FBQ1EsVUFBVSxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDO0FBQUN6QixPQUFBLENBQUFnQixrQkFBQSxHQUFBQSxrQkFBQTtBQUVLLElBQU1VLG9CQUFvQixHQUFHLFNBQXZCQSxvQkFBb0JBLENBQUlULEtBQUssRUFBRUMsU0FBUyxFQUFLO0VBQ3hELElBQUlDLElBQUksR0FBR0YsS0FBSyxDQUFDRyxPQUFPLENBQUNELElBQUk7RUFDN0IsSUFBSVEsZUFBZSxHQUFHVixLQUFLLENBQUNXLG9CQUFvQjtFQUNoRCxJQUFJQyxRQUFRLEdBQUc7SUFDYkMsT0FBTyxFQUFFYixLQUFLLENBQUNjLGVBQWUsSUFBSWQsS0FBSyxDQUFDZSxXQUFXO0lBQ25EQyxTQUFTLEVBQUVoQixLQUFLLENBQUNjLGVBQWU7SUFDaENHLEtBQUssRUFBRWpCLEtBQUssQ0FBQ2U7RUFDZixDQUFDO0VBRUQsSUFBSWYsS0FBSyxDQUFDa0Isa0JBQWtCLEtBQUssQ0FBQyxFQUFFO0lBQ2xDLElBQUlSLGVBQWUsRUFBRTtNQUNuQlIsSUFBSSxDQUFDQyxPQUFPLENBQUNDLFFBQVEsR0FBR2UsaUJBQWlCLENBQUNsQixTQUFTLEVBQUVXLFFBQVEsQ0FBQyxDQUFDUixRQUFRO01BQ3ZFRixJQUFJLENBQUNDLE9BQU8sQ0FBQ0csVUFBVSxHQUFHYSxpQkFBaUIsQ0FDekNsQixTQUFTLEVBQ1RXLFFBQ0YsQ0FBQyxDQUFDTixVQUFVO0lBQ2QsQ0FBQyxNQUFNO01BQ0xKLElBQUksQ0FBQ0MsT0FBTyxDQUFDQyxRQUFRLEdBQUdnQixtQkFBbUIsQ0FBQ25CLFNBQVMsQ0FBQyxDQUFDRyxRQUFRO01BQy9ERixJQUFJLENBQUNDLE9BQU8sQ0FBQ0csVUFBVSxHQUFHYyxtQkFBbUIsQ0FBQ25CLFNBQVMsQ0FBQyxDQUFDSyxVQUFVO0lBQ3JFO0VBQ0YsQ0FBQyxNQUFNO0lBQ0wsSUFBSU4sS0FBSyxDQUFDa0Isa0JBQWtCLEtBQUssQ0FBQyxFQUFFO01BQ2xDaEIsSUFBSSxDQUFDQyxPQUFPLENBQUNDLFFBQVEsR0FBR2lCLGlCQUFpQixDQUFDcEIsU0FBUyxFQUFFVyxRQUFRLENBQUMsQ0FBQ1IsUUFBUTtNQUN2RUYsSUFBSSxDQUFDQyxPQUFPLENBQUNHLFVBQVUsR0FBR2UsaUJBQWlCLENBQ3pDcEIsU0FBUyxFQUNUVyxRQUNGLENBQUMsQ0FBQ04sVUFBVTtJQUNkLENBQUMsTUFBTTtNQUNMSixJQUFJLENBQUNDLE9BQU8sQ0FBQ0MsUUFBUSxHQUFHa0IsY0FBYyxDQUFDckIsU0FBUyxFQUFFVyxRQUFRLENBQUMsQ0FBQ1IsUUFBUTtNQUNwRUYsSUFBSSxDQUFDQyxPQUFPLENBQUNHLFVBQVUsR0FBR2dCLGNBQWMsQ0FBQ3JCLFNBQVMsRUFBRVcsUUFBUSxDQUFDLENBQUNOLFVBQVU7SUFDMUU7RUFDRjtFQUVBTixLQUFLLENBQUNPLE9BQU8sQ0FBQ0wsSUFBSSxDQUFDO0FBQ3JCLENBQUM7QUFBQ25CLE9BQUEsQ0FBQTBCLG9CQUFBLEdBQUFBLG9CQUFBO0FBRUYsSUFBTVcsbUJBQW1CLEdBQUcsU0FBdEJBLG1CQUFtQkEsQ0FBSW5CLFNBQVMsRUFBSztFQUN6QyxPQUFPO0lBQ0xHLFFBQVEsRUFBRSxDQUFDSCxTQUFTLEdBQUcsR0FBRyxFQUFFQSxTQUFTLEdBQUcsR0FBRyxDQUFlO0lBQzFESyxVQUFVLEVBQUUsQ0FBQ0wsU0FBUyxHQUFHLEdBQUcsRUFBRUEsU0FBUyxHQUFHLEdBQUc7RUFDL0MsQ0FBQztBQUNILENBQUM7QUFFTSxJQUFNSSxlQUFlLEdBQUcsU0FBbEJBLGVBQWVBLENBQUlKLFNBQVMsRUFBSztFQUM1QyxPQUFPO0lBQ0xHLFFBQVEsRUFBRSxDQUFDSCxTQUFTLEdBQUcsR0FBRyxFQUFFQSxTQUFTLEdBQUcsR0FBRyxDQUFlO0lBQzFESyxVQUFVLEVBQUUsQ0FBQ0wsU0FBUyxHQUFHLENBQUMsRUFBRUEsU0FBUyxHQUFHLENBQUM7RUFDM0MsQ0FBQztBQUNILENBQUM7QUFBQ2xCLE9BQUEsQ0FBQXNCLGVBQUEsR0FBQUEsZUFBQTtBQUVLLElBQU1jLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBaUJBLENBQUlsQixTQUFTLEVBQUVXLFFBQVEsRUFBSztFQUN4RCxJQUFJQSxRQUFRLENBQUNDLE9BQU8sRUFBRTtJQUNwQixJQUFJRCxRQUFRLENBQUNJLFNBQVMsRUFBRTtNQUN0QixPQUFPO1FBQ0xaLFFBQVEsRUFBRSxDQUFDSCxTQUFTLEdBQUcsSUFBSSxFQUFFQSxTQUFTLEdBQUcsR0FBRyxDQUFlO1FBQzNESyxVQUFVLEVBQUUsQ0FBQ0wsU0FBUyxHQUFHLENBQUMsRUFBRUEsU0FBUyxHQUFHLENBQUM7TUFDM0MsQ0FBQztJQUNILENBQUMsTUFBTTtNQUNMLE9BQU87UUFDTEcsUUFBUSxFQUFFLENBQUNILFNBQVMsR0FBRyxJQUFJLEVBQUVBLFNBQVMsR0FBRyxHQUFHLENBQWU7UUFDM0RLLFVBQVUsRUFBRSxDQUFDTCxTQUFTLEdBQUcsQ0FBQyxFQUFFQSxTQUFTLEdBQUcsQ0FBQztNQUMzQyxDQUFDO0lBQ0g7RUFDRixDQUFDLE1BQU07SUFDTCxPQUFPO01BQ0xHLFFBQVEsRUFBRSxDQUFDSCxTQUFTLEdBQUcsSUFBSSxFQUFFQSxTQUFTLEdBQUcsR0FBRyxDQUFlO01BQzNESyxVQUFVLEVBQUUsQ0FBQ0wsU0FBUyxHQUFHLENBQUMsRUFBRUEsU0FBUyxHQUFHLENBQUM7SUFDM0MsQ0FBQztFQUNIO0FBQ0YsQ0FBQztBQUFDbEIsT0FBQSxDQUFBb0MsaUJBQUEsR0FBQUEsaUJBQUE7QUFFSyxJQUFNRSxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQWlCQSxDQUFJcEIsU0FBUyxFQUFFVyxRQUFRLEVBQUs7RUFDeEQsSUFBSUEsUUFBUSxDQUFDQyxPQUFPLEVBQUU7SUFDcEIsSUFBSUQsUUFBUSxDQUFDSSxTQUFTLEVBQUU7TUFDdEIsT0FBTztRQUNMWixRQUFRLEVBQUUsQ0FBQ0gsU0FBUyxHQUFHLEdBQUcsRUFBRUEsU0FBUyxHQUFHLEdBQUcsQ0FBQztRQUM1Q0ssVUFBVSxFQUFFLENBQUNMLFNBQVMsR0FBRyxDQUFDLElBQUksRUFBRUEsU0FBUyxHQUFHLEdBQUc7TUFDakQsQ0FBQztJQUNILENBQUMsTUFBTTtNQUNMLE9BQU87UUFDTEcsUUFBUSxFQUFFLENBQUNILFNBQVMsR0FBRyxHQUFHLEVBQUVBLFNBQVMsR0FBRyxHQUFHLENBQUM7UUFDNUNLLFVBQVUsRUFBRSxDQUFDTCxTQUFTLEdBQUcsQ0FBQyxJQUFJLEVBQUVBLFNBQVMsR0FBRyxHQUFHO01BQ2pELENBQUM7SUFDSDtFQUNGLENBQUMsTUFBTTtJQUNMLE9BQU87TUFDTEcsUUFBUSxFQUFFLENBQUNILFNBQVMsR0FBRyxHQUFHLEVBQUVBLFNBQVMsR0FBRyxHQUFHLENBQUM7TUFDNUNLLFVBQVUsRUFBRSxDQUFDTCxTQUFTLEdBQUcsS0FBSyxFQUFFQSxTQUFTLEdBQUcsSUFBSTtJQUNsRCxDQUFDO0VBQ0g7QUFDRixDQUFDO0FBQUNsQixPQUFBLENBQUFzQyxpQkFBQSxHQUFBQSxpQkFBQTtBQUVLLElBQU1DLGNBQWMsR0FBRyxTQUFqQkEsY0FBY0EsQ0FBSXJCLFNBQVMsRUFBRVcsUUFBUSxFQUFLO0VBQ3JELElBQUlBLFFBQVEsQ0FBQ0MsT0FBTyxFQUFFO0lBQ3BCLElBQUlELFFBQVEsQ0FBQ0ksU0FBUyxFQUFFO01BQ3RCLE9BQU87UUFDTFosUUFBUSxFQUFFLENBQUNILFNBQVMsR0FBRyxHQUFHLEVBQUVBLFNBQVMsR0FBRyxHQUFHLENBQUM7UUFDNUNLLFVBQVUsRUFBRSxDQUFDTCxTQUFTLEdBQUcsQ0FBQyxHQUFHLEVBQUVBLFNBQVMsR0FBRyxHQUFHO01BQ2hELENBQUM7SUFDSCxDQUFDLE1BQU07TUFDTCxPQUFPO1FBQ0xHLFFBQVEsRUFBRSxDQUFDSCxTQUFTLEdBQUcsR0FBRyxFQUFFQSxTQUFTLEdBQUcsR0FBRyxDQUFDO1FBQzVDSyxVQUFVLEVBQUUsQ0FBQ0wsU0FBUyxHQUFHLENBQUMsR0FBRyxFQUFFQSxTQUFTLEdBQUcsR0FBRztNQUNoRCxDQUFDO0lBQ0g7RUFDRixDQUFDLE1BQU07SUFDTCxPQUFPO01BQ0xHLFFBQVEsRUFBRSxDQUFDSCxTQUFTLEdBQUcsR0FBRyxFQUFFQSxTQUFTLEdBQUcsR0FBRyxDQUFDO01BQzVDSyxVQUFVLEVBQUUsQ0FBQ0wsU0FBUyxHQUFHLENBQUMsRUFBRUEsU0FBUyxHQUFHLEdBQUc7SUFDN0MsQ0FBQztFQUNIO0FBQ0YsQ0FBQztBQUFDbEIsT0FBQSxDQUFBdUMsY0FBQSxHQUFBQSxjQUFBO0FBRUssSUFBTUMsZUFBZSxHQUFHLFNBQWxCQSxlQUFlQSxDQUFJbEMsR0FBRyxFQUFLO0VBQ3RDLElBQUltQyxNQUFNLEdBQUduQyxHQUFHLENBQUNmLE9BQU87RUFDeEIsSUFBSTJCLFNBQVMsR0FBR1osR0FBRyxDQUFDb0MsS0FBSztFQUV6QixLQUFLLElBQU1wRCxRQUFRLElBQUltRCxNQUFNLEVBQUU7SUFDN0IsSUFBSTlCLHlCQUF5QixDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUU4QixNQUFNLENBQUNuRCxRQUFRLENBQUMsQ0FBQyxFQUFFO01BQy9EMEIsa0JBQWtCLENBQUN5QixNQUFNLENBQUNuRCxRQUFRLENBQUMsRUFBRTRCLFNBQVMsQ0FBQztJQUNqRDtJQUVBLElBQUlQLHlCQUF5QixDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxFQUFFOEIsTUFBTSxDQUFDbkQsUUFBUSxDQUFDLENBQUMsRUFBRTtNQUNsRW9DLG9CQUFvQixDQUFDZSxNQUFNLENBQUNuRCxRQUFRLENBQUMsRUFBRTRCLFNBQVMsQ0FBQztJQUNuRDtJQUVBLElBQ0VQLHlCQUF5QixDQUFDLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQyxFQUFFOEIsTUFBTSxDQUFDbkQsUUFBUSxDQUFDLENBQUMsRUFDeEU7TUFDQW9DLG9CQUFvQixDQUFDZSxNQUFNLENBQUNuRCxRQUFRLENBQUMsRUFBRTRCLFNBQVMsQ0FBQztJQUNuRDtFQUNGO0FBQ0YsQ0FBQztBQUFDbEIsT0FBQSxDQUFBd0MsZUFBQSxHQUFBQSxlQUFBO0FBRUssSUFBTUcsUUFBUSxHQUFHLFNBQVhBLFFBQVFBLENBQUlDLFdBQVcsRUFBSztFQUN2QyxPQUFPaEQsZ0JBQUMsQ0FBQ2lELFNBQVMsaURBQUFDLE1BQUEsQ0FDZ0NGLFdBQVcsNElBQzNEO0lBQ0VHLFdBQVcsRUFDVCx5TkFBeU47SUFDM05DLE9BQU8sRUFBRSxFQUFFO0lBQ1hDLE9BQU8sRUFBRSxDQUFDO0lBQ1ZDLEVBQUUsRUFBRSxvQkFBb0I7SUFDeEJDLFFBQVEsRUFBRSxHQUFHO0lBQ2JDLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDZEMsaUJBQWlCLEVBQUUsS0FBSztJQUN4QkMsY0FBYyxFQUFFO0VBQ2xCLENBQ0YsQ0FBQztBQUNILENBQUM7QUFBQ3RELE9BQUEsQ0FBQTJDLFFBQUEsR0FBQUEsUUFBQTtBQUVLLElBQU1ZLFFBQVEsR0FBRyxTQUFYQSxRQUFRQSxDQUFJWCxXQUFXLEVBQUVZLG9CQUFvQixFQUFLO0VBQUEsSUFBQUMsSUFBQTtFQUM3RCxJQUFJQyxVQUFVLEdBQUdDLGFBQUksQ0FBQ0MsQ0FBQyxDQUFDLG9CQUFvQixDQUFDO0VBQzdDLElBQUlDLFNBQVMsR0FBR0YsYUFBSSxDQUFDQyxDQUFDLENBQUMsc0JBQXNCLENBQUM7RUFDOUMsT0FBQUgsSUFBQSxXQUFBSyxnQkFBQSxDQUFBQyxPQUFBLEVBQUFOLElBQUEsRUFDR0MsVUFBVSxFQUFHZixRQUFRLENBQUNDLFdBQVcsQ0FBQyxPQUFBa0IsZ0JBQUEsQ0FBQUMsT0FBQSxFQUFBTixJQUFBLEVBQ2xDSSxTQUFTLEVBQUdsQixRQUFRLENBQUNhLG9CQUFvQixDQUFDLEdBQUFDLElBQUE7QUFFL0MsQ0FBQztBQUFDekQsT0FBQSxDQUFBdUQsUUFBQSxHQUFBQSxRQUFBO0FBRUssSUFBTVMscUJBQXFCLEdBQUcsU0FBeEJBLHFCQUFxQkEsQ0FBSUMsT0FBTyxFQUFFM0QsR0FBRyxFQUFLO0VBQ3JEQSxHQUFHLENBQUM0RCxTQUFTLENBQUMsVUFBQ2pELEtBQUssRUFBSztJQUN2QixJQUNHQSxLQUFLLFlBQVlyQixnQkFBQyxDQUFDdUUsUUFBUSxJQUFJbEQsS0FBSyxDQUFDekIsWUFBWSxLQUFLLE1BQU0sSUFDN0R5QixLQUFLLFlBQVlyQixnQkFBQyxDQUFDd0UsTUFBTSxDQUFDQyxTQUFTLEVBQ25DO01BQ0FwRCxLQUFLLENBQUNxRCxRQUFRLENBQUM7UUFBRUMsT0FBTyxFQUFFTixPQUFPLEdBQUcsQ0FBQyxHQUFHO01BQUUsQ0FBQyxDQUFDO0lBQzlDO0VBQ0YsQ0FBQyxDQUFDO0FBQ0osQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQUFqRSxPQUFBLENBQUFnRSxxQkFBQSxHQUFBQSxxQkFBQTtBQUVPLElBQU1RLGtCQUFrQixHQUFHLFNBQXJCQSxrQkFBa0JBLENBQUlDLFNBQVMsRUFBRW5FLEdBQUcsRUFBSztFQUNwRCxJQUFJb0UsUUFBUSxHQUFHQyxRQUFRLENBQUNDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQztFQUN4RCxJQUFJRixRQUFRLElBQUksSUFBSSxFQUFFO0VBQ3RCQSxRQUFRLENBQUNHLE9BQU8sR0FBR0osU0FBUztBQUM5QixDQUFDO0FBQUN6RSxPQUFBLENBQUF3RSxrQkFBQSxHQUFBQSxrQkFBQTtBQUVGLElBQU1NLGNBQWMsR0FBRyxTQUFqQkEsY0FBY0EsQ0FBSXhFLEdBQUcsRUFBSztFQUM5QixPQUFPLENBQ0w7SUFDRXlFLEtBQUssRUFBRXBCLGFBQUksQ0FBQ0MsQ0FBQyxDQUFDLDBCQUEwQixDQUFDO0lBQ3pDVixFQUFFLEVBQUUsZ0JBQWdCO0lBQ3BCOEIsU0FBUyxFQUFFLFVBQVU7SUFDckJDLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQztJQUNoQkMsUUFBUSxFQUFFLFNBQUFBLFNBQUNDLFNBQVM7TUFBQSxPQUFLbkIscUJBQXFCLENBQUNtQixTQUFTLEVBQUU3RSxHQUFHLENBQUM7SUFBQTtFQUNoRSxDQUFDLEVBRUQ7SUFDRXlFLEtBQUssRUFBRSw0QkFBNEI7SUFDbkM3QixFQUFFLEVBQUUsMkJBQTJCO0lBQy9COEIsU0FBUyxFQUFFLFVBQVU7SUFDckJFLFFBQVEsRUFBRSxTQUFBQSxTQUFDQyxTQUFTO01BQUEsT0FBSyxZQUFNLENBQUMsQ0FBQztJQUFBO0VBQ25DLENBQUMsRUFFRDtJQUNFSixLQUFLLEVBQUUsZUFBZTtJQUN0QjdCLEVBQUUsRUFBRSx3Q0FBd0M7SUFDNUM4QixTQUFTLEVBQUUsVUFBVTtJQUNyQkUsUUFBUSxFQUFFLFNBQUFBLFNBQUNDLFNBQVM7TUFBQSxPQUFLLFlBQU0sQ0FBQyxDQUFDO0lBQUE7RUFDbkM7O0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUEsQ0FDRDtBQUNILENBQUM7O0FBRUQsSUFBTUMsc0NBQXNDLEdBQUcsU0FBekNBLHNDQUFzQ0EsQ0FDMUNDLGlCQUFpQixFQUNqQkMsZUFBZSxFQUNaO0VBQ0gxRixnQkFBQyxDQUFDMkYsUUFBUSxDQUFDQyxFQUFFLENBQUNILGlCQUFpQixFQUFFLFdBQVcsRUFBRSxZQUFZO0lBQ3hEQyxlQUFlLENBQUNHLEtBQUssQ0FBQ0MsT0FBTyxHQUFHLE9BQU87RUFDekMsQ0FBQyxDQUFDO0VBRUY5RixnQkFBQyxDQUFDMkYsUUFBUSxDQUFDQyxFQUFFLENBQUNILGlCQUFpQixFQUFFLFVBQVUsRUFBRSxZQUFZO0lBQ3ZEQyxlQUFlLENBQUNHLEtBQUssQ0FBQ0MsT0FBTyxHQUFHLE1BQU07RUFDeEMsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELElBQU1DLG1CQUFtQixHQUFHLFNBQXRCQSxtQkFBbUJBLENBQUlDLE9BQU8sRUFBRUMsU0FBUyxFQUFLO0VBQ2xELElBQUlDLGdCQUFnQixHQUFHbkIsUUFBUSxDQUFDb0IsYUFBYSxDQUFDLEtBQUssQ0FBQztFQUNwREQsZ0JBQWdCLENBQUNFLFNBQVMsR0FBRyxpQ0FBaUM7RUFDOURGLGdCQUFnQixDQUFDRyxTQUFTLDZDQUFBbkQsTUFBQSxDQUVMOEMsT0FBTyxDQUFDWixTQUFTLGNBQUFsQyxNQUFBLENBQVM4QyxPQUFPLENBQUMxQyxFQUFFLFlBQUFKLE1BQUEsQ0FBUThDLE9BQU8sQ0FBQ2IsS0FBSywyQkFFM0U7RUFFSGUsZ0JBQWdCLENBQ2JsQixhQUFhLEtBQUE5QixNQUFBLENBQUs4QyxPQUFPLENBQUMxQyxFQUFFLENBQUUsQ0FBQyxDQUMvQmdELGdCQUFnQixDQUFDLFFBQVEsRUFBRSxVQUFVQyxDQUFDLEVBQUU7SUFDdkMsSUFBTWhCLFNBQVMsR0FBR2dCLENBQUMsQ0FBQ0MsTUFBTSxDQUFDdkIsT0FBTztJQUNsQ2UsT0FBTyxDQUFDVixRQUFRLENBQUNDLFNBQVMsQ0FBQztFQUM3QixDQUFDLENBQUM7RUFFSlcsZ0JBQWdCLENBQUNMLEtBQUssQ0FBQ0MsT0FBTyxHQUFHLE1BQU07RUFDdkNHLFNBQVMsYUFBVEEsU0FBUyx1QkFBVEEsU0FBUyxDQUFFUSxXQUFXLENBQUNQLGdCQUFnQixDQUFDO0VBRXhDVixzQ0FBc0MsQ0FBQ1MsU0FBUyxFQUFFQyxnQkFBZ0IsQ0FBQztBQUNyRSxDQUFDO0FBRU0sSUFBTVEsK0JBQStCLEdBQUcsU0FBbENBLCtCQUErQkEsQ0FDMUNoRyxHQUFHLEVBQ0hpRyxRQUFRLEVBSUw7RUFBQSxJQUhIOUIsU0FBUyxHQUFBK0IsU0FBQSxDQUFBekcsTUFBQSxRQUFBeUcsU0FBQSxRQUFBakcsU0FBQSxHQUFBaUcsU0FBQSxNQUFHLElBQUk7RUFBQSxJQUNoQkMsSUFBSSxHQUFBRCxTQUFBLENBQUF6RyxNQUFBLE9BQUF5RyxTQUFBLE1BQUFqRyxTQUFBO0VBQUEsSUFDSm1HLGdCQUFnQixHQUFBRixTQUFBLENBQUF6RyxNQUFBLE9BQUF5RyxTQUFBLE1BQUFqRyxTQUFBO0VBRWhCLElBQUlvRyxVQUFVLEdBQUcvRyxnQkFBQyxDQUFDZ0csT0FBTyxDQUN2Qm5ELE1BQU0sQ0FBQzhELFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRTtJQUFFSyxRQUFRLEVBQUU7RUFBYyxDQUFDLENBQUMsQ0FDakRDLEtBQUssQ0FBQ3ZHLEdBQUcsQ0FBQztFQUNiLElBQUl1RixTQUFTLEdBQUdjLFVBQVUsQ0FBQ0csWUFBWSxDQUFDLENBQUM7RUFFekMsSUFBSUosZ0JBQWdCLEVBQUU7SUFDcEI1QixjQUFjLENBQUN4RSxHQUFHLENBQUMsQ0FBQ3lHLE9BQU8sQ0FBQyxVQUFDbkIsT0FBTyxFQUFLO01BQ3ZDLElBQUlBLE9BQU8sQ0FBQ1gsU0FBUyxJQUFJVyxPQUFPLENBQUNYLFNBQVMsQ0FBQ25FLFFBQVEsQ0FBQzJGLElBQUksQ0FBQyxFQUFFO01BRTNEZCxtQkFBbUIsQ0FBQ0MsT0FBTyxFQUFFQyxTQUFTLENBQUM7TUFDdkNyQixrQkFBa0IsQ0FBQ0MsU0FBUyxFQUFFbkUsR0FBRyxDQUFDO0lBQ3BDLENBQUMsQ0FBQztFQUNKO0FBQ0YsQ0FBQztBQUFDTixPQUFBLENBQUFzRywrQkFBQSxHQUFBQSwrQkFBQTtBQUVLLElBQU1VLGFBQWEsR0FBRyxTQUFoQkEsYUFBYUEsQ0FDeEJDLFlBQVksRUFDWnJFLFdBQVcsRUFDWFksb0JBQW9CLEVBQ3BCMUUsTUFBTSxFQUNOb0ksUUFBUSxFQUNSbkksV0FBVyxFQUNYQyxjQUFjLEVBQ2RtSSxlQUFlLEVBQ2ZULGdCQUFnQixFQUNoQlUsa0JBQWtCLEVBRWY7RUFBQSxJQURIWCxJQUFJLEdBQUFELFNBQUEsQ0FBQXpHLE1BQUEsU0FBQXlHLFNBQUEsU0FBQWpHLFNBQUEsR0FBQWlHLFNBQUEsT0FBRyxDQUFDO0VBRVI7RUFDQTFILE1BQU0sQ0FBQ0ksT0FBTyxHQUFHLElBQUlVLGdCQUFDLENBQUN5SCxHQUFHLENBQUMsS0FBSyxFQUFFO0lBQ2hDQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2RDLFFBQVEsRUFBRSxDQUFDO0lBQ1hDLElBQUksRUFBRVAsWUFBWTtJQUNsQlEsa0JBQWtCLEVBQUUsS0FBSztJQUN6QkMsWUFBWSxFQUFFO0VBQ2hCLENBQUMsQ0FBQztFQUVGLElBQUloQixnQkFBZ0IsRUFBRVEsUUFBUSxDQUFDLElBQUFTLDBCQUFNLEVBQUM3SSxNQUFNLENBQUNJLE9BQU8sQ0FBQyxDQUFDO0VBRXRESixNQUFNLENBQUNJLE9BQU8sQ0FBQzBJLFNBQVMsQ0FBQyxZQUFNO0lBQzdCLElBQUl0SCxHQUFHLEdBQUd4QixNQUFNLENBQUNJLE9BQU87SUFDeEIsSUFBTXFILFFBQVEsR0FBR2hELFFBQVEsQ0FBQ1gsV0FBVyxFQUFFWSxvQkFBb0IsQ0FBQztJQUU1RDhDLCtCQUErQixDQUM3QmhHLEdBQUcsRUFDSGlHLFFBQVEsRUFDUmEsa0JBQWtCLEVBQ2xCWCxJQUFJLEVBQ0pDLGdCQUNGLENBQUM7O0lBRUQ7SUFDQWhILE1BQU0sQ0FBQ21JLE1BQU0sQ0FBQ3RCLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDTSxLQUFLLENBQUN2RyxHQUFHLENBQUM7SUFFckN3SCxVQUFVLENBQUMsWUFBTTtNQUNmLElBQUksQ0FBQ2hKLE1BQU0sQ0FBQ0ksT0FBTyxFQUFFO1FBQ25CO01BQ0Y7TUFFQSxJQUFJO1FBQ0ZKLE1BQU0sQ0FBQ0ksT0FBTyxDQUFDNkksY0FBYyxDQUFDLElBQUksQ0FBQztNQUNyQyxDQUFDLENBQUMsT0FBT0MsR0FBRyxFQUFFO1FBQ1pDLE9BQU8sQ0FBQ0MsS0FBSyxDQUFDLEtBQUssRUFBRUYsR0FBRyxDQUFDO01BQzNCO01BRUFkLFFBQVEsQ0FBQyxJQUFBaUIsaUJBQVEsRUFBQ3JKLE1BQU0sQ0FBQ0ksT0FBTyxDQUFDLENBQUM7TUFDbENnSSxRQUFRLENBQUMsSUFBQWtCLHdCQUFlLEVBQUMsSUFBSSxDQUFDLENBQUM7TUFFL0I5SCxHQUFHLENBQUNrRixFQUFFLENBQUMsU0FBUyxFQUFFLFVBQUM2QyxLQUFLLEVBQUs7UUFDM0IsSUFBSUEsS0FBSyxDQUFDQyxhQUFhLENBQUNDLEdBQUcsS0FBSyxRQUFRLEVBQUU7VUFDeENqSSxHQUFHLENBQUNrSSxVQUFVLENBQUMsQ0FBQztVQUNoQjdELFFBQVEsQ0FBQzhELElBQUksQ0FBQ0MsS0FBSyxDQUFDLENBQUM7UUFDdkI7TUFDRixDQUFDLENBQUM7SUFDSixDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ0wsSUFBSTVKLE1BQU0sQ0FBQ0ksT0FBTyxJQUFJSCxXQUFXLENBQUNDLGNBQWMsQ0FBQyxFQUFFO01BQ2pERixNQUFNLENBQUNJLE9BQU8sQ0FBQ0MsU0FBUyxDQUFDSCxjQUFjLENBQUM7SUFDMUM7RUFDRixDQUFDLENBQUM7RUFFRkYsTUFBTSxDQUFDSSxPQUFPLENBQUNzRyxFQUFFLENBQUMsU0FBUyxFQUFFLFVBQVVXLENBQUMsRUFBRTtJQUN4QyxJQUFJLENBQUNySCxNQUFNLENBQUNJLE9BQU8sRUFBRTtNQUNuQjtJQUNGO0lBQ0EsSUFBSXNJLElBQUksR0FBRzFJLE1BQU0sQ0FBQ0ksT0FBTyxDQUFDeUosT0FBTyxDQUFDLENBQUM7SUFDbkN4QixlQUFlLENBQUNLLElBQUksQ0FBQztFQUN2QixDQUFDLENBQUM7QUFDSixDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQXhILE9BQUEsQ0FBQWdILGFBQUEsR0FBQUEsYUFBQTtBQUVPLElBQU00QixVQUFVLEdBQUc7RUFDeEIsQ0FBQyxFQUFFLFFBQVE7RUFDWCxDQUFDLEVBQUUsUUFBUTtFQUNYLENBQUMsRUFBRSxRQUFRO0VBQ1gsQ0FBQyxFQUFFLFFBQVE7RUFDWCxDQUFDLEVBQUUsUUFBUTtFQUNYLENBQUMsRUFBRSxRQUFRO0VBQ1gsQ0FBQyxFQUFFLE9BQU87RUFDVixDQUFDLEVBQUUsT0FBTztFQUNWLENBQUMsRUFBRSxPQUFPO0VBQ1YsRUFBRSxFQUFFLE9BQU87RUFDWCxFQUFFLEVBQUUsUUFBUTtFQUNaLEVBQUUsRUFBRSxRQUFRO0VBQ1osRUFBRSxFQUFFLFFBQVE7RUFDWixFQUFFLEVBQUUsUUFBUTtFQUNaLEVBQUUsRUFBRSxRQUFRO0VBQ1osRUFBRSxFQUFFLFFBQVE7RUFDWixFQUFFLEVBQUUsT0FBTztFQUNYLEVBQUUsRUFBRTtBQUNOLENBQUM7O0FBRUQ7QUFDQTs7QUFFQTtBQUFBNUksT0FBQSxDQUFBNEksVUFBQSxHQUFBQSxVQUFBO0FBQ08sSUFBTUMsWUFBWSxHQUFHLFNBQWZBLFlBQVlBLENBQUEsRUFNVjtFQUFBLElBTGJ6SSxNQUFnQixHQUFBb0csU0FBQSxDQUFBekcsTUFBQSxRQUFBeUcsU0FBQSxRQUFBakcsU0FBQSxHQUFBaUcsU0FBQSxNQUFHLEVBQUU7RUFBQSxJQUFBc0MsS0FBQSxHQUFBdEMsU0FBQSxDQUFBekcsTUFBQSxRQUFBeUcsU0FBQSxRQUFBakcsU0FBQSxHQUFBaUcsU0FBQSxNQUltQyxDQUFDLENBQUM7SUFGeER1QyxhQUFhLEdBQUFELEtBQUEsQ0FBYkMsYUFBYTtJQUNiQyxXQUFXLEdBQUFGLEtBQUEsQ0FBWEUsV0FBVztFQUdiLE9BQU81SSxNQUFNLENBQUM2SSxNQUFNLENBQUMsVUFBQ0MsS0FBSyxFQUFLO0lBQzlCLElBQUlILGFBQWEsS0FBSyxJQUFJLElBQUksQ0FBQ0csS0FBSyxDQUFDQyxVQUFVLEVBQUUsT0FBTyxLQUFLO0lBQzdELElBQUlKLGFBQWEsS0FBSyxLQUFLLElBQUlHLEtBQUssQ0FBQ0MsVUFBVSxFQUFFLE9BQU8sS0FBSztJQUM3RCxJQUFJSCxXQUFXLEtBQUssSUFBSSxJQUFJLENBQUNFLEtBQUssQ0FBQ0UsV0FBVyxFQUFFLE9BQU8sS0FBSztJQUM1RCxJQUFJSixXQUFXLEtBQUssS0FBSyxJQUFJRSxLQUFLLENBQUNFLFdBQVcsRUFBRSxPQUFPLEtBQUs7SUFDNUQsT0FBTyxJQUFJO0VBQ2IsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUFDcEosT0FBQSxDQUFBNkksWUFBQSxHQUFBQSxZQUFBO0FBRUssSUFBTVEsU0FBUyxHQUFHLFNBQVpBLFNBQVNBLENBQUlqSixNQUFNLEVBQUVrSixPQUFPLEVBQUVDLGNBQWM7RUFBQSxPQUN2RG5KLE1BQU0sQ0FBQ29KLElBQUksQ0FBQyxVQUFDTixLQUFLO0lBQUEsT0FBS0EsS0FBSyxDQUFDaEcsRUFBRSxLQUFLb0csT0FBTyxJQUFJQyxjQUFjLENBQUNMLEtBQUssQ0FBQztFQUFBLEVBQUM7QUFBQTtBQUFDbEosT0FBQSxDQUFBcUosU0FBQSxHQUFBQSxTQUFBO0FBRWpFLElBQU1JLFdBQVcsR0FBRyxTQUFkQSxXQUFXQSxDQUFJcEosS0FBSyxFQUFFRCxNQUFNLEVBQUVzSixXQUFXO0VBQUEsT0FDcERySixLQUFLLENBQUM0SSxNQUFNLENBQUMsVUFBQ1UsSUFBSSxFQUFLO0lBQ3JCLElBQU1DLFdBQVcsR0FBR1AsU0FBUyxDQUFDakosTUFBTSxFQUFFdUosSUFBSSxDQUFDRSxlQUFlLEVBQUUsVUFBQ1gsS0FBSztNQUFBLE9BQ2hFUSxXQUFXLEdBQ1BSLEtBQUssQ0FBQ0MsVUFBVSxJQUFJUSxJQUFJLENBQUNHLHNCQUFzQixHQUMvQyxDQUFDWixLQUFLLENBQUNZLHNCQUFzQjtJQUFBLENBQ25DLENBQUM7SUFFRCxJQUFNQyxXQUFXLEdBQUdWLFNBQVMsQ0FBQ2pKLE1BQU0sRUFBRXVKLElBQUksQ0FBQ0ssZUFBZSxFQUFFLFVBQUNkLEtBQUs7TUFBQSxPQUNoRVEsV0FBVyxHQUNQQyxJQUFJLENBQUNHLHNCQUFzQixJQUFJRixXQUFXLEtBQUtySixTQUFTLEdBQ3hELENBQUMySSxLQUFLLENBQUNZLHNCQUFzQjtJQUFBLENBQ25DLENBQUM7SUFFRCxPQUFPRixXQUFXLElBQUlHLFdBQVc7RUFDbkMsQ0FBQyxDQUFDO0FBQUE7QUFBQy9KLE9BQUEsQ0FBQXlKLFdBQUEsR0FBQUEsV0FBQTtBQUVFLElBQU1RLHFCQUFxQixHQUFHLFNBQXhCQSxxQkFBcUJBLENBQUlDLFFBQVEsRUFBRWhGLFFBQVEsRUFBSztFQUMzRCxJQUFNUixRQUFRLEdBQUdDLFFBQVEsQ0FBQ0MsYUFBYSxDQUFDc0YsUUFBUSxDQUFDO0VBQ2pELElBQUl4RixRQUFRLEtBQUssSUFBSSxFQUFFO0VBQ3ZCQSxRQUFRLENBQUN3QixnQkFBZ0IsQ0FBQyxRQUFRLEVBQUU7SUFBQSxPQUFNaEIsUUFBUSxDQUFDUixRQUFRLENBQUNHLE9BQU8sQ0FBQztFQUFBLEVBQUM7QUFDdkUsQ0FBQztBQUFDN0UsT0FBQSxDQUFBaUsscUJBQUEsR0FBQUEscUJBQUE7QUFFSyxJQUFNRSxlQUFlLEdBQUcsU0FBbEJBLGVBQWVBLENBQUk3SixHQUFHLEVBQUU0QyxFQUFFLEVBQUs7RUFDMUMsSUFBSWtILFFBQVEsR0FBRyxJQUFJO0VBRW5COUosR0FBRyxhQUFIQSxHQUFHLHVCQUFIQSxHQUFHLENBQUU0RCxTQUFTLENBQUMsVUFBQ2pELEtBQUssRUFBSztJQUN4QixJQUFJLENBQUFBLEtBQUssYUFBTEEsS0FBSyx1QkFBTEEsS0FBSyxDQUFFb0osZUFBZSxNQUFLbkgsRUFBRSxFQUFFO01BQ2pDa0gsUUFBUSxHQUFHbkosS0FBSztJQUNsQjtFQUNGLENBQUMsQ0FBQztFQUNGLE9BQU9tSixRQUFRO0FBQ2pCLENBQUM7QUFBQ3BLLE9BQUEsQ0FBQW1LLGVBQUEsR0FBQUEsZUFBQTtBQUVLLElBQU1HLFlBQVksR0FBRyxTQUFmQSxZQUFZQSxDQUFJaEssR0FBRyxFQUFFVyxLQUFLLEVBQXFCO0VBQUEsSUFBbkJDLFNBQVMsR0FBQXNGLFNBQUEsQ0FBQXpHLE1BQUEsUUFBQXlHLFNBQUEsUUFBQWpHLFNBQUEsR0FBQWlHLFNBQUEsTUFBRyxFQUFFO0VBQ3JELElBQUlsRyxHQUFHLElBQUlXLEtBQUssRUFBRTtJQUNoQixJQUFJQSxLQUFLLFlBQVlyQixnQkFBQyxDQUFDMkssTUFBTSxFQUFFO01BQzdCakssR0FBRyxDQUFDa0ssT0FBTyxDQUFDdkosS0FBSyxDQUFDd0osU0FBUyxDQUFDLENBQUMsRUFBRXZKLFNBQVMsQ0FBQztJQUMzQyxDQUFDLE1BQU0sSUFBSUQsS0FBSyxZQUFZckIsZ0JBQUMsQ0FBQzhLLE9BQU8sRUFBRTtNQUNyQ3BLLEdBQUcsQ0FBQ25CLFNBQVMsQ0FBQzhCLEtBQUssQ0FBQ25CLFNBQVMsQ0FBQyxDQUFDLEVBQUU7UUFBRVYsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7TUFBRSxDQUFDLENBQUM7SUFDdkQ7RUFDRjtBQUNGLENBQUM7QUFBQ1ksT0FBQSxDQUFBc0ssWUFBQSxHQUFBQSxZQUFBO0FBRUssSUFBTUssYUFBYSxHQUFHLFNBQWhCQSxhQUFhQSxDQUFJckssR0FBRyxFQUFFVyxLQUFLLEVBQUs7RUFDM0MsSUFBSVgsR0FBRyxJQUFJVyxLQUFLLElBQUlBLEtBQUssQ0FBQzJKLFdBQVcsQ0FBQyxDQUFDLEtBQUssS0FBSyxFQUFFO0lBQ2pELElBQUkzSixLQUFLLFlBQVlyQixnQkFBQyxDQUFDMkssTUFBTSxFQUFFO01BQzdCdEosS0FBSyxDQUFDNEosSUFBSSxDQUFDLFdBQVcsQ0FBQztNQUN2QjVKLEtBQUssQ0FBQzRKLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDckIsQ0FBQyxNQUFNLElBQUk1SixLQUFLLFlBQVlyQixnQkFBQyxDQUFDOEssT0FBTyxFQUFFO01BQ3JDekosS0FBSyxDQUFDNEosSUFBSSxDQUFDLFdBQVcsQ0FBQztNQUN2QjVKLEtBQUssQ0FBQzRKLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDM0I7RUFDRjtBQUNGLENBQUM7QUFBQzdLLE9BQUEsQ0FBQTJLLGFBQUEsR0FBQUEsYUFBQSJ9
@@ -417,6 +417,9 @@ var handleMarkerEvents = function handleMarkerEvents(map, point, pointCustomIcon
417
417
  });
418
418
  pointCustomIcon.on('popupclose', function () {
419
419
  // setIcon(pointCustomIcon, false, point);
420
+ setTimeout(function () {
421
+ return pointCustomIcon.fire('mouseout');
422
+ }, 100);
420
423
  tooltipVisible = false;
421
424
  });
422
425
  pointCustomIcon.on('popupopen', function () {
@@ -491,4 +494,4 @@ var isFactoryType = function isFactoryType(type) {
491
494
  return type === 'Groups::Factory';
492
495
  };
493
496
  exports.isFactoryType = isFactoryType;
494
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2kxOG4iLCJfYmx1ZUNpcmNsZSIsIl9zYW1wbGluZ0ljb24iLCJfcGlua0NpcmNsZSIsIl9vYnNlcnZhdGlvbkljb24iLCJfcmVkUGluUmVkU2hhZG93IiwiX3doaXRlUGluUmVkU2hhZG93IiwiX3doaXRlUGluQmxhY2tTaGFkb3ciLCJfeWVsbG93Q2lyY2xlIiwiX2ZhY3RvcnlJY29uIiwiX2dyZWVuQ2lyY2xlIiwiX3B1bXBTdGF0aW9uSWNvbiIsIl9waW5XYXRlciIsIl9icmlnaHRCbHVlQ2lyY2xlIiwiX1dXVFBJY29uIiwiX3dhdGVyTm9CYWNrZ3JvdW5kIiwiX3doaXRlUG9pbnQiLCJfUG9pbnRJY29uIiwiX3dhdGVyX3JldXNlIiwiX3V0aWxzIiwiaXNDb2xsZWN0b3JGb2N1c2VkIiwicG9pbnQiLCJldmVudCIsIl9ldmVudCRvYnNlcnZhdGlvbnMiLCJvYnNlcnZhdGlvbnMiLCJsZW5ndGgiLCJpZCIsInBvaW50X2lkIiwiZXhwb3J0cyIsImJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmciLCJzdHJpbmciLCJjb25jYXQiLCJncm91cCIsIm5hbWUiLCJwb2ludElzRmFjdG9yeSIsInNlY3Rvcl9uYW1lIiwid2F0ZXJfZGlzY2hhcmdlIiwiYnViYmxlRm9yV1dUUCIsImFyZ3MiLCJwb2ludEN1c3RvbUljb24iLCJMIiwibWFya2VyIiwibWFya2VyTG9jYXRpb24iLCJpY29uIiwiZ2V0SWNvbiIsInd3dHBQb2ludCIsInJpc2VPbkhvdmVyIiwiaGFzX2RldmljZSIsImhhc19zYW1wbGVyIiwiY3JlYXRlQnViYmxlUG9pbnQiLCJtYXAiLCJob3ZlcmVkIiwibGF5ZXJHcm91cCIsImZsb3dfcmF0ZV91bml0IiwiYXJndW1lbnRzIiwidW5kZWZpbmVkIiwiaGFuZGxlQ2xpY2siLCJzaG93U2FtcGxlciIsIm1hcmtlck9uTWFwIiwiZ2V0TGF5ZXJzIiwiZmluZCIsImxheWVyIiwia2FuZG9fb2JqZWN0X2lkIiwic3VidGl0bGUiLCJ0eXBlIiwicG9pbnRJc1dXVFAiLCJnZXRQb2ludEljb25CeVR5cGUiLCJ0aXRsZSIsImhhc0lzc3VlcyIsInNob3VsZEluc3RhbGwiLCJhZGRMYXllciIsImJpbmRQb3B1cFRvTWFya2VyIiwiaGFuZGxlTWFya2VyRXZlbnRzIiwiY3JlYXRlTWFuaG9sZVBvaW50IiwicG9pbnRJY29uIiwiSWNvbiIsImljb25VcmwiLCJ3aGl0ZVBvaW50IiwiaWNvblNpemUiLCJpY29uQW5jaG9yIiwibWFuaG9sZUljb24iLCJNYXJrZXIiLCJiaW5kVG9vbHRpcCIsIm1hdGNoSWNvblRvUG9pbnQiLCJjb21iaW5lZEZhY3RvcnlJY29uIiwibWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UiLCJ1bnNoaWZ0Iiwic2VsZWN0ZWRCYWNrZ3JvdW5kIiwibWFya2VyQmVsb25nc1RvU291cmNlIiwiYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCIsInN0YW5kYXJkQmFja2dyb3VuZCIsImNvbWJpbmVkUHVtcFN0YXRpb25JY29uIiwiY29tYmluZWRXV1RQSWNvbiIsInJlZFBpblJlZFNoYWRvdyIsIndhdGVySWNvbk5vQmFja2dyb3VuZCIsInBvcHVwQW5jaG9yIiwiY29tYmluZWRDb2xsZWN0b3JzSWNvbiIsInNlY29uZGFyeSIsInRoaXJkIiwid2hpdGVQaW5CbGFja1NoYWRvdyIsInllbGxvd0NpcmNsZVVSTCIsInBsYW50SWNvblVSTCIsImdyZWVuQ2lyY2xlVVJMIiwicHVtcFN0YXRpb25JY29uVVJMIiwiY29sbGVjdG9ySWNvbiIsImJyaWdodEJsdWVDaXJjbGVVUkwiLCJXV1RQSWNvblVSTCIsIndoaXRlUGluUmVkU2hhZG93Iiwic291cmNlIiwic291cmNlcyIsImZpbHRlciIsInNlbGVjdGVkX3NvdXJjZSIsImNyZWF0ZVNhbXBsaW5nSWNvblBvaW50Iiwic2Vjb25kYXJ5SWNvbiIsInNhbXBsaW5nSWNvbiIsImJsdWVDaXJjbGVVUkwiLCJzYW1wbGluZ0ljb25VUkwiLCJ0aGlyZEljb24iLCJmb3JFYWNoIiwiaW5kZXgiLCJjcmVhdGVPYnNlcnZhdGlvbkljb25Qb2ludCIsIm9ic2VydmF0aW9uSWNvbiIsInBpbmtDaXJjbGVVUkwiLCJvYnNlcnZhdGlvbkljb25VUkwiLCJjcmVhdGVTYW1wbGluZ0ljb25zIiwic2FtcGxlZFBvaW50SWRzIiwic2FtcGxpbmdzIiwicyIsImluY2x1ZGVzIiwicG9wdXBDb250ZW50Iiwib2JzIiwiR3JhcGhJY29uIiwiaTE4biIsInQiLCJzZXZlcml0eSIsImNsaWNrZWQiLCJpc1dXVFAiLCJzdWJ0aXRsZVRleHQiLCJzZXRJY29uIiwiZWxlbWVudCIsImNhbGN1bGF0ZVdhdGVyQ29uc3VtcHRpb24iLCJ3YXRlckNvbnN1bXB0aW9uIiwicm91bmRfdG9fbmVhcmVzdF9rIiwiY2FsY3VsYXRlZCIsInRvRml4ZWQiLCJyb3VuZFRvTmVhcmVzdFRob3VzYW5kIiwicGFyc2VGbG9hdCIsInRvTG9jYWxlU3RyaW5nIiwiTWF0aCIsInJvdW5kIiwibnVtYmVyIiwicm91bmRlZFRob3VzYW5kcyIsInJvdW5kZWRWYWx1ZSIsInRyYW5zbGF0ZUZsb3dSYXRlIiwidG9vbHRpcFZpc2libGUiLCJvbiIsImNsb3NlUG9wdXAiLCJpc1BvcHVwT3BlbiIsInNlbmRBbmFseXRpY3NFdmVudCIsInBvaW50X25hbWUiLCJjb250ZW50Iiwid2F0ZXJSZXVzZUljb24iLCJnZXRGbG93UmF0ZSIsImJpbmRQb3B1cCIsImNsYXNzTmFtZSIsIm1pbldpZHRoIiwibWF4V2lkdGgiLCJjbG9zZUJ1dHRvbiIsImZsb3dSYXRlVW5pdCIsImlzUm91bmQiLCJyZW1vdmVMYXllckdyb3VwIiwiaGFzTGF5ZXIiLCJyZW1vdmVMYXllciIsImFkZExheWVyR3JvdXAiLCJpc0ZhY3RvcnlUeXBlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL3BvaW50cy9Qb2ludFV0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBHcmFwaEljb24gZnJvbSAnLi4vLi4vLi4vYXNzZXRzL2xpbmUtY2hhcnQuc3ZnJztcbmltcG9ydCBMLCB7IExhdExuZ1R1cGxlIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgaTE4biBmcm9tICcuLi8uLi8uLi91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgYmx1ZUNpcmNsZVVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvYmx1ZS1jaXJjbGUuc3ZnJztcbmltcG9ydCBzYW1wbGluZ0ljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3NhbXBsaW5nLWljb24uc3ZnJztcbmltcG9ydCBwaW5rQ2lyY2xlVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9waW5rLWNpcmNsZS5zdmcnO1xuaW1wb3J0IG9ic2VydmF0aW9uSWNvblVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvb2JzZXJ2YXRpb24taWNvbi5zdmcnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHJlZFBpblJlZFNoYWRvdyBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvcmVkLXBpbi1yZWQtc2hhZG93LnBuZyc7XG5pbXBvcnQgd2hpdGVQaW5SZWRTaGFkb3cgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3doaXRlLXBpbi1yZWQtc2hhZG93LnBuZyc7XG5pbXBvcnQgd2hpdGVQaW5CbGFja1NoYWRvdyBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvd2hpdGUtcGluLWJsYWNrLXNoYWRvdy5wbmcnO1xuaW1wb3J0IHllbGxvd0NpcmNsZVVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMveWVsbG93LWNpcmNsZS5zdmcnO1xuaW1wb3J0IHBsYW50SWNvblVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvZmFjdG9yeS1pY29uLnN2Zyc7XG5pbXBvcnQgZ3JlZW5DaXJjbGVVUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL2dyZWVuLWNpcmNsZS5zdmcnO1xuaW1wb3J0IHB1bXBTdGF0aW9uSWNvblVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvcHVtcC1zdGF0aW9uLWljb24uc3ZnJztcbmltcG9ydCBjb2xsZWN0b3JJY29uIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9tYXAvcGluLXdhdGVyLnN2Zyc7XG5pbXBvcnQgYnJpZ2h0Qmx1ZUNpcmNsZVVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvYnJpZ2h0LWJsdWUtY2lyY2xlLnN2Zyc7XG5pbXBvcnQgV1dUUEljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL1dXVFAtaWNvbi5zdmcnO1xuaW1wb3J0IHdhdGVySWNvbk5vQmFja2dyb3VuZCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvd2F0ZXItbm8tYmFja2dyb3VuZC5zdmcnO1xuaW1wb3J0IHdoaXRlUG9pbnQgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3doaXRlLXBvaW50LnBuZyc7XG5pbXBvcnQgeyBnZXRQb2ludEljb25CeVR5cGUgfSBmcm9tICcuL1BvaW50SWNvbic7XG5pbXBvcnQgd2F0ZXJSZXVzZUljb24gZnJvbSAnLi4vLi4vLi4vYXNzZXRzL2ljb25zL3dhdGVyX3JldXNlLnN2Zyc7XG5pbXBvcnQgeyBzZW5kQW5hbHl0aWNzRXZlbnQgfSBmcm9tICdzcmMvcGFnZXMvRGFzaGJvYXJkTWFwL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IGlzQ29sbGVjdG9yRm9jdXNlZCA9IChwb2ludDogSVBvaW50LCBldmVudDogSUV2ZW50KSA9PiB7XG4gIHJldHVybiAoXG4gICAgZXZlbnQ/Lm9ic2VydmF0aW9ucz8ubGVuZ3RoID09PSAxICYmXG4gICAgcG9pbnQuaWQgPT09IGV2ZW50Lm9ic2VydmF0aW9uc1swXS5wb2ludF9pZFxuICApO1xufTtcblxuY29uc3QgYnVpbGRNYW5ob2xlVG9vbHRpcFN0cmluZyA9IChwb2ludDogSVBvaW50KSA9PiB7XG4gIGxldCBzdHJpbmcgPSBgJHtwb2ludC5ncm91cC5uYW1lfSBgO1xuXG4gIGlmIChwb2ludElzRmFjdG9yeShwb2ludCkpIHtcbiAgICBzdHJpbmcgKz0gYDxici8+U2VjdG9yOiAke3BvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lfWA7XG4gICAgc3RyaW5nICs9IGA8YnIvPldhdGVyIENvbnN1bXB0aW9uOiAke3BvaW50Lmdyb3VwLndhdGVyX2Rpc2NoYXJnZX1gO1xuICB9IGVsc2Uge1xuICAgIHN0cmluZyA9IGAke3BvaW50Lm5hbWV9YDtcbiAgfVxuXG4gIHJldHVybiBzdHJpbmc7XG59O1xuXG5leHBvcnQgY29uc3QgYnViYmxlRm9yV1dUUCA9IChhcmdzKSA9PiB7XG4gIGNvbnN0IHBvaW50Q3VzdG9tSWNvbjogTC5NYXJrZXIgPSBMLm1hcmtlcihhcmdzLm1hcmtlckxvY2F0aW9uLCB7XG4gICAgaWNvbjogZ2V0SWNvbihhcmdzLnd3dHBQb2ludCwgZmFsc2UpLFxuICAgIHJpc2VPbkhvdmVyOiB0cnVlLFxuICB9KTtcbiAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3RfaWQnXSA9IGFyZ3Mud3d0cFBvaW50LmlkO1xuICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ1BvaW50JztcbiAgcG9pbnRDdXN0b21JY29uWydrYW5kb19oYXNfZGV2aWNlJ10gPSBhcmdzLnd3dHBQb2ludC5oYXNfZGV2aWNlO1xuICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2hhc19zYW1wbGVyJ10gPSBhcmdzLnd3dHBQb2ludC5oYXNfc2FtcGxlcjtcblxuICByZXR1cm4gcG9pbnRDdXN0b21JY29uO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUJ1YmJsZVBvaW50ID0gKFxuICBtYXJrZXJMb2NhdGlvbjogTGF0TG5nVHVwbGUsXG4gIHBvaW50OiBJUG9pbnQsXG4gIG1hcCxcbiAgaG92ZXJlZD8sXG4gIGxheWVyR3JvdXA/LFxuICBmbG93X3JhdGVfdW5pdCA9ICdnZF91cycsXG4gIGhhbmRsZUNsaWNrPyxcbiAgc2hvd1NhbXBsZXI6IGJvb2xlYW4gPSBmYWxzZSxcbikgPT4ge1xuICBjb25zdCBtYXJrZXJPbk1hcCA9IGxheWVyR3JvdXBcbiAgICAuZ2V0TGF5ZXJzKClcbiAgICAuZmluZCgobGF5ZXIpID0+IGxheWVyLmthbmRvX29iamVjdF9pZCA9PT0gcG9pbnQuaWQpO1xuXG4gIGlmICghbWFya2VyT25NYXApIHtcbiAgICBjb25zdCBzdWJ0aXRsZSA9IHBvaW50SXNGYWN0b3J5KHBvaW50KSA/IHBvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lIDogJyc7XG4gICAgY29uc3QgdHlwZSA9XG4gICAgICBwb2ludC5oYXNfZGV2aWNlIHx8IHBvaW50SXNXV1RQKHBvaW50KVxuICAgICAgICA/IHBvaW50Lmdyb3VwLnR5cGVcbiAgICAgICAgOiAnR3JvdXBzOjpkZWZhdWx0JztcbiAgICBsZXQgcG9pbnRDdXN0b21JY29uOiBMLk1hcmtlciA9IEwubWFya2VyKG1hcmtlckxvY2F0aW9uLCB7XG4gICAgICBpY29uOiBnZXRQb2ludEljb25CeVR5cGUoXG4gICAgICAgIHR5cGUsXG4gICAgICAgIHBvaW50Lm5hbWUsXG4gICAgICAgIHN1YnRpdGxlLFxuICAgICAgICBmYWxzZSxcbiAgICAgICAgdHJ1ZSxcbiAgICAgICAgZmFsc2UsXG4gICAgICAgIHNob3dTYW1wbGVyLFxuICAgICAgICBmYWxzZSxcbiAgICAgICksXG4gICAgICByaXNlT25Ib3ZlcjogdHJ1ZSxcbiAgICB9KTtcblxuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ1BvaW50JztcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2hhc19kZXZpY2UnXSA9IHBvaW50Lmhhc19kZXZpY2U7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19oYXNfc2FtcGxlciddID0gcG9pbnQuaGFzX3NhbXBsZXI7XG4gICAgaWYgKGhvdmVyZWQpIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnUG9pbnRIb3ZlcmVkJztcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2ljb25fZGF0YSddID0ge1xuICAgICAgdHlwZTogdHlwZSxcbiAgICAgIHRpdGxlOiBwb2ludC5uYW1lLFxuICAgICAgc3VidGl0bGU6IHN1YnRpdGxlLFxuICAgICAgaGFzSXNzdWVzOiBmYWxzZSxcbiAgICAgIHNob3VsZEluc3RhbGw6IGZhbHNlLFxuICAgIH07XG5cbiAgICBsYXllckdyb3VwLmFkZExheWVyKHBvaW50Q3VzdG9tSWNvbik7XG4gICAgaWYgKHBvaW50SXNGYWN0b3J5KHBvaW50KSkge1xuICAgICAgYmluZFBvcHVwVG9NYXJrZXIocG9pbnQsIHBvaW50Q3VzdG9tSWNvbiwgZmxvd19yYXRlX3VuaXQpO1xuICAgIH1cblxuICAgIGhhbmRsZU1hcmtlckV2ZW50cyhtYXAsIHBvaW50LCBwb2ludEN1c3RvbUljb24sIGhhbmRsZUNsaWNrKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU1hbmhvbGVQb2ludCA9IChcbiAgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlLFxuICBwb2ludDogSVBvaW50LFxuICBtYXAsXG4gIGhvdmVyZWQ/LFxuICBsYXllckdyb3VwPyxcbikgPT4ge1xuICBsZXQgcG9pbnRJY29uID0gbmV3IEwuSWNvbih7XG4gICAgaWNvblVybDogd2hpdGVQb2ludCxcbiAgICBpY29uU2l6ZTogWzksIDldLFxuICAgIGljb25BbmNob3I6IFs0LjUsIDQuNV0sXG4gIH0pO1xuICBsZXQgbWFuaG9sZUljb246IGFueSA9IG5ldyBMLk1hcmtlcihtYXJrZXJMb2NhdGlvbiwge1xuICAgIGljb246IHBvaW50SWNvbixcbiAgICByaXNlT25Ib3ZlcjogdHJ1ZSxcbiAgfSk7XG4gIG1hbmhvbGVJY29uLmJpbmRUb29sdGlwKGJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmcocG9pbnQpKTtcbiAgbWFuaG9sZUljb25bJ2thbmRvX29iamVjdF9pZCddID0gcG9pbnQuaWQ7XG4gIG1hbmhvbGVJY29uWydrYW5kb19vYmplY3QnXSA9ICdQb2ludCc7XG4gIG1hbmhvbGVJY29uWydrYW5kb19wb2ludF90eXBlJ10gPSAnTWFuaG9sZSc7XG4gIG1hbmhvbGVJY29uWydrYW5kb19oYXNfZGV2aWNlJ10gPSBwb2ludC5oYXNfZGV2aWNlO1xuICBtYW5ob2xlSWNvblsna2FuZG9faGFzX3NhbXBsZXInXSA9IHBvaW50Lmhhc19zYW1wbGVyO1xuICBpZiAoaG92ZXJlZCkgbWFuaG9sZUljb25bJ2thbmRvX29iamVjdCddID0gJ1BvaW50SG92ZXJlZCc7XG4gIGxheWVyR3JvdXAuYWRkTGF5ZXIobWFuaG9sZUljb24pO1xufTtcblxuLy8gKioqQ29uc2lkZXIgcmVtb3ZpbmcgdGhpcyBmdW5jdGlvbiBpdCBpcyBub3QgdXNlZCBmb3IgbW9yZSB0aGFuIHR3byB5ZWFycyoqKlxuZXhwb3J0IGNvbnN0IG1hdGNoSWNvblRvUG9pbnQgPSAocG9pbnQ6IElQb2ludCwgZXZlbnQ6IElFdmVudCkgPT4ge1xuICBzd2l0Y2ggKHBvaW50Lmdyb3VwLnR5cGUpIHtcbiAgICBjYXNlICdHcm91cHM6OkZhY3RvcnknOlxuICAgICAgaWYgKGNvbWJpbmVkRmFjdG9yeUljb24ubGVuZ3RoID09PSAyKSB7XG4gICAgICAgIGlmIChtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZShldmVudCwgcG9pbnQpKSB7XG4gICAgICAgICAgY29tYmluZWRGYWN0b3J5SWNvbi51bnNoaWZ0KHNlbGVjdGVkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIGlmIChtYXJrZXJCZWxvbmdzVG9Tb3VyY2UoZXZlbnQsIHBvaW50KSkge1xuICAgICAgICAgIGNvbWJpbmVkRmFjdG9yeUljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbWJpbmVkRmFjdG9yeUljb24udW5zaGlmdChzdGFuZGFyZEJhY2tncm91bmQoKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbWJpbmVkRmFjdG9yeUljb247XG4gICAgY2FzZSAnR3JvdXBzOjpQdW1wU3RhdGlvbic6XG4gICAgICBpZiAoY29tYmluZWRQdW1wU3RhdGlvbkljb24ubGVuZ3RoID09PSAyKSB7XG4gICAgICAgIGlmIChtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZShldmVudCwgcG9pbnQpKSB7XG4gICAgICAgICAgY29tYmluZWRQdW1wU3RhdGlvbkljb24udW5zaGlmdChzZWxlY3RlZEJhY2tncm91bmQoKSk7XG4gICAgICAgIH0gZWxzZSBpZiAobWFya2VyQmVsb25nc1RvU291cmNlKGV2ZW50LCBwb2ludCkpIHtcbiAgICAgICAgICBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbi51bnNoaWZ0KGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29tYmluZWRQdW1wU3RhdGlvbkljb24udW5zaGlmdChzdGFuZGFyZEJhY2tncm91bmQoKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbWJpbmVkUHVtcFN0YXRpb25JY29uO1xuICAgIGNhc2UgJ0dyb3Vwczo6V2FzdGV3YXRlclRyZWF0bWVudFBsYW50JzpcbiAgICAgIGlmIChjb21iaW5lZFdXVFBJY29uLmxlbmd0aCA9PT0gMikge1xuICAgICAgICBpZiAobWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UoZXZlbnQsIHBvaW50KSkge1xuICAgICAgICAgIGNvbWJpbmVkV1dUUEljb24udW5zaGlmdChzZWxlY3RlZEJhY2tncm91bmQoKSk7XG4gICAgICAgIH0gZWxzZSBpZiAobWFya2VyQmVsb25nc1RvU291cmNlKGV2ZW50LCBwb2ludCkpIHtcbiAgICAgICAgICBjb21iaW5lZFdXVFBJY29uLnVuc2hpZnQoYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb21iaW5lZFdXVFBJY29uLnVuc2hpZnQoc3RhbmRhcmRCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb21iaW5lZFdXVFBJY29uO1xuXG4gICAgY2FzZSAnR3JvdXBzOjpDb2xsZWN0b3JzJzpcbiAgICAgIGlmIChpc0NvbGxlY3RvckZvY3VzZWQocG9pbnQsIGV2ZW50KSkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIEwuaWNvbih7XG4gICAgICAgICAgICBpY29uVXJsOiByZWRQaW5SZWRTaGFkb3csXG4gICAgICAgICAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgICAgICAgICAgaWNvbkFuY2hvcjogWzMwLCA1Ml0sXG4gICAgICAgICAgfSksXG5cbiAgICAgICAgICBMLmljb24oe1xuICAgICAgICAgICAgaWNvblVybDogd2F0ZXJJY29uTm9CYWNrZ3JvdW5kLFxuICAgICAgICAgICAgaWNvblNpemU6IFswLCAwXSxcblxuICAgICAgICAgICAgaWNvbkFuY2hvcjogWzIyLCA0NF0sXG4gICAgICAgICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgICAgICAgfSksXG4gICAgICAgIF07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb21iaW5lZENvbGxlY3RvcnNJY29uO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBudWxsO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3Qgc3RhbmRhcmRCYWNrZ3JvdW5kID0gKFxuICBzZWNvbmRhcnk6IGJvb2xlYW4gPSBmYWxzZSxcbiAgdGhpcmQ6IGJvb2xlYW4gPSBmYWxzZSxcbikgPT4ge1xuICByZXR1cm4gTC5pY29uKHtcbiAgICBpY29uVXJsOiB3aGl0ZVBpbkJsYWNrU2hhZG93LFxuICAgIGljb25TaXplOiBzZWNvbmRhcnkgPyBbMCwgMF0gOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogc2Vjb25kYXJ5ICYmIHRoaXJkID8gWy0yLCAxOV0gOiBzZWNvbmRhcnkgPyBbLTIsIDQ0XSA6IFsyMCwgNDJdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY29tYmluZWRGYWN0b3J5SWNvbiA9IFtcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiB5ZWxsb3dDaXJjbGVVUkwsXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbMTAuNywgMzMuN10sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiBwbGFudEljb25VUkwsXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbNSwgMzBdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG5dO1xuXG5leHBvcnQgY29uc3QgY29tYmluZWRQdW1wU3RhdGlvbkljb24gPSBbXG4gIEwuaWNvbih7XG4gICAgaWNvblVybDogZ3JlZW5DaXJjbGVVUkwsXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbMTAuNywgMzMuN10sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiBwdW1wU3RhdGlvbkljb25VUkwsXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbNywgMzJdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG5dO1xuXG5leHBvcnQgY29uc3QgY29tYmluZWRDb2xsZWN0b3JzSWNvbiA9IFtcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiBjb2xsZWN0b3JJY29uLFxuICAgIGljb25TaXplOiBbMCwgMF0sXG5cbiAgICBpY29uQW5jaG9yOiBbMjUsIDUwXSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuXTtcblxuZXhwb3J0IGNvbnN0IGNvbWJpbmVkV1dUUEljb24gPSBbXG4gIEwuaWNvbih7XG4gICAgaWNvblVybDogYnJpZ2h0Qmx1ZUNpcmNsZVVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFsxMC43LCAzMy43XSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuICBMLmljb24oe1xuICAgIGljb25Vcmw6IFdXVFBJY29uVVJMLFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzgsIDMxXSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuXTtcblxuZXhwb3J0IGNvbnN0IHNlbGVjdGVkQmFja2dyb3VuZCA9ICgpID0+IHtcbiAgcmV0dXJuIEwuaWNvbih7XG4gICAgaWNvblVybDogcmVkUGluUmVkU2hhZG93LFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzMyLCA1NF0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kID0gKCkgPT4ge1xuICByZXR1cm4gTC5pY29uKHtcbiAgICBpY29uVXJsOiB3aGl0ZVBpblJlZFNoYWRvdyxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFszMiwgNTRdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgbWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UgPSAoZXZlbnQ6IElFdmVudCwgcG9pbnQ6IElQb2ludCkgPT4ge1xuICBsZXQgc291cmNlO1xuXG4gIGlmIChldmVudCAhPT0gbnVsbCAmJiBldmVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgc291cmNlID0gZXZlbnQuc291cmNlcy5maWx0ZXIoKHNvdXJjZSkgPT4gc291cmNlLnBvaW50X2lkID09PSBwb2ludC5pZClbMF07XG4gIH1cblxuICByZXR1cm4gZXZlbnQgIT09IG51bGwgJiYgc291cmNlICYmIGV2ZW50LnNlbGVjdGVkX3NvdXJjZSA9PT0gc291cmNlLnBvaW50X2lkO1xufTtcblxuZXhwb3J0IGNvbnN0IG1hcmtlckJlbG9uZ3NUb1NvdXJjZSA9IChldmVudDogSUV2ZW50LCBwb2ludDogSVBvaW50KSA9PiB7XG4gIGlmIChldmVudCA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gIHJldHVybiAoXG4gICAgZXZlbnQgIT09IG51bGwgJiZcbiAgICBldmVudC5zb3VyY2VzLmZpbHRlcigoc291cmNlKSA9PiBzb3VyY2UucG9pbnRfaWQgPT09IHBvaW50LmlkKVswXVxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVNhbXBsaW5nSWNvblBvaW50ID0gKFxuICBtYXJrZXJMb2NhdGlvbjogTGF0TG5nVHVwbGUsXG4gIHNlY29uZGFyeUljb246IGJvb2xlYW4sXG4gIG1hcCxcbiAgcG9pbnQ6IElQb2ludCxcbiAgZXZlbnQ6IElFdmVudCxcbiAgaG92ZXJlZD8sXG4gIGxheWVyR3JvdXA/LFxuKSA9PiB7XG4gIC8vIGljb25TaXplOiBbd2lkdGgsIGhlaWdodF0sXG4gIC8vIEljb24gQW5jaG9yOiBbKC1yaWdodCkoK2xlZnQpLCAoLWRvd24pKCt1cCldXG4gIGxldCBzYW1wbGluZ0ljb24gPSBbXG4gICAgTC5pY29uKHtcbiAgICAgIGljb25Vcmw6IGJsdWVDaXJjbGVVUkwsXG4gICAgICBpY29uU2l6ZTogc2Vjb25kYXJ5SWNvbiA/IFswLCAwXSA6IFswLCAwXSxcbiAgICAgIGljb25BbmNob3I6IHNlY29uZGFyeUljb24gPyBbLTcsIDE1XSA6IFsxMC43LCAzMy43XSxcbiAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICB9KSxcbiAgICBMLmljb24oe1xuICAgICAgaWNvblVybDogc2FtcGxpbmdJY29uVVJMLFxuICAgICAgaWNvblNpemU6IHNlY29uZGFyeUljb24gPyBbMCwgMF0gOiBbMCwgMF0sXG4gICAgICBpY29uQW5jaG9yOiBzZWNvbmRhcnlJY29uID8gWy04LCAxM10gOiBbNSwgMzBdLFxuICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgIH0pLFxuICBdO1xuXG4gIGxldCB0aGlyZEljb24gPSBmYWxzZTtcbiAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkgJiYgIXNlY29uZGFyeUljb24pIHtcbiAgICBzYW1wbGluZ0ljb24udW5zaGlmdChzZWxlY3RlZEJhY2tncm91bmQoKSk7XG4gIH0gZWxzZSBpZiAobWFya2VyQmVsb25nc1RvU291cmNlKGV2ZW50LCBwb2ludCkgJiYgIXNlY29uZGFyeUljb24pIHtcbiAgICBzYW1wbGluZ0ljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICB9IGVsc2Uge1xuICAgIHRoaXJkSWNvbiA9IHRydWU7XG4gICAgc2FtcGxpbmdJY29uLnVuc2hpZnQoc3RhbmRhcmRCYWNrZ3JvdW5kKHNlY29uZGFyeUljb24sIHRoaXJkSWNvbikpO1xuICB9XG5cbiAgc2FtcGxpbmdJY29uLmZvckVhY2goKGljb24sIGluZGV4KSA9PiB7XG4gICAgbGV0IHBvaW50Q3VzdG9tSWNvbjogYW55ID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICAgIGljb246IGljb24sXG4gICAgICByaXNlT25Ib3ZlcjogZmFsc2UsXG4gICAgfSk7XG4gICAgcG9pbnRDdXN0b21JY29uLmJpbmRUb29sdGlwKGJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmcocG9pbnQpKTtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2luZGV4X29iamVjdCddID0gaW5kZXg7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19mZXdfbGF5ZXJfaWNvbiddID0gdHJ1ZTtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX3NlY29uZGFyeSddID0gdGhpcmRJY29uID8gZmFsc2UgOiBzZWNvbmRhcnlJY29uO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fdGhpcmQnXSA9IHRoaXJkSWNvbjtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdF9pZCddID0gcG9pbnQuaWQ7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdTYW1wbGluZyc7XG4gICAgaWYgKGhvdmVyZWQpIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnU2FtcGxpbmdIb3ZlcmVkJztcbiAgICBsYXllckdyb3VwLmFkZExheWVyKHBvaW50Q3VzdG9tSWNvbik7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU9ic2VydmF0aW9uSWNvblBvaW50ID0gKFxuICBtYXJrZXJMb2NhdGlvbjogTGF0TG5nVHVwbGUsXG4gIHNlY29uZGFyeUljb246IGJvb2xlYW4sXG4gIG1hcCxcbiAgcG9pbnQ6IElQb2ludCxcbiAgZXZlbnQ6IElFdmVudCxcbiAgaG92ZXJlZD8sXG4gIGxheWVyR3JvdXA/LFxuKSA9PiB7XG4gIC8vIGljb25TaXplOiBbd2lkdGgsIGhlaWdodF0sXG4gIC8vIEljb24gQW5jaG9yOiBbKC1yaWdodCkoK2xlZnQpLCAoLWRvd24pKCt1cCldXG4gIGxldCBvYnNlcnZhdGlvbkljb24gPSBbXG4gICAgTC5pY29uKHtcbiAgICAgIGljb25Vcmw6IHBpbmtDaXJjbGVVUkwsXG4gICAgICBpY29uU2l6ZTogc2Vjb25kYXJ5SWNvbiA/IFswLCAwXSA6IFswLCAwXSxcbiAgICAgIGljb25BbmNob3I6IHNlY29uZGFyeUljb24gPyBbLTcsIDQwXSA6IFsxMC43LCAzMy43XSxcbiAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICB9KSxcbiAgICBMLmljb24oe1xuICAgICAgaWNvblVybDogb2JzZXJ2YXRpb25JY29uVVJMLFxuICAgICAgaWNvblNpemU6IHNlY29uZGFyeUljb24gPyBbMCwgMF0gOiBbMCwgMF0sXG4gICAgICBpY29uQW5jaG9yOiBzZWNvbmRhcnlJY29uID8gWy04LCAzOF0gOiBbNSwgMzBdLFxuICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgIH0pLFxuICBdO1xuXG4gIGlmIChtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZShldmVudCwgcG9pbnQpICYmICFzZWNvbmRhcnlJY29uKSB7XG4gICAgb2JzZXJ2YXRpb25JY29uLnVuc2hpZnQoc2VsZWN0ZWRCYWNrZ3JvdW5kKCkpO1xuICB9IGVsc2UgaWYgKG1hcmtlckJlbG9uZ3NUb1NvdXJjZShldmVudCwgcG9pbnQpICYmICFzZWNvbmRhcnlJY29uKSB7XG4gICAgb2JzZXJ2YXRpb25JY29uLnVuc2hpZnQoYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCgpKTtcbiAgfSBlbHNlIHtcbiAgICBvYnNlcnZhdGlvbkljb24udW5zaGlmdChzdGFuZGFyZEJhY2tncm91bmQoc2Vjb25kYXJ5SWNvbikpO1xuICB9XG5cbiAgb2JzZXJ2YXRpb25JY29uLmZvckVhY2goKGljb24sIGluZGV4KSA9PiB7XG4gICAgbGV0IHBvaW50Q3VzdG9tSWNvbjogYW55ID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICAgIGljb246IGljb24sXG4gICAgICByaXNlT25Ib3ZlcjogZmFsc2UsXG4gICAgfSk7XG4gICAgcG9pbnRDdXN0b21JY29uLmJpbmRUb29sdGlwKGJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmcocG9pbnQpKTtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2luZGV4X29iamVjdCddID0gaW5kZXg7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19mZXdfbGF5ZXJfaWNvbiddID0gdHJ1ZTtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX3NlY29uZGFyeSddID0gc2Vjb25kYXJ5SWNvbjtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX3RoaXJkJ10gPSBmYWxzZTtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdF9pZCddID0gcG9pbnQuaWQ7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdPYnNlcnZhdGlvbic7XG4gICAgaWYgKGhvdmVyZWQpIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnT2JzZXJ2YXRpb25Ib3ZlcmVkJztcbiAgICBsYXllckdyb3VwLmFkZExheWVyKHBvaW50Q3VzdG9tSWNvbik7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVNhbXBsaW5nSWNvbnMgPSAoXG4gIG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSxcbiAgZXZlbnQ6IElFdmVudCxcbiAgcG9pbnQ6IElQb2ludCxcbiAgbWFwLFxuICBob3ZlcmVkLFxuICBsYXllckdyb3VwPyxcbikgPT4ge1xuICBsZXQgc2FtcGxlZFBvaW50SWRzID0gZXZlbnQuc2FtcGxpbmdzLm1hcCgocykgPT4gcy5wb2ludF9pZCk7XG4gIGlmIChcbiAgICBldmVudCAhPT0gbnVsbCAmJlxuICAgIGV2ZW50LnNhbXBsaW5ncy5sZW5ndGggIT09IDAgJiZcbiAgICBzYW1wbGVkUG9pbnRJZHMuaW5jbHVkZXMocG9pbnQuaWQpXG4gICkge1xuICAgIGNyZWF0ZVNhbXBsaW5nSWNvblBvaW50KFxuICAgICAgbWFya2VyTG9jYXRpb24sXG4gICAgICBtYXRjaEljb25Ub1BvaW50KHBvaW50LCBldmVudCkgIT09IG51bGwsXG4gICAgICBtYXAsXG4gICAgICBwb2ludCxcbiAgICAgIGV2ZW50LFxuICAgICAgaG92ZXJlZCxcbiAgICAgIGxheWVyR3JvdXAsXG4gICAgKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHBvcHVwQ29udGVudCA9IChvYnM6IGFueSwgcG9pbnQ6IElQb2ludCkgPT4ge1xuICBpZiAob2JzID09PSBudWxsKSB7XG4gICAgcmV0dXJuIGBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudC1wb3B1cFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1ncmFwaC1pY29uIHBvcHVwLWdyYXBoLWljb24tJHtwb2ludC5pZH1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCIke0dyYXBoSWNvbn1cIi8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwicG9wdXAtY29udGVudF9fc2l0ZS1uYW1lXCI+PGI+JHtwb2ludC5ncm91cC5uYW1lfTwvYj48L2g1PlxuICAgICAgICAgICAgICAgICAgICA8aHIvPlxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInNlY3RvclwiPjwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBgO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBgXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnQtcG9wdXBcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtZ3JhcGgtaWNvbiBwb3B1cC1ncmFwaC1pY29uLSR7b2JzLmlkfVwiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIiR7R3JhcGhJY29ufVwiLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zaXRlLW5hbWVcIj48Yj4ke1xuICAgICAgICAgICAgICAgICAgICAgIHBvaW50Lmdyb3VwLm5hbWVcbiAgICAgICAgICAgICAgICAgICAgfTwvYj48L2g1PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtY29udGVudF9fc2V2ZXJpdHlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwicG9wdXAtY29udGVudF9fc2V2ZXJpdHktcFwiPiR7aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICBgZXZlbnRzX292ZXJ2aWV3LnNldmVyaXR5YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICl9PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCIke1xuICAgICAgICAgICAgICAgICAgICAgICAgICAncG9wdXAtY29udGVudF9fc2V2ZXJpdHktLScgKyBvYnMuc2V2ZXJpdHlcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YiBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NldmVyaXR5LWJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGV2ZW50c19vdmVydmlldy5zZXZlcml0aWVzLiR7b2JzLnNldmVyaXR5fWAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9iPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIDxociBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX2hyXCIgLz5cblxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtY29udGVudF9fZGlzY2hhcmdlLXRpbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eS1wXCI+JHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZXZlbnRzX292ZXJ2aWV3LmZpcnN0X3NlZW5gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9OjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48YiBpZD1cImZpcnN0LXNlZW4tcG9wdXBcIj48L2I+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwicG9wdXAtY29udGVudF9fc2V2ZXJpdHktcFwiPiR7aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGV2ZW50c19vdmVydmlldy5sYXN0X3NlZW5gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9OjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48YiBpZD1cImxhc3Qtc2Vlbi1wb3B1cFwiPjwvYj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgYDtcbiAgfVxufTtcblxuY29uc3QgZ2V0SWNvbiA9IChcbiAgcG9pbnQ6IElQb2ludCxcbiAgY2xpY2tlZDogYm9vbGVhbixcbiAgc3VidGl0bGU/OiBzdHJpbmcsXG4gIHNob3dTYW1wbGVyPyxcbikgPT4ge1xuICBjb25zdCBpc1dXVFAgPSBwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpXYXN0ZXdhdGVyVHJlYXRtZW50UGxhbnQnO1xuICBjb25zdCB0eXBlID1cbiAgICBwb2ludC5oYXNfZGV2aWNlIHx8IGlzV1dUUCA/IHBvaW50Lmdyb3VwLnR5cGUgOiAnR3JvdXBzOjpkZWZhdWx0JztcbiAgbGV0IHN1YnRpdGxlVGV4dCA9IHN1YnRpdGxlID8gc3VidGl0bGUgOiBwb2ludC5ncm91cC5zZWN0b3JfbmFtZTtcbiAgaWYgKGlzV1dUUCAmJiAhcG9pbnQuaGFzX2RldmljZSkge1xuICAgIHN1YnRpdGxlVGV4dCArPSBgICgke2kxOG4udChcbiAgICAgICdkYXNoYm9hcmRfdjIudXRpbGl0eV9kYXNoYm9hcmQudG9wYmFyLnF1YWxpdHktc3VtbWFyeS51bm1vbml0b3JlZCcsXG4gICAgKX0pYDtcbiAgfVxuICByZXR1cm4gZ2V0UG9pbnRJY29uQnlUeXBlKFxuICAgIHR5cGUsXG4gICAgcG9pbnQubmFtZSxcbiAgICBzdWJ0aXRsZVRleHQsXG4gICAgY2xpY2tlZCxcbiAgICAhY2xpY2tlZCxcbiAgICBmYWxzZSxcbiAgICBzaG93U2FtcGxlcixcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXRJY29uID0gKGVsZW1lbnQsIGNsaWNrZWQsIHBvaW50LCBzdWJ0aXRsZSA9ICcnKSA9PiB7XG4gIGNvbnN0IHNob3dTYW1wbGVyID0gZWxlbWVudFsna2FuZG9fc2hvd19zYW1wbGVyJ10gfHwgZmFsc2U7XG5cbiAgZWxlbWVudC5zZXRJY29uKGdldEljb24ocG9pbnQsIGNsaWNrZWQsIHN1YnRpdGxlLCBzaG93U2FtcGxlcikpO1xufTtcblxuLy8gcm91bmQgdG8gbmVhcmVzdCB0aG91c2FuZCBpcyB1c2VkIHdoZW4geW91IHdhbnQgdG8gcm91bmQgdGhlIHdhdGVyIGNvbnN1bXB0aW9uIHRvIHRoZSBuZWFyZXN0IHRob3VzYW5kXG4vLyBmb3IgZXhhbXBsZTogMjM0LDU2NyAtPiAyMzUsMDAwXG5leHBvcnQgY29uc3QgY2FsY3VsYXRlV2F0ZXJDb25zdW1wdGlvbiA9IChcbiAgZmxvd19yYXRlX3VuaXQ6IHN0cmluZyxcbiAgd2F0ZXJDb25zdW1wdGlvbjogbnVtYmVyLFxuICByb3VuZF90b19uZWFyZXN0X2s6IGJvb2xlYW4gPSBmYWxzZSxcbikgPT4ge1xuICBsZXQgY2FsY3VsYXRlZCA9ICcwJztcblxuICBpZiAod2F0ZXJDb25zdW1wdGlvbiA+IDApIHtcbiAgICBzd2l0Y2ggKGZsb3dfcmF0ZV91bml0KSB7XG4gICAgICBjYXNlICdtM2QnOlxuICAgICAgICBjYWxjdWxhdGVkID0gd2F0ZXJDb25zdW1wdGlvbi50b0ZpeGVkKDIpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2dkX3VzJzpcbiAgICAgICAgY2FsY3VsYXRlZCA9ICh3YXRlckNvbnN1bXB0aW9uICogMjY0LjE3MikudG9GaXhlZCgyKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdnZF91ayc6XG4gICAgICAgIGNhbGN1bGF0ZWQgPSAod2F0ZXJDb25zdW1wdGlvbiAqIDIxOS45NjkpLnRvRml4ZWQoMik7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuICBpZiAocm91bmRfdG9fbmVhcmVzdF9rKSB7XG4gICAgcmV0dXJuIHJvdW5kVG9OZWFyZXN0VGhvdXNhbmQocGFyc2VGbG9hdChjYWxjdWxhdGVkKSkudG9Mb2NhbGVTdHJpbmcoKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gTWF0aC5yb3VuZChwYXJzZUZsb2F0KGNhbGN1bGF0ZWQpKS50b0xvY2FsZVN0cmluZygpO1xuICB9XG59O1xuXG5jb25zdCByb3VuZFRvTmVhcmVzdFRob3VzYW5kID0gKG51bWJlcikgPT4ge1xuICAvLyBpZihpc0FscmVhZHlSb3VuZGVkKG51bWJlcikpIHtcbiAgLy8gICByZXR1cm4gbnVtYmVyO1xuICAvLyB9XG5cbiAgaWYgKG51bWJlciA8IDEwMDApIHtcbiAgICByZXR1cm4gTWF0aC5yb3VuZChudW1iZXIpO1xuICB9XG5cbiAgY29uc3Qgcm91bmRlZFRob3VzYW5kcyA9IE1hdGgucm91bmQobnVtYmVyIC8gMTAwMCk7XG4gIGNvbnN0IHJvdW5kZWRWYWx1ZSA9IHJvdW5kZWRUaG91c2FuZHMgKiAxMDAwO1xuXG4gIHJldHVybiByb3VuZGVkVmFsdWU7XG59O1xuXG4vLyBjb25zdCBpc0FscmVhZHlSb3VuZGVkID0gKG51bWJlcikgPT4ge1xuLy8gICByZXR1cm4gbnVtYmVyID09PSBNYXRoLnJvdW5kKG51bWJlcik7XG4vLyB9XG5cbmV4cG9ydCBjb25zdCB0cmFuc2xhdGVGbG93UmF0ZSA9IChmbG93X3JhdGVfdW5pdCkgPT4ge1xuICByZXR1cm4gaTE4bi50KFxuICAgIGBkYXNoYm9hcmRfdjIucHJvZmlsZS5mbG93X3JhdGVfdW5pdF9vcHRpb25zLiR7XG4gICAgICBmbG93X3JhdGVfdW5pdC5pbmNsdWRlcygnZ2QnKSA/ICdnZCcgOiBmbG93X3JhdGVfdW5pdFxuICAgIH1gLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZU1hcmtlckV2ZW50cyA9IChcbiAgbWFwLFxuICBwb2ludCxcbiAgcG9pbnRDdXN0b21JY29uLFxuICBoYW5kbGVDbGljayxcbikgPT4ge1xuICBsZXQgdG9vbHRpcFZpc2libGUgPSBmYWxzZTtcblxuICBtYXAub24oJ3pvb21zdGFydCcsIGZ1bmN0aW9uICgpIHtcbiAgICBtYXAuY2xvc2VQb3B1cCgpO1xuICB9KTtcblxuICBwb2ludEN1c3RvbUljb24ub24oJ3BvcHVwY2xvc2UnLCAoKSA9PiB7XG4gICAgLy8gc2V0SWNvbihwb2ludEN1c3RvbUljb24sIGZhbHNlLCBwb2ludCk7XG4gICAgdG9vbHRpcFZpc2libGUgPSBmYWxzZTtcbiAgfSk7XG5cbiAgcG9pbnRDdXN0b21JY29uLm9uKCdwb3B1cG9wZW4nLCAoKSA9PiB7XG4gICAgLy8gc2V0SWNvbihwb2ludEN1c3RvbUljb24sIHRydWUsIHBvaW50KTtcbiAgICB0b29sdGlwVmlzaWJsZSA9IHRydWU7XG4gIH0pO1xuXG4gIHBvaW50Q3VzdG9tSWNvbi5vbignbW91c2VvdmVyJywgKCkgPT4ge1xuICAgIGlmICh0b29sdGlwVmlzaWJsZSkgcmV0dXJuO1xuXG4gICAgc2V0SWNvbihwb2ludEN1c3RvbUljb24sIHRydWUsIHBvaW50KTtcbiAgICB0b29sdGlwVmlzaWJsZSA9IHRydWU7XG4gIH0pO1xuXG4gIHBvaW50Q3VzdG9tSWNvbi5vbignbW91c2VvdXQnLCAoKSA9PiB7XG4gICAgaWYgKHBvaW50Q3VzdG9tSWNvbi5pc1BvcHVwT3BlbigpKSByZXR1cm47XG5cbiAgICBzZXRJY29uKHBvaW50Q3VzdG9tSWNvbiwgZmFsc2UsIHBvaW50KTtcbiAgICB0b29sdGlwVmlzaWJsZSA9IGZhbHNlO1xuICB9KTtcblxuICBpZiAodHlwZW9mIGhhbmRsZUNsaWNrID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcG9pbnRDdXN0b21JY29uLm9uKCdjbGljaycsICgpID0+IHtcbiAgICAgIGhhbmRsZUNsaWNrKHBvaW50Q3VzdG9tSWNvbi5rYW5kb19vYmplY3RfaWQpO1xuXG4gICAgICBpZiAocG9pbnRJc0ZhY3RvcnkocG9pbnQpKSB7XG4gICAgICAgIHNlbmRBbmFseXRpY3NFdmVudCgnTWFwIFZpZXcgLSBGYWN0b3J5IGNsaWNrZWQnLCAnbWFwJywge1xuICAgICAgICAgIHBvaW50X2lkOiBwb2ludC5pZCxcbiAgICAgICAgICBwb2ludF9uYW1lOiBwb2ludC5uYW1lLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGJpbmRQb3B1cFRvTWFya2VyID0gKHBvaW50LCBsYXllckdyb3VwLCBmbG93X3JhdGVfdW5pdCkgPT4ge1xuICBsZXQgY29udGVudCA9IGBcbiAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnQnPlxuICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2hlYWRlcic+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1jb250ZW50X19oZWFkZXJfX3RpdGxlc1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9faGVhZGVyX190aXRsZXNfX3RpdGxlJz4ke1xuICAgICAgICAgICAgICAgICAgcG9pbnQubmFtZVxuICAgICAgICAgICAgICAgIH08L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2hlYWRlcl9fdGl0bGVzX19zdWJ0aXRsZSc+JHtcbiAgICAgICAgICAgICAgICAgIHBvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lXG4gICAgICAgICAgICAgICAgfTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgIFxuICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHknPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5X19pdGVtJz5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHlfX2l0ZW1fX2ljb24nPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0nJHt3YXRlclJldXNlSWNvbn0nIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5X19pdGVtX190aXRsZXMnPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5X19pdGVtX190aXRsZXNfX3RpdGxlJz5cbiAgICAgICAgICAgICAgICAgICAgJHtnZXRGbG93UmF0ZShwb2ludC5ncm91cC53YXRlcl9kaXNjaGFyZ2UsIGZsb3dfcmF0ZV91bml0KX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5X19pdGVtX190aXRsZXNfX3N1YnRpdGxlJz4ke2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgJ3dhdGVyX2Rpc2NoYXJnZScsXG4gICAgICAgICAgICAgICAgICApfTwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIGA7XG5cbiAgbGF5ZXJHcm91cC5iaW5kUG9wdXAoY29udGVudCwge1xuICAgIGNsYXNzTmFtZTogJ3BvaW50LW1hcmtlci1wb3B1cCcsXG4gICAgbWluV2lkdGg6ICcyMTRweCcsXG4gICAgbWF4V2lkdGg6ICcyMTRweCcsXG4gICAgY2xvc2VCdXR0b246IHRydWUsXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEZsb3dSYXRlID0gKFxuICB3YXRlckNvbnN1bXB0aW9uOiBudW1iZXIsXG4gIGZsb3dSYXRlVW5pdDogc3RyaW5nLFxuICBpc1JvdW5kOiBib29sZWFuID0gZmFsc2UsXG4pID0+IHtcbiAgaWYgKHdhdGVyQ29uc3VtcHRpb24gPiAwKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIGNhbGN1bGF0ZVdhdGVyQ29uc3VtcHRpb24oZmxvd1JhdGVVbml0LCB3YXRlckNvbnN1bXB0aW9uLCBpc1JvdW5kKSArXG4gICAgICAnICcgK1xuICAgICAgdHJhbnNsYXRlRmxvd1JhdGUoZmxvd1JhdGVVbml0KVxuICAgICk7XG4gIH1cbiAgcmV0dXJuIGkxOG4udCgnZXZlbnRzX292ZXJ2aWV3LnNldmVyaXRpZXMudW5rbm93bicpO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlbW92ZUxheWVyR3JvdXAgPSAobWFwLCBsYXllckdyb3VwKSA9PiB7XG4gIGlmIChtYXAuaGFzTGF5ZXIobGF5ZXJHcm91cCkpIHtcbiAgICBtYXAucmVtb3ZlTGF5ZXIobGF5ZXJHcm91cCk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBhZGRMYXllckdyb3VwID0gKG1hcCwgbGF5ZXJHcm91cCkgPT4ge1xuICBpZiAoIW1hcC5oYXNMYXllcihsYXllckdyb3VwKSkge1xuICAgIG1hcC5hZGRMYXllcihsYXllckdyb3VwKTtcbiAgfSBlbHNlIHtcbiAgICByZW1vdmVMYXllckdyb3VwKG1hcCwgbGF5ZXJHcm91cCk7XG4gICAgYWRkTGF5ZXJHcm91cChtYXAsIGxheWVyR3JvdXApO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgcG9pbnRJc1dXVFAgPSAocG9pbnQ6IElQb2ludCkgPT4ge1xuICByZXR1cm4gcG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6V2FzdGV3YXRlclRyZWF0bWVudFBsYW50Jztcbn07XG5cbmV4cG9ydCBjb25zdCBwb2ludElzRmFjdG9yeSA9IChwb2ludDogSVBvaW50KSA9PiB7XG4gIHJldHVybiBpc0ZhY3RvcnlUeXBlKHBvaW50Lmdyb3VwLnR5cGUpO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzRmFjdG9yeVR5cGUgPSAodHlwZTogc3RyaW5nKSA9PiB7XG4gIHJldHVybiB0eXBlID09PSAnR3JvdXBzOjpGYWN0b3J5Jztcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQ0EsSUFBQUEsUUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsS0FBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQTJDLElBQUFFLFdBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUFBLElBQUFHLGFBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUFBLElBQUFJLFdBQUEsR0FBQUwsc0JBQUEsQ0FBQUMsT0FBQTtBQUFBLElBQUFLLGdCQUFBLEdBQUFOLHNCQUFBLENBQUFDLE9BQUE7QUFPM0MsSUFBQU0sZ0JBQUEsR0FBQVAsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFPLGtCQUFBLEdBQUFSLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBUSxvQkFBQSxHQUFBVCxzQkFBQSxDQUFBQyxPQUFBO0FBQXlGLElBQUFTLGFBQUEsR0FBQVYsc0JBQUEsQ0FBQUMsT0FBQTtBQUFBLElBQUFVLFlBQUEsR0FBQVgsc0JBQUEsQ0FBQUMsT0FBQTtBQUFBLElBQUFXLFlBQUEsR0FBQVosc0JBQUEsQ0FBQUMsT0FBQTtBQUFBLElBQUFZLGdCQUFBLEdBQUFiLHNCQUFBLENBQUFDLE9BQUE7QUFBQSxJQUFBYSxTQUFB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
497
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2kxOG4iLCJfYmx1ZUNpcmNsZSIsIl9zYW1wbGluZ0ljb24iLCJfcGlua0NpcmNsZSIsIl9vYnNlcnZhdGlvbkljb24iLCJfcmVkUGluUmVkU2hhZG93IiwiX3doaXRlUGluUmVkU2hhZG93IiwiX3doaXRlUGluQmxhY2tTaGFkb3ciLCJfeWVsbG93Q2lyY2xlIiwiX2ZhY3RvcnlJY29uIiwiX2dyZWVuQ2lyY2xlIiwiX3B1bXBTdGF0aW9uSWNvbiIsIl9waW5XYXRlciIsIl9icmlnaHRCbHVlQ2lyY2xlIiwiX1dXVFBJY29uIiwiX3dhdGVyTm9CYWNrZ3JvdW5kIiwiX3doaXRlUG9pbnQiLCJfUG9pbnRJY29uIiwiX3dhdGVyX3JldXNlIiwiX3V0aWxzIiwiaXNDb2xsZWN0b3JGb2N1c2VkIiwicG9pbnQiLCJldmVudCIsIl9ldmVudCRvYnNlcnZhdGlvbnMiLCJvYnNlcnZhdGlvbnMiLCJsZW5ndGgiLCJpZCIsInBvaW50X2lkIiwiZXhwb3J0cyIsImJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmciLCJzdHJpbmciLCJjb25jYXQiLCJncm91cCIsIm5hbWUiLCJwb2ludElzRmFjdG9yeSIsInNlY3Rvcl9uYW1lIiwid2F0ZXJfZGlzY2hhcmdlIiwiYnViYmxlRm9yV1dUUCIsImFyZ3MiLCJwb2ludEN1c3RvbUljb24iLCJMIiwibWFya2VyIiwibWFya2VyTG9jYXRpb24iLCJpY29uIiwiZ2V0SWNvbiIsInd3dHBQb2ludCIsInJpc2VPbkhvdmVyIiwiaGFzX2RldmljZSIsImhhc19zYW1wbGVyIiwiY3JlYXRlQnViYmxlUG9pbnQiLCJtYXAiLCJob3ZlcmVkIiwibGF5ZXJHcm91cCIsImZsb3dfcmF0ZV91bml0IiwiYXJndW1lbnRzIiwidW5kZWZpbmVkIiwiaGFuZGxlQ2xpY2siLCJzaG93U2FtcGxlciIsIm1hcmtlck9uTWFwIiwiZ2V0TGF5ZXJzIiwiZmluZCIsImxheWVyIiwia2FuZG9fb2JqZWN0X2lkIiwic3VidGl0bGUiLCJ0eXBlIiwicG9pbnRJc1dXVFAiLCJnZXRQb2ludEljb25CeVR5cGUiLCJ0aXRsZSIsImhhc0lzc3VlcyIsInNob3VsZEluc3RhbGwiLCJhZGRMYXllciIsImJpbmRQb3B1cFRvTWFya2VyIiwiaGFuZGxlTWFya2VyRXZlbnRzIiwiY3JlYXRlTWFuaG9sZVBvaW50IiwicG9pbnRJY29uIiwiSWNvbiIsImljb25VcmwiLCJ3aGl0ZVBvaW50IiwiaWNvblNpemUiLCJpY29uQW5jaG9yIiwibWFuaG9sZUljb24iLCJNYXJrZXIiLCJiaW5kVG9vbHRpcCIsIm1hdGNoSWNvblRvUG9pbnQiLCJjb21iaW5lZEZhY3RvcnlJY29uIiwibWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UiLCJ1bnNoaWZ0Iiwic2VsZWN0ZWRCYWNrZ3JvdW5kIiwibWFya2VyQmVsb25nc1RvU291cmNlIiwiYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCIsInN0YW5kYXJkQmFja2dyb3VuZCIsImNvbWJpbmVkUHVtcFN0YXRpb25JY29uIiwiY29tYmluZWRXV1RQSWNvbiIsInJlZFBpblJlZFNoYWRvdyIsIndhdGVySWNvbk5vQmFja2dyb3VuZCIsInBvcHVwQW5jaG9yIiwiY29tYmluZWRDb2xsZWN0b3JzSWNvbiIsInNlY29uZGFyeSIsInRoaXJkIiwid2hpdGVQaW5CbGFja1NoYWRvdyIsInllbGxvd0NpcmNsZVVSTCIsInBsYW50SWNvblVSTCIsImdyZWVuQ2lyY2xlVVJMIiwicHVtcFN0YXRpb25JY29uVVJMIiwiY29sbGVjdG9ySWNvbiIsImJyaWdodEJsdWVDaXJjbGVVUkwiLCJXV1RQSWNvblVSTCIsIndoaXRlUGluUmVkU2hhZG93Iiwic291cmNlIiwic291cmNlcyIsImZpbHRlciIsInNlbGVjdGVkX3NvdXJjZSIsImNyZWF0ZVNhbXBsaW5nSWNvblBvaW50Iiwic2Vjb25kYXJ5SWNvbiIsInNhbXBsaW5nSWNvbiIsImJsdWVDaXJjbGVVUkwiLCJzYW1wbGluZ0ljb25VUkwiLCJ0aGlyZEljb24iLCJmb3JFYWNoIiwiaW5kZXgiLCJjcmVhdGVPYnNlcnZhdGlvbkljb25Qb2ludCIsIm9ic2VydmF0aW9uSWNvbiIsInBpbmtDaXJjbGVVUkwiLCJvYnNlcnZhdGlvbkljb25VUkwiLCJjcmVhdGVTYW1wbGluZ0ljb25zIiwic2FtcGxlZFBvaW50SWRzIiwic2FtcGxpbmdzIiwicyIsImluY2x1ZGVzIiwicG9wdXBDb250ZW50Iiwib2JzIiwiR3JhcGhJY29uIiwiaTE4biIsInQiLCJzZXZlcml0eSIsImNsaWNrZWQiLCJpc1dXVFAiLCJzdWJ0aXRsZVRleHQiLCJzZXRJY29uIiwiZWxlbWVudCIsImNhbGN1bGF0ZVdhdGVyQ29uc3VtcHRpb24iLCJ3YXRlckNvbnN1bXB0aW9uIiwicm91bmRfdG9fbmVhcmVzdF9rIiwiY2FsY3VsYXRlZCIsInRvRml4ZWQiLCJyb3VuZFRvTmVhcmVzdFRob3VzYW5kIiwicGFyc2VGbG9hdCIsInRvTG9jYWxlU3RyaW5nIiwiTWF0aCIsInJvdW5kIiwibnVtYmVyIiwicm91bmRlZFRob3VzYW5kcyIsInJvdW5kZWRWYWx1ZSIsInRyYW5zbGF0ZUZsb3dSYXRlIiwidG9vbHRpcFZpc2libGUiLCJvbiIsImNsb3NlUG9wdXAiLCJzZXRUaW1lb3V0IiwiZmlyZSIsImlzUG9wdXBPcGVuIiwic2VuZEFuYWx5dGljc0V2ZW50IiwicG9pbnRfbmFtZSIsImNvbnRlbnQiLCJ3YXRlclJldXNlSWNvbiIsImdldEZsb3dSYXRlIiwiYmluZFBvcHVwIiwiY2xhc3NOYW1lIiwibWluV2lkdGgiLCJtYXhXaWR0aCIsImNsb3NlQnV0dG9uIiwiZmxvd1JhdGVVbml0IiwiaXNSb3VuZCIsInJlbW92ZUxheWVyR3JvdXAiLCJoYXNMYXllciIsInJlbW92ZUxheWVyIiwiYWRkTGF5ZXJHcm91cCIsImlzRmFjdG9yeVR5cGUiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvcG9pbnRzL1BvaW50VXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEdyYXBoSWNvbiBmcm9tICcuLi8uLi8uLi9hc3NldHMvbGluZS1jaGFydC5zdmcnO1xuaW1wb3J0IEwsIHsgTGF0TG5nVHVwbGUgfSBmcm9tICdsZWFmbGV0JztcbmltcG9ydCBpMThuIGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCBibHVlQ2lyY2xlVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9ibHVlLWNpcmNsZS5zdmcnO1xuaW1wb3J0IHNhbXBsaW5nSWNvblVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvc2FtcGxpbmctaWNvbi5zdmcnO1xuaW1wb3J0IHBpbmtDaXJjbGVVUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3BpbmstY2lyY2xlLnN2Zyc7XG5pbXBvcnQgb2JzZXJ2YXRpb25JY29uVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9vYnNlcnZhdGlvbi1pY29uLnN2Zyc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgcmVkUGluUmVkU2hhZG93IGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9yZWQtcGluLXJlZC1zaGFkb3cucG5nJztcbmltcG9ydCB3aGl0ZVBpblJlZFNoYWRvdyBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvd2hpdGUtcGluLXJlZC1zaGFkb3cucG5nJztcbmltcG9ydCB3aGl0ZVBpbkJsYWNrU2hhZG93IGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy93aGl0ZS1waW4tYmxhY2stc2hhZG93LnBuZyc7XG5pbXBvcnQgeWVsbG93Q2lyY2xlVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy95ZWxsb3ctY2lyY2xlLnN2Zyc7XG5pbXBvcnQgcGxhbnRJY29uVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9mYWN0b3J5LWljb24uc3ZnJztcbmltcG9ydCBncmVlbkNpcmNsZVVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvZ3JlZW4tY2lyY2xlLnN2Zyc7XG5pbXBvcnQgcHVtcFN0YXRpb25JY29uVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9wdW1wLXN0YXRpb24taWNvbi5zdmcnO1xuaW1wb3J0IGNvbGxlY3Rvckljb24gZnJvbSAnLi4vLi4vLi4vYXNzZXRzL21hcC9waW4td2F0ZXIuc3ZnJztcbmltcG9ydCBicmlnaHRCbHVlQ2lyY2xlVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9icmlnaHQtYmx1ZS1jaXJjbGUuc3ZnJztcbmltcG9ydCBXV1RQSWNvblVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvV1dUUC1pY29uLnN2Zyc7XG5pbXBvcnQgd2F0ZXJJY29uTm9CYWNrZ3JvdW5kIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy93YXRlci1uby1iYWNrZ3JvdW5kLnN2Zyc7XG5pbXBvcnQgd2hpdGVQb2ludCBmcm9tICcuLi8uLi8uLi9hc3NldHMvd2hpdGUtcG9pbnQucG5nJztcbmltcG9ydCB7IGdldFBvaW50SWNvbkJ5VHlwZSB9IGZyb20gJy4vUG9pbnRJY29uJztcbmltcG9ydCB3YXRlclJldXNlSWNvbiBmcm9tICcuLi8uLi8uLi9hc3NldHMvaWNvbnMvd2F0ZXJfcmV1c2Uuc3ZnJztcbmltcG9ydCB7IHNlbmRBbmFseXRpY3NFdmVudCB9IGZyb20gJ3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgaXNDb2xsZWN0b3JGb2N1c2VkID0gKHBvaW50OiBJUG9pbnQsIGV2ZW50OiBJRXZlbnQpID0+IHtcbiAgcmV0dXJuIChcbiAgICBldmVudD8ub2JzZXJ2YXRpb25zPy5sZW5ndGggPT09IDEgJiZcbiAgICBwb2ludC5pZCA9PT0gZXZlbnQub2JzZXJ2YXRpb25zWzBdLnBvaW50X2lkXG4gICk7XG59O1xuXG5jb25zdCBidWlsZE1hbmhvbGVUb29sdGlwU3RyaW5nID0gKHBvaW50OiBJUG9pbnQpID0+IHtcbiAgbGV0IHN0cmluZyA9IGAke3BvaW50Lmdyb3VwLm5hbWV9IGA7XG5cbiAgaWYgKHBvaW50SXNGYWN0b3J5KHBvaW50KSkge1xuICAgIHN0cmluZyArPSBgPGJyLz5TZWN0b3I6ICR7cG9pbnQuZ3JvdXAuc2VjdG9yX25hbWV9YDtcbiAgICBzdHJpbmcgKz0gYDxici8+V2F0ZXIgQ29uc3VtcHRpb246ICR7cG9pbnQuZ3JvdXAud2F0ZXJfZGlzY2hhcmdlfWA7XG4gIH0gZWxzZSB7XG4gICAgc3RyaW5nID0gYCR7cG9pbnQubmFtZX1gO1xuICB9XG5cbiAgcmV0dXJuIHN0cmluZztcbn07XG5cbmV4cG9ydCBjb25zdCBidWJibGVGb3JXV1RQID0gKGFyZ3MpID0+IHtcbiAgY29uc3QgcG9pbnRDdXN0b21JY29uOiBMLk1hcmtlciA9IEwubWFya2VyKGFyZ3MubWFya2VyTG9jYXRpb24sIHtcbiAgICBpY29uOiBnZXRJY29uKGFyZ3Mud3d0cFBvaW50LCBmYWxzZSksXG4gICAgcmlzZU9uSG92ZXI6IHRydWUsXG4gIH0pO1xuICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdF9pZCddID0gYXJncy53d3RwUG9pbnQuaWQ7XG4gIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnUG9pbnQnO1xuICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2hhc19kZXZpY2UnXSA9IGFyZ3Mud3d0cFBvaW50Lmhhc19kZXZpY2U7XG4gIHBvaW50Q3VzdG9tSWNvblsna2FuZG9faGFzX3NhbXBsZXInXSA9IGFyZ3Mud3d0cFBvaW50Lmhhc19zYW1wbGVyO1xuXG4gIHJldHVybiBwb2ludEN1c3RvbUljb247XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlQnViYmxlUG9pbnQgPSAoXG4gIG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSxcbiAgcG9pbnQ6IElQb2ludCxcbiAgbWFwLFxuICBob3ZlcmVkPyxcbiAgbGF5ZXJHcm91cD8sXG4gIGZsb3dfcmF0ZV91bml0ID0gJ2dkX3VzJyxcbiAgaGFuZGxlQ2xpY2s/LFxuICBzaG93U2FtcGxlcjogYm9vbGVhbiA9IGZhbHNlLFxuKSA9PiB7XG4gIGNvbnN0IG1hcmtlck9uTWFwID0gbGF5ZXJHcm91cFxuICAgIC5nZXRMYXllcnMoKVxuICAgIC5maW5kKChsYXllcikgPT4gbGF5ZXIua2FuZG9fb2JqZWN0X2lkID09PSBwb2ludC5pZCk7XG5cbiAgaWYgKCFtYXJrZXJPbk1hcCkge1xuICAgIGNvbnN0IHN1YnRpdGxlID0gcG9pbnRJc0ZhY3RvcnkocG9pbnQpID8gcG9pbnQuZ3JvdXAuc2VjdG9yX25hbWUgOiAnJztcbiAgICBjb25zdCB0eXBlID1cbiAgICAgIHBvaW50Lmhhc19kZXZpY2UgfHwgcG9pbnRJc1dXVFAocG9pbnQpXG4gICAgICAgID8gcG9pbnQuZ3JvdXAudHlwZVxuICAgICAgICA6ICdHcm91cHM6OmRlZmF1bHQnO1xuICAgIGxldCBwb2ludEN1c3RvbUljb246IEwuTWFya2VyID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICAgIGljb246IGdldFBvaW50SWNvbkJ5VHlwZShcbiAgICAgICAgdHlwZSxcbiAgICAgICAgcG9pbnQubmFtZSxcbiAgICAgICAgc3VidGl0bGUsXG4gICAgICAgIGZhbHNlLFxuICAgICAgICB0cnVlLFxuICAgICAgICBmYWxzZSxcbiAgICAgICAgc2hvd1NhbXBsZXIsXG4gICAgICAgIGZhbHNlLFxuICAgICAgKSxcbiAgICAgIHJpc2VPbkhvdmVyOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3RfaWQnXSA9IHBvaW50LmlkO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnUG9pbnQnO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9faGFzX2RldmljZSddID0gcG9pbnQuaGFzX2RldmljZTtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2hhc19zYW1wbGVyJ10gPSBwb2ludC5oYXNfc2FtcGxlcjtcbiAgICBpZiAoaG92ZXJlZCkgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdQb2ludEhvdmVyZWQnO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9faWNvbl9kYXRhJ10gPSB7XG4gICAgICB0eXBlOiB0eXBlLFxuICAgICAgdGl0bGU6IHBvaW50Lm5hbWUsXG4gICAgICBzdWJ0aXRsZTogc3VidGl0bGUsXG4gICAgICBoYXNJc3N1ZXM6IGZhbHNlLFxuICAgICAgc2hvdWxkSW5zdGFsbDogZmFsc2UsXG4gICAgfTtcblxuICAgIGxheWVyR3JvdXAuYWRkTGF5ZXIocG9pbnRDdXN0b21JY29uKTtcbiAgICBpZiAocG9pbnRJc0ZhY3RvcnkocG9pbnQpKSB7XG4gICAgICBiaW5kUG9wdXBUb01hcmtlcihwb2ludCwgcG9pbnRDdXN0b21JY29uLCBmbG93X3JhdGVfdW5pdCk7XG4gICAgfVxuXG4gICAgaGFuZGxlTWFya2VyRXZlbnRzKG1hcCwgcG9pbnQsIHBvaW50Q3VzdG9tSWNvbiwgaGFuZGxlQ2xpY2spO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlTWFuaG9sZVBvaW50ID0gKFxuICBtYXJrZXJMb2NhdGlvbjogTGF0TG5nVHVwbGUsXG4gIHBvaW50OiBJUG9pbnQsXG4gIG1hcCxcbiAgaG92ZXJlZD8sXG4gIGxheWVyR3JvdXA/LFxuKSA9PiB7XG4gIGxldCBwb2ludEljb24gPSBuZXcgTC5JY29uKHtcbiAgICBpY29uVXJsOiB3aGl0ZVBvaW50LFxuICAgIGljb25TaXplOiBbOSwgOV0sXG4gICAgaWNvbkFuY2hvcjogWzQuNSwgNC41XSxcbiAgfSk7XG4gIGxldCBtYW5ob2xlSWNvbjogYW55ID0gbmV3IEwuTWFya2VyKG1hcmtlckxvY2F0aW9uLCB7XG4gICAgaWNvbjogcG9pbnRJY29uLFxuICAgIHJpc2VPbkhvdmVyOiB0cnVlLFxuICB9KTtcbiAgbWFuaG9sZUljb24uYmluZFRvb2x0aXAoYnVpbGRNYW5ob2xlVG9vbHRpcFN0cmluZyhwb2ludCkpO1xuICBtYW5ob2xlSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgbWFuaG9sZUljb25bJ2thbmRvX29iamVjdCddID0gJ1BvaW50JztcbiAgbWFuaG9sZUljb25bJ2thbmRvX3BvaW50X3R5cGUnXSA9ICdNYW5ob2xlJztcbiAgbWFuaG9sZUljb25bJ2thbmRvX2hhc19kZXZpY2UnXSA9IHBvaW50Lmhhc19kZXZpY2U7XG4gIG1hbmhvbGVJY29uWydrYW5kb19oYXNfc2FtcGxlciddID0gcG9pbnQuaGFzX3NhbXBsZXI7XG4gIGlmIChob3ZlcmVkKSBtYW5ob2xlSWNvblsna2FuZG9fb2JqZWN0J10gPSAnUG9pbnRIb3ZlcmVkJztcbiAgbGF5ZXJHcm91cC5hZGRMYXllcihtYW5ob2xlSWNvbik7XG59O1xuXG4vLyAqKipDb25zaWRlciByZW1vdmluZyB0aGlzIGZ1bmN0aW9uIGl0IGlzIG5vdCB1c2VkIGZvciBtb3JlIHRoYW4gdHdvIHllYXJzKioqXG5leHBvcnQgY29uc3QgbWF0Y2hJY29uVG9Qb2ludCA9IChwb2ludDogSVBvaW50LCBldmVudDogSUV2ZW50KSA9PiB7XG4gIHN3aXRjaCAocG9pbnQuZ3JvdXAudHlwZSkge1xuICAgIGNhc2UgJ0dyb3Vwczo6RmFjdG9yeSc6XG4gICAgICBpZiAoY29tYmluZWRGYWN0b3J5SWNvbi5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkpIHtcbiAgICAgICAgICBjb21iaW5lZEZhY3RvcnlJY29uLnVuc2hpZnQoc2VsZWN0ZWRCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9IGVsc2UgaWYgKG1hcmtlckJlbG9uZ3NUb1NvdXJjZShldmVudCwgcG9pbnQpKSB7XG4gICAgICAgICAgY29tYmluZWRGYWN0b3J5SWNvbi51bnNoaWZ0KGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29tYmluZWRGYWN0b3J5SWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29tYmluZWRGYWN0b3J5SWNvbjtcbiAgICBjYXNlICdHcm91cHM6OlB1bXBTdGF0aW9uJzpcbiAgICAgIGlmIChjb21iaW5lZFB1bXBTdGF0aW9uSWNvbi5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkpIHtcbiAgICAgICAgICBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbi51bnNoaWZ0KHNlbGVjdGVkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIGlmIChtYXJrZXJCZWxvbmdzVG9Tb3VyY2UoZXZlbnQsIHBvaW50KSkge1xuICAgICAgICAgIGNvbWJpbmVkUHVtcFN0YXRpb25JY29uLnVuc2hpZnQoYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29tYmluZWRQdW1wU3RhdGlvbkljb247XG4gICAgY2FzZSAnR3JvdXBzOjpXYXN0ZXdhdGVyVHJlYXRtZW50UGxhbnQnOlxuICAgICAgaWYgKGNvbWJpbmVkV1dUUEljb24ubGVuZ3RoID09PSAyKSB7XG4gICAgICAgIGlmIChtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZShldmVudCwgcG9pbnQpKSB7XG4gICAgICAgICAgY29tYmluZWRXV1RQSWNvbi51bnNoaWZ0KHNlbGVjdGVkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIGlmIChtYXJrZXJCZWxvbmdzVG9Tb3VyY2UoZXZlbnQsIHBvaW50KSkge1xuICAgICAgICAgIGNvbWJpbmVkV1dUUEljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbWJpbmVkV1dUUEljb24udW5zaGlmdChzdGFuZGFyZEJhY2tncm91bmQoKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbWJpbmVkV1dUUEljb247XG5cbiAgICBjYXNlICdHcm91cHM6OkNvbGxlY3RvcnMnOlxuICAgICAgaWYgKGlzQ29sbGVjdG9yRm9jdXNlZChwb2ludCwgZXZlbnQpKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgTC5pY29uKHtcbiAgICAgICAgICAgIGljb25Vcmw6IHJlZFBpblJlZFNoYWRvdyxcbiAgICAgICAgICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgICAgICAgICBpY29uQW5jaG9yOiBbMzAsIDUyXSxcbiAgICAgICAgICB9KSxcblxuICAgICAgICAgIEwuaWNvbih7XG4gICAgICAgICAgICBpY29uVXJsOiB3YXRlckljb25Ob0JhY2tncm91bmQsXG4gICAgICAgICAgICBpY29uU2l6ZTogWzAsIDBdLFxuXG4gICAgICAgICAgICBpY29uQW5jaG9yOiBbMjIsIDQ0XSxcbiAgICAgICAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbWJpbmVkQ29sbGVjdG9yc0ljb247XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIG51bGw7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBzdGFuZGFyZEJhY2tncm91bmQgPSAoXG4gIHNlY29uZGFyeTogYm9vbGVhbiA9IGZhbHNlLFxuICB0aGlyZDogYm9vbGVhbiA9IGZhbHNlLFxuKSA9PiB7XG4gIHJldHVybiBMLmljb24oe1xuICAgIGljb25Vcmw6IHdoaXRlUGluQmxhY2tTaGFkb3csXG4gICAgaWNvblNpemU6IHNlY29uZGFyeSA/IFswLCAwXSA6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBzZWNvbmRhcnkgJiYgdGhpcmQgPyBbLTIsIDE5XSA6IHNlY29uZGFyeSA/IFstMiwgNDRdIDogWzIwLCA0Ml0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBjb21iaW5lZEZhY3RvcnlJY29uID0gW1xuICBMLmljb24oe1xuICAgIGljb25Vcmw6IHllbGxvd0NpcmNsZVVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFsxMC43LCAzMy43XSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuICBMLmljb24oe1xuICAgIGljb25Vcmw6IHBsYW50SWNvblVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFs1LCAzMF0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbl07XG5cbmV4cG9ydCBjb25zdCBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbiA9IFtcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiBncmVlbkNpcmNsZVVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFsxMC43LCAzMy43XSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuICBMLmljb24oe1xuICAgIGljb25Vcmw6IHB1bXBTdGF0aW9uSWNvblVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFs3LCAzMl0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbl07XG5cbmV4cG9ydCBjb25zdCBjb21iaW5lZENvbGxlY3RvcnNJY29uID0gW1xuICBMLmljb24oe1xuICAgIGljb25Vcmw6IGNvbGxlY3Rvckljb24sXG4gICAgaWNvblNpemU6IFswLCAwXSxcblxuICAgIGljb25BbmNob3I6IFsyNSwgNTBdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG5dO1xuXG5leHBvcnQgY29uc3QgY29tYmluZWRXV1RQSWNvbiA9IFtcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiBicmlnaHRCbHVlQ2lyY2xlVVJMLFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzEwLjcsIDMzLjddLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG4gIEwuaWNvbih7XG4gICAgaWNvblVybDogV1dUUEljb25VUkwsXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbOCwgMzFdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG5dO1xuXG5leHBvcnQgY29uc3Qgc2VsZWN0ZWRCYWNrZ3JvdW5kID0gKCkgPT4ge1xuICByZXR1cm4gTC5pY29uKHtcbiAgICBpY29uVXJsOiByZWRQaW5SZWRTaGFkb3csXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbMzIsIDU0XSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQgPSAoKSA9PiB7XG4gIHJldHVybiBMLmljb24oe1xuICAgIGljb25Vcmw6IHdoaXRlUGluUmVkU2hhZG93LFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzMyLCA1NF0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZSA9IChldmVudDogSUV2ZW50LCBwb2ludDogSVBvaW50KSA9PiB7XG4gIGxldCBzb3VyY2U7XG5cbiAgaWYgKGV2ZW50ICE9PSBudWxsICYmIGV2ZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICBzb3VyY2UgPSBldmVudC5zb3VyY2VzLmZpbHRlcigoc291cmNlKSA9PiBzb3VyY2UucG9pbnRfaWQgPT09IHBvaW50LmlkKVswXTtcbiAgfVxuXG4gIHJldHVybiBldmVudCAhPT0gbnVsbCAmJiBzb3VyY2UgJiYgZXZlbnQuc2VsZWN0ZWRfc291cmNlID09PSBzb3VyY2UucG9pbnRfaWQ7XG59O1xuXG5leHBvcnQgY29uc3QgbWFya2VyQmVsb25nc1RvU291cmNlID0gKGV2ZW50OiBJRXZlbnQsIHBvaW50OiBJUG9pbnQpID0+IHtcbiAgaWYgKGV2ZW50ID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgcmV0dXJuIChcbiAgICBldmVudCAhPT0gbnVsbCAmJlxuICAgIGV2ZW50LnNvdXJjZXMuZmlsdGVyKChzb3VyY2UpID0+IHNvdXJjZS5wb2ludF9pZCA9PT0gcG9pbnQuaWQpWzBdXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlU2FtcGxpbmdJY29uUG9pbnQgPSAoXG4gIG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSxcbiAgc2Vjb25kYXJ5SWNvbjogYm9vbGVhbixcbiAgbWFwLFxuICBwb2ludDogSVBvaW50LFxuICBldmVudDogSUV2ZW50LFxuICBob3ZlcmVkPyxcbiAgbGF5ZXJHcm91cD8sXG4pID0+IHtcbiAgLy8gaWNvblNpemU6IFt3aWR0aCwgaGVpZ2h0XSxcbiAgLy8gSWNvbiBBbmNob3I6IFsoLXJpZ2h0KSgrbGVmdCksICgtZG93bikoK3VwKV1cbiAgbGV0IHNhbXBsaW5nSWNvbiA9IFtcbiAgICBMLmljb24oe1xuICAgICAgaWNvblVybDogYmx1ZUNpcmNsZVVSTCxcbiAgICAgIGljb25TaXplOiBzZWNvbmRhcnlJY29uID8gWzAsIDBdIDogWzAsIDBdLFxuICAgICAgaWNvbkFuY2hvcjogc2Vjb25kYXJ5SWNvbiA/IFstNywgMTVdIDogWzEwLjcsIDMzLjddLFxuICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgIH0pLFxuICAgIEwuaWNvbih7XG4gICAgICBpY29uVXJsOiBzYW1wbGluZ0ljb25VUkwsXG4gICAgICBpY29uU2l6ZTogc2Vjb25kYXJ5SWNvbiA/IFswLCAwXSA6IFswLCAwXSxcbiAgICAgIGljb25BbmNob3I6IHNlY29uZGFyeUljb24gPyBbLTgsIDEzXSA6IFs1LCAzMF0sXG4gICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgfSksXG4gIF07XG5cbiAgbGV0IHRoaXJkSWNvbiA9IGZhbHNlO1xuICBpZiAobWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UoZXZlbnQsIHBvaW50KSAmJiAhc2Vjb25kYXJ5SWNvbikge1xuICAgIHNhbXBsaW5nSWNvbi51bnNoaWZ0KHNlbGVjdGVkQmFja2dyb3VuZCgpKTtcbiAgfSBlbHNlIGlmIChtYXJrZXJCZWxvbmdzVG9Tb3VyY2UoZXZlbnQsIHBvaW50KSAmJiAhc2Vjb25kYXJ5SWNvbikge1xuICAgIHNhbXBsaW5nSWNvbi51bnNoaWZ0KGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQoKSk7XG4gIH0gZWxzZSB7XG4gICAgdGhpcmRJY29uID0gdHJ1ZTtcbiAgICBzYW1wbGluZ0ljb24udW5zaGlmdChzdGFuZGFyZEJhY2tncm91bmQoc2Vjb25kYXJ5SWNvbiwgdGhpcmRJY29uKSk7XG4gIH1cblxuICBzYW1wbGluZ0ljb24uZm9yRWFjaCgoaWNvbiwgaW5kZXgpID0+IHtcbiAgICBsZXQgcG9pbnRDdXN0b21JY29uOiBhbnkgPSBMLm1hcmtlcihtYXJrZXJMb2NhdGlvbiwge1xuICAgICAgaWNvbjogaWNvbixcbiAgICAgIHJpc2VPbkhvdmVyOiBmYWxzZSxcbiAgICB9KTtcbiAgICBwb2ludEN1c3RvbUljb24uYmluZFRvb2x0aXAoYnVpbGRNYW5ob2xlVG9vbHRpcFN0cmluZyhwb2ludCkpO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9faW5kZXhfb2JqZWN0J10gPSBpbmRleDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2Zld19sYXllcl9pY29uJ10gPSB0cnVlO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fc2Vjb25kYXJ5J10gPSB0aGlyZEljb24gPyBmYWxzZSA6IHNlY29uZGFyeUljb247XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb190aGlyZCddID0gdGhpcmRJY29uO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ1NhbXBsaW5nJztcbiAgICBpZiAoaG92ZXJlZCkgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdTYW1wbGluZ0hvdmVyZWQnO1xuICAgIGxheWVyR3JvdXAuYWRkTGF5ZXIocG9pbnRDdXN0b21JY29uKTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlT2JzZXJ2YXRpb25JY29uUG9pbnQgPSAoXG4gIG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSxcbiAgc2Vjb25kYXJ5SWNvbjogYm9vbGVhbixcbiAgbWFwLFxuICBwb2ludDogSVBvaW50LFxuICBldmVudDogSUV2ZW50LFxuICBob3ZlcmVkPyxcbiAgbGF5ZXJHcm91cD8sXG4pID0+IHtcbiAgLy8gaWNvblNpemU6IFt3aWR0aCwgaGVpZ2h0XSxcbiAgLy8gSWNvbiBBbmNob3I6IFsoLXJpZ2h0KSgrbGVmdCksICgtZG93bikoK3VwKV1cbiAgbGV0IG9ic2VydmF0aW9uSWNvbiA9IFtcbiAgICBMLmljb24oe1xuICAgICAgaWNvblVybDogcGlua0NpcmNsZVVSTCxcbiAgICAgIGljb25TaXplOiBzZWNvbmRhcnlJY29uID8gWzAsIDBdIDogWzAsIDBdLFxuICAgICAgaWNvbkFuY2hvcjogc2Vjb25kYXJ5SWNvbiA/IFstNywgNDBdIDogWzEwLjcsIDMzLjddLFxuICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgIH0pLFxuICAgIEwuaWNvbih7XG4gICAgICBpY29uVXJsOiBvYnNlcnZhdGlvbkljb25VUkwsXG4gICAgICBpY29uU2l6ZTogc2Vjb25kYXJ5SWNvbiA/IFswLCAwXSA6IFswLCAwXSxcbiAgICAgIGljb25BbmNob3I6IHNlY29uZGFyeUljb24gPyBbLTgsIDM4XSA6IFs1LCAzMF0sXG4gICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgfSksXG4gIF07XG5cbiAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkgJiYgIXNlY29uZGFyeUljb24pIHtcbiAgICBvYnNlcnZhdGlvbkljb24udW5zaGlmdChzZWxlY3RlZEJhY2tncm91bmQoKSk7XG4gIH0gZWxzZSBpZiAobWFya2VyQmVsb25nc1RvU291cmNlKGV2ZW50LCBwb2ludCkgJiYgIXNlY29uZGFyeUljb24pIHtcbiAgICBvYnNlcnZhdGlvbkljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICB9IGVsc2Uge1xuICAgIG9ic2VydmF0aW9uSWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZChzZWNvbmRhcnlJY29uKSk7XG4gIH1cblxuICBvYnNlcnZhdGlvbkljb24uZm9yRWFjaCgoaWNvbiwgaW5kZXgpID0+IHtcbiAgICBsZXQgcG9pbnRDdXN0b21JY29uOiBhbnkgPSBMLm1hcmtlcihtYXJrZXJMb2NhdGlvbiwge1xuICAgICAgaWNvbjogaWNvbixcbiAgICAgIHJpc2VPbkhvdmVyOiBmYWxzZSxcbiAgICB9KTtcbiAgICBwb2ludEN1c3RvbUljb24uYmluZFRvb2x0aXAoYnVpbGRNYW5ob2xlVG9vbHRpcFN0cmluZyhwb2ludCkpO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9faW5kZXhfb2JqZWN0J10gPSBpbmRleDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2Zld19sYXllcl9pY29uJ10gPSB0cnVlO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fc2Vjb25kYXJ5J10gPSBzZWNvbmRhcnlJY29uO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fdGhpcmQnXSA9IGZhbHNlO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ09ic2VydmF0aW9uJztcbiAgICBpZiAoaG92ZXJlZCkgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdPYnNlcnZhdGlvbkhvdmVyZWQnO1xuICAgIGxheWVyR3JvdXAuYWRkTGF5ZXIocG9pbnRDdXN0b21JY29uKTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlU2FtcGxpbmdJY29ucyA9IChcbiAgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlLFxuICBldmVudDogSUV2ZW50LFxuICBwb2ludDogSVBvaW50LFxuICBtYXAsXG4gIGhvdmVyZWQsXG4gIGxheWVyR3JvdXA/LFxuKSA9PiB7XG4gIGxldCBzYW1wbGVkUG9pbnRJZHMgPSBldmVudC5zYW1wbGluZ3MubWFwKChzKSA9PiBzLnBvaW50X2lkKTtcbiAgaWYgKFxuICAgIGV2ZW50ICE9PSBudWxsICYmXG4gICAgZXZlbnQuc2FtcGxpbmdzLmxlbmd0aCAhPT0gMCAmJlxuICAgIHNhbXBsZWRQb2ludElkcy5pbmNsdWRlcyhwb2ludC5pZClcbiAgKSB7XG4gICAgY3JlYXRlU2FtcGxpbmdJY29uUG9pbnQoXG4gICAgICBtYXJrZXJMb2NhdGlvbixcbiAgICAgIG1hdGNoSWNvblRvUG9pbnQocG9pbnQsIGV2ZW50KSAhPT0gbnVsbCxcbiAgICAgIG1hcCxcbiAgICAgIHBvaW50LFxuICAgICAgZXZlbnQsXG4gICAgICBob3ZlcmVkLFxuICAgICAgbGF5ZXJHcm91cCxcbiAgICApO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgcG9wdXBDb250ZW50ID0gKG9iczogYW55LCBwb2ludDogSVBvaW50KSA9PiB7XG4gIGlmIChvYnMgPT09IG51bGwpIHtcbiAgICByZXR1cm4gYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50LXBvcHVwXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLWdyYXBoLWljb24gcG9wdXAtZ3JhcGgtaWNvbi0ke3BvaW50LmlkfVwiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIiR7R3JhcGhJY29ufVwiLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zaXRlLW5hbWVcIj48Yj4ke3BvaW50Lmdyb3VwLm5hbWV9PC9iPjwvaDU+XG4gICAgICAgICAgICAgICAgICAgIDxoci8+XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwic2VjdG9yXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIGA7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudC1wb3B1cFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1ncmFwaC1pY29uIHBvcHVwLWdyYXBoLWljb24tJHtvYnMuaWR9XCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiJHtHcmFwaEljb259XCIvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NpdGUtbmFtZVwiPjxiPiR7XG4gICAgICAgICAgICAgICAgICAgICAgcG9pbnQuZ3JvdXAubmFtZVxuICAgICAgICAgICAgICAgICAgICB9PC9iPjwvaDU+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eS1wXCI+JHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGBldmVudHNfb3ZlcnZpZXcuc2V2ZXJpdHlgLFxuICAgICAgICAgICAgICAgICAgICAgICAgKX08L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIiR7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICdwb3B1cC1jb250ZW50X19zZXZlcml0eS0tJyArIG9icy5zZXZlcml0eVxuICAgICAgICAgICAgICAgICAgICAgICAgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiIGNsYXNzPVwicG9wdXAtY29udGVudF9fc2V2ZXJpdHktYlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZXZlbnRzX292ZXJ2aWV3LnNldmVyaXRpZXMuJHtvYnMuc2V2ZXJpdHl9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2I+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPGhyIGNsYXNzPVwicG9wdXAtY29udGVudF9faHJcIiAvPlxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1jb250ZW50X19kaXNjaGFyZ2UtdGltZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NldmVyaXR5LXBcIj4ke2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBldmVudHNfb3ZlcnZpZXcuZmlyc3Rfc2VlbmAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX06PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxiIGlkPVwiZmlyc3Qtc2Vlbi1wb3B1cFwiPjwvYj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eS1wXCI+JHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZXZlbnRzX292ZXJ2aWV3Lmxhc3Rfc2VlbmAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX06PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxiIGlkPVwibGFzdC1zZWVuLXBvcHVwXCI+PC9iPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBgO1xuICB9XG59O1xuXG5jb25zdCBnZXRJY29uID0gKFxuICBwb2ludDogSVBvaW50LFxuICBjbGlja2VkOiBib29sZWFuLFxuICBzdWJ0aXRsZT86IHN0cmluZyxcbiAgc2hvd1NhbXBsZXI/LFxuKSA9PiB7XG4gIGNvbnN0IGlzV1dUUCA9IHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6Oldhc3Rld2F0ZXJUcmVhdG1lbnRQbGFudCc7XG4gIGNvbnN0IHR5cGUgPVxuICAgIHBvaW50Lmhhc19kZXZpY2UgfHwgaXNXV1RQID8gcG9pbnQuZ3JvdXAudHlwZSA6ICdHcm91cHM6OmRlZmF1bHQnO1xuICBsZXQgc3VidGl0bGVUZXh0ID0gc3VidGl0bGUgPyBzdWJ0aXRsZSA6IHBvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lO1xuICBpZiAoaXNXV1RQICYmICFwb2ludC5oYXNfZGV2aWNlKSB7XG4gICAgc3VidGl0bGVUZXh0ICs9IGAgKCR7aTE4bi50KFxuICAgICAgJ2Rhc2hib2FyZF92Mi51dGlsaXR5X2Rhc2hib2FyZC50b3BiYXIucXVhbGl0eS1zdW1tYXJ5LnVubW9uaXRvcmVkJyxcbiAgICApfSlgO1xuICB9XG4gIHJldHVybiBnZXRQb2ludEljb25CeVR5cGUoXG4gICAgdHlwZSxcbiAgICBwb2ludC5uYW1lLFxuICAgIHN1YnRpdGxlVGV4dCxcbiAgICBjbGlja2VkLFxuICAgICFjbGlja2VkLFxuICAgIGZhbHNlLFxuICAgIHNob3dTYW1wbGVyLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHNldEljb24gPSAoZWxlbWVudCwgY2xpY2tlZCwgcG9pbnQsIHN1YnRpdGxlID0gJycpID0+IHtcbiAgY29uc3Qgc2hvd1NhbXBsZXIgPSBlbGVtZW50WydrYW5kb19zaG93X3NhbXBsZXInXSB8fCBmYWxzZTtcblxuICBlbGVtZW50LnNldEljb24oZ2V0SWNvbihwb2ludCwgY2xpY2tlZCwgc3VidGl0bGUsIHNob3dTYW1wbGVyKSk7XG59O1xuXG4vLyByb3VuZCB0byBuZWFyZXN0IHRob3VzYW5kIGlzIHVzZWQgd2hlbiB5b3Ugd2FudCB0byByb3VuZCB0aGUgd2F0ZXIgY29uc3VtcHRpb24gdG8gdGhlIG5lYXJlc3QgdGhvdXNhbmRcbi8vIGZvciBleGFtcGxlOiAyMzQsNTY3IC0+IDIzNSwwMDBcbmV4cG9ydCBjb25zdCBjYWxjdWxhdGVXYXRlckNvbnN1bXB0aW9uID0gKFxuICBmbG93X3JhdGVfdW5pdDogc3RyaW5nLFxuICB3YXRlckNvbnN1bXB0aW9uOiBudW1iZXIsXG4gIHJvdW5kX3RvX25lYXJlc3RfazogYm9vbGVhbiA9IGZhbHNlLFxuKSA9PiB7XG4gIGxldCBjYWxjdWxhdGVkID0gJzAnO1xuXG4gIGlmICh3YXRlckNvbnN1bXB0aW9uID4gMCkge1xuICAgIHN3aXRjaCAoZmxvd19yYXRlX3VuaXQpIHtcbiAgICAgIGNhc2UgJ20zZCc6XG4gICAgICAgIGNhbGN1bGF0ZWQgPSB3YXRlckNvbnN1bXB0aW9uLnRvRml4ZWQoMik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZ2RfdXMnOlxuICAgICAgICBjYWxjdWxhdGVkID0gKHdhdGVyQ29uc3VtcHRpb24gKiAyNjQuMTcyKS50b0ZpeGVkKDIpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2dkX3VrJzpcbiAgICAgICAgY2FsY3VsYXRlZCA9ICh3YXRlckNvbnN1bXB0aW9uICogMjE5Ljk2OSkudG9GaXhlZCgyKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG4gIGlmIChyb3VuZF90b19uZWFyZXN0X2spIHtcbiAgICByZXR1cm4gcm91bmRUb05lYXJlc3RUaG91c2FuZChwYXJzZUZsb2F0KGNhbGN1bGF0ZWQpKS50b0xvY2FsZVN0cmluZygpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBNYXRoLnJvdW5kKHBhcnNlRmxvYXQoY2FsY3VsYXRlZCkpLnRvTG9jYWxlU3RyaW5nKCk7XG4gIH1cbn07XG5cbmNvbnN0IHJvdW5kVG9OZWFyZXN0VGhvdXNhbmQgPSAobnVtYmVyKSA9PiB7XG4gIC8vIGlmKGlzQWxyZWFkeVJvdW5kZWQobnVtYmVyKSkge1xuICAvLyAgIHJldHVybiBudW1iZXI7XG4gIC8vIH1cblxuICBpZiAobnVtYmVyIDwgMTAwMCkge1xuICAgIHJldHVybiBNYXRoLnJvdW5kKG51bWJlcik7XG4gIH1cblxuICBjb25zdCByb3VuZGVkVGhvdXNhbmRzID0gTWF0aC5yb3VuZChudW1iZXIgLyAxMDAwKTtcbiAgY29uc3Qgcm91bmRlZFZhbHVlID0gcm91bmRlZFRob3VzYW5kcyAqIDEwMDA7XG5cbiAgcmV0dXJuIHJvdW5kZWRWYWx1ZTtcbn07XG5cbi8vIGNvbnN0IGlzQWxyZWFkeVJvdW5kZWQgPSAobnVtYmVyKSA9PiB7XG4vLyAgIHJldHVybiBudW1iZXIgPT09IE1hdGgucm91bmQobnVtYmVyKTtcbi8vIH1cblxuZXhwb3J0IGNvbnN0IHRyYW5zbGF0ZUZsb3dSYXRlID0gKGZsb3dfcmF0ZV91bml0KSA9PiB7XG4gIHJldHVybiBpMThuLnQoXG4gICAgYGRhc2hib2FyZF92Mi5wcm9maWxlLmZsb3dfcmF0ZV91bml0X29wdGlvbnMuJHtcbiAgICAgIGZsb3dfcmF0ZV91bml0LmluY2x1ZGVzKCdnZCcpID8gJ2dkJyA6IGZsb3dfcmF0ZV91bml0XG4gICAgfWAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgaGFuZGxlTWFya2VyRXZlbnRzID0gKFxuICBtYXAsXG4gIHBvaW50LFxuICBwb2ludEN1c3RvbUljb24sXG4gIGhhbmRsZUNsaWNrLFxuKSA9PiB7XG4gIGxldCB0b29sdGlwVmlzaWJsZSA9IGZhbHNlO1xuXG4gIG1hcC5vbignem9vbXN0YXJ0JywgZnVuY3Rpb24gKCkge1xuICAgIG1hcC5jbG9zZVBvcHVwKCk7XG4gIH0pO1xuXG4gIHBvaW50Q3VzdG9tSWNvbi5vbigncG9wdXBjbG9zZScsICgpID0+IHtcbiAgICAvLyBzZXRJY29uKHBvaW50Q3VzdG9tSWNvbiwgZmFsc2UsIHBvaW50KTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHBvaW50Q3VzdG9tSWNvbi5maXJlKCdtb3VzZW91dCcpLCAxMDApO1xuICAgIHRvb2x0aXBWaXNpYmxlID0gZmFsc2U7XG4gIH0pO1xuXG4gIHBvaW50Q3VzdG9tSWNvbi5vbigncG9wdXBvcGVuJywgKCkgPT4ge1xuICAgIC8vIHNldEljb24ocG9pbnRDdXN0b21JY29uLCB0cnVlLCBwb2ludCk7XG4gICAgdG9vbHRpcFZpc2libGUgPSB0cnVlO1xuICB9KTtcblxuICBwb2ludEN1c3RvbUljb24ub24oJ21vdXNlb3ZlcicsICgpID0+IHtcbiAgICBpZiAodG9vbHRpcFZpc2libGUpIHJldHVybjtcblxuICAgIHNldEljb24ocG9pbnRDdXN0b21JY29uLCB0cnVlLCBwb2ludCk7XG4gICAgdG9vbHRpcFZpc2libGUgPSB0cnVlO1xuICB9KTtcblxuICBwb2ludEN1c3RvbUljb24ub24oJ21vdXNlb3V0JywgKCkgPT4ge1xuICAgIGlmIChwb2ludEN1c3RvbUljb24uaXNQb3B1cE9wZW4oKSkgcmV0dXJuO1xuXG4gICAgc2V0SWNvbihwb2ludEN1c3RvbUljb24sIGZhbHNlLCBwb2ludCk7XG4gICAgdG9vbHRpcFZpc2libGUgPSBmYWxzZTtcbiAgfSk7XG5cbiAgaWYgKHR5cGVvZiBoYW5kbGVDbGljayA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHBvaW50Q3VzdG9tSWNvbi5vbignY2xpY2snLCAoKSA9PiB7XG4gICAgICBoYW5kbGVDbGljayhwb2ludEN1c3RvbUljb24ua2FuZG9fb2JqZWN0X2lkKTtcblxuICAgICAgaWYgKHBvaW50SXNGYWN0b3J5KHBvaW50KSkge1xuICAgICAgICBzZW5kQW5hbHl0aWNzRXZlbnQoJ01hcCBWaWV3IC0gRmFjdG9yeSBjbGlja2VkJywgJ21hcCcsIHtcbiAgICAgICAgICBwb2ludF9pZDogcG9pbnQuaWQsXG4gICAgICAgICAgcG9pbnRfbmFtZTogcG9pbnQubmFtZSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBiaW5kUG9wdXBUb01hcmtlciA9IChwb2ludCwgbGF5ZXJHcm91cCwgZmxvd19yYXRlX3VuaXQpID0+IHtcbiAgbGV0IGNvbnRlbnQgPSBgXG4gICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50Jz5cbiAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19oZWFkZXInPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tY29udGVudF9faGVhZGVyX190aXRsZXNcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2hlYWRlcl9fdGl0bGVzX190aXRsZSc+JHtcbiAgICAgICAgICAgICAgICAgIHBvaW50Lm5hbWVcbiAgICAgICAgICAgICAgICB9PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19oZWFkZXJfX3RpdGxlc19fc3VidGl0bGUnPiR7XG4gICAgICAgICAgICAgICAgICBwb2ludC5ncm91cC5zZWN0b3JfbmFtZVxuICAgICAgICAgICAgICAgIH08L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICBcbiAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5Jz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9fYm9keV9faXRlbSc+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5X19pdGVtX19pY29uJz5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9JyR7d2F0ZXJSZXVzZUljb259JyAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9fYm9keV9faXRlbV9fdGl0bGVzJz5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9fYm9keV9faXRlbV9fdGl0bGVzX190aXRsZSc+XG4gICAgICAgICAgICAgICAgICAgICR7Z2V0Rmxvd1JhdGUocG9pbnQuZ3JvdXAud2F0ZXJfZGlzY2hhcmdlLCBmbG93X3JhdGVfdW5pdCl9XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9fYm9keV9faXRlbV9fdGl0bGVzX19zdWJ0aXRsZSc+JHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICd3YXRlcl9kaXNjaGFyZ2UnLFxuICAgICAgICAgICAgICAgICAgKX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICBgO1xuXG4gIGxheWVyR3JvdXAuYmluZFBvcHVwKGNvbnRlbnQsIHtcbiAgICBjbGFzc05hbWU6ICdwb2ludC1tYXJrZXItcG9wdXAnLFxuICAgIG1pbldpZHRoOiAnMjE0cHgnLFxuICAgIG1heFdpZHRoOiAnMjE0cHgnLFxuICAgIGNsb3NlQnV0dG9uOiB0cnVlLFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRGbG93UmF0ZSA9IChcbiAgd2F0ZXJDb25zdW1wdGlvbjogbnVtYmVyLFxuICBmbG93UmF0ZVVuaXQ6IHN0cmluZyxcbiAgaXNSb3VuZDogYm9vbGVhbiA9IGZhbHNlLFxuKSA9PiB7XG4gIGlmICh3YXRlckNvbnN1bXB0aW9uID4gMCkge1xuICAgIHJldHVybiAoXG4gICAgICBjYWxjdWxhdGVXYXRlckNvbnN1bXB0aW9uKGZsb3dSYXRlVW5pdCwgd2F0ZXJDb25zdW1wdGlvbiwgaXNSb3VuZCkgK1xuICAgICAgJyAnICtcbiAgICAgIHRyYW5zbGF0ZUZsb3dSYXRlKGZsb3dSYXRlVW5pdClcbiAgICApO1xuICB9XG4gIHJldHVybiBpMThuLnQoJ2V2ZW50c19vdmVydmlldy5zZXZlcml0aWVzLnVua25vd24nKTtcbn07XG5cbmV4cG9ydCBjb25zdCByZW1vdmVMYXllckdyb3VwID0gKG1hcCwgbGF5ZXJHcm91cCkgPT4ge1xuICBpZiAobWFwLmhhc0xheWVyKGxheWVyR3JvdXApKSB7XG4gICAgbWFwLnJlbW92ZUxheWVyKGxheWVyR3JvdXApO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgYWRkTGF5ZXJHcm91cCA9IChtYXAsIGxheWVyR3JvdXApID0+IHtcbiAgaWYgKCFtYXAuaGFzTGF5ZXIobGF5ZXJHcm91cCkpIHtcbiAgICBtYXAuYWRkTGF5ZXIobGF5ZXJHcm91cCk7XG4gIH0gZWxzZSB7XG4gICAgcmVtb3ZlTGF5ZXJHcm91cChtYXAsIGxheWVyR3JvdXApO1xuICAgIGFkZExheWVyR3JvdXAobWFwLCBsYXllckdyb3VwKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHBvaW50SXNXV1RQID0gKHBvaW50OiBJUG9pbnQpID0+IHtcbiAgcmV0dXJuIHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6Oldhc3Rld2F0ZXJUcmVhdG1lbnRQbGFudCc7XG59O1xuXG5leHBvcnQgY29uc3QgcG9pbnRJc0ZhY3RvcnkgPSAocG9pbnQ6IElQb2ludCkgPT4ge1xuICByZXR1cm4gaXNGYWN0b3J5VHlwZShwb2ludC5ncm91cC50eXBlKTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc0ZhY3RvcnlUeXBlID0gKHR5cGU6IHN0cmluZykgPT4ge1xuICByZXR1cm4gdHlwZSA9PT0gJ0dyb3Vwczo6RmFjdG9yeSc7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUNBLElBQUFBLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLEtBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUEyQyxJQUFBRSxXQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFBQSxJQUFBRyxhQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFBQSxJQUFBSSxXQUFBLEdBQUFMLHNCQUFBLENBQUFDLE9BQUE7QUFBQSxJQUFBSyxnQkFBQSxHQUFBTixzQkFBQSxDQUFBQyxPQUFBO0FBTzNDLElBQUFNLGdCQUFBLEdBQUFQLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBTyxrQkFBQSxHQUFBUixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVEsb0JBQUEsR0FBQVQsc0JBQUEsQ0FBQUMsT0FBQTtBQUF5RixJQUFBUyxhQUFBLEdBQUFWLHNCQUFBLENBQUFDLE9BQUE7QUFBQSxJQUFBVSxZQUFBLEdBQUFYLHNCQUFBLENBQUFDLE9BQUE7QUFBQSxJQUFBVyxZ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
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var packageJsonVersion = "1.2.437-alpha.15";
3
+ var packageJsonVersion = "1.2.437-alpha.16";
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));
@@ -83,10 +83,10 @@ var EventInfo = function EventInfo(props) {
83
83
  };
84
84
  var onClickSource = function onClickSource(point_id) {
85
85
  var layer = (0, _MapUtils.mapGetLayerById)(map, point_id);
86
- (0, _MapUtils.mapZoomLayer)(map, layer);
87
- setTimeout(function () {
88
- return (0, _MapUtils.mapClickLayer)(map, layer);
89
- }, 400);
86
+ // If the zoom is requested use setTimeout for the click to be processed
87
+ // mapZoomLayer(map, layer);
88
+ // setTimeout(() => mapClickLayer(map, layer), 400);
89
+ (0, _MapUtils.mapClickLayer)(map, layer);
90
90
  };
91
91
 
92
92
  // Calculate combined bounds only when focusedEventPaths changes
@@ -172,4 +172,4 @@ var EventInfoContainer = _styledComponents.default.div.withConfig({
172
172
  var connector = (0, _reactRedux.connect)(mapStateToProps);
173
173
  var _default = connector(EventInfo);
174
174
  exports.default = _default;
175
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9hY3Rpb25zIiwiX2ZyZWVTb2xpZFN2Z0ljb25zIiwiX3JlYWN0Rm9udGF3ZXNvbWUiLCJfaTE4biIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfRXJyb3JCb3VuZGFyeSIsIl9hY3Rpb25zMiIsIl9yZWFjdFJvdXRlckRvbSIsIl9IZWFkZXIiLCJfVGltZWxpbmVzIiwiX1NldmVyaXR5U2NvcmUiLCJfU291cmNlRGV0YWlscyIsIl9TYW1wbGluZ0xpc3QiLCJfcmVhY3REZXZpY2VEZXRlY3QiLCJfaWNvbnMiLCJfcmVhY3RCb290c3RyYXAiLCJfQW5hbHl0aWNzIiwiX0NvbnRhbWluYW50cyIsIl9Qb2xsdXRpb25Bc3Nlc3NtZW50IiwiX01hcFV0aWxzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJtYXBTdGF0ZVRvUHJvcHMiLCJzdGF0ZSIsImV2ZW50c19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJwb2ludHNfZGF0YSIsIm5hdl9jb250ZXh0X2RhdGEiLCJFdmVudEluZm8iLCJwcm9wcyIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJldmVudCIsInJlT3BlbkZpbHRlciIsImZvY3VzZWRFdmVudFBhdGhzIiwibWFwIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwic2VsZWN0ZWRTb3VyY2UiLCJzZXRTZWxlY3RlZFNvdXJjZSIsImhpc3RvcnkiLCJ1c2VIaXN0b3J5IiwibG9jYXRpb24iLCJ1c2VMb2NhdGlvbiIsImhhbmRsZUdvQmFja0NsaWNrIiwic2V0Rm9jdXNlZEV2ZW50Iiwic2V0Rm9jdXNlZEV2ZW50UGF0aHMiLCJzZXRFdmVudEluZGljYXRvciIsInNldEN1cnJlbnRUaW1lIiwiRGF0ZSIsIm5vdyIsImNsb3NlRmxvYXRpbmdHcmFwaCIsInB1c2giLCJjb25jYXQiLCJuYXZDb250ZXh0IiwibmFtZSIsIndhdGVyQXV0aG9yaXR5SWQiLCJsb2NhbGUiLCJldmVudEZpbHRlclBhcmFtIiwidG9nZ2xlU291cmNlU2VsZWN0aW9uIiwicG9pbnRfaWQiLCJzZWxlY3RTb3VyY2UiLCJzaG93TWFwIiwiYW5hbHl0aWNzVHJhY2siLCJwYWdlX25hbWUiLCJwYXRobmFtZSIsInV0aWxpdHlfbmFtZSIsIndhdGVyQXV0aG9yaXR5TmFtZSIsInNpZGVOYXZFeHBhbmRlZCIsIm9uQ2xpY2tTb3VyY2UiLCJsYXllciIsIm1hcEdldExheWVyQnlJZCIsIm1hcFpvb21MYXllciIsInNldFRpbWVvdXQiLCJtYXBDbGlja0xheWVyIiwiY29tYmluZWRCb3VuZHMiLCJ1c2VNZW1vIiwiQXJyYXkiLCJpc0FycmF5IiwiYm91bmRzQXJyYXlzIiwiZmlsdGVyIiwia2FuZG9fb2JqZWN0IiwiX2JvdW5kcyIsIl9zb3V0aFdlc3QiLCJsYXQiLCJsbmciLCJfbm9ydGhFYXN0IiwibGVuZ3RoIiwiYWxsQ29vcmRzIiwiZmxhdCIsImxhdHMiLCJjb29yZCIsImxuZ3MiLCJtaW5MYXQiLCJNYXRoIiwibWluIiwiYXBwbHkiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwibWF4TGF0IiwibWF4IiwibWluTG5nIiwibWF4TG5nIiwiaGFuZGxlUmVzZXRNYXBWaWV3IiwiZml0Qm91bmRzIiwiYW5pbWF0ZSIsInBhZGRpbmciLCJ1c2VFZmZlY3QiLCJzb3VyY2VzIiwiZmxvYXRpbmdHcmFwaCIsIm9wZW4iLCJjcmVhdGVFbGVtZW50IiwiRnJhZ21lbnQiLCJjbGFzc05hbWUiLCJvbkNsaWNrIiwiRm9udEF3ZXNvbWVJY29uIiwiaWNvbiIsImZhQXJyb3dMZWZ0IiwiaTE4biIsInQiLCJFdmVudEluZm9Db250YWluZXIiLCJsYXN0X3NlZW5fdGltZSIsImlzTGl2ZSIsImVuZF90aW1lIiwiZmlyc3RPYnNlcnZhdGlvbiIsImZpcnN0X29ic2VydmF0aW9uX2Zyb21faGllcmFyY2h5IiwibGFzdE9ic2VydmF0aW9uIiwibGFzdF9vYnNlcnZhdGlvbl9mcm9tX2hpZXJhcmNoeSIsImV2ZW50U2NvcmUiLCJzY29yZSIsImV4cGxhbmF0aW9ucyIsImFsZ29fZXhwbGFuYXRpb25zIiwibWV0YWRhdGEiLCJub19zb3VyY2VzIiwiZXZlbnRJZCIsImlkIiwidGltZVpvbmUiLCJ0aW1lX3pvbmUiLCJpc01vYmlsZSIsIlJvdyIsInNpZGVuYXZFeHBhbmRlZCIsIk1hcFN2ZyIsInN0eWxlIiwiem9vbSIsIm9wYWNpdHkiLCJzdHlsZWQiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsImNvbm5lY3RvciIsImNvbm5lY3QiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcGFnZXMvRXZlbnRzUGFnZS9ldmVudHMvZXZlbnRfaW5mby9FdmVudEluZm8udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0LCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgY29ubmVjdCwgQ29ubmVjdGVkUHJvcHMsIHVzZURpc3BhdGNoIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCB7XG4gIHNldEZvY3VzZWRFdmVudCxcbiAgc2V0Rm9jdXNlZEV2ZW50UGF0aHMsXG4gIHNldEV2ZW50SW5kaWNhdG9yLFxuICBzZWxlY3RTb3VyY2UsXG59IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvYWN0aW9ucyc7XG5pbXBvcnQgeyBJQXBwU3RhdGUgfSBmcm9tICdzcmMvbW9kZWxzL0lBcHBTdGF0ZSc7XG5pbXBvcnQgeyBmYUFycm93TGVmdCB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyBGb250QXdlc29tZUljb24gfSBmcm9tICdAZm9ydGF3ZXNvbWUvcmVhY3QtZm9udGF3ZXNvbWUnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCBFcnJvckJvdW5kYXJ5IGZyb20gJ3NyYy91dGlsaXRpZXMvRXJyb3JCb3VuZGFyeSc7XG5pbXBvcnQgJy4vRXZlbnRJbmZvU3R5bGUuc2Nzcyc7XG5pbXBvcnQge1xuICBzZXRDdXJyZW50VGltZSxcbiAgY2xvc2VGbG9hdGluZ0dyYXBoLFxuICBzaWRlTmF2RXhwYW5kZWQsXG59IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgeyB1c2VIaXN0b3J5LCB1c2VMb2NhdGlvbiB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IEhlYWRlciBmcm9tICcuL0hlYWRlcic7XG5pbXBvcnQgVGltZWxpbmVzIGZyb20gJy4vVGltZWxpbmVzJztcbmltcG9ydCBTZXZlcml0eVNjb3JlIGZyb20gJy4vU2V2ZXJpdHlTY29yZSc7XG5pbXBvcnQgU291cmNlRGV0YWlscyBmcm9tICcuL1NvdXJjZURldGFpbHMvU291cmNlRGV0YWlscyc7XG5pbXBvcnQgU2FtcGxpbmdzIGZyb20gJy4vU2FtcGxpbmdMaXN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IHsgaXNNb2JpbGUgfSBmcm9tICdyZWFjdC1kZXZpY2UtZGV0ZWN0JztcbmltcG9ydCB7IE1hcFN2ZyB9IGZyb20gJ3NyYy9hc3NldHMvaWNvbnMnO1xuaW1wb3J0IHsgUm93IH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwJztcbmltcG9ydCB7IGFuYWx5dGljc1RyYWNrIH0gZnJvbSAnc3JjL3V0aWxpdGllcy9BbmFseXRpY3MnO1xuaW1wb3J0IENvbnRhbWluYW50cyBmcm9tICcuL0NvbnRhbWluYW50cyc7XG5pbXBvcnQgUG9sbHV0aW9uQXNzZXNzbWVudCBmcm9tICcuL1BvbGx1dGlvbkFzc2Vzc21lbnQgJztcbmltcG9ydCB7XG4gIG1hcENsaWNrTGF5ZXIsXG4gIG1hcEdldExheWVyQnlJZCxcbiAgbWFwWm9vbUxheWVyLFxufSBmcm9tICdzcmMvV2lkZ2V0cy9NYXAvTWFwVXRpbHMnO1xuXG5mdW5jdGlvbiBtYXBTdGF0ZVRvUHJvcHMoc3RhdGU6IElBcHBTdGF0ZSkge1xuICBjb25zdCB7IGV2ZW50c19kYXRhLCBnbG9iYWxfZGF0YSwgcG9pbnRzX2RhdGEsIG5hdl9jb250ZXh0X2RhdGEgfSA9IHN0YXRlO1xuXG4gIHJldHVybiB7XG4gICAgZXZlbnRzX2RhdGEsXG4gICAgZ2xvYmFsX2RhdGEsXG4gICAgcG9pbnRzX2RhdGEsXG4gICAgbmF2X2NvbnRleHRfZGF0YSxcbiAgfTtcbn1cblxudHlwZSBJUHJvcHMgPSBDb25uZWN0ZWRQcm9wczx0eXBlb2YgY29ubmVjdG9yPiAmIHtcbiAgZXZlbnQ6IElFdmVudDtcbiAgcmVPcGVuRmlsdGVyOiAoKSA9PiB2b2lkO1xufTtcblxuY29uc3QgRXZlbnRJbmZvOiBSZWFjdC5GQzxJUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgeyBnbG9iYWxfZGF0YSwgZXZlbnQsIG5hdl9jb250ZXh0X2RhdGEsIHJlT3BlbkZpbHRlciB9ID0gcHJvcHM7XG4gIGNvbnN0IHsgZm9jdXNlZEV2ZW50UGF0aHMgfSA9IHByb3BzLmV2ZW50c19kYXRhO1xuICBjb25zdCB7IG1hcCB9ID0gcHJvcHMuZ2xvYmFsX2RhdGE7XG4gIGNvbnN0IFtzZWxlY3RlZFNvdXJjZSwgc2V0U2VsZWN0ZWRTb3VyY2VdID0gdXNlU3RhdGU8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGhpc3RvcnkgPSB1c2VIaXN0b3J5KCk7XG4gIGNvbnN0IGxvY2F0aW9uID0gdXNlTG9jYXRpb24oKTtcblxuICBjb25zdCBoYW5kbGVHb0JhY2tDbGljayA9ICgpID0+IHtcbiAgICBkaXNwYXRjaChzZXRGb2N1c2VkRXZlbnQobnVsbCkpO1xuICAgIGRpc3BhdGNoKHNldEZvY3VzZWRFdmVudFBhdGhzKFtdKSk7XG4gICAgZGlzcGF0Y2goc2V0RXZlbnRJbmRpY2F0b3IobnVsbCkpO1xuICAgIGRpc3BhdGNoKHNldEN1cnJlbnRUaW1lKChEYXRlLm5vdygpIC8gMTAwMCkgfCAwKSk7XG4gICAgZGlzcGF0Y2goY2xvc2VGbG9hdGluZ0dyYXBoKCkpO1xuICAgIHJlT3BlbkZpbHRlcigpO1xuICAgIGhpc3RvcnkucHVzaChcbiAgICAgIGAvJHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubmFtZX0vaW5kZXg/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7Z2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZH0mbG9jYWxlPSR7bmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZX0mZXZlbnRJZD1udWxsJnZhbHVlc0Zyb21LUUw9JHtnbG9iYWxfZGF0YS5ldmVudEZpbHRlclBhcmFtfWAsXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCB0b2dnbGVTb3VyY2VTZWxlY3Rpb24gPSAocG9pbnRfaWQ6IG51bWJlcikgPT4ge1xuICAgIHNldFNlbGVjdGVkU291cmNlKHBvaW50X2lkKTtcbiAgICBkaXNwYXRjaChzZWxlY3RTb3VyY2UocG9pbnRfaWQpKTtcbiAgfTtcblxuICBjb25zdCBzaG93TWFwID0gKCkgPT4ge1xuICAgIGFuYWx5dGljc1RyYWNrKCdFdmVudCBpbmZvIHNob3cgbWFwIGNsaWNrZWQnLCB7XG4gICAgICBwYWdlX25hbWU6IGxvY2F0aW9uLnBhdGhuYW1lLFxuICAgICAgdXRpbGl0eV9uYW1lOiBnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eU5hbWUsXG4gICAgfSk7XG4gICAgZGlzcGF0Y2goc2lkZU5hdkV4cGFuZGVkKGZhbHNlKSk7XG4gIH07XG5cbiAgY29uc3Qgb25DbGlja1NvdXJjZSA9IChwb2ludF9pZDogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgbGF5ZXIgPSBtYXBHZXRMYXllckJ5SWQobWFwLCBwb2ludF9pZCk7XG4gICAgbWFwWm9vbUxheWVyKG1hcCwgbGF5ZXIpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gbWFwQ2xpY2tMYXllcihtYXAsIGxheWVyKSwgNDAwKTtcbiAgfTtcblxuICAvLyBDYWxjdWxhdGUgY29tYmluZWQgYm91bmRzIG9ubHkgd2hlbiBmb2N1c2VkRXZlbnRQYXRocyBjaGFuZ2VzXG4gIGNvbnN0IGNvbWJpbmVkQm91bmRzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGZvY3VzZWRFdmVudFBhdGhzKSkgcmV0dXJuIG51bGw7XG5cbiAgICBjb25zdCBib3VuZHNBcnJheXMgPSBmb2N1c2VkRXZlbnRQYXRoc1xuICAgICAgLmZpbHRlcigob2JqKSA9PiBvYmoua2FuZG9fb2JqZWN0ID09PSAnRXZlbnRQYXRoJyAmJiBvYmouX2JvdW5kcylcbiAgICAgIC5tYXAoKG9iaikgPT4gW1xuICAgICAgICBbb2JqLl9ib3VuZHMuX3NvdXRoV2VzdC5sYXQsIG9iai5fYm91bmRzLl9zb3V0aFdlc3QubG5nXSxcbiAgICAgICAgW29iai5fYm91bmRzLl9ub3J0aEVhc3QubGF0LCBvYmouX2JvdW5kcy5fbm9ydGhFYXN0LmxuZ10sXG4gICAgICBdKTtcblxuICAgIGlmIChib3VuZHNBcnJheXMubGVuZ3RoID09PSAwKSByZXR1cm4gbnVsbDtcblxuICAgIGNvbnN0IGFsbENvb3JkcyA9IGJvdW5kc0FycmF5cy5mbGF0KCk7XG4gICAgY29uc3QgbGF0cyA9IGFsbENvb3Jkcy5tYXAoKGNvb3JkKSA9PiBjb29yZFswXSk7XG4gICAgY29uc3QgbG5ncyA9IGFsbENvb3Jkcy5tYXAoKGNvb3JkKSA9PiBjb29yZFsxXSk7XG4gICAgY29uc3QgbWluTGF0ID0gTWF0aC5taW4oLi4ubGF0cyk7XG4gICAgY29uc3QgbWF4TGF0ID0gTWF0aC5tYXgoLi4ubGF0cyk7XG4gICAgY29uc3QgbWluTG5nID0gTWF0aC5taW4oLi4ubG5ncyk7XG4gICAgY29uc3QgbWF4TG5nID0gTWF0aC5tYXgoLi4ubG5ncyk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgW21pbkxhdCwgbWluTG5nXSxcbiAgICAgIFttYXhMYXQsIG1heExuZ10sXG4gICAgXTtcbiAgfSwgW2ZvY3VzZWRFdmVudFBhdGhzXSk7XG5cbiAgY29uc3QgaGFuZGxlUmVzZXRNYXBWaWV3ID0gKCkgPT4ge1xuICAgIGlmIChtYXAgJiYgY29tYmluZWRCb3VuZHMpIHtcbiAgICAgIG1hcC5maXRCb3VuZHMoY29tYmluZWRCb3VuZHMsIHsgYW5pbWF0ZTogdHJ1ZSwgcGFkZGluZzogWzIwLCAyMF0gfSk7XG4gICAgfVxuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHNlbGVjdGVkU291cmNlID09PSBudWxsICYmIGV2ZW50LnNvdXJjZXMubGVuZ3RoICE9PSAwKSB7XG4gICAgICB0b2dnbGVTb3VyY2VTZWxlY3Rpb24oZXZlbnQuc291cmNlc1swXS5wb2ludF9pZCk7XG4gICAgfVxuICB9LCBbXG4gICAgcHJvcHMucG9pbnRzX2RhdGEsXG4gICAgcHJvcHMuZXZlbnRzX2RhdGEsXG4gICAgZXZlbnQsXG4gICAgZ2xvYmFsX2RhdGEuZmxvYXRpbmdHcmFwaC5vcGVuLFxuICBdKTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17J2JhY2tfYnV0dG9uX2NvbnRhaW5lcid9PlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3NOYW1lPXsnYmFja19idXR0b25fY29udGFpbmVyX19idXR0b24nfVxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUdvQmFja0NsaWNrKCl9XG4gICAgICAgID5cbiAgICAgICAgICA8Rm9udEF3ZXNvbWVJY29uIGljb249e2ZhQXJyb3dMZWZ0fSAvPlxuICAgICAgICAgIDxzcGFuPiB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuYmFja190b19ldmVudHMnKX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8RXJyb3JCb3VuZGFyeT5cbiAgICAgICAgPEV2ZW50SW5mb0NvbnRhaW5lciBjbGFzc05hbWU9eydjb250YWluZXInfT5cbiAgICAgICAgICA8SGVhZGVyIGxhc3Rfc2Vlbl90aW1lPXtldmVudC5sYXN0X3NlZW5fdGltZX0gLz5cbiAgICAgICAgICA8VGltZWxpbmVzXG4gICAgICAgICAgICBpc0xpdmU9eyFldmVudC5lbmRfdGltZX1cbiAgICAgICAgICAgIGZpcnN0T2JzZXJ2YXRpb249e2V2ZW50LmZpcnN0X29ic2VydmF0aW9uX2Zyb21faGllcmFyY2h5fVxuICAgICAgICAgICAgbGFzdE9ic2VydmF0aW9uPXtldmVudC5sYXN0X29ic2VydmF0aW9uX2Zyb21faGllcmFyY2h5fVxuICAgICAgICAgICAgb25DbGlja1NvdXJjZT17b25DbGlja1NvdXJjZX1cbiAgICAgICAgICAgIGhhbmRsZVJlc2V0TWFwVmlldz17aGFuZGxlUmVzZXRNYXBWaWV3fVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFNldmVyaXR5U2NvcmVcbiAgICAgICAgICAgIGV2ZW50U2NvcmU9e2V2ZW50LmZpcnN0X29ic2VydmF0aW9uX2Zyb21faGllcmFyY2h5LnNjb3JlfVxuICAgICAgICAgICAgZXhwbGFuYXRpb25zPXtldmVudC5hbGdvX2V4cGxhbmF0aW9uc31cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxDb250YW1pbmFudHMgbWV0YWRhdGE9e2V2ZW50Lm1ldGFkYXRhfSAvPlxuICAgICAgICAgIDxQb2xsdXRpb25Bc3Nlc3NtZW50IG1ldGFkYXRhPXtldmVudC5tZXRhZGF0YX0gLz5cbiAgICAgICAgICA8U291cmNlRGV0YWlsc1xuICAgICAgICAgICAgc291cmNlcz17XG4gICAgICAgICAgICAgIGV2ZW50LnNvdXJjZXMubGVuZ3RoID09PSAwID8gZXZlbnQubm9fc291cmNlcyA6IGV2ZW50LnNvdXJjZXNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAvPnsnICd9XG4gICAgICAgICAgPFNhbXBsaW5nc1xuICAgICAgICAgICAgZXZlbnRJZD17ZXZlbnQuaWR9XG4gICAgICAgICAgICB0aW1lWm9uZT17ZXZlbnQuZmlyc3Rfb2JzZXJ2YXRpb25fZnJvbV9oaWVyYXJjaHkudGltZV96b25lfVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2lzTW9iaWxlICYmIChcbiAgICAgICAgICAgIDxSb3dcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtcbiAgICAgICAgICAgICAgICBnbG9iYWxfZGF0YS5zaWRlbmF2RXhwYW5kZWRcbiAgICAgICAgICAgICAgICAgID8gJ2ZpeGVkLWJvdHRvbSBqdXN0aWZ5LWNvbnRlbnQtZW5kIG14LTEnXG4gICAgICAgICAgICAgICAgICA6ICdkLW5vbmUnXG4gICAgICAgICAgICAgIH1gfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8TWFwU3ZnIG9uQ2xpY2s9e3Nob3dNYXB9IHN0eWxlPXt7IHpvb206IDAuOCwgb3BhY2l0eTogMC42IH19IC8+XG4gICAgICAgICAgICA8L1Jvdz5cbiAgICAgICAgICApfVxuICAgICAgICA8L0V2ZW50SW5mb0NvbnRhaW5lcj5cbiAgICAgIDwvRXJyb3JCb3VuZGFyeT5cbiAgICA8Lz5cbiAgKTtcbn07XG5cbmNvbnN0IEV2ZW50SW5mb0NvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDVyZW07XG5gO1xuY29uc3QgY29ubmVjdG9yID0gY29ubmVjdChtYXBTdGF0ZVRvUHJvcHMpO1xuZXhwb3J0IGRlZmF1bHQgY29ubmVjdG9yKEV2ZW50SW5mbyk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBRUEsSUFBQUUsUUFBQSxHQUFBRixPQUFBO0FBT0EsSUFBQUcsa0JBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLGlCQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxLQUFBLEdBQUFDLHNCQUFBLENBQUFOLE9BQUE7QUFDQSxJQUFBTyxjQUFBLEdBQUFELHNCQUFBLENBQUFOLE9BQUE7QUFDQUEsT0FBQTtBQUNBLElBQUFRLFNBQUEsR0FBQVIsT0FBQTtBQUtBLElBQUFTLGVBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLE9BQUEsR0FBQUosc0JBQUEsQ0FBQU4sT0FBQTtBQUNBLElBQUFXLFVBQUEsR0FBQUwsc0JBQUEsQ0FBQU4sT0FBQTtBQUNBLElBQUFZLGNBQUEsR0FBQU4sc0JBQUEsQ0FBQU4sT0FBQTtBQUNBLElBQUFhLGNBQUEsR0FBQVAsc0JBQUEsQ0FBQU4sT0FBQTtBQUNBLElBQUFjLGFBQUEsR0FBQVIsc0JBQUEsQ0FBQU4sT0FBQTtBQUVBLElBQUFlLGtCQUFBLEdBQUFmLE9BQUE7QUFDQSxJQUFBZ0IsTUFBQSxHQUFBaEIsT0FBQTtBQUNBLElBQUFpQixlQUFBLEdBQUFqQixPQUFBO0FBQ0EsSUFBQWtCLFVBQUEsR0FBQWxCLE9BQUE7QUFDQSxJQUFBbUIsYUFBQSxHQUFBYixzQkFBQSxDQUFBTixPQUFBO0FBQ0EsSUFBQW9CLG9CQUFBLEdBQUFkLHNCQUFBLENBQUFOLE9BQUE7QUFDQSxJQUFBcUIsU0FBQSxHQUFBckIsT0FBQTtBQUlrQyxTQUFBc0IseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlB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
175
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9hY3Rpb25zIiwiX2ZyZWVTb2xpZFN2Z0ljb25zIiwiX3JlYWN0Rm9udGF3ZXNvbWUiLCJfaTE4biIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfRXJyb3JCb3VuZGFyeSIsIl9hY3Rpb25zMiIsIl9yZWFjdFJvdXRlckRvbSIsIl9IZWFkZXIiLCJfVGltZWxpbmVzIiwiX1NldmVyaXR5U2NvcmUiLCJfU291cmNlRGV0YWlscyIsIl9TYW1wbGluZ0xpc3QiLCJfcmVhY3REZXZpY2VEZXRlY3QiLCJfaWNvbnMiLCJfcmVhY3RCb290c3RyYXAiLCJfQW5hbHl0aWNzIiwiX0NvbnRhbWluYW50cyIsIl9Qb2xsdXRpb25Bc3Nlc3NtZW50IiwiX01hcFV0aWxzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJtYXBTdGF0ZVRvUHJvcHMiLCJzdGF0ZSIsImV2ZW50c19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJwb2ludHNfZGF0YSIsIm5hdl9jb250ZXh0X2RhdGEiLCJFdmVudEluZm8iLCJwcm9wcyIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJldmVudCIsInJlT3BlbkZpbHRlciIsImZvY3VzZWRFdmVudFBhdGhzIiwibWFwIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwic2VsZWN0ZWRTb3VyY2UiLCJzZXRTZWxlY3RlZFNvdXJjZSIsImhpc3RvcnkiLCJ1c2VIaXN0b3J5IiwibG9jYXRpb24iLCJ1c2VMb2NhdGlvbiIsImhhbmRsZUdvQmFja0NsaWNrIiwic2V0Rm9jdXNlZEV2ZW50Iiwic2V0Rm9jdXNlZEV2ZW50UGF0aHMiLCJzZXRFdmVudEluZGljYXRvciIsInNldEN1cnJlbnRUaW1lIiwiRGF0ZSIsIm5vdyIsImNsb3NlRmxvYXRpbmdHcmFwaCIsInB1c2giLCJjb25jYXQiLCJuYXZDb250ZXh0IiwibmFtZSIsIndhdGVyQXV0aG9yaXR5SWQiLCJsb2NhbGUiLCJldmVudEZpbHRlclBhcmFtIiwidG9nZ2xlU291cmNlU2VsZWN0aW9uIiwicG9pbnRfaWQiLCJzZWxlY3RTb3VyY2UiLCJzaG93TWFwIiwiYW5hbHl0aWNzVHJhY2siLCJwYWdlX25hbWUiLCJwYXRobmFtZSIsInV0aWxpdHlfbmFtZSIsIndhdGVyQXV0aG9yaXR5TmFtZSIsInNpZGVOYXZFeHBhbmRlZCIsIm9uQ2xpY2tTb3VyY2UiLCJsYXllciIsIm1hcEdldExheWVyQnlJZCIsIm1hcENsaWNrTGF5ZXIiLCJjb21iaW5lZEJvdW5kcyIsInVzZU1lbW8iLCJBcnJheSIsImlzQXJyYXkiLCJib3VuZHNBcnJheXMiLCJmaWx0ZXIiLCJrYW5kb19vYmplY3QiLCJfYm91bmRzIiwiX3NvdXRoV2VzdCIsImxhdCIsImxuZyIsIl9ub3J0aEVhc3QiLCJsZW5ndGgiLCJhbGxDb29yZHMiLCJmbGF0IiwibGF0cyIsImNvb3JkIiwibG5ncyIsIm1pbkxhdCIsIk1hdGgiLCJtaW4iLCJhcHBseSIsIl90b0NvbnN1bWFibGVBcnJheTIiLCJtYXhMYXQiLCJtYXgiLCJtaW5MbmciLCJtYXhMbmciLCJoYW5kbGVSZXNldE1hcFZpZXciLCJmaXRCb3VuZHMiLCJhbmltYXRlIiwicGFkZGluZyIsInVzZUVmZmVjdCIsInNvdXJjZXMiLCJmbG9hdGluZ0dyYXBoIiwib3BlbiIsImNyZWF0ZUVsZW1lbnQiLCJGcmFnbWVudCIsImNsYXNzTmFtZSIsIm9uQ2xpY2siLCJGb250QXdlc29tZUljb24iLCJpY29uIiwiZmFBcnJvd0xlZnQiLCJpMThuIiwidCIsIkV2ZW50SW5mb0NvbnRhaW5lciIsImxhc3Rfc2Vlbl90aW1lIiwiaXNMaXZlIiwiZW5kX3RpbWUiLCJmaXJzdE9ic2VydmF0aW9uIiwiZmlyc3Rfb2JzZXJ2YXRpb25fZnJvbV9oaWVyYXJjaHkiLCJsYXN0T2JzZXJ2YXRpb24iLCJsYXN0X29ic2VydmF0aW9uX2Zyb21faGllcmFyY2h5IiwiZXZlbnRTY29yZSIsInNjb3JlIiwiZXhwbGFuYXRpb25zIiwiYWxnb19leHBsYW5hdGlvbnMiLCJtZXRhZGF0YSIsIm5vX3NvdXJjZXMiLCJldmVudElkIiwiaWQiLCJ0aW1lWm9uZSIsInRpbWVfem9uZSIsImlzTW9iaWxlIiwiUm93Iiwic2lkZW5hdkV4cGFuZGVkIiwiTWFwU3ZnIiwic3R5bGUiLCJ6b29tIiwib3BhY2l0eSIsInN0eWxlZCIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwiY29ubmVjdG9yIiwiY29ubmVjdCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9FdmVudHNQYWdlL2V2ZW50cy9ldmVudF9pbmZvL0V2ZW50SW5mby50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QsIHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBjb25uZWN0LCBDb25uZWN0ZWRQcm9wcywgdXNlRGlzcGF0Y2ggfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHtcbiAgc2V0Rm9jdXNlZEV2ZW50LFxuICBzZXRGb2N1c2VkRXZlbnRQYXRocyxcbiAgc2V0RXZlbnRJbmRpY2F0b3IsXG4gIHNlbGVjdFNvdXJjZSxcbn0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9hY3Rpb25zJztcbmltcG9ydCB7IElBcHBTdGF0ZSB9IGZyb20gJ3NyYy9tb2RlbHMvSUFwcFN0YXRlJztcbmltcG9ydCB7IGZhQXJyb3dMZWZ0IH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IEVycm9yQm91bmRhcnkgZnJvbSAnc3JjL3V0aWxpdGllcy9FcnJvckJvdW5kYXJ5JztcbmltcG9ydCAnLi9FdmVudEluZm9TdHlsZS5zY3NzJztcbmltcG9ydCB7XG4gIHNldEN1cnJlbnRUaW1lLFxuICBjbG9zZUZsb2F0aW5nR3JhcGgsXG4gIHNpZGVOYXZFeHBhbmRlZCxcbn0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9hY3Rpb25zJztcbmltcG9ydCB7IHVzZUhpc3RvcnksIHVzZUxvY2F0aW9uIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgSGVhZGVyIGZyb20gJy4vSGVhZGVyJztcbmltcG9ydCBUaW1lbGluZXMgZnJvbSAnLi9UaW1lbGluZXMnO1xuaW1wb3J0IFNldmVyaXR5U2NvcmUgZnJvbSAnLi9TZXZlcml0eVNjb3JlJztcbmltcG9ydCBTb3VyY2VEZXRhaWxzIGZyb20gJy4vU291cmNlRGV0YWlscy9Tb3VyY2VEZXRhaWxzJztcbmltcG9ydCBTYW1wbGluZ3MgZnJvbSAnLi9TYW1wbGluZ0xpc3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgeyBpc01vYmlsZSB9IGZyb20gJ3JlYWN0LWRldmljZS1kZXRlY3QnO1xuaW1wb3J0IHsgTWFwU3ZnIH0gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucyc7XG5pbXBvcnQgeyBSb3cgfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IHsgYW5hbHl0aWNzVHJhY2sgfSBmcm9tICdzcmMvdXRpbGl0aWVzL0FuYWx5dGljcyc7XG5pbXBvcnQgQ29udGFtaW5hbnRzIGZyb20gJy4vQ29udGFtaW5hbnRzJztcbmltcG9ydCBQb2xsdXRpb25Bc3Nlc3NtZW50IGZyb20gJy4vUG9sbHV0aW9uQXNzZXNzbWVudCAnO1xuaW1wb3J0IHsgbWFwQ2xpY2tMYXllciwgbWFwR2V0TGF5ZXJCeUlkIH0gZnJvbSAnc3JjL1dpZGdldHMvTWFwL01hcFV0aWxzJztcblxuZnVuY3Rpb24gbWFwU3RhdGVUb1Byb3BzKHN0YXRlOiBJQXBwU3RhdGUpIHtcbiAgY29uc3QgeyBldmVudHNfZGF0YSwgZ2xvYmFsX2RhdGEsIHBvaW50c19kYXRhLCBuYXZfY29udGV4dF9kYXRhIH0gPSBzdGF0ZTtcblxuICByZXR1cm4ge1xuICAgIGV2ZW50c19kYXRhLFxuICAgIGdsb2JhbF9kYXRhLFxuICAgIHBvaW50c19kYXRhLFxuICAgIG5hdl9jb250ZXh0X2RhdGEsXG4gIH07XG59XG5cbnR5cGUgSVByb3BzID0gQ29ubmVjdGVkUHJvcHM8dHlwZW9mIGNvbm5lY3Rvcj4gJiB7XG4gIGV2ZW50OiBJRXZlbnQ7XG4gIHJlT3BlbkZpbHRlcjogKCkgPT4gdm9pZDtcbn07XG5cbmNvbnN0IEV2ZW50SW5mbzogUmVhY3QuRkM8SVByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IHsgZ2xvYmFsX2RhdGEsIGV2ZW50LCBuYXZfY29udGV4dF9kYXRhLCByZU9wZW5GaWx0ZXIgfSA9IHByb3BzO1xuICBjb25zdCB7IGZvY3VzZWRFdmVudFBhdGhzIH0gPSBwcm9wcy5ldmVudHNfZGF0YTtcbiAgY29uc3QgeyBtYXAgfSA9IHByb3BzLmdsb2JhbF9kYXRhO1xuICBjb25zdCBbc2VsZWN0ZWRTb3VyY2UsIHNldFNlbGVjdGVkU291cmNlXSA9IHVzZVN0YXRlPG51bWJlciB8IG51bGw+KG51bGwpO1xuICBjb25zdCBoaXN0b3J5ID0gdXNlSGlzdG9yeSgpO1xuICBjb25zdCBsb2NhdGlvbiA9IHVzZUxvY2F0aW9uKCk7XG5cbiAgY29uc3QgaGFuZGxlR29CYWNrQ2xpY2sgPSAoKSA9PiB7XG4gICAgZGlzcGF0Y2goc2V0Rm9jdXNlZEV2ZW50KG51bGwpKTtcbiAgICBkaXNwYXRjaChzZXRGb2N1c2VkRXZlbnRQYXRocyhbXSkpO1xuICAgIGRpc3BhdGNoKHNldEV2ZW50SW5kaWNhdG9yKG51bGwpKTtcbiAgICBkaXNwYXRjaChzZXRDdXJyZW50VGltZSgoRGF0ZS5ub3coKSAvIDEwMDApIHwgMCkpO1xuICAgIGRpc3BhdGNoKGNsb3NlRmxvYXRpbmdHcmFwaCgpKTtcbiAgICByZU9wZW5GaWx0ZXIoKTtcbiAgICBoaXN0b3J5LnB1c2goXG4gICAgICBgLyR7bmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWV9L2luZGV4P3dhdGVyX2F1dGhvcml0eV9pZD0ke2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWR9JmxvY2FsZT0ke25hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5sb2NhbGV9JmV2ZW50SWQ9bnVsbCZ2YWx1ZXNGcm9tS1FMPSR7Z2xvYmFsX2RhdGEuZXZlbnRGaWx0ZXJQYXJhbX1gLFxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgdG9nZ2xlU291cmNlU2VsZWN0aW9uID0gKHBvaW50X2lkOiBudW1iZXIpID0+IHtcbiAgICBzZXRTZWxlY3RlZFNvdXJjZShwb2ludF9pZCk7XG4gICAgZGlzcGF0Y2goc2VsZWN0U291cmNlKHBvaW50X2lkKSk7XG4gIH07XG5cbiAgY29uc3Qgc2hvd01hcCA9ICgpID0+IHtcbiAgICBhbmFseXRpY3NUcmFjaygnRXZlbnQgaW5mbyBzaG93IG1hcCBjbGlja2VkJywge1xuICAgICAgcGFnZV9uYW1lOiBsb2NhdGlvbi5wYXRobmFtZSxcbiAgICAgIHV0aWxpdHlfbmFtZTogZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlOYW1lLFxuICAgIH0pO1xuICAgIGRpc3BhdGNoKHNpZGVOYXZFeHBhbmRlZChmYWxzZSkpO1xuICB9O1xuXG4gIGNvbnN0IG9uQ2xpY2tTb3VyY2UgPSAocG9pbnRfaWQ6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IGxheWVyID0gbWFwR2V0TGF5ZXJCeUlkKG1hcCwgcG9pbnRfaWQpO1xuICAgIC8vIElmIHRoZSB6b29tIGlzIHJlcXVlc3RlZCB1c2Ugc2V0VGltZW91dCBmb3IgdGhlIGNsaWNrIHRvIGJlIHByb2Nlc3NlZFxuICAgIC8vIG1hcFpvb21MYXllcihtYXAsIGxheWVyKTtcbiAgICAvLyBzZXRUaW1lb3V0KCgpID0+IG1hcENsaWNrTGF5ZXIobWFwLCBsYXllciksIDQwMCk7XG4gICAgbWFwQ2xpY2tMYXllcihtYXAsIGxheWVyKTtcbiAgfTtcblxuICAvLyBDYWxjdWxhdGUgY29tYmluZWQgYm91bmRzIG9ubHkgd2hlbiBmb2N1c2VkRXZlbnRQYXRocyBjaGFuZ2VzXG4gIGNvbnN0IGNvbWJpbmVkQm91bmRzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGZvY3VzZWRFdmVudFBhdGhzKSkgcmV0dXJuIG51bGw7XG5cbiAgICBjb25zdCBib3VuZHNBcnJheXMgPSBmb2N1c2VkRXZlbnRQYXRoc1xuICAgICAgLmZpbHRlcigob2JqKSA9PiBvYmoua2FuZG9fb2JqZWN0ID09PSAnRXZlbnRQYXRoJyAmJiBvYmouX2JvdW5kcylcbiAgICAgIC5tYXAoKG9iaikgPT4gW1xuICAgICAgICBbb2JqLl9ib3VuZHMuX3NvdXRoV2VzdC5sYXQsIG9iai5fYm91bmRzLl9zb3V0aFdlc3QubG5nXSxcbiAgICAgICAgW29iai5fYm91bmRzLl9ub3J0aEVhc3QubGF0LCBvYmouX2JvdW5kcy5fbm9ydGhFYXN0LmxuZ10sXG4gICAgICBdKTtcblxuICAgIGlmIChib3VuZHNBcnJheXMubGVuZ3RoID09PSAwKSByZXR1cm4gbnVsbDtcblxuICAgIGNvbnN0IGFsbENvb3JkcyA9IGJvdW5kc0FycmF5cy5mbGF0KCk7XG4gICAgY29uc3QgbGF0cyA9IGFsbENvb3Jkcy5tYXAoKGNvb3JkKSA9PiBjb29yZFswXSk7XG4gICAgY29uc3QgbG5ncyA9IGFsbENvb3Jkcy5tYXAoKGNvb3JkKSA9PiBjb29yZFsxXSk7XG4gICAgY29uc3QgbWluTGF0ID0gTWF0aC5taW4oLi4ubGF0cyk7XG4gICAgY29uc3QgbWF4TGF0ID0gTWF0aC5tYXgoLi4ubGF0cyk7XG4gICAgY29uc3QgbWluTG5nID0gTWF0aC5taW4oLi4ubG5ncyk7XG4gICAgY29uc3QgbWF4TG5nID0gTWF0aC5tYXgoLi4ubG5ncyk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgW21pbkxhdCwgbWluTG5nXSxcbiAgICAgIFttYXhMYXQsIG1heExuZ10sXG4gICAgXTtcbiAgfSwgW2ZvY3VzZWRFdmVudFBhdGhzXSk7XG5cbiAgY29uc3QgaGFuZGxlUmVzZXRNYXBWaWV3ID0gKCkgPT4ge1xuICAgIGlmIChtYXAgJiYgY29tYmluZWRCb3VuZHMpIHtcbiAgICAgIG1hcC5maXRCb3VuZHMoY29tYmluZWRCb3VuZHMsIHsgYW5pbWF0ZTogdHJ1ZSwgcGFkZGluZzogWzIwLCAyMF0gfSk7XG4gICAgfVxuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHNlbGVjdGVkU291cmNlID09PSBudWxsICYmIGV2ZW50LnNvdXJjZXMubGVuZ3RoICE9PSAwKSB7XG4gICAgICB0b2dnbGVTb3VyY2VTZWxlY3Rpb24oZXZlbnQuc291cmNlc1swXS5wb2ludF9pZCk7XG4gICAgfVxuICB9LCBbXG4gICAgcHJvcHMucG9pbnRzX2RhdGEsXG4gICAgcHJvcHMuZXZlbnRzX2RhdGEsXG4gICAgZXZlbnQsXG4gICAgZ2xvYmFsX2RhdGEuZmxvYXRpbmdHcmFwaC5vcGVuLFxuICBdKTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17J2JhY2tfYnV0dG9uX2NvbnRhaW5lcid9PlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3NOYW1lPXsnYmFja19idXR0b25fY29udGFpbmVyX19idXR0b24nfVxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUdvQmFja0NsaWNrKCl9XG4gICAgICAgID5cbiAgICAgICAgICA8Rm9udEF3ZXNvbWVJY29uIGljb249e2ZhQXJyb3dMZWZ0fSAvPlxuICAgICAgICAgIDxzcGFuPiB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuYmFja190b19ldmVudHMnKX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8RXJyb3JCb3VuZGFyeT5cbiAgICAgICAgPEV2ZW50SW5mb0NvbnRhaW5lciBjbGFzc05hbWU9eydjb250YWluZXInfT5cbiAgICAgICAgICA8SGVhZGVyIGxhc3Rfc2Vlbl90aW1lPXtldmVudC5sYXN0X3NlZW5fdGltZX0gLz5cbiAgICAgICAgICA8VGltZWxpbmVzXG4gICAgICAgICAgICBpc0xpdmU9eyFldmVudC5lbmRfdGltZX1cbiAgICAgICAgICAgIGZpcnN0T2JzZXJ2YXRpb249e2V2ZW50LmZpcnN0X29ic2VydmF0aW9uX2Zyb21faGllcmFyY2h5fVxuICAgICAgICAgICAgbGFzdE9ic2VydmF0aW9uPXtldmVudC5sYXN0X29ic2VydmF0aW9uX2Zyb21faGllcmFyY2h5fVxuICAgICAgICAgICAgb25DbGlja1NvdXJjZT17b25DbGlja1NvdXJjZX1cbiAgICAgICAgICAgIGhhbmRsZVJlc2V0TWFwVmlldz17aGFuZGxlUmVzZXRNYXBWaWV3fVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFNldmVyaXR5U2NvcmVcbiAgICAgICAgICAgIGV2ZW50U2NvcmU9e2V2ZW50LmZpcnN0X29ic2VydmF0aW9uX2Zyb21faGllcmFyY2h5LnNjb3JlfVxuICAgICAgICAgICAgZXhwbGFuYXRpb25zPXtldmVudC5hbGdvX2V4cGxhbmF0aW9uc31cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxDb250YW1pbmFudHMgbWV0YWRhdGE9e2V2ZW50Lm1ldGFkYXRhfSAvPlxuICAgICAgICAgIDxQb2xsdXRpb25Bc3Nlc3NtZW50IG1ldGFkYXRhPXtldmVudC5tZXRhZGF0YX0gLz5cbiAgICAgICAgICA8U291cmNlRGV0YWlsc1xuICAgICAgICAgICAgc291cmNlcz17XG4gICAgICAgICAgICAgIGV2ZW50LnNvdXJjZXMubGVuZ3RoID09PSAwID8gZXZlbnQubm9fc291cmNlcyA6IGV2ZW50LnNvdXJjZXNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAvPnsnICd9XG4gICAgICAgICAgPFNhbXBsaW5nc1xuICAgICAgICAgICAgZXZlbnRJZD17ZXZlbnQuaWR9XG4gICAgICAgICAgICB0aW1lWm9uZT17ZXZlbnQuZmlyc3Rfb2JzZXJ2YXRpb25fZnJvbV9oaWVyYXJjaHkudGltZV96b25lfVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2lzTW9iaWxlICYmIChcbiAgICAgICAgICAgIDxSb3dcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtcbiAgICAgICAgICAgICAgICBnbG9iYWxfZGF0YS5zaWRlbmF2RXhwYW5kZWRcbiAgICAgICAgICAgICAgICAgID8gJ2ZpeGVkLWJvdHRvbSBqdXN0aWZ5LWNvbnRlbnQtZW5kIG14LTEnXG4gICAgICAgICAgICAgICAgICA6ICdkLW5vbmUnXG4gICAgICAgICAgICAgIH1gfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8TWFwU3ZnIG9uQ2xpY2s9e3Nob3dNYXB9IHN0eWxlPXt7IHpvb206IDAuOCwgb3BhY2l0eTogMC42IH19IC8+XG4gICAgICAgICAgICA8L1Jvdz5cbiAgICAgICAgICApfVxuICAgICAgICA8L0V2ZW50SW5mb0NvbnRhaW5lcj5cbiAgICAgIDwvRXJyb3JCb3VuZGFyeT5cbiAgICA8Lz5cbiAgKTtcbn07XG5cbmNvbnN0IEV2ZW50SW5mb0NvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDVyZW07XG5gO1xuY29uc3QgY29ubmVjdG9yID0gY29ubmVjdChtYXBTdGF0ZVRvUHJvcHMpO1xuZXhwb3J0IGRlZmF1bHQgY29ubmVjdG9yKEV2ZW50SW5mbyk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBRUEsSUFBQUUsUUFBQSxHQUFBRixPQUFBO0FBT0EsSUFBQUcsa0JBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLGlCQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxLQUFBLEdBQUFDLHNCQUFBLENBQUFOLE9BQUE7QUFDQSxJQUFBTyxjQUFBLEdBQUFELHNCQUFBLENBQUFOLE9BQUE7QUFDQUEsT0FBQTtBQUNBLElBQUFRLFNBQUEsR0FBQVIsT0FBQTtBQUtBLElBQUFTLGVBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLE9BQUEsR0FBQUosc0JBQUEsQ0FBQU4sT0FBQTtBQUNBLElBQUFXLFVBQUEsR0FBQUwsc0JBQUEsQ0FBQU4sT0FBQTtBQUNBLElBQUFZLGNBQUEsR0FBQU4sc0JBQUEsQ0FBQU4sT0FBQTtBQUNBLElBQUFhLGNBQUEsR0FBQVAsc0JBQUEsQ0FBQU4sT0FBQTtBQUNBLElBQUFjLGFBQUEsR0FBQVIsc0JBQUEsQ0FBQU4sT0FBQTtBQUVBLElBQUFlLGtCQUFBLEdBQUFmLE9BQUE7QUFDQSxJQUFBZ0IsTUFBQSxHQUFBaEIsT0FBQTtBQUNBLElBQUFpQixlQUFBLEdBQUFqQixPQUFBO0FBQ0EsSUFBQWtCLFVBQUEsR0FBQWxCLE9BQUE7QUFDQSxJQUFBbUIsYUFBQSxHQUFBYixzQkFBQSxDQUFBTixPQUFBO0FBQ0EsSUFBQW9CLG9CQUFBLEdBQUFkLHNCQUFBLENBQUFOLE9BQUE7QUFDQSxJQUFBcUIsU0FBQSxHQUFBckIsT0FBQTtBQUEwRSxTQUFBc0IseUJBQUFDLFdBQUEsZUFBQUMsT0FB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
@@ -20,11 +20,12 @@ var SeenBox = function SeenBox(_ref) {
20
20
  });
21
21
  return /*#__PURE__*/_react.default.createElement(_reactBootstrap.Container, {
22
22
  onClick: onClick,
23
- style: {
23
+ className: onClick ? 'seenbox-hover' : '',
24
+ style: onClick ? {
24
25
  cursor: 'pointer'
25
- },
26
- tabIndex: 0,
27
- role: 'button'
26
+ } : undefined,
27
+ tabIndex: onClick ? 0 : undefined,
28
+ role: onClick ? 'button' : undefined
28
29
  }, [/*#__PURE__*/_react.default.createElement(_reactBootstrap.Row, {
29
30
  key: 2
30
31
  }, /*#__PURE__*/_react.default.createElement(_SiteName.default, {
@@ -35,4 +36,4 @@ var SeenBox = function SeenBox(_ref) {
35
36
  };
36
37
  var _default = SeenBox;
37
38
  exports.default = _default;
38
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdEJvb3RzdHJhcCIsIl91c2VVc2VyVGltZVpvbmUiLCJfU2l0ZU5hbWUiLCJTZWVuQm94IiwiX3JlZiIsInBvaW50X25hbWUiLCJ0aW1lIiwidGltZV96b25lIiwib25DbGljayIsInRpbWVJbkZvcm1hdCIsInVzZVRpbWVJbkZvcm1hdCIsImRlZmF1bHQiLCJjcmVhdGVFbGVtZW50IiwiQ29udGFpbmVyIiwic3R5bGUiLCJjdXJzb3IiLCJ0YWJJbmRleCIsInJvbGUiLCJSb3ciLCJrZXkiLCJzaXRlIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3BhZ2VzL0V2ZW50c1BhZ2UvZXZlbnRzL2V2ZW50X2luZm8vVGltZWxpbmVzL1NlZW5Cb3gudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBDb250YWluZXIsIFJvdyB9IGZyb20gJ3JlYWN0LWJvb3RzdHJhcCc7XG5pbXBvcnQgeyB1c2VUaW1lSW5Gb3JtYXQgfSBmcm9tICdzcmMvaG9va3MvdXNlVXNlclRpbWVab25lJztcbmltcG9ydCBTaXRlTmFtZSBmcm9tICcuLi8uLi8uLi8uLi8uLi91aS1raXQvc2l0ZU5hbWUvU2l0ZU5hbWUnO1xuXG50eXBlIElQcm9wcyA9IHtcbiAgcG9pbnRfbmFtZTogc3RyaW5nO1xuICB0aW1lOiBudW1iZXI7XG4gIHRpbWVfem9uZTogc3RyaW5nO1xuICBvbkNsaWNrPzogKCkgPT4gdm9pZDtcbn07XG5jb25zdCBTZWVuQm94ID0gKHsgcG9pbnRfbmFtZSwgdGltZSwgdGltZV96b25lLCBvbkNsaWNrIH06IElQcm9wcykgPT4ge1xuICBjb25zdCB0aW1lSW5Gb3JtYXQgPSB1c2VUaW1lSW5Gb3JtYXQoeyB0aW1lLCB0aW1lX3pvbmUgfSk7XG5cbiAgcmV0dXJuIChcbiAgICA8Q29udGFpbmVyXG4gICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgc3R5bGU9e3sgY3Vyc29yOiAncG9pbnRlcicgfX1cbiAgICAgIHRhYkluZGV4PXswfVxuICAgICAgcm9sZT17J2J1dHRvbid9XG4gICAgPlxuICAgICAge1tcbiAgICAgICAgPFJvdyBrZXk9ezJ9PlxuICAgICAgICAgIDxTaXRlTmFtZSBzaXRlPXtwb2ludF9uYW1lfSAvPlxuICAgICAgICA8L1Jvdz4sXG4gICAgICAgIDxSb3cga2V5PXszfT57dGltZUluRm9ybWF0fTwvUm93PixcbiAgICAgIF19XG4gICAgPC9Db250YWluZXI+XG4gICk7XG59O1xuZXhwb3J0IGRlZmF1bHQgU2VlbkJveDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGVBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLGdCQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxTQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFRQSxJQUFNSSxPQUFPLEdBQUcsU0FBVkEsT0FBT0EsQ0FBQUMsSUFBQSxFQUF5RDtFQUFBLElBQW5EQyxVQUFVLEdBQUFELElBQUEsQ0FBVkMsVUFBVTtJQUFFQyxJQUFJLEdBQUFGLElBQUEsQ0FBSkUsSUFBSTtJQUFFQyxTQUFTLEdBQUFILElBQUEsQ0FBVEcsU0FBUztJQUFFQyxPQUFPLEdBQUFKLElBQUEsQ0FBUEksT0FBTztFQUNyRCxJQUFNQyxZQUFZLEdBQUcsSUFBQUMsZ0NBQWUsRUFBQztJQUFFSixJQUFJLEVBQUpBLElBQUk7SUFBRUMsU0FBUyxFQUFUQTtFQUFVLENBQUMsQ0FBQztFQUV6RCxvQkFDRVYsTUFBQSxDQUFBYyxPQUFBLENBQUFDLGFBQUEsQ0FBQ1osZUFBQSxDQUFBYSxTQUFTO0lBQ1JMLE9BQU8sRUFBRUEsT0FBUTtJQUNqQk0sS0FBSyxFQUFFO01BQUVDLE1BQU0sRUFBRTtJQUFVLENBQUU7SUFDN0JDLFFBQVEsRUFBRSxDQUFFO0lBQ1pDLElBQUksRUFBRTtFQUFTLEdBRWQsY0FDQ3BCLE1BQUEsQ0FBQWMsT0FBQSxDQUFBQyxhQUFBLENBQUNaLGVBQUEsQ0FBQWtCLEdBQUc7SUFBQ0MsR0FBRyxFQUFFO0VBQUUsZ0JBQ1Z0QixNQUFBLENBQUFjLE9BQUEsQ0FBQUMsYUFBQSxDQUFDVixTQUFBLENBQUFTLE9BQVE7SUFBQ1MsSUFBSSxFQUFFZjtFQUFXLENBQUUsQ0FDMUIsQ0FBQyxlQUNOUixNQUFBLENBQUFjLE9BQUEsQ0FBQUMsYUFBQSxDQUFDWixlQUFBLENBQUFrQixHQUFHO0lBQUNDLEdBQUcsRUFBRTtFQUFFLEdBQUVWLFlBQWtCLENBQUMsQ0FFMUIsQ0FBQztBQUVoQixDQUFDO0FBQUMsSUFBQVksUUFBQSxHQUNhbEIsT0FBTztBQUFBbUIsT0FBQSxDQUFBWCxPQUFBLEdBQUFVLFFBQUEifQ==
39
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdEJvb3RzdHJhcCIsIl91c2VVc2VyVGltZVpvbmUiLCJfU2l0ZU5hbWUiLCJTZWVuQm94IiwiX3JlZiIsInBvaW50X25hbWUiLCJ0aW1lIiwidGltZV96b25lIiwib25DbGljayIsInRpbWVJbkZvcm1hdCIsInVzZVRpbWVJbkZvcm1hdCIsImRlZmF1bHQiLCJjcmVhdGVFbGVtZW50IiwiQ29udGFpbmVyIiwiY2xhc3NOYW1lIiwic3R5bGUiLCJjdXJzb3IiLCJ1bmRlZmluZWQiLCJ0YWJJbmRleCIsInJvbGUiLCJSb3ciLCJrZXkiLCJzaXRlIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3BhZ2VzL0V2ZW50c1BhZ2UvZXZlbnRzL2V2ZW50X2luZm8vVGltZWxpbmVzL1NlZW5Cb3gudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBDb250YWluZXIsIFJvdyB9IGZyb20gJ3JlYWN0LWJvb3RzdHJhcCc7XG5pbXBvcnQgeyB1c2VUaW1lSW5Gb3JtYXQgfSBmcm9tICdzcmMvaG9va3MvdXNlVXNlclRpbWVab25lJztcbmltcG9ydCBTaXRlTmFtZSBmcm9tICcuLi8uLi8uLi8uLi8uLi91aS1raXQvc2l0ZU5hbWUvU2l0ZU5hbWUnO1xuXG50eXBlIElQcm9wcyA9IHtcbiAgcG9pbnRfbmFtZTogc3RyaW5nO1xuICB0aW1lOiBudW1iZXI7XG4gIHRpbWVfem9uZTogc3RyaW5nO1xuICBvbkNsaWNrPzogKCkgPT4gdm9pZDtcbn07XG5jb25zdCBTZWVuQm94ID0gKHsgcG9pbnRfbmFtZSwgdGltZSwgdGltZV96b25lLCBvbkNsaWNrIH06IElQcm9wcykgPT4ge1xuICBjb25zdCB0aW1lSW5Gb3JtYXQgPSB1c2VUaW1lSW5Gb3JtYXQoeyB0aW1lLCB0aW1lX3pvbmUgfSk7XG5cbiAgcmV0dXJuIChcbiAgICA8Q29udGFpbmVyXG4gICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgY2xhc3NOYW1lPXtvbkNsaWNrID8gJ3NlZW5ib3gtaG92ZXInIDogJyd9XG4gICAgICBzdHlsZT17b25DbGljayA/IHsgY3Vyc29yOiAncG9pbnRlcicgfSA6IHVuZGVmaW5lZH1cbiAgICAgIHRhYkluZGV4PXtvbkNsaWNrID8gMCA6IHVuZGVmaW5lZH1cbiAgICAgIHJvbGU9e29uQ2xpY2sgPyAnYnV0dG9uJyA6IHVuZGVmaW5lZH1cbiAgICA+XG4gICAgICB7W1xuICAgICAgICA8Um93IGtleT17Mn0+XG4gICAgICAgICAgPFNpdGVOYW1lIHNpdGU9e3BvaW50X25hbWV9IC8+XG4gICAgICAgIDwvUm93PixcbiAgICAgICAgPFJvdyBrZXk9ezN9Pnt0aW1lSW5Gb3JtYXR9PC9Sb3c+LFxuICAgICAgXX1cbiAgICA8L0NvbnRhaW5lcj5cbiAgKTtcbn07XG5leHBvcnQgZGVmYXVsdCBTZWVuQm94O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsZUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsZ0JBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLFNBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQVFBLElBQU1JLE9BQU8sR0FBRyxTQUFWQSxPQUFPQSxDQUFBQyxJQUFBLEVBQXlEO0VBQUEsSUFBbkRDLFVBQVUsR0FBQUQsSUFBQSxDQUFWQyxVQUFVO0lBQUVDLElBQUksR0FBQUYsSUFBQSxDQUFKRSxJQUFJO0lBQUVDLFNBQVMsR0FBQUgsSUFBQSxDQUFURyxTQUFTO0lBQUVDLE9BQU8sR0FBQUosSUFBQSxDQUFQSSxPQUFPO0VBQ3JELElBQU1DLFlBQVksR0FBRyxJQUFBQyxnQ0FBZSxFQUFDO0lBQUVKLElBQUksRUFBSkEsSUFBSTtJQUFFQyxTQUFTLEVBQVRBO0VBQVUsQ0FBQyxDQUFDO0VBRXpELG9CQUNFVixNQUFBLENBQUFjLE9BQUEsQ0FBQUMsYUFBQSxDQUFDWixlQUFBLENBQUFhLFNBQVM7SUFDUkwsT0FBTyxFQUFFQSxPQUFRO0lBQ2pCTSxTQUFTLEVBQUVOLE9BQU8sR0FBRyxlQUFlLEdBQUcsRUFBRztJQUMxQ08sS0FBSyxFQUFFUCxPQUFPLEdBQUc7TUFBRVEsTUFBTSxFQUFFO0lBQVUsQ0FBQyxHQUFHQyxTQUFVO0lBQ25EQyxRQUFRLEVBQUVWLE9BQU8sR0FBRyxDQUFDLEdBQUdTLFNBQVU7SUFDbENFLElBQUksRUFBRVgsT0FBTyxHQUFHLFFBQVEsR0FBR1M7RUFBVSxHQUVwQyxjQUNDcEIsTUFBQSxDQUFBYyxPQUFBLENBQUFDLGFBQUEsQ0FBQ1osZUFBQSxDQUFBb0IsR0FBRztJQUFDQyxHQUFHLEVBQUU7RUFBRSxnQkFDVnhCLE1BQUEsQ0FBQWMsT0FBQSxDQUFBQyxhQUFBLENBQUNWLFNBQUEsQ0FBQVMsT0FBUTtJQUFDVyxJQUFJLEVBQUVqQjtFQUFXLENBQUUsQ0FDMUIsQ0FBQyxlQUNOUixNQUFBLENBQUFjLE9BQUEsQ0FBQUMsYUFBQSxDQUFDWixlQUFBLENBQUFvQixHQUFHO0lBQUNDLEdBQUcsRUFBRTtFQUFFLEdBQUVaLFlBQWtCLENBQUMsQ0FFMUIsQ0FBQztBQUVoQixDQUFDO0FBQUMsSUFBQWMsUUFBQSxHQUNhcEIsT0FBTztBQUFBcUIsT0FBQSxDQUFBYixPQUFBLEdBQUFZLFFBQUEifQ==
@@ -16,6 +16,7 @@ var _DischargeBox = _interopRequireDefault(require("./DischargeBox"));
16
16
  var _reactFontawesome = require("@fortawesome/react-fontawesome");
17
17
  var _freeSolidSvgIcons = require("@fortawesome/free-solid-svg-icons");
18
18
  var _i18n = _interopRequireDefault(require("utilities/i18n"));
19
+ require("./TimelinesStyle.scss");
19
20
  var Timelines = function Timelines(_ref) {
20
21
  var _ref$isLive = _ref.isLive,
21
22
  isLive = _ref$isLive === void 0 ? false : _ref$isLive,
@@ -74,7 +75,8 @@ var Timelines = function Timelines(_ref) {
74
75
  }), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Row, {
75
76
  className: 'justify-content-between'
76
77
  }, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Col, {
77
- xs: 6
78
+ xs: 6,
79
+ className: "cursor-pointer seenbox-hover"
78
80
  }, /*#__PURE__*/_react.default.createElement(_SeenBox.default, {
79
81
  point_name: firstObservation.point_name,
80
82
  time: first_start_time,
@@ -83,7 +85,8 @@ var Timelines = function Timelines(_ref) {
83
85
  })), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Col, {
84
86
  md: 6,
85
87
  xs: 6,
86
- sm: 6
88
+ sm: 6,
89
+ className: "cursor-pointer seenbox-hover"
87
90
  }, /*#__PURE__*/_react.default.createElement(_SeenBox.default, {
88
91
  point_name: lastObservation.point_name,
89
92
  time: lastObservation.last_seen_time,
@@ -108,4 +111,4 @@ var Timelines = function Timelines(_ref) {
108
111
  };
109
112
  var _default = Timelines;
110
113
  exports.default = _default;
111
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9FdmVudFNlY3Rpb24iLCJfTGl2ZVN0YXR1c0JhZGdlIiwiX3JlYWN0Qm9vdHN0cmFwIiwiX1NlZW5Cb3giLCJfVGl0bGVzIiwiX0Vhcmx5V2FybmluZyIsIl9EaXNjaGFyZ2VCb3giLCJfcmVhY3RGb250YXdlc29tZSIsIl9mcmVlU29saWRTdmdJY29ucyIsIl9pMThuIiwiVGltZWxpbmVzIiwiX3JlZiIsIl9yZWYkaXNMaXZlIiwiaXNMaXZlIiwiZmlyc3RPYnNlcnZhdGlvbiIsImxhc3RPYnNlcnZhdGlvbiIsIm9uQ2xpY2tTb3VyY2UiLCJoYW5kbGVSZXNldE1hcFZpZXciLCJmaXJzdF9zdGFydF90aW1lIiwic3RhcnRfdGltZSIsImZpcnN0X2VuZF90aW1lIiwibGFzdF9zZWVuX3RpbWUiLCJ0aW1lX3pvbmUiLCJsYXN0X3N0YXJ0X3RpbWUiLCJzaG93RWFybHlXYXJuaW5nIiwicG9pbnRfaWQiLCJvbkNsaWNrRmlyc3QiLCJvbkNsaWNrTGFzdCIsImhlYWRlciIsImRlZmF1bHQiLCJjcmVhdGVFbGVtZW50Iiwic3R5bGUiLCJkaXNwbGF5IiwiYWxpZ25JdGVtcyIsIndpZHRoIiwiZmxleCIsIk92ZXJsYXlUcmlnZ2VyIiwib3ZlcmxheSIsIlRvb2x0aXAiLCJpZCIsInBsYWNlbWVudCIsImNvbmNhdCIsImkxOG4iLCJ0IiwiY29sb3IiLCJvbkNsaWNrIiwiRm9udEF3ZXNvbWVJY29uIiwiaWNvbiIsImZhQ3Jvc3NoYWlycyIsInNlY3Rpb25fbmFtZSIsImJvZHlDbGFzc05hbWUiLCJib2R5IiwiRnJhZ21lbnQiLCJjbGFzc05hbWUiLCJSb3ciLCJDb2wiLCJ4cyIsInBvaW50X25hbWUiLCJ0aW1lIiwibWQiLCJzbSIsIk9iamVjdCIsImFzc2lnbiIsImVhcmx5X3dhcm5pbmdzIiwic2hvd0RpdmlkZXIiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvcGFnZXMvRXZlbnRzUGFnZS9ldmVudHMvZXZlbnRfaW5mby9UaW1lbGluZXMvVGltZWxpbmVzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IEV2ZW50U2VjdGlvbiBmcm9tICcuLi9FdmVudFNlY3Rpb24nO1xuaW1wb3J0IExpdmVTdGF0dXNCYWRnZSBmcm9tICcuL0xpdmVTdGF0dXNCYWRnZSc7XG5pbXBvcnQgeyBJT2JzZXJ2YXRpb24gfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHsgQ29sLCBPdmVybGF5VHJpZ2dlciwgUm93LCBUb29sdGlwIH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwJztcbmltcG9ydCBTZWVuQm94IGZyb20gJy4vU2VlbkJveCc7XG5pbXBvcnQgVGl0bGVzIGZyb20gJy4vVGl0bGVzJztcbmltcG9ydCBFYXJseVdhcm5pbmcgZnJvbSAnLi9FYXJseVdhcm5pbmcnO1xuaW1wb3J0IERpc2NoYXJnZUJveCBmcm9tICcuL0Rpc2NoYXJnZUJveCc7XG5pbXBvcnQgeyBGb250QXdlc29tZUljb24gfSBmcm9tICdAZm9ydGF3ZXNvbWUvcmVhY3QtZm9udGF3ZXNvbWUnO1xuaW1wb3J0IHsgZmFDcm9zc2hhaXJzIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5cbnR5cGUgSVRpbWVsaW5lc1Byb3BzID0ge1xuICBpc0xpdmU/OiBib29sZWFuO1xuICBmaXJzdE9ic2VydmF0aW9uOiBJT2JzZXJ2YXRpb247XG4gIGxhc3RPYnNlcnZhdGlvbjogSU9ic2VydmF0aW9uO1xuICBlYXJseVdhcm5pbmdOYW1lPzogc3RyaW5nO1xuICBkaXNjaGFyZ2VUaW1lPzogc3RyaW5nO1xuICBlYXJseVdhcm5pbmdEaXN0YW5jZT86IG51bWJlcjtcbiAgb25DbGlja1NvdXJjZT86IChwb2ludF9pZDogbnVtYmVyKSA9PiB2b2lkO1xuICBoYW5kbGVSZXNldE1hcFZpZXc/OiAoKSA9PiB2b2lkO1xufTtcblxuY29uc3QgVGltZWxpbmVzID0gKHtcbiAgaXNMaXZlID0gZmFsc2UsXG4gIGZpcnN0T2JzZXJ2YXRpb24sXG4gIGxhc3RPYnNlcnZhdGlvbixcbiAgb25DbGlja1NvdXJjZSxcbiAgaGFuZGxlUmVzZXRNYXBWaWV3LFxufTogSVRpbWVsaW5lc1Byb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBzdGFydF90aW1lOiBmaXJzdF9zdGFydF90aW1lLFxuICAgIGxhc3Rfc2Vlbl90aW1lOiBmaXJzdF9lbmRfdGltZSxcbiAgICB0aW1lX3pvbmUsXG4gIH0gPSBmaXJzdE9ic2VydmF0aW9uO1xuICBjb25zdCB7IHN0YXJ0X3RpbWU6IGxhc3Rfc3RhcnRfdGltZSB9ID0gbGFzdE9ic2VydmF0aW9uO1xuICBjb25zdCBzaG93RWFybHlXYXJuaW5nID1cbiAgICBmaXJzdE9ic2VydmF0aW9uLnBvaW50X2lkICE9PSBsYXN0T2JzZXJ2YXRpb24ucG9pbnRfaWQ7XG5cbiAgY29uc3Qgb25DbGlja0ZpcnN0ID0gKCkgPT4ge1xuICAgIGlmIChvbkNsaWNrU291cmNlKSB7XG4gICAgICBvbkNsaWNrU291cmNlKGZpcnN0T2JzZXJ2YXRpb24ucG9pbnRfaWQpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBvbkNsaWNrTGFzdCA9ICgpID0+IHtcbiAgICBpZiAob25DbGlja1NvdXJjZSkge1xuICAgICAgb25DbGlja1NvdXJjZShsYXN0T2JzZXJ2YXRpb24ucG9pbnRfaWQpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoZWFkZXIgPSAoXG4gICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGFsaWduSXRlbXM6ICdjZW50ZXInLCB3aWR0aDogJzEwMCUnIH19PlxuICAgICAge2lzTGl2ZSAmJiA8TGl2ZVN0YXR1c0JhZGdlIC8+fVxuICAgICAgPGRpdiBzdHlsZT17eyBmbGV4OiAxIH19IC8+XG4gICAgICA8T3ZlcmxheVRyaWdnZXJcbiAgICAgICAgb3ZlcmxheT17XG4gICAgICAgICAgPFRvb2x0aXAgaWQ9XCJuYXZpZ2F0aW9uLXRvb2x0aXBcIiBwbGFjZW1lbnQ9XCJhdXRvXCI+XG4gICAgICAgICAgICB7YCR7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcucmVzZXRfbWFwX3ZpZXcnKX1gfVxuICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgfVxuICAgICAgPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNvbG9yOiAnIzZjNzU3ZCcsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVSZXNldE1hcFZpZXd9XG4gICAgICAgID5cbiAgICAgICAgICA8Rm9udEF3ZXNvbWVJY29uIGljb249e2ZhQ3Jvc3NoYWlyc30gLz5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L092ZXJsYXlUcmlnZ2VyPlxuICAgIDwvZGl2PlxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPEV2ZW50U2VjdGlvbiBzZWN0aW9uX25hbWU9eyd0aW1lbGluZXMnfSBib2R5Q2xhc3NOYW1lPXsncC0wJ30+XG4gICAgICB7e1xuICAgICAgICBoZWFkZXI6IGhlYWRlcixcbiAgICAgICAgYm9keTogKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J3AtMyBteC0wJ30+XG4gICAgICAgICAgICAgIDxUaXRsZXMgb25DbGlja0ZpcnN0PXtvbkNsaWNrRmlyc3R9IG9uQ2xpY2tMYXN0PXtvbkNsaWNrTGFzdH0gLz5cbiAgICAgICAgICAgICAgPFJvdyBjbGFzc05hbWU9eydqdXN0aWZ5LWNvbnRlbnQtYmV0d2Vlbid9PlxuICAgICAgICAgICAgICAgIDxDb2wgeHM9ezZ9PlxuICAgICAgICAgICAgICAgICAgPFNlZW5Cb3hcbiAgICAgICAgICAgICAgICAgICAgcG9pbnRfbmFtZT17Zmlyc3RPYnNlcnZhdGlvbi5wb2ludF9uYW1lfVxuICAgICAgICAgICAgICAgICAgICB0aW1lPXtmaXJzdF9zdGFydF90aW1lfVxuICAgICAgICAgICAgICAgICAgICB0aW1lX3pvbmU9e3RpbWVfem9uZX1cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17b25DbGlja0ZpcnN0fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICAgICAgICA8Q29sIG1kPXs2fSB4cz17Nn0gc209ezZ9PlxuICAgICAgICAgICAgICAgICAgPFNlZW5Cb3hcbiAgICAgICAgICAgICAgICAgICAgcG9pbnRfbmFtZT17bGFzdE9ic2VydmF0aW9uLnBvaW50X25hbWV9XG4gICAgICAgICAgICAgICAgICAgIHRpbWU9e2xhc3RPYnNlcnZhdGlvbi5sYXN0X3NlZW5fdGltZX1cbiAgICAgICAgICAgICAgICAgICAgdGltZV96b25lPXt0aW1lX3pvbmV9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uQ2xpY2tMYXN0fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICAgICAgPC9Sb3c+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxSb3cgY2xhc3NOYW1lPXsnYm9yZGVyLXRvcCBtbC0wIG1yLTAgYm9yZGVyLWJldHdlZW4gZy0xJ30+XG4gICAgICAgICAgICAgIHtzaG93RWFybHlXYXJuaW5nICYmIChcbiAgICAgICAgICAgICAgICA8Q29sIHhzPXs2fT5cbiAgICAgICAgICAgICAgICAgIDxFYXJseVdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgdGltZV96b25lPXt0aW1lX3pvbmV9XG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0X3RpbWU9e2xhc3Rfc3RhcnRfdGltZX1cbiAgICAgICAgICAgICAgICAgICAgey4uLmxhc3RPYnNlcnZhdGlvbi5lYXJseV93YXJuaW5nc1swXX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDxDb2wgeHM9ezZ9IGNsYXNzTmFtZT17J3AtMCd9PlxuICAgICAgICAgICAgICAgIDxEaXNjaGFyZ2VCb3hcbiAgICAgICAgICAgICAgICAgIHNob3dEaXZpZGVyPXtzaG93RWFybHlXYXJuaW5nfVxuICAgICAgICAgICAgICAgICAgZmlyc3RfZW5kX3RpbWU9e2ZpcnN0X2VuZF90aW1lfVxuICAgICAgICAgICAgICAgICAgZmlyc3Rfc3RhcnRfdGltZT17Zmlyc3Rfc3RhcnRfdGltZX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICAgIDwvUm93PlxuICAgICAgICAgIDwvPlxuICAgICAgICApLFxuICAgICAgfX1cbiAgICA8L0V2ZW50U2VjdGlvbj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFRpbWVsaW5lcztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGFBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLGdCQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBRyxlQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxRQUFBLEdBQUFMLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSyxPQUFBLEdBQUFOLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBTSxhQUFBLEdBQUFQLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBTyxhQUFBLEdBQUFSLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBUSxpQkFBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsa0JBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLEtBQUEsR0FBQVgsc0JBQUEsQ0FBQUMsT0FBQTtBQWFBLElBQU1XLFNBQVMsR0FBRyxTQUFaQSxTQUFTQSxDQUFBQyxJQUFBLEVBTVE7RUFBQSxJQUFBQyxXQUFBLEdBQUFELElBQUEsQ0FMckJFLE1BQU07SUFBTkEsTUFBTSxHQUFBRCxXQUFBLGNBQUcsS0FBSyxHQUFBQSxXQUFBO0lBQ2RFLGdCQUFnQixHQUFBSCxJQUFBLENBQWhCRyxnQkFBZ0I7SUFDaEJDLGVBQWUsR0FBQUosSUFBQSxDQUFmSSxlQUFlO0lBQ2ZDLGFBQWEsR0FBQUwsSUFBQSxDQUFiSyxhQUFhO0lBQ2JDLGtCQUFrQixHQUFBTixJQUFBLENBQWxCTSxrQkFBa0I7RUFFbEIsSUFDY0MsZ0JBQWdCLEdBRzFCSixnQkFBZ0IsQ0FIbEJLLFVBQVU7SUFDTUMsY0FBYyxHQUU1Qk4sZ0JBQWdCLENBRmxCTyxjQUFjO0lBQ2RDLFNBQVMsR0FDUFIsZ0JBQWdCLENBRGxCUSxTQUFTO0VBRVgsSUFBb0JDLGVBQWUsR0FBS1IsZUFBZSxDQUEvQ0ksVUFBVTtFQUNsQixJQUFNSyxnQkFBZ0IsR0FDcEJWLGdCQUFnQixDQUFDVyxRQUFRLEtBQUtWLGVBQWUsQ0FBQ1UsUUFBUTtFQUV4RCxJQUFNQyxZQUFZLEdBQUcsU0FBZkEsWUFBWUEsQ0FBQSxFQUFTO0lBQ3pCLElBQUlWLGFBQWEsRUFBRTtNQUNqQkEsYUFBYSxDQUFDRixnQkFBZ0IsQ0FBQ1csUUFBUSxDQUFDO0lBQzFDO0VBQ0YsQ0FBQztFQUVELElBQU1FLFdBQVcsR0FBRyxTQUFkQSxXQUFXQSxDQUFBLEVBQVM7SUFDeEIsSUFBSVgsYUFBYSxFQUFFO01BQ2pCQSxhQUFhLENBQUNELGVBQWUsQ0FBQ1UsUUFBUSxDQUFDO0lBQ3pDO0VBQ0YsQ0FBQztFQUVELElBQU1HLE1BQU0sZ0JBQ1YvQixNQUFBLENBQUFnQyxPQUFBLENBQUFDLGFBQUE7SUFBS0MsS0FBSyxFQUFFO01BQUVDLE9BQU8sRUFBRSxNQUFNO01BQUVDLFVBQVUsRUFBRSxRQUFRO01BQUVDLEtBQUssRUFBRTtJQUFPO0VBQUUsR0FDbEVyQixNQUFNLGlCQUFJaEIsTUFBQSxDQUFBZ0MsT0FBQSxDQUFBQyxhQUFBLENBQUM3QixnQkFBQSxDQUFBNEIsT0FBZSxNQUFFLENBQUMsZUFDOUJoQyxNQUFBLENBQUFnQyxPQUFBLENBQUFDLGFBQUE7SUFBS0MsS0FBSyxFQUFFO01BQUVJLElBQUksRUFBRTtJQUFFO0VBQUUsQ0FBRSxDQUFDLGVBQzNCdEMsTUFBQSxDQUFBZ0MsT0FBQSxDQUFBQyxhQUFBLENBQUM1QixlQUFBLENBQUFrQyxjQUFjO0lBQ2JDLE9BQU8sZUFDTHhDLE1BQUEsQ0FBQWdDLE9BQUEsQ0FBQUMsYUFBQSxDQUFDNUIsZUFBQSxDQUFBb0MsT0FBTztNQUFDQyxFQUFFLEVBQUMsb0JBQW9CO01BQUNDLFNBQVMsRUFBQztJQUFNLE1BQUFDLE1BQUEsQ0FDM0NDLGFBQUksQ0FBQ0MsQ0FBQyxDQUFDLGdDQUFnQyxDQUFDLENBQ3JDO0VBQ1YsZ0JBRUQ5QyxNQUFBLENBQUFnQyxPQUFBLENBQUFDLGFBQUE7SUFDRUMsS0FBSyxFQUFFO01BQ0xhLEtBQUssRUFBRTtJQUNULENBQUU7SUFDRkMsT0FBTyxFQUFFNUI7RUFBbUIsZ0JBRTVCcEIsTUFBQSxDQUFBZ0MsT0FBQSxDQUFBQyxhQUFBLENBQUN2QixpQkFBQSxDQUFBdUMsZUFBZTtJQUFDQyxJQUFJLEVBQUVDO0VBQWEsQ0FBRSxDQUNoQyxDQUNNLENBQ2IsQ0FDTjtFQUVELG9CQUNFbkQsTUFBQSxDQUFBZ0MsT0FBQSxDQUFBQyxhQUFBLENBQUM5QixhQUFBLENBQUE2QixPQUFZO0lBQUNvQixZQUFZLEVBQUUsV0FBWTtJQUFDQyxhQUFhLEVBQUU7RUFBTSxHQUMzRDtJQUNDdEIsTUFBTSxFQUFFQSxNQUFNO0lBQ2R1QixJQUFJLGVBQ0Z0RCxNQUFBLENBQUFnQyxPQUFBLENBQUFDLGFBQUEsQ0FBQWpDLE1BQUEsQ0FBQWdDLE9BQUEsQ0FBQXVCLFFBQUEscUJBQ0V2RCxNQUFBLENBQUFnQyxPQUFBLENBQUFDLGFBQUE7TUFBS3VCLFNBQVMsRUFBRTtJQUFXLGdCQUN6QnhELE1BQUEsQ0FBQWdDLE9BQUEsQ0FBQUMsYUFBQSxDQUFDMUIsT0FBQSxDQUFBeUIsT0FBTTtNQUFDSCxZQUFZLEVBQUVBLFlBQWE7TUFBQ0MsV0FBVyxFQUFFQTtJQUFZLENBQUUsQ0FBQyxlQUNoRTlCLE1BQUEsQ0FBQWdDLE9BQUEsQ0FBQUMsYUFBQSxDQUFDNUIsZUFBQSxDQUFBb0QsR0FBRztNQUFDRCxTQUFTLEVBQUU7SUFBMEIsZ0JBQ3hDeEQsTUFBQSxDQUFBZ0MsT0FBQSxDQUFBQyxhQUFBLENBQUM1QixlQUFBLENBQUFxRCxHQUFHO01BQUNDLEVBQUUsRUFBRTtJQUFFLGdCQUNUM0QsTUFBQSxDQUFBZ0MsT0FBQSxDQUFBQyxhQUFBLENBQUMzQixRQUFBLENBQUEwQixPQUFPO01BQ040QixVQUFVLEVBQUUzQyxnQkFBZ0IsQ0FBQzJDLFVBQVc7TUFDeENDLElBQUksRUFBRXhDLGdCQUFpQjtNQUN2QkksU0FBUyxFQUFFQSxTQUFVO01BQ3JCdUIsT0FBTyxFQUFFbkI7SUFBYSxDQUN2QixDQUNFLENBQUMsZUFDTjdCLE1BQUEsQ0FBQWdDLE9BQUEsQ0FBQUMsYUFBQSxDQUFDNUIsZUFBQSxDQUFBcUQsR0FBRztNQUFDSSxFQUFFLEVBQUUsQ0FBRTtNQUFDSCxFQUFFLEVBQUUsQ0FBRTtNQUFDSSxFQUFFLEVBQUU7SUFBRSxnQkFDdkIvRCxNQUFBLENBQUFnQyxPQUFBLENBQUFDLGFBQUEsQ0FBQzNCLFFBQUEsQ0FBQTBCLE9BQU87TUFDTjRCLFVBQVUsRUFBRTFDLGVBQWUsQ0FBQzBDLFVBQVc7TUFDdkNDLElBQUksRUFBRTNDLGVBQWUsQ0FBQ00sY0FBZTtNQUNyQ0MsU0FBUyxFQUFFQSxTQUFVO01BQ3JCdUIsT0FBTyxFQUFFbEI7SUFBWSxDQUN0QixDQUNFLENBQ0YsQ0FDRixDQUFDLGVBQ045QixNQUFBLENBQUFnQyxPQUFBLENBQUFDLGFBQUEsQ0FBQzVCLGVBQUEsQ0FBQW9ELEdBQUc7TUFBQ0QsU0FBUyxFQUFFO0lBQTBDLEdBQ3ZEN0IsZ0JBQWdCLGlCQUNmM0IsTUFBQSxDQUFBZ0MsT0FBQSxDQUFBQyxhQUFBLENBQUM1QixlQUFBLENBQUFxRCxHQUFHO01BQUNDLEVBQUUsRUFBRTtJQUFFLGdCQUNUM0QsTUFBQSxDQUFBZ0MsT0FBQSxDQUFBQyxhQUFBLENBQUN6QixhQUFBLENBQUF3QixPQUFZLEVBQUFnQyxNQUFBLENBQUFDLE1BQUE7TUFDWHhDLFNBQVMsRUFBRUEsU0FBVTtNQUNyQkgsVUFBVSxFQUFFSTtJQUFnQixHQUN4QlIsZUFBZSxDQUFDZ0QsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUN0QyxDQUNFLENBQ04sZUFDRGxFLE1BQUEsQ0FBQWdDLE9BQUEsQ0FBQUMsYUFBQSxDQUFDNUIsZUFBQSxDQUFBcUQsR0FBRztNQUFDQyxFQUFFLEVBQUUsQ0FBRTtNQUFDSCxTQUFTLEVBQUU7SUFBTSxnQkFDM0J4RCxNQUFBLENBQUFnQyxPQUFBLENBQUFDLGFBQUEsQ0FBQ3hCLGFBQUEsQ0FBQXVCLE9BQVk7TUFDWG1DLFdBQVcsRUFBRXhDLGdCQUFpQjtNQUM5QkosY0FBYyxFQUFFQSxjQUFlO01BQy9CRixnQkFBZ0IsRUFBRUE7SUFBaUIsQ0FDcEMsQ0FDRSxDQUNGLENBQ0w7RUFFTixDQUNZLENBQUM7QUFFbkIsQ0FBQztBQUFDLElBQUErQyxRQUFBLEdBRWF2RCxTQUFTO0FBQUF3RCxPQUFBLENBQUFyQyxPQUFBLEdBQUFvQyxRQUFBIn0=
114
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9FdmVudFNlY3Rpb24iLCJfTGl2ZVN0YXR1c0JhZGdlIiwiX3JlYWN0Qm9vdHN0cmFwIiwiX1NlZW5Cb3giLCJfVGl0bGVzIiwiX0Vhcmx5V2FybmluZyIsIl9EaXNjaGFyZ2VCb3giLCJfcmVhY3RGb250YXdlc29tZSIsIl9mcmVlU29saWRTdmdJY29ucyIsIl9pMThuIiwiVGltZWxpbmVzIiwiX3JlZiIsIl9yZWYkaXNMaXZlIiwiaXNMaXZlIiwiZmlyc3RPYnNlcnZhdGlvbiIsImxhc3RPYnNlcnZhdGlvbiIsIm9uQ2xpY2tTb3VyY2UiLCJoYW5kbGVSZXNldE1hcFZpZXciLCJmaXJzdF9zdGFydF90aW1lIiwic3RhcnRfdGltZSIsImZpcnN0X2VuZF90aW1lIiwibGFzdF9zZWVuX3RpbWUiLCJ0aW1lX3pvbmUiLCJsYXN0X3N0YXJ0X3RpbWUiLCJzaG93RWFybHlXYXJuaW5nIiwicG9pbnRfaWQiLCJvbkNsaWNrRmlyc3QiLCJvbkNsaWNrTGFzdCIsImhlYWRlciIsImRlZmF1bHQiLCJjcmVhdGVFbGVtZW50Iiwic3R5bGUiLCJkaXNwbGF5IiwiYWxpZ25JdGVtcyIsIndpZHRoIiwiZmxleCIsIk92ZXJsYXlUcmlnZ2VyIiwib3ZlcmxheSIsIlRvb2x0aXAiLCJpZCIsInBsYWNlbWVudCIsImNvbmNhdCIsImkxOG4iLCJ0IiwiY29sb3IiLCJvbkNsaWNrIiwiRm9udEF3ZXNvbWVJY29uIiwiaWNvbiIsImZhQ3Jvc3NoYWlycyIsInNlY3Rpb25fbmFtZSIsImJvZHlDbGFzc05hbWUiLCJib2R5IiwiRnJhZ21lbnQiLCJjbGFzc05hbWUiLCJSb3ciLCJDb2wiLCJ4cyIsInBvaW50X25hbWUiLCJ0aW1lIiwibWQiLCJzbSIsIk9iamVjdCIsImFzc2lnbiIsImVhcmx5X3dhcm5pbmdzIiwic2hvd0RpdmlkZXIiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvcGFnZXMvRXZlbnRzUGFnZS9ldmVudHMvZXZlbnRfaW5mby9UaW1lbGluZXMvVGltZWxpbmVzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IEV2ZW50U2VjdGlvbiBmcm9tICcuLi9FdmVudFNlY3Rpb24nO1xuaW1wb3J0IExpdmVTdGF0dXNCYWRnZSBmcm9tICcuL0xpdmVTdGF0dXNCYWRnZSc7XG5pbXBvcnQgeyBJT2JzZXJ2YXRpb24gfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHsgQ29sLCBPdmVybGF5VHJpZ2dlciwgUm93LCBUb29sdGlwIH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwJztcbmltcG9ydCBTZWVuQm94IGZyb20gJy4vU2VlbkJveCc7XG5pbXBvcnQgVGl0bGVzIGZyb20gJy4vVGl0bGVzJztcbmltcG9ydCBFYXJseVdhcm5pbmcgZnJvbSAnLi9FYXJseVdhcm5pbmcnO1xuaW1wb3J0IERpc2NoYXJnZUJveCBmcm9tICcuL0Rpc2NoYXJnZUJveCc7XG5pbXBvcnQgeyBGb250QXdlc29tZUljb24gfSBmcm9tICdAZm9ydGF3ZXNvbWUvcmVhY3QtZm9udGF3ZXNvbWUnO1xuaW1wb3J0IHsgZmFDcm9zc2hhaXJzIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgJy4vVGltZWxpbmVzU3R5bGUuc2Nzcyc7XG5cbnR5cGUgSVRpbWVsaW5lc1Byb3BzID0ge1xuICBpc0xpdmU/OiBib29sZWFuO1xuICBmaXJzdE9ic2VydmF0aW9uOiBJT2JzZXJ2YXRpb247XG4gIGxhc3RPYnNlcnZhdGlvbjogSU9ic2VydmF0aW9uO1xuICBlYXJseVdhcm5pbmdOYW1lPzogc3RyaW5nO1xuICBkaXNjaGFyZ2VUaW1lPzogc3RyaW5nO1xuICBlYXJseVdhcm5pbmdEaXN0YW5jZT86IG51bWJlcjtcbiAgb25DbGlja1NvdXJjZT86IChwb2ludF9pZDogbnVtYmVyKSA9PiB2b2lkO1xuICBoYW5kbGVSZXNldE1hcFZpZXc/OiAoKSA9PiB2b2lkO1xufTtcblxuY29uc3QgVGltZWxpbmVzID0gKHtcbiAgaXNMaXZlID0gZmFsc2UsXG4gIGZpcnN0T2JzZXJ2YXRpb24sXG4gIGxhc3RPYnNlcnZhdGlvbixcbiAgb25DbGlja1NvdXJjZSxcbiAgaGFuZGxlUmVzZXRNYXBWaWV3LFxufTogSVRpbWVsaW5lc1Byb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBzdGFydF90aW1lOiBmaXJzdF9zdGFydF90aW1lLFxuICAgIGxhc3Rfc2Vlbl90aW1lOiBmaXJzdF9lbmRfdGltZSxcbiAgICB0aW1lX3pvbmUsXG4gIH0gPSBmaXJzdE9ic2VydmF0aW9uO1xuICBjb25zdCB7IHN0YXJ0X3RpbWU6IGxhc3Rfc3RhcnRfdGltZSB9ID0gbGFzdE9ic2VydmF0aW9uO1xuICBjb25zdCBzaG93RWFybHlXYXJuaW5nID1cbiAgICBmaXJzdE9ic2VydmF0aW9uLnBvaW50X2lkICE9PSBsYXN0T2JzZXJ2YXRpb24ucG9pbnRfaWQ7XG5cbiAgY29uc3Qgb25DbGlja0ZpcnN0ID0gKCkgPT4ge1xuICAgIGlmIChvbkNsaWNrU291cmNlKSB7XG4gICAgICBvbkNsaWNrU291cmNlKGZpcnN0T2JzZXJ2YXRpb24ucG9pbnRfaWQpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBvbkNsaWNrTGFzdCA9ICgpID0+IHtcbiAgICBpZiAob25DbGlja1NvdXJjZSkge1xuICAgICAgb25DbGlja1NvdXJjZShsYXN0T2JzZXJ2YXRpb24ucG9pbnRfaWQpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoZWFkZXIgPSAoXG4gICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGFsaWduSXRlbXM6ICdjZW50ZXInLCB3aWR0aDogJzEwMCUnIH19PlxuICAgICAge2lzTGl2ZSAmJiA8TGl2ZVN0YXR1c0JhZGdlIC8+fVxuICAgICAgPGRpdiBzdHlsZT17eyBmbGV4OiAxIH19IC8+XG4gICAgICA8T3ZlcmxheVRyaWdnZXJcbiAgICAgICAgb3ZlcmxheT17XG4gICAgICAgICAgPFRvb2x0aXAgaWQ9XCJuYXZpZ2F0aW9uLXRvb2x0aXBcIiBwbGFjZW1lbnQ9XCJhdXRvXCI+XG4gICAgICAgICAgICB7YCR7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcucmVzZXRfbWFwX3ZpZXcnKX1gfVxuICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgfVxuICAgICAgPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNvbG9yOiAnIzZjNzU3ZCcsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVSZXNldE1hcFZpZXd9XG4gICAgICAgID5cbiAgICAgICAgICA8Rm9udEF3ZXNvbWVJY29uIGljb249e2ZhQ3Jvc3NoYWlyc30gLz5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L092ZXJsYXlUcmlnZ2VyPlxuICAgIDwvZGl2PlxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPEV2ZW50U2VjdGlvbiBzZWN0aW9uX25hbWU9eyd0aW1lbGluZXMnfSBib2R5Q2xhc3NOYW1lPXsncC0wJ30+XG4gICAgICB7e1xuICAgICAgICBoZWFkZXI6IGhlYWRlcixcbiAgICAgICAgYm9keTogKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J3AtMyBteC0wJ30+XG4gICAgICAgICAgICAgIDxUaXRsZXMgb25DbGlja0ZpcnN0PXtvbkNsaWNrRmlyc3R9IG9uQ2xpY2tMYXN0PXtvbkNsaWNrTGFzdH0gLz5cbiAgICAgICAgICAgICAgPFJvdyBjbGFzc05hbWU9eydqdXN0aWZ5LWNvbnRlbnQtYmV0d2Vlbid9PlxuICAgICAgICAgICAgICAgIDxDb2wgeHM9ezZ9IGNsYXNzTmFtZT1cImN1cnNvci1wb2ludGVyIHNlZW5ib3gtaG92ZXJcIj5cbiAgICAgICAgICAgICAgICAgIDxTZWVuQm94XG4gICAgICAgICAgICAgICAgICAgIHBvaW50X25hbWU9e2ZpcnN0T2JzZXJ2YXRpb24ucG9pbnRfbmFtZX1cbiAgICAgICAgICAgICAgICAgICAgdGltZT17Zmlyc3Rfc3RhcnRfdGltZX1cbiAgICAgICAgICAgICAgICAgICAgdGltZV96b25lPXt0aW1lX3pvbmV9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uQ2xpY2tGaXJzdH1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgICAgICAgPENvbFxuICAgICAgICAgICAgICAgICAgbWQ9ezZ9XG4gICAgICAgICAgICAgICAgICB4cz17Nn1cbiAgICAgICAgICAgICAgICAgIHNtPXs2fVxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiY3Vyc29yLXBvaW50ZXIgc2VlbmJveC1ob3ZlclwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPFNlZW5Cb3hcbiAgICAgICAgICAgICAgICAgICAgcG9pbnRfbmFtZT17bGFzdE9ic2VydmF0aW9uLnBvaW50X25hbWV9XG4gICAgICAgICAgICAgICAgICAgIHRpbWU9e2xhc3RPYnNlcnZhdGlvbi5sYXN0X3NlZW5fdGltZX1cbiAgICAgICAgICAgICAgICAgICAgdGltZV96b25lPXt0aW1lX3pvbmV9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uQ2xpY2tMYXN0fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICAgICAgPC9Sb3c+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxSb3cgY2xhc3NOYW1lPXsnYm9yZGVyLXRvcCBtbC0wIG1yLTAgYm9yZGVyLWJldHdlZW4gZy0xJ30+XG4gICAgICAgICAgICAgIHtzaG93RWFybHlXYXJuaW5nICYmIChcbiAgICAgICAgICAgICAgICA8Q29sIHhzPXs2fT5cbiAgICAgICAgICAgICAgICAgIDxFYXJseVdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgdGltZV96b25lPXt0aW1lX3pvbmV9XG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0X3RpbWU9e2xhc3Rfc3RhcnRfdGltZX1cbiAgICAgICAgICAgICAgICAgICAgey4uLmxhc3RPYnNlcnZhdGlvbi5lYXJseV93YXJuaW5nc1swXX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDxDb2wgeHM9ezZ9IGNsYXNzTmFtZT17J3AtMCd9PlxuICAgICAgICAgICAgICAgIDxEaXNjaGFyZ2VCb3hcbiAgICAgICAgICAgICAgICAgIHNob3dEaXZpZGVyPXtzaG93RWFybHlXYXJuaW5nfVxuICAgICAgICAgICAgICAgICAgZmlyc3RfZW5kX3RpbWU9e2ZpcnN0X2VuZF90aW1lfVxuICAgICAgICAgICAgICAgICAgZmlyc3Rfc3RhcnRfdGltZT17Zmlyc3Rfc3RhcnRfdGltZX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICAgIDwvUm93PlxuICAgICAgICAgIDwvPlxuICAgICAgICApLFxuICAgICAgfX1cbiAgICA8L0V2ZW50U2VjdGlvbj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFRpbWVsaW5lcztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGFBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLGdCQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBRyxlQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxRQUFBLEdBQUFMLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSyxPQUFBLEdBQUFOLHNCQUFBLENB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
@@ -0,0 +1,4 @@
1
+ .seenbox-hover:hover {
2
+ background-color: #e9ecef;
3
+ transition: background 0.2s;
4
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kando-env/kando-ui",
3
- "version": "1.2.437-alpha.15",
3
+ "version": "1.2.437-alpha.16",
4
4
  "main": "lib/index.js",
5
5
  "author": "Nadav(Private) <nadavk72@gmail.com>",
6
6
  "scripts": {