tango-app-ui-manage-billing 3.3.0-beta.4 → 3.3.0-beta.6

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.
@@ -45,17 +45,23 @@ export class CreditNoteComponent {
45
45
  this.creditnoteform.get('revisedAmount')?.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((e) => {
46
46
  if (e) {
47
47
  this.amount = this.creditnoteform.get('amount')?.value;
48
- this.discount = ((this.amount - e) / this.amount * 100).toFixed(2);
49
- this.revisedAmount = e;
50
- if (this.discount > 10 || isNaN(e) || this.discount < 0 || e < 0) {
51
- this.moreThanTenPercent = true;
48
+ console.log(this.amount);
49
+ if (this.amount) {
50
+ this.discount = ((this.amount - e) / this.amount * 100).toFixed(2);
51
+ this.revisedAmount = e;
52
+ if (this.discount > 10 || isNaN(e) || this.discount < 0 || e < 0) {
53
+ this.moreThanTenPercent = true;
54
+ }
55
+ else {
56
+ this.moreThanTenPercent = false;
57
+ }
58
+ this.creditnoteform.get('discount')?.setValue(this.discount, {
59
+ emitEvent: false
60
+ });
52
61
  }
53
62
  else {
54
- this.moreThanTenPercent = false;
63
+ this.toast.getErrorToast("Please select one Invoice");
55
64
  }
56
- this.creditnoteform.get('discount')?.setValue(this.discount, {
57
- emitEvent: false
58
- });
59
65
  }
60
66
  else {
61
67
  let emptdiscount = '';
@@ -170,4 +176,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
170
176
  type: HostListener,
171
177
  args: ['document:click', ['$event']]
172
178
  }] } });
173
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGl0LW5vdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tbWFuYWdlLWJpbGxpbmcvc3JjL2xpYi9jb21wb25lbnRzL3RhbmdvLW1hbmFnZS1iaWxsaW5nL2NyZWRpdC1ub3RlL2NyZWRpdC1ub3RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS1iaWxsaW5nL3NyYy9saWIvY29tcG9uZW50cy90YW5nby1tYW5hZ2UtYmlsbGluZy9jcmVkaXQtbm90ZS9jcmVkaXQtbm90ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFXLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFnQyxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHNUgsT0FBTyxFQUEwQixVQUFVLEVBQWUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdqRixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQVExQyxNQUFNLE9BQU8sbUJBQW1CO0lBb0JyQjtJQUFvQztJQUF3QztJQUEwQztJQUF3QjtJQW5COUksUUFBUSxDQUFLO0lBQ3RCLFlBQVksQ0FBTTtJQUNsQixXQUFXLEdBQXNDLEVBQUUsQ0FBQztJQUNwRCxtQkFBbUIsR0FBVyxLQUFLLENBQUM7SUFDcEMsY0FBYyxDQUFZO0lBQzFCLE1BQU0sR0FBVyxDQUFDLENBQUM7SUFDbkIsUUFBUSxDQUFNO0lBQ2QsYUFBYSxHQUFXLENBQUMsQ0FBQTtJQUN6QixrQkFBa0IsR0FBVyxLQUFLLENBQUE7SUFDbEMsUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUVmLGdCQUFnQixHQUFXLEVBQUUsQ0FBQTtJQUUxQixTQUFTLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFDNUQsV0FBVyxDQUFN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QVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDcEcsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxHQUFHLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUN4QywyQ0FBMkM7Z0JBQzNDLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUE7YUFDcEM7UUFBQSxDQUFDLEVBQ0YsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNSLE9BQU8sQ0FBQyxLQUFLLENBQUMsMEJBQTBCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbkQsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0lBQ0QsaUJBQWlCLENBQUMsS0FBVTtRQUMxQixJQUFJLENBQUMsQ0FBQztRQUNOLENBQUMsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUUsaURBQWlEO1FBQ3RFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxlQUFlLENBQUMsS0FBaUI7UUFDaEMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztJQUNsQyxDQUFDO3dHQXJKVSxtQkFBbUI7NEZBQW5CLG1CQUFtQiwwT0NkaEMsOGdQQTRGTTs7NEZEOUVPLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxpQkFBaUI7cU1BS2xCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBV0MsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUVNLFNBQVM7c0JBQWxCLE1BQU07Z0JBcUlQLGVBQWU7c0JBRGQsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBDaGFuZ2VEZXRlY3RvclJlZiwgT25EZXN0cm95LCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdiQWN0aXZlTW9kYWwgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCBTd2FsIGZyb20gJ3N3ZWV0YWxlcnQyJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycywgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1zaGFyZWQnO1xyXG5pbXBvcnQgeyBsZWZ0IH0gZnJvbSAnQHBvcHBlcmpzL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQmlsbGluZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9iaWxsaW5nLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItY3JlZGl0LW5vdGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jcmVkaXQtbm90ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2NyZWRpdC1ub3RlLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3JlZGl0Tm90ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCxPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIGNsaWVudElkOmFueTtcclxuICBpbnZvaWNlSXNzdWU6IGFueTtcclxuICBpbnZvaWNldHlwZTogeyBuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfVtdID0gW107IFxyXG4gIGludm9pY2V0eXBlZHJvcERvd246Ym9vbGVhbiA9IGZhbHNlO1xyXG4gIGNyZWRpdG5vdGVmb3JtOiBGb3JtR3JvdXA7XHJcbiAgYW1vdW50OiBudW1iZXIgPSAwO1xyXG4gIGRpc2NvdW50OiBhbnk7XHJcbiAgcmV2aXNlZEFtb3VudDogbnVtYmVyID0gMFxyXG4gIG1vcmVUaGFuVGVuUGVyY2VudDpib29sZWFuID0gZmFsc2VcclxuICBjdXJyZW5jeTogc3RyaW5nID0gJyc7XHJcblxyXG5ASW5wdXQoKSB0cmFuc2FjdGlvbnZhbHVlOiBzdHJpbmcgPSBcIlwiXHJcblxyXG4gIEBPdXRwdXQoKSBwYXNzRW50cnk6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIGludm9pY2VpdGVtOiBhbnk7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgYWN0aXZlTW9kYWw6IE5nYkFjdGl2ZU1vZGFsLHByaXZhdGUgQmlsbGluZ1NlcnZpY2U6IEJpbGxpbmdTZXJ2aWNlLCBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixwcml2YXRlIHRvYXN0OlRvYXN0U2VydmljZVxyXG4gICkgeyBcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jcmVkaXRub3RlKCk7XHJcbiAgICB0aGlzLmNyZWRpdG5vdGVmb3JtID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIGludm9pY2V0eXBlOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgICBhbW91bnQ6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sIFxyXG4gICAgICByZXZpc2VkQW1vdW50OlsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0gLFxyXG4gICAgICBkaXNjb3VudDogWycnLFsgVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5tYXgoMTApXV0sXHJcbiAgICB9KTtcclxuICAgIHRoaXMuY3JlZGl0bm90ZWZvcm0uZ2V0KCdyZXZpc2VkQW1vdW50Jyk/LnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlKSA9PiB7XHJcbiAgICAgIGlmKGUpIHsgXHJcbiAgICAgICAgdGhpcy5hbW91bnQgPSB0aGlzLmNyZWRpdG5vdGVmb3JtLmdldCgnYW1vdW50Jyk/LnZhbHVlO1xyXG4gICAgICAgIHRoaXMuZGlzY291bnQgPSAoKHRoaXMuYW1vdW50IC0gZSkgLyB0aGlzLmFtb3VudCAqIDEwMCkudG9GaXhlZCgyKTtcclxuICAgICAgICB0aGlzLnJldmlzZWRBbW91bnQ9ZTtcclxuICAgICAgICBpZih0aGlzLmRpc2NvdW50PjEwIHx8IGlzTmFOKGUpIHx8IHRoaXMuZGlzY291bnQgPCAwIHx8IGUgPCAwKXtcclxuICAgICAgICAgIHRoaXMubW9yZVRoYW5UZW5QZXJjZW50ID0gdHJ1ZTsgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5tb3JlVGhhblRlblBlcmNlbnQgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jcmVkaXRub3RlZm9ybS5nZXQoJ2Rpc2NvdW50Jyk/LnNldFZhbHVlKHRoaXMuZGlzY291bnQsIHtcclxuICAgICAgICAgIGVtaXRFdmVudFxyXG4gICAgICAgICAgICA6IGZhbHNlIH0pO1xyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICBsZXQgZW1wdGRpc2NvdW50ID0gJydcclxuICAgICAgICB0aGlzLmNyZWRpdG5vdGVmb3JtLmdldCgnZGlzY291bnQnKT8uc2V0VmFsdWUoZW1wdGRpc2NvdW50LCB7XHJcbiAgICAgICAgICBlbWl0RXZlbnRcclxuICAgICAgICAgICAgOiBmYWxzZSB9KTtcclxuICAgICAgICAgIHRoaXMubW9yZVRoYW5UZW5QZXJjZW50ID0gZmFsc2U7IFxyXG4gICAgICB9IFxyXG4gICAgfSlcclxuICAgIFxyXG4gICAgdGhpcy5jcmVkaXRub3RlZm9ybS5nZXQoJ2Rpc2NvdW50Jyk/LnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlKSA9PiB7XHJcbiAgICAgIGlmKGUpIHtcclxuICAgICAgICB0aGlzLmFtb3VudCA9IHRoaXMuY3JlZGl0bm90ZWZvcm0uZ2V0KCdhbW91bnQnKT8udmFsdWU7XHJcbiAgICAgICAgdGhpcy5yZXZpc2VkQW1vdW50ID0gdGhpcy5hbW91bnQgKiAoMSAtIGUgLyAxMDApO1xyXG4gICAgICAgIHRoaXMucmV2aXNlZEFtb3VudCA9IHBhcnNlSW50KHRoaXMucmV2aXNlZEFtb3VudC50b0ZpeGVkKCkpXHJcbiAgICAgICAgdGhpcy5kaXNjb3VudD1lO1xyXG4gICAgICAgIGlmICh0aGlzLmRpc2NvdW50PjEwIHx8IGlzTmFOKGUpIHx8IGUgPCAwIHx8IHRoaXMucmV2aXNlZEFtb3VudCA8IDApe1xyXG4gICAgICAgICAgdGhpcy5tb3JlVGhhblRlblBlcmNlbnQgPSB0cnVlOyBcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLm1vcmVUaGFuVGVuUGVyY2VudCA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmNyZWRpdG5vdGVmb3JtLmdldCgncmV2aXNlZEFtb3VudCcpPy5zZXRWYWx1ZSh0aGlzLnJldmlzZWRBbW91bnQsIHtcclxuICAgICAgICAgIGVtaXRFdmVudFxyXG4gICAgICAgICAgOiBmYWxzZSB9KTtcclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgbGV0IGVtcHRkaXNjb3VudCA9ICcnXHJcbiAgICAgICAgdGhpcy5jcmVkaXRub3RlZm9ybS5nZXQoJ3JldmlzZWRBbW91bnQnKT8uc2V0VmFsdWUoZW1wdGRpc2NvdW50LCB7XHJcbiAgICAgICAgICBlbWl0RXZlbnRcclxuICAgICAgICAgICAgOiBmYWxzZSB9KTtcclxuICAgICAgICB0aGlzLm1vcmVUaGFuVGVuUGVyY2VudCA9IGZhbHNlOyBcclxuICAgICAgICB9XHJcblxyXG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuXHJcbiAgICB9KVxyXG4gIH1cclxuICBnZXQgcmV2aXNlZGFtb3VudCgpIHsgcmV0dXJuIHRoaXMuY3JlZGl0bm90ZWZvcm0uZ2V0KCdyZXZpc2VkQW1vdW50Jyk7IH1cclxuICBnZXQgZGlzY291bnRzKCkgeyByZXR1cm4gdGhpcy5jcmVkaXRub3RlZm9ybS5nZXQoJ2Rpc2NvdW50Jyk7IH1cclxuICBcclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIFxyXG4gIGNyZWRpdG5vdGUoKXtcclxuICAgIGxldCBwYXlsb2FkOmFueT17XHJcbiAgICAgIGNsaWVudElkOnRoaXMuY2xpZW50SWRcclxuICAgIH1cclxuICB0aGlzLkJpbGxpbmdTZXJ2aWNlLnBlbmRpbmdJbnZvaWNlcyhwYXlsb2FkKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgIHRoaXMuaW52b2ljZWl0ZW0gPSByZXM/LmRhdGE7XHJcbiAgICAgICAgdGhpcy5pbnZvaWNlSXNzdWUgPSB0aGlzLmludm9pY2VpdGVtWzBdPy5pbnZvaWNlO1xyXG4gICAgICAgIGNvbnN0IGFtb3VudCA9IHRoaXMuaW52b2ljZWl0ZW1bMF0/LmFtb3VudCB8fCBcIlwiO1xyXG4gICAgICAgIHRoaXMuY3VycmVuY3kgPSB0aGlzLmludm9pY2VpdGVtWzBdPy5jdXJyZW5jeSB8fCBcIlwiO1xyXG4gICAgICAgIHRoaXMuY3JlZGl0bm90ZWZvcm0ucGF0Y2hWYWx1ZSh7XHJcbiAgICAgICAgICBhbW91bnQ6IGFtb3VudCxcclxuICAgICAgICAgIGRpc2NvdW50OnRoaXMuaW52b2ljZWl0ZW0/LmRpc2NvdW50XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9XHJcbiAgfSk7XHJcbiAgfVxyXG5cclxuICBpbnZvaWNlSXRlbShpbnZvaWNldmFsdWU6YW55KXtcclxuICAgIHRoaXMuY3JlZGl0bm90ZWZvcm0ucGF0Y2hWYWx1ZSh7XHJcbiAgICAgIGFtb3VudDogaW52b2ljZXZhbHVlLmFtb3VudCxcclxuICAgICAgLi4uKGludm9pY2V2YWx1ZT8uZGlzY291bnQgPyB7ZGlzY291bnQ6aW52b2ljZXZhbHVlPy5kaXNjb3VudH0gOiB7ZGlzY291bnQ6Jyd9KSxcclxuICAgICAgLi4uKGludm9pY2V2YWx1ZT8ucmV2aXNlZEFtb3VudCA/IHtyZXZpc2VkQW1vdW50Omludm9pY2V2YWx1ZT8ucmV2aXNlZEFtb3VudH0gOiB7cmV2aXNlZEFtb3VudDonJ30pXHJcbiAgICB9KTtcclxuICAgIHRoaXMuaW52b2ljZUlzc3VlID0gaW52b2ljZXZhbHVlLmludm9pY2U7XHJcbiAgICB0aGlzLmNyZWRpdG5vdGVmb3JtLmdldCgnaW52b2ljZXR5cGUnKT8uc2V0VmFsdWUodGhpcy5pbnZvaWNlSXNzdWUpXHJcbiAgICB0aGlzLmludm9pY2V0eXBlZHJvcERvd24gPSBmYWxzZTtcclxuICB9XHJcbiAgaW52b2ljZXR5cGVEcm9wZG93bihldmVudDpNb3VzZUV2ZW50KXtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5pbnZvaWNldHlwZWRyb3BEb3duID0gIXRoaXMuaW52b2ljZXR5cGVkcm9wRG93bjtcclxuICAgIHRoaXMucmV2aXNlZEFtb3VudCAgIFxyXG4gIH1cclxuICBzdWNjZXNzY3JlZGl0KCkge1xyXG4gICAgY29uc3QgcmVxdWVzdERhdGEgPSB7XHJcbiAgICAgIGludm9pY2U6dGhpcy5pbnZvaWNlSXNzdWUsXHJcbiAgICAgIHJldmlzZWRBbW91bnQ6dGhpcy5yZXZpc2VkQW1vdW50LFxyXG4gICAgICBkaXNjb3VudDp0aGlzLmRpc2NvdW50XHJcbiAgICB9O1xyXG4gICAgdGhpcy5CaWxsaW5nU2VydmljZS5hcHBseURpc2NvdW50KHJlcXVlc3REYXRhKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlICgocmVzOiBhbnkpID0+IHtcclxuICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PSAyMDApIHtcclxuICAgICAgICB0aGlzLmFjdGl2ZU1vZGFsLmNsb3NlKCdzdWNjZXNzY3JlZGl0Jyk7XHJcbiAgICAgICAgLy8gdGhpcy50b2FzdC5nZXRQcmltYXJ5VG9hc3QocmVzLm1lc3NhZ2UpO1xyXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICAgIH19LFxyXG4gICAgICAoZXJyb3IpID0+IHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBzdWJtaXR0aW5nIHVwZGF0ZTonLCBlcnJvcik7XHJcbiAgICAgIH0pXHJcbiAgfVxyXG4gIG9taXRfc3BlY2lhbF9jaGFyKGV2ZW50OiBhbnkpIHtcclxuICAgIHZhciBrO1xyXG4gICAgayA9IGV2ZW50LmNoYXJDb2RlOyAgLy8gICAgICAgICBrID0gZXZlbnQua2V5Q29kZTsgIChCb3RoIGNhbiBiZSB1c2VkKVxyXG4gICAgcmV0dXJuIChrID09IDggfHwgayA9PSAzMiB8fCAoayA+PSA0OCAmJiBrIDw9IDU3KSk7XHJcbiAgfVxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcclxuICBvbkRvY3VtZW50Q2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgdGhpcy5pbnZvaWNldHlwZWRyb3BEb3duID0gZmFsc2U7XHJcbiAgfVxyXG59XHJcblxyXG4iLCI8ZGl2IGNsYXNzPVwibW9kYWwtY29udGVudFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInAtNSBweC02XCI+XHJcbiAgICAgICAgPCEtLSA8ZGl2PjxpbWcgc3JjPVwiLi9hc3NldHMvdGFuZ28vY3VzdG9tcG9wdXAtSWNvbnMvcGx1cy1pY29uLnN2Z1wiIGFsdD1cIlwiPjwvZGl2PiAtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZyBtdC00IG1zLTFcIj5BZGQgQ3JlZGl0IE5vdGU8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudHRleHQgbXQtNFwiPlxyXG4gICAgICAgICAgICBZb3UgaGF2ZSB0aGUgZmxleGliaWxpdHkgdG8gc2VsZWN0IGEgbW9udGggaW4gd2hpY2ggdGhlIGJyYW5kIGNhbiBtYWtlIGNyZWRpdCBwYXltZW50cy5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5IG1iLThcIj5cclxuICAgICAgICA8IS0tYmVnaW46OkZvcm0tLT5cclxuICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImNyZWRpdG5vdGVmb3JtXCIgY2xhc3M9XCJmb3JtIGZ2LXBsdWdpbnMtYm9vdHN0cmFwNSBmdi1wbHVnaW5zLWZyYW1ld29ya1wiIGFjdGlvbj1cIiNcIj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZnYtcm93IGZ2LXBsdWdpbnMtaWNvbi1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHB5LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiaW52b2ljZXR5cGVcIiBjbGFzcz1cImhlYWRpbmd0ZXh0IG1iLTJcIj5JbnZvaWNlIElEPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tc2VsZWN0IGRyb3BzZWxlY3RcIiBpZD1cImludm9pY2V0eXBlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJpbnZvaWNldHlwZURyb3Bkb3duKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkRlZmF1bHQgc2VsZWN0IGV4YW1wbGVcIj57e2ludm9pY2VJc3N1ZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpbnZvaWNldHlwZWRyb3BEb3duXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2FyZCBweS0yIHctMTAwIGludm9pY2VpZHNlbGVjdCBwb3NpdGlvbi1hYnNvbHV0ZSBlbmQtMCB6LTEgaW52b2ljZURyb3BEb3duXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaW52b2ljZWl0ZW1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibGlzdC11bnN0eWxlZCBtYi0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIFtuZ0NsYXNzXT1cInRoaXMuaW52b2ljZUlzc3VlID09PSBpdGVtPy5pbnZvaWNlID8gJ2FjdGl2ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicHJvZHVjdHRleHQgcHgtNSBpdGVtcyBjdXJzb3ItcG9pbnRlciBweS00XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImludm9pY2VJdGVtKGl0ZW0pXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7aXRlbT8uaW52b2ljZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGZvcj1cImFtb3VudFwiIGNsYXNzPVwiZm9ybS1ncm91cCBweS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiIGhlYWRpbmd0ZXh0IG1iLTIgXCI+VG90YWwgQW1vdW50PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjdXJyZW5jeSA9PT0gJ2lucidcIiBjbGFzcz1cImRvbGxhci1zaWduXCI+4oK5PC9zcGFuPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY3VycmVuY3kgPT09ICdkb2xsYXInXCIgY2xhc3M9XCJkb2xsYXItc2lnblwiPiQ8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJhbW91bnRcIiAgdHlwZT1cInRleHRcIiByZWFkb25seSBjbGFzcz1cIm5nLXByaXN0aW5lIG5nLWludmFsaWQgbmctdG91Y2hlZCBhbW91bnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cInRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1wiPjwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBmb3I9XCJyZXZpc2VkQW1vdW50XCIgY2xhc3M9XCJmb3JtLWdyb3VwIG10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHktMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCIgaGVhZGluZ3RleHQgbWItMlwiPiBSZXZpc2VkIEFtb3VudDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cCBkcm9wc2VsZWN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImN1cnJlbmN5ID09PSAnaW5yJ1wiIGNsYXNzPVwiZG9sbGFyLXNpZ25cIj7igrk8L3NwYW4+PHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY3VycmVuY3kgPT09ICdkb2xsYXInXCIgY2xhc3M9XCJkb2xsYXItc2lnblwiPiQ8L3NwYW4+PGlucHV0IHR5cGU9XCJ0ZXh0XCIgKGtleXByZXNzKT1cIm9taXRfc3BlY2lhbF9jaGFyKCRldmVudClcIiAgZm9ybUNvbnRyb2xOYW1lPVwicmV2aXNlZEFtb3VudFwiICBbbmdDbGFzc109XCJtb3JlVGhhblRlblBlcmNlbnQgPyAnZXJyb3JpbnB1dCcgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cInRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpY29uXCIgKm5nSWY9XCJtb3JlVGhhblRlblBlcmNlbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzc1MTNfMzY2ODkpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk03Ljk5OTY3IDUuMzMzMDFWNy45OTk2N003Ljk5OTY3IDEwLjY2NjNIOC4wMDYzNE0xNC42NjYzIDcuOTk5NjdDMTQuNjY2MyAxMS42ODE2IDExLjY4MTYgMTQuNjY2MyA3Ljk5OTY3IDE0LjY2NjNDNC4zMTc3OCAxNC42NjYzIDEuMzMzMDEgMTEuNjgxNiAxLjMzMzAxIDcuOTk5NjdDMS4zMzMwMSA0LjMxNzc4IDQuMzE3NzggMS4zMzMwMSA3Ljk5OTY3IDEuMzMzMDFDMTEuNjgxNiAxLjMzMzAxIDE0LjY2NjMgNC4zMTc3OCAxNC42NjYzIDcuOTk5NjdaXCIgc3Ryb2tlPVwiI0YwNDQzOFwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzc1MTNfMzY2ODlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiBmaWxsPVwid2hpdGVcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIW1vcmVUaGFuVGVuUGVyY2VudFwiICBjbGFzcz1cImhlYWRpbmd0ZXh0IGNvbnRlbnR0ZXh0XCI+TW9yZSB0aGFuIDEwJSBjYW7igJl0IGJlIHJldmlzZWQgZnJvbSB0b3RhbCBhbW91bnQ8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJtb3JlVGhhblRlblBlcmNlbnRcIiBjbGFzcz1cInRleHQtZGFuZ2VyIGNvbnRlbnR0ZXh0XCI+TW9yZSB0aGFuIDEwJSBjYW7igJl0IGJlIHJldmlzZWQgZnJvbSB0b3RhbCBhbW91bnQ8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgZm9yPVwiZGlzY291bnRcIiBjbGFzcz1cImZvcm0tZ3JvdXAgbXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB5LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCIgaGVhZGluZ3RleHQgbWItMlwiPiBEaXNjb3VudDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCI+ICA8aW5wdXQgdHlwZT1cInRleHRcIiAoa2V5cHJlc3MpPVwib21pdF9zcGVjaWFsX2NoYXIoJGV2ZW50KVwiICBmb3JtQ29udHJvbE5hbWU9XCJkaXNjb3VudFwiIGNsYXNzPVwiYW1vdW50XCIgW25nQ2xhc3NdPVwibW9yZVRoYW5UZW5QZXJjZW50ID8gJ2Vycm9yaW5wdXQnIDogJydcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaWNvblwiICpuZ0lmPVwiIW1vcmVUaGFuVGVuUGVyY2VudFwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTIuNjY3IDMuMzMzNjZMMy4zMzM2NiAxMi42NjdNNi4wMDAzMyA0LjMzMzY2QzYuMDAwMzMgNS4yNTQxMyA1LjI1NDEzIDYuMDAwMzMgNC4zMzM2NiA2LjAwMDMzQzMuNDEzMTggNi4wMDAzMyAyLjY2Njk5IDUuMjU0MTMgMi42NjY5OSA0LjMzMzY2QzIuNjY2OTkgMy40MTMxOCAzLjQxMzE4IDIuNjY2OTkgNC4zMzM2NiAyLjY2Njk5QzUuMjU0MTMgMi42NjY5OSA2LjAwMDMzIDMuNDEzMTggNi4wMDAzMyA0LjMzMzY2Wk0xMy4zMzM3IDExLjY2N0MxMy4zMzM3IDEyLjU4NzUgMTIuNTg3NSAxMy4zMzM3IDExLjY2NyAxMy4zMzM3QzEwLjc0NjUgMTMuMzMzNyAxMC4wMDAzIDEyLjU4NzUgMTAuMDAwMyAxMS42NjdDMTAuMDAwMyAxMC43NDY1IDEwLjc0NjUgMTAuMDAwMyAxMS42NjcgMTAuMDAwM0MxMi41ODc1IDEwLjAwMDMgMTMuMzMzNyAxMC43NDY1IDEzLjMzMzcgMTEuNjY3WlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaWNvblwiICpuZ0lmPVwibW9yZVRoYW5UZW5QZXJjZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMi42NjcgMy4zMzM2NkwzLjMzMzY2IDEyLjY2N002LjAwMDMzIDQuMzMzNjZDNi4wMDAzMyA1LjI1NDEzIDUuMjU0MTMgNi4wMDAzMyA0LjMzMzY2IDYuMDAwMzNDMy40MTMxOCA2LjAwMDMzIDIuNjY2OTkgNS4yNTQxMyAyLjY2Njk5IDQuMzMzNjZDMi42NjY5OSAzLjQxMzE4IDMuNDEzMTggMi42NjY5OSA0LjMzMzY2IDIuNjY2OTlDNS4yNTQxMyAyLjY2Njk5IDYuMDAwMzMgMy40MTMxOCA2LjAwMDMzIDQuMzMzNjZaTTEzLjMzMzcgMTEuNjY3QzEzLjMzMzcgMTIuNTg3NSAxMi41ODc1IDEzLjMzMzcgMTEuNjY3IDEzLjMzMzdDMTAuNzQ2NSAxMy4zMzM3IDEwLjAwMDMgMTIuNTg3NSAxMC4wMDAzIDExLjY2N0MxMC4wMDAzIDEwLjc0NjUgMTAuNzQ2NSAxMC4wMDAzIDExLjY2NyAxMC4wMDAzQzEyLjU4NzUgMTAuMDAwMyAxMy4zMzM3IDEwLjc0NjUgMTMuMzMzNyAxMS42NjdaXCIgc3Ryb2tlPVwiI0YwNDQzOFwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIW1vcmVUaGFuVGVuUGVyY2VudFwiICBjbGFzcz1cImhlYWRpbmd0ZXh0IGNvbnRlbnR0ZXh0XCI+SW4gcGVyY2VudGFnZTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibW9yZVRoYW5UZW5QZXJjZW50XCIgY2xhc3M9XCJ0ZXh0LWRhbmdlciBjb250ZW50dGV4dFwiPkluIHBlcmNlbnRhZ2U8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IG10LTVcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIChjbGljayk9XCJhY3RpdmVNb2RhbC5kaXNtaXNzKClcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuLW91dGxpbmUgYnRuIGNhbmNlbCBtZS00IHctNTBcIj5DYW5jZWw8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cIm1vcmVUaGFuVGVuUGVyY2VudFwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwic3VjY2Vzc2NyZWRpdCgpXCIgdGFiaW5kZXg9XCIwXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgcHgtNCBuZy1zdGFyLWluc2VydGVkIHctNTBcIiBzdHlsZT1cIndoaXRlLXNwYWNlOiBub3dyYXA7XCI+PHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzdWJtaXRcIj5BcHBseSA8L3NwYW4+PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZm9ybT5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGl0LW5vdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tbWFuYWdlLWJpbGxpbmcvc3JjL2xpYi9jb21wb25lbnRzL3RhbmdvLW1hbmFnZS1iaWxsaW5nL2NyZWRpdC1ub3RlL2NyZWRpdC1ub3RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS1iaWxsaW5nL3NyYy9saWIvY29tcG9uZW50cy90YW5nby1tYW5hZ2UtYmlsbGluZy9jcmVkaXQtbm90ZS9jcmVkaXQtbm90ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFXLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFnQyxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHNUgsT0FBTyxFQUEwQixVQUFVLEVBQWUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdqRixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQVExQyxNQUFNLE9BQU8sbUJBQW1CO0lBb0JyQjtJQUFvQztJQUF3QztJQUEwQztJQUF3QjtJQW5COUksUUFBUSxDQUFLO0lBQ3RCLFlBQVksQ0FBTTtJQUNsQixXQUFXLEdBQXNDLEVBQUUsQ0FBQztJQUNwRCxtQkFBbUIsR0FBVyxLQUFLLENBQUM7SUFDcEMsY0FBYyxDQUFZO0lBQzFCLE1BQU0sR0FBVyxDQUFDLENBQUM7SUFDbkIsUUFBUSxDQUFNO0lBQ2QsYUFBYSxHQUFXLENBQUMsQ0FBQTtJQUN6QixrQkFBa0IsR0FBVyxLQUFLLENBQUE7SUFDbEMsUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUVmLGdCQUFnQixHQUFXLEVBQUUsQ0FBQTtJQUUxQixTQUFTLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFDNUQsV0FBVyxDQUFN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Z0JBRU0sU0FBUztzQkFBbEIsTUFBTTtnQkEySVAsZUFBZTtzQkFEZCxZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCAgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIENoYW5nZURldGVjdG9yUmVmLCBPbkRlc3Ryb3ksIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ2JBY3RpdmVNb2RhbCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IFN3YWwgZnJvbSAnc3dlZXRhbGVydDInO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzLCBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLXNoYXJlZCc7XHJcbmltcG9ydCB7IGxlZnQgfSBmcm9tICdAcG9wcGVyanMvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBCaWxsaW5nU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2JpbGxpbmcuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1jcmVkaXQtbm90ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NyZWRpdC1ub3RlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vY3JlZGl0LW5vdGUuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDcmVkaXROb3RlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgY2xpZW50SWQ6YW55O1xyXG4gIGludm9pY2VJc3N1ZTogYW55O1xyXG4gIGludm9pY2V0eXBlOiB7IG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyB9W10gPSBbXTsgXHJcbiAgaW52b2ljZXR5cGVkcm9wRG93bjpib29sZWFuID0gZmFsc2U7XHJcbiAgY3JlZGl0bm90ZWZvcm06IEZvcm1Hcm91cDtcclxuICBhbW91bnQ6IG51bWJlciA9IDA7XHJcbiAgZGlzY291bnQ6IGFueTtcclxuICByZXZpc2VkQW1vdW50OiBudW1iZXIgPSAwXHJcbiAgbW9yZVRoYW5UZW5QZXJjZW50OmJvb2xlYW4gPSBmYWxzZVxyXG4gIGN1cnJlbmN5OiBzdHJpbmcgPSAnJztcclxuXHJcbkBJbnB1dCgpIHRyYW5zYWN0aW9udmFsdWU6IHN0cmluZyA9IFwiXCJcclxuXHJcbiAgQE91dHB1dCgpIHBhc3NFbnRyeTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgaW52b2ljZWl0ZW06IGFueTtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcbiBcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBhY3RpdmVNb2RhbDogTmdiQWN0aXZlTW9kYWwscHJpdmF0ZSBCaWxsaW5nU2VydmljZTogQmlsbGluZ1NlcnZpY2UsIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLHByaXZhdGUgdG9hc3Q6VG9hc3RTZXJ2aWNlXHJcbiAgKSB7IFxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNyZWRpdG5vdGUoKTtcclxuICAgIHRoaXMuY3JlZGl0bm90ZWZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgaW52b2ljZXR5cGU6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAgIGFtb3VudDogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSwgXHJcbiAgICAgIHJldmlzZWRBbW91bnQ6WycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSAsXHJcbiAgICAgIGRpc2NvdW50OiBbJycsWyBWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heCgxMCldXSxcclxuICAgIH0pO1xyXG4gICAgdGhpcy5jcmVkaXRub3RlZm9ybS5nZXQoJ3JldmlzZWRBbW91bnQnKT8udmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGUpID0+IHtcclxuICAgICAgaWYoZSkgeyBcclxuICAgICAgICB0aGlzLmFtb3VudCA9IHRoaXMuY3JlZGl0bm90ZWZvcm0uZ2V0KCdhbW91bnQnKT8udmFsdWU7XHJcbiAgICAgICAgY29uc29sZS5sb2codGhpcy5hbW91bnQpXHJcbiAgICAgICAgaWYodGhpcy5hbW91bnQpe1xyXG4gICAgICAgICAgdGhpcy5kaXNjb3VudCA9ICgodGhpcy5hbW91bnQgLSBlKSAvIHRoaXMuYW1vdW50ICogMTAwKS50b0ZpeGVkKDIpO1xyXG4gICAgICAgICAgdGhpcy5yZXZpc2VkQW1vdW50PWU7XHJcbiAgICAgICAgICBpZih0aGlzLmRpc2NvdW50PjEwIHx8IGlzTmFOKGUpIHx8IHRoaXMuZGlzY291bnQgPCAwIHx8IGUgPCAwKXtcclxuICAgICAgICAgICAgdGhpcy5tb3JlVGhhblRlblBlcmNlbnQgPSB0cnVlOyBcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLm1vcmVUaGFuVGVuUGVyY2VudCA9IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5jcmVkaXRub3RlZm9ybS5nZXQoJ2Rpc2NvdW50Jyk/LnNldFZhbHVlKHRoaXMuZGlzY291bnQsIHtcclxuICAgICAgICAgICAgZW1pdEV2ZW50XHJcbiAgICAgICAgICAgICAgOiBmYWxzZSB9KTtcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgIHRoaXMudG9hc3QuZ2V0RXJyb3JUb2FzdChcIlBsZWFzZSBzZWxlY3Qgb25lIEludm9pY2VcIilcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIGxldCBlbXB0ZGlzY291bnQgPSAnJ1xyXG4gICAgICAgIHRoaXMuY3JlZGl0bm90ZWZvcm0uZ2V0KCdkaXNjb3VudCcpPy5zZXRWYWx1ZShlbXB0ZGlzY291bnQsIHtcclxuICAgICAgICAgIGVtaXRFdmVudFxyXG4gICAgICAgICAgICA6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgdGhpcy5tb3JlVGhhblRlblBlcmNlbnQgPSBmYWxzZTsgXHJcbiAgICAgIH0gXHJcbiAgICB9KVxyXG4gICAgXHJcbiAgICB0aGlzLmNyZWRpdG5vdGVmb3JtLmdldCgnZGlzY291bnQnKT8udmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGUpID0+IHtcclxuICAgICAgaWYoZSkge1xyXG4gICAgICAgIHRoaXMuYW1vdW50ID0gdGhpcy5jcmVkaXRub3RlZm9ybS5nZXQoJ2Ftb3VudCcpPy52YWx1ZTtcclxuICAgICAgICB0aGlzLnJldmlzZWRBbW91bnQgPSB0aGlzLmFtb3VudCAqICgxIC0gZSAvIDEwMCk7XHJcbiAgICAgICAgdGhpcy5yZXZpc2VkQW1vdW50ID0gcGFyc2VJbnQodGhpcy5yZXZpc2VkQW1vdW50LnRvRml4ZWQoKSlcclxuICAgICAgICB0aGlzLmRpc2NvdW50PWU7XHJcbiAgICAgICAgaWYgKHRoaXMuZGlzY291bnQ+MTAgfHwgaXNOYU4oZSkgfHwgZSA8IDAgfHwgdGhpcy5yZXZpc2VkQW1vdW50IDwgMCl7XHJcbiAgICAgICAgICB0aGlzLm1vcmVUaGFuVGVuUGVyY2VudCA9IHRydWU7IFxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHRoaXMubW9yZVRoYW5UZW5QZXJjZW50ID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY3JlZGl0bm90ZWZvcm0uZ2V0KCdyZXZpc2VkQW1vdW50Jyk/LnNldFZhbHVlKHRoaXMucmV2aXNlZEFtb3VudCwge1xyXG4gICAgICAgICAgZW1pdEV2ZW50XHJcbiAgICAgICAgICA6IGZhbHNlIH0pO1xyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICBsZXQgZW1wdGRpc2NvdW50ID0gJydcclxuICAgICAgICB0aGlzLmNyZWRpdG5vdGVmb3JtLmdldCgncmV2aXNlZEFtb3VudCcpPy5zZXRWYWx1ZShlbXB0ZGlzY291bnQsIHtcclxuICAgICAgICAgIGVtaXRFdmVudFxyXG4gICAgICAgICAgICA6IGZhbHNlIH0pO1xyXG4gICAgICAgIHRoaXMubW9yZVRoYW5UZW5QZXJjZW50ID0gZmFsc2U7IFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuICAgIH0pXHJcbiAgfVxyXG4gIGdldCByZXZpc2VkYW1vdW50KCkgeyByZXR1cm4gdGhpcy5jcmVkaXRub3RlZm9ybS5nZXQoJ3JldmlzZWRBbW91bnQnKTsgfVxyXG4gIGdldCBkaXNjb3VudHMoKSB7IHJldHVybiB0aGlzLmNyZWRpdG5vdGVmb3JtLmdldCgnZGlzY291bnQnKTsgfVxyXG4gIFxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgXHJcbiAgY3JlZGl0bm90ZSgpe1xyXG4gICAgbGV0IHBheWxvYWQ6YW55PXtcclxuICAgICAgY2xpZW50SWQ6dGhpcy5jbGllbnRJZFxyXG4gICAgfVxyXG4gIHRoaXMuQmlsbGluZ1NlcnZpY2UucGVuZGluZ0ludm9pY2VzKHBheWxvYWQpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgdGhpcy5pbnZvaWNlaXRlbSA9IHJlcz8uZGF0YTtcclxuICAgICAgICB0aGlzLmludm9pY2VJc3N1ZSA9IHRoaXMuaW52b2ljZWl0ZW1bMF0/Lmludm9pY2U7XHJcbiAgICAgICAgY29uc3QgYW1vdW50ID0gdGhpcy5pbnZvaWNlaXRlbVswXT8uYW1vdW50IHx8IFwiXCI7XHJcbiAgICAgICAgdGhpcy5jdXJyZW5jeSA9IHRoaXMuaW52b2ljZWl0ZW1bMF0/LmN1cnJlbmN5IHx8IFwiXCI7XHJcbiAgICAgICAgdGhpcy5jcmVkaXRub3RlZm9ybS5wYXRjaFZhbHVlKHtcclxuICAgICAgICAgIGFtb3VudDogYW1vdW50LFxyXG4gICAgICAgICAgZGlzY291bnQ6dGhpcy5pbnZvaWNlaXRlbT8uZGlzY291bnRcclxuICAgICAgICB9KTtcclxuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH1cclxuICB9KTtcclxuICB9XHJcblxyXG4gIGludm9pY2VJdGVtKGludm9pY2V2YWx1ZTphbnkpe1xyXG4gICAgdGhpcy5jcmVkaXRub3RlZm9ybS5wYXRjaFZhbHVlKHtcclxuICAgICAgYW1vdW50OiBpbnZvaWNldmFsdWUuYW1vdW50LFxyXG4gICAgICAuLi4oaW52b2ljZXZhbHVlPy5kaXNjb3VudCA/IHtkaXNjb3VudDppbnZvaWNldmFsdWU/LmRpc2NvdW50fSA6IHtkaXNjb3VudDonJ30pLFxyXG4gICAgICAuLi4oaW52b2ljZXZhbHVlPy5yZXZpc2VkQW1vdW50ID8ge3JldmlzZWRBbW91bnQ6aW52b2ljZXZhbHVlPy5yZXZpc2VkQW1vdW50fSA6IHtyZXZpc2VkQW1vdW50OicnfSlcclxuICAgIH0pO1xyXG4gICAgdGhpcy5pbnZvaWNlSXNzdWUgPSBpbnZvaWNldmFsdWUuaW52b2ljZTtcclxuICAgIHRoaXMuY3JlZGl0bm90ZWZvcm0uZ2V0KCdpbnZvaWNldHlwZScpPy5zZXRWYWx1ZSh0aGlzLmludm9pY2VJc3N1ZSlcclxuICAgIHRoaXMuaW52b2ljZXR5cGVkcm9wRG93biA9IGZhbHNlO1xyXG4gIH1cclxuICBpbnZvaWNldHlwZURyb3Bkb3duKGV2ZW50Ok1vdXNlRXZlbnQpe1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLmludm9pY2V0eXBlZHJvcERvd24gPSAhdGhpcy5pbnZvaWNldHlwZWRyb3BEb3duO1xyXG4gICAgdGhpcy5yZXZpc2VkQW1vdW50ICAgXHJcbiAgfVxyXG4gIHN1Y2Nlc3NjcmVkaXQoKSB7XHJcbiAgICBjb25zdCByZXF1ZXN0RGF0YSA9IHtcclxuICAgICAgaW52b2ljZTp0aGlzLmludm9pY2VJc3N1ZSxcclxuICAgICAgcmV2aXNlZEFtb3VudDp0aGlzLnJldmlzZWRBbW91bnQsXHJcbiAgICAgIGRpc2NvdW50OnRoaXMuZGlzY291bnRcclxuICAgIH07XHJcbiAgICB0aGlzLkJpbGxpbmdTZXJ2aWNlLmFwcGx5RGlzY291bnQocmVxdWVzdERhdGEpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUgKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgIHRoaXMuYWN0aXZlTW9kYWwuY2xvc2UoJ3N1Y2Nlc3NjcmVkaXQnKTtcclxuICAgICAgICAvLyB0aGlzLnRvYXN0LmdldFByaW1hcnlUb2FzdChyZXMubWVzc2FnZSk7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKClcclxuICAgICAgfX0sXHJcbiAgICAgIChlcnJvcikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHN1Ym1pdHRpbmcgdXBkYXRlOicsIGVycm9yKTtcclxuICAgICAgfSlcclxuICB9XHJcbiAgb21pdF9zcGVjaWFsX2NoYXIoZXZlbnQ6IGFueSkge1xyXG4gICAgdmFyIGs7XHJcbiAgICBrID0gZXZlbnQuY2hhckNvZGU7ICAvLyAgICAgICAgIGsgPSBldmVudC5rZXlDb2RlOyAgKEJvdGggY2FuIGJlIHVzZWQpXHJcbiAgICByZXR1cm4gKGsgPT0gOCB8fCBrID09IDMyIHx8IChrID49IDQ4ICYmIGsgPD0gNTcpKTtcclxuICB9XHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKVxyXG4gIG9uRG9jdW1lbnRDbGljayhldmVudDogTW91c2VFdmVudCkge1xyXG4gICB0aGlzLmludm9pY2V0eXBlZHJvcERvd24gPSBmYWxzZTtcclxuICB9XHJcbn1cclxuXHJcbiIsIjxkaXYgY2xhc3M9XCJtb2RhbC1jb250ZW50XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicC01IHB4LTZcIj5cclxuICAgICAgICA8IS0tIDxkaXY+PGltZyBzcmM9XCIuL2Fzc2V0cy90YW5nby9jdXN0b21wb3B1cC1JY29ucy9wbHVzLWljb24uc3ZnXCIgYWx0PVwiXCI+PC9kaXY+IC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkaW5nIG10LTQgbXMtMVwiPkFkZCBDcmVkaXQgTm90ZTwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50dGV4dCBtdC00XCI+XHJcbiAgICAgICAgICAgIFlvdSBoYXZlIHRoZSBmbGV4aWJpbGl0eSB0byBzZWxlY3QgYSBtb250aCBpbiB3aGljaCB0aGUgYnJhbmQgY2FuIG1ha2UgY3JlZGl0IHBheW1lbnRzLlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHkgbWItOFwiPlxyXG4gICAgICAgIDwhLS1iZWdpbjo6Rm9ybS0tPlxyXG4gICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiY3JlZGl0bm90ZWZvcm1cIiBjbGFzcz1cImZvcm0gZnYtcGx1Z2lucy1ib290c3RyYXA1IGZ2LXBsdWdpbnMtZnJhbWV3b3JrXCIgYWN0aW9uPVwiI1wiPlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBmdi1yb3cgZnYtcGx1Z2lucy1pY29uLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcHktMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJpbnZvaWNldHlwZVwiIGNsYXNzPVwiaGVhZGluZ3RleHQgbWItMlwiPkludm9pY2UgSUQ8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1zZWxlY3QgZHJvcHNlbGVjdFwiIGlkPVwiaW52b2ljZXR5cGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImludm9pY2V0eXBlRHJvcGRvd24oJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiRGVmYXVsdCBzZWxlY3QgZXhhbXBsZVwiPnt7aW52b2ljZUlzc3VlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImludm9pY2V0eXBlZHJvcERvd25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXJkIHB5LTIgdy0xMDAgaW52b2ljZWlkc2VsZWN0IHBvc2l0aW9uLWFic29sdXRlIGVuZC0wIHotMSBpbnZvaWNlRHJvcERvd25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpbnZvaWNlaXRlbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJsaXN0LXVuc3R5bGVkIG1iLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgW25nQ2xhc3NdPVwidGhpcy5pbnZvaWNlSXNzdWUgPT09IGl0ZW0/Lmludm9pY2UgPyAnYWN0aXZlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwcm9kdWN0dGV4dCBweC01IGl0ZW1zIGN1cnNvci1wb2ludGVyIHB5LTRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaW52b2ljZUl0ZW0oaXRlbSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tpdGVtPy5pbnZvaWNlfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgZm9yPVwiYW1vdW50XCIgY2xhc3M9XCJmb3JtLWdyb3VwIHB5LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCIgaGVhZGluZ3RleHQgbWItMiBcIj5Ub3RhbCBBbW91bnQ8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImN1cnJlbmN5ID09PSAnaW5yJ1wiIGNsYXNzPVwiZG9sbGFyLXNpZ25cIj7igrk8L3NwYW4+PHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjdXJyZW5jeSA9PT0gJ2RvbGxhcidcIiBjbGFzcz1cImRvbGxhci1zaWduXCI+JDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cImFtb3VudFwiICB0eXBlPVwidGV4dFwiIHJlYWRvbmx5IGNsYXNzPVwibmctcHJpc3RpbmUgbmctaW52YWxpZCBuZy10b3VjaGVkIGFtb3VudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwidGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XCI+PC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGZvcj1cInJldmlzZWRBbW91bnRcIiBjbGFzcz1cImZvcm0tZ3JvdXAgbXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJweS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cIiBoZWFkaW5ndGV4dCBtYi0yXCI+IFJldmlzZWQgQW1vdW50PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwIGRyb3BzZWxlY3RcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY3VycmVuY3kgPT09ICdpbnInXCIgY2xhc3M9XCJkb2xsYXItc2lnblwiPuKCuTwvc3Bhbj48c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjdXJyZW5jeSA9PT0gJ2RvbGxhcidcIiBjbGFzcz1cImRvbGxhci1zaWduXCI+JDwvc3Bhbj48aW5wdXQgdHlwZT1cInRleHRcIiAoa2V5cHJlc3MpPVwib21pdF9zcGVjaWFsX2NoYXIoJGV2ZW50KVwiICBmb3JtQ29udHJvbE5hbWU9XCJyZXZpc2VkQW1vdW50XCIgIFtuZ0NsYXNzXT1cIm1vcmVUaGFuVGVuUGVyY2VudCA/ICdlcnJvcmlucHV0JyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwidGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImljb25cIiAqbmdJZj1cIm1vcmVUaGFuVGVuUGVyY2VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNzUxM18zNjY4OSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTcuOTk5NjcgNS4zMzMwMVY3Ljk5OTY3TTcuOTk5NjcgMTAuNjY2M0g4LjAwNjM0TTE0LjY2NjMgNy45OTk2N0MxNC42NjYzIDExLjY4MTYgMTEuNjgxNiAxNC42NjYzIDcuOTk5NjcgMTQuNjY2M0M0LjMxNzc4IDE0LjY2NjMgMS4zMzMwMSAxMS42ODE2IDEuMzMzMDEgNy45OTk2N0MxLjMzMzAxIDQuMzE3NzggNC4zMTc3OCAxLjMzMzAxIDcuOTk5NjcgMS4zMzMwMUMxMS42ODE2IDEuMzMzMDEgMTQuNjY2MyA0LjMxNzc4IDE0LjY2NjMgNy45OTk2N1pcIiBzdHJva2U9XCIjRjA0NDM4XCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNzUxM18zNjY4OVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIGZpbGw9XCJ3aGl0ZVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhbW9yZVRoYW5UZW5QZXJjZW50XCIgIGNsYXNzPVwiaGVhZGluZ3RleHQgY29udGVudHRleHRcIj5Nb3JlIHRoYW4gMTAlIGNhbuKAmXQgYmUgcmV2aXNlZCBmcm9tIHRvdGFsIGFtb3VudDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm1vcmVUaGFuVGVuUGVyY2VudFwiIGNsYXNzPVwidGV4dC1kYW5nZXIgY29udGVudHRleHRcIj5Nb3JlIHRoYW4gMTAlIGNhbuKAmXQgYmUgcmV2aXNlZCBmcm9tIHRvdGFsIGFtb3VudDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBmb3I9XCJkaXNjb3VudFwiIGNsYXNzPVwiZm9ybS1ncm91cCBtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHktMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cIiBoZWFkaW5ndGV4dCBtYi0yXCI+IERpc2NvdW50PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIj4gIDxpbnB1dCB0eXBlPVwidGV4dFwiIChrZXlwcmVzcyk9XCJvbWl0X3NwZWNpYWxfY2hhcigkZXZlbnQpXCIgIGZvcm1Db250cm9sTmFtZT1cImRpc2NvdW50XCIgY2xhc3M9XCJhbW91bnRcIiBbbmdDbGFzc109XCJtb3JlVGhhblRlblBlcmNlbnQgPyAnZXJyb3JpbnB1dCcgOiAnJ1wiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpY29uXCIgKm5nSWY9XCIhbW9yZVRoYW5UZW5QZXJjZW50XCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMi42NjcgMy4zMzM2NkwzLjMzMzY2IDEyLjY2N002LjAwMDMzIDQuMzMzNjZDNi4wMDAzMyA1LjI1NDEzIDUuMjU0MTMgNi4wMDAzMyA0LjMzMzY2IDYuMDAwMzNDMy40MTMxOCA2LjAwMDMzIDIuNjY2OTkgNS4yNTQxMyAyLjY2Njk5IDQuMzMzNjZDMi42NjY5OSAzLjQxMzE4IDMuNDEzMTggMi42NjY5OSA0LjMzMzY2IDIuNjY2OTlDNS4yNTQxMyAyLjY2Njk5IDYuMDAwMzMgMy40MTMxOCA2LjAwMDMzIDQuMzMzNjZaTTEzLjMzMzcgMTEuNjY3QzEzLjMzMzcgMTIuNTg3NSAxMi41ODc1IDEzLjMzMzcgMTEuNjY3IDEzLjMzMzdDMTAuNzQ2NSAxMy4zMzM3IDEwLjAwMDMgMTIuNTg3NSAxMC4wMDAzIDExLjY2N0MxMC4wMDAzIDEwLjc0NjUgMTAuNzQ2NSAxMC4wMDAzIDExLjY2NyAxMC4wMDAzQzEyLjU4NzUgMTAuMDAwMyAxMy4zMzM3IDEwLjc0NjUgMTMuMzMzNyAxMS42NjdaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpY29uXCIgKm5nSWY9XCJtb3JlVGhhblRlblBlcmNlbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEyLjY2NyAzLjMzMzY2TDMuMzMzNjYgMTIuNjY3TTYuMDAwMzMgNC4zMzM2NkM2LjAwMDMzIDUuMjU0MTMgNS4yNTQxMyA2LjAwMDMzIDQuMzMzNjYgNi4wMDAzM0MzLjQxMzE4IDYuMDAwMzMgMi42NjY5OSA1LjI1NDEzIDIuNjY2OTkgNC4zMzM2NkMyLjY2Njk5IDMuNDEzMTggMy40MTMxOCAyLjY2Njk5IDQuMzMzNjYgMi42NjY5OUM1LjI1NDEzIDIuNjY2OTkgNi4wMDAzMyAzLjQxMzE4IDYuMDAwMzMgNC4zMzM2NlpNMTMuMzMzNyAxMS42NjdDMTMuMzMzNyAxMi41ODc1IDEyLjU4NzUgMTMuMzMzNyAxMS42NjcgMTMuMzMzN0MxMC43NDY1IDEzLjMzMzcgMTAuMDAwMyAxMi41ODc1IDEwLjAwMDMgMTEuNjY3QzEwLjAwMDMgMTAuNzQ2NSAxMC43NDY1IDEwLjAwMDMgMTEuNjY3IDEwLjAwMDNDMTIuNTg3NSAxMC4wMDAzIDEzLjMzMzcgMTAuNzQ2NSAxMy4zMzM3IDExLjY2N1pcIiBzdHJva2U9XCIjRjA0NDM4XCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhbW9yZVRoYW5UZW5QZXJjZW50XCIgIGNsYXNzPVwiaGVhZGluZ3RleHQgY29udGVudHRleHRcIj5JbiBwZXJjZW50YWdlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJtb3JlVGhhblRlblBlcmNlbnRcIiBjbGFzcz1cInRleHQtZGFuZ2VyIGNvbnRlbnR0ZXh0XCI+SW4gcGVyY2VudGFnZTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggbXQtNVwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgKGNsaWNrKT1cImFjdGl2ZU1vZGFsLmRpc21pc3MoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4tb3V0bGluZSBidG4gY2FuY2VsIG1lLTQgdy01MFwiPkNhbmNlbDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwibW9yZVRoYW5UZW5QZXJjZW50XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJzdWNjZXNzY3JlZGl0KClcIiB0YWJpbmRleD1cIjBcIiBcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBweC00IG5nLXN0YXItaW5zZXJ0ZWQgdy01MFwiIHN0eWxlPVwid2hpdGUtc3BhY2U6IG5vd3JhcDtcIj48c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN1Ym1pdFwiPkFwcGx5IDwvc3Bhbj48L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9mb3JtPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==