@projectcor/maia-components 2.35.6 → 2.35.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.
@@ -12,6 +12,7 @@ import { SECTIONS } from '../../../constants/config';
12
12
  import { useSnackBarManager } from '../../../hooks/useSnackBarManager/useSnackBarManager';
13
13
  import { generateSkill } from '../../../services/maia/Skills/generateSkill';
14
14
  import { getUsageStoreState } from '../../../store/useUsageStore';
15
+ import { getUsageBlockedBannerText } from '../../../utils/usageBlockedMessage';
15
16
  import { SCASGCancelButton, SCASGCloseButton, SCASGFooter, SCASGGenerateButton, SCASGHeader, SCASGHeaderTitle, SCASGTextarea, SCASGWrapper } from './AbmSkillGenerateModal.styles';
16
17
 
17
18
  /** Open this modal from anywhere with: document.dispatchEvent(new CustomEvent('abm-skill-generate-open')) */
@@ -48,11 +49,7 @@ export var AbmSkillGenerateModal = function AbmSkillGenerateModal() {
48
49
  useEffect(function () {
49
50
  var handleOpen = function handleOpen() {
50
51
  if (getUsageStoreState().blocked) {
51
- var _getUsageStoreState = getUsageStoreState(),
52
- quotaExceededMessage = _getUsageStoreState.quotaExceededMessage;
53
- handleSnackbarError(quotaExceededMessage || t('usageBlocked', {
54
- defaultValue: 'Te quedaste sin usos de IA.'
55
- }));
52
+ handleSnackbarError(getUsageBlockedBannerText());
56
53
  return;
57
54
  }
58
55
  setInput('');
@@ -66,7 +63,7 @@ export var AbmSkillGenerateModal = function AbmSkillGenerateModal() {
66
63
  }, [handleSnackbarError, t]);
67
64
  var handleGenerate = /*#__PURE__*/function () {
68
65
  var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
69
- var text, _getUsageStoreState2, quotaExceededMessage, _yield$generateSkill, content, _t;
66
+ var text, _yield$generateSkill, content, _t;
70
67
  return _regeneratorRuntime.wrap(function (_context) {
71
68
  while (1) switch (_context.prev = _context.next) {
72
69
  case 0:
@@ -81,10 +78,7 @@ export var AbmSkillGenerateModal = function AbmSkillGenerateModal() {
81
78
  _context.next = 2;
82
79
  break;
83
80
  }
84
- _getUsageStoreState2 = getUsageStoreState(), quotaExceededMessage = _getUsageStoreState2.quotaExceededMessage;
85
- handleSnackbarError(quotaExceededMessage || t('usageBlocked', {
86
- defaultValue: 'Te quedaste sin usos de IA.'
87
- }));
81
+ handleSnackbarError(getUsageBlockedBannerText());
88
82
  return _context.abrupt("return");
89
83
  case 2:
90
84
  setIsGenerating(true);
@@ -191,4 +185,4 @@ export var AbmSkillGenerateModal = function AbmSkillGenerateModal() {
191
185
  })
192
186
  }), container);
193
187
  };
194
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZUVmZmVjdCIsInVzZVJlZiIsInVzZVN0YXRlIiwiY3JlYXRlUG9ydGFsIiwiQ3Jvc3MiLCJ1c2VUcmFuc2xhdGlvbiIsIkJhY2tkcm9wIiwiTG9hZGVyIiwiU0VDVElPTlMiLCJ1c2VTbmFja0Jhck1hbmFnZXIiLCJnZW5lcmF0ZVNraWxsIiwiZ2V0VXNhZ2VTdG9yZVN0YXRlIiwiU0NBU0dDYW5jZWxCdXR0b24iLCJTQ0FTR0Nsb3NlQnV0dG9uIiwiU0NBU0dGb290ZXIiLCJTQ0FTR0dlbmVyYXRlQnV0dG9uIiwiU0NBU0dIZWFkZXIiLCJTQ0FTR0hlYWRlclRpdGxlIiwiU0NBU0dUZXh0YXJlYSIsIlNDQVNHV3JhcHBlciIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJTS0lMTF9HRU5FUkFURV9PUEVOX0VWRU5UIiwicGFyc2VTa2lsbE5hbWUiLCJjb250ZW50IiwibWF0Y2giLCJ0cmltIiwiQWJtU2tpbGxHZW5lcmF0ZU1vZGFsIiwiX3VzZVRyYW5zbGF0aW9uIiwiY2hhdEFJIiwidCIsIl91c2VTbmFja0Jhck1hbmFnZXIiLCJoYW5kbGVTbmFja2JhckVycm9yIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiaXNPcGVuIiwic2V0SXNPcGVuIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJpc0dlbmVyYXRpbmciLCJzZXRJc0dlbmVyYXRpbmciLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsImlucHV0Iiwic2V0SW5wdXQiLCJpc09wZW5SZWYiLCJoYW5kbGVDbG9zZSIsImN1cnJlbnQiLCJoYW5kbGVPcGVuIiwiYmxvY2tlZCIsIl9nZXRVc2FnZVN0b3JlU3RhdGUiLCJxdW90YUV4Y2VlZGVkTWVzc2FnZSIsImRlZmF1bHRWYWx1ZSIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJoYW5kbGVHZW5lcmF0ZSIsIl9yZWYiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsInRleHQiLCJfZ2V0VXNhZ2VTdG9yZVN0YXRlMiIsIl95aWVsZCRnZW5lcmF0ZVNraWxsIiwiX3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImFicnVwdCIsInNlbnQiLCJkaXNwYXRjaEV2ZW50IiwiQ3VzdG9tRXZlbnQiLCJkZXRhaWwiLCJza2lsbFZhbHVlcyIsInZhbHVlcyIsImlzRWRpdGluZyIsImdlbmVyYWwiLCJuYW1lIiwiZmluaXNoIiwic3RvcCIsImFwcGx5IiwiYXJndW1lbnRzIiwiY29udGFpbmVyIiwiZ2V0RWxlbWVudEJ5SWQiLCJ6SW5kZXgiLCJvbkNsaWNrIiwiY2hpbGRyZW4iLCJldmVudCIsInN0b3BQcm9wYWdhdGlvbiIsInR5cGUiLCJjb2xvciIsIndpZHRoIiwiaGVpZ2h0IiwiYXV0b0ZvY3VzIiwicGxhY2Vob2xkZXIiLCJ2YWx1ZSIsImRpc2FibGVkIiwib25DaGFuZ2UiLCJ0YXJnZXQiLCJzaXplIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvb3JnYW5pc21zL0FibVNraWxsR2VuZXJhdGVNb2RhbC9BYm1Ta2lsbEdlbmVyYXRlTW9kYWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gJ3JlYWN0LWRvbSdcbmltcG9ydCB7IENyb3NzIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ3Jvc3MnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBCYWNrZHJvcCB9IGZyb20gJy4uLy4uL2F0b21zL0JhY2tkcm9wJ1xuaW1wb3J0IHsgTG9hZGVyIH0gZnJvbSAnLi4vLi4vYXRvbXMvTG9hZGVyJ1xuaW1wb3J0IHsgU0VDVElPTlMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvY29uZmlnJ1xuaW1wb3J0IHsgdXNlU25hY2tCYXJNYW5hZ2VyIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlU25hY2tCYXJNYW5hZ2VyL3VzZVNuYWNrQmFyTWFuYWdlcidcbmltcG9ydCB7IGdlbmVyYXRlU2tpbGwgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tYWlhL1NraWxscy9nZW5lcmF0ZVNraWxsJ1xuaW1wb3J0IHsgZ2V0VXNhZ2VTdG9yZVN0YXRlIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvdXNlVXNhZ2VTdG9yZSdcbmltcG9ydCB7XG4gIFNDQVNHQ2FuY2VsQnV0dG9uLFxuICBTQ0FTR0Nsb3NlQnV0dG9uLFxuICBTQ0FTR0Zvb3RlcixcbiAgU0NBU0dHZW5lcmF0ZUJ1dHRvbixcbiAgU0NBU0dIZWFkZXIsXG4gIFNDQVNHSGVhZGVyVGl0bGUsXG4gIFNDQVNHVGV4dGFyZWEsXG4gIFNDQVNHV3JhcHBlcixcbn0gZnJvbSAnLi9BYm1Ta2lsbEdlbmVyYXRlTW9kYWwuc3R5bGVzJ1xuXG4vKiogT3BlbiB0aGlzIG1vZGFsIGZyb20gYW55d2hlcmUgd2l0aDogZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoJ2FibS1za2lsbC1nZW5lcmF0ZS1vcGVuJykpICovXG5leHBvcnQgY29uc3QgU0tJTExfR0VORVJBVEVfT1BFTl9FVkVOVCA9ICdhYm0tc2tpbGwtZ2VuZXJhdGUtb3BlbidcblxuY29uc3QgcGFyc2VTa2lsbE5hbWUgPSAoY29udGVudDogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgY29uc3QgbWF0Y2ggPSBjb250ZW50Lm1hdGNoKC9ebmFtZTpcXHMqKC4rKSQvbSlcbiAgcmV0dXJuIG1hdGNoID8gbWF0Y2hbMV0udHJpbSgpIDogJydcbn1cblxuZXhwb3J0IGNvbnN0IEFibVNraWxsR2VuZXJhdGVNb2RhbCA9ICgpID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbihbU0VDVElPTlMuY2hhdEFJXSlcbiAgY29uc3QgeyBoYW5kbGVTbmFja2JhckVycm9yIH0gPSB1c2VTbmFja0Jhck1hbmFnZXIoKVxuICBjb25zdCBbaXNPcGVuLCBzZXRJc09wZW5dID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtpc0dlbmVyYXRpbmcsIHNldElzR2VuZXJhdGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2lucHV0LCBzZXRJbnB1dF0gPSB1c2VTdGF0ZSgnJylcbiAgY29uc3QgaXNPcGVuUmVmID0gdXNlUmVmKGZhbHNlKVxuXG4gIGNvbnN0IGhhbmRsZUNsb3NlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlzT3BlblJlZi5jdXJyZW50ID0gZmFsc2VcbiAgICBzZXRJc09wZW4oZmFsc2UpXG4gICAgc2V0SXNHZW5lcmF0aW5nKGZhbHNlKVxuICAgIHNldElucHV0KCcnKVxuICB9LCBbXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZU9wZW4gPSAoKSA9PiB7XG4gICAgICBpZiAoZ2V0VXNhZ2VTdG9yZVN0YXRlKCkuYmxvY2tlZCkge1xuICAgICAgICBjb25zdCB7IHF1b3RhRXhjZWVkZWRNZXNzYWdlIH0gPSBnZXRVc2FnZVN0b3JlU3RhdGUoKVxuICAgICAgICBoYW5kbGVTbmFja2JhckVycm9yKHF1b3RhRXhjZWVkZWRNZXNzYWdlIHx8IHQoJ3VzYWdlQmxvY2tlZCcsIHsgZGVmYXVsdFZhbHVlOiAnVGUgcXVlZGFzdGUgc2luIHVzb3MgZGUgSUEuJyB9KSlcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgICBzZXRJbnB1dCgnJylcbiAgICAgIGlzT3BlblJlZi5jdXJyZW50ID0gdHJ1ZVxuICAgICAgc2V0SXNPcGVuKHRydWUpXG4gICAgfVxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoU0tJTExfR0VORVJBVEVfT1BFTl9FVkVOVCwgaGFuZGxlT3BlbilcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihTS0lMTF9HRU5FUkFURV9PUEVOX0VWRU5ULCBoYW5kbGVPcGVuKVxuICAgIH1cbiAgfSwgW2hhbmRsZVNuYWNrYmFyRXJyb3IsIHRdKVxuXG4gIGNvbnN0IGhhbmRsZUdlbmVyYXRlID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHRleHQgPSBpbnB1dC50cmltKClcbiAgICBpZiAoIXRleHQgfHwgaXNHZW5lcmF0aW5nKSByZXR1cm5cbiAgICBpZiAoZ2V0VXNhZ2VTdG9yZVN0YXRlKCkuYmxvY2tlZCkge1xuICAgICAgY29uc3QgeyBxdW90YUV4Y2VlZGVkTWVzc2FnZSB9ID0gZ2V0VXNhZ2VTdG9yZVN0YXRlKClcbiAgICAgIGhhbmRsZVNuYWNrYmFyRXJyb3IocXVvdGFFeGNlZWRlZE1lc3NhZ2UgfHwgdCgndXNhZ2VCbG9ja2VkJywgeyBkZWZhdWx0VmFsdWU6ICdUZSBxdWVkYXN0ZSBzaW4gdXNvcyBkZSBJQS4nIH0pKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIHNldElzR2VuZXJhdGluZyh0cnVlKVxuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IGNvbnRlbnQgfSA9IGF3YWl0IGdlbmVyYXRlU2tpbGwodGV4dClcbiAgICAgIC8vIFNpIGVsIHVzdWFyaW8gY2VycsOzIGVsIG1vZGFsIG1pZW50cmFzIGdlbmVyYWJhLCBubyBhYnJpciBlbCBlZGl0b3IuXG4gICAgICBpZiAoIWlzT3BlblJlZi5jdXJyZW50KSByZXR1cm5cbiAgICAgIC8vIEhhbmQgb2ZmIHRvIHRoZSBmdWxsIGVkaXRvciAod3JpdGUvcHJldmlldykgd2l0aCB0aGUgZ2VuZXJhdGVkIGNvbnRlbnQgZm9yIHJldmlldyArIHNhdmUuXG4gICAgICBkb2N1bWVudC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICBuZXcgQ3VzdG9tRXZlbnQoJ2FibS1za2lsbC1tb2RhbC1zZXQtdmFsdWVzJywge1xuICAgICAgICAgIGRldGFpbDoge1xuICAgICAgICAgICAgc2tpbGxWYWx1ZXM6IHtcbiAgICAgICAgICAgICAgdmFsdWVzOiB7XG4gICAgICAgICAgICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBnZW5lcmFsOiB7IG5hbWU6IHBhcnNlU2tpbGxOYW1lKGNvbnRlbnQpLCBjb250ZW50IH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGlzT3BlbjogdHJ1ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIGhhbmRsZUNsb3NlKClcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaWYgKCFpc09wZW5SZWYuY3VycmVudCkgcmV0dXJuXG4gICAgICBoYW5kbGVTbmFja2JhckVycm9yKHQoJ215U2tpbGxzLmdlbmVyYXRlRXJyb3InKSlcbiAgICB9IGZpbmFsbHkge1xuICAgICAgc2V0SXNHZW5lcmF0aW5nKGZhbHNlKVxuICAgIH1cbiAgfVxuXG4gIGlmICghaXNPcGVuKSByZXR1cm4gbnVsbFxuXG4gIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb2RhbC1yb290LWFjdGlvbnMnKVxuICBpZiAoIWNvbnRhaW5lcikgcmV0dXJuIG51bGxcblxuICByZXR1cm4gY3JlYXRlUG9ydGFsKFxuICAgIDxCYWNrZHJvcCB6SW5kZXg9ezExMTJ9IG9uQ2xpY2s9e2hhbmRsZUNsb3NlfT5cbiAgICAgIDxTQ0FTR1dyYXBwZXIgb25DbGljaz17ZXZlbnQgPT4gZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCl9PlxuICAgICAgICA8U0NBU0dIZWFkZXI+XG4gICAgICAgICAgPFNDQVNHSGVhZGVyVGl0bGU+e3QoJ215U2tpbGxzLmNyZWF0ZVdpdGhNYWlhJyl9PC9TQ0FTR0hlYWRlclRpdGxlPlxuICAgICAgICAgIDxTQ0FTR0Nsb3NlQnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXtoYW5kbGVDbG9zZX0gYXJpYS1sYWJlbD17dCgnbXlTa2lsbHMuY2xvc2UnKX0+XG4gICAgICAgICAgICA8Q3Jvc3MgY29sb3I9XCIjYTZhNmE2XCIgd2lkdGg9ezE4fSBoZWlnaHQ9ezE4fSAvPlxuICAgICAgICAgIDwvU0NBU0dDbG9zZUJ1dHRvbj5cbiAgICAgICAgPC9TQ0FTR0hlYWRlcj5cblxuICAgICAgICA8U0NBU0dUZXh0YXJlYVxuICAgICAgICAgIGF1dG9Gb2N1c1xuICAgICAgICAgIHBsYWNlaG9sZGVyPXt0KCdteVNraWxscy5nZW5lcmF0ZVBsYWNlaG9sZGVyJyl9XG4gICAgICAgICAgdmFsdWU9e2lucHV0fVxuICAgICAgICAgIGRpc2FibGVkPXtpc0dlbmVyYXRpbmd9XG4gICAgICAgICAgb25DaGFuZ2U9e2V2ZW50ID0+IHNldElucHV0KGV2ZW50LnRhcmdldC52YWx1ZSl9XG4gICAgICAgIC8+XG5cbiAgICAgICAgPFNDQVNHRm9vdGVyPlxuICAgICAgICAgIDxTQ0FTR0NhbmNlbEJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17aGFuZGxlQ2xvc2V9IGRpc2FibGVkPXtpc0dlbmVyYXRpbmd9PlxuICAgICAgICAgICAge3QoJ215U2tpbGxzLmNhbmNlbCcpfVxuICAgICAgICAgIDwvU0NBU0dDYW5jZWxCdXR0b24+XG4gICAgICAgICAgPFNDQVNHR2VuZXJhdGVCdXR0b24gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e2hhbmRsZUdlbmVyYXRlfSBkaXNhYmxlZD17IWlucHV0LnRyaW0oKSB8fCBpc0dlbmVyYXRpbmd9PlxuICAgICAgICAgICAge2lzR2VuZXJhdGluZyA/IDxMb2FkZXIgc2l6ZT1cInNtYWxsXCIgLz4gOiB0KCdteVNraWxscy5jcmVhdGVXaXRoTWFpYScpfVxuICAgICAgICAgIDwvU0NBU0dHZW5lcmF0ZUJ1dHRvbj5cbiAgICAgICAgPC9TQ0FTR0Zvb3Rlcj5cbiAgICAgIDwvU0NBU0dXcmFwcGVy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
188
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZUVmZmVjdCIsInVzZVJlZiIsInVzZVN0YXRlIiwiY3JlYXRlUG9ydGFsIiwiQ3Jvc3MiLCJ1c2VUcmFuc2xhdGlvbiIsIkJhY2tkcm9wIiwiTG9hZGVyIiwiU0VDVElPTlMiLCJ1c2VTbmFja0Jhck1hbmFnZXIiLCJnZW5lcmF0ZVNraWxsIiwiZ2V0VXNhZ2VTdG9yZVN0YXRlIiwiZ2V0VXNhZ2VCbG9ja2VkQmFubmVyVGV4dCIsIlNDQVNHQ2FuY2VsQnV0dG9uIiwiU0NBU0dDbG9zZUJ1dHRvbiIsIlNDQVNHRm9vdGVyIiwiU0NBU0dHZW5lcmF0ZUJ1dHRvbiIsIlNDQVNHSGVhZGVyIiwiU0NBU0dIZWFkZXJUaXRsZSIsIlNDQVNHVGV4dGFyZWEiLCJTQ0FTR1dyYXBwZXIiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiU0tJTExfR0VORVJBVEVfT1BFTl9FVkVOVCIsInBhcnNlU2tpbGxOYW1lIiwiY29udGVudCIsIm1hdGNoIiwidHJpbSIsIkFibVNraWxsR2VuZXJhdGVNb2RhbCIsIl91c2VUcmFuc2xhdGlvbiIsImNoYXRBSSIsInQiLCJfdXNlU25hY2tCYXJNYW5hZ2VyIiwiaGFuZGxlU25hY2tiYXJFcnJvciIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImlzT3BlbiIsInNldElzT3BlbiIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiaXNHZW5lcmF0aW5nIiwic2V0SXNHZW5lcmF0aW5nIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJpbnB1dCIsInNldElucHV0IiwiaXNPcGVuUmVmIiwiaGFuZGxlQ2xvc2UiLCJjdXJyZW50IiwiaGFuZGxlT3BlbiIsImJsb2NrZWQiLCJkb2N1bWVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiaGFuZGxlR2VuZXJhdGUiLCJfcmVmIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJ0ZXh0IiwiX3lpZWxkJGdlbmVyYXRlU2tpbGwiLCJfdCIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwiYWJydXB0Iiwic2VudCIsImRpc3BhdGNoRXZlbnQiLCJDdXN0b21FdmVudCIsImRldGFpbCIsInNraWxsVmFsdWVzIiwidmFsdWVzIiwiaXNFZGl0aW5nIiwiZ2VuZXJhbCIsIm5hbWUiLCJmaW5pc2giLCJzdG9wIiwiYXBwbHkiLCJhcmd1bWVudHMiLCJjb250YWluZXIiLCJnZXRFbGVtZW50QnlJZCIsInpJbmRleCIsIm9uQ2xpY2siLCJjaGlsZHJlbiIsImV2ZW50Iiwic3RvcFByb3BhZ2F0aW9uIiwidHlwZSIsImNvbG9yIiwid2lkdGgiLCJoZWlnaHQiLCJhdXRvRm9jdXMiLCJwbGFjZWhvbGRlciIsInZhbHVlIiwiZGlzYWJsZWQiLCJvbkNoYW5nZSIsInRhcmdldCIsInNpemUiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9vcmdhbmlzbXMvQWJtU2tpbGxHZW5lcmF0ZU1vZGFsL0FibVNraWxsR2VuZXJhdGVNb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgY3JlYXRlUG9ydGFsIH0gZnJvbSAncmVhY3QtZG9tJ1xuaW1wb3J0IHsgQ3Jvc3MgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9Dcm9zcydcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcbmltcG9ydCB7IEJhY2tkcm9wIH0gZnJvbSAnLi4vLi4vYXRvbXMvQmFja2Ryb3AnXG5pbXBvcnQgeyBMb2FkZXIgfSBmcm9tICcuLi8uLi9hdG9tcy9Mb2FkZXInXG5pbXBvcnQgeyBTRUNUSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgeyB1c2VTbmFja0Jhck1hbmFnZXIgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VTbmFja0Jhck1hbmFnZXIvdXNlU25hY2tCYXJNYW5hZ2VyJ1xuaW1wb3J0IHsgZ2VuZXJhdGVTa2lsbCB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21haWEvU2tpbGxzL2dlbmVyYXRlU2tpbGwnXG5pbXBvcnQgeyBnZXRVc2FnZVN0b3JlU3RhdGUgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS91c2VVc2FnZVN0b3JlJ1xuaW1wb3J0IHsgZ2V0VXNhZ2VCbG9ja2VkQmFubmVyVGV4dCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3VzYWdlQmxvY2tlZE1lc3NhZ2UnXG5pbXBvcnQge1xuICBTQ0FTR0NhbmNlbEJ1dHRvbixcbiAgU0NBU0dDbG9zZUJ1dHRvbixcbiAgU0NBU0dGb290ZXIsXG4gIFNDQVNHR2VuZXJhdGVCdXR0b24sXG4gIFNDQVNHSGVhZGVyLFxuICBTQ0FTR0hlYWRlclRpdGxlLFxuICBTQ0FTR1RleHRhcmVhLFxuICBTQ0FTR1dyYXBwZXIsXG59IGZyb20gJy4vQWJtU2tpbGxHZW5lcmF0ZU1vZGFsLnN0eWxlcydcblxuLyoqIE9wZW4gdGhpcyBtb2RhbCBmcm9tIGFueXdoZXJlIHdpdGg6IGRvY3VtZW50LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCdhYm0tc2tpbGwtZ2VuZXJhdGUtb3BlbicpKSAqL1xuZXhwb3J0IGNvbnN0IFNLSUxMX0dFTkVSQVRFX09QRU5fRVZFTlQgPSAnYWJtLXNraWxsLWdlbmVyYXRlLW9wZW4nXG5cbmNvbnN0IHBhcnNlU2tpbGxOYW1lID0gKGNvbnRlbnQ6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IG1hdGNoID0gY29udGVudC5tYXRjaCgvXm5hbWU6XFxzKiguKykkL20pXG4gIHJldHVybiBtYXRjaCA/IG1hdGNoWzFdLnRyaW0oKSA6ICcnXG59XG5cbmV4cG9ydCBjb25zdCBBYm1Ta2lsbEdlbmVyYXRlTW9kYWwgPSAoKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oW1NFQ1RJT05TLmNoYXRBSV0pXG4gIGNvbnN0IHsgaGFuZGxlU25hY2tiYXJFcnJvciB9ID0gdXNlU25hY2tCYXJNYW5hZ2VyKClcbiAgY29uc3QgW2lzT3Blbiwgc2V0SXNPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbaXNHZW5lcmF0aW5nLCBzZXRJc0dlbmVyYXRpbmddID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtpbnB1dCwgc2V0SW5wdXRdID0gdXNlU3RhdGUoJycpXG4gIGNvbnN0IGlzT3BlblJlZiA9IHVzZVJlZihmYWxzZSlcblxuICBjb25zdCBoYW5kbGVDbG9zZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpc09wZW5SZWYuY3VycmVudCA9IGZhbHNlXG4gICAgc2V0SXNPcGVuKGZhbHNlKVxuICAgIHNldElzR2VuZXJhdGluZyhmYWxzZSlcbiAgICBzZXRJbnB1dCgnJylcbiAgfSwgW10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVPcGVuID0gKCkgPT4ge1xuICAgICAgaWYgKGdldFVzYWdlU3RvcmVTdGF0ZSgpLmJsb2NrZWQpIHtcbiAgICAgICAgaGFuZGxlU25hY2tiYXJFcnJvcihnZXRVc2FnZUJsb2NrZWRCYW5uZXJUZXh0KCkpXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgc2V0SW5wdXQoJycpXG4gICAgICBpc09wZW5SZWYuY3VycmVudCA9IHRydWVcbiAgICAgIHNldElzT3Blbih0cnVlKVxuICAgIH1cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFNLSUxMX0dFTkVSQVRFX09QRU5fRVZFTlQsIGhhbmRsZU9wZW4pXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoU0tJTExfR0VORVJBVEVfT1BFTl9FVkVOVCwgaGFuZGxlT3BlbilcbiAgICB9XG4gIH0sIFtoYW5kbGVTbmFja2JhckVycm9yLCB0XSlcblxuICBjb25zdCBoYW5kbGVHZW5lcmF0ZSA9IGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB0ZXh0ID0gaW5wdXQudHJpbSgpXG4gICAgaWYgKCF0ZXh0IHx8IGlzR2VuZXJhdGluZykgcmV0dXJuXG4gICAgaWYgKGdldFVzYWdlU3RvcmVTdGF0ZSgpLmJsb2NrZWQpIHtcbiAgICAgIGhhbmRsZVNuYWNrYmFyRXJyb3IoZ2V0VXNhZ2VCbG9ja2VkQmFubmVyVGV4dCgpKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIHNldElzR2VuZXJhdGluZyh0cnVlKVxuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IGNvbnRlbnQgfSA9IGF3YWl0IGdlbmVyYXRlU2tpbGwodGV4dClcbiAgICAgIC8vIFNpIGVsIHVzdWFyaW8gY2VycsOzIGVsIG1vZGFsIG1pZW50cmFzIGdlbmVyYWJhLCBubyBhYnJpciBlbCBlZGl0b3IuXG4gICAgICBpZiAoIWlzT3BlblJlZi5jdXJyZW50KSByZXR1cm5cbiAgICAgIC8vIEhhbmQgb2ZmIHRvIHRoZSBmdWxsIGVkaXRvciAod3JpdGUvcHJldmlldykgd2l0aCB0aGUgZ2VuZXJhdGVkIGNvbnRlbnQgZm9yIHJldmlldyArIHNhdmUuXG4gICAgICBkb2N1bWVudC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICBuZXcgQ3VzdG9tRXZlbnQoJ2FibS1za2lsbC1tb2RhbC1zZXQtdmFsdWVzJywge1xuICAgICAgICAgIGRldGFpbDoge1xuICAgICAgICAgICAgc2tpbGxWYWx1ZXM6IHtcbiAgICAgICAgICAgICAgdmFsdWVzOiB7XG4gICAgICAgICAgICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBnZW5lcmFsOiB7IG5hbWU6IHBhcnNlU2tpbGxOYW1lKGNvbnRlbnQpLCBjb250ZW50IH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGlzT3BlbjogdHJ1ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIGhhbmRsZUNsb3NlKClcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaWYgKCFpc09wZW5SZWYuY3VycmVudCkgcmV0dXJuXG4gICAgICBoYW5kbGVTbmFja2JhckVycm9yKHQoJ215U2tpbGxzLmdlbmVyYXRlRXJyb3InKSlcbiAgICB9IGZpbmFsbHkge1xuICAgICAgc2V0SXNHZW5lcmF0aW5nKGZhbHNlKVxuICAgIH1cbiAgfVxuXG4gIGlmICghaXNPcGVuKSByZXR1cm4gbnVsbFxuXG4gIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb2RhbC1yb290LWFjdGlvbnMnKVxuICBpZiAoIWNvbnRhaW5lcikgcmV0dXJuIG51bGxcblxuICByZXR1cm4gY3JlYXRlUG9ydGFsKFxuICAgIDxCYWNrZHJvcCB6SW5kZXg9ezExMTJ9IG9uQ2xpY2s9e2hhbmRsZUNsb3NlfT5cbiAgICAgIDxTQ0FTR1dyYXBwZXIgb25DbGljaz17ZXZlbnQgPT4gZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCl9PlxuICAgICAgICA8U0NBU0dIZWFkZXI+XG4gICAgICAgICAgPFNDQVNHSGVhZGVyVGl0bGU+e3QoJ215U2tpbGxzLmNyZWF0ZVdpdGhNYWlhJyl9PC9TQ0FTR0hlYWRlclRpdGxlPlxuICAgICAgICAgIDxTQ0FTR0Nsb3NlQnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXtoYW5kbGVDbG9zZX0gYXJpYS1sYWJlbD17dCgnbXlTa2lsbHMuY2xvc2UnKX0+XG4gICAgICAgICAgICA8Q3Jvc3MgY29sb3I9XCIjYTZhNmE2XCIgd2lkdGg9ezE4fSBoZWlnaHQ9ezE4fSAvPlxuICAgICAgICAgIDwvU0NBU0dDbG9zZUJ1dHRvbj5cbiAgICAgICAgPC9TQ0FTR0hlYWRlcj5cblxuICAgICAgICA8U0NBU0dUZXh0YXJlYVxuICAgICAgICAgIGF1dG9Gb2N1c1xuICAgICAgICAgIHBsYWNlaG9sZGVyPXt0KCdteVNraWxscy5nZW5lcmF0ZVBsYWNlaG9sZGVyJyl9XG4gICAgICAgICAgdmFsdWU9e2lucHV0fVxuICAgICAgICAgIGRpc2FibGVkPXtpc0dlbmVyYXRpbmd9XG4gICAgICAgICAgb25DaGFuZ2U9e2V2ZW50ID0+IHNldElucHV0KGV2ZW50LnRhcmdldC52YWx1ZSl9XG4gICAgICAgIC8+XG5cbiAgICAgICAgPFNDQVNHRm9vdGVyPlxuICAgICAgICAgIDxTQ0FTR0NhbmNlbEJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17aGFuZGxlQ2xvc2V9IGRpc2FibGVkPXtpc0dlbmVyYXRpbmd9PlxuICAgICAgICAgICAge3QoJ215U2tpbGxzLmNhbmNlbCcpfVxuICAgICAgICAgIDwvU0NBU0dDYW5jZWxCdXR0b24+XG4gICAgICAgICAgPFNDQVNHR2VuZXJhdGVCdXR0b24gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e2hhbmRsZUdlbmVyYXRlfSBkaXNhYmxlZD17IWlucHV0LnRyaW0oKSB8fCBpc0dlbmVyYXRpbmd9PlxuICAgICAgICAgICAge2lzR2VuZXJhdGluZyA/IDxMb2FkZXIgc2l6ZT1cInNtYWxsXCIgLz4gOiB0KCdteVNraWxscy5jcmVhdGVXaXRoTWFpYScpfVxuICAgICAgICAgIDwvU0NBU0dHZW5lcmF0ZUJ1dHRvbj5cbiAgICAgICAgPC9TQ0FTR0Zvb3Rlcj5cbiAgICAgIDwvU0NBU0dXcmFwcGVyPlxuICAgIDwvQmFja2Ryb3A+LFxuICAgIGNvbnRhaW5lclxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7OztBQUFBO0FBQ0EsU0FBU0EsV0FBVyxFQUFFQyxTQUFTLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxRQUFRLE9BQU87QUFDaEUsU0FBU0MsWUFBWSxRQUFRLFdBQVc7QUFDeEMsU0FBU0MsS0FBSyxRQUFRLHdDQUF3QztBQUM5RCxTQUFTQyxjQUFjLFFBQVEsZUFBZTtBQUM5QyxTQUFTQyxRQUFRLFFBQVEsc0JBQXNCO0FBQy9DLFNBQVNDLE1BQU0sUUFBUSxvQkFBb0I7QUFDM0MsU0FBU0MsUUFBUSxRQUFRLDJCQUEyQjtBQUNwRCxTQUFTQyxrQkFBa0IsUUFBUSxzREFBc0Q7QUFDekYsU0FBU0MsYUFBYSxRQUFRLDZDQUE2QztBQUMzRSxTQUFTQyxrQkFBa0IsUUFBUSw4QkFBOEI7QUFDakUsU0FBU0MseUJBQXlCLFFBQVEsb0NBQW9DO0FBQzlFLFNBQ0VDLGlCQUFpQixFQUNqQkMsZ0JBQWdCLEVBQ2hCQyxXQUFXLEVBQ1hDLG1CQUFtQixFQUNuQkMsV0FBVyxFQUNYQyxnQkFBZ0IsRUFDaEJDLGFBQWEsRUFDYkMsWUFBWSxRQUNQLGdDQUFnQzs7QUFFdkM7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUEsRUFBQUMsSUFBQSxJQUFBQyxLQUFBO0FBQ0EsT0FBTyxJQUFNQyx5QkFBeUIsR0FBRyx5QkFBeUI7QUFFbEUsSUFBTUMsY0FBYyxHQUFHLFNBQWpCQSxjQUFjQSxDQUFJQyxPQUFlLEVBQWE7RUFDbEQsSUFBTUMsS0FBSyxHQUFHRCxPQUFPLENBQUNDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztFQUM5QyxPQUFPQSxLQUFLLEdBQUdBLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFO0FBQ3JDLENBQUM7QUFFRCxPQUFPLElBQU1DLHFCQUFxQixHQUFHLFNBQXhCQSxxQkFBcUJBLENBQUEsRUFBUztFQUN6QyxJQUFBQyxlQUFBLEdBQWMxQixjQUFjLENBQUMsQ0FBQ0csUUFBUSxDQUFDd0IsTUFBTSxDQUFDLENBQUM7SUFBdkNDLENBQUMsR0FBQUYsZUFBQSxDQUFERSxDQUFDO0VBQ1QsSUFBQUMsbUJBQUEsR0FBZ0N6QixrQkFBa0IsQ0FBQyxDQUFDO0lBQTVDMEIsbUJBQW1CLEdBQUFELG1CQUFBLENBQW5CQyxtQkFBbUI7RUFDM0IsSUFBQUMsU0FBQSxHQUE0QmxDLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQW1DLFVBQUEsR0FBQUMsY0FBQSxDQUFBRixTQUFBO0lBQXBDRyxNQUFNLEdBQUFGLFVBQUE7SUFBRUcsU0FBUyxHQUFBSCxVQUFBO0VBQ3hCLElBQUFJLFVBQUEsR0FBd0N2QyxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQUF3QyxVQUFBLEdBQUFKLGNBQUEsQ0FBQUcsVUFBQTtJQUFoREUsWUFBWSxHQUFBRCxVQUFBO0lBQUVFLGVBQWUsR0FBQUYsVUFBQTtFQUNwQyxJQUFBRyxVQUFBLEdBQTBCM0MsUUFBUSxDQUFDLEVBQUUsQ0FBQztJQUFBNEMsVUFBQSxHQUFBUixjQUFBLENBQUFPLFVBQUE7SUFBL0JFLEtBQUssR0FBQUQsVUFBQTtJQUFFRSxRQUFRLEdBQUFGLFVBQUE7RUFDdEIsSUFBTUcsU0FBUyxHQUFHaEQsTUFBTSxDQUFDLEtBQUssQ0FBQztFQUUvQixJQUFNaUQsV0FBVyxHQUFHbkQsV0FBVyxDQUFDLFlBQU07SUFDcENrRCxTQUFTLENBQUNFLE9BQU8sR0FBRyxLQUFLO0lBQ3pCWCxTQUFTLENBQUMsS0FBSyxDQUFDO0lBQ2hCSSxlQUFlLENBQUMsS0FBSyxDQUFDO0lBQ3RCSSxRQUFRLENBQUMsRUFBRSxDQUFDO0VBQ2QsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUVOaEQsU0FBUyxDQUFDLFlBQU07SUFDZCxJQUFNb0QsVUFBVSxHQUFHLFNBQWJBLFVBQVVBLENBQUEsRUFBUztNQUN2QixJQUFJekMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDMEMsT0FBTyxFQUFFO1FBQ2hDbEIsbUJBQW1CLENBQUN2Qix5QkFBeUIsQ0FBQyxDQUFDLENBQUM7UUFDaEQ7TUFDRjtNQUNBb0MsUUFBUSxDQUFDLEVBQUUsQ0FBQztNQUNaQyxTQUFTLENBQUNFLE9BQU8sR0FBRyxJQUFJO01BQ3hCWCxTQUFTLENBQUMsSUFBSSxDQUFDO0lBQ2pCLENBQUM7SUFDRGMsUUFBUSxDQUFDQyxnQkFBZ0IsQ0FBQzlCLHlCQUF5QixFQUFFMkIsVUFBVSxDQUFDO0lBQ2hFLE9BQU8sWUFBTTtNQUNYRSxRQUFRLENBQUNFLG1CQUFtQixDQUFDL0IseUJBQXlCLEVBQUUyQixVQUFVLENBQUM7SUFDckUsQ0FBQztFQUNILENBQUMsRUFBRSxDQUFDakIsbUJBQW1CLEVBQUVGLENBQUMsQ0FBQyxDQUFDO0VBRTVCLElBQU13QixjQUFjO0lBQUEsSUFBQUMsSUFBQSxHQUFBQyxpQkFBQSxjQUFBQyxtQkFBQSxDQUFBQyxJQUFBLENBQUcsU0FBQUMsUUFBQTtNQUFBLElBQUFDLElBQUEsRUFBQUMsb0JBQUEsRUFBQXJDLE9BQUEsRUFBQXNDLEVBQUE7TUFBQSxPQUFBTCxtQkFBQSxDQUFBTSxJQUFBLFdBQUFDLFFBQUE7UUFBQSxrQkFBQUEsUUFBQSxDQUFBQyxJQUFBLEdBQUFELFFBQUEsQ0FBQUUsSUFBQTtVQUFBO1lBQ2ZOLElBQUksR0FBR2hCLEtBQUssQ0FBQ2xCLElBQUksQ0FBQyxDQUFDO1lBQUEsTUFDckIsQ0FBQ2tDLElBQUksSUFBSXBCLFlBQVk7Y0FBQXdCLFFBQUEsQ0FBQUUsSUFBQTtjQUFBO1lBQUE7WUFBQSxPQUFBRixRQUFBLENBQUFHLE1BQUE7VUFBQTtZQUFBLEtBQ3JCM0Qsa0JBQWtCLENBQUMsQ0FBQyxDQUFDMEMsT0FBTztjQUFBYyxRQUFBLENBQUFFLElBQUE7Y0FBQTtZQUFBO1lBQzlCbEMsbUJBQW1CLENBQUN2Qix5QkFBeUIsQ0FBQyxDQUFDLENBQUM7WUFBQSxPQUFBdUQsUUFBQSxDQUFBRyxNQUFBO1VBQUE7WUFHbEQxQixlQUFlLENBQUMsSUFBSSxDQUFDO1lBQUF1QixRQUFBLENBQUFDLElBQUE7WUFBQUQsUUFBQSxDQUFBRSxJQUFBO1lBQUEsT0FFTzNELGFBQWEsQ0FBQ3FELElBQUksQ0FBQztVQUFBO1lBQUFDLG9CQUFBLEdBQUFHLFFBQUEsQ0FBQUksSUFBQTtZQUFyQzVDLE9BQU8sR0FBQXFDLG9CQUFBLENBQVByQyxPQUFPO1lBQUEsSUFFVnNCLFNBQVMsQ0FBQ0UsT0FBTztjQUFBZ0IsUUFBQSxDQUFBRSxJQUFBO2NBQUE7WUFBQTtZQUFBLE9BQUFGLFFBQUEsQ0FBQUcsTUFBQTtVQUFBO1lBQ3RCO1lBQ0FoQixRQUFRLENBQUNrQixhQUFhLENBQ3BCLElBQUlDLFdBQVcsQ0FBQyw0QkFBNEIsRUFBRTtjQUM1Q0MsTUFBTSxFQUFFO2dCQUNOQyxXQUFXLEVBQUU7a0JBQ1hDLE1BQU0sRUFBRTtvQkFDTkMsU0FBUyxFQUFFLEtBQUs7b0JBQ2hCQyxPQUFPLEVBQUU7c0JBQUVDLElBQUksRUFBRXJELGNBQWMsQ0FBQ0MsT0FBTyxDQUFDO3NCQUFFQSxPQUFPLEVBQVBBO29CQUFRO2tCQUNwRCxDQUFDO2tCQUNEWSxNQUFNLEVBQUU7Z0JBQ1Y7Y0FDRjtZQUNGLENBQUMsQ0FDSCxDQUFDO1lBQ0RXLFdBQVcsQ0FBQyxDQUFDO1lBQUFpQixRQUFBLENBQUFFLElBQUE7WUFBQTtVQUFBO1lBQUFGLFFBQUEsQ0FBQUMsSUFBQTtZQUFBSCxFQUFBLEdBQUFFLFFBQUE7WUFBQSxJQUVSbEIsU0FBUyxDQUFDRSxPQUFPO2NBQUFnQixRQUFBLENBQUFFLElBQUE7Y0FBQTtZQUFBO1lBQUEsT0FBQUYsUUFBQSxDQUFBRyxNQUFBO1VBQUE7WUFDdEJuQyxtQkFBbUIsQ0FBQ0YsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLENBQUM7VUFBQTtZQUFBa0MsUUFBQSxDQUFBQyxJQUFBO1lBRWhEeEIsZUFBZSxDQUFDLEtBQUssQ0FBQztZQUFBLE9BQUF1QixRQUFBLENBQUFhLE1BQUE7VUFBQTtVQUFBO1lBQUEsT0FBQWIsUUFBQSxDQUFBYyxJQUFBO1FBQUE7TUFBQSxHQUFBbkIsT0FBQTtJQUFBLENBRXpCO0lBQUEsZ0JBakNLTCxjQUFjQSxDQUFBO01BQUEsT0FBQUMsSUFBQSxDQUFBd0IsS0FBQSxPQUFBQyxTQUFBO0lBQUE7RUFBQSxHQWlDbkI7RUFFRCxJQUFJLENBQUM1QyxNQUFNLEVBQUUsT0FBTyxJQUFJO0VBRXhCLElBQU02QyxTQUFTLEdBQUc5QixRQUFRLENBQUMrQixjQUFjLENBQUMsb0JBQW9CLENBQUM7RUFDL0QsSUFBSSxDQUFDRCxTQUFTLEVBQUUsT0FBTyxJQUFJO0VBRTNCLG9CQUFPakYsWUFBWSxjQUNqQm1CLElBQUEsQ0FBQ2hCLFFBQVE7SUFBQ2dGLE1BQU0sRUFBRSxJQUFLO0lBQUNDLE9BQU8sRUFBRXJDLFdBQVk7SUFBQXNDLFFBQUEsZUFDM0NoRSxLQUFBLENBQUNKLFlBQVk7TUFBQ21FLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFFRSxLQUFLO1FBQUEsT0FBSUEsS0FBSyxDQUFDQyxlQUFlLENBQUMsQ0FBQztNQUFBLENBQUM7TUFBQUYsUUFBQSxnQkFDdERoRSxLQUFBLENBQUNQLFdBQVc7UUFBQXVFLFFBQUEsZ0JBQ1ZsRSxJQUFBLENBQUNKLGdCQUFnQjtVQUFBc0UsUUFBQSxFQUFFdkQsQ0FBQyxDQUFDLHlCQUF5QjtRQUFDLENBQW1CLENBQUMsZUFDbkVYLElBQUEsQ0FBQ1IsZ0JBQWdCO1VBQUM2RSxJQUFJLEVBQUMsUUFBUTtVQUFDSixPQUFPLEVBQUVyQyxXQUFZO1VBQUMsY0FBWWpCLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBRTtVQUFBdUQsUUFBQSxlQUNwRmxFLElBQUEsQ0FBQ2xCLEtBQUs7WUFBQ3dGLEtBQUssRUFBQyxTQUFTO1lBQUNDLEtBQUssRUFBRSxFQUFHO1lBQUNDLE1BQU0sRUFBRTtVQUFHLENBQUU7UUFBQyxDQUNoQyxDQUFDO01BQUEsQ0FDUixDQUFDLGVBRWR4RSxJQUFBLENBQUNILGFBQWE7UUFDWjRFLFNBQVM7UUFDVEMsV0FBVyxFQUFFL0QsQ0FBQyxDQUFDLDhCQUE4QixDQUFFO1FBQy9DZ0UsS0FBSyxFQUFFbEQsS0FBTTtRQUNibUQsUUFBUSxFQUFFdkQsWUFBYTtRQUN2QndELFFBQVEsRUFBRSxTQUFWQSxRQUFRQSxDQUFFVixLQUFLO1VBQUEsT0FBSXpDLFFBQVEsQ0FBQ3lDLEtBQUssQ0FBQ1csTUFBTSxDQUFDSCxLQUFLLENBQUM7UUFBQTtNQUFDLENBQ2pELENBQUMsZUFFRnpFLEtBQUEsQ0FBQ1QsV0FBVztRQUFBeUUsUUFBQSxnQkFDVmxFLElBQUEsQ0FBQ1QsaUJBQWlCO1VBQUM4RSxJQUFJLEVBQUMsUUFBUTtVQUFDSixPQUFPLEVBQUVyQyxXQUFZO1VBQUNnRCxRQUFRLEVBQUV2RCxZQUFhO1VBQUE2QyxRQUFBLEVBQzNFdkQsQ0FBQyxDQUFDLGlCQUFpQjtRQUFDLENBQ0osQ0FBQyxlQUNwQlgsSUFBQSxDQUFDTixtQkFBbUI7VUFBQzJFLElBQUksRUFBQyxRQUFRO1VBQUNKLE9BQU8sRUFBRTlCLGNBQWU7VUFBQ3lDLFFBQVEsRUFBRSxDQUFDbkQsS0FBSyxDQUFDbEIsSUFBSSxDQUFDLENBQUMsSUFBSWMsWUFBYTtVQUFBNkMsUUFBQSxFQUNqRzdDLFlBQVksZ0JBQUdyQixJQUFBLENBQUNmLE1BQU07WUFBQzhGLElBQUksRUFBQztVQUFPLENBQUUsQ0FBQyxHQUFHcEUsQ0FBQyxDQUFDLHlCQUF5QjtRQUFDLENBQ25ELENBQUM7TUFBQSxDQUNYLENBQUM7SUFBQSxDQUNGO0VBQUMsQ0FDUCxDQUFDLEVBQ1htRCxTQUNGLENBQUM7QUFDSCxDQUFDIiwiaWdub3JlTGlzdCI6W119
@@ -22,6 +22,7 @@ import { getUnitFileSize } from '../../../utils/getUnitFileSize';
22
22
  import { getSkillContentByteLength, isSkillContentOverLimit, SKILL_CONTENT_MAX_BYTES } from '../../../utils/skillContentSize';
23
23
  import { DeleteQuestionModal } from '../DeleteQuestionModal/DeleteQuestionModal';
24
24
  import { getUsageStoreState } from '../../../store/useUsageStore';
25
+ import { getUsageBlockedBannerText } from '../../../utils/usageBlockedMessage';
25
26
  import { SCASMByteCounter, SCASMCancelButton, SCASMCloseButton, SCASMContent, SCASMDeleteSlot, SCASMField, SCASMFieldHeader, SCASMFooter, SCASMHeader, SCASMHeaderActions, SCASMHeaderTitle, SCASMHiddenFileInput, SCASMInput, SCASMLabel, SCASMPreview, SCASMPreviewEmpty, SCASMSaveButton, SCASMTextarea, SCASMToggleButton, SCASMToggleGroup, SCASMUploadButton, SCASMWrapper } from './AbmSkillModal.styles';
26
27
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
27
28
  var initialValues = {
@@ -101,12 +102,9 @@ export var AbmSkillModal = function AbmSkillModal(_ref) {
101
102
  }, [handleClose]);
102
103
  var showUsageBlockedError = function showUsageBlockedError() {
103
104
  var _getUsageStoreState = getUsageStoreState(),
104
- blocked = _getUsageStoreState.blocked,
105
- quotaExceededMessage = _getUsageStoreState.quotaExceededMessage;
105
+ blocked = _getUsageStoreState.blocked;
106
106
  if (!blocked) return false;
107
- handleSnackbarError(quotaExceededMessage || t('usageBlocked', {
108
- defaultValue: 'Te quedaste sin usos de IA.'
109
- }));
107
+ handleSnackbarError(getUsageBlockedBannerText());
110
108
  return true;
111
109
  };
112
110
  useEffect(function () {
@@ -116,11 +114,7 @@ export var AbmSkillModal = function AbmSkillModal(_ref) {
116
114
  skillValues = _ref2.skillValues;
117
115
  if (!skillValues) return;
118
116
  if (getUsageStoreState().blocked) {
119
- var _getUsageStoreState2 = getUsageStoreState(),
120
- quotaExceededMessage = _getUsageStoreState2.quotaExceededMessage;
121
- handleSnackbarError(quotaExceededMessage || t('usageBlocked', {
122
- defaultValue: 'Te quedaste sin usos de IA.'
123
- }));
117
+ handleSnackbarError(getUsageBlockedBannerText());
124
118
  return;
125
119
  }
126
120
  var incomingName = (((_skillValues$values = skillValues.values) === null || _skillValues$values === void 0 || (_skillValues$values = _skillValues$values.general) === null || _skillValues$values === void 0 ? void 0 : _skillValues$values.name) || '').trim();
@@ -486,4 +480,4 @@ export var AbmSkillModal = function AbmSkillModal(_ref) {
486
480
  }) : null]
487
481
  }), container);
488
482
  };
489
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsImNyZWF0ZVBvcnRhbCIsIkNyb3NzIiwidXNlVHJhbnNsYXRpb24iLCJNYWlhU3RyZWFtZG93biIsIkJhY2tkcm9wIiwiTG9hZGVyIiwiU0VDVElPTlMiLCJ1c2VVc2VyIiwidXNlU25hY2tCYXJNYW5hZ2VyIiwiY3JlYXRlU2tpbGwiLCJ1cGRhdGVTa2lsbCIsImRlbGV0ZVNraWxsIiwiZ2V0VW5pdEZpbGVTaXplIiwiZ2V0U2tpbGxDb250ZW50Qnl0ZUxlbmd0aCIsImlzU2tpbGxDb250ZW50T3ZlckxpbWl0IiwiU0tJTExfQ09OVEVOVF9NQVhfQllURVMiLCJEZWxldGVRdWVzdGlvbk1vZGFsIiwiZ2V0VXNhZ2VTdG9yZVN0YXRlIiwiU0NBU01CeXRlQ291bnRlciIsIlNDQVNNQ2FuY2VsQnV0dG9uIiwiU0NBU01DbG9zZUJ1dHRvbiIsIlNDQVNNQ29udGVudCIsIlNDQVNNRGVsZXRlU2xvdCIsIlNDQVNNRmllbGQiLCJTQ0FTTUZpZWxkSGVhZGVyIiwiU0NBU01Gb290ZXIiLCJTQ0FTTUhlYWRlciIsIlNDQVNNSGVhZGVyQWN0aW9ucyIsIlNDQVNNSGVhZGVyVGl0bGUiLCJTQ0FTTUhpZGRlbkZpbGVJbnB1dCIsIlNDQVNNSW5wdXQiLCJTQ0FTTUxhYmVsIiwiU0NBU01QcmV2aWV3IiwiU0NBU01QcmV2aWV3RW1wdHkiLCJTQ0FTTVNhdmVCdXR0b24iLCJTQ0FTTVRleHRhcmVhIiwiU0NBU01Ub2dnbGVCdXR0b24iLCJTQ0FTTVRvZ2dsZUdyb3VwIiwiU0NBU01VcGxvYWRCdXR0b24iLCJTQ0FTTVdyYXBwZXIiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiaW5pdGlhbFZhbHVlcyIsImlzRWRpdGluZyIsImdlbmVyYWwiLCJpZCIsInVuZGVmaW5lZCIsIm5hbWUiLCJjb250ZW50IiwiQWJtU2tpbGxNb2RhbCIsIl9yZWYiLCJfdXNlciRwZXJtaXNzaW9ucyIsIl92YWx1ZXMkZ2VuZXJhbCIsIl92YWx1ZXMkZ2VuZXJhbDIiLCJfdmFsdWVzJGdlbmVyYWwzIiwiYWRkU2tpbGwiLCJ1cGRhdGVTa2lsbEluTGlzdCIsInJlbW92ZVNraWxsIiwiX3VzZVRyYW5zbGF0aW9uIiwiY2hhdEFJIiwidCIsInVzZXIiLCJfdXNlU25hY2tCYXJNYW5hZ2VyIiwiaGFuZGxlU25hY2tiYXJTdWNjZXNzIiwiaGFuZGxlU25hY2tiYXJFcnJvciIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImlzT3BlbiIsInNldElzT3BlbiIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiaXNTdWJtaXR0aW5nIiwic2V0SXNTdWJtaXR0aW5nIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJzaG93RGVsZXRlIiwic2V0U2hvd0RlbGV0ZSIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4Iiwic2hvd1ByZXZpZXciLCJzZXRTaG93UHJldmlldyIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUwIiwicGVuZGluZ1VwbG9hZCIsInNldFBlbmRpbmdVcGxvYWQiLCJfdXNlU3RhdGUxIiwiX3VzZVN0YXRlMTAiLCJ2YWx1ZXMiLCJzZXRWYWx1ZXMiLCJmaWxlSW5wdXRSZWYiLCJpbml0aWFsUmVmIiwidXNlclBlcm1pc3Npb25zIiwicGVybWlzc2lvbnMiLCJhaV9hZ2VudHMiLCJjYW5DcmVhdGUiLCJjcmVhdGUiLCJjYW5FZGl0IiwiZWRpdCIsImNhbkRlbGV0ZSIsInNraWxsSWQiLCJjb250ZW50Qnl0ZXMiLCJpc092ZXJMaW1pdCIsImlzVmFsaWQiLCJ0cmltIiwiaGFzQ2hhbmdlcyIsImN1cnJlbnQiLCJoYW5kbGVDbG9zZSIsImhhbmRsZUJhY2tkcm9wQ2xpY2siLCJldmVudCIsInRhcmdldCIsImN1cnJlbnRUYXJnZXQiLCJzaG93VXNhZ2VCbG9ja2VkRXJyb3IiLCJfZ2V0VXNhZ2VTdG9yZVN0YXRlIiwiYmxvY2tlZCIsInF1b3RhRXhjZWVkZWRNZXNzYWdlIiwiZGVmYXVsdFZhbHVlIiwiaGFuZGxlU2V0U2tpbGxWYWx1ZXMiLCJfc2tpbGxWYWx1ZXMkdmFsdWVzIiwiX3NraWxsVmFsdWVzJHZhbHVlczIiLCJfc2tpbGxWYWx1ZXMkdmFsdWVzMyIsIl9za2lsbFZhbHVlcyR2YWx1ZXM0IiwiX3NraWxsVmFsdWVzJHZhbHVlczUiLCJfc2tpbGxWYWx1ZXMkdmFsdWVzNiIsIl9yZWYyIiwiZGV0YWlsIiwic2tpbGxWYWx1ZXMiLCJfZ2V0VXNhZ2VTdG9yZVN0YXRlMiIsImluY29taW5nTmFtZSIsImluY29taW5nQ29udGVudCIsIl9vYmplY3RTcHJlYWQiLCJoYXNDb250ZW50IiwiaW50ZW50IiwiZG9jdW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIl9maWxlSW5wdXRSZWYkY3VycmVudCIsImNsaWNrIiwiaGFuZGxlQ2hhbmdlRmllbGQiLCJmaWVsZCIsInZhbHVlIiwibGVuZ3RoIiwicHJldiIsIl9kZWZpbmVQcm9wZXJ0eSIsImhhbmRsZVVwbG9hZENsaWNrIiwiX2ZpbGVJbnB1dFJlZiRjdXJyZW50MiIsImhhbmRsZUZpbGVDaGFuZ2UiLCJfcmVmMyIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwiX2V2ZW50JHRhcmdldCRmaWxlcyIsImZpbGUiLCJpc01hcmtkb3duIiwidGV4dCIsImJhc2VOYW1lIiwiX3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJuZXh0IiwiZmlsZXMiLCJhYnJ1cHQiLCJ0ZXN0Iiwic2l6ZSIsInNlbnQiLCJyZXBsYWNlIiwiX3ByZXYkZ2VuZXJhbCIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwiaGFuZGxlU2F2ZSIsIl9yZWY0IiwiX2NhbGxlZTIiLCJ1cGRhdGVkIiwiY3JlYXRlZCIsIl90MiIsIl9jb250ZXh0MiIsImZpbmlzaCIsImhhbmRsZUNvbmZpcm1EZWxldGUiLCJfcmVmNSIsIl9jYWxsZWUzIiwiX3QzIiwiX2NvbnRleHQzIiwiY29udGFpbmVyIiwiZ2V0RWxlbWVudEJ5SWQiLCJ6SW5kZXgiLCJvbkNsaWNrIiwiY2hpbGRyZW4iLCJzdG9wUHJvcGFnYXRpb24iLCJ0eXBlIiwiY29sb3IiLCJ3aWR0aCIsImhlaWdodCIsImh0bWxGb3IiLCJtYXhMZW5ndGgiLCJwbGFjZWhvbGRlciIsImRpc2FibGVkIiwib25DaGFuZ2UiLCJyZWYiLCJhY2NlcHQiLCIkYWN0aXZlIiwidmFyaWFudCIsIiRvdmVyTGltaXQiLCJ1c2VkIiwibWF4Iiwib25DbG9zZSIsImhhbmRsZXJzIiwiaGFuZGxlQ29uZmlybUFjdGlvbiIsImNoYXQiLCJ0aXRsZSIsImFjdGlvbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL29yZ2FuaXNtcy9BYm1Ta2lsbE1vZGFsL0FibVNraWxsTW9kYWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IENoYW5nZUV2ZW50LCBNb3VzZUV2ZW50LCB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tICdyZWFjdC1kb20nXG5pbXBvcnQgeyBDcm9zcyB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0Nyb3NzJ1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgTWFpYVN0cmVhbWRvd24gfSBmcm9tICcuLi8uLi9hdG9tcy9NYWlhU3RyZWFtZG93bidcbmltcG9ydCB7IEJhY2tkcm9wIH0gZnJvbSAnLi4vLi4vYXRvbXMvQmFja2Ryb3AnXG5pbXBvcnQgeyBMb2FkZXIgfSBmcm9tICcuLi8uLi9hdG9tcy9Mb2FkZXInXG5pbXBvcnQgeyBTRUNUSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgeyB1c2VVc2VyIH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9jb3ItdXNlcidcbmltcG9ydCB7IHVzZVNuYWNrQmFyTWFuYWdlciB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVNuYWNrQmFyTWFuYWdlci91c2VTbmFja0Jhck1hbmFnZXInXG5pbXBvcnQgeyBjcmVhdGVTa2lsbCB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21haWEvU2tpbGxzL2NyZWF0ZVNraWxsJ1xuaW1wb3J0IHsgdXBkYXRlU2tpbGwgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tYWlhL1NraWxscy91cGRhdGVTa2lsbCdcbmltcG9ydCB7IGRlbGV0ZVNraWxsIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbWFpYS9Ta2lsbHMvZGVsZXRlU2tpbGwnXG5pbXBvcnQgeyBTa2lsbCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL3NraWxsJ1xuaW1wb3J0IHsgZ2V0VW5pdEZpbGVTaXplIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvZ2V0VW5pdEZpbGVTaXplJ1xuaW1wb3J0IHtcbiAgZ2V0U2tpbGxDb250ZW50Qnl0ZUxlbmd0aCxcbiAgaXNTa2lsbENvbnRlbnRPdmVyTGltaXQsXG4gIFNLSUxMX0NPTlRFTlRfTUFYX0JZVEVTLFxufSBmcm9tICcuLi8uLi8uLi91dGlscy9za2lsbENvbnRlbnRTaXplJ1xuaW1wb3J0IHsgRGVsZXRlUXVlc3Rpb25Nb2RhbCB9IGZyb20gJy4uL0RlbGV0ZVF1ZXN0aW9uTW9kYWwvRGVsZXRlUXVlc3Rpb25Nb2RhbCdcbmltcG9ydCB7IGdldFVzYWdlU3RvcmVTdGF0ZSB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL3VzZVVzYWdlU3RvcmUnXG5pbXBvcnQge1xuICBTQ0FTTUJ5dGVDb3VudGVyLFxuICBTQ0FTTUNhbmNlbEJ1dHRvbixcbiAgU0NBU01DbG9zZUJ1dHRvbixcbiAgU0NBU01Db250ZW50LFxuICBTQ0FTTURlbGV0ZVNsb3QsXG4gIFNDQVNNRmllbGQsXG4gIFNDQVNNRmllbGRIZWFkZXIsXG4gIFNDQVNNRm9vdGVyLFxuICBTQ0FTTUhlYWRlcixcbiAgU0NBU01IZWFkZXJBY3Rpb25zLFxuICBTQ0FTTUhlYWRlclRpdGxlLFxuICBTQ0FTTUhpZGRlbkZpbGVJbnB1dCxcbiAgU0NBU01JbnB1dCxcbiAgU0NBU01MYWJlbCxcbiAgU0NBU01QcmV2aWV3LFxuICBTQ0FTTVByZXZpZXdFbXB0eSxcbiAgU0NBU01TYXZlQnV0dG9uLFxuICBTQ0FTTVRleHRhcmVhLFxuICBTQ0FTTVRvZ2dsZUJ1dHRvbixcbiAgU0NBU01Ub2dnbGVHcm91cCxcbiAgU0NBU01VcGxvYWRCdXR0b24sXG4gIFNDQVNNV3JhcHBlcixcbn0gZnJvbSAnLi9BYm1Ta2lsbE1vZGFsLnN0eWxlcydcblxudHlwZSBTa2lsbE1vZGFsVmFsdWVzID0ge1xuICBpc0VkaXRpbmc6IGJvb2xlYW5cbiAgZ2VuZXJhbD86IHtcbiAgICBpZD86IHN0cmluZ1xuICAgIG5hbWU/OiBzdHJpbmdcbiAgICBjb250ZW50Pzogc3RyaW5nXG4gIH1cbn1cblxudHlwZSBBYm1Ta2lsbE1vZGFsUHJvcHMgPSB7XG4gIGFkZFNraWxsPzogKHNraWxsOiBTa2lsbCkgPT4gdm9pZFxuICB1cGRhdGVTa2lsbEluTGlzdD86IChza2lsbDogU2tpbGwpID0+IHZvaWRcbiAgcmVtb3ZlU2tpbGw/OiAoc2tpbGxJZDogc3RyaW5nKSA9PiB2b2lkXG59XG5cbmNvbnN0IGluaXRpYWxWYWx1ZXM6IFNraWxsTW9kYWxWYWx1ZXMgPSB7XG4gIGlzRWRpdGluZzogZmFsc2UsXG4gIGdlbmVyYWw6IHsgaWQ6IHVuZGVmaW5lZCwgbmFtZTogJycsIGNvbnRlbnQ6ICcnIH0sXG59XG5cbmV4cG9ydCBjb25zdCBBYm1Ta2lsbE1vZGFsID0gKHsgYWRkU2tpbGwsIHVwZGF0ZVNraWxsSW5MaXN0LCByZW1vdmVTa2lsbCB9OiBBYm1Ta2lsbE1vZGFsUHJvcHMpID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbihbU0VDVElPTlMuY2hhdEFJXSlcbiAgY29uc3QgdXNlciA9IHVzZVVzZXIoKVxuICBjb25zdCB7IGhhbmRsZVNuYWNrYmFyU3VjY2VzcywgaGFuZGxlU25hY2tiYXJFcnJvciB9ID0gdXNlU25hY2tCYXJNYW5hZ2VyKClcbiAgY29uc3QgW2lzT3Blbiwgc2V0SXNPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbaXNTdWJtaXR0aW5nLCBzZXRJc1N1Ym1pdHRpbmddID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtzaG93RGVsZXRlLCBzZXRTaG93RGVsZXRlXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbc2hvd1ByZXZpZXcsIHNldFNob3dQcmV2aWV3XSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbcGVuZGluZ1VwbG9hZCwgc2V0UGVuZGluZ1VwbG9hZF0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW3ZhbHVlcywgc2V0VmFsdWVzXSA9IHVzZVN0YXRlPFNraWxsTW9kYWxWYWx1ZXM+KGluaXRpYWxWYWx1ZXMpXG4gIGNvbnN0IGZpbGVJbnB1dFJlZiA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKVxuICAvLyBCYXNlbGluZSB0byBkZXRlY3QgY2hhbmdlczogdGhlIGxvYWRlZCB2YWx1ZXMgd2hlbiBlZGl0aW5nLCBlbXB0eSB3aGVuIGNyZWF0aW5nXG4gIC8vIChhIG5ldy9nZW5lcmF0ZWQvdXBsb2FkZWQgc2tpbGwgYWx3YXlzIGNvdW50cyBhcyBhIGNoYW5nZSkuXG4gIGNvbnN0IGluaXRpYWxSZWYgPSB1c2VSZWY8eyBuYW1lOiBzdHJpbmc7IGNvbnRlbnQ6IHN0cmluZyB9Pih7IG5hbWU6ICcnLCBjb250ZW50OiAnJyB9KVxuXG4gIGNvbnN0IHVzZXJQZXJtaXNzaW9ucyA9IHVzZXI/LnBlcm1pc3Npb25zPy5haV9hZ2VudHNcbiAgY29uc3QgY2FuQ3JlYXRlID0gISF1c2VyUGVybWlzc2lvbnM/LmNyZWF0ZVxuICBjb25zdCBjYW5FZGl0ID0gISF1c2VyUGVybWlzc2lvbnM/LmVkaXRcbiAgY29uc3QgY2FuRGVsZXRlID0gISF1c2VyUGVybWlzc2lvbnM/LmRlbGV0ZVxuXG4gIGNvbnN0IG5hbWUgPSB2YWx1ZXMuZ2VuZXJhbD8ubmFtZSB8fCAnJ1xuICBjb25zdCBjb250ZW50ID0gdmFsdWVzLmdlbmVyYWw/LmNvbnRlbnQgfHwgJydcbiAgY29uc3Qgc2tpbGxJZCA9IHZhbHVlcy5nZW5lcmFsPy5pZFxuICBjb25zdCBjb250ZW50Qnl0ZXMgPSB1c2VNZW1vKCgpID0+IGdldFNraWxsQ29udGVudEJ5dGVMZW5ndGgoY29udGVudCksIFtjb250ZW50XSlcbiAgY29uc3QgaXNPdmVyTGltaXQgPSBjb250ZW50Qnl0ZXMgPiBTS0lMTF9DT05URU5UX01BWF9CWVRFU1xuICBjb25zdCBpc1ZhbGlkID0gISFuYW1lLnRyaW0oKSAmJiAhIWNvbnRlbnQudHJpbSgpICYmICFpc092ZXJMaW1pdFxuICBjb25zdCBoYXNDaGFuZ2VzID0gbmFtZS50cmltKCkgIT09IGluaXRpYWxSZWYuY3VycmVudC5uYW1lIHx8IGNvbnRlbnQudHJpbSgpICE9PSBpbml0aWFsUmVmLmN1cnJlbnQuY29udGVudFxuXG4gIGNvbnN0IGhhbmRsZUNsb3NlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldElzT3BlbihmYWxzZSlcbiAgICBzZXRTaG93RGVsZXRlKGZhbHNlKVxuICAgIHNldFNob3dQcmV2aWV3KGZhbHNlKVxuICAgIHNldFBlbmRpbmdVcGxvYWQoZmFsc2UpXG4gICAgc2V0VmFsdWVzKGluaXRpYWxWYWx1ZXMpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IGhhbmRsZUJhY2tkcm9wQ2xpY2sgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgIGlmIChldmVudC50YXJnZXQgPT09IGV2ZW50LmN1cnJlbnRUYXJnZXQpIHtcbiAgICAgICAgaGFuZGxlQ2xvc2UoKVxuICAgICAgfVxuICAgIH0sXG4gICAgW2hhbmRsZUNsb3NlXVxuICApXG5cbiAgY29uc3Qgc2hvd1VzYWdlQmxvY2tlZEVycm9yID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgYmxvY2tlZCwgcXVvdGFFeGNlZWRlZE1lc3NhZ2UgfSA9IGdldFVzYWdlU3RvcmVTdGF0ZSgpXG4gICAgaWYgKCFibG9ja2VkKSByZXR1cm4gZmFsc2VcbiAgICBoYW5kbGVTbmFja2JhckVycm9yKHF1b3RhRXhjZWVkZWRNZXNzYWdlIHx8IHQoJ3VzYWdlQmxvY2tlZCcsIHsgZGVmYXVsdFZhbHVlOiAnVGUgcXVlZGFzdGUgc2luIHVzb3MgZGUgSUEuJyB9KSlcbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVTZXRTa2lsbFZhbHVlcyA9IChldmVudDogYW55KSA9PiB7XG4gICAgICBjb25zdCB7IHNraWxsVmFsdWVzIH0gPSBldmVudC5kZXRhaWwgfHwge31cbiAgICAgIGlmICghc2tpbGxWYWx1ZXMpIHJldHVyblxuXG4gICAgICBpZiAoZ2V0VXNhZ2VTdG9yZVN0YXRlKCkuYmxvY2tlZCkge1xuICAgICAgICBjb25zdCB7IHF1b3RhRXhjZWVkZWRNZXNzYWdlIH0gPSBnZXRVc2FnZVN0b3JlU3RhdGUoKVxuICAgICAgICBoYW5kbGVTbmFja2JhckVycm9yKHF1b3RhRXhjZWVkZWRNZXNzYWdlIHx8IHQoJ3VzYWdlQmxvY2tlZCcsIHsgZGVmYXVsdFZhbHVlOiAnVGUgcXVlZGFzdGUgc2luIHVzb3MgZGUgSUEuJyB9KSlcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgICBjb25zdCBpbmNvbWluZ05hbWUgPSAoc2tpbGxWYWx1ZXMudmFsdWVzPy5nZW5lcmFsPy5uYW1lIHx8ICcnKS50cmltKClcbiAgICAgIGNvbnN0IGluY29taW5nQ29udGVudCA9IChza2lsbFZhbHVlcy52YWx1ZXM/LmdlbmVyYWw/LmNvbnRlbnQgfHwgJycpLnRyaW0oKVxuICAgICAgLy8gRWRpdGluZyBhbiBleGlzdGluZyBza2lsbCAtPiBiYXNlbGluZSBpcyBpdHMgdmFsdWVzOyBjcmVhdGluZyAtPiBlbXB0eSBiYXNlbGluZS5cbiAgICAgIGluaXRpYWxSZWYuY3VycmVudCA9IHNraWxsVmFsdWVzLnZhbHVlcz8uaXNFZGl0aW5nXG4gICAgICAgID8geyBuYW1lOiBpbmNvbWluZ05hbWUsIGNvbnRlbnQ6IGluY29taW5nQ29udGVudCB9XG4gICAgICAgIDogeyBuYW1lOiAnJywgY29udGVudDogJycgfVxuXG4gICAgICBzZXRWYWx1ZXMoe1xuICAgICAgICAuLi5pbml0aWFsVmFsdWVzLFxuICAgICAgICAuLi5za2lsbFZhbHVlcy52YWx1ZXMsXG4gICAgICAgIGdlbmVyYWw6IHsgLi4uaW5pdGlhbFZhbHVlcy5nZW5lcmFsLCAuLi5za2lsbFZhbHVlcy52YWx1ZXM/LmdlbmVyYWwgfSxcbiAgICAgIH0pXG4gICAgICAvLyBDb24gY29udGVuaWRvIChlZGljacOzbiBvIHNraWxsIHlhIGdlbmVyYWRhKSBhcnJhbmNhbW9zIGVuIFwiVmlzdGEgcHJldmlhXCI7IHZhY8OtYSwgZW4gXCJFZGl0YXJcIi5cbiAgICAgIGNvbnN0IGhhc0NvbnRlbnQgPSAhIXNraWxsVmFsdWVzLnZhbHVlcz8uZ2VuZXJhbD8uY29udGVudD8udHJpbSgpXG4gICAgICBzZXRTaG93UHJldmlldyhoYXNDb250ZW50KVxuICAgICAgLy8gU2kgdmlubyBjb24gaW50ZW50IFwidXBsb2FkXCIsIGFicmltb3MgZWwgc2VsZWN0b3IgZGUgYXJjaGl2b3MgYWwgbW9udGFyLlxuICAgICAgc2V0UGVuZGluZ1VwbG9hZChza2lsbFZhbHVlcy52YWx1ZXM/LmludGVudCA9PT0gJ3VwbG9hZCcpXG4gICAgICBzZXRJc09wZW4oISFza2lsbFZhbHVlcy5pc09wZW4pXG4gICAgfVxuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignYWJtLXNraWxsLW1vZGFsLXNldC12YWx1ZXMnLCBoYW5kbGVTZXRTa2lsbFZhbHVlcylcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignYWJtLXNraWxsLW1vZGFsLXNldC12YWx1ZXMnLCBoYW5kbGVTZXRTa2lsbFZhbHVlcylcbiAgICB9XG4gIH0sIFtdKVxuXG4gIC8vIFdoZW4gb3BlbmVkIHdpdGggdGhlIFwidXBsb2FkXCIgaW50ZW50LCBvcGVuIHRoZSBPUyBmaWxlIHBpY2tlciBvbmNlIG1vdW50ZWQuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzT3BlbiAmJiBwZW5kaW5nVXBsb2FkKSB7XG4gICAgICBzZXRQZW5kaW5nVXBsb2FkKGZhbHNlKVxuICAgICAgZmlsZUlucHV0UmVmLmN1cnJlbnQ/LmNsaWNrKClcbiAgICB9XG4gIH0sIFtpc09wZW4sIHBlbmRpbmdVcGxvYWRdKVxuXG4gIGNvbnN0IGhhbmRsZUNoYW5nZUZpZWxkID0gKGZpZWxkOiAnbmFtZScgfCAnY29udGVudCcsIHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICBpZiAoZmllbGQgPT09ICdjb250ZW50JyAmJiBpc1NraWxsQ29udGVudE92ZXJMaW1pdCh2YWx1ZSkpIHtcbiAgICAgIGlmICh2YWx1ZS5sZW5ndGggLSBjb250ZW50Lmxlbmd0aCA+IDEpIHtcbiAgICAgICAgaGFuZGxlU25hY2tiYXJFcnJvcih0KCdteVNraWxscy5jb250ZW50U2l6ZUVycm9yJykpXG4gICAgICB9XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgc2V0VmFsdWVzKHByZXYgPT4gKHtcbiAgICAgIC4uLnByZXYsXG4gICAgICBnZW5lcmFsOiB7IC4uLnByZXYuZ2VuZXJhbCwgW2ZpZWxkXTogdmFsdWUgfSxcbiAgICB9KSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVVwbG9hZENsaWNrID0gKCkgPT4ge1xuICAgIGZpbGVJbnB1dFJlZi5jdXJyZW50Py5jbGljaygpXG4gIH1cblxuICBjb25zdCBoYW5kbGVGaWxlQ2hhbmdlID0gYXN5bmMgKGV2ZW50OiBDaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgIGNvbnN0IGZpbGUgPSBldmVudC50YXJnZXQuZmlsZXM/LlswXVxuICAgIC8vIFJlc2V0IHRoZSBpbnB1dCAodmlhIHJlZikgc28gc2VsZWN0aW5nIHRoZSBzYW1lIGZpbGUgYWdhaW4gc3RpbGwgZmlyZXMgb25DaGFuZ2UuXG4gICAgaWYgKGZpbGVJbnB1dFJlZi5jdXJyZW50KSB7XG4gICAgICBmaWxlSW5wdXRSZWYuY3VycmVudC52YWx1ZSA9ICcnXG4gICAgfVxuICAgIGlmICghZmlsZSkgcmV0dXJuXG5cbiAgICBjb25zdCBpc01hcmtkb3duID0gL1xcLihtZHxtYXJrZG93bikkL2kudGVzdChmaWxlLm5hbWUpXG4gICAgaWYgKCFpc01hcmtkb3duKSB7XG4gICAgICBoYW5kbGVTbmFja2JhckVycm9yKHQoJ215U2tpbGxzLnVwbG9hZEVycm9yJykpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAoZmlsZS5zaXplID4gU0tJTExfQ09OVEVOVF9NQVhfQllURVMpIHtcbiAgICAgIGhhbmRsZVNuYWNrYmFyRXJyb3IodCgnbXlTa2lsbHMudXBsb2FkU2l6ZUVycm9yJykpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgdGV4dCA9IGF3YWl0IGZpbGUudGV4dCgpXG4gICAgICBpZiAoaXNTa2lsbENvbnRlbnRPdmVyTGltaXQodGV4dCkpIHtcbiAgICAgICAgaGFuZGxlU25hY2tiYXJFcnJvcih0KCdteVNraWxscy51cGxvYWRTaXplRXJyb3InKSlcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgICBjb25zdCBiYXNlTmFtZSA9IGZpbGUubmFtZS5yZXBsYWNlKC9cXC4obWR8bWFya2Rvd24pJC9pLCAnJylcbiAgICAgIHNldFZhbHVlcyhwcmV2ID0+ICh7XG4gICAgICAgIC4uLnByZXYsXG4gICAgICAgIGdlbmVyYWw6IHtcbiAgICAgICAgICAuLi5wcmV2LmdlbmVyYWwsXG4gICAgICAgICAgY29udGVudDogdGV4dCxcbiAgICAgICAgICAvLyBPbmx5IGZpbGwgdGhlIG5hbWUgZnJvbSB0aGUgZmlsZW5hbWUgd2hlbiBpdCdzIHN0aWxsIGVtcHR5LlxuICAgICAgICAgIG5hbWU6IHByZXYuZ2VuZXJhbD8ubmFtZT8udHJpbSgpID8gcHJldi5nZW5lcmFsLm5hbWUgOiBiYXNlTmFtZSxcbiAgICAgICAgfSxcbiAgICAgIH0pKVxuICAgICAgLy8gVHJhcyBzdWJpciB1biAubWQgbW9zdHJhbW9zIGVsIHJlc3VsdGFkbyByZW5kZXJpemFkbyBwb3IgZGVmZWN0by5cbiAgICAgIHNldFNob3dQcmV2aWV3KHRydWUpXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGhhbmRsZVNuYWNrYmFyRXJyb3IodCgnbXlTa2lsbHMudXBsb2FkRXJyb3InKSlcbiAgICB9XG4gIH1cblxuICBjb25zdCBoYW5kbGVTYXZlID0gYXN5bmMgKCkgPT4ge1xuICAgIGlmICghaXNWYWxpZCB8fCBpc1N1Ym1pdHRpbmcpIHJldHVyblxuICAgIGlmIChzaG93VXNhZ2VCbG9ja2VkRXJyb3IoKSkgcmV0dXJuXG4gICAgc2V0SXNTdWJtaXR0aW5nKHRydWUpXG4gICAgdHJ5IHtcbiAgICAgIGlmICh2YWx1ZXMuaXNFZGl0aW5nICYmIHNraWxsSWQpIHtcbiAgICAgICAgY29uc3QgdXBkYXRlZCA9IGF3YWl0IHVwZGF0ZVNraWxsKHNraWxsSWQsIHsgbmFtZTogbmFtZS50cmltKCksIGNvbnRlbnQ6IGNvbnRlbnQudHJpbSgpIH0pXG4gICAgICAgIHVwZGF0ZVNraWxsSW5MaXN0Py4odXBkYXRlZClcbiAgICAgICAgaGFuZGxlU25hY2tiYXJTdWNjZXNzKHQoJ215U2tpbGxzLnVwZGF0ZVN1Y2Nlc3MnKSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGNyZWF0ZWQgPSBhd2FpdCBjcmVhdGVTa2lsbCh7IG5hbWU6IG5hbWUudHJpbSgpLCBjb250ZW50OiBjb250ZW50LnRyaW0oKSB9KVxuICAgICAgICBhZGRTa2lsbD8uKGNyZWF0ZWQpXG4gICAgICAgIGhhbmRsZVNuYWNrYmFyU3VjY2Vzcyh0KCdteVNraWxscy5jcmVhdGVTdWNjZXNzJykpXG4gICAgICB9XG4gICAgICBoYW5kbGVDbG9zZSgpXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGhhbmRsZVNuYWNrYmFyRXJyb3IodmFsdWVzLmlzRWRpdGluZyA/IHQoJ215U2tpbGxzLnVwZGF0ZUVycm9yJykgOiB0KCdteVNraWxscy5jcmVhdGVFcnJvcicpKVxuICAgIH0gZmluYWxseSB7XG4gICAgICBzZXRJc1N1Ym1pdHRpbmcoZmFsc2UpXG4gICAgfVxuICB9XG5cbiAgY29uc3QgaGFuZGxlQ29uZmlybURlbGV0ZSA9IGFzeW5jICgpID0+IHtcbiAgICBpZiAoIXNraWxsSWQpIHJldHVyblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBkZWxldGVTa2lsbChza2lsbElkKVxuICAgICAgcmVtb3ZlU2tpbGw/Lihza2lsbElkKVxuICAgICAgaGFuZGxlU25hY2tiYXJTdWNjZXNzKHQoJ215U2tpbGxzLmRlbGV0ZVN1Y2Nlc3MnKSlcbiAgICAgIGhhbmRsZUNsb3NlKClcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaGFuZGxlU25hY2tiYXJFcnJvcih0KCdteVNraWxscy5kZWxldGVFcnJvcicpKVxuICAgIH1cbiAgfVxuXG4gIGlmICghaXNPcGVuKSByZXR1cm4gbnVsbFxuICBpZiAoIWNhbkNyZWF0ZSAmJiAhY2FuRWRpdCAmJiAhY2FuRGVsZXRlKSByZXR1cm4gbnVsbFxuXG4gIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb2RhbC1yb290LWFjdGlvbnMnKVxuICBpZiAoIWNvbnRhaW5lcikgcmV0dXJuIG51bGxcblxuICByZXR1cm4gY3JlYXRlUG9ydGFsKFxuICAgIDxCYWNrZHJvcCB6SW5kZXg9ezExMTJ9IG9uQ2xpY2s9e2hhbmRsZUJhY2tkcm9wQ2xpY2t9PlxuICAgICAgPFNDQVNNV3JhcHBlciBvbkNsaWNrPXtldmVudCA9PiBldmVudC5zdG9wUHJvcGFnYXRpb24oKX0+XG4gICAgICAgIDxTQ0FTTUhlYWRlcj5cbiAgICAgICAgICA8U0NBU01IZWFkZXJUaXRsZT57dmFsdWVzLmlzRWRpdGluZyA/IHQoJ215U2tpbGxzLmVkaXRUaXRsZScpIDogdCgnbXlTa2lsbHMuY3JlYXRlVGl0bGUnKX08L1NDQVNNSGVhZGVyVGl0bGU+XG4gICAgICAgICAgPFNDQVNNQ2xvc2VCdXR0b24gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e2hhbmRsZUNsb3NlfSBhcmlhLWxhYmVsPXt0KCdteVNraWxscy5jbG9zZScpfT5cbiAgICAgICAgICAgIDxDcm9zcyBjb2xvcj1cIiNhNmE2YTZcIiB3aWR0aD17MTh9IGhlaWdodD17MTh9IC8+XG4gICAgICAgICAgPC9TQ0FTTUNsb3NlQnV0dG9uPlxuICAgICAgICA8L1NDQVNNSGVhZGVyPlxuXG4gICAgICAgIDxTQ0FTTUNvbnRlbnQ+XG4gICAgICAgICAgPFNDQVNNRmllbGQ+XG4gICAgICAgICAgICA8U0NBU01MYWJlbCBodG1sRm9yPVwic2tpbGwtbmFtZS1pbnB1dFwiPnt0KCdteVNraWxscy5uYW1lTGFiZWwnKX08L1NDQVNNTGFiZWw+XG4gICAgICAgICAgICA8U0NBU01JbnB1dFxuICAgICAgICAgICAgICBpZD1cInNraWxsLW5hbWUtaW5wdXRcIlxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIG1heExlbmd0aD17MTUwfVxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17dCgnbXlTa2lsbHMubmFtZVBsYWNlaG9sZGVyJyl9XG4gICAgICAgICAgICAgIHZhbHVlPXtuYW1lfVxuICAgICAgICAgICAgICBkaXNhYmxlZD17aXNTdWJtaXR0aW5nfVxuICAgICAgICAgICAgICBvbkNoYW5nZT17ZXZlbnQgPT4gaGFuZGxlQ2hhbmdlRmllbGQoJ25hbWUnLCBldmVudC50YXJnZXQudmFsdWUpfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L1NDQVNNRmllbGQ+XG5cbiAgICAgICAgICA8U0NBU01GaWVsZD5cbiAgICAgICAgICAgIDxTQ0FTTUZpZWxkSGVhZGVyPlxuICAgICAgICAgICAgICA8U0NBU01MYWJlbCBodG1sRm9yPVwic2tpbGwtY29udGVudC1pbnB1dFwiPnt0KCdteVNraWxscy5jb250ZW50TGFiZWwnKX08L1NDQVNNTGFiZWw+XG4gICAgICAgICAgICAgIDxTQ0FTTUhlYWRlckFjdGlvbnM+XG4gICAgICAgICAgICAgICAgPFNDQVNNVXBsb2FkQnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXtoYW5kbGVVcGxvYWRDbGlja30gZGlzYWJsZWQ9e2lzU3VibWl0dGluZ30+XG4gICAgICAgICAgICAgICAgICB7dCgnbXlTa2lsbHMudXBsb2FkTWQnKX1cbiAgICAgICAgICAgICAgICA8L1NDQVNNVXBsb2FkQnV0dG9uPlxuICAgICAgICAgICAgICAgIDxTQ0FTTUhpZGRlbkZpbGVJbnB1dFxuICAgICAgICAgICAgICAgICAgcmVmPXtmaWxlSW5wdXRSZWZ9XG4gICAgICAgICAgICAgICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICAgICAgICAgICAgICBhY2NlcHQ9XCIubWQsLm1hcmtkb3duLHRleHQvbWFya2Rvd25cIlxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZUZpbGVDaGFuZ2V9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8U0NBU01Ub2dnbGVHcm91cD5cbiAgICAgICAgICAgICAgICAgIDxTQ0FTTVRvZ2dsZUJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgJGFjdGl2ZT17IXNob3dQcmV2aWV3fSBvbkNsaWNrPXsoKSA9PiBzZXRTaG93UHJldmlldyhmYWxzZSl9PlxuICAgICAgICAgICAgICAgICAgICB7dCgnbXlTa2lsbHMuZWRpdCcpfVxuICAgICAgICAgICAgICAgICAgPC9TQ0FTTVRvZ2dsZUJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDxTQ0FTTVRvZ2dsZUJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgJGFjdGl2ZT17c2hvd1ByZXZpZXd9IG9uQ2xpY2s9eygpID0+IHNldFNob3dQcmV2aWV3KHRydWUpfT5cbiAgICAgICAgICAgICAgICAgICAge3QoJ215U2tpbGxzLnByZXZpZXcnKX1cbiAgICAgICAgICAgICAgICAgIDwvU0NBU01Ub2dnbGVCdXR0b24+XG4gICAgICAgICAgICAgICAgPC9TQ0FTTVRvZ2dsZUdyb3VwPlxuICAgICAgICAgICAgICA8L1NDQVNNSGVhZGVyQWN0aW9ucz5cbiAgICAgICAgICAgIDwvU0NBU01GaWVsZEhlYWRlcj5cbiAgICAgICAgICAgIHtzaG93UHJldmlldyA/IChcbiAgICAgICAgICAgICAgPFNDQVNNUHJldmlldz5cbiAgICAgICAgICAgICAgICB7Y29udGVudC50cmltKCkgPyAoXG4gICAgICAgICAgICAgICAgICA8TWFpYVN0cmVhbWRvd24gdmFyaWFudD1cInByZXZpZXdcIj57Y29udGVudH08L01haWFTdHJlYW1kb3duPlxuICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICA8U0NBU01QcmV2aWV3RW1wdHk+e3QoJ215U2tpbGxzLnByZXZpZXdFbXB0eScpfTwvU0NBU01QcmV2aWV3RW1wdHk+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9TQ0FTTVByZXZpZXc+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8U0NBU01UZXh0YXJlYVxuICAgICAgICAgICAgICAgIGlkPVwic2tpbGwtY29udGVudC1pbnB1dFwiXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3QoJ215U2tpbGxzLmNvbnRlbnRQbGFjZWhvbGRlcicpfVxuICAgICAgICAgICAgICAgIHZhbHVlPXtjb250ZW50fVxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc1N1Ym1pdHRpbmd9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e2V2ZW50ID0+IGhhbmRsZUNoYW5nZUZpZWxkKCdjb250ZW50JywgZXZlbnQudGFyZ2V0LnZhbHVlKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8U0NBU01CeXRlQ291bnRlciAkb3ZlckxpbWl0PXtpc092ZXJMaW1pdH0gYXJpYS1saXZlPVwicG9saXRlXCI+XG4gICAgICAgICAgICAgIHt0KCdteVNraWxscy5ieXRlc0NvdW50ZXInLCB7XG4gICAgICAgICAgICAgICAgdXNlZDogZ2V0VW5pdEZpbGVTaXplKGNvbnRlbnRCeXRlcyksXG4gICAgICAgICAgICAgICAgbWF4OiBnZXRVbml0RmlsZVNpemUoU0tJTExfQ09OVEVOVF9NQVhfQllURVMpLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvU0NBU01CeXRlQ291bnRlcj5cbiAgICAgICAgICA8L1NDQVNNRmllbGQ+XG4gICAgICAgIDwvU0NBU01Db250ZW50PlxuXG4gICAgICAgIDxTQ0FTTUZvb3Rlcj5cbiAgICAgICAgICB7dmFsdWVzLmlzRWRpdGluZyAmJiBjYW5EZWxldGUgPyAoXG4gICAgICAgICAgICA8U0NBU01EZWxldGVTbG90PlxuICAgICAgICAgICAgICA8U0NBU01DYW5jZWxCdXR0b24gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9eygpID0+IHNldFNob3dEZWxldGUodHJ1ZSl9IGRpc2FibGVkPXtpc1N1Ym1pdHRpbmd9PlxuICAgICAgICAgICAgICAgIHt0KCdteVNraWxscy5kZWxldGUnKX1cbiAgICAgICAgICAgICAgPC9TQ0FTTUNhbmNlbEJ1dHRvbj5cbiAgICAgICAgICAgIDwvU0NBU01EZWxldGVTbG90PlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIDxTQ0FTTUNhbmNlbEJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17aGFuZGxlQ2xvc2V9IGRpc2FibGVkPXtpc1N1Ym1pdHRpbmd9PlxuICAgICAgICAgICAge3QoJ215U2tpbGxzLmNhbmNlbCcpfVxuICAgICAgICAgIDwvU0NBU01DYW5jZWxCdXR0b24+XG4gICAgICAgICAgPFNDQVNNU2F2ZUJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17aGFuZGxlU2F2ZX0gZGlzYWJsZWQ9eyFpc1ZhbGlkIHx8IGlzU3VibWl0dGluZyB8fCAhaGFzQ2hhbmdlc30+XG4gICAgICAgICAgICB7aXNTdWJtaXR0aW5nID8gPExvYWRlciBzaXplPVwic21hbGxcIiAvPiA6IHQoJ215U2tpbGxzLnNhdmUnKX1cbiAgICAgICAgICA8L1NDQVNNU2F2ZUJ1dHRvbj5cbiAgICAgICAgPC9TQ0FTTUZvb3Rlcj5cbiAgICAgIDwvU0NBU01XcmFwcGVyPlxuXG4gICAgICB7c2hvd0RlbGV0ZSAmJiBza2lsbElkID8gKFxuICAgICAgICA8RGVsZXRlUXVlc3Rpb25Nb2RhbFxuICAgICAgICAgIG9uQ2xvc2U9eygpID0+IHNldFNob3dEZWxldGUoZmFsc2UpfVxuICAgICAgICAgIGhhbmRsZXJzPXt7XG4gICAgICAgICAgICBoYW5kbGVDb25maXJtQWN0aW9uOiBoYW5kbGVDb25maXJtRGVsZXRlLFxuICAgICAgICAgIH19XG4gICAgICAgICAgY2hhdD17eyB0aXRsZTogbmFtZSwgaWQ6IHNraWxsSWQgfX1cbiAgICAgICAgICBhY3Rpb249XCJza2lsbFwiXG4gICAgICAgIC8+XG4gICAgICApIDogbnVsbH1cbiAgICA8L0JhY2tkcm9wPixcbiAgICBjb250YWluZXJcbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBLFNBQWtDQSxXQUFXLEVBQUVDLFNBQVMsRUFBRUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLFFBQVEsUUFBUSxPQUFPO0FBQ2xHLFNBQVNDLFlBQVksUUFBUSxXQUFXO0FBQ3hDLFNBQVNDLEtBQUssUUFBUSx3Q0FBd0M7QUFDOUQsU0FBU0MsY0FBYyxRQUFRLGVBQWU7QUFDOUMsU0FBU0MsY0FBYyxRQUFRLDRCQUE0QjtBQUMzRCxTQUFTQyxRQUFRLFFBQVEsc0JBQXNCO0FBQy9DLFNBQVNDLE1BQU0sUUFBUSxvQkFBb0I7QUFD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
483
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsImNyZWF0ZVBvcnRhbCIsIkNyb3NzIiwidXNlVHJhbnNsYXRpb24iLCJNYWlhU3RyZWFtZG93biIsIkJhY2tkcm9wIiwiTG9hZGVyIiwiU0VDVElPTlMiLCJ1c2VVc2VyIiwidXNlU25hY2tCYXJNYW5hZ2VyIiwiY3JlYXRlU2tpbGwiLCJ1cGRhdGVTa2lsbCIsImRlbGV0ZVNraWxsIiwiZ2V0VW5pdEZpbGVTaXplIiwiZ2V0U2tpbGxDb250ZW50Qnl0ZUxlbmd0aCIsImlzU2tpbGxDb250ZW50T3ZlckxpbWl0IiwiU0tJTExfQ09OVEVOVF9NQVhfQllURVMiLCJEZWxldGVRdWVzdGlvbk1vZGFsIiwiZ2V0VXNhZ2VTdG9yZVN0YXRlIiwiZ2V0VXNhZ2VCbG9ja2VkQmFubmVyVGV4dCIsIlNDQVNNQnl0ZUNvdW50ZXIiLCJTQ0FTTUNhbmNlbEJ1dHRvbiIsIlNDQVNNQ2xvc2VCdXR0b24iLCJTQ0FTTUNvbnRlbnQiLCJTQ0FTTURlbGV0ZVNsb3QiLCJTQ0FTTUZpZWxkIiwiU0NBU01GaWVsZEhlYWRlciIsIlNDQVNNRm9vdGVyIiwiU0NBU01IZWFkZXIiLCJTQ0FTTUhlYWRlckFjdGlvbnMiLCJTQ0FTTUhlYWRlclRpdGxlIiwiU0NBU01IaWRkZW5GaWxlSW5wdXQiLCJTQ0FTTUlucHV0IiwiU0NBU01MYWJlbCIsIlNDQVNNUHJldmlldyIsIlNDQVNNUHJldmlld0VtcHR5IiwiU0NBU01TYXZlQnV0dG9uIiwiU0NBU01UZXh0YXJlYSIsIlNDQVNNVG9nZ2xlQnV0dG9uIiwiU0NBU01Ub2dnbGVHcm91cCIsIlNDQVNNVXBsb2FkQnV0dG9uIiwiU0NBU01XcmFwcGVyIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsImluaXRpYWxWYWx1ZXMiLCJpc0VkaXRpbmciLCJnZW5lcmFsIiwiaWQiLCJ1bmRlZmluZWQiLCJuYW1lIiwiY29udGVudCIsIkFibVNraWxsTW9kYWwiLCJfcmVmIiwiX3VzZXIkcGVybWlzc2lvbnMiLCJfdmFsdWVzJGdlbmVyYWwiLCJfdmFsdWVzJGdlbmVyYWwyIiwiX3ZhbHVlcyRnZW5lcmFsMyIsImFkZFNraWxsIiwidXBkYXRlU2tpbGxJbkxpc3QiLCJyZW1vdmVTa2lsbCIsIl91c2VUcmFuc2xhdGlvbiIsImNoYXRBSSIsInQiLCJ1c2VyIiwiX3VzZVNuYWNrQmFyTWFuYWdlciIsImhhbmRsZVNuYWNrYmFyU3VjY2VzcyIsImhhbmRsZVNuYWNrYmFyRXJyb3IiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJpc09wZW4iLCJzZXRJc09wZW4iLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImlzU3VibWl0dGluZyIsInNldElzU3VibWl0dGluZyIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2Iiwic2hvd0RlbGV0ZSIsInNldFNob3dEZWxldGUiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsInNob3dQcmV2aWV3Iiwic2V0U2hvd1ByZXZpZXciLCJfdXNlU3RhdGU5IiwiX3VzZVN0YXRlMCIsInBlbmRpbmdVcGxvYWQiLCJzZXRQZW5kaW5nVXBsb2FkIiwiX3VzZVN0YXRlMSIsIl91c2VTdGF0ZTEwIiwidmFsdWVzIiwic2V0VmFsdWVzIiwiZmlsZUlucHV0UmVmIiwiaW5pdGlhbFJlZiIsInVzZXJQZXJtaXNzaW9ucyIsInBlcm1pc3Npb25zIiwiYWlfYWdlbnRzIiwiY2FuQ3JlYXRlIiwiY3JlYXRlIiwiY2FuRWRpdCIsImVkaXQiLCJjYW5EZWxldGUiLCJza2lsbElkIiwiY29udGVudEJ5dGVzIiwiaXNPdmVyTGltaXQiLCJpc1ZhbGlkIiwidHJpbSIsImhhc0NoYW5nZXMiLCJjdXJyZW50IiwiaGFuZGxlQ2xvc2UiLCJoYW5kbGVCYWNrZHJvcENsaWNrIiwiZXZlbnQiLCJ0YXJnZXQiLCJjdXJyZW50VGFyZ2V0Iiwic2hvd1VzYWdlQmxvY2tlZEVycm9yIiwiX2dldFVzYWdlU3RvcmVTdGF0ZSIsImJsb2NrZWQiLCJoYW5kbGVTZXRTa2lsbFZhbHVlcyIsIl9za2lsbFZhbHVlcyR2YWx1ZXMiLCJfc2tpbGxWYWx1ZXMkdmFsdWVzMiIsIl9za2lsbFZhbHVlcyR2YWx1ZXMzIiwiX3NraWxsVmFsdWVzJHZhbHVlczQiLCJfc2tpbGxWYWx1ZXMkdmFsdWVzNSIsIl9za2lsbFZhbHVlcyR2YWx1ZXM2IiwiX3JlZjIiLCJkZXRhaWwiLCJza2lsbFZhbHVlcyIsImluY29taW5nTmFtZSIsImluY29taW5nQ29udGVudCIsIl9vYmplY3RTcHJlYWQiLCJoYXNDb250ZW50IiwiaW50ZW50IiwiZG9jdW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIl9maWxlSW5wdXRSZWYkY3VycmVudCIsImNsaWNrIiwiaGFuZGxlQ2hhbmdlRmllbGQiLCJmaWVsZCIsInZhbHVlIiwibGVuZ3RoIiwicHJldiIsIl9kZWZpbmVQcm9wZXJ0eSIsImhhbmRsZVVwbG9hZENsaWNrIiwiX2ZpbGVJbnB1dFJlZiRjdXJyZW50MiIsImhhbmRsZUZpbGVDaGFuZ2UiLCJfcmVmMyIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwiX2V2ZW50JHRhcmdldCRmaWxlcyIsImZpbGUiLCJpc01hcmtkb3duIiwidGV4dCIsImJhc2VOYW1lIiwiX3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJuZXh0IiwiZmlsZXMiLCJhYnJ1cHQiLCJ0ZXN0Iiwic2l6ZSIsInNlbnQiLCJyZXBsYWNlIiwiX3ByZXYkZ2VuZXJhbCIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwiaGFuZGxlU2F2ZSIsIl9yZWY0IiwiX2NhbGxlZTIiLCJ1cGRhdGVkIiwiY3JlYXRlZCIsIl90MiIsIl9jb250ZXh0MiIsImZpbmlzaCIsImhhbmRsZUNvbmZpcm1EZWxldGUiLCJfcmVmNSIsIl9jYWxsZWUzIiwiX3QzIiwiX2NvbnRleHQzIiwiY29udGFpbmVyIiwiZ2V0RWxlbWVudEJ5SWQiLCJ6SW5kZXgiLCJvbkNsaWNrIiwiY2hpbGRyZW4iLCJzdG9wUHJvcGFnYXRpb24iLCJ0eXBlIiwiY29sb3IiLCJ3aWR0aCIsImhlaWdodCIsImh0bWxGb3IiLCJtYXhMZW5ndGgiLCJwbGFjZWhvbGRlciIsImRpc2FibGVkIiwib25DaGFuZ2UiLCJyZWYiLCJhY2NlcHQiLCIkYWN0aXZlIiwidmFyaWFudCIsIiRvdmVyTGltaXQiLCJ1c2VkIiwibWF4Iiwib25DbG9zZSIsImhhbmRsZXJzIiwiaGFuZGxlQ29uZmlybUFjdGlvbiIsImNoYXQiLCJ0aXRsZSIsImFjdGlvbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL29yZ2FuaXNtcy9BYm1Ta2lsbE1vZGFsL0FibVNraWxsTW9kYWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IENoYW5nZUV2ZW50LCBNb3VzZUV2ZW50LCB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tICdyZWFjdC1kb20nXG5pbXBvcnQgeyBDcm9zcyB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0Nyb3NzJ1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgTWFpYVN0cmVhbWRvd24gfSBmcm9tICcuLi8uLi9hdG9tcy9NYWlhU3RyZWFtZG93bidcbmltcG9ydCB7IEJhY2tkcm9wIH0gZnJvbSAnLi4vLi4vYXRvbXMvQmFja2Ryb3AnXG5pbXBvcnQgeyBMb2FkZXIgfSBmcm9tICcuLi8uLi9hdG9tcy9Mb2FkZXInXG5pbXBvcnQgeyBTRUNUSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgeyB1c2VVc2VyIH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9jb3ItdXNlcidcbmltcG9ydCB7IHVzZVNuYWNrQmFyTWFuYWdlciB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVNuYWNrQmFyTWFuYWdlci91c2VTbmFja0Jhck1hbmFnZXInXG5pbXBvcnQgeyBjcmVhdGVTa2lsbCB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21haWEvU2tpbGxzL2NyZWF0ZVNraWxsJ1xuaW1wb3J0IHsgdXBkYXRlU2tpbGwgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tYWlhL1NraWxscy91cGRhdGVTa2lsbCdcbmltcG9ydCB7IGRlbGV0ZVNraWxsIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbWFpYS9Ta2lsbHMvZGVsZXRlU2tpbGwnXG5pbXBvcnQgeyBTa2lsbCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL3NraWxsJ1xuaW1wb3J0IHsgZ2V0VW5pdEZpbGVTaXplIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvZ2V0VW5pdEZpbGVTaXplJ1xuaW1wb3J0IHtcbiAgZ2V0U2tpbGxDb250ZW50Qnl0ZUxlbmd0aCxcbiAgaXNTa2lsbENvbnRlbnRPdmVyTGltaXQsXG4gIFNLSUxMX0NPTlRFTlRfTUFYX0JZVEVTLFxufSBmcm9tICcuLi8uLi8uLi91dGlscy9za2lsbENvbnRlbnRTaXplJ1xuaW1wb3J0IHsgRGVsZXRlUXVlc3Rpb25Nb2RhbCB9IGZyb20gJy4uL0RlbGV0ZVF1ZXN0aW9uTW9kYWwvRGVsZXRlUXVlc3Rpb25Nb2RhbCdcbmltcG9ydCB7IGdldFVzYWdlU3RvcmVTdGF0ZSB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL3VzZVVzYWdlU3RvcmUnXG5pbXBvcnQgeyBnZXRVc2FnZUJsb2NrZWRCYW5uZXJUZXh0IH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvdXNhZ2VCbG9ja2VkTWVzc2FnZSdcbmltcG9ydCB7XG4gIFNDQVNNQnl0ZUNvdW50ZXIsXG4gIFNDQVNNQ2FuY2VsQnV0dG9uLFxuICBTQ0FTTUNsb3NlQnV0dG9uLFxuICBTQ0FTTUNvbnRlbnQsXG4gIFNDQVNNRGVsZXRlU2xvdCxcbiAgU0NBU01GaWVsZCxcbiAgU0NBU01GaWVsZEhlYWRlcixcbiAgU0NBU01Gb290ZXIsXG4gIFNDQVNNSGVhZGVyLFxuICBTQ0FTTUhlYWRlckFjdGlvbnMsXG4gIFNDQVNNSGVhZGVyVGl0bGUsXG4gIFNDQVNNSGlkZGVuRmlsZUlucHV0LFxuICBTQ0FTTUlucHV0LFxuICBTQ0FTTUxhYmVsLFxuICBTQ0FTTVByZXZpZXcsXG4gIFNDQVNNUHJldmlld0VtcHR5LFxuICBTQ0FTTVNhdmVCdXR0b24sXG4gIFNDQVNNVGV4dGFyZWEsXG4gIFNDQVNNVG9nZ2xlQnV0dG9uLFxuICBTQ0FTTVRvZ2dsZUdyb3VwLFxuICBTQ0FTTVVwbG9hZEJ1dHRvbixcbiAgU0NBU01XcmFwcGVyLFxufSBmcm9tICcuL0FibVNraWxsTW9kYWwuc3R5bGVzJ1xuXG50eXBlIFNraWxsTW9kYWxWYWx1ZXMgPSB7XG4gIGlzRWRpdGluZzogYm9vbGVhblxuICBnZW5lcmFsPzoge1xuICAgIGlkPzogc3RyaW5nXG4gICAgbmFtZT86IHN0cmluZ1xuICAgIGNvbnRlbnQ/OiBzdHJpbmdcbiAgfVxufVxuXG50eXBlIEFibVNraWxsTW9kYWxQcm9wcyA9IHtcbiAgYWRkU2tpbGw/OiAoc2tpbGw6IFNraWxsKSA9PiB2b2lkXG4gIHVwZGF0ZVNraWxsSW5MaXN0PzogKHNraWxsOiBTa2lsbCkgPT4gdm9pZFxuICByZW1vdmVTa2lsbD86IChza2lsbElkOiBzdHJpbmcpID0+IHZvaWRcbn1cblxuY29uc3QgaW5pdGlhbFZhbHVlczogU2tpbGxNb2RhbFZhbHVlcyA9IHtcbiAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgZ2VuZXJhbDogeyBpZDogdW5kZWZpbmVkLCBuYW1lOiAnJywgY29udGVudDogJycgfSxcbn1cblxuZXhwb3J0IGNvbnN0IEFibVNraWxsTW9kYWwgPSAoeyBhZGRTa2lsbCwgdXBkYXRlU2tpbGxJbkxpc3QsIHJlbW92ZVNraWxsIH06IEFibVNraWxsTW9kYWxQcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKFtTRUNUSU9OUy5jaGF0QUldKVxuICBjb25zdCB1c2VyID0gdXNlVXNlcigpXG4gIGNvbnN0IHsgaGFuZGxlU25hY2tiYXJTdWNjZXNzLCBoYW5kbGVTbmFja2JhckVycm9yIH0gPSB1c2VTbmFja0Jhck1hbmFnZXIoKVxuICBjb25zdCBbaXNPcGVuLCBzZXRJc09wZW5dID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtpc1N1Ym1pdHRpbmcsIHNldElzU3VibWl0dGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW3Nob3dEZWxldGUsIHNldFNob3dEZWxldGVdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtzaG93UHJldmlldywgc2V0U2hvd1ByZXZpZXddID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtwZW5kaW5nVXBsb2FkLCBzZXRQZW5kaW5nVXBsb2FkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbdmFsdWVzLCBzZXRWYWx1ZXNdID0gdXNlU3RhdGU8U2tpbGxNb2RhbFZhbHVlcz4oaW5pdGlhbFZhbHVlcylcbiAgY29uc3QgZmlsZUlucHV0UmVmID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpXG4gIC8vIEJhc2VsaW5lIHRvIGRldGVjdCBjaGFuZ2VzOiB0aGUgbG9hZGVkIHZhbHVlcyB3aGVuIGVkaXRpbmcsIGVtcHR5IHdoZW4gY3JlYXRpbmdcbiAgLy8gKGEgbmV3L2dlbmVyYXRlZC91cGxvYWRlZCBza2lsbCBhbHdheXMgY291bnRzIGFzIGEgY2hhbmdlKS5cbiAgY29uc3QgaW5pdGlhbFJlZiA9IHVzZVJlZjx7IG5hbWU6IHN0cmluZzsgY29udGVudDogc3RyaW5nIH0+KHsgbmFtZTogJycsIGNvbnRlbnQ6ICcnIH0pXG5cbiAgY29uc3QgdXNlclBlcm1pc3Npb25zID0gdXNlcj8ucGVybWlzc2lvbnM/LmFpX2FnZW50c1xuICBjb25zdCBjYW5DcmVhdGUgPSAhIXVzZXJQZXJtaXNzaW9ucz8uY3JlYXRlXG4gIGNvbnN0IGNhbkVkaXQgPSAhIXVzZXJQZXJtaXNzaW9ucz8uZWRpdFxuICBjb25zdCBjYW5EZWxldGUgPSAhIXVzZXJQZXJtaXNzaW9ucz8uZGVsZXRlXG5cbiAgY29uc3QgbmFtZSA9IHZhbHVlcy5nZW5lcmFsPy5uYW1lIHx8ICcnXG4gIGNvbnN0IGNvbnRlbnQgPSB2YWx1ZXMuZ2VuZXJhbD8uY29udGVudCB8fCAnJ1xuICBjb25zdCBza2lsbElkID0gdmFsdWVzLmdlbmVyYWw/LmlkXG4gIGNvbnN0IGNvbnRlbnRCeXRlcyA9IHVzZU1lbW8oKCkgPT4gZ2V0U2tpbGxDb250ZW50Qnl0ZUxlbmd0aChjb250ZW50KSwgW2NvbnRlbnRdKVxuICBjb25zdCBpc092ZXJMaW1pdCA9IGNvbnRlbnRCeXRlcyA+IFNLSUxMX0NPTlRFTlRfTUFYX0JZVEVTXG4gIGNvbnN0IGlzVmFsaWQgPSAhIW5hbWUudHJpbSgpICYmICEhY29udGVudC50cmltKCkgJiYgIWlzT3ZlckxpbWl0XG4gIGNvbnN0IGhhc0NoYW5nZXMgPSBuYW1lLnRyaW0oKSAhPT0gaW5pdGlhbFJlZi5jdXJyZW50Lm5hbWUgfHwgY29udGVudC50cmltKCkgIT09IGluaXRpYWxSZWYuY3VycmVudC5jb250ZW50XG5cbiAgY29uc3QgaGFuZGxlQ2xvc2UgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0SXNPcGVuKGZhbHNlKVxuICAgIHNldFNob3dEZWxldGUoZmFsc2UpXG4gICAgc2V0U2hvd1ByZXZpZXcoZmFsc2UpXG4gICAgc2V0UGVuZGluZ1VwbG9hZChmYWxzZSlcbiAgICBzZXRWYWx1ZXMoaW5pdGlhbFZhbHVlcylcbiAgfSwgW10pXG5cbiAgY29uc3QgaGFuZGxlQmFja2Ryb3BDbGljayA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgaWYgKGV2ZW50LnRhcmdldCA9PT0gZXZlbnQuY3VycmVudFRhcmdldCkge1xuICAgICAgICBoYW5kbGVDbG9zZSgpXG4gICAgICB9XG4gICAgfSxcbiAgICBbaGFuZGxlQ2xvc2VdXG4gIClcblxuICBjb25zdCBzaG93VXNhZ2VCbG9ja2VkRXJyb3IgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBibG9ja2VkIH0gPSBnZXRVc2FnZVN0b3JlU3RhdGUoKVxuICAgIGlmICghYmxvY2tlZCkgcmV0dXJuIGZhbHNlXG4gICAgaGFuZGxlU25hY2tiYXJFcnJvcihnZXRVc2FnZUJsb2NrZWRCYW5uZXJUZXh0KCkpXG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlU2V0U2tpbGxWYWx1ZXMgPSAoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgY29uc3QgeyBza2lsbFZhbHVlcyB9ID0gZXZlbnQuZGV0YWlsIHx8IHt9XG4gICAgICBpZiAoIXNraWxsVmFsdWVzKSByZXR1cm5cblxuICAgICAgaWYgKGdldFVzYWdlU3RvcmVTdGF0ZSgpLmJsb2NrZWQpIHtcbiAgICAgICAgaGFuZGxlU25hY2tiYXJFcnJvcihnZXRVc2FnZUJsb2NrZWRCYW5uZXJUZXh0KCkpXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgY29uc3QgaW5jb21pbmdOYW1lID0gKHNraWxsVmFsdWVzLnZhbHVlcz8uZ2VuZXJhbD8ubmFtZSB8fCAnJykudHJpbSgpXG4gICAgICBjb25zdCBpbmNvbWluZ0NvbnRlbnQgPSAoc2tpbGxWYWx1ZXMudmFsdWVzPy5nZW5lcmFsPy5jb250ZW50IHx8ICcnKS50cmltKClcbiAgICAgIC8vIEVkaXRpbmcgYW4gZXhpc3Rpbmcgc2tpbGwgLT4gYmFzZWxpbmUgaXMgaXRzIHZhbHVlczsgY3JlYXRpbmcgLT4gZW1wdHkgYmFzZWxpbmUuXG4gICAgICBpbml0aWFsUmVmLmN1cnJlbnQgPSBza2lsbFZhbHVlcy52YWx1ZXM/LmlzRWRpdGluZ1xuICAgICAgICA/IHsgbmFtZTogaW5jb21pbmdOYW1lLCBjb250ZW50OiBpbmNvbWluZ0NvbnRlbnQgfVxuICAgICAgICA6IHsgbmFtZTogJycsIGNvbnRlbnQ6ICcnIH1cblxuICAgICAgc2V0VmFsdWVzKHtcbiAgICAgICAgLi4uaW5pdGlhbFZhbHVlcyxcbiAgICAgICAgLi4uc2tpbGxWYWx1ZXMudmFsdWVzLFxuICAgICAgICBnZW5lcmFsOiB7IC4uLmluaXRpYWxWYWx1ZXMuZ2VuZXJhbCwgLi4uc2tpbGxWYWx1ZXMudmFsdWVzPy5nZW5lcmFsIH0sXG4gICAgICB9KVxuICAgICAgLy8gQ29uIGNvbnRlbmlkbyAoZWRpY2nDs24gbyBza2lsbCB5YSBnZW5lcmFkYSkgYXJyYW5jYW1vcyBlbiBcIlZpc3RhIHByZXZpYVwiOyB2YWPDrWEsIGVuIFwiRWRpdGFyXCIuXG4gICAgICBjb25zdCBoYXNDb250ZW50ID0gISFza2lsbFZhbHVlcy52YWx1ZXM/LmdlbmVyYWw/LmNvbnRlbnQ/LnRyaW0oKVxuICAgICAgc2V0U2hvd1ByZXZpZXcoaGFzQ29udGVudClcbiAgICAgIC8vIFNpIHZpbm8gY29uIGludGVudCBcInVwbG9hZFwiLCBhYnJpbW9zIGVsIHNlbGVjdG9yIGRlIGFyY2hpdm9zIGFsIG1vbnRhci5cbiAgICAgIHNldFBlbmRpbmdVcGxvYWQoc2tpbGxWYWx1ZXMudmFsdWVzPy5pbnRlbnQgPT09ICd1cGxvYWQnKVxuICAgICAgc2V0SXNPcGVuKCEhc2tpbGxWYWx1ZXMuaXNPcGVuKVxuICAgIH1cblxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2FibS1za2lsbC1tb2RhbC1zZXQtdmFsdWVzJywgaGFuZGxlU2V0U2tpbGxWYWx1ZXMpXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2FibS1za2lsbC1tb2RhbC1zZXQtdmFsdWVzJywgaGFuZGxlU2V0U2tpbGxWYWx1ZXMpXG4gICAgfVxuICB9LCBbXSlcblxuICAvLyBXaGVuIG9wZW5lZCB3aXRoIHRoZSBcInVwbG9hZFwiIGludGVudCwgb3BlbiB0aGUgT1MgZmlsZSBwaWNrZXIgb25jZSBtb3VudGVkLlxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpc09wZW4gJiYgcGVuZGluZ1VwbG9hZCkge1xuICAgICAgc2V0UGVuZGluZ1VwbG9hZChmYWxzZSlcbiAgICAgIGZpbGVJbnB1dFJlZi5jdXJyZW50Py5jbGljaygpXG4gICAgfVxuICB9LCBbaXNPcGVuLCBwZW5kaW5nVXBsb2FkXSlcblxuICBjb25zdCBoYW5kbGVDaGFuZ2VGaWVsZCA9IChmaWVsZDogJ25hbWUnIHwgJ2NvbnRlbnQnLCB2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgaWYgKGZpZWxkID09PSAnY29udGVudCcgJiYgaXNTa2lsbENvbnRlbnRPdmVyTGltaXQodmFsdWUpKSB7XG4gICAgICBpZiAodmFsdWUubGVuZ3RoIC0gY29udGVudC5sZW5ndGggPiAxKSB7XG4gICAgICAgIGhhbmRsZVNuYWNrYmFyRXJyb3IodCgnbXlTa2lsbHMuY29udGVudFNpemVFcnJvcicpKVxuICAgICAgfVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIHNldFZhbHVlcyhwcmV2ID0+ICh7XG4gICAgICAuLi5wcmV2LFxuICAgICAgZ2VuZXJhbDogeyAuLi5wcmV2LmdlbmVyYWwsIFtmaWVsZF06IHZhbHVlIH0sXG4gICAgfSkpXG4gIH1cblxuICBjb25zdCBoYW5kbGVVcGxvYWRDbGljayA9ICgpID0+IHtcbiAgICBmaWxlSW5wdXRSZWYuY3VycmVudD8uY2xpY2soKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlRmlsZUNoYW5nZSA9IGFzeW5jIChldmVudDogQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHtcbiAgICBjb25zdCBmaWxlID0gZXZlbnQudGFyZ2V0LmZpbGVzPy5bMF1cbiAgICAvLyBSZXNldCB0aGUgaW5wdXQgKHZpYSByZWYpIHNvIHNlbGVjdGluZyB0aGUgc2FtZSBmaWxlIGFnYWluIHN0aWxsIGZpcmVzIG9uQ2hhbmdlLlxuICAgIGlmIChmaWxlSW5wdXRSZWYuY3VycmVudCkge1xuICAgICAgZmlsZUlucHV0UmVmLmN1cnJlbnQudmFsdWUgPSAnJ1xuICAgIH1cbiAgICBpZiAoIWZpbGUpIHJldHVyblxuXG4gICAgY29uc3QgaXNNYXJrZG93biA9IC9cXC4obWR8bWFya2Rvd24pJC9pLnRlc3QoZmlsZS5uYW1lKVxuICAgIGlmICghaXNNYXJrZG93bikge1xuICAgICAgaGFuZGxlU25hY2tiYXJFcnJvcih0KCdteVNraWxscy51cGxvYWRFcnJvcicpKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKGZpbGUuc2l6ZSA+IFNLSUxMX0NPTlRFTlRfTUFYX0JZVEVTKSB7XG4gICAgICBoYW5kbGVTbmFja2JhckVycm9yKHQoJ215U2tpbGxzLnVwbG9hZFNpemVFcnJvcicpKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHRleHQgPSBhd2FpdCBmaWxlLnRleHQoKVxuICAgICAgaWYgKGlzU2tpbGxDb250ZW50T3ZlckxpbWl0KHRleHQpKSB7XG4gICAgICAgIGhhbmRsZVNuYWNrYmFyRXJyb3IodCgnbXlTa2lsbHMudXBsb2FkU2l6ZUVycm9yJykpXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgY29uc3QgYmFzZU5hbWUgPSBmaWxlLm5hbWUucmVwbGFjZSgvXFwuKG1kfG1hcmtkb3duKSQvaSwgJycpXG4gICAgICBzZXRWYWx1ZXMocHJldiA9PiAoe1xuICAgICAgICAuLi5wcmV2LFxuICAgICAgICBnZW5lcmFsOiB7XG4gICAgICAgICAgLi4ucHJldi5nZW5lcmFsLFxuICAgICAgICAgIGNvbnRlbnQ6IHRleHQsXG4gICAgICAgICAgLy8gT25seSBmaWxsIHRoZSBuYW1lIGZyb20gdGhlIGZpbGVuYW1lIHdoZW4gaXQncyBzdGlsbCBlbXB0eS5cbiAgICAgICAgICBuYW1lOiBwcmV2LmdlbmVyYWw/Lm5hbWU/LnRyaW0oKSA/IHByZXYuZ2VuZXJhbC5uYW1lIDogYmFzZU5hbWUsXG4gICAgICAgIH0sXG4gICAgICB9KSlcbiAgICAgIC8vIFRyYXMgc3ViaXIgdW4gLm1kIG1vc3RyYW1vcyBlbCByZXN1bHRhZG8gcmVuZGVyaXphZG8gcG9yIGRlZmVjdG8uXG4gICAgICBzZXRTaG93UHJldmlldyh0cnVlKVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBoYW5kbGVTbmFja2JhckVycm9yKHQoJ215U2tpbGxzLnVwbG9hZEVycm9yJykpXG4gICAgfVxuICB9XG5cbiAgY29uc3QgaGFuZGxlU2F2ZSA9IGFzeW5jICgpID0+IHtcbiAgICBpZiAoIWlzVmFsaWQgfHwgaXNTdWJtaXR0aW5nKSByZXR1cm5cbiAgICBpZiAoc2hvd1VzYWdlQmxvY2tlZEVycm9yKCkpIHJldHVyblxuICAgIHNldElzU3VibWl0dGluZyh0cnVlKVxuICAgIHRyeSB7XG4gICAgICBpZiAodmFsdWVzLmlzRWRpdGluZyAmJiBza2lsbElkKSB7XG4gICAgICAgIGNvbnN0IHVwZGF0ZWQgPSBhd2FpdCB1cGRhdGVTa2lsbChza2lsbElkLCB7IG5hbWU6IG5hbWUudHJpbSgpLCBjb250ZW50OiBjb250ZW50LnRyaW0oKSB9KVxuICAgICAgICB1cGRhdGVTa2lsbEluTGlzdD8uKHVwZGF0ZWQpXG4gICAgICAgIGhhbmRsZVNuYWNrYmFyU3VjY2Vzcyh0KCdteVNraWxscy51cGRhdGVTdWNjZXNzJykpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBjcmVhdGVkID0gYXdhaXQgY3JlYXRlU2tpbGwoeyBuYW1lOiBuYW1lLnRyaW0oKSwgY29udGVudDogY29udGVudC50cmltKCkgfSlcbiAgICAgICAgYWRkU2tpbGw/LihjcmVhdGVkKVxuICAgICAgICBoYW5kbGVTbmFja2JhclN1Y2Nlc3ModCgnbXlTa2lsbHMuY3JlYXRlU3VjY2VzcycpKVxuICAgICAgfVxuICAgICAgaGFuZGxlQ2xvc2UoKVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBoYW5kbGVTbmFja2JhckVycm9yKHZhbHVlcy5pc0VkaXRpbmcgPyB0KCdteVNraWxscy51cGRhdGVFcnJvcicpIDogdCgnbXlTa2lsbHMuY3JlYXRlRXJyb3InKSlcbiAgICB9IGZpbmFsbHkge1xuICAgICAgc2V0SXNTdWJtaXR0aW5nKGZhbHNlKVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUNvbmZpcm1EZWxldGUgPSBhc3luYyAoKSA9PiB7XG4gICAgaWYgKCFza2lsbElkKSByZXR1cm5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgZGVsZXRlU2tpbGwoc2tpbGxJZClcbiAgICAgIHJlbW92ZVNraWxsPy4oc2tpbGxJZClcbiAgICAgIGhhbmRsZVNuYWNrYmFyU3VjY2Vzcyh0KCdteVNraWxscy5kZWxldGVTdWNjZXNzJykpXG4gICAgICBoYW5kbGVDbG9zZSgpXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGhhbmRsZVNuYWNrYmFyRXJyb3IodCgnbXlTa2lsbHMuZGVsZXRlRXJyb3InKSlcbiAgICB9XG4gIH1cblxuICBpZiAoIWlzT3BlbikgcmV0dXJuIG51bGxcbiAgaWYgKCFjYW5DcmVhdGUgJiYgIWNhbkVkaXQgJiYgIWNhbkRlbGV0ZSkgcmV0dXJuIG51bGxcblxuICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbW9kYWwtcm9vdC1hY3Rpb25zJylcbiAgaWYgKCFjb250YWluZXIpIHJldHVybiBudWxsXG5cbiAgcmV0dXJuIGNyZWF0ZVBvcnRhbChcbiAgICA8QmFja2Ryb3AgekluZGV4PXsxMTEyfSBvbkNsaWNrPXtoYW5kbGVCYWNrZHJvcENsaWNrfT5cbiAgICAgIDxTQ0FTTVdyYXBwZXIgb25DbGljaz17ZXZlbnQgPT4gZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCl9PlxuICAgICAgICA8U0NBU01IZWFkZXI+XG4gICAgICAgICAgPFNDQVNNSGVhZGVyVGl0bGU+e3ZhbHVlcy5pc0VkaXRpbmcgPyB0KCdteVNraWxscy5lZGl0VGl0bGUnKSA6IHQoJ215U2tpbGxzLmNyZWF0ZVRpdGxlJyl9PC9TQ0FTTUhlYWRlclRpdGxlPlxuICAgICAgICAgIDxTQ0FTTUNsb3NlQnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXtoYW5kbGVDbG9zZX0gYXJpYS1sYWJlbD17dCgnbXlTa2lsbHMuY2xvc2UnKX0+XG4gICAgICAgICAgICA8Q3Jvc3MgY29sb3I9XCIjYTZhNmE2XCIgd2lkdGg9ezE4fSBoZWlnaHQ9ezE4fSAvPlxuICAgICAgICAgIDwvU0NBU01DbG9zZUJ1dHRvbj5cbiAgICAgICAgPC9TQ0FTTUhlYWRlcj5cblxuICAgICAgICA8U0NBU01Db250ZW50PlxuICAgICAgICAgIDxTQ0FTTUZpZWxkPlxuICAgICAgICAgICAgPFNDQVNNTGFiZWwgaHRtbEZvcj1cInNraWxsLW5hbWUtaW5wdXRcIj57dCgnbXlTa2lsbHMubmFtZUxhYmVsJyl9PC9TQ0FTTUxhYmVsPlxuICAgICAgICAgICAgPFNDQVNNSW5wdXRcbiAgICAgICAgICAgICAgaWQ9XCJza2lsbC1uYW1lLWlucHV0XCJcbiAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICBtYXhMZW5ndGg9ezE1MH1cbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3QoJ215U2tpbGxzLm5hbWVQbGFjZWhvbGRlcicpfVxuICAgICAgICAgICAgICB2YWx1ZT17bmFtZX1cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e2lzU3VibWl0dGluZ31cbiAgICAgICAgICAgICAgb25DaGFuZ2U9e2V2ZW50ID0+IGhhbmRsZUNoYW5nZUZpZWxkKCduYW1lJywgZXZlbnQudGFyZ2V0LnZhbHVlKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9TQ0FTTUZpZWxkPlxuXG4gICAgICAgICAgPFNDQVNNRmllbGQ+XG4gICAgICAgICAgICA8U0NBU01GaWVsZEhlYWRlcj5cbiAgICAgICAgICAgICAgPFNDQVNNTGFiZWwgaHRtbEZvcj1cInNraWxsLWNvbnRlbnQtaW5wdXRcIj57dCgnbXlTa2lsbHMuY29udGVudExhYmVsJyl9PC9TQ0FTTUxhYmVsPlxuICAgICAgICAgICAgICA8U0NBU01IZWFkZXJBY3Rpb25zPlxuICAgICAgICAgICAgICAgIDxTQ0FTTVVwbG9hZEJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17aGFuZGxlVXBsb2FkQ2xpY2t9IGRpc2FibGVkPXtpc1N1Ym1pdHRpbmd9PlxuICAgICAgICAgICAgICAgICAge3QoJ215U2tpbGxzLnVwbG9hZE1kJyl9XG4gICAgICAgICAgICAgICAgPC9TQ0FTTVVwbG9hZEJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8U0NBU01IaWRkZW5GaWxlSW5wdXRcbiAgICAgICAgICAgICAgICAgIHJlZj17ZmlsZUlucHV0UmVmfVxuICAgICAgICAgICAgICAgICAgdHlwZT1cImZpbGVcIlxuICAgICAgICAgICAgICAgICAgYWNjZXB0PVwiLm1kLC5tYXJrZG93bix0ZXh0L21hcmtkb3duXCJcbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVGaWxlQ2hhbmdlfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPFNDQVNNVG9nZ2xlR3JvdXA+XG4gICAgICAgICAgICAgICAgICA8U0NBU01Ub2dnbGVCdXR0b24gdHlwZT1cImJ1dHRvblwiICRhY3RpdmU9eyFzaG93UHJldmlld30gb25DbGljaz17KCkgPT4gc2V0U2hvd1ByZXZpZXcoZmFsc2UpfT5cbiAgICAgICAgICAgICAgICAgICAge3QoJ215U2tpbGxzLmVkaXQnKX1cbiAgICAgICAgICAgICAgICAgIDwvU0NBU01Ub2dnbGVCdXR0b24+XG4gICAgICAgICAgICAgICAgICA8U0NBU01Ub2dnbGVCdXR0b24gdHlwZT1cImJ1dHRvblwiICRhY3RpdmU9e3Nob3dQcmV2aWV3fSBvbkNsaWNrPXsoKSA9PiBzZXRTaG93UHJldmlldyh0cnVlKX0+XG4gICAgICAgICAgICAgICAgICAgIHt0KCdteVNraWxscy5wcmV2aWV3Jyl9XG4gICAgICAgICAgICAgICAgICA8L1NDQVNNVG9nZ2xlQnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvU0NBU01Ub2dnbGVHcm91cD5cbiAgICAgICAgICAgICAgPC9TQ0FTTUhlYWRlckFjdGlvbnM+XG4gICAgICAgICAgICA8L1NDQVNNRmllbGRIZWFkZXI+XG4gICAgICAgICAgICB7c2hvd1ByZXZpZXcgPyAoXG4gICAgICAgICAgICAgIDxTQ0FTTVByZXZpZXc+XG4gICAgICAgICAgICAgICAge2NvbnRlbnQudHJpbSgpID8gKFxuICAgICAgICAgICAgICAgICAgPE1haWFTdHJlYW1kb3duIHZhcmlhbnQ9XCJwcmV2aWV3XCI+e2NvbnRlbnR9PC9NYWlhU3RyZWFtZG93bj5cbiAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgPFNDQVNNUHJldmlld0VtcHR5Pnt0KCdteVNraWxscy5wcmV2aWV3RW1wdHknKX08L1NDQVNNUHJldmlld0VtcHR5PlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvU0NBU01QcmV2aWV3PlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPFNDQVNNVGV4dGFyZWFcbiAgICAgICAgICAgICAgICBpZD1cInNraWxsLWNvbnRlbnQtaW5wdXRcIlxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXt0KCdteVNraWxscy5jb250ZW50UGxhY2Vob2xkZXInKX1cbiAgICAgICAgICAgICAgICB2YWx1ZT17Y29udGVudH1cbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNTdWJtaXR0aW5nfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtldmVudCA9PiBoYW5kbGVDaGFuZ2VGaWVsZCgnY29udGVudCcsIGV2ZW50LnRhcmdldC52YWx1ZSl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAgPFNDQVNNQnl0ZUNvdW50ZXIgJG92ZXJMaW1pdD17aXNPdmVyTGltaXR9IGFyaWEtbGl2ZT1cInBvbGl0ZVwiPlxuICAgICAgICAgICAgICB7dCgnbXlTa2lsbHMuYnl0ZXNDb3VudGVyJywge1xuICAgICAgICAgICAgICAgIHVzZWQ6IGdldFVuaXRGaWxlU2l6ZShjb250ZW50Qnl0ZXMpLFxuICAgICAgICAgICAgICAgIG1heDogZ2V0VW5pdEZpbGVTaXplKFNLSUxMX0NPTlRFTlRfTUFYX0JZVEVTKSxcbiAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICA8L1NDQVNNQnl0ZUNvdW50ZXI+XG4gICAgICAgICAgPC9TQ0FTTUZpZWxkPlxuICAgICAgICA8L1NDQVNNQ29udGVudD5cblxuICAgICAgICA8U0NBU01Gb290ZXI+XG4gICAgICAgICAge3ZhbHVlcy5pc0VkaXRpbmcgJiYgY2FuRGVsZXRlID8gKFxuICAgICAgICAgICAgPFNDQVNNRGVsZXRlU2xvdD5cbiAgICAgICAgICAgICAgPFNDQVNNQ2FuY2VsQnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXsoKSA9PiBzZXRTaG93RGVsZXRlKHRydWUpfSBkaXNhYmxlZD17aXNTdWJtaXR0aW5nfT5cbiAgICAgICAgICAgICAgICB7dCgnbXlTa2lsbHMuZGVsZXRlJyl9XG4gICAgICAgICAgICAgIDwvU0NBU01DYW5jZWxCdXR0b24+XG4gICAgICAgICAgICA8L1NDQVNNRGVsZXRlU2xvdD5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8U0NBU01DYW5jZWxCdXR0b24gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e2hhbmRsZUNsb3NlfSBkaXNhYmxlZD17aXNTdWJtaXR0aW5nfT5cbiAgICAgICAgICAgIHt0KCdteVNraWxscy5jYW5jZWwnKX1cbiAgICAgICAgICA8L1NDQVNNQ2FuY2VsQnV0dG9uPlxuICAgICAgICAgIDxTQ0FTTVNhdmVCdXR0b24gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e2hhbmRsZVNhdmV9IGRpc2FibGVkPXshaXNWYWxpZCB8fCBpc1N1Ym1pdHRpbmcgfHwgIWhhc0NoYW5nZXN9PlxuICAgICAgICAgICAge2lzU3VibWl0dGluZyA/IDxMb2FkZXIgc2l6ZT1cInNtYWxsXCIgLz4gOiB0KCdteVNraWxscy5zYXZlJyl9XG4gICAgICAgICAgPC9TQ0FTTVNhdmVCdXR0b24+XG4gICAgICAgIDwvU0NBU01Gb290ZXI+XG4gICAgICA8L1NDQVNNV3JhcHBlcj5cblxuICAgICAge3Nob3dEZWxldGUgJiYgc2tpbGxJZCA/IChcbiAgICAgICAgPERlbGV0ZVF1ZXN0aW9uTW9kYWxcbiAgICAgICAgICBvbkNsb3NlPXsoKSA9PiBzZXRTaG93RGVsZXRlKGZhbHNlKX1cbiAgICAgICAgICBoYW5kbGVycz17e1xuICAgICAgICAgICAgaGFuZGxlQ29uZmlybUFjdGlvbjogaGFuZGxlQ29uZmlybURlbGV0ZSxcbiAgICAgICAgICB9fVxuICAgICAgICAgIGNoYXQ9e3sgdGl0bGU6IG5hbWUsIGlkOiBza2lsbElkIH19XG4gICAgICAgICAgYWN0aW9uPVwic2tpbGxcIlxuICAgICAgICAvPlxuICAgICAgKSA6IG51bGx9XG4gICAgPC9CYWNrZHJvcD4sXG4gICAgY29udGFpbmVyXG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQSxTQUFrQ0EsV0FBVyxFQUFFQyxTQUFTLEVBQUVDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxRQUFRLFFBQVEsT0FBTztBQUNsRyxTQUFTQyxZQUFZLFFBQVEsV0FBVztBQUN4QyxTQUFTQyxLQUFLLFFBQVEsd0NBQXdDO0FBQzlELFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBQzlDLFNBQVNDLGNBQWMsUUFBUSw0QkFBNEI7QUFDM0QsU0FBU0MsUUFBUSxRQUFRLHNCQUFzQjtBQUMvQyxTQUFTQyxNQUFNLFFBQVEsb0JBQW9CO0FBQzNDLFNBQVNDLFFBQVEsUUFBUSwyQkFBMkI7QUFDcEQsU0FBU0MsT0FBTyxRQUFRLDJCQUEyQjtBQUNuRCxTQUFTQyxrQkFBa0IsUUFBUSxzREFBc0Q7QUFDekYsU0FBU0MsV0FBVyxRQUFRLDJDQUEyQztBQUN2RSxTQUFTQyxXQUFXLFFBQVEsMkNBQTJDO0FBQ3ZFLFNBQVNDLFdBQVcsUUFBUSwyQ0FBMkM7QUFFdkUsU0FBU0MsZUFBZSxRQUFRLGdDQUFnQztBQUNoRSxTQUNFQyx5QkFBeUIsRUFDekJDLHVCQUF1QixFQUN2QkMsdUJBQXVCLFFBQ2xCLGlDQUFpQztBQUN4QyxTQUFTQyxtQkFBbUIsUUFBUSw0Q0FBNEM7QUFDaEYsU0FBU0Msa0JBQWtCLFFBQVEsOEJBQThCO0FBQ2pFLFNBQVNDLHlCQUF5QixRQUFRLG9DQUFvQztBQUM5RSxTQUNFQyxnQkFBZ0IsRUFDaEJDLGlCQUFpQixFQUNqQkMsZ0JBQWdCLEVBQ2hCQyxZQUFZLEVBQ1pDLGVBQWUsRUFDZkMsVUFBVSxFQUNWQyxnQkFBZ0IsRUFDaEJDLFdBQVcsRUFDWEMsV0FBVyxFQUNYQyxrQkFBa0IsRUFDbEJDLGdCQUFnQixFQUNoQkMsb0JBQW9CLEVBQ3BCQyxVQUFVLEVBQ1ZDLFVBQVUsRUFDVkMsWUFBWSxFQUNaQyxpQkFBaUIsRUFDakJDLGVBQWUsRUFDZkMsYUFBYSxFQUNiQyxpQkFBaUIsRUFDakJDLGdCQUFnQixFQUNoQkMsaUJBQWlCLEVBQ2pCQyxZQUFZLFFBQ1Asd0JBQXdCO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBLEVBQUFDLElBQUEsSUFBQUMsS0FBQTtBQWlCL0IsSUFBTUMsYUFBK0IsR0FBRztFQUN0Q0MsU0FBUyxFQUFFLEtBQUs7RUFDaEJDLE9BQU8sRUFBRTtJQUFFQyxFQUFFLEVBQUVDLFNBQVM7SUFBRUMsSUFBSSxFQUFFLEVBQUU7SUFBRUMsT0FBTyxFQUFFO0VBQUc7QUFDbEQsQ0FBQztBQUVELE9BQU8sSUFBTUMsYUFBYSxHQUFHLFNBQWhCQSxhQUFhQSxDQUFBQyxJQUFBLEVBQXlFO0VBQUEsSUFBQUMsaUJBQUEsRUFBQUMsZUFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQTtFQUFBLElBQW5FQyxRQUFRLEdBQUFMLElBQUEsQ0FBUkssUUFBUTtJQUFFQyxpQkFBaUIsR0FBQU4sSUFBQSxDQUFqQk0saUJBQWlCO0lBQUVDLFdBQVcsR0FBQVAsSUFBQSxDQUFYTyxXQUFXO0VBQ3RFLElBQUFDLGVBQUEsR0FBYzNELGNBQWMsQ0FBQyxDQUFDSSxRQUFRLENBQUN3RCxNQUFNLENBQUMsQ0FBQztJQUF2Q0MsQ0FBQyxHQUFBRixlQUFBLENBQURFLENBQUM7RUFDVCxJQUFNQyxJQUFJLEdBQUd6RCxPQUFPLENBQUMsQ0FBQztFQUN0QixJQUFBMEQsbUJBQUEsR0FBdUR6RCxrQkFBa0IsQ0FBQyxDQUFDO0lBQW5FMEQscUJBQXFCLEdBQUFELG1CQUFBLENBQXJCQyxxQkFBcUI7SUFBRUMsbUJBQW1CLEdBQUFGLG1CQUFBLENBQW5CRSxtQkFBbUI7RUFDbEQsSUFBQUMsU0FBQSxHQUE0QnJFLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQXNFLFVBQUEsR0FBQUMsY0FBQSxDQUFBRixTQUFBO0lBQXBDRyxNQUFNLEdBQUFGLFVBQUE7SUFBRUcsU0FBUyxHQUFBSCxVQUFBO0VBQ3hCLElBQUFJLFVBQUEsR0FBd0MxRSxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQUEyRSxVQUFBLEdBQUFKLGNBQUEsQ0FBQUcsVUFBQTtJQUFoREUsWUFBWSxHQUFBRCxVQUFBO0lBQUVFLGVBQWUsR0FBQUYsVUFBQTtFQUNwQyxJQUFBRyxVQUFBLEdBQW9DOUUsUUFBUSxDQUFDLEtBQUssQ0FBQztJQUFBK0UsVUFBQSxHQUFBUixjQUFBLENBQUFPLFVBQUE7SUFBNUNFLFVBQVUsR0FBQUQsVUFBQTtJQUFFRSxhQUFhLEdBQUFGLFVBQUE7RUFDaEMsSUFBQUcsVUFBQSxHQUFzQ2xGLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQW1GLFVBQUEsR0FBQVosY0FBQSxDQUFBVyxVQUFBO0lBQTlDRSxXQUFXLEdBQUFELFVBQUE7SUFBRUUsY0FBYyxHQUFBRixVQUFBO0VBQ2xDLElBQUFHLFVBQUEsR0FBMEN0RixRQUFRLENBQUMsS0FBSyxDQUFDO0lBQUF1RixVQUFBLEdBQUFoQixjQUFBLENBQUFlLFVBQUE7SUFBbERFLGFBQWEsR0FBQUQsVUFBQTtJQUFFRSxnQkFBZ0IsR0FBQUYsVUFBQTtFQUN0QyxJQUFBRyxVQUFBLEdBQTRCMUYsUUFBUSxDQUFtQjhDLGFBQWEsQ0FBQztJQUFBNkMsV0FBQSxHQUFBcEIsY0FBQSxDQUFBbUIsVUFBQTtJQUE5REUsTUFBTSxHQUFBRCxXQUFBO0lBQUVFLFNBQVMsR0FBQUYsV0FBQTtFQUN4QixJQUFNRyxZQUFZLEdBQUcvRixNQUFNLENBQW1CLElBQUksQ0FBQztFQUNuRDtFQUNBO0VBQ0EsSUFBTWdHLFVBQVUsR0FBR2hHLE1BQU0sQ0FBb0M7SUFBRW9ELElBQUksRUFBRSxFQUFFO0lBQUVDLE9BQU8sRUFBRTtFQUFHLENBQUMsQ0FBQztFQUV2RixJQUFNNEMsZUFBZSxHQUFHL0IsSUFBSSxhQUFKQSxJQUFJLGdCQUFBVixpQkFBQSxHQUFKVSxJQUFJLENBQUVnQyxXQUFXLGNBQUExQyxpQkFBQSx1QkFBakJBLGlCQUFBLENBQW1CMkMsU0FBUztFQUNwRCxJQUFNQyxTQUFTLEdBQUcsQ0FBQyxFQUFDSCxlQUFlLGFBQWZBLGVBQWUsZUFBZkEsZUFBZSxDQUFFSSxNQUFNO0VBQzNDLElBQU1DLE9BQU8sR0FBRyxDQUFDLEVBQUNMLGVBQWUsYUFBZkEsZUFBZSxlQUFmQSxlQUFlLENBQUVNLElBQUk7RUFDdkMsSUFBTUMsU0FBUyxHQUFHLENBQUMsRUFBQ1AsZUFBZSxhQUFmQSxlQUFlLGVBQWZBLGVBQWUsVUFBUTtFQUUzQyxJQUFNN0MsSUFBSSxHQUFHLEVBQUFLLGVBQUEsR0FBQW9DLE1BQU0sQ0FBQzVDLE9BQU8sY0FBQVEsZUFBQSx1QkFBZEEsZUFBQSxDQUFnQkwsSUFBSSxLQUFJLEVBQUU7RUFDdkMsSUFBTUMsT0FBTyxHQUFHLEVBQUFLLGdCQUFBLEdBQUFtQyxNQUFNLENBQUM1QyxPQUFPLGNBQUFTLGdCQUFBLHVCQUFkQSxnQkFBQSxDQUFnQkwsT0FBTyxLQUFJLEVBQUU7RUFDN0MsSUFBTW9ELE9BQU8sSUFBQTlDLGdCQUFBLEdBQUdrQyxNQUFNLENBQUM1QyxPQUFPLGNBQUFVLGdCQUFBLHVCQUFkQSxnQkFBQSxDQUFnQlQsRUFBRTtFQUNsQyxJQUFNd0QsWUFBWSxHQUFHM0csT0FBTyxDQUFDO0lBQUEsT0FBTWdCLHlCQUF5QixDQUFDc0MsT0FBTyxDQUFDO0VBQUEsR0FBRSxDQUFDQSxPQUFPLENBQUMsQ0FBQztFQUNqRixJQUFNc0QsV0FBVyxHQUFHRCxZQUFZLEdBQUd6Rix1QkFBdUI7RUFDMUQsSUFBTTJGLE9BQU8sR0FBRyxDQUFDLENBQUN4RCxJQUFJLENBQUN5RCxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQ3hELE9BQU8sQ0FBQ3dELElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQ0YsV0FBVztFQUNqRSxJQUFNRyxVQUFVLEdBQUcxRCxJQUFJLENBQUN5RCxJQUFJLENBQUMsQ0FBQyxLQUFLYixVQUFVLENBQUNlLE9BQU8sQ0FBQzNELElBQUksSUFBSUMsT0FBTyxDQUFDd0QsSUFBSSxDQUFDLENBQUMsS0FBS2IsVUFBVSxDQUFDZSxPQUFPLENBQUMxRCxPQUFPO0VBRTNHLElBQU0yRCxXQUFXLEdBQUduSCxXQUFXLENBQUMsWUFBTTtJQUNwQzZFLFNBQVMsQ0FBQyxLQUFLLENBQUM7SUFDaEJRLGFBQWEsQ0FBQyxLQUFLLENBQUM7SUFDcEJJLGNBQWMsQ0FBQyxLQUFLLENBQUM7SUFDckJJLGdCQUFnQixDQUFDLEtBQUssQ0FBQztJQUN2QkksU0FBUyxDQUFDL0MsYUFBYSxDQUFDO0VBQzFCLENBQUMsRUFBRSxFQUFFLENBQUM7RUFFTixJQUFNa0UsbUJBQW1CLEdBQUdwSCxXQUFXLENBQ3JDLFVBQUNxSCxLQUFpQixFQUFLO0lBQ3JCLElBQUlBLEtBQUssQ0FBQ0MsTUFBTSxLQUFLRCxLQUFLLENBQUNFLGFBQWEsRUFBRTtNQUN4Q0osV0FBVyxDQUFDLENBQUM7SUFDZjtFQUNGLENBQUMsRUFDRCxDQUFDQSxXQUFXLENBQ2QsQ0FBQztFQUVELElBQU1LLHFCQUFxQixHQUFHLFNBQXhCQSxxQkFBcUJBLENBQUEsRUFBUztJQUNsQyxJQUFBQyxtQkFBQSxHQUFvQm5HLGtCQUFrQixDQUFDLENBQUM7TUFBaENvRyxPQUFPLEdBQUFELG1CQUFBLENBQVBDLE9BQU87SUFDZixJQUFJLENBQUNBLE9BQU8sRUFBRSxPQUFPLEtBQUs7SUFDMUJsRCxtQkFBbUIsQ0FBQ2pELHlCQUF5QixDQUFDLENBQUMsQ0FBQztJQUNoRCxPQUFPLElBQUk7RUFDYixDQUFDO0VBRUR0QixTQUFTLENBQUMsWUFBTTtJQUNkLElBQU0wSCxvQkFBb0IsR0FBRyxTQUF2QkEsb0JBQW9CQSxDQUFJTixLQUFVLEVBQUs7TUFBQSxJQUFBTyxtQkFBQSxFQUFBQyxvQkFBQSxFQUFBQyxvQkFBQSxFQUFBQyxvQkFBQSxFQUFBQyxvQkFBQSxFQUFBQyxvQkFBQTtNQUMzQyxJQUFBQyxLQUFBLEdBQXdCYixLQUFLLENBQUNjLE1BQU0sSUFBSSxDQUFDLENBQUM7UUFBbENDLFdBQVcsR0FBQUYsS0FBQSxDQUFYRSxXQUFXO01BQ25CLElBQUksQ0FBQ0EsV0FBVyxFQUFFO01BRWxCLElBQUk5RyxrQkFBa0IsQ0FBQyxDQUFDLENBQUNvRyxPQUFPLEVBQUU7UUFDaENsRCxtQkFBbUIsQ0FBQ2pELHlCQUF5QixDQUFDLENBQUMsQ0FBQztRQUNoRDtNQUNGO01BQ0EsSUFBTThHLFlBQVksR0FBRyxDQUFDLEVBQUFULG1CQUFBLEdBQUFRLFdBQVcsQ0FBQ3BDLE1BQU0sY0FBQTRCLG1CQUFBLGdCQUFBQSxtQkFBQSxHQUFsQkEsbUJBQUEsQ0FBb0J4RSxPQUFPLGNBQUF3RSxtQkFBQSx1QkFBM0JBLG1CQUFBLENBQTZCckUsSUFBSSxLQUFJLEVBQUUsRUFBRXlELElBQUksQ0FBQyxDQUFDO01BQ3JFLElBQU1zQixlQUFlLEdBQUcsQ0FBQyxFQUFBVCxvQkFBQSxHQUFBTyxXQUFXLENBQUNwQyxNQUFNLGNBQUE2QixvQkFBQSxnQkFBQUEsb0JBQUEsR0FBbEJBLG9CQUFBLENBQW9CekUsT0FBTyxjQUFBeUUsb0JBQUEsdUJBQTNCQSxvQkFBQSxDQUE2QnJFLE9BQU8sS0FBSSxFQUFFLEVBQUV3RCxJQUFJLENBQUMsQ0FBQztNQUMzRTtNQUNBYixVQUFVLENBQUNlLE9BQU8sR0FBRyxDQUFBWSxvQkFBQSxHQUFBTSxXQUFXLENBQUNwQyxNQUFNLGNBQUE4QixvQkFBQSxlQUFsQkEsb0JBQUEsQ0FBb0IzRSxTQUFTLEdBQzlDO1FBQUVJLElBQUksRUFBRThFLFlBQVk7UUFBRTdFLE9BQU8sRUFBRThFO01BQWdCLENBQUMsR0FDaEQ7UUFBRS9FLElBQUksRUFBRSxFQUFFO1FBQUVDLE9BQU8sRUFBRTtNQUFHLENBQUM7TUFFN0J5QyxTQUFTLENBQUFzQyxhQUFBLENBQUFBLGFBQUEsQ0FBQUEsYUFBQSxLQUNKckYsYUFBYSxHQUNia0YsV0FBVyxDQUFDcEMsTUFBTTtRQUNyQjVDLE9BQU8sRUFBQW1GLGFBQUEsQ0FBQUEsYUFBQSxLQUFPckYsYUFBYSxDQUFDRSxPQUFPLElBQUEyRSxvQkFBQSxHQUFLSyxXQUFXLENBQUNwQyxNQUFNLGNBQUErQixvQkFBQSx1QkFBbEJBLG9CQUFBLENBQW9CM0UsT0FBTztNQUFFLEVBQ3RFLENBQUM7TUFDRjtNQUNBLElBQU1vRixVQUFVLEdBQUcsQ0FBQyxHQUFBUixvQkFBQSxHQUFDSSxXQUFXLENBQUNwQyxNQUFNLGNBQUFnQyxvQkFBQSxnQkFBQUEsb0JBQUEsR0FBbEJBLG9CQUFBLENBQW9CNUUsT0FBTyxjQUFBNEUsb0JBQUEsZ0JBQUFBLG9CQUFBLEdBQTNCQSxvQkFBQSxDQUE2QnhFLE9BQU8sY0FBQXdFLG9CQUFBLGVBQXBDQSxvQkFBQSxDQUFzQ2hCLElBQUksQ0FBQyxDQUFDO01BQ2pFdkIsY0FBYyxDQUFDK0MsVUFBVSxDQUFDO01BQzFCO01BQ0EzQyxnQkFBZ0IsQ0FBQyxFQUFBb0Msb0JBQUEsR0FBQUcsV0FBVyxDQUFDcEMsTUFBTSxjQUFBaUMsb0JBQUEsdUJBQWxCQSxvQkFBQSxDQUFvQlEsTUFBTSxNQUFLLFFBQVEsQ0FBQztNQUN6RDVELFNBQVMsQ0FBQyxDQUFDLENBQUN1RCxXQUFXLENBQUN4RCxNQUFNLENBQUM7SUFDakMsQ0FBQztJQUVEOEQsUUFBUSxDQUFDQyxnQkFBZ0IsQ0FBQyw0QkFBNEIsRUFBRWhCLG9CQUFvQixDQUFDO0lBQzdFLE9BQU8sWUFBTTtNQUNYZSxRQUFRLENBQUNFLG1CQUFtQixDQUFDLDRCQUE0QixFQUFFakIsb0JBQW9CLENBQUM7SUFDbEYsQ0FBQztFQUNILENBQUMsRUFBRSxFQUFFLENBQUM7O0VBRU47RUFDQTFILFNBQVMsQ0FBQyxZQUFNO0lBQ2QsSUFBSTJFLE1BQU0sSUFBSWdCLGFBQWEsRUFBRTtNQUFBLElBQUFpRCxxQkFBQTtNQUMzQmhELGdCQUFnQixDQUFDLEtBQUssQ0FBQztNQUN2QixDQUFBZ0QscUJBQUEsR0FBQTNDLFlBQVksQ0FBQ2dCLE9BQU8sY0FBQTJCLHFCQUFBLGVBQXBCQSxxQkFBQSxDQUFzQkMsS0FBSyxDQUFDLENBQUM7SUFDL0I7RUFDRixDQUFDLEVBQUUsQ0FBQ2xFLE1BQU0sRUFBRWdCLGFBQWEsQ0FBQyxDQUFDO0VBRTNCLElBQU1tRCxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQWlCQSxDQUFJQyxLQUF5QixFQUFFQyxLQUFhLEVBQUs7SUFDdEUsSUFBSUQsS0FBSyxLQUFLLFNBQVMsSUFBSTdILHVCQUF1QixDQUFDOEgsS0FBSyxDQUFDLEVBQUU7TUFDekQsSUFBSUEsS0FBSyxDQUFDQyxNQUFNLEdBQUcxRixPQUFPLENBQUMwRixNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBQ3JDMUUsbUJBQW1CLENBQUNKLENBQUMsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO01BQ3JEO01BQ0E7SUFDRjtJQUNBNkIsU0FBUyxDQUFDLFVBQUFrRCxJQUFJO01BQUEsT0FBQVosYUFBQSxDQUFBQSxhQUFBLEtBQ1RZLElBQUk7UUFDUC9GLE9BQU8sRUFBQW1GLGFBQUEsQ0FBQUEsYUFBQSxLQUFPWSxJQUFJLENBQUMvRixPQUFPLE9BQUFnRyxlQUFBLEtBQUdKLEtBQUssRUFBR0MsS0FBSztNQUFFO0lBQUEsQ0FDNUMsQ0FBQztFQUNMLENBQUM7RUFFRCxJQUFNSSxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQWlCQSxDQUFBLEVBQVM7SUFBQSxJQUFBQyxzQkFBQTtJQUM5QixDQUFBQSxzQkFBQSxHQUFBcEQsWUFBWSxDQUFDZ0IsT0FBTyxjQUFBb0Msc0JBQUEsZUFBcEJBLHNCQUFBLENBQXNCUixLQUFLLENBQUMsQ0FBQztFQUMvQixDQUFDO0VBRUQsSUFBTVMsZ0JBQWdCO0lBQUEsSUFBQUMsS0FBQSxHQUFBQyxpQkFBQSxjQUFBQyxtQkFBQSxDQUFBQyxJQUFBLENBQUcsU0FBQUMsUUFBT3ZDLEtBQW9DO01BQUEsSUFBQXdDLG1CQUFBO01BQUEsSUFBQUMsSUFBQSxFQUFBQyxVQUFBLEVBQUFDLElBQUEsRUFBQUMsUUFBQSxFQUFBQyxFQUFBO01BQUEsT0FBQVIsbUJBQUEsQ0FBQVMsSUFBQSxXQUFBQyxRQUFBO1FBQUEsa0JBQUFBLFFBQUEsQ0FBQWpCLElBQUEsR0FBQWlCLFFBQUEsQ0FBQUMsSUFBQTtVQUFBO1lBQzVEUCxJQUFJLElBQUFELG1CQUFBLEdBQUd4QyxLQUFLLENBQUNDLE1BQU0sQ0FBQ2dELEtBQUssY0FBQVQsbUJBQUEsdUJBQWxCQSxtQkFBQSxDQUFxQixDQUFDLENBQUMsRUFDcEM7WUFDQSxJQUFJM0QsWUFBWSxDQUFDZ0IsT0FBTyxFQUFFO2NBQ3hCaEIsWUFBWSxDQUFDZ0IsT0FBTyxDQUFDK0IsS0FBSyxHQUFHLEVBQUU7WUFDakM7WUFBQyxJQUNJYSxJQUFJO2NBQUFNLFFBQUEsQ0FBQUMsSUFBQTtjQUFBO1lBQUE7WUFBQSxPQUFBRCxRQUFBLENBQUFHLE1BQUE7VUFBQTtZQUVIUixVQUFVLEdBQUcsbUJBQW1CLENBQUNTLElBQUksQ0FBQ1YsSUFBSSxDQUFDdkcsSUFBSSxDQUFDO1lBQUEsSUFDakR3RyxVQUFVO2NBQUFLLFFBQUEsQ0FBQUMsSUFBQTtjQUFBO1lBQUE7WUFDYjdGLG1CQUFtQixDQUFDSixDQUFDLENBQUMsc0JBQXNCLENBQUMsQ0FBQztZQUFBLE9BQUFnRyxRQUFBLENBQUFHLE1BQUE7VUFBQTtZQUFBLE1BSTVDVCxJQUFJLENBQUNXLElBQUksR0FBR3JKLHVCQUF1QjtjQUFBZ0osUUFBQSxDQUFBQyxJQUFBO2NBQUE7WUFBQTtZQUNyQzdGLG1CQUFtQixDQUFDSixDQUFDLENBQUMsMEJBQTBCLENBQUMsQ0FBQztZQUFBLE9BQUFnRyxRQUFBLENBQUFHLE1BQUE7VUFBQTtZQUFBSCxRQUFBLENBQUFqQixJQUFBO1lBQUFpQixRQUFBLENBQUFDLElBQUE7WUFBQSxPQUsvQlAsSUFBSSxDQUFDRSxJQUFJLENBQUMsQ0FBQztVQUFBO1lBQXhCQSxJQUFJLEdBQUFJLFFBQUEsQ0FBQU0sSUFBQTtZQUFBLEtBQ052Six1QkFBdUIsQ0FBQzZJLElBQUksQ0FBQztjQUFBSSxRQUFBLENBQUFDLElBQUE7Y0FBQTtZQUFBO1lBQy9CN0YsbUJBQW1CLENBQUNKLENBQUMsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1lBQUEsT0FBQWdHLFFBQUEsQ0FBQUcsTUFBQTtVQUFBO1lBRzlDTixRQUFRLEdBQUdILElBQUksQ0FBQ3ZHLElBQUksQ0FBQ29ILE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLENBQUM7WUFDM0QxRSxTQUFTLENBQUMsVUFBQWtELElBQUk7Y0FBQSxJQUFBeUIsYUFBQTtjQUFBLE9BQUFyQyxhQUFBLENBQUFBLGFBQUEsS0FDVFksSUFBSTtnQkFDUC9GLE9BQU8sRUFBQW1GLGFBQUEsQ0FBQUEsYUFBQSxLQUNGWSxJQUFJLENBQUMvRixPQUFPO2tCQUNmSSxPQUFPLEVBQUV3RyxJQUFJO2tCQUNiO2tCQUNBekcsSUFBSSxFQUFFLENBQUFxSCxhQUFBLEdBQUF6QixJQUFJLENBQUMvRixPQUFPLGNBQUF3SCxhQUFBLGdCQUFBQSxhQUFBLEdBQVpBLGFBQUEsQ0FBY3JILElBQUksY0FBQXFILGFBQUEsZUFBbEJBLGFBQUEsQ0FBb0I1RCxJQUFJLENBQUMsQ0FBQyxHQUFHbUMsSUFBSSxDQUFDL0YsT0FBTyxDQUFDRyxJQUFJLEdBQUcwRztnQkFBUTtjQUNoRTtZQUFBLENBQ0QsQ0FBQztZQUNIO1lBQ0F4RSxjQUFjLENBQUMsSUFBSSxDQUFDO1lBQUEyRSxRQUFBLENBQUFDLElBQUE7WUFBQTtVQUFBO1lBQUFELFFBQUEsQ0FBQWpCLElBQUE7WUFBQWUsRUFBQSxHQUFBRSxRQUFBO1lBRXBCNUYsbUJBQW1CLENBQUNKLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1VBQUE7VUFBQTtZQUFBLE9BQUFnRyxRQUFBLENBQUFTLElBQUE7UUFBQTtNQUFBLEdBQUFqQixPQUFBO0lBQUEsQ0FFakQ7SUFBQSxnQkF4Q0tMLGdCQUFnQkEsQ0FBQXVCLEVBQUE7TUFBQSxPQUFBdEIsS0FBQSxDQUFBdUIsS0FBQSxPQUFBQyxTQUFBO0lBQUE7RUFBQSxHQXdDckI7RUFFRCxJQUFNQyxVQUFVO0lBQUEsSUFBQUMsS0FBQSxHQUFBekIsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMsSUFBQSxDQUFHLFNBQUF3QixTQUFBO01BQUEsSUFBQUMsT0FBQSxFQUFBQyxPQUFBLEVBQUFDLEdBQUE7TUFBQSxPQUFBNUIsbUJBQUEsQ0FBQVMsSUFBQSxXQUFBb0IsU0FBQTtRQUFBLGtCQUFBQSxTQUFBLENBQUFwQyxJQUFBLEdBQUFvQyxTQUFBLENBQUFsQixJQUFBO1VBQUE7WUFBQSxNQUNiLENBQUN0RCxPQUFPLElBQUkvQixZQUFZO2NBQUF1RyxTQUFBLENBQUFsQixJQUFBO2NBQUE7WUFBQTtZQUFBLE9BQUFrQixTQUFBLENBQUFoQixNQUFBO1VBQUE7WUFBQSxLQUN4Qi9DLHFCQUFxQixDQUFDLENBQUM7Y0FBQStELFNBQUEsQ0FBQWxCLElBQUE7Y0FBQTtZQUFBO1lBQUEsT0FBQWtCLFNBQUEsQ0FBQWhCLE1BQUE7VUFBQTtZQUMzQnRGLGVBQWUsQ0FBQyxJQUFJLENBQUM7WUFBQXNHLFNBQUEsQ0FBQXBDLElBQUE7WUFBQSxNQUVmbkQsTUFBTSxDQUFDN0MsU0FBUyxJQUFJeUQsT0FBTztjQUFBMkUsU0FBQSxDQUFBbEIsSUFBQTtjQUFBO1lBQUE7WUFBQWtCLFNBQUEsQ0FBQWxCLElBQUE7WUFBQSxPQUNQdEosV0FBVyxDQUFDNkYsT0FBTyxFQUFFO2NBQUVyRCxJQUFJLEVBQUVBLElBQUksQ0FBQ3lELElBQUksQ0FBQyxDQUFDO2NBQUV4RCxPQUFPLEVBQUVBLE9BQU8sQ0FBQ3dELElBQUksQ0FBQztZQUFFLENBQUMsQ0FBQztVQUFBO1lBQXBGb0UsT0FBTyxHQUFBRyxTQUFBLENBQUFiLElBQUE7WUFDYjFHLGlCQUFpQixhQUFqQkEsaUJBQWlCLGVBQWpCQSxpQkFBaUIsQ0FBR29ILE9BQU8sQ0FBQztZQUM1QjdHLHFCQUFxQixDQUFDSCxDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQztZQUFBbUgsU0FBQSxDQUFBbEIsSUFBQTtZQUFBO1VBQUE7WUFBQWtCLFNBQUEsQ0FBQWxCLElBQUE7WUFBQSxPQUU1QnZKLFdBQVcsQ0FBQztjQUFFeUMsSUFBSSxFQUFFQSxJQUFJLENBQUN5RCxJQUFJLENBQUMsQ0FBQztjQUFFeEQsT0FBTyxFQUFFQSxPQUFPLENBQUN3RCxJQUFJLENBQUM7WUFBRSxDQUFDLENBQUM7VUFBQTtZQUEzRXFFLE9BQU8sR0FBQUUsU0FBQSxDQUFBYixJQUFBO1lBQ2IzRyxRQUFRLGFBQVJBLFFBQVEsZUFBUkEsUUFBUSxDQUFHc0gsT0FBTyxDQUFDO1lBQ25COUcscUJBQXFCLENBQUNILENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1VBQUE7WUFFcEQrQyxXQUFXLENBQUMsQ0FBQztZQUFBb0UsU0FBQSxDQUFBbEIsSUFBQTtZQUFBO1VBQUE7WUFBQWtCLFNBQUEsQ0FBQXBDLElBQUE7WUFBQW1DLEdBQUEsR0FBQUMsU0FBQTtZQUViL0csbUJBQW1CLENBQUN3QixNQUFNLENBQUM3QyxTQUFTLEdBQUdpQixDQUFDLENBQUMsc0JBQXNCLENBQUMsR0FBR0EsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLENBQUM7VUFBQTtZQUFBbUgsU0FBQSxDQUFBcEMsSUFBQTtZQUU3RmxFLGVBQWUsQ0FBQyxLQUFLLENBQUM7WUFBQSxPQUFBc0csU0FBQSxDQUFBQyxNQUFBO1VBQUE7VUFBQTtZQUFBLE9BQUFELFNBQUEsQ0FBQVYsSUFBQTtRQUFBO01BQUEsR0FBQU0sUUFBQTtJQUFBLENBRXpCO0lBQUEsZ0JBcEJLRixVQUFVQSxDQUFBO01BQUEsT0FBQUMsS0FBQSxDQUFBSCxLQUFBLE9BQUFDLFNBQUE7SUFBQTtFQUFBLEdBb0JmO0VBRUQsSUFBTVMsbUJBQW1CO0lBQUEsSUFBQUMsS0FBQSxHQUFBakMsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMsSUFBQSxDQUFHLFNBQUFnQyxTQUFBO01BQUEsSUFBQUMsR0FBQTtNQUFBLE9BQUFsQyxtQkFBQSxDQUFBUyxJQUFBLFdBQUEwQixTQUFBO1FBQUEsa0JBQUFBLFNBQUEsQ0FBQTFDLElBQUEsR0FBQTBDLFNBQUEsQ0FBQXhCLElBQUE7VUFBQTtZQUFBLElBQ3JCekQsT0FBTztjQUFBaUYsU0FBQSxDQUFBeEIsSUFBQTtjQUFBO1lBQUE7WUFBQSxPQUFBd0IsU0FBQSxDQUFBdEIsTUFBQTtVQUFBO1lBQUFzQixTQUFBLENBQUExQyxJQUFBO1lBQUEwQyxTQUFBLENBQUF4QixJQUFBO1lBQUEsT0FFSnJKLFdBQVcsQ0FBQzRGLE9BQU8sQ0FBQztVQUFBO1lBQzFCM0MsV0FBVyxhQUFYQSxXQUFXLGVBQVhBLFdBQVcsQ0FBRzJDLE9BQU8sQ0FBQztZQUN0QnJDLHFCQUFxQixDQUFDSCxDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQztZQUNsRCtDLFdBQVcsQ0FBQyxDQUFDO1lBQUEwRSxTQUFBLENBQUF4QixJQUFBO1lBQUE7VUFBQTtZQUFBd0IsU0FBQSxDQUFBMUMsSUFBQTtZQUFBeUMsR0FBQSxHQUFBQyxTQUFBO1lBRWJySCxtQkFBbUIsQ0FBQ0osQ0FBQyxDQUFDLHNCQUFzQixDQUFDLENBQUM7VUFBQTtVQUFBO1lBQUEsT0FBQXlILFNBQUEsQ0FBQWhCLElBQUE7UUFBQTtNQUFBLEdBQUFjLFFBQUE7SUFBQSxDQUVqRDtJQUFBLGdCQVZLRixtQkFBbUJBLENBQUE7TUFBQSxPQUFBQyxLQUFBLENBQUFYLEtBQUEsT0FBQUMsU0FBQTtJQUFBO0VBQUEsR0FVeEI7RUFFRCxJQUFJLENBQUNwRyxNQUFNLEVBQUUsT0FBTyxJQUFJO0VBQ3hCLElBQUksQ0FBQzJCLFNBQVMsSUFBSSxDQUFDRSxPQUFPLElBQUksQ0FBQ0UsU0FBUyxFQUFFLE9BQU8sSUFBSTtFQUVyRCxJQUFNbUYsU0FBUyxHQUFHcEQsUUFBUSxDQUFDcUQsY0FBYyxDQUFDLG9CQUFvQixDQUFDO0VBQy9ELElBQUksQ0FBQ0QsU0FBUyxFQUFFLE9BQU8sSUFBSTtFQUUzQixvQkFBT3pMLFlBQVksY0FDakI0QyxLQUFBLENBQUN4QyxRQUFRO0lBQUN1TCxNQUFNLEVBQUUsSUFBSztJQUFDQyxPQUFPLEVBQUU3RSxtQkFBb0I7SUFBQThFLFFBQUEsZ0JBQ25EakosS0FBQSxDQUFDSixZQUFZO01BQUNvSixPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBRTVFLEtBQUs7UUFBQSxPQUFJQSxLQUFLLENBQUM4RSxlQUFlLENBQUMsQ0FBQztNQUFBLENBQUM7TUFBQUQsUUFBQSxnQkFDdERqSixLQUFBLENBQUNqQixXQUFXO1FBQUFrSyxRQUFBLGdCQUNWbkosSUFBQSxDQUFDYixnQkFBZ0I7VUFBQWdLLFFBQUEsRUFBRWxHLE1BQU0sQ0FBQzdDLFNBQVMsR0FBR2lCLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHQSxDQUFDLENBQUMsc0JBQXNCO1FBQUMsQ0FBbUIsQ0FBQyxlQUM3R3JCLElBQUEsQ0FBQ3JCLGdCQUFnQjtVQUFDMEssSUFBSSxFQUFDLFFBQVE7VUFBQ0gsT0FBTyxFQUFFOUUsV0FBWTtVQUFDLGNBQVkvQyxDQUFDLENBQUMsZ0JBQWdCLENBQUU7VUFBQThILFFBQUEsZUFDcEZuSixJQUFBLENBQUN6QyxLQUFLO1lBQUMrTCxLQUFLLEVBQUMsU0FBUztZQUFDQyxLQUFLLEVBQUUsRUFBRztZQUFDQyxNQUFNLEVBQUU7VUFBRyxDQUFFO1FBQUMsQ0FDaEMsQ0FBQztNQUFBLENBQ1IsQ0FBQyxlQUVkdEosS0FBQSxDQUFDdEIsWUFBWTtRQUFBdUssUUFBQSxnQkFDWGpKLEtBQUEsQ0FBQ3BCLFVBQVU7VUFBQXFLLFFBQUEsZ0JBQ1RuSixJQUFBLENBQUNWLFVBQVU7WUFBQ21LLE9BQU8sRUFBQyxrQkFBa0I7WUFBQU4sUUFBQSxFQUFFOUgsQ0FBQyxDQUFDLG9CQUFvQjtVQUFDLENBQWEsQ0FBQyxlQUM3RXJCLElBQUEsQ0FBQ1gsVUFBVTtZQUNUaUIsRUFBRSxFQUFDLGtCQUFrQjtZQUNyQitJLElBQUksRUFBQyxNQUFNO1lBQ1hLLFNBQVMsRUFBRSxHQUFJO1lBQ2ZDLFdBQVcsRUFBRXRJLENBQUMsQ0FBQywwQkFBMEIsQ0FBRTtZQUMzQzZFLEtBQUssRUFBRTFGLElBQUs7WUFDWm9KLFFBQVEsRUFBRTNILFlBQWE7WUFDdkI0SCxRQUFRLEVBQUUsU0FBVkEsUUFBUUEsQ0FBRXZGLEtBQUs7Y0FBQSxPQUFJMEIsaUJBQWlCLENBQUMsTUFBTSxFQUFFMUIsS0FBSyxDQUFDQyxNQUFNLENBQUMyQixLQUFLLENBQUM7WUFBQTtVQUFDLENBQ2xFLENBQUM7UUFBQSxDQUNRLENBQUMsZUFFYmhHLEtBQUEsQ0FBQ3BCLFVBQVU7VUFBQXFLLFFBQUEsZ0JBQ1RqSixLQUFBLENBQUNuQixnQkFBZ0I7WUFBQW9LLFFBQUEsZ0JBQ2ZuSixJQUFBLENBQUNWLFVBQVU7Y0FBQ21LLE9BQU8sRUFBQyxxQkFBcUI7Y0FBQU4sUUFBQSxFQUFFOUgsQ0FBQyxDQUFDLHVCQUF1QjtZQUFDLENBQWEsQ0FBQyxlQUNuRm5CLEtBQUEsQ0FBQ2hCLGtCQUFrQjtjQUFBaUssUUFBQSxnQkFDakJuSixJQUFBLENBQUNILGlCQUFpQjtnQkFBQ3dKLElBQUksRUFBQyxRQUFRO2dCQUFDSCxPQUFPLEVBQUU1QyxpQkFBa0I7Z0JBQUNzRCxRQUFRLEVBQUUzSCxZQUFhO2dCQUFBa0gsUUFBQSxFQUNqRjlILENBQUMsQ0FBQyxtQkFBbUI7Y0FBQyxDQUNOLENBQUMsZUFDcEJyQixJQUFBLENBQUNaLG9CQUFvQjtnQkFDbkIwSyxHQUFHLEVBQUUzRyxZQUFhO2dCQUNsQmtHLElBQUksRUFBQyxNQUFNO2dCQUNYVSxNQUFNLEVBQUMsNkJBQTZCO2dCQUNwQ0YsUUFBUSxFQUFFckQ7Y0FBaUIsQ0FDNUIsQ0FBQyxlQUNGdEcsS0FBQSxDQUFDTixnQkFBZ0I7Z0JBQUF1SixRQUFBLGdCQUNmbkosSUFBQSxDQUFDTCxpQkFBaUI7a0JBQUMwSixJQUFJLEVBQUMsUUFBUTtrQkFBQ1csT0FBTyxFQUFFLENBQUN2SCxXQUFZO2tCQUFDeUcsT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUE7b0JBQUEsT0FBUXhHLGNBQWMsQ0FBQyxLQUFLLENBQUM7a0JBQUEsQ0FBQztrQkFBQXlHLFFBQUEsRUFDMUY5SCxDQUFDLENBQUMsZUFBZTtnQkFBQyxDQUNGLENBQUMsZUFDcEJyQixJQUFBLENBQUNMLGlCQUFpQjtrQkFBQzBKLElBQUksRUFBQyxRQUFRO2tCQUFDVyxPQUFPLEVBQUV2SCxXQUFZO2tCQUFDeUcsT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUE7b0JBQUEsT0FBUXhHLGNBQWMsQ0FBQyxJQUFJLENBQUM7a0JBQUEsQ0FBQztrQkFBQXlHLFFBQUEsRUFDeEY5SCxDQUFDLENBQUMsa0JBQWtCO2dCQUFDLENBQ0wsQ0FBQztjQUFBLENBQ0osQ0FBQztZQUFBLENBQ0QsQ0FBQztVQUFBLENBQ0wsQ0FBQyxFQUNsQm9CLFdBQVcsZ0JBQ1Z6QyxJQUFBLENBQUNULFlBQVk7WUFBQTRKLFFBQUEsRUFDVjFJLE9BQU8sQ0FBQ3dELElBQUksQ0FBQyxDQUFDLGdCQUNiakUsSUFBQSxDQUFDdkMsY0FBYztjQUFDd00sT0FBTyxFQUFDLFNBQVM7Y0FBQWQsUUFBQSxFQUFFMUk7WUFBTyxDQUFpQixDQUFDLGdCQUU1RFQsSUFBQSxDQUFDUixpQkFBaUI7Y0FBQTJKLFFBQUEsRUFBRTlILENBQUMsQ0FBQyx1QkFBdUI7WUFBQyxDQUFvQjtVQUNuRSxDQUNXLENBQUMsZ0JBRWZyQixJQUFBLENBQUNOLGFBQWE7WUFDWlksRUFBRSxFQUFDLHFCQUFxQjtZQUN4QnFKLFdBQVcsRUFBRXRJLENBQUMsQ0FBQyw2QkFBNkIsQ0FBRTtZQUM5QzZFLEtBQUssRUFBRXpGLE9BQVE7WUFDZm1KLFFBQVEsRUFBRTNILFlBQWE7WUFDdkI0SCxRQUFRLEVBQUUsU0FBVkEsUUFBUUEsQ0FBRXZGLEtBQUs7Y0FBQSxPQUFJMEIsaUJBQWlCLENBQUMsU0FBUyxFQUFFMUIsS0FBSyxDQUFDQyxNQUFNLENBQUMyQixLQUFLLENBQUM7WUFBQTtVQUFDLENBQ3JFLENBQ0YsZUFDRGxHLElBQUEsQ0FBQ3ZCLGdCQUFnQjtZQUFDeUwsVUFBVSxFQUFFbkcsV0FBWTtZQUFDLGFBQVUsUUFBUTtZQUFBb0YsUUFBQSxFQUMxRDlILENBQUMsQ0FBQyx1QkFBdUIsRUFBRTtjQUMxQjhJLElBQUksRUFBRWpNLGVBQWUsQ0FBQzRGLFlBQVksQ0FBQztjQUNuQ3NHLEdBQUcsRUFBRWxNLGVBQWUsQ0FBQ0csdUJBQXVCO1lBQzlDLENBQUM7VUFBQyxDQUNjLENBQUM7UUFBQSxDQUNULENBQUM7TUFBQSxDQUNELENBQUMsZUFFZjZCLEtBQUEsQ0FBQ2xCLFdBQVc7UUFBQW1LLFFBQUEsR0FDVGxHLE1BQU0sQ0FBQzdDLFNBQVMsSUFBSXdELFNBQVMsZ0JBQzVCNUQsSUFBQSxDQUFDbkIsZUFBZTtVQUFBc0ssUUFBQSxlQUNkbkosSUFBQSxDQUFDdEIsaUJBQWlCO1lBQUMySyxJQUFJLEVBQUMsUUFBUTtZQUFDSCxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQTtjQUFBLE9BQVE1RyxhQUFhLENBQUMsSUFBSSxDQUFDO1lBQUEsQ0FBQztZQUFDc0gsUUFBUSxFQUFFM0gsWUFBYTtZQUFBa0gsUUFBQSxFQUN6RjlILENBQUMsQ0FBQyxpQkFBaUI7VUFBQyxDQUNKO1FBQUMsQ0FDTCxDQUFDLEdBQ2hCLElBQUksZUFDUnJCLElBQUEsQ0FBQ3RCLGlCQUFpQjtVQUFDMkssSUFBSSxFQUFDLFFBQVE7VUFBQ0gsT0FBTyxFQUFFOUUsV0FBWTtVQUFDd0YsUUFBUSxFQUFFM0gsWUFBYTtVQUFBa0gsUUFBQSxFQUMzRTlILENBQUMsQ0FBQyxpQkFBaUI7UUFBQyxDQUNKLENBQUMsZUFDcEJyQixJQUFBLENBQUNQLGVBQWU7VUFBQzRKLElBQUksRUFBQyxRQUFRO1VBQUNILE9BQU8sRUFBRWhCLFVBQVc7VUFBQzBCLFFBQVEsRUFBRSxDQUFDNUYsT0FBTyxJQUFJL0IsWUFBWSxJQUFJLENBQUNpQyxVQUFXO1VBQUFpRixRQUFBLEVBQ25HbEgsWUFBWSxnQkFBR2pDLElBQUEsQ0FBQ3JDLE1BQU07WUFBQytKLElBQUksRUFBQztVQUFPLENBQUUsQ0FBQyxHQUFHckcsQ0FBQyxDQUFDLGVBQWU7UUFBQyxDQUM3QyxDQUFDO01BQUEsQ0FDUCxDQUFDO0lBQUEsQ0FDRixDQUFDLEVBRWRnQixVQUFVLElBQUl3QixPQUFPLGdCQUNwQjdELElBQUEsQ0FBQzFCLG1CQUFtQjtNQUNsQitMLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBO1FBQUEsT0FBUS9ILGFBQWEsQ0FBQyxLQUFLLENBQUM7TUFBQSxDQUFDO01BQ3BDZ0ksUUFBUSxFQUFFO1FBQ1JDLG1CQUFtQixFQUFFN0I7TUFDdkIsQ0FBRTtNQUNGOEIsSUFBSSxFQUFFO1FBQUVDLEtBQUssRUFBRWpLLElBQUk7UUFBRUYsRUFBRSxFQUFFdUQ7TUFBUSxDQUFFO01BQ25DNkcsTUFBTSxFQUFDO0lBQU8sQ0FDZixDQUFDLEdBQ0EsSUFBSTtFQUFBLENBQ0EsQ0FBQyxFQUNYM0IsU0FDRixDQUFDO0FBQ0gsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==