vcomply-workflow-engine 2.9.44 → 2.9.45

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.
@@ -10,6 +10,8 @@ export class MoreOptionComponent {
10
10
  this.isProgramSelected = false;
11
11
  this.featureflagrole = false;
12
12
  this.programSimplifyFlag = false;
13
+ this.ff_rc_listing = false;
14
+ this.permissionText = 'Permissions';
13
15
  this.placeholderTexts = {
14
16
  AAR: 'Select what additional information you would like to include in the risk.',
15
17
  CAP: 'Select what additional information you would like to include in the policy.',
@@ -510,18 +512,20 @@ export class MoreOptionComponent {
510
512
  ngOnInit() {
511
513
  var _a, _b, _c, _d;
512
514
  this.featureflagrole = (_a = this.allowedFeature) === null || _a === void 0 ? void 0 : _a.isFeatureEnabled('ff_role_improvements');
513
- this.moreOptionsList.CAPR[0].name = this.featureflagrole ? 'Permission Group(S)' : 'Role(S)';
514
- this.moreOptionsList.CAPR[0].tooltipTitle = this.featureflagrole ? 'Permission Group(s)' : 'Role(s)';
515
+ this.ff_rc_listing = this.allowedFeature.isFeatureEnabled('ff_rc_listing');
516
+ this.ff_rc_listing ? this.permissionText = 'Permissions' : this.permissionText = 'Permission Group(S)';
517
+ this.moreOptionsList.CAPR[0].name = this.permissionText;
518
+ this.moreOptionsList.CAPR[0].tooltipTitle = this.permissionText;
515
519
  this.moreOptionsList.CAPR[1].tooltipMessage = this.featureflagrole ? `Owners are responsible for managing a Program. Only Owners can make changes to a Program and the responsibilities that are linked with the Program.<br>
516
520
  The <b>Key Power User </b> and all <b>Power Users</b> will be selected as the Owners of a Program by default.
517
521
  ` : `Owners are responsible for managing a Program. Only Owners can make changes to a Program and the responsibilities that are linked with the Program.<br>
518
522
  The <b>Key Admin</b> and all <b>Admin</b> users will be selected as the Owners of a Program by default.
519
523
  `;
520
524
  if ((_b = this.allowedFeature) === null || _b === void 0 ? void 0 : _b.isFeatureEnabled('ff_program_simplify')) {
521
- this.moreOptionsList.CAPR[0].tooltipMessage = this.featureflagrole ? 'Permission Group(s) let you specify the users that can be “Owners” of a Program.' : 'Role(s) let you specify the users that can be “Owners” of a Program.';
525
+ this.moreOptionsList.CAPR[0].tooltipMessage = `${this.permissionText} let you specify the users that can be “Owners” of a Program.`;
522
526
  }
523
527
  else {
524
- this.moreOptionsList.CAPR[0].tooltipMessage = this.featureflagrole ? 'Permission Group(s) let you specify the users that can be “Owners” and “Approvers” of a Program.' : 'Role(s) let you specify the users that can be “Owners” and “Approvers” of a Program.';
528
+ this.moreOptionsList.CAPR[0].tooltipMessage = `${this.permissionText} let you specify the users that can be “Owners” and “Approvers” of a Program.`;
525
529
  }
526
530
  const index = this.moreOptionsList.CAR.findIndex((ele) => ele.code === 'CHECKPOINTS');
527
531
  this.moreOptionsList.CAR[index].hidden = this.isEditMode === false ? true : false;
@@ -643,4 +647,4 @@ MoreOptionComponent.propDecorators = {
643
647
  allowedFeature: [{ type: Input }],
644
648
  getOrganizationDetails: [{ type: Input, args: ['orgDetailsData',] }]
645
649
  };
646
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9yZS1vcHRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvbW9yZS1vcHRpb24vbW9yZS1vcHRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQU96RyxNQUFNLE9BQU8sbUJBQW1CO0lBb2U5Qjs7UUFuZVMsb0JBQWUsR0FBRyxFQUFFLENBQUM7UUFDckIsZUFBVSxHQUFHLEVBQUUsQ0FBQTtRQUNmLGVBQVUsR0FBRyxLQUFLLENBQUE7UUFDakIsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3JDLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQVNuQyxvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUNqQyx3QkFBbUIsR0FBWSxLQUFLLENBQUM7UUFFckMscUJBQWdCLEdBQVE7WUFDdkIsR0FBRyxFQUFFLDJFQUEyRTtZQUNoRixHQUFHLEVBQUUsNkVBQTZFO1lBQ2xGLEdBQUcsRUFBRSxxRkFBcUY7WUFDMUYsR0FBRyxFQUFFLDZFQUE2RTtZQUNsRixHQUFHLEVBQUUsNEVBQTRFO1lBQ2pGLElBQUksRUFBQyw0RUFBNEU7U0FDakYsQ0FBQztRQUVGLGtCQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFBLFlBQVksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLG1DQUFJLElBQUksQ0FBQyxDQUFDO1FBQzFFLG9CQUFlLEdBQVE7WUFDckIsR0FBRyxFQUFFO2dCQUNIO29CQUNFLFFBQVEsRUFBRSxrRkFBa0Y7b0JBQzVGLElBQUksRUFBRSxlQUFlO29CQUNyQixZQUFZLEVBQUUsZUFBZTtvQkFDN0IsY0FBYyxFQUFFLG1G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Q04sS0FBSztnQ0FDTCxLQUFLOzZCQUNMLEtBQUs7cUNBRUwsS0FBSyxTQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtbW9yZS1vcHRpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tb3JlLW9wdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbW9yZS1vcHRpb24uY29tcG9uZW50Lmxlc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTW9yZU9wdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSBjdXJyZW50V29ya2Zsb3cgPSAnJztcclxuICBASW5wdXQoKSBvcGVuZWRGcm9tID0gJydcclxuICBASW5wdXQoKSBpc0VkaXRNb2RlID0gZmFsc2VcclxuICBAT3V0cHV0KCkgc2VsZWN0ZWRPcHRpb24gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQElucHV0KCkgaXNSQ1NlbGVjdGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaXNQcm9ncmFtU2VsZWN0ZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBhbGxvd2VkRmVhdHVyZTogYW55O1xyXG4gIG9yZ0RldGFpbHM6IGFueTtcclxuICBASW5wdXQoJ29yZ0RldGFpbHNEYXRhJykgc2V0IGdldE9yZ2FuaXphdGlvbkRldGFpbHMoZGV0YWlsczogYW55KSB7XHJcbiAgICB0aGlzLm9yZ0RldGFpbHMgPSBkZXRhaWxzID8/ICd7fSc7XHJcbiAgICBpZihkZXRhaWxzICYmIE9iamVjdC5rZXlzKGRldGFpbHMpPy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy51cGRhdGVQcm9ncmFtTW9yZU9wdGlvbnMoKTtcclxuICAgIH1cclxuICB9O1xyXG4gIGZlYXR1cmVmbGFncm9sZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByb2dyYW1TaW1wbGlmeUZsYWc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcGxhY2Vob2xkZXJUZXh0czogYW55ID0ge1xyXG4gICBBQVI6ICdTZWxlY3Qgd2hhdCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHlvdSB3b3VsZCBsaWtlIHRvIGluY2x1ZGUgaW4gdGhlIHJpc2suJyxcclxuICAgQ0FQOiAnU2VsZWN0IHdoYXQgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiB5b3Ugd291bGQgbGlrZSB0byBpbmNsdWRlIGluIHRoZSBwb2xpY3kuJyxcclxuICAgQ0FSOiAnU2VsZWN0IHdoYXQgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiB5b3Ugd291bGQgbGlrZSB0byBpbmNsdWRlIGluIHRoZSByZXNwb25zaWJpbGl0eS4nLFxyXG4gICBDQVM6ICdTZWxlY3Qgd2hhdCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHlvdSB3b3VsZCBsaWtlIHRvIGluY2x1ZGUgaW4gdGhlIHN1cnZleS4nLFxyXG4gICBMQUk6ICdTZWxlY3Qgd2hhdCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHlvdSB3b3VsZCBsaWtlIHRvIGluY2x1ZGUgaW4gdGhlIGlzc3VlLicsXHJcbiAgIENBUFI6J1NlbGVjdCB3aGF0IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24geW91IHdvdWxkIGxpa2UgdG8gaW5jbHVkZSBpbiB0aGUgc2NvcGUuJ1xyXG4gIH07XHJcblxyXG4gIGJ1c2luZXNzQ3ljbGUgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYnVzaW5lc3NDeWNsZVwiKSA/PyAne30nKTtcclxuICBtb3JlT3B0aW9uc0xpc3Q6IGFueSA9IHtcclxuICAgIEFBUjogW1xyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvb3ZlcnNpZ2h0LnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ1Jpc2sgT3ZlcnNlZXInLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ1Jpc2sgT3ZlcnNlZXInLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiAnT3ZlcnNlZXIgZW5hYmxlcyB5b3UgdG8gZGVzaWduYXRlIHBlcnNvbnMgdG8gb3ZlcnNlZSB0aGUgcmlzayBtYW5hZ2VtZW50IHByb2Nlc3MuJyxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICAgIGNvZGU6ICdPVkVSU0VFUidcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3ByaW9yaXR5LnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ1Jpc2sgTWl0aWdhdGlvbiBQcmlvcml0eScsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnUmlzayBNaXRpZ2F0aW9uIFByaW9yaXR5JyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogJ1RoaXMgc2V0cyB0aGUgcHJpb3JpdHkgbGV2ZWwgZm9yIHRoZSBtaXRpZ2F0aW9uIG9mIGVhY2ggcmlzay4nLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICAgICAgY29kZTogJ01JVElHQVRJT04nXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9vYmplY3RpdmVzLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ1JlY29tbWVuZGVkIE1pdGlnYXRpb24gUGxhbnMnLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ1JlY29tbWVuZGVkIE1pdGlnYXRpb24gUGxhbnMnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiAnU3BlY2lmeSB0aGUgbWl0aWdhdGlvbiBwbGFuIHRoYXQgY2FuIGJlIHVuZGVydGFrZW4gdG8gbWl0aWdhdGUgdGhlIHJpc2suJyxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICAgIGNvZGU6ICdNSVRJR0FUSU9OX1BMQU4nXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9vdmVyc2lnaHQuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnUmlzayBMYWJlbCcsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnUmlzayBMYWJlbCcsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6ICdUaGlzIG9wdGlvbiBsZXRzIHlvdSBzcGVjaWZ5IGlmIHRoaXMgaXMgYSBuZXdseSBpZGVudGlmaWVkIHJpc2sgb3IgaXQgaXMgYSByYXBpZGx5IGNoYW5naW5nIHJpc2suJyxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICAgIGNvZGU6ICdSSVNLX0xBQkVMJ1xyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICAgIENBUDogW1xyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvcmVzcG9uc2liaWxpdHktY2VudGVyLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ1Jlc3BvbnNpYmlsaXR5IENlbnRlcicsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnUmVzcG9uc2liaWxpdHkgQ2VudGVyJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogYFJlc3BvbnNpYmlsaXR5IENlbnRlcnMgcmVwcmVzZW50IHlvdXIgb3JnYW5pemF0aW9uYWwgYW5kXHJcbiAgICAgICAgIG9wZXJhdGlvbmFsIGluZnJhc3RydWN0dXJlLiBZb3UgY2FuIGF0dHJpYnV0ZSBhIHBvbGljeSB0byBvbmUgb3IgbW9yZSBSZXNwb25zaWJpbGl0eSBDZW50ZXJzLlxyXG4gICAgICAgICAgV2hlcmUgeW91IGF0dHJpYnV0ZSBhIHBvbGljeSB0byBhIFJlc3BvbnNpYmlsaXR5IENlbnRlciwgdGhhdCBwb2xpY3kgd2lsbCBiZSBzaG93biBhcyBhIHBvbGljeVxyXG4gICAgICAgICAgIHRoYXQgaXMgcmVxdWlyZWQgdG8gYmUgYXR0ZXN0ZWQgYnkgYWxsIHRoZSBwZXJzb25zIGFzc29jaWF0ZWQgd2l0aCB0aGF0IFJlc3BvbnNpYmlsaXR5IENlbnRlci5cclxuICAgICAgICAgICAgVGhlIHBlcmZvcm1hbmNlIG9mIGEgcG9saWN5IGFzc2lnbmVkIHRvIGEgUmVzcG9uc2liaWxpdHkgQ2VudGVyIHdpbGwgYWxzbyBjb250cmlidXRlIHRvIHRoZVxyXG4gICAgICAgICAgICBvdmVyYWxsIHBlcmZvcm1hbmNlIG9mIHRoZSBSZXNwb25zaWJpbGl0eSBDZW50ZXIuYCxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICAgIGNvZGU6ICdSRVNQT05TSUJJTElUWV9DRU5URVInXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9yZXZpZXdlci5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdSZXZpZXdlcicsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnUmV2aWV3ZXInLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiBgVGhpcyBvcHRpb25zIGxldHMgeW91IHNwZWNpZnkgYSByZXZpZXcgbGlmZWN5Y2xlIGZvciB0aGUgcG9saWN5IGRvY3VtZW50LlxyXG4gICAgICAgICBZb3UgY2FuIHNlbGVjdCBhIHJldmlld2VyIGFuZCBkZXRlcm1pbmUgaG93IG9mdGVuIHRoZSBwb2xpY3kgbmVlZHMgdG8gYmUgcmV2aWV3ZWQuYCxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICAgIGNvZGU6ICdSRVZJRVdFUidcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2NoZWNrcG9pbnRzLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ0NoZWNrcG9pbnRzJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdDaGVja3BvaW50cycsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6IGBDaGVja3BvaW50cyBlbmFibGUgeW91IHRvIGNvbmZpcm0gYSBwZXJzb27igJlzIHVuZGVyc3RhbmRpbmcgb2YgdGhlIHBvbGljeSBkb2N1bWVudC5cclxuICAgICAgICAgWW91IGNhbiBjcmVhdGUgcXVlc3Rpb25zIGJhc2VkIG9uIHRoZSBwb2xpY3kgY29udGVudCBhbmQgcmVxdWlyZSB0aGF0IHRoZSByZWFkZXIgb2YgdGhlIHBvbGljeVxyXG4gICAgICAgICBhbnN3ZXJzIHRoZXNlIHF1ZXN0aW9ucyBjb3JyZWN0bHkgYmVmb3JlIHByb2NlZWRpbmcgdG8gY29tcGxldGUgdGhlIGF0dGVzdGF0aW9uLlxyXG4gICAgICAgIGAsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnQ0hFQ0tQT0lOVFMnXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9vdmVyc2lnaHQuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnT3ZlcnNlZXInLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ092ZXJzZWVyJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogYE92ZXJzZWVycyBhcmUgcGVyc29ucyB3aG8gb3ZlcnNlZSB0aGUgcG9saWN5LlxyXG4gICAgICAgICBUaGVzZSBwZXJzb25zIHdpbGwgcmVjZWl2ZSBlbWFpbCBub3RpZmljYXRpb25zIGFib3V0IHRoZSBwZXJmb3JtYW5jZSBvZiB0aGUgcG9saWN5LlxyXG4gICAgICAgICBBcyB0aGUgcGVyc29uIGNyZWF0aW5nIHRoZSBwb2xpY3ksIHlvdSB3aWxsIGF1dG9tYXRpY2FsbHkgcmVjZWl2ZSBlbWFpbCBub3RpZmljYXRpb25zIGFib3V0IHRoZSBwZXJmb3JtYW5jZSBvZiB0aGUgcG9saWN5LlxyXG4gICAgICAgIGAsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnT1ZFUlNFRVInXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9mb3JtYXQtZXZpZGVuY2Uuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnQXNzb2NpYXRlZCBEb2N1bWVudHMnLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ0Fzc29jaWF0ZWQgRG9jdW1lbnRzJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogYEFzc29jaWF0ZWQgZG9jdW1lbnRzIGFyZSBmaWxlcyB0aGF0IG1pZ2h0IGJlIHJlbGF0ZWQgdG8gdGhlIHBvbGljeS4gVGhlc2UgY291bGQgYmUgZG9jdW1lbnRzIHdoaWNoIGFyZSByZWxhdGVkXHJcbiAgICAgICAgIHRvIHRoZSBwb2xpY3kgb3IgYXJlIGEgc3Vic2V0IG9mIHRoZSBwb2xpY3kgdGhhdCBpcyBiZWluZyBjcmVhdGVkLmAsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnQVNTT0NJQVRFRF9ET0NVTUVOVFMnXHJcbiAgICAgIH1cclxuICAgIF0sXHJcbiAgICBDQVI6IFtcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L29iamVjdGl2ZXMuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnT2JqZWN0aXZlJyxcclxuICAgICAgICBjb2RlOiAnT0JKRUNUSVZFJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdPYmplY3RpdmUnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiAnVGhlIG9iamVjdGl2ZSBhbGxvd3MgeW91IHRvIHNwZWNpZnkgYW4gb2JqZWN0aXZlIGZvciB0aGUgcmVzcG9uc2liaWxpdHkuJyxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICB9LFxyXG5cclxuICAgICAgLy8ge1xyXG4gICAgICAvLyAgIGltYWdlVXJsOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2NhdGVnb3J5LnN2ZycsXHJcbiAgICAgIC8vICAgbmFtZTogJ1Byb2dyYW0nLFxyXG4gICAgICAvLyAgIGNvZGU6ICdDQVRFR09SWScsXHJcbiAgICAgIC8vICAgdG9vbHRpcFRpdGxlOiAnUHJvZ3JhbScsXHJcbiAgICAgIC8vICAgdG9vbHRpcE1lc3NhZ2U6IGBQcm9ncmFtcyBlbmFibGUgeW91IHRvIGdyb3VwIHNpbWlsYXIgcmVzcG9uc2liaWxpdGllcyB0b2dldGhlci5cclxuICAgICAgLy8gICAgIEFsbG9jYXRpbmcgYSByZXNwb25zaWJpbGl0eSB0byBhIFByb2dyYW0gYWxsb3dzIHlvdSB0byB2aWV3IGEgZ3JvdXAgb3Igc2ltaWxhciByZXNwb25zaWJpbGl0aWVzIGF0IG9uY2UuXHJcbiAgICAgIC8vICAgICBJdCBhbHNvIGFsbG93cyB5b3UgdG8gdmlldyB0aGUgcGVyZm9ybWFuY2Ugb2YgdGhvc2UgY29sbGVjdGl2ZSByZXNwb25zaWJpbGl0aWVzLmAsXHJcbiAgICAgIC8vICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgIC8vICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgLy8gfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3Jlc3BvbnNpYmlsaXR5LWNlbnRlci5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdSZXNwb25zaWJpbGl0eSBDZW50ZXInLFxyXG4gICAgICAgIGNvZGU6ICdSQycsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnUmVzcG9uc2liaWxpdHkgQ2VudGVyJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogYFJlc3BvbnNpYmlsaXR5IENlbnRlcnMgcmVwcmVzZW50IHlvdXIgb3JnYW5pemF0aW9uYWwgYW5kIG9wZXJhdGlvbmFsIGluZnJhc3RydWN0dXJlLjxicj5cclxuICAgICAgICAgIFlvdSBjYW4gYXNzaWduIGEgcmVzcG9uc2liaWxpdHkgdG8gb25lIG9yIG1vcmUgUmVzcG9uc2liaWxpdHkgQ2VudGVycy4gV2hlcmUgeW91IGFzc2lnbiBhIHJlc3BvbnNpYmlsaXR5IHRvIGEgUmVzcG9uc2liaWxpdHkgQ2VudGVyLFxyXG4gICAgICAgICAgdGhhdCByZXNwb25zaWJpbGl0eSB3aWxsIGJlIHNob3duIGFzIGEgcmVzcG9uc2liaWxpdHkgdGhhdCBpcyByZXF1aXJlZCB0byBiZSBjb21wbGV0ZWQgYnkgdGhlIFJlc3BvbnNpYmlsaXR5IENlbnRlci5cclxuICAgICAgICAgIFRoZSBwZXJmb3JtYW5jZSBvZiBhIHJlc3BvbnNpYmlsaXR5IGFzc2lnbmVkIHRvIGEgUmVzcG9uc2liaWxpdHkgQ2VudGVyIHdpbGwgYWxzbyBjb250cmlidXRlIHRvIHRoZSBvdmVyYWxsIHBlcmZvcm1hbmNlIG9mIHRoZSBSZXNwb25zaWJpbGl0eSBDZW50ZXIuYCxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvY2F0ZWdvcnkuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnUHJvZ3JhbScsXHJcbiAgICAgICAgY29kZTogJ1BST0dSQU0nLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ1Byb2dyYW0nLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiBgUHJvZ3JhbXMgZW5hYmxlIHlvdSB0byBncm91cCBzaW1pbGFyIHJlc3BvbnNpYmlsaXRpZXMgdG9nZXRoZXIuXHJcbiAgICAgICAgICBBbGxvY2F0aW5nIGEgcmVzcG9uc2liaWxpdHkgdG8gYSBQcm9ncmFtIGFsbG93cyB5b3UgdG8gdmlldyBhIGdyb3VwIG9yIHNpbWlsYXIgcmVzcG9uc2liaWxpdGllcyBhdCBvbmNlLlxyXG4gICAgICAgICAgSXQgYWxzbyBhbGxvd3MgeW91IHRvIHZpZXcgdGhlIHBlcmZvcm1hbmNlIG9mIHRob3NlIGNvbGxlY3RpdmUgcmVzcG9uc2liaWxpdGllcy5gLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9mb3JtYXQtZXZpZGVuY2Uuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnRm9ybWF0ICYgRXZpZGVuY2UnLFxyXG4gICAgICAgIGNvZGU6ICdGT1JNQVRFX0VWSURFTkNFJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICcgRm9ybWF0ICYgRXZpZGVuY2UnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiAnWW91IGNhbiB1cGxvYWQgYSBmb3JtYXQgZm9yIHRoaXMgcmVzcG9uc2liaWxpdHkgYW5kIHlvdSBjYW4gYWxzbyByZXF1aXJlIGV2aWRlbmNlIG9mIGNvbXBsZXRpb24gb2YgdGhlIHJlc3BvbnNpYmlsaXR5IHRvIGJlIHByb3ZpZGVkLicsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2Fzc2Vzc21lbnRzLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ0Fzc2Vzc21lbnRzJyxcclxuICAgICAgICBjb2RlOiAnQVNTRVNTTUVOVCcsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnIEFzc2Vzc21lbnRzJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogJ0Fzc2Vzc21lbnRzIGFsbG93IHlvdSB0byBhc3NvY2lhdGUgb3V0Y29tZSBiYXNlZC1xdWVzdGlvbm5haXJlcyBvciBzZWxmLWFzc2Vzc21lbnQgcXVlc3Rpb25uYWlyZXMgd2l0aCBhIHJlc3BvbnNpYmlsaXR5LiBUaGVzZSBuZWVkIHRvIGJlIGNvbXBsZXRlZCBieSB0aGUgYXNzaWduZWUgYXMgYSBwYXJ0IG9mIGNvbXBsZXRpbmcgdGhlIHJlc3BvbnNpYmlsaXR5LicsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBpc0Rpc2FibGVkOiBmYWxzZSxcclxuICAgICAgICBkaXNhYmxlZE1lc3NhZ2U6ICdBbiBhc3Nlc3NtZW50IGNhbiBiZSBsaW5rZWQgd2l0aCBhIHJlc3BvbnNpYmlsaXR5IG9ubHkgYWZ0ZXIgcmVtb3ZpbmcgdGhlIGFzc29jaWF0ZWQgY2hlY2twb2ludHMuJ1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvY2hlY2twb2ludHMuc3ZnJyxcclxuICAgICAgLy8gIG5hbWU6ICdDaGVja3BvaW50cyA8c3BhbiAqbmdJZj1cImZhbHNlXCIgY2xhc3M9XCJjaGVja3BvaW50LXZlcnNpb25cIj5WMi4wPC9zcGFuPiA8aSBjbGFzcz1cImljb25zIGRlcHJlY2lhdGlvbi1pY29uIHZ4LWZzLTE2IHZ4LW1sLTJcIiBhcHBUb29sdGlwPVwiVGhpcyBpcyBhbiBvdXQtb2YtZGF0ZSB2ZXJzaW9uIG9mIHRoZSBDaGVja3BvaW50cyBmZWF0dXJlLiBUbyBhZGQgY2hlY2twb2ludHMgdGhhdCBhcmUgb25seSByZWxldmFudCB0byB0aGlzIHJlc3BvbnNpYmlsaXR5IHlvdSBjYW4gdXNlIHRoZSBuZXcgQ2hlY2twb2ludHMgZmVhdHVyZS4gQWx0ZXJuYXRpdmVseSwgeW91IGNhbiB1c2UgYW4gZXhpc3RpbmcgcXVlc3Rpb25uYWlyZSB0ZW1wbGF0ZSB1c2luZyB0aGUgQXNzZXNzbWVudHMgZmVhdHVyZS5cIiBwbGFjZW1lbnQ9XCJib3R0b21cIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+JiN4ZTkzMDs8L2k+JyxcclxuICAgICAgICBuYW1lOiAnQ2hlY2twb2ludHMgPGkgY2xhc3M9XCJpY29ucyBkZXByZWNpYXRpb24taWNvbiB2eC1mcy0xNiB2eC1tbC0yXCIgYXBwVG9vbHRpcD1cIlRoaXMgaXMgYW4gb3V0LW9mLWRhdGUgdmVyc2lvbiBvZiB0aGUgQ2hlY2twb2ludHMgZmVhdHVyZS4gVG8gYWRkIGNoZWNrcG9pbnRzIHRoYXQgYXJlIG9ubHkgcmVsZXZhbnQgdG8gdGhpcyByZXNwb25zaWJpbGl0eSB5b3UgY2FuIHVzZSB0aGUgbmV3IENoZWNrcG9pbnRzIGZlYXR1cmUuIEFsdGVybmF0aXZlbHksIHlvdSBjYW4gdXNlIGFuIGV4aXN0aW5nIHF1ZXN0aW9ubmFpcmUgdGVtcGxhdGUgdXNpbmcgdGhlIEFzc2Vzc21lbnRzIGZlYXR1cmUuXCIgcGxhY2VtZW50PVwiYm90dG9tXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiPiYjeGU5MzA7PC9pPicsXHJcbiAgICAgICAgY29kZTogJ0NIRUNLUE9JTlRTJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdDaGVja3BvaW50cycsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6ICdUaGlzIGlzIGFuIG91dC1vZi1kYXRlIHZlcnNpb24gb2YgdGhlIENoZWNrcG9pbnRzIGZlYXR1cmUuIFRvIGFkZCBjaGVja3BvaW50cyB0aGF0IGFyZSBvbmx5IHJlbGV2YW50IHRvIHRoaXMgcmVzcG9uc2liaWxpdHkgeW91IGNhbiB1c2UgdGhlIG5ldyBDaGVja3BvaW50cyBmZWF0dXJlLiBBbHRlcm5hdGl2ZWx5LCB5b3UgY2FuIHVzZSBhbiBleGlzdGluZyBxdWVzdGlvbm5haXJlIHRlbXBsYXRlIHVzaW5nIHRoZSBBc3Nlc3NtZW50cyBmZWF0dXJlLicsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBpc0Rpc2FibGVkOiBmYWxzZSxcclxuICAgICAgICBkaXNhYmxlZE1lc3NhZ2U6ICdUaGUgY2hlY2twb2ludHMgZmVhdHVyZSBpcyByZXBsYWNlZCB3aXRoIHRoZSBuZXcgJiBlbmhhbmNlZCBhc3Nlc3NtZW50IGZ1bmN0aW9uYWxpdHkuIFNlbGVjdCB0aGUgPHN0cm9uZz5Bc3Nlc3NtZW50czwvc3Ryb25nPiBvcHRpb24gYmVsb3cgdG8gY3JlYXRlIGludGVyYWN0aXZlIG91dGNvbWUtYmFzZWQgb3Igc2VsZi1hc3Nlc3NtZW50IHF1ZXN0aW9ubmFpcmVzLidcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2NoZWNrcG9pbnRzLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ0NoZWNrcG9pbnRzJyxcclxuICAgICAgICBjb2RlOiAnQ0hFQ0tQT0lOVFNfTkVXJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdDaGVja3BvaW50cycsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6ICdDaGVja3BvaW50cyBhbGxvdyB5b3UgdG8gc3BlY2lmeSBtdWx0aXBsZSBzdGVwcyBmb3IgYSBzcGVjaWZpYyByZXNwb25zaWJpbGl0eSB3aGljaCBuZWVkIHRvIGJlIGNvbXBsZXRlZCBhcyBwYXJ0IG9mIGNvbXBsZXRpbmcgdGhlIHJlc3BvbnNpYmlsaXR5LiBPZnRlbiBjaGVja3BvaW50cyBhcmUgdXNlZCB0byByZXBsYWNlIGluc3RydWN0aW9uIG1hbnVhbHMuJyxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICAgIGlzRGlzYWJsZWQ6IGZhbHNlLFxyXG4gICAgICAgIGRpc2FibGVkTWVzc2FnZTogJ05ldyBDaGVja3BvaW50cyBjYW4gYmUgbGlua2VkIHdpdGggYSByZXNwb25zaWJpbGl0eSBvbmx5IGFmdGVyIHJlbW92aW5nIHRoZSBvdXQtb2YtZGF0ZSB2ZXJzaW9uIG9mIHRoZSBDaGVja3BvaW50cy4nXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9yaXNrcy5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdSaXNrIENsYXNzaWZpY2F0aW9uJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdSaXNrIENsYXNzaWZpY2F0aW9uJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogJ1lvdSBjYW4gc3BlY2lmeSB0aGUgbGV2ZWwgb2YgcmlzayB0aGF0IHRoZSBvcmdhbml6YXRpb24gd2lsbCBiZSBleHBvc2VkIHRvIGlmIHRoZSByZXNwb25zaWJpbGl0eSBpcyBub3QgY29tcGxldGVkLicsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnUklTS19DTEFTU0lGSUNBVElPTidcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3Jldmlld2VyLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ1Jldmlld2VyJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdSZXZpZXdlcicsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6ICdBIFJldmlld2VyIGlzIGEgcGVyc29uIHRoYXQgaXMgdGFza2VkIHdpdGggcmV2aWV3aW5nIHRoZSBjb21wbGV0ZWQgcmVzcG9uc2liaWxpdHkuJyxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICAgIGNvZGU6ICdSRVZJRVdFUidcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L292ZXJzaWdodC5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdPdmVyc2VlcicsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnT3ZlcnNlZXInLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiBgT3ZlcnNpZ2h0IGVuYWJsZXMgeW91IHRvIGRlc2lnbmF0ZSBwZXJzb25zIHRvIG92ZXJzZWUgdGhlIHJlc3BvbnNpYmlsaXR5LlxyXG4gICAgICAgICAgVGhlc2UgcGVyc29ucyB3aWxsIHJlY2VpdmUgZW1haWwgbm90aWZpY2F0aW9ucyBhYm91dCB0aGUgcGVyZm9ybWFuY2Ugb2YgdGhlIHJlc3BvbnNpYmlsaXR5Ljxicj5cclxuICAgICAgICAgIEFzIHRoZSBwZXJzb24gY3JlYXRpbmcgdGhlIHJlc3BvbnNpYmlsaXR5LCB5b3Ugd2lsbCBhdXRvbWF0aWNhbGx5IHJlY2VpdmUgZW1haWwgbm90aWZpY2F0aW9ucyBhYm91dCB0aGUgcGVyZm9ybWFuY2Ugb2YgdGhlIHJlc3BvbnNpYmlsaXR5LmAsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnT1ZFUlNFRVInXHJcbiAgICAgIH0sXHJcbiAgICAgIC8vIHtcclxuICAgICAgLy8gICBpbWFnZVVybDogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9hdWRpdC5zdmcnLFxyXG4gICAgICAvLyAgIG5hbWU6ICdBU1NVUkFOQ0UnLFxyXG4gICAgICAvLyAgIHRvb2x0aXBUaXRsZTogJ1JFUVVJUkVTIEFVRElUPycsXHJcbiAgICAgIC8vICAgdG9vbHRpcE1lc3NhZ2U6ICdTZWxlY3QgdGhlIHRlc3QgcGxhbiBjYXRlZ29yaWVzIHRoYXQgeW91IHdvdWxkIGxpa2UgdG8gYWRkIHRoaXMgcmVzcG9uc2liaWxpdHkgdG8uJyxcclxuICAgICAgLy8gICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgLy8gICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICAvLyAgIGNvZGU6ICdBU1NVUkFOQ0UnLFxyXG4gICAgICAvLyAgIGlzRGlzYWJsZWQ6IHRydWUsXHJcbiAgICAgIC8vICAgZGlzYWJsZWRNZXNzYWdlOiAnVGhpcyByZXNwb25zaWJpbGl0eSBjYW4gYmUgc2NoZWR1bGVkIGZvciBhbiBhdWRpdCBvbmx5IGFmdGVyIHRoZSBSZXNwb25zaWJpbGl0eSBDZW50ZXIgaXMgc2VsZWN0ZWQuJ1xyXG4gICAgICAvLyB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvYXVkaXQuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnQVNTVVJBTkNFJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdBU1NVUkFOQ0UnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiAnU2VsZWN0IHRoZSB0ZXN0IHBsYW4gY2F0ZWdvcmllcyB0aGF0IHlvdSB3b3VsZCBsaWtlIHRvIGFkZCB0aGlzIHJlc3BvbnNpYmlsaXR5IHRvLicsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnQVNTVVJBTkNFJ1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvYXVkaXQuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnUkVRVUlSRVMgQVVESVQ/JyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdSRVFVSVJFUyBBVURJVD8nLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiAnU2VsZWN0IHRoZSBhdWRpdCBjYXRlZ29yaWVzIHRoYXQgeW91IHdvdWxkIGxpa2UgdG8gYWRkIHRoaXMgcmVzcG9uc2liaWxpdHkgdG8uJyxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICAgIGNvZGU6ICdSRVFVSVJFU19BVURJVCcsXHJcbiAgICAgICAgaXNEaXNhYmxlZDogdHJ1ZSxcclxuICAgICAgICBkaXNhYmxlZE1lc3NhZ2U6ICdUaGlzIHJlc3BvbnNpYmlsaXR5IGNhbiBiZSBzY2hlZHVsZWQgZm9yIGFuIGF1ZGl0IG9ubHkgYWZ0ZXIgdGhlIFJlc3BvbnNpYmlsaXR5IENlbnRlciBpcyBzZWxlY3RlZC4nXHJcbiAgICAgIH0sXHJcbiAgICAgIC8vIHtcclxuICAgICAgLy8gICBpbWFnZVVybDogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9yaXNrLW1pdGlnYXRpb24tcHJpb3JpdHkuc3ZnJyxcclxuICAgICAgLy8gICBuYW1lOiAnQWRkIGFuIGFwcCcsXHJcbiAgICAgIC8vICAgdG9vbHRpcFRpdGxlOiAnJyxcclxuICAgICAgLy8gICB0b29sdGlwTWVzc2FnZTogJycsXHJcbiAgICAgIC8vICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgIC8vIGhpZGRlbjogZmFsc2UsXHJcbiAgICAgIC8vICAgY29kZTogJ0FQUFMnXHJcbiAgICAgIC8vIH1cclxuICAgIF0sXHJcbiAgICBDQVM6IFtcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3Jlc3BvbnNpYmlsaXR5LWNlbnRlci5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdSZXNwb25zaWJpbGl0eSBDZW50ZXInLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJycsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6ICcnLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9mb3JtYXQtZXZpZGVuY2Uuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnRm9ybWF0ICZhbXA7IEV2aWRlbmNlJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICcnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiAnJyxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvb3ZlcnNpZ2h0LnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ092ZXJzZWVyJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICcnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiAnJyxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICB9XHJcbiAgICBdLFxyXG5cclxuICAgICBMQUk6IFtcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2V4Y2VwdGlvbi10eXBlLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ0V4Y2VwdGlvbiB0eXBlJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdFeGNlcHRpb24gdHlwZScsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6ICdFeGNlcHRpb24gdHlwZSBsZXRzIHlvdSBzcGVjaWZ5IHdoZXRoZXIgdGhlcmUgaXMgYSBkZXNpZ24gb3IgYW4gb3BlcmF0aW9uYWwgZWZmZWN0aXZlbmVzcyBwcm9ibGVtLicsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnRVhDRVBUSU9OX1RZUEUnXHJcbiAgICAgIH0sXHJcbiAgICAgIC8vIHtcclxuICAgICAgLy8gICBpbWFnZVVybDogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9pc3N1ZS10eXBlLnN2ZycsXHJcbiAgICAgIC8vICAgbmFtZTogJ0lzc3VlIHR5cGUnLFxyXG4gICAgICAvLyAgIHRvb2x0aXBUaXRsZTogJycsXHJcbiAgICAgIC8vICAgdG9vbHRpcE1lc3NhZ2U6ICcnLFxyXG4gICAgICAvLyAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAvLyAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICAgIC8vICAgY29kZTogJ0lTU1VFX1RZUEUnXHJcbiAgICAgIC8vIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9wcmlvcml0eS5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdQcmlvcml0eScsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnUHJpb3JpdHknLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiAnVGhpcyBzZXRzIHRoZSBwcmlvcml0eSBsZXZlbCBmb3IgcmVzb2x2aW5nIGVhY2ggaXNzdWUuJyxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICAgIGNvZGU6ICdQUklPUklUWScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9hc3NvY2lhdGVkLXJpc2tzLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ0Fzc29jaWF0ZWQgUmlza3MnLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ0Fzc29jaWF0ZWQgUmlza3MnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiAnQXNzb2NpYXRlZCByaXNrcyBsZXRzIHlvdSBzcGVjaWZ5IHRoZSByaXNrcyB0aGF0IGFyZSByZWxhdGVkIHRvIHRoaXMgaXNzdWUuJyxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICAgIGNvZGU6ICdBU1NPQ0lBVEVEX1JJU0tTJ1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvb3ZlcnNpZ2h0LnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ092ZXJzZWVyJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdPdmVyc2VlcicsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6ICdPdmVyc2VlcnMgYXJlIHRoZSBwZXJzb25zIHJlc3BvbnNpYmxlIGZvciBvdmVyc2VlaW5nIGFuIGlzc3VlLiBUaGVzZSBwZXJzb25zIHdpbGwgcmVjZWl2ZSBlbWFpbCBub3RpZmljYXRpb25zIGFib3V0IHRoZSBpc3N1ZSBzdGF0dXMuIEFzIHRoZSBwZXJzb24gcmVwb3J0aW5nIHRoaXMgaXNzdWUsIHlvdSB3aWxsIGF1dG9tYXRpY2FsbHkgcmVjZWl2ZSBzdWNoIGVtYWlsIG5vdGlmaWNhdGlvbnMuJyxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICAgIGNvZGU6ICdPVkVSU0lHSFQnXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9mb3JtYXQtZXZpZGVuY2Uuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnRXZpZGVuY2UnLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ0V2aWRlbmNlJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogJ1lvdSBjYW4gcmVxdWlyZSB0aGF0IHRoZSBwZXJzb24gcmVzb2x2aW5nIHRoZSBpc3N1ZSB1cGxvYWRzIGV2aWRlbmNlIHRvIGNvbmZpcm0nLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICAgICAgY29kZTogJ0VWSURFTkNFJ1xyXG4gICAgICB9XHJcbiAgICBdLFxyXG4gICAgQ0FQUiA6IFtcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3JvbGVzLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ1JvbGUoUyknLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ1JvbGUocyknLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiBgUm9sZShzKSBsZXQgeW91IHNwZWNpZnkgdGhlIHVzZXJzIHRoYXQgY2FuIGJlIOKAnE93bmVyc+KAnSBvZiBhIFByb2dyYW0uYCxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICAgIGNvZGU6ICdST0xFUydcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L293bmVyLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ093bmVyKHMpJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdPd25lcihzKScsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6IGBPd25lcnMgYXJlIHJlc3BvbnNpYmxlIGZvciBtYW5hZ2luZyBhIFByb2dyYW0uIE9ubHkgT3duZXJzIGNhbiBtYWtlIGNoYW5nZXMgdG8gYSBQcm9ncmFtIGFuZCB0aGUgcmVzcG9uc2liaWxpdGllcyB0aGF0IGFyZSBsaW5rZWQgd2l0aCB0aGUgUHJvZ3JhbS48YnI+XHJcbiAgICAgICAgVGhlIDxiPktleSBBZG1pbjwvYj4gYW5kIGFsbCA8Yj5BZG1pbjwvYj4gdXNlcnMgd2lsbCBiZSBzZWxlY3RlZCBhcyB0aGUgT3duZXJzIG9mIGEgUHJvZ3JhbSBieSBkZWZhdWx0LlxyXG4gICAgICAgIGAsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnT1dORVJTJ1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvYXBwcm92YWwuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnQXBwcm92ZXInLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ0FwcHJvdmVyJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogYEFuIEFwcHJvdmVyIGlzIHJlc3BvbnNpYmxlIGZvciBhcHByb3ZpbmcgYSBQcm9ncmFtLiBXaGVyZSBhbiBBcHByb3ZlciBpcyBzZWxlY3RlZCwgdGhlIFByb2dyYW0gYW5kIGFsbCByZXNwb25zaWJpbGl0aWVzIGxpbmtlZCB3aXRoIHRoYXQgUHJvZ3JhbSB3aWxsIG9ubHkgY29tbWVuY2Ugb25jZSB0aGUgUHJvZ3JhbSBoYXMgYmVlbiBhcHByb3ZlZC5gLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogdHJ1ZSxcclxuICAgICAgICBjb2RlOiAnQVBQUk9WRVInXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9yZWN1cnJpbmcuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnUHJvZ3JhbSBEdXJhdGlvbicsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnUHJvZ3JhbSBEdXJhdGlvbicsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6ICdQcm9ncmFtIER1cmF0aW9uIHJlZmVycyB0byB0aGUgZHVyYXRpb24gb2YgdGhlIFByb2dyYW0uIEEgUHJvZ3JhbSBjYW4gb2NjdXIgaW4gcGVycGV0dWl0eSwgb3IgaXQgY2FuIG9jY3VyIHVudGlsIHRoZSBlbmQgb2YgdGhlIGN1cnJlbnQgYnVzaW5lc3MgY3ljbGUgdGhhdCBoYXMgYmVlbiBzcGVjaWZpZWQgaW4gJyt0aGlzLmJ1c2luZXNzQ3ljbGU/LnNlbGVjdGVkQ3ljbGU/LmJ1c2luZXNzX2N5Y2xlKycuICBBbGwgcmVzcG9uc2liaWxpdGllcyBsaW5rZWQgd2l0aCB0aGF0IFByb2dyYW0gd2lsbCBhbHNvIGhhdmUgdGhlIHNhbWUgUHJvZ3JhbSBEdXJhdGlvbi4nLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogdHJ1ZSxcclxuICAgICAgICBjb2RlOiAnUFJPR1JBTV9GUkVRVUVOQ1knXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9sb2NrLXNjb3BlLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ0xvY2sgdGhlIFByb2dyYW0gU2NvcGUnLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ0xvY2sgdGhlIFByb2dyYW0gU2NvcGUnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiBgSWYgdGhlIFByb2dyYW0gU2NvcGUgaXMgbG9ja2VkLCBuZWl0aGVyIHRoZSBQcm9ncmFtIG5vciB0aGUgcmVzcG9uc2liaWxpdGllcyBsaW5rZWQgd2l0aCB0aGUgUHJvZ3JhbSBjYW4gYmUgZWRpdGVkIG9uY2UgdGhlIFByb2dyYW0gYmVnaW5zLiBJbiBvcmRlciB0byBlZGl0IHRoZSBQcm9ncmFtIG9yIHRoZSBsaW5rZWQgcmVzcG9uc2liaWxpdGllcywgdGhlIFByb2dyYW0gZGV0YWlscyB3aWxsIG5lZWQgdG8gYmUgZWRpdGVkLmAsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiB0cnVlLFxyXG4gICAgICAgIGNvZGU6ICdTQ09QRV9DSEFOR0VTJ1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvcmVzcG9uc2liaWxpdHktY2VudGVyLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ1Jlc3BvbnNpYmlsaXR5IENlbnRlcicsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnUmVzcG9uc2liaWxpdHkgQ2VudGVyJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogYFJlc3BvbnNpYmlsaXR5IENlbnRlcnMgcmVwcmVzZW50IHlvdXIgb3JnYW5pemF0aW9uYWwgYW5kIG9wZXJhdGlvbmFsIGluZnJhc3RydWN0dXJlLiBXaGVyZSBSZXNwb25zaWJpbGl0eSBDZW50ZXJzIGFyZSBzZWxlY3RlZCB3aGVuIGNyZWF0aW5nIGEgUHJvZ3JhbSwgb25seSB0aG9zZSBSZXNwb25zaWJpbGl0aWVzIENlbnRlcnMgd2lsbCBiZSBhdmFpbGFibGUgZm9yIHNlbGVjdGlvbiB3aGVuIGNyZWF0aW5nIGEgcmVzcG9uc2liaWxpdHkgbGlua2VkIHdpdGggdGhlIFByb2dyYW0uYCxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IHRydWUsXHJcbiAgICAgICAgY29kZTogJ1JDJ1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvd2hvLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ0Fzc2lnbmVlcycsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnQXNzaWduZWVzJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogYEFzc2lnbmVlcyBhcmUgcmVxdWlyZWQgdG8gY29tcGxldGUgdGhlIHJlc3BvbnNpYmlsaXRpZXMgdGhhdCBoYXZlIGJlZW4gYXNzaWduZWQgdG8gdGhlbS4gV2hlcmUgQXNzaWduZWVzIGFyZSBzZWxlY3RlZCB3aGVuIGNyZWF0aW5nIGEgUHJvZ3JhbSwgb25seSB0aG9zZSBBc3NpZ25lZXMgd2lsbCBiZSBhdmFpbGFibGUgZm9yIHNlbGVjdGlvbiB3aGVuIGNyZWF0aW5nIGEgcmVzcG9uc2liaWxpdHkgbGlua2VkIHdpdGggdGhlIFByb2dyYW0uYCxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IHRydWUsXHJcbiAgICAgICAgY29kZTogJ0FTU0lHTkVFUydcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3Jldmlld2VyLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ1Jldmlld2VycycsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnUmV2aWV3ZXJzJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogYFJldmlld2VycyBhcmUgcmVxdWlyZWQgdG8gcmV2aWV3IHJlc3BvbnNpYmlsaXRpZXMgYWZ0ZXIgdGhleSBoYXZlIGJlZW4gY29tcGxldGVkLiBXaGVyZSBSZXZpZXdlcnMgYXJlIHNlbGVjdGVkIHdoZW4gY3JlYXRpbmcgYSBQcm9ncmFtLCBvbmx5IHRob3NlIFJldmlld2VycyB3aWxsIGJlIGF2YWlsYWJsZSBmb3Igc2VsZWN0aW9uIHdoZW4gY3JlYXRpbmcgYSByZXNwb25zaWJpbGl0eSBsaW5rZWQgd2l0aCB0aGUgUHJvZ3JhbS5gLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogdHJ1ZSxcclxuICAgICAgICBjb2RlOiAnUkVWSUVXRVInXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9vdmVyc2lnaHQuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnT3ZlcnNlZXJzJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdPdmVyc2VlcnMnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiAnT3ZlcnNlZXJzIHJlY2VpdmUgdXBkYXRlcyB3aGVuIGEgcmVzcG9uc2liaWxpdHkgaXMgY29tcGxldGVkLCBjb21wbGV0ZWQgd2l0aCBkZWxheSBvciBub3QgY29tcGxldGVkLiBXaGVyZSBPdmVyc2VlcnMgYXJlIHNlbGVjdGVkIHdoZW4gY3JlYXRpbmcgYSBQcm9ncmFtLCBvbmx5IHRob3NlIE92ZXJzZWVycyB3aWxsIGJlIGF2YWlsYWJsZSBmb3Igc2VsZWN0aW9uIHdoZW4gY3JlYXRpbmcgYSByZXNwb25zaWJpbGl0eSBsaW5rZWQgd2l0aCB0aGUgUHJvZ3JhbS4nLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogdHJ1ZSxcclxuICAgICAgICBjb2RlOiAnT1ZFUlNFRVInXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9hc3Nlc3NtZW50cy5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdBc3Nlc3NtZW50cycsXHJcbiAgICAgICAgY29kZTogJ0FTU0VTU01FTlQnLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJyBBc3Nlc3NtZW50cycsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6ICdBc3Nlc3NtZW50cyBhcmUgYSBkaWdpdGFsIGZvcm0gdGhhdCBhcmUgY3JlYXRlZCBpbiDigJxBc3Nlc3NtZW504oCdIHdpdGhpbiB0aGUgQ29tcGxpYW5jZSBNb2R1bGUuIFdoZXJlIEFzc2Vzc21lbnRzIGFyZSBzZWxlY3RlZCB3aGVuIGNyZWF0aW5nIGEgUHJvZ3JhbSwgb25seSB0aG9zZSBBc3Nlc3NtZW50cyB3aWxsIGJlIGF2YWlsYWJsZSBmb3Igc2VsZWN0aW9uIHdoZW4gY3JlYXRpbmcgYSByZXNwb25zaWJpbGl0eSBsaW5rZWQgd2l0aCB0aGUgUHJvZ3JhbS4nLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogdHJ1ZSxcclxuICAgICAgICBpc0Rpc2FibGVkOiBmYWxzZSxcclxuICAgICAgICBkaXNhYmxlZE1lc3NhZ2U6ICdBbiBhc3Nlc3NtZW50IGNhbiBiZSBsaW5rZWQgd2l0aCBhIHJlc3BvbnNpYmlsaXR5IG9ubHkgYWZ0ZXIgcmVtb3ZpbmcgdGhlIGFzc29jaWF0ZWQgY2hlY2twb2ludHMuJ1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvZm9ybWF0LWV2aWRlbmNlLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ0V2aWRlbmNlJyxcclxuICAgICAgICBjb2RlOiAnRk9STUFURV9FVklERU5DRScsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnRXZpZGVuY2UnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiAnSWYgc2VsZWN0ZWQsIGV2aWRlbmNlIG9mIGNvbXBsZXRpb24gb2YgYSByZXNwb25zaWJpbGl0eSB3aWxsIGJlIHJlcXVpcmVkIGZvciBhbGwgcmVzcG9uc2liaWxpdGllcyB0aGF0IGFyZSBsaW5rZWQgd2l0aCB0aGUgUHJvZ3JhbS4gQW4gQXNzaWdub3IsIGJlaW5nIHRoZSBwZXJzb24gd2hvIGNyZWF0ZXMgdGhlIHJlc3BvbnNpYmlsaXR5LCBjYW4gb3ZlcnJpZGUgdGhpcyBvcHRpb24gd2hlbiBjcmVhdGluZyBhIHJlc3BvbnNpYmlsaXR5LicsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiB0cnVlLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvY3VzdG9tLWZpZWxkcy5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdDdXN0b20gRmllbGQnLFxyXG4gICAgICAgIGNvZGU6ICdDVVNUT01fRklFTERTJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICcgQ3VzdG9tIEZpZWxkJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogJ1doZXJlIGEgY3VzdG9tIGZpZWxkIGlzIHNwZWNpZmllZCwgYWxsIHJlc3BvbnNpYmlsaXRpZXMgbGlua2VkIHdpdGggYSBQcm9ncmFtIHdpbGwgY29udGFpbiB0aGF0IGN1c3RvbSBmaWVsZC4gQ3VzdG9tIGZpZWxkcyBlbmFibGUgdGhlIGNvbGxlY3Rpb24gb2YgYWRkaXRpb25hbCBtZXRhIGRhdGEuJyxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICB9LFxyXG4gICAgXVxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG5cclxuICApIHsgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZihjaGFuZ2VzPy5pc1Byb2dyYW1TZWxlY3RlZD8uY3VycmVudFZhbHVlICE9PSBjaGFuZ2VzPy5pc1Byb2dyYW1TZWxlY3RlZD8ucHJldmlvdXNWYWx1ZSkge1xyXG4gICAgICB0aGlzLmlzUHJvZ3JhbVNlbGVjdGVkID0gY2hhbmdlcy5pc1Byb2dyYW1TZWxlY3RlZC5jdXJyZW50VmFsdWU7XHJcbiAgICB9XHJcbiAgICBpZighdGhpcy5pc1JDU2VsZWN0ZWQpIHtcclxuICAgICAgdGhpcy5tb3JlT3B0aW9uc0xpc3QuQ0FSLmZvckVhY2goKGVsZTogYW55KSA9PiB7XHJcbiAgICAgICAgLy8gaWYoZWxlLmNvZGUgPT09ICdBU1NVUkFOQ0UnKSB7XHJcbiAgICAgICAgLy8gICBlbGUuY2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICBpZihlbGUuY29kZSA9PT0gJ1JFUVVJUkVTX0FVRElUJykge1xyXG4gICAgICAgICAgZWxlLmNoZWNrZWQgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm1vcmVPcHRpb25zTGlzdC5DQVIuZm9yRWFjaCgoZWxlOiBhbnkpID0+IHtcclxuICAgICAgICAvLyBpZihlbGUuY29kZSA9PT0gJ0FTU1VSQU5DRScpIHtcclxuICAgICAgICAvLyAgIGVsZS5pc0Rpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIGlmKGVsZS5jb2RlID09PSAnUkVRVUlSRVNfQVVESVQnKSB7XHJcbiAgICAgICAgICBlbGUuaXNEaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5mZWF0dXJlZmxhZ3JvbGUgPSB0aGlzLmFsbG93ZWRGZWF0dXJlPy5pc0ZlYXR1cmVFbmFibGVkKCdmZl9yb2xlX2ltcHJvdmVtZW50cycpO1xyXG4gICAgdGhpcy5tb3JlT3B0aW9uc0xpc3QuQ0FQUlswXS5uYW1lID0gdGhpcy5mZWF0dXJlZmxhZ3JvbGUgPydQZXJtaXNzaW9uIEdyb3VwKFMpJzonUm9sZShTKSc7XHJcbiAgICB0aGlzLm1vcmVPcHRpb25zTGlzdC5DQVBSWzBdLnRvb2x0aXBUaXRsZSA9IHRoaXMuZmVhdHVyZWZsYWdyb2xlID8nUGVybWlzc2lvbiBHcm91cChzKSc6J1JvbGUocyknO1xyXG4gICAgdGhpcy5tb3JlT3B0aW9uc0xpc3QuQ0FQUlsxXS50b29sdGlwTWVzc2FnZSA9IHRoaXMuZmVhdHVyZWZsYWdyb2xlID8gYE93bmVycyBhcmUgcmVzcG9uc2libGUgZm9yIG1hbmFnaW5nIGEgUHJvZ3JhbS4gT25seSBPd25lcnMgY2FuIG1ha2UgY2hhbmdlcyB0byBhIFByb2dyYW0gYW5kIHRoZSByZXNwb25zaWJpbGl0aWVzIHRoYXQgYXJlIGxpbmtlZCB3aXRoIHRoZSBQcm9ncmFtLjxicj5cclxuICAgIFRoZSA8Yj5LZXkgUG93ZXIgVXNlciA8L2I+IGFuZCBhbGwgPGI+UG93ZXIgVXNlcnM8L2I+ICB3aWxsIGJlIHNlbGVjdGVkIGFzIHRoZSBPd25lcnMgb2YgYSBQcm9ncmFtIGJ5IGRlZmF1bHQuXHJcbiAgICBgIDogYE93bmVycyBhcmUgcmVzcG9uc2libGUgZm9yIG1hbmFnaW5nIGEgUHJvZ3JhbS4gT25seSBPd25lcnMgY2FuIG1ha2UgY2hhbmdlcyB0byBhIFByb2dyYW0gYW5kIHRoZSByZXNwb25zaWJpbGl0aWVzIHRoYXQgYXJlIGxpbmtlZCB3aXRoIHRoZSBQcm9ncmFtLjxicj5cclxuICAgIFRoZSA8Yj5LZXkgQWRtaW48L2I+IGFuZCBhbGwgPGI+QWRtaW48L2I+IHVzZXJzIHdpbGwgYmUgc2VsZWN0ZWQgYXMgdGhlIE93bmVycyBvZiBhIFByb2dyYW0gYnkgZGVmYXVsdC5cclxuICAgIGA7XHJcbiAgICBpZih0aGlzLmFsbG93ZWRGZWF0dXJlPy5pc0ZlYXR1cmVFbmFibGVkKCdmZl9wcm9ncmFtX3NpbXBsaWZ5Jykpe1xyXG4gICAgICB0aGlzLm1vcmVPcHRpb25zTGlzdC5DQVBSWzBdLnRvb2x0aXBNZXNzYWdlID0gdGhpcy5mZWF0dXJlZmxhZ3JvbGUgPydQZXJtaXNzaW9uIEdyb3VwKHMpIGxldCB5b3Ugc3BlY2lmeSB0aGUgdXNlcnMgdGhhdCBjYW4gYmUg4oCcT3duZXJz4oCdIG9mIGEgUHJvZ3JhbS4nOidSb2xlKHMpIGxldCB5b3Ugc3BlY2lmeSB0aGUgdXNlcnMgdGhhdCBjYW4gYmUg4oCcT3duZXJz4oCdIG9mIGEgUHJvZ3JhbS4nO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5tb3JlT3B0aW9uc0xpc3QuQ0FQUlswXS50b29sdGlwTWVzc2FnZSA9IHRoaXMuZmVhdHVyZWZsYWdyb2xlID8nUGVybWlzc2lvbiBHcm91cChzKSBsZXQgeW91IHNwZWNpZnkgdGhlIHVzZXJzIHRoYXQgY2FuIGJlIOKAnE93bmVyc+KAnSBhbmQg4oCcQXBwcm92ZXJz4oCdIG9mIGEgUHJvZ3JhbS4nOidSb2xlKHMpIGxldCB5b3Ugc3BlY2lmeSB0aGUgdXNlcnMgdGhhdCBjYW4gYmUg4oCcT3duZXJz4oCdIGFuZCDigJxBcHByb3ZlcnPigJ0gb2YgYSBQcm9ncmFtLic7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLm1vcmVPcHRpb25zTGlzdC5DQVIuZmluZEluZGV4KChlbGU6IGFueSkgPT4gZWxlLmNvZGUgPT09ICdDSEVDS1BPSU5UUycpO1xyXG4gICB0aGlzLm1vcmVPcHRpb25zTGlzdC5DQVJbaW5kZXhdLmhpZGRlbiA9IHRoaXMuaXNFZGl0TW9kZSA9PT0gZmFsc2UgPyB0cnVlIDogZmFsc2U7XHJcbiAgIGNvbnN0IFByb2dyYW1JbmRleCA9IHRoaXMubW9yZU9wdGlvbnNMaXN0LkNBUi5maW5kSW5kZXgoKGVsZTogYW55KSA9PiBlbGUuY29kZSA9PT0gJ1BST0dSQU0nKTtcclxuICAgaWYoUHJvZ3JhbUluZGV4ID4gLTEpe1xyXG4gICAgdGhpcy5tb3JlT3B0aW9uc0xpc3QuQ0FSW1Byb2dyYW1JbmRleF0uaXNEaXNhYmxlZCA9IHRoaXMuaXNFZGl0TW9kZTtcclxuICAgfVxyXG4gICAgdGhpcy5wcm9ncmFtU2ltcGxpZnlGbGFnID0gdGhpcy5hbGxvd2VkRmVhdHVyZT8uaXNGZWF0dXJlRW5hYmxlZCgnZmZfcHJvZ3JhbV9zaW1wbGlmeScpID8/IHRydWU7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RNb3JlT3B0aW9uKGV2ZW50OiBhbnksIGluZGV4OiBudW1iZXIpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiZXZlbnQgPT0+XCIsIGV2ZW50LCB0aGlzLmN1cnJlbnRXb3JrZmxvdywgdGhpcy5tb3JlT3B0aW9uc0xpc3RbdGhpcy5jdXJyZW50V29ya2Zsb3ddW2luZGV4XSk7XHJcbiAgICBpZih0aGlzLmN1cnJlbnRXb3JrZmxvdyA9PT0gJ0NBUicgJiYgZXZlbnQuY29kZSA9PT0gJ0NIRUNLUE9JTlRTX05FVycgJiYgdGhpcy5tb3JlT3B0aW9uc0xpc3RbdGhpcy5jdXJyZW50V29ya2Zsb3ddW2luZGV4XS5jaGVja2VkICkge1xyXG5cclxuICAgICAgZXZlbnRbJ2NoZWNrcG9pbnRfbmV3J10gPSB0cnVlO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkT3B0aW9uLmVtaXQoZXZlbnQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZXZlbnRbJ2NoZWNrcG9pbnRfbmV3J10gPSBmYWxzZTtcclxuICAgICAgdGhpcy5tb3JlT3B0aW9uc0xpc3RbdGhpcy5jdXJyZW50V29ya2Zsb3ddW2luZGV4XS5jaGVja2VkID0gIWV2ZW50LmNoZWNrZWQgO1xyXG4gICAgICBjb25zb2xlLmxvZyhcInRoaXMubW9yZU9wdGlvbnNMaXN0W3RoaXMuY3VycmVudFdvcmtmbG93XVtpbmRleF0gPT09PlwiLCB0aGlzLm1vcmVPcHRpb25zTGlzdFt0aGlzLmN1cnJlbnRXb3JrZmxvd11baW5kZXhdLCBldmVudC5jaGVja2VkKVxyXG4gICAgICB0aGlzLnNlbGVjdGVkT3B0aW9uLmVtaXQoZXZlbnQpO1xyXG5cclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuXHJcbiAgcG9wdWxhdGUoZXZ0OiBhbnkpe1xyXG4gICAgY29uc29sZS5sb2coXCJldmVudCA9PT0+XCIsIGV2dCk7XHJcbiAgICBpZiAodGhpcy5jdXJyZW50V29ya2Zsb3cpe1xyXG4gICAgdGhpcy5tb3JlT3B0aW9uc0xpc3RbdGhpcy5jdXJyZW50V29ya2Zsb3ddLmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgaWYgKGV2dC5pbmNsdWRlcyhlbGVtZW50LmNvZGUpKXtcclxuICAgICAgICAgIGVsZW1lbnQuY2hlY2tlZCA9IHRydWU7XHJcbiAgICAgICB9ZWxzZXtcclxuICAgICAgICAgZWxlbWVudC5jaGVja2VkID0gZmFsc2U7XHJcbiAgICAgICB9XHJcbiAgICAgICBpZihldnQuaW5jbHVkZXMoXCJDSEVDS1BPSU5UU19ORVdcIikpIHtcclxuICAgICAgICAgaWYoZWxlbWVudC5jb2RlID09PSAnQ0hFQ0tQT0lOVFMnKSB7XHJcbiAgICAgICAgICAgZWxlbWVudC5pc0Rpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICAgfVxyXG4gICAgICAgICBpZihlbGVtZW50LmNvZGUgPT09ICdBU1NFU1NNRU5UJykge1xyXG4gICAgICAgICAgIGVsZW1lbnQuaXNEaXNhYmxlZCA9IHRydWVcclxuICAgICAgICAgfVxyXG4gICAgICAgfVxyXG4gICAgICAgaWYoZXZ0LmluY2x1ZGVzKFwiQVNTRVNTTUVOVFwiKSkge1xyXG4gICAgICAgIGlmKGVsZW1lbnQuY29kZSA9PT0gJ0NIRUNLUE9JTlRTX05FVycpIHtcclxuICAgICAgICAgIGVsZW1lbnQuaXNEaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGVsZW1lbnQuY29kZSA9PT0gJ0NIRUNLUE9JTlRTJykge1xyXG4gICAgICAgICAgZWxlbWVudC5pc0Rpc2FibGVkID0gZmFsc2VcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYoZXZ0LmluY2x1ZGVzKFwiQ0hFQ0tQT0lOVFNcIikpIHtcclxuICAgICAgICBpZihlbGVtZW50LmNvZGUgPT09ICdDSEVDS1BPSU5UU19ORVcnKSB7XHJcbiAgICAgICAgICBlbGVtZW50LmlzRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZihlbGVtZW50LmNvZGUgPT09ICdBU1NFU1NNRU5UJykge1xyXG4gICAgICAgICAgZWxlbWVudC5pc0Rpc2FibGVkID0gdHJ1ZVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZihldnQuaW5jbHVkZXMoXCJQUk9HUkFNXCIpKSB7XHJcbiAgICAgICAgaWYoZWxlbWVudC5jb2RlID09PSAnUFJPR1JBTScgICYmIHRoaXMuaXNQcm9ncmFtU2VsZWN0ZWQpIHtcclxuICAgICAgICAgIGVsZW1lbnQuaXNEaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgfVxyXG5cclxuICB9XHJcbiAgaGlkZUVsZW1lbnRzKGhpZGRlbkxpc3Q6YW55KXtcclxuICAgIGlmICh0aGlzLmN1cnJlbnRXb3JrZmxvdyl7XHJcbiAgICAgIHRoaXMubW9yZU9wdGlvbnNMaXN0W3RoaXMuY3VycmVudFdvcmtmbG93XS5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgaWYgKGhpZGRlbkxpc3QuaW5jbHVkZXMoZWxlbWVudC5jb2RlKSl7XHJcbiAgICAgICAgICAgIGVsZW1lbnQuaGlkZGVuID0gdHJ1ZTtcclxuICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgZWxlbWVudC5oaWRkZW4gPSBmYWxzZTtcclxuICAgICAgICAgfVxyXG5cclxuICAgICAgfSk7XHJcbiAgICAgfVxyXG4gIH1cclxuXHJcbiAgcmVzZXRBbGwod29ya2Zsb3dUeXBlOnN0cmluZyl7XHJcbiAgICBpZih0aGlzLm1vcmVPcHRpb25zTGlzdFt3b3JrZmxvd1R5cGVdKXtcclxuICAgICAgdGhpcy5tb3JlT3B0aW9uc0xpc3Rbd29ya2Zsb3dUeXBlXS5mb3JFYWNoKChlbGVtZW50OmFueSkgPT4ge1xyXG4gICAgICAgIGVsZW1lbnQuY2hlY2tlZCA9IGZhbHNlO1xyXG4gIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlUHJvZ3JhbU1vcmVPcHRpb25zKCkge1xyXG4gICAgY29uc3QgY29kZSA9IFsnUFJPR1JBTV9GUkVRVUVOQ1knLCAnU0NPUEVfQ0hBTkdFUycsICdSQycsICdBU1NJR05FRVMnLCAnUkVWSUVXRVInLCAnT1ZFUlNFRVInLCAnQVNTRVNTTUVOVCcsICdGT1JNQVRFX0VWSURFTkNFJ107XHJcbiAgICBpZih0aGlzLm9yZ0RldGFpbHM/Lmhhc1Byb2dyYW1GdWxsUGVybWlzc2lvbiAmJiB0aGlzLmFsbG93ZWRGZWF0dXJlLmlzRmVhdHVyZUVuYWJsZWQoJ2ZmX3Byb2dyYW1fc2ltcGxpZnknKSkge1xyXG4gICAgICB0aGlzLm1vcmVPcHRpb25zTGlzdD8uQ0FQUj8uZm9yRWFjaCggKG9wdGlvbjogYW55KSA9PiB7XHJcbiAgICAgICAgaWYoY29kZT8uaW5jbHVkZXMob3B0aW9uLmNvZGUpKXtcclxuICAgICAgICAgIG9wdGlvbi5oaWRkZW4gPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYoIXRoaXMuYWxsb3dlZEZlYXR1cmUuaXNGZWF0dXJlRW5hYmxlZCgnZmZfcHJvZ3JhbV9zaW1wbGlmeScpKSB7XHJcbiAgICAgIGNvZGUucHVzaCgnQVBQUk9WRVInKVxyXG4gICAgICB0aGlzLm1vcmVPcHRpb25zTGlzdD8uQ0FQUj8uZm9yRWFjaCggKG9wdGlvbjogYW55KSA9PiB7XHJcbiAgICAgICAgaWYoY29kZT8uaW5jbHVkZXMob3B0aW9uLmNvZGUpKXtcclxuICAgICAgICAgIG9wdGlvbi5oaWRkZW4gPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
650
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9yZS1vcHRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvbW9yZS1vcHRpb24vbW9yZS1vcHRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQU96RyxNQUFNLE9BQU8sbUJBQW1CO0lBc2U5Qjs7UUFyZVMsb0JBQWUsR0FBRyxFQUFFLENBQUM7UUFDckIsZUFBVSxHQUFHLEVBQUUsQ0FBQTtRQUNmLGVBQVUsR0FBRyxLQUFLLENBQUE7UUFDakIsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3JDLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQVNuQyxvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUNqQyx3QkFBbUIsR0FBWSxLQUFLLENBQUM7UUFDckMsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFDL0IsbUJBQWMsR0FBVyxhQUFhLENBQUM7UUFFdkMscUJBQWdCLEdBQVE7WUFDdkIsR0FBRyxFQUFFLDJFQUEyRTtZQUNoRixHQUFHLEVBQUUsNkVBQTZFO1lBQ2xGLEdBQUcsRUFBRSxxRkFBcUY7WUFDMUYsR0FBRyxFQUFFLDZFQUE2RTtZQUNsRixHQUFHLEVBQUUsNEVBQTRFO1lBQ2pGLElBQUksRUFBQyw0RUFBNEU7U0FDakYsQ0FBQztRQUVGLGtCQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFBLFlBQVksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLG1DQUFJLElBQUksQ0FBQyxDQUFDO1FBQzFFLG9CQUFlLEdBQVE7WUFDckIsR0FBRyxFQUFFO2dCQUNIO29CQUNFLFFBQVEsRUFBRSxrRkFBa0Y7b0JBQzVGLElBQUksRUFBRSxlQUFlO29CQUNyQixZQUFZLEVBQUUsZUFBZTtvQkFDN0IsY0FBYyxFQUFFLG1GQUFtRjtvQkFDbkcsT0FBTyxFQUFFLEtBQUs7b0JBQ2QsTUFBTSxFQUFFLEtBQUs7b0JBQ2IsSUFBSSxFQUFFLFVBQVU7aUJBQ2pCO2dCQUNEO29CQUNFLFFBQVEsRUFBRSxpRkFBaUY7b0JBQzNGLElBQUksRUFBRSwwQkFBMEI7b0JBQ2hDLFlBQVksRUFBRSwwQkFBMEI7b0JBQ3hDLGNBQWMsRUFBRSwrREFBK0Q7b0JBQy9FLE9BQU8sRUFBRSxLQUFLO29CQUNkLE1BQU0sRUFBRSxLQUFLO29CQUNiLElBQUksRUFBRSxZQUFZO2lCQUNuQjtnQkFDRDtvQkFDRSxRQUFRLEVBQUUsbUZBQW1GO29CQUM3RixJQUFJLEVBQUUsOEJBQThCO29CQUNwQyxZQUFZLEVBQUUsOEJBQThCO29CQUM1QyxjQUFjLEVBQUUsMEVBQTBFO29CQUMxRixPQUFPLEVBQUUsS0FBSztvQkFDZCxNQUFNLEVBQUUsS0FBSztvQkFDYixJQUFJLEVBQUUsaUJBQWlCO2lCQUN4QjtnQkFDRDtvQkFDRSxRQUFRLEVBQUUsa0ZBQWtGO29CQUM1RixJQUFJLEVBQUUsWUFBWTtvQkFDbEIsWUFBWSxFQUFFLFlBQVk7b0JBQzFCLGNBQWMsRUFBRSxtR0FBbUc7b0JBQ25ILE9BQU8sRUFBRSxLQUFLO29CQUNkLE1BQU0sRUFBRSxLQUFLO29CQUNiLElBQUksRUFBRSxZQUFZO2lCQUNuQjthQUNGO1lBQ0QsR0FBRyxFQUFFO2dCQUNIO29CQUNFLFFBQVEsRUFBRSw4RkFBOEY7b0JBQ3hHLElBQUksRUFBRSx1QkFBdUI7b0JBQzdCLFlBQVksRUFBRSx1QkFBdUI7b0JBQ3JDLGNBQWMsRUFBRTs7Ozs7OERBS3NDO29CQUN0RCxPQUFPLEVBQUUsS0FBSztvQkFDZCxNQUFNLEVBQUUsS0FBSztvQkFDYixJQUFJLEVBQUUsdUJBQXVCO2lCQUM5QjtnQkFDRDtvQkFDRSxRQUFRLEVBQUUsaUZBQWlGO29CQUMzRixJQUFJLEVBQUUsVUFBVTtvQkFDaEIsWUFBWSxFQUFFLFVBQVU7b0JBQ3hCLGNBQWMsRUFBRTs0RkFDb0U7b0JBQ3BGLE9BQU8sRUFBRSxLQUFLO29CQUNkLE1BQU0sRUFBRSxLQUFLO29CQUNiLElBQUksRUFBRSxVQUFVO2lCQUNqQjtnQkFDRDtvQkFDRSxRQUFRLEVBQUUsb0ZBQW9GO29CQUM5RixJQUFJLEVBQUUsYUFBYTtvQkFDbkIsWUFBWSxFQUFFLGFBQWE7b0JBQzNCLGNBQWMsRUFBRTs7O1NBR2Y7b0JBQ0QsT0FBTyxFQUFFLEtBQUs7b0JBQ2QsTUFBTSxFQUFFLEtBQUs7b0JBQ2IsSUFBSSxFQUFFLGFBQWE7aUJBQ3BCO2dCQUNEO29CQUNFLFFBQVEsRUFBRSxrRkFBa0Y7b0JBQzVGLElBQUksRUFBRSxVQUFVO29CQUNoQixZQUFZLEVBQUUsVUFBVTtvQkFDeEIsY0FBYyxFQUFFOzs7U0FHZjtvQkFDRCxPQUFPLEVBQUUsS0FBSztvQkFDZCxNQUFNLEVBQUUsS0FBSztvQkFDYixJQUFJLEVBQUUsVUFBVTtpQkFDakI7Z0JBQ0Q7b0JBQ0UsUUFBUSxFQUFFLHdGQUF3RjtvQkFDbEcsSUFBSSxFQUFFLHNCQUFzQjtvQkFDNUIsWUFBWSxFQUFFLHNCQUFzQjtvQkFDcEMsY0FBYyxFQUFFOzRFQUNvRDtvQkFDcEUsT0FBTyxFQUFFLEtBQUs7b0JBQ2QsTUFBTSxFQUFFLEtBQUs7b0JBQ2IsSUFBSSxFQUFFLHNCQUFzQjtpQkFDN0I7YUFDRjtZQUNELEdBQUcsRUFBRTtnQkFDSDtvQkFDRSxRQUFRLEVBQUUsbUZBQW1GO29CQUM3RixJQUFJLEVBQUUsV0FBVztvQkFDakIsSUFBSSxFQUFFLFdBQVc7b0JBQ2pCLFlBQVksRUFBRSxXQUFXO29CQUN6QixjQUFjLEVBQUUsMEVBQTBFO29CQUMxRixPQUFPLEVBQUUsS0FBSztvQkFDZCxNQUFNLEVBQUUsS0FBSztpQkFDZDtnQkFFRCxJQUFJO2dCQUNKLGlHQUFpRztnQkFDakcscUJBQXFCO2dCQUNyQixzQkFBc0I7Z0JBQ3RCLDZCQUE2QjtnQkFDN0IscUZBQXFGO2dCQUNyRiwrR0FBK0c7Z0JBQy9HLHlGQUF5RjtnQkFDekYsb0JBQW9CO2dCQUNwQixtQkFBbUI7Z0JBQ25CLEtBQUs7Z0JBQ0w7b0JBQ0UsUUFBUSxFQUFFLDhGQUE4RjtvQkFDeEcsSUFBSSxFQUFFLHVCQUF1QjtvQkFDN0IsSUFBSSxFQUFFLElBQUk7b0JBQ1YsWUFBWSxFQUFFLHVCQUF1QjtvQkFDckMsY0FBYyxFQUFFOzs7Z0tBR3dJO29CQUN4SixPQUFPLEVBQUUsS0FBSztvQkFDZCxNQUFNLEVBQUUsS0FBSztpQkFDZDtnQkFDRDtvQkFDRSxRQUFRLEVBQUUsaUZBQWlGO29CQUMzRixJQUFJLEVBQUUsU0FBUztvQkFDZixJQUFJLEVBQUUsU0FBUztvQkFDZixZQUFZLEVBQUUsU0FBUztvQkFDdkIsY0FBYyxFQUFFOzsyRkFFbUU7b0JBQ25GLE9BQU8sRUFBRSxLQUFLO29CQUNkLE1BQU0sRUFBRSxLQUFLO2lCQUNkO2dCQUNEO29CQUNFLFFBQVEsRUFBRSx3RkFBd0Y7b0JBQ2xHLElBQUksRUFBRSxtQkFBbUI7b0JBQ3pCLElBQUksRUFBRSxrQkFBa0I7b0JBQ3hCLFlBQVksRUFBRSxvQkFBb0I7b0JBQ2xDLGNBQWMsRUFBRSx1SUFBdUk7b0JBQ3ZKLE9BQU8sRUFBRSxLQUFLO29CQUNkLE1BQU0sRUFBRSxLQUFLO2lCQUNkO2dCQUNEO29CQUNFLFFBQVEsRUFBRSxvRkFBb0Y7b0JBQzlGLElBQUksRUFBRSxhQUFhO29CQUNuQixJQUFJLEVBQUUsWUFBWTtvQkFDbEIsWUFBWSxFQUFFLGNBQWM7b0JBQzVCLGNBQWMsRUFBRSxpTkFBaU47b0JBQ2pPLE9BQU8sRUFBRSxLQUFLO29CQUNkLE1BQU0sRUFBRSxLQUFLO29CQUNiLFVBQVUsRUFBRSxLQUFLO29CQUNqQixlQUFlLEVBQUUsbUdBQW1HO2lCQUNySDtnQkFDRDtvQkFDRSxRQUFRLEVBQUUsb0ZBQW9GO29CQUNoRywwZEFBMGQ7b0JBQ3hkLElBQUksRUFBRSxvWkFBb1o7b0JBQzFaLElBQUksRUFBRSxhQUFhO29CQUNuQixZQUFZLEVBQUUsYUFBYTtvQkFDM0IsY0FBYyxFQUFFLG1RQUFtUTtvQkFDblIsT0FBTyxFQUFFLEtBQUs7b0JBQ2QsTUFBTSxFQUFFLEtBQUs7b0JBQ2IsVUFBVSxFQUFFLEtBQUs7b0JBQ2pCLGVBQWUsRUFBRSxtTkFBbU47aUJBQ3JPO2dCQUNEO29CQUNFLFFBQVEsRUFBRSxvRkFBb0Y7b0JBQzlGLElBQUksRUFBRSxhQUFhO29CQUNuQixJQUFJLEVBQUUsaUJBQWlCO29CQUN2QixZQUFZLEVBQUUsYUFBYTtvQkFDM0IsY0FBYyxFQUFFLCtNQUErTTtvQkFDL04sT0FBTyxFQUFFLEtBQUs7b0JBQ2QsTUFBTSxFQUFFLEtBQUs7b0JBQ2IsVUFBVSxFQUFFLEtBQUs7b0JBQ2pCLGVBQWUsRUFBRSxxSEFBcUg7aUJBQ3ZJO2dCQUNEO29CQUNFLFFBQVEsRUFBRSw4RUFBOEU7b0JBQ3hGLElBQUksRUFBRSxxQkFBcUI7b0JBQzNCLFlBQVksRUFBRSxxQkFBcUI7b0JBQ25DLGNBQWMsRUFBRSxvSEFBb0g7b0JBQ3BJLE9BQU8sRUFBRSxLQUFLO29CQUNkLE1BQU0sRUFBRSxLQUFLO29CQUNiLElBQUksRUFBRSxxQkFBcUI7aUJBQzVCO2dCQUNEO29CQUNFLFFBQVEsRUFBRSxpRkFBaUY7b0JBQzNGLElBQUksRUFBRSxVQUFVO29CQUNoQixZQUFZLEVBQUUsVUFBVTtvQkFDeEIsY0FBYyxFQUFFLG9GQUFvRjtvQkFDcEcsT0FBTyxFQUFFLEtBQUs7b0JBQ2QsTUFBTSxFQUFFLEtBQUs7b0JBQ2IsSUFBSSxFQUFFLFVBQVU7aUJBQ2pCO2dCQUNEO29CQUNFLFFBQVEsRUFBRSxrRkFBa0Y7b0JBQzVGLElBQUksRUFBRSxVQUFVO29CQUNoQixZQUFZLEVBQUUsVUFBVTtvQkFDeEIsY0FBYyxFQUFFOztxSkFFNkg7b0JBQzdJLE9BQU8sRUFBRSxLQUFLO29CQUNkLE1BQU0sRUFBRSxLQUFLO29CQUNiLElBQUksRUFBRSxVQUFVO2lCQUNqQjtnQkFDRCxJQUFJO2dCQUNKLDhGQUE4RjtnQkFDOUYsdUJBQXVCO2dCQUN2QixxQ0FBcUM7Z0JBQ3JDLDBHQUEwRztnQkFDMUcsb0JBQW9CO2dCQUNwQixtQkFBbUI7Z0JBQ25CLHVCQUF1QjtnQkFDdkIsc0JBQXNCO2dCQUN0QiwySEFBMkg7Z0JBQzNILEtBQUs7Z0JBQ0w7b0JBQ0UsUUFBUSxFQUFFLDhFQUE4RTtvQkFDeEYsSUFBSSxFQUFFLFdBQVc7b0JBQ2pCLFlBQVksRUFBRSxXQUFXO29CQUN6QixjQUFjLEVBQUUsb0ZBQW9GO29CQUNwRyxPQUFPLEVBQUUsS0FBSztvQkFDZCxNQUFNLEVBQUUsS0FBSztvQkFDYixJQUFJLEVBQUUsV0FBVztpQkFDbEI7Z0JBQ0Q7b0JBQ0UsUUFBUSxFQUFFLDhFQUE4RTtvQkFDeEYsSUFBSSxFQUFFLGlCQUFpQjtvQkFDdkIsWUFBWSxFQUFFLGlCQUFpQjtvQkFDL0IsY0FBYyxFQUFFLGdGQUFnRjtvQkFDaEcsT0FBTyxFQUFFLEtBQUs7b0JBQ2QsTUFBTSxFQUFFLEtBQUs7b0JBQ2IsSUFBSSxFQUFFLGdCQUFnQjtvQkFDdEIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLGVBQWUsRUFBRSxxR0FBcUc7aUJBQ3ZIO2dCQUNELElBQUk7Z0JBQ0osdUVBQXVFO2dCQUN2RSx3QkFBd0I7Z0JBQ3hCLHNCQUFzQjtnQkFDdEIsd0JBQXdCO2dCQUN4QixvQkFBb0I7Z0JBQ3BCLGlCQUFpQjtnQkFDakIsaUJBQWlCO2dCQUNqQixJQUFJO2FBQ0w7WUFDRCxHQUFHLEVBQUU7Z0JBQ0g7b0JBQ0UsUUFBUSxFQUFFLDhGQUE4RjtvQkFDeEcsSUFBSSxFQUFFLHVCQUF1QjtvQkFDN0IsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLGNBQWMsRUFBRSxFQUFFO29CQUNsQixPQUFPLEVBQUUsS0FBSztvQkFDZCxNQUFNLEVBQUUsS0FBSztpQkFDZDtnQkFDRDtvQkFDRSxRQUFRLEVBQUUsd0ZBQXdGO29CQUNsRyxJQUFJLEVBQUUsdUJBQXVCO29CQUM3QixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsY0FBYyxFQUFFLEVBQUU7b0JBQ2xCLE9BQU8sRUFBRSxLQUFLO29CQUNkLE1BQU0sRUFBRSxLQUFLO2lCQUNkO2dCQUNEO29CQUNFLFFBQVEsRUFBRSxrRkFBa0Y7b0JBQzVGLElBQUksRUFBRSxVQUFVO29CQUNoQixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsY0FBYyxFQUFFLEVBQUU7b0JBQ2xCLE9BQU8sRUFBRSxLQUFLO29CQUNkLE1BQU0sRUFBRSxLQUFLO2lCQUNkO2FBQ0Y7WUFFQSxHQUFHLEVBQUU7Z0JBQ0o7b0JBQ0UsUUFBUSxFQUFFLHVGQUF1RjtvQkFDakcsSUFBSSxFQUFFLGdCQUFnQjtvQkFDdEIsWUFBWSxFQUFFLGdCQUFnQjtvQkFDOUIsY0FBYyxFQUFFLG9HQUFvRztvQkFDcEgsT0FBTyxFQUFFLEtBQUs7b0JBQ2QsTUFBTSxFQUFFLEtBQUs7b0JBQ2IsSUFBSSxFQUFFLGdCQUFnQjtpQkFDdkI7Z0JBQ0QsSUFBSTtnQkFDSixtR0FBbUc7Z0JBQ25HLHdCQUF3QjtnQkFDeEIsc0JBQXNCO2dCQUN0Qix3QkFBd0I7Z0JBQ3hCLG9CQUFvQjtnQkFDcEIsbUJBQW1CO2dCQUNuQix1QkFBdUI7Z0JBQ3ZCLEtBQUs7Z0JBQ0w7b0JBQ0UsUUFBUSxFQUFFLGlGQUFpRjtvQkFDM0YsSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLFlBQVksRUFBRSxVQUFVO29CQUN4QixjQUFjLEVBQUUsd0RBQXdEO29CQUN4RSxPQUFPLEVBQUUsS0FBSztvQkFDZCxNQUFNLEVBQUUsS0FBSztvQkFDYixJQUFJLEVBQUUsVUFBVTtpQkFDakI7Z0JBQ0Q7b0JBQ0UsUUFBUSxFQUFFLHlGQUF5RjtvQkFDbkcsSUFBSSxFQUFFLGtCQUFrQjtvQkFDeEIsWUFBWSxFQUFFLGtCQUFrQjtvQkFDaEMsY0FBYyxFQUFFLDZFQUE2RTtvQkFDN0YsT0FBTyxFQUFFLEtBQUs7b0JBQ2QsTUFBTSxFQUFFLEtBQUs7b0JBQ2IsSUFBSSxFQUFFLGtCQUFrQjtpQkFDekI7Z0JBQ0Q7b0JBQ0UsUUFBUSxFQUFFLGtGQUFrRjtvQkFDNUYsSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLFlBQVksRUFBRSxVQUFVO29CQUN4QixjQUFjLEVBQUUsb09BQW9PO29CQUNwUCxPQUFPLEVBQUUsS0FBSztvQkFDZCxNQUFNLEVBQUUsS0FBSztvQkFDYixJQUFJLEVBQUUsV0FBVztpQkFDbEI7Z0JBQ0Q7b0JBQ0UsUUFBUSxFQUFFLHdGQUF3RjtvQkFDbEcsSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLFlBQVksRUFBRSxVQUFVO29CQUN4QixjQUFjLEVBQUUsaUZBQWlGO29CQUNqRyxPQUFPLEVBQUUsS0FBSztvQkFDZCxNQUFNLEVBQUUsS0FBSztvQkFDYixJQUFJLEVBQUUsVUFBVTtpQkFDakI7YUFDRjtZQUNELElBQUksRUFBRztnQkFDTDtvQkFDRSxRQUFRLEVBQUUsOEVBQThFO29CQUN4RixJQUFJLEVBQUUsU0FBUztvQkFDZixZQUFZLEVBQUUsU0FBUztvQkFDdkIsY0FBYyxFQUFFLHNFQUFzRTtvQkFDdEYsT0FBTyxFQUFFLEtBQUs7b0JBQ2QsTUFBTSxFQUFFLEtBQUs7b0JBQ2IsSUFBSSxFQUFFLE9BQU87aUJBQ2Q7Z0JBQ0Q7b0JBQ0UsUUFBUSxFQUFFLDhFQUE4RTtvQkFDeEYsSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLFlBQVksRUFBRSxVQUFVO29CQUN4QixjQUFjLEVBQUU7O1NBRWY7b0JBQ0QsT0FBTyxFQUFFLEtBQUs7b0JBQ2QsTUFBTSxFQUFFLEtBQUs7b0JBQ2IsSUFBSSxFQUFFLFFBQVE7aUJBQ2Y7Z0JBQ0Q7b0JBQ0UsUUFBUSxFQUFFLGlGQUFpRjtvQkFDM0YsSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLFlBQVksRUFBRSxVQUFVO29CQUN4QixjQUFjLEVBQUUseU1BQXlNO29CQUN6TixPQUFPLEVBQUUsS0FBSztvQkFDZCxNQUFNLEVBQUUsSUFBSTtvQkFDWixJQUFJLEVBQUUsVUFBVTtpQkFDakI7Z0JBQ0Q7b0JBQ0UsUUFBUSxFQUFFLGtGQUFrRjtvQkFDNUYsSUFBSSxFQUFFLGtCQUFrQjtvQkFDeEIsWUFBWSxFQUFFLGtCQUFrQjtvQkFDaEMsY0FBYyxFQUFFLG9MQUFvTCxJQUFDLE1BQUEsTUFBQSxJQUFJLENBQUMsYUFBYSwwQ0FBRSxhQUFhLDBDQUFFLGNBQWMsQ0FBQSxHQUFDLDRGQUE0RjtvQkFDblYsT0FBTyxFQUFFLEtBQUs7b0JBQ2QsTUFBTSxFQUFFLElBQUk7b0JBQ1osSUFBSSxFQUFFLG1CQUFtQjtpQkFDMUI7Z0JBQ0Q7b0JBQ0UsUUFBUSxFQUFFLG1GQUFtRjtvQkFDN0YsSUFBSSxFQUFFLHdCQUF3QjtvQkFDOUIsWUFBWSxFQUFFLHdCQUF3QjtvQkFDdEMsY0FBYyxFQUFFLHNQQUFzUDtvQkFDdFEsT0FBTyxFQUFFLEtBQUs7b0JBQ2QsTUFBTSxFQUFFLElBQUk7b0JBQ1osSUFBSSxFQUFFLGVBQWU7aUJBQ3RCO2dCQUNEO29CQUNFLFFBQVEsRUFBRSw4RkFBOEY7b0JBQ3hHLElBQUksRUFBRSx1QkFBdUI7b0JBQzdCLFlBQVksRUFBRSx1QkFBdUI7b0JBQ3JDLGNBQWMsRUFBRSxxUkFBcVI7b0JBQ3JTLE9BQU8sRUFBRSxLQUFLO29CQUNkLE1BQU0sRUFBRSxJQUFJO29CQUNaLElBQUksRUFBRSxJQUFJO2lCQUNYO2dCQUNEO29CQUNFLFFBQVEsRUFBRSw0RUFBNEU7b0JBQ3RGLElBQUksRUFBRSxXQUFXO29CQUNqQixZQUFZLEVBQUUsV0FBVztvQkFDekIsY0FBYyxFQUFFLDZQQUE2UDtvQkFDN1EsT0FBTyxFQUFFLEtBQUs7b0JBQ2QsTUFBTSxFQUFFLElBQUk7b0JBQ1osSUFBSSxFQUFFLFdBQVc7aUJBQ2xCO2dCQUNEO29CQUNFLFFBQVEsRUFBRSxpRkFBaUY7b0JBQzNGLElBQUksRUFBRSxXQUFXO29CQUNqQixZQUFZLEVBQUUsV0FBVztvQkFDekIsY0FBYyxFQUFFLHNQQUFzUDtvQkFDdFEsT0FBTyxFQUFFLEtBQUs7b0JBQ2QsTUFBTSxFQUFFLElBQUk7b0JBQ1osSUFBSSxFQUFFLFVBQVU7aUJBQ2pCO2dCQUNEO29CQUNFLFFBQVEsRUFBRSxrRkFBa0Y7b0JBQzVGLElBQUksRUFBRSxXQUFXO29CQUNqQixZQUFZLEVBQUUsV0FBVztvQkFDekIsY0FBYyxFQUFFLHlRQUF5UTtvQkFDelIsT0FBTyxFQUFFLEtBQUs7b0JBQ2QsTUFBTSxFQUFFLElBQUk7b0JBQ1osSUFBSSxFQUFFLFVBQVU7aUJBQ2pCO2dCQUNEO29CQUNFLFFBQVEsRUFBRSxvRkFBb0Y7b0JBQzlGLElBQUksRUFBRSxhQUFhO29CQUNuQixJQUFJLEVBQUUsWUFBWTtvQkFDbEIsWUFBWSxFQUFFLGNBQWM7b0JBQzVCLGNBQWMsRUFBRSxzUUFBc1E7b0JBQ3RSLE9BQU8sRUFBRSxLQUFLO29CQUNkLE1BQU0sRUFBRSxJQUFJO29CQUNaLFVBQVUsRUFBRSxLQUFLO29CQUNqQixlQUFlLEVBQUUsbUdBQW1HO2lCQUNySDtnQkFDRDtvQkFDRSxRQUFRLEVBQUUsd0ZBQXdGO29CQUNsRyxJQUFJLEVBQUUsVUFBVTtvQkFDaEIsSUFBSSxFQUFFLGtCQUFrQjtvQkFDeEIsWUFBWSxFQUFFLFVBQVU7b0JBQ3hCLGNBQWMsRUFBRSw0UEFBNFA7b0JBQzVRLE9BQU8sRUFBRSxLQUFLO29CQUNkLE1BQU0sRUFBRSxJQUFJO2lCQUNiO2dCQUNEO29CQUNFLFFBQVEsRUFBRSxzRkFBc0Y7b0JBQ2hHLElBQUksRUFBRSxjQUFjO29CQUNwQixJQUFJLEVBQUUsZUFBZTtvQkFDckIsWUFBWSxFQUFFLGVBQWU7b0JBQzdCLGNBQWMsRUFBRSw0S0FBNEs7b0JBQzVMLE9BQU8sRUFBRSxLQUFLO29CQUNkLE1BQU0sRUFBRSxLQUFLO2lCQUNkO2FBQ0Y7U0FDRixDQUFDO0lBSUUsQ0FBQztJQS9kTCxJQUE2QixzQkFBc0IsQ0FBQyxPQUFZOztRQUM5RCxJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sYUFBUCxPQUFPLGNBQVAsT0FBTyxHQUFJLElBQUksQ0FBQztRQUNsQyxJQUFHLE9BQU8sS0FBSSxNQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLDBDQUFFLE1BQU0sQ0FBQSxFQUFFO1lBQzFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1NBQ2pDO0lBQ0gsQ0FBQztJQUFBLENBQUM7SUE0ZEYsV0FBVyxDQUFDLE9BQXNCOztRQUNoQyxJQUFHLENBQUEsTUFBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsaUJBQWlCLDBDQUFFLFlBQVksT0FBSyxNQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxpQkFBaUIsMENBQUUsYUFBYSxDQUFBLEVBQUU7WUFDekYsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUM7U0FDakU7UUFDRCxJQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDNUMsaUNBQWlDO2dCQUNqQyx5QkFBeUI7Z0JBQ3pCLElBQUk7Z0JBQ0osSUFBRyxHQUFHLENBQUMsSUFBSSxLQUFLLGdCQUFnQixFQUFFO29CQUNoQyxHQUFHLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztpQkFDckI7WUFDSCxDQUFDLENBQUMsQ0FBQTtTQUNIO2FBQU07WUFDTCxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDNUMsaUNBQWlDO2dCQUNqQyw0QkFBNEI7Z0JBQzVCLElBQUk7Z0JBQ0osSUFBRyxHQUFHLENBQUMsSUFBSSxLQUFLLGdCQUFnQixFQUFFO29CQUNoQyxHQUFHLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztpQkFDeEI7WUFDSCxDQUFDLENBQUMsQ0FBQTtTQUNIO0lBQ0gsQ0FBQztJQUVELFFBQVE7O1FBQ04sSUFBSSxDQUFDLGVBQWUsR0FBRyxNQUFBLElBQUksQ0FBQyxjQUFjLDBDQUFFLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDckYsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxHQUFHLHFCQUFxQixDQUFBO1FBQ3RHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFBO1FBQ3ZELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFBO1FBQy9ELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQzs7S0FFcEUsQ0FBQyxDQUFDLENBQUM7O0tBRUgsQ0FBQztRQUNGLElBQUcsTUFBQSxJQUFJLENBQUMsY0FBYywwQ0FBRSxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFDO1lBQzlELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsR0FBRyxHQUFHLElBQUksQ0FBQyxjQUFjLCtEQUErRCxDQUFDO1NBQ3JJO2FBQU07WUFDTCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLEdBQUcsR0FBRyxJQUFJLENBQUMsY0FBYywrRUFBK0UsQ0FBQTtTQUNwSjtRQUVELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxhQUFhLENBQUMsQ0FBQztRQUM1RixJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ2xGLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQztRQUM5RixJQUFHLFlBQVksR0FBRyxDQUFDLENBQUMsRUFBQztZQUNwQixJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztTQUNwRTtRQUNBLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxNQUFBLE1BQUEsSUFBSSxDQUFDLGNBQWMsMENBQUUsZ0JBQWdCLENBQUMscUJBQXFCLENBQUMsbUNBQUksSUFBSSxDQUFDO0lBQ2xHLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFVLEVBQUUsS0FBYTtRQUN4QyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3pHLElBQUcsSUFBSSxDQUFDLGVBQWUsS0FBSyxLQUFLLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLEVBQUc7WUFFbkksS0FBSyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsSUFBSSxDQUFDO1lBQy9CLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2pDO2FBQU07WUFDTCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDaEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBRTtZQUM1RSxPQUFPLENBQUMsR0FBRyxDQUFDLHdEQUF3RCxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUN2SSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUVqQztJQUVILENBQUM7SUFHRCxRQUFRLENBQUMsR0FBUTtRQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBQztZQUN6QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFZLEVBQUUsRUFBRTtnQkFDakUsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBQztvQkFDNUIsT0FBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7aUJBQ3pCO3FCQUFJO29CQUNILE9BQU8sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2lCQUN6QjtnQkFDRCxJQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsRUFBRTtvQkFDbEMsSUFBRyxPQUFPLENBQUMsSUFBSSxLQUFLLGFBQWEsRUFBRTt3QkFDakMsT0FBTyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7cUJBQzNCO29CQUNELElBQUcsT0FBTyxDQUFDLElBQUksS0FBSyxZQUFZLEVBQUU7d0JBQ2hDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFBO3FCQUMxQjtpQkFDRjtnQkFDRCxJQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEVBQUU7b0JBQzlCLElBQUcsT0FBTyxDQUFDLElBQUksS0FBSyxpQkFBaUIsRUFBRTt3QkFDckMsT0FBTyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7cUJBQzNCO29CQUNELElBQUcsT0FBTyxDQUFDLElBQUksS0FBSyxhQUFhLEVBQUU7d0JBQ2pDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFBO3FCQUMzQjtpQkFDRjtnQkFDRCxJQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEVBQUU7b0JBQzlCLElBQUcsT0FBTyxDQUFDLElBQUksS0FBSyxpQkFBaUIsRUFBRTt3QkFDckMsT0FBTyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7cUJBQzNCO29CQUNELElBQUcsT0FBTyxDQUFDLElBQUksS0FBSyxZQUFZLEVBQUU7d0JBQ2hDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFBO3FCQUMxQjtpQkFDRjtnQkFDRCxJQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUU7b0JBQzFCLElBQUcsT0FBTyxDQUFDLElBQUksS0FBSyxTQUFTLElBQUssSUFBSSxDQUFDLGlCQUFpQixFQUFFO3dCQUN4RCxPQUFPLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztxQkFDM0I7aUJBQ0Y7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNIO0lBRUYsQ0FBQztJQUNELFlBQVksQ0FBQyxVQUFjO1FBQ3pCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBQztZQUN2QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFZLEVBQUUsRUFBRTtnQkFDakUsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBQztvQkFDbkMsT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7aUJBQ3hCO3FCQUFJO29CQUNILE9BQU8sQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO2lCQUN4QjtZQUVKLENBQUMsQ0FBQyxDQUFDO1NBQ0g7SUFDSixDQUFDO0lBRUQsUUFBUSxDQUFDLFlBQW1CO1FBQzFCLElBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsRUFBQztZQUNwQyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQVcsRUFBRSxFQUFFO2dCQUN6RCxPQUFPLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUM5QixDQUFDLENBQUMsQ0FBQztTQUNBO0lBQ0gsQ0FBQztJQUVELHdCQUF3Qjs7UUFDdEIsTUFBTSxJQUFJLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2pJLElBQUcsQ0FBQSxNQUFBLElBQUksQ0FBQyxVQUFVLDBDQUFFLHdCQUF3QixLQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLENBQUMsRUFBRTtZQUMzRyxNQUFBLE1BQUEsSUFBSSxDQUFDLGVBQWUsMENBQUUsSUFBSSwwQ0FBRSxPQUFPLENBQUUsQ0FBQyxNQUFXLEVBQUUsRUFBRTtnQkFDbkQsSUFBRyxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBQztvQkFDN0IsTUFBTSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7aUJBQ3ZCO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUNELElBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLEVBQUU7WUFDL0QsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtZQUNyQixNQUFBLE1BQUEsSUFBSSxDQUFDLGVBQWUsMENBQUUsSUFBSSwwQ0FBRSxPQUFPLENBQUUsQ0FBQyxNQUFXLEVBQUUsRUFBRTtnQkFDbkQsSUFBRyxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBQztvQkFDN0IsTUFBTSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7aUJBQ3ZCO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7OztZQW5vQkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLDI1R0FBMkM7O2FBRTVDOzs7OzhCQUVFLEtBQUs7eUJBQ0wsS0FBSzt5QkFDTCxLQUFLOzZCQUNMLE1BQU07MkJBQ04sS0FBSztnQ0FDTCxLQUFLOzZCQUNMLEtBQUs7cUNBRUwsS0FBSyxTQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtbW9yZS1vcHRpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tb3JlLW9wdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbW9yZS1vcHRpb24uY29tcG9uZW50Lmxlc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTW9yZU9wdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSBjdXJyZW50V29ya2Zsb3cgPSAnJztcclxuICBASW5wdXQoKSBvcGVuZWRGcm9tID0gJydcclxuICBASW5wdXQoKSBpc0VkaXRNb2RlID0gZmFsc2VcclxuICBAT3V0cHV0KCkgc2VsZWN0ZWRPcHRpb24gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQElucHV0KCkgaXNSQ1NlbGVjdGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaXNQcm9ncmFtU2VsZWN0ZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBhbGxvd2VkRmVhdHVyZTogYW55O1xyXG4gIG9yZ0RldGFpbHM6IGFueTtcclxuICBASW5wdXQoJ29yZ0RldGFpbHNEYXRhJykgc2V0IGdldE9yZ2FuaXphdGlvbkRldGFpbHMoZGV0YWlsczogYW55KSB7XHJcbiAgICB0aGlzLm9yZ0RldGFpbHMgPSBkZXRhaWxzID8/ICd7fSc7XHJcbiAgICBpZihkZXRhaWxzICYmIE9iamVjdC5rZXlzKGRldGFpbHMpPy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy51cGRhdGVQcm9ncmFtTW9yZU9wdGlvbnMoKTtcclxuICAgIH1cclxuICB9O1xyXG4gIGZlYXR1cmVmbGFncm9sZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByb2dyYW1TaW1wbGlmeUZsYWc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBmZl9yY19saXN0aW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcGVybWlzc2lvblRleHQ6IHN0cmluZyA9ICdQZXJtaXNzaW9ucyc7XHJcblxyXG4gIHBsYWNlaG9sZGVyVGV4dHM6IGFueSA9IHtcclxuICAgQUFSOiAnU2VsZWN0IHdoYXQgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiB5b3Ugd291bGQgbGlrZSB0byBpbmNsdWRlIGluIHRoZSByaXNrLicsXHJcbiAgIENBUDogJ1NlbGVjdCB3aGF0IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24geW91IHdvdWxkIGxpa2UgdG8gaW5jbHVkZSBpbiB0aGUgcG9saWN5LicsXHJcbiAgIENBUjogJ1NlbGVjdCB3aGF0IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24geW91IHdvdWxkIGxpa2UgdG8gaW5jbHVkZSBpbiB0aGUgcmVzcG9uc2liaWxpdHkuJyxcclxuICAgQ0FTOiAnU2VsZWN0IHdoYXQgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiB5b3Ugd291bGQgbGlrZSB0byBpbmNsdWRlIGluIHRoZSBzdXJ2ZXkuJyxcclxuICAgTEFJOiAnU2VsZWN0IHdoYXQgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiB5b3Ugd291bGQgbGlrZSB0byBpbmNsdWRlIGluIHRoZSBpc3N1ZS4nLFxyXG4gICBDQVBSOidTZWxlY3Qgd2hhdCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHlvdSB3b3VsZCBsaWtlIHRvIGluY2x1ZGUgaW4gdGhlIHNjb3BlLidcclxuICB9O1xyXG5cclxuICBidXNpbmVzc0N5Y2xlID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJ1c2luZXNzQ3ljbGVcIikgPz8gJ3t9Jyk7XHJcbiAgbW9yZU9wdGlvbnNMaXN0OiBhbnkgPSB7XHJcbiAgICBBQVI6IFtcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L292ZXJzaWdodC5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdSaXNrIE92ZXJzZWVyJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdSaXNrIE92ZXJzZWVyJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogJ092ZXJzZWVyIGVuYWJsZXMgeW91IHRvIGRlc2lnbmF0ZSBwZXJzb25zIHRvIG92ZXJzZWUgdGhlIHJpc2sgbWFuYWdlbWVudCBwcm9jZXNzLicsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnT1ZFUlNFRVInXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9wcmlvcml0eS5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdSaXNrIE1pdGlnYXRpb24gUHJpb3JpdHknLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ1Jpc2sgTWl0aWdhdGlvbiBQcmlvcml0eScsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6ICdUaGlzIHNldHMgdGhlIHByaW9yaXR5IGxldmVsIGZvciB0aGUgbWl0aWdhdGlvbiBvZiBlYWNoIHJpc2suJyxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICAgIGNvZGU6ICdNSVRJR0FUSU9OJ1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvb2JqZWN0aXZlcy5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdSZWNvbW1lbmRlZCBNaXRpZ2F0aW9uIFBsYW5zJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdSZWNvbW1lbmRlZCBNaXRpZ2F0aW9uIFBsYW5zJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogJ1NwZWNpZnkgdGhlIG1pdGlnYXRpb24gcGxhbiB0aGF0IGNhbiBiZSB1bmRlcnRha2VuIHRvIG1pdGlnYXRlIHRoZSByaXNrLicsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnTUlUSUdBVElPTl9QTEFOJ1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvb3ZlcnNpZ2h0LnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ1Jpc2sgTGFiZWwnLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ1Jpc2sgTGFiZWwnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiAnVGhpcyBvcHRpb24gbGV0cyB5b3Ugc3BlY2lmeSBpZiB0aGlzIGlzIGEgbmV3bHkgaWRlbnRpZmllZCByaXNrIG9yIGl0IGlzIGEgcmFwaWRseSBjaGFuZ2luZyByaXNrLicsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnUklTS19MQUJFTCdcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgICBDQVA6IFtcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3Jlc3BvbnNpYmlsaXR5LWNlbnRlci5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdSZXNwb25zaWJpbGl0eSBDZW50ZXInLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ1Jlc3BvbnNpYmlsaXR5IENlbnRlcicsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6IGBSZXNwb25zaWJpbGl0eSBDZW50ZXJzIHJlcHJlc2VudCB5b3VyIG9yZ2FuaXphdGlvbmFsIGFuZFxyXG4gICAgICAgICBvcGVyYXRpb25hbCBpbmZyYXN0cnVjdHVyZS4gWW91IGNhbiBhdHRyaWJ1dGUgYSBwb2xpY3kgdG8gb25lIG9yIG1vcmUgUmVzcG9uc2liaWxpdHkgQ2VudGVycy5cclxuICAgICAgICAgIFdoZXJlIHlvdSBhdHRyaWJ1dGUgYSBwb2xpY3kgdG8gYSBSZXNwb25zaWJpbGl0eSBDZW50ZXIsIHRoYXQgcG9saWN5IHdpbGwgYmUgc2hvd24gYXMgYSBwb2xpY3lcclxuICAgICAgICAgICB0aGF0IGlzIHJlcXVpcmVkIHRvIGJlIGF0dGVzdGVkIGJ5IGFsbCB0aGUgcGVyc29ucyBhc3NvY2lhdGVkIHdpdGggdGhhdCBSZXNwb25zaWJpbGl0eSBDZW50ZXIuXHJcbiAgICAgICAgICAgIFRoZSBwZXJmb3JtYW5jZSBvZiBhIHBvbGljeSBhc3NpZ25lZCB0byBhIFJlc3BvbnNpYmlsaXR5IENlbnRlciB3aWxsIGFsc28gY29udHJpYnV0ZSB0byB0aGVcclxuICAgICAgICAgICAgb3ZlcmFsbCBwZXJmb3JtYW5jZSBvZiB0aGUgUmVzcG9uc2liaWxpdHkgQ2VudGVyLmAsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnUkVTUE9OU0lCSUxJVFlfQ0VOVEVSJ1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvcmV2aWV3ZXIuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnUmV2aWV3ZXInLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ1Jldmlld2VyJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogYFRoaXMgb3B0aW9ucyBsZXRzIHlvdSBzcGVjaWZ5IGEgcmV2aWV3IGxpZmVjeWNsZSBmb3IgdGhlIHBvbGljeSBkb2N1bWVudC5cclxuICAgICAgICAgWW91IGNhbiBzZWxlY3QgYSByZXZpZXdlciBhbmQgZGV0ZXJtaW5lIGhvdyBvZnRlbiB0aGUgcG9saWN5IG5lZWRzIHRvIGJlIHJldmlld2VkLmAsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnUkVWSUVXRVInXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9jaGVja3BvaW50cy5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdDaGVja3BvaW50cycsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnQ2hlY2twb2ludHMnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiBgQ2hlY2twb2ludHMgZW5hYmxlIHlvdSB0byBjb25maXJtIGEgcGVyc29u4oCZcyB1bmRlcnN0YW5kaW5nIG9mIHRoZSBwb2xpY3kgZG9jdW1lbnQuXHJcbiAgICAgICAgIFlvdSBjYW4gY3JlYXRlIHF1ZXN0aW9ucyBiYXNlZCBvbiB0aGUgcG9saWN5IGNvbnRlbnQgYW5kIHJlcXVpcmUgdGhhdCB0aGUgcmVhZGVyIG9mIHRoZSBwb2xpY3lcclxuICAgICAgICAgYW5zd2VycyB0aGVzZSBxdWVzdGlvbnMgY29ycmVjdGx5IGJlZm9yZSBwcm9jZWVkaW5nIHRvIGNvbXBsZXRlIHRoZSBhdHRlc3RhdGlvbi5cclxuICAgICAgICBgLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICAgICAgY29kZTogJ0NIRUNLUE9JTlRTJ1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvb3ZlcnNpZ2h0LnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ092ZXJzZWVyJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdPdmVyc2VlcicsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6IGBPdmVyc2VlcnMgYXJlIHBlcnNvbnMgd2hvIG92ZXJzZWUgdGhlIHBvbGljeS5cclxuICAgICAgICAgVGhlc2UgcGVyc29ucyB3aWxsIHJlY2VpdmUgZW1haWwgbm90aWZpY2F0aW9ucyBhYm91dCB0aGUgcGVyZm9ybWFuY2Ugb2YgdGhlIHBvbGljeS5cclxuICAgICAgICAgQXMgdGhlIHBlcnNvbiBjcmVhdGluZyB0aGUgcG9saWN5LCB5b3Ugd2lsbCBhdXRvbWF0aWNhbGx5IHJlY2VpdmUgZW1haWwgbm90aWZpY2F0aW9ucyBhYm91dCB0aGUgcGVyZm9ybWFuY2Ugb2YgdGhlIHBvbGljeS5cclxuICAgICAgICBgLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICAgICAgY29kZTogJ09WRVJTRUVSJ1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvZm9ybWF0LWV2aWRlbmNlLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ0Fzc29jaWF0ZWQgRG9jdW1lbnRzJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdBc3NvY2lhdGVkIERvY3VtZW50cycsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6IGBBc3NvY2lhdGVkIGRvY3VtZW50cyBhcmUgZmlsZXMgdGhhdCBtaWdodCBiZSByZWxhdGVkIHRvIHRoZSBwb2xpY3kuIFRoZXNlIGNvdWxkIGJlIGRvY3VtZW50cyB3aGljaCBhcmUgcmVsYXRlZFxyXG4gICAgICAgICB0byB0aGUgcG9saWN5IG9yIGFyZSBhIHN1YnNldCBvZiB0aGUgcG9saWN5IHRoYXQgaXMgYmVpbmcgY3JlYXRlZC5gLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICAgICAgY29kZTogJ0FTU09DSUFURURfRE9DVU1FTlRTJ1xyXG4gICAgICB9XHJcbiAgICBdLFxyXG4gICAgQ0FSOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9vYmplY3RpdmVzLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ09iamVjdGl2ZScsXHJcbiAgICAgICAgY29kZTogJ09CSkVDVElWRScsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnT2JqZWN0aXZlJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogJ1RoZSBvYmplY3RpdmUgYWxsb3dzIHlvdSB0byBzcGVjaWZ5IGFuIG9iamVjdGl2ZSBmb3IgdGhlIHJlc3BvbnNpYmlsaXR5LicsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgfSxcclxuXHJcbiAgICAgIC8vIHtcclxuICAgICAgLy8gICBpbWFnZVVybDogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9jYXRlZ29yeS5zdmcnLFxyXG4gICAgICAvLyAgIG5hbWU6ICdQcm9ncmFtJyxcclxuICAgICAgLy8gICBjb2RlOiAnQ0FURUdPUlknLFxyXG4gICAgICAvLyAgIHRvb2x0aXBUaXRsZTogJ1Byb2dyYW0nLFxyXG4gICAgICAvLyAgIHRvb2x0aXBNZXNzYWdlOiBgUHJvZ3JhbXMgZW5hYmxlIHlvdSB0byBncm91cCBzaW1pbGFyIHJlc3BvbnNpYmlsaXRpZXMgdG9nZXRoZXIuXHJcbiAgICAgIC8vICAgICBBbGxvY2F0aW5nIGEgcmVzcG9uc2liaWxpdHkgdG8gYSBQcm9ncmFtIGFsbG93cyB5b3UgdG8gdmlldyBhIGdyb3VwIG9yIHNpbWlsYXIgcmVzcG9uc2liaWxpdGllcyBhdCBvbmNlLlxyXG4gICAgICAvLyAgICAgSXQgYWxzbyBhbGxvd3MgeW91IHRvIHZpZXcgdGhlIHBlcmZvcm1hbmNlIG9mIHRob3NlIGNvbGxlY3RpdmUgcmVzcG9uc2liaWxpdGllcy5gLFxyXG4gICAgICAvLyAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAvLyAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICAgIC8vIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9yZXNwb25zaWJpbGl0eS1jZW50ZXIuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnUmVzcG9uc2liaWxpdHkgQ2VudGVyJyxcclxuICAgICAgICBjb2RlOiAnUkMnLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ1Jlc3BvbnNpYmlsaXR5IENlbnRlcicsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6IGBSZXNwb25zaWJpbGl0eSBDZW50ZXJzIHJlcHJlc2VudCB5b3VyIG9yZ2FuaXphdGlvbmFsIGFuZCBvcGVyYXRpb25hbCBpbmZyYXN0cnVjdHVyZS48YnI+XHJcbiAgICAgICAgICBZb3UgY2FuIGFzc2lnbiBhIHJlc3BvbnNpYmlsaXR5IHRvIG9uZSBvciBtb3JlIFJlc3BvbnNpYmlsaXR5IENlbnRlcnMuIFdoZXJlIHlvdSBhc3NpZ24gYSByZXNwb25zaWJpbGl0eSB0byBhIFJlc3BvbnNpYmlsaXR5IENlbnRlcixcclxuICAgICAgICAgIHRoYXQgcmVzcG9uc2liaWxpdHkgd2lsbCBiZSBzaG93biBhcyBhIHJlc3BvbnNpYmlsaXR5IHRoYXQgaXMgcmVxdWlyZWQgdG8gYmUgY29tcGxldGVkIGJ5IHRoZSBSZXNwb25zaWJpbGl0eSBDZW50ZXIuXHJcbiAgICAgICAgICBUaGUgcGVyZm9ybWFuY2Ugb2YgYSByZXNwb25zaWJpbGl0eSBhc3NpZ25lZCB0byBhIFJlc3BvbnNpYmlsaXR5IENlbnRlciB3aWxsIGFsc28gY29udHJpYnV0ZSB0byB0aGUgb3ZlcmFsbCBwZXJmb3JtYW5jZSBvZiB0aGUgUmVzcG9uc2liaWxpdHkgQ2VudGVyLmAsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2NhdGVnb3J5LnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ1Byb2dyYW0nLFxyXG4gICAgICAgIGNvZGU6ICdQUk9HUkFNJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdQcm9ncmFtJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogYFByb2dyYW1zIGVuYWJsZSB5b3UgdG8gZ3JvdXAgc2ltaWxhciByZXNwb25zaWJpbGl0aWVzIHRvZ2V0aGVyLlxyXG4gICAgICAgICAgQWxsb2NhdGluZyBhIHJlc3BvbnNpYmlsaXR5IHRvIGEgUHJvZ3JhbSBhbGxvd3MgeW91IHRvIHZpZXcgYSBncm91cCBvciBzaW1pbGFyIHJlc3BvbnNpYmlsaXRpZXMgYXQgb25jZS5cclxuICAgICAgICAgIEl0IGFsc28gYWxsb3dzIHlvdSB0byB2aWV3IHRoZSBwZXJmb3JtYW5jZSBvZiB0aG9zZSBjb2xsZWN0aXZlIHJlc3BvbnNpYmlsaXRpZXMuYCxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvZm9ybWF0LWV2aWRlbmNlLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ0Zvcm1hdCAmIEV2aWRlbmNlJyxcclxuICAgICAgICBjb2RlOiAnRk9STUFURV9FVklERU5DRScsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnIEZvcm1hdCAmIEV2aWRlbmNlJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogJ1lvdSBjYW4gdXBsb2FkIGEgZm9ybWF0IGZvciB0aGlzIHJlc3BvbnNpYmlsaXR5IGFuZCB5b3UgY2FuIGFsc28gcmVxdWlyZSBldmlkZW5jZSBvZiBjb21wbGV0aW9uIG9mIHRoZSByZXNwb25zaWJpbGl0eSB0byBiZSBwcm92aWRlZC4nLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9hc3Nlc3NtZW50cy5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdBc3Nlc3NtZW50cycsXHJcbiAgICAgICAgY29kZTogJ0FTU0VTU01FTlQnLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJyBBc3Nlc3NtZW50cycsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6ICdBc3Nlc3NtZW50cyBhbGxvdyB5b3UgdG8gYXNzb2NpYXRlIG91dGNvbWUgYmFzZWQtcXVlc3Rpb25uYWlyZXMgb3Igc2VsZi1hc3Nlc3NtZW50IHF1ZXN0aW9ubmFpcmVzIHdpdGggYSByZXNwb25zaWJpbGl0eS4gVGhlc2UgbmVlZCB0byBiZSBjb21wbGV0ZWQgYnkgdGhlIGFzc2lnbmVlIGFzIGEgcGFydCBvZiBjb21wbGV0aW5nIHRoZSByZXNwb25zaWJpbGl0eS4nLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICAgICAgaXNEaXNhYmxlZDogZmFsc2UsXHJcbiAgICAgICAgZGlzYWJsZWRNZXNzYWdlOiAnQW4gYXNzZXNzbWVudCBjYW4gYmUgbGlua2VkIHdpdGggYSByZXNwb25zaWJpbGl0eSBvbmx5IGFmdGVyIHJlbW92aW5nIHRoZSBhc3NvY2lhdGVkIGNoZWNrcG9pbnRzLidcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2NoZWNrcG9pbnRzLnN2ZycsXHJcbiAgICAgIC8vICBuYW1lOiAnQ2hlY2twb2ludHMgPHNwYW4gKm5nSWY9XCJmYWxzZVwiIGNsYXNzPVwiY2hlY2twb2ludC12ZXJzaW9uXCI+VjIuMDwvc3Bhbj4gPGkgY2xhc3M9XCJpY29ucyBkZXByZWNpYXRpb24taWNvbiB2eC1mcy0xNiB2eC1tbC0yXCIgYXBwVG9vbHRpcD1cIlRoaXMgaXMgYW4gb3V0LW9mLWRhdGUgdmVyc2lvbiBvZiB0aGUgQ2hlY2twb2ludHMgZmVhdHVyZS4gVG8gYWRkIGNoZWNrcG9pbnRzIHRoYXQgYXJlIG9ubHkgcmVsZXZhbnQgdG8gdGhpcyByZXNwb25zaWJpbGl0eSB5b3UgY2FuIHVzZSB0aGUgbmV3IENoZWNrcG9pbnRzIGZlYXR1cmUuIEFsdGVybmF0aXZlbHksIHlvdSBjYW4gdXNlIGFuIGV4aXN0aW5nIHF1ZXN0aW9ubmFpcmUgdGVtcGxhdGUgdXNpbmcgdGhlIEFzc2Vzc21lbnRzIGZlYXR1cmUuXCIgcGxhY2VtZW50PVwiYm90dG9tXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiPiYjeGU5MzA7PC9pPicsXHJcbiAgICAgICAgbmFtZTogJ0NoZWNrcG9pbnRzIDxpIGNsYXNzPVwiaWNvbnMgZGVwcmVjaWF0aW9uLWljb24gdngtZnMtMTYgdngtbWwtMlwiIGFwcFRvb2x0aXA9XCJUaGlzIGlzIGFuIG91dC1vZi1kYXRlIHZlcnNpb24gb2YgdGhlIENoZWNrcG9pbnRzIGZlYXR1cmUuIFRvIGFkZCBjaGVja3BvaW50cyB0aGF0IGFyZSBvbmx5IHJlbGV2YW50IHRvIHRoaXMgcmVzcG9uc2liaWxpdHkgeW91IGNhbiB1c2UgdGhlIG5ldyBDaGVja3BvaW50cyBmZWF0dXJlLiBBbHRlcm5hdGl2ZWx5LCB5b3UgY2FuIHVzZSBhbiBleGlzdGluZyBxdWVzdGlvbm5haXJlIHRlbXBsYXRlIHVzaW5nIHRoZSBBc3Nlc3NtZW50cyBmZWF0dXJlLlwiIHBsYWNlbWVudD1cImJvdHRvbVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIj4mI3hlOTMwOzwvaT4nLFxyXG4gICAgICAgIGNvZGU6ICdDSEVDS1BPSU5UUycsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnQ2hlY2twb2ludHMnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiAnVGhpcyBpcyBhbiBvdXQtb2YtZGF0ZSB2ZXJzaW9uIG9mIHRoZSBDaGVja3BvaW50cyBmZWF0dXJlLiBUbyBhZGQgY2hlY2twb2ludHMgdGhhdCBhcmUgb25seSByZWxldmFudCB0byB0aGlzIHJlc3BvbnNpYmlsaXR5IHlvdSBjYW4gdXNlIHRoZSBuZXcgQ2hlY2twb2ludHMgZmVhdHVyZS4gQWx0ZXJuYXRpdmVseSwgeW91IGNhbiB1c2UgYW4gZXhpc3RpbmcgcXVlc3Rpb25uYWlyZSB0ZW1wbGF0ZSB1c2luZyB0aGUgQXNzZXNzbWVudHMgZmVhdHVyZS4nLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICAgICAgaXNEaXNhYmxlZDogZmFsc2UsXHJcbiAgICAgICAgZGlzYWJsZWRNZXNzYWdlOiAnVGhlIGNoZWNrcG9pbnRzIGZlYXR1cmUgaXMgcmVwbGFjZWQgd2l0aCB0aGUgbmV3ICYgZW5oYW5jZWQgYXNzZXNzbWVudCBmdW5jdGlvbmFsaXR5LiBTZWxlY3QgdGhlIDxzdHJvbmc+QXNzZXNzbWVudHM8L3N0cm9uZz4gb3B0aW9uIGJlbG93IHRvIGNyZWF0ZSBpbnRlcmFjdGl2ZSBvdXRjb21lLWJhc2VkIG9yIHNlbGYtYXNzZXNzbWVudCBxdWVzdGlvbm5haXJlcy4nXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9jaGVja3BvaW50cy5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdDaGVja3BvaW50cycsXHJcbiAgICAgICAgY29kZTogJ0NIRUNLUE9JTlRTX05FVycsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnQ2hlY2twb2ludHMnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiAnQ2hlY2twb2ludHMgYWxsb3cgeW91IHRvIHNwZWNpZnkgbXVsdGlwbGUgc3RlcHMgZm9yIGEgc3BlY2lmaWMgcmVzcG9uc2liaWxpdHkgd2hpY2ggbmVlZCB0byBiZSBjb21wbGV0ZWQgYXMgcGFydCBvZiBjb21wbGV0aW5nIHRoZSByZXNwb25zaWJpbGl0eS4gT2Z0ZW4gY2hlY2twb2ludHMgYXJlIHVzZWQgdG8gcmVwbGFjZSBpbnN0cnVjdGlvbiBtYW51YWxzLicsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBpc0Rpc2FibGVkOiBmYWxzZSxcclxuICAgICAgICBkaXNhYmxlZE1lc3NhZ2U6ICdOZXcgQ2hlY2twb2ludHMgY2FuIGJlIGxpbmtlZCB3aXRoIGEgcmVzcG9uc2liaWxpdHkgb25seSBhZnRlciByZW1vdmluZyB0aGUgb3V0LW9mLWRhdGUgdmVyc2lvbiBvZiB0aGUgQ2hlY2twb2ludHMuJ1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvcmlza3Muc3ZnJyxcclxuICAgICAgICBuYW1lOiAnUmlzayBDbGFzc2lmaWNhdGlvbicsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnUmlzayBDbGFzc2lmaWNhdGlvbicsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6ICdZb3UgY2FuIHNwZWNpZnkgdGhlIGxldmVsIG9mIHJpc2sgdGhhdCB0aGUgb3JnYW5pemF0aW9uIHdpbGwgYmUgZXhwb3NlZCB0byBpZiB0aGUgcmVzcG9uc2liaWxpdHkgaXMgbm90IGNvbXBsZXRlZC4nLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICAgICAgY29kZTogJ1JJU0tfQ0xBU1NJRklDQVRJT04nXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9yZXZpZXdlci5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdSZXZpZXdlcicsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnUmV2aWV3ZXInLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiAnQSBSZXZpZXdlciBpcyBhIHBlcnNvbiB0aGF0IGlzIHRhc2tlZCB3aXRoIHJldmlld2luZyB0aGUgY29tcGxldGVkIHJlc3BvbnNpYmlsaXR5LicsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnUkVWSUVXRVInXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9vdmVyc2lnaHQuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnT3ZlcnNlZXInLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ092ZXJzZWVyJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogYE92ZXJzaWdodCBlbmFibGVzIHlvdSB0byBkZXNpZ25hdGUgcGVyc29ucyB0byBvdmVyc2VlIHRoZSByZXNwb25zaWJpbGl0eS5cclxuICAgICAgICAgIFRoZXNlIHBlcnNvbnMgd2lsbCByZWNlaXZlIGVtYWlsIG5vdGlmaWNhdGlvbnMgYWJvdXQgdGhlIHBlcmZvcm1hbmNlIG9mIHRoZSByZXNwb25zaWJpbGl0eS48YnI+XHJcbiAgICAgICAgICBBcyB0aGUgcGVyc29uIGNyZWF0aW5nIHRoZSByZXNwb25zaWJpbGl0eSwgeW91IHdpbGwgYXV0b21hdGljYWxseSByZWNlaXZlIGVtYWlsIG5vdGlmaWNhdGlvbnMgYWJvdXQgdGhlIHBlcmZvcm1hbmNlIG9mIHRoZSByZXNwb25zaWJpbGl0eS5gLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICAgICAgY29kZTogJ09WRVJTRUVSJ1xyXG4gICAgICB9LFxyXG4gICAgICAvLyB7XHJcbiAgICAgIC8vICAgaW1hZ2VVcmw6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvYXVkaXQuc3ZnJyxcclxuICAgICAgLy8gICBuYW1lOiAnQVNTVVJBTkNFJyxcclxuICAgICAgLy8gICB0b29sdGlwVGl0bGU6ICdSRVFVSVJFUyBBVURJVD8nLFxyXG4gICAgICAvLyAgIHRvb2x0aXBNZXNzYWdlOiAnU2VsZWN0IHRoZSB0ZXN0IHBsYW4gY2F0ZWdvcmllcyB0aGF0IHlvdSB3b3VsZCBsaWtlIHRvIGFkZCB0aGlzIHJlc3BvbnNpYmlsaXR5IHRvLicsXHJcbiAgICAgIC8vICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgIC8vICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgLy8gICBjb2RlOiAnQVNTVVJBTkNFJyxcclxuICAgICAgLy8gICBpc0Rpc2FibGVkOiB0cnVlLFxyXG4gICAgICAvLyAgIGRpc2FibGVkTWVzc2FnZTogJ1RoaXMgcmVzcG9uc2liaWxpdHkgY2FuIGJlIHNjaGVkdWxlZCBmb3IgYW4gYXVkaXQgb25seSBhZnRlciB0aGUgUmVzcG9uc2liaWxpdHkgQ2VudGVyIGlzIHNlbGVjdGVkLidcclxuICAgICAgLy8gfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2F1ZGl0LnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ0FTU1VSQU5DRScsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnQVNTVVJBTkNFJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogJ1NlbGVjdCB0aGUgdGVzdCBwbGFuIGNhdGVnb3JpZXMgdGhhdCB5b3Ugd291bGQgbGlrZSB0byBhZGQgdGhpcyByZXNwb25zaWJpbGl0eSB0by4nLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICAgICAgY29kZTogJ0FTU1VSQU5DRSdcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2F1ZGl0LnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ1JFUVVJUkVTIEFVRElUPycsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnUkVRVUlSRVMgQVVESVQ/JyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogJ1NlbGVjdCB0aGUgYXVkaXQgY2F0ZWdvcmllcyB0aGF0IHlvdSB3b3VsZCBsaWtlIHRvIGFkZCB0aGlzIHJlc3BvbnNpYmlsaXR5IHRvLicsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnUkVRVUlSRVNfQVVESVQnLFxyXG4gICAgICAgIGlzRGlzYWJsZWQ6IHRydWUsXHJcbiAgICAgICAgZGlzYWJsZWRNZXNzYWdlOiAnVGhpcyByZXNwb25zaWJpbGl0eSBjYW4gYmUgc2NoZWR1bGVkIGZvciBhbiBhdWRpdCBvbmx5IGFmdGVyIHRoZSBSZXNwb25zaWJpbGl0eSBDZW50ZXIgaXMgc2VsZWN0ZWQuJ1xyXG4gICAgICB9LFxyXG4gICAgICAvLyB7XHJcbiAgICAgIC8vICAgaW1hZ2VVcmw6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vcmlzay1taXRpZ2F0aW9uLXByaW9yaXR5LnN2ZycsXHJcbiAgICAgIC8vICAgbmFtZTogJ0FkZCBhbiBhcHAnLFxyXG4gICAgICAvLyAgIHRvb2x0aXBUaXRsZTogJycsXHJcbiAgICAgIC8vICAgdG9vbHRpcE1lc3NhZ2U6ICcnLFxyXG4gICAgICAvLyAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAvLyBoaWRkZW46IGZhbHNlLFxyXG4gICAgICAvLyAgIGNvZGU6ICdBUFBTJ1xyXG4gICAgICAvLyB9XHJcbiAgICBdLFxyXG4gICAgQ0FTOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9yZXNwb25zaWJpbGl0eS1jZW50ZXIuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnUmVzcG9uc2liaWxpdHkgQ2VudGVyJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICcnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiAnJyxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvZm9ybWF0LWV2aWRlbmNlLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ0Zvcm1hdCAmYW1wOyBFdmlkZW5jZScsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogJycsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L292ZXJzaWdodC5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdPdmVyc2VlcicsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogJycsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgfVxyXG4gICAgXSxcclxuXHJcbiAgICAgTEFJOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9leGNlcHRpb24tdHlwZS5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdFeGNlcHRpb24gdHlwZScsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnRXhjZXB0aW9uIHR5cGUnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiAnRXhjZXB0aW9uIHR5cGUgbGV0cyB5b3Ugc3BlY2lmeSB3aGV0aGVyIHRoZXJlIGlzIGEgZGVzaWduIG9yIGFuIG9wZXJhdGlvbmFsIGVmZmVjdGl2ZW5lc3MgcHJvYmxlbS4nLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICAgICAgY29kZTogJ0VYQ0VQVElPTl9UWVBFJ1xyXG4gICAgICB9LFxyXG4gICAgICAvLyB7XHJcbiAgICAgIC8vICAgaW1hZ2VVcmw6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvaXNzdWUtdHlwZS5zdmcnLFxyXG4gICAgICAvLyAgIG5hbWU6ICdJc3N1ZSB0eXBlJyxcclxuICAgICAgLy8gICB0b29sdGlwVGl0bGU6ICcnLFxyXG4gICAgICAvLyAgIHRvb2x0aXBNZXNzYWdlOiAnJyxcclxuICAgICAgLy8gICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgLy8gICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICAvLyAgIGNvZGU6ICdJU1NVRV9UWVBFJ1xyXG4gICAgICAvLyB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvcHJpb3JpdHkuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnUHJpb3JpdHknLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ1ByaW9yaXR5JyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogJ1RoaXMgc2V0cyB0aGUgcHJpb3JpdHkgbGV2ZWwgZm9yIHJlc29sdmluZyBlYWNoIGlzc3VlLicsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnUFJJT1JJVFknLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvYXNzb2NpYXRlZC1yaXNrcy5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdBc3NvY2lhdGVkIFJpc2tzJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdBc3NvY2lhdGVkIFJpc2tzJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogJ0Fzc29jaWF0ZWQgcmlza3MgbGV0cyB5b3Ugc3BlY2lmeSB0aGUgcmlza3MgdGhhdCBhcmUgcmVsYXRlZCB0byB0aGlzIGlzc3VlLicsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnQVNTT0NJQVRFRF9SSVNLUydcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L292ZXJzaWdodC5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdPdmVyc2VlcicsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnT3ZlcnNlZXInLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiAnT3ZlcnNlZXJzIGFyZSB0aGUgcGVyc29ucyByZXNwb25zaWJsZSBmb3Igb3ZlcnNlZWluZyBhbiBpc3N1ZS4gVGhlc2UgcGVyc29ucyB3aWxsIHJlY2VpdmUgZW1haWwgbm90aWZpY2F0aW9ucyBhYm91dCB0aGUgaXNzdWUgc3RhdHVzLiBBcyB0aGUgcGVyc29uIHJlcG9ydGluZyB0aGlzIGlzc3VlLCB5b3Ugd2lsbCBhdXRvbWF0aWNhbGx5IHJlY2VpdmUgc3VjaCBlbWFpbCBub3RpZmljYXRpb25zLicsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnT1ZFUlNJR0hUJ1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvZm9ybWF0LWV2aWRlbmNlLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ0V2aWRlbmNlJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdFdmlkZW5jZScsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6ICdZb3UgY2FuIHJlcXVpcmUgdGhhdCB0aGUgcGVyc29uIHJlc29sdmluZyB0aGUgaXNzdWUgdXBsb2FkcyBldmlkZW5jZSB0byBjb25maXJtJyxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICAgIGNvZGU6ICdFVklERU5DRSdcclxuICAgICAgfVxyXG4gICAgXSxcclxuICAgIENBUFIgOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9yb2xlcy5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdSb2xlKFMpJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdSb2xlKHMpJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogYFJvbGUocykgbGV0IHlvdSBzcGVjaWZ5IHRoZSB1c2VycyB0aGF0IGNhbiBiZSDigJxPd25lcnPigJ0gb2YgYSBQcm9ncmFtLmAsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnUk9MRVMnXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9vd25lci5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdPd25lcihzKScsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnT3duZXIocyknLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiBgT3duZXJzIGFyZSByZXNwb25zaWJsZSBmb3IgbWFuYWdpbmcgYSBQcm9ncmFtLiBPbmx5IE93bmVycyBjYW4gbWFrZSBjaGFuZ2VzIHRvIGEgUHJvZ3JhbSBhbmQgdGhlIHJlc3BvbnNpYmlsaXRpZXMgdGhhdCBhcmUgbGlua2VkIHdpdGggdGhlIFByb2dyYW0uPGJyPlxyXG4gICAgICAgIFRoZSA8Yj5LZXkgQWRtaW48L2I+IGFuZCBhbGwgPGI+QWRtaW48L2I+IHVzZXJzIHdpbGwgYmUgc2VsZWN0ZWQgYXMgdGhlIE93bmVycyBvZiBhIFByb2dyYW0gYnkgZGVmYXVsdC5cclxuICAgICAgICBgLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICAgICAgY29kZTogJ09XTkVSUydcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2FwcHJvdmFsLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ0FwcHJvdmVyJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdBcHByb3ZlcicsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6IGBBbiBBcHByb3ZlciBpcyByZXNwb25zaWJsZSBmb3IgYXBwcm92aW5nIGEgUHJvZ3JhbS4gV2hlcmUgYW4gQXBwcm92ZXIgaXMgc2VsZWN0ZWQsIHRoZSBQcm9ncmFtIGFuZCBhbGwgcmVzcG9uc2liaWxpdGllcyBsaW5rZWQgd2l0aCB0aGF0IFByb2dyYW0gd2lsbCBvbmx5IGNvbW1lbmNlIG9uY2UgdGhlIFByb2dyYW0gaGFzIGJlZW4gYXBwcm92ZWQuYCxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IHRydWUsXHJcbiAgICAgICAgY29kZTogJ0FQUFJPVkVSJ1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvcmVjdXJyaW5nLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ1Byb2dyYW0gRHVyYXRpb24nLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ1Byb2dyYW0gRHVyYXRpb24nLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiAnUHJvZ3JhbSBEdXJhdGlvbiByZWZlcnMgdG8gdGhlIGR1cmF0aW9uIG9mIHRoZSBQcm9ncmFtLiBBIFByb2dyYW0gY2FuIG9jY3VyIGluIHBlcnBldHVpdHksIG9yIGl0IGNhbiBvY2N1ciB1bnRpbCB0aGUgZW5kIG9mIHRoZSBjdXJyZW50IGJ1c2luZXNzIGN5Y2xlIHRoYXQgaGFzIGJlZW4gc3BlY2lmaWVkIGluICcrdGhpcy5idXNpbmVzc0N5Y2xlPy5zZWxlY3RlZEN5Y2xlPy5idXNpbmVzc19jeWNsZSsnLiAgQWxsIHJlc3BvbnNpYmlsaXRpZXMgbGlua2VkIHdpdGggdGhhdCBQcm9ncmFtIHdpbGwgYWxzbyBoYXZlIHRoZSBzYW1lIFByb2dyYW0gRHVyYXRpb24uJyxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IHRydWUsXHJcbiAgICAgICAgY29kZTogJ1BST0dSQU1fRlJFUVVFTkNZJ1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvbG9jay1zY29wZS5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdMb2NrIHRoZSBQcm9ncmFtIFNjb3BlJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdMb2NrIHRoZSBQcm9ncmFtIFNjb3BlJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogYElmIHRoZSBQcm9ncmFtIFNjb3BlIGlzIGxvY2tlZCwgbmVpdGhlciB0aGUgUHJvZ3JhbSBub3IgdGhlIHJlc3BvbnNpYmlsaXRpZXMgbGlua2VkIHdpdGggdGhlIFByb2dyYW0gY2FuIGJlIGVkaXRlZCBvbmNlIHRoZSBQcm9ncmFtIGJlZ2lucy4gSW4gb3JkZXIgdG8gZWRpdCB0aGUgUHJvZ3JhbSBvciB0aGUgbGlua2VkIHJlc3BvbnNpYmlsaXRpZXMsIHRoZSBQcm9ncmFtIGRldGFpbHMgd2lsbCBuZWVkIHRvIGJlIGVkaXRlZC5gLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogdHJ1ZSxcclxuICAgICAgICBjb2RlOiAnU0NPUEVfQ0hBTkdFUydcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3Jlc3BvbnNpYmlsaXR5LWNlbnRlci5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdSZXNwb25zaWJpbGl0eSBDZW50ZXInLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ1Jlc3BvbnNpYmlsaXR5IENlbnRlcicsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6IGBSZXNwb25zaWJpbGl0eSBDZW50ZXJzIHJlcHJlc2VudCB5b3VyIG9yZ2FuaXphdGlvbmFsIGFuZCBvcGVyYXRpb25hbCBpbmZyYXN0cnVjdHVyZS4gV2hlcmUgUmVzcG9uc2liaWxpdHkgQ2VudGVycyBhcmUgc2VsZWN0ZWQgd2hlbiBjcmVhdGluZyBhIFByb2dyYW0sIG9ubHkgdGhvc2UgUmVzcG9uc2liaWxpdGllcyBDZW50ZXJzIHdpbGwgYmUgYXZhaWxhYmxlIGZvciBzZWxlY3Rpb24gd2hlbiBjcmVhdGluZyBhIHJlc3BvbnNpYmlsaXR5IGxpbmtlZCB3aXRoIHRoZSBQcm9ncmFtLmAsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiB0cnVlLFxyXG4gICAgICAgIGNvZGU6ICdSQydcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3doby5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdBc3NpZ25lZXMnLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ0Fzc2lnbmVlcycsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6IGBBc3NpZ25lZXMgYXJlIHJlcXVpcmVkIHRvIGNvbXBsZXRlIHRoZSByZXNwb25zaWJpbGl0aWVzIHRoYXQgaGF2ZSBiZWVuIGFzc2lnbmVkIHRvIHRoZW0uIFdoZXJlIEFzc2lnbmVlcyBhcmUgc2VsZWN0ZWQgd2hlbiBjcmVhdGluZyBhIFByb2dyYW0sIG9ubHkgdGhvc2UgQXNzaWduZWVzIHdpbGwgYmUgYXZhaWxhYmxlIGZvciBzZWxlY3Rpb24gd2hlbiBjcmVhdGluZyBhIHJlc3BvbnNpYmlsaXR5IGxpbmtlZCB3aXRoIHRoZSBQcm9ncmFtLmAsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiB0cnVlLFxyXG4gICAgICAgIGNvZGU6ICdBU1NJR05FRVMnXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9yZXZpZXdlci5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdSZXZpZXdlcnMnLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ1Jldmlld2VycycsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6IGBSZXZpZXdlcnMgYXJlIHJlcXVpcmVkIHRvIHJldmlldyByZXNwb25zaWJpbGl0aWVzIGFmdGVyIHRoZXkgaGF2ZSBiZWVuIGNvbXBsZXRlZC4gV2hlcmUgUmV2aWV3ZXJzIGFyZSBzZWxlY3RlZCB3aGVuIGNyZWF0aW5nIGEgUHJvZ3JhbSwgb25seSB0aG9zZSBSZXZpZXdlcnMgd2lsbCBiZSBhdmFpbGFibGUgZm9yIHNlbGVjdGlvbiB3aGVuIGNyZWF0aW5nIGEgcmVzcG9uc2liaWxpdHkgbGlua2VkIHdpdGggdGhlIFByb2dyYW0uYCxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IHRydWUsXHJcbiAgICAgICAgY29kZTogJ1JFVklFV0VSJ1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvb3ZlcnNpZ2h0LnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ092ZXJzZWVycycsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnT3ZlcnNlZXJzJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogJ092ZXJzZWVycyByZWNlaXZlIHVwZGF0ZXMgd2hlbiBhIHJlc3BvbnNpYmlsaXR5IGlzIGNvbXBsZXRlZCwgY29tcGxldGVkIHdpdGggZGVsYXkgb3Igbm90IGNvbXBsZXRlZC4gV2hlcmUgT3ZlcnNlZXJzIGFyZSBzZWxlY3RlZCB3aGVuIGNyZWF0aW5nIGEgUHJvZ3JhbSwgb25seSB0aG9zZSBPdmVyc2VlcnMgd2lsbCBiZSBhdmFpbGFibGUgZm9yIHNlbGVjdGlvbiB3aGVuIGNyZWF0aW5nIGEgcmVzcG9uc2liaWxpdHkgbGlua2VkIHdpdGggdGhlIFByb2dyYW0uJyxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IHRydWUsXHJcbiAgICAgICAgY29kZTogJ09WRVJTRUVSJ1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvYXNzZXNzbWVudHMuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnQXNzZXNzbWVudHMnLFxyXG4gICAgICAgIGNvZGU6ICdBU1NFU1NNRU5UJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICcgQXNzZXNzbWVudHMnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiAnQXNzZXNzbWVudHMgYXJlIGEgZGlnaXRhbCBmb3JtIHRoYXQgYXJlIGNyZWF0ZWQgaW4g4oCcQXNzZXNzbWVudOKAnSB3aXRoaW4gdGhlIENvbXBsaWFuY2UgTW9kdWxlLiBXaGVyZSBBc3Nlc3NtZW50cyBhcmUgc2VsZWN0ZWQgd2hlbiBjcmVhdGluZyBhIFByb2dyYW0sIG9ubHkgdGhvc2UgQXNzZXNzbWVudHMgd2lsbCBiZSBhdmFpbGFibGUgZm9yIHNlbGVjdGlvbiB3aGVuIGNyZWF0aW5nIGEgcmVzcG9uc2liaWxpdHkgbGlua2VkIHdpdGggdGhlIFByb2dyYW0uJyxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IHRydWUsXHJcbiAgICAgICAgaXNEaXNhYmxlZDogZmFsc2UsXHJcbiAgICAgICAgZGlzYWJsZWRNZXNzYWdlOiAnQW4gYXNzZXNzbWVudCBjYW4gYmUgbGlua2VkIHdpdGggYSByZXNwb25zaWJpbGl0eSBvbmx5IGFmdGVyIHJlbW92aW5nIHRoZSBhc3NvY2lhdGVkIGNoZWNrcG9pbnRzLidcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2Zvcm1hdC1ldmlkZW5jZS5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdFdmlkZW5jZScsXHJcbiAgICAgICAgY29kZTogJ0ZPUk1BVEVfRVZJREVOQ0UnLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ0V2aWRlbmNlJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogJ0lmIHNlbGVjdGVkLCBldmlkZW5jZSBvZiBjb21wbGV0aW9uIG9mIGEgcmVzcG9uc2liaWxpdHkgd2lsbCBiZSByZXF1aXJlZCBmb3IgYWxsIHJlc3BvbnNpYmlsaXRpZXMgdGhhdCBhcmUgbGlua2VkIHdpdGggdGhlIFByb2dyYW0uIEFuIEFzc2lnbm9yLCBiZWluZyB0aGUgcGVyc29uIHdobyBjcmVhdGVzIHRoZSByZXNwb25zaWJpbGl0eSwgY2FuIG92ZXJyaWRlIHRoaXMgb3B0aW9uIHdoZW4gY3JlYXRpbmcgYSByZXNwb25zaWJpbGl0eS4nLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogdHJ1ZSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2N1c3RvbS1maWVsZHMuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnQ3VzdG9tIEZpZWxkJyxcclxuICAgICAgICBjb2RlOiAnQ1VTVE9NX0ZJRUxEUycsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnIEN1c3RvbSBGaWVsZCcsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6ICdXaGVyZSBhIGN1c3RvbSBmaWVsZCBpcyBzcGVjaWZpZWQsIGFsbCByZXNwb25zaWJpbGl0aWVzIGxpbmtlZCB3aXRoIGEgUHJvZ3JhbSB3aWxsIGNvbnRhaW4gdGhhdCBjdXN0b20gZmllbGQuIEN1c3RvbSBmaWVsZHMgZW5hYmxlIHRoZSBjb2xsZWN0aW9uIG9mIGFkZGl0aW9uYWwgbWV0YSBkYXRhLicsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgfSxcclxuICAgIF1cclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuXHJcbiAgKSB7IH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYoY2hhbmdlcz8uaXNQcm9ncmFtU2VsZWN0ZWQ/LmN1cnJlbnRWYWx1ZSAhPT0gY2hhbmdlcz8uaXNQcm9ncmFtU2VsZWN0ZWQ/LnByZXZpb3VzVmFsdWUpIHtcclxuICAgICAgdGhpcy5pc1Byb2dyYW1TZWxlY3RlZCA9IGNoYW5nZXMuaXNQcm9ncmFtU2VsZWN0ZWQuY3VycmVudFZhbHVlO1xyXG4gICAgfVxyXG4gICAgaWYoIXRoaXMuaXNSQ1NlbGVjdGVkKSB7XHJcbiAgICAgIHRoaXMubW9yZU9wdGlvbnNMaXN0LkNBUi5mb3JFYWNoKChlbGU6IGFueSkgPT4ge1xyXG4gICAgICAgIC8vIGlmKGVsZS5jb2RlID09PSAnQVNTVVJBTkNFJykge1xyXG4gICAgICAgIC8vICAgZWxlLmNoZWNrZWQgPSBmYWxzZTtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgaWYoZWxlLmNvZGUgPT09ICdSRVFVSVJFU19BVURJVCcpIHtcclxuICAgICAgICAgIGVsZS5jaGVja2VkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5tb3JlT3B0aW9uc0xpc3QuQ0FSLmZvckVhY2goKGVsZTogYW55KSA9PiB7XHJcbiAgICAgICAgLy8gaWYoZWxlLmNvZGUgPT09ICdBU1NVUkFOQ0UnKSB7XHJcbiAgICAgICAgLy8gICBlbGUuaXNEaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICBpZihlbGUuY29kZSA9PT0gJ1JFUVVJUkVTX0FVRElUJykge1xyXG4gICAgICAgICAgZWxlLmlzRGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZmVhdHVyZWZsYWdyb2xlID0gdGhpcy5hbGxvd2VkRmVhdHVyZT8uaXNGZWF0dXJlRW5hYmxlZCgnZmZfcm9sZV9pbXByb3ZlbWVudHMnKTtcclxuICAgIHRoaXMuZmZfcmNfbGlzdGluZyA9IHRoaXMuYWxsb3dlZEZlYXR1cmUuaXNGZWF0dXJlRW5hYmxlZCgnZmZfcmNfbGlzdGluZycpO1xyXG4gICAgdGhpcy5mZl9yY19saXN0aW5nID8gdGhpcy5wZXJtaXNzaW9uVGV4dCA9ICdQZXJtaXNzaW9ucycgOiB0aGlzLnBlcm1pc3Npb25UZXh0ID0gJ1Blcm1pc3Npb24gR3JvdXAoUyknXHJcbiAgICB0aGlzLm1vcmVPcHRpb25zTGlzdC5DQVBSWzBdLm5hbWUgPSB0aGlzLnBlcm1pc3Npb25UZXh0XHJcbiAgICB0aGlzLm1vcmVPcHRpb25zTGlzdC5DQVBSWzBdLnRvb2x0aXBUaXRsZSA9IHRoaXMucGVybWlzc2lvblRleHRcclxuICAgIHRoaXMubW9yZU9wdGlvbnNMaXN0LkNBUFJbMV0udG9vbHRpcE1lc3NhZ2UgPSB0aGlzLmZlYXR1cmVmbGFncm9sZSA/IGBPd25lcnMgYXJlIHJlc3BvbnNpYmxlIGZvciBtYW5hZ2luZyBhIFByb2dyYW0uIE9ubHkgT3duZXJzIGNhbiBtYWtlIGNoYW5nZXMgdG8gYSBQcm9ncmFtIGFuZCB0aGUgcmVzcG9uc2liaWxpdGllcyB0aGF0IGFyZSBsaW5rZWQgd2l0aCB0aGUgUHJvZ3JhbS48YnI+XHJcbiAgICBUaGUgPGI+S2V5IFBvd2VyIFVzZXIgPC9iPiBhbmQgYWxsIDxiPlBvd2VyIFVzZXJzPC9iPiAgd2lsbCBiZSBzZWxlY3RlZCBhcyB0aGUgT3duZXJzIG9mIGEgUHJvZ3JhbSBieSBkZWZhdWx0LlxyXG4gICAgYCA6IGBPd25lcnMgYXJlIHJlc3BvbnNpYmxlIGZvciBtYW5hZ2luZyBhIFByb2dyYW0uIE9ubHkgT3duZXJzIGNhbiBtYWtlIGNoYW5nZXMgdG8gYSBQcm9ncmFtIGFuZCB0aGUgcmVzcG9uc2liaWxpdGllcyB0aGF0IGFyZSBsaW5rZWQgd2l0aCB0aGUgUHJvZ3JhbS48YnI+XHJcbiAgICBUaGUgPGI+S2V5IEFkbWluPC9iPiBhbmQgYWxsIDxiPkFkbWluPC9iPiB1c2VycyB3aWxsIGJlIHNlbGVjdGVkIGFzIHRoZSBPd25lcnMgb2YgYSBQcm9ncmFtIGJ5IGRlZmF1bHQuXHJcbiAgICBgO1xyXG4gICAgaWYodGhpcy5hbGxvd2VkRmVhdHVyZT8uaXNGZWF0dXJlRW5hYmxlZCgnZmZfcHJvZ3JhbV9zaW1wbGlmeScpKXtcclxuICAgICAgdGhpcy5tb3JlT3B0aW9uc0xpc3QuQ0FQUlswXS50b29sdGlwTWVzc2FnZSA9IGAke3RoaXMucGVybWlzc2lvblRleHR9IGxldCB5b3Ugc3BlY2lmeSB0aGUgdXNlcnMgdGhhdCBjYW4gYmUg4oCcT3duZXJz4oCdIG9mIGEgUHJvZ3JhbS5gO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5tb3JlT3B0aW9uc0xpc3QuQ0FQUlswXS50b29sdGlwTWVzc2FnZSA9IGAke3RoaXMucGVybWlzc2lvblRleHR9IGxldCB5b3Ugc3BlY2lmeSB0aGUgdXNlcnMgdGhhdCBjYW4gYmUg4oCcT3duZXJz4oCdIGFuZCDigJxBcHByb3ZlcnPigJ0gb2YgYSBQcm9ncmFtLmBcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBpbmRleCA9IHRoaXMubW9yZU9wdGlvbnNMaXN0LkNBUi5maW5kSW5kZXgoKGVsZTogYW55KSA9PiBlbGUuY29kZSA9PT0gJ0NIRUNLUE9JTlRTJyk7XHJcbiAgIHRoaXMubW9yZU9wdGlvbnNMaXN0LkNBUltpbmRleF0uaGlkZGVuID0gdGhpcy5pc0VkaXRNb2RlID09PSBmYWxzZSA/IHRydWUgOiBmYWxzZTtcclxuICAgY29uc3QgUHJvZ3JhbUluZGV4ID0gdGhpcy5tb3JlT3B0aW9uc0xpc3QuQ0FSLmZpbmRJbmRleCgoZWxlOiBhbnkpID0+IGVsZS5jb2RlID09PSAnUFJPR1JBTScpO1xyXG4gICBpZihQcm9ncmFtSW5kZXggPiAtMSl7XHJcbiAgICB0aGlzLm1vcmVPcHRpb25zTGlzdC5DQVJbUHJvZ3JhbUluZGV4XS5pc0Rpc2FibGVkID0gdGhpcy5pc0VkaXRNb2RlO1xyXG4gICB9XHJcbiAgICB0aGlzLnByb2dyYW1TaW1wbGlmeUZsYWcgPSB0aGlzLmFsbG93ZWRGZWF0dXJlPy5pc0ZlYXR1cmVFbmFibGVkKCdmZl9wcm9ncmFtX3NpbXBsaWZ5JykgPz8gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHNlbGVjdE1vcmVPcHRpb24oZXZlbnQ6IGFueSwgaW5kZXg6IG51bWJlcikge1xyXG4gICAgY29uc29sZS5sb2coXCJldmVudCA9PT5cIiwgZXZlbnQsIHRoaXMuY3VycmVudFdvcmtmbG93LCB0aGlzLm1vcmVPcHRpb25zTGlzdFt0aGlzLmN1cnJlbnRXb3JrZmxvd11baW5kZXhdKTtcclxuICAgIGlmKHRoaXMuY3VycmVudFdvcmtmbG93ID09PSAnQ0FSJyAmJiBldmVudC5jb2RlID09PSAnQ0hFQ0tQT0lOVFNfTkVXJyAmJiB0aGlzLm1vcmVPcHRpb25zTGlzdFt0aGlzLmN1cnJlbnRXb3JrZmxvd11baW5kZXhdLmNoZWNrZWQgKSB7XHJcblxyXG4gICAgICBldmVudFsnY2hlY2twb2ludF9uZXcnXSA9IHRydWU7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb24uZW1pdChldmVudCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBldmVudFsnY2hlY2twb2ludF9uZXcnXSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLm1vcmVPcHRpb25zTGlzdFt0aGlzLmN1cnJlbnRXb3JrZmxvd11baW5kZXhdLmNoZWNrZWQgPSAhZXZlbnQuY2hlY2tlZCA7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwidGhpcy5tb3JlT3B0aW9uc0xpc3RbdGhpcy5jdXJyZW50V29ya2Zsb3ddW2luZGV4XSA9PT0+XCIsIHRoaXMubW9yZU9wdGlvbnNMaXN0W3RoaXMuY3VycmVudFdvcmtmbG93XVtpbmRleF0sIGV2ZW50LmNoZWNrZWQpXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb24uZW1pdChldmVudCk7XHJcblxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG5cclxuICBwb3B1bGF0ZShldnQ6IGFueSl7XHJcbiAgICBjb25zb2xlLmxvZyhcImV2ZW50ID09PT5cIiwgZXZ0KTtcclxuICAgIGlmICh0aGlzLmN1cnJlbnRXb3JrZmxvdyl7XHJcbiAgICB0aGlzLm1vcmVPcHRpb25zTGlzdFt0aGlzLmN1cnJlbnRXb3JrZmxvd10uZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgICBpZiAoZXZ0LmluY2x1ZGVzKGVsZW1lbnQuY29kZSkpe1xyXG4gICAgICAgICAgZWxlbWVudC5jaGVja2VkID0gdHJ1ZTtcclxuICAgICAgIH1lbHNle1xyXG4gICAgICAgICBlbGVtZW50LmNoZWNrZWQgPSBmYWxzZTtcclxuICAgICAgIH1cclxuICAgICAgIGlmKGV2dC5pbmNsdWRlcyhcIkNIRUNLUE9JTlRTX05FV1wiKSkge1xyXG4gICAgICAgICBpZihlbGVtZW50LmNvZGUgPT09ICdDSEVDS1BPSU5UUycpIHtcclxuICAgICAgICAgICBlbGVtZW50LmlzRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICAgICB9XHJcbiAgICAgICAgIGlmKGVsZW1lbnQuY29kZSA9PT0gJ0FTU0VTU01FTlQnKSB7XHJcbiAgICAgICAgICAgZWxlbWVudC5pc0Rpc2FibGVkID0gdHJ1ZVxyXG4gICAgICAgICB9XHJcbiAgICAgICB9XHJcbiAgICAgICBpZihldnQuaW5jbHVkZXMoXCJBU1NFU1NNRU5UXCIpKSB7XHJcbiAgICAgICAgaWYoZWxlbWVudC5jb2RlID09PSAnQ0hFQ0tQT0lOVFNfTkVXJykge1xyXG4gICAgICAgICAgZWxlbWVudC5pc0Rpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoZWxlbWVudC5jb2RlID09PSAnQ0hFQ0tQT0lOVFMnKSB7XHJcbiAgICAgICAgICBlbGVtZW50LmlzRGlzYWJsZWQgPSBmYWxzZVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZihldnQuaW5jbHVkZXMoXCJDSEVDS1BPSU5UU1wiKSkge1xyXG4gICAgICAgIGlmKGVsZW1lbnQuY29kZSA9PT0gJ0NIRUNLUE9JTlRTX05FVycpIHtcclxuICAgICAgICAgIGVsZW1lbnQuaXNEaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGVsZW1lbnQuY29kZSA9PT0gJ0FTU0VTU01FTlQnKSB7XHJcbiAgICAgICAgICBlbGVtZW50LmlzRGlzYWJsZWQgPSB0cnVlXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmKGV2dC5pbmNsdWRlcyhcIlBST0dSQU1cIikpIHtcclxuICAgICAgICBpZihlbGVtZW50LmNvZGUgPT09ICdQUk9HUkFNJyAgJiYgdGhpcy5pc1Byb2dyYW1TZWxlY3RlZCkge1xyXG4gICAgICAgICAgZWxlbWVudC5pc0Rpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICB9XHJcblxyXG4gIH1cclxuICBoaWRlRWxlbWVudHMoaGlkZGVuTGlzdDphbnkpe1xyXG4gICAgaWYgKHRoaXMuY3VycmVudFdvcmtmbG93KXtcclxuICAgICAgdGhpcy5tb3JlT3B0aW9uc0xpc3RbdGhpcy5jdXJyZW50V29ya2Zsb3ddLmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgICBpZiAoaGlkZGVuTGlzdC5pbmNsdWRlcyhlbGVtZW50LmNvZGUpKXtcclxuICAgICAgICAgICAgZWxlbWVudC5oaWRkZW4gPSB0cnVlO1xyXG4gICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICBlbGVtZW50LmhpZGRlbiA9IGZhbHNlO1xyXG4gICAgICAgICB9XHJcblxyXG4gICAgICB9KTtcclxuICAgICB9XHJcbiAgfVxyXG5cclxuICByZXNldEFsbCh3b3JrZmxvd1R5cGU6c3RyaW5nKXtcclxuICAgIGlmKHRoaXMubW9yZU9wdGlvbnNMaXN0W3dvcmtmbG93VHlwZV0pe1xyXG4gICAgICB0aGlzLm1vcmVPcHRpb25zTGlzdFt3b3JrZmxvd1R5cGVdLmZvckVhY2goKGVsZW1lbnQ6YW55KSA9PiB7XHJcbiAgICAgICAgZWxlbWVudC5jaGVja2VkID0gZmFsc2U7XHJcbiAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1cGRhdGVQcm9ncmFtTW9yZU9wdGlvbnMoKSB7XHJcbiAgICBjb25zdCBjb2RlID0gWydQUk9HUkFNX0ZSRVFVRU5DWScsICdTQ09QRV9DSEFOR0VTJywgJ1JDJywgJ0FTU0lHTkVFUycsICdSRVZJRVdFUicsICdPVkVSU0VFUicsICdBU1NFU1NNRU5UJywgJ0ZPUk1BVEVfRVZJREVOQ0UnXTtcclxuICAgIGlmKHRoaXMub3JnRGV0YWlscz8uaGFzUHJvZ3JhbUZ1bGxQZXJtaXNzaW9uICYmIHRoaXMuYWxsb3dlZEZlYXR1cmUuaXNGZWF0dXJlRW5hYmxlZCgnZmZfcHJvZ3JhbV9zaW1wbGlmeScpKSB7XHJcbiAgICAgIHRoaXMubW9yZU9wdGlvbnNMaXN0Py5DQVBSPy5mb3JFYWNoKCAob3B0aW9uOiBhbnkpID0+IHtcclxuICAgICAgICBpZihjb2RlPy5pbmNsdWRlcyhvcHRpb24uY29kZSkpe1xyXG4gICAgICAgICAgb3B0aW9uLmhpZGRlbiA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpZighdGhpcy5hbGxvd2VkRmVhdHVyZS5pc0ZlYXR1cmVFbmFibGVkKCdmZl9wcm9ncmFtX3NpbXBsaWZ5JykpIHtcclxuICAgICAgY29kZS5wdXNoKCdBUFBST1ZFUicpXHJcbiAgICAgIHRoaXMubW9yZU9wdGlvbnNMaXN0Py5DQVBSPy5mb3JFYWNoKCAob3B0aW9uOiBhbnkpID0+IHtcclxuICAgICAgICBpZihjb2RlPy5pbmNsdWRlcyhvcHRpb24uY29kZSkpe1xyXG4gICAgICAgICAgb3B0aW9uLmhpZGRlbiA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==