@techextensor/tab-core-utility 2.2.196 → 2.2.198
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/README.md +7 -0
- package/esm2022/index.mjs +11 -10
- package/esm2022/lib/tab-core-utility/app/constants/api-constants.mjs +2 -10
- package/esm2022/lib/tab-core-utility/app/constants/common.mjs +16 -1
- package/esm2022/lib/tab-core-utility/app/crud/tab-blueprint.service.mjs +7 -7
- package/esm2022/lib/tab-core-utility/app/crud/tab-crud.service.mjs +45 -39
- package/esm2022/lib/tab-core-utility/app/crud/tab-delete.service.mjs +14 -18
- package/esm2022/lib/tab-core-utility/app/crud/tab-formio.service.mjs +9 -9
- package/esm2022/lib/tab-core-utility/app/crud/tab-get.service.mjs +62 -206
- package/esm2022/lib/tab-core-utility/app/crud/tab-insert.service.mjs +11 -12
- package/esm2022/lib/tab-core-utility/app/crud/tab-release.service.mjs +7 -7
- package/esm2022/lib/tab-core-utility/app/crud/tab-update.service.mjs +36 -22
- package/esm2022/lib/tab-core-utility/app/crud/tab-workflow.service.mjs +7 -7
- package/esm2022/lib/tab-core-utility/app/enums/dsq.enum.mjs +13 -13
- package/esm2022/lib/tab-core-utility/app/helpers/auth-response.adapter.mjs +31 -6
- package/esm2022/lib/tab-core-utility/app/helpers/common/app.helpers.mjs +12 -13
- package/esm2022/lib/tab-core-utility/app/helpers/common/dsq.helpers.mjs +7 -7
- package/esm2022/lib/tab-core-utility/app/helpers/common/meta-data.helpers.mjs +11 -7
- package/esm2022/lib/tab-core-utility/app/helpers/common/req-res.helpers.mjs +15 -27
- package/esm2022/lib/tab-core-utility/app/helpers/common/template.helpers.mjs +7 -7
- package/esm2022/lib/tab-core-utility/app/helpers/common/user-personalization.helper.mjs +7 -7
- package/esm2022/lib/tab-core-utility/app/helpers/common/where-clause.helpers.mjs +14 -59
- package/esm2022/lib/tab-core-utility/app/helpers/login-response.adapter.mjs +31 -6
- package/esm2022/lib/tab-core-utility/app/helpers/screen/forms.helpers.mjs +7 -7
- package/esm2022/lib/tab-core-utility/app/helpers/screen/grid-column-data.helpers.mjs +7 -7
- package/esm2022/lib/tab-core-utility/app/helpers/screen/grid.helpers.mjs +12 -96
- package/esm2022/lib/tab-core-utility/app/helpers/screen/media-upload.helpers.mjs +7 -7
- package/esm2022/lib/tab-core-utility/app/helpers/screen/plugin.helpers.mjs +7 -7
- package/esm2022/lib/tab-core-utility/app/helpers/screen/screen.helpers.mjs +7 -15
- package/esm2022/lib/tab-core-utility/app/interfaces/auth.interface.mjs +1 -1
- package/esm2022/lib/tab-core-utility/app/models/api-query.class.mjs +36 -64
- package/esm2022/lib/tab-core-utility/app/models/app-object.class.mjs +1 -27
- package/esm2022/lib/tab-core-utility/app/models/app-screen.model.mjs +4 -4
- package/esm2022/lib/tab-core-utility/app/models/data-source-queries.class.mjs +1 -22
- package/esm2022/lib/tab-core-utility/app/models/data-source-query.model.mjs +4 -4
- package/esm2022/lib/tab-core-utility/app/models/filter.model.mjs +16 -18
- package/esm2022/lib/tab-core-utility/app/models/sort.model.mjs +9 -13
- package/esm2022/lib/tab-core-utility/app/utils/filter.util.mjs +3 -3
- package/esm2022/lib/tab-core-utility/app/utils/req-res.util.mjs +1 -13
- package/esm2022/lib/tab-core-utility/app/utils/select-query.util.mjs +107 -0
- package/esm2022/lib/tab-core-utility/app/utils/tab-app.util.mjs +8 -5
- package/esm2022/lib/tab-core-utility/auth/auth.service.mjs +8 -9
- package/esm2022/lib/tab-core-utility/auth/idb-storage.service.mjs +7 -7
- package/esm2022/lib/tab-core-utility/auth/local-storage.service.mjs +7 -7
- package/esm2022/lib/tab-core-utility/auth/session-storage.service.mjs +7 -7
- package/esm2022/lib/tab-core-utility/core/http-client/api.service.mjs +7 -7
- package/esm2022/lib/tab-core-utility/core/pipe/translate.pipe.mjs +11 -11
- package/esm2022/lib/tab-core-utility/core/service/confirmation.service.mjs +9 -9
- package/esm2022/lib/tab-core-utility/core/service/encryption.service.mjs +7 -7
- package/esm2022/lib/tab-core-utility/core/service/notification.service.mjs +9 -9
- package/esm2022/lib/tab-core-utility/core/service/signalr/operation-tracker.service.mjs +7 -7
- package/esm2022/lib/tab-core-utility/core/service/signalr/signalr-infrastructure.service.mjs +9 -9
- package/esm2022/lib/tab-core-utility/core/service/signalr/signalr.service.mjs +9 -9
- package/esm2022/lib/tab-core-utility/core/service/translation.service.mjs +9 -9
- package/index.d.ts +10 -1
- package/lib/tab-core-utility/app/constants/api-constants.d.ts +0 -4
- package/lib/tab-core-utility/app/constants/common.d.ts +15 -1
- package/lib/tab-core-utility/app/crud/tab-crud.service.d.ts +6 -1
- package/lib/tab-core-utility/app/crud/tab-get.service.d.ts +16 -67
- package/lib/tab-core-utility/app/crud/tab-update.service.d.ts +3 -1
- package/lib/tab-core-utility/app/enums/dsq.enum.d.ts +2 -2
- package/lib/tab-core-utility/app/helpers/auth-response.adapter.d.ts +2 -0
- package/lib/tab-core-utility/app/helpers/common/app.helpers.d.ts +4 -1
- package/lib/tab-core-utility/app/helpers/common/meta-data.helpers.d.ts +1 -0
- package/lib/tab-core-utility/app/helpers/common/req-res.helpers.d.ts +0 -17
- package/lib/tab-core-utility/app/helpers/common/where-clause.helpers.d.ts +0 -18
- package/lib/tab-core-utility/app/helpers/login-response.adapter.d.ts +2 -0
- package/lib/tab-core-utility/app/helpers/screen/grid.helpers.d.ts +0 -53
- package/lib/tab-core-utility/app/helpers/screen/screen.helpers.d.ts +0 -6
- package/lib/tab-core-utility/app/interfaces/auth.interface.d.ts +1 -2
- package/lib/tab-core-utility/app/models/api-query.class.d.ts +84 -94
- package/lib/tab-core-utility/app/models/app-object.class.d.ts +2 -65
- package/lib/tab-core-utility/app/models/data-source-queries.class.d.ts +2 -71
- package/lib/tab-core-utility/app/models/filter.model.d.ts +9 -11
- package/lib/tab-core-utility/app/models/sort.model.d.ts +5 -7
- package/lib/tab-core-utility/app/utils/filter.util.d.ts +2 -2
- package/lib/tab-core-utility/app/utils/req-res.util.d.ts +0 -8
- package/lib/tab-core-utility/app/utils/select-query.util.d.ts +24 -0
- package/lib/tab-core-utility/app/utils/tab-app.util.d.ts +3 -3
- package/package.json +1 -3
- package/esm2022/lib/tab-core-utility/app/enums/workflow.enum.mjs +0 -37
- package/lib/tab-core-utility/app/enums/workflow.enum.d.ts +0 -30
package/README.md
ADDED
package/esm2022/index.mjs
CHANGED
|
@@ -19,7 +19,6 @@ export * from './lib/tab-core-utility/app/enums/controllers.enum';
|
|
|
19
19
|
export * from './lib/tab-core-utility/app/enums/dsq.enum';
|
|
20
20
|
export * from './lib/tab-core-utility/app/enums/permission.enum';
|
|
21
21
|
export * from './lib/tab-core-utility/app/enums/query.enum';
|
|
22
|
-
export * from './lib/tab-core-utility/app/enums/workflow.enum';
|
|
23
22
|
// App / helpers
|
|
24
23
|
export * from './lib/tab-core-utility/app/helpers/common/app.helpers';
|
|
25
24
|
export * from './lib/tab-core-utility/app/helpers/common/user-personalization.helper';
|
|
@@ -46,15 +45,25 @@ export * from './lib/tab-core-utility/app/interfaces/grid.interface';
|
|
|
46
45
|
export * from './lib/tab-core-utility/app/interfaces/signalr.interface';
|
|
47
46
|
// App / models
|
|
48
47
|
export * from './lib/tab-core-utility/app/models/api-query.class';
|
|
48
|
+
export * from './lib/tab-core-utility/app/models/app-field.model';
|
|
49
|
+
export * from './lib/tab-core-utility/app/models/app-menu.model';
|
|
49
50
|
export * from './lib/tab-core-utility/app/models/app-object.class';
|
|
51
|
+
export * from './lib/tab-core-utility/app/models/app-object.model';
|
|
52
|
+
export * from './lib/tab-core-utility/app/models/app-screen.model';
|
|
50
53
|
export * from './lib/tab-core-utility/app/models/common.class';
|
|
51
54
|
export * from './lib/tab-core-utility/app/models/data-source-queries.class';
|
|
55
|
+
export * from './lib/tab-core-utility/app/models/data-source-query.model';
|
|
56
|
+
export * from './lib/tab-core-utility/app/models/filter.model';
|
|
57
|
+
export * from './lib/tab-core-utility/app/models/orgInfo.model';
|
|
58
|
+
export * from './lib/tab-core-utility/app/models/parameter.model';
|
|
59
|
+
export * from './lib/tab-core-utility/app/models/sort.model';
|
|
52
60
|
// App / utils
|
|
53
61
|
export * from './lib/tab-core-utility/app/utils/filter.util';
|
|
54
62
|
export * from './lib/tab-core-utility/app/utils/form-builder.util';
|
|
55
63
|
export * from './lib/tab-core-utility/app/utils/json.util';
|
|
56
64
|
export * from './lib/tab-core-utility/app/utils/operators.util';
|
|
57
65
|
export * from './lib/tab-core-utility/app/utils/req-res.util';
|
|
66
|
+
export * from './lib/tab-core-utility/app/utils/select-query.util';
|
|
58
67
|
export * from './lib/tab-core-utility/app/utils/tab-app.util';
|
|
59
68
|
// Auth
|
|
60
69
|
export * from './lib/tab-core-utility/auth/auth.service';
|
|
@@ -62,16 +71,8 @@ export * from './lib/tab-core-utility/auth/local-storage.service';
|
|
|
62
71
|
export * from './lib/tab-core-utility/auth/session-storage.service';
|
|
63
72
|
export * from './lib/tab-core-utility/auth/idb-storage.service';
|
|
64
73
|
// Core
|
|
65
|
-
// export * from './lib/tab-core-utility/core/error-handler/error-handler-interceptor.service';
|
|
66
|
-
// export * from './lib/tab-core-utility/core/error-handler/error-handler.store';
|
|
67
|
-
// export * from './lib/tab-core-utility/core/error-handler/models/error-handler.state';
|
|
68
74
|
export * from './lib/tab-core-utility/core/http-client/api-url.token';
|
|
69
75
|
export * from './lib/tab-core-utility/core/http-client/api.service';
|
|
70
|
-
// export * from './lib/tab-core-utility/core/util/auth.utils';
|
|
71
|
-
// store
|
|
72
|
-
// export * from './lib/tab-core-utility/store/orginfo.store'
|
|
73
|
-
// export * from './lib/tab-core-utility/store/schema.store'
|
|
74
|
-
// export * from './lib/tab-core-utility/store/auth.store'
|
|
75
76
|
// Service
|
|
76
77
|
export * from './lib/tab-core-utility/core/service/translation.service';
|
|
77
78
|
export * from './lib/tab-core-utility/core/service/notification.service';
|
|
@@ -85,4 +86,4 @@ export * from './lib/tab-core-utility/core/pipe/translate.pipe';
|
|
|
85
86
|
// Provider
|
|
86
87
|
export * from './lib/tab-core-utility/core/provider/translation.provider';
|
|
87
88
|
export * from './lib/tab-core-utility/core/provider/notification.provider';
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxrQkFBa0I7QUFDbEIsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyx3REFBd0QsQ0FBQztBQUV2RSxhQUFhO0FBQ2IsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMscURBQXFELENBQUM7QUFFcEUsYUFBYTtBQUNiLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLGdEQUFnRCxDQUFDO0FBRS9ELGdCQUFnQjtBQUNoQixjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsdUVBQXVFLENBQUM7QUFDdEYsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMsZ0VBQWdFLENBQUM7QUFDL0UsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLDZEQUE2RCxDQUFDO0FBRTVFLGNBQWMsMkRBQTJELENBQUM7QUFFMUUsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLG9FQUFvRSxDQUFDO0FBQ25GLGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsMERBQTBELENBQUM7QUFDekUsc0ZBQXNGO0FBRXRGLG1CQUFtQjtBQUNuQixjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLHlEQUF5RCxDQUFDO0FBRXhFLGVBQWU7QUFDZixjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDZEQUE2RCxDQUFDO0FBRTVFLGNBQWM7QUFDZCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYywrQ0FBK0MsQ0FBQztBQUU5RCxPQUFPO0FBQ1AsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxpREFBaUQsQ0FBQztBQUVoRSxPQUFPO0FBQ1AsK0ZBQStGO0FBQy9GLGlGQUFpRjtBQUNqRix3RkFBd0Y7QUFFeEYsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLHFEQUFxRCxDQUFDO0FBRXBFLCtEQUErRDtBQUcvRCxRQUFRO0FBRVIsNkRBQTZEO0FBQzdELDREQUE0RDtBQUM1RCwwREFBMEQ7QUFFMUQsVUFBVTtBQUNWLGNBQWMseURBQXlELENBQUM7QUFDeEUsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYyw2REFBNkQsQ0FBQztBQUM1RSxjQUFjLDRFQUE0RSxDQUFDO0FBQzNGLGNBQWMsdUVBQXVFLENBQUM7QUFFdEYsT0FBTztBQUNQLGNBQWMsaURBQWlELENBQUM7QUFFaEUsV0FBVztBQUNYLGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYyw0REFBNEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFwcCAvIGNvbnN0YW50c1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9jb25zdGFudHMvYXBpLWNvbnN0YW50cyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2NvbnN0YW50cy9jb21tb24nO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9jb25zdGFudHMvZXJyb3ItbWVzc2FnZXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9jb25zdGFudHMvc3RvcmFnZS1jb25zdGFudHMnO1xyXG5cclxuLy8gQXBwIC8gY3J1ZFxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9jcnVkL3RhYi1jcnVkLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9jcnVkL3RhYi1nZXQuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2NydWQvdGFiLWZvcm1pby5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvY3J1ZC90YWItaW5zZXJ0LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9jcnVkL3RhYi1kZWxldGUuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2NydWQvdGFiLXVwZGF0ZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvY3J1ZC90YWItd29ya2Zsb3cuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2NydWQvdGFiLWJsdWVwcmludC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvY3J1ZC90YWItcmVsZWFzZS5zZXJ2aWNlJztcclxuXHJcbi8vIEFwcCAvIGVudW1cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvZW51bXMvY29tbW9uLmVudW0nO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9lbnVtcy9jb250cm9sbGVycy5lbnVtJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvZW51bXMvZHNxLmVudW0nO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9lbnVtcy9wZXJtaXNzaW9uLmVudW0nO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9lbnVtcy9xdWVyeS5lbnVtJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvZW51bXMvd29ya2Zsb3cuZW51bSc7XHJcblxyXG4vLyBBcHAgLyBoZWxwZXJzXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2hlbHBlcnMvY29tbW9uL2FwcC5oZWxwZXJzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaGVscGVycy9jb21tb24vdXNlci1wZXJzb25hbGl6YXRpb24uaGVscGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaGVscGVycy9jb21tb24vZHNxLmhlbHBlcnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9oZWxwZXJzL2NvbW1vbi9yZXEtcmVzLmhlbHBlcnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9oZWxwZXJzL2NvbW1vbi93aGVyZS1jbGF1c2UuaGVscGVycyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2hlbHBlcnMvY29tbW9uL3RlbXBsYXRlLmhlbHBlcnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9oZWxwZXJzL2NvbW1vbi9tZXRhLWRhdGEuaGVscGVycyc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9oZWxwZXJzL2xvZ2luLXJlc3BvbnNlLmFkYXB0ZXInO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaGVscGVycy9zY3JlZW4vZm9ybXMuaGVscGVycyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2hlbHBlcnMvc2NyZWVuL2dyaWQtY29sdW1uLWRhdGEuaGVscGVycyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2hlbHBlcnMvc2NyZWVuL2dyaWQuaGVscGVycyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2hlbHBlcnMvc2NyZWVuL21lZGlhLXVwbG9hZC5oZWxwZXJzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaGVscGVycy9zY3JlZW4vcGx1Z2luLmhlbHBlcnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9oZWxwZXJzL3NjcmVlbi9zY3JlZW4uaGVscGVycyc7XHJcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2hlbHBlcnMvc2NyZWVuL2Z0cC1tZWRpYS11cGxvYWQuaGVscGVycyc7XHJcblxyXG4vLyBBcHAgLyBpbnRlcmZhY2VzXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2ludGVyZmFjZXMvYXV0aC5pbnRlcmZhY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9pbnRlcmZhY2VzL2NvbW1vbi5pbnRlcmZhY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9pbnRlcmZhY2VzL3VzZXIuaW50ZXJmYWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaW50ZXJmYWNlcy9vcmdJbmZvLmludGVyZmFjZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2ludGVyZmFjZXMvc2NoZW1hLmludGVyZmFjZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2ludGVyZmFjZXMvZ3JpZC5pbnRlcmZhY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9pbnRlcmZhY2VzL3NpZ25hbHIuaW50ZXJmYWNlJztcclxuXHJcbi8vIEFwcCAvIG1vZGVsc1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9tb2RlbHMvYXBpLXF1ZXJ5LmNsYXNzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvbW9kZWxzL2FwcC1vYmplY3QuY2xhc3MnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9tb2RlbHMvY29tbW9uLmNsYXNzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvbW9kZWxzL2RhdGEtc291cmNlLXF1ZXJpZXMuY2xhc3MnO1xyXG5cclxuLy8gQXBwIC8gdXRpbHNcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvdXRpbHMvZmlsdGVyLnV0aWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC91dGlscy9mb3JtLWJ1aWxkZXIudXRpbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL3V0aWxzL2pzb24udXRpbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL3V0aWxzL29wZXJhdG9ycy51dGlsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvdXRpbHMvcmVxLXJlcy51dGlsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvdXRpbHMvdGFiLWFwcC51dGlsJztcclxuXHJcbi8vIEF1dGhcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hdXRoL2F1dGguc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXV0aC9sb2NhbC1zdG9yYWdlLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2F1dGgvc2Vzc2lvbi1zdG9yYWdlLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2F1dGgvaWRiLXN0b3JhZ2Uuc2VydmljZSc7XHJcblxyXG4vLyBDb3JlXHJcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvY29yZS9lcnJvci1oYW5kbGVyL2Vycm9yLWhhbmRsZXItaW50ZXJjZXB0b3Iuc2VydmljZSc7XHJcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvY29yZS9lcnJvci1oYW5kbGVyL2Vycm9yLWhhbmRsZXIuc3RvcmUnO1xyXG4vLyBleHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2NvcmUvZXJyb3ItaGFuZGxlci9tb2RlbHMvZXJyb3ItaGFuZGxlci5zdGF0ZSc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2NvcmUvaHR0cC1jbGllbnQvYXBpLXVybC50b2tlbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvY29yZS9odHRwLWNsaWVudC9hcGkuc2VydmljZSc7XHJcblxyXG4vLyBleHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2NvcmUvdXRpbC9hdXRoLnV0aWxzJztcclxuXHJcblxyXG4vLyBzdG9yZVxyXG5cclxuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9zdG9yZS9vcmdpbmZvLnN0b3JlJ1xyXG4vLyBleHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L3N0b3JlL3NjaGVtYS5zdG9yZSdcclxuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9zdG9yZS9hdXRoLnN0b3JlJ1xyXG5cclxuLy8gU2VydmljZVxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2NvcmUvc2VydmljZS90cmFuc2xhdGlvbi5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9jb3JlL3NlcnZpY2Uvbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2NvcmUvc2VydmljZS9jb25maXJtYXRpb24uc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvY29yZS9zZXJ2aWNlL2VuY3J5cHRpb24uc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvY29yZS9zZXJ2aWNlL3NpZ25hbHIvc2lnbmFsci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9jb3JlL3NlcnZpY2Uvc2lnbmFsci9zaWduYWxyLWluZnJhc3RydWN0dXJlLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2NvcmUvc2VydmljZS9zaWduYWxyL29wZXJhdGlvbi10cmFja2VyLnNlcnZpY2UnO1xyXG5cclxuLy8gUGlwZVxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2NvcmUvcGlwZS90cmFuc2xhdGUucGlwZSc7XHJcblxyXG4vLyBQcm92aWRlclxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2NvcmUvcHJvdmlkZXIvdHJhbnNsYXRpb24ucHJvdmlkZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2NvcmUvcHJvdmlkZXIvbm90aWZpY2F0aW9uLnByb3ZpZGVyJztcclxuXHJcbiJdfQ==
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxrQkFBa0I7QUFDbEIsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyx3REFBd0QsQ0FBQztBQUV2RSxhQUFhO0FBQ2IsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMscURBQXFELENBQUM7QUFFcEUsYUFBYTtBQUNiLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyw2Q0FBNkMsQ0FBQztBQUU1RCxnQkFBZ0I7QUFDaEIsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLHVFQUF1RSxDQUFDO0FBQ3RGLGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYywyREFBMkQsQ0FBQztBQUMxRSxjQUFjLGdFQUFnRSxDQUFDO0FBQy9FLGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyw2REFBNkQsQ0FBQztBQUU1RSxjQUFjLDJEQUEyRCxDQUFDO0FBRTFFLGNBQWMseURBQXlELENBQUM7QUFDeEUsY0FBYyxvRUFBb0UsQ0FBQztBQUNuRixjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsZ0VBQWdFLENBQUM7QUFDL0UsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLHNGQUFzRjtBQUV0RixtQkFBbUI7QUFDbkIsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyx5REFBeUQsQ0FBQztBQUV4RSxlQUFlO0FBQ2YsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDZEQUE2RCxDQUFDO0FBQzVFLGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyw4Q0FBOEMsQ0FBQztBQUU3RCxjQUFjO0FBQ2QsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYywrQ0FBK0MsQ0FBQztBQUU5RCxPQUFPO0FBQ1AsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxpREFBaUQsQ0FBQztBQUVoRSxPQUFPO0FBQ1AsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLHFEQUFxRCxDQUFDO0FBRXBFLFVBQVU7QUFDVixjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsNkRBQTZELENBQUM7QUFDNUUsY0FBYyw0RUFBNEUsQ0FBQztBQUMzRixjQUFjLHVFQUF1RSxDQUFDO0FBRXRGLE9BQU87QUFDUCxjQUFjLGlEQUFpRCxDQUFDO0FBRWhFLFdBQVc7QUFDWCxjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMsNERBQTRELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBcHAgLyBjb25zdGFudHNcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvY29uc3RhbnRzL2FwaS1jb25zdGFudHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9jb25zdGFudHMvY29tbW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvY29uc3RhbnRzL2Vycm9yLW1lc3NhZ2VzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvY29uc3RhbnRzL3N0b3JhZ2UtY29uc3RhbnRzJztcclxuXHJcbi8vIEFwcCAvIGNydWRcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvY3J1ZC90YWItY3J1ZC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvY3J1ZC90YWItZ2V0LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9jcnVkL3RhYi1mb3JtaW8uc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2NydWQvdGFiLWluc2VydC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvY3J1ZC90YWItZGVsZXRlLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9jcnVkL3RhYi11cGRhdGUuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2NydWQvdGFiLXdvcmtmbG93LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9jcnVkL3RhYi1ibHVlcHJpbnQuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2NydWQvdGFiLXJlbGVhc2Uuc2VydmljZSc7XHJcblxyXG4vLyBBcHAgLyBlbnVtXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2VudW1zL2NvbW1vbi5lbnVtJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvZW51bXMvY29udHJvbGxlcnMuZW51bSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2VudW1zL2RzcS5lbnVtJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvZW51bXMvcGVybWlzc2lvbi5lbnVtJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvZW51bXMvcXVlcnkuZW51bSc7XHJcblxyXG4vLyBBcHAgLyBoZWxwZXJzXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2hlbHBlcnMvY29tbW9uL2FwcC5oZWxwZXJzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaGVscGVycy9jb21tb24vdXNlci1wZXJzb25hbGl6YXRpb24uaGVscGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaGVscGVycy9jb21tb24vZHNxLmhlbHBlcnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9oZWxwZXJzL2NvbW1vbi9yZXEtcmVzLmhlbHBlcnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9oZWxwZXJzL2NvbW1vbi93aGVyZS1jbGF1c2UuaGVscGVycyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2hlbHBlcnMvY29tbW9uL3RlbXBsYXRlLmhlbHBlcnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9oZWxwZXJzL2NvbW1vbi9tZXRhLWRhdGEuaGVscGVycyc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9oZWxwZXJzL2xvZ2luLXJlc3BvbnNlLmFkYXB0ZXInO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaGVscGVycy9zY3JlZW4vZm9ybXMuaGVscGVycyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2hlbHBlcnMvc2NyZWVuL2dyaWQtY29sdW1uLWRhdGEuaGVscGVycyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2hlbHBlcnMvc2NyZWVuL2dyaWQuaGVscGVycyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2hlbHBlcnMvc2NyZWVuL21lZGlhLXVwbG9hZC5oZWxwZXJzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaGVscGVycy9zY3JlZW4vcGx1Z2luLmhlbHBlcnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9oZWxwZXJzL3NjcmVlbi9zY3JlZW4uaGVscGVycyc7XHJcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2hlbHBlcnMvc2NyZWVuL2Z0cC1tZWRpYS11cGxvYWQuaGVscGVycyc7XHJcblxyXG4vLyBBcHAgLyBpbnRlcmZhY2VzXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2ludGVyZmFjZXMvYXV0aC5pbnRlcmZhY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9pbnRlcmZhY2VzL2NvbW1vbi5pbnRlcmZhY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9pbnRlcmZhY2VzL3VzZXIuaW50ZXJmYWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaW50ZXJmYWNlcy9vcmdJbmZvLmludGVyZmFjZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2ludGVyZmFjZXMvc2NoZW1hLmludGVyZmFjZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2ludGVyZmFjZXMvZ3JpZC5pbnRlcmZhY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9pbnRlcmZhY2VzL3NpZ25hbHIuaW50ZXJmYWNlJztcclxuXHJcbi8vIEFwcCAvIG1vZGVsc1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9tb2RlbHMvYXBpLXF1ZXJ5LmNsYXNzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvbW9kZWxzL2FwcC1maWVsZC5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL21vZGVscy9hcHAtbWVudS5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL21vZGVscy9hcHAtb2JqZWN0LmNsYXNzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvbW9kZWxzL2FwcC1vYmplY3QubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9tb2RlbHMvYXBwLXNjcmVlbi5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL21vZGVscy9jb21tb24uY2xhc3MnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9tb2RlbHMvZGF0YS1zb3VyY2UtcXVlcmllcy5jbGFzcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL21vZGVscy9kYXRhLXNvdXJjZS1xdWVyeS5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL21vZGVscy9maWx0ZXIubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9tb2RlbHMvb3JnSW5mby5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL21vZGVscy9wYXJhbWV0ZXIubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9tb2RlbHMvc29ydC5tb2RlbCc7XHJcblxyXG4vLyBBcHAgLyB1dGlsc1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC91dGlscy9maWx0ZXIudXRpbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL3V0aWxzL2Zvcm0tYnVpbGRlci51dGlsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvdXRpbHMvanNvbi51dGlsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvdXRpbHMvb3BlcmF0b3JzLnV0aWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC91dGlscy9yZXEtcmVzLnV0aWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC91dGlscy9zZWxlY3QtcXVlcnkudXRpbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL3V0aWxzL3RhYi1hcHAudXRpbCc7XHJcblxyXG4vLyBBdXRoXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvYXV0aC9hdXRoLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2F1dGgvbG9jYWwtc3RvcmFnZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hdXRoL3Nlc3Npb24tc3RvcmFnZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9hdXRoL2lkYi1zdG9yYWdlLnNlcnZpY2UnO1xyXG5cclxuLy8gQ29yZVxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2NvcmUvaHR0cC1jbGllbnQvYXBpLXVybC50b2tlbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvY29yZS9odHRwLWNsaWVudC9hcGkuc2VydmljZSc7XHJcblxyXG4vLyBTZXJ2aWNlXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvY29yZS9zZXJ2aWNlL3RyYW5zbGF0aW9uLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2NvcmUvc2VydmljZS9ub3RpZmljYXRpb24uc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvY29yZS9zZXJ2aWNlL2NvbmZpcm1hdGlvbi5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9jb3JlL3NlcnZpY2UvZW5jcnlwdGlvbi5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWNvcmUtdXRpbGl0eS9jb3JlL3NlcnZpY2Uvc2lnbmFsci9zaWduYWxyLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWItY29yZS11dGlsaXR5L2NvcmUvc2VydmljZS9zaWduYWxyL3NpZ25hbHItaW5mcmFzdHJ1Y3R1cmUuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvY29yZS9zZXJ2aWNlL3NpZ25hbHIvb3BlcmF0aW9uLXRyYWNrZXIuc2VydmljZSc7XHJcblxyXG4vLyBQaXBlXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvY29yZS9waXBlL3RyYW5zbGF0ZS5waXBlJztcclxuXHJcbi8vIFByb3ZpZGVyXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvY29yZS9wcm92aWRlci90cmFuc2xhdGlvbi5wcm92aWRlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1jb3JlLXV0aWxpdHkvY29yZS9wcm92aWRlci9ub3RpZmljYXRpb24ucHJvdmlkZXInO1xyXG5cclxuIl19
|
|
@@ -1,10 +1,4 @@
|
|
|
1
1
|
export const API = {
|
|
2
|
-
applicationIdentifier: '02dPlGXCKCPy', //phoenix
|
|
3
|
-
applicationIdentifierForPMS: 'qqmXweGB1DbG', // pms
|
|
4
|
-
// endpoint: 'http://192.168.10.181:8441/api/v1/',
|
|
5
|
-
// workflowEndPoint: 'http://192.168.10.181/',
|
|
6
|
-
novuBackendUrl: 'https://novuapi.techextensor.com',
|
|
7
|
-
novuSocketUrl: 'https://novuws.techextensor.com',
|
|
8
2
|
bulkInsert: 'CRUD/BulkInsert',
|
|
9
3
|
select: 'CRUD/Select',
|
|
10
4
|
screen: 'screen',
|
|
@@ -18,7 +12,6 @@ export const API = {
|
|
|
18
12
|
templateParse: 'Template/Parse',
|
|
19
13
|
publishApp: 'Application/PublishApp',
|
|
20
14
|
getrecord: 'GetRecord',
|
|
21
|
-
// rawSQL: 'CRUD/RawSQL',
|
|
22
15
|
fileUpload: 'File/Upload',
|
|
23
16
|
FileManagerUploadFile: 'FileManager/UploadFile',
|
|
24
17
|
deleteFile: 'File/DeleteFile',
|
|
@@ -40,10 +33,9 @@ export const API = {
|
|
|
40
33
|
performValidation: 'MetaData/PerformValidation',
|
|
41
34
|
setTabComponents: 'Tenant/SetTabComponents',
|
|
42
35
|
BuildFormIOComponents: 'FormIO/BuildFormIOComponents',
|
|
43
|
-
// fileManagerUpload:'FileManager/Upload'
|
|
44
36
|
applicationRegisterAppObjects: 'application/registerappobjects',
|
|
45
37
|
languageResource: 'Resources/LanguageResource',
|
|
46
|
-
refreshToken: '
|
|
38
|
+
refreshToken: 'auth/refresh',
|
|
47
39
|
globalSearch: 'globalsearch/search',
|
|
48
40
|
cloneDsq: 'Application/CloneDSQ',
|
|
49
41
|
InsertScreenPerformanceAnalytics: 'ElasticSearch/InsertScreenPerformanceAnalytics',
|
|
@@ -86,4 +78,4 @@ export const APIServices = {
|
|
|
86
78
|
reportService: 'reportService',
|
|
87
79
|
fileManagerService: 'fileManagerService'
|
|
88
80
|
};
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9jb25zdGFudHMvYXBpLWNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUc7SUFDakIsVUFBVSxFQUFFLGlCQUFpQjtJQUM3QixNQUFNLEVBQUUsYUFBYTtJQUNyQixNQUFNLEVBQUUsUUFBUTtJQUNoQixRQUFRLEVBQUUsV0FBVztJQUNyQixRQUFRLEVBQUUsc0JBQXNCO0lBQ2hDLGNBQWMsRUFBRSxpQkFBaUI7SUFDakMsS0FBSyxFQUFFLFlBQVk7SUFDbkIsWUFBWSxFQUFFLGdCQUFnQjtJQUM5QixPQUFPLEVBQUUscUJBQXFCO0lBQzlCLGtCQUFrQixFQUFFLGdCQUFnQjtJQUNwQyxhQUFhLEVBQUUsZ0JBQWdCO0lBQy9CLFVBQVUsRUFBRSx3QkFBd0I7SUFDcEMsU0FBUyxFQUFFLFdBQVc7SUFDdEIsVUFBVSxFQUFFLGFBQWE7SUFDekIscUJBQXFCLEVBQUUsd0JBQXdCO0lBQy9DLFVBQVUsRUFBRSxpQkFBaUI7SUFDN0IsWUFBWSxFQUFFLGNBQWM7SUFDNUIsZUFBZSxFQUFFLGtCQUFrQjtJQUNuQyxjQUFjLEVBQUUseUJBQXlCO0lBQ3pDLFlBQVksRUFBRSx3QkFBd0I7SUFDdEMsUUFBUSxFQUFFLGVBQWU7SUFDekIsVUFBVSxFQUFFLGFBQWE7SUFDekIsVUFBVSxFQUFFLG1CQUFtQjtJQUMvQixjQUFjLEVBQUUsdUJBQXVCO0lBQ3ZDLGVBQWUsRUFBRSxrQkFBa0I7SUFDbkMsWUFBWSxFQUFFLGVBQWU7SUFDN0IsZ0JBQWdCLEVBQUUsZUFBZTtJQUNqQyxjQUFjLEVBQUUseUJBQXlCO0lBQ3pDLFdBQVcsRUFBRSxhQUFhO0lBQzFCLGFBQWEsRUFBRSxRQUFRO0lBQ3ZCLGNBQWMsRUFBRSx5QkFBeUI7SUFDekMsaUJBQWlCLEVBQUUsNEJBQTRCO0lBQy9DLGdCQUFnQixFQUFFLHlCQUF5QjtJQUMzQyxxQkFBcUIsRUFBRSw4QkFBOEI7SUFDckQsNkJBQTZCLEVBQUUsZ0NBQWdDO0lBQy9ELGdCQUFnQixFQUFFLDRCQUE0QjtJQUM5QyxZQUFZLEVBQUUsY0FBYztJQUM1QixZQUFZLEVBQUUscUJBQXFCO0lBQ25DLFFBQVEsRUFBRSxzQkFBc0I7SUFDaEMsZ0NBQWdDLEVBQzlCLGdEQUFnRDtJQUNsRCxtQkFBbUIsRUFBRSwwQkFBMEI7SUFDL0MsK0JBQStCLEVBQUcsK0NBQStDO0lBQ2pGLGdDQUFnQyxFQUFHLGdEQUFnRDtJQUNuRixpQkFBaUIsRUFBRSwwQkFBMEI7SUFDN0Msd0JBQXdCLEVBQUUsMkJBQTJCO0lBQ3JELFlBQVksRUFBRSxlQUFlO0lBQzdCLHVCQUF1QixFQUFHLHVDQUF1QztJQUNqRSxxQkFBcUIsRUFBRSxxQ0FBcUM7SUFDNUQsY0FBYyxFQUFFLGlCQUFpQjtJQUNqQyxVQUFVLEVBQUcsbUJBQW1CO0lBQ2hDLHdCQUF3QixFQUFDLGtDQUFrQztJQUMzRCxpQkFBaUIsRUFBQywyQkFBMkI7SUFDN0MsY0FBYyxFQUFFLHVCQUF1QjtJQUN2QyxlQUFlLEVBQUUsa0JBQWtCO0lBQ25DLGVBQWUsRUFBRSwyQkFBMkI7SUFDNUMsZUFBZSxFQUFFLDJCQUEyQjtJQUM1QyxlQUFlLEVBQUUsa0JBQWtCO0lBQ25DLGNBQWMsRUFBRSxpQkFBaUI7SUFDakMsYUFBYSxFQUFFLGdCQUFnQjtJQUMvQixhQUFhLEVBQUUsZ0JBQWdCO0lBQy9CLGFBQWEsRUFBRSxnQkFBZ0I7SUFDL0IsYUFBYSxFQUFFLGdCQUFnQjtJQUMvQix5QkFBeUIsRUFBQyw0QkFBNEI7SUFDdEQsbUJBQW1CLEVBQUMsc0JBQXNCO0lBQzFDLGlCQUFpQixFQUFDLG9CQUFvQjtJQUN0QyxtQkFBbUIsRUFBQyxzQkFBc0I7Q0FDM0MsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBMkM7SUFDakUsV0FBVyxFQUFFLGFBQWE7SUFDMUIsZUFBZSxFQUFFLGlCQUFpQjtJQUNsQyxhQUFhLEVBQUUsZUFBZTtJQUM5QixlQUFlLEVBQUUsaUJBQWlCO0lBQ2xDLG1CQUFtQixFQUFFLHFCQUFxQjtJQUMxQyxtQkFBbUIsRUFBRSxxQkFBcUI7SUFDMUMsZUFBZSxFQUFFLGlCQUFpQjtJQUNsQyxhQUFhLEVBQUUsZUFBZTtJQUM5QixhQUFhLEVBQUUsZUFBZTtJQUM5QixrQkFBa0IsRUFBRSxvQkFBb0I7Q0FDekMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQVBJU2VydmljZU5hbWUgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2NvbW1vbi5pbnRlcmZhY2UnO1xyXG5cclxuZXhwb3J0IGNvbnN0IEFQSSA9IHtcclxuICBidWxrSW5zZXJ0OiAnQ1JVRC9CdWxrSW5zZXJ0JyxcclxuICBzZWxlY3Q6ICdDUlVEL1NlbGVjdCcsXHJcbiAgc2NyZWVuOiAnc2NyZWVuJyxcclxuICBsaXN0c0dldDogJ2xpc3RzL0dldCcsXHJcbiAgYnVpbGRBcHA6ICdBcHBsaWNhdGlvbi9CdWlsZEFwcCcsXHJcbiAgbWV0YWRhdGFTY2hlbWE6ICdtZXRhZGF0YS9zY2hlbWEnLFxyXG4gIGxvZ2luOiAnYXV0aC9sb2dpbicsXHJcbiAgcGx1Z2luVXBsb2FkOiAnUGx1Z2lucy9VcGxvYWQnLFxyXG4gIGdldEZpbGU6ICdQbHVnaW5zL0dldEZpbGVCeUlkJyxcclxuICBnZXRBbGxQbHVnaW5CeVR5cGU6ICdQbHVnaW5zL0dldEFsbCcsXHJcbiAgdGVtcGxhdGVQYXJzZTogJ1RlbXBsYXRlL1BhcnNlJyxcclxuICBwdWJsaXNoQXBwOiAnQXBwbGljYXRpb24vUHVibGlzaEFwcCcsXHJcbiAgZ2V0cmVjb3JkOiAnR2V0UmVjb3JkJyxcclxuICBmaWxlVXBsb2FkOiAnRmlsZS9VcGxvYWQnLFxyXG4gIEZpbGVNYW5hZ2VyVXBsb2FkRmlsZTogJ0ZpbGVNYW5hZ2VyL1VwbG9hZEZpbGUnLFxyXG4gIGRlbGV0ZUZpbGU6ICdGaWxlL0RlbGV0ZUZpbGUnLFxyXG4gIGdldE1lZGlhRmlsZTogJ0ZpbGUvR2V0RmlsZScsXHJcbiAgYXVkaXRHZXRIaXN0b3J5OiAnYXVkaXQvZ2V0aGlzdG9yeScsXHJcbiAgY2hhbmdlUGFzc3dvcmQ6ICdpZGVudGl0eS9DaGFuZ2VQYXNzd29yZCcsXHJcbiAgcmVzdHBhc3N3b3JkOiAnaWRlbnRpdHkvUmVzZXRQYXNzd29yZCcsXHJcbiAgZ2V0SW1hZ2U6ICdGaWxlL0dldEltYWdlJyxcclxuICBpbXBvcnREYXRhOiAnaW1wb3J0L2RhdGEnLFxyXG4gIHNjcmVlbkRhdGE6ICdmb3JtaW8vc2NyZWVuZGF0YScsXHJcbiAgcHJvY2Vzc1JlcXVlc3Q6ICdmb3JtaW8vcHJvY2Vzc3JlcXVlc3QnLFxyXG4gIHN0YXR1c0F2YWlsYWJsZTogJ3N0YXR1cy9hdmFpbGFibGUnLFxyXG4gIHN0YXR1c1VwZGF0ZTogJ3N0YXR1cy91cGRhdGUnLFxyXG4gIGF1dGhSZWdpc3RlclVzZXI6ICdhdXRoL3JlZ2lzdGVyJyxcclxuICBnZXRVc2VyRGV0YWlsczogJ2lkZW50aXR5L0dldFVzZXJEZXRhaWxzJyxcclxuICBwZXJtaXNzaW9uczogJ3Blcm1pc3Npb25zJyxcclxuICBnZXRVc2VyQWNjZXNzOiAnYWNjZXNzJyxcclxuICB0ZXN0Q29ubmVjdGlvbjogJ01ldGFEYXRhL1Rlc3RDb25uZWN0aW9uJyxcclxuICBwZXJmb3JtVmFsaWRhdGlvbjogJ01ldGFEYXRhL1BlcmZvcm1WYWxpZGF0aW9uJyxcclxuICBzZXRUYWJDb21wb25lbnRzOiAnVGVuYW50L1NldFRhYkNvbXBvbmVudHMnLFxyXG4gIEJ1aWxkRm9ybUlPQ29tcG9uZW50czogJ0Zvcm1JTy9CdWlsZEZvcm1JT0NvbXBvbmVudHMnLFxyXG4gIGFwcGxpY2F0aW9uUmVnaXN0ZXJBcHBPYmplY3RzOiAnYXBwbGljYXRpb24vcmVnaXN0ZXJhcHBvYmplY3RzJyxcclxuICBsYW5ndWFnZVJlc291cmNlOiAnUmVzb3VyY2VzL0xhbmd1YWdlUmVzb3VyY2UnLFxyXG4gIHJlZnJlc2hUb2tlbjogJ2F1dGgvcmVmcmVzaCcsXHJcbiAgZ2xvYmFsU2VhcmNoOiAnZ2xvYmFsc2VhcmNoL3NlYXJjaCcsXHJcbiAgY2xvbmVEc3E6ICdBcHBsaWNhdGlvbi9DbG9uZURTUScsXHJcbiAgSW5zZXJ0U2NyZWVuUGVyZm9ybWFuY2VBbmFseXRpY3M6XHJcbiAgICAnRWxhc3RpY1NlYXJjaC9JbnNlcnRTY3JlZW5QZXJmb3JtYW5jZUFuYWx5dGljcycsXHJcbiAgR2VuZXJhdGVIdHRwUmVxdWVzdDogJ0NSVUQvR2VuZXJhdGVIdHRwUmVxdWVzdCcsXHJcbiAgR2V0RGV0YWlsT2ZQZXJmb3JtYW5jZUFuYWx5dGljcyA6ICdFbGFzdGljU2VhcmNoL0dldERldGFpbE9mUGVyZm9ybWFuY2VBbmFseXRpY3MnLFxyXG4gIEdldFN1bW1hcnlPZlBlcmZvcm1hbmNlQW5hbHl0aWNzIDogJ0VsYXN0aWNTZWFyY2gvR2V0U3VtbWFyeU9mUGVyZm9ybWFuY2VBbmFseXRpY3MnLFxyXG4gIEdldERhdGFKc29uQnlUeXBlOiAnVGVuYW50L0dldERhdGFKc29uQnlUeXBlJyxcclxuICBhcHBsaWNhdGlvblN5bmNBcHBGaWVsZHM6ICdhcHBsaWNhdGlvbi9zeW5jYXBwZmllbGRzJyxcclxuICByZXBvcnRFeHBvcnQ6ICdyZXBvcnQvZXhwb3J0JyxcclxuICBSZWZyZXNoR2xvYmFsU2VhcmNoRGF0YSA6ICdFbGFzdGljU2VhcmNoL1JlZnJlc2hHbG9iYWxTZWFyY2hEYXRhJyxcclxuICBSZWZyZXNoUmVjb3JkSW5mb0RhdGE6ICdEYXRhSW50ZWdyaXR5L1JlZnJlc2hSZWNvcmRJbmZvRGF0YScsXHJcbiAgcmVwb3J0RG93bmxvYWQ6ICdyZXBvcnQvZG93bmxvYWQnLFxyXG4gIHNlbmRSZXBvcnQgOiAncmVwb3J0L1NlbmRSZXBvcnQnLFxyXG4gIEdldFJlbGVhc2VKU09ORGlmZmVyZW5jZTonUmVsZWFzZS9HZXRSZWxlYXNlSlNPTkRpZmZlcmVuY2UnLFxyXG4gIEdldERhdGFEaWZmZXJlbmNlOidSZWxlYXNlL0dldERhdGFEaWZmZXJlbmNlJyxcclxuICBSZWdpc3RlclRlbmFudDogJ1RlbmFudC9SZWdpc3RlclRlbmFudCcsXHJcbiAgZGF0YWJhc2VFeGVjdXRlOiAnZGF0YWJhc2UvZXhlY3V0ZScsXHJcbiAgR2V0QWxsRG9jdW1uZXRzOiAnRG9jdW1lbnRzL0dldEFsbERvY3VtZW50cycsXHJcbiAgR2V0RG9jdW1lbnRCeUlkOiAnRG9jdW1lbnRzL0dldERvY3VtZW50QnlJZCcsXHJcbiAgRXhlY3V0ZVdvcmtmbG93OiAnV29ya2Zsb3cvRXhlY3V0ZScsXHJcbiAgUXVlcmllc0V4ZWN1dGU6ICdRdWVyaWVzL2V4ZWN1dGUnLFxyXG4gIFF1ZXJpZXNTZWxlY3Q6ICdxdWVyaWVzL3NlbGVjdCcsXHJcbiAgcmVjb3Jkc0luc2VydDogJ3JlY29yZHMvaW5zZXJ0JyxcclxuICByZWNvcmRzVXBkYXRlOiAncmVjb3Jkcy91cGRhdGUnLFxyXG4gIHJlY29yZHNEZWxldGU6ICdyZWNvcmRzL2RlbGV0ZScsXHJcbiAgZmlsZU1hbmFnZXJGaWxlT3BlcmF0aW9uczonRmlsZU1hbmFnZXIvRmlsZU9wZXJhdGlvbnMnLFxyXG4gIGZpbGVNYW5hZ2VyR2V0SW1hZ2U6J0ZpbGVNYW5hZ2VyL0dldEltYWdlJyxcclxuICBmaWxlTWFuYWdlclVwbG9hZDonRmlsZU1hbmFnZXIvVXBsb2FkJyxcclxuICBmaWxlTWFuYWdlckRvd25sb2FkOidGaWxlTWFuYWdlci9Eb3dubG9hZCdcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBBUElTZXJ2aWNlczogUmVjb3JkPEFQSVNlcnZpY2VOYW1lLCBBUElTZXJ2aWNlTmFtZT4gPSB7XHJcbiAgY3J1ZFNlcnZpY2U6ICdjcnVkU2VydmljZScsXHJcbiAgbWV0YWRhdGFTZXJ2aWNlOiAnbWV0YWRhdGFTZXJ2aWNlJyxcclxuICBmb3JtaW9TZXJ2aWNlOiAnZm9ybWlvU2VydmljZScsXHJcbiAgaWRlbnRpdHlTZXJ2aWNlOiAnaWRlbnRpdHlTZXJ2aWNlJyxcclxuICBjb2RlRXhlY3V0b3JTZXJ2aWNlOiAnY29kZUV4ZWN1dG9yU2VydmljZScsXHJcbiAgbm90aWZpY2F0aW9uU2VydmljZTogJ25vdGlmaWNhdGlvblNlcnZpY2UnLFxyXG4gIHdvcmtmbG93U2VydmljZTogJ3dvcmtmbG93U2VydmljZScsXHJcbiAga2liYW5hU2VydmljZTogJ2tpYmFuYVNlcnZpY2UnLFxyXG4gIHJlcG9ydFNlcnZpY2U6ICdyZXBvcnRTZXJ2aWNlJyxcclxuICBmaWxlTWFuYWdlclNlcnZpY2U6ICdmaWxlTWFuYWdlclNlcnZpY2UnXHJcbn07Il19
|
|
@@ -1,6 +1,21 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
2
|
export class Common {
|
|
3
3
|
static { this.i18n = {}; }
|
|
4
|
+
static { this._onSchemaChange = null; }
|
|
5
|
+
static get tabJson() {
|
|
6
|
+
return Common._tabJson;
|
|
7
|
+
}
|
|
8
|
+
static set tabJson(value) {
|
|
9
|
+
Common._onSchemaChange?.();
|
|
10
|
+
Common._tabJson = value;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Register a listener that fires whenever `Common.tabJson` is reassigned.
|
|
14
|
+
* MetadataHelper calls this from its constructor to auto-clear its cache.
|
|
15
|
+
*/
|
|
16
|
+
static onSchemaChange(callback) {
|
|
17
|
+
Common._onSchemaChange = callback;
|
|
18
|
+
}
|
|
4
19
|
/**
|
|
5
20
|
* Initialize the static variables
|
|
6
21
|
* Called once at application startup from the main app
|
|
@@ -17,4 +32,4 @@ export class Common {
|
|
|
17
32
|
Common.signalRHubUrl = environment?.signalRHubUrl || '';
|
|
18
33
|
}
|
|
19
34
|
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2NvbnN0YW50cy9jb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBSXZELE1BQU0sT0FBTyxNQUFNO2FBT0QsU0FBSSxHQUFRLEVBQUUsQ0FBQzthQWVkLG9CQUFlLEdBQXdCLElBQUksQ0FBQztJQUVwRCxNQUFNLEtBQUssT0FBTztRQUN2QixPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUNNLE1BQU0sS0FBSyxPQUFPLENBQUMsS0FBVTtRQUNsQyxNQUFNLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQztRQUMzQixNQUFNLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLGNBQWMsQ0FBQyxRQUFvQjtRQUMvQyxNQUFNLENBQUMsZUFBZSxHQUFHLFFBQVEsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFnQjtRQUNqQyxNQUFNLENBQUMsZUFBZSxHQUFHLFdBQVcsRUFBRSxJQUFJLENBQUM7UUFDM0MsTUFBTSxDQUFDLGVBQWUsR0FBRyxXQUFXLEVBQUUsWUFBWSxFQUFFLGVBQWUsQ0FBQztRQUNwRSxNQUFNLENBQUMsT0FBTyxHQUFHLFdBQVcsRUFBRSxZQUFZLEVBQUUsT0FBTyxDQUFDO1FBQ3BELE1BQU0sQ0FBQyx1QkFBdUIsR0FBRyxXQUFXLEVBQUUsWUFBWSxFQUFFLHVCQUF1QixDQUFDO1FBQ3BGLE1BQU0sQ0FBQyxrQkFBa0IsR0FBRyxXQUFXLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixDQUFDO1FBQzFFLE1BQU0sQ0FBQyxrQkFBa0IsR0FBRyxXQUFXLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixDQUFDO1FBQzFFLE1BQU0sQ0FBQyxXQUFXLEdBQUcsV0FBVyxFQUFFLFlBQVksRUFBRSxXQUFXLENBQUM7UUFDNUQsTUFBTSxDQUFDLGNBQWMsR0FBRyxXQUFXLEVBQUUsY0FBYyxJQUFJLEVBQUUsQ0FBQztRQUMxRCxNQUFNLENBQUMsYUFBYSxHQUFHLFdBQVcsRUFBRSxhQUFhLElBQUksRUFBRSxDQUFDO0lBQzFELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXHJcblxyXG5pbXBvcnQgeyBBUElTZXJ2aWNlVXJscyB9IGZyb20gJy4uL2ludGVyZmFjZXMvY29tbW9uLmludGVyZmFjZSc7XHJcblxyXG5leHBvcnQgY2xhc3MgQ29tbW9uIHtcclxuICAgIHB1YmxpYyBzdGF0aWMgZW52aXJvbm1lbnROYW1lOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgc3RhdGljIGFwcGxpY2F0aW9uQ29kZTogc3RyaW5nO1xyXG4gICAgcHVibGljIHN0YXRpYyB0YWJVc2VyUGVyc29uYWxpemVkRGF0YTogYW55O1xyXG4gICAgcHVibGljIHN0YXRpYyB0YWJVc2VyUGVybWlzc2lvbnM6IGFueTtcclxuICAgIHB1YmxpYyBzdGF0aWMgdGFiQXBwT2JqZWN0QWNjZXNzOiBhbnk7XHJcbiAgICBwdWJsaWMgc3RhdGljIHN0YXRpY1Rva2VuOiBhbnk7XHJcbiAgICBwdWJsaWMgc3RhdGljIGkxOG46IGFueSA9IHt9O1xyXG5cclxuICAgIC8qKiBNaWNyb3NlcnZpY2UgVVJMcyBjb25maWd1cmF0aW9uIC0gTkVXIGZvciBtaWNyb3NlcnZpY2VzIGFyY2hpdGVjdHVyZSAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBhcGlTZXJ2aWNlVXJsczogQVBJU2VydmljZVVybHM7XHJcblxyXG4gICAgLyoqIFNpZ25hbFIgaHViIFVSTCBmb3IgcmVhbC10aW1lIG5vdGlmaWNhdGlvbnMgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgc2lnbmFsUkh1YlVybDogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2NoZW1hIHNvdXJjZSBvZiB0cnV0aC5cclxuICAgICAqIFJlYWRpbmcgaXMgY2hlYXAgKHJldHVybnMgdGhlIGJhY2tpbmcgZmllbGQpLlxyXG4gICAgICogV3JpdGluZyBmaXJlcyB0aGUgcmVnaXN0ZXJlZCBvblNjaGVtYUNoYW5nZSBjYWxsYmFjayBCRUZPUkUgYXNzaWduaW5nLFxyXG4gICAgICogc28gZG93bnN0cmVhbSBjYWNoZXMgKGUuZy4gTWV0YWRhdGFIZWxwZXIpIGludmFsaWRhdGUgYXV0b21hdGljYWxseS5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBzdGF0aWMgX3RhYkpzb246IGFueTtcclxuICAgIHByaXZhdGUgc3RhdGljIF9vblNjaGVtYUNoYW5nZTogKCgpID0+IHZvaWQpIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBnZXQgdGFiSnNvbigpOiBhbnkge1xyXG4gICAgICByZXR1cm4gQ29tbW9uLl90YWJKc29uO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHN0YXRpYyBzZXQgdGFiSnNvbih2YWx1ZTogYW55KSB7XHJcbiAgICAgIENvbW1vbi5fb25TY2hlbWFDaGFuZ2U/LigpO1xyXG4gICAgICBDb21tb24uX3RhYkpzb24gPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlZ2lzdGVyIGEgbGlzdGVuZXIgdGhhdCBmaXJlcyB3aGVuZXZlciBgQ29tbW9uLnRhYkpzb25gIGlzIHJlYXNzaWduZWQuXHJcbiAgICAgKiBNZXRhZGF0YUhlbHBlciBjYWxscyB0aGlzIGZyb20gaXRzIGNvbnN0cnVjdG9yIHRvIGF1dG8tY2xlYXIgaXRzIGNhY2hlLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIG9uU2NoZW1hQ2hhbmdlKGNhbGxiYWNrOiAoKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICAgIENvbW1vbi5fb25TY2hlbWFDaGFuZ2UgPSBjYWxsYmFjaztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEluaXRpYWxpemUgdGhlIHN0YXRpYyB2YXJpYWJsZXNcclxuICAgICAqIENhbGxlZCBvbmNlIGF0IGFwcGxpY2F0aW9uIHN0YXJ0dXAgZnJvbSB0aGUgbWFpbiBhcHBcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBpbml0KGVudmlyb25tZW50OiBhbnkpIHtcclxuICAgICAgQ29tbW9uLmVudmlyb25tZW50TmFtZSA9IGVudmlyb25tZW50Py5uYW1lO1xyXG4gICAgICBDb21tb24uYXBwbGljYXRpb25Db2RlID0gZW52aXJvbm1lbnQ/LmNvbW1vbkNvbmZpZz8uYXBwbGljYXRpb25Db2RlO1xyXG4gICAgICBDb21tb24udGFiSnNvbiA9IGVudmlyb25tZW50Py5jb21tb25Db25maWc/LnRhYkpzb247XHJcbiAgICAgIENvbW1vbi50YWJVc2VyUGVyc29uYWxpemVkRGF0YSA9IGVudmlyb25tZW50Py5jb21tb25Db25maWc/LnRhYlVzZXJQZXJzb25hbGl6ZWREYXRhO1xyXG4gICAgICBDb21tb24udGFiVXNlclBlcm1pc3Npb25zID0gZW52aXJvbm1lbnQ/LmNvbW1vbkNvbmZpZz8udGFiVXNlclBlcm1pc3Npb25zO1xyXG4gICAgICBDb21tb24udGFiQXBwT2JqZWN0QWNjZXNzID0gZW52aXJvbm1lbnQ/LmNvbW1vbkNvbmZpZz8udGFiQXBwT2JqZWN0QWNjZXNzO1xyXG4gICAgICBDb21tb24uc3RhdGljVG9rZW4gPSBlbnZpcm9ubWVudD8uY29tbW9uQ29uZmlnPy5zdGF0aWNUb2tlbjtcclxuICAgICAgQ29tbW9uLmFwaVNlcnZpY2VVcmxzID0gZW52aXJvbm1lbnQ/LmFwaVNlcnZpY2VVcmxzIHx8IHt9O1xyXG4gICAgICBDb21tb24uc2lnbmFsUkh1YlVybCA9IGVudmlyb25tZW50Py5zaWduYWxSSHViVXJsIHx8ICcnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4iXX0=
|
|
@@ -55,11 +55,11 @@ export class TabBlueprintService {
|
|
|
55
55
|
const appObject = this.metadataHelper.getAppObjectByIdOrName(appObjectId);
|
|
56
56
|
return appObject?.SystemDBTableName || appObject?.ObjectName;
|
|
57
57
|
}
|
|
58
|
-
static { this.ɵfac =
|
|
59
|
-
static { this.ɵprov =
|
|
58
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TabBlueprintService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
59
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TabBlueprintService, providedIn: 'root' }); }
|
|
60
60
|
}
|
|
61
|
-
(
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TabBlueprintService, decorators: [{
|
|
62
|
+
type: Injectable,
|
|
63
|
+
args: [{ providedIn: 'root' }]
|
|
64
|
+
}] });
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWJsdWVwcmludC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2NydWQvdGFiLWJsdWVwcmludC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHOUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBSW5ELE1BQU0sT0FBTyxtQkFBbUI7SUFEaEM7UUFFbUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztLQWdFMUQ7SUE5REM7OztPQUdHO0lBQ0gsYUFBYSxDQUFDLE9BQTBCLEVBQUUsT0FBYTtRQUNyRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkQsT0FBTyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU5QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUNuQyxXQUFXLENBQUMsV0FBVyxFQUN2QixHQUFHLENBQUMsZUFBZSxFQUNuQixVQUFVLEVBQ1YsT0FBTyxDQUNSLENBQUMsSUFBSSxDQUNKLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUMvRCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNILFlBQVksQ0FBQyxPQUE0QixFQUFFLE9BQWE7UUFDdEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQzthQUMvQyxHQUFHLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFOUIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FDakMsV0FBVyxDQUFDLFdBQVcsRUFDdkIsR0FBRyxHQUFHLENBQUMsWUFBWSxJQUFJLFVBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUM5QyxJQUFJLEVBQ0osT0FBTyxDQUNSLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSyxpQkFBaUIsQ0FBQyxPQUEwQjtRQUNsRCxJQUFJLFVBQVUsR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXBFLE1BQU0sVUFBVSxHQUFHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTTtZQUMvQyxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWE7WUFDdkIsQ0FBQyxDQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTTtnQkFDNUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO2dCQUM3QyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBRVgsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLFVBQVUsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN4RCxDQUFDO1FBRUQsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGlCQUFpQixDQUFDLFdBQW1CO1FBQzNDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsc0JBQXNCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDMUUsT0FBTyxTQUFTLEVBQUUsaUJBQWlCLElBQUksU0FBUyxFQUFFLFVBQVUsQ0FBQztJQUMvRCxDQUFDOytHQWpFVSxtQkFBbUI7bUhBQW5CLG1CQUFtQixjQUROLE1BQU07OzRGQUNuQixtQkFBbUI7a0JBRC9CLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBIdHRwUGFyYW1zIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IEFwaVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9odHRwLWNsaWVudC9hcGkuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBBUEksIEFQSVNlcnZpY2VzIH0gZnJvbSBcIi4uL2NvbnN0YW50cy9hcGktY29uc3RhbnRzXCI7XHJcbmltcG9ydCB7IENvbW1vbkFwaVJlc3BvbnNlLCBOZXh0U3RhdHVzUGF5bG9hZCwgVXBkYXRlU3RhdHVzUGF5bG9hZCB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL2NvbW1vbi5pbnRlcmZhY2VcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQgeyBUcmFuc2l0aW9uUmVzcG9uc2VBZGFwdGVyIH0gZnJvbSBcIi4uL2hlbHBlcnMvdHJhbnNpdGlvbi1yZXNwb25zZS5hZGFwdGVyXCI7XHJcbmltcG9ydCB7IE1ldGFkYXRhSGVscGVyIH0gZnJvbSBcIi4uL2hlbHBlcnMvY29tbW9uL21ldGEtZGF0YS5oZWxwZXJzXCI7XHJcbmltcG9ydCB7IGdldEhlYWRlcnMgfSBmcm9tIFwiLi4vdXRpbHMvcmVxLXJlcy51dGlsXCI7XHJcblxyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIFRhYkJsdWVwcmludFNlcnZpY2Uge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgYXBpU2VydmljZSA9IGluamVjdChBcGlTZXJ2aWNlKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IG1ldGFkYXRhSGVscGVyID0gaW5qZWN0KE1ldGFkYXRhSGVscGVyKTtcclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIHRoZSBuZXh0IHN0YXR1cyBvZiBhIHJlY29yZC5cclxuICAgKiBVc2VzIG5ldyBjcnVkU2VydmljZSBlbmRwb2ludDogR0VUIHN0YXR1cy9hdmFpbGFibGU/cmVjb3JkSWQ9Li4uJkVudGl0eU5hbWU9Li4uXHJcbiAgICovXHJcbiAgZ2V0TmV4dFN0YXR1cyhwYXlsb2FkOiBOZXh0U3RhdHVzUGF5bG9hZCwgaGVhZGVycz86IGFueSk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IGh0dHBQYXJhbXMgPSB0aGlzLmJ1aWxkU3RhdHVzUGFyYW1zKHBheWxvYWQpO1xyXG4gICAgaGVhZGVycyA9IGdldEhlYWRlcnMoaGVhZGVycyk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5nZXRGcm9tU2VydmljZShcclxuICAgICAgQVBJU2VydmljZXMuY3J1ZFNlcnZpY2UsXHJcbiAgICAgIEFQSS5zdGF0dXNBdmFpbGFibGUsXHJcbiAgICAgIGh0dHBQYXJhbXMsXHJcbiAgICAgIGhlYWRlcnNcclxuICAgICkucGlwZShcclxuICAgICAgbWFwKHJlc3BvbnNlID0+IFRyYW5zaXRpb25SZXNwb25zZUFkYXB0ZXIubm9ybWFsaXplKHJlc3BvbnNlKSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGVzIHRoZSBzdGF0dXMgb2YgYSByZWNvcmQuXHJcbiAgICogVXNlcyBuZXcgY3J1ZFNlcnZpY2UgZW5kcG9pbnQ6IFBVVCBzdGF0dXMvdXBkYXRlP3JlY29yZElkPS4uLiZuZXh0U3RhdHVzSWQ9Li4uJkVudGl0eU5hbWU9Li4uXHJcbiAgICovXHJcbiAgdXBkYXRlU3RhdHVzKHBheWxvYWQ6IFVwZGF0ZVN0YXR1c1BheWxvYWQsIGhlYWRlcnM/OiBhbnkpOiBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPiB7XHJcbiAgICBjb25zdCBodHRwUGFyYW1zID0gdGhpcy5idWlsZFN0YXR1c1BhcmFtcyhwYXlsb2FkKVxyXG4gICAgICAuc2V0KCduZXh0U3RhdHVzSWQnLCBwYXlsb2FkLm5leHRQb3NzaWJsZVN0YXR1c0lkKTtcclxuICAgIGhlYWRlcnMgPSBnZXRIZWFkZXJzKGhlYWRlcnMpO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucHV0VG9TZXJ2aWNlKFxyXG4gICAgICBBUElTZXJ2aWNlcy5jcnVkU2VydmljZSxcclxuICAgICAgYCR7QVBJLnN0YXR1c1VwZGF0ZX0/JHtodHRwUGFyYW1zLnRvU3RyaW5nKCl9YCxcclxuICAgICAgbnVsbCxcclxuICAgICAgaGVhZGVyc1xyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEJ1aWxkcyBjb21tb24gSHR0cFBhcmFtcyBmb3Igc3RhdHVzIGVuZHBvaW50cyAocmVjb3JkSWQgKyBFbnRpdHlOYW1lKS5cclxuICAgKi9cclxuICBwcml2YXRlIGJ1aWxkU3RhdHVzUGFyYW1zKHBheWxvYWQ6IE5leHRTdGF0dXNQYXlsb2FkKTogSHR0cFBhcmFtcyB7XHJcbiAgICBsZXQgaHR0cFBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdyZWNvcmRJZCcsIHBheWxvYWQucmVjb3JkSWQpO1xyXG5cclxuICAgIGNvbnN0IGVudGl0eU5hbWUgPSBwYXlsb2FkPy5hcHBPYmplY3ROYW1lPy5sZW5ndGhcclxuICAgICAgPyBwYXlsb2FkLmFwcE9iamVjdE5hbWVcclxuICAgICAgOiBwYXlsb2FkPy5hcHBPYmplY3RJZD8ubGVuZ3RoXHJcbiAgICAgICAgPyB0aGlzLnJlc29sdmVFbnRpdHlOYW1lKHBheWxvYWQuYXBwT2JqZWN0SWQpXHJcbiAgICAgICAgOiBudWxsO1xyXG5cclxuICAgIGlmIChlbnRpdHlOYW1lKSB7XHJcbiAgICAgIGh0dHBQYXJhbXMgPSBodHRwUGFyYW1zLnNldCgnRW50aXR5TmFtZScsIGVudGl0eU5hbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBodHRwUGFyYW1zO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVzb2x2ZXMgYXBwT2JqZWN0SWQgdG8gRW50aXR5TmFtZSAoU3lzdGVtREJUYWJsZU5hbWUpLlxyXG4gICAqIExvb2tzIHVwIHRoZSBhcHAgb2JqZWN0IHZpYSBNZXRhZGF0YUhlbHBlciBhbmQgcmV0dXJucyBTeXN0ZW1EQlRhYmxlTmFtZSBvciBPYmplY3ROYW1lLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVzb2x2ZUVudGl0eU5hbWUoYXBwT2JqZWN0SWQ6IHN0cmluZykge1xyXG4gICAgY29uc3QgYXBwT2JqZWN0ID0gdGhpcy5tZXRhZGF0YUhlbHBlci5nZXRBcHBPYmplY3RCeUlkT3JOYW1lKGFwcE9iamVjdElkKTtcclxuICAgIHJldHVybiBhcHBPYmplY3Q/LlN5c3RlbURCVGFibGVOYW1lIHx8IGFwcE9iamVjdD8uT2JqZWN0TmFtZTtcclxuICB9XHJcbn0iXX0=
|
|
@@ -6,7 +6,7 @@ import { APIFilterCriteria } from "../models/api-query.class";
|
|
|
6
6
|
import { RequestResponseHelper } from "../helpers/common/req-res.helpers";
|
|
7
7
|
import { DSQHelper } from "../helpers/common/dsq.helpers";
|
|
8
8
|
import { QueryType } from "../enums/query.enum";
|
|
9
|
-
import {
|
|
9
|
+
import { ConjunctionClause, FilterValueType, RelationalOperator } from "../enums/dsq.enum";
|
|
10
10
|
import { API, APIServices } from "../constants/api-constants";
|
|
11
11
|
import { getHeaders } from "../utils/req-res.util";
|
|
12
12
|
import { ApiService } from "../../core/http-client/api.service";
|
|
@@ -77,31 +77,41 @@ export class TabCrudService {
|
|
|
77
77
|
/**
|
|
78
78
|
* Generates a where clause based on the criteria provided.
|
|
79
79
|
*
|
|
80
|
-
*
|
|
80
|
+
* Supports two formats for criteria:
|
|
81
|
+
* - **Object** `{ Id: 'xxx' }` — auto-builds EqualTo filters for each key-value pair.
|
|
82
|
+
* - **Array** `[{ ConjunctionClause, FieldID, RelationalOperator, ValueType, Value, ... }]` — uses filters directly as provided.
|
|
83
|
+
*
|
|
84
|
+
* @param criteria The criteria object or filter array to generate the where clause from.
|
|
81
85
|
* @param crudTableName The CRUD table name to use in the where clause.
|
|
86
|
+
* @param provideEmptyWhereClause If true, allows empty criteria.
|
|
82
87
|
* @returns A new APIFilterCriteria object with the generated where clause.
|
|
83
88
|
*/
|
|
84
89
|
generateWhereClause(criteria, crudTableName, provideEmptyWhereClause = false) {
|
|
85
|
-
if (!provideEmptyWhereClause && (!criteria || typeof criteria !== 'object'
|
|
90
|
+
if (!provideEmptyWhereClause && (!criteria || (typeof criteria !== 'object' && !Array.isArray(criteria))))
|
|
86
91
|
throw new Error('Invalid criteria');
|
|
87
|
-
// Remove blank values from the criteria
|
|
88
|
-
removeBlankValue(criteria);
|
|
89
92
|
// Create a new APIFilterCriteria object
|
|
90
93
|
const whereClause = new APIFilterCriteria();
|
|
91
94
|
whereClause.filters = [];
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
95
|
+
if (Array.isArray(criteria)) {
|
|
96
|
+
// Rich filter array — use directly as provided
|
|
97
|
+
whereClause.filters = criteria;
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
// Plain object — auto-build EqualTo filters for each key-value pair
|
|
101
|
+
removeBlankValue(criteria);
|
|
102
|
+
Object.keys(criteria)?.forEach((key, index) => {
|
|
103
|
+
const filter = {
|
|
104
|
+
conjunction: ConjunctionClause.AND, // conjuction clause is AND by default
|
|
105
|
+
fieldName: crudTableName + '.' + key, // field name
|
|
106
|
+
operator: RelationalOperator.EqualTo, // relational operator is EqualTo by default
|
|
107
|
+
valueType: FilterValueType.Literal, // value type is Literal by default
|
|
108
|
+
value: criteria[key], // set the value of the filter
|
|
109
|
+
sequence: index + 1, // set the sequence starting from 1
|
|
110
|
+
groupId: 0 // set the group ID to 0 by default
|
|
111
|
+
};
|
|
112
|
+
whereClause.filters.push(filter); // add the filter to the array of filters
|
|
113
|
+
});
|
|
114
|
+
}
|
|
105
115
|
// Set the filter logic to '1'
|
|
106
116
|
whereClause.filterLogic = '1';
|
|
107
117
|
// Return the generated where clause
|
|
@@ -161,8 +171,16 @@ export class TabCrudService {
|
|
|
161
171
|
*/
|
|
162
172
|
update(payload, headers) {
|
|
163
173
|
const appObject = this.getAppObjectFromPayload(payload);
|
|
164
|
-
//
|
|
165
|
-
|
|
174
|
+
// If caller provided explicit criteria, build the whereClause and pass it through.
|
|
175
|
+
// Otherwise, TabUpdateService falls back to extracting the primary key from data.
|
|
176
|
+
let customWhereClause;
|
|
177
|
+
if (payload.criteria) {
|
|
178
|
+
const built = this.generateWhereClause(payload.criteria, appObject.SystemDBTableName);
|
|
179
|
+
if (built?.filters?.length) {
|
|
180
|
+
customWhereClause = built;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
return this._tabUpdateService.updateByObjectId(appObject.ID, { data: payload.data }, headers, customWhereClause);
|
|
166
184
|
}
|
|
167
185
|
/**
|
|
168
186
|
* Deletes data from the specified table.
|
|
@@ -182,18 +200,6 @@ export class TabCrudService {
|
|
|
182
200
|
// Delegate to TabDeleteService - it handles new API with SYNC/ASYNC automatically
|
|
183
201
|
return this._tabDeleteService.delete(apiPayload, headers);
|
|
184
202
|
}
|
|
185
|
-
// /**
|
|
186
|
-
// * Executes a stored procedure using raw SQL.
|
|
187
|
-
// * @param sp The stored procedure query string.
|
|
188
|
-
// * @param headers Optional headers for the request.
|
|
189
|
-
// * @returns The result of the API POST request.
|
|
190
|
-
// */
|
|
191
|
-
// executeSp(sp: string, headers?: any): Observable<CommonApiResponse> {
|
|
192
|
-
// // Retrieve headers for the request
|
|
193
|
-
// const header = getHeaders(headers);
|
|
194
|
-
// // Execute the stored procedure using a POST request
|
|
195
|
-
// return this._apiService.post(`${API.rawSQL}?query=${sp}`, {}, header) as Observable<CommonApiResponse>;
|
|
196
|
-
// }
|
|
197
203
|
/**
|
|
198
204
|
* Executes a stored procedure based on the given parameters.
|
|
199
205
|
* @param payload The payload containing the object name, object type, and parameters for the stored procedure.
|
|
@@ -218,11 +224,11 @@ export class TabCrudService {
|
|
|
218
224
|
};
|
|
219
225
|
return this._apiService.postToService(APIServices.crudService, API.databaseExecute, requestBody, headers);
|
|
220
226
|
}
|
|
221
|
-
static { this.ɵfac =
|
|
222
|
-
static { this.ɵprov =
|
|
227
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TabCrudService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
228
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TabCrudService, providedIn: 'root' }); }
|
|
223
229
|
}
|
|
224
|
-
(
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWNydWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9jcnVkL3RhYi1jcnVkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRyxPQUFPLEVBQWdDLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDMUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzFELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHMUYsT0FBTyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZ0JB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VyxDQUFDLFdBQVcsRUFDdkIsR0FBRyxDQUFDLGVBQWUsRUFDbkIsV0FBVyxFQUNYLE9BQU8sQ0FDVixDQUFDO0lBQ04sQ0FBQzsrRUEvT1EsY0FBYzt1RUFBZCxjQUFjLFdBQWQsY0FBYyxtQkFERCxNQUFNOztpRkFDbkIsY0FBYztjQUQxQixVQUFVO2VBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xyXG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDb21tb25BcGlSZXNwb25zZSwgQ3J1ZEJhc2VQYXlsb2FkLCBEZWxldGVQYXlsb2FkLCBleGVjdXRlU3RvcmVkUHJvY2VkdXJlUGF5bG9hZCwgR2V0UGF5bG9hZCwgSW5zZXJ0UGF5bG9hZCwgVXBkYXRlUGF5bG9hZCB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL2NvbW1vbi5pbnRlcmZhY2VcIjtcclxuaW1wb3J0IHsgQXBwT2JqZWN0TW9kZWwgfSBmcm9tIFwiLi4vbW9kZWxzL2FwcC1vYmplY3QubW9kZWxcIjtcclxuaW1wb3J0IHsgTWV0YWRhdGFIZWxwZXIgfSBmcm9tIFwiLi4vaGVscGVycy9jb21tb24vbWV0YS1kYXRhLmhlbHBlcnNcIjtcclxuaW1wb3J0IHsgZ2V0QnVsa0luc2VydEZpZWxkcywgZ2V0QnVsa0luc2VydFZhbHVlcywgcmVtb3ZlQmxhbmtWYWx1ZSB9IGZyb20gXCIuLi91dGlscy9qc29uLnV0aWxcIjtcclxuaW1wb3J0IHsgQVBJQnVsa0luc2VydEZpZWxkc1ZhbHVlU2V0cywgQVBJRmlsdGVyQ3JpdGVyaWEgfSBmcm9tIFwiLi4vbW9kZWxzL2FwaS1xdWVyeS5jbGFzc1wiO1xyXG5pbXBvcnQgeyBSZXF1ZXN0UmVzcG9uc2VIZWxwZXIgfSBmcm9tIFwiLi4vaGVscGVycy9jb21tb24vcmVxLXJlcy5oZWxwZXJzXCI7XHJcbmltcG9ydCB7IERTUUhlbHBlciB9IGZyb20gXCIuLi9oZWxwZXJzL2NvbW1vbi9kc3EuaGVscGVyc1wiO1xyXG5pbXBvcnQgeyBRdWVyeVR5cGUgfSBmcm9tIFwiLi4vZW51bXMvcXVlcnkuZW51bVwiO1xyXG5pbXBvcnQgeyBDb25qdWN0aW9uQ2xhdXNlLCBGaWx0ZXJWYWx1ZVR5cGUsIFJlbGF0aW9uYWxPcGVyYXRvciB9IGZyb20gXCIuLi9lbnVtcy9kc3EuZW51bVwiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgRGF0YVNvdXJjZVF1ZXJ5TW9kZWwgfSBmcm9tIFwiLi4vbW9kZWxzL2RhdGEtc291cmNlLXF1ZXJ5Lm1vZGVsXCI7XHJcbmltcG9ydCB7IEFQSSwgQVBJU2VydmljZXMgfSBmcm9tIFwiLi4vY29uc3RhbnRzL2FwaS1jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgZ2V0SGVhZGVycyB9IGZyb20gXCIuLi91dGlscy9yZXEtcmVzLnV0aWxcIjtcclxuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL2h0dHAtY2xpZW50L2FwaS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFRhYkdldFNlcnZpY2UgfSBmcm9tIFwiLi90YWItZ2V0LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgVGFiSW5zZXJ0U2VydmljZSB9IGZyb20gXCIuL3RhYi1pbnNlcnQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBUYWJVcGRhdGVTZXJ2aWNlIH0gZnJvbSBcIi4vdGFiLXVwZGF0ZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFRhYkRlbGV0ZVNlcnZpY2UgfSBmcm9tIFwiLi90YWItZGVsZXRlLnNlcnZpY2VcIjtcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBUYWJDcnVkU2VydmljZSB7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9tZXRhZGF0YUhlbHBlcjogTWV0YWRhdGFIZWxwZXIgPSBpbmplY3QoTWV0YWRhdGFIZWxwZXIpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBfcmVxdWVzdFJlc3BvbnNlSGVscGVyOiBSZXF1ZXN0UmVzcG9uc2VIZWxwZXIgPSBpbmplY3QoUmVxdWVzdFJlc3BvbnNlSGVscGVyKTtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2RzcUhlbHBlcjogRFNRSGVscGVyID0gaW5qZWN0KERTUUhlbHBlcik7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9hcGlTZXJ2aWNlID0gaW5qZWN0KEFwaVNlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBfdGFiR2V0U2VydmljZSA9IGluamVjdChUYWJHZXRTZXJ2aWNlKTtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3RhYkluc2VydFNlcnZpY2UgPSBpbmplY3QoVGFiSW5zZXJ0U2VydmljZSk7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IF90YWJVcGRhdGVTZXJ2aWNlID0gaW5qZWN0KFRhYlVwZGF0ZVNlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBfdGFiRGVsZXRlU2VydmljZSA9IGluamVjdChUYWJEZWxldGVTZXJ2aWNlKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgdGhlIEFwcE9iamVjdE1vZGVsIGZyb20gdGhlIGdpdmVuIHBheWxvYWQuXHJcbiAgICAgKiBAcGFyYW0gcGF5bG9hZCBUaGUgcGF5bG9hZCB3aXRoIGVpdGhlciBkYXRhU291cmNlUXVlcnlJZE9yTmFtZSBvciBhcHBPYmplY3RJZE9yTmFtZS5cclxuICAgICAqIEByZXR1cm5zIFRoZSBBcHBPYmplY3RNb2RlbC5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBnZXRBcHBPYmplY3RGcm9tUGF5bG9hZChwYXlsb2FkOiBDcnVkQmFzZVBheWxvYWQpOiBBcHBPYmplY3RNb2RlbCB7XHJcbiAgICAgICAgbGV0IGFwcE9iamVjdDtcclxuXHJcbiAgICAgICAgaWYgKHBheWxvYWQ/LmRhdGFTb3VyY2VRdWVyeUlkT3JOYW1lKSB7XHJcbiAgICAgICAgICAgIC8vIElmIGRhdGFTb3VyY2VRdWVyeUlkT3JOYW1lIGlzIGdpdmVuLCBnZXQgdGhlIEFwcE9iamVjdE1vZGVsIGZyb20gdGhlIGRhdGEgc291cmNlIHF1ZXJ5XHJcbiAgICAgICAgICAgIGFwcE9iamVjdCA9IHRoaXMuX21ldGFkYXRhSGVscGVyLmdldERhdGFTb3VyY2VRdWVyeUJ5SWRPck5hbWUocGF5bG9hZC5kYXRhU291cmNlUXVlcnlJZE9yTmFtZSk/LnBhcmVudEFwcE9iamVjdDtcclxuXHJcbiAgICAgICAgfSBlbHNlIGlmIChwYXlsb2FkPy5hcHBPYmplY3RJZE9yTmFtZSkge1xyXG4gICAgICAgICAgICAvLyBJZiBhcHBPYmplY3RJZE9yTmFtZSBpcyBnaXZlbiwgZ2V0IHRoZSBBcHBPYmplY3RNb2RlbCBkaXJlY3RseVxyXG4gICAgICAgICAgICBhcHBPYmplY3QgPSB0aGlzLl9tZXRhZGF0YUhlbHBlci5nZXRBcHBPYmplY3RCeUlkT3JOYW1lKHBheWxvYWQuYXBwT2JqZWN0SWRPck5hbWUpO1xyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghYXBwT2JqZWN0Py5JRCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FwcE9iamVjdCBub3QgZm91bmQnKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBhcHBPYmplY3Q7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBGaWx0ZXJzIG91dCBpbnZhbGlkIGZpZWxkcyBmcm9tIHRoZSBwcm92aWRlZCBkYXRhIGJhc2VkIG9uIHRoZSBBcHBPYmplY3RNb2RlbC5cclxuICAgICAqIE9wdGlvbmFsbHkgcmV0YWlucyBwcmltYXJ5IGtleSBmaWVsZHMuXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBkYXRhIFRoZSBkYXRhIG9iamVjdCB0byBmaWx0ZXIuXHJcbiAgICAgKiBAcGFyYW0gYXBwT2JqZWN0IFRoZSBBcHBPYmplY3RNb2RlbCB1c2VkIHRvIHZhbGlkYXRlIHRoZSBmaWVsZHMuXHJcbiAgICAgKiBAcGFyYW0ga2VlcFByaW1hcnlLZXkgT3B0aW9uYWwgZmxhZyB0byByZXRhaW4gcHJpbWFyeSBrZXkgZmllbGRzLiBEZWZhdWx0cyB0byBmYWxzZS5cclxuICAgICAqIEByZXR1cm5zIEEgbmV3IG9iamVjdCB3aXRoIG9ubHkgdmFsaWQgZmllbGRzLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGZpbHRlclZhbGlkQXBwT2JqZWN0RmllbGRzKGRhdGE6IGFueSwgYXBwT2JqZWN0OiBBcHBPYmplY3RNb2RlbCwga2VlcFByaW1hcnlLZXkgPSBmYWxzZSwgcmVtb3ZlRW1wdHlWYWx1ZXMgPSB0cnVlKSB7XHJcbiAgICAgICAgaWYgKCFkYXRhIHx8IHR5cGVvZiBkYXRhICE9PSAnb2JqZWN0JykgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGRhdGEnKTtcclxuXHJcbiAgICAgICAgY29uc3QgZmlsdGVyZWREYXRhID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShkYXRhKSk7XHJcblxyXG4gICAgICAgIC8vIFJlbW92ZSBmaWVsZHMgd2l0aCBibGFuayB2YWx1ZXMgKG9ubHkgZm9yIGluc2VydCwgbm90IGZvciB1cGRhdGUpXHJcbiAgICAgICAgaWYgKHJlbW92ZUVtcHR5VmFsdWVzKSB7XHJcbiAgICAgICAgICAgIHJlbW92ZUJsYW5rVmFsdWUoZmlsdGVyZWREYXRhKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIEl0ZXJhdGUgb3ZlciBlYWNoIGtleSBpbiB0aGUgZmlsdGVyZWQgZGF0YVxyXG4gICAgICAgIE9iamVjdC5rZXlzKGZpbHRlcmVkRGF0YSk/LmZvckVhY2goKGtleSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBhcHBGaWVsZCA9IGFwcE9iamVjdC5maWVsZChrZXkpO1xyXG4gICAgICAgICAgICBjb25zdCBjaGlsZEZpZWxkID0gYXBwT2JqZWN0LkNoaWxkUmVsYXRpb25TaGlwcz8uc29tZSgoeCkgPT4geD8uY2hpbGREZXRhaWxzPy5Mb29rdXBPYmplY3QgPT09IGtleSk7XHJcblxyXG4gICAgICAgICAgICAvLyBEZWxldGUgdGhlIGZpZWxkIGlmIGl0IGlzIG5vdCB2YWxpZCBvciBpZiBwcmltYXJ5IGtleXMgc2hvdWxkIG5vdCBiZSBrZXB0XHJcbiAgICAgICAgICAgIGlmICghKGFwcEZpZWxkIHx8IGNoaWxkRmllbGQpIHx8ICgha2VlcFByaW1hcnlLZXkgJiYgYXBwRmllbGQ/LklzUHJpbWFyeUtleSkpIHtcclxuICAgICAgICAgICAgICAgIGRlbGV0ZSBmaWx0ZXJlZERhdGFba2V5XTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICByZXR1cm4gZmlsdGVyZWREYXRhO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2VuZXJhdGVzIGEgd2hlcmUgY2xhdXNlIGJhc2VkIG9uIHRoZSBjcml0ZXJpYSBwcm92aWRlZC5cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIGNyaXRlcmlhIFRoZSBjcml0ZXJpYSBvYmplY3QgdG8gZ2VuZXJhdGUgdGhlIHdoZXJlIGNsYXVzZSBmcm9tLlxyXG4gICAgICogQHBhcmFtIGNydWRUYWJsZU5hbWUgVGhlIENSVUQgdGFibGUgbmFtZSB0byB1c2UgaW4gdGhlIHdoZXJlIGNsYXVzZS5cclxuICAgICAqIEByZXR1cm5zIEEgbmV3IEFQSUZpbHRlckNyaXRlcmlhIG9iamVjdCB3aXRoIHRoZSBnZW5lcmF0ZWQgd2hlcmUgY2xhdXNlLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGdlbmVyYXRlV2hlcmVDbGF1c2UoY3JpdGVyaWE6IGFueSwgY3J1ZFRhYmxlTmFtZTogc3RyaW5nLCBwcm92aWRlRW1wdHlXaGVyZUNsYXVzZSA9IGZhbHNlKTogQVBJRmlsdGVyQ3JpdGVyaWEge1xyXG4gICAgICAgIGlmICghcHJvdmlkZUVtcHR5V2hlcmVDbGF1c2UgJiYgKCFjcml0ZXJpYSB8fCB0eXBlb2YgY3JpdGVyaWEgIT09ICdvYmplY3QnIHx8ICFPYmplY3Qua2V5cyhjcml0ZXJpYSkpKSB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgY3JpdGVyaWEnKTtcclxuXHJcbiAgICAgICAgLy8gUmVtb3ZlIGJsYW5rIHZhbHVlcyBmcm9tIHRoZSBjcml0ZXJpYVxyXG4gICAgICAgIHJlbW92ZUJsYW5rVmFsdWUoY3JpdGVyaWEpO1xyXG5cclxuICAgICAgICAvLyBDcmVhdGUgYSBuZXcgQVBJRmlsdGVyQ3JpdGVyaWEgb2JqZWN0XHJcbiAgICAgICAgY29uc3Qgd2hlcmVDbGF1c2UgPSBuZXcgQVBJRmlsdGVyQ3JpdGVyaWEoKTtcclxuICAgICAgICB3aGVyZUNsYXVzZS5maWx0ZXJzID0gW107XHJcblxyXG4gICAgICAgIC8vIEl0ZXJhdGUgb3ZlciBlYWNoIGtleSBpbiB0aGUgY3JpdGVyaWEgYW5kIGFkZCBpdCB0byB0aGUgd2hlcmUgY2xhdXNlXHJcbiAgICAgICAgT2JqZWN0LmtleXMoY3JpdGVyaWEpPy5mb3JFYWNoKChrZXk6IGFueSwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBmaWx0ZXIgPSB7XHJcbiAgICAgICAgICAgICAgICBjb25qdW5jdGlvbjogQ29uanVjdGlvbkNsYXVzZS5BTkQsIC8vIGNvbmp1Y3Rpb24gY2xhdXNlIGlzIEFORCBieSBkZWZhdWx0XHJcbiAgICAgICAgICAgICAgICBmaWVsZE5hbWU6IGNydWRUYWJsZU5hbWUgKyAnLicgKyBrZXksIC8vIGZpZWxkIG5hbWVcclxuICAgICAgICAgICAgICAgIG9wZXJhdG9yOiBSZWxhdGlvbmFsT3BlcmF0b3IuRXF1YWxUbywgLy8gcmVsYXRpb25hbCBvcGVyYXRvciBpcyBFcXVhbFRvIGJ5IGRlZmF1bHRcclxuICAgICAgICAgICAgICAgIHZhbHVlVHlwZTogRmlsdGVyVmFsdWVUeXBlLkxpdGVyYWwsIC8vIHZhbHVlIHR5cGUgaXMgTGl0ZXJhbCBieSBkZWZhdWx0XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogY3JpdGVyaWFba2V5XSwgLy8gc2V0IHRoZSB2YWx1ZSBvZiB0aGUgZmlsdGVyXHJcbiAgICAgICAgICAgICAgICBzZXF1ZW5jZTogaW5kZXggKyAxLCAvLyBzZXQgdGhlIHNlcXVlbmNlIHN0YXJ0aW5nIGZyb20gMVxyXG4gICAgICAgICAgICAgICAgZ3JvdXBJZDogMCAvLyBzZXQgdGhlIGdyb3VwIElEIHRvIDAgYnkgZGVmYXVsdFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB3aGVyZUNsYXVzZS5maWx0ZXJzLnB1c2goZmlsdGVyKTsgLy8gYWRkIHRoZSBmaWx0ZXIgdG8gdGhlIGFycmF5IG9mIGZpbHRlcnNcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgLy8gU2V0IHRoZSBmaWx0ZXIgbG9naWMgdG8gJzEnXHJcbiAgICAgICAgd2hlcmVDbGF1c2UuZmlsdGVyTG9naWMgPSAnMSc7XHJcblxyXG4gICAgICAgIC8vIFJldHVybiB0aGUgZ2VuZXJhdGVkIHdoZXJlIGNsYXVzZVxyXG4gICAgICAgIHJldHVybiB3aGVyZUNsYXVzZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEV4ZWN1dGVzIGEgR0VUIHJlcXVlc3QgdG8gcmV0cmlldmUgZGF0YSBmcm9tIHRoZSBzcGVjaWZpZWQgZGF0YSBzb3VyY2UgcXVlcnkuXHJcbiAgICAgKiBAcGFyYW0gcGF5bG9hZCBUaGUgcGF5bG9hZCBjb250YWluaW5nIHRoZSBjcml0ZXJpYSBmb3IgdGhlIHF1ZXJ5IGFuZCB0aGUgQXBwT2JqZWN0TW9kZWwgSUQuXHJcbiAgICAgKiBAcGFyYW0gaGVhZGVycyBPcHRpb25hbCBoZWFkZXJzIGZvciB0aGUgcmVxdWVzdC5cclxuICAgICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgb2YgdGhlIHJlc3BvbnNlIGZyb20gdGhlIEFQSS5cclxuICAgICAqL1xyXG4gICAgZ2V0KHBheWxvYWQ6IEdldFBheWxvYWQsIGhlYWRlcnM/OiBhbnkpOiBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPiB7XHJcbiAgICAgICAgLy8gR2V0IHRoZSBBcHBPYmplY3RNb2RlbCBmcm9tIHRoZSBwYXlsb2FkXHJcbiAgICAgICAgY29uc3QgYXBwT2JqZWN0OiBBcHBPYmplY3RNb2RlbCA9IHRoaXMuZ2V0QXBwT2JqZWN0RnJvbVBheWxvYWQocGF5bG9hZCk7XHJcblxyXG4gICAgICAgIC8vIEdldCB0aGUgRGF0YVNvdXJjZVF1ZXJ5TW9kZWwgZnJvbSB0aGUgQXBwT2JqZWN0TW9kZWxcclxuICAgICAgICBjb25zdCBkc3E6IERhdGFTb3VyY2VRdWVyeU1vZGVsIHwgdW5kZWZpbmVkID0gYXBwT2JqZWN0LmRhdGFTb3VyY2VRdWVyeShwYXlsb2FkLmRhdGFTb3VyY2VRdWVyeUlkT3JOYW1lKTtcclxuXHJcbiAgICAgICAgLy8gVmFsaWRhdGUgdGhlIEFwcE9iamVjdE1vZGVsIGFuZCBEYXRhU291cmNlUXVlcnlNb2RlbFxyXG4gICAgICAgIGlmICghYXBwT2JqZWN0IHx8ICFkc3EpIHRocm93IG5ldyBFcnJvcignQXBwT2JqZWN0IG9yIERhdGFTb3VyY2VRdWVyeSBub3QgZm91bmQnKTtcclxuXHJcbiAgICAgICAgLy8gVXNlIFRhYkdldFNlcnZpY2UuZXhlY3V0ZVJBV0RTUVdpdGhOYW1lIHRvIGF2b2lkIGNvZGUgZHVwbGljYXRpb25cclxuICAgICAgICByZXR1cm4gdGhpcy5fdGFiR2V0U2VydmljZS5leGVjdXRlUkFXRFNRV2l0aE5hbWUoe1xyXG4gICAgICAgICAgICBBcHBPYmplY3ROYW1lOiBhcHBPYmplY3QuT2JqZWN0TmFtZSxcclxuICAgICAgICAgICAgRFNRTmFtZTogZHNxLlF1ZXJ5TmFtZSxcclxuICAgICAgICAgICAgLi4ucGF5bG9hZC5jcml0ZXJpYVxyXG4gICAgICAgIH0sIGhlYWRlcnMpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5zZXJ0cyBkYXRhIGludG8gdGhlIHNwZWNpZmllZCB0YWJsZS5cclxuICAgICAqIE5FVzogRGVsZWdhdGVzIHRvIFRhYkluc2VydFNlcnZpY2Ugd2hpY2ggdXNlcyAvcmVjb3Jkcy9pbnNlcnQgZW5kcG9pbnQgd2l0aCBTWU5DL0FTWU5DIHN1cHBvcnRcclxuICAgICAqIEBwYXJhbSBwYXlsb2FkIFRoZSBwYXlsb2FkIGNvbnRhaW5pbmcgdGhlIGRhdGEgdG8gaW5zZXJ0IGFuZCB0aGUgQXBwT2JqZWN0TW9kZWwgSUQuXHJcbiAgICAgKiBAcGFyYW0gaGVhZGVycyBPcHRpb25hbCBoZWFkZXJzIGZvciB0aGUgcmVxdWVzdC5cclxuICAgICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgb2YgdGhlIHJlc3BvbnNlIGZyb20gdGhlIEFQSSAocmV0dXJucyBpbnNlcnRlZElkIG9ubHkpLlxyXG4gICAgICovXHJcbiAgICBpbnNlcnQocGF5bG9hZDogSW5zZXJ0UGF5bG9hZCwgaGVhZGVycz86IGFueSk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcclxuICAgICAgICBjb25zdCBhcHBPYmplY3Q6IEFwcE9iamVjdE1vZGVsID0gdGhpcy5nZXRBcHBPYmplY3RGcm9tUGF5bG9hZChwYXlsb2FkKTtcclxuXHJcbiAgICAgICAgLy8gRGVsZWdhdGUgdG8gVGFiSW5zZXJ0U2VydmljZSAtIGl0IGhhbmRsZXMgbmV3IEFQSSB3aXRoIFNZTkMvQVNZTkMgYXV0b21hdGljYWxseVxyXG4gICAgICAgIHJldHVybiB0aGlzLl90YWJJbnNlcnRTZXJ2aWNlLmluc2VydEJ5T2JqZWN0SWQoYXBwT2JqZWN0LklELCB7IGRhdGE6IHBheWxvYWQuZGF0YSB9LCBoZWFkZXJzKSBhcyBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPjtcclxuICAgIH1cclxuICAgIFxyXG4gICAgYnVsa0luc2VydChwYXlsb2FkOiBJbnNlcnRQYXlsb2FkLCBoZWFkZXJzPzogYW55KTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xyXG4gICAgICAgIGNvbnN0IGFwcE9iamVjdDogQXBwT2JqZWN0TW9kZWwgPSB0aGlzLmdldEFwcE9iamVjdEZyb21QYXlsb2FkKHBheWxvYWQpO1xyXG4gICAgICAgIC8vIENyZWF0ZSBhIHdoZXJlIGNsYXVzZSBmb3IgdGhlIGluc2VydCBvcGVyYXRpb25cclxuICAgICAgICBjb25zdCB3aGVyZUNsYXVzZTogQVBJRmlsdGVyQ3JpdGVyaWEgPSB0aGlzLmdlbmVyYXRlV2hlcmVDbGF1c2Uoe30sIGFwcE9iamVjdC5TeXN0ZW1EQlRhYmxlTmFtZSwgdHJ1ZSk7XHJcblxyXG4gICAgICAgIC8vIFRyYW5zZm9ybSB0aGUgZGF0YSBpbnRvIHRoZSBmb3JtYXQgcmVxdWlyZWQgYnkgdGhlIEFQSVxyXG4gICAgICAgIGNvbnN0IHRyYW5zZm9ybWVkRmllbGRzOiBzdHJpbmdbXSA9IGdldEJ1bGtJbnNlcnRGaWVsZHMocGF5bG9hZC5kYXRhKTtcclxuICAgICAgICBjb25zdCB0cmFuc2Zvcm1lZFZhbHVlczogQVBJQnVsa0luc2VydEZpZWxkc1ZhbHVlU2V0c1tdID0gZ2V0QnVsa0luc2VydFZhbHVlcyhwYXlsb2FkLmRhdGEpO1xyXG4gICAgICAgIC8vIEdlbmVyYXRlIHRoZSBwYXlsb2FkIGZvciB0aGUgQVBJIHJlcXVlc3RcclxuICAgICAgICBjb25zdCBhcGlQYXlsb2FkID0gdGhpcy5fcmVxdWVzdFJlc3BvbnNlSGVscGVyLmJ1bGtJbnNlcnRQYXlsb2FkKGFwcE9iamVjdC5TeXN0ZW1EQlRhYmxlTmFtZSwgd2hlcmVDbGF1c2UsIHRyYW5zZm9ybWVkVmFsdWVzLCB0cmFuc2Zvcm1lZEZpZWxkcyk7XHJcbiAgICAgICAgLy8gRXhlY3V0ZSB0aGUgcXVlcnlcclxuICAgICAgICByZXR1cm4gdGhpcy5fZHNxSGVscGVyLmV4ZWN1dGVRdWVyeShhcGlQYXlsb2FkLCBRdWVyeVR5cGUuQnVsa0luc2VydCwgaGVhZGVycykgYXMgT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT47XHJcbiAgICB9XHJcbiAgICAvKipcclxuICAgICAqIFVwZGF0ZXMgZGF0YSBpbiB0aGUgc3BlY2lmaWVkIHRhYmxlLlxyXG4gICAgICogTkVXOiBEZWxlZ2F0ZXMgdG8gVGFiVXBkYXRlU2VydmljZSB3aGljaCB1c2VzIC9yZWNvcmRzL3VwZGF0ZSBlbmRwb2ludCB3aXRoIFNZTkMvQVNZTkMgc3VwcG9ydFxyXG4gICAgICogQHBhcmFtIHBheWxvYWQgVGhlIHBheWxvYWQgY29udGFpbmluZyB0aGUgZGF0YSB0byB1cGRhdGUsIHRoZSBjcml0ZXJpYSBmb3IgdGhlIHVwZGF0ZSwgYW5kIHRoZSBBcHBPYmplY3RNb2RlbCBJRC5cclxuICAgICAqIEBwYXJhbSBoZWFkZXJzIE9wdGlvbmFsIGhlYWRlcnMgZm9yIHRoZSByZXF1ZXN0LlxyXG4gICAgICogQHJldHVybnMgQW4gb2JzZXJ2YWJsZSBvZiB0aGUgcmVzcG9uc2UgZnJvbSB0aGUgQVBJLlxyXG4gICAgICovXHJcbiAgICB1cGRhdGUocGF5bG9hZDogVXBkYXRlUGF5bG9hZCwgaGVhZGVycz86IGFueSk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcclxuICAgICAgICBjb25zdCBhcHBPYmplY3Q6IEFwcE9iamVjdE1vZGVsID0gdGhpcy5nZXRBcHBPYmplY3RGcm9tUGF5bG9hZChwYXlsb2FkKTtcclxuXHJcbiAgICAgICAgLy8gRGVsZWdhdGUgdG8gVGFiVXBkYXRlU2VydmljZSAtIGl0IGhhbmRsZXMgbmV3IEFQSSB3aXRoIFNZTkMvQVNZTkMgYXV0b21hdGljYWxseVxyXG4gICAgICAgIHJldHVybiB0aGlzLl90YWJVcGRhdGVTZXJ2aWNlLnVwZGF0ZUJ5T2JqZWN0SWQoYXBwT2JqZWN0LklELCB7IGRhdGE6IHBheWxvYWQuZGF0YSB9LCBoZWFkZXJzKSBhcyBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPjtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIERlbGV0ZXMgZGF0YSBmcm9tIHRoZSBzcGVjaWZpZWQgdGFibGUuXHJcbiAgICAgKiBORVc6IERlbGVnYXRlcyB0byBUYWJEZWxldGVTZXJ2aWNlIHdoaWNoIHVzZXMgL3JlY29yZHMvZGVsZXRlIGVuZHBvaW50IHdpdGggU1lOQy9BU1lOQyBzdXBwb3J0XHJcbiAgICAgKiBAcGFyYW0gcGF5bG9hZCBUaGUgcGF5bG9hZCBjb250YWluaW5nIHRoZSBjcml0ZXJpYSBmb3IgdGhlIGRlbGV0ZSBhbmQgdGhlIEFwcE9iamVjdE1vZGVsIElELlxyXG4gICAgICogQHBhcmFtIGhlYWRlcnMgT3B0aW9uYWwgaGVhZGVycyBmb3IgdGhlIHJlcXVlc3QuXHJcbiAgICAgKiBAcmV0dXJucyBBbiBvYnNlcnZhYmxlIG9mIHRoZSByZXNwb25zZSBmcm9tIHRoZSBBUEkuXHJcbiAgICAgKi9cclxuICAgIGRlbGV0ZShwYXlsb2FkOiBEZWxldGVQYXlsb2FkLCBoZWFkZXJzPzogYW55KTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xyXG4gICAgICAgIGNvbnN0IGFwcE9iamVjdDogQXBwT2JqZWN0TW9kZWwgPSB0aGlzLmdldEFwcE9iamVjdEZyb21QYXlsb2FkKHBheWxvYWQpO1xyXG5cclxuICAgICAgICAvLyBHZW5lcmF0ZSBhIHdoZXJlIGNsYXVzZSBiYXNlZCBvbiB0aGUgY3JpdGVyaWEgcHJvdmlkZWRcclxuICAgICAgICBjb25zdCB3aGVyZUNsYXVzZTogQVBJRmlsdGVyQ3JpdGVyaWEgPSB0aGlzLmdlbmVyYXRlV2hlcmVDbGF1c2UocGF5bG9hZC5jcml0ZXJpYSwgYXBwT2JqZWN0LlN5c3RlbURCVGFibGVOYW1lKTtcclxuICAgICAgICBpZiAoIXdoZXJlQ2xhdXNlPy5maWx0ZXJzPy5sZW5ndGgpIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBjcml0ZXJpYScpO1xyXG5cclxuICAgICAgICAvLyBHZW5lcmF0ZSB0aGUgcGF5bG9hZCBmb3IgdGhlIEFQSSByZXF1ZXN0IChORVcgZm9ybWF0OiB7IGVudGl0eU5hbWUsIHdoZXJlQ2xhdXNlIH0pXHJcbiAgICAgICAgY29uc3QgYXBpUGF5bG9hZCA9IHRoaXMuX3JlcXVlc3RSZXNwb25zZUhlbHBlci5kZWxldGVQYXlsb2FkKGFwcE9iamVjdC5TeXN0ZW1EQlRhYmxlTmFtZSwgd2hlcmVDbGF1c2UpO1xyXG5cclxuICAgICAgICAvLyBEZWxlZ2F0ZSB0byBUYWJEZWxldGVTZXJ2aWNlIC0gaXQgaGFuZGxlcyBuZXcgQVBJIHdpdGggU1lOQy9BU1lOQyBhdXRvbWF0aWNhbGx5XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RhYkRlbGV0ZVNlcnZpY2UuZGVsZXRlKGFwaVBheWxvYWQsIGhlYWRlcnMpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIC8qKlxyXG4gICAgLy8gICogRXhlY3V0ZXMgYSBzdG9yZWQgcHJvY2VkdXJlIHVzaW5nIHJhdyBTUUwuXHJcbiAgICAvLyAgKiBAcGFyYW0gc3AgVGhlIHN0b3JlZCBwcm9jZWR1cmUgcXVlcnkgc3RyaW5nLlxyXG4gICAgLy8gICogQHBhcmFtIGhlYWRlcnMgT3B0aW9uYWwgaGVhZGVycyBmb3IgdGhlIHJlcXVlc3QuXHJcbiAgICAvLyAgKiBAcmV0dXJucyBUaGUgcmVzdWx0IG9mIHRoZSBBUEkgUE9TVCByZXF1ZXN0LlxyXG4gICAgLy8gICovXHJcbiAgICAvLyBleGVjdXRlU3Aoc3A6IHN0cmluZywgaGVhZGVycz86IGFueSk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcclxuICAgIC8vICAgICAvLyBSZXRyaWV2ZSBoZWFkZXJzIGZvciB0aGUgcmVxdWVzdFxyXG4gICAgLy8gICAgIGNvbnN0IGhlYWRlciA9IGdldEhlYWRlcnMoaGVhZGVycyk7XHJcblxyXG4gICAgLy8gICAgIC8vIEV4ZWN1dGUgdGhlIHN0b3JlZCBwcm9jZWR1cmUgdXNpbmcgYSBQT1NUIHJlcXVlc3RcclxuICAgIC8vICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wb3N0KGAke0FQSS5yYXdTUUx9P3F1ZXJ5PSR7c3B9YCwge30sIGhlYWRlcikgYXMgT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT47XHJcbiAgICAvLyB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRXhlY3V0ZXMgYSBzdG9yZWQgcHJvY2VkdXJlIGJhc2VkIG9uIHRoZSBnaXZlbiBwYXJhbWV0ZXJzLlxyXG4gICAgICogQHBhcmFtIHBheWxvYWQgVGhlIHBheWxvYWQgY29udGFpbmluZyB0aGUgb2JqZWN0IG5hbWUsIG9iamVjdCB0eXBlLCBhbmQgcGFyYW1ldGVycyBmb3IgdGhlIHN0b3JlZCBwcm9jZWR1cmUuXHJcbiAgICAgKiBAcGFyYW0gaGVhZGVycyBPcHRpb25hbCBoZWFkZXJzIGZvciB0aGUgcmVxdWVzdC5cclxuICAgICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgb2YgdGhlIHJlc3BvbnNlIGZyb20gdGhlIEFQSS5cclxuICAgICAqL1xyXG4gICAgZXhlY3V0ZVN0b3JlZFByb2NlZHVyZShwYXlsb2FkOiBleGVjdXRlU3RvcmVkUHJvY2VkdXJlUGF5bG9hZCwgaGVhZGVycz86IGFueSk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcclxuICAgICAgICBcclxuICAgICAgICBoZWFkZXJzID0gZ2V0SGVhZGVycyhoZWFkZXJzKTtcclxuICAgICAgICBjb25zdCBwYXJhbWV0ZXJzOiBhbnkgPSBbXTtcclxuXHJcbiAgICAgICAgaWYgKHBheWxvYWQ/LlBhcmFtZXRlcnMgJiYgdHlwZW9mIHBheWxvYWQuUGFyYW1ldGVycyA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICAgICAgT2JqZWN0LmtleXMocGF5bG9hZC5QYXJhbWV0ZXJzKS5mb3JFYWNoKChrZXk6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICAgICAgcGFyYW1ldGVycy5wdXNoKHtcclxuICAgICAgICAgICAgICAgICAgICBuYW1lOiBrZXksXHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHBheWxvYWQuUGFyYW1ldGVyc1trZXldXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCByZXF1ZXN0Qm9keSA9IHtcclxuICAgICAgICAgICAgb2JqZWN0TmFtZTogcGF5bG9hZC5PYmplY3ROYW1lLFxyXG4gICAgICAgICAgICBvYmplY3RUeXBlOiBwYXlsb2FkLk9iamVjdFR5cGUsXHJcbiAgICAgICAgICAgIHBhcmFtZXRlcnNcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wb3N0VG9TZXJ2aWNlKFxyXG4gICAgICAgICAgICBBUElTZXJ2aWNlcy5jcnVkU2VydmljZSxcclxuICAgICAgICAgICAgQVBJLmRhdGFiYXNlRXhlY3V0ZSxcclxuICAgICAgICAgICAgcmVxdWVzdEJvZHksXHJcbiAgICAgICAgICAgIGhlYWRlcnNcclxuICAgICAgICApO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
230
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TabCrudService, decorators: [{
|
|
231
|
+
type: Injectable,
|
|
232
|
+
args: [{ providedIn: 'root' }]
|
|
233
|
+
}] });
|
|
234
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWNydWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9jcnVkL3RhYi1jcnVkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRyxPQUFPLEVBQWdDLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDMUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzFELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHM0YsT0FBTyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZ0JB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Q1osSUFBSSxFQUFFLEdBQUc7b0JBQ1QsS0FBSyxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO2lCQUNqQyxDQUFDLENBQUM7WUFDUCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7UUFFRCxNQUFNLFdBQVcsR0FBRztZQUNoQixVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVU7WUFDOUIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVO1lBQzlCLFVBQVU7U0FDYixDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FDakMsV0FBVyxDQUFDLFdBQVcsRUFDdkIsR0FBRyxDQUFDLGVBQWUsRUFDbkIsV0FBVyxFQUNYLE9BQU8sQ0FDVixDQUFDO0lBQ04sQ0FBQzsrR0F2UFEsY0FBYzttSEFBZCxjQUFjLGNBREQsTUFBTTs7NEZBQ25CLGNBQWM7a0JBRDFCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xyXG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDb21tb25BcGlSZXNwb25zZSwgQ3J1ZEJhc2VQYXlsb2FkLCBEZWxldGVQYXlsb2FkLCBleGVjdXRlU3RvcmVkUHJvY2VkdXJlUGF5bG9hZCwgR2V0UGF5bG9hZCwgSW5zZXJ0UGF5bG9hZCwgVXBkYXRlUGF5bG9hZCB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL2NvbW1vbi5pbnRlcmZhY2VcIjtcclxuaW1wb3J0IHsgQXBwT2JqZWN0TW9kZWwgfSBmcm9tIFwiLi4vbW9kZWxzL2FwcC1vYmplY3QubW9kZWxcIjtcclxuaW1wb3J0IHsgTWV0YWRhdGFIZWxwZXIgfSBmcm9tIFwiLi4vaGVscGVycy9jb21tb24vbWV0YS1kYXRhLmhlbHBlcnNcIjtcclxuaW1wb3J0IHsgZ2V0QnVsa0luc2VydEZpZWxkcywgZ2V0QnVsa0luc2VydFZhbHVlcywgcmVtb3ZlQmxhbmtWYWx1ZSB9IGZyb20gXCIuLi91dGlscy9qc29uLnV0aWxcIjtcclxuaW1wb3J0IHsgQVBJQnVsa0luc2VydEZpZWxkc1ZhbHVlU2V0cywgQVBJRmlsdGVyQ3JpdGVyaWEgfSBmcm9tIFwiLi4vbW9kZWxzL2FwaS1xdWVyeS5jbGFzc1wiO1xyXG5pbXBvcnQgeyBSZXF1ZXN0UmVzcG9uc2VIZWxwZXIgfSBmcm9tIFwiLi4vaGVscGVycy9jb21tb24vcmVxLXJlcy5oZWxwZXJzXCI7XHJcbmltcG9ydCB7IERTUUhlbHBlciB9IGZyb20gXCIuLi9oZWxwZXJzL2NvbW1vbi9kc3EuaGVscGVyc1wiO1xyXG5pbXBvcnQgeyBRdWVyeVR5cGUgfSBmcm9tIFwiLi4vZW51bXMvcXVlcnkuZW51bVwiO1xyXG5pbXBvcnQgeyBDb25qdW5jdGlvbkNsYXVzZSwgRmlsdGVyVmFsdWVUeXBlLCBSZWxhdGlvbmFsT3BlcmF0b3IgfSBmcm9tIFwiLi4vZW51bXMvZHNxLmVudW1cIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IERhdGFTb3VyY2VRdWVyeU1vZGVsIH0gZnJvbSBcIi4uL21vZGVscy9kYXRhLXNvdXJjZS1xdWVyeS5tb2RlbFwiO1xyXG5pbXBvcnQgeyBBUEksIEFQSVNlcnZpY2VzIH0gZnJvbSBcIi4uL2NvbnN0YW50cy9hcGktY29uc3RhbnRzXCI7XHJcbmltcG9ydCB7IGdldEhlYWRlcnMgfSBmcm9tIFwiLi4vdXRpbHMvcmVxLXJlcy51dGlsXCI7XHJcbmltcG9ydCB7IEFwaVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9odHRwLWNsaWVudC9hcGkuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBUYWJHZXRTZXJ2aWNlIH0gZnJvbSBcIi4vdGFiLWdldC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFRhYkluc2VydFNlcnZpY2UgfSBmcm9tIFwiLi90YWItaW5zZXJ0LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgVGFiVXBkYXRlU2VydmljZSB9IGZyb20gXCIuL3RhYi11cGRhdGUuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBUYWJEZWxldGVTZXJ2aWNlIH0gZnJvbSBcIi4vdGFiLWRlbGV0ZS5zZXJ2aWNlXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgVGFiQ3J1ZFNlcnZpY2Uge1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBfbWV0YWRhdGFIZWxwZXI6IE1ldGFkYXRhSGVscGVyID0gaW5qZWN0KE1ldGFkYXRhSGVscGVyKTtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3JlcXVlc3RSZXNwb25zZUhlbHBlcjogUmVxdWVzdFJlc3BvbnNlSGVscGVyID0gaW5qZWN0KFJlcXVlc3RSZXNwb25zZUhlbHBlcik7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kc3FIZWxwZXI6IERTUUhlbHBlciA9IGluamVjdChEU1FIZWxwZXIpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBfYXBpU2VydmljZSA9IGluamVjdChBcGlTZXJ2aWNlKTtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3RhYkdldFNlcnZpY2UgPSBpbmplY3QoVGFiR2V0U2VydmljZSk7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IF90YWJJbnNlcnRTZXJ2aWNlID0gaW5qZWN0KFRhYkluc2VydFNlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBfdGFiVXBkYXRlU2VydmljZSA9IGluamVjdChUYWJVcGRhdGVTZXJ2aWNlKTtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3RhYkRlbGV0ZVNlcnZpY2UgPSBpbmplY3QoVGFiRGVsZXRlU2VydmljZSk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRoZSBBcHBPYmplY3RNb2RlbCBmcm9tIHRoZSBnaXZlbiBwYXlsb2FkLlxyXG4gICAgICogQHBhcmFtIHBheWxvYWQgVGhlIHBheWxvYWQgd2l0aCBlaXRoZXIgZGF0YVNvdXJjZVF1ZXJ5SWRPck5hbWUgb3IgYXBwT2JqZWN0SWRPck5hbWUuXHJcbiAgICAgKiBAcmV0dXJucyBUaGUgQXBwT2JqZWN0TW9kZWwuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgZ2V0QXBwT2JqZWN0RnJvbVBheWxvYWQocGF5bG9hZDogQ3J1ZEJhc2VQYXlsb2FkKTogQXBwT2JqZWN0TW9kZWwge1xyXG4gICAgICAgIGxldCBhcHBPYmplY3Q7XHJcblxyXG4gICAgICAgIGlmIChwYXlsb2FkPy5kYXRhU291cmNlUXVlcnlJZE9yTmFtZSkge1xyXG4gICAgICAgICAgICAvLyBJZiBkYXRhU291cmNlUXVlcnlJZE9yTmFtZSBpcyBnaXZlbiwgZ2V0IHRoZSBBcHBPYmplY3RNb2RlbCBmcm9tIHRoZSBkYXRhIHNvdXJjZSBxdWVyeVxyXG4gICAgICAgICAgICBhcHBPYmplY3QgPSB0aGlzLl9tZXRhZGF0YUhlbHBlci5nZXREYXRhU291cmNlUXVlcnlCeUlkT3JOYW1lKHBheWxvYWQuZGF0YVNvdXJjZVF1ZXJ5SWRPck5hbWUpPy5wYXJlbnRBcHBPYmplY3Q7XHJcblxyXG4gICAgICAgIH0gZWxzZSBpZiAocGF5bG9hZD8uYXBwT2JqZWN0SWRPck5hbWUpIHtcclxuICAgICAgICAgICAgLy8gSWYgYXBwT2JqZWN0SWRPck5hbWUgaXMgZ2l2ZW4sIGdldCB0aGUgQXBwT2JqZWN0TW9kZWwgZGlyZWN0bHlcclxuICAgICAgICAgICAgYXBwT2JqZWN0ID0gdGhpcy5fbWV0YWRhdGFIZWxwZXIuZ2V0QXBwT2JqZWN0QnlJZE9yTmFtZShwYXlsb2FkLmFwcE9iamVjdElkT3JOYW1lKTtcclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIWFwcE9iamVjdD8uSUQpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdBcHBPYmplY3Qgbm90IGZvdW5kJyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gYXBwT2JqZWN0O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRmlsdGVycyBvdXQgaW52YWxpZCBmaWVsZHMgZnJvbSB0aGUgcHJvdmlkZWQgZGF0YSBiYXNlZCBvbiB0aGUgQXBwT2JqZWN0TW9kZWwuXHJcbiAgICAgKiBPcHRpb25hbGx5IHJldGFpbnMgcHJpbWFyeSBrZXkgZmllbGRzLlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gZGF0YSBUaGUgZGF0YSBvYmplY3QgdG8gZmlsdGVyLlxyXG4gICAgICogQHBhcmFtIGFwcE9iamVjdCBUaGUgQXBwT2JqZWN0TW9kZWwgdXNlZCB0byB2YWxpZGF0ZSB0aGUgZmllbGRzLlxyXG4gICAgICogQHBhcmFtIGtlZXBQcmltYXJ5S2V5IE9wdGlvbmFsIGZsYWcgdG8gcmV0YWluIHByaW1hcnkga2V5IGZpZWxkcy4gRGVmYXVsdHMgdG8gZmFsc2UuXHJcbiAgICAgKiBAcmV0dXJucyBBIG5ldyBvYmplY3Qgd2l0aCBvbmx5IHZhbGlkIGZpZWxkcy5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBmaWx0ZXJWYWxpZEFwcE9iamVjdEZpZWxkcyhkYXRhOiBhbnksIGFwcE9iamVjdDogQXBwT2JqZWN0TW9kZWwsIGtlZXBQcmltYXJ5S2V5ID0gZmFsc2UsIHJlbW92ZUVtcHR5VmFsdWVzID0gdHJ1ZSkge1xyXG4gICAgICAgIGlmICghZGF0YSB8fCB0eXBlb2YgZGF0YSAhPT0gJ29iamVjdCcpIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBkYXRhJyk7XHJcblxyXG4gICAgICAgIGNvbnN0IGZpbHRlcmVkRGF0YSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xyXG5cclxuICAgICAgICAvLyBSZW1vdmUgZmllbGRzIHdpdGggYmxhbmsgdmFsdWVzIChvbmx5IGZvciBpbnNlcnQsIG5vdCBmb3IgdXBkYXRlKVxyXG4gICAgICAgIGlmIChyZW1vdmVFbXB0eVZhbHVlcykge1xyXG4gICAgICAgICAgICByZW1vdmVCbGFua1ZhbHVlKGZpbHRlcmVkRGF0YSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBJdGVyYXRlIG92ZXIgZWFjaCBrZXkgaW4gdGhlIGZpbHRlcmVkIGRhdGFcclxuICAgICAgICBPYmplY3Qua2V5cyhmaWx0ZXJlZERhdGEpPy5mb3JFYWNoKChrZXkpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgYXBwRmllbGQgPSBhcHBPYmplY3QuZmllbGQoa2V5KTtcclxuICAgICAgICAgICAgY29uc3QgY2hpbGRGaWVsZCA9IGFwcE9iamVjdC5DaGlsZFJlbGF0aW9uU2hpcHM/LnNvbWUoKHgpID0+IHg/LmNoaWxkRGV0YWlscz8uTG9va3VwT2JqZWN0ID09PSBrZXkpO1xyXG5cclxuICAgICAgICAgICAgLy8gRGVsZXRlIHRoZSBmaWVsZCBpZiBpdCBpcyBub3QgdmFsaWQgb3IgaWYgcHJpbWFyeSBrZXlzIHNob3VsZCBub3QgYmUga2VwdFxyXG4gICAgICAgICAgICBpZiAoIShhcHBGaWVsZCB8fCBjaGlsZEZpZWxkKSB8fCAoIWtlZXBQcmltYXJ5S2V5ICYmIGFwcEZpZWxkPy5Jc1ByaW1hcnlLZXkpKSB7XHJcbiAgICAgICAgICAgICAgICBkZWxldGUgZmlsdGVyZWREYXRhW2tleV07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGZpbHRlcmVkRGF0YTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdlbmVyYXRlcyBhIHdoZXJlIGNsYXVzZSBiYXNlZCBvbiB0aGUgY3JpdGVyaWEgcHJvdmlkZWQuXHJcbiAgICAgKlxyXG4gICAgICogU3VwcG9ydHMgdHdvIGZvcm1hdHMgZm9yIGNyaXRlcmlhOlxyXG4gICAgICogLSAqKk9iamVjdCoqIGB7IElkOiAneHh4JyB9YCDigJQgYXV0by1idWlsZHMgRXF1YWxUbyBmaWx0ZXJzIGZvciBlYWNoIGtleS12YWx1ZSBwYWlyLlxyXG4gICAgICogLSAqKkFycmF5KiogYFt7IENvbmp1bmN0aW9uQ2xhdXNlLCBGaWVsZElELCBSZWxhdGlvbmFsT3BlcmF0b3IsIFZhbHVlVHlwZSwgVmFsdWUsIC4uLiB9XWAg4oCUIHVzZXMgZmlsdGVycyBkaXJlY3RseSBhcyBwcm92aWRlZC5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gY3JpdGVyaWEgVGhlIGNyaXRlcmlhIG9iamVjdCBvciBmaWx0ZXIgYXJyYXkgdG8gZ2VuZXJhdGUgdGhlIHdoZXJlIGNsYXVzZSBmcm9tLlxyXG4gICAgICogQHBhcmFtIGNydWRUYWJsZU5hbWUgVGhlIENSVUQgdGFibGUgbmFtZSB0byB1c2UgaW4gdGhlIHdoZXJlIGNsYXVzZS5cclxuICAgICAqIEBwYXJhbSBwcm92aWRlRW1wdHlXaGVyZUNsYXVzZSBJZiB0cnVlLCBhbGxvd3MgZW1wdHkgY3JpdGVyaWEuXHJcbiAgICAgKiBAcmV0dXJucyBBIG5ldyBBUElGaWx0ZXJDcml0ZXJpYSBvYmplY3Qgd2l0aCB0aGUgZ2VuZXJhdGVkIHdoZXJlIGNsYXVzZS5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBnZW5lcmF0ZVdoZXJlQ2xhdXNlKGNyaXRlcmlhOiBhbnksIGNydWRUYWJsZU5hbWU6IHN0cmluZywgcHJvdmlkZUVtcHR5V2hlcmVDbGF1c2UgPSBmYWxzZSk6IEFQSUZpbHRlckNyaXRlcmlhIHtcclxuICAgICAgICBpZiAoIXByb3ZpZGVFbXB0eVdoZXJlQ2xhdXNlICYmICghY3JpdGVyaWEgfHwgKHR5cGVvZiBjcml0ZXJpYSAhPT0gJ29iamVjdCcgJiYgIUFycmF5LmlzQXJyYXkoY3JpdGVyaWEpKSkpIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBjcml0ZXJpYScpO1xyXG5cclxuICAgICAgICAvLyBDcmVhdGUgYSBuZXcgQVBJRmlsdGVyQ3JpdGVyaWEgb2JqZWN0XHJcbiAgICAgICAgY29uc3Qgd2hlcmVDbGF1c2UgPSBuZXcgQVBJRmlsdGVyQ3JpdGVyaWEoKTtcclxuICAgICAgICB3aGVyZUNsYXVzZS5maWx0ZXJzID0gW107XHJcblxyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGNyaXRlcmlhKSkge1xyXG4gICAgICAgICAgICAvLyBSaWNoIGZpbHRlciBhcnJheSDigJQgdXNlIGRpcmVjdGx5IGFzIHByb3ZpZGVkXHJcbiAgICAgICAgICAgIHdoZXJlQ2xhdXNlLmZpbHRlcnMgPSBjcml0ZXJpYTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBQbGFpbiBvYmplY3Qg4oCUIGF1dG8tYnVpbGQgRXF1YWxUbyBmaWx0ZXJzIGZvciBlYWNoIGtleS12YWx1ZSBwYWlyXHJcbiAgICAgICAgICAgIHJlbW92ZUJsYW5rVmFsdWUoY3JpdGVyaWEpO1xyXG5cclxuICAgICAgICAgICAgT2JqZWN0LmtleXMoY3JpdGVyaWEpPy5mb3JFYWNoKChrZXk6IGFueSwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyID0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbmp1bmN0aW9uOiBDb25qdW5jdGlvbkNsYXVzZS5BTkQsIC8vIGNvbmp1Y3Rpb24gY2xhdXNlIGlzIEFORCBieSBkZWZhdWx0XHJcbiAgICAgICAgICAgICAgICAgICAgZmllbGROYW1lOiBjcnVkVGFibGVOYW1lICsgJy4nICsga2V5LCAvLyBmaWVsZCBuYW1lXHJcbiAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6IFJlbGF0aW9uYWxPcGVyYXRvci5FcXVhbFRvLCAvLyByZWxhdGlvbmFsIG9wZXJhdG9yIGlzIEVxdWFsVG8gYnkgZGVmYXVsdFxyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlVHlwZTogRmlsdGVyVmFsdWVUeXBlLkxpdGVyYWwsIC8vIHZhbHVlIHR5cGUgaXMgTGl0ZXJhbCBieSBkZWZhdWx0XHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGNyaXRlcmlhW2tleV0sIC8vIHNldCB0aGUgdmFsdWUgb2YgdGhlIGZpbHRlclxyXG4gICAgICAgICAgICAgICAgICAgIHNlcXVlbmNlOiBpbmRleCArIDEsIC8vIHNldCB0aGUgc2VxdWVuY2Ugc3RhcnRpbmcgZnJvbSAxXHJcbiAgICAgICAgICAgICAgICAgICAgZ3JvdXBJZDogMCAvLyBzZXQgdGhlIGdyb3VwIElEIHRvIDAgYnkgZGVmYXVsdFxyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgIHdoZXJlQ2xhdXNlLmZpbHRlcnMucHVzaChmaWx0ZXIpOyAvLyBhZGQgdGhlIGZpbHRlciB0byB0aGUgYXJyYXkgb2YgZmlsdGVyc1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIFNldCB0aGUgZmlsdGVyIGxvZ2ljIHRvICcxJ1xyXG4gICAgICAgIHdoZXJlQ2xhdXNlLmZpbHRlckxvZ2ljID0gJzEnO1xyXG5cclxuICAgICAgICAvLyBSZXR1cm4gdGhlIGdlbmVyYXRlZCB3aGVyZSBjbGF1c2VcclxuICAgICAgICByZXR1cm4gd2hlcmVDbGF1c2U7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFeGVjdXRlcyBhIEdFVCByZXF1ZXN0IHRvIHJldHJpZXZlIGRhdGEgZnJvbSB0aGUgc3BlY2lmaWVkIGRhdGEgc291cmNlIHF1ZXJ5LlxyXG4gICAgICogQHBhcmFtIHBheWxvYWQgVGhlIHBheWxvYWQgY29udGFpbmluZyB0aGUgY3JpdGVyaWEgZm9yIHRoZSBxdWVyeSBhbmQgdGhlIEFwcE9iamVjdE1vZGVsIElELlxyXG4gICAgICogQHBhcmFtIGhlYWRlcnMgT3B0aW9uYWwgaGVhZGVycyBmb3IgdGhlIHJlcXVlc3QuXHJcbiAgICAgKiBAcmV0dXJucyBBbiBvYnNlcnZhYmxlIG9mIHRoZSByZXNwb25zZSBmcm9tIHRoZSBBUEkuXHJcbiAgICAgKi9cclxuICAgIGdldChwYXlsb2FkOiBHZXRQYXlsb2FkLCBoZWFkZXJzPzogYW55KTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xyXG4gICAgICAgIC8vIEdldCB0aGUgQXBwT2JqZWN0TW9kZWwgZnJvbSB0aGUgcGF5bG9hZFxyXG4gICAgICAgIGNvbnN0IGFwcE9iamVjdDogQXBwT2JqZWN0TW9kZWwgPSB0aGlzLmdldEFwcE9iamVjdEZyb21QYXlsb2FkKHBheWxvYWQpO1xyXG5cclxuICAgICAgICAvLyBHZXQgdGhlIERhdGFTb3VyY2VRdWVyeU1vZGVsIGZyb20gdGhlIEFwcE9iamVjdE1vZGVsXHJcbiAgICAgICAgY29uc3QgZHNxOiBEYXRhU291cmNlUXVlcnlNb2RlbCB8IHVuZGVmaW5lZCA9IGFwcE9iamVjdC5kYXRhU291cmNlUXVlcnkocGF5bG9hZC5kYXRhU291cmNlUXVlcnlJZE9yTmFtZSk7XHJcblxyXG4gICAgICAgIC8vIFZhbGlkYXRlIHRoZSBBcHBPYmplY3RNb2RlbCBhbmQgRGF0YVNvdXJjZVF1ZXJ5TW9kZWxcclxuICAgICAgICBpZiAoIWFwcE9iamVjdCB8fCAhZHNxKSB0aHJvdyBuZXcgRXJyb3IoJ0FwcE9iamVjdCBvciBEYXRhU291cmNlUXVlcnkgbm90IGZvdW5kJyk7XHJcblxyXG4gICAgICAgIC8vIFVzZSBUYWJHZXRTZXJ2aWNlLmV4ZWN1dGVSQVdEU1FXaXRoTmFtZSB0byBhdm9pZCBjb2RlIGR1cGxpY2F0aW9uXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RhYkdldFNlcnZpY2UuZXhlY3V0ZVJBV0RTUVdpdGhOYW1lKHtcclxuICAgICAgICAgICAgQXBwT2JqZWN0TmFtZTogYXBwT2JqZWN0Lk9iamVjdE5hbWUsXHJcbiAgICAgICAgICAgIERTUU5hbWU6IGRzcS5RdWVyeU5hbWUsXHJcbiAgICAgICAgICAgIC4uLnBheWxvYWQuY3JpdGVyaWFcclxuICAgICAgICB9LCBoZWFkZXJzKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEluc2VydHMgZGF0YSBpbnRvIHRoZSBzcGVjaWZpZWQgdGFibGUuXHJcbiAgICAgKiBORVc6IERlbGVnYXRlcyB0byBUYWJJbnNlcnRTZXJ2aWNlIHdoaWNoIHVzZXMgL3JlY29yZHMvaW5zZXJ0IGVuZHBvaW50IHdpdGggU1lOQy9BU1lOQyBzdXBwb3J0XHJcbiAgICAgKiBAcGFyYW0gcGF5bG9hZCBUaGUgcGF5bG9hZCBjb250YWluaW5nIHRoZSBkYXRhIHRvIGluc2VydCBhbmQgdGhlIEFwcE9iamVjdE1vZGVsIElELlxyXG4gICAgICogQHBhcmFtIGhlYWRlcnMgT3B0aW9uYWwgaGVhZGVycyBmb3IgdGhlIHJlcXVlc3QuXHJcbiAgICAgKiBAcmV0dXJucyBBbiBvYnNlcnZhYmxlIG9mIHRoZSByZXNwb25zZSBmcm9tIHRoZSBBUEkgKHJldHVybnMgaW5zZXJ0ZWRJZCBvbmx5KS5cclxuICAgICAqL1xyXG4gICAgaW5zZXJ0KHBheWxvYWQ6IEluc2VydFBheWxvYWQsIGhlYWRlcnM/OiBhbnkpOiBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPiB7XHJcbiAgICAgICAgY29uc3QgYXBwT2JqZWN0OiBBcHBPYmplY3RNb2RlbCA9IHRoaXMuZ2V0QXBwT2JqZWN0RnJvbVBheWxvYWQocGF5bG9hZCk7XHJcblxyXG4gICAgICAgIC8vIERlbGVnYXRlIHRvIFRhYkluc2VydFNlcnZpY2UgLSBpdCBoYW5kbGVzIG5ldyBBUEkgd2l0aCBTWU5DL0FTWU5DIGF1dG9tYXRpY2FsbHlcclxuICAgICAgICByZXR1cm4gdGhpcy5fdGFiSW5zZXJ0U2VydmljZS5pbnNlcnRCeU9iamVjdElkKGFwcE9iamVjdC5JRCwgeyBkYXRhOiBwYXlsb2FkLmRhdGEgfSwgaGVhZGVycykgYXMgT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT47XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGJ1bGtJbnNlcnQocGF5bG9hZDogSW5zZXJ0UGF5bG9hZCwgaGVhZGVycz86IGFueSk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcclxuICAgICAgICBjb25zdCBhcHBPYmplY3Q6IEFwcE9iamVjdE1vZGVsID0gdGhpcy5nZXRBcHBPYmplY3RGcm9tUGF5bG9hZChwYXlsb2FkKTtcclxuICAgICAgICAvLyBDcmVhdGUgYSB3aGVyZSBjbGF1c2UgZm9yIHRoZSBpbnNlcnQgb3BlcmF0aW9uXHJcbiAgICAgICAgY29uc3Qgd2hlcmVDbGF1c2U6IEFQSUZpbHRlckNyaXRlcmlhID0gdGhpcy5nZW5lcmF0ZVdoZXJlQ2xhdXNlKHt9LCBhcHBPYmplY3QuU3lzdGVtREJUYWJsZU5hbWUsIHRydWUpO1xyXG5cclxuICAgICAgICAvLyBUcmFuc2Zvcm0gdGhlIGRhdGEgaW50byB0aGUgZm9ybWF0IHJlcXVpcmVkIGJ5IHRoZSBBUElcclxuICAgICAgICBjb25zdCB0cmFuc2Zvcm1lZEZpZWxkczogc3RyaW5nW10gPSBnZXRCdWxrSW5zZXJ0RmllbGRzKHBheWxvYWQuZGF0YSk7XHJcbiAgICAgICAgY29uc3QgdHJhbnNmb3JtZWRWYWx1ZXM6IEFQSUJ1bGtJbnNlcnRGaWVsZHNWYWx1ZVNldHNbXSA9IGdldEJ1bGtJbnNlcnRWYWx1ZXMocGF5bG9hZC5kYXRhKTtcclxuICAgICAgICAvLyBHZW5lcmF0ZSB0aGUgcGF5bG9hZCBmb3IgdGhlIEFQSSByZXF1ZXN0XHJcbiAgICAgICAgY29uc3QgYXBpUGF5bG9hZCA9IHRoaXMuX3JlcXVlc3RSZXNwb25zZUhlbHBlci5idWxrSW5zZXJ0UGF5bG9hZChhcHBPYmplY3QuU3lzdGVtREJUYWJsZU5hbWUsIHdoZXJlQ2xhdXNlLCB0cmFuc2Zvcm1lZFZhbHVlcywgdHJhbnNmb3JtZWRGaWVsZHMpO1xyXG4gICAgICAgIC8vIEV4ZWN1dGUgdGhlIHF1ZXJ5XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RzcUhlbHBlci5leGVjdXRlUXVlcnkoYXBpUGF5bG9hZCwgUXVlcnlUeXBlLkJ1bGtJbnNlcnQsIGhlYWRlcnMpIGFzIE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+O1xyXG4gICAgfVxyXG4gICAgLyoqXHJcbiAgICAgKiBVcGRhdGVzIGRhdGEgaW4gdGhlIHNwZWNpZmllZCB0YWJsZS5cclxuICAgICAqIE5FVzogRGVsZWdhdGVzIHRvIFRhYlVwZGF0ZVNlcnZpY2Ugd2hpY2ggdXNlcyAvcmVjb3Jkcy91cGRhdGUgZW5kcG9pbnQgd2l0aCBTWU5DL0FTWU5DIHN1cHBvcnRcclxuICAgICAqIEBwYXJhbSBwYXlsb2FkIFRoZSBwYXlsb2FkIGNvbnRhaW5pbmcgdGhlIGRhdGEgdG8gdXBkYXRlLCB0aGUgY3JpdGVyaWEgZm9yIHRoZSB1cGRhdGUsIGFuZCB0aGUgQXBwT2JqZWN0TW9kZWwgSUQuXHJcbiAgICAgKiBAcGFyYW0gaGVhZGVycyBPcHRpb25hbCBoZWFkZXJzIGZvciB0aGUgcmVxdWVzdC5cclxuICAgICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgb2YgdGhlIHJlc3BvbnNlIGZyb20gdGhlIEFQSS5cclxuICAgICAqL1xyXG4gICAgdXBkYXRlKHBheWxvYWQ6IFVwZGF0ZVBheWxvYWQsIGhlYWRlcnM/OiBhbnkpOiBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPiB7XHJcbiAgICAgICAgY29uc3QgYXBwT2JqZWN0OiBBcHBPYmplY3RNb2RlbCA9IHRoaXMuZ2V0QXBwT2JqZWN0RnJvbVBheWxvYWQocGF5bG9hZCk7XHJcblxyXG4gICAgICAgIC8vIElmIGNhbGxlciBwcm92aWRlZCBleHBsaWNpdCBjcml0ZXJpYSwgYnVpbGQgdGhlIHdoZXJlQ2xhdXNlIGFuZCBwYXNzIGl0IHRocm91Z2guXHJcbiAgICAgICAgLy8gT3RoZXJ3aXNlLCBUYWJVcGRhdGVTZXJ2aWNlIGZhbGxzIGJhY2sgdG8gZXh0cmFjdGluZyB0aGUgcHJpbWFyeSBrZXkgZnJvbSBkYXRhLlxyXG4gICAgICAgIGxldCBjdXN0b21XaGVyZUNsYXVzZTogQVBJRmlsdGVyQ3JpdGVyaWEgfCB1bmRlZmluZWQ7XHJcbiAgICAgICAgaWYgKHBheWxvYWQuY3JpdGVyaWEpIHtcclxuICAgICAgICAgICAgY29uc3QgYnVpbHQgPSB0aGlzLmdlbmVyYXRlV2hlcmVDbGF1c2UocGF5bG9hZC5jcml0ZXJpYSwgYXBwT2JqZWN0LlN5c3RlbURCVGFibGVOYW1lKTtcclxuICAgICAgICAgICAgaWYgKGJ1aWx0Py5maWx0ZXJzPy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgIGN1c3RvbVdoZXJlQ2xhdXNlID0gYnVpbHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLl90YWJVcGRhdGVTZXJ2aWNlLnVwZGF0ZUJ5T2JqZWN0SWQoXHJcbiAgICAgICAgICAgIGFwcE9iamVjdC5JRCxcclxuICAgICAgICAgICAgeyBkYXRhOiBwYXlsb2FkLmRhdGEgfSxcclxuICAgICAgICAgICAgaGVhZGVycyxcclxuICAgICAgICAgICAgY3VzdG9tV2hlcmVDbGF1c2VcclxuICAgICAgICApIGFzIE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGVsZXRlcyBkYXRhIGZyb20gdGhlIHNwZWNpZmllZCB0YWJsZS5cclxuICAgICAqIE5FVzogRGVsZWdhdGVzIHRvIFRhYkRlbGV0ZVNlcnZpY2Ugd2hpY2ggdXNlcyAvcmVjb3Jkcy9kZWxldGUgZW5kcG9pbnQgd2l0aCBTWU5DL0FTWU5DIHN1cHBvcnRcclxuICAgICAqIEBwYXJhbSBwYXlsb2FkIFRoZSBwYXlsb2FkIGNvbnRhaW5pbmcgdGhlIGNyaXRlcmlhIGZvciB0aGUgZGVsZXRlIGFuZCB0aGUgQXBwT2JqZWN0TW9kZWwgSUQuXHJcbiAgICAgKiBAcGFyYW0gaGVhZGVycyBPcHRpb25hbCBoZWFkZXJzIGZvciB0aGUgcmVxdWVzdC5cclxuICAgICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgb2YgdGhlIHJlc3BvbnNlIGZyb20gdGhlIEFQSS5cclxuICAgICAqL1xyXG4gICAgZGVsZXRlKHBheWxvYWQ6IERlbGV0ZVBheWxvYWQsIGhlYWRlcnM/OiBhbnkpOiBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPiB7XHJcbiAgICAgICAgY29uc3QgYXBwT2JqZWN0OiBBcHBPYmplY3RNb2RlbCA9IHRoaXMuZ2V0QXBwT2JqZWN0RnJvbVBheWxvYWQocGF5bG9hZCk7XHJcblxyXG4gICAgICAgIC8vIEdlbmVyYXRlIGEgd2hlcmUgY2xhdXNlIGJhc2VkIG9uIHRoZSBjcml0ZXJpYSBwcm92aWRlZFxyXG4gICAgICAgIGNvbnN0IHdoZXJlQ2xhdXNlOiBBUElGaWx0ZXJDcml0ZXJpYSA9IHRoaXMuZ2VuZXJhdGVXaGVyZUNsYXVzZShwYXlsb2FkLmNyaXRlcmlhLCBhcHBPYmplY3QuU3lzdGVtREJUYWJsZU5hbWUpO1xyXG4gICAgICAgIGlmICghd2hlcmVDbGF1c2U/LmZpbHRlcnM/Lmxlbmd0aCkgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGNyaXRlcmlhJyk7XHJcblxyXG4gICAgICAgIC8vIEdlbmVyYXRlIHRoZSBwYXlsb2FkIGZvciB0aGUgQVBJIHJlcXVlc3QgKE5FVyBmb3JtYXQ6IHsgZW50aXR5TmFtZSwgd2hlcmVDbGF1c2UgfSlcclxuICAgICAgICBjb25zdCBhcGlQYXlsb2FkID0gdGhpcy5fcmVxdWVzdFJlc3BvbnNlSGVscGVyLmRlbGV0ZVBheWxvYWQoYXBwT2JqZWN0LlN5c3RlbURCVGFibGVOYW1lLCB3aGVyZUNsYXVzZSk7XHJcblxyXG4gICAgICAgIC8vIERlbGVnYXRlIHRvIFRhYkRlbGV0ZVNlcnZpY2UgLSBpdCBoYW5kbGVzIG5ldyBBUEkgd2l0aCBTWU5DL0FTWU5DIGF1dG9tYXRpY2FsbHlcclxuICAgICAgICByZXR1cm4gdGhpcy5fdGFiRGVsZXRlU2VydmljZS5kZWxldGUoYXBpUGF5bG9hZCwgaGVhZGVycyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFeGVjdXRlcyBhIHN0b3JlZCBwcm9jZWR1cmUgYmFzZWQgb24gdGhlIGdpdmVuIHBhcmFtZXRlcnMuXHJcbiAgICAgKiBAcGFyYW0gcGF5bG9hZCBUaGUgcGF5bG9hZCBjb250YWluaW5nIHRoZSBvYmplY3QgbmFtZSwgb2JqZWN0IHR5cGUsIGFuZCBwYXJhbWV0ZXJzIGZvciB0aGUgc3RvcmVkIHByb2NlZHVyZS5cclxuICAgICAqIEBwYXJhbSBoZWFkZXJzIE9wdGlvbmFsIGhlYWRlcnMgZm9yIHRoZSByZXF1ZXN0LlxyXG4gICAgICogQHJldHVybnMgQW4gb2JzZXJ2YWJsZSBvZiB0aGUgcmVzcG9uc2UgZnJvbSB0aGUgQVBJLlxyXG4gICAgICovXHJcbiAgICBleGVjdXRlU3RvcmVkUHJvY2VkdXJlKHBheWxvYWQ6IGV4ZWN1dGVTdG9yZWRQcm9jZWR1cmVQYXlsb2FkLCBoZWFkZXJzPzogYW55KTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xyXG4gICAgICAgIFxyXG4gICAgICAgIGhlYWRlcnMgPSBnZXRIZWFkZXJzKGhlYWRlcnMpO1xyXG4gICAgICAgIGNvbnN0IHBhcmFtZXRlcnM6IGFueSA9IFtdO1xyXG5cclxuICAgICAgICBpZiAocGF5bG9hZD8uUGFyYW1ldGVycyAmJiB0eXBlb2YgcGF5bG9hZC5QYXJhbWV0ZXJzID09PSAnb2JqZWN0Jykge1xyXG4gICAgICAgICAgICBPYmplY3Qua2V5cyhwYXlsb2FkLlBhcmFtZXRlcnMpLmZvckVhY2goKGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IGtleSxcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogcGF5bG9hZC5QYXJhbWV0ZXJzW2tleV1cclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHJlcXVlc3RCb2R5ID0ge1xyXG4gICAgICAgICAgICBvYmplY3ROYW1lOiBwYXlsb2FkLk9iamVjdE5hbWUsXHJcbiAgICAgICAgICAgIG9iamVjdFR5cGU6IHBheWxvYWQuT2JqZWN0VHlwZSxcclxuICAgICAgICAgICAgcGFyYW1ldGVyc1xyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnBvc3RUb1NlcnZpY2UoXHJcbiAgICAgICAgICAgIEFQSVNlcnZpY2VzLmNydWRTZXJ2aWNlLFxyXG4gICAgICAgICAgICBBUEkuZGF0YWJhc2VFeGVjdXRlLFxyXG4gICAgICAgICAgICByZXF1ZXN0Qm9keSxcclxuICAgICAgICAgICAgaGVhZGVyc1xyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn1cclxuIl19
|