@acorex/modules 18.1.4 → 18.1.6

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 (175) hide show
  1. package/application-management/index.d.ts +2 -0
  2. package/application-management/lib/application-management.module.d.ts +0 -2
  3. package/application-management/lib/application-management.route.d.ts +2 -0
  4. package/application-management/lib/application-management.service.d.ts +18 -0
  5. package/application-management/lib/application-management.source.d.ts +7 -0
  6. package/application-management/lib/application-management.types.d.ts +50 -0
  7. package/application-management/lib/entity.loader.d.ts +9 -0
  8. package/application-management/lib/menu.provider.d.ts +4 -0
  9. package/auth/lib/auth.module.d.ts +4 -7
  10. package/auth/lib/menu.provider.d.ts +4 -0
  11. package/backend/lib/data/api/data-provider.d.ts +1 -0
  12. package/backend/lib/data/index.d.ts +0 -1
  13. package/backend/lib/data/local/local-data-provider.d.ts +1 -0
  14. package/esm2022/application-management/index.mjs +3 -1
  15. package/esm2022/application-management/lib/application-management.module.mjs +17 -47
  16. package/esm2022/application-management/lib/application-management.route.mjs +29 -0
  17. package/esm2022/application-management/lib/application-management.service.mjs +19 -3
  18. package/esm2022/application-management/lib/application-management.source.mjs +8 -0
  19. package/esm2022/application-management/lib/application-management.types.mjs +2 -0
  20. package/esm2022/application-management/lib/entities/property.entity.mjs +1 -2
  21. package/esm2022/application-management/lib/entity.loader.mjs +46 -0
  22. package/esm2022/application-management/lib/layouts/module-entity-detail-view/module-entity-detail-view.component.mjs +3 -3
  23. package/esm2022/application-management/lib/menu.provider.mjs +24 -0
  24. package/esm2022/application-management/lib/module-designer/module-designer.component.mjs +1 -1
  25. package/esm2022/auth/lib/account/app-chooser/app-chooser-slot.component.mjs +2 -2
  26. package/esm2022/auth/lib/account/profile/profile-slot.component.mjs +7 -4
  27. package/esm2022/auth/lib/auth.module.mjs +20 -14
  28. package/esm2022/auth/lib/login/password/password.component.mjs +2 -2
  29. package/esm2022/auth/lib/menu.provider.mjs +45 -0
  30. package/esm2022/backend/lib/backend.module.mjs +22 -16
  31. package/esm2022/backend/lib/data/api/data-provider.mjs +9 -1
  32. package/esm2022/backend/lib/data/index.mjs +1 -2
  33. package/esm2022/backend/lib/data/local/local-data-provider.mjs +11 -1
  34. package/esm2022/form-management/lib/form-management.module.mjs +32 -8
  35. package/esm2022/form-management/lib/menu.provider.mjs +29 -0
  36. package/esm2022/notification-management/index.mjs +6 -1
  37. package/esm2022/notification-management/lib/admin-notification-slot/admin-notification-item/admin-notification-item.component.mjs +39 -0
  38. package/esm2022/notification-management/lib/admin-notification-slot/admin-notification-panel/admin-notification-panel.component.mjs +155 -0
  39. package/esm2022/notification-management/lib/admin-notification-slot/admin-notification-slot/admin-notification-slot.component.mjs +36 -0
  40. package/esm2022/notification-management/lib/entities/my-notification.mjs +243 -0
  41. package/esm2022/notification-management/lib/entities/notification-channel.entity.mjs +18 -3
  42. package/esm2022/notification-management/lib/entities/notification-log.entity.mjs +180 -0
  43. package/esm2022/notification-management/lib/entities/notification.entity.mjs +207 -0
  44. package/esm2022/notification-management/lib/entity.loader.mjs +41 -0
  45. package/esm2022/notification-management/lib/menu.provider.mjs +51 -0
  46. package/esm2022/notification-management/lib/notification-management-mock-data.mjs +41 -6
  47. package/esm2022/notification-management/lib/notification-management.module.mjs +53 -36
  48. package/esm2022/notification-management/lib/notification-management.service.mjs +21 -12
  49. package/esm2022/notification-management/lib/notification-management.type.mjs +2 -0
  50. package/esm2022/notification-management/lib/notification.service.mjs +3 -0
  51. package/esm2022/platform-management/acorex-modules-platform-management.mjs +5 -0
  52. package/esm2022/platform-management/index.mjs +5 -0
  53. package/esm2022/platform-management/lib/comments/comment-management.service.mjs +18 -0
  54. package/esm2022/platform-management/lib/global-variables/entities/global-variable.entity.mjs +295 -0
  55. package/esm2022/platform-management/lib/global-variables/entity.loader.mjs +26 -0
  56. package/esm2022/platform-management/lib/global-variables/global-variables.service.mjs +16 -0
  57. package/esm2022/platform-management/lib/global-variables/global-variables.types.mjs +2 -0
  58. package/esm2022/platform-management/lib/global-variables/index.mjs +5 -0
  59. package/esm2022/platform-management/lib/languages/entities/language.entity.mjs +234 -0
  60. package/esm2022/platform-management/lib/languages/entity.loader.mjs +26 -0
  61. package/esm2022/platform-management/lib/languages/index.mjs +5 -0
  62. package/esm2022/platform-management/lib/languages/language-management.service.mjs +16 -0
  63. package/esm2022/platform-management/lib/languages/language.types.mjs +2 -0
  64. package/esm2022/platform-management/lib/menu.provider.mjs +46 -0
  65. package/esm2022/platform-management/lib/platform-management.module.mjs +82 -0
  66. package/esm2022/template-management/index.mjs +7 -3
  67. package/esm2022/template-management/lib/entities/category.entity.mjs +233 -0
  68. package/esm2022/template-management/lib/entities/index.mjs +4 -0
  69. package/esm2022/template-management/lib/entities/template-variable.entity.mjs +113 -110
  70. package/esm2022/template-management/lib/entities/text-template.entity.mjs +385 -0
  71. package/esm2022/template-management/lib/entity.loader.mjs +36 -0
  72. package/esm2022/template-management/lib/menu.provider.mjs +37 -0
  73. package/esm2022/template-management/lib/template-management.module.mjs +53 -37
  74. package/esm2022/template-management/lib/template-management.types.mjs +2 -0
  75. package/esm2022/template-management/lib/template.service.mjs +17 -0
  76. package/esm2022/template-management/lib/text-management.source.mjs +3 -0
  77. package/esm2022/template-management/lib/text-template-category.service.mjs +17 -0
  78. package/fesm2022/{acorex-modules-application-management-module-designer.component-C-lY0Apl.mjs → acorex-modules-application-management-module-designer.component-BCaCCEXO.mjs} +3 -3
  79. package/fesm2022/{acorex-modules-application-management-module-designer.component-C-lY0Apl.mjs.map → acorex-modules-application-management-module-designer.component-BCaCCEXO.mjs.map} +1 -1
  80. package/fesm2022/acorex-modules-application-management.mjs +141 -51
  81. package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
  82. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-4OzzidjS.mjs → acorex-modules-auth-acorex-modules-auth-B0aeYVeJ.mjs} +79 -25
  83. package/fesm2022/acorex-modules-auth-acorex-modules-auth-B0aeYVeJ.mjs.map +1 -0
  84. package/fesm2022/{acorex-modules-auth-app-chooser.component-CHTEeWgx.mjs → acorex-modules-auth-app-chooser.component-4b6b3ttW.mjs} +2 -2
  85. package/fesm2022/{acorex-modules-auth-app-chooser.component-CHTEeWgx.mjs.map → acorex-modules-auth-app-chooser.component-4b6b3ttW.mjs.map} +1 -1
  86. package/fesm2022/acorex-modules-auth-blank.layout-Bq822Iz4.mjs.map +1 -1
  87. package/fesm2022/{acorex-modules-auth-login.module-DMit4yw0.mjs → acorex-modules-auth-login.module-A7u1YYeo.mjs} +4 -4
  88. package/fesm2022/acorex-modules-auth-login.module-A7u1YYeo.mjs.map +1 -0
  89. package/fesm2022/{acorex-modules-auth-master.layout-BCYIjTB0.mjs → acorex-modules-auth-master.layout--UllrmW0.mjs} +2 -2
  90. package/fesm2022/{acorex-modules-auth-master.layout-BCYIjTB0.mjs.map → acorex-modules-auth-master.layout--UllrmW0.mjs.map} +1 -1
  91. package/fesm2022/{acorex-modules-auth-password.component-D16ms36y.mjs → acorex-modules-auth-password.component-BjqQ-qVo.mjs} +3 -3
  92. package/fesm2022/acorex-modules-auth-password.component-BjqQ-qVo.mjs.map +1 -0
  93. package/fesm2022/{acorex-modules-auth-password.component-WA-CA0Ln.mjs → acorex-modules-auth-password.component-Dv0VXzh_.mjs} +2 -2
  94. package/fesm2022/{acorex-modules-auth-password.component-WA-CA0Ln.mjs.map → acorex-modules-auth-password.component-Dv0VXzh_.mjs.map} +1 -1
  95. package/fesm2022/{acorex-modules-auth-routes-C3ye31RS.mjs → acorex-modules-auth-routes-C4eNPru3.mjs} +2 -2
  96. package/fesm2022/{acorex-modules-auth-routes-C3ye31RS.mjs.map → acorex-modules-auth-routes-C4eNPru3.mjs.map} +1 -1
  97. package/fesm2022/acorex-modules-auth-tenant-chooser.component-CHr5_kh7.mjs.map +1 -1
  98. package/fesm2022/acorex-modules-auth-two-factor-code.component-B_7l39pX.mjs.map +1 -1
  99. package/fesm2022/{acorex-modules-auth-two-factor.module-CkZCBo0B.mjs → acorex-modules-auth-two-factor.module-C6V_pb_Q.mjs} +2 -2
  100. package/fesm2022/acorex-modules-auth-two-factor.module-C6V_pb_Q.mjs.map +1 -0
  101. package/fesm2022/acorex-modules-auth.mjs +1 -1
  102. package/fesm2022/acorex-modules-backend.mjs +40 -155
  103. package/fesm2022/acorex-modules-backend.mjs.map +1 -1
  104. package/fesm2022/acorex-modules-form-management-designer.page-SoPH2V7i.mjs.map +1 -1
  105. package/fesm2022/acorex-modules-form-management.mjs +57 -5
  106. package/fesm2022/acorex-modules-form-management.mjs.map +1 -1
  107. package/fesm2022/acorex-modules-notification-management.mjs +1102 -101
  108. package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
  109. package/fesm2022/acorex-modules-platform-management.mjs +752 -0
  110. package/fesm2022/acorex-modules-platform-management.mjs.map +1 -0
  111. package/fesm2022/acorex-modules-template-management.mjs +600 -194
  112. package/fesm2022/acorex-modules-template-management.mjs.map +1 -1
  113. package/form-management/lib/form-management.module.d.ts +2 -1
  114. package/form-management/lib/menu.provider.d.ts +4 -0
  115. package/notification-management/index.d.ts +5 -0
  116. package/notification-management/lib/admin-notification-slot/admin-notification-item/admin-notification-item.component.d.ts +10 -0
  117. package/notification-management/lib/admin-notification-slot/admin-notification-panel/admin-notification-panel.component.d.ts +35 -0
  118. package/notification-management/lib/admin-notification-slot/admin-notification-slot/admin-notification-slot.component.d.ts +7 -0
  119. package/{template-management/lib/entities/global-template.entity.d.ts → notification-management/lib/entities/my-notification.d.ts} +1 -1
  120. package/notification-management/lib/entities/notification-log.entity.d.ts +3 -0
  121. package/notification-management/lib/entities/notification.entity.d.ts +3 -0
  122. package/notification-management/lib/entity.loader.d.ts +9 -0
  123. package/notification-management/lib/menu.provider.d.ts +4 -0
  124. package/notification-management/lib/notification-management-mock-data.d.ts +33 -6
  125. package/notification-management/lib/notification-management.module.d.ts +5 -10
  126. package/notification-management/lib/notification-management.service.d.ts +8 -4
  127. package/notification-management/lib/notification-management.type.d.ts +42 -0
  128. package/notification-management/lib/notification.service.d.ts +6 -0
  129. package/package.json +6 -6
  130. package/platform-management/README.md +4 -0
  131. package/platform-management/index.d.ts +4 -0
  132. package/platform-management/lib/comments/comment-management.service.d.ts +10 -0
  133. package/platform-management/lib/global-variables/entities/global-variable.entity.d.ts +3 -0
  134. package/platform-management/lib/global-variables/entity.loader.d.ts +9 -0
  135. package/platform-management/lib/global-variables/global-variables.service.d.ts +10 -0
  136. package/platform-management/lib/global-variables/global-variables.types.d.ts +7 -0
  137. package/platform-management/lib/global-variables/index.d.ts +4 -0
  138. package/platform-management/lib/languages/entities/language.entity.d.ts +3 -0
  139. package/platform-management/lib/languages/entity.loader.d.ts +9 -0
  140. package/platform-management/lib/languages/index.d.ts +4 -0
  141. package/platform-management/lib/languages/language-management.service.d.ts +10 -0
  142. package/platform-management/lib/languages/language.types.d.ts +5 -0
  143. package/platform-management/lib/menu.provider.d.ts +4 -0
  144. package/platform-management/lib/platform-management.module.d.ts +6 -0
  145. package/template-management/index.d.ts +6 -2
  146. package/template-management/lib/entities/category.entity.d.ts +3 -0
  147. package/template-management/lib/entities/index.d.ts +3 -0
  148. package/template-management/lib/entities/template-variable.entity.d.ts +1 -1
  149. package/template-management/lib/entities/text-template.entity.d.ts +3 -0
  150. package/template-management/lib/entity.loader.d.ts +9 -0
  151. package/template-management/lib/menu.provider.d.ts +4 -0
  152. package/template-management/lib/template-management.module.d.ts +4 -10
  153. package/template-management/lib/template-management.types.d.ts +19 -0
  154. package/template-management/lib/template.service.d.ts +10 -0
  155. package/template-management/lib/text-management.source.d.ts +2 -0
  156. package/template-management/lib/text-template-category.service.d.ts +10 -0
  157. package/backend/lib/data/api/comment.mock.service.d.ts +0 -62
  158. package/esm2022/backend/lib/data/api/comment.mock.service.mjs +0 -142
  159. package/esm2022/notification/acorex-modules-notification.mjs +0 -5
  160. package/esm2022/notification/index.mjs +0 -4
  161. package/esm2022/notification/lib/notification.module.mjs +0 -16
  162. package/esm2022/template-management/lib/entities/global-template.entity.mjs +0 -298
  163. package/esm2022/template-management/lib/template-management-mock-data.mjs +0 -11
  164. package/esm2022/template-management/lib/template-management.service.mjs +0 -24
  165. package/fesm2022/acorex-modules-auth-acorex-modules-auth-4OzzidjS.mjs.map +0 -1
  166. package/fesm2022/acorex-modules-auth-login.module-DMit4yw0.mjs.map +0 -1
  167. package/fesm2022/acorex-modules-auth-password.component-D16ms36y.mjs.map +0 -1
  168. package/fesm2022/acorex-modules-auth-two-factor.module-CkZCBo0B.mjs.map +0 -1
  169. package/fesm2022/acorex-modules-notification.mjs +0 -26
  170. package/fesm2022/acorex-modules-notification.mjs.map +0 -1
  171. package/notification/README.md +0 -4
  172. package/notification/index.d.ts +0 -1
  173. package/notification/lib/notification.module.d.ts +0 -6
  174. package/template-management/lib/template-management-mock-data.d.ts +0 -7
  175. package/template-management/lib/template-management.service.d.ts +0 -9
@@ -1,23 +1,23 @@
1
- import { AXPDataGenerator, AXPEntityCommandScope, AXPEntityQueryType } from '@acorex/platform/common';
1
+ import { AXPEntityCommandScope, AXPEntityQueryType } from '@acorex/platform/common';
2
2
  import { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';
3
- import { TemplateManagementService } from '../template-management.service';
4
- export async function templateVariableEntityFactory(injector) {
5
- const dataService = injector.get(TemplateManagementService);
3
+ import { AXMTextTemplateService } from '../template.service';
4
+ export async function textTemplateVariableEntityFactory(injector) {
5
+ const dataService = injector.get(AXMTextTemplateService);
6
6
  const entityDef = {
7
7
  module: 'template-management',
8
- name: 'templateVariable',
9
- source: 'template-management.templateVariable',
10
- title: 'TemplateVariables',
8
+ name: 'textTemplateVariable',
9
+ source: 'template-management.textTemplateVariable',
10
+ title: 'Template Variables',
11
11
  formats: {
12
12
  individual: 'TemplateVariable',
13
- plural: 'TemplateVariables',
13
+ plural: 'TemplateVariables'
14
14
  },
15
15
  relatedEntities: [],
16
16
  groups: [
17
17
  {
18
18
  id: 'templateVariable',
19
- title: 'TemplateVariable',
20
- },
19
+ title: 'TemplateVariable'
20
+ }
21
21
  ],
22
22
  properties: [
23
23
  {
@@ -27,9 +27,9 @@ export async function templateVariableEntityFactory(injector) {
27
27
  schema: {
28
28
  dataType: 'string',
29
29
  interface: {
30
- type: AXPWidgetsCatalog.text,
31
- },
32
- },
30
+ type: AXPWidgetsCatalog.text
31
+ }
32
+ }
33
33
  },
34
34
  {
35
35
  name: 'title',
@@ -38,9 +38,9 @@ export async function templateVariableEntityFactory(injector) {
38
38
  schema: {
39
39
  dataType: 'string',
40
40
  interface: {
41
- type: AXPWidgetsCatalog.text,
42
- },
43
- },
41
+ type: AXPWidgetsCatalog.text
42
+ }
43
+ }
44
44
  },
45
45
  {
46
46
  name: 'type',
@@ -49,81 +49,84 @@ export async function templateVariableEntityFactory(injector) {
49
49
  schema: {
50
50
  dataType: 'string',
51
51
  interface: {
52
- type: AXPWidgetsCatalog.select,
53
- },
54
- },
52
+ type: AXPWidgetsCatalog.select
53
+ }
54
+ }
55
55
  },
56
56
  {
57
- name: 'requirement',
58
- title: 'Requirement',
57
+ name: 'required',
58
+ title: 'required',
59
59
  groupId: 'templateVariable',
60
60
  schema: {
61
61
  dataType: 'boolean',
62
62
  interface: {
63
- type: AXPWidgetsCatalog.toggle,
64
- },
65
- },
66
- },
63
+ type: AXPWidgetsCatalog.toggle
64
+ }
65
+ }
66
+ }
67
67
  ],
68
68
  columns: [{ name: 'name' }, { name: 'title' }, { name: 'requirement' }],
69
69
  commands: {
70
70
  create: {
71
71
  execute: async (data) => {
72
- const entity = Object.assign(data, { id: AXPDataGenerator.uuid() });
73
- // dataService.templateVariableDataProvider.insertOne(entity);
74
- return Promise.resolve(entity);
75
- },
72
+ const item = await dataService.getOne(data.globalTemplateId);
73
+ (item.templateVariables ??= []).push(data);
74
+ return await dataService.updateOne(data.globalTemplateId, item);
75
+ }
76
76
  },
77
77
  delete: {
78
78
  execute: async (id) => {
79
79
  // await await dataService.templateVariableDataProvider.deleteOne(id);
80
80
  return Promise.resolve();
81
- },
81
+ }
82
82
  },
83
83
  update: {
84
84
  execute: async (data) => {
85
- debugger;
86
85
  return new Promise((resolve) => {
87
86
  setTimeout(async () => {
88
87
  // await dataService.templateVariableDataProvider.updateOne(data.id, data);
89
88
  resolve(data);
90
89
  }, 1000);
91
90
  });
92
- },
93
- },
91
+ }
92
+ }
94
93
  },
95
94
  queries: {
96
95
  byKey: {
97
96
  execute: async (id) => {
98
97
  return new Promise((resolve) => {
99
98
  setTimeout(async () => {
100
- // const entity = await dataService.templateVariableDataProvider.getOne(id);
99
+ const entity = await dataService.getOne(id);
101
100
  // resolve(entity);
102
101
  }, 500);
103
102
  });
104
103
  },
105
- type: AXPEntityQueryType.Single,
104
+ type: AXPEntityQueryType.Single
106
105
  },
107
106
  list: {
108
107
  execute: async (e) => {
109
- // const list = await dataService.templateVariableDataProvider.getAll();
110
- // const sortedItems = applySortArray(list, e.sort);
111
- // const filteredItems = applyFilterArray(sortedItems, e.filter ? [e.filter] : []);
112
- // return Promise.resolve({
113
- // total: filteredItems.length,
114
- // items: filteredItems.slice(e.skip, (e.skip ?? 0) + (e.take ?? 0)),
115
- // });
108
+ if (e.filter != null && e.filter.filters != null && e.filter.filters[0].value != null) {
109
+ const parentItem = await dataService.getOne(e.filter?.filters[0].value);
110
+ return {
111
+ totalCount: parentItem.templateVariables.length,
112
+ items: parentItem.templateVariables
113
+ };
114
+ }
115
+ else {
116
+ //TODO throw exception
117
+ return [];
118
+ }
116
119
  },
117
- type: AXPEntityQueryType.List,
118
- },
120
+ type: AXPEntityQueryType.List
121
+ }
119
122
  },
120
123
  interfaces: {
121
124
  master: {
122
125
  create: {
123
126
  sections: [
124
127
  {
125
- id: 'templateVariable',
126
- },
128
+ id: 'templateVariable'
129
+ }
127
130
  ],
128
131
  properties: [
129
132
  {
@@ -131,44 +134,44 @@ export async function templateVariableEntityFactory(injector) {
131
134
  layout: {
132
135
  positions: {
133
136
  lg: {
134
- colSpan: 6,
135
- },
136
- },
137
- },
137
+ colSpan: 6
138
+ }
139
+ }
140
+ }
138
141
  },
139
142
  {
140
143
  name: 'title',
141
144
  layout: {
142
145
  positions: {
143
146
  lg: {
144
- colSpan: 6,
145
- },
146
- },
147
- },
147
+ colSpan: 6
148
+ }
149
+ }
150
+ }
148
151
  },
149
152
  {
150
153
  name: 'requirement',
151
154
  layout: {
152
155
  positions: {
153
156
  lg: {
154
- colSpan: 6,
155
- },
156
- },
157
- },
158
- },
159
- ],
157
+ colSpan: 6
158
+ }
159
+ }
160
+ }
161
+ }
162
+ ]
160
163
  },
161
164
  update: {
162
165
  sections: [
163
166
  {
164
- id: 'templateVariable',
167
+ id: 'templateVariable'
165
168
  },
166
169
  {
167
- id: 'schema',
170
+ id: 'schema'
168
171
  },
169
172
  {
170
- id: 'interface',
171
- },
173
+ id: 'interface'
174
+ }
172
175
  ],
173
176
  properties: [
174
177
  {
@@ -176,49 +179,49 @@ export async function templateVariableEntityFactory(injector) {
176
179
  layout: {
177
180
  positions: {
178
181
  lg: {
179
- colSpan: 6,
180
- },
181
- },
182
- },
182
+ colSpan: 6
183
+ }
184
+ }
185
+ }
183
186
  },
184
187
  {
185
188
  name: 'title',
186
189
  layout: {
187
190
  positions: {
188
191
  lg: {
189
- colSpan: 6,
190
- },
191
- },
192
- },
192
+ colSpan: 6
193
+ }
194
+ }
195
+ }
193
196
  },
194
197
  {
195
198
  name: 'schema.nullable',
196
199
  layout: {
197
200
  positions: {
198
201
  lg: {
199
- colSpan: 6,
200
- },
201
- },
202
- },
202
+ colSpan: 6
203
+ }
204
+ }
205
+ }
203
206
  },
204
207
  {
205
208
  name: 'requirement',
206
209
  layout: {
207
210
  positions: {
208
211
  lg: {
209
- colSpan: 6,
210
- },
211
- },
212
- },
213
- },
214
- ],
212
+ colSpan: 6
213
+ }
214
+ }
215
+ }
216
+ }
217
+ ]
215
218
  },
216
219
  single: {
217
220
  title: '{{title}}',
218
221
  sections: [
219
222
  {
220
- id: 'templateVariable',
221
- },
223
+ id: 'templateVariable'
224
+ }
222
225
  ],
223
226
  properties: [
224
227
  {
@@ -226,33 +229,33 @@ export async function templateVariableEntityFactory(injector) {
226
229
  layout: {
227
230
  positions: {
228
231
  lg: {
229
- colSpan: 6,
230
- },
231
- },
232
- },
232
+ colSpan: 6
233
+ }
234
+ }
235
+ }
233
236
  },
234
237
  {
235
238
  name: 'title',
236
239
  layout: {
237
240
  positions: {
238
241
  lg: {
239
- colSpan: 6,
240
- },
241
- },
242
- },
242
+ colSpan: 6
243
+ }
244
+ }
245
+ }
243
246
  },
244
247
  {
245
248
  name: 'requirement',
246
249
  layout: {
247
250
  positions: {
248
251
  lg: {
249
- colSpan: 12,
250
- },
251
- },
252
- },
253
- },
252
+ colSpan: 12
253
+ }
254
+ }
255
+ }
256
+ }
254
257
  ],
255
- actions: [],
258
+ actions: []
256
259
  },
257
260
  list: {
258
261
  actions: [
@@ -261,29 +264,29 @@ export async function templateVariableEntityFactory(injector) {
261
264
  command: 'create-entity',
262
265
  priority: 'primary',
263
266
  type: 'create',
264
- scope: AXPEntityCommandScope.TypeLevel,
267
+ scope: AXPEntityCommandScope.TypeLevel
265
268
  },
266
269
  {
267
270
  title: 'Delete Items',
268
271
  command: 'delete-entity',
269
272
  priority: 'primary',
270
273
  type: 'delete',
271
- scope: AXPEntityCommandScope.Selected,
274
+ scope: AXPEntityCommandScope.Selected
272
275
  },
273
276
  {
274
277
  title: 'Details',
275
278
  command: 'open-entity',
276
279
  priority: 'primary',
277
280
  type: 'view',
278
- scope: AXPEntityCommandScope.Individual,
281
+ scope: AXPEntityCommandScope.Individual
279
282
  },
280
283
  {
281
284
  title: 'Delete',
282
285
  command: 'delete-entity',
283
286
  priority: 'primary',
284
287
  type: 'delete',
285
- scope: AXPEntityCommandScope.Individual,
286
- },
288
+ scope: AXPEntityCommandScope.Individual
289
+ }
287
290
  ],
288
291
  views: [
289
292
  {
@@ -292,13 +295,13 @@ export async function templateVariableEntityFactory(injector) {
292
295
  fixed: true,
293
296
  columns: [],
294
297
  conditions: [],
295
- sorts: [],
296
- },
297
- ],
298
- },
299
- },
300
- },
298
+ sorts: []
299
+ }
300
+ ]
301
+ }
302
+ }
303
+ }
301
304
  };
302
305
  return entityDef;
303
306
  }
304
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtdmFyaWFibGUuZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL3RlbXBsYXRlLW1hbmFnZW1lbnQvc3JjL2xpYi9lbnRpdGllcy90ZW1wbGF0ZS12YXJpYWJsZS5lbnRpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFhLHFCQUFxQixFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFcEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFM0UsTUFBTSxDQUFDLEtBQUssVUFBVSw2QkFBNkIsQ0FBQyxRQUFrQjtJQUNwRSxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFFNUQsTUFBTSxTQUFTLEdBQWM7UUFDM0IsTUFBTSxFQUFFLHFCQUFxQjtRQUM3QixJQUFJLEVBQUUsa0JBQWtCO1FBQ3hCLE1BQU0sRUFBRSxzQ0FBc0M7UUFDOUMsS0FBSyxFQUFFLG1CQUFtQjtRQUMxQixPQUFPLEVBQUU7WUFDUCxVQUFVLEVBQUUsa0JBQWtCO1lBQzlCLE1BQU0sRUFBRSxtQkFBbUI7U0FDNUI7UUFDRCxlQUFlLEVBQUUsRUFBRTtRQUNuQixNQUFNLEVBQUU7WUFDTjtnQkFDRSxFQUFFLEVBQUUsa0JBQWtCO2dCQUN0QixLQUFLLEVBQUUsa0JBQWtCO2FBQzFCO1NBQ0Y7UUFDRCxVQUFVLEVBQUU7WUFDVjtnQkFDRSxJQUFJLEVBQUUsTUFBTTtnQkFDWixLQUFLLEVBQUUsTUFBTTtnQkFDYixPQUFPLEVBQUUsa0JBQWtCO2dCQUMzQixNQUFNLEVBQUU7b0JBQ04sUUFBUSxFQUFFLFFBQVE7b0JBQ2xCLFNBQVMsRUFBRTt3QkFDVCxJQUFJLEVBQUUsaUJB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SyxFQUFFLHFCQUFxQixDQUFDLFNBQVM7eUJBQ3ZDO3dCQUNEOzRCQUNFLEtBQUssRUFBRSxjQUFjOzRCQUNyQixPQUFPLEVBQUUsZUFBZTs0QkFDeEIsUUFBUSxFQUFFLFNBQVM7NEJBQ25CLElBQUksRUFBRSxRQUFROzRCQUNkLEtBQUssRUFBRSxxQkFBcUIsQ0FBQyxRQUFRO3lCQUN0Qzt3QkFDRDs0QkFDRSxLQUFLLEVBQUUsU0FBUzs0QkFDaEIsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFFBQVEsRUFBRSxTQUFTOzRCQUNuQixJQUFJLEVBQUUsTUFBTTs0QkFDWixLQUFLLEVBQUUscUJBQXFCLENBQUMsVUFBVTt5QkFDeEM7d0JBQ0Q7NEJBQ0UsS0FBSyxFQUFFLFFBQVE7NEJBQ2YsT0FBTyxFQUFFLGVBQWU7NEJBQ3hCLFFBQVEsRUFBRSxTQUFTOzRCQUNuQixJQUFJLEVBQUUsUUFBUTs0QkFDZCxLQUFLLEVBQUUscUJBQXFCLENBQUMsVUFBVTt5QkFDeEM7cUJBQ0Y7b0JBQ0QsS0FBSyxFQUFFO3dCQUNMOzRCQUNFLElBQUksRUFBRSxLQUFLOzRCQUNYLEtBQUssRUFBRSxXQUFXOzRCQUNsQixLQUFLLEVBQUUsSUFBSTs0QkFDWCxPQUFPLEVBQUUsRUFBRTs0QkFDWCxVQUFVLEVBQUUsRUFBRTs0QkFDZCxLQUFLLEVBQUUsRUFBRTt5QkFDVjtxQkFDRjtpQkFDRjthQUNGO1NBQ0Y7S0FDRixDQUFDO0lBRUYsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUERhdGFHZW5lcmF0b3IsIEFYUEVudGl0eSwgQVhQRW50aXR5Q29tbWFuZFNjb3BlLCBBWFBFbnRpdHlRdWVyeVR5cGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBXaWRnZXRzQ2F0YWxvZyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXInO1xuaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRlbXBsYXRlTWFuYWdlbWVudFNlcnZpY2UgfSBmcm9tICcuLi90ZW1wbGF0ZS1tYW5hZ2VtZW50LnNlcnZpY2UnO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdGVtcGxhdGVWYXJpYWJsZUVudGl0eUZhY3RvcnkoaW5qZWN0b3I6IEluamVjdG9yKTogUHJvbWlzZTxBWFBFbnRpdHkgfCBudWxsPiB7XG4gIGNvbnN0IGRhdGFTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFRlbXBsYXRlTWFuYWdlbWVudFNlcnZpY2UpO1xuXG4gIGNvbnN0IGVudGl0eURlZjogQVhQRW50aXR5ID0ge1xuICAgIG1vZHVsZTogJ3RlbXBsYXRlLW1hbmFnZW1lbnQnLFxuICAgIG5hbWU6ICd0ZW1wbGF0ZVZhcmlhYmxlJyxcbiAgICBzb3VyY2U6ICd0ZW1wbGF0ZS1tYW5hZ2VtZW50LnRlbXBsYXRlVmFyaWFibGUnLFxuICAgIHRpdGxlOiAnVGVtcGxhdGVWYXJpYWJsZXMnLFxuICAgIGZvcm1hdHM6IHtcbiAgICAgIGluZGl2aWR1YWw6ICdUZW1wbGF0ZVZhcmlhYmxlJyxcbiAgICAgIHBsdXJhbDogJ1RlbXBsYXRlVmFyaWFibGVzJyxcbiAgICB9LFxuICAgIHJlbGF0ZWRFbnRpdGllczogW10sXG4gICAgZ3JvdXBzOiBbXG4gICAgICB7XG4gICAgICAgIGlkOiAndGVtcGxhdGVWYXJpYWJsZScsXG4gICAgICAgIHRpdGxlOiAnVGVtcGxhdGVWYXJpYWJsZScsXG4gICAgICB9LFxuICAgIF0sXG4gICAgcHJvcGVydGllczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnbmFtZScsXG4gICAgICAgIHRpdGxlOiAnTmFtZScsXG4gICAgICAgIGdyb3VwSWQ6ICd0ZW1wbGF0ZVZhcmlhYmxlJyxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudGV4dCxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3RpdGxlJyxcbiAgICAgICAgdGl0bGU6ICdUaXRsZScsXG4gICAgICAgIGdyb3VwSWQ6ICd0ZW1wbGF0ZVZhcmlhYmxlJyxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudGV4dCxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3R5cGUnLFxuICAgICAgICB0aXRsZTogJ1R5cGUnLFxuICAgICAgICBncm91cElkOiAndGVtcGxhdGVWYXJpYWJsZScsXG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIGRhdGFUeXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnNlbGVjdCxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3JlcXVpcmVtZW50JyxcbiAgICAgICAgdGl0bGU6ICdSZXF1aXJlbWVudCcsXG4gICAgICAgIGdyb3VwSWQ6ICd0ZW1wbGF0ZVZhcmlhYmxlJyxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGF0YVR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnRvZ2dsZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdLFxuICAgIGNvbHVtbnM6IFt7IG5hbWU6ICduYW1lJyB9LCB7IG5hbWU6ICd0aXRsZScgfSwgeyBuYW1lOiAncmVxdWlyZW1lbnQnIH1dLFxuICAgIGNvbW1hbmRzOiB7XG4gICAgICBjcmVhdGU6IHtcbiAgICAgICAgZXhlY3V0ZTogYXN5bmMgKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGVudGl0eSA9IE9iamVjdC5hc3NpZ24oZGF0YSwgeyBpZDogQVhQRGF0YUdlbmVyYXRvci51dWlkKCkgfSk7XG5cbiAgICAgICAgICAvLyAgZGF0YVNlcnZpY2UudGVtcGxhdGVWYXJpYWJsZURhdGFQcm92aWRlci5pbnNlcnRPbmUoZW50aXR5KTtcbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGVudGl0eSk7XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgZGVsZXRlOiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChpZDogYW55KSA9PiB7XG4gICAgICAgICAgLy8gICAgYXdhaXQgYXdhaXQgZGF0YVNlcnZpY2UudGVtcGxhdGVWYXJpYWJsZURhdGFQcm92aWRlci5kZWxldGVPbmUoaWQpO1xuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB1cGRhdGU6IHtcbiAgICAgICAgZXhlY3V0ZTogYXN5bmMgKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgIGRlYnVnZ2VyO1xuICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgICAgICAgc2V0VGltZW91dChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgIC8vICAgYXdhaXQgZGF0YVNlcnZpY2UudGVtcGxhdGVWYXJpYWJsZURhdGFQcm92aWRlci51cGRhdGVPbmUoZGF0YS5pZCwgZGF0YSk7XG4gICAgICAgICAgICAgIHJlc29sdmUoZGF0YSk7XG4gICAgICAgICAgICB9LCAxMDAwKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBxdWVyaWVzOiB7XG4gICAgICBieUtleToge1xuICAgICAgICBleGVjdXRlOiBhc3luYyAoaWQ6IHN0cmluZykgPT4ge1xuICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgICAgICAgc2V0VGltZW91dChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgIC8vIGNvbnN0IGVudGl0eSA9IGF3YWl0IGRhdGFTZXJ2aWNlLnRlbXBsYXRlVmFyaWFibGVEYXRhUHJvdmlkZXIuZ2V0T25lKGlkKTtcbiAgICAgICAgICAgICAgLy8gcmVzb2x2ZShlbnRpdHkpO1xuICAgICAgICAgICAgfSwgNTAwKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZTogQVhQRW50aXR5UXVlcnlUeXBlLlNpbmdsZSxcbiAgICAgIH0sXG4gICAgICBsaXN0OiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChlOiBhbnkpID0+IHtcbiAgICAgICAgICAvLyAgIGNvbnN0IGxpc3QgPSBhd2FpdCBkYXRhU2VydmljZS50ZW1wbGF0ZVZhcmlhYmxlRGF0YVByb3ZpZGVyLmdldEFsbCgpO1xuICAgICAgICAgIC8vICAgY29uc3Qgc29ydGVkSXRlbXMgPSBhcHBseVNvcnRBcnJheShsaXN0LCBlLnNvcnQpO1xuICAgICAgICAgIC8vICAgY29uc3QgZmlsdGVyZWRJdGVtcyA9IGFwcGx5RmlsdGVyQXJyYXkoc29ydGVkSXRlbXMsIGUuZmlsdGVyID8gW2UuZmlsdGVyXSA6IFtdKTtcbiAgICAgICAgICAvLyAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICAgIC8vICAgICB0b3RhbDogZmlsdGVyZWRJdGVtcy5sZW5ndGgsXG4gICAgICAgICAgLy8gICAgIGl0ZW1zOiBmaWx0ZXJlZEl0ZW1zLnNsaWNlKGUuc2tpcCwgKGUuc2tpcCA/PyAwKSArIChlLnRha2UgPz8gMCkpLFxuICAgICAgICAgIC8vICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6IEFYUEVudGl0eVF1ZXJ5VHlwZS5MaXN0LFxuICAgICAgfSxcbiAgICB9LFxuICAgIGludGVyZmFjZXM6IHtcbiAgICAgIG1hc3Rlcjoge1xuICAgICAgICBjcmVhdGU6IHtcbiAgICAgICAgICBzZWN0aW9uczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpZDogJ3RlbXBsYXRlVmFyaWFibGUnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHByb3BlcnRpZXM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ25hbWUnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAndGl0bGUnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAncmVxdWlyZW1lbnQnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgIHVwZGF0ZToge1xuICAgICAgICAgIHNlY3Rpb25zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAndGVtcGxhdGVWYXJpYWJsZScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpZDogJ3NjaGVtYScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpZDogJ2ludGVyZmFjZScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcHJvcGVydGllczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnbmFtZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICd0aXRsZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ3NjaGVtYS5udWxsYWJsZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdyZXF1aXJlbWVudCcsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgc2luZ2xlOiB7XG4gICAgICAgICAgdGl0bGU6ICd7e3RpdGxlfX0nLFxuICAgICAgICAgIHNlY3Rpb25zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAndGVtcGxhdGVWYXJpYWJsZScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcHJvcGVydGllczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnbmFtZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICd0aXRsZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdyZXF1aXJlbWVudCcsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogMTIsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgYWN0aW9uczogW10sXG4gICAgICAgIH0sXG4gICAgICAgIGxpc3Q6IHtcbiAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnQ3JlYXRlIE5ldycsXG4gICAgICAgICAgICAgIGNvbW1hbmQ6ICdjcmVhdGUtZW50aXR5JyxcbiAgICAgICAgICAgICAgcHJpb3JpdHk6ICdwcmltYXJ5JyxcbiAgICAgICAgICAgICAgdHlwZTogJ2NyZWF0ZScsXG4gICAgICAgICAgICAgIHNjb3BlOiBBWFBFbnRpdHlDb21tYW5kU2NvcGUuVHlwZUxldmVsLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGl0bGU6ICdEZWxldGUgSXRlbXMnLFxuICAgICAgICAgICAgICBjb21tYW5kOiAnZGVsZXRlLWVudGl0eScsXG4gICAgICAgICAgICAgIHByaW9yaXR5OiAncHJpbWFyeScsXG4gICAgICAgICAgICAgIHR5cGU6ICdkZWxldGUnLFxuICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLlNlbGVjdGVkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGl0bGU6ICdEZXRhaWxzJyxcbiAgICAgICAgICAgICAgY29tbWFuZDogJ29wZW4tZW50aXR5JyxcbiAgICAgICAgICAgICAgcHJpb3JpdHk6ICdwcmltYXJ5JyxcbiAgICAgICAgICAgICAgdHlwZTogJ3ZpZXcnLFxuICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWwsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0aXRsZTogJ0RlbGV0ZScsXG4gICAgICAgICAgICAgIGNvbW1hbmQ6ICdkZWxldGUtZW50aXR5JyxcbiAgICAgICAgICAgICAgcHJpb3JpdHk6ICdwcmltYXJ5JyxcbiAgICAgICAgICAgICAgdHlwZTogJ2RlbGV0ZScsXG4gICAgICAgICAgICAgIHNjb3BlOiBBWFBFbnRpdHlDb21tYW5kU2NvcGUuSW5kaXZpZHVhbCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICB2aWV3czogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnYWxsJyxcbiAgICAgICAgICAgICAgdGl0bGU6ICdBbGwgSXRlbXMnLFxuICAgICAgICAgICAgICBmaXhlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgY29sdW1uczogW10sXG4gICAgICAgICAgICAgIGNvbmRpdGlvbnM6IFtdLFxuICAgICAgICAgICAgICBzb3J0czogW10sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG4gIH07XG5cbiAgcmV0dXJuIGVudGl0eURlZjtcbn1cbiJdfQ==
307
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtdmFyaWFibGUuZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL3RlbXBsYXRlLW1hbmFnZW1lbnQvc3JjL2xpYi9lbnRpdGllcy90ZW1wbGF0ZS12YXJpYWJsZS5lbnRpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFhLHFCQUFxQixFQUFFLGtCQUFrQixFQUFzQixNQUFNLHlCQUF5QixDQUFDO0FBQ25ILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXBFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTdELE1BQU0sQ0FBQyxLQUFLLFVBQVUsaUNBQWlDLENBQUMsUUFBa0I7SUFDeEUsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBRXpELE1BQU0sU0FBUyxHQUFjO1FBQzNCLE1BQU0sRUFBRSxxQkFBcUI7UUFDN0IsSUFBSSxFQUFFLHNCQUFzQjtRQUM1QixNQUFNLEVBQUUsMENBQTBDO1FBQ2xELEtBQUssRUFBRSxvQkFBb0I7UUFDM0IsT0FBTyxFQUFFO1lBQ1AsVUFBVSxFQUFFLGtCQUFrQjtZQUM5QixNQUFNLEVBQUUsbUJBQW1CO1NBQzVCO1FBQ0QsZUFBZSxFQUFFLEVBQUU7UUFDbkIsTUFBTSxFQUFFO1lBQ047Z0JBQ0UsRUFBRSxFQUFFLGtCQUFrQjtnQkFDdEIsS0FBSyxFQUFFLGtCQUFrQjthQUMxQjtTQUNGO1FBQ0QsVUFBVSxFQUFFO1lBQ1Y7Z0JBQ0UsSUFBSSxFQUFFLE1BQU07Z0JBQ1osS0FBSyxFQUFFLE1BQU07Z0JBQ2IsT0FBTyxFQUFFLGtCQUFrQjtnQkFDM0IsTUFBTSxFQUFFO29CQUNOLFFBQVEsRUFBRSxRQUFRO29CQUNsQixTQUFTLEVBQUU7d0JBQ1QsSUFBSSxFQUFFLGlCQUFpQixDQUFDLElB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QUFFLFdBQVc7NEJBQ2xCLEtBQUssRUFBRSxJQUFJOzRCQUNYLE9BQU8sRUFBRSxFQUFFOzRCQUNYLFVBQVUsRUFBRSxFQUFFOzRCQUNkLEtBQUssRUFBRSxFQUFFO3lCQUNWO3FCQUNGO2lCQUNGO2FBQ0Y7U0FDRjtLQUNGLENBQUM7SUFFRixPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQRW50aXR5LCBBWFBFbnRpdHlDb21tYW5kU2NvcGUsIEFYUEVudGl0eVF1ZXJ5VHlwZSwgQVhQUGFnZWRMaXN0UmVzdWx0IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQV2lkZ2V0c0NhdGFsb2cgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyJztcbmltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWE1UZXh0VGVtcGxhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vdGVtcGxhdGUuc2VydmljZSc7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB0ZXh0VGVtcGxhdGVWYXJpYWJsZUVudGl0eUZhY3RvcnkoaW5qZWN0b3I6IEluamVjdG9yKTogUHJvbWlzZTxBWFBFbnRpdHkgfCBudWxsPiB7XG4gIGNvbnN0IGRhdGFTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KEFYTVRleHRUZW1wbGF0ZVNlcnZpY2UpO1xuXG4gIGNvbnN0IGVudGl0eURlZjogQVhQRW50aXR5ID0ge1xuICAgIG1vZHVsZTogJ3RlbXBsYXRlLW1hbmFnZW1lbnQnLFxuICAgIG5hbWU6ICd0ZXh0VGVtcGxhdGVWYXJpYWJsZScsXG4gICAgc291cmNlOiAndGVtcGxhdGUtbWFuYWdlbWVudC50ZXh0VGVtcGxhdGVWYXJpYWJsZScsXG4gICAgdGl0bGU6ICdUZW1wbGF0ZSBWYXJpYWJsZXMnLFxuICAgIGZvcm1hdHM6IHtcbiAgICAgIGluZGl2aWR1YWw6ICdUZW1wbGF0ZVZhcmlhYmxlJyxcbiAgICAgIHBsdXJhbDogJ1RlbXBsYXRlVmFyaWFibGVzJ1xuICAgIH0sXG4gICAgcmVsYXRlZEVudGl0aWVzOiBbXSxcbiAgICBncm91cHM6IFtcbiAgICAgIHtcbiAgICAgICAgaWQ6ICd0ZW1wbGF0ZVZhcmlhYmxlJyxcbiAgICAgICAgdGl0bGU6ICdUZW1wbGF0ZVZhcmlhYmxlJ1xuICAgICAgfVxuICAgIF0sXG4gICAgcHJvcGVydGllczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnbmFtZScsXG4gICAgICAgIHRpdGxlOiAnTmFtZScsXG4gICAgICAgIGdyb3VwSWQ6ICd0ZW1wbGF0ZVZhcmlhYmxlJyxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudGV4dFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3RpdGxlJyxcbiAgICAgICAgdGl0bGU6ICdUaXRsZScsXG4gICAgICAgIGdyb3VwSWQ6ICd0ZW1wbGF0ZVZhcmlhYmxlJyxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudGV4dFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3R5cGUnLFxuICAgICAgICB0aXRsZTogJ1R5cGUnLFxuICAgICAgICBncm91cElkOiAndGVtcGxhdGVWYXJpYWJsZScsXG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIGRhdGFUeXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnNlbGVjdFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3JlcXVpcmVkJyxcbiAgICAgICAgdGl0bGU6ICdyZXF1aXJlZCcsXG4gICAgICAgIGdyb3VwSWQ6ICd0ZW1wbGF0ZVZhcmlhYmxlJyxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGF0YVR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnRvZ2dsZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIF0sXG4gICAgY29sdW1uczogW3sgbmFtZTogJ25hbWUnIH0sIHsgbmFtZTogJ3RpdGxlJyB9LCB7IG5hbWU6ICdyZXF1aXJlbWVudCcgfV0sXG4gICAgY29tbWFuZHM6IHtcbiAgICAgIGNyZWF0ZToge1xuICAgICAgICBleGVjdXRlOiBhc3luYyAoZGF0YTogYW55KSA9PiB7XG4gICAgICAgICAgY29uc3QgaXRlbSA9IGF3YWl0IGRhdGFTZXJ2aWNlLmdldE9uZShkYXRhLmdsb2JhbFRlbXBsYXRlSWQpO1xuICAgICAgICAgIChpdGVtLnRlbXBsYXRlVmFyaWFibGVzID8/PSBbXSkucHVzaChkYXRhKTtcbiAgICAgICAgICByZXR1cm4gYXdhaXQgZGF0YVNlcnZpY2UudXBkYXRlT25lKGRhdGEuZ2xvYmFsVGVtcGxhdGVJZCwgaXRlbSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBkZWxldGU6IHtcbiAgICAgICAgZXhlY3V0ZTogYXN5bmMgKGlkOiBhbnkpID0+IHtcbiAgICAgICAgICAvLyAgICBhd2FpdCBhd2FpdCBkYXRhU2VydmljZS50ZW1wbGF0ZVZhcmlhYmxlRGF0YVByb3ZpZGVyLmRlbGV0ZU9uZShpZCk7XG4gICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgdXBkYXRlOiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAvLyAgIGF3YWl0IGRhdGFTZXJ2aWNlLnRlbXBsYXRlVmFyaWFibGVEYXRhUHJvdmlkZXIudXBkYXRlT25lKGRhdGEuaWQsIGRhdGEpO1xuICAgICAgICAgICAgICByZXNvbHZlKGRhdGEpO1xuICAgICAgICAgICAgfSwgMTAwMCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIHF1ZXJpZXM6IHtcbiAgICAgIGJ5S2V5OiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChpZDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgIGNvbnN0IGVudGl0eSA9IGF3YWl0IGRhdGFTZXJ2aWNlLmdldE9uZShpZCk7XG4gICAgICAgICAgICAgIC8vIHJlc29sdmUoZW50aXR5KTtcbiAgICAgICAgICAgIH0sIDUwMCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6IEFYUEVudGl0eVF1ZXJ5VHlwZS5TaW5nbGVcbiAgICAgIH0sXG4gICAgICBsaXN0OiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChlOiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAoZS5maWx0ZXIgIT0gbnVsbCAmJiBlLmZpbHRlci5maWx0ZXJzICE9IG51bGwgJiYgZS5maWx0ZXIuZmlsdGVyc1swXS52YWx1ZSAhPSBudWxsKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnRJdGVtID0gYXdhaXQgZGF0YVNlcnZpY2UuZ2V0T25lKDxzdHJpbmc+ZS5maWx0ZXI/LmZpbHRlcnNbMF0udmFsdWUpO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgdG90YWxDb3VudDogcGFyZW50SXRlbS50ZW1wbGF0ZVZhcmlhYmxlcy5sZW5ndGgsXG4gICAgICAgICAgICAgIGl0ZW1zOiBwYXJlbnRJdGVtLnRlbXBsYXRlVmFyaWFibGVzXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvL1RPRE8gdGhyb3cgZXhjZXB0aW9uXG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB0eXBlOiBBWFBFbnRpdHlRdWVyeVR5cGUuTGlzdFxuICAgICAgfVxuICAgIH0sXG4gICAgaW50ZXJmYWNlczoge1xuICAgICAgbWFzdGVyOiB7XG4gICAgICAgIGNyZWF0ZToge1xuICAgICAgICAgIHNlY3Rpb25zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAndGVtcGxhdGVWYXJpYWJsZSdcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdLFxuICAgICAgICAgIHByb3BlcnRpZXM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ25hbWUnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDZcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICd0aXRsZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ3JlcXVpcmVtZW50JyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICB1cGRhdGU6IHtcbiAgICAgICAgICBzZWN0aW9uczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpZDogJ3RlbXBsYXRlVmFyaWFibGUnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpZDogJ3NjaGVtYSdcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAnaW50ZXJmYWNlJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIF0sXG4gICAgICAgICAgcHJvcGVydGllczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnbmFtZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ3RpdGxlJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdzY2hlbWEubnVsbGFibGUnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDZcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdyZXF1aXJlbWVudCcsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgc2luZ2xlOiB7XG4gICAgICAgICAgdGl0bGU6ICd7e3RpdGxlfX0nLFxuICAgICAgICAgIHNlY3Rpb25zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAndGVtcGxhdGVWYXJpYWJsZSdcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdLFxuICAgICAgICAgIHByb3BlcnRpZXM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ25hbWUnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDZcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICd0aXRsZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ3JlcXVpcmVtZW50JyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiAxMlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIF0sXG4gICAgICAgICAgYWN0aW9uczogW11cbiAgICAgICAgfSxcbiAgICAgICAgbGlzdDoge1xuICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGl0bGU6ICdDcmVhdGUgTmV3JyxcbiAgICAgICAgICAgICAgY29tbWFuZDogJ2NyZWF0ZS1lbnRpdHknLFxuICAgICAgICAgICAgICBwcmlvcml0eTogJ3ByaW1hcnknLFxuICAgICAgICAgICAgICB0eXBlOiAnY3JlYXRlJyxcbiAgICAgICAgICAgICAgc2NvcGU6IEFYUEVudGl0eUNvbW1hbmRTY29wZS5UeXBlTGV2ZWxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnRGVsZXRlIEl0ZW1zJyxcbiAgICAgICAgICAgICAgY29tbWFuZDogJ2RlbGV0ZS1lbnRpdHknLFxuICAgICAgICAgICAgICBwcmlvcml0eTogJ3ByaW1hcnknLFxuICAgICAgICAgICAgICB0eXBlOiAnZGVsZXRlJyxcbiAgICAgICAgICAgICAgc2NvcGU6IEFYUEVudGl0eUNvbW1hbmRTY29wZS5TZWxlY3RlZFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGl0bGU6ICdEZXRhaWxzJyxcbiAgICAgICAgICAgICAgY29tbWFuZDogJ29wZW4tZW50aXR5JyxcbiAgICAgICAgICAgICAgcHJpb3JpdHk6ICdwcmltYXJ5JyxcbiAgICAgICAgICAgICAgdHlwZTogJ3ZpZXcnLFxuICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnRGVsZXRlJyxcbiAgICAgICAgICAgICAgY29tbWFuZDogJ2RlbGV0ZS1lbnRpdHknLFxuICAgICAgICAgICAgICBwcmlvcml0eTogJ3ByaW1hcnknLFxuICAgICAgICAgICAgICB0eXBlOiAnZGVsZXRlJyxcbiAgICAgICAgICAgICAgc2NvcGU6IEFYUEVudGl0eUNvbW1hbmRTY29wZS5JbmRpdmlkdWFsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgXSxcbiAgICAgICAgICB2aWV3czogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnYWxsJyxcbiAgICAgICAgICAgICAgdGl0bGU6ICdBbGwgSXRlbXMnLFxuICAgICAgICAgICAgICBmaXhlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgY29sdW1uczogW10sXG4gICAgICAgICAgICAgIGNvbmRpdGlvbnM6IFtdLFxuICAgICAgICAgICAgICBzb3J0czogW11cbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIGVudGl0eURlZjtcbn1cbiJdfQ==