@kando-env/kando-ui 1.2.300-alpha.8 → 1.2.300-alpha.9

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.
@@ -343,7 +343,7 @@ var setIcon = function setIcon(element, clicked, point) {
343
343
  element.setIcon((0, _PointIcon.getPointIconByType)(point.group.type, point.name, point.group.sector_name, clicked, false));
344
344
  };
345
345
  var calculateWaterConsumption = function calculateWaterConsumption(flow_rate_unit, waterConsumption) {
346
- return flow_rate_unit === 'm3d' ? waterConsumption.toFixed(0) : waterConsumption > 0 ? (waterConsumption / 3785.4118).toFixed(3) : 0;
346
+ return flow_rate_unit === 'm3d' ? waterConsumption.toFixed(0) : waterConsumption > 0 ? (waterConsumption * 264.172).toFixed(3) : 0;
347
347
  };
348
348
  exports.calculateWaterConsumption = calculateWaterConsumption;
349
349
  var translateFlowRate = function translateFlowRate(flow_rate_unit) {
@@ -398,4 +398,4 @@ var addLayerGroup = function addLayerGroup(map, layerGroup) {
398
398
  }
399
399
  };
400
400
  exports.addLayerGroup = addLayerGroup;
401
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2kxOG4iLCJfYmx1ZUNpcmNsZSIsIl9zYW1wbGluZ0ljb24iLCJfcGlua0NpcmNsZSIsIl9vYnNlcnZhdGlvbkljb24iLCJfcmVkUGluUmVkU2hhZG93IiwiX3doaXRlUGluUmVkU2hhZG93IiwiX3doaXRlUGluQmxhY2tTaGFkb3ciLCJfeWVsbG93Q2lyY2xlIiwiX2ZhY3RvcnlJY29uIiwiX2dyZWVuQ2lyY2xlIiwiX3B1bXBTdGF0aW9uSWNvbiIsIl9waW5XYXRlciIsIl9icmlnaHRCbHVlQ2lyY2xlIiwiX1dXVFBJY29uIiwiX3dhdGVyTm9CYWNrZ3JvdW5kIiwiX3doaXRlUG9pbnQiLCJfTWFwVXRpbHMiLCJfUG9pbnRJY29uIiwiX3dhdGVyX3JldXNlIiwiX3V0aWxzIiwiaXNDb2xsZWN0b3JGb2N1c2VkIiwicG9pbnQiLCJldmVudCIsIl9ldmVudCRvYnNlcnZhdGlvbnMiLCJvYnNlcnZhdGlvbnMiLCJsZW5ndGgiLCJpZCIsInBvaW50X2lkIiwiZXhwb3J0cyIsImJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmciLCJzdHJpbmciLCJjb25jYXQiLCJncm91cCIsIm5hbWUiLCJ0eXBlIiwic2VjdG9yX25hbWUiLCJ3YXRlcl9jb25zdW1wdGlvbl9wZXJfZGF5IiwiYnViYmxlRm9yV1dUUCIsImFyZ3MiLCJwb2ludEN1c3RvbUljb24iLCJMIiwibWFya2VyIiwibWFya2VyTG9jYXRpb24iLCJpY29uIiwiZ2V0UG9pbnRJY29uQnlUeXBlIiwicmlzZU9uSG92ZXIiLCJjcmVhdGVCdWJibGVQb2ludCIsIm1hcCIsImhvdmVyZWQiLCJsYXllckdyb3VwIiwiZmxvd19yYXRlX3VuaXQiLCJoYW5kbGVDbGljayIsInN1YnRpdGxlIiwiYWRkTGF5ZXIiLCJiaW5kUG9wdXBUb01hcmtlciIsImhhbmRsZU1hcmtlckNsaWNrIiwicmVsYXRlZEV2ZW50c0Ftb3VudCIsImRpdkljb24iLCJjbGFzc05hbWUiLCJodG1sIiwiaWNvbkFuY2hvciIsImV2ZW50c0NvdW50SWNvbiIsIl96b29tIiwib3BhY2l0eSIsImNyZWF0ZU1hbmhvbGVQb2ludCIsInBvaW50SWNvbiIsIkljb24iLCJpY29uVXJsIiwid2hpdGVQb2ludCIsImljb25TaXplIiwibWFuaG9sZUljb24iLCJNYXJrZXIiLCJiaW5kVG9vbHRpcCIsIm1hdGNoSWNvblRvUG9pbnQiLCJjb21iaW5lZEZhY3RvcnlJY29uIiwibWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UiLCJ1bnNoaWZ0Iiwic2VsZWN0ZWRCYWNrZ3JvdW5kIiwibWFya2VyQmVsb25nc1RvU291cmNlIiwiYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCIsInN0YW5kYXJkQmFja2dyb3VuZCIsImNvbWJpbmVkUHVtcFN0YXRpb25JY29uIiwiY29tYmluZWRXV1RQSWNvbiIsInJlZFBpblJlZFNoYWRvdyIsIndhdGVySWNvbk5vQmFja2dyb3VuZCIsInBvcHVwQW5jaG9yIiwiY29tYmluZWRDb2xsZWN0b3JzSWNvbiIsInNlY29uZGFyeSIsImFyZ3VtZW50cyIsInVuZGVmaW5lZCIsInRoaXJkIiwid2hpdGVQaW5CbGFja1NoYWRvdyIsInllbGxvd0NpcmNsZVVSTCIsInBsYW50SWNvblVSTCIsImdyZWVuQ2lyY2xlVVJMIiwicHVtcFN0YXRpb25JY29uVVJMIiwiY29sbGVjdG9ySWNvbiIsImJyaWdodEJsdWVDaXJjbGVVUkwiLCJXV1RQSWNvblVSTCIsIndoaXRlUGluUmVkU2hhZG93Iiwic291cmNlIiwic291cmNlcyIsImZpbHRlciIsInNlbGVjdGVkX3NvdXJjZSIsImNyZWF0ZVNhbXBsaW5nSWNvblBvaW50Iiwic2Vjb25kYXJ5SWNvbiIsInNhbXBsaW5nSWNvbiIsImJsdWVDaXJjbGVVUkwiLCJzYW1wbGluZ0ljb25VUkwiLCJ0aGlyZEljb24iLCJmb3JFYWNoIiwiaW5kZXgiLCJjcmVhdGVPYnNlcnZhdGlvbkljb25Qb2ludCIsIm9ic2VydmF0aW9uSWNvbiIsInBpbmtDaXJjbGVVUkwiLCJvYnNlcnZhdGlvbkljb25VUkwiLCJjcmVhdGVTYW1wbGluZ0ljb25zIiwic2FtcGxlZFBvaW50SWRzIiwic2FtcGxpbmdzIiwicyIsImluY2x1ZGVzIiwicG9wdXBDb250ZW50Iiwib2JzIiwiR3JhcGhJY29uIiwiaTE4biIsInQiLCJzZXZlcml0eSIsInNldEljb24iLCJlbGVtZW50IiwiY2xpY2tlZCIsImNhbGN1bGF0ZVdhdGVyQ29uc3VtcHRpb24iLCJ3YXRlckNvbnN1bXB0aW9uIiwidG9GaXhlZCIsInRyYW5zbGF0ZUZsb3dSYXRlIiwib24iLCJjbG9zZVBvcHVwIiwia2FuZG9fb2JqZWN0X2lkIiwic2VuZEFuYWx5dGljc0V2ZW50IiwicG9pbnRfbmFtZSIsImNvbnRlbnQiLCJ3YXRlclJldXNlSWNvbiIsImJpbmRQb3B1cCIsIm1pbldpZHRoIiwibWF4V2lkdGgiLCJjbG9zZUJ1dHRvbiIsInJlbW92ZUxheWVyR3JvdXAiLCJoYXNMYXllciIsInJlbW92ZUxheWVyIiwiYWRkTGF5ZXJHcm91cCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9wb2ludHMvUG9pbnRVdGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgR3JhcGhJY29uIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9saW5lLWNoYXJ0LnN2Zyc7XG5pbXBvcnQgTCwgeyBMYXRMbmdUdXBsZSB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IGkxOG4gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IGJsdWVDaXJjbGVVUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL2JsdWUtY2lyY2xlLnN2Zyc7XG5pbXBvcnQgc2FtcGxpbmdJY29uVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9zYW1wbGluZy1pY29uLnN2Zyc7XG5pbXBvcnQgcGlua0NpcmNsZVVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvcGluay1jaXJjbGUuc3ZnJztcbmltcG9ydCBvYnNlcnZhdGlvbkljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL29ic2VydmF0aW9uLWljb24uc3ZnJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCByZWRQaW5SZWRTaGFkb3cgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3JlZC1waW4tcmVkLXNoYWRvdy5wbmcnO1xuaW1wb3J0IHdoaXRlUGluUmVkU2hhZG93IGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy93aGl0ZS1waW4tcmVkLXNoYWRvdy5wbmcnO1xuaW1wb3J0IHdoaXRlUGluQmxhY2tTaGFkb3cgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3doaXRlLXBpbi1ibGFjay1zaGFkb3cucG5nJztcbmltcG9ydCB5ZWxsb3dDaXJjbGVVUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3llbGxvdy1jaXJjbGUuc3ZnJztcbmltcG9ydCBwbGFudEljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL2ZhY3RvcnktaWNvbi5zdmcnO1xuaW1wb3J0IGdyZWVuQ2lyY2xlVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9ncmVlbi1jaXJjbGUuc3ZnJztcbmltcG9ydCBwdW1wU3RhdGlvbkljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3B1bXAtc3RhdGlvbi1pY29uLnN2Zyc7XG5pbXBvcnQgY29sbGVjdG9ySWNvbiBmcm9tICcuLi8uLi8uLi9hc3NldHMvbWFwL3Bpbi13YXRlci5zdmcnO1xuaW1wb3J0IGJyaWdodEJsdWVDaXJjbGVVUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL2JyaWdodC1ibHVlLWNpcmNsZS5zdmcnO1xuaW1wb3J0IFdXVFBJY29uVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9XV1RQLWljb24uc3ZnJztcbmltcG9ydCB3YXRlckljb25Ob0JhY2tncm91bmQgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3dhdGVyLW5vLWJhY2tncm91bmQuc3ZnJztcbmltcG9ydCB3aGl0ZVBvaW50IGZyb20gJy4uLy4uLy4uL2Fzc2V0cy93aGl0ZS1wb2ludC5wbmcnO1xuaW1wb3J0IHsgZXZlbnRzQ291bnRJY29uIH0gZnJvbSAnLi4vTWFwVXRpbHMnO1xuaW1wb3J0IHsgZ2V0UG9pbnRJY29uQnlUeXBlIH0gZnJvbSAnLi9Qb2ludEljb24nO1xuaW1wb3J0IHdhdGVyUmV1c2VJY29uIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9pY29ucy93YXRlcl9yZXVzZS5zdmcnO1xuaW1wb3J0IHsgc2VuZEFuYWx5dGljc0V2ZW50IH0gZnJvbSAnc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC91dGlscyc7XG5cbmV4cG9ydCBjb25zdCBpc0NvbGxlY3RvckZvY3VzZWQgPSAocG9pbnQ6IElQb2ludCwgZXZlbnQ6IElFdmVudCkgPT4ge1xuICByZXR1cm4gKFxuICAgIGV2ZW50Py5vYnNlcnZhdGlvbnM/Lmxlbmd0aCA9PT0gMSAmJlxuICAgIHBvaW50LmlkID09PSBldmVudC5vYnNlcnZhdGlvbnNbMF0ucG9pbnRfaWRcbiAgKTtcbn07XG5cbmNvbnN0IGJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmcgPSAocG9pbnQ6IElQb2ludCkgPT4ge1xuICBsZXQgc3RyaW5nID0gYCR7cG9pbnQuZ3JvdXAubmFtZX0gYDtcblxuICBpZiAocG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6RmFjdG9yeScpIHtcbiAgICBzdHJpbmcgKz0gYDxici8+U2VjdG9yOiAke3BvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lfWA7XG4gICAgc3RyaW5nICs9IGA8YnIvPldhdGVyIENvbnN1bXB0aW9uOiAke3BvaW50Lmdyb3VwLndhdGVyX2NvbnN1bXB0aW9uX3Blcl9kYXl9YDtcbiAgfSBlbHNlIHtcbiAgICBzdHJpbmcgPSBgJHtwb2ludC5uYW1lfWA7XG4gIH1cblxuICByZXR1cm4gc3RyaW5nO1xufTtcblxuZXhwb3J0IGNvbnN0IGJ1YmJsZUZvcldXVFAgPSAoYXJncykgPT4ge1xuICBsZXQgcG9pbnRDdXN0b21JY29uOiBMLk1hcmtlciA9IEwubWFya2VyKGFyZ3MubWFya2VyTG9jYXRpb24sIHtcbiAgICBpY29uOiBnZXRQb2ludEljb25CeVR5cGUoXG4gICAgICBhcmdzLnBvaW50Lmdyb3VwLnR5cGUsXG4gICAgICBhcmdzLnBvaW50Lm5hbWUsXG4gICAgICAnJyxcbiAgICAgIGZhbHNlLFxuICAgICAgZmFsc2UsXG4gICAgKSxcbiAgICByaXNlT25Ib3ZlcjogZmFsc2UsXG4gIH0pO1xuXG4gIHJldHVybiBwb2ludEN1c3RvbUljb247XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlQnViYmxlUG9pbnQgPSAoXG4gIG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSxcbiAgcG9pbnQ6IElQb2ludCxcbiAgbWFwLFxuICBob3ZlcmVkPyxcbiAgbGF5ZXJHcm91cD8sXG4gIGZsb3dfcmF0ZV91bml0PyxcbiAgaGFuZGxlQ2xpY2s/LFxuKSA9PiB7XG4gIGNvbnN0IHN1YnRpdGxlID1cbiAgICBwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpGYWN0b3J5JyA/IHBvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lIDogJyc7XG4gIGxldCBwb2ludEN1c3RvbUljb246IEwuTWFya2VyID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICBpY29uOiBnZXRQb2ludEljb25CeVR5cGUoXG4gICAgICBwb2ludC5ncm91cC50eXBlLFxuICAgICAgcG9pbnQubmFtZSxcbiAgICAgIHN1YnRpdGxlLFxuICAgICAgZmFsc2UsXG4gICAgICBmYWxzZSxcbiAgICApLFxuICAgIHJpc2VPbkhvdmVyOiBmYWxzZSxcbiAgfSk7XG4gIC8vIEB0cy1pZ25vcmVcbiAgLy8gcG9pbnRDdXN0b21JY29uLmJpbmRUb29sdGlwKGJ1aWxkTWFuaG9sZVRvb3RpcFN0cmluZyhwb2ludCkpO1xuICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdF9pZCddID0gcG9pbnQuaWQ7XG4gIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnUG9pbnQnO1xuICBpZiAoaG92ZXJlZCkgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdQb2ludEhvdmVyZWQnO1xuXG4gIGxheWVyR3JvdXAuYWRkTGF5ZXIocG9pbnRDdXN0b21JY29uKTtcbiAgaWYgKHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6OkZhY3RvcnknKSB7XG4gICAgYmluZFBvcHVwVG9NYXJrZXIocG9pbnQsIHBvaW50Q3VzdG9tSWNvbiwgZmxvd19yYXRlX3VuaXQpO1xuICB9XG5cbiAgaGFuZGxlTWFya2VyQ2xpY2sobWFwLCBwb2ludCwgcG9pbnRDdXN0b21JY29uLCBoYW5kbGVDbGljayk7XG5cbiAgaWYgKHBvaW50LnJlbGF0ZWRFdmVudHNBbW91bnQpIHtcbiAgICBsZXQgcG9pbnRDdXN0b21JY29uID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICAgIGljb246IEwuZGl2SWNvbih7XG4gICAgICAgIGNsYXNzTmFtZTogYFxuICAgICAgICAgICR7XG4gICAgICAgICAgICBwb2ludC5yZWxhdGVkRXZlbnRzQW1vdW50ID49IDEwMFxuICAgICAgICAgICAgICA/ICdjaXJjbGUtZXZlbnRzLWFtb3VudCBjaXJjbGUtZXZlbnRzLWFtb3VudC0tdHJpZGlnaXQnXG4gICAgICAgICAgICAgIDogJ2NpcmNsZS1ldmVudHMtYW1vdW50J1xuICAgICAgICAgIH0gXG4gICAgICAgICAgJHtwb2ludC5yZWxhdGVkRXZlbnRzQW1vdW50ID4gMiA/ICdhbGVydC1jb2xvcicgOiAnJ31cbiAgICAgICAgICAgIGAsXG4gICAgICAgIGh0bWw6IGA8cD4ke3BvaW50LnJlbGF0ZWRFdmVudHNBbW91bnR9PC9wPmAsXG4gICAgICAgIGljb25BbmNob3I6IGV2ZW50c0NvdW50SWNvbihtYXAuX3pvb20pLmljb25BbmNob3IsXG4gICAgICB9KSxcbiAgICAgIHJpc2VPbkhvdmVyOiBmYWxzZSxcbiAgICAgIG9wYWNpdHk6IGhvdmVyZWQgPyAxIDogMCxcbiAgICB9KTtcblxuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ0ljb25OdW1iZXInO1xuICAgIGlmIChob3ZlcmVkKSBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ0ljb25OdW1iZXJIb3ZlcmVkJztcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU1hbmhvbGVQb2ludCA9IChcbiAgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlLFxuICBwb2ludDogSVBvaW50LFxuICBtYXAsXG4gIGhvdmVyZWQ/LFxuICBsYXllckdyb3VwPyxcbikgPT4ge1xuICBsZXQgcG9pbnRJY29uID0gbmV3IEwuSWNvbih7XG4gICAgaWNvblVybDogd2hpdGVQb2ludCxcbiAgICBpY29uU2l6ZTogWzksIDldLFxuICAgIGljb25BbmNob3I6IFs0LjUsIDQuNV0sXG4gIH0pO1xuICBsZXQgbWFuaG9sZUljb246IGFueSA9IG5ldyBMLk1hcmtlcihtYXJrZXJMb2NhdGlvbiwge1xuICAgIGljb246IHBvaW50SWNvbixcbiAgICByaXNlT25Ib3ZlcjogdHJ1ZSxcbiAgfSk7XG4gIG1hbmhvbGVJY29uLmJpbmRUb29sdGlwKGJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmcocG9pbnQpKTtcbiAgbWFuaG9sZUljb25bJ2thbmRvX29iamVjdF9pZCddID0gcG9pbnQuaWQ7XG4gIG1hbmhvbGVJY29uWydrYW5kb19vYmplY3QnXSA9ICdQb2ludCc7XG4gIG1hbmhvbGVJY29uWydrYW5kb19wb2ludF90eXBlJ10gPSAnTWFuaG9sZSc7XG4gIGlmIChob3ZlcmVkKSBtYW5ob2xlSWNvblsna2FuZG9fb2JqZWN0J10gPSAnUG9pbnRIb3ZlcmVkJztcbiAgbGF5ZXJHcm91cC5hZGRMYXllcihtYW5ob2xlSWNvbik7XG59O1xuXG5leHBvcnQgY29uc3QgbWF0Y2hJY29uVG9Qb2ludCA9IChwb2ludDogSVBvaW50LCBldmVudDogSUV2ZW50KSA9PiB7XG4gIHN3aXRjaCAocG9pbnQuZ3JvdXAudHlwZSkge1xuICAgIGNhc2UgJ0dyb3Vwczo6RmFjdG9yeSc6XG4gICAgICBpZiAoY29tYmluZWRGYWN0b3J5SWNvbi5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkpIHtcbiAgICAgICAgICBjb21iaW5lZEZhY3RvcnlJY29uLnVuc2hpZnQoc2VsZWN0ZWRCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9IGVsc2UgaWYgKG1hcmtlckJlbG9uZ3NUb1NvdXJjZShldmVudCwgcG9pbnQpKSB7XG4gICAgICAgICAgY29tYmluZWRGYWN0b3J5SWNvbi51bnNoaWZ0KGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29tYmluZWRGYWN0b3J5SWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29tYmluZWRGYWN0b3J5SWNvbjtcbiAgICBjYXNlICdHcm91cHM6OlB1bXBTdGF0aW9uJzpcbiAgICAgIGlmIChjb21iaW5lZFB1bXBTdGF0aW9uSWNvbi5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkpIHtcbiAgICAgICAgICBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbi51bnNoaWZ0KHNlbGVjdGVkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIGlmIChtYXJrZXJCZWxvbmdzVG9Tb3VyY2UoZXZlbnQsIHBvaW50KSkge1xuICAgICAgICAgIGNvbWJpbmVkUHVtcFN0YXRpb25JY29uLnVuc2hpZnQoYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29tYmluZWRQdW1wU3RhdGlvbkljb247XG4gICAgY2FzZSAnR3JvdXBzOjpXYXN0ZXdhdGVyVHJlYXRtZW50UGxhbnQnOlxuICAgICAgaWYgKGNvbWJpbmVkV1dUUEljb24ubGVuZ3RoID09PSAyKSB7XG4gICAgICAgIGlmIChtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZShldmVudCwgcG9pbnQpKSB7XG4gICAgICAgICAgY29tYmluZWRXV1RQSWNvbi51bnNoaWZ0KHNlbGVjdGVkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIGlmIChtYXJrZXJCZWxvbmdzVG9Tb3VyY2UoZXZlbnQsIHBvaW50KSkge1xuICAgICAgICAgIGNvbWJpbmVkV1dUUEljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbWJpbmVkV1dUUEljb24udW5zaGlmdChzdGFuZGFyZEJhY2tncm91bmQoKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbWJpbmVkV1dUUEljb247XG5cbiAgICBjYXNlICdHcm91cHM6OkNvbGxlY3RvcnMnOlxuICAgICAgaWYgKGlzQ29sbGVjdG9yRm9jdXNlZChwb2ludCwgZXZlbnQpKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgTC5pY29uKHtcbiAgICAgICAgICAgIGljb25Vcmw6IHJlZFBpblJlZFNoYWRvdyxcbiAgICAgICAgICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgICAgICAgICBpY29uQW5jaG9yOiBbMzAsIDUyXSxcbiAgICAgICAgICB9KSxcblxuICAgICAgICAgIEwuaWNvbih7XG4gICAgICAgICAgICBpY29uVXJsOiB3YXRlckljb25Ob0JhY2tncm91bmQsXG4gICAgICAgICAgICBpY29uU2l6ZTogWzAsIDBdLFxuXG4gICAgICAgICAgICBpY29uQW5jaG9yOiBbMjIsIDQ0XSxcbiAgICAgICAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbWJpbmVkQ29sbGVjdG9yc0ljb247XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIG51bGw7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBzdGFuZGFyZEJhY2tncm91bmQgPSAoXG4gIHNlY29uZGFyeTogYm9vbGVhbiA9IGZhbHNlLFxuICB0aGlyZDogYm9vbGVhbiA9IGZhbHNlLFxuKSA9PiB7XG4gIHJldHVybiBMLmljb24oe1xuICAgIGljb25Vcmw6IHdoaXRlUGluQmxhY2tTaGFkb3csXG4gICAgaWNvblNpemU6IHNlY29uZGFyeSA/IFswLCAwXSA6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBzZWNvbmRhcnkgJiYgdGhpcmQgPyBbLTIsIDE5XSA6IHNlY29uZGFyeSA/IFstMiwgNDRdIDogWzIwLCA0Ml0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBjb21iaW5lZEZhY3RvcnlJY29uID0gW1xuICBMLmljb24oe1xuICAgIGljb25Vcmw6IHllbGxvd0NpcmNsZVVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFsxMC43LCAzMy43XSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuICBMLmljb24oe1xuICAgIGljb25Vcmw6IHBsYW50SWNvblVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFs1LCAzMF0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbl07XG5cbmV4cG9ydCBjb25zdCBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbiA9IFtcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiBncmVlbkNpcmNsZVVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFsxMC43LCAzMy43XSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuICBMLmljb24oe1xuICAgIGljb25Vcmw6IHB1bXBTdGF0aW9uSWNvblVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFs3LCAzMl0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbl07XG5cbmV4cG9ydCBjb25zdCBjb21iaW5lZENvbGxlY3RvcnNJY29uID0gW1xuICBMLmljb24oe1xuICAgIGljb25Vcmw6IGNvbGxlY3Rvckljb24sXG4gICAgaWNvblNpemU6IFswLCAwXSxcblxuICAgIGljb25BbmNob3I6IFsyNSwgNTBdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG5dO1xuXG5leHBvcnQgY29uc3QgY29tYmluZWRXV1RQSWNvbiA9IFtcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiBicmlnaHRCbHVlQ2lyY2xlVVJMLFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzEwLjcsIDMzLjddLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG4gIEwuaWNvbih7XG4gICAgaWNvblVybDogV1dUUEljb25VUkwsXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbOCwgMzFdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG5dO1xuXG5leHBvcnQgY29uc3Qgc2VsZWN0ZWRCYWNrZ3JvdW5kID0gKCkgPT4ge1xuICByZXR1cm4gTC5pY29uKHtcbiAgICBpY29uVXJsOiByZWRQaW5SZWRTaGFkb3csXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbMzIsIDU0XSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQgPSAoKSA9PiB7XG4gIHJldHVybiBMLmljb24oe1xuICAgIGljb25Vcmw6IHdoaXRlUGluUmVkU2hhZG93LFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzMyLCA1NF0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZSA9IChldmVudDogSUV2ZW50LCBwb2ludDogSVBvaW50KSA9PiB7XG4gIGxldCBzb3VyY2U7XG5cbiAgaWYgKGV2ZW50ICE9PSBudWxsICYmIGV2ZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICBzb3VyY2UgPSBldmVudC5zb3VyY2VzLmZpbHRlcigoc291cmNlKSA9PiBzb3VyY2UucG9pbnRfaWQgPT09IHBvaW50LmlkKVswXTtcbiAgfVxuXG4gIHJldHVybiBldmVudCAhPT0gbnVsbCAmJiBzb3VyY2UgJiYgZXZlbnQuc2VsZWN0ZWRfc291cmNlID09PSBzb3VyY2UucG9pbnRfaWQ7XG59O1xuXG5leHBvcnQgY29uc3QgbWFya2VyQmVsb25nc1RvU291cmNlID0gKGV2ZW50OiBJRXZlbnQsIHBvaW50OiBJUG9pbnQpID0+IHtcbiAgaWYgKGV2ZW50ID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgcmV0dXJuIChcbiAgICBldmVudCAhPT0gbnVsbCAmJlxuICAgIGV2ZW50LnNvdXJjZXMuZmlsdGVyKChzb3VyY2UpID0+IHNvdXJjZS5wb2ludF9pZCA9PT0gcG9pbnQuaWQpWzBdXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlU2FtcGxpbmdJY29uUG9pbnQgPSAoXG4gIG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSxcbiAgc2Vjb25kYXJ5SWNvbjogYm9vbGVhbixcbiAgbWFwLFxuICBwb2ludDogSVBvaW50LFxuICBldmVudDogSUV2ZW50LFxuICBob3ZlcmVkPyxcbiAgbGF5ZXJHcm91cD8sXG4pID0+IHtcbiAgLy8gaWNvblNpemU6IFt3aWR0aCwgaGVpZ2h0XSxcbiAgLy8gSWNvbiBBbmNob3I6IFsoLXJpZ2h0KSgrbGVmdCksICgtZG93bikoK3VwKV1cbiAgbGV0IHNhbXBsaW5nSWNvbiA9IFtcbiAgICBMLmljb24oe1xuICAgICAgaWNvblVybDogYmx1ZUNpcmNsZVVSTCxcbiAgICAgIGljb25TaXplOiBzZWNvbmRhcnlJY29uID8gWzAsIDBdIDogWzAsIDBdLFxuICAgICAgaWNvbkFuY2hvcjogc2Vjb25kYXJ5SWNvbiA/IFstNywgMTVdIDogWzEwLjcsIDMzLjddLFxuICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgIH0pLFxuICAgIEwuaWNvbih7XG4gICAgICBpY29uVXJsOiBzYW1wbGluZ0ljb25VUkwsXG4gICAgICBpY29uU2l6ZTogc2Vjb25kYXJ5SWNvbiA/IFswLCAwXSA6IFswLCAwXSxcbiAgICAgIGljb25BbmNob3I6IHNlY29uZGFyeUljb24gPyBbLTgsIDEzXSA6IFs1LCAzMF0sXG4gICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgfSksXG4gIF07XG5cbiAgbGV0IHRoaXJkSWNvbiA9IGZhbHNlO1xuICBpZiAobWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UoZXZlbnQsIHBvaW50KSAmJiAhc2Vjb25kYXJ5SWNvbikge1xuICAgIHNhbXBsaW5nSWNvbi51bnNoaWZ0KHNlbGVjdGVkQmFja2dyb3VuZCgpKTtcbiAgfSBlbHNlIGlmIChtYXJrZXJCZWxvbmdzVG9Tb3VyY2UoZXZlbnQsIHBvaW50KSAmJiAhc2Vjb25kYXJ5SWNvbikge1xuICAgIHNhbXBsaW5nSWNvbi51bnNoaWZ0KGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQoKSk7XG4gIH0gZWxzZSB7XG4gICAgdGhpcmRJY29uID0gdHJ1ZTtcbiAgICBzYW1wbGluZ0ljb24udW5zaGlmdChzdGFuZGFyZEJhY2tncm91bmQoc2Vjb25kYXJ5SWNvbiwgdGhpcmRJY29uKSk7XG4gIH1cblxuICBzYW1wbGluZ0ljb24uZm9yRWFjaCgoaWNvbiwgaW5kZXgpID0+IHtcbiAgICBsZXQgcG9pbnRDdXN0b21JY29uOiBhbnkgPSBMLm1hcmtlcihtYXJrZXJMb2NhdGlvbiwge1xuICAgICAgaWNvbjogaWNvbixcbiAgICAgIHJpc2VPbkhvdmVyOiBmYWxzZSxcbiAgICB9KTtcbiAgICBwb2ludEN1c3RvbUljb24uYmluZFRvb2x0aXAoYnVpbGRNYW5ob2xlVG9vbHRpcFN0cmluZyhwb2ludCkpO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9faW5kZXhfb2JqZWN0J10gPSBpbmRleDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2Zld19sYXllcl9pY29uJ10gPSB0cnVlO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fc2Vjb25kYXJ5J10gPSB0aGlyZEljb24gPyBmYWxzZSA6IHNlY29uZGFyeUljb247XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb190aGlyZCddID0gdGhpcmRJY29uO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ1NhbXBsaW5nJztcbiAgICBpZiAoaG92ZXJlZCkgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdTYW1wbGluZ0hvdmVyZWQnO1xuICAgIGxheWVyR3JvdXAuYWRkTGF5ZXIocG9pbnRDdXN0b21JY29uKTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlT2JzZXJ2YXRpb25JY29uUG9pbnQgPSAoXG4gIG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSxcbiAgc2Vjb25kYXJ5SWNvbjogYm9vbGVhbixcbiAgbWFwLFxuICBwb2ludDogSVBvaW50LFxuICBldmVudDogSUV2ZW50LFxuICBob3ZlcmVkPyxcbiAgbGF5ZXJHcm91cD8sXG4pID0+IHtcbiAgLy8gaWNvblNpemU6IFt3aWR0aCwgaGVpZ2h0XSxcbiAgLy8gSWNvbiBBbmNob3I6IFsoLXJpZ2h0KSgrbGVmdCksICgtZG93bikoK3VwKV1cbiAgbGV0IG9ic2VydmF0aW9uSWNvbiA9IFtcbiAgICBMLmljb24oe1xuICAgICAgaWNvblVybDogcGlua0NpcmNsZVVSTCxcbiAgICAgIGljb25TaXplOiBzZWNvbmRhcnlJY29uID8gWzAsIDBdIDogWzAsIDBdLFxuICAgICAgaWNvbkFuY2hvcjogc2Vjb25kYXJ5SWNvbiA/IFstNywgNDBdIDogWzEwLjcsIDMzLjddLFxuICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgIH0pLFxuICAgIEwuaWNvbih7XG4gICAgICBpY29uVXJsOiBvYnNlcnZhdGlvbkljb25VUkwsXG4gICAgICBpY29uU2l6ZTogc2Vjb25kYXJ5SWNvbiA/IFswLCAwXSA6IFswLCAwXSxcbiAgICAgIGljb25BbmNob3I6IHNlY29uZGFyeUljb24gPyBbLTgsIDM4XSA6IFs1LCAzMF0sXG4gICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgfSksXG4gIF07XG5cbiAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkgJiYgIXNlY29uZGFyeUljb24pIHtcbiAgICBvYnNlcnZhdGlvbkljb24udW5zaGlmdChzZWxlY3RlZEJhY2tncm91bmQoKSk7XG4gIH0gZWxzZSBpZiAobWFya2VyQmVsb25nc1RvU291cmNlKGV2ZW50LCBwb2ludCkgJiYgIXNlY29uZGFyeUljb24pIHtcbiAgICBvYnNlcnZhdGlvbkljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICB9IGVsc2Uge1xuICAgIG9ic2VydmF0aW9uSWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZChzZWNvbmRhcnlJY29uKSk7XG4gIH1cblxuICBvYnNlcnZhdGlvbkljb24uZm9yRWFjaCgoaWNvbiwgaW5kZXgpID0+IHtcbiAgICBsZXQgcG9pbnRDdXN0b21JY29uOiBhbnkgPSBMLm1hcmtlcihtYXJrZXJMb2NhdGlvbiwge1xuICAgICAgaWNvbjogaWNvbixcbiAgICAgIHJpc2VPbkhvdmVyOiBmYWxzZSxcbiAgICB9KTtcbiAgICBwb2ludEN1c3RvbUljb24uYmluZFRvb2x0aXAoYnVpbGRNYW5ob2xlVG9vbHRpcFN0cmluZyhwb2ludCkpO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9faW5kZXhfb2JqZWN0J10gPSBpbmRleDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2Zld19sYXllcl9pY29uJ10gPSB0cnVlO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fc2Vjb25kYXJ5J10gPSBzZWNvbmRhcnlJY29uO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fdGhpcmQnXSA9IGZhbHNlO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ09ic2VydmF0aW9uJztcbiAgICBpZiAoaG92ZXJlZCkgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdPYnNlcnZhdGlvbkhvdmVyZWQnO1xuICAgIGxheWVyR3JvdXAuYWRkTGF5ZXIocG9pbnRDdXN0b21JY29uKTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlU2FtcGxpbmdJY29ucyA9IChcbiAgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlLFxuICBldmVudDogSUV2ZW50LFxuICBwb2ludDogSVBvaW50LFxuICBtYXAsXG4gIGhvdmVyZWQsXG4gIGxheWVyR3JvdXA/LFxuKSA9PiB7XG4gIGxldCBzYW1wbGVkUG9pbnRJZHMgPSBldmVudC5zYW1wbGluZ3MubWFwKChzKSA9PiBzLnBvaW50X2lkKTtcbiAgaWYgKFxuICAgIGV2ZW50ICE9PSBudWxsICYmXG4gICAgZXZlbnQuc2FtcGxpbmdzLmxlbmd0aCAhPT0gMCAmJlxuICAgIHNhbXBsZWRQb2ludElkcy5pbmNsdWRlcyhwb2ludC5pZClcbiAgKSB7XG4gICAgY3JlYXRlU2FtcGxpbmdJY29uUG9pbnQoXG4gICAgICBtYXJrZXJMb2NhdGlvbixcbiAgICAgIG1hdGNoSWNvblRvUG9pbnQocG9pbnQsIGV2ZW50KSAhPT0gbnVsbCxcbiAgICAgIG1hcCxcbiAgICAgIHBvaW50LFxuICAgICAgZXZlbnQsXG4gICAgICBob3ZlcmVkLFxuICAgICAgbGF5ZXJHcm91cCxcbiAgICApO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgcG9wdXBDb250ZW50ID0gKG9iczogYW55LCBwb2ludDogSVBvaW50KSA9PiB7XG4gIGlmIChvYnMgPT09IG51bGwpIHtcbiAgICByZXR1cm4gYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50LXBvcHVwXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLWdyYXBoLWljb24gcG9wdXAtZ3JhcGgtaWNvbi0ke3BvaW50LmlkfVwiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIiR7R3JhcGhJY29ufVwiLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zaXRlLW5hbWVcIj48Yj4ke3BvaW50Lmdyb3VwLm5hbWV9PC9iPjwvaDU+XG4gICAgICAgICAgICAgICAgICAgIDxoci8+XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwic2VjdG9yXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIGA7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudC1wb3B1cFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1ncmFwaC1pY29uIHBvcHVwLWdyYXBoLWljb24tJHtvYnMuaWR9XCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiJHtHcmFwaEljb259XCIvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NpdGUtbmFtZVwiPjxiPiR7XG4gICAgICAgICAgICAgICAgICAgICAgcG9pbnQuZ3JvdXAubmFtZVxuICAgICAgICAgICAgICAgICAgICB9PC9iPjwvaDU+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eS1wXCI+JHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGBldmVudHNfb3ZlcnZpZXcuc2V2ZXJpdHlgLFxuICAgICAgICAgICAgICAgICAgICAgICAgKX08L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIiR7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICdwb3B1cC1jb250ZW50X19zZXZlcml0eS0tJyArIG9icy5zZXZlcml0eVxuICAgICAgICAgICAgICAgICAgICAgICAgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiIGNsYXNzPVwicG9wdXAtY29udGVudF9fc2V2ZXJpdHktYlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZXZlbnRzX292ZXJ2aWV3LnNldmVyaXRpZXMuJHtvYnMuc2V2ZXJpdHl9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2I+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPGhyIGNsYXNzPVwicG9wdXAtY29udGVudF9faHJcIiAvPlxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1jb250ZW50X19kaXNjaGFyZ2UtdGltZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NldmVyaXR5LXBcIj4ke2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBldmVudHNfb3ZlcnZpZXcuZmlyc3Rfc2VlbmAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX06PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxiIGlkPVwiZmlyc3Qtc2Vlbi1wb3B1cFwiPjwvYj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eS1wXCI+JHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZXZlbnRzX292ZXJ2aWV3Lmxhc3Rfc2VlbmAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX06PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxiIGlkPVwibGFzdC1zZWVuLXBvcHVwXCI+PC9iPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBgO1xuICB9XG59O1xuXG5sZXQgc2V0SWNvbiA9IChlbGVtZW50LCBjbGlja2VkLCBwb2ludCkgPT4ge1xuICBlbGVtZW50LnNldEljb24oXG4gICAgZ2V0UG9pbnRJY29uQnlUeXBlKFxuICAgICAgcG9pbnQuZ3JvdXAudHlwZSxcbiAgICAgIHBvaW50Lm5hbWUsXG4gICAgICBwb2ludC5ncm91cC5zZWN0b3JfbmFtZSxcbiAgICAgIGNsaWNrZWQsXG4gICAgICBmYWxzZSxcbiAgICApLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGNhbGN1bGF0ZVdhdGVyQ29uc3VtcHRpb24gPSAoZmxvd19yYXRlX3VuaXQsIHdhdGVyQ29uc3VtcHRpb24pID0+IHtcbiAgcmV0dXJuIGZsb3dfcmF0ZV91bml0ID09PSAnbTNkJ1xuICAgID8gd2F0ZXJDb25zdW1wdGlvbi50b0ZpeGVkKDApXG4gICAgOiB3YXRlckNvbnN1bXB0aW9uID4gMFxuICAgID8gKHdhdGVyQ29uc3VtcHRpb24gLyAzNzg1LjQxMTgpLnRvRml4ZWQoMylcbiAgICA6IDA7XG59O1xuXG5leHBvcnQgY29uc3QgdHJhbnNsYXRlRmxvd1JhdGUgPSAoZmxvd19yYXRlX3VuaXQpID0+IHtcbiAgcmV0dXJuIGkxOG4udChcbiAgICBgZGFzaGJvYXJkX3YyLnByb2ZpbGUuZmxvd19yYXRlX3VuaXRfb3B0aW9ucy4ke2Zsb3dfcmF0ZV91bml0fWAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgaGFuZGxlTWFya2VyQ2xpY2sgPSAobWFwLCBwb2ludCwgcG9pbnRDdXN0b21JY29uLCBoYW5kbGVDbGljaykgPT4ge1xuICBtYXAub24oJ3pvb21zdGFydCcsIGZ1bmN0aW9uICgpIHtcbiAgICBtYXAuY2xvc2VQb3B1cCgpO1xuICB9KTtcblxuICBwb2ludEN1c3RvbUljb24ub24oJ3BvcHVwY2xvc2UnLCAoKSA9PiB7XG4gICAgc2V0SWNvbihwb2ludEN1c3RvbUljb24sIGZhbHNlLCBwb2ludCk7XG4gIH0pO1xuXG4gIHBvaW50Q3VzdG9tSWNvbi5vbigncG9wdXBvcGVuJywgKCkgPT4ge1xuICAgIHNldEljb24ocG9pbnRDdXN0b21JY29uLCB0cnVlLCBwb2ludCk7XG4gIH0pO1xuICBpZiAodHlwZW9mIGhhbmRsZUNsaWNrID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcG9pbnRDdXN0b21JY29uLm9uKCdjbGljaycsICgpID0+IHtcbiAgICAgIGhhbmRsZUNsaWNrKHBvaW50Q3VzdG9tSWNvbi5rYW5kb19vYmplY3RfaWQpO1xuXG4gICAgICBpZiAocG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6RmFjdG9yeScpIHtcbiAgICAgICAgc2VuZEFuYWx5dGljc0V2ZW50KCdNYXAgVmlldyAtIEZhY3RvcnkgY2xpY2tlZCcsICdtYXAnLCB7XG4gICAgICAgICAgcG9pbnRfaWQ6IHBvaW50LmlkLFxuICAgICAgICAgIHBvaW50X25hbWU6IHBvaW50Lm5hbWUsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgYmluZFBvcHVwVG9NYXJrZXIgPSAocG9pbnQsIGxheWVyR3JvdXAsIGZsb3dfcmF0ZV91bml0KSA9PiB7XG4gIGxldCBjb250ZW50ID0gYFxuICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudCc+XG4gICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9faGVhZGVyJz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWNvbnRlbnRfX2hlYWRlcl9fdGl0bGVzXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19oZWFkZXJfX3RpdGxlc19fdGl0bGUnPiR7XG4gICAgICAgICAgICAgICAgICBwb2ludC5uYW1lXG4gICAgICAgICAgICAgICAgfTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9faGVhZGVyX190aXRsZXNfX3N1YnRpdGxlJz4ke1xuICAgICAgICAgICAgICAgICAgcG9pbnQuZ3JvdXAuc2VjdG9yX25hbWVcbiAgICAgICAgICAgICAgICB9PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgXG4gICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9fYm9keSc+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHlfX2l0ZW0nPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9fYm9keV9faXRlbV9faWNvbic+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPScke3dhdGVyUmV1c2VJY29ufScgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHlfX2l0ZW1fX3RpdGxlcyc+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHlfX2l0ZW1fX3RpdGxlc19fdGl0bGUnPiR7Y2FsY3VsYXRlV2F0ZXJDb25zdW1wdGlvbihcbiAgICAgICAgICAgICAgICAgICAgZmxvd19yYXRlX3VuaXQsXG4gICAgICAgICAgICAgICAgICAgIHBvaW50Lmdyb3VwLndhdGVyX2NvbnN1bXB0aW9uX3Blcl9kYXksXG4gICAgICAgICAgICAgICAgICApfSAke3RyYW5zbGF0ZUZsb3dSYXRlKGZsb3dfcmF0ZV91bml0KX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9fYm9keV9faXRlbV9fdGl0bGVzX19zdWJ0aXRsZSc+JHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICd3YXRlcl9kaXNjaGFyZ2UnLFxuICAgICAgICAgICAgICAgICAgKX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICBgO1xuXG4gIGxheWVyR3JvdXAuYmluZFBvcHVwKGNvbnRlbnQsIHtcbiAgICBjbGFzc05hbWU6ICdwb2ludC1tYXJrZXItcG9wdXAnLFxuICAgIG1pbldpZHRoOiAnMjE0cHgnLFxuICAgIG1heFdpZHRoOiAnMjE0cHgnLFxuICAgIGNsb3NlQnV0dG9uOiB0cnVlLFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCByZW1vdmVMYXllckdyb3VwID0gKG1hcCwgbGF5ZXJHcm91cCkgPT4ge1xuICBpZiAobWFwLmhhc0xheWVyKGxheWVyR3JvdXApKSB7XG4gICAgbWFwLnJlbW92ZUxheWVyKGxheWVyR3JvdXApO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgYWRkTGF5ZXJHcm91cCA9IChtYXAsIGxheWVyR3JvdXApID0+IHtcbiAgaWYgKCFtYXAuaGFzTGF5ZXIobGF5ZXJHcm91cCkpIHtcbiAgICBtYXAuYWRkTGF5ZXIobGF5ZXJHcm91cCk7XG4gIH0gZWxzZSB7XG4gICAgcmVtb3ZlTGF5ZXJHcm91cChtYXAsIGxheWVyR3JvdXApO1xuICAgIGFkZExheWVyR3JvdXAobWFwLCBsYXllckdyb3VwKTtcbiAgfVxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFDQSxJQUFBQSxRQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxLQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFB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
401
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2kxOG4iLCJfYmx1ZUNpcmNsZSIsIl9zYW1wbGluZ0ljb24iLCJfcGlua0NpcmNsZSIsIl9vYnNlcnZhdGlvbkljb24iLCJfcmVkUGluUmVkU2hhZG93IiwiX3doaXRlUGluUmVkU2hhZG93IiwiX3doaXRlUGluQmxhY2tTaGFkb3ciLCJfeWVsbG93Q2lyY2xlIiwiX2ZhY3RvcnlJY29uIiwiX2dyZWVuQ2lyY2xlIiwiX3B1bXBTdGF0aW9uSWNvbiIsIl9waW5XYXRlciIsIl9icmlnaHRCbHVlQ2lyY2xlIiwiX1dXVFBJY29uIiwiX3dhdGVyTm9CYWNrZ3JvdW5kIiwiX3doaXRlUG9pbnQiLCJfTWFwVXRpbHMiLCJfUG9pbnRJY29uIiwiX3dhdGVyX3JldXNlIiwiX3V0aWxzIiwiaXNDb2xsZWN0b3JGb2N1c2VkIiwicG9pbnQiLCJldmVudCIsIl9ldmVudCRvYnNlcnZhdGlvbnMiLCJvYnNlcnZhdGlvbnMiLCJsZW5ndGgiLCJpZCIsInBvaW50X2lkIiwiZXhwb3J0cyIsImJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmciLCJzdHJpbmciLCJjb25jYXQiLCJncm91cCIsIm5hbWUiLCJ0eXBlIiwic2VjdG9yX25hbWUiLCJ3YXRlcl9jb25zdW1wdGlvbl9wZXJfZGF5IiwiYnViYmxlRm9yV1dUUCIsImFyZ3MiLCJwb2ludEN1c3RvbUljb24iLCJMIiwibWFya2VyIiwibWFya2VyTG9jYXRpb24iLCJpY29uIiwiZ2V0UG9pbnRJY29uQnlUeXBlIiwicmlzZU9uSG92ZXIiLCJjcmVhdGVCdWJibGVQb2ludCIsIm1hcCIsImhvdmVyZWQiLCJsYXllckdyb3VwIiwiZmxvd19yYXRlX3VuaXQiLCJoYW5kbGVDbGljayIsInN1YnRpdGxlIiwiYWRkTGF5ZXIiLCJiaW5kUG9wdXBUb01hcmtlciIsImhhbmRsZU1hcmtlckNsaWNrIiwicmVsYXRlZEV2ZW50c0Ftb3VudCIsImRpdkljb24iLCJjbGFzc05hbWUiLCJodG1sIiwiaWNvbkFuY2hvciIsImV2ZW50c0NvdW50SWNvbiIsIl96b29tIiwib3BhY2l0eSIsImNyZWF0ZU1hbmhvbGVQb2ludCIsInBvaW50SWNvbiIsIkljb24iLCJpY29uVXJsIiwid2hpdGVQb2ludCIsImljb25TaXplIiwibWFuaG9sZUljb24iLCJNYXJrZXIiLCJiaW5kVG9vbHRpcCIsIm1hdGNoSWNvblRvUG9pbnQiLCJjb21iaW5lZEZhY3RvcnlJY29uIiwibWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UiLCJ1bnNoaWZ0Iiwic2VsZWN0ZWRCYWNrZ3JvdW5kIiwibWFya2VyQmVsb25nc1RvU291cmNlIiwiYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCIsInN0YW5kYXJkQmFja2dyb3VuZCIsImNvbWJpbmVkUHVtcFN0YXRpb25JY29uIiwiY29tYmluZWRXV1RQSWNvbiIsInJlZFBpblJlZFNoYWRvdyIsIndhdGVySWNvbk5vQmFja2dyb3VuZCIsInBvcHVwQW5jaG9yIiwiY29tYmluZWRDb2xsZWN0b3JzSWNvbiIsInNlY29uZGFyeSIsImFyZ3VtZW50cyIsInVuZGVmaW5lZCIsInRoaXJkIiwid2hpdGVQaW5CbGFja1NoYWRvdyIsInllbGxvd0NpcmNsZVVSTCIsInBsYW50SWNvblVSTCIsImdyZWVuQ2lyY2xlVVJMIiwicHVtcFN0YXRpb25JY29uVVJMIiwiY29sbGVjdG9ySWNvbiIsImJyaWdodEJsdWVDaXJjbGVVUkwiLCJXV1RQSWNvblVSTCIsIndoaXRlUGluUmVkU2hhZG93Iiwic291cmNlIiwic291cmNlcyIsImZpbHRlciIsInNlbGVjdGVkX3NvdXJjZSIsImNyZWF0ZVNhbXBsaW5nSWNvblBvaW50Iiwic2Vjb25kYXJ5SWNvbiIsInNhbXBsaW5nSWNvbiIsImJsdWVDaXJjbGVVUkwiLCJzYW1wbGluZ0ljb25VUkwiLCJ0aGlyZEljb24iLCJmb3JFYWNoIiwiaW5kZXgiLCJjcmVhdGVPYnNlcnZhdGlvbkljb25Qb2ludCIsIm9ic2VydmF0aW9uSWNvbiIsInBpbmtDaXJjbGVVUkwiLCJvYnNlcnZhdGlvbkljb25VUkwiLCJjcmVhdGVTYW1wbGluZ0ljb25zIiwic2FtcGxlZFBvaW50SWRzIiwic2FtcGxpbmdzIiwicyIsImluY2x1ZGVzIiwicG9wdXBDb250ZW50Iiwib2JzIiwiR3JhcGhJY29uIiwiaTE4biIsInQiLCJzZXZlcml0eSIsInNldEljb24iLCJlbGVtZW50IiwiY2xpY2tlZCIsImNhbGN1bGF0ZVdhdGVyQ29uc3VtcHRpb24iLCJ3YXRlckNvbnN1bXB0aW9uIiwidG9GaXhlZCIsInRyYW5zbGF0ZUZsb3dSYXRlIiwib24iLCJjbG9zZVBvcHVwIiwia2FuZG9fb2JqZWN0X2lkIiwic2VuZEFuYWx5dGljc0V2ZW50IiwicG9pbnRfbmFtZSIsImNvbnRlbnQiLCJ3YXRlclJldXNlSWNvbiIsImJpbmRQb3B1cCIsIm1pbldpZHRoIiwibWF4V2lkdGgiLCJjbG9zZUJ1dHRvbiIsInJlbW92ZUxheWVyR3JvdXAiLCJoYXNMYXllciIsInJlbW92ZUxheWVyIiwiYWRkTGF5ZXJHcm91cCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9wb2ludHMvUG9pbnRVdGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgR3JhcGhJY29uIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9saW5lLWNoYXJ0LnN2Zyc7XG5pbXBvcnQgTCwgeyBMYXRMbmdUdXBsZSB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IGkxOG4gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IGJsdWVDaXJjbGVVUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL2JsdWUtY2lyY2xlLnN2Zyc7XG5pbXBvcnQgc2FtcGxpbmdJY29uVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9zYW1wbGluZy1pY29uLnN2Zyc7XG5pbXBvcnQgcGlua0NpcmNsZVVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvcGluay1jaXJjbGUuc3ZnJztcbmltcG9ydCBvYnNlcnZhdGlvbkljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL29ic2VydmF0aW9uLWljb24uc3ZnJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCByZWRQaW5SZWRTaGFkb3cgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3JlZC1waW4tcmVkLXNoYWRvdy5wbmcnO1xuaW1wb3J0IHdoaXRlUGluUmVkU2hhZG93IGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy93aGl0ZS1waW4tcmVkLXNoYWRvdy5wbmcnO1xuaW1wb3J0IHdoaXRlUGluQmxhY2tTaGFkb3cgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3doaXRlLXBpbi1ibGFjay1zaGFkb3cucG5nJztcbmltcG9ydCB5ZWxsb3dDaXJjbGVVUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3llbGxvdy1jaXJjbGUuc3ZnJztcbmltcG9ydCBwbGFudEljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL2ZhY3RvcnktaWNvbi5zdmcnO1xuaW1wb3J0IGdyZWVuQ2lyY2xlVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9ncmVlbi1jaXJjbGUuc3ZnJztcbmltcG9ydCBwdW1wU3RhdGlvbkljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3B1bXAtc3RhdGlvbi1pY29uLnN2Zyc7XG5pbXBvcnQgY29sbGVjdG9ySWNvbiBmcm9tICcuLi8uLi8uLi9hc3NldHMvbWFwL3Bpbi13YXRlci5zdmcnO1xuaW1wb3J0IGJyaWdodEJsdWVDaXJjbGVVUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL2JyaWdodC1ibHVlLWNpcmNsZS5zdmcnO1xuaW1wb3J0IFdXVFBJY29uVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9XV1RQLWljb24uc3ZnJztcbmltcG9ydCB3YXRlckljb25Ob0JhY2tncm91bmQgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3dhdGVyLW5vLWJhY2tncm91bmQuc3ZnJztcbmltcG9ydCB3aGl0ZVBvaW50IGZyb20gJy4uLy4uLy4uL2Fzc2V0cy93aGl0ZS1wb2ludC5wbmcnO1xuaW1wb3J0IHsgZXZlbnRzQ291bnRJY29uIH0gZnJvbSAnLi4vTWFwVXRpbHMnO1xuaW1wb3J0IHsgZ2V0UG9pbnRJY29uQnlUeXBlIH0gZnJvbSAnLi9Qb2ludEljb24nO1xuaW1wb3J0IHdhdGVyUmV1c2VJY29uIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9pY29ucy93YXRlcl9yZXVzZS5zdmcnO1xuaW1wb3J0IHsgc2VuZEFuYWx5dGljc0V2ZW50IH0gZnJvbSAnc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC91dGlscyc7XG5cbmV4cG9ydCBjb25zdCBpc0NvbGxlY3RvckZvY3VzZWQgPSAocG9pbnQ6IElQb2ludCwgZXZlbnQ6IElFdmVudCkgPT4ge1xuICByZXR1cm4gKFxuICAgIGV2ZW50Py5vYnNlcnZhdGlvbnM/Lmxlbmd0aCA9PT0gMSAmJlxuICAgIHBvaW50LmlkID09PSBldmVudC5vYnNlcnZhdGlvbnNbMF0ucG9pbnRfaWRcbiAgKTtcbn07XG5cbmNvbnN0IGJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmcgPSAocG9pbnQ6IElQb2ludCkgPT4ge1xuICBsZXQgc3RyaW5nID0gYCR7cG9pbnQuZ3JvdXAubmFtZX0gYDtcblxuICBpZiAocG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6RmFjdG9yeScpIHtcbiAgICBzdHJpbmcgKz0gYDxici8+U2VjdG9yOiAke3BvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lfWA7XG4gICAgc3RyaW5nICs9IGA8YnIvPldhdGVyIENvbnN1bXB0aW9uOiAke3BvaW50Lmdyb3VwLndhdGVyX2NvbnN1bXB0aW9uX3Blcl9kYXl9YDtcbiAgfSBlbHNlIHtcbiAgICBzdHJpbmcgPSBgJHtwb2ludC5uYW1lfWA7XG4gIH1cblxuICByZXR1cm4gc3RyaW5nO1xufTtcblxuZXhwb3J0IGNvbnN0IGJ1YmJsZUZvcldXVFAgPSAoYXJncykgPT4ge1xuICBsZXQgcG9pbnRDdXN0b21JY29uOiBMLk1hcmtlciA9IEwubWFya2VyKGFyZ3MubWFya2VyTG9jYXRpb24sIHtcbiAgICBpY29uOiBnZXRQb2ludEljb25CeVR5cGUoXG4gICAgICBhcmdzLnBvaW50Lmdyb3VwLnR5cGUsXG4gICAgICBhcmdzLnBvaW50Lm5hbWUsXG4gICAgICAnJyxcbiAgICAgIGZhbHNlLFxuICAgICAgZmFsc2UsXG4gICAgKSxcbiAgICByaXNlT25Ib3ZlcjogZmFsc2UsXG4gIH0pO1xuXG4gIHJldHVybiBwb2ludEN1c3RvbUljb247XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlQnViYmxlUG9pbnQgPSAoXG4gIG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSxcbiAgcG9pbnQ6IElQb2ludCxcbiAgbWFwLFxuICBob3ZlcmVkPyxcbiAgbGF5ZXJHcm91cD8sXG4gIGZsb3dfcmF0ZV91bml0PyxcbiAgaGFuZGxlQ2xpY2s/LFxuKSA9PiB7XG4gIGNvbnN0IHN1YnRpdGxlID1cbiAgICBwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpGYWN0b3J5JyA/IHBvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lIDogJyc7XG4gIGxldCBwb2ludEN1c3RvbUljb246IEwuTWFya2VyID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICBpY29uOiBnZXRQb2ludEljb25CeVR5cGUoXG4gICAgICBwb2ludC5ncm91cC50eXBlLFxuICAgICAgcG9pbnQubmFtZSxcbiAgICAgIHN1YnRpdGxlLFxuICAgICAgZmFsc2UsXG4gICAgICBmYWxzZSxcbiAgICApLFxuICAgIHJpc2VPbkhvdmVyOiBmYWxzZSxcbiAgfSk7XG4gIC8vIEB0cy1pZ25vcmVcbiAgLy8gcG9pbnRDdXN0b21JY29uLmJpbmRUb29sdGlwKGJ1aWxkTWFuaG9sZVRvb3RpcFN0cmluZyhwb2ludCkpO1xuICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdF9pZCddID0gcG9pbnQuaWQ7XG4gIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnUG9pbnQnO1xuICBpZiAoaG92ZXJlZCkgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdQb2ludEhvdmVyZWQnO1xuXG4gIGxheWVyR3JvdXAuYWRkTGF5ZXIocG9pbnRDdXN0b21JY29uKTtcbiAgaWYgKHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6OkZhY3RvcnknKSB7XG4gICAgYmluZFBvcHVwVG9NYXJrZXIocG9pbnQsIHBvaW50Q3VzdG9tSWNvbiwgZmxvd19yYXRlX3VuaXQpO1xuICB9XG5cbiAgaGFuZGxlTWFya2VyQ2xpY2sobWFwLCBwb2ludCwgcG9pbnRDdXN0b21JY29uLCBoYW5kbGVDbGljayk7XG5cbiAgaWYgKHBvaW50LnJlbGF0ZWRFdmVudHNBbW91bnQpIHtcbiAgICBsZXQgcG9pbnRDdXN0b21JY29uID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICAgIGljb246IEwuZGl2SWNvbih7XG4gICAgICAgIGNsYXNzTmFtZTogYFxuICAgICAgICAgICR7XG4gICAgICAgICAgICBwb2ludC5yZWxhdGVkRXZlbnRzQW1vdW50ID49IDEwMFxuICAgICAgICAgICAgICA/ICdjaXJjbGUtZXZlbnRzLWFtb3VudCBjaXJjbGUtZXZlbnRzLWFtb3VudC0tdHJpZGlnaXQnXG4gICAgICAgICAgICAgIDogJ2NpcmNsZS1ldmVudHMtYW1vdW50J1xuICAgICAgICAgIH0gXG4gICAgICAgICAgJHtwb2ludC5yZWxhdGVkRXZlbnRzQW1vdW50ID4gMiA/ICdhbGVydC1jb2xvcicgOiAnJ31cbiAgICAgICAgICAgIGAsXG4gICAgICAgIGh0bWw6IGA8cD4ke3BvaW50LnJlbGF0ZWRFdmVudHNBbW91bnR9PC9wPmAsXG4gICAgICAgIGljb25BbmNob3I6IGV2ZW50c0NvdW50SWNvbihtYXAuX3pvb20pLmljb25BbmNob3IsXG4gICAgICB9KSxcbiAgICAgIHJpc2VPbkhvdmVyOiBmYWxzZSxcbiAgICAgIG9wYWNpdHk6IGhvdmVyZWQgPyAxIDogMCxcbiAgICB9KTtcblxuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ0ljb25OdW1iZXInO1xuICAgIGlmIChob3ZlcmVkKSBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ0ljb25OdW1iZXJIb3ZlcmVkJztcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU1hbmhvbGVQb2ludCA9IChcbiAgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlLFxuICBwb2ludDogSVBvaW50LFxuICBtYXAsXG4gIGhvdmVyZWQ/LFxuICBsYXllckdyb3VwPyxcbikgPT4ge1xuICBsZXQgcG9pbnRJY29uID0gbmV3IEwuSWNvbih7XG4gICAgaWNvblVybDogd2hpdGVQb2ludCxcbiAgICBpY29uU2l6ZTogWzksIDldLFxuICAgIGljb25BbmNob3I6IFs0LjUsIDQuNV0sXG4gIH0pO1xuICBsZXQgbWFuaG9sZUljb246IGFueSA9IG5ldyBMLk1hcmtlcihtYXJrZXJMb2NhdGlvbiwge1xuICAgIGljb246IHBvaW50SWNvbixcbiAgICByaXNlT25Ib3ZlcjogdHJ1ZSxcbiAgfSk7XG4gIG1hbmhvbGVJY29uLmJpbmRUb29sdGlwKGJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmcocG9pbnQpKTtcbiAgbWFuaG9sZUljb25bJ2thbmRvX29iamVjdF9pZCddID0gcG9pbnQuaWQ7XG4gIG1hbmhvbGVJY29uWydrYW5kb19vYmplY3QnXSA9ICdQb2ludCc7XG4gIG1hbmhvbGVJY29uWydrYW5kb19wb2ludF90eXBlJ10gPSAnTWFuaG9sZSc7XG4gIGlmIChob3ZlcmVkKSBtYW5ob2xlSWNvblsna2FuZG9fb2JqZWN0J10gPSAnUG9pbnRIb3ZlcmVkJztcbiAgbGF5ZXJHcm91cC5hZGRMYXllcihtYW5ob2xlSWNvbik7XG59O1xuXG5leHBvcnQgY29uc3QgbWF0Y2hJY29uVG9Qb2ludCA9IChwb2ludDogSVBvaW50LCBldmVudDogSUV2ZW50KSA9PiB7XG4gIHN3aXRjaCAocG9pbnQuZ3JvdXAudHlwZSkge1xuICAgIGNhc2UgJ0dyb3Vwczo6RmFjdG9yeSc6XG4gICAgICBpZiAoY29tYmluZWRGYWN0b3J5SWNvbi5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkpIHtcbiAgICAgICAgICBjb21iaW5lZEZhY3RvcnlJY29uLnVuc2hpZnQoc2VsZWN0ZWRCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9IGVsc2UgaWYgKG1hcmtlckJlbG9uZ3NUb1NvdXJjZShldmVudCwgcG9pbnQpKSB7XG4gICAgICAgICAgY29tYmluZWRGYWN0b3J5SWNvbi51bnNoaWZ0KGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29tYmluZWRGYWN0b3J5SWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29tYmluZWRGYWN0b3J5SWNvbjtcbiAgICBjYXNlICdHcm91cHM6OlB1bXBTdGF0aW9uJzpcbiAgICAgIGlmIChjb21iaW5lZFB1bXBTdGF0aW9uSWNvbi5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkpIHtcbiAgICAgICAgICBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbi51bnNoaWZ0KHNlbGVjdGVkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIGlmIChtYXJrZXJCZWxvbmdzVG9Tb3VyY2UoZXZlbnQsIHBvaW50KSkge1xuICAgICAgICAgIGNvbWJpbmVkUHVtcFN0YXRpb25JY29uLnVuc2hpZnQoYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29tYmluZWRQdW1wU3RhdGlvbkljb247XG4gICAgY2FzZSAnR3JvdXBzOjpXYXN0ZXdhdGVyVHJlYXRtZW50UGxhbnQnOlxuICAgICAgaWYgKGNvbWJpbmVkV1dUUEljb24ubGVuZ3RoID09PSAyKSB7XG4gICAgICAgIGlmIChtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZShldmVudCwgcG9pbnQpKSB7XG4gICAgICAgICAgY29tYmluZWRXV1RQSWNvbi51bnNoaWZ0KHNlbGVjdGVkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIGlmIChtYXJrZXJCZWxvbmdzVG9Tb3VyY2UoZXZlbnQsIHBvaW50KSkge1xuICAgICAgICAgIGNvbWJpbmVkV1dUUEljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbWJpbmVkV1dUUEljb24udW5zaGlmdChzdGFuZGFyZEJhY2tncm91bmQoKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbWJpbmVkV1dUUEljb247XG5cbiAgICBjYXNlICdHcm91cHM6OkNvbGxlY3RvcnMnOlxuICAgICAgaWYgKGlzQ29sbGVjdG9yRm9jdXNlZChwb2ludCwgZXZlbnQpKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgTC5pY29uKHtcbiAgICAgICAgICAgIGljb25Vcmw6IHJlZFBpblJlZFNoYWRvdyxcbiAgICAgICAgICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgICAgICAgICBpY29uQW5jaG9yOiBbMzAsIDUyXSxcbiAgICAgICAgICB9KSxcblxuICAgICAgICAgIEwuaWNvbih7XG4gICAgICAgICAgICBpY29uVXJsOiB3YXRlckljb25Ob0JhY2tncm91bmQsXG4gICAgICAgICAgICBpY29uU2l6ZTogWzAsIDBdLFxuXG4gICAgICAgICAgICBpY29uQW5jaG9yOiBbMjIsIDQ0XSxcbiAgICAgICAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbWJpbmVkQ29sbGVjdG9yc0ljb247XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIG51bGw7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBzdGFuZGFyZEJhY2tncm91bmQgPSAoXG4gIHNlY29uZGFyeTogYm9vbGVhbiA9IGZhbHNlLFxuICB0aGlyZDogYm9vbGVhbiA9IGZhbHNlLFxuKSA9PiB7XG4gIHJldHVybiBMLmljb24oe1xuICAgIGljb25Vcmw6IHdoaXRlUGluQmxhY2tTaGFkb3csXG4gICAgaWNvblNpemU6IHNlY29uZGFyeSA/IFswLCAwXSA6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBzZWNvbmRhcnkgJiYgdGhpcmQgPyBbLTIsIDE5XSA6IHNlY29uZGFyeSA/IFstMiwgNDRdIDogWzIwLCA0Ml0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBjb21iaW5lZEZhY3RvcnlJY29uID0gW1xuICBMLmljb24oe1xuICAgIGljb25Vcmw6IHllbGxvd0NpcmNsZVVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFsxMC43LCAzMy43XSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuICBMLmljb24oe1xuICAgIGljb25Vcmw6IHBsYW50SWNvblVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFs1LCAzMF0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbl07XG5cbmV4cG9ydCBjb25zdCBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbiA9IFtcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiBncmVlbkNpcmNsZVVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFsxMC43LCAzMy43XSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuICBMLmljb24oe1xuICAgIGljb25Vcmw6IHB1bXBTdGF0aW9uSWNvblVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFs3LCAzMl0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbl07XG5cbmV4cG9ydCBjb25zdCBjb21iaW5lZENvbGxlY3RvcnNJY29uID0gW1xuICBMLmljb24oe1xuICAgIGljb25Vcmw6IGNvbGxlY3Rvckljb24sXG4gICAgaWNvblNpemU6IFswLCAwXSxcblxuICAgIGljb25BbmNob3I6IFsyNSwgNTBdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG5dO1xuXG5leHBvcnQgY29uc3QgY29tYmluZWRXV1RQSWNvbiA9IFtcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiBicmlnaHRCbHVlQ2lyY2xlVVJMLFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzEwLjcsIDMzLjddLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG4gIEwuaWNvbih7XG4gICAgaWNvblVybDogV1dUUEljb25VUkwsXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbOCwgMzFdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG5dO1xuXG5leHBvcnQgY29uc3Qgc2VsZWN0ZWRCYWNrZ3JvdW5kID0gKCkgPT4ge1xuICByZXR1cm4gTC5pY29uKHtcbiAgICBpY29uVXJsOiByZWRQaW5SZWRTaGFkb3csXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbMzIsIDU0XSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQgPSAoKSA9PiB7XG4gIHJldHVybiBMLmljb24oe1xuICAgIGljb25Vcmw6IHdoaXRlUGluUmVkU2hhZG93LFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzMyLCA1NF0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZSA9IChldmVudDogSUV2ZW50LCBwb2ludDogSVBvaW50KSA9PiB7XG4gIGxldCBzb3VyY2U7XG5cbiAgaWYgKGV2ZW50ICE9PSBudWxsICYmIGV2ZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICBzb3VyY2UgPSBldmVudC5zb3VyY2VzLmZpbHRlcigoc291cmNlKSA9PiBzb3VyY2UucG9pbnRfaWQgPT09IHBvaW50LmlkKVswXTtcbiAgfVxuXG4gIHJldHVybiBldmVudCAhPT0gbnVsbCAmJiBzb3VyY2UgJiYgZXZlbnQuc2VsZWN0ZWRfc291cmNlID09PSBzb3VyY2UucG9pbnRfaWQ7XG59O1xuXG5leHBvcnQgY29uc3QgbWFya2VyQmVsb25nc1RvU291cmNlID0gKGV2ZW50OiBJRXZlbnQsIHBvaW50OiBJUG9pbnQpID0+IHtcbiAgaWYgKGV2ZW50ID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgcmV0dXJuIChcbiAgICBldmVudCAhPT0gbnVsbCAmJlxuICAgIGV2ZW50LnNvdXJjZXMuZmlsdGVyKChzb3VyY2UpID0+IHNvdXJjZS5wb2ludF9pZCA9PT0gcG9pbnQuaWQpWzBdXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlU2FtcGxpbmdJY29uUG9pbnQgPSAoXG4gIG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSxcbiAgc2Vjb25kYXJ5SWNvbjogYm9vbGVhbixcbiAgbWFwLFxuICBwb2ludDogSVBvaW50LFxuICBldmVudDogSUV2ZW50LFxuICBob3ZlcmVkPyxcbiAgbGF5ZXJHcm91cD8sXG4pID0+IHtcbiAgLy8gaWNvblNpemU6IFt3aWR0aCwgaGVpZ2h0XSxcbiAgLy8gSWNvbiBBbmNob3I6IFsoLXJpZ2h0KSgrbGVmdCksICgtZG93bikoK3VwKV1cbiAgbGV0IHNhbXBsaW5nSWNvbiA9IFtcbiAgICBMLmljb24oe1xuICAgICAgaWNvblVybDogYmx1ZUNpcmNsZVVSTCxcbiAgICAgIGljb25TaXplOiBzZWNvbmRhcnlJY29uID8gWzAsIDBdIDogWzAsIDBdLFxuICAgICAgaWNvbkFuY2hvcjogc2Vjb25kYXJ5SWNvbiA/IFstNywgMTVdIDogWzEwLjcsIDMzLjddLFxuICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgIH0pLFxuICAgIEwuaWNvbih7XG4gICAgICBpY29uVXJsOiBzYW1wbGluZ0ljb25VUkwsXG4gICAgICBpY29uU2l6ZTogc2Vjb25kYXJ5SWNvbiA/IFswLCAwXSA6IFswLCAwXSxcbiAgICAgIGljb25BbmNob3I6IHNlY29uZGFyeUljb24gPyBbLTgsIDEzXSA6IFs1LCAzMF0sXG4gICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgfSksXG4gIF07XG5cbiAgbGV0IHRoaXJkSWNvbiA9IGZhbHNlO1xuICBpZiAobWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UoZXZlbnQsIHBvaW50KSAmJiAhc2Vjb25kYXJ5SWNvbikge1xuICAgIHNhbXBsaW5nSWNvbi51bnNoaWZ0KHNlbGVjdGVkQmFja2dyb3VuZCgpKTtcbiAgfSBlbHNlIGlmIChtYXJrZXJCZWxvbmdzVG9Tb3VyY2UoZXZlbnQsIHBvaW50KSAmJiAhc2Vjb25kYXJ5SWNvbikge1xuICAgIHNhbXBsaW5nSWNvbi51bnNoaWZ0KGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQoKSk7XG4gIH0gZWxzZSB7XG4gICAgdGhpcmRJY29uID0gdHJ1ZTtcbiAgICBzYW1wbGluZ0ljb24udW5zaGlmdChzdGFuZGFyZEJhY2tncm91bmQoc2Vjb25kYXJ5SWNvbiwgdGhpcmRJY29uKSk7XG4gIH1cblxuICBzYW1wbGluZ0ljb24uZm9yRWFjaCgoaWNvbiwgaW5kZXgpID0+IHtcbiAgICBsZXQgcG9pbnRDdXN0b21JY29uOiBhbnkgPSBMLm1hcmtlcihtYXJrZXJMb2NhdGlvbiwge1xuICAgICAgaWNvbjogaWNvbixcbiAgICAgIHJpc2VPbkhvdmVyOiBmYWxzZSxcbiAgICB9KTtcbiAgICBwb2ludEN1c3RvbUljb24uYmluZFRvb2x0aXAoYnVpbGRNYW5ob2xlVG9vbHRpcFN0cmluZyhwb2ludCkpO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9faW5kZXhfb2JqZWN0J10gPSBpbmRleDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2Zld19sYXllcl9pY29uJ10gPSB0cnVlO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fc2Vjb25kYXJ5J10gPSB0aGlyZEljb24gPyBmYWxzZSA6IHNlY29uZGFyeUljb247XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb190aGlyZCddID0gdGhpcmRJY29uO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ1NhbXBsaW5nJztcbiAgICBpZiAoaG92ZXJlZCkgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdTYW1wbGluZ0hvdmVyZWQnO1xuICAgIGxheWVyR3JvdXAuYWRkTGF5ZXIocG9pbnRDdXN0b21JY29uKTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlT2JzZXJ2YXRpb25JY29uUG9pbnQgPSAoXG4gIG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSxcbiAgc2Vjb25kYXJ5SWNvbjogYm9vbGVhbixcbiAgbWFwLFxuICBwb2ludDogSVBvaW50LFxuICBldmVudDogSUV2ZW50LFxuICBob3ZlcmVkPyxcbiAgbGF5ZXJHcm91cD8sXG4pID0+IHtcbiAgLy8gaWNvblNpemU6IFt3aWR0aCwgaGVpZ2h0XSxcbiAgLy8gSWNvbiBBbmNob3I6IFsoLXJpZ2h0KSgrbGVmdCksICgtZG93bikoK3VwKV1cbiAgbGV0IG9ic2VydmF0aW9uSWNvbiA9IFtcbiAgICBMLmljb24oe1xuICAgICAgaWNvblVybDogcGlua0NpcmNsZVVSTCxcbiAgICAgIGljb25TaXplOiBzZWNvbmRhcnlJY29uID8gWzAsIDBdIDogWzAsIDBdLFxuICAgICAgaWNvbkFuY2hvcjogc2Vjb25kYXJ5SWNvbiA/IFstNywgNDBdIDogWzEwLjcsIDMzLjddLFxuICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgIH0pLFxuICAgIEwuaWNvbih7XG4gICAgICBpY29uVXJsOiBvYnNlcnZhdGlvbkljb25VUkwsXG4gICAgICBpY29uU2l6ZTogc2Vjb25kYXJ5SWNvbiA/IFswLCAwXSA6IFswLCAwXSxcbiAgICAgIGljb25BbmNob3I6IHNlY29uZGFyeUljb24gPyBbLTgsIDM4XSA6IFs1LCAzMF0sXG4gICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgfSksXG4gIF07XG5cbiAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkgJiYgIXNlY29uZGFyeUljb24pIHtcbiAgICBvYnNlcnZhdGlvbkljb24udW5zaGlmdChzZWxlY3RlZEJhY2tncm91bmQoKSk7XG4gIH0gZWxzZSBpZiAobWFya2VyQmVsb25nc1RvU291cmNlKGV2ZW50LCBwb2ludCkgJiYgIXNlY29uZGFyeUljb24pIHtcbiAgICBvYnNlcnZhdGlvbkljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICB9IGVsc2Uge1xuICAgIG9ic2VydmF0aW9uSWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZChzZWNvbmRhcnlJY29uKSk7XG4gIH1cblxuICBvYnNlcnZhdGlvbkljb24uZm9yRWFjaCgoaWNvbiwgaW5kZXgpID0+IHtcbiAgICBsZXQgcG9pbnRDdXN0b21JY29uOiBhbnkgPSBMLm1hcmtlcihtYXJrZXJMb2NhdGlvbiwge1xuICAgICAgaWNvbjogaWNvbixcbiAgICAgIHJpc2VPbkhvdmVyOiBmYWxzZSxcbiAgICB9KTtcbiAgICBwb2ludEN1c3RvbUljb24uYmluZFRvb2x0aXAoYnVpbGRNYW5ob2xlVG9vbHRpcFN0cmluZyhwb2ludCkpO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9faW5kZXhfb2JqZWN0J10gPSBpbmRleDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2Zld19sYXllcl9pY29uJ10gPSB0cnVlO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fc2Vjb25kYXJ5J10gPSBzZWNvbmRhcnlJY29uO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fdGhpcmQnXSA9IGZhbHNlO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ09ic2VydmF0aW9uJztcbiAgICBpZiAoaG92ZXJlZCkgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdPYnNlcnZhdGlvbkhvdmVyZWQnO1xuICAgIGxheWVyR3JvdXAuYWRkTGF5ZXIocG9pbnRDdXN0b21JY29uKTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlU2FtcGxpbmdJY29ucyA9IChcbiAgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlLFxuICBldmVudDogSUV2ZW50LFxuICBwb2ludDogSVBvaW50LFxuICBtYXAsXG4gIGhvdmVyZWQsXG4gIGxheWVyR3JvdXA/LFxuKSA9PiB7XG4gIGxldCBzYW1wbGVkUG9pbnRJZHMgPSBldmVudC5zYW1wbGluZ3MubWFwKChzKSA9PiBzLnBvaW50X2lkKTtcbiAgaWYgKFxuICAgIGV2ZW50ICE9PSBudWxsICYmXG4gICAgZXZlbnQuc2FtcGxpbmdzLmxlbmd0aCAhPT0gMCAmJlxuICAgIHNhbXBsZWRQb2ludElkcy5pbmNsdWRlcyhwb2ludC5pZClcbiAgKSB7XG4gICAgY3JlYXRlU2FtcGxpbmdJY29uUG9pbnQoXG4gICAgICBtYXJrZXJMb2NhdGlvbixcbiAgICAgIG1hdGNoSWNvblRvUG9pbnQocG9pbnQsIGV2ZW50KSAhPT0gbnVsbCxcbiAgICAgIG1hcCxcbiAgICAgIHBvaW50LFxuICAgICAgZXZlbnQsXG4gICAgICBob3ZlcmVkLFxuICAgICAgbGF5ZXJHcm91cCxcbiAgICApO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgcG9wdXBDb250ZW50ID0gKG9iczogYW55LCBwb2ludDogSVBvaW50KSA9PiB7XG4gIGlmIChvYnMgPT09IG51bGwpIHtcbiAgICByZXR1cm4gYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50LXBvcHVwXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLWdyYXBoLWljb24gcG9wdXAtZ3JhcGgtaWNvbi0ke3BvaW50LmlkfVwiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIiR7R3JhcGhJY29ufVwiLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zaXRlLW5hbWVcIj48Yj4ke3BvaW50Lmdyb3VwLm5hbWV9PC9iPjwvaDU+XG4gICAgICAgICAgICAgICAgICAgIDxoci8+XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwic2VjdG9yXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIGA7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudC1wb3B1cFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1ncmFwaC1pY29uIHBvcHVwLWdyYXBoLWljb24tJHtvYnMuaWR9XCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiJHtHcmFwaEljb259XCIvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NpdGUtbmFtZVwiPjxiPiR7XG4gICAgICAgICAgICAgICAgICAgICAgcG9pbnQuZ3JvdXAubmFtZVxuICAgICAgICAgICAgICAgICAgICB9PC9iPjwvaDU+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eS1wXCI+JHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGBldmVudHNfb3ZlcnZpZXcuc2V2ZXJpdHlgLFxuICAgICAgICAgICAgICAgICAgICAgICAgKX08L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIiR7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICdwb3B1cC1jb250ZW50X19zZXZlcml0eS0tJyArIG9icy5zZXZlcml0eVxuICAgICAgICAgICAgICAgICAgICAgICAgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiIGNsYXNzPVwicG9wdXAtY29udGVudF9fc2V2ZXJpdHktYlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZXZlbnRzX292ZXJ2aWV3LnNldmVyaXRpZXMuJHtvYnMuc2V2ZXJpdHl9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2I+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPGhyIGNsYXNzPVwicG9wdXAtY29udGVudF9faHJcIiAvPlxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1jb250ZW50X19kaXNjaGFyZ2UtdGltZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NldmVyaXR5LXBcIj4ke2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBldmVudHNfb3ZlcnZpZXcuZmlyc3Rfc2VlbmAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX06PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxiIGlkPVwiZmlyc3Qtc2Vlbi1wb3B1cFwiPjwvYj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eS1wXCI+JHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZXZlbnRzX292ZXJ2aWV3Lmxhc3Rfc2VlbmAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX06PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxiIGlkPVwibGFzdC1zZWVuLXBvcHVwXCI+PC9iPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBgO1xuICB9XG59O1xuXG5sZXQgc2V0SWNvbiA9IChlbGVtZW50LCBjbGlja2VkLCBwb2ludCkgPT4ge1xuICBlbGVtZW50LnNldEljb24oXG4gICAgZ2V0UG9pbnRJY29uQnlUeXBlKFxuICAgICAgcG9pbnQuZ3JvdXAudHlwZSxcbiAgICAgIHBvaW50Lm5hbWUsXG4gICAgICBwb2ludC5ncm91cC5zZWN0b3JfbmFtZSxcbiAgICAgIGNsaWNrZWQsXG4gICAgICBmYWxzZSxcbiAgICApLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGNhbGN1bGF0ZVdhdGVyQ29uc3VtcHRpb24gPSAoZmxvd19yYXRlX3VuaXQsIHdhdGVyQ29uc3VtcHRpb24pID0+IHtcbiAgcmV0dXJuIGZsb3dfcmF0ZV91bml0ID09PSAnbTNkJ1xuICAgID8gd2F0ZXJDb25zdW1wdGlvbi50b0ZpeGVkKDApXG4gICAgOiB3YXRlckNvbnN1bXB0aW9uID4gMFxuICAgID8gKHdhdGVyQ29uc3VtcHRpb24gKiAyNjQuMTcyKS50b0ZpeGVkKDMpXG4gICAgOiAwO1xufTtcblxuZXhwb3J0IGNvbnN0IHRyYW5zbGF0ZUZsb3dSYXRlID0gKGZsb3dfcmF0ZV91bml0KSA9PiB7XG4gIHJldHVybiBpMThuLnQoXG4gICAgYGRhc2hib2FyZF92Mi5wcm9maWxlLmZsb3dfcmF0ZV91bml0X29wdGlvbnMuJHtmbG93X3JhdGVfdW5pdH1gLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZU1hcmtlckNsaWNrID0gKG1hcCwgcG9pbnQsIHBvaW50Q3VzdG9tSWNvbiwgaGFuZGxlQ2xpY2spID0+IHtcbiAgbWFwLm9uKCd6b29tc3RhcnQnLCBmdW5jdGlvbiAoKSB7XG4gICAgbWFwLmNsb3NlUG9wdXAoKTtcbiAgfSk7XG5cbiAgcG9pbnRDdXN0b21JY29uLm9uKCdwb3B1cGNsb3NlJywgKCkgPT4ge1xuICAgIHNldEljb24ocG9pbnRDdXN0b21JY29uLCBmYWxzZSwgcG9pbnQpO1xuICB9KTtcblxuICBwb2ludEN1c3RvbUljb24ub24oJ3BvcHVwb3BlbicsICgpID0+IHtcbiAgICBzZXRJY29uKHBvaW50Q3VzdG9tSWNvbiwgdHJ1ZSwgcG9pbnQpO1xuICB9KTtcbiAgaWYgKHR5cGVvZiBoYW5kbGVDbGljayA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHBvaW50Q3VzdG9tSWNvbi5vbignY2xpY2snLCAoKSA9PiB7XG4gICAgICBoYW5kbGVDbGljayhwb2ludEN1c3RvbUljb24ua2FuZG9fb2JqZWN0X2lkKTtcblxuICAgICAgaWYgKHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6OkZhY3RvcnknKSB7XG4gICAgICAgIHNlbmRBbmFseXRpY3NFdmVudCgnTWFwIFZpZXcgLSBGYWN0b3J5IGNsaWNrZWQnLCAnbWFwJywge1xuICAgICAgICAgIHBvaW50X2lkOiBwb2ludC5pZCxcbiAgICAgICAgICBwb2ludF9uYW1lOiBwb2ludC5uYW1lLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGJpbmRQb3B1cFRvTWFya2VyID0gKHBvaW50LCBsYXllckdyb3VwLCBmbG93X3JhdGVfdW5pdCkgPT4ge1xuICBsZXQgY29udGVudCA9IGBcbiAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnQnPlxuICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2hlYWRlcic+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1jb250ZW50X19oZWFkZXJfX3RpdGxlc1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9faGVhZGVyX190aXRsZXNfX3RpdGxlJz4ke1xuICAgICAgICAgICAgICAgICAgcG9pbnQubmFtZVxuICAgICAgICAgICAgICAgIH08L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2hlYWRlcl9fdGl0bGVzX19zdWJ0aXRsZSc+JHtcbiAgICAgICAgICAgICAgICAgIHBvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lXG4gICAgICAgICAgICAgICAgfTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgIFxuICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHknPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5X19pdGVtJz5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHlfX2l0ZW1fX2ljb24nPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0nJHt3YXRlclJldXNlSWNvbn0nIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5X19pdGVtX190aXRsZXMnPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5X19pdGVtX190aXRsZXNfX3RpdGxlJz4ke2NhbGN1bGF0ZVdhdGVyQ29uc3VtcHRpb24oXG4gICAgICAgICAgICAgICAgICAgIGZsb3dfcmF0ZV91bml0LFxuICAgICAgICAgICAgICAgICAgICBwb2ludC5ncm91cC53YXRlcl9jb25zdW1wdGlvbl9wZXJfZGF5LFxuICAgICAgICAgICAgICAgICAgKX0gJHt0cmFuc2xhdGVGbG93UmF0ZShmbG93X3JhdGVfdW5pdCl9PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHlfX2l0ZW1fX3RpdGxlc19fc3VidGl0bGUnPiR7aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAnd2F0ZXJfZGlzY2hhcmdlJyxcbiAgICAgICAgICAgICAgICAgICl9PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgYDtcblxuICBsYXllckdyb3VwLmJpbmRQb3B1cChjb250ZW50LCB7XG4gICAgY2xhc3NOYW1lOiAncG9pbnQtbWFya2VyLXBvcHVwJyxcbiAgICBtaW5XaWR0aDogJzIxNHB4JyxcbiAgICBtYXhXaWR0aDogJzIxNHB4JyxcbiAgICBjbG9zZUJ1dHRvbjogdHJ1ZSxcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgcmVtb3ZlTGF5ZXJHcm91cCA9IChtYXAsIGxheWVyR3JvdXApID0+IHtcbiAgaWYgKG1hcC5oYXNMYXllcihsYXllckdyb3VwKSkge1xuICAgIG1hcC5yZW1vdmVMYXllcihsYXllckdyb3VwKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGFkZExheWVyR3JvdXAgPSAobWFwLCBsYXllckdyb3VwKSA9PiB7XG4gIGlmICghbWFwLmhhc0xheWVyKGxheWVyR3JvdXApKSB7XG4gICAgbWFwLmFkZExheWVyKGxheWVyR3JvdXApO1xuICB9IGVsc2Uge1xuICAgIHJlbW92ZUxheWVyR3JvdXAobWFwLCBsYXllckdyb3VwKTtcbiAgICBhZGRMYXllckdyb3VwKG1hcCwgbGF5ZXJHcm91cCk7XG4gIH1cbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQ0EsSUFBQUEsUUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsS0FBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQTJDLElBQUFFLFdBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUFBLElBQUFHLGFBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUFBLElBQUFJLFdBQUEsR0FBQUwsc0JBQUEsQ0FBQUMsT0FBQTtBQUFBLElBQUFLLGdCQUFBLEdBQUFOLHNCQUFBLENBQUFDLE9BQUE7QUFPM0MsSUFBQU0sZ0JBQUEsR0FBQVAsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFPLGtCQUFBLEdBQUFSLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBUSxvQkFBQSxHQUFBVCxzQkFBQSxDQUFBQyxPQUFBO0FBQXlGLElBQUFTLGFBQUEsR0FBQVYsc0JBQUEsQ0FBQUMsT0FBQTtBQUFBLElBQUFVLFlBQUEsR0FBQVgsc0JBQUEsQ0FBQUMsT0FBQTtBQUFBLElBQUFXLFlBQUEsR0FBQVosc0JBQUEsQ0FBQUMsT0FBQTtBQUFBLElBQUFZLGdCQUFBLEdBQUFiLHNCQUFBLENBQUFDLE9BQUE7QUFBQSxJQUFBYSxTQUFBLEdBQUFkLHNCQUFBLENBQUFDLE9BQUE7QUFBQSxJQUFBYyxpQkFBQSxHQUFBZixzQkFBQSxDQUFBQyxPQUFBO0FBQUEsSUFBQWUsU0FBQSxHQUFBaEIsc0JBQUEsQ0FBQUMsT0FBQTtBQUFBLElBQUFnQixrQkFBQSxHQUFBakIsc0JBQUEsQ0FBQUMsT0FBQTtBQVN6RixJQUFBaUIsV0FBQSxHQUFBbEIsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFrQixTQUFBLEdBQUFsQixPQUFBO0FBQ0EsSUFBQW1CLFVBQUEsR0FBQW5CLE9BQUE7QUFBaUQsSUFBQW9CLFlBQUEsR0FBQXJCLHNCQUFBLENBQUFDLE9BQUE7QUFFakQsSUFBQXFCLE1BQUEsR0FBQXJCLE9BQUE7QUFFTyxJQUFNc0Isa0JBQWtCLEdBQUcsU0FBckJBLGtCQUFrQkEsQ0FBSUMsS0FBYSxFQUFFQyxLQUFhLEVBQUs7RUFBQSxJQUFBQyxtQkFBQTtFQUNsRSxPQUNFLENBQUFELEtBQUssYUFBTEEsS0FBSyx3QkFBQUMsbUJBQUEsR0FBTEQsS0FBSyxDQUFFRSxZQUFZLGNBQUFELG1CQUFBLHVCQUFuQkEsbUJBQUEsQ0FBcUJFLE1BQU0sTUFBSyxDQUFDLElBQ2pDSixLQUFLLENBQUNLLEVBQUUsS0FBS0osS0FBSyxDQUFDRSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUNHLFFBQVE7QUFFL0MsQ0FBQztBQUFDQyxPQUFBLENBQUFSLGtCQUFBLEdBQUFBLGtCQUFBO0FBRUYsSUFBTVMseUJBQXlCLEdBQUcsU0FBNUJBLHlCQUF5QkEsQ0FBSVIsS0FBYSxFQUFLO0VBQ25ELElBQUlTLE1BQU0sTUFBQUMsTUFBQSxDQUFNVixLQUFLLENBQUNXLEtBQUssQ0FBQ0MsSUFBSSxNQUFHO0VBRW5DLElBQUlaLEtBQUssQ0FBQ1csS0FBSyxDQUFDRSxJQUFJLEtBQUssaUJBQWlCLEVBQUU7SUFDMUNKLE1BQU0sb0JBQUFDLE1BQUEsQ0FBb0JWLEtBQUssQ0FBQ1csS0FBSyxDQUFDRyxXQUFXLENBQUU7SUFDbkRMLE1BQU0sK0JBQUFDLE1BQUEsQ0FBK0JWLEtBQUssQ0FBQ1csS0FBSyxDQUFDSSx5QkFBeUIsQ0FBRTtFQUM5RSxDQUFDLE1BQU07SUFDTE4sTUFBTSxNQUFBQyxNQUFBLENBQU1WLEtBQUssQ0FBQ1ksSUFBSSxDQUFFO0VBQzFCO0VBRUEsT0FBT0gsTUFBTTtBQUNmLENBQUM7QUFFTSxJQUFNTyxhQUFhLEdBQUcsU0FBaEJBLGFBQWFBLENBQUlDLElBQUksRUFBSztFQUNyQyxJQUFJQyxlQUF5QixHQUFHQyxnQkFBQyxDQUFDQyxNQUFNLENBQUNILElBQUksQ0FBQ0ksY0FBYyxFQUFFO0lBQzVEQyxJQUFJLEVBQUUsSUFBQUMsNkJBQWtCLEVBQ3RCTixJQUFJLENBQUNqQixLQUFLLENBQUNXLEtBQUssQ0FBQ0UsSUFBSSxFQUNyQkksSUFBSSxDQUFDakIsS0FBSyxDQUFDWSxJQUFJLEVBQ2YsRUFBRSxFQUNGLEtBQUssRUFDTCxLQUNGLENBQUM7SUFDRFksV0FBVyxFQUFFO0VBQ2YsQ0FBQyxDQUFDO0VBRUYsT0FBT04sZUFBZTtBQUN4QixDQUFDO0FBQUNYLE9BQUEsQ0FBQVMsYUFBQSxHQUFBQSxhQUFBO0FBRUssSUFBTVMsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FDNUJKLGNBQTJCLEVBQzNCckIsS0FBYSxFQUNiMEIsR0FBRyxFQUNIQyxPQUFRLEVBQ1JDLFVBQVcsRUFDWEMsY0FBZSxFQUNmQyxXQUFZLEVBQ1Q7RUFDSCxJQUFNQyxRQUFRLEdBQ1ovQixLQUFLLENBQUNXLEtBQUssQ0FBQ0UsSUFBSSxLQUFLLGlCQUFpQixHQUFHYixLQUFLLENBQUNXLEtBQUssQ0FBQ0csV0FBVyxHQUFHLEVBQUU7RUFDdkUsSUFBSUksZUFBeUIsR0FBR0MsZ0JBQUMsQ0FBQ0MsTUFBTSxDQUFDQyxjQUFjLEVBQUU7SUFDdkRDLElBQUksRUFBRSxJQUFBQyw2QkFBa0IsRUFDdEJ2QixLQUFLLENBQUNXLEtBQUssQ0FBQ0UsSUFBSSxFQUNoQmIsS0FBSyxDQUFDWSxJQUFJLEVBQ1ZtQixRQUFRLEVBQ1IsS0FBSyxFQUNMLEtBQ0YsQ0FBQztJQUNEUCxXQUFXLEVBQUU7RUFDZixDQUFDLENBQUM7RUFDRjtFQUNBO0VBQ0FOLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHbEIsS0FBSyxDQUFDSyxFQUFFO0VBQzdDYSxlQUFlLENBQUMsY0FBYyxDQUFDLEdBQUcsT0FBTztFQUN6QyxJQUFJUyxPQUFPLEVBQUVULGVBQWUsQ0FBQyxjQUFjLENBQUMsR0FBRyxjQUFjO0VBRTdEVSxVQUFVLENBQUNJLFFBQVEsQ0FBQ2QsZUFBZSxDQUFDO0VBQ3BDLElBQUlsQixLQUFLLENBQUNXLEtBQUssQ0FBQ0UsSUFBSSxLQUFLLGlCQUFpQixFQUFFO0lBQzFDb0IsaUJBQWlCLENBQUNqQyxLQUFLLEVBQUVrQixlQUFlLEVBQUVXLGNBQWMsQ0FBQztFQUMzRDtFQUVBSyxpQkFBaUIsQ0FBQ1IsR0FBRyxFQUFFMUIsS0FBSyxFQUFFa0IsZUFBZSxFQUFFWSxXQUFXLENBQUM7RUFFM0QsSUFBSTlCLEtBQUssQ0FBQ21DLG1CQUFtQixFQUFFO0lBQzdCLElBQUlqQixnQkFBZSxHQUFHQyxnQkFBQyxDQUFDQyxNQUFNLENBQUNDLGNBQWMsRUFBRTtNQUM3Q0MsSUFBSSxFQUFFSCxnQkFBQyxDQUFDaUIsT0FBTyxDQUFDO1FBQ2RDLFNBQVMsaUJBQUEzQixNQUFBLENBRUxWLEtBQUssQ0FBQ21DLG1CQUFtQixJQUFJLEdBQUcsR0FDNUIscURBQXFELEdBQ3JELHNCQUFzQixtQkFBQXpCLE1BQUEsQ0FFMUJWLEtBQUssQ0FBQ21DLG1CQUFtQixHQUFHLENBQUMsR0FBRyxhQUFhLEdBQUcsRUFBRSxtQkFDakQ7UUFDTEcsSUFBSSxRQUFBNUIsTUFBQSxDQUFRVixLQUFLLENBQUNtQyxtQkFBbUIsU0FBTTtRQUMzQ0ksVUFBVSxFQUFFLElBQUFDLHlCQUFlLEVBQUNkLEdBQUcsQ0FBQ2UsS0FBSyxDQUFDLENBQUNGO01BQ3pDLENBQUMsQ0FBQztNQUNGZixXQUFXLEVBQUUsS0FBSztNQUNsQmtCLE9BQU8sRUFBRWYsT0FBTyxHQUFHLENBQUMsR0FBRztJQUN6QixDQUFDLENBQUM7SUFFRlQsZ0JBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHbEIsS0FBSyxDQUFDSyxFQUFFO0lBQzdDYSxnQkFBZSxDQUFDLGNBQWMsQ0FBQyxHQUFHLFlBQVk7SUFDOUMsSUFBSVMsT0FBTyxFQUFFVCxnQkFBZSxDQUFDLGNBQWMsQ0FBQyxHQUFHLG1CQUFtQjtFQUNwRTtBQUNGLENBQUM7QUFBQ1gsT0FBQSxDQUFBa0IsaUJBQUEsR0FBQUEsaUJBQUE7QUFFSyxJQUFNa0Isa0JBQWtCLEdBQUcsU0FBckJBLGtCQUFrQkEsQ0FDN0J0QixjQUEyQixFQUMzQnJCLEtBQWEsRUFDYjBCLEdBQUcsRUFDSEMsT0FBUSxFQUNSQyxVQUFXLEVBQ1I7RUFDSCxJQUFJZ0IsU0FBUyxHQUFHLElBQUl6QixnQkFBQyxDQUFDMEIsSUFBSSxDQUFDO0lBQ3pCQyxPQUFPLEVBQUVDLG1CQUFVO0lBQ25CQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hCVCxVQUFVLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRztFQUN2QixDQUFDLENBQUM7RUFDRixJQUFJVSxXQUFnQixHQUFHLElBQUk5QixnQkFBQyxDQUFDK0IsTUFBTSxDQUFDN0IsY0FBYyxFQUFFO0lBQ2xEQyxJQUFJLEVBQUVzQixTQUFTO0lBQ2ZwQixXQUFXLEVBQUU7RUFDZixDQUFDLENBQUM7RUFDRnlCLFdBQVcsQ0FBQ0UsV0FBVyxDQUFDM0MseUJBQXlCLENBQUNSLEtBQUssQ0FBQyxDQUFDO0VBQ3pEaUQsV0FBVyxDQUFDLGlCQUFpQixDQUFDLEdBQUdqRCxLQUFLLENBQUNLLEVBQUU7RUFDekM0QyxXQUFXLENBQUMsY0FBYyxDQUFDLEdBQUcsT0FBTztFQUNyQ0EsV0FBVyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsU0FBUztFQUMzQyxJQUFJdEIsT0FBTyxFQUFFc0IsV0FBVyxDQUFDLGNBQWMsQ0FBQyxHQUFHLGNBQWM7RUFDekRyQixVQUFVLENBQUNJLFFBQVEsQ0FBQ2lCLFdBQVcsQ0FBQztBQUNsQyxDQUFDO0FBQUMxQyxPQUFBLENBQUFvQyxrQkFBQSxHQUFBQSxrQkFBQTtBQUVLLElBQU1TLGdCQUFnQixHQUFHLFNBQW5CQSxnQkFBZ0JBLENBQUlwRCxLQUFhLEVBQUVDLEtBQWEsRUFBSztFQUNoRSxRQUFRRCxLQUFLLENBQUNXLEtBQUssQ0FBQ0UsSUFBSTtJQUN0QixLQUFLLGlCQUFpQjtNQUNwQixJQUFJd0MsbUJBQW1CLENBQUNqRCxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ3BDLElBQUlrRCw2QkFBNkIsQ0FBQ3JELEtBQUssRUFBRUQsS0FBSyxDQUFDLEVBQUU7VUFDL0NxRCxtQkFBbUIsQ0FBQ0UsT0FBTyxDQUFDQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7UUFDbkQsQ0FBQyxNQUFNLElBQUlDLHFCQUFxQixDQUFDeEQsS0FBSyxFQUFFRCxLQUFLLENBQUMsRUFBRTtVQUM5Q3FELG1CQUFtQixDQUFDRSxPQUFPLENBQUNHLHlCQUF5QixDQUFDLENBQUMsQ0FBQztRQUMxRCxDQUFDLE1BQU07VUFDTEwsbUJBQW1CLENBQUNFLE9BQU8sQ0FBQ0ksa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1FBQ25EO01BQ0Y7TUFFQSxPQUFPTixtQkFBbUI7SUFDNUIsS0FBSyxxQkFBcUI7TUFDeEIsSUFBSU8sdUJBQXVCLENBQUN4RCxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ3hDLElBQUlrRCw2QkFBNkIsQ0FBQ3JELEtBQUssRUFBRUQsS0FBSyxDQUFDLEVBQUU7VUFDL0M0RCx1QkFBdUIsQ0FBQ0wsT0FBTyxDQUFDQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7UUFDdkQsQ0FBQyxNQUFNLElBQUlDLHFCQUFxQixDQUFDeEQsS0FBSyxFQUFFRCxLQUFLLENBQUMsRUFBRTtVQUM5QzRELHVCQUF1QixDQUFDTCxPQUFPLENBQUNHLHlCQUF5QixDQUFDLENBQUMsQ0FBQztRQUM5RCxDQUFDLE1BQU07VUFDTEUsdUJBQXVCLENBQUNMLE9BQU8sQ0FBQ0ksa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1FBQ3ZEO01BQ0Y7TUFFQSxPQUFPQyx1QkFBdUI7SUFDaEMsS0FBSyxrQ0FBa0M7TUFDckMsSUFBSUMsZ0JBQWdCLENBQUN6RCxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ2pDLElBQUlrRCw2QkFBNkIsQ0FBQ3JELEtBQUssRUFBRUQsS0FBSyxDQUFDLEVBQUU7VUFDL0M2RCxnQkFBZ0IsQ0FBQ04sT0FBTyxDQUFDQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7UUFDaEQsQ0FBQyxNQUFNLElBQUlDLHFCQUFxQixDQUFDeEQsS0FBSyxFQUFFRCxLQUFLLENBQUMsRUFBRTtVQUM5QzZELGdCQUFnQixDQUFDTixPQUFPLENBQUNHLHlCQUF5QixDQUFDLENBQUMsQ0FBQztRQUN2RCxDQUFDLE1BQU07VUFDTEcsZ0JBQWdCLENBQUNOLE9BQU8sQ0FBQ0ksa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1FBQ2hEO01BQ0Y7TUFFQSxPQUFPRSxnQkFBZ0I7SUFFekIsS0FBSyxvQkFBb0I7TUFDdkIsSUFBSTlELGtCQUFrQixDQUFDQyxLQUFLLEVBQUVDLEtBQUssQ0FBQyxFQUFFO1FBQ3BDLE9BQU8sQ0FDTGtCLGdCQUFDLENBQUNHLElBQUksQ0FBQztVQUNMd0IsT0FBTyxFQUFFZ0Isd0JBQWU7VUFDeEJkLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7VUFDaEJULFVBQVUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFO1FBQ3JCLENBQUMsQ0FBQyxFQUVGcEIsZ0JBQUMsQ0FBQ0csSUFBSSxDQUFDO1VBQ0x3QixPQUFPLEVBQUVpQiwwQkFBcUI7VUFDOUJmLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7VUFFaEJULFVBQVUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7VUFDcEJ5QixXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1FBQ3RCLENBQUMsQ0FBQyxDQUNIO01BQ0g7TUFFQSxPQUFPQyxzQkFBc0I7SUFFL0I7TUFDRSxPQUFPLElBQUk7RUFDZjtBQUNGLENBQUM7QUFBQzFELE9BQUEsQ0FBQTZDLGdCQUFBLEdBQUFBLGdCQUFBO0FBRUssSUFBTU8sa0JBQWtCLEdBQUcsU0FBckJBLGtCQUFrQkEsQ0FBQSxFQUcxQjtFQUFBLElBRkhPLFNBQWtCLEdBQUFDLFNBQUEsQ0FBQS9ELE1BQUEsUUFBQStELFNBQUEsUUFBQUMsU0FBQSxHQUFBRCxTQUFBLE1BQUcsS0FBSztFQUFBLElBQzFCRSxLQUFjLEdBQUFGLFNBQUEsQ0FBQS9ELE1BQUEsUUFBQStELFNBQUEsUUFBQUMsU0FBQSxHQUFBRCxTQUFBLE1BQUcsS0FBSztFQUV0QixPQUFPaEQsZ0JBQUMsQ0FBQ0csSUFBSSxDQUFDO0lBQ1p3QixPQUFPLEVBQUV3Qiw0QkFBbUI7SUFDNUJ0QixRQUFRLEVBQUVrQixTQUFTLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDM0IsVUFBVSxFQUFFMkIsU0FBUyxJQUFJRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBR0gsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQzNFRixXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFO0VBQ3RCLENBQUMsQ0FBQztBQUNKLENBQUM7QUFBQ3pELE9BQUEsQ0FBQW9ELGtCQUFBLEdBQUFBLGtCQUFBO0FBRUssSUFBTU4sbUJBQW1CLEdBQUcsQ0FDakNsQyxnQkFBQyxDQUFDRyxJQUFJLENBQUM7RUFDTHdCLE9BQU8sRUFBRXlCLHFCQUFlO0VBQ3hCdkIsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztFQUNoQlQsVUFBVSxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQztFQUN4QnlCLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUU7QUFDdEIsQ0FBQyxDQUFDLEVBQ0Y3QyxnQkFBQyxDQUFDRyxJQUFJLENBQUM7RUFDTHdCLE9BQU8sRUFBRTBCLG9CQUFZO0VBQ3JCeEIsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztFQUNoQlQsVUFBVSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUNuQnlCLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUU7QUFDdEIsQ0FBQyxDQUFDLENBQ0g7QUFBQ3pELE9BQUEsQ0FBQThDLG1CQUFBLEdBQUFBLG1CQUFBO0FBRUssSUFBTU8sdUJBQXVCLEdBQUcsQ0FDckN6QyxnQkFBQyxDQUFDRyxJQUFJLENBQUM7RUFDTHdCLE9BQU8sRUFBRTJCLG9CQUFjO0VBQ3ZCekIsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztFQUNoQlQsVUFBVSxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQztFQUN4QnlCLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUU7QUFDdEIsQ0FBQyxDQUFDLEVBQ0Y3QyxnQkFBQyxDQUFDRyxJQUFJLENBQUM7RUFDTHdCLE9BQU8sRUFBRTRCLHdCQUFrQjtFQUMzQjFCLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7RUFDaEJULFVBQVUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7RUFDbkJ5QixXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFO0FBQ3RCLENBQUMsQ0FBQyxDQUNIO0FBQUN6RCxPQUFBLENBQUFxRCx1QkFBQSxHQUFBQSx1QkFBQTtBQUVLLElBQU1LLHNCQUFzQixHQUFHLENBQ3BDOUMsZ0JBQUMsQ0FBQ0csSUFBSSxDQUFDO0VBQ0x3QixPQUFPLEVBQUU2QixpQkFBYTtFQUN0QjNCLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7RUFFaEJULFVBQVUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7RUFDcEJ5QixXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFO0FBQ3RCLENBQUMsQ0FBQyxDQUNIO0FBQUN6RCxPQUFBLENBQUEwRCxzQkFBQSxHQUFBQSxzQkFBQTtBQUVLLElBQU1KLGdCQUFnQixHQUFHLENBQzlCMUMsZ0JBQUMsQ0FBQ0csSUFBSSxDQUFDO0VBQ0x3QixPQUFPLEVBQUU4Qix5QkFBbUI7RUFDNUI1QixRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0VBQ2hCVCxVQUFVLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDO0VBQ3hCeUIsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRTtBQUN0QixDQUFDLENBQUMsRUFDRjdDLGdCQUFDLENBQUNHLElBQUksQ0FBQztFQUNMd0IsT0FBTyxFQUFFK0IsaUJBQVc7RUFDcEI3QixRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0VBQ2hCVCxVQUFVLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO0VBQ25CeUIsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRTtBQUN0QixDQUFDLENBQUMsQ0FDSDtBQUFDekQsT0FBQSxDQUFBc0QsZ0JBQUEsR0FBQUEsZ0JBQUE7QUFFSyxJQUFNTCxrQkFBa0IsR0FBRyxTQUFyQkEsa0JBQWtCQSxDQUFBLEVBQVM7RUFDdEMsT0FBT3JDLGdCQUFDLENBQUNHLElBQUksQ0FBQztJQUNad0IsT0FBTyxFQUFFZ0Isd0JBQWU7SUFDeEJkLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDaEJULFVBQVUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDcEJ5QixXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFO0VBQ3RCLENBQUMsQ0FBQztBQUNKLENBQUM7QUFBQ3pELE9BQUEsQ0FBQWlELGtCQUFBLEdBQUFBLGtCQUFBO0FBRUssSUFBTUUseUJBQXlCLEdBQUcsU0FBNUJBLHlCQUF5QkEsQ0FBQSxFQUFTO0VBQzdDLE9BQU92QyxnQkFBQyxDQUFDRyxJQUFJLENBQUM7SUFDWndCLE9BQU8sRUFBRWdDLDBCQUFpQjtJQUMxQjlCLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDaEJULFVBQVUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDcEJ5QixXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFO0VBQ3RCLENBQUMsQ0FBQztBQUNKLENBQUM7QUFBQ3pELE9BQUEsQ0FBQW1ELHlCQUFBLEdBQUFBLHlCQUFBO0FBRUssSUFBTUosNkJBQTZCLEdBQUcsU0FBaENBLDZCQUE2QkEsQ0FBSXJELEtBQWEsRUFBRUQsS0FBYSxFQUFLO0VBQzdFLElBQUkrRSxNQUFNO0VBRVYsSUFBSTlFLEtBQUssS0FBSyxJQUFJLElBQUlBLEtBQUssS0FBS21FLFNBQVMsRUFBRTtJQUN6Q1csTUFBTSxHQUFHOUUsS0FBSyxDQUFDK0UsT0FBTyxDQUFDQyxNQUFNLENBQUMsVUFBQ0YsTUFBTTtNQUFBLE9BQUtBLE1BQU0sQ0FBQ3pFLFFBQVEsS0FBS04sS0FBSyxDQUFDSyxFQUFFO0lBQUEsRUFBQyxDQUFDLENBQUMsQ0FBQztFQUM1RTtFQUVBLE9BQU9KLEtBQUssS0FBSyxJQUFJLElBQUk4RSxNQUFNLElBQUk5RSxLQUFLLENBQUNpRixlQUFlLEtBQUtILE1BQU0sQ0FBQ3pFLFFBQVE7QUFDOUUsQ0FBQztBQUFDQyxPQUFBLENBQUErQyw2QkFBQSxHQUFBQSw2QkFBQTtBQUVLLElBQU1HLHFCQUFxQixHQUFHLFNBQXhCQSxxQkFBcUJBLENBQUl4RCxLQUFhLEVBQUVELEtBQWEsRUFBSztFQUNyRSxJQUFJQyxLQUFLLEtBQUttRSxTQUFTLEVBQUU7RUFDekIsT0FDRW5FLEtBQUssS0FBSyxJQUFJLElBQ2RBLEtBQUssQ0FBQytFLE9BQU8sQ0FBQ0MsTUFBTSxDQUFDLFVBQUNGLE1BQU07SUFBQSxPQUFLQSxNQUFNLENBQUN6RSxRQUFRLEtBQUtOLEtBQUssQ0FBQ0ssRUFBRTtFQUFBLEVBQUMsQ0FBQyxDQUFDLENBQUM7QUFFckUsQ0FBQztBQUFDRSxPQUFBLENBQUFrRCxxQkFBQSxHQUFBQSxxQkFBQTtBQUVLLElBQU0wQix1QkFBdUIsR0FBRyxTQUExQkEsdUJBQXVCQSxDQUNsQzlELGNBQTJCLEVBQzNCK0QsYUFBc0IsRUFDdEIxRCxHQUFHLEVBQ0gxQixLQUFhLEVBQ2JDLEtBQWEsRUFDYjBCLE9BQVEsRUFDUkMsVUFBVyxFQUNSO0VBQ0g7RUFDQTtFQUNBLElBQUl5RCxZQUFZLEdBQUcsQ0FDakJsRSxnQkFBQyxDQUFDRyxJQUFJLENBQUM7SUFDTHdCLE9BQU8sRUFBRXdDLG1CQUFhO0lBQ3RCdEMsUUFBUSxFQUFFb0MsYUFBYSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN6QzdDLFVBQVUsRUFBRTZDLGFBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQztJQUNuRHBCLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUU7RUFDdEIsQ0FBQyxDQUFDLEVBQ0Y3QyxnQkFBQyxDQUFDRyxJQUFJLENBQUM7SUFDTHdCLE9BQU8sRUFBRXlDLHFCQUFlO0lBQ3hCdkMsUUFBUSxFQUFFb0MsYUFBYSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN6QzdDLFVBQVUsRUFBRTZDLGFBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUM5Q3BCLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUU7RUFDdEIsQ0FBQyxDQUFDLENBQ0g7RUFFRCxJQUFJd0IsU0FBUyxHQUFHLEtBQUs7RUFDckIsSUFBSWxDLDZCQUE2QixDQUFDckQsS0FBSyxFQUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDb0YsYUFBYSxFQUFFO0lBQ2pFQyxZQUFZLENBQUM5QixPQUFPLENBQUNDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztFQUM1QyxDQUFDLE1BQU0sSUFBSUMscUJBQXFCLENBQUN4RCxLQUFLLEVBQUVELEtBQUssQ0FBQyxJQUFJLENBQUNvRixhQUFhLEVBQUU7SUFDaEVDLFlBQVksQ0FBQzlCLE9BQU8sQ0FBQ0cseUJBQXlCLENBQUMsQ0FBQyxDQUFDO0VBQ25ELENBQUMsTUFBTTtJQUNMOEIsU0FBUyxHQUFHLElBQUk7SUFDaEJILFlBQVksQ0FBQzlCLE9BQU8sQ0FBQ0ksa0JBQWtCLENBQUN5QixhQUFhLEVBQUVJLFNBQVMsQ0FBQyxDQUFDO0VBQ3BFO0VBRUFILFlBQVksQ0FBQ0ksT0FBTyxDQUFDLFVBQUNuRSxJQUFJLEVBQUVvRSxLQUFLLEVBQUs7SUFDcEMsSUFBSXhFLGVBQW9CLEdBQUdDLGdCQUFDLENBQUNDLE1BQU0sQ0FBQ0MsY0FBYyxFQUFFO01BQ2xEQyxJQUFJLEVBQUVBLElBQUk7TUFDVkUsV0FBVyxFQUFFO0lBQ2YsQ0FBQyxDQUFDO0lBQ0ZOLGVBQWUsQ0FBQ2lDLFdBQVcsQ0FBQzNDLHlCQUF5QixDQUFDUixLQUFLLENBQUMsQ0FBQztJQUM3RGtCLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHd0UsS0FBSztJQUM3Q3hFLGVBQWUsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLElBQUk7SUFDOUNBLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHc0UsU0FBUyxHQUFHLEtBQUssR0FBR0osYUFBYTtJQUN0RWxFLGVBQWUsQ0FBQyxhQUFhLENBQUMsR0FBR3NFLFNBQVM7SUFDMUN0RSxlQUFlLENBQUMsaUJBQWlCLENBQUMsR0FBR2xCLEtBQUssQ0FBQ0ssRUFBRTtJQUM3Q2EsZUFBZSxDQUFDLGNBQWMsQ0FBQyxHQUFHLFVBQVU7SUFDNUMsSUFBSVMsT0FBTyxFQUFFVCxlQUFlLENBQUMsY0FBYyxDQUFDLEdBQUcsaUJBQWlCO0lBQ2hFVSxVQUFVLENBQUNJLFFBQVEsQ0FBQ2QsZUFBZSxDQUFDO0VBQ3RDLENBQUMsQ0FBQztBQUNKLENBQUM7QUFBQ1gsT0FBQSxDQUFBNEUsdUJBQUEsR0FBQUEsdUJBQUE7QUFFSyxJQUFNUSwwQkFBMEIsR0FBRyxTQUE3QkEsMEJBQTBCQSxDQUNyQ3RFLGNBQTJCLEVBQzNCK0QsYUFBc0IsRUFDdEIxRCxHQUFHLEVBQ0gxQixLQUFhLEVBQ2JDLEtBQWEsRUFDYjBCLE9BQVEsRUFDUkMsVUFBVyxFQUNSO0VBQ0g7RUFDQTtFQUNBLElBQUlnRSxlQUFlLEdBQUcsQ0FDcEJ6RSxnQkFBQyxDQUFDRyxJQUFJLENBQUM7SUFDTHdCLE9BQU8sRUFBRStDLG1CQUFhO0lBQ3RCN0MsUUFBUSxFQUFFb0MsYUFBYSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN6QzdDLFVBQVUsRUFBRTZDLGFBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQztJQUNuRHBCLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUU7RUFDdEIsQ0FBQyxDQUFDLEVBQ0Y3QyxnQkFBQyxDQUFDRyxJQUFJLENBQUM7SUFDTHdCLE9BQU8sRUFBRWdELHdCQUFrQjtJQUMzQjlDLFFBQVEsRUFBRW9DLGFBQWEsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDekM3QyxVQUFVLEVBQUU2QyxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDOUNwQixXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFO0VBQ3RCLENBQUMsQ0FBQyxDQUNIO0VBRUQsSUFBSVYsNkJBQTZCLENBQUNyRCxLQUFLLEVBQUVELEtBQUssQ0FBQyxJQUFJLENBQUNvRixhQUFhLEVBQUU7SUFDakVRLGVBQWUsQ0FBQ3JDLE9BQU8sQ0FBQ0Msa0JBQWtCLENBQUMsQ0FBQyxDQUFDO0VBQy9DLENBQUMsTUFBTSxJQUFJQyxxQkFBcUIsQ0FBQ3hELEtBQUssRUFBRUQsS0FBSyxDQUFDLElBQUksQ0FBQ29GLGFBQWEsRUFBRTtJQUNoRVEsZUFBZSxDQUFDckMsT0FBTyxDQUFDRyx5QkFBeUIsQ0FBQyxDQUFDLENBQUM7RUFDdEQsQ0FBQyxNQUFNO0lBQ0xrQyxlQUFlLENBQUNyQyxPQUFPLENBQUNJLGtCQUFrQixDQUFDeUIsYUFBYSxDQUFDLENBQUM7RUFDNUQ7RUFFQVEsZUFBZSxDQUFDSCxPQUFPLENBQUMsVUFBQ25FLElBQUksRUFBRW9FLEtBQUssRUFBSztJQUN2QyxJQUFJeEUsZUFBb0IsR0FBR0MsZ0JBQUMsQ0FBQ0MsTUFBTSxDQUFDQyxjQUFjLEVBQUU7TUFDbERDLElBQUksRUFBRUEsSUFBSTtNQUNWRSxXQUFXLEVBQUU7SUFDZixDQUFDLENBQUM7SUFDRk4sZUFBZSxDQUFDaUMsV0FBVyxDQUFDM0MseUJBQXlCLENBQUNSLEtBQUssQ0FBQyxDQUFDO0lBQzdEa0IsZUFBZSxDQUFDLG9CQUFvQixDQUFDLEdBQUd3RSxLQUFLO0lBQzdDeEUsZUFBZSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsSUFBSTtJQUM5Q0EsZUFBZSxDQUFDLGlCQUFpQixDQUFDLEdBQUdrRSxhQUFhO0lBQ2xEbEUsZUFBZSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEtBQUs7SUFDdENBLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHbEIsS0FBSyxDQUFDSyxFQUFFO0lBQzdDYSxlQUFlLENBQUMsY0FBYyxDQUFDLEdBQUcsYUFBYTtJQUMvQyxJQUFJUyxPQUFPLEVBQUVULGVBQWUsQ0FBQyxjQUFjLENBQUMsR0FBRyxvQkFBb0I7SUFDbkVVLFVBQVUsQ0FBQ0ksUUFBUSxDQUFDZCxlQUFlLENBQUM7RUFDdEMsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUFDWCxPQUFBLENBQUFvRiwwQkFBQSxHQUFBQSwwQkFBQTtBQUVLLElBQU1JLG1CQUFtQixHQUFHLFNBQXRCQSxtQkFBbUJBLENBQzlCMUUsY0FBMkIsRUFDM0JwQixLQUFhLEVBQ2JELEtBQWEsRUFDYjBCLEdBQUcsRUFDSEMsT0FBTyxFQUNQQyxVQUFXLEVBQ1I7RUFDSCxJQUFJb0UsZUFBZSxHQUFHL0YsS0FBSyxDQUFDZ0csU0FBUyxDQUFDdkUsR0FBRyxDQUFDLFVBQUN3RSxDQUFDO0lBQUEsT0FBS0EsQ0FBQyxDQUFDNUYsUUFBUTtFQUFBLEVBQUM7RUFDNUQsSUFDRUwsS0FBSyxLQUFLLElBQUksSUFDZEEsS0FBSyxDQUFDZ0csU0FBUyxDQUFDN0YsTUFBTSxLQUFLLENBQUMsSUFDNUI0RixlQUFlLENBQUNHLFFBQVEsQ0FBQ25HLEtBQUssQ0FBQ0ssRUFBRSxDQUFDLEVBQ2xDO0lBQ0E4RSx1QkFBdUIsQ0FDckI5RCxjQUFjLEVBQ2QrQixnQkFBZ0IsQ0FBQ3BELEtBQUssRUFBRUMsS0FBSyxDQUFDLEtBQUssSUFBSSxFQUN2Q3lCLEdBQUcsRUFDSDFCLEtBQUssRUFDTEMsS0FBSyxFQUNMMEIsT0FBTyxFQUNQQyxVQUNGLENBQUM7RUFDSDtBQUNGLENBQUM7QUFBQ3JCLE9BQUEsQ0FBQXdGLG1CQUFBLEdBQUFBLG1CQUFBO0FBRUssSUFBTUssWUFBWSxHQUFHLFNBQWZBLFlBQVlBLENBQUlDLEdBQVEsRUFBRXJHLEtBQWEsRUFBSztFQUN2RCxJQUFJcUcsR0FBRyxLQUFLLElBQUksRUFBRTtJQUNoQixvSEFBQTNGLE1BQUEsQ0FFNERWLEtBQUssQ0FBQ0ssRUFBRSwwQ0FBQUssTUFBQSxDQUN4QzRGLGtCQUFTLGlKQUFBNUYsTUFBQSxDQUdxQlYsS0FBSyxDQUFDVyxLQUFLLENBQUNDLElBQUk7RUFPNUUsQ0FBQyxNQUFNO0lBQ0wsb0hBQUFGLE1BQUEsQ0FFNEQyRixHQUFHLENBQUNoRyxFQUFFLDBDQUFBSyxNQUFBLENBQ3RDNEYsa0JBQVMsaUpBQUE1RixNQUFBLENBSW5CVixLQUFLLENBQUNXLEtBQUssQ0FBQ0MsSUFBSSw2SUFBQUYsTUFBQSxDQUd5QjZGLGFBQUksQ0FBQ0MsQ0FBQywyQkFFN0MsQ0FBQyxrREFBQTlGLE1BQUEsQ0FFQywyQkFBMkIsR0FBRzJGLEdBQUcsQ0FBQ0ksUUFBUSxnSEFBQS9GLE1BQUEsQ0FHbEM2RixhQUFJLENBQUNDLENBQUMsK0JBQUE5RixNQUFBLENBQ3dCMkYsR0FBRyxDQUFDSSxRQUFRLENBQzVDLENBQUMsNFZBQUEvRixNQUFBLENBU2tDNkYsYUFBSSxDQUFDQyxDQUFDLDZCQUU3QyxDQUFDLHlOQUFBOUYsTUFBQSxDQUlzQzZGLGFBQUksQ0FBQ0MsQ0FBQyw0QkFFN0MsQ0FBQztFQU8zQjtBQUNGLENBQUM7QUFBQ2pHLE9BQUEsQ0FBQTZGLFlBQUEsR0FBQUEsWUFBQTtBQUVGLElBQUlNLE9BQU8sR0FBRyxTQUFWQSxPQUFPQSxDQUFJQyxPQUFPLEVBQUVDLE9BQU8sRUFBRTVHLEtBQUssRUFBSztFQUN6QzJHLE9BQU8sQ0FBQ0QsT0FBTyxDQUNiLElBQUFuRiw2QkFBa0IsRUFDaEJ2QixLQUFLLENBQUNXLEtBQUssQ0FBQ0UsSUFBSSxFQUNoQmIsS0FBSyxDQUFDWSxJQUFJLEVBQ1ZaLEtBQUssQ0FBQ1csS0FBSyxDQUFDRyxXQUFXLEVBQ3ZCOEYsT0FBTyxFQUNQLEtBQ0YsQ0FDRixDQUFDO0FBQ0gsQ0FBQztBQUVNLElBQU1DLHlCQUF5QixHQUFHLFNBQTVCQSx5QkFBeUJBLENBQUloRixjQUFjLEVBQUVpRixnQkFBZ0IsRUFBSztFQUM3RSxPQUFPakYsY0FBYyxLQUFLLEtBQUssR0FDM0JpRixnQkFBZ0IsQ0FBQ0MsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUMzQkQsZ0JBQWdCLEdBQUcsQ0FBQyxHQUNwQixDQUFDQSxnQkFBZ0IsR0FBRyxPQUFPLEVBQUVDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FDdkMsQ0FBQztBQUNQLENBQUM7QUFBQ3hHLE9BQUEsQ0FBQXNHLHlCQUFBLEdBQUFBLHlCQUFBO0FBRUssSUFBTUcsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FBSW5GLGNBQWMsRUFBSztFQUNuRCxPQUFPMEUsYUFBSSxDQUFDQyxDQUFDLGdEQUFBOUYsTUFBQSxDQUNvQ21CLGNBQWMsQ0FDL0QsQ0FBQztBQUNILENBQUM7QUFBQ3RCLE9BQUEsQ0FBQXlHLGlCQUFBLEdBQUFBLGlCQUFBO0FBRUssSUFBTTlFLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBaUJBLENBQUlSLEdBQUcsRUFBRTFCLEtBQUssRUFBRWtCLGVBQWUsRUFBRVksV0FBVyxFQUFLO0VBQzdFSixHQUFHLENBQUN1RixFQUFFLENBQUMsV0FBVyxFQUFFLFlBQVk7SUFDOUJ2RixHQUFHLENBQUN3RixVQUFVLENBQUMsQ0FBQztFQUNsQixDQUFDLENBQUM7RUFFRmhHLGVBQWUsQ0FBQytGLEVBQUUsQ0FBQyxZQUFZLEVBQUUsWUFBTTtJQUNyQ1AsT0FBTyxDQUFDeEYsZUFBZSxFQUFFLEtBQUssRUFBRWxCLEtBQUssQ0FBQztFQUN4QyxDQUFDLENBQUM7RUFFRmtCLGVBQWUsQ0FBQytGLEVBQUUsQ0FBQyxXQUFXLEVBQUUsWUFBTTtJQUNwQ1AsT0FBTyxDQUFDeEYsZUFBZSxFQUFFLElBQUksRUFBRWxCLEtBQUssQ0FBQztFQUN2QyxDQUFDLENBQUM7RUFDRixJQUFJLE9BQU84QixXQUFXLEtBQUssVUFBVSxFQUFFO0lBQ3JDWixlQUFlLENBQUMrRixFQUFFLENBQUMsT0FBTyxFQUFFLFlBQU07TUFDaENuRixXQUFXLENBQUNaLGVBQWUsQ0FBQ2lHLGVBQWUsQ0FBQztNQUU1QyxJQUFJbkgsS0FBSyxDQUFDVyxLQUFLLENBQUNFLElBQUksS0FBSyxpQkFBaUIsRUFBRTtRQUMxQyxJQUFBdUcseUJBQWtCLEVBQUMsNEJBQTRCLEVBQUUsS0FBSyxFQUFFO1VBQ3REOUcsUUFBUSxFQUFFTixLQUFLLENBQUNLLEVBQUU7VUFDbEJnSCxVQUFVLEVBQUVySCxLQUFLLENBQUNZO1FBQ3BCLENBQUMsQ0FBQztNQUNKO0lBQ0YsQ0FBQyxDQUFDO0VBQ0o7QUFDRixDQUFDO0FBQUNMLE9BQUEsQ0FBQTJCLGlCQUFBLEdBQUFBLGlCQUFBO0FBRUssSUFBTUQsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FBSWpDLEtBQUssRUFBRTRCLFVBQVUsRUFBRUMsY0FBYyxFQUFLO0VBQ3RFLElBQUl5RixPQUFPLCtNQUFBNUcsTUFBQSxDQUtLVixLQUFLLENBQUNZLElBQUksa0ZBQUFGLE1BQUEsQ0FHVlYsS0FBSyxDQUFDVyxLQUFLLENBQUNHLFdBQVcscVBBQUFKLE1BQUEsQ0FRVDZHLG9CQUFjLDJLQUFBN0csTUFBQSxDQUcyQm1HLHlCQUF5QixDQUM5RWhGLGNBQWMsRUFDZDdCLEtBQUssQ0FBQ1csS0FBSyxDQUFDSSx5QkFDZCxDQUFDLE9BQUFMLE1BQUEsQ0FBSXNHLGlCQUFpQixDQUFDbkYsY0FBYyxDQUFDLHdGQUFBbkIsTUFBQSxDQUNvQjZGLGFBQUksQ0FBQ0MsQ0FBQyxDQUM5RCxpQkFDRixDQUFDLHlGQUtkO0VBRUg1RSxVQUFVLENBQUM0RixTQUFTLENBQUNGLE9BQU8sRUFBRTtJQUM1QmpGLFNBQVMsRUFBRSxvQkFBb0I7SUFDL0JvRixRQUFRLEVBQUUsT0FBTztJQUNqQkMsUUFBUSxFQUFFLE9BQU87SUFDakJDLFdBQVcsRUFBRTtFQUNmLENBQUMsQ0FBQztBQUNKLENBQUM7QUFBQ3BILE9BQUEsQ0FBQTBCLGlCQUFBLEdBQUFBLGlCQUFBO0FBRUssSUFBTTJGLGdCQUFnQixHQUFHLFNBQW5CQSxnQkFBZ0JBLENBQUlsRyxHQUFHLEVBQUVFLFVBQVUsRUFBSztFQUNuRCxJQUFJRixHQUFHLENBQUNtRyxRQUFRLENBQUNqRyxVQUFVLENBQUMsRUFBRTtJQUM1QkYsR0FBRyxDQUFDb0csV0FBVyxDQUFDbEcsVUFBVSxDQUFDO0VBQzdCO0FBQ0YsQ0FBQztBQUFDckIsT0FBQSxDQUFBcUgsZ0JBQUEsR0FBQUEsZ0JBQUE7QUFFSyxJQUFNRyxhQUFhLEdBQUcsU0FBaEJBLGFBQWFBLENBQUlyRyxHQUFHLEVBQUVFLFVBQVUsRUFBSztFQUNoRCxJQUFJLENBQUNGLEdBQUcsQ0FBQ21HLFFBQVEsQ0FBQ2pHLFVBQVUsQ0FBQyxFQUFFO0lBQzdCRixHQUFHLENBQUNNLFFBQVEsQ0FBQ0osVUFBVSxDQUFDO0VBQzFCLENBQUMsTUFBTTtJQUNMZ0csZ0JBQWdCLENBQUNsRyxHQUFHLEVBQUVFLFVBQVUsQ0FBQztJQUNqQ21HLGFBQWEsQ0FBQ3JHLEdBQUcsRUFBRUUsVUFBVSxDQUFDO0VBQ2hDO0FBQ0YsQ0FBQztBQUFDckIsT0FBQSxDQUFBd0gsYUFBQSxHQUFBQSxhQUFBIn0=
package/lib/i18n/en.json CHANGED
@@ -3277,7 +3277,7 @@
3277
3277
  },
3278
3278
  "profile": {
3279
3279
  "flow_rate_unit_options": {
3280
- "mgd": "MGD",
3280
+ "gd": "GD",
3281
3281
  "m3d": "m³/day"
3282
3282
  },
3283
3283
  "departments": {
package/lib/i18n/he.json CHANGED
@@ -3204,7 +3204,7 @@
3204
3204
  },
3205
3205
  "profile": {
3206
3206
  "flow_rate_unit_options": {
3207
- "mgd": "מיקרו גלון",
3207
+ "gd": "גלון",
3208
3208
  "m3d": "קו\"ב"
3209
3209
  },
3210
3210
  "departments": {
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var packageJsonVersion = "1.2.300-alpha.8";
3
+ var packageJsonVersion = "1.2.300-alpha.9";
4
4
  if (typeof packageJsonVersion === 'string') {
5
5
  // eslint-disable-next-line no-console
6
6
  console.log("%c Kando UI %c v".concat(packageJsonVersion, " "), 'font-size: 15px; background-color: #fff; color: #e20f53;', 'font-weight: bold; font-size: 15px; background-color: #e20f53; color: #fff;', "with NODE_ENV=".concat(process.env.NODE_ENV));
@@ -74,8 +74,8 @@ var ProfilePage = function ProfilePage() {
74
74
  label: 'Italiano'
75
75
  }];
76
76
  var flowRateUnitOptions = [{
77
- value: 'mgd',
78
- label: _i18n.default.t('dashboard_v2.profile.flow_rate_unit_options.mgd')
77
+ value: 'gd',
78
+ label: _i18n.default.t('dashboard_v2.profile.flow_rate_unit_options.gd')
79
79
  }, {
80
80
  value: 'm3d',
81
81
  label: _i18n.default.t('dashboard_v2.profile.flow_rate_unit_options.m3d')
@@ -596,4 +596,4 @@ var ProfilePage = function ProfilePage() {
596
596
  }));
597
597
  };
598
598
  exports.ProfilePage = ProfilePage;
599
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfU2VsZWN0IiwiX2kxOG4iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1Bhc3N3b3JkTW9kYWwiLCJfcGVuIiwiX2NhbmNlbCIsIl9yZWFjdFBob25lSW5wdXQiLCJfVGVsZWdyYW1Nb2RhbCIsIl9heGlvcyIsIl9Db250YWluZXIiLCJfbW9tZW50VGltZXpvbmUiLCJfQW5hbHl0aWNzIiwiX3JlYWN0UmVkdXgiLCJfcmVhY3RUb2FzdGlmeSIsIl9wZXJtaXNzaW9uc1NsaWNlIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJQcm9maWxlUGFnZSIsInRpbWV6b25lc0FycmF5IiwibW9tZW50IiwidHoiLCJuYW1lcyIsImRhdGVUaW1lRm9ybWF0T3B0aW9ucyIsInZhbHVlIiwibGFiZWwiLCJmb3JtYXQiLCJtb250aCIsImRheSIsInllYXIiLCJob3VyIiwibWludXRlIiwiaG91cjEyIiwidGltZXpvbmVzIiwibWFwIiwidCIsImxvY2FsZU9wdGlvbnMiLCJmbG93UmF0ZVVuaXRPcHRpb25zIiwiaTE4biIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImxvY2FsZSIsInNldExvY2FsZSIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiZmxvd1JhdGVVbml0Iiwic2V0Rmxvd1JhdGVVbml0IiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJkYXRlVGltZUZvcm1hdCIsInNldERhdGVUaW1lRm9ybWF0IiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJ0aW1lem9uZSIsInNldFRpbWV6b25lIiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTEwIiwiZGVwYXJ0bWVudHMiLCJzZXREZXBhcnRtZW50cyIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJidXNpbmVzc1JvbGVzIiwic2V0QnVzaW5lc3NSb2xlcyIsIl91c2VTdGF0ZTEzIiwiX3VzZVN0YXRlMTQiLCJkZXBhcnRtZW50Iiwic2V0RGVwYXJ0bWVudCIsIl91c2VTdGF0ZTE1IiwiX3VzZVN0YXRlMTYiLCJidXNpbmVzc1JvbGUiLCJzZXRCdXNpbmVzc1JvbGUiLCJpbml0aWFsUGFyYW1zU3RhdGUiLCJmaXJzdF9uYW1lIiwibGFzdF9uYW1lIiwicGhvbmUiLCJlbWFpbCIsInRpbWVfem9uZSIsImRhdGVfdGltZV9mb3JtYXQiLCJ0ZWxlZ3JhbV9uYW1lIiwib3RoZXJfYnVzaW5lc3Nfcm9sZV9uYW1lIiwib3RoZXJfZGVwYXJ0bWVudF9uYW1lIiwiYnVzaW5lc3Nfcm9sZSIsImZsb3dfcmF0ZV91bml0IiwiX3VzZVN0YXRlMTciLCJfdXNlU3RhdGUxOCIsImlzVGVsZWdyYW1PcGVuIiwic2V0SXNUZWxlZ3JhbU9wZW4iLCJfdXNlU3RhdGUxOSIsIl91c2VTdGF0ZTIwIiwic2hvd1Bhc3N3b3JkTW9kYWwiLCJzZXRTaG93UGFzc3dvcmRNb2RhbCIsIl91c2VTdGF0ZTIxIiwiX3VzZVN0YXRlMjIiLCJzdWJtaXR0aW5nIiwic2V0U3VibWl0dGluZyIsIl91c2VTdGF0ZTIzIiwiX3VzZVN0YXRlMjQiLCJzaG93U3VjY2Vzc01lc3NhZ2UiLCJzZXRTaG93U3VjY2Vzc01lc3NhZ2UiLCJfdXNlU3RhdGUyNSIsIl91c2VTdGF0ZTI2Iiwic2hvd0Vycm9yTWVzc2FnZSIsInNldFNob3dFcnJvck1lc3NhZ2UiLCJfdXNlU3RhdGUyNyIsInNob3ciLCJzdGF0dXMiLCJtZXNzYWdlIiwiX3VzZVN0YXRlMjgiLCJzaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2UiLCJzZXRTaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2UiLCJfdXNlU3RhdGUyOSIsIl91c2VTdGF0ZTMwIiwicGFyYW1zIiwic2V0UGFyYW1zIiwiaGFuZGxlT25DaGFuZ2UiLCJlIiwic3RhcnRzV2l0aCIsInJlcGxhY2UiLCJwcmV2U3RhdGUiLCJfb2JqZWN0U3ByZWFkMyIsIl9lJHRhcmdldCIsInRhcmdldCIsIm5hbWUiLCJfZGVmaW5lUHJvcGVydHkyIiwiaGFuZGxlQnVzaW5lc3NSb2xlQ2hhbmdlIiwiaGFuZGxlRGVwYXJ0bWVudENoYW5nZSIsImdldFBhcmFtc1dpdGhBZ2dyZWdhdGVkVmFsdWVzIiwiZGVwYXJ0bWVudF9pZCIsInVuZGVmaW5lZCIsImJ1c2luZXNzX3JvbGVfaWQiLCJ3YXRlckF1dGhvcml0eU5hbWUiLCJ1c2VTZWxlY3RvciIsInN0YXRlIiwiZ2xvYmFsX2RhdGEiLCJzaG93VG9hc3QiLCJkYXRhIiwidXNlcm5hbWUiLCJlcnJvciIsInRvYXN0Iiwic3VjY2VzcyIsImNvbmNhdCIsInBvc2l0aW9uIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsImhhbmRsZVN1Ym1pdCIsInByZXZlbnREZWZhdWx0IiwiYXhpb3MiLCJwdXQiLCJ1c2VyIiwidGhlbiIsInJlc3AiLCJlcnJvcnMiLCJQZXJtaXNzaW9uc1NsaWNlIiwiYWN0aW9ucyIsInNldFVzZXJJbmZvIiwiSlNPTiIsInBhcnNlIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZm9yRWFjaCIsInAiLCJpbm5lckhUTUwiLCJjbGFzc0xpc3QiLCJyZW1vdmUiLCJmaW5kTG9jYWxlIiwiZmluZCIsImZpbmRGbG93UmF0ZVVuaXQiLCJmaW5kRGF0ZVRpbWVGb3JtYXQiLCJmaW5kVGltZXpvbmUiLCJzZXRUaW1lb3V0IiwiZmluZEVsZW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwicGFyZW50IiwiY2xvc2VzdCIsImZpbmRJbnB1dCIsImFkZCIsImNhdGNoIiwidXNlRWZmZWN0IiwiYW5hbHl0aWNzVHJhY2siLCJ1dGlsaXR5X25hbWUiLCJ0b2tlbiIsImNvbnRlbnQiLCJkZWZhdWx0cyIsImhlYWRlcnMiLCJjb21tb24iLCJmaW5kUHJvcGVydHkiLCJvYmplY3QiLCJwcm9wZXJ0eSIsImJ1c2luZXNzX3JvbGVzIiwiYWxlcnQiLCJjcmVhdGVFbGVtZW50IiwiQ29udGFpbmVyIiwiY2xhc3NOYW1lIiwiYWN0aW9uIiwib25TdWJtaXQiLCJ0eXBlIiwib25DaGFuZ2UiLCJyZWFkT25seSIsImNvdW50cnkiLCJsb2NhbGl6YXRpb24iLCJpbnB1dENsYXNzIiwiY29udGFpbmVyQ2xhc3MiLCJidXR0b25DbGFzcyIsImRyb3Bkb3duQ2xhc3MiLCJlbmFibGVTZWFyY2giLCJzZWFyY2hQbGFjZWhvbGRlciIsImNvdW50cnlDb2RlRWRpdGFibGUiLCJpbnB1dFByb3BzIiwiRnJhZ21lbnQiLCJTZWxlY3QiLCJzZXRWYWx1ZSIsIm9wdGlvbnMiLCJjYW5jZWxUZXh0V2lkdGgiLCJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGlvbl9rZXkiLCJsZW5ndGgiLCJvbkNsaWNrIiwiUmVhY3RDb21wb25lbnQiLCJ3aWR0aCIsImhlaWdodCIsImZpbGwiLCJEYXRlIiwidG9Mb2NhbGVEYXRlU3RyaW5nIiwidG9VcHBlckNhc2UiLCJzdWJzdHJpbmciLCJkaXNhYmxlZCIsIlBhc3N3b3JkTW9kYWwiLCJjbG9zZSIsInNhdmUiLCJUZWxlZ3JhbU1vZGFsIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9Qcm9maWxlUGFnZS9Qcm9maWxlUGFnZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBTZWxlY3QgfSBmcm9tICdzcmMvY29tcG9uZW50cy9DdXN0b21JbnB1dHMvU2VsZWN0L1NlbGVjdCc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgUGFzc3dvcmRNb2RhbCB9IGZyb20gJy4vUGFzc3dvcmRNb2RhbC9QYXNzd29yZE1vZGFsJztcbmltcG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIFBlblN2ZyB9IGZyb20gJy4vcGVuLnN2Zyc7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBDYW5jZWwgfSBmcm9tICcuL2NhbmNlbC5zdmcnO1xuaW1wb3J0IFBob25lSW5wdXQgZnJvbSAncmVhY3QtcGhvbmUtaW5wdXQtMic7XG5pbXBvcnQgJ3JlYWN0LXBob25lLWlucHV0LTIvbGliL3N0eWxlLmNzcyc7XG5pbXBvcnQgeyBUZWxlZ3JhbU1vZGFsIH0gZnJvbSAnLi9UZWxlZ3JhbU1vZGFsL1RlbGVncmFtTW9kYWwnO1xuaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJztcbmltcG9ydCB7IENvbnRhaW5lciB9IGZyb20gJy4vQ29udGFpbmVyJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50LXRpbWV6b25lJztcbmltcG9ydCB7IGFuYWx5dGljc1RyYWNrIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL0FuYWx5dGljcyc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyB0b2FzdCB9IGZyb20gJ3JlYWN0LXRvYXN0aWZ5JztcbmltcG9ydCB7IFBlcm1pc3Npb25zU2xpY2UgfSBmcm9tICdzcmMvc3RvcmUvcGVybWlzc2lvbnMvcGVybWlzc2lvbnNTbGljZSc7XG5cbmV4cG9ydCBjb25zdCBQcm9maWxlUGFnZSA9ICgpID0+IHtcbiAgY29uc3QgdGltZXpvbmVzQXJyYXkgPSBtb21lbnQudHoubmFtZXMoKTtcbiAgY29uc3QgZGF0ZVRpbWVGb3JtYXRPcHRpb25zID0gW1xuICAgIHtcbiAgICAgIHZhbHVlOiAndXMnLFxuICAgICAgbGFiZWw6ICdVbml0ZWQgU3RhdGVzJyxcbiAgICAgIGZvcm1hdDoge1xuICAgICAgICBtb250aDogJ3Nob3J0JyxcbiAgICAgICAgZGF5OiAnbnVtZXJpYycsXG4gICAgICAgIHllYXI6ICdudW1lcmljJyxcbiAgICAgICAgaG91cjogJ251bWVyaWMnLFxuICAgICAgICBtaW51dGU6ICdudW1lcmljJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YWx1ZTogJ2V1JyxcbiAgICAgIGxhYmVsOiAnRXVyb3BlJyxcbiAgICAgIGZvcm1hdDoge1xuICAgICAgICBkYXk6ICdudW1lcmljJyxcbiAgICAgICAgbW9udGg6ICdudW1lcmljJyxcbiAgICAgICAgeWVhcjogJ251bWVyaWMnLFxuICAgICAgICBob3VyOiAnbnVtZXJpYycsXG4gICAgICAgIG1pbnV0ZTogJ251bWVyaWMnLFxuICAgICAgICBob3VyMTI6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9LFxuICBdO1xuXG4gIGNvbnN0IHRpbWV6b25lcyA9IHRpbWV6b25lc0FycmF5Lm1hcCgodCkgPT4ge1xuICAgIHJldHVybiB7IHZhbHVlOiB0LCBsYWJlbDogdCB9O1xuICB9KTtcblxuICBjb25zdCBsb2NhbGVPcHRpb25zID0gW1xuICAgIHsgdmFsdWU6ICdlbicsIGxhYmVsOiAnRW5nbGlzaCcgfSxcbiAgICB7IHZhbHVlOiAnZW5fdWsnLCBsYWJlbDogJ0VuZ2xpc2ggKFVLKScgfSxcbiAgICB7IHZhbHVlOiAnaGUnLCBsYWJlbDogJ9ei15HXqNeZ16onIH0sXG4gICAgeyB2YWx1ZTogJ2ZyJywgbGFiZWw6ICdGcmFuw6dhaXMnIH0sXG4gICAgeyB2YWx1ZTogJ2l0JywgbGFiZWw6ICdJdGFsaWFubycgfSxcbiAgXTtcblxuICBjb25zdCBmbG93UmF0ZVVuaXRPcHRpb25zID0gW1xuICAgIHtcbiAgICAgIHZhbHVlOiAnbWdkJyxcbiAgICAgIGxhYmVsOiBpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmZsb3dfcmF0ZV91bml0X29wdGlvbnMubWdkJyksXG4gICAgfSxcbiAgICB7XG4gICAgICB2YWx1ZTogJ20zZCcsXG4gICAgICBsYWJlbDogaTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5mbG93X3JhdGVfdW5pdF9vcHRpb25zLm0zZCcpLFxuICAgIH0sXG4gIF07XG5cbiAgY29uc3QgW2xvY2FsZSwgc2V0TG9jYWxlXSA9IHVzZVN0YXRlPHtcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gIH0+KGxvY2FsZU9wdGlvbnNbMF0pO1xuXG4gIGNvbnN0IFtmbG93UmF0ZVVuaXQsIHNldEZsb3dSYXRlVW5pdF0gPSB1c2VTdGF0ZTx7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBsYWJlbDogc3RyaW5nO1xuICB9PihmbG93UmF0ZVVuaXRPcHRpb25zWzBdKTtcblxuICBjb25zdCBbZGF0ZVRpbWVGb3JtYXQsIHNldERhdGVUaW1lRm9ybWF0XSA9IHVzZVN0YXRlPHtcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgZm9ybWF0OiBvYmplY3Q7XG4gIH0+KGRhdGVUaW1lRm9ybWF0T3B0aW9uc1swXSk7XG5cbiAgY29uc3QgW3RpbWV6b25lLCBzZXRUaW1lem9uZV0gPSB1c2VTdGF0ZTx7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBsYWJlbDogc3RyaW5nO1xuICB9Pih0aW1lem9uZXNbMjBdKTtcblxuICBjb25zdCBbZGVwYXJ0bWVudHMsIHNldERlcGFydG1lbnRzXSA9IHVzZVN0YXRlPFxuICAgIHtcbiAgICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgICBsYWJlbDogc3RyaW5nO1xuICAgIH1bXVxuICA+KFt7IHZhbHVlOiAnJywgbGFiZWw6ICcnIH1dKTtcblxuICBjb25zdCBbYnVzaW5lc3NSb2xlcywgc2V0QnVzaW5lc3NSb2xlc10gPSB1c2VTdGF0ZTxcbiAgICB7XG4gICAgICB2YWx1ZTogc3RyaW5nO1xuICAgICAgbGFiZWw6IHN0cmluZztcbiAgICB9W11cbiAgPihbeyB2YWx1ZTogJycsIGxhYmVsOiAnJyB9XSk7XG5cbiAgY29uc3QgW2RlcGFydG1lbnQsIHNldERlcGFydG1lbnRdID0gdXNlU3RhdGU8YW55PihkZXBhcnRtZW50c1swXSk7XG5cbiAgY29uc3QgW2J1c2luZXNzUm9sZSwgc2V0QnVzaW5lc3NSb2xlXSA9IHVzZVN0YXRlPGFueT4oYnVzaW5lc3NSb2xlc1swXSk7XG5cbiAgY29uc3QgaW5pdGlhbFBhcmFtc1N0YXRlID0ge1xuICAgIGZpcnN0X25hbWU6ICcnLFxuICAgIGxhc3RfbmFtZTogJycsXG4gICAgcGhvbmU6ICcnLFxuICAgIGVtYWlsOiAnJyxcbiAgICB0aW1lX3pvbmU6ICcnLFxuICAgIGRhdGVfdGltZV9mb3JtYXQ6ICcnLFxuICAgIGxvY2FsZTogJycsXG4gICAgdGVsZWdyYW1fbmFtZTogJycsXG4gICAgb3RoZXJfYnVzaW5lc3Nfcm9sZV9uYW1lOiAnJyxcbiAgICBvdGhlcl9kZXBhcnRtZW50X25hbWU6ICcnLFxuICAgIGJ1c2luZXNzX3JvbGU6ICcnLFxuICAgIGRlcGFydG1lbnQ6ICcnLFxuICAgIGZsb3dfcmF0ZV91bml0OiAnJyxcbiAgfTtcblxuICBjb25zdCBbaXNUZWxlZ3JhbU9wZW4sIHNldElzVGVsZWdyYW1PcGVuXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgW3Nob3dQYXNzd29yZE1vZGFsLCBzZXRTaG93UGFzc3dvcmRNb2RhbF0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gIGNvbnN0IFtzdWJtaXR0aW5nLCBzZXRTdWJtaXR0aW5nXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgW3Nob3dTdWNjZXNzTWVzc2FnZSwgc2V0U2hvd1N1Y2Nlc3NNZXNzYWdlXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgW3Nob3dFcnJvck1lc3NhZ2UsIHNldFNob3dFcnJvck1lc3NhZ2VdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuICBjb25zdCBbc2hvd1RlbGVncmFtUmVzcG9uc2VNZXNzYWdlLCBzZXRTaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2VdID1cbiAgICB1c2VTdGF0ZTx7XG4gICAgICBzaG93OiBib29sZWFuO1xuICAgICAgc3RhdHVzOiBzdHJpbmc7XG4gICAgICBtZXNzYWdlOiBzdHJpbmc7XG4gICAgfT4oe1xuICAgICAgc2hvdzogZmFsc2UsXG4gICAgICBzdGF0dXM6ICcnLFxuICAgICAgbWVzc2FnZTogJycsXG4gICAgfSk7XG4gIGNvbnN0IFtwYXJhbXMsIHNldFBhcmFtc10gPSB1c2VTdGF0ZTx7XG4gICAgZmlyc3RfbmFtZTogc3RyaW5nO1xuICAgIGxhc3RfbmFtZTogc3RyaW5nO1xuICAgIHBob25lOiBzdHJpbmc7XG4gICAgZW1haWw6IHN0cmluZztcbiAgICB0aW1lX3pvbmU6IHN0cmluZztcbiAgICBkYXRlX3RpbWVfZm9ybWF0OiBzdHJpbmc7XG4gICAgbG9jYWxlOiBzdHJpbmc7XG4gICAgdGVsZWdyYW1fbmFtZTogc3RyaW5nO1xuICAgIG90aGVyX2J1c2luZXNzX3JvbGVfbmFtZTogc3RyaW5nO1xuICAgIG90aGVyX2RlcGFydG1lbnRfbmFtZTogc3RyaW5nO1xuICAgIGZsb3dfcmF0ZV91bml0OiBzdHJpbmc7XG4gIH0+KGluaXRpYWxQYXJhbXNTdGF0ZSk7XG5cbiAgY29uc3QgaGFuZGxlT25DaGFuZ2UgPSAoZSkgPT4ge1xuICAgIGlmICh0eXBlb2YgZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGlmIChlLnN0YXJ0c1dpdGgoJzk3MjAnKSkge1xuICAgICAgICBlID0gZS5yZXBsYWNlKC8oOTcyMCkvZywgJzk3MicpO1xuICAgICAgfVxuICAgICAgc2V0UGFyYW1zKChwcmV2U3RhdGUpID0+ICh7XG4gICAgICAgIC4uLnByZXZTdGF0ZSxcbiAgICAgICAgcGhvbmU6IGUsXG4gICAgICB9KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHsgdmFsdWUsIG5hbWUgfSA9IGUudGFyZ2V0O1xuICAgICAgc2V0UGFyYW1zKChwcmV2U3RhdGUpID0+ICh7XG4gICAgICAgIC4uLnByZXZTdGF0ZSxcbiAgICAgICAgW25hbWVdOiB2YWx1ZSxcbiAgICAgIH0pKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQnVzaW5lc3NSb2xlQ2hhbmdlID0gKGUpID0+IHtcbiAgICBpZiAoZS50YXJnZXQgIT09IG51bGwpIHtcbiAgICAgIHNldFBhcmFtcyh7XG4gICAgICAgIC4uLnBhcmFtcyxcbiAgICAgICAgYnVzaW5lc3Nfcm9sZTogZS52YWx1ZSxcbiAgICAgICAgb3RoZXJfYnVzaW5lc3Nfcm9sZV9uYW1lOiBlLnRhcmdldC52YWx1ZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVEZXBhcnRtZW50Q2hhbmdlID0gKGUpID0+IHtcbiAgICBpZiAoZS50YXJnZXQgIT09IG51bGwpIHtcbiAgICAgIHNldFBhcmFtcyh7XG4gICAgICAgIC4uLnBhcmFtcyxcbiAgICAgICAgZGVwYXJ0bWVudDogZS52YWx1ZSxcbiAgICAgICAgb3RoZXJfZGVwYXJ0bWVudF9uYW1lOiBlLnRhcmdldC52YWx1ZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBnZXRQYXJhbXNXaXRoQWdncmVnYXRlZFZhbHVlcyA9ICgpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4ucGFyYW1zLFxuICAgICAgZGF0ZV90aW1lX2Zvcm1hdDogZGF0ZVRpbWVGb3JtYXQudmFsdWUsXG4gICAgICBsb2NhbGU6IGxvY2FsZS52YWx1ZSxcbiAgICAgIHRpbWVfem9uZTogdGltZXpvbmUudmFsdWUsXG4gICAgICBkZXBhcnRtZW50X2lkOiBkZXBhcnRtZW50ID09PSB1bmRlZmluZWQgPyBudWxsIDogZGVwYXJ0bWVudC52YWx1ZSxcbiAgICAgIGJ1c2luZXNzX3JvbGVfaWQ6IGJ1c2luZXNzUm9sZSA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGJ1c2luZXNzUm9sZS52YWx1ZSxcbiAgICAgIGZsb3dfcmF0ZV91bml0OiBmbG93UmF0ZVVuaXQudmFsdWUsXG4gICAgfTtcbiAgfTtcblxuICBjb25zdCB3YXRlckF1dGhvcml0eU5hbWUgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGUpID0+IHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5TmFtZSxcbiAgKTtcblxuICBjb25zdCBzaG93VG9hc3QgPSAoZGF0YSkgPT4ge1xuICAgIGNvbnN0IHVzZXJuYW1lID0gZGF0YS51c2VybmFtZTtcbiAgICBjb25zdCBlcnJvciA9IGRhdGEuZXJyb3I7XG4gICAgaWYgKGRhdGEuc3RhdHVzID09PSAnc3VjY2VzcycpIHtcbiAgICAgIHRvYXN0LnN1Y2Nlc3MoXG4gICAgICAgIGkxOG4udChgbXlfcHJvZmlsZV90YWIudGVsZWdyYW1fbWVzc2FnZXMuJHtkYXRhLm1lc3NhZ2V9YCwge1xuICAgICAgICAgIHVzZXJuYW1lLFxuICAgICAgICB9KSxcbiAgICAgICAge1xuICAgICAgICAgIHBvc2l0aW9uOiAndG9wLWNlbnRlcicsXG4gICAgICAgIH0sXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0b2FzdC5lcnJvcihcbiAgICAgICAgaTE4bi50KGBteV9wcm9maWxlX3RhYi50ZWxlZ3JhbV9tZXNzYWdlcy4ke2RhdGEubWVzc2FnZX1gLCB7XG4gICAgICAgICAgZXJyb3I6IGVycm9yLFxuICAgICAgICAgIHVzZXJuYW1lOiB1c2VybmFtZSxcbiAgICAgICAgfSksXG4gICAgICAgIHtcbiAgICAgICAgICBwb3NpdGlvbjogJ3RvcC1jZW50ZXInLFxuICAgICAgICB9LFxuICAgICAgKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuXG4gIGNvbnN0IGhhbmRsZVN1Ym1pdCA9IChlKSA9PiB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHNldFN1Ym1pdHRpbmcodHJ1ZSk7XG4gICAgYXhpb3NcbiAgICAgIC5wdXQoJy9wcm9maWxlcycsIHsgdXNlcjogZ2V0UGFyYW1zV2l0aEFnZ3JlZ2F0ZWRWYWx1ZXMoKSB9KVxuICAgICAgLnRoZW4oKHJlc3ApID0+IHtcbiAgICAgICAgaWYgKHJlc3AuZGF0YS5lcnJvcnMgPT09IG51bGwpIHtcbiAgICAgICAgICBkaXNwYXRjaChcbiAgICAgICAgICAgIFBlcm1pc3Npb25zU2xpY2UuYWN0aW9ucy5zZXRVc2VySW5mbyhKU09OLnBhcnNlKHJlc3AuZGF0YS51c2VyKSksXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGRvY3VtZW50XG4gICAgICAgICAgICAucXVlcnlTZWxlY3RvckFsbCgnLmVycm9yLW1lc3NhZ2UnKVxuICAgICAgICAgICAgLmZvckVhY2goKHApID0+IChwLmlubmVySFRNTCA9ICcnKSk7XG5cbiAgICAgICAgICBkb2N1bWVudFxuICAgICAgICAgICAgLnF1ZXJ5U2VsZWN0b3JBbGwoJy5pbnZhbGlkLWZpZWxkJylcbiAgICAgICAgICAgIC5mb3JFYWNoKChwKSA9PiBwLmNsYXNzTGlzdC5yZW1vdmUoJ2ludmFsaWQtZmllbGQnKSk7XG4gICAgICAgICAgbGV0IHVzZXIgPSBKU09OLnBhcnNlKHJlc3AuZGF0YS51c2VyKTtcbiAgICAgICAgICBjb25zdCBmaW5kTG9jYWxlID0gbG9jYWxlT3B0aW9ucy5maW5kKChlKSA9PiBlLnZhbHVlID09PSB1c2VyLmxvY2FsZSk7XG4gICAgICAgICAgY29uc3QgZmluZEZsb3dSYXRlVW5pdCA9IGZsb3dSYXRlVW5pdE9wdGlvbnMuZmluZChcbiAgICAgICAgICAgIChlKSA9PiBlLnZhbHVlID09PSB1c2VyLmZsb3dfcmF0ZV91bml0LFxuICAgICAgICAgICk7XG4gICAgICAgICAgY29uc3QgZmluZERhdGVUaW1lRm9ybWF0ID0gZGF0ZVRpbWVGb3JtYXRPcHRpb25zLmZpbmQoXG4gICAgICAgICAgICAoZSkgPT4gZS52YWx1ZSA9PT0gdXNlci5kYXRlX3RpbWVfZm9ybWF0LFxuICAgICAgICAgICk7XG4gICAgICAgICAgY29uc3QgZmluZFRpbWV6b25lID0gdGltZXpvbmVzLmZpbmQoXG4gICAgICAgICAgICAoZSkgPT4gZS52YWx1ZSA9PT0gdXNlci50aW1lX3pvbmUsXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIHNldFBhcmFtcyh1c2VyKTtcbiAgICAgICAgICBzZXRMb2NhbGUoZmluZExvY2FsZSEpO1xuICAgICAgICAgIHNldEZsb3dSYXRlVW5pdChmaW5kRmxvd1JhdGVVbml0ISk7XG4gICAgICAgICAgc2V0RGF0ZVRpbWVGb3JtYXQoZmluZERhdGVUaW1lRm9ybWF0ISk7XG4gICAgICAgICAgc2V0VGltZXpvbmUoZmluZFRpbWV6b25lISk7XG4gICAgICAgICAgc2V0U2hvd1N1Y2Nlc3NNZXNzYWdlKHRydWUpO1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgc2V0U2hvd1N1Y2Nlc3NNZXNzYWdlKGZhbHNlKTtcbiAgICAgICAgICB9LCA2MDAwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkb2N1bWVudFxuICAgICAgICAgICAgLnF1ZXJ5U2VsZWN0b3JBbGwoJy5lcnJvci1tZXNzYWdlJylcbiAgICAgICAgICAgIC5mb3JFYWNoKChwKSA9PiAocC5pbm5lckhUTUwgPSAnJykpO1xuICAgICAgICAgIGxldCBlcnJvcnMgPSByZXNwLmRhdGEudXNlci5lcnJvcnM7XG4gICAgICAgICAgZm9yIChjb25zdCBlcnJvciBpbiBlcnJvcnMpIHtcbiAgICAgICAgICAgIGxldCBmaW5kRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYGlucHV0W25hbWU9JyR7ZXJyb3J9J11gKTtcbiAgICAgICAgICAgIGxldCBwYXJlbnQgPSBmaW5kRWxlbWVudCEuY2xvc2VzdCgnLmZpZWxkJyk7XG4gICAgICAgICAgICBsZXQgZmluZElucHV0ID0gcGFyZW50IS5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpO1xuICAgICAgICAgICAgZmluZElucHV0IS5jbGFzc0xpc3QuYWRkKCdpbnZhbGlkLWZpZWxkJyk7XG4gICAgICAgICAgICBwYXJlbnQhLnF1ZXJ5U2VsZWN0b3IoJy5lcnJvci1tZXNzYWdlJykhLmlubmVySFRNTCA9IGkxOG4udChcbiAgICAgICAgICAgICAgYGRhc2hib2FyZF92Mi5wcm9maWxlLmVycm9ycy4ke2Vycm9yfWAsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzZXRTaG93U3VjY2Vzc01lc3NhZ2UoZmFsc2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0U3VibWl0dGluZyhmYWxzZSk7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICBzZXRTaG93RXJyb3JNZXNzYWdlKHRydWUpO1xuICAgICAgICBzZXRTaG93U3VjY2Vzc01lc3NhZ2UoZmFsc2UpO1xuICAgICAgICBzZXRTdWJtaXR0aW5nKGZhbHNlKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgc2V0U2hvd0Vycm9yTWVzc2FnZShmYWxzZSk7XG4gICAgICAgIH0sIDYwMDApO1xuICAgICAgfSk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBhbmFseXRpY3NUcmFjaygnVmlld2VkIFByb2ZpbGUgUGFnZScsIHtcbiAgICAgIHV0aWxpdHlfbmFtZTogd2F0ZXJBdXRob3JpdHlOYW1lLFxuICAgIH0pO1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBjb25zdCB0b2tlbiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tuYW1lPWNzcmYtdG9rZW5dJykhLmNvbnRlbnQ7XG4gICAgYXhpb3MuZGVmYXVsdHMuaGVhZGVycy5jb21tb25bJ1gtQ1NSRi1UT0tFTiddID0gdG9rZW47XG4gICAgYXhpb3MuZGVmYXVsdHMuaGVhZGVycy5jb21tb25bJ0NvbnRlbnQtVHlwZSddID0gJ2FwcGxpY2F0aW9uL2pzJztcbiAgICBheGlvc1xuICAgICAgLmdldChgL3Byb2ZpbGVzL3Jlc291cmNlYClcbiAgICAgIC50aGVuKChyZXNwKSA9PiB7XG4gICAgICAgIHNldFBhcmFtcyhyZXNwLmRhdGEudXNlcik7XG4gICAgICAgIGNvbnN0IGZpbmRQcm9wZXJ0eSA9IChvYmplY3QsIHByb3BlcnR5KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIG9iamVjdC5maW5kKChlKSA9PiBlLnZhbHVlID09PSBwcm9wZXJ0eSk7XG4gICAgICAgIH07XG4gICAgICAgIHNldExvY2FsZShmaW5kUHJvcGVydHkobG9jYWxlT3B0aW9ucywgcmVzcC5kYXRhLnVzZXIubG9jYWxlKSk7XG4gICAgICAgIHNldEZsb3dSYXRlVW5pdChcbiAgICAgICAgICBmaW5kUHJvcGVydHkoZmxvd1JhdGVVbml0T3B0aW9ucywgcmVzcC5kYXRhLnVzZXIuZmxvd19yYXRlX3VuaXQpLFxuICAgICAgICApO1xuICAgICAgICBzZXREYXRlVGltZUZvcm1hdChcbiAgICAgICAgICBmaW5kUHJvcGVydHkoZGF0ZVRpbWVGb3JtYXRPcHRpb25zLCByZXNwLmRhdGEudXNlci5kYXRlX3RpbWVfZm9ybWF0KSxcbiAgICAgICAgKTtcbiAgICAgICAgc2V0VGltZXpvbmUoZmluZFByb3BlcnR5KHRpbWV6b25lcywgcmVzcC5kYXRhLnVzZXIudGltZV96b25lKSk7XG4gICAgICAgIHNldEJ1c2luZXNzUm9sZShcbiAgICAgICAgICBmaW5kUHJvcGVydHkoXG4gICAgICAgICAgICByZXNwLmRhdGEuYnVzaW5lc3Nfcm9sZXMsXG4gICAgICAgICAgICByZXNwLmRhdGEudXNlci5idXNpbmVzc19yb2xlX2lkLFxuICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgICAgIHNldERlcGFydG1lbnQoXG4gICAgICAgICAgZmluZFByb3BlcnR5KHJlc3AuZGF0YS5kZXBhcnRtZW50cywgcmVzcC5kYXRhLnVzZXIuZGVwYXJ0bWVudF9pZCksXG4gICAgICAgICk7XG4gICAgICAgIHNldERlcGFydG1lbnRzKHJlc3AuZGF0YS5kZXBhcnRtZW50cyk7XG4gICAgICAgIHNldEJ1c2luZXNzUm9sZXMocmVzcC5kYXRhLmJ1c2luZXNzX3JvbGVzKTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGVycm9yKSA9PiBhbGVydChlcnJvcikpO1xuICB9LCBbXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8Q29udGFpbmVyPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJoZWFkZXItdGl0bGVcIj57aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS50aXRsZScpfTwvZGl2PlxuICAgICAgPGZvcm0gYWN0aW9uPVwiXCIgb25TdWJtaXQ9eyhlKSA9PiBoYW5kbGVTdWJtaXQoZSl9PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbnRlbnRcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRpdGxlXCI+XG4gICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5wZXJzb25hbC1kZXRhaWxzJyl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPVwicGVyc29uYWxcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmZpcnN0X25hbWUnKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJteS1pbnB1dFwiXG4gICAgICAgICAgICAgICAgbmFtZT17J2ZpcnN0X25hbWUnfVxuICAgICAgICAgICAgICAgIHZhbHVlPXtwYXJhbXMuZmlyc3RfbmFtZX1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IGhhbmRsZU9uQ2hhbmdlKGUpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9eydlcnJvci1tZXNzYWdlJ30+PC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5sYXN0X25hbWUnKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJteS1pbnB1dFwiXG4gICAgICAgICAgICAgICAgbmFtZT17J2xhc3RfbmFtZSd9XG4gICAgICAgICAgICAgICAgdmFsdWU9e3BhcmFtcy5sYXN0X25hbWV9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBoYW5kbGVPbkNoYW5nZShlKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPXsnZXJyb3ItbWVzc2FnZSd9PjwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZCBmaWVsZC0tcmVhZG9ubHlcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmVtYWlsJyl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICByZWFkT25seT17dHJ1ZX1cbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibXktaW5wdXRcIlxuICAgICAgICAgICAgICAgIG5hbWU9eydlbWFpbCd9XG4gICAgICAgICAgICAgICAgdmFsdWU9e3BhcmFtcy5lbWFpbH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPXsnZXJyb3ItbWVzc2FnZSd9PjwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUucGhvbmUnKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxQaG9uZUlucHV0XG4gICAgICAgICAgICAgICAgY291bnRyeT17J2lsJ31cbiAgICAgICAgICAgICAgICBsb2NhbGl6YXRpb249e2kxOG4udCgnY291bnRyaWVzJyl9XG4gICAgICAgICAgICAgICAgaW5wdXRDbGFzcz1cInBob25lLWlucHV0XCJcbiAgICAgICAgICAgICAgICBjb250YWluZXJDbGFzcz1cIm15LXBob25lXCJcbiAgICAgICAgICAgICAgICBidXR0b25DbGFzcz1cImRyb3Bkb3duXCJcbiAgICAgICAgICAgICAgICBkcm9wZG93bkNsYXNzPVwicGhvbmUtZHJvcGRvd25cIlxuICAgICAgICAgICAgICAgIHZhbHVlPXtwYXJhbXMucGhvbmV9XG4gICAgICAgICAgICAgICAgZW5hYmxlU2VhcmNoXG4gICAgICAgICAgICAgICAgc2VhcmNoUGxhY2Vob2xkZXI9e2kxOG4udCgnc2VhcmNoJyl9XG4gICAgICAgICAgICAgICAgY291bnRyeUNvZGVFZGl0YWJsZT17ZmFsc2V9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgaGFuZGxlT25DaGFuZ2UodmFsdWUpO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgaW5wdXRQcm9wcz17eyBuYW1lOiAncGhvbmUnIH19XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT17J2Vycm9yLW1lc3NhZ2UnfT48L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIHtkZXBhcnRtZW50c1swXS52YWx1ZSAhPT0gJycgJiYgKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuZGVwYXJ0bWVudCcpfVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm15LWlucHV0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgICBzZXRWYWx1ZT17c2V0RGVwYXJ0bWVudH1cbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGkxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYGRhc2hib2FyZF92Mi5wcm9maWxlLmRlcGFydG1lbnRzLiR7ZGVwYXJ0bWVudD8ubGFiZWx9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogZGVwYXJ0bWVudD8udmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zPXtkZXBhcnRtZW50c31cbiAgICAgICAgICAgICAgICAgICAgICBjYW5jZWxUZXh0V2lkdGhcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IGRlcGFydG1lbnRzLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRpb25fa2V5OiAnZGFzaGJvYXJkX3YyLnByb2ZpbGUuZGVwYXJ0bWVudHMnLFxuICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmJ1c2luZXNzX3JvbGUnKX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteS1pbnB1dFwiPlxuICAgICAgICAgICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgc2V0VmFsdWU9e3NldEJ1c2luZXNzUm9sZX1cbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGkxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYGRhc2hib2FyZF92Mi5wcm9maWxlLmJ1c2luZXNzX3JvbGVzLiR7YnVzaW5lc3NSb2xlPy5sYWJlbH1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBidXNpbmVzc1JvbGU/LnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucz17YnVzaW5lc3NSb2xlc31cbiAgICAgICAgICAgICAgICAgICAgICBjYW5jZWxUZXh0V2lkdGhcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IGJ1c2luZXNzUm9sZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGlvbl9rZXk6ICdkYXNoYm9hcmRfdjIucHJvZmlsZS5idXNpbmVzc19yb2xlcycsXG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICB7ZGVwYXJ0bWVudHNbMF0udmFsdWUgIT09ICcnICYmIChcbiAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2BmaWVsZCAke1xuICAgICAgICAgICAgICAgICAgICBkZXBhcnRtZW50ICYmXG4gICAgICAgICAgICAgICAgICAgIGRlcGFydG1lbnQ/LnZhbHVlID09PVxuICAgICAgICAgICAgICAgICAgICAgIGRlcGFydG1lbnRzW2RlcGFydG1lbnRzLmxlbmd0aCAtIDFdLnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgPyAnJ1xuICAgICAgICAgICAgICAgICAgICAgIDogJ2ZpZWxkLS1oaWRkZW4nXG4gICAgICAgICAgICAgICAgICB9YH1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmRlcGFydG1lbnRfYWx0Jyl9XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICByZWFkT25seT17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibXktaW5wdXRcIlxuICAgICAgICAgICAgICAgICAgICBuYW1lPXsnb3RoZXJfZGVwYXJ0bWVudF9uYW1lJ31cbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3BhcmFtcy5vdGhlcl9kZXBhcnRtZW50X25hbWV9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gaGFuZGxlRGVwYXJ0bWVudENoYW5nZShlKX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgZmllbGQgJHtcbiAgICAgICAgICAgICAgICAgICAgYnVzaW5lc3NSb2xlICYmXG4gICAgICAgICAgICAgICAgICAgIGJ1c2luZXNzUm9sZT8udmFsdWUgPT09XG4gICAgICAgICAgICAgICAgICAgICAgYnVzaW5lc3NSb2xlc1tidXNpbmVzc1JvbGVzLmxlbmd0aCAtIDFdLnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgPyAnJ1xuICAgICAgICAgICAgICAgICAgICAgIDogJ2ZpZWxkLS1oaWRkZW4nXG4gICAgICAgICAgICAgICAgICB9IGB9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5idXNpbmVzc19yb2xlX2FsdCcpfVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgcmVhZE9ubHk9e2ZhbHNlfVxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm15LWlucHV0XCJcbiAgICAgICAgICAgICAgICAgICAgbmFtZT17J290aGVyX2J1c2luZXNzX3JvbGVfbmFtZSd9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXtwYXJhbXMub3RoZXJfYnVzaW5lc3Nfcm9sZV9uYW1lfVxuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IGhhbmRsZUJ1c2luZXNzUm9sZUNoYW5nZShlKX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImNoYW5nZS1wYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0U2hvd1Bhc3N3b3JkTW9kYWwodHJ1ZSl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8UGVuU3ZnIHdpZHRoPVwiMTJweFwiIGhlaWdodD1cIjEycHhcIiBmaWxsPVwiI2YwMTM0Y1wiIC8+XG4gICAgICAgICAgICAgICAgeycgICd9XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuY2hhbmdlLXBhc3N3b3JkJyl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGl0bGVcIj57aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5zZXR0aW5ncycpfTwvZGl2PlxuICAgICAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT1cInNldHRpbmdzXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS50aW1lLXpvbmUnKX0qXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm15LWlucHV0XCI+XG4gICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgc2V0VmFsdWU9e3NldFRpbWV6b25lfVxuICAgICAgICAgICAgICAgICAgdmFsdWU9e3RpbWV6b25lfVxuICAgICAgICAgICAgICAgICAgb3B0aW9ucz17dGltZXpvbmVzfVxuICAgICAgICAgICAgICAgICAgY2FuY2VsVGV4dFdpZHRoXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmRhdGUtdGltZS1mb3JtYXQnKX0qXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm15LWlucHV0XCI+XG4gICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgb3B0aW9ucz17ZGF0ZVRpbWVGb3JtYXRPcHRpb25zfVxuICAgICAgICAgICAgICAgICAgdmFsdWU9e2RhdGVUaW1lRm9ybWF0fVxuICAgICAgICAgICAgICAgICAgc2V0VmFsdWU9e3NldERhdGVUaW1lRm9ybWF0fVxuICAgICAgICAgICAgICAgICAgY2FuY2VsVGV4dFdpZHRoXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZGF0ZS10aW1lLWZvcm1hdCd9PlxuICAgICAgICAgICAgICAgIHtkYXRlVGltZUZvcm1hdCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICAgICAgICBuZXcgRGF0ZSgpLnRvTG9jYWxlRGF0ZVN0cmluZygnZW4tVVMnLCBkYXRlVGltZUZvcm1hdC5mb3JtYXQpfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUubGFuZ3VhZ2UnKX0qXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J215LWlucHV0J30+XG4gICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgb3B0aW9ucz17bG9jYWxlT3B0aW9uc31cbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtsb2NhbGV9XG4gICAgICAgICAgICAgICAgICBzZXRWYWx1ZT17c2V0TG9jYWxlfVxuICAgICAgICAgICAgICAgICAgY2FuY2VsVGV4dFdpZHRoXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGQgZmllbGQtLWJ1dHRvbnNcIj5cbiAgICAgICAgICAgICAge3BhcmFtcy50ZWxlZ3JhbV9uYW1lID09PSAnJyAmJiAoXG4gICAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwidGVsZWdyYW1cIiBvbkNsaWNrPXsoKSA9PiBzZXRJc1RlbGVncmFtT3Blbih0cnVlKX0+XG4gICAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5jb25uZWN0LXRvLXRlbGVncmFtJyl9XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICB7cGFyYW1zLnRlbGVncmFtX25hbWUgIT09ICcnICYmIChcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUudGVsZWdyYW1fbmFtZScpfVxuICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldElzVGVsZWdyYW1PcGVuKHRydWUpfVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxQZW5Tdmcgd2lkdGg9XCIxMnB4XCIgaGVpZ2h0PVwiMTJweFwiIGZpbGw9XCIjZjAxMzRjXCIgLz57JyAnfVxuICAgICAgICAgICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuY2hhbmdlLW5hbWUnKX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsndGVsZWdyYW0tZXhpc3RpbmctaW5wdXQnfT5cbiAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibXktaW5wdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT17J3RlbGVncmFtX25hbWUnfVxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3BhcmFtcy50ZWxlZ3JhbV9uYW1lfVxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXsndGVsZWdyYW0tZXhpc3RpbmctaW5wdXRfX2NhbmNlbC1idXR0b24nfVxuICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0UGFyYW1zKChwcmV2U3RhdGUpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ucHJldlN0YXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlbGVncmFtX25hbWU6ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxDYW5jZWwgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT17J2Vycm9yLW1lc3NhZ2UnfT48L3A+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXsndGVsZWdyYW0gb3Blbid9XG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYXhpb3NcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldChgL3RlbGVncmFtL3NlbmRfdGVzdF9tZXNzYWdlLmpzb25gKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAudGhlbigocmVzcCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFNob3dUZWxlZ3JhbVJlc3BvbnNlTWVzc2FnZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3AuZGF0YS51c2VyLnN0YXR1c1swXS50b1VwcGVyQ2FzZSgpICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcC5kYXRhLnVzZXIuc3RhdHVzLnN1YnN0cmluZygxKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IHJlc3AuZGF0YS51c2VyLm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0U2hvd1RlbGVncmFtUmVzcG9uc2VNZXNzYWdlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3c6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgNjAwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1RvYXN0KHJlc3AuZGF0YS51c2VyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4gYWxlcnQoZXJyb3IpKTtcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgeyFzaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2Uuc2hvdyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgaTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5zZW5kX3RlbGVncmFtX21lc3NhZ2UnKX1cbiAgICAgICAgICAgICAgICAgICAgICB7c2hvd1RlbGVncmFtUmVzcG9uc2VNZXNzYWdlLnNob3cgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIHNob3dUZWxlZ3JhbVJlc3BvbnNlTWVzc2FnZS5zdGF0dXN9XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5mbG93X3JhdGVfdW5pdHMnKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnbXktaW5wdXQnfT5cbiAgICAgICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgICBvcHRpb25zPXtmbG93UmF0ZVVuaXRPcHRpb25zfVxuICAgICAgICAgICAgICAgICAgdmFsdWU9e2Zsb3dSYXRlVW5pdH1cbiAgICAgICAgICAgICAgICAgIHNldFZhbHVlPXtzZXRGbG93UmF0ZVVuaXR9XG4gICAgICAgICAgICAgICAgICBjYW5jZWxUZXh0V2lkdGhcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICA8YnV0dG9uIHR5cGU9eydzdWJtaXQnfSBjbGFzc05hbWU9eydzYXZlJ30gZGlzYWJsZWQ9e3N1Ym1pdHRpbmd9PlxuICAgICAgICAgICAgeyFzdWJtaXR0aW5nICYmXG4gICAgICAgICAgICAgICFzaG93U3VjY2Vzc01lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgIXNob3dFcnJvck1lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgaTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5zdWJtaXQnKX1cbiAgICAgICAgICAgIHtzdWJtaXR0aW5nICYmXG4gICAgICAgICAgICAgICFzaG93U3VjY2Vzc01lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgIXNob3dFcnJvck1lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgaTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5zdWJtaXR0aW5nJyl9XG4gICAgICAgICAgICB7c2hvd1N1Y2Nlc3NNZXNzYWdlICYmIGkxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuc3VjY2VzcycpfVxuICAgICAgICAgICAge3Nob3dFcnJvck1lc3NhZ2UgJiYgaTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5lcnJvcicpfVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZm9ybT5cblxuICAgICAge3Nob3dQYXNzd29yZE1vZGFsICYmIChcbiAgICAgICAgPFBhc3N3b3JkTW9kYWxcbiAgICAgICAgICBjbG9zZT17KCkgPT4gc2V0U2hvd1Bhc3N3b3JkTW9kYWwoZmFsc2UpfVxuICAgICAgICAgIHNhdmU9eygpID0+IHt9fVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICAgIHtpc1RlbGVncmFtT3BlbiAmJiAoXG4gICAgICAgIDxUZWxlZ3JhbU1vZGFsXG4gICAgICAgICAgY2xvc2U9eygpID0+IHNldElzVGVsZWdyYW1PcGVuKGZhbHNlKX1cbiAgICAgICAgICBoYW5kbGVPbkNoYW5nZT17aGFuZGxlT25DaGFuZ2V9XG4gICAgICAgICAgaGFuZGxlU3VibWl0PXtoYW5kbGVTdWJtaXR9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgIDwvQ29udGFpbmVyPlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFB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
599
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfU2VsZWN0IiwiX2kxOG4iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1Bhc3N3b3JkTW9kYWwiLCJfcGVuIiwiX2NhbmNlbCIsIl9yZWFjdFBob25lSW5wdXQiLCJfVGVsZWdyYW1Nb2RhbCIsIl9heGlvcyIsIl9Db250YWluZXIiLCJfbW9tZW50VGltZXpvbmUiLCJfQW5hbHl0aWNzIiwiX3JlYWN0UmVkdXgiLCJfcmVhY3RUb2FzdGlmeSIsIl9wZXJtaXNzaW9uc1NsaWNlIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJQcm9maWxlUGFnZSIsInRpbWV6b25lc0FycmF5IiwibW9tZW50IiwidHoiLCJuYW1lcyIsImRhdGVUaW1lRm9ybWF0T3B0aW9ucyIsInZhbHVlIiwibGFiZWwiLCJmb3JtYXQiLCJtb250aCIsImRheSIsInllYXIiLCJob3VyIiwibWludXRlIiwiaG91cjEyIiwidGltZXpvbmVzIiwibWFwIiwidCIsImxvY2FsZU9wdGlvbnMiLCJmbG93UmF0ZVVuaXRPcHRpb25zIiwiaTE4biIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImxvY2FsZSIsInNldExvY2FsZSIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiZmxvd1JhdGVVbml0Iiwic2V0Rmxvd1JhdGVVbml0IiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJkYXRlVGltZUZvcm1hdCIsInNldERhdGVUaW1lRm9ybWF0IiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJ0aW1lem9uZSIsInNldFRpbWV6b25lIiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTEwIiwiZGVwYXJ0bWVudHMiLCJzZXREZXBhcnRtZW50cyIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJidXNpbmVzc1JvbGVzIiwic2V0QnVzaW5lc3NSb2xlcyIsIl91c2VTdGF0ZTEzIiwiX3VzZVN0YXRlMTQiLCJkZXBhcnRtZW50Iiwic2V0RGVwYXJ0bWVudCIsIl91c2VTdGF0ZTE1IiwiX3VzZVN0YXRlMTYiLCJidXNpbmVzc1JvbGUiLCJzZXRCdXNpbmVzc1JvbGUiLCJpbml0aWFsUGFyYW1zU3RhdGUiLCJmaXJzdF9uYW1lIiwibGFzdF9uYW1lIiwicGhvbmUiLCJlbWFpbCIsInRpbWVfem9uZSIsImRhdGVfdGltZV9mb3JtYXQiLCJ0ZWxlZ3JhbV9uYW1lIiwib3RoZXJfYnVzaW5lc3Nfcm9sZV9uYW1lIiwib3RoZXJfZGVwYXJ0bWVudF9uYW1lIiwiYnVzaW5lc3Nfcm9sZSIsImZsb3dfcmF0ZV91bml0IiwiX3VzZVN0YXRlMTciLCJfdXNlU3RhdGUxOCIsImlzVGVsZWdyYW1PcGVuIiwic2V0SXNUZWxlZ3JhbU9wZW4iLCJfdXNlU3RhdGUxOSIsIl91c2VTdGF0ZTIwIiwic2hvd1Bhc3N3b3JkTW9kYWwiLCJzZXRTaG93UGFzc3dvcmRNb2RhbCIsIl91c2VTdGF0ZTIxIiwiX3VzZVN0YXRlMjIiLCJzdWJtaXR0aW5nIiwic2V0U3VibWl0dGluZyIsIl91c2VTdGF0ZTIzIiwiX3VzZVN0YXRlMjQiLCJzaG93U3VjY2Vzc01lc3NhZ2UiLCJzZXRTaG93U3VjY2Vzc01lc3NhZ2UiLCJfdXNlU3RhdGUyNSIsIl91c2VTdGF0ZTI2Iiwic2hvd0Vycm9yTWVzc2FnZSIsInNldFNob3dFcnJvck1lc3NhZ2UiLCJfdXNlU3RhdGUyNyIsInNob3ciLCJzdGF0dXMiLCJtZXNzYWdlIiwiX3VzZVN0YXRlMjgiLCJzaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2UiLCJzZXRTaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2UiLCJfdXNlU3RhdGUyOSIsIl91c2VTdGF0ZTMwIiwicGFyYW1zIiwic2V0UGFyYW1zIiwiaGFuZGxlT25DaGFuZ2UiLCJlIiwic3RhcnRzV2l0aCIsInJlcGxhY2UiLCJwcmV2U3RhdGUiLCJfb2JqZWN0U3ByZWFkMyIsIl9lJHRhcmdldCIsInRhcmdldCIsIm5hbWUiLCJfZGVmaW5lUHJvcGVydHkyIiwiaGFuZGxlQnVzaW5lc3NSb2xlQ2hhbmdlIiwiaGFuZGxlRGVwYXJ0bWVudENoYW5nZSIsImdldFBhcmFtc1dpdGhBZ2dyZWdhdGVkVmFsdWVzIiwiZGVwYXJ0bWVudF9pZCIsInVuZGVmaW5lZCIsImJ1c2luZXNzX3JvbGVfaWQiLCJ3YXRlckF1dGhvcml0eU5hbWUiLCJ1c2VTZWxlY3RvciIsInN0YXRlIiwiZ2xvYmFsX2RhdGEiLCJzaG93VG9hc3QiLCJkYXRhIiwidXNlcm5hbWUiLCJlcnJvciIsInRvYXN0Iiwic3VjY2VzcyIsImNvbmNhdCIsInBvc2l0aW9uIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsImhhbmRsZVN1Ym1pdCIsInByZXZlbnREZWZhdWx0IiwiYXhpb3MiLCJwdXQiLCJ1c2VyIiwidGhlbiIsInJlc3AiLCJlcnJvcnMiLCJQZXJtaXNzaW9uc1NsaWNlIiwiYWN0aW9ucyIsInNldFVzZXJJbmZvIiwiSlNPTiIsInBhcnNlIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZm9yRWFjaCIsInAiLCJpbm5lckhUTUwiLCJjbGFzc0xpc3QiLCJyZW1vdmUiLCJmaW5kTG9jYWxlIiwiZmluZCIsImZpbmRGbG93UmF0ZVVuaXQiLCJmaW5kRGF0ZVRpbWVGb3JtYXQiLCJmaW5kVGltZXpvbmUiLCJzZXRUaW1lb3V0IiwiZmluZEVsZW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwicGFyZW50IiwiY2xvc2VzdCIsImZpbmRJbnB1dCIsImFkZCIsImNhdGNoIiwidXNlRWZmZWN0IiwiYW5hbHl0aWNzVHJhY2siLCJ1dGlsaXR5X25hbWUiLCJ0b2tlbiIsImNvbnRlbnQiLCJkZWZhdWx0cyIsImhlYWRlcnMiLCJjb21tb24iLCJmaW5kUHJvcGVydHkiLCJvYmplY3QiLCJwcm9wZXJ0eSIsImJ1c2luZXNzX3JvbGVzIiwiYWxlcnQiLCJjcmVhdGVFbGVtZW50IiwiQ29udGFpbmVyIiwiY2xhc3NOYW1lIiwiYWN0aW9uIiwib25TdWJtaXQiLCJ0eXBlIiwib25DaGFuZ2UiLCJyZWFkT25seSIsImNvdW50cnkiLCJsb2NhbGl6YXRpb24iLCJpbnB1dENsYXNzIiwiY29udGFpbmVyQ2xhc3MiLCJidXR0b25DbGFzcyIsImRyb3Bkb3duQ2xhc3MiLCJlbmFibGVTZWFyY2giLCJzZWFyY2hQbGFjZWhvbGRlciIsImNvdW50cnlDb2RlRWRpdGFibGUiLCJpbnB1dFByb3BzIiwiRnJhZ21lbnQiLCJTZWxlY3QiLCJzZXRWYWx1ZSIsIm9wdGlvbnMiLCJjYW5jZWxUZXh0V2lkdGgiLCJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGlvbl9rZXkiLCJsZW5ndGgiLCJvbkNsaWNrIiwiUmVhY3RDb21wb25lbnQiLCJ3aWR0aCIsImhlaWdodCIsImZpbGwiLCJEYXRlIiwidG9Mb2NhbGVEYXRlU3RyaW5nIiwidG9VcHBlckNhc2UiLCJzdWJzdHJpbmciLCJkaXNhYmxlZCIsIlBhc3N3b3JkTW9kYWwiLCJjbG9zZSIsInNhdmUiLCJUZWxlZ3JhbU1vZGFsIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9Qcm9maWxlUGFnZS9Qcm9maWxlUGFnZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBTZWxlY3QgfSBmcm9tICdzcmMvY29tcG9uZW50cy9DdXN0b21JbnB1dHMvU2VsZWN0L1NlbGVjdCc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgUGFzc3dvcmRNb2RhbCB9IGZyb20gJy4vUGFzc3dvcmRNb2RhbC9QYXNzd29yZE1vZGFsJztcbmltcG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIFBlblN2ZyB9IGZyb20gJy4vcGVuLnN2Zyc7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBDYW5jZWwgfSBmcm9tICcuL2NhbmNlbC5zdmcnO1xuaW1wb3J0IFBob25lSW5wdXQgZnJvbSAncmVhY3QtcGhvbmUtaW5wdXQtMic7XG5pbXBvcnQgJ3JlYWN0LXBob25lLWlucHV0LTIvbGliL3N0eWxlLmNzcyc7XG5pbXBvcnQgeyBUZWxlZ3JhbU1vZGFsIH0gZnJvbSAnLi9UZWxlZ3JhbU1vZGFsL1RlbGVncmFtTW9kYWwnO1xuaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJztcbmltcG9ydCB7IENvbnRhaW5lciB9IGZyb20gJy4vQ29udGFpbmVyJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50LXRpbWV6b25lJztcbmltcG9ydCB7IGFuYWx5dGljc1RyYWNrIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL0FuYWx5dGljcyc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyB0b2FzdCB9IGZyb20gJ3JlYWN0LXRvYXN0aWZ5JztcbmltcG9ydCB7IFBlcm1pc3Npb25zU2xpY2UgfSBmcm9tICdzcmMvc3RvcmUvcGVybWlzc2lvbnMvcGVybWlzc2lvbnNTbGljZSc7XG5cbmV4cG9ydCBjb25zdCBQcm9maWxlUGFnZSA9ICgpID0+IHtcbiAgY29uc3QgdGltZXpvbmVzQXJyYXkgPSBtb21lbnQudHoubmFtZXMoKTtcbiAgY29uc3QgZGF0ZVRpbWVGb3JtYXRPcHRpb25zID0gW1xuICAgIHtcbiAgICAgIHZhbHVlOiAndXMnLFxuICAgICAgbGFiZWw6ICdVbml0ZWQgU3RhdGVzJyxcbiAgICAgIGZvcm1hdDoge1xuICAgICAgICBtb250aDogJ3Nob3J0JyxcbiAgICAgICAgZGF5OiAnbnVtZXJpYycsXG4gICAgICAgIHllYXI6ICdudW1lcmljJyxcbiAgICAgICAgaG91cjogJ251bWVyaWMnLFxuICAgICAgICBtaW51dGU6ICdudW1lcmljJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YWx1ZTogJ2V1JyxcbiAgICAgIGxhYmVsOiAnRXVyb3BlJyxcbiAgICAgIGZvcm1hdDoge1xuICAgICAgICBkYXk6ICdudW1lcmljJyxcbiAgICAgICAgbW9udGg6ICdudW1lcmljJyxcbiAgICAgICAgeWVhcjogJ251bWVyaWMnLFxuICAgICAgICBob3VyOiAnbnVtZXJpYycsXG4gICAgICAgIG1pbnV0ZTogJ251bWVyaWMnLFxuICAgICAgICBob3VyMTI6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9LFxuICBdO1xuXG4gIGNvbnN0IHRpbWV6b25lcyA9IHRpbWV6b25lc0FycmF5Lm1hcCgodCkgPT4ge1xuICAgIHJldHVybiB7IHZhbHVlOiB0LCBsYWJlbDogdCB9O1xuICB9KTtcblxuICBjb25zdCBsb2NhbGVPcHRpb25zID0gW1xuICAgIHsgdmFsdWU6ICdlbicsIGxhYmVsOiAnRW5nbGlzaCcgfSxcbiAgICB7IHZhbHVlOiAnZW5fdWsnLCBsYWJlbDogJ0VuZ2xpc2ggKFVLKScgfSxcbiAgICB7IHZhbHVlOiAnaGUnLCBsYWJlbDogJ9ei15HXqNeZ16onIH0sXG4gICAgeyB2YWx1ZTogJ2ZyJywgbGFiZWw6ICdGcmFuw6dhaXMnIH0sXG4gICAgeyB2YWx1ZTogJ2l0JywgbGFiZWw6ICdJdGFsaWFubycgfSxcbiAgXTtcblxuICBjb25zdCBmbG93UmF0ZVVuaXRPcHRpb25zID0gW1xuICAgIHtcbiAgICAgIHZhbHVlOiAnZ2QnLFxuICAgICAgbGFiZWw6IGkxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuZmxvd19yYXRlX3VuaXRfb3B0aW9ucy5nZCcpLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFsdWU6ICdtM2QnLFxuICAgICAgbGFiZWw6IGkxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuZmxvd19yYXRlX3VuaXRfb3B0aW9ucy5tM2QnKSxcbiAgICB9LFxuICBdO1xuXG4gIGNvbnN0IFtsb2NhbGUsIHNldExvY2FsZV0gPSB1c2VTdGF0ZTx7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBsYWJlbDogc3RyaW5nO1xuICB9Pihsb2NhbGVPcHRpb25zWzBdKTtcblxuICBjb25zdCBbZmxvd1JhdGVVbml0LCBzZXRGbG93UmF0ZVVuaXRdID0gdXNlU3RhdGU8e1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgfT4oZmxvd1JhdGVVbml0T3B0aW9uc1swXSk7XG5cbiAgY29uc3QgW2RhdGVUaW1lRm9ybWF0LCBzZXREYXRlVGltZUZvcm1hdF0gPSB1c2VTdGF0ZTx7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIGZvcm1hdDogb2JqZWN0O1xuICB9PihkYXRlVGltZUZvcm1hdE9wdGlvbnNbMF0pO1xuXG4gIGNvbnN0IFt0aW1lem9uZSwgc2V0VGltZXpvbmVdID0gdXNlU3RhdGU8e1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgfT4odGltZXpvbmVzWzIwXSk7XG5cbiAgY29uc3QgW2RlcGFydG1lbnRzLCBzZXREZXBhcnRtZW50c10gPSB1c2VTdGF0ZTxcbiAgICB7XG4gICAgICB2YWx1ZTogc3RyaW5nO1xuICAgICAgbGFiZWw6IHN0cmluZztcbiAgICB9W11cbiAgPihbeyB2YWx1ZTogJycsIGxhYmVsOiAnJyB9XSk7XG5cbiAgY29uc3QgW2J1c2luZXNzUm9sZXMsIHNldEJ1c2luZXNzUm9sZXNdID0gdXNlU3RhdGU8XG4gICAge1xuICAgICAgdmFsdWU6IHN0cmluZztcbiAgICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgfVtdXG4gID4oW3sgdmFsdWU6ICcnLCBsYWJlbDogJycgfV0pO1xuXG4gIGNvbnN0IFtkZXBhcnRtZW50LCBzZXREZXBhcnRtZW50XSA9IHVzZVN0YXRlPGFueT4oZGVwYXJ0bWVudHNbMF0pO1xuXG4gIGNvbnN0IFtidXNpbmVzc1JvbGUsIHNldEJ1c2luZXNzUm9sZV0gPSB1c2VTdGF0ZTxhbnk+KGJ1c2luZXNzUm9sZXNbMF0pO1xuXG4gIGNvbnN0IGluaXRpYWxQYXJhbXNTdGF0ZSA9IHtcbiAgICBmaXJzdF9uYW1lOiAnJyxcbiAgICBsYXN0X25hbWU6ICcnLFxuICAgIHBob25lOiAnJyxcbiAgICBlbWFpbDogJycsXG4gICAgdGltZV96b25lOiAnJyxcbiAgICBkYXRlX3RpbWVfZm9ybWF0OiAnJyxcbiAgICBsb2NhbGU6ICcnLFxuICAgIHRlbGVncmFtX25hbWU6ICcnLFxuICAgIG90aGVyX2J1c2luZXNzX3JvbGVfbmFtZTogJycsXG4gICAgb3RoZXJfZGVwYXJ0bWVudF9uYW1lOiAnJyxcbiAgICBidXNpbmVzc19yb2xlOiAnJyxcbiAgICBkZXBhcnRtZW50OiAnJyxcbiAgICBmbG93X3JhdGVfdW5pdDogJycsXG4gIH07XG5cbiAgY29uc3QgW2lzVGVsZWdyYW1PcGVuLCBzZXRJc1RlbGVncmFtT3Blbl0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gIGNvbnN0IFtzaG93UGFzc3dvcmRNb2RhbCwgc2V0U2hvd1Bhc3N3b3JkTW9kYWxdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuICBjb25zdCBbc3VibWl0dGluZywgc2V0U3VibWl0dGluZ10gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gIGNvbnN0IFtzaG93U3VjY2Vzc01lc3NhZ2UsIHNldFNob3dTdWNjZXNzTWVzc2FnZV0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gIGNvbnN0IFtzaG93RXJyb3JNZXNzYWdlLCBzZXRTaG93RXJyb3JNZXNzYWdlXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgW3Nob3dUZWxlZ3JhbVJlc3BvbnNlTWVzc2FnZSwgc2V0U2hvd1RlbGVncmFtUmVzcG9uc2VNZXNzYWdlXSA9XG4gICAgdXNlU3RhdGU8e1xuICAgICAgc2hvdzogYm9vbGVhbjtcbiAgICAgIHN0YXR1czogc3RyaW5nO1xuICAgICAgbWVzc2FnZTogc3RyaW5nO1xuICAgIH0+KHtcbiAgICAgIHNob3c6IGZhbHNlLFxuICAgICAgc3RhdHVzOiAnJyxcbiAgICAgIG1lc3NhZ2U6ICcnLFxuICAgIH0pO1xuICBjb25zdCBbcGFyYW1zLCBzZXRQYXJhbXNdID0gdXNlU3RhdGU8e1xuICAgIGZpcnN0X25hbWU6IHN0cmluZztcbiAgICBsYXN0X25hbWU6IHN0cmluZztcbiAgICBwaG9uZTogc3RyaW5nO1xuICAgIGVtYWlsOiBzdHJpbmc7XG4gICAgdGltZV96b25lOiBzdHJpbmc7XG4gICAgZGF0ZV90aW1lX2Zvcm1hdDogc3RyaW5nO1xuICAgIGxvY2FsZTogc3RyaW5nO1xuICAgIHRlbGVncmFtX25hbWU6IHN0cmluZztcbiAgICBvdGhlcl9idXNpbmVzc19yb2xlX25hbWU6IHN0cmluZztcbiAgICBvdGhlcl9kZXBhcnRtZW50X25hbWU6IHN0cmluZztcbiAgICBmbG93X3JhdGVfdW5pdDogc3RyaW5nO1xuICB9Pihpbml0aWFsUGFyYW1zU3RhdGUpO1xuXG4gIGNvbnN0IGhhbmRsZU9uQ2hhbmdlID0gKGUpID0+IHtcbiAgICBpZiAodHlwZW9mIGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBpZiAoZS5zdGFydHNXaXRoKCc5NzIwJykpIHtcbiAgICAgICAgZSA9IGUucmVwbGFjZSgvKDk3MjApL2csICc5NzInKTtcbiAgICAgIH1cbiAgICAgIHNldFBhcmFtcygocHJldlN0YXRlKSA9PiAoe1xuICAgICAgICAuLi5wcmV2U3RhdGUsXG4gICAgICAgIHBob25lOiBlLFxuICAgICAgfSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB7IHZhbHVlLCBuYW1lIH0gPSBlLnRhcmdldDtcbiAgICAgIHNldFBhcmFtcygocHJldlN0YXRlKSA9PiAoe1xuICAgICAgICAuLi5wcmV2U3RhdGUsXG4gICAgICAgIFtuYW1lXTogdmFsdWUsXG4gICAgICB9KSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUJ1c2luZXNzUm9sZUNoYW5nZSA9IChlKSA9PiB7XG4gICAgaWYgKGUudGFyZ2V0ICE9PSBudWxsKSB7XG4gICAgICBzZXRQYXJhbXMoe1xuICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgIGJ1c2luZXNzX3JvbGU6IGUudmFsdWUsXG4gICAgICAgIG90aGVyX2J1c2luZXNzX3JvbGVfbmFtZTogZS50YXJnZXQudmFsdWUsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlRGVwYXJ0bWVudENoYW5nZSA9IChlKSA9PiB7XG4gICAgaWYgKGUudGFyZ2V0ICE9PSBudWxsKSB7XG4gICAgICBzZXRQYXJhbXMoe1xuICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgIGRlcGFydG1lbnQ6IGUudmFsdWUsXG4gICAgICAgIG90aGVyX2RlcGFydG1lbnRfbmFtZTogZS50YXJnZXQudmFsdWUsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgZ2V0UGFyYW1zV2l0aEFnZ3JlZ2F0ZWRWYWx1ZXMgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnBhcmFtcyxcbiAgICAgIGRhdGVfdGltZV9mb3JtYXQ6IGRhdGVUaW1lRm9ybWF0LnZhbHVlLFxuICAgICAgbG9jYWxlOiBsb2NhbGUudmFsdWUsXG4gICAgICB0aW1lX3pvbmU6IHRpbWV6b25lLnZhbHVlLFxuICAgICAgZGVwYXJ0bWVudF9pZDogZGVwYXJ0bWVudCA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGRlcGFydG1lbnQudmFsdWUsXG4gICAgICBidXNpbmVzc19yb2xlX2lkOiBidXNpbmVzc1JvbGUgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBidXNpbmVzc1JvbGUudmFsdWUsXG4gICAgICBmbG93X3JhdGVfdW5pdDogZmxvd1JhdGVVbml0LnZhbHVlLFxuICAgIH07XG4gIH07XG5cbiAgY29uc3Qgd2F0ZXJBdXRob3JpdHlOYW1lID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlKSA9PiBzdGF0ZS5nbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eU5hbWUsXG4gICk7XG5cbiAgY29uc3Qgc2hvd1RvYXN0ID0gKGRhdGEpID0+IHtcbiAgICBjb25zdCB1c2VybmFtZSA9IGRhdGEudXNlcm5hbWU7XG4gICAgY29uc3QgZXJyb3IgPSBkYXRhLmVycm9yO1xuICAgIGlmIChkYXRhLnN0YXR1cyA9PT0gJ3N1Y2Nlc3MnKSB7XG4gICAgICB0b2FzdC5zdWNjZXNzKFxuICAgICAgICBpMThuLnQoYG15X3Byb2ZpbGVfdGFiLnRlbGVncmFtX21lc3NhZ2VzLiR7ZGF0YS5tZXNzYWdlfWAsIHtcbiAgICAgICAgICB1c2VybmFtZSxcbiAgICAgICAgfSksXG4gICAgICAgIHtcbiAgICAgICAgICBwb3NpdGlvbjogJ3RvcC1jZW50ZXInLFxuICAgICAgICB9LFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdG9hc3QuZXJyb3IoXG4gICAgICAgIGkxOG4udChgbXlfcHJvZmlsZV90YWIudGVsZWdyYW1fbWVzc2FnZXMuJHtkYXRhLm1lc3NhZ2V9YCwge1xuICAgICAgICAgIGVycm9yOiBlcnJvcixcbiAgICAgICAgICB1c2VybmFtZTogdXNlcm5hbWUsXG4gICAgICAgIH0pLFxuICAgICAgICB7XG4gICAgICAgICAgcG9zaXRpb246ICd0b3AtY2VudGVyJyxcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcblxuICBjb25zdCBoYW5kbGVTdWJtaXQgPSAoZSkgPT4ge1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICBzZXRTdWJtaXR0aW5nKHRydWUpO1xuICAgIGF4aW9zXG4gICAgICAucHV0KCcvcHJvZmlsZXMnLCB7IHVzZXI6IGdldFBhcmFtc1dpdGhBZ2dyZWdhdGVkVmFsdWVzKCkgfSlcbiAgICAgIC50aGVuKChyZXNwKSA9PiB7XG4gICAgICAgIGlmIChyZXNwLmRhdGEuZXJyb3JzID09PSBudWxsKSB7XG4gICAgICAgICAgZGlzcGF0Y2goXG4gICAgICAgICAgICBQZXJtaXNzaW9uc1NsaWNlLmFjdGlvbnMuc2V0VXNlckluZm8oSlNPTi5wYXJzZShyZXNwLmRhdGEudXNlcikpLFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBkb2N1bWVudFxuICAgICAgICAgICAgLnF1ZXJ5U2VsZWN0b3JBbGwoJy5lcnJvci1tZXNzYWdlJylcbiAgICAgICAgICAgIC5mb3JFYWNoKChwKSA9PiAocC5pbm5lckhUTUwgPSAnJykpO1xuXG4gICAgICAgICAgZG9jdW1lbnRcbiAgICAgICAgICAgIC5xdWVyeVNlbGVjdG9yQWxsKCcuaW52YWxpZC1maWVsZCcpXG4gICAgICAgICAgICAuZm9yRWFjaCgocCkgPT4gcC5jbGFzc0xpc3QucmVtb3ZlKCdpbnZhbGlkLWZpZWxkJykpO1xuICAgICAgICAgIGxldCB1c2VyID0gSlNPTi5wYXJzZShyZXNwLmRhdGEudXNlcik7XG4gICAgICAgICAgY29uc3QgZmluZExvY2FsZSA9IGxvY2FsZU9wdGlvbnMuZmluZCgoZSkgPT4gZS52YWx1ZSA9PT0gdXNlci5sb2NhbGUpO1xuICAgICAgICAgIGNvbnN0IGZpbmRGbG93UmF0ZVVuaXQgPSBmbG93UmF0ZVVuaXRPcHRpb25zLmZpbmQoXG4gICAgICAgICAgICAoZSkgPT4gZS52YWx1ZSA9PT0gdXNlci5mbG93X3JhdGVfdW5pdCxcbiAgICAgICAgICApO1xuICAgICAgICAgIGNvbnN0IGZpbmREYXRlVGltZUZvcm1hdCA9IGRhdGVUaW1lRm9ybWF0T3B0aW9ucy5maW5kKFxuICAgICAgICAgICAgKGUpID0+IGUudmFsdWUgPT09IHVzZXIuZGF0ZV90aW1lX2Zvcm1hdCxcbiAgICAgICAgICApO1xuICAgICAgICAgIGNvbnN0IGZpbmRUaW1lem9uZSA9IHRpbWV6b25lcy5maW5kKFxuICAgICAgICAgICAgKGUpID0+IGUudmFsdWUgPT09IHVzZXIudGltZV96b25lLFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBzZXRQYXJhbXModXNlcik7XG4gICAgICAgICAgc2V0TG9jYWxlKGZpbmRMb2NhbGUhKTtcbiAgICAgICAgICBzZXRGbG93UmF0ZVVuaXQoZmluZEZsb3dSYXRlVW5pdCEpO1xuICAgICAgICAgIHNldERhdGVUaW1lRm9ybWF0KGZpbmREYXRlVGltZUZvcm1hdCEpO1xuICAgICAgICAgIHNldFRpbWV6b25lKGZpbmRUaW1lem9uZSEpO1xuICAgICAgICAgIHNldFNob3dTdWNjZXNzTWVzc2FnZSh0cnVlKTtcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHNldFNob3dTdWNjZXNzTWVzc2FnZShmYWxzZSk7XG4gICAgICAgICAgfSwgNjAwMCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZG9jdW1lbnRcbiAgICAgICAgICAgIC5xdWVyeVNlbGVjdG9yQWxsKCcuZXJyb3ItbWVzc2FnZScpXG4gICAgICAgICAgICAuZm9yRWFjaCgocCkgPT4gKHAuaW5uZXJIVE1MID0gJycpKTtcbiAgICAgICAgICBsZXQgZXJyb3JzID0gcmVzcC5kYXRhLnVzZXIuZXJyb3JzO1xuICAgICAgICAgIGZvciAoY29uc3QgZXJyb3IgaW4gZXJyb3JzKSB7XG4gICAgICAgICAgICBsZXQgZmluZEVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBpbnB1dFtuYW1lPScke2Vycm9yfSddYCk7XG4gICAgICAgICAgICBsZXQgcGFyZW50ID0gZmluZEVsZW1lbnQhLmNsb3Nlc3QoJy5maWVsZCcpO1xuICAgICAgICAgICAgbGV0IGZpbmRJbnB1dCA9IHBhcmVudCEucXVlcnlTZWxlY3RvcignaW5wdXQnKTtcbiAgICAgICAgICAgIGZpbmRJbnB1dCEuY2xhc3NMaXN0LmFkZCgnaW52YWxpZC1maWVsZCcpO1xuICAgICAgICAgICAgcGFyZW50IS5xdWVyeVNlbGVjdG9yKCcuZXJyb3ItbWVzc2FnZScpIS5pbm5lckhUTUwgPSBpMThuLnQoXG4gICAgICAgICAgICAgIGBkYXNoYm9hcmRfdjIucHJvZmlsZS5lcnJvcnMuJHtlcnJvcn1gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgc2V0U2hvd1N1Y2Nlc3NNZXNzYWdlKGZhbHNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNldFN1Ym1pdHRpbmcoZmFsc2UpO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgc2V0U2hvd0Vycm9yTWVzc2FnZSh0cnVlKTtcbiAgICAgICAgc2V0U2hvd1N1Y2Nlc3NNZXNzYWdlKGZhbHNlKTtcbiAgICAgICAgc2V0U3VibWl0dGluZyhmYWxzZSk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHNldFNob3dFcnJvck1lc3NhZ2UoZmFsc2UpO1xuICAgICAgICB9LCA2MDAwKTtcbiAgICAgIH0pO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgYW5hbHl0aWNzVHJhY2soJ1ZpZXdlZCBQcm9maWxlIFBhZ2UnLCB7XG4gICAgICB1dGlsaXR5X25hbWU6IHdhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICB9KTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgY29uc3QgdG9rZW4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdbbmFtZT1jc3JmLXRva2VuXScpIS5jb250ZW50O1xuICAgIGF4aW9zLmRlZmF1bHRzLmhlYWRlcnMuY29tbW9uWydYLUNTUkYtVE9LRU4nXSA9IHRva2VuO1xuICAgIGF4aW9zLmRlZmF1bHRzLmhlYWRlcnMuY29tbW9uWydDb250ZW50LVR5cGUnXSA9ICdhcHBsaWNhdGlvbi9qcyc7XG4gICAgYXhpb3NcbiAgICAgIC5nZXQoYC9wcm9maWxlcy9yZXNvdXJjZWApXG4gICAgICAudGhlbigocmVzcCkgPT4ge1xuICAgICAgICBzZXRQYXJhbXMocmVzcC5kYXRhLnVzZXIpO1xuICAgICAgICBjb25zdCBmaW5kUHJvcGVydHkgPSAob2JqZWN0LCBwcm9wZXJ0eSkgPT4ge1xuICAgICAgICAgIHJldHVybiBvYmplY3QuZmluZCgoZSkgPT4gZS52YWx1ZSA9PT0gcHJvcGVydHkpO1xuICAgICAgICB9O1xuICAgICAgICBzZXRMb2NhbGUoZmluZFByb3BlcnR5KGxvY2FsZU9wdGlvbnMsIHJlc3AuZGF0YS51c2VyLmxvY2FsZSkpO1xuICAgICAgICBzZXRGbG93UmF0ZVVuaXQoXG4gICAgICAgICAgZmluZFByb3BlcnR5KGZsb3dSYXRlVW5pdE9wdGlvbnMsIHJlc3AuZGF0YS51c2VyLmZsb3dfcmF0ZV91bml0KSxcbiAgICAgICAgKTtcbiAgICAgICAgc2V0RGF0ZVRpbWVGb3JtYXQoXG4gICAgICAgICAgZmluZFByb3BlcnR5KGRhdGVUaW1lRm9ybWF0T3B0aW9ucywgcmVzcC5kYXRhLnVzZXIuZGF0ZV90aW1lX2Zvcm1hdCksXG4gICAgICAgICk7XG4gICAgICAgIHNldFRpbWV6b25lKGZpbmRQcm9wZXJ0eSh0aW1lem9uZXMsIHJlc3AuZGF0YS51c2VyLnRpbWVfem9uZSkpO1xuICAgICAgICBzZXRCdXNpbmVzc1JvbGUoXG4gICAgICAgICAgZmluZFByb3BlcnR5KFxuICAgICAgICAgICAgcmVzcC5kYXRhLmJ1c2luZXNzX3JvbGVzLFxuICAgICAgICAgICAgcmVzcC5kYXRhLnVzZXIuYnVzaW5lc3Nfcm9sZV9pZCxcbiAgICAgICAgICApLFxuICAgICAgICApO1xuICAgICAgICBzZXREZXBhcnRtZW50KFxuICAgICAgICAgIGZpbmRQcm9wZXJ0eShyZXNwLmRhdGEuZGVwYXJ0bWVudHMsIHJlc3AuZGF0YS51c2VyLmRlcGFydG1lbnRfaWQpLFxuICAgICAgICApO1xuICAgICAgICBzZXREZXBhcnRtZW50cyhyZXNwLmRhdGEuZGVwYXJ0bWVudHMpO1xuICAgICAgICBzZXRCdXNpbmVzc1JvbGVzKHJlc3AuZGF0YS5idXNpbmVzc19yb2xlcyk7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlcnJvcikgPT4gYWxlcnQoZXJyb3IpKTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiAoXG4gICAgPENvbnRhaW5lcj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaGVhZGVyLXRpdGxlXCI+e2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUudGl0bGUnKX08L2Rpdj5cbiAgICAgIDxmb3JtIGFjdGlvbj1cIlwiIG9uU3VibWl0PXsoZSkgPT4gaGFuZGxlU3VibWl0KGUpfT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb250ZW50XCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0aXRsZVwiPlxuICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUucGVyc29uYWwtZGV0YWlscycpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT1cInBlcnNvbmFsXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5maXJzdF9uYW1lJyl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibXktaW5wdXRcIlxuICAgICAgICAgICAgICAgIG5hbWU9eydmaXJzdF9uYW1lJ31cbiAgICAgICAgICAgICAgICB2YWx1ZT17cGFyYW1zLmZpcnN0X25hbWV9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBoYW5kbGVPbkNoYW5nZShlKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPXsnZXJyb3ItbWVzc2FnZSd9PjwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUubGFzdF9uYW1lJyl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibXktaW5wdXRcIlxuICAgICAgICAgICAgICAgIG5hbWU9eydsYXN0X25hbWUnfVxuICAgICAgICAgICAgICAgIHZhbHVlPXtwYXJhbXMubGFzdF9uYW1lfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gaGFuZGxlT25DaGFuZ2UoZSl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT17J2Vycm9yLW1lc3NhZ2UnfT48L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGQgZmllbGQtLXJlYWRvbmx5XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5lbWFpbCcpfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgcmVhZE9ubHk9e3RydWV9XG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm15LWlucHV0XCJcbiAgICAgICAgICAgICAgICBuYW1lPXsnZW1haWwnfVxuICAgICAgICAgICAgICAgIHZhbHVlPXtwYXJhbXMuZW1haWx9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT17J2Vycm9yLW1lc3NhZ2UnfT48L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLnBob25lJyl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8UGhvbmVJbnB1dFxuICAgICAgICAgICAgICAgIGNvdW50cnk9eydpbCd9XG4gICAgICAgICAgICAgICAgbG9jYWxpemF0aW9uPXtpMThuLnQoJ2NvdW50cmllcycpfVxuICAgICAgICAgICAgICAgIGlucHV0Q2xhc3M9XCJwaG9uZS1pbnB1dFwiXG4gICAgICAgICAgICAgICAgY29udGFpbmVyQ2xhc3M9XCJteS1waG9uZVwiXG4gICAgICAgICAgICAgICAgYnV0dG9uQ2xhc3M9XCJkcm9wZG93blwiXG4gICAgICAgICAgICAgICAgZHJvcGRvd25DbGFzcz1cInBob25lLWRyb3Bkb3duXCJcbiAgICAgICAgICAgICAgICB2YWx1ZT17cGFyYW1zLnBob25lfVxuICAgICAgICAgICAgICAgIGVuYWJsZVNlYXJjaFxuICAgICAgICAgICAgICAgIHNlYXJjaFBsYWNlaG9sZGVyPXtpMThuLnQoJ3NlYXJjaCcpfVxuICAgICAgICAgICAgICAgIGNvdW50cnlDb2RlRWRpdGFibGU9e2ZhbHNlfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICAgIGhhbmRsZU9uQ2hhbmdlKHZhbHVlKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIGlucHV0UHJvcHM9e3sgbmFtZTogJ3Bob25lJyB9fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9eydlcnJvci1tZXNzYWdlJ30+PC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB7ZGVwYXJ0bWVudHNbMF0udmFsdWUgIT09ICcnICYmIChcbiAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmRlcGFydG1lbnQnKX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteS1pbnB1dFwiPlxuICAgICAgICAgICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgc2V0VmFsdWU9e3NldERlcGFydG1lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGBkYXNoYm9hcmRfdjIucHJvZmlsZS5kZXBhcnRtZW50cy4ke2RlcGFydG1lbnQ/LmxhYmVsfWAsXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGRlcGFydG1lbnQ/LnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucz17ZGVwYXJ0bWVudHN9XG4gICAgICAgICAgICAgICAgICAgICAgY2FuY2VsVGV4dFdpZHRoXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiBkZXBhcnRtZW50cyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0aW9uX2tleTogJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmRlcGFydG1lbnRzJyxcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5idXNpbmVzc19yb2xlJyl9XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXktaW5wdXRcIj5cbiAgICAgICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgICAgIHNldFZhbHVlPXtzZXRCdXNpbmVzc1JvbGV9XG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGBkYXNoYm9hcmRfdjIucHJvZmlsZS5idXNpbmVzc19yb2xlcy4ke2J1c2luZXNzUm9sZT8ubGFiZWx9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogYnVzaW5lc3NSb2xlPy52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM9e2J1c2luZXNzUm9sZXN9XG4gICAgICAgICAgICAgICAgICAgICAgY2FuY2VsVGV4dFdpZHRoXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiBidXNpbmVzc1JvbGVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRpb25fa2V5OiAnZGFzaGJvYXJkX3YyLnByb2ZpbGUuYnVzaW5lc3Nfcm9sZXMnLFxuICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAge2RlcGFydG1lbnRzWzBdLnZhbHVlICE9PSAnJyAmJiAoXG4gICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgZmllbGQgJHtcbiAgICAgICAgICAgICAgICAgICAgZGVwYXJ0bWVudCAmJlxuICAgICAgICAgICAgICAgICAgICBkZXBhcnRtZW50Py52YWx1ZSA9PT1cbiAgICAgICAgICAgICAgICAgICAgICBkZXBhcnRtZW50c1tkZXBhcnRtZW50cy5sZW5ndGggLSAxXS52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgID8gJydcbiAgICAgICAgICAgICAgICAgICAgICA6ICdmaWVsZC0taGlkZGVuJ1xuICAgICAgICAgICAgICAgICAgfWB9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5kZXBhcnRtZW50X2FsdCcpfVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgcmVhZE9ubHk9e2ZhbHNlfVxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm15LWlucHV0XCJcbiAgICAgICAgICAgICAgICAgICAgbmFtZT17J290aGVyX2RlcGFydG1lbnRfbmFtZSd9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXtwYXJhbXMub3RoZXJfZGVwYXJ0bWVudF9uYW1lfVxuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IGhhbmRsZURlcGFydG1lbnRDaGFuZ2UoZSl9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YGZpZWxkICR7XG4gICAgICAgICAgICAgICAgICAgIGJ1c2luZXNzUm9sZSAmJlxuICAgICAgICAgICAgICAgICAgICBidXNpbmVzc1JvbGU/LnZhbHVlID09PVxuICAgICAgICAgICAgICAgICAgICAgIGJ1c2luZXNzUm9sZXNbYnVzaW5lc3NSb2xlcy5sZW5ndGggLSAxXS52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgID8gJydcbiAgICAgICAgICAgICAgICAgICAgICA6ICdmaWVsZC0taGlkZGVuJ1xuICAgICAgICAgICAgICAgICAgfSBgfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuYnVzaW5lc3Nfcm9sZV9hbHQnKX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXtmYWxzZX1cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJteS1pbnB1dFwiXG4gICAgICAgICAgICAgICAgICAgIG5hbWU9eydvdGhlcl9idXNpbmVzc19yb2xlX25hbWUnfVxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT17cGFyYW1zLm90aGVyX2J1c2luZXNzX3JvbGVfbmFtZX1cbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBoYW5kbGVCdXNpbmVzc1JvbGVDaGFuZ2UoZSl9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkXCI+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJjaGFuZ2UtcGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldFNob3dQYXNzd29yZE1vZGFsKHRydWUpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFBlblN2ZyB3aWR0aD1cIjEycHhcIiBoZWlnaHQ9XCIxMnB4XCIgZmlsbD1cIiNmMDEzNGNcIiAvPlxuICAgICAgICAgICAgICAgIHsnICAnfVxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmNoYW5nZS1wYXNzd29yZCcpfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRpdGxlXCI+e2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuc2V0dGluZ3MnKX08L2Rpdj5cbiAgICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJzZXR0aW5nc1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUudGltZS16b25lJyl9KlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteS1pbnB1dFwiPlxuICAgICAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgICAgIHNldFZhbHVlPXtzZXRUaW1lem9uZX1cbiAgICAgICAgICAgICAgICAgIHZhbHVlPXt0aW1lem9uZX1cbiAgICAgICAgICAgICAgICAgIG9wdGlvbnM9e3RpbWV6b25lc31cbiAgICAgICAgICAgICAgICAgIGNhbmNlbFRleHRXaWR0aFxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5kYXRlLXRpbWUtZm9ybWF0Jyl9KlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteS1pbnB1dFwiPlxuICAgICAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgICAgIG9wdGlvbnM9e2RhdGVUaW1lRm9ybWF0T3B0aW9uc31cbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtkYXRlVGltZUZvcm1hdH1cbiAgICAgICAgICAgICAgICAgIHNldFZhbHVlPXtzZXREYXRlVGltZUZvcm1hdH1cbiAgICAgICAgICAgICAgICAgIGNhbmNlbFRleHRXaWR0aFxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2RhdGUtdGltZS1mb3JtYXQnfT5cbiAgICAgICAgICAgICAgICB7ZGF0ZVRpbWVGb3JtYXQgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgICAgICAgbmV3IERhdGUoKS50b0xvY2FsZURhdGVTdHJpbmcoJ2VuLVVTJywgZGF0ZVRpbWVGb3JtYXQuZm9ybWF0KX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmxhbmd1YWdlJyl9KlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydteS1pbnB1dCd9PlxuICAgICAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgICAgIG9wdGlvbnM9e2xvY2FsZU9wdGlvbnN9XG4gICAgICAgICAgICAgICAgICB2YWx1ZT17bG9jYWxlfVxuICAgICAgICAgICAgICAgICAgc2V0VmFsdWU9e3NldExvY2FsZX1cbiAgICAgICAgICAgICAgICAgIGNhbmNlbFRleHRXaWR0aFxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkIGZpZWxkLS1idXR0b25zXCI+XG4gICAgICAgICAgICAgIHtwYXJhbXMudGVsZWdyYW1fbmFtZSA9PT0gJycgJiYgKFxuICAgICAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInRlbGVncmFtXCIgb25DbGljaz17KCkgPT4gc2V0SXNUZWxlZ3JhbU9wZW4odHJ1ZSl9PlxuICAgICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuY29ubmVjdC10by10ZWxlZ3JhbScpfVxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAge3BhcmFtcy50ZWxlZ3JhbV9uYW1lICE9PSAnJyAmJiAoXG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLnRlbGVncmFtX25hbWUnKX1cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJyaWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRJc1RlbGVncmFtT3Blbih0cnVlKX1cbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8UGVuU3ZnIHdpZHRoPVwiMTJweFwiIGhlaWdodD1cIjEycHhcIiBmaWxsPVwiI2YwMTM0Y1wiIC8+eycgJ31cbiAgICAgICAgICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmNoYW5nZS1uYW1lJyl9XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J3RlbGVncmFtLWV4aXN0aW5nLWlucHV0J30+XG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICByZWFkT25seT17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm15LWlucHV0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9eyd0ZWxlZ3JhbV9uYW1lJ31cbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXtwYXJhbXMudGVsZWdyYW1fbmFtZX1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17J3RlbGVncmFtLWV4aXN0aW5nLWlucHV0X19jYW5jZWwtYnV0dG9uJ31cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eyhlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNldFBhcmFtcygocHJldlN0YXRlKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnByZXZTdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZWxlZ3JhbV9uYW1lOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8Q2FuY2VsIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9eydlcnJvci1tZXNzYWdlJ30+PC9wPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17J3RlbGVncmFtIG9wZW4nfVxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGF4aW9zXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC5nZXQoYC90ZWxlZ3JhbS9zZW5kX3Rlc3RfbWVzc2FnZS5qc29uYClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLnRoZW4oKHJlc3ApID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRTaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2Uoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwLmRhdGEudXNlci5zdGF0dXNbMF0udG9VcHBlckNhc2UoKSArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3AuZGF0YS51c2VyLnN0YXR1cy5zdWJzdHJpbmcoMSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiByZXNwLmRhdGEudXNlci5tZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvdzogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFNob3dUZWxlZ3JhbVJlc3BvbnNlTWVzc2FnZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1czogJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93OiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDYwMDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dUb2FzdChyZXNwLmRhdGEudXNlcik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IGFsZXJ0KGVycm9yKSk7XG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHshc2hvd1RlbGVncmFtUmVzcG9uc2VNZXNzYWdlLnNob3cgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIGkxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuc2VuZF90ZWxlZ3JhbV9tZXNzYWdlJyl9XG4gICAgICAgICAgICAgICAgICAgICAge3Nob3dUZWxlZ3JhbVJlc3BvbnNlTWVzc2FnZS5zaG93ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBzaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2Uuc3RhdHVzfVxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuZmxvd19yYXRlX3VuaXRzJyl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J215LWlucHV0J30+XG4gICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgb3B0aW9ucz17Zmxvd1JhdGVVbml0T3B0aW9uc31cbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtmbG93UmF0ZVVuaXR9XG4gICAgICAgICAgICAgICAgICBzZXRWYWx1ZT17c2V0Rmxvd1JhdGVVbml0fVxuICAgICAgICAgICAgICAgICAgY2FuY2VsVGV4dFdpZHRoXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPXsnc3VibWl0J30gY2xhc3NOYW1lPXsnc2F2ZSd9IGRpc2FibGVkPXtzdWJtaXR0aW5nfT5cbiAgICAgICAgICAgIHshc3VibWl0dGluZyAmJlxuICAgICAgICAgICAgICAhc2hvd1N1Y2Nlc3NNZXNzYWdlICYmXG4gICAgICAgICAgICAgICFzaG93RXJyb3JNZXNzYWdlICYmXG4gICAgICAgICAgICAgIGkxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuc3VibWl0Jyl9XG4gICAgICAgICAgICB7c3VibWl0dGluZyAmJlxuICAgICAgICAgICAgICAhc2hvd1N1Y2Nlc3NNZXNzYWdlICYmXG4gICAgICAgICAgICAgICFzaG93RXJyb3JNZXNzYWdlICYmXG4gICAgICAgICAgICAgIGkxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuc3VibWl0dGluZycpfVxuICAgICAgICAgICAge3Nob3dTdWNjZXNzTWVzc2FnZSAmJiBpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLnN1Y2Nlc3MnKX1cbiAgICAgICAgICAgIHtzaG93RXJyb3JNZXNzYWdlICYmIGkxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuZXJyb3InKX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Zvcm0+XG5cbiAgICAgIHtzaG93UGFzc3dvcmRNb2RhbCAmJiAoXG4gICAgICAgIDxQYXNzd29yZE1vZGFsXG4gICAgICAgICAgY2xvc2U9eygpID0+IHNldFNob3dQYXNzd29yZE1vZGFsKGZhbHNlKX1cbiAgICAgICAgICBzYXZlPXsoKSA9PiB7fX1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgICB7aXNUZWxlZ3JhbU9wZW4gJiYgKFxuICAgICAgICA8VGVsZWdyYW1Nb2RhbFxuICAgICAgICAgIGNsb3NlPXsoKSA9PiBzZXRJc1RlbGVncmFtT3BlbihmYWxzZSl9XG4gICAgICAgICAgaGFuZGxlT25DaGFuZ2U9e2hhbmRsZU9uQ2hhbmdlfVxuICAgICAgICAgIGhhbmRsZVN1Ym1pdD17aGFuZGxlU3VibWl0fVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICA8L0NvbnRhaW5lcj5cbiAgKTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUs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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kando-env/kando-ui",
3
- "version": "1.2.300-alpha.8",
3
+ "version": "1.2.300-alpha.9",
4
4
  "main": "lib/index.js",
5
5
  "author": "Nadav(Private) <nadavk72@gmail.com>",
6
6
  "scripts": {