usedesign 1.8.1 → 1.9.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.
package/dist/checks.js CHANGED
@@ -12,7 +12,7 @@
12
12
  import { existsSync, readFileSync } from "node:fs";
13
13
  import { join, resolve } from "node:path";
14
14
  import { SaxesParser } from "saxes";
15
- import { Finding, expandGlobs, globMatches, isDirectory, isMap, loadCardFiles, map, maps, readDocument, refuseTwins, text, texts, whyUnreadable, } from "./core.js";
15
+ import { Finding, expandGlobs, globMatches, isDirectory, isMap, list, loadCardFiles, map, maps, readDocument, refuseTwins, text, texts, whyUnreadable, } from "./core.js";
16
16
  import { screenOfCard } from "./validate.js";
17
17
  const METHODS = ["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS"];
18
18
  /**
@@ -788,6 +788,88 @@ function judgeCalls(contractId, screen, name, control, shownWhen, dataOf, cardBy
788
788
  }
789
789
  }
790
790
  }
791
+ /**
792
+ * Round 33: what pressing a control SENT, recorded by the inventory — per state, control → the
793
+ * operations in the order they went out, reads included. Until now a contract's `calls` was
794
+ * compared with the cards only, never with the code: a pilot's frontend reordered the chain behind
795
+ * its «start» button on purpose — `[start, publish]` for `[replace, publish, start]` — and every
796
+ * check passed, because the inventory recorded presence and nothing that was sent. The field is
797
+ * optional, as `within` was in round 15: an inventory without it is NOT COMPARED, never failed.
798
+ */
799
+ function recordedCalls(state, location, screen, findings) {
800
+ const raw = state?.calls;
801
+ if (raw === undefined || raw === null)
802
+ return null;
803
+ const where = `${location}: \`${screen}\`, state \`${state?.state}\``;
804
+ if (!isMap(raw)) {
805
+ findings.push(new Finding("form_inventory_malformed", `${where}: \`calls\` is not a map of control → operations`));
806
+ return null;
807
+ }
808
+ const calls = new Map();
809
+ for (const [control, ops] of Object.entries(raw)) {
810
+ if (Array.isArray(ops) && ops.every((op) => typeof op === "string" && op))
811
+ calls.set(control, ops.map(String));
812
+ else
813
+ findings.push(new Finding("form_inventory_malformed", `${where}: \`calls\` of \`${control}\` is not a list of operation ids`));
814
+ }
815
+ return calls;
816
+ }
817
+ /**
818
+ * An operation that changes no domain data: no transition and no `mutates` (§5.8). A list reread
819
+ * after a write is such an operation, and it is not part of the chain the contract names. An audit
820
+ * entry (`records_only`) does not make it a write here — a reread is a reread whether or not the
821
+ * server records who asked.
822
+ */
823
+ function isRead(card) {
824
+ return (card["data_transition"] === null || card["data_transition"] === undefined) && list(card["mutates"]).length === 0;
825
+ }
826
+ /**
827
+ * Compare, state by state, what pressing the control sent with its `calls`: the same operations in
828
+ * the same order — strictly, since a chain whose step is conditional is pressed in the state where
829
+ * the step runs. A read the contract does not name is left out of what was sent; a read it names
830
+ * stays, so a chain of reads is compared too. `calls: null` with a write sent is the same finding.
831
+ * An operation sent that no card describes cannot be told a read from a write: it is named on its
832
+ * own and left out. A warning, as every new check over a field 1.x already had (§8). Returns
833
+ * whether any state recorded the control.
834
+ */
835
+ function judgeRecordedCalls(contractId, name, control, states, cardById, findings) {
836
+ const raw = control?.calls;
837
+ const stated = typeof raw === "string" && raw
838
+ ? [raw]
839
+ : Array.isArray(raw)
840
+ ? raw.filter((entry) => typeof entry === "string" && entry).map(String)
841
+ : [];
842
+ let compared = false;
843
+ for (const [state, rendered] of states) {
844
+ const recorded = rendered.calls?.get(name);
845
+ if (recorded === undefined)
846
+ continue;
847
+ compared = true;
848
+ const sent = [];
849
+ const unknown = [];
850
+ for (const op of recorded) {
851
+ if (stated.includes(op)) {
852
+ sent.push(op);
853
+ continue;
854
+ }
855
+ const card = cardById.get(op);
856
+ if (!card) {
857
+ if (!unknown.includes(op)) {
858
+ unknown.push(op);
859
+ findings.push(new Finding("form_recorded_call_undescribed", `${contractId}: control \`${name}\`, pressed in state \`${state}\`, sent \`${op}\`, which no card describes — a read cannot be told from a write`, "warning"));
860
+ }
861
+ }
862
+ else if (!isRead(card)) {
863
+ sent.push(op);
864
+ }
865
+ }
866
+ if (sent.length !== stated.length || sent.some((op, i) => op !== stated[i])) {
867
+ const said = stated.length > 0 ? `[${stated.join(", ")}]` : "null";
868
+ findings.push(new Finding("form_calls_mismatch", `${contractId}: control \`${name}\`, pressed in state \`${state}\`, sent [${sent.join(", ")}]; its \`calls\` says ${said}`, "warning"));
869
+ }
870
+ }
871
+ return compared;
872
+ }
791
873
  /** A list of state names, or undefined when the field is not a list (1.5.1: a name that is not a string is absent). */
792
874
  function statesOf(value) {
793
875
  return Array.isArray(value) ? texts(value) : undefined;
@@ -832,7 +914,12 @@ export function checkForm(config, base) {
832
914
  const within = s.within && typeof s.within === "object"
833
915
  ? new Map(Object.entries(s.within).map(([k, v]) => [k, new Set(v.map(String))]))
834
916
  : null;
835
- states.set(String(s.state), { fields: new Set((s.fields ?? []).map(String)), controls: new Set((s.controls ?? []).map(String)), within });
917
+ states.set(String(s.state), {
918
+ fields: new Set((s.fields ?? []).map(String)),
919
+ controls: new Set((s.controls ?? []).map(String)),
920
+ within,
921
+ calls: recordedCalls(s, location, String(form.screen), findings),
922
+ });
836
923
  }
837
924
  byScreen.set(String(form.screen), states);
838
925
  }
@@ -860,6 +947,8 @@ export function checkForm(config, base) {
860
947
  }
861
948
  const claimed = new Map();
862
949
  let designedAhead = 0;
950
+ let callsStated = 0;
951
+ let callsCompared = 0;
863
952
  for (const [contractId, fm] of contracts) {
864
953
  const screen = text(fm["screen"]) ?? "";
865
954
  const states = byScreen.get(screen);
@@ -978,6 +1067,14 @@ export function checkForm(config, base) {
978
1067
  findings.push(new Finding("control_missing", `${contractId}: control \`${name}\` appears in no state at all`));
979
1068
  }
980
1069
  judgeCalls(contractId, screen, name, control, shownWhen, dataOf, cardById, findings, "error");
1070
+ // Round 33: a control named as one anchor whose contract says what it calls, against what
1071
+ // pressing it sent. Only with cards: without them a read cannot be told from a write, and the
1072
+ // summary says NOT COMPARED. A family has no one name to press.
1073
+ if (!regex && Object.prototype.hasOwnProperty.call(control, "calls")) {
1074
+ callsStated += 1;
1075
+ if (cardById.size > 0 && judgeRecordedCalls(contractId, name, control, states, cardById, findings))
1076
+ callsCompared += 1;
1077
+ }
981
1078
  }
982
1079
  for (const entry of maps(fm["removed"])) {
983
1080
  const name = text(entry["control"]) ?? "";
@@ -1059,7 +1156,15 @@ export function checkForm(config, base) {
1059
1156
  }
1060
1157
  return {
1061
1158
  findings,
1062
- summary: { contracts: contracts.length, screens: byScreen.size, designed_ahead: designedAhead, produced_by: data.produced_by ?? "" },
1159
+ summary: {
1160
+ contracts: contracts.length,
1161
+ screens: byScreen.size,
1162
+ designed_ahead: designedAhead,
1163
+ calls_stated: callsStated,
1164
+ calls_compared: callsCompared,
1165
+ calls_comparable: cardById.size > 0,
1166
+ produced_by: data.produced_by ?? "",
1167
+ },
1063
1168
  };
1064
1169
  }
1065
1170
  export const CHECKS = {
@@ -1 +1 @@
1
- {"version":3,"file":"checks.js","sourceRoot":"","sources":["../src/checks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EACS,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAQ,aAAa,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EACpI,KAAK,EAAE,aAAa,GACrB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AAE7E;;;;;;;;GAQG;AACH,MAAM,KAAK,GAAG,mDAAmD,CAAC;AAElE;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,MAAc,EAAE,IAAY;IACpD,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC7C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACxD,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,KAAK,EAAE,CAAC;AACnD,CAAC;AAOD,iGAAiG;AAEjG,SAAS,YAAY,CAAC,MAAc,EAAE,IAAY;IAChD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC7C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC/C,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAExD,KAAK,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;QACjC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACrD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAM,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,KAAK,WAAW;gBAAE,SAAS;YAClE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YACrC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;gBACrB,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CAAC,2BAA2B,EAAE,GAAG,MAAM,iBAAiB,IAAI,8CAA8C,CAAC,CACvH,CAAC;gBACF,SAAS;YACX,CAAC;YACD,sFAAsF;YACtF,0EAA0E;YAC1E,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACpC,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;YACjC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAC/B,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;YAC1D,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG,SAAS,MAAM,EAAE,EAAE,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS;QAChC,uFAAuF;QACvF,0FAA0F;QAC1F,8CAA8C;QAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG,SAAS,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7E,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAE,SAAS;QAC7E,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CACT,iBAAiB,EACjB,GAAG,GAAG,mBAAmB,MAAM,CAAC,MAAM,WAAW,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,wCAAwC,EAC1G,SAAS,CACV,CACF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;AAC9C,CAAC;AAED;;;;GAIG;AACH,SAAS,KAAK,CAAC,QAA+B;IAC5C,OAAO,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1F,CAAC;AAQD,SAAS,aAAa,CAAC,MAAc,EAAE,IAAY;IACjD,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;IAClC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;YACL,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,CAAC,IAAI,OAAO,CAAC,mBAAmB,EAAE,gFAAgF,CAAC,CAAC;YAC9H,UAAU,EAAE,EAAE;SACf,CAAC;IACJ,CAAC;IAED,iGAAiG;IACjG,iGAAiG;IACjG,iEAAiE;IACjE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,IAAI,OAAO,CAAC,mBAAmB,EAAE,GAAG,QAAQ,iBAAiB,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IACpH,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,IAAI,IAAI,CAAC,mBAAmB,KAAK,CAAC,EAAE,CAAC;QACnC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,qBAAqB,EAAE,GAAG,QAAQ,sCAAsC,CAAC,CAAC,CAAC;IACvG,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,WAAW;QAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,qBAAqB,EAAE,GAAG,QAAQ,2BAA2B,CAAC,CAAC,CAAC;IAEjH,MAAM,MAAM,GAAY,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;IAC1C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CAAC,iBAAiB,EAAE,GAAG,QAAQ,qFAAqF,CAAC,CACjI,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YAC5C,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,qBAAqB,EAAE,GAAG,QAAQ,sBAAsB,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;QACvG,CAAC;IACH,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;AAClE,CAAC;AAED,wFAAwF;AACxF,SAAS,UAAU,CAAC,MAAc,EAAE,MAAc,EAAE,KAAa;IAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IACnC,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5C,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,MAAM;YAAE,SAAS;QAClE,IAAI,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;IACxD,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAc,EAAE,IAAY;IACtD,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACtF,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;IAC/B,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACxF,QAAQ,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC;IAEpC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEzC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACpG,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAC/C,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;YAChB,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9C,SAAS;QACX,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,eAAe,EAAE,GAAG,GAAG,qCAAqC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7I,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACtF,wFAAwF;YACxF,sFAAsF;YACtF,oFAAoF;YACpF,wFAAwF;YACxF,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACnG,IAAI,KAAK,EAAE,CAAC;gBACV,aAAa,IAAI,CAAC,CAAC;gBACnB,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CAAC,sBAAsB,EAAE,GAAG,GAAG,mBAAmB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,sDAAsD,EAAE,SAAS,CAAC,CACjJ,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,eAAe,EAAE,GAAG,GAAG,mBAAmB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;YAC9G,CAAC;QACH,CAAC;IACH,CAAC;IAED,8FAA8F;IAC9F,4FAA4F;IAC5F,oFAAoF;IACpF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,gBAAgB,EAAE,KAAK,IAAI,CAAC,IAAI,oDAAoD,EAAE,SAAS,CAAC,CAAC,CAAC;QAC9H,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GAA2B,EAAE,CAAC;IACjD,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,aAAa,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;IACrE,CAAC;IAED,OAAO;QACL,QAAQ;QACR,OAAO,EAAE;YACP,WAAW,EAAE,UAAU;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACzD,QAAQ,EAAE,QAAQ,CAAC,IAAI;YACvB,cAAc,EAAE,aAAa;YAC7B,eAAe,EAAE,aAAa;SAC/B;KACF,CAAC;AACJ,CAAC;AAED,iGAAiG;AACjG,EAAE;AACF,iGAAiG;AACjG,0EAA0E;AAE1E,MAAM,YAAY,GAAG,SAAS,CAAC,CAAC,6CAA6C;AAS7E;;;;;;;;;;GAUG;AACH,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,OAAQ,SAAQ,KAAK;KAAG;IAC9B,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAwB,EAAE,CAAC;IACrC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;QACxB,MAAM,IAAI,OAAO,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrC,IAAI,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACtC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,OAAO;gBAAE,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC;iBAClE,IAAI,KAAK,KAAK,SAAS;gBAAE,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC;QAC1D,CAAC;QACD,IAAI,GAAG,GAAoB,IAAI,CAAC;QAChC,IAAI,GAAG,CAAC,GAAG,KAAK,EAAE,IAAI,GAAG,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YAC/C,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;YAC3D,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;YACjD,GAAG,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7F,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE;QACzB,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,CAAC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,GAAG,YAAY,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;IAC1D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,MAAc,EAAE,IAAY;IAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC;IACpC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;YACL,KAAK,EAAE,EAAE;YACT,QAAQ,EAAE,CAAC,IAAI,OAAO,CAAC,gBAAgB,EAAE,kFAAkF,CAAC,CAAC;SAC9H,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,IAAI,OAAO,CAAC,gBAAgB,EAAE,GAAG,QAAQ,iBAAiB,CAAC,CAAC,EAAE,CAAC;IACrH,oGAAoG;IACpG,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,GAAG;QAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,IAAI,OAAO,CAAC,gBAAgB,EAAE,GAAG,QAAQ,oBAAoB,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;IAE/G,MAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,IAAI,OAAO,CAAC,kBAAkB,EAAE,GAAG,QAAQ,+DAA+D,CAAC,CAAC,EAAE,CAAC;IAChJ,CAAC;IACD,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;QAC1B,OAAO;YACL,KAAK,EAAE,EAAE;YACT,QAAQ,EAAE,CAAC,IAAI,OAAO,CAAC,kBAAkB,EAAE,GAAG,QAAQ,wFAAwF,CAAC,CAAC;SACjJ,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,IAAI,OAAO,CAAC,cAAc,EAAE,GAAG,QAAQ,2DAA2D,CAAC,CAAC,EAAE,CAAC;IACpI,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AACjC,CAAC;AAID,6FAA6F;AAC7F,SAAS,WAAW,CAAC,KAAiB;IACpC,MAAM,MAAM,GAAU,IAAI,GAAG,EAAE,CAAC;IAChC,MAAM,MAAM,GAAU,IAAI,GAAG,EAAE,CAAC;IAChC,MAAM,IAAI,GAAG,CAAC,KAAY,EAAE,GAAW,EAAE,KAAe,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAEhH,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QACjD,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC5B,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,SAAS,CAAC,MAAc,EAAE,MAAa,EAAE,MAAa;IACpE,0FAA0F;IAC1F,2FAA2F;IAC3F,8FAA8F;IAC9F,2FAA2F;IAC3F,2FAA2F;IAC3F,qCAAqC;IACrC,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;IACnD,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;IACnD,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,yFAAyF;QACzF,yCAAyC;QACzC,KAAK,IAAI,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;YAC/E,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACrC,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClF,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;QACrD,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,qCAAqC;QACrC,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACrE,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,IAAY;IACxD,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrE,QAAQ,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;IACjC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACpC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAE9C,MAAM,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9C,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,MAAM,QAAQ,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;IAE9D,6FAA6F;IAC7F,8DAA8D;IAC9D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAiC,CAAC;IAC1D,KAAK,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC3C,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE7B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAEpE,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzB,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,gBAAgB,EAAE,GAAG,MAAM,OAAO,MAAM,kCAAkC,CAAC,CAAC,CAAC;gBACzG,CAAC;qBAAM,CAAC;oBACN,0EAA0E;oBAC1E,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;oBAC5D,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;oBAC9D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACtB,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CAAC,cAAc,EAAE,GAAG,MAAM,OAAO,MAAM,YAAY,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,OAAO,OAAO,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAC5I,CAAC;oBACJ,CAAC;yBAAM,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC9B,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,cAAc,EAAE,GAAG,MAAM,OAAO,MAAM,oDAAoD,CAAC,CAAC,CAAC;oBACzH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;YAClF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC1C,IAAI,OAAO,IAAI,CAAC,UAAU;oBAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;IACH,CAAC;IAED,kFAAkF;IAClF,MAAM,IAAI,GAAG,IAAI,GAAG,CAAe,KAAK,CAAC,CAAC;IAC1C,KAAK,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;QAC5B,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;QACrC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC7G,2FAA2F;QAC3F,qCAAqC;QACrC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,WAAW,CAAC;YAChD,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,aAAa;gBAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChG,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS;YAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxC,MAAM,IAAI,CAAC,CAAC;gBACZ,SAAS;YACX,CAAC;YACD,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,CAAC,CAAC;gBACZ,SAAS,IAAI,CAAC,CAAC;gBACf,SAAS;YACX,CAAC;YACD,QAAQ,IAAI,CAAC,CAAC;YACd,qFAAqF;YACrF,4FAA4F;YAC5F,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9C,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CAAC,eAAe,EAAE,GAAG,MAAM,YAAY,IAAI,oCAAoC,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAC9H,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,QAAQ;QACR,OAAO,EAAE;YACP,YAAY,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS;YACvD,IAAI,EAAE,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,WAAW;YAClE,YAAY,EAAE,QAAQ,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,CAAC,WAAW;SACvE;KACF,CAAC;AACJ,CAAC;AAED,kGAAkG;AAClG,SAAS,QAAQ,CAAC,IAAyB;IACzC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9B,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC/D,CAAC;AAED,uGAAuG;AACvG,SAAS,SAAS,CAAC,EAAQ;IACzB,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,2CAA2C;AAC3C,SAAS,UAAU,CAAC,EAAQ;IAC1B,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAClB,MAAc,EACd,EAAQ,EACR,KAAe,EACf,MAA6B,EAC7B,IAAuB,EACvB,QAA4C,EAC5C,UAAmB,EACnB,QAAmB;IAEnB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC;IACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAEpD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,EAAE,GAAG,MAAM,4BAA4B,UAAU,uCAAuC,CAAC,CAAC,CAAC;QACzI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IACjC,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC/E,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACrG,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CAAC,yBAAyB,EAAE,GAAG,MAAM,OAAO,MAAM,kDAAkD,UAAU,8CAA8C,CAAC,CACzK,CAAC;IACJ,CAAC;IAED,yFAAyF;IACzF,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,IAAI,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACxE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CACT,iBAAiB,EACjB,GAAG,MAAM,uDAAuD,IAAI,IAAI,QAAQ,QAAQ,QAAQ,CAAC,MAAM,kCAAkC,EACzI,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CACjC,CACF,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,GAAG,EAAoB,CAAC;IAC9E,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,sBAAsB,EAAE,GAAG,MAAM,gBAAgB,IAAI,eAAe,UAAU,uBAAuB,CAAC,CAAC,CAAC;YAClI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACpB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,EAAE,CAAC;YAC1B,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACpB,SAAS;QACX,CAAC;QACD,+FAA+F;QAC/F,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AACjC,CAAC;AAED,iGAAiG;AACjG,EAAE;AACF,6FAA6F;AAC7F,4FAA4F;AAE5F,MAAM,MAAM,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;AACjG,MAAM,WAAW,GAAG,OAAO,CAAC;AAC5B,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAEjC;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAClE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACrD,IAAI,OAAO;gBAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,IAAU,EAAE,EAAQ;IACvC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,IAAY,EAAE,KAAK,GAAG,IAAI,IAAI,EAAE;IAC5E,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACpC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAE9C,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;IAClC,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvD,+FAA+F;IAC/F,8FAA8F;IAC9F,6FAA6F;IAC7F,iFAAiF;IACjF,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,sBAAsB,CAAC;QACpF,OAAO;YACL,QAAQ,EAAE,CAAC,IAAI,OAAO,CAAC,mBAAmB,EAAE,6BAA6B,QAAQ,OAAO,IAAI,mCAAmC,CAAC,CAAC;YACjI,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,SAAS,EAAE,QAAQ,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,qBAAqB,IAAI,GAAG,EAAE;SACjH,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,qBAAqB,IAAI,oBAAoB,CAAC;IAErE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACtE,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;IAC/B,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,KAAK,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,KAAyB,EAAE,CAAC;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,SAAS;QACzC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,GAAG,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAE9C,+CAA+C;QAC/C,IAAI,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,QAAQ,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC;YAC9E,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;gBAC1D,YAAY,IAAI,CAAC,CAAC;gBAClB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;oBAClC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,uBAAuB,EAAE,GAAG,MAAM,OAAO,IAAI,6BAA6B,CAAC,CAAC,CAAC;gBACzG,CAAC;YACH,CAAC;QACH,CAAC;QAED,iEAAiE;QACjE,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,EAAE,CAAC;gBACtE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrB,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC;oBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QAED,IAAI,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9D,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CACT,+BAA+B,EAC/B,GAAG,MAAM,cAAc,QAAQ,kDAAkD,EACjF,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CACjC,CACF,CAAC;QACJ,CAAC;QAED,4FAA4F;QAC5F,yFAAyF;QACzF,6FAA6F;QAC7F,6FAA6F;QAC7F,4FAA4F;QAC5F,4EAA4E;QAC5E,MAAM,OAAO,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,IAAI,UAAU,IAAI,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACnG,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CACT,sBAAsB,EACtB,GAAG,MAAM,cAAc,QAAQ,6DAA6D,IAAI,OAAO,OAAO,CAAC,MAAM,qBAAqB,EAC1I,SAAS,CACV,CACF,CAAC;QACJ,CAAC;QAED,gDAAgD;QAChD,IAAI,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;YAC7C,4FAA4F;YAC5F,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;YACtC,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpB,8FAA8F;gBAC9F,kFAAkF;gBAClF,MAAM,GAAG,GAAG,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrE,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACnF,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC;oBAC5G,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,kBAAkB,EAAE,GAAG,MAAM,oCAAoC,CAAC,CAAC,CAAC;oBAC9F,SAAS;gBACX,CAAC;gBACD,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACtC,IAAI,GAAG,GAAG,OAAO,EAAE,CAAC;oBAClB,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CACT,gBAAgB,EAChB,GAAG,MAAM,oCAAoC,GAAG,sBAAsB,OAAO,6BAA6B,EAC1G,SAAS,CACV,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,EAAE,CAAC;gBACpD,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CAAC,kBAAkB,EAAE,GAAG,MAAM,iBAAiB,QAAQ,8CAA8C,EAAE,SAAS,CAAC,CAC7H,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC;AACzH,CAAC;AAED,iGAAiG;AACjG,EAAE;AACF,+FAA+F;AAC/F,+FAA+F;AAC/F,iEAAiE;AACjE,EAAE;AACF,gGAAgG;AAChG,iGAAiG;AACjG,+FAA+F;AAC/F,+DAA+D;AAC/D,EAAE;AACF,2FAA2F;AAC3F,wFAAwF;AACxF,iGAAiG;AACjG,eAAe;AACf,MAAM,UAAU,YAAY,CAAC,MAAc,EAAE,IAAY;IACvD,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAI,MAAc,CAAC,iBAAuC,CAAC;IAEzE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;YACL,QAAQ,EAAE;gBACR,IAAI,OAAO,CACT,2BAA2B,EAC3B,wFAAwF,CACzF;aACF;YACD,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;SAC/D,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO;YACL,QAAQ,EAAE,CAAC,IAAI,OAAO,CAAC,2BAA2B,EAAE,GAAG,QAAQ,iBAAiB,CAAC,CAAC;YAClF,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;SAC/D,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,IAAI,IAAI,CAAC,2BAA2B,KAAK,CAAC,EAAE,CAAC;QAC3C,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,6BAA6B,EAAE,GAAG,QAAQ,8CAA8C,CAAC,CAAC,CAAC;IACvH,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,WAAW;QAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,6BAA6B,EAAE,GAAG,QAAQ,2BAA2B,CAAC,CAAC,CAAC;IAEzH,MAAM,MAAM,GAAU,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;IACxC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CAAC,yBAAyB,EAAE,GAAG,QAAQ,gFAAgF,CAAC,CACpI,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACtE,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;IAE/B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,KAAK,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;QACjC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,CAAC,CAAC;YACZ,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YAEnF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CAAC,eAAe,EAAE,GAAG,MAAM,oBAAoB,OAAO,qCAAqC,CAAC,CACxG,CAAC;gBACF,SAAS;YACX,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,OAAO;gBAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAE7D,uFAAuF;YACvF,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;YAC7C,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oBAC5B,MAAM,MAAM,GAAa,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;oBAC9C,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC/C,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CACT,oBAAoB,EACpB,GAAG,MAAM,cAAc,OAAO,mBAAmB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,IAAI,mBAAmB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACrI,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;YACvC,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oBAC5B,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;oBACpE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC3B,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CACT,eAAe,EACf,GAAG,MAAM,wBAAwB,KAAK,WAAW,KAAK,CAAC,IAAI,iBAAiB,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAC7H,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,6FAA6F;IAC7F,8FAA8F;IAC9F,4EAA4E;IAC5E,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACrC,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CAAC,mBAAmB,EAAE,GAAG,KAAK,CAAC,IAAI,4CAA4C,EAAE,SAAS,CAAC,CACvG,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,QAAQ;QACR,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE;KACvG,CAAC;AACJ,CAAC;AAED,iGAAiG;AACjG,EAAE;AACF,gGAAgG;AAChG,gGAAgG;AAChG,kGAAkG;AAClG,6DAA6D;AAC7D,EAAE;AACF,gGAAgG;AAChG,iGAAiG;AACjG,kFAAkF;AAClF,EAAE;AACF,2FAA2F;AAC3F,6FAA6F;AAC7F,oFAAoF;AACpF,EAAE;AACF,kGAAkG;AAClG,+FAA+F;AAC/F,gGAAgG;AAChG,6FAA6F;AAC7F,6BAA6B;AAE7B;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9F,OAAO,IAAI,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;AACpD,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CACtB,UAAkB,EAClB,IAAY,EACZ,IAAa,EACb,MAA4C,EAC5C,OAAuD,EACvD,QAAmB;IAEnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO;IACjC,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,MAAM,EAAE,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/C,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CAAC,oBAAoB,EAAE,GAAG,UAAU,OAAO,IAAI,yBAAyB,KAAK,mCAAmC,EAAE,SAAS,CAAC,CACxI,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,UAAU,CACjB,UAAkB,EAClB,MAAc,EACd,IAAY,EACZ,OAAY,EACZ,SAA+B,EAC/B,MAAiC,EACjC,QAA2B,EAC3B,QAAmB,EACnB,QAA6B;IAE7B,wFAAwF;IACxF,4FAA4F;IAC5F,2FAA2F;IAC3F,4FAA4F;IAC5F,MAAM,QAAQ,GAAG,OAAO,EAAE,KAAK,CAAC;IAChC,MAAM,KAAK,GACT,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ;QACtC,CAAC,CAAC,CAAC,QAAQ,CAAC;QACZ,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YACvB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAc,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;YACrF,CAAC,CAAC,EAAE,CAAC;IACX,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5C,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,wBAAwB,EAAE,GAAG,UAAU,eAAe,IAAI,cAAc,KAAK,YAAY,IAAI,GAAG,CAAC,OAAO,KAAK,CAAC,MAAM,4BAA4B,EAAE,SAAS,CAAC,CAAC,CAAC;QAC1L,CAAC;IACH,CAAC;IACD,yFAAyF;IACzF,8FAA8F;IAC9F,kEAAkE;IAClE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACvC,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;QACtB,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACpE,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,GAAG,CAAC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,IAAI,KAAK;gBAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,UAAU,eAAe,OAAO,cAAc,EAAE,KAAK,KAAK,KAAK,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;QACjJ,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAC/B,2FAA2F;IAC3F,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,kBAAkB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3G,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;IACrC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,wBAAwB,EAAE,GAAG,UAAU,eAAe,IAAI,YAAY,KAAK,2BAA2B,EAAE,SAAS,CAAC,CAAC,CAAC;QAC9I,OAAO;IACT,CAAC;IACD,IAAI,CAAC,SAAS;QAAE,OAAO;IACvB,uFAAuF;IACvF,wFAAwF;IACxF,uFAAuF;IACvF,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACpF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAChF,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/E,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACvF,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAChI,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CACT,iCAAiC,EACjC,GAAG,UAAU,eAAe,IAAI,mBAAmB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,QAAQ,KAAK,mBAAmB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EACxI,QAAQ,CACT,CACF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,uHAAuH;AACvH,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AAED,oCAAoC;AACpC,SAAS,OAAO,CAAC,IAAyB;IACxC,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,MAAc,EAAE,IAAY;IACpD,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAK,MAAc,CAAC,KAA8B,IAAI,EAAE,CAAC;IACvE,MAAM,QAAQ,GAAI,MAAc,CAAC,cAAoC,CAAC;IACtE,MAAM,KAAK,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;IAE5D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;YACL,QAAQ,EAAE,CAAC,IAAI,OAAO,CAAC,wBAAwB,EAAE,qFAAqF,CAAC,CAAC;YACxI,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;YACL,QAAQ,EAAE,CAAC,IAAI,OAAO,CAAC,wBAAwB,EAAE,qFAAqF,CAAC,CAAC;YACxI,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;IACD,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,QAAQ,EAAE,CAAC,IAAI,OAAO,CAAC,wBAAwB,EAAE,GAAG,QAAQ,iBAAiB,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC7G,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7D,IAAI,IAAI,CAAC,wBAAwB,KAAK,CAAC,EAAE,CAAC;QACxC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,0BAA0B,EAAE,GAAG,QAAQ,2CAA2C,CAAC,CAAC,CAAC;IACjH,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,WAAW;QAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,0BAA0B,EAAE,GAAG,QAAQ,2BAA2B,CAAC,CAAC,CAAC;IAGtH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAsC,CAAC;IAC/D,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;QAChD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;YAClC,uFAAuF;YACvF,yFAAyF;YACzF,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;gBACrD,CAAC,CAAC,IAAI,GAAG,CAAsB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,CAAE,CAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChH,CAAC,CAAC,IAAI,CAAC;YACT,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5I,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,2FAA2F;IAC3F,4FAA4F;IAC5F,6FAA6F;IAC7F,0FAA0F;IAC1F,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACtE,IAAK,MAAc,CAAC,KAAK,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC,EAAE,CAAC;QACnF,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CAAC,gBAAgB,EAAE,mGAAmG,EAAE,SAAS,CAAC,CAC9I,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAe,KAAK,CAAC,CAAC;IAE9C,MAAM,SAAS,GAAqB,EAAE,CAAC;IACvC,MAAM,IAAI,GAAqB,EAAE,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC/C,MAAM,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YAC7C,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IACD,WAAW,CAAC,IAAI,CAAC,CAAC;IAClB,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,wBAAwB,EAAE,0CAA0C,CAAC,CAAC,CAAC;IACnG,CAAC;IAGD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC3C,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,KAAK,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpC,sFAAsF;QACtF,2FAA2F;QAC3F,wFAAwF;QACxF,kFAAkF;QAClF,2EAA2E;QAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,IAAI,aAAa,CAAC;QACvD,2FAA2F;QAC3F,iEAAiE;QACjE,MAAM,QAAQ,GAAG,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,CAAC,KAAa,EAAU,EAAE;YACvC,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACjG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;QACtD,CAAC,CAAC;QACF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;gBAC5B,aAAa,IAAI,CAAC,CAAC;gBACnB,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CACT,oBAAoB,EACpB,GAAG,UAAU,cAAc,MAAM,uFAAuF,EACxH,SAAS,CACV,CACF,CAAC;gBACF,wFAAwF;gBACxF,wFAAwF;gBACxF,wFAAwF;gBACxF,IAAK,MAAc,CAAC,KAAK,EAAE,CAAC;oBAC1B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;wBAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;wBAChF,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;oBACxH,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,qBAAqB,EAAE,GAAG,UAAU,cAAc,MAAM,uDAAuD,CAAC,CAAC,CAAC;YAC9I,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC5B,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CACT,qBAAqB,EACrB,GAAG,UAAU,cAAc,MAAM,qGAAqG,EACtI,SAAS,CACV,CACF,CAAC;QACJ,CAAC;QACD,MAAM,UAAU,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;QACvH,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAE1B,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,GAAgB,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;QAExG,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC;YACnD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YACrC,IAAI,OAAO,EAAE,CAAC;gBACZ,mFAAmF;gBACnF,iFAAiF;gBACjF,oFAAoF;gBACpF,yEAAyE;gBACzE,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;gBACnC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC/B,KAAK,MAAM,KAAK,IAAI,IAAI,IAAI,UAAU,EAAE,CAAC;oBACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACnC,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACd,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,EAAE,GAAG,UAAU,OAAO,OAAO,6BAA6B,KAAK,wCAAwC,CAAC,CAAC,CAAC;oBAC1J,CAAC;yBAAM,CAAC;wBACN,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;wBAC9C,IAAI,KAAK,GAAG,OAAO,EAAE,CAAC;4BACpB,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CAAC,iBAAiB,EAAE,GAAG,UAAU,OAAO,OAAO,0BAA0B,OAAO,0BAA0B,KAAK,kBAAkB,KAAK,EAAE,CAAC,CACrJ,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,eAAe,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;gBAChH,SAAS;YACX,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACvB,KAAK,MAAM,KAAK,IAAI,IAAI,IAAI,UAAU,EAAE,CAAC;gBACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACnC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,EAAE,GAAG,UAAU,OAAO,KAAK,6BAA6B,KAAK,wCAAwC,CAAC,CAAC,CAAC;gBACxJ,CAAC;qBAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBACvC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,iBAAiB,EAAE,GAAG,UAAU,OAAO,KAAK,+BAA+B,KAAK,eAAe,CAAC,CAAC,CAAC;gBAC9H,CAAC;YACH,CAAC;YACD,eAAe,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;QACvG,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC;YACvD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACpD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YACjC,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACzD,IAAI,KAAK;gBAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;gBACvC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7B,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;YAClD,mFAAmF;YACnF,sFAAsF;YACtF,MAAM,MAAM,GAAG,CAAC,QAAuB,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YACjI,MAAM,KAAK,GAAG,CAAC,QAAuB,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YAEzH,IAAI,SAAS,EAAE,CAAC;gBACd,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;oBAC9B,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACnC,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACd,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,EAAE,GAAG,UAAU,eAAe,IAAI,6BAA6B,KAAK,wCAAwC,CAAC,CAAC,CAAC;oBAC/J,CAAC;yBAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC7B,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CACT,iBAAiB,EACjB,KAAK;4BACH,CAAC,CAAC,GAAG,UAAU,OAAO,IAAI,0BAA0B,OAAO,0BAA0B,KAAK,kBAAkB,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE;4BAC/I,CAAC,CAAC,GAAG,UAAU,eAAe,IAAI,mCAAmC,KAAK,eAAe,CAC5F,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,MAAM,EAAE,CAAC;oBACvC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAClD,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CAAC,sBAAsB,EAAE,GAAG,UAAU,eAAe,IAAI,yBAAyB,KAAK,yCAAyC,CAAC,CAC7I,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5D,8EAA8E;gBAC9E,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,iBAAiB,EAAE,GAAG,UAAU,eAAe,IAAI,+BAA+B,CAAC,CAAC,CAAC;YACjH,CAAC;YAED,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChG,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACxB,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,MAAM,EAAE,CAAC;gBACvC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,yBAAyB,EAAE,GAAG,UAAU,eAAe,IAAI,iEAAiE,KAAK,IAAI,CAAC,CAAC,CAAC;gBACpK,CAAC;YACH,CAAC;QACH,CAAC;QAED,0FAA0F;QAC1F,0FAA0F;QAC1F,wFAAwF;QACxF,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YACnC,IAAI,KAAK;gBAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;QAED,0FAA0F;QAC1F,2FAA2F;QAC3F,4FAA4F;QAC5F,0FAA0F;QAC1F,yFAAyF;QACzF,oFAAoF;QACpF,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YACzC,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,MAAM,UAAU,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAC1C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAC9G,CAAC;YACF,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,eAAe,EAAE,GAAG,UAAU,aAAa,KAAK,+CAA+C,CAAC,CAAC,CAAC;YAC9H,CAAC;YACD,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;gBAC9C,kFAAkF;gBAClF,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAChE,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,MAAM,EAAE,CAAC;oBACvC,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI;wBAAE,SAAS;oBACvC,MAAM,OAAO,GAAG,KAAK;wBACnB,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACnF,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjF,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC3G,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;wBAC3B,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;wBACjE,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CACT,qBAAqB,EACrB,GAAG,UAAU,OAAO,QAAQ,2BAA2B,KAAK,qBAAqB,KAAK,sBAAsB,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC5I,CACF,CAAC;wBACF,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,2FAA2F;IAC3F,0EAA0E;IAC1E,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,wFAAwF;YACxF,4FAA4F;YAC5F,yFAAyF;YACzF,4FAA4F;YAC5F,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CACT,0BAA0B,EAC1B,GAAG,MAAM,iBAAiB,MAAM,CAAC,IAAI,wCAAwC,EAC7E,MAAM,CAAC,oBAAoB,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAC9D,CACF,CAAC;YACF,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,CAAC,EAAE,QAAQ,CAAC,IAAI,MAAM,EAAE,CAAC;YAClC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACpC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,EAAE,CAAC;oBACzG,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;oBACvB,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,qBAAqB,EAAE,GAAG,MAAM,OAAO,KAAK,qDAAqD,EAAE,SAAS,CAAC,CAAC,CAAC;gBAC3I,CAAC;YACH,CAAC;YACD,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACxC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC,EAAE,CAAC;oBACnH,IAAI,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;oBACzB,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,qBAAqB,EAAE,GAAG,MAAM,eAAe,OAAO,qDAAqD,EAAE,SAAS,CAAC,CAAC,CAAC;gBACrJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,QAAQ;QACR,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE;KACrI,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAkE;IACnF,CAAC,EAAE,WAAW;IACd,CAAC,EAAE,aAAa;IAChB,CAAC,EAAE,aAAa;IAChB,CAAC,EAAE,YAAY;IACf,CAAC,EAAE,SAAS;CACb,CAAC"}
1
+ {"version":3,"file":"checks.js","sourceRoot":"","sources":["../src/checks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EACS,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EACpI,KAAK,EAAE,aAAa,GACrB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AAE7E;;;;;;;;GAQG;AACH,MAAM,KAAK,GAAG,mDAAmD,CAAC;AAElE;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,MAAc,EAAE,IAAY;IACpD,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC7C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACxD,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,KAAK,EAAE,CAAC;AACnD,CAAC;AAOD,iGAAiG;AAEjG,SAAS,YAAY,CAAC,MAAc,EAAE,IAAY;IAChD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC7C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC/C,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAExD,KAAK,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;QACjC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACrD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAM,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,KAAK,WAAW;gBAAE,SAAS;YAClE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YACrC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;gBACrB,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CAAC,2BAA2B,EAAE,GAAG,MAAM,iBAAiB,IAAI,8CAA8C,CAAC,CACvH,CAAC;gBACF,SAAS;YACX,CAAC;YACD,sFAAsF;YACtF,0EAA0E;YAC1E,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACpC,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;YACjC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAC/B,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;YAC1D,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG,SAAS,MAAM,EAAE,EAAE,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS;QAChC,uFAAuF;QACvF,0FAA0F;QAC1F,8CAA8C;QAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG,SAAS,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7E,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAE,SAAS;QAC7E,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CACT,iBAAiB,EACjB,GAAG,GAAG,mBAAmB,MAAM,CAAC,MAAM,WAAW,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,wCAAwC,EAC1G,SAAS,CACV,CACF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;AAC9C,CAAC;AAED;;;;GAIG;AACH,SAAS,KAAK,CAAC,QAA+B;IAC5C,OAAO,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1F,CAAC;AAQD,SAAS,aAAa,CAAC,MAAc,EAAE,IAAY;IACjD,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;IAClC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;YACL,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,CAAC,IAAI,OAAO,CAAC,mBAAmB,EAAE,gFAAgF,CAAC,CAAC;YAC9H,UAAU,EAAE,EAAE;SACf,CAAC;IACJ,CAAC;IAED,iGAAiG;IACjG,iGAAiG;IACjG,iEAAiE;IACjE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,IAAI,OAAO,CAAC,mBAAmB,EAAE,GAAG,QAAQ,iBAAiB,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IACpH,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,IAAI,IAAI,CAAC,mBAAmB,KAAK,CAAC,EAAE,CAAC;QACnC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,qBAAqB,EAAE,GAAG,QAAQ,sCAAsC,CAAC,CAAC,CAAC;IACvG,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,WAAW;QAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,qBAAqB,EAAE,GAAG,QAAQ,2BAA2B,CAAC,CAAC,CAAC;IAEjH,MAAM,MAAM,GAAY,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;IAC1C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CAAC,iBAAiB,EAAE,GAAG,QAAQ,qFAAqF,CAAC,CACjI,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YAC5C,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,qBAAqB,EAAE,GAAG,QAAQ,sBAAsB,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;QACvG,CAAC;IACH,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;AAClE,CAAC;AAED,wFAAwF;AACxF,SAAS,UAAU,CAAC,MAAc,EAAE,MAAc,EAAE,KAAa;IAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IACnC,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5C,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,MAAM;YAAE,SAAS;QAClE,IAAI,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;IACxD,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAc,EAAE,IAAY;IACtD,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACtF,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;IAC/B,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACxF,QAAQ,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC;IAEpC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEzC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACpG,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAC/C,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;YAChB,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9C,SAAS;QACX,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,eAAe,EAAE,GAAG,GAAG,qCAAqC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7I,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACtF,wFAAwF;YACxF,sFAAsF;YACtF,oFAAoF;YACpF,wFAAwF;YACxF,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACnG,IAAI,KAAK,EAAE,CAAC;gBACV,aAAa,IAAI,CAAC,CAAC;gBACnB,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CAAC,sBAAsB,EAAE,GAAG,GAAG,mBAAmB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,sDAAsD,EAAE,SAAS,CAAC,CACjJ,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,eAAe,EAAE,GAAG,GAAG,mBAAmB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;YAC9G,CAAC;QACH,CAAC;IACH,CAAC;IAED,8FAA8F;IAC9F,4FAA4F;IAC5F,oFAAoF;IACpF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,gBAAgB,EAAE,KAAK,IAAI,CAAC,IAAI,oDAAoD,EAAE,SAAS,CAAC,CAAC,CAAC;QAC9H,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GAA2B,EAAE,CAAC;IACjD,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,aAAa,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;IACrE,CAAC;IAED,OAAO;QACL,QAAQ;QACR,OAAO,EAAE;YACP,WAAW,EAAE,UAAU;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACzD,QAAQ,EAAE,QAAQ,CAAC,IAAI;YACvB,cAAc,EAAE,aAAa;YAC7B,eAAe,EAAE,aAAa;SAC/B;KACF,CAAC;AACJ,CAAC;AAED,iGAAiG;AACjG,EAAE;AACF,iGAAiG;AACjG,0EAA0E;AAE1E,MAAM,YAAY,GAAG,SAAS,CAAC,CAAC,6CAA6C;AAS7E;;;;;;;;;;GAUG;AACH,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,OAAQ,SAAQ,KAAK;KAAG;IAC9B,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAwB,EAAE,CAAC;IACrC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;QACxB,MAAM,IAAI,OAAO,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrC,IAAI,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACtC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,OAAO;gBAAE,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC;iBAClE,IAAI,KAAK,KAAK,SAAS;gBAAE,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC;QAC1D,CAAC;QACD,IAAI,GAAG,GAAoB,IAAI,CAAC;QAChC,IAAI,GAAG,CAAC,GAAG,KAAK,EAAE,IAAI,GAAG,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YAC/C,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;YAC3D,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;YACjD,GAAG,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7F,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE;QACzB,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,CAAC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,GAAG,YAAY,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;IAC1D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,MAAc,EAAE,IAAY;IAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC;IACpC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;YACL,KAAK,EAAE,EAAE;YACT,QAAQ,EAAE,CAAC,IAAI,OAAO,CAAC,gBAAgB,EAAE,kFAAkF,CAAC,CAAC;SAC9H,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,IAAI,OAAO,CAAC,gBAAgB,EAAE,GAAG,QAAQ,iBAAiB,CAAC,CAAC,EAAE,CAAC;IACrH,oGAAoG;IACpG,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,GAAG;QAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,IAAI,OAAO,CAAC,gBAAgB,EAAE,GAAG,QAAQ,oBAAoB,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;IAE/G,MAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,IAAI,OAAO,CAAC,kBAAkB,EAAE,GAAG,QAAQ,+DAA+D,CAAC,CAAC,EAAE,CAAC;IAChJ,CAAC;IACD,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;QAC1B,OAAO;YACL,KAAK,EAAE,EAAE;YACT,QAAQ,EAAE,CAAC,IAAI,OAAO,CAAC,kBAAkB,EAAE,GAAG,QAAQ,wFAAwF,CAAC,CAAC;SACjJ,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,IAAI,OAAO,CAAC,cAAc,EAAE,GAAG,QAAQ,2DAA2D,CAAC,CAAC,EAAE,CAAC;IACpI,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AACjC,CAAC;AAID,6FAA6F;AAC7F,SAAS,WAAW,CAAC,KAAiB;IACpC,MAAM,MAAM,GAAU,IAAI,GAAG,EAAE,CAAC;IAChC,MAAM,MAAM,GAAU,IAAI,GAAG,EAAE,CAAC;IAChC,MAAM,IAAI,GAAG,CAAC,KAAY,EAAE,GAAW,EAAE,KAAe,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAEhH,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QACjD,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC5B,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,SAAS,CAAC,MAAc,EAAE,MAAa,EAAE,MAAa;IACpE,0FAA0F;IAC1F,2FAA2F;IAC3F,8FAA8F;IAC9F,2FAA2F;IAC3F,2FAA2F;IAC3F,qCAAqC;IACrC,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;IACnD,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;IACnD,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,yFAAyF;QACzF,yCAAyC;QACzC,KAAK,IAAI,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;YAC/E,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACrC,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClF,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;QACrD,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,qCAAqC;QACrC,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACrE,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,IAAY;IACxD,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrE,QAAQ,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;IACjC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACpC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAE9C,MAAM,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9C,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,MAAM,QAAQ,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;IAE9D,6FAA6F;IAC7F,8DAA8D;IAC9D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAiC,CAAC;IAC1D,KAAK,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC3C,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE7B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAEpE,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzB,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,gBAAgB,EAAE,GAAG,MAAM,OAAO,MAAM,kCAAkC,CAAC,CAAC,CAAC;gBACzG,CAAC;qBAAM,CAAC;oBACN,0EAA0E;oBAC1E,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;oBAC5D,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;oBAC9D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACtB,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CAAC,cAAc,EAAE,GAAG,MAAM,OAAO,MAAM,YAAY,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,OAAO,OAAO,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAC5I,CAAC;oBACJ,CAAC;yBAAM,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC9B,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,cAAc,EAAE,GAAG,MAAM,OAAO,MAAM,oDAAoD,CAAC,CAAC,CAAC;oBACzH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;YAClF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC1C,IAAI,OAAO,IAAI,CAAC,UAAU;oBAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;IACH,CAAC;IAED,kFAAkF;IAClF,MAAM,IAAI,GAAG,IAAI,GAAG,CAAe,KAAK,CAAC,CAAC;IAC1C,KAAK,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;QAC5B,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;QACrC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC7G,2FAA2F;QAC3F,qCAAqC;QACrC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,WAAW,CAAC;YAChD,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,aAAa;gBAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChG,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS;YAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxC,MAAM,IAAI,CAAC,CAAC;gBACZ,SAAS;YACX,CAAC;YACD,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,CAAC,CAAC;gBACZ,SAAS,IAAI,CAAC,CAAC;gBACf,SAAS;YACX,CAAC;YACD,QAAQ,IAAI,CAAC,CAAC;YACd,qFAAqF;YACrF,4FAA4F;YAC5F,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9C,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CAAC,eAAe,EAAE,GAAG,MAAM,YAAY,IAAI,oCAAoC,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAC9H,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,QAAQ;QACR,OAAO,EAAE;YACP,YAAY,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS;YACvD,IAAI,EAAE,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,WAAW;YAClE,YAAY,EAAE,QAAQ,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,CAAC,WAAW;SACvE;KACF,CAAC;AACJ,CAAC;AAED,kGAAkG;AAClG,SAAS,QAAQ,CAAC,IAAyB;IACzC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9B,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC/D,CAAC;AAED,uGAAuG;AACvG,SAAS,SAAS,CAAC,EAAQ;IACzB,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,2CAA2C;AAC3C,SAAS,UAAU,CAAC,EAAQ;IAC1B,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAClB,MAAc,EACd,EAAQ,EACR,KAAe,EACf,MAA6B,EAC7B,IAAuB,EACvB,QAA4C,EAC5C,UAAmB,EACnB,QAAmB;IAEnB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC;IACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAEpD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,EAAE,GAAG,MAAM,4BAA4B,UAAU,uCAAuC,CAAC,CAAC,CAAC;QACzI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IACjC,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC/E,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACrG,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CAAC,yBAAyB,EAAE,GAAG,MAAM,OAAO,MAAM,kDAAkD,UAAU,8CAA8C,CAAC,CACzK,CAAC;IACJ,CAAC;IAED,yFAAyF;IACzF,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,IAAI,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACxE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CACT,iBAAiB,EACjB,GAAG,MAAM,uDAAuD,IAAI,IAAI,QAAQ,QAAQ,QAAQ,CAAC,MAAM,kCAAkC,EACzI,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CACjC,CACF,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,GAAG,EAAoB,CAAC;IAC9E,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,sBAAsB,EAAE,GAAG,MAAM,gBAAgB,IAAI,eAAe,UAAU,uBAAuB,CAAC,CAAC,CAAC;YAClI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACpB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,EAAE,CAAC;YAC1B,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACpB,SAAS;QACX,CAAC;QACD,+FAA+F;QAC/F,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AACjC,CAAC;AAED,iGAAiG;AACjG,EAAE;AACF,6FAA6F;AAC7F,4FAA4F;AAE5F,MAAM,MAAM,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;AACjG,MAAM,WAAW,GAAG,OAAO,CAAC;AAC5B,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAEjC;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAClE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACrD,IAAI,OAAO;gBAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,IAAU,EAAE,EAAQ;IACvC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,IAAY,EAAE,KAAK,GAAG,IAAI,IAAI,EAAE;IAC5E,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACpC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAE9C,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;IAClC,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvD,+FAA+F;IAC/F,8FAA8F;IAC9F,6FAA6F;IAC7F,iFAAiF;IACjF,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,sBAAsB,CAAC;QACpF,OAAO;YACL,QAAQ,EAAE,CAAC,IAAI,OAAO,CAAC,mBAAmB,EAAE,6BAA6B,QAAQ,OAAO,IAAI,mCAAmC,CAAC,CAAC;YACjI,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,SAAS,EAAE,QAAQ,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,qBAAqB,IAAI,GAAG,EAAE;SACjH,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,qBAAqB,IAAI,oBAAoB,CAAC;IAErE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACtE,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;IAC/B,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,KAAK,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,KAAyB,EAAE,CAAC;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,SAAS;QACzC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,GAAG,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAE9C,+CAA+C;QAC/C,IAAI,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,QAAQ,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC;YAC9E,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;gBAC1D,YAAY,IAAI,CAAC,CAAC;gBAClB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;oBAClC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,uBAAuB,EAAE,GAAG,MAAM,OAAO,IAAI,6BAA6B,CAAC,CAAC,CAAC;gBACzG,CAAC;YACH,CAAC;QACH,CAAC;QAED,iEAAiE;QACjE,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,EAAE,CAAC;gBACtE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrB,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC;oBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QAED,IAAI,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9D,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CACT,+BAA+B,EAC/B,GAAG,MAAM,cAAc,QAAQ,kDAAkD,EACjF,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CACjC,CACF,CAAC;QACJ,CAAC;QAED,4FAA4F;QAC5F,yFAAyF;QACzF,6FAA6F;QAC7F,6FAA6F;QAC7F,4FAA4F;QAC5F,4EAA4E;QAC5E,MAAM,OAAO,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,IAAI,UAAU,IAAI,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACnG,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CACT,sBAAsB,EACtB,GAAG,MAAM,cAAc,QAAQ,6DAA6D,IAAI,OAAO,OAAO,CAAC,MAAM,qBAAqB,EAC1I,SAAS,CACV,CACF,CAAC;QACJ,CAAC;QAED,gDAAgD;QAChD,IAAI,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;YAC7C,4FAA4F;YAC5F,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;YACtC,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpB,8FAA8F;gBAC9F,kFAAkF;gBAClF,MAAM,GAAG,GAAG,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrE,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACnF,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC;oBAC5G,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,kBAAkB,EAAE,GAAG,MAAM,oCAAoC,CAAC,CAAC,CAAC;oBAC9F,SAAS;gBACX,CAAC;gBACD,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACtC,IAAI,GAAG,GAAG,OAAO,EAAE,CAAC;oBAClB,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CACT,gBAAgB,EAChB,GAAG,MAAM,oCAAoC,GAAG,sBAAsB,OAAO,6BAA6B,EAC1G,SAAS,CACV,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,EAAE,CAAC;gBACpD,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CAAC,kBAAkB,EAAE,GAAG,MAAM,iBAAiB,QAAQ,8CAA8C,EAAE,SAAS,CAAC,CAC7H,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC;AACzH,CAAC;AAED,iGAAiG;AACjG,EAAE;AACF,+FAA+F;AAC/F,+FAA+F;AAC/F,iEAAiE;AACjE,EAAE;AACF,gGAAgG;AAChG,iGAAiG;AACjG,+FAA+F;AAC/F,+DAA+D;AAC/D,EAAE;AACF,2FAA2F;AAC3F,wFAAwF;AACxF,iGAAiG;AACjG,eAAe;AACf,MAAM,UAAU,YAAY,CAAC,MAAc,EAAE,IAAY;IACvD,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAI,MAAc,CAAC,iBAAuC,CAAC;IAEzE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;YACL,QAAQ,EAAE;gBACR,IAAI,OAAO,CACT,2BAA2B,EAC3B,wFAAwF,CACzF;aACF;YACD,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;SAC/D,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO;YACL,QAAQ,EAAE,CAAC,IAAI,OAAO,CAAC,2BAA2B,EAAE,GAAG,QAAQ,iBAAiB,CAAC,CAAC;YAClF,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;SAC/D,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,IAAI,IAAI,CAAC,2BAA2B,KAAK,CAAC,EAAE,CAAC;QAC3C,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,6BAA6B,EAAE,GAAG,QAAQ,8CAA8C,CAAC,CAAC,CAAC;IACvH,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,WAAW;QAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,6BAA6B,EAAE,GAAG,QAAQ,2BAA2B,CAAC,CAAC,CAAC;IAEzH,MAAM,MAAM,GAAU,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;IACxC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CAAC,yBAAyB,EAAE,GAAG,QAAQ,gFAAgF,CAAC,CACpI,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACtE,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;IAE/B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,KAAK,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;QACjC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,CAAC,CAAC;YACZ,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YAEnF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CAAC,eAAe,EAAE,GAAG,MAAM,oBAAoB,OAAO,qCAAqC,CAAC,CACxG,CAAC;gBACF,SAAS;YACX,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,OAAO;gBAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAE7D,uFAAuF;YACvF,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;YAC7C,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oBAC5B,MAAM,MAAM,GAAa,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;oBAC9C,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC/C,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CACT,oBAAoB,EACpB,GAAG,MAAM,cAAc,OAAO,mBAAmB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,IAAI,mBAAmB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACrI,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;YACvC,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oBAC5B,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;oBACpE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC3B,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CACT,eAAe,EACf,GAAG,MAAM,wBAAwB,KAAK,WAAW,KAAK,CAAC,IAAI,iBAAiB,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAC7H,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,6FAA6F;IAC7F,8FAA8F;IAC9F,4EAA4E;IAC5E,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACrC,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CAAC,mBAAmB,EAAE,GAAG,KAAK,CAAC,IAAI,4CAA4C,EAAE,SAAS,CAAC,CACvG,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,QAAQ;QACR,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE;KACvG,CAAC;AACJ,CAAC;AAED,iGAAiG;AACjG,EAAE;AACF,gGAAgG;AAChG,gGAAgG;AAChG,kGAAkG;AAClG,6DAA6D;AAC7D,EAAE;AACF,gGAAgG;AAChG,iGAAiG;AACjG,kFAAkF;AAClF,EAAE;AACF,2FAA2F;AAC3F,6FAA6F;AAC7F,oFAAoF;AACpF,EAAE;AACF,kGAAkG;AAClG,+FAA+F;AAC/F,gGAAgG;AAChG,6FAA6F;AAC7F,6BAA6B;AAE7B;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9F,OAAO,IAAI,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;AACpD,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CACtB,UAAkB,EAClB,IAAY,EACZ,IAAa,EACb,MAA4C,EAC5C,OAAuD,EACvD,QAAmB;IAEnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO;IACjC,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,MAAM,EAAE,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/C,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CAAC,oBAAoB,EAAE,GAAG,UAAU,OAAO,IAAI,yBAAyB,KAAK,mCAAmC,EAAE,SAAS,CAAC,CACxI,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,UAAU,CACjB,UAAkB,EAClB,MAAc,EACd,IAAY,EACZ,OAAY,EACZ,SAA+B,EAC/B,MAAiC,EACjC,QAA2B,EAC3B,QAAmB,EACnB,QAA6B;IAE7B,wFAAwF;IACxF,4FAA4F;IAC5F,2FAA2F;IAC3F,4FAA4F;IAC5F,MAAM,QAAQ,GAAG,OAAO,EAAE,KAAK,CAAC;IAChC,MAAM,KAAK,GACT,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ;QACtC,CAAC,CAAC,CAAC,QAAQ,CAAC;QACZ,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YACvB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAc,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;YACrF,CAAC,CAAC,EAAE,CAAC;IACX,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5C,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,wBAAwB,EAAE,GAAG,UAAU,eAAe,IAAI,cAAc,KAAK,YAAY,IAAI,GAAG,CAAC,OAAO,KAAK,CAAC,MAAM,4BAA4B,EAAE,SAAS,CAAC,CAAC,CAAC;QAC1L,CAAC;IACH,CAAC;IACD,yFAAyF;IACzF,8FAA8F;IAC9F,kEAAkE;IAClE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACvC,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;QACtB,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACpE,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,GAAG,CAAC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,IAAI,KAAK;gBAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,UAAU,eAAe,OAAO,cAAc,EAAE,KAAK,KAAK,KAAK,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;QACjJ,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAC/B,2FAA2F;IAC3F,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,kBAAkB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3G,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;IACrC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,wBAAwB,EAAE,GAAG,UAAU,eAAe,IAAI,YAAY,KAAK,2BAA2B,EAAE,SAAS,CAAC,CAAC,CAAC;QAC9I,OAAO;IACT,CAAC;IACD,IAAI,CAAC,SAAS;QAAE,OAAO;IACvB,uFAAuF;IACvF,wFAAwF;IACxF,uFAAuF;IACvF,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACpF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAChF,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/E,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACvF,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAChI,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CACT,iCAAiC,EACjC,GAAG,UAAU,eAAe,IAAI,mBAAmB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,QAAQ,KAAK,mBAAmB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EACxI,QAAQ,CACT,CACF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,aAAa,CAAC,KAAU,EAAE,QAAgB,EAAE,MAAc,EAAE,QAAmB;IACtF,MAAM,GAAG,GAAG,KAAK,EAAE,KAAK,CAAC;IACzB,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACnD,MAAM,KAAK,GAAG,GAAG,QAAQ,OAAO,MAAM,eAAe,KAAK,EAAE,KAAK,IAAI,CAAC;IACtE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAChB,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,0BAA0B,EAAE,GAAG,KAAK,kDAAkD,CAAC,CAAC,CAAC;QACnH,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC1C,KAAK,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACjD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;;YAC1G,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,0BAA0B,EAAE,GAAG,KAAK,oBAAoB,OAAO,mCAAmC,CAAC,CAAC,CAAC;IACtI,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,SAAS,MAAM,CAAC,IAAU;IACxB,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,SAAS,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AAC3H,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,kBAAkB,CACzB,UAAkB,EAClB,IAAY,EACZ,OAAY,EACZ,MAA4D,EAC5D,QAA2B,EAC3B,QAAmB;IAEnB,MAAM,GAAG,GAAG,OAAO,EAAE,KAAK,CAAC;IAC3B,MAAM,MAAM,GACV,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG;QAC5B,CAAC,CAAC,CAAC,GAAG,CAAC;QACP,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YAClB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,KAAc,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;YAChF,CAAC,CAAC,EAAE,CAAC;IACX,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,MAAM,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,QAAQ,KAAK,SAAS;YAAE,SAAS;QACrC,QAAQ,GAAG,IAAI,CAAC;QAChB,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC1B,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACd,SAAS;YACX,CAAC;YACD,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC1B,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACjB,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CACT,gCAAgC,EAChC,GAAG,UAAU,eAAe,IAAI,0BAA0B,KAAK,cAAc,EAAE,kEAAkE,EACjJ,SAAS,CACV,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;YACnE,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CAAC,qBAAqB,EAAE,GAAG,UAAU,eAAe,IAAI,0BAA0B,KAAK,aAAa,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,IAAI,EAAE,EAAE,SAAS,CAAC,CAC1K,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,uHAAuH;AACvH,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AAED,oCAAoC;AACpC,SAAS,OAAO,CAAC,IAAyB;IACxC,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,MAAc,EAAE,IAAY;IACpD,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAK,MAAc,CAAC,KAA8B,IAAI,EAAE,CAAC;IACvE,MAAM,QAAQ,GAAI,MAAc,CAAC,cAAoC,CAAC;IACtE,MAAM,KAAK,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;IAE5D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;YACL,QAAQ,EAAE,CAAC,IAAI,OAAO,CAAC,wBAAwB,EAAE,qFAAqF,CAAC,CAAC;YACxI,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;YACL,QAAQ,EAAE,CAAC,IAAI,OAAO,CAAC,wBAAwB,EAAE,qFAAqF,CAAC,CAAC;YACxI,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;IACD,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,QAAQ,EAAE,CAAC,IAAI,OAAO,CAAC,wBAAwB,EAAE,GAAG,QAAQ,iBAAiB,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC7G,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7D,IAAI,IAAI,CAAC,wBAAwB,KAAK,CAAC,EAAE,CAAC;QACxC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,0BAA0B,EAAE,GAAG,QAAQ,2CAA2C,CAAC,CAAC,CAAC;IACjH,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,WAAW;QAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,0BAA0B,EAAE,GAAG,QAAQ,2BAA2B,CAAC,CAAC,CAAC;IAQtH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAsC,CAAC;IAC/D,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;QAChD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;YAClC,uFAAuF;YACvF,yFAAyF;YACzF,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;gBACrD,CAAC,CAAC,IAAI,GAAG,CAAsB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,CAAE,CAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChH,CAAC,CAAC,IAAI,CAAC;YACT,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;gBAC1B,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC7C,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACjD,MAAM;gBACN,KAAK,EAAE,aAAa,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC;aACjE,CAAC,CAAC;QACL,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,2FAA2F;IAC3F,4FAA4F;IAC5F,6FAA6F;IAC7F,0FAA0F;IAC1F,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACtE,IAAK,MAAc,CAAC,KAAK,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC,EAAE,CAAC;QACnF,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CAAC,gBAAgB,EAAE,mGAAmG,EAAE,SAAS,CAAC,CAC9I,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAe,KAAK,CAAC,CAAC;IAE9C,MAAM,SAAS,GAAqB,EAAE,CAAC;IACvC,MAAM,IAAI,GAAqB,EAAE,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC/C,MAAM,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YAC7C,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IACD,WAAW,CAAC,IAAI,CAAC,CAAC;IAClB,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,wBAAwB,EAAE,0CAA0C,CAAC,CAAC,CAAC;IACnG,CAAC;IAGD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC3C,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,KAAK,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpC,sFAAsF;QACtF,2FAA2F;QAC3F,wFAAwF;QACxF,kFAAkF;QAClF,2EAA2E;QAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,IAAI,aAAa,CAAC;QACvD,2FAA2F;QAC3F,iEAAiE;QACjE,MAAM,QAAQ,GAAG,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,CAAC,KAAa,EAAU,EAAE;YACvC,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACjG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;QACtD,CAAC,CAAC;QACF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;gBAC5B,aAAa,IAAI,CAAC,CAAC;gBACnB,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CACT,oBAAoB,EACpB,GAAG,UAAU,cAAc,MAAM,uFAAuF,EACxH,SAAS,CACV,CACF,CAAC;gBACF,wFAAwF;gBACxF,wFAAwF;gBACxF,wFAAwF;gBACxF,IAAK,MAAc,CAAC,KAAK,EAAE,CAAC;oBAC1B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;wBAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;wBAChF,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;oBACxH,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,qBAAqB,EAAE,GAAG,UAAU,cAAc,MAAM,uDAAuD,CAAC,CAAC,CAAC;YAC9I,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC5B,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CACT,qBAAqB,EACrB,GAAG,UAAU,cAAc,MAAM,qGAAqG,EACtI,SAAS,CACV,CACF,CAAC;QACJ,CAAC;QACD,MAAM,UAAU,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;QACvH,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAE1B,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,GAAgB,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;QAExG,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC;YACnD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YACrC,IAAI,OAAO,EAAE,CAAC;gBACZ,mFAAmF;gBACnF,iFAAiF;gBACjF,oFAAoF;gBACpF,yEAAyE;gBACzE,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;gBACnC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC/B,KAAK,MAAM,KAAK,IAAI,IAAI,IAAI,UAAU,EAAE,CAAC;oBACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACnC,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACd,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,EAAE,GAAG,UAAU,OAAO,OAAO,6BAA6B,KAAK,wCAAwC,CAAC,CAAC,CAAC;oBAC1J,CAAC;yBAAM,CAAC;wBACN,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;wBAC9C,IAAI,KAAK,GAAG,OAAO,EAAE,CAAC;4BACpB,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CAAC,iBAAiB,EAAE,GAAG,UAAU,OAAO,OAAO,0BAA0B,OAAO,0BAA0B,KAAK,kBAAkB,KAAK,EAAE,CAAC,CACrJ,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,eAAe,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;gBAChH,SAAS;YACX,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACvB,KAAK,MAAM,KAAK,IAAI,IAAI,IAAI,UAAU,EAAE,CAAC;gBACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACnC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,EAAE,GAAG,UAAU,OAAO,KAAK,6BAA6B,KAAK,wCAAwC,CAAC,CAAC,CAAC;gBACxJ,CAAC;qBAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBACvC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,iBAAiB,EAAE,GAAG,UAAU,OAAO,KAAK,+BAA+B,KAAK,eAAe,CAAC,CAAC,CAAC;gBAC9H,CAAC;YACH,CAAC;YACD,eAAe,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;QACvG,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC;YACvD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACpD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YACjC,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACzD,IAAI,KAAK;gBAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;gBACvC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7B,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;YAClD,mFAAmF;YACnF,sFAAsF;YACtF,MAAM,MAAM,GAAG,CAAC,QAAuB,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YACjI,MAAM,KAAK,GAAG,CAAC,QAAuB,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YAEzH,IAAI,SAAS,EAAE,CAAC;gBACd,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;oBAC9B,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACnC,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACd,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,EAAE,GAAG,UAAU,eAAe,IAAI,6BAA6B,KAAK,wCAAwC,CAAC,CAAC,CAAC;oBAC/J,CAAC;yBAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC7B,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CACT,iBAAiB,EACjB,KAAK;4BACH,CAAC,CAAC,GAAG,UAAU,OAAO,IAAI,0BAA0B,OAAO,0BAA0B,KAAK,kBAAkB,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE;4BAC/I,CAAC,CAAC,GAAG,UAAU,eAAe,IAAI,mCAAmC,KAAK,eAAe,CAC5F,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,MAAM,EAAE,CAAC;oBACvC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAClD,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CAAC,sBAAsB,EAAE,GAAG,UAAU,eAAe,IAAI,yBAAyB,KAAK,yCAAyC,CAAC,CAC7I,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5D,8EAA8E;gBAC9E,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,iBAAiB,EAAE,GAAG,UAAU,eAAe,IAAI,+BAA+B,CAAC,CAAC,CAAC;YACjH,CAAC;YAED,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAE9F,0FAA0F;YAC1F,8FAA8F;YAC9F,gEAAgE;YAChE,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;gBACrE,WAAW,IAAI,CAAC,CAAC;gBACjB,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,IAAI,kBAAkB,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC;oBAAE,aAAa,IAAI,CAAC,CAAC;YACzH,CAAC;QACH,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACxB,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,MAAM,EAAE,CAAC;gBACvC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,yBAAyB,EAAE,GAAG,UAAU,eAAe,IAAI,iEAAiE,KAAK,IAAI,CAAC,CAAC,CAAC;gBACpK,CAAC;YACH,CAAC;QACH,CAAC;QAED,0FAA0F;QAC1F,0FAA0F;QAC1F,wFAAwF;QACxF,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YACnC,IAAI,KAAK;gBAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;QAED,0FAA0F;QAC1F,2FAA2F;QAC3F,4FAA4F;QAC5F,0FAA0F;QAC1F,yFAAyF;QACzF,oFAAoF;QACpF,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YACzC,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,MAAM,UAAU,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAC1C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAC9G,CAAC;YACF,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,eAAe,EAAE,GAAG,UAAU,aAAa,KAAK,+CAA+C,CAAC,CAAC,CAAC;YAC9H,CAAC;YACD,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;gBAC9C,kFAAkF;gBAClF,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAChE,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,MAAM,EAAE,CAAC;oBACvC,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI;wBAAE,SAAS;oBACvC,MAAM,OAAO,GAAG,KAAK;wBACnB,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACnF,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjF,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC3G,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;wBAC3B,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;wBACjE,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CACT,qBAAqB,EACrB,GAAG,UAAU,OAAO,QAAQ,2BAA2B,KAAK,qBAAqB,KAAK,sBAAsB,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC5I,CACF,CAAC;wBACF,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,2FAA2F;IAC3F,0EAA0E;IAC1E,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,wFAAwF;YACxF,4FAA4F;YAC5F,yFAAyF;YACzF,4FAA4F;YAC5F,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CACT,0BAA0B,EAC1B,GAAG,MAAM,iBAAiB,MAAM,CAAC,IAAI,wCAAwC,EAC7E,MAAM,CAAC,oBAAoB,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAC9D,CACF,CAAC;YACF,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,CAAC,EAAE,QAAQ,CAAC,IAAI,MAAM,EAAE,CAAC;YAClC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACpC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,EAAE,CAAC;oBACzG,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;oBACvB,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,qBAAqB,EAAE,GAAG,MAAM,OAAO,KAAK,qDAAqD,EAAE,SAAS,CAAC,CAAC,CAAC;gBAC3I,CAAC;YACH,CAAC;YACD,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACxC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC,EAAE,CAAC;oBACnH,IAAI,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;oBACzB,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,qBAAqB,EAAE,GAAG,MAAM,eAAe,OAAO,qDAAqD,EAAE,SAAS,CAAC,CAAC,CAAC;gBACrJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,QAAQ;QACR,OAAO,EAAE;YACP,SAAS,EAAE,SAAS,CAAC,MAAM;YAC3B,OAAO,EAAE,QAAQ,CAAC,IAAI;YACtB,cAAc,EAAE,aAAa;YAC7B,YAAY,EAAE,WAAW;YACzB,cAAc,EAAE,aAAa;YAC7B,gBAAgB,EAAE,QAAQ,CAAC,IAAI,GAAG,CAAC;YACnC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;SACpC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAkE;IACnF,CAAC,EAAE,WAAW;IACd,CAAC,EAAE,aAAa;IAChB,CAAC,EAAE,aAAa;IAChB,CAAC,EAAE,YAAY;IACf,CAAC,EAAE,SAAS;CACb,CAAC"}
package/dist/cli.js CHANGED
@@ -269,6 +269,12 @@ function commandCheck(configPath) {
269
269
  console.log(`forms: ${f["contracts"]} contract(s) against ${f["screens"]} rendered screen(s)` +
270
270
  (f["designed_ahead"] ? `, ${f["designed_ahead"]} designed ahead of the code` : "") +
271
271
  (f["produced_by"] ? `, produced by ${f["produced_by"]}` : ""));
272
+ // Round 33: the controls whose recorded calls were compared, out of those whose contract says
273
+ // what they call — so that a control the inventory never pressed is a visible silence.
274
+ if (f["calls_stated"] !== undefined) {
275
+ console.log(`calls: compared for ${f["calls_compared"]} of ${f["calls_stated"]} control(s) whose contract states \`calls\`` +
276
+ (f["calls_comparable"] ? "" : " — no cards to tell a read from a write, NOT COMPARED"));
277
+ }
272
278
  errorCount += summarise("check 5 (the form matches its contract)", form.findings);
273
279
  }
274
280
  return errorCount > 0 ? 1 : 0;
@@ -338,7 +344,7 @@ function main(argv) {
338
344
  return args.length === 0 ? 2 : 0;
339
345
  }
340
346
  if (args.includes("--version") || args.includes("-v")) {
341
- console.log(`usedesign ${version()} (SPEC v1.8)`);
347
+ console.log(`usedesign ${version()} (SPEC v1.9)`);
342
348
  return 0;
343
349
  }
344
350
  const [command, ...rest] = args;
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -83,7 +83,7 @@ export function runChecksCorpus() {
83
83
  for (const testCase of manifest.cases) {
84
84
  const { config, base } = loadConfig(join(CHECKS_CORPUS, "cases", testCase.dir, "usedesign.config.yaml"));
85
85
  const runner = CHECKS[testCase.check ?? 1];
86
- const { findings } = runner(config, base);
86
+ const { findings, summary } = runner(config, base);
87
87
  const failing = errors(findings);
88
88
  const verdict = failing.length > 0 ? "fail" : "pass";
89
89
  const codes = codesOf(failing);
@@ -104,6 +104,12 @@ export function runChecksCorpus() {
104
104
  if (warned.includes(code))
105
105
  problems.push(`unexpected warning \`${code}\``);
106
106
  }
107
+ // Round 33: a count the run prints is pinned too — "compared for N of M" is the line that makes
108
+ // an unpressed control visible, and a code alone cannot hold it.
109
+ for (const [key, value] of Object.entries((testCase.summary ?? {}))) {
110
+ if (summary[key] !== value)
111
+ problems.push(`summary \`${key}\`: expected ${String(value)}, got ${String(summary[key] ?? null)}`);
112
+ }
107
113
  report(testCase.dir, problems, [...codes, ...warned]);
108
114
  problems.length > 0 ? (failed += 1) : (passed += 1);
109
115
  }
@@ -1 +1 @@
1
- {"version":3,"file":"conformance.js","sourceRoot":"","sources":["../src/conformance.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACxF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAOjG,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;AACjD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAE5C,SAAS,MAAM,CAAC,IAAY,EAAE,QAAkB,EAAE,QAAkB;IAClE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QAC/B,KAAK,MAAM,OAAO,IAAI,QAAQ;YAAE,OAAO,CAAC,GAAG,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC;QACpE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrF,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3F,CAAC;AACH,CAAC;AAED,mHAAmH;AACnH,MAAM,UAAU,aAAa,CAAC,UAAU,GAAG,IAAI;IAC7C,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,eAAe,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9E,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACvE,MAAM,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,QAAQ,GAAc,CAAC,EAAE;YAC7B,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,wBAAwB,EAAE,iBAAiB,CAAC,CAAC;YAC5D,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC;gBAC1B,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;gBACtF,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEnF,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;QACzD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE3C,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,IAAI,OAAO,KAAK,QAAQ,CAAC,MAAM;YAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,QAAQ,CAAC,MAAM,SAAS,OAAO,EAAE,CAAC,CAAC;QAC9F,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;YACxC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,QAAQ,CAAC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,CAAC;QAC1E,CAAC;QACD,oFAAoF;QACpF,8EAA8E;QAC9E,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,QAAQ,CAAC,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,CAAC;QAC3E,CAAC;QACD,yFAAyF;QACzF,wFAAwF;QACxF,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,eAAe,IAAI,EAAE,EAAE,CAAC;YAClD,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,QAAQ,CAAC,IAAI,CAAC,wBAAwB,IAAI,IAAI,CAAC,CAAC;QAC7E,CAAC;QACD,wFAAwF;QACxF,kFAAkF;QAClF,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACpE,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,gBAAgB,IAAI,EAAE,EAAE,CAAC;YACnD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBACrD,QAAQ,CAAC,IAAI,CAAC,oBAAoB,IAAI,GAAG,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAED,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC1C,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,wBAAwB,MAAM,YAAY,MAAM,SAAS,CAAC,CAAC;IACvE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC5B,CAAC;AAED,0HAA0H;AAC1H,MAAM,UAAU,eAAe;IAC7B,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACtF,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC,CAAC;QACzG,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAE,CAAC;QAC5C,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAE1C,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QACrD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE3C,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,IAAI,OAAO,KAAK,QAAQ,CAAC,MAAM;YAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,QAAQ,CAAC,MAAM,SAAS,OAAO,EAAE,CAAC,CAAC;QAC9F,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;YACxC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,QAAQ,CAAC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,CAAC;QACvE,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,QAAQ,CAAC,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,CAAC;QAC3E,CAAC;QACD,4FAA4F;QAC5F,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,eAAe,IAAI,EAAE,EAAE,CAAC;YAClD,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,QAAQ,CAAC,IAAI,CAAC,wBAAwB,IAAI,IAAI,CAAC,CAAC;QAC7E,CAAC;QAED,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;QACtD,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,yBAAyB,MAAM,YAAY,MAAM,SAAS,CAAC,CAAC;IACxE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"conformance.js","sourceRoot":"","sources":["../src/conformance.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,11 @@
31
31
  "description": "For each anchor, the containers it renders inside — the full ancestor chain of data-section / data-panel-head / data-control anchors, all instances merged. Optional: an inventory without it predates container recording, and group membership is then not judged rather than failed.",
32
32
  "type": "object",
33
33
  "additionalProperties": { "type": "array", "items": { "type": "string" } }
34
+ },
35
+ "calls": {
36
+ "description": "For a control (data-action) the producer pressed in this state, the operations the press sent, in the order they went out — reads included, recorded through the producer's own mocks of the API client, not parsed from source. Optional (round 33): an inventory without it predates call recording, and check 5 then does NOT compare the contract's `calls` with the code rather than fail it. Check 5 leaves out a read the contract does not name and compares the rest with the contract's `calls`, strictly.",
37
+ "type": "object",
38
+ "additionalProperties": { "type": "array", "items": { "type": "string", "minLength": 1 } }
34
39
  }
35
40
  }
36
41
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "usedesign",
3
- "version": "1.8.1",
3
+ "version": "1.9.0",
4
4
  "description": "Validate and check Operation Cards and form contracts: no wild endpoints, no unproven steps, no maturity beyond its evidence, no imagined storage, no screen that strays from its contract.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {