@mediusinc/mng-commons 0.2.17 → 0.2.20

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 (96) hide show
  1. package/assets/i18n/en.json +7 -5
  2. package/assets/i18n/sl.json +23 -21
  3. package/esm2020/lib/api/services/crud-api.abstract.service.mjs +22 -17
  4. package/esm2020/lib/components/action/action.component.mjs +50 -23
  5. package/esm2020/lib/components/action/editor/action-editor.component.mjs +239 -0
  6. package/esm2020/lib/components/action/index.mjs +2 -2
  7. package/esm2020/lib/components/action/models/action-execution.model.mjs +3 -3
  8. package/esm2020/lib/components/action/route/action-route.component.mjs +19 -38
  9. package/esm2020/lib/components/form/autocomplete/autocomplete.component.mjs +9 -6
  10. package/esm2020/lib/components/form/editor/form-editor.component.mjs +56 -4
  11. package/esm2020/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +3 -3
  12. package/esm2020/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +3 -3
  13. package/esm2020/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.mjs +3 -3
  14. package/esm2020/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +179 -0
  15. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +28 -9
  16. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +12 -9
  17. package/esm2020/lib/components/form/formly/fields/index.mjs +2 -1
  18. package/esm2020/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.mjs +3 -3
  19. package/esm2020/lib/components/form/formly/wrappers/formly-table-wrapper/formly-table-wrapper.component.mjs +4 -3
  20. package/esm2020/lib/components/form/models/form-editor.event.mjs +28 -1
  21. package/esm2020/lib/components/layout/main-layout.component.mjs +1 -1
  22. package/esm2020/lib/components/layout/topbar.component.mjs +1 -1
  23. package/esm2020/lib/components/tableview/table/table.component.mjs +37 -12
  24. package/esm2020/lib/components/tableview/tableview.component.mjs +28 -21
  25. package/esm2020/lib/config/formly.config.mjs +7 -2
  26. package/esm2020/lib/config/models/mng-config.model.mjs +1 -1
  27. package/esm2020/lib/data-providers/table.data-provider.mjs +17 -2
  28. package/esm2020/lib/descriptors/action.descriptor.mjs +146 -2
  29. package/esm2020/lib/descriptors/editor.descriptor.interface.mjs +2 -0
  30. package/esm2020/lib/descriptors/editor.descriptor.mjs +122 -27
  31. package/esm2020/lib/directives/component.directive.mjs +8 -3
  32. package/esm2020/lib/mng-commons.module.mjs +21 -11
  33. package/esm2020/lib/models/error.model.mjs +2 -0
  34. package/esm2020/lib/models/index.mjs +3 -1
  35. package/esm2020/lib/models/view-container.model.mjs +2 -0
  36. package/esm2020/lib/services/action-executor.service.mjs +343 -0
  37. package/esm2020/lib/services/error-mapper.service.mjs +14 -0
  38. package/esm2020/lib/services/index.mjs +4 -2
  39. package/esm2020/lib/services/tokens/default-setting.token.mjs +3 -0
  40. package/esm2020/lib/services/tokens/index.mjs +2 -1
  41. package/esm2020/lib/services/view-container.component.service.mjs +35 -0
  42. package/esm2020/lib/utils/editor-formly.util.mjs +14 -3
  43. package/esm2020/lib/utils/i18n.util.mjs +29 -1
  44. package/esm2020/lib/utils/toast.util.mjs +18 -14
  45. package/esm2020/public-api.mjs +1 -2
  46. package/fesm2015/mediusinc-mng-commons.mjs +1818 -994
  47. package/fesm2015/mediusinc-mng-commons.mjs.map +1 -1
  48. package/fesm2020/mediusinc-mng-commons.mjs +1805 -998
  49. package/fesm2020/mediusinc-mng-commons.mjs.map +1 -1
  50. package/lib/api/services/crud-api.abstract.service.d.ts +9 -8
  51. package/lib/components/action/action.component.d.ts +16 -9
  52. package/lib/components/action/editor/action-editor.component.d.ts +59 -0
  53. package/lib/components/action/index.d.ts +1 -1
  54. package/lib/components/action/models/action-execution.model.d.ts +3 -3
  55. package/lib/components/action/route/action-route.component.d.ts +5 -6
  56. package/lib/components/form/editor/form-editor.component.d.ts +7 -2
  57. package/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.d.ts +45 -0
  58. package/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.d.ts +2 -0
  59. package/lib/components/form/formly/fields/index.d.ts +1 -0
  60. package/lib/components/form/models/form-editor.event.d.ts +32 -0
  61. package/lib/components/tableview/table/table.component.d.ts +14 -6
  62. package/lib/components/tableview/tableview.component.d.ts +9 -7
  63. package/lib/data-providers/table.data-provider.d.ts +9 -1
  64. package/lib/descriptors/action.descriptor.d.ts +71 -16
  65. package/lib/descriptors/editor.descriptor.d.ts +59 -18
  66. package/lib/descriptors/editor.descriptor.interface.d.ts +9 -0
  67. package/lib/directives/component.directive.d.ts +5 -4
  68. package/lib/mng-commons.module.d.ts +55 -54
  69. package/lib/models/error.model.d.ts +12 -0
  70. package/lib/models/index.d.ts +2 -0
  71. package/lib/models/view-container.model.d.ts +6 -0
  72. package/lib/services/{action.service.d.ts → action-executor.service.d.ts} +25 -18
  73. package/lib/services/error-mapper.service.d.ts +7 -0
  74. package/lib/services/index.d.ts +3 -1
  75. package/lib/services/tokens/default-setting.token.d.ts +2 -0
  76. package/lib/services/tokens/index.d.ts +1 -0
  77. package/lib/services/view-container.component.service.d.ts +22 -0
  78. package/lib/utils/i18n.util.d.ts +3 -0
  79. package/lib/utils/toast.util.d.ts +5 -4
  80. package/package.json +1 -1
  81. package/public-api.d.ts +0 -1
  82. package/scss/mng-overrides/_layout_forms.scss +2 -0
  83. package/scss/mng-overrides/_mixins.scss +7 -0
  84. package/scss/mng-overrides/_theme_button.scss +57 -0
  85. package/scss/mng-overrides/_theme_dropdown.scss +17 -0
  86. package/scss/mng-overrides/_theme_styles.scss +2 -0
  87. package/scss/mng-overrides/_theme_toolbar.scss +5 -0
  88. package/scss/theme/default/_mng-variables-theme-dark.scss +3 -0
  89. package/scss/theme/default/_mng-variables-theme-light.scss +3 -0
  90. package/esm2020/lib/components/action/dialog/action-dialog.component.mjs +0 -151
  91. package/esm2020/lib/components/tableview/services/index.mjs +0 -2
  92. package/esm2020/lib/components/tableview/services/tableview.component.service.mjs +0 -21
  93. package/esm2020/lib/services/action.service.mjs +0 -273
  94. package/lib/components/action/dialog/action-dialog.component.d.ts +0 -47
  95. package/lib/components/tableview/services/index.d.ts +0 -1
  96. package/lib/components/tableview/services/tableview.component.service.d.ts +0 -14
@@ -93,6 +93,8 @@ export class EditorFormlyUtil {
93
93
  field.templateOptions['descriptor'] = descriptor;
94
94
  if (descriptor instanceof FieldInputDescriptor) {
95
95
  switch (descriptor.fieldType) {
96
+ case FieldInputDescriptor.TypeEnum.Hidden:
97
+ break;
96
98
  case FieldInputDescriptor.TypeEnum.Textarea:
97
99
  field.type = 'textarea';
98
100
  break;
@@ -132,6 +134,9 @@ export class EditorFormlyUtil {
132
134
  case FieldLookupDescriptor.LookupTypeEnum.Autocomplete:
133
135
  field.type = 'autocomplete';
134
136
  break;
137
+ case FieldLookupDescriptor.LookupTypeEnum.Dialog:
138
+ field.type = 'dialog';
139
+ break;
135
140
  case FieldLookupDescriptor.LookupTypeEnum.Dropdown:
136
141
  default:
137
142
  field.type = 'dropdown';
@@ -147,11 +152,17 @@ export class EditorFormlyUtil {
147
152
  if (descriptor.label) {
148
153
  field.templateOptions.label = descriptor.label;
149
154
  }
155
+ if (descriptor.requiredExpression) {
156
+ field.expressionProperties['templateOptions.required'] = descriptor.requiredExpression;
157
+ }
150
158
  if (descriptor.required) {
151
159
  field.templateOptions.required = true;
152
160
  }
153
- if (descriptor.disabledFunction) {
154
- field.expressionProperties['templateOptions.disabled'] = descriptor.disabledFunction;
161
+ if (descriptor.hiddenExpression) {
162
+ field.expressionProperties['hide'] = descriptor.hiddenExpression;
163
+ }
164
+ if (descriptor.disabledExpression) {
165
+ field.expressionProperties['templateOptions.disabled'] = descriptor.disabledExpression;
155
166
  }
156
167
  else if (descriptor.disabled) {
157
168
  field.templateOptions.disabled = true;
@@ -168,4 +179,4 @@ export class EditorFormlyUtil {
168
179
  return field;
169
180
  }
170
181
  }
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLWZvcm1seS51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi91dGlscy9lZGl0b3ItZm9ybWx5LnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUlILG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIseUJBQXlCLEVBQ3pCLHlCQUF5QixFQUN6QiwrQkFBK0IsRUFFbEMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixNQUFNLE9BQU8sZ0JBQWdCO0lBQ2xCLE1BQU0sQ0FBQyxnQ0FBZ0MsQ0FBQyxVQUFpQztRQUM1RSxNQUFNLE1BQU0sR0FBd0IsRUFBRSxDQUFDO1FBRXZDLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFO1lBQzVELGdCQUFnQjtZQUNoQixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsZ0JBQWdCLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1NBQ3JGO2FBQU07WUFDSCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDekU7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRU0sTUFBTSxDQUFDLG1CQUFtQixDQUFDLFNBQXlDO1FBQ3ZFLE1BQU0sU0FBUyxHQUFzQjtZQUNqQyxJQUFJLEVBQUUsTUFBTTtZQUNaLFVBQVUsRUFBRSxFQUFFO1NBQ2pCLENBQUM7UUFDRixLQUFLLE1BQU0sR0FBRyxJQUFJLFNBQVMsRUFBRTtZQUN6QixNQUFNLFFBQVEsR0FBc0I7Z0JBQ2hDLEVBQUUsRUFBRSxHQUFHLENBQUMsSUFBSTtnQkFDWixlQUFlLEVBQUUsRUFBRTtn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QUFDLGVBQWdCLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7U0FDbkQ7UUFDRCxJQUFJLFVBQVUsQ0FBQyxRQUFRLEVBQUU7WUFDckIsS0FBSyxDQUFDLGVBQWdCLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztTQUMxQztRQUVELElBQUksVUFBVSxDQUFDLGdCQUFnQixFQUFFO1lBQzdCLEtBQUssQ0FBQyxvQkFBcUIsQ0FBQywwQkFBMEIsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQztTQUN6RjthQUFNLElBQUksVUFBVSxDQUFDLFFBQVEsRUFBRTtZQUM1QixLQUFLLENBQUMsZUFBZ0IsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1NBQzFDO2FBQU07WUFDSCxLQUFLLENBQUMsb0JBQXFCLENBQUMsMEJBQTBCLENBQUMsR0FBRyxvQkFBb0IsQ0FBQztTQUNsRjtRQUVELElBQUksT0FBTyxVQUFVLENBQUMsWUFBWSxLQUFLLFdBQVcsRUFBRTtZQUNoRCxLQUFLLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUM7U0FDaEQ7UUFFRCxLQUFLLE1BQU0sU0FBUyxJQUFJLFVBQVUsQ0FBQyxVQUFVLEVBQUU7WUFDM0MsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDLE9BQU8sRUFBQyxDQUFDO1NBQ3JHO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtGb3JtbHlGaWVsZENvbmZpZ30gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5cbmltcG9ydCB7XG4gICAgQUZpZWxkRGVzY3JpcHRvcixcbiAgICBFZGl0b3JEZXNjcmlwdG9yLFxuICAgIEZpZWxkR3JvdXBEZXNjcmlwdG9yLFxuICAgIEZpZWxkSW5wdXREZXNjcmlwdG9yLFxuICAgIEZpZWxkTG9va3VwRGVzY3JpcHRvcixcbiAgICBGaWVsZExvb2t1cEVudW1EZXNjcmlwdG9yLFxuICAgIEZpZWxkTWFueUVkaXRvckRlc2NyaXB0b3IsXG4gICAgRmllbGRNYW55VG9NYW55RWRpdG9yRGVzY3JpcHRvcixcbiAgICBGaWVsZFRhYkdyb3VwRGVzY3JpcHRvclxufSBmcm9tICcuLi9kZXNjcmlwdG9ycyc7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JGb3JtbHlVdGlsIHtcbiAgICBwdWJsaWMgc3RhdGljIGNyZWF0ZUZvcm1seUNvbmZpZ0Zyb21EZXNjcmlwdG9yKGRlc2NyaXB0b3I6IEVkaXRvckRlc2NyaXB0b3I8YW55Pik6IEZvcm1seUZpZWxkQ29uZmlnW10ge1xuICAgICAgICBjb25zdCBmaWVsZHM6IEZvcm1seUZpZWxkQ29uZmlnW10gPSBbXTtcblxuICAgICAgICBpZiAoZGVzY3JpcHRvci50YWJzLmxlbmd0aCA9PT0gMSAmJiBkZXNjcmlwdG9yLnRhYnNbMF0uZGVmYXVsdCkge1xuICAgICAgICAgICAgLy8gZG9udCB1c2UgdGFic1xuICAgICAgICAgICAgZmllbGRzLnB1c2goLi4uRWRpdG9yRm9ybWx5VXRpbC5jcmVhdGVGb3JtbHlHcm91cFR5cGUoZGVzY3JpcHRvci50YWJzWzBdLmZpZWxkcykpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZmllbGRzLnB1c2goLi4uRWRpdG9yRm9ybWx5VXRpbC5jcmVhdGVGb3JtbHlUYWJUeXBlKGRlc2NyaXB0b3IudGFicykpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZpZWxkcztcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGNyZWF0ZUZvcm1seVRhYlR5cGUodGFiR3JvdXBzOiBGaWVsZFRhYkdyb3VwRGVzY3JpcHRvcjxhbnk+W10pOiBGb3JtbHlGaWVsZENvbmZpZ1tdIHtcbiAgICAgICAgY29uc3QgdGFic0ZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZyA9IHtcbiAgICAgICAgICAgIHR5cGU6ICd0YWJzJyxcbiAgICAgICAgICAgIGZpZWxkR3JvdXA6IFtdXG4gICAgICAgIH07XG4gICAgICAgIGZvciAoY29uc3QgdGFiIG9mIHRhYkdyb3Vwcykge1xuICAgICAgICAgICAgY29uc3QgdGFiRmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnID0ge1xuICAgICAgICAgICAgICAgIGlkOiB0YWIubmFtZSxcbiAgICAgICAgICAgICAgICB0ZW1wbGF0ZU9wdGlvbnM6IHt9LFxuICAgICAgICAgICAgICAgIGZpZWxkR3JvdXA6IFtdXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaWYgKHRhYi50aXRsZSkge1xuICAgICAgICAgICAgICAgIHRhYkZpZWxkLnRlbXBsYXRlT3B0aW9ucyEubGFiZWwgPSB0YWIudGl0bGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0YWJGaWVsZC5maWVsZEdyb3VwIS5wdXNoKC4uLkVkaXRvckZvcm1seVV0aWwuY3JlYXRlRm9ybWx5R3JvdXBUeXBlKHRhYi5maWVsZHMpKTtcbiAgICAgICAgICAgIHRhYnNGaWVsZC5maWVsZEdyb3VwIS5wdXNoKHRhYkZpZWxkKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gW3RhYnNGaWVsZF07XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBjcmVhdGVGb3JtbHlHcm91cFR5cGUoZ3JvdXBzOiBGaWVsZEdyb3VwRGVzY3JpcHRvcjxhbnk+W10pOiBGb3JtbHlGaWVsZENvbmZpZ1tdIHtcbiAgICAgICAgaWYgKGdyb3Vwcy5sZW5ndGggPT09IDEgJiYgZ3JvdXBzWzBdLmRlZmF1bHQpIHtcbiAgICAgICAgICAgIC8vIGRvbnQgdXNlIGZpZWxkc2V0LCBqdXN0IGNyZWF0ZSBmaWVsZHNcbiAgICAgICAgICAgIHJldHVybiBFZGl0b3JGb3JtbHlVdGlsLmNyZWF0ZUZvcm1seUZpZWxkcyhncm91cHNbMF0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZ3JvdXBzRmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnID0ge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdmaWVsZHNldCcsXG4gICAgICAgICAgICAgICAgZmllbGRHcm91cDogW11cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGdyb3VwIG9mIGdyb3Vwcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGdyb3VwRmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnID0ge1xuICAgICAgICAgICAgICAgICAgICBpZDogZ3JvdXAubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVPcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdG9yOiBncm91cFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBmaWVsZEdyb3VwOiBbXVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgaWYgKGdyb3VwLnRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGdyb3VwRmllbGQudGVtcGxhdGVPcHRpb25zIS5sYWJlbCA9IGdyb3VwLnRpdGxlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBncm91cEZpZWxkLmZpZWxkR3JvdXAhLnB1c2goLi4uRWRpdG9yRm9ybWx5VXRpbC5jcmVhdGVGb3JtbHlGaWVsZHMoZ3JvdXApKTtcbiAgICAgICAgICAgICAgICBncm91cHNGaWVsZC5maWVsZEdyb3VwIS5wdXNoKGdyb3VwRmllbGQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIFtncm91cHNGaWVsZF07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGNyZWF0ZUZvcm1seUZpZWxkcyhkZXNjcmlwdG9yOiBGaWVsZEdyb3VwRGVzY3JpcHRvcjxhbnk+KTogRm9ybWx5RmllbGRDb25maWdbXSB7XG4gICAgICAgIGNvbnN0IGZpZWxkczogRm9ybWx5RmllbGRDb25maWdbXSA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IGRlc2NyaXB0b3JGaWVsZCBvZiBkZXNjcmlwdG9yLmZpZWxkcykge1xuICAgICAgICAgICAgZmllbGRzLnB1c2goRWRpdG9yRm9ybWx5VXRpbC5jcmVhdGVGb3JtbHlGaWVsZChkZXNjcmlwdG9yRmllbGQpKTtcbiAgICAgICAgfVxuICAgICAgICAvLyB3cmFwIGluIGdyb3VwIHRvIGJlIGFibGUgdG8gdXNlIGZsZXggZ3JpZFxuICAgICAgICBjb25zdCB3cmFwcGVyR3JvdXA6IEZvcm1seUZpZWxkQ29uZmlnID0ge1xuICAgICAgICAgICAgZmllbGRHcm91cENsYXNzTmFtZTogJ3AtZmx1aWQgZm9ybWdyaWQgZ3JpZCcsXG4gICAgICAgICAgICBmaWVsZEdyb3VwOiBmaWVsZHMsXG4gICAgICAgICAgICB2YWxpZGF0b3JzOiB7fVxuICAgICAgICB9O1xuXG4gICAgICAgIGZvciAoY29uc3QgdmFsaWRhdG9yIG9mIGRlc2NyaXB0b3IudmFsaWRhdG9ycykge1xuICAgICAgICAgICAgd3JhcHBlckdyb3VwLnZhbGlkYXRvcnNbdmFsaWRhdG9yLm5hbWVdID0ge2V4cHJlc3Npb246IHZhbGlkYXRvci5leHByZXNzaW9uLCBtZXNzYWdlOiB2YWxpZGF0b3IubWVzc2FnZX07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gW3dyYXBwZXJHcm91cF07XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBjcmVhdGVGb3JtbHlGaWVsZChkZXNjcmlwdG9yOiBBRmllbGREZXNjcmlwdG9yPGFueSwgYW55Pik6IEZvcm1seUZpZWxkQ29uZmlnIHtcbiAgICAgICAgY29uc3QgZmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnID0ge1xuICAgICAgICAgICAga2V5OiBkZXNjcmlwdG9yLnByb3BlcnR5LFxuICAgICAgICAgICAgZXhwcmVzc2lvblByb3BlcnRpZXM6IHt9LFxuICAgICAgICAgICAgdGVtcGxhdGVPcHRpb25zOiB7fSxcbiAgICAgICAgICAgIHZhbGlkYXRvcnM6IHt9XG4gICAgICAgIH07XG5cbiAgICAgICAgbGV0IGNsYXNzTmFtZSA9IGRlc2NyaXB0b3IuY2xhc3NOYW1lO1xuICAgICAgICBpZiAoIWNsYXNzTmFtZSkge1xuICAgICAgICAgICAgLy8gYXNzaWduIGRlZmF1bHQgZmllbGQgd2lkdGggdGhyb3VnaCBlbnRpcmUgcm93XG4gICAgICAgICAgICBjbGFzc05hbWUgPSAnY29sLTEyJztcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2xhc3NOYW1lLmluZGV4T2YoJ2NvbC0nKSA8IDApIHtcbiAgICAgICAgICAgIC8vIGNsYXNzIHdhcyBwcm92aWRlZCwgYnV0IGRvZXMgbm90IGNvbnRhaW4gY29sLSBkZWZpbml0aW9uXG4gICAgICAgICAgICBjbGFzc05hbWUgPSBgY29sLTEyICR7ZGVzY3JpcHRvci5jbGFzc05hbWV9YDtcbiAgICAgICAgfVxuICAgICAgICBmaWVsZC5jbGFzc05hbWUgPSBjbGFzc05hbWU7XG5cbiAgICAgICAgZmllbGQudGVtcGxhdGVPcHRpb25zIVsnZGVzY3JpcHRvciddID0gZGVzY3JpcHRvcjtcbiAgICAgICAgaWYgKGRlc2NyaXB0b3IgaW5zdGFuY2VvZiBGaWVsZElucHV0RGVzY3JpcHRvcikge1xuICAgICAgICAgICAgc3dpdGNoIChkZXNjcmlwdG9yLmZpZWxkVHlwZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgRmllbGRJbnB1dERlc2NyaXB0b3IuVHlwZUVudW0uVGV4dGFyZWE6XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkLnR5cGUgPSAndGV4dGFyZWEnO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIEZpZWxkSW5wdXREZXNjcmlwdG9yLlR5cGVFbnVtLk51bWJlcjpcbiAgICAgICAgICAgICAgICAgICAgZmllbGQudHlwZSA9ICdudW1iZXInO1xuICAgICAgICAgICAgICAgICAgICBmaWVsZC50ZW1wbGF0ZU9wdGlvbnMhLm1pbiA9IGRlc2NyaXB0b3IubnVtYmVyTWluO1xuICAgICAgICAgICAgICAgICAgICBmaWVsZC50ZW1wbGF0ZU9wdGlvbnMhLm1heCA9IGRlc2NyaXB0b3IubnVtYmVyTWF4O1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIEZpZWxkSW5wdXREZXNjcmlwdG9yLlR5cGVFbnVtLlN3aXRjaDpcbiAgICAgICAgICAgICAgICAgICAgZmllbGQudHlwZSA9ICdzd2l0Y2gnO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIEZpZWxkSW5wdXREZXNjcmlwdG9yLlR5cGVFbnVtLlJhZGlvOlxuICAgICAgICAgICAgICAgICAgICBmaWVsZC50eXBlID0gJ3JhZGlvJztcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBGaWVsZElucHV0RGVzY3JpcHRvci5UeXBlRW51bS5EYXRlcGlja2VyOlxuICAgICAgICAgICAgICAgICAgICBmaWVsZC50eXBlID0gJ2RhdGVwaWNrZXInO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIEZpZWxkSW5wdXREZXNjcmlwdG9yLlR5cGVFbnVtLk1hc2s6XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkLnR5cGUgPSAnbWFzayc7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgRmllbGRJbnB1dERlc2NyaXB0b3IuVHlwZUVudW0uQ3VzdG9tOlxuICAgICAgICAgICAgICAgICAgICBmaWVsZC50eXBlID0gZGVzY3JpcHRvci5jdXN0b21Db21wb25lbnROYW1lO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICBmaWVsZC50eXBlID0gJ2lucHV0JztcbiAgICAgICAgICAgICAgICAgICAgZmllbGQudGVtcGxhdGVPcHRpb25zIS5taW5MZW5ndGggPSBkZXNjcmlwdG9yLm1pbkxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQudGVtcGxhdGVPcHRpb25zIS5tYXhMZW5ndGggPSBkZXNjcmlwdG9yLm1heExlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQudGVtcGxhdGVPcHRpb25zIS5wYXR0ZXJuID0gZGVzY3JpcHRvci5wYXR0ZXJuO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChkZXNjcmlwdG9yIGluc3RhbmNlb2YgRmllbGRMb29rdXBFbnVtRGVzY3JpcHRvcikge1xuICAgICAgICAgICAgZmllbGQudHlwZSA9ICdlbnVtJztcbiAgICAgICAgfSBlbHNlIGlmIChkZXNjcmlwdG9yIGluc3RhbmNlb2YgRmllbGRMb29rdXBEZXNjcmlwdG9yKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKGRlc2NyaXB0b3IubG9va3VwVHlwZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgRmllbGRMb29rdXBEZXNjcmlwdG9yLkxvb2t1cFR5cGVFbnVtLkF1dG9jb21wbGV0ZTpcbiAgICAgICAgICAgICAgICAgICAgZmllbGQudHlwZSA9ICdhdXRvY29tcGxldGUnO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIEZpZWxkTG9va3VwRGVzY3JpcHRvci5Mb29rdXBUeXBlRW51bS5Ecm9wZG93bjpcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICBmaWVsZC50eXBlID0gJ2Ryb3Bkb3duJztcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoZGVzY3JpcHRvciBpbnN0YW5jZW9mIEZpZWxkTWFueVRvTWFueUVkaXRvckRlc2NyaXB0b3IpIHtcbiAgICAgICAgICAgIGZpZWxkLnR5cGUgPSAndGFibGUtZGlhbG9nLW11bHRpc2VsZWN0JztcbiAgICAgICAgfSBlbHNlIGlmIChkZXNjcmlwdG9yIGluc3RhbmNlb2YgRmllbGRNYW55RWRpdG9yRGVzY3JpcHRvcikge1xuICAgICAgICAgICAgZmllbGQudHlwZSA9ICd0YWJsZS1kaWFsb2ctZm9ybSc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZGVzY3JpcHRvci5sYWJlbCkge1xuICAgICAgICAgICAgZmllbGQudGVtcGxhdGVPcHRpb25zIS5sYWJlbCA9IGRlc2NyaXB0b3IubGFiZWw7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRlc2NyaXB0b3IucmVxdWlyZWQpIHtcbiAgICAgICAgICAgIGZpZWxkLnRlbXBsYXRlT3B0aW9ucyEucmVxdWlyZWQgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGRlc2NyaXB0b3IuZGlzYWJsZWRGdW5jdGlvbikge1xuICAgICAgICAgICAgZmllbGQuZXhwcmVzc2lvblByb3BlcnRpZXMhWyd0ZW1wbGF0ZU9wdGlvbnMuZGlzYWJsZWQnXSA9IGRlc2NyaXB0b3IuZGlzYWJsZWRGdW5jdGlvbjtcbiAgICAgICAgfSBlbHNlIGlmIChkZXNjcmlwdG9yLmRpc2FibGVkKSB7XG4gICAgICAgICAgICBmaWVsZC50ZW1wbGF0ZU9wdGlvbnMhLmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZpZWxkLmV4cHJlc3Npb25Qcm9wZXJ0aWVzIVsndGVtcGxhdGVPcHRpb25zLmRpc2FibGVkJ10gPSAnZm9ybVN0YXRlLmRpc2FibGVkJztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgZGVzY3JpcHRvci5kZWZhdWx0VmFsdWUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICBmaWVsZC5kZWZhdWx0VmFsdWUgPSBkZXNjcmlwdG9yLmRlZmF1bHRWYWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoY29uc3QgdmFsaWRhdG9yIG9mIGRlc2NyaXB0b3IudmFsaWRhdG9ycykge1xuICAgICAgICAgICAgZmllbGQudmFsaWRhdG9yc1t2YWxpZGF0b3IubmFtZV0gPSB7ZXhwcmVzc2lvbjogdmFsaWRhdG9yLmV4cHJlc3Npb24sIG1lc3NhZ2U6IHZhbGlkYXRvci5tZXNzYWdlfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmaWVsZDtcbiAgICB9XG59XG4iXX0=
182
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLWZvcm1seS51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi91dGlscy9lZGl0b3ItZm9ybWx5LnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUlILG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIseUJBQXlCLEVBQ3pCLHlCQUF5QixFQUN6QiwrQkFBK0IsRUFFbEMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixNQUFNLE9BQU8sZ0JBQWdCO0lBQ2xCLE1BQU0sQ0FBQyxnQ0FBZ0MsQ0FBQyxVQUFpQztRQUM1RSxNQUFNLE1BQU0sR0FBd0IsRUFBRSxDQUFDO1FBRXZDLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFO1lBQzVELGdCQUFnQjtZQUNoQixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsZ0JBQWdCLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1NBQ3JGO2FBQU07WUFDSCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDekU7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRU0sTUFBTSxDQUFDLG1CQUFtQixDQUFDLFNBQXlDO1FBQ3ZFLE1BQU0sU0FBUyxHQUFzQjtZQUNqQyxJQUFJLEVBQUUsTUFBTTtZQUNaLFVBQVUsRUFBRSxFQUFFO1NBQ2pCLENBQUM7UUFDRixLQUFLLE1BQU0sR0FBRyxJQUFJLFNBQVMsRUFBRTtZQUN6QixNQUFNLFFBQVEsR0FBc0I7Z0JBQ2hDLEVBQUUsRUFBRSxHQUFHLENBQUMsSUFBSTtnQkFDWixlQUFlLEVBQUUsRUFBRTtn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QyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDLE9BQU8sRUFBQyxDQUFDO1NBQ3JHO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtGb3JtbHlGaWVsZENvbmZpZ30gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5cbmltcG9ydCB7XG4gICAgQUZpZWxkRGVzY3JpcHRvcixcbiAgICBFZGl0b3JEZXNjcmlwdG9yLFxuICAgIEZpZWxkR3JvdXBEZXNjcmlwdG9yLFxuICAgIEZpZWxkSW5wdXREZXNjcmlwdG9yLFxuICAgIEZpZWxkTG9va3VwRGVzY3JpcHRvcixcbiAgICBGaWVsZExvb2t1cEVudW1EZXNjcmlwdG9yLFxuICAgIEZpZWxkTWFueUVkaXRvckRlc2NyaXB0b3IsXG4gICAgRmllbGRNYW55VG9NYW55RWRpdG9yRGVzY3JpcHRvcixcbiAgICBGaWVsZFRhYkdyb3VwRGVzY3JpcHRvclxufSBmcm9tICcuLi9kZXNjcmlwdG9ycyc7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JGb3JtbHlVdGlsIHtcbiAgICBwdWJsaWMgc3RhdGljIGNyZWF0ZUZvcm1seUNvbmZpZ0Zyb21EZXNjcmlwdG9yKGRlc2NyaXB0b3I6IEVkaXRvckRlc2NyaXB0b3I8YW55Pik6IEZvcm1seUZpZWxkQ29uZmlnW10ge1xuICAgICAgICBjb25zdCBmaWVsZHM6IEZvcm1seUZpZWxkQ29uZmlnW10gPSBbXTtcblxuICAgICAgICBpZiAoZGVzY3JpcHRvci50YWJzLmxlbmd0aCA9PT0gMSAmJiBkZXNjcmlwdG9yLnRhYnNbMF0uZGVmYXVsdCkge1xuICAgICAgICAgICAgLy8gZG9udCB1c2UgdGFic1xuICAgICAgICAgICAgZmllbGRzLnB1c2goLi4uRWRpdG9yRm9ybWx5VXRpbC5jcmVhdGVGb3JtbHlHcm91cFR5cGUoZGVzY3JpcHRvci50YWJzWzBdLmZpZWxkcykpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZmllbGRzLnB1c2goLi4uRWRpdG9yRm9ybWx5VXRpbC5jcmVhdGVGb3JtbHlUYWJUeXBlKGRlc2NyaXB0b3IudGFicykpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZpZWxkcztcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGNyZWF0ZUZvcm1seVRhYlR5cGUodGFiR3JvdXBzOiBGaWVsZFRhYkdyb3VwRGVzY3JpcHRvcjxhbnk+W10pOiBGb3JtbHlGaWVsZENvbmZpZ1tdIHtcbiAgICAgICAgY29uc3QgdGFic0ZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZyA9IHtcbiAgICAgICAgICAgIHR5cGU6ICd0YWJzJyxcbiAgICAgICAgICAgIGZpZWxkR3JvdXA6IFtdXG4gICAgICAgIH07XG4gICAgICAgIGZvciAoY29uc3QgdGFiIG9mIHRhYkdyb3Vwcykge1xuICAgICAgICAgICAgY29uc3QgdGFiRmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnID0ge1xuICAgICAgICAgICAgICAgIGlkOiB0YWIubmFtZSxcbiAgICAgICAgICAgICAgICB0ZW1wbGF0ZU9wdGlvbnM6IHt9LFxuICAgICAgICAgICAgICAgIGZpZWxkR3JvdXA6IFtdXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaWYgKHRhYi50aXRsZSkge1xuICAgICAgICAgICAgICAgIHRhYkZpZWxkLnRlbXBsYXRlT3B0aW9ucyEubGFiZWwgPSB0YWIudGl0bGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0YWJGaWVsZC5maWVsZEdyb3VwIS5wdXNoKC4uLkVkaXRvckZvcm1seVV0aWwuY3JlYXRlRm9ybWx5R3JvdXBUeXBlKHRhYi5maWVsZHMpKTtcbiAgICAgICAgICAgIHRhYnNGaWVsZC5maWVsZEdyb3VwIS5wdXNoKHRhYkZpZWxkKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gW3RhYnNGaWVsZF07XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBjcmVhdGVGb3JtbHlHcm91cFR5cGUoZ3JvdXBzOiBGaWVsZEdyb3VwRGVzY3JpcHRvcjxhbnk+W10pOiBGb3JtbHlGaWVsZENvbmZpZ1tdIHtcbiAgICAgICAgaWYgKGdyb3Vwcy5sZW5ndGggPT09IDEgJiYgZ3JvdXBzWzBdLmRlZmF1bHQpIHtcbiAgICAgICAgICAgIC8vIGRvbnQgdXNlIGZpZWxkc2V0LCBqdXN0IGNyZWF0ZSBmaWVsZHNcbiAgICAgICAgICAgIHJldHVybiBFZGl0b3JGb3JtbHlVdGlsLmNyZWF0ZUZvcm1seUZpZWxkcyhncm91cHNbMF0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZ3JvdXBzRmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnID0ge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdmaWVsZHNldCcsXG4gICAgICAgICAgICAgICAgZmllbGRHcm91cDogW11cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGdyb3VwIG9mIGdyb3Vwcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGdyb3VwRmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnID0ge1xuICAgICAgICAgICAgICAgICAgICBpZDogZ3JvdXAubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVPcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdG9yOiBncm91cFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBmaWVsZEdyb3VwOiBbXVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgaWYgKGdyb3VwLnRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGdyb3VwRmllbGQudGVtcGxhdGVPcHRpb25zIS5sYWJlbCA9IGdyb3VwLnRpdGxlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBncm91cEZpZWxkLmZpZWxkR3JvdXAhLnB1c2goLi4uRWRpdG9yRm9ybWx5VXRpbC5jcmVhdGVGb3JtbHlGaWVsZHMoZ3JvdXApKTtcbiAgICAgICAgICAgICAgICBncm91cHNGaWVsZC5maWVsZEdyb3VwIS5wdXNoKGdyb3VwRmllbGQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIFtncm91cHNGaWVsZF07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGNyZWF0ZUZvcm1seUZpZWxkcyhkZXNjcmlwdG9yOiBGaWVsZEdyb3VwRGVzY3JpcHRvcjxhbnk+KTogRm9ybWx5RmllbGRDb25maWdbXSB7XG4gICAgICAgIGNvbnN0IGZpZWxkczogRm9ybWx5RmllbGRDb25maWdbXSA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IGRlc2NyaXB0b3JGaWVsZCBvZiBkZXNjcmlwdG9yLmZpZWxkcykge1xuICAgICAgICAgICAgZmllbGRzLnB1c2goRWRpdG9yRm9ybWx5VXRpbC5jcmVhdGVGb3JtbHlGaWVsZChkZXNjcmlwdG9yRmllbGQpKTtcbiAgICAgICAgfVxuICAgICAgICAvLyB3cmFwIGluIGdyb3VwIHRvIGJlIGFibGUgdG8gdXNlIGZsZXggZ3JpZFxuICAgICAgICBjb25zdCB3cmFwcGVyR3JvdXA6IEZvcm1seUZpZWxkQ29uZmlnID0ge1xuICAgICAgICAgICAgZmllbGRHcm91cENsYXNzTmFtZTogJ3AtZmx1aWQgZm9ybWdyaWQgZ3JpZCcsXG4gICAgICAgICAgICBmaWVsZEdyb3VwOiBmaWVsZHMsXG4gICAgICAgICAgICB2YWxpZGF0b3JzOiB7fVxuICAgICAgICB9O1xuXG4gICAgICAgIGZvciAoY29uc3QgdmFsaWRhdG9yIG9mIGRlc2NyaXB0b3IudmFsaWRhdG9ycykge1xuICAgICAgICAgICAgd3JhcHBlckdyb3VwLnZhbGlkYXRvcnNbdmFsaWRhdG9yLm5hbWVdID0ge2V4cHJlc3Npb246IHZhbGlkYXRvci5leHByZXNzaW9uLCBtZXNzYWdlOiB2YWxpZGF0b3IubWVzc2FnZX07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gW3dyYXBwZXJHcm91cF07XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBjcmVhdGVGb3JtbHlGaWVsZChkZXNjcmlwdG9yOiBBRmllbGREZXNjcmlwdG9yPGFueSwgYW55Pik6IEZvcm1seUZpZWxkQ29uZmlnIHtcbiAgICAgICAgY29uc3QgZmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnID0ge1xuICAgICAgICAgICAga2V5OiBkZXNjcmlwdG9yLnByb3BlcnR5LFxuICAgICAgICAgICAgZXhwcmVzc2lvblByb3BlcnRpZXM6IHt9LFxuICAgICAgICAgICAgdGVtcGxhdGVPcHRpb25zOiB7fSxcbiAgICAgICAgICAgIHZhbGlkYXRvcnM6IHt9XG4gICAgICAgIH07XG5cbiAgICAgICAgbGV0IGNsYXNzTmFtZSA9IGRlc2NyaXB0b3IuY2xhc3NOYW1lO1xuICAgICAgICBpZiAoIWNsYXNzTmFtZSkge1xuICAgICAgICAgICAgLy8gYXNzaWduIGRlZmF1bHQgZmllbGQgd2lkdGggdGhyb3VnaCBlbnRpcmUgcm93XG4gICAgICAgICAgICBjbGFzc05hbWUgPSAnY29sLTEyJztcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2xhc3NOYW1lLmluZGV4T2YoJ2NvbC0nKSA8IDApIHtcbiAgICAgICAgICAgIC8vIGNsYXNzIHdhcyBwcm92aWRlZCwgYnV0IGRvZXMgbm90IGNvbnRhaW4gY29sLSBkZWZpbml0aW9uXG4gICAgICAgICAgICBjbGFzc05hbWUgPSBgY29sLTEyICR7ZGVzY3JpcHRvci5jbGFzc05hbWV9YDtcbiAgICAgICAgfVxuICAgICAgICBmaWVsZC5jbGFzc05hbWUgPSBjbGFzc05hbWU7XG5cbiAgICAgICAgZmllbGQudGVtcGxhdGVPcHRpb25zIVsnZGVzY3JpcHRvciddID0gZGVzY3JpcHRvcjtcbiAgICAgICAgaWYgKGRlc2NyaXB0b3IgaW5zdGFuY2VvZiBGaWVsZElucHV0RGVzY3JpcHRvcikge1xuICAgICAgICAgICAgc3dpdGNoIChkZXNjcmlwdG9yLmZpZWxkVHlwZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgRmllbGRJbnB1dERlc2NyaXB0b3IuVHlwZUVudW0uSGlkZGVuOlxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIEZpZWxkSW5wdXREZXNjcmlwdG9yLlR5cGVFbnVtLlRleHRhcmVhOlxuICAgICAgICAgICAgICAgICAgICBmaWVsZC50eXBlID0gJ3RleHRhcmVhJztcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBGaWVsZElucHV0RGVzY3JpcHRvci5UeXBlRW51bS5OdW1iZXI6XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkLnR5cGUgPSAnbnVtYmVyJztcbiAgICAgICAgICAgICAgICAgICAgZmllbGQudGVtcGxhdGVPcHRpb25zIS5taW4gPSBkZXNjcmlwdG9yLm51bWJlck1pbjtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQudGVtcGxhdGVPcHRpb25zIS5tYXggPSBkZXNjcmlwdG9yLm51bWJlck1heDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBGaWVsZElucHV0RGVzY3JpcHRvci5UeXBlRW51bS5Td2l0Y2g6XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkLnR5cGUgPSAnc3dpdGNoJztcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBGaWVsZElucHV0RGVzY3JpcHRvci5UeXBlRW51bS5SYWRpbzpcbiAgICAgICAgICAgICAgICAgICAgZmllbGQudHlwZSA9ICdyYWRpbyc7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgRmllbGRJbnB1dERlc2NyaXB0b3IuVHlwZUVudW0uRGF0ZXBpY2tlcjpcbiAgICAgICAgICAgICAgICAgICAgZmllbGQudHlwZSA9ICdkYXRlcGlja2VyJztcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBGaWVsZElucHV0RGVzY3JpcHRvci5UeXBlRW51bS5NYXNrOlxuICAgICAgICAgICAgICAgICAgICBmaWVsZC50eXBlID0gJ21hc2snO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIEZpZWxkSW5wdXREZXNjcmlwdG9yLlR5cGVFbnVtLkN1c3RvbTpcbiAgICAgICAgICAgICAgICAgICAgZmllbGQudHlwZSA9IGRlc2NyaXB0b3IuY3VzdG9tQ29tcG9uZW50TmFtZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgZmllbGQudHlwZSA9ICdpbnB1dCc7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkLnRlbXBsYXRlT3B0aW9ucyEubWluTGVuZ3RoID0gZGVzY3JpcHRvci5taW5MZW5ndGg7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkLnRlbXBsYXRlT3B0aW9ucyEubWF4TGVuZ3RoID0gZGVzY3JpcHRvci5tYXhMZW5ndGg7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkLnRlbXBsYXRlT3B0aW9ucyEucGF0dGVybiA9IGRlc2NyaXB0b3IucGF0dGVybjtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoZGVzY3JpcHRvciBpbnN0YW5jZW9mIEZpZWxkTG9va3VwRW51bURlc2NyaXB0b3IpIHtcbiAgICAgICAgICAgIGZpZWxkLnR5cGUgPSAnZW51bSc7XG4gICAgICAgIH0gZWxzZSBpZiAoZGVzY3JpcHRvciBpbnN0YW5jZW9mIEZpZWxkTG9va3VwRGVzY3JpcHRvcikge1xuICAgICAgICAgICAgc3dpdGNoIChkZXNjcmlwdG9yLmxvb2t1cFR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlIEZpZWxkTG9va3VwRGVzY3JpcHRvci5Mb29rdXBUeXBlRW51bS5BdXRvY29tcGxldGU6XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkLnR5cGUgPSAnYXV0b2NvbXBsZXRlJztcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBGaWVsZExvb2t1cERlc2NyaXB0b3IuTG9va3VwVHlwZUVudW0uRGlhbG9nOlxuICAgICAgICAgICAgICAgICAgICBmaWVsZC50eXBlID0gJ2RpYWxvZyc7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgRmllbGRMb29rdXBEZXNjcmlwdG9yLkxvb2t1cFR5cGVFbnVtLkRyb3Bkb3duOlxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkLnR5cGUgPSAnZHJvcGRvd24nO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChkZXNjcmlwdG9yIGluc3RhbmNlb2YgRmllbGRNYW55VG9NYW55RWRpdG9yRGVzY3JpcHRvcikge1xuICAgICAgICAgICAgZmllbGQudHlwZSA9ICd0YWJsZS1kaWFsb2ctbXVsdGlzZWxlY3QnO1xuICAgICAgICB9IGVsc2UgaWYgKGRlc2NyaXB0b3IgaW5zdGFuY2VvZiBGaWVsZE1hbnlFZGl0b3JEZXNjcmlwdG9yKSB7XG4gICAgICAgICAgICBmaWVsZC50eXBlID0gJ3RhYmxlLWRpYWxvZy1mb3JtJztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChkZXNjcmlwdG9yLmxhYmVsKSB7XG4gICAgICAgICAgICBmaWVsZC50ZW1wbGF0ZU9wdGlvbnMhLmxhYmVsID0gZGVzY3JpcHRvci5sYWJlbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChkZXNjcmlwdG9yLnJlcXVpcmVkRXhwcmVzc2lvbikge1xuICAgICAgICAgICAgZmllbGQuZXhwcmVzc2lvblByb3BlcnRpZXMhWyd0ZW1wbGF0ZU9wdGlvbnMucmVxdWlyZWQnXSA9IGRlc2NyaXB0b3IucmVxdWlyZWRFeHByZXNzaW9uO1xuICAgICAgICB9XG4gICAgICAgIGlmIChkZXNjcmlwdG9yLnJlcXVpcmVkKSB7XG4gICAgICAgICAgICBmaWVsZC50ZW1wbGF0ZU9wdGlvbnMhLnJlcXVpcmVkID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChkZXNjcmlwdG9yLmhpZGRlbkV4cHJlc3Npb24pIHtcbiAgICAgICAgICAgIGZpZWxkLmV4cHJlc3Npb25Qcm9wZXJ0aWVzIVsnaGlkZSddID0gZGVzY3JpcHRvci5oaWRkZW5FeHByZXNzaW9uO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGRlc2NyaXB0b3IuZGlzYWJsZWRFeHByZXNzaW9uKSB7XG4gICAgICAgICAgICBmaWVsZC5leHByZXNzaW9uUHJvcGVydGllcyFbJ3RlbXBsYXRlT3B0aW9ucy5kaXNhYmxlZCddID0gZGVzY3JpcHRvci5kaXNhYmxlZEV4cHJlc3Npb247XG4gICAgICAgIH0gZWxzZSBpZiAoZGVzY3JpcHRvci5kaXNhYmxlZCkge1xuICAgICAgICAgICAgZmllbGQudGVtcGxhdGVPcHRpb25zIS5kaXNhYmxlZCA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBmaWVsZC5leHByZXNzaW9uUHJvcGVydGllcyFbJ3RlbXBsYXRlT3B0aW9ucy5kaXNhYmxlZCddID0gJ2Zvcm1TdGF0ZS5kaXNhYmxlZCc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIGRlc2NyaXB0b3IuZGVmYXVsdFZhbHVlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgZmllbGQuZGVmYXVsdFZhbHVlID0gZGVzY3JpcHRvci5kZWZhdWx0VmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IHZhbGlkYXRvciBvZiBkZXNjcmlwdG9yLnZhbGlkYXRvcnMpIHtcbiAgICAgICAgICAgIGZpZWxkLnZhbGlkYXRvcnNbdmFsaWRhdG9yLm5hbWVdID0ge2V4cHJlc3Npb246IHZhbGlkYXRvci5leHByZXNzaW9uLCBtZXNzYWdlOiB2YWxpZGF0b3IubWVzc2FnZX07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmllbGQ7XG4gICAgfVxufVxuIl19
@@ -64,6 +64,34 @@ export class I18nUtil {
64
64
  }
65
65
  return i18nParameters;
66
66
  }
67
+ static instantErrorI18nTranslation(translate, error, i18nParameters = {}) {
68
+ i18nParameters.errorStatus = '';
69
+ i18nParameters.errorMessage = '';
70
+ if (error.messageCode) {
71
+ const params = I18nUtil.getErrorI18nParams(error);
72
+ const keys = [`errors.${error.messageCode}`, `messages.${error.messageCode}`];
73
+ const i18ns = translate.instant(keys, params);
74
+ const i18n = I18nUtil.selectKeyByPriority(keys, i18ns);
75
+ if (i18n) {
76
+ return i18n;
77
+ }
78
+ }
79
+ return translate.instant(error.message);
80
+ }
81
+ static getErrorI18nParams(error, i18nParameters = {}) {
82
+ i18nParameters.errorStatus = '';
83
+ i18nParameters.errorMessage = '';
84
+ if (error.status) {
85
+ i18nParameters.errorStatus = error.status;
86
+ }
87
+ if (error.message) {
88
+ i18nParameters.errorMessage = error.message;
89
+ }
90
+ if (error.statusDescription) {
91
+ i18nParameters.errorStatusDescription = error.statusDescription;
92
+ }
93
+ return i18nParameters;
94
+ }
67
95
  static instantModelName(translate, model, singular) {
68
96
  const keys = I18nUtil.getModelNameKeys(model, singular);
69
97
  const i18n = translate.instant(keys);
@@ -134,4 +162,4 @@ export class I18nUtil {
134
162
  }
135
163
  }
136
164
  }
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi91dGlscy9pMThuLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFJcEQsTUFBTSxPQUFPLFFBQVE7SUFDVixNQUFNLENBQUMsdUJBQXVCLENBQ2pDLFNBQTJCLEVBQzNCLEtBQTJCLEVBQzNCLE9BQWUsRUFDZixTQUFrQixFQUNsQixJQUFVLEVBQ1YsV0FBb0IsRUFDcEIsVUFBZ0I7UUFFaEIsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLHNCQUFzQixDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3JGLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3hFLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLGFBQWEsSUFBSSxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUN2SCxPQUFPLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBMkIsRUFBRSxHQUFXO1FBQ2pFLE9BQU8sUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsUUFBUSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFTSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBMkIsRUFBRSxLQUFhO1FBQ3JFLE9BQU8sUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxLQUFLLEVBQUUsQ0FB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T0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFjLEVBQUUsSUFBUztRQUN4RCxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRTtZQUNwQixJQUFJLEdBQUcsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ25CLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3BCO1NBQ0o7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU8sTUFBTSxDQUFDLGdCQUFnQixDQUFDLFNBQTJCLEVBQUUsYUFBc0I7UUFDL0UsSUFBSSxhQUFhLEVBQUU7WUFDZixNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLHVCQUF1QixhQUFhLFFBQVEsQ0FBQyxDQUFDO1lBQ3BGLElBQUksV0FBVyxLQUFLLGFBQWEsRUFBRTtnQkFDL0IsT0FBTyxJQUFJLENBQUM7YUFDZjtZQUNELE9BQU8sV0FBVyxDQUFDO1NBQ3RCO2FBQU07WUFDSCxPQUFPLElBQUksQ0FBQztTQUNmO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpcnN0LCBtYXAsIG1lcmdlTWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7QWN0aW9uRGVzY3JpcHRvciwgTW9kZWxEZXNjcmlwdG9yfSBmcm9tICcuLi9kZXNjcmlwdG9ycyc7XG5cbmV4cG9ydCBjbGFzcyBJMThuVXRpbCB7XG4gICAgcHVibGljIHN0YXRpYyBpbnN0YW50TW9kZWxUcmFuc2xhdGlvbihcbiAgICAgICAgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBtb2RlbDogTW9kZWxEZXNjcmlwdG9yPGFueT4sXG4gICAgICAgIGtleVBhdGg6IHN0cmluZyxcbiAgICAgICAgY3VzdG9tS2V5Pzogc3RyaW5nLFxuICAgICAgICBpdGVtPzogYW55LFxuICAgICAgICBmYWxsYmFja0tleT86IHN0cmluZyxcbiAgICAgICAgaTE4blBhcmFtcz86IGFueVxuICAgICk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBjb25zdCBrZXlzID0gSTE4blV0aWwuZ2V0TW9kZWxLZXlzQnlQcmlvcml0eShtb2RlbCwga2V5UGF0aCwgY3VzdG9tS2V5LCBmYWxsYmFja0tleSk7XG4gICAgICAgIGNvbnN0IGkxOG5Nb2RlbE5hbWUgPSBJMThuVXRpbC5pbnN0YW50TW9kZWxOYW1lKHRyYW5zbGF0ZSwgbW9kZWwsIHRydWUpO1xuICAgICAgICBjb25zdCBpMThuID0gdHJhbnNsYXRlLmluc3RhbnQoa2V5cywgSTE4blV0aWwuZ2V0TW9kZWxJMThuUGFyYW1zKG1vZGVsLCBpdGVtLCBpMThuTW9kZWxOYW1lID8/IHVuZGVmaW5lZCwgaTE4blBhcmFtcykpO1xuICAgICAgICByZXR1cm4gSTE4blV0aWwuc2VsZWN0S2V5QnlQcmlvcml0eShrZXlzLCBpMThuKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldE1vZGVsVGFiS2V5KG1vZGVsOiBNb2RlbERlc2NyaXB0b3I8YW55PiwgdGFiOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gSTE4blV0aWwuZ2V0TW9kZWxLZXlQYXRoKG1vZGVsLCBgdGFicy4ke3RhYn1gKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldE1vZGVsR3JvdXBLZXkobW9kZWw6IE1vZGVsRGVzY3JpcHRvcjxhbnk+LCBncm91cDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIEkxOG5VdGlsLmdldE1vZGVsS2V5UGF0aChtb2RlbCwgYGdyb3Vwcy4ke2dyb3VwfWApO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0TW9kZWxQcm9wZXJ0eUtleShtb2RlbDogTW9kZWxEZXNjcmlwdG9yPGFueT4sIHByb3BlcnR5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gSTE4blV0aWwuZ2V0TW9kZWxLZXlQYXRoKG1vZGVsLCBgcHJvcGVydGllcy4ke3Byb3BlcnR5fWApO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgaW5zdGFudEFjdGlvblRyYW5zbGF0aW9uKFxuICAgICAgICB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIGFjdGlvbjogQWN0aW9uRGVzY3JpcHRvcjxhbnk+LFxuICAgICAgICBrZXlQYXRoOiBzdHJpbmcsXG4gICAgICAgIGN1c3RvbUtleT86IHN0cmluZyxcbiAgICAgICAgaXRlbT86IGFueSxcbiAgICAgICAgZmFsbGJhY2tLZXk/OiBzdHJpbmcsXG4gICAgICAgIGZ1bmN0aW9uTmFtZUtleT86IHN0cmluZyxcbiAgICAgICAgaTE4blBhcmFtcz86IGFueVxuICAgICk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBjb25zdCBrZXlzID0gSTE4blV0aWwuZ2V0QWN0aW9uS2V5c0J5UHJpb3JpdHkoYWN0aW9uLCBrZXlQYXRoLCBjdXN0b21LZXksIGZhbGxiYWNrS2V5KTtcbiAgICAgICAgY29uc3QgaTE4bk1vZGVsTmFtZSA9IEkxOG5VdGlsLmluc3RhbnRNb2RlbE5hbWUodHJhbnNsYXRlLCBhY3Rpb24/Lm1vZGVsLCB0cnVlKTtcbiAgICAgICAgY29uc3QgaTE4bkZ1bmN0aW9uVGl0bGUgPSBJMThuVXRpbC5nZXRGdW5jdGlvblRpdGxlKHRyYW5zbGF0ZSwgZnVuY3Rpb25OYW1lS2V5KTtcbiAgICAgICAgY29uc3QgaTE4biA9IHRyYW5zbGF0ZS5pbnN0YW50KGtleXMsIEkxOG5VdGlsLmdldEFjdGlvbkkxOG5QYXJhbXMoYWN0aW9uLCBpdGVtLCBpMThuTW9kZWxOYW1lID8/IHVuZGVmaW5lZCwgaTE4blBhcmFtcywgaTE4bkZ1bmN0aW9uVGl0bGUpKTtcbiAgICAgICAgcmV0dXJuIEkxOG5VdGlsLnNlbGVjdEtleUJ5UHJpb3JpdHkoa2V5cywgaTE4bik7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBzdHJlYW1BY3Rpb25UcmFuc2xhdGlvbihcbiAgICAgICAgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBhY3Rpb246IEFjdGlvbkRlc2NyaXB0b3I8YW55PixcbiAgICAgICAga2V5UGF0aDogc3RyaW5nLFxuICAgICAgICBjdXN0b21LZXk/OiBzdHJpbmcsXG4gICAgICAgIGl0ZW0/OiBhbnksXG4gICAgICAgIGZhbGxiYWNrS2V5Pzogc3RyaW5nXG4gICAgKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgICAgIHJldHVybiBJMThuVXRpbC5nZXRBY3Rpb25UcmFuc2xhdGlvbih0cmFuc2xhdGUsIGFjdGlvbiwga2V5UGF0aCwgY3VzdG9tS2V5LCBpdGVtLCBmYWxsYmFja0tleSwgZmFsc2UpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0QWN0aW9uVHJhbnNsYXRpb24oXG4gICAgICAgIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgYWN0aW9uOiBBY3Rpb25EZXNjcmlwdG9yPGFueT4sXG4gICAgICAgIGtleVBhdGg6IHN0cmluZyxcbiAgICAgICAgY3VzdG9tS2V5Pzogc3RyaW5nLFxuICAgICAgICBpdGVtPzogYW55LFxuICAgICAgICBmYWxsYmFja0tleT86IHN0cmluZyxcbiAgICAgICAgb25lVGltZSA9IHRydWVcbiAgICApOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+IHtcbiAgICAgICAgY29uc3Qga2V5cyA9IEkxOG5VdGlsLmdldEFjdGlvbktleXNCeVByaW9yaXR5KGFjdGlvbiwga2V5UGF0aCwgY3VzdG9tS2V5LCBmYWxsYmFja0tleSk7XG4gICAgICAgIHJldHVybiBJMThuVXRpbC5nZXRNb2RlbE5hbWUodHJhbnNsYXRlLCBhY3Rpb24/Lm1vZGVsLCBvbmVUaW1lLCB0cnVlKS5waXBlKFxuICAgICAgICAgICAgbWVyZ2VNYXAoaTE4bk1vZGVsTmFtZSA9PiB0cmFuc2xhdGUuZ2V0KGtleXMsIEkxOG5VdGlsLmdldEFjdGlvbkkxOG5QYXJhbXMoYWN0aW9uLCBpdGVtLCBpMThuTW9kZWxOYW1lID8/IHVuZGVmaW5lZCkpKSxcbiAgICAgICAgICAgIG1hcChpMThuID0+IEkxOG5VdGlsLnNlbGVjdEtleUJ5UHJpb3JpdHkoa2V5cywgaTE4bikpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXRNb2RlbEkxOG5QYXJhbXMobW9kZWw6IE1vZGVsRGVzY3JpcHRvcjxhbnk+LCBpdGVtOiBhbnksIGkxOG5Nb2RlbE5hbWU/OiBzdHJpbmcsIGkxOG5QYXJhbWV0ZXJzOiBhbnkgPSB7fSkge1xuICAgICAgICBpMThuUGFyYW1ldGVycy5pdGVtSWQgPSAnJztcbiAgICAgICAgaTE4blBhcmFtZXRlcnMuaXRlbVRpdGxlID0gJyc7XG5cbiAgICAgICAgaWYgKGkxOG5Nb2RlbE5hbWUpIHtcbiAgICAgICAgICAgIGkxOG5QYXJhbWV0ZXJzLm1vZGVsTmFtZSA9IGkxOG5Nb2RlbE5hbWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgICAgIGlmIChtb2RlbC5pZFByb3BlcnR5TmFtZSAmJiBpdGVtW21vZGVsLmlkUHJvcGVydHlOYW1lXSkge1xuICAgICAgICAgICAgICAgIGkxOG5QYXJhbWV0ZXJzLml0ZW1JZCA9IGl0ZW1bbW9kZWwuaWRQcm9wZXJ0eU5hbWVdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG1vZGVsLnRpdGxlUHJvcGVydHlOYW1lICYmIGl0ZW1bbW9kZWwudGl0bGVQcm9wZXJ0eU5hbWVdKSB7XG4gICAgICAgICAgICAgICAgaTE4blBhcmFtZXRlcnMuaXRlbVRpdGxlID0gaXRlbVttb2RlbC50aXRsZVByb3BlcnR5TmFtZV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGkxOG5QYXJhbWV0ZXJzO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0QWN0aW9uSTE4blBhcmFtcyhhY3Rpb246IEFjdGlvbkRlc2NyaXB0b3I8YW55PiwgaXRlbTogYW55LCBpMThuTW9kZWxOYW1lPzogc3RyaW5nLCBpMThuUGFyYW1ldGVyczogYW55ID0ge30sIGZ1bmN0aW9uVGl0bGU/OiBzdHJpbmcpIHtcbiAgICAgICAgaTE4blBhcmFtZXRlcnMuaXRlbUlkID0gJyc7XG4gICAgICAgIGkxOG5QYXJhbWV0ZXJzLml0ZW1UaXRsZSA9ICcnO1xuXG4gICAgICAgIGlmIChmdW5jdGlvblRpdGxlKSB7XG4gICAgICAgICAgICBpMThuUGFyYW1ldGVycy5mdW5jdGlvblRpdGxlID0gZnVuY3Rpb25UaXRsZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaTE4bk1vZGVsTmFtZSkge1xuICAgICAgICAgICAgaTE4blBhcmFtZXRlcnMubW9kZWxOYW1lID0gaTE4bk1vZGVsTmFtZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgICAgaWYgKGFjdGlvbi5tb2RlbC5pZFByb3BlcnR5TmFtZSAmJiBpdGVtW2FjdGlvbi5tb2RlbC5pZFByb3BlcnR5TmFtZV0pIHtcbiAgICAgICAgICAgICAgICBpMThuUGFyYW1ldGVycy5pdGVtSWQgPSBpdGVtW2FjdGlvbi5tb2RlbC5pZFByb3BlcnR5TmFtZV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoYWN0aW9uLm1vZGVsLnRpdGxlUHJvcGVydHlOYW1lICYmIGl0ZW1bYWN0aW9uLm1vZGVsLnRpdGxlUHJvcGVydHlOYW1lXSkge1xuICAgICAgICAgICAgICAgIGkxOG5QYXJhbWV0ZXJzLml0ZW1UaXRsZSA9IGl0ZW1bYWN0aW9uLm1vZGVsLnRpdGxlUHJvcGVydHlOYW1lXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaTE4blBhcmFtZXRlcnM7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBpbnN0YW50TW9kZWxOYW1lKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgbW9kZWw6IE1vZGVsRGVzY3JpcHRvcjxhbnk+LCBzaW5ndWxhcj86IGJvb2xlYW4pOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgY29uc3Qga2V5cyA9IEkxOG5VdGlsLmdldE1vZGVsTmFtZUtleXMobW9kZWwsIHNpbmd1bGFyKTtcbiAgICAgICAgY29uc3QgaTE4biA9IHRyYW5zbGF0ZS5pbnN0YW50KGtleXMpO1xuICAgICAgICByZXR1cm4gSTE4blV0aWwuc2VsZWN0S2V5QnlQcmlvcml0eShrZXlzLCBpMThuKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldE1vZGVsTmFtZSh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIG1vZGVsOiBNb2RlbERlc2NyaXB0b3I8YW55Piwgb25lVGltZSA9IHRydWUsIHNpbmd1bGFyPzogYm9vbGVhbik6IE9ic2VydmFibGU8c3RyaW5nIHwgbnVsbD4ge1xuICAgICAgICBjb25zdCBrZXlzID0gSTE4blV0aWwuZ2V0TW9kZWxOYW1lS2V5cyhtb2RlbCwgc2luZ3VsYXIpO1xuICAgICAgICBjb25zdCBvYnMgPSB0cmFuc2xhdGUuc3RyZWFtKGtleXMpO1xuICAgICAgICBpZiAob25lVGltZSkge1xuICAgICAgICAgICAgb2JzLnBpcGUoZmlyc3QoKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9icy5waXBlKG1hcChpMThuID0+IEkxOG5VdGlsLnNlbGVjdEtleUJ5UHJpb3JpdHkoa2V5cywgaTE4bikpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldE1vZGVsTmFtZUtleXMobW9kZWw6IE1vZGVsRGVzY3JpcHRvcjxhbnk+LCBzaW5ndWxhcj86IGJvb2xlYW4pIHtcbiAgICAgICAgY29uc3Qga2V5cyA9IFtdO1xuICAgICAgICBpZiAoc2luZ3VsYXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAga2V5cy5wdXNoKHNpbmd1bGFyID8gYCR7bW9kZWw/LnR5cGVOYW1lfS5uYW1lU2luZ3VsYXJgIDogYCR7bW9kZWw/LnR5cGVOYW1lfS5uYW1lUGx1cmFsYCk7XG4gICAgICAgIH1cbiAgICAgICAga2V5cy5wdXNoKGAke21vZGVsPy50eXBlTmFtZX0ubmFtZWApO1xuICAgICAgICByZXR1cm4ga2V5cztcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBnZXRNb2RlbEtleXNCeVByaW9yaXR5KG1vZGVsOiBNb2RlbERlc2NyaXB0b3I8YW55Piwga2V5UGF0aDogc3RyaW5nLCBjdXN0b21LZXk/OiBzdHJpbmcsIGZhbGxiYWNrS2V5Pzogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGtleXMgPSBbXTtcbiAgICAgICAgaWYgKGN1c3RvbUtleSkge1xuICAgICAgICAgICAga2V5cy5wdXNoKGN1c3RvbUtleSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbW9kZWxBY3Rpb25LZXkgPSBJMThuVXRpbC5nZXRNb2RlbEtleVBhdGgobW9kZWwsIGtleVBhdGgpO1xuICAgICAgICBrZXlzLnB1c2gobW9kZWxBY3Rpb25LZXkpO1xuICAgICAgICBpZiAoZmFsbGJhY2tLZXkpIHtcbiAgICAgICAgICAgIGtleXMucHVzaChmYWxsYmFja0tleSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGtleXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgZ2V0TW9kZWxLZXlQYXRoKG1vZGVsOiBNb2RlbERlc2NyaXB0b3I8YW55Piwga2V5UGF0aDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBgJHttb2RlbC50eXBlTmFtZX0uJHtrZXlQYXRofWA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgZ2V0QWN0aW9uS2V5c0J5UHJpb3JpdHkoYWN0aW9uOiBBY3Rpb25EZXNjcmlwdG9yPGFueT4sIGtleVBhdGg6IHN0cmluZywgY3VzdG9tS2V5Pzogc3RyaW5nLCBmYWxsYmFja0tleT86IHN0cmluZykge1xuICAgICAgICBjb25zdCBrZXlzID0gW107XG4gICAgICAgIGlmIChjdXN0b21LZXkpIHtcbiAgICAgICAgICAgIGtleXMucHVzaChjdXN0b21LZXkpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG1vZGVsQWN0aW9uS2V5ID0gYCR7YWN0aW9uLmkxOG5Nb2RlbEFjdGlvbkJhc2VLZXl9LiR7a2V5UGF0aH1gO1xuICAgICAgICBjb25zdCBhY3Rpb25LZXkgPSBgJHthY3Rpb24uYWN0aW9uTmFtZX0uJHtrZXlQYXRofWA7XG4gICAgICAgIGtleXMucHVzaChtb2RlbEFjdGlvbktleSwgYWN0aW9uS2V5KTtcbiAgICAgICAgaWYgKGZhbGxiYWNrS2V5KSB7XG4gICAgICAgICAgICBrZXlzLnB1c2goZmFsbGJhY2tLZXkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBrZXlzO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIHNlbGVjdEtleUJ5UHJpb3JpdHkoa2V5czogc3RyaW5nW10sIGkxOG46IGFueSk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XG4gICAgICAgICAgICBpZiAoa2V5ICE9PSBpMThuW2tleV0pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaTE4bltrZXldO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIGdldEZ1bmN0aW9uVGl0bGUodHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCBmdW5jdGlvblRpdGxlPzogc3RyaW5nKSB7XG4gICAgICAgIGlmIChmdW5jdGlvblRpdGxlKSB7XG4gICAgICAgICAgICBjb25zdCB0cmFuc2xhdGlvbiA9IHRyYW5zbGF0ZS5pbnN0YW50KGBtbmdBY3Rpb24uZnVuY3Rpb25zLiR7ZnVuY3Rpb25UaXRsZX0udGl0bGVgKTtcbiAgICAgICAgICAgIGlmICh0cmFuc2xhdGlvbiA9PT0gZnVuY3Rpb25UaXRsZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRyYW5zbGF0aW9uO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi91dGlscy9pMThuLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFLcEQsTUFBTSxPQUFPLFFBQVE7SUFDVixNQUFNLENBQUMsdUJBQXVCLENBQ2pDLFNBQTJCLEVBQzNCLEtBQTJCLEVBQzNCLE9BQWUsRUFDZixTQUFrQixFQUNsQixJQUFVLEVBQ1YsV0FBb0IsRUFDcEIsVUFBZ0I7UUFFaEIsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLHNCQUFzQixDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3JGLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3hFLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLGFBQWEsSUFBSSxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUN2SCxPQUFPLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBMkIsRUFBRSxHQUFXO1FBQ2pFLE9BQU8sUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsUUFBUSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFTSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBMkIsRUFBRSxLQUFhO1FBQ3JFLE9BQU8sUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxLQUFLLEVBQUUsQ0FB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LElBQUksV0FBVyxFQUFFO1lBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUMxQjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxNQUFNLENBQUMsbUJBQW1CLENBQUMsSUFBYyxFQUFFLElBQVM7UUFDeEQsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUU7WUFDcEIsSUFBSSxHQUFHLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNuQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNwQjtTQUNKO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxTQUEyQixFQUFFLGFBQXNCO1FBQy9FLElBQUksYUFBYSxFQUFFO1lBQ2YsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsYUFBYSxRQUFRLENBQUMsQ0FBQztZQUNwRixJQUFJLFdBQVcsS0FBSyxhQUFhLEVBQUU7Z0JBQy9CLE9BQU8sSUFBSSxDQUFDO2FBQ2Y7WUFDRCxPQUFPLFdBQVcsQ0FBQztTQUN0QjthQUFNO1lBQ0gsT0FBTyxJQUFJLENBQUM7U0FDZjtJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmaXJzdCwgbWFwLCBtZXJnZU1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge0FjdGlvbkRlc2NyaXB0b3IsIE1vZGVsRGVzY3JpcHRvcn0gZnJvbSAnLi4vZGVzY3JpcHRvcnMnO1xuaW1wb3J0IHtNbmdFcnJvcn0gZnJvbSAnLi4vbW9kZWxzJztcblxuZXhwb3J0IGNsYXNzIEkxOG5VdGlsIHtcbiAgICBwdWJsaWMgc3RhdGljIGluc3RhbnRNb2RlbFRyYW5zbGF0aW9uKFxuICAgICAgICB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIG1vZGVsOiBNb2RlbERlc2NyaXB0b3I8YW55PixcbiAgICAgICAga2V5UGF0aDogc3RyaW5nLFxuICAgICAgICBjdXN0b21LZXk/OiBzdHJpbmcsXG4gICAgICAgIGl0ZW0/OiBhbnksXG4gICAgICAgIGZhbGxiYWNrS2V5Pzogc3RyaW5nLFxuICAgICAgICBpMThuUGFyYW1zPzogYW55XG4gICAgKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGtleXMgPSBJMThuVXRpbC5nZXRNb2RlbEtleXNCeVByaW9yaXR5KG1vZGVsLCBrZXlQYXRoLCBjdXN0b21LZXksIGZhbGxiYWNrS2V5KTtcbiAgICAgICAgY29uc3QgaTE4bk1vZGVsTmFtZSA9IEkxOG5VdGlsLmluc3RhbnRNb2RlbE5hbWUodHJhbnNsYXRlLCBtb2RlbCwgdHJ1ZSk7XG4gICAgICAgIGNvbnN0IGkxOG4gPSB0cmFuc2xhdGUuaW5zdGFudChrZXlzLCBJMThuVXRpbC5nZXRNb2RlbEkxOG5QYXJhbXMobW9kZWwsIGl0ZW0sIGkxOG5Nb2RlbE5hbWUgPz8gdW5kZWZpbmVkLCBpMThuUGFyYW1zKSk7XG4gICAgICAgIHJldHVybiBJMThuVXRpbC5zZWxlY3RLZXlCeVByaW9yaXR5KGtleXMsIGkxOG4pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0TW9kZWxUYWJLZXkobW9kZWw6IE1vZGVsRGVzY3JpcHRvcjxhbnk+LCB0YWI6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBJMThuVXRpbC5nZXRNb2RlbEtleVBhdGgobW9kZWwsIGB0YWJzLiR7dGFifWApO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0TW9kZWxHcm91cEtleShtb2RlbDogTW9kZWxEZXNjcmlwdG9yPGFueT4sIGdyb3VwOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gSTE4blV0aWwuZ2V0TW9kZWxLZXlQYXRoKG1vZGVsLCBgZ3JvdXBzLiR7Z3JvdXB9YCk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXRNb2RlbFByb3BlcnR5S2V5KG1vZGVsOiBNb2RlbERlc2NyaXB0b3I8YW55PiwgcHJvcGVydHk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBJMThuVXRpbC5nZXRNb2RlbEtleVBhdGgobW9kZWwsIGBwcm9wZXJ0aWVzLiR7cHJvcGVydHl9YCk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBpbnN0YW50QWN0aW9uVHJhbnNsYXRpb24oXG4gICAgICAgIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgYWN0aW9uOiBBY3Rpb25EZXNjcmlwdG9yPGFueT4sXG4gICAgICAgIGtleVBhdGg6IHN0cmluZyxcbiAgICAgICAgY3VzdG9tS2V5Pzogc3RyaW5nLFxuICAgICAgICBpdGVtPzogYW55LFxuICAgICAgICBmYWxsYmFja0tleT86IHN0cmluZyxcbiAgICAgICAgZnVuY3Rpb25OYW1lS2V5Pzogc3RyaW5nLFxuICAgICAgICBpMThuUGFyYW1zPzogYW55XG4gICAgKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGtleXMgPSBJMThuVXRpbC5nZXRBY3Rpb25LZXlzQnlQcmlvcml0eShhY3Rpb24sIGtleVBhdGgsIGN1c3RvbUtleSwgZmFsbGJhY2tLZXkpO1xuICAgICAgICBjb25zdCBpMThuTW9kZWxOYW1lID0gSTE4blV0aWwuaW5zdGFudE1vZGVsTmFtZSh0cmFuc2xhdGUsIGFjdGlvbj8ubW9kZWwsIHRydWUpO1xuICAgICAgICBjb25zdCBpMThuRnVuY3Rpb25UaXRsZSA9IEkxOG5VdGlsLmdldEZ1bmN0aW9uVGl0bGUodHJhbnNsYXRlLCBmdW5jdGlvbk5hbWVLZXkpO1xuICAgICAgICBjb25zdCBpMThuID0gdHJhbnNsYXRlLmluc3RhbnQoa2V5cywgSTE4blV0aWwuZ2V0QWN0aW9uSTE4blBhcmFtcyhhY3Rpb24sIGl0ZW0sIGkxOG5Nb2RlbE5hbWUgPz8gdW5kZWZpbmVkLCBpMThuUGFyYW1zLCBpMThuRnVuY3Rpb25UaXRsZSkpO1xuICAgICAgICByZXR1cm4gSTE4blV0aWwuc2VsZWN0S2V5QnlQcmlvcml0eShrZXlzLCBpMThuKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHN0cmVhbUFjdGlvblRyYW5zbGF0aW9uKFxuICAgICAgICB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIGFjdGlvbjogQWN0aW9uRGVzY3JpcHRvcjxhbnk+LFxuICAgICAgICBrZXlQYXRoOiBzdHJpbmcsXG4gICAgICAgIGN1c3RvbUtleT86IHN0cmluZyxcbiAgICAgICAgaXRlbT86IGFueSxcbiAgICAgICAgZmFsbGJhY2tLZXk/OiBzdHJpbmdcbiAgICApOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+IHtcbiAgICAgICAgcmV0dXJuIEkxOG5VdGlsLmdldEFjdGlvblRyYW5zbGF0aW9uKHRyYW5zbGF0ZSwgYWN0aW9uLCBrZXlQYXRoLCBjdXN0b21LZXksIGl0ZW0sIGZhbGxiYWNrS2V5LCBmYWxzZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXRBY3Rpb25UcmFuc2xhdGlvbihcbiAgICAgICAgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBhY3Rpb246IEFjdGlvbkRlc2NyaXB0b3I8YW55PixcbiAgICAgICAga2V5UGF0aDogc3RyaW5nLFxuICAgICAgICBjdXN0b21LZXk/OiBzdHJpbmcsXG4gICAgICAgIGl0ZW0/OiBhbnksXG4gICAgICAgIGZhbGxiYWNrS2V5Pzogc3RyaW5nLFxuICAgICAgICBvbmVUaW1lID0gdHJ1ZVxuICAgICk6IE9ic2VydmFibGU8c3RyaW5nIHwgbnVsbD4ge1xuICAgICAgICBjb25zdCBrZXlzID0gSTE4blV0aWwuZ2V0QWN0aW9uS2V5c0J5UHJpb3JpdHkoYWN0aW9uLCBrZXlQYXRoLCBjdXN0b21LZXksIGZhbGxiYWNrS2V5KTtcbiAgICAgICAgcmV0dXJuIEkxOG5VdGlsLmdldE1vZGVsTmFtZSh0cmFuc2xhdGUsIGFjdGlvbj8ubW9kZWwsIG9uZVRpbWUsIHRydWUpLnBpcGUoXG4gICAgICAgICAgICBtZXJnZU1hcChpMThuTW9kZWxOYW1lID0+IHRyYW5zbGF0ZS5nZXQoa2V5cywgSTE4blV0aWwuZ2V0QWN0aW9uSTE4blBhcmFtcyhhY3Rpb24sIGl0ZW0sIGkxOG5Nb2RlbE5hbWUgPz8gdW5kZWZpbmVkKSkpLFxuICAgICAgICAgICAgbWFwKGkxOG4gPT4gSTE4blV0aWwuc2VsZWN0S2V5QnlQcmlvcml0eShrZXlzLCBpMThuKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldE1vZGVsSTE4blBhcmFtcyhtb2RlbDogTW9kZWxEZXNjcmlwdG9yPGFueT4sIGl0ZW06IGFueSwgaTE4bk1vZGVsTmFtZT86IHN0cmluZywgaTE4blBhcmFtZXRlcnM6IGFueSA9IHt9KSB7XG4gICAgICAgIGkxOG5QYXJhbWV0ZXJzLml0ZW1JZCA9ICcnO1xuICAgICAgICBpMThuUGFyYW1ldGVycy5pdGVtVGl0bGUgPSAnJztcblxuICAgICAgICBpZiAoaTE4bk1vZGVsTmFtZSkge1xuICAgICAgICAgICAgaTE4blBhcmFtZXRlcnMubW9kZWxOYW1lID0gaTE4bk1vZGVsTmFtZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgICAgaWYgKG1vZGVsLmlkUHJvcGVydHlOYW1lICYmIGl0ZW1bbW9kZWwuaWRQcm9wZXJ0eU5hbWVdKSB7XG4gICAgICAgICAgICAgICAgaTE4blBhcmFtZXRlcnMuaXRlbUlkID0gaXRlbVttb2RlbC5pZFByb3BlcnR5TmFtZV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobW9kZWwudGl0bGVQcm9wZXJ0eU5hbWUgJiYgaXRlbVttb2RlbC50aXRsZVByb3BlcnR5TmFtZV0pIHtcbiAgICAgICAgICAgICAgICBpMThuUGFyYW1ldGVycy5pdGVtVGl0bGUgPSBpdGVtW21vZGVsLnRpdGxlUHJvcGVydHlOYW1lXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaTE4blBhcmFtZXRlcnM7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXRBY3Rpb25JMThuUGFyYW1zKGFjdGlvbjogQWN0aW9uRGVzY3JpcHRvcjxhbnk+LCBpdGVtOiBhbnksIGkxOG5Nb2RlbE5hbWU/OiBzdHJpbmcsIGkxOG5QYXJhbWV0ZXJzOiBhbnkgPSB7fSwgZnVuY3Rpb25UaXRsZT86IHN0cmluZykge1xuICAgICAgICBpMThuUGFyYW1ldGVycy5pdGVtSWQgPSAnJztcbiAgICAgICAgaTE4blBhcmFtZXRlcnMuaXRlbVRpdGxlID0gJyc7XG5cbiAgICAgICAgaWYgKGZ1bmN0aW9uVGl0bGUpIHtcbiAgICAgICAgICAgIGkxOG5QYXJhbWV0ZXJzLmZ1bmN0aW9uVGl0bGUgPSBmdW5jdGlvblRpdGxlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpMThuTW9kZWxOYW1lKSB7XG4gICAgICAgICAgICBpMThuUGFyYW1ldGVycy5tb2RlbE5hbWUgPSBpMThuTW9kZWxOYW1lO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgICAgICBpZiAoYWN0aW9uLm1vZGVsLmlkUHJvcGVydHlOYW1lICYmIGl0ZW1bYWN0aW9uLm1vZGVsLmlkUHJvcGVydHlOYW1lXSkge1xuICAgICAgICAgICAgICAgIGkxOG5QYXJhbWV0ZXJzLml0ZW1JZCA9IGl0ZW1bYWN0aW9uLm1vZGVsLmlkUHJvcGVydHlOYW1lXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChhY3Rpb24ubW9kZWwudGl0bGVQcm9wZXJ0eU5hbWUgJiYgaXRlbVthY3Rpb24ubW9kZWwudGl0bGVQcm9wZXJ0eU5hbWVdKSB7XG4gICAgICAgICAgICAgICAgaTE4blBhcmFtZXRlcnMuaXRlbVRpdGxlID0gaXRlbVthY3Rpb24ubW9kZWwudGl0bGVQcm9wZXJ0eU5hbWVdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpMThuUGFyYW1ldGVycztcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGluc3RhbnRFcnJvckkxOG5UcmFuc2xhdGlvbih0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIGVycm9yOiBNbmdFcnJvciwgaTE4blBhcmFtZXRlcnM6IGFueSA9IHt9KTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGkxOG5QYXJhbWV0ZXJzLmVycm9yU3RhdHVzID0gJyc7XG4gICAgICAgIGkxOG5QYXJhbWV0ZXJzLmVycm9yTWVzc2FnZSA9ICcnO1xuXG4gICAgICAgIGlmIChlcnJvci5tZXNzYWdlQ29kZSkge1xuICAgICAgICAgICAgY29uc3QgcGFyYW1zID0gSTE4blV0aWwuZ2V0RXJyb3JJMThuUGFyYW1zKGVycm9yKTtcbiAgICAgICAgICAgIGNvbnN0IGtleXMgPSBbYGVycm9ycy4ke2Vycm9yLm1lc3NhZ2VDb2RlfWAsIGBtZXNzYWdlcy4ke2Vycm9yLm1lc3NhZ2VDb2RlfWBdO1xuICAgICAgICAgICAgY29uc3QgaTE4bnMgPSB0cmFuc2xhdGUuaW5zdGFudChrZXlzLCBwYXJhbXMpO1xuICAgICAgICAgICAgY29uc3QgaTE4biA9IEkxOG5VdGlsLnNlbGVjdEtleUJ5UHJpb3JpdHkoa2V5cywgaTE4bnMpO1xuICAgICAgICAgICAgaWYgKGkxOG4pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaTE4bjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cmFuc2xhdGUuaW5zdGFudChlcnJvci5tZXNzYWdlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldEVycm9ySTE4blBhcmFtcyhlcnJvcjogTW5nRXJyb3IsIGkxOG5QYXJhbWV0ZXJzOiBhbnkgPSB7fSkge1xuICAgICAgICBpMThuUGFyYW1ldGVycy5lcnJvclN0YXR1cyA9ICcnO1xuICAgICAgICBpMThuUGFyYW1ldGVycy5lcnJvck1lc3NhZ2UgPSAnJztcblxuICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzKSB7XG4gICAgICAgICAgICBpMThuUGFyYW1ldGVycy5lcnJvclN0YXR1cyA9IGVycm9yLnN0YXR1cztcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXJyb3IubWVzc2FnZSkge1xuICAgICAgICAgICAgaTE4blBhcmFtZXRlcnMuZXJyb3JNZXNzYWdlID0gZXJyb3IubWVzc2FnZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzRGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIGkxOG5QYXJhbWV0ZXJzLmVycm9yU3RhdHVzRGVzY3JpcHRpb24gPSBlcnJvci5zdGF0dXNEZXNjcmlwdGlvbjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaTE4blBhcmFtZXRlcnM7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBpbnN0YW50TW9kZWxOYW1lKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgbW9kZWw6IE1vZGVsRGVzY3JpcHRvcjxhbnk+LCBzaW5ndWxhcj86IGJvb2xlYW4pOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgY29uc3Qga2V5cyA9IEkxOG5VdGlsLmdldE1vZGVsTmFtZUtleXMobW9kZWwsIHNpbmd1bGFyKTtcbiAgICAgICAgY29uc3QgaTE4biA9IHRyYW5zbGF0ZS5pbnN0YW50KGtleXMpO1xuICAgICAgICByZXR1cm4gSTE4blV0aWwuc2VsZWN0S2V5QnlQcmlvcml0eShrZXlzLCBpMThuKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldE1vZGVsTmFtZSh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIG1vZGVsOiBNb2RlbERlc2NyaXB0b3I8YW55Piwgb25lVGltZSA9IHRydWUsIHNpbmd1bGFyPzogYm9vbGVhbik6IE9ic2VydmFibGU8c3RyaW5nIHwgbnVsbD4ge1xuICAgICAgICBjb25zdCBrZXlzID0gSTE4blV0aWwuZ2V0TW9kZWxOYW1lS2V5cyhtb2RlbCwgc2luZ3VsYXIpO1xuICAgICAgICBjb25zdCBvYnMgPSB0cmFuc2xhdGUuc3RyZWFtKGtleXMpO1xuICAgICAgICBpZiAob25lVGltZSkge1xuICAgICAgICAgICAgb2JzLnBpcGUoZmlyc3QoKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9icy5waXBlKG1hcChpMThuID0+IEkxOG5VdGlsLnNlbGVjdEtleUJ5UHJpb3JpdHkoa2V5cywgaTE4bikpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldE1vZGVsTmFtZUtleXMobW9kZWw6IE1vZGVsRGVzY3JpcHRvcjxhbnk+LCBzaW5ndWxhcj86IGJvb2xlYW4pIHtcbiAgICAgICAgY29uc3Qga2V5cyA9IFtdO1xuICAgICAgICBpZiAoc2luZ3VsYXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAga2V5cy5wdXNoKHNpbmd1bGFyID8gYCR7bW9kZWw/LnR5cGVOYW1lfS5uYW1lU2luZ3VsYXJgIDogYCR7bW9kZWw/LnR5cGVOYW1lfS5uYW1lUGx1cmFsYCk7XG4gICAgICAgIH1cbiAgICAgICAga2V5cy5wdXNoKGAke21vZGVsPy50eXBlTmFtZX0ubmFtZWApO1xuICAgICAgICByZXR1cm4ga2V5cztcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBnZXRNb2RlbEtleXNCeVByaW9yaXR5KG1vZGVsOiBNb2RlbERlc2NyaXB0b3I8YW55Piwga2V5UGF0aDogc3RyaW5nLCBjdXN0b21LZXk/OiBzdHJpbmcsIGZhbGxiYWNrS2V5Pzogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGtleXMgPSBbXTtcbiAgICAgICAgaWYgKGN1c3RvbUtleSkge1xuICAgICAgICAgICAga2V5cy5wdXNoKGN1c3RvbUtleSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbW9kZWxBY3Rpb25LZXkgPSBJMThuVXRpbC5nZXRNb2RlbEtleVBhdGgobW9kZWwsIGtleVBhdGgpO1xuICAgICAgICBrZXlzLnB1c2gobW9kZWxBY3Rpb25LZXkpO1xuICAgICAgICBpZiAoZmFsbGJhY2tLZXkpIHtcbiAgICAgICAgICAgIGtleXMucHVzaChmYWxsYmFja0tleSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGtleXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgZ2V0TW9kZWxLZXlQYXRoKG1vZGVsOiBNb2RlbERlc2NyaXB0b3I8YW55Piwga2V5UGF0aDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBgJHttb2RlbC50eXBlTmFtZX0uJHtrZXlQYXRofWA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgZ2V0QWN0aW9uS2V5c0J5UHJpb3JpdHkoYWN0aW9uOiBBY3Rpb25EZXNjcmlwdG9yPGFueT4sIGtleVBhdGg6IHN0cmluZywgY3VzdG9tS2V5Pzogc3RyaW5nLCBmYWxsYmFja0tleT86IHN0cmluZykge1xuICAgICAgICBjb25zdCBrZXlzID0gW107XG4gICAgICAgIGlmIChjdXN0b21LZXkpIHtcbiAgICAgICAgICAgIGtleXMucHVzaChjdXN0b21LZXkpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG1vZGVsQWN0aW9uS2V5ID0gYCR7YWN0aW9uLmkxOG5Nb2RlbEFjdGlvbkJhc2VLZXl9LiR7a2V5UGF0aH1gO1xuICAgICAgICBjb25zdCBhY3Rpb25LZXkgPSBgJHthY3Rpb24uYWN0aW9uTmFtZX0uJHtrZXlQYXRofWA7XG4gICAgICAgIGtleXMucHVzaChtb2RlbEFjdGlvbktleSwgYWN0aW9uS2V5KTtcbiAgICAgICAgaWYgKGZhbGxiYWNrS2V5KSB7XG4gICAgICAgICAgICBrZXlzLnB1c2goZmFsbGJhY2tLZXkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBrZXlzO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIHNlbGVjdEtleUJ5UHJpb3JpdHkoa2V5czogc3RyaW5nW10sIGkxOG46IGFueSk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XG4gICAgICAgICAgICBpZiAoa2V5ICE9PSBpMThuW2tleV0pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaTE4bltrZXldO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIGdldEZ1bmN0aW9uVGl0bGUodHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCBmdW5jdGlvblRpdGxlPzogc3RyaW5nKSB7XG4gICAgICAgIGlmIChmdW5jdGlvblRpdGxlKSB7XG4gICAgICAgICAgICBjb25zdCB0cmFuc2xhdGlvbiA9IHRyYW5zbGF0ZS5pbnN0YW50KGBtbmdBY3Rpb24uZnVuY3Rpb25zLiR7ZnVuY3Rpb25UaXRsZX0udGl0bGVgKTtcbiAgICAgICAgICAgIGlmICh0cmFuc2xhdGlvbiA9PT0gZnVuY3Rpb25UaXRsZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRyYW5zbGF0aW9uO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -1,6 +1,14 @@
1
1
  import { I18nUtil } from './i18n.util';
2
2
  export class ToastUtil {
3
- static tableNotificationError(translationService, table, error, tableview) {
3
+ static notification(viewContainer, title, message, severity = 'success') {
4
+ const messageService = viewContainer?.getMessageService();
5
+ if (!messageService) {
6
+ console.warn(`No message service was provided through view container, message will not be displayed.`);
7
+ return;
8
+ }
9
+ messageService.add({ severity: severity, summary: title, detail: message, life: severity === 'error' ? 10000 : 5000 });
10
+ }
11
+ static tableNotificationError(translationService, table, error, viewContainer) {
4
12
  const params = {};
5
13
  if (error?.message) {
6
14
  params.errorMessage = `: ${error.message}`;
@@ -11,25 +19,21 @@ export class ToastUtil {
11
19
  console.log(params);
12
20
  const tableErrorTitle = I18nUtil.instantModelTranslation(translationService, table.model, 'table.error.title', undefined, undefined, 'general.error', params) ?? undefined;
13
21
  const tableErrorMessage = I18nUtil.instantModelTranslation(translationService, table.model, 'table.error.message', undefined, undefined, 'general.errorMessage', params) ?? undefined;
14
- tableview?.messageService?.add({ severity: 'error', summary: tableErrorTitle, detail: tableErrorMessage });
22
+ ToastUtil.notification(viewContainer, tableErrorTitle, tableErrorMessage, 'error');
15
23
  }
16
- static actionNotificationSuccess(translationService, action, functionName, customTitleKey, customMessageKey, tableview, item) {
24
+ static actionNotificationSuccess(translationService, action, functionName, customTitleKey, customMessageKey, viewContainer, item) {
17
25
  const actionSuccessTitle = I18nUtil.instantActionTranslation(translationService, action, 'success.title', customTitleKey, item, 'general.success', functionName) ?? undefined;
18
26
  const actionSuccessMessage = I18nUtil.instantActionTranslation(translationService, action, 'success.message', customMessageKey, item, 'general.successMessage', functionName) ?? undefined;
19
- tableview?.messageService?.add({ severity: 'success', summary: actionSuccessTitle, detail: actionSuccessMessage });
27
+ ToastUtil.notification(viewContainer, actionSuccessTitle, actionSuccessMessage);
20
28
  }
21
- static actionNotificationError(translationService, action, error, functionName, tableview, item) {
22
- const params = {};
23
- if (error?.message) {
24
- params.errorMessage = `: ${error.message}`;
25
- }
26
- else {
27
- params.errorMessage = '.';
28
- }
29
+ static actionNotificationError(translationService, action, error, functionName, viewContainer, item) {
30
+ const params = {
31
+ errorMessage: I18nUtil.instantErrorI18nTranslation(translationService, error)
32
+ };
29
33
  const actionErrorTitle = I18nUtil.instantActionTranslation(translationService, action, 'error.title', action.runNotificationErrorTitle, item, 'general.error', functionName, params) ??
30
34
  undefined;
31
35
  const actionErrorMessage = I18nUtil.instantActionTranslation(translationService, action, 'error.message', action.runNotificationErrorMessage, item, 'general.errorMessage', functionName, params) ?? undefined;
32
- tableview?.messageService?.add({ severity: 'error', summary: actionErrorTitle, detail: actionErrorMessage });
36
+ ToastUtil.notification(viewContainer, actionErrorTitle, actionErrorMessage, 'error');
33
37
  }
34
38
  static getFormEditorWarningMessage(translationService, title, message) {
35
39
  const actionErrorTitle = translationService.instant(title) ?? undefined;
@@ -37,4 +41,4 @@ export class ToastUtil {
37
41
  return { severity: 'warn', summary: actionErrorTitle, detail: actionErrorMessage };
38
42
  }
39
43
  }
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QudXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdXRpbHMvdG9hc3QudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBRXJDLE1BQU0sT0FBTyxTQUFTO0lBQ1gsTUFBTSxDQUFDLHNCQUFzQixDQUFDLGtCQUFvQyxFQUFFLEtBQTJCLEVBQUUsS0FBVSxFQUFFLFNBQStDO1FBQy9KLE1BQU0sTUFBTSxHQUFRLEVBQUUsQ0FBQztRQUN2QixJQUFJLEtBQUssRUFBRSxPQUFPLEVBQUU7WUFDaEIsTUFBTSxDQUFDLFlBQVksR0FBRyxLQUFLLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUM5QzthQUFNO1lBQ0gsTUFBTSxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUM7U0FDN0I7UUFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BCLE1BQU0sZUFBZSxHQUFHLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sQ0FBQyxJQUFJLFNBQVMsQ0FBQztRQUMzSyxNQUFNLGlCQUFpQixHQUNuQixRQUFRLENBQUMsdUJBQXVCLENBQUMsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sQ0FBQyxJQUFJLFNBQVMsQ0FBQztRQUVoSyxTQUFTLEVBQUUsY0FBYyxFQUFFLEdBQUcsQ0FBQyxFQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUMsQ0FBQyxDQUFDO0lBQzdHLENBQUM7SUFFTSxNQUFNLENBQUMseUJBQXlCLENBQ25DLGtCQUFvQyxFQUNwQyxNQUE2QixFQUM3QixZQUFvQixFQUNwQixjQUF1QixFQUN2QixnQkFBeUIsRUFDekIsU0FBK0MsRUFDL0MsSUFBVTtRQUVWLE1BQU0sa0JBQWtCLEdBQ3BCLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxDQUFDLElBQUksU0FBUyxDQUFDO1FBQ3ZKLE1BQU0sb0JBQW9CLEdBQ3RCLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLHdCQUF3QixFQUFFLFlBQVksQ0FBQyxJQUFJLFNBQVMsQ0FBQztRQUVsSyxTQUFTLEVBQUUsY0FBYyxFQUFFLEdBQUcsQ0FBQyxFQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxvQkFBb0IsRUFBQyxDQUFDLENBQUM7SUFDckgsQ0FBQztJQUVNLE1BQU0sQ0FBQyx1QkFBdUIsQ0FDakMsa0JBQW9DLEVBQ3BDLE1BQTZCLEVBQzdCLEtBQVUsRUFDVixZQUFvQixFQUNwQixTQUErQyxFQUMvQyxJQUFVO1FBRVYsTUFBTSxNQUFNLEdBQVEsRUFBRSxDQUFDO1FBQ3ZCLElBQUksS0FBSyxFQUFFLE9BQU8sRUFBRTtZQUNoQixNQUFNLENBQUMsWUFBWSxHQUFHLEtBQUssS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQzlDO2FBQU07WUFDSCxNQUFNLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQztTQUM3QjtRQUNELE1BQU0sZ0JBQWdCLEdBQ2xCLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLE1BQU0sQ0FBQyx5QkFBeUIsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLENBQUM7WUFDM0osU0FBUyxDQUFDO1FBQ2QsTUFBTSxrQkFBa0IsR0FDcEIsUUFBUSxDQUFDLHdCQUF3QixDQUM3QixrQkFBa0IsRUFDbEIsTUFBTSxFQUNOLGVBQWUsRUFDZixNQUFNLENBQUMsMkJBQTJCLEVBQ2xDLElBQUksRUFDSixzQkFBc0IsRUFDdEIsWUFBWSxFQUNaLE1BQU0sQ0FDVCxJQUFJLFNBQVMsQ0FBQztRQUVuQixTQUFTLEVBQUUsY0FBYyxFQUFFLEdBQUcsQ0FBQyxFQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxrQkFBa0IsRUFBQyxDQUFDLENBQUM7SUFDL0csQ0FBQztJQUVNLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxrQkFBb0MsRUFBRSxLQUFhLEVBQUUsT0FBZTtRQUMxRyxNQUFNLGdCQUFnQixHQUFHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxTQUFTLENBQUM7UUFDeEUsTUFBTSxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksU0FBUyxDQUFDO1FBQzVFLE9BQU8sRUFBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsa0JBQWtCLEVBQUMsQ0FBQztJQUNyRixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQge1RhYmxldmlld0NvbXBvbmVudFNlcnZpY2V9IGZyb20gJy4uL2NvbXBvbmVudHMvdGFibGV2aWV3L3NlcnZpY2VzJztcbmltcG9ydCB7QWN0aW9uRGVzY3JpcHRvciwgVGFibGVEZXNjcmlwdG9yfSBmcm9tICcuLi9kZXNjcmlwdG9ycyc7XG5pbXBvcnQge0kxOG5VdGlsfSBmcm9tICcuL2kxOG4udXRpbCc7XG5cbmV4cG9ydCBjbGFzcyBUb2FzdFV0aWwge1xuICAgIHB1YmxpYyBzdGF0aWMgdGFibGVOb3RpZmljYXRpb25FcnJvcih0cmFuc2xhdGlvblNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsIHRhYmxlOiBUYWJsZURlc2NyaXB0b3I8YW55PiwgZXJyb3I6IGFueSwgdGFibGV2aWV3PzogVGFibGV2aWV3Q29tcG9uZW50U2VydmljZTxhbnksIGFueT4pIHtcbiAgICAgICAgY29uc3QgcGFyYW1zOiBhbnkgPSB7fTtcbiAgICAgICAgaWYgKGVycm9yPy5tZXNzYWdlKSB7XG4gICAgICAgICAgICBwYXJhbXMuZXJyb3JNZXNzYWdlID0gYDogJHtlcnJvci5tZXNzYWdlfWA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwYXJhbXMuZXJyb3JNZXNzYWdlID0gJy4nO1xuICAgICAgICB9XG4gICAgICAgIGNvbnNvbGUubG9nKHBhcmFtcyk7XG4gICAgICAgIGNvbnN0IHRhYmxlRXJyb3JUaXRsZSA9IEkxOG5VdGlsLmluc3RhbnRNb2RlbFRyYW5zbGF0aW9uKHRyYW5zbGF0aW9uU2VydmljZSwgdGFibGUubW9kZWwsICd0YWJsZS5lcnJvci50aXRsZScsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCAnZ2VuZXJhbC5lcnJvcicsIHBhcmFtcykgPz8gdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCB0YWJsZUVycm9yTWVzc2FnZSA9XG4gICAgICAgICAgICBJMThuVXRpbC5pbnN0YW50TW9kZWxUcmFuc2xhdGlvbih0cmFuc2xhdGlvblNlcnZpY2UsIHRhYmxlLm1vZGVsLCAndGFibGUuZXJyb3IubWVzc2FnZScsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCAnZ2VuZXJhbC5lcnJvck1lc3NhZ2UnLCBwYXJhbXMpID8/IHVuZGVmaW5lZDtcblxuICAgICAgICB0YWJsZXZpZXc/Lm1lc3NhZ2VTZXJ2aWNlPy5hZGQoe3NldmVyaXR5OiAnZXJyb3InLCBzdW1tYXJ5OiB0YWJsZUVycm9yVGl0bGUsIGRldGFpbDogdGFibGVFcnJvck1lc3NhZ2V9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGFjdGlvbk5vdGlmaWNhdGlvblN1Y2Nlc3MoXG4gICAgICAgIHRyYW5zbGF0aW9uU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgYWN0aW9uOiBBY3Rpb25EZXNjcmlwdG9yPGFueT4sXG4gICAgICAgIGZ1bmN0aW9uTmFtZTogc3RyaW5nLFxuICAgICAgICBjdXN0b21UaXRsZUtleT86IHN0cmluZyxcbiAgICAgICAgY3VzdG9tTWVzc2FnZUtleT86IHN0cmluZyxcbiAgICAgICAgdGFibGV2aWV3PzogVGFibGV2aWV3Q29tcG9uZW50U2VydmljZTxhbnksIGFueT4sXG4gICAgICAgIGl0ZW0/OiBhbnlcbiAgICApIHtcbiAgICAgICAgY29uc3QgYWN0aW9uU3VjY2Vzc1RpdGxlID1cbiAgICAgICAgICAgIEkxOG5VdGlsLmluc3RhbnRBY3Rpb25UcmFuc2xhdGlvbih0cmFuc2xhdGlvblNlcnZpY2UsIGFjdGlvbiwgJ3N1Y2Nlc3MudGl0bGUnLCBjdXN0b21UaXRsZUtleSwgaXRlbSwgJ2dlbmVyYWwuc3VjY2VzcycsIGZ1bmN0aW9uTmFtZSkgPz8gdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBhY3Rpb25TdWNjZXNzTWVzc2FnZSA9XG4gICAgICAgICAgICBJMThuVXRpbC5pbnN0YW50QWN0aW9uVHJhbnNsYXRpb24odHJhbnNsYXRpb25TZXJ2aWNlLCBhY3Rpb24sICdzdWNjZXNzLm1lc3NhZ2UnLCBjdXN0b21NZXNzYWdlS2V5LCBpdGVtLCAnZ2VuZXJhbC5zdWNjZXNzTWVzc2FnZScsIGZ1bmN0aW9uTmFtZSkgPz8gdW5kZWZpbmVkO1xuXG4gICAgICAgIHRhYmxldmlldz8ubWVzc2FnZVNlcnZpY2U/LmFkZCh7c2V2ZXJpdHk6ICdzdWNjZXNzJywgc3VtbWFyeTogYWN0aW9uU3VjY2Vzc1RpdGxlLCBkZXRhaWw6IGFjdGlvblN1Y2Nlc3NNZXNzYWdlfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBhY3Rpb25Ob3RpZmljYXRpb25FcnJvcihcbiAgICAgICAgdHJhbnNsYXRpb25TZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBhY3Rpb246IEFjdGlvbkRlc2NyaXB0b3I8YW55PixcbiAgICAgICAgZXJyb3I6IGFueSxcbiAgICAgICAgZnVuY3Rpb25OYW1lOiBzdHJpbmcsXG4gICAgICAgIHRhYmxldmlldz86IFRhYmxldmlld0NvbXBvbmVudFNlcnZpY2U8YW55LCBhbnk+LFxuICAgICAgICBpdGVtPzogYW55XG4gICAgKSB7XG4gICAgICAgIGNvbnN0IHBhcmFtczogYW55ID0ge307XG4gICAgICAgIGlmIChlcnJvcj8ubWVzc2FnZSkge1xuICAgICAgICAgICAgcGFyYW1zLmVycm9yTWVzc2FnZSA9IGA6ICR7ZXJyb3IubWVzc2FnZX1gO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGFyYW1zLmVycm9yTWVzc2FnZSA9ICcuJztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBhY3Rpb25FcnJvclRpdGxlID1cbiAgICAgICAgICAgIEkxOG5VdGlsLmluc3RhbnRBY3Rpb25UcmFuc2xhdGlvbih0cmFuc2xhdGlvblNlcnZpY2UsIGFjdGlvbiwgJ2Vycm9yLnRpdGxlJywgYWN0aW9uLnJ1bk5vdGlmaWNhdGlvbkVycm9yVGl0bGUsIGl0ZW0sICdnZW5lcmFsLmVycm9yJywgZnVuY3Rpb25OYW1lLCBwYXJhbXMpID8/XG4gICAgICAgICAgICB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IGFjdGlvbkVycm9yTWVzc2FnZSA9XG4gICAgICAgICAgICBJMThuVXRpbC5pbnN0YW50QWN0aW9uVHJhbnNsYXRpb24oXG4gICAgICAgICAgICAgICAgdHJhbnNsYXRpb25TZXJ2aWNlLFxuICAgICAgICAgICAgICAgIGFjdGlvbixcbiAgICAgICAgICAgICAgICAnZXJyb3IubWVzc2FnZScsXG4gICAgICAgICAgICAgICAgYWN0aW9uLnJ1bk5vdGlmaWNhdGlvbkVycm9yTWVzc2FnZSxcbiAgICAgICAgICAgICAgICBpdGVtLFxuICAgICAgICAgICAgICAgICdnZW5lcmFsLmVycm9yTWVzc2FnZScsXG4gICAgICAgICAgICAgICAgZnVuY3Rpb25OYW1lLFxuICAgICAgICAgICAgICAgIHBhcmFtc1xuICAgICAgICAgICAgKSA/PyB1bmRlZmluZWQ7XG5cbiAgICAgICAgdGFibGV2aWV3Py5tZXNzYWdlU2VydmljZT8uYWRkKHtzZXZlcml0eTogJ2Vycm9yJywgc3VtbWFyeTogYWN0aW9uRXJyb3JUaXRsZSwgZGV0YWlsOiBhY3Rpb25FcnJvck1lc3NhZ2V9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldEZvcm1FZGl0b3JXYXJuaW5nTWVzc2FnZSh0cmFuc2xhdGlvblNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsIHRpdGxlOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZykge1xuICAgICAgICBjb25zdCBhY3Rpb25FcnJvclRpdGxlID0gdHJhbnNsYXRpb25TZXJ2aWNlLmluc3RhbnQodGl0bGUpID8/IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgYWN0aW9uRXJyb3JNZXNzYWdlID0gdHJhbnNsYXRpb25TZXJ2aWNlLmluc3RhbnQobWVzc2FnZSkgPz8gdW5kZWZpbmVkO1xuICAgICAgICByZXR1cm4ge3NldmVyaXR5OiAnd2FybicsIHN1bW1hcnk6IGFjdGlvbkVycm9yVGl0bGUsIGRldGFpbDogYWN0aW9uRXJyb3JNZXNzYWdlfTtcbiAgICB9XG59XG4iXX0=
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QudXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdXRpbHMvdG9hc3QudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBRXJDLE1BQU0sT0FBTyxTQUFTO0lBQ1gsTUFBTSxDQUFDLFlBQVksQ0FBQyxhQUF3QyxFQUFFLEtBQWMsRUFBRSxPQUFnQixFQUFFLFdBQXlDLFNBQVM7UUFDckosTUFBTSxjQUFjLEdBQUcsYUFBYSxFQUFFLGlCQUFpQixFQUFFLENBQUM7UUFDMUQsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNqQixPQUFPLENBQUMsSUFBSSxDQUFDLHdGQUF3RixDQUFDLENBQUM7WUFDdkcsT0FBTztTQUNWO1FBQ0QsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBQyxDQUFDLENBQUM7SUFDekgsQ0FBQztJQUVNLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxrQkFBb0MsRUFBRSxLQUEyQixFQUFFLEtBQVUsRUFBRSxhQUF3QztRQUN4SixNQUFNLE1BQU0sR0FBUSxFQUFFLENBQUM7UUFDdkIsSUFBSSxLQUFLLEVBQUUsT0FBTyxFQUFFO1lBQ2hCLE1BQU0sQ0FBQyxZQUFZLEdBQUcsS0FBSyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDOUM7YUFBTTtZQUNILE1BQU0sQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDO1NBQzdCO1FBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwQixNQUFNLGVBQWUsR0FBRyxRQUFRLENBQUMsdUJBQXVCLENBQUMsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLENBQUMsSUFBSSxTQUFTLENBQUM7UUFDM0ssTUFBTSxpQkFBaUIsR0FDbkIsUUFBUSxDQUFDLHVCQUF1QixDQUFDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUscUJBQXFCLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLENBQUMsSUFBSSxTQUFTLENBQUM7UUFDaEssU0FBUyxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFTSxNQUFNLENBQUMseUJBQXlCLENBQ25DLGtCQUFvQyxFQUNwQyxNQUE2QixFQUM3QixZQUFvQixFQUNwQixjQUF1QixFQUN2QixnQkFBeUIsRUFDekIsYUFBd0MsRUFDeEMsSUFBVTtRQUVWLE1BQU0sa0JBQWtCLEdBQ3BCLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxDQUFDLElBQUksU0FBUyxDQUFDO1FBQ3ZKLE1BQU0sb0JBQW9CLEdBQ3RCLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLHdCQUF3QixFQUFFLFlBQVksQ0FBQyxJQUFJLFNBQVMsQ0FBQztRQUNsSyxTQUFTLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFTSxNQUFNLENBQUMsdUJBQXVCLENBQ2pDLGtCQUFvQyxFQUNwQyxNQUE2QixFQUM3QixLQUFlLEVBQ2YsWUFBb0IsRUFDcEIsYUFBd0MsRUFDeEMsSUFBVTtRQUVWLE1BQU0sTUFBTSxHQUFHO1lBQ1gsWUFBWSxFQUFFLFFBQVEsQ0FBQywyQkFBMkIsQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLENBQUM7U0FDaEYsQ0FBQztRQUNGLE1BQU0sZ0JBQWdCLEdBQ2xCLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLE1BQU0sQ0FBQyx5QkFBeUIsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLENBQUM7WUFDM0osU0FBUyxDQUFDO1FBQ2QsTUFBTSxrQkFBa0IsR0FDcEIsUUFBUSxDQUFDLHdCQUF3QixDQUM3QixrQkFBa0IsRUFDbEIsTUFBTSxFQUNOLGVBQWUsRUFDZixNQUFNLENBQUMsMkJBQTJCLEVBQ2xDLElBQUksRUFDSixzQkFBc0IsRUFDdEIsWUFBWSxFQUNaLE1BQU0sQ0FDVCxJQUFJLFNBQVMsQ0FBQztRQUNuQixTQUFTLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRU0sTUFBTSxDQUFDLDJCQUEyQixDQUFDLGtCQUFvQyxFQUFFLEtBQWEsRUFBRSxPQUFlO1FBQzFHLE1BQU0sZ0JBQWdCLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLFNBQVMsQ0FBQztRQUN4RSxNQUFNLGtCQUFrQixHQUFHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxTQUFTLENBQUM7UUFDNUUsT0FBTyxFQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxrQkFBa0IsRUFBQyxDQUFDO0lBQ3JGLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmltcG9ydCB7QWN0aW9uRGVzY3JpcHRvciwgVGFibGVEZXNjcmlwdG9yfSBmcm9tICcuLi9kZXNjcmlwdG9ycyc7XG5pbXBvcnQge0lWaWV3Q29udGFpbmVyLCBNbmdFcnJvcn0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7STE4blV0aWx9IGZyb20gJy4vaTE4bi51dGlsJztcblxuZXhwb3J0IGNsYXNzIFRvYXN0VXRpbCB7XG4gICAgcHVibGljIHN0YXRpYyBub3RpZmljYXRpb24odmlld0NvbnRhaW5lcj86IElWaWV3Q29udGFpbmVyPGFueSwgYW55PiwgdGl0bGU/OiBzdHJpbmcsIG1lc3NhZ2U/OiBzdHJpbmcsIHNldmVyaXR5OiAnc3VjY2VzcycgfCAnd2FybicgfCAnZXJyb3InID0gJ3N1Y2Nlc3MnKSB7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2VTZXJ2aWNlID0gdmlld0NvbnRhaW5lcj8uZ2V0TWVzc2FnZVNlcnZpY2UoKTtcbiAgICAgICAgaWYgKCFtZXNzYWdlU2VydmljZSkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKGBObyBtZXNzYWdlIHNlcnZpY2Ugd2FzIHByb3ZpZGVkIHRocm91Z2ggdmlldyBjb250YWluZXIsIG1lc3NhZ2Ugd2lsbCBub3QgYmUgZGlzcGxheWVkLmApO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIG1lc3NhZ2VTZXJ2aWNlLmFkZCh7c2V2ZXJpdHk6IHNldmVyaXR5LCBzdW1tYXJ5OiB0aXRsZSwgZGV0YWlsOiBtZXNzYWdlLCBsaWZlOiBzZXZlcml0eSA9PT0gJ2Vycm9yJyA/IDEwMDAwIDogNTAwMH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgdGFibGVOb3RpZmljYXRpb25FcnJvcih0cmFuc2xhdGlvblNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsIHRhYmxlOiBUYWJsZURlc2NyaXB0b3I8YW55PiwgZXJyb3I6IGFueSwgdmlld0NvbnRhaW5lcj86IElWaWV3Q29udGFpbmVyPGFueSwgYW55Pikge1xuICAgICAgICBjb25zdCBwYXJhbXM6IGFueSA9IHt9O1xuICAgICAgICBpZiAoZXJyb3I/Lm1lc3NhZ2UpIHtcbiAgICAgICAgICAgIHBhcmFtcy5lcnJvck1lc3NhZ2UgPSBgOiAke2Vycm9yLm1lc3NhZ2V9YDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBhcmFtcy5lcnJvck1lc3NhZ2UgPSAnLic7XG4gICAgICAgIH1cbiAgICAgICAgY29uc29sZS5sb2cocGFyYW1zKTtcbiAgICAgICAgY29uc3QgdGFibGVFcnJvclRpdGxlID0gSTE4blV0aWwuaW5zdGFudE1vZGVsVHJhbnNsYXRpb24odHJhbnNsYXRpb25TZXJ2aWNlLCB0YWJsZS5tb2RlbCwgJ3RhYmxlLmVycm9yLnRpdGxlJywgdW5kZWZpbmVkLCB1bmRlZmluZWQsICdnZW5lcmFsLmVycm9yJywgcGFyYW1zKSA/PyB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IHRhYmxlRXJyb3JNZXNzYWdlID1cbiAgICAgICAgICAgIEkxOG5VdGlsLmluc3RhbnRNb2RlbFRyYW5zbGF0aW9uKHRyYW5zbGF0aW9uU2VydmljZSwgdGFibGUubW9kZWwsICd0YWJsZS5lcnJvci5tZXNzYWdlJywgdW5kZWZpbmVkLCB1bmRlZmluZWQsICdnZW5lcmFsLmVycm9yTWVzc2FnZScsIHBhcmFtcykgPz8gdW5kZWZpbmVkO1xuICAgICAgICBUb2FzdFV0aWwubm90aWZpY2F0aW9uKHZpZXdDb250YWluZXIsIHRhYmxlRXJyb3JUaXRsZSwgdGFibGVFcnJvck1lc3NhZ2UsICdlcnJvcicpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgYWN0aW9uTm90aWZpY2F0aW9uU3VjY2VzcyhcbiAgICAgICAgdHJhbnNsYXRpb25TZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBhY3Rpb246IEFjdGlvbkRlc2NyaXB0b3I8YW55PixcbiAgICAgICAgZnVuY3Rpb25OYW1lOiBzdHJpbmcsXG4gICAgICAgIGN1c3RvbVRpdGxlS2V5Pzogc3RyaW5nLFxuICAgICAgICBjdXN0b21NZXNzYWdlS2V5Pzogc3RyaW5nLFxuICAgICAgICB2aWV3Q29udGFpbmVyPzogSVZpZXdDb250YWluZXI8YW55LCBhbnk+LFxuICAgICAgICBpdGVtPzogYW55XG4gICAgKSB7XG4gICAgICAgIGNvbnN0IGFjdGlvblN1Y2Nlc3NUaXRsZSA9XG4gICAgICAgICAgICBJMThuVXRpbC5pbnN0YW50QWN0aW9uVHJhbnNsYXRpb24odHJhbnNsYXRpb25TZXJ2aWNlLCBhY3Rpb24sICdzdWNjZXNzLnRpdGxlJywgY3VzdG9tVGl0bGVLZXksIGl0ZW0sICdnZW5lcmFsLnN1Y2Nlc3MnLCBmdW5jdGlvbk5hbWUpID8/IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgYWN0aW9uU3VjY2Vzc01lc3NhZ2UgPVxuICAgICAgICAgICAgSTE4blV0aWwuaW5zdGFudEFjdGlvblRyYW5zbGF0aW9uKHRyYW5zbGF0aW9uU2VydmljZSwgYWN0aW9uLCAnc3VjY2Vzcy5tZXNzYWdlJywgY3VzdG9tTWVzc2FnZUtleSwgaXRlbSwgJ2dlbmVyYWwuc3VjY2Vzc01lc3NhZ2UnLCBmdW5jdGlvbk5hbWUpID8/IHVuZGVmaW5lZDtcbiAgICAgICAgVG9hc3RVdGlsLm5vdGlmaWNhdGlvbih2aWV3Q29udGFpbmVyLCBhY3Rpb25TdWNjZXNzVGl0bGUsIGFjdGlvblN1Y2Nlc3NNZXNzYWdlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGFjdGlvbk5vdGlmaWNhdGlvbkVycm9yKFxuICAgICAgICB0cmFuc2xhdGlvblNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIGFjdGlvbjogQWN0aW9uRGVzY3JpcHRvcjxhbnk+LFxuICAgICAgICBlcnJvcjogTW5nRXJyb3IsXG4gICAgICAgIGZ1bmN0aW9uTmFtZTogc3RyaW5nLFxuICAgICAgICB2aWV3Q29udGFpbmVyPzogSVZpZXdDb250YWluZXI8YW55LCBhbnk+LFxuICAgICAgICBpdGVtPzogYW55XG4gICAgKSB7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgICAgICAgIGVycm9yTWVzc2FnZTogSTE4blV0aWwuaW5zdGFudEVycm9ySTE4blRyYW5zbGF0aW9uKHRyYW5zbGF0aW9uU2VydmljZSwgZXJyb3IpXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGFjdGlvbkVycm9yVGl0bGUgPVxuICAgICAgICAgICAgSTE4blV0aWwuaW5zdGFudEFjdGlvblRyYW5zbGF0aW9uKHRyYW5zbGF0aW9uU2VydmljZSwgYWN0aW9uLCAnZXJyb3IudGl0bGUnLCBhY3Rpb24ucnVuTm90aWZpY2F0aW9uRXJyb3JUaXRsZSwgaXRlbSwgJ2dlbmVyYWwuZXJyb3InLCBmdW5jdGlvbk5hbWUsIHBhcmFtcykgPz9cbiAgICAgICAgICAgIHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgYWN0aW9uRXJyb3JNZXNzYWdlID1cbiAgICAgICAgICAgIEkxOG5VdGlsLmluc3RhbnRBY3Rpb25UcmFuc2xhdGlvbihcbiAgICAgICAgICAgICAgICB0cmFuc2xhdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgICAgYWN0aW9uLFxuICAgICAgICAgICAgICAgICdlcnJvci5tZXNzYWdlJyxcbiAgICAgICAgICAgICAgICBhY3Rpb24ucnVuTm90aWZpY2F0aW9uRXJyb3JNZXNzYWdlLFxuICAgICAgICAgICAgICAgIGl0ZW0sXG4gICAgICAgICAgICAgICAgJ2dlbmVyYWwuZXJyb3JNZXNzYWdlJyxcbiAgICAgICAgICAgICAgICBmdW5jdGlvbk5hbWUsXG4gICAgICAgICAgICAgICAgcGFyYW1zXG4gICAgICAgICAgICApID8/IHVuZGVmaW5lZDtcbiAgICAgICAgVG9hc3RVdGlsLm5vdGlmaWNhdGlvbih2aWV3Q29udGFpbmVyLCBhY3Rpb25FcnJvclRpdGxlLCBhY3Rpb25FcnJvck1lc3NhZ2UsICdlcnJvcicpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0Rm9ybUVkaXRvcldhcm5pbmdNZXNzYWdlKHRyYW5zbGF0aW9uU2VydmljZTogVHJhbnNsYXRlU2VydmljZSwgdGl0bGU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGFjdGlvbkVycm9yVGl0bGUgPSB0cmFuc2xhdGlvblNlcnZpY2UuaW5zdGFudCh0aXRsZSkgPz8gdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBhY3Rpb25FcnJvck1lc3NhZ2UgPSB0cmFuc2xhdGlvblNlcnZpY2UuaW5zdGFudChtZXNzYWdlKSA/PyB1bmRlZmluZWQ7XG4gICAgICAgIHJldHVybiB7c2V2ZXJpdHk6ICd3YXJuJywgc3VtbWFyeTogYWN0aW9uRXJyb3JUaXRsZSwgZGV0YWlsOiBhY3Rpb25FcnJvck1lc3NhZ2V9O1xuICAgIH1cbn1cbiJdfQ==
@@ -6,7 +6,6 @@ export * from './lib/mng-commons.module';
6
6
  // services
7
7
  export * from './lib/api/services';
8
8
  export * from './lib/components/layout/services';
9
- export * from './lib/components/tableview/services';
10
9
  export * from './lib/services';
11
10
  export * from './lib/services/providers';
12
11
  // utils
@@ -35,4 +34,4 @@ export * from './lib/models';
35
34
  export * from './lib/router';
36
35
  export * from './lib/router/models';
37
36
  export * from './lib/types';
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsU0FBUztBQUNULGNBQWMsMEJBQTBCLENBQUM7QUFFekMsV0FBVztBQUNYLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYywwQkFBMEIsQ0FBQztBQUV6QyxRQUFRO0FBQ1IsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGFBQWEsQ0FBQztBQUU1QixhQUFhO0FBQ2IsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsYUFBYTtBQUNiLGNBQWMsa0JBQWtCLENBQUM7QUFFakMsUUFBUTtBQUNSLGNBQWMsYUFBYSxDQUFDO0FBRTVCLGVBQWU7QUFDZixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBtbmctY29tbW9uc1xuICovXG5cbi8vIG1vZHVsZVxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW5nLWNvbW1vbnMubW9kdWxlJztcblxuLy8gc2VydmljZXNcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xheW91dC9zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3RhYmxldmlldy9zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9wcm92aWRlcnMnO1xuXG4vLyB1dGlsc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL3V0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzJztcblxuLy8gY29tcG9uZW50c1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9mb3JtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZm9ybS9mb3JtbHkvZmllbGRzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZm9ybS9mb3JtbHkvd3JhcHBlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9sYXlvdXQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90YWJsZXZpZXcnO1xuXG4vLyBkaXJlY3RpdmVzXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzJztcblxuLy8gcGlwZXNcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzJztcblxuLy8gbW9kZWxzJm90aGVyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWN0aW9uL21vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Zvcm0vbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbmZpZy9tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtcHJvdmlkZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Rlc2NyaXB0b3JzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9yb3V0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcm91dGVyL21vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90eXBlcyc7XG4iXX0=
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsU0FBUztBQUNULGNBQWMsMEJBQTBCLENBQUM7QUFFekMsV0FBVztBQUNYLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsMEJBQTBCLENBQUM7QUFFekMsUUFBUTtBQUNSLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxhQUFhLENBQUM7QUFFNUIsYUFBYTtBQUNiLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLGFBQWE7QUFDYixjQUFjLGtCQUFrQixDQUFDO0FBRWpDLFFBQVE7QUFDUixjQUFjLGFBQWEsQ0FBQztBQUU1QixlQUFlO0FBQ2YsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgbW5nLWNvbW1vbnNcbiAqL1xuXG4vLyBtb2R1bGVcbmV4cG9ydCAqIGZyb20gJy4vbGliL21uZy1jb21tb25zLm1vZHVsZSc7XG5cbi8vIHNlcnZpY2VzXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvc2VydmljZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9sYXlvdXQvc2VydmljZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvcHJvdmlkZXJzJztcblxuLy8gdXRpbHNcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS91dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlscyc7XG5cbi8vIGNvbXBvbmVudHNcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Zvcm0vZm9ybWx5L2ZpZWxkcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Zvcm0vZm9ybWx5L3dyYXBwZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbGF5b3V0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGFibGV2aWV3JztcblxuLy8gZGlyZWN0aXZlc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcyc7XG5cbi8vIHBpcGVzXG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlcyc7XG5cbi8vIG1vZGVscyZvdGhlclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL21vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2FjdGlvbi9tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9mb3JtL21vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25maWcvbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLXByb3ZpZGVycyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kZXNjcmlwdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcm91dGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JvdXRlci9tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdHlwZXMnO1xuIl19