@memberjunction/connector-totara 0.3.2 → 0.4.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.
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Derived collections — expanding a parent object's embedded JSON arrays into
3
+ * first-class child objects, in the connector, on the engine versions tenants
4
+ * actually run.
5
+ *
6
+ * Why this exists (profiled live, 2026-08-19): Totara's read functions return
7
+ * nested arrays on their records — `Enrolled_Users.roles` / `.groups` (per-course
8
+ * role and group membership), `Users.customfields` (EAV custom fields: name,
9
+ * shortname, type, value), `Course_Contents.modules` (the modules of each course
10
+ * section), `Cohort_Members.userids` (a scalar id array, up to 12,697 elements on
11
+ * one row). With no way to express "this field is a collection", each landed as an
12
+ * NVARCHAR(MAX) column of JSON text — present, but unqueryable.
13
+ *
14
+ * A derived object is declared in metadata like any other integration object, with
15
+ * `Configuration.derivedCollection` naming the parent object and the array field.
16
+ * The connector serves its FetchChanges by running the PARENT's fetch (same
17
+ * pagination, same parent-scoping, same budgets — the parent cursor rides through
18
+ * unchanged) and exploding each record's array into child records. Discovery
19
+ * samples through the same path, so child fields are discovered from real
20
+ * elements, and the ordinary schema-sync → table → entity-map flow does the rest.
21
+ * No engine change is required anywhere.
22
+ *
23
+ * The element values themselves are carried into the child rows — this is
24
+ * expansion, not exclusion. What we deliberately do NOT expand: parents that
25
+ * embed a collection which already exists as its own synced object (Enrolled
26
+ * Users' `enrolledcourses` re-derives Enrolled Users itself) — declaring a
27
+ * derived object over one of those would duplicate a table we already have.
28
+ */
29
+ import type { ExternalRecord } from '@memberjunction/integration-engine';
30
+ /** Parsed shape of `Configuration.derivedCollection` on a derived integration object. */
31
+ export interface DerivedCollectionConfig {
32
+ /** Name of the parent integration object (its `IntegrationObject.Name`) whose fetch is reused. */
33
+ parentObjectName: string;
34
+ /** The array-valued field on parent records to explode. */
35
+ collectionField: string;
36
+ /**
37
+ * Parent record fields carried onto every child row, renamed: parent field → child field
38
+ * (e.g. `{"id": "userid", "courseid": "courseid"}`). Renaming is how the parent's `id`
39
+ * avoids colliding with an element's own `id`.
40
+ */
41
+ parentKeyMap: Record<string, string>;
42
+ /** 'object' — elements are objects whose keys become fields. 'scalar' — elements are bare values. */
43
+ elementKind: 'object' | 'scalar';
44
+ /** scalar only: the child field name that receives each element value. */
45
+ scalarFieldName?: string;
46
+ /**
47
+ * object only, optional: element key renames (e.g. `{"id": "groupid"}` where the element's
48
+ * `id` is the GROUP id and would otherwise read as ambiguous on the child row).
49
+ */
50
+ elementKeyMap?: Record<string, string>;
51
+ }
52
+ /** Result of an explode pass: the child records plus counts for the run log. */
53
+ export interface ExplodeResult {
54
+ ChildFields: Record<string, unknown>[];
55
+ /** Parent records whose collection field was missing or not an array (absent ≠ empty). */
56
+ ParentsWithoutCollection: number;
57
+ /** Total elements skipped because their kind did not match the declaration. */
58
+ ElementsSkipped: number;
59
+ }
60
+ /**
61
+ * Parses and validates `Configuration.derivedCollection`. Returns null when absent;
62
+ * throws on a malformed declaration — a half-configured derived object must fail its
63
+ * sync loudly, not quietly emit zero records (the shape of bug that left objects
64
+ * "enabled and empty" for weeks with nobody able to say why).
65
+ */
66
+ export declare function ParseDerivedCollectionConfig(raw: unknown): DerivedCollectionConfig | null;
67
+ /**
68
+ * Explodes parent records' collection field into child field-bags. Pure — identity
69
+ * (ExternalID) is stamped by the caller via the connector's ordinary
70
+ * `buildExternalRecord`, so child identity follows the same declared-PK-else-hash
71
+ * rule as every other object.
72
+ *
73
+ * An element that is null, or whose kind contradicts the declaration (a scalar in an
74
+ * object collection, an object in a scalar one), is counted and skipped — one odd
75
+ * element must not fail the page.
76
+ */
77
+ export declare function ExplodeCollection(parentRecords: ReadonlyArray<ExternalRecord>, config: DerivedCollectionConfig): ExplodeResult;
78
+ /**
79
+ * Removes `Configuration.dropFields` keys from a raw source record before it is
80
+ * shaped into an ExternalRecord.
81
+ *
82
+ * For vendor payload that is configuration, not data: Totara `preferences` is
83
+ * Moodle UI widget state (file-picker recents, user-selector toggles — the same
84
+ * nine keys on 100% of rows), `courseformatoptions` is course theming. Dropping at
85
+ * the connector means the key never reaches discovery sampling (no column on fresh
86
+ * installs) nor the record stream (existing columns simply stop being written) —
87
+ * and, unlike deactivating a field map, it cannot be re-captured into
88
+ * CustomOverflow, because the key is gone before the engine ever sees it.
89
+ *
90
+ * Returns the ORIGINAL object when nothing matches — the common path allocates nothing.
91
+ */
92
+ export declare function DropConfiguredFields(raw: Record<string, unknown>, dropFields: ReadonlyArray<string> | null | undefined): Record<string, unknown>;
@@ -0,0 +1,171 @@
1
+ /**
2
+ * Derived collections — expanding a parent object's embedded JSON arrays into
3
+ * first-class child objects, in the connector, on the engine versions tenants
4
+ * actually run.
5
+ *
6
+ * Why this exists (profiled live, 2026-08-19): Totara's read functions return
7
+ * nested arrays on their records — `Enrolled_Users.roles` / `.groups` (per-course
8
+ * role and group membership), `Users.customfields` (EAV custom fields: name,
9
+ * shortname, type, value), `Course_Contents.modules` (the modules of each course
10
+ * section), `Cohort_Members.userids` (a scalar id array, up to 12,697 elements on
11
+ * one row). With no way to express "this field is a collection", each landed as an
12
+ * NVARCHAR(MAX) column of JSON text — present, but unqueryable.
13
+ *
14
+ * A derived object is declared in metadata like any other integration object, with
15
+ * `Configuration.derivedCollection` naming the parent object and the array field.
16
+ * The connector serves its FetchChanges by running the PARENT's fetch (same
17
+ * pagination, same parent-scoping, same budgets — the parent cursor rides through
18
+ * unchanged) and exploding each record's array into child records. Discovery
19
+ * samples through the same path, so child fields are discovered from real
20
+ * elements, and the ordinary schema-sync → table → entity-map flow does the rest.
21
+ * No engine change is required anywhere.
22
+ *
23
+ * The element values themselves are carried into the child rows — this is
24
+ * expansion, not exclusion. What we deliberately do NOT expand: parents that
25
+ * embed a collection which already exists as its own synced object (Enrolled
26
+ * Users' `enrolledcourses` re-derives Enrolled Users itself) — declaring a
27
+ * derived object over one of those would duplicate a table we already have.
28
+ */
29
+ /**
30
+ * Parses and validates `Configuration.derivedCollection`. Returns null when absent;
31
+ * throws on a malformed declaration — a half-configured derived object must fail its
32
+ * sync loudly, not quietly emit zero records (the shape of bug that left objects
33
+ * "enabled and empty" for weeks with nobody able to say why).
34
+ */
35
+ export function ParseDerivedCollectionConfig(raw) {
36
+ if (raw == null)
37
+ return null;
38
+ if (typeof raw !== 'object' || Array.isArray(raw)) {
39
+ throw new Error('derivedCollection must be an object');
40
+ }
41
+ const r = raw;
42
+ const parentObjectName = typeof r.parentObjectName === 'string' ? r.parentObjectName.trim() : '';
43
+ const collectionField = typeof r.collectionField === 'string' ? r.collectionField.trim() : '';
44
+ if (!parentObjectName)
45
+ throw new Error('derivedCollection.parentObjectName is required');
46
+ if (!collectionField)
47
+ throw new Error('derivedCollection.collectionField is required');
48
+ const elementKind = r.elementKind === 'scalar' ? 'scalar' : r.elementKind === 'object' ? 'object' : null;
49
+ if (!elementKind)
50
+ throw new Error(`derivedCollection.elementKind must be 'object' or 'scalar'`);
51
+ const parentKeyMap = asStringMap(r.parentKeyMap);
52
+ if (!parentKeyMap || Object.keys(parentKeyMap).length === 0) {
53
+ throw new Error('derivedCollection.parentKeyMap must map at least one parent field — child rows with no parent key are unjoinable');
54
+ }
55
+ const scalarFieldName = typeof r.scalarFieldName === 'string' ? r.scalarFieldName.trim() : '';
56
+ if (elementKind === 'scalar' && !scalarFieldName) {
57
+ throw new Error('derivedCollection.scalarFieldName is required when elementKind is scalar');
58
+ }
59
+ const elementKeyMap = asStringMap(r.elementKeyMap) ?? undefined;
60
+ return {
61
+ parentObjectName,
62
+ collectionField,
63
+ parentKeyMap,
64
+ elementKind,
65
+ scalarFieldName: scalarFieldName || undefined,
66
+ elementKeyMap,
67
+ };
68
+ }
69
+ function asStringMap(v) {
70
+ if (v == null || typeof v !== 'object' || Array.isArray(v))
71
+ return null;
72
+ const out = {};
73
+ for (const [k, val] of Object.entries(v)) {
74
+ if (typeof val === 'string' && val.trim().length > 0)
75
+ out[k] = val.trim();
76
+ }
77
+ return out;
78
+ }
79
+ /**
80
+ * Explodes parent records' collection field into child field-bags. Pure — identity
81
+ * (ExternalID) is stamped by the caller via the connector's ordinary
82
+ * `buildExternalRecord`, so child identity follows the same declared-PK-else-hash
83
+ * rule as every other object.
84
+ *
85
+ * An element that is null, or whose kind contradicts the declaration (a scalar in an
86
+ * object collection, an object in a scalar one), is counted and skipped — one odd
87
+ * element must not fail the page.
88
+ */
89
+ export function ExplodeCollection(parentRecords, config) {
90
+ const out = [];
91
+ let parentsWithoutCollection = 0;
92
+ let elementsSkipped = 0;
93
+ for (const parent of parentRecords) {
94
+ const arr = parent.Fields?.[config.collectionField];
95
+ if (!Array.isArray(arr)) {
96
+ parentsWithoutCollection++;
97
+ continue;
98
+ }
99
+ // Parent keys resolved once per parent, applied to every element.
100
+ const parentKeys = {};
101
+ for (const [pField, cField] of Object.entries(config.parentKeyMap)) {
102
+ parentKeys[cField] = parent.Fields[pField];
103
+ }
104
+ for (const el of arr) {
105
+ if (el == null) {
106
+ elementsSkipped++;
107
+ continue;
108
+ }
109
+ if (config.elementKind === 'scalar') {
110
+ if (typeof el === 'object') {
111
+ elementsSkipped++;
112
+ continue;
113
+ }
114
+ out.push({ ...parentKeys, [config.scalarFieldName]: el });
115
+ }
116
+ else {
117
+ if (typeof el !== 'object' || Array.isArray(el)) {
118
+ elementsSkipped++;
119
+ continue;
120
+ }
121
+ const child = { ...parentKeys };
122
+ for (const [k, v] of Object.entries(el)) {
123
+ const name = config.elementKeyMap?.[k] ?? k;
124
+ // Parent keys win a name collision: they are the join identity, and an
125
+ // element key that would shadow one is exactly why elementKeyMap exists.
126
+ if (name in parentKeys) {
127
+ continue;
128
+ }
129
+ child[name] = v;
130
+ }
131
+ out.push(child);
132
+ }
133
+ }
134
+ }
135
+ return { ChildFields: out, ParentsWithoutCollection: parentsWithoutCollection, ElementsSkipped: elementsSkipped };
136
+ }
137
+ /**
138
+ * Removes `Configuration.dropFields` keys from a raw source record before it is
139
+ * shaped into an ExternalRecord.
140
+ *
141
+ * For vendor payload that is configuration, not data: Totara `preferences` is
142
+ * Moodle UI widget state (file-picker recents, user-selector toggles — the same
143
+ * nine keys on 100% of rows), `courseformatoptions` is course theming. Dropping at
144
+ * the connector means the key never reaches discovery sampling (no column on fresh
145
+ * installs) nor the record stream (existing columns simply stop being written) —
146
+ * and, unlike deactivating a field map, it cannot be re-captured into
147
+ * CustomOverflow, because the key is gone before the engine ever sees it.
148
+ *
149
+ * Returns the ORIGINAL object when nothing matches — the common path allocates nothing.
150
+ */
151
+ export function DropConfiguredFields(raw, dropFields) {
152
+ if (!dropFields || dropFields.length === 0)
153
+ return raw;
154
+ let hit = false;
155
+ for (const k of dropFields) {
156
+ if (k in raw) {
157
+ hit = true;
158
+ break;
159
+ }
160
+ }
161
+ if (!hit)
162
+ return raw;
163
+ const out = {};
164
+ const drop = new Set(dropFields);
165
+ for (const [k, v] of Object.entries(raw)) {
166
+ if (!drop.has(k))
167
+ out[k] = v;
168
+ }
169
+ return out;
170
+ }
171
+ //# sourceMappingURL=DerivedCollections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DerivedCollections.js","sourceRoot":"","sources":["../src/DerivedCollections.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAoCH;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAAC,GAAY;IACrD,IAAI,GAAG,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAC7B,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,CAAC,GAAG,GAA8B,CAAC;IACzC,MAAM,gBAAgB,GAAG,OAAO,CAAC,CAAC,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACjG,MAAM,eAAe,GAAG,OAAO,CAAC,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9F,IAAI,CAAC,gBAAgB;QAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACzF,IAAI,CAAC,eAAe;QAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAEvF,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IACzG,IAAI,CAAC,WAAW;QAAE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAEhG,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IACjD,IAAI,CAAC,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,kHAAkH,CAAC,CAAC;IACxI,CAAC;IACD,MAAM,eAAe,GAAG,OAAO,CAAC,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9F,IAAI,WAAW,KAAK,QAAQ,IAAI,CAAC,eAAe,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;IAChG,CAAC;IACD,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC;IAEhE,OAAO;QACH,gBAAgB;QAChB,eAAe;QACf,YAAY;QACZ,WAAW;QACX,eAAe,EAAE,eAAe,IAAI,SAAS;QAC7C,aAAa;KAChB,CAAC;AACN,CAAC;AAED,SAAS,WAAW,CAAC,CAAU;IAC3B,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACxE,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAA4B,CAAC,EAAE,CAAC;QAClE,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9E,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAC7B,aAA4C,EAC5C,MAA+B;IAE/B,MAAM,GAAG,GAA8B,EAAE,CAAC;IAC1C,IAAI,wBAAwB,GAAG,CAAC,CAAC;IACjC,IAAI,eAAe,GAAG,CAAC,CAAC;IAExB,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,wBAAwB,EAAE,CAAC;YAC3B,SAAS;QACb,CAAC;QACD,kEAAkE;QAClE,MAAM,UAAU,GAA4B,EAAE,CAAC;QAC/C,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YACjE,UAAU,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;QACD,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACnB,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;gBAAC,eAAe,EAAE,CAAC;gBAAC,SAAS;YAAC,CAAC;YAChD,IAAI,MAAM,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;gBAClC,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;oBAAC,eAAe,EAAE,CAAC;oBAAC,SAAS;gBAAC,CAAC;gBAC5D,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,UAAU,EAAE,CAAC,MAAM,CAAC,eAAyB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACxE,CAAC;iBAAM,CAAC;gBACJ,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;oBAAC,eAAe,EAAE,CAAC;oBAAC,SAAS;gBAAC,CAAC;gBACjF,MAAM,KAAK,GAA4B,EAAE,GAAG,UAAU,EAAE,CAAC;gBACzD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAA6B,CAAC,EAAE,CAAC;oBACjE,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAC5C,uEAAuE;oBACvE,yEAAyE;oBACzE,IAAI,IAAI,IAAI,UAAU,EAAE,CAAC;wBAAC,SAAS;oBAAC,CAAC;oBACrC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC;gBACD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC;AACtH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,oBAAoB,CAChC,GAA4B,EAC5B,UAAoD;IAEpD,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IACvD,IAAI,GAAG,GAAG,KAAK,CAAC;IAChB,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;YAAC,GAAG,GAAG,IAAI,CAAC;YAAC,MAAM;QAAC,CAAC;IACxC,CAAC;IACD,IAAI,CAAC,GAAG;QAAE,OAAO,GAAG,CAAC;IACrB,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IACjC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC"}
@@ -1,6 +1,17 @@
1
1
  import { type UserInfo } from '@memberjunction/core';
2
2
  import type { MJCompanyIntegrationEntity } from '@memberjunction/core-entities';
3
3
  import { BaseRESTIntegrationConnector, type RESTAuthContext, type RESTResponse, type PaginationState, type PaginationType, type ConnectionTestResult, type FetchContext, type FetchBatchResult, type CreateRecordContext, type UpdateRecordContext, type DeleteRecordContext, type CRUDResult, type SourceSchemaInfo } from '@memberjunction/integration-engine';
4
+ /** Accumulator for one derived child object's rows, filled during its parent's fetch. */
5
+ interface DerivedRowBuffer {
6
+ /** ms timestamp of the last append — staleness guard. */
7
+ At: number;
8
+ /** Exploded child field-bags, in parent-walk order. */
9
+ Rows: Record<string, unknown>[];
10
+ /** True once the parent's walk returned HasMore=false with this buffer live. */
11
+ Complete: boolean;
12
+ /** True when the row cap was hit; the buffer is unusable and children fall back. */
13
+ Overflowed: boolean;
14
+ }
4
15
  /** Resolved connection settings (secret token + per-tenant base URL). NO tenant constants in code. */
5
16
  interface TotaraConfig {
6
17
  /** The per-user Web Service token (wstoken) — injected as a request PARAM, never a header. */
@@ -39,6 +50,22 @@ export declare class TotaraConnector extends BaseRESTIntegrationConnector {
39
50
  IDs: string[];
40
51
  At: number;
41
52
  }>;
53
+ /**
54
+ * Child rows accumulated FROM THE PARENT'S OWN FETCH, as the data comes in.
55
+ *
56
+ * While a parent object's sync walks the vendor, every configured derived child of
57
+ * that parent is exploded from each page ON ARRIVAL and buffered here. When the
58
+ * child object's own sync runs later in the same run, it drains the buffer — zero
59
+ * additional vendor calls. The buffer is complete only when the parent walk reached
60
+ * HasMore=false; an incomplete or missing buffer makes the child fall back to
61
+ * walking the parent itself (correct, just slower), so ordering is an optimisation,
62
+ * never a correctness dependency.
63
+ *
64
+ * Keyed by integrationID + child object name. Reset when the parent's walk starts
65
+ * from the top (empty cursor). Row-capped: past the cap the buffer is dropped and
66
+ * marked overflowed rather than growing without bound.
67
+ */
68
+ protected derivedRowBuffers: Map<string, DerivedRowBuffer>;
42
69
  /** Verbatim MJ: Integrations.Name (three-way identity invariant). */
43
70
  get IntegrationName(): string;
44
71
  /** Create is wired (courses/users/cohorts/groups/groupings/notes/categories + association adds). */
@@ -314,6 +341,36 @@ export declare class TotaraConnector extends BaseRESTIntegrationConnector {
314
341
  */
315
342
  private recordCollectionKeys;
316
343
  private toRecordArray;
344
+ /** Staleness guard for buffered rows: a buffer older than this is ignored. Generous, because
345
+ * a large parent walk (Enrolled Users) legitimately takes a long time to complete. */
346
+ private static readonly DERIVED_BUFFER_TTL_MS;
347
+ /** Total buffered rows across all children of one integration. Past this, the newest buffer
348
+ * overflows and its child falls back to walking the parent itself. */
349
+ private static readonly DERIVED_BUFFER_MAX_ROWS;
350
+ private derivedBufferKey;
351
+ /**
352
+ * Called from every parent fetch path with the page's SHAPED records (post-transform,
353
+ * post-dropFields — exactly what the parent's own sync sees). Explodes each configured
354
+ * derived child of this parent from the arriving page and appends to its buffer.
355
+ *
356
+ * `walkStarting` (empty cursor) resets the buffers; `walkComplete` (HasMore=false)
357
+ * seals them. A page retried by the engine appends twice — the drain path dedupes by
358
+ * ExternalID, and the writer upserts by key, so duplication cannot reach the tables.
359
+ */
360
+ private accumulateDerivedBuffers;
361
+ /** The derived children configured for a parent object, resolved from the engine's catalog. */
362
+ private derivedChildrenOf;
363
+ /**
364
+ * Serves a derived object's fetch. Preferred path: drain the rows its parent's fetch
365
+ * already buffered — as the data came in, zero additional vendor calls — paged by
366
+ * ctx.CurrentOffset and deduped by ExternalID (page retries append twice; identity
367
+ * collapses them). Fallback when the buffer is missing, stale, incomplete or
368
+ * overflowed: walk the parent's fetch directly (same pagination and budgets; the
369
+ * cursor rides through), exploding page by page.
370
+ */
371
+ private fetchDerivedCollection;
372
+ /** Configuration.dropFields for this object, or null. Read once per shaping call. */
373
+ private dropFieldsFor;
317
374
  /**
318
375
  * §4 identity: the declared PK when EVERY component is present + non-empty, else a deterministic content
319
376
  * hash (so PK-less / partial-key records stay syncable + dedupable). Full-record pass-through: Fields
@@ -4,6 +4,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
+ var TotaraConnector_1;
7
8
  /**
8
9
  * TotaraConnector — Totara LMS via the Moodle-inherited Web Services REST-RPC surface.
9
10
  *
@@ -43,6 +44,7 @@ import { z } from 'zod';
43
44
  import { BaseIntegrationConnector, BaseRESTIntegrationConnector, computeContentHash, serializeKeyValue, } from '@memberjunction/integration-engine';
44
45
  import { IntegrationEngineBase } from '@memberjunction/integration-engine-base';
45
46
  import { mergeDeclaredWithSampledFields } from '@memberjunction/connector-schema-merge';
47
+ import { ParseDerivedCollectionConfig, ExplodeCollection, DropConfiguredFields } from './DerivedCollections.js';
46
48
  import { runIdWindowScan } from '@memberjunction/connector-id-window-scan';
47
49
  // ─── Constants ─────────────────────────────────────────────────────────
48
50
  const REST_ENDPOINT_SUFFIX = '/webservice/rest/server.php';
@@ -101,7 +103,24 @@ let TotaraConnector = class TotaraConnector extends BaseRESTIntegrationConnector
101
103
  this.authCache = new Map();
102
104
  /** Parent-id lists per connection+parent function, so a resumed parent walk does not re-read them. */
103
105
  this.parentIDCache = new Map();
106
+ /**
107
+ * Child rows accumulated FROM THE PARENT'S OWN FETCH, as the data comes in.
108
+ *
109
+ * While a parent object's sync walks the vendor, every configured derived child of
110
+ * that parent is exploded from each page ON ARRIVAL and buffered here. When the
111
+ * child object's own sync runs later in the same run, it drains the buffer — zero
112
+ * additional vendor calls. The buffer is complete only when the parent walk reached
113
+ * HasMore=false; an incomplete or missing buffer makes the child fall back to
114
+ * walking the parent itself (correct, just slower), so ordering is an optimisation,
115
+ * never a correctness dependency.
116
+ *
117
+ * Keyed by integrationID + child object name. Reset when the parent's walk starts
118
+ * from the top (empty cursor). Row-capped: past the cap the buffer is dropped and
119
+ * marked overflowed rather than growing without bound.
120
+ */
121
+ this.derivedRowBuffers = new Map();
104
122
  }
123
+ static { TotaraConnector_1 = this; }
105
124
  // ── Identity + capabilities ──────────────────────────────────────
106
125
  /** Verbatim MJ: Integrations.Name (three-way identity invariant). */
107
126
  get IntegrationName() { return 'totara'; }
@@ -360,6 +379,14 @@ let TotaraConnector = class TotaraConnector extends BaseRESTIntegrationConnector
360
379
  const obj = this.GetCachedObject(ctx.CompanyIntegration.IntegrationID, ctx.ObjectName);
361
380
  const fields = this.GetCachedFields(obj.ID);
362
381
  const cfg = this.readIOConfig(obj);
382
+ // Derived-collection objects (Configuration.derivedCollection) don't fetch the vendor
383
+ // themselves at all — they run their PARENT object's fetch (same pagination, same
384
+ // parent-scoping, same budgets; the cursor rides through unchanged) and explode one of
385
+ // its array fields into child records. Delegate before every other path.
386
+ const derivedRaw = cfg['derivedCollection'];
387
+ if (derivedRaw != null) {
388
+ return this.fetchDerivedCollection(obj, ctx, derivedRaw, fields);
389
+ }
363
390
  const wsfunction = this.readConfigString(cfg, 'wsfunction');
364
391
  if (!wsfunction) {
365
392
  return {
@@ -401,8 +428,11 @@ let TotaraConnector = class TotaraConnector extends BaseRESTIntegrationConnector
401
428
  rawRecords.push(...this.NormalizeResponse(response.Body, key));
402
429
  }
403
430
  const pkFieldNames = this.primaryKeyFieldNames(fields);
404
- const records = rawRecords.map(r => this.buildExternalRecord(this.applyTransformPreservingKeys(r, obj, fields), ctx.ObjectName, pkFieldNames));
431
+ const dropFields = this.dropFieldsFor(cfg);
432
+ const records = rawRecords.map(r => this.buildExternalRecord(DropConfiguredFields(this.applyTransformPreservingKeys(r, obj, fields), dropFields), ctx.ObjectName, pkFieldNames));
405
433
  const pagination = this.ExtractPaginationInfo(response.Body, obj.PaginationType, page, offset, pageSize);
434
+ // Derived children accumulate from this page AS IT ARRIVES — see derivedRowBuffers.
435
+ this.accumulateDerivedBuffers(obj, records, page <= 1 && offset === 0, !pagination.HasMore);
406
436
  return {
407
437
  Records: records,
408
438
  HasMore: pagination.HasMore,
@@ -546,6 +576,7 @@ let TotaraConnector = class TotaraConnector extends BaseRESTIntegrationConnector
546
576
  const auth = await this.Authenticate(ctx.CompanyIntegration, ctx.ContextUser);
547
577
  const fields = this.GetCachedFields(obj.ID);
548
578
  const pkFieldNames = this.primaryKeyFieldNames(fields);
579
+ const dropFields = this.dropFieldsFor(cfg);
549
580
  const warnings = [];
550
581
  // 1) Parent ids from the parent's list wsfunction (bare array or single-collection envelope), CACHED.
551
582
  // The walk is resumed once per batch and the list does not change between them, but re-reading it
@@ -686,7 +717,7 @@ let TotaraConnector = class TotaraConnector extends BaseRESTIntegrationConnector
686
717
  for (const raw of this.NormalizeResponse(resp.Body, key)) {
687
718
  // tag the child with the parent FK so its row links back to the parent record
688
719
  const tagged = raw[childIdField] != null ? raw : { ...raw, [childIdField]: parentID };
689
- out.push(this.buildExternalRecord(this.applyTransformPreservingKeys(tagged, obj, fields), ctx.ObjectName, pkFieldNames));
720
+ out.push(this.buildExternalRecord(DropConfiguredFields(this.applyTransformPreservingKeys(tagged, obj, fields), dropFields), ctx.ObjectName, pkFieldNames));
690
721
  pageCount++;
691
722
  }
692
723
  }
@@ -821,6 +852,8 @@ let TotaraConnector = class TotaraConnector extends BaseRESTIntegrationConnector
821
852
  // A parent held back for a retry is not covered, so the walk still has work even if the prefix reached
822
853
  // the end of the batch — otherwise a transient failure on the last parent would end the walk early.
823
854
  const hasMore = remaining.length > covered || carriedFails.size > 0 || carriedPartials.size > 0;
855
+ // Derived children accumulate from this page AS IT ARRIVES — see derivedRowBuffers.
856
+ this.accumulateDerivedBuffers(obj, out, !ctx.AfterKeyValue, !hasMore);
824
857
  return {
825
858
  Records: out,
826
859
  HasMore: hasMore,
@@ -945,6 +978,7 @@ let TotaraConnector = class TotaraConnector extends BaseRESTIntegrationConnector
945
978
  const auth = await this.Authenticate(ctx.CompanyIntegration, ctx.ContextUser);
946
979
  const fields = this.GetCachedFields(obj.ID);
947
980
  const pkFieldNames = this.primaryKeyFieldNames(fields);
981
+ const dropFields = this.dropFieldsFor(_cfg);
948
982
  const result = await runIdWindowScan({
949
983
  ObjectName: obj.Name,
950
984
  Config: {
@@ -971,8 +1005,11 @@ let TotaraConnector = class TotaraConnector extends BaseRESTIntegrationConnector
971
1005
  return this.NormalizeResponse(resp.Body, null);
972
1006
  },
973
1007
  });
1008
+ const shaped = result.Records.map((raw) => this.buildExternalRecord(DropConfiguredFields(this.applyTransformPreservingKeys(raw, obj, fields), dropFields), ctx.ObjectName, pkFieldNames));
1009
+ // Derived children accumulate from this page AS IT ARRIVES — see derivedRowBuffers.
1010
+ this.accumulateDerivedBuffers(obj, shaped, !ctx.AfterKeyValue, !result.HasMore);
974
1011
  return {
975
- Records: result.Records.map((raw) => this.buildExternalRecord(this.applyTransformPreservingKeys(raw, obj, fields), ctx.ObjectName, pkFieldNames)),
1012
+ Records: shaped,
976
1013
  HasMore: result.HasMore,
977
1014
  ...(result.NextAfterKeyValue !== undefined ? { NextAfterKeyValue: result.NextAfterKeyValue } : {}),
978
1015
  ...(result.Warnings ? { Warnings: result.Warnings } : {}),
@@ -1323,6 +1360,141 @@ let TotaraConnector = class TotaraConnector extends BaseRESTIntegrationConnector
1323
1360
  return [target];
1324
1361
  return [];
1325
1362
  }
1363
+ // ── Derived collections — child objects exploded from a parent's arrays ──
1364
+ /** Staleness guard for buffered rows: a buffer older than this is ignored. Generous, because
1365
+ * a large parent walk (Enrolled Users) legitimately takes a long time to complete. */
1366
+ static { this.DERIVED_BUFFER_TTL_MS = 6 * 60 * 60_000; }
1367
+ /** Total buffered rows across all children of one integration. Past this, the newest buffer
1368
+ * overflows and its child falls back to walking the parent itself. */
1369
+ static { this.DERIVED_BUFFER_MAX_ROWS = 3_000_000; }
1370
+ derivedBufferKey(integrationID, childObjectName) {
1371
+ return `${integrationID}\u0001${childObjectName}`;
1372
+ }
1373
+ /**
1374
+ * Called from every parent fetch path with the page's SHAPED records (post-transform,
1375
+ * post-dropFields — exactly what the parent's own sync sees). Explodes each configured
1376
+ * derived child of this parent from the arriving page and appends to its buffer.
1377
+ *
1378
+ * `walkStarting` (empty cursor) resets the buffers; `walkComplete` (HasMore=false)
1379
+ * seals them. A page retried by the engine appends twice — the drain path dedupes by
1380
+ * ExternalID, and the writer upserts by key, so duplication cannot reach the tables.
1381
+ */
1382
+ accumulateDerivedBuffers(parentObj, records, walkStarting, walkComplete) {
1383
+ const children = this.derivedChildrenOf(parentObj);
1384
+ if (children.length === 0)
1385
+ return;
1386
+ let totalRows = 0;
1387
+ for (const b of this.derivedRowBuffers.values())
1388
+ totalRows += b.Rows.length;
1389
+ for (const { childName, config } of children) {
1390
+ const key = this.derivedBufferKey(parentObj.IntegrationID, childName);
1391
+ let buf = this.derivedRowBuffers.get(key);
1392
+ if (walkStarting || !buf) {
1393
+ buf = { At: this.nowMs(), Rows: [], Complete: false, Overflowed: false };
1394
+ this.derivedRowBuffers.set(key, buf);
1395
+ }
1396
+ if (!buf.Overflowed) {
1397
+ const exploded = ExplodeCollection(records, config);
1398
+ buf.Rows.push(...exploded.ChildFields);
1399
+ totalRows += exploded.ChildFields.length;
1400
+ if (totalRows > TotaraConnector_1.DERIVED_BUFFER_MAX_ROWS) {
1401
+ buf.Rows = [];
1402
+ buf.Overflowed = true;
1403
+ }
1404
+ }
1405
+ buf.At = this.nowMs();
1406
+ if (walkComplete)
1407
+ buf.Complete = true;
1408
+ }
1409
+ }
1410
+ /** The derived children configured for a parent object, resolved from the engine's catalog. */
1411
+ derivedChildrenOf(parentObj) {
1412
+ const out = [];
1413
+ for (const candidate of IntegrationEngineBase.Instance.GetIntegrationObjectsByIntegrationID(parentObj.IntegrationID)) {
1414
+ const cfg = this.readIOConfig(candidate);
1415
+ let parsed;
1416
+ try {
1417
+ parsed = ParseDerivedCollectionConfig(cfg['derivedCollection']);
1418
+ }
1419
+ catch {
1420
+ continue; // a malformed child fails ITS OWN sync loudly; it must not break the parent's
1421
+ }
1422
+ if (parsed && parsed.parentObjectName === parentObj.Name) {
1423
+ out.push({ childName: candidate.Name, config: parsed });
1424
+ }
1425
+ }
1426
+ return out;
1427
+ }
1428
+ /**
1429
+ * Serves a derived object's fetch. Preferred path: drain the rows its parent's fetch
1430
+ * already buffered — as the data came in, zero additional vendor calls — paged by
1431
+ * ctx.CurrentOffset and deduped by ExternalID (page retries append twice; identity
1432
+ * collapses them). Fallback when the buffer is missing, stale, incomplete or
1433
+ * overflowed: walk the parent's fetch directly (same pagination and budgets; the
1434
+ * cursor rides through), exploding page by page.
1435
+ */
1436
+ async fetchDerivedCollection(obj, ctx, derivedRaw, fields) {
1437
+ const config = ParseDerivedCollectionConfig(derivedRaw);
1438
+ if (!config) {
1439
+ return { Records: [], HasMore: false, Warnings: [{ Code: 'DERIVED_CONFIG_MISSING', Message: `"${obj.Name}": empty derivedCollection`, Data: { object: obj.Name } }] };
1440
+ }
1441
+ const parentObj = this.GetCachedObject(ctx.CompanyIntegration.IntegrationID, config.parentObjectName);
1442
+ if (!parentObj) {
1443
+ // Loud, not empty: a wrong parent name must fail the sync, not present as an
1444
+ // enabled-and-empty object nobody can explain.
1445
+ throw new Error(`"${obj.Name}": derivedCollection.parentObjectName "${config.parentObjectName}" is not an integration object of this integration.`);
1446
+ }
1447
+ const pkFieldNames = this.primaryKeyFieldNames(fields);
1448
+ const key = this.derivedBufferKey(parentObj.IntegrationID, obj.Name);
1449
+ const buf = this.derivedRowBuffers.get(key);
1450
+ const fresh = buf && (this.nowMs() - buf.At) < TotaraConnector_1.DERIVED_BUFFER_TTL_MS;
1451
+ if (buf && fresh && buf.Complete && !buf.Overflowed) {
1452
+ const pageSize = Math.max(1, ctx.BatchSize);
1453
+ const offset = ctx.CurrentOffset ?? 0;
1454
+ if (offset === 0) {
1455
+ // Dedupe ONCE at drain start (page retries during accumulation append twice).
1456
+ const seen = new Map();
1457
+ for (const row of buf.Rows) {
1458
+ const r = this.buildExternalRecord(row, obj.Name, pkFieldNames);
1459
+ seen.set(r.ExternalID, row);
1460
+ }
1461
+ buf.Rows = Array.from(seen.values());
1462
+ }
1463
+ const slice = buf.Rows.slice(offset, offset + pageSize);
1464
+ const records = slice.map(row => this.buildExternalRecord(row, obj.Name, pkFieldNames));
1465
+ const nextOffset = offset + slice.length;
1466
+ return {
1467
+ Records: records,
1468
+ HasMore: nextOffset < buf.Rows.length,
1469
+ NextOffset: nextOffset,
1470
+ };
1471
+ }
1472
+ // Fallback: no usable buffer — walk the parent's own fetch and explode each page.
1473
+ const parentBatch = await this.FetchChanges({ ...ctx, ObjectName: parentObj.Name });
1474
+ const exploded = ExplodeCollection(parentBatch.Records, config);
1475
+ const records = exploded.ChildFields.map(f => this.buildExternalRecord(f, obj.Name, pkFieldNames));
1476
+ const warnings = [...(parentBatch.Warnings ?? [])];
1477
+ if (exploded.ElementsSkipped > 0) {
1478
+ warnings.push({
1479
+ Code: 'DERIVED_ELEMENTS_SKIPPED',
1480
+ Message: `"${obj.Name}": ${exploded.ElementsSkipped} element(s) did not match elementKind '${config.elementKind}' and were skipped.`,
1481
+ Data: { object: obj.Name, skipped: exploded.ElementsSkipped },
1482
+ });
1483
+ }
1484
+ return {
1485
+ Records: records,
1486
+ HasMore: parentBatch.HasMore,
1487
+ NextPage: parentBatch.NextPage,
1488
+ NextOffset: parentBatch.NextOffset,
1489
+ NextAfterKeyValue: parentBatch.NextAfterKeyValue,
1490
+ Warnings: warnings.length > 0 ? warnings : undefined,
1491
+ };
1492
+ }
1493
+ /** Configuration.dropFields for this object, or null. Read once per shaping call. */
1494
+ dropFieldsFor(cfg) {
1495
+ const v = this.readConfigStringArray(cfg, 'dropFields');
1496
+ return v && v.length > 0 ? v : null;
1497
+ }
1326
1498
  /**
1327
1499
  * §4 identity: the declared PK when EVERY component is present + non-empty, else a deterministic content
1328
1500
  * hash (so PK-less / partial-key records stay syncable + dedupable). Full-record pass-through: Fields
@@ -1578,7 +1750,7 @@ let TotaraConnector = class TotaraConnector extends BaseRESTIntegrationConnector
1578
1750
  return null;
1579
1751
  }
1580
1752
  };
1581
- TotaraConnector = __decorate([
1753
+ TotaraConnector = TotaraConnector_1 = __decorate([
1582
1754
  RegisterClass(BaseIntegrationConnector, 'TotaraConnector')
1583
1755
  ], TotaraConnector);
1584
1756
  export { TotaraConnector };
@@ -1 +1 @@
1
- {"version":3,"file":"TotaraConnector.js","sourceRoot":"","sources":["../src/TotaraConnector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TotaraConnector.js","sourceRoot":"","sources":["../src/TotaraConnector.ts"],"names":[],"mappings":";;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAiB,MAAM,sBAAsB,CAAC;AAO/D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACH,wBAAwB,EACxB,4BAA4B,EAC5B,kBAAkB,EAClB,iBAAiB,GAcpB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,EAAE,4BAA4B,EAAE,iBAAiB,EAAE,oBAAoB,EAAgC,MAAM,yBAAyB,CAAC;AAC9I,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAc3E,0EAA0E;AAC1E,MAAM,oBAAoB,GAAG,6BAA6B,CAAC;AAC3D,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;AAC9C,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAChC,MAAM,gBAAgB,GAAG,YAAY,CAAC;AACtC,MAAM,aAAa,GAAG,SAAS,CAAC;AAChC,MAAM,kBAAkB,GAAG,+BAA+B,CAAC;AAqC3D,qDAAqD;AACrD,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,4BAA4B,CAAC;IACtD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,6BAA6B,CAAC,CAAC,MAAM,CAC5D,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAC5B,iDAAiD,CACpD;CACJ,CAAC,CAAC;AA2BH,0EAA0E;AAE1E;;;;;GAKG;AACH,MAAM,6BAA6B,GAAG,KAAK,CAAC;AAE5C;;;;GAIG;AACH,MAAM,4BAA4B,GAAG,MAAM,CAAC;AAE5C;;;;;;;;GAQG;AACH,MAAM,0BAA0B,GAAG,KAAK,CAAC;AAEzC;;;;;;;;;;;;GAYG;AACH,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAG/B,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,4BAA4B;IAA1D;;QAEH,wGAAwG;QAC9F,cAAS,GAAG,IAAI,GAAG,EAA6B,CAAC;QAE3D,sGAAsG;QAC5F,kBAAa,GAAG,IAAI,GAAG,EAAyC,CAAC;QAE3E;;;;;;;;;;;;;;WAcG;QACO,sBAAiB,GAAG,IAAI,GAAG,EAA4B,CAAC;IA4tDtE,CAAC;;IA1tDG,oEAAoE;IAEpE,qEAAqE;IACrE,IAAoB,eAAe,KAAa,OAAO,QAAQ,CAAC,CAAC,CAAC;IAElE,oGAAoG;IACpG,IAAoB,cAAc,KAAc,OAAO,IAAI,CAAC,CAAC,CAAC;IAC9D,0GAA0G;IAC1G,IAAoB,cAAc,KAAc,OAAO,IAAI,CAAC,CAAC,CAAC;IAC9D,sFAAsF;IACtF,IAAoB,cAAc,KAAc,OAAO,IAAI,CAAC,CAAC,CAAC;IAE9D;;;;OAIG;IACH,IAAoB,wBAAwB,KAAc,OAAO,KAAK,CAAC,CAAC,CAAC;IAEzE;;;;OAIG;IACa,iBAAiB,CAAC,UAAkB;QAChD,MAAM,KAAK,GAAG,qBAAqB,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACxF,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,MAAM,GAAG,GAAG,qBAAqB,CAAC,QAAQ,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QACtF,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,mBAAmB,CAAC,CAAC;IAC9E,CAAC;IAED,qEAAqE;IAErE;;;;;;;;OAQG;IACI,KAAK,CAAC,cAAc,CACvB,kBAA8C,EAC9C,WAAqB;QAErB,IAAI,IAAuB,CAAC;QAC5B,IAAI,CAAC;YACD,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;QACpE,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACpB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,4BAA4B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACvH,CAAC;QAED,IAAI,CAAC;YACD,MAAM,OAAO,GAAqB,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;YACjF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;YAC3G,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACxC,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAA4B,CAAC;YAC9D,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC;YACnF,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5E,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,gBAAgB,QAAQ,+BAA+B;gBAChE,aAAa,EAAE,OAAO;aACzB,CAAC;QACN,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACpB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,IAAI,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;gBAClC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,iCAAiC,OAAO,EAAE,EAAE,CAAC;YACnF,CAAC;YACD,8FAA8F;YAC9F,+EAA+E;YAC/E,OAAO,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7D,CAAC;IACL,CAAC;IAED,yFAAyF;IACjF,iBAAiB,CAAC,OAAe;QACrC,OAAO,0GAA0G,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpI,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,uBAAuB,CAAC,IAAuB,EAAE,eAAuB;QAClF,IAAI,CAAC;YACD,MAAM,OAAO,GAAqB,EAAE,UAAU,EAAE,4BAA4B,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;YAC3F,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;YAC3G,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,uGAAuG,EAAE,CAAC;YAC/I,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,4BAA4B,eAAe,EAAE,EAAE,CAAC;QACtF,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACpB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,iCAAiC,OAAO,EAAE,CAAC,CAAC,CAAC,4BAA4B,OAAO,EAAE;aAChI,CAAC;QACN,CAAC;IACL,CAAC;IAED,qEAAqE;IAErE,wGAAwG;IAC9F,KAAK,CAAC,YAAY,CACxB,kBAA8C,EAC9C,WAAqB;QAErB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;QACzD,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAE1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;QACvE,MAAM,IAAI,GAAsB;YAC5B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC;YAC5C,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;SAC5C,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACO,YAAY,CAAC,KAAsB;QACzC,OAAO;YACH,cAAc,EAAE,kDAAkD;YAClE,QAAQ,EAAE,kBAAkB;SAC/B,CAAC;IACN,CAAC;IAED,uGAAuG;IAC7F,UAAU,CAAC,mBAA+C,EAAE,IAAqB;QACvF,OAAQ,IAA0B,CAAC,QAAQ,CAAC;IAChD,CAAC;IAED,qEAAqE;IAErE;;;;;OAKG;IACO,KAAK,CAAC,eAAe,CAC3B,IAAqB,EACrB,GAAW,EACX,MAAc,EACd,OAA+B,EAC/B,IAAc;QAEd,MAAM,OAAO,GAAG,IAAoC,CAAC;QACrD,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,wFAAwF,CAAC,CAAC;QAC9G,CAAC;QACD,MAAM,KAAK,GAAI,IAA0B,CAAC,KAAK,IAAI,EAAE,CAAC;QACtD,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAClD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACxD,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACpC,CAAC;QAED,kGAAkG;QAClG,+FAA+F;QAC/F,mDAAmD;QACnD,MAAM,SAAS,GAAI,IAA0B,CAAC,gBAAgB,IAAI,0BAA0B,CAAC;QAC7F,MAAM,MAAM,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE1E,IAAI,YAAsB,CAAC;QAC3B,IAAI,IAAY,CAAC;QACjB,IAAI,CAAC;YACD,YAAY,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YACpF,IAAI,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;QACrC,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACpB,2FAA2F;YAC3F,0FAA0F;YAC1F,0FAA0F;YAC1F,2BAA2B;YAC3B,IAAI,GAAG,YAAY,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,cAAc,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,CAAC,EAAE,CAAC;gBACrF,MAAM,IAAI,KAAK,CACX,uBAAuB,OAAO,CAAC,UAAU,4BAA4B,SAAS,IAAI;sBAChF,wFAAwF;sBACxF,+EAA+E,CACpF,CAAC;YACN,CAAC;YACD,MAAM,GAAG,CAAC;QACd,CAAC;QACD,OAAO;YACH,MAAM,EAAE,YAAY,CAAC,MAAM;YAC3B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC;SACtD,CAAC;IACN,CAAC;IAED,6EAA6E;IAE7E;;;;;;OAMG;IACO,iBAAiB,CAAC,OAAgB,EAAE,eAA8B;QACxE,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,OAAO,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAE/B,IAAI,MAAM,GAAY,OAAO,CAAC;QAC9B,IAAI,eAAe,EAAE,CAAC;YAClB,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpE,MAAM,GAAI,OAAmC,CAAC,eAAe,CAAC,CAAC;gBAC/D,IAAI,MAAM,KAAK,SAAS;oBAAE,OAAO,EAAE,CAAC,CAAC,4CAA4C;YACrF,CAAC;iBAAM,CAAC;gBACJ,OAAO,EAAE,CAAC;YACd,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,uEAAuE;IAEvE;;;;OAIG;IACO,qBAAqB,CAC3B,OAAgB,EAChB,cAA8B,EAC9B,WAAmB,EACnB,aAAqB,EACrB,QAAgB;QAEhB,IAAI,cAAc,KAAK,MAAM;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAEzD,sFAAsF;QACtF,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACpE,MAAM,GAAG,GAAG,OAAkC,CAAC;YAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACvC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC;YACpD,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;gBAChB,MAAM,OAAO,GAAG,IAAI,GAAG,KAAK,CAAC;gBAC7B,OAAO,cAAc,KAAK,QAAQ;oBAC9B,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;oBAC7E,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;YACnD,CAAC;QACL,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,QAAQ,GAAG,CAAC,IAAI,KAAK,IAAI,QAAQ,CAAC;QAClD,IAAI,cAAc,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,GAAG,KAAK,EAAE,CAAC;QACnE,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,GAAG,CAAC,EAAE,CAAC;IAC3D,CAAC;IAED,+EAA+E;IAE/E;;;;;;OAMG;IACa,KAAK,CAAC,gBAAgB,CAClC,kBAA8C,EAC9C,WAAqB;QAErB,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;QAC3E,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC7C,IAAI,CAAC;gBACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,EAAE,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;gBACrG,GAAG,CAAC,MAAM,GAAG,8BAA8B,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACrE,CAAC;YAAC,MAAM,CAAC,CAAC,8EAA8E,CAAC,CAAC;QAC9F,CAAC,CAAC,CAAC,CAAC;QACJ,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,qEAAqE;IAErE;;;;;;OAMG;IACa,KAAK,CAAC,YAAY,CAAC,GAAiB;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,kBAAkB,CAAC,aAAa,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;QACvF,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAEnC,sFAAsF;QACtF,kFAAkF;QAClF,uFAAuF;QACvF,yEAAyE;QACzE,MAAM,UAAU,GAAI,GAA+B,CAAC,mBAAmB,CAAC,CAAC;QACzE,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAC5D,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,OAAO;gBACH,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,KAAK;gBACd,QAAQ,EAAE,CAAC;wBACP,IAAI,EAAE,eAAe;wBACrB,OAAO,EAAE,IAAI,GAAG,CAAC,IAAI,iEAAiE;wBACtF,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE;qBAC7B,CAAC;aACL,CAAC;QACN,CAAC;QAED,+FAA+F;QAC/F,qGAAqG;QACrG,iGAAiG;QACjG,sFAAsF;QACtF,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QAChE,IAAI,YAAY,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;QAC/D,CAAC;QAED,kGAAkG;QAClG,gGAAgG;QAChG,gGAAgG;QAChG,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QAC9D,IAAI,WAAW,EAAE,CAAC;YACd,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAC9E,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,IAAI,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,GAAG,CAAC,eAAe,IAAI,GAAG,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QAEnH,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC3E,MAAM,OAAO,GAAqB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC7E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;QAE3G,oGAAoG;QACpG,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC3D,MAAM,UAAU,GAA8B,EAAE,CAAC;QACjD,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;YAC/B,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CACxD,oBAAoB,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,EACnF,GAAG,CAAC,UAAU,EACd,YAAY,CACf,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,cAAgC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC3H,oFAAoF;QACpF,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC5F,OAAO;YACH,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,UAAU,EAAE,UAAU,CAAC,UAAU;SACpC,CAAC;IACN,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH;;;OAGG;IACK,oBAAoB,CAAC,KAA8B;QACvD,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,eAAe,CAAC,IAAI,IAAI,EAAE,CAAC;QACnI,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3E,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACK,KAAK,CAAC,gBAAgB,CAC1B,IAAuB,EACvB,KAA8B,EAC9B,KAAmE,EACnE,SAAwB;QAExB,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,eAAe,CAAC,IAAI,IAAI,CAAC;QACtE,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QAEhD,MAAM,OAAO,GAAG,CAAC,IAAa,EAAY,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC;aAC1E,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrF,MAAM,YAAY,GAAG,CAAC,GAAa,EAAY,EAAE,CAC7C,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhE,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAC1D,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EACpG,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAsB,CAAC,CAAC,CAAC;YAC3D,OAAO,EAAE,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QACvE,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAC5E,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC7D,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC;QACnE,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,OAAO,CAAC;QAE5E,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,IAAI,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,gGAAgG;YAChG,8FAA8F;YAC9F,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,EAAE,EAAE,CAAC;gBAAC,SAAS,GAAG,IAAI,CAAC;gBAAC,MAAM;YAAC,CAAC;YACtD,MAAM,MAAM,GAAoC,YAAY;gBACxD,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,KAAK,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBAC3C,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EACpG,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAsB,CAAC,CAAC,CAAC;gBAC/D,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACpC,CAAC;YAAC,MAAM,CAAC;gBACL,6FAA6F;gBAC7F,8FAA8F;gBAC9F,0DAA0D;YAC9D,CAAC;QACL,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;IAC5D,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC3B,GAA8B,EAC9B,GAA4B,EAC5B,GAAiB,EACjB,UAAkB,EAClB,WAAoC;QAEpC,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;QAC1E,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAClE,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,eAAe,CAAC,IAAI,IAAI,CAAC;QAClF,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,YAAY,CAAC,KAAK,OAAO,CAAC;QAClF,MAAM,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,6BAA6B,CAAC;QACzG,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,EAAE,CAAC;YAC5B,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,yBAAyB;wBAC9E,OAAO,EAAE,IAAI,GAAG,CAAC,IAAI,qEAAqE,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;QACpI,CAAC;QAED,uGAAuG;QACvG,kGAAkG;QAClG,mDAAmD;QACnD,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,cAAc,CAAC,IAAI,SAAS,CAAC;QAErF,sGAAsG;QACtG,qGAAqG;QACrG,sGAAsG;QACtG,mGAAmG;QACnG,mGAAmG;QACnG,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC/B;;;;;WAKG;QACH,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,oGAAoG;QACpG,wGAAwG;QACxG,MAAM,KAAK,GAAG,KAAK,EAAK,IAAsB,EAAc,EAAE;YAC1D,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC;gBAAC,OAAO,MAAM,IAAI,EAAE,CAAC;YAAC,CAAC;oBAAS,CAAC;gBAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAAC,CAAC;QAC9G,CAAC,CAAC;QACF,MAAM,SAAS,GAAG,GAAY,EAAE,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,GAAG,SAAS,GAAG,gBAAgB,IAAI,QAAQ,CAAC;QAEzG,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAC9E,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAA8C,EAAE,CAAC;QAE/D,sGAAsG;QACtG,qGAAqG;QACrG,sGAAsG;QACtG,sGAAsG;QACtG,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC,kBAAkB,CAAC,EAAE,IAAI,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE,CAAC;QAC1F,MAAM,OAAO,GAAG,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE,eAAe,CAAC,IAAI,4BAA4B,CAAC;QAC5G,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,YAAsB,CAAC;QAC3B,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,IAAI,MAAM,IAAI,IAAI,CAAC,KAAK,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC;YAC/C,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC;QAC9B,CAAC;aAAM,CAAC;YACJ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;YAClF,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC;YAC5B,gBAAgB,GAAG,QAAQ,CAAC,SAAS,CAAC;YACtC,gGAAgG;YAChG,kGAAkG;YAClG,qEAAqE;YACrE,IAAI,CAAC,gBAAgB;gBAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACrG,CAAC;QACD,IAAI,gBAAgB,EAAE,CAAC;YACnB,QAAQ,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,wBAAwB;gBAC9B,OAAO,EAAE,IAAI,GAAG,CAAC,IAAI,yEAAyE;sBACxF,WAAW,YAAY,CAAC,MAAM,kDAAkD;sBAChF,sFAAsF;sBACtF,yDAAyD;gBAC/D,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,eAAe,EAAE,YAAY,CAAC,MAAM;oBACtD,KAAK,EAAE,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE;aAC1D,CAAC,CAAC;QACP,CAAC;QACD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc;gBAChC,OAAO,EAAE,IAAI,GAAG,CAAC,IAAI,MAAM,UAAU,sCAAsC,SAAS,gCAAgC,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACxJ,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QAC/D,CAAC;QAED,uGAAuG;QACvG,mGAAmG;QACnG,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACzD,qGAAqG;QACrG,kGAAkG;QAClG,sGAAsG;QACtG,MAAM,YAAY,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;aAC3C,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aACnC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;aACnB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,SAAS,GAAG,YAAY,IAAI,IAAI;YAClC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC;YAClC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI;gBAClB,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,KAAe,CAAC,GAAG,CAAC,CAAC;gBACzE,CAAC,CAAC,YAAY,CAAC;QACvB,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC;QAEjF,oGAAoG;QACpG,sGAAsG;QACtG,gGAAgG;QAChG,uGAAuG;QACvG,sGAAsG;QACtG,yFAAyF;QACzF,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,kBAAkB,CAAC,IAAI,EAAE,CAAC;QAC7E,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,IAAI,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,GAAG,CAAC,eAAe,IAAI,GAAG,CAAC,SAAS,CAAC;YAC1G,CAAC,CAAC,CAAC,CAAC,CAAG,0DAA0D;QAErE,uGAAuG;QACvG,kGAAkG;QAClG,MAAM,GAAG,GAAqB,EAAE,CAAC;QACjC,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC3D,uGAAuG;QACvG,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,qFAAqF;QACrF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC1C,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,sGAAsG;QACtG,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,IAAI,gBAAoC,CAAC;QACzC,8GAA8G;QAC9G,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;QACjD,qGAAqG;QACrG,MAAM,SAAS,GAA6D,EAAE,CAAC;QAE/E,MAAM,QAAQ,GAAG,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/E,MAAM,WAAW,GAAG,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE,mBAAmB,CAAC,IAAI,2BAA2B,CAAC;QAEnH;;;;;;;;WAQG;QACH,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC;QAE/D,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,iBAAiB,EACpF,KAAK,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;YAC9B,6FAA6F;YAC7F,6EAA6E;YAC7E,IAAI,KAAK,GAAG,CAAC,IAAI,SAAS,EAAE,EAAE,CAAC;gBAAC,gBAAgB,EAAE,CAAC;gBAAC,OAAO;YAAC,CAAC;YAC7D,2FAA2F;YAC3F,iFAAiF;YACjF,IAAI,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,aAAa,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC;gBACD,SAAS,CAAC;oBACN;;;;;;;;;;uBAUG;oBACH,IAAI,GAAG,CAAC,gBAAgB;wBAAE,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,gBAAiB,EAAE,CAAC,CAAC;oBACrE,mFAAmF;oBACnF,sFAAsF;oBACtF,IAAI,SAAS,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;wBAClD,IAAI,MAAM,GAAG,CAAC,IAAI,aAAa;4BAAE,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;;4BACvD,gBAAgB,EAAE,CAAC;wBACxB,OAAO;oBACX,CAAC;oBACD,MAAM,MAAM,GAAoC,YAAY;wBACxD,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,KAAK,CAAC,EAAE,QAAQ,EAAE;wBACnC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;oBAChC,IAAI,cAAc,GAAG,CAAC;wBAAE,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;oBACzG,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EACpG,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAsB,CAAC,CAAC,CAAC;oBACrE,aAAa,GAAG,IAAI,CAAC;oBACrB,IAAI,SAAS,GAAG,CAAC,CAAC;oBAClB,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;wBAC/B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;4BACvD,8EAA8E;4BAC9E,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,CAAC;4BACtF,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,IAAI,CAAC,4BAA4B,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,EAAE,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;4BAC3J,SAAS,EAAE,CAAC;wBAChB,CAAC;oBACL,CAAC;oBACD,GAAG,CAAC,eAAe,EAAE,EAAE,CAAC;oBACxB,gEAAgE;oBAChE,IAAI,cAAc,KAAK,CAAC,IAAI,SAAS,GAAG,cAAc;wBAAE,MAAM;oBAC9D,MAAM,IAAI,SAAS,CAAC;oBACpB,gFAAgF;oBAChF,IAAI,SAAS,EAAE,EAAE,CAAC;wBAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;wBAAC,OAAO;oBAAC,CAAC;gBAC5D,CAAC;gBACD,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACvD,IAAI,8BAA8B,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC;oBAAC,MAAM,CAAC,CAAC;gBAAC,CAAC,CAAE,qCAAqC;gBAC3H;;;;;;;;;;;;mBAYG;gBACH,IAAI,mIAAmI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChJ,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;oBACvD,IAAI,QAAQ,IAAI,WAAW,EAAE,CAAC;wBAC1B,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;wBACzD,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAG,oDAAoD;oBAC/E,CAAC;yBAAM,CAAC;wBACJ,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;wBACpC,IAAI,MAAM,GAAG,CAAC;4BAAE,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;oBAC/C,CAAC;oBACD,OAAO;gBACX,CAAC;gBACD,sFAAsF;gBACtF,sFAAsF;gBACtF,2FAA2F;gBAC3F,+DAA+D;gBAC/D,IAAI,8DAA8D,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC3E,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACzB,gBAAgB,KAAK,GAAG,CAAC;gBAC7B,CAAC;qBAAM,CAAC;oBACJ,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,IAAI,GAAG,CAAC,IAAI,eAAe,SAAS,IAAI,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;gBACxN,CAAC;gBACD,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;QACL,CAAC,CAAC,CAAC;QAEP,wGAAwG;QACxG,oGAAoG;QACpG,qGAAqG;QACrG,kGAAkG;QAClG,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;YACjF,QAAQ,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,IAAI,GAAG,CAAC,IAAI,MAAM,UAAU,6BAA6B,SAAS,CAAC,MAAM,IAAI,SAAS,EAAE;sBAC3F,sFAAsF;sBACtF,oCAAoC,YAAY,CAAC,MAAM,8BAA8B;sBACrF,8EAA8E,gBAAgB,EAAE;gBACtG,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,SAAS,CAAC,MAAM;oBAC9D,eAAe,EAAE,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;aAChF,CAAC,CAAC;QACP,CAAC;aAAM,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,QAAQ,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,IAAI,GAAG,CAAC,IAAI,MAAM,SAAS,CAAC,MAAM,WAAW,QAAQ,CAAC,IAAI,IAAI,SAAS,gBAAgB;sBAC1F,0EAA0E,gBAAgB,EAAE;gBAClG,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,SAAS,CAAC,MAAM;oBAC9D,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;aACnE,CAAC,CAAC;QACP,CAAC;QAED,sGAAsG;QACtG,mGAAmG;QACnG,0FAA0F;QAC1F,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,QAAQ,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,IAAI,GAAG,CAAC,IAAI,MAAM,SAAS,CAAC,MAAM,IAAI,SAAS,oBAAoB,WAAW,aAAa;sBAC9F,0EAA0E;sBAC1E,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,yCAAyC;sBAC5F,kFAAkF;sBAClF,wEAAwE,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;gBACpG,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,WAAW;oBACtE,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE;aAClG,CAAC,CAAC;QACP,CAAC;QAED,4FAA4F;QAC5F,qGAAqG;QACrG,qGAAqG;QACrG,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,OAAO,OAAO,GAAG,KAAK,CAAC,MAAM,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,OAAO,EAAE,CAAC;QAElE,oGAAoG;QACpG,kGAAkG;QAClG,8EAA8E;QAC9E,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;QAClD,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,OAAO;YAAE,IAAI,KAAK,IAAI,OAAO;gBAAE,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;QACjG,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC/C,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,cAAc;YAAE,IAAI,KAAK,IAAI,OAAO;gBAAE,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAEjG,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,gBAAgB,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QACzD,IAAI,OAAO,EAAE,CAAC;YACV,QAAQ,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE,IAAI,GAAG,CAAC,IAAI,oBAAoB,OAAO,OAAO,KAAK,CAAC,MAAM,IAAI,SAAS,SAAS;sBACnF,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,YAAY,yBAAyB,CAAC,CAAC,CAAC,EAAE,CAAC;sBAC7E,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,OAAO,CAAC,IAAI,kDAAkD,CAAC,CAAC,CAAC,EAAE,CAAC;sBAChG,WAAW,QAAQ,kCAAkC;gBAC3D,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,gBAAgB;oBACzE,YAAY,EAAE,YAAY,IAAI,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE;aACnF,CAAC,CAAC;QACP,CAAC;QAED,uGAAuG;QACvG,oGAAoG;QACpG,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,GAAG,OAAO,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC,IAAI,eAAe,CAAC,IAAI,GAAG,CAAC,CAAC;QAChG,oFAAoF;QACpF,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,CAAC;QACtE,OAAO;YACH,OAAO,EAAE,GAAG;YACZ,OAAO,EAAE,OAAO;YAChB,iBAAiB,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;gBACnC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,eAAe,EAAE,YAAY,CAAC;YACxG,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;SACnD,CAAC;IACN,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACK,iBAAiB,CAAC,GAA8B;QACpD,MAAM,KAAK,GAAiB,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;QACnF,IAAI,CAAC,GAAG;YAAE,OAAO,KAAK,CAAC;QAEvB,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC;gBACD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA8C,CAAC;gBACvE,MAAM,IAAI,GAAG,CAAC,CAAU,EAAuB,EAAE;oBAC7C,MAAM,CAAC,GAAG,IAAI,GAAG,EAAkB,CAAC;oBACpC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;wBAC7B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAA4B,CAAC,EAAE,CAAC;4BAChE,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;4BAC1E,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC;gCAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;wBACjE,CAAC;oBACL,CAAC;oBACD,OAAO,CAAC,CAAC;gBACb,CAAC,CAAC;gBACF,OAAO;oBACH,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;oBAC7D,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBACnB,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;iBACnB,CAAC;YACN,CAAC;YAAC,MAAM,CAAC;gBACL,2FAA2F;gBAC3F,0DAA0D;gBAC1D,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QAED,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,IAAI,GAAG,CAAC;YAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;QAC3E,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC;YAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;QACxH,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;IAChG,CAAC;IAED;;;;OAIG;IACK,qBAAqB,CAAC,KAAoB,EAAE,QAA6B,EAAE,KAA0B;QACzG,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,KAAK,IAAI,SAAS,CAAC;QACvE,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAC3D,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAChD,OAAO,GAAG,EAAE,IAAI,MAAM,EAAE,CAAC;QAC7B,CAAC;QACD,MAAM,OAAO,GAA2E,EAAE,CAAC;QAC3F,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC;QACrC,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAChE,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,0EAA0E;IAChE,KAAK;QACX,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;IACtB,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACK,KAAK,CAAC,iBAAiB,CAC3B,GAA8B,EAC9B,IAA6B,EAC7B,GAAiB,EACjB,IAA6B;QAE7B,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC;QAC3D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,2BAA2B;wBAChF,OAAO,EAAE,IAAI,GAAG,CAAC,IAAI,oDAAoD,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;QACnH,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAC9E,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAE5C,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC;YACjC,UAAU,EAAE,GAAG,CAAC,IAAI;YACpB,MAAM,EAAE;gBACJ,KAAK;gBACL,UAAU,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,SAAS;gBACvE,cAAc,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,gBAAgB,CAAC,IAAI,SAAS;gBAC/E,0BAA0B,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,4BAA4B,CAAC,IAAI,SAAS;gBACvG,0FAA0F;gBAC1F,0EAA0E;gBAC1E,QAAQ,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,SAAS;gBACtE,sBAAsB,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,wBAAwB,CAAC,IAAI,SAAS;aAClG;YACD,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,cAAc,EAAE,GAAG,CAAC,cAAc;YAClC,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;YACtC,eAAe,EAAE,GAAG,CAAC,eAAe;YACpC,8FAA8F;YAC9F,iGAAiG;YACjG,eAAe;YACf,WAAW,EAAE,KAAK,EAAE,GAAa,EAAsC,EAAE;gBACrE,MAAM,MAAM,GAAoC,EAAE,KAAK,EAAE,CAAC;gBAC1D,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EACxF,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAsB,CAAC,CAAC;gBAClE,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACnD,CAAC;SACJ,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACtC,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,IAAI,CAAC,4BAA4B,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,EAAE,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;QACnJ,oFAAoF;QACpF,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChF,OAAO;YACH,OAAO,EAAE,MAAM;YACf,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,GAAG,CAAC,MAAM,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5D,CAAC;IACN,CAAC;IAGD,oHAAoH;IAC5G,KAAK,CAAC,gBAAgB,CAAI,KAAU,EAAE,WAAmB,EAAE,MAAkC;QACjG,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;YAC3G,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBAAC,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC;gBAAC,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,qEAAqE;IAErE;;;;;;OAMG;IACa,KAAK,CAAC,YAAY,CAAC,GAAwB;QACvD,MAAM,EAAE,GAAG,GAAG,CAAC,kBAAgD,CAAC;QAChE,MAAM,WAAW,GAAG,GAAG,CAAC,WAAuB,CAAC;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;QACnE,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CACX,mCAAmC,GAAG,CAAC,UAAU,sEAAsE,CAC1H,CAAC;QACN,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,YAAY,EAAE,qBAAqB,GAAG,CAAC,UAAU,wDAAwD,EAAE,CAAC;QAC1J,CAAC;QAED,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;YAChE,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC3D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAEvE,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,2BAA2B,GAAG,CAAC,UAAU,KAAK,WAAW,EAAE,EAAE,CAAC;YACtI,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,uBAAuB,CAAC,CAAC;YACnE,MAAM,UAAU,GAAG,OAAO;gBACtB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;gBAC/C,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC,6DAA6D;YACxG,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;QAChF,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;QACpE,CAAC;IACL,CAAC;IAED;;;OAGG;IACa,KAAK,CAAC,YAAY,CAAC,GAAwB;QACvD,MAAM,EAAE,GAAG,GAAG,CAAC,kBAAgD,CAAC;QAChE,MAAM,WAAW,GAAG,GAAG,CAAC,WAAuB,CAAC;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;QACnE,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CACX,mCAAmC,GAAG,CAAC,UAAU,sEAAsE,CAC1H,CAAC;QACN,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,YAAY,EAAE,qBAAqB,GAAG,CAAC,UAAU,wDAAwD,EAAE,CAAC;QAC1J,CAAC;QAED,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAClD,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,SAAS;gBAAE,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC;YAChE,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;YAChE,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC3D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAEvE,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,2BAA2B,GAAG,CAAC,UAAU,KAAK,WAAW,EAAE,EAAE,CAAC;YACtI,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC;QACtF,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;QACpE,CAAC;IACL,CAAC;IAED;;;OAGG;IACa,KAAK,CAAC,YAAY,CAAC,GAAwB;QACvD,MAAM,EAAE,GAAG,GAAG,CAAC,kBAAgD,CAAC;QAChE,MAAM,WAAW,GAAG,GAAG,CAAC,WAAuB,CAAC;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;QACnE,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CACX,mCAAmC,GAAG,CAAC,UAAU,sEAAsE,CAC1H,CAAC;QACN,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,YAAY,EAAE,qBAAqB,GAAG,CAAC,UAAU,wDAAwD,EAAE,CAAC;QAC1J,CAAC;QAED,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YACxD,MAAM,MAAM,GAAoC,EAAE,CAAC,GAAG,QAAQ,KAAK,CAAC,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC;YACvF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAEvE,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,2BAA2B,GAAG,CAAC,UAAU,KAAK,WAAW,EAAE,EAAE,CAAC;YACtI,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC;QACtF,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;QACpE,CAAC;IACL,CAAC;IAED,2GAA2G;IACnG,KAAK,CAAC,SAAS,CACnB,EAA8B,EAC9B,WAAqB,EACrB,MAAc,EACd,MAAuC;QAEvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QACtD,MAAM,OAAO,GAAqB,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QACzE,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;IAC/F,CAAC;IAED,qEAAqE;IAErE,6GAA6G;IACrG,eAAe,CACnB,GAA8B,EAC9B,GAA4B,EAC5B,GAAiB,EACjB,IAAY,EACZ,MAAc,EACd,QAAgB;QAEhB,MAAM,MAAM,GAAoC,EAAE,CAAC;QACnD,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAE9D,IAAI,CAAC,GAAG,CAAC,kBAAkB,IAAI,GAAG,CAAC,cAAc,KAAK,MAAM;YAAE,OAAO,MAAM,CAAC;QAC5E,MAAM,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,kBAAkB,CAAC,IAAI,EAAE,CAAC;QAC5E,IAAI,GAAG,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;YAClC,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QACpE,CAAC;aAAM,IAAI,GAAG,CAAC,cAAc,KAAK,YAAY,EAAE,CAAC;YAC7C,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACK,cAAc,CAClB,MAAuC,EACvC,GAA8B,EAC9B,GAA4B,EAC5B,kBAA8C;QAE9C,MAAM,KAAK,GAAG,CAAC,GAAmC,EAAQ,EAAE;YACxD,IAAI,CAAC,GAAG;gBAAE,OAAO;YACjB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ;oBAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACtE,CAAC;QACL,CAAC,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;QAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAChE,IAAI,UAAU;YAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACvE,CAAC;IAED;;;;OAIG;IACK,qBAAqB,CACzB,MAAuC,EACvC,SAAmB,EACnB,MAAc,EACd,QAAgB,EAChB,QAAyB;QAEzB,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC;QAC5C,MAAM,QAAQ,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAqC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC1F,qGAAqG;QACrG,mGAAmG;QACnG,oCAAoC;QACpC,IAAI,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,kBAAkB,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;QAClH,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YACtD,MAAM,KAAK,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzF,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC/B,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC9C,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;YAC7C,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK;gBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QAC5D,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;OAaG;IACK,kBAAkB,CAAC,GAA4B;QACnD,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,gBAAgB,CAAC,IAAI,EAAE,CAAC;QAC5E,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;QAC5D,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG;YAAE,OAAO,SAAS,CAAC;QAC3F,OAAO;YACH,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;YAC3B,kBAAkB,EAAE,WAAW,CAAC,CAAC,CAAC;YAClC,GAAG,EAAE,GAAG;YACR,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,mBAAmB,CAAC,IAAI,KAAK;SACtE,CAAC;IACN,CAAC;IAED,8GAA8G;IACtG,yBAAyB,CAC7B,MAAuC,EACvC,SAAmB,EACnB,IAAY,EACZ,QAAgB;QAEhB,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;QACxC,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;QACxB,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,QAAQ;YAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;IAC9C,CAAC;IAED,qEAAqE;IAErE;;;;;;OAMG;IACK,sBAAsB,CAAC,GAA4B,EAAE,EAA2B,EAAE,MAAc;QACpG,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,YAAY,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;QAC1G,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC;QACjF,IAAI,SAAS;YAAE,OAAO,SAAS,CAAC;QAChC,OAAO,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;IAED,0FAA0F;IAClF,qBAAqB,CAAC,EAA2B,EAAE,MAAc;QACrE,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC;QACjF,IAAI,SAAS;YAAE,OAAO,SAAS,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QACvD,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,2FAA2F;QAC3F,MAAM,MAAM,GAAG,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC;QACzD,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,CAAC;IAC/E,CAAC;IAED,8FAA8F;IACtF,4BAA4B,CAAC,MAAc;QAC/C,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QAC5E,IAAI,CAAC,EAAE,CAAC;YACJ,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAClB,kFAAkF;YAClF,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YAClC,OAAO,GAAG,IAAI,IAAI,CAAC;QACvB,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,sHAAsH;IAC9G,aAAa,CAAC,OAAsB;QACxC,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACzD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3D,CAAC;IAED,oHAAoH;IAC5G,iBAAiB,CAAC,EAA2B,EAAE,MAAwC;QAC3F,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;QAC5D,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,4CAA4C;YAC1F,IAAI,CAAC;gBAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;QACD,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACzF,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/B,CAAC;IAED,gGAAgG;IACxF,mBAAmB,CAAC,UAAkB,EAAE,KAA8B;QAC1E,MAAM,GAAG,GAAoC,EAAE,CAAC;QAChD,IAAI,CAAC,aAAa,CAAC,GAAG,UAAU,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QACnD,OAAO,GAAG,CAAC;IACf,CAAC;IAEO,aAAa,CAAC,MAAc,EAAE,KAAc,EAAE,GAAoC;QACtF,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO;QAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3E,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACnC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;gBACpE,IAAI,CAAC,aAAa,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;YAClD,CAAC;QACL,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YACpC,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,8BAA8B;QAC/D,CAAC;aAAM,CAAC;YACJ,GAAG,CAAC,MAAM,CAAC,GAAG,KAAwB,CAAC;QAC3C,CAAC;IACL,CAAC;IAED,4FAA4F;IACpF,cAAc,CAAC,KAA8B,EAAE,MAAwC;QAC3F,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5E,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;QAC7C,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,sEAAsE;IAEtE;;;;;;;;;;;OAWG;IACK,oBAAoB,CAAC,GAA8B,EAAE,GAA4B;QACrF,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC;QACtE,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAC5C,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,eAAe,KAAK,QAAQ,IAAI,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YAC3F,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE;YAC5B,CAAC,CAAC,IAAI,CAAC;QACX,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC,CAAC;IACzE,CAAC;IAEO,aAAa,CAAC,MAAe;QACjC,IAAI,MAAM,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAA8B,CAAC;QACpH,CAAC;QACD,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,CAAC,MAAiC,CAAC,CAAC;QAC3E,OAAO,EAAE,CAAC;IACd,CAAC;IAED,4EAA4E;IAE5E;2FACuF;aAC/D,0BAAqB,GAAG,CAAC,GAAG,EAAE,GAAG,MAAM,AAAlB,CAAmB;IAChE;2EACuE;aAC/C,4BAAuB,GAAG,SAAS,AAAZ,CAAa;IAEpD,gBAAgB,CAAC,aAAqB,EAAE,eAAuB;QACnE,OAAO,GAAG,aAAa,SAAS,eAAe,EAAE,CAAC;IACtD,CAAC;IAED;;;;;;;;OAQG;IACK,wBAAwB,CAC5B,SAAoC,EACpC,OAAsC,EACtC,YAAqB,EACrB,YAAqB;QAErB,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAClC,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE;YAAE,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAE5E,KAAK,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;YACtE,IAAI,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,YAAY,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,GAAG,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;gBACzE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACzC,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;gBAClB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACpD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;gBACvC,SAAS,IAAI,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC;gBACzC,IAAI,SAAS,GAAG,iBAAe,CAAC,uBAAuB,EAAE,CAAC;oBACtD,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;oBACd,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC;gBAC1B,CAAC;YACL,CAAC;YACD,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YACtB,IAAI,YAAY;gBAAE,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC1C,CAAC;IACL,CAAC;IAED,+FAA+F;IACvF,iBAAiB,CAAC,SAAoC;QAC1D,MAAM,GAAG,GAAkE,EAAE,CAAC;QAC9E,KAAK,MAAM,SAAS,IAAI,qBAAqB,CAAC,QAAQ,CAAC,oCAAoC,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC;YACnH,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YACzC,IAAI,MAAsC,CAAC;YAC3C,IAAI,CAAC;gBACD,MAAM,GAAG,4BAA4B,CAAE,GAA+B,CAAC,mBAAmB,CAAC,CAAC,CAAC;YACjG,CAAC;YAAC,MAAM,CAAC;gBACL,SAAS,CAAC,8EAA8E;YAC5F,CAAC;YACD,IAAI,MAAM,IAAI,MAAM,CAAC,gBAAgB,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;gBACvD,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YAC5D,CAAC;QACL,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,sBAAsB,CAChC,GAA8B,EAC9B,GAAiB,EACjB,UAAmB,EACnB,MAAwC;QAExC,MAAM,MAAM,GAAG,4BAA4B,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,IAAI,GAAG,CAAC,IAAI,4BAA4B,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;QAC1K,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,kBAAkB,CAAC,aAAa,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACtG,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,6EAA6E;YAC7E,+CAA+C;YAC/C,MAAM,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,0CAA0C,MAAM,CAAC,gBAAgB,qDAAqD,CAAC,CAAC;QACxJ,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAEvD,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,aAAa,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QACrE,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAe,CAAC,qBAAqB,CAAC;QACrF,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,IAAI,CAAC,CAAC;YACtC,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;gBACf,8EAA8E;gBAC9E,MAAM,IAAI,GAAG,IAAI,GAAG,EAAmC,CAAC;gBACxD,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;oBACzB,MAAM,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;oBAChE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;gBAChC,CAAC;gBACD,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACzC,CAAC;YACD,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC;YACxD,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;YACxF,MAAM,UAAU,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YACzC,OAAO;gBACH,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM;gBACrC,UAAU,EAAE,UAAU;aACzB,CAAC;QACN,CAAC;QAED,kFAAkF;QAClF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,GAAG,GAAG,EAAE,UAAU,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QACpF,MAAM,QAAQ,GAAG,iBAAiB,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;QACnG,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC;QACnD,IAAI,QAAQ,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;YAC/B,QAAQ,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,0BAA0B;gBAChC,OAAO,EAAE,IAAI,GAAG,CAAC,IAAI,MAAM,QAAQ,CAAC,eAAe,0CAA0C,MAAM,CAAC,WAAW,qBAAqB;gBACpI,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,eAAe,EAAE;aAChE,CAAC,CAAC;QACP,CAAC;QACD,OAAO;YACH,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,UAAU,EAAE,WAAW,CAAC,UAAU;YAClC,iBAAiB,EAAE,WAAW,CAAC,iBAAiB;YAChD,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;SACvD,CAAC;IACN,CAAC;IAED,qFAAqF;IAC7E,aAAa,CAAC,GAA4B;QAC9C,MAAM,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACK,mBAAmB,CACvB,GAA4B,EAC5B,UAAkB,EAClB,YAAsB;QAEtB,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC;eACrC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAChG,MAAM,UAAU,GAAG,YAAY;YAC3B,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YAClE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,MAAM,GAAG,GAAG,CAAC;QACjB,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;eACvC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YAC5F,MAAM,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;QACvD,CAAC;QACD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC9E,CAAC;IAEO,oBAAoB,CAAC,MAAwC;QACjE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACvG,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,gHAAgH;IACxG,gBAAgB,CAAC,IAAa,EAAE,OAAe;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7C,OAAO,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,6GAA6G;IACrG,uBAAuB,CAAC,KAA8B;QAC1D,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAEO,iBAAiB,CAAC,IAAa;QACnC,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3D,MAAM,GAAG,GAAG,IAA+B,CAAC;YAC5C,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChE,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;gBAC3G,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,mCAAmC,CAAC;gBACpG,OAAO,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YAClC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,2GAA2G;IACnG,mBAAmB,CAAC,IAAa;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,EAAE,CAAC,CAAC;IACxE,CAAC;IAEO,cAAc,CAAC,GAAY,EAAE,SAAiB,EAAE,UAAkB;QACtE,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,SAAS,eAAe,UAAU,KAAK,OAAO,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;IAClH,CAAC;IAED,qEAAqE;IAErE,4GAA4G;IAClG,KAAK,CAAC,WAAW,CACvB,kBAA8C,EAC9C,WAAqB;QAErB,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,IAAI,kBAAkB,CAAC,YAAY,EAAE,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;QACtG,CAAC;QACD,IAAI,kBAAkB,CAAC,aAAa,EAAE,CAAC;YACnC,IAAI,CAAC;gBACD,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,aAAa,CAA4B,CAAC,CAAC;YAChG,CAAC;YAAC,MAAM,CAAC,CAAC,wEAAwE,CAAC,CAAC;QACxF,CAAC;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,YAAoB,EAAE,WAAqB;QAC1E,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,eAAe,CAAqB,iBAAiB,EAAE,WAAW,CAAC,CAAC;QAChG,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAC7C,IAAI,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAA4B,CAAC;QACpE,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,EAAE,CAAC;QACd,CAAC;IACL,CAAC;IAEO,eAAe,CAAC,GAA4B;QAChD,MAAM,IAAI,GAAG,CAAC,GAAG,IAAc,EAAsB,EAAE;YACnD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACrB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;oBACvC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,WAAW,EAAE,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;wBAAE,OAAO,CAAC,CAAC;gBACjG,CAAC;YACL,CAAC;YACD,OAAO,SAAS,CAAC;QACrB,CAAC,CAAC;QACF,8FAA8F;QAC9F,4FAA4F;QAC5F,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;aACjC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU;YACvD,CAAC,CAAC,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;gBACjF,CAAC,CAAC,GAAG,CAAC;QACV,MAAM,SAAS,GAAiB;YAC5B,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE;YACjF,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE;YACnG,gBAAgB,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B;SACpG,CAAC;QACF,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,iCAAiC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3G,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,wGAAwG;IAChG,aAAa,CAAC,OAAe;QACjC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,oBAAoB,EAAE,CAAC;IACzF,CAAC;IAEO,qBAAqB,CAAC,kBAA8C;QACxE,IAAI,CAAC,kBAAkB,CAAC,aAAa;YAAE,OAAO,EAAE,CAAC;QACjD,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,aAAa,CAAY,CAAC;YACvE,OAAO,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAiC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnH,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,EAAE,CAAC;QACd,CAAC;IACL,CAAC;IAED,sEAAsE;IAE9D,YAAY,CAAC,GAA8B;QAC/C,IAAI,CAAC,GAAG,CAAC,aAAa;YAAE,OAAO,EAAE,CAAC;QAClC,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAY,CAAC;YACxD,OAAO,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAiC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnH,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,EAAE,CAAC;QACd,CAAC;IACL,CAAC;IAEO,kBAAkB,CAAC,GAA4B;QACnD,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,CAAC,IAAI,EAAE,CAAC;IAC9D,CAAC;IAEO,gBAAgB,CAAC,GAA4B,EAAE,GAAW;QAC9D,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,CAAC;IAEO,qBAAqB,CAAC,GAA4B,EAAE,GAAW;QACnE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACnC,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAChF,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IACvC,CAAC;IAEO,gBAAgB,CAAC,GAA4B,EAAE,GAAW;QAC9D,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAA4B,CAAC,CAAC,CAAC,IAAI,CAAC;IACjG,CAAC;IAED,4GAA4G;IACpG,qBAAqB,CAAC,GAA4B,EAAE,GAAW;QACnE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;QAClG,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9D,CAAC;IAED,wHAAwH;IAChH,wBAAwB,CAAC,GAA4B,EAAE,GAAW;QACtE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;QAClG,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/D,CAAC;IAED,sEAAsE;IAE9D,SAAS,CAAC,IAAY;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,sEAAsE;QAC7G,IAAI,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,OAAO,CAAC,CAAC,gDAAgD;QACpE,CAAC;IACL,CAAC;IAEO,eAAe,CAAC,OAAgB;QACpC,MAAM,GAAG,GAA2B,EAAE,CAAC;QACvC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,OAAO,GAAG,CAAC;IACf,CAAC;IAED,8GAA8G;IACtG,WAAW,CAAC,IAAa;QAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACtF,OAAQ,KAAiC,IAAI,IAAI,CAAC;QACtD,CAAC;QACD,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnC,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,IAA+B,CAAC,CAAC;YAClE,IAAI,GAAG,EAAE,CAAC;gBACN,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrF,IAAI,KAAK;oBAAE,OAAO,KAAgC,CAAC;YACvD,CAAC;YACD,OAAO,IAA+B,CAAC;QAC3C,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,eAAe,CAAC,IAA6B;QACjD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACvC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACrC,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,KAAgC,CAAC,CAAC;gBACtE,IAAI,MAAM;oBAAE,OAAO,MAAM,CAAC;YAC9B,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,WAAW,CAAC,OAAgB;QAChC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC;QAClD,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzC,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,OAAkC,CAAC,CAAC;YACrE,IAAI,GAAG;gBAAE,OAAO,GAAG,CAAC,MAAM,CAAC;YAC3B,OAAO,MAAM,CAAC,IAAI,CAAC,OAAkC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO,CAAC,CAAC;IACb,CAAC;IAEO,WAAW,CAAC,IAAa,EAAE,GAAW;QAC1C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QACxD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBACtB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC1C,IAAI,KAAK,KAAK,SAAS;oBAAE,OAAO,KAAK,CAAC;YAC1C,CAAC;YACD,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,MAAM,GAAG,GAAG,IAA+B,CAAC;QAC5C,IAAI,GAAG,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;QAChC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC3C,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC;QAC1C,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,QAAQ,CAAC,CAAU;QACvB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QAC1D,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IAChB,CAAC;;AAlvDQ,eAAe;IAD3B,aAAa,CAAC,wBAAwB,EAAE,iBAAiB,CAAC;GAC9C,eAAe,CAmvD3B;;AAED,8EAA8E;AAC9E,MAAM,UAAU,mBAAmB,KAAuB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/connector-totara",
3
- "version": "0.3.2",
3
+ "version": "0.4.0",
4
4
  "description": "MemberJunction Totara connector.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",