@paperless/angular 2.22.0-alpha.20 → 2.22.0-alpha.21

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.
Files changed (48) hide show
  1. package/esm2022/lib/base/form.component.mjs +4 -4
  2. package/esm2022/lib/base/number-value-accessor.mjs +5 -5
  3. package/esm2022/lib/base/upload.component.mjs +4 -4
  4. package/esm2022/lib/base/value-accessor.mjs +5 -5
  5. package/esm2022/lib/directives/p-checkbox.directive.mjs +4 -4
  6. package/esm2022/lib/directives/p-cropper.directive.mjs +4 -4
  7. package/esm2022/lib/directives/p-datepicker.directive.mjs +4 -4
  8. package/esm2022/lib/directives/p-field-number.directive.mjs +4 -4
  9. package/esm2022/lib/directives/p-field.directive.mjs +4 -4
  10. package/esm2022/lib/directives/p-pagination-pages.directive.mjs +4 -4
  11. package/esm2022/lib/directives/p-pagination-size.directive.mjs +4 -4
  12. package/esm2022/lib/directives/p-radio.directive.mjs +6 -6
  13. package/esm2022/lib/directives/p-select.directive.mjs +4 -4
  14. package/esm2022/lib/directives/p-toggle.directive.mjs +4 -4
  15. package/esm2022/lib/modules/overlay/overlay.module.mjs +4 -4
  16. package/esm2022/lib/modules/overlay/overlay.service.mjs +5 -5
  17. package/esm2022/lib/modules/table/base/table.component.mjs +5 -5
  18. package/esm2022/lib/modules/table/components/table/table.component.mjs +5 -5
  19. package/esm2022/lib/modules/table/components/table-cell/table-cell.component.mjs +4 -4
  20. package/esm2022/lib/modules/table/components/table-column/table-column.component.mjs +5 -5
  21. package/esm2022/lib/modules/table/components/table-extra-header/table-extra-header.component.mjs +5 -5
  22. package/esm2022/lib/modules/table/components/table-row-action/table-row-action.component.mjs +5 -5
  23. package/esm2022/lib/modules/table/directives/p-table-custom-actions.directive.mjs +3 -3
  24. package/esm2022/lib/modules/table/directives/p-table-custom-filter.directive.mjs +3 -3
  25. package/esm2022/lib/modules/table/directives/p-table-custom-row.directive.mjs +5 -5
  26. package/esm2022/lib/modules/table/directives/p-table-filter-modal.directive.mjs +3 -3
  27. package/esm2022/lib/modules/table/directives/p-table-footer.directive.mjs +4 -4
  28. package/esm2022/lib/modules/table/directives/p-table-header.directive.mjs +5 -5
  29. package/esm2022/lib/modules/table/directives/p-table-ngx.directive.mjs +6 -6
  30. package/esm2022/lib/modules/table/directives/p-table.directive.mjs +5 -5
  31. package/esm2022/lib/modules/table/table.module.mjs +4 -4
  32. package/esm2022/lib/modules/table/utils.mjs +1 -1
  33. package/esm2022/lib/modules/toast/components/toast-container/toast-container.component.mjs +5 -5
  34. package/esm2022/lib/modules/toast/directives/toast.directive.mjs +4 -4
  35. package/esm2022/lib/modules/toast/toast.module.mjs +4 -4
  36. package/esm2022/lib/modules/toast/toast.service.mjs +3 -3
  37. package/esm2022/lib/paperless.module.mjs +4 -4
  38. package/esm2022/lib/pipes/currency.pipe.mjs +4 -4
  39. package/esm2022/lib/pipes/date.pipe.mjs +4 -4
  40. package/esm2022/lib/pipes/safe.pipe.mjs +5 -5
  41. package/esm2022/lib/pipes/select-autocomplete.pipe.mjs +3 -3
  42. package/esm2022/lib/pipes/select-select-all.pipe.mjs +3 -3
  43. package/esm2022/lib/stencil/angular-component-lib/utils.mjs +1 -1
  44. package/esm2022/lib/stencil/components.mjs +297 -297
  45. package/esm2022/lib/stencil.module.mjs +4 -4
  46. package/fesm2022/paperless-angular.mjs +457 -457
  47. package/fesm2022/paperless-angular.mjs.map +1 -1
  48. package/package.json +4 -4
@@ -211,19 +211,19 @@ let BaseTableComponent = class BaseTableComponent extends BaseFormComponent {
211
211
  }
212
212
  }), map(([_, current]) => current));
213
213
  }
214
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BaseTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
215
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: BaseTableComponent, selector: "ng-component", outputs: { tableOptionsChange: "tableOptionsChange" }, usesInheritance: true, ngImport: i0, template: ``, isInline: true });
214
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BaseTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
215
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: BaseTableComponent, selector: "ng-component", outputs: { tableOptionsChange: "tableOptionsChange" }, usesInheritance: true, ngImport: i0, template: ``, isInline: true });
216
216
  };
217
217
  BaseTableComponent = __decorate([
218
218
  UntilDestroy({ checkProperties: true })
219
219
  ], BaseTableComponent);
220
220
  export { BaseTableComponent };
221
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BaseTableComponent, decorators: [{
221
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BaseTableComponent, decorators: [{
222
222
  type: Component,
223
223
  args: [{
224
224
  template: ``,
225
225
  }]
226
- }], ctorParameters: function () { return []; }, propDecorators: { tableOptionsChange: [{
226
+ }], ctorParameters: () => [], propDecorators: { tableOptionsChange: [{
227
227
  type: Output
228
228
  }] } });
229
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGFwZXJsZXNzL3NyYy9saWIvbW9kdWxlcy90YWJsZS9iYXNlL3RhYmxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsNEJBQTRCLEVBQWUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RSxPQUFPLEVBQWMsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3pDLE9BQU8sRUFDTixRQUFRLEVBQ1IsTUFBTSxFQUNOLEdBQUcsRUFDSCxRQUFRLEVBQ1IsU0FBUyxFQUNULEdBQUcsR0FDSCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFvQnRDLElBQWUsa0JBQWtCLEdBQWpDLE1BQWUsa0JBQ3JCLFNBQVEsaUJBQWlCO0lBR2Ysa0JBQWtCLEdBQzNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFFVixZQUFZLEdBQVUsRUFBRSxDQUFDO0lBRTVCLFVBQVUsR0FBbUIsSUFBSSxTQUFTLENBQU0sRUFBRSxDQUFDLENBQUM7SUFDcEQsd0JBQXdCLENBQVU7SUFDbEMsdUJBQXVCLEdBQVEsRUFBRSxDQUFDO0lBRWxDLGVBQWUsR0FBRyw0QkFBNEIsQ0FBQztJQUMvQyxZQUFZLENBQTZCO0lBRXhDLG1CQUFtQixHQUFpQjtRQUMzQyxRQUFRLEVBQUUsSUFB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b20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFVudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHsgUEFHSU5BVElPTl9ERUZBVUxUX1BBR0VfU0laRSwgUXVpY2tGaWx0ZXIgfSBmcm9tICdAcGFwZXJsZXNzL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGltZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG5cdGRlYm91bmNlLFxuXHRmaWx0ZXIsXG5cdG1hcCxcblx0cGFpcndpc2UsXG5cdHN0YXJ0V2l0aCxcblx0dGFwLFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBCYXNlRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2Jhc2UvZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgY3JlYXRlRm9ybUZpbHRlcnMgfSBmcm9tICcuLi91dGlscyc7XG5cbmV4cG9ydCB0eXBlIFRhYmxlUXVpY2tGaWx0ZXIgPSBRdWlja0ZpbHRlciAmIHtcblx0dmFsdWU6IHN0cmluZztcblx0bWV0cmljTmFtZT86IHN0cmluZztcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVPcHRpb25zIHtcblx0cGFnZVNpemU6IG51bWJlcjtcblx0cGFnZTogbnVtYmVyO1xuXHRxdWlja0ZpbHRlcjogVGFibGVRdWlja0ZpbHRlciB8IHN0cmluZyB8IG51bGw7XG5cdHF1ZXJ5OiBzdHJpbmc7XG5cdGZpbHRlcnM6IGFueVtdO1xuXHRzZWxlY3RlZFJvd3M6IGFueVtdO1xufVxuXG5AVW50aWxEZXN0cm95KHsgY2hlY2tQcm9wZXJ0aWVzOiB0cnVlIH0pXG5AQ29tcG9uZW50KHtcblx0dGVtcGxhdGU6IGBgLFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlVGFibGVDb21wb25lbnRcblx0ZXh0ZW5kcyBCYXNlRm9ybUNvbXBvbmVudFxuXHRpbXBsZW1lbnRzIE9uSW5pdFxue1xuXHRAT3V0cHV0KCkgdGFibGVPcHRpb25zQ2hhbmdlOiBFdmVudEVtaXR0ZXI8UGFydGlhbDxUYWJsZU9wdGlvbnM+IHwgbnVsbD4gPVxuXHRcdG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuXHRwcm90ZWN0ZWQgcXVpY2tGaWx0ZXJzOiBhbnlbXSA9IFtdO1xuXG5cdHB1YmxpYyBmaWx0ZXJGb3JtOiBGb3JtR3JvdXA8YW55PiA9IG5ldyBGb3JtR3JvdXA8YW55Pih7fSk7XG5cdHB1YmxpYyBmaWx0ZXJGb3JtUXVpY2tGaWx0ZXJLZXk/OiBzdHJpbmc7XG5cdHB1YmxpYyBkZWZhdWx0RmlsdGVyRm9ybVZhbHVlczogYW55ID0ge307XG5cblx0cHVibGljIHBhZ2VTaXplRGVmYXVsdCA9IFBBR0lOQVRJT05fREVGQVVMVF9QQUdFX1NJWkU7XG5cdHB1YmxpYyB0YWJsZU9wdGlvbnM/OiBGb3JtQ29udHJvbDxUYWJsZU9wdGlvbnM+O1xuXG5cdHByaXZhdGUgX2RlZmF1bHRUYWJsZVZhbHVlczogVGFibGVPcHRpb25zID0ge1xuXHRcdHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplRGVmYXVsdCxcblx0XHRwYWdlOiAxLFxuXHRcdHF1aWNrRmlsdGVyOiBudWxsLFxuXHRcdHF1ZXJ5OiAnJyxcblx0XHRmaWx0ZXJzOiBbXSxcblx0XHRzZWxlY3RlZFJvd3M6IFtdLFxuXHR9O1xuXHRwdWJsaWMgZGVmYXVsdFRhYmxlVmFsdWVzOiBQYXJ0aWFsPFRhYmxlT3B0aW9ucz4gPSB7fTtcblxuXHRnZXQgcGFnZVNpemUoKSB7XG5cdFx0aWYgKCF0aGlzLnRhYmxlT3B0aW9ucykge1xuXHRcdFx0cmV0dXJuIHRoaXMuX2RlZmF1bHRUYWJsZVZhbHVlcy5wYWdlU2l6ZTtcblx0XHR9XG5cblx0XHRyZXR1cm4gdGhpcy50YWJsZU9wdGlvbnMudmFsdWUucGFnZVNpemU7XG5cdH1cblxuXHRzZXQgcGFnZVNpemUocGFnZVNpemU6IG51bWJlcikge1xuXHRcdHRoaXMudGFibGVWYWx1ZXMgPSB7XG5cdFx0XHRwYWdlU2l6ZSxcblx0XHR9O1xuXHR9XG5cblx0Z2V0IHBhZ2UoKSB7XG5cdFx0aWYgKCF0aGlzLnRhYmxlT3B0aW9ucykge1xuXHRcdFx0cmV0dXJuIHRoaXMuX2RlZmF1bHRUYWJsZVZhbHVlcy5wYWdlO1xuXHRcdH1cblxuXHRcdHJldHVybiB0aGlzLnRhYmxlT3B0aW9ucy52YWx1ZS5wYWdlO1xuXHR9XG5cblx0c2V0IHBhZ2UocGFnZTogbnVtYmVyKSB7XG5cdFx0dGhpcy50YWJsZVZhbHVlcyA9IHtcblx0XHRcdHBhZ2UsXG5cdFx0fTtcblx0fVxuXG5cdGdldCBxdWlja0ZpbHRlcigpIHtcblx0XHRpZiAoIXRoaXMudGFibGVPcHRpb25zKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5fZGVmYXVsdFRhYmxlVmFsdWVzLnF1aWNrRmlsdGVyO1xuXHRcdH1cblxuXHRcdHJldHVybiB0aGlzLnRhYmxlT3B0aW9ucy52YWx1ZS5xdWlja0ZpbHRlcjtcblx0fVxuXHRzZXQgcXVpY2tGaWx0ZXIocXVpY2tGaWx0ZXI6IFRhYmxlUXVpY2tGaWx0ZXIgfCBzdHJpbmcgfCBudWxsKSB7XG5cdFx0dGhpcy50YWJsZVZhbHVlcyA9IHtcblx0XHRcdHF1aWNrRmlsdGVyLFxuXHRcdH07XG5cdH1cblxuXHRnZXQgcXVlcnkoKSB7XG5cdFx0aWYgKCF0aGlzLnRhYmxlT3B0aW9ucykge1xuXHRcdFx0cmV0dXJuIHRoaXMuX2RlZmF1bHRUYWJsZVZhbHVlcy5xdWVyeTtcblx0XHR9XG5cblx0XHRyZXR1cm4gdGhpcy50YWJsZU9wdGlvbnMudmFsdWUucXVlcnk7XG5cdH1cblx0c2V0IHF1ZXJ5KHF1ZXJ5OiBzdHJpbmcpIHtcblx0XHR0aGlzLnRhYmxlVmFsdWVzID0ge1xuXHRcdFx0cXVlcnksXG5cdFx0fTtcblx0fVxuXG5cdGdldCBmaWx0ZXJzKCkge1xuXHRcdGlmICghdGhpcy50YWJsZU9wdGlvbnMpIHtcblx0XHRcdHJldHVybiB0aGlzLl9kZWZhdWx0VGFibGVWYWx1ZXMuZmlsdGVycztcblx0XHR9XG5cblx0XHRyZXR1cm4gdGhpcy50YWJsZU9wdGlvbnMudmFsdWUuZmlsdGVycztcblx0fVxuXHRzZXQgZmlsdGVycyhmaWx0ZXJzOiBhbnlbXSkge1xuXHRcdHRoaXMudGFibGVWYWx1ZXMgPSB7XG5cdFx0XHRmaWx0ZXJzLFxuXHRcdH07XG5cdH1cblxuXHRnZXQgc2VsZWN0ZWRSb3dzKCkge1xuXHRcdGlmICghdGhpcy50YWJsZU9wdGlvbnMpIHtcblx0XHRcdHJldHVybiB0aGlzLl9kZWZhdWx0VGFibGVWYWx1ZXMuc2VsZWN0ZWRSb3dzO1xuXHRcdH1cblxuXHRcdHJldHVybiB0aGlzLnRhYmxlT3B0aW9ucy52YWx1ZS5zZWxlY3RlZFJvd3M7XG5cdH1cblx0c2V0IHNlbGVjdGVkUm93cyhzZWxlY3RlZFJvd3M6IGFueVtdKSB7XG5cdFx0dGhpcy50YWJsZVZhbHVlcyA9IHtcblx0XHRcdHNlbGVjdGVkUm93cyxcblx0XHR9O1xuXHR9XG5cblx0Ly8gc2V0dGVyXG5cdGdldCBwYXJzZWREZWZhdWx0VGFibGVWYWx1ZXMoKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdC4uLnRoaXMuX2RlZmF1bHRUYWJsZVZhbHVlcyxcblx0XHRcdC4uLnRoaXMuZGVmYXVsdFRhYmxlVmFsdWVzLFxuXHRcdFx0cGFnZVNpemU6IHRoaXMuZGVmYXVsdFRhYmxlVmFsdWVzPy5wYWdlU2l6ZSB8fCB0aGlzLnBhZ2VTaXplRGVmYXVsdCxcblx0XHR9O1xuXHR9XG5cblx0Z2V0IHRhYmxlVmFsdWVzKCkge1xuXHRcdHJldHVybiB0aGlzLnRhYmxlT3B0aW9ucz8udmFsdWUgPz8ge307XG5cdH1cblxuXHRzZXQgdGFibGVWYWx1ZXModmFsdWVzOiBQYXJ0aWFsPFRhYmxlT3B0aW9ucz4pIHtcblx0XHR0aGlzLl9zZXRUYWJsZVZhbHVlcyh7XG5cdFx0XHQuLi50aGlzLnRhYmxlVmFsdWVzLFxuXHRcdFx0Li4udmFsdWVzLFxuXHRcdH0pO1xuXHR9XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0c3VwZXIoKTtcblx0fVxuXG5cdG5nT25Jbml0KCkge1xuXHRcdHRoaXMudGFibGVPcHRpb25zID0gbmV3IEZvcm1Db250cm9sPFRhYmxlT3B0aW9ucz4oe1xuXHRcdFx0cGFnZVNpemU6IHRoaXMucGFyc2VkRGVmYXVsdFRhYmxlVmFsdWVzLnBhZ2VTaXplLFxuXHRcdFx0cGFnZTogdGhpcy5wYXJzZWREZWZhdWx0VGFibGVWYWx1ZXMucGFnZSxcblx0XHRcdHF1aWNrRmlsdGVyOiB0aGlzLnBhcnNlZERlZmF1bHRUYWJsZVZhbHVlcy5xdWlja0ZpbHRlcixcblx0XHRcdHF1ZXJ5OiB0aGlzLnBhcnNlZERlZmF1bHRUYWJsZVZhbHVlcy5xdWVyeSxcblx0XHRcdGZpbHRlcnM6IHRoaXMucGFyc2VkRGVmYXVsdFRhYmxlVmFsdWVzLmZpbHRlcnMsXG5cdFx0XHRzZWxlY3RlZFJvd3M6IHRoaXMucGFyc2VkRGVmYXVsdFRhYmxlVmFsdWVzLnNlbGVjdGVkUm93cyxcblx0XHR9KSBhcyBGb3JtQ29udHJvbDxUYWJsZU9wdGlvbnM+O1xuXG5cdFx0dGhpcy50YWJsZU9wdGlvbnMudmFsdWVDaGFuZ2VzXG5cdFx0XHQucGlwZShcblx0XHRcdFx0dW50aWxEZXN0cm95ZWQodGhpcyksXG5cdFx0XHRcdHN0YXJ0V2l0aCh0aGlzLnRhYmxlT3B0aW9ucy52YWx1ZSksXG5cdFx0XHRcdHRhcCgodmFsdWU6IFRhYmxlT3B0aW9ucykgPT4gdGhpcy50YWJsZU9wdGlvbnNDaGFuZ2UubmV4dCh2YWx1ZSkpLFxuXHRcdFx0XHRwYWlyd2lzZSgpLFxuXHRcdFx0XHRtYXAoKFtwcmV2aW91cywgbmV4dF0pID0+IHRoaXMuX2dldENoYW5nZXMocHJldmlvdXMsIG5leHQpKSxcblx0XHRcdFx0ZmlsdGVyKGNoYW5nZXMgPT4gISFjaGFuZ2VzKSxcblx0XHRcdFx0ZGVib3VuY2UoY2hhbmdlcyA9PiB7XG5cdFx0XHRcdFx0aWYgKGNoYW5nZXM/LnF1ZXJ5ICYmIE9iamVjdC5rZXlzKGNoYW5nZXMpPy5sZW5ndGggPT09IDEpIHtcblx0XHRcdFx0XHRcdHJldHVybiB0aW1lcigzMDApO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdHJldHVybiB0aW1lcigwKTtcblx0XHRcdFx0fSlcblx0XHRcdClcblx0XHRcdC5zdWJzY3JpYmUoY2hhbmdlcyA9PiB7XG5cdFx0XHRcdGlmIChjaGFuZ2VzPy5wYWdlKSB7XG5cdFx0XHRcdFx0dGhpcy5fcmVmcmVzaCgpO1xuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHRoaXMuX3Jlc2V0UGFnZU9yUmVmcmVzaCgpO1xuXHRcdFx0fSk7XG5cblx0XHR0aGlzLl9yZWZyZXNoKCk7XG5cdH1cblxuXHRyZXNldFRhYmxlKGVtaXRFdmVudCA9IHRydWUsIGZvcmNlUmVmcmVzaCA9IGZhbHNlKSB7XG5cdFx0dGhpcy5fc2V0VGFibGVWYWx1ZXModGhpcy5wYXJzZWREZWZhdWx0VGFibGVWYWx1ZXMsIGVtaXRFdmVudCk7XG5cblx0XHRpZiAoZm9yY2VSZWZyZXNoKSB7XG5cdFx0XHR0aGlzLl9yZWZyZXNoKCk7XG5cdFx0fVxuXHR9XG5cblx0YXBwbHlGb3JtRmlsdGVycyh2YWx1ZXM6IGFueSA9IG51bGwpIHtcblx0XHR2YWx1ZXMgPSB2YWx1ZXMgPz8gdGhpcy5maWx0ZXJGb3JtLnZhbHVlO1xuXG5cdFx0Y29uc3QgeyBmaWx0ZXJzLCBxdWlja0ZpbHRlciB9ID0gY3JlYXRlRm9ybUZpbHRlcnMoXG5cdFx0XHR2YWx1ZXMsXG5cdFx0XHR0aGlzLnF1aWNrRmlsdGVycyxcblx0XHRcdHRoaXMuZmlsdGVyRm9ybVF1aWNrRmlsdGVyS2V5XG5cdFx0KTtcblxuXHRcdGlmIChxdWlja0ZpbHRlcikge1xuXHRcdFx0dGhpcy5xdWlja0ZpbHRlciA9IHF1aWNrRmlsdGVyO1xuXHRcdH1cblxuXHRcdHRoaXMuZmlsdGVycyA9IGZpbHRlcnM7XG5cdH1cblxuXHRjaGVja0ZpbHRlckZvcm0oKSB7XG5cdFx0Zm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXModGhpcy5maWx0ZXJGb3JtLmNvbnRyb2xzKSkge1xuXHRcdFx0Y29uc3QgZmlsdGVyID1cblx0XHRcdFx0dGhpcy5maWx0ZXJzLmZpbmQoZiA9PiBmLmtleSA9PT0ga2V5KSB8fFxuXHRcdFx0XHQoa2V5ID09PSB0aGlzLmZpbHRlckZvcm1RdWlja0ZpbHRlcktleSA/IHRoaXMucXVpY2tGaWx0ZXIgOiBudWxsKTtcblx0XHRcdHRoaXMuZmlsdGVyRm9ybS5nZXQoa2V5KT8uc2V0VmFsdWUoZmlsdGVyPy52YWx1ZSA/PyBudWxsKTtcblx0XHR9XG5cdH1cblxuXHRyZXNldEZvcm1GaWx0ZXJzKHJlc2V0UXVpY2tGaWx0ZXI6IGJvb2xlYW4gPSBmYWxzZSkge1xuXHRcdGNvbnN0IHZhbHVlczogYW55ID0gdGhpcy5maWx0ZXJGb3JtLnZhbHVlO1xuXHRcdGNvbnN0IGRlZmF1bHRRdWlja0ZpbHRlciA9IHRoaXMucXVpY2tGaWx0ZXJzLmZpbmQoZiA9PiBmLmRlZmF1bHQpO1xuXG5cdFx0Zm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXModmFsdWVzKSkge1xuXHRcdFx0aWYgKGtleSA9PT0gdGhpcy5maWx0ZXJGb3JtUXVpY2tGaWx0ZXJLZXkpIHtcblx0XHRcdFx0aWYgKHJlc2V0UXVpY2tGaWx0ZXIpIHtcblx0XHRcdFx0XHR2YWx1ZXNba2V5XSA9IGRlZmF1bHRRdWlja0ZpbHRlci52YWx1ZTtcblx0XHRcdFx0fVxuXHRcdFx0XHRjb250aW51ZTtcblx0XHRcdH1cblxuXHRcdFx0dmFsdWVzW2tleV0gPSB0aGlzLmRlZmF1bHRGaWx0ZXJGb3JtVmFsdWVzW2tleV0gPz8gbnVsbDtcblx0XHR9XG5cblx0XHR0aGlzLmZpbHRlckZvcm0uc2V0VmFsdWUodmFsdWVzKTtcblx0XHR0aGlzLmFwcGx5Rm9ybUZpbHRlcnModmFsdWVzKTtcblx0fVxuXG5cdHByb3RlY3RlZCBfcmVmcmVzaCgpIHtcblx0XHRjb25zb2xlLndhcm4oJ05vdCBpbXBsZW1lbnRlZCcpO1xuXHR9XG5cblx0cHJpdmF0ZSBfcmVzZXRQYWdlT3JSZWZyZXNoKCkge1xuXHRcdGlmICghdGhpcy50YWJsZU9wdGlvbnMpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRpZiAodGhpcy5wYWdlICE9PSAxKSB7XG5cdFx0XHR0aGlzLnBhZ2UgPSAxO1xuXHRcdH1cblxuXHRcdHRoaXMuX3JlZnJlc2goKTtcblx0fVxuXG5cdHByaXZhdGUgX3NldFRhYmxlVmFsdWVzKGRhdGE6IFBhcnRpYWw8VGFibGVPcHRpb25zPiwgZW1pdEV2ZW50ID0gdHJ1ZSkge1xuXHRcdHRoaXMudGFibGVPcHRpb25zPy5zZXRWYWx1ZShcblx0XHRcdHtcblx0XHRcdFx0Li4udGhpcy50YWJsZU9wdGlvbnMudmFsdWUsXG5cdFx0XHRcdC4uLmRhdGEsXG5cdFx0XHR9LFxuXHRcdFx0eyBlbWl0RXZlbnQgfVxuXHRcdCk7XG5cdH1cblxuXHRwcml2YXRlIF9nZXRDaGFuZ2VzKHByZXZpb3VzOiBUYWJsZU9wdGlvbnMsIG5leHQ6IFRhYmxlT3B0aW9ucykge1xuXHRcdGNvbnN0IGNoYW5nZXM6IFBhcnRpYWw8VGFibGVPcHRpb25zPiA9IHt9O1xuXG5cdFx0bGV0IGtleToga2V5b2YgVGFibGVPcHRpb25zO1xuXHRcdGZvciAoa2V5IGluIG5leHQpIHtcblx0XHRcdGlmIChrZXkgPT09ICdzZWxlY3RlZFJvd3MnKSB7XG5cdFx0XHRcdGNvbnRpbnVlO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAoSlNPTi5zdHJpbmdpZnkocHJldmlvdXNba2V5XSkgIT09IEpTT04uc3RyaW5naWZ5KG5leHRba2V5XSkpIHtcblx0XHRcdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdFx0XHRjaGFuZ2VzW2tleV0gPSBuZXh0W2tleV07XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cmV0dXJuIE9iamVjdC5rZXlzKGNoYW5nZXMpLmxlbmd0aCA/IGNoYW5nZXMgOiBudWxsO1xuXHR9XG5cblx0cHJvdGVjdGVkIF93YXRjaFByb3BlcnR5PFQ+KFxuXHRcdG9ic2VydmFibGU6IE9ic2VydmFibGU8VCAmIHsgaWQ6IHN0cmluZyB9Pixcblx0XHRpZGVudGlmaWVyOiBrZXlvZiAoVCAmIHsgaWQ6IHN0cmluZyB9KSA9ICdpZCdcblx0KSB7XG5cdFx0cmV0dXJuIG9ic2VydmFibGUucGlwZShcblx0XHRcdHVudGlsRGVzdHJveWVkKHRoaXMpLFxuXHRcdFx0c3RhcnRXaXRoKG51bGwpLFxuXHRcdFx0cGFpcndpc2UoKSxcblx0XHRcdGZpbHRlcigoW3ByZXYsIGN1cl0pID0+IHByZXYgIT09IGN1ciAmJiAhIWN1ciksXG5cdFx0XHR0YXAoKFtwcmV2aW91cywgY3VycmVudF0pID0+IHtcblx0XHRcdFx0aWYgKHByZXZpb3VzICYmIHByZXZpb3VzW2lkZW50aWZpZXJdICE9PSBjdXJyZW50Py5baWRlbnRpZmllcl0pIHtcblx0XHRcdFx0XHR0aGlzLnJlc2V0VGFibGUoZmFsc2UsIHRydWUpO1xuXHRcdFx0XHR9XG5cdFx0XHR9KSxcblx0XHRcdG1hcCgoW18sIGN1cnJlbnRdKSA9PiBjdXJyZW50KVxuXHRcdCk7XG5cdH1cbn1cbiJdfQ==
229
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGFwZXJsZXNzL3NyYy9saWIvbW9kdWxlcy90YWJsZS9iYXNlL3RhYmxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsNEJBQTRCLEVBQWUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RSxPQUFPLEVBQWMsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3pDLE9BQU8sRUFDTixRQUFRLEVBQ1IsTUFBTSxFQUNOLEdBQUcsRUFDSCxRQUFRLEVBQ1IsU0FBUyxFQUNULEdBQUcsR0FDSCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFvQnRDLElBQWUsa0JBQWtCLEdBQWpDLE1BQWUsa0JBQ3JCLFNBQVEsaUJBQWlCO0lBR2Ysa0JBQWtCLEdBQzNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFFVixZQUFZLEdBQVUsRUFBRSxDQUFDO0lBRTVCLFVBQVUsR0FBbUIsSUFBSSxTQUFTLENBQU0sRUFBRSxDQUFDLENBQUM7SUFDcEQsd0JBQXdCLENBQVU7SUFDbEMsdUJBQXVCLEdBQVEsRUFBRSxDQUFDO0lBRWxDLGVBQWUsR0FBRyw0QkFBNEIsQ0FBQztJQUMvQyxZQUFZLENBQTZCO0lBRXhDLG1CQUFtQixHQUFpQjtRQUMzQyxRQUFRLEVBQUUsSUFB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QUFFLENBQUM7R0FJbEIsa0JBQWtCLENBeVJ2Qzs7NEZBelJxQixrQkFBa0I7a0JBSHZDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLEVBQUU7aUJBQ1o7d0RBS1Usa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQgeyBQQUdJTkFUSU9OX0RFRkFVTFRfUEFHRV9TSVpFLCBRdWlja0ZpbHRlciB9IGZyb20gJ0BwYXBlcmxlc3MvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcblx0ZGVib3VuY2UsXG5cdGZpbHRlcixcblx0bWFwLFxuXHRwYWlyd2lzZSxcblx0c3RhcnRXaXRoLFxuXHR0YXAsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEJhc2VGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vYmFzZS9mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBjcmVhdGVGb3JtRmlsdGVycyB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IHR5cGUgVGFibGVRdWlja0ZpbHRlciA9IFF1aWNrRmlsdGVyICYge1xuXHR2YWx1ZTogc3RyaW5nO1xuXHRtZXRyaWNOYW1lPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBUYWJsZU9wdGlvbnMge1xuXHRwYWdlU2l6ZTogbnVtYmVyO1xuXHRwYWdlOiBudW1iZXI7XG5cdHF1aWNrRmlsdGVyOiBUYWJsZVF1aWNrRmlsdGVyIHwgc3RyaW5nIHwgbnVsbDtcblx0cXVlcnk6IHN0cmluZztcblx0ZmlsdGVyczogYW55W107XG5cdHNlbGVjdGVkUm93czogYW55W107XG59XG5cbkBVbnRpbERlc3Ryb3koeyBjaGVja1Byb3BlcnRpZXM6IHRydWUgfSlcbkBDb21wb25lbnQoe1xuXHR0ZW1wbGF0ZTogYGAsXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VUYWJsZUNvbXBvbmVudFxuXHRleHRlbmRzIEJhc2VGb3JtQ29tcG9uZW50XG5cdGltcGxlbWVudHMgT25Jbml0XG57XG5cdEBPdXRwdXQoKSB0YWJsZU9wdGlvbnNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxQYXJ0aWFsPFRhYmxlT3B0aW9ucz4gfCBudWxsPiA9XG5cdFx0bmV3IEV2ZW50RW1pdHRlcigpO1xuXG5cdHByb3RlY3RlZCBxdWlja0ZpbHRlcnM6IGFueVtdID0gW107XG5cblx0cHVibGljIGZpbHRlckZvcm06IEZvcm1Hcm91cDxhbnk+ID0gbmV3IEZvcm1Hcm91cDxhbnk+KHt9KTtcblx0cHVibGljIGZpbHRlckZvcm1RdWlja0ZpbHRlcktleT86IHN0cmluZztcblx0cHVibGljIGRlZmF1bHRGaWx0ZXJGb3JtVmFsdWVzOiBhbnkgPSB7fTtcblxuXHRwdWJsaWMgcGFnZVNpemVEZWZhdWx0ID0gUEFHSU5BVElPTl9ERUZBVUxUX1BBR0VfU0laRTtcblx0cHVibGljIHRhYmxlT3B0aW9ucz86IEZvcm1Db250cm9sPFRhYmxlT3B0aW9ucz47XG5cblx0cHJpdmF0ZSBfZGVmYXVsdFRhYmxlVmFsdWVzOiBUYWJsZU9wdGlvbnMgPSB7XG5cdFx0cGFnZVNpemU6IHRoaXMucGFnZVNpemVEZWZhdWx0LFxuXHRcdHBhZ2U6IDEsXG5cdFx0cXVpY2tGaWx0ZXI6IG51bGwsXG5cdFx0cXVlcnk6ICcnLFxuXHRcdGZpbHRlcnM6IFtdLFxuXHRcdHNlbGVjdGVkUm93czogW10sXG5cdH07XG5cdHB1YmxpYyBkZWZhdWx0VGFibGVWYWx1ZXM6IFBhcnRpYWw8VGFibGVPcHRpb25zPiA9IHt9O1xuXG5cdGdldCBwYWdlU2l6ZSgpIHtcblx0XHRpZiAoIXRoaXMudGFibGVPcHRpb25zKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5fZGVmYXVsdFRhYmxlVmFsdWVzLnBhZ2VTaXplO1xuXHRcdH1cblxuXHRcdHJldHVybiB0aGlzLnRhYmxlT3B0aW9ucy52YWx1ZS5wYWdlU2l6ZTtcblx0fVxuXG5cdHNldCBwYWdlU2l6ZShwYWdlU2l6ZTogbnVtYmVyKSB7XG5cdFx0dGhpcy50YWJsZVZhbHVlcyA9IHtcblx0XHRcdHBhZ2VTaXplLFxuXHRcdH07XG5cdH1cblxuXHRnZXQgcGFnZSgpIHtcblx0XHRpZiAoIXRoaXMudGFibGVPcHRpb25zKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5fZGVmYXVsdFRhYmxlVmFsdWVzLnBhZ2U7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHRoaXMudGFibGVPcHRpb25zLnZhbHVlLnBhZ2U7XG5cdH1cblxuXHRzZXQgcGFnZShwYWdlOiBudW1iZXIpIHtcblx0XHR0aGlzLnRhYmxlVmFsdWVzID0ge1xuXHRcdFx0cGFnZSxcblx0XHR9O1xuXHR9XG5cblx0Z2V0IHF1aWNrRmlsdGVyKCkge1xuXHRcdGlmICghdGhpcy50YWJsZU9wdGlvbnMpIHtcblx0XHRcdHJldHVybiB0aGlzLl9kZWZhdWx0VGFibGVWYWx1ZXMucXVpY2tGaWx0ZXI7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHRoaXMudGFibGVPcHRpb25zLnZhbHVlLnF1aWNrRmlsdGVyO1xuXHR9XG5cdHNldCBxdWlja0ZpbHRlcihxdWlja0ZpbHRlcjogVGFibGVRdWlja0ZpbHRlciB8IHN0cmluZyB8IG51bGwpIHtcblx0XHR0aGlzLnRhYmxlVmFsdWVzID0ge1xuXHRcdFx0cXVpY2tGaWx0ZXIsXG5cdFx0fTtcblx0fVxuXG5cdGdldCBxdWVyeSgpIHtcblx0XHRpZiAoIXRoaXMudGFibGVPcHRpb25zKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5fZGVmYXVsdFRhYmxlVmFsdWVzLnF1ZXJ5O1xuXHRcdH1cblxuXHRcdHJldHVybiB0aGlzLnRhYmxlT3B0aW9ucy52YWx1ZS5xdWVyeTtcblx0fVxuXHRzZXQgcXVlcnkocXVlcnk6IHN0cmluZykge1xuXHRcdHRoaXMudGFibGVWYWx1ZXMgPSB7XG5cdFx0XHRxdWVyeSxcblx0XHR9O1xuXHR9XG5cblx0Z2V0IGZpbHRlcnMoKSB7XG5cdFx0aWYgKCF0aGlzLnRhYmxlT3B0aW9ucykge1xuXHRcdFx0cmV0dXJuIHRoaXMuX2RlZmF1bHRUYWJsZVZhbHVlcy5maWx0ZXJzO1xuXHRcdH1cblxuXHRcdHJldHVybiB0aGlzLnRhYmxlT3B0aW9ucy52YWx1ZS5maWx0ZXJzO1xuXHR9XG5cdHNldCBmaWx0ZXJzKGZpbHRlcnM6IGFueVtdKSB7XG5cdFx0dGhpcy50YWJsZVZhbHVlcyA9IHtcblx0XHRcdGZpbHRlcnMsXG5cdFx0fTtcblx0fVxuXG5cdGdldCBzZWxlY3RlZFJvd3MoKSB7XG5cdFx0aWYgKCF0aGlzLnRhYmxlT3B0aW9ucykge1xuXHRcdFx0cmV0dXJuIHRoaXMuX2RlZmF1bHRUYWJsZVZhbHVlcy5zZWxlY3RlZFJvd3M7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHRoaXMudGFibGVPcHRpb25zLnZhbHVlLnNlbGVjdGVkUm93cztcblx0fVxuXHRzZXQgc2VsZWN0ZWRSb3dzKHNlbGVjdGVkUm93czogYW55W10pIHtcblx0XHR0aGlzLnRhYmxlVmFsdWVzID0ge1xuXHRcdFx0c2VsZWN0ZWRSb3dzLFxuXHRcdH07XG5cdH1cblxuXHQvLyBzZXR0ZXJcblx0Z2V0IHBhcnNlZERlZmF1bHRUYWJsZVZhbHVlcygpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0Li4udGhpcy5fZGVmYXVsdFRhYmxlVmFsdWVzLFxuXHRcdFx0Li4udGhpcy5kZWZhdWx0VGFibGVWYWx1ZXMsXG5cdFx0XHRwYWdlU2l6ZTogdGhpcy5kZWZhdWx0VGFibGVWYWx1ZXM/LnBhZ2VTaXplIHx8IHRoaXMucGFnZVNpemVEZWZhdWx0LFxuXHRcdH07XG5cdH1cblxuXHRnZXQgdGFibGVWYWx1ZXMoKSB7XG5cdFx0cmV0dXJuIHRoaXMudGFibGVPcHRpb25zPy52YWx1ZSA/PyB7fTtcblx0fVxuXG5cdHNldCB0YWJsZVZhbHVlcyh2YWx1ZXM6IFBhcnRpYWw8VGFibGVPcHRpb25zPikge1xuXHRcdHRoaXMuX3NldFRhYmxlVmFsdWVzKHtcblx0XHRcdC4uLnRoaXMudGFibGVWYWx1ZXMsXG5cdFx0XHQuLi52YWx1ZXMsXG5cdFx0fSk7XG5cdH1cblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRzdXBlcigpO1xuXHR9XG5cblx0bmdPbkluaXQoKSB7XG5cdFx0dGhpcy50YWJsZU9wdGlvbnMgPSBuZXcgRm9ybUNvbnRyb2w8VGFibGVPcHRpb25zPih7XG5cdFx0XHRwYWdlU2l6ZTogdGhpcy5wYXJzZWREZWZhdWx0VGFibGVWYWx1ZXMucGFnZVNpemUsXG5cdFx0XHRwYWdlOiB0aGlzLnBhcnNlZERlZmF1bHRUYWJsZVZhbHVlcy5wYWdlLFxuXHRcdFx0cXVpY2tGaWx0ZXI6IHRoaXMucGFyc2VkRGVmYXVsdFRhYmxlVmFsdWVzLnF1aWNrRmlsdGVyLFxuXHRcdFx0cXVlcnk6IHRoaXMucGFyc2VkRGVmYXVsdFRhYmxlVmFsdWVzLnF1ZXJ5LFxuXHRcdFx0ZmlsdGVyczogdGhpcy5wYXJzZWREZWZhdWx0VGFibGVWYWx1ZXMuZmlsdGVycyxcblx0XHRcdHNlbGVjdGVkUm93czogdGhpcy5wYXJzZWREZWZhdWx0VGFibGVWYWx1ZXMuc2VsZWN0ZWRSb3dzLFxuXHRcdH0pIGFzIEZvcm1Db250cm9sPFRhYmxlT3B0aW9ucz47XG5cblx0XHR0aGlzLnRhYmxlT3B0aW9ucy52YWx1ZUNoYW5nZXNcblx0XHRcdC5waXBlKFxuXHRcdFx0XHR1bnRpbERlc3Ryb3llZCh0aGlzKSxcblx0XHRcdFx0c3RhcnRXaXRoKHRoaXMudGFibGVPcHRpb25zLnZhbHVlKSxcblx0XHRcdFx0dGFwKCh2YWx1ZTogVGFibGVPcHRpb25zKSA9PiB0aGlzLnRhYmxlT3B0aW9uc0NoYW5nZS5uZXh0KHZhbHVlKSksXG5cdFx0XHRcdHBhaXJ3aXNlKCksXG5cdFx0XHRcdG1hcCgoW3ByZXZpb3VzLCBuZXh0XSkgPT4gdGhpcy5fZ2V0Q2hhbmdlcyhwcmV2aW91cywgbmV4dCkpLFxuXHRcdFx0XHRmaWx0ZXIoY2hhbmdlcyA9PiAhIWNoYW5nZXMpLFxuXHRcdFx0XHRkZWJvdW5jZShjaGFuZ2VzID0+IHtcblx0XHRcdFx0XHRpZiAoY2hhbmdlcz8ucXVlcnkgJiYgT2JqZWN0LmtleXMoY2hhbmdlcyk/Lmxlbmd0aCA9PT0gMSkge1xuXHRcdFx0XHRcdFx0cmV0dXJuIHRpbWVyKDMwMCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0cmV0dXJuIHRpbWVyKDApO1xuXHRcdFx0XHR9KVxuXHRcdFx0KVxuXHRcdFx0LnN1YnNjcmliZShjaGFuZ2VzID0+IHtcblx0XHRcdFx0aWYgKGNoYW5nZXM/LnBhZ2UpIHtcblx0XHRcdFx0XHR0aGlzLl9yZWZyZXNoKCk7XG5cdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGhpcy5fcmVzZXRQYWdlT3JSZWZyZXNoKCk7XG5cdFx0XHR9KTtcblxuXHRcdHRoaXMuX3JlZnJlc2goKTtcblx0fVxuXG5cdHJlc2V0VGFibGUoZW1pdEV2ZW50ID0gdHJ1ZSwgZm9yY2VSZWZyZXNoID0gZmFsc2UpIHtcblx0XHR0aGlzLl9zZXRUYWJsZVZhbHVlcyh0aGlzLnBhcnNlZERlZmF1bHRUYWJsZVZhbHVlcywgZW1pdEV2ZW50KTtcblxuXHRcdGlmIChmb3JjZVJlZnJlc2gpIHtcblx0XHRcdHRoaXMuX3JlZnJlc2goKTtcblx0XHR9XG5cdH1cblxuXHRhcHBseUZvcm1GaWx0ZXJzKHZhbHVlczogYW55ID0gbnVsbCkge1xuXHRcdHZhbHVlcyA9IHZhbHVlcyA/PyB0aGlzLmZpbHRlckZvcm0udmFsdWU7XG5cblx0XHRjb25zdCB7IGZpbHRlcnMsIHF1aWNrRmlsdGVyIH0gPSBjcmVhdGVGb3JtRmlsdGVycyhcblx0XHRcdHZhbHVlcyxcblx0XHRcdHRoaXMucXVpY2tGaWx0ZXJzLFxuXHRcdFx0dGhpcy5maWx0ZXJGb3JtUXVpY2tGaWx0ZXJLZXlcblx0XHQpO1xuXG5cdFx0aWYgKHF1aWNrRmlsdGVyKSB7XG5cdFx0XHR0aGlzLnF1aWNrRmlsdGVyID0gcXVpY2tGaWx0ZXI7XG5cdFx0fVxuXG5cdFx0dGhpcy5maWx0ZXJzID0gZmlsdGVycztcblx0fVxuXG5cdGNoZWNrRmlsdGVyRm9ybSgpIHtcblx0XHRmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyh0aGlzLmZpbHRlckZvcm0uY29udHJvbHMpKSB7XG5cdFx0XHRjb25zdCBmaWx0ZXIgPVxuXHRcdFx0XHR0aGlzLmZpbHRlcnMuZmluZChmID0+IGYua2V5ID09PSBrZXkpIHx8XG5cdFx0XHRcdChrZXkgPT09IHRoaXMuZmlsdGVyRm9ybVF1aWNrRmlsdGVyS2V5ID8gdGhpcy5xdWlja0ZpbHRlciA6IG51bGwpO1xuXHRcdFx0dGhpcy5maWx0ZXJGb3JtLmdldChrZXkpPy5zZXRWYWx1ZShmaWx0ZXI/LnZhbHVlID8/IG51bGwpO1xuXHRcdH1cblx0fVxuXG5cdHJlc2V0Rm9ybUZpbHRlcnMocmVzZXRRdWlja0ZpbHRlcjogYm9vbGVhbiA9IGZhbHNlKSB7XG5cdFx0Y29uc3QgdmFsdWVzOiBhbnkgPSB0aGlzLmZpbHRlckZvcm0udmFsdWU7XG5cdFx0Y29uc3QgZGVmYXVsdFF1aWNrRmlsdGVyID0gdGhpcy5xdWlja0ZpbHRlcnMuZmluZChmID0+IGYuZGVmYXVsdCk7XG5cblx0XHRmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyh2YWx1ZXMpKSB7XG5cdFx0XHRpZiAoa2V5ID09PSB0aGlzLmZpbHRlckZvcm1RdWlja0ZpbHRlcktleSkge1xuXHRcdFx0XHRpZiAocmVzZXRRdWlja0ZpbHRlcikge1xuXHRcdFx0XHRcdHZhbHVlc1trZXldID0gZGVmYXVsdFF1aWNrRmlsdGVyLnZhbHVlO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGNvbnRpbnVlO1xuXHRcdFx0fVxuXG5cdFx0XHR2YWx1ZXNba2V5XSA9IHRoaXMuZGVmYXVsdEZpbHRlckZvcm1WYWx1ZXNba2V5XSA/PyBudWxsO1xuXHRcdH1cblxuXHRcdHRoaXMuZmlsdGVyRm9ybS5zZXRWYWx1ZSh2YWx1ZXMpO1xuXHRcdHRoaXMuYXBwbHlGb3JtRmlsdGVycyh2YWx1ZXMpO1xuXHR9XG5cblx0cHJvdGVjdGVkIF9yZWZyZXNoKCkge1xuXHRcdGNvbnNvbGUud2FybignTm90IGltcGxlbWVudGVkJyk7XG5cdH1cblxuXHRwcml2YXRlIF9yZXNldFBhZ2VPclJlZnJlc2goKSB7XG5cdFx0aWYgKCF0aGlzLnRhYmxlT3B0aW9ucykge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdGlmICh0aGlzLnBhZ2UgIT09IDEpIHtcblx0XHRcdHRoaXMucGFnZSA9IDE7XG5cdFx0fVxuXG5cdFx0dGhpcy5fcmVmcmVzaCgpO1xuXHR9XG5cblx0cHJpdmF0ZSBfc2V0VGFibGVWYWx1ZXMoZGF0YTogUGFydGlhbDxUYWJsZU9wdGlvbnM+LCBlbWl0RXZlbnQgPSB0cnVlKSB7XG5cdFx0dGhpcy50YWJsZU9wdGlvbnM/LnNldFZhbHVlKFxuXHRcdFx0e1xuXHRcdFx0XHQuLi50aGlzLnRhYmxlT3B0aW9ucy52YWx1ZSxcblx0XHRcdFx0Li4uZGF0YSxcblx0XHRcdH0sXG5cdFx0XHR7IGVtaXRFdmVudCB9XG5cdFx0KTtcblx0fVxuXG5cdHByaXZhdGUgX2dldENoYW5nZXMocHJldmlvdXM6IFRhYmxlT3B0aW9ucywgbmV4dDogVGFibGVPcHRpb25zKSB7XG5cdFx0Y29uc3QgY2hhbmdlczogUGFydGlhbDxUYWJsZU9wdGlvbnM+ID0ge307XG5cblx0XHRsZXQga2V5OiBrZXlvZiBUYWJsZU9wdGlvbnM7XG5cdFx0Zm9yIChrZXkgaW4gbmV4dCkge1xuXHRcdFx0aWYgKGtleSA9PT0gJ3NlbGVjdGVkUm93cycpIHtcblx0XHRcdFx0Y29udGludWU7XG5cdFx0XHR9XG5cblx0XHRcdGlmIChKU09OLnN0cmluZ2lmeShwcmV2aW91c1trZXldKSAhPT0gSlNPTi5zdHJpbmdpZnkobmV4dFtrZXldKSkge1xuXHRcdFx0XHQvLyBAdHMtaWdub3JlXG5cdFx0XHRcdGNoYW5nZXNba2V5XSA9IG5leHRba2V5XTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRyZXR1cm4gT2JqZWN0LmtleXMoY2hhbmdlcykubGVuZ3RoID8gY2hhbmdlcyA6IG51bGw7XG5cdH1cblxuXHRwcm90ZWN0ZWQgX3dhdGNoUHJvcGVydHk8VD4oXG5cdFx0b2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxUICYgeyBpZDogc3RyaW5nIH0+LFxuXHRcdGlkZW50aWZpZXI6IGtleW9mIChUICYgeyBpZDogc3RyaW5nIH0pID0gJ2lkJ1xuXHQpIHtcblx0XHRyZXR1cm4gb2JzZXJ2YWJsZS5waXBlKFxuXHRcdFx0dW50aWxEZXN0cm95ZWQodGhpcyksXG5cdFx0XHRzdGFydFdpdGgobnVsbCksXG5cdFx0XHRwYWlyd2lzZSgpLFxuXHRcdFx0ZmlsdGVyKChbcHJldiwgY3VyXSkgPT4gcHJldiAhPT0gY3VyICYmICEhY3VyKSxcblx0XHRcdHRhcCgoW3ByZXZpb3VzLCBjdXJyZW50XSkgPT4ge1xuXHRcdFx0XHRpZiAocHJldmlvdXMgJiYgcHJldmlvdXNbaWRlbnRpZmllcl0gIT09IGN1cnJlbnQ/LltpZGVudGlmaWVyXSkge1xuXHRcdFx0XHRcdHRoaXMucmVzZXRUYWJsZShmYWxzZSwgdHJ1ZSk7XG5cdFx0XHRcdH1cblx0XHRcdH0pLFxuXHRcdFx0bWFwKChbXywgY3VycmVudF0pID0+IGN1cnJlbnQpXG5cdFx0KTtcblx0fVxufVxuIl19