@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.
Files changed (82) hide show
  1. package/README.md +7 -0
  2. package/esm2022/index.mjs +11 -10
  3. package/esm2022/lib/tab-core-utility/app/constants/api-constants.mjs +2 -10
  4. package/esm2022/lib/tab-core-utility/app/constants/common.mjs +16 -1
  5. package/esm2022/lib/tab-core-utility/app/crud/tab-blueprint.service.mjs +7 -7
  6. package/esm2022/lib/tab-core-utility/app/crud/tab-crud.service.mjs +45 -39
  7. package/esm2022/lib/tab-core-utility/app/crud/tab-delete.service.mjs +14 -18
  8. package/esm2022/lib/tab-core-utility/app/crud/tab-formio.service.mjs +9 -9
  9. package/esm2022/lib/tab-core-utility/app/crud/tab-get.service.mjs +62 -206
  10. package/esm2022/lib/tab-core-utility/app/crud/tab-insert.service.mjs +11 -12
  11. package/esm2022/lib/tab-core-utility/app/crud/tab-release.service.mjs +7 -7
  12. package/esm2022/lib/tab-core-utility/app/crud/tab-update.service.mjs +36 -22
  13. package/esm2022/lib/tab-core-utility/app/crud/tab-workflow.service.mjs +7 -7
  14. package/esm2022/lib/tab-core-utility/app/enums/dsq.enum.mjs +13 -13
  15. package/esm2022/lib/tab-core-utility/app/helpers/auth-response.adapter.mjs +31 -6
  16. package/esm2022/lib/tab-core-utility/app/helpers/common/app.helpers.mjs +12 -13
  17. package/esm2022/lib/tab-core-utility/app/helpers/common/dsq.helpers.mjs +7 -7
  18. package/esm2022/lib/tab-core-utility/app/helpers/common/meta-data.helpers.mjs +11 -7
  19. package/esm2022/lib/tab-core-utility/app/helpers/common/req-res.helpers.mjs +15 -27
  20. package/esm2022/lib/tab-core-utility/app/helpers/common/template.helpers.mjs +7 -7
  21. package/esm2022/lib/tab-core-utility/app/helpers/common/user-personalization.helper.mjs +7 -7
  22. package/esm2022/lib/tab-core-utility/app/helpers/common/where-clause.helpers.mjs +14 -59
  23. package/esm2022/lib/tab-core-utility/app/helpers/login-response.adapter.mjs +31 -6
  24. package/esm2022/lib/tab-core-utility/app/helpers/screen/forms.helpers.mjs +7 -7
  25. package/esm2022/lib/tab-core-utility/app/helpers/screen/grid-column-data.helpers.mjs +7 -7
  26. package/esm2022/lib/tab-core-utility/app/helpers/screen/grid.helpers.mjs +12 -96
  27. package/esm2022/lib/tab-core-utility/app/helpers/screen/media-upload.helpers.mjs +7 -7
  28. package/esm2022/lib/tab-core-utility/app/helpers/screen/plugin.helpers.mjs +7 -7
  29. package/esm2022/lib/tab-core-utility/app/helpers/screen/screen.helpers.mjs +7 -15
  30. package/esm2022/lib/tab-core-utility/app/interfaces/auth.interface.mjs +1 -1
  31. package/esm2022/lib/tab-core-utility/app/models/api-query.class.mjs +36 -64
  32. package/esm2022/lib/tab-core-utility/app/models/app-object.class.mjs +1 -27
  33. package/esm2022/lib/tab-core-utility/app/models/app-screen.model.mjs +4 -4
  34. package/esm2022/lib/tab-core-utility/app/models/data-source-queries.class.mjs +1 -22
  35. package/esm2022/lib/tab-core-utility/app/models/data-source-query.model.mjs +4 -4
  36. package/esm2022/lib/tab-core-utility/app/models/filter.model.mjs +16 -18
  37. package/esm2022/lib/tab-core-utility/app/models/sort.model.mjs +9 -13
  38. package/esm2022/lib/tab-core-utility/app/utils/filter.util.mjs +3 -3
  39. package/esm2022/lib/tab-core-utility/app/utils/req-res.util.mjs +1 -13
  40. package/esm2022/lib/tab-core-utility/app/utils/select-query.util.mjs +107 -0
  41. package/esm2022/lib/tab-core-utility/app/utils/tab-app.util.mjs +8 -5
  42. package/esm2022/lib/tab-core-utility/auth/auth.service.mjs +8 -9
  43. package/esm2022/lib/tab-core-utility/auth/idb-storage.service.mjs +7 -7
  44. package/esm2022/lib/tab-core-utility/auth/local-storage.service.mjs +7 -7
  45. package/esm2022/lib/tab-core-utility/auth/session-storage.service.mjs +7 -7
  46. package/esm2022/lib/tab-core-utility/core/http-client/api.service.mjs +7 -7
  47. package/esm2022/lib/tab-core-utility/core/pipe/translate.pipe.mjs +11 -11
  48. package/esm2022/lib/tab-core-utility/core/service/confirmation.service.mjs +9 -9
  49. package/esm2022/lib/tab-core-utility/core/service/encryption.service.mjs +7 -7
  50. package/esm2022/lib/tab-core-utility/core/service/notification.service.mjs +9 -9
  51. package/esm2022/lib/tab-core-utility/core/service/signalr/operation-tracker.service.mjs +7 -7
  52. package/esm2022/lib/tab-core-utility/core/service/signalr/signalr-infrastructure.service.mjs +9 -9
  53. package/esm2022/lib/tab-core-utility/core/service/signalr/signalr.service.mjs +9 -9
  54. package/esm2022/lib/tab-core-utility/core/service/translation.service.mjs +9 -9
  55. package/index.d.ts +10 -1
  56. package/lib/tab-core-utility/app/constants/api-constants.d.ts +0 -4
  57. package/lib/tab-core-utility/app/constants/common.d.ts +15 -1
  58. package/lib/tab-core-utility/app/crud/tab-crud.service.d.ts +6 -1
  59. package/lib/tab-core-utility/app/crud/tab-get.service.d.ts +16 -67
  60. package/lib/tab-core-utility/app/crud/tab-update.service.d.ts +3 -1
  61. package/lib/tab-core-utility/app/enums/dsq.enum.d.ts +2 -2
  62. package/lib/tab-core-utility/app/helpers/auth-response.adapter.d.ts +2 -0
  63. package/lib/tab-core-utility/app/helpers/common/app.helpers.d.ts +4 -1
  64. package/lib/tab-core-utility/app/helpers/common/meta-data.helpers.d.ts +1 -0
  65. package/lib/tab-core-utility/app/helpers/common/req-res.helpers.d.ts +0 -17
  66. package/lib/tab-core-utility/app/helpers/common/where-clause.helpers.d.ts +0 -18
  67. package/lib/tab-core-utility/app/helpers/login-response.adapter.d.ts +2 -0
  68. package/lib/tab-core-utility/app/helpers/screen/grid.helpers.d.ts +0 -53
  69. package/lib/tab-core-utility/app/helpers/screen/screen.helpers.d.ts +0 -6
  70. package/lib/tab-core-utility/app/interfaces/auth.interface.d.ts +1 -2
  71. package/lib/tab-core-utility/app/models/api-query.class.d.ts +84 -94
  72. package/lib/tab-core-utility/app/models/app-object.class.d.ts +2 -65
  73. package/lib/tab-core-utility/app/models/data-source-queries.class.d.ts +2 -71
  74. package/lib/tab-core-utility/app/models/filter.model.d.ts +9 -11
  75. package/lib/tab-core-utility/app/models/sort.model.d.ts +5 -7
  76. package/lib/tab-core-utility/app/utils/filter.util.d.ts +2 -2
  77. package/lib/tab-core-utility/app/utils/req-res.util.d.ts +0 -8
  78. package/lib/tab-core-utility/app/utils/select-query.util.d.ts +24 -0
  79. package/lib/tab-core-utility/app/utils/tab-app.util.d.ts +3 -3
  80. package/package.json +1 -3
  81. package/esm2022/lib/tab-core-utility/app/enums/workflow.enum.mjs +0 -37
  82. package/lib/tab-core-utility/app/enums/workflow.enum.d.ts +0 -30
package/README.md ADDED
@@ -0,0 +1,7 @@
1
+ # tab-core-utility
2
+
3
+ This library was generated with [Nx](https://nx.dev).
4
+
5
+ ## Running unit tests
6
+
7
+ Run `nx test tab-core-utility` to execute the unit tests.
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: 'identity/Refresh',
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9jb25zdGFudHMvYXBpLWNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUc7SUFDakIscUJBQXFCLEVBQUUsY0FBYyxFQUFFLFNBQVM7SUFDaEQsMkJBQTJCLEVBQUUsY0FBYyxFQUFFLE1BQU07SUFDbkQsa0RBQWtEO0lBQ2xELDhDQUE4QztJQUM5QyxjQUFjLEVBQUUsa0NBQWtDO0lBQ2xELGFBQWEsRUFBRSxpQ0FBaUM7SUFFaEQsVUFBVSxFQUFFLGlCQUFpQjtJQUM3QixNQUFNLEVBQUUsYUFBYTtJQUNyQixNQUFNLEVBQUUsUUFBUTtJQUNoQixRQUFRLEVBQUUsV0FBVztJQUNyQixRQUFRLEVBQUUsc0JBQXNCO0lBQ2hDLGNBQWMsRUFBRSxpQkFBaUI7SUFDakMsS0FBSyxFQUFFLFlBQVk7SUFDbkIsWUFBWSxFQUFFLGdCQUFnQjtJQUM5QixPQUFPLEVBQUUscUJBQXFCO0lBQzlCLGtCQUFrQixFQUFFLGdCQUFnQjtJQUNwQyxhQUFhLEVBQUUsZ0JBQWdCO0lBQy9CLFVBQVUsRUFBRSx3QkFBd0I7SUFDcEMsU0FBUyxFQUFFLFdBQVc7SUFDdEIseUJBQXlCO0lBQ3pCLFVBQVUsRUFBRSxhQUFhO0lBQ3pCLHFCQUFxQixFQUFFLHdCQUF3QjtJQUMvQyxVQUFVLEVBQUUsaUJBQWlCO0lBQzdCLFlBQVksRUFBRSxjQUFjO0lBQzVCLGVBQWUsRUFBRSxrQkFBa0I7SUFDbkMsY0FBYyxFQUFFLHlCQUF5QjtJQUN6QyxZQUFZLEVBQUUsd0JBQXdCO0lBQ3RDLFFBQVEsRUFBRSxlQUFlO0lBQ3pCLFVBQVUsRUFBRSxhQUFhO0lBQ3pCLFVBQVUsRUFBRSxtQkFBbUI7SUFDL0IsY0FBYyxFQUFFLHVCQUF1QjtJQUN2QyxlQUFlLEVBQUUsa0JBQWtCO0lBQ25DLFlBQVksRUFBRSxlQUFlO0lBQzdCLGdCQUFnQixFQUFFLGVBQWU7SUFDakMsY0FBYyxFQUFFLHlCQUF5QjtJQUN6QyxXQUFXLEVBQUUsYUFBYTtJQUMxQixhQUFhLEVBQUUsUUFBUTtJQUN2QixjQUFjLEVBQUUseUJBQXlCO0lBQ3pDLGlCQUFpQixFQUFFLDRCQUE0QjtJQUMvQyxnQkFBZ0IsRUFBRSx5QkFBeUI7SUFDM0MscUJBQXFCLEVBQUUsOEJBQThCO0lBQ3JELHlDQUF5QztJQUN6Qyw2QkFBNkIsRUFBRSxnQ0FBZ0M7SUFDL0QsZ0JBQWdCLEVBQUUsNEJBQTRCO0lBQzlDLFlBQVksRUFBRSxrQkFBa0I7SUFDaEMsWUFBWSxFQUFFLHFCQUFxQjtJQUNuQyxRQUFRLEVBQUUsc0JBQXNCO0lBQ2hDLGdDQUFnQyxFQUM5QixnREFBZ0Q7SUFDbEQsbUJBQW1CLEVBQUUsMEJBQTBCO0lBQy9DLCtCQUErQixFQUFHLCtDQUErQztJQUNqRixnQ0FBZ0MsRUFBRyxnREFBZ0Q7SUFDbkYsaUJBQWlCLEVBQUUsMEJBQTBCO0lBQzdDLHdCQUF3QixFQUFFLDJCQUEyQjtJQUNyRCxZQUFZLEVBQUUsZUFBZTtJQUM3Qix1QkFBdUIsRUFBRyx1Q0FBdUM7SUFDakUscUJBQXFCLEVBQUUscUNBQXFDO0lBQzVELGNBQWMsRUFBRSxpQkFBaUI7SUFDakMsVUFBVSxFQUFHLG1CQUFtQjtJQUNoQyx3QkFBd0IsRUFBQyxrQ0FBa0M7SUFDM0QsaUJBQWlCLEVBQUMsMkJBQTJCO0lBQzdDLGNBQWMsRUFBRSx1QkFBdUI7SUFDdkMsZUFBZSxFQUFFLGtCQUFrQjtJQUNuQyxlQUFlLEVBQUUsMkJBQTJCO0lBQzVDLGVBQWUsRUFBRSwyQkFBMkI7SUFDNUMsZUFBZSxFQUFFLGtCQUFrQjtJQUNuQyxjQUFjLEVBQUUsaUJBQWlCO0lBQ2pDLGFBQWEsRUFBRSxnQkFBZ0I7SUFDL0IsYUFBYSxFQUFFLGdCQUFnQjtJQUMvQixhQUFhLEVBQUUsZ0JBQWdCO0lBQy9CLGFBQWEsRUFBRSxnQkFBZ0I7SUFDL0IseUJBQXlCLEVBQUMsNEJBQTRCO0lBQ3RELG1CQUFtQixFQUFDLHNCQUFzQjtJQUMxQyxpQkFBaUIsRUFBQyxvQkFBb0I7SUFDdEMsbUJBQW1CLEVBQUMsc0JBQXNCO0NBQzNDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQTJDO0lBQ2pFLFdBQVcsRUFBRSxhQUFhO0lBQzFCLGVBQWUsRUFBRSxpQkFBaUI7SUFDbEMsYUFBYSxFQUFFLGVBQWU7SUFDOUIsZUFBZSxFQUFFLGlCQUFpQjtJQUNsQyxtQkFBbUIsRUFBRSxxQkFBcUI7SUFDMUMsbUJBQW1CLEVBQUUscUJBQXFCO0lBQzFDLGVBQWUsRUFBRSxpQkFBaUI7SUFDbEMsYUFBYSxFQUFFLGVBQWU7SUFDOUIsYUFBYSxFQUFFLGVBQWU7SUFDOUIsa0JBQWtCLEVBQUUsb0JBQW9CO0NBQ3pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEFQSVNlcnZpY2VOYW1lIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9jb21tb24uaW50ZXJmYWNlJztcclxuXHJcbmV4cG9ydCBjb25zdCBBUEkgPSB7XHJcbiAgYXBwbGljYXRpb25JZGVudGlmaWVyOiAnMDJkUGxHWENLQ1B5JywgLy9waG9lbml4XHJcbiAgYXBwbGljYXRpb25JZGVudGlmaWVyRm9yUE1TOiAncXFtWHdlR0IxRGJHJywgLy8gcG1zXHJcbiAgLy8gZW5kcG9pbnQ6ICdodHRwOi8vMTkyLjE2OC4xMC4xODE6ODQ0MS9hcGkvdjEvJyxcclxuICAvLyB3b3JrZmxvd0VuZFBvaW50OiAnaHR0cDovLzE5Mi4xNjguMTAuMTgxLycsXHJcbiAgbm92dUJhY2tlbmRVcmw6ICdodHRwczovL25vdnVhcGkudGVjaGV4dGVuc29yLmNvbScsXHJcbiAgbm92dVNvY2tldFVybDogJ2h0dHBzOi8vbm92dXdzLnRlY2hleHRlbnNvci5jb20nLFxyXG5cclxuICBidWxrSW5zZXJ0OiAnQ1JVRC9CdWxrSW5zZXJ0JyxcclxuICBzZWxlY3Q6ICdDUlVEL1NlbGVjdCcsXHJcbiAgc2NyZWVuOiAnc2NyZWVuJyxcclxuICBsaXN0c0dldDogJ2xpc3RzL0dldCcsXHJcbiAgYnVpbGRBcHA6ICdBcHBsaWNhdGlvbi9CdWlsZEFwcCcsXHJcbiAgbWV0YWRhdGFTY2hlbWE6ICdtZXRhZGF0YS9zY2hlbWEnLFxyXG4gIGxvZ2luOiAnYXV0aC9sb2dpbicsXHJcbiAgcGx1Z2luVXBsb2FkOiAnUGx1Z2lucy9VcGxvYWQnLFxyXG4gIGdldEZpbGU6ICdQbHVnaW5zL0dldEZpbGVCeUlkJyxcclxuICBnZXRBbGxQbHVnaW5CeVR5cGU6ICdQbHVnaW5zL0dldEFsbCcsXHJcbiAgdGVtcGxhdGVQYXJzZTogJ1RlbXBsYXRlL1BhcnNlJyxcclxuICBwdWJsaXNoQXBwOiAnQXBwbGljYXRpb24vUHVibGlzaEFwcCcsXHJcbiAgZ2V0cmVjb3JkOiAnR2V0UmVjb3JkJyxcclxuICAvLyByYXdTUUw6ICdDUlVEL1Jhd1NRTCcsXHJcbiAgZmlsZVVwbG9hZDogJ0ZpbGUvVXBsb2FkJyxcclxuICBGaWxlTWFuYWdlclVwbG9hZEZpbGU6ICdGaWxlTWFuYWdlci9VcGxvYWRGaWxlJyxcclxuICBkZWxldGVGaWxlOiAnRmlsZS9EZWxldGVGaWxlJyxcclxuICBnZXRNZWRpYUZpbGU6ICdGaWxlL0dldEZpbGUnLFxyXG4gIGF1ZGl0R2V0SGlzdG9yeTogJ2F1ZGl0L2dldGhpc3RvcnknLFxyXG4gIGNoYW5nZVBhc3N3b3JkOiAnaWRlbnRpdHkvQ2hhbmdlUGFzc3dvcmQnLFxyXG4gIHJlc3RwYXNzd29yZDogJ2lkZW50aXR5L1Jlc2V0UGFzc3dvcmQnLFxyXG4gIGdldEltYWdlOiAnRmlsZS9HZXRJbWFnZScsXHJcbiAgaW1wb3J0RGF0YTogJ2ltcG9ydC9kYXRhJyxcclxuICBzY3JlZW5EYXRhOiAnZm9ybWlvL3NjcmVlbmRhdGEnLFxyXG4gIHByb2Nlc3NSZXF1ZXN0OiAnZm9ybWlvL3Byb2Nlc3NyZXF1ZXN0JyxcclxuICBzdGF0dXNBdmFpbGFibGU6ICdzdGF0dXMvYXZhaWxhYmxlJyxcclxuICBzdGF0dXNVcGRhdGU6ICdzdGF0dXMvdXBkYXRlJyxcclxuICBhdXRoUmVnaXN0ZXJVc2VyOiAnYXV0aC9yZWdpc3RlcicsXHJcbiAgZ2V0VXNlckRldGFpbHM6ICdpZGVudGl0eS9HZXRVc2VyRGV0YWlscycsXHJcbiAgcGVybWlzc2lvbnM6ICdwZXJtaXNzaW9ucycsXHJcbiAgZ2V0VXNlckFjY2VzczogJ2FjY2VzcycsXHJcbiAgdGVzdENvbm5lY3Rpb246ICdNZXRhRGF0YS9UZXN0Q29ubmVjdGlvbicsXHJcbiAgcGVyZm9ybVZhbGlkYXRpb246ICdNZXRhRGF0YS9QZXJmb3JtVmFsaWRhdGlvbicsXHJcbiAgc2V0VGFiQ29tcG9uZW50czogJ1RlbmFudC9TZXRUYWJDb21wb25lbnRzJyxcclxuICBCdWlsZEZvcm1JT0NvbXBvbmVudHM6ICdGb3JtSU8vQnVpbGRGb3JtSU9Db21wb25lbnRzJyxcclxuICAvLyBmaWxlTWFuYWdlclVwbG9hZDonRmlsZU1hbmFnZXIvVXBsb2FkJ1xyXG4gIGFwcGxpY2F0aW9uUmVnaXN0ZXJBcHBPYmplY3RzOiAnYXBwbGljYXRpb24vcmVnaXN0ZXJhcHBvYmplY3RzJyxcclxuICBsYW5ndWFnZVJlc291cmNlOiAnUmVzb3VyY2VzL0xhbmd1YWdlUmVzb3VyY2UnLFxyXG4gIHJlZnJlc2hUb2tlbjogJ2lkZW50aXR5L1JlZnJlc2gnLFxyXG4gIGdsb2JhbFNlYXJjaDogJ2dsb2JhbHNlYXJjaC9zZWFyY2gnLFxyXG4gIGNsb25lRHNxOiAnQXBwbGljYXRpb24vQ2xvbmVEU1EnLFxyXG4gIEluc2VydFNjcmVlblBlcmZvcm1hbmNlQW5hbHl0aWNzOlxyXG4gICAgJ0VsYXN0aWNTZWFyY2gvSW5zZXJ0U2NyZWVuUGVyZm9ybWFuY2VBbmFseXRpY3MnLFxyXG4gIEdlbmVyYXRlSHR0cFJlcXVlc3Q6ICdDUlVEL0dlbmVyYXRlSHR0cFJlcXVlc3QnLFxyXG4gIEdldERldGFpbE9mUGVyZm9ybWFuY2VBbmFseXRpY3MgOiAnRWxhc3RpY1NlYXJjaC9HZXREZXRhaWxPZlBlcmZvcm1hbmNlQW5hbHl0aWNzJyxcclxuICBHZXRTdW1tYXJ5T2ZQZXJmb3JtYW5jZUFuYWx5dGljcyA6ICdFbGFzdGljU2VhcmNoL0dldFN1bW1hcnlPZlBlcmZvcm1hbmNlQW5hbHl0aWNzJyxcclxuICBHZXREYXRhSnNvbkJ5VHlwZTogJ1RlbmFudC9HZXREYXRhSnNvbkJ5VHlwZScsXHJcbiAgYXBwbGljYXRpb25TeW5jQXBwRmllbGRzOiAnYXBwbGljYXRpb24vc3luY2FwcGZpZWxkcycsXHJcbiAgcmVwb3J0RXhwb3J0OiAncmVwb3J0L2V4cG9ydCcsXHJcbiAgUmVmcmVzaEdsb2JhbFNlYXJjaERhdGEgOiAnRWxhc3RpY1NlYXJjaC9SZWZyZXNoR2xvYmFsU2VhcmNoRGF0YScsXHJcbiAgUmVmcmVzaFJlY29yZEluZm9EYXRhOiAnRGF0YUludGVncml0eS9SZWZyZXNoUmVjb3JkSW5mb0RhdGEnLFxyXG4gIHJlcG9ydERvd25sb2FkOiAncmVwb3J0L2Rvd25sb2FkJyxcclxuICBzZW5kUmVwb3J0IDogJ3JlcG9ydC9TZW5kUmVwb3J0JyxcclxuICBHZXRSZWxlYXNlSlNPTkRpZmZlcmVuY2U6J1JlbGVhc2UvR2V0UmVsZWFzZUpTT05EaWZmZXJlbmNlJyxcclxuICBHZXREYXRhRGlmZmVyZW5jZTonUmVsZWFzZS9HZXREYXRhRGlmZmVyZW5jZScsXHJcbiAgUmVnaXN0ZXJUZW5hbnQ6ICdUZW5hbnQvUmVnaXN0ZXJUZW5hbnQnLFxyXG4gIGRhdGFiYXNlRXhlY3V0ZTogJ2RhdGFiYXNlL2V4ZWN1dGUnLFxyXG4gIEdldEFsbERvY3VtbmV0czogJ0RvY3VtZW50cy9HZXRBbGxEb2N1bWVudHMnLFxyXG4gIEdldERvY3VtZW50QnlJZDogJ0RvY3VtZW50cy9HZXREb2N1bWVudEJ5SWQnLFxyXG4gIEV4ZWN1dGVXb3JrZmxvdzogJ1dvcmtmbG93L0V4ZWN1dGUnLFxyXG4gIFF1ZXJpZXNFeGVjdXRlOiAnUXVlcmllcy9leGVjdXRlJyxcclxuICBRdWVyaWVzU2VsZWN0OiAncXVlcmllcy9zZWxlY3QnLFxyXG4gIHJlY29yZHNJbnNlcnQ6ICdyZWNvcmRzL2luc2VydCcsXHJcbiAgcmVjb3Jkc1VwZGF0ZTogJ3JlY29yZHMvdXBkYXRlJyxcclxuICByZWNvcmRzRGVsZXRlOiAncmVjb3Jkcy9kZWxldGUnLFxyXG4gIGZpbGVNYW5hZ2VyRmlsZU9wZXJhdGlvbnM6J0ZpbGVNYW5hZ2VyL0ZpbGVPcGVyYXRpb25zJyxcclxuICBmaWxlTWFuYWdlckdldEltYWdlOidGaWxlTWFuYWdlci9HZXRJbWFnZScsXHJcbiAgZmlsZU1hbmFnZXJVcGxvYWQ6J0ZpbGVNYW5hZ2VyL1VwbG9hZCcsXHJcbiAgZmlsZU1hbmFnZXJEb3dubG9hZDonRmlsZU1hbmFnZXIvRG93bmxvYWQnXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgQVBJU2VydmljZXM6IFJlY29yZDxBUElTZXJ2aWNlTmFtZSwgQVBJU2VydmljZU5hbWU+ID0ge1xyXG4gIGNydWRTZXJ2aWNlOiAnY3J1ZFNlcnZpY2UnLFxyXG4gIG1ldGFkYXRhU2VydmljZTogJ21ldGFkYXRhU2VydmljZScsXHJcbiAgZm9ybWlvU2VydmljZTogJ2Zvcm1pb1NlcnZpY2UnLFxyXG4gIGlkZW50aXR5U2VydmljZTogJ2lkZW50aXR5U2VydmljZScsXHJcbiAgY29kZUV4ZWN1dG9yU2VydmljZTogJ2NvZGVFeGVjdXRvclNlcnZpY2UnLFxyXG4gIG5vdGlmaWNhdGlvblNlcnZpY2U6ICdub3RpZmljYXRpb25TZXJ2aWNlJyxcclxuICB3b3JrZmxvd1NlcnZpY2U6ICd3b3JrZmxvd1NlcnZpY2UnLFxyXG4gIGtpYmFuYVNlcnZpY2U6ICdraWJhbmFTZXJ2aWNlJyxcclxuICByZXBvcnRTZXJ2aWNlOiAncmVwb3J0U2VydmljZScsXHJcbiAgZmlsZU1hbmFnZXJTZXJ2aWNlOiAnZmlsZU1hbmFnZXJTZXJ2aWNlJ1xyXG59OyJdfQ==
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2NvbnN0YW50cy9jb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBSXZELE1BQU0sT0FBTyxNQUFNO2FBUUQsU0FBSSxHQUFRLEVBQUUsQ0FBQztJQVE3Qjs7O09BR0c7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQWdCO1FBQ2pDLE1BQU0sQ0FBQyxlQUFlLEdBQUcsV0FBVyxFQUFFLElBQUksQ0FBQztRQUMzQyxNQUFNLENBQUMsZUFBZSxHQUFHLFdBQVcsRUFBRSxZQUFZLEVBQUUsZUFBZSxDQUFDO1FBQ3BFLE1BQU0sQ0FBQyxPQUFPLEdBQUcsV0FBVyxFQUFFLFlBQVksRUFBRSxPQUFPLENBQUM7UUFDcEQsTUFBTSxDQUFDLHVCQUF1QixHQUFHLFdBQVcsRUFBRSxZQUFZLEVBQUUsdUJBQXVCLENBQUM7UUFDcEYsTUFBTSxDQUFDLGtCQUFrQixHQUFHLFdBQVcsRUFBRSxZQUFZLEVBQUUsa0JBQWtCLENBQUM7UUFDMUUsTUFBTSxDQUFDLGtCQUFrQixHQUFHLFdBQVcsRUFBRSxZQUFZLEVBQUUsa0JBQWtCLENBQUM7UUFDMUUsTUFBTSxDQUFDLFdBQVcsR0FBRyxXQUFXLEVBQUUsWUFBWSxFQUFFLFdBQVcsQ0FBQztRQUM1RCxNQUFNLENBQUMsY0FBYyxHQUFHLFdBQVcsRUFBRSxjQUFjLElBQUksRUFBRSxDQUFDO1FBQzFELE1BQU0sQ0FBQyxhQUFhLEdBQUcsV0FBVyxFQUFFLGFBQWEsSUFBSSxFQUFFLENBQUM7SUFDMUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cclxuXHJcbmltcG9ydCB7IEFQSVNlcnZpY2VVcmxzIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9jb21tb24uaW50ZXJmYWNlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBDb21tb24ge1xyXG4gICAgcHVibGljIHN0YXRpYyBlbnZpcm9ubWVudE5hbWU6IHN0cmluZztcclxuICAgIHB1YmxpYyBzdGF0aWMgYXBwbGljYXRpb25Db2RlOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgc3RhdGljIHRhYkpzb246IGFueTtcclxuICAgIHB1YmxpYyBzdGF0aWMgdGFiVXNlclBlcnNvbmFsaXplZERhdGE6IGFueTtcclxuICAgIHB1YmxpYyBzdGF0aWMgdGFiVXNlclBlcm1pc3Npb25zOiBhbnk7XHJcbiAgICBwdWJsaWMgc3RhdGljIHRhYkFwcE9iamVjdEFjY2VzczogYW55O1xyXG4gICAgcHVibGljIHN0YXRpYyBzdGF0aWNUb2tlbjogYW55O1xyXG4gICAgcHVibGljIHN0YXRpYyBpMThuOiBhbnkgPSB7fTtcclxuXHJcbiAgICAvKiogTWljcm9zZXJ2aWNlIFVSTHMgY29uZmlndXJhdGlvbiAtIE5FVyBmb3IgbWljcm9zZXJ2aWNlcyBhcmNoaXRlY3R1cmUgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgYXBpU2VydmljZVVybHM6IEFQSVNlcnZpY2VVcmxzO1xyXG5cclxuICAgIC8qKiBTaWduYWxSIGh1YiBVUkwgZm9yIHJlYWwtdGltZSBub3RpZmljYXRpb25zICovXHJcbiAgICBwdWJsaWMgc3RhdGljIHNpZ25hbFJIdWJVcmw6IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluaXRpYWxpemUgdGhlIHN0YXRpYyB2YXJpYWJsZXNcclxuICAgICAqIENhbGxlZCBvbmNlIGF0IGFwcGxpY2F0aW9uIHN0YXJ0dXAgZnJvbSB0aGUgbWFpbiBhcHBcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBpbml0KGVudmlyb25tZW50OiBhbnkpIHtcclxuICAgICAgQ29tbW9uLmVudmlyb25tZW50TmFtZSA9IGVudmlyb25tZW50Py5uYW1lO1xyXG4gICAgICBDb21tb24uYXBwbGljYXRpb25Db2RlID0gZW52aXJvbm1lbnQ/LmNvbW1vbkNvbmZpZz8uYXBwbGljYXRpb25Db2RlO1xyXG4gICAgICBDb21tb24udGFiSnNvbiA9IGVudmlyb25tZW50Py5jb21tb25Db25maWc/LnRhYkpzb247XHJcbiAgICAgIENvbW1vbi50YWJVc2VyUGVyc29uYWxpemVkRGF0YSA9IGVudmlyb25tZW50Py5jb21tb25Db25maWc/LnRhYlVzZXJQZXJzb25hbGl6ZWREYXRhO1xyXG4gICAgICBDb21tb24udGFiVXNlclBlcm1pc3Npb25zID0gZW52aXJvbm1lbnQ/LmNvbW1vbkNvbmZpZz8udGFiVXNlclBlcm1pc3Npb25zO1xyXG4gICAgICBDb21tb24udGFiQXBwT2JqZWN0QWNjZXNzID0gZW52aXJvbm1lbnQ/LmNvbW1vbkNvbmZpZz8udGFiQXBwT2JqZWN0QWNjZXNzO1xyXG4gICAgICBDb21tb24uc3RhdGljVG9rZW4gPSBlbnZpcm9ubWVudD8uY29tbW9uQ29uZmlnPy5zdGF0aWNUb2tlbjtcclxuICAgICAgQ29tbW9uLmFwaVNlcnZpY2VVcmxzID0gZW52aXJvbm1lbnQ/LmFwaVNlcnZpY2VVcmxzIHx8IHt9O1xyXG4gICAgICBDb21tb24uc2lnbmFsUkh1YlVybCA9IGVudmlyb25tZW50Py5zaWduYWxSSHViVXJsIHx8ICcnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4iXX0=
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 = function TabBlueprintService_Factory(t) { return new (t || TabBlueprintService)(); }; }
59
- static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: TabBlueprintService, factory: TabBlueprintService.ɵfac, providedIn: 'root' }); }
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
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TabBlueprintService, [{
62
- type: Injectable,
63
- args: [{ providedIn: 'root' }]
64
- }], null, null); })();
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWJsdWVwcmludC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2NydWQvdGFiLWJsdWVwcmludC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHOUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBSW5ELE1BQU0sT0FBTyxtQkFBbUI7SUFEaEM7UUFFbUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztLQWdFMUQ7SUE5REM7OztPQUdHO0lBQ0gsYUFBYSxDQUFDLE9BQTBCLEVBQUUsT0FBYTtRQUNyRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkQsT0FBTyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU5QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUNuQyxXQUFXLENBQUMsV0FBVyxFQUN2QixHQUFHLENBQUMsZUFBZSxFQUNuQixVQUFVLEVBQ1YsT0FBTyxDQUNSLENBQUMsSUFBSSxDQUNKLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUMvRCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNILFlBQVksQ0FBQyxPQUE0QixFQUFFLE9BQWE7UUFDdEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQzthQUMvQyxHQUFHLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFOUIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FDakMsV0FBVyxDQUFDLFdBQVcsRUFDdkIsR0FBRyxHQUFHLENBQUMsWUFBWSxJQUFJLFVBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUM5QyxJQUFJLEVBQ0osT0FBTyxDQUNSLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSyxpQkFBaUIsQ0FBQyxPQUEwQjtRQUNsRCxJQUFJLFVBQVUsR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXBFLE1BQU0sVUFBVSxHQUFHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTTtZQUMvQyxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWE7WUFDdkIsQ0FBQyxDQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTTtnQkFDNUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO2dCQUM3QyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBRVgsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLFVBQVUsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN4RCxDQUFDO1FBRUQsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGlCQUFpQixDQUFDLFdBQW1CO1FBQzNDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsc0JBQXNCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDMUUsT0FBTyxTQUFTLEVBQUUsaUJBQWlCLElBQUksU0FBUyxFQUFFLFVBQVUsQ0FBQztJQUMvRCxDQUFDO29GQWpFVSxtQkFBbUI7dUVBQW5CLG1CQUFtQixXQUFuQixtQkFBbUIsbUJBRE4sTUFBTTs7aUZBQ25CLG1CQUFtQjtjQUQvQixVQUFVO2VBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBIdHRwUGFyYW1zIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IEFwaVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9odHRwLWNsaWVudC9hcGkuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBBUEksIEFQSVNlcnZpY2VzIH0gZnJvbSBcIi4uL2NvbnN0YW50cy9hcGktY29uc3RhbnRzXCI7XHJcbmltcG9ydCB7IENvbW1vbkFwaVJlc3BvbnNlLCBOZXh0U3RhdHVzUGF5bG9hZCwgVXBkYXRlU3RhdHVzUGF5bG9hZCB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL2NvbW1vbi5pbnRlcmZhY2VcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQgeyBUcmFuc2l0aW9uUmVzcG9uc2VBZGFwdGVyIH0gZnJvbSBcIi4uL2hlbHBlcnMvdHJhbnNpdGlvbi1yZXNwb25zZS5hZGFwdGVyXCI7XHJcbmltcG9ydCB7IE1ldGFkYXRhSGVscGVyIH0gZnJvbSBcIi4uL2hlbHBlcnMvY29tbW9uL21ldGEtZGF0YS5oZWxwZXJzXCI7XHJcbmltcG9ydCB7IGdldEhlYWRlcnMgfSBmcm9tIFwiLi4vdXRpbHMvcmVxLXJlcy51dGlsXCI7XHJcblxyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIFRhYkJsdWVwcmludFNlcnZpY2Uge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgYXBpU2VydmljZSA9IGluamVjdChBcGlTZXJ2aWNlKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IG1ldGFkYXRhSGVscGVyID0gaW5qZWN0KE1ldGFkYXRhSGVscGVyKTtcclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIHRoZSBuZXh0IHN0YXR1cyBvZiBhIHJlY29yZC5cclxuICAgKiBVc2VzIG5ldyBjcnVkU2VydmljZSBlbmRwb2ludDogR0VUIHN0YXR1cy9hdmFpbGFibGU/cmVjb3JkSWQ9Li4uJkVudGl0eU5hbWU9Li4uXHJcbiAgICovXHJcbiAgZ2V0TmV4dFN0YXR1cyhwYXlsb2FkOiBOZXh0U3RhdHVzUGF5bG9hZCwgaGVhZGVycz86IGFueSk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IGh0dHBQYXJhbXMgPSB0aGlzLmJ1aWxkU3RhdHVzUGFyYW1zKHBheWxvYWQpO1xyXG4gICAgaGVhZGVycyA9IGdldEhlYWRlcnMoaGVhZGVycyk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5nZXRGcm9tU2VydmljZShcclxuICAgICAgQVBJU2VydmljZXMuY3J1ZFNlcnZpY2UsXHJcbiAgICAgIEFQSS5zdGF0dXNBdmFpbGFibGUsXHJcbiAgICAgIGh0dHBQYXJhbXMsXHJcbiAgICAgIGhlYWRlcnNcclxuICAgICkucGlwZShcclxuICAgICAgbWFwKHJlc3BvbnNlID0+IFRyYW5zaXRpb25SZXNwb25zZUFkYXB0ZXIubm9ybWFsaXplKHJlc3BvbnNlKSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGVzIHRoZSBzdGF0dXMgb2YgYSByZWNvcmQuXHJcbiAgICogVXNlcyBuZXcgY3J1ZFNlcnZpY2UgZW5kcG9pbnQ6IFBVVCBzdGF0dXMvdXBkYXRlP3JlY29yZElkPS4uLiZuZXh0U3RhdHVzSWQ9Li4uJkVudGl0eU5hbWU9Li4uXHJcbiAgICovXHJcbiAgdXBkYXRlU3RhdHVzKHBheWxvYWQ6IFVwZGF0ZVN0YXR1c1BheWxvYWQsIGhlYWRlcnM/OiBhbnkpOiBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPiB7XHJcbiAgICBjb25zdCBodHRwUGFyYW1zID0gdGhpcy5idWlsZFN0YXR1c1BhcmFtcyhwYXlsb2FkKVxyXG4gICAgICAuc2V0KCduZXh0U3RhdHVzSWQnLCBwYXlsb2FkLm5leHRQb3NzaWJsZVN0YXR1c0lkKTtcclxuICAgIGhlYWRlcnMgPSBnZXRIZWFkZXJzKGhlYWRlcnMpO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucHV0VG9TZXJ2aWNlKFxyXG4gICAgICBBUElTZXJ2aWNlcy5jcnVkU2VydmljZSxcclxuICAgICAgYCR7QVBJLnN0YXR1c1VwZGF0ZX0/JHtodHRwUGFyYW1zLnRvU3RyaW5nKCl9YCxcclxuICAgICAgbnVsbCxcclxuICAgICAgaGVhZGVyc1xyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEJ1aWxkcyBjb21tb24gSHR0cFBhcmFtcyBmb3Igc3RhdHVzIGVuZHBvaW50cyAocmVjb3JkSWQgKyBFbnRpdHlOYW1lKS5cclxuICAgKi9cclxuICBwcml2YXRlIGJ1aWxkU3RhdHVzUGFyYW1zKHBheWxvYWQ6IE5leHRTdGF0dXNQYXlsb2FkKTogSHR0cFBhcmFtcyB7XHJcbiAgICBsZXQgaHR0cFBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdyZWNvcmRJZCcsIHBheWxvYWQucmVjb3JkSWQpO1xyXG5cclxuICAgIGNvbnN0IGVudGl0eU5hbWUgPSBwYXlsb2FkPy5hcHBPYmplY3ROYW1lPy5sZW5ndGhcclxuICAgICAgPyBwYXlsb2FkLmFwcE9iamVjdE5hbWVcclxuICAgICAgOiBwYXlsb2FkPy5hcHBPYmplY3RJZD8ubGVuZ3RoXHJcbiAgICAgICAgPyB0aGlzLnJlc29sdmVFbnRpdHlOYW1lKHBheWxvYWQuYXBwT2JqZWN0SWQpXHJcbiAgICAgICAgOiBudWxsO1xyXG5cclxuICAgIGlmIChlbnRpdHlOYW1lKSB7XHJcbiAgICAgIGh0dHBQYXJhbXMgPSBodHRwUGFyYW1zLnNldCgnRW50aXR5TmFtZScsIGVudGl0eU5hbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBodHRwUGFyYW1zO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVzb2x2ZXMgYXBwT2JqZWN0SWQgdG8gRW50aXR5TmFtZSAoU3lzdGVtREJUYWJsZU5hbWUpLlxyXG4gICAqIExvb2tzIHVwIHRoZSBhcHAgb2JqZWN0IHZpYSBNZXRhZGF0YUhlbHBlciBhbmQgcmV0dXJucyBTeXN0ZW1EQlRhYmxlTmFtZSBvciBPYmplY3ROYW1lLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVzb2x2ZUVudGl0eU5hbWUoYXBwT2JqZWN0SWQ6IHN0cmluZykge1xyXG4gICAgY29uc3QgYXBwT2JqZWN0ID0gdGhpcy5tZXRhZGF0YUhlbHBlci5nZXRBcHBPYmplY3RCeUlkT3JOYW1lKGFwcE9iamVjdElkKTtcclxuICAgIHJldHVybiBhcHBPYmplY3Q/LlN5c3RlbURCVGFibGVOYW1lIHx8IGFwcE9iamVjdD8uT2JqZWN0TmFtZTtcclxuICB9XHJcbn0iXX0=
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 { ConjuctionClause, FilterValueType, RelationalOperator } from "../enums/dsq.enum";
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
- * @param criteria The criteria object to generate the where clause from.
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' || !Object.keys(criteria)))
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
- // Iterate over each key in the criteria and add it to the where clause
93
- Object.keys(criteria)?.forEach((key, index) => {
94
- const filter = {
95
- conjunction: ConjuctionClause.AND, // conjuction clause is AND by default
96
- fieldName: crudTableName + '.' + key, // field name
97
- operator: RelationalOperator.EqualTo, // relational operator is EqualTo by default
98
- valueType: FilterValueType.Literal, // value type is Literal by default
99
- value: criteria[key], // set the value of the filter
100
- sequence: index + 1, // set the sequence starting from 1
101
- groupId: 0 // set the group ID to 0 by default
102
- };
103
- whereClause.filters.push(filter); // add the filter to the array of filters
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
- // Delegate to TabUpdateService - it handles new API with SYNC/ASYNC automatically
165
- return this._tabUpdateService.updateByObjectId(appObject.ID, { data: payload.data }, headers);
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 = function TabCrudService_Factory(t) { return new (t || TabCrudService)(); }; }
222
- static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: TabCrudService, factory: TabCrudService.ɵfac, providedIn: 'root' }); }
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
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TabCrudService, [{
225
- type: Injectable,
226
- args: [{ providedIn: 'root' }]
227
- }], null, null); })();
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