prostgles-server 2.0.134 → 2.0.135

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.
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilder.d.ts","sourceRoot":"","sources":["../lib/QueryBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryBuilder.d.ts","sourceRoot":"","sources":["../lib/QueryBuilder.ts"],"names":[],"mappings":"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"}
@@ -532,7 +532,7 @@ exports.FUNCTIONS = [
532
532
  if (!cols.length)
533
533
  throw "Cols are empty/invalid";
534
534
  if (typeof term !== "string")
535
- throw "No string term provided";
535
+ throw "Non string term provided: " + term;
536
536
  if (edgeTruncate !== undefined && (!Number.isInteger(edgeTruncate) || edgeTruncate < -1))
537
537
  throw "Invalid edgeTruncate. expecting a positive integer";
538
538
  if (typeof noFields !== "boolean")
@@ -587,22 +587,22 @@ exports.FUNCTIONS = [
587
587
  }
588
588
  else if (returnType === "object" || returnType === "boolean") {
589
589
  const hasChars = Boolean(rawTerm && /[a-z]/i.test(rawTerm));
590
- const _cols = cols.map(c => {
590
+ let validCols = cols.map(c => {
591
591
  const colInfo = allColumns.find(ac => ac.name === c);
592
592
  return {
593
593
  key: c,
594
594
  colInfo
595
595
  };
596
596
  })
597
- .filter(c => !c.colInfo || c.colInfo.udt_name !== "bytea")
598
- .filter(c => {
599
- var _a;
600
- /** Exclude numeric columns when the search tern contains a character */
601
- return !hasChars ||
602
- ((_a = c.colInfo) === null || _a === void 0 ? void 0 : _a.udt_name) &&
603
- DboBuilder_1.postgresToTsType(c.colInfo.udt_name) !== "number";
604
- });
597
+ .filter(c => c.colInfo && c.colInfo.udt_name !== "bytea");
598
+ let _cols = validCols.filter(c =>
599
+ /** Exclude numeric columns when the search tern contains a character */
600
+ !hasChars ||
601
+ DboBuilder_1.postgresToTsType(c.colInfo.udt_name) !== "number");
602
+ /** This will break GROUP BY (non-integer constant in GROUP BY) */
605
603
  if (!_cols.length) {
604
+ if (validCols.length && hasChars)
605
+ throw `You're searching the impossible: characters in numeric fields. Use this to prevent making such a request in future: /[a-z]/i.test(your_term) `;
606
606
  return (returnType === "boolean") ? "FALSE" : "NULL";
607
607
  }
608
608
  res = `CASE
@@ -1107,21 +1107,25 @@ function makeQuery(_this, q, depth = 0, joinFields = [], selectParams) {
1107
1107
  return jres;
1108
1108
  }));
1109
1109
  };
1110
+ const getGroupBy = (rootSelectItems, groupByItems) => {
1111
+ if (groupByItems.length) {
1112
+ /** Root Select column index number is used where possible to prevent "non-integer constant in GROUP BY" error */
1113
+ return `GROUP BY ` + groupByItems.map(gi => {
1114
+ const idx = rootSelectItems.findIndex(si => si.alias === gi.alias);
1115
+ if (idx < 0)
1116
+ throw `Could not find GROUP BY column ${gi.alias} in ROOT SELECT ${rootSelectItems.map(s => s.alias)}`;
1117
+ return idx + 1;
1118
+ }).join(", ");
1119
+ }
1120
+ return "";
1121
+ };
1110
1122
  /* Leaf query -> no joins -> return simple query */
1111
1123
  const aggs = q.select.filter(s => s.type === "aggregation");
1112
1124
  const nonAggs = q.select.filter(s => depth || s.selected).filter(s => s.type !== "aggregation");
1113
1125
  if (!joins.length) {
1114
1126
  /* Nested queries contain all fields to allow joining */
1115
- let
1116
- // select = q.select.filter(s => joinFields.includes(s.alias) || s.selected).map(s => {
1117
- // if(s.type === "aggregation"){
1118
- // /* Rename aggs to avoid collision with join cols */
1119
- // return s.getQuery(!depth? undefined : `agg_${s.alias}`) + " AS " + asName(s.alias);
1120
- // }
1121
- // return s.getQuery() + " AS " + asName(s.alias);
1122
- // }),
1123
- groupBy = "";
1124
- // console.log(select, q);
1127
+ let groupBy = "";
1128
+ const rootSelectItems = q.select.filter(s => joinFields.includes(s.getQuery()) || s.selected);
1125
1129
  /* If aggs exist need to set groupBy add joinFields into select */
1126
1130
  if (aggs.length || (selectParams === null || selectParams === void 0 ? void 0 : selectParams.groupBy)) {
1127
1131
  // const missingFields = joinFields.filter(jf => !q.select.find(s => s.type === "column" && s.alias === jf));
@@ -1130,17 +1134,18 @@ function makeQuery(_this, q, depth = 0, joinFields = [], selectParams) {
1130
1134
  // }
1131
1135
  if (nonAggs.length) {
1132
1136
  let groupByFields = nonAggs.filter(sf => !depth || joinFields.includes(sf.getQuery()));
1133
- if (groupByFields.length) {
1134
- groupBy = `GROUP BY ${groupByFields.map(sf => sf.type === "function" ? sf.getQuery() : prostgles_types_1.asName(sf.alias)).join(", ")}\n`;
1135
- }
1137
+ groupBy = getGroupBy(rootSelectItems, groupByFields);
1138
+ // if(groupByFields.length){
1139
+ // groupBy = `GROUP BY ${groupByFields.map(sf => sf.type === "function"? sf.getQuery() : asName(sf.alias)).join(", ")}\n`;
1140
+ // }
1136
1141
  }
1137
1142
  }
1138
1143
  // console.log(q.select, joinFields)
1139
- let fres = indJ(depth, [
1144
+ let simpleQuery = indJ(depth, [
1140
1145
  `-- 0. or 5. [leaf query] `
1141
1146
  /* Group by selected fields + any join fields */
1142
1147
  ,
1143
- `SELECT ` + q.select.filter(s => joinFields.includes(s.getQuery()) || s.selected).map(s => {
1148
+ `SELECT ` + rootSelectItems.map(s => {
1144
1149
  // return s.getQuery() + ((s.type !== "column")? (" AS " + s.alias) : "")
1145
1150
  if (s.type === "aggregation") {
1146
1151
  /* Rename aggs to avoid collision with join cols */
@@ -1158,7 +1163,7 @@ function makeQuery(_this, q, depth = 0, joinFields = [], selectParams) {
1158
1163
  !depth ? `OFFSET ${q.offset || 0} ` : null
1159
1164
  ].filter(v => v && (v + "").trim().length));
1160
1165
  // console.log(fres);
1161
- return fres;
1166
+ return simpleQuery;
1162
1167
  }
1163
1168
  else {
1164
1169
  // if(q.aggs && q.aggs && q.aggs.length) throw "Cannot join an aggregate";
@@ -1169,9 +1174,11 @@ function makeQuery(_this, q, depth = 0, joinFields = [], selectParams) {
1169
1174
  if (joins && joins.length && (aggs.length || selectParams.groupBy))
1170
1175
  throw "Joins within Aggs dissallowed";
1171
1176
  // if(q.selectFuncs.length) throw "Functions within select not allowed in joins yet. -> " + q.selectFuncs.map(s => s.alias).join(", ");
1177
+ const rootSelectItems = q.select.filter(s => depth || s.selected);
1172
1178
  let rootGroupBy;
1173
1179
  if ((selectParams.groupBy || aggs.length || q.joins && q.joins.length) && nonAggs.length) {
1174
1180
  // console.log({ aggs, nonAggs, joins: q.joins })
1181
+ // rootGroupBy = getGroupBy(rootSelectItems, depth? rootSelectItems : nonAggs) + (aggs?.length? "" : ", ctid")
1175
1182
  rootGroupBy = `GROUP BY ${(depth ?
1176
1183
  q.allFields.map(f => prostgles_types_1.asName(f)) :
1177
1184
  nonAggs.map(s => s.type === "function" ? s.getQuery() : prostgles_types_1.asName(s.alias))).concat((aggs && aggs.length) ?
@@ -1179,11 +1186,12 @@ function makeQuery(_this, q, depth = 0, joinFields = [], selectParams) {
1179
1186
  [`ctid`]).filter(s => s).join(", ")} `;
1180
1187
  }
1181
1188
  /* Joined query */
1182
- const rootSelect = [
1189
+ const joinedQuery = [
1183
1190
  " \n",
1184
1191
  `-- 0. [joined root] `,
1185
1192
  "SELECT ",
1186
- ...selectArrComma(q.select.filter(s => depth || s.selected).map(s => s.getQuery() + " AS " + prostgles_types_1.asName(s.alias)).concat(joins.map((j, i) => {
1193
+ ...selectArrComma(rootSelectItems.map(s => s.getQuery() + " AS " + prostgles_types_1.asName(s.alias)).concat(joins.map((j, i) => {
1194
+ /** Apply LIMIT to joined items */
1187
1195
  const jsq = `json_agg(${prefJCAN(j, `json`)}::jsonb ORDER BY ${prefJCAN(j, `rowid_sorted`)}) FILTER (WHERE ${prefJCAN(j, `limit`)} <= ${j.limit} AND ${prefJCAN(j, `dupes_rowid`)} = 1 AND ${prefJCAN(j, `json`)} IS NOT NULL)`;
1188
1196
  const resAlias = prostgles_types_1.asName(j.tableAlias || j.table);
1189
1197
  // If limit = 1 then return a single json object (first one)
@@ -1225,7 +1233,7 @@ function makeQuery(_this, q, depth = 0, joinFields = [], selectParams) {
1225
1233
  "-- EOF 0. joined root",
1226
1234
  " \n"
1227
1235
  ].filter(v => v);
1228
- let res = indJ(depth, rootSelect);
1236
+ let res = indJ(depth, joinedQuery);
1229
1237
  // res = indent(res, depth);
1230
1238
  // console.log(res);
1231
1239
  return res;
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilder.js","sourceRoot":"","sources":["../lib/QueryBuilder.ts"],"names":[],"mappings":";AACA;;;gGAGgG;;;AAEhG,6CAAoH;AACpH,2CAA8C;AAC9C,qDAAyL;AACzL,mCAA8B;AAkCjB,QAAA,WAAW,GAAG,CAAC,KAAa,EAAE,UAAmB,EAAE,EAAE;IAChE,IAAI,MAAM,GAAG,wBAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,IAAG,UAAU;QAAE,OAAO,wBAAM,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC;IACxD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAA;AAoDD,MAAM,WAAW,GAAG,IAAI,CAAC;AACzB,MAAM,OAAO,GAAG,CAAC,CAAM,EAAE,SAAiB,EAAE,EAAE,EAAE,CAAC,gBAAG,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAEnF,MAAM,SAAS;AACb;;EAEE;AACF;IACE,QAAQ;IACR,4CAA4C;IAC5C,SAAS;IACT,kBAAkB;IAClB,uBAAuB;IACvB,EAAE;CACH,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,IAAI,EAAE,cAAc,GAAG,CAAC,IAAI,CAAA,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChD,WAAW,EAAE,oHAAoH;IACjI,IAAI,EAAE,UAAwB;IAC9B,YAAY,EAAE,IAAI;IAClB,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,CAAC,IAAW,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrC,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;QAC7C,MAAM,GAAG,GAAG,wBAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,YAAY,CAAC;QACzC,IAAI,KAAK,GAAG,IAAI,CAAA,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE7C,MAAM,WAAW,GAAG,qDAAmC,CAAC;QAExD,mCAAmC;QACnC,IAAG,0BAAa,CAAC,IAAI,CAAC,EAAC;YACrB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAG,CAAC,IAAI,CAAC,MAAM;gBAAE,MAAM,SAAS,CAAC;YACjC,IAAG,IAAI,CAAC,MAAM,KAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAAE,MAAM,wDAAwD,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/I,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAChB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAE9B,mBAAmB;SAClB;aAAM,IAAG,OAAO,IAAI,KAAK,QAAQ,EAAE;YAClC,IAAI,GAAG,gBAAG,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;SAC7C;;YAAM,MAAM,4EAA4E,CAAC;QAE1F,MAAM,GAAG,GAAE,eAAe,KAAK,IAAI,GAAG,WAAW,IAAI,oBAAoB,CAAA;QACzE,mBAAmB;QAEnB,OAAO,GAAG,CAAA;IACZ,CAAC;CACF,CAAC,CAAC,CAAC;AAEN,IAAI,aAAa,GAAmB;IAChC;QACE,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE;;;;OAIZ;KACF;IACD;QACE,KAAK,EAAE,KAAK;QACZ,WAAW,EAAE;6WAC0V;KACxW;IACD;QACE,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE;;;OAGZ;KACF,EAAC;QACA,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE;;OAEZ;KACF,EAAC;QACA,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,yRAAyR;KACvS;CACF,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;IACjC,IAAI,EAAE,GAAG,GAAG,KAAK;IACjB,WAAW;IACX,IAAI,EAAE,UAAwB;IAC9B,YAAY,EAAE,IAAI;IAClB,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,CAAC,IAAW,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrC,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,EAClB,IAAI,GAAG,GAAG,EAAE,GAAG,MAAM,GAAG,KAAK,6HAA6H,CAAA,CAAC,CAAC,CAAC;QAE/J,IAAG,CAAC,0BAAa,CAAC,IAAI,CAAC;YAAE,IAAI,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAErD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,IAAI,EAC3B,OAAO,EAAE,IAAI,EAAE,YAAY,EAC3B,QAAQ,EAAE,QAAQ,GAAG,0CAA0C,EAC/D,KAAK,EACN,GAAG,IAAI,CAAC;QACT,IAAI,KAAK,GAAG,EAAE,EAAE,WAAW,GAAG,EAAE,CAAC;QAEjC,IAAG,OAAO,IAAI,KAAK,QAAQ,EAAC;YAC1B,KAAK,GAAG,mBAAmB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;SAC7C;aAAM,IAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAC;YAClD,KAAK,GAAG,YAAY,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;SACtD;aAAM,IAAG,0BAAa,CAAC,OAAO,CAAC,EAAC;YAC/B,KAAK,GAAG,sBAAsB,OAAO,GAAG,CAAC;SAC1C;;YAAM,IAAI,EAAE,CAAC;QAEd,IAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAC;YACvB,KAAK,GAAG,cAAc,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;SAClD;QAED,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,KAAK,WAAW,CAAC;QAC/C,IAAI,SAAS,GAAG,SAAS,CAAA,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC;QAExD;;;WAGG;QACH,IAAG,KAAK,KAAK,aAAa,EAAC;YAEzB,IAAG,OAAO,YAAY,KAAK,SAAS,EAAC;gBACnC,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;aAC5C;YAED,OAAO,GAAG,CAAC,SAAS,IAAI,YAAY,CAAC,CAAA,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC;YACpE,SAAS,GAAG,CAAC,SAAS,IAAI,YAAY,CAAC,CAAA,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC;YAExE;;;eAGG;SACF;aAAM,IAAG,KAAK,KAAK,YAAY,EAAC;YAC/B,OAAO,GAAG,SAAS,CAAA,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC;YAClD,SAAS,GAAG,SAAS,CAAA,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC;YAEpD,IAAG,OAAO,QAAQ,KAAK,QAAQ;gBAAE,MAAM,oDAAoD,CAAC;YAC5F,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;YAGzC;;eAEG;SACF;aAAM,IAAG,KAAK,KAAK,qBAAqB,EAAC;YACxC,OAAO,GAAG,YAAY,CAAC;YACvB,SAAS,GAAG,YAAY,CAAC;YACzB,IAAG,OAAO,QAAQ,KAAK,QAAQ;gBAAE,MAAM,oDAAoD,CAAC;YAC5F,WAAW,GAAG,KAAK,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAA;YAIxC;;eAEG;SACF;aAAM,IAAG,KAAK,KAAK,mBAAmB,EAAC;YACtC,OAAO,GAAG,YAAY,CAAC;YACvB,SAAS,GAAG,YAAY,CAAC;YACzB,WAAW,GAAG,EAAE,CAAC;YAEnB;;;eAGG;SACF;aAAM,IAAG,KAAK,KAAK,KAAK,EAAC;YACxB,OAAO,GAAG,SAAS,CAAA,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC;YAClD,SAAS,GAAG,SAAS,CAAA,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC;YACpD,MAAM,CAAC,GAAG,gBAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,mBAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,OAAO,QAAQ,KAAK,GAAG,SAAS,EAAE,CAAC,CAAC;YAClG,IAAG,KAAK;gBAAE,MAAM,CAAC,CAAC;YAClB,OAAO,CAAC,CAAC;SACV;QACD,MAAM,CAAC,GAAG,gBAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,IAAI,mBAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,OAAO,MAAM,KAAK,GAAG,SAAS,IAAI,WAAW,GAAG,CAAC,CAAC;QACzH,IAAG,KAAK;YAAE,MAAM,CAAC,CAAC;QAClB,OAAO,CAAC,CAAC;IACX,CAAC;CACF,CAAC,CAAC,CAAC;AAEJ,aAAa,GAAG,aAAa,CAAC,MAAM,CAClC;IACE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc;IAChF,cAAc,EAAE,aAAa;IAC7B,eAAe;CAChB;KACA,GAAG,CAAC,KAAK,CAAC,EAAE;IACX,MAAM,GAAG,GAAiB;QACxB,IAAI,EAAE,GAAG,GAAG,KAAK;QACjB,WAAW,EAAE,yEAAyE;QACtF,IAAI,EAAE,UAAU;QAChB,YAAY,EAAE,IAAI;QAClB,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,CAAC,IAAW,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrC,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;YAChD,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAChC,IAAG,SAAS,CAAC,MAAM;gBAAE,SAAS,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtF,MAAM,YAAY,GAAG,mBAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,YAAY,CAAC;YACrE,IAAI,MAAM,GAAG,gBAAG,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,GAAG,YAAY,GAAG,SAAS,GAAG,CAAE,KAAK,KAAK,cAAc,CAAA,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAE,CAAC,CAAC;YACpH,IAAG,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,EAAC;gBACtE,IAAI,CAAC,GAAG,gBAAgB,MAAM,UAAU,CAAC;gBACzC,OAAO,CAAC,CAAC;aACV;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAA;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC,CACH,CAAC;AAGF,aAAa,GAAG,aAAa,CAAC,MAAM,CAClC,CAAC,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC;KACrH,GAAG,CAAC,KAAK,CAAC,EAAE;IACX,MAAM,GAAG,GAAiB;QACxB,IAAI,EAAE,GAAG,GAAG,KAAK;QACjB,WAAW,EAAE;;0GAEqF;QAClG,IAAI,EAAE,aAAa;QACnB,YAAY,EAAE,IAAI;QAClB,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,CAAC,IAAW,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrC,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;YAChD,MAAM,YAAY,GAAG,mBAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,YAAY,CAAC;YACrE,IAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAC;gBAC1B,OAAO,GAAG,KAAK,IAAI,YAAY,GAAG,CAAC;aACpC;YACD,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,eAAe,YAAY,IAAI,CAAC;QAC9F,CAAC;KACF,CAAA;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC,CACH,CAAC;AAEJ;;EAEE;AACW,QAAA,SAAS,GAAmB;IAEvC,UAAU;IACV;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,uDAAuD;QACpE,IAAI,EAAE,UAAU;QAChB,YAAY,EAAE,KAAK;QACnB,OAAO,EAAE,WAAW;QACpB,SAAS,EAAE,CAAC,IAAW,EAAE,EAAE,CAAC,IAAI;QAChC,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;YAChD,MAAM,CAAC,GAAG,gBAAG,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,GAAG,mBAAW,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,cAAc,CAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;YACxI,OAAO,CAAC,CAAA;QACV,CAAC;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,6EAA6E;QAC1F,IAAI,EAAE,aAAa;QACnB,YAAY,EAAE,KAAK;QACnB,OAAO,EAAE,WAAW;QACpB,SAAS,EAAE,CAAC,IAAW,EAAE,EAAE,CAAC,IAAI;QAChC,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;YAChD,MAAM,CAAC,GAAG,gBAAG,CAAC,EAAE,CAAC,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,GAAG,mBAAW,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,cAAc,CAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC;YACzJ,OAAO,CAAC,CAAA;QACV,CAAC;KACF;IAED;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,6DAA6D;QAC1E,IAAI,EAAE,UAAU;QAChB,YAAY,EAAE,KAAK;QACnB,OAAO,EAAE,WAAW;QACpB,SAAS,EAAE,CAAC,IAAW,EAAE,EAAE,CAAC,IAAI;QAChC,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;YAChD,MAAM,CAAC,GAAG,gBAAG,CAAC,EAAE,CAAC,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,GAAG,mBAAW,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,yBAAyB,CAAC,CAAC;YACnK,OAAO,CAAC,CAAA;QACV,CAAC;KACF;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,gFAAgF;QAC7F,IAAI,EAAE,aAAa;QACnB,YAAY,EAAE,KAAK;QACnB,OAAO,EAAE,WAAW;QACpB,SAAS,EAAE,CAAC,IAAW,EAAE,EAAE,CAAC,IAAI;QAChC,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;YAChD,MAAM,CAAC,GAAG,gBAAG,CAAC,EAAE,CAAC,MAAM,CAAC,2BAA2B,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,GAAG,mBAAW,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,8BAA8B,CAAC,CAAC;YAClL,OAAO,CAAC,CAAA;QACV,CAAC;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,6DAA6D;QAC1E,IAAI,EAAE,UAAU;QAChB,YAAY,EAAE,KAAK;QACnB,OAAO,EAAE,WAAW;QACpB,SAAS,EAAE,CAAC,IAAW,EAAE,EAAE,CAAC,IAAI;QAChC,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;YAChD,MAAM,CAAC,GAAG,gBAAG,CAAC,EAAE,CAAC,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,GAAG,mBAAW,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,yBAAyB,CAAC,CAAC;YACnK,OAAO,CAAC,CAAA;QACV,CAAC;KACF;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,gFAAgF;QAC7F,IAAI,EAAE,aAAa;QACnB,YAAY,EAAE,KAAK;QACnB,OAAO,EAAE,WAAW;QACpB,SAAS,EAAE,CAAC,IAAW,EAAE,EAAE,CAAC,IAAI;QAChC,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;YAChD,MAAM,CAAC,GAAG,gBAAG,CAAC,EAAE,CAAC,MAAM,CAAC,2BAA2B,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,GAAG,mBAAW,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,8BAA8B,CAAC,CAAC;YAClL,OAAO,CAAC,CAAA;QACV,CAAC;KACF;IAED,GAAG,SAAS;IAEZ,GAAG,aAAa;IAEhB;QACE,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,sCAAsC;QACnD,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,CAAC;QACV,YAAY,EAAE,KAAK;QACnB,SAAS,EAAE,CAAC,IAAW,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrC,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;YAChD,OAAO,gBAAG,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,GAAG,mBAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxF,CAAC;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,4CAA4C;QACzD,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,CAAC;QACV,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,CAAC,IAAW,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrC,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;YAChD,OAAO,gBAAG,CAAC,EAAE,CAAC,MAAM,CAAC,yBAAyB,GAAG,mBAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAA,aAAa;QACrH,CAAC;KACF;IACD;QACE,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,sCAAsC;QACnD,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,CAAC;QACV,YAAY,EAAE,KAAK;QACnB,SAAS,EAAE,CAAC,IAAW,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrC,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;YAChD,OAAO,gBAAG,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,mBAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzF,CAAC;KACF;IAED;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,oGAAoG;QACjH,YAAY,EAAE,KAAK;QACnB,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,CAAC,IAAW,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrC,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;YAChD,IAAG,IAAI,CAAC,MAAM,KAAK,CAAC,EAAC;gBACnB,OAAO,gBAAG,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,GAAG,mBAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAChH;YACD,OAAO,gBAAG,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,GAAG,mBAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpG,CAAC;KACF;IAED;;OAEG;IACH,GAAG;QACD,aAAa;QACb,aAAa;QACb,QAAQ;QACR,QAAQ;QACR,MAAM;QACN,KAAK;QACL,MAAM;QACN,OAAO;QACP,SAAS;QACT,MAAM;QACN,QAAQ;QACR,SAAS;QACT,YAAY;KACb,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAG,CAAC,CAAC;SACjC,MAAM,CAAC;QACN,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAG;QAC1B,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAG;QAC1B,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAG;QAC1B,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAG;QACzB,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAG;QACzB,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAG;QACzB,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAG;QAC5B,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAG;QAC5B,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAG;QAC3B,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAG;QAC3B,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAG;QAC3B,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAG;QAC3B,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAG;QAC3B,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAG;QAC5B,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAG;QAC5B,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAG;QAC5B,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAG;QAC3B,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAG;QAC3B,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAG;QAC3B,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAG;QAC3B,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAG;QAC3B,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAG;QAE3B,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,EAAG;QAClC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,EAAG;QAClC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,EAAG;QAClC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAG;QACjC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAG;QACjC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAG;QACjC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAG;QAChC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAG;KACjC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACzB,IAAI,EAAE,cAAc,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI;QACzC,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,sDAAsD,GAAG,IAAI,EAAE,IAAI,IAAI,GAAG;QACvF,YAAY,EAAE,IAAI;QAClB,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,CAAC,IAAW,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrC,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;YAChD,MAAM,GAAG,GAAG,mBAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;YAC7C,IAAG,CAAC,GAAG;gBAAE,OAAO,cAAc,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;YACvD,MAAM,OAAO,GAAG;gBACd,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,QAAQ;aACjB,CAAC;YAEF,IAAI,GAAG,GAAG,eAAe,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,GAAG,iBAAiB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,GAAG,YAAY,GAAG,eAAe,OAAO,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;YAC5K,oBAAoB;YACpB,OAAO,GAAG,CAAC;QACb,CAAC;KACe,CAAA,CAAC;IAEnB,0BAA0B;IAC1B,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC9C,IAAI,EAAE,GAAG,GAAG,QAAQ;QACpB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,mCAAmC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAA,CAAC,CAAC,+CAA+C,CAAC,CAAC,CAAC,gCAAgC,CAAE,GAAG,sBAAsB;QAC5L,YAAY,EAAE,KAAK;QACnB,SAAS,EAAE,CAAC,IAAW,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrC,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;YAChD,OAAO,GAAG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,mBAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC;QACjF,CAAC;KACe,CAAA,CAAC;IAEnB,sBAAsB;IACtB,GAAG;QACD,CAAC,MAAM,EAAE,YAAY,CAAC;QACtB,CAAC,UAAU,EAAE,oBAAoB,CAAC;QAClC,CAAC,UAAU,EAAE,oBAAoB,CAAC;QAElC,CAAC,MAAM,EAAE,SAAS,CAAC;QACnB,CAAC,QAAQ,EAAE,OAAO,CAAC;QACnB,CAAC,QAAQ,EAAE,UAAU,CAAC;QAEtB,CAAC,IAAI,EAAE,IAAI,CAAC;QACZ,CAAC,IAAI,EAAE,IAAI,CAAC;QACZ,CAAC,KAAK,EAAE,KAAK,CAAC;QACd,CAAC,KAAK,EAAE,KAAK,CAAC;QAEd,CAAC,OAAO,EAAE,IAAI,CAAC;QACf,CAAC,IAAI,EAAE,IAAI,CAAC;QAEZ,CAAC,OAAO,EAAE,GAAG,CAAC;QACd,CAAC,GAAG,EAAE,GAAG,CAAC;QACV,CAAC,KAAK,EAAE,IAAI,CAAC;QACb,CAAC,IAAI,EAAE,IAAI,CAAC;QAEZ,CAAC,SAAS,EAAE,IAAI,CAAC;QACjB,CAAC,IAAI,EAAE,IAAI,CAAC;QAEZ,CAAC,KAAK,EAAE,KAAK,CAAC;QACd,CAAC,KAAK,EAAE,KAAK,CAAC;QACd,CAAC,OAAO,EAAE,OAAO,CAAC;QAClB,CAAC,OAAO,EAAE,OAAO,CAAC;QAElB,CAAC,MAAM,EAAE,MAAM,CAAC;QAChB,CAAC,MAAM,EAAE,MAAM,CAAC;QAChB,CAAC,IAAI,EAAE,IAAI,CAAC;QACZ,CAAC,IAAI,EAAE,IAAI,CAAC;KACb,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1B,IAAI,EAAE,GAAG,GAAG,QAAQ;QACpB,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,+CAA+C,GAAG,GAAG;QAClE,YAAY,EAAE,IAAI;QAClB,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,CAAC,IAAW,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrC,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;YAChD,OAAO,gBAAG,CAAC,EAAE,CAAC,MAAM,CAAC,eAAe,GAAG,mBAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACtG,CAAC;KACe,CAAA,CAAC;IAEnB,2BAA2B;IAC3B,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC7H,IAAI,EAAE,GAAG,GAAG,QAAQ;QACpB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,CAAC;QACV,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,CAAC,IAAW,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrC,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;YAChD,OAAO,QAAQ,GAAG,GAAG,GAAG,mBAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,GAAG,CAAC;QACjE,CAAC;KACe,CAAA,CAAC;IAGnB,8BAA8B;IAC9B,GAAG,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,EAAE,GAAG,GAAG,QAAQ;QACpB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,CAAC;QACV,YAAY,EAAE,KAAK;QACnB,SAAS,EAAE,CAAC,IAAW,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrC,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;YAChD,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EACvB,EAAE,GAAG,mBAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;YACxC,IAAG,QAAQ,KAAK,gBAAgB,EAAC;gBAC/B,EAAE,GAAG,SAAS,EAAE,SAAS,CAAC;gBAC1B,EAAE,GAAG,SAAS,EAAE,SAAS,CAAC;aAC3B;YACD,OAAO,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC;QACtC,CAAC;KACe,CAAA,CAAC;IAEnB;;;;SAIK;IACL;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,gLAAgL;QAC7L,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,CAAC;QACV,YAAY,EAAE,IAAI;QAClB,kBAAkB,EAAE,IAAI;QACxB,SAAS,EAAE,CAAC,IAAW,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QACnC,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE;YAE5D,MAAM,IAAI,GAAG,wBAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;YAC1E,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,EAAE,YAAY,EAAE,QAAQ,GAAG,KAAK,EAAE,UAAU,EAAE,SAAS,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACtF,IAAG,CAAC,yBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC;gBACnB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClC,MAAM,SAAS,GAAG,CAAC,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;gBAC1E,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1D,IAAG,QAAQ,CAAC,MAAM;oBAAE,MAAM,kEAAkE,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACrH;YACD,IAAG,CAAC,IAAI,CAAC,MAAM;gBAAE,MAAM,wBAAwB,CAAC;YAChD,IAAG,OAAO,IAAI,KAAK,QAAQ;gBAAE,MAAM,yBAAyB,CAAC;YAC7D,IAAG,YAAY,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC;gBAAE,MAAM,oDAAoD,CAAC;YACpJ,IAAG,OAAO,QAAQ,KAAK,SAAS;gBAAE,MAAM,qCAAqC,CAAC;YAC9E,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;YACpD,IAAG,UAAU,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAC;gBAClD,MAAM,kCAAkC,YAAY,EAAE,CAAA;aACvD;YAED,MAAM,oBAAoB,GAAG,CAAC,OAAe,EAAE,KAAa,EAAE,EAAE;gBAC9D,IAAI,SAAS,GAAG,OAAO,EAAE,IAAI,GAAG,KAAK,CAAC;gBACtC,IAAG,CAAC,SAAS,EAAE;oBACb,SAAS,GAAG,SAAS,OAAO,GAAG,CAAA;oBAC/B,IAAI,GAAG,SAAS,IAAI,GAAG,CAAA;iBACxB;gBACD,IAAI,OAAO,GAAG,UAAU,OAAO,iBAAiB,IAAI,OAAO,SAAS,SAAS,EAC3E,QAAQ,GAAG,UAAU,OAAO,cAAc,IAAI,OAAO,SAAS,cAAc,IAAI,KAAK,CAAC;gBACxF,IAAG,YAAY,EAAC;oBACd,OAAO,GAAG,SAAS,OAAO,KAAK,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC;oBACxD,QAAQ,GAAG,QAAQ,QAAQ,KAAK,OAAO,CAAC,YAAY,CAAC,GAAG,CAAA;iBACzD;gBACD,OAAO;+BACgB,IAAI,OAAO,SAAS,aAAa,IAAI;;2BAEzC,OAAO;;iCAED,OAAO,cAAc,IAAI,OAAO,SAAS,aAAa,IAAI;;0BAEjE,QAAQ;;;qCAGG,OAAO;;SAEnC,CAAC;YACJ,CAAC,CAAA;YAED,IAAI,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA,GAAG,QAAQ,CAAA,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,aAAa,mBAAW,CAAC,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;YACjK,IAAI,GAAG,GAAG,MAAM,CAAC;YACjB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YACrB,IAAG,CAAC,SAAS,EAAE;gBACb,GAAG,GAAG,OAAO,GAAG,GAAG,CAAC;gBACpB,IAAI,GAAG,SAAS,IAAI,GAAG,CAAA;aACxB;YAED,IAAI,OAAO,GAAG,UAAU,MAAM,iBAAiB,IAAI,OAAO,GAAG,SAAS,EACpE,QAAQ,GAAG,UAAU,MAAM,cAAc,IAAI,OAAO,GAAG,cAAc,IAAI,KAAK,CAAC;YACjF,IAAG,YAAY,EAAC;gBACd,OAAO,GAAG,SAAS,OAAO,KAAK,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC;gBACxD,QAAQ,GAAG,QAAQ,QAAQ,KAAK,OAAO,CAAC,YAAY,CAAC,GAAG,CAAA;aACzD;YAED,oBAAoB;YACpB,IAAI,GAAG,GAAG,EAAE,CAAA;YACZ,IAAG,UAAU,KAAK,OAAO,EAAC;gBACxB,GAAG,GAAG,sBAAsB,IAAI,OAAO,GAAG,uBAAuB,IAAI,OAAO,GAAG,mBAAmB,CAAC;gBAErG,uCAAuC;gBACvC,gFAAgF;aAE/E;iBAAM,IAAG,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,SAAS,EAAC;gBAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,IAAK,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;oBACzB,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;oBACrD,OAAO;wBACL,GAAG,EAAE,CAAC;wBACN,OAAO;qBACR,CAAA;gBACH,CAAC,CAAC;qBACD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;qBACzD,MAAM,CAAC,CAAC,CAAC,EAAE;;oBACV,wEAAwE;oBACxE,OAAA,CAAC,QAAQ;wBACT,OAAA,CAAC,CAAC,OAAO,0CAAE,QAAQ;4BACnB,6BAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAA;iBAAA,CAClD,CAAC;gBACF,IAAG,CAAC,KAAK,CAAC,MAAM,EAAC;oBACf,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAA,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAA;iBACpD;gBACD,GAAG,GAAG;YACF,KAAK;qBACL,GAAG,CAAC,CAAC,CAAC,EAAE;;oBACR,MAAM,cAAc,GAAG,mBAAW,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;oBACrD,IAAI,SAAS,GAAG,GAAG,cAAc,QAAQ,CAAC;oBAC1C,MAAM,QAAQ,SAAG,CAAC,CAAC,OAAO,0CAAE,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;oBAC7D,IAAG,QAAQ,IAAI,OAAA,CAAC,CAAC,OAAO,0CAAE,QAAQ,MAAK,MAAM,EAAC;wBAC5C,SAAS,GAAG,eAAe,cAAc;;gBAEvC,cAAc;gBACd,QAAQ,CAAA,CAAC,CAAC,wBAAwB,cAAc,YAAY,CAAA,CAAC,CAAC,EAAE;+BACjD,cAAc;sCACP,cAAc;uCACb,cAAc;qBAChC,CAAA;qBACR;oBACD,IAAI,MAAM,GAAG,YAAY,SAAS,OAAO,CAAC,CAAC,sCAAsC;oBACjF,IAAG,UAAU,KAAK,SAAS,EAAC;wBAC1B,OAAO;wBACG,MAAM,IAAI,SAAS,CAAA,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,GAAG,OAAO,GAAG,GAAG,CAAC;;iBAE5E,CAAA;qBACJ;oBACD,OAAO;sBACG,MAAM,IAAI,SAAS,CAAA,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,GAAG,OAAO,GAAG,GAAG,CAAC;;oBAEvE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;oBACd,oBAAoB,CACpB,MAAM,EACN,IAAI,CACL;;eAEJ,CAAA;gBACL,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;iBACL,CAAC,UAAU,KAAK,SAAS,CAAC,CAAA,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;;YAEjD,CAAC;gBAEL,mBAAmB;aACpB;iBAAM;gBACL,4FAA4F;gBAC5F,GAAG,GAAG,sBAAsB,IAAI,OAAO,GAAG,aAAa,IAAI;qBAC9C,OAAO;;2BAED,MAAM,cAAc,IAAI,OAAO,GAAG,aAAa,IAAI;;oBAE1D,QAAQ;uCACW,MAAM,eAAe,CAAC;aAEtD;YAED,OAAO,GAAG,CAAC;QACb,CAAC;KACF;IAED,UAAU;IACV,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC3G,IAAI,EAAE,GAAG,GAAG,OAAO;QACnB,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,CAAC;QACV,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,CAAC,IAAW,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrC,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;YAChD,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,IAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAC;gBACjB,SAAS,GAAI,gBAAG,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;aACtD;YACD,OAAO,OAAO,GAAG,GAAG,GAAG,mBAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,GAAG,SAAS,GAAG,CAAC;QAC5E,CAAC;KACe,CAAA,CAAC;IAEnB,eAAe;IACf;QACE,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,6BAA6B;QAC1C,YAAY,EAAE,IAAI;QAClB,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,CAAC,IAAW,EAAE,EAAE,CAAC,EAAE;QAC9B,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;YAChD,OAAO,UAAU,CAAC;QACpB,CAAC;KACc;IACjB;QACE,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,CAAC;QACV,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,CAAC,IAAW,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrC,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;YAChD,MAAM,GAAG,GAAG,mBAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;YAC7C,OAAO,kBAAkB,GAAG,WAAW,GAAG,kBAAkB,GAAG,eAAe,CAAA;QAChF,CAAC;KACc;CAClB,CAAC;AAEF,oHAAoH;AACvG,QAAA,eAAe,GAAgB;IAE1C;;OAEG;IACH;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,UAAU;QAChB,+CAA+C;QAC/C,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE;YACrD,OAAO,MAAM;gBACX,aAAa;oBAEX,yCAAyC;oBACzC,uCAAuC;qBACtC,IAAI,EAAE;qBACN,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,mBAAW,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;qBACpC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,gBAAgB,CAAC;qBAC3C,IAAI,CAAC,MAAM,CAAC;gBACjB,GAAG,CAAC;QACN,CAAC;KACF;IACD,KAAK;IACL,kBAAkB;IAClB,sBAAsB;IACtB,oDAAoD;IACpD,8DAA8D;IAC9D,8CAA8C;IAC9C,MAAM;IACN,IAAI;CACL,CAAC;AAEF,MAAa,iBAAiB;IAY5B,YAAY,MAAyJ;QAVrK,WAAM,GAAiB,EAAE,CAAC;QA6BlB,eAAU,GAAG,CAAC,CAAS,EAAE,EAAE;YACjC,IAAG,CAAC,IAAI,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAC;gBAClD,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,EAAE,IAAI,CAAC,8BAA8B,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,8BAA8B,CAAC,CAAA;gBACvH,MAAM,QAAQ,GAAG,CAAC,GAAG,4BAA4B,CAAC;aACnD;YACD,OAAO,CAAC,CAAC;QACX,CAAC,CAAA;QAEO,YAAO,GAAG,CAAC,IAAgB,EAAE,EAAE;YACrC,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAC9B,wBAAwB;YACxB,IAAG,MAAM,KAAK,GAAG;gBAAE,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA,yCAAyC;YACjG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAE5B,IAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;gBAAE,MAAM,sCAAsC,IAAI,CAAC,KAAK,iDAAiD,CAAC;YAC1J,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC,CAAA;QAEO,sBAAiB,GAAG,CAAC,QAAgB,EAAE,IAAW,EAAE,KAAa,EAAE,EAAE;YAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;YAC9D,IAAG,CAAC,OAAO,EAAE;gBACX,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBACxJ,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,MAAM,CAAA,CAAC,CAAC,8BAA8B,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACtI,MAAM,cAAc,GAAG,QAAQ,GAAG,oCAAoC,GAAG,IAAI,CAAC;aAC/E;YACD,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACzC,CAAC,CAAA;QAEO,gBAAW,GAAG,CAAC,OAAqB,EAAE,IAAW,EAAE,KAAa,EAAE,EAAE;YAC1E,IAAG,OAAO,CAAC,OAAO,EAAE;gBAClB,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA,4FAA4F;gBACnI,IAAG,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;oBAC5D,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;oBACnB,MAAM,gBAAgB,OAAO,CAAC,IAAI,oCAAoC,CAAC;iBACxE;aACF;YACD,IAAI,CAAC,OAAO,CAAC;gBACX,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,KAAK;gBACL,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC;gBACxC,QAAQ,EAAE,CAAC,UAAmB,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,UAAU;oBACjI,SAAS,EAAE,SAAS;iBAIrB,CAAC;gBACF,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;QACL,CAAC,CAAA;QAED,cAAS,GAAG,CAAC,SAAiB,EAAE,QAAiB,EAAE,EAAE;YAEnD,2BAA2B;YAC3B,IAAG,QAAQ,EAAC;gBACV,MAAM,OAAO,GAAG,uBAAe,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;gBAClE,IAAG,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,EAAC;oBAC1D,MAAM,EAAE,mCACH,OAAO,KACV,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,CAAC,EACV,YAAY,EAAE,KAAK,EACnB,SAAS,EAAE,CAAC,IAAW,EAAE,EAAE,CAAC,EAAE,GAC/B,CAAA;oBACD,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;oBACtC,OAAO;iBACR;aACF;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;YAC5D,IAAI,KAAK,GAAG,QAAQ,CAAA,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,SAAS,CAAC,CAAC;YAChE,IAAI,CAAC,OAAO,CAAC;gBACX,IAAI,EAAE,QAAQ;gBACd,gBAAgB,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS;gBACnC,eAAe,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ;gBACjC,KAAK;gBACL,QAAQ,EAAE,GAAG,EAAE,CAAC,wBAAM,CAAC,SAAS,CAAC;gBACjC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC;gBAC5B,QAAQ;aACT,CAAC,CAAC;QACL,CAAC,CAAA;QAED,oBAAe,GAAG,KAAK,EAAE,UAAuB,EAAE,SAA0E,EAAE,EAAE;YAE9H,kBAAkB;YAClB,IAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAC;gBAC3B,IAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC;oBAAE,MAAM,qDAAqD,CAAC;gBAEhH,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAA;gBAElD,kBAAkB;aACjB;iBAAM,IAAG,UAAU,KAAK,EAAE,EAAC;gBAC1B,gBAAgB;gBAChB,sBAAsB;gBACtB,eAAe;gBACf,yBAAyB;gBACzB,uBAAuB;gBACvB,KAAK;gBACL,OAAO,EAAE,CAAC;aACX;iBAAM,IAAG,UAAU,KAAK,GAAG,EAAC;gBAC3B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAE,CAAC;aAC3D;iBAAM,IAAG,0BAAa,CAAC,UAAU,CAAC,IAAI,CAAC,yBAAO,CAAC,UAAoB,CAAC,EAAC;gBACpE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EACxC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAE3C,iDAAiD;gBACjD,IACE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EACxD;oBACC,IAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;wBAC3D,MAAM,sDAAsD,CAAC;qBAC9D;oBAED,kBAAkB;oBAClB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAE,CAAA;iBAE/F;qBAAM;oBACL,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;wBAC3C,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,EACzB,QAAQ,GAAG,CAAC,WAAmB,EAAE,EAAE,EAAE;4BACnC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;4BACvB,MAAM,uBAAuB,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,GAAG,QAAQ,CAAC;wBACnF,CAAC,CAAC;wBAEJ,qBAAqB;wBACrB,IAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAC;4BACzB,IAAG,GAAG,KAAK,GAAG,EAAC;gCACb,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAE,CAAA;6BAC1D;iCAAM;gCACL,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;6BAC3B;4BAEH,wBAAwB;yBACvB;6BAAM,IAAG,OAAO,GAAG,KAAK,QAAQ,IAAI,0BAAa,CAAC,GAAG,CAAC,EAAE;4BAEvD;;8BAEE;4BACF,IACE,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,GAAG,CAAC;gCACxC,0BAAa,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,wCAAwC;8BACrI;gCACC,6CAA6C;gCAC7C,2GAA2G;gCAC3G,IAAI;gCAEJ,IAAI,QAAQ,EAAE,IAAI,CAAC;gCACnB,IAAG,OAAO,GAAG,KAAK,QAAQ,EAAE;oCAC1B,oGAAoG;oCACpG,IAAI;wCACF,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;qCACrB;oCAAC,OAAO,GAAG,EAAC;wCACX,QAAQ,CAAC,+DAA+D,GAAG,kJAAkJ,CAAC,CAAA;qCAC/N;oCACD,QAAQ,GAAG,GAAG,CAAC;oCACf,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;iCACd;qCAAM;oCACL,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oCAClC,IAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;wCAAE,MAAM,+JAA+J,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;oCACrQ,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;oCACvB,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;iCACtB;gCAED,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;gCAE9C,UAAU;6BACT;iCAAM;gCAEL,IAAG,CAAC,SAAS;oCAAE,MAAM,kBAAkB,CAAC;gCACxC,MAAM,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;6BAErC;yBAEF;;4BAAM,QAAQ,EAAE,CAAC;oBAEpB,CAAC,CAAC,CAAC,CAAC;iBACL;aACF;;gBAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAEpE,CAAC,CAAA;QApMC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC1C,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAA,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAClI,IAAG,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAC;YAC5B,MAAM,6BAA6B,CAAC;SACrC;QAED,iDAAiD;QACjD,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC;QAC/G,IAAG,cAAc,EAAC;YAChB,MAAM,uDAAuD,GAAG,cAAc,GAAG,6EAA6E,CAAC;SAChK;IACH,CAAC;CAsLF;AAnND,8CAmNC;AAEM,KAAK,UAAU,WAAW,CAC/B,KAAmB,EACnB,MAAc,EACd,YAA+C,EAC/C,aAAa,GAAG,IAAI,EACpB,UAAqB,EACrB,WAAwB,EACxB,OAAqB;IAGrB,IAAG,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,MAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,CAAA,CAAC,IAAI,CAAC,WAAG,CAAC,UAAU,EAAE,eAAe,CAAC,EAAC;QACpF,MAAM,2BAA2B,KAAK,CAAC,IAAI,6BAA6B,CAAC;KAC1E;IAED,oFAAoF;IACpF,oBAAoB;IACpB,sBAAsB;IACtB,uCAAuC;IACvC,kCAAkC;IAClC,oBAAoB;IACpB,oBAAoB;IACpB,sCAAsC;IACtC,kBAAkB;IAClB,mBAAmB;IACnB,kCAAkC;IAClC,4BAA4B;IAC5B,oBAAoB;IACpB,OAAO;IAEP,iCAAiC;IACjC,IAAK,WAAW,GAAe,EAAE,CAAC;IAEhC,6FAA6F;IAE/F,YAAY,GAAG,YAAY,IAAI,EAAE,CAAC;IAClC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,GAAG,EAAE,GAAG,YAAY;IAC/C,yCAAyC;IACzC,iFAAiF;IACjF,aAAa,GAAG,KAAK,CAAC,gBAAgB,CAAC,WAAG,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IACvG,6JAA6J;IAC7J,QAAQ,GAAG,IAAI,iBAAiB,CAAC,EAAE,aAAa,EAAE,cAAc,EAAE,uBAAe,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,iBAAS,EAAE,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAIrL,MAAM,QAAQ,CAAC,eAAe,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE;QAEtE,4BAA4B;QAC5B,IAAI,QAAQ,GAAW,EAAE,EACrB,cAAc,GAAiB,EAAE,EACjC,MAAgB,EAChB,OAAe,EACf,YAAuB,EACvB,OAAe,EACf,YAAY,GAAY,IAAI,CAAC;QAEjC,IAAG,GAAG,KAAK,GAAG,EAAC;YACb,cAAc,CAAC,MAAM,GAAG,GAAG,CAAC;YAC5B,OAAO,GAAG,GAAG,CAAC;YACd,OAAO,GAAG,GAAG,CAAC;SACf;aAAM;YAEL,gFAAgF;YAChF,MAAM,SAAS,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YAC9C,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YAChF,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACrE,IAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtB,QAAQ,CAAC,sEAAsE,CAAC,CAAC;aAClF;iBAAM,IAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC/B,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,GAAG,WAAW,EAAE,GAAG,SAAS,CAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClG,IAAG,aAAa,CAAC,MAAM;oBAAE,MAAM,uBAAuB,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAElF,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC;gBAC3C,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3B,OAAO,GAAG,GAAG,CAAC;gBACd,IAAG,OAAO,OAAO,KAAK,QAAQ;oBAAE,MAAM,0EAA0E,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;gBAElJ,cAAc,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC;gBAC1C,QAAQ,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;gBAC5B,cAAc,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;gBACjC,cAAc,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;gBACnC,cAAc,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;gBACrC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC;aACpB;iBAAM;gBACL,cAAc,CAAC,MAAM,GAAG,GAAG,CAAC;gBAC5B,OAAO,GAAG,GAAG,CAAC;gBACd,OAAO,GAAG,GAAG,CAAC;aACf;SACF;QAED,MAAM,gBAAgB,GAAQ,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAG,CAAC,gBAAgB,EAAE;YACpB,MAAM,gBAAgB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,6FAA6F,CAAC;SAC5I;QAED,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAG,WAAW,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,OAAO,CAAC,EAAC;YAC5D,OAAO,GAAG,KAAK,CAAC;YAChB,YAAY,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,2BAA2B,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;SACvI;QAED,IAAG,OAAO,IAAI,YAAY,EAAC;YAEzB,MAAM,SAAS,GAAa,MAAM,WAAW,CACzC,gBAAgB,EAChB,QAAQ,kCACH,cAAc,KAAE,KAAK,EAAE,OAAO,KACnC,aAAa,EACb,YAAY,EACZ,WAAW,EACX,OAAO,CACR,CAAC;YACJ,SAAS,CAAC,UAAU,GAAG,YAAY,CAAC;YACpC,SAAS,CAAC,UAAU,GAAG,OAAO,CAAC;YAC/B,SAAS,CAAC,KAAK,GAAG,MAAM,CAAC;YACzB,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5B,yBAAyB;SAC1B;IACH,CAAC,CAAC,CAAA;IAEF,8BAA8B;IAC9B,aAAa;IACb,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACtB,IAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAC;YACpE,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;SAChC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,MAAM,GAAiB,QAAQ,CAAC,MAAM,CAAC;IAC3C,qCAAqC;IACrC,4CAA4C;IAC5C,wBAAwB;IAExB,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC;QACrC,MAAM;QACN,MAAM;QACN,YAAY,EAAE,WAAG,CAAC,UAAU,EAAE,qBAAqB,CAAC;QACpD,YAAY,EAAE,WAAG,CAAC,UAAU,EAAE,qBAAqB,CAAC;QACpD,UAAU,EAAE,YAAY,CAAC,KAAK;QAC9B,WAAW;QACX,SAAS,EAAE,UAAU;KACtB,CAAC,CAAC;IACH,MAAM,CAAC,GAAG,KAAK,CAAC,iBAAiB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAE3D,IAAI,QAAQ,GAAa;QACvB,SAAS,EAAE,aAAa;QACxB,MAAM;QACN,KAAK,EAAE,KAAK,CAAC,IAAI;QACjB,KAAK,EAAE,WAAW;QAClB,KAAK;QACL,uBAAuB;QACvB,KAAK,EAAE,KAAK,CAAC,iBAAiB,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;QACrD,OAAO,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACnG,MAAM,EAAE,KAAK,CAAC,kBAAkB,CAAC,YAAY,CAAC,MAAM,CAAC;KAC1C,CAAC;IAEd,yBAAyB;IACzB,gDAAgD;IAChD,OAAO,QAAQ,CAAC;AAClB,CAAC;AA9JD,kCA8JC;AAID,+CAA+C;AAC/C,SAAgB,SAAS,CACvB,KAAmB,EACnB,CAAW,EACX,QAAgB,CAAC,EACjB,aAAuB,EAAE,EACzB,YAA0B;IAE1B,MAAM,IAAI,GAAG,WAAW,EACpB,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE;IACrB,uBAAuB;IACvB,QAAQ,GAAG,CAAC,CAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAA,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EACvF,YAAY,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,wBAAM,CAAC,CAAC,SAAS,CAAA,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,EAAE,IAAI,KAAK,EAAE,CAAC,EAC9F,UAAU,GAAG,CAAC,CAAW,EAAE,EAAE,CAAC,wBAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtD,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,GAAG,MAAM,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;IACzG,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnG,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,MAAgB,EAAE,SAAS,GAAG,MAAM,EAAY,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAE,CAAC;IACxH,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,MAAgB,EAAE,SAAS,GAAG,MAAM,EAAE,SAAS,GAAG,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtI,MAAM,cAAc,GAAG,CAAC,MAAgB,EAAY,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAA,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACvH,MAAM,QAAQ,GAAG,CAAC,CAAW,EAAE,GAAW,EAAE,EAAE,CAAC,wBAAM,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;IAEnG,8BAA8B;IAC9B,MAAM,UAAU,GAAG,CAAC,EAAY,EAAE,EAAY,EAAY,EAAE;QAC1D,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACpE,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAE7B,OAAO,gBAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE;YACzC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,CAAW,EAAE,EAAE;gBAC9C,IAAG,KAAK,KAAK,CAAC,CAAC,KAAK,EAAC;oBACnB,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,wBAAM,CAAC,GAAG,CAAC,CAAC,CAAC;oBACvE,IAAG,CAAC,aAAa,EAAC;wBAChB,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,2CAA2C,CAAC,CAAC;wBACjE,MAAM,+BAA+B,GAAG,+EAA+E,CAAA;qBACxH;oBACD,OAAO,aAAa,CAAC,KAAK,CAAC;iBAC5B;gBAED,OAAO,GAAG,CAAC;YACb,CAAC,CAAA;YACD,MAAM,cAAc,GAAG,CAAC,GAAW,EAAE,EAAE;gBACrC,OAAO,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC7B,CAAC,CAAA;YACD,MAAM,cAAc,GAAG,CAAC,GAAW,EAAE,EAAE;gBACrC,OAAO,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC7B,CAAC,CAAA;YAED,gEAAgE;YAEhE,MAAM,SAAS,GAAG,CAAC,KAAK,CAAC,CAAA,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC3D,MAAM,SAAS,GAAG,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YACrD,yDAAyD;YACzD,MAAM,SAAS,GAAI,CAAC,KAAK,CAAC,CAAA,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;YACnF,gFAAgF;YAEhF,IAAI,EAAE,GAAG;gBACP,wBAAM,CAAC,KAAK,CAAC,GAAG,IAAI,SAAS,EAAE;aAChC,CAAC;YAEF,oDAAoD;YACpD,IAAG,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,EAAC;gBAEtB,yBAAyB;gBACzB,wBAAwB;gBACxB,6DAA6D;gBAC7D,gBAAgB;gBAChB,8DAA8D;gBAC9D,+FAA+F;gBAC/F,mCAAmC;gBAEnC,MAAM,YAAY,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;oBAC3D,mDAAmD;oBACnD,IAAG,CAAC,CAAC,IAAI,KAAK,aAAa;wBAAE,OAAO,wBAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,MAAM,GAAG,wBAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBACxF,OAAO,wBAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACzB,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,wBAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAE3D,MAAM,IAAI,GAAG,SAAS,CACpB,KAAK,EACL,EAAE,EACF,KAAK,GAAG,CAAC,EACT,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,wBAAM,CAAC,EAAE,CAAC,CAAC,EAChC,YAAY,CACb,CAAC;gBACF,gEAAgE;gBAChE,oBAAoB;gBACpB,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;gBAEnB,EAAE,GAAG;oBACD,GAAG;oBACL,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE;wBAChB,uBAAuB;wBACvB,WAAW;wBACX,0BAA0B,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAC,GAAG;wBACzD,sCAAsC,YAAY,eAAe,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE;wBACvF,QAAQ;wBACR,GAAG,GAAG;wBACN,KAAK,wBAAM,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM;qBAClC,CAAC;oBACE,KAAK,SAAS,EAAE;iBACnB,CAAA;aACJ;YACD,IAAI,IAAI,GAAI;gBACR,GAAG,EAAE,CAAC,UAAU,CAAA,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,QAAQ;gBAC5C,GAAG,EAAE;gBACH,MACI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAChB,GAAG,SAAS,IAAI,wBAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,MAAM,SAAS,IAAI,wBAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,GAAG,CAC7F,CAAC,IAAI,CAAC,OAAO,CAClB,EAAE;aACL,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC,CAAA;IACL,CAAC,CAAA;IAED,mDAAmD;IACnD,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;IAChG,IAAG,CAAC,KAAK,CAAC,MAAM,EAAC;QACb,wDAAwD;QACxD;QACE,uFAAuF;QACvF,kCAAkC;QAClC,0DAA0D;QAC1D,0FAA0F;QAC1F,MAAM;QACN,oDAAoD;QACpD,MAAM;QACN,OAAO,GAAG,EAAE,CAAC;QACf,0BAA0B;QAE1B,kEAAkE;QAClE,IAAG,IAAI,CAAC,MAAM,KAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,OAAO,CAAA,EAAC;YACpC,6GAA6G;YAC7G,qCAAqC;YACrC,qEAAqE;YACrE,IAAI;YAEJ,IAAG,OAAO,CAAC,MAAM,EAAC;gBAChB,IAAI,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBACvF,IAAG,aAAa,CAAC,MAAM,EAAC;oBACtB,OAAO,GAAG,YAAY,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,UAAU,CAAA,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAE,wBAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;iBACzH;aACF;SACJ;QACD,oCAAoC;QACpC,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE;YACnB,2BAA2B;YAE3B,gDAAgD;;YAChD,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBACtF,yEAAyE;gBAEzE,IAAG,CAAC,CAAC,IAAI,KAAK,aAAa,EAAC;oBAC1B,mDAAmD;oBACnD,OAAO,CAAC,CAAC,QAAQ,EAAE,GAAG,MAAM,GAAG,wBAAM,CAAC,CAAC,KAAK,CAAA,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;iBACvE;gBACD,OAAO,CAAC,CAAC,QAAQ,EAAE,GAAG,MAAM,GAAG,wBAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YACpD,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACX,QAAQ,wBAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG;YAC1B,CAAC,CAAC,KAAK;YACP,OAAO,CAAC,kFAAkF;;YAC1F,CAAC,CAAC,MAAM,CAAA,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE;YACnC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YACpB,CAAC,KAAK,CAAA,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI;YAClC,CAAC,KAAK,CAAA,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;SAC5C,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAwB,CAAC,CAAC;QACnE,qBAAqB;QACrB,OAAO,IAAI,CAAC;KACf;SAAM;QACH,0EAA0E;QAC1E,IACE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;YAC7D,MAAM,4BAA4B,CAAC;KACxC;IAED,IAAG,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,YAAY,CAAC,OAAO,CAAC;QAAE,MAAM,+BAA+B,CAAC;IAEzG,uIAAuI;IAEvI,IAAI,WAAmB,CAAC;IACxB,IAAG,CAAC,YAAY,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,EAAC;QACtF,iDAAiD;QACjD,WAAW,GAAG,YACZ,CAAC,KAAK,CAAA,CAAC;YACL,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,wBAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAA,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,wBAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CACxE,CAAC,MAAM,CACN,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,CAAA,CAAC;YACpB,EAAE,CAAC,CAAC;YACJ,CAAC,MAAM,CAAC,CACT,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;KACnC;IAED,kBAAkB;IAClB,MAAM,UAAU,GAAG;QACf,KAAK;QACL,uBAAuB;QACvB,YAAY;QACf,GAAG,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,MAAM,GAAG,wBAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CACjH,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAC,EAAE;YACd,MAAM,GAAG,GAAG,YAAY,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,oBAAoB,QAAQ,CAAC,CAAC,EAAE,cAAc,CAAC,mBAAmB,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,QAAQ,QAAQ,CAAC,CAAC,EAAE,aAAa,CAAC,YAAY,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,eAAe,CAAC;YAChO,MAAM,QAAQ,GAAG,wBAAM,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,KAAK,CAAC,CAAA;YAEhD,4DAA4D;YAC5D,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAA,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,GAAG,UAAU,CAAC,GAAI,QAAQ,QAAQ,EAAE,CAAC;QAC3F,CAAC,CAAC,CACH,CAAC;QACA,SAAS;QACT,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE;YAClB,iCAAiC;YACjC,aAAa;YACZ,GAAG,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAC9B,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAC,EAAE;gBACd,OAAQ,kCAAkC,QAAQ,CAAC,CAAC,EAAE,aAAa,CAAC,IAAI;oBACpE,iBAAiB,QAAQ,CAAC,CAAC,EAAE,cAAc,CAAC,QAAQ,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAA;YACpF,CAAC,CAAC,CAAC,CACN;YACD,sBAAsB,UAAU,CAAC,CAAC,CAAC,EAAE;YACrC,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE;gBAClB,gDAAgD;gBAChD,SAAS;gBACT,GAAG,cAAc,CACb,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;qBAC3B,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,wBAAM,CAAC,KAAK,CAAC,IAAI,CAAC;qBACnD,MAAM,CACH,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAC,EAAE,CAClB,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,QAAQ,CAAC,CAAC,EAAE,cAAc,CAAC,CACnG,CAAC,MAAM,CACJ,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,kCAAkC,UAAU,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,EAAE,cAAc,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,cAAc,QAAQ,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC,CAC7J,CACR,CAAC;gBACF,SAAS;gBACT,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE;oBAClB,uBAAuB;oBACvB,SAAS;oBACT,iCAAiC;oBACjC,QAAQ,wBAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG;oBAC1B,GAAG,CAAC,CAAC,KAAK,GAAG;iBAChB,CAAC;gBACF,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG;gBACrB,GAAG,gBAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aAChD,CAAC;YACF,MAAM;SACT,CAAC;QACF,MAAM;QACN,WAAW;QACX,CAAC,CAAC,MAAM,CAAA,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE;QACpC,CAAC,CAAC,OAAO;QACT,KAAK,CAAA,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;QAC7D,uBAAuB;QACvB,KAAK;KACR,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAEhB,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,UAAiC,CAAC,CAAC;IACzD,4BAA4B;IAC5B,oBAAoB;IACpB,OAAO,GAAG,CAAC;AACb,CAAC;AAjQD,8BAiQC"}
1
+ {"version":3,"file":"QueryBuilder.js","sourceRoot":"","sources":["../lib/QueryBuilder.ts"],"names":[],"mappings":"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"}
@@ -651,7 +651,7 @@ export const FUNCTIONS: FunctionSpec[] = [
651
651
  if(bad_keys.length) throw "Invalid options provided for $term_highlight. Expecting one of: " + validKeys.join(", ");
652
652
  }
653
653
  if(!cols.length) throw "Cols are empty/invalid";
654
- if(typeof term !== "string") throw "No string term provided";
654
+ if(typeof term !== "string") throw "Non string term provided: " + term;
655
655
  if(edgeTruncate !== undefined && (!Number.isInteger(edgeTruncate) || edgeTruncate < -1)) throw "Invalid edgeTruncate. expecting a positive integer";
656
656
  if(typeof noFields !== "boolean") throw "Invalid noFields. expecting boolean";
657
657
  const RETURN_TYPES = ["index", "boolean", "object"];
@@ -711,21 +711,24 @@ export const FUNCTIONS: FunctionSpec[] = [
711
711
 
712
712
  } else if(returnType === "object" || returnType === "boolean"){
713
713
  const hasChars = Boolean(rawTerm && /[a-z]/i.test(rawTerm));
714
- const _cols = cols.map(c => {
715
- const colInfo = allColumns.find(ac => ac.name === c);
716
- return {
717
- key: c,
718
- colInfo
719
- }
720
- })
721
- .filter(c => !c.colInfo || c.colInfo.udt_name !== "bytea")
722
- .filter(c =>
714
+ let validCols = cols.map(c => {
715
+ const colInfo = allColumns.find(ac => ac.name === c);
716
+ return {
717
+ key: c,
718
+ colInfo
719
+ }
720
+ })
721
+ .filter(c => c.colInfo && c.colInfo.udt_name !== "bytea")
722
+
723
+ let _cols = validCols.filter(c =>
723
724
  /** Exclude numeric columns when the search tern contains a character */
724
725
  !hasChars ||
725
- c.colInfo?.udt_name &&
726
726
  postgresToTsType(c.colInfo.udt_name) !== "number"
727
727
  );
728
+
729
+ /** This will break GROUP BY (non-integer constant in GROUP BY) */
728
730
  if(!_cols.length){
731
+ if(validCols.length && hasChars) throw `You're searching the impossible: characters in numeric fields. Use this to prevent making such a request in future: /[a-z]/i.test(your_term) `
729
732
  return (returnType === "boolean")? "FALSE" : "NULL"
730
733
  }
731
734
  res = `CASE
@@ -1345,76 +1348,88 @@ export function makeQuery(
1345
1348
  return jres;
1346
1349
  }))
1347
1350
  }
1351
+
1352
+ const getGroupBy = (rootSelectItems: SelectItem[], groupByItems: SelectItem[]): string => {
1353
+ if(groupByItems.length){
1354
+ /** Root Select column index number is used where possible to prevent "non-integer constant in GROUP BY" error */
1355
+
1356
+ return `GROUP BY ` + groupByItems.map(gi => {
1357
+ const idx = rootSelectItems.findIndex(si => si.alias === gi.alias);
1358
+ if(idx < 0) throw `Could not find GROUP BY column ${gi.alias} in ROOT SELECT ${rootSelectItems.map(s => s.alias)}`;
1359
+ return idx + 1;
1360
+ }).join(", ")
1361
+ }
1362
+
1363
+ return ""
1364
+ }
1348
1365
 
1349
1366
  /* Leaf query -> no joins -> return simple query */
1350
1367
  const aggs = q.select.filter(s => s.type === "aggregation");
1351
1368
  const nonAggs = q.select.filter(s => depth || s.selected).filter(s => s.type !== "aggregation");
1352
1369
  if(!joins.length){
1353
- /* Nested queries contain all fields to allow joining */
1354
- let
1355
- // select = q.select.filter(s => joinFields.includes(s.alias) || s.selected).map(s => {
1356
- // if(s.type === "aggregation"){
1357
- // /* Rename aggs to avoid collision with join cols */
1358
- // return s.getQuery(!depth? undefined : `agg_${s.alias}`) + " AS " + asName(s.alias);
1359
- // }
1360
- // return s.getQuery() + " AS " + asName(s.alias);
1361
- // }),
1362
- groupBy = "";
1363
- // console.log(select, q);
1364
-
1365
- /* If aggs exist need to set groupBy add joinFields into select */
1366
- if(aggs.length || selectParams?.groupBy){
1367
- // const missingFields = joinFields.filter(jf => !q.select.find(s => s.type === "column" && s.alias === jf));
1368
- // if(depth && missingFields.length){
1369
- // // select = Array.from(new Set(missingFields.concat(select)));
1370
+ /* Nested queries contain all fields to allow joining */
1371
+ let groupBy = "";
1372
+
1373
+ const rootSelectItems = q.select.filter(s => joinFields.includes(s.getQuery()) || s.selected)
1374
+
1375
+ /* If aggs exist need to set groupBy add joinFields into select */
1376
+ if(aggs.length || selectParams?.groupBy){
1377
+ // const missingFields = joinFields.filter(jf => !q.select.find(s => s.type === "column" && s.alias === jf));
1378
+ // if(depth && missingFields.length){
1379
+ // // select = Array.from(new Set(missingFields.concat(select)));
1380
+ // }
1381
+
1382
+ if(nonAggs.length){
1383
+ let groupByFields = nonAggs.filter(sf => !depth || joinFields.includes(sf.getQuery()));
1384
+ groupBy = getGroupBy(rootSelectItems, groupByFields);
1385
+ // if(groupByFields.length){
1386
+ // groupBy = `GROUP BY ${groupByFields.map(sf => sf.type === "function"? sf.getQuery() : asName(sf.alias)).join(", ")}\n`;
1370
1387
  // }
1388
+ }
1389
+ }
1371
1390
 
1372
- if(nonAggs.length){
1373
- let groupByFields = nonAggs.filter(sf => !depth || joinFields.includes(sf.getQuery()));
1374
- if(groupByFields.length){
1375
- groupBy = `GROUP BY ${groupByFields.map(sf => sf.type === "function"? sf.getQuery() : asName(sf.alias)).join(", ")}\n`;
1391
+ // console.log(q.select, joinFields)
1392
+ let simpleQuery = indJ(depth, [
1393
+ `-- 0. or 5. [leaf query] `
1394
+
1395
+ /* Group by selected fields + any join fields */
1396
+ , `SELECT ` + rootSelectItems.map(s => {
1397
+ // return s.getQuery() + ((s.type !== "column")? (" AS " + s.alias) : "")
1398
+
1399
+ if(s.type === "aggregation"){
1400
+ /* Rename aggs to avoid collision with join cols */
1401
+ return s.getQuery() + " AS " + asName((depth? "agg_" : "") + s.alias);
1376
1402
  }
1377
- }
1378
- }
1379
- // console.log(q.select, joinFields)
1380
- let fres = indJ(depth, [
1381
- `-- 0. or 5. [leaf query] `
1382
-
1383
- /* Group by selected fields + any join fields */
1384
- , `SELECT ` + q.select.filter(s => joinFields.includes(s.getQuery()) || s.selected).map(s => {
1385
- // return s.getQuery() + ((s.type !== "column")? (" AS " + s.alias) : "")
1386
-
1387
- if(s.type === "aggregation"){
1388
- /* Rename aggs to avoid collision with join cols */
1389
- return s.getQuery() + " AS " + asName((depth? "agg_" : "") + s.alias);
1390
- }
1391
- return s.getQuery() + " AS " + asName(s.alias)
1392
- }).join(", ")
1393
- , `FROM ${asName(q.table)} `
1394
- , q.where
1395
- , groupBy //!aggs.length? "" : `GROUP BY ${nonAggs.map(sf => asName(sf.alias)).join(", ")}`,
1396
- , q.having? `HAVING ${q.having}` : ""
1397
- , q.orderBy.join(", ")
1398
- , !depth? `LIMIT ${q.limit} ` : null
1399
- , !depth? `OFFSET ${q.offset || 0} ` : null
1400
- ].filter(v => v && (v + "").trim().length) as unknown as string[]);
1401
- // console.log(fres);
1402
- return fres;
1403
+ return s.getQuery() + " AS " + asName(s.alias)
1404
+ }).join(", ")
1405
+ , `FROM ${asName(q.table)} `
1406
+ , q.where
1407
+ , groupBy //!aggs.length? "" : `GROUP BY ${nonAggs.map(sf => asName(sf.alias)).join(", ")}`,
1408
+ , q.having? `HAVING ${q.having}` : ""
1409
+ , q.orderBy.join(", ")
1410
+ , !depth? `LIMIT ${q.limit} ` : null
1411
+ , !depth? `OFFSET ${q.offset || 0} ` : null
1412
+ ].filter(v => v && (v + "").trim().length) as unknown as string[]);
1413
+ // console.log(fres);
1414
+ return simpleQuery;
1403
1415
  } else {
1404
- // if(q.aggs && q.aggs && q.aggs.length) throw "Cannot join an aggregate";
1405
- if(
1406
- q.select.find(s => s.type === "aggregation") &&
1407
- joins.find(j => j.select.find(s => s.type === "aggregation"))
1408
- ) throw "Cannot join two aggregates";
1416
+ // if(q.aggs && q.aggs && q.aggs.length) throw "Cannot join an aggregate";
1417
+ if(
1418
+ q.select.find(s => s.type === "aggregation") &&
1419
+ joins.find(j => j.select.find(s => s.type === "aggregation"))
1420
+ ) throw "Cannot join two aggregates";
1409
1421
  }
1410
1422
 
1411
1423
  if(joins && joins.length && (aggs.length || selectParams.groupBy)) throw "Joins within Aggs dissallowed";
1412
1424
 
1413
1425
  // if(q.selectFuncs.length) throw "Functions within select not allowed in joins yet. -> " + q.selectFuncs.map(s => s.alias).join(", ");
1414
1426
 
1427
+ const rootSelectItems = q.select.filter(s => depth || s.selected)
1428
+
1415
1429
  let rootGroupBy: string;
1416
1430
  if((selectParams.groupBy || aggs.length || q.joins && q.joins.length) && nonAggs.length){
1417
1431
  // console.log({ aggs, nonAggs, joins: q.joins })
1432
+ // rootGroupBy = getGroupBy(rootSelectItems, depth? rootSelectItems : nonAggs) + (aggs?.length? "" : ", ctid")
1418
1433
  rootGroupBy = `GROUP BY ${
1419
1434
  (depth?
1420
1435
  q.allFields.map(f => asName(f)) :
@@ -1427,17 +1442,19 @@ export function makeQuery(
1427
1442
  }
1428
1443
 
1429
1444
  /* Joined query */
1430
- const rootSelect = [
1445
+ const joinedQuery = [
1431
1446
  " \n"
1432
1447
  , `-- 0. [joined root] `
1433
1448
  , "SELECT "
1434
- ,...selectArrComma(q.select.filter(s => depth || s.selected).map(s => s.getQuery() + " AS " + asName(s.alias)).concat(
1449
+ ,...selectArrComma(rootSelectItems.map(s => s.getQuery() + " AS " + asName(s.alias)).concat(
1435
1450
  joins.map((j, i)=> {
1436
- const jsq = `json_agg(${prefJCAN(j, `json`)}::jsonb ORDER BY ${prefJCAN(j, `rowid_sorted`)}) FILTER (WHERE ${prefJCAN(j, `limit`)} <= ${j.limit} AND ${prefJCAN(j, `dupes_rowid`)} = 1 AND ${prefJCAN(j, `json`)} IS NOT NULL)`;
1437
- const resAlias = asName(j.tableAlias || j.table)
1438
1451
 
1439
- // If limit = 1 then return a single json object (first one)
1440
- return (j.limit === 1? `${jsq}->0 ` : `COALESCE(${jsq}, '[]') `) + ` AS ${resAlias}`;
1452
+ /** Apply LIMIT to joined items */
1453
+ const jsq = `json_agg(${prefJCAN(j, `json`)}::jsonb ORDER BY ${prefJCAN(j, `rowid_sorted`)}) FILTER (WHERE ${prefJCAN(j, `limit`)} <= ${j.limit} AND ${prefJCAN(j, `dupes_rowid`)} = 1 AND ${prefJCAN(j, `json`)} IS NOT NULL)`;
1454
+ const resAlias = asName(j.tableAlias || j.table)
1455
+
1456
+ // If limit = 1 then return a single json object (first one)
1457
+ return (j.limit === 1? `${jsq}->0 ` : `COALESCE(${jsq}, '[]') `) + ` AS ${resAlias}`;
1441
1458
  })
1442
1459
  ))
1443
1460
  , `FROM ( `
@@ -1486,7 +1503,7 @@ export function makeQuery(
1486
1503
  , " \n"
1487
1504
  ].filter(v => v)
1488
1505
 
1489
- let res = indJ(depth, rootSelect as unknown as string[]);
1506
+ let res = indJ(depth, joinedQuery as unknown as string[]);
1490
1507
  // res = indent(res, depth);
1491
1508
  // console.log(res);
1492
1509
  return res;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prostgles-server",
3
- "version": "2.0.134",
3
+ "version": "2.0.135",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1 +1 @@
1
- 18558
1
+ 24628
@@ -23,7 +23,7 @@
23
23
  },
24
24
  "../..": {
25
25
  "name": "prostgles-server",
26
- "version": "2.0.133",
26
+ "version": "2.0.134",
27
27
  "license": "MIT",
28
28
  "dependencies": {
29
29
  "@aws-sdk/client-s3": "^3.32.0",