@saltcorn/data 0.7.4 → 0.8.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. package/dist/base-plugin/actions.d.ts.map +1 -1
  2. package/dist/base-plugin/actions.js +3 -0
  3. package/dist/base-plugin/actions.js.map +1 -1
  4. package/dist/base-plugin/fieldviews.d.ts.map +1 -1
  5. package/dist/base-plugin/fieldviews.js +23 -4
  6. package/dist/base-plugin/fieldviews.js.map +1 -1
  7. package/dist/base-plugin/fileviews.d.ts +29 -7
  8. package/dist/base-plugin/fileviews.d.ts.map +1 -1
  9. package/dist/base-plugin/fileviews.js +53 -19
  10. package/dist/base-plugin/fileviews.js.map +1 -1
  11. package/dist/base-plugin/index.d.ts +67 -59
  12. package/dist/base-plugin/index.d.ts.map +1 -1
  13. package/dist/base-plugin/types.d.ts +142 -130
  14. package/dist/base-plugin/types.d.ts.map +1 -1
  15. package/dist/base-plugin/types.js +22 -5
  16. package/dist/base-plugin/types.js.map +1 -1
  17. package/dist/base-plugin/viewtemplates/edit.d.ts.map +1 -1
  18. package/dist/base-plugin/viewtemplates/edit.js +65 -12
  19. package/dist/base-plugin/viewtemplates/edit.js.map +1 -1
  20. package/dist/base-plugin/viewtemplates/feed.d.ts.map +1 -1
  21. package/dist/base-plugin/viewtemplates/feed.js +71 -57
  22. package/dist/base-plugin/viewtemplates/feed.js.map +1 -1
  23. package/dist/base-plugin/viewtemplates/filter.d.ts.map +1 -1
  24. package/dist/base-plugin/viewtemplates/filter.js +12 -6
  25. package/dist/base-plugin/viewtemplates/filter.js.map +1 -1
  26. package/dist/base-plugin/viewtemplates/list.d.ts +3 -3
  27. package/dist/base-plugin/viewtemplates/list.d.ts.map +1 -1
  28. package/dist/base-plugin/viewtemplates/list.js +134 -120
  29. package/dist/base-plugin/viewtemplates/list.js.map +1 -1
  30. package/dist/base-plugin/viewtemplates/listshowlist.d.ts.map +1 -1
  31. package/dist/base-plugin/viewtemplates/listshowlist.js +4 -15
  32. package/dist/base-plugin/viewtemplates/listshowlist.js.map +1 -1
  33. package/dist/base-plugin/viewtemplates/show.d.ts +2 -2
  34. package/dist/base-plugin/viewtemplates/show.d.ts.map +1 -1
  35. package/dist/base-plugin/viewtemplates/show.js +30 -11
  36. package/dist/base-plugin/viewtemplates/show.js.map +1 -1
  37. package/dist/base-plugin/viewtemplates/viewable_fields.d.ts +1 -1
  38. package/dist/base-plugin/viewtemplates/viewable_fields.d.ts.map +1 -1
  39. package/dist/base-plugin/viewtemplates/viewable_fields.js +8 -9
  40. package/dist/base-plugin/viewtemplates/viewable_fields.js.map +1 -1
  41. package/dist/contracts.d.ts.map +1 -1
  42. package/dist/contracts.js +0 -1
  43. package/dist/contracts.js.map +1 -1
  44. package/dist/db/state.d.ts +1 -0
  45. package/dist/db/state.d.ts.map +1 -1
  46. package/dist/db/state.js +3 -1
  47. package/dist/db/state.js.map +1 -1
  48. package/dist/diagram/cy_generate_utils.d.ts +3 -3
  49. package/dist/diagram/cy_generate_utils.d.ts.map +1 -1
  50. package/dist/diagram/cy_generate_utils.js +9 -5
  51. package/dist/diagram/cy_generate_utils.js.map +1 -1
  52. package/dist/diagram/cy_raster.d.ts +4 -2
  53. package/dist/diagram/cy_raster.d.ts.map +1 -1
  54. package/dist/diagram/cy_raster.js +63 -15
  55. package/dist/diagram/cy_raster.js.map +1 -1
  56. package/dist/diagram/node_extract_utils.d.ts +6 -2
  57. package/dist/diagram/node_extract_utils.d.ts.map +1 -1
  58. package/dist/diagram/node_extract_utils.js +104 -36
  59. package/dist/diagram/node_extract_utils.js.map +1 -1
  60. package/dist/diagram/nodes/dummy_node.d.ts +6 -0
  61. package/dist/diagram/nodes/dummy_node.d.ts.map +1 -0
  62. package/dist/diagram/nodes/dummy_node.js +17 -0
  63. package/dist/diagram/nodes/dummy_node.js.map +1 -0
  64. package/dist/diagram/nodes/node.d.ts +33 -0
  65. package/dist/diagram/nodes/node.d.ts.map +1 -0
  66. package/dist/diagram/nodes/node.js +42 -0
  67. package/dist/diagram/nodes/node.js.map +1 -0
  68. package/dist/diagram/nodes/page_node.d.ts +9 -0
  69. package/dist/diagram/nodes/page_node.d.ts.map +1 -0
  70. package/dist/diagram/nodes/page_node.js +20 -0
  71. package/dist/diagram/nodes/page_node.js.map +1 -0
  72. package/dist/diagram/nodes/table_node.d.ts +9 -0
  73. package/dist/diagram/nodes/table_node.d.ts.map +1 -0
  74. package/dist/diagram/nodes/table_node.js +24 -0
  75. package/dist/diagram/nodes/table_node.js.map +1 -0
  76. package/dist/diagram/nodes/trigger_node.d.ts +9 -0
  77. package/dist/diagram/nodes/trigger_node.d.ts.map +1 -0
  78. package/dist/diagram/nodes/trigger_node.js +19 -0
  79. package/dist/diagram/nodes/trigger_node.js.map +1 -0
  80. package/dist/diagram/nodes/view_node.d.ts +9 -0
  81. package/dist/diagram/nodes/view_node.d.ts.map +1 -0
  82. package/dist/diagram/nodes/view_node.js +23 -0
  83. package/dist/diagram/nodes/view_node.js.map +1 -0
  84. package/dist/migrate.js +1 -1
  85. package/dist/migrate.js.map +1 -1
  86. package/dist/migrations/202210051058.d.ts +2 -0
  87. package/dist/migrations/202210051058.d.ts.map +1 -0
  88. package/dist/migrations/202210051058.js +121 -0
  89. package/dist/migrations/202210051058.js.map +1 -0
  90. package/dist/migrations/202210101540.d.ts +2 -0
  91. package/dist/migrations/202210101540.d.ts.map +1 -0
  92. package/dist/migrations/202210101540.js +47 -0
  93. package/dist/migrations/202210101540.js.map +1 -0
  94. package/dist/migrations/202211040031.d.ts +2 -0
  95. package/dist/migrations/202211040031.d.ts.map +1 -0
  96. package/dist/migrations/202211040031.js +7 -0
  97. package/dist/migrations/202211040031.js.map +1 -0
  98. package/dist/mobile-mocks/npm/fs-xattr.d.ts +1 -0
  99. package/dist/mobile-mocks/npm/fs-xattr.d.ts.map +1 -0
  100. package/dist/mobile-mocks/npm/fs-xattr.js +2 -0
  101. package/dist/mobile-mocks/npm/fs-xattr.js.map +1 -0
  102. package/dist/models/config.d.ts.map +1 -1
  103. package/dist/models/config.js +14 -0
  104. package/dist/models/config.js.map +1 -1
  105. package/dist/models/discovery.d.ts.map +1 -1
  106. package/dist/models/discovery.js +6 -1
  107. package/dist/models/discovery.js.map +1 -1
  108. package/dist/models/disk_file.d.ts +138 -0
  109. package/dist/models/disk_file.d.ts.map +1 -0
  110. package/dist/models/disk_file.js +255 -0
  111. package/dist/models/disk_file.js.map +1 -0
  112. package/dist/models/email.d.ts +3 -1
  113. package/dist/models/email.d.ts.map +1 -1
  114. package/dist/models/email.js +14 -4
  115. package/dist/models/email.js.map +1 -1
  116. package/dist/models/expression.d.ts +1 -1
  117. package/dist/models/expression.d.ts.map +1 -1
  118. package/dist/models/expression.js +30 -4
  119. package/dist/models/expression.js.map +1 -1
  120. package/dist/models/field.d.ts +1 -0
  121. package/dist/models/field.d.ts.map +1 -1
  122. package/dist/models/field.js +56 -15
  123. package/dist/models/field.js.map +1 -1
  124. package/dist/models/file.d.ts +19 -14
  125. package/dist/models/file.d.ts.map +1 -1
  126. package/dist/models/file.js +264 -52
  127. package/dist/models/file.js.map +1 -1
  128. package/dist/models/form.d.ts +4 -3
  129. package/dist/models/form.d.ts.map +1 -1
  130. package/dist/models/form.js +6 -3
  131. package/dist/models/form.js.map +1 -1
  132. package/dist/models/index.d.ts +5 -3
  133. package/dist/models/index.d.ts.map +1 -1
  134. package/dist/models/page.d.ts +2 -0
  135. package/dist/models/page.d.ts.map +1 -1
  136. package/dist/models/page.js +27 -0
  137. package/dist/models/page.js.map +1 -1
  138. package/dist/models/scheduler.d.ts.map +1 -1
  139. package/dist/models/scheduler.js +9 -4
  140. package/dist/models/scheduler.js.map +1 -1
  141. package/dist/models/table.d.ts +4 -1
  142. package/dist/models/table.d.ts.map +1 -1
  143. package/dist/models/table.js +48 -15
  144. package/dist/models/table.js.map +1 -1
  145. package/dist/models/tag.d.ts +4 -2
  146. package/dist/models/tag.d.ts.map +1 -1
  147. package/dist/models/tag.js +9 -3
  148. package/dist/models/tag.js.map +1 -1
  149. package/dist/models/tag_entry.d.ts +2 -2
  150. package/dist/models/tag_entry.d.ts.map +1 -1
  151. package/dist/models/tag_entry.js +2 -2
  152. package/dist/models/tag_entry.js.map +1 -1
  153. package/dist/models/trigger.d.ts +3 -1
  154. package/dist/models/trigger.d.ts.map +1 -1
  155. package/dist/models/trigger.js +27 -0
  156. package/dist/models/trigger.js.map +1 -1
  157. package/dist/models/user.d.ts.map +1 -1
  158. package/dist/models/user.js +13 -1
  159. package/dist/models/user.js.map +1 -1
  160. package/dist/models/view.d.ts +2 -7
  161. package/dist/models/view.d.ts.map +1 -1
  162. package/dist/models/view.js +7 -47
  163. package/dist/models/view.js.map +1 -1
  164. package/dist/models/workflow.d.ts +2 -0
  165. package/dist/models/workflow.d.ts.map +1 -1
  166. package/dist/models/workflow.js +4 -0
  167. package/dist/models/workflow.js.map +1 -1
  168. package/dist/plugin-helper.d.ts +5 -3
  169. package/dist/plugin-helper.d.ts.map +1 -1
  170. package/dist/plugin-helper.js +93 -30
  171. package/dist/plugin-helper.js.map +1 -1
  172. package/dist/plugin-testing.js +1 -1
  173. package/dist/plugin-testing.js.map +1 -1
  174. package/dist/tests/calc.test.js +13 -0
  175. package/dist/tests/calc.test.js.map +1 -1
  176. package/dist/tests/discover.test.js +3 -0
  177. package/dist/tests/discover.test.js.map +1 -1
  178. package/dist/tests/email.test.js +156 -13
  179. package/dist/tests/email.test.js.map +1 -1
  180. package/dist/tests/exact_views.test.js +26 -34
  181. package/dist/tests/exact_views.test.js.map +1 -1
  182. package/dist/tests/field.test.js +67 -1
  183. package/dist/tests/field.test.js.map +1 -1
  184. package/dist/tests/models.test.js +10 -7
  185. package/dist/tests/models.test.js.map +1 -1
  186. package/dist/tests/table.test.js +71 -2
  187. package/dist/tests/table.test.js.map +1 -1
  188. package/dist/tests/user.test.js +56 -0
  189. package/dist/tests/user.test.js.map +1 -1
  190. package/dist/tests/view.test.js +1 -11
  191. package/dist/tests/view.test.js.map +1 -1
  192. package/dist/utils.d.ts +3 -1
  193. package/dist/utils.d.ts.map +1 -1
  194. package/dist/utils.js +27 -0
  195. package/dist/utils.js.map +1 -1
  196. package/package.json +8 -7
  197. package/webpack.config.js +1 -0
@@ -9,10 +9,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
9
9
  return (mod && mod.__esModule) ? mod : { "default": mod };
10
10
  };
11
11
  const db_1 = __importDefault(require("../db"));
12
- const { recalculate_for_stored, jsexprToWhere, eval_expression, } = require("./expression");
12
+ const { recalculate_for_stored, jsexprToWhere, eval_expression, freeVariables, } = require("./expression");
13
13
  const internal_1 = require("@saltcorn/db-common/internal");
14
14
  const { InvalidAdminAction } = require("../utils");
15
15
  const common_types_1 = require("@saltcorn/types/common_types");
16
+ const file_1 = __importDefault(require("./file"));
16
17
  const readKey = (v, field) => {
17
18
  if (v === "")
18
19
  return null;
@@ -68,17 +69,13 @@ class Field {
68
69
  this.sourceURL = o.sourceURL;
69
70
  this.is_fkey =
70
71
  o.type === "Key" ||
71
- o.type === "File" ||
72
72
  (typeof o.type === "string" && o.type.startsWith("Key to"));
73
- if (!this.is_fkey) {
74
- this.input_type = o.input_type || "fromtype";
75
- }
76
- else if (o.type === "File") {
73
+ if (o.type === "File") {
77
74
  this.type = "File";
78
75
  this.input_type = this.fieldview ? "fromtype" : "file";
79
- this.reftable_name = "_sc_files";
80
- this.reftype = "Integer";
81
- this.refname = "id";
76
+ }
77
+ else if (!this.is_fkey) {
78
+ this.input_type = o.input_type || "fromtype";
82
79
  }
83
80
  else {
84
81
  this.reftable_name = o.reftable_name || (o.reftable && o.reftable.name);
@@ -157,6 +154,21 @@ class Field {
157
154
  else
158
155
  return this.name;
159
156
  }
157
+ static async select_options_query(table_name, where, attributes) {
158
+ const Table = require("./table");
159
+ const label_formula = attributes?.label_formula;
160
+ const joinFields = {};
161
+ const table = Table.findOne(table_name);
162
+ if (!table) {
163
+ return await db_1.default.select(table_name, where);
164
+ }
165
+ if (label_formula) {
166
+ const { add_free_variables_to_joinfields } = require("../plugin-helper");
167
+ const fields = await table.getFields();
168
+ add_free_variables_to_joinfields(freeVariables(label_formula), joinFields, fields);
169
+ }
170
+ return await table.getJoinedRows({ where, joinFields });
171
+ }
160
172
  /**
161
173
  * Fills 'this.options' with values available via foreign key
162
174
  * Could be used for <options /> in a <select/> to select a user
@@ -167,10 +179,20 @@ class Field {
167
179
  * @returns
168
180
  */
169
181
  async fill_fkey_options(force_allow_none = false, where0, extraCtx = {}, optionsQuery, formFieldNames) {
170
- const where = where0 ||
171
- (this.attributes.where
182
+ let where = where0;
183
+ if (!where &&
184
+ this.attributes.where &&
185
+ this.is_fkey &&
186
+ this.type !== "File") {
187
+ const Table = require("./table");
188
+ const refTable = Table.findOne(this.reftable_name);
189
+ const relFields = await refTable.getFields();
190
+ where = jsexprToWhere(this.attributes.where, extraCtx, relFields);
191
+ }
192
+ else if (!where)
193
+ where = this.attributes.where
172
194
  ? jsexprToWhere(this.attributes.where, extraCtx)
173
- : undefined);
195
+ : undefined;
174
196
  const isDynamic = (formFieldNames || []).some((nm) => (this.attributes.where || "").includes("$" + nm));
175
197
  if (isDynamic) {
176
198
  const fakeEnv = {};
@@ -225,7 +247,7 @@ class Field {
225
247
  if (!this.attributes.select_file_where)
226
248
  this.attributes.select_file_where = {};
227
249
  const rows = !optionsQuery
228
- ? await db_1.default.select(this.reftable_name, this.type === "File" ? this.attributes.select_file_where : where)
250
+ ? await Field.select_options_query(this.reftable_name, this.type === "File" ? this.attributes.select_file_where : where, this.attributes)
229
251
  : await optionsQuery(this.reftable_name, this.type, this.attributes, where);
230
252
  const summary_field = this.attributes.summary_field ||
231
253
  (this.type === "File" ? "filename" : "id");
@@ -249,6 +271,19 @@ class Field {
249
271
  : dbOpts;
250
272
  this.options = [...new Set(allOpts)];
251
273
  }
274
+ else if (this.type === "File") {
275
+ const files = await file_1.default.find(this.attributes.folder
276
+ ? { folder: this.attributes.folder }
277
+ : this.attributes.select_file_where || {});
278
+ this.options = files
279
+ .filter((f) => !f.isDirectory)
280
+ .map((f) => ({
281
+ label: f.filename,
282
+ value: f.path_to_serve,
283
+ }));
284
+ if (!this.required)
285
+ this.options.unshift({ label: "", value: "" });
286
+ }
252
287
  }
253
288
  /**
254
289
  * Distinct Values
@@ -307,6 +342,9 @@ class Field {
307
342
  const { getState } = require("../db/state");
308
343
  return `${getState().types[typeof this.reftype === "string" ? this.reftype : this.reftype.name].sql_name} constraint "${(0, internal_1.sqlsanitize)(this.table.name)}_${(0, internal_1.sqlsanitize)(this.name)}_fkey" references ${schema}"${(0, internal_1.sqlsanitize)(this.reftable_name)}" ("${this.refname}")${this.attributes?.on_delete_cascade ? " on delete cascade" : ""}`;
309
344
  }
345
+ else if (this.type === "File") {
346
+ return "text";
347
+ }
310
348
  else if (this.type && (0, common_types_1.instanceOfType)(this.type) && this.type.sql_name) {
311
349
  return this.type.sql_name;
312
350
  }
@@ -337,6 +375,9 @@ class Field {
337
375
  else if (this.type && (0, common_types_1.instanceOfType)(this.type) && this.type.sql_name) {
338
376
  return this.type.sql_name;
339
377
  }
378
+ else if (this.type === "File") {
379
+ return "text";
380
+ }
340
381
  throw new Error("Unable to get the sql_type");
341
382
  }
342
383
  /**
@@ -664,7 +705,7 @@ class Field {
664
705
  table_id: f.table_id,
665
706
  name: f.name,
666
707
  label: f.label,
667
- type: f.is_fkey ? f.type : f.type?.name,
708
+ type: f.is_fkey || f.type === "File" ? f.type : f.type?.name,
668
709
  reftable_name: f.is_fkey ? f.reftable_name : undefined,
669
710
  reftype: f.is_fkey ? f.reftype : undefined,
670
711
  refname: f.is_fkey ? f.refname : undefined,
@@ -676,7 +717,7 @@ class Field {
676
717
  stored: f.stored,
677
718
  });
678
719
  await require("../db/state").getState().refresh_tables();
679
- if (table.versioned && !f.calculated) {
720
+ if (table.versioned && !(f.calculated && !f.stored)) {
680
721
  await db_1.default.query(`alter table ${schema}"${(0, internal_1.sqlsanitize)(table.name)}__history" add column "${(0, internal_1.sqlsanitize)(f.name)}" ${f.sql_bare_type}`);
681
722
  }
682
723
  if (f.is_unique && !f.calculated)
@@ -1 +1 @@
1
- {"version":3,"file":"field.js","sourceRoot":"","sources":["../../models/field.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,+CAAuB;AACvB,MAAM,EACJ,sBAAsB,EACtB,aAAa,EACb,eAAe,GAChB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAC5B,2DAA2D;AAC3D,MAAM,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAQnD,+DAA8D;AAS9D,MAAM,OAAO,GAAG,CAAC,CAAM,EAAE,KAAY,EAAgC,EAAE;IACrE,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAC1B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,CAAC,CAAC;IAC/D,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5C,IAAI,CAAC,KAAK,CAAC,OAAO;QAChB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,MAAM,IAAI,GACR,QAAQ,EAAE,CAAC,KAAK,CACd,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CACvE,CAAC;IACJ,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,OAAO,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAChE,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,KAAK;IAsCT;;;OAGG;IACH,YAAY,CAAmB;QAb/B,YAAO,GAAW,EAAE,CAAC;QAcnB,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK;YACrB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,IAAI,CAAC,KAAK,GAAW,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,GAAW,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU;YAC1B,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,2BAA2B,CAAC,CAAC;QAC9D,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC3B,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;QACjC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;QAE5C,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3E,IAAI,CAAC,IAAI,CAAC,IAAI;YACZ,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;QACrE,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAC1C,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5C,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;QAE7B,IAAI,CAAC,OAAO;YACV,CAAC,CAAC,IAAI,KAAK,KAAK;gBAChB,CAAC,CAAC,IAAI,KAAK,MAAM;gBACjB,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE9D,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,IAAI,UAAU,CAAC;SAC9C;aAAM,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE;YAC5B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;YACnB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;YACvD,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC;YACjC,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;YACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;SACrB;aAAM;YACL,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACxE,IAAI,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;gBACtE,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YACrD,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;YAC3B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,IAAI,CAAC,UAAU;gBACb,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;YACzE,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,IAAI,SAAS,CAAC;YACtC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC;SAClC;QAED,IAAI,CAAC,UAAU;YACb,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ;gBAC9B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;gBAC1B,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,QAAQ;YAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;QAE3C,IAAI,CAAC,CAAC,KAAK,EAAE;YACX,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;YACrB,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ;gBAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;SAC3D;IACH,CAAC;IAED;;;OAGG;IACH,IAAI,MAAM;QACR,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI;YACjE,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE;SAClC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,kFAAkF;IAClF,+EAA+E;IAC/E,MAAM,CAAC,WAAW,CAAC,KAAa;QAC9B,OAAO,IAAA,sBAAW,EAAC,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,SAAS;QACX,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC;aAC/C,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;aAC3C,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;IAC/C,CAAC;IAED;;;OAGG;IACH,IAAI,SAAS;QACX,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;;YAC7D,OAAO,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,iBAAiB,CACrB,mBAA4B,KAAK,EACjC,MAAc,EACd,WAAgB,EAAE,EAClB,YAAkB,EAClB,cAAyB;QAEzB,MAAM,KAAK,GACT,MAAM;YACN,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK;gBACpB,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC;gBAChD,CAAC,CAAC,SAAS,CAAC,CAAC;QACjB,MAAM,SAAS,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CACnD,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,GAAG,EAAE,CAAC,CACjD,CAAC;QACF,IAAI,SAAS,EAAE;YACb,MAAM,OAAO,GAAQ,EAAE,CAAC;YACxB,cAAe,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;gBAC7B,OAAO,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;YACzB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG;gBAC9B,KAAK,EAAE,IAAI,CAAC,aAAa;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK;gBAC5B,WAAW,EAAE,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC;gBAC1D,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa;gBAC5C,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa;gBAC5C,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC;SACH;QACD,mEAAmE;QAEnE,IACE,IAAI,CAAC,OAAO;YACZ,IAAI,CAAC,SAAS,KAAK,kBAAkB;YACrC,IAAI,CAAC,UAAU,CAAC,QAAQ,EACxB;YACA,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;YACjC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACnD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAC;YAC7C,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAC7B,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,QAAQ,CAChD,CAAC;YAEF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC;gBACxC,UAAU,EAAE;oBACV,WAAW,EAAE;wBACX,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ;wBAC7B,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,aAAa;qBAC1C;iBACF;aACF,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,EAAE;gBACxB,MAAM,GAAG,GAAG;oBACV,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;oBACzC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;iBACzB,CAAC;gBACF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;oBAChC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG;wBAC9B,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;wBACjC,OAAO,EAAE,CAAC,GAAG,CAAC;qBACf,CAAC;;oBACC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;YACH,4BAA4B;SAC7B;aAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YACvB,IAAI,CAAC,IAAI,CAAC,UAAU;gBAAE,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB;gBACpC,IAAI,CAAC,UAAU,CAAC,iBAAiB,GAAG,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,CAAC,YAAY;gBACxB,CAAC,CAAC,MAAM,YAAE,CAAC,MAAM,CACb,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CACjE;gBACH,CAAC,CAAC,MAAM,YAAY,CAChB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,UAAU,EACf,KAAK,CACN,CAAC;YACN,MAAM,aAAa,GACjB,IAAI,CAAC,UAAU,CAAC,aAAa;gBAC7B,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa;gBAC9C,CAAC,CAAC,CAAC,CAAM,EAAE,EAAE;oBACT,IAAI;wBACF,OAAO,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;qBAC3D;oBAAC,OAAO,KAAU,EAAE;wBACnB,KAAK,CAAC,OAAO,GAAG,oBAAoB,IAAI,CAAC,UAAU,EAAE,aAAa,uBAAuB,KAAK,CAAC,OAAO,EAAE,CAAC;wBACzG,MAAM,KAAK,CAAC;qBACb;gBACH,CAAC;gBACH,CAAC,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YACjC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;gBACnC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;gBACnB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;aACvB,CAAC,CAAC,CAAC;YACJ,MAAM,OAAO,GACX,CAAC,IAAI,CAAC,QAAQ,IAAI,gBAAgB;gBAChC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC;gBACvC,CAAC,CAAC,MAAM,CAAC;YACb,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;SACtC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CACnB,GAAS,EACT,KAAa;QAEb,MAAM,EAAE,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC;QACrD,IACE,IAAA,6BAAc,EAAC,IAAI,CAAC,IAAI,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ;YAC3B,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,UAAU,CAAC,OAAO,EACvB;YACA,OAAO;gBACL,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;gBACxB,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO;qBACvB,KAAK,CAAC,GAAG,CAAC;qBACV,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;aAC9D,CAAC;SACH;QACD,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC3C,OAAO,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;SAC3B;QACD,IAAI,IAAA,6BAAc,EAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;YAC1D,OAAO;gBACL,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;gBACxB,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;gBACjD,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;aACrD,CAAC;SACH;QACD,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,KAAK,EAAE;YACT,MAAM,WAAW,GAAG,YAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACtC,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC;YAC3B,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;SAC7B;QACD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,YAAE,CAAC,KAAK,CAC7B,oBAAoB,YAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAC3C,IAAI,CAAC,KAAK,EAAE,QACd,IAAI,MAAM,cAAc,YAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EACpD,MAAM,CACP,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;YACnC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACxB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;SACpB,CAAC,CAAC,CAAC;QACJ,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,UAAU,EAAE,CAAC;YAElB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBACxC,MAAM,IAAI,KAAK,CACb,iEAAiE,CAClE,CAAC;aACH;YACD,MAAM,MAAM,GAAG,YAAE,CAAC,qBAAqB,EAAE,CAAC;YAC1C,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;YAC5C,OAAO,GACL,QAAQ,EAAE,CAAC,KAAK,CACd,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CACpE,CAAC,QACJ,gBAAgB,IAAA,sBAAW,EAAC,IAAK,CAAC,KAAM,CAAC,IAAI,CAAC,IAAI,IAAA,sBAAW,EAC3D,IAAI,CAAC,IAAI,CACV,qBAAqB,MAAM,IAAI,IAAA,sBAAW,EAAC,IAAI,CAAC,aAAa,CAAC,OAC7D,IAAI,CAAC,OACP,KAAK,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;SACvE;aAAM,IAAI,IAAI,CAAC,IAAI,IAAI,IAAA,6BAAc,EAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACvE,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;SAC3B;QACD,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACb,IAAI,IAAI,CAAC,aAAa,KAAK,WAAW;YAAE,OAAO,MAAM,CAAC;QACtD,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,UAAU,IAAI,CAAC,aAAa,EAAE,CAAC;;YACnD,OAAO,IAAI,CAAC,IAAI,IAAI,IAAA,6BAAc,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;IAC5E,CAAC;IAED;;OAEG;IACH,IAAI,aAAa;QACf,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBACxC,MAAM,IAAI,KAAK,CACb,iEAAiE,CAClE,CAAC;aACH;YACD,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;YAC5C,OAAO,QAAQ,EAAE,CAAC,KAAK,CACrB,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CACpE,CAAC,QAAQ,CAAC;SACZ;aAAM,IAAI,IAAI,CAAC,IAAI,IAAI,IAAA,6BAAc,EAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACvE,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;SAC3B;QACD,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,MAAM,IAAI,GAAG,MAAM,YAAE,CAAC,MAAM,CAC1B,IAAI,CAAC,aAAa,EAClB,EAAE,EACF,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAClC,CAAC;YACF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1C;aAAM;YACL,IAAI,IAAA,6BAAc,EAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ;gBACjD,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC;SACzD;IACH,CAAC;IAED;;;OAGG;IAEH,aAAa,CAAC,SAAc;QAC1B,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAC9B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAChD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;YAChE,IAAI,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC1D,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;SACtC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,iBAAiB;QACnB,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC;QAC5C,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,KAAK,CAAC;QACvC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC;QAClC,MAAM,QAAQ,GAAG,QAAQ,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtD,OAAO,CAAC,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACvC,CAAC;IAED,QAAQ,CAAC,SAAc;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACxD,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;SACpD;aAAM;YACL,IAAI,OAAO,GAAG,IAAI,CAAC,IAAY,CAAC;YAChC,OAAO;gBACL,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI;oBACpB,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;oBAC3B,CAAC,CAAC,OAAO,CAAC,kBAAkB;wBAC5B,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC;wBACvD,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;SAChE;QACD,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,IAAI;YACpD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;gBACzC,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;oBAC/B,OAAO,EAAE,KAAK,EAAE,iBAAiB,GAAU,IAAK,EAAE,IAAI,EAAE,CAAC;gBAC3D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;aAC1B;;gBAAM,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAClC,MAAM,QAAQ,GACZ,IAAA,6BAAc,EAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ;YACnC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;YAC/C,CAAC,CAAC,OAAO,CAAC;QACd,IAAI,QAAQ,CAAC,KAAK;YAAE,OAAO,QAAQ,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAC3D,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO;YAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;;YACtE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;IACxC,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI,CACf,KAAa,EACb,aAA4B,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;QAE7D,MAAM,OAAO,GAAG,MAAM,YAAE,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAa,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACxD,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAY;QAC/B,MAAM,MAAM,GAAG,MAAM,YAAE,CAAC,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACvD,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,qBAAqB;QACzB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,YAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,wBAAwB;QAC5B,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,YAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACjE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CAAC,QAAiB;QACrC,IAAI,CAAC,UAAU,EAAE,CAAC;QAElB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;SAC1E;QACD,MAAM,MAAM,GAAG,YAAE,CAAC,qBAAqB,EAAE,CAAC;QAC1C,MAAM,YAAE,CAAC,KAAK,CACZ,eAAe,MAAM,IAAI,IAAA,sBAAW,EAClC,IAAI,CAAC,KAAK,CAAC,IAAI,CAChB,mBAAmB,IAAA,sBAAW,EAAC,IAAI,CAAC,IAAI,CAAC,KACxC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MACrB,YAAY,CACb,CAAC;QACF,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,cAAc,EAAE,CAAC;IAC3D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,SAAgB;QACnC,IAAI,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC;QACtC,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,KAAK,GAAG,WAAW,IAAA,sBAAW,EAAC,IAAI,CAAC,IAAI,CAAC,MAC3C,SAAS,CAAC,aACZ,GAAG,CAAC;QAEJ,MAAM,MAAM,GAAG,YAAE,CAAC,qBAAqB,EAAE,CAAC;QAC1C,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,MAAM,IAAI,KAAK,CACb,qBAAqB,SAAS,CAAC,IAAI,yBAAyB,CAC7D,CAAC;SACH;QACD,IAAI,SAAS,CAAC,WAAW,EAAE;YACzB,MAAM,YAAE,CAAC,KAAK,CACZ,eAAe,MAAM,IAAI,IAAA,sBAAW,EAClC,IAAI,CAAC,KAAK,CAAC,IAAI,CAChB,kBAAkB,IAAA,sBAAW,EAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAC9C,CAAC;YAEF,IAAI,IAAA,6BAAc,EAAC,SAAS,CAAC,IAAI,CAAC,EAAE;gBAClC,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ;oBACrC,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;gBACpD,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE;oBAC1C,GAAG,GAAG,WAAW,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;iBAC1D;aACF;YACD,MAAM,YAAE,CAAC,KAAK,CACZ,eAAe,MAAM,IAAI,IAAA,sBAAW,EAClC,IAAI,CAAC,KAAK,CAAC,IAAI,CAChB,iBAAiB,IAAA,sBAAW,EAC3B,IAAI,CAAC,IAAI,CACV,KAAK,YAAY,gBAAgB,GAAG,GAAG,CACzC,CAAC;SACH;aAAM,IACL,SAAS,CAAC,OAAO;YACjB,IAAI,CAAC,aAAa;YAClB,SAAS,CAAC,aAAa;YACvB,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,iBAAiB;gBACvC,CAAC,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC;gBACpC,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,iBAAiB;oBACvC,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC;gBACrC,SAAS,CAAC,aAAa,KAAK,IAAI,CAAC,aAAa,CAAC,EACjD;YACA,wEAAwE;YAExE,MAAM,YAAE,CAAC,KAAK,CACZ,eAAe,MAAM,IAAI,IAAA,sBAAW,EAClC,IAAI,CAAC,KAAK,CAAC,IAAI,CAChB,sBAAsB,IAAA,sBAAW,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAA,sBAAW,EAChE,IAAI,CAAC,IAAI,CACV,2BAA2B,IAAA,sBAAW,EACrC,SAAU,CAAC,KAAM,CAAC,IAAI,CACvB,IAAI,IAAA,sBAAW,EAAC,SAAS,CAAC,IAAI,CAAC,wBAAwB,IAAA,sBAAW,EACjE,SAAS,CAAC,IAAI,CACf,iBAAiB,MAAM,IAAI,IAAA,sBAAW,EACrC,SAAU,CAAC,aAAa,CACzB,QACC,SAAS,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EACnE,EAAE,CACH,CAAC;SACH;;YACC,MAAM,YAAE,CAAC,KAAK,CACZ,eAAe,MAAM,IAAI,IAAA,sBAAW,EAClC,IAAI,CAAC,KAAK,CAAC,IAAI,CAChB,mBAAmB,IAAA,sBAAW,EAC7B,IAAI,CAAC,IAAI,CACV,UAAU,YAAY,IAAI,KAAK,IAAI,GAAG,GAAG,CAC3C,CAAC;QACJ,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,cAAc,EAAE,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,UAAU;QACR,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;YACjC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;SACnD;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,CAAM;QACjB,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAEvC,MAAM,MAAM,GAAY,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;QAC7C,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE;YAC/B,MAAM,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;SACrB;QAED,IACE,OAAO,CAAC,CAAC,SAAS,KAAK,WAAW;YAClC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAClC;YACA,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACvE,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAC1E,MAAM,YAAE,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;SACpE;QAED,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ;YACvE,MAAM,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAE3C,IACE,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ;YAC5B,IAAI,CAAC,aAAa,KAAK,CAAC,CAAC,aAAa,EACtC;YACA,MAAM,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;SAC9B;QACD,IAAI,MAAM,EAAE;YACV,MAAM,MAAM,GAAG,YAAE,CAAC,qBAAqB,EAAE,CAAC;YAE1C,MAAM,YAAE,CAAC,KAAK,CACZ,eAAe,MAAM,IAAI,IAAA,sBAAW,EAClC,IAAI,CAAC,KAAM,CAAC,IAAI,CAAC,gBAAgB;aAClC,oBAAoB,IAAA,sBAAW,EAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,GAAG,CAC7D,CAAC;SACH;QAED,MAAM,YAAE,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1C,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAgB,EAAE,EAAE;YAClD,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,cAAc,EAAE,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACT,IAAI,IAAA,6BAAc,EAAC,IAAI,CAAC,IAAI,CAAC;YAC3B,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM;gBAClB,OAAO,CAAC,CAAM,EAAE,EAAE,CAAQ,IAAI,CAAC,IAAK,CAAC,MAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACxD,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM;gBACvB,OAAO,CAAC,CAAM,EAAE,EAAE,CAAQ,IAAI,CAAC,IAAK,CAAC,MAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACT,IAAI,IAAA,6BAAc,EAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO;YAChD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QAE3B,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,aAAa,KAAK,OAAO;YACvD,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;QAErD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM;QACV,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzD,MAAM,eAAe,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACvD,MAAM,eAAe,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC5D,IAAI,KAAK,CAAC,kBAAkB,KAAK,IAAI,CAAC,EAAE,EAAE;YACxC,MAAM,IAAI,kBAAkB,CAC1B,uBAAuB,IAAI,CAAC,IAAI,mCAAmC,KAAK,CAAC,IAAI,EAAE,CAChF,CAAC;SACH;QAED,MAAM,MAAM,GAAG,YAAE,CAAC,qBAAqB,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,YAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAE,CAAC,CAAC,CAAC,MAAM,YAAE,CAAC,SAAS,EAAE,CAAC;QACvD,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAE5B,MAAM,YAAE,CAAC,WAAW,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAEhE,IAAI,CAAC,YAAE,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE;YACrD,MAAM,MAAM,CAAC,KAAK,CAChB,eAAe,MAAM,IAAI,IAAA,sBAAW,EAClC,KAAK,CAAC,IAAI,CACX,kBAAkB,IAAA,sBAAW,EAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC7C,CAAC;YACF,IAAI,KAAK,CAAC,SAAS,EAAE;gBACnB,MAAM,MAAM,CAAC,KAAK,CAChB,eAAe,MAAM,IAAI,IAAA,sBAAW,EAClC,KAAK,CAAC,IAAI,CACX,2BAA2B,IAAA,sBAAW,EAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACtD,CAAC;aACH;SACF;QACD,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAE7B,IAAI,CAAC,YAAE,CAAC,QAAQ;YAAE,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,cAAc,EAAE,CAAC;IAC3D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,sBAAsB,CAAC,KAAY;QACvC,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,YAAE,CAAC,QAAQ,EAAE;YAChC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBACvB,MAAM,IAAI,KAAK,CACb,sEAAsE,CACvE,CAAC;aACH;YACD,MAAM,MAAM,GAAG,YAAE,CAAC,qBAAqB,EAAE,CAAC;YAE1C,MAAM,CAAC,GAAG,eAAe,MAAM,IAAI,IAAA,sBAAW,EAC5C,KAAK,CAAC,IAAI,CACX,qBAAqB,IAAA,sBAAW,EAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAA,sBAAW,EAC1D,IAAI,CAAC,IAAI,CACV,wBAAwB,IAAA,sBAAW,EAClC,IAAI,CAAC,IAAI,CACV,iBAAiB,MAAM,IAAI,IAAA,sBAAW,EAAC,IAAI,CAAC,aAAa,CAAC,SACzD,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAC9D,EAAE,CAAC;YACH,MAAM,YAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACnB;IACH,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,GAAqB,EACrB,OAAgB,KAAK,EACrB,EAAW;QAEX,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,MAAM,MAAM,GAAG,YAAE,CAAC,qBAAqB,EAAE,CAAC;QAE1C,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QACjC,MAAM,SAAS,GAAG,YAAE,CAAC,QAAQ,CAAC;QAC9B,oCAAoC;QACpC,+BAA+B;QAC/B,IAAI,CAAC,CAAC,OAAO,EAAE;YACb,yBAAyB;YACzB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;YAChE,IAAI,QAAQ,EAAE;gBACZ,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAC;gBAC7C,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,EAAS,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;gBAC5D,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC5B,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC;aACxB;SACF;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QACrD,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,MAAM,EAAE;YAC7B,IAAI,OAAO,CAAC,CAAC,UAAU,CAAC,OAAO,KAAK,WAAW,EAAE;gBAC/C,MAAM,CAAC,GAAG,eAAe,MAAM,IAAI,IAAA,sBAAW,EAC5C,KAAK,CAAC,IAAI,CACX,iBAAiB,IAAA,sBAAW,EAAC,CAAC,CAAC,IAAI,CAAC,KAAK,QAAQ,IAChD,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAC7D,EAAE,CAAC;gBACH,MAAM,YAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACnB;iBAAM,IAAI,SAAS,EAAE;gBACpB,+CAA+C;gBAC/C,MAAM,CAAC,GAAG,eAAe,MAAM,IAAI,IAAA,sBAAW,EAC5C,KAAK,CAAC,IAAI,CACX,iBAAiB,IAAA,sBAAW,EAAC,CAAC,CAAC,IAAI,CAAC,KAAK,QAAQ,IAChD,CAAC,CAAC,QAAQ;oBACR,CAAC,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;oBAC5D,CAAC,CAAC,EACN,EAAE,CAAC;gBACH,MAAM,YAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACnB;iBAAM;gBACL,MAAM,CAAC,GAAG,qCAAqC,IAAA,sBAAW,EAAC,CAAC,CAAC,IAAI,CAAC;kCACxC,IAAA,sBAAW,EAAC,CAAC,CAAC,IAAI,CAAC,WAC3C,CAAC,CAAC,aACJ;;oCAE4B,MAAM,IAAI,IAAA,sBAAW,EAC/C,KAAK,CAAC,IAAI,CACX,iBAAiB,IAAA,sBAAW,EAAC,CAAC,CAAC,IAAI,CAAC,KAAK,QAAQ,IAChD,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAC5B;;2BAEmB,CAAC;gBACpB,MAAM,YAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAClB,MAAM,YAAE,CAAC,KAAK,CAAC,oBAAoB,IAAA,sBAAW,EAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE;oBAC5D,CAAC,CAAC,UAAU,CAAC,OAAO;iBACrB,CAAC,CAAC;aACJ;SACF;QACD,CAAC,CAAC,EAAE,GAAG,EAAE;YACP,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,MAAM,YAAE,CAAC,MAAM,CAAC,YAAY,EAAE;gBAC5B,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAQ,CAAC,CAAC,IAAK,EAAE,IAAI;gBAC/C,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;gBACtD,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;gBAC1C,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;gBAC1C,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,MAAM,EAAE,CAAC,CAAC,MAAM;aACjB,CAAC,CAAC;QACP,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,cAAc,EAAE,CAAC;QAEzD,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE;YACpC,MAAM,YAAE,CAAC,KAAK,CACZ,eAAe,MAAM,IAAI,IAAA,sBAAW,EAClC,KAAK,CAAC,IAAI,CACX,0BAA0B,IAAA,sBAAW,EAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CACrE,CAAC;SACH;QAED,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,UAAU;YAAE,MAAM,CAAC,CAAC,qBAAqB,EAAE,CAAC;QAElE,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,MAAM,EAAE;YAC5B,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACxC,IAAI,KAAK,GAAG,CAAC,EAAE;gBACb,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAEvD,0BAA0B;gBAC1B,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,6CAA6C;aAC9E;SACF;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,WAA2B,EAAE,QAAiB;QACrE,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QAEjC,IAAI,CAAC,WAAW;YAAE,OAAO,EAAE,CAAC;QAC5B,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;YACrC,IAAI,CAAC,QAAQ;gBAAE,OAAO,WAAW,CAAC,EAAE,CAAC,CAAC;YACtC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC9C,OAAO,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;SAC/B;;YAAM,OAAO,WAAW,CAAC;IAC5B,CAAC;CACF;AAED,iBAAS,KAAK,CAAC"}
1
+ {"version":3,"file":"field.js","sourceRoot":"","sources":["../../models/field.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,7 @@ declare class File {
27
27
  user_id?: number;
28
28
  min_role_read: number;
29
29
  s3_store: boolean;
30
+ isDirectory: boolean;
30
31
  /**
31
32
  * Constructor
32
33
  * @param o {object}
@@ -39,13 +40,21 @@ declare class File {
39
40
  * @returns {Promise<*>}
40
41
  */
41
42
  static find(where?: Where, selectopts?: SelectOptions): Promise<Array<File>>;
43
+ static normalise(fpath: string): string;
44
+ static rootFolder(): Promise<File>;
45
+ static absPathToServePath(absPath: string | number): string;
46
+ static allDirectories(): Promise<Array<File>>;
47
+ static from_file_on_disk(name: string, absoluteFolder: string): Promise<File>;
42
48
  /**
43
49
  * Select one file descriptor
44
50
  *
45
51
  * @param where
46
52
  * @returns {Promise<File|null>}
47
53
  */
48
- static findOne(where: Where): Promise<File | null>;
54
+ static findOne(where: Where | string): Promise<File | null>;
55
+ static new_folder(name: string, inFolder?: string): Promise<undefined>;
56
+ get path_to_serve(): string | number;
57
+ get current_folder(): any;
49
58
  /**
50
59
  * Update File descriptor
51
60
  *
@@ -54,20 +63,25 @@ declare class File {
54
63
  * @returns {Promise<void>} no returns
55
64
  */
56
65
  static update(id: number, row: Row): Promise<void>;
66
+ set_role(min_role_read: number): Promise<void>;
67
+ set_user(user_id: number): Promise<void>;
68
+ rename(filenameIn: string): Promise<void>;
69
+ static update_table_references(from: string, to: string): Promise<void>;
70
+ move_to_dir(newFolder: string): Promise<void>;
57
71
  /**
58
72
  * Get absolute path to new file in db.connectObj.file_store.
59
73
  *
60
74
  * @param suggest - path to file inside file store. If undefined that autogenerated uudv4 is used.
61
75
  * @returns {string} - path to file
62
76
  */
63
- static get_new_path(suggest?: string): string;
77
+ static get_new_path(suggest?: string, renameIfExisting?: boolean): string;
64
78
  /**
65
79
  * Ensure that file_store path is physically exists in file system.
66
80
  * In reality just recursively creates full absolute path to db.connectObj.file_store.
67
81
  *
68
82
  * @returns {Promise<void>}
69
83
  */
70
- static ensure_file_store(): Promise<void>;
84
+ static ensure_file_store(tenant_name?: string): Promise<void>;
71
85
  /**
72
86
  * Create new file
73
87
  * @param file
@@ -81,17 +95,7 @@ declare class File {
81
95
  mv: Function;
82
96
  size: number;
83
97
  s3object?: boolean;
84
- }, user_id: number, min_role_read?: number): Promise<File>;
85
- /**
86
- * create a '_sc_files' entry from an existing file.
87
- * The old file will be moved to a new location.
88
- *
89
- * @param directory directory of existing file
90
- * @param name name of existing file
91
- * @param userId id of creating user
92
- * @returns the new File object
93
- */
94
- static from_existing_file(directory: string, name: string, userId: number): Promise<File | null>;
98
+ }, user_id: number, min_role_read?: number, folder?: string): Promise<File>;
95
99
  /**
96
100
  * Delete file
97
101
  * @returns {Promise<{error}>}
@@ -129,6 +133,7 @@ declare namespace File {
129
133
  mime_sub: string;
130
134
  min_role_read: number;
131
135
  s3_store?: boolean;
136
+ isDirectory?: boolean;
132
137
  };
133
138
  }
134
139
  declare type FileCfg = File.FileCfg;
@@ -1 +1 @@
1
- {"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../models/file.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAC;AAQ9E;;;;;;;;;;GAUG;AACH,cAAM,IAAI;IACR,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,IAAI,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAElB;;;OAGG;gBACS,CAAC,EAAE,OAAO;IAiBtB;;;;;OAKG;WACU,IAAI,CACf,KAAK,CAAC,EAAE,KAAK,EACb,UAAU,GAAE,aAAkB,GAC7B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAavB;;;;;OAKG;WACU,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAUxD;;;;;;OAMG;WACU,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxD;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM;IAY7C;;;;;OAKG;WAEU,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAS/C;;;;;;OAMG;WACU,cAAc,CACzB,IAAI,EAAE;QACJ,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,QAAQ,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,EACD,OAAO,EAAE,MAAM,EACf,aAAa,GAAE,MAAU,GACxB,OAAO,CAAC,IAAI,CAAC;IA2BhB;;;;;;;;OAQG;WACU,kBAAkB,CAC7B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM;IAehB;;;OAGG;IAEG,MAAM,CACV,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,GACvC,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAepC;;;OAGG;IACH,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED;;;;OAIG;WACU,MAAM,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAW9C;;;;OAIG;WACU,MAAM,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;CAiB1C;AAED,kBAAU,IAAI,CAAC;IACb,KAAY,OAAO,GAAG;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;QACpC,OAAO,EAAE,MAAM,CAAC;QAChB,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;CACH;AACD,aAAK,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;AAE5B,SAAS,IAAI,CAAC"}
1
+ {"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../models/file.ts"],"names":[],"mappings":"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"}