@hmcts/ccd-case-ui-toolkit 5.0.25-case-file-view-error-message-display → 5.0.25-case-file-sort-documents

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 (45) hide show
  1. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js +510 -169
  2. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js.map +1 -1
  3. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js +1 -1
  4. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js.map +1 -1
  5. package/esm2015/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.js +19 -15
  6. package/esm2015/lib/shared/components/palette/case-file-view/case-file-view-field.component.js +21 -53
  7. package/esm2015/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-sort/case-file-view-folder-sort.component.js +44 -0
  8. package/esm2015/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.js +135 -54
  9. package/esm2015/lib/shared/components/palette/case-file-view/components/index.js +3 -1
  10. package/esm2015/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu-item.model.js +2 -0
  11. package/esm2015/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu.component.js +90 -0
  12. package/esm2015/lib/shared/components/palette/case-file-view/components/shared/index.js +2 -0
  13. package/esm2015/lib/shared/components/palette/palette.module.js +18 -5
  14. package/esm2015/lib/shared/components/search-result/search-result.component.js +12 -10
  15. package/esm2015/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.js +92 -0
  16. package/esm2015/lib/shared/domain/case-file-view/index.js +2 -2
  17. package/esm2015/lib/shared/services/case-file-view/case-file-view.service.js +6 -5
  18. package/fesm2015/hmcts-ccd-case-ui-toolkit.js +453 -158
  19. package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
  20. package/lib/shared/components/palette/case-file-view/case-file-view-field.component.d.ts +4 -7
  21. package/lib/shared/components/palette/case-file-view/case-file-view-field.component.d.ts.map +1 -1
  22. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-sort/case-file-view-folder-sort.component.d.ts +14 -0
  23. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-sort/case-file-view-folder-sort.component.d.ts.map +1 -0
  24. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts +5 -1
  25. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts.map +1 -1
  26. package/lib/shared/components/palette/case-file-view/components/index.d.ts +2 -0
  27. package/lib/shared/components/palette/case-file-view/components/index.d.ts.map +1 -1
  28. package/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu-item.model.d.ts +6 -0
  29. package/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu-item.model.d.ts.map +1 -0
  30. package/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu.component.d.ts +15 -0
  31. package/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu.component.d.ts.map +1 -0
  32. package/lib/shared/components/palette/case-file-view/components/shared/index.d.ts +2 -0
  33. package/lib/shared/components/palette/case-file-view/components/shared/index.d.ts.map +1 -0
  34. package/lib/shared/components/palette/palette.module.d.ts +25 -22
  35. package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
  36. package/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.d.ts +10 -0
  37. package/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.d.ts.map +1 -0
  38. package/lib/shared/domain/case-file-view/index.d.ts +1 -1
  39. package/lib/shared/domain/case-file-view/index.d.ts.map +1 -1
  40. package/lib/shared/services/case-file-view/case-file-view.service.d.ts +3 -2
  41. package/lib/shared/services/case-file-view/case-file-view.service.d.ts.map +1 -1
  42. package/package.json +1 -1
  43. package/esm2015/lib/shared/domain/case-file-view/document-tree-node.model.js +0 -2
  44. package/lib/shared/domain/case-file-view/document-tree-node.model.d.ts +0 -7
  45. package/lib/shared/domain/case-file-view/document-tree-node.model.d.ts.map +0 -1
@@ -1,5 +1,5 @@
1
1
  export * from './case-file-view-category.model';
2
2
  export * from './case-file-view-document.model';
3
3
  export * from './categories-and-documents.model';
4
- export * from './document-tree-node.model';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2RvbWFpbi9jYXNlLWZpbGUtdmlldy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYXNlLWZpbGUtdmlldy1jYXRlZ29yeS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2Nhc2UtZmlsZS12aWV3LWRvY3VtZW50Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY2F0ZWdvcmllcy1hbmQtZG9jdW1lbnRzLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZG9jdW1lbnQtdHJlZS1ub2RlLm1vZGVsJztcbiJdfQ==
4
+ export * from './document-tree-node/document-tree-node.model';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2RvbWFpbi9jYXNlLWZpbGUtdmlldy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLCtDQUErQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYXNlLWZpbGUtdmlldy1jYXRlZ29yeS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2Nhc2UtZmlsZS12aWV3LWRvY3VtZW50Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY2F0ZWdvcmllcy1hbmQtZG9jdW1lbnRzLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZG9jdW1lbnQtdHJlZS1ub2RlL2RvY3VtZW50LXRyZWUtbm9kZS5tb2RlbCc7XG4iXX0=
@@ -1,14 +1,15 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { of } from 'rxjs';
3
3
  import { AbstractAppConfig } from '../../../app.config';
4
- import { HttpService } from '../http';
4
+ import { HttpErrorService, HttpService } from '../http';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "../http";
7
7
  import * as i2 from "../../../app.config";
8
8
  export class CaseFileViewService {
9
- constructor(http, appConfig) {
9
+ constructor(http, appConfig, errorService) {
10
10
  this.http = http;
11
11
  this.appConfig = appConfig;
12
+ this.errorService = errorService;
12
13
  }
13
14
  /**
14
15
  * Retrieves the categories and documents for a case.
@@ -38,9 +39,9 @@ export class CaseFileViewService {
38
39
  return of(null);
39
40
  }
40
41
  }
41
- CaseFileViewService.ɵfac = function CaseFileViewService_Factory(t) { return new (t || CaseFileViewService)(i0.ɵɵinject(i1.HttpService), i0.ɵɵinject(i2.AbstractAppConfig)); };
42
+ CaseFileViewService.ɵfac = function CaseFileViewService_Factory(t) { return new (t || CaseFileViewService)(i0.ɵɵinject(i1.HttpService), i0.ɵɵinject(i2.AbstractAppConfig), i0.ɵɵinject(i1.HttpErrorService)); };
42
43
  CaseFileViewService.ɵprov = i0.ɵɵdefineInjectable({ token: CaseFileViewService, factory: CaseFileViewService.ɵfac });
43
44
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseFileViewService, [{
44
45
  type: Injectable
45
- }], function () { return [{ type: i1.HttpService }, { type: i2.AbstractAppConfig }]; }, null); })();
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1maWxlLXZpZXcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvc2VydmljZXMvY2FzZS1maWxlLXZpZXcvY2FzZS1maWxlLXZpZXcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7OztBQUd0QyxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQ21CLElBQWlCLEVBQ2pCLFNBQTRCO1FBRDVCLFNBQUksR0FBSixJQUFJLENBQWE7UUFDakIsY0FBUyxHQUFULFNBQVMsQ0FBbUI7SUFDM0MsQ0FBQztJQUVMOzs7OztPQUtHO0lBQ0kseUJBQXlCLENBQUMsT0FBZTtRQUM5QyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLDRCQUE0QixFQUFFLENBQUM7UUFFeEQsSUFBSSxHQUFHLEVBQUU7WUFDUCxHQUFHLElBQUksSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUVyQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUMsQ0FBQyxDQUFDO1NBQzlDO1FBRUQsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVNLHNCQUFzQixDQUFDLE9BQWUsRUFDZixXQUFtQixFQUNuQixhQUFxQixFQUNyQixVQUFrQjtRQUM5QyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFFOUMsSUFBSSxHQUFHLEVBQUU7WUFDUCxHQUFHLElBQUksSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNyQixNQUFNLElBQUksR0FBRztnQkFDWCxZQUFZLEVBQUUsV0FBVztnQkFDekIsY0FBYyxFQUFFLGFBQWE7Z0JBQzdCLFdBQVcsRUFBRSxVQUFVO2FBQ3hCLENBQUM7WUFFRixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBQyxPQUFPLEVBQUUsTUFBTSxFQUFDLENBQUMsQ0FBQztTQUNwRDtRQUVELE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xCLENBQUM7O3NGQTFDVSxtQkFBbUI7MkRBQW5CLG1CQUFtQixXQUFuQixtQkFBbUI7dUZBQW5CLG1CQUFtQjtjQUQvQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFic3RyYWN0QXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vYXBwLmNvbmZpZyc7XG5pbXBvcnQgeyBDYXRlZ29yaWVzQW5kRG9jdW1lbnRzIH0gZnJvbSAnLi4vLi4vZG9tYWluL2Nhc2UtZmlsZS12aWV3JztcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi4vaHR0cCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDYXNlRmlsZVZpZXdTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwOiBIdHRwU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwcENvbmZpZzogQWJzdHJhY3RBcHBDb25maWdcbiAgKSB7IH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIHRoZSBjYXRlZ29yaWVzIGFuZCBkb2N1bWVudHMgZm9yIGEgY2FzZS5cbiAgICpcbiAgICogQHBhcmFtIGNhc2VSZWYgMTYtZGlnaXQgQ2FzZSBSZWZlcmVuY2UgbnVtYmVyIG9mIHRoZSBjYXNlXG4gICAqIEByZXR1cm5zIEFuIGBPYnNlcnZhYmxlYCBvZiB0aGUgYENhdGVnb3JpZXNBbmREb2N1bWVudHNgIGZvciB0aGUgY2FzZVxuICAgKi9cbiAgcHVibGljIGdldENhdGVnb3JpZXNBbmREb2N1bWVudHMoY2FzZVJlZjogc3RyaW5nKTogT2JzZXJ2YWJsZTxDYXRlZ29yaWVzQW5kRG9jdW1lbnRzPiB7XG4gICAgbGV0IHVybCA9IHRoaXMuYXBwQ29uZmlnLmdldENhdGVnb3JpZXNBbmREb2N1bWVudHNVcmwoKTtcblxuICAgIGlmICh1cmwpIHtcbiAgICAgIHVybCArPSBgLyR7Y2FzZVJlZn1gO1xuXG4gICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwsIHtvYnNlcnZlOiAnYm9keSd9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gb2YobnVsbCk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlRG9jdW1lbnRDYXRlZ29yeShjYXNlUmVmOiBzdHJpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2VWZXJzaW9uOiBudW1iZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVBhdGg6IHN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnlJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxDYXRlZ29yaWVzQW5kRG9jdW1lbnRzPiB7XG4gICAgbGV0IHVybCA9IHRoaXMuYXBwQ29uZmlnLmdldERvY3VtZW50RGF0YVVybCgpO1xuXG4gICAgaWYgKHVybCkge1xuICAgICAgdXJsICs9IGAvJHtjYXNlUmVmfWA7XG4gICAgICBjb25zdCBib2R5ID0ge1xuICAgICAgICBjYXNlX3ZlcnNpb246IGNhc2VWZXJzaW9uLFxuICAgICAgICBhdHRyaWJ1dGVfcGF0aDogYXR0cmlidXRlUGF0aCxcbiAgICAgICAgY2F0ZWdvcnlfaWQ6IGNhdGVnb3J5SWRcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHVybCwgYm9keSwge29ic2VydmU6ICdib2R5J30pO1xuICAgIH1cblxuICAgIHJldHVybiBvZihudWxsKTtcbiAgfVxufVxuIl19
46
+ }], function () { return [{ type: i1.HttpService }, { type: i2.AbstractAppConfig }, { type: i1.HttpErrorService }]; }, null); })();
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1maWxlLXZpZXcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvc2VydmljZXMvY2FzZS1maWxlLXZpZXcvY2FzZS1maWxlLXZpZXcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7OztBQUd4RCxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQ21CLElBQWlCLEVBQ2pCLFNBQTRCLEVBQzVCLFlBQThCO1FBRjlCLFNBQUksR0FBSixJQUFJLENBQWE7UUFDakIsY0FBUyxHQUFULFNBQVMsQ0FBbUI7UUFDNUIsaUJBQVksR0FBWixZQUFZLENBQWtCO0lBQzdDLENBQUM7SUFFTDs7Ozs7T0FLRztJQUNJLHlCQUF5QixDQUFDLE9BQWU7UUFDOUMsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1FBRXhELElBQUksR0FBRyxFQUFFO1lBQ1AsR0FBRyxJQUFJLElBQUksT0FBTyxFQUFFLENBQUM7WUFFckIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBQyxPQUFPLEVBQUUsTUFBTSxFQUFDLENBQUMsQ0FBQztTQUM5QztRQUVELE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFFTSxzQkFBc0IsQ0FBQyxPQUFlLEVBQ2YsV0FBbUIsRUFDbkIsYUFBcUIsRUFDckIsVUFBa0I7UUFDOUMsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBRTlDLElBQUksR0FBRyxFQUFFO1lBQ1AsR0FBRyxJQUFJLElBQUksT0FBTyxFQUFFLENBQUM7WUFDckIsTUFBTSxJQUFJLEdBQUc7Z0JBQ1gsWUFBWSxFQUFFLFdBQVc7Z0JBQ3pCLGNBQWMsRUFBRSxhQUFhO2dCQUM3QixXQUFXLEVBQUUsVUFBVTthQUN4QixDQUFDO1lBRUYsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUMsT0FBTyxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUM7U0FDcEQ7UUFFRCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQixDQUFDOztzRkEzQ1UsbUJBQW1COzJEQUFuQixtQkFBbUIsV0FBbkIsbUJBQW1CO3VGQUFuQixtQkFBbUI7Y0FEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBYnN0cmFjdEFwcENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2FwcC5jb25maWcnO1xuaW1wb3J0IHsgQ2F0ZWdvcmllc0FuZERvY3VtZW50cyB9IGZyb20gJy4uLy4uL2RvbWFpbi9jYXNlLWZpbGUtdmlldyc7XG5pbXBvcnQgeyBIdHRwRXJyb3JTZXJ2aWNlLCBIdHRwU2VydmljZSB9IGZyb20gJy4uL2h0dHAnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2FzZUZpbGVWaWV3U2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhcHBDb25maWc6IEFic3RyYWN0QXBwQ29uZmlnLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZXJyb3JTZXJ2aWNlOiBIdHRwRXJyb3JTZXJ2aWNlXG4gICkgeyB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyB0aGUgY2F0ZWdvcmllcyBhbmQgZG9jdW1lbnRzIGZvciBhIGNhc2UuXG4gICAqXG4gICAqIEBwYXJhbSBjYXNlUmVmIDE2LWRpZ2l0IENhc2UgUmVmZXJlbmNlIG51bWJlciBvZiB0aGUgY2FzZVxuICAgKiBAcmV0dXJucyBBbiBgT2JzZXJ2YWJsZWAgb2YgdGhlIGBDYXRlZ29yaWVzQW5kRG9jdW1lbnRzYCBmb3IgdGhlIGNhc2VcbiAgICovXG4gIHB1YmxpYyBnZXRDYXRlZ29yaWVzQW5kRG9jdW1lbnRzKGNhc2VSZWY6IHN0cmluZyk6IE9ic2VydmFibGU8Q2F0ZWdvcmllc0FuZERvY3VtZW50cz4ge1xuICAgIGxldCB1cmwgPSB0aGlzLmFwcENvbmZpZy5nZXRDYXRlZ29yaWVzQW5kRG9jdW1lbnRzVXJsKCk7XG5cbiAgICBpZiAodXJsKSB7XG4gICAgICB1cmwgKz0gYC8ke2Nhc2VSZWZ9YDtcblxuICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsLCB7b2JzZXJ2ZTogJ2JvZHknfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9mKG51bGwpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZURvY3VtZW50Q2F0ZWdvcnkoY2FzZVJlZjogc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlVmVyc2lvbjogbnVtYmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVQYXRoOiBzdHJpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhdGVnb3J5SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8Q2F0ZWdvcmllc0FuZERvY3VtZW50cz4ge1xuICAgIGxldCB1cmwgPSB0aGlzLmFwcENvbmZpZy5nZXREb2N1bWVudERhdGFVcmwoKTtcblxuICAgIGlmICh1cmwpIHtcbiAgICAgIHVybCArPSBgLyR7Y2FzZVJlZn1gO1xuICAgICAgY29uc3QgYm9keSA9IHtcbiAgICAgICAgY2FzZV92ZXJzaW9uOiBjYXNlVmVyc2lvbixcbiAgICAgICAgYXR0cmlidXRlX3BhdGg6IGF0dHJpYnV0ZVBhdGgsXG4gICAgICAgIGNhdGVnb3J5X2lkOiBjYXRlZ29yeUlkXG4gICAgICB9O1xuXG4gICAgICByZXR1cm4gdGhpcy5odHRwLnB1dCh1cmwsIGJvZHksIHtvYnNlcnZlOiAnYm9keSd9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gb2YobnVsbCk7XG4gIH1cbn1cbiJdfQ==