@hmcts/ccd-case-ui-toolkit 7.1.63-service-message → 7.1.63
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.
- package/esm2022/lib/app.config.mjs +2 -1
- package/esm2022/lib/components/header/header-bar/header-bar.component.mjs +4 -5
- package/esm2022/lib/shared/components/case-history/case-history.component.mjs +3 -3
- package/esm2022/lib/shared/components/case-list/case-list.component.mjs +56 -51
- package/esm2022/lib/shared/components/case-viewer/case-basic-access-view/case-basic-access-view.component.mjs +5 -6
- package/esm2022/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.mjs +6 -8
- package/esm2022/lib/shared/components/case-viewer/printer/case-printer.component.mjs +9 -10
- package/esm2022/lib/shared/components/case-viewer/services/case.resolver.mjs +8 -1
- package/esm2022/lib/shared/components/case-viewer/services/event-trigger.resolver.mjs +8 -4
- package/esm2022/lib/shared/components/error/callback-errors.component.mjs +7 -9
- package/esm2022/lib/shared/components/pagination/pagination.component.mjs +14 -14
- package/esm2022/lib/shared/components/palette/base-field/abstract-form-field.component.mjs +4 -1
- package/esm2022/lib/shared/components/palette/base-field/field-read-label.component.mjs +2 -5
- package/esm2022/lib/shared/components/palette/base-field/field-read.component.mjs +4 -8
- package/esm2022/lib/shared/components/palette/case-file-view/components/case-file-view-folder-selector/case-file-view-folder-selector.component.mjs +6 -6
- package/esm2022/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu.component.mjs +17 -10
- package/esm2022/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.mjs +48 -49
- package/esm2022/lib/shared/components/palette/complex/read-complex-field-collection-table.component.mjs +9 -7
- package/esm2022/lib/shared/components/palette/complex/read-complex-field-raw.component.mjs +3 -3
- package/esm2022/lib/shared/components/palette/complex/write-complex-field.component.mjs +26 -16
- package/esm2022/lib/shared/components/palette/dynamic-list/write-dynamic-list-field.component.mjs +4 -4
- package/esm2022/lib/shared/components/palette/label/label-field.component.mjs +16 -11
- package/esm2022/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.mjs +3 -3
- package/esm2022/lib/shared/components/palette/markdown/markdown.component.mjs +36 -26
- package/esm2022/lib/shared/components/palette/palette.module.mjs +2 -2
- package/esm2022/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.mjs +72 -12
- package/esm2022/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.mjs +100 -99
- package/esm2022/lib/shared/components/palette/query-management/enums/raise-query-error-message.enum.mjs +2 -1
- package/esm2022/lib/shared/components/palette/query-management/utils/query-management.utils.mjs +4 -3
- package/esm2022/lib/shared/components/palette/text/read-text-field.component.mjs +5 -7
- package/esm2022/lib/shared/components/palette/text-area/read-text-area-field.component.mjs +5 -7
- package/esm2022/lib/shared/components/search-result/search-result.component.mjs +13 -8
- package/esm2022/lib/shared/directives/substitutor/label-substitutor.directive.mjs +25 -5
- package/esm2022/lib/shared/directives/substitutor/services/placeholder.service.mjs +2 -1
- package/esm2022/lib/shared/domain/definition/case-field.model.mjs +8 -1
- package/esm2022/lib/shared/services/document-management/document-management.service.mjs +17 -5
- package/esm2022/lib/shared/services/fields/fields.utils.mjs +6 -1
- package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +565 -419
- package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
- package/lib/app.config.d.ts +2 -0
- package/lib/app.config.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +0 -1
- package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/services/case.resolver.d.ts +1 -0
- package/lib/shared/components/case-viewer/services/case.resolver.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/services/event-trigger.resolver.d.ts.map +1 -1
- package/lib/shared/components/palette/base-field/abstract-form-field.component.d.ts +1 -0
- package/lib/shared/components/palette/base-field/abstract-form-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/base-field/field-read-label.component.d.ts +1 -2
- package/lib/shared/components/palette/base-field/field-read-label.component.d.ts.map +1 -1
- package/lib/shared/components/palette/base-field/field-read.component.d.ts +1 -2
- package/lib/shared/components/palette/base-field/field-read.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu.component.d.ts +1 -0
- package/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu.component.d.ts.map +1 -1
- package/lib/shared/components/palette/complex/read-complex-field-raw.component.d.ts.map +1 -1
- package/lib/shared/components/palette/label/label-field.component.d.ts +1 -2
- package/lib/shared/components/palette/label/label-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/markdown/markdown.component.d.ts +5 -5
- package/lib/shared/components/palette/markdown/markdown.component.d.ts.map +1 -1
- package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts +9 -0
- package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts.map +1 -1
- package/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.d.ts +3 -2
- package/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.d.ts.map +1 -1
- package/lib/shared/components/palette/query-management/enums/raise-query-error-message.enum.d.ts +1 -0
- package/lib/shared/components/palette/query-management/enums/raise-query-error-message.enum.d.ts.map +1 -1
- package/lib/shared/components/palette/query-management/utils/query-management.utils.d.ts +1 -0
- package/lib/shared/components/palette/query-management/utils/query-management.utils.d.ts.map +1 -1
- package/lib/shared/components/search-result/search-result.component.d.ts +1 -0
- package/lib/shared/components/search-result/search-result.component.d.ts.map +1 -1
- package/lib/shared/directives/substitutor/label-substitutor.directive.d.ts +3 -1
- package/lib/shared/directives/substitutor/label-substitutor.directive.d.ts.map +1 -1
- package/lib/shared/directives/substitutor/services/placeholder.service.d.ts.map +1 -1
- package/lib/shared/domain/definition/case-field.model.d.ts +3 -0
- package/lib/shared/domain/definition/case-field.model.d.ts.map +1 -1
- package/lib/shared/services/document-management/document-management.service.d.ts +3 -1
- package/lib/shared/services/document-management/document-management.service.d.ts.map +1 -1
- package/lib/shared/services/fields/fields.utils.d.ts +1 -0
- package/lib/shared/services/fields/fields.utils.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -2,6 +2,7 @@ import { Injectable } from '@angular/core';
|
|
|
2
2
|
import { FieldsUtils } from '../../../services/fields/fields.utils';
|
|
3
3
|
import { FormValueService } from '../../../services/form/form-value.service';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
+
// This class implements ccd Field Interpolation
|
|
5
6
|
// @dynamic
|
|
6
7
|
export class PlaceholderService {
|
|
7
8
|
resolvePlaceholders(pageFormFields, stringToResolve) {
|
|
@@ -206,4 +207,4 @@ ___
|
|
|
206
207
|
}
|
|
207
208
|
PlaceholderService.PlaceholderSubstitutor = PlaceholderSubstitutor;
|
|
208
209
|
})(PlaceholderService || (PlaceholderService = {}));
|
|
209
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Vob2xkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvZGlyZWN0aXZlcy9zdWJzdGl0dXRvci9zZXJ2aWNlcy9wbGFjZWhvbGRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOztBQUU3RSxXQUFXO0FBRVgsTUFBTSxPQUFPLGtCQUFrQjtJQUVwQixtQkFBbUIsQ0FBQyxjQUFzQixFQUFFLGVBQXVCO1FBQ3RFLE1BQU0sRUFBRSxHQUFHLElBQUksa0JBQWtCLENBQUMsc0JBQXNCLENBQUMsRUFBQyxjQUFjLEVBQUUsZUFBZSxFQUFDLENBQUMsQ0FBQztRQUM1RixPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQ3BDLENBQUM7NEVBTFEsa0JBQWtCO2dFQUFsQixrQkFBa0IsV0FBbEIsa0JBQWtCOztpRkFBbEIsa0JBQWtCO2NBRDlCLFVBQVU7O0FBVVgsV0FBaUIsa0JBQWtCO0lBQy9CLE1BQWEsc0JBQXNCO1FBQ3ZCLE1BQU0sQ0FBVSwyQkFBMkIsR0FBRyxzQkFBc0IsQ0FBQztRQUNyRSxNQUFNLENBQVUsbUJBQW1CLEdBQUcsMEJBQTBCLENBQUM7UUFDakUsTUFBTSxDQUFVLG9CQUFvQixHQUFHLEdBQUcsQ0FBQztRQUMzQyxNQUFNLENBQVUsbUJBQW1CLEdBQUcsR0FBRyxDQUFDO1FBQzFDLE1BQU0sQ0FBVSxtQkFBbUIsR0FBRyxHQUFHLENBQUM7UUFDMUMsTUFBTSxDQUFVLFFBQVEsR0FBRzs7Q0FFMUMsQ0FBQztRQUVjLE1BQU0sQ0FBVSxpQkFBaUIsR0FDckMsc0JBQXNCLENBQUMsb0JBQW9CLEdBQUcsc0JBQXNCLENBQUMsbUJBQW1CLENBQUM7UUFDckYsTUFBTSxDQUFVLGVBQWUsR0FBRyxzQkFBc0IsQ0FBQyxtQkFBbUIsQ0FBQztRQUU3RSxlQUFlLENBQVM7UUFDeEIsU0FBUyxDQUFTO1FBQ2xCLGtDQUFrQyxDQUFTO1FBQzNDLG1CQUFtQixDQUFTO1FBQzVCLG1CQUFtQixDQUFTO1FBQzVCLHNCQUFzQixDQUFTO1FBQy9CLFlBQVksQ0FBVTtRQUNiLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztRQUN4QixjQUFjLENBQVM7UUFDdkIsdUJBQXVCLENBQVM7UUFFekMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFXO1lBQ3RDLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNwRSxDQUFDO1FBRUQsWUFBWSxNQUEyRDtZQUNuRSxJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUM7WUFDOUMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUM7WUFDdEQsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDO1FBQ2hELENBQUM7UUFFTSxtQkFBbUI7WUFDdEIsT0FBTyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsRUFBRSxDQUFDO2dCQUNyQyxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztnQkFDbkMsT0FBTyxJQUFJLENBQUMscUNBQXFDLEVBQUUsRUFBRSxDQUFDO29CQUNsRCxPQUFPLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxFQUFFLENBQUM7d0JBQ3RDLElBQUksSUFBSSxDQUFDLGtDQUFrQyxFQUFFLEVBQUUsQ0FBQzs0QkFDNUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7d0JBQzlCLENBQUM7NkJBQU0sSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7NEJBQzNCLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFLEVBQUUsQ0FBQztnQ0FDOUIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDOzRCQUN0QixDQUFDO2lDQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxDQUFDO2dDQUN0QyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7NEJBQzNCLENBQUM7d0JBQ0wsQ0FBQzt3QkFDRCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7b0JBQ3JCLENBQUM7b0JBQ0QsSUFBSSxDQUFDLGlEQUFpRCxFQUFFLENBQUM7Z0JBQzdELENBQUM7WUFDTCxDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQ2hDLENBQUM7UUFFTyx5QkFBeUI7WUFDN0IsT0FBTyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDO1FBQ3hELENBQUM7UUFFTyxxQ0FBcUM7WUFDekMsT0FBTyxJQUFJLENBQUMsa0NBQWtDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDekQsQ0FBQztRQUVPLHdCQUF3QjtZQUM1QixPQUFPLElBQUksQ0FBQyxlQUFlO21CQUNwQixPQUFPLElBQUksQ0FBQyxlQUFlLEtBQUssUUFBUTttQkFDeEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDcEYsQ0FBQztRQUVPLGtDQUFrQztZQUN0QyxPQUFPLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUM5RCxDQUFDO1FBRU8sb0JBQW9CO1lBQ3hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLHNCQUFzQixDQUFDLG1CQUFtQixDQUFDO1FBQ3RHLENBQUM7UUFFTyxvQkFBb0I7WUFDeEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssc0JBQXNCLENBQUMsbUJBQW1CLENBQUM7UUFDdEcsQ0FBQztRQUVPLDJCQUEyQjtZQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztZQUNuQixJQUFJLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxDQUFDO1lBQzVDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxDQUFDLENBQUM7WUFDN0IsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsc0JBQXNCLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDakMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7WUFDMUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUMzRCxDQUFDO1FBRU8sVUFBVTtZQUNkLElBQUksSUFBSSxDQUFDLDRCQUE0QixFQUFFLElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFLEVBQUUsQ0FBQztnQkFDdEUsSUFBSSxDQUFDLDBDQUEwQyxFQUFFLENBQUM7Z0JBQ2xELElBQUksSUFBSSxDQUFDLG9DQUFvQyxFQUFFLEVBQUUsQ0FBQztvQkFDOUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7Z0JBQ3JDLENBQUM7cUJBQU0sQ0FBQztvQkFDSixJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztnQkFDcEMsQ0FBQztZQUNMLENBQUM7aUJBQU0sQ0FBQztnQkFDSixJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztZQUNyQyxDQUFDO1lBQ0QsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7WUFDMUIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEVBQUUsQ0FBQztRQUNsQyxDQUFDO1FBRU8saURBQWlEO1lBQ3JELElBQUksSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxrQ0FBa0MsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDekUsSUFBSSxDQUFDLGVBQWUsSUFBSSxzQkFBc0IsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDO2dCQUN2RixJQUFJLENBQUMsbUJBQW1CLElBQUksQ0FBQyxDQUFDO2dCQUM5QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQzNELENBQUM7UUFDTCxDQUFDO1FBRU8sa0JBQWtCO1lBQ3RCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2pELENBQUM7UUFFTyxlQUFlO1lBQ25CLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUUsQ0FBQztRQUVPLDRCQUE0QjtZQUNoQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFDaEcsQ0FBQztRQUVPLHFCQUFxQjtZQUN6QixPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsS0FBSyxTQUFTLENBQUM7UUFDOUMsQ0FBQztRQUVPLG9DQUFvQztZQUN4QyxNQUFNLFdBQVcsR0FBRyxzQkFBc0IsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDckYsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7WUFDakQsT0FBTyxXQUFXLEtBQUssS0FBSyxDQUFDO1FBQ2pDLENBQUM7UUFFTyxnQ0FBZ0M7WUFDcEMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwSCxDQUFDO1FBRUQ7Ozs7V0FJRztRQUNLLGFBQWE7WUFDakIsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQztnQkFDOUUsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDdkYsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLE1BQU0sVUFBVSxHQUFHLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztnQkFDM0gsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLFVBQVUsQ0FBQztnQkFDekYsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDdkYsQ0FBQztRQUNMLENBQUM7UUFFTywyQkFBMkI7WUFDL0IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3hDLE9BQU8sVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN4QyxDQUFDO1FBRU8sK0JBQStCO1lBQ25DLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDckQsSUFBSSxtQkFBbUIsR0FBRyxXQUFXLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUN2RSxJQUFJLGtDQUFrQyxHQUFHLENBQUMsQ0FBQztZQUUzQywyQkFBMkI7WUFDM0IsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztnQkFDbkQsSUFBSSxXQUFXLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQztvQkFDaEQsa0NBQWtDLEdBQUcsbUJBQW1CLENBQUMsTUFBTSxDQUFDO29CQUNoRSxNQUFNO2dCQUNWLENBQUM7cUJBQU0sSUFBSSxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxTQUFTLEVBQUUsQ0FBQztvQkFDNUQsTUFBTTtnQkFDVixDQUFDO3FCQUFNLENBQUM7b0JBQ0osbUJBQW1CLEdBQUcsbUJBQW1CLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQy9ELENBQUM7WUFDTCxDQUFDO1lBQ0QsT0FBTyxrQ0FBa0MsQ0FBQztRQUM5QyxDQUFDO1FBRU8scUJBQXFCO1lBQ3pCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLHNCQUFzQixDQUFDLG9CQUFvQixDQUFDO1FBQ3ZHLENBQUM7UUFFTywwQ0FBMEM7WUFDOUMsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDakQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLCtCQUErQixFQUFFLENBQUM7Z0JBQ3pELElBQUksQ0FBQyxrQ0FBa0MsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsa0NBQWtDLENBQUMsQ0FBQztZQUMzRyxDQUFDO1FBQ0wsQ0FBQztRQUVPLHdCQUF3QjtZQUM1QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDLENBQUM7WUFDeEQsSUFBSSxDQUFDLCtCQUErQixFQUFFLENBQUM7UUFDM0MsQ0FBQztRQUVPLHlCQUF5QjtZQUM3QixJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDO1FBQ2pELENBQUM7UUFFTyxjQUFjLENBQUMsS0FBYTtZQUNoQyxNQUFNLFdBQVcsR0FBRyxzQkFBc0IsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDckYsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUMvRyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDakgsQ0FBQztRQUVPLCtCQUErQjtZQUNuQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsZ0NBQWdDLEVBQUUsQ0FBQztRQUMzRixDQUFDOztJQW5OUSx5Q0FBc0IseUJBb05sQyxDQUFBO0FBQ0wsQ0FBQyxFQXROZ0Isa0JBQWtCLEtBQWxCLGtCQUFrQixRQXNObEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEZpZWxkc1V0aWxzIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZmllbGRzL2ZpZWxkcy51dGlscyc7XG5pbXBvcnQgeyBGb3JtVmFsdWVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZm9ybS9mb3JtLXZhbHVlLnNlcnZpY2UnO1xuXG4vLyBAZHluYW1pY1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFBsYWNlaG9sZGVyU2VydmljZSB7XG5cbiAgICBwdWJsaWMgcmVzb2x2ZVBsYWNlaG9sZGVycyhwYWdlRm9ybUZpZWxkczogb2JqZWN0LCBzdHJpbmdUb1Jlc29sdmU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHBzID0gbmV3IFBsYWNlaG9sZGVyU2VydmljZS5QbGFjZWhvbGRlclN1YnN0aXR1dG9yKHtwYWdlRm9ybUZpZWxkcywgc3RyaW5nVG9SZXNvbHZlfSk7XG4gICAgICAgIHJldHVybiBwcy5yZXNvbHZlUGxhY2Vob2xkZXJzKCk7XG4gICAgfVxuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUGxhY2Vob2xkZXJTZXJ2aWNlIHtcbiAgICBleHBvcnQgY2xhc3MgUGxhY2Vob2xkZXJTdWJzdGl0dXRvciB7XG4gICAgICAgIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFBMQUNFSE9MREVSX0NPTlRFTlRfUEFUVEVSTiA9IC9eW2EtekEtWjAtOV8uXFxdXFxbXSskLztcbiAgICAgICAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgUExBQ0VIT0xERVJfUEFUVEVSTiA9IC9cXCRcXHtbYS16QS1aMC05Xy5cXF1cXFtdK1xcfS87XG4gICAgICAgIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFNUQVJUSU5HX1BMQUNFSE9MREVSID0gJyQnO1xuICAgICAgICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBDTE9TSU5HX1BMQUNFSE9MREVSID0gJ30nO1xuICAgICAgICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBPUEVOSU5HX1BMQUNFSE9MREVSID0gJ3snO1xuICAgICAgICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBORVdfTElORSA9IGBcbl9fX1xuYDtcblxuICAgICAgICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBQTEFDRUhPTERFUl9TVEFSVCA9XG4gICAgICAgICAgICBQbGFjZWhvbGRlclN1YnN0aXR1dG9yLlNUQVJUSU5HX1BMQUNFSE9MREVSICsgUGxhY2Vob2xkZXJTdWJzdGl0dXRvci5PUEVOSU5HX1BMQUNFSE9MREVSO1xuICAgICAgICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBQTEFDRUhPTERFUl9FTkQgPSBQbGFjZWhvbGRlclN1YnN0aXR1dG9yLkNMT1NJTkdfUExBQ0VIT0xERVI7XG5cbiAgICAgICAgcHJpdmF0ZSBzdHJpbmdUb1Jlc29sdmU6IHN0cmluZztcbiAgICAgICAgcHJpdmF0ZSBzY2FuSW5kZXg6IG51bWJlcjtcbiAgICAgICAgcHJpdmF0ZSBudW1iZXJDb2xsZWN0aW9uSXRlbXNBc1BsYWNlaG9sZGVyOiBudW1iZXI7XG4gICAgICAgIHByaXZhdGUgY29sbGVjdGlvbkl0ZW1JbmRleDogbnVtYmVyO1xuICAgICAgICBwcml2YXRlIGZpZWxkSWRUb1N1YnN0aXR1dGU6IHN0cmluZztcbiAgICAgICAgcHJpdmF0ZSBzdGFydFN1YnN0aXR1dGlvbkluZGV4OiBudW1iZXI7XG4gICAgICAgIHByaXZhdGUgaXNDb2xsZWN0aW5nOiBib29sZWFuO1xuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJlc29sdmVkRm9ybVZhbHVlcyA9IFtdO1xuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHBhZ2VGb3JtRmllbGRzOiBvYmplY3Q7XG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgb3JpZ2luYWxTdHJpbmdUb1Jlc29sdmU6IHN0cmluZztcblxuICAgICAgICBwcml2YXRlIHN0YXRpYyB3cmFwUGxhY2Vob2xkZXIoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICAgICAgcmV0dXJuIGAke3RoaXMuUExBQ0VIT0xERVJfU1RBUlR9JHtzdHJ9JHt0aGlzLlBMQUNFSE9MREVSX0VORH1gO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3RydWN0b3IodmFsdWVzOiB7IHN0cmluZ1RvUmVzb2x2ZTogc3RyaW5nLCBwYWdlRm9ybUZpZWxkczogb2JqZWN0IH0pIHtcbiAgICAgICAgICAgIHRoaXMuc3RyaW5nVG9SZXNvbHZlID0gdmFsdWVzLnN0cmluZ1RvUmVzb2x2ZTtcbiAgICAgICAgICAgIHRoaXMub3JpZ2luYWxTdHJpbmdUb1Jlc29sdmUgPSB2YWx1ZXMuc3RyaW5nVG9SZXNvbHZlO1xuICAgICAgICAgICAgdGhpcy5wYWdlRm9ybUZpZWxkcyA9IHZhbHVlcy5wYWdlRm9ybUZpZWxkcztcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyByZXNvbHZlUGxhY2Vob2xkZXJzKCk6IHN0cmluZyB7XG4gICAgICAgICAgICB3aGlsZSAodGhpcy5oYXNVbnJlc29sdmVkUGxhY2Vob2xkZXIoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVzZXRQbGFjZWhvbGRlclN1YnN0aXR1dG9yKCk7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHRoaXMuZG9lc1BsYWNlaG9sZGVyQ29udGFpbkNvbGxlY3Rpb25JdGVtcygpKSB7XG4gICAgICAgICAgICAgICAgICAgIHdoaWxlICh0aGlzLmlzU2Nhbm5pbmdTdHJpbmdUb1Jlc29sdmUoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNTdGFydFBsYWNlaG9sZGVyQW5kTm90Q29sbGVjdGluZygpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGFydENvbGxlY3RpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0NvbGxlY3RpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pc0Nsb3NpbmdQbGFjZWhvbGRlcigpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3Vic3RpdHV0ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIXRoaXMuaXNPcGVuaW5nUGxhY2Vob2xkZXIoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFwcGVuZENoYXJhY3RlcigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2NhbkluZGV4Kys7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hcHBlbmRPcmlnaW5hbFN0cmluZ0lmQ29sbGVjdGlvbkl0ZW1Bc1BsYWNlaG9sZGVyKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3RyaW5nVG9SZXNvbHZlO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJpdmF0ZSBpc1NjYW5uaW5nU3RyaW5nVG9SZXNvbHZlKCk6IGJvb2xlYW4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2NhbkluZGV4IDwgdGhpcy5zdHJpbmdUb1Jlc29sdmUubGVuZ3RoO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJpdmF0ZSBkb2VzUGxhY2Vob2xkZXJDb250YWluQ29sbGVjdGlvbkl0ZW1zKCk6IGJvb2xlYW4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtYmVyQ29sbGVjdGlvbkl0ZW1zQXNQbGFjZWhvbGRlci0tID4gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHByaXZhdGUgaGFzVW5yZXNvbHZlZFBsYWNlaG9sZGVyKCk6IGJvb2xlYW4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3RyaW5nVG9SZXNvbHZlXG4gICAgICAgICAgICAgICAgJiYgdHlwZW9mIHRoaXMuc3RyaW5nVG9SZXNvbHZlID09PSAnc3RyaW5nJ1xuICAgICAgICAgICAgICAgICYmICEhdGhpcy5zdHJpbmdUb1Jlc29sdmUubWF0Y2goUGxhY2Vob2xkZXJTdWJzdGl0dXRvci5QTEFDRUhPTERFUl9QQVRURVJOKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHByaXZhdGUgaXNTdGFydFBsYWNlaG9sZGVyQW5kTm90Q29sbGVjdGluZygpOiBib29sZWFuIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmlzU3RhcnRpbmdQbGFjZWhvbGRlcigpICYmICF0aGlzLmlzQ29sbGVjdGluZztcbiAgICAgICAgfVxuXG4gICAgICAgIHByaXZhdGUgaXNPcGVuaW5nUGxhY2Vob2xkZXIoKTogYm9vbGVhbiB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zdHJpbmdUb1Jlc29sdmUuY2hhckF0KHRoaXMuc2NhbkluZGV4KSA9PT0gUGxhY2Vob2xkZXJTdWJzdGl0dXRvci5PUEVOSU5HX1BMQUNFSE9MREVSO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJpdmF0ZSBpc0Nsb3NpbmdQbGFjZWhvbGRlcigpOiBib29sZWFuIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnN0cmluZ1RvUmVzb2x2ZS5jaGFyQXQodGhpcy5zY2FuSW5kZXgpID09PSBQbGFjZWhvbGRlclN1YnN0aXR1dG9yLkNMT1NJTkdfUExBQ0VIT0xERVI7XG4gICAgICAgIH1cblxuICAgICAgICBwcml2YXRlIHJlc2V0UGxhY2Vob2xkZXJTdWJzdGl0dXRvcigpOiB2b2lkIHtcbiAgICAgICAgICAgIHRoaXMuc2NhbkluZGV4ID0gMDtcbiAgICAgICAgICAgIHRoaXMubnVtYmVyQ29sbGVjdGlvbkl0ZW1zQXNQbGFjZWhvbGRlciA9IDE7XG4gICAgICAgICAgICB0aGlzLmNvbGxlY3Rpb25JdGVtSW5kZXggPSAwO1xuICAgICAgICAgICAgdGhpcy5maWVsZElkVG9TdWJzdGl0dXRlID0gJyc7XG4gICAgICAgICAgICB0aGlzLnN0YXJ0U3Vic3RpdHV0aW9uSW5kZXggPSAtMTtcbiAgICAgICAgICAgIHRoaXMuaXNDb2xsZWN0aW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnJlc29sdmVkRm9ybVZhbHVlc1t0aGlzLmNvbGxlY3Rpb25JdGVtSW5kZXhdID0ge307XG4gICAgICAgIH1cblxuICAgICAgICBwcml2YXRlIHN1YnN0aXR1dGUoKTogdm9pZCB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc01hdGNoaW5nUGxhY2Vob2xkZXJQYXR0ZXJuKCkgJiYgdGhpcy5pc0ZpZWxkSWRJbkZvcm1GaWVsZHMoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlTnVtYmVyT2ZDb2xsZWN0aW9uSXRlbXNBc1BsYWNlaG9sZGVyKCk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNGaWVsZElkVG9TdWJzdGl0dXRlUmVmZXJyaW5nSXRzZWxmKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdWJzdGl0dXRlV2l0aEVtcHR5U3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdWJzdGl0dXRlRnJvbUZvcm1GaWVsZHMoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuc3Vic3RpdHV0ZVdpdGhFbXB0eVN0cmluZygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5pc0NvbGxlY3RpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuZmllbGRJZFRvU3Vic3RpdHV0ZSA9ICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJpdmF0ZSBhcHBlbmRPcmlnaW5hbFN0cmluZ0lmQ29sbGVjdGlvbkl0ZW1Bc1BsYWNlaG9sZGVyKCk6IHZvaWQge1xuICAgICAgICAgICAgaWYgKHRoaXMuY29sbGVjdGlvbkl0ZW1JbmRleCA8IHRoaXMubnVtYmVyQ29sbGVjdGlvbkl0ZW1zQXNQbGFjZWhvbGRlciAtIDEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0cmluZ1RvUmVzb2x2ZSArPSBQbGFjZWhvbGRlclN1YnN0aXR1dG9yLk5FV19MSU5FICsgdGhpcy5vcmlnaW5hbFN0cmluZ1RvUmVzb2x2ZTtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbGxlY3Rpb25JdGVtSW5kZXggKz0gMTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc29sdmVkRm9ybVZhbHVlc1t0aGlzLmNvbGxlY3Rpb25JdGVtSW5kZXhdID0ge307XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwcml2YXRlIHNldFN0YXJ0Q29sbGVjdGluZygpOiB2b2lkIHtcbiAgICAgICAgICAgIHRoaXMuaXNDb2xsZWN0aW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuc3RhcnRTdWJzdGl0dXRpb25JbmRleCA9IHRoaXMuc2NhbkluZGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgcHJpdmF0ZSBhcHBlbmRDaGFyYWN0ZXIoKTogdm9pZCB7XG4gICAgICAgICAgICB0aGlzLmZpZWxkSWRUb1N1YnN0aXR1dGUgKz0gdGhpcy5zdHJpbmdUb1Jlc29sdmUuY2hhckF0KHRoaXMuc2NhbkluZGV4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHByaXZhdGUgaXNNYXRjaGluZ1BsYWNlaG9sZGVyUGF0dGVybigpOiBib29sZWFuIHtcbiAgICAgICAgICAgIHJldHVybiAhIXRoaXMuZmllbGRJZFRvU3Vic3RpdHV0ZS5tYXRjaChQbGFjZWhvbGRlclN1YnN0aXR1dG9yLlBMQUNFSE9MREVSX0NPTlRFTlRfUEFUVEVSTik7XG4gICAgICAgIH1cblxuICAgICAgICBwcml2YXRlIGlzRmllbGRJZEluRm9ybUZpZWxkcygpOiBib29sZWFuIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldEZpZWxkVmFsdWUoKSAhPT0gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJpdmF0ZSBpc0ZpZWxkSWRUb1N1YnN0aXR1dGVSZWZlcnJpbmdJdHNlbGYoKTogYm9vbGVhbiB7XG4gICAgICAgICAgICBjb25zdCBwbGFjZWhvbGRlciA9IFBsYWNlaG9sZGVyU3Vic3RpdHV0b3Iud3JhcFBsYWNlaG9sZGVyKHRoaXMuZmllbGRJZFRvU3Vic3RpdHV0ZSk7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0U3Vic3RpdHV0aW9uVmFsdWVPckVtcHR5KCk7XG4gICAgICAgICAgICByZXR1cm4gcGxhY2Vob2xkZXIgPT09IHZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJpdmF0ZSBnZXRTdWJzdGl0dXRpb25WYWx1ZUxlbmd0aE9yWmVybygpOiBudW1iZXIge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucGFnZUZvcm1GaWVsZHNbdGhpcy5maWVsZElkVG9TdWJzdGl0dXRlXSA/IHRoaXMuZ2V0U3Vic3RpdHV0aW9uVmFsdWVPckVtcHR5KCkudG9TdHJpbmcoKS5sZW5ndGggOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIEdldHMgdGhlIHZhbHVlIGZyb20gYHRoaXNgIGZpZWxkLCB3aGljaCBjb3VsZCBiZSBhbnkgb2YgYSBudW1iZXIgb2YgZGlmZmVyZW50IHR5cGVzOlxuICAgICAgICAgKiAgIHN0cmluZyB8IG51bWJlciB8IG9iamVjdCB8IHN0cmluZ1tdIHwgb2JqZWN0W10gfCBtYXliZSBvdGhlcnMuLi5cbiAgICAgICAgICogQHJldHVybnMgVGhlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCBgdGhpc2AgZmllbGQuXG4gICAgICAgICAqL1xuICAgICAgICBwcml2YXRlIGdldEZpZWxkVmFsdWUoKTogYW55IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnJlc29sdmVkRm9ybVZhbHVlc1t0aGlzLmNvbGxlY3Rpb25JdGVtSW5kZXhdW3RoaXMuZmllbGRJZFRvU3Vic3RpdHV0ZV0pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5yZXNvbHZlZEZvcm1WYWx1ZXNbdGhpcy5jb2xsZWN0aW9uSXRlbUluZGV4XVt0aGlzLmZpZWxkSWRUb1N1YnN0aXR1dGVdO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWVsZFZhbHVlID0gRm9ybVZhbHVlU2VydmljZS5nZXRGaWVsZFZhbHVlKHRoaXMucGFnZUZvcm1GaWVsZHMsIHRoaXMuZmllbGRJZFRvU3Vic3RpdHV0ZSwgdGhpcy5jb2xsZWN0aW9uSXRlbUluZGV4KTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc29sdmVkRm9ybVZhbHVlc1t0aGlzLmNvbGxlY3Rpb25JdGVtSW5kZXhdW3RoaXMuZmllbGRJZFRvU3Vic3RpdHV0ZV0gPSBmaWVsZFZhbHVlO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnJlc29sdmVkRm9ybVZhbHVlc1t0aGlzLmNvbGxlY3Rpb25JdGVtSW5kZXhdW3RoaXMuZmllbGRJZFRvU3Vic3RpdHV0ZV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwcml2YXRlIGdldFN1YnN0aXR1dGlvblZhbHVlT3JFbXB0eSgpOiBzdHJpbmcge1xuICAgICAgICAgICAgY29uc3QgZmllbGRWYWx1ZSA9IHRoaXMuZ2V0RmllbGRWYWx1ZSgpO1xuICAgICAgICAgICAgcmV0dXJuIGZpZWxkVmFsdWUgPyBmaWVsZFZhbHVlIDogJyc7XG4gICAgICAgIH1cblxuICAgICAgICBwcml2YXRlIGdldE51bWJlck9mQ29sbGVjdGlvbkl0ZW1zSWZBbnkoKTogbnVtYmVyIHtcbiAgICAgICAgICAgIGNvbnN0IGZpZWxkSWRzID0gdGhpcy5maWVsZElkVG9TdWJzdGl0dXRlLnNwbGl0KCcuJyk7XG4gICAgICAgICAgICBsZXQgcGFnZUZvcm1GaWVsZHNDbG9uZSA9IEZpZWxkc1V0aWxzLmNsb25lT2JqZWN0KHRoaXMucGFnZUZvcm1GaWVsZHMpO1xuICAgICAgICAgICAgbGV0IG51bWJlckNvbGxlY3Rpb25JdGVtc0FzUGxhY2Vob2xkZXIgPSAxO1xuXG4gICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmVcbiAgICAgICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBmaWVsZElkcy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgICAgICBpZiAoRmllbGRzVXRpbHMuaXNDb2xsZWN0aW9uKHBhZ2VGb3JtRmllbGRzQ2xvbmUpKSB7XG4gICAgICAgICAgICAgICAgICAgIG51bWJlckNvbGxlY3Rpb25JdGVtc0FzUGxhY2Vob2xkZXIgPSBwYWdlRm9ybUZpZWxkc0Nsb25lLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChwYWdlRm9ybUZpZWxkc0Nsb25lW2ZpZWxkSWRzW2luZGV4XV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBwYWdlRm9ybUZpZWxkc0Nsb25lID0gcGFnZUZvcm1GaWVsZHNDbG9uZVtmaWVsZElkc1tpbmRleF1dO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBudW1iZXJDb2xsZWN0aW9uSXRlbXNBc1BsYWNlaG9sZGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJpdmF0ZSBpc1N0YXJ0aW5nUGxhY2Vob2xkZXIoKTogYm9vbGVhbiB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zdHJpbmdUb1Jlc29sdmUuY2hhckF0KHRoaXMuc2NhbkluZGV4KSA9PT0gUGxhY2Vob2xkZXJTdWJzdGl0dXRvci5TVEFSVElOR19QTEFDRUhPTERFUjtcbiAgICAgICAgfVxuXG4gICAgICAgIHByaXZhdGUgdXBkYXRlTnVtYmVyT2ZDb2xsZWN0aW9uSXRlbXNBc1BsYWNlaG9sZGVyKCk6IHZvaWQge1xuICAgICAgICAgICAgaWYgKHRoaXMuZmllbGRJZFRvU3Vic3RpdHV0ZS5zcGxpdCgnLicpLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdOdW1iZXIgPSB0aGlzLmdldE51bWJlck9mQ29sbGVjdGlvbkl0ZW1zSWZBbnkoKTtcbiAgICAgICAgICAgICAgICB0aGlzLm51bWJlckNvbGxlY3Rpb25JdGVtc0FzUGxhY2Vob2xkZXIgPSBNYXRoLm1heChuZXdOdW1iZXIsIHRoaXMubnVtYmVyQ29sbGVjdGlvbkl0ZW1zQXNQbGFjZWhvbGRlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwcml2YXRlIHN1YnN0aXR1dGVGcm9tRm9ybUZpZWxkcygpOiB2b2lkIHtcbiAgICAgICAgICAgIHRoaXMuZG9TdWJzdGl0dXRpb24odGhpcy5nZXRTdWJzdGl0dXRpb25WYWx1ZU9yRW1wdHkoKSk7XG4gICAgICAgICAgICB0aGlzLnJlc2V0U2NhbkluZGV4QWZ0ZXJTdWJzdGl0dXRpb24oKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHByaXZhdGUgc3Vic3RpdHV0ZVdpdGhFbXB0eVN0cmluZygpOiB2b2lkIHtcbiAgICAgICAgICAgIHRoaXMuZG9TdWJzdGl0dXRpb24oJycpO1xuICAgICAgICAgICAgdGhpcy5zY2FuSW5kZXggPSB0aGlzLnN0YXJ0U3Vic3RpdHV0aW9uSW5kZXg7XG4gICAgICAgIH1cblxuICAgICAgICBwcml2YXRlIGRvU3Vic3RpdHV0aW9uKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgICAgIGNvbnN0IHBsYWNlaG9sZGVyID0gUGxhY2Vob2xkZXJTdWJzdGl0dXRvci53cmFwUGxhY2Vob2xkZXIodGhpcy5maWVsZElkVG9TdWJzdGl0dXRlKTtcbiAgICAgICAgICAgIGNvbnN0IHJlcGxhY2VkU3RyaW5nID0gdGhpcy5zdHJpbmdUb1Jlc29sdmUuc3Vic3RyaW5nKHRoaXMuc3RhcnRTdWJzdGl0dXRpb25JbmRleCkucmVwbGFjZShwbGFjZWhvbGRlciwgdmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5zdHJpbmdUb1Jlc29sdmUgPSB0aGlzLnN0cmluZ1RvUmVzb2x2ZS5zdWJzdHJpbmcoMCwgdGhpcy5zdGFydFN1YnN0aXR1dGlvbkluZGV4KS5jb25jYXQocmVwbGFjZWRTdHJpbmcpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJpdmF0ZSByZXNldFNjYW5JbmRleEFmdGVyU3Vic3RpdHV0aW9uKCk6IHZvaWQge1xuICAgICAgICAgICAgdGhpcy5zY2FuSW5kZXggPSB0aGlzLnN0YXJ0U3Vic3RpdHV0aW9uSW5kZXggKyB0aGlzLmdldFN1YnN0aXR1dGlvblZhbHVlTGVuZ3RoT3JaZXJvKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
210
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Vob2xkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvZGlyZWN0aXZlcy9zdWJzdGl0dXRvci9zZXJ2aWNlcy9wbGFjZWhvbGRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOztBQUM3RSxnREFBZ0Q7QUFFaEQsV0FBVztBQUVYLE1BQU0sT0FBTyxrQkFBa0I7SUFFcEIsbUJBQW1CLENBQUMsY0FBc0IsRUFBRSxlQUF1QjtRQUN0RSxNQUFNLEVBQUUsR0FBRyxJQUFJLGtCQUFrQixDQUFDLHNCQUFzQixDQUFDLEVBQUMsY0FBYyxFQUFFLGVBQWUsRUFBQyxDQUFDLENBQUM7UUFDNUYsT0FBTyxFQUFFLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUNwQyxDQUFDOzRFQUxRLGtCQUFrQjtnRUFBbEIsa0JBQWtCLFdBQWxCLGtCQUFrQjs7aUZBQWxCLGtCQUFrQjtjQUQ5QixVQUFVOztBQVVYLFdBQWlCLGtCQUFrQjtJQUMvQixNQUFhLHNCQUFzQjtRQUN2QixNQUFNLENBQVUsMkJBQTJCLEdBQUcsc0JBQXNCLENBQUM7UUFDckUsTUFBTSxDQUFVLG1CQUFtQixHQUFHLDBCQUEwQixDQUFDO1FBQ2pFLE1BQU0sQ0FBVSxvQkFBb0IsR0FBRyxHQUFHLENBQUM7UUFDM0MsTUFBTSxDQUFVLG1CQUFtQixHQUFHLEdBQUcsQ0FBQztRQUMxQyxNQUFNLENBQVUsbUJBQW1CLEdBQUcsR0FBRyxDQUFDO1FBQzFDLE1BQU0sQ0FBVSxRQUFRLEdBQUc7O0NBRTFDLENBQUM7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LENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztRQUNqRCxDQUFDO1FBRU8sY0FBYyxDQUFDLEtBQWE7WUFDaEMsTUFBTSxXQUFXLEdBQUcsc0JBQXNCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQ3JGLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDL0csSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2pILENBQUM7UUFFTywrQkFBK0I7WUFDbkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLGdDQUFnQyxFQUFFLENBQUM7UUFDM0YsQ0FBQzs7SUFuTlEseUNBQXNCLHlCQW9ObEMsQ0FBQTtBQUNMLENBQUMsRUF0TmdCLGtCQUFrQixLQUFsQixrQkFBa0IsUUFzTmxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGaWVsZHNVdGlscyB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2ZpZWxkcy9maWVsZHMudXRpbHMnO1xuaW1wb3J0IHsgRm9ybVZhbHVlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Zvcm0vZm9ybS12YWx1ZS5zZXJ2aWNlJztcbi8vIFRoaXMgY2xhc3MgaW1wbGVtZW50cyBjY2QgRmllbGQgSW50ZXJwb2xhdGlvblxuXG4vLyBAZHluYW1pY1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFBsYWNlaG9sZGVyU2VydmljZSB7XG5cbiAgICBwdWJsaWMgcmVzb2x2ZVBsYWNlaG9sZGVycyhwYWdlRm9ybUZpZWxkczogb2JqZWN0LCBzdHJpbmdUb1Jlc29sdmU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHBzID0gbmV3IFBsYWNlaG9sZGVyU2VydmljZS5QbGFjZWhvbGRlclN1YnN0aXR1dG9yKHtwYWdlRm9ybUZpZWxkcywgc3RyaW5nVG9SZXNvbHZlfSk7XG4gICAgICAgIHJldHVybiBwcy5yZXNvbHZlUGxhY2Vob2xkZXJzKCk7XG4gICAgfVxuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUGxhY2Vob2xkZXJTZXJ2aWNlIHtcbiAgICBleHBvcnQgY2xhc3MgUGxhY2Vob2xkZXJTdWJzdGl0dXRvciB7XG4gICAgICAgIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFBMQUNFSE9MREVSX0NPTlRFTlRfUEFUVEVSTiA9IC9eW2EtekEtWjAtOV8uXFxdXFxbXSskLztcbiAgICAgICAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgUExBQ0VIT0xERVJfUEFUVEVSTiA9IC9cXCRcXHtbYS16QS1aMC05Xy5cXF1cXFtdK1xcfS87XG4gICAgICAgIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFNUQVJUSU5HX1BMQUNFSE9MREVSID0gJyQnO1xuICAgICAgICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBDTE9TSU5HX1BMQUNFSE9MREVSID0gJ30nO1xuICAgICAgICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBPUEVOSU5HX1BMQUNFSE9MREVSID0gJ3snO1xuICAgICAgICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBORVdfTElORSA9IGBcbl9fX1xuYDtcblxuICAgICAgICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBQTEFDRUhPTERFUl9TVEFSVCA9XG4gICAgICAgICAgICBQbGFjZWhvbGRlclN1YnN0aXR1dG9yLlNUQVJUSU5HX1BMQUNFSE9MREVSICsgUGxhY2Vob2xkZXJTdWJzdGl0dXRvci5PUEVOSU5HX1BMQUNFSE9MREVSO1xuICAgICAgICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBQTEFDRUhPTERFUl9FTkQgPSBQbGFjZWhvbGRlclN1YnN0aXR1dG9yLkNMT1NJTkdfUExBQ0VIT0xERVI7XG5cbiAgICAgICAgcHJpdmF0ZSBzdHJpbmdUb1Jlc29sdmU6IHN0cmluZztcbiAgICAgICAgcHJpdmF0ZSBzY2FuSW5kZXg6IG51bWJlcjtcbiAgICAgICAgcHJpdmF0ZSBudW1iZXJDb2xsZWN0aW9uSXRlbXNBc1BsYWNlaG9sZGVyOiBudW1iZXI7XG4gICAgICAgIHByaXZhdGUgY29sbGVjdGlvbkl0ZW1JbmRleDogbnVtYmVyO1xuICAgICAgICBwcml2YXRlIGZpZWxkSWRUb1N1YnN0aXR1dGU6IHN0cmluZztcbiAgICAgICAgcHJpdmF0ZSBzdGFydFN1YnN0aXR1dGlvbkluZGV4OiBudW1iZXI7XG4gICAgICAgIHByaXZhdGUgaXNDb2xsZWN0aW5nOiBib29sZWFuO1xuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJlc29sdmVkRm9ybVZhbHVlcyA9IFtdO1xuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHBhZ2VGb3JtRmllbGRzOiBvYmplY3Q7XG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgb3JpZ2luYWxTdHJpbmdUb1Jlc29sdmU6IHN0cmluZztcblxuICAgICAgICBwcml2YXRlIHN0YXRpYyB3cmFwUGxhY2Vob2xkZXIoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICAgICAgcmV0dXJuIGAke3RoaXMuUExBQ0VIT0xERVJfU1RBUlR9JHtzdHJ9JHt0aGlzLlBMQUNFSE9MREVSX0VORH1gO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3RydWN0b3IodmFsdWVzOiB7IHN0cmluZ1RvUmVzb2x2ZTogc3RyaW5nLCBwYWdlRm9ybUZpZWxkczogb2JqZWN0IH0pIHtcbiAgICAgICAgICAgIHRoaXMuc3RyaW5nVG9SZXNvbHZlID0gdmFsdWVzLnN0cmluZ1RvUmVzb2x2ZTtcbiAgICAgICAgICAgIHRoaXMub3JpZ2luYWxTdHJpbmdUb1Jlc29sdmUgPSB2YWx1ZXMuc3RyaW5nVG9SZXNvbHZlO1xuICAgICAgICAgICAgdGhpcy5wYWdlRm9ybUZpZWxkcyA9IHZhbHVlcy5wYWdlRm9ybUZpZWxkcztcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyByZXNvbHZlUGxhY2Vob2xkZXJzKCk6IHN0cmluZyB7XG4gICAgICAgICAgICB3aGlsZSAodGhpcy5oYXNVbnJlc29sdmVkUGxhY2Vob2xkZXIoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVzZXRQbGFjZWhvbGRlclN1YnN0aXR1dG9yKCk7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHRoaXMuZG9lc1BsYWNlaG9sZGVyQ29udGFpbkNvbGxlY3Rpb25JdGVtcygpKSB7XG4gICAgICAgICAgICAgICAgICAgIHdoaWxlICh0aGlzLmlzU2Nhbm5pbmdTdHJpbmdUb1Jlc29sdmUoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNTdGFydFBsYWNlaG9sZGVyQW5kTm90Q29sbGVjdGluZygpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGFydENvbGxlY3RpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0NvbGxlY3RpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pc0Nsb3NpbmdQbGFjZWhvbGRlcigpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3Vic3RpdHV0ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIXRoaXMuaXNPcGVuaW5nUGxhY2Vob2xkZXIoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFwcGVuZENoYXJhY3RlcigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2NhbkluZGV4Kys7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hcHBlbmRPcmlnaW5hbFN0cmluZ0lmQ29sbGVjdGlvbkl0ZW1Bc1BsYWNlaG9sZGVyKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3RyaW5nVG9SZXNvbHZlO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJpdmF0ZSBpc1NjYW5uaW5nU3RyaW5nVG9SZXNvbHZlKCk6IGJvb2xlYW4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2NhbkluZGV4IDwgdGhpcy5zdHJpbmdUb1Jlc29sdmUubGVuZ3RoO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJpdmF0ZSBkb2VzUGxhY2Vob2xkZXJDb250YWluQ29sbGVjdGlvbkl0ZW1zKCk6IGJvb2xlYW4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtYmVyQ29sbGVjdGlvbkl0ZW1zQXNQbGFjZWhvbGRlci0tID4gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHByaXZhdGUgaGFzVW5yZXNvbHZlZFBsYWNlaG9sZGVyKCk6IGJvb2xlYW4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3RyaW5nVG9SZXNvbHZlXG4gICAgICAgICAgICAgICAgJiYgdHlwZW9mIHRoaXMuc3RyaW5nVG9SZXNvbHZlID09PSAnc3RyaW5nJ1xuICAgICAgICAgICAgICAgICYmICEhdGhpcy5zdHJpbmdUb1Jlc29sdmUubWF0Y2goUGxhY2Vob2xkZXJTdWJzdGl0dXRvci5QTEFDRUhPTERFUl9QQVRURVJOKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHByaXZhdGUgaXNTdGFydFBsYWNlaG9sZGVyQW5kTm90Q29sbGVjdGluZygpOiBib29sZWFuIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmlzU3RhcnRpbmdQbGFjZWhvbGRlcigpICYmICF0aGlzLmlzQ29sbGVjdGluZztcbiAgICAgICAgfVxuXG4gICAgICAgIHByaXZhdGUgaXNPcGVuaW5nUGxhY2Vob2xkZXIoKTogYm9vbGVhbiB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zdHJpbmdUb1Jlc29sdmUuY2hhckF0KHRoaXMuc2NhbkluZGV4KSA9PT0gUGxhY2Vob2xkZXJTdWJzdGl0dXRvci5PUEVOSU5HX1BMQUNFSE9MREVSO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJpdmF0ZSBpc0Nsb3NpbmdQbGFjZWhvbGRlcigpOiBib29sZWFuIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnN0cmluZ1RvUmVzb2x2ZS5jaGFyQXQodGhpcy5zY2FuSW5kZXgpID09PSBQbGFjZWhvbGRlclN1YnN0aXR1dG9yLkNMT1NJTkdfUExBQ0VIT0xERVI7XG4gICAgICAgIH1cblxuICAgICAgICBwcml2YXRlIHJlc2V0UGxhY2Vob2xkZXJTdWJzdGl0dXRvcigpOiB2b2lkIHtcbiAgICAgICAgICAgIHRoaXMuc2NhbkluZGV4ID0gMDtcbiAgICAgICAgICAgIHRoaXMubnVtYmVyQ29sbGVjdGlvbkl0ZW1zQXNQbGFjZWhvbGRlciA9IDE7XG4gICAgICAgICAgICB0aGlzLmNvbGxlY3Rpb25JdGVtSW5kZXggPSAwO1xuICAgICAgICAgICAgdGhpcy5maWVsZElkVG9TdWJzdGl0dXRlID0gJyc7XG4gICAgICAgICAgICB0aGlzLnN0YXJ0U3Vic3RpdHV0aW9uSW5kZXggPSAtMTtcbiAgICAgICAgICAgIHRoaXMuaXNDb2xsZWN0aW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnJlc29sdmVkRm9ybVZhbHVlc1t0aGlzLmNvbGxlY3Rpb25JdGVtSW5kZXhdID0ge307XG4gICAgICAgIH1cblxuICAgICAgICBwcml2YXRlIHN1YnN0aXR1dGUoKTogdm9pZCB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc01hdGNoaW5nUGxhY2Vob2xkZXJQYXR0ZXJuKCkgJiYgdGhpcy5pc0ZpZWxkSWRJbkZvcm1GaWVsZHMoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlTnVtYmVyT2ZDb2xsZWN0aW9uSXRlbXNBc1BsYWNlaG9sZGVyKCk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNGaWVsZElkVG9TdWJzdGl0dXRlUmVmZXJyaW5nSXRzZWxmKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdWJzdGl0dXRlV2l0aEVtcHR5U3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdWJzdGl0dXRlRnJvbUZvcm1GaWVsZHMoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuc3Vic3RpdHV0ZVdpdGhFbXB0eVN0cmluZygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5pc0NvbGxlY3RpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuZmllbGRJZFRvU3Vic3RpdHV0ZSA9ICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJpdmF0ZSBhcHBlbmRPcmlnaW5hbFN0cmluZ0lmQ29sbGVjdGlvbkl0ZW1Bc1BsYWNlaG9sZGVyKCk6IHZvaWQge1xuICAgICAgICAgICAgaWYgKHRoaXMuY29sbGVjdGlvbkl0ZW1JbmRleCA8IHRoaXMubnVtYmVyQ29sbGVjdGlvbkl0ZW1zQXNQbGFjZWhvbGRlciAtIDEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0cmluZ1RvUmVzb2x2ZSArPSBQbGFjZWhvbGRlclN1YnN0aXR1dG9yLk5FV19MSU5FICsgdGhpcy5vcmlnaW5hbFN0cmluZ1RvUmVzb2x2ZTtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbGxlY3Rpb25JdGVtSW5kZXggKz0gMTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc29sdmVkRm9ybVZhbHVlc1t0aGlzLmNvbGxlY3Rpb25JdGVtSW5kZXhdID0ge307XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwcml2YXRlIHNldFN0YXJ0Q29sbGVjdGluZygpOiB2b2lkIHtcbiAgICAgICAgICAgIHRoaXMuaXNDb2xsZWN0aW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuc3RhcnRTdWJzdGl0dXRpb25JbmRleCA9IHRoaXMuc2NhbkluZGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgcHJpdmF0ZSBhcHBlbmRDaGFyYWN0ZXIoKTogdm9pZCB7XG4gICAgICAgICAgICB0aGlzLmZpZWxkSWRUb1N1YnN0aXR1dGUgKz0gdGhpcy5zdHJpbmdUb1Jlc29sdmUuY2hhckF0KHRoaXMuc2NhbkluZGV4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHByaXZhdGUgaXNNYXRjaGluZ1BsYWNlaG9sZGVyUGF0dGVybigpOiBib29sZWFuIHtcbiAgICAgICAgICAgIHJldHVybiAhIXRoaXMuZmllbGRJZFRvU3Vic3RpdHV0ZS5tYXRjaChQbGFjZWhvbGRlclN1YnN0aXR1dG9yLlBMQUNFSE9MREVSX0NPTlRFTlRfUEFUVEVSTik7XG4gICAgICAgIH1cblxuICAgICAgICBwcml2YXRlIGlzRmllbGRJZEluRm9ybUZpZWxkcygpOiBib29sZWFuIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldEZpZWxkVmFsdWUoKSAhPT0gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJpdmF0ZSBpc0ZpZWxkSWRUb1N1YnN0aXR1dGVSZWZlcnJpbmdJdHNlbGYoKTogYm9vbGVhbiB7XG4gICAgICAgICAgICBjb25zdCBwbGFjZWhvbGRlciA9IFBsYWNlaG9sZGVyU3Vic3RpdHV0b3Iud3JhcFBsYWNlaG9sZGVyKHRoaXMuZmllbGRJZFRvU3Vic3RpdHV0ZSk7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0U3Vic3RpdHV0aW9uVmFsdWVPckVtcHR5KCk7XG4gICAgICAgICAgICByZXR1cm4gcGxhY2Vob2xkZXIgPT09IHZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJpdmF0ZSBnZXRTdWJzdGl0dXRpb25WYWx1ZUxlbmd0aE9yWmVybygpOiBudW1iZXIge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucGFnZUZvcm1GaWVsZHNbdGhpcy5maWVsZElkVG9TdWJzdGl0dXRlXSA/IHRoaXMuZ2V0U3Vic3RpdHV0aW9uVmFsdWVPckVtcHR5KCkudG9TdHJpbmcoKS5sZW5ndGggOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIEdldHMgdGhlIHZhbHVlIGZyb20gYHRoaXNgIGZpZWxkLCB3aGljaCBjb3VsZCBiZSBhbnkgb2YgYSBudW1iZXIgb2YgZGlmZmVyZW50IHR5cGVzOlxuICAgICAgICAgKiAgIHN0cmluZyB8IG51bWJlciB8IG9iamVjdCB8IHN0cmluZ1tdIHwgb2JqZWN0W10gfCBtYXliZSBvdGhlcnMuLi5cbiAgICAgICAgICogQHJldHVybnMgVGhlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCBgdGhpc2AgZmllbGQuXG4gICAgICAgICAqL1xuICAgICAgICBwcml2YXRlIGdldEZpZWxkVmFsdWUoKTogYW55IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnJlc29sdmVkRm9ybVZhbHVlc1t0aGlzLmNvbGxlY3Rpb25JdGVtSW5kZXhdW3RoaXMuZmllbGRJZFRvU3Vic3RpdHV0ZV0pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5yZXNvbHZlZEZvcm1WYWx1ZXNbdGhpcy5jb2xsZWN0aW9uSXRlbUluZGV4XVt0aGlzLmZpZWxkSWRUb1N1YnN0aXR1dGVdO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWVsZFZhbHVlID0gRm9ybVZhbHVlU2VydmljZS5nZXRGaWVsZFZhbHVlKHRoaXMucGFnZUZvcm1GaWVsZHMsIHRoaXMuZmllbGRJZFRvU3Vic3RpdHV0ZSwgdGhpcy5jb2xsZWN0aW9uSXRlbUluZGV4KTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc29sdmVkRm9ybVZhbHVlc1t0aGlzLmNvbGxlY3Rpb25JdGVtSW5kZXhdW3RoaXMuZmllbGRJZFRvU3Vic3RpdHV0ZV0gPSBmaWVsZFZhbHVlO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnJlc29sdmVkRm9ybVZhbHVlc1t0aGlzLmNvbGxlY3Rpb25JdGVtSW5kZXhdW3RoaXMuZmllbGRJZFRvU3Vic3RpdHV0ZV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwcml2YXRlIGdldFN1YnN0aXR1dGlvblZhbHVlT3JFbXB0eSgpOiBzdHJpbmcge1xuICAgICAgICAgICAgY29uc3QgZmllbGRWYWx1ZSA9IHRoaXMuZ2V0RmllbGRWYWx1ZSgpO1xuICAgICAgICAgICAgcmV0dXJuIGZpZWxkVmFsdWUgPyBmaWVsZFZhbHVlIDogJyc7XG4gICAgICAgIH1cblxuICAgICAgICBwcml2YXRlIGdldE51bWJlck9mQ29sbGVjdGlvbkl0ZW1zSWZBbnkoKTogbnVtYmVyIHtcbiAgICAgICAgICAgIGNvbnN0IGZpZWxkSWRzID0gdGhpcy5maWVsZElkVG9TdWJzdGl0dXRlLnNwbGl0KCcuJyk7XG4gICAgICAgICAgICBsZXQgcGFnZUZvcm1GaWVsZHNDbG9uZSA9IEZpZWxkc1V0aWxzLmNsb25lT2JqZWN0KHRoaXMucGFnZUZvcm1GaWVsZHMpO1xuICAgICAgICAgICAgbGV0IG51bWJlckNvbGxlY3Rpb25JdGVtc0FzUGxhY2Vob2xkZXIgPSAxO1xuXG4gICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmVcbiAgICAgICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBmaWVsZElkcy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgICAgICBpZiAoRmllbGRzVXRpbHMuaXNDb2xsZWN0aW9uKHBhZ2VGb3JtRmllbGRzQ2xvbmUpKSB7XG4gICAgICAgICAgICAgICAgICAgIG51bWJlckNvbGxlY3Rpb25JdGVtc0FzUGxhY2Vob2xkZXIgPSBwYWdlRm9ybUZpZWxkc0Nsb25lLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChwYWdlRm9ybUZpZWxkc0Nsb25lW2ZpZWxkSWRzW2luZGV4XV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBwYWdlRm9ybUZpZWxkc0Nsb25lID0gcGFnZUZvcm1GaWVsZHNDbG9uZVtmaWVsZElkc1tpbmRleF1dO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBudW1iZXJDb2xsZWN0aW9uSXRlbXNBc1BsYWNlaG9sZGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJpdmF0ZSBpc1N0YXJ0aW5nUGxhY2Vob2xkZXIoKTogYm9vbGVhbiB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zdHJpbmdUb1Jlc29sdmUuY2hhckF0KHRoaXMuc2NhbkluZGV4KSA9PT0gUGxhY2Vob2xkZXJTdWJzdGl0dXRvci5TVEFSVElOR19QTEFDRUhPTERFUjtcbiAgICAgICAgfVxuXG4gICAgICAgIHByaXZhdGUgdXBkYXRlTnVtYmVyT2ZDb2xsZWN0aW9uSXRlbXNBc1BsYWNlaG9sZGVyKCk6IHZvaWQge1xuICAgICAgICAgICAgaWYgKHRoaXMuZmllbGRJZFRvU3Vic3RpdHV0ZS5zcGxpdCgnLicpLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdOdW1iZXIgPSB0aGlzLmdldE51bWJlck9mQ29sbGVjdGlvbkl0ZW1zSWZBbnkoKTtcbiAgICAgICAgICAgICAgICB0aGlzLm51bWJlckNvbGxlY3Rpb25JdGVtc0FzUGxhY2Vob2xkZXIgPSBNYXRoLm1heChuZXdOdW1iZXIsIHRoaXMubnVtYmVyQ29sbGVjdGlvbkl0ZW1zQXNQbGFjZWhvbGRlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwcml2YXRlIHN1YnN0aXR1dGVGcm9tRm9ybUZpZWxkcygpOiB2b2lkIHtcbiAgICAgICAgICAgIHRoaXMuZG9TdWJzdGl0dXRpb24odGhpcy5nZXRTdWJzdGl0dXRpb25WYWx1ZU9yRW1wdHkoKSk7XG4gICAgICAgICAgICB0aGlzLnJlc2V0U2NhbkluZGV4QWZ0ZXJTdWJzdGl0dXRpb24oKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHByaXZhdGUgc3Vic3RpdHV0ZVdpdGhFbXB0eVN0cmluZygpOiB2b2lkIHtcbiAgICAgICAgICAgIHRoaXMuZG9TdWJzdGl0dXRpb24oJycpO1xuICAgICAgICAgICAgdGhpcy5zY2FuSW5kZXggPSB0aGlzLnN0YXJ0U3Vic3RpdHV0aW9uSW5kZXg7XG4gICAgICAgIH1cblxuICAgICAgICBwcml2YXRlIGRvU3Vic3RpdHV0aW9uKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgICAgIGNvbnN0IHBsYWNlaG9sZGVyID0gUGxhY2Vob2xkZXJTdWJzdGl0dXRvci53cmFwUGxhY2Vob2xkZXIodGhpcy5maWVsZElkVG9TdWJzdGl0dXRlKTtcbiAgICAgICAgICAgIGNvbnN0IHJlcGxhY2VkU3RyaW5nID0gdGhpcy5zdHJpbmdUb1Jlc29sdmUuc3Vic3RyaW5nKHRoaXMuc3RhcnRTdWJzdGl0dXRpb25JbmRleCkucmVwbGFjZShwbGFjZWhvbGRlciwgdmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5zdHJpbmdUb1Jlc29sdmUgPSB0aGlzLnN0cmluZ1RvUmVzb2x2ZS5zdWJzdHJpbmcoMCwgdGhpcy5zdGFydFN1YnN0aXR1dGlvbkluZGV4KS5jb25jYXQocmVwbGFjZWRTdHJpbmcpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJpdmF0ZSByZXNldFNjYW5JbmRleEFmdGVyU3Vic3RpdHV0aW9uKCk6IHZvaWQge1xuICAgICAgICAgICAgdGhpcy5zY2FuSW5kZXggPSB0aGlzLnN0YXJ0U3Vic3RpdHV0aW9uSW5kZXggKyB0aGlzLmdldFN1YnN0aXR1dGlvblZhbHVlTGVuZ3RoT3JaZXJvKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -27,6 +27,7 @@ export class CaseField {
|
|
|
27
27
|
wizardProps;
|
|
28
28
|
_value;
|
|
29
29
|
_list_items = [];
|
|
30
|
+
isTranslatedFlag = false;
|
|
30
31
|
get value() {
|
|
31
32
|
if (this.field_type && (this.field_type.type === 'DynamicList' || this.field_type.type === 'DynamicRadioList')) {
|
|
32
33
|
return this._value && this._value.value ? this._value.value.code : this._value;
|
|
@@ -132,6 +133,12 @@ export class CaseField {
|
|
|
132
133
|
}
|
|
133
134
|
return null;
|
|
134
135
|
}
|
|
136
|
+
set isTranslated(val) {
|
|
137
|
+
this.isTranslatedFlag = val;
|
|
138
|
+
}
|
|
139
|
+
get isTranslated() {
|
|
140
|
+
return this.isTranslatedFlag;
|
|
141
|
+
}
|
|
135
142
|
}
|
|
136
143
|
__decorate([
|
|
137
144
|
Type(() => FieldType),
|
|
@@ -215,4 +222,4 @@ __decorate([
|
|
|
215
222
|
__metadata("design:paramtypes", []),
|
|
216
223
|
__metadata("design:returntype", Boolean)
|
|
217
224
|
], CaseField.prototype, "isCaseLink", null);
|
|
218
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1maWVsZC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvZG9tYWluL2RlZmluaXRpb24vY2FzZS1maWVsZC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxLQUFLLENBQUMsTUFBTSxZQUFZLENBQUM7QUFDaEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBSTlGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUvQyxXQUFXO0FBQ1gsTUFBTSxPQUFPLFNBQVM7SUFDYixFQUFFLENBQVM7SUFDWCxNQUFNLENBQVU7SUFDaEIsa0JBQWtCLENBQVU7SUFDNUIsS0FBSyxDQUFTO0lBQ2QsS0FBSyxDQUFVO0lBR2YsVUFBVSxDQUFZO0lBRXRCLFNBQVMsQ0FBVTtJQUNuQixjQUFjLENBQVU7SUFDeEIsZUFBZSxDQUFTO0lBQ3hCLHlCQUF5QixDQUFVO0lBQ25DLFlBQVksQ0FBVTtJQUN0QixjQUFjLENBQVU7SUFDeEIsMEJBQTBCLENBQVc7SUFDckMsMkJBQTJCLENBQVU7SUFDckMsSUFBSSxDQUF1QjtJQUMzQixRQUFRLENBQVc7SUFDbkIsZUFBZSxDQUFPO0lBQ3RCLG1CQUFtQixDQUFVO0lBRzdCLFdBQVcsQ0FBbUI7SUFFOUIsTUFBTSxDQUFNO0lBQ1osV0FBVyxHQUFRLEVBQUUsQ0FBQztJQUU3QixJQUNXLEtBQUs7UUFDZCxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksS0FBSyxhQUFhLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssa0JBQWtCLENB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O2dCQUNwQixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEMsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0NBQ0Y7QUF2SlE7SUFETixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDOzhCQUNILFNBQVM7NkNBQUM7QUFnQnRCO0lBRE4sSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQzs4QkFDUCxlQUFlOzhDQUFDO0FBS3JDO0lBQUMsTUFBTSxFQUFFOzs7c0NBU1I7QUFpQkQ7SUFBQyxNQUFNLEVBQUU7OzsyQ0FPUjtBQVFEO0lBQUMsTUFBTSxFQUFFOzs7b0RBU1I7QUFFRDtJQUFDLE1BQU0sRUFBRTs7O3NEQVNSO0FBR007SUFETixNQUFNLEVBQUU7Ozs7aURBR1I7QUFHTTtJQUROLE1BQU0sRUFBRTs7OzsrQ0FHUjtBQUdNO0lBRE4sTUFBTSxFQUFFOzs7OzJDQUlSO0FBR007SUFETixNQUFNLEVBQUU7Ozs7MkNBSVI7QUFHTTtJQUROLE1BQU0sRUFBRTs7Ozs0Q0FJUjtBQUdNO0lBRE4sTUFBTSxFQUFFOzs7OzZDQUdSO0FBR007SUFETixNQUFNLEVBQUU7Ozs7MENBR1I7QUFHTTtJQUROLE1BQU0sRUFBRTs7OzswQ0FTUjtBQUdNO0lBRE4sTUFBTSxFQUFFOzs7OzJDQUtSIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdHNsaW50OmRpc2FibGU6dmFyaWFibGUtbmFtZVxuaW1wb3J0IHsgRXhwb3NlLCBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0ICogYXMgXyBmcm9tICd1bmRlcnNjb3JlJztcbmltcG9ydCB7IFdpemFyZFBhZ2VGaWVsZCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvY2FzZS1lZGl0b3IvZG9tYWluL3dpemFyZC1wYWdlLWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IE9yZGVyYWJsZSB9IGZyb20gJy4uL29yZGVyJztcbmltcG9ydCB7IEFjY2Vzc0NvbnRyb2xMaXN0IH0gZnJvbSAnLi9hY2Nlc3MtY29udHJvbC1saXN0Lm1vZGVsJztcbmltcG9ydCB7IEZpZWxkVHlwZUVudW0gfSBmcm9tICcuL2ZpZWxkLXR5cGUtZW51bS5tb2RlbCc7XG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tICcuL2ZpZWxkLXR5cGUubW9kZWwnO1xuXG4vLyBAZHluYW1pY1xuZXhwb3J0IGNsYXNzIENhc2VGaWVsZCBpbXBsZW1lbnRzIE9yZGVyYWJsZSB7XG4gIHB1YmxpYyBpZDogc3RyaW5nO1xuICBwdWJsaWMgaGlkZGVuOiBib29sZWFuO1xuICBwdWJsaWMgaGlkZGVuQ2Fubm90Q2hhbmdlOiBib29sZWFuO1xuICBwdWJsaWMgbGFiZWw6IHN0cmluZztcbiAgcHVibGljIG9yZGVyPzogbnVtYmVyO1xuXG4gIEBUeXBlKCgpID0+IEZpZWxkVHlwZSlcbiAgcHVibGljIGZpZWxkX3R5cGU6IEZpZWxkVHlwZTtcblxuICBwdWJsaWMgaGludF90ZXh0Pzogc3RyaW5nO1xuICBwdWJsaWMgc2VjdXJpdHlfbGFiZWw/OiBzdHJpbmc7XG4gIHB1YmxpYyBkaXNwbGF5X2NvbnRleHQ6IHN0cmluZztcbiAgcHVibGljIGRpc3BsYXlfY29udGV4dF9wYXJhbWV0ZXI/OiBzdHJpbmc7XG4gIHB1YmxpYyBtb250aF9mb3JtYXQ/OiBzdHJpbmc7XG4gIHB1YmxpYyBzaG93X2NvbmRpdGlvbj86IHN0cmluZztcbiAgcHVibGljIHNob3dfc3VtbWFyeV9jaGFuZ2Vfb3B0aW9uPzogYm9vbGVhbjtcbiAgcHVibGljIHNob3dfc3VtbWFyeV9jb250ZW50X29wdGlvbj86IG51bWJlcjtcbiAgcHVibGljIGFjbHM/OiBBY2Nlc3NDb250cm9sTGlzdFtdO1xuICBwdWJsaWMgbWV0YWRhdGE/OiBib29sZWFuO1xuICBwdWJsaWMgZm9ybWF0dGVkX3ZhbHVlPzogYW55O1xuICBwdWJsaWMgcmV0YWluX2hpZGRlbl92YWx1ZTogYm9vbGVhbjtcblxuICBAVHlwZSgoKSA9PiBXaXphcmRQYWdlRmllbGQpXG4gIHB1YmxpYyB3aXphcmRQcm9wcz86IFdpemFyZFBhZ2VGaWVsZDtcblxuICBwdWJsaWMgX3ZhbHVlOiBhbnk7XG4gIHB1YmxpYyBfbGlzdF9pdGVtczogYW55ID0gW107XG5cbiAgQEV4cG9zZSgpXG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogYW55IHtcbiAgICBpZiAodGhpcy5maWVsZF90eXBlICYmICh0aGlzLmZpZWxkX3R5cGUudHlwZSA9PT0gJ0R5bmFtaWNMaXN0JyB8fCB0aGlzLmZpZWxkX3R5cGUudHlwZSA9PT0gJ0R5bmFtaWNSYWRpb0xpc3QnKSkge1xuICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlICYmIHRoaXMuX3ZhbHVlLnZhbHVlID8gdGhpcy5fdmFsdWUudmFsdWUuY29kZSA6IHRoaXMuX3ZhbHVlO1xuICAgIH0gZWxzZSBpZiAodGhpcy5maWVsZF90eXBlICYmIHRoaXMuZmllbGRfdHlwZS50eXBlID09PSAnRHluYW1pY011bHRpU2VsZWN0TGlzdCcpIHtcbiAgICAgIHJldHVybiB0aGlzLl92YWx1ZSAmJiB0aGlzLl92YWx1ZS52YWx1ZSA/IHRoaXMuX3ZhbHVlLnZhbHVlIDogdGhpcy5fdmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodGhpcy5pc0R5bmFtaWMoKSkge1xuICAgICAgaWYgKHZhbHVlICYmIHZhbHVlIGluc3RhbmNlb2YgT2JqZWN0ICYmIHZhbHVlLmxpc3RfaXRlbXMpIHtcbiAgICAgICAgdGhpcy5fbGlzdF9pdGVtcyA9IHZhbHVlLmxpc3RfaXRlbXM7XG4gICAgICB9IGVsc2UgaWYgKCF0aGlzLl9saXN0X2l0ZW1zIHx8IHRoaXMuX2xpc3RfaXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIC8vIEV4dHJhY3QgdGhlIGxpc3QgaXRlbXMgZnJvbSB0aGUgY3VycmVudCB2YWx1ZSBpZiB0aGF0J3MgdGhlIG9ubHkgcGxhY2UgdGhleSBleGlzdC5cbiAgICAgICAgdGhpcy5fbGlzdF9pdGVtcyA9IHRoaXMubGlzdF9pdGVtcztcbiAgICAgICAgaWYgKCF2YWx1ZSB8fCAhdmFsdWUudmFsdWUpIHtcbiAgICAgICAgICB2YWx1ZSA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIEBFeHBvc2UoKVxuICBwdWJsaWMgZ2V0IGxpc3RfaXRlbXMoKTogYW55IHtcbiAgICBpZiAodGhpcy5pc0R5bmFtaWMoKSkge1xuICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlICYmIHRoaXMuX3ZhbHVlLmxpc3RfaXRlbXMgPyB0aGlzLl92YWx1ZS5saXN0X2l0ZW1zIDogdGhpcy5fbGlzdF9pdGVtcztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuZmllbGRfdHlwZS5maXhlZF9saXN0X2l0ZW1zO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXQgbGlzdF9pdGVtcyhpdGVtczogYW55KSB7XG4gICAgaWYgKChpdGVtcyAmJiAhdGhpcy5fbGlzdF9pdGVtcykgfHwgKGl0ZW1zPy5sZW5ndGggPiB0aGlzLl9saXN0X2l0ZW1zPy5sZW5ndGgpKXtcbiAgICAgIHRoaXMuX2xpc3RfaXRlbXMgPSBpdGVtcztcbiAgICB9XG4gIH1cblxuICBARXhwb3NlKClcbiAgcHVibGljIGdldCBkYXRlVGltZUVudHJ5Rm9ybWF0KCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuaXNDb21wbGV4RGlzcGxheSgpKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgaWYgKHRoaXMuZGlzcGxheV9jb250ZXh0X3BhcmFtZXRlcikge1xuICAgICAgcmV0dXJuIHRoaXMuZXh0cmFjdEJyYWNrZXRWYWx1ZSh0aGlzLmRpc3BsYXlfY29udGV4dF9wYXJhbWV0ZXIsICcjREFURVRJTUVFTlRSWScpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIEBFeHBvc2UoKVxuICBwdWJsaWMgZ2V0IGRhdGVUaW1lRGlzcGxheUZvcm1hdCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmlzQ29tcGxleEVudHJ5KCkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBpZiAodGhpcy5kaXNwbGF5X2NvbnRleHRfcGFyYW1ldGVyKSB7XG4gICAgICByZXR1cm4gdGhpcy5leHRyYWN0QnJhY2tldFZhbHVlKHRoaXMuZGlzcGxheV9jb250ZXh0X3BhcmFtZXRlciwgJyNEQVRFVElNRURJU1BMQVknKTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBARXhwb3NlKClcbiAgcHVibGljIGlzQ29tcGxleERpc3BsYXkoKSB7XG4gICAgcmV0dXJuICh0aGlzLmlzQ29tcGxleCgpIHx8IHRoaXMuaXNDb2xsZWN0aW9uKCkpICYmIHRoaXMuaXNSZWFkb25seSgpO1xuICB9XG5cbiAgQEV4cG9zZSgpXG4gIHB1YmxpYyBpc0NvbXBsZXhFbnRyeSgpIHtcbiAgICByZXR1cm4gKHRoaXMuaXNDb21wbGV4KCkgfHwgdGhpcy5pc0NvbGxlY3Rpb24oKSkgJiYgKHRoaXMuaXNPcHRpb25hbCgpIHx8IHRoaXMuaXNNYW5kYXRvcnkoKSk7XG4gIH1cblxuICBARXhwb3NlKClcbiAgcHVibGljIGlzUmVhZG9ubHkoKSB7XG4gICAgcmV0dXJuICFfLmlzRW1wdHkodGhpcy5kaXNwbGF5X2NvbnRleHQpXG4gICAgICAmJiB0aGlzLmRpc3BsYXlfY29udGV4dC50b1VwcGVyQ2FzZSgpID09PSAnUkVBRE9OTFknO1xuICB9XG5cbiAgQEV4cG9zZSgpXG4gIHB1YmxpYyBpc09wdGlvbmFsKCkge1xuICAgIHJldHVybiAhXy5pc0VtcHR5KHRoaXMuZGlzcGxheV9jb250ZXh0KVxuICAgICAgJiYgdGhpcy5kaXNwbGF5X2NvbnRleHQudG9VcHBlckNhc2UoKSA9PT0gJ09QVElPTkFMJztcbiAgfVxuXG4gIEBFeHBvc2UoKVxuICBwdWJsaWMgaXNNYW5kYXRvcnkoKSB7XG4gICAgcmV0dXJuICFfLmlzRW1wdHkodGhpcy5kaXNwbGF5X2NvbnRleHQpXG4gICAgICAmJiB0aGlzLmRpc3BsYXlfY29udGV4dC50b1VwcGVyQ2FzZSgpID09PSAnTUFOREFUT1JZJztcbiAgfVxuXG4gIEBFeHBvc2UoKVxuICBwdWJsaWMgaXNDb2xsZWN0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkX3R5cGUgJiYgdGhpcy5maWVsZF90eXBlLnR5cGUgPT09ICdDb2xsZWN0aW9uJztcbiAgfVxuXG4gIEBFeHBvc2UoKVxuICBwdWJsaWMgaXNDb21wbGV4KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkX3R5cGUgJiYgdGhpcy5maWVsZF90eXBlLnR5cGUgPT09ICdDb21wbGV4JztcbiAgfVxuXG4gIEBFeHBvc2UoKVxuICBwdWJsaWMgaXNEeW5hbWljKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGR5bmFtaWNGaWVsZFR5cGVzOiBGaWVsZFR5cGVFbnVtW10gPSBbJ0R5bmFtaWNMaXN0JywgJ0R5bmFtaWNSYWRpb0xpc3QnLCAnRHluYW1pY011bHRpU2VsZWN0TGlzdCddO1xuXG4gICAgaWYgKCF0aGlzLmZpZWxkX3R5cGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gZHluYW1pY0ZpZWxkVHlwZXMuc29tZSh0ID0+IHQgPT09IHRoaXMuZmllbGRfdHlwZS50eXBlKTtcbiAgfVxuXG4gIEBFeHBvc2UoKVxuICBwdWJsaWMgaXNDYXNlTGluaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0NvbXBsZXgoKVxuICAgICAgJiYgdGhpcy5maWVsZF90eXBlLmlkID09PSAnQ2FzZUxpbmsnXG4gICAgICAmJiB0aGlzLmZpZWxkX3R5cGUuY29tcGxleF9maWVsZHMuc29tZShjZiA9PiBjZi5pZCA9PT0gJ0Nhc2VSZWZlcmVuY2UnKTtcbiAgfVxuICBwdWJsaWMgZXh0cmFjdEJyYWNrZXRWYWx1ZShmbXQ6IHN0cmluZywgcGFyYW1OYW1lOiBzdHJpbmcsIGxlZnRCcmFja2V0PSAnKCcsIHJpZ2h0QnJhY2tldD0gJyknICk6IHN0cmluZyB7XG4gICAgICBmbXQgPSBmbXQuc3BsaXQoJywnKVxuICAgICAgICAuZmluZChhID0+IGEudHJpbSgpLnN0YXJ0c1dpdGgocGFyYW1OYW1lKSk7XG4gICAgICBpZiAoZm10KSB7XG4gICAgICAgIGNvbnN0IHMgPSBmbXQuaW5kZXhPZihsZWZ0QnJhY2tldCkgKyAxO1xuICAgICAgICBjb25zdCBlID0gZm10LmluZGV4T2YocmlnaHRCcmFja2V0LCBzKTtcbiAgICAgICAgaWYgKGUgPiBzICYmIHMgPj0gMCkge1xuICAgICAgICAgIHJldHVybiBmbXQuc3Vic3RyKHMsIChlIC0gcykpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuIl19
|
|
225
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1maWVsZC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvZG9tYWluL2RlZmluaXRpb24vY2FzZS1maWVsZC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxLQUFLLENBQUMsTUFBTSxZQUFZLENBQUM7QUFDaEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBSTlGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUvQyxXQUFXO0FBQ1gsTUFBTSxPQUFPLFNBQVM7SUFDYixFQUFFLENBQVM7SUFDWCxNQUFNLENBQVU7SUFDaEIsa0JBQWtCLENBQVU7SUFDNUIsS0FBSyxDQUFTO0lBQ2QsS0FBSyxDQUFVO0lBR2YsVUFBVSxDQUFZO0lBRXRCLFNBQVMsQ0FBVTtJQUNuQixjQUFjLENBQVU7SUFDeEIsZUFBZSxDQUFTO0lBQ3hCLHlCQUF5QixDQUFVO0lBQ25DLFlBQVksQ0FBVTtJQUN0QixjQUFjLENBQVU7SUFDeEIsMEJBQTBCLENBQVc7SUFDckMsMkJBQTJCLENBQVU7SUFDckMsSUFBSSxDQUF1QjtJQUMzQixRQUFRLENBQVc7SUFDbkIsZUFBZSxDQUFPO0lBQ3RCLG1CQUFtQixDQUFVO0lBRzdCLFdBQVcsQ0FBbUI7SUFFOUIsTUFBTSxDQUFNO0lBQ1osV0FBVyxHQUFRLEVBQUUsQ0FBQztJQUNyQixnQkFBZ0IsR0FBWSxLQUFLLENBQUM7SUFFMUMsSUFDVyxLQUFLO1FBQ2QsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssYUFBYSxJQUFJLElBQUksQ0FBQyxV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QUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDcEIsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELElBQVcsWUFBWSxDQUFDLEdBQVk7UUFFbEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEdBQUcsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQy9CLENBQUM7Q0FDRjtBQWpLUTtJQUROLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUM7OEJBQ0gsU0FBUzs2Q0FBQztBQWdCdEI7SUFETixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDOzhCQUNQLGVBQWU7OENBQUM7QUFNckM7SUFBQyxNQUFNLEVBQUU7OztzQ0FTUjtBQWlCRDtJQUFDLE1BQU0sRUFBRTs7OzJDQU9SO0FBUUQ7SUFBQyxNQUFNLEVBQUU7OztvREFTUjtBQUVEO0lBQUMsTUFBTSxFQUFFOzs7c0RBU1I7QUFHTTtJQUROLE1BQU0sRUFBRTs7OztpREFHUjtBQUdNO0lBRE4sTUFBTSxFQUFFOzs7OytDQUdSO0FBR007SUFETixNQUFNLEVBQUU7Ozs7MkNBSVI7QUFHTTtJQUROLE1BQU0sRUFBRTs7OzsyQ0FJUjtBQUdNO0lBRE4sTUFBTSxFQUFFOzs7OzRDQUlSO0FBR007SUFETixNQUFNLEVBQUU7Ozs7NkNBR1I7QUFHTTtJQUROLE1BQU0sRUFBRTs7OzswQ0FHUjtBQUdNO0lBRE4sTUFBTSxFQUFFOzs7OzBDQVNSO0FBR007SUFETixNQUFNLEVBQUU7Ozs7MkNBS1IiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0c2xpbnQ6ZGlzYWJsZTp2YXJpYWJsZS1uYW1lXG5pbXBvcnQgeyBFeHBvc2UsIFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ3VuZGVyc2NvcmUnO1xuaW1wb3J0IHsgV2l6YXJkUGFnZUZpZWxkIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9jYXNlLWVkaXRvci9kb21haW4vd2l6YXJkLXBhZ2UtZmllbGQubW9kZWwnO1xuaW1wb3J0IHsgT3JkZXJhYmxlIH0gZnJvbSAnLi4vb3JkZXInO1xuaW1wb3J0IHsgQWNjZXNzQ29udHJvbExpc3QgfSBmcm9tICcuL2FjY2Vzcy1jb250cm9sLWxpc3QubW9kZWwnO1xuaW1wb3J0IHsgRmllbGRUeXBlRW51bSB9IGZyb20gJy4vZmllbGQtdHlwZS1lbnVtLm1vZGVsJztcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gJy4vZmllbGQtdHlwZS5tb2RlbCc7XG5cbi8vIEBkeW5hbWljXG5leHBvcnQgY2xhc3MgQ2FzZUZpZWxkIGltcGxlbWVudHMgT3JkZXJhYmxlIHtcbiAgcHVibGljIGlkOiBzdHJpbmc7XG4gIHB1YmxpYyBoaWRkZW46IGJvb2xlYW47XG4gIHB1YmxpYyBoaWRkZW5DYW5ub3RDaGFuZ2U6IGJvb2xlYW47XG4gIHB1YmxpYyBsYWJlbDogc3RyaW5nO1xuICBwdWJsaWMgb3JkZXI/OiBudW1iZXI7XG5cbiAgQFR5cGUoKCkgPT4gRmllbGRUeXBlKVxuICBwdWJsaWMgZmllbGRfdHlwZTogRmllbGRUeXBlO1xuXG4gIHB1YmxpYyBoaW50X3RleHQ/OiBzdHJpbmc7XG4gIHB1YmxpYyBzZWN1cml0eV9sYWJlbD86IHN0cmluZztcbiAgcHVibGljIGRpc3BsYXlfY29udGV4dDogc3RyaW5nO1xuICBwdWJsaWMgZGlzcGxheV9jb250ZXh0X3BhcmFtZXRlcj86IHN0cmluZztcbiAgcHVibGljIG1vbnRoX2Zvcm1hdD86IHN0cmluZztcbiAgcHVibGljIHNob3dfY29uZGl0aW9uPzogc3RyaW5nO1xuICBwdWJsaWMgc2hvd19zdW1tYXJ5X2NoYW5nZV9vcHRpb24/OiBib29sZWFuO1xuICBwdWJsaWMgc2hvd19zdW1tYXJ5X2NvbnRlbnRfb3B0aW9uPzogbnVtYmVyO1xuICBwdWJsaWMgYWNscz86IEFjY2Vzc0NvbnRyb2xMaXN0W107XG4gIHB1YmxpYyBtZXRhZGF0YT86IGJvb2xlYW47XG4gIHB1YmxpYyBmb3JtYXR0ZWRfdmFsdWU/OiBhbnk7XG4gIHB1YmxpYyByZXRhaW5faGlkZGVuX3ZhbHVlOiBib29sZWFuO1xuXG4gIEBUeXBlKCgpID0+IFdpemFyZFBhZ2VGaWVsZClcbiAgcHVibGljIHdpemFyZFByb3BzPzogV2l6YXJkUGFnZUZpZWxkO1xuXG4gIHB1YmxpYyBfdmFsdWU6IGFueTtcbiAgcHVibGljIF9saXN0X2l0ZW1zOiBhbnkgPSBbXTtcbiAgcHJpdmF0ZSBpc1RyYW5zbGF0ZWRGbGFnOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQEV4cG9zZSgpXG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogYW55IHtcbiAgICBpZiAodGhpcy5maWVsZF90eXBlICYmICh0aGlzLmZpZWxkX3R5cGUudHlwZSA9PT0gJ0R5bmFtaWNMaXN0JyB8fCB0aGlzLmZpZWxkX3R5cGUudHlwZSA9PT0gJ0R5bmFtaWNSYWRpb0xpc3QnKSkge1xuICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlICYmIHRoaXMuX3ZhbHVlLnZhbHVlID8gdGhpcy5fdmFsdWUudmFsdWUuY29kZSA6IHRoaXMuX3ZhbHVlO1xuICAgIH0gZWxzZSBpZiAodGhpcy5maWVsZF90eXBlICYmIHRoaXMuZmllbGRfdHlwZS50eXBlID09PSAnRHluYW1pY011bHRpU2VsZWN0TGlzdCcpIHtcbiAgICAgIHJldHVybiB0aGlzLl92YWx1ZSAmJiB0aGlzLl92YWx1ZS52YWx1ZSA/IHRoaXMuX3ZhbHVlLnZhbHVlIDogdGhpcy5fdmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodGhpcy5pc0R5bmFtaWMoKSkge1xuICAgICAgaWYgKHZhbHVlICYmIHZhbHVlIGluc3RhbmNlb2YgT2JqZWN0ICYmIHZhbHVlLmxpc3RfaXRlbXMpIHtcbiAgICAgICAgdGhpcy5fbGlzdF9pdGVtcyA9IHZhbHVlLmxpc3RfaXRlbXM7XG4gICAgICB9IGVsc2UgaWYgKCF0aGlzLl9saXN0X2l0ZW1zIHx8IHRoaXMuX2xpc3RfaXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIC8vIEV4dHJhY3QgdGhlIGxpc3QgaXRlbXMgZnJvbSB0aGUgY3VycmVudCB2YWx1ZSBpZiB0aGF0J3MgdGhlIG9ubHkgcGxhY2UgdGhleSBleGlzdC5cbiAgICAgICAgdGhpcy5fbGlzdF9pdGVtcyA9IHRoaXMubGlzdF9pdGVtcztcbiAgICAgICAgaWYgKCF2YWx1ZSB8fCAhdmFsdWUudmFsdWUpIHtcbiAgICAgICAgICB2YWx1ZSA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIEBFeHBvc2UoKVxuICBwdWJsaWMgZ2V0IGxpc3RfaXRlbXMoKTogYW55IHtcbiAgICBpZiAodGhpcy5pc0R5bmFtaWMoKSkge1xuICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlICYmIHRoaXMuX3ZhbHVlLmxpc3RfaXRlbXMgPyB0aGlzLl92YWx1ZS5saXN0X2l0ZW1zIDogdGhpcy5fbGlzdF9pdGVtcztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuZmllbGRfdHlwZS5maXhlZF9saXN0X2l0ZW1zO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXQgbGlzdF9pdGVtcyhpdGVtczogYW55KSB7XG4gICAgaWYgKChpdGVtcyAmJiAhdGhpcy5fbGlzdF9pdGVtcykgfHwgKGl0ZW1zPy5sZW5ndGggPiB0aGlzLl9saXN0X2l0ZW1zPy5sZW5ndGgpKXtcbiAgICAgIHRoaXMuX2xpc3RfaXRlbXMgPSBpdGVtcztcbiAgICB9XG4gIH1cblxuICBARXhwb3NlKClcbiAgcHVibGljIGdldCBkYXRlVGltZUVudHJ5Rm9ybWF0KCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuaXNDb21wbGV4RGlzcGxheSgpKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgaWYgKHRoaXMuZGlzcGxheV9jb250ZXh0X3BhcmFtZXRlcikge1xuICAgICAgcmV0dXJuIHRoaXMuZXh0cmFjdEJyYWNrZXRWYWx1ZSh0aGlzLmRpc3BsYXlfY29udGV4dF9wYXJhbWV0ZXIsICcjREFURVRJTUVFTlRSWScpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIEBFeHBvc2UoKVxuICBwdWJsaWMgZ2V0IGRhdGVUaW1lRGlzcGxheUZvcm1hdCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmlzQ29tcGxleEVudHJ5KCkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBpZiAodGhpcy5kaXNwbGF5X2NvbnRleHRfcGFyYW1ldGVyKSB7XG4gICAgICByZXR1cm4gdGhpcy5leHRyYWN0QnJhY2tldFZhbHVlKHRoaXMuZGlzcGxheV9jb250ZXh0X3BhcmFtZXRlciwgJyNEQVRFVElNRURJU1BMQVknKTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBARXhwb3NlKClcbiAgcHVibGljIGlzQ29tcGxleERpc3BsYXkoKSB7XG4gICAgcmV0dXJuICh0aGlzLmlzQ29tcGxleCgpIHx8IHRoaXMuaXNDb2xsZWN0aW9uKCkpICYmIHRoaXMuaXNSZWFkb25seSgpO1xuICB9XG5cbiAgQEV4cG9zZSgpXG4gIHB1YmxpYyBpc0NvbXBsZXhFbnRyeSgpIHtcbiAgICByZXR1cm4gKHRoaXMuaXNDb21wbGV4KCkgfHwgdGhpcy5pc0NvbGxlY3Rpb24oKSkgJiYgKHRoaXMuaXNPcHRpb25hbCgpIHx8IHRoaXMuaXNNYW5kYXRvcnkoKSk7XG4gIH1cblxuICBARXhwb3NlKClcbiAgcHVibGljIGlzUmVhZG9ubHkoKSB7XG4gICAgcmV0dXJuICFfLmlzRW1wdHkodGhpcy5kaXNwbGF5X2NvbnRleHQpXG4gICAgICAmJiB0aGlzLmRpc3BsYXlfY29udGV4dC50b1VwcGVyQ2FzZSgpID09PSAnUkVBRE9OTFknO1xuICB9XG5cbiAgQEV4cG9zZSgpXG4gIHB1YmxpYyBpc09wdGlvbmFsKCkge1xuICAgIHJldHVybiAhXy5pc0VtcHR5KHRoaXMuZGlzcGxheV9jb250ZXh0KVxuICAgICAgJiYgdGhpcy5kaXNwbGF5X2NvbnRleHQudG9VcHBlckNhc2UoKSA9PT0gJ09QVElPTkFMJztcbiAgfVxuXG4gIEBFeHBvc2UoKVxuICBwdWJsaWMgaXNNYW5kYXRvcnkoKSB7XG4gICAgcmV0dXJuICFfLmlzRW1wdHkodGhpcy5kaXNwbGF5X2NvbnRleHQpXG4gICAgICAmJiB0aGlzLmRpc3BsYXlfY29udGV4dC50b1VwcGVyQ2FzZSgpID09PSAnTUFOREFUT1JZJztcbiAgfVxuXG4gIEBFeHBvc2UoKVxuICBwdWJsaWMgaXNDb2xsZWN0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkX3R5cGUgJiYgdGhpcy5maWVsZF90eXBlLnR5cGUgPT09ICdDb2xsZWN0aW9uJztcbiAgfVxuXG4gIEBFeHBvc2UoKVxuICBwdWJsaWMgaXNDb21wbGV4KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkX3R5cGUgJiYgdGhpcy5maWVsZF90eXBlLnR5cGUgPT09ICdDb21wbGV4JztcbiAgfVxuXG4gIEBFeHBvc2UoKVxuICBwdWJsaWMgaXNEeW5hbWljKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGR5bmFtaWNGaWVsZFR5cGVzOiBGaWVsZFR5cGVFbnVtW10gPSBbJ0R5bmFtaWNMaXN0JywgJ0R5bmFtaWNSYWRpb0xpc3QnLCAnRHluYW1pY011bHRpU2VsZWN0TGlzdCddO1xuXG4gICAgaWYgKCF0aGlzLmZpZWxkX3R5cGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gZHluYW1pY0ZpZWxkVHlwZXMuc29tZSh0ID0+IHQgPT09IHRoaXMuZmllbGRfdHlwZS50eXBlKTtcbiAgfVxuXG4gIEBFeHBvc2UoKVxuICBwdWJsaWMgaXNDYXNlTGluaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0NvbXBsZXgoKVxuICAgICAgJiYgdGhpcy5maWVsZF90eXBlLmlkID09PSAnQ2FzZUxpbmsnXG4gICAgICAmJiB0aGlzLmZpZWxkX3R5cGUuY29tcGxleF9maWVsZHMuc29tZShjZiA9PiBjZi5pZCA9PT0gJ0Nhc2VSZWZlcmVuY2UnKTtcbiAgfVxuICBwdWJsaWMgZXh0cmFjdEJyYWNrZXRWYWx1ZShmbXQ6IHN0cmluZywgcGFyYW1OYW1lOiBzdHJpbmcsIGxlZnRCcmFja2V0PSAnKCcsIHJpZ2h0QnJhY2tldD0gJyknICk6IHN0cmluZyB7XG4gICAgICBmbXQgPSBmbXQuc3BsaXQoJywnKVxuICAgICAgICAuZmluZChhID0+IGEudHJpbSgpLnN0YXJ0c1dpdGgocGFyYW1OYW1lKSk7XG4gICAgICBpZiAoZm10KSB7XG4gICAgICAgIGNvbnN0IHMgPSBmbXQuaW5kZXhPZihsZWZ0QnJhY2tldCkgKyAxO1xuICAgICAgICBjb25zdCBlID0gZm10LmluZGV4T2YocmlnaHRCcmFja2V0LCBzKTtcbiAgICAgICAgaWYgKGUgPiBzICYmIHMgPj0gMCkge1xuICAgICAgICAgIHJldHVybiBmbXQuc3Vic3RyKHMsIChlIC0gcykpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgaXNUcmFuc2xhdGVkKHZhbDogYm9vbGVhbilcbiAge1xuICAgIHRoaXMuaXNUcmFuc2xhdGVkRmxhZyA9IHZhbDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNUcmFuc2xhdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzVHJhbnNsYXRlZEZsYWc7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -3,12 +3,15 @@ import { Injectable } from '@angular/core';
|
|
|
3
3
|
import { delay } from 'rxjs/operators';
|
|
4
4
|
import { AbstractAppConfig } from '../../../app.config';
|
|
5
5
|
import { HttpService } from '../http';
|
|
6
|
+
import { CaseNotifier } from '../../components/case-editor/services/case.notifier';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
import * as i1 from "../http";
|
|
8
9
|
import * as i2 from "../../../app.config";
|
|
10
|
+
import * as i3 from "../../components/case-editor/services/case.notifier";
|
|
9
11
|
export class DocumentManagementService {
|
|
10
12
|
http;
|
|
11
13
|
appConfig;
|
|
14
|
+
caseNotifierService;
|
|
12
15
|
static PDF = 'pdf';
|
|
13
16
|
static IMAGE = 'image';
|
|
14
17
|
static WORD = 'word';
|
|
@@ -23,9 +26,10 @@ export class DocumentManagementService {
|
|
|
23
26
|
static wordList = ['DOC', 'DOCX', 'doc', 'docx'];
|
|
24
27
|
static excelList = ['XLS', 'XLSX', 'xls', 'xlsx'];
|
|
25
28
|
static powerpointList = ['PPT', 'PPTX', 'ppt', 'pptx'];
|
|
26
|
-
constructor(http, appConfig) {
|
|
29
|
+
constructor(http, appConfig, caseNotifierService) {
|
|
27
30
|
this.http = http;
|
|
28
31
|
this.appConfig = appConfig;
|
|
32
|
+
this.caseNotifierService = caseNotifierService;
|
|
29
33
|
}
|
|
30
34
|
uploadFile(formData) {
|
|
31
35
|
const url = this.getDocStoreUrl();
|
|
@@ -103,12 +107,20 @@ export class DocumentManagementService {
|
|
|
103
107
|
return documentBinaryUrl.replace(remoteDocumentManagementPattern, this.getDocStoreUrl());
|
|
104
108
|
}
|
|
105
109
|
getDocStoreUrl() {
|
|
106
|
-
|
|
110
|
+
let docStoreUrl = '';
|
|
111
|
+
this.caseNotifierService.caseView.subscribe((caseDetails) => {
|
|
112
|
+
const caseType = caseDetails?.case_type?.id;
|
|
113
|
+
const documentSecureModeCaseTypeExclusions = this.appConfig.getDocumentSecureModeCaseTypeExclusions()?.split(',');
|
|
114
|
+
const isDocumentOnExclusionList = documentSecureModeCaseTypeExclusions?.includes(caseType);
|
|
115
|
+
const documentSecureModeEnabled = this.appConfig.getDocumentSecureMode();
|
|
116
|
+
docStoreUrl = (documentSecureModeEnabled && !isDocumentOnExclusionList) ? this.appConfig.getDocumentManagementUrlV2() : this.appConfig.getDocumentManagementUrl();
|
|
117
|
+
}).unsubscribe();
|
|
118
|
+
return docStoreUrl;
|
|
107
119
|
}
|
|
108
|
-
static ɵfac = function DocumentManagementService_Factory(t) { return new (t || DocumentManagementService)(i0.ɵɵinject(i1.HttpService), i0.ɵɵinject(i2.AbstractAppConfig)); };
|
|
120
|
+
static ɵfac = function DocumentManagementService_Factory(t) { return new (t || DocumentManagementService)(i0.ɵɵinject(i1.HttpService), i0.ɵɵinject(i2.AbstractAppConfig), i0.ɵɵinject(i3.CaseNotifier)); };
|
|
109
121
|
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: DocumentManagementService, factory: DocumentManagementService.ɵfac });
|
|
110
122
|
}
|
|
111
123
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DocumentManagementService, [{
|
|
112
124
|
type: Injectable
|
|
113
|
-
}], () => [{ type: i1.HttpService }, { type: i2.AbstractAppConfig }], null); })();
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtbWFuYWdlbWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9zZXJ2aWNlcy9kb2N1bWVudC1tYW5hZ2VtZW50L2RvY3VtZW50LW1hbmFnZW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7OztBQUd0QyxNQUFNLE9BQU8seUJBQXlCO0lBa0JQO0lBQW9DO0lBakJ6RCxNQUFNLENBQVUsR0FBRyxHQUFHLEtBQUssQ0FBQztJQUM1QixNQUFNLENBQVUsS0FBSyxHQUFHLE9BQU8sQ0FBQztJQUNoQyxNQUFNLENBQVUsSUFBSSxHQUFHLE1BQU0sQ0FBQztJQUM5QixNQUFNLENBQVUsS0FBSyxHQUFHLE9BQU8sQ0FBQztJQUNoQyxNQUFNLENBQVUsVUFBVSxHQUFHLFlBQVksQ0FBQztJQUMxQyxNQUFNLENBQVUsR0FBRyxHQUFHLEtBQUssQ0FBQztJQUM1QixNQUFNLENBQVUsR0FBRyxHQUFHLEtBQUssQ0FBQztJQUVwQyxzSEFBc0g7SUFDdEgsOENBQThDO0lBQ3RDLE1BQU0sQ0FBVSxjQUFjLEdBQUcsSUFBSSxDQUFDO0lBRXRDLE1BQU0sQ0FBVSxVQUFVLEdBQWEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FB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SUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO1FBQ3RFLGlCQUFpQixHQUFHLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDNUYsTUFBTSwrQkFBK0IsR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLDhCQUE4QixFQUFFLENBQUMsQ0FBQztRQUNwRyxPQUFPLGlCQUFpQixDQUFDLE9BQU8sQ0FBQywrQkFBK0IsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBRU8sY0FBYztRQUNwQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQywwQkFBMEIsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDMUksQ0FBQzttRkFqR1UseUJBQXlCO2dFQUF6Qix5QkFBeUIsV0FBekIseUJBQXlCOztpRkFBekIseUJBQXlCO2NBRHJDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlbGF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWJzdHJhY3RBcHBDb25maWcgfSBmcm9tICcuLi8uLi8uLi9hcHAuY29uZmlnJztcbmltcG9ydCB7IERvY3VtZW50RGF0YSB9IGZyb20gJy4uLy4uL2RvbWFpbi9kb2N1bWVudC9kb2N1bWVudC1kYXRhLm1vZGVsJztcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi4vaHR0cCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEb2N1bWVudE1hbmFnZW1lbnRTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgUERGID0gJ3BkZic7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IElNQUdFID0gJ2ltYWdlJztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgV09SRCA9ICd3b3JkJztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgRVhDRUwgPSAnZXhjZWwnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBQT1dFUlBPSU5UID0gJ3Bvd2VycG9pbnQnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBUWFQgPSAndHh0JztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgUlRGID0gJ3J0Zic7XG5cbiAgLy8gVGhpcyBkZWxheSBoYXMgYmVlbiBhZGRlZCB0byBnaXZlIGVub3VnaCB0aW1lIHRvIHRoZSB1c2VyIG9uIHRoZSBVSSB0byBzZWUgdGhlIGluZm8gbWVzc2FnZXMgb24gdGhlIGRvY3VtZW50IHVwbG9hZFxuICAvLyBmaWVsZCBmb3IgY2FzZXMgd2hlbiB1cGxvYWRzIGFyZSB2ZXJ5IGZhc3QuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFJFU1BPTlNFX0RFTEFZID0gMTAwMDtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBpbWFnZXNMaXN0OiBzdHJpbmdbXSA9IFsnR0lGJywgJ0pQRycsICdKUEVHJywgJ1BORycsICdnaWYnLCAnanBnJywgJ2pwZWcnLCAncG5nJ107XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IHdvcmRMaXN0OiBzdHJpbmdbXSA9IFsnRE9DJywgJ0RPQ1gnLCAnZG9jJywgJ2RvY3gnXTtcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgZXhjZWxMaXN0OiBzdHJpbmdbXSA9IFsnWExTJywgJ1hMU1gnLCAneGxzJywgJ3hsc3gnXTtcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgcG93ZXJwb2ludExpc3Q6IHN0cmluZ1tdID0gWydQUFQnLCAnUFBUWCcsICdwcHQnLCAncHB0eCddO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cFNlcnZpY2UsIHByaXZhdGUgcmVhZG9ubHkgYXBwQ29uZmlnOiBBYnN0cmFjdEFwcENvbmZpZykge31cblxuICBwdWJsaWMgdXBsb2FkRmlsZShmb3JtRGF0YTogRm9ybURhdGEpOiBPYnNlcnZhYmxlPERvY3VtZW50RGF0YT4ge1xuICAgIGNvbnN0IHVybCA9IHRoaXMuZ2V0RG9jU3RvcmVVcmwoKTtcbiAgICAvLyBEbyBub3Qgc2V0IGFueSBoZWFkZXJzLCBzdWNoIGFzIFwiQWNjZXB0XCIgb3IgXCJDb250ZW50LVR5cGVcIiwgd2l0aCBudWxsIHZhbHVlczsgdGhpcyBpcyBub3QgcGVybWl0dGVkIHdpdGggdGhlXG4gICAgLy8gQW5ndWxhciBIdHRwQ2xpZW50IGluIEBhbmd1bGFyL2NvbW1vbi9odHRwLiBKdXN0IGNyZWF0ZSBhbmQgcGFzcyBhIG5ldyBIdHRwSGVhZGVycyBvYmplY3QuIEFuZ3VsYXIgd2lsbCBhZGQgdGhlXG4gICAgLy8gY29ycmVjdCBoZWFkZXJzIGFuZCB2YWx1ZXMgYXV0b21hdGljYWxseVxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKTtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAucG9zdCh1cmwsIGZvcm1EYXRhLCB7aGVhZGVycywgb2JzZXJ2ZTogJ2JvZHknfSlcbiAgICAgIC5waXBlKGRlbGF5KERvY3VtZW50TWFuYWdlbWVudFNlcnZpY2UuUkVTUE9OU0VfREVMQVkpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRNZWRpYVZpZXdlckluZm8oZG9jdW1lbnRGaWVsZFZhbHVlOiBhbnkpOiBzdHJpbmcge1xuICAgIGNvbnN0IG1lZGlhVmlld2VySW5mbyA9IHtcbiAgICAgICAgZG9jdW1lbnRfYmluYXJ5X3VybDogdGhpcy50cmFuc2Zvcm1Eb2N1bWVudFVybChkb2N1bWVudEZpZWxkVmFsdWUuZG9jdW1lbnRfYmluYXJ5X3VybCksXG4gICAgICAgIGRvY3VtZW50X2ZpbGVuYW1lOiBkb2N1bWVudEZpZWxkVmFsdWUuZG9jdW1lbnRfZmlsZW5hbWUsXG4gICAgICAgIGNvbnRlbnRfdHlwZTogdGhpcy5nZXRDb250ZW50VHlwZShkb2N1bWVudEZpZWxkVmFsdWUpLFxuICAgICAgICBhbm5vdGF0aW9uX2FwaV91cmw6IHRoaXMuYXBwQ29uZmlnLmdldEFubm90YXRpb25BcGlVcmwoKSxcbiAgICAgICAgY2FzZV9pZDogZG9jdW1lbnRGaWVsZFZhbHVlLmlkLFxuICAgICAgICBjYXNlX2p1cmlzZGljdGlvbjogZG9jdW1lbnRGaWVsZFZhbHVlLmp1cmlzZGljdGlvblxuICAgICAgfTtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkobWVkaWFWaWV3ZXJJbmZvKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb250ZW50VHlwZShkb2N1bWVudEZpZWxkVmFsdWU6IGFueSk6IHN0cmluZyB7XG4gICAgbGV0IGZpbGVFeHRlbnNpb24gPSAnPHVua25vd24+JztcbiAgICBpZiAoZG9jdW1lbnRGaWVsZFZhbHVlLmRvY3VtZW50X2ZpbGVuYW1lKSB7XG4gICAgICBjb25zdCBwb3NpdGlvbiA9IGRvY3VtZW50RmllbGRWYWx1ZS5kb2N1bWVudF9maWxlbmFtZS5sYXN0SW5kZXhPZignLicpO1xuICAgICAgaWYgKHBvc2l0aW9uID09PSBkb2N1bWVudEZpZWxkVmFsdWUuZG9jdW1lbnRfZmlsZW5hbWUubGVuZ3RoKSB7XG4gICAgICAgIGZpbGVFeHRlbnNpb24gPSAnJztcbiAgICAgIH0gZWxzZSBpZiAocG9zaXRpb24gPj0gMCkge1xuICAgICAgICBmaWxlRXh0ZW5zaW9uID0gZG9jdW1lbnRGaWVsZFZhbHVlLmRvY3VtZW50X2ZpbGVuYW1lLnNsaWNlKHBvc2l0aW9uICsgMSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0aGlzLmlzSW1hZ2UoZmlsZUV4dGVuc2lvbikpIHtcbiAgICAgIHJldHVybiBEb2N1bWVudE1hbmFnZW1lbnRTZXJ2aWNlLklNQUdFO1xuICAgIH0gZWxzZSBpZiAodGhpcy5pc1dvcmQoZmlsZUV4dGVuc2lvbikpIHtcbiAgICAgIHJldHVybiBEb2N1bWVudE1hbmFnZW1lbnRTZXJ2aWNlLldPUkQ7XG4gICAgfSBlbHNlIGlmICh0aGlzLmlzRXhjZWwoZmlsZUV4dGVuc2lvbikpIHtcbiAgICAgIHJldHVybiBEb2N1bWVudE1hbmFnZW1lbnRTZXJ2aWNlLkVYQ0VMO1xuICAgIH0gZWxzZSBpZiAodGhpcy5pc1Bvd2VycG9pbnQoZmlsZUV4dGVuc2lvbikpIHtcbiAgICAgIHJldHVybiBEb2N1bWVudE1hbmFnZW1lbnRTZXJ2aWNlLlBPV0VSUE9JTlQ7XG4gICAgfSBlbHNlIGlmIChmaWxlRXh0ZW5zaW9uLnRvTG93ZXJDYXNlKCkgPT09ICd0eHQnKSB7XG4gICAgICByZXR1cm4gRG9jdW1lbnRNYW5hZ2VtZW50U2VydmljZS5UWFQ7XG4gICAgfSBlbHNlIGlmIChmaWxlRXh0ZW5zaW9uLnRvTG93ZXJDYXNlKCkgPT09ICdydGYnKSB7XG4gICAgICByZXR1cm4gRG9jdW1lbnRNYW5hZ2VtZW50U2VydmljZS5SVEY7XG4gICAgfSBlbHNlIGlmIChmaWxlRXh0ZW5zaW9uLnRvTG93ZXJDYXNlKCkgPT09ICdwZGYnKSB7XG4gICAgICByZXR1cm4gRG9jdW1lbnRNYW5hZ2VtZW50U2VydmljZS5QREY7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmaWxlRXh0ZW5zaW9uO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpc0ltYWdlKGltYWdlVHlwZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIERvY3VtZW50TWFuYWdlbWVudFNlcnZpY2UuaW1hZ2VzTGlzdC5maW5kKGUgPT4gZSA9PT0gaW1hZ2VUeXBlKSAhPT0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIGlzV29yZCh3b3JkVHlwZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIERvY3VtZW50TWFuYWdlbWVudFNlcnZpY2Uud29yZExpc3QuZmluZChlID0+IGUgPT09IHdvcmRUeXBlKSAhPT0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIGlzRXhjZWwoZXhjZWxUeXBlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gRG9jdW1lbnRNYW5hZ2VtZW50U2VydmljZS5leGNlbExpc3QuZmluZChlID0+IGUgPT09IGV4Y2VsVHlwZSkgIT09IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBpc1Bvd2VycG9pbnQocG93ZXJwb2ludFR5cGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBEb2N1bWVudE1hbmFnZW1lbnRTZXJ2aWNlLnBvd2VycG9pbnRMaXN0LmZpbmQoZSA9PiBlID09PSBwb3dlcnBvaW50VHlwZSkgIT09IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgdHJhbnNmb3JtRG9jdW1lbnRVcmwoZG9jdW1lbnRCaW5hcnlVcmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgcmVtb3RlSHJzUGF0dGVybiA9IG5ldyBSZWdFeHAodGhpcy5hcHBDb25maWcuZ2V0UmVtb3RlSHJzVXJsKCkpO1xuICAgIGRvY3VtZW50QmluYXJ5VXJsID0gZG9jdW1lbnRCaW5hcnlVcmwucmVwbGFjZShyZW1vdGVIcnNQYXR0ZXJuLCB0aGlzLmFwcENvbmZpZy5nZXRIcnNVcmwoKSk7XG4gICAgY29uc3QgcmVtb3RlRG9jdW1lbnRNYW5hZ2VtZW50UGF0dGVybiA9IG5ldyBSZWdFeHAodGhpcy5hcHBDb25maWcuZ2V0UmVtb3RlRG9jdW1lbnRNYW5hZ2VtZW50VXJsKCkpO1xuICAgIHJldHVybiBkb2N1bWVudEJpbmFyeVVybC5yZXBsYWNlKHJlbW90ZURvY3VtZW50TWFuYWdlbWVudFBhdHRlcm4sIHRoaXMuZ2V0RG9jU3RvcmVVcmwoKSk7XG4gIH1cblxuICBwcml2YXRlIGdldERvY1N0b3JlVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYXBwQ29uZmlnLmdldERvY3VtZW50U2VjdXJlTW9kZSgpID8gdGhpcy5hcHBDb25maWcuZ2V0RG9jdW1lbnRNYW5hZ2VtZW50VXJsVjIoKSA6IHRoaXMuYXBwQ29uZmlnLmdldERvY3VtZW50TWFuYWdlbWVudFVybCgpO1xuICB9XG59XG4iXX0=
|
|
125
|
+
}], () => [{ type: i1.HttpService }, { type: i2.AbstractAppConfig }, { type: i3.CaseNotifier }], null); })();
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtbWFuYWdlbWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9zZXJ2aWNlcy9kb2N1bWVudC1tYW5hZ2VtZW50L2RvY3VtZW50LW1hbmFnZW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN0QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scURBQXFELENBQUM7Ozs7O0FBR25GLE1BQU0sT0FBTyx5QkFBeUI7SUFrQlA7SUFBb0M7SUFBK0M7SUFqQnhHLE1BQU0sQ0FBVSxHQUFHLEdBQUcsS0FBSyxDQUFDO0lBQzVCLE1BQU0sQ0FBVSxLQUFLLEdBQUcsT0FBTyxDQUFDO0lBQ2hDLE1BQU0sQ0FBVSxJQUFJLEdBQUcsTUFBTSxDQUFDO0lBQzlCLE1BQU0sQ0FBVSxLQUFLLEdBQUcsT0FBTyxDQUFDO0lBQ2hDLE1BQU0sQ0FBVSxVQUFVLEdBQUcsWUFBWSxDQUFDO0lBQzFDLE1BQU0sQ0FBVSxHQUFHLEdBQUcsS0FBSyxDQUFDO0lBQzVCLE1BQU0sQ0FBVSxHQUFHLEdBQUcsS0FBSyxDQUFDO0lBRXBDLHNIQUFzSDtJQUN0SCw4Q0FBOEM7SUFDdEMsTUFBTSxDQUFVLGNBQWMsR0FBRyxJQUFJLENBQUM7SUFFdEMsTUFBTSxDQUFVLFVBQVUsR0FBYSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFB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QUFDLHdCQUF3QixFQUFFLENBQUM7UUFDcEssQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakIsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQzttRkF6R1UseUJBQXlCO2dFQUF6Qix5QkFBeUIsV0FBekIseUJBQXlCOztpRkFBekIseUJBQXlCO2NBRHJDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlbGF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWJzdHJhY3RBcHBDb25maWcgfSBmcm9tICcuLi8uLi8uLi9hcHAuY29uZmlnJztcbmltcG9ydCB7IERvY3VtZW50RGF0YSB9IGZyb20gJy4uLy4uL2RvbWFpbi9kb2N1bWVudC9kb2N1bWVudC1kYXRhLm1vZGVsJztcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi4vaHR0cCc7XG5pbXBvcnQgeyBDYXNlTm90aWZpZXIgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2Nhc2UtZWRpdG9yL3NlcnZpY2VzL2Nhc2Uubm90aWZpZXInO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRG9jdW1lbnRNYW5hZ2VtZW50U2VydmljZSB7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFBERiA9ICdwZGYnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBJTUFHRSA9ICdpbWFnZSc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFdPUkQgPSAnd29yZCc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IEVYQ0VMID0gJ2V4Y2VsJztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgUE9XRVJQT0lOVCA9ICdwb3dlcnBvaW50JztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgVFhUID0gJ3R4dCc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFJURiA9ICdydGYnO1xuXG4gIC8vIFRoaXMgZGVsYXkgaGFzIGJlZW4gYWRkZWQgdG8gZ2l2ZSBlbm91Z2ggdGltZSB0byB0aGUgdXNlciBvbiB0aGUgVUkgdG8gc2VlIHRoZSBpbmZvIG1lc3NhZ2VzIG9uIHRoZSBkb2N1bWVudCB1cGxvYWRcbiAgLy8gZmllbGQgZm9yIGNhc2VzIHdoZW4gdXBsb2FkcyBhcmUgdmVyeSBmYXN0LlxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBSRVNQT05TRV9ERUxBWSA9IDEwMDA7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgaW1hZ2VzTGlzdDogc3RyaW5nW10gPSBbJ0dJRicsICdKUEcnLCAnSlBFRycsICdQTkcnLCAnZ2lmJywgJ2pwZycsICdqcGVnJywgJ3BuZyddO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSB3b3JkTGlzdDogc3RyaW5nW10gPSBbJ0RPQycsICdET0NYJywgJ2RvYycsICdkb2N4J107XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IGV4Y2VsTGlzdDogc3RyaW5nW10gPSBbJ1hMUycsICdYTFNYJywgJ3hscycsICd4bHN4J107XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IHBvd2VycG9pbnRMaXN0OiBzdHJpbmdbXSA9IFsnUFBUJywgJ1BQVFgnLCAncHB0JywgJ3BwdHgnXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBTZXJ2aWNlLCBwcml2YXRlIHJlYWRvbmx5IGFwcENvbmZpZzogQWJzdHJhY3RBcHBDb25maWcsIHByaXZhdGUgcmVhZG9ubHkgY2FzZU5vdGlmaWVyU2VydmljZTogQ2FzZU5vdGlmaWVyKSB7fVxuXG4gIHB1YmxpYyB1cGxvYWRGaWxlKGZvcm1EYXRhOiBGb3JtRGF0YSk6IE9ic2VydmFibGU8RG9jdW1lbnREYXRhPiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5nZXREb2NTdG9yZVVybCgpO1xuICAgIC8vIERvIG5vdCBzZXQgYW55IGhlYWRlcnMsIHN1Y2ggYXMgXCJBY2NlcHRcIiBvciBcIkNvbnRlbnQtVHlwZVwiLCB3aXRoIG51bGwgdmFsdWVzOyB0aGlzIGlzIG5vdCBwZXJtaXR0ZWQgd2l0aCB0aGVcbiAgICAvLyBBbmd1bGFyIEh0dHBDbGllbnQgaW4gQGFuZ3VsYXIvY29tbW9uL2h0dHAuIEp1c3QgY3JlYXRlIGFuZCBwYXNzIGEgbmV3IEh0dHBIZWFkZXJzIG9iamVjdC4gQW5ndWxhciB3aWxsIGFkZCB0aGVcbiAgICAvLyBjb3JyZWN0IGhlYWRlcnMgYW5kIHZhbHVlcyBhdXRvbWF0aWNhbGx5XG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5wb3N0KHVybCwgZm9ybURhdGEsIHtoZWFkZXJzLCBvYnNlcnZlOiAnYm9keSd9KVxuICAgICAgLnBpcGUoZGVsYXkoRG9jdW1lbnRNYW5hZ2VtZW50U2VydmljZS5SRVNQT05TRV9ERUxBWSkpO1xuICB9XG5cbiAgcHVibGljIGdldE1lZGlhVmlld2VySW5mbyhkb2N1bWVudEZpZWxkVmFsdWU6IGFueSk6IHN0cmluZyB7XG4gICAgY29uc3QgbWVkaWFWaWV3ZXJJbmZvID0ge1xuICAgICAgICBkb2N1bWVudF9iaW5hcnlfdXJsOiB0aGlzLnRyYW5zZm9ybURvY3VtZW50VXJsKGRvY3VtZW50RmllbGRWYWx1ZS5kb2N1bWVudF9iaW5hcnlfdXJsKSxcbiAgICAgICAgZG9jdW1lbnRfZmlsZW5hbWU6IGRvY3VtZW50RmllbGRWYWx1ZS5kb2N1bWVudF9maWxlbmFtZSxcbiAgICAgICAgY29udGVudF90eXBlOiB0aGlzLmdldENvbnRlbnRUeXBlKGRvY3VtZW50RmllbGRWYWx1ZSksXG4gICAgICAgIGFubm90YXRpb25fYXBpX3VybDogdGhpcy5hcHBDb25maWcuZ2V0QW5ub3RhdGlvbkFwaVVybCgpLFxuICAgICAgICBjYXNlX2lkOiBkb2N1bWVudEZpZWxkVmFsdWUuaWQsXG4gICAgICAgIGNhc2VfanVyaXNkaWN0aW9uOiBkb2N1bWVudEZpZWxkVmFsdWUuanVyaXNkaWN0aW9uXG4gICAgICB9O1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShtZWRpYVZpZXdlckluZm8pO1xuICB9XG5cbiAgcHVibGljIGdldENvbnRlbnRUeXBlKGRvY3VtZW50RmllbGRWYWx1ZTogYW55KTogc3RyaW5nIHtcbiAgICBsZXQgZmlsZUV4dGVuc2lvbiA9ICc8dW5rbm93bj4nO1xuICAgIGlmIChkb2N1bWVudEZpZWxkVmFsdWUuZG9jdW1lbnRfZmlsZW5hbWUpIHtcbiAgICAgIGNvbnN0IHBvc2l0aW9uID0gZG9jdW1lbnRGaWVsZFZhbHVlLmRvY3VtZW50X2ZpbGVuYW1lLmxhc3RJbmRleE9mKCcuJyk7XG4gICAgICBpZiAocG9zaXRpb24gPT09IGRvY3VtZW50RmllbGRWYWx1ZS5kb2N1bWVudF9maWxlbmFtZS5sZW5ndGgpIHtcbiAgICAgICAgZmlsZUV4dGVuc2lvbiA9ICcnO1xuICAgICAgfSBlbHNlIGlmIChwb3NpdGlvbiA+PSAwKSB7XG4gICAgICAgIGZpbGVFeHRlbnNpb24gPSBkb2N1bWVudEZpZWxkVmFsdWUuZG9jdW1lbnRfZmlsZW5hbWUuc2xpY2UocG9zaXRpb24gKyAxKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRoaXMuaXNJbWFnZShmaWxlRXh0ZW5zaW9uKSkge1xuICAgICAgcmV0dXJuIERvY3VtZW50TWFuYWdlbWVudFNlcnZpY2UuSU1BR0U7XG4gICAgfSBlbHNlIGlmICh0aGlzLmlzV29yZChmaWxlRXh0ZW5zaW9uKSkge1xuICAgICAgcmV0dXJuIERvY3VtZW50TWFuYWdlbWVudFNlcnZpY2UuV09SRDtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNFeGNlbChmaWxlRXh0ZW5zaW9uKSkge1xuICAgICAgcmV0dXJuIERvY3VtZW50TWFuYWdlbWVudFNlcnZpY2UuRVhDRUw7XG4gICAgfSBlbHNlIGlmICh0aGlzLmlzUG93ZXJwb2ludChmaWxlRXh0ZW5zaW9uKSkge1xuICAgICAgcmV0dXJuIERvY3VtZW50TWFuYWdlbWVudFNlcnZpY2UuUE9XRVJQT0lOVDtcbiAgICB9IGVsc2UgaWYgKGZpbGVFeHRlbnNpb24udG9Mb3dlckNhc2UoKSA9PT0gJ3R4dCcpIHtcbiAgICAgIHJldHVybiBEb2N1bWVudE1hbmFnZW1lbnRTZXJ2aWNlLlRYVDtcbiAgICB9IGVsc2UgaWYgKGZpbGVFeHRlbnNpb24udG9Mb3dlckNhc2UoKSA9PT0gJ3J0ZicpIHtcbiAgICAgIHJldHVybiBEb2N1bWVudE1hbmFnZW1lbnRTZXJ2aWNlLlJURjtcbiAgICB9IGVsc2UgaWYgKGZpbGVFeHRlbnNpb24udG9Mb3dlckNhc2UoKSA9PT0gJ3BkZicpIHtcbiAgICAgIHJldHVybiBEb2N1bWVudE1hbmFnZW1lbnRTZXJ2aWNlLlBERjtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZpbGVFeHRlbnNpb247XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlzSW1hZ2UoaW1hZ2VUeXBlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gRG9jdW1lbnRNYW5hZ2VtZW50U2VydmljZS5pbWFnZXNMaXN0LmZpbmQoZSA9PiBlID09PSBpbWFnZVR5cGUpICE9PSB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgaXNXb3JkKHdvcmRUeXBlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gRG9jdW1lbnRNYW5hZ2VtZW50U2VydmljZS53b3JkTGlzdC5maW5kKGUgPT4gZSA9PT0gd29yZFR5cGUpICE9PSB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgaXNFeGNlbChleGNlbFR5cGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBEb2N1bWVudE1hbmFnZW1lbnRTZXJ2aWNlLmV4Y2VsTGlzdC5maW5kKGUgPT4gZSA9PT0gZXhjZWxUeXBlKSAhPT0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIGlzUG93ZXJwb2ludChwb3dlcnBvaW50VHlwZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIERvY3VtZW50TWFuYWdlbWVudFNlcnZpY2UucG93ZXJwb2ludExpc3QuZmluZChlID0+IGUgPT09IHBvd2VycG9pbnRUeXBlKSAhPT0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSB0cmFuc2Zvcm1Eb2N1bWVudFVybChkb2N1bWVudEJpbmFyeVVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCByZW1vdGVIcnNQYXR0ZXJuID0gbmV3IFJlZ0V4cCh0aGlzLmFwcENvbmZpZy5nZXRSZW1vdGVIcnNVcmwoKSk7XG4gICAgZG9jdW1lbnRCaW5hcnlVcmwgPSBkb2N1bWVudEJpbmFyeVVybC5yZXBsYWNlKHJlbW90ZUhyc1BhdHRlcm4sIHRoaXMuYXBwQ29uZmlnLmdldEhyc1VybCgpKTtcbiAgICBjb25zdCByZW1vdGVEb2N1bWVudE1hbmFnZW1lbnRQYXR0ZXJuID0gbmV3IFJlZ0V4cCh0aGlzLmFwcENvbmZpZy5nZXRSZW1vdGVEb2N1bWVudE1hbmFnZW1lbnRVcmwoKSk7XG4gICAgcmV0dXJuIGRvY3VtZW50QmluYXJ5VXJsLnJlcGxhY2UocmVtb3RlRG9jdW1lbnRNYW5hZ2VtZW50UGF0dGVybiwgdGhpcy5nZXREb2NTdG9yZVVybCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RG9jU3RvcmVVcmwoKTogc3RyaW5nIHtcbiAgICBsZXQgZG9jU3RvcmVVcmwgPSAnJztcbiAgICB0aGlzLmNhc2VOb3RpZmllclNlcnZpY2UuY2FzZVZpZXcuc3Vic2NyaWJlKChjYXNlRGV0YWlscykgPT4ge1xuICAgICAgY29uc3QgY2FzZVR5cGUgPSBjYXNlRGV0YWlscz8uY2FzZV90eXBlPy5pZDtcbiAgICAgIGNvbnN0IGRvY3VtZW50U2VjdXJlTW9kZUNhc2VUeXBlRXhjbHVzaW9ucyA9IHRoaXMuYXBwQ29uZmlnLmdldERvY3VtZW50U2VjdXJlTW9kZUNhc2VUeXBlRXhjbHVzaW9ucygpPy5zcGxpdCgnLCcpO1xuICAgICAgY29uc3QgaXNEb2N1bWVudE9uRXhjbHVzaW9uTGlzdCA9IGRvY3VtZW50U2VjdXJlTW9kZUNhc2VUeXBlRXhjbHVzaW9ucz8uaW5jbHVkZXMoY2FzZVR5cGUpO1xuICAgICAgY29uc3QgZG9jdW1lbnRTZWN1cmVNb2RlRW5hYmxlZCA9IHRoaXMuYXBwQ29uZmlnLmdldERvY3VtZW50U2VjdXJlTW9kZSgpO1xuICAgICAgZG9jU3RvcmVVcmwgPSAoZG9jdW1lbnRTZWN1cmVNb2RlRW5hYmxlZCAmJiAhaXNEb2N1bWVudE9uRXhjbHVzaW9uTGlzdCkgPyB0aGlzLmFwcENvbmZpZy5nZXREb2N1bWVudE1hbmFnZW1lbnRVcmxWMigpIDogdGhpcy5hcHBDb25maWcuZ2V0RG9jdW1lbnRNYW5hZ2VtZW50VXJsKCk7XG4gICAgfSkudW5zdWJzY3JpYmUoKTtcbiAgICByZXR1cm4gZG9jU3RvcmVVcmw7XG4gIH1cbn1cbiJdfQ==
|