kwikid-forms 0.0.8 → 0.1.0

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.
@@ -168,6 +168,8 @@ export const convertValueFromKwikUIFormatToBasicFormat = (field, value) => {
168
168
  case EFieldType.DATE:
169
169
  convertedValue = convertTuiDayFormatToDateString(value);
170
170
  break;
171
+ case EFieldType.RADIO:
172
+ convertedValue = value.label;
171
173
  default:
172
174
  break;
173
175
  }
@@ -179,8 +181,12 @@ export const convertValueFromBasicFormatToKwikUIFormat = (field, value) => {
179
181
  if (isNotEmpty(value)) {
180
182
  switch (field.type) {
181
183
  case EFieldType.RADIO:
182
- if (hasKey(value, "label")) {
183
- convertedValue = value.label;
184
+ if (!hasKey(value, "label")) {
185
+ const convertedLabelValue = {
186
+ label: value,
187
+ disabled: false
188
+ };
189
+ convertedValue = convertedLabelValue;
184
190
  }
185
191
  break;
186
192
  case EFieldType.DATE:
@@ -194,4 +200,4 @@ export const convertValueFromBasicFormatToKwikUIFormat = (field, value) => {
194
200
  }
195
201
  return convertedValue;
196
202
  };
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12aWV3LmZpZWxkcy5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtZm9ybXMvc3JjL2xpYi9yZW5kZXJlci9mb3JtLXZpZXcvaGVscGVycy9mb3JtLXZpZXcuZmllbGRzLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seURBQXlELENBQUM7QUFFckYsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUUvRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLE1BQWEsRUFBRSxHQUFXLEVBQUUsRUFBRTtJQUM3RCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDbEMsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLEdBQUcsRUFBRTtZQUNyQixPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsTUFBYSxFQUFFLEdBQVcsRUFBRSxFQUFFO0lBQ2xFLElBQUksVUFBa0IsQ0FBQztJQUV2QixVQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFO1FBQ3ZDLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDdkIsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLFVBQVUsQ0FBQztBQUNwQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQ0FBa0MsR0FBRyxDQUNoRCxLQUFVLEVBQ1YsVUFBZSxFQUNmLFNBQWMsRUFDQSxFQUFF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O0tBQ0Y7SUFFRCxPQUFPLGNBQWMsQ0FBQztBQUN4QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUdWlEYXkgfSBmcm9tIFwiQHRhaWdhLXVpL2Nka1wiO1xyXG5pbXBvcnQgeyBFRmllbGRUeXBlIH0gZnJvbSBcIi4uL2RlZmluaXRpb25zL2ZpZWxkcy9mb3JtLXZpZXcuZmllbGRzLmVudW0uZGVmaW5pdGlvbnNcIjtcclxuaW1wb3J0IHsgVEZpZWxkIH0gZnJvbSBcIi4uL2RlZmluaXRpb25zL2ZpZWxkcy9mb3JtLXZpZXcuZmllbGRzLnR5cGUuZGVmaW5pdGlvbnNcIjtcclxuaW1wb3J0IHsgaGFzS2V5LCBpc05vdEVtcHR5IH0gZnJvbSBcIi4vZm9ybS12aWV3LmNvbW1vbi5oZWxwZXJcIjtcclxuXHJcbmV4cG9ydCBjb25zdCBmaW5kRmllbGRGcm9tS2V5ID0gKGZpZWxkczogYW55W10sIGtleTogc3RyaW5nKSA9PiB7XHJcbiAgY29uc3QgZmllbGQgPSBmaWVsZHMuZmluZCgoZmllbGQpID0+IHtcclxuICAgIGlmIChmaWVsZC5rZXkgPT09IGtleSkge1xyXG4gICAgICByZXR1cm4gZmllbGQ7XHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG4gIHJldHVybiBmaWVsZDtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBmaW5kRmllbGRJbmRleEZyb21LZXkgPSAoZmllbGRzOiBhbnlbXSwga2V5OiBzdHJpbmcpID0+IHtcclxuICBsZXQgZmllbGRJbmRleDogbnVtYmVyO1xyXG5cclxuICBmaWVsZEluZGV4ID0gZmllbGRzLmZpbmRJbmRleCgoXzogYW55KSA9PiB7XHJcbiAgICByZXR1cm4ga2V5ID09PSBfLmtleTtcclxuICB9KTtcclxuXHJcbiAgcmV0dXJuIGZpZWxkSW5kZXg7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0U2VhcmNoVGV4dE9wdGlvbnNGcm9tUmVtb3RlRmlsZSA9IGFzeW5jIChcclxuICBmaWVsZDogYW55LFxyXG4gIGNoaWxkRmllbGQ6IGFueSxcclxuICBmb3JtR3JvdXA6IGFueVxyXG4pOiBQcm9taXNlPGFueT4gPT4ge1xyXG4gIGNvbnN0IHBhcmVudEZpZWxkVmFsdWUgPSBmb3JtR3JvdXAuY29udHJvbHNbZmllbGQua2V5XS52YWx1ZTtcclxuXHJcbiAgLy8gRGV0ZXJtaW5lIHRoZSBVUkwgb2YgdGhlIHJlbW90ZSBmaWxlIHRvIGZldGNoXHJcbiAgbGV0IGZpbGVVcmw6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBpZiAoY2hpbGRGaWVsZC5yZWdleFRvR2V0SnNvblJlbW90ZVVybEtleSkge1xyXG4gICAgY29uc3QgZmlsZUtleSA9IHBhcmVudEZpZWxkVmFsdWUubWF0Y2goXHJcbiAgICAgIGNoaWxkRmllbGQucmVnZXhUb0dldEpzb25SZW1vdGVVcmxLZXlcclxuICAgIClbMF07XHJcbiAgICBmaWxlVXJsID0gY2hpbGRGaWVsZC5qc29uUmVtb3RlVXJsTWFwcGluZ1tmaWxlS2V5XTtcclxuICB9IGVsc2Uge1xyXG4gICAgZmlsZVVybCA9IGNoaWxkRmllbGQuZmlsZVVybDtcclxuICB9XHJcblxyXG4gIC8vIFJldHVybiBlYXJseSBpZiB0aGVyZSBpcyBubyBmaWxlIFVSTFxyXG4gIGlmICghZmlsZVVybCkgcmV0dXJuO1xyXG5cclxuICAvLyBGZXRjaCB0aGUgcmVtb3RlIGZpbGUgYW5kIHBhcnNlIGl0cyBKU09OIGRhdGFcclxuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGZpbGVVcmwpO1xyXG4gIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKCk7XHJcblxyXG4gIC8vIFJldHVybiB0aGUgZGF0YSBmb3IgdGhlIGdpdmVuIHBhcmVudCBmaWVsZCB2YWx1ZVxyXG4gIHJldHVybiBkYXRhW3BhcmVudEZpZWxkVmFsdWVdO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldFNlYXJjaFRleHRPcHRpb25zRnJvbUZpZWxkQ29uZmlnID0gKFxyXG4gIGZpZWxkOiBhbnksXHJcbiAgY2hpbGRGaWVsZDogYW55LFxyXG4gIGZvcm1Hcm91cDogYW55XHJcbik6IGFueSA9PiB7XHJcbiAgbGV0IG9wdGlvbnM6IGFueTtcclxuXHJcbiAgY29uc3QgZmllbGRWYWx1ZSA9IGZvcm1Hcm91cC5jb250cm9sc1tmaWVsZC5rZXldLnZhbHVlO1xyXG5cclxuICBpZiAoaXNOb3RFbXB0eShjaGlsZEZpZWxkW1wianNvblwiXSkpIHtcclxuICAgIG9wdGlvbnMgPSBjaGlsZEZpZWxkW1wianNvblwiXVtmaWVsZFZhbHVlXTtcclxuICB9XHJcblxyXG4gIHJldHVybiBvcHRpb25zO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGZvcm1hdFNlYXJjaFRleHRPcHRpb25zID0gKFxyXG4gIG9wdGlvbnM6IHsgdGl0bGU6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9W11cclxuKTogc3RyaW5nW10gPT4ge1xyXG4gIHJldHVybiBvcHRpb25zLm1hcCgoeyB0aXRsZSB9KSA9PiB0aXRsZSk7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaGlnaGxpZ2h0RmllbGRFcnJvcihmaWVsZDogYW55LCBlcnJvcjogYW55KTogYW55IHtcclxuICBmaWVsZC5pbnZhbGlkID0gZXJyb3I7XHJcbiAgZmllbGQuZm9jdXMgPSBlcnJvcjtcclxuXHJcbiAgLy8gaWYgKCFlcnJvcikge1xyXG4gIC8vICAgZmllbGRbXCJtZXNzYWdlc1wiXSA9IGZpZWxkW1wibWVzc2FnZXNcIl0uZmlsdGVyKGZ1bmN0aW9uIChmaWVsZE1lc3NhZ2U6IHtcclxuICAvLyAgICAgdHlwZTogc3RyaW5nO1xyXG4gIC8vICAgICBtZXNzYWdlOiBzdHJpbmc7XHJcbiAgLy8gICB9KSB7XHJcbiAgLy8gICAgIHJldHVybiBmaWVsZE1lc3NhZ2UudHlwZSA9PT0gXCJlcnJvclwiO1xyXG4gIC8vICAgfSk7XHJcbiAgLy8gfVxyXG5cclxuICByZXR1cm4gZmllbGQ7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBhZGRNZXNzYWdlID0gKFxyXG4gIGZpZWxkOiBhbnksXHJcbiAgbWVzc2FnZTogeyB0eXBlOiBzdHJpbmc7IG1lc3NhZ2U6IHN0cmluZyB9XHJcbik6IGFueSA9PiB7XHJcbiAgY29uc3QgaXNEdXBsaWNhdGVNZXNzYWdlID0gKFxyXG4gICAgbWVzc2FnZXM6IHsgdHlwZTogc3RyaW5nOyBtZXNzYWdlOiBzdHJpbmcgfVtdLFxyXG4gICAgbWVzc2FnZTogeyB0eXBlOiBzdHJpbmc7IG1lc3NhZ2U6IHN0cmluZyB9XHJcbiAgKSA9PiB7XHJcbiAgICByZXR1cm4gbWVzc2FnZXMuc29tZSgoZmllbGRNZXNzYWdlOiB7IHR5cGU6IHN0cmluZzsgbWVzc2FnZTogc3RyaW5nIH0pID0+IHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICBmaWVsZE1lc3NhZ2UudHlwZSA9PT0gbWVzc2FnZS50eXBlICYmXHJcbiAgICAgICAgZmllbGRNZXNzYWdlLm1lc3NhZ2UgPT09IG1lc3NhZ2UubWVzc2FnZVxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcbiAgfTtcclxuXHJcbiAgZmllbGRbXCJtZXNzYWdlc1wiXSA9IFtdO1xyXG5cclxuICBpZiAoaGFzS2V5KGZpZWxkLCBcIm1lc3NhZ2VzXCIpKSB7XHJcbiAgICBpZiAoIWlzRHVwbGljYXRlTWVzc2FnZShmaWVsZFtcIm1lc3NhZ2VzXCJdLCBtZXNzYWdlKSkge1xyXG4gICAgICBmaWVsZFtcIm1lc3NhZ2VzXCJdLnB1c2goe1xyXG4gICAgICAgIHR5cGU6IG1lc3NhZ2UudHlwZSxcclxuICAgICAgICBtZXNzYWdlOiBtZXNzYWdlLm1lc3NhZ2VcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfSBlbHNlIHtcclxuICAgIGZpZWxkW1wibWVzc2FnZXNcIl0gPSBbeyB0eXBlOiBtZXNzYWdlLnR5cGUsIG1lc3NhZ2U6IG1lc3NhZ2UubWVzc2FnZSB9XTtcclxuICB9XHJcblxyXG4gIHJldHVybiBmaWVsZDtcclxufTtcclxuZXhwb3J0IGNvbnN0IHJlbW92ZU1lc3NhZ2UgPSAoXHJcbiAgZmllbGQ6IGFueSxcclxuICBtZXNzYWdlOiB7IHR5cGU6IHN0cmluZzsgbWVzc2FnZTogc3RyaW5nIH1cclxuKTogYW55ID0+IHtcclxuICBmaWVsZFtcIm1lc3NhZ2VzXCJdID0gZmllbGRbXCJtZXNzYWdlc1wiXS5maWx0ZXIoZnVuY3Rpb24gKGZpZWxkTWVzc2FnZSkge1xyXG4gICAgcmV0dXJuIGZpZWxkTWVzc2FnZS50eXBlICE9PSBtZXNzYWdlLnR5cGU7XHJcbiAgfSk7XHJcblxyXG4gIHJldHVybiBmaWVsZDtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBzZXRGaWVsZEVycm9yKFxyXG4gIGZpZWxkczogYW55LFxyXG4gIGVycm9yczogYW55LFxyXG4gIGtleTogc3RyaW5nLFxyXG4gIGVycm9yOiBib29sZWFuXHJcbikge1xyXG4gIGNvbnN0IGZpZWxkSW5kZXggPSBmaWVsZHMuZmluZEluZGV4KChmaWVsZDogYW55KSA9PiB7XHJcbiAgICByZXR1cm4gZmllbGQua2V5ID09PSBrZXk7XHJcbiAgfSk7XHJcblxyXG4gIGNvbnN0IHNldEVycm9yTWVzc2FnZXMgPSAoZmllbGQ6IGFueSwgZXJyb3JzOiBhbnkpID0+IHtcclxuICAgIGNvbnN0IGdldEVycm9yTWVzc2FnZSA9IChmaWVsZExhYmVsOiBzdHJpbmcsIGVycm9yVHlwZTogc3RyaW5nKSA9PiB7XHJcbiAgICAgIGxldCBlcnJvck1lc3NhZ2U6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gICAgICBzd2l0Y2ggKGVycm9yVHlwZSkge1xyXG4gICAgICAgIGNhc2UgXCJyZXF1aXJlZFwiOlxyXG4gICAgICAgICAgZXJyb3JNZXNzYWdlID0gYCR7ZmllbGRMYWJlbH0gaXMgcmVxdWlyZWQhYDtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgXCJlbWFpbFwiOlxyXG4gICAgICAgICAgZXJyb3JNZXNzYWdlID0gYCR7ZmllbGRMYWJlbH0gaGFzIHdyb25nIGVtYWlsIGZvcm1hdCFgO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSBcIm1pblwiOlxyXG4gICAgICAgICAgZXJyb3JNZXNzYWdlID0gYCR7ZmllbGRMYWJlbH0gaGFzIHdyb25nIHZhbHVlISBNaW5pbXVtIHZhbHVlOiAke2ZpZWxkLnZhbGlkYXRvcnMubWlufWA7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIFwibWlubGVuZ3RoXCI6XHJcbiAgICAgICAgICBlcnJvck1lc3NhZ2UgPSBgJHtmaWVsZExhYmVsfSBoYXMgd3JvbmcgbGVuZ3RoISBSZXF1aXJlZCBtaW5pbXVtIGxlbmd0aDogJHtmaWVsZC52YWxpZGF0b3JzLm1pbkxlbmd0aH1gO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSBcIm1heFwiOlxyXG4gICAgICAgICAgZXJyb3JNZXNzYWdlID0gYCR7ZmllbGRMYWJlbH0gaGFzIHdyb25nIHZhbHVlISBNYXhpbXVtIHZhbHVlOiAke2ZpZWxkLnZhbGlkYXRvcnMubWF4TGVuZ3RofWA7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIFwibWF4bGVuZ3RoXCI6XHJcbiAgICAgICAgICBlcnJvck1lc3NhZ2UgPSBgJHtmaWVsZExhYmVsfSBoYXMgd3JvbmcgbGVuZ3RoISBSZXF1aXJlZCBtYXhpbXVtIGxlbmd0aDogJHtmaWVsZC52YWxpZGF0b3JzLm1heExlbmd0aH1gO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSBcImFyZUVxdWFsXCI6XHJcbiAgICAgICAgICBlcnJvck1lc3NhZ2UgPSBgJHtmaWVsZExhYmVsfSBtdXN0IGJlIGVxdWFsIWA7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIFwicGF0dGVyblwiOlxyXG4gICAgICAgICAgZXJyb3JNZXNzYWdlID0gYCR7ZmllbGRMYWJlbH0gaXMgaW4gaW5jb3JyZWN0IGZvcm1hdCFgO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIGVycm9yTWVzc2FnZSA9IGAke2ZpZWxkTGFiZWx9OiAke2Vycm9yVHlwZX1gO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiBlcnJvck1lc3NhZ2U7XHJcbiAgICB9O1xyXG5cclxuICAgIE9iamVjdC5rZXlzKGVycm9ycykuZm9yRWFjaCgoZXJyb3IpID0+IHtcclxuICAgICAgZmllbGQgPSBhZGRNZXNzYWdlKGZpZWxkLCB7XHJcbiAgICAgICAgdHlwZTogXCJlcnJvclwiLFxyXG4gICAgICAgIG1lc3NhZ2U6IGdldEVycm9yTWVzc2FnZShmaWVsZC5sYWJlbCwgZXJyb3IpXHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIGZpZWxkO1xyXG4gIH07XHJcblxyXG4gIGlmIChlcnJvcikge1xyXG4gICAgZmllbGRzW2ZpZWxkSW5kZXhdID0gc2V0RXJyb3JNZXNzYWdlcyhmaWVsZHNbZmllbGRJbmRleF0sIGVycm9ycyk7XHJcbiAgfSBlbHNlIHtcclxuICAgIGZpZWxkc1tmaWVsZEluZGV4XVtcIm1lc3NhZ2VzXCJdID0gW107XHJcbiAgfVxyXG5cclxuICBmaWVsZHNbZmllbGRJbmRleF0gPSBoaWdobGlnaHRGaWVsZEVycm9yKGZpZWxkc1tmaWVsZEluZGV4XSwgZXJyb3IpO1xyXG5cclxuICByZXR1cm4gZmllbGRzO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgY29udmVydERhdGVTdHJpbmdUb1R1aURheUZvcm1hdCA9IChkYXRlOiBzdHJpbmcpOiBUdWlEYXkgPT4ge1xyXG4gIGNvbnN0IHNwbGl0RGF0ZSA9IGRhdGUuc3BsaXQoXCItXCIpO1xyXG4gIGNvbnN0IHR1aURheSA9IG5ldyBUdWlEYXkoXHJcbiAgICBOdW1iZXIoc3BsaXREYXRlWzJdKSwgLy8gWWVhclxyXG4gICAgTnVtYmVyKHNwbGl0RGF0ZVsxXSkgLSAxLCAvLyBNb250aCwgV2h5ICctMScgPT4gQmVjYXVzZSBUYWlnYS1VSSBSZXF1aXJlZCBJdCwgU28uLi5cclxuICAgIE51bWJlcihzcGxpdERhdGVbMF0pIC8vIERheVxyXG4gICk7XHJcblxyXG4gIHJldHVybiB0dWlEYXk7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgY29udmVydFR1aURheUZvcm1hdFRvRGF0ZVN0cmluZyA9IChkYXRlOiBUdWlEYXkpOiBzdHJpbmcgPT4ge1xyXG4gIGxldCBmb3JtYXR0ZWREYXRlOiBzdHJpbmc7XHJcbiAgbGV0IHllYXIgPSBkYXRlLnllYXI7XHJcbiAgbGV0IG1vbnRoID0gZGF0ZS5tb250aDtcclxuICBsZXQgZGF5ID0gZGF0ZS5kYXk7XHJcblxyXG4gIGZvcm1hdHRlZERhdGUgPSBgJHtkYXkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCBcIjBcIil9LSR7KG1vbnRoICsgMSlcclxuICAgIC50b1N0cmluZygpXHJcbiAgICAucGFkU3RhcnQoMiwgXCIwXCIpfS0ke3llYXJ9YDtcclxuXHJcbiAgcmV0dXJuIGZvcm1hdHRlZERhdGU7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgY29udmVydFZhbHVlRnJvbUt3aWtVSUZvcm1hdFRvQmFzaWNGb3JtYXQgPSAoXHJcbiAgZmllbGQ6IFRGaWVsZCxcclxuICB2YWx1ZTogYW55XHJcbikgPT4ge1xyXG4gIGxldCBjb252ZXJ0ZWRWYWx1ZTogYW55ID0gdmFsdWU7XHJcblxyXG4gIGlmIChpc05vdEVtcHR5KHZhbHVlKSkge1xyXG4gICAgc3dpdGNoIChmaWVsZC50eXBlKSB7XHJcbiAgICAgIGNhc2UgRUZpZWxkVHlwZS5EQVRFOlxyXG4gICAgICAgIGNvbnZlcnRlZFZhbHVlID0gY29udmVydFR1aURheUZvcm1hdFRvRGF0ZVN0cmluZyh2YWx1ZSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXR1cm4gY29udmVydGVkVmFsdWU7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgY29udmVydFZhbHVlRnJvbUJhc2ljRm9ybWF0VG9Ld2lrVUlGb3JtYXQgPSAoXHJcbiAgZmllbGQ6IFRGaWVsZCxcclxuICB2YWx1ZTogYW55XHJcbikgPT4ge1xyXG4gIGxldCBjb252ZXJ0ZWRWYWx1ZTogYW55ID0gdmFsdWU7XHJcblxyXG4gIGlmIChpc05vdEVtcHR5KHZhbHVlKSkge1xyXG4gICAgc3dpdGNoIChmaWVsZC50eXBlKSB7XHJcbiAgICAgIGNhc2UgRUZpZWxkVHlwZS5SQURJTzpcclxuICAgICAgICBpZiAoaGFzS2V5KHZhbHVlLCBcImxhYmVsXCIpKSB7XHJcbiAgICAgICAgICBjb252ZXJ0ZWRWYWx1ZSA9IHZhbHVlLmxhYmVsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBFRmllbGRUeXBlLkRBVEU6XHJcbiAgICAgICAgY29udmVydGVkVmFsdWUgPSBjb252ZXJ0RGF0ZVN0cmluZ1RvVHVpRGF5Rm9ybWF0KHZhbHVlKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBFRmllbGRUeXBlLlRJVExFOlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGNvbnZlcnRlZFZhbHVlO1xyXG59O1xyXG4iXX0=
203
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12aWV3LmZpZWxkcy5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtZm9ybXMvc3JjL2xpYi9yZW5kZXJlci9mb3JtLXZpZXcvaGVscGVycy9mb3JtLXZpZXcuZmllbGRzLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seURBQXlELENBQUM7QUFFckYsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUUvRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLE1BQWEsRUFBRSxHQUFXLEVBQUUsRUFBRTtJQUM3RCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDbEMsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLEdBQUcsRUFBRTtZQUNyQixPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsTUFBYSxFQUFFLEdBQVcsRUFBRSxFQUFFO0lBQ2xFLElBQUksVUFBa0IsQ0FBQztJQUV2QixVQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFO1FBQ3ZDLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDdkIsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLFVBQVUsQ0FBQztBQUNwQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQ0FBa0MsR0FBRyxDQUNoRCxLQUFVLEVBQ1YsVUFBZSxFQUNmLFNBQWMsRUFDQSxFQUFF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WUFDUixLQUFLLFVBQVUsQ0FBQyxJQUFJO2dCQUNsQixjQUFjLEdBQUcsK0JBQStCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3hELE1BQU07WUFDUixLQUFLLFVBQVUsQ0FBQyxLQUFLO2dCQUNuQixNQUFNO1lBQ1I7Z0JBQ0UsTUFBTTtTQUNUO0tBQ0Y7SUFFRCxPQUFPLGNBQWMsQ0FBQztBQUN4QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUdWlEYXkgfSBmcm9tIFwiQHRhaWdhLXVpL2Nka1wiO1xyXG5pbXBvcnQgeyBFRmllbGRUeXBlIH0gZnJvbSBcIi4uL2RlZmluaXRpb25zL2ZpZWxkcy9mb3JtLXZpZXcuZmllbGRzLmVudW0uZGVmaW5pdGlvbnNcIjtcclxuaW1wb3J0IHsgVEZpZWxkIH0gZnJvbSBcIi4uL2RlZmluaXRpb25zL2ZpZWxkcy9mb3JtLXZpZXcuZmllbGRzLnR5cGUuZGVmaW5pdGlvbnNcIjtcclxuaW1wb3J0IHsgaGFzS2V5LCBpc05vdEVtcHR5IH0gZnJvbSBcIi4vZm9ybS12aWV3LmNvbW1vbi5oZWxwZXJcIjtcclxuXHJcbmV4cG9ydCBjb25zdCBmaW5kRmllbGRGcm9tS2V5ID0gKGZpZWxkczogYW55W10sIGtleTogc3RyaW5nKSA9PiB7XHJcbiAgY29uc3QgZmllbGQgPSBmaWVsZHMuZmluZCgoZmllbGQpID0+IHtcclxuICAgIGlmIChmaWVsZC5rZXkgPT09IGtleSkge1xyXG4gICAgICByZXR1cm4gZmllbGQ7XHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG4gIHJldHVybiBmaWVsZDtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBmaW5kRmllbGRJbmRleEZyb21LZXkgPSAoZmllbGRzOiBhbnlbXSwga2V5OiBzdHJpbmcpID0+IHtcclxuICBsZXQgZmllbGRJbmRleDogbnVtYmVyO1xyXG5cclxuICBmaWVsZEluZGV4ID0gZmllbGRzLmZpbmRJbmRleCgoXzogYW55KSA9PiB7XHJcbiAgICByZXR1cm4ga2V5ID09PSBfLmtleTtcclxuICB9KTtcclxuXHJcbiAgcmV0dXJuIGZpZWxkSW5kZXg7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0U2VhcmNoVGV4dE9wdGlvbnNGcm9tUmVtb3RlRmlsZSA9IGFzeW5jIChcclxuICBmaWVsZDogYW55LFxyXG4gIGNoaWxkRmllbGQ6IGFueSxcclxuICBmb3JtR3JvdXA6IGFueVxyXG4pOiBQcm9taXNlPGFueT4gPT4ge1xyXG4gIGNvbnN0IHBhcmVudEZpZWxkVmFsdWUgPSBmb3JtR3JvdXAuY29udHJvbHNbZmllbGQua2V5XS52YWx1ZTtcclxuXHJcbiAgLy8gRGV0ZXJtaW5lIHRoZSBVUkwgb2YgdGhlIHJlbW90ZSBmaWxlIHRvIGZldGNoXHJcbiAgbGV0IGZpbGVVcmw6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBpZiAoY2hpbGRGaWVsZC5yZWdleFRvR2V0SnNvblJlbW90ZVVybEtleSkge1xyXG4gICAgY29uc3QgZmlsZUtleSA9IHBhcmVudEZpZWxkVmFsdWUubWF0Y2goXHJcbiAgICAgIGNoaWxkRmllbGQucmVnZXhUb0dldEpzb25SZW1vdGVVcmxLZXlcclxuICAgIClbMF07XHJcbiAgICBmaWxlVXJsID0gY2hpbGRGaWVsZC5qc29uUmVtb3RlVXJsTWFwcGluZ1tmaWxlS2V5XTtcclxuICB9IGVsc2Uge1xyXG4gICAgZmlsZVVybCA9IGNoaWxkRmllbGQuZmlsZVVybDtcclxuICB9XHJcblxyXG4gIC8vIFJldHVybiBlYXJseSBpZiB0aGVyZSBpcyBubyBmaWxlIFVSTFxyXG4gIGlmICghZmlsZVVybCkgcmV0dXJuO1xyXG5cclxuICAvLyBGZXRjaCB0aGUgcmVtb3RlIGZpbGUgYW5kIHBhcnNlIGl0cyBKU09OIGRhdGFcclxuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGZpbGVVcmwpO1xyXG4gIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKCk7XHJcblxyXG4gIC8vIFJldHVybiB0aGUgZGF0YSBmb3IgdGhlIGdpdmVuIHBhcmVudCBmaWVsZCB2YWx1ZVxyXG4gIHJldHVybiBkYXRhW3BhcmVudEZpZWxkVmFsdWVdO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldFNlYXJjaFRleHRPcHRpb25zRnJvbUZpZWxkQ29uZmlnID0gKFxyXG4gIGZpZWxkOiBhbnksXHJcbiAgY2hpbGRGaWVsZDogYW55LFxyXG4gIGZvcm1Hcm91cDogYW55XHJcbik6IGFueSA9PiB7XHJcbiAgbGV0IG9wdGlvbnM6IGFueTtcclxuXHJcbiAgY29uc3QgZmllbGRWYWx1ZSA9IGZvcm1Hcm91cC5jb250cm9sc1tmaWVsZC5rZXldLnZhbHVlO1xyXG5cclxuICBpZiAoaXNOb3RFbXB0eShjaGlsZEZpZWxkW1wianNvblwiXSkpIHtcclxuICAgIG9wdGlvbnMgPSBjaGlsZEZpZWxkW1wianNvblwiXVtmaWVsZFZhbHVlXTtcclxuICB9XHJcblxyXG4gIHJldHVybiBvcHRpb25zO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGZvcm1hdFNlYXJjaFRleHRPcHRpb25zID0gKFxyXG4gIG9wdGlvbnM6IHsgdGl0bGU6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9W11cclxuKTogc3RyaW5nW10gPT4ge1xyXG4gIHJldHVybiBvcHRpb25zLm1hcCgoeyB0aXRsZSB9KSA9PiB0aXRsZSk7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaGlnaGxpZ2h0RmllbGRFcnJvcihmaWVsZDogYW55LCBlcnJvcjogYW55KTogYW55IHtcclxuICBmaWVsZC5pbnZhbGlkID0gZXJyb3I7XHJcbiAgZmllbGQuZm9jdXMgPSBlcnJvcjtcclxuXHJcbiAgLy8gaWYgKCFlcnJvcikge1xyXG4gIC8vICAgZmllbGRbXCJtZXNzYWdlc1wiXSA9IGZpZWxkW1wibWVzc2FnZXNcIl0uZmlsdGVyKGZ1bmN0aW9uIChmaWVsZE1lc3NhZ2U6IHtcclxuICAvLyAgICAgdHlwZTogc3RyaW5nO1xyXG4gIC8vICAgICBtZXNzYWdlOiBzdHJpbmc7XHJcbiAgLy8gICB9KSB7XHJcbiAgLy8gICAgIHJldHVybiBmaWVsZE1lc3NhZ2UudHlwZSA9PT0gXCJlcnJvclwiO1xyXG4gIC8vICAgfSk7XHJcbiAgLy8gfVxyXG5cclxuICByZXR1cm4gZmllbGQ7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBhZGRNZXNzYWdlID0gKFxyXG4gIGZpZWxkOiBhbnksXHJcbiAgbWVzc2FnZTogeyB0eXBlOiBzdHJpbmc7IG1lc3NhZ2U6IHN0cmluZyB9XHJcbik6IGFueSA9PiB7XHJcbiAgY29uc3QgaXNEdXBsaWNhdGVNZXNzYWdlID0gKFxyXG4gICAgbWVzc2FnZXM6IHsgdHlwZTogc3RyaW5nOyBtZXNzYWdlOiBzdHJpbmcgfVtdLFxyXG4gICAgbWVzc2FnZTogeyB0eXBlOiBzdHJpbmc7IG1lc3NhZ2U6IHN0cmluZyB9XHJcbiAgKSA9PiB7XHJcbiAgICByZXR1cm4gbWVzc2FnZXMuc29tZSgoZmllbGRNZXNzYWdlOiB7IHR5cGU6IHN0cmluZzsgbWVzc2FnZTogc3RyaW5nIH0pID0+IHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICBmaWVsZE1lc3NhZ2UudHlwZSA9PT0gbWVzc2FnZS50eXBlICYmXHJcbiAgICAgICAgZmllbGRNZXNzYWdlLm1lc3NhZ2UgPT09IG1lc3NhZ2UubWVzc2FnZVxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcbiAgfTtcclxuXHJcbiAgZmllbGRbXCJtZXNzYWdlc1wiXSA9IFtdO1xyXG5cclxuICBpZiAoaGFzS2V5KGZpZWxkLCBcIm1lc3NhZ2VzXCIpKSB7XHJcbiAgICBpZiAoIWlzRHVwbGljYXRlTWVzc2FnZShmaWVsZFtcIm1lc3NhZ2VzXCJdLCBtZXNzYWdlKSkge1xyXG4gICAgICBmaWVsZFtcIm1lc3NhZ2VzXCJdLnB1c2goe1xyXG4gICAgICAgIHR5cGU6IG1lc3NhZ2UudHlwZSxcclxuICAgICAgICBtZXNzYWdlOiBtZXNzYWdlLm1lc3NhZ2VcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfSBlbHNlIHtcclxuICAgIGZpZWxkW1wibWVzc2FnZXNcIl0gPSBbeyB0eXBlOiBtZXNzYWdlLnR5cGUsIG1lc3NhZ2U6IG1lc3NhZ2UubWVzc2FnZSB9XTtcclxuICB9XHJcblxyXG4gIHJldHVybiBmaWVsZDtcclxufTtcclxuZXhwb3J0IGNvbnN0IHJlbW92ZU1lc3NhZ2UgPSAoXHJcbiAgZmllbGQ6IGFueSxcclxuICBtZXNzYWdlOiB7IHR5cGU6IHN0cmluZzsgbWVzc2FnZTogc3RyaW5nIH1cclxuKTogYW55ID0+IHtcclxuICBmaWVsZFtcIm1lc3NhZ2VzXCJdID0gZmllbGRbXCJtZXNzYWdlc1wiXS5maWx0ZXIoZnVuY3Rpb24gKGZpZWxkTWVzc2FnZSkge1xyXG4gICAgcmV0dXJuIGZpZWxkTWVzc2FnZS50eXBlICE9PSBtZXNzYWdlLnR5cGU7XHJcbiAgfSk7XHJcblxyXG4gIHJldHVybiBmaWVsZDtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBzZXRGaWVsZEVycm9yKFxyXG4gIGZpZWxkczogYW55LFxyXG4gIGVycm9yczogYW55LFxyXG4gIGtleTogc3RyaW5nLFxyXG4gIGVycm9yOiBib29sZWFuXHJcbikge1xyXG4gIGNvbnN0IGZpZWxkSW5kZXggPSBmaWVsZHMuZmluZEluZGV4KChmaWVsZDogYW55KSA9PiB7XHJcbiAgICByZXR1cm4gZmllbGQua2V5ID09PSBrZXk7XHJcbiAgfSk7XHJcblxyXG4gIGNvbnN0IHNldEVycm9yTWVzc2FnZXMgPSAoZmllbGQ6IGFueSwgZXJyb3JzOiBhbnkpID0+IHtcclxuICAgIGNvbnN0IGdldEVycm9yTWVzc2FnZSA9IChmaWVsZExhYmVsOiBzdHJpbmcsIGVycm9yVHlwZTogc3RyaW5nKSA9PiB7XHJcbiAgICAgIGxldCBlcnJvck1lc3NhZ2U6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gICAgICBzd2l0Y2ggKGVycm9yVHlwZSkge1xyXG4gICAgICAgIGNhc2UgXCJyZXF1aXJlZFwiOlxyXG4gICAgICAgICAgZXJyb3JNZXNzYWdlID0gYCR7ZmllbGRMYWJlbH0gaXMgcmVxdWlyZWQhYDtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgXCJlbWFpbFwiOlxyXG4gICAgICAgICAgZXJyb3JNZXNzYWdlID0gYCR7ZmllbGRMYWJlbH0gaGFzIHdyb25nIGVtYWlsIGZvcm1hdCFgO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSBcIm1pblwiOlxyXG4gICAgICAgICAgZXJyb3JNZXNzYWdlID0gYCR7ZmllbGRMYWJlbH0gaGFzIHdyb25nIHZhbHVlISBNaW5pbXVtIHZhbHVlOiAke2ZpZWxkLnZhbGlkYXRvcnMubWlufWA7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIFwibWlubGVuZ3RoXCI6XHJcbiAgICAgICAgICBlcnJvck1lc3NhZ2UgPSBgJHtmaWVsZExhYmVsfSBoYXMgd3JvbmcgbGVuZ3RoISBSZXF1aXJlZCBtaW5pbXVtIGxlbmd0aDogJHtmaWVsZC52YWxpZGF0b3JzLm1pbkxlbmd0aH1gO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSBcIm1heFwiOlxyXG4gICAgICAgICAgZXJyb3JNZXNzYWdlID0gYCR7ZmllbGRMYWJlbH0gaGFzIHdyb25nIHZhbHVlISBNYXhpbXVtIHZhbHVlOiAke2ZpZWxkLnZhbGlkYXRvcnMubWF4TGVuZ3RofWA7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIFwibWF4bGVuZ3RoXCI6XHJcbiAgICAgICAgICBlcnJvck1lc3NhZ2UgPSBgJHtmaWVsZExhYmVsfSBoYXMgd3JvbmcgbGVuZ3RoISBSZXF1aXJlZCBtYXhpbXVtIGxlbmd0aDogJHtmaWVsZC52YWxpZGF0b3JzLm1heExlbmd0aH1gO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSBcImFyZUVxdWFsXCI6XHJcbiAgICAgICAgICBlcnJvck1lc3NhZ2UgPSBgJHtmaWVsZExhYmVsfSBtdXN0IGJlIGVxdWFsIWA7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIFwicGF0dGVyblwiOlxyXG4gICAgICAgICAgZXJyb3JNZXNzYWdlID0gYCR7ZmllbGRMYWJlbH0gaXMgaW4gaW5jb3JyZWN0IGZvcm1hdCFgO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIGVycm9yTWVzc2FnZSA9IGAke2ZpZWxkTGFiZWx9OiAke2Vycm9yVHlwZX1gO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiBlcnJvck1lc3NhZ2U7XHJcbiAgICB9O1xyXG5cclxuICAgIE9iamVjdC5rZXlzKGVycm9ycykuZm9yRWFjaCgoZXJyb3IpID0+IHtcclxuICAgICAgZmllbGQgPSBhZGRNZXNzYWdlKGZpZWxkLCB7XHJcbiAgICAgICAgdHlwZTogXCJlcnJvclwiLFxyXG4gICAgICAgIG1lc3NhZ2U6IGdldEVycm9yTWVzc2FnZShmaWVsZC5sYWJlbCwgZXJyb3IpXHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIGZpZWxkO1xyXG4gIH07XHJcblxyXG4gIGlmIChlcnJvcikge1xyXG4gICAgZmllbGRzW2ZpZWxkSW5kZXhdID0gc2V0RXJyb3JNZXNzYWdlcyhmaWVsZHNbZmllbGRJbmRleF0sIGVycm9ycyk7XHJcbiAgfSBlbHNlIHtcclxuICAgIGZpZWxkc1tmaWVsZEluZGV4XVtcIm1lc3NhZ2VzXCJdID0gW107XHJcbiAgfVxyXG5cclxuICBmaWVsZHNbZmllbGRJbmRleF0gPSBoaWdobGlnaHRGaWVsZEVycm9yKGZpZWxkc1tmaWVsZEluZGV4XSwgZXJyb3IpO1xyXG5cclxuICByZXR1cm4gZmllbGRzO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgY29udmVydERhdGVTdHJpbmdUb1R1aURheUZvcm1hdCA9IChkYXRlOiBzdHJpbmcpOiBUdWlEYXkgPT4ge1xyXG4gIGNvbnN0IHNwbGl0RGF0ZSA9IGRhdGUuc3BsaXQoXCItXCIpO1xyXG4gIGNvbnN0IHR1aURheSA9IG5ldyBUdWlEYXkoXHJcbiAgICBOdW1iZXIoc3BsaXREYXRlWzJdKSwgLy8gWWVhclxyXG4gICAgTnVtYmVyKHNwbGl0RGF0ZVsxXSkgLSAxLCAvLyBNb250aCwgV2h5ICctMScgPT4gQmVjYXVzZSBUYWlnYS1VSSBSZXF1aXJlZCBJdCwgU28uLi5cclxuICAgIE51bWJlcihzcGxpdERhdGVbMF0pIC8vIERheVxyXG4gICk7XHJcblxyXG4gIHJldHVybiB0dWlEYXk7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgY29udmVydFR1aURheUZvcm1hdFRvRGF0ZVN0cmluZyA9IChkYXRlOiBUdWlEYXkpOiBzdHJpbmcgPT4ge1xyXG4gIGxldCBmb3JtYXR0ZWREYXRlOiBzdHJpbmc7XHJcbiAgbGV0IHllYXIgPSBkYXRlLnllYXI7XHJcbiAgbGV0IG1vbnRoID0gZGF0ZS5tb250aDtcclxuICBsZXQgZGF5ID0gZGF0ZS5kYXk7XHJcblxyXG4gIGZvcm1hdHRlZERhdGUgPSBgJHtkYXkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCBcIjBcIil9LSR7KG1vbnRoICsgMSlcclxuICAgIC50b1N0cmluZygpXHJcbiAgICAucGFkU3RhcnQoMiwgXCIwXCIpfS0ke3llYXJ9YDtcclxuXHJcbiAgcmV0dXJuIGZvcm1hdHRlZERhdGU7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgY29udmVydFZhbHVlRnJvbUt3aWtVSUZvcm1hdFRvQmFzaWNGb3JtYXQgPSAoXHJcbiAgZmllbGQ6IFRGaWVsZCxcclxuICB2YWx1ZTogYW55XHJcbikgPT4ge1xyXG4gIGxldCBjb252ZXJ0ZWRWYWx1ZTogYW55ID0gdmFsdWU7XHJcblxyXG4gIGlmIChpc05vdEVtcHR5KHZhbHVlKSkge1xyXG4gICAgc3dpdGNoIChmaWVsZC50eXBlKSB7XHJcbiAgICAgIGNhc2UgRUZpZWxkVHlwZS5EQVRFOlxyXG4gICAgICAgIGNvbnZlcnRlZFZhbHVlID0gY29udmVydFR1aURheUZvcm1hdFRvRGF0ZVN0cmluZyh2YWx1ZSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRUZpZWxkVHlwZS5SQURJTzpcclxuICAgICAgICBjb252ZXJ0ZWRWYWx1ZSA9IHZhbHVlLmxhYmVsO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGNvbnZlcnRlZFZhbHVlO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGNvbnZlcnRWYWx1ZUZyb21CYXNpY0Zvcm1hdFRvS3dpa1VJRm9ybWF0ID0gKFxyXG4gIGZpZWxkOiBURmllbGQsXHJcbiAgdmFsdWU6IGFueVxyXG4pID0+IHtcclxuICBsZXQgY29udmVydGVkVmFsdWU6IGFueSA9IHZhbHVlO1xyXG5cclxuICBpZiAoaXNOb3RFbXB0eSh2YWx1ZSkpIHtcclxuICAgIHN3aXRjaCAoZmllbGQudHlwZSkge1xyXG4gICAgICBjYXNlIEVGaWVsZFR5cGUuUkFESU86XHJcbiAgICAgICAgaWYgKCFoYXNLZXkodmFsdWUsIFwibGFiZWxcIikpIHtcclxuICAgICAgICAgIGNvbnN0IGNvbnZlcnRlZExhYmVsVmFsdWUgPSB7XHJcbiAgICAgICAgICAgIGxhYmVsOiB2YWx1ZSxcclxuICAgICAgICAgICAgZGlzYWJsZWQ6IGZhbHNlXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgICAgY29udmVydGVkVmFsdWUgPSBjb252ZXJ0ZWRMYWJlbFZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBFRmllbGRUeXBlLkRBVEU6XHJcbiAgICAgICAgY29udmVydGVkVmFsdWUgPSBjb252ZXJ0RGF0ZVN0cmluZ1RvVHVpRGF5Rm9ybWF0KHZhbHVlKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBFRmllbGRUeXBlLlRJVExFOlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGNvbnZlcnRlZFZhbHVlO1xyXG59O1xyXG4iXX0=
@@ -16,9 +16,6 @@ export class Rules {
16
16
  evaluate(rule) {
17
17
  let ruleType = rule.key;
18
18
  let ruleEvaluationStatus = false;
19
- if (this._field.type === "radio") {
20
- this._formData[this._field.key] = this._formData[this._field.key].label;
21
- }
22
19
  const source = new Sources(this._field, this._formData, this._previousFormData, this._allFormsData);
23
20
  switch (ruleType) {
24
21
  case ERuleKey.OBJECT_PATH_EXISTS:
@@ -83,4 +80,4 @@ __decorate([
83
80
  __decorate([
84
81
  log
85
82
  ], Rules.prototype, "mapping", null);
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12aWV3LnJ1bGVzLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2t3aWtpZC1mb3Jtcy9zcmMvbGliL3JlbmRlcmVyL2Zvcm0tdmlldy9oZWxwZXJzL2Zvcm0tdmlldy5ydWxlcy5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxRQUFRLEVBQ1IsV0FBVyxFQUNaLE1BQU0seURBQXlELENBQUM7QUFFakUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBUWpGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUV2RixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVyRCxNQUFNLE9BQU8sS0FBSztJQU9oQixZQUNFLEtBQW1CLEVBQ25CLEtBQWEsRUFDYixRQUFhLEVBQ2IsZ0JBQXFCLEVBQ3JCLFlBQWlCO1FBRWpCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBQzFCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxnQkFBZ0IsQ0FBQztRQUMxQyxJQUFJLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQztRQUNsQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBR08sUUFBUSxDQUFDLElBQVc7UUFDMUIsSUFBSSxRQUFRLEdBQWMsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUNuQyxJQUFJLG9CQUFvQixHQUFZLEtBQUssQ0FBQztRQUUxQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRTtZQUNo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NEJBQTRCLENBQzdCLENBQUM7Z0JBRUYsb0JBQW9CLEdBQUcsYUFBYSxLQUFLLFlBQVksQ0FBQztnQkFDdEQsTUFBTTtZQUNSO2dCQUNFLE1BQU07U0FDVDtRQUVELE9BQU8sb0JBQW9CLENBQUM7SUFDOUIsQ0FBQztJQUdNLE9BQU87UUFDWixJQUFJLHNCQUFzQixHQUFHLEVBQUUsQ0FBQztRQUVoQyxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDOUIsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRWpELHNCQUFzQixtQ0FDakIsc0JBQXNCLEtBQ3pCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLG9CQUFvQixHQUNoQyxDQUFDO1NBQ0g7UUFFRCxPQUFPLHNCQUFzQixDQUFDO0lBQ2hDLENBQUM7Q0FDRjtBQXZHQztJQURDLEdBQUc7cUNBdUZIO0FBR0Q7SUFEQyxHQUFHO29DQWNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBFUGF0dGVybixcclxuICBFUGF0dGVybktleVxyXG59IGZyb20gXCIuLi9kZWZpbml0aW9ucy9jb21tb24vZm9ybS12aWV3LmNvbW1vbi5lbnVtLmRlZmluaXRpb25zXCI7XHJcbmltcG9ydCB7IFRGaWVsZCB9IGZyb20gXCIuLi9kZWZpbml0aW9ucy9maWVsZHMvZm9ybS12aWV3LmZpZWxkcy50eXBlLmRlZmluaXRpb25zXCI7XHJcbmltcG9ydCB7IEVSdWxlS2V5IH0gZnJvbSBcIi4uL2RlZmluaXRpb25zL3J1bGVzL2Zvcm0tdmlldy5ydWxlcy5lbnVtLmRlZmluaXRpb25zXCI7XHJcbmltcG9ydCB7XHJcbiAgVFJ1bGUsXHJcbiAgVFJ1bGVPYmplY3RQYXRoRXhpc3RzLFxyXG4gIFRSdWxlVHlwZSxcclxuICBUUnVsZVZhbHVlQ2hhbmdlLFxyXG4gIFRSdWxlVmFsdWVDaGVja1xyXG59IGZyb20gXCIuLi9kZWZpbml0aW9ucy9ydWxlcy9mb3JtLXZpZXcucnVsZXMudHlwZS5kZWZpbml0aW9uc1wiO1xyXG5pbXBvcnQgeyBFU291cmNlS2V5IH0gZnJvbSBcIi4uL2RlZmluaXRpb25zL3NvdXJjZXMvZm9ybS12aWV3LnNvdXJjZXMuZW51bS5kZWZpbml0aW9uc1wiO1xyXG5pbXBvcnQgeyBUU291cmNlIH0gZnJvbSBcIi4uL2RlZmluaXRpb25zL3NvdXJjZXMvZm9ybS12aWV3LnNvdXJjZXMudHlwZS5kZWZpbml0aW9uc1wiO1xyXG5pbXBvcnQgeyBsb2cgfSBmcm9tIFwiLi4vZm9ybS12aWV3LmRlY29yYXRvcnNcIjtcclxuaW1wb3J0IHsgaGFzUGF0aCB9IGZyb20gXCIuL2Zvcm0tdmlldy5jb21tb24uaGVscGVyXCI7XHJcbmltcG9ydCB7IFNvdXJjZXMgfSBmcm9tIFwiLi9mb3JtLXZpZXcuc291cmNlcy5oZWxwZXJcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBSdWxlcyB7XHJcbiAgcHJpdmF0ZSBfZm9ybURhdGE6IGFueTtcclxuICBwcml2YXRlIF9wcmV2aW91c0Zvcm1EYXRhOiBhbnk7XHJcbiAgcHJpdmF0ZSBfYWxsRm9ybXNEYXRhOiBhbnk7XHJcbiAgcHJpdmF0ZSBfZmllbGQ6IFRGaWVsZDtcclxuICBwcml2YXRlIF9ydWxlczogQXJyYXk8VFJ1bGU+O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHJ1bGVzOiBBcnJheTxUUnVsZT4sXHJcbiAgICBmaWVsZDogVEZpZWxkLFxyXG4gICAgZm9ybURhdGE6IGFueSxcclxuICAgIHByZXZpb3VzRm9ybURhdGE6IGFueSxcclxuICAgIGFsbEZvcm1zRGF0YTogYW55XHJcbiAgKSB7XHJcbiAgICB0aGlzLl9maWVsZCA9IGZpZWxkO1xyXG4gICAgdGhpcy5fZm9ybURhdGEgPSBmb3JtRGF0YTtcclxuICAgIHRoaXMuX3ByZXZpb3VzRm9ybURhdGEgPSBwcmV2aW91c0Zvcm1EYXRhO1xyXG4gICAgdGhpcy5fYWxsRm9ybXNEYXRhID0gYWxsRm9ybXNEYXRhO1xyXG4gICAgdGhpcy5fcnVsZXMgPSBydWxlcztcclxuICB9XHJcblxyXG4gIEBsb2dcclxuICBwcml2YXRlIGV2YWx1YXRlKHJ1bGU6IFRSdWxlKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgcnVsZVR5cGU6IFRSdWxlVHlwZSA9IHJ1bGUua2V5O1xyXG4gICAgbGV0IHJ1bGVFdmFsdWF0aW9uU3RhdHVzOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgaWYgKHRoaXMuX2ZpZWxkLnR5cGUgPT09IFwicmFkaW9cIikge1xyXG4gICAgICB0aGlzLl9mb3JtRGF0YVt0aGlzLl9maWVsZC5rZXldID0gdGhpcy5fZm9ybURhdGFbdGhpcy5fZmllbGQua2V5XS5sYWJlbDtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBzb3VyY2UgPSBuZXcgU291cmNlcyhcclxuICAgICAgdGhpcy5fZmllbGQsXHJcbiAgICAgIHRoaXMuX2Zvcm1EYXRhLFxyXG4gICAgICB0aGlzLl9wcmV2aW91c0Zvcm1EYXRhLFxyXG4gICAgICB0aGlzLl9hbGxGb3Jtc0RhdGFcclxuICAgICk7XHJcblxyXG4gICAgc3dpdGNoIChydWxlVHlwZSkge1xyXG4gICAgICBjYXNlIEVSdWxlS2V5Lk9CSkVDVF9QQVRIX0VYSVNUUzpcclxuICAgICAgICBjb25zdCBydWxlT2JqZWN0UGF0aEV4aXN0cyA9IHJ1bGUgYXMgVFJ1bGVPYmplY3RQYXRoRXhpc3RzO1xyXG4gICAgICAgIGNvbnN0IHJ1bGVPYmplY3RQYXRoRXhpc3RzT2JqZWN0ID0gcnVsZU9iamVjdFBhdGhFeGlzdHMucHJvcHMub2JqZWN0O1xyXG4gICAgICAgIGNvbnN0IHJ1bGVPYmplY3RQYXRoRXhpc3RzUGF0aCA9IHJ1bGVPYmplY3RQYXRoRXhpc3RzLnByb3BzLnBhdGg7XHJcblxyXG4gICAgICAgIHN3aXRjaCAocnVsZU9iamVjdFBhdGhFeGlzdHNPYmplY3QpIHtcclxuICAgICAgICAgIGNhc2UgRVNvdXJjZUtleS5BTExfRk9STVNfREFUQTpcclxuICAgICAgICAgICAgcnVsZUV2YWx1YXRpb25TdGF0dXMgPSBoYXNQYXRoKFxyXG4gICAgICAgICAgICAgIHRoaXMuX2FsbEZvcm1zRGF0YSxcclxuICAgICAgICAgICAgICBydWxlT2JqZWN0UGF0aEV4aXN0c1BhdGhcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIEVTb3VyY2VLZXkuRk9STV9EQVRBOlxyXG4gICAgICAgICAgICBydWxlRXZhbHVhdGlvblN0YXR1cyA9IGhhc1BhdGgoXHJcbiAgICAgICAgICAgICAgdGhpcy5fZm9ybURhdGEsXHJcbiAgICAgICAgICAgICAgcnVsZU9iamVjdFBhdGhFeGlzdHNQYXRoXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSBFU291cmNlS2V5LlBSRVZJT1VTX0ZPUk1fREFUQTpcclxuICAgICAgICAgICAgcnVsZUV2YWx1YXRpb25TdGF0dXMgPSBoYXNQYXRoKFxyXG4gICAgICAgICAgICAgIHRoaXMuX3ByZXZpb3VzRm9ybURhdGEsXHJcbiAgICAgICAgICAgICAgcnVsZU9iamVjdFBhdGhFeGlzdHNQYXRoXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSBFU291cmNlS2V5LkZJRUxEX0NPTkZJRzpcclxuICAgICAgICAgICAgcnVsZUV2YWx1YXRpb25TdGF0dXMgPSBoYXNQYXRoKFxyXG4gICAgICAgICAgICAgIHRoaXMuX2ZpZWxkLFxyXG4gICAgICAgICAgICAgIHJ1bGVPYmplY3RQYXRoRXhpc3RzUGF0aFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIHJ1bGVFdmFsdWF0aW9uU3RhdHVzID0gZmFsc2U7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBFUnVsZUtleS5WQUxVRV9DSEVDSzpcclxuICAgICAgICBjb25zdCBydWxlVmFsdWVDaGVjayA9IHJ1bGUgYXMgVFJ1bGVWYWx1ZUNoZWNrO1xyXG4gICAgICAgIGNvbnN0IHJ1bGVWYWx1ZUNoZWNrU291cmNlOiBUU291cmNlID0gcnVsZVZhbHVlQ2hlY2sucHJvcHMudmFsdWUuc291cmNlO1xyXG4gICAgICAgIGNvbnN0IHJ1bGVWYWx1ZUNoZWNrVmFsdWUgPVxyXG4gICAgICAgICAgc291cmNlLmdldFZhbHVlRnJvbVNvdXJjZShydWxlVmFsdWVDaGVja1NvdXJjZSk7XHJcblxyXG4gICAgICAgIGlmIChydWxlVmFsdWVDaGVjay5wcm9wcy5wYXR0ZXJuLmtleSA9PT0gRVBhdHRlcm5LZXkuQ1VTVE9NKSB7XHJcbiAgICAgICAgICB2YXIgcmUgPSBuZXcgUmVnRXhwKHJ1bGVWYWx1ZUNoZWNrLnByb3BzLnBhdHRlcm4ucGF0dGVybik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHZhciByZSA9IG5ldyBSZWdFeHAoRVBhdHRlcm5bcnVsZVZhbHVlQ2hlY2sucHJvcHMucGF0dGVybi5rZXldKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJ1bGVFdmFsdWF0aW9uU3RhdHVzID0gcmUudGVzdChydWxlVmFsdWVDaGVja1ZhbHVlKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBFUnVsZUtleS5WQUxVRV9DSEFOR0U6XHJcbiAgICAgICAgY29uc3QgcnVsZVZhbHVlQ2hhbmdlID0gcnVsZSBhcyBUUnVsZVZhbHVlQ2hhbmdlO1xyXG4gICAgICAgIGNvbnN0IHJ1bGVWYWx1ZUNoYW5nZUN1cnJlbnRTb3VyY2U6IFRTb3VyY2UgPVxyXG4gICAgICAgICAgcnVsZVZhbHVlQ2hhbmdlLnByb3BzLnZhbHVlLmN1cnJlbnQuc291cmNlO1xyXG4gICAgICAgIGNvbnN0IHJ1bGVWYWx1ZUNoYW5nZVByZXZpb3VzU291cmNlOiBUU291cmNlID1cclxuICAgICAgICAgIHJ1bGVWYWx1ZUNoYW5nZS5wcm9wcy52YWx1ZS5wcmV2aW91cy5zb3VyY2U7XHJcblxyXG4gICAgICAgIGNvbnN0IHByZXZpb3VzVmFsdWUgPSBzb3VyY2UuZ2V0VmFsdWVGcm9tU291cmNlKFxyXG4gICAgICAgICAgcnVsZVZhbHVlQ2hhbmdlUHJldmlvdXNTb3VyY2VcclxuICAgICAgICApO1xyXG4gICAgICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IHNvdXJjZS5nZXRWYWx1ZUZyb21Tb3VyY2UoXHJcbiAgICAgICAgICBydWxlVmFsdWVDaGFuZ2VDdXJyZW50U291cmNlXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgcnVsZUV2YWx1YXRpb25TdGF0dXMgPSBwcmV2aW91c1ZhbHVlID09PSBjdXJyZW50VmFsdWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHJ1bGVFdmFsdWF0aW9uU3RhdHVzO1xyXG4gIH1cclxuXHJcbiAgQGxvZ1xyXG4gIHB1YmxpYyBtYXBwaW5nKCk6IGFueSB7XHJcbiAgICBsZXQgcnVsZXNFdmFsdWF0aW9uTWFwcGluZyA9IHt9O1xyXG5cclxuICAgIGZvciAoY29uc3QgcnVsZSBvZiB0aGlzLl9ydWxlcykge1xyXG4gICAgICBjb25zdCBydWxlRXZhbHVhdGlvblN0YXR1cyA9IHRoaXMuZXZhbHVhdGUocnVsZSk7XHJcblxyXG4gICAgICBydWxlc0V2YWx1YXRpb25NYXBwaW5nID0ge1xyXG4gICAgICAgIC4uLnJ1bGVzRXZhbHVhdGlvbk1hcHBpbmcsXHJcbiAgICAgICAgW3J1bGUuaWRdOiBydWxlRXZhbHVhdGlvblN0YXR1c1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBydWxlc0V2YWx1YXRpb25NYXBwaW5nO1xyXG4gIH1cclxufVxyXG4iXX0=
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12aWV3LnJ1bGVzLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2t3aWtpZC1mb3Jtcy9zcmMvbGliL3JlbmRlcmVyL2Zvcm0tdmlldy9oZWxwZXJzL2Zvcm0tdmlldy5ydWxlcy5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxRQUFRLEVBQ1IsV0FBVyxFQUNaLE1BQU0seURBQXlELENBQUM7QUFFakUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBUWpGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUV2RixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVyRCxNQUFNLE9BQU8sS0FBSztJQU9oQixZQUNFLEtBQW1CLEVBQ25CLEtBQWEsRUFDYixRQUFhLEVBQ2IsZ0JBQXFCLEVBQ3JCLFlBQWlCO1FBRWpCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBQzFCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxnQkFBZ0IsQ0FBQztRQUMxQyxJQUFJLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQztRQUNsQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBR08sUUFBUSxDQUFDLElBQVc7UUFDMUIsSUFBSSxRQUFRLEdBQWMsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUNuQyxJQUFJLG9CQUFvQixHQUFZLEtBQUssQ0FBQztRQUUxQyxNQUFNLE1BQU0sR0FBRyxJQUFJLE9BQU8sQ0FDeEIsSUFBSSxDQUFDLE1BQU0sRUFD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QUksSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQzlCLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUVqRCxzQkFBc0IsbUNBQ2pCLHNCQUFzQixLQUN6QixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxvQkFBb0IsR0FDaEMsQ0FBQztTQUNIO1FBRUQsT0FBTyxzQkFBc0IsQ0FBQztJQUNoQyxDQUFDO0NBQ0Y7QUFuR0M7SUFEQyxHQUFHO3FDQW1GSDtBQUdEO0lBREMsR0FBRztvQ0FjSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgRVBhdHRlcm4sXHJcbiAgRVBhdHRlcm5LZXlcclxufSBmcm9tIFwiLi4vZGVmaW5pdGlvbnMvY29tbW9uL2Zvcm0tdmlldy5jb21tb24uZW51bS5kZWZpbml0aW9uc1wiO1xyXG5pbXBvcnQgeyBURmllbGQgfSBmcm9tIFwiLi4vZGVmaW5pdGlvbnMvZmllbGRzL2Zvcm0tdmlldy5maWVsZHMudHlwZS5kZWZpbml0aW9uc1wiO1xyXG5pbXBvcnQgeyBFUnVsZUtleSB9IGZyb20gXCIuLi9kZWZpbml0aW9ucy9ydWxlcy9mb3JtLXZpZXcucnVsZXMuZW51bS5kZWZpbml0aW9uc1wiO1xyXG5pbXBvcnQge1xyXG4gIFRSdWxlLFxyXG4gIFRSdWxlT2JqZWN0UGF0aEV4aXN0cyxcclxuICBUUnVsZVR5cGUsXHJcbiAgVFJ1bGVWYWx1ZUNoYW5nZSxcclxuICBUUnVsZVZhbHVlQ2hlY2tcclxufSBmcm9tIFwiLi4vZGVmaW5pdGlvbnMvcnVsZXMvZm9ybS12aWV3LnJ1bGVzLnR5cGUuZGVmaW5pdGlvbnNcIjtcclxuaW1wb3J0IHsgRVNvdXJjZUtleSB9IGZyb20gXCIuLi9kZWZpbml0aW9ucy9zb3VyY2VzL2Zvcm0tdmlldy5zb3VyY2VzLmVudW0uZGVmaW5pdGlvbnNcIjtcclxuaW1wb3J0IHsgVFNvdXJjZSB9IGZyb20gXCIuLi9kZWZpbml0aW9ucy9zb3VyY2VzL2Zvcm0tdmlldy5zb3VyY2VzLnR5cGUuZGVmaW5pdGlvbnNcIjtcclxuaW1wb3J0IHsgbG9nIH0gZnJvbSBcIi4uL2Zvcm0tdmlldy5kZWNvcmF0b3JzXCI7XHJcbmltcG9ydCB7IGhhc1BhdGggfSBmcm9tIFwiLi9mb3JtLXZpZXcuY29tbW9uLmhlbHBlclwiO1xyXG5pbXBvcnQgeyBTb3VyY2VzIH0gZnJvbSBcIi4vZm9ybS12aWV3LnNvdXJjZXMuaGVscGVyXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgUnVsZXMge1xyXG4gIHByaXZhdGUgX2Zvcm1EYXRhOiBhbnk7XHJcbiAgcHJpdmF0ZSBfcHJldmlvdXNGb3JtRGF0YTogYW55O1xyXG4gIHByaXZhdGUgX2FsbEZvcm1zRGF0YTogYW55O1xyXG4gIHByaXZhdGUgX2ZpZWxkOiBURmllbGQ7XHJcbiAgcHJpdmF0ZSBfcnVsZXM6IEFycmF5PFRSdWxlPjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBydWxlczogQXJyYXk8VFJ1bGU+LFxyXG4gICAgZmllbGQ6IFRGaWVsZCxcclxuICAgIGZvcm1EYXRhOiBhbnksXHJcbiAgICBwcmV2aW91c0Zvcm1EYXRhOiBhbnksXHJcbiAgICBhbGxGb3Jtc0RhdGE6IGFueVxyXG4gICkge1xyXG4gICAgdGhpcy5fZmllbGQgPSBmaWVsZDtcclxuICAgIHRoaXMuX2Zvcm1EYXRhID0gZm9ybURhdGE7XHJcbiAgICB0aGlzLl9wcmV2aW91c0Zvcm1EYXRhID0gcHJldmlvdXNGb3JtRGF0YTtcclxuICAgIHRoaXMuX2FsbEZvcm1zRGF0YSA9IGFsbEZvcm1zRGF0YTtcclxuICAgIHRoaXMuX3J1bGVzID0gcnVsZXM7XHJcbiAgfVxyXG5cclxuICBAbG9nXHJcbiAgcHJpdmF0ZSBldmFsdWF0ZShydWxlOiBUUnVsZSk6IGJvb2xlYW4ge1xyXG4gICAgbGV0IHJ1bGVUeXBlOiBUUnVsZVR5cGUgPSBydWxlLmtleTtcclxuICAgIGxldCBydWxlRXZhbHVhdGlvblN0YXR1czogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIGNvbnN0IHNvdXJjZSA9IG5ldyBTb3VyY2VzKFxyXG4gICAgICB0aGlzLl9maWVsZCxcclxuICAgICAgdGhpcy5fZm9ybURhdGEsXHJcbiAgICAgIHRoaXMuX3ByZXZpb3VzRm9ybURhdGEsXHJcbiAgICAgIHRoaXMuX2FsbEZvcm1zRGF0YVxyXG4gICAgKTtcclxuXHJcbiAgICBzd2l0Y2ggKHJ1bGVUeXBlKSB7XHJcbiAgICAgIGNhc2UgRVJ1bGVLZXkuT0JKRUNUX1BBVEhfRVhJU1RTOlxyXG4gICAgICAgIGNvbnN0IHJ1bGVPYmplY3RQYXRoRXhpc3RzID0gcnVsZSBhcyBUUnVsZU9iamVjdFBhdGhFeGlzdHM7XHJcbiAgICAgICAgY29uc3QgcnVsZU9iamVjdFBhdGhFeGlzdHNPYmplY3QgPSBydWxlT2JqZWN0UGF0aEV4aXN0cy5wcm9wcy5vYmplY3Q7XHJcbiAgICAgICAgY29uc3QgcnVsZU9iamVjdFBhdGhFeGlzdHNQYXRoID0gcnVsZU9iamVjdFBhdGhFeGlzdHMucHJvcHMucGF0aDtcclxuXHJcbiAgICAgICAgc3dpdGNoIChydWxlT2JqZWN0UGF0aEV4aXN0c09iamVjdCkge1xyXG4gICAgICAgICAgY2FzZSBFU291cmNlS2V5LkFMTF9GT1JNU19EQVRBOlxyXG4gICAgICAgICAgICBydWxlRXZhbHVhdGlvblN0YXR1cyA9IGhhc1BhdGgoXHJcbiAgICAgICAgICAgICAgdGhpcy5fYWxsRm9ybXNEYXRhLFxyXG4gICAgICAgICAgICAgIHJ1bGVPYmplY3RQYXRoRXhpc3RzUGF0aFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgRVNvdXJjZUtleS5GT1JNX0RBVEE6XHJcbiAgICAgICAgICAgIHJ1bGVFdmFsdWF0aW9uU3RhdHVzID0gaGFzUGF0aChcclxuICAgICAgICAgICAgICB0aGlzLl9mb3JtRGF0YSxcclxuICAgICAgICAgICAgICBydWxlT2JqZWN0UGF0aEV4aXN0c1BhdGhcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIEVTb3VyY2VLZXkuUFJFVklPVVNfRk9STV9EQVRBOlxyXG4gICAgICAgICAgICBydWxlRXZhbHVhdGlvblN0YXR1cyA9IGhhc1BhdGgoXHJcbiAgICAgICAgICAgICAgdGhpcy5fcHJldmlvdXNGb3JtRGF0YSxcclxuICAgICAgICAgICAgICBydWxlT2JqZWN0UGF0aEV4aXN0c1BhdGhcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIEVTb3VyY2VLZXkuRklFTERfQ09ORklHOlxyXG4gICAgICAgICAgICBydWxlRXZhbHVhdGlvblN0YXR1cyA9IGhhc1BhdGgoXHJcbiAgICAgICAgICAgICAgdGhpcy5fZmllbGQsXHJcbiAgICAgICAgICAgICAgcnVsZU9iamVjdFBhdGhFeGlzdHNQYXRoXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgcnVsZUV2YWx1YXRpb25TdGF0dXMgPSBmYWxzZTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIEVSdWxlS2V5LlZBTFVFX0NIRUNLOlxyXG4gICAgICAgIGNvbnN0IHJ1bGVWYWx1ZUNoZWNrID0gcnVsZSBhcyBUUnVsZVZhbHVlQ2hlY2s7XHJcbiAgICAgICAgY29uc3QgcnVsZVZhbHVlQ2hlY2tTb3VyY2U6IFRTb3VyY2UgPSBydWxlVmFsdWVDaGVjay5wcm9wcy52YWx1ZS5zb3VyY2U7XHJcbiAgICAgICAgY29uc3QgcnVsZVZhbHVlQ2hlY2tWYWx1ZSA9XHJcbiAgICAgICAgICBzb3VyY2UuZ2V0VmFsdWVGcm9tU291cmNlKHJ1bGVWYWx1ZUNoZWNrU291cmNlKTtcclxuXHJcbiAgICAgICAgaWYgKHJ1bGVWYWx1ZUNoZWNrLnByb3BzLnBhdHRlcm4ua2V5ID09PSBFUGF0dGVybktleS5DVVNUT00pIHtcclxuICAgICAgICAgIHZhciByZSA9IG5ldyBSZWdFeHAocnVsZVZhbHVlQ2hlY2sucHJvcHMucGF0dGVybi5wYXR0ZXJuKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdmFyIHJlID0gbmV3IFJlZ0V4cChFUGF0dGVybltydWxlVmFsdWVDaGVjay5wcm9wcy5wYXR0ZXJuLmtleV0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcnVsZUV2YWx1YXRpb25TdGF0dXMgPSByZS50ZXN0KHJ1bGVWYWx1ZUNoZWNrVmFsdWUpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIEVSdWxlS2V5LlZBTFVFX0NIQU5HRTpcclxuICAgICAgICBjb25zdCBydWxlVmFsdWVDaGFuZ2UgPSBydWxlIGFzIFRSdWxlVmFsdWVDaGFuZ2U7XHJcbiAgICAgICAgY29uc3QgcnVsZVZhbHVlQ2hhbmdlQ3VycmVudFNvdXJjZTogVFNvdXJjZSA9XHJcbiAgICAgICAgICBydWxlVmFsdWVDaGFuZ2UucHJvcHMudmFsdWUuY3VycmVudC5zb3VyY2U7XHJcbiAgICAgICAgY29uc3QgcnVsZVZhbHVlQ2hhbmdlUHJldmlvdXNTb3VyY2U6IFRTb3VyY2UgPVxyXG4gICAgICAgICAgcnVsZVZhbHVlQ2hhbmdlLnByb3BzLnZhbHVlLnByZXZpb3VzLnNvdXJjZTtcclxuXHJcbiAgICAgICAgY29uc3QgcHJldmlvdXNWYWx1ZSA9IHNvdXJjZS5nZXRWYWx1ZUZyb21Tb3VyY2UoXHJcbiAgICAgICAgICBydWxlVmFsdWVDaGFuZ2VQcmV2aW91c1NvdXJjZVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgY29uc3QgY3VycmVudFZhbHVlID0gc291cmNlLmdldFZhbHVlRnJvbVNvdXJjZShcclxuICAgICAgICAgIHJ1bGVWYWx1ZUNoYW5nZUN1cnJlbnRTb3VyY2VcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICBydWxlRXZhbHVhdGlvblN0YXR1cyA9IHByZXZpb3VzVmFsdWUgPT09IGN1cnJlbnRWYWx1ZTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcnVsZUV2YWx1YXRpb25TdGF0dXM7XHJcbiAgfVxyXG5cclxuICBAbG9nXHJcbiAgcHVibGljIG1hcHBpbmcoKTogYW55IHtcclxuICAgIGxldCBydWxlc0V2YWx1YXRpb25NYXBwaW5nID0ge307XHJcblxyXG4gICAgZm9yIChjb25zdCBydWxlIG9mIHRoaXMuX3J1bGVzKSB7XHJcbiAgICAgIGNvbnN0IHJ1bGVFdmFsdWF0aW9uU3RhdHVzID0gdGhpcy5ldmFsdWF0ZShydWxlKTtcclxuXHJcbiAgICAgIHJ1bGVzRXZhbHVhdGlvbk1hcHBpbmcgPSB7XHJcbiAgICAgICAgLi4ucnVsZXNFdmFsdWF0aW9uTWFwcGluZyxcclxuICAgICAgICBbcnVsZS5pZF06IHJ1bGVFdmFsdWF0aW9uU3RhdHVzXHJcbiAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHJ1bGVzRXZhbHVhdGlvbk1hcHBpbmc7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -50,8 +50,10 @@ export class Validations {
50
50
  isNotEmpty(field.validators.max)) {
51
51
  validators.push(Validators.max(field.validators.max));
52
52
  }
53
- if (hasKey(field, "required") ||
54
- (hasKey(field, "validators") && hasKey(field.validators, "required"))) {
53
+ if ((hasKey(field, "required") && field.required) ||
54
+ (hasKey(field, "validators") &&
55
+ hasKey(field.validators, "required") &&
56
+ field.validators.required)) {
55
57
  validators.push(Validators.required);
56
58
  }
57
59
  if (hasKey(field, "validators") &&
@@ -150,4 +152,4 @@ __decorate([
150
152
  __decorate([
151
153
  log
152
154
  ], Validations.prototype, "validateField", null);
153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12aWV3LnZhbGlkYXRpb25zLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2t3aWtpZC1mb3Jtcy9zcmMvbGliL3JlbmRlcmVyL2Zvcm0tdmlldy9oZWxwZXJzL2Zvcm0tdmlldy52YWxpZGF0aW9ucy5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsU0FBUyxFQUVULFVBQVUsRUFDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFDTCxRQUFRLEVBQ1IsV0FBVyxFQUNaLE1BQU0seURBQXlELENBQUM7QUFFakUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFakQsTUFBTSxPQUFPLFdBQVc7SUFtQ3RCLFlBQ0UsS0FBYSxFQUNiLFFBQWEsRUFDYixnQkFBcUIsRUFDckIsWUFBaUIsRUFDakIsVUFBZTtRQUVmLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBQzFCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxnQkFBZ0IsQ0FBQztRQUMxQyxJQUFJLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQztRQUNsQyxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztJQUNoQyxDQUFDO0lBN0NELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBVTtRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBR0QsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUNELElBQUksZ0JBQWdCLENBQUMsS0FBVTtRQUM3QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQ2pDLENBQUM7SUFHRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQUksWUFBWSxDQUFDLEtBQVU7UUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUdELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBYTtRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBbUJELGtCQUFrQixDQUFDLEtBQVU7UUFDM0IsSUFBSSxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBRXBCLElBQ0UsTUFBTSxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUM7WUFDM0IsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDO1lBQy9CLFVBQVUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUNoQztZQUNBLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDdkQ7UUFDRCxJQUNFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDO1lBQzNCLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQztZQUMvQixVQUFVLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFDaEM7WUFDQSxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3ZEO1FBQ0QsSUFDRSxNQUFNLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQztZQUN6QixDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUMsRUFDckU7WUFDQSxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUN0QztRQUNELElBQ0UsTUFBTSxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUM7WUFDM0IsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDO1lBQ3JDLFVBQVUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUN0QztZQUNBLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7U0FDbkU7UUFDRCxJQUNFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDO1lBQzNCLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQztZQUNyQyxVQUFVLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFDdEM7WUFDQSxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1NBQ25FO1FBQ0QsSUFDRSxNQUFNLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQztZQUMzQixNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUM7WUFDbkMsVUFBVSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQ3BDO1lBQ0EsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxP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QixFQUN0QixJQUFJLENBQUMsYUFBYSxDQUNuQixDQUFDLE9BQU8sRUFBRSxDQUFDO1lBRVosS0FBSyxJQUFJLE1BQU0sSUFBSSxPQUFPLEVBQUU7Z0JBQzFCLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxTQUFTLENBQ3ZDLE1BQU0sQ0FBQyxTQUFTLEVBQ2hCLFlBQVksQ0FDYixDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUViLElBQUksbUJBQW1CLEVBQUU7b0JBQ3ZCLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxDQUN6QixNQUFNLEVBQ04sSUFBSSxDQUFDLE1BQU0sRUFDWCxZQUFZLEVBQ1osSUFBSSxDQUFDLGFBQWEsRUFDbEIsSUFBSSxDQUFDLFNBQVMsRUFDZCxJQUFJLENBQUMsaUJBQWlCLEVBQ3RCLElBQUksQ0FBQyxXQUFXLENBQ2pCLENBQUM7b0JBRUYsTUFBTSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7aUJBQ3pCO2FBQ0Y7UUFDSCxDQUFDO0tBQUE7Q0FDRjtBQWpKQztJQURDLEdBQUc7cURBdURIO0FBR0Q7SUFEQyxHQUFHOzBEQW1CSDtBQUdEO0lBREMsR0FBRzsrREE2Qkg7QUFHRDtJQURDLEdBQUc7Z0RBb0NIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBGb3JtQXJyYXksXHJcbiAgRm9ybUdyb3VwLFxyXG4gIFZhbGlkYXRpb25FcnJvcnMsXHJcbiAgVmFsaWRhdG9yc1xyXG59IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQge1xyXG4gIEVQYXR0ZXJuLFxyXG4gIEVQYXR0ZXJuS2V5XHJcbn0gZnJvbSBcIi4uL2RlZmluaXRpb25zL2NvbW1vbi9mb3JtLXZpZXcuY29tbW9uLmVudW0uZGVmaW5pdGlvbnNcIjtcclxuaW1wb3J0IHsgVEZpZWxkIH0gZnJvbSBcIi4uL2RlZmluaXRpb25zL2ZpZWxkcy9mb3JtLXZpZXcuZmllbGRzLnR5cGUuZGVmaW5pdGlvbnNcIjtcclxuaW1wb3J0IHsgbG9nIH0gZnJvbSBcIi4uL2Zvcm0tdmlldy5kZWNvcmF0b3JzXCI7XHJcbmltcG9ydCB7IEFjdGlvbnMgfSBmcm9tIFwiLi9mb3JtLXZpZXcuYWN0aW9ucy5oZWxwZXJcIjtcclxuaW1wb3J0IHsgaGFzS2V5LCBpc05vdEVtcHR5IH0gZnJvbSBcIi4vZm9ybS12aWV3LmNvbW1vbi5oZWxwZXJcIjtcclxuaW1wb3J0IHsgQ29uZGl0aW9uIH0gZnJvbSBcIi4vZm9ybS12aWV3LmNvbmRpdGlvbi5oZWxwZXJcIjtcclxuaW1wb3J0IHsgUnVsZXMgfSBmcm9tIFwiLi9mb3JtLXZpZXcucnVsZXMuaGVscGVyXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgVmFsaWRhdGlvbnMge1xyXG4gIHByaXZhdGUgX2Zvcm1EYXRhOiBhbnk7XHJcbiAgZ2V0IGZvcm1EYXRhKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZm9ybURhdGE7XHJcbiAgfVxyXG4gIHNldCBmb3JtRGF0YSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLl9mb3JtRGF0YSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcHJldmlvdXNGb3JtRGF0YTogYW55O1xyXG4gIGdldCBwcmV2aW91c0Zvcm1EYXRhKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcHJldmlvdXNGb3JtRGF0YTtcclxuICB9XHJcbiAgc2V0IHByZXZpb3VzRm9ybURhdGEodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5fcHJldmlvdXNGb3JtRGF0YSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfYWxsRm9ybXNEYXRhOiBhbnk7XHJcbiAgZ2V0IGFsbEZvcm1zRGF0YSgpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2FsbEZvcm1zRGF0YTtcclxuICB9XHJcbiAgc2V0IGFsbEZvcm1zRGF0YSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLl9hbGxGb3Jtc0RhdGEgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2ZpZWxkOiBURmllbGQ7XHJcbiAgZ2V0IGZpZWxkKCk6IFRGaWVsZCB7XHJcbiAgICByZXR1cm4gdGhpcy5fZmllbGQ7XHJcbiAgfVxyXG4gIHNldCBmaWVsZCh2YWx1ZTogVEZpZWxkKSB7XHJcbiAgICB0aGlzLl9maWVsZCA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfdGFrZUFjdGlvbjogRnVuY3Rpb247XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgZmllbGQ6IFRGaWVsZCxcclxuICAgIGZvcm1EYXRhOiBhbnksXHJcbiAgICBwcmV2aW91c0Zvcm1EYXRhOiBhbnksXHJcbiAgICBhbGxGb3Jtc0RhdGE6IGFueSxcclxuICAgIHRha2VBY3Rpb246IGFueVxyXG4gICkge1xyXG4gICAgdGhpcy5fZmllbGQgPSBmaWVsZDtcclxuICAgIHRoaXMuX2Zvcm1EYXRhID0gZm9ybURhdGE7XHJcbiAgICB0aGlzLl9wcmV2aW91c0Zvcm1EYXRhID0gcHJldmlvdXNGb3JtRGF0YTtcclxuICAgIHRoaXMuX2FsbEZvcm1zRGF0YSA9IGFsbEZvcm1zRGF0YTtcclxuICAgIHRoaXMuX3Rha2VBY3Rpb24gPSB0YWtlQWN0aW9uO1xyXG4gIH1cclxuXHJcbiAgQGxvZ1xyXG4gIGdldEZpZWxkVmFsaWRhdG9ycyhmaWVsZDogYW55KSB7XHJcbiAgICBsZXQgdmFsaWRhdG9ycyA9IFtdO1xyXG5cclxuICAgIGlmIChcclxuICAgICAgaGFzS2V5KGZpZWxkLCBcInZhbGlkYXRvcnNcIikgJiZcclxuICAgICAgaGFzS2V5KGZpZWxkLnZhbGlkYXRvcnMsIFwibWluXCIpICYmXHJcbiAgICAgIGlzTm90RW1wdHkoZmllbGQudmFsaWRhdG9ycy5taW4pXHJcbiAgICApIHtcclxuICAgICAgdmFsaWRhdG9ycy5wdXNoKFZhbGlkYXRvcnMubWluKGZpZWxkLnZhbGlkYXRvcnMubWluKSk7XHJcbiAgICB9XHJcbiAgICBpZiAoXHJcbiAgICAgIGhhc0tleShmaWVsZCwgXCJ2YWxpZGF0b3JzXCIpICYmXHJcbiAgICAgIGhhc0tleShmaWVsZC52YWxpZGF0b3JzLCBcIm1heFwiKSAmJlxyXG4gICAgICBpc05vdEVtcHR5KGZpZWxkLnZhbGlkYXRvcnMubWF4KVxyXG4gICAgKSB7XHJcbiAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLm1heChmaWVsZC52YWxpZGF0b3JzLm1heCkpO1xyXG4gICAgfVxyXG4gICAgaWYgKFxyXG4gICAgICBoYXNLZXkoZmllbGQsIFwicmVxdWlyZWRcIikgfHxcclxuICAgICAgKGhhc0tleShmaWVsZCwgXCJ2YWxpZGF0b3JzXCIpICYmIGhhc0tleShmaWVsZC52YWxpZGF0b3JzLCBcInJlcXVpcmVkXCIpKVxyXG4gICAgKSB7XHJcbiAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgaGFzS2V5KGZpZWxkLCBcInZhbGlkYXRvcnNcIikgJiZcclxuICAgICAgaGFzS2V5KGZpZWxkLnZhbGlkYXRvcnMsIFwibWluTGVuZ3RoXCIpICYmXHJcbiAgICAgIGlzTm90RW1wdHkoZmllbGQudmFsaWRhdG9ycy5taW5MZW5ndGgpXHJcbiAgICApIHtcclxuICAgICAgdmFsaWRhdG9ycy5wdXNoKFZhbGlkYXRvcnMubWluTGVuZ3RoKGZpZWxkLnZhbGlkYXRvcnMubWluTGVuZ3RoKSk7XHJcbiAgICB9XHJcbiAgICBpZiAoXHJcbiAgICAgIGhhc0tleShmaWVsZCwgXCJ2YWxpZGF0b3JzXCIpICYmXHJcbiAgICAgIGhhc0tleShmaWVsZC52YWxpZGF0b3JzLCBcIm1heExlbmd0aFwiKSAmJlxyXG4gICAgICBpc05vdEVtcHR5KGZpZWxkLnZhbGlkYXRvcnMubWF4TGVuZ3RoKVxyXG4gICAgKSB7XHJcbiAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLm1heExlbmd0aChmaWVsZC52YWxpZGF0b3JzLm1heExlbmd0aCkpO1xyXG4gICAgfVxyXG4gICAgaWYgKFxyXG4gICAgICBoYXNLZXkoZmllbGQsIFwidmFsaWRhdG9yc1wiKSAmJlxyXG4gICAgICBoYXNLZXkoZmllbGQudmFsaWRhdG9ycywgXCJwYXR0ZXJuXCIpICYmXHJcbiAgICAgIGlzTm90RW1wdHkoZmllbGQudmFsaWRhdG9ycy5wYXR0ZXJuKVxyXG4gICAgKSB7XHJcbiAgICAgIGlmIChoYXNLZXkoZmllbGQudmFsaWRhdG9ycy5wYXR0ZXJuLCBcImtleVwiKSkge1xyXG4gICAgICAgIGlmIChmaWVsZC52YWxpZGF0b3JzLnBhdHRlcm4ua2V5ID09PSBFUGF0dGVybktleS5DVVNUT00pIHtcclxuICAgICAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLnBhdHRlcm4oZmllbGQudmFsaWRhdG9ycy5wYXR0ZXJuLnBhdHRlcm4pKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdmFsaWRhdG9ycy5wdXNoKFxyXG4gICAgICAgICAgICBWYWxpZGF0b3JzLnBhdHRlcm4oRVBhdHRlcm5bZmllbGQudmFsaWRhdG9ycy5wYXR0ZXJuLmtleV0pXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB2YWxpZGF0b3JzO1xyXG4gIH1cclxuXHJcbiAgQGxvZ1xyXG4gIGdldEZvcm1WYWxpZGF0aW9uRXJyb3JzKFxyXG4gICAgY29udHJvbDogRm9ybUdyb3VwXHJcbiAgKTogeyBuYW1lOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfVtdIHtcclxuICAgIGxldCBlcnJvcnM6IHsgbmFtZTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH1bXSA9IFtdO1xyXG5cclxuICAgIGZvciAoY29uc3Qga2V5IGluIGNvbnRyb2wuY29udHJvbHMpIHtcclxuICAgICAgY29uc3QgY29udHJvbEVycm9yczogVmFsaWRhdGlvbkVycm9ycyA9IGNvbnRyb2wuY29udHJvbHNba2V5XS5lcnJvcnM7XHJcbiAgICAgIGlmIChjb250cm9sRXJyb3JzICE9PSBudWxsICYmIGNvbnRyb2xFcnJvcnMgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIE9iamVjdC5rZXlzKGNvbnRyb2xFcnJvcnMpLmZvckVhY2goKGtleUVycm9yKSA9PiB7XHJcbiAgICAgICAgICBlcnJvcnMucHVzaCh7XHJcbiAgICAgICAgICAgIG5hbWU6IGtleUVycm9yLFxyXG4gICAgICAgICAgICB2YWx1ZTogY29udHJvbEVycm9yc1trZXlFcnJvcl1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGVycm9ycztcclxuICB9XHJcblxyXG4gIEBsb2dcclxuICBmaW5kSW52YWxpZENvbnRyb2xzUmVjdXJzaXZlKGZvcm1Ub0ludmVzdGlnYXRlOiBGb3JtR3JvdXAgfCBGb3JtQXJyYXkpIHtcclxuICAgIHZhciBjb250cm9sczogYW55W10gPSBbXTtcclxuXHJcbiAgICBsZXQgcmVjdXJzaXZlRnVuYyA9IChmb3JtOiBGb3JtR3JvdXAgfCBGb3JtQXJyYXkpID0+IHtcclxuICAgICAgT2JqZWN0LmtleXMoZm9ybS5jb250cm9scykuZm9yRWFjaCgoZmllbGQ6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtLmdldChmaWVsZCk7XHJcbiAgICAgICAgaWYgKGNvbnRyb2wuaW52YWxpZCkge1xyXG4gICAgICAgICAgY29udHJvbHMucHVzaCh7XHJcbiAgICAgICAgICAgIGtleTogZmllbGQsXHJcbiAgICAgICAgICAgIGludmFsaWQ6IHRydWVcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb250cm9scy5wdXNoKHtcclxuICAgICAgICAgICAga2V5OiBmaWVsZCxcclxuICAgICAgICAgICAgaW52YWxpZDogZmFsc2VcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1Hcm91cCkge1xyXG4gICAgICAgICAgcmVjdXJzaXZlRnVuYyhjb250cm9sKTtcclxuICAgICAgICB9IGVsc2UgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQXJyYXkpIHtcclxuICAgICAgICAgIHJlY3Vyc2l2ZUZ1bmMoY29udHJvbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH07XHJcblxyXG4gICAgcmVjdXJzaXZlRnVuYyhmb3JtVG9JbnZlc3RpZ2F0ZSk7XHJcblxyXG4gICAgcmV0dXJuIGNvbnRyb2xzO1xyXG4gIH1cclxuXHJcbiAgQGxvZ1xyXG4gIGFzeW5jIHZhbGlkYXRlRmllbGQoKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIGNvbnN0IHZhbGlkYXRpb25zID0gdGhpcy5fZmllbGQudmFsaWRhdGlvbjtcclxuXHJcbiAgICBjb25zdCB0cmlnZ2VycyA9IHZhbGlkYXRpb25zLnRyaWdnZXJzO1xyXG4gICAgY29uc3QgcnVsZXMgPSB2YWxpZGF0aW9ucy5ydWxlcztcclxuICAgIGNvbnN0IGFjdGlvbnMgPSB2YWxpZGF0aW9ucy5hY3Rpb25zO1xyXG5cclxuICAgIGNvbnN0IHJ1bGVzTWFwcGluZyA9IG5ldyBSdWxlcyhcclxuICAgICAgcnVsZXMsXHJcbiAgICAgIHRoaXMuX2ZpZWxkLFxyXG4gICAgICB0aGlzLl9mb3JtRGF0YSxcclxuICAgICAgdGhpcy5fcHJldmlvdXNGb3JtRGF0YSxcclxuICAgICAgdGhpcy5fYWxsRm9ybXNEYXRhXHJcbiAgICApLm1hcHBpbmcoKTtcclxuXHJcbiAgICBmb3IgKGxldCBhY3Rpb24gb2YgYWN0aW9ucykge1xyXG4gICAgICBjb25zdCBjb25kaXRpb25FdmFsdWF0aW9uID0gbmV3IENvbmRpdGlvbihcclxuICAgICAgICBhY3Rpb24uY29uZGl0aW9uLFxyXG4gICAgICAgIHJ1bGVzTWFwcGluZ1xyXG4gICAgICApLmV2YWx1YXRlKCk7XHJcblxyXG4gICAgICBpZiAoY29uZGl0aW9uRXZhbHVhdGlvbikge1xyXG4gICAgICAgIGNvbnN0IGFjdGlvbnMgPSBuZXcgQWN0aW9ucyhcclxuICAgICAgICAgIGFjdGlvbixcclxuICAgICAgICAgIHRoaXMuX2ZpZWxkLFxyXG4gICAgICAgICAgcnVsZXNNYXBwaW5nLFxyXG4gICAgICAgICAgdGhpcy5fYWxsRm9ybXNEYXRhLFxyXG4gICAgICAgICAgdGhpcy5fZm9ybURhdGEsXHJcbiAgICAgICAgICB0aGlzLl9wcmV2aW91c0Zvcm1EYXRhLFxyXG4gICAgICAgICAgdGhpcy5fdGFrZUFjdGlvblxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIGF3YWl0IGFjdGlvbnMuZXhlY3V0ZSgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12aWV3LnZhbGlkYXRpb25zLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2t3aWtpZC1mb3Jtcy9zcmMvbGliL3JlbmRlcmVyL2Zvcm0tdmlldy9oZWxwZXJzL2Zvcm0tdmlldy52YWxpZGF0aW9ucy5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsU0FBUyxFQUVULFVBQVUsRUFDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFDTCxRQUFRLEVBQ1IsV0FBVyxFQUNaLE1BQU0seURBQXlELENBQUM7QUFFakUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFakQsTUFBTSxPQUFPLFdBQVc7SUFtQ3RCLFlBQ0UsS0FBYSxFQUNiLFFBQWEsRUFDYixnQkFBcUIsRUFDckIsWUFBaUIsRUFDakIsVUFBZTtRQUVmLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBQzFCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxnQkFBZ0IsQ0FBQztRQUMxQyxJQUFJLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQztRQUNsQyxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztJQUNoQyxDQUFDO0lBN0NELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBVTtRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBR0QsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUNELElBQUksZ0JBQWdCLENBQUMsS0FBVTtRQUM3QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQ2pDLENBQUM7SUFHRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQUksWUFBWSxDQUFDLEtBQVU7UUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUdELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBYTtRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBbUJELGtCQUFrQixDQUFDLEtBQVU7UUFDM0IsSUFBSSxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBRXBCLElBQ0UsTUFBTSxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUM7WUFDM0IsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDO1lBQy9CLFVBQVUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUNoQztZQUNBLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDdkQ7UUFDRCxJQUNFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDO1lBQzNCLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQztZQUMvQixVQUFVLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFDaEM7WUFDQSxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3ZEO1FBQ0QsSUFDRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQztZQUM3QyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDO2dCQUMxQixNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUM7Z0JBQ3BDLEtBQUssQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQzVCO1lBQ0EsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDdEM7UUFDRCxJQUNFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDO1lBQzNCLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQztZQUNyQyxVQUFVLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFDdEM7WUFDQSxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1NBQ25FO1FBQ0QsSUFDRSxNQUFNLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQztZQUMzQixNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUM7WUFDckMsVUFBVSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQ3RDO1lBQ0EsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztTQUNuRTtRQUNELElBQ0UsTUFBTSxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUM7WUFDM0IsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDO1lBQ25DLFVBQVUsQ0FBQyxLQUFLLENBQUMsVUFB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QUFLLEVBQ0wsSUFBSSxDQUFDLE1BQU0sRUFDWCxJQUFJLENBQUMsU0FBUyxFQUNkLElBQUksQ0FBQyxpQkFBaUIsRUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FDbkIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUVaLEtBQUssSUFBSSxNQUFNLElBQUksT0FBTyxFQUFFO2dCQUMxQixNQUFNLG1CQUFtQixHQUFHLElBQUksU0FBUyxDQUN2QyxNQUFNLENBQUMsU0FBUyxFQUNoQixZQUFZLENBQ2IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFFYixJQUFJLG1CQUFtQixFQUFFO29CQUN2QixNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FDekIsTUFBTSxFQUNOLElBQUksQ0FBQyxNQUFNLEVBQ1gsWUFBWSxFQUNaLElBQUksQ0FBQyxhQUFhLEVBQ2xCLElBQUksQ0FBQyxTQUFTLEVBQ2QsSUFBSSxDQUFDLGlCQUFpQixFQUN0QixJQUFJLENBQUMsV0FBVyxDQUNqQixDQUFDO29CQUVGLE1BQU0sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO2lCQUN6QjthQUNGO1FBQ0gsQ0FBQztLQUFBO0NBQ0Y7QUFuSkM7SUFEQyxHQUFHO3FEQXlESDtBQUdEO0lBREMsR0FBRzswREFtQkg7QUFHRDtJQURDLEdBQUc7K0RBNkJIO0FBR0Q7SUFEQyxHQUFHO2dEQW9DSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgRm9ybUFycmF5LFxyXG4gIEZvcm1Hcm91cCxcclxuICBWYWxpZGF0aW9uRXJyb3JzLFxyXG4gIFZhbGlkYXRvcnNcclxufSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHtcclxuICBFUGF0dGVybixcclxuICBFUGF0dGVybktleVxyXG59IGZyb20gXCIuLi9kZWZpbml0aW9ucy9jb21tb24vZm9ybS12aWV3LmNvbW1vbi5lbnVtLmRlZmluaXRpb25zXCI7XHJcbmltcG9ydCB7IFRGaWVsZCB9IGZyb20gXCIuLi9kZWZpbml0aW9ucy9maWVsZHMvZm9ybS12aWV3LmZpZWxkcy50eXBlLmRlZmluaXRpb25zXCI7XHJcbmltcG9ydCB7IGxvZyB9IGZyb20gXCIuLi9mb3JtLXZpZXcuZGVjb3JhdG9yc1wiO1xyXG5pbXBvcnQgeyBBY3Rpb25zIH0gZnJvbSBcIi4vZm9ybS12aWV3LmFjdGlvbnMuaGVscGVyXCI7XHJcbmltcG9ydCB7IGhhc0tleSwgaXNOb3RFbXB0eSB9IGZyb20gXCIuL2Zvcm0tdmlldy5jb21tb24uaGVscGVyXCI7XHJcbmltcG9ydCB7IENvbmRpdGlvbiB9IGZyb20gXCIuL2Zvcm0tdmlldy5jb25kaXRpb24uaGVscGVyXCI7XHJcbmltcG9ydCB7IFJ1bGVzIH0gZnJvbSBcIi4vZm9ybS12aWV3LnJ1bGVzLmhlbHBlclwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb25zIHtcclxuICBwcml2YXRlIF9mb3JtRGF0YTogYW55O1xyXG4gIGdldCBmb3JtRGF0YSgpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Zvcm1EYXRhO1xyXG4gIH1cclxuICBzZXQgZm9ybURhdGEodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5fZm9ybURhdGEgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3ByZXZpb3VzRm9ybURhdGE6IGFueTtcclxuICBnZXQgcHJldmlvdXNGb3JtRGF0YSgpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ByZXZpb3VzRm9ybURhdGE7XHJcbiAgfVxyXG4gIHNldCBwcmV2aW91c0Zvcm1EYXRhKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuX3ByZXZpb3VzRm9ybURhdGEgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2FsbEZvcm1zRGF0YTogYW55O1xyXG4gIGdldCBhbGxGb3Jtc0RhdGEoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLl9hbGxGb3Jtc0RhdGE7XHJcbiAgfVxyXG4gIHNldCBhbGxGb3Jtc0RhdGEodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5fYWxsRm9ybXNEYXRhID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9maWVsZDogVEZpZWxkO1xyXG4gIGdldCBmaWVsZCgpOiBURmllbGQge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZpZWxkO1xyXG4gIH1cclxuICBzZXQgZmllbGQodmFsdWU6IFRGaWVsZCkge1xyXG4gICAgdGhpcy5fZmllbGQgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3Rha2VBY3Rpb246IEZ1bmN0aW9uO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIGZpZWxkOiBURmllbGQsXHJcbiAgICBmb3JtRGF0YTogYW55LFxyXG4gICAgcHJldmlvdXNGb3JtRGF0YTogYW55LFxyXG4gICAgYWxsRm9ybXNEYXRhOiBhbnksXHJcbiAgICB0YWtlQWN0aW9uOiBhbnlcclxuICApIHtcclxuICAgIHRoaXMuX2ZpZWxkID0gZmllbGQ7XHJcbiAgICB0aGlzLl9mb3JtRGF0YSA9IGZvcm1EYXRhO1xyXG4gICAgdGhpcy5fcHJldmlvdXNGb3JtRGF0YSA9IHByZXZpb3VzRm9ybURhdGE7XHJcbiAgICB0aGlzLl9hbGxGb3Jtc0RhdGEgPSBhbGxGb3Jtc0RhdGE7XHJcbiAgICB0aGlzLl90YWtlQWN0aW9uID0gdGFrZUFjdGlvbjtcclxuICB9XHJcblxyXG4gIEBsb2dcclxuICBnZXRGaWVsZFZhbGlkYXRvcnMoZmllbGQ6IGFueSkge1xyXG4gICAgbGV0IHZhbGlkYXRvcnMgPSBbXTtcclxuXHJcbiAgICBpZiAoXHJcbiAgICAgIGhhc0tleShmaWVsZCwgXCJ2YWxpZGF0b3JzXCIpICYmXHJcbiAgICAgIGhhc0tleShmaWVsZC52YWxpZGF0b3JzLCBcIm1pblwiKSAmJlxyXG4gICAgICBpc05vdEVtcHR5KGZpZWxkLnZhbGlkYXRvcnMubWluKVxyXG4gICAgKSB7XHJcbiAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLm1pbihmaWVsZC52YWxpZGF0b3JzLm1pbikpO1xyXG4gICAgfVxyXG4gICAgaWYgKFxyXG4gICAgICBoYXNLZXkoZmllbGQsIFwidmFsaWRhdG9yc1wiKSAmJlxyXG4gICAgICBoYXNLZXkoZmllbGQudmFsaWRhdG9ycywgXCJtYXhcIikgJiZcclxuICAgICAgaXNOb3RFbXB0eShmaWVsZC52YWxpZGF0b3JzLm1heClcclxuICAgICkge1xyXG4gICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5tYXgoZmllbGQudmFsaWRhdG9ycy5tYXgpKTtcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgKGhhc0tleShmaWVsZCwgXCJyZXF1aXJlZFwiKSAmJiBmaWVsZC5yZXF1aXJlZCkgfHxcclxuICAgICAgKGhhc0tleShmaWVsZCwgXCJ2YWxpZGF0b3JzXCIpICYmXHJcbiAgICAgICAgaGFzS2V5KGZpZWxkLnZhbGlkYXRvcnMsIFwicmVxdWlyZWRcIikgJiZcclxuICAgICAgICBmaWVsZC52YWxpZGF0b3JzLnJlcXVpcmVkKVxyXG4gICAgKSB7XHJcbiAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgaGFzS2V5KGZpZWxkLCBcInZhbGlkYXRvcnNcIikgJiZcclxuICAgICAgaGFzS2V5KGZpZWxkLnZhbGlkYXRvcnMsIFwibWluTGVuZ3RoXCIpICYmXHJcbiAgICAgIGlzTm90RW1wdHkoZmllbGQudmFsaWRhdG9ycy5taW5MZW5ndGgpXHJcbiAgICApIHtcclxuICAgICAgdmFsaWRhdG9ycy5wdXNoKFZhbGlkYXRvcnMubWluTGVuZ3RoKGZpZWxkLnZhbGlkYXRvcnMubWluTGVuZ3RoKSk7XHJcbiAgICB9XHJcbiAgICBpZiAoXHJcbiAgICAgIGhhc0tleShmaWVsZCwgXCJ2YWxpZGF0b3JzXCIpICYmXHJcbiAgICAgIGhhc0tleShmaWVsZC52YWxpZGF0b3JzLCBcIm1heExlbmd0aFwiKSAmJlxyXG4gICAgICBpc05vdEVtcHR5KGZpZWxkLnZhbGlkYXRvcnMubWF4TGVuZ3RoKVxyXG4gICAgKSB7XHJcbiAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLm1heExlbmd0aChmaWVsZC52YWxpZGF0b3JzLm1heExlbmd0aCkpO1xyXG4gICAgfVxyXG4gICAgaWYgKFxyXG4gICAgICBoYXNLZXkoZmllbGQsIFwidmFsaWRhdG9yc1wiKSAmJlxyXG4gICAgICBoYXNLZXkoZmllbGQudmFsaWRhdG9ycywgXCJwYXR0ZXJuXCIpICYmXHJcbiAgICAgIGlzTm90RW1wdHkoZmllbGQudmFsaWRhdG9ycy5wYXR0ZXJuKVxyXG4gICAgKSB7XHJcbiAgICAgIGlmIChoYXNLZXkoZmllbGQudmFsaWRhdG9ycy5wYXR0ZXJuLCBcImtleVwiKSkge1xyXG4gICAgICAgIGlmIChmaWVsZC52YWxpZGF0b3JzLnBhdHRlcm4ua2V5ID09PSBFUGF0dGVybktleS5DVVNUT00pIHtcclxuICAgICAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLnBhdHRlcm4oZmllbGQudmFsaWRhdG9ycy5wYXR0ZXJuLnBhdHRlcm4pKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdmFsaWRhdG9ycy5wdXNoKFxyXG4gICAgICAgICAgICBWYWxpZGF0b3JzLnBhdHRlcm4oRVBhdHRlcm5bZmllbGQudmFsaWRhdG9ycy5wYXR0ZXJuLmtleV0pXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB2YWxpZGF0b3JzO1xyXG4gIH1cclxuXHJcbiAgQGxvZ1xyXG4gIGdldEZvcm1WYWxpZGF0aW9uRXJyb3JzKFxyXG4gICAgY29udHJvbDogRm9ybUdyb3VwXHJcbiAgKTogeyBuYW1lOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfVtdIHtcclxuICAgIGxldCBlcnJvcnM6IHsgbmFtZTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH1bXSA9IFtdO1xyXG5cclxuICAgIGZvciAoY29uc3Qga2V5IGluIGNvbnRyb2wuY29udHJvbHMpIHtcclxuICAgICAgY29uc3QgY29udHJvbEVycm9yczogVmFsaWRhdGlvbkVycm9ycyA9IGNvbnRyb2wuY29udHJvbHNba2V5XS5lcnJvcnM7XHJcbiAgICAgIGlmIChjb250cm9sRXJyb3JzICE9PSBudWxsICYmIGNvbnRyb2xFcnJvcnMgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIE9iamVjdC5rZXlzKGNvbnRyb2xFcnJvcnMpLmZvckVhY2goKGtleUVycm9yKSA9PiB7XHJcbiAgICAgICAgICBlcnJvcnMucHVzaCh7XHJcbiAgICAgICAgICAgIG5hbWU6IGtleUVycm9yLFxyXG4gICAgICAgICAgICB2YWx1ZTogY29udHJvbEVycm9yc1trZXlFcnJvcl1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGVycm9ycztcclxuICB9XHJcblxyXG4gIEBsb2dcclxuICBmaW5kSW52YWxpZENvbnRyb2xzUmVjdXJzaXZlKGZvcm1Ub0ludmVzdGlnYXRlOiBGb3JtR3JvdXAgfCBGb3JtQXJyYXkpIHtcclxuICAgIHZhciBjb250cm9sczogYW55W10gPSBbXTtcclxuXHJcbiAgICBsZXQgcmVjdXJzaXZlRnVuYyA9IChmb3JtOiBGb3JtR3JvdXAgfCBGb3JtQXJyYXkpID0+IHtcclxuICAgICAgT2JqZWN0LmtleXMoZm9ybS5jb250cm9scykuZm9yRWFjaCgoZmllbGQ6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtLmdldChmaWVsZCk7XHJcbiAgICAgICAgaWYgKGNvbnRyb2wuaW52YWxpZCkge1xyXG4gICAgICAgICAgY29udHJvbHMucHVzaCh7XHJcbiAgICAgICAgICAgIGtleTogZmllbGQsXHJcbiAgICAgICAgICAgIGludmFsaWQ6IHRydWVcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb250cm9scy5wdXNoKHtcclxuICAgICAgICAgICAga2V5OiBmaWVsZCxcclxuICAgICAgICAgICAgaW52YWxpZDogZmFsc2VcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1Hcm91cCkge1xyXG4gICAgICAgICAgcmVjdXJzaXZlRnVuYyhjb250cm9sKTtcclxuICAgICAgICB9IGVsc2UgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQXJyYXkpIHtcclxuICAgICAgICAgIHJlY3Vyc2l2ZUZ1bmMoY29udHJvbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH07XHJcblxyXG4gICAgcmVjdXJzaXZlRnVuYyhmb3JtVG9JbnZlc3RpZ2F0ZSk7XHJcblxyXG4gICAgcmV0dXJuIGNvbnRyb2xzO1xyXG4gIH1cclxuXHJcbiAgQGxvZ1xyXG4gIGFzeW5jIHZhbGlkYXRlRmllbGQoKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIGNvbnN0IHZhbGlkYXRpb25zID0gdGhpcy5fZmllbGQudmFsaWRhdGlvbjtcclxuXHJcbiAgICBjb25zdCB0cmlnZ2VycyA9IHZhbGlkYXRpb25zLnRyaWdnZXJzO1xyXG4gICAgY29uc3QgcnVsZXMgPSB2YWxpZGF0aW9ucy5ydWxlcztcclxuICAgIGNvbnN0IGFjdGlvbnMgPSB2YWxpZGF0aW9ucy5hY3Rpb25zO1xyXG5cclxuICAgIGNvbnN0IHJ1bGVzTWFwcGluZyA9IG5ldyBSdWxlcyhcclxuICAgICAgcnVsZXMsXHJcbiAgICAgIHRoaXMuX2ZpZWxkLFxyXG4gICAgICB0aGlzLl9mb3JtRGF0YSxcclxuICAgICAgdGhpcy5fcHJldmlvdXNGb3JtRGF0YSxcclxuICAgICAgdGhpcy5fYWxsRm9ybXNEYXRhXHJcbiAgICApLm1hcHBpbmcoKTtcclxuXHJcbiAgICBmb3IgKGxldCBhY3Rpb24gb2YgYWN0aW9ucykge1xyXG4gICAgICBjb25zdCBjb25kaXRpb25FdmFsdWF0aW9uID0gbmV3IENvbmRpdGlvbihcclxuICAgICAgICBhY3Rpb24uY29uZGl0aW9uLFxyXG4gICAgICAgIHJ1bGVzTWFwcGluZ1xyXG4gICAgICApLmV2YWx1YXRlKCk7XHJcblxyXG4gICAgICBpZiAoY29uZGl0aW9uRXZhbHVhdGlvbikge1xyXG4gICAgICAgIGNvbnN0IGFjdGlvbnMgPSBuZXcgQWN0aW9ucyhcclxuICAgICAgICAgIGFjdGlvbixcclxuICAgICAgICAgIHRoaXMuX2ZpZWxkLFxyXG4gICAgICAgICAgcnVsZXNNYXBwaW5nLFxyXG4gICAgICAgICAgdGhpcy5fYWxsRm9ybXNEYXRhLFxyXG4gICAgICAgICAgdGhpcy5fZm9ybURhdGEsXHJcbiAgICAgICAgICB0aGlzLl9wcmV2aW91c0Zvcm1EYXRhLFxyXG4gICAgICAgICAgdGhpcy5fdGFrZUFjdGlvblxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIGF3YWl0IGFjdGlvbnMuZXhlY3V0ZSgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -156,6 +156,9 @@ export class KwikIDFormsRendererComponent {
156
156
  }
157
157
  else {
158
158
  this.toggleErrorNotification(true);
159
+ setTimeout(() => {
160
+ this.toggleErrorNotification(false);
161
+ }, 3000);
159
162
  }
160
163
  }))();
161
164
  }
@@ -251,4 +254,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
251
254
  }], onClickApiCall: [{
252
255
  type: Output
253
256
  }] } });
254
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3dpa2lkLWZvcm1zL3NyYy9saWIvcmVuZGVyZXIvcmVuZGVyZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3dpa2lkLWZvcm1zL3NyYy9saWIvcmVuZGVyZXIvcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRSxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDaEcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7OztBQW1CM0QsTUFBTSxPQUFPLDRCQUE0QjtJQW1EdkMsWUFDUyxlQUFzQyxFQUNyQyxXQUF1QjtRQUR4QixvQkFBZSxHQUFmLGVBQWUsQ0FBdUI7UUFDckMsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUF4QmpDLGNBQVMsR0FBUSxFQUFFLENBQUM7UUFHcEIsb0JBQWUsR0FBUSxFQUFFLENBQUM7UUFHMUIsa0JBQWEsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUczRCxnQkFBVyxHQUFzQixJQUFJLFlB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USxDQUFDO2dCQXdCekMsVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFJTixlQUFlO3NCQURkLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixNQUFNO2dCQUlQLFdBQVc7c0JBRFYsTUFBTTtnQkFJUCxjQUFjO3NCQURiLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCI7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBTaW1wbGVDaGFuZ2VzXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRUFjdGlvbktleSB9IGZyb20gXCIuL2Zvcm0tdmlldy9kZWZpbml0aW9ucy9hY3Rpb25zL2Zvcm0tdmlldy5hY3Rpb25zLmVudW0uZGVmaW5pdGlvbnNcIjtcclxuaW1wb3J0IHsgU291cmNlcyB9IGZyb20gXCIuL2hlbHBlcnMvcmVuZGVyZXIuc291cmNlcy5oZWxwZXJcIjtcclxuaW1wb3J0IHsgVmFsaWRhdGlvbnMgfSBmcm9tIFwiLi9oZWxwZXJzL3JlbmRlcmVyLnZhbGlkYXRpb25zLmhlbHBlclwiO1xyXG5pbXBvcnQgeyBDb252ZXJ0ZXIgfSBmcm9tIFwiLi9yZW5kZXJlci5jb25maWctY29udmVydGVyLmhlbHBlclwiO1xyXG5pbXBvcnQgeyBpc1NpbmdsZUZvcm0gfSBmcm9tIFwiLi9yZW5kZXJlci5oZWxwZXJcIjtcclxuaW1wb3J0IHsgS3dpa0lEUmVuZGVyZXJTZXJ2aWNlIH0gZnJvbSBcIi4vcmVuZGVyZXIuc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwia3dpa2lkLWZvcm1zLXJlbmRlcmVyXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9yZW5kZXJlci5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9yZW5kZXJlci5jb21wb25lbnQuc2Nzc1wiXSxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKFwicGFuZWxJbk91dFwiLCBbXHJcbiAgICAgIHRyYW5zaXRpb24oXCI6ZW50ZXJcIiwgW1xyXG4gICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZVkoMTAwJSlcIiB9KSxcclxuICAgICAgICBhbmltYXRlKDE1MClcclxuICAgICAgXSksXHJcbiAgICAgIHRyYW5zaXRpb24oXCI6bGVhdmVcIiwgW1xyXG4gICAgICAgIGFuaW1hdGUoMTAwLCBzdHlsZSh7IHRyYW5zZm9ybTogXCJ0cmFuc2xhdGVZKDEwMCUpXCIgfSkpXHJcbiAgICAgIF0pXHJcbiAgICBdKVxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbS3dpa0lEUmVuZGVyZXJTZXJ2aWNlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgS3dpa0lERm9ybXNSZW5kZXJlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICAvLyBUaGUgZmluYWwgdmFsdWUgc2hvdWxkIGJlIHByb3ZpZGVkIHRvIHNlcnZpY2UsIHNvIHRoYXQgaXQgY2FuIGJlIHVzZWQgaW4gYWxsIGNvbXBvbmVudHNcclxuICBASG9zdExpc3RlbmVyKFwid2luZG93OnJlc2l6ZVwiLCBbXCIkZXZlbnRcIl0pXHJcbiAgd2luZG93UmVzaXplV2F0Y2hlcigpIHtcclxuICAgIGlmICh0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggPCA2MDApIHtcclxuICAgICAgaWYgKHRoaXMuc2hvd0Zvcm0pIHtcclxuICAgICAgICB0aGlzLnNob3dGb3JtU2VjdGlvbnMgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnNob3dGb3JtRmllbGRzID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNob3dGb3JtU2VjdGlvbnMgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc2hvd0Zvcm1GaWVsZHMgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnJlbmRlcmVyU2VydmljZS5pc01vYmlsZVZpZXcgPSB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuc2hvd0Zvcm0pIHtcclxuICAgICAgICB0aGlzLnNob3dGb3JtU2VjdGlvbnMgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc2hvd0Zvcm1GaWVsZHMgPSB0cnVlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc2hvd0Zvcm1TZWN0aW9ucyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5zaG93Rm9ybUZpZWxkcyA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMucmVuZGVyZXJTZXJ2aWNlLmlzTW9iaWxlVmlldyA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICB1c2VyQ29uZmlnOiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZm9ybXNEYXRhOiBhbnkgPSB7fTtcclxuXHJcbiAgQElucHV0KClcclxuICBhcGlDYWxsUmVzcG9uc2U6IGFueSA9IHt9O1xyXG5cclxuICBAT3V0cHV0KClcclxuICBvbkNsaWNrU3VibWl0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBnZXRGb3JtRGF0YTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgb25DbGlja0FwaUNhbGw6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBsb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLy8gZGlzcGxheSBmb3JtcyBhbmQgbGlzdCBjb25kaXRpb25hbGx5XHJcbiAgc2hvd0Zvcm06IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzaG93Rm9ybUZpZWxkczogYm9vbGVhbiA9IHRydWU7XHJcbiAgc2hvd0Zvcm1TZWN0aW9uczogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJlbmRlcmVyU2VydmljZTogS3dpa0lEUmVuZGVyZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBob3N0RWxlbWVudDogRWxlbWVudFJlZlxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmxvYWRlciA9IHRydWU7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG5cclxuICAgIHRoaXMucmVuZGVyZXJTZXJ2aWNlLnNldEZvcm1zTGlzdCh0aGlzLnVzZXJDb25maWcudXNlckZvcm1GaWVsZHMpO1xyXG5cclxuICAgIHRoaXMuaW5pdGlhbGl6ZUZvcm1zKCk7XHJcbiAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgY29uc3QgdmVyaWZ5Q2hhbmdlID0gKHByb3A6IHN0cmluZykgPT4ge1xyXG4gICAgICByZXR1cm4gY2hhbmdlcy5oYXNPd25Qcm9wZXJ0eShwcm9wKSAmJiAhY2hhbmdlc1twcm9wXS5maXJzdENoYW5nZTtcclxuICAgIH07XHJcbiAgICBpZiAodmVyaWZ5Q2hhbmdlKFwidXNlckNvbmZpZ1wiKSkge1xyXG4gICAgICB0aGlzLnVzZXJDb25maWcgPSBjaGFuZ2VzLnVzZXJDb25maWcuY3VycmVudFZhbHVlO1xyXG4gICAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgaWYgKHZlcmlmeUNoYW5nZShcImZvcm1zRGF0YVwiKSkge1xyXG4gICAgICB0aGlzLmZvcm1zRGF0YSA9IGNoYW5nZXMuZm9ybXNEYXRhLmN1cnJlbnRWYWx1ZTtcclxuXHJcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZUZvcm1zKCk7XHJcbiAgICB9XHJcbiAgICBpZiAodmVyaWZ5Q2hhbmdlKFwiYXBpQ2FsbFJlc3BvbnNlXCIpKSB7XHJcbiAgICAgIHRoaXMuYXBpQ2FsbFJlc3BvbnNlID0gY2hhbmdlcy5hcGlDYWxsUmVzcG9uc2UuY3VycmVudFZhbHVlO1xyXG4gICAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgaW5pdGlhbGl6ZUZvcm1zKCkge1xyXG4gICAgdGhpcy5sb2FkZXIgPSB0cnVlO1xyXG5cclxuICAgIHRoaXMucmVuZGVyZXJTZXJ2aWNlLnNldEFsbEZvcm1zRGF0YSh0aGlzLmZvcm1zRGF0YSk7XHJcblxyXG4gICAgdGhpcy5yZW5kZXJlclNlcnZpY2UudXBkYXRlRm9ybXNMaXN0KCk7XHJcblxyXG4gICAgdGhpcy5oYW5kbGVSZXNpemUodGhpcy5yZW5kZXJlclNlcnZpY2UuZm9ybXNMaXN0KTtcclxuXHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMucmVuZGVyZXJTZXJ2aWNlLmZvcm1zTGlzdC5sZW5ndGggIT09XHJcbiAgICAgIHRoaXMucmVuZGVyZXJTZXJ2aWNlLmZvcm1zTGlzdENvbXBsZXRlZC5sZW5ndGhcclxuICAgICkge1xyXG4gICAgICBhd2FpdCB0aGlzLmhhbmRsZU9uQ2xpY2tTZXRBY3RpdmVGb3JtKFxyXG4gICAgICAgIHRoaXMucmVuZGVyZXJTZXJ2aWNlLmFjdGl2ZUZvcm1Db25maWcua2V5XHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNob3dGb3JtID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuc2hvd0Zvcm1GaWVsZHMgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xyXG4gICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVSZXNpemUoZm9ybXNMaXN0OiBhbnlbXSkge1xyXG4gICAgaWYgKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCA8IDYwMCkge1xyXG4gICAgICBpZiAoIWlzU2luZ2xlRm9ybShmb3Jtc0xpc3QpKSB7XHJcbiAgICAgICAgdGhpcy5zaG93Rm9ybVNlY3Rpb25zID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNob3dGb3JtRmllbGRzID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zaG93Rm9ybSA9IGZhbHNlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc2hvd0Zvcm1TZWN0aW9ucyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5zaG93Rm9ybUZpZWxkcyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc2hvd0Zvcm0gPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnJlbmRlcmVyU2VydmljZS5pc01vYmlsZVZpZXcgPSB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5yZW5kZXJlclNlcnZpY2UuaXNNb2JpbGVWaWV3ID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBmb3Jtcy1saXN0IGxpc3RlbmVyXHJcbiAgYXN5bmMgaGFuZGxlT25DbGlja1NldEFjdGl2ZUZvcm0oc2VsZWN0ZWRGb3JtOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2hvd0Zvcm0gPSBmYWxzZTtcclxuICAgIHRoaXMubG9hZGVyID0gdHJ1ZTtcclxuXHJcbiAgICBjb25zdCBhY3RpdmVGb3JtQ29uZmlnID0gdGhpcy5yZW5kZXJlclNlcnZpY2UuZm9ybXNMaXN0LmZpbmQoKGZvcm0pID0+IHtcclxuICAgICAgaWYgKGZvcm0ua2V5ID09PSBzZWxlY3RlZEZvcm0pIHtcclxuICAgICAgICByZXR1cm4gZm9ybTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgbGV0IGZvcm1Db25maWcgPSBhd2FpdCB0aGlzLnJlbmRlcmVyU2VydmljZS5mZXRjaEZvcm1Db25maWcoXHJcbiAgICAgIGFjdGl2ZUZvcm1Db25maWcuZm9ybUNvbnRlbnQudXJsXHJcbiAgICApO1xyXG5cclxuICAgIGZvcm1Db25maWcgPSBuZXcgQ29udmVydGVyKCkuY29udmVydEZvcm1Db25maWcoZm9ybUNvbmZpZyk7XHJcblxyXG4gICAgY29uc3QgYWN0aXZlRm9ybURhdGEgPVxyXG4gICAgICB0aGlzLnJlbmRlcmVyU2VydmljZS5hbGxGb3Jtc0RhdGFbZm9ybUNvbmZpZy5rZXldID8/IHt9O1xyXG4gICAgdGhpcy5yZW5kZXJlclNlcnZpY2Uuc2V0QWN0aXZlRm9ybURhdGEoYWN0aXZlRm9ybURhdGEpO1xyXG5cclxuICAgIHRoaXMucmVuZGVyZXJTZXJ2aWNlLnNldEFjdGl2ZUZvcm1Db25maWcoe1xyXG4gICAgICAuLi5hY3RpdmVGb3JtQ29uZmlnLFxyXG4gICAgICAuLi5mb3JtQ29uZmlnXHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAodGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoIDwgNjAwKSB7XHJcbiAgICAgIHRoaXMuc2hvd0Zvcm1TZWN0aW9ucyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnNob3dGb3JtRmllbGRzID0gdHJ1ZTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoID49IDYwMCkge1xyXG4gICAgICB0aGlzLnNob3dGb3JtU2VjdGlvbnMgPSB0cnVlO1xyXG4gICAgICB0aGlzLnNob3dGb3JtRmllbGRzID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNob3dGb3JtID0gdHJ1ZTtcclxuICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvLyBmb3Jtcy1saXN0IGxpc3RlbmVyXHJcbiAgaGFuZGxlT25DbGlja1N1Ym1pdEZvcm1zKGU6IGFueSkge1xyXG4gICAgY29uc29sZS5sb2coZSk7XHJcblxyXG4gICAgaWYgKHRoaXMudXNlckNvbmZpZy51c2VyRm9ybUZpZWxkc0NvbmZpZy52YWxpZGF0aW9uKSB7XHJcbiAgICAgIGNvbnN0IHZhbGlkYXRpb25zID0gbmV3IFZhbGlkYXRpb25zKFxyXG4gICAgICAgIHRoaXMudXNlckNvbmZpZyxcclxuICAgICAgICB0aGlzLnRha2VBY3Rpb24uYmluZCh0aGlzKVxyXG4gICAgICApO1xyXG5cclxuICAgICAgKGFzeW5jICgpID0+IHtcclxuICAgICAgICBhd2FpdCB2YWxpZGF0aW9ucy52YWxpZGF0ZUZpZWxkKCk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnVzZXJDb25maWcudXNlckZvcm1GaWVsZHNDb25maWcuc3RhdHVzID09PSBcImNvbXBsZXRlZFwiKSB7XHJcbiAgICAgICAgICB0aGlzLm9uQ2xpY2tTdWJtaXQuZW1pdChlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy50b2dnbGVFcnJvck5vdGlmaWNhdGlvbih0cnVlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBmb3JtLXZpZXcgbGlzdGVuZXJcclxuICBoYW5kbGVPbkNsaWNrQXBpQ2FsbChlOiBhbnkpIHtcclxuICAgIHRoaXMubG9hZGVyID0gdHJ1ZTtcclxuICAgIHRoaXMub25DbGlja0FwaUNhbGwuZW1pdChlKTtcclxuICB9XHJcblxyXG4gIC8vIGZvcm0tdmlldyBsaXN0ZW5lclxyXG4gIGhhbmRsZUdldEFjdGl2ZUZvcm1EYXRhKGU6IGFueSkge1xyXG4gICAgdGhpcy5sb2FkZXIgPSB0cnVlO1xyXG4gICAgdGhpcy5nZXRGb3JtRGF0YS5lbWl0KHtcclxuICAgICAgW3RoaXMucmVuZGVyZXJTZXJ2aWNlLmFjdGl2ZUZvcm1Db25maWcua2V5XTogZVtcImRhdGFcIl1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gZm9ybS12aWV3IGxpc3RlbmVyXHJcbiAgaGFuZGxlT25DbGlja1NhdmVGb3JtKGU6IGFueSkge1xyXG4gICAgdGhpcy5sb2FkZXIgPSB0cnVlO1xyXG5cclxuICAgIHRoaXMucmVuZGVyZXJTZXJ2aWNlLnNldEFjdGl2ZUZvcm1EYXRhKHt9KTtcclxuXHJcbiAgICB0aGlzLmdldEZvcm1EYXRhLmVtaXQoe1xyXG4gICAgICBbdGhpcy5yZW5kZXJlclNlcnZpY2UuYWN0aXZlRm9ybUNvbmZpZy5rZXldOiBlW1wiZGF0YVwiXVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyBmb3JtLXZpZXcgbGlzdGVuZXJcclxuICBoYW5kbGVPbkNsaWNrVmlld0Zvcm1zKGU6IGFueSkge1xyXG4gICAgdGhpcy5zaG93Rm9ybVNlY3Rpb25zID0gdHJ1ZTtcclxuICAgIHRoaXMuc2hvd0Zvcm0gPSBmYWxzZTtcclxuICAgIHRoaXMuc2hvd0Zvcm1GaWVsZHMgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHNob3dFcnJvck5vdGlmaWNhdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHRvZ2dsZUVycm9yTm90aWZpY2F0aW9uKHNob3cpIHtcclxuICAgIHRoaXMuc2hvd0Vycm9yTm90aWZpY2F0aW9uID0gc2hvdztcclxuICB9XHJcblxyXG4gIGFzeW5jIHRha2VBY3Rpb24oYWN0aW9uOiBhbnksIHVzZXJDb25maWc6IGFueSkge1xyXG4gICAgc3dpdGNoIChhY3Rpb24ua2V5KSB7XHJcbiAgICAgIGNhc2UgRUFjdGlvbktleS5TRVRfVkFMVUU6XHJcbiAgICAgICAgY29uc3Qgc291cmNlcyA9IG5ldyBTb3VyY2VzKHVzZXJDb25maWcpO1xyXG5cclxuICAgICAgICBjb25zdCBzb3VyY2VWYWx1ZSA9IGF3YWl0IHNvdXJjZXMuZ2V0VmFsdWVGcm9tU291cmNlKFxyXG4gICAgICAgICAgYWN0aW9uLnByb3BzLnZhbHVlLnNvdXJjZVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgc291cmNlcy5zZXRWYWx1ZVRvU291cmNlKGFjdGlvbi5wcm9wcy52YWx1ZS5kZXN0aW5hdGlvbiwgc291cmNlVmFsdWUpO1xyXG5cclxuICAgICAgICB0aGlzLnVzZXJDb25maWcgPSBzb3VyY2VzLnVzZXJDb25maWc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgbmdDbGFzcz1cImt3aWtpZC1yZW5kZXJlclwiPlxyXG4gIDxkaXZcclxuICAgIG5nQ2xhc3M9XCJrd2lraWQtbGF5b3V0LWNvbnRhaW5lclwiXHJcbiAgICAqbmdJZj1cIiFsb2FkaW5nXCJcclxuICA+XHJcbiAgICA8ZGl2XHJcbiAgICAgIG5nQ2xhc3M9XCJrd2lraWQtc2VjdGlvbnMtY29udGFpbmVyXCJcclxuICAgICAgKm5nSWY9XCJzaG93Rm9ybVNlY3Rpb25zXCJcclxuICAgICAgY2xhc3M9XCJhY3RpdmVcIlxyXG4gICAgICBbY2xhc3MuYWN0aXZlXT1cInNob3dGb3JtU2VjdGlvbnNcIlxyXG4gICAgICBbY2xhc3MubW9iaWxlXT1cInJlbmRlcmVyU2VydmljZS5pc01vYmlsZVZpZXdcIlxyXG4gICAgPlxyXG4gICAgICA8a3dpa2lkLWZvcm1zLWxpc3RcclxuICAgICAgICBbc2hvd0Zvcm1GaWVsZHNdPVwidGhpcy5zaG93Rm9ybUZpZWxkc1wiXHJcbiAgICAgICAgW3VzZXJDb25maWddPVwidGhpcy51c2VyQ29uZmlnXCJcclxuICAgICAgICBbZm9ybXNMaXN0XT1cInRoaXMucmVuZGVyZXJTZXJ2aWNlLmZvcm1zTGlzdFwiXHJcbiAgICAgICAgW2Zvcm1zTGlzdENvbXBsZXRlZF09XCJ0aGlzLnJlbmRlcmVyU2VydmljZS5mb3Jtc0xpc3RDb21wbGV0ZWRcIlxyXG4gICAgICAgIFtpc01vYmlsZVZpZXddPVwidGhpcy5yZW5kZXJlclNlcnZpY2UuaXNNb2JpbGVWaWV3XCJcclxuICAgICAgICAob25DbGlja1NldEFjdGl2ZUZvcm0pPVwidGhpcy5oYW5kbGVPbkNsaWNrU2V0QWN0aXZlRm9ybSgkZXZlbnQpXCJcclxuICAgICAgICAob25DbGlja1N1Ym1pdEZvcm1zKT1cInRoaXMuaGFuZGxlT25DbGlja1N1Ym1pdEZvcm1zKCRldmVudClcIlxyXG4gICAgICA+PC9rd2lraWQtZm9ybXMtbGlzdD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdlxyXG4gICAgICBuZ0NsYXNzPVwia3dpa2lkLWZvcm1zLWNvbnRhaW5lclwiXHJcbiAgICAgICpuZ0lmPVwidGhpcy5zaG93Rm9ybSAmJiB0aGlzLnNob3dGb3JtRmllbGRzXCJcclxuICAgICAgW2NsYXNzLmFjdGl2ZV09XCJzaG93Rm9ybUZpZWxkc1wiXHJcbiAgICAgIFtjbGFzcy5tb2JpbGVdPVwicmVuZGVyZXJTZXJ2aWNlLmlzTW9iaWxlVmlld1wiXHJcbiAgICAgIFtAcGFuZWxJbk91dF1cclxuICAgID5cclxuICAgICAgPGt3aWtpZC1mb3JtLXZpZXdcclxuICAgICAgICBbZm9ybUNvbmZpZ109XCJ0aGlzLnJlbmRlcmVyU2VydmljZS5hY3RpdmVGb3JtQ29uZmlnXCJcclxuICAgICAgICBbZm9ybURhdGFdPVwidGhpcy5yZW5kZXJlclNlcnZpY2UuYWN0aXZlRm9ybURhdGFcIlxyXG4gICAgICAgIFthcGlDYWxsUmVzcG9uc2VdPVwidGhpcy5hcGlDYWxsUmVzcG9uc2VcIlxyXG4gICAgICAgIFtmb3Jtc0xpc3RdPVwidGhpcy5yZW5kZXJlclNlcnZpY2UuZm9ybXNMaXN0XCJcclxuICAgICAgICBbYWxsRm9ybXNEYXRhXT1cInRoaXMucmVuZGVyZXJTZXJ2aWNlLmFsbEZvcm1zRGF0YVwiXHJcbiAgICAgICAgW2lzTW9iaWxlVmlld109XCJ0aGlzLnJlbmRlcmVyU2VydmljZS5pc01vYmlsZVZpZXdcIlxyXG4gICAgICAgIChvbkNsaWNrQXBpQ2FsbCk9XCJ0aGlzLmhhbmRsZU9uQ2xpY2tBcGlDYWxsKCRldmVudClcIlxyXG4gICAgICAgIChvbkNsaWNrVmlld0Zvcm1zKT1cInRoaXMuaGFuZGxlT25DbGlja1ZpZXdGb3JtcygkZXZlbnQpXCJcclxuICAgICAgICAob25DbGlja1NhdmVGb3JtKT1cInRoaXMuaGFuZGxlT25DbGlja1NhdmVGb3JtKCRldmVudClcIlxyXG4gICAgICAgIChnZXRBY3RpdmVGb3JtRGF0YSk9XCJ0aGlzLmhhbmRsZUdldEFjdGl2ZUZvcm1EYXRhKCRldmVudClcIlxyXG4gICAgICA+PC9rd2lraWQtZm9ybS12aWV3PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG48ZGl2XHJcbiAgbmdDbGFzcz1cImt3aWtpZC1mb3Jtcy1yZW5kZXJlci1sb2FkZXJcIlxyXG4gICpuZ0lmPVwibG9hZGVyXCJcclxuPlxyXG4gIDxzcGFuIGNsYXNzPVwibG9hZGVyXCI+PC9zcGFuPlxyXG48L2Rpdj5cclxuPHR1aS1wdXNoXHJcbiAgaWQ9XCJlcnJvci1ub3RpZmljYXRpb25cIlxyXG4gICp0dWlQdXNoPVwic2hvd0Vycm9yTm90aWZpY2F0aW9uXCJcclxuICBoZWFkaW5nPVwiUGxlYXNlIGNvbXBsZXRlIHRoZSByZXF1aXJlZCBGb3JtcyFcIlxyXG4gIHR5cGU9XCJFcnJvclwiXHJcbiAgKGNsb3NlKT1cInRvZ2dsZUVycm9yTm90aWZpY2F0aW9uKGZhbHNlKVwiXHJcbj5cclxuICA8dHVpLXN2Z1xyXG4gICAgc3JjPVwidHVpSWNvbkNhbmNlbFwiXHJcbiAgICBzdHlsZT1cImNvbG9yOiAjZmZmICFpbXBvcnRhbnRcIlxyXG4gID5cclxuICA8L3R1aS1zdmc+XHJcbjwvdHVpLXB1c2g+XHJcbiJdfQ==
257
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3dpa2lkLWZvcm1zL3NyYy9saWIvcmVuZGVyZXIvcmVuZGVyZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3dpa2lkLWZvcm1zL3NyYy9saWIvcmVuZGVyZXIvcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRSxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDaEcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7OztBQW1CM0QsTUFBTSxPQUFPLDRCQUE0QjtJQW1EdkMsWUFDUyxlQUFzQyxFQUNyQyxXQUF1QjtRQUR4QixvQkFBZSxHQUFmLGVBQWUsQ0FBdUI7UUFDckMsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUF4QmpDLGNBQVMsR0FBUSxFQUFFLENBQUM7UUFHcEIsb0JBQWUsR0FBUSxFQUFFLENBQUM7UUFHMUIsa0JBQWEsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUczRCxnQkFBVyxHQUFzQixJQUFJLFlB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LENBQUM7cUJBQ0g7b0JBQ0QsU0FBUyxFQUFFLENBQUMscUJBQXFCLENBQUM7aUJBQ25DO3FJQUlDLG1CQUFtQjtzQkFEbEIsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBd0J6QyxVQUFVO3NCQURULEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLGVBQWU7c0JBRGQsS0FBSztnQkFJTixhQUFhO3NCQURaLE1BQU07Z0JBSVAsV0FBVztzQkFEVixNQUFNO2dCQUlQLGNBQWM7c0JBRGIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSBcIkBhbmd1bGFyL2FuaW1hdGlvbnNcIjtcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXNcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBFQWN0aW9uS2V5IH0gZnJvbSBcIi4vZm9ybS12aWV3L2RlZmluaXRpb25zL2FjdGlvbnMvZm9ybS12aWV3LmFjdGlvbnMuZW51bS5kZWZpbml0aW9uc1wiO1xyXG5pbXBvcnQgeyBTb3VyY2VzIH0gZnJvbSBcIi4vaGVscGVycy9yZW5kZXJlci5zb3VyY2VzLmhlbHBlclwiO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9ucyB9IGZyb20gXCIuL2hlbHBlcnMvcmVuZGVyZXIudmFsaWRhdGlvbnMuaGVscGVyXCI7XHJcbmltcG9ydCB7IENvbnZlcnRlciB9IGZyb20gXCIuL3JlbmRlcmVyLmNvbmZpZy1jb252ZXJ0ZXIuaGVscGVyXCI7XHJcbmltcG9ydCB7IGlzU2luZ2xlRm9ybSB9IGZyb20gXCIuL3JlbmRlcmVyLmhlbHBlclwiO1xyXG5pbXBvcnQgeyBLd2lrSURSZW5kZXJlclNlcnZpY2UgfSBmcm9tIFwiLi9yZW5kZXJlci5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJrd2lraWQtZm9ybXMtcmVuZGVyZXJcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL3JlbmRlcmVyLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL3JlbmRlcmVyLmNvbXBvbmVudC5zY3NzXCJdLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoXCJwYW5lbEluT3V0XCIsIFtcclxuICAgICAgdHJhbnNpdGlvbihcIjplbnRlclwiLCBbXHJcbiAgICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06IFwidHJhbnNsYXRlWSgxMDAlKVwiIH0pLFxyXG4gICAgICAgIGFuaW1hdGUoMTUwKVxyXG4gICAgICBdKSxcclxuICAgICAgdHJhbnNpdGlvbihcIjpsZWF2ZVwiLCBbXHJcbiAgICAgICAgYW5pbWF0ZSgxMDAsIHN0eWxlKHsgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZVkoMTAwJSlcIiB9KSlcclxuICAgICAgXSlcclxuICAgIF0pXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtLd2lrSURSZW5kZXJlclNlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLd2lrSURGb3Jtc1JlbmRlcmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIC8vIFRoZSBmaW5hbCB2YWx1ZSBzaG91bGQgYmUgcHJvdmlkZWQgdG8gc2VydmljZSwgc28gdGhhdCBpdCBjYW4gYmUgdXNlZCBpbiBhbGwgY29tcG9uZW50c1xyXG4gIEBIb3N0TGlzdGVuZXIoXCJ3aW5kb3c6cmVzaXplXCIsIFtcIiRldmVudFwiXSlcclxuICB3aW5kb3dSZXNpemVXYXRjaGVyKCkge1xyXG4gICAgaWYgKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCA8IDYwMCkge1xyXG4gICAgICBpZiAodGhpcy5zaG93Rm9ybSkge1xyXG4gICAgICAgIHRoaXMuc2hvd0Zvcm1TZWN0aW9ucyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc2hvd0Zvcm1GaWVsZHMgPSB0cnVlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc2hvd0Zvcm1TZWN0aW9ucyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5zaG93Rm9ybUZpZWxkcyA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMucmVuZGVyZXJTZXJ2aWNlLmlzTW9iaWxlVmlldyA9IHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAodGhpcy5zaG93Rm9ybSkge1xyXG4gICAgICAgIHRoaXMuc2hvd0Zvcm1TZWN0aW9ucyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5zaG93Rm9ybUZpZWxkcyA9IHRydWU7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zaG93Rm9ybVNlY3Rpb25zID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNob3dGb3JtRmllbGRzID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5yZW5kZXJlclNlcnZpY2UuaXNNb2JpbGVWaWV3ID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHVzZXJDb25maWc6IGFueTtcclxuXHJcbiAgQElucHV0KClcclxuICBmb3Jtc0RhdGE6IGFueSA9IHt9O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGFwaUNhbGxSZXNwb25zZTogYW55ID0ge307XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIG9uQ2xpY2tTdWJtaXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIGdldEZvcm1EYXRhOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBvbkNsaWNrQXBpQ2FsbDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGxvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvLyBkaXNwbGF5IGZvcm1zIGFuZCBsaXN0IGNvbmRpdGlvbmFsbHlcclxuICBzaG93Rm9ybTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHNob3dGb3JtRmllbGRzOiBib29sZWFuID0gdHJ1ZTtcclxuICBzaG93Rm9ybVNlY3Rpb25zOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcmVuZGVyZXJTZXJ2aWNlOiBLd2lrSURSZW5kZXJlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGhvc3RFbGVtZW50OiBFbGVtZW50UmVmXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMubG9hZGVyID0gdHJ1ZTtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5yZW5kZXJlclNlcnZpY2Uuc2V0Rm9ybXNMaXN0KHRoaXMudXNlckNvbmZpZy51c2VyRm9ybUZpZWxkcyk7XHJcblxyXG4gICAgdGhpcy5pbml0aWFsaXplRm9ybXMoKTtcclxuICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCB2ZXJpZnlDaGFuZ2UgPSAocHJvcDogc3RyaW5nKSA9PiB7XHJcbiAgICAgIHJldHVybiBjaGFuZ2VzLmhhc093blByb3BlcnR5KHByb3ApICYmICFjaGFuZ2VzW3Byb3BdLmZpcnN0Q2hhbmdlO1xyXG4gICAgfTtcclxuICAgIGlmICh2ZXJpZnlDaGFuZ2UoXCJ1c2VyQ29uZmlnXCIpKSB7XHJcbiAgICAgIHRoaXMudXNlckNvbmZpZyA9IGNoYW5nZXMudXNlckNvbmZpZy5jdXJyZW50VmFsdWU7XHJcbiAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBpZiAodmVyaWZ5Q2hhbmdlKFwiZm9ybXNEYXRhXCIpKSB7XHJcbiAgICAgIHRoaXMuZm9ybXNEYXRhID0gY2hhbmdlcy5mb3Jtc0RhdGEuY3VycmVudFZhbHVlO1xyXG5cclxuICAgICAgdGhpcy5pbml0aWFsaXplRm9ybXMoKTtcclxuICAgIH1cclxuICAgIGlmICh2ZXJpZnlDaGFuZ2UoXCJhcGlDYWxsUmVzcG9uc2VcIikpIHtcclxuICAgICAgdGhpcy5hcGlDYWxsUmVzcG9uc2UgPSBjaGFuZ2VzLmFwaUNhbGxSZXNwb25zZS5jdXJyZW50VmFsdWU7XHJcbiAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyBpbml0aWFsaXplRm9ybXMoKSB7XHJcbiAgICB0aGlzLmxvYWRlciA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5yZW5kZXJlclNlcnZpY2Uuc2V0QWxsRm9ybXNEYXRhKHRoaXMuZm9ybXNEYXRhKTtcclxuXHJcbiAgICB0aGlzLnJlbmRlcmVyU2VydmljZS51cGRhdGVGb3Jtc0xpc3QoKTtcclxuXHJcbiAgICB0aGlzLmhhbmRsZVJlc2l6ZSh0aGlzLnJlbmRlcmVyU2VydmljZS5mb3Jtc0xpc3QpO1xyXG5cclxuICAgIGlmIChcclxuICAgICAgdGhpcy5yZW5kZXJlclNlcnZpY2UuZm9ybXNMaXN0Lmxlbmd0aCAhPT1cclxuICAgICAgdGhpcy5yZW5kZXJlclNlcnZpY2UuZm9ybXNMaXN0Q29tcGxldGVkLmxlbmd0aFxyXG4gICAgKSB7XHJcbiAgICAgIGF3YWl0IHRoaXMuaGFuZGxlT25DbGlja1NldEFjdGl2ZUZvcm0oXHJcbiAgICAgICAgdGhpcy5yZW5kZXJlclNlcnZpY2UuYWN0aXZlRm9ybUNvbmZpZy5rZXlcclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2hvd0Zvcm0gPSBmYWxzZTtcclxuICAgICAgdGhpcy5zaG93Rm9ybUZpZWxkcyA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGhhbmRsZVJlc2l6ZShmb3Jtc0xpc3Q6IGFueVtdKSB7XHJcbiAgICBpZiAodGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoIDwgNjAwKSB7XHJcbiAgICAgIGlmICghaXNTaW5nbGVGb3JtKGZvcm1zTGlzdCkpIHtcclxuICAgICAgICB0aGlzLnNob3dGb3JtU2VjdGlvbnMgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc2hvd0Zvcm1GaWVsZHMgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnNob3dGb3JtID0gZmFsc2U7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zaG93Rm9ybVNlY3Rpb25zID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNob3dGb3JtRmllbGRzID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zaG93Rm9ybSA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMucmVuZGVyZXJTZXJ2aWNlLmlzTW9iaWxlVmlldyA9IHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyU2VydmljZS5pc01vYmlsZVZpZXcgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIGZvcm1zLWxpc3QgbGlzdGVuZXJcclxuICBhc3luYyBoYW5kbGVPbkNsaWNrU2V0QWN0aXZlRm9ybShzZWxlY3RlZEZvcm06IHN0cmluZykge1xyXG4gICAgdGhpcy5zaG93Rm9ybSA9IGZhbHNlO1xyXG4gICAgdGhpcy5sb2FkZXIgPSB0cnVlO1xyXG5cclxuICAgIGNvbnN0IGFjdGl2ZUZvcm1Db25maWcgPSB0aGlzLnJlbmRlcmVyU2VydmljZS5mb3Jtc0xpc3QuZmluZCgoZm9ybSkgPT4ge1xyXG4gICAgICBpZiAoZm9ybS5rZXkgPT09IHNlbGVjdGVkRm9ybSkge1xyXG4gICAgICAgIHJldHVybiBmb3JtO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBsZXQgZm9ybUNvbmZpZyA9IGF3YWl0IHRoaXMucmVuZGVyZXJTZXJ2aWNlLmZldGNoRm9ybUNvbmZpZyhcclxuICAgICAgYWN0aXZlRm9ybUNvbmZpZy5mb3JtQ29udGVudC51cmxcclxuICAgICk7XHJcblxyXG4gICAgZm9ybUNvbmZpZyA9IG5ldyBDb252ZXJ0ZXIoKS5jb252ZXJ0Rm9ybUNvbmZpZyhmb3JtQ29uZmlnKTtcclxuXHJcbiAgICBjb25zdCBhY3RpdmVGb3JtRGF0YSA9XHJcbiAgICAgIHRoaXMucmVuZGVyZXJTZXJ2aWNlLmFsbEZvcm1zRGF0YVtmb3JtQ29uZmlnLmtleV0gPz8ge307XHJcbiAgICB0aGlzLnJlbmRlcmVyU2VydmljZS5zZXRBY3RpdmVGb3JtRGF0YShhY3RpdmVGb3JtRGF0YSk7XHJcblxyXG4gICAgdGhpcy5yZW5kZXJlclNlcnZpY2Uuc2V0QWN0aXZlRm9ybUNvbmZpZyh7XHJcbiAgICAgIC4uLmFjdGl2ZUZvcm1Db25maWcsXHJcbiAgICAgIC4uLmZvcm1Db25maWdcclxuICAgIH0pO1xyXG5cclxuICAgIGlmICh0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggPCA2MDApIHtcclxuICAgICAgdGhpcy5zaG93Rm9ybVNlY3Rpb25zID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuc2hvd0Zvcm1GaWVsZHMgPSB0cnVlO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggPj0gNjAwKSB7XHJcbiAgICAgIHRoaXMuc2hvd0Zvcm1TZWN0aW9ucyA9IHRydWU7XHJcbiAgICAgIHRoaXMuc2hvd0Zvcm1GaWVsZHMgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2hvd0Zvcm0gPSB0cnVlO1xyXG4gICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8vIGZvcm1zLWxpc3QgbGlzdGVuZXJcclxuICBoYW5kbGVPbkNsaWNrU3VibWl0Rm9ybXMoZTogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZyhlKTtcclxuXHJcbiAgICBpZiAodGhpcy51c2VyQ29uZmlnLnVzZXJGb3JtRmllbGRzQ29uZmlnLnZhbGlkYXRpb24pIHtcclxuICAgICAgY29uc3QgdmFsaWRhdGlvbnMgPSBuZXcgVmFsaWRhdGlvbnMoXHJcbiAgICAgICAgdGhpcy51c2VyQ29uZmlnLFxyXG4gICAgICAgIHRoaXMudGFrZUFjdGlvbi5iaW5kKHRoaXMpXHJcbiAgICAgICk7XHJcblxyXG4gICAgICAoYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgIGF3YWl0IHZhbGlkYXRpb25zLnZhbGlkYXRlRmllbGQoKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMudXNlckNvbmZpZy51c2VyRm9ybUZpZWxkc0NvbmZpZy5zdGF0dXMgPT09IFwiY29tcGxldGVkXCIpIHtcclxuICAgICAgICAgIHRoaXMub25DbGlja1N1Ym1pdC5lbWl0KGUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnRvZ2dsZUVycm9yTm90aWZpY2F0aW9uKHRydWUpO1xyXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudG9nZ2xlRXJyb3JOb3RpZmljYXRpb24oZmFsc2UpO1xyXG4gICAgICAgICAgfSwgMzAwMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gZm9ybS12aWV3IGxpc3RlbmVyXHJcbiAgaGFuZGxlT25DbGlja0FwaUNhbGwoZTogYW55KSB7XHJcbiAgICB0aGlzLmxvYWRlciA9IHRydWU7XHJcbiAgICB0aGlzLm9uQ2xpY2tBcGlDYWxsLmVtaXQoZSk7XHJcbiAgfVxyXG5cclxuICAvLyBmb3JtLXZpZXcgbGlzdGVuZXJcclxuICBoYW5kbGVHZXRBY3RpdmVGb3JtRGF0YShlOiBhbnkpIHtcclxuICAgIHRoaXMubG9hZGVyID0gdHJ1ZTtcclxuICAgIHRoaXMuZ2V0Rm9ybURhdGEuZW1pdCh7XHJcbiAgICAgIFt0aGlzLnJlbmRlcmVyU2VydmljZS5hY3RpdmVGb3JtQ29uZmlnLmtleV06IGVbXCJkYXRhXCJdXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vIGZvcm0tdmlldyBsaXN0ZW5lclxyXG4gIGhhbmRsZU9uQ2xpY2tTYXZlRm9ybShlOiBhbnkpIHtcclxuICAgIHRoaXMubG9hZGVyID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLnJlbmRlcmVyU2VydmljZS5zZXRBY3RpdmVGb3JtRGF0YSh7fSk7XHJcblxyXG4gICAgdGhpcy5nZXRGb3JtRGF0YS5lbWl0KHtcclxuICAgICAgW3RoaXMucmVuZGVyZXJTZXJ2aWNlLmFjdGl2ZUZvcm1Db25maWcua2V5XTogZVtcImRhdGFcIl1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gZm9ybS12aWV3IGxpc3RlbmVyXHJcbiAgaGFuZGxlT25DbGlja1ZpZXdGb3JtcyhlOiBhbnkpIHtcclxuICAgIHRoaXMuc2hvd0Zvcm1TZWN0aW9ucyA9IHRydWU7XHJcbiAgICB0aGlzLnNob3dGb3JtID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dGb3JtRmllbGRzID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBzaG93RXJyb3JOb3RpZmljYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuICB0b2dnbGVFcnJvck5vdGlmaWNhdGlvbihzaG93KSB7XHJcbiAgICB0aGlzLnNob3dFcnJvck5vdGlmaWNhdGlvbiA9IHNob3c7XHJcbiAgfVxyXG5cclxuICBhc3luYyB0YWtlQWN0aW9uKGFjdGlvbjogYW55LCB1c2VyQ29uZmlnOiBhbnkpIHtcclxuICAgIHN3aXRjaCAoYWN0aW9uLmtleSkge1xyXG4gICAgICBjYXNlIEVBY3Rpb25LZXkuU0VUX1ZBTFVFOlxyXG4gICAgICAgIGNvbnN0IHNvdXJjZXMgPSBuZXcgU291cmNlcyh1c2VyQ29uZmlnKTtcclxuXHJcbiAgICAgICAgY29uc3Qgc291cmNlVmFsdWUgPSBhd2FpdCBzb3VyY2VzLmdldFZhbHVlRnJvbVNvdXJjZShcclxuICAgICAgICAgIGFjdGlvbi5wcm9wcy52YWx1ZS5zb3VyY2VcclxuICAgICAgICApO1xyXG4gICAgICAgIHNvdXJjZXMuc2V0VmFsdWVUb1NvdXJjZShhY3Rpb24ucHJvcHMudmFsdWUuZGVzdGluYXRpb24sIHNvdXJjZVZhbHVlKTtcclxuXHJcbiAgICAgICAgdGhpcy51c2VyQ29uZmlnID0gc291cmNlcy51c2VyQ29uZmlnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IG5nQ2xhc3M9XCJrd2lraWQtcmVuZGVyZXJcIj5cclxuICA8ZGl2XHJcbiAgICBuZ0NsYXNzPVwia3dpa2lkLWxheW91dC1jb250YWluZXJcIlxyXG4gICAgKm5nSWY9XCIhbG9hZGluZ1wiXHJcbiAgPlxyXG4gICAgPGRpdlxyXG4gICAgICBuZ0NsYXNzPVwia3dpa2lkLXNlY3Rpb25zLWNvbnRhaW5lclwiXHJcbiAgICAgICpuZ0lmPVwic2hvd0Zvcm1TZWN0aW9uc1wiXHJcbiAgICAgIGNsYXNzPVwiYWN0aXZlXCJcclxuICAgICAgW2NsYXNzLmFjdGl2ZV09XCJzaG93Rm9ybVNlY3Rpb25zXCJcclxuICAgICAgW2NsYXNzLm1vYmlsZV09XCJyZW5kZXJlclNlcnZpY2UuaXNNb2JpbGVWaWV3XCJcclxuICAgID5cclxuICAgICAgPGt3aWtpZC1mb3Jtcy1saXN0XHJcbiAgICAgICAgW3Nob3dGb3JtRmllbGRzXT1cInRoaXMuc2hvd0Zvcm1GaWVsZHNcIlxyXG4gICAgICAgIFt1c2VyQ29uZmlnXT1cInRoaXMudXNlckNvbmZpZ1wiXHJcbiAgICAgICAgW2Zvcm1zTGlzdF09XCJ0aGlzLnJlbmRlcmVyU2VydmljZS5mb3Jtc0xpc3RcIlxyXG4gICAgICAgIFtmb3Jtc0xpc3RDb21wbGV0ZWRdPVwidGhpcy5yZW5kZXJlclNlcnZpY2UuZm9ybXNMaXN0Q29tcGxldGVkXCJcclxuICAgICAgICBbaXNNb2JpbGVWaWV3XT1cInRoaXMucmVuZGVyZXJTZXJ2aWNlLmlzTW9iaWxlVmlld1wiXHJcbiAgICAgICAgKG9uQ2xpY2tTZXRBY3RpdmVGb3JtKT1cInRoaXMuaGFuZGxlT25DbGlja1NldEFjdGl2ZUZvcm0oJGV2ZW50KVwiXHJcbiAgICAgICAgKG9uQ2xpY2tTdWJtaXRGb3Jtcyk9XCJ0aGlzLmhhbmRsZU9uQ2xpY2tTdWJtaXRGb3JtcygkZXZlbnQpXCJcclxuICAgICAgPjwva3dpa2lkLWZvcm1zLWxpc3Q+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXZcclxuICAgICAgbmdDbGFzcz1cImt3aWtpZC1mb3Jtcy1jb250YWluZXJcIlxyXG4gICAgICAqbmdJZj1cInRoaXMuc2hvd0Zvcm0gJiYgdGhpcy5zaG93Rm9ybUZpZWxkc1wiXHJcbiAgICAgIFtjbGFzcy5hY3RpdmVdPVwic2hvd0Zvcm1GaWVsZHNcIlxyXG4gICAgICBbY2xhc3MubW9iaWxlXT1cInJlbmRlcmVyU2VydmljZS5pc01vYmlsZVZpZXdcIlxyXG4gICAgICBbQHBhbmVsSW5PdXRdXHJcbiAgICA+XHJcbiAgICAgIDxrd2lraWQtZm9ybS12aWV3XHJcbiAgICAgICAgW2Zvcm1Db25maWddPVwidGhpcy5yZW5kZXJlclNlcnZpY2UuYWN0aXZlRm9ybUNvbmZpZ1wiXHJcbiAgICAgICAgW2Zvcm1EYXRhXT1cInRoaXMucmVuZGVyZXJTZXJ2aWNlLmFjdGl2ZUZvcm1EYXRhXCJcclxuICAgICAgICBbYXBpQ2FsbFJlc3BvbnNlXT1cInRoaXMuYXBpQ2FsbFJlc3BvbnNlXCJcclxuICAgICAgICBbZm9ybXNMaXN0XT1cInRoaXMucmVuZGVyZXJTZXJ2aWNlLmZvcm1zTGlzdFwiXHJcbiAgICAgICAgW2FsbEZvcm1zRGF0YV09XCJ0aGlzLnJlbmRlcmVyU2VydmljZS5hbGxGb3Jtc0RhdGFcIlxyXG4gICAgICAgIFtpc01vYmlsZVZpZXddPVwidGhpcy5yZW5kZXJlclNlcnZpY2UuaXNNb2JpbGVWaWV3XCJcclxuICAgICAgICAob25DbGlja0FwaUNhbGwpPVwidGhpcy5oYW5kbGVPbkNsaWNrQXBpQ2FsbCgkZXZlbnQpXCJcclxuICAgICAgICAob25DbGlja1ZpZXdGb3Jtcyk9XCJ0aGlzLmhhbmRsZU9uQ2xpY2tWaWV3Rm9ybXMoJGV2ZW50KVwiXHJcbiAgICAgICAgKG9uQ2xpY2tTYXZlRm9ybSk9XCJ0aGlzLmhhbmRsZU9uQ2xpY2tTYXZlRm9ybSgkZXZlbnQpXCJcclxuICAgICAgICAoZ2V0QWN0aXZlRm9ybURhdGEpPVwidGhpcy5oYW5kbGVHZXRBY3RpdmVGb3JtRGF0YSgkZXZlbnQpXCJcclxuICAgICAgPjwva3dpa2lkLWZvcm0tdmlldz5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuPGRpdlxyXG4gIG5nQ2xhc3M9XCJrd2lraWQtZm9ybXMtcmVuZGVyZXItbG9hZGVyXCJcclxuICAqbmdJZj1cImxvYWRlclwiXHJcbj5cclxuICA8c3BhbiBjbGFzcz1cImxvYWRlclwiPjwvc3Bhbj5cclxuPC9kaXY+XHJcbjx0dWktcHVzaFxyXG4gIGlkPVwiZXJyb3Itbm90aWZpY2F0aW9uXCJcclxuICAqdHVpUHVzaD1cInNob3dFcnJvck5vdGlmaWNhdGlvblwiXHJcbiAgaGVhZGluZz1cIlBsZWFzZSBjb21wbGV0ZSB0aGUgcmVxdWlyZWQgRm9ybXMhXCJcclxuICB0eXBlPVwiRXJyb3JcIlxyXG4gIChjbG9zZSk9XCJ0b2dnbGVFcnJvck5vdGlmaWNhdGlvbihmYWxzZSlcIlxyXG4+XHJcbiAgPHR1aS1zdmdcclxuICAgIHNyYz1cInR1aUljb25DYW5jZWxcIlxyXG4gICAgc3R5bGU9XCJjb2xvcjogI2ZmZiAhaW1wb3J0YW50XCJcclxuICA+XHJcbiAgPC90dWktc3ZnPlxyXG48L3R1aS1wdXNoPlxyXG4iXX0=