@esri/hub-common 12.13.1 → 12.15.0

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 (88) hide show
  1. package/dist/esm/core/schemas/getEntityEditorSchemas.js +52 -0
  2. package/dist/esm/core/schemas/getEntityEditorSchemas.js.map +1 -0
  3. package/dist/esm/core/schemas/index.js +1 -1
  4. package/dist/esm/core/schemas/index.js.map +1 -1
  5. package/dist/esm/core/schemas/shared/index.js +2 -0
  6. package/dist/esm/core/schemas/shared/index.js.map +1 -0
  7. package/dist/esm/core/schemas/shared/subschemas.js +20 -0
  8. package/dist/esm/core/schemas/shared/subschemas.js.map +1 -0
  9. package/dist/esm/core/types/IHubProject.js.map +1 -1
  10. package/dist/esm/initiatives/HubInitiative.js +12 -12
  11. package/dist/esm/initiatives/HubInitiative.js.map +1 -1
  12. package/dist/esm/initiatives/_internal/InitiativeSchema.js +13 -0
  13. package/dist/esm/initiatives/_internal/InitiativeSchema.js.map +1 -0
  14. package/dist/esm/initiatives/_internal/InitiativeUiSchemaEdit.js +20 -0
  15. package/dist/esm/initiatives/_internal/InitiativeUiSchemaEdit.js.map +1 -0
  16. package/dist/esm/projects/HubProject.js +7 -7
  17. package/dist/esm/projects/HubProject.js.map +1 -1
  18. package/dist/esm/projects/_internal/ProjectSchema.js +52 -0
  19. package/dist/esm/projects/_internal/ProjectSchema.js.map +1 -0
  20. package/dist/esm/projects/_internal/ProjectUiSchemaCreate.js +128 -0
  21. package/dist/esm/projects/_internal/ProjectUiSchemaCreate.js.map +1 -0
  22. package/dist/esm/projects/_internal/ProjectUiSchemaEdit.js +130 -0
  23. package/dist/esm/projects/_internal/ProjectUiSchemaEdit.js.map +1 -0
  24. package/dist/esm/projects/edit.js +11 -32
  25. package/dist/esm/projects/edit.js.map +1 -1
  26. package/dist/esm/search/_internal/commonHelpers/getTopLevelPredicate.js +45 -0
  27. package/dist/esm/search/_internal/commonHelpers/getTopLevelPredicate.js.map +1 -0
  28. package/dist/esm/search/_internal/expandPredicate.js +1 -0
  29. package/dist/esm/search/_internal/expandPredicate.js.map +1 -1
  30. package/dist/esm/search/_internal/hubSearchItemsHelpers/getQQueryParam.js +3 -28
  31. package/dist/esm/search/_internal/hubSearchItemsHelpers/getQQueryParam.js.map +1 -1
  32. package/dist/esm/search/serializeQueryForPortal.js +6 -0
  33. package/dist/esm/search/serializeQueryForPortal.js.map +1 -1
  34. package/dist/node/core/schemas/getEntityEditorSchemas.js +55 -0
  35. package/dist/node/core/schemas/getEntityEditorSchemas.js.map +1 -0
  36. package/dist/node/core/schemas/index.js +1 -1
  37. package/dist/node/core/schemas/index.js.map +1 -1
  38. package/dist/node/core/schemas/shared/index.js +5 -0
  39. package/dist/node/core/schemas/shared/index.js.map +1 -0
  40. package/dist/node/core/schemas/shared/subschemas.js +23 -0
  41. package/dist/node/core/schemas/shared/subschemas.js.map +1 -0
  42. package/dist/node/core/types/IHubProject.js.map +1 -1
  43. package/dist/node/initiatives/HubInitiative.js +12 -12
  44. package/dist/node/initiatives/HubInitiative.js.map +1 -1
  45. package/dist/node/initiatives/_internal/InitiativeSchema.js +16 -0
  46. package/dist/node/initiatives/_internal/InitiativeSchema.js.map +1 -0
  47. package/dist/node/initiatives/_internal/InitiativeUiSchemaEdit.js +23 -0
  48. package/dist/node/initiatives/_internal/InitiativeUiSchemaEdit.js.map +1 -0
  49. package/dist/node/projects/HubProject.js +7 -7
  50. package/dist/node/projects/HubProject.js.map +1 -1
  51. package/dist/node/projects/_internal/ProjectSchema.js +55 -0
  52. package/dist/node/projects/_internal/ProjectSchema.js.map +1 -0
  53. package/dist/node/projects/_internal/ProjectUiSchemaCreate.js +131 -0
  54. package/dist/node/projects/_internal/ProjectUiSchemaCreate.js.map +1 -0
  55. package/dist/node/projects/_internal/ProjectUiSchemaEdit.js +133 -0
  56. package/dist/node/projects/_internal/ProjectUiSchemaEdit.js.map +1 -0
  57. package/dist/node/projects/edit.js +11 -32
  58. package/dist/node/projects/edit.js.map +1 -1
  59. package/dist/node/search/_internal/commonHelpers/getTopLevelPredicate.js +49 -0
  60. package/dist/node/search/_internal/commonHelpers/getTopLevelPredicate.js.map +1 -0
  61. package/dist/node/search/_internal/expandPredicate.js +1 -0
  62. package/dist/node/search/_internal/expandPredicate.js.map +1 -1
  63. package/dist/node/search/_internal/hubSearchItemsHelpers/getQQueryParam.js +5 -31
  64. package/dist/node/search/_internal/hubSearchItemsHelpers/getQQueryParam.js.map +1 -1
  65. package/dist/node/search/serializeQueryForPortal.js +6 -0
  66. package/dist/node/search/serializeQueryForPortal.js.map +1 -1
  67. package/dist/types/core/behaviors/IWithEditorBehavior.d.ts +7 -2
  68. package/dist/types/core/schemas/getEntityEditorSchemas.d.ts +19 -0
  69. package/dist/types/core/schemas/index.d.ts +1 -1
  70. package/dist/types/core/schemas/shared/index.d.ts +1 -0
  71. package/dist/types/core/schemas/shared/subschemas.d.ts +29 -0
  72. package/dist/types/core/types/IHubProject.d.ts +0 -8
  73. package/dist/types/initiatives/HubInitiative.d.ts +11 -5
  74. package/dist/types/initiatives/_internal/InitiativeSchema.d.ts +7 -0
  75. package/dist/types/initiatives/_internal/InitiativeUiSchemaEdit.d.ts +5 -0
  76. package/dist/types/projects/HubProject.d.ts +8 -6
  77. package/dist/types/projects/_internal/ProjectSchema.d.ts +7 -0
  78. package/dist/types/projects/_internal/ProjectUiSchemaCreate.d.ts +7 -0
  79. package/dist/types/projects/_internal/ProjectUiSchemaEdit.d.ts +7 -0
  80. package/dist/types/projects/edit.d.ts +7 -4
  81. package/dist/types/search/_internal/commonHelpers/getTopLevelPredicate.d.ts +20 -0
  82. package/dist/types/search/_internal/hubSearchItemsHelpers/getQQueryParam.d.ts +1 -2
  83. package/package.json +1 -1
  84. package/dist/esm/core/schemas/hubproject.js +0 -300
  85. package/dist/esm/core/schemas/hubproject.js.map +0 -1
  86. package/dist/node/core/schemas/hubproject.js +0 -303
  87. package/dist/node/core/schemas/hubproject.js.map +0 -1
  88. package/dist/types/core/schemas/hubproject.d.ts +0 -10
@@ -1,7 +1,8 @@
1
- import { IHubInitiative, IWithCatalogBehavior, IWithStoreBehavior, IWithSharingBehavior } from "../core";
1
+ import { IHubInitiative, IWithCatalogBehavior, IWithStoreBehavior, IWithSharingBehavior, UiSchemaElementOptions, IEditorConfig } from "../core";
2
2
  import { Catalog } from "../search";
3
3
  import { IArcGISContext } from "../ArcGISContext";
4
4
  import { HubItemEntity } from "../core/HubItemEntity";
5
+ import { InitiativeEditorType } from "./_internal/InitiativeSchema";
5
6
  /**
6
7
  * Hub Initiative Class
7
8
  */
@@ -41,11 +42,16 @@ export declare class HubInitiative extends HubItemEntity<IHubInitiative> impleme
41
42
  */
42
43
  static fetch(identifier: string, context: IArcGISContext): Promise<HubInitiative>;
43
44
  /**
44
- * Static method to get the editor config for for the HubProject entity.
45
- * @param i18nScope Translation scope to be interpolated into the schemas
46
- * @param type
47
- * @param options Optional hash of Element component options
45
+ * Static method to get the editor config for the HubInitiative entity.
46
+ * @param i18nScope translation scope to be interpolated into the uiSchema
47
+ * @param type editor type - corresonds to the returned uiSchema
48
+ * @param options optional hash of dynamic uiSchema element options
49
+ *
50
+ * Note: typescript does not have a means to specify static methods in interfaces
51
+ * so while this is the implementation of IWithEditorBehavior, it is not enforced
52
+ * by the compiler.
48
53
  */
54
+ static getEditorConfig(i18nScope: string, type: InitiativeEditorType, options?: UiSchemaElementOptions[]): Promise<IEditorConfig>;
49
55
  private static applyDefaults;
50
56
  /**
51
57
  * Apply a new state to the instance
@@ -0,0 +1,7 @@
1
+ import { IConfigurationSchema } from "../../core";
2
+ export declare type InitiativeEditorType = (typeof InitiativeEditorTypes)[number];
3
+ export declare const InitiativeEditorTypes: readonly ["hub:initiative:edit"];
4
+ /**
5
+ * defines the JSON schema for a Hub Initiative's editable fields
6
+ */
7
+ export declare const InitiativeSchema: IConfigurationSchema;
@@ -0,0 +1,5 @@
1
+ import { IUiSchema } from "../../core";
2
+ /**
3
+ * complete edit UI Schema for Hub Initiatives
4
+ */
5
+ export declare const uiSchema: IUiSchema;
@@ -2,7 +2,8 @@ import { IHubProject, IWithCatalogBehavior, IWithStoreBehavior, IWithSharingBeha
2
2
  import { Catalog } from "../search";
3
3
  import { IArcGISContext } from "../ArcGISContext";
4
4
  import { HubItemEntity } from "../core/HubItemEntity";
5
- import { EditorConfigType, IEditorConfig } from "../core/behaviors/IWithEditorBehavior";
5
+ import { IEditorConfig } from "../core/behaviors/IWithEditorBehavior";
6
+ import { ProjectEditorType } from "./_internal/ProjectSchema";
6
7
  /**
7
8
  * Hub Project Class
8
9
  */
@@ -42,15 +43,16 @@ export declare class HubProject extends HubItemEntity<IHubProject> implements IW
42
43
  */
43
44
  static fetch(identifier: string, context: IArcGISContext): Promise<HubProject>;
44
45
  /**
45
- * Static method to get the editor config for for the HubProject entity.
46
- * @param i18nScope Translation scope to be interpolated into the schemas
47
- * @param type
48
- * @param options Optional hash of uiSchema element option overrides
46
+ * Static method to get the editor config for the HubProject entity.
47
+ * @param i18nScope translation scope to be interpolated into the uiSchema
48
+ * @param type editor type - corresonds to the returned uiSchema
49
+ * @param options optional hash of dynamic uiSchema element options
50
+ *
49
51
  * Note: typescript does not have a means to specify static methods in interfaces
50
52
  * so while this is the implementation of IWithEditorBehavior, it is not enforced
51
53
  * by the compiler.
52
54
  */
53
- static getEditorConfig(i18nScope: string, type: EditorConfigType, options?: UiSchemaElementOptions[]): Promise<IEditorConfig>;
55
+ static getEditorConfig(i18nScope: string, type: ProjectEditorType, options?: UiSchemaElementOptions[]): Promise<IEditorConfig>;
54
56
  private static applyDefaults;
55
57
  /**
56
58
  * Apply a new state to the instance
@@ -0,0 +1,7 @@
1
+ import { IConfigurationSchema } from "../../core";
2
+ export declare type ProjectEditorType = (typeof ProjectEditorTypes)[number];
3
+ export declare const ProjectEditorTypes: readonly ["hub:project:create", "hub:project:edit"];
4
+ /**
5
+ * defines the JSON schema for a Hub Project's editable fields
6
+ */
7
+ export declare const ProjectSchema: IConfigurationSchema;
@@ -0,0 +1,7 @@
1
+ import { IUiSchema } from "../../core";
2
+ /**
3
+ * minimal create uiSchema for Hub Projects - this defines
4
+ * how the schema properties should be rendered in the
5
+ * project creation experience
6
+ */
7
+ export declare const uiSchema: IUiSchema;
@@ -0,0 +1,7 @@
1
+ import { IUiSchema } from "../../core";
2
+ /**
3
+ * complete edit uiSchema for Hub Projects - this defines
4
+ * how the schema properties should be rendered in the
5
+ * project editing experience
6
+ */
7
+ export declare const uiSchema: IUiSchema;
@@ -27,10 +27,13 @@ export declare function updateProject(project: IHubProject, requestOptions: IUse
27
27
  */
28
28
  export declare function deleteProject(id: string, requestOptions: IUserRequestOptions): Promise<void>;
29
29
  /**
30
+ * DEPRECATED: the following will be removed at next breaking version
31
+ * use the getEntityEditorSchemas function instead (which this function
32
+ * has already been refactored to consume)
33
+ *
30
34
  * Get the editor config for for the HubProject entity.
31
- * @param i18nScope Translation scope to be interpolated into the schemas
32
- * @param type
33
- * @param options Optional hash of Element component options
34
- * @returns
35
+ * @param i18nScope translation scope to be interpolated into the uiSchema
36
+ * @param type editor type - corresonds to the returned uiSchema
37
+ * @param options optional hash of dynamic uiSchema element options
35
38
  */
36
39
  export declare function getHubProjectEditorConfig(i18nScope: string, type: EditorConfigType, options?: UiSchemaElementOptions[]): Promise<IEditorConfig>;
@@ -0,0 +1,20 @@
1
+ import { IFilter, IPredicate } from "../../types/IHubCatalog";
2
+ /**
3
+ * Searches through a list of filters and finds a specific predicate that should be appended at the top level of a search
4
+ * (i.e., has special requirements for combining with other predicates). Also verifies that the predicate is not combined in any invalid ways.
5
+ *
6
+ * Combination Requirements:
7
+ * - Only ONE filter can have a predicate with the target field
8
+ * - Only ONE predicate with the target field can exist
9
+ * - The predicate can only be ANDed to other predicates
10
+ * - The predicate's field value MUST be a string (not string[] or IMatchOptions)
11
+ *
12
+ * Example: Portal's bbox field cannot be conditionally searched. Any value provided will always be applied as a top-level filter.
13
+ * - Valid: `?bbox=1,2,3,4&filter=type:CSV`
14
+ * - Invalid: `?filter=type:CSV OR (type:PDF AND bbox=1,2,3,4)
15
+ *
16
+ * @param field the field of the desired predicate
17
+ * @param filters filters to be searched / validated
18
+ * @returns the predicate (if present and all requirements are met)
19
+ */
20
+ export declare function getTopLevelPredicate(field: string, filters: IFilter[]): IPredicate;
@@ -1,3 +1,2 @@
1
- import { IFilter, IQuery } from "../../types/IHubCatalog";
1
+ import { IQuery } from "../../types/IHubCatalog";
2
2
  export declare function getQQueryParam(query: IQuery): any;
3
- export declare function getQPredicate(filters: IFilter[]): import("../../types/IHubCatalog").IPredicate;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esri/hub-common",
3
- "version": "12.13.1",
3
+ "version": "12.15.0",
4
4
  "description": "Common TypeScript types and utility functions for @esri/hub.js.",
5
5
  "main": "dist/node/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -1,300 +0,0 @@
1
- import { UiSchemaRuleEffects } from "./types";
2
- import { PROJECT_STATUSES } from "../types";
3
- export const HubProjectSchema = {
4
- required: ["name"],
5
- type: "object",
6
- properties: {
7
- name: {
8
- type: "string",
9
- minLength: 1,
10
- maxLength: 250,
11
- },
12
- summary: {
13
- type: "string",
14
- },
15
- description: {
16
- type: "string",
17
- },
18
- status: {
19
- type: "string",
20
- default: PROJECT_STATUSES.notStarted,
21
- enum: Object.keys(PROJECT_STATUSES),
22
- },
23
- extent: {
24
- type: "object",
25
- },
26
- view: {
27
- type: "object",
28
- properties: {
29
- featuredContentIds: {
30
- type: "array",
31
- items: {
32
- type: "string",
33
- },
34
- },
35
- featuredImage: {
36
- type: "object",
37
- },
38
- showMap: {
39
- type: "boolean",
40
- },
41
- timeline: {
42
- type: "object",
43
- },
44
- },
45
- },
46
- },
47
- };
48
- /**
49
- * Minimal UI Schema for Hub Project
50
- */
51
- export const HubProjectCreateUiSchema = {
52
- type: "Layout",
53
- elements: [
54
- {
55
- type: "Section",
56
- options: { section: "stepper", scale: "l" },
57
- elements: [
58
- {
59
- type: "Step",
60
- labelKey: "{{i18nScope}}.sections.details.label",
61
- elements: [
62
- {
63
- type: "Section",
64
- labelKey: "{{i18nScope}}.sections.basicInfo.label",
65
- elements: [
66
- {
67
- labelKey: "{{i18nScope}}.fields.name.label",
68
- scope: "/properties/name",
69
- type: "Control",
70
- },
71
- {
72
- labelKey: "{{i18nScope}}.fields.summary.label",
73
- scope: "/properties/summary",
74
- type: "Control",
75
- options: {
76
- control: "hub-field-input-input",
77
- type: "textarea",
78
- helperText: {
79
- labelKey: "{{i18nScope}}.fields.summary.helperText",
80
- },
81
- },
82
- },
83
- {
84
- labelKey: "{{i18nScope}}.fields.description.label",
85
- scope: "/properties/description",
86
- type: "Control",
87
- options: {
88
- control: "hub-field-input-input",
89
- type: "textarea",
90
- helperText: {
91
- labelKey: "{{i18nScope}}.fields.description.helperText",
92
- },
93
- },
94
- },
95
- ],
96
- },
97
- ],
98
- },
99
- {
100
- type: "Step",
101
- labelKey: "{{i18nScope}}.sections.location.label",
102
- rule: {
103
- effect: UiSchemaRuleEffects.DISABLE,
104
- condition: {
105
- scope: "/properties/name",
106
- schema: { const: "" },
107
- },
108
- },
109
- elements: [
110
- {
111
- type: "Section",
112
- labelKey: "{{i18nScope}}.sections.location.label",
113
- elements: [
114
- {
115
- scope: "/properties/extent",
116
- type: "Control",
117
- options: {
118
- control: "hub-field-input-boundary-picker",
119
- },
120
- },
121
- ],
122
- },
123
- ],
124
- },
125
- {
126
- type: "Step",
127
- labelKey: "{{i18nScope}}.sections.statusAndTimeline.label",
128
- rule: {
129
- effect: UiSchemaRuleEffects.DISABLE,
130
- condition: {
131
- scope: "/properties/name",
132
- schema: { const: "" },
133
- },
134
- },
135
- elements: [
136
- {
137
- type: "Section",
138
- labelKey: "{{i18nScope}}.sections.status.label",
139
- elements: [
140
- {
141
- labelKey: "{{i18nScope}}.fields.status.label",
142
- scope: "/properties/status",
143
- type: "Control",
144
- options: {
145
- control: "hub-field-input-select",
146
- enum: {
147
- i18nScope: "{{i18nScope}}.fields.status.enum",
148
- },
149
- },
150
- },
151
- ],
152
- },
153
- {
154
- type: "Section",
155
- labelKey: "{{i18nScope}}.sections.timeline.label",
156
- elements: [
157
- {
158
- scope: "/properties/view/properties/timeline",
159
- type: "Control",
160
- options: {
161
- control: "arcgis-hub-timeline-editor",
162
- },
163
- },
164
- ],
165
- },
166
- ],
167
- },
168
- ],
169
- },
170
- ],
171
- };
172
- /**
173
- * Complete UI Schema for Hub Project
174
- */
175
- export const HubProjectEditUiSchema = {
176
- type: "Layout",
177
- elements: [
178
- {
179
- type: "Section",
180
- labelKey: "{{i18nScope}}.sections.basicInfo.label",
181
- elements: [
182
- {
183
- labelKey: "{{i18nScope}}.fields.name.label",
184
- scope: "/properties/name",
185
- type: "Control",
186
- },
187
- {
188
- labelKey: "{{i18nScope}}.fields.summary.label",
189
- scope: "/properties/summary",
190
- type: "Control",
191
- options: {
192
- control: "hub-field-input-input",
193
- type: "textarea",
194
- helperText: {
195
- labelKey: "{{i18nScope}}.fields.summary.helperText",
196
- },
197
- },
198
- },
199
- {
200
- labelKey: "{{i18nScope}}.fields.description.label",
201
- scope: "/properties/description",
202
- type: "Control",
203
- options: {
204
- control: "hub-field-input-input",
205
- type: "textarea",
206
- helperText: {
207
- labelKey: "{{i18nScope}}.fields.description.helperText",
208
- },
209
- },
210
- },
211
- {
212
- labelKey: "{{i18nScope}}.fields.featuredImage.label",
213
- scope: "/properties/view/properties/featuredImage",
214
- type: "Control",
215
- options: {
216
- control: "hub-field-input-image-picker",
217
- maxWidth: 727,
218
- maxHeight: 484,
219
- aspectRatio: 1.5,
220
- helperText: {
221
- labelKey: "{{i18nScope}}.fields.featuredImage.helperText",
222
- },
223
- sizeDescription: {
224
- labelKey: "{{i18nScope}}.fields.featuredImage.sizeDescription",
225
- },
226
- },
227
- },
228
- ],
229
- },
230
- {
231
- type: "Section",
232
- labelKey: "{{i18nScope}}.sections.location.label",
233
- elements: [
234
- {
235
- scope: "/properties/extent",
236
- type: "Control",
237
- options: {
238
- control: "hub-field-input-boundary-picker",
239
- },
240
- },
241
- {
242
- labelKey: "{{i18nScope}}.fields.showMap.label",
243
- scope: "/properties/view/properties/showMap",
244
- type: "Control",
245
- },
246
- ],
247
- },
248
- {
249
- type: "Section",
250
- labelKey: "{{i18nScope}}.sections.status.label",
251
- elements: [
252
- {
253
- scope: "/properties/status",
254
- type: "Control",
255
- labelKey: "{{i18nScope}}.fields.status.label",
256
- options: {
257
- control: "hub-field-input-select",
258
- enum: {
259
- i18nScope: "{{i18nScope}}.fields.status.enum",
260
- },
261
- },
262
- },
263
- ],
264
- },
265
- {
266
- type: "Section",
267
- labelKey: "{{i18nScope}}.sections.timeline.label",
268
- elements: [
269
- {
270
- scope: "/properties/view/properties/timeline",
271
- type: "Control",
272
- options: {
273
- control: "arcgis-hub-timeline-editor",
274
- },
275
- },
276
- ],
277
- },
278
- {
279
- type: "Section",
280
- labelKey: "{{i18nScope}}.sections.featuredContent.label",
281
- options: {
282
- helperText: {
283
- labelKey: "{{i18nScope}}.sections.featuredContent.helperText",
284
- },
285
- },
286
- elements: [
287
- {
288
- scope: "/properties/view/properties/featuredContentIds",
289
- type: "Control",
290
- options: {
291
- control: "hub-field-input-gallery-picker",
292
- targetEntity: "item",
293
- limit: 4,
294
- },
295
- },
296
- ],
297
- },
298
- ],
299
- };
300
- //# sourceMappingURL=hubproject.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hubproject.js","sourceRoot":"","sources":["../../../../src/core/schemas/hubproject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,MAAM,CAAC,MAAM,gBAAgB,GAAyB;IACpD,QAAQ,EAAE,CAAC,MAAM,CAAC;IAClB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,CAAC;YACZ,SAAS,EAAE,GAAG;SACf;QACD,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;SACf;QACD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;SACf;QACD,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,gBAAgB,CAAC,UAAU;YACpC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC;SACpC;QACD,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;SACf;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,kBAAkB,EAAE;oBAClB,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;qBACf;iBACF;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,QAAQ;iBACf;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,SAAS;iBAChB;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACiC,CAAC;AAErC;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAc;IACjD,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE;QACR;YACE,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;YAC3C,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAM;oBACZ,QAAQ,EAAE,sCAAsC;oBAChD,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,SAAS;4BACf,QAAQ,EAAE,wCAAwC;4BAClD,QAAQ,EAAE;gCACR;oCACE,QAAQ,EAAE,iCAAiC;oCAC3C,KAAK,EAAE,kBAAkB;oCACzB,IAAI,EAAE,SAAS;iCAChB;gCACD;oCACE,QAAQ,EAAE,oCAAoC;oCAC9C,KAAK,EAAE,qBAAqB;oCAC5B,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE;wCACP,OAAO,EAAE,uBAAuB;wCAChC,IAAI,EAAE,UAAU;wCAChB,UAAU,EAAE;4CACV,QAAQ,EAAE,yCAAyC;yCACpD;qCACF;iCACF;gCACD;oCACE,QAAQ,EAAE,wCAAwC;oCAClD,KAAK,EAAE,yBAAyB;oCAChC,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE;wCACP,OAAO,EAAE,uBAAuB;wCAChC,IAAI,EAAE,UAAU;wCAChB,UAAU,EAAE;4CACV,QAAQ,EAAE,6CAA6C;yCACxD;qCACF;iCACF;6BACF;yBACF;qBACF;iBACF;gBACD;oBACE,IAAI,EAAE,MAAM;oBACZ,QAAQ,EAAE,uCAAuC;oBACjD,IAAI,EAAE;wBACJ,MAAM,EAAE,mBAAmB,CAAC,OAAO;wBACnC,SAAS,EAAE;4BACT,KAAK,EAAE,kBAAkB;4BACzB,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;yBACtB;qBACF;oBACD,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,SAAS;4BACf,QAAQ,EAAE,uCAAuC;4BACjD,QAAQ,EAAE;gCACR;oCACE,KAAK,EAAE,oBAAoB;oCAC3B,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE;wCACP,OAAO,EAAE,iCAAiC;qCAC3C;iCACF;6BACF;yBACF;qBACF;iBACF;gBACD;oBACE,IAAI,EAAE,MAAM;oBACZ,QAAQ,EAAE,gDAAgD;oBAC1D,IAAI,EAAE;wBACJ,MAAM,EAAE,mBAAmB,CAAC,OAAO;wBACnC,SAAS,EAAE;4BACT,KAAK,EAAE,kBAAkB;4BACzB,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;yBACtB;qBACF;oBACD,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,SAAS;4BACf,QAAQ,EAAE,qCAAqC;4BAC/C,QAAQ,EAAE;gCACR;oCACE,QAAQ,EAAE,mCAAmC;oCAC7C,KAAK,EAAE,oBAAoB;oCAC3B,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE;wCACP,OAAO,EAAE,wBAAwB;wCACjC,IAAI,EAAE;4CACJ,SAAS,EAAE,kCAAkC;yCAC9C;qCACF;iCACF;6BACF;yBACF;wBACD;4BACE,IAAI,EAAE,SAAS;4BACf,QAAQ,EAAE,uCAAuC;4BACjD,QAAQ,EAAE;gCACR;oCACE,KAAK,EAAE,sCAAsC;oCAC7C,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE;wCACP,OAAO,EAAE,4BAA4B;qCACtC;iCACF;6BACF;yBACF;qBACF;iBACF;aACF;SACF;KACF;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAc;IAC/C,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE;QACR;YACE,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,wCAAwC;YAClD,QAAQ,EAAE;gBACR;oBACE,QAAQ,EAAE,iCAAiC;oBAC3C,KAAK,EAAE,kBAAkB;oBACzB,IAAI,EAAE,SAAS;iBAChB;gBACD;oBACE,QAAQ,EAAE,oCAAoC;oBAC9C,KAAK,EAAE,qBAAqB;oBAC5B,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE;wBACP,OAAO,EAAE,uBAAuB;wBAChC,IAAI,EAAE,UAAU;wBAChB,UAAU,EAAE;4BACV,QAAQ,EAAE,yCAAyC;yBACpD;qBACF;iBACF;gBACD;oBACE,QAAQ,EAAE,wCAAwC;oBAClD,KAAK,EAAE,yBAAyB;oBAChC,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE;wBACP,OAAO,EAAE,uBAAuB;wBAChC,IAAI,EAAE,UAAU;wBAChB,UAAU,EAAE;4BACV,QAAQ,EAAE,6CAA6C;yBACxD;qBACF;iBACF;gBACD;oBACE,QAAQ,EAAE,0CAA0C;oBACpD,KAAK,EAAE,2CAA2C;oBAClD,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE;wBACP,OAAO,EAAE,8BAA8B;wBACvC,QAAQ,EAAE,GAAG;wBACb,SAAS,EAAE,GAAG;wBACd,WAAW,EAAE,GAAG;wBAChB,UAAU,EAAE;4BACV,QAAQ,EAAE,+CAA+C;yBAC1D;wBACD,eAAe,EAAE;4BACf,QAAQ,EAAE,oDAAoD;yBAC/D;qBACF;iBACF;aACF;SACF;QACD;YACE,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,uCAAuC;YACjD,QAAQ,EAAE;gBACR;oBACE,KAAK,EAAE,oBAAoB;oBAC3B,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE;wBACP,OAAO,EAAE,iCAAiC;qBAC3C;iBACF;gBACD;oBACE,QAAQ,EAAE,oCAAoC;oBAC9C,KAAK,EAAE,qCAAqC;oBAC5C,IAAI,EAAE,SAAS;iBAChB;aACF;SACF;QACD;YACE,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,qCAAqC;YAC/C,QAAQ,EAAE;gBACR;oBACE,KAAK,EAAE,oBAAoB;oBAC3B,IAAI,EAAE,SAAS;oBACf,QAAQ,EAAE,mCAAmC;oBAC7C,OAAO,EAAE;wBACP,OAAO,EAAE,wBAAwB;wBACjC,IAAI,EAAE;4BACJ,SAAS,EAAE,kCAAkC;yBAC9C;qBACF;iBACF;aACF;SACF;QACD;YACE,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,uCAAuC;YACjD,QAAQ,EAAE;gBACR;oBACE,KAAK,EAAE,sCAAsC;oBAC7C,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE;wBACP,OAAO,EAAE,4BAA4B;qBACtC;iBACF;aACF;SACF;QACD;YACE,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,8CAA8C;YACxD,OAAO,EAAE;gBACP,UAAU,EAAE;oBACV,QAAQ,EAAE,mDAAmD;iBAC9D;aACF;YACD,QAAQ,EAAE;gBACR;oBACE,KAAK,EAAE,gDAAgD;oBACvD,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE;wBACP,OAAO,EAAE,gCAAgC;wBACzC,YAAY,EAAE,MAAM;wBACpB,KAAK,EAAE,CAAC;qBACT;iBACF;aACF;SACF;KACF;CACF,CAAC"}