@finos/legend-application-studio 19.1.0 → 20.0.1

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 (195) hide show
  1. package/lib/application/LegendStudioApplicationConfig.d.ts +6 -0
  2. package/lib/application/LegendStudioApplicationConfig.d.ts.map +1 -1
  3. package/lib/application/LegendStudioApplicationConfig.js +7 -0
  4. package/lib/application/LegendStudioApplicationConfig.js.map +1 -1
  5. package/lib/components/EditorComponentTestUtils.d.ts +1 -1
  6. package/lib/components/EditorComponentTestUtils.d.ts.map +1 -1
  7. package/lib/components/EditorComponentTestUtils.js +23 -50
  8. package/lib/components/EditorComponentTestUtils.js.map +1 -1
  9. package/lib/components/editor/StatusBar.d.ts.map +1 -1
  10. package/lib/components/editor/StatusBar.js +10 -3
  11. package/lib/components/editor/StatusBar.js.map +1 -1
  12. package/lib/components/editor/aux-panel/AuxiliaryPanel.d.ts.map +1 -1
  13. package/lib/components/editor/aux-panel/AuxiliaryPanel.js +11 -3
  14. package/lib/components/editor/aux-panel/AuxiliaryPanel.js.map +1 -1
  15. package/lib/components/editor/aux-panel/Console.d.ts.map +1 -1
  16. package/lib/components/editor/aux-panel/Console.js +2 -1
  17. package/lib/components/editor/aux-panel/Console.js.map +1 -1
  18. package/lib/components/editor/aux-panel/DevTool.d.ts.map +1 -1
  19. package/lib/components/editor/aux-panel/DevTool.js +4 -7
  20. package/lib/components/editor/aux-panel/DevTool.js.map +1 -1
  21. package/lib/components/editor/aux-panel/Problems.d.ts +20 -0
  22. package/lib/components/editor/aux-panel/Problems.d.ts.map +1 -0
  23. package/lib/components/editor/aux-panel/Problems.js +48 -0
  24. package/lib/components/editor/aux-panel/Problems.js.map +1 -0
  25. package/lib/components/editor/edit-panel/GrammarTextEditor.d.ts.map +1 -1
  26. package/lib/components/editor/edit-panel/GrammarTextEditor.js +36 -25
  27. package/lib/components/editor/edit-panel/GrammarTextEditor.js.map +1 -1
  28. package/lib/components/editor/edit-panel/connection-editor/RelationalDatabaseConnectionEditor.js +16 -16
  29. package/lib/components/editor/edit-panel/connection-editor/RelationalDatabaseConnectionEditor.js.map +1 -1
  30. package/lib/components/editor/edit-panel/connection-editor/post-processor-editor/MapperPostProcessorEditor.d.ts.map +1 -1
  31. package/lib/components/editor/edit-panel/connection-editor/post-processor-editor/MapperPostProcessorEditor.js +4 -4
  32. package/lib/components/editor/edit-panel/connection-editor/post-processor-editor/MapperPostProcessorEditor.js.map +1 -1
  33. package/lib/components/editor/edit-panel/diff-editor/EntityChangeConflictEditor.js +20 -6
  34. package/lib/components/editor/edit-panel/diff-editor/EntityChangeConflictEditor.js.map +1 -1
  35. package/lib/components/editor/edit-panel/mapping-editor/EnumerationMappingEditor.d.ts.map +1 -1
  36. package/lib/components/editor/edit-panel/mapping-editor/EnumerationMappingEditor.js +2 -2
  37. package/lib/components/editor/edit-panel/mapping-editor/EnumerationMappingEditor.js.map +1 -1
  38. package/lib/components/editor/edit-panel/project-configuration-editor/ProjectConfigurationEditor.d.ts.map +1 -1
  39. package/lib/components/editor/edit-panel/project-configuration-editor/ProjectConfigurationEditor.js +2 -2
  40. package/lib/components/editor/edit-panel/project-configuration-editor/ProjectConfigurationEditor.js.map +1 -1
  41. package/lib/components/editor/side-bar/Explorer.d.ts.map +1 -1
  42. package/lib/components/editor/side-bar/Explorer.js +3 -3
  43. package/lib/components/editor/side-bar/Explorer.js.map +1 -1
  44. package/lib/components/editor/side-bar/ProjectOverview.d.ts.map +1 -1
  45. package/lib/components/editor/side-bar/ProjectOverview.js +3 -3
  46. package/lib/components/editor/side-bar/ProjectOverview.js.map +1 -1
  47. package/lib/components/shared/DiffView.js +2 -2
  48. package/lib/components/shared/DiffView.js.map +1 -1
  49. package/lib/index.css +2 -2
  50. package/lib/index.css.map +1 -1
  51. package/lib/package.json +6 -6
  52. package/lib/stores/ChangeDetectionState.d.ts +2 -0
  53. package/lib/stores/ChangeDetectionState.d.ts.map +1 -1
  54. package/lib/stores/ChangeDetectionState.js +12 -6
  55. package/lib/stores/ChangeDetectionState.js.map +1 -1
  56. package/lib/stores/EditorConfig.d.ts +2 -1
  57. package/lib/stores/EditorConfig.d.ts.map +1 -1
  58. package/lib/stores/EditorConfig.js +1 -0
  59. package/lib/stores/EditorConfig.js.map +1 -1
  60. package/lib/stores/EditorGraphState.d.ts +17 -16
  61. package/lib/stores/EditorGraphState.d.ts.map +1 -1
  62. package/lib/stores/EditorGraphState.js +152 -94
  63. package/lib/stores/EditorGraphState.js.map +1 -1
  64. package/lib/stores/EditorSDLCState.d.ts +6 -6
  65. package/lib/stores/EditorSDLCState.d.ts.map +1 -1
  66. package/lib/stores/EditorSDLCState.js +52 -27
  67. package/lib/stores/EditorSDLCState.js.map +1 -1
  68. package/lib/stores/EditorStore.js +1 -1
  69. package/lib/stores/EditorStore.js.map +1 -1
  70. package/lib/stores/EmbeddedQueryBuilderState.js +1 -1
  71. package/lib/stores/EmbeddedQueryBuilderState.js.map +1 -1
  72. package/lib/stores/editor/NewElementState.d.ts.map +1 -1
  73. package/lib/stores/editor/NewElementState.js +14 -5
  74. package/lib/stores/editor/NewElementState.js.map +1 -1
  75. package/lib/stores/editor/StandardEditorMode.d.ts.map +1 -1
  76. package/lib/stores/editor/StandardEditorMode.js +2 -2
  77. package/lib/stores/editor/StandardEditorMode.js.map +1 -1
  78. package/lib/stores/editor-state/FileGenerationState.d.ts +3 -3
  79. package/lib/stores/editor-state/FileGenerationState.d.ts.map +1 -1
  80. package/lib/stores/editor-state/FileGenerationState.js +9 -5
  81. package/lib/stores/editor-state/FileGenerationState.js.map +1 -1
  82. package/lib/stores/editor-state/GrammarTextEditorState.d.ts +6 -4
  83. package/lib/stores/editor-state/GrammarTextEditorState.d.ts.map +1 -1
  84. package/lib/stores/editor-state/GrammarTextEditorState.js +14 -8
  85. package/lib/stores/editor-state/GrammarTextEditorState.js.map +1 -1
  86. package/lib/stores/editor-state/element-editor-state/ClassEditorState.d.ts +0 -1
  87. package/lib/stores/editor-state/element-editor-state/ClassEditorState.d.ts.map +1 -1
  88. package/lib/stores/editor-state/element-editor-state/ClassEditorState.js +0 -5
  89. package/lib/stores/editor-state/element-editor-state/ClassEditorState.js.map +1 -1
  90. package/lib/stores/editor-state/element-editor-state/ElementEditorState.d.ts +0 -1
  91. package/lib/stores/editor-state/element-editor-state/ElementEditorState.d.ts.map +1 -1
  92. package/lib/stores/editor-state/element-editor-state/ElementEditorState.js +0 -3
  93. package/lib/stores/editor-state/element-editor-state/ElementEditorState.js.map +1 -1
  94. package/lib/stores/editor-state/element-editor-state/ElementFileGenerationState.d.ts +2 -2
  95. package/lib/stores/editor-state/element-editor-state/ElementFileGenerationState.d.ts.map +1 -1
  96. package/lib/stores/editor-state/element-editor-state/ElementFileGenerationState.js +5 -4
  97. package/lib/stores/editor-state/element-editor-state/ElementFileGenerationState.js.map +1 -1
  98. package/lib/stores/editor-state/element-editor-state/FunctionEditorState.d.ts +0 -1
  99. package/lib/stores/editor-state/element-editor-state/FunctionEditorState.d.ts.map +1 -1
  100. package/lib/stores/editor-state/element-editor-state/FunctionEditorState.js +0 -4
  101. package/lib/stores/editor-state/element-editor-state/FunctionEditorState.js.map +1 -1
  102. package/lib/stores/editor-state/element-editor-state/mapping/MappingEditorState.d.ts +0 -1
  103. package/lib/stores/editor-state/element-editor-state/mapping/MappingEditorState.d.ts.map +1 -1
  104. package/lib/stores/editor-state/element-editor-state/mapping/MappingEditorState.js +0 -6
  105. package/lib/stores/editor-state/element-editor-state/mapping/MappingEditorState.js.map +1 -1
  106. package/lib/stores/editor-state/element-editor-state/mapping/MappingExecutionState.d.ts +6 -6
  107. package/lib/stores/editor-state/element-editor-state/mapping/MappingExecutionState.d.ts.map +1 -1
  108. package/lib/stores/editor-state/element-editor-state/mapping/MappingExecutionState.js +24 -14
  109. package/lib/stores/editor-state/element-editor-state/mapping/MappingExecutionState.js.map +1 -1
  110. package/lib/stores/editor-state/element-editor-state/mapping/MappingTestState.d.ts +6 -6
  111. package/lib/stores/editor-state/element-editor-state/mapping/MappingTestState.d.ts.map +1 -1
  112. package/lib/stores/editor-state/element-editor-state/mapping/MappingTestState.js +30 -15
  113. package/lib/stores/editor-state/element-editor-state/mapping/MappingTestState.js.map +1 -1
  114. package/lib/stores/editor-state/element-editor-state/service/ServiceExecutionState.d.ts.map +1 -1
  115. package/lib/stores/editor-state/element-editor-state/service/ServiceExecutionState.js +1 -1
  116. package/lib/stores/editor-state/element-editor-state/service/ServiceExecutionState.js.map +1 -1
  117. package/lib/stores/editor-state/element-editor-state/service/ServiceRegistrationState.d.ts +4 -4
  118. package/lib/stores/editor-state/element-editor-state/service/ServiceRegistrationState.d.ts.map +1 -1
  119. package/lib/stores/editor-state/element-editor-state/service/ServiceRegistrationState.js +54 -44
  120. package/lib/stores/editor-state/element-editor-state/service/ServiceRegistrationState.js.map +1 -1
  121. package/lib/stores/project-viewer/ProjectViewerStore.d.ts.map +1 -1
  122. package/lib/stores/project-viewer/ProjectViewerStore.js +1 -1
  123. package/lib/stores/project-viewer/ProjectViewerStore.js.map +1 -1
  124. package/lib/stores/sidebar-state/LocalChangesState.d.ts +13 -13
  125. package/lib/stores/sidebar-state/LocalChangesState.d.ts.map +1 -1
  126. package/lib/stores/sidebar-state/LocalChangesState.js +71 -63
  127. package/lib/stores/sidebar-state/LocalChangesState.js.map +1 -1
  128. package/lib/stores/sidebar-state/ProjectOverviewState.d.ts.map +1 -1
  129. package/lib/stores/sidebar-state/ProjectOverviewState.js +19 -4
  130. package/lib/stores/sidebar-state/ProjectOverviewState.js.map +1 -1
  131. package/lib/stores/sidebar-state/WorkflowManagerState.d.ts +8 -8
  132. package/lib/stores/sidebar-state/WorkflowManagerState.d.ts.map +1 -1
  133. package/lib/stores/sidebar-state/WorkflowManagerState.js +15 -11
  134. package/lib/stores/sidebar-state/WorkflowManagerState.js.map +1 -1
  135. package/lib/stores/sidebar-state/WorkspaceReviewState.d.ts +3 -3
  136. package/lib/stores/sidebar-state/WorkspaceReviewState.d.ts.map +1 -1
  137. package/lib/stores/sidebar-state/WorkspaceReviewState.js +21 -6
  138. package/lib/stores/sidebar-state/WorkspaceReviewState.js.map +1 -1
  139. package/lib/stores/sidebar-state/WorkspaceSyncState.d.ts +2 -2
  140. package/lib/stores/sidebar-state/WorkspaceSyncState.d.ts.map +1 -1
  141. package/lib/stores/sidebar-state/WorkspaceSyncState.js +9 -7
  142. package/lib/stores/sidebar-state/WorkspaceSyncState.js.map +1 -1
  143. package/lib/stores/sidebar-state/WorkspaceUpdaterState.d.ts +2 -2
  144. package/lib/stores/sidebar-state/WorkspaceUpdaterState.d.ts.map +1 -1
  145. package/lib/stores/sidebar-state/WorkspaceUpdaterState.js +8 -4
  146. package/lib/stores/sidebar-state/WorkspaceUpdaterState.js.map +1 -1
  147. package/lib/stores/workspace-review/WorkspaceReviewStore.d.ts +2 -2
  148. package/lib/stores/workspace-review/WorkspaceReviewStore.d.ts.map +1 -1
  149. package/lib/stores/workspace-review/WorkspaceReviewStore.js +27 -10
  150. package/lib/stores/workspace-review/WorkspaceReviewStore.js.map +1 -1
  151. package/package.json +15 -15
  152. package/src/application/LegendStudioApplicationConfig.ts +7 -0
  153. package/src/components/EditorComponentTestUtils.tsx +64 -60
  154. package/src/components/editor/StatusBar.tsx +38 -3
  155. package/src/components/editor/aux-panel/AuxiliaryPanel.tsx +32 -10
  156. package/src/components/editor/aux-panel/Console.tsx +4 -3
  157. package/src/components/editor/aux-panel/DevTool.tsx +47 -79
  158. package/src/components/editor/aux-panel/Problems.tsx +103 -0
  159. package/src/components/editor/edit-panel/GrammarTextEditor.tsx +48 -36
  160. package/src/components/editor/edit-panel/connection-editor/RelationalDatabaseConnectionEditor.tsx +61 -61
  161. package/src/components/editor/edit-panel/connection-editor/post-processor-editor/MapperPostProcessorEditor.tsx +21 -25
  162. package/src/components/editor/edit-panel/diff-editor/EntityChangeConflictEditor.tsx +23 -23
  163. package/src/components/editor/edit-panel/mapping-editor/EnumerationMappingEditor.tsx +2 -1
  164. package/src/components/editor/edit-panel/project-configuration-editor/ProjectConfigurationEditor.tsx +19 -22
  165. package/src/components/editor/side-bar/Explorer.tsx +5 -3
  166. package/src/components/editor/side-bar/ProjectOverview.tsx +5 -3
  167. package/src/components/shared/DiffView.tsx +2 -2
  168. package/src/stores/ChangeDetectionState.ts +17 -8
  169. package/src/stores/EditorConfig.ts +1 -0
  170. package/src/stores/EditorGraphState.ts +223 -136
  171. package/src/stores/EditorSDLCState.ts +65 -30
  172. package/src/stores/EditorStore.ts +1 -1
  173. package/src/stores/EmbeddedQueryBuilderState.ts +1 -1
  174. package/src/stores/editor/NewElementState.ts +24 -5
  175. package/src/stores/editor/StandardEditorMode.ts +4 -2
  176. package/src/stores/editor-state/FileGenerationState.ts +19 -8
  177. package/src/stores/editor-state/GrammarTextEditorState.ts +18 -10
  178. package/src/stores/editor-state/element-editor-state/ClassEditorState.ts +0 -12
  179. package/src/stores/editor-state/element-editor-state/ElementEditorState.ts +0 -4
  180. package/src/stores/editor-state/element-editor-state/ElementFileGenerationState.ts +8 -6
  181. package/src/stores/editor-state/element-editor-state/FunctionEditorState.ts +0 -5
  182. package/src/stores/editor-state/element-editor-state/mapping/MappingEditorState.ts +0 -11
  183. package/src/stores/editor-state/element-editor-state/mapping/MappingExecutionState.ts +29 -15
  184. package/src/stores/editor-state/element-editor-state/mapping/MappingTestState.ts +37 -23
  185. package/src/stores/editor-state/element-editor-state/service/ServiceExecutionState.ts +4 -3
  186. package/src/stores/editor-state/element-editor-state/service/ServiceRegistrationState.ts +63 -48
  187. package/src/stores/project-viewer/ProjectViewerStore.ts +5 -3
  188. package/src/stores/sidebar-state/LocalChangesState.ts +130 -115
  189. package/src/stores/sidebar-state/ProjectOverviewState.ts +19 -4
  190. package/src/stores/sidebar-state/WorkflowManagerState.ts +28 -31
  191. package/src/stores/sidebar-state/WorkspaceReviewState.ts +24 -8
  192. package/src/stores/sidebar-state/WorkspaceSyncState.ts +11 -16
  193. package/src/stores/sidebar-state/WorkspaceUpdaterState.ts +11 -7
  194. package/src/stores/workspace-review/WorkspaceReviewStore.ts +39 -12
  195. package/tsconfig.json +1 -0
@@ -13,7 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { action, computed, flowResult, makeAutoObservable } from 'mobx';
16
+ import { action, computed, flow, flowResult, makeObservable, observable, } from 'mobx';
17
17
  import { CHANGE_DETECTION_EVENT } from './ChangeDetectionEvent.js';
18
18
  import { GRAPH_EDITOR_MODE, AUX_PANEL_MODE } from './EditorConfig.js';
19
19
  import { LogEvent, assertType, UnsupportedOperationError, assertErrorThrown, assertTrue, isNonNullable, NetworkClientError, guaranteeNonNullable, StopWatch, filterByType, ActionState, } from '@finos/legend-shared';
@@ -53,28 +53,52 @@ export class EditorGraphState {
53
53
  isApplicationLeavingTextMode = false;
54
54
  isUpdatingGraph = false; // critical synchronous update to refresh the graph
55
55
  isUpdatingApplication = false; // including graph update and async operations such as change detection
56
+ warnings = [];
57
+ error;
58
+ mostRecentTextModeCompilationGraphHash;
59
+ mostRecentFormModeCompilationGraphHash;
60
+ enableStrictMode = false;
56
61
  constructor(editorStore) {
57
- makeAutoObservable(this, {
58
- editorStore: false,
59
- graphGenerationState: false,
60
- getPackageableElementType: false,
61
- hasCompilationError: computed,
62
- clearCompilationError: action,
62
+ makeObservable(this, {
63
+ isInitializingGraph: observable,
64
+ isRunningGlobalCompile: observable,
65
+ isRunningGlobalGenerate: observable,
66
+ isApplicationLeavingTextMode: observable,
67
+ isUpdatingGraph: observable,
68
+ isUpdatingApplication: observable,
69
+ warnings: observable,
70
+ error: observable,
71
+ mostRecentFormModeCompilationGraphHash: observable,
72
+ mostRecentTextModeCompilationGraphHash: observable,
73
+ enableStrictMode: observable,
74
+ problems: computed,
75
+ areProblemsStale: computed,
76
+ isApplicationUpdateOperationIsRunning: computed,
77
+ clearProblems: action,
78
+ setEnableStrictMode: action,
79
+ buildGraph: flow,
80
+ loadEntityChangesToGraph: flow,
81
+ globalCompileInFormMode: flow,
82
+ globalCompileInTextMode: flow,
83
+ leaveTextMode: flow,
84
+ updateGraphAndApplication: flow,
85
+ updateGenerationGraphAndApplication: flow,
63
86
  });
64
87
  this.editorStore = editorStore;
65
88
  this.graphGenerationState = new GraphGenerationState(this.editorStore);
89
+ this.enableStrictMode =
90
+ editorStore.applicationStore.config.options.enableGraphBuilderStrictMode;
66
91
  }
67
- get hasCompilationError() {
68
- return (Boolean(this.editorStore.grammarTextEditorState.error) ||
69
- this.editorStore.openedEditorStates
70
- .filter(filterByType(ElementEditorState))
71
- .some((editorState) => editorState.hasCompilationError));
92
+ get problems() {
93
+ return [this.error, ...this.warnings].filter(isNonNullable);
72
94
  }
73
- clearCompilationError() {
74
- this.editorStore.grammarTextEditorState.setError(undefined);
75
- this.editorStore.openedEditorStates
76
- .filter(filterByType(ElementEditorState))
77
- .forEach((editorState) => editorState.clearCompilationError());
95
+ get areProblemsStale() {
96
+ return ((this.editorStore.isInFormMode &&
97
+ this.mostRecentFormModeCompilationGraphHash !==
98
+ this.editorStore.changeDetectionState.currentGraphHash) ||
99
+ (this.editorStore.isInGrammarTextMode &&
100
+ this.mostRecentTextModeCompilationGraphHash !==
101
+ this.editorStore.grammarTextEditorState.currentTextGraphHash));
78
102
  }
79
103
  get isApplicationUpdateOperationIsRunning() {
80
104
  return (this.isRunningGlobalCompile ||
@@ -106,6 +130,54 @@ export class EditorGraphState {
106
130
  }
107
131
  return false;
108
132
  }
133
+ /**
134
+ * Get entitiy changes to prepare for syncing
135
+ */
136
+ computeLocalEntityChanges() {
137
+ const baseHashesIndex = this.editorStore.isInConflictResolutionMode
138
+ ? this.editorStore.changeDetectionState
139
+ .conflictResolutionHeadRevisionState.entityHashesIndex
140
+ : this.editorStore.changeDetectionState.workspaceLocalLatestRevisionState
141
+ .entityHashesIndex;
142
+ const originalPaths = new Set(Array.from(baseHashesIndex.keys()));
143
+ const entityChanges = [];
144
+ this.editorStore.graphManagerState.graph.allOwnElements.forEach((element) => {
145
+ const elementPath = element.path;
146
+ if (baseHashesIndex.get(elementPath) !== element.hashCode) {
147
+ const entity = this.editorStore.graphManagerState.graphManager.elementToEntity(element, {
148
+ pruneSourceInformation: true,
149
+ });
150
+ entityChanges.push({
151
+ classifierPath: entity.classifierPath,
152
+ entityPath: element.path,
153
+ content: entity.content,
154
+ type: baseHashesIndex.get(elementPath) !== undefined
155
+ ? EntityChangeType.MODIFY
156
+ : EntityChangeType.CREATE,
157
+ });
158
+ }
159
+ originalPaths.delete(elementPath);
160
+ });
161
+ Array.from(originalPaths).forEach((path) => {
162
+ entityChanges.push({
163
+ type: EntityChangeType.DELETE,
164
+ entityPath: path,
165
+ });
166
+ });
167
+ return entityChanges;
168
+ }
169
+ clearProblems() {
170
+ this.error = undefined;
171
+ this.editorStore.openedEditorStates
172
+ .filter(filterByType(ElementEditorState))
173
+ .forEach((editorState) => editorState.clearCompilationError());
174
+ this.mostRecentFormModeCompilationGraphHash = undefined;
175
+ this.mostRecentTextModeCompilationGraphHash = undefined;
176
+ this.warnings = [];
177
+ }
178
+ setEnableStrictMode(val) {
179
+ this.enableStrictMode = val;
180
+ }
109
181
  *buildGraph(entities) {
110
182
  try {
111
183
  this.isInitializingGraph = true;
@@ -126,6 +198,7 @@ export class EditorGraphState {
126
198
  const graph_buildReport = (yield this.editorStore.graphManagerState.graphManager.buildGraph(this.editorStore.graphManagerState.graph, entities, this.editorStore.graphManagerState.graphBuildState, {
127
199
  TEMPORARY__preserveSectionIndex: this.editorStore.applicationStore.config.options
128
200
  .TEMPORARY__preserveSectionIndex,
201
+ strict: this.enableStrictMode,
129
202
  }));
130
203
  // build generations
131
204
  const generation_buildReport = (yield this.editorStore.graphManagerState.graphManager.buildGenerations(this.editorStore.graphManagerState.graph, this.graphGenerationState.generatedEntities, this.editorStore.graphManagerState.generationsBuildState));
@@ -219,42 +292,6 @@ export class EditorGraphState {
219
292
  nativeImporterState.loadCurrentProjectEntities();
220
293
  this.editorStore.openState(this.editorStore.modelImporterState);
221
294
  }
222
- /**
223
- * Get entitiy changes to prepare for syncing
224
- */
225
- computeLocalEntityChanges() {
226
- const baseHashesIndex = this.editorStore.isInConflictResolutionMode
227
- ? this.editorStore.changeDetectionState
228
- .conflictResolutionHeadRevisionState.entityHashesIndex
229
- : this.editorStore.changeDetectionState.workspaceLocalLatestRevisionState
230
- .entityHashesIndex;
231
- const originalPaths = new Set(Array.from(baseHashesIndex.keys()));
232
- const entityChanges = [];
233
- this.editorStore.graphManagerState.graph.allOwnElements.forEach((element) => {
234
- const elementPath = element.path;
235
- if (baseHashesIndex.get(elementPath) !== element.hashCode) {
236
- const entity = this.editorStore.graphManagerState.graphManager.elementToEntity(element, {
237
- pruneSourceInformation: true,
238
- });
239
- entityChanges.push({
240
- classifierPath: entity.classifierPath,
241
- entityPath: element.path,
242
- content: entity.content,
243
- type: baseHashesIndex.get(elementPath) !== undefined
244
- ? EntityChangeType.MODIFY
245
- : EntityChangeType.CREATE,
246
- });
247
- }
248
- originalPaths.delete(elementPath);
249
- });
250
- Array.from(originalPaths).forEach((path) => {
251
- entityChanges.push({
252
- type: EntityChangeType.DELETE,
253
- entityPath: path,
254
- });
255
- });
256
- return entityChanges;
257
- }
258
295
  /**
259
296
  * Loads entity changes to graph and updates application.
260
297
  */
@@ -272,16 +309,17 @@ export class EditorGraphState {
272
309
  }
273
310
  }
274
311
  // TODO: when we support showing multiple notifications, we can take this options out as the only users of this
275
- // is delete element flow, where we want to say `re-compiling graph after deletion`, but because compilation
276
- // sometimes is so fast, the message flashes, so we want to combine with the message in this method
312
+ // is delete element flow, where we want to say `re-compiling graph after deletion`, but because sometimes, compilation
313
+ // is so fast, the message flashes, so we want to combine with the message in this method
277
314
  *globalCompileInFormMode(options) {
278
315
  assertTrue(this.editorStore.isInFormMode, 'Editor must be in form mode to call this method');
279
316
  if (this.checkIfApplicationUpdateOperationIsRunning()) {
280
317
  return FormModeCompilationOutcome.SKIPPED;
281
318
  }
282
- this.isRunningGlobalCompile = true;
319
+ const currentGraphHash = this.editorStore.changeDetectionState.currentGraphHash;
283
320
  try {
284
- this.clearCompilationError();
321
+ this.isRunningGlobalCompile = true;
322
+ this.clearProblems();
285
323
  if (options?.openConsole) {
286
324
  this.editorStore.setActiveAuxPanelMode(AUX_PANEL_MODE.CONSOLE);
287
325
  }
@@ -289,11 +327,20 @@ export class EditorGraphState {
289
327
  // so that the form parts where the user interacted with (i.e. where the lamdbas source
290
328
  // information are populated), can reveal compilation error. If compilation errors
291
329
  // show up in other parts, the user will get redirected to text-mode
292
- yield this.editorStore.graphManagerState.graphManager.compileGraph(this.editorStore.graphManagerState.graph, {
330
+ const compilationResult = (yield this.editorStore.graphManagerState.graphManager.compileGraph(this.editorStore.graphManagerState.graph, {
293
331
  keepSourceInformation: true,
294
- });
332
+ }));
333
+ this.warnings = compilationResult.warnings ?? [];
334
+ this.mostRecentFormModeCompilationGraphHash = currentGraphHash;
295
335
  if (!options?.disableNotificationOnSuccess) {
296
- this.editorStore.applicationStore.notifySuccess('Compiled successfully');
336
+ if (this.warnings.length) {
337
+ this.editorStore.applicationStore.notifyWarning(`Compilation suceeded with warnings`);
338
+ }
339
+ else {
340
+ if (!options?.disableNotificationOnSuccess) {
341
+ this.editorStore.applicationStore.notifySuccess('Compiled successfully');
342
+ }
343
+ }
297
344
  }
298
345
  return FormModeCompilationOutcome.SUCCEEDED;
299
346
  }
@@ -303,6 +350,7 @@ export class EditorGraphState {
303
350
  // i.e. there should be a catch-all handler (we can use if-else construct to check error types)
304
351
  assertType(error, EngineError, `Unhandled exception:\n${error}`);
305
352
  this.editorStore.applicationStore.log.error(LogEvent.create(GRAPH_MANAGER_EVENT.COMPILATION_FAILURE), error);
353
+ this.mostRecentFormModeCompilationGraphHash = currentGraphHash;
306
354
  let fallbackToTextModeForDebugging = true;
307
355
  // if compilation failed, we try to reveal the error in form mode,
308
356
  // if even this fail, we will fall back to show it in text mode
@@ -343,6 +391,7 @@ export class EditorGraphState {
343
391
  return FormModeCompilationOutcome.FAILED_AND_FALLBACK_TO_TEXT_MODE;
344
392
  }
345
393
  else {
394
+ this.error = error;
346
395
  this.editorStore.applicationStore.notifyWarning(`Compilation failed: ${error.message}`);
347
396
  return FormModeCompilationOutcome.FAILED_WITH_ERROR_REVEALED;
348
397
  }
@@ -359,24 +408,41 @@ export class EditorGraphState {
359
408
  this.checkIfApplicationUpdateOperationIsRunning()) {
360
409
  return;
361
410
  }
411
+ const currentGraphHash = this.editorStore.grammarTextEditorState.currentTextGraphHash;
362
412
  try {
363
413
  this.isRunningGlobalCompile = true;
364
- this.clearCompilationError();
414
+ this.clearProblems();
365
415
  if (options?.openConsole) {
366
416
  this.editorStore.setActiveAuxPanelMode(AUX_PANEL_MODE.CONSOLE);
367
417
  }
368
- const entities = (yield this.editorStore.graphManagerState.graphManager.compileText(this.editorStore.grammarTextEditorState.graphGrammarText, this.editorStore.graphManagerState.graph));
418
+ const compilationResult = (yield this.editorStore.graphManagerState.graphManager.compileText(this.editorStore.grammarTextEditorState.graphGrammarText, this.editorStore.graphManagerState.graph));
419
+ const entities = compilationResult.entities;
420
+ this.mostRecentTextModeCompilationGraphHash = currentGraphHash;
421
+ this.warnings = compilationResult.warnings ?? [];
369
422
  if (!options?.disableNotificationOnSuccess) {
370
- this.editorStore.applicationStore.notifySuccess('Compiled successfully');
423
+ if (this.warnings.length) {
424
+ this.editorStore.applicationStore.notifyWarning(`Compilation suceeded with warnings`);
425
+ }
426
+ else {
427
+ if (!options?.disableNotificationOnSuccess) {
428
+ this.editorStore.applicationStore.notifySuccess('Compiled successfully');
429
+ }
430
+ }
371
431
  }
372
432
  yield flowResult(this.updateGraphAndApplication(entities));
373
433
  }
374
434
  catch (error) {
375
435
  assertErrorThrown(error);
436
+ this.mostRecentTextModeCompilationGraphHash = currentGraphHash;
376
437
  if (error instanceof EngineError) {
377
- this.editorStore.grammarTextEditorState.setError(error);
438
+ this.error = error;
439
+ if (error.sourceInformation) {
440
+ this.editorStore.grammarTextEditorState.setForcedCursorPosition({
441
+ lineNumber: error.sourceInformation.startLine,
442
+ column: error.sourceInformation.startColumn,
443
+ });
444
+ }
378
445
  }
379
- this.editorStore.applicationStore.log.error(LogEvent.create(GRAPH_MANAGER_EVENT.COMPILATION_FAILURE), 'Compilation failed:', error);
380
446
  if (!this.editorStore.applicationStore.notification ||
381
447
  !options?.suppressCompilationFailureMessage) {
382
448
  this.editorStore.applicationStore.notifyWarning(`Compilation failed: ${error.message}`);
@@ -393,24 +459,27 @@ export class EditorGraphState {
393
459
  }
394
460
  try {
395
461
  this.isApplicationLeavingTextMode = true;
396
- this.clearCompilationError();
462
+ this.clearProblems();
397
463
  this.editorStore.applicationStore.setBlockingAlert({
398
464
  message: 'Compiling graph before leaving text mode...',
399
465
  showLoading: true,
400
466
  });
401
467
  try {
402
- const entities = (yield this.editorStore.graphManagerState.graphManager.compileText(this.editorStore.grammarTextEditorState.graphGrammarText, this.editorStore.graphManagerState.graph,
468
+ const compilationResult = (yield this.editorStore.graphManagerState.graphManager.compileText(this.editorStore.grammarTextEditorState.graphGrammarText, this.editorStore.graphManagerState.graph,
403
469
  // surpress the modal to reveal error properly in the text editor
404
470
  // if the blocking modal is not dismissed, the edior will not be able to gain focus as modal has a focus trap
405
471
  // therefore, the editor will not be able to get the focus
406
472
  {
407
473
  onError: () => this.editorStore.applicationStore.setBlockingAlert(undefined),
408
474
  }));
475
+ this.warnings = compilationResult.warnings ?? [];
409
476
  this.editorStore.applicationStore.setBlockingAlert({
410
477
  message: 'Leaving text mode and rebuilding graph...',
411
478
  showLoading: true,
412
479
  });
413
- yield flowResult(this.updateGraphAndApplication(entities));
480
+ yield flowResult(this.updateGraphAndApplication(compilationResult.entities));
481
+ this.mostRecentFormModeCompilationGraphHash =
482
+ this.editorStore.changeDetectionState.getCurrentGraphHash();
414
483
  this.editorStore.grammarTextEditorState.setGraphGrammarText('');
415
484
  this.editorStore.grammarTextEditorState.resetCurrentElementLabelRegexString();
416
485
  this.editorStore.setGraphEditMode(GRAPH_EDITOR_MODE.FORM);
@@ -420,8 +489,13 @@ export class EditorGraphState {
420
489
  }
421
490
  catch (error) {
422
491
  assertErrorThrown(error);
423
- if (error instanceof EngineError) {
424
- this.editorStore.grammarTextEditorState.setError(error);
492
+ this.mostRecentFormModeCompilationGraphHash =
493
+ this.editorStore.changeDetectionState.getCurrentGraphHash();
494
+ if (error instanceof EngineError && error.sourceInformation) {
495
+ this.editorStore.grammarTextEditorState.setForcedCursorPosition({
496
+ lineNumber: error.sourceInformation.startLine,
497
+ column: error.sourceInformation.startColumn,
498
+ });
425
499
  }
426
500
  this.editorStore.applicationStore.log.error(LogEvent.create(GRAPH_MANAGER_EVENT.COMPILATION_FAILURE), 'Compilation failed:', error);
427
501
  if (this.editorStore.graphManagerState.graphBuildState.hasFailed) {
@@ -459,23 +533,6 @@ export class EditorGraphState {
459
533
  this.editorStore.applicationStore.setBlockingAlert(undefined);
460
534
  }
461
535
  }
462
- /**
463
- * This function is used in lambda editor in form mode when user try to do an action that involves the lambda being edited, it takes an action
464
- * and proceeds with a parsing check for the current lambda before executing the action. This prevents case where user quickly type something
465
- * that does not parse and hit compile or generate right away.
466
- */
467
- *checkLambdaParsingError(lambdaHolderElement, checkParsingError, onSuccess) {
468
- this.clearCompilationError();
469
- lambdaHolderElement.clearErrors();
470
- if (checkParsingError) {
471
- yield flowResult(lambdaHolderElement.convertLambdaGrammarStringToObject());
472
- // abort action if parser error occurred
473
- if (lambdaHolderElement.parserError) {
474
- return;
475
- }
476
- }
477
- yield onSuccess();
478
- }
479
536
  /**
480
537
  * NOTE: IMPORTANT! This method is both a savior and a sinner. It helps reprocessing the graph state to use a new graph
481
538
  * built from the new model context data, it resets the graph properly. The bane here is that resetting the graph properly is
@@ -561,6 +618,7 @@ export class EditorGraphState {
561
618
  yield this.editorStore.graphManagerState.graphManager.buildGraph(newGraph, entities, graphBuildState, {
562
619
  TEMPORARY__preserveSectionIndex: this.editorStore.applicationStore.config.options
563
620
  .TEMPORARY__preserveSectionIndex,
621
+ strict: this.enableStrictMode,
564
622
  });
565
623
  // Activity States
566
624
  this.editorStore.globalTestRunnerState = new GlobalTestRunnerState(this.editorStore, this.editorStore.sdlcState);
@@ -678,16 +736,16 @@ export class EditorGraphState {
678
736
  this.isUpdatingApplication = false;
679
737
  }
680
738
  }
681
- *getIndexedDependencyEntities() {
739
+ async getIndexedDependencyEntities() {
682
740
  const dependencyEntitiesIndex = new Map();
683
741
  const currentConfiguration = this.editorStore.projectConfigurationEditorState
684
742
  .currentProjectConfiguration;
685
743
  try {
686
744
  if (currentConfiguration.projectDependencies.length) {
687
- const dependencyCoordinates = (yield flowResult(this.buildProjectDependencyCoordinates(currentConfiguration.projectDependencies)));
745
+ const dependencyCoordinates = await this.buildProjectDependencyCoordinates(currentConfiguration.projectDependencies);
688
746
  // NOTE: if A@v1 is transitive dependencies of 2 or more
689
747
  // direct dependencies, metadata server will take care of deduplication
690
- const dependencyEntitiesJson = (yield this.editorStore.depotServerClient.collectDependencyEntities(dependencyCoordinates.map((e) => ProjectDependencyCoordinates.serialization.toJson(e)), true, true));
748
+ const dependencyEntitiesJson = await this.editorStore.depotServerClient.collectDependencyEntities(dependencyCoordinates.map((e) => ProjectDependencyCoordinates.serialization.toJson(e)), true, true);
691
749
  const dependencyEntities = dependencyEntitiesJson.map((e) => ProjectVersionEntities.serialization.fromJson(e));
692
750
  const dependencyProjects = new Map();
693
751
  dependencyEntities.forEach((dependencyInfo) => {
@@ -713,7 +771,7 @@ export class EditorGraphState {
713
771
  if (hasConflicts) {
714
772
  let dependencyInfo;
715
773
  try {
716
- const dependencyTree = (yield this.editorStore.depotServerClient.analyzeDependencyTree(dependencyCoordinates.map((e) => ProjectDependencyCoordinates.serialization.toJson(e))));
774
+ const dependencyTree = await this.editorStore.depotServerClient.analyzeDependencyTree(dependencyCoordinates.map((e) => ProjectDependencyCoordinates.serialization.toJson(e)));
717
775
  dependencyInfo =
718
776
  ProjectDependencyInfo.serialization.fromJson(dependencyTree);
719
777
  }
@@ -748,8 +806,8 @@ export class EditorGraphState {
748
806
  }
749
807
  return dependencyEntitiesIndex;
750
808
  }
751
- *buildProjectDependencyCoordinates(projectDependencies) {
752
- return (yield Promise.all(projectDependencies.map((dep) => {
809
+ async buildProjectDependencyCoordinates(projectDependencies) {
810
+ return Promise.all(projectDependencies.map((dep) => {
753
811
  // legacyDependencies
754
812
  // We do this for backward compatible reasons as we expect current dependency ids to be in the format of {groupId}:{artifactId}.
755
813
  // For the legacy dependency we must fetch the corresponding coordinates (group, artifact ids) from the depot server
@@ -770,7 +828,7 @@ export class EditorGraphState {
770
828
  else {
771
829
  return Promise.resolve(new ProjectDependencyCoordinates(guaranteeNonNullable(dep.groupId), guaranteeNonNullable(dep.artifactId), dep.versionId));
772
830
  }
773
- })));
831
+ }));
774
832
  }
775
833
  // -------------------------------------------------- UTILITIES -----------------------------------------------------
776
834
  getPackageableElementType(element) {
@@ -1 +1 @@
1
- {"version":3,"file":"EditorGraphState.js","sourceRoot":"","sources":["../../src/stores/EditorGraphState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EditorGraphState.js","sourceRoot":"","sources":["../../src/stores/EditorGraphState.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ import { type GeneratorFn } from '@finos/legend-shared';
18
18
  import { type EntityDiff, type WorkspaceType, Workflow, Project, Revision, Version, Workspace } from '@finos/legend-server-sdlc';
19
19
  export declare const entityDiffSorter: (a: EntityDiff, b: EntityDiff) => number;
20
20
  export declare class EditorSDLCState {
21
- editorStore: EditorStore;
21
+ readonly editorStore: EditorStore;
22
22
  currentProject?: Project | undefined;
23
23
  currentWorkspace?: Workspace | undefined;
24
24
  remoteWorkspaceRevision?: Revision | undefined;
@@ -35,10 +35,11 @@ export declare class EditorSDLCState {
35
35
  get activeRevision(): Revision;
36
36
  get activeRemoteWorkspaceRevision(): Revision;
37
37
  get isWorkspaceOutOfSync(): boolean;
38
- setCurrentProject: (val: Project) => void;
39
- setCurrentWorkspace: (val: Workspace) => void;
40
- setCurrentRevision: (val: Revision) => void;
41
- setWorkspaceLatestRevision: (val: Revision) => void;
38
+ setCurrentProject(val: Project): void;
39
+ setCurrentWorkspace(val: Workspace): void;
40
+ setCurrentRevision(val: Revision): void;
41
+ setWorkspaceLatestRevision(val: Revision): void;
42
+ handleChangeDetectionRefreshIssue(error: Error): void;
42
43
  fetchCurrentProject(projectId: string, options?: {
43
44
  suppressNotification?: boolean;
44
45
  }): GeneratorFn<void>;
@@ -50,7 +51,6 @@ export declare class EditorSDLCState {
50
51
  fetchRemoteWorkspaceRevision(projectId: string, workspace: Workspace): GeneratorFn<void>;
51
52
  fetchCurrentRevision(projectId: string, workspace: Workspace): GeneratorFn<void>;
52
53
  checkIfWorkspaceIsOutdated(): GeneratorFn<void>;
53
- handleChangeDetectionRefreshIssue(error: Error): void;
54
54
  buildWorkspaceLatestRevisionEntityHashesIndex(): GeneratorFn<void>;
55
55
  buildWorkspaceBaseRevisionEntityHashesIndex(): GeneratorFn<void>;
56
56
  buildProjectLatestRevisionEntityHashesIndex(): GeneratorFn<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"EditorSDLCState.d.ts","sourceRoot":"","sources":["../../src/stores/EditorSDLCState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAEL,KAAK,WAAW,EAOjB,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EACL,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,QAAQ,EACR,OAAO,EACP,QAAQ,EAER,OAAO,EACP,SAAS,EAEV,MAAM,2BAA2B,CAAC;AAGnC,eAAO,MAAM,gBAAgB,MAAO,UAAU,KAAK,UAAU,KAAG,MAG7D,CAAC;AAEJ,qBAAa,eAAe;IAC1B,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,gBAAgB,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IACzC,uBAAuB,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC/C,eAAe,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IACvC,mBAAmB,UAAS;IAC5B,kBAAkB,EAAE,QAAQ,EAAE,CAAM;IACpC,eAAe,EAAE,OAAO,EAAE,CAAM;IAChC,+BAA+B,UAAS;IACxC,yBAAyB,UAAS;IAClC,iBAAiB,UAAS;gBAEd,WAAW,EAAE,WAAW;IAYpC,IAAI,aAAa,IAAI,OAAO,CAK3B;IAED,IAAI,eAAe,IAAI,SAAS,CAK/B;IAED,IAAI,cAAc,IAAI,QAAQ,CAK7B;IAED,IAAI,6BAA6B,IAAI,QAAQ,CAK5C;IAED,IAAI,oBAAoB,IAAI,OAAO,CAElC;IAED,iBAAiB,QAAS,OAAO,KAAG,IAAI,CAEtC;IACF,mBAAmB,QAAS,SAAS,KAAG,IAAI,CAE1C;IACF,kBAAkB,QAAS,QAAQ,KAAG,IAAI,CAExC;IAEF,0BAA0B,QAAS,QAAQ,KAAG,IAAI,CAEhD;IAED,mBAAmB,CAClB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;QAAE,oBAAoB,CAAC,EAAE,OAAO,CAAA;KAAE,GAC3C,WAAW,CAAC,IAAI,CAAC;IAsBnB,qBAAqB,CACpB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,aAAa,EAC5B,OAAO,CAAC,EAAE;QAAE,oBAAoB,CAAC,EAAE,OAAO,CAAA;KAAE,GAC3C,WAAW,CAAC,IAAI,CAAC;IA8BnB,oBAAoB,IAAI,WAAW,CAAC,IAAI,CAAC;IAmBzC,iDAAiD,IAAI,WAAW,CAAC,OAAO,CAAC;IAOzE,4BAA4B,CAC3B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,GACnB,WAAW,CAAC,IAAI,CAAC;IA6BnB,oBAAoB,CACnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,GACnB,WAAW,CAAC,IAAI,CAAC;IA2BnB,0BAA0B,IAAI,WAAW,CAAC,IAAI,CAAC;IAwBhD,iCAAiC,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAkBpD,6CAA6C,IAAI,WAAW,CAAC,IAAI,CAAC;IAsDlE,2CAA2C,IAAI,WAAW,CAAC,IAAI,CAAC;IA8BhE,2CAA2C,IAAI,WAAW,CAAC,IAAI,CAAC;IA6BhE,uBAAuB,IAAI,WAAW,CAAC,IAAI,CAAC;CAkB9C"}
1
+ {"version":3,"file":"EditorSDLCState.d.ts","sourceRoot":"","sources":["../../src/stores/EditorSDLCState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAUH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAEL,KAAK,WAAW,EAOjB,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EACL,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,QAAQ,EACR,OAAO,EACP,QAAQ,EAER,OAAO,EACP,SAAS,EAEV,MAAM,2BAA2B,CAAC;AAGnC,eAAO,MAAM,gBAAgB,MAAO,UAAU,KAAK,UAAU,KAAG,MAG7D,CAAC;AAEJ,qBAAa,eAAe;IAC1B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAElC,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,gBAAgB,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IACzC,uBAAuB,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC/C,eAAe,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IACvC,mBAAmB,UAAS;IAC5B,kBAAkB,EAAE,QAAQ,EAAE,CAAM;IACpC,eAAe,EAAE,OAAO,EAAE,CAAM;IAChC,+BAA+B,UAAS;IACxC,yBAAyB,UAAS;IAClC,iBAAiB,UAAS;gBAEd,WAAW,EAAE,WAAW;IAqCpC,IAAI,aAAa,IAAI,OAAO,CAK3B;IAED,IAAI,eAAe,IAAI,SAAS,CAK/B;IAED,IAAI,cAAc,IAAI,QAAQ,CAK7B;IAED,IAAI,6BAA6B,IAAI,QAAQ,CAK5C;IAED,IAAI,oBAAoB,IAAI,OAAO,CAElC;IAED,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAIrC,mBAAmB,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI;IAIzC,kBAAkB,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI;IAIvC,0BAA0B,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI;IAI/C,iCAAiC,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAkBpD,mBAAmB,CAClB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;QAAE,oBAAoB,CAAC,EAAE,OAAO,CAAA;KAAE,GAC3C,WAAW,CAAC,IAAI,CAAC;IAsBnB,qBAAqB,CACpB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,aAAa,EAC5B,OAAO,CAAC,EAAE;QAAE,oBAAoB,CAAC,EAAE,OAAO,CAAA;KAAE,GAC3C,WAAW,CAAC,IAAI,CAAC;IA8BnB,oBAAoB,IAAI,WAAW,CAAC,IAAI,CAAC;IAmBzC,iDAAiD,IAAI,WAAW,CAAC,OAAO,CAAC;IAOzE,4BAA4B,CAC3B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,GACnB,WAAW,CAAC,IAAI,CAAC;IA6BnB,oBAAoB,CACnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,GACnB,WAAW,CAAC,IAAI,CAAC;IA2BnB,0BAA0B,IAAI,WAAW,CAAC,IAAI,CAAC;IAwB/C,6CAA6C,IAAI,WAAW,CAAC,IAAI,CAAC;IAsDlE,2CAA2C,IAAI,WAAW,CAAC,IAAI,CAAC;IA8BhE,2CAA2C,IAAI,WAAW,CAAC,IAAI,CAAC;IA6BhE,uBAAuB,IAAI,WAAW,CAAC,IAAI,CAAC;CAkB9C"}