@piserve-tech/form-submission 1.3.237 → 1.3.238

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.
@@ -1,4 +1,5 @@
1
1
  import { Component, EventEmitter, Injector, Input, Output, } from '@angular/core';
2
+ import { v4 as uuidv4 } from 'uuid';
2
3
  import * as i0 from "@angular/core";
3
4
  import * as i1 from "../../services/score.service";
4
5
  import * as i2 from "@angular/common";
@@ -123,7 +124,7 @@ export class CardSubformComponent {
123
124
  });
124
125
  });
125
126
  const submission = {
126
- submissionId: '',
127
+ submissionId: uuidv4(),
127
128
  answers: emptyAnswers,
128
129
  configuration: {
129
130
  isDefault: false,
@@ -271,4 +272,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
271
272
  }], subFormChange: [{
272
273
  type: Output
273
274
  }] } });
274
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1zdWJmb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm0tc3VibWlzc2lvbi9zcmMvcXVlc3Rpb24vY2FyZC1zdWJmb3JtL2NhcmQtc3ViZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLXN1Ym1pc3Npb24vc3JjL3F1ZXN0aW9uL2NhcmQtc3ViZm9ybS9jYXJkLXN1YmZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osUUFBUSxFQUNSLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVd2QixNQUFNLE9BQU8sb0JBQW9CO0lBYy9CLFlBQ1UsZ0JBQXlDO1FBQXpDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBeUI7UUFkMUMsWUFBTyxHQUFRLEVBQUUsQ0FBQztRQUNsQixxQkFBZ0IsR0FBVyxFQUFFLENBQUM7UUFDOUIsU0FBSSxHQUFZLEtBQUssQ0FBQztRQUc5QixtQkFBYyxHQUFXLG9CQUFvQixDQUFDO1FBRS9DLGdCQUFXLEdBQWlCLEVBQUUsQ0FBQztRQUMvQix1QkFBa0IsR0FBYSxFQUFFLENBQUM7UUFHeEIsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ2xELFNBQUksR0FBRyxJQUFJLENBQUM7SUFHVixDQUFDO0lBRUgsUUFBUTtRQUNOLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwRixJQUFJLENBQUMsb0JBQW9CLEdBQUcsT0FBTyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxNQUFNLENBQUM7UUFFbEMsSUFBSSxD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ekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3JJLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO0lBQ3RDLENBQUM7K0dBdlJVLG9CQUFvQjttR0FBcEIsb0JBQW9CLHlMQ2pCakMsODNSQWdOQTs7NEZEL0xhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxrQkFBa0I7OEdBS25CLE9BQU87c0JBQWYsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQVNJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0b3IsXG4gIElucHV0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViRm9ybSB9IGZyb20gJy4uLy4uL21vZGVscy9zdWJGb3JtLm1vZGVsJztcbmltcG9ydCB7IFN1Ym1pc3Npb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvc3VibWlzc2lvbi5tb2RlbCc7XG5pbXBvcnQgeyBBbnN3ZXIgfSBmcm9tICcuLi8uLi9tb2RlbHMvYW5zd2VyLm1vZGVsJztcbmltcG9ydCB7IFNjb3JlQ2FsY3VsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2NvcmUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1jYXJkLXN1YmZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FyZC1zdWJmb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2FyZC1zdWJmb3JtLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENhcmRTdWJmb3JtQ29tcG9uZW50IHtcbiAgQElucHV0KCkgc3ViRm9ybTogYW55ID0ge307XG4gIEBJbnB1dCgpIGFjY2VwdGVkTGFuZ3VhZ2U6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBlZGl0OiBib29sZWFuID0gZmFsc2U7XG4gIGdyaWQ6IGFueTtcbiAgY29tcG9uZW50VG9Mb2FkOiBhbnk7XG4gICBhZGRCdXR0b25MYWJlbDogc3RyaW5nID0gJ0FkZCBOZXcgU3VibWlzc2lvbic7XG4gIGluamVjdG9yITogSW5qZWN0b3I7XG4gIHN1Ym1pc3Npb25zOiBTdWJtaXNzaW9uW10gPSBbXTtcbiAgZGVsZXRlZFN1Ym1pc3Npb25zOiBzdHJpbmdbXSA9IFtdO1xuICBtYXhQb3NzaWJsZUdvb2RTY29yZSE6bnVtYmVyO1xuICBtYXhQb3NzaWJsZUJhZFNjb3JlITpudW1iZXJcbiAgQE91dHB1dCgpIHN1YkZvcm1DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgTWF0aCA9IE1hdGg7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2NvcmVDYWxjU2VydmljZTogU2NvcmVDYWxjdWxhdGlvblNlcnZpY2VcbiAgKXt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgY29uc3QgeyBnb29kTWF4LCBiYWRNYXggfSA9IHRoaXMuc2NvcmVDYWxjU2VydmljZS5nZXRNYXhQb3NzaWJsZVNjb3JlKHRoaXMuc3ViRm9ybSk7XG4gICAgdGhpcy5tYXhQb3NzaWJsZUdvb2RTY29yZSA9IGdvb2RNYXg7XG4gICAgdGhpcy5tYXhQb3NzaWJsZUJhZFNjb3JlID0gYmFkTWF4O1xuICAgIFxuICAgIHRoaXMubG9hZENvbXBvbmVudCgpO1xuICAgIGlmICh0aGlzLmVkaXQgJiYgdGhpcy5zdWJGb3JtPy5zdWJtaXNzaW9ucykge1xuICAgICAgdGhpcy5zdWJtaXNzaW9ucyA9IHRoaXMuc3ViRm9ybS5zdWJtaXNzaW9ucztcbiAgICAgIHRoaXMuc3ViRm9ybS5kZWxldGVkU3VibWlzc2lvbnMgPSBbXTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdWJtaXNzaW9ucyA9IHRoaXMuZ2VuZXJhdGVTdWJtaXNzaW9uc0Zyb21EZWZhdWx0QW5zd2VycyhcbiAgICAgICAgdGhpcy5zdWJGb3JtXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodGhpcy5zdWJtaXNzaW9ucz8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLnVwZGF0ZVN1YkZvcm1XaXRoU3VibWlzc2lvbnMoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc3ViRm9ybT8ucHJvcGVydHk/LmFkZEJ1dHRvbkxhYmVsKSB7XG4gICAgICB0aGlzLmFkZEJ1dHRvbkxhYmVsID0gdGhpcy5zdWJGb3JtLnByb3BlcnR5LmFkZEJ1dHRvbkxhYmVsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZENvbXBvbmVudCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmNvbXBvbmVudFRvTG9hZCA9IGF3YWl0IHRoaXMubG9hZEZvcm1FbGVtZW50c0NvbXBvbmVudCgpO1xuICAgIHRoaXMuaW5qZWN0b3IgPSB0aGlzLmNyZWF0ZUluamVjdG9yKCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvYWRGb3JtRWxlbWVudHNDb21wb25lbnQoKSB7XG4gICAgY29uc3QgeyBGb3JtRWxlbWVudHNDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgICcuLi9mb3JtLWVsZW1lbnRzL2Zvcm0tZWxlbWVudHMuY29tcG9uZW50J1xuICAgICk7XG4gICAgcmV0dXJuIEZvcm1FbGVtZW50c0NvbXBvbmVudDtcbiAgfVxuXG4gIGNyZWF0ZUluamVjdG9yKCk6IEluamVjdG9yIHtcbiAgICByZXR1cm4gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6ICdncmlkJywgdXNlVmFsdWU6IHRoaXMuZ3JpZD8uZWxlbWVudC5jaGlsZExvZ2ljcyB9LFxuICAgICAgICB7IHByb3ZpZGU6ICdzdGF0ZScsIHVzZVZhbHVlOiAnY2hpbGQnIH0sXG4gICAgICBdLFxuICAgIH0pO1xuICB9XG5cbiAgZ2VuZXJhdGVTdWJtaXNzaW9uc0Zyb21EZWZhdWx0QW5zd2VycyhzdWJGb3JtOiBTdWJGb3JtKTogU3VibWlzc2lvbltdIHtcbiAgICBpZiAoXG4gICAgICAhc3ViRm9ybS5kZWZhdWx0QW5zd2VycyB8fFxuICAgICAgIUFycmF5LmlzQXJyYXkoc3ViRm9ybS5kZWZhdWx0QW5zd2Vycy5hbnN3ZXJzKVxuICAgICkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIHJldHVybiBzdWJGb3JtLmRlZmF1bHRBbnN3ZXJzLmFuc3dlcnMubWFwKChhbnN3ZXJHcm91cCkgPT4ge1xuICAgICAgY29uc3Qgc3VibWlzc2lvbjogU3VibWlzc2lvbiA9IHtcbiAgICAgICAgc3VibWlzc2lvbklkOiAnJywgLy8gR2VuZXJhdGUgYSB1bmlxdWUgSUQgZm9yIGVhY2ggc3VibWlzc2lvblxuICAgICAgICBjb25maWd1cmF0aW9uOiB7XG4gICAgICAgICAgaXNEZWZhdWx0OiB0cnVlLFxuICAgICAgICAgIGFsbG93RGVsZXRlOiBhbnN3ZXJHcm91cC5pc0RlbGV0ZUVuYWJsZSxcbiAgICAgICAgfSxcbiAgICAgICAgYW5zd2VyczogYW5zd2VyR3JvdXAuZGVmYXVsdFF1ZXN0aW9uc0Fuc3dlcnMubWFwKChxYSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGFuc3dlcjogQW5zd2VyID0ge1xuICAgICAgICAgICAgcXVlc3Rpb25JZDogcWEucXVlc3Rpb25JZCxcbiAgICAgICAgICAgIGFuc3dlcjogcWEuZGVmYXVsdEFuc3dlcixcbiAgICAgICAgICAgIGF0dGFjaG1lbnRzOiBbXSwgLy8gTm8gYXR0YWNobWVudHMgZnJvbSBkZWZhdWx0QW5zd2Vyc1xuICAgICAgICAgIH07XG4gICAgICAgICAgcmV0dXJuIGFuc3dlcjtcbiAgICAgICAgfSksXG4gICAgICB9O1xuXG4gICAgICByZXR1cm4gc3VibWlzc2lvbjtcbiAgICB9KTtcbiAgfVxuXG4gIHRyYWNrQnlTdWJtaXNzaW9uSWQoaW5kZXg6IG51bWJlciwgc3VibWlzc2lvbjogU3VibWlzc2lvbik6IHN0cmluZyB8IG51bWJlciB7XG4gICAgcmV0dXJuIHN1Ym1pc3Npb24/LnN1Ym1pc3Npb25JZCB8fCBpbmRleDtcbiAgfVxuXG4gIGdldFN1Ym1pc3Npb25RdWVzdGlvbihzdWJtaXNzaW9uOiBTdWJtaXNzaW9uLCBmb3JtRWxlbWVudDogYW55KTogYW55IHtcbiAgICBjb25zdCBhbnNPYmogPSBzdWJtaXNzaW9uLmFuc3dlcnMuZmluZChcbiAgICAgIChhKSA9PiBhLnF1ZXN0aW9uSWQgPT09IGZvcm1FbGVtZW50LmVsZW1lbnQuaWRcbiAgICApO1xuICAgIGNvbnN0IHF1ZXN0aW9uQ2xvbmUgPSB7IC4uLmZvcm1FbGVtZW50LmVsZW1lbnQgfTtcbiAgICBxdWVzdGlvbkNsb25lLmFuc3dlciA9IGFuc09iaiA/IGFuc09iai5hbnN3ZXIgOiAnJztcbiAgICBxdWVzdGlvbkNsb25lLmRlZmF1bHRWYWx1ZSA9ICcnO1xuICAgIHF1ZXN0aW9uQ2xvbmUuZGlzYWJsZUVkaXQgPSBzdWJtaXNzaW9uLmNvbmZpZ3VyYXRpb24/LmlzRGVmYXVsdFxuICAgICAgPyBxdWVzdGlvbkNsb25lLmRpc2FibGVFZGl0XG4gICAgICA6IGZhbHNlO1xuICAgIHF1ZXN0aW9uQ2xvbmUuYXR0YWNobWVudHMgPSBhbnNPYmo/LmF0dGFjaG1lbnRzID8gYW5zT2JqLmF0dGFjaG1lbnRzIDogW107XG4gICAgcmV0dXJuIHF1ZXN0aW9uQ2xvbmU7XG4gIH1cblxuICBhZGROZXdTdWJtaXNzaW9uKCkge1xuICAgIGNvbnN0IGVtcHR5QW5zd2VyczogQW5zd2VyW10gPSBbXTtcbiAgICB0aGlzLnN1YkZvcm0ucm93cy5mb3JFYWNoKChyb3c6IGFueSkgPT4ge1xuICAgICAgcm93LmdyaWQuZm9yRWFjaCgoZ3JpZEl0ZW06IGFueSkgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgZ3JpZEl0ZW0uZW50aXR5VHlwZSA9PT0gJ1FVRVNUSU9OJyAmJlxuICAgICAgICAgIGdyaWRJdGVtLmVsZW1lbnQgJiZcbiAgICAgICAgICBncmlkSXRlbS5lbGVtZW50LmlkXG4gICAgICAgICkge1xuICAgICAgICAgIGVtcHR5QW5zd2Vycy5wdXNoKHtcbiAgICAgICAgICAgIHF1ZXN0aW9uSWQ6IGdyaWRJdGVtLmVsZW1lbnQuaWQsXG4gICAgICAgICAgICBhbnN3ZXI6ICcnLFxuICAgICAgICAgICAgbWF4aW11bVBvc3NpYmxlU2NvcmU6MFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICBjb25zdCBzdWJtaXNzaW9uOiBTdWJtaXNzaW9uID0ge1xuICAgICAgc3VibWlzc2lvbklkOiAnJyxcbiAgICAgIGFuc3dlcnM6IGVtcHR5QW5zd2VycyxcbiAgICAgIGNvbmZpZ3VyYXRpb246IHtcbiAgICAgICAgaXNEZWZhdWx0OiBmYWxzZSxcbiAgICAgICAgYWxsb3dEZWxldGU6IHRydWUsXG4gICAgICB9LFxuICAgIH07XG4gICAgdGhpcy5zdWJtaXNzaW9ucy5wdXNoKHN1Ym1pc3Npb24pO1xuICAgIHRoaXMuc3VibWlzc2lvbnMgPSBbLi4udGhpcy5zdWJtaXNzaW9uc107XG4gICAgdGhpcy51cGRhdGVTdWJGb3JtV2l0aFN1Ym1pc3Npb25zKCk7XG4gIH1cblxuICB1cGRhdGVTdWJGb3JtV2l0aFN1Ym1pc3Npb25zKCkge1xuICAgIHRoaXMuc3ViRm9ybS5zdWJtaXNzaW9ucyA9IHRoaXMuc3VibWlzc2lvbnM7XG4gICAgdGhpcy5zdWJGb3JtLm1heFBvc3NpYmxlU2NvcmUgPSB7XG4gICAgICAnZ29vZCc6IHRoaXMubWF4UG9zc2libGVHb29kU2NvcmUsXG4gICAgICAnYmFkJzogdGhpcy5tYXhQb3NzaWJsZUJhZFNjb3JlXG4gICAgfVxuICAgIHRoaXMuc3ViRm9ybS5kZWxldGVkU3VibWlzc2lvbnMgPSB0aGlzLmRlbGV0ZWRTdWJtaXNzaW9ucztcbiAgICB0aGlzLnN1YkZvcm1DaGFuZ2UuZW1pdCh0aGlzLnN1YkZvcm0pO1xuICB9XG5cbiAgdXBkYXRlQW5zd2VyKHN1Ym1pc3Npb246IFN1Ym1pc3Npb24sIHF1ZXN0aW9uOiBhbnksIG5ld0Fuc3dlck9iamVjdDogYW55KSB7XG4gICAgY29uc3QgbmV3QW5zd2VyID0gbmV3QW5zd2VyT2JqZWN0LmFuc3dlcjtcbiAgICBjb25zdCBzdWJtaXNzaW9uSW5kZXggPSB0aGlzLnN1Ym1pc3Npb25zLmluZGV4T2Yoc3VibWlzc2lvbik7XG4gICAgaWYgKHN1Ym1pc3Npb25JbmRleCA+IC0xKSB7XG4gICAgICBjb25zdCBleGlzdGluZ0Fuc3dlciA9IHRoaXMuc3VibWlzc2lvbnNbc3VibWlzc2lvbkluZGV4XS5hbnN3ZXJzLmZpbmQoXG4gICAgICAgIChhKSA9PiBhLnF1ZXN0aW9uSWQgPT09IHF1ZXN0aW9uLmlkXG4gICAgICApO1xuXG4gICAgICBpZiAoXG4gICAgICAgIHF1ZXN0aW9uLmZvcm1FbGVtZW50ICYmXG4gICAgICAgIHF1ZXN0aW9uLmZvcm1FbGVtZW50LmVsZW1lbnRUeXBlID09PSAnRklMRV9QSUNLRVInXG4gICAgICApIHtcbiAgICAgICAgLy8gTWFwIGZpbGUgb2JqZWN0cyB0byBmaWxlIG5hbWVzLlxuICAgICAgICBsZXQgZmlsZU5hbWVzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBpZiAobmV3QW5zd2VyICYmIEFycmF5LmlzQXJyYXkobmV3QW5zd2VyKSkge1xuICAgICAgICAgIGZpbGVOYW1lcyA9IG5ld0Fuc3dlci5tYXAoKGZpbGU6IGFueSkgPT4gZmlsZT8uX2ZpbGU/Lm5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gR2V0IGRlbGV0ZWQgZmlsZSBJRHMgZnJvbSB0aGUgcXVlc3Rpb24gKGlmIGFueSkuXG4gICAgICAgIGxldCBkZWxldGVkRmlsZXM6IHN0cmluZ1tdID0gW107XG4gICAgICAgIGlmIChxdWVzdGlvbi5kZWxldGVGaWxlcyAmJiBxdWVzdGlvbi5kZWxldGVGaWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgZGVsZXRlZEZpbGVzID0gcXVlc3Rpb24uZGVsZXRlRmlsZXM7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXhpc3RpbmdBbnN3ZXIpIHtcbiAgICAgICAgICBleGlzdGluZ0Fuc3dlci5maWxlcyA9IG5ld0Fuc3dlcjtcbiAgICAgICAgICBleGlzdGluZ0Fuc3dlci5hbnN3ZXIgPSBmaWxlTmFtZXM7XG4gICAgICAgICAgLy8gSW5pdGlhbGl6ZSBkZWxldGVGaWxlcyBpZiBpdCdzIG5vdCBkZWZpbmVkLlxuICAgICAgICAgIGlmICghZXhpc3RpbmdBbnN3ZXIuZGVsZXRlRmlsZXMpIHtcbiAgICAgICAgICAgIGV4aXN0aW5nQW5zd2VyLmRlbGV0ZUZpbGVzID0gW107XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIEFwcGVuZCBhbnkgZGVsZXRlZCBmaWxlIElEcyBub3QgYWxyZWFkeSBwcmVzZW50LlxuICAgICAgICAgIGRlbGV0ZWRGaWxlcy5mb3JFYWNoKChkZWxldGVkSWQ6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgaWYgKCFleGlzdGluZ0Fuc3dlci5kZWxldGVGaWxlcyEuaW5jbHVkZXMoZGVsZXRlZElkKSkge1xuICAgICAgICAgICAgICBleGlzdGluZ0Fuc3dlci5kZWxldGVGaWxlcyEucHVzaChkZWxldGVkSWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IG5ld09iajogQW5zd2VyID0ge1xuICAgICAgICAgICAgcXVlc3Rpb25JZDogcXVlc3Rpb24uaWQsXG4gICAgICAgICAgICBmaWxlczogbmV3QW5zd2VyLFxuICAgICAgICAgICAgYW5zd2VyOiBmaWxlTmFtZXMsXG4gICAgICAgICAgICBkZWxldGVGaWxlczogZGVsZXRlZEZpbGVzLmxlbmd0aCA+IDAgPyBbLi4uZGVsZXRlZEZpbGVzXSA6IFtdLFxuICAgICAgICAgIH07XG4gICAgICAgICAgdGhpcy5zdWJtaXNzaW9uc1tzdWJtaXNzaW9uSW5kZXhdLmFuc3dlcnMucHVzaChuZXdPYmopO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoZXhpc3RpbmdBbnN3ZXIpIHtcbiAgICAgICAgICBleGlzdGluZ0Fuc3dlci5hbnN3ZXIgPSBuZXdBbnN3ZXI7XG4gICAgICAgICAgZXhpc3RpbmdBbnN3ZXIubWF4aW11bVBvc3NpYmxlU2NvcmUgPSBuZXdBbnN3ZXJPYmplY3QubWF4UG9zc2libGVTY29yZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnN1Ym1pc3Npb25zW3N1Ym1pc3Npb25JbmRleF0uYW5zd2Vycy5wdXNoKHtcbiAgICAgICAgICAgIHF1ZXN0aW9uSWQ6IHF1ZXN0aW9uLmlkLFxuICAgICAgICAgICAgYW5zd2VyOiBuZXdBbnN3ZXIsXG4gICAgICAgICAgICBtYXhpbXVtUG9zc2libGVTY29yZTogbmV3QW5zd2VyT2JqZWN0Lm1heFBvc3NpYmxlU2NvcmVcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSAgXG4gICAgICAgIGlmKFxuICAgICAgICAgIHF1ZXN0aW9uLmZvcm1FbGVtZW50ICYmXG4gICAgICAgICAgKHF1ZXN0aW9uLmZvcm1FbGVtZW50LmVsZW1lbnRUeXBlID09PSAnRFJPUF9ET1dOJyB8fFxuICAgICAgICAgIHF1ZXN0aW9uLmZvcm1FbGVtZW50LmVsZW1lbnRUeXBlID09PSAnUkFESU9fQlVUVE9OJyB8fFxuICAgICAgICAgIHF1ZXN0aW9uLmZvcm1FbGVtZW50LmVsZW1lbnRUeXBlID09PSAnQ0hFQ0tfQk9YJykgJiZcbiAgICAgICAgICBxdWVzdGlvbi5mb3JtRWxlbWVudC5zY29yaW5nICYmXG4gICAgICAgICAgcXVlc3Rpb24uZm9ybUVsZW1lbnQuc2NvcmluZy5lbmFibGVTY29yaW5nXG4gICAgICAgICl7XG4gICAgICAgICAgc3VibWlzc2lvbi5hbnN3ZXJzLmZvckVhY2goKGFucykgPT4ge1xuICAgICAgICAgICAgaWYocXVlc3Rpb24uaWQgPT09IGFucy5xdWVzdGlvbklkKXtcbiAgICAgICAgICAgICAgY29uc3Qgc2NvcmVSZXN1bHQgPSB0aGlzLnNjb3JlQ2FsY1NlcnZpY2UuY2FsY3VsYXRlU2NvcmVGcm9tQW5zd2VyKGFucy5hbnN3ZXIsIHF1ZXN0aW9uKTtcbiAgICAgICAgICAgICAgLy8gU2F2ZSB0b3RhbCBzY29yZSBhbmQgaW5kaXZpZHVhbCBzY29yZXNcbiAgICAgICAgICAgICAgYW5zLnNjb3JlcyA9IHNjb3JlUmVzdWx0Py5zY29yZXM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgIC8vIENoZWNrIHNjb3JpbmcgY29uZGl0aW9uXG4gICAgICAgICAgaWYgKHRoaXMuc2NvcmVDYWxjU2VydmljZS5zaG91bGRDYWxjdWxhdGVTY29yZSh0aGlzLnN1YkZvcm0sIHN1Ym1pc3Npb24pKSB7XG4gICAgICAgICAgICAvLyBNYXJrIHRoYXQgdGhpcyBzdWJtaXNzaW9uIGhhZCBhbGwgc2NvcmluZyBxdWVzdGlvbnMgYW5zd2VyZWQgYXQgbGVhc3Qgb25jZVxuICAgICAgICAgICAgc3VibWlzc2lvbi5oYXNBbGxTY29yaW5nQW5zd2VyZWRPbmNlID0gdHJ1ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoc3VibWlzc2lvbi5oYXNBbGxTY29yaW5nQW5zd2VyZWRPbmNlKSB7XG4gICAgICAgICAgICAvLyBSZWNhbGN1bGF0ZSBzY29yZSBhbHdheXMgYWZ0ZXIgb25jZSBzYXRpc2ZpZWRcbiAgICAgICAgICAgIHN1Ym1pc3Npb24uc2NvcmVzID0gdGhpcy5zY29yZUNhbGNTZXJ2aWNlLmNhbGN1bGF0ZVN1Ym1pc3Npb25TY29yZShzdWJtaXNzaW9uLmFuc3dlcnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29uc3QgaGFzQW55U2NvcmUgPSB0aGlzLnN1Ym1pc3Npb25zLnNvbWUoXG4gICAgICAgIHN1YiA9PiBzdWIuc2NvcmVzPy5zb21lKHMgPT4gcy5zY29yZSAhPT0gbnVsbCAmJiBzLnNjb3JlICE9PSB1bmRlZmluZWQpXG4gICAgICApO1xuICAgICAgXG4gICAgICBpZiAoaGFzQW55U2NvcmUpIHtcbiAgICAgICAgdGhpcy5zdWJGb3JtLnNjb3JlcyA9IHRoaXMuc2NvcmVDYWxjU2VydmljZS5jYWxjdWxhdGVGaW5hbFNjb3JlKHRoaXMuc3VibWlzc2lvbnMsdGhpcy5tYXhQb3NzaWJsZUdvb2RTY29yZSx0aGlzLm1heFBvc3NpYmxlQmFkU2NvcmUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zdWJGb3JtLnNjb3JlcyA9IG51bGw7IC8vIG9yIDAsIGRlcGVuZGluZyBvbiBob3cgeW91IHdhbnQgdG8gcmVwcmVzZW50IFwibm8gc2NvcmUgeWV0XCJcbiAgICAgIH1cbiAgICAgIHRoaXMudXBkYXRlU3ViRm9ybVdpdGhTdWJtaXNzaW9ucygpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZURlbGV0ZWRGaWxlcyhcbiAgICBzdWJtaXNzaW9uOiBTdWJtaXNzaW9uLFxuICAgIHF1ZXN0aW9uOiBhbnksXG4gICAgZGVsZXRlZEZpbGVzOiBzdHJpbmdbXVxuICApIHtcbiAgICAvLyBGaW5kIHRoZSBtYXRjaGluZyBhbnN3ZXIgb2JqZWN0IGJhc2VkIG9uIHRoZSBxdWVzdGlvbklkXG4gICAgY29uc3QgYW5zd2VyT2JqID0gc3VibWlzc2lvbi5hbnN3ZXJzLmZpbmQoXG4gICAgICAoYW5zKSA9PiBhbnMucXVlc3Rpb25JZCA9PT0gcXVlc3Rpb24uaWRcbiAgICApO1xuXG4gICAgaWYgKGFuc3dlck9iaikge1xuICAgICAgLy8gRW5zdXJlIGRlbGV0ZUZpbGVzIGlzIGFsd2F5cyBhbiBhcnJheVxuICAgICAgaWYgKCFhbnN3ZXJPYmouZGVsZXRlRmlsZXMpIHtcbiAgICAgICAgYW5zd2VyT2JqLmRlbGV0ZUZpbGVzID0gW107XG4gICAgICB9XG5cbiAgICAgIC8vIEFkZCBkZWxldGVkIGZpbGUgSURzIHRvIGRlbGV0ZUZpbGVzIGFycmF5IHdoaWxlIGF2b2lkaW5nIGR1cGxpY2F0ZXNcbiAgICAgIGRlbGV0ZWRGaWxlcy5mb3JFYWNoKChmaWxlSWQpID0+IHtcbiAgICAgICAgaWYgKCFhbnN3ZXJPYmouZGVsZXRlRmlsZXMhLmluY2x1ZGVzKGZpbGVJZCkpIHtcbiAgICAgICAgICBhbnN3ZXJPYmouZGVsZXRlRmlsZXMhLnB1c2goZmlsZUlkKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZGVsZXRlU3VibWlzc2lvbihpbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3Qgc3VibWlzc2lvbiA9IHRoaXMuc3VibWlzc2lvbnNbaW5kZXhdO1xuICAgIGlmIChzdWJtaXNzaW9uLnN1Ym1pc3Npb25JZCkge1xuICAgICAgdGhpcy5kZWxldGVkU3VibWlzc2lvbnMucHVzaChzdWJtaXNzaW9uLnN1Ym1pc3Npb25JZCk7XG4gICAgfVxuICAgIHRoaXMuc3VibWlzc2lvbnMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICB0aGlzLnN1Ym1pc3Npb25zID0gWy4uLnRoaXMuc3VibWlzc2lvbnNdO1xuICAgIHRoaXMuc3ViRm9ybS5zY29yZXMgPSB0aGlzLnNjb3JlQ2FsY1NlcnZpY2UuY2FsY3VsYXRlRmluYWxTY29yZSh0aGlzLnN1Ym1pc3Npb25zLHRoaXMubWF4UG9zc2libGVHb29kU2NvcmUsdGhpcy5tYXhQb3NzaWJsZUJhZFNjb3JlKTtcbiAgICB0aGlzLnVwZGF0ZVN1YkZvcm1XaXRoU3VibWlzc2lvbnMoKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc3VibWlzc2lvbiBvZiBzdWJtaXNzaW9ucztsZXQgaT1pbmRleCA7dHJhY2tCeTogdHJhY2tCeVN1Ym1pc3Npb25JZFwiPlxuICA8ZGl2IGNsYXNzPVwiY2FyZC1zdWJmb3JtIG1iLTRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZGVsZXRlIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIG1lLTQgbWItMiBtdC0yIGdhcC0zXCJcbiAgICA+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN1Ym1pc3Npb24/LnNjb3Jlcz8uWzBdIGFzIGZpcnN0U2NvcmVcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJzdWJtaXNzaW9uU2NvcmVcIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgJ2dvb2Qtc2NvcmUnOiBmaXJzdFNjb3JlLnNjb3JlVHlwZSA9PT0gJ0dPT0RfU0NPUkUnLFxuICAgICAgICAgICdiYWQtc2NvcmUnOiBmaXJzdFNjb3JlLnNjb3JlVHlwZSA9PT0gJ0JBRF9TQ09SRSdcbiAgICAgICAgfVwiXG4gICAgICA+XG4gICAgICA8c3Bhbj57eyBNYXRoLmFicyhmaXJzdFNjb3JlLnNjb3JlKSB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPGltZyBjbGFzcz1cImRlbGV0ZS1pY29uXCIgc3JjPVwiYXNzZXRzL2ljb25zL2RlbGV0ZS1pY29uLnN2Z1wiIGFsdD1cImRlbGV0ZVwiXG4gICAgICAqbmdJZj1cInN1Ym1pc3Npb24uY29uZmlndXJhdGlvbj8uYWxsb3dEZWxldGVcIlxuICAgICAgKGNsaWNrKT1cImRlbGV0ZVN1Ym1pc3Npb24oaSlcIj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCByb3cgb2Ygc3ViRm9ybS5yb3dzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgZ3JpZCBvZiByb3cuZ3JpZFwiXG4gICAgICAgICAgW25nU3R5bGVdPVwieyAnd2lkdGguJSc6IGdyaWQuZWxlbWVudC5jb3VudCAqICgxMDAgLyAxMikgfVwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZ3JpZC5lbnRpdHlUeXBlID09PSAnUVVFU1RJT04nXCI+XG4gICAgICAgICAgICA8ZGl2IFtuZ1N3aXRjaF09XCJncmlkLmVsZW1lbnQuZm9ybUVsZW1lbnQuZWxlbWVudFR5cGVcIj5cbiAgICAgICAgICAgICAgPGxpYi1jaGVjay1ib3gtZmllbGRzXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidDSEVDS19CT1gnXCJcbiAgICAgICAgICAgICAgICBbcXVlc3Rpb25dPVwiZ2V0U3VibWlzc2lvblF1ZXN0aW9uKHN1Ym1pc3Npb24sZ3JpZClcIlxuICAgICAgICAgICAgICAgIChhbnN3ZXJDaGFuZ2UpPVwiXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUFuc3dlcihzdWJtaXNzaW9uLCBncmlkLmVsZW1lbnQsICRldmVudClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+PC9saWItY2hlY2stYm94LWZpZWxkcz5cbiAgICAgICAgICAgICAgPGxpYi1kYXRlLXRpbWUtZmllbGRzXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidEQVRFX1RJTUUnXCJcbiAgICAgICAgICAgICAgICBbcXVlc3Rpb25dPVwiZ2V0U3VibWlzc2lvblF1ZXN0aW9uKHN1Ym1pc3Npb24sZ3JpZClcIlxuICAgICAgICAgICAgICAgIChhbnN3ZXJDaGFuZ2UpPVwiXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUFuc3dlcihzdWJtaXNzaW9uLCBncmlkLmVsZW1lbnQsICRldmVudClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+PC9saWItZGF0ZS10aW1lLWZpZWxkcz5cbiAgICAgICAgICAgICAgPGxpYi1kcm9wLWRvd24tZmllbGRzXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidEUk9QX0RPV04nXCJcbiAgICAgICAgICAgICAgICBbcXVlc3Rpb25dPVwiZ2V0U3VibWlzc2lvblF1ZXN0aW9uKHN1Ym1pc3Npb24sZ3JpZClcIlxuICAgICAgICAgICAgICAgIChhbnN3ZXJDaGFuZ2UpPVwiXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUFuc3dlcihzdWJtaXNzaW9uLCBncmlkLmVsZW1lbnQsICRldmVudClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+PC9saWItZHJvcC1kb3duLWZpZWxkcz5cbiAgICAgICAgICAgICAgPGxpYi1maWxlLXBpY2tlci1maWVsZHNcbiAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ0ZJTEVfUElDS0VSJ1wiXG4gICAgICAgICAgICAgICAgW3F1ZXN0aW9uXT1cImdldFN1Ym1pc3Npb25RdWVzdGlvbihzdWJtaXNzaW9uLGdyaWQpXCJcbiAgICAgICAgICAgICAgICAoYW5zd2VyQ2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVBbnN3ZXIoc3VibWlzc2lvbiwgZ3JpZC5lbGVtZW50LCAkZXZlbnQpXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAoaW5saW5lRGVsZXRlRmlsZXMpPVwiXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZURlbGV0ZWRGaWxlcyhzdWJtaXNzaW9uLCBncmlkLmVsZW1lbnQsICRldmVudClcbiAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgID48L2xpYi1maWxlLXBpY2tlci1maWVsZHM+XG4gICAgICAgICAgICAgIDxsaWItbG9jYXRpb24tZmllbGRzXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidMT0NBVElPTidcIlxuICAgICAgICAgICAgICAgIFtxdWVzdGlvbl09XCJnZXRTdWJtaXNzaW9uUXVlc3Rpb24oc3VibWlzc2lvbixncmlkKVwiXG4gICAgICAgICAgICAgICAgKGFuc3dlckNoYW5nZSk9XCJcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlQW5zd2VyKHN1Ym1pc3Npb24sIGdyaWQuZWxlbWVudCwgJGV2ZW50KVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgID48L2xpYi1sb2NhdGlvbi1maWVsZHM+XG4gICAgICAgICAgICAgIDxsaWItbWFpbC1maWVsZHNcbiAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ0VNQUlMJ1wiXG4gICAgICAgICAgICAgICAgW3F1ZXN0aW9uXT1cImdldFN1Ym1pc3Npb25RdWVzdGlvbihzdWJtaXNzaW9uLGdyaWQpXCJcbiAgICAgICAgICAgICAgICAoYW5zd2VyQ2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVBbnN3ZXIoc3VibWlzc2lvbiwgZ3JpZC5lbGVtZW50LCAkZXZlbnQpXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgPjwvbGliLW1haWwtZmllbGRzPlxuICAgICAgICAgICAgICA8bGliLW1vYmlsZS1maWVsZHNcbiAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ01PQklMRSdcIlxuICAgICAgICAgICAgICAgIFtxdWVzdGlvbl09XCJnZXRTdWJtaXNzaW9uUXVlc3Rpb24oc3VibWlzc2lvbixncmlkKVwiXG4gICAgICAgICAgICAgICAgKGFuc3dlckNoYW5nZSk9XCJcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlQW5zd2VyKHN1Ym1pc3Npb24sIGdyaWQuZWxlbWVudCwgJGV2ZW50KVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgID48L2xpYi1tb2JpbGUtZmllbGRzPlxuICAgICAgICAgICAgICA8bGliLW51bWJlci1maWVsZHNcbiAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ05VTUJFUidcIlxuICAgICAgICAgICAgICAgIFtxdWVzdGlvbl09XCJnZXRTdWJtaXNzaW9uUXVlc3Rpb24oc3VibWlzc2lvbixncmlkKVwiXG4gICAgICAgICAgICAgICAgW3Jvd0lkXT1cIicwJ1wiXG4gICAgICAgICAgICAgICAgKGFuc3dlckNoYW5nZSk9XCJcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlQW5zd2VyKHN1Ym1pc3Npb24sIGdyaWQuZWxlbWVudCwgJGV2ZW50KVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgID48L2xpYi1udW1iZXItZmllbGRzPlxuICAgICAgICAgICAgICA8bGliLXBhc3N3b3JkLWZpZWxkc1xuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInUEFTU1dPUkQnXCJcbiAgICAgICAgICAgICAgICBbcXVlc3Rpb25dPVwiZ2V0U3VibWlzc2lvblF1ZXN0aW9uKHN1Ym1pc3Npb24sZ3JpZClcIlxuICAgICAgICAgICAgICAgIChhbnN3ZXJDaGFuZ2UpPVwiXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUFuc3dlcihzdWJtaXNzaW9uLCBncmlkLmVsZW1lbnQsICRldmVudClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+PC9saWItcGFzc3dvcmQtZmllbGRzPlxuICAgICAgICAgICAgICA8bGliLXJhZGlvLWJ1dHRvbi1maWVsZHNcbiAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ1JBRElPX0JVVFRPTidcIlxuICAgICAgICAgICAgICAgIFtxdWVzdGlvbl09XCJnZXRTdWJtaXNzaW9uUXVlc3Rpb24oc3VibWlzc2lvbixncmlkKVwiXG4gICAgICAgICAgICAgICAgW3Jvd0lkXT1cImlcIlxuICAgICAgICAgICAgICAgIChhbnN3ZXJDaGFuZ2UpPVwiXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUFuc3dlcihzdWJtaXNzaW9uLCBncmlkLmVsZW1lbnQsICRldmVudClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+PC9saWItcmFkaW8tYnV0dG9uLWZpZWxkcz5cbiAgICAgICAgICAgICAgPGxpYi1yaWNoLXRleHQtZWRpdG9yLWZpZWxkc1xuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInUklDSF9URVhUX0VESVRPUidcIlxuICAgICAgICAgICAgICAgIFtxdWVzdGlvbl09XCJnZXRTdWJtaXNzaW9uUXVlc3Rpb24oc3VibWlzc2lvbixncmlkKVwiXG4gICAgICAgICAgICAgICAgW2luU3ViRm9ybV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAoYW5zd2VyQ2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVBbnN3ZXIoc3VibWlzc2lvbiwgZ3JpZC5lbGVtZW50LCAkZXZlbnQpXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgPjwvbGliLXJpY2gtdGV4dC1lZGl0b3ItZmllbGRzPlxuICAgICAgICAgICAgICA8bGliLXNlbGVjdGlvbi1tYXRyaXgtZmllbGRzXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidTRUxFQ1RJT05fTUFUUklYJ1wiXG4gICAgICAgICAgICAgICAgW3F1ZXN0aW9uXT1cImdldFN1Ym1pc3Npb25RdWVzdGlvbihzdWJtaXNzaW9uLGdyaWQpXCJcbiAgICAgICAgICAgICAgICBbYWNjZXB0ZWRMYW5ndWFnZV09XCJhY2NlcHRlZExhbmd1YWdlXCJcbiAgICAgICAgICAgICAgICBbcm93SWRdPVwiaVwiXG4gICAgICAgICAgICAgICAgKGFuc3dlckNoYW5nZSk9XCJcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlQW5zd2VyKHN1Ym1pc3Npb24sIGdyaWQuZWxlbWVudCwgJGV2ZW50KVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgID48L2xpYi1zZWxlY3Rpb24tbWF0cml4LWZpZWxkcz5cbiAgICAgICAgICAgICAgPGxpYi1zbGlkZXItZmllbGRzXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidTTElERVInXCJcbiAgICAgICAgICAgICAgICBbcXVlc3Rpb25dPVwiZ2V0U3VibWlzc2lvblF1ZXN0aW9uKHN1Ym1pc3Npb24sZ3JpZClcIlxuICAgICAgICAgICAgICAgIChhbnN3ZXJDaGFuZ2UpPVwiXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUFuc3dlcihzdWJtaXNzaW9uLCBncmlkLmVsZW1lbnQsICRldmVudClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+PC9saWItc2xpZGVyLWZpZWxkcz5cbiAgICAgICAgICAgICAgPGxpYi10ZXJtcy1hbmQtY29uZGl0aW9uLWZpZWxkc1xuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInVEVSTVNfQU5EX0NPTkRJVElPTidcIlxuICAgICAgICAgICAgICAgIFtxdWVzdGlvbl09XCJnZXRTdWJtaXNzaW9uUXVlc3Rpb24oc3VibWlzc2lvbixncmlkKVwiXG4gICAgICAgICAgICAgICAgKGFuc3dlckNoYW5nZSk9XCJcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlQW5zd2VyKHN1Ym1pc3Npb24sIGdyaWQuZWxlbWVudCwgJGV2ZW50KVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgID48L2xpYi10ZXJtcy1hbmQtY29uZGl0aW9uLWZpZWxkcz5cbiAgICAgICAgICAgICAgPGxpYi10ZXh0LWFyZWEtZmllbGRzXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidURVhUX0FSRUEnXCJcbiAgICAgICAgICAgICAgICBbcXVlc3Rpb25dPVwiZ2V0U3VibWlzc2lvblF1ZXN0aW9uKHN1Ym1pc3Npb24sZ3JpZClcIlxuICAgICAgICAgICAgICAgIChhbnN3ZXJDaGFuZ2UpPVwiXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUFuc3dlcihzdWJtaXNzaW9uLCBncmlkLmVsZW1lbnQsICRldmVudClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+PC9saWItdGV4dC1hcmVhLWZpZWxkcz5cbiAgICAgICAgICAgICAgPGxpYi10ZXh0LWZpZWxkc1xuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInVEVYVF9CT1gnXCJcbiAgICAgICAgICAgICAgICBbcXVlc3Rpb25dPVwiZ2V0U3VibWlzc2lvblF1ZXN0aW9uKHN1Ym1pc3Npb24sZ3JpZClcIlxuICAgICAgICAgICAgICAgIFtpbkNhcmRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgKGFuc3dlckNoYW5nZSk9XCJcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlQW5zd2VyKHN1Ym1pc3Npb24sIGdyaWQuZWxlbWVudCwgJGV2ZW50KVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgID48L2xpYi10ZXh0LWZpZWxkcz5cbiAgICAgICAgICAgICAgPGxpYi10b2dnbGUtc3dpdGNoLWZpZWxkc1xuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInVE9HR0xFX1NXSVRDSCdcIlxuICAgICAgICAgICAgICAgIFtxdWVzdGlvbl09XCJnZXRTdWJtaXNzaW9uUXVlc3Rpb24oc3VibWlzc2lvbixncmlkKVwiXG4gICAgICAgICAgICAgICAgW2FjY2VwdGVkTGFuZ3VhZ2VdPVwiYWNjZXB0ZWRMYW5ndWFnZVwiXG4gICAgICAgICAgICAgICAgKGFuc3dlckNoYW5nZSk9XCJcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlQW5zd2VyKHN1Ym1pc3Npb24sIGdyaWQuZWxlbWVudCwgJGV2ZW50KVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgID48L2xpYi10b2dnbGUtc3dpdGNoLWZpZWxkcz5cbiAgICAgICAgICAgICAgPGxpYi11cmwtZmllbGRzXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidVUkwnXCJcbiAgICAgICAgICAgICAgICBbcXVlc3Rpb25dPVwiZ2V0U3VibWlzc2lvblF1ZXN0aW9uKHN1Ym1pc3Npb24sZ3JpZClcIlxuICAgICAgICAgICAgICAgIChhbnN3ZXJDaGFuZ2UpPVwiXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUFuc3dlcihzdWJtaXNzaW9uLCBncmlkLmVsZW1lbnQsICRldmVudClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+PC9saWItdXJsLWZpZWxkcz5cbiAgICAgICAgICAgICAgPGxpYi1hZ2dyZWdhdGUtZnVuY3Rpb25cbiAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ0FHR1JFR0FURV9GVU5DVElPTidcIlxuICAgICAgICAgICAgICAgIFtxdWVzdGlvbl09XCJnZXRTdWJtaXNzaW9uUXVlc3Rpb24oc3VibWlzc2lvbixncmlkKVwiXG4gICAgICAgICAgICAgICAgW3Jvd0lkXT1cIicwJ1wiXG4gICAgICAgICAgICAgICAgKGFuc3dlckNoYW5nZSk9XCJcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlQW5zd2VyKHN1Ym1pc3Npb24sIGdyaWQuZWxlbWVudCwgJGV2ZW50KVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgID48L2xpYi1hZ2dyZWdhdGUtZnVuY3Rpb24+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPCEtLSA8bmctY29udGFpbmVyICpuZ0lmPVwiZ3JpZC5lbGVtZW50LmNoaWxkTG9naWNzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJnZXRDb21wb25lbnRGb3JDaGlsZExvZ2ljcyhncmlkLmVsZW1lbnQuY2hpbGRMb2dpY3MsICdjaGlsZCcsIGdyaWQuZWxlbWVudC5hbnN3ZXIpIGFzIG91dGxldFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdDb21wb25lbnRPdXRsZXQ9XCJvdXRsZXQuY29tcG9uZW50IHwgYXN5bmM7IGluamVjdG9yOiBvdXRsZXQuaW5qZWN0b3JcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj4gLS0+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZ3JpZD8uZWxlbWVudD8uY2hpbGRMb2dpY3NcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbXBvbmVudFRvTG9hZFwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICpuZ0NvbXBvbmVudE91dGxldD1cIlxuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRUb0xvYWQ7XG4gICAgICAgICAgICAgICAgICAgIGlucHV0czoge1xuICAgICAgICAgICAgICAgICAgICAgIGdyaWQ6IGdyaWQ/LmVsZW1lbnQ/LmNoaWxkTG9naWNzLFxuICAgICAgICAgICAgICAgICAgICAgIGFuc3dlcjogZ3JpZD8uZWxlbWVudD8uYW5zd2VyLFxuICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiAnY2hpbGQnXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiAqbmdJZj1cImdyaWQuZW50aXR5VHlwZSA9PT0gJ1NFQ1RJT04nXCI+XG4gICAgICAgICAgICA8bGliLXNlY3Rpb24tZmllbGRzIFtzZWN0aW9uXT1cImdyaWQuZWxlbWVudFwiPjwvbGliLXNlY3Rpb24tZmllbGRzPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48ZGl2IGNsYXNzPVwic3ViZm9ybS1mb290ZXJcIj5cbiAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiIChjbGljayk9XCJhZGROZXdTdWJtaXNzaW9uKClcIj57e2FkZEJ1dHRvbkxhYmVsfX08L2J1dHRvbj5cbjwvZGl2PlxuIl19
275
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1zdWJmb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm0tc3VibWlzc2lvbi9zcmMvcXVlc3Rpb24vY2FyZC1zdWJmb3JtL2NhcmQtc3ViZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLXN1Ym1pc3Npb24vc3JjL3F1ZXN0aW9uL2NhcmQtc3ViZm9ybS9jYXJkLXN1YmZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osUUFBUSxFQUNSLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFLdkIsT0FBTyxFQUFFLEVBQUUsSUFBSSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU9wQyxNQUFNLE9BQU8sb0JBQW9CO0lBYy9CLFlBQ1UsZ0JBQXlDO1FBQXpDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBeUI7UUFkMUMsWUFBTyxHQUFRLEVBQUUsQ0FBQztRQUNsQixxQkFBZ0IsR0FBVyxFQUFFLENBQUM7UUFDOUIsU0FBSSxHQUFZLEtBQUssQ0FBQztRQUc5QixtQkFBYyxHQUFXLG9CQUFvQixDQUFDO1FBRS9DLGdCQUFXLEdBQWlCLEVBQUUsQ0FBQztRQUMvQix1QkFBa0IsR0FBYSxFQUFFLENBQUM7UUFHeEIsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ2xELFNBQUksR0FBRyxJQUFJLENBQUM7SUFHVixDQUFDO0lBRUgsUUFBUTtRQUNOLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwRixJQUFJLENBQUMsb0JBQW9CLEdBQUcsT0FBTyxDQUFD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QUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDckksSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7SUFDdEMsQ0FBQzsrR0F2UlUsb0JBQW9CO21HQUFwQixvQkFBb0IseUxDbEJqQyw4M1JBZ05BOzs0RkQ5TGEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGtCQUFrQjs4R0FLbkIsT0FBTztzQkFBZixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBU0ksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJGb3JtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3N1YkZvcm0ubW9kZWwnO1xuaW1wb3J0IHsgU3VibWlzc2lvbiB9IGZyb20gJy4uLy4uL21vZGVscy9zdWJtaXNzaW9uLm1vZGVsJztcbmltcG9ydCB7IEFuc3dlciB9IGZyb20gJy4uLy4uL21vZGVscy9hbnN3ZXIubW9kZWwnO1xuaW1wb3J0IHsgU2NvcmVDYWxjdWxhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zY29yZS5zZXJ2aWNlJztcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItY2FyZC1zdWJmb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhcmQtc3ViZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NhcmQtc3ViZm9ybS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDYXJkU3ViZm9ybUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHN1YkZvcm06IGFueSA9IHt9O1xuICBASW5wdXQoKSBhY2NlcHRlZExhbmd1YWdlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgZWRpdDogYm9vbGVhbiA9IGZhbHNlO1xuICBncmlkOiBhbnk7XG4gIGNvbXBvbmVudFRvTG9hZDogYW55O1xuICAgYWRkQnV0dG9uTGFiZWw6IHN0cmluZyA9ICdBZGQgTmV3IFN1Ym1pc3Npb24nO1xuICBpbmplY3RvciE6IEluamVjdG9yO1xuICBzdWJtaXNzaW9uczogU3VibWlzc2lvbltdID0gW107XG4gIGRlbGV0ZWRTdWJtaXNzaW9uczogc3RyaW5nW10gPSBbXTtcbiAgbWF4UG9zc2libGVHb29kU2NvcmUhOm51bWJlcjtcbiAgbWF4UG9zc2libGVCYWRTY29yZSE6bnVtYmVyXG4gIEBPdXRwdXQoKSBzdWJGb3JtQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIE1hdGggPSBNYXRoO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNjb3JlQ2FsY1NlcnZpY2U6IFNjb3JlQ2FsY3VsYXRpb25TZXJ2aWNlXG4gICl7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IHsgZ29vZE1heCwgYmFkTWF4IH0gPSB0aGlzLnNjb3JlQ2FsY1NlcnZpY2UuZ2V0TWF4UG9zc2libGVTY29yZSh0aGlzLnN1YkZvcm0pO1xuICAgIHRoaXMubWF4UG9zc2libGVHb29kU2NvcmUgPSBnb29kTWF4O1xuICAgIHRoaXMubWF4UG9zc2libGVCYWRTY29yZSA9IGJhZE1heDtcbiAgICBcbiAgICB0aGlzLmxvYWRDb21wb25lbnQoKTtcbiAgICBpZiAodGhpcy5lZGl0ICYmIHRoaXMuc3ViRm9ybT8uc3VibWlzc2lvbnMpIHtcbiAgICAgIHRoaXMuc3VibWlzc2lvbnMgPSB0aGlzLnN1YkZvcm0uc3VibWlzc2lvbnM7XG4gICAgICB0aGlzLnN1YkZvcm0uZGVsZXRlZFN1Ym1pc3Npb25zID0gW107XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3VibWlzc2lvbnMgPSB0aGlzLmdlbmVyYXRlU3VibWlzc2lvbnNGcm9tRGVmYXVsdEFuc3dlcnMoXG4gICAgICAgIHRoaXMuc3ViRm9ybVxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc3VibWlzc2lvbnM/Lmxlbmd0aCkge1xuICAgICAgdGhpcy51cGRhdGVTdWJGb3JtV2l0aFN1Ym1pc3Npb25zKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnN1YkZvcm0/LnByb3BlcnR5Py5hZGRCdXR0b25MYWJlbCkge1xuICAgICAgdGhpcy5hZGRCdXR0b25MYWJlbCA9IHRoaXMuc3ViRm9ybS5wcm9wZXJ0eS5hZGRCdXR0b25MYWJlbDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvYWRDb21wb25lbnQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5jb21wb25lbnRUb0xvYWQgPSBhd2FpdCB0aGlzLmxvYWRGb3JtRWxlbWVudHNDb21wb25lbnQoKTtcbiAgICB0aGlzLmluamVjdG9yID0gdGhpcy5jcmVhdGVJbmplY3RvcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkRm9ybUVsZW1lbnRzQ29tcG9uZW50KCkge1xuICAgIGNvbnN0IHsgRm9ybUVsZW1lbnRzQ29tcG9uZW50IH0gPSBhd2FpdCBpbXBvcnQoXG4gICAgICAnLi4vZm9ybS1lbGVtZW50cy9mb3JtLWVsZW1lbnRzLmNvbXBvbmVudCdcbiAgICApO1xuICAgIHJldHVybiBGb3JtRWxlbWVudHNDb21wb25lbnQ7XG4gIH1cblxuICBjcmVhdGVJbmplY3RvcigpOiBJbmplY3RvciB7XG4gICAgcmV0dXJuIEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiAnZ3JpZCcsIHVzZVZhbHVlOiB0aGlzLmdyaWQ/LmVsZW1lbnQuY2hpbGRMb2dpY3MgfSxcbiAgICAgICAgeyBwcm92aWRlOiAnc3RhdGUnLCB1c2VWYWx1ZTogJ2NoaWxkJyB9LFxuICAgICAgXSxcbiAgICB9KTtcbiAgfVxuXG4gIGdlbmVyYXRlU3VibWlzc2lvbnNGcm9tRGVmYXVsdEFuc3dlcnMoc3ViRm9ybTogU3ViRm9ybSk6IFN1Ym1pc3Npb25bXSB7XG4gICAgaWYgKFxuICAgICAgIXN1YkZvcm0uZGVmYXVsdEFuc3dlcnMgfHxcbiAgICAgICFBcnJheS5pc0FycmF5KHN1YkZvcm0uZGVmYXVsdEFuc3dlcnMuYW5zd2VycylcbiAgICApIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3ViRm9ybS5kZWZhdWx0QW5zd2Vycy5hbnN3ZXJzLm1hcCgoYW5zd2VyR3JvdXApID0+IHtcbiAgICAgIGNvbnN0IHN1Ym1pc3Npb246IFN1Ym1pc3Npb24gPSB7XG4gICAgICAgIHN1Ym1pc3Npb25JZDogJycsIC8vIEdlbmVyYXRlIGEgdW5pcXVlIElEIGZvciBlYWNoIHN1Ym1pc3Npb25cbiAgICAgICAgY29uZmlndXJhdGlvbjoge1xuICAgICAgICAgIGlzRGVmYXVsdDogdHJ1ZSxcbiAgICAgICAgICBhbGxvd0RlbGV0ZTogYW5zd2VyR3JvdXAuaXNEZWxldGVFbmFibGUsXG4gICAgICAgIH0sXG4gICAgICAgIGFuc3dlcnM6IGFuc3dlckdyb3VwLmRlZmF1bHRRdWVzdGlvbnNBbnN3ZXJzLm1hcCgocWEpID0+IHtcbiAgICAgICAgICBjb25zdCBhbnN3ZXI6IEFuc3dlciA9IHtcbiAgICAgICAgICAgIHF1ZXN0aW9uSWQ6IHFhLnF1ZXN0aW9uSWQsXG4gICAgICAgICAgICBhbnN3ZXI6IHFhLmRlZmF1bHRBbnN3ZXIsXG4gICAgICAgICAgICBhdHRhY2htZW50czogW10sIC8vIE5vIGF0dGFjaG1lbnRzIGZyb20gZGVmYXVsdEFuc3dlcnNcbiAgICAgICAgICB9O1xuICAgICAgICAgIHJldHVybiBhbnN3ZXI7XG4gICAgICAgIH0pLFxuICAgICAgfTtcblxuICAgICAgcmV0dXJuIHN1Ym1pc3Npb247XG4gICAgfSk7XG4gIH1cblxuICB0cmFja0J5U3VibWlzc2lvbklkKGluZGV4OiBudW1iZXIsIHN1Ym1pc3Npb246IFN1Ym1pc3Npb24pOiBzdHJpbmcgfCBudW1iZXIge1xuICAgIHJldHVybiBzdWJtaXNzaW9uPy5zdWJtaXNzaW9uSWQgfHwgaW5kZXg7XG4gIH1cblxuICBnZXRTdWJtaXNzaW9uUXVlc3Rpb24oc3VibWlzc2lvbjogU3VibWlzc2lvbiwgZm9ybUVsZW1lbnQ6IGFueSk6IGFueSB7XG4gICAgY29uc3QgYW5zT2JqID0gc3VibWlzc2lvbi5hbnN3ZXJzLmZpbmQoXG4gICAgICAoYSkgPT4gYS5xdWVzdGlvbklkID09PSBmb3JtRWxlbWVudC5lbGVtZW50LmlkXG4gICAgKTtcbiAgICBjb25zdCBxdWVzdGlvbkNsb25lID0geyAuLi5mb3JtRWxlbWVudC5lbGVtZW50IH07XG4gICAgcXVlc3Rpb25DbG9uZS5hbnN3ZXIgPSBhbnNPYmogPyBhbnNPYmouYW5zd2VyIDogJyc7XG4gICAgcXVlc3Rpb25DbG9uZS5kZWZhdWx0VmFsdWUgPSAnJztcbiAgICBxdWVzdGlvbkNsb25lLmRpc2FibGVFZGl0ID0gc3VibWlzc2lvbi5jb25maWd1cmF0aW9uPy5pc0RlZmF1bHRcbiAgICAgID8gcXVlc3Rpb25DbG9uZS5kaXNhYmxlRWRpdFxuICAgICAgOiBmYWxzZTtcbiAgICBxdWVzdGlvbkNsb25lLmF0dGFjaG1lbnRzID0gYW5zT2JqPy5hdHRhY2htZW50cyA/IGFuc09iai5hdHRhY2htZW50cyA6IFtdO1xuICAgIHJldHVybiBxdWVzdGlvbkNsb25lO1xuICB9XG5cbiAgYWRkTmV3U3VibWlzc2lvbigpIHtcbiAgICBjb25zdCBlbXB0eUFuc3dlcnM6IEFuc3dlcltdID0gW107XG4gICAgdGhpcy5zdWJGb3JtLnJvd3MuZm9yRWFjaCgocm93OiBhbnkpID0+IHtcbiAgICAgIHJvdy5ncmlkLmZvckVhY2goKGdyaWRJdGVtOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGdyaWRJdGVtLmVudGl0eVR5cGUgPT09ICdRVUVTVElPTicgJiZcbiAgICAgICAgICBncmlkSXRlbS5lbGVtZW50ICYmXG4gICAgICAgICAgZ3JpZEl0ZW0uZWxlbWVudC5pZFxuICAgICAgICApIHtcbiAgICAgICAgICBlbXB0eUFuc3dlcnMucHVzaCh7XG4gICAgICAgICAgICBxdWVzdGlvbklkOiBncmlkSXRlbS5lbGVtZW50LmlkLFxuICAgICAgICAgICAgYW5zd2VyOiAnJyxcbiAgICAgICAgICAgIG1heGltdW1Qb3NzaWJsZVNjb3JlOjBcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gICAgY29uc3Qgc3VibWlzc2lvbjogU3VibWlzc2lvbiA9IHtcbiAgICAgIHN1Ym1pc3Npb25JZDogdXVpZHY0KCksXG4gICAgICBhbnN3ZXJzOiBlbXB0eUFuc3dlcnMsXG4gICAgICBjb25maWd1cmF0aW9uOiB7XG4gICAgICAgIGlzRGVmYXVsdDogZmFsc2UsXG4gICAgICAgIGFsbG93RGVsZXRlOiB0cnVlLFxuICAgICAgfSxcbiAgICB9O1xuICAgIHRoaXMuc3VibWlzc2lvbnMucHVzaChzdWJtaXNzaW9uKTtcbiAgICB0aGlzLnN1Ym1pc3Npb25zID0gWy4uLnRoaXMuc3VibWlzc2lvbnNdO1xuICAgIHRoaXMudXBkYXRlU3ViRm9ybVdpdGhTdWJtaXNzaW9ucygpO1xuICB9XG5cbiAgdXBkYXRlU3ViRm9ybVdpdGhTdWJtaXNzaW9ucygpIHtcbiAgICB0aGlzLnN1YkZvcm0uc3VibWlzc2lvbnMgPSB0aGlzLnN1Ym1pc3Npb25zO1xuICAgIHRoaXMuc3ViRm9ybS5tYXhQb3NzaWJsZVNjb3JlID0ge1xuICAgICAgJ2dvb2QnOiB0aGlzLm1heFBvc3NpYmxlR29vZFNjb3JlLFxuICAgICAgJ2JhZCc6IHRoaXMubWF4UG9zc2libGVCYWRTY29yZVxuICAgIH1cbiAgICB0aGlzLnN1YkZvcm0uZGVsZXRlZFN1Ym1pc3Npb25zID0gdGhpcy5kZWxldGVkU3VibWlzc2lvbnM7XG4gICAgdGhpcy5zdWJGb3JtQ2hhbmdlLmVtaXQodGhpcy5zdWJGb3JtKTtcbiAgfVxuXG4gIHVwZGF0ZUFuc3dlcihzdWJtaXNzaW9uOiBTdWJtaXNzaW9uLCBxdWVzdGlvbjogYW55LCBuZXdBbnN3ZXJPYmplY3Q6IGFueSkge1xuICAgIGNvbnN0IG5ld0Fuc3dlciA9IG5ld0Fuc3dlck9iamVjdC5hbnN3ZXI7XG4gICAgY29uc3Qgc3VibWlzc2lvbkluZGV4ID0gdGhpcy5zdWJtaXNzaW9ucy5pbmRleE9mKHN1Ym1pc3Npb24pO1xuICAgIGlmIChzdWJtaXNzaW9uSW5kZXggPiAtMSkge1xuICAgICAgY29uc3QgZXhpc3RpbmdBbnN3ZXIgPSB0aGlzLnN1Ym1pc3Npb25zW3N1Ym1pc3Npb25JbmRleF0uYW5zd2Vycy5maW5kKFxuICAgICAgICAoYSkgPT4gYS5xdWVzdGlvbklkID09PSBxdWVzdGlvbi5pZFxuICAgICAgKTtcblxuICAgICAgaWYgKFxuICAgICAgICBxdWVzdGlvbi5mb3JtRWxlbWVudCAmJlxuICAgICAgICBxdWVzdGlvbi5mb3JtRWxlbWVudC5lbGVtZW50VHlwZSA9PT0gJ0ZJTEVfUElDS0VSJ1xuICAgICAgKSB7XG4gICAgICAgIC8vIE1hcCBmaWxlIG9iamVjdHMgdG8gZmlsZSBuYW1lcy5cbiAgICAgICAgbGV0IGZpbGVOYW1lczogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgaWYgKG5ld0Fuc3dlciAmJiBBcnJheS5pc0FycmF5KG5ld0Fuc3dlcikpIHtcbiAgICAgICAgICBmaWxlTmFtZXMgPSBuZXdBbnN3ZXIubWFwKChmaWxlOiBhbnkpID0+IGZpbGU/Ll9maWxlPy5uYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEdldCBkZWxldGVkIGZpbGUgSURzIGZyb20gdGhlIHF1ZXN0aW9uIChpZiBhbnkpLlxuICAgICAgICBsZXQgZGVsZXRlZEZpbGVzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBpZiAocXVlc3Rpb24uZGVsZXRlRmlsZXMgJiYgcXVlc3Rpb24uZGVsZXRlRmlsZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGRlbGV0ZWRGaWxlcyA9IHF1ZXN0aW9uLmRlbGV0ZUZpbGVzO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV4aXN0aW5nQW5zd2VyKSB7XG4gICAgICAgICAgZXhpc3RpbmdBbnN3ZXIuZmlsZXMgPSBuZXdBbnN3ZXI7XG4gICAgICAgICAgZXhpc3RpbmdBbnN3ZXIuYW5zd2VyID0gZmlsZU5hbWVzO1xuICAgICAgICAgIC8vIEluaXRpYWxpemUgZGVsZXRlRmlsZXMgaWYgaXQncyBub3QgZGVmaW5lZC5cbiAgICAgICAgICBpZiAoIWV4aXN0aW5nQW5zd2VyLmRlbGV0ZUZpbGVzKSB7XG4gICAgICAgICAgICBleGlzdGluZ0Fuc3dlci5kZWxldGVGaWxlcyA9IFtdO1xuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBBcHBlbmQgYW55IGRlbGV0ZWQgZmlsZSBJRHMgbm90IGFscmVhZHkgcHJlc2VudC5cbiAgICAgICAgICBkZWxldGVkRmlsZXMuZm9yRWFjaCgoZGVsZXRlZElkOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIGlmICghZXhpc3RpbmdBbnN3ZXIuZGVsZXRlRmlsZXMhLmluY2x1ZGVzKGRlbGV0ZWRJZCkpIHtcbiAgICAgICAgICAgICAgZXhpc3RpbmdBbnN3ZXIuZGVsZXRlRmlsZXMhLnB1c2goZGVsZXRlZElkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBuZXdPYmo6IEFuc3dlciA9IHtcbiAgICAgICAgICAgIHF1ZXN0aW9uSWQ6IHF1ZXN0aW9uLmlkLFxuICAgICAgICAgICAgZmlsZXM6IG5ld0Fuc3dlcixcbiAgICAgICAgICAgIGFuc3dlcjogZmlsZU5hbWVzLFxuICAgICAgICAgICAgZGVsZXRlRmlsZXM6IGRlbGV0ZWRGaWxlcy5sZW5ndGggPiAwID8gWy4uLmRlbGV0ZWRGaWxlc10gOiBbXSxcbiAgICAgICAgICB9O1xuICAgICAgICAgIHRoaXMuc3VibWlzc2lvbnNbc3VibWlzc2lvbkluZGV4XS5hbnN3ZXJzLnB1c2gobmV3T2JqKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGV4aXN0aW5nQW5zd2VyKSB7XG4gICAgICAgICAgZXhpc3RpbmdBbnN3ZXIuYW5zd2VyID0gbmV3QW5zd2VyO1xuICAgICAgICAgIGV4aXN0aW5nQW5zd2VyLm1heGltdW1Qb3NzaWJsZVNjb3JlID0gbmV3QW5zd2VyT2JqZWN0Lm1heFBvc3NpYmxlU2NvcmU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5zdWJtaXNzaW9uc1tzdWJtaXNzaW9uSW5kZXhdLmFuc3dlcnMucHVzaCh7XG4gICAgICAgICAgICBxdWVzdGlvbklkOiBxdWVzdGlvbi5pZCxcbiAgICAgICAgICAgIGFuc3dlcjogbmV3QW5zd2VyLFxuICAgICAgICAgICAgbWF4aW11bVBvc3NpYmxlU2NvcmU6IG5ld0Fuc3dlck9iamVjdC5tYXhQb3NzaWJsZVNjb3JlXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gIFxuICAgICAgICBpZihcbiAgICAgICAgICBxdWVzdGlvbi5mb3JtRWxlbWVudCAmJlxuICAgICAgICAgIChxdWVzdGlvbi5mb3JtRWxlbWVudC5lbGVtZW50VHlwZSA9PT0gJ0RST1BfRE9XTicgfHxcbiAgICAgICAgICBxdWVzdGlvbi5mb3JtRWxlbWVudC5lbGVtZW50VHlwZSA9PT0gJ1JBRElPX0JVVFRPTicgfHxcbiAgICAgICAgICBxdWVzdGlvbi5mb3JtRWxlbWVudC5lbGVtZW50VHlwZSA9PT0gJ0NIRUNLX0JPWCcpICYmXG4gICAgICAgICAgcXVlc3Rpb24uZm9ybUVsZW1lbnQuc2NvcmluZyAmJlxuICAgICAgICAgIHF1ZXN0aW9uLmZvcm1FbGVtZW50LnNjb3JpbmcuZW5hYmxlU2NvcmluZ1xuICAgICAgICApe1xuICAgICAgICAgIHN1Ym1pc3Npb24uYW5zd2Vycy5mb3JFYWNoKChhbnMpID0+IHtcbiAgICAgICAgICAgIGlmKHF1ZXN0aW9uLmlkID09PSBhbnMucXVlc3Rpb25JZCl7XG4gICAgICAgICAgICAgIGNvbnN0IHNjb3JlUmVzdWx0ID0gdGhpcy5zY29yZUNhbGNTZXJ2aWNlLmNhbGN1bGF0ZVNjb3JlRnJvbUFuc3dlcihhbnMuYW5zd2VyLCBxdWVzdGlvbik7XG4gICAgICAgICAgICAgIC8vIFNhdmUgdG90YWwgc2NvcmUgYW5kIGluZGl2aWR1YWwgc2NvcmVzXG4gICAgICAgICAgICAgIGFucy5zY29yZXMgPSBzY29yZVJlc3VsdD8uc2NvcmVzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICAgICAvLyBDaGVjayBzY29yaW5nIGNvbmRpdGlvblxuICAgICAgICAgIGlmICh0aGlzLnNjb3JlQ2FsY1NlcnZpY2Uuc2hvdWxkQ2FsY3VsYXRlU2NvcmUodGhpcy5zdWJGb3JtLCBzdWJtaXNzaW9uKSkge1xuICAgICAgICAgICAgLy8gTWFyayB0aGF0IHRoaXMgc3VibWlzc2lvbiBoYWQgYWxsIHNjb3JpbmcgcXVlc3Rpb25zIGFuc3dlcmVkIGF0IGxlYXN0IG9uY2VcbiAgICAgICAgICAgIHN1Ym1pc3Npb24uaGFzQWxsU2NvcmluZ0Fuc3dlcmVkT25jZSA9IHRydWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHN1Ym1pc3Npb24uaGFzQWxsU2NvcmluZ0Fuc3dlcmVkT25jZSkge1xuICAgICAgICAgICAgLy8gUmVjYWxjdWxhdGUgc2NvcmUgYWx3YXlzIGFmdGVyIG9uY2Ugc2F0aXNmaWVkXG4gICAgICAgICAgICBzdWJtaXNzaW9uLnNjb3JlcyA9IHRoaXMuc2NvcmVDYWxjU2VydmljZS5jYWxjdWxhdGVTdWJtaXNzaW9uU2NvcmUoc3VibWlzc2lvbi5hbnN3ZXJzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNvbnN0IGhhc0FueVNjb3JlID0gdGhpcy5zdWJtaXNzaW9ucy5zb21lKFxuICAgICAgICBzdWIgPT4gc3ViLnNjb3Jlcz8uc29tZShzID0+IHMuc2NvcmUgIT09IG51bGwgJiYgcy5zY29yZSAhPT0gdW5kZWZpbmVkKVxuICAgICAgKTtcbiAgICAgIFxuICAgICAgaWYgKGhhc0FueVNjb3JlKSB7XG4gICAgICAgIHRoaXMuc3ViRm9ybS5zY29yZXMgPSB0aGlzLnNjb3JlQ2FsY1NlcnZpY2UuY2FsY3VsYXRlRmluYWxTY29yZSh0aGlzLnN1Ym1pc3Npb25zLHRoaXMubWF4UG9zc2libGVHb29kU2NvcmUsdGhpcy5tYXhQb3NzaWJsZUJhZFNjb3JlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc3ViRm9ybS5zY29yZXMgPSBudWxsOyAvLyBvciAwLCBkZXBlbmRpbmcgb24gaG93IHlvdSB3YW50IHRvIHJlcHJlc2VudCBcIm5vIHNjb3JlIHlldFwiXG4gICAgICB9XG4gICAgICB0aGlzLnVwZGF0ZVN1YkZvcm1XaXRoU3VibWlzc2lvbnMoKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVEZWxldGVkRmlsZXMoXG4gICAgc3VibWlzc2lvbjogU3VibWlzc2lvbixcbiAgICBxdWVzdGlvbjogYW55LFxuICAgIGRlbGV0ZWRGaWxlczogc3RyaW5nW11cbiAgKSB7XG4gICAgLy8gRmluZCB0aGUgbWF0Y2hpbmcgYW5zd2VyIG9iamVjdCBiYXNlZCBvbiB0aGUgcXVlc3Rpb25JZFxuICAgIGNvbnN0IGFuc3dlck9iaiA9IHN1Ym1pc3Npb24uYW5zd2Vycy5maW5kKFxuICAgICAgKGFucykgPT4gYW5zLnF1ZXN0aW9uSWQgPT09IHF1ZXN0aW9uLmlkXG4gICAgKTtcblxuICAgIGlmIChhbnN3ZXJPYmopIHtcbiAgICAgIC8vIEVuc3VyZSBkZWxldGVGaWxlcyBpcyBhbHdheXMgYW4gYXJyYXlcbiAgICAgIGlmICghYW5zd2VyT2JqLmRlbGV0ZUZpbGVzKSB7XG4gICAgICAgIGFuc3dlck9iai5kZWxldGVGaWxlcyA9IFtdO1xuICAgICAgfVxuXG4gICAgICAvLyBBZGQgZGVsZXRlZCBmaWxlIElEcyB0byBkZWxldGVGaWxlcyBhcnJheSB3aGlsZSBhdm9pZGluZyBkdXBsaWNhdGVzXG4gICAgICBkZWxldGVkRmlsZXMuZm9yRWFjaCgoZmlsZUlkKSA9PiB7XG4gICAgICAgIGlmICghYW5zd2VyT2JqLmRlbGV0ZUZpbGVzIS5pbmNsdWRlcyhmaWxlSWQpKSB7XG4gICAgICAgICAgYW5zd2VyT2JqLmRlbGV0ZUZpbGVzIS5wdXNoKGZpbGVJZCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGRlbGV0ZVN1Ym1pc3Npb24oaW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IHN1Ym1pc3Npb24gPSB0aGlzLnN1Ym1pc3Npb25zW2luZGV4XTtcbiAgICBpZiAoc3VibWlzc2lvbi5zdWJtaXNzaW9uSWQpIHtcbiAgICAgIHRoaXMuZGVsZXRlZFN1Ym1pc3Npb25zLnB1c2goc3VibWlzc2lvbi5zdWJtaXNzaW9uSWQpO1xuICAgIH1cbiAgICB0aGlzLnN1Ym1pc3Npb25zLnNwbGljZShpbmRleCwgMSk7XG4gICAgdGhpcy5zdWJtaXNzaW9ucyA9IFsuLi50aGlzLnN1Ym1pc3Npb25zXTtcbiAgICB0aGlzLnN1YkZvcm0uc2NvcmVzID0gdGhpcy5zY29yZUNhbGNTZXJ2aWNlLmNhbGN1bGF0ZUZpbmFsU2NvcmUodGhpcy5zdWJtaXNzaW9ucyx0aGlzLm1heFBvc3NpYmxlR29vZFNjb3JlLHRoaXMubWF4UG9zc2libGVCYWRTY29yZSk7XG4gICAgdGhpcy51cGRhdGVTdWJGb3JtV2l0aFN1Ym1pc3Npb25zKCk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHN1Ym1pc3Npb24gb2Ygc3VibWlzc2lvbnM7bGV0IGk9aW5kZXggO3RyYWNrQnk6IHRyYWNrQnlTdWJtaXNzaW9uSWRcIj5cbiAgPGRpdiBjbGFzcz1cImNhcmQtc3ViZm9ybSBtYi00XCI+XG4gICAgPGRpdiBjbGFzcz1cImRlbGV0ZSBkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZCBtZS00IG1iLTIgbXQtMiBnYXAtM1wiXG4gICAgPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdWJtaXNzaW9uPy5zY29yZXM/LlswXSBhcyBmaXJzdFNjb3JlXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwic3VibWlzc2lvblNjb3JlXCJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICdnb29kLXNjb3JlJzogZmlyc3RTY29yZS5zY29yZVR5cGUgPT09ICdHT09EX1NDT1JFJyxcbiAgICAgICAgICAnYmFkLXNjb3JlJzogZmlyc3RTY29yZS5zY29yZVR5cGUgPT09ICdCQURfU0NPUkUnXG4gICAgICAgIH1cIlxuICAgICAgPlxuICAgICAgPHNwYW4+e3sgTWF0aC5hYnMoZmlyc3RTY29yZS5zY29yZSkgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxpbWcgY2xhc3M9XCJkZWxldGUtaWNvblwiIHNyYz1cImFzc2V0cy9pY29ucy9kZWxldGUtaWNvbi5zdmdcIiBhbHQ9XCJkZWxldGVcIlxuICAgICAgKm5nSWY9XCJzdWJtaXNzaW9uLmNvbmZpZ3VyYXRpb24/LmFsbG93RGVsZXRlXCJcbiAgICAgIChjbGljayk9XCJkZWxldGVTdWJtaXNzaW9uKGkpXCI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgcm93IG9mIHN1YkZvcm0ucm93c1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKm5nRm9yPVwibGV0IGdyaWQgb2Ygcm93LmdyaWRcIlxuICAgICAgICAgIFtuZ1N0eWxlXT1cInsgJ3dpZHRoLiUnOiBncmlkLmVsZW1lbnQuY291bnQgKiAoMTAwIC8gMTIpIH1cIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImdyaWQuZW50aXR5VHlwZSA9PT0gJ1FVRVNUSU9OJ1wiPlxuICAgICAgICAgICAgPGRpdiBbbmdTd2l0Y2hdPVwiZ3JpZC5lbGVtZW50LmZvcm1FbGVtZW50LmVsZW1lbnRUeXBlXCI+XG4gICAgICAgICAgICAgIDxsaWItY2hlY2stYm94LWZpZWxkc1xuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInQ0hFQ0tfQk9YJ1wiXG4gICAgICAgICAgICAgICAgW3F1ZXN0aW9uXT1cImdldFN1Ym1pc3Npb25RdWVzdGlvbihzdWJtaXNzaW9uLGdyaWQpXCJcbiAgICAgICAgICAgICAgICAoYW5zd2VyQ2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVBbnN3ZXIoc3VibWlzc2lvbiwgZ3JpZC5lbGVtZW50LCAkZXZlbnQpXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgPjwvbGliLWNoZWNrLWJveC1maWVsZHM+XG4gICAgICAgICAgICAgIDxsaWItZGF0ZS10aW1lLWZpZWxkc1xuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInREFURV9USU1FJ1wiXG4gICAgICAgICAgICAgICAgW3F1ZXN0aW9uXT1cImdldFN1Ym1pc3Npb25RdWVzdGlvbihzdWJtaXNzaW9uLGdyaWQpXCJcbiAgICAgICAgICAgICAgICAoYW5zd2VyQ2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVBbnN3ZXIoc3VibWlzc2lvbiwgZ3JpZC5lbGVtZW50LCAkZXZlbnQpXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgPjwvbGliLWRhdGUtdGltZS1maWVsZHM+XG4gICAgICAgICAgICAgIDxsaWItZHJvcC1kb3duLWZpZWxkc1xuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInRFJPUF9ET1dOJ1wiXG4gICAgICAgICAgICAgICAgW3F1ZXN0aW9uXT1cImdldFN1Ym1pc3Npb25RdWVzdGlvbihzdWJtaXNzaW9uLGdyaWQpXCJcbiAgICAgICAgICAgICAgICAoYW5zd2VyQ2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVBbnN3ZXIoc3VibWlzc2lvbiwgZ3JpZC5lbGVtZW50LCAkZXZlbnQpXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgPjwvbGliLWRyb3AtZG93bi1maWVsZHM+XG4gICAgICAgICAgICAgIDxsaWItZmlsZS1waWNrZXItZmllbGRzXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidGSUxFX1BJQ0tFUidcIlxuICAgICAgICAgICAgICAgIFtxdWVzdGlvbl09XCJnZXRTdWJtaXNzaW9uUXVlc3Rpb24oc3VibWlzc2lvbixncmlkKVwiXG4gICAgICAgICAgICAgICAgKGFuc3dlckNoYW5nZSk9XCJcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlQW5zd2VyKHN1Ym1pc3Npb24sIGdyaWQuZWxlbWVudCwgJGV2ZW50KVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgKGlubGluZURlbGV0ZUZpbGVzKT1cIlxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVEZWxldGVkRmlsZXMoc3VibWlzc2lvbiwgZ3JpZC5lbGVtZW50LCAkZXZlbnQpXG4gICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+PC9saWItZmlsZS1waWNrZXItZmllbGRzPlxuICAgICAgICAgICAgICA8bGliLWxvY2F0aW9uLWZpZWxkc1xuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInTE9DQVRJT04nXCJcbiAgICAgICAgICAgICAgICBbcXVlc3Rpb25dPVwiZ2V0U3VibWlzc2lvblF1ZXN0aW9uKHN1Ym1pc3Npb24sZ3JpZClcIlxuICAgICAgICAgICAgICAgIChhbnN3ZXJDaGFuZ2UpPVwiXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUFuc3dlcihzdWJtaXNzaW9uLCBncmlkLmVsZW1lbnQsICRldmVudClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+PC9saWItbG9jYXRpb24tZmllbGRzPlxuICAgICAgICAgICAgICA8bGliLW1haWwtZmllbGRzXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidFTUFJTCdcIlxuICAgICAgICAgICAgICAgIFtxdWVzdGlvbl09XCJnZXRTdWJtaXNzaW9uUXVlc3Rpb24oc3VibWlzc2lvbixncmlkKVwiXG4gICAgICAgICAgICAgICAgKGFuc3dlckNoYW5nZSk9XCJcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlQW5zd2VyKHN1Ym1pc3Npb24sIGdyaWQuZWxlbWVudCwgJGV2ZW50KVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgID48L2xpYi1tYWlsLWZpZWxkcz5cbiAgICAgICAgICAgICAgPGxpYi1tb2JpbGUtZmllbGRzXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidNT0JJTEUnXCJcbiAgICAgICAgICAgICAgICBbcXVlc3Rpb25dPVwiZ2V0U3VibWlzc2lvblF1ZXN0aW9uKHN1Ym1pc3Npb24sZ3JpZClcIlxuICAgICAgICAgICAgICAgIChhbnN3ZXJDaGFuZ2UpPVwiXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUFuc3dlcihzdWJtaXNzaW9uLCBncmlkLmVsZW1lbnQsICRldmVudClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+PC9saWItbW9iaWxlLWZpZWxkcz5cbiAgICAgICAgICAgICAgPGxpYi1udW1iZXItZmllbGRzXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidOVU1CRVInXCJcbiAgICAgICAgICAgICAgICBbcXVlc3Rpb25dPVwiZ2V0U3VibWlzc2lvblF1ZXN0aW9uKHN1Ym1pc3Npb24sZ3JpZClcIlxuICAgICAgICAgICAgICAgIFtyb3dJZF09XCInMCdcIlxuICAgICAgICAgICAgICAgIChhbnN3ZXJDaGFuZ2UpPVwiXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUFuc3dlcihzdWJtaXNzaW9uLCBncmlkLmVsZW1lbnQsICRldmVudClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+PC9saWItbnVtYmVyLWZpZWxkcz5cbiAgICAgICAgICAgICAgPGxpYi1wYXNzd29yZC1maWVsZHNcbiAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ1BBU1NXT1JEJ1wiXG4gICAgICAgICAgICAgICAgW3F1ZXN0aW9uXT1cImdldFN1Ym1pc3Npb25RdWVzdGlvbihzdWJtaXNzaW9uLGdyaWQpXCJcbiAgICAgICAgICAgICAgICAoYW5zd2VyQ2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVBbnN3ZXIoc3VibWlzc2lvbiwgZ3JpZC5lbGVtZW50LCAkZXZlbnQpXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgPjwvbGliLXBhc3N3b3JkLWZpZWxkcz5cbiAgICAgICAgICAgICAgPGxpYi1yYWRpby1idXR0b24tZmllbGRzXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidSQURJT19CVVRUT04nXCJcbiAgICAgICAgICAgICAgICBbcXVlc3Rpb25dPVwiZ2V0U3VibWlzc2lvblF1ZXN0aW9uKHN1Ym1pc3Npb24sZ3JpZClcIlxuICAgICAgICAgICAgICAgIFtyb3dJZF09XCJpXCJcbiAgICAgICAgICAgICAgICAoYW5zd2VyQ2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVBbnN3ZXIoc3VibWlzc2lvbiwgZ3JpZC5lbGVtZW50LCAkZXZlbnQpXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgPjwvbGliLXJhZGlvLWJ1dHRvbi1maWVsZHM+XG4gICAgICAgICAgICAgIDxsaWItcmljaC10ZXh0LWVkaXRvci1maWVsZHNcbiAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ1JJQ0hfVEVYVF9FRElUT1InXCJcbiAgICAgICAgICAgICAgICBbcXVlc3Rpb25dPVwiZ2V0U3VibWlzc2lvblF1ZXN0aW9uKHN1Ym1pc3Npb24sZ3JpZClcIlxuICAgICAgICAgICAgICAgIFtpblN1YkZvcm1dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgKGFuc3dlckNoYW5nZSk9XCJcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlQW5zd2VyKHN1Ym1pc3Npb24sIGdyaWQuZWxlbWVudCwgJGV2ZW50KVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgID48L2xpYi1yaWNoLXRleHQtZWRpdG9yLWZpZWxkcz5cbiAgICAgICAgICAgICAgPGxpYi1zZWxlY3Rpb24tbWF0cml4LWZpZWxkc1xuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInU0VMRUNUSU9OX01BVFJJWCdcIlxuICAgICAgICAgICAgICAgIFtxdWVzdGlvbl09XCJnZXRTdWJtaXNzaW9uUXVlc3Rpb24oc3VibWlzc2lvbixncmlkKVwiXG4gICAgICAgICAgICAgICAgW2FjY2VwdGVkTGFuZ3VhZ2VdPVwiYWNjZXB0ZWRMYW5ndWFnZVwiXG4gICAgICAgICAgICAgICAgW3Jvd0lkXT1cImlcIlxuICAgICAgICAgICAgICAgIChhbnN3ZXJDaGFuZ2UpPVwiXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUFuc3dlcihzdWJtaXNzaW9uLCBncmlkLmVsZW1lbnQsICRldmVudClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+PC9saWItc2VsZWN0aW9uLW1hdHJpeC1maWVsZHM+XG4gICAgICAgICAgICAgIDxsaWItc2xpZGVyLWZpZWxkc1xuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInU0xJREVSJ1wiXG4gICAgICAgICAgICAgICAgW3F1ZXN0aW9uXT1cImdldFN1Ym1pc3Npb25RdWVzdGlvbihzdWJtaXNzaW9uLGdyaWQpXCJcbiAgICAgICAgICAgICAgICAoYW5zd2VyQ2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVBbnN3ZXIoc3VibWlzc2lvbiwgZ3JpZC5lbGVtZW50LCAkZXZlbnQpXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgPjwvbGliLXNsaWRlci1maWVsZHM+XG4gICAgICAgICAgICAgIDxsaWItdGVybXMtYW5kLWNvbmRpdGlvbi1maWVsZHNcbiAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ1RFUk1TX0FORF9DT05ESVRJT04nXCJcbiAgICAgICAgICAgICAgICBbcXVlc3Rpb25dPVwiZ2V0U3VibWlzc2lvblF1ZXN0aW9uKHN1Ym1pc3Npb24sZ3JpZClcIlxuICAgICAgICAgICAgICAgIChhbnN3ZXJDaGFuZ2UpPVwiXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUFuc3dlcihzdWJtaXNzaW9uLCBncmlkLmVsZW1lbnQsICRldmVudClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+PC9saWItdGVybXMtYW5kLWNvbmRpdGlvbi1maWVsZHM+XG4gICAgICAgICAgICAgIDxsaWItdGV4dC1hcmVhLWZpZWxkc1xuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInVEVYVF9BUkVBJ1wiXG4gICAgICAgICAgICAgICAgW3F1ZXN0aW9uXT1cImdldFN1Ym1pc3Npb25RdWVzdGlvbihzdWJtaXNzaW9uLGdyaWQpXCJcbiAgICAgICAgICAgICAgICAoYW5zd2VyQ2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVBbnN3ZXIoc3VibWlzc2lvbiwgZ3JpZC5lbGVtZW50LCAkZXZlbnQpXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgPjwvbGliLXRleHQtYXJlYS1maWVsZHM+XG4gICAgICAgICAgICAgIDxsaWItdGV4dC1maWVsZHNcbiAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ1RFWFRfQk9YJ1wiXG4gICAgICAgICAgICAgICAgW3F1ZXN0aW9uXT1cImdldFN1Ym1pc3Npb25RdWVzdGlvbihzdWJtaXNzaW9uLGdyaWQpXCJcbiAgICAgICAgICAgICAgICBbaW5DYXJkXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIChhbnN3ZXJDaGFuZ2UpPVwiXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUFuc3dlcihzdWJtaXNzaW9uLCBncmlkLmVsZW1lbnQsICRldmVudClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+PC9saWItdGV4dC1maWVsZHM+XG4gICAgICAgICAgICAgIDxsaWItdG9nZ2xlLXN3aXRjaC1maWVsZHNcbiAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ1RPR0dMRV9TV0lUQ0gnXCJcbiAgICAgICAgICAgICAgICBbcXVlc3Rpb25dPVwiZ2V0U3VibWlzc2lvblF1ZXN0aW9uKHN1Ym1pc3Npb24sZ3JpZClcIlxuICAgICAgICAgICAgICAgIFthY2NlcHRlZExhbmd1YWdlXT1cImFjY2VwdGVkTGFuZ3VhZ2VcIlxuICAgICAgICAgICAgICAgIChhbnN3ZXJDaGFuZ2UpPVwiXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUFuc3dlcihzdWJtaXNzaW9uLCBncmlkLmVsZW1lbnQsICRldmVudClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+PC9saWItdG9nZ2xlLXN3aXRjaC1maWVsZHM+XG4gICAgICAgICAgICAgIDxsaWItdXJsLWZpZWxkc1xuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInVVJMJ1wiXG4gICAgICAgICAgICAgICAgW3F1ZXN0aW9uXT1cImdldFN1Ym1pc3Npb25RdWVzdGlvbihzdWJtaXNzaW9uLGdyaWQpXCJcbiAgICAgICAgICAgICAgICAoYW5zd2VyQ2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVBbnN3ZXIoc3VibWlzc2lvbiwgZ3JpZC5lbGVtZW50LCAkZXZlbnQpXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgPjwvbGliLXVybC1maWVsZHM+XG4gICAgICAgICAgICAgIDxsaWItYWdncmVnYXRlLWZ1bmN0aW9uXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidBR0dSRUdBVEVfRlVOQ1RJT04nXCJcbiAgICAgICAgICAgICAgICBbcXVlc3Rpb25dPVwiZ2V0U3VibWlzc2lvblF1ZXN0aW9uKHN1Ym1pc3Npb24sZ3JpZClcIlxuICAgICAgICAgICAgICAgIFtyb3dJZF09XCInMCdcIlxuICAgICAgICAgICAgICAgIChhbnN3ZXJDaGFuZ2UpPVwiXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUFuc3dlcihzdWJtaXNzaW9uLCBncmlkLmVsZW1lbnQsICRldmVudClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+PC9saWItYWdncmVnYXRlLWZ1bmN0aW9uPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdJZj1cImdyaWQuZWxlbWVudC5jaGlsZExvZ2ljc1wiPlxuICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZ2V0Q29tcG9uZW50Rm9yQ2hpbGRMb2dpY3MoZ3JpZC5lbGVtZW50LmNoaWxkTG9naWNzLCAnY2hpbGQnLCBncmlkLmVsZW1lbnQuYW5zd2VyKSBhcyBvdXRsZXRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwib3V0bGV0LmNvbXBvbmVudCB8IGFzeW5jOyBpbmplY3Rvcjogb3V0bGV0LmluamVjdG9yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+IC0tPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImdyaWQ/LmVsZW1lbnQ/LmNoaWxkTG9naWNzXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb21wb25lbnRUb0xvYWRcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAqbmdDb21wb25lbnRPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50VG9Mb2FkO1xuICAgICAgICAgICAgICAgICAgICBpbnB1dHM6IHtcbiAgICAgICAgICAgICAgICAgICAgICBncmlkOiBncmlkPy5lbGVtZW50Py5jaGlsZExvZ2ljcyxcbiAgICAgICAgICAgICAgICAgICAgICBhbnN3ZXI6IGdyaWQ/LmVsZW1lbnQ/LmFuc3dlcixcbiAgICAgICAgICAgICAgICAgICAgICBzdGF0ZTogJ2NoaWxkJ1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJncmlkLmVudGl0eVR5cGUgPT09ICdTRUNUSU9OJ1wiPlxuICAgICAgICAgICAgPGxpYi1zZWN0aW9uLWZpZWxkcyBbc2VjdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi1zZWN0aW9uLWZpZWxkcz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPGRpdiBjbGFzcz1cInN1YmZvcm0tZm9vdGVyXCI+XG4gIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiAoY2xpY2spPVwiYWRkTmV3U3VibWlzc2lvbigpXCI+e3thZGRCdXR0b25MYWJlbH19PC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
@@ -6154,7 +6154,7 @@ class CardSubformComponent {
6154
6154
  });
6155
6155
  });
6156
6156
  const submission = {
6157
- submissionId: '',
6157
+ submissionId: v4(),
6158
6158
  answers: emptyAnswers,
6159
6159
  configuration: {
6160
6160
  isDefault: false,