geonetwork-ui 2.7.0-dev.fdfe671c3 → 2.7.0

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 (70) hide show
  1. package/esm2022/libs/api/repository/src/lib/gn4/gn4.provider.mjs +7 -3
  2. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +20 -6
  3. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  4. package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
  5. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-topics/form-field-topics.component.mjs +55 -0
  6. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +6 -6
  7. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/index.mjs +2 -2
  8. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +51 -45
  9. package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +24 -17
  10. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +3 -3
  11. package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +5 -5
  12. package/esm2022/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.mjs +8 -4
  13. package/esm2022/translations/de.json +25 -23
  14. package/esm2022/translations/en.json +26 -23
  15. package/esm2022/translations/es.json +25 -23
  16. package/esm2022/translations/fr.json +25 -23
  17. package/esm2022/translations/it.json +25 -23
  18. package/esm2022/translations/nl.json +25 -23
  19. package/esm2022/translations/pt.json +25 -23
  20. package/esm2022/translations/sk.json +25 -23
  21. package/fesm2022/geonetwork-ui.mjs +335 -283
  22. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  23. package/libs/api/repository/src/lib/gn4/gn4.provider.d.ts +5 -1
  24. package/libs/api/repository/src/lib/gn4/gn4.provider.d.ts.map +1 -1
  25. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +6 -2
  26. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  27. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +1 -1
  28. package/libs/common/domain/src/lib/platform.service.interface.d.ts +1 -0
  29. package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
  30. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-topics/form-field-topics.component.d.ts +20 -0
  31. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-topics/form-field-topics.component.d.ts.map +1 -0
  32. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +1 -1
  33. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
  34. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts +1 -1
  35. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts.map +1 -1
  36. package/libs/feature/editor/src/lib/fields.config.d.ts +4 -4
  37. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  38. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts +1 -0
  39. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
  40. package/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.d.ts.map +1 -1
  41. package/package.json +1 -1
  42. package/src/libs/api/repository/src/lib/gn4/gn4.provider.ts +13 -2
  43. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +17 -6
  44. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +1 -1
  45. package/src/libs/common/domain/src/lib/platform.service.interface.ts +1 -0
  46. package/src/libs/feature/editor/src/lib/components/record-form/form-field/{form-field-inspire-field/form-field-inspire-theme.component.html → form-field-topics/form-field-topics.component.html} +6 -6
  47. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-topics/form-field-topics.component.ts +57 -0
  48. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +3 -3
  49. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +3 -3
  50. package/src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts +1 -1
  51. package/src/libs/feature/editor/src/lib/fields.config.ts +51 -45
  52. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +23 -16
  53. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +5 -1
  54. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.html +4 -3
  55. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.ts +2 -2
  56. package/src/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.html +1 -4
  57. package/src/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.ts +5 -1
  58. package/translations/de.json +25 -23
  59. package/translations/en.json +26 -23
  60. package/translations/es.json +25 -23
  61. package/translations/fr.json +25 -23
  62. package/translations/it.json +25 -23
  63. package/translations/nl.json +25 -23
  64. package/translations/pt.json +25 -23
  65. package/translations/sk.json +25 -23
  66. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-inspire-field/form-field-inspire-theme.component.mjs +0 -55
  67. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-inspire-field/form-field-inspire-theme.component.d.ts +0 -20
  68. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-inspire-field/form-field-inspire-theme.component.d.ts.map +0 -1
  69. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-inspire-field/form-field-inspire-theme.component.ts +0 -57
  70. /package/src/libs/feature/editor/src/lib/components/record-form/form-field/{form-field-inspire-field/form-field-inspire-theme.component.css → form-field-topics/form-field-topics.component.css} +0 -0
@@ -1,5 +1,5 @@
1
1
  import { PlatformServiceInterface } from '../../../../../../libs/common/domain/src/lib/platform.service.interface';
2
- import { Gn4PlatformService } from './platform/gn4-platform.service';
2
+ import { DISABLE_AUTH, Gn4PlatformService, } from './platform/gn4-platform.service';
3
3
  import { Gn4PlatformMapper } from './platform/gn4-platform.mapper';
4
4
  import { RecordsRepositoryInterface } from '../../../../../../libs/common/domain/src/lib/repository/records-repository.interface';
5
5
  import { Gn4Repository } from './gn4-repository';
@@ -9,8 +9,12 @@ import { ORGANIZATIONS_STRATEGY, organizationsServiceFactory, } from './organiza
9
9
  import { ElasticsearchService } from './elasticsearch';
10
10
  import { GroupsApiService, SearchApiService, } from '../../../../../../libs/data-access/gn4/src';
11
11
  import { TranslateService } from '@ngx-translate/core';
12
- export function provideGn4() {
12
+ export function provideGn4(provideOptions) {
13
13
  return [
14
+ {
15
+ provide: DISABLE_AUTH,
16
+ useValue: provideOptions?.disableAuth,
17
+ },
14
18
  {
15
19
  provide: PlatformServiceInterface,
16
20
  useClass: Gn4PlatformService,
@@ -35,4 +39,4 @@ export function provideGn4() {
35
39
  },
36
40
  ];
37
41
  }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ240LnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvcmVwb3NpdG9yeS9zcmMvbGliL2duNC9nbjQucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUVBQXlFLENBQUE7QUFDbEgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFDbEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0ZBQXNGLENBQUE7QUFDakksT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ2hELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxlQUFlLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFDaEUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sOEVBQThFLENBQUE7QUFDNUgsT0FBTyxFQUNMLHNCQUFzQixFQUN0QiwyQkFBMkIsR0FDNUIsTUFBTSxpQkFBaUIsQ0FBQTtBQUN4QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUN0RCxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGdCQUFnQixHQUNqQixNQUFNLDRDQUE0QyxDQUFBO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBRXRELE1BQU0sVUFBVSxVQUFVO0lBQ3hCLE9BQU87UUFDTDtZQUNFLE9BQU8sRUFBRSx3QkFBd0I7WUFDakMsUUFBUSxFQUFFLGtCQUFrQjtTQUM3QjtRQUNEO1lBQ0UsT0FBTyxFQUFFLDBCQUEwQjtZQUNuQyxRQUFRLEVBQUUsYUFBYTtTQUN4QjtRQUNELGlCQUFpQjtRQUNqQixFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFO1FBQzlEO1lBQ0UsT0FBTyxFQUFFLDZCQUE2QjtZQUN0QyxVQUFVLEVBQUUsMkJBQTJCO1lBQ3ZDLElBQUksRUFBRTtnQkFDSixzQkFBc0I7Z0JBQ3RCLG9CQUFvQjtnQkFDcEIsZ0JBQWdCO2dCQUNoQixnQkFBZ0I7Z0JBQ2hCLGdCQUFnQjtnQkFDaEIsd0JBQXdCO2FBQ3pCO1NBQ0Y7S0FDRixDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFBsYXRmb3JtU2VydmljZUludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL3BsYXRmb3JtLnNlcnZpY2UuaW50ZXJmYWNlJ1xuaW1wb3J0IHsgR240UGxhdGZvcm1TZXJ2aWNlIH0gZnJvbSAnLi9wbGF0Zm9ybS9nbjQtcGxhdGZvcm0uc2VydmljZSdcbmltcG9ydCB7IEduNFBsYXRmb3JtTWFwcGVyIH0gZnJvbSAnLi9wbGF0Zm9ybS9nbjQtcGxhdGZvcm0ubWFwcGVyJ1xuaW1wb3J0IHsgUmVjb3Jkc1JlcG9zaXRvcnlJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9yZXBvc2l0b3J5L3JlY29yZHMtcmVwb3NpdG9yeS5pbnRlcmZhY2UnXG5pbXBvcnQgeyBHbjRSZXBvc2l0b3J5IH0gZnJvbSAnLi9nbjQtcmVwb3NpdG9yeSdcbmltcG9ydCB7IEF2YXRhclNlcnZpY2VJbnRlcmZhY2UsIEdyYXZhdGFyU2VydmljZSB9IGZyb20gJy4vYXV0aCdcbmltcG9ydCB7IE9yZ2FuaXphdGlvbnNTZXJ2aWNlSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvb3JnYW5pemF0aW9ucy5zZXJ2aWNlLmludGVyZmFjZSdcbmltcG9ydCB7XG4gIE9SR0FOSVpBVElPTlNfU1RSQVRFR1ksXG4gIG9yZ2FuaXphdGlvbnNTZXJ2aWNlRmFjdG9yeSxcbn0gZnJvbSAnLi9vcmdhbml6YXRpb25zJ1xuaW1wb3J0IHsgRWxhc3RpY3NlYXJjaFNlcnZpY2UgfSBmcm9tICcuL2VsYXN0aWNzZWFyY2gnXG5pbXBvcnQge1xuICBHcm91cHNBcGlTZXJ2aWNlLFxuICBTZWFyY2hBcGlTZXJ2aWNlLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL2duNC9zcmMnXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVHbjQoKTogUHJvdmlkZXJbXSB7XG4gIHJldHVybiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogUGxhdGZvcm1TZXJ2aWNlSW50ZXJmYWNlLFxuICAgICAgdXNlQ2xhc3M6IEduNFBsYXRmb3JtU2VydmljZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFJlY29yZHNSZXBvc2l0b3J5SW50ZXJmYWNlLFxuICAgICAgdXNlQ2xhc3M6IEduNFJlcG9zaXRvcnksXG4gICAgfSxcbiAgICBHbjRQbGF0Zm9ybU1hcHBlcixcbiAgICB7IHByb3ZpZGU6IEF2YXRhclNlcnZpY2VJbnRlcmZhY2UsIHVzZUNsYXNzOiBHcmF2YXRhclNlcnZpY2UgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBPcmdhbml6YXRpb25zU2VydmljZUludGVyZmFjZSxcbiAgICAgIHVzZUZhY3Rvcnk6IG9yZ2FuaXphdGlvbnNTZXJ2aWNlRmFjdG9yeSxcbiAgICAgIGRlcHM6IFtcbiAgICAgICAgT1JHQU5JWkFUSU9OU19TVFJBVEVHWSxcbiAgICAgICAgRWxhc3RpY3NlYXJjaFNlcnZpY2UsXG4gICAgICAgIFNlYXJjaEFwaVNlcnZpY2UsXG4gICAgICAgIEdyb3Vwc0FwaVNlcnZpY2UsXG4gICAgICAgIFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIFBsYXRmb3JtU2VydmljZUludGVyZmFjZSxcbiAgICAgIF0sXG4gICAgfSxcbiAgXVxufVxuIl19
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ240LnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvcmVwb3NpdG9yeS9zcmMvbGliL2duNC9nbjQucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUVBQXlFLENBQUE7QUFDbEgsT0FBTyxFQUNMLFlBQVksRUFDWixrQkFBa0IsR0FDbkIsTUFBTSxpQ0FBaUMsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUNsRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzRkFBc0YsQ0FBQTtBQUNqSSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDaEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLGVBQWUsRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw4RUFBOEUsQ0FBQTtBQUM1SCxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLDJCQUEyQixHQUM1QixNQUFNLGlCQUFpQixDQUFBO0FBQ3hCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ3RELE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsZ0JBQWdCLEdBQ2pCLE1BQU0sNENBQTRDLENBQUE7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFNdEQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxjQUFrQztJQUMzRCxPQUFPO1FBQ0w7WUFDRSxPQUFPLEVBQUUsWUFBWTtZQUNyQixRQUFRLEVBQUUsY0FBYyxFQUFFLFdBQVc7U0FDdEM7UUFDRDtZQUNFLE9BQU8sRUFBRSx3QkFBd0I7WUFDakMsUUFBUSxFQUFFLGtCQUFrQjtTQUM3QjtRQUNEO1lBQ0UsT0FBTyxFQUFFLDBCQUEwQjtZQUNuQyxRQUFRLEVBQUUsYUFBYTtTQUN4QjtRQUNELGlCQUFpQjtRQUNqQixFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFO1FBQzlEO1lBQ0UsT0FBTyxFQUFFLDZCQUE2QjtZQUN0QyxVQUFVLEVBQUUsMkJBQTJCO1lBQ3ZDLElBQUksRUFBRTtnQkFDSixzQkFBc0I7Z0JBQ3RCLG9CQUFvQjtnQkFDcEIsZ0JBQWdCO2dCQUNoQixnQkFBZ0I7Z0JBQ2hCLGdCQUFnQjtnQkFDaEIsd0JBQXdCO2FBQ3pCO1NBQ0Y7S0FDRixDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFBsYXRmb3JtU2VydmljZUludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL3BsYXRmb3JtLnNlcnZpY2UuaW50ZXJmYWNlJ1xuaW1wb3J0IHtcbiAgRElTQUJMRV9BVVRILFxuICBHbjRQbGF0Zm9ybVNlcnZpY2UsXG59IGZyb20gJy4vcGxhdGZvcm0vZ240LXBsYXRmb3JtLnNlcnZpY2UnXG5pbXBvcnQgeyBHbjRQbGF0Zm9ybU1hcHBlciB9IGZyb20gJy4vcGxhdGZvcm0vZ240LXBsYXRmb3JtLm1hcHBlcidcbmltcG9ydCB7IFJlY29yZHNSZXBvc2l0b3J5SW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvcmVwb3NpdG9yeS9yZWNvcmRzLXJlcG9zaXRvcnkuaW50ZXJmYWNlJ1xuaW1wb3J0IHsgR240UmVwb3NpdG9yeSB9IGZyb20gJy4vZ240LXJlcG9zaXRvcnknXG5pbXBvcnQgeyBBdmF0YXJTZXJ2aWNlSW50ZXJmYWNlLCBHcmF2YXRhclNlcnZpY2UgfSBmcm9tICcuL2F1dGgnXG5pbXBvcnQgeyBPcmdhbml6YXRpb25zU2VydmljZUludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL29yZ2FuaXphdGlvbnMuc2VydmljZS5pbnRlcmZhY2UnXG5pbXBvcnQge1xuICBPUkdBTklaQVRJT05TX1NUUkFURUdZLFxuICBvcmdhbml6YXRpb25zU2VydmljZUZhY3RvcnksXG59IGZyb20gJy4vb3JnYW5pemF0aW9ucydcbmltcG9ydCB7IEVsYXN0aWNzZWFyY2hTZXJ2aWNlIH0gZnJvbSAnLi9lbGFzdGljc2VhcmNoJ1xuaW1wb3J0IHtcbiAgR3JvdXBzQXBpU2VydmljZSxcbiAgU2VhcmNoQXBpU2VydmljZSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9nbjQvc3JjJ1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5cbmludGVyZmFjZSBHbjRQcm92aWRlT3B0aW9ucyB7XG4gIGRpc2FibGVBdXRoPzogYm9vbGVhblxufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUduNChwcm92aWRlT3B0aW9ucz86IEduNFByb3ZpZGVPcHRpb25zKTogUHJvdmlkZXJbXSB7XG4gIHJldHVybiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogRElTQUJMRV9BVVRILFxuICAgICAgdXNlVmFsdWU6IHByb3ZpZGVPcHRpb25zPy5kaXNhYmxlQXV0aCxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFBsYXRmb3JtU2VydmljZUludGVyZmFjZSxcbiAgICAgIHVzZUNsYXNzOiBHbjRQbGF0Zm9ybVNlcnZpY2UsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBSZWNvcmRzUmVwb3NpdG9yeUludGVyZmFjZSxcbiAgICAgIHVzZUNsYXNzOiBHbjRSZXBvc2l0b3J5LFxuICAgIH0sXG4gICAgR240UGxhdGZvcm1NYXBwZXIsXG4gICAgeyBwcm92aWRlOiBBdmF0YXJTZXJ2aWNlSW50ZXJmYWNlLCB1c2VDbGFzczogR3JhdmF0YXJTZXJ2aWNlIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogT3JnYW5pemF0aW9uc1NlcnZpY2VJbnRlcmZhY2UsXG4gICAgICB1c2VGYWN0b3J5OiBvcmdhbml6YXRpb25zU2VydmljZUZhY3RvcnksXG4gICAgICBkZXBzOiBbXG4gICAgICAgIE9SR0FOSVpBVElPTlNfU1RSQVRFR1ksXG4gICAgICAgIEVsYXN0aWNzZWFyY2hTZXJ2aWNlLFxuICAgICAgICBTZWFyY2hBcGlTZXJ2aWNlLFxuICAgICAgICBHcm91cHNBcGlTZXJ2aWNlLFxuICAgICAgICBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBQbGF0Zm9ybVNlcnZpY2VJbnRlcmZhY2UsXG4gICAgICBdLFxuICAgIH0sXG4gIF1cbn1cbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { Injectable } from '@angular/core';
1
+ import { Inject, Injectable, InjectionToken, Optional } from '@angular/core';
2
2
  import { catchError, filter, map, mergeMap, shareReplay, tap, } from 'rxjs/operators';
3
3
  import { MeApiService, RecordsApiService, RegistriesApiService, ToolsApiService, UserfeedbackApiService, UsersApiService, } from '../../../../../../../libs/data-access/gn4/src';
4
4
  import { Gn4PlatformMapper } from './gn4-platform.mapper';
@@ -16,11 +16,14 @@ import * as i3 from "@ngx-translate/core";
16
16
  import * as i4 from "@angular/common/http";
17
17
  import * as i5 from "../settings/gn4-settings.service";
18
18
  const minApiVersion = '4.2.2';
19
+ export const DISABLE_AUTH = new InjectionToken('gnDisableAuth', {
20
+ factory: () => false,
21
+ });
19
22
  export class Gn4PlatformService {
20
23
  get lang3() {
21
24
  return toLang3(this.translateService.currentLang);
22
25
  }
23
- constructor(meApi, usersApi, mapper, toolsApiService, registriesApiService, translateService, userfeedbackApiService, httpClient, recordsApiService, settingsService) {
26
+ constructor(meApi, usersApi, mapper, toolsApiService, registriesApiService, translateService, userfeedbackApiService, httpClient, recordsApiService, settingsService, disableAuth) {
24
27
  this.meApi = meApi;
25
28
  this.usersApi = usersApi;
26
29
  this.mapper = mapper;
@@ -31,6 +34,7 @@ export class Gn4PlatformService {
31
34
  this.httpClient = httpClient;
32
35
  this.recordsApiService = recordsApiService;
33
36
  this.settingsService = settingsService;
37
+ this.disableAuth = disableAuth;
34
38
  this.type = 'GeoNetwork';
35
39
  this.gnParseVersion = '4.2.5';
36
40
  this.keyTranslations$ = this.toolsApiService
@@ -49,7 +53,9 @@ export class Gn4PlatformService {
49
53
  .pipe(map((thesaurus) => {
50
54
  return thesaurus[0];
51
55
  }), shareReplay(1));
52
- this.me$ = this.meApi.getMe().pipe(switchMap((apiUser) => this.mapper.userFromMeApi(apiUser)), shareReplay({ bufferSize: 1, refCount: true }));
56
+ this.me$ = this.disableAuth
57
+ ? of(null)
58
+ : this.meApi.getMe().pipe(switchMap((apiUser) => this.mapper.userFromMeApi(apiUser)), shareReplay({ bufferSize: 1, refCount: true }));
53
59
  this.isUserAnonymous$ = this.me$.pipe(map((user) => !user || !('id' in user)));
54
60
  this.users$ = this.usersApi.getUsers().pipe(map((users) => users.map((user) => this.mapper.userFromApi(user))), shareReplay());
55
61
  }
@@ -247,10 +253,18 @@ export class Gn4PlatformService {
247
253
  }
248
254
  }));
249
255
  }
250
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Gn4PlatformService, deps: [{ token: i1.MeApiService }, { token: i1.UsersApiService }, { token: i2.Gn4PlatformMapper }, { token: i1.ToolsApiService }, { token: i1.RegistriesApiService }, { token: i3.TranslateService }, { token: i1.UserfeedbackApiService }, { token: i4.HttpClient }, { token: i1.RecordsApiService }, { token: i5.Gn4SettingsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
256
+ supportsAuthentication() {
257
+ return !this.disableAuth;
258
+ }
259
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Gn4PlatformService, deps: [{ token: i1.MeApiService }, { token: i1.UsersApiService }, { token: i2.Gn4PlatformMapper }, { token: i1.ToolsApiService }, { token: i1.RegistriesApiService }, { token: i3.TranslateService }, { token: i1.UserfeedbackApiService }, { token: i4.HttpClient }, { token: i1.RecordsApiService }, { token: i5.Gn4SettingsService }, { token: DISABLE_AUTH, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
251
260
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Gn4PlatformService }); }
252
261
  }
253
262
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Gn4PlatformService, decorators: [{
254
263
  type: Injectable
255
- }], ctorParameters: () => [{ type: i1.MeApiService }, { type: i1.UsersApiService }, { type: i2.Gn4PlatformMapper }, { type: i1.ToolsApiService }, { type: i1.RegistriesApiService }, { type: i3.TranslateService }, { type: i1.UserfeedbackApiService }, { type: i4.HttpClient }, { type: i1.RecordsApiService }, { type: i5.Gn4SettingsService }] });
256
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ240LXBsYXRmb3JtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9yZXBvc2l0b3J5L3NyYy9saWIvZ240L3BsYXRmb3JtL2duNC1wbGF0Zm9ybS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUNMLFVBQVUsRUFDVixNQUFNLEVBQ04sR0FBRyxFQUNILFFBQVEsRUFDUixXQUFXLEVBQ1gsR0FBRyxHQUNKLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkIsT0FBTyxFQUNMLFlBQVksRUFDWixpQkFBaUIsRUFDakIsb0JBQW9CLEVBQ3BCLGVBQWUsRUFDZixzQkFBc0IsRUFDdEIsZUFBZSxHQUNoQixNQUFNLCtDQUErQyxDQUFBO0FBWXRELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQ3pELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQU1oRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQTtBQUMvRSxPQUFPLEVBQ0wsYUFBYSxFQUNiLFFBQVEsRUFFUixFQUFFLEVBQ0YsU0FBUyxFQUNULFVBQVUsR0FDWCxNQUFNLE1BQU0sQ0FBQTtBQUNiLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTs7Ozs7OztBQUVyRSxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUE7QUFHN0IsTUFBTSxPQUFPLGtCQUFrQjtJQXNCN0IsSUFBWSxLQUFL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LElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtvQkFDaEUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQTtnQkFDOUMsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLGFBQWEsR0FBRyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUE7Z0JBQzlELE1BQU0sUUFBUSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO2dCQUNyRSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFBO1lBQzlDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFBO0lBQ0gsQ0FBQzsrR0E1WFUsa0JBQWtCO21IQUFsQixrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIGNhdGNoRXJyb3IsXG4gIGZpbHRlcixcbiAgbWFwLFxuICBtZXJnZU1hcCxcbiAgc2hhcmVSZXBsYXksXG4gIHRhcCxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQge1xuICBNZUFwaVNlcnZpY2UsXG4gIFJlY29yZHNBcGlTZXJ2aWNlLFxuICBSZWdpc3RyaWVzQXBpU2VydmljZSxcbiAgVG9vbHNBcGlTZXJ2aWNlLFxuICBVc2VyZmVlZGJhY2tBcGlTZXJ2aWNlLFxuICBVc2Vyc0FwaVNlcnZpY2UsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3MvZ240L3NyYydcbmltcG9ydCB7XG4gIFBsYXRmb3JtU2VydmljZUludGVyZmFjZSxcbiAgVXBsb2FkRXZlbnQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL3BsYXRmb3JtLnNlcnZpY2UuaW50ZXJmYWNlJ1xuaW1wb3J0IHsgVXNlck1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvdXNlci91c2VyLm1vZGVsJ1xuaW1wb3J0IHtcbiAgQ2F0YWxvZ1JlY29yZCxcbiAgS2V5d29yZCxcbiAgT3JnYW5pemF0aW9uLFxuICBVc2VyRmVlZGJhY2ssXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IEduNFBsYXRmb3JtTWFwcGVyIH0gZnJvbSAnLi9nbjQtcGxhdGZvcm0ubWFwcGVyJ1xuaW1wb3J0IHsgbHRyIH0gZnJvbSAnc2VtdmVyJ1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEV2ZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xuaW1wb3J0IHtcbiAgS2V5d29yZEFwaVJlc3BvbnNlLFxuICBUaGVzYXVydXNBcGlSZXNwb25zZSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvbWV0YWRhdGEtY29udmVydGVyL3NyYydcbmltcG9ydCB7IEtleXdvcmRUeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvdGhlc2F1cnVzJ1xuaW1wb3J0IHsgbm9EdXBsaWNhdGVGaWxlTmFtZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjJ1xuaW1wb3J0IHtcbiAgY29tYmluZUxhdGVzdCxcbiAgZm9ya0pvaW4sXG4gIE9ic2VydmFibGUsXG4gIG9mLFxuICBzd2l0Y2hNYXAsXG4gIHRocm93RXJyb3IsXG59IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IHRvTGFuZzMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvaTE4bi9zcmMnXG5pbXBvcnQgeyBHbjRTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi9zZXR0aW5ncy9nbjQtc2V0dGluZ3Muc2VydmljZSdcblxuY29uc3QgbWluQXBpVmVyc2lvbiA9ICc0LjIuMidcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEduNFBsYXRmb3JtU2VydmljZSBpbXBsZW1lbnRzIFBsYXRmb3JtU2VydmljZUludGVyZmFjZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgdHlwZSA9ICdHZW9OZXR3b3JrJ1xuICBwcml2YXRlIHJlYWRvbmx5IG1lJDogT2JzZXJ2YWJsZTxVc2VyTW9kZWw+XG4gIHByaXZhdGUgcmVhZG9ubHkgdXNlcnMkOiBPYnNlcnZhYmxlPFVzZXJNb2RlbFtdPlxuICBwcml2YXRlIHJlYWRvbmx5IGlzVXNlckFub255bW91cyQ6IE9ic2VydmFibGU8Ym9vbGVhbj5cbiAgcHJpdmF0ZSByZWFkb25seSBnblBhcnNlVmVyc2lvbiA9ICc0LjIuNSdcblxuICBwcml2YXRlIGtleVRyYW5zbGF0aW9ucyQgPSB0aGlzLnRvb2xzQXBpU2VydmljZVxuICAgIC5nZXRUcmFuc2xhdGlvbnNQYWNrYWdlMSgnZ251aScpXG4gICAgLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKCgpID0+IHtcbiAgICAgICAgY29uc29sZS53YXJuKCdFcnJvciB3aGlsZSBsb2FkaW5nIGdudWkgbGFuZ3VhZ2UgcGFja2FnZScpXG4gICAgICAgIHJldHVybiBvZih7fSlcbiAgICAgIH0pLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApXG4gIC8qKlxuICAgKiBBIG1hcCBvZiBhbHJlYWR5IGxvYWRlZCB0aGVzYXVyaSAoZ3JvdXBzIG9mIGtleXdvcmRzKTsgdGhlIGtleSBpcyBhIFVSSVxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBrZXl3b3Jkc0J5VGhlc2F1cmk6IFJlY29yZDxzdHJpbmcsIE9ic2VydmFibGU8S2V5d29yZFtdPj4gPSB7fVxuXG4gIHByaXZhdGUgZ2V0IGxhbmczKCkge1xuICAgIHJldHVybiB0b0xhbmczKHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZylcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbWVBcGk6IE1lQXBpU2VydmljZSxcbiAgICBwcml2YXRlIHVzZXJzQXBpOiBVc2Vyc0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtYXBwZXI6IEduNFBsYXRmb3JtTWFwcGVyLFxuICAgIHByaXZhdGUgdG9vbHNBcGlTZXJ2aWNlOiBUb29sc0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWdpc3RyaWVzQXBpU2VydmljZTogUmVnaXN0cmllc0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXNlcmZlZWRiYWNrQXBpU2VydmljZTogVXNlcmZlZWRiYWNrQXBpU2VydmljZSxcbiAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSByZWNvcmRzQXBpU2VydmljZTogUmVjb3Jkc0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzZXR0aW5nc1NlcnZpY2U6IEduNFNldHRpbmdzU2VydmljZVxuICApIHtcbiAgICB0aGlzLm1lJCA9IHRoaXMubWVBcGkuZ2V0TWUoKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKChhcGlVc2VyKSA9PiB0aGlzLm1hcHBlci51c2VyRnJvbU1lQXBpKGFwaVVzZXIpKSxcbiAgICAgIHNoYXJlUmVwbGF5KHsgYnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IHRydWUgfSlcbiAgICApXG5cbiAgICB0aGlzLmlzVXNlckFub255bW91cyQgPSB0aGlzLm1lJC5waXBlKFxuICAgICAgbWFwKCh1c2VyKSA9PiAhdXNlciB8fCAhKCdpZCcgaW4gdXNlcikpXG4gICAgKVxuXG4gICAgdGhpcy51c2VycyQgPSB0aGlzLnVzZXJzQXBpLmdldFVzZXJzKCkucGlwZShcbiAgICAgIG1hcCgodXNlcnMpID0+IHVzZXJzLm1hcCgodXNlcikgPT4gdGhpcy5tYXBwZXIudXNlckZyb21BcGkodXNlcikpKSxcbiAgICAgIHNoYXJlUmVwbGF5KClcbiAgICApXG4gIH1cblxuICBnZXRGZWVkYmFja3NBbGxvd2VkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnNldHRpbmdzU2VydmljZS5hbGxvd0ZlZWRiYWNrcyRcbiAgfVxuXG4gIGdldEFsbG93RWRpdEhhcnZlc3RlZE1kKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnNldHRpbmdzU2VydmljZS5hbGxvd0VkaXRIYXJ2ZXN0ZWQkXG4gIH1cblxuICBnZXRUeXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudHlwZVxuICB9XG5cbiAgZ2V0QXBpVmVyc2lvbigpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLnNldHRpbmdzU2VydmljZS5hcGlWZXJzaW9uJC5waXBlKFxuICAgICAgdGFwKCh2ZXJzaW9uKSA9PiB7XG4gICAgICAgIGlmIChsdHIodmVyc2lvbiwgbWluQXBpVmVyc2lvbikpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgR240IEFQSSB2ZXJzaW9uIGlzIG5vdCBjb21wYXRpYmxlLlxcbk1pbmltdW06ICR7bWluQXBpVmVyc2lvbn1cXG5Zb3VyIHZlcnNpb246ICR7dmVyc2lvbn1gXG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIGdldE1lKCk6IE9ic2VydmFibGU8VXNlck1vZGVsPiB7XG4gICAgcmV0dXJuIHRoaXMubWUkXG4gIH1cblxuICBpc0Fub255bW91cygpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5pc1VzZXJBbm9ueW1vdXMkXG4gIH1cblxuICBnZXRPcmdhbml6YXRpb25zKCk6IE9ic2VydmFibGU8T3JnYW5pemF0aW9uW10+IHtcbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cblxuICBnZXRVc2Vyc0J5T3JnYW5pemF0aW9uKG9yZ2FuaXNhdGlvbjogT3JnYW5pemF0aW9uKTogT2JzZXJ2YWJsZTxVc2VyTW9kZWxbXT4ge1xuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfVxuXG4gIGdldFVzZXJzKCk6IE9ic2VydmFibGU8VXNlck1vZGVsW10+IHtcbiAgICByZXR1cm4gdGhpcy51c2VycyRcbiAgfVxuXG4gIHRyYW5zbGF0ZUtleShrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgLy8gaWYgdGhlIGtleSBpcyBhIFVSSSwgdXNlIHRoZSByZWdpc3RyaWVzIEFQSSB0byBsb29rIGZvciB0aGUgdHJhbnNsYXRpb25cbiAgICBpZiAoa2V5Lm1hdGNoKC9eaHR0cHM/OlxcL1xcLy8pKSB7XG4gICAgICAvLyB0aGUgdGhlc2F1cnVzIFVSSSBpcyBpbmZlcnJlZCBieSByZW1vdmluZyBhIHBhcnQgb2YgdGhlIGtleXdvcmQgVVJJXG4gICAgICAvLyB0aGlzIGlzIG5vdCBleGFjdCBzY2llbmNlIGJ1dCBpdCdzIE9LLCB3ZSdsbCBzdGlsbCBlbmQgdXAgbG9hZGluZyBhIGJ1bmNoIG9mIGtleXdvcmRzIGF0IG9uY2UgYW55d2F5XG4gICAgICBjb25zdCB0aGVzYXVydXNVcmkgPSBrZXkucmVwbGFjZSgvXFwvKFteL10rKSQvLCAnLycpXG4gICAgICByZXR1cm4gdGhpcy5nZXRLZXl3b3Jkc0J5VXJpKHRoZXNhdXJ1c1VyaSkucGlwZShcbiAgICAgICAgbWFwKCh0aGVzYXVydXMpID0+IHtcbiAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhlc2F1cnVzKSB7XG4gICAgICAgICAgICBpZiAoaXRlbS5rZXkgPT09IGtleSkgcmV0dXJuIGl0ZW0ubGFiZWxcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGtleVxuICAgICAgICB9KVxuICAgICAgKVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5rZXlUcmFuc2xhdGlvbnMkLnBpcGUobWFwKCh0cmFuc2xhdGlvbnMpID0+IHRyYW5zbGF0aW9uc1trZXldKSlcbiAgfVxuXG4gIHByaXZhdGUgYWxsVGhlc2F1cnVzJCA9IHRoaXMuaHR0cENsaWVudFxuICAgIC5nZXQoXG4gICAgICBgJHt0aGlzLnJlZ2lzdHJpZXNBcGlTZXJ2aWNlLmNvbmZpZ3VyYXRpb24uYmFzZVBhdGh9L3RoZXNhdXJ1cz9fY29udGVudF90eXBlPWpzb25gXG4gICAgKVxuICAgIC5waXBlKFxuICAgICAgbWFwKCh0aGVzYXVydXMpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoZXNhdXJ1c1swXSBhcyBUaGVzYXVydXNBcGlSZXNwb25zZVtdXG4gICAgICB9KSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKVxuXG4gIHNlYXJjaEtleXdvcmRzKFxuICAgIHF1ZXJ5OiBzdHJpbmcsXG4gICAga2V5d29yZFR5cGVzOiBLZXl3b3JkVHlwZVtdXG4gICk6IE9ic2VydmFibGU8S2V5d29yZFtdPiB7XG4gICAgY29uc3Qga2V5d29yZHMkOiBPYnNlcnZhYmxlPEtleXdvcmRBcGlSZXNwb25zZVtdPiA9IHRoaXMuYWxsVGhlc2F1cnVzJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKCh0aGVzYXVydXMpID0+IHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRUaGVzYXVyaSA9IFtdXG4gICAgICAgIGtleXdvcmRUeXBlcy5tYXAoKGtleXdvcmRUeXBlKSA9PiB7XG4gICAgICAgICAgc2VsZWN0ZWRUaGVzYXVyaS5wdXNoKFxuICAgICAgICAgICAgLi4udGhlc2F1cnVzLmZpbHRlcigodGhlcykgPT4gdGhlcy5kbmFtZSA9PT0ga2V5d29yZFR5cGUpXG4gICAgICAgICAgKVxuICAgICAgICB9KVxuXG4gICAgICAgIHJldHVybiB0aGlzLnJlZ2lzdHJpZXNBcGlTZXJ2aWNlLnNlYXJjaEtleXdvcmRzKFxuICAgICAgICAgIHF1ZXJ5LFxuICAgICAgICAgIHRoaXMubGFuZzMsXG4gICAgICAgICAgMTAsXG4gICAgICAgICAgMCxcbiAgICAgICAgICBudWxsLFxuICAgICAgICAgIHNlbGVjdGVkVGhlc2F1cmkubWFwKCh0aGVzKSA9PiB0aGVzLmtleSksXG4gICAgICAgICAgbnVsbCxcbiAgICAgICAgICBgKiR7cXVlcnl9KmBcbiAgICAgICAgKSBhcyBPYnNlcnZhYmxlPEtleXdvcmRBcGlSZXNwb25zZVtdPlxuICAgICAgfSlcbiAgICApXG5cbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChba2V5d29yZHMkLCB0aGlzLmFsbFRoZXNhdXJ1cyRdKS5waXBlKFxuICAgICAgbWFwKChba2V5d29yZHMsIHRoZXNhdXJ1c10pID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWFwcGVyLmtleXdvcmRzRnJvbUFwaShrZXl3b3JkcywgdGhlc2F1cnVzLCB0aGlzLmxhbmczKVxuICAgICAgfSlcbiAgICApXG4gIH1cblxuICBnZXRLZXl3b3Jkc0J5VXJpKHVyaTogc3RyaW5nKTogT2JzZXJ2YWJsZTxLZXl3b3JkW10+IHtcbiAgICBpZiAodGhpcy5rZXl3b3Jkc0J5VGhlc2F1cmlbdXJpXSkge1xuICAgICAgcmV0dXJuIHRoaXMua2V5d29yZHNCeVRoZXNhdXJpW3VyaV1cbiAgICB9XG4gICAgY29uc3Qga2V5d29yZHMkID0gdGhpcy5yZWdpc3RyaWVzQXBpU2VydmljZS5zZWFyY2hLZXl3b3JkcyhcbiAgICAgIG51bGwsXG4gICAgICB0aGlzLmxhbmczLFxuICAgICAgMTAwMCxcbiAgICAgIDAsXG4gICAgICBudWxsLFxuICAgICAgbnVsbCxcbiAgICAgIG51bGwsXG4gICAgICBgJHt1cml9KmBcbiAgICApIGFzIE9ic2VydmFibGU8S2V5d29yZEFwaVJlc3BvbnNlW10+XG5cbiAgICB0aGlzLmtleXdvcmRzQnlUaGVzYXVyaVt1cmldID0gY29tYmluZUxhdGVzdChbXG4gICAgICBrZXl3b3JkcyQsXG4gICAgICB0aGlzLmFsbFRoZXNhdXJ1cyQsXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW2tleXdvcmRzLCB0aGVzYXVydXNdKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLm1hcHBlci5rZXl3b3Jkc0Zyb21BcGkoa2V5d29yZHMsIHRoZXNhdXJ1cywgdGhpcy5sYW5nMylcbiAgICAgIH0pLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApXG5cbiAgICByZXR1cm4gdGhpcy5rZXl3b3Jkc0J5VGhlc2F1cmlbdXJpXVxuICB9XG5cbiAgc2VhcmNoS2V5d29yZHNJblRoZXNhdXJ1cyhxdWVyeTogc3RyaW5nLCB0aGVzYXVydXNJZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYWxsVGhlc2F1cnVzJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKCh0aGVzYXVyaSkgPT4ge1xuICAgICAgICBjb25zdCBzdHJpcHBlZFRoZXNhdXJ1c0lkID0gdGhlc2F1cnVzSWQucmVwbGFjZShcbiAgICAgICAgICAnZ2VvbmV0d29yay50aGVzYXVydXMuJyxcbiAgICAgICAgICAnJ1xuICAgICAgICApXG4gICAgICAgIGlmICghdGhlc2F1cmkuZmluZCgodGhlcykgPT4gdGhlcy5rZXkgPT09IHN0cmlwcGVkVGhlc2F1cnVzSWQpKVxuICAgICAgICAgIHJldHVybiBvZihbXSlcbiAgICAgICAgcmV0dXJuIHRoaXMucmVnaXN0cmllc0FwaVNlcnZpY2VcbiAgICAgICAgICAuc2VhcmNoS2V5d29yZHMoXG4gICAgICAgICAgICBxdWVyeSxcbiAgICAgICAgICAgIHRoaXMubGFuZzMsXG4gICAgICAgICAgICAxMDAsXG4gICAgICAgICAgICAwLFxuICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgICAgIFtzdHJpcHBlZFRoZXNhdXJ1c0lkXSxcbiAgICAgICAgICAgIG51bGxcbiAgICAgICAgICApXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGtleXdvcmRzOiBLZXl3b3JkQXBpUmVzcG9uc2VbXSkgPT5cbiAgICAgICAgICAgICAgdGhpcy5tYXBwZXIua2V5d29yZHNGcm9tQXBpKGtleXdvcmRzLCB0aGVzYXVyaSwgdGhpcy5sYW5nMylcbiAgICAgICAgICAgIClcbiAgICAgICAgICApXG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIGdldFVzZXJGZWVkYmFja3ModXVpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxVc2VyRmVlZGJhY2tbXT4ge1xuICAgIHJldHVybiB0aGlzLnVzZXJmZWVkYmFja0FwaVNlcnZpY2UuZ2V0VXNlckNvbW1lbnRzKHV1aWQpLnBpcGUoXG4gICAgICBtYXAoKHVzZXJGZWVkYmFja3MpID0+XG4gICAgICAgIHVzZXJGZWVkYmFja3MubWFwKHRoaXMubWFwcGVyLnVzZXJGZWVkYmFja3NGcm9tQXBpKVxuICAgICAgKSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGZldGNoaW5nIHVzZXIgZmVlZGJhY2tzOicsIGVycm9yKVxuICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKVxuICAgICAgfSlcbiAgICApXG4gIH1cblxuICBwb3N0VXNlckZlZWRiYWNrcyh1c2VyRmVlZGJhY2s6IFVzZXJGZWVkYmFjayk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIGNvbnN0IG1hcHBlZFVzZXJGZWVkQmFjayA9IHRoaXMubWFwcGVyLnVzZXJGZWVkYmFja3NUb0FwaSh1c2VyRmVlZGJhY2spXG4gICAgcmV0dXJuIHRoaXMudXNlcmZlZWRiYWNrQXBpU2VydmljZS5uZXdVc2VyRmVlZGJhY2sobWFwcGVkVXNlckZlZWRCYWNrKS5waXBlKFxuICAgICAgbWFwKCgpID0+IHVuZGVmaW5lZCksXG4gICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBwb3N0aW5nIHVzZXIgZmVlZGJhY2s6JywgZXJyb3IpXG4gICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpXG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIGdldFJlY29yZEF0dGFjaG1lbnRzKHJlY29yZFV1aWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnJlY29yZHNBcGlTZXJ2aWNlLmdldEFsbFJlc291cmNlcyhyZWNvcmRVdWlkKS5waXBlKFxuICAgICAgbWFwKChyZXNvdXJjZXMpID0+XG4gICAgICAgIHJlc291cmNlcy5tYXAoKHIpID0+ICh7XG4gICAgICAgICAgdXJsOiBuZXcgVVJMKHIudXJsKSxcbiAgICAgICAgICBmaWxlTmFtZTogci5maWxlbmFtZSxcbiAgICAgICAgfSkpXG4gICAgICApXG4gICAgKVxuICB9XG5cbiAgY2xlYW5SZWNvcmRBdHRhY2htZW50cyhyZWNvcmQ6IENhdGFsb2dSZWNvcmQpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLnJlY29yZHNBcGlTZXJ2aWNlLmdldEFzc29jaWF0ZWRSZXNvdXJjZXMocmVjb3JkLnVuaXF1ZUlkZW50aWZpZXIpLFxuICAgICAgdGhpcy5yZWNvcmRzQXBpU2VydmljZS5nZXRBbGxSZXNvdXJjZXMocmVjb3JkLnVuaXF1ZUlkZW50aWZpZXIpLFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFthc3NvY2lhdGVkLCBhdHRhY2htZW50c10pID0+IHtcbiAgICAgICAgY29uc3QgeyBvbmxpbmVzID0gW10sIHRodW1ibmFpbHMgPSBbXSB9ID0gYXNzb2NpYXRlZFxuXG4gICAgICAgIGNvbnN0IHVybHNUb0tlZXAgPSBbXG4gICAgICAgICAgLi4uKEFycmF5LmlzQXJyYXkob25saW5lcykgPyBvbmxpbmVzIDogW10pLFxuICAgICAgICAgIC4uLihBcnJheS5pc0FycmF5KHRodW1ibmFpbHMpID8gdGh1bWJuYWlscyA6IFtdKSxcbiAgICAgICAgXS5tYXAoKHJlc291cmNlKSA9PiBPYmplY3QudmFsdWVzKHJlc291cmNlLnVybClbMF0pXG4gICAgICAgIGNvbnN0IGZpbGVUb0RlbGV0ZSA9IGF0dGFjaG1lbnRzLnJlZHVjZTxzdHJpbmdbXT4oKGFjYywgYXR0YWNobWVudCkgPT4ge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICF1cmxzVG9LZWVwLmluY2x1ZGVzKGF0dGFjaG1lbnQudXJsKSAmJlxuICAgICAgICAgICAgYXR0YWNobWVudC5maWxlbmFtZSAhPT0gJ2RhdGF2aXpDb25maWcuanNvbidcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGFjYy5wdXNoKGF0dGFjaG1lbnQuZmlsZW5hbWUpXG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBhY2NcbiAgICAgICAgfSwgW10pXG5cbiAgICAgICAgcmV0dXJuIGZpbGVUb0RlbGV0ZVxuICAgICAgfSksXG4gICAgICBtZXJnZU1hcCgoZmlsZXNUb0RlbGV0ZSkgPT5cbiAgICAgICAgZmlsZXNUb0RlbGV0ZS5sZW5ndGhcbiAgICAgICAgICA/IGZvcmtKb2luKFxuICAgICAgICAgICAgICBmaWxlc1RvRGVsZXRlLm1hcCgoZmlsZW5hbWUpID0+XG4gICAgICAgICAgICAgICAgdGhpcy5yZWNvcmRzQXBpU2VydmljZS5kZWxSZXNvdXJjZShcbiAgICAgICAgICAgICAgICAgIHJlY29yZC51bmlxdWVJZGVudGlmaWVyLFxuICAgICAgICAgICAgICAgICAgZmlsZW5hbWVcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICkucGlwZShtYXAoKCkgPT4gdW5kZWZpbmVkKSlcbiAgICAgICAgICA6IG9mKHVuZGVmaW5lZClcbiAgICAgICksXG4gICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciB3aGlsZSBjbGVhbmluZyBhdHRhY2htZW50czonLCBlcnJvcilcbiAgICAgICAgdGhyb3cgZXJyb3JcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSB1cGxvYWRGaWxlKHJlY29yZFV1aWQ6IHN0cmluZywgZmlsZTogRmlsZSk6IE9ic2VydmFibGU8VXBsb2FkRXZlbnQ+IHtcbiAgICBsZXQgc2l6ZUJ5dGVzID0gLTFcbiAgICByZXR1cm4gdGhpcy5yZWNvcmRzQXBpU2VydmljZVxuICAgICAgLnB1dFJlc291cmNlKHJlY29yZFV1aWQsIGZpbGUsICdwdWJsaWMnLCB1bmRlZmluZWQsICdldmVudHMnLCB0cnVlKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoZXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAoZXZlbnQudHlwZSA9PT0gSHR0cEV2ZW50VHlwZS5VcGxvYWRQcm9ncmVzcykge1xuICAgICAgICAgICAgc2l6ZUJ5dGVzID0gZXZlbnQudG90YWxcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIHR5cGU6ICdwcm9ncmVzcycsXG4gICAgICAgICAgICAgIHByb2dyZXNzOiBldmVudC50b3RhbFxuICAgICAgICAgICAgICAgID8gTWF0aC5yb3VuZCgoMTAwICogZXZlbnQubG9hZGVkKSAvIGV2ZW50LnRvdGFsKVxuICAgICAgICAgICAgICAgIDogMCxcbiAgICAgICAgICAgIH0gYXMgVXBsb2FkRXZlbnRcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGV2ZW50LnR5cGUgPT09IEh0dHBFdmVudFR5cGUuUmVzcG9uc2UpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIHR5cGU6ICdzdWNjZXNzJyxcbiAgICAgICAgICAgICAgYXR0YWNobWVudDoge1xuICAgICAgICAgICAgICAgIHVybDogbmV3IFVSTChldmVudC5ib2R5LnVybCksXG4gICAgICAgICAgICAgICAgZmlsZU5hbWU6IGV2ZW50LmJvZHkuZmlsZW5hbWUsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHNpemVCeXRlcyxcbiAgICAgICAgICAgIH0gYXMgVXBsb2FkRXZlbnRcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgICAgICB9KSxcbiAgICAgICAgZmlsdGVyKChldmVudCkgPT4gISFldmVudCksXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoXG4gICAgICAgICAgICAoKSA9PiBuZXcgRXJyb3IoZXJyb3IuZXJyb3I/Lm1lc3NhZ2UgPz8gZXJyb3IubWVzc2FnZSlcbiAgICAgICAgICApXG4gICAgICAgIH0pXG4gICAgICApXG4gIH1cbiAgZ2V0RmlsZUNvbnRlbnQodXJsOiBVUkwgfCBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuaHR0cENsaWVudC5nZXQodXJsLnRvU3RyaW5nKCksIHsgcmVzcG9uc2VUeXBlOiAndGV4dCcgfSksXG4gICAgICB0aGlzLmdldEFwaVZlcnNpb24oKSxcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbdGV4dCwgdmVyc2lvbl0pID0+IHtcbiAgICAgICAgY29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZSh0ZXh0KVxuXG4gICAgICAgIGlmICh2ZXJzaW9uID4gdGhpcy5nblBhcnNlVmVyc2lvbikge1xuICAgICAgICAgIHJldHVybiBwYXJzZWRcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRlY29kZWQgPSB0aGlzLmRlY29kZUJhc2U2NChwYXJzZWQpXG4gICAgICAgIHJldHVybiBKU09OLnBhcnNlKGRlY29kZWQpXG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIGRlY29kZUJhc2U2NChiYXNlNjQpIHtcbiAgICBjb25zdCB0ZXh0ID0gYXRvYihiYXNlNjQpXG4gICAgY29uc3QgbGVuZ3RoID0gdGV4dC5sZW5ndGhcbiAgICBjb25zdCBieXRlcyA9IG5ldyBVaW50OEFycmF5KGxlbmd0aClcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgICBieXRlc1tpXSA9IHRleHQuY2hhckNvZGVBdChpKVxuICAgIH1cbiAgICBjb25zdCBkZWNvZGVyID0gbmV3IFRleHREZWNvZGVyKClcbiAgICByZXR1cm4gZGVjb2Rlci5kZWNvZGUoYnl0ZXMpXG4gIH1cblxuICBhdHRhY2hGaWxlVG9SZWNvcmQoXG4gICAgcmVjb3JkVXVpZDogc3RyaW5nLFxuICAgIGZpbGU6IEZpbGUsXG4gICAgcmVtb3ZlRHVwbGljYXRlID0gZmFsc2VcbiAgKTogT2JzZXJ2YWJsZTxVcGxvYWRFdmVudD4ge1xuICAgIHJldHVybiB0aGlzLmdldFJlY29yZEF0dGFjaG1lbnRzKHJlY29yZFV1aWQpLnBpcGUoXG4gICAgICBtYXAoKHJlY29yZEF0dGFjaG1lbnRzKSA9PiByZWNvcmRBdHRhY2htZW50cy5tYXAoKHIpID0+IHIuZmlsZU5hbWUpKSxcbiAgICAgIHN3aXRjaE1hcCgoZmlsZU5hbWVzKSA9PiB7XG4gICAgICAgIGNvbnN0IGZpbGVOYW1lID0gZmlsZS5uYW1lXG5cbiAgICAgICAgaWYgKHJlbW92ZUR1cGxpY2F0ZSAmJiBmaWxlTmFtZXMuaW5jbHVkZXMoZmlsZS5uYW1lKSkge1xuICAgICAgICAgIHJldHVybiB0aGlzLnJlY29yZHNBcGlTZXJ2aWNlLmRlbFJlc291cmNlKHJlY29yZFV1aWQsIGZpbGVOYW1lKS5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgZmlsZUNvcHkgPSBuZXcgRmlsZShbZmlsZV0sIGZpbGVOYW1lLCB7IHR5cGU6IGZpbGUudHlwZSB9KVxuICAgICAgICAgICAgICByZXR1cm4gdGhpcy51cGxvYWRGaWxlKHJlY29yZFV1aWQsIGZpbGVDb3B5KVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgZmluYWxGaWxlTmFtZSA9IG5vRHVwbGljYXRlRmlsZU5hbWUoZmlsZU5hbWUsIGZpbGVOYW1lcylcbiAgICAgICAgICBjb25zdCBmaWxlQ29weSA9IG5ldyBGaWxlKFtmaWxlXSwgZmluYWxGaWxlTmFtZSwgeyB0eXBlOiBmaWxlLnR5cGUgfSlcbiAgICAgICAgICByZXR1cm4gdGhpcy51cGxvYWRGaWxlKHJlY29yZFV1aWQsIGZpbGVDb3B5KVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIClcbiAgfVxufVxuIl19
264
+ }], ctorParameters: () => [{ type: i1.MeApiService }, { type: i1.UsersApiService }, { type: i2.Gn4PlatformMapper }, { type: i1.ToolsApiService }, { type: i1.RegistriesApiService }, { type: i3.TranslateService }, { type: i1.UserfeedbackApiService }, { type: i4.HttpClient }, { type: i1.RecordsApiService }, { type: i5.Gn4SettingsService }, { type: undefined, decorators: [{
265
+ type: Inject,
266
+ args: [DISABLE_AUTH]
267
+ }, {
268
+ type: Optional
269
+ }] }] });
270
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ240LXBsYXRmb3JtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9yZXBvc2l0b3J5L3NyYy9saWIvZ240L3BsYXRmb3JtL2duNC1wbGF0Zm9ybS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDNUUsT0FBTyxFQUNMLFVBQVUsRUFDVixNQUFNLEVBQ04sR0FBRyxFQUNILFFBQVEsRUFDUixXQUFXLEVBQ1gsR0FBRyxHQUNKLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkIsT0FBTyxFQUNMLFlBQVksRUFDWixpQkFBaUIsRUFDakIsb0JBQW9CLEVBQ3BCLGVBQWUsRUFDZixzQkFBc0IsRUFDdEIsZUFBZSxHQUNoQixNQUFNLCtDQUErQyxDQUFBO0FBWXRELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQ3pELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQU1oRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQTtBQUMvRSxPQUFPLEVBQ0wsYUFBYSxFQUNiLFFBQVEsRUFFUixFQUFFLEVBQ0YsU0FBUyxFQUNULFVBQVUsR0FDWCxNQUFNLE1BQU0sQ0FBQTtBQUNiLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTs7Ozs7OztBQUVyRSxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUE7QUFFN0IsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksY0FBYyxDQUFVLGVBQWUsRUFBRTtJQUN2RSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSztDQUNyQixDQUFDLENBQUE7QUFHRixNQUFNLE9BQU8sa0JBQWtCO0lBc0I3QixJQUFZLEtBQUs7UUFDZixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDbkQsQ0FBQztJQUVELFlBQ1UsS0FBbUIsRUFDbkIsUUFBeUIsRUFDekIsTUFBeUIsRUFDekIsZUFBZ0MsRUFDaEMsb0JBQTBDLEVBQzFDLGdCQUFrQyxFQUNsQyxzQkFBOEMsRUFDOUMsVUFBc0IsRUFDdEIsaUJBQW9DLEVBQ3BDLGVBQW1DLEVBQ0QsV0FBb0I7UUFWdEQsVUFBSyxHQUFMLEtBQUssQ0FBYztRQUNuQixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUN6QixXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQUN6QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLG9CQUFlLEdBQWYsZUFBZSxDQUFvQjtRQUNELGdCQUFXLEdBQVgsV0FBVyxDQUFTO1FBcEMvQyxTQUFJLEdBQUcsWUFBWSxDQUFBO1FBSW5CLG1CQUFjLEdBQUcsT0FBTyxDQUFBO1FBRWpDLHFCQUFnQixHQUFHLElBQUksQ0FBQyxlQUFlO2FBQzVDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQzthQUMvQixJQUFJLENBQ0gsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLE9BQU8sQ0FBQyxJQUFJLENBQUMsMkNBQTJDLENBQUMsQ0FBQTtZQUN6RCxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUNmLENBQUMsQ0FBQyxFQUNGLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFBO1FBQ0g7OztXQUdHO1FBQ0ssdUJBQWtCLEdBQTBDLEVBQUUsQ0FBQTtRQWtHOUQsa0JBQWEsR0FBRyxJQUFJLENBQUMsVUFBVTthQUNwQyxHQUFHLENBQ0YsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsYUFBYSxDQUFDLFFBQVEsK0JBQStCLENBQ25GO2FBQ0EsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ2hCLE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBMkIsQ0FBQTtRQUMvQyxDQUFDLENBQUMsRUFDRixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQTtRQXhGRCxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXO1lBQ3pCLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDO1lBQ1YsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUNyQixTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQzFELFdBQVcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQy9DLENBQUE7UUFFTCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQ25DLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUN4QyxDQUFBO1FBRUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FDekMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ2xFLFdBQVcsRUFBRSxDQUNkLENBQUE7SUFDSCxDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUE7SUFDN0MsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsbUJBQW1CLENBQUE7SUFDakQsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUE7SUFDbEIsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLElBQUksQ0FDMUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDZCxJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLEVBQUUsQ0FBQztnQkFDaEMsTUFBTSxJQUFJLEtBQUssQ0FDYixnREFBZ0QsYUFBYSxtQkFBbUIsT0FBTyxFQUFFLENBQzFGLENBQUE7WUFDSCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUNILENBQUM7SUFFRCxLQUFLO1FBQ0gsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFBO0lBQ2pCLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUE7SUFDOUIsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE9BQU8sU0FBUyxDQUFBO0lBQ2xCLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxZQUEwQjtRQUMvQyxPQUFPLFNBQVMsQ0FBQTtJQUNsQixDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQTtJQUNwQixDQUFDO0lBRUQsWUFBWSxDQUFDLEdBQVc7UUFDdEIsMEVBQTBFO1FBQzFFLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1lBQzlCLHNFQUFzRTtZQUN0RSx1R0FBdUc7WUFDdkcsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDLENBQUE7WUFDbkQsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUM3QyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtnQkFDaEIsS0FBSyxNQUFNLElBQUksSUFBSSxTQUFTLEVBQUUsQ0FBQztvQkFDN0IsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLEdBQUc7d0JBQUUsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFBO2dCQUN6QyxDQUFDO2dCQUNELE9BQU8sR0FBRyxDQUFBO1lBQ1osQ0FBQyxDQUFDLENBQ0gsQ0FBQTtRQUNILENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzdFLENBQUM7SUFhRCxjQUFjLENBQ1osS0FBYSxFQUNiLFlBQTJCO1FBRTNCLE1BQU0sU0FBUyxHQUFxQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDekUsU0FBUyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDdEIsTUFBTSxnQkFBZ0IsR0FBRyxFQUFFLENBQUE7WUFDM0IsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO2dCQUMvQixnQkFBZ0IsQ0FBQyxJQUFJLENBQ25CLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxXQUFXLENBQUMsQ0FDMUQsQ0FBQTtZQUNILENBQUMsQ0FBQyxDQUFBO1lBRUYsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsY0FBYyxDQUM3QyxLQUFLLEVBQ0wsSUFBSSxDQUFDLEtBQUssRUFDVixFQUFFLEVBQ0YsQ0FBQyxFQUNELElBQUksRUFDSixnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFDeEMsSUFBSSxFQUNKLElBQUksS0FBSyxHQUFHLENBQ3VCLENBQUE7UUFDdkMsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtRQUVELE9BQU8sYUFBYSxDQUFDLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDeEQsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLEVBQUUsRUFBRTtZQUM1QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3JFLENBQUMsQ0FBQyxDQUNILENBQUE7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsR0FBVztRQUMxQixJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2pDLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ3JDLENBQUM7UUFDRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsY0FBYyxDQUN4RCxJQUFJLEVBQ0osSUFBSSxDQUFDLEtBQUssRUFDVixJQUFJLEVBQ0osQ0FBQyxFQUNELElBQUksRUFDSixJQUFJLEVBQ0osSUFBSSxFQUNKLEdBQUcsR0FBRyxHQUFHLENBQzBCLENBQUE7UUFFckMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxHQUFHLGFBQWEsQ0FBQztZQUMzQyxTQUFTO1lBQ1QsSUFBSSxDQUFDLGFBQWE7U0FDbkIsQ0FBQyxDQUFDLElBQUksQ0FDTCxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsRUFBRSxFQUFFO1lBQzVCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDckUsQ0FBQyxDQUFDLEVBQ0YsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUE7UUFFRCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNyQyxDQUFDO0lBRUQseUJBQXlCLENBQUMsS0FBYSxFQUFFLFdBQW1CO1FBQzFELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQzVCLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3JCLE1BQU0sbUJBQW1CLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FDN0MsdUJBQXVCLEVBQ3ZCLEVBQUUsQ0FDSCxDQUFBO1lBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssbUJBQW1CLENBQUM7Z0JBQzVELE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1lBQ2YsT0FBTyxJQUFJLENBQUMsb0JBQW9CO2lCQUM3QixjQUFjLENBQ2IsS0FBSyxFQUNMLElBQUksQ0FBQyxLQUFLLEVBQ1YsR0FBRyxFQUNILENBQUMsRUFDRCxJQUFJLEVBQ0osQ0FBQyxtQkFBbUIsQ0FBQyxFQUNyQixJQUFJLENBQ0w7aUJBQ0EsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFFBQThCLEVBQUUsRUFBRSxDQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FDNUQsQ0FDRixDQUFBO1FBQ0wsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxJQUFZO1FBQzNCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQzNELEdBQUcsQ0FBQyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQ3BCLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUNwRCxFQUNELFVBQVUsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ25CLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLEVBQUUsS0FBSyxDQUFDLENBQUE7WUFDdEQsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDdEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUNILENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxZQUEwQjtRQUMxQyxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDdkUsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDLENBQUMsSUFBSSxDQUN6RSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQ3BCLFVBQVUsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ25CLE9BQU8sQ0FBQyxLQUFLLENBQUMsOEJBQThCLEVBQUUsS0FBSyxDQUFDLENBQUE7WUFDcEQsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDdEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUNILENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxVQUFrQjtRQUNyQyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUM1RCxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUNoQixTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3BCLEdBQUcsRUFBRSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQ25CLFFBQVEsRUFBRSxDQUFDLENBQUMsUUFBUTtTQUNyQixDQUFDLENBQUMsQ0FDSixDQUNGLENBQUE7SUFDSCxDQUFDO0lBRUQsc0JBQXNCLENBQUMsTUFBcUI7UUFDMUMsT0FBTyxhQUFhLENBQUM7WUFDbkIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztZQUN0RSxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztTQUNoRSxDQUFDLENBQUMsSUFBSSxDQUNMLEdBQUcsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxFQUFFLEVBQUU7WUFDaEMsTUFBTSxFQUFFLE9BQU8sR0FBRyxFQUFFLEVBQUUsVUFBVSxHQUFHLEVBQUUsRUFBRSxHQUFHLFVBQVUsQ0FBQTtZQUVwRCxNQUFNLFVBQVUsR0FBRztnQkFDakIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUMxQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7YUFDakQsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDbkQsTUFBTSxZQUFZLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBVyxDQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUUsRUFBRTtnQkFDcEUsSUFDRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztvQkFDcEMsVUFBVSxDQUFDLFFBQVEsS0FBSyxvQkFBb0IsRUFDNUMsQ0FBQztvQkFDRCxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQTtnQkFDL0IsQ0FBQztnQkFDRCxPQUFPLEdBQUcsQ0FBQTtZQUNaLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtZQUVOLE9BQU8sWUFBWSxDQUFBO1FBQ3JCLENBQUMsQ0FBQyxFQUNGLFFBQVEsQ0FBQyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQ3pCLGFBQWEsQ0FBQyxNQUFNO1lBQ2xCLENBQUMsQ0FBQyxRQUFRLENBQ04sYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQzdCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQ2hDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFDdkIsUUFBUSxDQUNULENBQ0YsQ0FDRixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDOUIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FDbEIsRUFDRCxVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuQixPQUFPLENBQUMsS0FBSyxDQUFDLG1DQUFtQyxFQUFFLEtBQUssQ0FBQyxDQUFBO1lBQ3pELE1BQU0sS0FBSyxDQUFBO1FBQ2IsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUNILENBQUM7SUFFTyxVQUFVLENBQUMsVUFBa0IsRUFBRSxJQUFVO1FBQy9DLElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQjthQUMxQixXQUFXLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUM7YUFDbEUsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ1osSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLGFBQWEsQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDaEQsU0FBUyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUE7Z0JBQ3ZCLE9BQU87b0JBQ0wsSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLFFBQVEsRUFBRSxLQUFLLENBQUMsS0FBSzt3QkFDbkIsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7d0JBQ2hELENBQUMsQ0FBQyxDQUFDO2lCQUNTLENBQUE7WUFDbEIsQ0FBQztZQUNELElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQzFDLE9BQU87b0JBQ0wsSUFBSSxFQUFFLFNBQVM7b0JBQ2YsVUFBVSxFQUFFO3dCQUNWLEdBQUcsRUFBRSxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQzt3QkFDNUIsUUFBUSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUTtxQkFDOUI7b0JBQ0QsU0FBUztpQkFDSyxDQUFBO1lBQ2xCLENBQUM7WUFDRCxPQUFPLFNBQVMsQ0FBQTtRQUNsQixDQUFDLENBQUMsRUFDRixNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFDMUIsVUFBVSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbkIsT0FBTyxVQUFVLENBQ2YsR0FBRyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxPQUFPLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUN2RCxDQUFBO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUNMLENBQUM7SUFDRCxjQUFjLENBQUMsR0FBaUI7UUFDOUIsT0FBTyxhQUFhLENBQUM7WUFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQzdELElBQUksQ0FBQyxhQUFhLEVBQUU7U0FDckIsQ0FBQyxDQUFDLElBQUksQ0FDTCxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFO1lBQ3RCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7WUFFL0IsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUNsQyxPQUFPLE1BQU0sQ0FBQTtZQUNmLENBQUM7WUFFRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1lBQ3pDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUM1QixDQUFDLENBQUMsQ0FDSCxDQUFBO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUFNO1FBQ2pCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUN6QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFBO1FBQzFCLE1BQU0sS0FBSyxHQUFHLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ3BDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNoQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUMvQixDQUFDO1FBQ0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQTtRQUNqQyxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDOUIsQ0FBQztJQUVELGtCQUFrQixDQUNoQixVQUFrQixFQUNsQixJQUFVLEVBQ1YsZUFBZSxHQUFHLEtBQUs7UUFFdkIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUMvQyxHQUFHLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFDcEUsU0FBUyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDdEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQTtZQUUxQixJQUFJLGVBQWUsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNyRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FDbEUsU0FBUyxDQUFDLEdBQUcsRUFBRTtvQkFDYixNQUFNLFFBQVEsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtvQkFDaEUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQTtnQkFDOUMsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLGFBQWEsR0FBRyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUE7Z0JBQzlELE1BQU0sUUFBUSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO2dCQUNyRSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFBO1lBQzlDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFBO0lBQ0gsQ0FBQztJQUVELHNCQUFzQjtRQUNwQixPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQTtJQUMxQixDQUFDOytHQW5ZVSxrQkFBa0Isb1ZBcUNuQixZQUFZO21IQXJDWCxrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVU7OzBCQXNDTixNQUFNOzJCQUFDLFlBQVk7OzBCQUFHLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQge1xuICBjYXRjaEVycm9yLFxuICBmaWx0ZXIsXG4gIG1hcCxcbiAgbWVyZ2VNYXAsXG4gIHNoYXJlUmVwbGF5LFxuICB0YXAsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHtcbiAgTWVBcGlTZXJ2aWNlLFxuICBSZWNvcmRzQXBpU2VydmljZSxcbiAgUmVnaXN0cmllc0FwaVNlcnZpY2UsXG4gIFRvb2xzQXBpU2VydmljZSxcbiAgVXNlcmZlZWRiYWNrQXBpU2VydmljZSxcbiAgVXNlcnNBcGlTZXJ2aWNlLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL2duNC9zcmMnXG5pbXBvcnQge1xuICBQbGF0Zm9ybVNlcnZpY2VJbnRlcmZhY2UsXG4gIFVwbG9hZEV2ZW50LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9wbGF0Zm9ybS5zZXJ2aWNlLmludGVyZmFjZSdcbmltcG9ydCB7IFVzZXJNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3VzZXIvdXNlci5tb2RlbCdcbmltcG9ydCB7XG4gIENhdGFsb2dSZWNvcmQsXG4gIEtleXdvcmQsXG4gIE9yZ2FuaXphdGlvbixcbiAgVXNlckZlZWRiYWNrLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBHbjRQbGF0Zm9ybU1hcHBlciB9IGZyb20gJy4vZ240LXBsYXRmb3JtLm1hcHBlcidcbmltcG9ydCB7IGx0ciB9IGZyb20gJ3NlbXZlcidcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFdmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCdcbmltcG9ydCB7XG4gIEtleXdvcmRBcGlSZXNwb25zZSxcbiAgVGhlc2F1cnVzQXBpUmVzcG9uc2UsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL21ldGFkYXRhLWNvbnZlcnRlci9zcmMnXG5pbXBvcnQgeyBLZXl3b3JkVHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3RoZXNhdXJ1cydcbmltcG9ydCB7IG5vRHVwbGljYXRlRmlsZU5hbWUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7XG4gIGNvbWJpbmVMYXRlc3QsXG4gIGZvcmtKb2luLFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgc3dpdGNoTWFwLFxuICB0aHJvd0Vycm9yLFxufSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyB0b0xhbmczIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL2kxOG4vc3JjJ1xuaW1wb3J0IHsgR240U2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vc2V0dGluZ3MvZ240LXNldHRpbmdzLnNlcnZpY2UnXG5cbmNvbnN0IG1pbkFwaVZlcnNpb24gPSAnNC4yLjInXG5cbmV4cG9ydCBjb25zdCBESVNBQkxFX0FVVEggPSBuZXcgSW5qZWN0aW9uVG9rZW48Ym9vbGVhbj4oJ2duRGlzYWJsZUF1dGgnLCB7XG4gIGZhY3Rvcnk6ICgpID0+IGZhbHNlLFxufSlcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEduNFBsYXRmb3JtU2VydmljZSBpbXBsZW1lbnRzIFBsYXRmb3JtU2VydmljZUludGVyZmFjZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgdHlwZSA9ICdHZW9OZXR3b3JrJ1xuICBwcml2YXRlIHJlYWRvbmx5IG1lJDogT2JzZXJ2YWJsZTxVc2VyTW9kZWw+XG4gIHByaXZhdGUgcmVhZG9ubHkgdXNlcnMkOiBPYnNlcnZhYmxlPFVzZXJNb2RlbFtdPlxuICBwcml2YXRlIHJlYWRvbmx5IGlzVXNlckFub255bW91cyQ6IE9ic2VydmFibGU8Ym9vbGVhbj5cbiAgcHJpdmF0ZSByZWFkb25seSBnblBhcnNlVmVyc2lvbiA9ICc0LjIuNSdcblxuICBwcml2YXRlIGtleVRyYW5zbGF0aW9ucyQgPSB0aGlzLnRvb2xzQXBpU2VydmljZVxuICAgIC5nZXRUcmFuc2xhdGlvbnNQYWNrYWdlMSgnZ251aScpXG4gICAgLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKCgpID0+IHtcbiAgICAgICAgY29uc29sZS53YXJuKCdFcnJvciB3aGlsZSBsb2FkaW5nIGdudWkgbGFuZ3VhZ2UgcGFja2FnZScpXG4gICAgICAgIHJldHVybiBvZih7fSlcbiAgICAgIH0pLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApXG4gIC8qKlxuICAgKiBBIG1hcCBvZiBhbHJlYWR5IGxvYWRlZCB0aGVzYXVyaSAoZ3JvdXBzIG9mIGtleXdvcmRzKTsgdGhlIGtleSBpcyBhIFVSSVxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBrZXl3b3Jkc0J5VGhlc2F1cmk6IFJlY29yZDxzdHJpbmcsIE9ic2VydmFibGU8S2V5d29yZFtdPj4gPSB7fVxuXG4gIHByaXZhdGUgZ2V0IGxhbmczKCkge1xuICAgIHJldHVybiB0b0xhbmczKHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZylcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbWVBcGk6IE1lQXBpU2VydmljZSxcbiAgICBwcml2YXRlIHVzZXJzQXBpOiBVc2Vyc0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtYXBwZXI6IEduNFBsYXRmb3JtTWFwcGVyLFxuICAgIHByaXZhdGUgdG9vbHNBcGlTZXJ2aWNlOiBUb29sc0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWdpc3RyaWVzQXBpU2VydmljZTogUmVnaXN0cmllc0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXNlcmZlZWRiYWNrQXBpU2VydmljZTogVXNlcmZlZWRiYWNrQXBpU2VydmljZSxcbiAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSByZWNvcmRzQXBpU2VydmljZTogUmVjb3Jkc0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzZXR0aW5nc1NlcnZpY2U6IEduNFNldHRpbmdzU2VydmljZSxcbiAgICBASW5qZWN0KERJU0FCTEVfQVVUSCkgQE9wdGlvbmFsKCkgcHJpdmF0ZSBkaXNhYmxlQXV0aDogYm9vbGVhblxuICApIHtcbiAgICB0aGlzLm1lJCA9IHRoaXMuZGlzYWJsZUF1dGhcbiAgICAgID8gb2YobnVsbClcbiAgICAgIDogdGhpcy5tZUFwaS5nZXRNZSgpLnBpcGUoXG4gICAgICAgICAgc3dpdGNoTWFwKChhcGlVc2VyKSA9PiB0aGlzLm1hcHBlci51c2VyRnJvbU1lQXBpKGFwaVVzZXIpKSxcbiAgICAgICAgICBzaGFyZVJlcGxheSh7IGJ1ZmZlclNpemU6IDEsIHJlZkNvdW50OiB0cnVlIH0pXG4gICAgICAgIClcblxuICAgIHRoaXMuaXNVc2VyQW5vbnltb3VzJCA9IHRoaXMubWUkLnBpcGUoXG4gICAgICBtYXAoKHVzZXIpID0+ICF1c2VyIHx8ICEoJ2lkJyBpbiB1c2VyKSlcbiAgICApXG5cbiAgICB0aGlzLnVzZXJzJCA9IHRoaXMudXNlcnNBcGkuZ2V0VXNlcnMoKS5waXBlKFxuICAgICAgbWFwKCh1c2VycykgPT4gdXNlcnMubWFwKCh1c2VyKSA9PiB0aGlzLm1hcHBlci51c2VyRnJvbUFwaSh1c2VyKSkpLFxuICAgICAgc2hhcmVSZXBsYXkoKVxuICAgIClcbiAgfVxuXG4gIGdldEZlZWRiYWNrc0FsbG93ZWQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLmFsbG93RmVlZGJhY2tzJFxuICB9XG5cbiAgZ2V0QWxsb3dFZGl0SGFydmVzdGVkTWQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLmFsbG93RWRpdEhhcnZlc3RlZCRcbiAgfVxuXG4gIGdldFR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50eXBlXG4gIH1cblxuICBnZXRBcGlWZXJzaW9uKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLmFwaVZlcnNpb24kLnBpcGUoXG4gICAgICB0YXAoKHZlcnNpb24pID0+IHtcbiAgICAgICAgaWYgKGx0cih2ZXJzaW9uLCBtaW5BcGlWZXJzaW9uKSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGBHbjQgQVBJIHZlcnNpb24gaXMgbm90IGNvbXBhdGlibGUuXFxuTWluaW11bTogJHttaW5BcGlWZXJzaW9ufVxcbllvdXIgdmVyc2lvbjogJHt2ZXJzaW9ufWBcbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgZ2V0TWUoKTogT2JzZXJ2YWJsZTxVc2VyTW9kZWw+IHtcbiAgICByZXR1cm4gdGhpcy5tZSRcbiAgfVxuXG4gIGlzQW5vbnltb3VzKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmlzVXNlckFub255bW91cyRcbiAgfVxuXG4gIGdldE9yZ2FuaXphdGlvbnMoKTogT2JzZXJ2YWJsZTxPcmdhbml6YXRpb25bXT4ge1xuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfVxuXG4gIGdldFVzZXJzQnlPcmdhbml6YXRpb24ob3JnYW5pc2F0aW9uOiBPcmdhbml6YXRpb24pOiBPYnNlcnZhYmxlPFVzZXJNb2RlbFtdPiB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG5cbiAgZ2V0VXNlcnMoKTogT2JzZXJ2YWJsZTxVc2VyTW9kZWxbXT4ge1xuICAgIHJldHVybiB0aGlzLnVzZXJzJFxuICB9XG5cbiAgdHJhbnNsYXRlS2V5KGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAvLyBpZiB0aGUga2V5IGlzIGEgVVJJLCB1c2UgdGhlIHJlZ2lzdHJpZXMgQVBJIHRvIGxvb2sgZm9yIHRoZSB0cmFuc2xhdGlvblxuICAgIGlmIChrZXkubWF0Y2goL15odHRwcz86XFwvXFwvLykpIHtcbiAgICAgIC8vIHRoZSB0aGVzYXVydXMgVVJJIGlzIGluZmVycmVkIGJ5IHJlbW92aW5nIGEgcGFydCBvZiB0aGUga2V5d29yZCBVUklcbiAgICAgIC8vIHRoaXMgaXMgbm90IGV4YWN0IHNjaWVuY2UgYnV0IGl0J3MgT0ssIHdlJ2xsIHN0aWxsIGVuZCB1cCBsb2FkaW5nIGEgYnVuY2ggb2Yga2V5d29yZHMgYXQgb25jZSBhbnl3YXlcbiAgICAgIGNvbnN0IHRoZXNhdXJ1c1VyaSA9IGtleS5yZXBsYWNlKC9cXC8oW14vXSspJC8sICcvJylcbiAgICAgIHJldHVybiB0aGlzLmdldEtleXdvcmRzQnlVcmkodGhlc2F1cnVzVXJpKS5waXBlKFxuICAgICAgICBtYXAoKHRoZXNhdXJ1cykgPT4ge1xuICAgICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGVzYXVydXMpIHtcbiAgICAgICAgICAgIGlmIChpdGVtLmtleSA9PT0ga2V5KSByZXR1cm4gaXRlbS5sYWJlbFxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4ga2V5XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgfVxuICAgIHJldHVybiB0aGlzLmtleVRyYW5zbGF0aW9ucyQucGlwZShtYXAoKHRyYW5zbGF0aW9ucykgPT4gdHJhbnNsYXRpb25zW2tleV0pKVxuICB9XG5cbiAgcHJpdmF0ZSBhbGxUaGVzYXVydXMkID0gdGhpcy5odHRwQ2xpZW50XG4gICAgLmdldChcbiAgICAgIGAke3RoaXMucmVnaXN0cmllc0FwaVNlcnZpY2UuY29uZmlndXJhdGlvbi5iYXNlUGF0aH0vdGhlc2F1cnVzP19jb250ZW50X3R5cGU9anNvbmBcbiAgICApXG4gICAgLnBpcGUoXG4gICAgICBtYXAoKHRoZXNhdXJ1cykgPT4ge1xuICAgICAgICByZXR1cm4gdGhlc2F1cnVzWzBdIGFzIFRoZXNhdXJ1c0FwaVJlc3BvbnNlW11cbiAgICAgIH0pLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApXG5cbiAgc2VhcmNoS2V5d29yZHMoXG4gICAgcXVlcnk6IHN0cmluZyxcbiAgICBrZXl3b3JkVHlwZXM6IEtleXdvcmRUeXBlW11cbiAgKTogT2JzZXJ2YWJsZTxLZXl3b3JkW10+IHtcbiAgICBjb25zdCBrZXl3b3JkcyQ6IE9ic2VydmFibGU8S2V5d29yZEFwaVJlc3BvbnNlW10+ID0gdGhpcy5hbGxUaGVzYXVydXMkLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKHRoZXNhdXJ1cykgPT4ge1xuICAgICAgICBjb25zdCBzZWxlY3RlZFRoZXNhdXJpID0gW11cbiAgICAgICAga2V5d29yZFR5cGVzLm1hcCgoa2V5d29yZFR5cGUpID0+IHtcbiAgICAgICAgICBzZWxlY3RlZFRoZXNhdXJpLnB1c2goXG4gICAgICAgICAgICAuLi50aGVzYXVydXMuZmlsdGVyKCh0aGVzKSA9PiB0aGVzLmRuYW1lID09PSBrZXl3b3JkVHlwZSlcbiAgICAgICAgICApXG4gICAgICAgIH0pXG5cbiAgICAgICAgcmV0dXJuIHRoaXMucmVnaXN0cmllc0FwaVNlcnZpY2Uuc2VhcmNoS2V5d29yZHMoXG4gICAgICAgICAgcXVlcnksXG4gICAgICAgICAgdGhpcy5sYW5nMyxcbiAgICAgICAgICAxMCxcbiAgICAgICAgICAwLFxuICAgICAgICAgIG51bGwsXG4gICAgICAgICAgc2VsZWN0ZWRUaGVzYXVyaS5tYXAoKHRoZXMpID0+IHRoZXMua2V5KSxcbiAgICAgICAgICBudWxsLFxuICAgICAgICAgIGAqJHtxdWVyeX0qYFxuICAgICAgICApIGFzIE9ic2VydmFibGU8S2V5d29yZEFwaVJlc3BvbnNlW10+XG4gICAgICB9KVxuICAgIClcblxuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFtrZXl3b3JkcyQsIHRoaXMuYWxsVGhlc2F1cnVzJF0pLnBpcGUoXG4gICAgICBtYXAoKFtrZXl3b3JkcywgdGhlc2F1cnVzXSkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5tYXBwZXIua2V5d29yZHNGcm9tQXBpKGtleXdvcmRzLCB0aGVzYXVydXMsIHRoaXMubGFuZzMpXG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIGdldEtleXdvcmRzQnlVcmkodXJpOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEtleXdvcmRbXT4ge1xuICAgIGlmICh0aGlzLmtleXdvcmRzQnlUaGVzYXVyaVt1cmldKSB7XG4gICAgICByZXR1cm4gdGhpcy5rZXl3b3Jkc0J5VGhlc2F1cmlbdXJpXVxuICAgIH1cbiAgICBjb25zdCBrZXl3b3JkcyQgPSB0aGlzLnJlZ2lzdHJpZXNBcGlTZXJ2aWNlLnNlYXJjaEtleXdvcmRzKFxuICAgICAgbnVsbCxcbiAgICAgIHRoaXMubGFuZzMsXG4gICAgICAxMDAwLFxuICAgICAgMCxcbiAgICAgIG51bGwsXG4gICAgICBudWxsLFxuICAgICAgbnVsbCxcbiAgICAgIGAke3VyaX0qYFxuICAgICkgYXMgT2JzZXJ2YWJsZTxLZXl3b3JkQXBpUmVzcG9uc2VbXT5cblxuICAgIHRoaXMua2V5d29yZHNCeVRoZXNhdXJpW3VyaV0gPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIGtleXdvcmRzJCxcbiAgICAgIHRoaXMuYWxsVGhlc2F1cnVzJCxcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChba2V5d29yZHMsIHRoZXNhdXJ1c10pID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWFwcGVyLmtleXdvcmRzRnJvbUFwaShrZXl3b3JkcywgdGhlc2F1cnVzLCB0aGlzLmxhbmczKVxuICAgICAgfSksXG4gICAgICBzaGFyZVJlcGxheSgxKVxuICAgIClcblxuICAgIHJldHVybiB0aGlzLmtleXdvcmRzQnlUaGVzYXVyaVt1cmldXG4gIH1cblxuICBzZWFyY2hLZXl3b3Jkc0luVGhlc2F1cnVzKHF1ZXJ5OiBzdHJpbmcsIHRoZXNhdXJ1c0lkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5hbGxUaGVzYXVydXMkLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKHRoZXNhdXJpKSA9PiB7XG4gICAgICAgIGNvbnN0IHN0cmlwcGVkVGhlc2F1cnVzSWQgPSB0aGVzYXVydXNJZC5yZXBsYWNlKFxuICAgICAgICAgICdnZW9uZXR3b3JrLnRoZXNhdXJ1cy4nLFxuICAgICAgICAgICcnXG4gICAgICAgIClcbiAgICAgICAgaWYgKCF0aGVzYXVyaS5maW5kKCh0aGVzKSA9PiB0aGVzLmtleSA9PT0gc3RyaXBwZWRUaGVzYXVydXNJZCkpXG4gICAgICAgICAgcmV0dXJuIG9mKFtdKVxuICAgICAgICByZXR1cm4gdGhpcy5yZWdpc3RyaWVzQXBpU2VydmljZVxuICAgICAgICAgIC5zZWFyY2hLZXl3b3JkcyhcbiAgICAgICAgICAgIHF1ZXJ5LFxuICAgICAgICAgICAgdGhpcy5sYW5nMyxcbiAgICAgICAgICAgIDEwMCxcbiAgICAgICAgICAgIDAsXG4gICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgW3N0cmlwcGVkVGhlc2F1cnVzSWRdLFxuICAgICAgICAgICAgbnVsbFxuICAgICAgICAgIClcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcCgoa2V5d29yZHM6IEtleXdvcmRBcGlSZXNwb25zZVtdKSA9PlxuICAgICAgICAgICAgICB0aGlzLm1hcHBlci5rZXl3b3Jkc0Zyb21BcGkoa2V5d29yZHMsIHRoZXNhdXJpLCB0aGlzLmxhbmczKVxuICAgICAgICAgICAgKVxuICAgICAgICAgIClcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgZ2V0VXNlckZlZWRiYWNrcyh1dWlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFVzZXJGZWVkYmFja1tdPiB7XG4gICAgcmV0dXJuIHRoaXMudXNlcmZlZWRiYWNrQXBpU2VydmljZS5nZXRVc2VyQ29tbWVudHModXVpZCkucGlwZShcbiAgICAgIG1hcCgodXNlckZlZWRiYWNrcykgPT5cbiAgICAgICAgdXNlckZlZWRiYWNrcy5tYXAodGhpcy5tYXBwZXIudXNlckZlZWRiYWNrc0Zyb21BcGkpXG4gICAgICApLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZmV0Y2hpbmcgdXNlciBmZWVkYmFja3M6JywgZXJyb3IpXG4gICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpXG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIHBvc3RVc2VyRmVlZGJhY2tzKHVzZXJGZWVkYmFjazogVXNlckZlZWRiYWNrKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgY29uc3QgbWFwcGVkVXNlckZlZWRCYWNrID0gdGhpcy5tYXBwZXIudXNlckZlZWRiYWNrc1RvQXBpKHVzZXJGZWVkYmFjaylcbiAgICByZXR1cm4gdGhpcy51c2VyZmVlZGJhY2tBcGlTZXJ2aWNlLm5ld1VzZXJGZWVkYmFjayhtYXBwZWRVc2VyRmVlZEJhY2spLnBpcGUoXG4gICAgICBtYXAoKCkgPT4gdW5kZWZpbmVkKSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHBvc3RpbmcgdXNlciBmZWVkYmFjazonLCBlcnJvcilcbiAgICAgICAgcmV0dXJuIG9mKHVuZGVmaW5lZClcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgZ2V0UmVjb3JkQXR0YWNobWVudHMocmVjb3JkVXVpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMucmVjb3Jkc0FwaVNlcnZpY2UuZ2V0QWxsUmVzb3VyY2VzKHJlY29yZFV1aWQpLnBpcGUoXG4gICAgICBtYXAoKHJlc291cmNlcykgPT5cbiAgICAgICAgcmVzb3VyY2VzLm1hcCgocikgPT4gKHtcbiAgICAgICAgICB1cmw6IG5ldyBVUkwoci51cmwpLFxuICAgICAgICAgIGZpbGVOYW1lOiByLmZpbGVuYW1lLFxuICAgICAgICB9KSlcbiAgICAgIClcbiAgICApXG4gIH1cblxuICBjbGVhblJlY29yZEF0dGFjaG1lbnRzKHJlY29yZDogQ2F0YWxvZ1JlY29yZCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMucmVjb3Jkc0FwaVNlcnZpY2UuZ2V0QXNzb2NpYXRlZFJlc291cmNlcyhyZWNvcmQudW5pcXVlSWRlbnRpZmllciksXG4gICAgICB0aGlzLnJlY29yZHNBcGlTZXJ2aWNlLmdldEFsbFJlc291cmNlcyhyZWNvcmQudW5pcXVlSWRlbnRpZmllciksXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW2Fzc29jaWF0ZWQsIGF0dGFjaG1lbnRzXSkgPT4ge1xuICAgICAgICBjb25zdCB7IG9ubGluZXMgPSBbXSwgdGh1bWJuYWlscyA9IFtdIH0gPSBhc3NvY2lhdGVkXG5cbiAgICAgICAgY29uc3QgdXJsc1RvS2VlcCA9IFtcbiAgICAgICAgICAuLi4oQXJyYXkuaXNBcnJheShvbmxpbmVzKSA/IG9ubGluZXMgOiBbXSksXG4gICAgICAgICAgLi4uKEFycmF5LmlzQXJyYXkodGh1bWJuYWlscykgPyB0aHVtYm5haWxzIDogW10pLFxuICAgICAgICBdLm1hcCgocmVzb3VyY2UpID0+IE9iamVjdC52YWx1ZXMocmVzb3VyY2UudXJsKVswXSlcbiAgICAgICAgY29uc3QgZmlsZVRvRGVsZXRlID0gYXR0YWNobWVudHMucmVkdWNlPHN0cmluZ1tdPigoYWNjLCBhdHRhY2htZW50KSA9PiB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgIXVybHNUb0tlZXAuaW5jbHVkZXMoYXR0YWNobWVudC51cmwpICYmXG4gICAgICAgICAgICBhdHRhY2htZW50LmZpbGVuYW1lICE9PSAnZGF0YXZpekNvbmZpZy5qc29uJ1xuICAgICAgICAgICkge1xuICAgICAgICAgICAgYWNjLnB1c2goYXR0YWNobWVudC5maWxlbmFtZSlcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGFjY1xuICAgICAgICB9LCBbXSlcblxuICAgICAgICByZXR1cm4gZmlsZVRvRGVsZXRlXG4gICAgICB9KSxcbiAgICAgIG1lcmdlTWFwKChmaWxlc1RvRGVsZXRlKSA9PlxuICAgICAgICBmaWxlc1RvRGVsZXRlLmxlbmd0aFxuICAgICAgICAgID8gZm9ya0pvaW4oXG4gICAgICAgICAgICAgIGZpbGVzVG9EZWxldGUubWFwKChmaWxlbmFtZSkgPT5cbiAgICAgICAgICAgICAgICB0aGlzLnJlY29yZHNBcGlTZXJ2aWNlLmRlbFJlc291cmNlKFxuICAgICAgICAgICAgICAgICAgcmVjb3JkLnVuaXF1ZUlkZW50aWZpZXIsXG4gICAgICAgICAgICAgICAgICBmaWxlbmFtZVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKS5waXBlKG1hcCgoKSA9PiB1bmRlZmluZWQpKVxuICAgICAgICAgIDogb2YodW5kZWZpbmVkKVxuICAgICAgKSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHdoaWxlIGNsZWFuaW5nIGF0dGFjaG1lbnRzOicsIGVycm9yKVxuICAgICAgICB0aHJvdyBlcnJvclxuICAgICAgfSlcbiAgICApXG4gIH1cblxuICBwcml2YXRlIHVwbG9hZEZpbGUocmVjb3JkVXVpZDogc3RyaW5nLCBmaWxlOiBGaWxlKTogT2JzZXJ2YWJsZTxVcGxvYWRFdmVudD4ge1xuICAgIGxldCBzaXplQnl0ZXMgPSAtMVxuICAgIHJldHVybiB0aGlzLnJlY29yZHNBcGlTZXJ2aWNlXG4gICAgICAucHV0UmVzb3VyY2UocmVjb3JkVXVpZCwgZmlsZSwgJ3B1YmxpYycsIHVuZGVmaW5lZCwgJ2V2ZW50cycsIHRydWUpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChldmVudCkgPT4ge1xuICAgICAgICAgIGlmIChldmVudC50eXBlID09PSBIdHRwRXZlbnRUeXBlLlVwbG9hZFByb2dyZXNzKSB7XG4gICAgICAgICAgICBzaXplQnl0ZXMgPSBldmVudC50b3RhbFxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgdHlwZTogJ3Byb2dyZXNzJyxcbiAgICAgICAgICAgICAgcHJvZ3Jlc3M6IGV2ZW50LnRvdGFsXG4gICAgICAgICAgICAgICAgPyBNYXRoLnJvdW5kKCgxMDAgKiBldmVudC5sb2FkZWQpIC8gZXZlbnQudG90YWwpXG4gICAgICAgICAgICAgICAgOiAwLFxuICAgICAgICAgICAgfSBhcyBVcGxvYWRFdmVudFxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZXZlbnQudHlwZSA9PT0gSHR0cEV2ZW50VHlwZS5SZXNwb25zZSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgICBhdHRhY2htZW50OiB7XG4gICAgICAgICAgICAgICAgdXJsOiBuZXcgVVJMKGV2ZW50LmJvZHkudXJsKSxcbiAgICAgICAgICAgICAgICBmaWxlTmFtZTogZXZlbnQuYm9keS5maWxlbmFtZSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgc2l6ZUJ5dGVzLFxuICAgICAgICAgICAgfSBhcyBVcGxvYWRFdmVudFxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgICAgIH0pLFxuICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiAhIWV2ZW50KSxcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihcbiAgICAgICAgICAgICgpID0+IG5ldyBFcnJvcihlcnJvci5lcnJvcj8ubWVzc2FnZSA/PyBlcnJvci5tZXNzYWdlKVxuICAgICAgICAgIClcbiAgICAgICAgfSlcbiAgICAgIClcbiAgfVxuICBnZXRGaWxlQ29udGVudCh1cmw6IFVSTCB8IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5odHRwQ2xpZW50LmdldCh1cmwudG9TdHJpbmcoKSwgeyByZXNwb25zZVR5cGU6ICd0ZXh0JyB9KSxcbiAgICAgIHRoaXMuZ2V0QXBpVmVyc2lvbigpLFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFt0ZXh0LCB2ZXJzaW9uXSkgPT4ge1xuICAgICAgICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKHRleHQpXG5cbiAgICAgICAgaWYgKHZlcnNpb24gPiB0aGlzLmduUGFyc2VWZXJzaW9uKSB7XG4gICAgICAgICAgcmV0dXJuIHBhcnNlZFxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGVjb2RlZCA9IHRoaXMuZGVjb2RlQmFzZTY0KHBhcnNlZClcbiAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UoZGVjb2RlZClcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgZGVjb2RlQmFzZTY0KGJhc2U2NCkge1xuICAgIGNvbnN0IHRleHQgPSBhdG9iKGJhc2U2NClcbiAgICBjb25zdCBsZW5ndGggPSB0ZXh0Lmxlbmd0aFxuICAgIGNvbnN0IGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkobGVuZ3RoKVxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICAgIGJ5dGVzW2ldID0gdGV4dC5jaGFyQ29kZUF0KGkpXG4gICAgfVxuICAgIGNvbnN0IGRlY29kZXIgPSBuZXcgVGV4dERlY29kZXIoKVxuICAgIHJldHVybiBkZWNvZGVyLmRlY29kZShieXRlcylcbiAgfVxuXG4gIGF0dGFjaEZpbGVUb1JlY29yZChcbiAgICByZWNvcmRVdWlkOiBzdHJpbmcsXG4gICAgZmlsZTogRmlsZSxcbiAgICByZW1vdmVEdXBsaWNhdGUgPSBmYWxzZVxuICApOiBPYnNlcnZhYmxlPFVwbG9hZEV2ZW50PiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0UmVjb3JkQXR0YWNobWVudHMocmVjb3JkVXVpZCkucGlwZShcbiAgICAgIG1hcCgocmVjb3JkQXR0YWNobWVudHMpID0+IHJlY29yZEF0dGFjaG1lbnRzLm1hcCgocikgPT4gci5maWxlTmFtZSkpLFxuICAgICAgc3dpdGNoTWFwKChmaWxlTmFtZXMpID0+IHtcbiAgICAgICAgY29uc3QgZmlsZU5hbWUgPSBmaWxlLm5hbWVcblxuICAgICAgICBpZiAocmVtb3ZlRHVwbGljYXRlICYmIGZpbGVOYW1lcy5pbmNsdWRlcyhmaWxlLm5hbWUpKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMucmVjb3Jkc0FwaVNlcnZpY2UuZGVsUmVzb3VyY2UocmVjb3JkVXVpZCwgZmlsZU5hbWUpLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBmaWxlQ29weSA9IG5ldyBGaWxlKFtmaWxlXSwgZmlsZU5hbWUsIHsgdHlwZTogZmlsZS50eXBlIH0pXG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLnVwbG9hZEZpbGUocmVjb3JkVXVpZCwgZmlsZUNvcHkpXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBmaW5hbEZpbGVOYW1lID0gbm9EdXBsaWNhdGVGaWxlTmFtZShmaWxlTmFtZSwgZmlsZU5hbWVzKVxuICAgICAgICAgIGNvbnN0IGZpbGVDb3B5ID0gbmV3IEZpbGUoW2ZpbGVdLCBmaW5hbEZpbGVOYW1lLCB7IHR5cGU6IGZpbGUudHlwZSB9KVxuICAgICAgICAgIHJldHVybiB0aGlzLnVwbG9hZEZpbGUocmVjb3JkVXVpZCwgZmlsZUNvcHkpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgc3VwcG9ydHNBdXRoZW50aWNhdGlvbigpIHtcbiAgICByZXR1cm4gIXRoaXMuZGlzYWJsZUF1dGhcbiAgfVxufVxuIl19
@@ -61,4 +61,4 @@ marker('record.metadata.api.accessServiceProtocol.GPFDL');
61
61
  marker('record.metadata.api.accessServiceProtocol.tms');
62
62
  marker('record.metadata.api.accessServiceProtocol.maplibre-style');
63
63
  marker('record.metadata.api.accessServiceProtocol.other');
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQvbWV0YWRhdGEubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBZ0JoRSxNQUFNLENBQUMsdUNBQXVDLENBQUMsQ0FBQTtBQUMvQyxNQUFNLENBQUMsMENBQTBDLENBQUMsQ0FBQTtBQUNsRCxNQUFNLENBQUMsd0NBQXdDLENBQUMsQ0FBQTtBQUNoRCxNQUFNLENBQUMseUNBQXlDLENBQUMsQ0FBQTtBQUNqRCxNQUFNLENBQUMseUNBQXlDLENBQUMsQ0FBQTtBQUNqRCxNQUFNLENBQUMsd0NBQXdDLENBQUMsQ0FBQTtBQUVoRCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRztJQUN2QyxTQUFTO0lBQ1QsWUFBWTtJQUNaLFVBQVU7SUFDVixXQUFXO0lBQ1gsV0FBVztJQUNYLFVBQVU7SUFDVixPQUFPO0lBQ1AsUUFBUTtJQUNSLGFBQWE7SUFDYixhQUFhO0lBQ2IsU0FBUztJQUNULFdBQVc7SUFDWCxZQUFZO0lBQ1osVUFBVTtJQUNWLFlBQVk7Q0FDSixDQUFBO0FBSVYsTUFBTSxDQUFDLG1DQUFtQyxDQUFDLENBQUE7QUFDM0MsTUFBTSxDQUFDLG9DQUFvQyxDQUFDLENBQUE7QUFDNUMsTUFBTSxDQUFDLHFDQUFxQyxDQUFDLENBQUE7QUFDN0MsTUFBTSxDQUFDLG9DQUFvQyxDQUFDLENBQUE7QUFFNUMsTUFBTSxDQUFDLHFDQUFxQyxDQUFDLENBQUE7QUFDN0MsTUFBTSxDQUFDLHNDQUFzQyxDQUFDLENBQUE7QUFDOUMsTUFBTSxDQUFDLDJDQUEyQyxDQUFDLENBQUE7QUFDbkQsTUFBTSxDQUFDLHVDQUF1QyxDQUFDLENBQUE7QUFDL0MsTUFBTSxDQUFDLHlDQUF5QyxDQUFDLENBQUE7QUFDakQsTUFBTSxDQUFDLDBDQUEwQyxDQUFDLENBQUE7QUFDbEQsTUFBTSxDQUFDLHdDQUF3QyxDQUFDLENBQUE7QUFDaEQsTUFBTSxDQUFDLDJDQUEyQyxDQUFDLENBQUE7QUFDbkQsTUFBTSxDQUFDLDBDQUEwQyxDQUFDLENBQUE7QUFVbEQsTUFBTSxDQUFDLGdDQUFnQyxDQUFDLENBQUE7QUFDeEMsTUFBTSxDQUFDLDhCQUE4QixDQUFDLENBQUE7QUFDdEMsTUFBTSxDQUFDLHdDQUF3QyxDQUFDLENBQUE7QUFDaEQsTUFBTSxDQUFDLGlDQUFpQyxDQUFDLENBQUE7QUFDekMsTUFBTSxDQUFDLDhCQUE4QixDQUFDLENBQUE7QUFDdEMsTUFBTSxDQUFDLDhCQUE4QixDQUFDLENBQUE7QUFDdEMsTUFBTSxDQUFDLCtCQUErQixDQUFDLENBQUE7QUFFdkMsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDaEMsV0FBVztJQUNYLFNBQVM7SUFDVCxtQkFBbUI7SUFDbkIsWUFBWTtJQUNaLFNBQVM7SUFDVCxTQUFTO0lBQ1QsVUFBVTtDQUNYLENBQUE7QUFxRkQsTUFBTSxDQUFDLCtDQUErQyxDQUFDLENBQUE7QUFDdkQsTUFBTSxDQUFDLCtDQUErQyxDQUFDLENBQUE7QUFDdkQsTUFBTSxDQUFDLCtDQUErQyxDQUFDLENBQUE7QUFDdkQsTUFBTSxDQUFDLGdEQUFnRCxDQUFDLENBQUE7QUFDeEQsTUFBTSxDQUFDLG9EQUFvRCxDQUFDLENBQUE7QUFDNUQsTUFBTSxDQUFDLHVEQUF1RCxDQUFDLENBQUE7QUFDL0QsTUFBTSxDQUFDLGlEQUFpRCxDQUFDLENBQUE7QUFDekQsTUFBTSxDQUFDLCtDQUErQyxDQUFDLENBQUE7QUFDdkQsTUFBTSxDQUFDLDBEQUEwRCxDQUFDLENBQUE7QUFDbEUsTUFBTSxDQUFDLGlEQUFpRCxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5pbXBvcnQgdHlwZSB7IEluZGl2aWR1YWwgfSBmcm9tICcuL2NvbnRhY3QubW9kZWwnXG5pbXBvcnQgdHlwZSB7IE9yZ2FuaXphdGlvbiB9IGZyb20gJy4vb3JnYW5pemF0aW9uLm1vZGVsJ1xuaW1wb3J0IHR5cGUgeyBHZW9tZXRyeSB9IGZyb20gJ2dlb2pzb24nXG5pbXBvcnQgeyBLZXl3b3JkVHlwZSwgVGhlc2F1cnVzTW9kZWwgfSBmcm9tICcuLi90aGVzYXVydXMnXG5pbXBvcnQge1xuICBDb25zdHJhaW50VHJhbnNsYXRpb25zLFxuICBLZXl3b3JkVHJhbnNsYXRpb25zLFxuICBMYW5ndWFnZUNvZGUsXG4gIE9ubGluZVJlc291cmNlVHJhbnNsYXRpb25zLFxuICBSZWNvcmRUcmFuc2xhdGlvbnMsXG4gIFNwYXRpYWxFeHRlbnRUcmFuc2xhdGlvbnMsXG59IGZyb20gJy4vdHJhbnNsYXRpb24ubW9kZWwnXG5cbnR5cGUgVXVpZCA9IHN0cmluZ1xuXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5LnVua25vd24nKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS5ub3RQbGFubmVkJylcbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kuYXNOZWVkZWQnKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS5pcnJlZ3VsYXInKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS5jb250aW51YWwnKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS5wZXJpb2RpYycpXG5cbmV4cG9ydCBjb25zdCB1cGRhdGVGcmVxdWVuY3lDb2RlVmFsdWVzID0gW1xuICAndW5rbm93bicsXG4gICdub3RQbGFubmVkJyxcbiAgJ2FzTmVlZGVkJyxcbiAgJ2lycmVndWxhcicsXG4gICdjb250aW51YWwnLFxuICAncGVyaW9kaWMnLFxuICAnZGFpbHknLFxuICAnd2Vla2x5JyxcbiAgJ2ZvcnRuaWdodGx5JyxcbiAgJ3NlbWltb250aGx5JyxcbiAgJ21vbnRobHknLFxuICAncXVhcnRlcmx5JyxcbiAgJ2JpYW5udWFsbHknLFxuICAnYW5udWFsbHknLFxuICAnYmllbm5pYWxseScsXG5dIGFzIGNvbnN0XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUZyZXF1ZW5jeUNvZGUgPSAodHlwZW9mIHVwZGF0ZUZyZXF1ZW5jeUNvZGVWYWx1ZXMpW251bWJlcl1cblxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS5kYXknKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS53ZWVrJylcbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kubW9udGgnKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS55ZWFyJylcblxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS5kYWlseScpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5LndlZWtseScpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5LmZvcnRuaWdodGx5Jylcbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kubW9udGhseScpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5LnF1YXJ0ZXJseScpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5LmJpYW5udWFsbHknKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS5hbm51YWxseScpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5LnNlbWltb250aGx5Jylcbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kuYmllbm5pYWxseScpXG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUZyZXF1ZW5jeUN1c3RvbSA9IHtcbiAgdXBkYXRlZFRpbWVzOiBudW1iZXIgLy8gdGhpcyBzaG91bGQgYmUgYW4gaW50ZWdlclxuICBwZXI6ICdkYXknIHwgJ3dlZWsnIHwgJ21vbnRoJyB8ICd5ZWFyJ1xufVxuZXhwb3J0IHR5cGUgVXBkYXRlRnJlcXVlbmN5ID0gVXBkYXRlRnJlcXVlbmN5Q29kZSB8IFVwZGF0ZUZyZXF1ZW5jeUN1c3RvbVxuXG5leHBvcnQgdHlwZSBSZWNvcmRLaW5kID0gJ2RhdGFzZXQnIHwgJ3NlcnZpY2UnIHwgJ3JldXNlJ1xuXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQuc3RhdHVzLmNvbXBsZXRlZCcpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQuc3RhdHVzLm9uZ29pbmcnKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnN0YXR1cy51bmRlcl9kZXZlbG9wbWVudCcpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQuc3RhdHVzLmRlcHJlY2F0ZWQnKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnN0YXR1cy5yZW1vdmVkJylcbm1hcmtlcignZG9tYWluLnJlY29yZC5zdGF0dXMucGxhbm5lZCcpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQuc3RhdHVzLnJlcXVpcmVkJylcblxuZXhwb3J0IGNvbnN0IFJlY29yZFN0YXR1c1ZhbHVlcyA9IFtcbiAgJ2NvbXBsZXRlZCcsXG4gICdvbmdvaW5nJyxcbiAgJ3VuZGVyX2RldmVsb3BtZW50JyxcbiAgJ2RlcHJlY2F0ZWQnLFxuICAncmVtb3ZlZCcsXG4gICdwbGFubmVkJyxcbiAgJ3JlcXVpcmVkJyxcbl1cbmV4cG9ydCB0eXBlIFJlY29yZFN0YXR1cyA9ICh0eXBlb2YgUmVjb3JkU3RhdHVzVmFsdWVzKVtudW1iZXJdXG5cbmV4cG9ydCB0eXBlIENvbnN0cmFpbnQgPSB7XG4gIHRleHQ6IHN0cmluZ1xuICB1cmw/OiBVUkxcblxuICB0cmFuc2xhdGlvbnM/OiBDb25zdHJhaW50VHJhbnNsYXRpb25zXG59XG5cbmV4cG9ydCB0eXBlIFNwYXRpYWxSZXByZXNlbnRhdGlvblR5cGUgPVxuICB8ICdncmlkJ1xuICB8ICd2ZWN0b3InXG4gIHwgJ3RpbidcbiAgfCAndGFibGUnXG4gIHwgJ3BvaW50J1xuXG5leHBvcnQgaW50ZXJmYWNlIEtleXdvcmQge1xuICBrZXk/OiBzdHJpbmdcbiAgbGFiZWw6IHN0cmluZ1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICB0eXBlOiBLZXl3b3JkVHlwZVxuICB0aGVzYXVydXM/OiBUaGVzYXVydXNNb2RlbFxuICBiYm94PzogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl1cblxuICB0cmFuc2xhdGlvbnM/OiBLZXl3b3JkVHJhbnNsYXRpb25zXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU5TUElSRV90aGVtZSB7XG4gIHZhbHVlOiBzdHJpbmdcbiAgbGFiZWw6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VSZWNvcmQge1xuICB1bmlxdWVJZGVudGlmaWVyOiBVdWlkXG4gIG93bmVyT3JnYW5pemF0aW9uOiBPcmdhbml6YXRpb25cbiAgY29udGFjdHM6IEFycmF5PEluZGl2aWR1YWw+XG4gIHRpdGxlOiBzdHJpbmdcbiAgYWJzdHJhY3Q6IHN0cmluZ1xuICByZWNvcmRDcmVhdGVkPzogRGF0ZVxuICByZWNvcmRQdWJsaXNoZWQ/OiBEYXRlXG4gIHJlY29yZFVwZGF0ZWQ6IERhdGVcbiAga2luZDogUmVjb3JkS2luZFxuICB0b3BpY3M6IEFycmF5PHN0cmluZz4gLy8gVE9ETzogaGFuZGxlIGNvZGVsaXN0c1xuICBrZXl3b3JkczogQXJyYXk8S2V5d29yZD5cbiAgbGljZW5zZXM6IEFycmF5PENvbnN0cmFpbnQ+XG4gIGxlZ2FsQ29uc3RyYWludHM6IEFycmF5PENvbnN0cmFpbnQ+XG4gIHNlY3VyaXR5Q29uc3RyYWludHM6IEFycmF5PENvbnN0cmFpbnQ+XG4gIG90aGVyQ29uc3RyYWludHM6IEFycmF5PENvbnN0cmFpbnQ+XG4gIG92ZXJ2aWV3czogQXJyYXk8R3JhcGhpY092ZXJ2aWV3PlxuICBleHRyYXM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICBsYW5kaW5nUGFnZT86IFVSTFxuICB1cGRhdGVGcmVxdWVuY3k/OiBVcGRhdGVGcmVxdWVuY3lcblxuICAvLyBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIHRoZSByZXNvdXJjZSAoZGF0YXNldCwgc2VydmljZSlcbiAgcmVzb3VyY2VJZGVudGlmaWVyPzogc3RyaW5nXG4gIGNvbnRhY3RzRm9yUmVzb3VyY2U6IEFycmF5PEluZGl2aWR1YWw+XG4gIHJlc291cmNlQ3JlYXRlZD86IERhdGVcbiAgcmVzb3VyY2VQdWJsaXNoZWQ/OiBEYXRlXG4gIHJlc291cmNlVXBkYXRlZD86IERhdGVcblxuICAvLyBtdWx0aWxpbmd1YWwgc3VwcG9ydFxuICBkZWZhdWx0TGFuZ3VhZ2U6IExhbmd1YWdlQ29kZVxuICBvdGhlckxhbmd1YWdlczogQXJyYXk8TGFuZ3VhZ2VDb2RlPiAvLyB0aGlzIHNob3VsZCBpbmNsdWRlIGFsbCBub24tZGVmYXVsdCBsYW5ndWFnZXMgcHJlc2VudCBpbiB0aGUgbWV0YWRhdGEsIGV2ZW4gaWYgaW5jb21wbGV0ZWx5IHRyYW5zbGF0ZWRcblxuICB0cmFuc2xhdGlvbnM/OiBSZWNvcmRUcmFuc2xhdGlvbnNcblxuICAvLyB0byBhZGQ6IGNhbm9uaWNhbCB1cmxcbiAgLy8gdG8gYWRkOiBzb3VyY2UgY2F0YWxvZyAoPz8pXG4gIC8vIHRvIGFkZDogaXMgb3BlbiBkYXRhID9cbn1cblxuLy8gVE9ETzogaGFuZGxlIGFjdHVhbCBjb2RlbGlzdHNcbmV4cG9ydCB0eXBlIFNlcnZpY2VQcm90b2NvbCA9XG4gIHwgJ3dtcydcbiAgfCAnd2ZzJ1xuICB8ICd3cHMnXG4gIHwgJ3dtdHMnXG4gIHwgJ2VzcmlSZXN0J1xuICB8ICdvZ2NGZWF0dXJlcydcbiAgfCAnR1BGREwnXG4gIHwgJ3RtcydcbiAgfCAnbWFwbGlicmUtc3R5bGUnXG4gIHwgJ290aGVyJ1xuXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5hcGkuYWNjZXNzU2VydmljZVByb3RvY29sLndtcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5hcGkuYWNjZXNzU2VydmljZVByb3RvY29sLndmcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5hcGkuYWNjZXNzU2VydmljZVByb3RvY29sLndwcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5hcGkuYWNjZXNzU2VydmljZVByb3RvY29sLndtdHMnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEuYXBpLmFjY2Vzc1NlcnZpY2VQcm90b2NvbC5lc3JpUmVzdCcpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5hcGkuYWNjZXNzU2VydmljZVByb3RvY29sLm9nY0ZlYXR1cmVzJylcbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLmFwaS5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wuR1BGREwnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEuYXBpLmFjY2Vzc1NlcnZpY2VQcm90b2NvbC50bXMnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEuYXBpLmFjY2Vzc1NlcnZpY2VQcm90b2NvbC5tYXBsaWJyZS1zdHlsZScpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5hcGkuYWNjZXNzU2VydmljZVByb3RvY29sLm90aGVyJylcblxuZXhwb3J0IHR5cGUgT25saW5lUmVzb3VyY2VUeXBlID0gJ3NlcnZpY2UnIHwgJ2Rvd25sb2FkJyB8ICdsaW5rJyB8ICdlbmRwb2ludCdcblxuZXhwb3J0IGludGVyZmFjZSBEYXRhc2V0U2VydmljZURpc3RyaWJ1dGlvbiB7XG4gIHR5cGU6ICdzZXJ2aWNlJ1xuICB1cmw6IFVSTFxuICBhY2Nlc3NTZXJ2aWNlUHJvdG9jb2w6IFNlcnZpY2VQcm90b2NvbFxuICBpZGVudGlmaWVySW5TZXJ2aWNlPzogc3RyaW5nIC8vIHNob3VsZCB3ZSBrZWVwIHRoZSBpZGVudGlmaWVySW5TZXJ2aWNlPyByZWFkLXdyaXRlIGR1cGxpY2F0ZSB3aXRoIG5hbWVcbiAgbmFtZT86IHN0cmluZ1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICB0cmFuc2xhdGlvbnM/OiBPbmxpbmVSZXNvdXJjZVRyYW5zbGF0aW9uc1xuICBhY2Nlc3NSZXN0cmljdGVkPzogYm9vbGVhblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFzZXREb3dubG9hZERpc3RyaWJ1dGlvbiB7XG4gIHR5cGU6ICdkb3dubG9hZCdcbiAgdXJsOiBVUkxcbiAgbWltZVR5cGU/OiBzdHJpbmdcbiAgc2l6ZUJ5dGVzPzogbnVtYmVyXG4gIC8vIHJlbW92ZWQgYmVjYXVzZSB3aGF0J3MgdGhlIHVzZT8gZW5jb2RpbmcgY2FuIGJlIGV4cG9zZWQgYnkgdGhlIGZpbGUgc2VydmVyIG9yXG4gIC8vIGV2ZW4gZm91bmQgb3V0IGJ5IHRyaWFsIGFuZCBlcnJvcjsgYmVzaWRlcyB3ZSBjYW4gcmVhc29uYWJseSBleHBlY3QgdW5pY29kZSBvciBpc28gbW9zdCBvZiB0aGUgdGltZVxuICAvLyB0ZXh0RW5jb2Rpbmc/OiBzdHJpbmdcbiAgbmFtZT86IHN0cmluZ1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICBhY2Nlc3NTZXJ2aWNlUHJvdG9jb2w/OiBTZXJ2aWNlUHJvdG9jb2xcbiAgdHJhbnNsYXRpb25zPzogT25saW5lUmVzb3VyY2VUcmFuc2xhdGlvbnNcbiAgYWNjZXNzUmVzdHJpY3RlZD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBPbmxpbmVMaW5rUmVzb3VyY2Uge1xuICB0eXBlOiAnbGluaydcbiAgdXJsOiBVUkxcbiAgbmFtZT86IHN0cmluZ1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICB0cmFuc2xhdGlvbnM/OiBPbmxpbmVSZXNvdXJjZVRyYW5zbGF0aW9uc1xuICBtaW1lVHlwZT86IHN0cmluZ1xuICBhY2Nlc3NSZXN0cmljdGVkPzogYm9vbGVhblxufVxuXG5leHBvcnQgdHlwZSBEYXRhc2V0T25saW5lUmVzb3VyY2UgPSAoXG4gIHwgRGF0YXNldFNlcnZpY2VEaXN0cmlidXRpb25cbiAgfCBEYXRhc2V0RG93bmxvYWREaXN0cmlidXRpb25cbiAgfCBPbmxpbmVMaW5rUmVzb3VyY2VcbikgJiB7XG4gIHR5cGU6IE9ubGluZVJlc291cmNlVHlwZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyYXBoaWNPdmVydmlldyB7XG4gIHVybDogVVJMXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YXNldFNwYXRpYWxFeHRlbnQge1xuICBiYm94PzogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl1cbiAgZ2VvbWV0cnk/OiBHZW9tZXRyeVxuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICB0cmFuc2xhdGlvbnM/OiBTcGF0aWFsRXh0ZW50VHJhbnNsYXRpb25zXG59XG5cbi8qKlxuICogUGVyaW9kIGlmIGJvdGggc3RhcnQgYW5kIGVuZCBhcmUgcHJvdmlkZWRcbiAqIEluc3RhbnQgaWYgb25seSBzdGFydCBpcyBwcm92aWRlZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGFzZXRUZW1wb3JhbEV4dGVudCB7XG4gIHN0YXJ0OiBEYXRlXG4gIGVuZD86IERhdGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhc2V0UmVjb3JkIGV4dGVuZHMgQmFzZVJlY29yZCB7XG4gIGtpbmQ6ICdkYXRhc2V0J1xuICBzdGF0dXM6IFJlY29yZFN0YXR1c1xuICBsaW5lYWdlOiBzdHJpbmcgLy8gRXhwbGFuYXRpb24gb2YgdGhlIG9yaWdpbiBvZiB0aGlzIHJlY29yZCAoZS5nOiBob3csIHdoeSlcIlxuICBvbmxpbmVSZXNvdXJjZXM6IEFycmF5PERhdGFzZXRPbmxpbmVSZXNvdXJjZT5cbiAgc3BhdGlhbEV4dGVudHM6IEFycmF5PERhdGFzZXRTcGF0aWFsRXh0ZW50PlxuICB0ZW1wb3JhbEV4dGVudHM6IEFycmF5PERhdGFzZXRUZW1wb3JhbEV4dGVudD5cbiAgc3BhdGlhbFJlcHJlc2VudGF0aW9uPzogU3BhdGlhbFJlcHJlc2VudGF0aW9uVHlwZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZpY2VFbmRwb2ludCB7XG4gIHVybDogVVJMXG4gIGFjY2Vzc1NlcnZpY2VQcm90b2NvbDogU2VydmljZVByb3RvY29sXG4gIHR5cGU6ICdlbmRwb2ludCdcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgdHJhbnNsYXRpb25zPzogT25saW5lUmVzb3VyY2VUcmFuc2xhdGlvbnNcbn1cblxuZXhwb3J0IHR5cGUgU2VydmljZU9ubGluZVJlc291cmNlID0gKFNlcnZpY2VFbmRwb2ludCB8IE9ubGluZUxpbmtSZXNvdXJjZSkgJiB7XG4gIHR5cGU6IE9ubGluZVJlc291cmNlVHlwZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZpY2VSZWNvcmQgZXh0ZW5kcyBCYXNlUmVjb3JkIHtcbiAga2luZDogJ3NlcnZpY2UnXG4gIG9ubGluZVJlc291cmNlczogQXJyYXk8U2VydmljZU9ubGluZVJlc291cmNlPlxuICBzcGF0aWFsRXh0ZW50czogQXJyYXk8RGF0YXNldFNwYXRpYWxFeHRlbnQ+XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmV1c2VSZWNvcmQgZXh0ZW5kcyBCYXNlUmVjb3JkIHtcbiAga2luZDogJ3JldXNlJ1xuICBsaW5lYWdlOiBzdHJpbmcgLy8gRXhwbGFuYXRpb24gb2YgdGhlIG9yaWdpbiBvZiB0aGlzIHJlY29yZCAoZS5nOiBob3csIHdoeSlcIlxuICBvbmxpbmVSZXNvdXJjZXM6IEFycmF5PERhdGFzZXRPbmxpbmVSZXNvdXJjZT5cbiAgcmV1c2VUeXBlOiBSZXVzZVR5cGVcbiAgc3BhdGlhbEV4dGVudHM6IEFycmF5PERhdGFzZXRTcGF0aWFsRXh0ZW50PlxuICB0ZW1wb3JhbEV4dGVudHM6IEFycmF5PERhdGFzZXRUZW1wb3JhbEV4dGVudD5cbn1cblxuZXhwb3J0IHR5cGUgRGF0YXNldEZlYXR1cmVDYXRhbG9nID0ge1xuICBmZWF0dXJlVHlwZXM6IEFycmF5PHtcbiAgICBuYW1lOiBzdHJpbmdcbiAgICBkZWZpbml0aW9uOiBzdHJpbmdcbiAgICBhdHRyaWJ1dGVzOiBEYXRhc2V0RmVhdHVyZUF0dHJpYnV0ZVtdXG4gIH0+XG59XG5leHBvcnQgaW50ZXJmYWNlIERhdGFzZXRGZWF0dXJlQXR0cmlidXRlVmFsdWUge1xuICBjb2RlPzogc3RyaW5nXG4gIGRlZmluaXRpb24/OiBzdHJpbmdcbiAgbGFiZWw/OiBzdHJpbmdcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YXNldEZlYXR1cmVBdHRyaWJ1dGUge1xuICBuYW1lOiBzdHJpbmdcbiAgZGVmaW5pdGlvbjogc3RyaW5nXG4gIHR5cGU6IHN0cmluZ1xuICBjb2RlOiBzdHJpbmdcbiAgdmFsdWVzPzogQXJyYXk8RGF0YXNldEZlYXR1cmVBdHRyaWJ1dGVWYWx1ZT5cbn1cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YXNldEZlYXR1cmVUeXBlIHtcbiAgYWxpYXNlczogc3RyaW5nXG4gIGNvZGU6IHN0cmluZ1xuICBpc0Fic3RyYWN0OiBzdHJpbmdcbiAgdHlwZU5hbWU6IHN0cmluZ1xuICBkZWZpbml0aW9uOiBzdHJpbmdcbiAgYXR0cmlidXRlVGFibGU6IEFycmF5PERhdGFzZXRGZWF0dXJlQXR0cmlidXRlPlxufVxuXG5leHBvcnQgdHlwZSBSZXVzZVR5cGUgPSAnYXBwbGljYXRpb24nIHwgJ21hcCcgfCAnb3RoZXInXG5cbmV4cG9ydCB0eXBlIE9ubGluZVJlc291cmNlID0gRGF0YXNldE9ubGluZVJlc291cmNlIHwgU2VydmljZU9ubGluZVJlc291cmNlXG5cbmV4cG9ydCB0eXBlIENhdGFsb2dSZWNvcmQgPSBEYXRhc2V0UmVjb3JkIHwgUmV1c2VSZWNvcmQgfCBTZXJ2aWNlUmVjb3JkXG5cbmV4cG9ydCB0eXBlIENhdGFsb2dSZWNvcmRLZXlzID1cbiAgfCBrZXlvZiBEYXRhc2V0UmVjb3JkXG4gIHwga2V5b2YgUmV1c2VSZWNvcmRcbiAgfCBrZXlvZiBTZXJ2aWNlUmVjb3JkXG4iXX0=
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQvbWV0YWRhdGEubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBZ0JoRSxNQUFNLENBQUMsdUNBQXVDLENBQUMsQ0FBQTtBQUMvQyxNQUFNLENBQUMsMENBQTBDLENBQUMsQ0FBQTtBQUNsRCxNQUFNLENBQUMsd0NBQXdDLENBQUMsQ0FBQTtBQUNoRCxNQUFNLENBQUMseUNBQXlDLENBQUMsQ0FBQTtBQUNqRCxNQUFNLENBQUMseUNBQXlDLENBQUMsQ0FBQTtBQUNqRCxNQUFNLENBQUMsd0NBQXdDLENBQUMsQ0FBQTtBQUVoRCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRztJQUN2QyxTQUFTO0lBQ1QsWUFBWTtJQUNaLFVBQVU7SUFDVixXQUFXO0lBQ1gsV0FBVztJQUNYLFVBQVU7SUFDVixPQUFPO0lBQ1AsUUFBUTtJQUNSLGFBQWE7SUFDYixhQUFhO0lBQ2IsU0FBUztJQUNULFdBQVc7SUFDWCxZQUFZO0lBQ1osVUFBVTtJQUNWLFlBQVk7Q0FDSixDQUFBO0FBSVYsTUFBTSxDQUFDLG1DQUFtQyxDQUFDLENBQUE7QUFDM0MsTUFBTSxDQUFDLG9DQUFvQyxDQUFDLENBQUE7QUFDNUMsTUFBTSxDQUFDLHFDQUFxQyxDQUFDLENBQUE7QUFDN0MsTUFBTSxDQUFDLG9DQUFvQyxDQUFDLENBQUE7QUFFNUMsTUFBTSxDQUFDLHFDQUFxQyxDQUFDLENBQUE7QUFDN0MsTUFBTSxDQUFDLHNDQUFzQyxDQUFDLENBQUE7QUFDOUMsTUFBTSxDQUFDLDJDQUEyQyxDQUFDLENBQUE7QUFDbkQsTUFBTSxDQUFDLHVDQUF1QyxDQUFDLENBQUE7QUFDL0MsTUFBTSxDQUFDLHlDQUF5QyxDQUFDLENBQUE7QUFDakQsTUFBTSxDQUFDLDBDQUEwQyxDQUFDLENBQUE7QUFDbEQsTUFBTSxDQUFDLHdDQUF3QyxDQUFDLENBQUE7QUFDaEQsTUFBTSxDQUFDLDJDQUEyQyxDQUFDLENBQUE7QUFDbkQsTUFBTSxDQUFDLDBDQUEwQyxDQUFDLENBQUE7QUFVbEQsTUFBTSxDQUFDLGdDQUFnQyxDQUFDLENBQUE7QUFDeEMsTUFBTSxDQUFDLDhCQUE4QixDQUFDLENBQUE7QUFDdEMsTUFBTSxDQUFDLHdDQUF3QyxDQUFDLENBQUE7QUFDaEQsTUFBTSxDQUFDLGlDQUFpQyxDQUFDLENBQUE7QUFDekMsTUFBTSxDQUFDLDhCQUE4QixDQUFDLENBQUE7QUFDdEMsTUFBTSxDQUFDLDhCQUE4QixDQUFDLENBQUE7QUFDdEMsTUFBTSxDQUFDLCtCQUErQixDQUFDLENBQUE7QUFFdkMsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDaEMsV0FBVztJQUNYLFNBQVM7SUFDVCxtQkFBbUI7SUFDbkIsWUFBWTtJQUNaLFNBQVM7SUFDVCxTQUFTO0lBQ1QsVUFBVTtDQUNYLENBQUE7QUFxRkQsTUFBTSxDQUFDLCtDQUErQyxDQUFDLENBQUE7QUFDdkQsTUFBTSxDQUFDLCtDQUErQyxDQUFDLENBQUE7QUFDdkQsTUFBTSxDQUFDLCtDQUErQyxDQUFDLENBQUE7QUFDdkQsTUFBTSxDQUFDLGdEQUFnRCxDQUFDLENBQUE7QUFDeEQsTUFBTSxDQUFDLG9EQUFvRCxDQUFDLENBQUE7QUFDNUQsTUFBTSxDQUFDLHVEQUF1RCxDQUFDLENBQUE7QUFDL0QsTUFBTSxDQUFDLGlEQUFpRCxDQUFDLENBQUE7QUFDekQsTUFBTSxDQUFDLCtDQUErQyxDQUFDLENBQUE7QUFDdkQsTUFBTSxDQUFDLDBEQUEwRCxDQUFDLENBQUE7QUFDbEUsTUFBTSxDQUFDLGlEQUFpRCxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5pbXBvcnQgdHlwZSB7IEluZGl2aWR1YWwgfSBmcm9tICcuL2NvbnRhY3QubW9kZWwnXG5pbXBvcnQgdHlwZSB7IE9yZ2FuaXphdGlvbiB9IGZyb20gJy4vb3JnYW5pemF0aW9uLm1vZGVsJ1xuaW1wb3J0IHR5cGUgeyBHZW9tZXRyeSB9IGZyb20gJ2dlb2pzb24nXG5pbXBvcnQgeyBLZXl3b3JkVHlwZSwgVGhlc2F1cnVzTW9kZWwgfSBmcm9tICcuLi90aGVzYXVydXMnXG5pbXBvcnQge1xuICBDb25zdHJhaW50VHJhbnNsYXRpb25zLFxuICBLZXl3b3JkVHJhbnNsYXRpb25zLFxuICBMYW5ndWFnZUNvZGUsXG4gIE9ubGluZVJlc291cmNlVHJhbnNsYXRpb25zLFxuICBSZWNvcmRUcmFuc2xhdGlvbnMsXG4gIFNwYXRpYWxFeHRlbnRUcmFuc2xhdGlvbnMsXG59IGZyb20gJy4vdHJhbnNsYXRpb24ubW9kZWwnXG5cbnR5cGUgVXVpZCA9IHN0cmluZ1xuXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5LnVua25vd24nKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS5ub3RQbGFubmVkJylcbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kuYXNOZWVkZWQnKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS5pcnJlZ3VsYXInKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS5jb250aW51YWwnKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS5wZXJpb2RpYycpXG5cbmV4cG9ydCBjb25zdCB1cGRhdGVGcmVxdWVuY3lDb2RlVmFsdWVzID0gW1xuICAndW5rbm93bicsXG4gICdub3RQbGFubmVkJyxcbiAgJ2FzTmVlZGVkJyxcbiAgJ2lycmVndWxhcicsXG4gICdjb250aW51YWwnLFxuICAncGVyaW9kaWMnLFxuICAnZGFpbHknLFxuICAnd2Vla2x5JyxcbiAgJ2ZvcnRuaWdodGx5JyxcbiAgJ3NlbWltb250aGx5JyxcbiAgJ21vbnRobHknLFxuICAncXVhcnRlcmx5JyxcbiAgJ2JpYW5udWFsbHknLFxuICAnYW5udWFsbHknLFxuICAnYmllbm5pYWxseScsXG5dIGFzIGNvbnN0XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUZyZXF1ZW5jeUNvZGUgPSAodHlwZW9mIHVwZGF0ZUZyZXF1ZW5jeUNvZGVWYWx1ZXMpW251bWJlcl1cblxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS5kYXknKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS53ZWVrJylcbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kubW9udGgnKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS55ZWFyJylcblxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS5kYWlseScpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5LndlZWtseScpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5LmZvcnRuaWdodGx5Jylcbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kubW9udGhseScpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5LnF1YXJ0ZXJseScpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5LmJpYW5udWFsbHknKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS5hbm51YWxseScpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5LnNlbWltb250aGx5Jylcbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kuYmllbm5pYWxseScpXG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUZyZXF1ZW5jeUN1c3RvbSA9IHtcbiAgdXBkYXRlZFRpbWVzOiBudW1iZXIgLy8gdGhpcyBzaG91bGQgYmUgYW4gaW50ZWdlclxuICBwZXI6ICdkYXknIHwgJ3dlZWsnIHwgJ21vbnRoJyB8ICd5ZWFyJ1xufVxuZXhwb3J0IHR5cGUgVXBkYXRlRnJlcXVlbmN5ID0gVXBkYXRlRnJlcXVlbmN5Q29kZSB8IFVwZGF0ZUZyZXF1ZW5jeUN1c3RvbVxuXG5leHBvcnQgdHlwZSBSZWNvcmRLaW5kID0gJ2RhdGFzZXQnIHwgJ3NlcnZpY2UnIHwgJ3JldXNlJ1xuXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQuc3RhdHVzLmNvbXBsZXRlZCcpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQuc3RhdHVzLm9uZ29pbmcnKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnN0YXR1cy51bmRlcl9kZXZlbG9wbWVudCcpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQuc3RhdHVzLmRlcHJlY2F0ZWQnKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnN0YXR1cy5yZW1vdmVkJylcbm1hcmtlcignZG9tYWluLnJlY29yZC5zdGF0dXMucGxhbm5lZCcpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQuc3RhdHVzLnJlcXVpcmVkJylcblxuZXhwb3J0IGNvbnN0IFJlY29yZFN0YXR1c1ZhbHVlcyA9IFtcbiAgJ2NvbXBsZXRlZCcsXG4gICdvbmdvaW5nJyxcbiAgJ3VuZGVyX2RldmVsb3BtZW50JyxcbiAgJ2RlcHJlY2F0ZWQnLFxuICAncmVtb3ZlZCcsXG4gICdwbGFubmVkJyxcbiAgJ3JlcXVpcmVkJyxcbl1cbmV4cG9ydCB0eXBlIFJlY29yZFN0YXR1cyA9ICh0eXBlb2YgUmVjb3JkU3RhdHVzVmFsdWVzKVtudW1iZXJdXG5cbmV4cG9ydCB0eXBlIENvbnN0cmFpbnQgPSB7XG4gIHRleHQ6IHN0cmluZ1xuICB1cmw/OiBVUkxcblxuICB0cmFuc2xhdGlvbnM/OiBDb25zdHJhaW50VHJhbnNsYXRpb25zXG59XG5cbmV4cG9ydCB0eXBlIFNwYXRpYWxSZXByZXNlbnRhdGlvblR5cGUgPVxuICB8ICdncmlkJ1xuICB8ICd2ZWN0b3InXG4gIHwgJ3RpbidcbiAgfCAndGFibGUnXG4gIHwgJ3BvaW50J1xuXG5leHBvcnQgaW50ZXJmYWNlIEtleXdvcmQge1xuICBrZXk/OiBzdHJpbmdcbiAgbGFiZWw6IHN0cmluZ1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICB0eXBlOiBLZXl3b3JkVHlwZVxuICB0aGVzYXVydXM/OiBUaGVzYXVydXNNb2RlbFxuICBiYm94PzogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl1cblxuICB0cmFuc2xhdGlvbnM/OiBLZXl3b3JkVHJhbnNsYXRpb25zXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU5TUElSRV90b3BpYyB7XG4gIHZhbHVlOiBzdHJpbmdcbiAgbGFiZWw6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VSZWNvcmQge1xuICB1bmlxdWVJZGVudGlmaWVyOiBVdWlkXG4gIG93bmVyT3JnYW5pemF0aW9uOiBPcmdhbml6YXRpb25cbiAgY29udGFjdHM6IEFycmF5PEluZGl2aWR1YWw+XG4gIHRpdGxlOiBzdHJpbmdcbiAgYWJzdHJhY3Q6IHN0cmluZ1xuICByZWNvcmRDcmVhdGVkPzogRGF0ZVxuICByZWNvcmRQdWJsaXNoZWQ/OiBEYXRlXG4gIHJlY29yZFVwZGF0ZWQ6IERhdGVcbiAga2luZDogUmVjb3JkS2luZFxuICB0b3BpY3M6IEFycmF5PHN0cmluZz4gLy8gVE9ETzogaGFuZGxlIGNvZGVsaXN0c1xuICBrZXl3b3JkczogQXJyYXk8S2V5d29yZD5cbiAgbGljZW5zZXM6IEFycmF5PENvbnN0cmFpbnQ+XG4gIGxlZ2FsQ29uc3RyYWludHM6IEFycmF5PENvbnN0cmFpbnQ+XG4gIHNlY3VyaXR5Q29uc3RyYWludHM6IEFycmF5PENvbnN0cmFpbnQ+XG4gIG90aGVyQ29uc3RyYWludHM6IEFycmF5PENvbnN0cmFpbnQ+XG4gIG92ZXJ2aWV3czogQXJyYXk8R3JhcGhpY092ZXJ2aWV3PlxuICBleHRyYXM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICBsYW5kaW5nUGFnZT86IFVSTFxuICB1cGRhdGVGcmVxdWVuY3k/OiBVcGRhdGVGcmVxdWVuY3lcblxuICAvLyBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIHRoZSByZXNvdXJjZSAoZGF0YXNldCwgc2VydmljZSlcbiAgcmVzb3VyY2VJZGVudGlmaWVyPzogc3RyaW5nXG4gIGNvbnRhY3RzRm9yUmVzb3VyY2U6IEFycmF5PEluZGl2aWR1YWw+XG4gIHJlc291cmNlQ3JlYXRlZD86IERhdGVcbiAgcmVzb3VyY2VQdWJsaXNoZWQ/OiBEYXRlXG4gIHJlc291cmNlVXBkYXRlZD86IERhdGVcblxuICAvLyBtdWx0aWxpbmd1YWwgc3VwcG9ydFxuICBkZWZhdWx0TGFuZ3VhZ2U6IExhbmd1YWdlQ29kZVxuICBvdGhlckxhbmd1YWdlczogQXJyYXk8TGFuZ3VhZ2VDb2RlPiAvLyB0aGlzIHNob3VsZCBpbmNsdWRlIGFsbCBub24tZGVmYXVsdCBsYW5ndWFnZXMgcHJlc2VudCBpbiB0aGUgbWV0YWRhdGEsIGV2ZW4gaWYgaW5jb21wbGV0ZWx5IHRyYW5zbGF0ZWRcblxuICB0cmFuc2xhdGlvbnM/OiBSZWNvcmRUcmFuc2xhdGlvbnNcblxuICAvLyB0byBhZGQ6IGNhbm9uaWNhbCB1cmxcbiAgLy8gdG8gYWRkOiBzb3VyY2UgY2F0YWxvZyAoPz8pXG4gIC8vIHRvIGFkZDogaXMgb3BlbiBkYXRhID9cbn1cblxuLy8gVE9ETzogaGFuZGxlIGFjdHVhbCBjb2RlbGlzdHNcbmV4cG9ydCB0eXBlIFNlcnZpY2VQcm90b2NvbCA9XG4gIHwgJ3dtcydcbiAgfCAnd2ZzJ1xuICB8ICd3cHMnXG4gIHwgJ3dtdHMnXG4gIHwgJ2VzcmlSZXN0J1xuICB8ICdvZ2NGZWF0dXJlcydcbiAgfCAnR1BGREwnXG4gIHwgJ3RtcydcbiAgfCAnbWFwbGlicmUtc3R5bGUnXG4gIHwgJ290aGVyJ1xuXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5hcGkuYWNjZXNzU2VydmljZVByb3RvY29sLndtcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5hcGkuYWNjZXNzU2VydmljZVByb3RvY29sLndmcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5hcGkuYWNjZXNzU2VydmljZVByb3RvY29sLndwcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5hcGkuYWNjZXNzU2VydmljZVByb3RvY29sLndtdHMnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEuYXBpLmFjY2Vzc1NlcnZpY2VQcm90b2NvbC5lc3JpUmVzdCcpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5hcGkuYWNjZXNzU2VydmljZVByb3RvY29sLm9nY0ZlYXR1cmVzJylcbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLmFwaS5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wuR1BGREwnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEuYXBpLmFjY2Vzc1NlcnZpY2VQcm90b2NvbC50bXMnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEuYXBpLmFjY2Vzc1NlcnZpY2VQcm90b2NvbC5tYXBsaWJyZS1zdHlsZScpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5hcGkuYWNjZXNzU2VydmljZVByb3RvY29sLm90aGVyJylcblxuZXhwb3J0IHR5cGUgT25saW5lUmVzb3VyY2VUeXBlID0gJ3NlcnZpY2UnIHwgJ2Rvd25sb2FkJyB8ICdsaW5rJyB8ICdlbmRwb2ludCdcblxuZXhwb3J0IGludGVyZmFjZSBEYXRhc2V0U2VydmljZURpc3RyaWJ1dGlvbiB7XG4gIHR5cGU6ICdzZXJ2aWNlJ1xuICB1cmw6IFVSTFxuICBhY2Nlc3NTZXJ2aWNlUHJvdG9jb2w6IFNlcnZpY2VQcm90b2NvbFxuICBpZGVudGlmaWVySW5TZXJ2aWNlPzogc3RyaW5nIC8vIHNob3VsZCB3ZSBrZWVwIHRoZSBpZGVudGlmaWVySW5TZXJ2aWNlPyByZWFkLXdyaXRlIGR1cGxpY2F0ZSB3aXRoIG5hbWVcbiAgbmFtZT86IHN0cmluZ1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICB0cmFuc2xhdGlvbnM/OiBPbmxpbmVSZXNvdXJjZVRyYW5zbGF0aW9uc1xuICBhY2Nlc3NSZXN0cmljdGVkPzogYm9vbGVhblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFzZXREb3dubG9hZERpc3RyaWJ1dGlvbiB7XG4gIHR5cGU6ICdkb3dubG9hZCdcbiAgdXJsOiBVUkxcbiAgbWltZVR5cGU/OiBzdHJpbmdcbiAgc2l6ZUJ5dGVzPzogbnVtYmVyXG4gIC8vIHJlbW92ZWQgYmVjYXVzZSB3aGF0J3MgdGhlIHVzZT8gZW5jb2RpbmcgY2FuIGJlIGV4cG9zZWQgYnkgdGhlIGZpbGUgc2VydmVyIG9yXG4gIC8vIGV2ZW4gZm91bmQgb3V0IGJ5IHRyaWFsIGFuZCBlcnJvcjsgYmVzaWRlcyB3ZSBjYW4gcmVhc29uYWJseSBleHBlY3QgdW5pY29kZSBvciBpc28gbW9zdCBvZiB0aGUgdGltZVxuICAvLyB0ZXh0RW5jb2Rpbmc/OiBzdHJpbmdcbiAgbmFtZT86IHN0cmluZ1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICBhY2Nlc3NTZXJ2aWNlUHJvdG9jb2w/OiBTZXJ2aWNlUHJvdG9jb2xcbiAgdHJhbnNsYXRpb25zPzogT25saW5lUmVzb3VyY2VUcmFuc2xhdGlvbnNcbiAgYWNjZXNzUmVzdHJpY3RlZD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBPbmxpbmVMaW5rUmVzb3VyY2Uge1xuICB0eXBlOiAnbGluaydcbiAgdXJsOiBVUkxcbiAgbmFtZT86IHN0cmluZ1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICB0cmFuc2xhdGlvbnM/OiBPbmxpbmVSZXNvdXJjZVRyYW5zbGF0aW9uc1xuICBtaW1lVHlwZT86IHN0cmluZ1xuICBhY2Nlc3NSZXN0cmljdGVkPzogYm9vbGVhblxufVxuXG5leHBvcnQgdHlwZSBEYXRhc2V0T25saW5lUmVzb3VyY2UgPSAoXG4gIHwgRGF0YXNldFNlcnZpY2VEaXN0cmlidXRpb25cbiAgfCBEYXRhc2V0RG93bmxvYWREaXN0cmlidXRpb25cbiAgfCBPbmxpbmVMaW5rUmVzb3VyY2VcbikgJiB7XG4gIHR5cGU6IE9ubGluZVJlc291cmNlVHlwZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyYXBoaWNPdmVydmlldyB7XG4gIHVybDogVVJMXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YXNldFNwYXRpYWxFeHRlbnQge1xuICBiYm94PzogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl1cbiAgZ2VvbWV0cnk/OiBHZW9tZXRyeVxuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICB0cmFuc2xhdGlvbnM/OiBTcGF0aWFsRXh0ZW50VHJhbnNsYXRpb25zXG59XG5cbi8qKlxuICogUGVyaW9kIGlmIGJvdGggc3RhcnQgYW5kIGVuZCBhcmUgcHJvdmlkZWRcbiAqIEluc3RhbnQgaWYgb25seSBzdGFydCBpcyBwcm92aWRlZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGFzZXRUZW1wb3JhbEV4dGVudCB7XG4gIHN0YXJ0OiBEYXRlXG4gIGVuZD86IERhdGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhc2V0UmVjb3JkIGV4dGVuZHMgQmFzZVJlY29yZCB7XG4gIGtpbmQ6ICdkYXRhc2V0J1xuICBzdGF0dXM6IFJlY29yZFN0YXR1c1xuICBsaW5lYWdlOiBzdHJpbmcgLy8gRXhwbGFuYXRpb24gb2YgdGhlIG9yaWdpbiBvZiB0aGlzIHJlY29yZCAoZS5nOiBob3csIHdoeSlcIlxuICBvbmxpbmVSZXNvdXJjZXM6IEFycmF5PERhdGFzZXRPbmxpbmVSZXNvdXJjZT5cbiAgc3BhdGlhbEV4dGVudHM6IEFycmF5PERhdGFzZXRTcGF0aWFsRXh0ZW50PlxuICB0ZW1wb3JhbEV4dGVudHM6IEFycmF5PERhdGFzZXRUZW1wb3JhbEV4dGVudD5cbiAgc3BhdGlhbFJlcHJlc2VudGF0aW9uPzogU3BhdGlhbFJlcHJlc2VudGF0aW9uVHlwZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZpY2VFbmRwb2ludCB7XG4gIHVybDogVVJMXG4gIGFjY2Vzc1NlcnZpY2VQcm90b2NvbDogU2VydmljZVByb3RvY29sXG4gIHR5cGU6ICdlbmRwb2ludCdcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgdHJhbnNsYXRpb25zPzogT25saW5lUmVzb3VyY2VUcmFuc2xhdGlvbnNcbn1cblxuZXhwb3J0IHR5cGUgU2VydmljZU9ubGluZVJlc291cmNlID0gKFNlcnZpY2VFbmRwb2ludCB8IE9ubGluZUxpbmtSZXNvdXJjZSkgJiB7XG4gIHR5cGU6IE9ubGluZVJlc291cmNlVHlwZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZpY2VSZWNvcmQgZXh0ZW5kcyBCYXNlUmVjb3JkIHtcbiAga2luZDogJ3NlcnZpY2UnXG4gIG9ubGluZVJlc291cmNlczogQXJyYXk8U2VydmljZU9ubGluZVJlc291cmNlPlxuICBzcGF0aWFsRXh0ZW50czogQXJyYXk8RGF0YXNldFNwYXRpYWxFeHRlbnQ+XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmV1c2VSZWNvcmQgZXh0ZW5kcyBCYXNlUmVjb3JkIHtcbiAga2luZDogJ3JldXNlJ1xuICBsaW5lYWdlOiBzdHJpbmcgLy8gRXhwbGFuYXRpb24gb2YgdGhlIG9yaWdpbiBvZiB0aGlzIHJlY29yZCAoZS5nOiBob3csIHdoeSlcIlxuICBvbmxpbmVSZXNvdXJjZXM6IEFycmF5PERhdGFzZXRPbmxpbmVSZXNvdXJjZT5cbiAgcmV1c2VUeXBlOiBSZXVzZVR5cGVcbiAgc3BhdGlhbEV4dGVudHM6IEFycmF5PERhdGFzZXRTcGF0aWFsRXh0ZW50PlxuICB0ZW1wb3JhbEV4dGVudHM6IEFycmF5PERhdGFzZXRUZW1wb3JhbEV4dGVudD5cbn1cblxuZXhwb3J0IHR5cGUgRGF0YXNldEZlYXR1cmVDYXRhbG9nID0ge1xuICBmZWF0dXJlVHlwZXM6IEFycmF5PHtcbiAgICBuYW1lOiBzdHJpbmdcbiAgICBkZWZpbml0aW9uOiBzdHJpbmdcbiAgICBhdHRyaWJ1dGVzOiBEYXRhc2V0RmVhdHVyZUF0dHJpYnV0ZVtdXG4gIH0+XG59XG5leHBvcnQgaW50ZXJmYWNlIERhdGFzZXRGZWF0dXJlQXR0cmlidXRlVmFsdWUge1xuICBjb2RlPzogc3RyaW5nXG4gIGRlZmluaXRpb24/OiBzdHJpbmdcbiAgbGFiZWw/OiBzdHJpbmdcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YXNldEZlYXR1cmVBdHRyaWJ1dGUge1xuICBuYW1lOiBzdHJpbmdcbiAgZGVmaW5pdGlvbjogc3RyaW5nXG4gIHR5cGU6IHN0cmluZ1xuICBjb2RlOiBzdHJpbmdcbiAgdmFsdWVzPzogQXJyYXk8RGF0YXNldEZlYXR1cmVBdHRyaWJ1dGVWYWx1ZT5cbn1cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YXNldEZlYXR1cmVUeXBlIHtcbiAgYWxpYXNlczogc3RyaW5nXG4gIGNvZGU6IHN0cmluZ1xuICBpc0Fic3RyYWN0OiBzdHJpbmdcbiAgdHlwZU5hbWU6IHN0cmluZ1xuICBkZWZpbml0aW9uOiBzdHJpbmdcbiAgYXR0cmlidXRlVGFibGU6IEFycmF5PERhdGFzZXRGZWF0dXJlQXR0cmlidXRlPlxufVxuXG5leHBvcnQgdHlwZSBSZXVzZVR5cGUgPSAnYXBwbGljYXRpb24nIHwgJ21hcCcgfCAnb3RoZXInXG5cbmV4cG9ydCB0eXBlIE9ubGluZVJlc291cmNlID0gRGF0YXNldE9ubGluZVJlc291cmNlIHwgU2VydmljZU9ubGluZVJlc291cmNlXG5cbmV4cG9ydCB0eXBlIENhdGFsb2dSZWNvcmQgPSBEYXRhc2V0UmVjb3JkIHwgUmV1c2VSZWNvcmQgfCBTZXJ2aWNlUmVjb3JkXG5cbmV4cG9ydCB0eXBlIENhdGFsb2dSZWNvcmRLZXlzID1cbiAgfCBrZXlvZiBEYXRhc2V0UmVjb3JkXG4gIHwga2V5b2YgUmV1c2VSZWNvcmRcbiAgfCBrZXlvZiBTZXJ2aWNlUmVjb3JkXG4iXX0=
@@ -1,3 +1,3 @@
1
1
  export class PlatformServiceInterface {
2
2
  }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0uc2VydmljZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9wbGF0Zm9ybS5zZXJ2aWNlLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzQkEsTUFBTSxPQUFnQix3QkFBd0I7Q0FzQzdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCB0eXBlIHsgVXNlck1vZGVsIH0gZnJvbSAnLi9tb2RlbC91c2VyL3VzZXIubW9kZWwnXG5pbXBvcnQgdHlwZSB7IE9yZ2FuaXphdGlvbiB9IGZyb20gJy4vbW9kZWwvcmVjb3JkL29yZ2FuaXphdGlvbi5tb2RlbCdcbmltcG9ydCB7IENhdGFsb2dSZWNvcmQsIEtleXdvcmQsIFVzZXJGZWVkYmFjayB9IGZyb20gJy4vbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHsgS2V5d29yZFR5cGUgfSBmcm9tICcuL21vZGVsL3RoZXNhdXJ1cydcbmltcG9ydCB7IERhdGF2aXpDb25maWdNb2RlbCB9IGZyb20gJy4vbW9kZWwvZGF0YXZpei9kYXRhdml6LWNvbmZpZ3VyYXRpb24ubW9kZWwnXG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVjb3JkQXR0YWNobWVudCB7XG4gIHVybDogVVJMXG4gIGZpbGVOYW1lOiBzdHJpbmdcbn1cbmV4cG9ydCB0eXBlIFVwbG9hZEV2ZW50ID1cbiAgfCB7XG4gICAgICB0eXBlOiAncHJvZ3Jlc3MnXG4gICAgICBwcm9ncmVzczogbnVtYmVyIC8vIGluIHBlcmNlbnRcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ3N1Y2Nlc3MnXG4gICAgICBhdHRhY2htZW50OiBSZWNvcmRBdHRhY2htZW50XG4gICAgICBzaXplQnl0ZXM6IG51bWJlclxuICAgIH1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBsYXRmb3JtU2VydmljZUludGVyZmFjZSB7XG4gIGFic3RyYWN0IGdldFR5cGUoKTogc3RyaW5nXG4gIGFic3RyYWN0IGdldEFwaVZlcnNpb24oKTogT2JzZXJ2YWJsZTxzdHJpbmc+XG5cbiAgYWJzdHJhY3QgZ2V0TWUoKTogT2JzZXJ2YWJsZTxVc2VyTW9kZWw+XG4gIGFic3RyYWN0IGlzQW5vbnltb3VzKCk6IE9ic2VydmFibGU8Ym9vbGVhbj5cbiAgYWJzdHJhY3QgZ2V0VXNlcnMoKTogT2JzZXJ2YWJsZTxVc2VyTW9kZWxbXT5cbiAgYWJzdHJhY3QgZ2V0VXNlcnNCeU9yZ2FuaXphdGlvbihcbiAgICBvcmdhbmlzYXRpb246IE9yZ2FuaXphdGlvblxuICApOiBPYnNlcnZhYmxlPFVzZXJNb2RlbFtdPlxuICBhYnN0cmFjdCBnZXRPcmdhbml6YXRpb25zKCk6IE9ic2VydmFibGU8T3JnYW5pemF0aW9uW10+XG5cbiAgYWJzdHJhY3QgdHJhbnNsYXRlS2V5KGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmc+XG5cbiAgYWJzdHJhY3Qgc2VhcmNoS2V5d29yZHMoXG4gICAgcXVlcnk6IHN0cmluZyxcbiAgICBrZXl3b3JkVHlwZXM6IEtleXdvcmRUeXBlW11cbiAgKTogT2JzZXJ2YWJsZTxLZXl3b3JkW10+XG4gIGFic3RyYWN0IGdldEtleXdvcmRzQnlVcmkodXJpOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEtleXdvcmRbXT5cbiAgYWJzdHJhY3Qgc2VhcmNoS2V5d29yZHNJblRoZXNhdXJ1cyhcbiAgICBxdWVyeTogc3RyaW5nLFxuICAgIHRoZXNhdXJ1c0lkOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxLZXl3b3JkW10+XG5cbiAgYWJzdHJhY3QgZ2V0VXNlckZlZWRiYWNrcyhyZWNvcmRVdWlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFVzZXJGZWVkYmFja1tdPlxuICBhYnN0cmFjdCBwb3N0VXNlckZlZWRiYWNrcyhyZWNvcmRVdWlkOiBVc2VyRmVlZGJhY2spOiBPYnNlcnZhYmxlPHZvaWQ+XG5cbiAgYWJzdHJhY3QgZ2V0UmVjb3JkQXR0YWNobWVudHMoXG4gICAgcmVjb3JkVXVpZDogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8UmVjb3JkQXR0YWNobWVudFtdPlxuICBhYnN0cmFjdCBjbGVhblJlY29yZEF0dGFjaG1lbnRzKHJlY29yZFV1aWQ6IENhdGFsb2dSZWNvcmQpOiBPYnNlcnZhYmxlPHZvaWQ+XG4gIGFic3RyYWN0IGF0dGFjaEZpbGVUb1JlY29yZChcbiAgICByZWNvcmRVdWlkOiBzdHJpbmcsXG4gICAgZmlsZTogRmlsZSxcbiAgICByZW1vdmVEdXBsaWNhdGU/OiBib29sZWFuXG4gICk6IE9ic2VydmFibGU8VXBsb2FkRXZlbnQ+XG4gIGFic3RyYWN0IGdldEZpbGVDb250ZW50KHVybDogVVJMKTogT2JzZXJ2YWJsZTxhbnk+XG4gIGFic3RyYWN0IGdldEZlZWRiYWNrc0FsbG93ZWQoKTogT2JzZXJ2YWJsZTxib29sZWFuPlxufVxuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0uc2VydmljZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9wbGF0Zm9ybS5zZXJ2aWNlLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzQkEsTUFBTSxPQUFnQix3QkFBd0I7Q0F1QzdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCB0eXBlIHsgVXNlck1vZGVsIH0gZnJvbSAnLi9tb2RlbC91c2VyL3VzZXIubW9kZWwnXG5pbXBvcnQgdHlwZSB7IE9yZ2FuaXphdGlvbiB9IGZyb20gJy4vbW9kZWwvcmVjb3JkL29yZ2FuaXphdGlvbi5tb2RlbCdcbmltcG9ydCB7IENhdGFsb2dSZWNvcmQsIEtleXdvcmQsIFVzZXJGZWVkYmFjayB9IGZyb20gJy4vbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHsgS2V5d29yZFR5cGUgfSBmcm9tICcuL21vZGVsL3RoZXNhdXJ1cydcbmltcG9ydCB7IERhdGF2aXpDb25maWdNb2RlbCB9IGZyb20gJy4vbW9kZWwvZGF0YXZpei9kYXRhdml6LWNvbmZpZ3VyYXRpb24ubW9kZWwnXG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVjb3JkQXR0YWNobWVudCB7XG4gIHVybDogVVJMXG4gIGZpbGVOYW1lOiBzdHJpbmdcbn1cbmV4cG9ydCB0eXBlIFVwbG9hZEV2ZW50ID1cbiAgfCB7XG4gICAgICB0eXBlOiAncHJvZ3Jlc3MnXG4gICAgICBwcm9ncmVzczogbnVtYmVyIC8vIGluIHBlcmNlbnRcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ3N1Y2Nlc3MnXG4gICAgICBhdHRhY2htZW50OiBSZWNvcmRBdHRhY2htZW50XG4gICAgICBzaXplQnl0ZXM6IG51bWJlclxuICAgIH1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBsYXRmb3JtU2VydmljZUludGVyZmFjZSB7XG4gIGFic3RyYWN0IGdldFR5cGUoKTogc3RyaW5nXG4gIGFic3RyYWN0IGdldEFwaVZlcnNpb24oKTogT2JzZXJ2YWJsZTxzdHJpbmc+XG5cbiAgYWJzdHJhY3Qgc3VwcG9ydHNBdXRoZW50aWNhdGlvbigpOiBib29sZWFuXG4gIGFic3RyYWN0IGdldE1lKCk6IE9ic2VydmFibGU8VXNlck1vZGVsPlxuICBhYnN0cmFjdCBpc0Fub255bW91cygpOiBPYnNlcnZhYmxlPGJvb2xlYW4+XG4gIGFic3RyYWN0IGdldFVzZXJzKCk6IE9ic2VydmFibGU8VXNlck1vZGVsW10+XG4gIGFic3RyYWN0IGdldFVzZXJzQnlPcmdhbml6YXRpb24oXG4gICAgb3JnYW5pc2F0aW9uOiBPcmdhbml6YXRpb25cbiAgKTogT2JzZXJ2YWJsZTxVc2VyTW9kZWxbXT5cbiAgYWJzdHJhY3QgZ2V0T3JnYW5pemF0aW9ucygpOiBPYnNlcnZhYmxlPE9yZ2FuaXphdGlvbltdPlxuXG4gIGFic3RyYWN0IHRyYW5zbGF0ZUtleShrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPlxuXG4gIGFic3RyYWN0IHNlYXJjaEtleXdvcmRzKFxuICAgIHF1ZXJ5OiBzdHJpbmcsXG4gICAga2V5d29yZFR5cGVzOiBLZXl3b3JkVHlwZVtdXG4gICk6IE9ic2VydmFibGU8S2V5d29yZFtdPlxuICBhYnN0cmFjdCBnZXRLZXl3b3Jkc0J5VXJpKHVyaTogc3RyaW5nKTogT2JzZXJ2YWJsZTxLZXl3b3JkW10+XG4gIGFic3RyYWN0IHNlYXJjaEtleXdvcmRzSW5UaGVzYXVydXMoXG4gICAgcXVlcnk6IHN0cmluZyxcbiAgICB0aGVzYXVydXNJZDogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8S2V5d29yZFtdPlxuXG4gIGFic3RyYWN0IGdldFVzZXJGZWVkYmFja3MocmVjb3JkVXVpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxVc2VyRmVlZGJhY2tbXT5cbiAgYWJzdHJhY3QgcG9zdFVzZXJGZWVkYmFja3MocmVjb3JkVXVpZDogVXNlckZlZWRiYWNrKTogT2JzZXJ2YWJsZTx2b2lkPlxuXG4gIGFic3RyYWN0IGdldFJlY29yZEF0dGFjaG1lbnRzKFxuICAgIHJlY29yZFV1aWQ6IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPFJlY29yZEF0dGFjaG1lbnRbXT5cbiAgYWJzdHJhY3QgY2xlYW5SZWNvcmRBdHRhY2htZW50cyhyZWNvcmRVdWlkOiBDYXRhbG9nUmVjb3JkKTogT2JzZXJ2YWJsZTx2b2lkPlxuICBhYnN0cmFjdCBhdHRhY2hGaWxlVG9SZWNvcmQoXG4gICAgcmVjb3JkVXVpZDogc3RyaW5nLFxuICAgIGZpbGU6IEZpbGUsXG4gICAgcmVtb3ZlRHVwbGljYXRlPzogYm9vbGVhblxuICApOiBPYnNlcnZhYmxlPFVwbG9hZEV2ZW50PlxuICBhYnN0cmFjdCBnZXRGaWxlQ29udGVudCh1cmw6IFVSTCk6IE9ic2VydmFibGU8YW55PlxuICBhYnN0cmFjdCBnZXRGZWVkYmFja3NBbGxvd2VkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj5cbn1cbiJdfQ==
@@ -0,0 +1,55 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { AutocompleteComponent, BadgeComponent, DropdownMultiselectComponent, } from '../../../../../../../../../libs/ui/inputs/src';
4
+ import { NgIconComponent } from '@ng-icons/core';
5
+ import { INSPIRE_TOPICS } from '../../../../fields.config';
6
+ import { TranslatePipe, TranslateService } from '@ngx-translate/core';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@ngx-translate/core";
9
+ import * as i2 from "@angular/common";
10
+ export class FormFieldTopicsComponent {
11
+ set value(topics) {
12
+ this.topics = topics;
13
+ }
14
+ constructor(translateService) {
15
+ this.translateService = translateService;
16
+ this.topics = [];
17
+ this.valueChange = new EventEmitter();
18
+ this.availableTopics = INSPIRE_TOPICS.map((topic) => {
19
+ return {
20
+ label: this.translateService.instant(topic.label),
21
+ value: topic.value,
22
+ };
23
+ });
24
+ }
25
+ handleItemSelection(selectedItems) {
26
+ this.topics = selectedItems;
27
+ this.valueChange.emit(this.topics);
28
+ }
29
+ removeTopic(topic) {
30
+ this.topics = this.topics.filter((t) => t !== topic);
31
+ this.valueChange.emit(this.topics);
32
+ }
33
+ getTranslatedTopic(topic) {
34
+ const topicKey = this.availableTopics.find((avail) => avail.value === topic)?.label;
35
+ return topicKey ? this.translateService.instant(topicKey) : '';
36
+ }
37
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldTopicsComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
38
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldTopicsComponent, isStandalone: true, selector: "gn-ui-form-field-topics", inputs: { value: "value" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"flex flex-col gap-3\">\n <div class=\"flex flex-col gap-4\">\n <gn-ui-dropdown-multiselect\n class=\"w-full\"\n [title]=\"'editor.record.form.topics.placeholder' | translate\"\n [maxRows]=\"6\"\n [selected]=\"topics\"\n [choices]=\"availableTopics || []\"\n [allowSearch]=\"true\"\n (selectValues)=\"handleItemSelection($event)\"\n >\n </gn-ui-dropdown-multiselect>\n <div class=\"flex gap-2 flex-wrap\">\n <gn-ui-badge\n *ngFor=\"let topic of topics\"\n [removable]=\"true\"\n (badgeRemoveClicked)=\"removeTopic(topic)\"\n >{{ getTranslatedTopic(topic) }}\n </gn-ui-badge>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: BadgeComponent, selector: "gn-ui-badge", inputs: ["clickable", "removable"], outputs: ["badgeRemoveClicked"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: DropdownMultiselectComponent, selector: "gn-ui-dropdown-multiselect", inputs: ["title", "choices", "selected", "allowSearch", "maxRows", "searchInputValue"], outputs: ["selectValues"] }] }); }
39
+ }
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldTopicsComponent, decorators: [{
41
+ type: Component,
42
+ args: [{ selector: 'gn-ui-form-field-topics', standalone: true, imports: [
43
+ CommonModule,
44
+ AutocompleteComponent,
45
+ NgIconComponent,
46
+ BadgeComponent,
47
+ TranslatePipe,
48
+ DropdownMultiselectComponent,
49
+ ], template: "<div class=\"flex flex-col gap-3\">\n <div class=\"flex flex-col gap-4\">\n <gn-ui-dropdown-multiselect\n class=\"w-full\"\n [title]=\"'editor.record.form.topics.placeholder' | translate\"\n [maxRows]=\"6\"\n [selected]=\"topics\"\n [choices]=\"availableTopics || []\"\n [allowSearch]=\"true\"\n (selectValues)=\"handleItemSelection($event)\"\n >\n </gn-ui-dropdown-multiselect>\n <div class=\"flex gap-2 flex-wrap\">\n <gn-ui-badge\n *ngFor=\"let topic of topics\"\n [removable]=\"true\"\n (badgeRemoveClicked)=\"removeTopic(topic)\"\n >{{ getTranslatedTopic(topic) }}\n </gn-ui-badge>\n </div>\n </div>\n</div>\n" }]
50
+ }], ctorParameters: () => [{ type: i1.TranslateService }], propDecorators: { value: [{
51
+ type: Input
52
+ }], valueChange: [{
53
+ type: Output
54
+ }] } });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC10b3BpY3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvcmVjb3JkLWZvcm0vZm9ybS1maWVsZC9mb3JtLWZpZWxkLXRvcGljcy9mb3JtLWZpZWxkLXRvcGljcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmQtZm9ybS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQtdG9waWNzL2Zvcm0tZmllbGQtdG9waWNzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsY0FBYyxFQUNkLDRCQUE0QixHQUM3QixNQUFNLCtDQUErQyxDQUFBO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBOzs7O0FBZ0JyRSxNQUFNLE9BQU8sd0JBQXdCO0lBRW5DLElBQWEsS0FBSyxDQUFDLE1BQWdCO1FBQ2pDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFBO0lBQ3RCLENBQUM7SUFTRCxZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVp0RCxXQUFNLEdBQUcsRUFBRSxDQUFBO1FBSUQsZ0JBQVcsR0FBMkIsSUFBSSxZQUFZLEVBQUUsQ0FBQTtRQUNsRSxvQkFBZSxHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUM3QyxPQUFPO2dCQUNMLEtBQUssRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7Z0JBQ2pELEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSzthQUNuQixDQUFBO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFFdUQsQ0FBQztJQUUxRCxtQkFBbUIsQ0FBQyxhQUF1QjtRQUN6QyxJQUFJLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQTtRQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDcEMsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFhO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQTtRQUNwRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDcEMsQ0FBQztJQUVELGtCQUFrQixDQUFDLEtBQWE7UUFDOUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQ3hDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FDakMsRUFBRSxLQUFLLENBQUE7UUFDUixPQUFPLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO0lBQ2hFLENBQUM7K0dBOUJVLHdCQUF3QjttR0FBeEIsd0JBQXdCLHdKQ3pCckMsa3NCQXNCQSx5RERQSSxZQUFZLDRKQUdaLGNBQWMsd0hBQ2QsYUFBYSxrREFDYiw0QkFBNEI7OzRGQUtuQix3QkFBd0I7a0JBZHBDLFNBQVM7K0JBQ0UseUJBQXlCLGNBQ3ZCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLHFCQUFxQjt3QkFDckIsZUFBZTt3QkFDZixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsNEJBQTRCO3FCQUM3QjtxRkFNWSxLQUFLO3NCQUFqQixLQUFLO2dCQUdJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQge1xuICBBdXRvY29tcGxldGVDb21wb25lbnQsXG4gIEJhZGdlQ29tcG9uZW50LFxuICBEcm9wZG93bk11bHRpc2VsZWN0Q29tcG9uZW50LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMnXG5pbXBvcnQgeyBOZ0ljb25Db21wb25lbnQgfSBmcm9tICdAbmctaWNvbnMvY29yZSdcbmltcG9ydCB7IElOU1BJUkVfVE9QSUNTIH0gZnJvbSAnLi4vLi4vLi4vLi4vZmllbGRzLmNvbmZpZydcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1mb3JtLWZpZWxkLXRvcGljcycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQXV0b2NvbXBsZXRlQ29tcG9uZW50LFxuICAgIE5nSWNvbkNvbXBvbmVudCxcbiAgICBCYWRnZUNvbXBvbmVudCxcbiAgICBUcmFuc2xhdGVQaXBlLFxuICAgIERyb3Bkb3duTXVsdGlzZWxlY3RDb21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWZpZWxkLXRvcGljcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9mb3JtLWZpZWxkLXRvcGljcy5jb21wb25lbnQuY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUZpZWxkVG9waWNzQ29tcG9uZW50IHtcbiAgdG9waWNzID0gW11cbiAgQElucHV0KCkgc2V0IHZhbHVlKHRvcGljczogc3RyaW5nW10pIHtcbiAgICB0aGlzLnRvcGljcyA9IHRvcGljc1xuICB9XG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZ1tdPiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICBhdmFpbGFibGVUb3BpY3MgPSBJTlNQSVJFX1RPUElDUy5tYXAoKHRvcGljKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCh0b3BpYy5sYWJlbCksXG4gICAgICB2YWx1ZTogdG9waWMudmFsdWUsXG4gICAgfVxuICB9KVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSkge31cblxuICBoYW5kbGVJdGVtU2VsZWN0aW9uKHNlbGVjdGVkSXRlbXM6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy50b3BpY3MgPSBzZWxlY3RlZEl0ZW1zXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudG9waWNzKVxuICB9XG5cbiAgcmVtb3ZlVG9waWModG9waWM6IHN0cmluZykge1xuICAgIHRoaXMudG9waWNzID0gdGhpcy50b3BpY3MuZmlsdGVyKCh0KSA9PiB0ICE9PSB0b3BpYylcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy50b3BpY3MpXG4gIH1cblxuICBnZXRUcmFuc2xhdGVkVG9waWModG9waWM6IHN0cmluZykge1xuICAgIGNvbnN0IHRvcGljS2V5ID0gdGhpcy5hdmFpbGFibGVUb3BpY3MuZmluZChcbiAgICAgIChhdmFpbCkgPT4gYXZhaWwudmFsdWUgPT09IHRvcGljXG4gICAgKT8ubGFiZWxcbiAgICByZXR1cm4gdG9waWNLZXkgPyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCh0b3BpY0tleSkgOiAnJ1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtM1wiPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtNFwiPlxuICAgIDxnbi11aS1kcm9wZG93bi1tdWx0aXNlbGVjdFxuICAgICAgY2xhc3M9XCJ3LWZ1bGxcIlxuICAgICAgW3RpdGxlXT1cIidlZGl0b3IucmVjb3JkLmZvcm0udG9waWNzLnBsYWNlaG9sZGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbbWF4Um93c109XCI2XCJcbiAgICAgIFtzZWxlY3RlZF09XCJ0b3BpY3NcIlxuICAgICAgW2Nob2ljZXNdPVwiYXZhaWxhYmxlVG9waWNzIHx8IFtdXCJcbiAgICAgIFthbGxvd1NlYXJjaF09XCJ0cnVlXCJcbiAgICAgIChzZWxlY3RWYWx1ZXMpPVwiaGFuZGxlSXRlbVNlbGVjdGlvbigkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9nbi11aS1kcm9wZG93bi1tdWx0aXNlbGVjdD5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtMiBmbGV4LXdyYXBcIj5cbiAgICAgIDxnbi11aS1iYWRnZVxuICAgICAgICAqbmdGb3I9XCJsZXQgdG9waWMgb2YgdG9waWNzXCJcbiAgICAgICAgW3JlbW92YWJsZV09XCJ0cnVlXCJcbiAgICAgICAgKGJhZGdlUmVtb3ZlQ2xpY2tlZCk9XCJyZW1vdmVUb3BpYyh0b3BpYylcIlxuICAgICAgICA+e3sgZ2V0VHJhbnNsYXRlZFRvcGljKHRvcGljKSB9fVxuICAgICAgPC9nbi11aS1iYWRnZT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==