@kando-env/kando-ui 1.2.135-alpha.17 → 1.2.135-alpha.19

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.
@@ -243,6 +243,7 @@ var initializeMap = function initializeMap(mapZoomLevel, mapBoxStyle, mapBoxSate
243
243
  center: [0, 0],
244
244
  zoomSnap: 1,
245
245
  zoom: mapZoomLevel,
246
+ attributionControl: false,
246
247
  preferCanvas: true,
247
248
  layers: [mapStyle(mapBoxStyle), mapStyle(mapBoxSatelliteStyle)]
248
249
  });
@@ -287,4 +288,4 @@ var initializeMap = function initializeMap(mapZoomLevel, mapBoxStyle, mapBoxSate
287
288
  };
288
289
 
289
290
  exports.initializeMap = initializeMap;
290
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9NYXBVdGlscy50cyJdLCJuYW1lcyI6WyJhcmVhRm9jdXNMb2dpYyIsIm1hcFJlZiIsImlzVmFsaWRBcmVhIiwiYXJlYVRvQ2VudGVyQnkiLCJtYXBJbnN0YW5jZSIsImN1cnJlbnQiLCJmaXRCb3VuZHMiLCJwYWRkaW5nIiwiZ3JvdXAiLCJwcm9wZXJ0eSIsIl9sYXllcnMiLCJrYW5kb19vYmplY3QiLCJwdXNoIiwiT2JqZWN0Iiwia2V5cyIsIkwiLCJmZWF0dXJlR3JvdXAiLCJnZXRCb3VuZHMiLCJsZW5ndGgiLCJpbnZhbGlkYXRlU2l6ZSIsImFyZWEiLCJzaG91bGRMb2FkTWFwT2JqZWN0cyIsImdsb2JhbF9kYXRhIiwicG9pbnRzIiwiZWRnZXMiLCJtYXAiLCJ1bmRlZmluZWQiLCJzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzIiwiYXJlYXMiLCJnbG9iYWwiLCJmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwIiwibGF5ZXJzVG9GaW5kIiwiY3VycmVudExheWVyIiwiaW5jbHVkZXMiLCJrYW5kb19wb2ludF90eXBlIiwiZXZlbnRzQ291bnRlckljb25zIiwibGF5ZXIiLCJ6b29tTGV2ZWwiLCJpY29uIiwib3B0aW9ucyIsImljb25TaXplIiwiZXZlbnRzQ291bnRJY29uIiwiaWNvbkFuY2hvciIsInNldEljb24iLCJzZXRPcGFjaXR5IiwibXVsdGlwbGVMYXllcmVkSWNvbnMiLCJpc0FGZXdMYXllckljb24iLCJrYW5kb19mZXdfbGF5ZXJfaWNvbiIsIm1pbmlJY29uIiwicHJlc2VudCIsImthbmRvX3NlY29uZGFyeSIsImthbmRvX3RoaXJkIiwic2Vjb25kYXJ5IiwidGhpcmQiLCJrYW5kb19pbmRleF9vYmplY3QiLCJidWJibGVJY29uT3B0aW9ucyIsIm9uZUxheWVySWNvbk9wdGlvbnMiLCJtaWRkbGVJY29uT3B0aW9ucyIsInRvcEljb25PcHRpb25zIiwiaWNvblpvb21Db250cm9sIiwibGF5ZXJzIiwiX3pvb20iLCJtYXBTdHlsZSIsIm1hcEJveFN0eWxlIiwidGlsZUxheWVyIiwiYXR0cmlidXRpb24iLCJtYXhab29tIiwiaWQiLCJ0aWxlU2l6ZSIsInpvb21PZmZzZXQiLCJ1cGRhdGVXaGVuWm9vbWluZyIsInVwZGF0ZVdoZW5JZGxlIiwiYmFzZU1hcHMiLCJtYXBCb3hTYXRlbGxpdGVTdHlsZSIsImRlZmF1bHRNYXAiLCJpMThuIiwidCIsInNhdGVsbGl0ZSIsImluaXRpYWxpemVNYXAiLCJtYXBab29tTGV2ZWwiLCJkaXNwYXRjaCIsInNldE1hcFpvb21MZXZlbCIsImNlbnRlciIsInpvb21TbmFwIiwiem9vbSIsInByZWZlckNhbnZhcyIsIndoZW5SZWFkeSIsImNvbnRyb2wiLCJwb3NpdGlvbiIsImFkZFRvIiwib24iLCJzZXRUaW1lb3V0IiwiZXJyIiwiY29uc29sZSIsImVycm9yIiwiZSIsImdldFpvb20iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBRU8sSUFBTUEsY0FBYyxHQUFHLFNBQWpCQSxjQUFpQixDQUFDQyxNQUFELEVBQVNDLFdBQVQsRUFBc0JDLGNBQXRCLEVBQXlDO0FBQ3JFLE1BQUlDLFdBQWdCLEdBQUdILE1BQU0sQ0FBQ0ksT0FBOUI7O0FBQ0EsTUFBSUgsV0FBVyxDQUFDQyxjQUFELENBQWYsRUFBaUM7QUFDL0JDLElBQUFBLFdBQVcsQ0FBQ0UsU0FBWixDQUFzQkgsY0FBdEIsRUFBc0M7QUFBRUksTUFBQUEsT0FBTyxFQUFFLENBQUMsQ0FBRCxFQUFJLENBQUo7QUFBWCxLQUF0QztBQUNELEdBRkQsTUFFTztBQUNMLFFBQU1DLEtBQVksR0FBRyxFQUFyQjs7QUFFQSxTQUFLLElBQU1DLFFBQVgsSUFBdUJMLFdBQVcsQ0FBQ00sT0FBbkMsRUFBNEM7QUFDMUMsVUFBSU4sV0FBVyxDQUFDTSxPQUFaLENBQW9CRCxRQUFwQixFQUE4QkUsWUFBOUIsS0FBK0MsTUFBbkQsRUFBMkQ7QUFDekRILFFBQUFBLEtBQUssQ0FBQ0ksSUFBTixD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MkYsT0FBZixFQUFYO0FBQ0FmLElBQUFBLGVBQWUsQ0FBQ0csSUFBRCxDQUFmO0FBQ0QsR0FORDtBQU9ELENBMURNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEwsIHsgUG9pbnRUdXBsZSB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IHsgc2lkZU5hdkV4cGFuZGVkLCBzdG9yZU1hcCB9IGZyb20gJy4uLy4uL3N0b3JlL2dsb2JhbC9hY3Rpb25zJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5cbmV4cG9ydCBjb25zdCBhcmVhRm9jdXNMb2dpYyA9IChtYXBSZWYsIGlzVmFsaWRBcmVhLCBhcmVhVG9DZW50ZXJCeSkgPT4ge1xuICBsZXQgbWFwSW5zdGFuY2U6IGFueSA9IG1hcFJlZi5jdXJyZW50O1xuICBpZiAoaXNWYWxpZEFyZWEoYXJlYVRvQ2VudGVyQnkpKSB7XG4gICAgbWFwSW5zdGFuY2UuZml0Qm91bmRzKGFyZWFUb0NlbnRlckJ5LCB7IHBhZGRpbmc6IFswLCAwXSB9KTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBncm91cDogYW55W10gPSBbXTtcblxuICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbWFwSW5zdGFuY2UuX2xheWVycykge1xuICAgICAgaWYgKG1hcEluc3RhbmNlLl9sYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ0FyZWEnKSB7XG4gICAgICAgIGdyb3VwLnB1c2gobWFwSW5zdGFuY2UuX2xheWVyc1twcm9wZXJ0eV0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChPYmplY3Qua2V5cyhMLmZlYXR1cmVHcm91cChncm91cCkuZ2V0Qm91bmRzKCkpLmxlbmd0aCAhPT0gMCkge1xuICAgICAgbWFwSW5zdGFuY2UuZml0Qm91bmRzKEwuZmVhdHVyZUdyb3VwKGdyb3VwKS5nZXRCb3VuZHMoKSwge1xuICAgICAgICBwYWRkaW5nOiBbMTAwLCAxMDBdLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIG1hcEluc3RhbmNlLmludmFsaWRhdGVTaXplKHRydWUpO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzVmFsaWRBcmVhID0gKGFyZWEpID0+IHtcbiAgcmV0dXJuIGFyZWEgJiYgYXJlYS5sZW5ndGggPiAwICYmIE9iamVjdC5rZXlzKGFyZWFbMF0pLmxlbmd0aCA+IDA7XG59O1xuXG5leHBvcnQgY29uc3Qgc2hvdWxkTG9hZE1hcE9iamVjdHMgPSAoZ2xvYmFsX2RhdGEsIG1hcFJlZiwgcG9pbnRzLCBlZGdlcykgPT4ge1xuICByZXR1cm4gKFxuICAgIGdsb2JhbF9kYXRhLm1hcCAhPT0gdW5kZWZpbmVkICYmXG4gICAgbWFwUmVmLmN1cnJlbnQgIT09IG51bGwgJiZcbiAgICBlZGdlcyAhPT0gdW5kZWZpbmVkICYmXG4gICAgcG9pbnRzICE9PSB1bmRlZmluZWRcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzID0gKGVkZ2VzLCBhcmVhcywgZ2xvYmFsLCBtYXBSZWYpID0+IHtcbiAgcmV0dXJuIChcbiAgICBnbG9iYWwubWFwICE9PSB1bmRlZmluZWQgJiZcbiAgICBtYXBSZWYuY3VycmVudCAhPT0gbnVsbCAmJlxuICAgIGVkZ2VzLmxlbmd0aCAhPT0gMCAmJlxuICAgIGFyZWFzLmxlbmd0aCAhPT0gMFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbmRTcGVjaWZpY0xheWVyc0Zyb21NYXAgPSAoXG4gIGxheWVyc1RvRmluZDogc3RyaW5nW10sXG4gIGN1cnJlbnRMYXllcixcbikgPT4ge1xuICByZXR1cm4gKFxuICAgIGxheWVyc1RvRmluZC5pbmNsdWRlcyhjdXJyZW50TGF5ZXIua2FuZG9fb2JqZWN0KSAmJlxuICAgIGN1cnJlbnRMYXllci5rYW5kb19wb2ludF90eXBlICE9PSAnTWFuaG9sZSdcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBldmVudHNDb3VudGVySWNvbnMgPSAobGF5ZXIsIHpvb21MZXZlbCkgPT4ge1xuICBsZXQgaWNvbiA9IGxheWVyLm9wdGlvbnMuaWNvbjtcbiAgaWNvbi5vcHRpb25zLmljb25TaXplID0gZXZlbnRzQ291bnRJY29uKHpvb21MZXZlbCkuaWNvblNpemU7XG4gIGljb24ub3B0aW9ucy5pY29uQW5jaG9yID0gZXZlbnRzQ291bnRJY29uKHpvb21MZXZlbCkuaWNvbkFuY2hvcjtcbiAgbGF5ZXIuc2V0SWNvbihpY29uKTtcbiAgbGF5ZXIuc2V0T3BhY2l0eSgxKTtcbn07XG5cbmV4cG9ydCBjb25zdCBtdWx0aXBsZUxheWVyZWRJY29ucyA9IChsYXllciwgem9vbUxldmVsKSA9PiB7XG4gIGxldCBpY29uID0gbGF5ZXIub3B0aW9ucy5pY29uO1xuICBsZXQgaXNBRmV3TGF5ZXJJY29uID0gbGF5ZXIua2FuZG9fZmV3X2xheWVyX2ljb247XG4gIGxldCBtaW5pSWNvbiA9IHtcbiAgICBwcmVzZW50OiBsYXllci5rYW5kb19zZWNvbmRhcnkgfHwgbGF5ZXIua2FuZG9fdGhpcmQsXG4gICAgc2Vjb25kYXJ5OiBsYXllci5rYW5kb19zZWNvbmRhcnksXG4gICAgdGhpcmQ6IGxheWVyLmthbmRvX3RoaXJkLFxuICB9O1xuXG4gIGlmIChsYXllci5rYW5kb19pbmRleF9vYmplY3QgPT09IDApIHtcbiAgICBpZiAoaXNBRmV3TGF5ZXJJY29uKSB7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSBidWJibGVJY29uT3B0aW9ucyh6b29tTGV2ZWwsIG1pbmlJY29uKS5pY29uU2l6ZTtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uQW5jaG9yID0gYnViYmxlSWNvbk9wdGlvbnMoXG4gICAgICAgIHpvb21MZXZlbCxcbiAgICAgICAgbWluaUljb24sXG4gICAgICApLmljb25BbmNob3I7XG4gICAgfSBlbHNlIHtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IG9uZUxheWVySWNvbk9wdGlvbnMoem9vbUxldmVsKS5pY29uU2l6ZTtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uQW5jaG9yID0gb25lTGF5ZXJJY29uT3B0aW9ucyh6b29tTGV2ZWwpLmljb25BbmNob3I7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGlmIChsYXllci5rYW5kb19pbmRleF9vYmplY3QgPT09IDEpIHtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IG1pZGRsZUljb25PcHRpb25zKHpvb21MZXZlbCwgbWluaUljb24pLmljb25TaXplO1xuICAgICAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSBtaWRkbGVJY29uT3B0aW9ucyhcbiAgICAgICAgem9vbUxldmVsLFxuICAgICAgICBtaW5pSWNvbixcbiAgICAgICkuaWNvbkFuY2hvcjtcbiAgICB9IGVsc2Uge1xuICAgICAgaWNvbi5vcHRpb25zLmljb25TaXplID0gdG9wSWNvbk9wdGlvbnMoem9vbUxldmVsLCBtaW5pSWNvbikuaWNvblNpemU7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IHRvcEljb25PcHRpb25zKHpvb21MZXZlbCwgbWluaUljb24pLmljb25BbmNob3I7XG4gICAgfVxuICB9XG5cbiAgbGF5ZXIuc2V0SWNvbihpY29uKTtcbn07XG5cbmNvbnN0IG9uZUxheWVySWNvbk9wdGlvbnMgPSAoem9vbUxldmVsKSA9PiB7XG4gIHJldHVybiB7XG4gICAgaWNvblNpemU6IDxQb2ludFR1cGxlPlt6b29tTGV2ZWwgKiAzLjMsIHpvb21MZXZlbCAqIDMuM10sXG4gICAgaWNvbkFuY2hvcjogPFBvaW50VHVwbGU+W3pvb21MZXZlbCAqIDEuNywgem9vbUxldmVsICogMy43XSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBldmVudHNDb3VudEljb24gPSAoem9vbUxldmVsKSA9PiB7XG4gIHJldHVybiB7XG4gICAgaWNvblNpemU6IDxQb2ludFR1cGxlPlt6b29tTGV2ZWwgKiAyLjUsIHpvb21MZXZlbCAqIDIuNV0sXG4gICAgaWNvbkFuY2hvcjogPFBvaW50VHVwbGU+W3pvb21MZXZlbCAqIDAsIHpvb21MZXZlbCAqIDRdLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGJ1YmJsZUljb25PcHRpb25zID0gKHpvb21MZXZlbCwgbWluaUljb24pID0+IHtcbiAgaWYgKG1pbmlJY29uLnByZXNlbnQpIHtcbiAgICBpZiAobWluaUljb24uc2Vjb25kYXJ5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogPFBvaW50VHVwbGU+W3pvb21MZXZlbCAqIDEuOTgsIHpvb21MZXZlbCAqIDIuM10sXG4gICAgICAgIGljb25BbmNob3I6IDxQb2ludFR1cGxlPlt6b29tTGV2ZWwgKiAwLCB6b29tTGV2ZWwgKiA0XSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMS45OCwgem9vbUxldmVsICogMi4zXSxcbiAgICAgICAgaWNvbkFuY2hvcjogPFBvaW50VHVwbGU+W3pvb21MZXZlbCAqIDAsIHpvb21MZXZlbCAqIDJdLFxuICAgICAgfTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGljb25TaXplOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMy45OCwgem9vbUxldmVsICogNC4zXSxcbiAgICAgIGljb25BbmNob3I6IDxQb2ludFR1cGxlPlt6b29tTGV2ZWwgKiAyLCB6b29tTGV2ZWwgKiA0XSxcbiAgICB9O1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgbWlkZGxlSWNvbk9wdGlvbnMgPSAoem9vbUxldmVsLCBtaW5pSWNvbikgPT4ge1xuICBpZiAobWluaUljb24ucHJlc2VudCkge1xuICAgIGlmIChtaW5pSWNvbi5zZWNvbmRhcnkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMS4xLCB6b29tTGV2ZWwgKiAxLjFdLFxuICAgICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogLTAuNDUsIHpvb21MZXZlbCAqIDMuNV0sXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDEuMSwgem9vbUxldmVsICogMS4xXSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIC0wLjQ1LCB6b29tTGV2ZWwgKiAxLjVdLFxuICAgICAgfTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMi41LCB6b29tTGV2ZWwgKiAyLjVdLFxuICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDEuMjk1LCB6b29tTGV2ZWwgKiAzLjM1XSxcbiAgICB9O1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgdG9wSWNvbk9wdGlvbnMgPSAoem9vbUxldmVsLCBtaW5pSWNvbikgPT4ge1xuICBpZiAobWluaUljb24ucHJlc2VudCkge1xuICAgIGlmIChtaW5pSWNvbi5zZWNvbmRhcnkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMC45LCB6b29tTGV2ZWwgKiAxLjhdLFxuICAgICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogLTAuNSwgem9vbUxldmVsICogMy44XSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMS42LCB6b29tTGV2ZWwgKiAyLjVdLFxuICAgICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogLTAuMiwgem9vbUxldmVsICogMi4xXSxcbiAgICAgIH07XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDMuOSwgem9vbUxldmVsICogMy44XSxcbiAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAyLCB6b29tTGV2ZWwgKiAzLjhdLFxuICAgIH07XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBpY29uWm9vbUNvbnRyb2wgPSAobWFwKSA9PiB7XG4gIGxldCBsYXllcnMgPSBtYXAuX2xheWVycztcbiAgbGV0IHpvb21MZXZlbCA9IG1hcC5fem9vbTtcblxuICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIGxheWVycykge1xuICAgIGlmIChmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwKFsnSWNvbk51bWJlciddLCBsYXllcnNbcHJvcGVydHldKSkge1xuICAgICAgZXZlbnRzQ291bnRlckljb25zKGxheWVyc1twcm9wZXJ0eV0sIHpvb21MZXZlbCk7XG4gICAgfVxuXG4gICAgaWYgKGZpbmRTcGVjaWZpY0xheWVyc0Zyb21NYXAoWydQb2ludCcsICdJY29uJ10sIGxheWVyc1twcm9wZXJ0eV0pKSB7XG4gICAgICBtdWx0aXBsZUxheWVyZWRJY29ucyhsYXllcnNbcHJvcGVydHldLCB6b29tTGV2ZWwpO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIGZpbmRTcGVjaWZpY0xheWVyc0Zyb21NYXAoWydTYW1wbGluZycsICdPYnNlcnZhdGlvbiddLCBsYXllcnNbcHJvcGVydHldKVxuICAgICkge1xuICAgICAgbXVsdGlwbGVMYXllcmVkSWNvbnMobGF5ZXJzW3Byb3BlcnR5XSwgem9vbUxldmVsKTtcbiAgICB9XG4gIH1cbn07XG5cbmNvbnN0IG1hcFN0eWxlID0gKG1hcEJveFN0eWxlKSA9PiB7XG4gIHJldHVybiBMLnRpbGVMYXllcihcbiAgICBgaHR0cHM6Ly9hcGkubWFwYm94LmNvbS9zdHlsZXMvdjEvbmFkYXYta2FuZG8vJHttYXBCb3hTdHlsZX0vdGlsZXMvMjU2L3t6fS97eH0ve3l9QDJ4P2FjY2Vzc190b2tlbj1way5leUoxSWpvaWJtRmtZWFl0YTJGdVpHOGlMQ0poSWpvaVkycHZlSHByZEdSeE1IbG1kRE40YkRnMGR6SnhPWGM0ZFNKOS5KLTJvaHE3ajR5S05ibTROXy1QNnF3YCxcbiAgICB7XG4gICAgICBhdHRyaWJ1dGlvbjpcbiAgICAgICAgJ01hcCBkYXRhICZjb3B5OyA8YSBocmVmPVwiaHR0cHM6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvXCI+T3BlblN0cmVldE1hcDwvYT4gY29udHJpYnV0b3JzLCA8YSBocmVmPVwiaHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LXNhLzIuMC9cIj5DQy1CWS1TQTwvYT4sIEltYWdlcnkgwqkgPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm1hcGJveC5jb20vXCI+TWFwYm94PC9hPicsXG4gICAgICBtYXhab29tOiAxOCxcbiAgICAgIGlkOiAnbWFwYm94L3N0cmVldHMtdjExJyxcbiAgICAgIHRpbGVTaXplOiA1MTIsXG4gICAgICB6b29tT2Zmc2V0OiAtMSxcbiAgICAgIHVwZGF0ZVdoZW5ab29taW5nOiBmYWxzZSxcbiAgICAgIHVwZGF0ZVdoZW5JZGxlOiBmYWxzZSxcbiAgICB9LFxuICApO1xufTtcbmNvbnN0IGJhc2VNYXBzID0gKG1hcEJveFN0eWxlLCBtYXBCb3hTYXRlbGxpdGVTdHlsZSkgPT4ge1xuICBsZXQgZGVmYXVsdE1hcCA9IGkxOG4udCgnbWFwLmxheWVycy5kZWZhdWx0Jyk7XG4gIGxldCBzYXRlbGxpdGUgPSBpMThuLnQoJ21hcC5sYXllcnMuc2F0ZWxsaXRlJyk7XG4gIHJldHVybiB7XG4gICAgW2RlZmF1bHRNYXBdOiBtYXBTdHlsZShtYXBCb3hTdHlsZSksXG4gICAgW3NhdGVsbGl0ZV06IG1hcFN0eWxlKG1hcEJveFNhdGVsbGl0ZVN0eWxlKSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBpbml0aWFsaXplTWFwID0gKFxuICBtYXBab29tTGV2ZWwsXG4gIG1hcEJveFN0eWxlLFxuICBtYXBCb3hTYXRlbGxpdGVTdHlsZSxcbiAgbWFwUmVmLFxuICBkaXNwYXRjaCxcbiAgaXNWYWxpZEFyZWEsXG4gIGFyZWFUb0NlbnRlckJ5LFxuICBzZXRNYXBab29tTGV2ZWwsXG4pID0+IHtcbiAgLy8gQHRzLWlnbm9yZVxuICBtYXBSZWYuY3VycmVudCA9IEwubWFwKCdtYXAnLCB7XG4gICAgY2VudGVyOiBbMCwgMF0sXG4gICAgem9vbVNuYXA6IDEsXG4gICAgem9vbTogbWFwWm9vbUxldmVsLFxuICAgIHByZWZlckNhbnZhczogdHJ1ZSxcbiAgICBsYXllcnM6IFttYXBTdHlsZShtYXBCb3hTdHlsZSksIG1hcFN0eWxlKG1hcEJveFNhdGVsbGl0ZVN0eWxlKV0sXG4gIH0pO1xuXG4gIG1hcFJlZi5jdXJyZW50LndoZW5SZWFkeSgoKSA9PiB7XG4gICAgbGV0IG1hcCA9IG1hcFJlZi5jdXJyZW50O1xuICAgIEwuY29udHJvbFxuICAgICAgLmxheWVycyhcbiAgICAgICAgYmFzZU1hcHMobWFwQm94U3R5bGUsIG1hcEJveFNhdGVsbGl0ZVN0eWxlKSxcbiAgICAgICAge30sXG4gICAgICAgIHsgcG9zaXRpb246ICdib3R0b21yaWdodCcgfSxcbiAgICAgIClcbiAgICAgIC5hZGRUbyhtYXApO1xuICAgIG1hcFN0eWxlKG1hcEJveFN0eWxlKS5hZGRUbyhtYXApO1xuICAgIG1hcC5vbignem9vbWVuZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGljb25ab29tQ29udHJvbChtYXApO1xuICAgIH0pO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKCFtYXBSZWYuY3VycmVudCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIG1hcFJlZi5jdXJyZW50LmludmFsaWRhdGVTaXplKHRydWUpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ2VycicsIGVycik7XG4gICAgICB9XG5cbiAgICAgIGRpc3BhdGNoKHN0b3JlTWFwKG1hcFJlZi5jdXJyZW50KSk7XG4gICAgICBkaXNwYXRjaChzaWRlTmF2RXhwYW5kZWQodHJ1ZSkpO1xuICAgIH0sIDApO1xuICAgIGlmIChtYXBSZWYuY3VycmVudCAmJiBpc1ZhbGlkQXJlYShhcmVhVG9DZW50ZXJCeSkpIHtcbiAgICAgIG1hcFJlZi5jdXJyZW50LmZpdEJvdW5kcyhhcmVhVG9DZW50ZXJCeSk7XG4gICAgfVxuICB9KTtcblxuICBtYXBSZWYuY3VycmVudC5vbignem9vbWVuZCcsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCFtYXBSZWYuY3VycmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgem9vbSA9IG1hcFJlZi5jdXJyZW50LmdldFpvb20oKTtcbiAgICBzZXRNYXBab29tTGV2ZWwoem9vbSk7XG4gIH0pO1xufTtcbiJdfQ==
291
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9NYXBVdGlscy50cyJdLCJuYW1lcyI6WyJhcmVhRm9jdXNMb2dpYyIsIm1hcFJlZiIsImlzVmFsaWRBcmVhIiwiYXJlYVRvQ2VudGVyQnkiLCJtYXBJbnN0YW5jZSIsImN1cnJlbnQiLCJmaXRCb3VuZHMiLCJwYWRkaW5nIiwiZ3JvdXAiLCJwcm9wZXJ0eSIsIl9sYXllcnMiLCJrYW5kb19vYmplY3QiLCJwdXNoIiwiT2JqZWN0Iiwia2V5cyIsIkwiLCJmZWF0dXJlR3JvdXAiLCJnZXRCb3VuZHMiLCJsZW5ndGgiLCJpbnZhbGlkYXRlU2l6ZSIsImFyZWEiLCJzaG91bGRMb2FkTWFwT2JqZWN0cyIsImdsb2JhbF9kYXRhIiwicG9pbnRzIiwiZWRnZXMiLCJtYXAiLCJ1bmRlZmluZWQiLCJzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzIiwiYXJlYXMiLCJnbG9iYWwiLCJmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwIiwibGF5ZXJzVG9GaW5kIiwiY3VycmVudExheWVyIiwiaW5jbHVkZXMiLCJrYW5kb19wb2ludF90eXBlIiwiZXZlbnRzQ291bnRlckljb25zIiwibGF5ZXIiLCJ6b29tTGV2ZWwiLCJpY29uIiwib3B0aW9ucyIsImljb25TaXplIiwiZXZlbnRzQ291bnRJY29uIiwiaWNvbkFuY2hvciIsInNldEljb24iLCJzZXRPcGFjaXR5IiwibXVsdGlwbGVMYXllcmVkSWNvbnMiLCJpc0FGZXdMYXllckljb24iLCJrYW5kb19mZXdfbGF5ZXJfaWNvbiIsIm1pbmlJY29uIiwicHJlc2VudCIsImthbmRvX3NlY29uZGFyeSIsImthbmRvX3RoaXJkIiwic2Vjb25kYXJ5IiwidGhpcmQiLCJrYW5kb19pbmRleF9vYmplY3QiLCJidWJibGVJY29uT3B0aW9ucyIsIm9uZUxheWVySWNvbk9wdGlvbnMiLCJtaWRkbGVJY29uT3B0aW9ucyIsInRvcEljb25PcHRpb25zIiwiaWNvblpvb21Db250cm9sIiwibGF5ZXJzIiwiX3pvb20iLCJtYXBTdHlsZSIsIm1hcEJveFN0eWxlIiwidGlsZUxheWVyIiwiYXR0cmlidXRpb24iLCJtYXhab29tIiwiaWQiLCJ0aWxlU2l6ZSIsInpvb21PZmZzZXQiLCJ1cGRhdGVXaGVuWm9vbWluZyIsInVwZGF0ZVdoZW5JZGxlIiwiYmFzZU1hcHMiLCJtYXBCb3hTYXRlbGxpdGVTdHlsZSIsImRlZmF1bHRNYXAiLCJpMThuIiwidCIsInNhdGVsbGl0ZSIsImluaXRpYWxpemVNYXAiLCJtYXBab29tTGV2ZWwiLCJkaXNwYXRjaCIsInNldE1hcFpvb21MZXZlbCIsImNlbnRlciIsInpvb21TbmFwIiwiem9vbSIsImF0dHJpYnV0aW9uQ29udHJvbCIsInByZWZlckNhbnZhcyIsIndoZW5SZWFkeSIsImNvbnRyb2wiLCJwb3NpdGlvbiIsImFkZFRvIiwib24iLCJzZXRUaW1lb3V0IiwiZXJyIiwiY29uc29sZSIsImVycm9yIiwiZSIsImdldFpvb20iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBRU8sSUFBTUEsY0FBYyxHQUFHLFNBQWpCQSxjQUFpQixDQUFDQyxNQUFELEVBQVNDLFdBQVQsRUFBc0JDLGNBQXRCLEVBQXlDO0FBQ3JFLE1BQUlDLFdBQWdCLEdBQUdILE1BQU0sQ0FBQ0ksT0FBOUI7O0FBQ0EsTUFBSUgsV0FBVyxDQUFDQyxjQUFELENBQWYsRUFBaUM7QUFDL0JDLElBQUFBLFdBQVcsQ0FBQ0UsU0FBWixDQUFzQkgsY0FBdEIsRUFBc0M7QUFBRUksTUFBQUEsT0FBTyxFQUFFLENBQUMsQ0FBRCxFQUFJLENBQUo7QUFBWCxLQUF0QztBQUNELEdBRkQsTUFFTztBQUNMLFFBQU1DLEtBQVksR0FBRyxFQUFyQjs7QUFFQSxTQUFLLElBQU1DLFFBQVgsSUFBdUJMLFdBQVcsQ0FBQ00sT0FBbkMsRUFBNEM7QUFDMUMsVUFBSU4sV0FBVyxDQUFDTSxPQUFaLENBQW9CRCxRQUFwQixFQUE4QkUsWUFBOUIsS0FBK0MsTUFBbkQsRUFBMkQ7QUFDekRILFFB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QjtBQUNEOztBQUNELFFBQUkrRSxJQUFJLEdBQUduRixNQUFNLENBQUNJLE9BQVAsQ0FBZTRGLE9BQWYsRUFBWDtBQUNBaEIsSUFBQUEsZUFBZSxDQUFDRyxJQUFELENBQWY7QUFDRCxHQU5EO0FBT0QsQ0EzRE0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTCwgeyBQb2ludFR1cGxlIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgeyBzaWRlTmF2RXhwYW5kZWQsIHN0b3JlTWFwIH0gZnJvbSAnLi4vLi4vc3RvcmUvZ2xvYmFsL2FjdGlvbnMnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcblxuZXhwb3J0IGNvbnN0IGFyZWFGb2N1c0xvZ2ljID0gKG1hcFJlZiwgaXNWYWxpZEFyZWEsIGFyZWFUb0NlbnRlckJ5KSA9PiB7XG4gIGxldCBtYXBJbnN0YW5jZTogYW55ID0gbWFwUmVmLmN1cnJlbnQ7XG4gIGlmIChpc1ZhbGlkQXJlYShhcmVhVG9DZW50ZXJCeSkpIHtcbiAgICBtYXBJbnN0YW5jZS5maXRCb3VuZHMoYXJlYVRvQ2VudGVyQnksIHsgcGFkZGluZzogWzAsIDBdIH0pO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGdyb3VwOiBhbnlbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBtYXBJbnN0YW5jZS5fbGF5ZXJzKSB7XG4gICAgICBpZiAobWFwSW5zdGFuY2UuX2xheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnQXJlYScpIHtcbiAgICAgICAgZ3JvdXAucHVzaChtYXBJbnN0YW5jZS5fbGF5ZXJzW3Byb3BlcnR5XSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKE9iamVjdC5rZXlzKEwuZmVhdHVyZUdyb3VwKGdyb3VwKS5nZXRCb3VuZHMoKSkubGVuZ3RoICE9PSAwKSB7XG4gICAgICBtYXBJbnN0YW5jZS5maXRCb3VuZHMoTC5mZWF0dXJlR3JvdXAoZ3JvdXApLmdldEJvdW5kcygpLCB7XG4gICAgICAgIHBhZGRpbmc6IFsxMDAsIDEwMF0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgbWFwSW5zdGFuY2UuaW52YWxpZGF0ZVNpemUodHJ1ZSk7XG59O1xuXG5leHBvcnQgY29uc3QgaXNWYWxpZEFyZWEgPSAoYXJlYSkgPT4ge1xuICByZXR1cm4gYXJlYSAmJiBhcmVhLmxlbmd0aCA+IDAgJiYgT2JqZWN0LmtleXMoYXJlYVswXSkubGVuZ3RoID4gMDtcbn07XG5cbmV4cG9ydCBjb25zdCBzaG91bGRMb2FkTWFwT2JqZWN0cyA9IChnbG9iYWxfZGF0YSwgbWFwUmVmLCBwb2ludHMsIGVkZ2VzKSA9PiB7XG4gIHJldHVybiAoXG4gICAgZ2xvYmFsX2RhdGEubWFwICE9PSB1bmRlZmluZWQgJiZcbiAgICBtYXBSZWYuY3VycmVudCAhPT0gbnVsbCAmJlxuICAgIGVkZ2VzICE9PSB1bmRlZmluZWQgJiZcbiAgICBwb2ludHMgIT09IHVuZGVmaW5lZFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHNob3VkTG9hZERlcGVuZGVudE1hcE9iamVjdHMgPSAoZWRnZXMsIGFyZWFzLCBnbG9iYWwsIG1hcFJlZikgPT4ge1xuICByZXR1cm4gKFxuICAgIGdsb2JhbC5tYXAgIT09IHVuZGVmaW5lZCAmJlxuICAgIG1hcFJlZi5jdXJyZW50ICE9PSBudWxsICYmXG4gICAgZWRnZXMubGVuZ3RoICE9PSAwICYmXG4gICAgYXJlYXMubGVuZ3RoICE9PSAwXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgZmluZFNwZWNpZmljTGF5ZXJzRnJvbU1hcCA9IChcbiAgbGF5ZXJzVG9GaW5kOiBzdHJpbmdbXSxcbiAgY3VycmVudExheWVyLFxuKSA9PiB7XG4gIHJldHVybiAoXG4gICAgbGF5ZXJzVG9GaW5kLmluY2x1ZGVzKGN1cnJlbnRMYXllci5rYW5kb19vYmplY3QpICYmXG4gICAgY3VycmVudExheWVyLmthbmRvX3BvaW50X3R5cGUgIT09ICdNYW5ob2xlJ1xuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGV2ZW50c0NvdW50ZXJJY29ucyA9IChsYXllciwgem9vbUxldmVsKSA9PiB7XG4gIGxldCBpY29uID0gbGF5ZXIub3B0aW9ucy5pY29uO1xuICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSBldmVudHNDb3VudEljb24oem9vbUxldmVsKS5pY29uU2l6ZTtcbiAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSBldmVudHNDb3VudEljb24oem9vbUxldmVsKS5pY29uQW5jaG9yO1xuICBsYXllci5zZXRJY29uKGljb24pO1xuICBsYXllci5zZXRPcGFjaXR5KDEpO1xufTtcblxuZXhwb3J0IGNvbnN0IG11bHRpcGxlTGF5ZXJlZEljb25zID0gKGxheWVyLCB6b29tTGV2ZWwpID0+IHtcbiAgbGV0IGljb24gPSBsYXllci5vcHRpb25zLmljb247XG4gIGxldCBpc0FGZXdMYXllckljb24gPSBsYXllci5rYW5kb19mZXdfbGF5ZXJfaWNvbjtcbiAgbGV0IG1pbmlJY29uID0ge1xuICAgIHByZXNlbnQ6IGxheWVyLmthbmRvX3NlY29uZGFyeSB8fCBsYXllci5rYW5kb190aGlyZCxcbiAgICBzZWNvbmRhcnk6IGxheWVyLmthbmRvX3NlY29uZGFyeSxcbiAgICB0aGlyZDogbGF5ZXIua2FuZG9fdGhpcmQsXG4gIH07XG5cbiAgaWYgKGxheWVyLmthbmRvX2luZGV4X29iamVjdCA9PT0gMCkge1xuICAgIGlmIChpc0FGZXdMYXllckljb24pIHtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IGJ1YmJsZUljb25PcHRpb25zKHpvb21MZXZlbCwgbWluaUljb24pLmljb25TaXplO1xuICAgICAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSBidWJibGVJY29uT3B0aW9ucyhcbiAgICAgICAgem9vbUxldmVsLFxuICAgICAgICBtaW5pSWNvbixcbiAgICAgICkuaWNvbkFuY2hvcjtcbiAgICB9IGVsc2Uge1xuICAgICAgaWNvbi5vcHRpb25zLmljb25TaXplID0gb25lTGF5ZXJJY29uT3B0aW9ucyh6b29tTGV2ZWwpLmljb25TaXplO1xuICAgICAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSBvbmVMYXllckljb25PcHRpb25zKHpvb21MZXZlbCkuaWNvbkFuY2hvcjtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaWYgKGxheWVyLmthbmRvX2luZGV4X29iamVjdCA9PT0gMSkge1xuICAgICAgaWNvbi5vcHRpb25zLmljb25TaXplID0gbWlkZGxlSWNvbk9wdGlvbnMoem9vbUxldmVsLCBtaW5pSWNvbikuaWNvblNpemU7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IG1pZGRsZUljb25PcHRpb25zKFxuICAgICAgICB6b29tTGV2ZWwsXG4gICAgICAgIG1pbmlJY29uLFxuICAgICAgKS5pY29uQW5jaG9yO1xuICAgIH0gZWxzZSB7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSB0b3BJY29uT3B0aW9ucyh6b29tTGV2ZWwsIG1pbmlJY29uKS5pY29uU2l6ZTtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uQW5jaG9yID0gdG9wSWNvbk9wdGlvbnMoem9vbUxldmVsLCBtaW5pSWNvbikuaWNvbkFuY2hvcjtcbiAgICB9XG4gIH1cblxuICBsYXllci5zZXRJY29uKGljb24pO1xufTtcblxuY29uc3Qgb25lTGF5ZXJJY29uT3B0aW9ucyA9ICh6b29tTGV2ZWwpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBpY29uU2l6ZTogPFBvaW50VHVwbGU+W3pvb21MZXZlbCAqIDMuMywgem9vbUxldmVsICogMy4zXSxcbiAgICBpY29uQW5jaG9yOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMS43LCB6b29tTGV2ZWwgKiAzLjddLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGV2ZW50c0NvdW50SWNvbiA9ICh6b29tTGV2ZWwpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBpY29uU2l6ZTogPFBvaW50VHVwbGU+W3pvb21MZXZlbCAqIDIuNSwgem9vbUxldmVsICogMi41XSxcbiAgICBpY29uQW5jaG9yOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMCwgem9vbUxldmVsICogNF0sXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgYnViYmxlSWNvbk9wdGlvbnMgPSAoem9vbUxldmVsLCBtaW5pSWNvbikgPT4ge1xuICBpZiAobWluaUljb24ucHJlc2VudCkge1xuICAgIGlmIChtaW5pSWNvbi5zZWNvbmRhcnkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMS45OCwgem9vbUxldmVsICogMi4zXSxcbiAgICAgICAgaWNvbkFuY2hvcjogPFBvaW50VHVwbGU+W3pvb21MZXZlbCAqIDAsIHpvb21MZXZlbCAqIDRdLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IDxQb2ludFR1cGxlPlt6b29tTGV2ZWwgKiAxLjk4LCB6b29tTGV2ZWwgKiAyLjNdLFxuICAgICAgICBpY29uQW5jaG9yOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMCwgem9vbUxldmVsICogMl0sXG4gICAgICB9O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvblNpemU6IDxQb2ludFR1cGxlPlt6b29tTGV2ZWwgKiAzLjk4LCB6b29tTGV2ZWwgKiA0LjNdLFxuICAgICAgaWNvbkFuY2hvcjogPFBvaW50VHVwbGU+W3pvb21MZXZlbCAqIDIsIHpvb21MZXZlbCAqIDRdLFxuICAgIH07XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBtaWRkbGVJY29uT3B0aW9ucyA9ICh6b29tTGV2ZWwsIG1pbmlJY29uKSA9PiB7XG4gIGlmIChtaW5pSWNvbi5wcmVzZW50KSB7XG4gICAgaWYgKG1pbmlJY29uLnNlY29uZGFyeSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAxLjEsIHpvb21MZXZlbCAqIDEuMV0sXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAtMC40NSwgem9vbUxldmVsICogMy41XSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMS4xLCB6b29tTGV2ZWwgKiAxLjFdLFxuICAgICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogLTAuNDUsIHpvb21MZXZlbCAqIDEuNV0sXG4gICAgICB9O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAyLjUsIHpvb21MZXZlbCAqIDIuNV0sXG4gICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogMS4yOTUsIHpvb21MZXZlbCAqIDMuMzVdLFxuICAgIH07XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB0b3BJY29uT3B0aW9ucyA9ICh6b29tTGV2ZWwsIG1pbmlJY29uKSA9PiB7XG4gIGlmIChtaW5pSWNvbi5wcmVzZW50KSB7XG4gICAgaWYgKG1pbmlJY29uLnNlY29uZGFyeSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAwLjksIHpvb21MZXZlbCAqIDEuOF0sXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAtMC41LCB6b29tTGV2ZWwgKiAzLjhdLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAxLjYsIHpvb21MZXZlbCAqIDIuNV0sXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAtMC4yLCB6b29tTGV2ZWwgKiAyLjFdLFxuICAgICAgfTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMy45LCB6b29tTGV2ZWwgKiAzLjhdLFxuICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDIsIHpvb21MZXZlbCAqIDMuOF0sXG4gICAgfTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGljb25ab29tQ29udHJvbCA9IChtYXApID0+IHtcbiAgbGV0IGxheWVycyA9IG1hcC5fbGF5ZXJzO1xuICBsZXQgem9vbUxldmVsID0gbWFwLl96b29tO1xuXG4gIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbGF5ZXJzKSB7XG4gICAgaWYgKGZpbmRTcGVjaWZpY0xheWVyc0Zyb21NYXAoWydJY29uTnVtYmVyJ10sIGxheWVyc1twcm9wZXJ0eV0pKSB7XG4gICAgICBldmVudHNDb3VudGVySWNvbnMobGF5ZXJzW3Byb3BlcnR5XSwgem9vbUxldmVsKTtcbiAgICB9XG5cbiAgICBpZiAoZmluZFNwZWNpZmljTGF5ZXJzRnJvbU1hcChbJ1BvaW50JywgJ0ljb24nXSwgbGF5ZXJzW3Byb3BlcnR5XSkpIHtcbiAgICAgIG11bHRpcGxlTGF5ZXJlZEljb25zKGxheWVyc1twcm9wZXJ0eV0sIHpvb21MZXZlbCk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgZmluZFNwZWNpZmljTGF5ZXJzRnJvbU1hcChbJ1NhbXBsaW5nJywgJ09ic2VydmF0aW9uJ10sIGxheWVyc1twcm9wZXJ0eV0pXG4gICAgKSB7XG4gICAgICBtdWx0aXBsZUxheWVyZWRJY29ucyhsYXllcnNbcHJvcGVydHldLCB6b29tTGV2ZWwpO1xuICAgIH1cbiAgfVxufTtcblxuY29uc3QgbWFwU3R5bGUgPSAobWFwQm94U3R5bGUpID0+IHtcbiAgcmV0dXJuIEwudGlsZUxheWVyKFxuICAgIGBodHRwczovL2FwaS5tYXBib3guY29tL3N0eWxlcy92MS9uYWRhdi1rYW5kby8ke21hcEJveFN0eWxlfS90aWxlcy8yNTYve3p9L3t4fS97eX1AMng/YWNjZXNzX3Rva2VuPXBrLmV5SjFJam9pYm1Ga1lYWXRhMkZ1Wkc4aUxDSmhJam9pWTJwdmVIcHJkR1J4TUhsbWRETjRiRGcwZHpKeE9YYzRkU0o5LkotMm9ocTdqNHlLTmJtNE5fLVA2cXdgLFxuICAgIHtcbiAgICAgIGF0dHJpYnV0aW9uOlxuICAgICAgICAnTWFwIGRhdGEgJmNvcHk7IDxhIGhyZWY9XCJodHRwczovL3d3dy5vcGVuc3RyZWV0bWFwLm9yZy9cIj5PcGVuU3RyZWV0TWFwPC9hPiBjb250cmlidXRvcnMsIDxhIGhyZWY9XCJodHRwczovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnktc2EvMi4wL1wiPkNDLUJZLVNBPC9hPiwgSW1hZ2VyeSDCqSA8YSBocmVmPVwiaHR0cHM6Ly93d3cubWFwYm94LmNvbS9cIj5NYXBib3g8L2E+JyxcbiAgICAgIG1heFpvb206IDE4LFxuICAgICAgaWQ6ICdtYXBib3gvc3RyZWV0cy12MTEnLFxuICAgICAgdGlsZVNpemU6IDUxMixcbiAgICAgIHpvb21PZmZzZXQ6IC0xLFxuICAgICAgdXBkYXRlV2hlblpvb21pbmc6IGZhbHNlLFxuICAgICAgdXBkYXRlV2hlbklkbGU6IGZhbHNlLFxuICAgIH0sXG4gICk7XG59O1xuY29uc3QgYmFzZU1hcHMgPSAobWFwQm94U3R5bGUsIG1hcEJveFNhdGVsbGl0ZVN0eWxlKSA9PiB7XG4gIGxldCBkZWZhdWx0TWFwID0gaTE4bi50KCdtYXAubGF5ZXJzLmRlZmF1bHQnKTtcbiAgbGV0IHNhdGVsbGl0ZSA9IGkxOG4udCgnbWFwLmxheWVycy5zYXRlbGxpdGUnKTtcbiAgcmV0dXJuIHtcbiAgICBbZGVmYXVsdE1hcF06IG1hcFN0eWxlKG1hcEJveFN0eWxlKSxcbiAgICBbc2F0ZWxsaXRlXTogbWFwU3R5bGUobWFwQm94U2F0ZWxsaXRlU3R5bGUpLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGluaXRpYWxpemVNYXAgPSAoXG4gIG1hcFpvb21MZXZlbCxcbiAgbWFwQm94U3R5bGUsXG4gIG1hcEJveFNhdGVsbGl0ZVN0eWxlLFxuICBtYXBSZWYsXG4gIGRpc3BhdGNoLFxuICBpc1ZhbGlkQXJlYSxcbiAgYXJlYVRvQ2VudGVyQnksXG4gIHNldE1hcFpvb21MZXZlbCxcbikgPT4ge1xuICAvLyBAdHMtaWdub3JlXG4gIG1hcFJlZi5jdXJyZW50ID0gTC5tYXAoJ21hcCcsIHtcbiAgICBjZW50ZXI6IFswLCAwXSxcbiAgICB6b29tU25hcDogMSxcbiAgICB6b29tOiBtYXBab29tTGV2ZWwsXG4gICAgYXR0cmlidXRpb25Db250cm9sOiBmYWxzZSxcbiAgICBwcmVmZXJDYW52YXM6IHRydWUsXG4gICAgbGF5ZXJzOiBbbWFwU3R5bGUobWFwQm94U3R5bGUpLCBtYXBTdHlsZShtYXBCb3hTYXRlbGxpdGVTdHlsZSldLFxuICB9KTtcblxuICBtYXBSZWYuY3VycmVudC53aGVuUmVhZHkoKCkgPT4ge1xuICAgIGxldCBtYXAgPSBtYXBSZWYuY3VycmVudDtcbiAgICBMLmNvbnRyb2xcbiAgICAgIC5sYXllcnMoXG4gICAgICAgIGJhc2VNYXBzKG1hcEJveFN0eWxlLCBtYXBCb3hTYXRlbGxpdGVTdHlsZSksXG4gICAgICAgIHt9LFxuICAgICAgICB7IHBvc2l0aW9uOiAnYm90dG9tcmlnaHQnIH0sXG4gICAgICApXG4gICAgICAuYWRkVG8obWFwKTtcbiAgICBtYXBTdHlsZShtYXBCb3hTdHlsZSkuYWRkVG8obWFwKTtcbiAgICBtYXAub24oJ3pvb21lbmQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBpY29uWm9vbUNvbnRyb2wobWFwKTtcbiAgICB9KTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICghbWFwUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0cnkge1xuICAgICAgICBtYXBSZWYuY3VycmVudC5pbnZhbGlkYXRlU2l6ZSh0cnVlKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdlcnInLCBlcnIpO1xuICAgICAgfVxuXG4gICAgICBkaXNwYXRjaChzdG9yZU1hcChtYXBSZWYuY3VycmVudCkpO1xuICAgICAgZGlzcGF0Y2goc2lkZU5hdkV4cGFuZGVkKHRydWUpKTtcbiAgICB9LCAwKTtcbiAgICBpZiAobWFwUmVmLmN1cnJlbnQgJiYgaXNWYWxpZEFyZWEoYXJlYVRvQ2VudGVyQnkpKSB7XG4gICAgICBtYXBSZWYuY3VycmVudC5maXRCb3VuZHMoYXJlYVRvQ2VudGVyQnkpO1xuICAgIH1cbiAgfSk7XG5cbiAgbWFwUmVmLmN1cnJlbnQub24oJ3pvb21lbmQnLCBmdW5jdGlvbiAoZSkge1xuICAgIGlmICghbWFwUmVmLmN1cnJlbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbGV0IHpvb20gPSBtYXBSZWYuY3VycmVudC5nZXRab29tKCk7XG4gICAgc2V0TWFwWm9vbUxldmVsKHpvb20pO1xuICB9KTtcbn07XG4iXX0=
@@ -51,12 +51,24 @@ var isCollectorFocused = function isCollectorFocused(point, event) {
51
51
  var _event$observations;
52
52
 
53
53
  return (event === null || event === void 0 ? void 0 : (_event$observations = event.observations) === null || _event$observations === void 0 ? void 0 : _event$observations.length) === 1 && point.id === event.observations[0].point_id;
54
+ };
55
+
56
+ exports.isCollectorFocused = isCollectorFocused;
57
+
58
+ var buildManholeTootipString = function buildManholeTootipString(point) {
59
+ var string = "".concat(point.group.name, " ");
60
+
61
+ if (point.group.type === 'Groups::Factory') {
62
+ string += "(".concat(point.group.sector_name, ")");
63
+ } else {
64
+ string = "".concat(point.name);
65
+ }
66
+
67
+ return string;
54
68
  }; // iconSize: [width, height],
55
69
  // IconAnchor: [(-right)(+left), (-down)(+up)]
56
70
 
57
71
 
58
- exports.isCollectorFocused = isCollectorFocused;
59
-
60
72
  var createBubblePoint = function createBubblePoint(markerLocation, point, map, hovered) {
61
73
  // @ts-ignore
62
74
  matchIconToPoint(point) !== null && // @ts-ignore
@@ -66,7 +78,7 @@ var createBubblePoint = function createBubblePoint(markerLocation, point, map, h
66
78
  riseOnHover: false
67
79
  }).addTo(map);
68
80
 
69
- pointCustomIcon.bindTooltip("".concat(point.group.name, " (").concat(point.group.sector_name, ")"));
81
+ pointCustomIcon.bindTooltip(buildManholeTootipString(point));
70
82
  pointCustomIcon['kando_few_layer_icon'] = matchIconToPoint(point).length > 1;
71
83
  pointCustomIcon['kando_index_object'] = index;
72
84
  pointCustomIcon['kando_object_id'] = point.id;
@@ -105,7 +117,7 @@ var createManholePoint = function createManholePoint(markerLocation, point, map,
105
117
  riseOnHover: true
106
118
  }).addTo(map);
107
119
 
108
- manholeIcon.bindTooltip("".concat(point.group.name, " (").concat(point.group.sector_name, ")"));
120
+ manholeIcon.bindTooltip(buildManholeTootipString(point));
109
121
  manholeIcon['kando_object_id'] = point.id;
110
122
  manholeIcon['kando_object'] = 'Point';
111
123
  manholeIcon['kando_point_type'] = 'Manhole';
@@ -310,7 +322,7 @@ var createSamplingIconPoint = function createSamplingIconPoint(markerLocation, s
310
322
  riseOnHover: false
311
323
  }).addTo(map);
312
324
 
313
- pointCustomIcon.bindTooltip("".concat(point.group.name, " (").concat(point.group.sector_name, ")"));
325
+ pointCustomIcon.bindTooltip(buildManholeTootipString(point));
314
326
  pointCustomIcon['kando_index_object'] = index;
315
327
  pointCustomIcon['kando_few_layer_icon'] = true;
316
328
  pointCustomIcon['kando_secondary'] = thirdIcon ? false : secondaryIcon;
@@ -352,7 +364,7 @@ var createObservationIconPoint = function createObservationIconPoint(markerLocat
352
364
  riseOnHover: false
353
365
  }).addTo(map);
354
366
 
355
- pointCustomIcon.bindTooltip("".concat(point.group.name, " (").concat(point.group.sector_name, ")"));
367
+ pointCustomIcon.bindTooltip(buildManholeTootipString(point));
356
368
  pointCustomIcon['kando_index_object'] = index;
357
369
  pointCustomIcon['kando_few_layer_icon'] = true;
358
370
  pointCustomIcon['kando_secondary'] = secondaryIcon;
@@ -386,4 +398,4 @@ var popupContent = function popupContent(obs, point) {
386
398
  };
387
399
 
388
400
  exports.popupContent = popupContent;
389
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9wb2ludHMvUG9pbnRVdGlscy50cyJdLCJuYW1lcyI6WyJpc0NvbGxlY3RvckZvY3VzZWQiLCJwb2ludCIsImV2ZW50Iiwib2JzZXJ2YXRpb25zIiwibGVuZ3RoIiwiaWQiLCJwb2ludF9pZCIsImNyZWF0ZUJ1YmJsZVBvaW50IiwibWFya2VyTG9jYXRpb24iLCJtYXAiLCJob3ZlcmVkIiwibWF0Y2hJY29uVG9Qb2ludCIsImZvckVhY2giLCJpY29uIiwiaW5kZXgiLCJwb2ludEN1c3RvbUljb24iLCJMIiwibWFya2VyIiwicmlzZU9uSG92ZXIiLCJhZGRUbyIsImJpbmRUb29sdGlwIiwiZ3JvdXAiLCJuYW1lIiwic2VjdG9yX25hbWUiLCJyZWxhdGVkRXZlbnRzQW1vdW50IiwiZGl2SWNvbiIsImNsYXNzTmFtZSIsImh0bWwiLCJpY29uQW5jaG9yIiwiX3pvb20iLCJvcGFjaXR5IiwiY3JlYXRlTWFuaG9sZVBvaW50IiwicG9pbnRJY29uIiwiaWNvblVybCIsIndoaXRlUG9pbnQiLCJpY29uU2l6ZSIsIm1hbmhvbGVJY29uIiwidHlwZSIsImNvbWJpbmVkRmFjdG9yeUljb24iLCJtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZSIsInVuc2hpZnQiLCJzZWxlY3RlZEJhY2tncm91bmQiLCJtYXJrZXJCZWxvbmdzVG9Tb3VyY2UiLCJiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kIiwic3RhbmRhcmRCYWNrZ3JvdW5kIiwiY29tYmluZWRQdW1wU3RhdGlvbkljb24iLCJjb21iaW5lZFdXVFBJY29uIiwicmVkUGluUmVkU2hhZG93Iiwid2F0ZXJJY29uTm9CYWNrZ3JvdW5kIiwicG9wdXBBbmNob3IiLCJjb21iaW5lZENvbGxlY3RvcnNJY29uIiwic2Vjb25kYXJ5IiwidGhpcmQiLCJ3aGl0ZVBpbkJsYWNrU2hhZG93IiwieWVsbG93Q2lyY2xlVVJMIiwicGxhbnRJY29uVVJMIiwiZ3JlZW5DaXJjbGVVUkwiLCJwdW1wU3RhdGlvbkljb25VUkwiLCJjb2xsZWN0b3JJY29uIiwiYnJpZ2h0Qmx1ZUNpcmNsZVVSTCIsIldXVFBJY29uVVJMIiwid2hpdGVQaW5SZWRTaGFkb3ciLCJzb3VyY2UiLCJ1bmRlZmluZWQiLCJzb3VyY2VzIiwiZmlsdGVyIiwic2VsZWN0ZWRfc291cmNlIiwiY3JlYXRlU2FtcGxpbmdJY29uUG9pbnQiLCJzZWNvbmRhcnlJY29uIiwic2FtcGxpbmdJY29uIiwiYmx1ZUNpcmNsZVVSTCIsInNhbXBsaW5nSWNvblVSTCIsInRoaXJkSWNvbiIsImNyZWF0ZU9ic2VydmF0aW9uSWNvblBvaW50Iiwib2JzZXJ2YXRpb25JY29uIiwicGlua0NpcmNsZVVSTCIsIm9ic2VydmF0aW9uSWNvblVSTCIsImNyZWF0ZVNhbXBsaW5nSWNvbnMiLCJzYW1wbGVkUG9pbnRJZHMiLCJzYW1wbGluZ3MiLCJzIiwiaW5jbHVkZXMiLCJwb3B1cENvbnRlbnQiLCJvYnMiLCJHcmFwaEljb24iLCJpMThuIiwidCIsInNldmVyaXR5Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUNBOztBQUNBOzs7Ozs7Ozs7O0FBT0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVNBOztBQUNBOztBQUVPLElBQU1BLGtCQUFrQixHQUFHLFNBQXJCQSxrQkFBcUIsQ0FBQ0MsS0FBRCxFQUFnQkMsS0FBaEIsRUFBa0M7QUFBQTs7QUFDbEUsU0FDRSxDQUFBQSxLQUFLLFNBQUwsSUFBQUEsS0FBSyxXQUFMLG1DQUFBQSxLQUFLLENBQUVDLFlBQVAsNEVBQXFCQyxNQUFyQixNQUFnQyxDQUFoQyxJQUNBSCxLQUFLLENBQUNJLEVBQU4sS0FBYUgsS0FBSyxDQUFDQyxZQUFOLENBQW1CLENBQW5CLEVBQXNCRyxRQUZyQztBQUlELENBTE0sQyxDQU9QO0FBQ0E7Ozs7O0FBQ08sSUFBTUMsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFvQixDQUMvQkMsY0FEK0IsRUFFL0JQLEtBRitCLEVBRy9CUSxHQUgrQixFQUkvQkMsT0FKK0IsRUFLNUI7QUFDSDtBQUNBQyxFQUFBQSxnQkFBZ0IsQ0FBQ1YsS0FBRCxDQUFoQixLQUE0QixJQUE1QixJQUNFO0FBQ0FVLEVBQUFBLGdCQUFnQixDQUFDVixLQUFELENBQWhCLENBQXdCVyxPQUF4QixDQUFnQyxVQUFDQyxJQUFELEVBQVlDLEtBQVosRUFBc0I7QUFDcEQsUUFBSUMsZUFBb0IsR0FBR0MsaUJBQUVDLE1BQUYsQ0FBU1QsY0FBVCxFQUF5QjtBQUNsREssTUFBQUEsSUFBSSxFQUFFQSxJQUQ0QztBQUVsREssTUFBQUEsV0FBVyxFQUFFO0FBRnFDLEtBQXpCLEVBR3hCQyxLQUh3QixDQUdsQlYsR0FIa0IsQ0FBM0I7O0FBSUFNLElBQUFBLGVBQWUsQ0FBQ0ssV0FBaEIsV0FDS25CLEtBQUssQ0FBQ29CLEtBQU4sQ0FBWUMsSUFEakIsZUFDMEJyQixLQUFLLENBQUNvQixLQUFOLENBQVlFLFdBRHRDO0FBR0FSLElBQUFBLGVBQWUsQ0FBQyxzQkFBRCxDQUFmLEdBQ0VKLGdCQUFnQixDQUFDVixLQUFELENBQWhCLENBQXdCRyxNQUF4QixHQUFpQyxDQURuQztBQUVBVyxJQUFBQSxlQUFlLENBQUMsb0JBQUQsQ0FBZixHQUF3Q0QsS0FBeEM7QUFDQUMsSUFBQUEsZUFBZSxDQUFDLGlCQUFELENBQWYsR0FBcUNkLEtBQUssQ0FBQ0ksRUFBM0M7QUFDQVUsSUFBQUEsZUFBZSxDQUFDLGNBQUQsQ0FBZixHQUFrQyxPQUFsQztBQUNBLFFBQUlMLE9BQUosRUFBYUssZUFBZSxDQUFDLGNBQUQsQ0FBZixHQUFrQyxjQUFsQztBQUNkLEdBZEQsQ0FGRjs7QUFrQkEsTUFBSWQsS0FBSyxDQUFDdUIsbUJBQVYsRUFBK0I7QUFDN0IsUUFBSVQsZUFBZSxHQUFHQyxpQkFBRUMsTUFBRixDQUFTVCxjQUFULEVBQXlCO0FBQzdDSyxNQUFBQSxJQUFJLEVBQUVHLGlCQUFFUyxPQUFGLENBQVU7QUFDZEMsUUFBQUEsU0FBUyx3QkFFTHpCLEtBQUssQ0FBQ3VCLG1CQUFOLElBQTZCLEdBQTdCLEdBQ0kscURBREosR0FFSSxzQkFKQywwQkFNTHZCLEtBQUssQ0FBQ3VCLG1CQUFOLEdBQTRCLENBQTVCLEdBQWdDLGFBQWhDLEdBQWdELEVBTjNDLG1CQURLO0FBU2RHLFFBQUFBLElBQUksZUFBUTFCLEtBQUssQ0FBQ3VCLG1CQUFkLFNBVFU7QUFVZEksUUFBQUEsVUFBVSxFQUFFLCtCQUFnQm5CLEdBQUcsQ0FBQ29CLEtBQXBCLEVBQTJCRDtBQVZ6QixPQUFWLENBRHVDO0FBYTdDVixNQUFBQSxXQUFXLEVBQUUsS0FiZ0M7QUFjN0NZLE1BQUFBLE9BQU8sRUFBRXBCLE9BQU8sR0FBRyxDQUFILEdBQU87QUFkc0IsS0FBekIsRUFlbkJTLEtBZm1CLENBZWJWLEdBZmEsQ0FBdEI7O0FBaUJBTSxJQUFBQSxlQUFlLENBQUMsaUJBQUQsQ0FBZixHQUFxQ2QsS0FBSyxDQUFDSSxFQUEzQztBQUNBVSxJQUFBQSxlQUFlLENBQUMsY0FBRCxDQUFmLEdBQWtDLFlBQWxDO0FBQ0EsUUFBSUwsT0FBSixFQUFhSyxlQUFlLENBQUMsY0FBRCxDQUFmLEdBQWtDLG1CQUFsQztBQUNkO0FBQ0YsQ0EvQ007Ozs7QUFpREEsSUFBTWdCLGtCQUFrQixHQUFHLFNBQXJCQSxrQkFBcUIsQ0FDaEN2QixjQURnQyxFQUVoQ1AsS0FGZ0MsRUFHaENRLEdBSGdDLEVBSWhDQyxPQUpnQyxFQUs3QjtBQUNILE1BQUlzQixTQUFTLEdBQUdoQixpQkFBRUgsSUFBRixDQUFPO0FBQ3JCb0IsSUFBQUEsT0FBTyxFQUFFQyxtQkFEWTtBQUVyQkMsSUFBQUEsUUFBUSxFQUFFLENBQUMsQ0FBRCxFQUFJLENBQUosQ0FGVztBQUdyQlAsSUFBQUEsVUFBVSxFQUFFLENBQUMsR0FBRCxFQUFNLEdBQU47QUFIUyxHQUFQLENBQWhCOztBQUtBLE1BQUlRLFdBQWdCLEdBQUdwQixpQkFBRUMsTUFBRixDQUFTVCxjQUFULEVBQXlCO0FBQzlDSyxJQUFBQSxJQUFJLEVBQUVtQixTQUR3QztBQUU5Q2QsSUFBQUEsV0FBVyxFQUFFO0FBRmlDLEdBQXpCLEVBR3BCQyxLQUhvQixDQUdkVixHQUhjLENBQXZCOztBQUlBMkIsRUFBQUEsV0FBVyxDQUFDaEIsV0FBWixXQUEyQm5CLEtBQUssQ0FBQ29CLEtBQU4sQ0FBWUMsSUFBdkMsZUFBZ0RyQixLQUFLLENBQUNvQixLQUFOLENBQVlFLFdBQTVEO0FBQ0FhLEVBQUFBLFdBQVcsQ0FBQyxpQkFBRCxDQUFYLEdBQWlDbkMsS0FBSyxDQUFDSSxFQUF2QztBQUNBK0IsRUFBQUEsV0FBVyxDQUFDLGNBQUQsQ0FBWCxHQUE4QixPQUE5QjtBQUNBQSxFQUFBQSxXQUFXLENBQUMsa0JBQUQsQ0FBWCxHQUFrQyxTQUFsQztBQUNBLE1BQUkxQixPQUFKLEVBQWEwQixXQUFXLENBQUMsY0FBRCxDQUFYLEdBQThCLGNBQTlCO0FBQ2QsQ0FwQk07Ozs7QUFzQkEsSUFBTXpCLGdCQUFnQixHQUFHLFNBQW5CQSxnQkFBbUIsQ0FBQ1YsS0FBRCxFQUFnQkMsS0FBaEIsRUFBa0M7QUFDaEUsVUFBUUQsS0FBSyxDQUFDb0IsS0FBTixDQUFZZ0IsSUFBcEI7QUFDRSxTQUFLLGlCQUFMO0FBQ0UsVUFBSUMsbUJBQW1CLENBQUNsQyxNQUFwQixLQUErQixDQUFuQyxFQUFzQztBQUNwQyxZQUFJbUMsNkJBQTZCLENBQUNyQyxLQUFELEVBQVFELEtBQVIsQ0FBakMsRUFBaUQ7QUFDL0NxQyxVQUFBQSxtQkFBbUIsQ0FBQ0UsT0FBcEIsQ0FBNEJDLGtCQUFrQixFQUE5QztBQUNELFNBRkQsTUFFTyxJQUFJQyxxQkFBcUIsQ0FBQ3hDLEtBQUQsRUFBUUQsS0FBUixDQUF6QixFQUF5QztBQUM5Q3FDLFVBQUFBLG1CQUFtQixDQUFDRSxPQUFwQixDQUE0QkcseUJBQXlCLEVBQXJEO0FBQ0QsU0FGTSxNQUVBO0FBQ0xMLFVBQUFBLG1CQUFtQixDQUFDRSxPQUFwQixDQUE0Qkksa0JBQWtCLEVBQTlDO0FBQ0Q7QUFDRjs7QUFFRCxhQUFPTixtQkFBUDs7QUFDRixTQUFLLHFCQUFMO0FBQ0UsVUFBSU8sdUJBQXVCLENBQUN6QyxNQUF4QixLQUFtQyxDQUF2QyxFQUEwQztBQUN4QyxZQUFJbUMsNkJBQTZCLENBQUNyQyxLQUFELEVBQVFELEtBQVIsQ0FBakMsRUFBaUQ7QUFDL0M0QyxVQUFBQSx1QkFBdUIsQ0FBQ0wsT0FBeEIsQ0FBZ0NDLGtCQUFrQixFQUFsRDtBQUNELFNBRkQsTUFFTyxJQUFJQyxxQkFBcUIsQ0FBQ3hDLEtBQUQsRUFBUUQsS0FBUixDQUF6QixFQUF5QztBQUM5QzRDLFVBQUFBLHVCQUF1QixDQUFDTCxPQUF4QixDQUFnQ0cseUJBQXlCLEVBQXpEO0FBQ0QsU0FGTSxNQUVBO0FBQ0xFLFVBQUFBLHVCQUF1QixDQUFDTCxPQUF4QixDQUFnQ0ksa0JBQWtCLEVBQWxEO0FBQ0Q7QUFDRjs7QUFFRCxhQUFPQyx1QkFBUDs7QUFDRixTQUFLLGtDQUFMO0FBQ0UsVUFBSUMsZ0JBQWdCLENBQUMxQyxNQUFqQixLQUE0QixDQUFoQyxFQUFtQztBQUNqQyxZQUFJbUMsNkJBQTZCLENBQUNyQyxLQUFELEVBQVFELEtBQVIsQ0FBakMsRUFBaUQ7QUFDL0M2QyxVQUFBQSxnQkFBZ0IsQ0FBQ04sT0FBakIsQ0FBeUJDLGtCQUFrQixFQUEzQztBQUNELFNBRkQsTUFFTyxJQUFJQyxxQkFBcUIsQ0FBQ3hDLEtBQUQsRUFBUUQsS0FBUixDQUF6QixFQUF5QztBQUM5QzZDLFVBQUFBLGdCQUFnQixDQUFDTixPQUFqQixDQUF5QkcseUJBQXlCLEVBQWxEO0FBQ0QsU0FGTSxNQUVBO0FBQ0xHLFVBQUFBLGdCQUFnQixDQUFDTixPQUFqQixDQUF5Qkksa0JBQWtCLEVBQTNDO0FBQ0Q7QUFDRjs7QUFFRCxhQUFPRSxnQkFBUDs7QUFFRixTQUFLLG9CQUFMO0FBQ0UsVUFBSTlDLGtCQUFrQixDQUFDQyxLQUFELEVBQVFDLEtBQVIsQ0FBdEIsRUFBc0M7QUFDcEMsZUFBTyxDQUNMYyxpQkFBRUgsSUFBRixDQUFPO0FBQ0xvQixVQUFBQSxPQUFPLEVBQUVjLHdCQURKO0FBRUxaLFVBQUFBLFFBQVEsRUFBRSxDQUFDLENBQUQsRUFBSSxDQUFKLENBRkw7QUFHTFAsVUFBQUEsVUFBVSxFQUFFLENBQUMsRUFBRCxFQUFLLEVBQUw7QUFIUCxTQUFQLENBREssRUFPTFosaUJBQUVILElBQUYsQ0FBTztBQUNMb0IsVUFBQUEsT0FBTyxFQUFFZSwwQkFESjtBQUVMYixVQUFBQSxRQUFRLEVBQUUsQ0FBQyxDQUFELEVBQUksQ0FBSixDQUZMO0FBSUxQLFVBQUFBLFVBQVUsRUFBRSxDQUFDLEVBQUQsRUFBSyxFQUFMLENBSlA7QUFLTHFCLFVBQUFBLFdBQVcsRUFBRSxDQUFDLENBQUQsRUFBSSxDQUFDLEVBQUw7QUFMUixTQUFQLENBUEssQ0FBUDtBQWVEOztBQUVELGFBQU9DLHNCQUFQOztBQUVGO0FBQ0UsYUFBTyxJQUFQO0FBNURKO0FBOERELENBL0RNOzs7O0FBaUVBLElBQU1OLGtCQUFrQixHQUFHLFNBQXJCQSxrQkFBcUIsR0FHN0I7QUFBQSxNQUZITyxTQUVHLHVFQUZrQixLQUVsQjtBQUFBLE1BREhDLEtBQ0csdUVBRGMsS0FDZDtBQUNILFNBQU9wQyxpQkFBRUgsSUFBRixDQUFPO0FBQ1pvQixJQUFBQSxPQUFPLEVBQUVvQiw0QkFERztBQUVabEIsSUFBQUEsUUFBUSxFQUFFZ0IsU0FBUyxHQUFHLENBQUMsQ0FBRCxFQUFJLENBQUosQ0FBSCxHQUFZLENBQUMsQ0FBRCxFQUFJLENBQUosQ0FGbkI7QUFHWnZCLElBQUFBLFVBQVUsRUFBRXVCLFNBQVMsSUFBSUMsS0FBYixHQUFxQixDQUFDLENBQUMsQ0FBRixFQUFLLEVBQUwsQ0FBckIsR0FBZ0NELFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBRixFQUFLLEVBQUwsQ0FBSCxHQUFjLENBQUMsRUFBRCxFQUFLLEVBQUwsQ0FIdkQ7QUFJWkYsSUFBQUEsV0FBVyxFQUFFLENBQUMsQ0FBRCxFQUFJLENBQUMsRUFBTDtBQUpELEdBQVAsQ0FBUDtBQU1ELENBVk07OztBQVlBLElBQU1YLG1CQUFtQixHQUFHLENBQ2pDdEIsaUJBQUVILElBQUYsQ0FBTztBQUNMb0IsRUFBQUEsT0FBTyxFQUFFcUIscUJBREo7QUFFTG5CLEVBQUFBLFFBQVEsRUFBRSxDQUFDLENBQUQsRUFBSSxDQUFKLENBRkw7QUFHTFAsRUFBQUEsVUFBVSxFQUFFLENBQUMsSUFBRCxFQUFPLElBQVAsQ0FIUDtBQUlMcUIsRUFBQUEsV0FBVyxFQUFFLENBQUMsQ0FBRCxFQUFJLENBQUMsRUFBTDtBQUpSLENBQVAsQ0FEaUMsRUFPakNqQyxpQkFBRUgsSUFBRixDQUFPO0FBQ0xvQixFQUFBQSxPQUFPLEVBQUVzQixvQkFESjtBQUVMcEIsRUFBQUEsUUFBUSxFQUFFLENBQUMsQ0FBRCxFQUFJLENBQUosQ0FGTDtBQUdMUCxFQUFBQSxVQUFVLEVBQUUsQ0FBQyxDQUFELEVBQUksRUFBSixDQUhQO0FBSUxxQixFQUFBQSxXQUFXLEVBQUUsQ0FBQyxDQUFELEVBQUksQ0FBQyxFQUFMO0FBSlIsQ0FBUCxDQVBpQyxDQUE1Qjs7QUFlQSxJQUFNSix1QkFBdUIsR0FBRyxDQUNyQzdCLGlCQUFFSCxJQUFGLENBQU87QUFDTG9CLEVBQUFBLE9BQU8sRUFBRXVCLG9CQURKO0FBRUxyQixFQUFBQSxRQUFRLEVBQUUsQ0FBQyxDQUFELEVBQUksQ0FBSixDQUZMO0FBR0xQLEVBQUFBLFVBQVUsRUFBRSxDQUFDLElBQUQsRUFBTyxJQUFQLENBSFA7QUFJTHFCLEVBQUFBLFdBQVcsRUFBRSxDQUFDLENBQUQsRUFBSSxDQUFDLEVBQUw7QUFKUixDQUFQLENBRHFDLEVBT3JDakMsaUJBQUVILElBQUYsQ0FBTztBQUNMb0IsRUFBQUEsT0FBTyxFQUFFd0Isd0JBREo7QUFFTHRCLEVBQUFBLFFBQVEsRUFBRSxDQUFDLENBQUQsRUFBSSxDQUFKLENBRkw7QUFHTFAsRUFBQUEsVUFBVSxFQUFFLENBQUMsQ0FBRCxFQUFJLEVBQUosQ0FIUDtBQUlMcUIsRUFBQUEsV0FBVyxFQUFFLENBQUMsQ0FBRCxFQUFJLENBQUMsRUFBTDtBQUpSLENBQVAsQ0FQcUMsQ0FBaEM7O0FBZUEsSUFBTUMsc0JBQXNCLEdBQUcsQ0FDcENsQyxpQkFBRUgsSUFBRixDQUFPO0FBQ0xvQixFQUFBQSxPQUFPLEVBQUV5QixpQkFESjtBQUVMdkIsRUFBQUEsUUFBUSxFQUFFLENBQUMsQ0FBRCxFQUFJLENBQUosQ0FGTDtBQUlMUCxFQUFBQSxVQUFVLEVBQUUsQ0FBQyxFQUFELEVBQUssRUFBTCxDQUpQO0FBS0xxQixFQUFBQSxXQUFXLEVBQUUsQ0FBQyxDQUFELEVBQUksQ0FBQyxFQUFMO0FBTFIsQ0FBUCxDQURvQyxDQUEvQjs7QUFVQSxJQUFNSCxnQkFBZ0IsR0FBRyxDQUM5QjlCLGlCQUFFSCxJQUFGLENBQU87QUFDTG9CLEVBQUFBLE9BQU8sRUFBRTBCLHlCQURKO0FBRUx4QixFQUFBQSxRQUFRLEVBQUUsQ0FBQyxDQUFELEVBQUksQ0FBSixDQUZMO0FBR0xQLEVBQUFBLFVBQVUsRUFBRSxDQUFDLElBQUQsRUFBTyxJQUFQLENBSFA7QUFJTHFCLEVBQUFBLFdBQVcsRUFBRSxDQUFDLENBQUQsRUFBSSxDQUFDLEVBQUw7QUFKUixDQUFQLENBRDhCLEVBTzlCakMsaUJBQUVILElBQUYsQ0FBTztBQUNMb0IsRUFBQUEsT0FBTyxFQUFFMkIsaUJBREo7QUFFTHpCLEVBQUFBLFFBQVEsRUFBRSxDQUFDLENBQUQsRUFBSSxDQUFKLENBRkw7QUFHTFAsRUFBQUEsVUFBVSxFQUFFLENBQUMsQ0FBRCxFQUFJLEVBQUosQ0FIUDtBQUlMcUIsRUFBQUEsV0FBVyxFQUFFLENBQUMsQ0FBRCxFQUFJLENBQUMsRUFBTDtBQUpSLENBQVAsQ0FQOEIsQ0FBekI7OztBQWVBLElBQU1SLGtCQUFrQixHQUFHLFNBQXJCQSxrQkFBcUIsR0FBTTtBQUN0QyxTQUFPekIsaUJBQUVILElBQUYsQ0FBTztBQUNab0IsSUFBQUEsT0FBTyxFQUFFYyx3QkFERztBQUVaWixJQUFBQSxRQUFRLEVBQUUsQ0FBQyxDQUFELEVBQUksQ0FBSixDQUZFO0FBR1pQLElBQUFBLFVBQVUsRUFBRSxDQUFDLEVBQUQsRUFBSyxFQUFMLENBSEE7QUFJWnFCLElBQUFBLFdBQVcsRUFBRSxDQUFDLENBQUQsRUFBSSxDQUFDLEVBQUw7QUFKRCxHQUFQLENBQVA7QUFNRCxDQVBNOzs7O0FBU0EsSUFBTU4seUJBQXlCLEdBQUcsU0FBNUJBLHlCQUE0QixHQUFNO0FBQzdDLFNBQU8zQixpQkFBRUgsSUFBRixDQUFPO0FBQ1pvQixJQUFBQSxPQUFPLEVBQUU0QiwwQkFERztBQUVaMUIsSUFBQUEsUUFBUSxFQUFFLENBQUMsQ0FBRCxFQUFJLENBQUosQ0FGRTtBQUdaUCxJQUFBQSxVQUFVLEVBQUUsQ0FBQyxFQUFELEVBQUssRUFBTCxDQUhBO0FBSVpxQixJQUFBQSxXQUFXLEVBQUUsQ0FBQyxDQUFELEVBQUksQ0FBQyxFQUFMO0FBSkQsR0FBUCxDQUFQO0FBTUQsQ0FQTTs7OztBQVNBLElBQU1WLDZCQUE2QixHQUFHLFNBQWhDQSw2QkFBZ0MsQ0FBQ3JDLEtBQUQsRUFBZ0JELEtBQWhCLEVBQWtDO0FBQzdFLE1BQUk2RCxNQUFKOztBQUVBLE1BQUk1RCxLQUFLLEtBQUssSUFBVixJQUFrQkEsS0FBSyxLQUFLNkQsU0FBaEMsRUFBMkM7QUFDekNELElBQUFBLE1BQU0sR0FBRzVELEtBQUssQ0FBQzhELE9BQU4sQ0FBY0MsTUFBZCxDQUFxQixVQUFDSCxNQUFEO0FBQUEsYUFBWUEsTUFBTSxDQUFDeEQsUUFBUCxLQUFvQkwsS0FBSyxDQUFDSSxFQUF0QztBQUFBLEtBQXJCLEVBQStELENBQS9ELENBQVQ7QUFDRDs7QUFFRCxTQUFPSCxLQUFLLEtBQUssSUFBVixJQUFrQjRELE1BQWxCLElBQTRCNUQsS0FBSyxDQUFDZ0UsZUFBTixLQUEwQkosTUFBTSxDQUFDeEQsUUFBcEU7QUFDRCxDQVJNOzs7O0FBVUEsSUFBTW9DLHFCQUFxQixHQUFHLFNBQXhCQSxxQkFBd0IsQ0FBQ3hDLEtBQUQsRUFBZ0JELEtBQWhCLEVBQWtDO0FBQ3JFLE1BQUlDLEtBQUssS0FBSzZELFNBQWQsRUFBeUI7QUFDekIsU0FDRTdELEtBQUssS0FBSyxJQUFWLElBQ0FBLEtBQUssQ0FBQzhELE9BQU4sQ0FBY0MsTUFBZCxDQUFxQixVQUFDSCxNQUFEO0FBQUEsV0FBWUEsTUFBTSxDQUFDeEQsUUFBUCxLQUFvQkwsS0FBSyxDQUFDSSxFQUF0QztBQUFBLEdBQXJCLEVBQStELENBQS9ELENBRkY7QUFJRCxDQU5NOzs7O0FBUUEsSUFBTThELHVCQUF1QixHQUFHLFNBQTFCQSx1QkFBMEIsQ0FDckMzRCxjQURxQyxFQUVyQzRELGFBRnFDLEVBR3JDM0QsR0FIcUMsRUFJckNSLEtBSnFDLEVBS3JDQyxLQUxxQyxFQU1yQ1EsT0FOcUMsRUFPbEM7QUFDSDtBQUNBO0FBQ0EsTUFBSTJELFlBQVksR0FBRyxDQUNqQnJELGlCQUFFSCxJQUFGLENBQU87QUFDTG9CLElBQUFBLE9BQU8sRUFBRXFDLG1CQURKO0FBRUxuQyxJQUFBQSxRQUFRLEVBQUVpQyxhQUFhLEdBQUcsQ0FBQyxDQUFELEVBQUksQ0FBSixDQUFILEdBQVksQ0FBQyxDQUFELEVBQUksQ0FBSixDQUY5QjtBQUdMeEMsSUFBQUEsVUFBVSxFQUFFd0MsYUFBYSxHQUFHLENBQUMsQ0FBQyxDQUFGLEVBQUssRUFBTCxDQUFILEdBQWMsQ0FBQyxJQUFELEVBQU8sSUFBUCxDQUhsQztBQUlMbkIsSUFBQUEsV0FBVyxFQUFFLENBQUMsQ0FBRCxFQUFJLENBQUMsRUFBTDtBQUpSLEdBQVAsQ0FEaUIsRUFPakJqQyxpQkFBRUgsSUFBRixDQUFPO0FBQ0xvQixJQUFBQSxPQUFPLEVBQUVzQyxxQkFESjtBQUVMcEMsSUFBQUEsUUFBUSxFQUFFaUMsYUFBYSxHQUFHLENBQUMsQ0FBRCxFQUFJLENBQUosQ0FBSCxHQUFZLENBQUMsQ0FBRCxFQUFJLENBQUosQ0FGOUI7QUFHTHhDLElBQUFBLFVBQVUsRUFBRXdDLGFBQWEsR0FBRyxDQUFDLENBQUMsQ0FBRixFQUFLLEVBQUwsQ0FBSCxHQUFjLENBQUMsQ0FBRCxFQUFJLEVBQUosQ0FIbEM7QUFJTG5CLElBQUFBLFdBQVcsRUFBRSxDQUFDLENBQUQsRUFBSSxDQUFDLEVBQUw7QUFKUixHQUFQLENBUGlCLENBQW5CO0FBZUEsTUFBSXVCLFNBQVMsR0FBRyxLQUFoQjs7QUFDQSxNQUFJakMsNkJBQTZCLENBQUNyQyxLQUFELEVBQVFELEtBQVIsQ0FBN0IsSUFBK0MsQ0FBQ21FLGFBQXBELEVBQW1FO0FBQ2pFQyxJQUFBQSxZQUFZLENBQUM3QixPQUFiLENBQXFCQyxrQkFBa0IsRUFBdkM7QUFDRCxHQUZELE1BRU8sSUFBSUMscUJBQXFCLENBQUN4QyxLQUFELEVBQVFELEtBQVIsQ0FBckIsSUFBdUMsQ0FBQ21FLGFBQTVDLEVBQTJEO0FBQ2hFQyxJQUFBQSxZQUFZLENBQUM3QixPQUFiLENBQXFCRyx5QkFBeUIsRUFBOUM7QUFDRCxHQUZNLE1BRUE7QUFDTDZCLElBQUFBLFNBQVMsR0FBRyxJQUFaO0FBQ0FILElBQUFBLFlBQVksQ0FBQzdCLE9BQWIsQ0FBcUJJLGtCQUFrQixDQUFDd0IsYUFBRCxFQUFnQkksU0FBaEIsQ0FBdkM7QUFDRDs7QUFFREgsRUFBQUEsWUFBWSxDQUFDekQsT0FBYixDQUFxQixVQUFDQyxJQUFELEVBQU9DLEtBQVAsRUFBaUI7QUFDcEMsUUFBSUMsZUFBb0IsR0FBR0MsaUJBQUVDLE1BQUYsQ0FBU1QsY0FBVCxFQUF5QjtBQUNsREssTUFBQUEsSUFBSSxFQUFFQSxJQUQ0QztBQUVsREssTUFBQUEsV0FBVyxFQUFFO0FBRnFDLEtBQXpCLEVBR3hCQyxLQUh3QixDQUdsQlYsR0FIa0IsQ0FBM0I7O0FBSUFNLElBQUFBLGVBQWUsQ0FBQ0ssV0FBaEIsV0FDS25CLEtBQUssQ0FBQ29CLEtBQU4sQ0FBWUMsSUFEakIsZUFDMEJyQixLQUFLLENBQUNvQixLQUFOLENBQVlFLFdBRHRDO0FBR0FSLElBQUFBLGVBQWUsQ0FBQyxvQkFBRCxDQUFmLEdBQXdDRCxLQUF4QztBQUNBQyxJQUFBQSxlQUFlLENBQUMsc0JBQUQsQ0FBZixHQUEwQyxJQUExQztBQUNBQSxJQUFBQSxlQUFlLENBQUMsaUJBQUQsQ0FBZixHQUFxQ3lELFNBQVMsR0FBRyxLQUFILEdBQVdKLGFBQXpEO0FBQ0FyRCxJQUFBQSxlQUFlLENBQUMsYUFBRCxDQUFmLEdBQWlDeUQsU0FBakM7QUFDQXpELElBQUFBLGVBQWUsQ0FBQyxpQkFBRCxDQUFmLEdBQXFDZCxLQUFLLENBQUNJLEVBQTNDO0FBQ0FVLElBQUFBLGVBQWUsQ0FBQyxjQUFELENBQWYsR0FBa0MsVUFBbEM7QUFDQSxRQUFJTCxPQUFKLEVBQWFLLGVBQWUsQ0FBQyxjQUFELENBQWYsR0FBa0MsaUJBQWxDO0FBQ2QsR0FmRDtBQWdCRCxDQW5ETTs7OztBQXFEQSxJQUFNMEQsMEJBQTBCLEdBQUcsU0FBN0JBLDBCQUE2QixDQUN4Q2pFLGNBRHdDLEVBRXhDNEQsYUFGd0MsRUFHeEMzRCxHQUh3QyxFQUl4Q1IsS0FKd0MsRUFLeENDLEtBTHdDLEVBTXhDUSxPQU53QyxFQU9yQztBQUNIO0FBQ0E7QUFDQSxNQUFJZ0UsZUFBZSxHQUFHLENBQ3BCMUQsaUJBQUVILElBQUYsQ0FBTztBQUNMb0IsSUFBQUEsT0FBTyxFQUFFMEMsbUJBREo7QUFFTHhDLElBQUFBLFFBQVEsRUFBRWlDLGFBQWEsR0FBRyxDQUFDLENBQUQsRUFBSSxDQUFKLENBQUgsR0FBWSxDQUFDLENBQUQsRUFBSSxDQUFKLENBRjlCO0FBR0x4QyxJQUFBQSxVQUFVLEVBQUV3QyxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUYsRUFBSyxFQUFMLENBQUgsR0FBYyxDQUFDLElBQUQsRUFBTyxJQUFQLENBSGxDO0FBSUxuQixJQUFBQSxXQUFXLEVBQUUsQ0FBQyxDQUFELEVBQUksQ0FBQyxFQUFMO0FBSlIsR0FBUCxDQURvQixFQU9wQmpDLGlCQUFFSCxJQUFGLENBQU87QUFDTG9CLElBQUFBLE9BQU8sRUFBRTJDLHdCQURKO0FBRUx6QyxJQUFBQSxRQUFRLEVBQUVpQyxhQUFhLEdBQUcsQ0FBQyxDQUFELEVBQUksQ0FBSixDQUFILEdBQVksQ0FBQyxDQUFELEVBQUksQ0FBSixDQUY5QjtBQUdMeEMsSUFBQUEsVUFBVSxFQUFFd0MsYUFBYSxHQUFHLENBQUMsQ0FBQyxDQUFGLEVBQUssRUFBTCxDQUFILEdBQWMsQ0FBQyxDQUFELEVBQUksRUFBSixDQUhsQztBQUlMbkIsSUFBQUEsV0FBVyxFQUFFLENBQUMsQ0FBRCxFQUFJLENBQUMsRUFBTDtBQUpSLEdBQVAsQ0FQb0IsQ0FBdEI7O0FBZUEsTUFBSVYsNkJBQTZCLENBQUNyQyxLQUFELEVBQVFELEtBQVIsQ0FBN0IsSUFBK0MsQ0FBQ21FLGFBQXBELEVBQW1FO0FBQ2pFTSxJQUFBQSxlQUFlLENBQUNsQyxPQUFoQixDQUF3QkMsa0JBQWtCLEVBQTFDO0FBQ0QsR0FGRCxNQUVPLElBQUlDLHFCQUFxQixDQUFDeEMsS0FBRCxFQUFRRCxLQUFSLENBQXJCLElBQXVDLENBQUNtRSxhQUE1QyxFQUEyRDtBQUNoRU0sSUFBQUEsZUFBZSxDQUFDbEMsT0FBaEIsQ0FBd0JHLHlCQUF5QixFQUFqRDtBQUNELEdBRk0sTUFFQTtBQUNMK0IsSUFBQUEsZUFBZSxDQUFDbEMsT0FBaEIsQ0FBd0JJLGtCQUFrQixDQUFDd0IsYUFBRCxDQUExQztBQUNEOztBQUVETSxFQUFBQSxlQUFlLENBQUM5RCxPQUFoQixDQUF3QixVQUFDQyxJQUFELEVBQU9DLEtBQVAsRUFBaUI7QUFDdkMsUUFBSUMsZUFBb0IsR0FBR0MsaUJBQUVDLE1BQUYsQ0FBU1QsY0FBVCxFQUF5QjtBQUNsREssTUFBQUEsSUFBSSxFQUFFQSxJQUQ0QztBQUVsREssTUFBQUEsV0FBVyxFQUFFO0FBRnFDLEtBQXpCLEVBR3hCQyxLQUh3QixDQUdsQlYsR0FIa0IsQ0FBM0I7O0FBSUFNLElBQUFBLGVBQWUsQ0FBQ0ssV0FBaEIsV0FDS25CLEtBQUssQ0FBQ29CLEtBQU4sQ0FBWUMsSUFEakIsZUFDMEJyQixLQUFLLENBQUNvQixLQUFOLENBQVlFLFdBRHRDO0FBR0FSLElBQUFBLGVBQWUsQ0FBQyxvQkFBRCxDQUFmLEdBQXdDRCxLQUF4QztBQUNBQyxJQUFBQSxlQUFlLENBQUMsc0JBQUQsQ0FBZixHQUEwQyxJQUExQztBQUNBQSxJQUFBQSxlQUFlLENBQUMsaUJBQUQsQ0FBZixHQUFxQ3FELGFBQXJDO0FBQ0FyRCxJQUFBQSxlQUFlLENBQUMsYUFBRCxDQUFmLEdBQWlDLEtBQWpDO0FBQ0FBLElBQUFBLGVBQWUsQ0FBQyxpQkFBRCxDQUFmLEdBQXFDZCxLQUFLLENBQUNJLEVBQTNDO0FBQ0FVLElBQUFBLGVBQWUsQ0FBQyxjQUFELENBQWYsR0FBa0MsYUFBbEM7QUFDQSxRQUFJTCxPQUFKLEVBQWFLLGVBQWUsQ0FBQyxjQUFELENBQWYsR0FBa0Msb0JBQWxDO0FBQ2QsR0FmRDtBQWdCRCxDQWpETTs7OztBQW1EQSxJQUFNOEQsbUJBQW1CLEdBQUcsU0FBdEJBLG1CQUFzQixDQUNqQ3JFLGNBRGlDLEVBRWpDTixLQUZpQyxFQUdqQ0QsS0FIaUMsRUFJakNRLEdBSmlDLEVBS2pDQyxPQUxpQyxFQU05QjtBQUNILE1BQUlvRSxlQUFlLEdBQUc1RSxLQUFLLENBQUM2RSxTQUFOLENBQWdCdEUsR0FBaEIsQ0FBb0IsVUFBQ3VFLENBQUQ7QUFBQSxXQUFPQSxDQUFDLENBQUMxRSxRQUFUO0FBQUEsR0FBcEIsQ0FBdEI7O0FBQ0EsTUFDRUosS0FBSyxLQUFLLElBQVYsSUFDQUEsS0FBSyxDQUFDNkUsU0FBTixDQUFnQjNFLE1BQWhCLEtBQTJCLENBRDNCLElBRUEwRSxlQUFlLENBQUNHLFFBQWhCLENBQXlCaEYsS0FBSyxDQUFDSSxFQUEvQixDQUhGLEVBSUU7QUFDQThELElBQUFBLHVCQUF1QixDQUNyQjNELGNBRHFCLEVBRXJCRyxnQkFBZ0IsQ0FBQ1YsS0FBRCxFQUFRQyxLQUFSLENBQWhCLEtBQW1DLElBRmQsRUFHckJPLEdBSHFCLEVBSXJCUixLQUpxQixFQUtyQkMsS0FMcUIsRUFNckJRLE9BTnFCLENBQXZCO0FBUUQ7QUFDRixDQXRCTTs7OztBQXdCQSxJQUFNd0UsWUFBWSxHQUFHLFNBQWZBLFlBQWUsQ0FBQ0MsR0FBRCxFQUFXbEYsS0FBWCxFQUE2QjtBQUN2RCxNQUFJa0YsR0FBRyxLQUFLLElBQVosRUFBa0I7QUFDaEIsK0hBRTREbEYsS0FBSyxDQUFDSSxFQUZsRSxpREFHNEIrRSxrQkFINUIsd0pBTTBEbkYsS0FBSyxDQUFDb0IsS0FBTixDQUFZQyxJQU50RTtBQWFELEdBZEQsTUFjTztBQUNMLCtIQUU0RDZELEdBQUcsQ0FBQzlFLEVBRmhFLGlEQUc0QitFLGtCQUg1Qix3SkFPa0JuRixLQUFLLENBQUNvQixLQUFOLENBQVlDLElBUDlCLG9KQVUyRCtELGNBQUtDLENBQUwsNEJBVjNELHlEQWNzQiw4QkFBOEJILEdBQUcsQ0FBQ0ksUUFkeEQsdUhBaUI4QkYsY0FBS0MsQ0FBTCxzQ0FDOEJILEdBQUcsQ0FBQ0ksUUFEbEMsRUFqQjlCLG1XQTRCK0RGLGNBQUtDLENBQUwsOEJBNUIvRCxnT0FrQytERCxjQUFLQyxDQUFMLDZCQWxDL0Q7QUEyQ0Q7QUFDRixDQTVETSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBHcmFwaEljb24gZnJvbSAnLi4vLi4vLi4vYXNzZXRzL2xpbmUtY2hhcnQuc3ZnJztcbmltcG9ydCBMLCB7IExhdExuZ1R1cGxlIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgaTE4biBmcm9tICcuLi8uLi8uLi91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgYmx1ZUNpcmNsZVVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvYmx1ZS1jaXJjbGUuc3ZnJztcbmltcG9ydCBzYW1wbGluZ0ljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3NhbXBsaW5nLWljb24uc3ZnJztcbmltcG9ydCBwaW5rQ2lyY2xlVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9waW5rLWNpcmNsZS5zdmcnO1xuaW1wb3J0IG9ic2VydmF0aW9uSWNvblVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvb2JzZXJ2YXRpb24taWNvbi5zdmcnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHJlZFBpblJlZFNoYWRvdyBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvcmVkLXBpbi1yZWQtc2hhZG93LnBuZyc7XG5pbXBvcnQgd2hpdGVQaW5SZWRTaGFkb3cgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3doaXRlLXBpbi1yZWQtc2hhZG93LnBuZyc7XG5pbXBvcnQgd2hpdGVQaW5CbGFja1NoYWRvdyBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvd2hpdGUtcGluLWJsYWNrLXNoYWRvdy5wbmcnO1xuaW1wb3J0IHllbGxvd0NpcmNsZVVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMveWVsbG93LWNpcmNsZS5zdmcnO1xuaW1wb3J0IHBsYW50SWNvblVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvZmFjdG9yeS1pY29uLnN2Zyc7XG5pbXBvcnQgZ3JlZW5DaXJjbGVVUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL2dyZWVuLWNpcmNsZS5zdmcnO1xuaW1wb3J0IHB1bXBTdGF0aW9uSWNvblVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvcHVtcC1zdGF0aW9uLWljb24uc3ZnJztcbmltcG9ydCBjb2xsZWN0b3JJY29uIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9tYXAvcGluLXdhdGVyLnN2Zyc7XG5pbXBvcnQgYnJpZ2h0Qmx1ZUNpcmNsZVVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvYnJpZ2h0LWJsdWUtY2lyY2xlLnN2Zyc7XG5pbXBvcnQgV1dUUEljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL1dXVFAtaWNvbi5zdmcnO1xuaW1wb3J0IHdhdGVySWNvbk5vQmFja2dyb3VuZCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvd2F0ZXItbm8tYmFja2dyb3VuZC5zdmcnO1xuaW1wb3J0IHdoaXRlUG9pbnQgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3doaXRlLXBvaW50LnBuZyc7XG5pbXBvcnQgeyBldmVudHNDb3VudEljb24gfSBmcm9tICcuLi9NYXBVdGlscyc7XG5cbmV4cG9ydCBjb25zdCBpc0NvbGxlY3RvckZvY3VzZWQgPSAocG9pbnQ6IElQb2ludCwgZXZlbnQ6IElFdmVudCkgPT4ge1xuICByZXR1cm4gKFxuICAgIGV2ZW50Py5vYnNlcnZhdGlvbnM/Lmxlbmd0aCA9PT0gMSAmJlxuICAgIHBvaW50LmlkID09PSBldmVudC5vYnNlcnZhdGlvbnNbMF0ucG9pbnRfaWRcbiAgKTtcbn07XG5cbi8vIGljb25TaXplOiBbd2lkdGgsIGhlaWdodF0sXG4vLyBJY29uQW5jaG9yOiBbKC1yaWdodCkoK2xlZnQpLCAoLWRvd24pKCt1cCldXG5leHBvcnQgY29uc3QgY3JlYXRlQnViYmxlUG9pbnQgPSAoXG4gIG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSxcbiAgcG9pbnQ6IElQb2ludCxcbiAgbWFwLFxuICBob3ZlcmVkPyxcbikgPT4ge1xuICAvLyBAdHMtaWdub3JlXG4gIG1hdGNoSWNvblRvUG9pbnQocG9pbnQpICE9PSBudWxsICYmXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIG1hdGNoSWNvblRvUG9pbnQocG9pbnQpLmZvckVhY2goKGljb246IGFueSwgaW5kZXgpID0+IHtcbiAgICAgIGxldCBwb2ludEN1c3RvbUljb246IGFueSA9IEwubWFya2VyKG1hcmtlckxvY2F0aW9uLCB7XG4gICAgICAgIGljb246IGljb24sXG4gICAgICAgIHJpc2VPbkhvdmVyOiBmYWxzZSxcbiAgICAgIH0pLmFkZFRvKG1hcCk7XG4gICAgICBwb2ludEN1c3RvbUljb24uYmluZFRvb2x0aXAoXG4gICAgICAgIGAke3BvaW50Lmdyb3VwLm5hbWV9ICgke3BvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lfSlgLFxuICAgICAgKTtcbiAgICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fZmV3X2xheWVyX2ljb24nXSA9XG4gICAgICAgIG1hdGNoSWNvblRvUG9pbnQocG9pbnQpLmxlbmd0aCA+IDE7XG4gICAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2luZGV4X29iamVjdCddID0gaW5kZXg7XG4gICAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdF9pZCddID0gcG9pbnQuaWQ7XG4gICAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ1BvaW50JztcbiAgICAgIGlmIChob3ZlcmVkKSBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ1BvaW50SG92ZXJlZCc7XG4gICAgfSk7XG5cbiAgaWYgKHBvaW50LnJlbGF0ZWRFdmVudHNBbW91bnQpIHtcbiAgICBsZXQgcG9pbnRDdXN0b21JY29uID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICAgIGljb246IEwuZGl2SWNvbih7XG4gICAgICAgIGNsYXNzTmFtZTogYFxuICAgICAgICAgICR7XG4gICAgICAgICAgICBwb2ludC5yZWxhdGVkRXZlbnRzQW1vdW50ID49IDEwMFxuICAgICAgICAgICAgICA/ICdjaXJjbGUtZXZlbnRzLWFtb3VudCBjaXJjbGUtZXZlbnRzLWFtb3VudC0tdHJpZGlnaXQnXG4gICAgICAgICAgICAgIDogJ2NpcmNsZS1ldmVudHMtYW1vdW50J1xuICAgICAgICAgIH0gXG4gICAgICAgICAgJHtwb2ludC5yZWxhdGVkRXZlbnRzQW1vdW50ID4gMiA/ICdhbGVydC1jb2xvcicgOiAnJ31cbiAgICAgICAgICAgIGAsXG4gICAgICAgIGh0bWw6IGA8cD4ke3BvaW50LnJlbGF0ZWRFdmVudHNBbW91bnR9PC9wPmAsXG4gICAgICAgIGljb25BbmNob3I6IGV2ZW50c0NvdW50SWNvbihtYXAuX3pvb20pLmljb25BbmNob3IsXG4gICAgICB9KSxcbiAgICAgIHJpc2VPbkhvdmVyOiBmYWxzZSxcbiAgICAgIG9wYWNpdHk6IGhvdmVyZWQgPyAxIDogMCxcbiAgICB9KS5hZGRUbyhtYXApO1xuXG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3RfaWQnXSA9IHBvaW50LmlkO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnSWNvbk51bWJlcic7XG4gICAgaWYgKGhvdmVyZWQpIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnSWNvbk51bWJlckhvdmVyZWQnO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlTWFuaG9sZVBvaW50ID0gKFxuICBtYXJrZXJMb2NhdGlvbjogTGF0TG5nVHVwbGUsXG4gIHBvaW50OiBJUG9pbnQsXG4gIG1hcCxcbiAgaG92ZXJlZD8sXG4pID0+IHtcbiAgbGV0IHBvaW50SWNvbiA9IEwuaWNvbih7XG4gICAgaWNvblVybDogd2hpdGVQb2ludCxcbiAgICBpY29uU2l6ZTogWzksIDldLFxuICAgIGljb25BbmNob3I6IFs0LjUsIDQuNV0sXG4gIH0pO1xuICBsZXQgbWFuaG9sZUljb246IGFueSA9IEwubWFya2VyKG1hcmtlckxvY2F0aW9uLCB7XG4gICAgaWNvbjogcG9pbnRJY29uLFxuICAgIHJpc2VPbkhvdmVyOiB0cnVlLFxuICB9KS5hZGRUbyhtYXApO1xuICBtYW5ob2xlSWNvbi5iaW5kVG9vbHRpcChgJHtwb2ludC5ncm91cC5uYW1lfSAoJHtwb2ludC5ncm91cC5zZWN0b3JfbmFtZX0pYCk7XG4gIG1hbmhvbGVJY29uWydrYW5kb19vYmplY3RfaWQnXSA9IHBvaW50LmlkO1xuICBtYW5ob2xlSWNvblsna2FuZG9fb2JqZWN0J10gPSAnUG9pbnQnO1xuICBtYW5ob2xlSWNvblsna2FuZG9fcG9pbnRfdHlwZSddID0gJ01hbmhvbGUnO1xuICBpZiAoaG92ZXJlZCkgbWFuaG9sZUljb25bJ2thbmRvX29iamVjdCddID0gJ1BvaW50SG92ZXJlZCc7XG59O1xuXG5leHBvcnQgY29uc3QgbWF0Y2hJY29uVG9Qb2ludCA9IChwb2ludDogSVBvaW50LCBldmVudDogSUV2ZW50KSA9PiB7XG4gIHN3aXRjaCAocG9pbnQuZ3JvdXAudHlwZSkge1xuICAgIGNhc2UgJ0dyb3Vwczo6RmFjdG9yeSc6XG4gICAgICBpZiAoY29tYmluZWRGYWN0b3J5SWNvbi5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkpIHtcbiAgICAgICAgICBjb21iaW5lZEZhY3RvcnlJY29uLnVuc2hpZnQoc2VsZWN0ZWRCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9IGVsc2UgaWYgKG1hcmtlckJlbG9uZ3NUb1NvdXJjZShldmVudCwgcG9pbnQpKSB7XG4gICAgICAgICAgY29tYmluZWRGYWN0b3J5SWNvbi51bnNoaWZ0KGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29tYmluZWRGYWN0b3J5SWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29tYmluZWRGYWN0b3J5SWNvbjtcbiAgICBjYXNlICdHcm91cHM6OlB1bXBTdGF0aW9uJzpcbiAgICAgIGlmIChjb21iaW5lZFB1bXBTdGF0aW9uSWNvbi5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkpIHtcbiAgICAgICAgICBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbi51bnNoaWZ0KHNlbGVjdGVkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIGlmIChtYXJrZXJCZWxvbmdzVG9Tb3VyY2UoZXZlbnQsIHBvaW50KSkge1xuICAgICAgICAgIGNvbWJpbmVkUHVtcFN0YXRpb25JY29uLnVuc2hpZnQoYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29tYmluZWRQdW1wU3RhdGlvbkljb247XG4gICAgY2FzZSAnR3JvdXBzOjpXYXN0ZXdhdGVyVHJlYXRtZW50UGxhbnQnOlxuICAgICAgaWYgKGNvbWJpbmVkV1dUUEljb24ubGVuZ3RoID09PSAyKSB7XG4gICAgICAgIGlmIChtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZShldmVudCwgcG9pbnQpKSB7XG4gICAgICAgICAgY29tYmluZWRXV1RQSWNvbi51bnNoaWZ0KHNlbGVjdGVkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIGlmIChtYXJrZXJCZWxvbmdzVG9Tb3VyY2UoZXZlbnQsIHBvaW50KSkge1xuICAgICAgICAgIGNvbWJpbmVkV1dUUEljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbWJpbmVkV1dUUEljb24udW5zaGlmdChzdGFuZGFyZEJhY2tncm91bmQoKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbWJpbmVkV1dUUEljb247XG5cbiAgICBjYXNlICdHcm91cHM6OkNvbGxlY3RvcnMnOlxuICAgICAgaWYgKGlzQ29sbGVjdG9yRm9jdXNlZChwb2ludCwgZXZlbnQpKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgTC5pY29uKHtcbiAgICAgICAgICAgIGljb25Vcmw6IHJlZFBpblJlZFNoYWRvdyxcbiAgICAgICAgICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgICAgICAgICBpY29uQW5jaG9yOiBbMzAsIDUyXSxcbiAgICAgICAgICB9KSxcblxuICAgICAgICAgIEwuaWNvbih7XG4gICAgICAgICAgICBpY29uVXJsOiB3YXRlckljb25Ob0JhY2tncm91bmQsXG4gICAgICAgICAgICBpY29uU2l6ZTogWzAsIDBdLFxuXG4gICAgICAgICAgICBpY29uQW5jaG9yOiBbMjIsIDQ0XSxcbiAgICAgICAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbWJpbmVkQ29sbGVjdG9yc0ljb247XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIG51bGw7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBzdGFuZGFyZEJhY2tncm91bmQgPSAoXG4gIHNlY29uZGFyeTogYm9vbGVhbiA9IGZhbHNlLFxuICB0aGlyZDogYm9vbGVhbiA9IGZhbHNlLFxuKSA9PiB7XG4gIHJldHVybiBMLmljb24oe1xuICAgIGljb25Vcmw6IHdoaXRlUGluQmxhY2tTaGFkb3csXG4gICAgaWNvblNpemU6IHNlY29uZGFyeSA/IFswLCAwXSA6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBzZWNvbmRhcnkgJiYgdGhpcmQgPyBbLTIsIDE5XSA6IHNlY29uZGFyeSA/IFstMiwgNDRdIDogWzIwLCA0Ml0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBjb21iaW5lZEZhY3RvcnlJY29uID0gW1xuICBMLmljb24oe1xuICAgIGljb25Vcmw6IHllbGxvd0NpcmNsZVVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFsxMC43LCAzMy43XSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuICBMLmljb24oe1xuICAgIGljb25Vcmw6IHBsYW50SWNvblVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFs1LCAzMF0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbl07XG5cbmV4cG9ydCBjb25zdCBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbiA9IFtcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiBncmVlbkNpcmNsZVVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFsxMC43LCAzMy43XSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuICBMLmljb24oe1xuICAgIGljb25Vcmw6IHB1bXBTdGF0aW9uSWNvblVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFs3LCAzMl0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbl07XG5cbmV4cG9ydCBjb25zdCBjb21iaW5lZENvbGxlY3RvcnNJY29uID0gW1xuICBMLmljb24oe1xuICAgIGljb25Vcmw6IGNvbGxlY3Rvckljb24sXG4gICAgaWNvblNpemU6IFswLCAwXSxcblxuICAgIGljb25BbmNob3I6IFsyNSwgNTBdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG5dO1xuXG5leHBvcnQgY29uc3QgY29tYmluZWRXV1RQSWNvbiA9IFtcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiBicmlnaHRCbHVlQ2lyY2xlVVJMLFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzEwLjcsIDMzLjddLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG4gIEwuaWNvbih7XG4gICAgaWNvblVybDogV1dUUEljb25VUkwsXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbOCwgMzFdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG5dO1xuXG5leHBvcnQgY29uc3Qgc2VsZWN0ZWRCYWNrZ3JvdW5kID0gKCkgPT4ge1xuICByZXR1cm4gTC5pY29uKHtcbiAgICBpY29uVXJsOiByZWRQaW5SZWRTaGFkb3csXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbMzIsIDU0XSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQgPSAoKSA9PiB7XG4gIHJldHVybiBMLmljb24oe1xuICAgIGljb25Vcmw6IHdoaXRlUGluUmVkU2hhZG93LFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzMyLCA1NF0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZSA9IChldmVudDogSUV2ZW50LCBwb2ludDogSVBvaW50KSA9PiB7XG4gIGxldCBzb3VyY2U7XG5cbiAgaWYgKGV2ZW50ICE9PSBudWxsICYmIGV2ZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICBzb3VyY2UgPSBldmVudC5zb3VyY2VzLmZpbHRlcigoc291cmNlKSA9PiBzb3VyY2UucG9pbnRfaWQgPT09IHBvaW50LmlkKVswXTtcbiAgfVxuXG4gIHJldHVybiBldmVudCAhPT0gbnVsbCAmJiBzb3VyY2UgJiYgZXZlbnQuc2VsZWN0ZWRfc291cmNlID09PSBzb3VyY2UucG9pbnRfaWQ7XG59O1xuXG5leHBvcnQgY29uc3QgbWFya2VyQmVsb25nc1RvU291cmNlID0gKGV2ZW50OiBJRXZlbnQsIHBvaW50OiBJUG9pbnQpID0+IHtcbiAgaWYgKGV2ZW50ID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgcmV0dXJuIChcbiAgICBldmVudCAhPT0gbnVsbCAmJlxuICAgIGV2ZW50LnNvdXJjZXMuZmlsdGVyKChzb3VyY2UpID0+IHNvdXJjZS5wb2ludF9pZCA9PT0gcG9pbnQuaWQpWzBdXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlU2FtcGxpbmdJY29uUG9pbnQgPSAoXG4gIG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSxcbiAgc2Vjb25kYXJ5SWNvbjogYm9vbGVhbixcbiAgbWFwLFxuICBwb2ludDogSVBvaW50LFxuICBldmVudDogSUV2ZW50LFxuICBob3ZlcmVkPyxcbikgPT4ge1xuICAvLyBpY29uU2l6ZTogW3dpZHRoLCBoZWlnaHRdLFxuICAvLyBJY29uIEFuY2hvcjogWygtcmlnaHQpKCtsZWZ0KSwgKC1kb3duKSgrdXApXVxuICBsZXQgc2FtcGxpbmdJY29uID0gW1xuICAgIEwuaWNvbih7XG4gICAgICBpY29uVXJsOiBibHVlQ2lyY2xlVVJMLFxuICAgICAgaWNvblNpemU6IHNlY29uZGFyeUljb24gPyBbMCwgMF0gOiBbMCwgMF0sXG4gICAgICBpY29uQW5jaG9yOiBzZWNvbmRhcnlJY29uID8gWy03LCAxNV0gOiBbMTAuNywgMzMuN10sXG4gICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgfSksXG4gICAgTC5pY29uKHtcbiAgICAgIGljb25Vcmw6IHNhbXBsaW5nSWNvblVSTCxcbiAgICAgIGljb25TaXplOiBzZWNvbmRhcnlJY29uID8gWzAsIDBdIDogWzAsIDBdLFxuICAgICAgaWNvbkFuY2hvcjogc2Vjb25kYXJ5SWNvbiA/IFstOCwgMTNdIDogWzUsIDMwXSxcbiAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICB9KSxcbiAgXTtcblxuICBsZXQgdGhpcmRJY29uID0gZmFsc2U7XG4gIGlmIChtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZShldmVudCwgcG9pbnQpICYmICFzZWNvbmRhcnlJY29uKSB7XG4gICAgc2FtcGxpbmdJY29uLnVuc2hpZnQoc2VsZWN0ZWRCYWNrZ3JvdW5kKCkpO1xuICB9IGVsc2UgaWYgKG1hcmtlckJlbG9uZ3NUb1NvdXJjZShldmVudCwgcG9pbnQpICYmICFzZWNvbmRhcnlJY29uKSB7XG4gICAgc2FtcGxpbmdJY29uLnVuc2hpZnQoYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCgpKTtcbiAgfSBlbHNlIHtcbiAgICB0aGlyZEljb24gPSB0cnVlO1xuICAgIHNhbXBsaW5nSWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZChzZWNvbmRhcnlJY29uLCB0aGlyZEljb24pKTtcbiAgfVxuXG4gIHNhbXBsaW5nSWNvbi5mb3JFYWNoKChpY29uLCBpbmRleCkgPT4ge1xuICAgIGxldCBwb2ludEN1c3RvbUljb246IGFueSA9IEwubWFya2VyKG1hcmtlckxvY2F0aW9uLCB7XG4gICAgICBpY29uOiBpY29uLFxuICAgICAgcmlzZU9uSG92ZXI6IGZhbHNlLFxuICAgIH0pLmFkZFRvKG1hcCk7XG4gICAgcG9pbnRDdXN0b21JY29uLmJpbmRUb29sdGlwKFxuICAgICAgYCR7cG9pbnQuZ3JvdXAubmFtZX0gKCR7cG9pbnQuZ3JvdXAuc2VjdG9yX25hbWV9KWAsXG4gICAgKTtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2luZGV4X29iamVjdCddID0gaW5kZXg7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19mZXdfbGF5ZXJfaWNvbiddID0gdHJ1ZTtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX3NlY29uZGFyeSddID0gdGhpcmRJY29uID8gZmFsc2UgOiBzZWNvbmRhcnlJY29uO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fdGhpcmQnXSA9IHRoaXJkSWNvbjtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdF9pZCddID0gcG9pbnQuaWQ7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdTYW1wbGluZyc7XG4gICAgaWYgKGhvdmVyZWQpIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnU2FtcGxpbmdIb3ZlcmVkJztcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlT2JzZXJ2YXRpb25JY29uUG9pbnQgPSAoXG4gIG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSxcbiAgc2Vjb25kYXJ5SWNvbjogYm9vbGVhbixcbiAgbWFwLFxuICBwb2ludDogSVBvaW50LFxuICBldmVudDogSUV2ZW50LFxuICBob3ZlcmVkPyxcbikgPT4ge1xuICAvLyBpY29uU2l6ZTogW3dpZHRoLCBoZWlnaHRdLFxuICAvLyBJY29uIEFuY2hvcjogWygtcmlnaHQpKCtsZWZ0KSwgKC1kb3duKSgrdXApXVxuICBsZXQgb2JzZXJ2YXRpb25JY29uID0gW1xuICAgIEwuaWNvbih7XG4gICAgICBpY29uVXJsOiBwaW5rQ2lyY2xlVVJMLFxuICAgICAgaWNvblNpemU6IHNlY29uZGFyeUljb24gPyBbMCwgMF0gOiBbMCwgMF0sXG4gICAgICBpY29uQW5jaG9yOiBzZWNvbmRhcnlJY29uID8gWy03LCA0MF0gOiBbMTAuNywgMzMuN10sXG4gICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgfSksXG4gICAgTC5pY29uKHtcbiAgICAgIGljb25Vcmw6IG9ic2VydmF0aW9uSWNvblVSTCxcbiAgICAgIGljb25TaXplOiBzZWNvbmRhcnlJY29uID8gWzAsIDBdIDogWzAsIDBdLFxuICAgICAgaWNvbkFuY2hvcjogc2Vjb25kYXJ5SWNvbiA/IFstOCwgMzhdIDogWzUsIDMwXSxcbiAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICB9KSxcbiAgXTtcblxuICBpZiAobWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UoZXZlbnQsIHBvaW50KSAmJiAhc2Vjb25kYXJ5SWNvbikge1xuICAgIG9ic2VydmF0aW9uSWNvbi51bnNoaWZ0KHNlbGVjdGVkQmFja2dyb3VuZCgpKTtcbiAgfSBlbHNlIGlmIChtYXJrZXJCZWxvbmdzVG9Tb3VyY2UoZXZlbnQsIHBvaW50KSAmJiAhc2Vjb25kYXJ5SWNvbikge1xuICAgIG9ic2VydmF0aW9uSWNvbi51bnNoaWZ0KGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQoKSk7XG4gIH0gZWxzZSB7XG4gICAgb2JzZXJ2YXRpb25JY29uLnVuc2hpZnQoc3RhbmRhcmRCYWNrZ3JvdW5kKHNlY29uZGFyeUljb24pKTtcbiAgfVxuXG4gIG9ic2VydmF0aW9uSWNvbi5mb3JFYWNoKChpY29uLCBpbmRleCkgPT4ge1xuICAgIGxldCBwb2ludEN1c3RvbUljb246IGFueSA9IEwubWFya2VyKG1hcmtlckxvY2F0aW9uLCB7XG4gICAgICBpY29uOiBpY29uLFxuICAgICAgcmlzZU9uSG92ZXI6IGZhbHNlLFxuICAgIH0pLmFkZFRvKG1hcCk7XG4gICAgcG9pbnRDdXN0b21JY29uLmJpbmRUb29sdGlwKFxuICAgICAgYCR7cG9pbnQuZ3JvdXAubmFtZX0gKCR7cG9pbnQuZ3JvdXAuc2VjdG9yX25hbWV9KWAsXG4gICAgKTtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2luZGV4X29iamVjdCddID0gaW5kZXg7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19mZXdfbGF5ZXJfaWNvbiddID0gdHJ1ZTtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX3NlY29uZGFyeSddID0gc2Vjb25kYXJ5SWNvbjtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX3RoaXJkJ10gPSBmYWxzZTtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdF9pZCddID0gcG9pbnQuaWQ7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdPYnNlcnZhdGlvbic7XG4gICAgaWYgKGhvdmVyZWQpIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnT2JzZXJ2YXRpb25Ib3ZlcmVkJztcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlU2FtcGxpbmdJY29ucyA9IChcbiAgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlLFxuICBldmVudDogSUV2ZW50LFxuICBwb2ludDogSVBvaW50LFxuICBtYXAsXG4gIGhvdmVyZWQsXG4pID0+IHtcbiAgbGV0IHNhbXBsZWRQb2ludElkcyA9IGV2ZW50LnNhbXBsaW5ncy5tYXAoKHMpID0+IHMucG9pbnRfaWQpO1xuICBpZiAoXG4gICAgZXZlbnQgIT09IG51bGwgJiZcbiAgICBldmVudC5zYW1wbGluZ3MubGVuZ3RoICE9PSAwICYmXG4gICAgc2FtcGxlZFBvaW50SWRzLmluY2x1ZGVzKHBvaW50LmlkKVxuICApIHtcbiAgICBjcmVhdGVTYW1wbGluZ0ljb25Qb2ludChcbiAgICAgIG1hcmtlckxvY2F0aW9uLFxuICAgICAgbWF0Y2hJY29uVG9Qb2ludChwb2ludCwgZXZlbnQpICE9PSBudWxsLFxuICAgICAgbWFwLFxuICAgICAgcG9pbnQsXG4gICAgICBldmVudCxcbiAgICAgIGhvdmVyZWQsXG4gICAgKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHBvcHVwQ29udGVudCA9IChvYnM6IGFueSwgcG9pbnQ6IElQb2ludCkgPT4ge1xuICBpZiAob2JzID09PSBudWxsKSB7XG4gICAgcmV0dXJuIGBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudC1wb3B1cFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1ncmFwaC1pY29uIHBvcHVwLWdyYXBoLWljb24tJHtwb2ludC5pZH1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCIke0dyYXBoSWNvbn1cIi8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwicG9wdXAtY29udGVudF9fc2l0ZS1uYW1lXCI+PGI+JHtwb2ludC5ncm91cC5uYW1lfTwvYj48L2g1PlxuICAgICAgICAgICAgICAgICAgICA8aHIvPlxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInNlY3RvclwiPjwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBgO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBgXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnQtcG9wdXBcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtZ3JhcGgtaWNvbiBwb3B1cC1ncmFwaC1pY29uLSR7b2JzLmlkfVwiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIiR7R3JhcGhJY29ufVwiLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zaXRlLW5hbWVcIj48Yj4ke1xuICAgICAgICAgICAgICAgICAgICAgIHBvaW50Lmdyb3VwLm5hbWVcbiAgICAgICAgICAgICAgICAgICAgfTwvYj48L2g1PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtY29udGVudF9fc2V2ZXJpdHlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwicG9wdXAtY29udGVudF9fc2V2ZXJpdHktcFwiPiR7aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICBgZXZlbnRzX292ZXJ2aWV3LnNldmVyaXR5YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICl9PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCIke1xuICAgICAgICAgICAgICAgICAgICAgICAgICAncG9wdXAtY29udGVudF9fc2V2ZXJpdHktLScgKyBvYnMuc2V2ZXJpdHlcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YiBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NldmVyaXR5LWJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGV2ZW50c19vdmVydmlldy5zZXZlcml0aWVzLiR7b2JzLnNldmVyaXR5fWAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9iPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIDxociBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX2hyXCIgLz5cblxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtY29udGVudF9fZGlzY2hhcmdlLXRpbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eS1wXCI+JHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZXZlbnRzX292ZXJ2aWV3LmZpcnN0X3NlZW5gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9OjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48YiBpZD1cImZpcnN0LXNlZW4tcG9wdXBcIj48L2I+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwicG9wdXAtY29udGVudF9fc2V2ZXJpdHktcFwiPiR7aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGV2ZW50c19vdmVydmlldy5sYXN0X3NlZW5gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9OjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48YiBpZD1cImxhc3Qtc2Vlbi1wb3B1cFwiPjwvYj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgYDtcbiAgfVxufTtcbiJdfQ==
401
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9wb2ludHMvUG9pbnRVdGlscy50cyJdLCJuYW1lcyI6WyJpc0NvbGxlY3RvckZvY3VzZWQiLCJwb2ludCIsImV2ZW50Iiwib2JzZXJ2YXRpb25zIiwibGVuZ3RoIiwiaWQiLCJwb2ludF9pZCIsImJ1aWxkTWFuaG9sZVRvb3RpcFN0cmluZyIsInN0cmluZyIsImdyb3VwIiwibmFtZSIsInR5cGUiLCJzZWN0b3JfbmFtZSIsImNyZWF0ZUJ1YmJsZVBvaW50IiwibWFya2VyTG9jYXRpb24iLCJtYXAiLCJob3ZlcmVkIiwibWF0Y2hJY29uVG9Qb2ludCIsImZvckVhY2giLCJpY29uIiwiaW5kZXgiLCJwb2ludEN1c3RvbUljb24iLCJMIiwibWFya2VyIiwicmlzZU9uSG92ZXIiLCJhZGRUbyIsImJpbmRUb29sdGlwIiwicmVsYXRlZEV2ZW50c0Ftb3VudCIsImRpdkljb24iLCJjbGFzc05hbWUiLCJodG1sIiwiaWNvbkFuY2hvciIsIl96b29tIiwib3BhY2l0eSIsImNyZWF0ZU1hbmhvbGVQb2ludCIsInBvaW50SWNvbiIsImljb25VcmwiLCJ3aGl0ZVBvaW50IiwiaWNvblNpemUiLCJtYW5ob2xlSWNvbiIsImNvbWJpbmVkRmFjdG9yeUljb24iLCJtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZSIsInVuc2hpZnQiLCJzZWxlY3RlZEJhY2tncm91bmQiLCJtYXJrZXJCZWxvbmdzVG9Tb3VyY2UiLCJiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kIiwic3RhbmRhcmRCYWNrZ3JvdW5kIiwiY29tYmluZWRQdW1wU3RhdGlvbkljb24iLCJjb21iaW5lZFdXVFBJY29uIiwicmVkUGluUmVkU2hhZG93Iiwid2F0ZXJJY29uTm9CYWNrZ3JvdW5kIiwicG9wdXBBbmNob3IiLCJjb21iaW5lZENvbGxlY3RvcnNJY29uIiwic2Vjb25kYXJ5IiwidGhpcmQiLCJ3aGl0ZVBpbkJsYWNrU2hhZG93IiwieWVsbG93Q2lyY2xlVVJMIiwicGxhbnRJY29uVVJMIiwiZ3JlZW5DaXJjbGVVUkwiLCJwdW1wU3RhdGlvbkljb25VUkwiLCJjb2xsZWN0b3JJY29uIiwiYnJpZ2h0Qmx1ZUNpcmNsZVVSTCIsIldXVFBJY29uVVJMIiwid2hpdGVQaW5SZWRTaGFkb3ciLCJzb3VyY2UiLCJ1bmRlZmluZWQiLCJzb3VyY2VzIiwiZmlsdGVyIiwic2VsZWN0ZWRfc291cmNlIiwiY3JlYXRlU2FtcGxpbmdJY29uUG9pbnQiLCJzZWNvbmRhcnlJY29uIiwic2FtcGxpbmdJY29uIiwiYmx1ZUNpcmNsZVVSTCIsInNhbXBsaW5nSWNvblVSTCIsInRoaXJkSWNvbiIsImNyZWF0ZU9ic2VydmF0aW9uSWNvblBvaW50Iiwib2JzZXJ2YXRpb25JY29uIiwicGlua0NpcmNsZVVSTCIsIm9ic2VydmF0aW9uSWNvblVSTCIsImNyZWF0ZVNhbXBsaW5nSWNvbnMiLCJzYW1wbGVkUG9pbnRJZHMiLCJzYW1wbGluZ3MiLCJzIiwiaW5jbHVkZXMiLCJwb3B1cENvbnRlbnQiLCJvYnMiLCJHcmFwaEljb24iLCJpMThuIiwidCIsInNldmVyaXR5Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUNBOztBQUNBOzs7Ozs7Ozs7O0FBT0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVNBOztBQUNBOztBQUVPLElBQU1BLGtCQUFrQixHQUFHLFNBQXJCQSxrQkFBcUIsQ0FBQ0MsS0FBRCxFQUFnQkMsS0FBaEIsRUFBa0M7QUFBQTs7QUFDbEUsU0FDRSxDQUFBQSxLQUFLLFNBQUwsSUFBQUEsS0FBSyxXQUFMLG1DQUFBQSxLQUFLLENBQUVDLFlBQVAsNEVBQXFCQyxNQUFyQixNQUFnQyxDQUFoQyxJQUNBSCxLQUFLLENBQUNJLEVBQU4sS0FBYUgsS0FBSyxDQUFDQyxZQUFOLENBQW1CLENBQW5CLEVBQXNCRyxRQUZyQztBQUlELENBTE07Ozs7QUFPUCxJQUFNQyx3QkFBd0IsR0FBRyxTQUEzQkEsd0JBQTJCLENBQUNOLEtBQUQsRUFBbUI7QUFDbEQsTUFBSU8s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ZkEsWUFBZSxDQUFDQyxHQUFELEVBQVdwRixLQUFYLEVBQTZCO0FBQ3ZELE1BQUlvRixHQUFHLEtBQUssSUFBWixFQUFrQjtBQUNoQiwrSEFFNERwRixLQUFLLENBQUNJLEVBRmxFLGlEQUc0QmlGLGtCQUg1Qix3SkFNMERyRixLQUFLLENBQUNRLEtBQU4sQ0FBWUMsSUFOdEU7QUFhRCxHQWRELE1BY087QUFDTCwrSEFFNEQyRSxHQUFHLENBQUNoRixFQUZoRSxpREFHNEJpRixrQkFINUIsd0pBT2tCckYsS0FBSyxDQUFDUSxLQUFOLENBQVlDLElBUDlCLG9KQVUyRDZFLGNBQUtDLENBQUwsNEJBVjNELHlEQWNzQiw4QkFBOEJILEdBQUcsQ0FBQ0ksUUFkeEQsdUhBaUI4QkYsY0FBS0MsQ0FBTCxzQ0FDOEJILEdBQUcsQ0FBQ0ksUUFEbEMsRUFqQjlCLG1XQTRCK0RGLGNBQUtDLENBQUwsOEJBNUIvRCxnT0FrQytERCxjQUFLQyxDQUFMLDZCQWxDL0Q7QUEyQ0Q7QUFDRixDQTVETSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBHcmFwaEljb24gZnJvbSAnLi4vLi4vLi4vYXNzZXRzL2xpbmUtY2hhcnQuc3ZnJztcbmltcG9ydCBMLCB7IExhdExuZ1R1cGxlIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgaTE4biBmcm9tICcuLi8uLi8uLi91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgYmx1ZUNpcmNsZVVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvYmx1ZS1jaXJjbGUuc3ZnJztcbmltcG9ydCBzYW1wbGluZ0ljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3NhbXBsaW5nLWljb24uc3ZnJztcbmltcG9ydCBwaW5rQ2lyY2xlVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9waW5rLWNpcmNsZS5zdmcnO1xuaW1wb3J0IG9ic2VydmF0aW9uSWNvblVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvb2JzZXJ2YXRpb24taWNvbi5zdmcnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHJlZFBpblJlZFNoYWRvdyBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvcmVkLXBpbi1yZWQtc2hhZG93LnBuZyc7XG5pbXBvcnQgd2hpdGVQaW5SZWRTaGFkb3cgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3doaXRlLXBpbi1yZWQtc2hhZG93LnBuZyc7XG5pbXBvcnQgd2hpdGVQaW5CbGFja1NoYWRvdyBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvd2hpdGUtcGluLWJsYWNrLXNoYWRvdy5wbmcnO1xuaW1wb3J0IHllbGxvd0NpcmNsZVVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMveWVsbG93LWNpcmNsZS5zdmcnO1xuaW1wb3J0IHBsYW50SWNvblVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvZmFjdG9yeS1pY29uLnN2Zyc7XG5pbXBvcnQgZ3JlZW5DaXJjbGVVUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL2dyZWVuLWNpcmNsZS5zdmcnO1xuaW1wb3J0IHB1bXBTdGF0aW9uSWNvblVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvcHVtcC1zdGF0aW9uLWljb24uc3ZnJztcbmltcG9ydCBjb2xsZWN0b3JJY29uIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9tYXAvcGluLXdhdGVyLnN2Zyc7XG5pbXBvcnQgYnJpZ2h0Qmx1ZUNpcmNsZVVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvYnJpZ2h0LWJsdWUtY2lyY2xlLnN2Zyc7XG5pbXBvcnQgV1dUUEljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL1dXVFAtaWNvbi5zdmcnO1xuaW1wb3J0IHdhdGVySWNvbk5vQmFja2dyb3VuZCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvd2F0ZXItbm8tYmFja2dyb3VuZC5zdmcnO1xuaW1wb3J0IHdoaXRlUG9pbnQgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3doaXRlLXBvaW50LnBuZyc7XG5pbXBvcnQgeyBldmVudHNDb3VudEljb24gfSBmcm9tICcuLi9NYXBVdGlscyc7XG5cbmV4cG9ydCBjb25zdCBpc0NvbGxlY3RvckZvY3VzZWQgPSAocG9pbnQ6IElQb2ludCwgZXZlbnQ6IElFdmVudCkgPT4ge1xuICByZXR1cm4gKFxuICAgIGV2ZW50Py5vYnNlcnZhdGlvbnM/Lmxlbmd0aCA9PT0gMSAmJlxuICAgIHBvaW50LmlkID09PSBldmVudC5vYnNlcnZhdGlvbnNbMF0ucG9pbnRfaWRcbiAgKTtcbn07XG5cbmNvbnN0IGJ1aWxkTWFuaG9sZVRvb3RpcFN0cmluZyA9IChwb2ludDogSVBvaW50KSA9PiB7XG4gIGxldCBzdHJpbmcgPSBgJHtwb2ludC5ncm91cC5uYW1lfSBgO1xuXG4gIGlmIChwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpGYWN0b3J5Jykge1xuICAgIHN0cmluZyArPSBgKCR7cG9pbnQuZ3JvdXAuc2VjdG9yX25hbWV9KWA7XG4gIH0gZWxzZSB7XG4gICAgc3RyaW5nID0gYCR7cG9pbnQubmFtZX1gO1xuICB9XG5cbiAgcmV0dXJuIHN0cmluZztcbn07XG5cbi8vIGljb25TaXplOiBbd2lkdGgsIGhlaWdodF0sXG4vLyBJY29uQW5jaG9yOiBbKC1yaWdodCkoK2xlZnQpLCAoLWRvd24pKCt1cCldXG5leHBvcnQgY29uc3QgY3JlYXRlQnViYmxlUG9pbnQgPSAoXG4gIG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSxcbiAgcG9pbnQ6IElQb2ludCxcbiAgbWFwLFxuICBob3ZlcmVkPyxcbikgPT4ge1xuICAvLyBAdHMtaWdub3JlXG4gIG1hdGNoSWNvblRvUG9pbnQocG9pbnQpICE9PSBudWxsICYmXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIG1hdGNoSWNvblRvUG9pbnQocG9pbnQpLmZvckVhY2goKGljb246IGFueSwgaW5kZXgpID0+IHtcbiAgICAgIGxldCBwb2ludEN1c3RvbUljb246IGFueSA9IEwubWFya2VyKG1hcmtlckxvY2F0aW9uLCB7XG4gICAgICAgIGljb246IGljb24sXG4gICAgICAgIHJpc2VPbkhvdmVyOiBmYWxzZSxcbiAgICAgIH0pLmFkZFRvKG1hcCk7XG4gICAgICBwb2ludEN1c3RvbUljb24uYmluZFRvb2x0aXAoYnVpbGRNYW5ob2xlVG9vdGlwU3RyaW5nKHBvaW50KSk7XG4gICAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2Zld19sYXllcl9pY29uJ10gPVxuICAgICAgICBtYXRjaEljb25Ub1BvaW50KHBvaW50KS5sZW5ndGggPiAxO1xuICAgICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19pbmRleF9vYmplY3QnXSA9IGluZGV4O1xuICAgICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3RfaWQnXSA9IHBvaW50LmlkO1xuICAgICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdQb2ludCc7XG4gICAgICBpZiAoaG92ZXJlZCkgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdQb2ludEhvdmVyZWQnO1xuICAgIH0pO1xuXG4gIGlmIChwb2ludC5yZWxhdGVkRXZlbnRzQW1vdW50KSB7XG4gICAgbGV0IHBvaW50Q3VzdG9tSWNvbiA9IEwubWFya2VyKG1hcmtlckxvY2F0aW9uLCB7XG4gICAgICBpY29uOiBMLmRpdkljb24oe1xuICAgICAgICBjbGFzc05hbWU6IGBcbiAgICAgICAgICAke1xuICAgICAgICAgICAgcG9pbnQucmVsYXRlZEV2ZW50c0Ftb3VudCA+PSAxMDBcbiAgICAgICAgICAgICAgPyAnY2lyY2xlLWV2ZW50cy1hbW91bnQgY2lyY2xlLWV2ZW50cy1hbW91bnQtLXRyaWRpZ2l0J1xuICAgICAgICAgICAgICA6ICdjaXJjbGUtZXZlbnRzLWFtb3VudCdcbiAgICAgICAgICB9IFxuICAgICAgICAgICR7cG9pbnQucmVsYXRlZEV2ZW50c0Ftb3VudCA+IDIgPyAnYWxlcnQtY29sb3InIDogJyd9XG4gICAgICAgICAgICBgLFxuICAgICAgICBodG1sOiBgPHA+JHtwb2ludC5yZWxhdGVkRXZlbnRzQW1vdW50fTwvcD5gLFxuICAgICAgICBpY29uQW5jaG9yOiBldmVudHNDb3VudEljb24obWFwLl96b29tKS5pY29uQW5jaG9yLFxuICAgICAgfSksXG4gICAgICByaXNlT25Ib3ZlcjogZmFsc2UsXG4gICAgICBvcGFjaXR5OiBob3ZlcmVkID8gMSA6IDAsXG4gICAgfSkuYWRkVG8obWFwKTtcblxuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ0ljb25OdW1iZXInO1xuICAgIGlmIChob3ZlcmVkKSBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ0ljb25OdW1iZXJIb3ZlcmVkJztcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU1hbmhvbGVQb2ludCA9IChcbiAgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlLFxuICBwb2ludDogSVBvaW50LFxuICBtYXAsXG4gIGhvdmVyZWQ/LFxuKSA9PiB7XG4gIGxldCBwb2ludEljb24gPSBMLmljb24oe1xuICAgIGljb25Vcmw6IHdoaXRlUG9pbnQsXG4gICAgaWNvblNpemU6IFs5LCA5XSxcbiAgICBpY29uQW5jaG9yOiBbNC41LCA0LjVdLFxuICB9KTtcbiAgbGV0IG1hbmhvbGVJY29uOiBhbnkgPSBMLm1hcmtlcihtYXJrZXJMb2NhdGlvbiwge1xuICAgIGljb246IHBvaW50SWNvbixcbiAgICByaXNlT25Ib3ZlcjogdHJ1ZSxcbiAgfSkuYWRkVG8obWFwKTtcbiAgbWFuaG9sZUljb24uYmluZFRvb2x0aXAoYnVpbGRNYW5ob2xlVG9vdGlwU3RyaW5nKHBvaW50KSk7XG4gIG1hbmhvbGVJY29uWydrYW5kb19vYmplY3RfaWQnXSA9IHBvaW50LmlkO1xuICBtYW5ob2xlSWNvblsna2FuZG9fb2JqZWN0J10gPSAnUG9pbnQnO1xuICBtYW5ob2xlSWNvblsna2FuZG9fcG9pbnRfdHlwZSddID0gJ01hbmhvbGUnO1xuICBpZiAoaG92ZXJlZCkgbWFuaG9sZUljb25bJ2thbmRvX29iamVjdCddID0gJ1BvaW50SG92ZXJlZCc7XG59O1xuXG5leHBvcnQgY29uc3QgbWF0Y2hJY29uVG9Qb2ludCA9IChwb2ludDogSVBvaW50LCBldmVudDogSUV2ZW50KSA9PiB7XG4gIHN3aXRjaCAocG9pbnQuZ3JvdXAudHlwZSkge1xuICAgIGNhc2UgJ0dyb3Vwczo6RmFjdG9yeSc6XG4gICAgICBpZiAoY29tYmluZWRGYWN0b3J5SWNvbi5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkpIHtcbiAgICAgICAgICBjb21iaW5lZEZhY3RvcnlJY29uLnVuc2hpZnQoc2VsZWN0ZWRCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9IGVsc2UgaWYgKG1hcmtlckJlbG9uZ3NUb1NvdXJjZShldmVudCwgcG9pbnQpKSB7XG4gICAgICAgICAgY29tYmluZWRGYWN0b3J5SWNvbi51bnNoaWZ0KGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29tYmluZWRGYWN0b3J5SWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29tYmluZWRGYWN0b3J5SWNvbjtcbiAgICBjYXNlICdHcm91cHM6OlB1bXBTdGF0aW9uJzpcbiAgICAgIGlmIChjb21iaW5lZFB1bXBTdGF0aW9uSWNvbi5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkpIHtcbiAgICAgICAgICBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbi51bnNoaWZ0KHNlbGVjdGVkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIGlmIChtYXJrZXJCZWxvbmdzVG9Tb3VyY2UoZXZlbnQsIHBvaW50KSkge1xuICAgICAgICAgIGNvbWJpbmVkUHVtcFN0YXRpb25JY29uLnVuc2hpZnQoYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29tYmluZWRQdW1wU3RhdGlvbkljb247XG4gICAgY2FzZSAnR3JvdXBzOjpXYXN0ZXdhdGVyVHJlYXRtZW50UGxhbnQnOlxuICAgICAgaWYgKGNvbWJpbmVkV1dUUEljb24ubGVuZ3RoID09PSAyKSB7XG4gICAgICAgIGlmIChtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZShldmVudCwgcG9pbnQpKSB7XG4gICAgICAgICAgY29tYmluZWRXV1RQSWNvbi51bnNoaWZ0KHNlbGVjdGVkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIGlmIChtYXJrZXJCZWxvbmdzVG9Tb3VyY2UoZXZlbnQsIHBvaW50KSkge1xuICAgICAgICAgIGNvbWJpbmVkV1dUUEljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbWJpbmVkV1dUUEljb24udW5zaGlmdChzdGFuZGFyZEJhY2tncm91bmQoKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbWJpbmVkV1dUUEljb247XG5cbiAgICBjYXNlICdHcm91cHM6OkNvbGxlY3RvcnMnOlxuICAgICAgaWYgKGlzQ29sbGVjdG9yRm9jdXNlZChwb2ludCwgZXZlbnQpKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgTC5pY29uKHtcbiAgICAgICAgICAgIGljb25Vcmw6IHJlZFBpblJlZFNoYWRvdyxcbiAgICAgICAgICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgICAgICAgICBpY29uQW5jaG9yOiBbMzAsIDUyXSxcbiAgICAgICAgICB9KSxcblxuICAgICAgICAgIEwuaWNvbih7XG4gICAgICAgICAgICBpY29uVXJsOiB3YXRlckljb25Ob0JhY2tncm91bmQsXG4gICAgICAgICAgICBpY29uU2l6ZTogWzAsIDBdLFxuXG4gICAgICAgICAgICBpY29uQW5jaG9yOiBbMjIsIDQ0XSxcbiAgICAgICAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbWJpbmVkQ29sbGVjdG9yc0ljb247XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIG51bGw7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBzdGFuZGFyZEJhY2tncm91bmQgPSAoXG4gIHNlY29uZGFyeTogYm9vbGVhbiA9IGZhbHNlLFxuICB0aGlyZDogYm9vbGVhbiA9IGZhbHNlLFxuKSA9PiB7XG4gIHJldHVybiBMLmljb24oe1xuICAgIGljb25Vcmw6IHdoaXRlUGluQmxhY2tTaGFkb3csXG4gICAgaWNvblNpemU6IHNlY29uZGFyeSA/IFswLCAwXSA6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBzZWNvbmRhcnkgJiYgdGhpcmQgPyBbLTIsIDE5XSA6IHNlY29uZGFyeSA/IFstMiwgNDRdIDogWzIwLCA0Ml0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBjb21iaW5lZEZhY3RvcnlJY29uID0gW1xuICBMLmljb24oe1xuICAgIGljb25Vcmw6IHllbGxvd0NpcmNsZVVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFsxMC43LCAzMy43XSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuICBMLmljb24oe1xuICAgIGljb25Vcmw6IHBsYW50SWNvblVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFs1LCAzMF0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbl07XG5cbmV4cG9ydCBjb25zdCBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbiA9IFtcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiBncmVlbkNpcmNsZVVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFsxMC43LCAzMy43XSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuICBMLmljb24oe1xuICAgIGljb25Vcmw6IHB1bXBTdGF0aW9uSWNvblVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFs3LCAzMl0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbl07XG5cbmV4cG9ydCBjb25zdCBjb21iaW5lZENvbGxlY3RvcnNJY29uID0gW1xuICBMLmljb24oe1xuICAgIGljb25Vcmw6IGNvbGxlY3Rvckljb24sXG4gICAgaWNvblNpemU6IFswLCAwXSxcblxuICAgIGljb25BbmNob3I6IFsyNSwgNTBdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG5dO1xuXG5leHBvcnQgY29uc3QgY29tYmluZWRXV1RQSWNvbiA9IFtcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiBicmlnaHRCbHVlQ2lyY2xlVVJMLFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzEwLjcsIDMzLjddLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG4gIEwuaWNvbih7XG4gICAgaWNvblVybDogV1dUUEljb25VUkwsXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbOCwgMzFdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG5dO1xuXG5leHBvcnQgY29uc3Qgc2VsZWN0ZWRCYWNrZ3JvdW5kID0gKCkgPT4ge1xuICByZXR1cm4gTC5pY29uKHtcbiAgICBpY29uVXJsOiByZWRQaW5SZWRTaGFkb3csXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbMzIsIDU0XSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQgPSAoKSA9PiB7XG4gIHJldHVybiBMLmljb24oe1xuICAgIGljb25Vcmw6IHdoaXRlUGluUmVkU2hhZG93LFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzMyLCA1NF0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZSA9IChldmVudDogSUV2ZW50LCBwb2ludDogSVBvaW50KSA9PiB7XG4gIGxldCBzb3VyY2U7XG5cbiAgaWYgKGV2ZW50ICE9PSBudWxsICYmIGV2ZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICBzb3VyY2UgPSBldmVudC5zb3VyY2VzLmZpbHRlcigoc291cmNlKSA9PiBzb3VyY2UucG9pbnRfaWQgPT09IHBvaW50LmlkKVswXTtcbiAgfVxuXG4gIHJldHVybiBldmVudCAhPT0gbnVsbCAmJiBzb3VyY2UgJiYgZXZlbnQuc2VsZWN0ZWRfc291cmNlID09PSBzb3VyY2UucG9pbnRfaWQ7XG59O1xuXG5leHBvcnQgY29uc3QgbWFya2VyQmVsb25nc1RvU291cmNlID0gKGV2ZW50OiBJRXZlbnQsIHBvaW50OiBJUG9pbnQpID0+IHtcbiAgaWYgKGV2ZW50ID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgcmV0dXJuIChcbiAgICBldmVudCAhPT0gbnVsbCAmJlxuICAgIGV2ZW50LnNvdXJjZXMuZmlsdGVyKChzb3VyY2UpID0+IHNvdXJjZS5wb2ludF9pZCA9PT0gcG9pbnQuaWQpWzBdXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlU2FtcGxpbmdJY29uUG9pbnQgPSAoXG4gIG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSxcbiAgc2Vjb25kYXJ5SWNvbjogYm9vbGVhbixcbiAgbWFwLFxuICBwb2ludDogSVBvaW50LFxuICBldmVudDogSUV2ZW50LFxuICBob3ZlcmVkPyxcbikgPT4ge1xuICAvLyBpY29uU2l6ZTogW3dpZHRoLCBoZWlnaHRdLFxuICAvLyBJY29uIEFuY2hvcjogWygtcmlnaHQpKCtsZWZ0KSwgKC1kb3duKSgrdXApXVxuICBsZXQgc2FtcGxpbmdJY29uID0gW1xuICAgIEwuaWNvbih7XG4gICAgICBpY29uVXJsOiBibHVlQ2lyY2xlVVJMLFxuICAgICAgaWNvblNpemU6IHNlY29uZGFyeUljb24gPyBbMCwgMF0gOiBbMCwgMF0sXG4gICAgICBpY29uQW5jaG9yOiBzZWNvbmRhcnlJY29uID8gWy03LCAxNV0gOiBbMTAuNywgMzMuN10sXG4gICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgfSksXG4gICAgTC5pY29uKHtcbiAgICAgIGljb25Vcmw6IHNhbXBsaW5nSWNvblVSTCxcbiAgICAgIGljb25TaXplOiBzZWNvbmRhcnlJY29uID8gWzAsIDBdIDogWzAsIDBdLFxuICAgICAgaWNvbkFuY2hvcjogc2Vjb25kYXJ5SWNvbiA/IFstOCwgMTNdIDogWzUsIDMwXSxcbiAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICB9KSxcbiAgXTtcblxuICBsZXQgdGhpcmRJY29uID0gZmFsc2U7XG4gIGlmIChtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZShldmVudCwgcG9pbnQpICYmICFzZWNvbmRhcnlJY29uKSB7XG4gICAgc2FtcGxpbmdJY29uLnVuc2hpZnQoc2VsZWN0ZWRCYWNrZ3JvdW5kKCkpO1xuICB9IGVsc2UgaWYgKG1hcmtlckJlbG9uZ3NUb1NvdXJjZShldmVudCwgcG9pbnQpICYmICFzZWNvbmRhcnlJY29uKSB7XG4gICAgc2FtcGxpbmdJY29uLnVuc2hpZnQoYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCgpKTtcbiAgfSBlbHNlIHtcbiAgICB0aGlyZEljb24gPSB0cnVlO1xuICAgIHNhbXBsaW5nSWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZChzZWNvbmRhcnlJY29uLCB0aGlyZEljb24pKTtcbiAgfVxuXG4gIHNhbXBsaW5nSWNvbi5mb3JFYWNoKChpY29uLCBpbmRleCkgPT4ge1xuICAgIGxldCBwb2ludEN1c3RvbUljb246IGFueSA9IEwubWFya2VyKG1hcmtlckxvY2F0aW9uLCB7XG4gICAgICBpY29uOiBpY29uLFxuICAgICAgcmlzZU9uSG92ZXI6IGZhbHNlLFxuICAgIH0pLmFkZFRvKG1hcCk7XG4gICAgcG9pbnRDdXN0b21JY29uLmJpbmRUb29sdGlwKGJ1aWxkTWFuaG9sZVRvb3RpcFN0cmluZyhwb2ludCkpO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9faW5kZXhfb2JqZWN0J10gPSBpbmRleDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2Zld19sYXllcl9pY29uJ10gPSB0cnVlO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fc2Vjb25kYXJ5J10gPSB0aGlyZEljb24gPyBmYWxzZSA6IHNlY29uZGFyeUljb247XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb190aGlyZCddID0gdGhpcmRJY29uO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ1NhbXBsaW5nJztcbiAgICBpZiAoaG92ZXJlZCkgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdTYW1wbGluZ0hvdmVyZWQnO1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVPYnNlcnZhdGlvbkljb25Qb2ludCA9IChcbiAgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlLFxuICBzZWNvbmRhcnlJY29uOiBib29sZWFuLFxuICBtYXAsXG4gIHBvaW50OiBJUG9pbnQsXG4gIGV2ZW50OiBJRXZlbnQsXG4gIGhvdmVyZWQ/LFxuKSA9PiB7XG4gIC8vIGljb25TaXplOiBbd2lkdGgsIGhlaWdodF0sXG4gIC8vIEljb24gQW5jaG9yOiBbKC1yaWdodCkoK2xlZnQpLCAoLWRvd24pKCt1cCldXG4gIGxldCBvYnNlcnZhdGlvbkljb24gPSBbXG4gICAgTC5pY29uKHtcbiAgICAgIGljb25Vcmw6IHBpbmtDaXJjbGVVUkwsXG4gICAgICBpY29uU2l6ZTogc2Vjb25kYXJ5SWNvbiA/IFswLCAwXSA6IFswLCAwXSxcbiAgICAgIGljb25BbmNob3I6IHNlY29uZGFyeUljb24gPyBbLTcsIDQwXSA6IFsxMC43LCAzMy43XSxcbiAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICB9KSxcbiAgICBMLmljb24oe1xuICAgICAgaWNvblVybDogb2JzZXJ2YXRpb25JY29uVVJMLFxuICAgICAgaWNvblNpemU6IHNlY29uZGFyeUljb24gPyBbMCwgMF0gOiBbMCwgMF0sXG4gICAgICBpY29uQW5jaG9yOiBzZWNvbmRhcnlJY29uID8gWy04LCAzOF0gOiBbNSwgMzBdLFxuICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgIH0pLFxuICBdO1xuXG4gIGlmIChtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZShldmVudCwgcG9pbnQpICYmICFzZWNvbmRhcnlJY29uKSB7XG4gICAgb2JzZXJ2YXRpb25JY29uLnVuc2hpZnQoc2VsZWN0ZWRCYWNrZ3JvdW5kKCkpO1xuICB9IGVsc2UgaWYgKG1hcmtlckJlbG9uZ3NUb1NvdXJjZShldmVudCwgcG9pbnQpICYmICFzZWNvbmRhcnlJY29uKSB7XG4gICAgb2JzZXJ2YXRpb25JY29uLnVuc2hpZnQoYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCgpKTtcbiAgfSBlbHNlIHtcbiAgICBvYnNlcnZhdGlvbkljb24udW5zaGlmdChzdGFuZGFyZEJhY2tncm91bmQoc2Vjb25kYXJ5SWNvbikpO1xuICB9XG5cbiAgb2JzZXJ2YXRpb25JY29uLmZvckVhY2goKGljb24sIGluZGV4KSA9PiB7XG4gICAgbGV0IHBvaW50Q3VzdG9tSWNvbjogYW55ID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICAgIGljb246IGljb24sXG4gICAgICByaXNlT25Ib3ZlcjogZmFsc2UsXG4gICAgfSkuYWRkVG8obWFwKTtcbiAgICBwb2ludEN1c3RvbUljb24uYmluZFRvb2x0aXAoYnVpbGRNYW5ob2xlVG9vdGlwU3RyaW5nKHBvaW50KSk7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19pbmRleF9vYmplY3QnXSA9IGluZGV4O1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fZmV3X2xheWVyX2ljb24nXSA9IHRydWU7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19zZWNvbmRhcnknXSA9IHNlY29uZGFyeUljb247XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb190aGlyZCddID0gZmFsc2U7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3RfaWQnXSA9IHBvaW50LmlkO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnT2JzZXJ2YXRpb24nO1xuICAgIGlmIChob3ZlcmVkKSBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ09ic2VydmF0aW9uSG92ZXJlZCc7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVNhbXBsaW5nSWNvbnMgPSAoXG4gIG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSxcbiAgZXZlbnQ6IElFdmVudCxcbiAgcG9pbnQ6IElQb2ludCxcbiAgbWFwLFxuICBob3ZlcmVkLFxuKSA9PiB7XG4gIGxldCBzYW1wbGVkUG9pbnRJZHMgPSBldmVudC5zYW1wbGluZ3MubWFwKChzKSA9PiBzLnBvaW50X2lkKTtcbiAgaWYgKFxuICAgIGV2ZW50ICE9PSBudWxsICYmXG4gICAgZXZlbnQuc2FtcGxpbmdzLmxlbmd0aCAhPT0gMCAmJlxuICAgIHNhbXBsZWRQb2ludElkcy5pbmNsdWRlcyhwb2ludC5pZClcbiAgKSB7XG4gICAgY3JlYXRlU2FtcGxpbmdJY29uUG9pbnQoXG4gICAgICBtYXJrZXJMb2NhdGlvbixcbiAgICAgIG1hdGNoSWNvblRvUG9pbnQocG9pbnQsIGV2ZW50KSAhPT0gbnVsbCxcbiAgICAgIG1hcCxcbiAgICAgIHBvaW50LFxuICAgICAgZXZlbnQsXG4gICAgICBob3ZlcmVkLFxuICAgICk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBwb3B1cENvbnRlbnQgPSAob2JzOiBhbnksIHBvaW50OiBJUG9pbnQpID0+IHtcbiAgaWYgKG9icyA9PT0gbnVsbCkge1xuICAgIHJldHVybiBgXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnQtcG9wdXBcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtZ3JhcGgtaWNvbiBwb3B1cC1ncmFwaC1pY29uLSR7cG9pbnQuaWR9XCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiJHtHcmFwaEljb259XCIvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NpdGUtbmFtZVwiPjxiPiR7cG9pbnQuZ3JvdXAubmFtZX08L2I+PC9oNT5cbiAgICAgICAgICAgICAgICAgICAgPGhyLz5cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJzZWN0b3JcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgYDtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50LXBvcHVwXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLWdyYXBoLWljb24gcG9wdXAtZ3JhcGgtaWNvbi0ke29icy5pZH1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCIke0dyYXBoSWNvbn1cIi8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwicG9wdXAtY29udGVudF9fc2l0ZS1uYW1lXCI+PGI+JHtcbiAgICAgICAgICAgICAgICAgICAgICBwb2ludC5ncm91cC5uYW1lXG4gICAgICAgICAgICAgICAgICAgIH08L2I+PC9oNT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NldmVyaXR5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NldmVyaXR5LXBcIj4ke2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYGV2ZW50c19vdmVydmlldy5zZXZlcml0eWAsXG4gICAgICAgICAgICAgICAgICAgICAgICApfTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiJHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3BvcHVwLWNvbnRlbnRfX3NldmVyaXR5LS0nICsgb2JzLnNldmVyaXR5XG4gICAgICAgICAgICAgICAgICAgICAgICB9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGIgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eS1iXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBldmVudHNfb3ZlcnZpZXcuc2V2ZXJpdGllcy4ke29icy5zZXZlcml0eX1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICA8aHIgY2xhc3M9XCJwb3B1cC1jb250ZW50X19oclwiIC8+XG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX2Rpc2NoYXJnZS10aW1lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwicG9wdXAtY29udGVudF9fc2V2ZXJpdHktcFwiPiR7aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGV2ZW50c19vdmVydmlldy5maXJzdF9zZWVuYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfTo8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PGIgaWQ9XCJmaXJzdC1zZWVuLXBvcHVwXCI+PC9iPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NldmVyaXR5LXBcIj4ke2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBldmVudHNfb3ZlcnZpZXcubGFzdF9zZWVuYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfTo8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PGIgaWQ9XCJsYXN0LXNlZW4tcG9wdXBcIj48L2I+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+ICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIGA7XG4gIH1cbn07XG4iXX0=
@@ -15,12 +15,20 @@ var _LoaderByPercent = require("components/LoaderByPercent/LoaderByPercent");
15
15
 
16
16
  var _downArrow = require("@svgr/webpack?-svgo!../assets/down-arrow.svg");
17
17
 
18
+ var _InfoTooltip = require("ui-kit/InfoTooltip/InfoTooltip");
19
+
18
20
  var PollutedLine = function PollutedLine(_ref) {
19
21
  var color = _ref.color,
20
22
  percent = _ref.percent,
21
23
  title = _ref.title,
22
- up = _ref.up,
23
- upPercent = _ref.upPercent,
24
+ _ref$tooltip = _ref.tooltip,
25
+ tooltip = _ref$tooltip === void 0 ? '' : _ref$tooltip,
26
+ _ref$up = _ref.up,
27
+ up = _ref$up === void 0 ? false : _ref$up,
28
+ _ref$upPercent = _ref.upPercent,
29
+ upPercent = _ref$upPercent === void 0 ? 0 : _ref$upPercent,
30
+ _ref$gradientEnd = _ref.gradientEnd,
31
+ gradientEnd = _ref$gradientEnd === void 0 ? '' : _ref$gradientEnd,
24
32
  _ref$graphBackgroundC = _ref.graphBackgroundColor,
25
33
  graphBackgroundColor = _ref$graphBackgroundC === void 0 ? '#f4f4f4' : _ref$graphBackgroundC,
26
34
  _ref$isValidData = _ref.isValidData,
@@ -33,9 +41,13 @@ var PollutedLine = function PollutedLine(_ref) {
33
41
  className: "title-holder"
34
42
  }, /*#__PURE__*/_react.default.createElement("div", {
35
43
  className: "circle"
36
- }), /*#__PURE__*/_react.default.createElement("div", {
44
+ }), /*#__PURE__*/_react.default.createElement(_InfoTooltip.InfoTooltip, {
45
+ alternateIcon: '',
46
+ padding: false,
47
+ data: tooltip
48
+ }, /*#__PURE__*/_react.default.createElement("div", {
37
49
  className: "title"
38
- }, title)), /*#__PURE__*/_react.default.createElement("div", {
50
+ }, title))), !gradientEnd && /*#__PURE__*/_react.default.createElement("div", {
39
51
  className: "percent-value"
40
52
  }, percent, "%"), /*#__PURE__*/_react.default.createElement("div", {
41
53
  className: "graph-holder"
@@ -43,8 +55,11 @@ var PollutedLine = function PollutedLine(_ref) {
43
55
  percent: percent,
44
56
  color: color,
45
57
  borderRadios: "4px",
46
- background: graphBackgroundColor
47
- })), isValidData && /*#__PURE__*/_react.default.createElement("div", {
58
+ background: graphBackgroundColor,
59
+ gradientEnd: gradientEnd
60
+ })), gradientEnd && /*#__PURE__*/_react.default.createElement("div", {
61
+ className: "percent-value"
62
+ }, percent, "%"), isValidData && /*#__PURE__*/_react.default.createElement("div", {
48
63
  className: "up-down"
49
64
  }, /*#__PURE__*/_react.default.createElement(_downArrow.ReactComponent, {
50
65
  fill: up ? '#1db232' : '#f6004f',
@@ -68,4 +83,4 @@ var Container = _styledComponents.default.div.withConfig({
68
83
  var up = _ref4.up;
69
84
  return up ? '0' : '180deg';
70
85
  });
71
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL1F1YWxpdHlTdW1tYXJ5L1BvbGx1dGVkTGluZS9Qb2xsdXRlZExpbmUudHN4Il0sIm5hbWVzIjpbIlBvbGx1dGVkTGluZSIsImNvbG9yIiwicGVyY2VudCIsInRpdGxlIiwidXAiLCJ1cFBlcmNlbnQiLCJncmFwaEJhY2tncm91bmRDb2xvciIsImlzVmFsaWREYXRhIiwiTWF0aCIsImFicyIsIkNvbnRhaW5lciIsInN0eWxlZCIsImRpdiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7OztBQVlPLElBQU1BLFlBQXlDLEdBQUcsU0FBNUNBLFlBQTRDLE9BUW5EO0FBQUEsTUFQSkMsS0FPSSxRQVBKQSxLQU9JO0FBQUEsTUFOSkMsT0FNSSxRQU5KQSxPQU1JO0FBQUEsTUFMSkMsS0FLSSxRQUxKQSxLQUtJO0FBQUEsTUFKSkMsRUFJSSxRQUpKQSxFQUlJO0FBQUEsTUFISkMsU0FHSSxRQUhKQSxTQUdJO0FBQUEsbUNBRkpDLG9CQUVJO0FBQUEsTUFGSkEsb0JBRUksc0NBRm1CLFNBRW5CO0FBQUEsOEJBREpDLFdBQ0k7QUFBQSxNQURKQSxXQUNJLGlDQURVLElBQ1Y7QUFDSixzQkFDRSw2QkFBQyxTQUFEO0FBQ0UsSUFBQSxLQUFLLEVBQUVOLEtBRFQ7QUFFRSxJQUFBLEVBQUUsRUFBRUcsRUFGTjtBQUdFLElBQUEsb0JBQW9CLEVBQUVFO0FBSHhCLGtCQUtFO0FBQUssSUFBQSxTQUFTLEVBQUM7QUFBZixrQkFDRTtBQUFLLElBQUEsU0FBUyxFQUFDO0FBQWYsSUFERixlQUVFO0FBQUssSUFBQSxTQUFTLEVBQUM7QUFBZixLQUF3QkgsS0FBeEIsQ0FGRixDQUxGLGVBU0U7QUFBSyxJQUFBLFNBQVMsRUFBQztBQUFmLEtBQWdDRCxPQUFoQyxNQVRGLGVBVUU7QUFBSyxJQUFBLFNBQVMsRUFBQztBQUFmLGtCQUNFLDZCQUFDLGdDQUFEO0FBQ0UsSUFBQSxPQUFPLEVBQUVBLE9BRFg7QUFFRSxJQUFBLEtBQUssRUFBRUQsS0FGVDtBQUdFLElBQUEsWUFBWSxFQUFDLEtBSGY7QUFJRSxJQUFBLFVBQVUsRUFBRUs7QUFKZCxJQURGLENBVkYsRUFtQkdDLFdBQVcsaUJBQ1Y7QUFBSyxJQUFBLFNBQVMsRUFBQztBQUFmLGtCQUNFLDZCQUFDLHlCQUFEO0FBQU8sSUFBQSxJQUFJLEVBQUVILEVBQUUsR0FBRyxTQUFILEdBQWUsU0FBOUI7QUFBeUMsSUFBQSxNQUFNLEVBQUMsTUFBaEQ7QUFBdUQsSUFBQSxLQUFLLEVBQUM7QUFBN0QsSUFERixFQUVHSSxJQUFJLENBQUNDLEdBQUwsQ0FBU0osU0FBVCxDQUZILE1BcEJKLENBREY7QUE0QkQsQ0FyQ007Ozs7QUF1Q1AsSUFBTUssU0FBUyxHQUFHQywwQkFBT0MsR0FBVjtBQUFBO0FBQUE7QUFBQSwreUJBa0JXO0FBQUEsTUFBR1gsS0FBSCxTQUFHQSxLQUFIO0FBQUEsU0FBZUEsS0FBZjtBQUFBLENBbEJYLEVBMkNGO0FBQUEsTUFBR0csRUFBSCxTQUFHQSxFQUFIO0FBQUEsU0FBYUEsRUFBRSxHQUFHLFNBQUgsR0FBZSxTQUE5QjtBQUFBLENBM0NFLEVBcURXO0FBQUEsTUFBR0EsRUFBSCxTQUFHQSxFQUFIO0FBQUEsU0FBYUEsRUFBRSxHQUFHLEdBQUgsR0FBUyxRQUF4QjtBQUFBLENBckRYLENBQWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgeyBMb2FkZXJCeVBlcmNlbnQgfSBmcm9tICdzcmMvY29tcG9uZW50cy9Mb2FkZXJCeVBlcmNlbnQvTG9hZGVyQnlQZXJjZW50JztcbmltcG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIEFycm93IH0gZnJvbSAnLi4vYXNzZXRzL2Rvd24tYXJyb3cuc3ZnJztcblxuaW50ZXJmYWNlIFBvbGx1dGVkTGluZVByb3BzIHtcbiAgY29sb3I6IHN0cmluZztcbiAgZ3JhcGhCYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHVwOiBib29sZWFuO1xuICB1cFBlcmNlbnQ6IG51bWJlcjtcbiAgcGVyY2VudDogbnVtYmVyO1xuICBpc1ZhbGlkRGF0YTogYm9vbGVhbjtcbn1cbmV4cG9ydCBjb25zdCBQb2xsdXRlZExpbmU6IFJlYWN0LkZDPFBvbGx1dGVkTGluZVByb3BzPiA9ICh7XG4gIGNvbG9yLFxuICBwZXJjZW50LFxuICB0aXRsZSxcbiAgdXAsXG4gIHVwUGVyY2VudCxcbiAgZ3JhcGhCYWNrZ3JvdW5kQ29sb3IgPSAnI2Y0ZjRmNCcsXG4gIGlzVmFsaWREYXRhID0gdHJ1ZSxcbn0pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8Q29udGFpbmVyXG4gICAgICBjb2xvcj17Y29sb3J9XG4gICAgICB1cD17dXB9XG4gICAgICBncmFwaEJhY2tncm91bmRDb2xvcj17Z3JhcGhCYWNrZ3JvdW5kQ29sb3J9XG4gICAgPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0aXRsZS1ob2xkZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjaXJjbGVcIj48L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0aXRsZVwiPnt0aXRsZX08L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJwZXJjZW50LXZhbHVlXCI+e3BlcmNlbnR9JTwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmFwaC1ob2xkZXJcIj5cbiAgICAgICAgPExvYWRlckJ5UGVyY2VudFxuICAgICAgICAgIHBlcmNlbnQ9e3BlcmNlbnR9XG4gICAgICAgICAgY29sb3I9e2NvbG9yfVxuICAgICAgICAgIGJvcmRlclJhZGlvcz1cIjRweFwiXG4gICAgICAgICAgYmFja2dyb3VuZD17Z3JhcGhCYWNrZ3JvdW5kQ29sb3J9XG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cblxuICAgICAge2lzVmFsaWREYXRhICYmIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ1cC1kb3duXCI+XG4gICAgICAgICAgPEFycm93IGZpbGw9e3VwID8gJyMxZGIyMzInIDogJyNmNjAwNGYnfSBoZWlnaHQ9XCIxMHB4XCIgd2lkdGg9XCI5cHhcIiAvPlxuICAgICAgICAgIHtNYXRoLmFicyh1cFBlcmNlbnQpfSVcbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgIDwvQ29udGFpbmVyPlxuICApO1xufTtcblxuY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdjx7XG4gIGNvbG9yOiBzdHJpbmc7XG4gIGdyYXBoQmFja2dyb3VuZENvbG9yOiBzdHJpbmc7XG4gIHVwOiBib29sZWFuO1xufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gID4gLnRpdGxlLWhvbGRlciB7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICA+IC5jaXJjbGUge1xuICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICB3aWR0aDogN3B4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyBjb2xvciB9KSA9PiBjb2xvcn07XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcblxuICAgICAgW2Rpcj0ncnRsJ10gJiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogdW5zZXQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgPiAucGVyY2VudC12YWx1ZSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgd2lkdGg6IDUlO1xuICB9XG4gID4gLmdyYXBoLWhvbGRlciB7XG4gICAgd2lkdGg6IGNhbGMoOTUlIC0gMTAwcHggLSA0NXB4KTtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBtYXJnaW46IDAgMTNweDtcbiAgfVxuXG4gID4gLnVwLWRvd24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgY29sb3I6ICR7KHsgdXAgfSkgPT4gKHVwID8gJyMxZGIyMzInIDogJyNmNjAwNGYnKX07XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICA+IHN2ZyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgIFtkaXI9J3J0bCddICYge1xuICAgICAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHVuc2V0O1xuICAgICAgfVxuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoJHsoeyB1cCB9KSA9PiAodXAgPyAnMCcgOiAnMTgwZGVnJyl9KTtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSBhbmQgKG1heC13aWR0aDogMTQ1MHB4KSB7XG4gICAgPiAudGl0bGUtaG9sZGVyIHtcbiAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgIH1cblxuICAgID4gLnBlcmNlbnQtdmFsdWUge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cbiAgICA+IC5ncmFwaC1ob2xkZXIge1xuICAgICAgd2lkdGg6IGNhbGMoOTUlIC0gODBweCAtIDQ1cHgpO1xuICAgIH1cblxuICAgID4gLnVwLWRvd24ge1xuICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgfVxuICB9XG5gO1xuIl19
86
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL1F1YWxpdHlTdW1tYXJ5L1BvbGx1dGVkTGluZS9Qb2xsdXRlZExpbmUudHN4Il0sIm5hbWVzIjpbIlBvbGx1dGVkTGluZSIsImNvbG9yIiwicGVyY2VudCIsInRpdGxlIiwidG9vbHRpcCIsInVwIiwidXBQZXJjZW50IiwiZ3JhZGllbnRFbmQiLCJncmFwaEJhY2tncm91bmRDb2xvciIsImlzVmFsaWREYXRhIiwiTWF0aCIsImFicyIsIkNvbnRhaW5lciIsInN0eWxlZCIsImRpdiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7OztBQUVBOztBQWFPLElBQU1BLFlBQXlDLEdBQUcsU0FBNUNBLFlBQTRDLE9BVW5EO0FBQUEsTUFUSkMsS0FTSSxRQVRKQSxLQVNJO0FBQUEsTUFSSkMsT0FRSSxRQVJKQSxPQVFJO0FBQUEsTUFQSkMsS0FPSSxRQVBKQSxLQU9JO0FBQUEsMEJBTkpDLE9BTUk7QUFBQSxNQU5KQSxPQU1JLDZCQU5NLEVBTU47QUFBQSxxQkFMSkMsRUFLSTtBQUFBLE1BTEpBLEVBS0ksd0JBTEMsS0FLRDtBQUFBLDRCQUpKQyxTQUlJO0FBQUEsTUFKSkEsU0FJSSwrQkFKUSxDQUlSO0FBQUEsOEJBSEpDLFdBR0k7QUFBQSxNQUhKQSxXQUdJLGlDQUhVLEVBR1Y7QUFBQSxtQ0FGSkMsb0JBRUk7QUFBQSxNQUZKQSxvQkFFSSxzQ0FGbUIsU0FFbkI7QUFBQSw4QkFESkMsV0FDSTtBQUFBLE1BREpBLFdBQ0ksaUNBRFUsSUFDVjtBQUNKLHNCQUNFLDZCQUFDLFNBQUQ7QUFDRSxJQUFBLEtBQUssRUFBRVIsS0FEVDtBQUVFLElBQUEsRUFBRSxFQUFFSSxFQUZOO0FBR0UsSUFBQSxvQkFBb0IsRUFBRUc7QUFIeEIsa0JBS0U7QUFBSyxJQUFBLFNBQVMsRUFBQztBQUFmLGtCQUNFO0FBQUssSUFBQSxTQUFTLEVBQUM7QUFBZixJQURGLGVBRUUsNkJBQUMsd0JBQUQ7QUFBYSxJQUFBLGFBQWEsRUFBRSxFQUE1QjtBQUFnQyxJQUFBLE9BQU8sRUFBRSxLQUF6QztBQUFnRCxJQUFBLElBQUksRUFBRUo7QUFBdEQsa0JBQ0U7QUFBSyxJQUFBLFNBQVMsRUFBQztBQUFmLEtBQXdCRCxLQUF4QixDQURGLENBRkYsQ0FMRixFQVdHLENBQUNJLFdBQUQsaUJBQWdCO0FBQUssSUFBQSxTQUFTLEVBQUM7QUFBZixLQUFnQ0wsT0FBaEMsTUFYbkIsZUFZRTtBQUFLLElBQUEsU0FBUyxFQUFDO0FBQWYsa0JBQ0UsNkJBQUMsZ0NBQUQ7QUFDRSxJQUFBLE9BQU8sRUFBRUEsT0FEWDtBQUVFLElBQUEsS0FBSyxFQUFFRCxLQUZUO0FBR0UsSUFBQSxZQUFZLEVBQUMsS0FIZjtBQUlFLElBQUEsVUFBVSxFQUFFTyxvQkFKZDtBQUtFLElBQUEsV0FBVyxFQUFFRDtBQUxmLElBREYsQ0FaRixFQXFCR0EsV0FBVyxpQkFBSTtBQUFLLElBQUEsU0FBUyxFQUFDO0FBQWYsS0FBZ0NMLE9BQWhDLE1BckJsQixFQXVCR08sV0FBVyxpQkFDVjtBQUFLLElBQUEsU0FBUyxFQUFDO0FBQWYsa0JBQ0UsNkJBQUMseUJBQUQ7QUFBTyxJQUFBLElBQUksRUFBRUosRUFBRSxHQUFHLFNBQUgsR0FBZSxTQUE5QjtBQUF5QyxJQUFBLE1BQU0sRUFBQyxNQUFoRDtBQUF1RCxJQUFBLEtBQUssRUFBQztBQUE3RCxJQURGLEVBRUdLLElBQUksQ0FBQ0MsR0FBTCxDQUFTTCxTQUFULENBRkgsTUF4QkosQ0FERjtBQWdDRCxDQTNDTTs7OztBQTZDUCxJQUFNTSxTQUFTLEdBQUdDLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLCt5QkFrQlc7QUFBQSxNQUFHYixLQUFILFNBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFmO0FBQUEsQ0FsQlgsRUEyQ0Y7QUFBQSxNQUFHSSxFQUFILFNBQUdBLEVBQUg7QUFBQSxTQUFhQSxFQUFFLEdBQUcsU0FBSCxHQUFlLFNBQTlCO0FBQUEsQ0EzQ0UsRUFxRFc7QUFBQSxNQUFHQSxFQUFILFNBQUdBLEVBQUg7QUFBQSxTQUFhQSxFQUFFLEdBQUcsR0FBSCxHQUFTLFFBQXhCO0FBQUEsQ0FyRFgsQ0FBZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IExvYWRlckJ5UGVyY2VudCB9IGZyb20gJ3NyYy9jb21wb25lbnRzL0xvYWRlckJ5UGVyY2VudC9Mb2FkZXJCeVBlcmNlbnQnO1xuaW1wb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgQXJyb3cgfSBmcm9tICcuLi9hc3NldHMvZG93bi1hcnJvdy5zdmcnO1xuaW1wb3J0IHsgSW5mb1Rvb2x0aXAgfSBmcm9tICdzcmMvdWkta2l0L0luZm9Ub29sdGlwL0luZm9Ub29sdGlwJztcblxuaW50ZXJmYWNlIFBvbGx1dGVkTGluZVByb3BzIHtcbiAgY29sb3I6IHN0cmluZztcbiAgZ3JhcGhCYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gIGdyYWRpZW50RW5kPzogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICB1cD86IGJvb2xlYW47XG4gIHVwUGVyY2VudD86IG51bWJlcjtcbiAgcGVyY2VudDogbnVtYmVyO1xuICBpc1ZhbGlkRGF0YTogYm9vbGVhbjtcbiAgdG9vbHRpcD86IHN0cmluZztcbn1cbmV4cG9ydCBjb25zdCBQb2xsdXRlZExpbmU6IFJlYWN0LkZDPFBvbGx1dGVkTGluZVByb3BzPiA9ICh7XG4gIGNvbG9yLFxuICBwZXJjZW50LFxuICB0aXRsZSxcbiAgdG9vbHRpcCA9ICcnLFxuICB1cCA9IGZhbHNlLFxuICB1cFBlcmNlbnQgPSAwLFxuICBncmFkaWVudEVuZCA9ICcnLFxuICBncmFwaEJhY2tncm91bmRDb2xvciA9ICcjZjRmNGY0JyxcbiAgaXNWYWxpZERhdGEgPSB0cnVlLFxufSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxDb250YWluZXJcbiAgICAgIGNvbG9yPXtjb2xvcn1cbiAgICAgIHVwPXt1cH1cbiAgICAgIGdyYXBoQmFja2dyb3VuZENvbG9yPXtncmFwaEJhY2tncm91bmRDb2xvcn1cbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInRpdGxlLWhvbGRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNpcmNsZVwiPjwvZGl2PlxuICAgICAgICA8SW5mb1Rvb2x0aXAgYWx0ZXJuYXRlSWNvbj17Jyd9IHBhZGRpbmc9e2ZhbHNlfSBkYXRhPXt0b29sdGlwfT5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRpdGxlXCI+e3RpdGxlfTwvZGl2PlxuICAgICAgICA8L0luZm9Ub29sdGlwPlxuICAgICAgPC9kaXY+XG4gICAgICB7IWdyYWRpZW50RW5kICYmIDxkaXYgY2xhc3NOYW1lPVwicGVyY2VudC12YWx1ZVwiPntwZXJjZW50fSU8L2Rpdj59XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyYXBoLWhvbGRlclwiPlxuICAgICAgICA8TG9hZGVyQnlQZXJjZW50XG4gICAgICAgICAgcGVyY2VudD17cGVyY2VudH1cbiAgICAgICAgICBjb2xvcj17Y29sb3J9XG4gICAgICAgICAgYm9yZGVyUmFkaW9zPVwiNHB4XCJcbiAgICAgICAgICBiYWNrZ3JvdW5kPXtncmFwaEJhY2tncm91bmRDb2xvcn1cbiAgICAgICAgICBncmFkaWVudEVuZD17Z3JhZGllbnRFbmR9XG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIHtncmFkaWVudEVuZCAmJiA8ZGl2IGNsYXNzTmFtZT1cInBlcmNlbnQtdmFsdWVcIj57cGVyY2VudH0lPC9kaXY+fVxuXG4gICAgICB7aXNWYWxpZERhdGEgJiYgKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInVwLWRvd25cIj5cbiAgICAgICAgICA8QXJyb3cgZmlsbD17dXAgPyAnIzFkYjIzMicgOiAnI2Y2MDA0Zid9IGhlaWdodD1cIjEwcHhcIiB3aWR0aD1cIjlweFwiIC8+XG4gICAgICAgICAge01hdGguYWJzKHVwUGVyY2VudCl9JVxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG4gICAgPC9Db250YWluZXI+XG4gICk7XG59O1xuXG5jb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2PHtcbiAgY29sb3I6IHN0cmluZztcbiAgZ3JhcGhCYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcbiAgdXA6IGJvb2xlYW47XG59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgPiAudGl0bGUtaG9sZGVyIHtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgID4gLmNpcmNsZSB7XG4gICAgICBoZWlnaHQ6IDdweDtcbiAgICAgIHdpZHRoOiA3cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IGNvbG9yIH0pID0+IGNvbG9yfTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuXG4gICAgICBbZGlyPSdydGwnXSAmIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiB1bnNldDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICA+IC5wZXJjZW50LXZhbHVlIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB3aWR0aDogNSU7XG4gIH1cbiAgPiAuZ3JhcGgtaG9sZGVyIHtcbiAgICB3aWR0aDogY2FsYyg5NSUgLSAxMDBweCAtIDQ1cHgpO1xuICAgIGhlaWdodDogOHB4O1xuICAgIG1hcmdpbjogMCAxM3B4O1xuICB9XG5cbiAgPiAudXAtZG93biB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogNDBweDtcbiAgICBjb2xvcjogJHsoeyB1cCB9KSA9PiAodXAgPyAnIzFkYjIzMicgOiAnI2Y2MDA0ZicpfTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgID4gc3ZnIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgICAgW2Rpcj0ncnRsJ10gJiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogdW5zZXQ7XG4gICAgICB9XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgkeyh7IHVwIH0pID0+ICh1cCA/ICcwJyA6ICcxODBkZWcnKX0pO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIGFuZCAobWF4LXdpZHRoOiAxNDUwcHgpIHtcbiAgICA+IC50aXRsZS1ob2xkZXIge1xuICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxuXG4gICAgPiAucGVyY2VudC12YWx1ZSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxuICAgID4gLmdyYXBoLWhvbGRlciB7XG4gICAgICB3aWR0aDogY2FsYyg5NSUgLSA4MHB4IC0gNDVweCk7XG4gICAgfVxuXG4gICAgPiAudXAtZG93biB7XG4gICAgICB3aWR0aDogMzVweDtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICB9XG4gIH1cbmA7XG4iXX0=
@@ -75,7 +75,7 @@ var DischargeHeatmapContainer = function DischargeHeatmapContainer(_ref) {
75
75
  state = _useState2[0],
76
76
  setState = _useState2[1];
77
77
 
78
- var _useApiWithDashboardQ = (0, _useApiWithDashboardQuery.useApiWithDashboardQuery)("/points/".concat(pointId, "/discharge_pattern_overtime.json}")),
78
+ var _useApiWithDashboardQ = (0, _useApiWithDashboardQuery.useApiWithDashboardQuery)("/points/".concat(pointId, "/discharge_pattern_overtime.json")),
79
79
  _useApiWithDashboardQ2 = (0, _slicedToArray2.default)(_useApiWithDashboardQ, 3),
80
80
  response = _useApiWithDashboardQ2[0],
81
81
  isLoading = _useApiWithDashboardQ2[1],
@@ -109,4 +109,4 @@ var DischargeHeatmapContainer = function DischargeHeatmapContainer(_ref) {
109
109
 
110
110
  var _default = DischargeHeatmapContainer;
111
111
  exports.default = _default;
112
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0Rpc2NoYXJnZUhlYXRtYXAvRGlzY2hhcmdlSGVhdG1hcENvbnRhaW5lci50c3giXSwibmFtZXMiOlsiRGlzY2hhcmdlSGVhdG1hcENvbnRhaW5lciIsInBvaW50SWQiLCJpc1Nob3dpbmdUaXRsZXMiLCJsaXN0QnlXZWVrU3RhcnQiLCJpc1N0YXJ0T25TdW5kYXkiLCJsaXN0Iiwic2xpY2UiLCJ3ZWVrRGF5c0xpc3QiLCJpMThuIiwidCIsImFiYnJXZWVrRGF5c0xpc3QiLCJjYWxjT3JkZXJlZFdlZWtEYXlzIiwiaXNXZWVrU3RhcnRPblN1bmRheSIsIndlZWtEYXlzIiwiYWJicldlZWtEYXlzIiwibWFwIiwic2hvcnQiLCJpbmRleCIsImZ1bGwiLCJpbml0aWFsU3RhdGUiLCJkYXRhIiwic3RhdGUiLCJzZXRTdGF0ZSIsInJlc3BvbnNlIiwiaXNMb2FkaW5nIiwiZXJyb3IiLCJ0aXRsZXMiLCJoZWFkX3RpdGxlIiwic3ViX3RpdGxlIiwiaXNfd2Vla19zdGFydF9vbl9zdW5kYXkiLCJmaWx0ZXIiLCJCb29sZWFuIiwibG9hZGVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOzs7Ozs7QUFPQSxJQUFNQSx5QkFBeUIsR0FBRyxTQUE1QkEseUJBQTRCLE9BR3BCO0FBQUEsTUFGWkMsT0FFWSxRQUZaQSxPQUVZO0FBQUEsa0NBRFpDLGVBQ1k7QUFBQSxNQURaQSxlQUNZLHFDQURNLElBQ047O0FBQ1osTUFBTUMsZUFBZSxHQUFHLFNBQWxCQSxlQUFrQixDQUFDQyxlQUFELEVBQWtCQyxJQUFsQixFQUEyQjtBQUNqRCxRQUFJRCxlQUFKLEVBQXFCO0FBQ25CLGFBQU9DLElBQVA7QUFDRDs7QUFFRCxzREFBV0EsSUFBSSxDQUFDQyxLQUFMLENBQVcsQ0FBWCxDQUFYLElBQTBCRCxJQUFJLENBQUMsQ0FBRCxDQUE5QjtBQUNELEdBTkQ7O0FBUUEsTUFBTUUsWUFBc0IsR0FBR0MsY0FBS0MsQ0FBTCxDQUFPLGdCQUFQLENBQS9COztBQUNBLE1BQU1DLGdCQUEwQixHQUFHRixjQUFLQyxDQUFMLENBQU8scUJBQVAsQ0FBbkMsQ0FWWSxDQVlaO0FBQ0E7QUFDQTs7O0FBQ0EsTUFBTUUsbUJBQW1CLEdBQUcsU0FBdEJBLG1CQUFzQixHQUFpQztBQUFBLFFBQWhDQyxtQkFBZ0MsdUVBQVYsS0FBVTtBQUMzRCxRQUFJQyxRQUFRLEdBQUdWLGVBQWUsQ0FBQ1MsbUJBQUQsRUFBc0JMLFlBQXRCLENBQTlCO0FBQ0EsUUFBSU8sWUFBWSxHQUFHWCxlQUFlLENBQUNTLG1CQUFELEVBQXNCRixnQkFBdEIsQ0FBbEM7QUFFQSxXQUFPQSxnQkFBZ0IsQ0FBQ0ssR0FBakIsQ0FBcUIsVUFBQ0MsS0FBRCxFQUFRQyxLQUFSLEVBQWtCO0FBQzVDLGFBQU87QUFDTEQsUUFBQUEsS0FBSyxFQUFFRixZQUFZLENBQUNHLEtBQUQsQ0FEZDtBQUVMQyxRQUFBQSxJQUFJLEVBQUVMLFFBQVEsQ0FBQ0ksS0FBRDtBQUZULE9BQVA7QUFJRCxLQUxNLENBQVA7QUFNRCxHQVZEOztBQVlBLE1BQU1FLFlBR0wsR0FBRztBQUNGTixJQUFBQSxRQUFRLEVBQUUsRUFEUjtBQUVGTyxJQUFBQSxJQUFJLEVBQUU7QUFGSixHQUhKOztBQU9BLGtCQUEwQixxQkFBU0QsWUFBVCxDQUExQjtBQUFBO0FBQUEsTUFBT0UsS0FBUDtBQUFBLE1BQWNDLFFBQWQ7O0FBQ0EsOEJBQXFDLDBFQUN4QnJCLE9BRHdCLHVDQUFyQztBQUFBO0FBQUEsTUFBT3NCLFFBQVA7QUFBQSxNQUFpQkMsU0FBakI7QUFBQSxNQUE0QkMsS0FBNUI7O0FBSUEsTUFBTUMsTUFBTSxHQUFHLENBQUN4QixlQUFELEdBQW1CLEVBQW5CLEdBQXdCO0FBQUV5QixJQUFBQSxVQUFVLEVBQVZBLGtCQUFGO0FBQWNDLElBQUFBLFNBQVMsRUFBVEE7QUFBZCxHQUF2QztBQUVBLHdCQUFVLFlBQU07QUFDZCxRQUFJTCxRQUFKLEVBQWM7QUFBQTs7QUFDWkQsTUFBQUEsUUFBUSxDQUFDO0FBQ1BULFFBQUFBLFFBQVEsRUFBRUYsbUJBQW1CLENBQUNZLFFBQUQsYUFBQ0EsUUFBRCx5Q0FBQ0EsUUFBUSxDQUFFSCxJQUFYLG1EQUFDLGVBQWdCUyx1QkFBakIsQ0FEdEI7QUFFUFQsUUFBQUEsSUFBSSxFQUFFRyxRQUFGLGFBQUVBLFFBQUYsMENBQUVBLFFBQVEsQ0FBRUgsSUFBWixvREFBRSxnQkFBZ0JBLElBQWhCLENBQXFCVSxNQUFyQixDQUE0QkMsT0FBNUI7QUFGQyxPQUFELENBQVI7QUFJRDtBQUNGLEdBUEQsRUFPRyxDQUFDUixRQUFELENBUEg7QUFTQSxzQkFDRSw2QkFBQyx5QkFBRDtBQUFrQixJQUFBLFFBQVEsRUFBRUYsS0FBSyxDQUFDUixRQUFsQztBQUE0QyxJQUFBLElBQUksRUFBRVEsS0FBSyxDQUFDRDtBQUF4RCxpRUFFT00sTUFGUDtBQUdJTSxJQUFBQSxNQUFNLEVBQUVSLFNBQVMsSUFBSSxDQUFDQyxLQUFkLGlCQUNOLDZCQUFDLHdCQUFEO0FBQVcsTUFBQSxNQUFNLEVBQUMsVUFBbEI7QUFBNkIsTUFBQSxPQUFPLEVBQUMsU0FBckM7QUFBK0MsTUFBQSxPQUFPLEVBQUM7QUFBdkQ7QUFKTixLQURGO0FBVUQsQ0EvREQ7O2VBaUVlekIseUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUFwaVdpdGhEYXNoYm9hcmRRdWVyeSB9IGZyb20gJ3NyYy9ob29rcy91c2VBcGlXaXRoRGFzaGJvYXJkUXVlcnknO1xuaW1wb3J0IGkxOG4gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IERpc2NoYXJnZUhlYXRtYXAgZnJvbSAnLi9EaXNjaGFyZ2VIZWF0bWFwJztcbmltcG9ydCAnLi9zdHlsZXMuc2Nzcyc7XG5pbXBvcnQgeyBoZWFkX3RpdGxlLCBzdWJfdGl0bGUgfSBmcm9tICcuL3RpdGxlcyc7XG5pbXBvcnQgeyBJV2Vla0RheSB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgUm93TG9hZGVyIH0gZnJvbSAnLi4vQ29udGVudExvYWRlcic7XG5cbnR5cGUgSVByb3BzID0ge1xuICBwb2ludElkOiBudW1iZXIgfCBudWxsO1xuICBpc1dlZWtTdGFydE9uU3VuZGF5PzogYm9vbGVhbjtcbiAgaXNTaG93aW5nVGl0bGVzPzogYm9vbGVhbjtcbn07XG5jb25zdCBEaXNjaGFyZ2VIZWF0bWFwQ29udGFpbmVyID0gKHtcbiAgcG9pbnRJZCxcbiAgaXNTaG93aW5nVGl0bGVzID0gdHJ1ZSxcbn06IElQcm9wcykgPT4ge1xuICBjb25zdCBsaXN0QnlXZWVrU3RhcnQgPSAoaXNTdGFydE9uU3VuZGF5LCBsaXN0KSA9PiB7XG4gICAgaWYgKGlzU3RhcnRPblN1bmRheSkge1xuICAgICAgcmV0dXJuIGxpc3Q7XG4gICAgfVxuXG4gICAgcmV0dXJuIFsuLi5saXN0LnNsaWNlKDEpLCBsaXN0WzBdXTtcbiAgfTtcblxuICBjb25zdCB3ZWVrRGF5c0xpc3Q6IHN0cmluZ1tdID0gaTE4bi50KCdkYXRlLmRheV9uYW1lcycpO1xuICBjb25zdCBhYmJyV2Vla0RheXNMaXN0OiBzdHJpbmdbXSA9IGkxOG4udCgnZGF0ZS5hYmJyX2RheV9uYW1lcycpO1xuXG4gIC8vIFdlJ3JlIGFkZGluZyBhbiBvZmZzZXQgb2YgMSBkYXkgdG8gdGhlIHdlZWtzIHRoYXQgc3RhcnQgb24gU3VuZGF5XG4gIC8vIGluIG9yZGVyIHRvIHJlZmxlY3QgY29ycmVjdGx5IHRoZSBmYWN0IHRoYXQgdGhlIGRhdGEgcmV0dXJuZWQgZnJvbSB0aGUgc2VydmVyXG4gIC8vIGFsd2F5cyBzdGFydHMgZnJvbSB0aGUgZmlyc3QgZGF5IG9mIHdlZWsgKElzcmFlbCA9PiBTdW5kYXksIG90aGVyIGNvdW50cmllcyA9PiBNb25kYXkpLlxuICBjb25zdCBjYWxjT3JkZXJlZFdlZWtEYXlzID0gKGlzV2Vla1N0YXJ0T25TdW5kYXkgPSBmYWxzZSkgPT4ge1xuICAgIGxldCB3ZWVrRGF5cyA9IGxpc3RCeVdlZWtTdGFydChpc1dlZWtTdGFydE9uU3VuZGF5LCB3ZWVrRGF5c0xpc3QpO1xuICAgIGxldCBhYmJyV2Vla0RheXMgPSBsaXN0QnlXZWVrU3RhcnQoaXNXZWVrU3RhcnRPblN1bmRheSwgYWJicldlZWtEYXlzTGlzdCk7XG5cbiAgICByZXR1cm4gYWJicldlZWtEYXlzTGlzdC5tYXAoKHNob3J0LCBpbmRleCkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc2hvcnQ6IGFiYnJXZWVrRGF5c1tpbmRleF0sXG4gICAgICAgIGZ1bGw6IHdlZWtEYXlzW2luZGV4XSxcbiAgICAgIH07XG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgaW5pdGlhbFN0YXRlOiB7XG4gICAgd2Vla0RheXM6IElXZWVrRGF5W107XG4gICAgZGF0YTogYW55W107XG4gIH0gPSB7XG4gICAgd2Vla0RheXM6IFtdLFxuICAgIGRhdGE6IFtdLFxuICB9O1xuICBjb25zdCBbc3RhdGUsIHNldFN0YXRlXSA9IHVzZVN0YXRlKGluaXRpYWxTdGF0ZSk7XG4gIGNvbnN0IFtyZXNwb25zZSwgaXNMb2FkaW5nLCBlcnJvcl0gPSB1c2VBcGlXaXRoRGFzaGJvYXJkUXVlcnk8YW55PihcbiAgICBgL3BvaW50cy8ke3BvaW50SWR9L2Rpc2NoYXJnZV9wYXR0ZXJuX292ZXJ0aW1lLmpzb259YCxcbiAgKTtcblxuICBjb25zdCB0aXRsZXMgPSAhaXNTaG93aW5nVGl0bGVzID8ge30gOiB7IGhlYWRfdGl0bGUsIHN1Yl90aXRsZSB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHJlc3BvbnNlKSB7XG4gICAgICBzZXRTdGF0ZSh7XG4gICAgICAgIHdlZWtEYXlzOiBjYWxjT3JkZXJlZFdlZWtEYXlzKHJlc3BvbnNlPy5kYXRhPy5pc193ZWVrX3N0YXJ0X29uX3N1bmRheSksXG4gICAgICAgIGRhdGE6IHJlc3BvbnNlPy5kYXRhPy5kYXRhLmZpbHRlcihCb29sZWFuKSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW3Jlc3BvbnNlXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8RGlzY2hhcmdlSGVhdG1hcCB3ZWVrRGF5cz17c3RhdGUud2Vla0RheXN9IGRhdGE9e3N0YXRlLmRhdGF9PlxuICAgICAge3tcbiAgICAgICAgLi4udGl0bGVzLFxuICAgICAgICBsb2FkZXI6IGlzTG9hZGluZyAmJiAhZXJyb3IgJiYgKFxuICAgICAgICAgIDxSb3dMb2FkZXIgbWFyZ2luPVwiMjZweCAwIDBcIiBiZ0NvbG9yPVwiI2YyZjJmMlwiIGZnQ29sb3I9XCIjZmZmXCIgLz5cbiAgICAgICAgKSxcbiAgICAgIH19XG4gICAgPC9EaXNjaGFyZ2VIZWF0bWFwPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGlzY2hhcmdlSGVhdG1hcENvbnRhaW5lcjtcbiJdfQ==
112
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0Rpc2NoYXJnZUhlYXRtYXAvRGlzY2hhcmdlSGVhdG1hcENvbnRhaW5lci50c3giXSwibmFtZXMiOlsiRGlzY2hhcmdlSGVhdG1hcENvbnRhaW5lciIsInBvaW50SWQiLCJpc1Nob3dpbmdUaXRsZXMiLCJsaXN0QnlXZWVrU3RhcnQiLCJpc1N0YXJ0T25TdW5kYXkiLCJsaXN0Iiwic2xpY2UiLCJ3ZWVrRGF5c0xpc3QiLCJpMThuIiwidCIsImFiYnJXZWVrRGF5c0xpc3QiLCJjYWxjT3JkZXJlZFdlZWtEYXlzIiwiaXNXZWVrU3RhcnRPblN1bmRheSIsIndlZWtEYXlzIiwiYWJicldlZWtEYXlzIiwibWFwIiwic2hvcnQiLCJpbmRleCIsImZ1bGwiLCJpbml0aWFsU3RhdGUiLCJkYXRhIiwic3RhdGUiLCJzZXRTdGF0ZSIsInJlc3BvbnNlIiwiaXNMb2FkaW5nIiwiZXJyb3IiLCJ0aXRsZXMiLCJoZWFkX3RpdGxlIiwic3ViX3RpdGxlIiwiaXNfd2Vla19zdGFydF9vbl9zdW5kYXkiLCJmaWx0ZXIiLCJCb29sZWFuIiwibG9hZGVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOzs7Ozs7QUFPQSxJQUFNQSx5QkFBeUIsR0FBRyxTQUE1QkEseUJBQTRCLE9BR3BCO0FBQUEsTUFGWkMsT0FFWSxRQUZaQSxPQUVZO0FBQUEsa0NBRFpDLGVBQ1k7QUFBQSxNQURaQSxlQUNZLHFDQURNLElBQ047O0FBQ1osTUFBTUMsZUFBZSxHQUFHLFNBQWxCQSxlQUFrQixDQUFDQyxlQUFELEVBQWtCQyxJQUFsQixFQUEyQjtBQUNqRCxRQUFJRCxlQUFKLEVBQXFCO0FBQ25CLGFBQU9DLElBQVA7QUFDRDs7QUFFRCxzREFBV0EsSUFBSSxDQUFDQyxLQUFMLENBQVcsQ0FBWCxDQUFYLElBQTBCRCxJQUFJLENBQUMsQ0FBRCxDQUE5QjtBQUNELEdBTkQ7O0FBUUEsTUFBTUUsWUFBc0IsR0FBR0MsY0FBS0MsQ0FBTCxDQUFPLGdCQUFQLENBQS9COztBQUNBLE1BQU1DLGdCQUEwQixHQUFHRixjQUFLQyxDQUFMLENBQU8scUJBQVAsQ0FBbkMsQ0FWWSxDQVlaO0FBQ0E7QUFDQTs7O0FBQ0EsTUFBTUUsbUJBQW1CLEdBQUcsU0FBdEJBLG1CQUFzQixHQUFpQztBQUFBLFFBQWhDQyxtQkFBZ0MsdUVBQVYsS0FBVTtBQUMzRCxRQUFJQyxRQUFRLEdBQUdWLGVBQWUsQ0FBQ1MsbUJBQUQsRUFBc0JMLFlBQXRCLENBQTlCO0FBQ0EsUUFBSU8sWUFBWSxHQUFHWCxlQUFlLENBQUNTLG1CQUFELEVBQXNCRixnQkFBdEIsQ0FBbEM7QUFFQSxXQUFPQSxnQkFBZ0IsQ0FBQ0ssR0FBakIsQ0FBcUIsVUFBQ0MsS0FBRCxFQUFRQyxLQUFSLEVBQWtCO0FBQzVDLGFBQU87QUFDTEQsUUFBQUEsS0FBSyxFQUFFRixZQUFZLENBQUNHLEtBQUQsQ0FEZDtBQUVMQyxRQUFBQSxJQUFJLEVBQUVMLFFBQVEsQ0FBQ0ksS0FBRDtBQUZULE9BQVA7QUFJRCxLQUxNLENBQVA7QUFNRCxHQVZEOztBQVlBLE1BQU1FLFlBR0wsR0FBRztBQUNGTixJQUFBQSxRQUFRLEVBQUUsRUFEUjtBQUVGTyxJQUFBQSxJQUFJLEVBQUU7QUFGSixHQUhKOztBQU9BLGtCQUEwQixxQkFBU0QsWUFBVCxDQUExQjtBQUFBO0FBQUEsTUFBT0UsS0FBUDtBQUFBLE1BQWNDLFFBQWQ7O0FBQ0EsOEJBQXFDLDBFQUN4QnJCLE9BRHdCLHNDQUFyQztBQUFBO0FBQUEsTUFBT3NCLFFBQVA7QUFBQSxNQUFpQkMsU0FBakI7QUFBQSxNQUE0QkMsS0FBNUI7O0FBSUEsTUFBTUMsTUFBTSxHQUFHLENBQUN4QixlQUFELEdBQW1CLEVBQW5CLEdBQXdCO0FBQUV5QixJQUFBQSxVQUFVLEVBQVZBLGtCQUFGO0FBQWNDLElBQUFBLFNBQVMsRUFBVEE7QUFBZCxHQUF2QztBQUVBLHdCQUFVLFlBQU07QUFDZCxRQUFJTCxRQUFKLEVBQWM7QUFBQTs7QUFDWkQsTUFBQUEsUUFBUSxDQUFDO0FBQ1BULFFBQUFBLFFBQVEsRUFBRUYsbUJBQW1CLENBQUNZLFFBQUQsYUFBQ0EsUUFBRCx5Q0FBQ0EsUUFBUSxDQUFFSCxJQUFYLG1EQUFDLGVBQWdCUyx1QkFBakIsQ0FEdEI7QUFFUFQsUUFBQUEsSUFBSSxFQUFFRyxRQUFGLGFBQUVBLFFBQUYsMENBQUVBLFFBQVEsQ0FBRUgsSUFBWixvREFBRSxnQkFBZ0JBLElBQWhCLENBQXFCVSxNQUFyQixDQUE0QkMsT0FBNUI7QUFGQyxPQUFELENBQVI7QUFJRDtBQUNGLEdBUEQsRUFPRyxDQUFDUixRQUFELENBUEg7QUFTQSxzQkFDRSw2QkFBQyx5QkFBRDtBQUFrQixJQUFBLFFBQVEsRUFBRUYsS0FBSyxDQUFDUixRQUFsQztBQUE0QyxJQUFBLElBQUksRUFBRVEsS0FBSyxDQUFDRDtBQUF4RCxpRUFFT00sTUFGUDtBQUdJTSxJQUFBQSxNQUFNLEVBQUVSLFNBQVMsSUFBSSxDQUFDQyxLQUFkLGlCQUNOLDZCQUFDLHdCQUFEO0FBQVcsTUFBQSxNQUFNLEVBQUMsVUFBbEI7QUFBNkIsTUFBQSxPQUFPLEVBQUMsU0FBckM7QUFBK0MsTUFBQSxPQUFPLEVBQUM7QUFBdkQ7QUFKTixLQURGO0FBVUQsQ0EvREQ7O2VBaUVlekIseUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUFwaVdpdGhEYXNoYm9hcmRRdWVyeSB9IGZyb20gJ3NyYy9ob29rcy91c2VBcGlXaXRoRGFzaGJvYXJkUXVlcnknO1xuaW1wb3J0IGkxOG4gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IERpc2NoYXJnZUhlYXRtYXAgZnJvbSAnLi9EaXNjaGFyZ2VIZWF0bWFwJztcbmltcG9ydCAnLi9zdHlsZXMuc2Nzcyc7XG5pbXBvcnQgeyBoZWFkX3RpdGxlLCBzdWJfdGl0bGUgfSBmcm9tICcuL3RpdGxlcyc7XG5pbXBvcnQgeyBJV2Vla0RheSB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgUm93TG9hZGVyIH0gZnJvbSAnLi4vQ29udGVudExvYWRlcic7XG5cbnR5cGUgSVByb3BzID0ge1xuICBwb2ludElkOiBudW1iZXIgfCBudWxsO1xuICBpc1dlZWtTdGFydE9uU3VuZGF5PzogYm9vbGVhbjtcbiAgaXNTaG93aW5nVGl0bGVzPzogYm9vbGVhbjtcbn07XG5jb25zdCBEaXNjaGFyZ2VIZWF0bWFwQ29udGFpbmVyID0gKHtcbiAgcG9pbnRJZCxcbiAgaXNTaG93aW5nVGl0bGVzID0gdHJ1ZSxcbn06IElQcm9wcykgPT4ge1xuICBjb25zdCBsaXN0QnlXZWVrU3RhcnQgPSAoaXNTdGFydE9uU3VuZGF5LCBsaXN0KSA9PiB7XG4gICAgaWYgKGlzU3RhcnRPblN1bmRheSkge1xuICAgICAgcmV0dXJuIGxpc3Q7XG4gICAgfVxuXG4gICAgcmV0dXJuIFsuLi5saXN0LnNsaWNlKDEpLCBsaXN0WzBdXTtcbiAgfTtcblxuICBjb25zdCB3ZWVrRGF5c0xpc3Q6IHN0cmluZ1tdID0gaTE4bi50KCdkYXRlLmRheV9uYW1lcycpO1xuICBjb25zdCBhYmJyV2Vla0RheXNMaXN0OiBzdHJpbmdbXSA9IGkxOG4udCgnZGF0ZS5hYmJyX2RheV9uYW1lcycpO1xuXG4gIC8vIFdlJ3JlIGFkZGluZyBhbiBvZmZzZXQgb2YgMSBkYXkgdG8gdGhlIHdlZWtzIHRoYXQgc3RhcnQgb24gU3VuZGF5XG4gIC8vIGluIG9yZGVyIHRvIHJlZmxlY3QgY29ycmVjdGx5IHRoZSBmYWN0IHRoYXQgdGhlIGRhdGEgcmV0dXJuZWQgZnJvbSB0aGUgc2VydmVyXG4gIC8vIGFsd2F5cyBzdGFydHMgZnJvbSB0aGUgZmlyc3QgZGF5IG9mIHdlZWsgKElzcmFlbCA9PiBTdW5kYXksIG90aGVyIGNvdW50cmllcyA9PiBNb25kYXkpLlxuICBjb25zdCBjYWxjT3JkZXJlZFdlZWtEYXlzID0gKGlzV2Vla1N0YXJ0T25TdW5kYXkgPSBmYWxzZSkgPT4ge1xuICAgIGxldCB3ZWVrRGF5cyA9IGxpc3RCeVdlZWtTdGFydChpc1dlZWtTdGFydE9uU3VuZGF5LCB3ZWVrRGF5c0xpc3QpO1xuICAgIGxldCBhYmJyV2Vla0RheXMgPSBsaXN0QnlXZWVrU3RhcnQoaXNXZWVrU3RhcnRPblN1bmRheSwgYWJicldlZWtEYXlzTGlzdCk7XG5cbiAgICByZXR1cm4gYWJicldlZWtEYXlzTGlzdC5tYXAoKHNob3J0LCBpbmRleCkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc2hvcnQ6IGFiYnJXZWVrRGF5c1tpbmRleF0sXG4gICAgICAgIGZ1bGw6IHdlZWtEYXlzW2luZGV4XSxcbiAgICAgIH07XG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgaW5pdGlhbFN0YXRlOiB7XG4gICAgd2Vla0RheXM6IElXZWVrRGF5W107XG4gICAgZGF0YTogYW55W107XG4gIH0gPSB7XG4gICAgd2Vla0RheXM6IFtdLFxuICAgIGRhdGE6IFtdLFxuICB9O1xuICBjb25zdCBbc3RhdGUsIHNldFN0YXRlXSA9IHVzZVN0YXRlKGluaXRpYWxTdGF0ZSk7XG4gIGNvbnN0IFtyZXNwb25zZSwgaXNMb2FkaW5nLCBlcnJvcl0gPSB1c2VBcGlXaXRoRGFzaGJvYXJkUXVlcnk8YW55PihcbiAgICBgL3BvaW50cy8ke3BvaW50SWR9L2Rpc2NoYXJnZV9wYXR0ZXJuX292ZXJ0aW1lLmpzb25gLFxuICApO1xuXG4gIGNvbnN0IHRpdGxlcyA9ICFpc1Nob3dpbmdUaXRsZXMgPyB7fSA6IHsgaGVhZF90aXRsZSwgc3ViX3RpdGxlIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocmVzcG9uc2UpIHtcbiAgICAgIHNldFN0YXRlKHtcbiAgICAgICAgd2Vla0RheXM6IGNhbGNPcmRlcmVkV2Vla0RheXMocmVzcG9uc2U/LmRhdGE/LmlzX3dlZWtfc3RhcnRfb25fc3VuZGF5KSxcbiAgICAgICAgZGF0YTogcmVzcG9uc2U/LmRhdGE/LmRhdGEuZmlsdGVyKEJvb2xlYW4pLFxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbcmVzcG9uc2VdKTtcblxuICByZXR1cm4gKFxuICAgIDxEaXNjaGFyZ2VIZWF0bWFwIHdlZWtEYXlzPXtzdGF0ZS53ZWVrRGF5c30gZGF0YT17c3RhdGUuZGF0YX0+XG4gICAgICB7e1xuICAgICAgICAuLi50aXRsZXMsXG4gICAgICAgIGxvYWRlcjogaXNMb2FkaW5nICYmICFlcnJvciAmJiAoXG4gICAgICAgICAgPFJvd0xvYWRlciBtYXJnaW49XCIyNnB4IDAgMFwiIGJnQ29sb3I9XCIjZjJmMmYyXCIgZmdDb2xvcj1cIiNmZmZcIiAvPlxuICAgICAgICApLFxuICAgICAgfX1cbiAgICA8L0Rpc2NoYXJnZUhlYXRtYXA+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBEaXNjaGFyZ2VIZWF0bWFwQ29udGFpbmVyO1xuIl19