@arsedizioni/ars-utils 18.2.378 → 18.2.381
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/clipper.common/common/definitions.d.ts +4 -0
- package/clipper.common/common/services/clipper.service.d.ts +6 -3
- package/clipper.ui/ui/document/document.component.d.ts +3 -3
- package/clipper.ui/ui/document-index/document-index.component.d.ts +2 -2
- package/clipper.ui/ui/document-menu/document-menu.component.d.ts +1 -1
- package/clipper.ui/ui/search-calendar/search-calendar.component.d.ts +2 -1
- package/clipper.ui/ui/search-dialog/search-dialog.component.d.ts +2 -2
- package/clipper.ui/ui/search-facets/search-facets.component.d.ts +2 -1
- package/clipper.ui/ui/search-free-text-query-builder/search-free-text-query-builder.component.d.ts +2 -1
- package/esm2022/clipper.common/common/definitions.mjs +6 -1
- package/esm2022/clipper.common/common/interceptors/auth.interceptor.mjs +15 -11
- package/esm2022/clipper.common/common/services/clipper.service.mjs +10 -4
- package/esm2022/clipper.ui/ui/document/document.component.mjs +11 -7
- package/esm2022/clipper.ui/ui/document-index/document-index.component.mjs +5 -3
- package/esm2022/clipper.ui/ui/search-calendar/search-calendar.component.mjs +5 -3
- package/esm2022/clipper.ui/ui/search-dialog/search-dialog.component.mjs +5 -3
- package/esm2022/clipper.ui/ui/search-facets/search-facets.component.mjs +6 -4
- package/esm2022/clipper.ui/ui/search-free-text-query-builder/search-free-text-query-builder.component.mjs +6 -4
- package/esm2022/evolution.common/common/definitions.mjs +6 -1
- package/esm2022/evolution.common/common/interceptors/auth.interceptor.mjs +14 -10
- package/esm2022/evolution.common/common/services/evolution.service.mjs +6 -1
- package/esm2022/support.common/common/definitions.mjs +6 -1
- package/esm2022/support.common/common/interceptors/auth.interceptor.mjs +14 -10
- package/esm2022/support.common/common/services/support.service.mjs +6 -2
- package/esm2022/tinymce/full-screen-editor/full-screen-editor.component.mjs +6 -4
- package/esm2022/ui/ui/dialogs/confirm/confirm-dialog.component.mjs +6 -4
- package/esm2022/ui/ui/dialogs/credentials/credentials-dialog.component.mjs +9 -5
- package/esm2022/ui/ui/dialogs/recover-password/recover-password-dialog.component.mjs +6 -4
- package/esm2022/ui/ui/dialogs/reset-password/reset-password-dialog.component.mjs +6 -4
- package/esm2022/ui/ui/dialogs/toast/toast.component.mjs +6 -4
- package/esm2022/ui.application/ui/components/button-selector/button-selector.component.mjs +9 -5
- package/esm2022/ui.application/ui/components/button-toggle/button-toggle.component.mjs +6 -4
- package/esm2022/ui.application/ui/components/chips-selector/chips-selector.component.mjs +6 -4
- package/esm2022/ui.application/ui/components/file-input/file-input.component.mjs +7 -7
- package/esm2022/ui.application/ui/components/filter-bar/filter-bar.component.mjs +6 -4
- package/esm2022/ui.application/ui/dialogs/prompt/prompt-dialog.component.mjs +5 -3
- package/esm2022/ui.application/ui/dialogs/prompt-date/prompt-date-dialog.component.mjs +5 -3
- package/esm2022/ui.application/ui/dialogs/prompt-time/prompt-time-dialog.component.mjs +5 -3
- package/esm2022/ui.application/ui/dialogs/select/select-dialog.component.mjs +26 -10
- package/esm2022/ui.application/ui/dialogs/select-file/select-file-dialog.component.mjs +6 -4
- package/esm2022/ui.application/ui/dialogs/select-picture/select-picture-dialog.component.mjs +6 -4
- package/esm2022/ui.application/ui/dialogs/select-tree/select-tree-dialog.component.mjs +6 -4
- package/esm2022/ui.application/ui/dialogs/send-to/send-to-dialog.component.mjs +9 -5
- package/esm2022/ui.oauth/ui/components/login/login-oauth.component.mjs +6 -4
- package/evolution.common/common/definitions.d.ts +4 -0
- package/evolution.common/common/services/evolution.service.d.ts +3 -1
- package/fesm2022/arsedizioni-ars-utils-clipper.common.mjs +26 -12
- package/fesm2022/arsedizioni-ars-utils-clipper.common.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs +1377 -1363
- package/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-evolution.common.mjs +22 -10
- package/fesm2022/arsedizioni-ars-utils-evolution.common.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-support.common.mjs +22 -10
- package/fesm2022/arsedizioni-ars-utils-support.common.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-tinymce.mjs +5 -3
- package/fesm2022/arsedizioni-ars-utils-tinymce.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.application.mjs +77 -35
- package/fesm2022/arsedizioni-ars-utils-ui.application.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.mjs +24 -12
- package/fesm2022/arsedizioni-ars-utils-ui.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.oauth.mjs +5 -3
- package/fesm2022/arsedizioni-ars-utils-ui.oauth.mjs.map +1 -1
- package/package.json +7 -7
- package/support.common/common/definitions.d.ts +4 -0
- package/support.common/common/services/support.service.d.ts +3 -1
- package/tinymce/full-screen-editor/full-screen-editor.component.d.ts +2 -2
- package/ui/ui/dialogs/confirm/confirm-dialog.component.d.ts +2 -2
- package/ui/ui/dialogs/credentials/credentials-dialog.component.d.ts +3 -3
- package/ui/ui/dialogs/recover-password/recover-password-dialog.component.d.ts +2 -1
- package/ui/ui/dialogs/reset-password/reset-password-dialog.component.d.ts +2 -2
- package/ui/ui/dialogs/toast/toast.component.d.ts +2 -1
- package/ui.application/ui/components/button-selector/button-selector.component.d.ts +3 -3
- package/ui.application/ui/components/button-toggle/button-toggle.component.d.ts +2 -2
- package/ui.application/ui/components/chips-selector/chips-selector.component.d.ts +2 -2
- package/ui.application/ui/components/file-input/file-input.component.d.ts +5 -5
- package/ui.application/ui/components/filter-bar/filter-bar.component.d.ts +2 -2
- package/ui.application/ui/dialogs/prompt/prompt-dialog.component.d.ts +2 -2
- package/ui.application/ui/dialogs/prompt-date/prompt-date-dialog.component.d.ts +2 -2
- package/ui.application/ui/dialogs/prompt-time/prompt-time-dialog.component.d.ts +2 -2
- package/ui.application/ui/dialogs/select/select-dialog.component.d.ts +9 -9
- package/ui.application/ui/dialogs/select-file/select-file-dialog.component.d.ts +2 -1
- package/ui.application/ui/dialogs/select-picture/select-picture-dialog.component.d.ts +2 -1
- package/ui.application/ui/dialogs/select-tree/select-tree-dialog.component.d.ts +2 -2
- package/ui.application/ui/dialogs/send-to/send-to-dialog.component.d.ts +3 -3
- package/ui.oauth/ui/components/login/login-oauth.component.d.ts +2 -2
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
export var EvolutionServiceFlags;
|
|
2
|
+
(function (EvolutionServiceFlags) {
|
|
3
|
+
EvolutionServiceFlags[EvolutionServiceFlags["None"] = 0] = "None";
|
|
4
|
+
EvolutionServiceFlags[EvolutionServiceFlags["Notify500Errors"] = 1] = "Notify500Errors";
|
|
5
|
+
})(EvolutionServiceFlags || (EvolutionServiceFlags = {}));
|
|
1
6
|
export var ERPComplianceLawsSelectionType;
|
|
2
7
|
(function (ERPComplianceLawsSelectionType) {
|
|
3
8
|
ERPComplianceLawsSelectionType[ERPComplianceLawsSelectionType["Analysis"] = 1] = "Analysis";
|
|
@@ -355,4 +360,4 @@ export const RecurrenceFrequencyTypes = [
|
|
|
355
360
|
{ name: 'Mesi', value: ERPRecurrenceFrequencyType.Month },
|
|
356
361
|
{ name: 'Giorni', value: ERPRecurrenceFrequencyType.Day },
|
|
357
362
|
];
|
|
358
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5pdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvZXZvbHV0aW9uLmNvbW1vbi9jb21tb24vZGVmaW5pdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxDQUFOLElBQVksOEJBR1g7QUFIRCxXQUFZLDhCQUE4QjtJQUN4QywyRkFBWSxDQUFBO0lBQ1osMkZBQVksQ0FBQTtBQUNkLENBQUMsRUFIVyw4QkFBOEIsS0FBOUIsOEJBQThCLFFBR3pDO0FBRUQsTUFBTSxDQUFOLElBQVksd0JBT1g7QUFQRCxXQUFZLHdCQUF3QjtJQUNsQyx1RUFBUSxDQUFBO0lBQ1IsNkVBQVcsQ0FBQTtJQUNYLDZFQUFnQixDQUFBO0lBQ2hCLGlGQUFrQixDQUFBO0lBQ2xCLCtFQUFpQixDQUFBO0lBQ2pCLGdGQUFpQixDQUFBO0FBQ25CLENBQUMsRUFQVyx3QkFBd0IsS0FBeEIsd0JBQXdCLFFBT25DO0FBRUQsTUFBTSxDQUFOLElBQVkseUJBR1g7QUFIRCxXQUFZLHlCQUF5QjtJQUVuQywwSUFBNkMsQ0FBQTtBQUMvQyxDQUFDLEVBSFcseUJBQXlCLEtBQXpCLHlCQUF5QixRQUdwQztBQUVELE1BQU0sQ0FBTixJQUFZLGtCQWFYO0FBYkQsV0FBWSxrQkFBa0I7SUFDNUIsMkRBQVEsQ0FBQTtJQUNSLHlFQUFlLENBQUE7SUFDZiwrREFBZSxDQUFBO0lBQ2YsdUVBQW1CLENBQUE7SUFDbkIsK0RBQWUsQ0FBQTtJQUNmLGdFQUFlLENBQUE7SUFDZiwwRUFBb0IsQ0FBQTtJQUNwQixrRUFBZ0IsQ0FBQTtJQUNoQiw2RUFBcUIsQ0FBQTtJQUNyQix1RUFBa0IsQ0FBQTtJQUNsQixxRUFBaUIsQ0FBQTtJQUNqQixzRUFBa0IsQ0FBQTtBQUNwQixDQUFDLEVBYlcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQWE3QjtBQUVELE1BQU0sQ0FBTixJQUFZLDhCQUtYO0FBTEQsV0FBWSw4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dCB7IExvZ2luUmVzdWx0IH0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy9jb3JlJztcclxuaW1wb3J0IHsgTG9naW5PQXV0aFR5cGUgfSBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL3VpLm9hdXRoJztcclxuXHJcbmV4cG9ydCBlbnVtIEVSUENvbXBsaWFuY2VMYXdzU2VsZWN0aW9uVHlwZSB7XHJcbiAgQW5hbHlzaXMgPSAxLFxyXG4gIEFjdGl2aXR5ID0gMixcclxufVxyXG5cclxuZXhwb3J0IGVudW0gRVJQQ29tcGxpYW5jZVByb2ZpbGVSb2xlIHtcclxuICBOb25lID0gMCxcclxuICBBbmFseXN0ID0gMSxcclxuICBQbGFubmVyID0gMSA8PCAxLFxyXG4gIFZhbGlkYXRvciA9IDEgPDwgMixcclxuICBFeGVjdXRvciA9IDEgPDwgMyxcclxuICBPYnNlcnZlciA9IDEgPDwgNCxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gRVJQQ29tcGxpYW5jZVByb2ZpbGVGbGFncyB7XHJcblxyXG4gIE92ZXJyaWRlTm90aWZpY2F0aW9uUmVnaXN0ZXJTZXR0aW5ncyA9IDEgPDwgNCxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gRVJQQ29tcGxpYW5jZVNjb3BlIHtcclxuICBOb25lID0gMCxcclxuICBFbnZpcm9ubWVudCA9IDEsXHJcbiAgU2FmZXR5ID0gMSA8PCAxLFxyXG4gIEZvb2RTYWZldHkgPSAxIDw8IDIsXHJcbiAgRW5lcmd5ID0gMSA8PCAzLFxyXG4gIEhlYWx0aCA9IDEgPDwgNCxcclxuICBNYWludGVuYW5jZSA9IDEgPDwgNSxcclxuICBRdWFsaXR5ID0gMSA8PCA2LFxyXG4gIE9yZ2FuaXphdGlvbiA9IDEgPDwgNyxcclxuICBMb2dpc3RpY3MgPSAxIDw8IDgsXHJcbiAgRmFjaWxpdHkgPSAxIDw8IDksXHJcbiAgU2VjdXJpdHkgPSAxIDw8IDEwXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEVSUENvbXBsaWFuY2VOb3RpZmljYXRpb25MaW1pdCB7XHJcbiAgTm9uZSA9IDAsXHJcbiAgUGxhbm5lck9ubHkgPSAxLFxyXG4gIEV4ZWN1dG9yT25seSA9IDIsXHJcbiAgQm90aCA9IDMsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEVSUENvbXBsaWFuY2VSZWdpc3Rlck5vdGlmaWNhdGlvblR5cGUge1xyXG4gIE5vbmUgPSAwLFxyXG4gIE5ld0FuYWx5c2lzID0gMSxcclxuICBBbmFseXNpc0NvbXBsZXRlZCA9IDEgPDwgMSxcclxuICBBbmFseXNpc05vdGljZVBlcmlvZFN0YXJ0ZWQgPSAxIDw8IDIsXHJcbiAgQW5hbHlzaXNQZXJpb2RFeHBpcmVkID0gMSA8PCAzLFxyXG4gIEFuYWx5c2lzTGF3Q2hhbmdlZCA9IDEgPDwgMTQsXHJcbiAgTmV3UGxhbm5pbmcgPSAxIDw8IDEzLFxyXG4gIFBsYW5uaW5nQ29tcGxldGVkID0gMSA8PCA0LFxyXG4gIFBsYW5uaW5nTm90aWNlUGVyaW9kU3RhcnRlZCA9IDEgPDwgNSxcclxuICBQbGFubmluZ1BlcmlvZEV4cGlyZWQgPSAxIDw8IDYsXHJcbiAgTmV3VmFsaWRhdGlvbiA9IDEgPDwgMTUsXHJcbiAgVmFsaWRhdGlvbkNvbXBsZXRlZCA9IDEgPDwgNyxcclxuICBWYWxpZGF0aW9uTm90aWNlUGVyaW9kU3RhcnRlZCA9IDEgPDwgOCxcclxuICBWYWxpZGF0aW9uUGVyaW9kRXhwaXJlZCA9IDEgPDwgOSxcclxuICBOZXdEZWFkbGluZSA9IDEgPDwgMTYsXHJcbiAgRGVhZGxpbmVOb3RpY2VQZXJpb2RTdGFydGVkID0gMSA8PCAxMCxcclxuICBEZWFkbGluZUV4cGlyZWQgPSAxIDw8IDExLFxyXG4gIEFjdGl2aXR5Q29tcGxldGVkID0gMSA8PCAxMixcclxuICAvL05ld05vbmNvbXBsaWFuY2UgPSAxIDw8IDE3LFxyXG4gIC8vTm9uQ29tcGxpYW5jZU5vdGljZVBlcmlvZFN0YXJ0ZWQgPSAxIDw8IDE4LFxyXG4gIC8vTm9uQ29tcGxpYW5jZVBlcmlvZEV4cGlyZWQgPSAxIDw8IDE5LFxyXG4gIC8vTm9uQ29tcGxpYW5jZUNvbXBsZXRlZCA9IDEgPDwgMjAsXHJcbiAgTGF3Q2hhbmdlZCA9IDEgPDwgMjEsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEVSUENvbXBsaWFuY2VSZWdpc3RlclNpdGVJbXBvcnRPcHRpb25zXHJcbntcclxuICAgIENvcHlBdHRhY2htZW50cyA9IDEsXHJcbiAgICBLZWVwT3JpZ2luYWxEYXRlcyA9IDEgPDwgMSxcclxuICAgIER1cGxpY2F0ZUxhd3MgPSAgMSA8PCAyLFxyXG4gICAgRGlzY2FyZE5vdEFwcGxpY2FibGVzID0gMSA8PCAzXHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBQcm9maWxlUm9sZXMgPSBbXHJcbiAgeyBuYW1lOiAnQW5hbGlzdGEnLCB2YWx1ZTogRVJQQ29tcGxpYW5jZVByb2ZpbGVSb2xlLkFuYWx5c3QgfSxcclxuICB7IG5hbWU6ICdHZXN0b3JlJywgdmFsdWU6IEVSUENvbXBsaWFuY2VQcm9maWxlUm9sZS5QbGFubmVyIH0sXHJcbiAgLy97IG5hbWU6ICdWYWxpZGF0b3JlJywgdmFsdWU6IEVSUENvbXBsaWFuY2VQcm9maWxlUm9sZS5WYWxpZGF0b3IgfSxcclxuICB7IG5hbWU6ICdFc2VjdXRvcmUnLCB2YWx1ZTogRVJQQ29tcGxpYW5jZVByb2ZpbGVSb2xlLkV4ZWN1dG9yIH0sXHJcbiAgeyBuYW1lOiAnT3NzZXJ2YXRvcmUnLCB2YWx1ZTogRVJQQ29tcGxpYW5jZVByb2ZpbGVSb2xlLk9ic2VydmVyIH0sXHJcbl07XHJcblxyXG5leHBvcnQgY29uc3QgUHJvZmlsZUZsYWdzID0gW1xyXG4gIHsgbmFtZTogJ0Rlcm9naGUgZSBsaW1pdGF6aW9uaScsIGRpdmlkZXI6IHRydWUgfSxcclxuICB7XHJcbiAgICBuYW1lOlxyXG4gICAgICAnUXVlc3RvIHByb2ZpbG8gcmljZXZlIHJlZ29sYXJtZW50ZSBsZSBub3RpZmljaGUgaW5kaXBlbmRlbnRlbWVudGUgZGFsbGEgY29uZmlndXJhemlvbmUgZ2VuZXJhbGUgZGVsIHJlZ2lzdHJvJyxcclxuICAgIHZhbHVlOiBFUlBDb21wbGlhbmNlUHJvZmlsZUZsYWdzLk92ZXJyaWRlTm90aWZpY2F0aW9uUmVnaXN0ZXJTZXR0aW5ncyxcclxuICB9LFxyXG5dO1xyXG5cclxuZXhwb3J0IGNvbnN0IFNjb3BlcyA9IFtcclxuICB7IG5hbWU6ICdBbWJpZW50ZScsIHZhbHVlOiBFUlBDb21wbGlhbmNlU2NvcGUuRW52aXJvbm1lbnQgfSxcclxuICB7IG5hbWU6ICdTYWx1dGUgZSBzaWN1cmV6emEnLCB2YWx1ZTogRVJQQ29tcGxpYW5jZVNjb3BlLlNhZmV0eSB9LFxyXG4gIHtcclxuICAgIG5hbWU6ICdTaWN1cmV6emEgYWxpbWVudGFyZScsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZVNjb3BlLkZvb2RTYWZldHksXHJcbiAgfSxcclxuICB7IG5hbWU6ICdFbmVyZ2lhJywgdmFsdWU6IEVSUENvbXBsaWFuY2VTY29wZS5FbmVyZ3kgfSxcclxuICB7IG5hbWU6ICdTZXJ2aXppIGdlbmVyYWxpJywgdmFsdWU6IEVSUENvbXBsaWFuY2VTY29wZS5GYWNpbGl0eSB9LFxyXG4gIHsgbmFtZTogJ01hbnV0ZW56aW9uZScsIHZhbHVlOiBFUlBDb21wbGlhbmNlU2NvcGUuTWFpbnRlbmFuY2UgfSxcclxuICB7IG5hbWU6ICdRdWFsaXTDoCcsIHZhbHVlOiBFUlBDb21wbGlhbmNlU2NvcGUuUXVhbGl0eSB9LFxyXG4gIHsgbmFtZTogJ09yZ2FuaXp6YXppb25lJywgdmFsdWU6IEVSUENvbXBsaWFuY2VTY29wZS5Pcmdhbml6YXRpb24gfSxcclxuICB7IG5hbWU6ICdMb2dpc3RpY2EnLCB2YWx1ZTogRVJQQ29tcGxpYW5jZVNjb3BlLkxvZ2lzdGljcyB9LFxyXG4gIHsgbmFtZTogJ1NlY3VyaXR5JywgdmFsdWU6IEVSUENvbXBsaWFuY2VTY29wZS5TZWN1cml0eSB9LFxyXG4gICBcclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBOb3RpZmljYXRpb25MaW1pdHMgPSBbXHJcbiAgeyBuYW1lOiAnTmVzc3VuYSBsaW1pdGF6aW9uZScsIHZhbHVlOiBFUlBDb21wbGlhbmNlTm90aWZpY2F0aW9uTGltaXQuTm9uZSB9LFxyXG4gIHtcclxuICAgIG5hbWU6ICdTb2xvIGdlc3RvcmUgY2hlIGhhIHBpYW5pZmljYXRvJyxcclxuICAgIHZhbHVlOiBFUlBDb21wbGlhbmNlTm90aWZpY2F0aW9uTGltaXQuUGxhbm5lck9ubHksXHJcbiAgfSxcclxuICB7XHJcbiAgICBuYW1lOiBcIlNvbG8gYWxsJ2luY2FyaWNhdG8gZGVzaWduYXRvXCIsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZU5vdGlmaWNhdGlvbkxpbWl0LkV4ZWN1dG9yT25seSxcclxuICB9LFxyXG4gIHtcclxuICAgIG5hbWU6ICdTb2xvIGEgZ2VzdG9yZSBlIGluY2FyaWNhdG8gZGVzaWduYXRvJyxcclxuICAgIHZhbHVlOiBFUlBDb21wbGlhbmNlTm90aWZpY2F0aW9uTGltaXQuQm90aCxcclxuICB9LFxyXG5dO1xyXG5cclxuZXhwb3J0IGNvbnN0IE5vdGlmaWNhdGlvbnMgPSBbXHJcbiAgeyBuYW1lOiAnVmVyaWZpY2EgYXBwbGljYWJpbGl0w6AgZSBhbmFsaXNpJywgZGl2aWRlcjogdHJ1ZSB9LFxyXG4gIHtcclxuICAgIG5hbWU6ICdSaWNoaWVzdGEgYW5hbGlzaScsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZVJlZ2lzdGVyTm90aWZpY2F0aW9uVHlwZS5OZXdBbmFseXNpcyxcclxuICB9LFxyXG4gIHtcclxuICAgIG5hbWU6IFwiUHJlYXZ2aXNvOiBzdGEgcGVyIHNjYWRlcmUgaWwgdGVybWluZSBmaXNzYXRvIHBlciBsJ2FuYWxpc2lcIixcclxuICAgIHZhbHVlOiBFUlBDb21wbGlhbmNlUmVnaXN0ZXJOb3RpZmljYXRpb25UeXBlLkFuYWx5c2lzTm90aWNlUGVyaW9kU3RhcnRlZCxcclxuICB9LFxyXG4gIHtcclxuICAgIG5hbWU6IFwiQWxsYXJtZTogw6ggc2NhZHV0byBpbCB0ZXJtaW5lIGZpc3NhdG8gcGVyIGwnYW5hbGlzaVwiLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VSZWdpc3Rlck5vdGlmaWNhdGlvblR5cGUuQW5hbHlzaXNQZXJpb2RFeHBpcmVkLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbmFtZTogJ0FuYWxpc2kgY29tcGxldGF0YScsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZVJlZ2lzdGVyTm90aWZpY2F0aW9uVHlwZS5BbmFseXNpc0NvbXBsZXRlZCxcclxuICB9LFxyXG4gIHtcclxuICAgIG5hbWU6ICdBdnZpc28gbm9ybWEgbW9kaWZpY2F0YSBkYWwgbGVnaXNsYXRvcmUnLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VSZWdpc3Rlck5vdGlmaWNhdGlvblR5cGUuQW5hbHlzaXNMYXdDaGFuZ2VkLFxyXG4gIH0sXHJcbiAgeyBuYW1lOiAnUGlhbmlmaWNhemlvbmknLCBkaXZpZGVyOiB0cnVlIH0sXHJcbiAge1xyXG4gICAgbmFtZTogJ1JpY2hpZXN0YSBnZXN0aW9uZScsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZVJlZ2lzdGVyTm90aWZpY2F0aW9uVHlwZS5OZXdQbGFubmluZyxcclxuICB9LFxyXG4gIHtcclxuICAgIG5hbWU6ICdQcmVhdnZpc286IHN0YSBwZXIgc2NhZGVyZSBpbCB0ZXJtaW5lIGZpc3NhdG8gcGVyIGxhIGdlc3Rpb25lJyxcclxuICAgIHZhbHVlOiBFUlBDb21wbGlhbmNlUmVnaXN0ZXJOb3RpZmljYXRpb25UeXBlLlBsYW5uaW5nTm90aWNlUGVyaW9kU3RhcnRlZCxcclxuICB9LFxyXG4gIHtcclxuICAgIG5hbWU6ICdBbGxhcm1lOiDDqCBzY2FkdXRvIGlsIHRlcm1pbmUgZmlzc2F0byBwZXIgbGEgZ2VzdGlvbmUnLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VSZWdpc3Rlck5vdGlmaWNhdGlvblR5cGUuUGxhbm5pbmdQZXJpb2RFeHBpcmVkLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbmFtZTogJ0dlc3Rpb25lIGNvbXBsZXRhdGEnLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VSZWdpc3Rlck5vdGlmaWNhdGlvblR5cGUuUGxhbm5pbmdDb21wbGV0ZWQsXHJcbiAgfSxcclxuICB7XHJcbiAgICBuYW1lOiAnQXR0aXZpdMOgIGNvbXBsZXRhdGEnLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VSZWdpc3Rlck5vdGlmaWNhdGlvblR5cGUuQWN0aXZpdHlDb21wbGV0ZWQsXHJcbiAgfSxcclxuICAvKnsgbmFtZTogJ0dlc3Rpb25lIG5vbiBjb25mb3JtaXTDoCcsIGRpdmlkZXI6IHRydWUgfSxcclxuICB7XHJcbiAgICBuYW1lOiAnQXBlcnR1cmEgbm9uIGNvbWZvcm1pdMOgJyxcclxuICAgIHZhbHVlOiBFUlBDb21wbGlhbmNlUmVnaXN0ZXJOb3RpZmljYXRpb25UeXBlLk5ld05vbmNvbXBsaWFuY2UsXHJcbiAgfSxcclxuICB7XHJcbiAgICBuYW1lOlxyXG4gICAgICBcIlByZWF2dmlzbzogc3RhIHBlciBzY2FkZXJlIGlsIHRlcm1pbmUgZmlzc2F0byBwZXIgbCdhemlvbmUgY29ycmV0dGl2YVwiLFxyXG4gICAgdmFsdWU6XHJcbiAgICAgIEVSUENvbXBsaWFuY2VSZWdpc3Rlck5vdGlmaWNhdGlvblR5cGUuTm9uQ29tcGxpYW5jZU5vdGljZVBlcmlvZFN0YXJ0ZWQsXHJcbiAgfSxcclxuICB7XHJcbiAgICBuYW1lOiBcIkFsbGFybWU6IMOoIHNjYWR1dG8gaWwgdGVybWluZSBmaXNzYXRvIHBlciBsJ2F6aW9uZSBjb3JyZXR0aXZhXCIsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZVJlZ2lzdGVyTm90aWZpY2F0aW9uVHlwZS5Ob25Db21wbGlhbmNlUGVyaW9kRXhwaXJlZCxcclxuICB9LFxyXG4gIHtcclxuICAgIG5hbWU6ICdDaGl1c3VyYSBub24gY29uZm9ybWl0w6AnLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VSZWdpc3Rlck5vdGlmaWNhdGlvblR5cGUuTm9uQ29tcGxpYW5jZUNvbXBsZXRlZCxcclxuICB9LCovXHJcbiAgLyp7IG5hbWU6ICdBcHByb3ZhemlvbmknLCBkaXZpZGVyOiB0cnVlIH0sXHJcbiAgeyBuYW1lOiAnUmljaGllc3RhIGFwcHJvdmF6aW9uZScsIHZhbHVlOiAxIDw8IDE0IH0sXHJcbiAge1xyXG4gICAgbmFtZTogXCJQcmVhdnZpc286IHN0YSBwZXIgc2NhZGVyZSBpbCB0ZXJtaW5lIGZpc3NhdG8gcGVyIGwnYXBwcm92YXppb25lXCIsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZVJlZ2lzdGVyTm90aWZpY2F0aW9uVHlwZS5WYWxpZGF0aW9uTm90aWNlUGVyaW9kU3RhcnRlZCxcclxuICB9LFxyXG4gIHtcclxuICAgIG5hbWU6IFwiQWxsYXJtZTogw6ggc2NhZHV0byBpbCB0ZXJtaW5lIGZpc3NhdG8gcGVyIGwnYXBwcm92YXppb25lXCIsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZVJlZ2lzdGVyTm90aWZpY2F0aW9uVHlwZS5WYWxpZGF0aW9uUGVyaW9kRXhwaXJlZCxcclxuICB9LFxyXG4gIHtcclxuICAgIG5hbWU6ICdBcHByb3ZhemlvbmUgY29uY2Vzc2EgbyBuZWdhdGEnLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VSZWdpc3Rlck5vdGlmaWNhdGlvblR5cGUuVmFsaWRhdGlvbkNvbXBsZXRlZCxcclxuICB9LCovXHJcbiAgeyBuYW1lOiAnU2NhZGVuemUnLCBkaXZpZGVyOiB0cnVlIH0sXHJcbiAge1xyXG4gICAgbmFtZTogJ1ByZWF2dmlzbzogMcKwIHByb21lbW9yaWEgc3VsbGEgZGF0YSBkaSBzY2FkZW56YScsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZVJlZ2lzdGVyTm90aWZpY2F0aW9uVHlwZS5OZXdWYWxpZGF0aW9uLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbmFtZTogJ0F2dmlzbzogMsKwIHByb21lbW9yaWEgc3VsbGEgZGF0YSBkaSBzY2FkZW56YScsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZVJlZ2lzdGVyTm90aWZpY2F0aW9uVHlwZS5EZWFkbGluZU5vdGljZVBlcmlvZFN0YXJ0ZWQsXHJcbiAgfSxcclxuICB7XHJcbiAgICBuYW1lOiAnQWxsYXJtZTogw6ggc2NhZHV0byBpbCB0ZXJtaW5lJyxcclxuICAgIHZhbHVlOiBFUlBDb21wbGlhbmNlUmVnaXN0ZXJOb3RpZmljYXRpb25UeXBlLkRlYWRsaW5lRXhwaXJlZCxcclxuICB9LFxyXG4gIHsgbmFtZTogJ05vcm1lIGNvbGxlZ2F0ZScsIGRpdmlkZXI6IHRydWUgfSxcclxuICB7XHJcbiAgICBuYW1lOiAnTW9kaWZpY2EgbyBhYnJvZ2F6aW9uZScsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZVJlZ2lzdGVyTm90aWZpY2F0aW9uVHlwZS5MYXdDaGFuZ2VkLFxyXG4gIH0sXHJcblxyXG5dO1xyXG5cclxuZXhwb3J0IGVudW0gRVJQQ29tcGxpYW5jZUxhd1N0YXRlIHtcclxuICBBcHBsaWNhYmxlT3JBa25vd2xlZGdlZCA9IDEsXHJcbiAgTm90QXBwbGljYWJsZSA9IDIsXHJcbiAgTm90QW5hbHl6ZWQgPSAzLFxyXG4gIEV4cGlyZWRBbmFseXNpcyA9IDQsXHJcbiAgVXBkYXRlZExhd3MgPSA1LFxyXG4gIEFuYWx5emVkID0gNixcclxuICBBYnJvZ2F0ZWQgPSA3LFxyXG4gIEFwcGxpY2FibGUgPSA4LFxyXG4gIEFrbm93bGVkZ2VkID0gOVxyXG59XHJcblxyXG5leHBvcnQgZW51bSBFUlBDb21wbGlhbmNlTGF3T3JpZ2luIHtcclxuICBOYXRpb25hbCA9IDEsXHJcbiAgRVUgPSAyLFxyXG4gIFJlZ2lvbmFsID0gMyxcclxuICBMb2NhbCA9IDQsXHJcbiAgVGVjaG5pY2FsID0gNSxcclxuICBWb3Vsb250YXJ5ID0gNixcclxuICBJbnRlcm5hbCA9IDcsXHJcbiAgT3RoZXIgPSA4LFxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgTGF3U3RhdGVzID0gW1xyXG4gIHsgbmFtZTogJ0FwcGxpY2FiaWxlJywgdmFsdWU6IEVSUENvbXBsaWFuY2VMYXdTdGF0ZS5BcHBsaWNhYmxlIH0sXHJcbiAgeyBuYW1lOiAnRGEgY29ub3NjZXJlJywgdmFsdWU6IEVSUENvbXBsaWFuY2VMYXdTdGF0ZS5Ba25vd2xlZGdlZCB9LFxyXG4gIHtcclxuICAgIG5hbWU6ICdBcHBsaWNhYmlsZSAvIGRhIGNvbm9zY2VyZScsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZUxhd1N0YXRlLkFwcGxpY2FibGVPckFrbm93bGVkZ2VkLFxyXG4gIH0sXHJcbiAgeyBuYW1lOiAnTm9uIGFwcGxpY2FiaWxlJywgdmFsdWU6IEVSUENvbXBsaWFuY2VMYXdTdGF0ZS5Ob3RBcHBsaWNhYmxlIH0sXHJcbiAgeyBuYW1lOiAnQWJyb2dhdGEnLCB2YWx1ZTogRVJQQ29tcGxpYW5jZUxhd1N0YXRlLkFicm9nYXRlZCB9LFxyXG4gIHsgbmFtZTogJ0FuYWxpenphdGEnLCB2YWx1ZTogRVJQQ29tcGxpYW5jZUxhd1N0YXRlLkFuYWx5emVkIH0sXHJcbiAgeyBuYW1lOiAnRGEgZGVmaW5pcmUnLCB2YWx1ZTogRVJQQ29tcGxpYW5jZUxhd1N0YXRlLk5vdEFuYWx5emVkIH0sICBcclxuICB7IG5hbWU6ICdJbiByaXRhcmRvJywgdmFsdWU6IEVSUENvbXBsaWFuY2VMYXdTdGF0ZS5FeHBpcmVkQW5hbHlzaXMgfSxcclxuICB7XHJcbiAgICBuYW1lOiAnQ29uIGFnZ2lvcm5hbWVudGkgcGVuZGVudGknLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VMYXdTdGF0ZS5VcGRhdGVkTGF3cyxcclxuICB9LFxyXG5dO1xyXG5cclxuZXhwb3J0IGNvbnN0IExhd09yaWdpbnMgPSBbXHJcbiAgeyBuYW1lOiAnTmF6aW9uYWxlJywgdmFsdWU6IEVSUENvbXBsaWFuY2VMYXdPcmlnaW4uTmF0aW9uYWwgfSxcclxuICB7IG5hbWU6ICdDb211bml0YXJpYScsIHZhbHVlOiBFUlBDb21wbGlhbmNlTGF3T3JpZ2luLkVVIH0sXHJcbiAgeyBuYW1lOiAnUmVnaW9uYWxlJywgdmFsdWU6IEVSUENvbXBsaWFuY2VMYXdPcmlnaW4uUmVnaW9uYWwgfSxcclxuICB7IG5hbWU6ICdMb2NhbGUnLCB2YWx1ZTogRVJQQ29tcGxpYW5jZUxhd09yaWdpbi5Mb2NhbCB9LFxyXG4gIHsgbmFtZTogJ1RlY25pY2EnLCB2YWx1ZTogRVJQQ29tcGxpYW5jZUxhd09yaWdpbi5UZWNobmljYWwgfSxcclxuICB7IG5hbWU6ICdJbnRlcm5hJywgdmFsdWU6IEVSUENvbXBsaWFuY2VMYXdPcmlnaW4uSW50ZXJuYWwgfSxcclxuICB7IG5hbWU6ICdWb2xvbnRhcmlhJywgdmFsdWU6IEVSUENvbXBsaWFuY2VMYXdPcmlnaW4uVm91bG9udGFyeSB9LFxyXG4gIHsgbmFtZTogJ0FsdHJvJywgdmFsdWU6IEVSUENvbXBsaWFuY2VMYXdPcmlnaW4uT3RoZXIgfSxcclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBMYXdDaGFuZ2VTdGF0ZXMgPSBbXHJcbiAgeyBuYW1lOiAnQXBlcnRvJywgdmFsdWU6IDEgfSxcclxuICB7IG5hbWU6ICdDaGl1c28nLCB2YWx1ZTogMiB9LFxyXG5dO1xyXG5cclxuZXhwb3J0IGVudW0gRVJQQ29tcGxpYW5jZUFjdGl2aXR5U3RhdGUge1xyXG4gIE5vdFBsYW5uZWQgPSAxIDw8IDcsXHJcbiAgQ2xvc2VkID0gMSA8PCAyLCAgXHJcbiAgRXhwaXJlZCA9IDEgPDwgMyxcclxuICBQbGFubmVkID0gMSA8PCA4LFxyXG4gIENhbmNlbGxlZCA9IDEgPDwgOSxcclxuICBVcGRhdGVkTGF3cyA9IDEgPDwgMTAsXHJcbiAgQWxyZWFkeU1hbmFnZWQgPSAxIDw8IDExXHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBBY3Rpdml0eVN0YXRlcyA9IFsgXHJcbiAge1xyXG4gICAgbmFtZTogJ0RhIGRlZmluaXJlJyxcclxuICAgIHZhbHVlOiBFUlBDb21wbGlhbmNlQWN0aXZpdHlTdGF0ZS5Ob3RQbGFubmVkLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbmFtZTogJ1BpYW5pZmljYXRhJyxcclxuICAgIHZhbHVlOiBFUlBDb21wbGlhbmNlQWN0aXZpdHlTdGF0ZS5QbGFubmVkLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbmFtZTogJ0NoaXVzYScsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZUFjdGl2aXR5U3RhdGUuQ2xvc2VkLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbmFtZTogJ0luIHJpdGFyZG8nLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VBY3Rpdml0eVN0YXRlLkV4cGlyZWQsXHJcbiAgfSxcclxuICB7XHJcbiAgICBuYW1lOiAnQW5udWxsYXRhJyxcclxuICAgIHZhbHVlOiBFUlBDb21wbGlhbmNlQWN0aXZpdHlTdGF0ZS5DYW5jZWxsZWQsXHJcbiAgfSxcclxuICB7XHJcbiAgICBuYW1lOiAnR2VzdGl0YSBzZXBhcmF0YW1lbnRlJyxcclxuICAgIHZhbHVlOiBFUlBDb21wbGlhbmNlQWN0aXZpdHlTdGF0ZS5BbHJlYWR5TWFuYWdlZCxcclxuICB9LFxyXG4gIHtcclxuICAgIG5hbWU6ICdDb24gYWdnaW9ybmFtZW50aSBwZW5kZW50aScsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZUFjdGl2aXR5U3RhdGUuVXBkYXRlZExhd3MsXHJcbiAgfSxcclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBPYmxpZ2F0aW9uVHlwZXMgPSBbXHJcbiAgeyBuYW1lOiAnQXV0b3JpenphemlvbmUnLCB2YWx1ZTogMSB9LFxyXG4gIHsgbmFtZTogJ1ZlcmlmaWNoZSBwZXJpb2RpY2hlIG1hbnV0ZW50aXZlJywgdmFsdWU6IDIgfSxcclxuICB7IG5hbWU6ICdNaXN1cmUgb3JnYW5penphdGl2ZScsIHZhbHVlOiAzIH0sXHJcbiAgeyBuYW1lOiAnQ29udHJvbGxpIGUgbWlzdXJhemlvbmknLCB2YWx1ZTogNCB9LFxyXG4gIHsgbmFtZTogJ0VudHJhdGEgaW4gdmlnb3JlJywgdmFsdWU6IDUgfSxcclxuICB7IG5hbWU6ICdEb2N1bWVudGkgYXppZW5kYWxpIG9iYmxpZ2F0b3JpJywgdmFsdWU6IDYgfSxcclxuICB7XHJcbiAgICBuYW1lOiAnQWx0cmkgYWRlbXBpbWVudGkgZm9ybWFsaSAoY29tdW5pY2F6aW9uaSwgZGljaGlhcmF6aW9uaSwgZWNjLi4uKScsXHJcbiAgICB2YWx1ZTogNyxcclxuICB9LFxyXG4gIHsgbmFtZTogJ0FsdHJvJywgdmFsdWU6IDk5IH0sXHJcbl07XHJcblxyXG5leHBvcnQgY29uc3QgT2JsaWdhdGlvbkF1dGhvcml0aWVzID0gW1xyXG4gIHsgbmFtZTogJ0FnZW56aWEgRUNIQScsIHZhbHVlOiAxIH0sXHJcbiAgeyBuYW1lOiAnQWxibyBOYXppb25hbGUgZGVpIEdlc3RvcmkgQW1iaWVudGFsaScsIHZhbHVlOiAyIH0sXHJcbiAgeyBuYW1lOiAnQVJQQScsIHZhbHVlOiA0IH0sXHJcbiAgeyBuYW1lOiAnQVNMJywgdmFsdWU6IDUgfSxcclxuICB7IG5hbWU6ICdDYW1lcmEgZGkgQ29tbWVyY2lvJywgdmFsdWU6IDggfSxcclxuICB7IG5hbWU6ICdDb21hbmRvIHByb3ZpbmNpYWxlIGRlaSBWaWdpbGkgZGVsIEZ1b2NvJywgdmFsdWU6IDEwIH0sXHJcbiAgeyBuYW1lOiAnQ29tdW5lJywgdmFsdWU6IDEzIH0sXHJcbiAgeyBuYW1lOiAnQ29uc29yemkgZ2VzdGlvbmUgcmlmaXV0aSBwYXJ0aWNvbGFyaScsIHZhbHVlOiAxNCB9LFxyXG4gIHsgbmFtZTogJ0dlc3RvcmUgZGVsIHNlcnZpemlvJywgdmFsdWU6IDIxIH0sXHJcbiAgeyBuYW1lOiAnR2VzdG9yZSBkZWxsYSByZXRlIGRpIHRyYXNtaXNzaW9uZSBuYXppb25hbGUnLCB2YWx1ZTogMjIgfSxcclxuICB7IG5hbWU6ICdJTkFJTCAtIElQU0VNQSAtIElTUEVTTCcsIHZhbHVlOiAyMyB9LFxyXG4gIHsgbmFtZTogJ0lTUFJBJywgdmFsdWU6IDI2IH0sXHJcbiAgeyBuYW1lOiAnTWluaXN0ZXJvJywgdmFsdWU6IDI3IH0sXHJcbiAgeyBuYW1lOiAnR2VuaW8gY2l2aWxlJywgdmFsdWU6IDMwIH0sXHJcbiAgeyBuYW1lOiAnT3JnYW5vIGRpIHZpZ2lsYW56YSBjb21wZXRlbnRlJywgdmFsdWU6IDMxIH0sXHJcbiAgeyBuYW1lOiAnUHJvdmluY2lhJywgdmFsdWU6IDMzIH0sXHJcbiAgeyBuYW1lOiAnUmVnaW9uZScsIHZhbHVlOiAzNSB9LFxyXG4gIHsgbmFtZTogJ1VmZmljaSB0ZWNuaWNpIGRpIGZpbmFuemEnLCB2YWx1ZTogMzYgfSxcclxuICB7IG5hbWU6ICdJc3BldHRvcmF0byBkZWwgbGF2b3JvJywgdmFsdWU6IDM3IH0sXHJcbiAgeyBuYW1lOiAnQ29taXRhdG8gUmVnaW9uYWxlIFRlY25pY28gVkYnLCB2YWx1ZTogMzggfSxcclxuICB7IG5hbWU6ICdQcmVmZXR0bycsIHZhbHVlOiAzOSB9LFxyXG4gIHsgbmFtZTogJ09yZ2FuaXNtbyBub3RpZmljYXRvJywgdmFsdWU6IDQwIH0sXHJcbiAgeyBuYW1lOiAnQ2l0dMOgIE1ldHJvcG9saXRhbmEnLCB2YWx1ZTogNDEgfSxcclxuICB7IG5hbWU6ICdOZXNzdW5hJywgdmFsdWU6IDI4IH0sXHJcbiAgeyBuYW1lOiAnQWx0cm8nLCB2YWx1ZTogMyB9XHJcbl07XHJcblxyXG5leHBvcnQgZW51bSBFUlBSZWN1cnJlbmNlRnJlcXVlbmN5VHlwZSB7XHJcbiAgRGF5ID0gMSxcclxuICBNb250aCA9IDIsXHJcbiAgWWVhciA9IDMsXHJcbn1cclxuZXhwb3J0IGNvbnN0IFJlY3VycmVuY2VGcmVxdWVuY3lUeXBlcyA9IFtcclxuICB7IG5hbWU6ICdBbm5pJywgdmFsdWU6IEVSUFJlY3VycmVuY2VGcmVxdWVuY3lUeXBlLlllYXIgfSxcclxuICB7IG5hbWU6ICdNZXNpJywgdmFsdWU6IEVSUFJlY3VycmVuY2VGcmVxdWVuY3lUeXBlLk1vbnRoIH0sXHJcbiAgeyBuYW1lOiAnR2lvcm5pJywgdmFsdWU6IEVSUFJlY3VycmVuY2VGcmVxdWVuY3lUeXBlLkRheSB9LFxyXG5dO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFdm9sdXRpb25Mb2dpblJlc3VsdCBleHRlbmRzIExvZ2luUmVzdWx0PEV2b2x1dGlvbkxvZ2luSW5mbz4ge1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEV2b2x1dGlvbkxvZ2luSW5mbyB7XHJcbiAgY29udGV4dDogYW55O1xyXG4gIGNvbXBsaWFuY2VDb250ZXh0PzogYW55IHwgbnVsbDtcclxuICB1c2VyQ3JlZGVudGlhbHM/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHVzZXJJZD86IG51bWJlciB8IG51bGw7XHJcbiAgT0FVVEg/OiBMb2dpbk9BdXRoVHlwZSB8IG51bGw7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXZvbHV0aW9uVXNlckxpbmsge1xyXG4gIGlkPzogbnVtYmVyIHwgbnVsbDtcclxuICB1c2VySWQ6IG51bWJlcjtcclxuICB1c2VyTmFtZT86IHN0cmluZyB8IG51bGw7XHJcbiAga2V5OiBzdHJpbmc7XHJcbn0iXX0=
|
|
363
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5pdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvZXZvbHV0aW9uLmNvbW1vbi9jb21tb24vZGVmaW5pdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxDQUFOLElBQVkscUJBR1g7QUFIRCxXQUFZLHFCQUFxQjtJQUMvQixpRUFBUSxDQUFBO0lBQ1IsdUZBQW1CLENBQUE7QUFDckIsQ0FBQyxFQUhXLHFCQUFxQixLQUFyQixxQkFBcUIsUUFHaEM7QUFHRCxNQUFNLENBQU4sSUFBWSw4QkFHWDtBQUhELFdBQVksOEJBQThCO0lBQ3hDLDJGQUFZLENBQUE7SUFDWiwyRkFBWSxDQUFBO0FBQ2QsQ0FBQyxFQUhXLDhCQUE4QixLQUE5Qiw4QkFBOEIsUUFHekM7QUFFRCxNQUFNLENBQU4sSUFBWSx3QkFPWDtBQVBELFdBQVksd0JBQXdCO0lBQ2xDLHVFQUFRLENBQUE7SUFDUiw2RUFBVyxDQUFBO0lBQ1gsNkVBQWdCLENBQUE7SUFDaEIsaUZBQWtCLENBQUE7SUFDbEIsK0VBQWlCLENBQUE7SUFDakIsZ0ZBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQVBXLHdCQUF3QixLQUF4Qix3QkFBd0IsUUFPbkM7QUFFRCxNQUFNLENBQU4sSUFBWSx5QkFHWDtBQUhELFdBQVkseUJBQXlCO0lBRW5DLDBJQUE2QyxDQUFBO0FBQy9DLENBQUMsRUFIVyx5QkFBeUIsS0FBekIseUJBQXlCLFFBR3BDO0FBRUQsTUFBTSxDQUFOLElBQVksa0JBYVg7QUFiRCxXQUFZLGtCQUFrQjtJQUM1QiwyREFBUSxDQUFBO0lBQ1IseUVBQWUsQ0FBQTtJQUNmLCtEQUFlLENBQUE7SUFDZix1RUFBbUIsQ0FBQTtJQUNuQiwrREFBZSxDQUFBO0lBQ2YsZ0VBQWUsQ0FBQTtJQUNmLDBFQUFvQixDQUFBO0lBQ3BCLGtFQUFnQixDQUFBO0lBQ2hCLDZFQUFxQixDQUFBO0lBQ3JCLHVFQUFrQixD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QUEwQixDQUFDLEtBQUssRUFBRTtJQUN6RCxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLDBCQUEwQixDQUFDLEdBQUcsRUFBRTtDQUMxRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9naW5SZXN1bHQgfSBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL2NvcmUnO1xyXG5pbXBvcnQgeyBMb2dpbk9BdXRoVHlwZSB9IGZyb20gJ0BhcnNlZGl6aW9uaS9hcnMtdXRpbHMvdWkub2F1dGgnO1xyXG5cclxuZXhwb3J0IGVudW0gRXZvbHV0aW9uU2VydmljZUZsYWdzIHtcclxuICBOb25lID0gMCxcclxuICBOb3RpZnk1MDBFcnJvcnMgPSAxXHJcbn1cclxuXHJcblxyXG5leHBvcnQgZW51bSBFUlBDb21wbGlhbmNlTGF3c1NlbGVjdGlvblR5cGUge1xyXG4gIEFuYWx5c2lzID0gMSxcclxuICBBY3Rpdml0eSA9IDIsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEVSUENvbXBsaWFuY2VQcm9maWxlUm9sZSB7XHJcbiAgTm9uZSA9IDAsXHJcbiAgQW5hbHlzdCA9IDEsXHJcbiAgUGxhbm5lciA9IDEgPDwgMSxcclxuICBWYWxpZGF0b3IgPSAxIDw8IDIsXHJcbiAgRXhlY3V0b3IgPSAxIDw8IDMsXHJcbiAgT2JzZXJ2ZXIgPSAxIDw8IDQsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEVSUENvbXBsaWFuY2VQcm9maWxlRmxhZ3Mge1xyXG5cclxuICBPdmVycmlkZU5vdGlmaWNhdGlvblJlZ2lzdGVyU2V0dGluZ3MgPSAxIDw8IDQsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEVSUENvbXBsaWFuY2VTY29wZSB7XHJcbiAgTm9uZSA9IDAsXHJcbiAgRW52aXJvbm1lbnQgPSAxLFxyXG4gIFNhZmV0eSA9IDEgPDwgMSxcclxuICBGb29kU2FmZXR5ID0gMSA8PCAyLFxyXG4gIEVuZXJneSA9IDEgPDwgMyxcclxuICBIZWFsdGggPSAxIDw8IDQsXHJcbiAgTWFpbnRlbmFuY2UgPSAxIDw8IDUsXHJcbiAgUXVhbGl0eSA9IDEgPDwgNixcclxuICBPcmdhbml6YXRpb24gPSAxIDw8IDcsXHJcbiAgTG9naXN0aWNzID0gMSA8PCA4LFxyXG4gIEZhY2lsaXR5ID0gMSA8PCA5LFxyXG4gIFNlY3VyaXR5ID0gMSA8PCAxMFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBFUlBDb21wbGlhbmNlTm90aWZpY2F0aW9uTGltaXQge1xyXG4gIE5vbmUgPSAwLFxyXG4gIFBsYW5uZXJPbmx5ID0gMSxcclxuICBFeGVjdXRvck9ubHkgPSAyLFxyXG4gIEJvdGggPSAzLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBFUlBDb21wbGlhbmNlUmVnaXN0ZXJOb3RpZmljYXRpb25UeXBlIHtcclxuICBOb25lID0gMCxcclxuICBOZXdBbmFseXNpcyA9IDEsXHJcbiAgQW5hbHlzaXNDb21wbGV0ZWQgPSAxIDw8IDEsXHJcbiAgQW5hbHlzaXNOb3RpY2VQZXJpb2RTdGFydGVkID0gMSA8PCAyLFxyXG4gIEFuYWx5c2lzUGVyaW9kRXhwaXJlZCA9IDEgPDwgMyxcclxuICBBbmFseXNpc0xhd0NoYW5nZWQgPSAxIDw8IDE0LFxyXG4gIE5ld1BsYW5uaW5nID0gMSA8PCAxMyxcclxuICBQbGFubmluZ0NvbXBsZXRlZCA9IDEgPDwgNCxcclxuICBQbGFubmluZ05vdGljZVBlcmlvZFN0YXJ0ZWQgPSAxIDw8IDUsXHJcbiAgUGxhbm5pbmdQZXJpb2RFeHBpcmVkID0gMSA8PCA2LFxyXG4gIE5ld1ZhbGlkYXRpb24gPSAxIDw8IDE1LFxyXG4gIFZhbGlkYXRpb25Db21wbGV0ZWQgPSAxIDw8IDcsXHJcbiAgVmFsaWRhdGlvbk5vdGljZVBlcmlvZFN0YXJ0ZWQgPSAxIDw8IDgsXHJcbiAgVmFsaWRhdGlvblBlcmlvZEV4cGlyZWQgPSAxIDw8IDksXHJcbiAgTmV3RGVhZGxpbmUgPSAxIDw8IDE2LFxyXG4gIERlYWRsaW5lTm90aWNlUGVyaW9kU3RhcnRlZCA9IDEgPDwgMTAsXHJcbiAgRGVhZGxpbmVFeHBpcmVkID0gMSA8PCAxMSxcclxuICBBY3Rpdml0eUNvbXBsZXRlZCA9IDEgPDwgMTIsXHJcbiAgLy9OZXdOb25jb21wbGlhbmNlID0gMSA8PCAxNyxcclxuICAvL05vbkNvbXBsaWFuY2VOb3RpY2VQZXJpb2RTdGFydGVkID0gMSA8PCAxOCxcclxuICAvL05vbkNvbXBsaWFuY2VQZXJpb2RFeHBpcmVkID0gMSA8PCAxOSxcclxuICAvL05vbkNvbXBsaWFuY2VDb21wbGV0ZWQgPSAxIDw8IDIwLFxyXG4gIExhd0NoYW5nZWQgPSAxIDw8IDIxLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBFUlBDb21wbGlhbmNlUmVnaXN0ZXJTaXRlSW1wb3J0T3B0aW9uc1xyXG57XHJcbiAgICBDb3B5QXR0YWNobWVudHMgPSAxLFxyXG4gICAgS2VlcE9yaWdpbmFsRGF0ZXMgPSAxIDw8IDEsXHJcbiAgICBEdXBsaWNhdGVMYXdzID0gIDEgPDwgMixcclxuICAgIERpc2NhcmROb3RBcHBsaWNhYmxlcyA9IDEgPDwgM1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgUHJvZmlsZVJvbGVzID0gW1xyXG4gIHsgbmFtZTogJ0FuYWxpc3RhJywgdmFsdWU6IEVSUENvbXBsaWFuY2VQcm9maWxlUm9sZS5BbmFseXN0IH0sXHJcbiAgeyBuYW1lOiAnR2VzdG9yZScsIHZhbHVlOiBFUlBDb21wbGlhbmNlUHJvZmlsZVJvbGUuUGxhbm5lciB9LFxyXG4gIC8veyBuYW1lOiAnVmFsaWRhdG9yZScsIHZhbHVlOiBFUlBDb21wbGlhbmNlUHJvZmlsZVJvbGUuVmFsaWRhdG9yIH0sXHJcbiAgeyBuYW1lOiAnRXNlY3V0b3JlJywgdmFsdWU6IEVSUENvbXBsaWFuY2VQcm9maWxlUm9sZS5FeGVjdXRvciB9LFxyXG4gIHsgbmFtZTogJ09zc2VydmF0b3JlJywgdmFsdWU6IEVSUENvbXBsaWFuY2VQcm9maWxlUm9sZS5PYnNlcnZlciB9LFxyXG5dO1xyXG5cclxuZXhwb3J0IGNvbnN0IFByb2ZpbGVGbGFncyA9IFtcclxuICB7IG5hbWU6ICdEZXJvZ2hlIGUgbGltaXRhemlvbmknLCBkaXZpZGVyOiB0cnVlIH0sXHJcbiAge1xyXG4gICAgbmFtZTpcclxuICAgICAgJ1F1ZXN0byBwcm9maWxvIHJpY2V2ZSByZWdvbGFybWVudGUgbGUgbm90aWZpY2hlIGluZGlwZW5kZW50ZW1lbnRlIGRhbGxhIGNvbmZpZ3VyYXppb25lIGdlbmVyYWxlIGRlbCByZWdpc3RybycsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZVByb2ZpbGVGbGFncy5PdmVycmlkZU5vdGlmaWNhdGlvblJlZ2lzdGVyU2V0dGluZ3MsXHJcbiAgfSxcclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBTY29wZXMgPSBbXHJcbiAgeyBuYW1lOiAnQW1iaWVudGUnLCB2YWx1ZTogRVJQQ29tcGxpYW5jZVNjb3BlLkVudmlyb25tZW50IH0sXHJcbiAgeyBuYW1lOiAnU2FsdXRlIGUgc2ljdXJlenphJywgdmFsdWU6IEVSUENvbXBsaWFuY2VTY29wZS5TYWZldHkgfSxcclxuICB7XHJcbiAgICBuYW1lOiAnU2ljdXJlenphIGFsaW1lbnRhcmUnLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VTY29wZS5Gb29kU2FmZXR5LFxyXG4gIH0sXHJcbiAgeyBuYW1lOiAnRW5lcmdpYScsIHZhbHVlOiBFUlBDb21wbGlhbmNlU2NvcGUuRW5lcmd5IH0sXHJcbiAgeyBuYW1lOiAnU2Vydml6aSBnZW5lcmFsaScsIHZhbHVlOiBFUlBDb21wbGlhbmNlU2NvcGUuRmFjaWxpdHkgfSxcclxuICB7IG5hbWU6ICdNYW51dGVuemlvbmUnLCB2YWx1ZTogRVJQQ29tcGxpYW5jZVNjb3BlLk1haW50ZW5hbmNlIH0sXHJcbiAgeyBuYW1lOiAnUXVhbGl0w6AnLCB2YWx1ZTogRVJQQ29tcGxpYW5jZVNjb3BlLlF1YWxpdHkgfSxcclxuICB7IG5hbWU6ICdPcmdhbml6emF6aW9uZScsIHZhbHVlOiBFUlBDb21wbGlhbmNlU2NvcGUuT3JnYW5pemF0aW9uIH0sXHJcbiAgeyBuYW1lOiAnTG9naXN0aWNhJywgdmFsdWU6IEVSUENvbXBsaWFuY2VTY29wZS5Mb2dpc3RpY3MgfSxcclxuICB7IG5hbWU6ICdTZWN1cml0eScsIHZhbHVlOiBFUlBDb21wbGlhbmNlU2NvcGUuU2VjdXJpdHkgfSxcclxuICAgXHJcbl07XHJcblxyXG5leHBvcnQgY29uc3QgTm90aWZpY2F0aW9uTGltaXRzID0gW1xyXG4gIHsgbmFtZTogJ05lc3N1bmEgbGltaXRhemlvbmUnLCB2YWx1ZTogRVJQQ29tcGxpYW5jZU5vdGlmaWNhdGlvbkxpbWl0Lk5vbmUgfSxcclxuICB7XHJcbiAgICBuYW1lOiAnU29sbyBnZXN0b3JlIGNoZSBoYSBwaWFuaWZpY2F0bycsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZU5vdGlmaWNhdGlvbkxpbWl0LlBsYW5uZXJPbmx5LFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbmFtZTogXCJTb2xvIGFsbCdpbmNhcmljYXRvIGRlc2lnbmF0b1wiLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VOb3RpZmljYXRpb25MaW1pdC5FeGVjdXRvck9ubHksXHJcbiAgfSxcclxuICB7XHJcbiAgICBuYW1lOiAnU29sbyBhIGdlc3RvcmUgZSBpbmNhcmljYXRvIGRlc2lnbmF0bycsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZU5vdGlmaWNhdGlvbkxpbWl0LkJvdGgsXHJcbiAgfSxcclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBOb3RpZmljYXRpb25zID0gW1xyXG4gIHsgbmFtZTogJ1ZlcmlmaWNhIGFwcGxpY2FiaWxpdMOgIGUgYW5hbGlzaScsIGRpdmlkZXI6IHRydWUgfSxcclxuICB7XHJcbiAgICBuYW1lOiAnUmljaGllc3RhIGFuYWxpc2knLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VSZWdpc3Rlck5vdGlmaWNhdGlvblR5cGUuTmV3QW5hbHlzaXMsXHJcbiAgfSxcclxuICB7XHJcbiAgICBuYW1lOiBcIlByZWF2dmlzbzogc3RhIHBlciBzY2FkZXJlIGlsIHRlcm1pbmUgZmlzc2F0byBwZXIgbCdhbmFsaXNpXCIsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZVJlZ2lzdGVyTm90aWZpY2F0aW9uVHlwZS5BbmFseXNpc05vdGljZVBlcmlvZFN0YXJ0ZWQsXHJcbiAgfSxcclxuICB7XHJcbiAgICBuYW1lOiBcIkFsbGFybWU6IMOoIHNjYWR1dG8gaWwgdGVybWluZSBmaXNzYXRvIHBlciBsJ2FuYWxpc2lcIixcclxuICAgIHZhbHVlOiBFUlBDb21wbGlhbmNlUmVnaXN0ZXJOb3RpZmljYXRpb25UeXBlLkFuYWx5c2lzUGVyaW9kRXhwaXJlZCxcclxuICB9LFxyXG4gIHtcclxuICAgIG5hbWU6ICdBbmFsaXNpIGNvbXBsZXRhdGEnLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VSZWdpc3Rlck5vdGlmaWNhdGlvblR5cGUuQW5hbHlzaXNDb21wbGV0ZWQsXHJcbiAgfSxcclxuICB7XHJcbiAgICBuYW1lOiAnQXZ2aXNvIG5vcm1hIG1vZGlmaWNhdGEgZGFsIGxlZ2lzbGF0b3JlJyxcclxuICAgIHZhbHVlOiBFUlBDb21wbGlhbmNlUmVnaXN0ZXJOb3RpZmljYXRpb25UeXBlLkFuYWx5c2lzTGF3Q2hhbmdlZCxcclxuICB9LFxyXG4gIHsgbmFtZTogJ1BpYW5pZmljYXppb25pJywgZGl2aWRlcjogdHJ1ZSB9LFxyXG4gIHtcclxuICAgIG5hbWU6ICdSaWNoaWVzdGEgZ2VzdGlvbmUnLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VSZWdpc3Rlck5vdGlmaWNhdGlvblR5cGUuTmV3UGxhbm5pbmcsXHJcbiAgfSxcclxuICB7XHJcbiAgICBuYW1lOiAnUHJlYXZ2aXNvOiBzdGEgcGVyIHNjYWRlcmUgaWwgdGVybWluZSBmaXNzYXRvIHBlciBsYSBnZXN0aW9uZScsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZVJlZ2lzdGVyTm90aWZpY2F0aW9uVHlwZS5QbGFubmluZ05vdGljZVBlcmlvZFN0YXJ0ZWQsXHJcbiAgfSxcclxuICB7XHJcbiAgICBuYW1lOiAnQWxsYXJtZTogw6ggc2NhZHV0byBpbCB0ZXJtaW5lIGZpc3NhdG8gcGVyIGxhIGdlc3Rpb25lJyxcclxuICAgIHZhbHVlOiBFUlBDb21wbGlhbmNlUmVnaXN0ZXJOb3RpZmljYXRpb25UeXBlLlBsYW5uaW5nUGVyaW9kRXhwaXJlZCxcclxuICB9LFxyXG4gIHtcclxuICAgIG5hbWU6ICdHZXN0aW9uZSBjb21wbGV0YXRhJyxcclxuICAgIHZhbHVlOiBFUlBDb21wbGlhbmNlUmVnaXN0ZXJOb3RpZmljYXRpb25UeXBlLlBsYW5uaW5nQ29tcGxldGVkLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbmFtZTogJ0F0dGl2aXTDoCBjb21wbGV0YXRhJyxcclxuICAgIHZhbHVlOiBFUlBDb21wbGlhbmNlUmVnaXN0ZXJOb3RpZmljYXRpb25UeXBlLkFjdGl2aXR5Q29tcGxldGVkLFxyXG4gIH0sXHJcbiAgLyp7IG5hbWU6ICdHZXN0aW9uZSBub24gY29uZm9ybWl0w6AnLCBkaXZpZGVyOiB0cnVlIH0sXHJcbiAge1xyXG4gICAgbmFtZTogJ0FwZXJ0dXJhIG5vbiBjb21mb3JtaXTDoCcsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZVJlZ2lzdGVyTm90aWZpY2F0aW9uVHlwZS5OZXdOb25jb21wbGlhbmNlLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbmFtZTpcclxuICAgICAgXCJQcmVhdnZpc286IHN0YSBwZXIgc2NhZGVyZSBpbCB0ZXJtaW5lIGZpc3NhdG8gcGVyIGwnYXppb25lIGNvcnJldHRpdmFcIixcclxuICAgIHZhbHVlOlxyXG4gICAgICBFUlBDb21wbGlhbmNlUmVnaXN0ZXJOb3RpZmljYXRpb25UeXBlLk5vbkNvbXBsaWFuY2VOb3RpY2VQZXJpb2RTdGFydGVkLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbmFtZTogXCJBbGxhcm1lOiDDqCBzY2FkdXRvIGlsIHRlcm1pbmUgZmlzc2F0byBwZXIgbCdhemlvbmUgY29ycmV0dGl2YVwiLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VSZWdpc3Rlck5vdGlmaWNhdGlvblR5cGUuTm9uQ29tcGxpYW5jZVBlcmlvZEV4cGlyZWQsXHJcbiAgfSxcclxuICB7XHJcbiAgICBuYW1lOiAnQ2hpdXN1cmEgbm9uIGNvbmZvcm1pdMOgJyxcclxuICAgIHZhbHVlOiBFUlBDb21wbGlhbmNlUmVnaXN0ZXJOb3RpZmljYXRpb25UeXBlLk5vbkNvbXBsaWFuY2VDb21wbGV0ZWQsXHJcbiAgfSwqL1xyXG4gIC8qeyBuYW1lOiAnQXBwcm92YXppb25pJywgZGl2aWRlcjogdHJ1ZSB9LFxyXG4gIHsgbmFtZTogJ1JpY2hpZXN0YSBhcHByb3ZhemlvbmUnLCB2YWx1ZTogMSA8PCAxNCB9LFxyXG4gIHtcclxuICAgIG5hbWU6IFwiUHJlYXZ2aXNvOiBzdGEgcGVyIHNjYWRlcmUgaWwgdGVybWluZSBmaXNzYXRvIHBlciBsJ2FwcHJvdmF6aW9uZVwiLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VSZWdpc3Rlck5vdGlmaWNhdGlvblR5cGUuVmFsaWRhdGlvbk5vdGljZVBlcmlvZFN0YXJ0ZWQsXHJcbiAgfSxcclxuICB7XHJcbiAgICBuYW1lOiBcIkFsbGFybWU6IMOoIHNjYWR1dG8gaWwgdGVybWluZSBmaXNzYXRvIHBlciBsJ2FwcHJvdmF6aW9uZVwiLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VSZWdpc3Rlck5vdGlmaWNhdGlvblR5cGUuVmFsaWRhdGlvblBlcmlvZEV4cGlyZWQsXHJcbiAgfSxcclxuICB7XHJcbiAgICBuYW1lOiAnQXBwcm92YXppb25lIGNvbmNlc3NhIG8gbmVnYXRhJyxcclxuICAgIHZhbHVlOiBFUlBDb21wbGlhbmNlUmVnaXN0ZXJOb3RpZmljYXRpb25UeXBlLlZhbGlkYXRpb25Db21wbGV0ZWQsXHJcbiAgfSwqL1xyXG4gIHsgbmFtZTogJ1NjYWRlbnplJywgZGl2aWRlcjogdHJ1ZSB9LFxyXG4gIHtcclxuICAgIG5hbWU6ICdQcmVhdnZpc286IDHCsCBwcm9tZW1vcmlhIHN1bGxhIGRhdGEgZGkgc2NhZGVuemEnLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VSZWdpc3Rlck5vdGlmaWNhdGlvblR5cGUuTmV3VmFsaWRhdGlvbixcclxuICB9LFxyXG4gIHtcclxuICAgIG5hbWU6ICdBdnZpc286IDLCsCBwcm9tZW1vcmlhIHN1bGxhIGRhdGEgZGkgc2NhZGVuemEnLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VSZWdpc3Rlck5vdGlmaWNhdGlvblR5cGUuRGVhZGxpbmVOb3RpY2VQZXJpb2RTdGFydGVkLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbmFtZTogJ0FsbGFybWU6IMOoIHNjYWR1dG8gaWwgdGVybWluZScsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZVJlZ2lzdGVyTm90aWZpY2F0aW9uVHlwZS5EZWFkbGluZUV4cGlyZWQsXHJcbiAgfSxcclxuICB7IG5hbWU6ICdOb3JtZSBjb2xsZWdhdGUnLCBkaXZpZGVyOiB0cnVlIH0sXHJcbiAge1xyXG4gICAgbmFtZTogJ01vZGlmaWNhIG8gYWJyb2dhemlvbmUnLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VSZWdpc3Rlck5vdGlmaWNhdGlvblR5cGUuTGF3Q2hhbmdlZCxcclxuICB9LFxyXG5cclxuXTtcclxuXHJcbmV4cG9ydCBlbnVtIEVSUENvbXBsaWFuY2VMYXdTdGF0ZSB7XHJcbiAgQXBwbGljYWJsZU9yQWtub3dsZWRnZWQgPSAxLFxyXG4gIE5vdEFwcGxpY2FibGUgPSAyLFxyXG4gIE5vdEFuYWx5emVkID0gMyxcclxuICBFeHBpcmVkQW5hbHlzaXMgPSA0LFxyXG4gIFVwZGF0ZWRMYXdzID0gNSxcclxuICBBbmFseXplZCA9IDYsXHJcbiAgQWJyb2dhdGVkID0gNyxcclxuICBBcHBsaWNhYmxlID0gOCxcclxuICBBa25vd2xlZGdlZCA9IDlcclxufVxyXG5cclxuZXhwb3J0IGVudW0gRVJQQ29tcGxpYW5jZUxhd09yaWdpbiB7XHJcbiAgTmF0aW9uYWwgPSAxLFxyXG4gIEVVID0gMixcclxuICBSZWdpb25hbCA9IDMsXHJcbiAgTG9jYWwgPSA0LFxyXG4gIFRlY2huaWNhbCA9IDUsXHJcbiAgVm91bG9udGFyeSA9IDYsXHJcbiAgSW50ZXJuYWwgPSA3LFxyXG4gIE90aGVyID0gOCxcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IExhd1N0YXRlcyA9IFtcclxuICB7IG5hbWU6ICdBcHBsaWNhYmlsZScsIHZhbHVlOiBFUlBDb21wbGlhbmNlTGF3U3RhdGUuQXBwbGljYWJsZSB9LFxyXG4gIHsgbmFtZTogJ0RhIGNvbm9zY2VyZScsIHZhbHVlOiBFUlBDb21wbGlhbmNlTGF3U3RhdGUuQWtub3dsZWRnZWQgfSxcclxuICB7XHJcbiAgICBuYW1lOiAnQXBwbGljYWJpbGUgLyBkYSBjb25vc2NlcmUnLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VMYXdTdGF0ZS5BcHBsaWNhYmxlT3JBa25vd2xlZGdlZCxcclxuICB9LFxyXG4gIHsgbmFtZTogJ05vbiBhcHBsaWNhYmlsZScsIHZhbHVlOiBFUlBDb21wbGlhbmNlTGF3U3RhdGUuTm90QXBwbGljYWJsZSB9LFxyXG4gIHsgbmFtZTogJ0Ficm9nYXRhJywgdmFsdWU6IEVSUENvbXBsaWFuY2VMYXdTdGF0ZS5BYnJvZ2F0ZWQgfSxcclxuICB7IG5hbWU6ICdBbmFsaXp6YXRhJywgdmFsdWU6IEVSUENvbXBsaWFuY2VMYXdTdGF0ZS5BbmFseXplZCB9LFxyXG4gIHsgbmFtZTogJ0RhIGRlZmluaXJlJywgdmFsdWU6IEVSUENvbXBsaWFuY2VMYXdTdGF0ZS5Ob3RBbmFseXplZCB9LCAgXHJcbiAgeyBuYW1lOiAnSW4gcml0YXJkbycsIHZhbHVlOiBFUlBDb21wbGlhbmNlTGF3U3RhdGUuRXhwaXJlZEFuYWx5c2lzIH0sXHJcbiAge1xyXG4gICAgbmFtZTogJ0NvbiBhZ2dpb3JuYW1lbnRpIHBlbmRlbnRpJyxcclxuICAgIHZhbHVlOiBFUlBDb21wbGlhbmNlTGF3U3RhdGUuVXBkYXRlZExhd3MsXHJcbiAgfSxcclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBMYXdPcmlnaW5zID0gW1xyXG4gIHsgbmFtZTogJ05hemlvbmFsZScsIHZhbHVlOiBFUlBDb21wbGlhbmNlTGF3T3JpZ2luLk5hdGlvbmFsIH0sXHJcbiAgeyBuYW1lOiAnQ29tdW5pdGFyaWEnLCB2YWx1ZTogRVJQQ29tcGxpYW5jZUxhd09yaWdpbi5FVSB9LFxyXG4gIHsgbmFtZTogJ1JlZ2lvbmFsZScsIHZhbHVlOiBFUlBDb21wbGlhbmNlTGF3T3JpZ2luLlJlZ2lvbmFsIH0sXHJcbiAgeyBuYW1lOiAnTG9jYWxlJywgdmFsdWU6IEVSUENvbXBsaWFuY2VMYXdPcmlnaW4uTG9jYWwgfSxcclxuICB7IG5hbWU6ICdUZWNuaWNhJywgdmFsdWU6IEVSUENvbXBsaWFuY2VMYXdPcmlnaW4uVGVjaG5pY2FsIH0sXHJcbiAgeyBuYW1lOiAnSW50ZXJuYScsIHZhbHVlOiBFUlBDb21wbGlhbmNlTGF3T3JpZ2luLkludGVybmFsIH0sXHJcbiAgeyBuYW1lOiAnVm9sb250YXJpYScsIHZhbHVlOiBFUlBDb21wbGlhbmNlTGF3T3JpZ2luLlZvdWxvbnRhcnkgfSxcclxuICB7IG5hbWU6ICdBbHRybycsIHZhbHVlOiBFUlBDb21wbGlhbmNlTGF3T3JpZ2luLk90aGVyIH0sXHJcbl07XHJcblxyXG5leHBvcnQgY29uc3QgTGF3Q2hhbmdlU3RhdGVzID0gW1xyXG4gIHsgbmFtZTogJ0FwZXJ0bycsIHZhbHVlOiAxIH0sXHJcbiAgeyBuYW1lOiAnQ2hpdXNvJywgdmFsdWU6IDIgfSxcclxuXTtcclxuXHJcbmV4cG9ydCBlbnVtIEVSUENvbXBsaWFuY2VBY3Rpdml0eVN0YXRlIHtcclxuICBOb3RQbGFubmVkID0gMSA8PCA3LFxyXG4gIENsb3NlZCA9IDEgPDwgMiwgIFxyXG4gIEV4cGlyZWQgPSAxIDw8IDMsXHJcbiAgUGxhbm5lZCA9IDEgPDwgOCxcclxuICBDYW5jZWxsZWQgPSAxIDw8IDksXHJcbiAgVXBkYXRlZExhd3MgPSAxIDw8IDEwLFxyXG4gIEFscmVhZHlNYW5hZ2VkID0gMSA8PCAxMVxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgQWN0aXZpdHlTdGF0ZXMgPSBbIFxyXG4gIHtcclxuICAgIG5hbWU6ICdEYSBkZWZpbmlyZScsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZUFjdGl2aXR5U3RhdGUuTm90UGxhbm5lZCxcclxuICB9LFxyXG4gIHtcclxuICAgIG5hbWU6ICdQaWFuaWZpY2F0YScsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZUFjdGl2aXR5U3RhdGUuUGxhbm5lZCxcclxuICB9LFxyXG4gIHtcclxuICAgIG5hbWU6ICdDaGl1c2EnLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VBY3Rpdml0eVN0YXRlLkNsb3NlZCxcclxuICB9LFxyXG4gIHtcclxuICAgIG5hbWU6ICdJbiByaXRhcmRvJyxcclxuICAgIHZhbHVlOiBFUlBDb21wbGlhbmNlQWN0aXZpdHlTdGF0ZS5FeHBpcmVkLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbmFtZTogJ0FubnVsbGF0YScsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZUFjdGl2aXR5U3RhdGUuQ2FuY2VsbGVkLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbmFtZTogJ0dlc3RpdGEgc2VwYXJhdGFtZW50ZScsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZUFjdGl2aXR5U3RhdGUuQWxyZWFkeU1hbmFnZWQsXHJcbiAgfSxcclxuICB7XHJcbiAgICBuYW1lOiAnQ29uIGFnZ2lvcm5hbWVudGkgcGVuZGVudGknLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VBY3Rpdml0eVN0YXRlLlVwZGF0ZWRMYXdzLFxyXG4gIH0sXHJcbl07XHJcblxyXG5leHBvcnQgY29uc3QgT2JsaWdhdGlvblR5cGVzID0gW1xyXG4gIHsgbmFtZTogJ0F1dG9yaXp6YXppb25lJywgdmFsdWU6IDEgfSxcclxuICB7IG5hbWU6ICdWZXJpZmljaGUgcGVyaW9kaWNoZSBtYW51dGVudGl2ZScsIHZhbHVlOiAyIH0sXHJcbiAgeyBuYW1lOiAnTWlzdXJlIG9yZ2FuaXp6YXRpdmUnLCB2YWx1ZTogMyB9LFxyXG4gIHsgbmFtZTogJ0NvbnRyb2xsaSBlIG1pc3VyYXppb25pJywgdmFsdWU6IDQgfSxcclxuICB7IG5hbWU6ICdFbnRyYXRhIGluIHZpZ29yZScsIHZhbHVlOiA1IH0sXHJcbiAgeyBuYW1lOiAnRG9jdW1lbnRpIGF6aWVuZGFsaSBvYmJsaWdhdG9yaScsIHZhbHVlOiA2IH0sXHJcbiAge1xyXG4gICAgbmFtZTogJ0FsdHJpIGFkZW1waW1lbnRpIGZvcm1hbGkgKGNvbXVuaWNhemlvbmksIGRpY2hpYXJhemlvbmksIGVjYy4uLiknLFxyXG4gICAgdmFsdWU6IDcsXHJcbiAgfSxcclxuICB7IG5hbWU6ICdBbHRybycsIHZhbHVlOiA5OSB9LFxyXG5dO1xyXG5cclxuZXhwb3J0IGNvbnN0IE9ibGlnYXRpb25BdXRob3JpdGllcyA9IFtcclxuICB7IG5hbWU6ICdBZ2VuemlhIEVDSEEnLCB2YWx1ZTogMSB9LFxyXG4gIHsgbmFtZTogJ0FsYm8gTmF6aW9uYWxlIGRlaSBHZXN0b3JpIEFtYmllbnRhbGknLCB2YWx1ZTogMiB9LFxyXG4gIHsgbmFtZTogJ0FSUEEnLCB2YWx1ZTogNCB9LFxyXG4gIHsgbmFtZTogJ0FTTCcsIHZhbHVlOiA1IH0sXHJcbiAgeyBuYW1lOiAnQ2FtZXJhIGRpIENvbW1lcmNpbycsIHZhbHVlOiA4IH0sXHJcbiAgeyBuYW1lOiAnQ29tYW5kbyBwcm92aW5jaWFsZSBkZWkgVmlnaWxpIGRlbCBGdW9jbycsIHZhbHVlOiAxMCB9LFxyXG4gIHsgbmFtZTogJ0NvbXVuZScsIHZhbHVlOiAxMyB9LFxyXG4gIHsgbmFtZTogJ0NvbnNvcnppIGdlc3Rpb25lIHJpZml1dGkgcGFydGljb2xhcmknLCB2YWx1ZTogMTQgfSxcclxuICB7IG5hbWU6ICdHZXN0b3JlIGRlbCBzZXJ2aXppbycsIHZhbHVlOiAyMSB9LFxyXG4gIHsgbmFtZTogJ0dlc3RvcmUgZGVsbGEgcmV0ZSBkaSB0cmFzbWlzc2lvbmUgbmF6aW9uYWxlJywgdmFsdWU6IDIyIH0sXHJcbiAgeyBuYW1lOiAnSU5BSUwgLSBJUFNFTUEgLSBJU1BFU0wnLCB2YWx1ZTogMjMgfSxcclxuICB7IG5hbWU6ICdJU1BSQScsIHZhbHVlOiAyNiB9LFxyXG4gIHsgbmFtZTogJ01pbmlzdGVybycsIHZhbHVlOiAyNyB9LFxyXG4gIHsgbmFtZTogJ0dlbmlvIGNpdmlsZScsIHZhbHVlOiAzMCB9LFxyXG4gIHsgbmFtZTogJ09yZ2FubyBkaSB2aWdpbGFuemEgY29tcGV0ZW50ZScsIHZhbHVlOiAzMSB9LFxyXG4gIHsgbmFtZTogJ1Byb3ZpbmNpYScsIHZhbHVlOiAzMyB9LFxyXG4gIHsgbmFtZTogJ1JlZ2lvbmUnLCB2YWx1ZTogMzUgfSxcclxuICB7IG5hbWU6ICdVZmZpY2kgdGVjbmljaSBkaSBmaW5hbnphJywgdmFsdWU6IDM2IH0sXHJcbiAgeyBuYW1lOiAnSXNwZXR0b3JhdG8gZGVsIGxhdm9ybycsIHZhbHVlOiAzNyB9LFxyXG4gIHsgbmFtZTogJ0NvbWl0YXRvIFJlZ2lvbmFsZSBUZWNuaWNvIFZGJywgdmFsdWU6IDM4IH0sXHJcbiAgeyBuYW1lOiAnUHJlZmV0dG8nLCB2YWx1ZTogMzkgfSxcclxuICB7IG5hbWU6ICdPcmdhbmlzbW8gbm90aWZpY2F0bycsIHZhbHVlOiA0MCB9LFxyXG4gIHsgbmFtZTogJ0NpdHTDoCBNZXRyb3BvbGl0YW5hJywgdmFsdWU6IDQxIH0sXHJcbiAgeyBuYW1lOiAnTmVzc3VuYScsIHZhbHVlOiAyOCB9LFxyXG4gIHsgbmFtZTogJ0FsdHJvJywgdmFsdWU6IDMgfVxyXG5dO1xyXG5cclxuZXhwb3J0IGVudW0gRVJQUmVjdXJyZW5jZUZyZXF1ZW5jeVR5cGUge1xyXG4gIERheSA9IDEsXHJcbiAgTW9udGggPSAyLFxyXG4gIFllYXIgPSAzLFxyXG59XHJcbmV4cG9ydCBjb25zdCBSZWN1cnJlbmNlRnJlcXVlbmN5VHlwZXMgPSBbXHJcbiAgeyBuYW1lOiAnQW5uaScsIHZhbHVlOiBFUlBSZWN1cnJlbmNlRnJlcXVlbmN5VHlwZS5ZZWFyIH0sXHJcbiAgeyBuYW1lOiAnTWVzaScsIHZhbHVlOiBFUlBSZWN1cnJlbmNlRnJlcXVlbmN5VHlwZS5Nb250aCB9LFxyXG4gIHsgbmFtZTogJ0dpb3JuaScsIHZhbHVlOiBFUlBSZWN1cnJlbmNlRnJlcXVlbmN5VHlwZS5EYXkgfSxcclxuXTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXZvbHV0aW9uTG9naW5SZXN1bHQgZXh0ZW5kcyBMb2dpblJlc3VsdDxFdm9sdXRpb25Mb2dpbkluZm8+IHtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFdm9sdXRpb25Mb2dpbkluZm8ge1xyXG4gIGNvbnRleHQ6IGFueTtcclxuICBjb21wbGlhbmNlQ29udGV4dD86IGFueSB8IG51bGw7XHJcbiAgdXNlckNyZWRlbnRpYWxzPzogc3RyaW5nIHwgbnVsbDtcclxuICB1c2VySWQ/OiBudW1iZXIgfCBudWxsO1xyXG4gIE9BVVRIPzogTG9naW5PQXV0aFR5cGUgfCBudWxsO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEV2b2x1dGlvblVzZXJMaW5rIHtcclxuICBpZD86IG51bWJlciB8IG51bGw7XHJcbiAgdXNlcklkOiBudW1iZXI7XHJcbiAgdXNlck5hbWU/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGtleTogc3RyaW5nO1xyXG59Il19
|
|
@@ -5,6 +5,7 @@ import { DialogService } from '@arsedizioni/ars-utils/ui';
|
|
|
5
5
|
import { catchError, switchMap, throwError } from 'rxjs';
|
|
6
6
|
import { EvolutionService } from '../services/evolution.service';
|
|
7
7
|
import { EvolutionMessages } from '../messages';
|
|
8
|
+
import { EvolutionServiceFlags } from '../definitions';
|
|
8
9
|
import * as i0 from "@angular/core";
|
|
9
10
|
export class EvolutionAuthInterceptor {
|
|
10
11
|
constructor() {
|
|
@@ -24,15 +25,18 @@ export class EvolutionAuthInterceptor {
|
|
|
24
25
|
error.status === 401) {
|
|
25
26
|
return this.handle401Error(request, next);
|
|
26
27
|
}
|
|
27
|
-
const
|
|
28
|
-
if (
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
28
|
+
const errorStatus = parseInt(error.status ?? "0");
|
|
29
|
+
if (errorStatus < 500 || (this.evolutionService.flags & EvolutionServiceFlags.Notify500Errors) > 0) {
|
|
30
|
+
const errorTime = new Date().getTime();
|
|
31
|
+
if (errorTime - this.lastErrorTime > 5000) {
|
|
32
|
+
this.lastErrorTime = errorTime;
|
|
33
|
+
const invalidSession = errorStatus === 403;
|
|
34
|
+
this.dialogService.error("<p>" + (error.error?.message ?? error.message ?? "Impossibile eseguire l'operazione richiesta.").replaceAll("\r\n", "</p><p>") + "</p>", null, "Errore in Evolution", undefined, undefined, invalidSession ? 5000 : 15000).afterClosed().subscribe(() => {
|
|
35
|
+
if (invalidSession) {
|
|
36
|
+
this.broadcastService.sendMessage(EvolutionMessages.LOGOUT);
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
}
|
|
36
40
|
}
|
|
37
41
|
return throwError(() => error);
|
|
38
42
|
}));
|
|
@@ -80,4 +84,4 @@ export class EvolutionAuthInterceptor {
|
|
|
80
84
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: EvolutionAuthInterceptor, decorators: [{
|
|
81
85
|
type: Injectable
|
|
82
86
|
}] });
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fycy11dGlscy9ldm9sdXRpb24uY29tbW9uL2NvbW1vbi9pbnRlcmNlcHRvcnMvYXV0aC5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQXdELE1BQU0sc0JBQXNCLENBQUM7QUFDL0csT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBYyxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDaEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBSXZELE1BQU0sT0FBTyx3QkFBd0I7SUFEckM7UUFFVSxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM1QyxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM1QyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN0QyxrQkFBYSxHQUFXLENBQUMsQ0FBQyxDQUFDO0tBc0ZwQztJQXBGQyxTQUFTLENBQ1AsT0FBeUIsRUFDekIsSUFBaUI7UUFFakIsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUM3RCxPQUFPLEdBQUcs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QUVEOzs7O09BSUc7SUFDSyxpQkFBaUIsQ0FDdkIsT0FBeUIsRUFDekIsUUFBdUIsSUFBSTtRQUUzQixJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQzdELElBQUksQ0FBQyxLQUFLO2dCQUFFLEtBQUssR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDckQsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDVixPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUM7b0JBQ25CLFVBQVUsRUFBRTt3QkFDVixhQUFhLEVBQUUsU0FBUyxHQUFHLEtBQUs7d0JBQ2hDLGFBQWEsRUFBRSxhQUFhO3FCQUM3QjtpQkFDRixDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7OEdBeEZVLHdCQUF3QjtrSEFBeEIsd0JBQXdCOzsyRkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBFdmVudCwgSHR0cEhhbmRsZXIsIEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3QgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCcm9hZGNhc3RTZXJ2aWNlIH0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy9jb3JlJztcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJ0BhcnNlZGl6aW9uaS9hcnMtdXRpbHMvdWknO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBjYXRjaEVycm9yLCBzd2l0Y2hNYXAsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRXZvbHV0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2V2b2x1dGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRXZvbHV0aW9uTWVzc2FnZXMgfSBmcm9tICcuLi9tZXNzYWdlcyc7XHJcbmltcG9ydCB7IEV2b2x1dGlvblNlcnZpY2VGbGFncyB9IGZyb20gJy4uL2RlZmluaXRpb25zJztcclxuXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBFdm9sdXRpb25BdXRoSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xyXG4gIHByaXZhdGUgZXZvbHV0aW9uU2VydmljZSA9IGluamVjdChFdm9sdXRpb25TZXJ2aWNlKTtcclxuICBwcml2YXRlIGJyb2FkY2FzdFNlcnZpY2UgPSBpbmplY3QoQnJvYWRjYXN0U2VydmljZSk7XHJcbiAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlID0gaW5qZWN0KERpYWxvZ1NlcnZpY2UpO1xyXG4gIHByaXZhdGUgbGFzdEVycm9yVGltZTogbnVtYmVyID0gLTE7XHJcblxyXG4gIGludGVyY2VwdChcclxuICAgIHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4sXHJcbiAgICBuZXh0OiBIdHRwSGFuZGxlclxyXG4gICk6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcclxuICAgIGlmIChyZXF1ZXN0LnVybC5zdGFydHNXaXRoKHRoaXMuZXZvbHV0aW9uU2VydmljZS5zZXJ2aWNlVXJpKSkge1xyXG4gICAgICByZXF1ZXN0ID0gcmVxdWVzdC5jbG9uZSh7IHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KTtcclxuICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHRoaXMuYWRkVG9rZW5Ub1JlcXVlc3QocmVxdWVzdCkpXHJcbiAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcclxuICAgICAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLmNsZWFyQnVzeSgpO1xyXG4gICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSAmJlxyXG4gICAgICAgICAgICAgICFyZXF1ZXN0LnVybC5pbmNsdWRlcyhcIi9sb2dpblwiKSAmJlxyXG4gICAgICAgICAgICAgIGVycm9yLnN0YXR1cyA9PT0gNDAxXHJcbiAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLmhhbmRsZTQwMUVycm9yKHJlcXVlc3QsIG5leHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbnN0IGVycm9yU3RhdHVzID0gcGFyc2VJbnQoZXJyb3Iuc3RhdHVzID8/IFwiMFwiKTtcclxuICAgICAgICAgICAgaWYgKGVycm9yU3RhdHVzIDwgNTAwIHx8ICh0aGlzLmV2b2x1dGlvblNlcnZpY2UuZmxhZ3MgJiBFdm9sdXRpb25TZXJ2aWNlRmxhZ3MuTm90aWZ5NTAwRXJyb3JzKSA+IDApIHtcclxuICAgICAgICAgICAgICBjb25zdCBlcnJvclRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcclxuICAgICAgICAgICAgICBpZiAoZXJyb3JUaW1lIC0gdGhpcy5sYXN0RXJyb3JUaW1lID4gNTAwMCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sYXN0RXJyb3JUaW1lID0gZXJyb3JUaW1lO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgaW52YWxpZFNlc3Npb24gPSBlcnJvclN0YXR1cyA9PT0gNDAzO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLmVycm9yKFxyXG4gICAgICAgICAgICAgICAgICBcIjxwPlwiICsgKGVycm9yLmVycm9yPy5tZXNzYWdlID8/IGVycm9yLm1lc3NhZ2UgPz8gXCJJbXBvc3NpYmlsZSBlc2VndWlyZSBsJ29wZXJhemlvbmUgcmljaGllc3RhLlwiKS5yZXBsYWNlQWxsKFwiXFxyXFxuXCIsIFwiPC9wPjxwPlwiKSArIFwiPC9wPlwiLFxyXG4gICAgICAgICAgICAgICAgICBudWxsLFxyXG4gICAgICAgICAgICAgICAgICBcIkVycm9yZSBpbiBFdm9sdXRpb25cIixcclxuICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICAgICAgICB1bmRlZmluZWQsXHJcbiAgICAgICAgICAgICAgICAgIGludmFsaWRTZXNzaW9uID8gNTAwMCA6IDE1MDAwKS5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGludmFsaWRTZXNzaW9uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJyb2FkY2FzdFNlcnZpY2Uuc2VuZE1lc3NhZ2UoRXZvbHV0aW9uTWVzc2FnZXMuTE9HT1VUKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XHJcbiAgICAgICAgICB9KSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBIYW5kbGUgNDAxIGVycm9yXHJcbiAgICogQHBhcmFtIHJlcXVlc3QgOiB0aGUgcmVxdWVzdFxyXG4gICAqIEBwYXJhbSBuZXh0IDogdGhlIGh0dHAgaGFuZGxlclxyXG4gICAqL1xyXG4gIHByaXZhdGUgaGFuZGxlNDAxRXJyb3IocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpIHtcclxuICAgIGlmICh0aGlzLmV2b2x1dGlvblNlcnZpY2UubG9nZ2VkSW4oKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5ldm9sdXRpb25TZXJ2aWNlLnJlZnJlc2goKS5waXBlKFxyXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUodGhpcy5hZGRUb2tlblRvUmVxdWVzdChyZXF1ZXN0KSk7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZCB0b2tlbiB0byByZXF1ZXN0XHJcbiAgICogQHBhcmFtIHJlcXVlc3QgOiB0aGUgcmVxdWVzdFxyXG4gICAqIEBwYXJhbSB0b2tlbjogdGhlIHRva2VuIG9yIG51bGwgdG8gdXNlIGN1cnJlM250XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBhZGRUb2tlblRvUmVxdWVzdChcclxuICAgIHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4sXHJcbiAgICB0b2tlbjogc3RyaW5nIHwgbnVsbCA9IG51bGxcclxuICApOiBIdHRwUmVxdWVzdDxhbnk+IHtcclxuICAgIGlmIChyZXF1ZXN0LnVybC5zdGFydHNXaXRoKHRoaXMuZXZvbHV0aW9uU2VydmljZS5zZXJ2aWNlVXJpKSkge1xyXG4gICAgICBpZiAoIXRva2VuKSB0b2tlbiA9IHRoaXMuZXZvbHV0aW9uU2VydmljZS5nZXRUb2tlbigpO1xyXG4gICAgICBpZiAodG9rZW4pIHtcclxuICAgICAgICByZXR1cm4gcmVxdWVzdC5jbG9uZSh7XHJcbiAgICAgICAgICBzZXRIZWFkZXJzOiB7XHJcbiAgICAgICAgICAgIEF1dGhvcml6YXRpb246ICdCZWFyZXIgJyArIHRva2VuLFxyXG4gICAgICAgICAgICAnbmdzdy1ieXBhc3MnOiAnbmdzdy1ieXBhc3MnXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVxdWVzdDtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -4,6 +4,7 @@ import { BroadcastService, SystemUtils } from '@arsedizioni/ars-utils/core';
|
|
|
4
4
|
import { DialogService } from '@arsedizioni/ars-utils/ui';
|
|
5
5
|
import { of, throwError } from 'rxjs';
|
|
6
6
|
import { catchError, map } from 'rxjs/operators';
|
|
7
|
+
import { EvolutionServiceFlags } from '../definitions';
|
|
7
8
|
import { EvolutionMessages } from '../messages';
|
|
8
9
|
import * as i0 from "@angular/core";
|
|
9
10
|
export class EvolutionService {
|
|
@@ -13,6 +14,7 @@ export class EvolutionService {
|
|
|
13
14
|
this.broadcastServiceSubscription = null;
|
|
14
15
|
this.dialogService = inject(DialogService);
|
|
15
16
|
this._serviceUri = null;
|
|
17
|
+
this._flags = EvolutionServiceFlags.None;
|
|
16
18
|
this._loginInfo = null;
|
|
17
19
|
this.loggedIn = signal(false);
|
|
18
20
|
this.loggingIn = signal(false);
|
|
@@ -20,6 +22,9 @@ export class EvolutionService {
|
|
|
20
22
|
get serviceUri() {
|
|
21
23
|
return this._serviceUri;
|
|
22
24
|
}
|
|
25
|
+
get flags() {
|
|
26
|
+
return this._flags;
|
|
27
|
+
}
|
|
23
28
|
get loginInfo() {
|
|
24
29
|
if (!this._loginInfo) {
|
|
25
30
|
const loginInfo = localStorage.getItem('clipper_login_evolution');
|
|
@@ -419,4 +424,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImpor
|
|
|
419
424
|
providedIn: 'root',
|
|
420
425
|
}]
|
|
421
426
|
}] });
|
|
422
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvbHV0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvZXZvbHV0aW9uLmNvbW1vbi9jb21tb24vc2VydmljZXMvZXZvbHV0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBYSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFtQyxnQkFBZ0IsRUFBUyxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNwSCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLEVBQUUsRUFBZ0IsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDOztBQVVoRCxNQUFNLE9BQU8sZ0JBQWdCO0lBSDdCO1FBTVUsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM1QyxpQ0FBNEIsR0FBeUIsSUFBSSxDQUFDO1FBQzFELGtCQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXRDLGdCQUFXLEdBQWtCLElBQUksQ0FBQztRQUlsQyxlQUFVLEdBQThCLElBQUksQ0FBQztRQVlyQyxhQUFRLEdBQUcsTUFBTSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLGNBQVMsR0FBRyxNQUFNLENBQVUsS0FBSyxDQUFDLENBQUM7S0EwZXBEO0lBMWZDLElBQUksVUFBVTtRQUNaLE9B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Z3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIE9uRGVzdHJveSwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFwaVJlc3VsdCwgQnJvYWRjYXN0TWVzc2FnZUluZm8sIEJyb2FkY2FzdFNlcnZpY2UsIElOb2RlLCBTeXN0ZW1VdGlscyB9IGZyb20gJ0BhcnNlZGl6aW9uaS9hcnMtdXRpbHMvY29yZSc7XHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL3VpJztcclxuaW1wb3J0IHsgb2YsIFN1YnNjcmlwdGlvbiwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEV2b2x1dGlvbkxvZ2luSW5mbywgRXZvbHV0aW9uTG9naW5SZXN1bHQsIEV2b2x1dGlvblVzZXJMaW5rIH0gZnJvbSAnLi4vZGVmaW5pdGlvbnMnO1xyXG5pbXBvcnQgeyBFdm9sdXRpb25NZXNzYWdlcyB9IGZyb20gJy4uL21lc3NhZ2VzJztcclxuaW1wb3J0IHsgTG9naW5PQXV0aFR5cGUgfSBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL3VpLm9hdXRoJztcclxuXHJcblxyXG5cclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXZvbHV0aW9uU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcblxyXG5cclxuICBwcml2YXRlIGh0dHBDbGllbnQgPSBpbmplY3QoSHR0cENsaWVudCk7XHJcbiAgcHJpdmF0ZSBicm9hZGNhc3RTZXJ2aWNlID0gaW5qZWN0KEJyb2FkY2FzdFNlcnZpY2UpO1xyXG4gIHByaXZhdGUgYnJvYWRjYXN0U2VydmljZVN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgZGlhbG9nU2VydmljZSA9IGluamVjdChEaWFsb2dTZXJ2aWNlKTtcclxuXHJcbiAgcHJpdmF0ZSBfc2VydmljZVVyaTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgZ2V0IHNlcnZpY2VVcmkoKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2VydmljZVVyaTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfbG9naW5JbmZvOiBFdm9sdXRpb25Mb2dpbkluZm8gfCBudWxsID0gbnVsbDtcclxuICBnZXQgbG9naW5JbmZvKCk6IEV2b2x1dGlvbkxvZ2luSW5mbyB8IG51bGwge1xyXG4gICAgaWYgKCF0aGlzLl9sb2dpbkluZm8pIHtcclxuICAgICAgY29uc3QgbG9naW5JbmZvID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2NsaXBwZXJfbG9naW5fZXZvbHV0aW9uJyk7XHJcbiAgICAgIGlmIChsb2dpbkluZm8pIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgdGhpcy5fbG9naW5JbmZvID0gSlNPTi5wYXJzZShsb2dpbkluZm8pIGFzIEV2b2x1dGlvbkxvZ2luSW5mbztcclxuICAgICAgICB9IGNhdGNoIHsgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5fbG9naW5JbmZvO1xyXG4gIH1cclxuICBwdWJsaWMgcmVhZG9ubHkgbG9nZ2VkSW4gPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIHB1YmxpYyByZWFkb25seSBsb2dnaW5nSW4gPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuXHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgaWYgKHRoaXMuYnJvYWRjYXN0U2VydmljZVN1YnNjcmlwdGlvbikge1xyXG4gICAgICB0aGlzLmJyb2FkY2FzdFNlcnZpY2VTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRpYWxpemUgc2VydmljZVxyXG4gICAqIEBwYXJhbSBzZXJ2aWNlVXJpIDogdGhlIHNlcnZpY2UgdXJpXHJcbiAgICovXHJcbiAgaW5pdGlhbGl6ZShcclxuICAgIHNlcnZpY2VVcmk6IHN0cmluZykge1xyXG4gICAgLy8gQ3JlYXRlIHVuaXF1ZSBjbGllbnQgaWRcclxuICAgIGlmICghbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2V2b2x1dGlvbl9jbGllbnRfaWQnKSkge1xyXG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnZXZvbHV0aW9uX2NsaWVudF9pZCcsIFN5c3RlbVV0aWxzLmdlbmVyYXRlVVVJRCgpKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBJbml0aWFsaXplXHJcbiAgICB0aGlzLl9zZXJ2aWNlVXJpID0gc2VydmljZVVyaTtcclxuXHJcbiAgICAvLyBSZWFjdCB0byBtZXNzYWdlIGJyb2FkY2FzdGluZ1xyXG4gICAgaWYgKCF0aGlzLmJyb2FkY2FzdFNlcnZpY2VTdWJzY3JpcHRpb24pIHtcclxuICAgICAgdGhpcy5icm9hZGNhc3RTZXJ2aWNlU3Vic2NyaXB0aW9uID0gdGhpcy5icm9hZGNhc3RTZXJ2aWNlLmdldE1lc3NhZ2UoKS5zdWJzY3JpYmUoKG1lc3NhZ2U6IEJyb2FkY2FzdE1lc3NhZ2VJbmZvKSA9PiB7XHJcbiAgICAgICAgaWYgKG1lc3NhZ2UuaWQgPT09IEV2b2x1dGlvbk1lc3NhZ2VzLkxPR0lOX0NIQU5HRUQpIHtcclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmxvZ2luKFxyXG4gICAgICAgICAgICAgIG1lc3NhZ2UuZGF0YS5lbWFpbCxcclxuICAgICAgICAgICAgICBtZXNzYWdlLmRhdGEucGFzc3dvcmQsXHJcbiAgICAgICAgICAgICAgdHJ1ZSxcclxuICAgICAgICAgICAgICBtZXNzYWdlLmRhdGEub2F1dGgsXHJcbiAgICAgICAgICAgICAgbWVzc2FnZS5kYXRhLm9hdXRoQWNjZXNzVG9rZW4pLnN1YnNjcmliZSgocjogQXBpUmVzdWx0PEV2b2x1dGlvbkxvZ2luUmVzdWx0PikgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKCFyLnN1Y2Nlc3MpXHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5lcnJvcihyLm1lc3NhZ2UsIG51bGwsIFwiRXJyb3JlIGRpIEV2b2x1dGlvblwiKTtcclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmRpYWxvZ1NlcnZpY2UudG9hc3QoJ0Nvbm5lc3NvIGEgRXZvbHV0aW9uJywgMTUwMCwgJ3Bvd2VyJyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9LCA1MDApO1xyXG4gICAgICAgIH0gZWxzZSBpZiAobWVzc2FnZS5pZCA9PT0gRXZvbHV0aW9uTWVzc2FnZXMuTE9HT1VUX0NPTVBMRVRFRCkge1xyXG4gICAgICAgICAgaWYgKHRoaXMubG9nZ2VkSW4oKSkge1xyXG4gICAgICAgICAgICB0aGlzLmxvZ291dCgpLnN1YnNjcmliZSgocjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKCFyLnN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5lcnJvcihcIjxwPlwiICsgci5tZXNzYWdlICsgXCI8L3A+PGJyPjxicj48aHI+PHAgY2xhc3M9J3NtYWxsJz48aT5QZXIgZWxpbWluYXJlIGxhIGNvbmZpZ3VyYXppb25lIGRpIEV2b2x1dGlvbiBhY2NlZGVyZSBhOjxicj48Yj5tZW51ID4gcGVyc29uYWxpenphID4gY29sbGVnYW1lbnRpPC9iPjwvaT48L3A+XCIsIG51bGwsIFwiRXJyb3JlIGRpIEV2b2x1dGlvblwiKTtcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLnRvYXN0KCdEaXNjb25uZXNzbyBkYSBFdm9sdXRpb24nLCAxNTAwLCAncG93ZXJfb2ZmJyk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEV2ZWx1YXRlIGN1cnJlbnQgc2Vzc2lvbiBzdG9yYWdlIGluIGNhc2Ugb2YgcGFnZSByZWZyZXNoIChGNSlcclxuICAgIGlmICghdGhpcy5sb2dnZWRJbigpICYmIHRoaXMuZ2V0VG9rZW4oKSkge1xyXG4gICAgICAvLyBBdXRvIGxvZ2luXHJcbiAgICAgIHRoaXMubG9nZ2VkSW4uc2V0KHRydWUpO1xyXG4gICAgICAvLyBOb3RpZnlcclxuICAgICAgdGhpcy5icm9hZGNhc3RTZXJ2aWNlLnNlbmRNZXNzYWdlKEV2b2x1dGlvbk1lc3NhZ2VzLkxPR0lOX0NPTVBMRVRFRCk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcblxyXG5cclxuICAvKipcclxuKiBTZXQgSldUIHRva2VuXHJcbiogQHBhcmFtIHZhbHVlIDogdGhlIGxvZ2luIHJlc3VsdFxyXG4qL1xyXG4gIHByaXZhdGUgc2V0VG9rZW4odmFsdWU6IEV2b2x1dGlvbkxvZ2luUmVzdWx0KSB7XHJcbiAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCdldm9sdXRpb25fand0JywgdmFsdWUudG9rZW4pO1xyXG4gICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnZXZvbHV0aW9uX2p3dF9yZWZyZXNoJywgdmFsdWUucmVmcmVzaFRva2VuID8/ICcnKTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm4gY3VycmVudCBKV1QgdG9rZW5cclxuICAgKiBAcGFyYW0gcmVmcmVzaDogdHJ1ZSB0byBnZXQgdGhlIHJlZnJlc2ggdG9rZW4uIERlZmF1bHQgaXMgZmFsc2UuXHJcbiAgICovXHJcbiAgZ2V0VG9rZW4ocmVmcmVzaDogYm9vbGVhbiA9IGZhbHNlKTogc3RyaW5nIHtcclxuICAgIGxldCB0b2tlbiA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0ocmVmcmVzaCA/ICdldm9sdXRpb25fand0X3JlZnJlc2gnIDogJ2V2b2x1dGlvbl9qd3QnKTtcclxuICAgIGlmICh0b2tlbiAmJiB0b2tlblswXSA9PT0gJ1wiJykge1xyXG4gICAgICByZXR1cm4gdG9rZW4uc3Vic3RyaW5nKDEsIHRva2VuLmxlbmd0aCAtIDEpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRva2VuID8/ICcnO1xyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gKiBQZXJmb3JtIGF1dG8gbG9naW4gdXNpbmcgY3VycmVudCBsaW5rIGRhdGFcclxuICAgKiBAcGFyYW0gZW1haWw6IHRoZSBvcHRpb25hbCBlbWFpbCBpZiB1c2luZyBPQXV0aDJcclxuICAgKiBAcGFybWEgcGFzc3dvcmQ6IHRoZSBvcHRpb25hbCBwYXNzd29yZCBpZiB1c2luZyBPQXV0aDJcclxuICAgKiBAcGFyYW0gcmVtZW1iZXI6IHJlbWVtYmVyIGNyZWRlbnRpYWxzIFxyXG4gICAqIEBwYXJhbSBvYXV0aDogdGhlIG9wdGlvbmFsIG9wZW4gYXV0aGVudGljYXRpb24gc3VwcG9ydGVkXHJcbiAgICogQHBhcmFtIG9hdXRoQWNjZXNzVG9rZW46IHRoZSBvcHRpb25hbCBPQXV0aDIgYWNjZXNzIHRva2VuXHJcbiAqIEBwYXJhbSBvblN1Y2NlczogZnVuY3Rpb24gdG8gZXhlY3V0ZSBvbiBzZWNjZXNzXHJcbiAqL1xyXG4gIGF1dG9Mb2dpbihcclxuICAgIGVtYWlsOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkID0gbnVsbCxcclxuICAgIHBhc3N3b3JkOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkID0gbnVsbCxcclxuICAgIHJlbWVtYmVyOiBib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZCA9IGZhbHNlLFxyXG4gICAgb2F1dGg6IExvZ2luT0F1dGhUeXBlIHwgbnVsbCB8IHVuZGVmaW5lZCA9IG51bGwsXHJcbiAgICBvYXV0aEFjY2Vzc1Rva2VuOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkID0gbnVsbCxcclxuICAgIG9uU3VjY2VzOiBGdW5jdGlvbiB8IG51bGwgfCB1bmRlZmluZWQgPSBudWxsKTogYm9vbGVhbiB7XHJcbiAgICB0aGlzLmxvZ2luKGVtYWlsLCBwYXNzd29yZCwgcmVtZW1iZXIsIG9hdXRoLCBvYXV0aEFjY2Vzc1Rva2VuKVxyXG4gICAgICAuc3Vic2NyaWJlKChyOiBBcGlSZXN1bHQ8RXZvbHV0aW9uTG9naW5SZXN1bHQ+KSA9PiB7XHJcbiAgICAgICAgaWYgKCFyLnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5lcnJvcihyLm1lc3NhZ2UsIG51bGwsIFwiRXJyb3JlIGluIEV2b2x1dGlvblwiKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLnRvYXN0KCdDb25uZXNzbyBhZCBFdm9sdXRpb24nLCAxNTAwLCAncG93ZXInKTtcclxuICAgICAgICAgIGlmIChvblN1Y2Nlcykge1xyXG4gICAgICAgICAgICBvblN1Y2NlcygpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFBlcmZvcm0gYXV0byBsb2dvdXRcclxuICAgKiBAcGFyYW0gb25TdWNjZXM6IGZ1bmN0aW9uIHRvIGV4ZWN1dGUgb24gc2VjY2Vzc1xyXG4gICAqL1xyXG4gIGF1dG9Mb2dvdXQoXHJcbiAgICBvblN1Y2NlczogRnVuY3Rpb24gfCBudWxsIHwgdW5kZWZpbmVkID0gbnVsbCkge1xyXG4gICAgaWYgKCF0aGlzLmxvZ2dlZEluKCkpIHJldHVybjtcclxuICAgIHRoaXMubG9nb3V0KCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHI6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmICghci5zdWNjZXNzKSB7XHJcbiAgICAgICAgICB0aGlzLmRpYWxvZ1NlcnZpY2UuZXJyb3Ioci5tZXNzYWdlLCBudWxsLCBcIkVycm9yZSBpbiBFdm9sdXRpb25cIik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS50b2FzdCgnRGlzY29ubmVzc28gZGEgRXZvbHV0aW9uJywgMTUwMCwgJ3Bvd2VyX29mZicpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgY29tcGxldGU6ICgpID0+IHtcclxuICAgICAgICB0aGlzLmNsZWFyKClcclxuICAgICAgICBpZiAob25TdWNjZXMpIHtcclxuICAgICAgICAgIG9uU3VjY2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFBlcmZvcm0gbG9naW4gICBcclxuICAgKiBAcGFyYW0gZW1haWw6IHRoZSBvcHRpb25hbCBlbWFpbCBpZiB1c2luZyBPQXV0aDJcclxuICAgKiBAcGFybWEgcGFzc3dvcmQ6IHRoZSBvcHRpb25hbCBwYXNzd29yZCBpZiB1c2luZyBPQXV0aDJcclxuICAgKiBAcGFyYW0gcmVtZW1iZXI6IHJlbWVtYmVyIGNyZWRlbnRpYWxzIFxyXG4gICAqIEBwYXJhbSBvYXV0aDogdGhlIG9wdGlvbmFsIG9wZW4gYXV0aGVudGljYXRpb24gc3VwcG9ydGVkXHJcbiAgICogQHBhcmFtIG9hdXRoQWNjZXNzVG9rZW46IHRoZSBvcHRpb25hbCBPQXV0aDIgYWNjZXNzIHRva2VuXHJcbiAgICogQHJldHVybnM6IHRoZSBsb2dpbiByZXN1bHRcclxuICAgKi9cclxuICBsb2dpbihlbWFpbDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCA9IG51bGwsXHJcbiAgICBwYXNzd29yZDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCA9IG51bGwsXHJcbiAgICByZW1lbWJlcjogYm9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWQgPSBmYWxzZSxcclxuICAgIG9hdXRoOiBMb2dpbk9BdXRoVHlwZSB8IG51bGwgfCB1bmRlZmluZWQgPSBudWxsLFxyXG4gICAgb2F1dGhBY2Nlc3NUb2tlbjogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCA9IG51bGwpIHtcclxuICAgIHRoaXMuY2xlYXIoKTtcclxuICAgIHRoaXMubG9nZ2luZ0luLnNldCh0cnVlKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcclxuICAgICAgLnBvc3Q8QXBpUmVzdWx0PEV2b2x1dGlvbkxvZ2luUmVzdWx0Pj4oXHJcbiAgICAgICAgdGhpcy5fc2VydmljZVVyaSArICcvbG9naW4yJyxcclxuICAgICAgICB7XHJcbiAgICAgICAgICB1c2VyOiBvYXV0aCA/IG51bGwgOiBlbWFpbCxcclxuICAgICAgICAgIHBhc3N3b3JkOiBvYXV0aCA/IG51bGwgOiBwYXNzd29yZCxcclxuICAgICAgICAgIGNsaWVudElkOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImV2b2x1dGlvbl9jbGllbnRfaWRcIiksXHJcbiAgICAgICAgICBPQVVUSDogb2F1dGhcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGhlYWRlcnM6XHJcbiAgICAgICAgICAgICFvYXV0aFxyXG4gICAgICAgICAgICAgID8gbmV3IEh0dHBIZWFkZXJzKClcclxuICAgICAgICAgICAgICA6IG5ldyBIdHRwSGVhZGVycygpXHJcbiAgICAgICAgICAgICAgICAuc2V0KFwiQXV0aG9yaXphdGlvblwiLCBvYXV0aEFjY2Vzc1Rva2VuID8/ICcnKVxyXG4gICAgICAgIH0pXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcclxuICAgICAgICAgIHRoaXMuaGFuZGxlTG9naW5FcnJvcigpO1xyXG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyKTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBtYXAoKHI6IEFwaVJlc3VsdDxFdm9sdXRpb25Mb2dpblJlc3VsdD4pID0+IHtcclxuICAgICAgICAgIHRoaXMubG9nZ2luZ0luLnNldChmYWxzZSk7XHJcbiAgICAgICAgICBpZiAoci5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgIC8vIFN0b3JlIGFjY2VzcyB0b2tlblxyXG4gICAgICAgICAgICB0aGlzLnNldFRva2VuKHIudmFsdWUpO1xyXG4gICAgICAgICAgICBjb25zdCBsb2dpbkluZm86IEV2b2x1dGlvbkxvZ2luSW5mbyA9IHtcclxuICAgICAgICAgICAgICBjb250ZXh0OiByLnZhbHVlLmNvbnRleHQsXHJcbiAgICAgICAgICAgICAgT0FVVEg6IG9hdXRoXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKCFvYXV0aCkge1xyXG4gICAgICAgICAgICAgIGxvZ2luSW5mby51c2VyQ3JlZGVudGlhbHMgPVxyXG4gICAgICAgICAgICAgICAgU3lzdGVtVXRpbHMuY2lwaGVyKFxyXG4gICAgICAgICAgICAgICAgICBKU09OLnN0cmluZ2lmeSh7XHJcbiAgICAgICAgICAgICAgICAgICAgZW1haWw6IGVtYWlsLFxyXG4gICAgICAgICAgICAgICAgICAgIHBhc3N3b3JkOiBwYXNzd29yZCxcclxuICAgICAgICAgICAgICAgICAgICByZW1lbWJlcjogcmVtZW1iZXIsXHJcbiAgICAgICAgICAgICAgICAgIH0pLCBsb2dpbkluZm8uY29udGV4dC51c2VySWQudG9TdHJpbmcoKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gVXBkYXRlIGluZm9cclxuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXHJcbiAgICAgICAgICAgICAgJ2V2b2x1dGlvbl9sb2dpbicsXHJcbiAgICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkobG9naW5JbmZvKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB0aGlzLl9sb2dpbkluZm8gPSBsb2dpbkluZm87XHJcbiAgICAgICAgICAgIHRoaXMubG9nZ2VkSW4uc2V0KHRydWUpO1xyXG4gICAgICAgICAgICAvLyBOb3RpZnlcclxuICAgICAgICAgICAgdGhpcy5icm9hZGNhc3RTZXJ2aWNlLnNlbmRNZXNzYWdlKEV2b2x1dGlvbk1lc3NhZ2VzLkxPR0lOX0NPTVBMRVRFRCk7XHJcblxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIHI7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFBlcmZvcm0gbG9nb3V0XHJcbiAgICovXHJcbiAgbG9nb3V0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PGFueT4odGhpcy5fc2VydmljZVVyaSArICcvbG9nb3V0Jywge30pLnBpcGUoXHJcbiAgICAgIG1hcChyID0+IHtcclxuICAgICAgICB0aGlzLmNsZWFyKCk7XHJcbiAgICAgICAgcmV0dXJuIHJcclxuICAgICAgfSksXHJcbiAgICAgIGNhdGNoRXJyb3IoKF9lKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jbGVhcigpO1xyXG4gICAgICAgIHJldHVybiBvZihbXSk7XHJcbiAgICAgIH0pKTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAqIFN3aXRjaCB0aGUgY3VycmVudCBsb2dpbiB0byBhIG5ldyBvbmUgd2l0aCB0aGUgc2FtZSBjcmVkZW50aWFscyBleGNlcHQgcm9sZSBwb3NzaWJseSAoY29udGV4dCBjaGFuZ2UpXHJcbiAgKiBAcGFyYW0gaWQgOiBuZXcgdXNlciBpZFxyXG4gICovXHJcbiAgbG9naW5Td2l0Y2goaWQ6IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxyXG4gICAgICAucG9zdDxBcGlSZXN1bHQ8RXZvbHV0aW9uTG9naW5SZXN1bHQ+PihcclxuICAgICAgICB0aGlzLl9zZXJ2aWNlVXJpICsgJy9sb2dpbi1zd2l0Y2gvJyxcclxuICAgICAgICB7XHJcbiAgICAgICAgICB1c2VySWQ6IGlkLFxyXG4gICAgICAgICAgY2xpZW50SWQ6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiZXZvbHV0aW9uX2NsaWVudF9pZFwiKVxyXG4gICAgICAgIH1cclxuICAgICAgKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMuaGFuZGxlTG9naW5FcnJvcigpO1xyXG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyKTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBtYXAoKHI6IEFwaVJlc3VsdDxFdm9sdXRpb25Mb2dpblJlc3VsdD4pID0+IHtcclxuICAgICAgICAgIHRoaXMubG9nZ2luZ0luLnNldChmYWxzZSk7XHJcbiAgICAgICAgICBpZiAoci5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgIC8vIFN0b3JlIGFjY2VzcyB0b2tlblxyXG4gICAgICAgICAgICB0aGlzLnNldFRva2VuKHIudmFsdWUpO1xyXG4gICAgICAgICAgICB0aGlzLl9sb2dpbkluZm8gPSByLnZhbHVlLmNvbnRleHQ7XHJcbiAgICAgICAgICAgIHRoaXMubG9nZ2VkSW4uc2V0KHRydWUpO1xyXG4gICAgICAgICAgICAvLyBOb3RpZnlcclxuICAgICAgICAgICAgdGhpcy5icm9hZGNhc3RTZXJ2aWNlLnNlbmRNZXNzYWdlKEV2b2x1dGlvbk1lc3NhZ2VzLkxPR0lOX0NPTVBMRVRFRCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gcjtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAqIEhhbmRsZSBsb2dpbiBlcnJvclxyXG4gKi9cclxuICBwcml2YXRlIGhhbmRsZUxvZ2luRXJyb3IoKSB7XHJcbiAgICB0aGlzLmxvZ2dpbmdJbi5zZXQoZmFsc2UpO1xyXG4gICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ2V2b2x1dGlvbl9sb2dpbicpO1xyXG5cclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBSZXNldCBsb2dpbiByZWZyZXNoIHRpbWVyIGFuZCBsb2dpbiBzdGF0ZVxyXG4gICAqL1xyXG4gIHJlc2V0KCkge1xyXG4gICAgLy8gQ2xlYXIgbG9naW4gaW5mb1xyXG4gICAgdGhpcy5fbG9naW5JbmZvID0gbnVsbDtcclxuICAgIC8vIExvZ2dlZCBvdXRcclxuICAgIHRoaXMubG9nZ2VkSW4uc2V0KGZhbHNlKTtcclxuICAgIC8vIE5vdGlmeVxyXG4gICAgdGhpcy5icm9hZGNhc3RTZXJ2aWNlLnNlbmRNZXNzYWdlKEV2b2x1dGlvbk1lc3NhZ2VzLkxPR09VVF9DT01QTEVURUQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2xlYXIgbG9naW4gZGF0YVxyXG4gICAqL1xyXG4gIGNsZWFyKCkge1xyXG4gICAgLy8gQ2xlYXIgbG9jYWwgc3RvcmFnZVxyXG4gICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgnZXZvbHV0aW9uX2p3dCcpO1xyXG4gICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgnZXZvbHV0aW9uX2p3dF9yZWZyZXNoJyk7XHJcbiAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCdldm9sdXRpb25fb2F1dGgnKTtcclxuICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdldm9sdXRpb25fbG9naW4nKTtcclxuICAgIC8vIFJlc2V0IGxvZ2luXHJcbiAgICB0aGlzLnJlc2V0KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAqIFBlcmZvcm0gdG9rZW4gcmVmcmVzaFxyXG4gICovXHJcbiAgcmVmcmVzaCgpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PEFwaVJlc3VsdDxFdm9sdXRpb25Mb2dpblJlc3VsdD4+KFxyXG4gICAgICB0aGlzLl9zZXJ2aWNlVXJpICsgJy9yZWZyZXNoMi8/dG9rZW49JyArIHRoaXMuZ2V0VG9rZW4odHJ1ZSlcclxuICAgICkucGlwZShtYXAoKHI6IEFwaVJlc3VsdDxFdm9sdXRpb25Mb2dpblJlc3VsdD4pID0+IHtcclxuICAgICAgLy8gVXBkYXRlIHRva2VuXHJcbiAgICAgIHRoaXMuc2V0VG9rZW4oci52YWx1ZSk7XHJcbiAgICB9KSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogQ29udmVydCBmb2xkZXJzIGluIGEgdHJlZSBvZiBOb2RlIG9iamVjdC5cclxuICAgKiBAcGFyYW0gZm9sZGVycyA6IHRoZSBzdWJmb2xkZXJzIGdyb3VwIG9yIG51bGwgdG8gcm9vdFxyXG4gICAqL1xyXG4gIHRvTm9kZXMoZm9sZGVyczogSU5vZGVbXSk6IElOb2RlW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3RvTm9kZXMoZm9sZGVycywgbnVsbCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb252ZXJ0IGZvbGRlcnMgaW4gYSB0cmVlIG9mIE5vZGUgb2JqZWN0LlxyXG4gICAqIEBwYXJhbSBmb2xkZXJzIDogdGhlIGNoaWxkcmVuIGdyb3VwIG9yIG51bGwgdG8gcm9vdFxyXG4gICAqL1xyXG4gIHByaXZhdGUgX3RvTm9kZXMoZm9sZGVyczogSU5vZGVbXSwgcGFyZW50OiBJTm9kZSk6IElOb2RlW10ge1xyXG4gICAgbGV0IG5vZGVzOiBJTm9kZVtdID0gW107XHJcbiAgICBmb2xkZXJzLmZvckVhY2goKG4pID0+IHtcclxuICAgICAgbGV0IG5vZGU6IElOb2RlID0ge1xyXG4gICAgICAgIGlkOiBuLmlkLFxyXG4gICAgICAgIG5hbWU6IG4ubmFtZSxcclxuICAgICAgICBjb3VudDogbi5jb3VudCxcclxuICAgICAgICBwYXJlbnQ6IHBhcmVudCxcclxuICAgICAgICBjaGlsZHJlbjogbnVsbCxcclxuICAgICAgICBiYWc6IG4sXHJcbiAgICAgIH07XHJcbiAgICAgIG5vZGUuY2hpbGRyZW4gPVxyXG4gICAgICAgIG4uY2hpbGRyZW4gJiYgbi5jaGlsZHJlbi5sZW5ndGggPiAwXHJcbiAgICAgICAgICA/IHRoaXMuX3RvTm9kZXMobi5jaGlsZHJlbiwgbm9kZSlcclxuICAgICAgICAgIDogW107XHJcbiAgICAgIG5vZGVzLnB1c2gobm9kZSk7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBub2RlcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlIHRoZSB0YXhvbm9teVxyXG4gICAqL1xyXG4gIGdldFRheG9ub215KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8QXBpUmVzdWx0PGFueT4+KFxyXG4gICAgICB0aGlzLl9zZXJ2aWNlVXJpICsgJy90YXhvbm9teSdcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZSBhdXRob3JpdGllc1xyXG4gICAqL1xyXG4gIGdldEF1dGhvcml0aWVzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8QXBpUmVzdWx0PGFueT4+KFxyXG4gICAgICB0aGlzLl9zZXJ2aWNlVXJpICsgJy9jb21wbGlhbmNlL2F1dGhvcml0aWVzJ1xyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8vLy9cclxuICAvLyBDT05URVhUXHJcbiAgLy8vL1xyXG4gIC8qKlxyXG4gICAqIENoYW5nZSBjb250ZXh0XHJcbiAgICovXHJcbiAgY2hhbmdlQ29udGV4dChwYXJhbXM6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PEFwaVJlc3VsdDxhbnk+PihcclxuICAgICAgdGhpcy5fc2VydmljZVVyaSArICcvY29tcGxpYW5jZS9jb250ZXh0JyxcclxuICAgICAgcGFyYW1zXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLy8vL1xyXG4gIC8vIFJFR0lTVEVSU1xyXG4gIC8vLy9cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlIGEgcmVnaXN0ZXJcclxuICAgKiBAcGFyYW0gaWQgdGhlIHJlZ2lzdGVyIGlkXHJcbiAgICovXHJcbiAgZ2V0UmVnaXN0ZXIoaWQ6IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8QXBpUmVzdWx0PGFueT4+KFxyXG4gICAgICB0aGlzLl9zZXJ2aWNlVXJpICtcclxuICAgICAgJy9jb21wbGlhbmNlL3JlZ2lzdGVycy8nICsgaWRcclxuICAgICk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogQ29sbGVjdCByZWdpc3RlciBwcm9maWxlc1xyXG4gICAqIEBwYXJhbSBwYXJhbXMgcGFyYW1ldGVyc1xyXG4gICAqL1xyXG4gIGNvbGxlY3RSZWdpc3RlclByb2ZpbGVzKHBhcmFtczogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8QXBpUmVzdWx0PGFueT4+KFxyXG4gICAgICB0aGlzLl9zZXJ2aWNlVXJpICtcclxuICAgICAgJy9jb21wbGlhbmNlL3JlZ2lzdGVycy9wcm9maWxlcy9jb2xsZWN0JyxcclxuICAgICAgcGFyYW1zXHJcbiAgICApO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vLy9cclxuICAvLyBMQVdTXHJcbiAgLy8vL1xyXG5cclxuICAvKipcclxuICAgKiBBZGQgb25lIG9yIG1vcmUgbGF3c1xyXG4gICAqIEBwYXJhbSBwYXJhbXMgcGFyYW1ldGVyc1xyXG4gICAqL1xyXG4gIGFkZExhd3MocGFyYW1zOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxBcGlSZXN1bHQ8YW55Pj4oXHJcbiAgICAgIHRoaXMuX3NlcnZpY2VVcmkgKyAnL2NvbXBsaWFuY2UvbGF3cy9hZGQnLFxyXG4gICAgICBwYXJhbXNcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvLy8vXHJcbiAgLy8gQUNUSVZJVElFU1xyXG4gIC8vLy9cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmUgYWN0aXZpdHkgZ3JvdXBzXHJcbiAgICogQHBhcmFtIGdyb3VwIHRoZSBncm91cCBudW1iZXJcclxuICAgKiBAcGFyYW0gc2l0ZSB0aGUgc2l0ZSBpZFxyXG4gICAqL1xyXG4gIGdldEdyb3Vwcyhncm91cDogbnVtYmVyID0gMSwgc2l0ZTogbnVtYmVyID0gbnVsbCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8QXBpUmVzdWx0PGFueT4+KFxyXG4gICAgICB0aGlzLl9zZXJ2aWNlVXJpICtcclxuICAgICAgKHNpdGVcclxuICAgICAgICA/ICcvY29tcGxpYW5jZS9ncm91cHMvP2dyb3VwPScgK1xyXG4gICAgICAgIGdyb3VwICtcclxuICAgICAgICAnJnNpdGU9JyArXHJcbiAgICAgICAgc2l0ZVxyXG4gICAgICAgIDogJy9jb21wbGlhbmNlL2dyb3Vwcy8/Z3JvdXA9JyArIGdyb3VwKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZCBvbmUgb3IgbW9yZSBhY3Rpdml0aWVzXHJcbiAgICogQHBhcmFtIHBhcmFtcyBwYXJhbWV0ZXJzXHJcbiAgICovXHJcbiAgYWRkQWN0aXZpdGllcyhwYXJhbXM6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PEFwaVJlc3VsdDxhbnk+PihcclxuICAgICAgdGhpcy5fc2VydmljZVVyaSArICcvY29tcGxpYW5jZS9hY3Rpdml0aWVzL2FkZCcsXHJcbiAgICAgIHBhcmFtc1xyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICogRXhwb3J0IGxhd3NcclxuICAqIEBwYXJhbSBwYXJhbXMgcGFyYW1ldGVyc1xyXG4gICovXHJcbiAgZXhwb3J0TGF3cyhwYXJhbXM6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KFxyXG4gICAgICB0aGlzLl9zZXJ2aWNlVXJpICsgJy9jb21wbGlhbmNlL2xhd3MvZXhwb3J0JyxcclxuICAgICAgcGFyYW1zLFxyXG4gICAgICB7IHJlc3BvbnNlVHlwZTogJ2Jsb2InIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvLy9cclxuICAvLyBMSU5LU1xyXG4gIC8vL1xyXG5cclxuICAvKipcclxuICAqIFNhdmUgYSB1c2VyIGxpbmtcclxuICAqIEBwYXJhbSBpdGVtOiB0aGUgdXNlciBsaW5rXHJcbiAgKi9cclxuICBzYXZlTGluayhpdGVtOiBFdm9sdXRpb25Vc2VyTGluaykge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PEFwaVJlc3VsdDxib29sZWFuPj4oXHJcbiAgICAgIHRoaXMuX3NlcnZpY2VVcmkgKyAnL2FjY291bnQvbGlua3Mvc2F2ZScsXHJcbiAgICAgIGl0ZW1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWxldGUgYSB1c2VyIGxpbmtcclxuICAgKiBAcGFyYW0gaXRlbTogdGhlIHVzZXIgbGlua1xyXG4gICAqL1xyXG4gIGRlbGV0ZUxpbmsoaXRlbTogRXZvbHV0aW9uVXNlckxpbmspIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxBcGlSZXN1bHQ8Ym9vbGVhbj4+KFxyXG4gICAgICB0aGlzLl9zZXJ2aWNlVXJpICsgJy9hY2NvdW50L2xpbmtzL2RlbGV0ZScsXHJcbiAgICAgIGl0ZW1cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
427
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvbHV0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvZXZvbHV0aW9uLmNvbW1vbi9jb21tb24vc2VydmljZXMvZXZvbHV0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBYSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFtQyxnQkFBZ0IsRUFBUyxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNwSCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLEVBQUUsRUFBZ0IsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUE0QyxxQkFBcUIsRUFBcUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBVWhELE1BQU0sT0FBTyxnQkFBZ0I7SUFIN0I7UUFNVSxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVDLGlDQUE0QixHQUF5QixJQUFJLENBQUM7UUFDMUQsa0JBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFdEMsZ0JBQVcsR0FBa0IsSUFBSSxDQUFDO1FBSWxDLFdBQU0sR0FBMkIscUJBQXFCLENBQUMsSUFBSSxDQUFDO1FBSTVELGVBQVUsR0FBOEIsSUFBSSxDQUFDO1FBWXJDLGFBQVEsR0FBRyxNQUFNLENBQVUs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LGdCQUFnQixjQUZmLE1BQU07OzJGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBcGlSZXN1bHQsIEJyb2FkY2FzdE1lc3NhZ2VJbmZvLCBCcm9hZGNhc3RTZXJ2aWNlLCBJTm9kZSwgU3lzdGVtVXRpbHMgfSBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL2NvcmUnO1xyXG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy91aSc7XHJcbmltcG9ydCB7IG9mLCBTdWJzY3JpcHRpb24sIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBFdm9sdXRpb25Mb2dpbkluZm8sIEV2b2x1dGlvbkxvZ2luUmVzdWx0LCBFdm9sdXRpb25TZXJ2aWNlRmxhZ3MsIEV2b2x1dGlvblVzZXJMaW5rIH0gZnJvbSAnLi4vZGVmaW5pdGlvbnMnO1xyXG5pbXBvcnQgeyBFdm9sdXRpb25NZXNzYWdlcyB9IGZyb20gJy4uL21lc3NhZ2VzJztcclxuaW1wb3J0IHsgTG9naW5PQXV0aFR5cGUgfSBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL3VpLm9hdXRoJztcclxuXHJcblxyXG5cclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXZvbHV0aW9uU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcblxyXG5cclxuICBwcml2YXRlIGh0dHBDbGllbnQgPSBpbmplY3QoSHR0cENsaWVudCk7XHJcbiAgcHJpdmF0ZSBicm9hZGNhc3RTZXJ2aWNlID0gaW5qZWN0KEJyb2FkY2FzdFNlcnZpY2UpO1xyXG4gIHByaXZhdGUgYnJvYWRjYXN0U2VydmljZVN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgZGlhbG9nU2VydmljZSA9IGluamVjdChEaWFsb2dTZXJ2aWNlKTtcclxuXHJcbiAgcHJpdmF0ZSBfc2VydmljZVVyaTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgZ2V0IHNlcnZpY2VVcmkoKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2VydmljZVVyaTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZmxhZ3M6IEV2b2x1dGlvblNlcnZpY2VGbGFncyAgPSBFdm9sdXRpb25TZXJ2aWNlRmxhZ3MuTm9uZTtcclxuICBnZXQgZmxhZ3MoKTogRXZvbHV0aW9uU2VydmljZUZsYWdzIHtcclxuICAgIHJldHVybiB0aGlzLl9mbGFncztcclxuICB9XHJcbiAgcHJpdmF0ZSBfbG9naW5JbmZvOiBFdm9sdXRpb25Mb2dpbkluZm8gfCBudWxsID0gbnVsbDtcclxuICBnZXQgbG9naW5JbmZvKCk6IEV2b2x1dGlvbkxvZ2luSW5mbyB8IG51bGwge1xyXG4gICAgaWYgKCF0aGlzLl9sb2dpbkluZm8pIHtcclxuICAgICAgY29uc3QgbG9naW5JbmZvID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2NsaXBwZXJfbG9naW5fZXZvbHV0aW9uJyk7XHJcbiAgICAgIGlmIChsb2dpbkluZm8pIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgdGhpcy5fbG9naW5JbmZvID0gSlNPTi5wYXJzZShsb2dpbkluZm8pIGFzIEV2b2x1dGlvbkxvZ2luSW5mbztcclxuICAgICAgICB9IGNhdGNoIHsgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5fbG9naW5JbmZvO1xyXG4gIH1cclxuICBwdWJsaWMgcmVhZG9ubHkgbG9nZ2VkSW4gPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIHB1YmxpYyByZWFkb25seSBsb2dnaW5nSW4gPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuXHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgaWYgKHRoaXMuYnJvYWRjYXN0U2VydmljZVN1YnNjcmlwdGlvbikge1xyXG4gICAgICB0aGlzLmJyb2FkY2FzdFNlcnZpY2VTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRpYWxpemUgc2VydmljZVxyXG4gICAqIEBwYXJhbSBzZXJ2aWNlVXJpIDogdGhlIHNlcnZpY2UgdXJpXHJcbiAgICovXHJcbiAgaW5pdGlhbGl6ZShcclxuICAgIHNlcnZpY2VVcmk6IHN0cmluZykge1xyXG4gICAgLy8gQ3JlYXRlIHVuaXF1ZSBjbGllbnQgaWRcclxuICAgIGlmICghbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2V2b2x1dGlvbl9jbGllbnRfaWQnKSkge1xyXG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnZXZvbHV0aW9uX2NsaWVudF9pZCcsIFN5c3RlbVV0aWxzLmdlbmVyYXRlVVVJRCgpKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBJbml0aWFsaXplXHJcbiAgICB0aGlzLl9zZXJ2aWNlVXJpID0gc2VydmljZVVyaTtcclxuXHJcbiAgICAvLyBSZWFjdCB0byBtZXNzYWdlIGJyb2FkY2FzdGluZ1xyXG4gICAgaWYgKCF0aGlzLmJyb2FkY2FzdFNlcnZpY2VTdWJzY3JpcHRpb24pIHtcclxuICAgICAgdGhpcy5icm9hZGNhc3RTZXJ2aWNlU3Vic2NyaXB0aW9uID0gdGhpcy5icm9hZGNhc3RTZXJ2aWNlLmdldE1lc3NhZ2UoKS5zdWJzY3JpYmUoKG1lc3NhZ2U6IEJyb2FkY2FzdE1lc3NhZ2VJbmZvKSA9PiB7XHJcbiAgICAgICAgaWYgKG1lc3NhZ2UuaWQgPT09IEV2b2x1dGlvbk1lc3NhZ2VzLkxPR0lOX0NIQU5HRUQpIHtcclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmxvZ2luKFxyXG4gICAgICAgICAgICAgIG1lc3NhZ2UuZGF0YS5lbWFpbCxcclxuICAgICAgICAgICAgICBtZXNzYWdlLmRhdGEucGFzc3dvcmQsXHJcbiAgICAgICAgICAgICAgdHJ1ZSxcclxuICAgICAgICAgICAgICBtZXNzYWdlLmRhdGEub2F1dGgsXHJcbiAgICAgICAgICAgICAgbWVzc2FnZS5kYXRhLm9hdXRoQWNjZXNzVG9rZW4pLnN1YnNjcmliZSgocjogQXBpUmVzdWx0PEV2b2x1dGlvbkxvZ2luUmVzdWx0PikgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKCFyLnN1Y2Nlc3MpXHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5lcnJvcihyLm1lc3NhZ2UsIG51bGwsIFwiRXJyb3JlIGRpIEV2b2x1dGlvblwiKTtcclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmRpYWxvZ1NlcnZpY2UudG9hc3QoJ0Nvbm5lc3NvIGEgRXZvbHV0aW9uJywgMTUwMCwgJ3Bvd2VyJyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9LCA1MDApO1xyXG4gICAgICAgIH0gZWxzZSBpZiAobWVzc2FnZS5pZCA9PT0gRXZvbHV0aW9uTWVzc2FnZXMuTE9HT1VUX0NPTVBMRVRFRCkge1xyXG4gICAgICAgICAgaWYgKHRoaXMubG9nZ2VkSW4oKSkge1xyXG4gICAgICAgICAgICB0aGlzLmxvZ291dCgpLnN1YnNjcmliZSgocjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKCFyLnN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5lcnJvcihcIjxwPlwiICsgci5tZXNzYWdlICsgXCI8L3A+PGJyPjxicj48aHI+PHAgY2xhc3M9J3NtYWxsJz48aT5QZXIgZWxpbWluYXJlIGxhIGNvbmZpZ3VyYXppb25lIGRpIEV2b2x1dGlvbiBhY2NlZGVyZSBhOjxicj48Yj5tZW51ID4gcGVyc29uYWxpenphID4gY29sbGVnYW1lbnRpPC9iPjwvaT48L3A+XCIsIG51bGwsIFwiRXJyb3JlIGRpIEV2b2x1dGlvblwiKTtcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLnRvYXN0KCdEaXNjb25uZXNzbyBkYSBFdm9sdXRpb24nLCAxNTAwLCAncG93ZXJfb2ZmJyk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEV2ZWx1YXRlIGN1cnJlbnQgc2Vzc2lvbiBzdG9yYWdlIGluIGNhc2Ugb2YgcGFnZSByZWZyZXNoIChGNSlcclxuICAgIGlmICghdGhpcy5sb2dnZWRJbigpICYmIHRoaXMuZ2V0VG9rZW4oKSkge1xyXG4gICAgICAvLyBBdXRvIGxvZ2luXHJcbiAgICAgIHRoaXMubG9nZ2VkSW4uc2V0KHRydWUpO1xyXG4gICAgICAvLyBOb3RpZnlcclxuICAgICAgdGhpcy5icm9hZGNhc3RTZXJ2aWNlLnNlbmRNZXNzYWdlKEV2b2x1dGlvbk1lc3NhZ2VzLkxPR0lOX0NPTVBMRVRFRCk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcblxyXG5cclxuICAvKipcclxuKiBTZXQgSldUIHRva2VuXHJcbiogQHBhcmFtIHZhbHVlIDogdGhlIGxvZ2luIHJlc3VsdFxyXG4qL1xyXG4gIHByaXZhdGUgc2V0VG9rZW4odmFsdWU6IEV2b2x1dGlvbkxvZ2luUmVzdWx0KSB7XHJcbiAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCdldm9sdXRpb25fand0JywgdmFsdWUudG9rZW4pO1xyXG4gICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnZXZvbHV0aW9uX2p3dF9yZWZyZXNoJywgdmFsdWUucmVmcmVzaFRva2VuID8/ICcnKTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm4gY3VycmVudCBKV1QgdG9rZW5cclxuICAgKiBAcGFyYW0gcmVmcmVzaDogdHJ1ZSB0byBnZXQgdGhlIHJlZnJlc2ggdG9rZW4uIERlZmF1bHQgaXMgZmFsc2UuXHJcbiAgICovXHJcbiAgZ2V0VG9rZW4ocmVmcmVzaDogYm9vbGVhbiA9IGZhbHNlKTogc3RyaW5nIHtcclxuICAgIGxldCB0b2tlbiA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0ocmVmcmVzaCA/ICdldm9sdXRpb25fand0X3JlZnJlc2gnIDogJ2V2b2x1dGlvbl9qd3QnKTtcclxuICAgIGlmICh0b2tlbiAmJiB0b2tlblswXSA9PT0gJ1wiJykge1xyXG4gICAgICByZXR1cm4gdG9rZW4uc3Vic3RyaW5nKDEsIHRva2VuLmxlbmd0aCAtIDEpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRva2VuID8/ICcnO1xyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gKiBQZXJmb3JtIGF1dG8gbG9naW4gdXNpbmcgY3VycmVudCBsaW5rIGRhdGFcclxuICAgKiBAcGFyYW0gZW1haWw6IHRoZSBvcHRpb25hbCBlbWFpbCBpZiB1c2luZyBPQXV0aDJcclxuICAgKiBAcGFybWEgcGFzc3dvcmQ6IHRoZSBvcHRpb25hbCBwYXNzd29yZCBpZiB1c2luZyBPQXV0aDJcclxuICAgKiBAcGFyYW0gcmVtZW1iZXI6IHJlbWVtYmVyIGNyZWRlbnRpYWxzIFxyXG4gICAqIEBwYXJhbSBvYXV0aDogdGhlIG9wdGlvbmFsIG9wZW4gYXV0aGVudGljYXRpb24gc3VwcG9ydGVkXHJcbiAgICogQHBhcmFtIG9hdXRoQWNjZXNzVG9rZW46IHRoZSBvcHRpb25hbCBPQXV0aDIgYWNjZXNzIHRva2VuXHJcbiAqIEBwYXJhbSBvblN1Y2NlczogZnVuY3Rpb24gdG8gZXhlY3V0ZSBvbiBzZWNjZXNzXHJcbiAqL1xyXG4gIGF1dG9Mb2dpbihcclxuICAgIGVtYWlsOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkID0gbnVsbCxcclxuICAgIHBhc3N3b3JkOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkID0gbnVsbCxcclxuICAgIHJlbWVtYmVyOiBib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZCA9IGZhbHNlLFxyXG4gICAgb2F1dGg6IExvZ2luT0F1dGhUeXBlIHwgbnVsbCB8IHVuZGVmaW5lZCA9IG51bGwsXHJcbiAgICBvYXV0aEFjY2Vzc1Rva2VuOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkID0gbnVsbCxcclxuICAgIG9uU3VjY2VzOiBGdW5jdGlvbiB8IG51bGwgfCB1bmRlZmluZWQgPSBudWxsKTogYm9vbGVhbiB7XHJcbiAgICB0aGlzLmxvZ2luKGVtYWlsLCBwYXNzd29yZCwgcmVtZW1iZXIsIG9hdXRoLCBvYXV0aEFjY2Vzc1Rva2VuKVxyXG4gICAgICAuc3Vic2NyaWJlKChyOiBBcGlSZXN1bHQ8RXZvbHV0aW9uTG9naW5SZXN1bHQ+KSA9PiB7XHJcbiAgICAgICAgaWYgKCFyLnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5lcnJvcihyLm1lc3NhZ2UsIG51bGwsIFwiRXJyb3JlIGluIEV2b2x1dGlvblwiKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLnRvYXN0KCdDb25uZXNzbyBhZCBFdm9sdXRpb24nLCAxNTAwLCAncG93ZXInKTtcclxuICAgICAgICAgIGlmIChvblN1Y2Nlcykge1xyXG4gICAgICAgICAgICBvblN1Y2NlcygpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFBlcmZvcm0gYXV0byBsb2dvdXRcclxuICAgKiBAcGFyYW0gb25TdWNjZXM6IGZ1bmN0aW9uIHRvIGV4ZWN1dGUgb24gc2VjY2Vzc1xyXG4gICAqL1xyXG4gIGF1dG9Mb2dvdXQoXHJcbiAgICBvblN1Y2NlczogRnVuY3Rpb24gfCBudWxsIHwgdW5kZWZpbmVkID0gbnVsbCkge1xyXG4gICAgaWYgKCF0aGlzLmxvZ2dlZEluKCkpIHJldHVybjtcclxuICAgIHRoaXMubG9nb3V0KCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHI6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmICghci5zdWNjZXNzKSB7XHJcbiAgICAgICAgICB0aGlzLmRpYWxvZ1NlcnZpY2UuZXJyb3Ioci5tZXNzYWdlLCBudWxsLCBcIkVycm9yZSBpbiBFdm9sdXRpb25cIik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS50b2FzdCgnRGlzY29ubmVzc28gZGEgRXZvbHV0aW9uJywgMTUwMCwgJ3Bvd2VyX29mZicpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgY29tcGxldGU6ICgpID0+IHtcclxuICAgICAgICB0aGlzLmNsZWFyKClcclxuICAgICAgICBpZiAob25TdWNjZXMpIHtcclxuICAgICAgICAgIG9uU3VjY2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFBlcmZvcm0gbG9naW4gICBcclxuICAgKiBAcGFyYW0gZW1haWw6IHRoZSBvcHRpb25hbCBlbWFpbCBpZiB1c2luZyBPQXV0aDJcclxuICAgKiBAcGFybWEgcGFzc3dvcmQ6IHRoZSBvcHRpb25hbCBwYXNzd29yZCBpZiB1c2luZyBPQXV0aDJcclxuICAgKiBAcGFyYW0gcmVtZW1iZXI6IHJlbWVtYmVyIGNyZWRlbnRpYWxzIFxyXG4gICAqIEBwYXJhbSBvYXV0aDogdGhlIG9wdGlvbmFsIG9wZW4gYXV0aGVudGljYXRpb24gc3VwcG9ydGVkXHJcbiAgICogQHBhcmFtIG9hdXRoQWNjZXNzVG9rZW46IHRoZSBvcHRpb25hbCBPQXV0aDIgYWNjZXNzIHRva2VuXHJcbiAgICogQHJldHVybnM6IHRoZSBsb2dpbiByZXN1bHRcclxuICAgKi9cclxuICBsb2dpbihlbWFpbDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCA9IG51bGwsXHJcbiAgICBwYXNzd29yZDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCA9IG51bGwsXHJcbiAgICByZW1lbWJlcjogYm9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWQgPSBmYWxzZSxcclxuICAgIG9hdXRoOiBMb2dpbk9BdXRoVHlwZSB8IG51bGwgfCB1bmRlZmluZWQgPSBudWxsLFxyXG4gICAgb2F1dGhBY2Nlc3NUb2tlbjogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCA9IG51bGwpIHtcclxuICAgIHRoaXMuY2xlYXIoKTtcclxuICAgIHRoaXMubG9nZ2luZ0luLnNldCh0cnVlKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcclxuICAgICAgLnBvc3Q8QXBpUmVzdWx0PEV2b2x1dGlvbkxvZ2luUmVzdWx0Pj4oXHJcbiAgICAgICAgdGhpcy5fc2VydmljZVVyaSArICcvbG9naW4yJyxcclxuICAgICAgICB7XHJcbiAgICAgICAgICB1c2VyOiBvYXV0aCA/IG51bGwgOiBlbWFpbCxcclxuICAgICAgICAgIHBhc3N3b3JkOiBvYXV0aCA/IG51bGwgOiBwYXNzd29yZCxcclxuICAgICAgICAgIGNsaWVudElkOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImV2b2x1dGlvbl9jbGllbnRfaWRcIiksXHJcbiAgICAgICAgICBPQVVUSDogb2F1dGhcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGhlYWRlcnM6XHJcbiAgICAgICAgICAgICFvYXV0aFxyXG4gICAgICAgICAgICAgID8gbmV3IEh0dHBIZWFkZXJzKClcclxuICAgICAgICAgICAgICA6IG5ldyBIdHRwSGVhZGVycygpXHJcbiAgICAgICAgICAgICAgICAuc2V0KFwiQXV0aG9yaXphdGlvblwiLCBvYXV0aEFjY2Vzc1Rva2VuID8/ICcnKVxyXG4gICAgICAgIH0pXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcclxuICAgICAgICAgIHRoaXMuaGFuZGxlTG9naW5FcnJvcigpO1xyXG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyKTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBtYXAoKHI6IEFwaVJlc3VsdDxFdm9sdXRpb25Mb2dpblJlc3VsdD4pID0+IHtcclxuICAgICAgICAgIHRoaXMubG9nZ2luZ0luLnNldChmYWxzZSk7XHJcbiAgICAgICAgICBpZiAoci5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgIC8vIFN0b3JlIGFjY2VzcyB0b2tlblxyXG4gICAgICAgICAgICB0aGlzLnNldFRva2VuKHIudmFsdWUpO1xyXG4gICAgICAgICAgICBjb25zdCBsb2dpbkluZm86IEV2b2x1dGlvbkxvZ2luSW5mbyA9IHtcclxuICAgICAgICAgICAgICBjb250ZXh0OiByLnZhbHVlLmNvbnRleHQsXHJcbiAgICAgICAgICAgICAgT0FVVEg6IG9hdXRoXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKCFvYXV0aCkge1xyXG4gICAgICAgICAgICAgIGxvZ2luSW5mby51c2VyQ3JlZGVudGlhbHMgPVxyXG4gICAgICAgICAgICAgICAgU3lzdGVtVXRpbHMuY2lwaGVyKFxyXG4gICAgICAgICAgICAgICAgICBKU09OLnN0cmluZ2lmeSh7XHJcbiAgICAgICAgICAgICAgICAgICAgZW1haWw6IGVtYWlsLFxyXG4gICAgICAgICAgICAgICAgICAgIHBhc3N3b3JkOiBwYXNzd29yZCxcclxuICAgICAgICAgICAgICAgICAgICByZW1lbWJlcjogcmVtZW1iZXIsXHJcbiAgICAgICAgICAgICAgICAgIH0pLCBsb2dpbkluZm8uY29udGV4dC51c2VySWQudG9TdHJpbmcoKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gVXBkYXRlIGluZm9cclxuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXHJcbiAgICAgICAgICAgICAgJ2V2b2x1dGlvbl9sb2dpbicsXHJcbiAgICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkobG9naW5JbmZvKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB0aGlzLl9sb2dpbkluZm8gPSBsb2dpbkluZm87XHJcbiAgICAgICAgICAgIHRoaXMubG9nZ2VkSW4uc2V0KHRydWUpO1xyXG4gICAgICAgICAgICAvLyBOb3RpZnlcclxuICAgICAgICAgICAgdGhpcy5icm9hZGNhc3RTZXJ2aWNlLnNlbmRNZXNzYWdlKEV2b2x1dGlvbk1lc3NhZ2VzLkxPR0lOX0NPTVBMRVRFRCk7XHJcblxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIHI7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFBlcmZvcm0gbG9nb3V0XHJcbiAgICovXHJcbiAgbG9nb3V0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PGFueT4odGhpcy5fc2VydmljZVVyaSArICcvbG9nb3V0Jywge30pLnBpcGUoXHJcbiAgICAgIG1hcChyID0+IHtcclxuICAgICAgICB0aGlzLmNsZWFyKCk7XHJcbiAgICAgICAgcmV0dXJuIHJcclxuICAgICAgfSksXHJcbiAgICAgIGNhdGNoRXJyb3IoKF9lKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jbGVhcigpO1xyXG4gICAgICAgIHJldHVybiBvZihbXSk7XHJcbiAgICAgIH0pKTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAqIFN3aXRjaCB0aGUgY3VycmVudCBsb2dpbiB0byBhIG5ldyBvbmUgd2l0aCB0aGUgc2FtZSBjcmVkZW50aWFscyBleGNlcHQgcm9sZSBwb3NzaWJseSAoY29udGV4dCBjaGFuZ2UpXHJcbiAgKiBAcGFyYW0gaWQgOiBuZXcgdXNlciBpZFxyXG4gICovXHJcbiAgbG9naW5Td2l0Y2goaWQ6IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxyXG4gICAgICAucG9zdDxBcGlSZXN1bHQ8RXZvbHV0aW9uTG9naW5SZXN1bHQ+PihcclxuICAgICAgICB0aGlzLl9zZXJ2aWNlVXJpICsgJy9sb2dpbi1zd2l0Y2gvJyxcclxuICAgICAgICB7XHJcbiAgICAgICAgICB1c2VySWQ6IGlkLFxyXG4gICAgICAgICAgY2xpZW50SWQ6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiZXZvbHV0aW9uX2NsaWVudF9pZFwiKVxyXG4gICAgICAgIH1cclxuICAgICAgKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMuaGFuZGxlTG9naW5FcnJvcigpO1xyXG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyKTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBtYXAoKHI6IEFwaVJlc3VsdDxFdm9sdXRpb25Mb2dpblJlc3VsdD4pID0+IHtcclxuICAgICAgICAgIHRoaXMubG9nZ2luZ0luLnNldChmYWxzZSk7XHJcbiAgICAgICAgICBpZiAoci5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgIC8vIFN0b3JlIGFjY2VzcyB0b2tlblxyXG4gICAgICAgICAgICB0aGlzLnNldFRva2VuKHIudmFsdWUpO1xyXG4gICAgICAgICAgICB0aGlzLl9sb2dpbkluZm8gPSByLnZhbHVlLmNvbnRleHQ7XHJcbiAgICAgICAgICAgIHRoaXMubG9nZ2VkSW4uc2V0KHRydWUpO1xyXG4gICAgICAgICAgICAvLyBOb3RpZnlcclxuICAgICAgICAgICAgdGhpcy5icm9hZGNhc3RTZXJ2aWNlLnNlbmRNZXNzYWdlKEV2b2x1dGlvbk1lc3NhZ2VzLkxPR0lOX0NPTVBMRVRFRCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gcjtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAqIEhhbmRsZSBsb2dpbiBlcnJvclxyXG4gKi9cclxuICBwcml2YXRlIGhhbmRsZUxvZ2luRXJyb3IoKSB7XHJcbiAgICB0aGlzLmxvZ2dpbmdJbi5zZXQoZmFsc2UpO1xyXG4gICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ2V2b2x1dGlvbl9sb2dpbicpO1xyXG5cclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBSZXNldCBsb2dpbiByZWZyZXNoIHRpbWVyIGFuZCBsb2dpbiBzdGF0ZVxyXG4gICAqL1xyXG4gIHJlc2V0KCkge1xyXG4gICAgLy8gQ2xlYXIgbG9naW4gaW5mb1xyXG4gICAgdGhpcy5fbG9naW5JbmZvID0gbnVsbDtcclxuICAgIC8vIExvZ2dlZCBvdXRcclxuICAgIHRoaXMubG9nZ2VkSW4uc2V0KGZhbHNlKTtcclxuICAgIC8vIE5vdGlmeVxyXG4gICAgdGhpcy5icm9hZGNhc3RTZXJ2aWNlLnNlbmRNZXNzYWdlKEV2b2x1dGlvbk1lc3NhZ2VzLkxPR09VVF9DT01QTEVURUQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2xlYXIgbG9naW4gZGF0YVxyXG4gICAqL1xyXG4gIGNsZWFyKCkge1xyXG4gICAgLy8gQ2xlYXIgbG9jYWwgc3RvcmFnZVxyXG4gICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgnZXZvbHV0aW9uX2p3dCcpO1xyXG4gICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgnZXZvbHV0aW9uX2p3dF9yZWZyZXNoJyk7XHJcbiAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCdldm9sdXRpb25fb2F1dGgnKTtcclxuICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdldm9sdXRpb25fbG9naW4nKTtcclxuICAgIC8vIFJlc2V0IGxvZ2luXHJcbiAgICB0aGlzLnJlc2V0KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAqIFBlcmZvcm0gdG9rZW4gcmVmcmVzaFxyXG4gICovXHJcbiAgcmVmcmVzaCgpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PEFwaVJlc3VsdDxFdm9sdXRpb25Mb2dpblJlc3VsdD4+KFxyXG4gICAgICB0aGlzLl9zZXJ2aWNlVXJpICsgJy9yZWZyZXNoMi8/dG9rZW49JyArIHRoaXMuZ2V0VG9rZW4odHJ1ZSlcclxuICAgICkucGlwZShtYXAoKHI6IEFwaVJlc3VsdDxFdm9sdXRpb25Mb2dpblJlc3VsdD4pID0+IHtcclxuICAgICAgLy8gVXBkYXRlIHRva2VuXHJcbiAgICAgIHRoaXMuc2V0VG9rZW4oci52YWx1ZSk7XHJcbiAgICB9KSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogQ29udmVydCBmb2xkZXJzIGluIGEgdHJlZSBvZiBOb2RlIG9iamVjdC5cclxuICAgKiBAcGFyYW0gZm9sZGVycyA6IHRoZSBzdWJmb2xkZXJzIGdyb3VwIG9yIG51bGwgdG8gcm9vdFxyXG4gICAqL1xyXG4gIHRvTm9kZXMoZm9sZGVyczogSU5vZGVbXSk6IElOb2RlW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3RvTm9kZXMoZm9sZGVycywgbnVsbCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb252ZXJ0IGZvbGRlcnMgaW4gYSB0cmVlIG9mIE5vZGUgb2JqZWN0LlxyXG4gICAqIEBwYXJhbSBmb2xkZXJzIDogdGhlIGNoaWxkcmVuIGdyb3VwIG9yIG51bGwgdG8gcm9vdFxyXG4gICAqL1xyXG4gIHByaXZhdGUgX3RvTm9kZXMoZm9sZGVyczogSU5vZGVbXSwgcGFyZW50OiBJTm9kZSk6IElOb2RlW10ge1xyXG4gICAgbGV0IG5vZGVzOiBJTm9kZVtdID0gW107XHJcbiAgICBmb2xkZXJzLmZvckVhY2goKG4pID0+IHtcclxuICAgICAgbGV0IG5vZGU6IElOb2RlID0ge1xyXG4gICAgICAgIGlkOiBuLmlkLFxyXG4gICAgICAgIG5hbWU6IG4ubmFtZSxcclxuICAgICAgICBjb3VudDogbi5jb3VudCxcclxuICAgICAgICBwYXJlbnQ6IHBhcmVudCxcclxuICAgICAgICBjaGlsZHJlbjogbnVsbCxcclxuICAgICAgICBiYWc6IG4sXHJcbiAgICAgIH07XHJcbiAgICAgIG5vZGUuY2hpbGRyZW4gPVxyXG4gICAgICAgIG4uY2hpbGRyZW4gJiYgbi5jaGlsZHJlbi5sZW5ndGggPiAwXHJcbiAgICAgICAgICA/IHRoaXMuX3RvTm9kZXMobi5jaGlsZHJlbiwgbm9kZSlcclxuICAgICAgICAgIDogW107XHJcbiAgICAgIG5vZGVzLnB1c2gobm9kZSk7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBub2RlcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlIHRoZSB0YXhvbm9teVxyXG4gICAqL1xyXG4gIGdldFRheG9ub215KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8QXBpUmVzdWx0PGFueT4+KFxyXG4gICAgICB0aGlzLl9zZXJ2aWNlVXJpICsgJy90YXhvbm9teSdcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZSBhdXRob3JpdGllc1xyXG4gICAqL1xyXG4gIGdldEF1dGhvcml0aWVzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8QXBpUmVzdWx0PGFueT4+KFxyXG4gICAgICB0aGlzLl9zZXJ2aWNlVXJpICsgJy9jb21wbGlhbmNlL2F1dGhvcml0aWVzJ1xyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8vLy9cclxuICAvLyBDT05URVhUXHJcbiAgLy8vL1xyXG4gIC8qKlxyXG4gICAqIENoYW5nZSBjb250ZXh0XHJcbiAgICovXHJcbiAgY2hhbmdlQ29udGV4dChwYXJhbXM6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PEFwaVJlc3VsdDxhbnk+PihcclxuICAgICAgdGhpcy5fc2VydmljZVVyaSArICcvY29tcGxpYW5jZS9jb250ZXh0JyxcclxuICAgICAgcGFyYW1zXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLy8vL1xyXG4gIC8vIFJFR0lTVEVSU1xyXG4gIC8vLy9cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlIGEgcmVnaXN0ZXJcclxuICAgKiBAcGFyYW0gaWQgdGhlIHJlZ2lzdGVyIGlkXHJcbiAgICovXHJcbiAgZ2V0UmVnaXN0ZXIoaWQ6IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8QXBpUmVzdWx0PGFueT4+KFxyXG4gICAgICB0aGlzLl9zZXJ2aWNlVXJpICtcclxuICAgICAgJy9jb21wbGlhbmNlL3JlZ2lzdGVycy8nICsgaWRcclxuICAgICk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogQ29sbGVjdCByZWdpc3RlciBwcm9maWxlc1xyXG4gICAqIEBwYXJhbSBwYXJhbXMgcGFyYW1ldGVyc1xyXG4gICAqL1xyXG4gIGNvbGxlY3RSZWdpc3RlclByb2ZpbGVzKHBhcmFtczogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8QXBpUmVzdWx0PGFueT4+KFxyXG4gICAgICB0aGlzLl9zZXJ2aWNlVXJpICtcclxuICAgICAgJy9jb21wbGlhbmNlL3JlZ2lzdGVycy9wcm9maWxlcy9jb2xsZWN0JyxcclxuICAgICAgcGFyYW1zXHJcbiAgICApO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vLy9cclxuICAvLyBMQVdTXHJcbiAgLy8vL1xyXG5cclxuICAvKipcclxuICAgKiBBZGQgb25lIG9yIG1vcmUgbGF3c1xyXG4gICAqIEBwYXJhbSBwYXJhbXMgcGFyYW1ldGVyc1xyXG4gICAqL1xyXG4gIGFkZExhd3MocGFyYW1zOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxBcGlSZXN1bHQ8YW55Pj4oXHJcbiAgICAgIHRoaXMuX3NlcnZpY2VVcmkgKyAnL2NvbXBsaWFuY2UvbGF3cy9hZGQnLFxyXG4gICAgICBwYXJhbXNcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvLy8vXHJcbiAgLy8gQUNUSVZJVElFU1xyXG4gIC8vLy9cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmUgYWN0aXZpdHkgZ3JvdXBzXHJcbiAgICogQHBhcmFtIGdyb3VwIHRoZSBncm91cCBudW1iZXJcclxuICAgKiBAcGFyYW0gc2l0ZSB0aGUgc2l0ZSBpZFxyXG4gICAqL1xyXG4gIGdldEdyb3Vwcyhncm91cDogbnVtYmVyID0gMSwgc2l0ZTogbnVtYmVyID0gbnVsbCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8QXBpUmVzdWx0PGFueT4+KFxyXG4gICAgICB0aGlzLl9zZXJ2aWNlVXJpICtcclxuICAgICAgKHNpdGVcclxuICAgICAgICA/ICcvY29tcGxpYW5jZS9ncm91cHMvP2dyb3VwPScgK1xyXG4gICAgICAgIGdyb3VwICtcclxuICAgICAgICAnJnNpdGU9JyArXHJcbiAgICAgICAgc2l0ZVxyXG4gICAgICAgIDogJy9jb21wbGlhbmNlL2dyb3Vwcy8/Z3JvdXA9JyArIGdyb3VwKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZCBvbmUgb3IgbW9yZSBhY3Rpdml0aWVzXHJcbiAgICogQHBhcmFtIHBhcmFtcyBwYXJhbWV0ZXJzXHJcbiAgICovXHJcbiAgYWRkQWN0aXZpdGllcyhwYXJhbXM6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PEFwaVJlc3VsdDxhbnk+PihcclxuICAgICAgdGhpcy5fc2VydmljZVVyaSArICcvY29tcGxpYW5jZS9hY3Rpdml0aWVzL2FkZCcsXHJcbiAgICAgIHBhcmFtc1xyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICogRXhwb3J0IGxhd3NcclxuICAqIEBwYXJhbSBwYXJhbXMgcGFyYW1ldGVyc1xyXG4gICovXHJcbiAgZXhwb3J0TGF3cyhwYXJhbXM6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KFxyXG4gICAgICB0aGlzLl9zZXJ2aWNlVXJpICsgJy9jb21wbGlhbmNlL2xhd3MvZXhwb3J0JyxcclxuICAgICAgcGFyYW1zLFxyXG4gICAgICB7IHJlc3BvbnNlVHlwZTogJ2Jsb2InIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvLy9cclxuICAvLyBMSU5LU1xyXG4gIC8vL1xyXG5cclxuICAvKipcclxuICAqIFNhdmUgYSB1c2VyIGxpbmtcclxuICAqIEBwYXJhbSBpdGVtOiB0aGUgdXNlciBsaW5rXHJcbiAgKi9cclxuICBzYXZlTGluayhpdGVtOiBFdm9sdXRpb25Vc2VyTGluaykge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PEFwaVJlc3VsdDxib29sZWFuPj4oXHJcbiAgICAgIHRoaXMuX3NlcnZpY2VVcmkgKyAnL2FjY291bnQvbGlua3Mvc2F2ZScsXHJcbiAgICAgIGl0ZW1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWxldGUgYSB1c2VyIGxpbmtcclxuICAgKiBAcGFyYW0gaXRlbTogdGhlIHVzZXIgbGlua1xyXG4gICAqL1xyXG4gIGRlbGV0ZUxpbmsoaXRlbTogRXZvbHV0aW9uVXNlckxpbmspIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxBcGlSZXN1bHQ8Ym9vbGVhbj4+KFxyXG4gICAgICB0aGlzLl9zZXJ2aWNlVXJpICsgJy9hY2NvdW50L2xpbmtzL2RlbGV0ZScsXHJcbiAgICAgIGl0ZW1cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
export var SupportServiceFlags;
|
|
2
|
+
(function (SupportServiceFlags) {
|
|
3
|
+
SupportServiceFlags[SupportServiceFlags["None"] = 0] = "None";
|
|
4
|
+
SupportServiceFlags[SupportServiceFlags["Notify500Errors"] = 1] = "Notify500Errors";
|
|
5
|
+
})(SupportServiceFlags || (SupportServiceFlags = {}));
|
|
1
6
|
export var SupportProduct;
|
|
2
7
|
(function (SupportProduct) {
|
|
3
8
|
SupportProduct[SupportProduct["None"] = 0] = "None";
|
|
@@ -20,4 +25,4 @@ export var SupportProductModule;
|
|
|
20
25
|
SupportProductModule[SupportProductModule["DgiIMDG"] = 512] = "DgiIMDG";
|
|
21
26
|
SupportProductModule[SupportProductModule["DgiCLP"] = 1024] = "DgiCLP";
|
|
22
27
|
})(SupportProductModule || (SupportProductModule = {}));
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5pdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvc3VwcG9ydC5jb21tb24vY29tbW9uL2RlZmluaXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBTixJQUFZLG1CQUdYO0FBSEQsV0FBWSxtQkFBbUI7SUFDN0IsNkRBQVEsQ0FBQTtJQUNSLG1GQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFIVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBRzlCO0FBa0VELE1BQU0sQ0FBTixJQUFZLGNBS1g7QUFMRCxXQUFZLGNBQWM7SUFDeEIsbURBQVEsQ0FBQTtJQUNSLHlEQUFXLENBQUE7SUFDWCw2REFBa0IsQ0FBQTtJQUNsQix1REFBZSxDQUFBO0FBQ2pCLENBQUMsRUFMVyxjQUFjLEtBQWQsY0FBYyxRQUt6QjtBQUVELE1BQU0sQ0FBTixJQUFZLG9CQWFYO0FBYkQsV0FBWSxvQkFBb0I7SUFDOUIsK0RBQVEsQ0FBQTtJQUNSLGlGQUFpQixDQUFBO0lBQ2pCLG1FQUFlLENBQUE7SUFDZix1R0FBaUMsQ0FBQTtJQUNqQyxxR0FBZ0MsQ0FBQTtJQUNoQyx3R0FBaUMsQ0FBQTtJQUNqQyxzRkFBd0IsQ0FBQTtJQUN4QixrRkFBc0IsQ0FBQTtJQUN0QixxRUFBZSxDQUFBO0lBQ2YscUVBQWUsQ0FBQTtJQUNmLHVFQUFnQixDQUFBO0lBQ2hCLHNFQUFnQixDQUFBO0FBQ2xCLENBQUMsRUFiVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBYS9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9naW5SZXN1bHQgfSBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL2NvcmUnO1xyXG5cclxuZXhwb3J0IGVudW0gU3VwcG9ydFNlcnZpY2VGbGFncyB7XHJcbiAgTm9uZSA9IDAsXHJcbiAgTm90aWZ5NTAwRXJyb3JzID0gMVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFN1cHBvcnRVc2VySW5mbyB7XHJcblxyXG4gICAgaWQ6IG51bWJlcjtcclxuICAgIGdyb3Vwcz86IG51bWJlciB8IG51bGw7XHJcbiAgICBncm91cE5hbWVzPzogc3RyaW5nIHwgbnVsbDtcclxuICAgIGRpc3BsYXlOYW1lPzogc3RyaW5nIHwgbnVsbDtcclxuICAgIGRhc2hib2FyZD86IHN0cmluZyB8IG51bGw7XHJcbiAgICBzZXNzaW9uSWQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gICAgZW1haWw/OiBzdHJpbmcgfCBudWxsO1xyXG4gICAgY3VzdG9tZXJJZD86IG51bWJlciB8IG51bGw7XHJcbiAgICBjb21wYW55TmFtZT86IHN0cmluZyB8IG51bGw7XHJcbiAgICByb2xlOiBudW1iZXI7XHJcbiAgICBzY29wZXM/OiBzdHJpbmdbXSB8IG51bGw7XHJcbiAgICBzbGE6IG51bWJlcjtcclxuICAgIGlzQ29tbWVyY2lhbD86IGJvb2xlYW4gfCBudWxsO1xyXG4gICAgaXNBZG1pbmlzdHJhdG9yOiBib29sZWFuO1xyXG4gICAgaXNHdWVzdDogYm9vbGVhbjtcclxuICAgIGlzVXNlcjogYm9vbGVhbjtcclxuICAgIGlzT3BlcmF0b3I6IGJvb2xlYW47XHJcbiAgICBpc1RlbXBvcmFyeTogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTdXBwb3J0TG9naW5SZXN1bHQgZXh0ZW5kcyBMb2dpblJlc3VsdDxTdXBwb3J0VXNlckluZm8+IHsgfSBcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3VwcG9ydExvZ2luSW5mbyB7XHJcbiAgY29udGV4dDogU3VwcG9ydFVzZXJJbmZvO1xyXG4gIHVzZXJDcmVkZW50aWFscz86IHN0cmluZyB8IG51bGw7XHJcbn1cclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFN1cHBvcnROb3RpZmljYXRpb25zU2VhcmNoUGFyYW1zIHtcclxuICBhbnk/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHByb2R1Y3RzPzogbnVtYmVyIHwgbnVsbDtcclxuICBwcm9kdWN0TW9kdWxlcz86IG51bWJlciB8IG51bGw7XHJcbiAgZmlyc3Q/OiBudW1iZXIgfCBudWxsO1xyXG4gIGNvdW50PzogbnVtYmVyIHwgbnVsbDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTdXBwb3J0Tm90aWZpY2F0aW9uc1NlYXJjaFJlc3VsdCB7XHJcbiAgaW50ZXJ2YWw/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGl0ZW1zPzogU3VwcG9ydE5vdGlmaWNhdGlvbkluZm9bXSB8IG51bGw7XHJcbiAgdG90YWw/OiBudW1iZXIgfCBudWxsO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFN1cHBvcnROb3RpZmljYXRpb25JbmZvIHtcclxuICBpZDogbnVtYmVyO1xyXG4gIHByb2R1Y3RzOiBudW1iZXI7XHJcbiAgcHJvZHVjdE5hbWVzPzogc3RyaW5nIHwgbnVsbDtcclxuICBwcm9kdWN0TW9kdWxlcz86IG51bWJlciB8IG51bGw7XHJcbiAgcHJvZHVjdE1vZHVsZU5hbWVzPzogc3RyaW5nIHwgbnVsbDtcclxuICBwdWJsaXNoaW5nRGF0ZT86IERhdGUgfCBudWxsO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgdGV4dDogc3RyaW5nO1xyXG4gIHN0YXRlOiBudW1iZXI7XHJcbiAgaXNQdWJsaXNoZWQ6IGJvb2xlYW47XHJcbiAgaXNJbnRlcm5hbDogYm9vbGVhbjtcclxuICBpc1JlYWQ6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3VwcG9ydE5vdGlmaWNhdGlvbnNNYXJrUGFyYW1zIHtcclxuICBpZHM6IG51bWJlcltdO1xyXG4gIHVubWFyazogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGVudW0gU3VwcG9ydFByb2R1Y3Qge1xyXG4gIE5vbmUgPSAwLFxyXG4gIENsaXBwZXIgPSAxLFxyXG4gIEV2b2x1dGlvbiA9IDEgPDwgMSxcclxuICBER0luZm8gPSAxIDw8IDJcclxufVxyXG5cclxuZXhwb3J0IGVudW0gU3VwcG9ydFByb2R1Y3RNb2R1bGUge1xyXG4gIE5vbmUgPSAwLFxyXG4gIEV2b0Zvcm1hemlvbmUgPSAxLFxyXG4gIEV2b0RQSSA9IDEgPDwgMSxcclxuICBFdm9Tb3J2ZWdsaWFuemFTYW5pdGFyaWEgPSAxIDw8IDIsXHJcbiAgRXZvUmVnaXN0cm9FU2NhZGVuemFyaW8gPSAxIDw8IDMsXHJcbiAgRXZvQXR0cmV6emF0dXJlRUltcGlhbnRpID0gMSA8PCA0LFxyXG4gIEV2b01vbml0b3JhZ2dpbyA9IDEgPDwgNSxcclxuICBFdm9Cb2xsZXR0aW5vID0gMSA8PCA2LFxyXG4gIERnaUFEUiA9IDEgPDwgNyxcclxuICBEZ2lSSUQgPSAxIDw8IDgsXHJcbiAgRGdpSU1ERyA9IDEgPDwgOSxcclxuICBEZ2lDTFAgPSAxIDw8IDEwLFxyXG59XHJcbiJdfQ==
|
|
@@ -5,6 +5,7 @@ import { SupportService } from '../services/support.service';
|
|
|
5
5
|
import { DialogService } from '@arsedizioni/ars-utils/ui';
|
|
6
6
|
import { BroadcastService } from '@arsedizioni/ars-utils/core';
|
|
7
7
|
import { SupportMessages } from '../messages';
|
|
8
|
+
import { SupportServiceFlags } from '../definitions';
|
|
8
9
|
import * as i0 from "@angular/core";
|
|
9
10
|
export class SupportAuthInterceptor {
|
|
10
11
|
constructor() {
|
|
@@ -24,15 +25,18 @@ export class SupportAuthInterceptor {
|
|
|
24
25
|
error.status === 401) {
|
|
25
26
|
return this.handle401Error(request, next);
|
|
26
27
|
}
|
|
27
|
-
const
|
|
28
|
-
if (
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
28
|
+
const errorStatus = parseInt(error.status ?? "0");
|
|
29
|
+
if (errorStatus < 500 || (this.supportService.flags & SupportServiceFlags.Notify500Errors) > 0) {
|
|
30
|
+
const errorTime = new Date().getTime();
|
|
31
|
+
if (errorTime - this.lastErrorTime > 5000) {
|
|
32
|
+
this.lastErrorTime = errorTime;
|
|
33
|
+
const invalidSession = errorStatus === 403;
|
|
34
|
+
this.dialogService.error("<p>" + (error.error?.message ?? error.message ?? "Impossibile eseguire l'operazione richiesta.").replaceAll("\r\n", "</p><p>") + "</p>", null, "Errore in ARS Support", undefined, undefined, invalidSession ? 5000 : 15000).afterClosed().subscribe(() => {
|
|
35
|
+
if (invalidSession) {
|
|
36
|
+
this.broadcastService.sendMessage(SupportMessages.LOGOUT);
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
}
|
|
36
40
|
}
|
|
37
41
|
return throwError(() => error);
|
|
38
42
|
}));
|
|
@@ -80,4 +84,4 @@ export class SupportAuthInterceptor {
|
|
|
80
84
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: SupportAuthInterceptor, decorators: [{
|
|
81
85
|
type: Injectable
|
|
82
86
|
}] });
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fycy11dGlscy9zdXBwb3J0LmNvbW1vbi9jb21tb24vaW50ZXJjZXB0b3JzL2F1dGguaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUF3RCxNQUFNLHNCQUFzQixDQUFDO0FBQy9HLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBYyxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDOUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBR3JELE1BQU0sT0FBTyxzQkFBc0I7SUFEbkM7UUFHVSxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN4QyxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM1QyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN0QyxrQkFBYSxHQUFXLENBQUMsQ0FBQyxDQUFDO0tBc0ZwQztJQXBGQyxTQUFTLENBQ1AsT0FBeUIsRUFDekIsSUFBaUI7UUFFakIsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDM0QsT0FBTyxHQUFHLE9BQU8sQ0FBQyxL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QUFpQixDQUN2QixPQUF5QixFQUN6QixRQUFnQixJQUFJO1FBRXBCLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQzNELElBQUksQ0FBQyxLQUFLO2dCQUFFLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25ELElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ1YsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDO29CQUNuQixVQUFVLEVBQUU7d0JBQ1YsYUFBYSxFQUFFLFNBQVMsR0FBRyxLQUFLO3dCQUNoQyxhQUFhLEVBQUUsYUFBYTtxQkFDN0I7aUJBQ0YsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDOzhHQXpGVSxzQkFBc0I7a0hBQXRCLHNCQUFzQjs7MkZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwRXZlbnQsIEh0dHBIYW5kbGVyLCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgY2F0Y2hFcnJvciwgc3dpdGNoTWFwLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFN1cHBvcnRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvc3VwcG9ydC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJ0BhcnNlZGl6aW9uaS9hcnMtdXRpbHMvdWknO1xyXG5pbXBvcnQgeyBCcm9hZGNhc3RTZXJ2aWNlIH0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy9jb3JlJztcclxuaW1wb3J0IHsgU3VwcG9ydE1lc3NhZ2VzIH0gZnJvbSAnLi4vbWVzc2FnZXMnO1xyXG5pbXBvcnQgeyBTdXBwb3J0U2VydmljZUZsYWdzIH0gZnJvbSAnLi4vZGVmaW5pdGlvbnMnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU3VwcG9ydEF1dGhJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XHJcblxyXG4gIHByaXZhdGUgc3VwcG9ydFNlcnZpY2UgPSBpbmplY3QoU3VwcG9ydFNlcnZpY2UpO1xyXG4gIHByaXZhdGUgYnJvYWRjYXN0U2VydmljZSA9IGluamVjdChCcm9hZGNhc3RTZXJ2aWNlKTtcclxuICBwcml2YXRlIGRpYWxvZ1NlcnZpY2UgPSBpbmplY3QoRGlhbG9nU2VydmljZSk7XHJcbiAgcHJpdmF0ZSBsYXN0RXJyb3JUaW1lOiBudW1iZXIgPSAtMTtcclxuXHJcbiAgaW50ZXJjZXB0KFxyXG4gICAgcmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PixcclxuICAgIG5leHQ6IEh0dHBIYW5kbGVyXHJcbiAgKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xyXG4gICAgaWYgKHJlcXVlc3QudXJsLnN0YXJ0c1dpdGgodGhpcy5zdXBwb3J0U2VydmljZS5zZXJ2aWNlVXJpKSkge1xyXG4gICAgICByZXF1ZXN0ID0gcmVxdWVzdC5jbG9uZSh7IHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KTtcclxuICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHRoaXMuYWRkVG9rZW5Ub1JlcXVlc3QocmVxdWVzdCkpXHJcbiAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcclxuICAgICAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLmNsZWFyQnVzeSgpO1xyXG4gICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSAmJlxyXG4gICAgICAgICAgICAgICFyZXF1ZXN0LnVybC5pbmNsdWRlcyhcIi9sb2dpblwiKSAmJlxyXG4gICAgICAgICAgICAgIGVycm9yLnN0YXR1cyA9PT0gNDAxXHJcbiAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLmhhbmRsZTQwMUVycm9yKHJlcXVlc3QsIG5leHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbnN0IGVycm9yU3RhdHVzID0gcGFyc2VJbnQoZXJyb3Iuc3RhdHVzID8/IFwiMFwiKTtcclxuICAgICAgICAgICAgaWYgKGVycm9yU3RhdHVzIDwgNTAwIHx8ICh0aGlzLnN1cHBvcnRTZXJ2aWNlLmZsYWdzICYgU3VwcG9ydFNlcnZpY2VGbGFncy5Ob3RpZnk1MDBFcnJvcnMpID4gMCkge1xyXG4gICAgICAgICAgICAgIGNvbnN0IGVycm9yVGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgICAgICAgIGlmIChlcnJvclRpbWUgLSB0aGlzLmxhc3RFcnJvclRpbWUgPiA1MDAwKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxhc3RFcnJvclRpbWUgPSBlcnJvclRpbWU7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBpbnZhbGlkU2Vzc2lvbiA9IGVycm9yU3RhdHVzID09PSA0MDM7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRpYWxvZ1NlcnZpY2UuZXJyb3IoXHJcbiAgICAgICAgICAgICAgICAgIFwiPHA+XCIgKyAoZXJyb3IuZXJyb3I/Lm1lc3NhZ2UgPz8gZXJyb3IubWVzc2FnZSA/PyBcIkltcG9zc2liaWxlIGVzZWd1aXJlIGwnb3BlcmF6aW9uZSByaWNoaWVzdGEuXCIpLnJlcGxhY2VBbGwoXCJcXHJcXG5cIiwgXCI8L3A+PHA+XCIpICsgXCI8L3A+XCIsXHJcbiAgICAgICAgICAgICAgICAgIG51bGwsXHJcbiAgICAgICAgICAgICAgICAgIFwiRXJyb3JlIGluIEFSUyBTdXBwb3J0XCIsXHJcbiAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICAgICAgICBpbnZhbGlkU2Vzc2lvbiA/IDUwMDAgOiAxNTAwMCkuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChpbnZhbGlkU2Vzc2lvbikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5icm9hZGNhc3RTZXJ2aWNlLnNlbmRNZXNzYWdlKFN1cHBvcnRNZXNzYWdlcy5MT0dPVVQpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcclxuICAgICAgICAgIH0pKTtcclxuICAgIH1cclxuICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gKiBIYW5kbGUgNDAxIGVycm9yXHJcbiAqIEBwYXJhbSByZXF1ZXN0IDogdGhlIHJlcXVlc3RcclxuICogQHBhcmFtIG5leHQgOiB0aGUgaHR0cCBoYW5kbGVyXHJcbiAqL1xyXG4gIHByaXZhdGUgaGFuZGxlNDAxRXJyb3IocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpIHtcclxuICAgIGlmICh0aGlzLnN1cHBvcnRTZXJ2aWNlLmxvZ2dlZEluKCkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc3VwcG9ydFNlcnZpY2UucmVmcmVzaCgpLnBpcGUoXHJcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHtcclxuICAgICAgICAgIHJldHVybiBuZXh0LmhhbmRsZSh0aGlzLmFkZFRva2VuVG9SZXF1ZXN0KHJlcXVlc3QpKTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcclxuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3QpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkIHRva2VuIHRvIHJlcXVlc3RcclxuICAgKiBAcGFyYW0gcmVxdWVzdCA6IHRoZSByZXF1ZXN0XHJcbiAgICogQHBhcmFtIHRva2VuOiB0aGUgdG9rZW4gb3IgbnVsbCB0byB1c2UgY3VycmUzbnRcclxuICAgKi9cclxuICBwcml2YXRlIGFkZFRva2VuVG9SZXF1ZXN0KFxyXG4gICAgcmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PixcclxuICAgIHRva2VuOiBzdHJpbmcgPSBudWxsXHJcbiAgKTogSHR0cFJlcXVlc3Q8YW55PiB7XHJcbiAgICBpZiAocmVxdWVzdC51cmwuc3RhcnRzV2l0aCh0aGlzLnN1cHBvcnRTZXJ2aWNlLnNlcnZpY2VVcmkpKSB7XHJcbiAgICAgIGlmICghdG9rZW4pIHRva2VuID0gdGhpcy5zdXBwb3J0U2VydmljZS5nZXRUb2tlbigpO1xyXG4gICAgICBpZiAodG9rZW4pIHtcclxuICAgICAgICByZXR1cm4gcmVxdWVzdC5jbG9uZSh7XHJcbiAgICAgICAgICBzZXRIZWFkZXJzOiB7XHJcbiAgICAgICAgICAgIEF1dGhvcml6YXRpb246ICdCZWFyZXIgJyArIHRva2VuLFxyXG4gICAgICAgICAgICAnbmdzdy1ieXBhc3MnOiAnbmdzdy1ieXBhc3MnXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVxdWVzdDtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|