@alfresco/adf-process-services-cloud 7.0.0-alpha.2 → 7.0.0-alpha.2-10617629626

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.
@@ -18,12 +18,13 @@ import { Component, EventEmitter, HostListener, inject, Input, Output, ViewChild
18
18
  import { FORM_FIELD_VALIDATORS } from '@alfresco/adf-core';
19
19
  import { FormControl, FormGroup, Validators } from '@angular/forms';
20
20
  import { MatAutocompleteTrigger } from '@angular/material/autocomplete';
21
- import { debounceTime, takeUntil } from 'rxjs/operators';
22
- import { ProcessPayloadCloud } from '../models/process-payload-cloud.model';
23
- import { StartProcessCloudService } from '../services/start-process-cloud.service';
24
21
  import { Subject } from 'rxjs';
22
+ import { debounceTime, takeUntil } from 'rxjs/operators';
25
23
  import { ProcessDefinitionCloud } from '../../../models/process-definition-cloud.model';
26
24
  import { ProcessNameCloudPipe } from '../../../pipes/process-name-cloud.pipe';
25
+ import { ProcessPayloadCloud } from '../models/process-payload-cloud.model';
26
+ import { ProcessWithFormPayloadCloud } from '../models/process-with-form-payload-cloud.model';
27
+ import { StartProcessCloudService } from '../services/start-process-cloud.service';
27
28
  import * as i0 from "@angular/core";
28
29
  import * as i1 from "@angular/forms";
29
30
  import * as i2 from "@angular/common";
@@ -229,27 +230,38 @@ export class StartProcessCloudComponent {
229
230
  }
230
231
  startProcess() {
231
232
  this.isProcessStarting = true;
232
- let payloadVariables = {};
233
- if (this.variables) {
234
- payloadVariables = this.variables;
235
- }
236
- if (this.hasForm) {
237
- payloadVariables = Object.assign(payloadVariables, this.formCloud.values);
238
- }
239
- const createPayload = new ProcessPayloadCloud({
240
- name: this.processInstanceName.value,
241
- processDefinitionKey: this.processPayloadCloud.processDefinitionKey,
242
- variables: payloadVariables
243
- });
244
- this.startProcessCloudService.startProcess(this.appName, createPayload).subscribe((res) => {
245
- this.success.emit(res);
246
- this.isProcessStarting = false;
247
- }, (err) => {
248
- this.errorMessageId = 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.START';
249
- this.error.emit(err);
250
- this.isProcessStarting = false;
233
+ const action = this.hasForm
234
+ ? this.startProcessCloudService.startProcessWithForm(this.appName, this.processDefinitionCurrent.formKey, this.processDefinitionCurrent.version, new ProcessWithFormPayloadCloud({
235
+ processName: this.processInstanceName.value,
236
+ processDefinitionKey: this.processPayloadCloud.processDefinitionKey,
237
+ variables: this.variables ?? {},
238
+ values: this.formCloud.values
239
+ }))
240
+ : this.startProcessCloudService.startProcess(this.appName, new ProcessPayloadCloud({
241
+ name: this.processInstanceName.value,
242
+ processDefinitionKey: this.processPayloadCloud.processDefinitionKey,
243
+ variables: this.variables ?? {}
244
+ }));
245
+ action.subscribe({
246
+ next: (res) => {
247
+ this.success.emit(res);
248
+ this.isProcessStarting = false;
249
+ },
250
+ error: (err) => {
251
+ this.errorMessageId = 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.START';
252
+ this.unifyErrorResponse(err);
253
+ this.error.emit(err);
254
+ this.isProcessStarting = false;
255
+ }
251
256
  });
252
257
  }
258
+ unifyErrorResponse(err) {
259
+ if (!err?.response?.body?.entry && err?.response?.body?.message) {
260
+ err.response.body = {
261
+ entry: JSON.parse(err.response.body.message)
262
+ };
263
+ }
264
+ }
253
265
  cancelStartProcess() {
254
266
  this.cancel.emit();
255
267
  }
@@ -358,4 +370,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
358
370
  type: HostListener,
359
371
  args: ['keydown', ['$event']]
360
372
  }] } });
361
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQtcHJvY2Vzcy1jbG91ZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvcHJvY2Vzcy1zZXJ2aWNlcy1jbG91ZC9zcmMvbGliL3Byb2Nlc3Mvc3RhcnQtcHJvY2Vzcy9jb21wb25lbnRzL3N0YXJ0LXByb2Nlc3MtY2xvdWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3Byb2Nlc3Mtc2VydmljZXMtY2xvdWQvc3JjL2xpYi9wcm9jZXNzL3N0YXJ0LXByb2Nlc3MvY29tcG9uZW50cy9zdGFydC1wcm9jZXNzLWNsb3VkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFDSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUlMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBb0IscUJBQXFCLEVBQWlDLE1BQU0sb0JBQW9CLENBQUM7QUFDNUcsT0FBTyxFQUFtQixXQUFXLEVBQUUsU0FBUyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbkYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUV4RixPQUFPLEVBQUUs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c0JBRFosS0FBSztnQkFLTixJQUFJO3NCQURILEtBQUs7Z0JBS04scUJBQXFCO3NCQURwQixLQUFLO2dCQUtOLFNBQVM7c0JBRFIsS0FBSztnQkFLTixNQUFNO3NCQURMLEtBQUs7Z0JBS04sZUFBZTtzQkFEZCxLQUFLO2dCQUtOLHlCQUF5QjtzQkFEeEIsS0FBSztnQkFLTixTQUFTO3NCQURSLEtBQUs7Z0JBS04sZ0JBQWdCO3NCQURmLEtBQUs7Z0JBS04sT0FBTztzQkFETixNQUFNO2dCQUtQLE1BQU07c0JBREwsTUFBTTtnQkFLUCxLQUFLO3NCQURKLE1BQU07Z0JBS1Asa0JBQWtCO3NCQURqQixNQUFNO2dCQUtQLDBCQUEwQjtzQkFEekIsTUFBTTtnQkFzRlAsU0FBUztzQkFEUixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDb250ZW50TGlua01vZGVsLCBGT1JNX0ZJRUxEX1ZBTElEQVRPUlMsIEZvcm1GaWVsZFZhbGlkYXRvciwgRm9ybU1vZGVsIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVUcmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUHJvY2Vzc0luc3RhbmNlQ2xvdWQgfSBmcm9tICcuLi9tb2RlbHMvcHJvY2Vzcy1pbnN0YW5jZS1jbG91ZC5tb2RlbCc7XG5pbXBvcnQgeyBQcm9jZXNzUGF5bG9hZENsb3VkIH0gZnJvbSAnLi4vbW9kZWxzL3Byb2Nlc3MtcGF5bG9hZC1jbG91ZC5tb2RlbCc7XG5pbXBvcnQgeyBTdGFydFByb2Nlc3NDbG91ZFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9zdGFydC1wcm9jZXNzLWNsb3VkLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUHJvY2Vzc0RlZmluaXRpb25DbG91ZCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9wcm9jZXNzLWRlZmluaXRpb24tY2xvdWQubW9kZWwnO1xuaW1wb3J0IHsgVGFza1ZhcmlhYmxlQ2xvdWQgfSBmcm9tICcuLi8uLi8uLi9mb3JtL21vZGVscy90YXNrLXZhcmlhYmxlLWNsb3VkLm1vZGVsJztcbmltcG9ydCB7IFByb2Nlc3NOYW1lQ2xvdWRQaXBlIH0gZnJvbSAnLi4vLi4vLi4vcGlwZXMvcHJvY2Vzcy1uYW1lLWNsb3VkLnBpcGUnO1xuXG5jb25zdCBNQVhfTkFNRV9MRU5HVEg6IG51bWJlciA9IDI1NTtcbmNvbnN0IFBST0NFU1NfREVGSU5JVElPTl9ERUJPVU5DRTogbnVtYmVyID0gMzAwO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FkZi1jbG91ZC1zdGFydC1wcm9jZXNzJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3RhcnQtcHJvY2Vzcy1jbG91ZC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3RhcnQtcHJvY2Vzcy1jbG91ZC5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgU3RhcnRQcm9jZXNzQ2xvdWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBAVmlld0NoaWxkKE1hdEF1dG9jb21wbGV0ZVRyaWdnZXIpXG4gICAgaW5wdXRBdXRvY29tcGxldGU6IE1hdEF1dG9jb21wbGV0ZVRyaWdnZXI7XG5cbiAgICAvKiogKHJlcXVpcmVkKSBOYW1lIG9mIHRoZSBhcHAuICovXG4gICAgQElucHV0KClcbiAgICBhcHBOYW1lOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKiBNYXhpbXVtIGxlbmd0aCBvZiB0aGUgcHJvY2VzcyBuYW1lLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgbWF4TmFtZUxlbmd0aDogbnVtYmVyID0gTUFYX05BTUVfTEVOR1RIO1xuXG4gICAgLyoqIE5hbWUgb2YgdGhlIHByb2Nlc3MuICovXG4gICAgQElucHV0KClcbiAgICBuYW1lOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKiBOYW1lIG9mIHRoZSBwcm9jZXNzIGRlZmluaXRpb24uICovXG4gICAgQElucHV0KClcbiAgICBwcm9jZXNzRGVmaW5pdGlvbk5hbWU6IHN0cmluZztcblxuICAgIC8qKiBWYXJpYWJsZXMgdG8gYXR0YWNoIHRvIHRoZSBwYXlsb2FkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgdmFyaWFibGVzOiBhbnk7XG5cbiAgICAvKiogUGFyYW1ldGVyIHRvIHBhc3MgZm9ybSBmaWVsZCB2YWx1ZXMgaW4gdGhlIHN0YXJ0IGZvcm0gaWYgb25lIGlzIGFzc29jaWF0ZWQuICovXG4gICAgQElucHV0KClcbiAgICB2YWx1ZXM6IFRhc2tWYXJpYWJsZUNsb3VkW107XG5cbiAgICAvKiogRm9ybUZpZWxkVmFsaWRhdG9yIGFsbG93IHRvIHByb3ZpZGUgYWRkaXRpb25hbCB2YWxpZGF0b3JzIHRvIHRoZSBmb3JtIGZpZWxkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZmllbGRWYWxpZGF0b3JzOiBGb3JtRmllbGRWYWxpZGF0b3JbXTtcblxuICAgIC8qKiBTaG93L2hpZGUgdGhlIHByb2Nlc3MgZHJvcGRvd24gbGlzdC4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNob3dTZWxlY3RQcm9jZXNzRHJvcGRvd246IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgLyoqIFNob3cvaGlkZSB0aXRsZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNob3dUaXRsZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgICAvKiogU2hvdy9oaWRlIGNhbmNlbCBidXR0b24uICovXG4gICAgQElucHV0KClcbiAgICBzaG93Q2FuY2VsQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gdGhlIHByb2Nlc3MgaXMgc3VjY2Vzc2Z1bGx5IHN0YXJ0ZWQuICovXG4gICAgQE91dHB1dCgpXG4gICAgc3VjY2VzcyA9IG5ldyBFdmVudEVtaXR0ZXI8UHJvY2Vzc0luc3RhbmNlQ2xvdWQ+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIHRoZSBzdGFydGluZyBwcm9jZXNzIGlzIGNhbmNlbGxlZCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXI8UHJvY2Vzc0luc3RhbmNlQ2xvdWQ+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIGFuIGVycm9yIG9jY3Vycy4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBlcnJvciA9IG5ldyBFdmVudEVtaXR0ZXI8UHJvY2Vzc0luc3RhbmNlQ2xvdWQ+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIGZvcm0gY29udGVudCBpcyBjbGlja2VkLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGZvcm1Db250ZW50Q2xpY2tlZDogRXZlbnRFbWl0dGVyPENvbnRlbnRMaW5rTW9kZWw+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiBwcm9jZXNzIGRlZmluaXRpb24gc2VsZWN0aW9uIGNoYW5nZXMuICovXG4gICAgQE91dHB1dCgpXG4gICAgcHJvY2Vzc0RlZmluaXRpb25TZWxlY3Rpb246IEV2ZW50RW1pdHRlcjxQcm9jZXNzRGVmaW5pdGlvbkNsb3VkPiA9IG5ldyBFdmVudEVtaXR0ZXI8UHJvY2Vzc0RlZmluaXRpb25DbG91ZD4oKTtcblxuICAgIHByb2Nlc3NEZWZpbml0aW9uTGlzdDogUHJvY2Vzc0RlZmluaXRpb25DbG91ZFtdID0gW107XG4gICAgcHJvY2Vzc0RlZmluaXRpb25DdXJyZW50PzogUHJvY2Vzc0RlZmluaXRpb25DbG91ZDtcbiAgICBlcnJvck1lc3NhZ2VJZDogc3RyaW5nID0gJyc7XG4gICAgcHJvY2Vzc1BheWxvYWRDbG91ZCA9IG5ldyBQcm9jZXNzUGF5bG9hZENsb3VkKCk7XG4gICAgZmlsdGVyZWRQcm9jZXNzZXM6IFByb2Nlc3NEZWZpbml0aW9uQ2xvdWRbXSA9IFtdO1xuICAgIHN0YXRpY01hcHBpbmdzOiBUYXNrVmFyaWFibGVDbG91ZFtdID0gW107XG4gICAgcmVzb2x2ZWRWYWx1ZXM/OiBUYXNrVmFyaWFibGVDbG91ZFtdO1xuXG4gICAgcHJvdGVjdGVkIG9uRGVzdHJveSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICAgaXNQcm9jZXNzU3RhcnRpbmcgPSBmYWxzZTtcbiAgICBpc0Zvcm1DbG91ZExvYWRlZCA9IGZhbHNlO1xuICAgIGlzRm9ybUNsb3VkTG9hZGluZyA9IGZhbHNlO1xuICAgIHByb2Nlc3NEZWZpbml0aW9uTG9hZGVkID0gZmFsc2U7XG5cbiAgICBmb3JtQ2xvdWQ/OiBGb3JtTW9kZWw7XG4gICAgcHJvY2Vzc0Zvcm0gPSBuZXcgRm9ybUdyb3VwKHtcbiAgICAgICAgcHJvY2Vzc0luc3RhbmNlTmFtZTogbmV3IEZvcm1Db250cm9sKCcnLCBbXG4gICAgICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICAgICAgVmFsaWRhdG9ycy5tYXhMZW5ndGgodGhpcy5nZXRNYXhOYW1lTGVuZ3RoKCkpLFxuICAgICAgICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKCdeW15cXFxcc10rKFxcXFxzK1teXFxcXHNdKykqJCcpXG4gICAgICAgIF0pLFxuICAgICAgICBwcm9jZXNzRGVmaW5pdGlvbjogbmV3IEZvcm1Db250cm9sKCcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgdGhpcy5wcm9jZXNzRGVmaW5pdGlvbk5hbWVWYWxpZGF0b3IoKV0pXG4gICAgfSk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0YXJ0UHJvY2Vzc0Nsb3VkU2VydmljZSA9IGluamVjdChTdGFydFByb2Nlc3NDbG91ZFNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvY2Vzc05hbWVDbG91ZFBpcGUgPSBpbmplY3QoUHJvY2Vzc05hbWVDbG91ZFBpcGUpO1xuXG4gICAgZ2V0IGlzUHJvY2Vzc0Zvcm1WYWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuaGFzRm9ybSAmJiB0aGlzLmlzRm9ybUNsb3VkTG9hZGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gKHRoaXMuZm9ybUNsb3VkID8gIU9iamVjdC5rZXlzKHRoaXMuZm9ybUNsb3VkLnZhbHVlcykubGVuZ3RoIDogZmFsc2UpIHx8IHRoaXMuZm9ybUNsb3VkPy5pc1ZhbGlkIHx8IHRoaXMuaXNQcm9jZXNzU3RhcnRpbmc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzRm9ybS52YWxpZCB8fCB0aGlzLmlzUHJvY2Vzc1N0YXJ0aW5nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IGRpc2FibGVTdGFydEJ1dHRvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmFwcE5hbWUgfHwgIXRoaXMucHJvY2Vzc0RlZmluaXRpb24udmFsaWQgfHwgdGhpcy5pc1Byb2Nlc3NTdGFydGluZyB8fCB0aGlzLmlzRm9ybUNsb3VkTG9hZGluZztcbiAgICB9XG5cbiAgICBnZXQgaXNQcm9jZXNzRGVmaW5pdGlvbnNFbXB0eSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLnByb2Nlc3NEZWZpbml0aW9uTGlzdC5sZW5ndGg7XG4gICAgfVxuXG4gICAgZ2V0IHByb2Nlc3NJbnN0YW5jZU5hbWUoKTogRm9ybUNvbnRyb2w8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NGb3JtLmNvbnRyb2xzLnByb2Nlc3NJbnN0YW5jZU5hbWU7XG4gICAgfVxuXG4gICAgZ2V0IHByb2Nlc3NEZWZpbml0aW9uKCk6IEZvcm1Db250cm9sPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzRm9ybS5jb250cm9scy5wcm9jZXNzRGVmaW5pdGlvbjtcbiAgICB9XG5cbiAgICBnZXQgaGFzRm9ybSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5wcm9jZXNzRGVmaW5pdGlvbkN1cnJlbnQ/LmZvcm1LZXk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuaW5pdEZpZWxkVmFsaWRhdG9ycygpO1xuXG4gICAgICAgIHRoaXMucHJvY2Vzc0RlZmluaXRpb24uc2V0VmFsdWUodGhpcy5wcm9jZXNzRGVmaW5pdGlvbk5hbWUpO1xuICAgICAgICB0aGlzLnByb2Nlc3NEZWZpbml0aW9uLnZhbHVlQ2hhbmdlc1xuICAgICAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKFBST0NFU1NfREVGSU5JVElPTl9ERUJPVU5DRSkpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHByb2Nlc3NEZWZpbml0aW9uTmFtZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0UHJvY2Vzc0RlZmluaXRpb25CeVByb2Nlc3NEZWZpbml0aW9uTmFtZShwcm9jZXNzRGVmaW5pdGlvbk5hbWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAoY2hhbmdlc1snYXBwTmFtZSddICYmIGNoYW5nZXNbJ2FwcE5hbWUnXS5jdXJyZW50VmFsdWUgIT09IGNoYW5nZXNbJ2FwcE5hbWUnXS5wcmV2aW91c1ZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmFwcE5hbWUgPSBjaGFuZ2VzWydhcHBOYW1lJ10uY3VycmVudFZhbHVlO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5hcHBOYW1lIHx8IHRoaXMuYXBwTmFtZSA9PT0gJycpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRQcm9jZXNzRGVmaW5pdGlvbnMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjaGFuZ2VzWyd2YWx1ZXMnXSAmJiBjaGFuZ2VzWyd2YWx1ZXMnXS5jdXJyZW50VmFsdWUgIT09IGNoYW5nZXNbJ3ZhbHVlcyddLnByZXZpb3VzVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMucmVzb2x2ZWRWYWx1ZXMgPSB0aGlzLnN0YXRpY01hcHBpbmdzLmNvbmNhdCh0aGlzLnZhbHVlcyB8fCBbXSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgb25Gb3JtTG9hZGVkKGZvcm06IEZvcm1Nb2RlbCkge1xuICAgICAgICB0aGlzLmlzRm9ybUNsb3VkTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5mb3JtQ2xvdWQgPSBmb3JtO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdEZpZWxkVmFsaWRhdG9ycygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5maWVsZFZhbGlkYXRvcnMgPSB0aGlzLmZpZWxkVmFsaWRhdG9ycyA/IFsuLi5GT1JNX0ZJRUxEX1ZBTElEQVRPUlMsIC4uLnRoaXMuZmllbGRWYWxpZGF0b3JzXSA6IFsuLi5GT1JNX0ZJRUxEX1ZBTElEQVRPUlNdO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TWF4TmFtZUxlbmd0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5tYXhOYW1lTGVuZ3RoID4gTUFYX05BTUVfTEVOR1RIID8gTUFYX05BTUVfTEVOR1RIIDogdGhpcy5tYXhOYW1lTGVuZ3RoO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2VsZWN0UHJvY2Vzc0RlZmluaXRpb25CeVByb2Nlc3NEZWZpbml0aW9uTmFtZShwcm9jZXNzRGVmaW5pdGlvbk5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpbHRlcmVkUHJvY2Vzc2VzID0gdGhpcy5nZXRQcm9jZXNzRGVmaW5pdGlvbkxpc3RCeU5hbWVPcktleShwcm9jZXNzRGVmaW5pdGlvbk5hbWUpO1xuXG4gICAgICAgIGlmICh0aGlzLmlzUHJvY2Vzc0Zvcm1WYWxpZCAmJiB0aGlzLmZpbHRlcmVkUHJvY2Vzc2VzICYmIHRoaXMuZmlsdGVyZWRQcm9jZXNzZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICB0aGlzLnNldFByb2Nlc3NEZWZpbml0aW9uT25Gb3JtKHRoaXMuZmlsdGVyZWRQcm9jZXNzZXNbMF0ubmFtZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRQcm9jZXNzRGVmaW5pdGlvbk9uRm9ybShzZWxlY3RlZFByb2Nlc3NEZWZpbml0aW9uTmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuaXNGb3JtQ2xvdWRMb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgcHJvY2Vzc0RlZmluaXRpb25DdXJyZW50ID0gdGhpcy5maWx0ZXJlZFByb2Nlc3Nlcy5maW5kKFxuICAgICAgICAgICAgKHByb2Nlc3M6IFByb2Nlc3NEZWZpbml0aW9uQ2xvdWQpID0+IHByb2Nlc3MubmFtZSA9PT0gc2VsZWN0ZWRQcm9jZXNzRGVmaW5pdGlvbk5hbWUgfHwgcHJvY2Vzcy5rZXkgPT09IHNlbGVjdGVkUHJvY2Vzc0RlZmluaXRpb25OYW1lXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5zdGFydFByb2Nlc3NDbG91ZFNlcnZpY2UuZ2V0U3RhcnRFdmVudEZvcm1TdGF0aWNWYWx1ZXNNYXBwaW5nKHRoaXMuYXBwTmFtZSwgcHJvY2Vzc0RlZmluaXRpb25DdXJyZW50LmlkKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAoc3RhdGljTWFwcGluZ3MpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXRpY01hcHBpbmdzID0gc3RhdGljTWFwcGluZ3M7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNvbHZlZFZhbHVlcyA9IHRoaXMuc3RhdGljTWFwcGluZ3MuY29uY2F0KHRoaXMudmFsdWVzIHx8IFtdKTtcbiAgICAgICAgICAgICAgICB0aGlzLnByb2Nlc3NEZWZpbml0aW9uQ3VycmVudCA9IHByb2Nlc3NEZWZpbml0aW9uQ3VycmVudDtcbiAgICAgICAgICAgICAgICB0aGlzLmlzRm9ybUNsb3VkTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc29sdmVkVmFsdWVzID0gdGhpcy52YWx1ZXM7XG4gICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzRGVmaW5pdGlvbkN1cnJlbnQgPSBwcm9jZXNzRGVmaW5pdGlvbkN1cnJlbnQ7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0Zvcm1DbG91ZExvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmlzRm9ybUNsb3VkTG9hZGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMucHJvY2Vzc1BheWxvYWRDbG91ZC5wcm9jZXNzRGVmaW5pdGlvbktleSA9IHByb2Nlc3NEZWZpbml0aW9uQ3VycmVudC5rZXk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQcm9jZXNzRGVmaW5pdGlvbkxpc3RCeU5hbWVPcktleShwcm9jZXNzRGVmaW5pdGlvbk5hbWU6IHN0cmluZyk6IFByb2Nlc3NEZWZpbml0aW9uQ2xvdWRbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NEZWZpbml0aW9uTGlzdC5maWx0ZXIoXG4gICAgICAgICAgICAocHJvY2Vzc0RlZmluaXRpb25DbG91ZCkgPT4gIXByb2Nlc3NEZWZpbml0aW9uTmFtZSB8fCB0aGlzLmdldFByb2Nlc3NEZWZpbml0aW9uKHByb2Nlc3NEZWZpbml0aW9uQ2xvdWQsIHByb2Nlc3NEZWZpbml0aW9uTmFtZSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFByb2Nlc3NJZkV4aXN0cyhwcm9jZXNzRGVmaW5pdGlvbjogc3RyaW5nKTogUHJvY2Vzc0RlZmluaXRpb25DbG91ZCB7XG4gICAgICAgIGxldCBtYXRjaGVkUHJvY2VzcyA9IHRoaXMucHJvY2Vzc0RlZmluaXRpb25MaXN0LmZpbmQoKG9wdGlvbikgPT4gdGhpcy5nZXRQcm9jZXNzRGVmaW5pdGlvbihvcHRpb24sIHByb2Nlc3NEZWZpbml0aW9uKSk7XG4gICAgICAgIGlmICghbWF0Y2hlZFByb2Nlc3MpIHtcbiAgICAgICAgICAgIG1hdGNoZWRQcm9jZXNzID0gbmV3IFByb2Nlc3NEZWZpbml0aW9uQ2xvdWQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBtYXRjaGVkUHJvY2VzcztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFByb2Nlc3NEZWZpbml0aW9uQnlOYW1lKHByb2Nlc3NEZWZpbml0aW9uTmFtZTogc3RyaW5nKTogUHJvY2Vzc0RlZmluaXRpb25DbG91ZCB7XG4gICAgICAgIGNvbnN0IG1hdGNoZWRQcm9jZXNzID0gcHJvY2Vzc0RlZmluaXRpb25OYW1lID8gdGhpcy5nZXRQcm9jZXNzSWZFeGlzdHMocHJvY2Vzc0RlZmluaXRpb25OYW1lKSA6IHRoaXMucHJvY2Vzc0RlZmluaXRpb25MaXN0WzBdO1xuICAgICAgICByZXR1cm4gbWF0Y2hlZFByb2Nlc3M7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZWxlY3REZWZhdWx0UHJvY2Vzc0RlZmluaXRpb24oKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkUHJvY2VzcyA9IHRoaXMuZ2V0UHJvY2Vzc0RlZmluaXRpb25CeU5hbWUodGhpcy5wcm9jZXNzRGVmaW5pdGlvbk5hbWUpO1xuICAgICAgICBpZiAoc2VsZWN0ZWRQcm9jZXNzKSB7XG4gICAgICAgICAgICB0aGlzLnByb2Nlc3NEZWZpbml0aW9uLnNldFZhbHVlKHNlbGVjdGVkUHJvY2Vzcy5uYW1lKTtcbiAgICAgICAgICAgIHRoaXMucHJvY2Vzc0RlZmluaXRpb25TZWxlY3Rpb25DaGFuZ2VkKHNlbGVjdGVkUHJvY2Vzcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbG9hZFByb2Nlc3NEZWZpbml0aW9ucygpIHtcbiAgICAgICAgdGhpcy5yZXNldEVycm9yTWVzc2FnZSgpO1xuXG4gICAgICAgIHRoaXMuc3RhcnRQcm9jZXNzQ2xvdWRTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0UHJvY2Vzc0RlZmluaXRpb25zKHRoaXMuYXBwTmFtZSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICAocHJvY2Vzc0RlZmluaXRpb25SZXByZXNlbnRhdGlvbnM6IFByb2Nlc3NEZWZpbml0aW9uQ2xvdWRbXSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnByb2Nlc3NEZWZpbml0aW9uTGlzdCA9IHByb2Nlc3NEZWZpbml0aW9uUmVwcmVzZW50YXRpb25zO1xuICAgICAgICAgICAgICAgICAgICBpZiAocHJvY2Vzc0RlZmluaXRpb25SZXByZXNlbnRhdGlvbnMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdERlZmF1bHRQcm9jZXNzRGVmaW5pdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMucHJvY2Vzc0RlZmluaXRpb25OYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByb2Nlc3NEZWZpbml0aW9uLnNldFZhbHVlKHRoaXMucHJvY2Vzc0RlZmluaXRpb25OYW1lKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJvY2Vzc0RlZmluaXRpb24gPSB0aGlzLnByb2Nlc3NEZWZpbml0aW9uTGlzdC5maW5kKChwcm9jZXNzKSA9PiBwcm9jZXNzLm5hbWUgPT09IHRoaXMucHJvY2Vzc0RlZmluaXRpb25OYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwcm9jZXNzRGVmaW5pdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyZWRQcm9jZXNzZXMgPSB0aGlzLmdldFByb2Nlc3NEZWZpbml0aW9uTGlzdEJ5TmFtZU9yS2V5KHByb2Nlc3NEZWZpbml0aW9uLm5hbWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0UHJvY2Vzc0RlZmluaXRpb25PbkZvcm0ocHJvY2Vzc0RlZmluaXRpb24ubmFtZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzRGVmaW5pdGlvblNlbGVjdGlvbkNoYW5nZWQocHJvY2Vzc0RlZmluaXRpb24pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzRGVmaW5pdGlvbkxvYWRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlSWQgPSAnQURGX0NMT1VEX1BST0NFU1NfTElTVC5BREZfQ0xPVURfU1RBUlRfUFJPQ0VTUy5FUlJPUi5MT0FEX1BST0NFU1NfREVGUyc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzVmFsaWROYW1lKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISFuYW1lO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UHJvY2Vzc0RlZmluaXRpb24ocHJvY2Vzc0RlZmluaXRpb25DbG91ZDogUHJvY2Vzc0RlZmluaXRpb25DbG91ZCwgcHJvY2Vzc0RlZmluaXRpb25OYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICh0aGlzLmlzVmFsaWROYW1lKHByb2Nlc3NEZWZpbml0aW9uQ2xvdWQubmFtZSkgJiZcbiAgICAgICAgICAgICAgICBwcm9jZXNzRGVmaW5pdGlvbkNsb3VkLm5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhwcm9jZXNzRGVmaW5pdGlvbk5hbWUudG9Mb3dlckNhc2UoKSkpIHx8XG4gICAgICAgICAgICBwcm9jZXNzRGVmaW5pdGlvbkNsb3VkLmtleT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhwcm9jZXNzRGVmaW5pdGlvbk5hbWUudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBidWlsZFByb2Nlc3NDbG91ZFBheWxvYWQoKSB7XG4gICAgICAgIHRoaXMucHJvY2Vzc1BheWxvYWRDbG91ZC5uYW1lID0gdGhpcy5wcm9jZXNzSW5zdGFuY2VOYW1lLnZhbHVlO1xuICAgICAgICBpZiAodGhpcy52YXJpYWJsZXMpIHtcbiAgICAgICAgICAgIHRoaXMucHJvY2Vzc1BheWxvYWRDbG91ZC52YXJpYWJsZXMgPSB0aGlzLnZhcmlhYmxlcztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmhhc0Zvcm0pIHtcbiAgICAgICAgICAgIHRoaXMucHJvY2Vzc1BheWxvYWRDbG91ZC52YXJpYWJsZXMgPSBPYmplY3QuYXNzaWduKHRoaXMucHJvY2Vzc1BheWxvYWRDbG91ZC52YXJpYWJsZXMsIHRoaXMuZm9ybUNsb3VkLnZhbHVlcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGFydFByb2Nlc3MoKSB7XG4gICAgICAgIHRoaXMuaXNQcm9jZXNzU3RhcnRpbmcgPSB0cnVlO1xuICAgICAgICBsZXQgcGF5bG9hZFZhcmlhYmxlcyA9IHt9O1xuICAgICAgICBpZiAodGhpcy52YXJpYWJsZXMpIHtcbiAgICAgICAgICAgIHBheWxvYWRWYXJpYWJsZXMgPSB0aGlzLnZhcmlhYmxlcztcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5oYXNGb3JtKSB7XG4gICAgICAgICAgICBwYXlsb2FkVmFyaWFibGVzID0gT2JqZWN0LmFzc2lnbihwYXlsb2FkVmFyaWFibGVzLCB0aGlzLmZvcm1DbG91ZC52YWx1ZXMpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNyZWF0ZVBheWxvYWQgPSBuZXcgUHJvY2Vzc1BheWxvYWRDbG91ZCh7XG4gICAgICAgICAgICBuYW1lOiB0aGlzLnByb2Nlc3NJbnN0YW5jZU5hbWUudmFsdWUsXG4gICAgICAgICAgICBwcm9jZXNzRGVmaW5pdGlvbktleTogdGhpcy5wcm9jZXNzUGF5bG9hZENsb3VkLnByb2Nlc3NEZWZpbml0aW9uS2V5LFxuICAgICAgICAgICAgdmFyaWFibGVzOiBwYXlsb2FkVmFyaWFibGVzXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnN0YXJ0UHJvY2Vzc0Nsb3VkU2VydmljZS5zdGFydFByb2Nlc3ModGhpcy5hcHBOYW1lLCBjcmVhdGVQYXlsb2FkKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAocmVzKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdWNjZXNzLmVtaXQocmVzKTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzUHJvY2Vzc1N0YXJ0aW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlSWQgPSAnQURGX0NMT1VEX1BST0NFU1NfTElTVC5BREZfQ0xPVURfU1RBUlRfUFJPQ0VTUy5FUlJPUi5TVEFSVCc7XG4gICAgICAgICAgICAgICAgdGhpcy5lcnJvci5lbWl0KGVycik7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1Byb2Nlc3NTdGFydGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNhbmNlbFN0YXJ0UHJvY2VzcygpIHtcbiAgICAgICAgdGhpcy5jYW5jZWwuZW1pdCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVzZXRFcnJvck1lc3NhZ2UoKSB7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlSWQgPSAnJztcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc2V0UHJvY2Vzc0RlZmluaXRpb25MaXN0KCkge1xuICAgICAgICB0aGlzLnByb2Nlc3NEZWZpbml0aW9uLnNldFZhbHVlKCcnKTtcbiAgICAgICAgdGhpcy5maWx0ZXJlZFByb2Nlc3NlcyA9IHRoaXMucHJvY2Vzc0RlZmluaXRpb25MaXN0O1xuICAgIH1cblxuICAgIGRpc3BsYXlQcm9jZXNzTmFtZU9uRHJvcGRvd24ocHJvY2VzczogYW55KSB7XG4gICAgICAgIGlmIChwcm9jZXNzKSB7XG4gICAgICAgICAgICBsZXQgcHJvY2Vzc05hbWUgPSBwcm9jZXNzO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBwcm9jZXNzICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIHByb2Nlc3NOYW1lID0gcHJvY2Vzcy5uYW1lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHByb2Nlc3NOYW1lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGlzcGxheURyb3Bkb3duKGV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBpZiAoIXRoaXMuaW5wdXRBdXRvY29tcGxldGUucGFuZWxPcGVuKSB7XG4gICAgICAgICAgICB0aGlzLnJlc2V0UHJvY2Vzc0RlZmluaXRpb25MaXN0KCk7XG4gICAgICAgICAgICB0aGlzLmlucHV0QXV0b2NvbXBsZXRlLm9wZW5QYW5lbCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5pbnB1dEF1dG9jb21wbGV0ZS5jbG9zZVBhbmVsKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm9jZXNzRGVmaW5pdGlvbk5hbWVWYWxpZGF0b3IoKTogVmFsaWRhdG9yRm4ge1xuICAgICAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gfCBudWxsID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHByb2Nlc3NEZWZpbml0aW9uRmllbGRWYWx1ZSA9IGNvbnRyb2wudmFsdWU7XG4gICAgICAgICAgICBsZXQgcHJvY2Vzc0RlZmluaXRpb25OYW1lRXJyb3IgPSBmYWxzZTtcblxuICAgICAgICAgICAgaWYgKHByb2Nlc3NEZWZpbml0aW9uRmllbGRWYWx1ZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHByb2Nlc3NEZWZpbml0aW9uID0gdGhpcy5nZXRQcm9jZXNzSWZFeGlzdHMocHJvY2Vzc0RlZmluaXRpb25GaWVsZFZhbHVlKTtcbiAgICAgICAgICAgICAgICBpZiAoIXByb2Nlc3NEZWZpbml0aW9uLmtleSkge1xuICAgICAgICAgICAgICAgICAgICBwcm9jZXNzRGVmaW5pdGlvbk5hbWVFcnJvciA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gcHJvY2Vzc0RlZmluaXRpb25OYW1lRXJyb3IgPyB7ICdpbnZhbGlkIG5hbWUnOiB0cnVlIH0gOiBudWxsO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIGdldFByb2Nlc3NEZWZpbml0aW9uVmFsdWUocHJvY2VzczogUHJvY2Vzc0RlZmluaXRpb25DbG91ZCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBwcm9jZXNzLm5hbWUgPyBwcm9jZXNzLm5hbWUgOiBwcm9jZXNzLmtleTtcbiAgICB9XG5cbiAgICBvbkZvcm1Db250ZW50Q2xpY2tlZChjb250ZW50OiBDb250ZW50TGlua01vZGVsKSB7XG4gICAgICAgIHRoaXMuZm9ybUNvbnRlbnRDbGlja2VkLmVtaXQoY29udGVudCk7XG4gICAgfVxuXG4gICAgcHJvY2Vzc0RlZmluaXRpb25TZWxlY3Rpb25DaGFuZ2VkKHByb2Nlc3NEZWZpbml0aW9uOiBQcm9jZXNzRGVmaW5pdGlvbkNsb3VkKSB7XG4gICAgICAgIGlmIChwcm9jZXNzRGVmaW5pdGlvbikge1xuICAgICAgICAgICAgdGhpcy5zZXREZWZhdWx0UHJvY2Vzc05hbWUocHJvY2Vzc0RlZmluaXRpb24ubmFtZSk7XG4gICAgICAgICAgICB0aGlzLnByb2Nlc3NEZWZpbml0aW9uU2VsZWN0aW9uLmVtaXQocHJvY2Vzc0RlZmluaXRpb24pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2V0RGVmYXVsdFByb2Nlc3NOYW1lKHByb2Nlc3NEZWZpbml0aW9uTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByb2Nlc3NJbnN0YW5jZURldGFpbHM6IFByb2Nlc3NJbnN0YW5jZUNsb3VkID0geyBwcm9jZXNzRGVmaW5pdGlvbk5hbWUgfTtcbiAgICAgICAgY29uc3QgZGVmYXVsdFByb2Nlc3NOYW1lID0gdGhpcy5wcm9jZXNzTmFtZUNsb3VkUGlwZS50cmFuc2Zvcm0odGhpcy5uYW1lLCBwcm9jZXNzSW5zdGFuY2VEZXRhaWxzKTtcbiAgICAgICAgdGhpcy5wcm9jZXNzSW5zdGFuY2VOYW1lLnNldFZhbHVlKGRlZmF1bHRQcm9jZXNzTmFtZSk7XG4gICAgICAgIHRoaXMucHJvY2Vzc0luc3RhbmNlTmFtZS5tYXJrQXNEaXJ0eSgpO1xuICAgICAgICB0aGlzLnByb2Nlc3NJbnN0YW5jZU5hbWUubWFya0FzVG91Y2hlZCgpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLm9uRGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5vbkRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIiwiPG1hdC1jYXJkIGFwcGVhcmFuY2U9XCJvdXRsaW5lZFwiIGNsYXNzPVwiYWRmLXN0YXJ0LXByb2Nlc3NcIiAqbmdJZj1cInByb2Nlc3NEZWZpbml0aW9uTG9hZGVkOyBlbHNlIHNwaW5uZXJcIj5cblxuICAgIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgICA8bWF0LWNhcmQtdGl0bGVcbiAgICAgICAgICAgICpuZ0lmPVwic2hvd1RpdGxlXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYWRmLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAge3snQURGX0NMT1VEX1BST0NFU1NfTElTVC5BREZfQ0xPVURfU1RBUlRfUFJPQ0VTUy5GT1JNLlRJVExFJyB8IHRyYW5zbGF0ZX19XG4gICAgICAgIDwvbWF0LWNhcmQtdGl0bGU+XG5cbiAgICAgICAgPG1hdC1jYXJkLXN1YnRpdGxlIGlkPVwiZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwiZXJyb3JNZXNzYWdlSWRcIj5cbiAgICAgICAgICAgIHt7IGVycm9yTWVzc2FnZUlkIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LWNhcmQtc3VidGl0bGU+XG5cbiAgICAgICAgPGRpdiAqbmdJZj1cIiFpc1Byb2Nlc3NEZWZpbml0aW9uc0VtcHR5OyBlbHNlIGVtcHR5UHJvY2Vzc0RlZmluaXRpb25zTGlzdFwiPlxuICAgICAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJwcm9jZXNzRm9ybVwiIGNsYXNzPVwiYWRmLXNlbGVjdC1wcm9jZXNzLWZvcm1cIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGRcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtcHJvY2Vzcy1pbnB1dC1jb250YWluZXJcIlxuICAgICAgICAgICAgICAgICAgICBmbG9hdExhYmVsPVwiYWx3YXlzXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzaG93U2VsZWN0UHJvY2Vzc0Ryb3Bkb3duXCJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLXNlbGVjdC1jbG91ZC1wcm9jZXNzLWRyb3Bkb3duXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIGNsYXNzPVwiYWRmLXN0YXJ0LXByb2Nlc3MtaW5wdXQtbGFiZWxcIj57eyAnQURGX0NMT1VEX1BST0NFU1NfTElTVC5BREZfQ0xPVURfU1RBUlRfUFJPQ0VTUy5GT1JNLkxBQkVMLlRZUEUnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInByb2Nlc3NEZWZpbml0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwicHJvY2Vzc0RlZmluaXRpb25OYW1lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLXByb2Nlc3MtaW5wdXQtYXV0b2NvbXBsZXRlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1hdXRvY29tcGxldGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cInByb2Nlc3NEZWZpbml0aW9uT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNwbGF5V2l0aF09XCJkaXNwbGF5UHJvY2Vzc05hbWVPbkRyb3Bkb3duXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9wdGlvblNlbGVjdGVkKT1cInNldFByb2Nlc3NEZWZpbml0aW9uT25Gb3JtKCRldmVudC5vcHRpb24udmFsdWUpXCIgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgcHJvY2Vzc0RlZiBvZiBmaWx0ZXJlZFByb2Nlc3Nlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImdldFByb2Nlc3NEZWZpbml0aW9uVmFsdWUocHJvY2Vzc0RlZilcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwcm9jZXNzRGVmaW5pdGlvblNlbGVjdGlvbkNoYW5nZWQocHJvY2Vzc0RlZilcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZ2V0UHJvY2Vzc0RlZmluaXRpb25WYWx1ZShwcm9jZXNzRGVmKSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiYWRmLXNlbGVjdC1wcm9jZXNzLWRyb3Bkb3duXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7eydBREZfQ0xPVURfUFJPQ0VTU19MSVNULkFERl9DTE9VRF9TVEFSVF9QUk9DRVNTLkZPUk0uU0VMRUNUX1BST0NFU1NfRFJPUERPV04nIHwgdHJhbnNsYXRlfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRpc3BsYXlEcm9wZG93bigkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+YXJyb3dfZHJvcF9kb3duPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicHJvY2Vzc0RlZmluaXRpb24uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLWVycm9yLXBiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdBREZfQ0xPVURfUFJPQ0VTU19MSVNULkFERl9DTE9VRF9TVEFSVF9QUk9DRVNTLkVSUk9SLlBST0NFU1NfREVGSU5JVElPTl9SRVFVSVJFRCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICAgICAgICA8YWRmLWlucGxhY2UtZm9ybS1pbnB1dCBbY29udHJvbF09XCJwcm9jZXNzSW5zdGFuY2VOYW1lXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eydBREZfQ0xPVURfUFJPQ0VTU19MSVNULkFERl9DTE9VRF9TVEFSVF9QUk9DRVNTLkZPUk0uTEFCRUwuTkFNRScgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIGVycm9yPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJwcm9jZXNzSW5zdGFuY2VOYW1lLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ0FERl9DTE9VRF9QUk9DRVNTX0xJU1QuQURGX0NMT1VEX1NUQVJUX1BST0NFU1MuRVJST1IuUFJPQ0VTU19OQU1FX1JFUVVJUkVEJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJwcm9jZXNzSW5zdGFuY2VOYW1lLmhhc0Vycm9yKCdtYXhsZW5ndGgnKVwiIGlkPVwiYWRmLXN0YXJ0LXByb2Nlc3MtbWF4bGVuZ3RoLWVycm9yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ0FERl9DTE9VRF9QUk9DRVNTX0xJU1QuQURGX0NMT1VEX1NUQVJUX1BST0NFU1MuRVJST1IuTUFYSU1VTV9MRU5HVEgnIHwgdHJhbnNsYXRlIDogeyBjaGFyYWN0ZXJzIDogbWF4TmFtZUxlbmd0aCB9IH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInByb2Nlc3NJbnN0YW5jZU5hbWUuaGFzRXJyb3IoJ3BhdHRlcm4nKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdBREZfQ0xPVURfUFJPQ0VTU19MSVNULkFERl9DTE9VRF9TVEFSVF9QUk9DRVNTLkVSUk9SLlNQQUNFX1ZBTElEQVRPUicgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9hZGYtaW5wbGFjZS1mb3JtLWlucHV0PlxuICAgICAgICAgICAgPC9mb3JtPlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGFzRm9ybSBlbHNlIHRhc2tGb3JtQ2xvdWRCdXR0b25zXCI+XG4gICAgICAgICAgICAgICAgPGFkZi1jbG91ZC1mb3JtXG4gICAgICAgICAgICAgICAgICAgIFthcHBOYW1lXT1cImFwcE5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBbYXBwVmVyc2lvbl09XCJwcm9jZXNzRGVmaW5pdGlvbkN1cnJlbnQuYXBwVmVyc2lvblwiXG4gICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cInJlc29sdmVkVmFsdWVzXCJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1JZF09XCJwcm9jZXNzRGVmaW5pdGlvbkN1cnJlbnQuZm9ybUtleVwiXG4gICAgICAgICAgICAgICAgICAgIFtmaWVsZFZhbGlkYXRvcnNdPVwiZmllbGRWYWxpZGF0b3JzXCJcbiAgICAgICAgICAgICAgICAgICAgW3Nob3dTYXZlQnV0dG9uXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgW3Nob3dDb21wbGV0ZUJ1dHRvbl09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgIFtzaG93UmVmcmVzaEJ1dHRvbl09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgIFtzaG93VmFsaWRhdGlvbkljb25dPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICBbc2hvd1RpdGxlXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgKGZvcm1Db250ZW50Q2xpY2tlZCk9XCJvbkZvcm1Db250ZW50Q2xpY2tlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgKGZvcm1Mb2FkZWQpPVwib25Gb3JtTG9hZGVkKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhZGYtY2xvdWQtZm9ybS1jdXN0b20tb3V0Y29tZXM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRhc2tGb3JtQ2xvdWRCdXR0b25zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYWRmLWNsb3VkLWZvcm0tY3VzdG9tLW91dGNvbWVzPlxuICAgICAgICAgICAgICAgIDwvYWRmLWNsb3VkLWZvcm0+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG5cbjwvbWF0LWNhcmQ+XG5cbjxuZy10ZW1wbGF0ZSAjdGFza0Zvcm1DbG91ZEJ1dHRvbnM+XG4gICAgPGRpdiBjbGFzcz1cImFkZi1zdGFydC1wcm9jZXNzLWNsb3VkLWFjdGlvbnNcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKm5nSWY9XCJzaG93Q2FuY2VsQnV0dG9uXCJcbiAgICAgICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgICAgIChjbGljayk9XCJjYW5jZWxTdGFydFByb2Nlc3MoKVwiXG4gICAgICAgICAgICBpZD1cImNhbmNlbF9wcm9jZXNzXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgJ0FERl9DTE9VRF9QUk9DRVNTX0xJU1QuQURGX0NMT1VEX1NUQVJUX1BST0NFU1MuRk9STS5BQ1RJT04uQ0FOQ0VMJyB8IHRyYW5zbGF0ZSB8IHVwcGVyY2FzZX19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlU3RhcnRCdXR0b24gfHwgIWlzUHJvY2Vzc0Zvcm1WYWxpZFwiXG4gICAgICAgICAgICAoY2xpY2spPVwic3RhcnRQcm9jZXNzKClcIlxuICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYnRuLXN0YXJ0XCJcbiAgICAgICAgICAgIGlkPVwiYnV0dG9uLXN0YXJ0XCJcbiAgICAgICAgICAgIGNsYXNzPVwiYWRmLWJ0bi1zdGFydFwiXG4gICAgICAgID5cbiAgICAgICAgICAgICAgICB7eydBREZfQ0xPVURfUFJPQ0VTU19MSVNULkFERl9DTE9VRF9TVEFSVF9QUk9DRVNTLkZPUk0uQUNUSU9OLlNUQVJUJyB8IHRyYW5zbGF0ZSB8IHVwcGVyY2FzZX19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNlbXB0eVByb2Nlc3NEZWZpbml0aW9uc0xpc3Q+XG4gICAgPG1hdC1jYXJkLWNvbnRlbnQgKm5nSWY9XCJwcm9jZXNzRGVmaW5pdGlvbkxvYWRlZFwiPlxuICAgICAgICA8bWF0LWNhcmQtc3VidGl0bGUgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgaWQ9XCJuby1wcm9jZXNzLW1lc3NhZ2VcIj5cbiAgICAgICAgICAgIHt7ICdBREZfQ0xPVURfUFJPQ0VTU19MSVNULkFERl9DTE9VRF9TVEFSVF9QUk9DRVNTLk5PX1BST0NFU1NfREVGSU5JVElPTlMnIHwgdHJhbnNsYXRlIHwgdXBwZXJjYXNlfX1cbiAgICAgICAgPC9tYXQtY2FyZC1zdWJ0aXRsZT5cbiAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3NwaW5uZXI+XG4gICAgPGRpdiBjbGFzcz1cImFkZi1sb2FkaW5nLWNvbnRhaW5lclwiPlxuICAgICAgICA8bWF0LXByb2dyZXNzLXNwaW5uZXJcbiAgICAgICAgICAgIGNsYXNzPVwiYWRmLWxvYWRpbmdcIlxuICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgIG1vZGU9XCJpbmRldGVybWluYXRlXCI+XG4gICAgICAgIDwvbWF0LXByb2dyZXNzLXNwaW5uZXI+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
373
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQtcHJvY2Vzcy1jbG91ZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvcHJvY2Vzcy1zZXJ2aWNlcy1jbG91ZC9zcmMvbGliL3Byb2Nlc3Mvc3RhcnQtcHJvY2Vzcy9jb21wb25lbnRzL3N0YXJ0LXByb2Nlc3MtY2xvdWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3Byb2Nlc3Mtc2VydmljZXMtY2xvdWQvc3JjL2xpYi9wcm9jZXNzL3N0YXJ0LXByb2Nlc3MvY29tcG9uZW50cy9zdGFydC1wcm9jZXNzLWNsb3VkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFDSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUlMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBb0IscUJBQXFCLEVBQWlDLE1BQU0sb0JBQW9CLENBQUM7QUFDNUcsT0FBTyxFQUFtQixXQUFXLEVBQUUsU0FBUyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN4RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUU5RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUs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Q0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI0IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ29udGVudExpbmtNb2RlbCwgRk9STV9GSUVMRF9WQUxJREFUT1JTLCBGb3JtRmllbGRWYWxpZGF0b3IsIEZvcm1Nb2RlbCB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlVHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRhc2tWYXJpYWJsZUNsb3VkIH0gZnJvbSAnLi4vLi4vLi4vZm9ybS9tb2RlbHMvdGFzay12YXJpYWJsZS1jbG91ZC5tb2RlbCc7XG5pbXBvcnQgeyBQcm9jZXNzRGVmaW5pdGlvbkNsb3VkIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3Byb2Nlc3MtZGVmaW5pdGlvbi1jbG91ZC5tb2RlbCc7XG5pbXBvcnQgeyBQcm9jZXNzTmFtZUNsb3VkUGlwZSB9IGZyb20gJy4uLy4uLy4uL3BpcGVzL3Byb2Nlc3MtbmFtZS1jbG91ZC5waXBlJztcbmltcG9ydCB7IFByb2Nlc3NJbnN0YW5jZUNsb3VkIH0gZnJvbSAnLi4vbW9kZWxzL3Byb2Nlc3MtaW5zdGFuY2UtY2xvdWQubW9kZWwnO1xuaW1wb3J0IHsgUHJvY2Vzc1BheWxvYWRDbG91ZCB9IGZyb20gJy4uL21vZGVscy9wcm9jZXNzLXBheWxvYWQtY2xvdWQubW9kZWwnO1xuaW1wb3J0IHsgUHJvY2Vzc1dpdGhGb3JtUGF5bG9hZENsb3VkIH0gZnJvbSAnLi4vbW9kZWxzL3Byb2Nlc3Mtd2l0aC1mb3JtLXBheWxvYWQtY2xvdWQubW9kZWwnO1xuaW1wb3J0IHsgU3RhcnRQcm9jZXNzQ2xvdWRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvc3RhcnQtcHJvY2Vzcy1jbG91ZC5zZXJ2aWNlJztcblxuY29uc3QgTUFYX05BTUVfTEVOR1RIOiBudW1iZXIgPSAyNTU7XG5jb25zdCBQUk9DRVNTX0RFRklOSVRJT05fREVCT1VOQ0U6IG51bWJlciA9IDMwMDtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtY2xvdWQtc3RhcnQtcHJvY2VzcycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3N0YXJ0LXByb2Nlc3MtY2xvdWQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N0YXJ0LXByb2Nlc3MtY2xvdWQuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFN0YXJ0UHJvY2Vzc0Nsb3VkQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQFZpZXdDaGlsZChNYXRBdXRvY29tcGxldGVUcmlnZ2VyKVxuICAgIGlucHV0QXV0b2NvbXBsZXRlOiBNYXRBdXRvY29tcGxldGVUcmlnZ2VyO1xuXG4gICAgLyoqIChyZXF1aXJlZCkgTmFtZSBvZiB0aGUgYXBwLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXBwTmFtZTogc3RyaW5nID0gJyc7XG5cbiAgICAvKiogTWF4aW11bSBsZW5ndGggb2YgdGhlIHByb2Nlc3MgbmFtZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIG1heE5hbWVMZW5ndGg6IG51bWJlciA9IE1BWF9OQU1FX0xFTkdUSDtcblxuICAgIC8qKiBOYW1lIG9mIHRoZSBwcm9jZXNzLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgbmFtZTogc3RyaW5nID0gJyc7XG5cbiAgICAvKiogTmFtZSBvZiB0aGUgcHJvY2VzcyBkZWZpbml0aW9uLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHJvY2Vzc0RlZmluaXRpb25OYW1lOiBzdHJpbmc7XG5cbiAgICAvKiogVmFyaWFibGVzIHRvIGF0dGFjaCB0byB0aGUgcGF5bG9hZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIHZhcmlhYmxlczogYW55O1xuXG4gICAgLyoqIFBhcmFtZXRlciB0byBwYXNzIGZvcm0gZmllbGQgdmFsdWVzIGluIHRoZSBzdGFydCBmb3JtIGlmIG9uZSBpcyBhc3NvY2lhdGVkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgdmFsdWVzOiBUYXNrVmFyaWFibGVDbG91ZFtdO1xuXG4gICAgLyoqIEZvcm1GaWVsZFZhbGlkYXRvciBhbGxvdyB0byBwcm92aWRlIGFkZGl0aW9uYWwgdmFsaWRhdG9ycyB0byB0aGUgZm9ybSBmaWVsZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGZpZWxkVmFsaWRhdG9yczogRm9ybUZpZWxkVmFsaWRhdG9yW107XG5cbiAgICAvKiogU2hvdy9oaWRlIHRoZSBwcm9jZXNzIGRyb3Bkb3duIGxpc3QuICovXG4gICAgQElucHV0KClcbiAgICBzaG93U2VsZWN0UHJvY2Vzc0Ryb3Bkb3duOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8qKiBTaG93L2hpZGUgdGl0bGUuICovXG4gICAgQElucHV0KClcbiAgICBzaG93VGl0bGU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgLyoqIFNob3cvaGlkZSBjYW5jZWwgYnV0dG9uLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2hvd0NhbmNlbEJ1dHRvbjogYm9vbGVhbiA9IHRydWU7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIHRoZSBwcm9jZXNzIGlzIHN1Y2Nlc3NmdWxseSBzdGFydGVkLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHN1Y2Nlc3MgPSBuZXcgRXZlbnRFbWl0dGVyPFByb2Nlc3NJbnN0YW5jZUNsb3VkPigpO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgc3RhcnRpbmcgcHJvY2VzcyBpcyBjYW5jZWxsZWQgKi9cbiAgICBAT3V0cHV0KClcbiAgICBjYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyPFByb2Nlc3NJbnN0YW5jZUNsb3VkPigpO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiBhbiBlcnJvciBvY2N1cnMuICovXG4gICAgQE91dHB1dCgpXG4gICAgZXJyb3IgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gZm9ybSBjb250ZW50IGlzIGNsaWNrZWQuICovXG4gICAgQE91dHB1dCgpXG4gICAgZm9ybUNvbnRlbnRDbGlja2VkOiBFdmVudEVtaXR0ZXI8Q29udGVudExpbmtNb2RlbD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIHByb2Nlc3MgZGVmaW5pdGlvbiBzZWxlY3Rpb24gY2hhbmdlcy4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBwcm9jZXNzRGVmaW5pdGlvblNlbGVjdGlvbjogRXZlbnRFbWl0dGVyPFByb2Nlc3NEZWZpbml0aW9uQ2xvdWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxQcm9jZXNzRGVmaW5pdGlvbkNsb3VkPigpO1xuXG4gICAgcHJvY2Vzc0RlZmluaXRpb25MaXN0OiBQcm9jZXNzRGVmaW5pdGlvbkNsb3VkW10gPSBbXTtcbiAgICBwcm9jZXNzRGVmaW5pdGlvbkN1cnJlbnQ/OiBQcm9jZXNzRGVmaW5pdGlvbkNsb3VkO1xuICAgIGVycm9yTWVzc2FnZUlkOiBzdHJpbmcgPSAnJztcbiAgICBwcm9jZXNzUGF5bG9hZENsb3VkID0gbmV3IFByb2Nlc3NQYXlsb2FkQ2xvdWQoKTtcbiAgICBmaWx0ZXJlZFByb2Nlc3NlczogUHJvY2Vzc0RlZmluaXRpb25DbG91ZFtdID0gW107XG4gICAgc3RhdGljTWFwcGluZ3M6IFRhc2tWYXJpYWJsZUNsb3VkW10gPSBbXTtcbiAgICByZXNvbHZlZFZhbHVlcz86IFRhc2tWYXJpYWJsZUNsb3VkW107XG5cbiAgICBwcm90ZWN0ZWQgb25EZXN0cm95JCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICBpc1Byb2Nlc3NTdGFydGluZyA9IGZhbHNlO1xuICAgIGlzRm9ybUNsb3VkTG9hZGVkID0gZmFsc2U7XG4gICAgaXNGb3JtQ2xvdWRMb2FkaW5nID0gZmFsc2U7XG4gICAgcHJvY2Vzc0RlZmluaXRpb25Mb2FkZWQgPSBmYWxzZTtcblxuICAgIGZvcm1DbG91ZD86IEZvcm1Nb2RlbDtcbiAgICBwcm9jZXNzRm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgICBwcm9jZXNzSW5zdGFuY2VOYW1lOiBuZXcgRm9ybUNvbnRyb2woJycsIFtcbiAgICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgICAgICBWYWxpZGF0b3JzLm1heExlbmd0aCh0aGlzLmdldE1heE5hbWVMZW5ndGgoKSksXG4gICAgICAgICAgICBWYWxpZGF0b3JzLnBhdHRlcm4oJ15bXlxcXFxzXSsoXFxcXHMrW15cXFxcc10rKSokJylcbiAgICAgICAgXSksXG4gICAgICAgIHByb2Nlc3NEZWZpbml0aW9uOiBuZXcgRm9ybUNvbnRyb2woJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCB0aGlzLnByb2Nlc3NEZWZpbml0aW9uTmFtZVZhbGlkYXRvcigpXSlcbiAgICB9KTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhcnRQcm9jZXNzQ2xvdWRTZXJ2aWNlID0gaW5qZWN0KFN0YXJ0UHJvY2Vzc0Nsb3VkU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9jZXNzTmFtZUNsb3VkUGlwZSA9IGluamVjdChQcm9jZXNzTmFtZUNsb3VkUGlwZSk7XG5cbiAgICBnZXQgaXNQcm9jZXNzRm9ybVZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5oYXNGb3JtICYmIHRoaXMuaXNGb3JtQ2xvdWRMb2FkZWQpIHtcbiAgICAgICAgICAgIHJldHVybiAodGhpcy5mb3JtQ2xvdWQgPyAhT2JqZWN0LmtleXModGhpcy5mb3JtQ2xvdWQudmFsdWVzKS5sZW5ndGggOiBmYWxzZSkgfHwgdGhpcy5mb3JtQ2xvdWQ/LmlzVmFsaWQgfHwgdGhpcy5pc1Byb2Nlc3NTdGFydGluZztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NGb3JtLnZhbGlkIHx8IHRoaXMuaXNQcm9jZXNzU3RhcnRpbmc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgZGlzYWJsZVN0YXJ0QnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuYXBwTmFtZSB8fCAhdGhpcy5wcm9jZXNzRGVmaW5pdGlvbi52YWxpZCB8fCB0aGlzLmlzUHJvY2Vzc1N0YXJ0aW5nIHx8IHRoaXMuaXNGb3JtQ2xvdWRMb2FkaW5nO1xuICAgIH1cblxuICAgIGdldCBpc1Byb2Nlc3NEZWZpbml0aW9uc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMucHJvY2Vzc0RlZmluaXRpb25MaXN0Lmxlbmd0aDtcbiAgICB9XG5cbiAgICBnZXQgcHJvY2Vzc0luc3RhbmNlTmFtZSgpOiBGb3JtQ29udHJvbDxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc0Zvcm0uY29udHJvbHMucHJvY2Vzc0luc3RhbmNlTmFtZTtcbiAgICB9XG5cbiAgICBnZXQgcHJvY2Vzc0RlZmluaXRpb24oKTogRm9ybUNvbnRyb2w8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NGb3JtLmNvbnRyb2xzLnByb2Nlc3NEZWZpbml0aW9uO1xuICAgIH1cblxuICAgIGdldCBoYXNGb3JtKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnByb2Nlc3NEZWZpbml0aW9uQ3VycmVudD8uZm9ybUtleTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5pbml0RmllbGRWYWxpZGF0b3JzKCk7XG5cbiAgICAgICAgdGhpcy5wcm9jZXNzRGVmaW5pdGlvbi5zZXRWYWx1ZSh0aGlzLnByb2Nlc3NEZWZpbml0aW9uTmFtZSk7XG4gICAgICAgIHRoaXMucHJvY2Vzc0RlZmluaXRpb24udmFsdWVDaGFuZ2VzXG4gICAgICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUoUFJPQ0VTU19ERUZJTklUSU9OX0RFQk9VTkNFKSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgocHJvY2Vzc0RlZmluaXRpb25OYW1lKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RQcm9jZXNzRGVmaW5pdGlvbkJ5UHJvY2Vzc0RlZmluaXRpb25OYW1lKHByb2Nlc3NEZWZpbml0aW9uTmFtZSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGlmIChjaGFuZ2VzWydhcHBOYW1lJ10gJiYgY2hhbmdlc1snYXBwTmFtZSddLmN1cnJlbnRWYWx1ZSAhPT0gY2hhbmdlc1snYXBwTmFtZSddLnByZXZpb3VzVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuYXBwTmFtZSA9IGNoYW5nZXNbJ2FwcE5hbWUnXS5jdXJyZW50VmFsdWU7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmFwcE5hbWUgfHwgdGhpcy5hcHBOYW1lID09PSAnJykge1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZFByb2Nlc3NEZWZpbml0aW9ucygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNoYW5nZXNbJ3ZhbHVlcyddICYmIGNoYW5nZXNbJ3ZhbHVlcyddLmN1cnJlbnRWYWx1ZSAhPT0gY2hhbmdlc1sndmFsdWVzJ10ucHJldmlvdXNWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5yZXNvbHZlZFZhbHVlcyA9IHRoaXMuc3RhdGljTWFwcGluZ3MuY29uY2F0KHRoaXMudmFsdWVzIHx8IFtdKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICAgIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICBvbkZvcm1Mb2FkZWQoZm9ybTogRm9ybU1vZGVsKSB7XG4gICAgICAgIHRoaXMuaXNGb3JtQ2xvdWRMb2FkZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLmZvcm1DbG91ZCA9IGZvcm07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0RmllbGRWYWxpZGF0b3JzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpZWxkVmFsaWRhdG9ycyA9IHRoaXMuZmllbGRWYWxpZGF0b3JzID8gWy4uLkZPUk1fRklFTERfVkFMSURBVE9SUywgLi4udGhpcy5maWVsZFZhbGlkYXRvcnNdIDogWy4uLkZPUk1fRklFTERfVkFMSURBVE9SU107XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRNYXhOYW1lTGVuZ3RoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm1heE5hbWVMZW5ndGggPiBNQVhfTkFNRV9MRU5HVEggPyBNQVhfTkFNRV9MRU5HVEggOiB0aGlzLm1heE5hbWVMZW5ndGg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZWxlY3RQcm9jZXNzRGVmaW5pdGlvbkJ5UHJvY2Vzc0RlZmluaXRpb25OYW1lKHByb2Nlc3NEZWZpbml0aW9uTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmlsdGVyZWRQcm9jZXNzZXMgPSB0aGlzLmdldFByb2Nlc3NEZWZpbml0aW9uTGlzdEJ5TmFtZU9yS2V5KHByb2Nlc3NEZWZpbml0aW9uTmFtZSk7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNQcm9jZXNzRm9ybVZhbGlkICYmIHRoaXMuZmlsdGVyZWRQcm9jZXNzZXMgJiYgdGhpcy5maWx0ZXJlZFByb2Nlc3Nlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0UHJvY2Vzc0RlZmluaXRpb25PbkZvcm0odGhpcy5maWx0ZXJlZFByb2Nlc3Nlc1swXS5uYW1lKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNldFByb2Nlc3NEZWZpbml0aW9uT25Gb3JtKHNlbGVjdGVkUHJvY2Vzc0RlZmluaXRpb25OYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5pc0Zvcm1DbG91ZExvYWRpbmcgPSB0cnVlO1xuICAgICAgICBjb25zdCBwcm9jZXNzRGVmaW5pdGlvbkN1cnJlbnQgPSB0aGlzLmZpbHRlcmVkUHJvY2Vzc2VzLmZpbmQoXG4gICAgICAgICAgICAocHJvY2VzczogUHJvY2Vzc0RlZmluaXRpb25DbG91ZCkgPT4gcHJvY2Vzcy5uYW1lID09PSBzZWxlY3RlZFByb2Nlc3NEZWZpbml0aW9uTmFtZSB8fCBwcm9jZXNzLmtleSA9PT0gc2VsZWN0ZWRQcm9jZXNzRGVmaW5pdGlvbk5hbWVcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLnN0YXJ0UHJvY2Vzc0Nsb3VkU2VydmljZS5nZXRTdGFydEV2ZW50Rm9ybVN0YXRpY1ZhbHVlc01hcHBpbmcodGhpcy5hcHBOYW1lLCBwcm9jZXNzRGVmaW5pdGlvbkN1cnJlbnQuaWQpLnN1YnNjcmliZShcbiAgICAgICAgICAgIChzdGF0aWNNYXBwaW5ncykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RhdGljTWFwcGluZ3MgPSBzdGF0aWNNYXBwaW5ncztcbiAgICAgICAgICAgICAgICB0aGlzLnJlc29sdmVkVmFsdWVzID0gdGhpcy5zdGF0aWNNYXBwaW5ncy5jb25jYXQodGhpcy52YWx1ZXMgfHwgW10pO1xuICAgICAgICAgICAgICAgIHRoaXMucHJvY2Vzc0RlZmluaXRpb25DdXJyZW50ID0gcHJvY2Vzc0RlZmluaXRpb25DdXJyZW50O1xuICAgICAgICAgICAgICAgIHRoaXMuaXNGb3JtQ2xvdWRMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucmVzb2x2ZWRWYWx1ZXMgPSB0aGlzLnZhbHVlcztcbiAgICAgICAgICAgICAgICB0aGlzLnByb2Nlc3NEZWZpbml0aW9uQ3VycmVudCA9IHByb2Nlc3NEZWZpbml0aW9uQ3VycmVudDtcbiAgICAgICAgICAgICAgICB0aGlzLmlzRm9ybUNsb3VkTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuaXNGb3JtQ2xvdWRMb2FkZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5wcm9jZXNzUGF5bG9hZENsb3VkLnByb2Nlc3NEZWZpbml0aW9uS2V5ID0gcHJvY2Vzc0RlZmluaXRpb25DdXJyZW50LmtleTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFByb2Nlc3NEZWZpbml0aW9uTGlzdEJ5TmFtZU9yS2V5KHByb2Nlc3NEZWZpbml0aW9uTmFtZTogc3RyaW5nKTogUHJvY2Vzc0RlZmluaXRpb25DbG91ZFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc0RlZmluaXRpb25MaXN0LmZpbHRlcihcbiAgICAgICAgICAgIChwcm9jZXNzRGVmaW5pdGlvbkNsb3VkKSA9PiAhcHJvY2Vzc0RlZmluaXRpb25OYW1lIHx8IHRoaXMuZ2V0UHJvY2Vzc0RlZmluaXRpb24ocHJvY2Vzc0RlZmluaXRpb25DbG91ZCwgcHJvY2Vzc0RlZmluaXRpb25OYW1lKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UHJvY2Vzc0lmRXhpc3RzKHByb2Nlc3NEZWZpbml0aW9uOiBzdHJpbmcpOiBQcm9jZXNzRGVmaW5pdGlvbkNsb3VkIHtcbiAgICAgICAgbGV0IG1hdGNoZWRQcm9jZXNzID0gdGhpcy5wcm9jZXNzRGVmaW5pdGlvbkxpc3QuZmluZCgob3B0aW9uKSA9PiB0aGlzLmdldFByb2Nlc3NEZWZpbml0aW9uKG9wdGlvbiwgcHJvY2Vzc0RlZmluaXRpb24pKTtcbiAgICAgICAgaWYgKCFtYXRjaGVkUHJvY2Vzcykge1xuICAgICAgICAgICAgbWF0Y2hlZFByb2Nlc3MgPSBuZXcgUHJvY2Vzc0RlZmluaXRpb25DbG91ZCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG1hdGNoZWRQcm9jZXNzO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UHJvY2Vzc0RlZmluaXRpb25CeU5hbWUocHJvY2Vzc0RlZmluaXRpb25OYW1lOiBzdHJpbmcpOiBQcm9jZXNzRGVmaW5pdGlvbkNsb3VkIHtcbiAgICAgICAgY29uc3QgbWF0Y2hlZFByb2Nlc3MgPSBwcm9jZXNzRGVmaW5pdGlvbk5hbWUgPyB0aGlzLmdldFByb2Nlc3NJZkV4aXN0cyhwcm9jZXNzRGVmaW5pdGlvbk5hbWUpIDogdGhpcy5wcm9jZXNzRGVmaW5pdGlvbkxpc3RbMF07XG4gICAgICAgIHJldHVybiBtYXRjaGVkUHJvY2VzcztcbiAgICB9XG5cbiAgICBwcml2YXRlIHNlbGVjdERlZmF1bHRQcm9jZXNzRGVmaW5pdGlvbigpIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRQcm9jZXNzID0gdGhpcy5nZXRQcm9jZXNzRGVmaW5pdGlvbkJ5TmFtZSh0aGlzLnByb2Nlc3NEZWZpbml0aW9uTmFtZSk7XG4gICAgICAgIGlmIChzZWxlY3RlZFByb2Nlc3MpIHtcbiAgICAgICAgICAgIHRoaXMucHJvY2Vzc0RlZmluaXRpb24uc2V0VmFsdWUoc2VsZWN0ZWRQcm9jZXNzLm5hbWUpO1xuICAgICAgICAgICAgdGhpcy5wcm9jZXNzRGVmaW5pdGlvblNlbGVjdGlvbkNoYW5nZWQoc2VsZWN0ZWRQcm9jZXNzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBsb2FkUHJvY2Vzc0RlZmluaXRpb25zKCkge1xuICAgICAgICB0aGlzLnJlc2V0RXJyb3JNZXNzYWdlKCk7XG5cbiAgICAgICAgdGhpcy5zdGFydFByb2Nlc3NDbG91ZFNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRQcm9jZXNzRGVmaW5pdGlvbnModGhpcy5hcHBOYW1lKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgIChwcm9jZXNzRGVmaW5pdGlvblJlcHJlc2VudGF0aW9uczogUHJvY2Vzc0RlZmluaXRpb25DbG91ZFtdKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJvY2Vzc0RlZmluaXRpb25MaXN0ID0gcHJvY2Vzc0RlZmluaXRpb25SZXByZXNlbnRhdGlvbnM7XG4gICAgICAgICAgICAgICAgICAgIGlmIChwcm9jZXNzRGVmaW5pdGlvblJlcHJlc2VudGF0aW9ucy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0RGVmYXVsdFByb2Nlc3NEZWZpbml0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5wcm9jZXNzRGVmaW5pdGlvbk5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvY2Vzc0RlZmluaXRpb24uc2V0VmFsdWUodGhpcy5wcm9jZXNzRGVmaW5pdGlvbk5hbWUpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwcm9jZXNzRGVmaW5pdGlvbiA9IHRoaXMucHJvY2Vzc0RlZmluaXRpb25MaXN0LmZpbmQoKHByb2Nlc3MpID0+IHByb2Nlc3MubmFtZSA9PT0gdGhpcy5wcm9jZXNzRGVmaW5pdGlvbk5hbWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHByb2Nlc3NEZWZpbml0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJlZFByb2Nlc3NlcyA9IHRoaXMuZ2V0UHJvY2Vzc0RlZmluaXRpb25MaXN0QnlOYW1lT3JLZXkocHJvY2Vzc0RlZmluaXRpb24ubmFtZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRQcm9jZXNzRGVmaW5pdGlvbk9uRm9ybShwcm9jZXNzRGVmaW5pdGlvbi5uYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByb2Nlc3NEZWZpbml0aW9uU2VsZWN0aW9uQ2hhbmdlZChwcm9jZXNzRGVmaW5pdGlvbik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB0aGlzLnByb2Nlc3NEZWZpbml0aW9uTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2VJZCA9ICdBREZfQ0xPVURfUFJPQ0VTU19MSVNULkFERl9DTE9VRF9TVEFSVF9QUk9DRVNTLkVSUk9SLkxPQURfUFJPQ0VTU19ERUZTJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNWYWxpZE5hbWUobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIW5hbWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQcm9jZXNzRGVmaW5pdGlvbihwcm9jZXNzRGVmaW5pdGlvbkNsb3VkOiBQcm9jZXNzRGVmaW5pdGlvbkNsb3VkLCBwcm9jZXNzRGVmaW5pdGlvbk5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgKHRoaXMuaXNWYWxpZE5hbWUocHJvY2Vzc0RlZmluaXRpb25DbG91ZC5uYW1lKSAmJlxuICAgICAgICAgICAgICAgIHByb2Nlc3NEZWZpbml0aW9uQ2xvdWQubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHByb2Nlc3NEZWZpbml0aW9uTmFtZS50b0xvd2VyQ2FzZSgpKSkgfHxcbiAgICAgICAgICAgIHByb2Nlc3NEZWZpbml0aW9uQ2xvdWQua2V5Py50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHByb2Nlc3NEZWZpbml0aW9uTmFtZS50b0xvd2VyQ2FzZSgpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGJ1aWxkUHJvY2Vzc0Nsb3VkUGF5bG9hZCgpIHtcbiAgICAgICAgdGhpcy5wcm9jZXNzUGF5bG9hZENsb3VkLm5hbWUgPSB0aGlzLnByb2Nlc3NJbnN0YW5jZU5hbWUudmFsdWU7XG4gICAgICAgIGlmICh0aGlzLnZhcmlhYmxlcykge1xuICAgICAgICAgICAgdGhpcy5wcm9jZXNzUGF5bG9hZENsb3VkLnZhcmlhYmxlcyA9IHRoaXMudmFyaWFibGVzO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaGFzRm9ybSkge1xuICAgICAgICAgICAgdGhpcy5wcm9jZXNzUGF5bG9hZENsb3VkLnZhcmlhYmxlcyA9IE9iamVjdC5hc3NpZ24odGhpcy5wcm9jZXNzUGF5bG9hZENsb3VkLnZhcmlhYmxlcywgdGhpcy5mb3JtQ2xvdWQudmFsdWVzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN0YXJ0UHJvY2VzcygpIHtcbiAgICAgICAgdGhpcy5pc1Byb2Nlc3NTdGFydGluZyA9IHRydWU7XG5cbiAgICAgICAgY29uc3QgYWN0aW9uID0gdGhpcy5oYXNGb3JtXG4gICAgICAgICAgICA/IHRoaXMuc3RhcnRQcm9jZXNzQ2xvdWRTZXJ2aWNlLnN0YXJ0UHJvY2Vzc1dpdGhGb3JtKFxuICAgICAgICAgICAgICAgICAgdGhpcy5hcHBOYW1lLFxuICAgICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzRGVmaW5pdGlvbkN1cnJlbnQuZm9ybUtleSxcbiAgICAgICAgICAgICAgICAgIHRoaXMucHJvY2Vzc0RlZmluaXRpb25DdXJyZW50LnZlcnNpb24sXG4gICAgICAgICAgICAgICAgICBuZXcgUHJvY2Vzc1dpdGhGb3JtUGF5bG9hZENsb3VkKHtcbiAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzTmFtZTogdGhpcy5wcm9jZXNzSW5zdGFuY2VOYW1lLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3NEZWZpbml0aW9uS2V5OiB0aGlzLnByb2Nlc3NQYXlsb2FkQ2xvdWQucHJvY2Vzc0RlZmluaXRpb25LZXksXG4gICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGVzOiB0aGlzLnZhcmlhYmxlcyA/PyB7fSxcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6IHRoaXMuZm9ybUNsb3VkLnZhbHVlc1xuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgOiB0aGlzLnN0YXJ0UHJvY2Vzc0Nsb3VkU2VydmljZS5zdGFydFByb2Nlc3MoXG4gICAgICAgICAgICAgICAgICB0aGlzLmFwcE5hbWUsXG4gICAgICAgICAgICAgICAgICBuZXcgUHJvY2Vzc1BheWxvYWRDbG91ZCh7XG4gICAgICAgICAgICAgICAgICAgICAgbmFtZTogdGhpcy5wcm9jZXNzSW5zdGFuY2VOYW1lLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3NEZWZpbml0aW9uS2V5OiB0aGlzLnByb2Nlc3NQYXlsb2FkQ2xvdWQucHJvY2Vzc0RlZmluaXRpb25LZXksXG4gICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGVzOiB0aGlzLnZhcmlhYmxlcyA/PyB7fVxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgKTtcblxuICAgICAgICBhY3Rpb24uc3Vic2NyaWJlKHtcbiAgICAgICAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnN1Y2Nlc3MuZW1pdChyZXMpO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNQcm9jZXNzU3RhcnRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlcnJvcjogKGVycikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlSWQgPSAnQURGX0NMT1VEX1BST0NFU1NfTElTVC5BREZfQ0xPVURfU1RBUlRfUFJPQ0VTUy5FUlJPUi5TVEFSVCc7XG4gICAgICAgICAgICAgICAgdGhpcy51bmlmeUVycm9yUmVzcG9uc2UoZXJyKTtcbiAgICAgICAgICAgICAgICB0aGlzLmVycm9yLmVtaXQoZXJyKTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzUHJvY2Vzc1N0YXJ0aW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgdW5pZnlFcnJvclJlc3BvbnNlKGVycjogYW55KSB7XG4gICAgICAgIGlmICghZXJyPy5yZXNwb25zZT8uYm9keT8uZW50cnkgJiYgZXJyPy5yZXNwb25zZT8uYm9keT8ubWVzc2FnZSkge1xuICAgICAgICAgICAgZXJyLnJlc3BvbnNlLmJvZHkgPSB7XG4gICAgICAgICAgICAgICAgZW50cnk6IEpTT04ucGFyc2UoZXJyLnJlc3BvbnNlLmJvZHkubWVzc2FnZSlcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjYW5jZWxTdGFydFByb2Nlc3MoKSB7XG4gICAgICAgIHRoaXMuY2FuY2VsLmVtaXQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc2V0RXJyb3JNZXNzYWdlKCkge1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZUlkID0gJyc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXNldFByb2Nlc3NEZWZpbml0aW9uTGlzdCgpIHtcbiAgICAgICAgdGhpcy5wcm9jZXNzRGVmaW5pdGlvbi5zZXRWYWx1ZSgnJyk7XG4gICAgICAgIHRoaXMuZmlsdGVyZWRQcm9jZXNzZXMgPSB0aGlzLnByb2Nlc3NEZWZpbml0aW9uTGlzdDtcbiAgICB9XG5cbiAgICBkaXNwbGF5UHJvY2Vzc05hbWVPbkRyb3Bkb3duKHByb2Nlc3M6IGFueSkge1xuICAgICAgICBpZiAocHJvY2Vzcykge1xuICAgICAgICAgICAgbGV0IHByb2Nlc3NOYW1lID0gcHJvY2VzcztcbiAgICAgICAgICAgIGlmICh0eXBlb2YgcHJvY2VzcyAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICBwcm9jZXNzTmFtZSA9IHByb2Nlc3MubmFtZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBwcm9jZXNzTmFtZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRpc3BsYXlEcm9wZG93bihldmVudCkge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgaWYgKCF0aGlzLmlucHV0QXV0b2NvbXBsZXRlLnBhbmVsT3Blbikge1xuICAgICAgICAgICAgdGhpcy5yZXNldFByb2Nlc3NEZWZpbml0aW9uTGlzdCgpO1xuICAgICAgICAgICAgdGhpcy5pbnB1dEF1dG9jb21wbGV0ZS5vcGVuUGFuZWwoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaW5wdXRBdXRvY29tcGxldGUuY2xvc2VQYW5lbCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvY2Vzc0RlZmluaXRpb25OYW1lVmFsaWRhdG9yKCk6IFZhbGlkYXRvckZuIHtcbiAgICAgICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHwgbnVsbCA9PiB7XG4gICAgICAgICAgICBjb25zdCBwcm9jZXNzRGVmaW5pdGlvbkZpZWxkVmFsdWUgPSBjb250cm9sLnZhbHVlO1xuICAgICAgICAgICAgbGV0IHByb2Nlc3NEZWZpbml0aW9uTmFtZUVycm9yID0gZmFsc2U7XG5cbiAgICAgICAgICAgIGlmIChwcm9jZXNzRGVmaW5pdGlvbkZpZWxkVmFsdWUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwcm9jZXNzRGVmaW5pdGlvbiA9IHRoaXMuZ2V0UHJvY2Vzc0lmRXhpc3RzKHByb2Nlc3NEZWZpbml0aW9uRmllbGRWYWx1ZSk7XG4gICAgICAgICAgICAgICAgaWYgKCFwcm9jZXNzRGVmaW5pdGlvbi5rZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc0RlZmluaXRpb25OYW1lRXJyb3IgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHByb2Nlc3NEZWZpbml0aW9uTmFtZUVycm9yID8geyAnaW52YWxpZCBuYW1lJzogdHJ1ZSB9IDogbnVsbDtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBnZXRQcm9jZXNzRGVmaW5pdGlvblZhbHVlKHByb2Nlc3M6IFByb2Nlc3NEZWZpbml0aW9uQ2xvdWQpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gcHJvY2Vzcy5uYW1lID8gcHJvY2Vzcy5uYW1lIDogcHJvY2Vzcy5rZXk7XG4gICAgfVxuXG4gICAgb25Gb3JtQ29udGVudENsaWNrZWQoY29udGVudDogQ29udGVudExpbmtNb2RlbCkge1xuICAgICAgICB0aGlzLmZvcm1Db250ZW50Q2xpY2tlZC5lbWl0KGNvbnRlbnQpO1xuICAgIH1cblxuICAgIHByb2Nlc3NEZWZpbml0aW9uU2VsZWN0aW9uQ2hhbmdlZChwcm9jZXNzRGVmaW5pdGlvbjogUHJvY2Vzc0RlZmluaXRpb25DbG91ZCkge1xuICAgICAgICBpZiAocHJvY2Vzc0RlZmluaXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuc2V0RGVmYXVsdFByb2Nlc3NOYW1lKHByb2Nlc3NEZWZpbml0aW9uLm5hbWUpO1xuICAgICAgICAgICAgdGhpcy5wcm9jZXNzRGVmaW5pdGlvblNlbGVjdGlvbi5lbWl0KHByb2Nlc3NEZWZpbml0aW9uKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNldERlZmF1bHRQcm9jZXNzTmFtZShwcm9jZXNzRGVmaW5pdGlvbk5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBwcm9jZXNzSW5zdGFuY2VEZXRhaWxzOiBQcm9jZXNzSW5zdGFuY2VDbG91ZCA9IHsgcHJvY2Vzc0RlZmluaXRpb25OYW1lIH07XG4gICAgICAgIGNvbnN0IGRlZmF1bHRQcm9jZXNzTmFtZSA9IHRoaXMucHJvY2Vzc05hbWVDbG91ZFBpcGUudHJhbnNmb3JtKHRoaXMubmFtZSwgcHJvY2Vzc0luc3RhbmNlRGV0YWlscyk7XG4gICAgICAgIHRoaXMucHJvY2Vzc0luc3RhbmNlTmFtZS5zZXRWYWx1ZShkZWZhdWx0UHJvY2Vzc05hbWUpO1xuICAgICAgICB0aGlzLnByb2Nlc3NJbnN0YW5jZU5hbWUubWFya0FzRGlydHkoKTtcbiAgICAgICAgdGhpcy5wcm9jZXNzSW5zdGFuY2VOYW1lLm1hcmtBc1RvdWNoZWQoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5vbkRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMub25EZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiIsIjxtYXQtY2FyZCBhcHBlYXJhbmNlPVwib3V0bGluZWRcIiBjbGFzcz1cImFkZi1zdGFydC1wcm9jZXNzXCIgKm5nSWY9XCJwcm9jZXNzRGVmaW5pdGlvbkxvYWRlZDsgZWxzZSBzcGlubmVyXCI+XG5cbiAgICA8bWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgPG1hdC1jYXJkLXRpdGxlXG4gICAgICAgICAgICAqbmdJZj1cInNob3dUaXRsZVwiXG4gICAgICAgICAgICBjbGFzcz1cImFkZi10aXRsZVwiPlxuICAgICAgICAgICAgICAgIHt7J0FERl9DTE9VRF9QUk9DRVNTX0xJU1QuQURGX0NMT1VEX1NUQVJUX1BST0NFU1MuRk9STS5USVRMRScgfCB0cmFuc2xhdGV9fVxuICAgICAgICA8L21hdC1jYXJkLXRpdGxlPlxuXG4gICAgICAgIDxtYXQtY2FyZC1zdWJ0aXRsZSBpZD1cImVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cImVycm9yTWVzc2FnZUlkXCI+XG4gICAgICAgICAgICB7eyBlcnJvck1lc3NhZ2VJZCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1jYXJkLXN1YnRpdGxlPlxuXG4gICAgICAgIDxkaXYgKm5nSWY9XCIhaXNQcm9jZXNzRGVmaW5pdGlvbnNFbXB0eTsgZWxzZSBlbXB0eVByb2Nlc3NEZWZpbml0aW9uc0xpc3RcIj5cbiAgICAgICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwicHJvY2Vzc0Zvcm1cIiBjbGFzcz1cImFkZi1zZWxlY3QtcHJvY2Vzcy1mb3JtXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLXByb2Nlc3MtaW5wdXQtY29udGFpbmVyXCJcbiAgICAgICAgICAgICAgICAgICAgZmxvYXRMYWJlbD1cImFsd2F5c1wiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic2hvd1NlbGVjdFByb2Nlc3NEcm9wZG93blwiXG4gICAgICAgICAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZi1zZWxlY3QtY2xvdWQtcHJvY2Vzcy1kcm9wZG93blwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCBjbGFzcz1cImFkZi1zdGFydC1wcm9jZXNzLWlucHV0LWxhYmVsXCI+e3sgJ0FERl9DTE9VRF9QUk9DRVNTX0xJU1QuQURGX0NMT1VEX1NUQVJUX1BST0NFU1MuRk9STS5MQUJFTC5UWVBFJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJwcm9jZXNzRGVmaW5pdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cInByb2Nlc3NEZWZpbml0aW9uTmFtZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1wcm9jZXNzLWlucHV0LWF1dG9jb21wbGV0ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtYXV0b2NvbXBsZXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNhdXRvPVwibWF0QXV0b2NvbXBsZXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJwcm9jZXNzRGVmaW5pdGlvbk9wdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzcGxheVdpdGhdPVwiZGlzcGxheVByb2Nlc3NOYW1lT25Ecm9wZG93blwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvcHRpb25TZWxlY3RlZCk9XCJzZXRQcm9jZXNzRGVmaW5pdGlvbk9uRm9ybSgkZXZlbnQub3B0aW9uLnZhbHVlKVwiID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHByb2Nlc3NEZWYgb2YgZmlsdGVyZWRQcm9jZXNzZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJnZXRQcm9jZXNzRGVmaW5pdGlvblZhbHVlKHByb2Nlc3NEZWYpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicHJvY2Vzc0RlZmluaXRpb25TZWxlY3Rpb25DaGFuZ2VkKHByb2Nlc3NEZWYpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGdldFByb2Nlc3NEZWZpbml0aW9uVmFsdWUocHJvY2Vzc0RlZikgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1hdXRvY29tcGxldGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cImFkZi1zZWxlY3QtcHJvY2Vzcy1kcm9wZG93blwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPVwie3snQURGX0NMT1VEX1BST0NFU1NfTElTVC5BREZfQ0xPVURfU1RBUlRfUFJPQ0VTUy5GT1JNLlNFTEVDVF9QUk9DRVNTX0RST1BET1dOJyB8IHRyYW5zbGF0ZX19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkaXNwbGF5RHJvcGRvd24oJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmFycm93X2Ryb3BfZG93bjwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3JcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInByb2Nlc3NEZWZpbml0aW9uLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1lcnJvci1wYlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnQURGX0NMT1VEX1BST0NFU1NfTElTVC5BREZfQ0xPVURfU1RBUlRfUFJPQ0VTUy5FUlJPUi5QUk9DRVNTX0RFRklOSVRJT05fUkVRVUlSRUQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgICAgICAgPGFkZi1pbnBsYWNlLWZvcm0taW5wdXQgW2NvbnRyb2xdPVwicHJvY2Vzc0luc3RhbmNlTmFtZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIGxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAge3snQURGX0NMT1VEX1BST0NFU1NfTElTVC5BREZfQ0xPVURfU1RBUlRfUFJPQ0VTUy5GT1JNLkxBQkVMLk5BTUUnIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBlcnJvcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwicHJvY2Vzc0luc3RhbmNlTmFtZS5oYXNFcnJvcigncmVxdWlyZWQnKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdBREZfQ0xPVURfUFJPQ0VTU19MSVNULkFERl9DTE9VRF9TVEFSVF9QUk9DRVNTLkVSUk9SLlBST0NFU1NfTkFNRV9SRVFVSVJFRCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwicHJvY2Vzc0luc3RhbmNlTmFtZS5oYXNFcnJvcignbWF4bGVuZ3RoJylcIiBpZD1cImFkZi1zdGFydC1wcm9jZXNzLW1heGxlbmd0aC1lcnJvclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdBREZfQ0xPVURfUFJPQ0VTU19MSVNULkFERl9DTE9VRF9TVEFSVF9QUk9DRVNTLkVSUk9SLk1BWElNVU1fTEVOR1RIJyB8IHRyYW5zbGF0ZSA6IHsgY2hhcmFjdGVycyA6IG1heE5hbWVMZW5ndGggfSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJwcm9jZXNzSW5zdGFuY2VOYW1lLmhhc0Vycm9yKCdwYXR0ZXJuJylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnQURGX0NMT1VEX1BST0NFU1NfTElTVC5BREZfQ0xPVURfU1RBUlRfUFJPQ0VTUy5FUlJPUi5TUEFDRV9WQUxJREFUT1InIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvYWRmLWlucGxhY2UtZm9ybS1pbnB1dD5cbiAgICAgICAgICAgIDwvZm9ybT5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc0Zvcm0gZWxzZSB0YXNrRm9ybUNsb3VkQnV0dG9uc1wiPlxuICAgICAgICAgICAgICAgIDxhZGYtY2xvdWQtZm9ybVxuICAgICAgICAgICAgICAgICAgICBbYXBwTmFtZV09XCJhcHBOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgW2FwcFZlcnNpb25dPVwicHJvY2Vzc0RlZmluaXRpb25DdXJyZW50LmFwcFZlcnNpb25cIlxuICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJyZXNvbHZlZFZhbHVlc1wiXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtSWRdPVwicHJvY2Vzc0RlZmluaXRpb25DdXJyZW50LmZvcm1LZXlcIlxuICAgICAgICAgICAgICAgICAgICBbZmllbGRWYWxpZGF0b3JzXT1cImZpZWxkVmFsaWRhdG9yc1wiXG4gICAgICAgICAgICAgICAgICAgIFtzaG93U2F2ZUJ1dHRvbl09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgIFtzaG93Q29tcGxldGVCdXR0b25dPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICBbc2hvd1JlZnJlc2hCdXR0b25dPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICBbc2hvd1ZhbGlkYXRpb25JY29uXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgW3Nob3dUaXRsZV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgIChmb3JtQ29udGVudENsaWNrZWQpPVwib25Gb3JtQ29udGVudENsaWNrZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIChmb3JtTG9hZGVkKT1cIm9uRm9ybUxvYWRlZCgkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YWRmLWNsb3VkLWZvcm0tY3VzdG9tLW91dGNvbWVzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJ0YXNrRm9ybUNsb3VkQnV0dG9uc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2FkZi1jbG91ZC1mb3JtLWN1c3RvbS1vdXRjb21lcz5cbiAgICAgICAgICAgICAgICA8L2FkZi1jbG91ZC1mb3JtPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgPC9tYXQtY2FyZC1jb250ZW50PlxuXG48L21hdC1jYXJkPlxuXG48bmctdGVtcGxhdGUgI3Rhc2tGb3JtQ2xvdWRCdXR0b25zPlxuICAgIDxkaXYgY2xhc3M9XCJhZGYtc3RhcnQtcHJvY2Vzcy1jbG91ZC1hY3Rpb25zXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICpuZ0lmPVwic2hvd0NhbmNlbEJ1dHRvblwiXG4gICAgICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgICAgICAoY2xpY2spPVwiY2FuY2VsU3RhcnRQcm9jZXNzKClcIlxuICAgICAgICAgICAgaWQ9XCJjYW5jZWxfcHJvY2Vzc1wiXG4gICAgICAgID5cbiAgICAgICAgICAgIHt7ICdBREZfQ0xPVURfUFJPQ0VTU19MSVNULkFERl9DTE9VRF9TVEFSVF9QUk9DRVNTLkZPUk0uQUNUSU9OLkNBTkNFTCcgfCB0cmFuc2xhdGUgfCB1cHBlcmNhc2V9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZVN0YXJ0QnV0dG9uIHx8ICFpc1Byb2Nlc3NGb3JtVmFsaWRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInN0YXJ0UHJvY2VzcygpXCJcbiAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImJ0bi1zdGFydFwiXG4gICAgICAgICAgICBpZD1cImJ1dHRvbi1zdGFydFwiXG4gICAgICAgICAgICBjbGFzcz1cImFkZi1idG4tc3RhcnRcIlxuICAgICAgICA+XG4gICAgICAgICAgICAgICAge3snQURGX0NMT1VEX1BST0NFU1NfTElTVC5BREZfQ0xPVURfU1RBUlRfUFJPQ0VTUy5GT1JNLkFDVElPTi5TVEFSVCcgfCB0cmFuc2xhdGUgfCB1cHBlcmNhc2V9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZW1wdHlQcm9jZXNzRGVmaW5pdGlvbnNMaXN0PlxuICAgIDxtYXQtY2FyZC1jb250ZW50ICpuZ0lmPVwicHJvY2Vzc0RlZmluaXRpb25Mb2FkZWRcIj5cbiAgICAgICAgPG1hdC1jYXJkLXN1YnRpdGxlIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiIGlkPVwibm8tcHJvY2Vzcy1tZXNzYWdlXCI+XG4gICAgICAgICAgICB7eyAnQURGX0NMT1VEX1BST0NFU1NfTElTVC5BREZfQ0xPVURfU1RBUlRfUFJPQ0VTUy5OT19QUk9DRVNTX0RFRklOSVRJT05TJyB8IHRyYW5zbGF0ZSB8IHVwcGVyY2FzZX19XG4gICAgICAgIDwvbWF0LWNhcmQtc3VidGl0bGU+XG4gICAgPC9tYXQtY2FyZC1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNzcGlubmVyPlxuICAgIDxkaXYgY2xhc3M9XCJhZGYtbG9hZGluZy1jb250YWluZXJcIj5cbiAgICAgICAgPG1hdC1wcm9ncmVzcy1zcGlubmVyXG4gICAgICAgICAgICBjbGFzcz1cImFkZi1sb2FkaW5nXCJcbiAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiPlxuICAgICAgICA8L21hdC1wcm9ncmVzcy1zcGlubmVyPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -0,0 +1,25 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ export class ProcessWithFormPayloadCloud {
18
+ constructor(obj) {
19
+ this.processName = obj.processName;
20
+ this.processDefinitionKey = obj.processDefinitionKey;
21
+ this.variables = obj.variables;
22
+ this.values = obj.values;
23
+ }
24
+ }
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy13aXRoLWZvcm0tcGF5bG9hZC1jbG91ZC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvcHJvY2Vzcy9zdGFydC1wcm9jZXNzL21vZGVscy9wcm9jZXNzLXdpdGgtZm9ybS1wYXlsb2FkLWNsb3VkLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE1BQU0sT0FBTywyQkFBMkI7SUFNcEMsWUFBWSxHQUFnQztRQUN4QyxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUM7UUFDbkMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQztRQUNyRCxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUM7UUFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO0lBQzdCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuZXhwb3J0IGNsYXNzIFByb2Nlc3NXaXRoRm9ybVBheWxvYWRDbG91ZCB7XG4gICAgcHJvY2Vzc05hbWU6IHN0cmluZztcbiAgICBwcm9jZXNzRGVmaW5pdGlvbktleTogc3RyaW5nO1xuICAgIHZhcmlhYmxlczogYW55O1xuICAgIHZhbHVlczogYW55O1xuXG4gICAgY29uc3RydWN0b3Iob2JqOiBQcm9jZXNzV2l0aEZvcm1QYXlsb2FkQ2xvdWQpIHtcbiAgICAgICAgdGhpcy5wcm9jZXNzTmFtZSA9IG9iai5wcm9jZXNzTmFtZTtcbiAgICAgICAgdGhpcy5wcm9jZXNzRGVmaW5pdGlvbktleSA9IG9iai5wcm9jZXNzRGVmaW5pdGlvbktleTtcbiAgICAgICAgdGhpcy52YXJpYWJsZXMgPSBvYmoudmFyaWFibGVzO1xuICAgICAgICB0aGlzLnZhbHVlcyA9IG9iai52YWx1ZXM7XG4gICAgfVxufVxuIl19
@@ -50,6 +50,11 @@ export class StartProcessCloudService extends BaseCloudService {
50
50
  payload.payloadType = 'StartProcessPayload';
51
51
  return this.post(url, payload).pipe(map((result) => result.entry));
52
52
  }
53
+ startProcessWithForm(appName, formId, version, payload) {
54
+ const url = `${this.getBasePath(appName)}/form/v1/forms/${formId}/submit/versions/${version}`;
55
+ payload.payloadType = 'StartProcessPayload';
56
+ return this.post(url, payload);
57
+ }
53
58
  /**
54
59
  * Update an existing process instance
55
60
  *
@@ -100,4 +105,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
100
105
  providedIn: 'root'
101
106
  }]
102
107
  }] });
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQtcHJvY2Vzcy1jbG91ZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3Byb2Nlc3Mtc2VydmljZXMtY2xvdWQvc3JjL2xpYi9wcm9jZXNzL3N0YXJ0LXByb2Nlc3Mvc2VydmljZXMvc3RhcnQtcHJvY2Vzcy1jbG91ZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHckMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDeEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7O0FBU25GLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxnQkFBZ0I7SUFDMUQ7Ozs7OztPQU1HO0lBQ0gscUJBQXFCLENBQUMsT0FBZSxFQUFFLFdBQXlCO1FBQzVELElBQUksT0FBTyxJQUFJLE9BQU8sS0FBSyxFQUFFLEVBQUU7WUFDM0IsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyw0QkFBNEIsQ0FBQztZQUVyRSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FDbEMsR0FBRyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksc0JBQXNCLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDMUcsQ0FBQztTQUNMO2FBQU07WUFDSCxPQUFPLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1NBQy9DO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILFlBQVksQ0FBQyxPQUFlLEVBQUUsT0FBNEI7UUFDdEQsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQztRQUNuRSxPQUFPLENBQUMsV0FBVyxHQUFHLHFCQUFxQixDQUFDO1FBRTVDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxhQUFhLENBQUMsT0FBZSxFQUFFLGlCQUF5QixFQUFFLE9BQTRCO1FBQ2xGLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsNEJBQTRCLGlCQUFpQixFQUFFLENBQUM7UUFDeEYsT0FBTyxDQUFDLFdBQVcsR0FBRyxzQkFBc0IsQ0FBQztRQUU3QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxlQUFvQixFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM3RixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsYUFBYSxDQUFDLE9BQWUsRUFBRSxpQkFBeUI7UUFDcEQsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyw0QkFBNEIsaUJBQWlCLEVBQUUsQ0FBQztRQUV4RixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILG9DQUFvQyxDQUFDLE9BQWUsRUFBRSxtQkFBMkI7UUFDN0UsTUFBTSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyw4QkFBOEIsbUJBQW1CLGdCQUFnQixDQUFDO1FBQzdHLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQ3hCLEdBQUcsQ0FBQyxDQUFDLEdBQTJCLEVBQUUsRUFBRTtZQUNoQyxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7WUFDbEIsSUFBSSxHQUFHLEVBQUU7Z0JBQ0wsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3JIO1lBQ0QsT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7O3NIQWhGUSx3QkFBd0I7MEhBQXhCLHdCQUF3QixjQUZyQixNQUFNOzRGQUVULHdCQUF3QjtrQkFIcEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI0IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFByb2Nlc3NJbnN0YW5jZUNsb3VkIH0gZnJvbSAnLi4vbW9kZWxzL3Byb2Nlc3MtaW5zdGFuY2UtY2xvdWQubW9kZWwnO1xuaW1wb3J0IHsgUHJvY2Vzc1BheWxvYWRDbG91ZCB9IGZyb20gJy4uL21vZGVscy9wcm9jZXNzLXBheWxvYWQtY2xvdWQubW9kZWwnO1xuaW1wb3J0IHsgUHJvY2Vzc0RlZmluaXRpb25DbG91ZCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9wcm9jZXNzLWRlZmluaXRpb24tY2xvdWQubW9kZWwnO1xuaW1wb3J0IHsgQmFzZUNsb3VkU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Jhc2UtY2xvdWQuc2VydmljZSc7XG5pbXBvcnQgeyBUYXNrVmFyaWFibGVDbG91ZCB9IGZyb20gJy4uLy4uLy4uL2Zvcm0vbW9kZWxzL3Rhc2stdmFyaWFibGUtY2xvdWQubW9kZWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXJ5UGFyYW1zIHtcbiAgICBpbmNsdWRlOiAndmFyaWFibGVzJztcbn1cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTdGFydFByb2Nlc3NDbG91ZFNlcnZpY2UgZXh0ZW5kcyBCYXNlQ2xvdWRTZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBwcm9jZXNzIGRlZmluaXRpb25zIGFzc29jaWF0ZWQgd2l0aCBhbiBhcHAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYXBwTmFtZSBOYW1lIG9mIHRoZSB0YXJnZXQgYXBwXG4gICAgICogQHBhcmFtIHF1ZXJ5UGFyYW1zIG9wdGlvbmFsIHF1ZXJ5IHBhcmFtZXRlcnNcbiAgICAgKiBAcmV0dXJucyBBcnJheSBvZiBwcm9jZXNzIGRlZmluaXRpb25zXG4gICAgICovXG4gICAgZ2V0UHJvY2Vzc0RlZmluaXRpb25zKGFwcE5hbWU6IHN0cmluZywgcXVlcnlQYXJhbXM/OiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8UHJvY2Vzc0RlZmluaXRpb25DbG91ZFtdPiB7XG4gICAgICAgIGlmIChhcHBOYW1lIHx8IGFwcE5hbWUgPT09ICcnKSB7XG4gICAgICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmdldEJhc2VQYXRoKGFwcE5hbWUpfS9yYi92MS9wcm9jZXNzLWRlZmluaXRpb25zYDtcblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0KHVybCwgcXVlcnlQYXJhbXMpLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChyZXM6IGFueSkgPT4gcmVzLmxpc3QuZW50cmllcy5tYXAoKHByb2Nlc3NEZWZzKSA9PiBuZXcgUHJvY2Vzc0RlZmluaXRpb25DbG91ZChwcm9jZXNzRGVmcy5lbnRyeSkpKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCdBcHBOYW1lIG5vdCBjb25maWd1cmVkJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTdGFydHMgYSBwcm9jZXNzIGJhc2VkIG9uIGEgcHJvY2VzcyBkZWZpbml0aW9uLCBuYW1lLCBmb3JtIHZhbHVlcyBvciB2YXJpYWJsZXMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYXBwTmFtZSBuYW1lIG9mIHRoZSBBcHBsaWNhdGlvblxuICAgICAqIEBwYXJhbSBwYXlsb2FkIERldGFpbHMgb2YgdGhlIHByb2Nlc3MgKGRlZmluaXRpb24ga2V5LCBuYW1lLCB2YXJpYWJsZXMsIGV0YylcbiAgICAgKiBAcmV0dXJucyBEZXRhaWxzIG9mIHRoZSBwcm9jZXNzIGluc3RhbmNlIGp1c3Qgc3RhcnRlZFxuICAgICAqL1xuICAgIHN0YXJ0UHJvY2VzcyhhcHBOYW1lOiBzdHJpbmcsIHBheWxvYWQ6IFByb2Nlc3NQYXlsb2FkQ2xvdWQpOiBPYnNlcnZhYmxlPFByb2Nlc3NJbnN0YW5jZUNsb3VkPiB7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke3RoaXMuZ2V0QmFzZVBhdGgoYXBwTmFtZSl9L3JiL3YxL3Byb2Nlc3MtaW5zdGFuY2VzYDtcbiAgICAgICAgcGF5bG9hZC5wYXlsb2FkVHlwZSA9ICdTdGFydFByb2Nlc3NQYXlsb2FkJztcblxuICAgICAgICByZXR1cm4gdGhpcy5wb3N0KHVybCwgcGF5bG9hZCkucGlwZShtYXAoKHJlc3VsdDogYW55KSA9PiByZXN1bHQuZW50cnkpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGUgYW4gZXhpc3RpbmcgcHJvY2VzcyBpbnN0YW5jZVxuICAgICAqXG4gICAgICogQHBhcmFtIGFwcE5hbWUgbmFtZSBvZiB0aGUgQXBwbGljYXRpb25cbiAgICAgKiBAcGFyYW0gcHJvY2Vzc0luc3RhbmNlSWQgcHJvY2VzcyBpbnN0YW5jZSB0byB1cGRhdGVcbiAgICAgKiBAcGFyYW0gcGF5bG9hZCBEZXRhaWxzIG9mIHRoZSBwcm9jZXNzIChkZWZpbml0aW9uIGtleSwgbmFtZSwgdmFyaWFibGVzLCBldGMpXG4gICAgICogQHJldHVybnMgRGV0YWlscyBvZiB0aGUgcHJvY2VzcyBpbnN0YW5jZSBqdXN0IHN0YXJ0ZWRcbiAgICAgKi9cbiAgICB1cGRhdGVQcm9jZXNzKGFwcE5hbWU6IHN0cmluZywgcHJvY2Vzc0luc3RhbmNlSWQ6IHN0cmluZywgcGF5bG9hZDogUHJvY2Vzc1BheWxvYWRDbG91ZCk6IE9ic2VydmFibGU8UHJvY2Vzc0luc3RhbmNlQ2xvdWQ+IHtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5nZXRCYXNlUGF0aChhcHBOYW1lKX0vcmIvdjEvcHJvY2Vzcy1pbnN0YW5jZXMvJHtwcm9jZXNzSW5zdGFuY2VJZH1gO1xuICAgICAgICBwYXlsb2FkLnBheWxvYWRUeXBlID0gJ1VwZGF0ZVByb2Nlc3NQYXlsb2FkJztcblxuICAgICAgICByZXR1cm4gdGhpcy5wdXQodXJsLCBwYXlsb2FkKS5waXBlKG1hcCgocHJvY2Vzc0luc3RhbmNlOiBhbnkpID0+IHByb2Nlc3NJbnN0YW5jZS5lbnRyeSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlbGV0ZSBhbiBleGlzdGluZyBwcm9jZXNzIGluc3RhbmNlXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYXBwTmFtZSBBcHBsaWNhdGlvbiBuYW1lXG4gICAgICogQHBhcmFtIHByb2Nlc3NJbnN0YW5jZUlkIHRoZSBpZGVudGlmaWVyIG9mIHRoZSBwcm9jZXNzIGluc3RhbmNlIHRvIHVwZGF0ZVxuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGU8dm9pZD5cbiAgICAgKi9cbiAgICBkZWxldGVQcm9jZXNzKGFwcE5hbWU6IHN0cmluZywgcHJvY2Vzc0luc3RhbmNlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmdldEJhc2VQYXRoKGFwcE5hbWUpfS9yYi92MS9wcm9jZXNzLWluc3RhbmNlcy8ke3Byb2Nlc3NJbnN0YW5jZUlkfWA7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZGVsZXRlKHVybCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgc3RhdGljIHZhbHVlcyBtYXBwZWQgdG8gdGhlIHN0YXJ0IGZvcm0gb2YgYSBwcm9jZXNzIGRlZmluaXRpb24uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYXBwTmFtZSBOYW1lIG9mIHRoZSBhcHBcbiAgICAgKiBAcGFyYW0gcHJvY2Vzc0RlZmluaXRpb25JZCBJRCBvZiB0aGUgdGFyZ2V0IHByb2Nlc3MgZGVmaW5pdGlvblxuICAgICAqIEByZXR1cm5zIFN0YXRpYyBtYXBwaW5ncyBmb3IgdGhlIHN0YXJ0IGV2ZW50XG4gICAgICovXG4gICAgZ2V0U3RhcnRFdmVudEZvcm1TdGF0aWNWYWx1ZXNNYXBwaW5nKGFwcE5hbWU6IHN0cmluZywgcHJvY2Vzc0RlZmluaXRpb25JZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxUYXNrVmFyaWFibGVDbG91ZFtdPiB7XG4gICAgICAgIGNvbnN0IGFwaVVybCA9IGAke3RoaXMuZ2V0QmFzZVBhdGgoYXBwTmFtZSl9L3JiL3YxL3Byb2Nlc3MtZGVmaW5pdGlvbnMvJHtwcm9jZXNzRGVmaW5pdGlvbklkfS9zdGF0aWMtdmFsdWVzYDtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0KGFwaVVybCkucGlwZShcbiAgICAgICAgICAgIG1hcCgocmVzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgICAgICAgICAgICAgaWYgKHJlcykge1xuICAgICAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyhyZXMpLmZvckVhY2goKG1hcHBpbmcpID0+IHJlc3VsdC5wdXNoKG5ldyBUYXNrVmFyaWFibGVDbG91ZCh7IG5hbWU6IG1hcHBpbmcsIHZhbHVlOiByZXNbbWFwcGluZ10gfSkpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQtcHJvY2Vzcy1jbG91ZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3Byb2Nlc3Mtc2VydmljZXMtY2xvdWQvc3JjL2xpYi9wcm9jZXNzL3N0YXJ0LXByb2Nlc3Mvc2VydmljZXMvc3RhcnQtcHJvY2Vzcy1jbG91ZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHckMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDeEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7O0FBU25GLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxnQkFBZ0I7SUFDMUQ7Ozs7OztPQU1HO0lBQ0gscUJBQXFCLENBQUMsT0FBZSxFQUFFLFdBQXlCO1FBQzVELElBQUksT0FBTyxJQUFJLE9BQU8sS0FBSyxFQUFFLEVBQUU7WUFDM0IsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyw0QkFBNEIsQ0FBQztZQUVyRSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FDbEMsR0FBRyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksc0JBQXNCLENBQUMsV0FBVyxDQUFDLEtB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ICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBQcm9jZXNzSW5zdGFuY2VDbG91ZCB9IGZyb20gJy4uL21vZGVscy9wcm9jZXNzLWluc3RhbmNlLWNsb3VkLm1vZGVsJztcbmltcG9ydCB7IFByb2Nlc3NQYXlsb2FkQ2xvdWQgfSBmcm9tICcuLi9tb2RlbHMvcHJvY2Vzcy1wYXlsb2FkLWNsb3VkLm1vZGVsJztcbmltcG9ydCB7IFByb2Nlc3NEZWZpbml0aW9uQ2xvdWQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcHJvY2Vzcy1kZWZpbml0aW9uLWNsb3VkLm1vZGVsJztcbmltcG9ydCB7IEJhc2VDbG91ZFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9iYXNlLWNsb3VkLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGFza1ZhcmlhYmxlQ2xvdWQgfSBmcm9tICcuLi8uLi8uLi9mb3JtL21vZGVscy90YXNrLXZhcmlhYmxlLWNsb3VkLm1vZGVsJztcblxuZXhwb3J0IGludGVyZmFjZSBRdWVyeVBhcmFtcyB7XG4gICAgaW5jbHVkZTogJ3ZhcmlhYmxlcyc7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU3RhcnRQcm9jZXNzQ2xvdWRTZXJ2aWNlIGV4dGVuZHMgQmFzZUNsb3VkU2VydmljZSB7XG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgcHJvY2VzcyBkZWZpbml0aW9ucyBhc3NvY2lhdGVkIHdpdGggYW4gYXBwLlxuICAgICAqXG4gICAgICogQHBhcmFtIGFwcE5hbWUgTmFtZSBvZiB0aGUgdGFyZ2V0IGFwcFxuICAgICAqIEBwYXJhbSBxdWVyeVBhcmFtcyBvcHRpb25hbCBxdWVyeSBwYXJhbWV0ZXJzXG4gICAgICogQHJldHVybnMgQXJyYXkgb2YgcHJvY2VzcyBkZWZpbml0aW9uc1xuICAgICAqL1xuICAgIGdldFByb2Nlc3NEZWZpbml0aW9ucyhhcHBOYW1lOiBzdHJpbmcsIHF1ZXJ5UGFyYW1zPzogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPFByb2Nlc3NEZWZpbml0aW9uQ2xvdWRbXT4ge1xuICAgICAgICBpZiAoYXBwTmFtZSB8fCBhcHBOYW1lID09PSAnJykge1xuICAgICAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5nZXRCYXNlUGF0aChhcHBOYW1lKX0vcmIvdjEvcHJvY2Vzcy1kZWZpbml0aW9uc2A7XG5cbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldCh1cmwsIHF1ZXJ5UGFyYW1zKS5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgocmVzOiBhbnkpID0+IHJlcy5saXN0LmVudHJpZXMubWFwKChwcm9jZXNzRGVmcykgPT4gbmV3IFByb2Nlc3NEZWZpbml0aW9uQ2xvdWQocHJvY2Vzc0RlZnMuZW50cnkpKSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcignQXBwTmFtZSBub3QgY29uZmlndXJlZCcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU3RhcnRzIGEgcHJvY2VzcyBiYXNlZCBvbiBhIHByb2Nlc3MgZGVmaW5pdGlvbiwgbmFtZSwgZm9ybSB2YWx1ZXMgb3IgdmFyaWFibGVzLlxuICAgICAqXG4gICAgICogQHBhcmFtIGFwcE5hbWUgbmFtZSBvZiB0aGUgQXBwbGljYXRpb25cbiAgICAgKiBAcGFyYW0gcGF5bG9hZCBEZXRhaWxzIG9mIHRoZSBwcm9jZXNzIChkZWZpbml0aW9uIGtleSwgbmFtZSwgdmFyaWFibGVzLCBldGMpXG4gICAgICogQHJldHVybnMgRGV0YWlscyBvZiB0aGUgcHJvY2VzcyBpbnN0YW5jZSBqdXN0IHN0YXJ0ZWRcbiAgICAgKi9cbiAgICBzdGFydFByb2Nlc3MoYXBwTmFtZTogc3RyaW5nLCBwYXlsb2FkOiBQcm9jZXNzUGF5bG9hZENsb3VkKTogT2JzZXJ2YWJsZTxQcm9jZXNzSW5zdGFuY2VDbG91ZD4ge1xuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmdldEJhc2VQYXRoKGFwcE5hbWUpfS9yYi92MS9wcm9jZXNzLWluc3RhbmNlc2A7XG4gICAgICAgIHBheWxvYWQucGF5bG9hZFR5cGUgPSAnU3RhcnRQcm9jZXNzUGF5bG9hZCc7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMucG9zdCh1cmwsIHBheWxvYWQpLnBpcGUobWFwKChyZXN1bHQ6IGFueSkgPT4gcmVzdWx0LmVudHJ5KSk7XG4gICAgfVxuXG4gICAgc3RhcnRQcm9jZXNzV2l0aEZvcm0oYXBwTmFtZTogc3RyaW5nLCBmb3JtSWQ6IHN0cmluZywgdmVyc2lvbjogbnVtYmVyLCBwYXlsb2FkOiBhbnkpOiBPYnNlcnZhYmxlPFByb2Nlc3NJbnN0YW5jZUNsb3VkPiB7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke3RoaXMuZ2V0QmFzZVBhdGgoYXBwTmFtZSl9L2Zvcm0vdjEvZm9ybXMvJHtmb3JtSWR9L3N1Ym1pdC92ZXJzaW9ucy8ke3ZlcnNpb259YDtcbiAgICAgICAgcGF5bG9hZC5wYXlsb2FkVHlwZSA9ICdTdGFydFByb2Nlc3NQYXlsb2FkJztcblxuICAgICAgICByZXR1cm4gdGhpcy5wb3N0KHVybCwgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXBkYXRlIGFuIGV4aXN0aW5nIHByb2Nlc3MgaW5zdGFuY2VcbiAgICAgKlxuICAgICAqIEBwYXJhbSBhcHBOYW1lIG5hbWUgb2YgdGhlIEFwcGxpY2F0aW9uXG4gICAgICogQHBhcmFtIHByb2Nlc3NJbnN0YW5jZUlkIHByb2Nlc3MgaW5zdGFuY2UgdG8gdXBkYXRlXG4gICAgICogQHBhcmFtIHBheWxvYWQgRGV0YWlscyBvZiB0aGUgcHJvY2VzcyAoZGVmaW5pdGlvbiBrZXksIG5hbWUsIHZhcmlhYmxlcywgZXRjKVxuICAgICAqIEByZXR1cm5zIERldGFpbHMgb2YgdGhlIHByb2Nlc3MgaW5zdGFuY2UganVzdCBzdGFydGVkXG4gICAgICovXG4gICAgdXBkYXRlUHJvY2VzcyhhcHBOYW1lOiBzdHJpbmcsIHByb2Nlc3NJbnN0YW5jZUlkOiBzdHJpbmcsIHBheWxvYWQ6IFByb2Nlc3NQYXlsb2FkQ2xvdWQpOiBPYnNlcnZhYmxlPFByb2Nlc3NJbnN0YW5jZUNsb3VkPiB7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke3RoaXMuZ2V0QmFzZVBhdGgoYXBwTmFtZSl9L3JiL3YxL3Byb2Nlc3MtaW5zdGFuY2VzLyR7cHJvY2Vzc0luc3RhbmNlSWR9YDtcbiAgICAgICAgcGF5bG9hZC5wYXlsb2FkVHlwZSA9ICdVcGRhdGVQcm9jZXNzUGF5bG9hZCc7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMucHV0KHVybCwgcGF5bG9hZCkucGlwZShtYXAoKHByb2Nlc3NJbnN0YW5jZTogYW55KSA9PiBwcm9jZXNzSW5zdGFuY2UuZW50cnkpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWxldGUgYW4gZXhpc3RpbmcgcHJvY2VzcyBpbnN0YW5jZVxuICAgICAqXG4gICAgICogQHBhcmFtIGFwcE5hbWUgQXBwbGljYXRpb24gbmFtZVxuICAgICAqIEBwYXJhbSBwcm9jZXNzSW5zdGFuY2VJZCB0aGUgaWRlbnRpZmllciBvZiB0aGUgcHJvY2VzcyBpbnN0YW5jZSB0byB1cGRhdGVcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPHZvaWQ+XG4gICAgICovXG4gICAgZGVsZXRlUHJvY2VzcyhhcHBOYW1lOiBzdHJpbmcsIHByb2Nlc3NJbnN0YW5jZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5nZXRCYXNlUGF0aChhcHBOYW1lKX0vcmIvdjEvcHJvY2Vzcy1pbnN0YW5jZXMvJHtwcm9jZXNzSW5zdGFuY2VJZH1gO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmRlbGV0ZSh1cmwpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHN0YXRpYyB2YWx1ZXMgbWFwcGVkIHRvIHRoZSBzdGFydCBmb3JtIG9mIGEgcHJvY2VzcyBkZWZpbml0aW9uLlxuICAgICAqXG4gICAgICogQHBhcmFtIGFwcE5hbWUgTmFtZSBvZiB0aGUgYXBwXG4gICAgICogQHBhcmFtIHByb2Nlc3NEZWZpbml0aW9uSWQgSUQgb2YgdGhlIHRhcmdldCBwcm9jZXNzIGRlZmluaXRpb25cbiAgICAgKiBAcmV0dXJucyBTdGF0aWMgbWFwcGluZ3MgZm9yIHRoZSBzdGFydCBldmVudFxuICAgICAqL1xuICAgIGdldFN0YXJ0RXZlbnRGb3JtU3RhdGljVmFsdWVzTWFwcGluZyhhcHBOYW1lOiBzdHJpbmcsIHByb2Nlc3NEZWZpbml0aW9uSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8VGFza1ZhcmlhYmxlQ2xvdWRbXT4ge1xuICAgICAgICBjb25zdCBhcGlVcmwgPSBgJHt0aGlzLmdldEJhc2VQYXRoKGFwcE5hbWUpfS9yYi92MS9wcm9jZXNzLWRlZmluaXRpb25zLyR7cHJvY2Vzc0RlZmluaXRpb25JZH0vc3RhdGljLXZhbHVlc2A7XG4gICAgICAgIHJldHVybiB0aGlzLmdldChhcGlVcmwpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHJlczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgICAgICAgICAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmtleXMocmVzKS5mb3JFYWNoKChtYXBwaW5nKSA9PiByZXN1bHQucHVzaChuZXcgVGFza1ZhcmlhYmxlQ2xvdWQoeyBuYW1lOiBtYXBwaW5nLCB2YWx1ZTogcmVzW21hcHBpbmddIH0pKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
@@ -37,10 +37,7 @@ export class ServiceTaskListCloudComponent extends BaseTaskListCloudComponent {
37
37
  this.queryParams = {};
38
38
  this.onDestroyServiceTaskList$ = new Subject();
39
39
  this.isReloadingSubject$ = new BehaviorSubject(false);
40
- this.isLoading$ = combineLatest([
41
- this.isLoadingPreferences$,
42
- this.isReloadingSubject$
43
- ]).pipe(map(([isLoadingPreferences, isReloading]) => isLoadingPreferences || isReloading));
40
+ this.isLoading$ = combineLatest([this.isLoadingPreferences$, this.isReloadingSubject$]).pipe(map(([isLoadingPreferences, isReloading]) => isLoadingPreferences || isReloading));
44
41
  }
45
42
  ngOnDestroy() {
46
43
  this.onDestroyServiceTaskList$.next(true);
@@ -50,10 +47,9 @@ export class ServiceTaskListCloudComponent extends BaseTaskListCloudComponent {
50
47
  this.isReloadingSubject$.next(true);
51
48
  this.requestNode = this.createRequestNode();
52
49
  if (this.requestNode.appName || this.requestNode.appName === '') {
53
- combineLatest([
54
- this.serviceTaskListCloudService.getServiceTaskByRequest(this.requestNode),
55
- this.isColumnSchemaCreated$
56
- ]).pipe(takeUntil(this.onDestroyServiceTaskList$)).subscribe(([tasks]) => {
50
+ combineLatest([this.serviceTaskListCloudService.getServiceTaskByRequest(this.requestNode), this.isColumnSchemaCreated$])
51
+ .pipe(takeUntil(this.onDestroyServiceTaskList$))
52
+ .subscribe(([tasks]) => {
57
53
  this.rows = tasks.list.entries;
58
54
  this.success.emit(tasks);
59
55
  this.pagination.next(tasks.list.pagination);
@@ -104,4 +100,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
104
100
  }] }]; }, propDecorators: { queryParams: [{
105
101
  type: Input
106
102
  }] } });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS10YXNrLWxpc3QtY2xvdWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3Byb2Nlc3Mtc2VydmljZXMtY2xvdWQvc3JjL2xpYi90YXNrL3Rhc2stbGlzdC9jb21wb25lbnRzL3NlcnZpY2UtdGFzay1saXN0LWNsb3VkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvdGFzay90YXNrLWxpc3QvY29tcG9uZW50cy9iYXNlLXRhc2stbGlzdC1jbG91ZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUNILGdCQUFnQixFQUFFLHNCQUFzQixFQUMzQyxNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvRCxPQUFPLEVBQW1DLG1DQUFtQyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDcEgsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUFFaEQsTUFBTSxVQUFVLEdBQUcscUNBQXFDLENBQUM7QUFRekQsTUFBTSxPQUFPLDZCQUE4QixTQUFRLDBCQUEwQjtJQWN6RSxZQUFvQiwyQkFBd0Qs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LEVBQUUsYUFBYTtZQUM5QyxTQUFTLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxTQUFTO1lBQ3RDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLFdBQVc7WUFDMUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxtQkFBbUI7WUFDMUQsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxvQkFBb0I7WUFDNUQsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSx3QkFBd0I7WUFDcEUsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxpQkFBaUI7WUFDdEQsZUFBZSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsZUFBZTtZQUNsRCxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxXQUFXO1lBQzFDLGNBQWMsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLGNBQWM7WUFDaEQsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsV0FBVztZQUMxQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxNQUFNO1NBQ0UsQ0FBQztRQUN2QyxPQUFPLFdBQVcsQ0FBQztJQUN2QixDQUFDOzsySEEvRVEsNkJBQTZCLG1LQWtCbEIsbUNBQW1DOytHQWxCOUMsNkJBQTZCLGtJQ3JDMUMsZ2dHQTJEQTs0RkR0QmEsNkJBQTZCO2tCQU56QyxTQUFTOytCQUNJLDZCQUE2QixpQkFHeEIsaUJBQWlCLENBQUMsSUFBSTs7MEJBb0J4QixNQUFNOzJCQUFDLG1DQUFtQzs0Q0FoQnZELFdBQVc7c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgSW5wdXQsIEluamVjdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFwcENvbmZpZ1NlcnZpY2UsIFVzZXJQcmVmZXJlbmNlc1NlcnZpY2Vcbn0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IFNlcnZpY2VUYXNrUXVlcnlDbG91ZFJlcXVlc3RNb2RlbCB9IGZyb20gJy4uL21vZGVscy9zZXJ2aWNlLXRhc2stY2xvdWQubW9kZWwnO1xuaW1wb3J0IHsgQmFzZVRhc2tMaXN0Q2xvdWRDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UtdGFzay1saXN0LWNsb3VkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZXJ2aWNlVGFza0xpc3RDbG91ZFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9zZXJ2aWNlLXRhc2stbGlzdC1jbG91ZC5zZXJ2aWNlJztcbmltcG9ydCB7IFRhc2tDbG91ZFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90YXNrLWNsb3VkLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3ViamVjdCwgY29tYmluZUxhdGVzdCwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQcmVmZXJlbmNlQ2xvdWRTZXJ2aWNlSW50ZXJmYWNlLCBUQVNLX0xJU1RfUFJFRkVSRU5DRVNfU0VSVklDRV9UT0tFTiB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgbWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmNvbnN0IFBSRVNFVF9LRVkgPSAnYWRmLWNsb3VkLXNlcnZpY2UtdGFzay1saXN0LnByZXNldHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FkZi1jbG91ZC1zZXJ2aWNlLXRhc2stbGlzdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Jhc2UtdGFzay1saXN0LWNsb3VkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9iYXNlLXRhc2stbGlzdC1jbG91ZC5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgU2VydmljZVRhc2tMaXN0Q2xvdWRDb21wb25lbnQgZXh0ZW5kcyBCYXNlVGFza0xpc3RDbG91ZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgQElucHV0KClcbiAgICBxdWVyeVBhcmFtczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuXG4gICAgcHJpdmF0ZSBvbkRlc3Ryb3lTZXJ2aWNlVGFza0xpc3QkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIHByaXZhdGUgaXNSZWxvYWRpbmdTdWJqZWN0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIGlzTG9hZGluZyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmdQcmVmZXJlbmNlcyQsXG4gICAgICAgIHRoaXMuaXNSZWxvYWRpbmdTdWJqZWN0JFxuICAgIF0pLnBpcGUoXG4gICAgICAgIG1hcCgoW2lzTG9hZGluZ1ByZWZlcmVuY2VzLCBpc1JlbG9hZGluZ10pID0+IGlzTG9hZGluZ1ByZWZlcmVuY2VzIHx8IGlzUmVsb2FkaW5nKVxuICAgICk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlcnZpY2VUYXNrTGlzdENsb3VkU2VydmljZTogU2VydmljZVRhc2tMaXN0Q2xvdWRTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIGFwcENvbmZpZ1NlcnZpY2U6IEFwcENvbmZpZ1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgdGFza0Nsb3VkU2VydmljZTogVGFza0Nsb3VkU2VydmljZSxcbiAgICAgICAgICAgICAgICB1c2VyUHJlZmVyZW5jZXM6IFVzZXJQcmVmZXJlbmNlc1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgQEluamVjdChUQVNLX0xJU1RfUFJFRkVSRU5DRVNfU0VSVklDRV9UT0tFTikgY2xvdWRQcmVmZXJlbmNlU2VydmljZTogUHJlZmVyZW5jZUNsb3VkU2VydmljZUludGVyZmFjZVxuICAgICAgICAgICAgKSB7XG4gICAgICAgIHN1cGVyKGFwcENvbmZpZ1NlcnZpY2UsIHRhc2tDbG91ZFNlcnZpY2UsIHVzZXJQcmVmZXJlbmNlcywgUFJFU0VUX0tFWSwgY2xvdWRQcmVmZXJlbmNlU2VydmljZSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMub25EZXN0cm95U2VydmljZVRhc2tMaXN0JC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLm9uRGVzdHJveVNlcnZpY2VUYXNrTGlzdCQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICByZWxvYWQoKSB7XG4gICAgICAgIHRoaXMuaXNSZWxvYWRpbmdTdWJqZWN0JC5uZXh0KHRydWUpO1xuXG4gICAgICAgIHRoaXMucmVxdWVzdE5vZGUgPSB0aGlzLmNyZWF0ZVJlcXVlc3ROb2RlKCk7XG5cbiAgICAgICAgaWYgKHRoaXMucmVxdWVzdE5vZGUuYXBwTmFtZSB8fCB0aGlzLnJlcXVlc3ROb2RlLmFwcE5hbWUgPT09ICcnKSB7XG5cbiAgICAgICAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgICAgIHRoaXMuc2VydmljZVRhc2tMaXN0Q2xvdWRTZXJ2aWNlLmdldFNlcnZpY2VUYXNrQnlSZXF1ZXN0KHRoaXMucmVxdWVzdE5vZGUpLFxuICAgICAgICAgICAgICAgIHRoaXMuaXNDb2x1bW5TY2hlbWFDcmVhdGVkJFxuICAgICAgICAgICAgXSkucGlwZShcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3lTZXJ2aWNlVGFza0xpc3QkKVxuICAgICAgICAgICAgKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgKFt0YXNrc10pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yb3dzID0gdGFza3MubGlzdC5lbnRyaWVzO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnN1Y2Nlc3MuZW1pdCh0YXNrcyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFnaW5hdGlvbi5uZXh0KHRhc2tzLmxpc3QucGFnaW5hdGlvbik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNSZWxvYWRpbmdTdWJqZWN0JC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9LCAoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lcnJvci5lbWl0KGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc1JlbG9hZGluZ1N1YmplY3QkLm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yb3dzID0gW107XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjcmVhdGVSZXF1ZXN0Tm9kZSgpOiBTZXJ2aWNlVGFza1F1ZXJ5Q2xvdWRSZXF1ZXN0TW9kZWwge1xuICAgICAgICBjb25zdCByZXF1ZXN0Tm9kZTogU2VydmljZVRhc2tRdWVyeUNsb3VkUmVxdWVzdE1vZGVsID0ge1xuICAgICAgICAgICAgYXBwTmFtZTogdGhpcy5hcHBOYW1lLFxuICAgICAgICAgICAgbWF4SXRlbXM6IHRoaXMuc2l6ZSxcbiAgICAgICAgICAgIHNraXBDb3VudDogdGhpcy5za2lwQ291bnQsXG4gICAgICAgICAgICBzb3J0aW5nOiB0aGlzLnNvcnRpbmcsXG4gICAgICAgICAgICBpZDogdGhpcy5xdWVyeVBhcmFtcz8uc2VydmljZVRhc2tJZCxcbiAgICAgICAgICAgIGVudmlyb25tZW50SWQ6IHRoaXMucXVlcnlQYXJhbXM/LmVudmlyb25tZW50SWQsXG4gICAgICAgICAgICBhY3Rpdml0eU5hbWU6IHRoaXMucXVlcnlQYXJhbXM/LmFjdGl2aXR5TmFtZSxcbiAgICAgICAgICAgIGFjdGl2aXR5VHlwZTogdGhpcy5xdWVyeVBhcmFtcz8uYWN0aXZpdHlUeXBlLFxuICAgICAgICAgICAgY29tcGxldGVkRGF0ZTogdGhpcy5xdWVyeVBhcmFtcz8uY29tcGxldGVkRGF0ZSxcbiAgICAgICAgICAgIGVsZW1lbnRJZDogdGhpcy5xdWVyeVBhcmFtcz8uZWxlbWVudElkLFxuICAgICAgICAgICAgZXhlY3V0aW9uSWQ6IHRoaXMucXVlcnlQYXJhbXM/LmV4ZWN1dGlvbklkLFxuICAgICAgICAgICAgcHJvY2Vzc0RlZmluaXRpb25JZDogdGhpcy5xdWVyeVBhcmFtcz8ucHJvY2Vzc0RlZmluaXRpb25JZCxcbiAgICAgICAgICAgIHByb2Nlc3NEZWZpbml0aW9uS2V5OiB0aGlzLnF1ZXJ5UGFyYW1zPy5wcm9jZXNzRGVmaW5pdGlvbktleSxcbiAgICAgICAgICAgIHByb2Nlc3NEZWZpbml0aW9uVmVyc2lvbjogdGhpcy5xdWVyeVBhcmFtcz8ucHJvY2Vzc0RlZmluaXRpb25WZXJzaW9uLFxuICAgICAgICAgICAgcHJvY2Vzc0luc3RhbmNlSWQ6IHRoaXMucXVlcnlQYXJhbXM/LnByb2Nlc3NJbnN0YW5jZUlkLFxuICAgICAgICAgICAgc2VydmljZUZ1bGxOYW1lOiB0aGlzLnF1ZXJ5UGFyYW1zPy5zZXJ2aWNlRnVsbE5hbWUsXG4gICAgICAgICAgICBzZXJ2aWNlTmFtZTogdGhpcy5xdWVyeVBhcmFtcz8uc2VydmljZU5hbWUsXG4gICAgICAgICAgICBzZXJ2aWNlVmVyc2lvbjogdGhpcy5xdWVyeVBhcmFtcz8uc2VydmljZVZlcnNpb24sXG4gICAgICAgICAgICBzdGFydGVkRGF0ZTogdGhpcy5xdWVyeVBhcmFtcz8uc3RhcnRlZERhdGUsXG4gICAgICAgICAgICBzdGF0dXM6IHRoaXMucXVlcnlQYXJhbXM/LnN0YXR1c1xuICAgICAgICB9IGFzIFNlcnZpY2VUYXNrUXVlcnlDbG91ZFJlcXVlc3RNb2RlbDtcbiAgICAgICAgcmV0dXJuIHJlcXVlc3ROb2RlO1xuICAgIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCIhcm93c1wiPnt7ICdBREZfQ0xPVURfVEFTS19MSVNULkZJTFRFUlMuTUVTU0FHRVMuTk9ORScgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJyb3dzXCI+XG4gICAgICAgIDxhZGYtZGF0YXRhYmxlXG4gICAgICAgICAgICBbcm93c109XCJyb3dzXCJcbiAgICAgICAgICAgIFtjb2x1bW5zXT1cImNvbHVtbnNcIlxuICAgICAgICAgICAgW2RhdGFdPVwiZGF0YUFkYXB0ZXJcIlxuICAgICAgICAgICAgW2xvYWRpbmddPVwiaXNMb2FkaW5nJCB8IGFzeW5jXCJcbiAgICAgICAgICAgIFtzb3J0aW5nXT1cImZvcm1hdHRlZFNvcnRpbmdcIlxuICAgICAgICAgICAgW211bHRpc2VsZWN0XT1cIm11bHRpc2VsZWN0XCJcbiAgICAgICAgICAgIFtzZWxlY3Rpb25Nb2RlXT1cInNlbGVjdGlvbk1vZGVcIlxuICAgICAgICAgICAgW3N0aWNreUhlYWRlcl09XCJzdGlja3lIZWFkZXJcIlxuICAgICAgICAgICAgW2FjdGlvbnNdPVwic2hvd0FjdGlvbnNcIlxuICAgICAgICAgICAgW2FjdGlvbnNQb3NpdGlvbl09XCJhY3Rpb25zUG9zaXRpb25cIlxuICAgICAgICAgICAgW2NvbnRleHRNZW51XT1cInNob3dDb250ZXh0TWVudVwiXG4gICAgICAgICAgICBbcmVzb2x2ZXJGbl09XCJib3VuZFJlcGxhY2VQcmlvcml0eVZhbHVlc1wiXG4gICAgICAgICAgICBbc2hvd01haW5EYXRhdGFibGVBY3Rpb25zXT1cInNob3dNYWluRGF0YXRhYmxlQWN0aW9uc1wiXG4gICAgICAgICAgICBbaXNSZXNpemluZ0VuYWJsZWRdPVwiaXNSZXNpemluZ0VuYWJsZWRcIlxuICAgICAgICAgICAgKHNob3dSb3dBY3Rpb25zTWVudSk9XCJvblNob3dSb3dBY3Rpb25zTWVudSgkZXZlbnQpXCJcbiAgICAgICAgICAgIChzaG93Um93Q29udGV4dE1lbnUpPVwib25TaG93Um93Q29udGV4dE1lbnUoJGV2ZW50KVwiXG4gICAgICAgICAgICAoZXhlY3V0ZVJvd0FjdGlvbik9XCJvbkV4ZWN1dGVSb3dBY3Rpb24oJGV2ZW50KVwiXG4gICAgICAgICAgICAocm93LXNlbGVjdCk9XCJvblJvd1NlbGVjdCgkYW55KCRldmVudCkpXCJcbiAgICAgICAgICAgIChyb3ctdW5zZWxlY3QpPVwib25Sb3dVbnNlbGVjdCgkYW55KCRldmVudCkpXCJcbiAgICAgICAgICAgIChyb3dDbGljayk9XCJvblJvd0NsaWNrKCRhbnkoJGV2ZW50KSlcIlxuICAgICAgICAgICAgKHJvdy1rZXl1cCk9XCJvblJvd0tleVVwKCRhbnkoJGV2ZW50KSlcIlxuICAgICAgICAgICAgKHNvcnRpbmctY2hhbmdlZCk9XCJvblNvcnRpbmdDaGFuZ2VkKCRhbnkoJGV2ZW50KSlcIlxuICAgICAgICAgICAgKGNvbHVtbk9yZGVyQ2hhbmdlZCk9XCJvbkNvbHVtbk9yZGVyQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgIChjb2x1bW5zV2lkdGhDaGFuZ2VkKT1cIm9uQ29sdW1uc1dpZHRoQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDxhZGYtbG9hZGluZy1jb250ZW50LXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSBBZGQgeW91ciBjdXN0b20gbG9hZGluZyB0ZW1wbGF0ZSBoZXJlIC0tPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LXByb2dyZXNzLXNwaW5uZXIgY2xhc3M9XCJhZGYtY2xvdWQtdGFzay1saXN0LWxvYWRpbmctbWFyZ2luXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCIncHJpbWFyeSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwiJ2luZGV0ZXJtaW5hdGUnXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LXByb2dyZXNzLXNwaW5uZXI+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvYWRmLWxvYWRpbmctY29udGVudC10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDxhZGYtbm8tY29udGVudC10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDxhZGYtZW1wdHktY29udGVudCAqbmdJZj1cIiFlbXB0eUN1c3RvbUNvbnRlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cImFzc2lnbm1lbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidBREZfQ0xPVURfVEFTS19MSVNULkxJU1QuTUVTU0FHRVMuVElUTEUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdWJ0aXRsZV09XCInQURGX0NMT1VEX1RBU0tfTElTVC5MSVNULk1FU1NBR0VTLlNVQlRJVExFJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8L2FkZi1lbXB0eS1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJhZGYtY3VzdG9tLWVtcHR5LWNvbnRlbnQtdGVtcGxhdGVcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvYWRmLW5vLWNvbnRlbnQtdGVtcGxhdGU+XG5cbiAgICAgICAgICAgIDxhZGYtbWFpbi1tZW51LWRhdGF0YWJsZS10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LW1haW5NZW51VHJpZ2dlcj5cbiAgICAgICAgICAgICAgICAgICAgPGFkZi1kYXRhdGFibGUtY29sdW1uLXNlbGVjdG9yXG4gICAgICAgICAgICAgICAgICAgICAgICBbY29sdW1uc109XCJjb2x1bW5zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYWluTWVudVRyaWdnZXJdPVwibWFpbk1lbnVUcmlnZ2VyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChzdWJtaXRDb2x1bW5zVmlzaWJpbGl0eSk9XCJvbkNvbHVtbnNWaXNpYmlsaXR5Q2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgPC9hZGYtZGF0YXRhYmxlLWNvbHVtbi1zZWxlY3Rvcj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9hZGYtbWFpbi1tZW51LWRhdGF0YWJsZS10ZW1wbGF0ZT5cbiAgICAgICAgPC9hZGYtZGF0YXRhYmxlPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS10YXNrLWxpc3QtY2xvdWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3Byb2Nlc3Mtc2VydmljZXMtY2xvdWQvc3JjL2xpYi90YXNrL3Rhc2stbGlzdC9jb21wb25lbnRzL3NlcnZpY2UtdGFzay1saXN0LWNsb3VkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvdGFzay90YXNrLWxpc3QvY29tcG9uZW50cy9iYXNlLXRhc2stbGlzdC1jbG91ZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFOUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDOUUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDMUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9ELE9BQU8sRUFBbUMsbUNBQW1DLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwSCxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7OztBQUVoRCxNQUFNLFVBQVUsR0FBRyxxQ0FBcUMsQ0FBQztBQVF6RCxNQUFNLE9BQU8sNkJBQThCLFNBQVEsMEJBQTBCO0lBV3pFLFlBQ1ksMkJBQXdELEVB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LGFBQWE7WUFDOUMsU0FBUyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsU0FBUztZQUN0QyxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxXQUFXO1lBQzFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsbUJBQW1CO1lBQzFELG9CQUFvQixFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsb0JBQW9CO1lBQzVELHdCQUF3QixFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsd0JBQXdCO1lBQ3BFLGlCQUFpQixFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsaUJBQWlCO1lBQ3RELGVBQWUsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLGVBQWU7WUFDbEQsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsV0FBVztZQUMxQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxjQUFjO1lBQ2hELFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLFdBQVc7WUFDMUMsTUFBTSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsTUFBTTtTQUNFLENBQUM7UUFDdkMsT0FBTyxXQUFXLENBQUM7SUFDdkIsQ0FBQzs7MkhBM0VRLDZCQUE2QixtS0FnQjFCLG1DQUFtQzsrR0FoQnRDLDZCQUE2QixrSUNuQzFDLGdnR0EyREE7NEZEeEJhLDZCQUE2QjtrQkFOekMsU0FBUzsrQkFDSSw2QkFBNkIsaUJBR3hCLGlCQUFpQixDQUFDLElBQUk7OzBCQWtCaEMsTUFBTTsyQkFBQyxtQ0FBbUM7NENBZC9DLFdBQVc7c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgSW5wdXQsIEluamVjdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlLCBVc2VyUHJlZmVyZW5jZXNTZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IFNlcnZpY2VUYXNrUXVlcnlDbG91ZFJlcXVlc3RNb2RlbCB9IGZyb20gJy4uL21vZGVscy9zZXJ2aWNlLXRhc2stY2xvdWQubW9kZWwnO1xuaW1wb3J0IHsgQmFzZVRhc2tMaXN0Q2xvdWRDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UtdGFzay1saXN0LWNsb3VkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZXJ2aWNlVGFza0xpc3RDbG91ZFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9zZXJ2aWNlLXRhc2stbGlzdC1jbG91ZC5zZXJ2aWNlJztcbmltcG9ydCB7IFRhc2tDbG91ZFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90YXNrLWNsb3VkLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3ViamVjdCwgY29tYmluZUxhdGVzdCwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQcmVmZXJlbmNlQ2xvdWRTZXJ2aWNlSW50ZXJmYWNlLCBUQVNLX0xJU1RfUFJFRkVSRU5DRVNfU0VSVklDRV9UT0tFTiB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgbWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmNvbnN0IFBSRVNFVF9LRVkgPSAnYWRmLWNsb3VkLXNlcnZpY2UtdGFzay1saXN0LnByZXNldHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FkZi1jbG91ZC1zZXJ2aWNlLXRhc2stbGlzdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Jhc2UtdGFzay1saXN0LWNsb3VkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9iYXNlLXRhc2stbGlzdC1jbG91ZC5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgU2VydmljZVRhc2tMaXN0Q2xvdWRDb21wb25lbnQgZXh0ZW5kcyBCYXNlVGFza0xpc3RDbG91ZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgQElucHV0KClcbiAgICBxdWVyeVBhcmFtczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuXG4gICAgcHJpdmF0ZSBvbkRlc3Ryb3lTZXJ2aWNlVGFza0xpc3QkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIHByaXZhdGUgaXNSZWxvYWRpbmdTdWJqZWN0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIGlzTG9hZGluZyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLmlzTG9hZGluZ1ByZWZlcmVuY2VzJCwgdGhpcy5pc1JlbG9hZGluZ1N1YmplY3QkXSkucGlwZShcbiAgICAgICAgbWFwKChbaXNMb2FkaW5nUHJlZmVyZW5jZXMsIGlzUmVsb2FkaW5nXSkgPT4gaXNMb2FkaW5nUHJlZmVyZW5jZXMgfHwgaXNSZWxvYWRpbmcpXG4gICAgKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHNlcnZpY2VUYXNrTGlzdENsb3VkU2VydmljZTogU2VydmljZVRhc2tMaXN0Q2xvdWRTZXJ2aWNlLFxuICAgICAgICBhcHBDb25maWdTZXJ2aWNlOiBBcHBDb25maWdTZXJ2aWNlLFxuICAgICAgICB0YXNrQ2xvdWRTZXJ2aWNlOiBUYXNrQ2xvdWRTZXJ2aWNlLFxuICAgICAgICB1c2VyUHJlZmVyZW5jZXM6IFVzZXJQcmVmZXJlbmNlc1NlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoVEFTS19MSVNUX1BSRUZFUkVOQ0VTX1NFUlZJQ0VfVE9LRU4pIGNsb3VkUHJlZmVyZW5jZVNlcnZpY2U6IFByZWZlcmVuY2VDbG91ZFNlcnZpY2VJbnRlcmZhY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoYXBwQ29uZmlnU2VydmljZSwgdGFza0Nsb3VkU2VydmljZSwgdXNlclByZWZlcmVuY2VzLCBQUkVTRVRfS0VZLCBjbG91ZFByZWZlcmVuY2VTZXJ2aWNlKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5vbkRlc3Ryb3lTZXJ2aWNlVGFza0xpc3QkLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMub25EZXN0cm95U2VydmljZVRhc2tMaXN0JC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHJlbG9hZCgpIHtcbiAgICAgICAgdGhpcy5pc1JlbG9hZGluZ1N1YmplY3QkLm5leHQodHJ1ZSk7XG5cbiAgICAgICAgdGhpcy5yZXF1ZXN0Tm9kZSA9IHRoaXMuY3JlYXRlUmVxdWVzdE5vZGUoKTtcblxuICAgICAgICBpZiAodGhpcy5yZXF1ZXN0Tm9kZS5hcHBOYW1lIHx8IHRoaXMucmVxdWVzdE5vZGUuYXBwTmFtZSA9PT0gJycpIHtcbiAgICAgICAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuc2VydmljZVRhc2tMaXN0Q2xvdWRTZXJ2aWNlLmdldFNlcnZpY2VUYXNrQnlSZXF1ZXN0KHRoaXMucmVxdWVzdE5vZGUpLCB0aGlzLmlzQ29sdW1uU2NoZW1hQ3JlYXRlZCRdKVxuICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveVNlcnZpY2VUYXNrTGlzdCQpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgICAgIChbdGFza3NdKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJvd3MgPSB0YXNrcy5saXN0LmVudHJpZXM7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN1Y2Nlc3MuZW1pdCh0YXNrcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBhZ2luYXRpb24ubmV4dCh0YXNrcy5saXN0LnBhZ2luYXRpb24pO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc1JlbG9hZGluZ1N1YmplY3QkLm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZXJyb3IuZW1pdChlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzUmVsb2FkaW5nU3ViamVjdCQubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yb3dzID0gW107XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjcmVhdGVSZXF1ZXN0Tm9kZSgpOiBTZXJ2aWNlVGFza1F1ZXJ5Q2xvdWRSZXF1ZXN0TW9kZWwge1xuICAgICAgICBjb25zdCByZXF1ZXN0Tm9kZTogU2VydmljZVRhc2tRdWVyeUNsb3VkUmVxdWVzdE1vZGVsID0ge1xuICAgICAgICAgICAgYXBwTmFtZTogdGhpcy5hcHBOYW1lLFxuICAgICAgICAgICAgbWF4SXRlbXM6IHRoaXMuc2l6ZSxcbiAgICAgICAgICAgIHNraXBDb3VudDogdGhpcy5za2lwQ291bnQsXG4gICAgICAgICAgICBzb3J0aW5nOiB0aGlzLnNvcnRpbmcsXG4gICAgICAgICAgICBpZDogdGhpcy5xdWVyeVBhcmFtcz8uc2VydmljZVRhc2tJZCxcbiAgICAgICAgICAgIGVudmlyb25tZW50SWQ6IHRoaXMucXVlcnlQYXJhbXM/LmVudmlyb25tZW50SWQsXG4gICAgICAgICAgICBhY3Rpdml0eU5hbWU6IHRoaXMucXVlcnlQYXJhbXM/LmFjdGl2aXR5TmFtZSxcbiAgICAgICAgICAgIGFjdGl2aXR5VHlwZTogdGhpcy5xdWVyeVBhcmFtcz8uYWN0aXZpdHlUeXBlLFxuICAgICAgICAgICAgY29tcGxldGVkRGF0ZTogdGhpcy5xdWVyeVBhcmFtcz8uY29tcGxldGVkRGF0ZSxcbiAgICAgICAgICAgIGVsZW1lbnRJZDogdGhpcy5xdWVyeVBhcmFtcz8uZWxlbWVudElkLFxuICAgICAgICAgICAgZXhlY3V0aW9uSWQ6IHRoaXMucXVlcnlQYXJhbXM/LmV4ZWN1dGlvbklkLFxuICAgICAgICAgICAgcHJvY2Vzc0RlZmluaXRpb25JZDogdGhpcy5xdWVyeVBhcmFtcz8ucHJvY2Vzc0RlZmluaXRpb25JZCxcbiAgICAgICAgICAgIHByb2Nlc3NEZWZpbml0aW9uS2V5OiB0aGlzLnF1ZXJ5UGFyYW1zPy5wcm9jZXNzRGVmaW5pdGlvbktleSxcbiAgICAgICAgICAgIHByb2Nlc3NEZWZpbml0aW9uVmVyc2lvbjogdGhpcy5xdWVyeVBhcmFtcz8ucHJvY2Vzc0RlZmluaXRpb25WZXJzaW9uLFxuICAgICAgICAgICAgcHJvY2Vzc0luc3RhbmNlSWQ6IHRoaXMucXVlcnlQYXJhbXM/LnByb2Nlc3NJbnN0YW5jZUlkLFxuICAgICAgICAgICAgc2VydmljZUZ1bGxOYW1lOiB0aGlzLnF1ZXJ5UGFyYW1zPy5zZXJ2aWNlRnVsbE5hbWUsXG4gICAgICAgICAgICBzZXJ2aWNlTmFtZTogdGhpcy5xdWVyeVBhcmFtcz8uc2VydmljZU5hbWUsXG4gICAgICAgICAgICBzZXJ2aWNlVmVyc2lvbjogdGhpcy5xdWVyeVBhcmFtcz8uc2VydmljZVZlcnNpb24sXG4gICAgICAgICAgICBzdGFydGVkRGF0ZTogdGhpcy5xdWVyeVBhcmFtcz8uc3RhcnRlZERhdGUsXG4gICAgICAgICAgICBzdGF0dXM6IHRoaXMucXVlcnlQYXJhbXM/LnN0YXR1c1xuICAgICAgICB9IGFzIFNlcnZpY2VUYXNrUXVlcnlDbG91ZFJlcXVlc3RNb2RlbDtcbiAgICAgICAgcmV0dXJuIHJlcXVlc3ROb2RlO1xuICAgIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCIhcm93c1wiPnt7ICdBREZfQ0xPVURfVEFTS19MSVNULkZJTFRFUlMuTUVTU0FHRVMuTk9ORScgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJyb3dzXCI+XG4gICAgICAgIDxhZGYtZGF0YXRhYmxlXG4gICAgICAgICAgICBbcm93c109XCJyb3dzXCJcbiAgICAgICAgICAgIFtjb2x1bW5zXT1cImNvbHVtbnNcIlxuICAgICAgICAgICAgW2RhdGFdPVwiZGF0YUFkYXB0ZXJcIlxuICAgICAgICAgICAgW2xvYWRpbmddPVwiaXNMb2FkaW5nJCB8IGFzeW5jXCJcbiAgICAgICAgICAgIFtzb3J0aW5nXT1cImZvcm1hdHRlZFNvcnRpbmdcIlxuICAgICAgICAgICAgW211bHRpc2VsZWN0XT1cIm11bHRpc2VsZWN0XCJcbiAgICAgICAgICAgIFtzZWxlY3Rpb25Nb2RlXT1cInNlbGVjdGlvbk1vZGVcIlxuICAgICAgICAgICAgW3N0aWNreUhlYWRlcl09XCJzdGlja3lIZWFkZXJcIlxuICAgICAgICAgICAgW2FjdGlvbnNdPVwic2hvd0FjdGlvbnNcIlxuICAgICAgICAgICAgW2FjdGlvbnNQb3NpdGlvbl09XCJhY3Rpb25zUG9zaXRpb25cIlxuICAgICAgICAgICAgW2NvbnRleHRNZW51XT1cInNob3dDb250ZXh0TWVudVwiXG4gICAgICAgICAgICBbcmVzb2x2ZXJGbl09XCJib3VuZFJlcGxhY2VQcmlvcml0eVZhbHVlc1wiXG4gICAgICAgICAgICBbc2hvd01haW5EYXRhdGFibGVBY3Rpb25zXT1cInNob3dNYWluRGF0YXRhYmxlQWN0aW9uc1wiXG4gICAgICAgICAgICBbaXNSZXNpemluZ0VuYWJsZWRdPVwiaXNSZXNpemluZ0VuYWJsZWRcIlxuICAgICAgICAgICAgKHNob3dSb3dBY3Rpb25zTWVudSk9XCJvblNob3dSb3dBY3Rpb25zTWVudSgkZXZlbnQpXCJcbiAgICAgICAgICAgIChzaG93Um93Q29udGV4dE1lbnUpPVwib25TaG93Um93Q29udGV4dE1lbnUoJGV2ZW50KVwiXG4gICAgICAgICAgICAoZXhlY3V0ZVJvd0FjdGlvbik9XCJvbkV4ZWN1dGVSb3dBY3Rpb24oJGV2ZW50KVwiXG4gICAgICAgICAgICAocm93LXNlbGVjdCk9XCJvblJvd1NlbGVjdCgkYW55KCRldmVudCkpXCJcbiAgICAgICAgICAgIChyb3ctdW5zZWxlY3QpPVwib25Sb3dVbnNlbGVjdCgkYW55KCRldmVudCkpXCJcbiAgICAgICAgICAgIChyb3dDbGljayk9XCJvblJvd0NsaWNrKCRhbnkoJGV2ZW50KSlcIlxuICAgICAgICAgICAgKHJvdy1rZXl1cCk9XCJvblJvd0tleVVwKCRhbnkoJGV2ZW50KSlcIlxuICAgICAgICAgICAgKHNvcnRpbmctY2hhbmdlZCk9XCJvblNvcnRpbmdDaGFuZ2VkKCRhbnkoJGV2ZW50KSlcIlxuICAgICAgICAgICAgKGNvbHVtbk9yZGVyQ2hhbmdlZCk9XCJvbkNvbHVtbk9yZGVyQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgIChjb2x1bW5zV2lkdGhDaGFuZ2VkKT1cIm9uQ29sdW1uc1dpZHRoQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDxhZGYtbG9hZGluZy1jb250ZW50LXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSBBZGQgeW91ciBjdXN0b20gbG9hZGluZyB0ZW1wbGF0ZSBoZXJlIC0tPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LXByb2dyZXNzLXNwaW5uZXIgY2xhc3M9XCJhZGYtY2xvdWQtdGFzay1saXN0LWxvYWRpbmctbWFyZ2luXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCIncHJpbWFyeSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwiJ2luZGV0ZXJtaW5hdGUnXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LXByb2dyZXNzLXNwaW5uZXI+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvYWRmLWxvYWRpbmctY29udGVudC10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDxhZGYtbm8tY29udGVudC10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDxhZGYtZW1wdHktY29udGVudCAqbmdJZj1cIiFlbXB0eUN1c3RvbUNvbnRlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cImFzc2lnbm1lbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidBREZfQ0xPVURfVEFTS19MSVNULkxJU1QuTUVTU0FHRVMuVElUTEUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdWJ0aXRsZV09XCInQURGX0NMT1VEX1RBU0tfTElTVC5MSVNULk1FU1NBR0VTLlNVQlRJVExFJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8L2FkZi1lbXB0eS1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJhZGYtY3VzdG9tLWVtcHR5LWNvbnRlbnQtdGVtcGxhdGVcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvYWRmLW5vLWNvbnRlbnQtdGVtcGxhdGU+XG5cbiAgICAgICAgICAgIDxhZGYtbWFpbi1tZW51LWRhdGF0YWJsZS10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LW1haW5NZW51VHJpZ2dlcj5cbiAgICAgICAgICAgICAgICAgICAgPGFkZi1kYXRhdGFibGUtY29sdW1uLXNlbGVjdG9yXG4gICAgICAgICAgICAgICAgICAgICAgICBbY29sdW1uc109XCJjb2x1bW5zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYWluTWVudVRyaWdnZXJdPVwibWFpbk1lbnVUcmlnZ2VyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChzdWJtaXRDb2x1bW5zVmlzaWJpbGl0eSk9XCJvbkNvbHVtbnNWaXNpYmlsaXR5Q2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgPC9hZGYtZGF0YXRhYmxlLWNvbHVtbi1zZWxlY3Rvcj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9hZGYtbWFpbi1tZW51LWRhdGF0YWJsZS10ZW1wbGF0ZT5cbiAgICAgICAgPC9hZGYtZGF0YXRhYmxlPlxuPC9uZy1jb250YWluZXI+XG4iXX0=