homebridge-roborock-matter 2.6.0 → 2.7.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/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.7.0
4
+
5
+ Live room tracking for the whole fleet, a fifth suction level for the Q7, and quieter transport logs.
6
+
7
+ - **New: live room tracking for classic S/Q-series robots.** The flagship feature no longer stops at B01/Q7: classic robots now fetch their RRMap via the secure `get_map_v1` request (the protocol 301 decrypt/gunzip transport already existed), and the robot's millimeter position is resolved against the map's per-pixel room segments (`pixelIndex | segmentId << 21` grid). Same design as the B01 path: ~20 s attempt throttle, single-flight, fetches only while actively cleaning (never while paused or docked), previous room retained while crossing unsegmented floor, and a change re-broadcast so Apple Home updates within seconds. The Service Area layer — honest per-room progress included — is shared and unchanged.
8
+ - **New: Max+ suction mode for the Q7** (fifth wind level, v1 fan power 108) in the opt-in fan-power clean modes, tagged Vacuum + DeepClean. Only announced for robots whose protocol verifiably defines the level (B01/Q7); classic models stay at four levels until a reliable capability signal exists — model guessing is what this fork moves away from.
9
+ - **Fixed misleading MQTT outage spam.** Connection-state events were routed through the per-robot command error path, producing `Failed to execute client.on("error") on robot undefined (unknown model)` twice per reconnect attempt, unthrottled, for as long as an outage lasted (observed during a real nighttime DNS outage). Connection issues now log one clear warning per distinct message per 5 minutes, downgrade to debug in between, and a single recovery line is logged when the connection comes back.
10
+ - Battery upstream report (`docs/matter-battery-issue-draft.md`) finalized for filing against homebridge/homebridge, now including the resync-nudge finding and a reproduction section.
11
+ - Full suite: 254 passing (6 new classic live-room tests exercising the real RRMap parser end to end, plus Max+ coverage).
12
+
3
13
  ## 2.6.0
4
14
 
5
15
  - **New: opt-in suction-level cleaning modes.** With `enableFanPowerCleanModes` (default off), the Matter cleaning mode list gains **Quiet / Balanced / Turbo / Max Vacuum** variants with proper Matter mode tags (Vacuum + Quiet/Max), so suction can be chosen directly from Apple Home's mode picker. Selecting a variant pins the robot's fan power (v1 codes 101-104; the B01/Q7 adapter translates to wind levels 1-4) while behaving as a vacuum-family mode everywhere else (water box handling, mop rules). Off by default because Matter fixes an accessory's mode list at commissioning: toggling the option requires removing and re-pairing the robot once — this ships as a deliberate opt-in rather than a forced re-pair for everyone.
package/README.md CHANGED
@@ -24,24 +24,24 @@ Log in with your **Roborock app account** — no token extraction, no rooted app
24
24
  ## Why this plugin
25
25
 
26
26
  - 🗣️ **The only plugin that speaks 2025 Roborock.** The B01/Q7-series (`roborock.vacuum.sc05`, Q7 M5 / M5+) exists solely in the Roborock app ecosystem — a new RPC dialect with an encrypted protobuf map channel that miio-based plugins cannot talk to at all. Fully implemented here: commands, status, battery, suction levels, room cleaning, and the map channel.
27
- - 📍 **Live room tracking.** While the robot works, its position is read from the encrypted map, matched against your room outlines, and published as the current Matter Service Area. Apple Home shows _"Cleaning — Kitchen"_ — including runs started from the robot's button or the Roborock app. No other Homebridge plugin does this.
27
+ - 📍 **Live room tracking — on every robot.** While the robot works, its position is read from the map channel (encrypted SCMap on B01/Q7, classic RRMap on S/Q-series), matched against your room geometry, and published as the current Matter Service Area. Apple Home shows _"Cleaning — Kitchen"_ — including runs started from the robot's button or the Roborock app. No other Homebridge plugin does this.
28
28
  - 🧭 **Matter-only, by design.** No legacy fan tiles, no helper-switch clutter. One robot, one native accessory, on Homebridge 2's built-in Matter bridge — including room/map selection sourced from your Roborock account's named rooms.
29
29
  - 🔌 **Cloud + local, automatically.** Commands prefer a direct local TCP connection to the robot and fall back to the Roborock cloud transparently, with per-device connection diagnostics in the settings UI when you want to see exactly what happened.
30
- - 🛡️ **Hardened and boring where it counts.** 247 automated tests, CI on Node 22/24 against Homebridge 1.11 and 2.x, zero known vulnerabilities, no analytics, no post-install scripts, and a startup that retries with backoff instead of ever crash-looping Homebridge — verified against the Homebridge plugin-verification harness.
30
+ - 🛡️ **Hardened and boring where it counts.** 254 automated tests, CI on Node 22/24 against Homebridge 1.11 and 2.x, zero known vulnerabilities, no analytics, no post-install scripts, and a startup that retries with backoff instead of ever crash-looping Homebridge — verified against the Homebridge plugin-verification harness.
31
31
 
32
32
  ## Features
33
33
 
34
- | | |
35
- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------- |
36
- | 🤖 **Native Matter RVC** | Start / stop / pause / return-to-dock, run modes, operational state, error reporting |
37
- | 🚪 **Room cleaning from Apple Home** | Matter Service Area selection with your real room names, multi-map homes included |
38
- | 📍 **Live room tracking** | The room the robot is physically inside, updated every ~20 s while cleaning ([details](#live-room-tracking)) |
39
- | 📊 **Honest cleaning progress** | Per-room pending → operating → completed, only claiming rooms the robot was actually detected in |
40
- | 🌀 **Cleaning modes** | Vacuum / Mop / Vacuum + Mop, capability-gated per robot — plus optional Quiet / Balanced / Turbo / Max suction modes |
41
- | 🔋 **Battery & charging** | Live percentage and charge state via Matter PowerSource ([one Apple-side caveat](#battery-percentage-in-apple-home)) |
42
- | 🧠 **Self-adapting model support** | Unknown models get capability-derived polling; requests a robot reports as unsupported are disabled automatically |
43
- | 🩺 **Built-in diagnostics** | Connection state, transport history, live LAN probe, and a redacted report generator for bug reports |
44
- | 🔐 **2FA-friendly login** | Roborock account two-factor authentication handled entirely in the settings UI |
34
+ | | |
35
+ | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------- |
36
+ | 🤖 **Native Matter RVC** | Start / stop / pause / return-to-dock, run modes, operational state, error reporting |
37
+ | 🚪 **Room cleaning from Apple Home** | Matter Service Area selection with your real room names, multi-map homes included |
38
+ | 📍 **Live room tracking** | The room the robot is physically inside, updated every ~20 s while cleaning ([details](#live-room-tracking)) |
39
+ | 📊 **Honest cleaning progress** | Per-room pending → operating → completed, only claiming rooms the robot was actually detected in |
40
+ | 🌀 **Cleaning modes** | Vacuum / Mop / Vacuum + Mop, capability-gated per robot — plus optional Quiet / Balanced / Turbo / Max suction modes (and Max+ on Q7) |
41
+ | 🔋 **Battery & charging** | Live percentage and charge state via Matter PowerSource ([one Apple-side caveat](#battery-percentage-in-apple-home)) |
42
+ | 🧠 **Self-adapting model support** | Unknown models get capability-derived polling; requests a robot reports as unsupported are disabled automatically |
43
+ | 🩺 **Built-in diagnostics** | Connection state, transport history, live LAN probe, and a redacted report generator for bug reports |
44
+ | 🔐 **2FA-friendly login** | Roborock account two-factor authentication handled entirely in the settings UI |
45
45
 
46
46
  ## Quick start
47
47
 
@@ -58,7 +58,7 @@ For B01/Q7 robots, room selection appears once the map has been fetched (watch f
58
58
 
59
59
  ## Live room tracking
60
60
 
61
- While a robot is actively cleaning, the plugin fetches its live position from Roborock's encrypted SCMap channel (throttled to ~20 s, active runs only, nothing while docked), ray-casts it against the per-room boundary outlines, and publishes the result as the Matter Service Area `currentArea`:
61
+ While a robot is actively cleaning, the plugin fetches its live position from the map channel (throttled to ~20 s, active runs only, nothing while docked or paused) and publishes the room it is inside as the Matter Service Area `currentArea`. Both robot generations are covered: **B01/Q7** robots via the encrypted SCMap protobuf (position ray-cast against per-room boundary outlines), **classic S/Q-series** robots via the RRMap segment grid (position resolved against per-pixel room segments):
62
62
 
63
63
  - Apple Home's status pill names the room the robot is **physically inside** — the way the vendor app does it.
64
64
  - Works for full-home cleans and for runs started from the robot's button or the Roborock app, which previously had no room to show at all.
@@ -76,17 +76,17 @@ Enabled by default; opt out with `enableLiveRoomTracking: false`.
76
76
 
77
77
  Everything is configurable from the Homebridge UI. The essentials:
78
78
 
79
- | Option | Default | What it does |
80
- | ------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
81
- | `email` / password | — | Your Roborock app account (2FA handled in the UI; the session token is stored encrypted) |
82
- | `skipDevices` | — | Comma-separated device IDs the plugin should ignore |
83
- | `enableMatterServiceArea` | `true` | Room/map selection in Apple Home |
84
- | `enableLiveRoomTracking` | `true` | Live current-room from the robot's map position while cleaning |
85
- | `enableMatterCleanMode` | `true` | Vacuum / Mop / Vacuum + Mop mode selection |
86
- | `enableFanPowerCleanModes` | `false` | Adds Quiet / Balanced / Turbo / Max suction modes to the Matter mode list. **Re-pair the robot once after toggling** — Matter locks the mode list at pairing |
87
- | `enableMatterPowerSource` | `true` | Battery cluster |
88
- | `cloudOnlyMode` | `false` | Skip local TCP entirely and use the cloud for everything |
89
- | `transientWarningThrottleHours` | `6` | How often recurring transient-timeout warnings may repeat (0 = only in debug) |
79
+ | Option | Default | What it does |
80
+ | ------------------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
81
+ | `email` / password | — | Your Roborock app account (2FA handled in the UI; the session token is stored encrypted) |
82
+ | `skipDevices` | — | Comma-separated device IDs the plugin should ignore |
83
+ | `enableMatterServiceArea` | `true` | Room/map selection in Apple Home |
84
+ | `enableLiveRoomTracking` | `true` | Live current-room from the robot's map position while cleaning |
85
+ | `enableMatterCleanMode` | `true` | Vacuum / Mop / Vacuum + Mop mode selection |
86
+ | `enableFanPowerCleanModes` | `false` | Adds Quiet / Balanced / Turbo / Max (and Max+ on Q7) suction modes to the Matter mode list. **Re-pair the robot once after toggling** — Matter locks the mode list at pairing |
87
+ | `enableMatterPowerSource` | `true` | Battery cluster |
88
+ | `cloudOnlyMode` | `false` | Skip local TCP entirely and use the cloud for everything |
89
+ | `transientWarningThrottleHours` | `6` | How often recurring transient-timeout warnings may repeat (0 = only in debug) |
90
90
 
91
91
  ## Battery percentage in Apple Home
92
92
 
@@ -108,7 +108,7 @@ The complete path — robot → plugin → Homebridge → matter.js store — wa
108
108
 
109
109
  ## Contributing
110
110
 
111
- Model reports, diagnostics exports, and pull requests are very welcome. The codebase ships with 247 tests (protocol fixtures verified against the [python-roborock](https://github.com/Python-roborock/python-roborock) reference), strict TypeScript checking, and CI across Node 22/24 × Homebridge 1.11/2.x — `npm test` before you push and you're set.
111
+ Model reports, diagnostics exports, and pull requests are very welcome. The codebase ships with 254 tests (protocol fixtures verified against the [python-roborock](https://github.com/Python-roborock/python-roborock) reference), strict TypeScript checking, and CI across Node 22/24 × Homebridge 1.11/2.x — `npm test` before you push and you're set.
112
112
 
113
113
  ## Attribution
114
114
 
@@ -37,10 +37,16 @@ const CLEAN_MODE_VACUUM_QUIET = 3;
37
37
  const CLEAN_MODE_VACUUM_BALANCED = 4;
38
38
  const CLEAN_MODE_VACUUM_TURBO = 5;
39
39
  const CLEAN_MODE_VACUUM_MAX = 6;
40
+ // Max+ (fifth suction level, v1 fan power 108) — only announced for robots
41
+ // whose protocol verifiably defines it (capabilities.canMaxPlusFanPower).
42
+ const CLEAN_MODE_VACUUM_MAX_PLUS = 7;
40
43
  // Matter ModeBase common mode tags (Quiet/Max) — combined with the RVC
41
44
  // Vacuum tag so controllers can render semantic labels where supported.
42
45
  const RVC_CLEAN_MODE_TAG_QUIET = 2;
43
46
  const RVC_CLEAN_MODE_TAG_MAX = 7;
47
+ // RVC Clean Mode cluster tag: DeepClean — the closest semantic match for
48
+ // Roborock's Max+ boost level.
49
+ const RVC_CLEAN_MODE_TAG_DEEP_CLEAN = 16384;
44
50
  const FAN_POWER_CLEAN_MODES = [
45
51
  {
46
52
  mode: CLEAN_MODE_VACUUM_QUIET,
@@ -67,6 +73,12 @@ const FAN_POWER_CLEAN_MODES = [
67
73
  extraTags: [RVC_CLEAN_MODE_TAG_MAX],
68
74
  },
69
75
  ];
76
+ const MAX_PLUS_FAN_POWER_CLEAN_MODE = {
77
+ mode: CLEAN_MODE_VACUUM_MAX_PLUS,
78
+ label: "Max+ Vacuum",
79
+ fanPower: 108,
80
+ extraTags: [RVC_CLEAN_MODE_TAG_DEEP_CLEAN],
81
+ };
70
82
  const RVC_RUN_MODE_TAG_IDLE = 16384;
71
83
  const RVC_RUN_MODE_TAG_CLEANING = 16385;
72
84
  const RVC_CLEAN_MODE_TAG_VACUUM = 16385;
@@ -795,7 +807,9 @@ class RoborockMatterVacuumAccessory {
795
807
  }
796
808
  // Live map-position room tracking: reflect the physically detected room
797
809
  // in currentArea/progress before the snapshot below is built.
798
- this.applyLiveServiceAreaRoom(this.getOperationalState(this.getNumberStatus("state"), this.getNumberStatus("charge_status")));
810
+ const liveOperationalState = this.getOperationalState(this.getNumberStatus("state"), this.getNumberStatus("charge_status"));
811
+ this.applyLiveServiceAreaRoom(liveOperationalState);
812
+ this.driveLiveRoomTracking(liveOperationalState);
799
813
  const updated = await this.publishRoborockSnapshot(this.buildClusters(), "live state");
800
814
  if (updated) {
801
815
  this.ensureMatterStateHeartbeat();
@@ -909,7 +923,10 @@ class RoborockMatterVacuumAccessory {
909
923
  // commissioning — toggling this option requires re-pairing the robot.
910
924
  if (this.isFanPowerCleanModesEnabled() &&
911
925
  capabilities.canControlFanPower === true) {
912
- for (const powerMode of FAN_POWER_CLEAN_MODES) {
926
+ const powerModes = capabilities.canMaxPlusFanPower === true
927
+ ? [...FAN_POWER_CLEAN_MODES, MAX_PLUS_FAN_POWER_CLEAN_MODE]
928
+ : FAN_POWER_CLEAN_MODES;
929
+ for (const powerMode of powerModes) {
913
930
  supportedModes.push({
914
931
  label: powerMode.label,
915
932
  mode: powerMode.mode,
@@ -927,6 +944,9 @@ class RoborockMatterVacuumAccessory {
927
944
  }
928
945
  getFanPowerCleanMode(cleanMode) {
929
946
  var _a;
947
+ if (cleanMode === MAX_PLUS_FAN_POWER_CLEAN_MODE.mode) {
948
+ return MAX_PLUS_FAN_POWER_CLEAN_MODE;
949
+ }
930
950
  return ((_a = FAN_POWER_CLEAN_MODES.find((powerMode) => powerMode.mode === cleanMode)) !== null && _a !== void 0 ? _a : null);
931
951
  }
932
952
  getCurrentCleanMode() {
@@ -1220,14 +1240,43 @@ class RoborockMatterVacuumAccessory {
1220
1240
  * honestly returns to pending). Stale all-completed lists from a finished
1221
1241
  * run are never mutated.
1222
1242
  */
1243
+ /**
1244
+ * Ask the API layer to refresh the live room while a cleaning run is
1245
+ * active (it throttles and single-flights internally; B01 robots are
1246
+ * additionally driven by their own status loop), and clear the cached
1247
+ * room once the run is over so stale rooms never leak into the next one.
1248
+ */
1249
+ driveLiveRoomTracking(operationalState) {
1250
+ if (!this.isServiceAreaEnabled()) {
1251
+ return;
1252
+ }
1253
+ const apiWithLiveRoom = this.api;
1254
+ if (this.isInCleaningRunMode(operationalState)) {
1255
+ if (typeof apiWithLiveRoom.refreshLiveRoomForDevice === "function") {
1256
+ void apiWithLiveRoom.refreshLiveRoomForDevice
1257
+ .call(this.api, this.getDuid(), {
1258
+ v1State: this.getNumberStatus("state"),
1259
+ })
1260
+ .catch(() => undefined);
1261
+ }
1262
+ }
1263
+ else if (typeof apiWithLiveRoom.clearLiveRoomForDevice === "function") {
1264
+ // Run over (docked/charging/stopped/error): drop the cached room.
1265
+ apiWithLiveRoom.clearLiveRoomForDevice.call(this.api, this.getDuid());
1266
+ }
1267
+ }
1223
1268
  applyLiveServiceAreaRoom(operationalState) {
1269
+ var _a;
1224
1270
  if (!this.isServiceAreaEnabled()) {
1225
1271
  return;
1226
1272
  }
1227
1273
  if (!this.isInCleaningRunMode(operationalState)) {
1228
1274
  return;
1229
1275
  }
1230
- const getLiveRoom = this.api.getB01LiveRoomForDevice;
1276
+ const apiWithLiveRoom = this.api;
1277
+ // Protocol-agnostic getter (B01 + classic v1); the B01-specific getter
1278
+ // remains as a fallback for older API surfaces.
1279
+ const getLiveRoom = (_a = apiWithLiveRoom.getLiveRoomForDevice) !== null && _a !== void 0 ? _a : apiWithLiveRoom.getB01LiveRoomForDevice;
1231
1280
  if (typeof getLiveRoom !== "function") {
1232
1281
  return;
1233
1282
  }
@@ -1 +1 @@
1
- {"version":3,"file":"matter_vacuum_accessory.js","sourceRoot":"","sources":["../src/matter_vacuum_accessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"matter_vacuum_accessory.js","sourceRoot":"","sources":["../src/matter_vacuum_accessory.ts"],"names":[],"mappings":";;AAAA,6CAGqB;AAGrB,iDAAgE;AAEhE,MAAM,oCAAoC,GAAG,IAAI,CAAC;AAClD,MAAM,iCAAiC,GAAG,IAAI,CAAC;AAwE/C,SAAS,aAAa,CACpB,QAAoB,EACpB,OAAe;IAEf,MAAM,QAAQ,GACZ,OAAO,UAAU,CAAC,UAAU,KAAK,UAAU;QACzC,CAAC,CAAC,UAAU,CAAC,UAAU;QACvB,CAAC,CAAC,wBAAc,CAAC;IAErB,OAAO,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,UAAU,CAAC,KAAwC;IAC1D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QACnE,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,KAAwC;IAC1D,MAAM,KAAK,GACT,OAAO,UAAU,CAAC,YAAY,KAAK,UAAU;QAC3C,CAAC,CAAC,UAAU,CAAC,YAAY;QACzB,CAAC,CAAC,0BAAgB,CAAC;IAEvB,KAAK,CAAC,KAAK,CAAC,CAAC;AACf,CAAC;AA6CD,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,0EAA0E;AAC1E,MAAM,wBAAwB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEhD,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAEpC,4EAA4E;AAC5E,2EAA2E;AAC3E,uEAAuE;AACvE,uEAAuE;AACvE,wDAAwD;AACxD,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAClC,MAAM,0BAA0B,GAAG,CAAC,CAAC;AACrC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAClC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAChC,2EAA2E;AAC3E,0EAA0E;AAC1E,MAAM,0BAA0B,GAAG,CAAC,CAAC;AAErC,uEAAuE;AACvE,wEAAwE;AACxE,MAAM,wBAAwB,GAAG,CAAC,CAAC;AACnC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,yEAAyE;AACzE,+BAA+B;AAC/B,MAAM,6BAA6B,GAAG,KAAK,CAAC;AAE5C,MAAM,qBAAqB,GAKtB;IACH;QACE,IAAI,EAAE,uBAAuB;QAC7B,KAAK,EAAE,cAAc;QACrB,QAAQ,EAAE,GAAG;QACb,SAAS,EAAE,CAAC,wBAAwB,CAAC;KACtC;IACD;QACE,IAAI,EAAE,0BAA0B;QAChC,KAAK,EAAE,iBAAiB;QACxB,QAAQ,EAAE,GAAG;QACb,SAAS,EAAE,EAAE;KACd;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,KAAK,EAAE,cAAc;QACrB,QAAQ,EAAE,GAAG;QACb,SAAS,EAAE,EAAE;KACd;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,KAAK,EAAE,YAAY;QACnB,QAAQ,EAAE,GAAG;QACb,SAAS,EAAE,CAAC,sBAAsB,CAAC;KACpC;CACF,CAAC;AAEF,MAAM,6BAA6B,GAA2C;IAC5E,IAAI,EAAE,0BAA0B;IAChC,KAAK,EAAE,aAAa;IACpB,QAAQ,EAAE,GAAG;IACb,SAAS,EAAE,CAAC,6BAA6B,CAAC;CAC3C,CAAC;AAEF,MAAM,qBAAqB,GAAG,KAAK,CAAC;AACpC,MAAM,yBAAyB,GAAG,KAAK,CAAC;AACxC,MAAM,yBAAyB,GAAG,KAAK,CAAC;AACxC,MAAM,sBAAsB,GAAG,KAAK,CAAC;AAErC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AACnC,MAAM,2BAA2B,GAAG,GAAG,CAAC;AACxC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AACnC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAEpC,qEAAqE;AACrE,MAAM,qBAAqB,GAAG;IAC5B,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,CAAC;IACZ,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,CAAC;CACb,CAAC;AAEF,MAAM,qBAAqB,GAAG;IAC5B,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,CAAC;IACR,eAAe,EAAE,EAAE;IACnB,QAAQ,EAAE,EAAE;IACZ,MAAM,EAAE,EAAE;IACV,iBAAiB,EAAE,EAAE;IACrB,YAAY,EAAE,EAAE;IAChB,aAAa,EAAE,EAAE;CACT,CAAC;AAEX,MAAM,0BAA0B,GAAG;IACjC,qBAAqB,CAAC,OAAO;IAC7B,qBAAqB,CAAC,OAAO;IAC7B,qBAAqB,CAAC,MAAM;IAC5B,qBAAqB,CAAC,KAAK;IAC3B,qBAAqB,CAAC,eAAe;CAC7B,CAAC;AAEX,4EAA4E;AAC5E,6CAA6C;AAC7C,MAAM,gCAAgC,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEhF,4EAA4E;AAC5E,2EAA2E;AAC3E,2EAA2E;AAC3E,2CAA2C;AAC3C,MAAM,8BAA8B,GAAG;IACrC,qBAAqB,CAAC,QAAQ;IAC9B,qBAAqB,CAAC,MAAM;CACpB,CAAC;AAEX,MAAM,mBAAmB,GAAG;IAC1B,MAAM,EAAE,CAAC;IACT,WAAW,EAAE,CAAC;CACN,CAAC;AAEX,MAAM,oBAAoB,GAAG;IAC3B,EAAE,EAAE,CAAC;IACL,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,CAAC;CACH,CAAC;AAEX,MAAM,oBAAoB,GAAG;IAC3B,OAAO,EAAE,CAAC;IACV,WAAW,EAAE,CAAC;IACd,iBAAiB,EAAE,CAAC;IACpB,eAAe,EAAE,CAAC;CACV,CAAC;AACX,MAAM,sBAAsB,GAAG;IAC7B,WAAW,EAAE,CAAC;CACN,CAAC;AACX,MAAM,4CAA4C,GAAG,GAAG,CAAC;AAEzD,MAAM,0BAA0B,GAAG;IACjC,OAAO,EAAE,CAAC;IACV,gBAAgB,EAAE,CAAC;IACnB,eAAe,EAAE,CAAC;IAClB,WAAW,EAAE,CAAC;CACN,CAAC;AAEX,MAAM,+BAA+B,GAAG,EAAE,CAAC;AAC3C,MAAM,0BAA0B,GAAG,EAAE,CAAC;AACtC,MAAM,6BAA6B,GAAG,OAAS,CAAC;AAChD,MAAM,kBAAkB,GAAG,UAAU,CAAC;AACtC,MAAM,uBAAuB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAC9C,8EAA8E;AAC9E,8EAA8E;AAC9E,4EAA4E;AAC5E,MAAM,8BAA8B,GAAG,CAAC,CAAC;AACzC,iFAAiF;AACjF,+EAA+E;AAC/E,kFAAkF;AAClF,kFAAkF;AAClF,iFAAiF;AACjF,MAAM,iCAAiC,GAAG,EAAE,GAAG,IAAI,CAAC;AACpD,MAAM,sBAAsB,GAAG,IAAI,CAAC;AACpC,MAAM,uCAAuC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAU,CAAC;AACvE,MAAM,iDAAiD,GAAG;IACxD,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;CAC1B,CAAC;AACX,MAAM,8CAA8C,GAAG;IACrD,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAChD,CAAC;AACX,MAAM,oCAAoC,GAAG,IAAI,CAAC;AAClD,2EAA2E;AAC3E,4EAA4E;AAC5E,0EAA0E;AAC1E,MAAM,qCAAqC,GAAG;IAC5C,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;CACvB,CAAC;AACX,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAC5B,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,0EAA0E;AAC1E,yEAAyE;AACzE,oEAAoE;AACpE,MAAM,kCAAkC,GAAG,EAAE,GAAG,IAAI,CAAC;AAErD;;;;;GAKG;AACH,MAAqB,6BAA6B;IAmDhD,YACmB,QAA0B,EAC3B,SAA0B,EAC1C,MAAsB,EACtB,YAAY,GAAG,KAAK;QAHH,aAAQ,GAAR,QAAQ,CAAkB;QAC3B,cAAS,GAAT,SAAS,CAAiB;QAnDpC,uBAAkB,GAA8B,IAAI,CAAC;QACrD,wBAAmB,GAAG,CAAC,CAAC;QACxB,yBAAoB,GAAG,CAAC,CAAC;QACzB,qBAAgB,GAAkB,IAAI,CAAC;QACvC,gCAA2B,GAAG,CAAC,CAAC;QAChC,0BAAqB,GAAG,CAAC,CAAC;QAC1B,2BAAsB,GAAa,EAAE,CAAC;QACtC,8BAAyB,GAAG,KAAK,CAAC;QAClC,2BAAsB,GAAG,EAAE,CAAC;QAC5B,wBAAmB,GAAG,CAAC,CAAC;QACxB,yBAAoB,GAAG,KAAK,CAAC;QAC7B,iCAA4B,GAAkB,IAAI,CAAC;QACnD,0BAAqB,GAAG,KAAK,CAAC;QAC9B,2BAAsB,GAAkB,IAAI,CAAC;QACrD,0EAA0E;QAC1E,kEAAkE;QAClE,sEAAsE;QACtE,yEAAyE;QACzE,2EAA2E;QAC3E,6DAA6D;QACrD,gCAA2B,GAAG,IAAI,GAAG,EAAU,CAAC;QACxD,4EAA4E;QAC5E,uEAAuE;QACvE,0EAA0E;QAC1E,2EAA2E;QAC3E,yEAAyE;QACzE,2EAA2E;QAC3E,qEAAqE;QACpD,6BAAwB,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC9D,wBAAmB,GAA8C,EAAE,CAAC;QACpE,sBAAiB,GAAG,iBAAiB,CAAC;QACtC,gCAA2B,GAAG,KAAK,CAAC;QACpC,uBAAkB,GAAkB,IAAI,CAAC;QACzC,qBAAgB,GAAkB,IAAI,CAAC;QACvC,qCAAgC,GAAG,CAAC,CAAC;QACrC,qCAAgC,GAAG,KAAK,CAAC;QACzC,6BAAwB,GAAG,KAAK,CAAC;QACjC,8BAAyB,GAC/B,IAAI,CAAC;QACP,2EAA2E;QAC3E,6EAA6E;QAC7E,wEAAwE;QACxE,0EAA0E;QAClE,uBAAkB,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;QAC9D,8EAA8E;QAC9E,8EAA8E;QAC9E,yDAAyD;QACjD,eAAU,GAAwB,IAAI,GAAG,EAAE,CAAC;QAQlD,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC;QAC/B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC5B,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACpC,CAAC;IAED,IAAY,GAAG;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,WAA0B,CAAC;IAClD,CAAC;IAEO,uBAAuB;QAC7B,MAAM,OAAO,GAA2B;YACtC,aAAa,EAAE,IAAI;YACnB,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,IAAI;YACjB,qBAAqB,EAAE,IAAI;SAC5B,CAAC;QACF,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,4BAA4B,EAAE,CAAC;YAC9D,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;YAC3B,OAAO,OAAO,CAAC,WAAW,CAAC;QAC7B,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,8BAA8B;QACpC,MAAM,OAAO,GAA2B;YACtC,GAAG,IAAI,CAAC,uBAAuB,EAAE;YACjC,yEAAyE;YACzE,qEAAqE;YACrE,yEAAyE;YACzE,WAAW,EAAE,IAAI;SAClB,CAAC;QACF,OAAO,OAAO,CAAC,WAAW,CAAC;QAC3B,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,oCAAoC;QAC1C,OAAO;YACL,GAAG,IAAI,CAAC,uBAAuB,EAAE;YACjC,gBAAgB,EAAE,oCAAoC;SACvD,CAAC;IACJ,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,gEAAgE;QAChE,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACH,OAAO;QACL,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACnC,UAAU,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YAC3C,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;QACxC,CAAC;QACD,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED,0BAA0B,CAAC,MAAc,EAAE,OAAO,GAAG,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,EAAE;YAC/B,KAAK,IAAI,CAAC,6BAA6B,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACxD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,wCAAwC,MAAM,QAAQ,IAAI,CAAC,aAAa,EAAE,KAAK,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAC7G,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,OAAO,CAAC,CAAC;QACZ,UAAU,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,cAAc,CAAC,MAAsB;QACnC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACzB,MAAM,WAAW,GACf,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC;YAC1C,MAAM,CAAC,IAAI;YACX,iBAAiB,CAAC;QAEpB,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC;QACzC,2EAA2E;QAC3E,gEAAgE;QAChE,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,WAAW,CAAC;QAClC,IAAI,CAAC,SAAS,CAAC,YAAY,GAAG,UAAU,CAAC;QACzC,IAAI,CAAC,SAAS,CAAC,KAAK;YAClB,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC;gBAC3C,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC;gBAC3C,iBAAiB,CAAC;QACpB,IAAI,CAAC,SAAS,CAAC,YAAY;YACzB,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC;QACnD,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClE,IAAI,gBAAgB,EAAE,CAAC;YACrB,IAAI,CAAC,SAAS,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;QACzC,CAAC;QACD,sEAAsE;QACtE,uEAAuE;QACvE,wDAAwD;QACxD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,EAAE,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAC/C,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAC/C,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE;YACrD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAChD,OAAO,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5D,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,EAAU,EAAE,IAAa;QACjD,IAAI,EAAE,KAAK,UAAU,IAAI,EAAE,KAAK,aAAa,EAAE,CAAC;YAC9C,IAAI,EAAE,KAAK,UAAU,EAAE,CAAC;gBACtB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;YACpC,CAAC;YACD,MAAM,IAAI,CAAC,6BAA6B,EAAE,CAAC;YAC3C,OAAO;QACT,CAAC;QAED,IAAI,EAAE,KAAK,cAAc,IAAI,EAAE,KAAK,cAAc,EAAE,CAAC;YACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC;YAC3D,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACtB,OAAO;YACT,CAAC;YAED,MAAM,IAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,6BAA6B;;QACjC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,oBAAoB,KAAK,UAAU,EAAE,CAAC;YACjE,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAChD,QAAQ,EACR,wBAAwB,CACzB,CAAC;QACF,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAkD,CAAC;YAC1E,MAAM,WAAW,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,mBAAmB,CAAC;YAC/C,MAAM,cAAc,GAClB,OAAO,WAAW,KAAK,QAAQ;gBAC/B,WAAW,KAAK,IAAI,CAAC,4BAA4B,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,oBAAoB,IAAI,cAAc,EAAE,CAAC;gBACjD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBACjC,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;oBACpC,IAAI,CAAC,4BAA4B,GAAG,WAAW,CAAC;gBAClD,CAAC;gBACD,MAAM,OAAO,GAAG,QAAQ,CAAC,mBAEZ,CAAC;gBACd,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,sBAAsB,MAAA,MAAA,IAAI,CAAC,SAAS,CAAC,OAAO,0CAAE,IAAI,mCAAI,IAAI,CAAC,SAAS,CAAC,IAAI,aAAa,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,sBAAsB,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,mCAAI,KAAK,GAAG,CACjN,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IAEO,aAAa;QACnB,MAAM,QAAQ,GAA4C;YACxD,QAAQ,EAAE;gBACR,QAAQ,EAAE,KAAK,IAAI,EAAE;oBACnB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC9B,CAAC;aACF;YACD,UAAU,EAAE;gBACV,YAAY,EAAE,KAAK,EAAE,OAA8B,EAAE,EAAE;oBACrD,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,CAAC;gBAC7C,CAAC;aACF;YACD,mBAAmB,EAAE;gBACnB,KAAK,EAAE,KAAK,IAAI,EAAE;oBAChB,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC7B,CAAC;gBACD,MAAM,EAAE,KAAK,IAAI,EAAE;oBACjB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC9B,CAAC;gBACD,MAAM,EAAE,KAAK,IAAI,EAAE;oBACjB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC5B,CAAC;aACF;SACF,CAAC;QAEF,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;YAC9B,QAAQ,CAAC,YAAY,GAAG;gBACtB,YAAY,EAAE,KAAK,EAAE,OAA8B,EAAE,EAAE;oBACrD,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,CAAC;gBAC/C,CAAC;aACF,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;YAChC,QAAQ,CAAC,WAAW,GAAG;gBACrB,WAAW,EAAE,KAAK,EAAE,OAAgC,EAAE,EAAE;oBACtD,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC,CAAC;gBAC1D,CAAC;aACF,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,cAAc;QAC1B,MAAM,IAAI,CAAC,yBAAyB,CAAC,yBAAyB,EAAE;YAC9D,eAAe,EAAE,IAAI;SACtB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;QAChC,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;YACjC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CACrB,iCAAiC,IAAI,CAAC,aAAa,EAAE,iDAAiD,CACvG,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,CACf,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,OAAO,EAAE,EACd,IAAI,CAAC,uBAAuB,EAAE,CAC/B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,oBAAoB,IAAI,CAAC,aAAa,EAAE,0BAA0B,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAChG,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,CAAC,yBAAyB,CAAC,kCAAkC,EAAE;YACvE,eAAe,EAAE,IAAI;SACtB,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,OAAgB;;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAE5B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,+BAA+B,IAAI,KAAK,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,SAAS,GAAG,CAChE,CAAC;QAEF,IAAI,OAAO,KAAK,iBAAiB,EAAE,CAAC;YAClC,MAAM,aAAa,GAAG,IAAI,CAAC,8BAA8B,EAAE,CAAC;YAC5D,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,cAAc,GAAG,IAAI,CAAC,4BAA4B,CAAC,aAAa,CAAC,CAAC;gBACxE,MAAM,WAAW,GAAG,MAAA,cAAc,CAAC,CAAC,CAAC,mCAAI,IAAI,CAAC;gBAC9C,wEAAwE;gBACxE,uEAAuE;gBACvE,qEAAqE;gBACrE,yDAAyD;gBACzD,MAAM,YAAY,GAChB,cAAc,CAAC,MAAM,GAAG,CAAC;oBACvB,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC;oBAC5D,CAAC,CAAC,aAAa,CAAC;gBACpB,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,oEAAoE,IAAI,oCAAoC,WAAW,GAAG,CAC3H,CAAC;gBACJ,CAAC;gBAED,MAAM,iBAAiB,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAClD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CACjC,CAAC;gBACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,YAAY,IAAI,8CAA8C,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC9F,CAAC;gBACF,MAAM,KAAK,GAAG;oBACZ,UAAU,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAE;oBAC9C,mBAAmB,EAAE;wBACnB,gBAAgB,EAAE,qBAAqB,CAAC,OAAO;qBAChD;iBACF,CAAC;gBACF,IAAI,CAAC,wBAAwB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvE,IAAI,CAAC,6BAA6B,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;gBACjE,IAAI,CAAC,6BAA6B,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;oBAClE,MAAM,IAAI,CAAC,8BAA8B,EAAE,CAAC;oBAC5C,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;oBACpD,MAAM,IAAI,CAAC,GAAG,CAAC,wBAAwB,CACrC,IAAI,EACJ,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAC1C,IAAI,CAAC,uBAAuB,EAAE,CAC/B,CAAC;gBACJ,CAAC,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,eAAe,CAAC,CAAC;YACxD,MAAM,KAAK,GAAG;gBACZ,UAAU,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAE;gBAC9C,mBAAmB,EAAE;oBACnB,gBAAgB,EAAE,qBAAqB,CAAC,OAAO;iBAChD;aACF,CAAC;YACF,IAAI,CAAC,iCAAiC,EAAE,CAAC;YACzC,IAAI,CAAC,6BAA6B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACnD,IAAI,CAAC,6BAA6B,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;gBACrD,MAAM,IAAI,CAAC,8BAA8B,EAAE,CAAC;gBAC5C,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;YAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,YAAY,IAAI,+DAA+D,CAChF,CAAC;YACF,MAAM,KAAK,GAAG;gBACZ,UAAU,EAAE,EAAE,WAAW,EAAE,aAAa,EAAE;gBAC1C,mBAAmB,EAAE;oBACnB,gBAAgB,EAAE,qBAAqB,CAAC,OAAO;iBAChD;aACF,CAAC;YACF,IAAI,CAAC,6BAA6B,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAClD,IAAI,CAAC,6BAA6B,CAAC,MAAM,EAAE,GAAG,EAAE,CAC9C,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,uBAAuB,EAAE,CAAC,CACxD,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,yCAAyC,OAAO,SAAS,IAAI,GAAG,CACjE,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,OAAgB;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAElC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,iCAAiC,IAAI,KAAK,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,SAAS,GAAG,CAClE,CAAC;QAEF,IAAI,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,wCAAwC,EAAE,CAAC;YAChD,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC;YACjC,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;YACxC,MAAM,KAAK,GAAG;gBACZ,YAAY,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE;aACvC,CAAC;YACF,IAAI,CAAC,6BAA6B,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,2CAA2C,OAAO,SAAS,IAAI,GAAG,CACnE,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,aAAa;QACzB,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;QAC3D,MAAM,uBAAuB,GAAG,IAAI,CAAC,mBAAmB,CACtD,aAAa,EACb,YAAY,CACb,CAAC;QACF,MAAM,SAAS,GACb,IAAI,CAAC,0BAA0B,CAAC,aAAa,EAAE,YAAY,CAAC;YAC5D,CAAC,aAAa,KAAK,IAAI;gBACrB,CAAC,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAExD,4EAA4E;QAC5E,0EAA0E;QAC1E,6EAA6E;QAC7E,wEAAwE;QACxE,yEAAyE;QACzE,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,WAAW,IAAI,CAAC,aAAa,EAAE,uEAAuE,CACvG,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,KAAK,GAAG;YACZ,mBAAmB,EAAE;gBACnB,gBAAgB,EAAE,qBAAqB,CAAC,MAAM;aAC/C;SACF,CAAC;QACF,IAAI,CAAC,6BAA6B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,6BAA6B,CAAC,OAAO,EAAE,GAAG,EAAE,CAC/C,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,uBAAuB,EAAE,CAAC,CACnE,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,cAAc;QAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QACxE,MAAM,KAAK,GAAG;YACZ,UAAU,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAE;YAC9C,mBAAmB,EAAE;gBACnB,gBAAgB,EAAE,qBAAqB,CAAC,OAAO;aAChD;SACF,CAAC;QACF,IAAI,CAAC,6BAA6B,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACpD,IAAI,CAAC,6BAA6B,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YACtD,MAAM,IAAI,CAAC,8BAA8B,EAAE,CAAC;YAC5C,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,0EAA0E;QAC1E,6EAA6E;QAC7E,8EAA8E;QAC9E,6BAA6B;QAC7B,IAAI,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;YACjC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,WAAW,IAAI,CAAC,aAAa,EAAE,qFAAqF,CACrH,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,WAAW,IAAI,CAAC,aAAa,EAAE,4BAA4B,CAC5D,CAAC;QACJ,CAAC;QACD,MAAM,sBAAsB,GAAG,IAAI,CAAC,iCAAiC,EAAE;YACrE,CAAC,CAAC,qBAAqB,CAAC,eAAe;YACvC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC;QAClC,MAAM,KAAK,GAAG;YACZ,UAAU,EAAE;gBACV,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC,sBAAsB,CAAC;oBAC3D,CAAC,CAAC,iBAAiB;oBACnB,CAAC,CAAC,aAAa;aAClB;YACD,mBAAmB,EAAE;gBACnB,gBAAgB,EAAE,sBAAsB;aACzC;SACF,CAAC;QACF,IAAI,CAAC,6BAA6B,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;QAC5D,IAAI,CAAC,6BAA6B,CAChC,gBAAgB,EAChB,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,uBAAuB,EAAE,CAAC,EACzE,EAAE,8BAA8B,EAAE,IAAI,EAAE,CACzC,CAAC;IACJ,CAAC;IAEO,yBAAyB,CAC/B,MAAc,EACd,oBAA6B;QAE7B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,EAAE;YAC/B,IACE,oBAAoB,KAAK,SAAS;gBAClC,oBAAoB,KAAK,IAAI,CAAC,oBAAoB,EAClD,CAAC;gBACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CACrB,uDAAuD,MAAM,QAAQ,IAAI,CAAC,aAAa,EAAE,GAAG,CAC7F,CAAC;gBACF,OAAO;YACT,CAAC;YAED,mEAAmE;YACnE,kEAAkE;YAClE,KAAK,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,MAAM,CAAC;iBACtD,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;gBAChB,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBACpC,CAAC;YACH,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACf,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,uCAAuC,MAAM,QAAQ,IAAI,CAAC,aAAa,EAAE,KAAK,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAC5G,CAAC;YACJ,CAAC,CAAC,CAAC;QACP,CAAC,EAAE,CAAC,CAAC,CAAC;QACN,UAAU,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAEO,6BAA6B,CACnC,eAAmC,EACnC,MAAc;;QAEd,IACE,IAAI,CAAC,kBAAkB,CACrB,MAAA,eAAe,CAAC,mBAAmB,0CAAE,gBAAgB,CACtD,KAAK,qBAAqB,CAAC,OAAO,EACnC,CAAC;YACD,0EAA0E;YAC1E,sEAAsE;YACtE,uEAAuE;YACvE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC1C,CAAC;QACD,MAAM,oBAAoB,GAAG,IAAI,CAAC,kBAAkB,CAClD,eAAe,EACf,MAAM,CACP,CAAC;QACF,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAC/D,CAAC;IAEO,4BAA4B;QAClC,OAAO,CACL,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,qBAAqB;YACvC,iCAAiC,CAClC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,eAAwD,EACxD,MAAM,GAAG,cAAc;QAEvB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,oBAAoB,KAAK,UAAU,EAAE,CAAC;YACjE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,2EAA2E;QAC3E,4EAA4E;QAC5E,2EAA2E;QAC3E,4EAA4E;QAC5E,yEAAyE;QACzE,sEAAsE;QACtE,oEAAoE;QACpE,yEAAyE;QACzE,kEAAkE;QAClE,iEAAiE;QACjE,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACvD,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YAC1D,MAAM,QAAQ,GAAc,EAAE,CAAC;YAC/B,MAAM,OAAO,CAAC,GAAG,CACf,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE;gBACjD,IAAI,CAAC;oBACH,MAAM,MAAM,CAAC,oBAAoB,CAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,EACnB,OAAO,EACP,UAAU,CACX,CAAC;oBACF,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAC/B,OAAO,EACP,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAC3B,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,iEAAiE;oBACjE,oCAAoC;oBACpC,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAC9C,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACrB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CACrB,8BAA8B,OAAO,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,YAAY,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACpI,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CACH,CAAC;YACF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,IAAI,QAAQ,CAAC,MAAM,KAAK,cAAc,CAAC,MAAM,EAAE,CAAC;oBAC9C,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACpB,CAAC;gBACD,mEAAmE;gBACnE,gEAAgE;gBAChE,sDAAsD;gBACtD,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAC5C,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CACxC,CAAC;gBACF,IAAI,WAAW,EAAE,CAAC;oBAChB,IAAI,CAAC,iCAAiC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,GAAG,WAAW,CAAC,IAAI,CACxC,GAAG,EAAE,CAAC,SAAS,EACf,GAAG,EAAE,CAAC,SAAS,CAChB,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,WAAW,CAAC;YAClB,IAAI,CAAC,gCAAgC,GAAG,CAAC,CAAC;YAC1C,IAAI,CAAC,gCAAgC,GAAG,KAAK,CAAC;YAC9C,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1C,IAAI,CAAC,iCAAiC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBACtD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACK,KAAK,CAAC,uBAAuB,CACnC,QAA4B,EAC5B,MAAc,EACd,UAA+B,EAAE;;QAEjC,sEAAsE;QACtE,uEAAuE;QACvE,uEAAuE;QACvE,wEAAwE;QACxE,2BAA2B;QAC3B,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAuB,EAAE,CAAC;YACvC,KAAK,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7D,IACE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;oBAC1B,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,OAAO,CAAC,EAC1C,CAAC;oBACD,OAAO,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC;gBAChC,CAAC;YACH,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtC,iEAAiE;gBACjE,OAAO,IAAI,CAAC;YACd,CAAC;YACD,QAAQ,GAAG,OAAO,CAAC;QACrB,CAAC;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAkD,CAAC;QAC1E,MAAM,cAAc,GAClB,CAAC,IAAI,CAAC,qBAAqB;YAC3B,KAAK,KAAK,SAAS;YACnB,OAAO,KAAK,CAAC,mBAAmB,KAAK,QAAQ,CAAC;QAEhD,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,IAAI,CAAC,iBAAiB,CAC1B;gBACE,WAAW,EAAE;oBACX,GAAG,KAAK;oBACR,mBAAmB,EAAE,IAAI;oBACzB,cAAc,EAAE,CAAC;oBACjB,mBAAmB,EAAE,IAAI;iBAC1B;aACF,EACD,sBAAsB,CACvB,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC/D,IAAI,OAAO,IAAI,cAAc,EAAE,CAAC;YAC9B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,sBAAsB,MAAA,MAAA,IAAI,CAAC,SAAS,CAAC,OAAO,0CAAE,IAAI,mCAAI,IAAI,CAAC,SAAS,CAAC,IAAI,qDAAsD,KAAK,CAAC,mBAA8B,GAAG,CAAC,KAAK,CAC7K,CAAC;QACJ,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,4BAA4B,CAAC,IAAa;QACtD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpD,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAE7D,IACE,KAAK,KAAK,IAAI;YACd,YAAY,KAAK,IAAI;YACrB,OAAO,KAAK,IAAI;YAChB,SAAS,KAAK,IAAI;YAClB,SAAS,KAAK,IAAI,EAClB,CAAC;YACD,OAAO;QACT,CAAC;QAED,6EAA6E;QAC7E,gDAAgD;QAChD,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACpD,IACE,KAAK,KAAK,IAAI;YACd,KAAK,KAAK,gBAAgB;YAC1B,KAAK,KAAK,YAAY,EACtB,CAAC;YACD,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;QACzC,CAAC;aAAM,IACL,KAAK,KAAK,gBAAgB;YAC1B,aAAa,KAAK,gBAAgB;YAClC,aAAa,KAAK,YAAY,EAC9B,CAAC;YACD,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;QACzC,CAAC;QAED,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;QACvD,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAEjD,IACE,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,aAAa,CAAC,KAAK,gBAAgB;YAC7C,SAAS,KAAK,IAAI;YAClB,SAAS,KAAK,IAAI,EAClB,CAAC;YACD,IAAI,CAAC,yBAAyB,GAAG,SAAS,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,KAAK,KAAK,IAAI,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC5C,wEAAwE;YACxE,yEAAyE;YACzE,qDAAqD;YACrD,IAAI,CAAC,gCAAgC,CACnC,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,YAAY,CAAC,EAC7C,KAAK,EACL,YAAY,CACb,CAAC;QACJ,CAAC;QAED,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,IAAI,CAAC,iCAAiC,CACpC,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,YAAY,CAAC,CAC9C,CAAC;QACJ,CAAC;QAED,wEAAwE;QACxE,8DAA8D;QAC9D,MAAM,oBAAoB,GAAG,IAAI,CAAC,mBAAmB,CACnD,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAC7B,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CACtC,CAAC;QACF,IAAI,CAAC,wBAAwB,CAAC,oBAAoB,CAAC,CAAC;QACpD,IAAI,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,CAAC;QAEjD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAChD,IAAI,CAAC,aAAa,EAAE,EACpB,YAAY,CACb,CAAC;QACF,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IAEO,aAAa;QACnB,MAAM,QAAQ,GAAuB;YACnC,UAAU,EAAE,IAAI,CAAC,mBAAmB,EAAE;YACtC,mBAAmB,EAAE,IAAI,CAAC,4BAA4B,EAAE;SACzD,CAAC;QAEF,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAErC,IAAI,IAAI,CAAC,oBAAoB,EAAE,IAAI,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC;YAClE,sEAAsE;YACtE,oEAAoE;YACpE,qEAAqE;YACrE,sEAAsE;YACtE,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACxD,CAAC;QAED,OAAO,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAEO,YAAY,CAAC,OAAe;;QAClC,IAAI,YAAiD,CAAC;QAEtD,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,YAAY;gBACf,YAAY,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC1C,MAAM;YACR,KAAK,cAAc;gBACjB,YAAY,GAAG,IAAI,CAAC,kBAAkB,EAAE;oBACtC,CAAC,CAAC,IAAI,CAAC,qBAAqB,EAAE;oBAC9B,CAAC,CAAC,SAAS,CAAC;gBACd,MAAM;YACR,KAAK,qBAAqB;gBACxB,YAAY,GAAG,IAAI,CAAC,4BAA4B,EAAE,CAAC;gBACnD,MAAM;YACR,KAAK,aAAa;gBAChB,YAAY,GAAG,IAAI,CAAC,oBAAoB,EAAE;oBACxC,CAAC,CAAC,IAAI,CAAC,uBAAuB,EAAE;oBAChC,CAAC,CAAC,SAAS,CAAC;gBACd,MAAM;YACR,KAAK,aAAa;gBAChB,YAAY;oBACV,IAAI,CAAC,oBAAoB,EAAE,IAAI,IAAI,CAAC,uBAAuB,EAAE;wBAC3D,CAAC,CAAC,IAAI,CAAC,uBAAuB,EAAE;wBAChC,CAAC,CAAC,SAAS,CAAC;gBAChB,MAAM;YACR;gBACE,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,iBAAiB,GAAG,MAAA,IAAI,CAAC,wBAAwB,EAAE,0CAAG,OAAO,CAAC,CAAC;QACrE,OAAO,iBAAiB;YACtB,CAAC,CAAC,EAAE,GAAG,YAAY,EAAE,GAAG,iBAAiB,EAAE;YAC3C,CAAC,CAAC,YAAY,CAAC;IACnB,CAAC;IAEO,mBAAmB;QACzB,OAAO;YACL,cAAc,EAAE;gBACd;oBACE,KAAK,EAAE,MAAM;oBACb,IAAI,EAAE,aAAa;oBACnB,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;iBAC7C;gBACD;oBACE,KAAK,EAAE,UAAU;oBACjB,IAAI,EAAE,iBAAiB;oBACvB,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC;iBACjD;aACF;YACD,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC/D,CAAC,CAAC,iBAAiB;gBACnB,CAAC,CAAC,aAAa;SAClB,CAAC;IACJ,CAAC;IAEO,qBAAqB;QAC3B,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,sBAAsB,EAAE;YAC7C,WAAW,EAAE,IAAI,CAAC,mBAAmB,EAAE;SACxC,CAAC;IACJ,CAAC;IAEO,sBAAsB;QAC5B,MAAM,cAAc,GAAmC;YACrD;gBACE,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,iBAAiB;gBACvB,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC;aACjD;SACF,CAAC;QAEF,MAAM,YAAY,GAAG,IAAI,CAAC,8BAA8B,EAAE,CAAC;QAC3D,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;YACxB,cAAc,CAAC,IAAI,CACjB;gBACE,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,cAAc;gBACpB,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC;aAC9C,EACD;gBACE,oEAAoE;gBACpE,kEAAkE;gBAClE,KAAK,EAAE,cAAc;gBACrB,IAAI,EAAE,yBAAyB;gBAC/B,QAAQ,EAAE;oBACR,EAAE,KAAK,EAAE,yBAAyB,EAAE;oBACpC,EAAE,KAAK,EAAE,sBAAsB,EAAE;iBAClC;aACF,CACF,CAAC;QACJ,CAAC;QAED,sEAAsE;QACtE,kEAAkE;QAClE,sEAAsE;QACtE,IACE,IAAI,CAAC,2BAA2B,EAAE;YAClC,YAAY,CAAC,kBAAkB,KAAK,IAAI,EACxC,CAAC;YACD,MAAM,UAAU,GACd,YAAY,CAAC,kBAAkB,KAAK,IAAI;gBACtC,CAAC,CAAC,CAAC,GAAG,qBAAqB,EAAE,6BAA6B,CAAC;gBAC3D,CAAC,CAAC,qBAAqB,CAAC;YAC5B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,cAAc,CAAC,IAAI,CAAC;oBAClB,KAAK,EAAE,SAAS,CAAC,KAAK;oBACtB,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,QAAQ,EAAE;wBACR,EAAE,KAAK,EAAE,yBAAyB,EAAE;wBACpC,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;qBACnD;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;IAEO,2BAA2B;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,KAAK,IAAI,CAAC;IACxE,CAAC;IAEO,oBAAoB,CAC1B,SAAiB;;QAEjB,IAAI,SAAS,KAAK,6BAA6B,CAAC,IAAI,EAAE,CAAC;YACrD,OAAO,6BAA6B,CAAC;QACvC,CAAC;QACD,OAAO,CACL,MAAA,qBAAqB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,mCACvE,IAAI,CACL,CAAC;IACJ,CAAC;IAEO,mBAAmB;QACzB,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACtD,CAAC,CAAC,IAAI,CAAC,iBAAiB;YACxB,CAAC,CAAC,iBAAiB,CAAC;IACxB,CAAC;IAEO,oBAAoB,CAAC,IAAa;QACxC,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAC,IAAI,CACvC,CAAC,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,KAAK,IAAI,CAC/C,CAAC;IACJ,CAAC;IAEO,8BAA8B;QACpC,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,8BAA8B,CAAC;QAEhE,IAAI,OAAO,eAAe,KAAK,UAAU,EAAE,CAAC;YAC1C,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC5C,CAAC;QAED,wEAAwE;QACxE,oEAAoE;QACpE,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,CAGrD,CAAC;QAEd,OAAO,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC5D,CAAC;IAEO,KAAK,CAAC,8BAA8B;QAC1C,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC;YACtC,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,4BAA4B,CAAC;QAC5D,IAAI,OAAO,aAAa,KAAK,UAAU,EAAE,CAAC;YACxC,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;YACzC,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,4BAA4B,CAChD,IAAI,CAAC,mBAAmB,EAAE,CAC3B,CAAC;QACF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;YACzC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,YAAY,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,YAAY,IAAI,CAAC,aAAa,EAAE,mBAAmB,CAClH,CAAC;QACF,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,wBAAwB,CACjC,aAAa,CAAC,IAAI,CAChB,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,OAAO,EAAE,EACd,QAAQ,EACR,IAAI,CAAC,oCAAoC,EAAE,CAC5C,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,mBAAmB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,YAAY,IAAI,CAAC,aAAa,EAAE,wDAAwD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAC3L,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;QAC3C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,wBAAwB,CAAI,OAAmB;QAC3D,IAAI,OAAsD,CAAC;QAC3D,MAAM,cAAc,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;YACtD,OAAO,GAAG,aAAa,CAAC,GAAG,EAAE;gBAC3B,MAAM,CACJ,IAAI,KAAK,CACP,0CAA0C,iCAAiC,MAAM,CAClF,CACF,CAAC;YACJ,CAAC,EAAE,iCAAiC,CAAC,CAAC;YACtC,UAAU,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;QACvD,CAAC;gBAAS,CAAC;YACT,IAAI,OAAO,EAAE,CAAC;gBACZ,UAAU,CAAC,OAAO,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IAEO,4BAA4B,CAClC,SAAiB;QAEjB,MAAM,YAAY,GAAG,IAAI,CAAC,8BAA8B,EAAE,CAAC;QAC3D,mEAAmE;QACnE,wEAAwE;QACxE,iCAAiC;QACjC,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,aAAa,GAAG,YAAY,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;QAEnE,yEAAyE;QACzE,wEAAwE;QACxE,wCAAwC;QACxC,MAAM,QAAQ,GAA8B,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;QAEzE,IAAI,YAAY,CAAC,kBAAkB,EAAE,CAAC;YACpC,QAAQ,CAAC,QAAQ,GAAG,YAAY;gBAC9B,CAAC,CAAC,YAAY,CAAC,QAAQ;gBACvB,CAAC,CAAC,aAAa,KAAK,cAAc;oBAChC,CAAC,CAAC,sBAAsB;oBACxB,CAAC,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAC1C,CAAC;QAED,IAAI,YAAY,CAAC,eAAe,EAAE,CAAC;YACjC,QAAQ,CAAC,YAAY;gBACnB,aAAa,KAAK,iBAAiB;oBACjC,CAAC,CAAC,sBAAsB;oBACxB,CAAC,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACxC,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5D,CAAC;IAEO,wCAAwC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QACnD,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,sBAAsB,EAAE,CAAC;YAC7D,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC;QACrC,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAClD,IAAI,YAAY,KAAK,IAAI,IAAI,YAAY,KAAK,sBAAsB,EAAE,CAAC;YACrE,IAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC;QACvC,CAAC;IACH,CAAC;IAEO,0BAA0B;;QAChC,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAC1D,IACE,eAAe,KAAK,IAAI;YACxB,eAAe,KAAK,sBAAsB,EAC1C,CAAC;YACD,IAAI,CAAC,kBAAkB,GAAG,eAAe,CAAC;YAC1C,OAAO,eAAe,CAAC;QACzB,CAAC;QAED,OAAO,MAAA,IAAI,CAAC,kBAAkB,mCAAI,2BAA2B,CAAC;IAChE,CAAC;IAEO,qBAAqB;;QAC3B,OAAO,CACL,MAAA,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,mCAC7C,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CACvC,CAAC;IACJ,CAAC;IAEO,wBAAwB;;QAC9B,MAAM,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACzD,IACE,mBAAmB,KAAK,IAAI;YAC5B,mBAAmB,KAAK,sBAAsB,EAC9C,CAAC;YACD,IAAI,CAAC,gBAAgB,GAAG,mBAAmB,CAAC;YAC5C,OAAO,mBAAmB,CAAC;QAC7B,CAAC;QAED,OAAO,MAAA,IAAI,CAAC,gBAAgB,mCAAI,uBAAuB,CAAC;IAC1D,CAAC;IAEO,iBAAiB,CAAC,SAAiB;QACzC,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,YAAY,CAAC,KAAK,CAAC;QAC5B,CAAC;QACD,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,cAAc;gBACjB,OAAO,KAAK,CAAC;YACf,KAAK,yBAAyB;gBAC5B,OAAO,cAAc,CAAC;YACxB;gBACE,OAAO,QAAQ,CAAC;QACpB,CAAC;IACH,CAAC;IAEO,4BAA4B;QAClC,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAEpD,OAAO;YACL,wEAAwE;YACxE,SAAS,EAAE,IAAI;YACf,YAAY,EAAE,IAAI;YAClB,mEAAmE;YACnE,uEAAuE;YACvE,6DAA6D;YAC7D,oBAAoB,EAAE,IAAI,CAAC,uBAAuB,EAAE,CAAC,GAAG,CACtD,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,CACjD;YACD,gBAAgB;SACjB,CAAC;IACJ,CAAC;IAEO,uBAAuB,CAC7B,YAAqB,EACrB,iBAAiC,EACjC,UAA0B;QAE1B,MAAM,OAAO,GACX,YAAY,KAAK,SAAS;YACxB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;YACjC,CAAC,CAAC,YAAY,CAAC;QACnB,MAAM,YAAY,GAChB,iBAAiB,KAAK,SAAS;YAC7B,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC;YACvC,CAAC,CAAC,iBAAiB,CAAC;QACxB,MAAM,KAAK,GACT,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QACxE,MAAM,iBAAiB,GACrB,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;QAChE,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAC/C,iBAAiB,EACjB,YAAY,EACZ,KAAK,CACN,CAAC;QAEF,OAAO;YACL,MAAM,EACJ,iBAAiB,KAAK,IAAI;gBACxB,CAAC,CAAC,mBAAmB,CAAC,WAAW;gBACjC,CAAC,CAAC,mBAAmB,CAAC,MAAM;YAChC,KAAK,EAAE,CAAC;YACR,WAAW,EAAE,yBAAyB;YACtC,UAAU,EAAE,iBAAiB,KAAK,IAAI;YACtC,mBAAmB,EACjB,iBAAiB,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,GAAG,CAAC;YAC3D,cAAc,EAAE,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC;YAC7D,cAAc;YACd,oBAAoB,EAAE,KAAK;YAC3B,iBAAiB,EAAE,sBAAsB,CAAC,WAAW;YACrD,0BAA0B,EAAE,IAAI;YAChC,mBAAmB,EAAE,IAAI,CAAC,0BAA0B,CAClD,iBAAiB,EACjB,cAAc,CACf;YACD,kBAAkB,EAAE,IAAI;SACzB,CAAC;IACJ,CAAC;IAEO,qBAAqB,CAC3B,QAA4B,EAC5B,YAAqB,EACrB,iBAAiC,EACjC,UAA0B;QAE1B,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;YACjC,OAAO;QACT,CAAC;QAED,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,uBAAuB,CACjD,YAAY,EACZ,iBAAiB,EACjB,UAAU,CACX,CAAC;IACJ,CAAC;IAEO,mBAAmB,CAAC,QAA4B;QACtD,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACvD,CAAC;IAEO,uBAAuB;QAC7B,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IACjD,CAAC;IAEO,0BAA0B;QAChC,yEAAyE;QACzE,wEAAwE;QACxE,6CAA6C;QAC7C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,wBAAwB,GAAG;YAChD,WAAW,EAAE,IAAI,CAAC,sBAAsB;YACxC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;SAClE,CAAC;IACJ,CAAC;IAEO,0BAA0B;;QAChC,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,SAAS,CAAC,OAAO,0CAAE,wBAE7B,CAAC;QACd,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,sBAAsB;YACzB,OAAO,SAAS,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3E,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC,QAAQ;aAC1C,MAAM,CACL,CAAC,KAAc,EAA+C,EAAE,CAC9D,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,KAAK,IAAI;YACd,OAAQ,KAA8B,CAAC,MAAM,KAAK,QAAQ;YAC1D,OAAQ,KAA8B,CAAC,MAAM,KAAK,QAAQ,CAC7D;aACA,GAAG,CAAC,CAAC,KAAyC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC;IAEO,wBAAwB,CAAC,OAAiB;QAChD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAChC,OAAO;QACT,CAAC;QACD,uEAAuE;QACvE,sEAAsE;QACtE,sDAAsD;QACtD,IAAI,CAAC,2BAA2B,GAAG,IAAI,GAAG,EAAE,CAAC;QAC7C,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACzD,MAAM;YACN,MAAM,EACJ,KAAK,KAAK,CAAC;gBACT,CAAC,CAAC,qBAAqB,CAAC,SAAS;gBACjC,CAAC,CAAC,qBAAqB,CAAC,OAAO;SACpC,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACpC,CAAC;IAED;;;;;;;OAOG;IACK,iCAAiC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAChC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,2BAA2B,GAAG,IAAI,GAAG,EAAE,CAAC;QAC7C,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAClD,MAAM;YACN,MAAM,EAAE,qBAAqB,CAAC,OAAO;SACtC,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACpC,CAAC;IAEO,wBAAwB;QAC9B,IAAI,CAAC,2BAA2B,GAAG,IAAI,GAAG,EAAE,CAAC;QAC7C,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACpC,CAAC;IAEO,iCAAiC,CAAC,gBAAwB;QAChE,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1C,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC/C,OAAO;QACT,CAAC;QACD,qEAAqE;QACrE,wDAAwD;QACxD,IAAI,CAAC,2BAA2B,GAAG,IAAI,GAAG,EAAE,CAAC;QAC7C,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAClE,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,MAAM,EAAE,qBAAqB,CAAC,SAAS;SACxC,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACpC,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH;;;;;OAKG;IACK,qBAAqB,CAAC,gBAAwB;QACpD,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;YACjC,OAAO;QACT,CAAC;QACD,MAAM,eAAe,GAAG,IAAI,CAAC,GAM5B,CAAC;QAEF,IAAI,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC/C,IAAI,OAAO,eAAe,CAAC,wBAAwB,KAAK,UAAU,EAAE,CAAC;gBACnE,KAAK,eAAe,CAAC,wBAAwB;qBAC1C,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE;oBAC9B,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;iBACvC,CAAC;qBACD,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,eAAe,CAAC,sBAAsB,KAAK,UAAU,EAAE,CAAC;YACxE,kEAAkE;YAClE,eAAe,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAEO,wBAAwB,CAAC,gBAAwB;;QACvD,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;YACjC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAChD,OAAO;QACT,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,GAG5B,CAAC;QACF,uEAAuE;QACvE,gDAAgD;QAChD,MAAM,WAAW,GACf,MAAA,eAAe,CAAC,oBAAoB,mCACpC,eAAe,CAAC,uBAAuB,CAAC;QAC1C,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE,CAAC;YACtC,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC3E,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,SAAS,CAAC,CAAC;QAC/D,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAC5C,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,KAAK,SAAS,CACjD,CAAC;QACF,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,KAAK,IAAI,CAAC,MAAM,CAAC;QACvE,MAAM,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAC;QAEnD,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAClD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,qBAAqB,CAAC,SAAS,CAC5D,CAAC;QACF,MAAM,oBAAoB,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CACxD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CACxC,CAAC;QAEF,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IAAI,cAAc,IAAI,oBAAoB,EAAE,CAAC;YAC3C,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gBAChE,IACE,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;oBAC5B,KAAK,CAAC,MAAM,KAAK,qBAAqB,CAAC,SAAS,EAChD,CAAC;oBACD,eAAe,GAAG,IAAI,CAAC;oBACvB,OAAO;wBACL,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,MAAM,EAAE,qBAAqB,CAAC,SAAS;qBACxC,CAAC;gBACJ,CAAC;gBACD,IACE,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;oBAC5B,KAAK,CAAC,MAAM,KAAK,qBAAqB,CAAC,SAAS,EAChD,CAAC;oBACD,eAAe,GAAG,IAAI,CAAC;oBACvB,OAAO;wBACL,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,MAAM,EAAE,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;4BACxD,CAAC,CAAC,qBAAqB,CAAC,SAAS;4BACjC,CAAC,CAAC,qBAAqB,CAAC,OAAO;qBAClC,CAAC;gBACJ,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,kBAAkB,IAAI,CAAC,eAAe,EAAE,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1C,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAClC,IAAI,kBAAkB,EAAE,CAAC;YACvB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,iBAAiB,IAAI,CAAC,aAAa,EAAE,uBAAuB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAC1F,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,6BACjC,GAAG,CACJ,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,uBAAuB;;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC3C,MAAM,aAAa,GAAG,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAC3D,MAAM,2BAA2B,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7D,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACnE,MAAM,aAAa,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAClE,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAC7B,CAAC;QAEF,IAAI,aAAa,CAAC,MAAM,KAAK,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC;YAChE,IAAI,CAAC,sBAAsB,GAAG,aAAa,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAEvD,MAAM,KAAK,GAA4B;YACrC,mEAAmE;YACnE,qEAAqE;YACrE,qEAAqE;YACrE,mEAAmE;YACnE,+DAA+D;YAC/D,iEAAiE;YACjE,gEAAgE;YAChE,4BAA4B;YAC5B,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;YACjE,gBAAgB,EAAE,IAAI;YACtB,cAAc,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACnC,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,QAAQ,EAAE;oBACR,YAAY,EAAE;wBACZ,YAAY,EAAE,IAAI,CAAC,4BAA4B,CAC7C,IAAI,EACJ,2BAA2B,CAC5B;wBACD,WAAW,EAAE,IAAI;wBACjB,QAAQ,EAAE,IAAI;qBACf;oBACD,YAAY,EAAE,IAAI;iBACnB;aACF,CAAC,CAAC;YACH,aAAa;YACb,WAAW,EACT,MAAA,IAAI,CAAC,sBAAsB,mCAC3B,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC;SAC5C,CAAC;QAEF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,aAAa,GAAG,aAAa,CAAC;QACtC,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,qBAAqB,CAAC,aAAuB;QACnD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC;YAClE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC5C,OAAO,KAAK,KAAK,gBAAgB,IAAI,KAAK,KAAK,YAAY;YACzD,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,QAAkB;QAElB,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,IAAI,CAAC,qBAAqB,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAChE,CAAC;QACF,MAAM,aAAa,GAAG,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QAC5D,MAAM,eAAe,GAAG,aAAa,CAAC,IAAI,CACxC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CACxC,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,6CAA6C,IAAI,CAAC,aAAa,EAAE,KAAK,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,GAAG,CAC5G,CAAC;QAEF,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO;gBACL,MAAM,EAAE,0BAA0B,CAAC,gBAAgB;gBACnD,UAAU,EAAE,QAAQ,eAAe,+CAA+C;aACnF,CAAC;QACJ,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,4BAA4B,CACtD,aAAa;aACV,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;aAC3C,MAAM,CAAC,CAAC,IAAI,EAA6B,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CACnE,CAAC;QACF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,8EAA8E,IAAI,CAAC,aAAa,EAAE,wCAAwC,CAC3I,CAAC;YACF,OAAO;gBACL,MAAM,EAAE,0BAA0B,CAAC,WAAW;gBAC9C,UAAU,EACR,4DAA4D;aAC/D,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,sBAAsB,GAAG,aAAa,CAAC;QAC5C,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,aAAa;iBAC5B,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;iBAC3C,MAAM,CAAC,CAAC,IAAI,EAA6B,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC;iBAC/D,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;YACnD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,uCAAuC,IAAI,CAAC,aAAa,EAAE,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACxF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,6CAA6C,IAAI,CAAC,aAAa,EAAE,GAAG,CACrE,CAAC;QACJ,CAAC;QAED,qEAAqE;QACrE,mEAAmE;QACnE,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,EAAE;YACtC,KAAK,IAAI,CAAC,iBAAiB,CACzB,IAAI,CAAC,aAAa,EAAE,EACpB,wBAAwB,CACzB,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBAChB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,sDAAsD,IAAI,CAAC,aAAa,EAAE,KAAK,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAC7G,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,CAAC,CAAC,CAAC;QACN,UAAU,CAAC,YAAY,CAAC,CAAC;QAEzB,OAAO;YACL,MAAM,EAAE,0BAA0B,CAAC,OAAO;YAC1C,UAAU,EAAE,EAAE;SACf,CAAC;IACJ,CAAC;IAEO,qBAAqB;;QAC3B,MAAM,wBAAwB,GAAG,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC;QACnE,IAAI,OAAO,wBAAwB,KAAK,UAAU,EAAE,CAAC;YACnD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,KAAK,GAAG,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,KAAK,GAAwB,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,IAAI,CAAC,oCAAoC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAC3E,CAAC;QACF,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QACtC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACvC,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,SAAS,CAAC,CAAC;YACjE,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,CAAC,CAAC;YACrD,MAAM,MAAM,GACV,SAAS,KAAK,IAAI;gBAChB,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;YAC1D,IACE,MAAM,KAAK,IAAI;gBACf,SAAS,KAAK,IAAI;gBAClB,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;gBAC5B,SAAS,GAAG,CAAC;gBACb,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EACvB,CAAC;gBACD,SAAS;YACX,CAAC;YAED,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC;gBACT,MAAM;gBACN,SAAS;gBACT,KAAK;gBACL,OAAO,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA,MAAA,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,0CAAE,IAAI,KAAI,IAAI;gBAClE,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,EAAE,SAAS,CAAC;aAC7D,CAAC,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,wBAAwB,CAC9B,KAA0B;;QAE1B,uEAAuE;QACvE,2EAA2E;QAC3E,yEAAyE;QACzE,yEAAyE;QACzE,4CAA4C;QAC5C,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAC9B,IAAI,CAAC,oCAAoC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAC3E,CAAC;QAEF,MAAM,IAAI,GAA2B,EAAE,CAAC;QACxC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QAErC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtD,SAAS;YACX,CAAC;YAED,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC;gBACR,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EACF,CAAA,MAAA,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,0CAAE,IAAI;oBACtC,IAAI,CAAC,OAAO;oBACZ,gBAAgB,IAAI,CAAC,KAAK,EAAE;aAC/B,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,oCAAoC;QAC1C,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC;QACzD,IAAI,OAAO,mBAAmB,KAAK,UAAU,EAAE,CAAC;YAC9C,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,aAAa,GAA2B,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,CAAC,CAAC;YACpD,IAAI,KAAK,KAAK,IAAI,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5C,SAAS;YACX,CAAC;YAED,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACtB,aAAa,CAAC,IAAI,CAAC;gBACjB,KAAK;gBACL,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,EAAE,KAAK,CAAC;aACnD,CAAC,CAAC;QACL,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAEO,eAAe,CACrB,SAAiB,EACjB,KAAoB,EACpB,WAAwB;QAExB,IAAI,MAAM,GACR,KAAK,KAAK,IAAI;YACZ,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,KAAK,GAAG,6BAA6B,GAAG,SAAS,CAAC;QAExD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,kBAAkB,EAAE,CAAC;YACjE,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACxD,CAAC;QAED,OAAO,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,MAAM,GAAG,MAAM,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,qBAAqB,CAC3B,KAAoB,EACpB,SAAiB;QAEjB,MAAM,MAAM,GAAG,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,MAAM,IAAI,SAAS,EAAE,CAAC;QACjD,IAAI,IAAI,GAAG,UAAU,CAAC;QAEtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,IAAI,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,cAAc,CAAC,KAAc;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAE7C,OAAO,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;YAC5D,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAEO,2BAA2B,CACjC,KAA0B,EAC1B,IAA4B;QAE5B,MAAM,OAAO,GAAG;YACd,IAAI,CAAC,OAAO,EAAE;YACd,KAAK;iBACF,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,WAAC,OAAA,GAAG,IAAI,CAAC,MAAM,IAAI,MAAA,IAAI,CAAC,KAAK,mCAAI,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAA,EAAA,CAAC;iBACpE,IAAI,CAAC,GAAG,CAAC;YACZ,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;SACxD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEZ,IAAI,OAAO,KAAK,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC;QAEtC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,sCAAsC,IAAI,CAAC,aAAa,EAAE,sDAAsD,CACjH,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,2BAA2B,IAAI,CAAC,aAAa,EAAE,cAAc,KAAK,CAAC,MAAM,UAAU;YACjF,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK;iBAC5D,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACZ,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CACzD;iBACA,IAAI,CAAC,IAAI,CAAC,GAAG,CACnB,CAAC;IACJ,CAAC;IAEO,8BAA8B;QACpC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;YACjC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,GAAG,CACvB,IAAI,CAAC,qBAAqB,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAChE,CAAC;QACF,OAAO,IAAI,CAAC,sBAAsB;aAC/B,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;aACtC,MAAM,CAAC,CAAC,IAAI,EAA6B,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IACrE,CAAC;IAEO,sBAAsB,CAAC,QAAiB;QAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QACtC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7C,IACE,MAAM,KAAK,IAAI;gBACf,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;gBACzB,MAAM,GAAG,CAAC;gBACV,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EACvB,CAAC;gBACD,SAAS;YACX,CAAC;YAED,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACxB,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAEO,eAAe,CACrB,IAAa,EACb,SAAiB,EACjB,QAAgB;QAEhB,MAAM,cAAc,GAClB,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,MAAM,KAAK,GAAG,cAAc,IAAI,QAAQ,CAAC;QAEzC,OAAO,KAAK,CAAC,MAAM,GAAG,SAAS;YAC7B,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,IAAI,QAAQ;YAC9C,CAAC,CAAC,KAAK,CAAC;IACZ,CAAC;IAEO,oBAAoB,CAAC,IAAa,EAAE,MAAc;QACxD,OAAO,IAAI,CAAC,eAAe,CACzB,IAAI,EACJ,+BAA+B,EAC/B,QAAQ,MAAM,EAAE,CACjB,CAAC;IACJ,CAAC;IAEO,eAAe,CAAC,IAAa,EAAE,KAAa;QAClD,OAAO,IAAI,CAAC,eAAe,CACzB,IAAI,EACJ,0BAA0B,EAC1B,gBAAgB,KAAK,EAAE,CACxB,CAAC;IACJ,CAAC;IAEO,qBAAqB,CAAC,IAAuB;QACnD,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IACrE,CAAC;IAEO,4BAA4B,CAClC,IAAuB,EACvB,cAAuB;QAEvB,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CACvC,GAAG,IAAI,CAAC,OAAO,WAAW,IAAI,CAAC,SAAS,EAAE,EAC1C,+BAA+B,EAC/B,IAAI,CAAC,IAAI,CACV,CAAC;QAEF,OAAO,IAAI,CAAC,eAAe,CACzB,GAAG,IAAI,CAAC,OAAO,MAAM,IAAI,CAAC,IAAI,EAAE,EAChC,+BAA+B,EAC/B,YAAY,CACb,CAAC;IACJ,CAAC;IAEO,4BAA4B,CAClC,aAAkC;QAElC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;QACzC,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBACxB,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACpC,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,IAAY,EACZ,WAA0B;QAE1B,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAClD,IAAI,YAAY,KAAK,WAAW,EAAE,CAAC;YACjC,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC;QACxC,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACb,gBAAgB,WAAW,8DAA8D,CAC1F,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,wBAAwB,WAAW,QAAQ,IAAI,CAAC,aAAa,EAAE,iCAAiC,CACjG,CAAC;QACF,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,IAAI,CAChB,IAAI,CAAC,GAAG,EACR,IAAI,EACJ,WAAW,EACX,IAAI,CAAC,8BAA8B,EAAE,CACtC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,sBAAsB,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC5D,IAAI,sBAAsB,KAAK,WAAW,EAAE,CAAC;gBAC3C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,gBAAgB,WAAW,QAAQ,IAAI,CAAC,aAAa,EAAE,mEAAmE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CACxJ,CAAC;gBACF,OAAO;YACT,CAAC;YAED,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,qBAAqB;QAC3B,MAAM,wBAAwB,GAAG,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC;QACnE,IAAI,OAAO,wBAAwB,KAAK,UAAU,EAAE,CAAC;YACnD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,YAAY,GAAG,wBAAwB,CAAC,IAAI,CAChD,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,OAAO,EAAE,CACf,CAAC;QAEF,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;IAC3C,CAAC;IAEO,oBAAoB;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,KAAK,KAAK,CAAC;IACxE,CAAC;IAEO,oBAAoB;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,KAAK,KAAK,CAAC;IACxE,CAAC;IAEO,kBAAkB;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,qBAAqB,KAAK,KAAK,CAAC;IACtE,CAAC;IAEO,iCAAiC;QACvC,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,qCAAqC;YAClE,IAAI,CACL,CAAC;IACJ,CAAC;IAEO,4BAA4B;QAClC,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,gCAAgC,KAAK,IAAI,CACvE,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACK,0BAA0B;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,6BAA6B,CAAC;QACvE,MAAM,KAAK,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAE1D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACzD,OAAO,GAAG,CAAC;QACb,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IAEO,iCAAiC,CAAC,aAAqB;QAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAEhD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,OAAO,OAAO,GAAG,IAAI,CAAC,0BAA0B,EAAE;YAChD,CAAC,CAAC,qBAAqB,CAAC,QAAQ;YAChC,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC;IACnC,CAAC;IAEO,uBAAuB;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,iCAAiC,EAAE;YACvD,CAAC,CAAC,0BAA0B;YAC5B,CAAC,CAAC,gCAAgC,CAAC;QAErC,2EAA2E;QAC3E,uEAAuE;QACvE,OAAO,IAAI,CAAC,4BAA4B,EAAE;YACxC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,8BAA8B,CAAC;YAClD,CAAC,CAAC,QAAQ,CAAC;IACf,CAAC;IAEO,qBAAqB,CAAC,OAAsB;QAClD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;YACtC,OAAO,oBAAoB,CAAC,QAAQ,CAAC;QACvC,CAAC;QAED,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,GAAG,EAAE,EAAE,CAAC;YACrC,OAAO,oBAAoB,CAAC,OAAO,CAAC;QACtC,CAAC;QAED,OAAO,oBAAoB,CAAC,EAAE,CAAC;IACjC,CAAC;IAEO,qBAAqB,CAC3B,OAAsB,EACtB,YAA2B,EAC3B,KAAoB;QAEpB,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,OAAO,oBAAoB,CAAC,OAAO,CAAC;QACtC,CAAC;QAED,IAAI,KAAK,KAAK,GAAG,IAAI,CAAC,OAAO,IAAI,GAAG,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;YAC5D,OAAO,oBAAoB,CAAC,iBAAiB,CAAC;QAChD,CAAC;QAED,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC1B,OAAO,YAAY,KAAK,CAAC;gBACvB,CAAC,CAAC,oBAAoB,CAAC,WAAW;gBAClC,CAAC,CAAC,oBAAoB,CAAC,eAAe,CAAC;QAC3C,CAAC;QAED,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,OAAO,oBAAoB,CAAC,WAAW,CAAC;QAC1C,CAAC;QAED,OAAO,oBAAoB,CAAC,OAAO,CAAC;IACtC,CAAC;IAEO,0BAA0B,CAChC,OAAsB,EACtB,WAAmB;QAEnB,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,WAAW,KAAK,oBAAoB,CAAC,iBAAiB,EAAE,CAAC;YAC3D,OAAO,CAAC,CAAC;QACX,CAAC;QAED,IAAI,WAAW,KAAK,oBAAoB,CAAC,WAAW,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,CACL,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,4CAA4C,CACxE,CAAC;IACJ,CAAC;IAEO,mBAAmB,CACzB,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EACrC,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC;QAEpD,MAAM,gBAAgB,GAAG,IAAI,CAAC,2BAA2B,CACvD,KAAK,EACL,YAAY,CACb,CAAC;QAEF,OAAO,IAAI,CAAC,4BAA4B,CAAC,gBAAgB,CAAC,CAAC;IAC7D,CAAC;IAEO,2BAA2B,CACjC,KAAoB,EACpB,YAA2B;QAE3B,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,CAAC,CAAC,CAAC,WAAW;YACnB,KAAK,EAAE,CAAC,CAAC,gBAAgB;YACzB,KAAK,EAAE,CAAC,CAAC,QAAQ;YACjB,KAAK,EAAE,CAAC,CAAC,aAAa;YACtB,KAAK,EAAE,CAAC,CAAC,aAAa;YACtB,KAAK,CAAC,CAAC,CAAC,iBAAiB;YACzB,KAAK,CAAC,EAAE,cAAc;gBACpB,OAAO,qBAAqB,CAAC,OAAO,CAAC;YACvC,KAAK,EAAE,EAAE,SAAS;gBAChB,OAAO,qBAAqB,CAAC,MAAM,CAAC;YACtC,KAAK,CAAC,CAAC,CAAC,iBAAiB;YACzB,KAAK,EAAE,CAAC,CAAC,UAAU;YACnB,KAAK,EAAE,EAAE,wBAAwB;gBAC/B,OAAO,qBAAqB,CAAC,eAAe,CAAC;YAC/C,KAAK,CAAC,EAAE,WAAW;gBACjB,OAAO,qBAAqB,CAAC,QAAQ,CAAC;YACxC,KAAK,CAAC,CAAC,CAAC,iBAAiB;YACzB,KAAK,EAAE,EAAE,WAAW;gBAClB,OAAO,qBAAqB,CAAC,KAAK,CAAC;YACrC,KAAK,EAAE,EAAE,0BAA0B;gBACjC,OAAO,qBAAqB,CAAC,iBAAiB,CAAC;YACjD,KAAK,EAAE,EAAE,kBAAkB;gBACzB,OAAO,qBAAqB,CAAC,YAAY,CAAC;YAC5C,KAAK,EAAE,EAAE,UAAU;gBACjB,OAAO,qBAAqB,CAAC,aAAa,CAAC;YAC7C,KAAK,GAAG,EAAE,gBAAgB;gBACxB,OAAO,qBAAqB,CAAC,MAAM,CAAC;YACtC;gBACE,IAAI,YAAY,KAAK,IAAI,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;oBAChD,OAAO,qBAAqB,CAAC,QAAQ,CAAC;gBACxC,CAAC;gBAED,OAAO,qBAAqB,CAAC,OAAO,CAAC;QACzC,CAAC;IACH,CAAC;IAEO,4BAA4B,CAAC,gBAAwB;QAC3D,IACE,IAAI,CAAC,iCAAiC,EAAE;YACxC,gBAAgB,KAAK,qBAAqB,CAAC,eAAe,EAC1D,CAAC;YACD,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QAED,IACE,IAAI,CAAC,4BAA4B,EAAE;YACnC,CAAC,gBAAgB,KAAK,qBAAqB,CAAC,QAAQ;gBAClD,gBAAgB,KAAK,qBAAqB,CAAC,MAAM,CAAC,EACpD,CAAC;YACD,iEAAiE;YACjE,kEAAkE;YAClE,sEAAsE;YACtE,mEAAmE;YACnE,sEAAsE;YACtE,qEAAqE;YACrE,aAAa;YACb,OAAO,IAAI,CAAC,iCAAiC,CAAC,gBAAgB,CAAC,CAAC;QAClE,CAAC;QAED,QAAQ,gBAAgB,EAAE,CAAC;YACzB,KAAK,qBAAqB,CAAC,KAAK;gBAC9B,OAAO,qBAAqB,CAAC,OAAO,CAAC;YACvC,KAAK,qBAAqB,CAAC,eAAe;gBACxC,OAAO,qBAAqB,CAAC,OAAO,CAAC;YACvC,KAAK,qBAAqB,CAAC,iBAAiB,CAAC;YAC7C,KAAK,qBAAqB,CAAC,YAAY,CAAC;YACxC,KAAK,qBAAqB,CAAC,aAAa;gBACtC,OAAO,qBAAqB,CAAC,OAAO,CAAC;YACvC,KAAK,qBAAqB,CAAC,QAAQ,CAAC;YACpC,KAAK,qBAAqB,CAAC,MAAM;gBAC/B,OAAO,qBAAqB,CAAC,OAAO,CAAC;YACvC;gBACE,OAAO,gBAAgB,CAAC;QAC5B,CAAC;IACH,CAAC;IAEO,mBAAmB,CAAC,gBAAwB;QAClD,QAAQ,gBAAgB,EAAE,CAAC;YACzB,KAAK,qBAAqB,CAAC,OAAO,CAAC;YACnC,KAAK,qBAAqB,CAAC,MAAM,CAAC;YAClC,KAAK,qBAAqB,CAAC,eAAe,CAAC;YAC3C,KAAK,qBAAqB,CAAC,iBAAiB,CAAC;YAC7C,KAAK,qBAAqB,CAAC,YAAY,CAAC;YACxC,KAAK,qBAAqB,CAAC,aAAa;gBACtC,OAAO,IAAI,CAAC;YACd;gBACE,OAAO,KAAK,CAAC;QACjB,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,QAAgB,EAAE,KAAoB;QAC/D,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACrC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACxC,CAAC;IACH,CAAC;IAEO,sBAAsB,CAAC,IAAa;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAC;QAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,IAAI,QAAiB,CAAC;QACtB,IAAI,CAAC;YACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QAAC,WAAM,CAAC;YACP,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,MAAM,MAAM,GAAG,OAAO;aACnB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aACpC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACnD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,CAAC,CAAC;QACzD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,kBAAkB,CACrB,OAAO,EACP,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,KAAK,CAAC,CAC5C,CAAC;QACF,IAAI,CAAC,kBAAkB,CACrB,SAAS,EACT,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,OAAO,CAAC,CAC9C,CAAC;QACF,IAAI,CAAC,kBAAkB,CACrB,eAAe,EACf,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,aAAa,CAAC,CACpD,CAAC;IACJ,CAAC;IAEO,eAAe,CAAC,QAAgB;QACtC,qEAAqE;QACrE,+DAA+D;QAC/D,sEAAsE;QACtE,uEAAuE;QACvE,qEAAqE;QACrE,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChD,IACE,SAAS,KAAK,SAAS;YACvB,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,mBAAmB,GAAG,wBAAwB,EAChE,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;QAEvE,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAEO,kBAAkB,CAAC,KAAc;QACvC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACxD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACrD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7B,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACjD,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,mBAAmB,CAAC,IAAa;QACvC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,GAAG,CAAC,CAAC;QAE5C,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,MAAM,GAA4B,EAAE,CAAC;YAE3C,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;gBACrD,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;YACD,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;gBACrD,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;YACD,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;gBACrD,MAAM,CAAC,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC;YAED,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACxD,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GACb,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;YACtD,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC;YACxD,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC;YAC9D,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC;YAC3D,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAE9D,OAAO,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IACpC,CAAC;IAEO,8BAA8B,CAAC,IAAa;QAClD,OAAO,IAAA,6CAA8B,EAAC,IAAI,EAAE;YAC1C,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE;YAC7B,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;YACzC,+BAA+B,EAAE,GAAG,EAAE,CACpC,IAAI,CAAC,QAAQ,CAAC,+BAA+B,EAAE;YACjD,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;SACxD,CAAC,CAAC;IACL,CAAC;IAEO,QAAQ,CAAC,KAAc;QAC7B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;YAChD,CAAC,CAAE,KAAiC;YACpC,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAEO,kBAAkB,CACxB,eAAmC,EACnC,MAAc;QAEd,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,CAC9C,IAAI,CAAC,wBAAwB,EAAE,IAAI,EAAE,EACrC,eAAe,CAChB,CAAC;QACF,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,uBAAuB,CAAC;QAChE,IAAI,CAAC,oBAAoB,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;QAC/B,IAAI,CAAC,2BAA2B,GAAG,CAAC,CAAC;QAErC,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACnC,CAAC;IAEO,gCAAgC,CACtC,gBAAwB,EACxB,aAA4B,EAC5B,YAA2B;;QAE3B,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAG,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,mBAAmB,0CAAE,gBAAgB,CAAC;QAEnE,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,IAAI,CAAC,2BAA2B,GAAG,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;QAED,IACE,IAAI,CAAC,mCAAmC,CACtC,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACb,YAAY,CACb,EACD,CAAC;YACD,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,0EAA0E;QAC1E,6EAA6E;QAC7E,yEAAyE;QACzE,6EAA6E;QAC7E,4EAA4E;QAC5E,wDAAwD;QACxD,IACE,QAAQ,KAAK,qBAAqB,CAAC,OAAO;YAC1C,IAAI,CAAC,0BAA0B,CAAC,aAAa,EAAE,YAAY,CAAC;YAC5D,IAAI,CAAC,4BAA4B,EAAE,EACnC,CAAC;YACD,IAAI,CAAC,2BAA2B,GAAG,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;QAED,wEAAwE;QACxE,0EAA0E;QAC1E,4EAA4E;QAC5E,oEAAoE;QACpE,IAAI,CAAC,2BAA2B,IAAI,CAAC,CAAC;QACtC,IAAI,IAAI,CAAC,2BAA2B,IAAI,8BAA8B,EAAE,CAAC;YACvE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CACrB,wCAAwC,IAAI,CAAC,aAAa,EAAE,UAAU,IAAI,CAAC,2BAA2B,6CAA6C,QAAQ,SAAS,gBAAgB,IAAI,CACzL,CAAC;YACF,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAEO,mCAAmC,CACzC,QAAgB,EAChB,MAAc,EACd,aAA4B,EAC5B,YAA2B;QAE3B,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IACE,IAAI,CAAC,gBAAgB,KAAK,gBAAgB;YAC1C,QAAQ,KAAK,qBAAqB,CAAC,OAAO;YAC1C,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;YACjC,IAAI,CAAC,0BAA0B,CAAC,aAAa,EAAE,YAAY,CAAC,EAC5D,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IACE,QAAQ,KAAK,qBAAqB,CAAC,OAAO;YAC1C,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAChC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IACE,QAAQ,KAAK,qBAAqB,CAAC,OAAO;YAC1C,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,EACjC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,CACL,QAAQ,KAAK,qBAAqB,CAAC,eAAe;YAClD,CAAC,MAAM,KAAK,qBAAqB,CAAC,QAAQ;gBACxC,MAAM,KAAK,qBAAqB,CAAC,MAAM,CAAC,CAC3C,CAAC;IACJ,CAAC;IAEO,0BAA0B,CAChC,aAA4B,EAC5B,YAA2B;QAE3B,OAAO,aAAa,KAAK,CAAC,IAAI,aAAa,KAAK,GAAG,IAAI,CAAC,CAAC,YAAY,CAAC;IACxE,CAAC;IAEO,qBAAqB;QAC3B,OAAO,IAAI,CAAC,0BAA0B,CACpC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAC7B,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CACtC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,yBAAyB,CACrC,MAAc,EACd,UAAyC,EAAE;QAE3C,IAAI,OAAO,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;YACrC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC;QACD,oEAAoE;QACpE,oEAAoE;QACpE,uCAAuC;QACvC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAChD,IAAI,CAAC,aAAa,EAAE,EACpB,MAAM,EACN,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CAAC;QACF,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IAEO,0BAA0B;QAChC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACvD,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAAG,aAAa,CAAC,GAAG,EAAE;YACxC,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;YAEtC,KAAK,IAAI,CAAC,yBAAyB,CAAC,wBAAwB,CAAC;iBAC1D,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACf,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CACrB,gDAAgD,IAAI,CAAC,aAAa,EAAE,KAAK,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CACvG,CAAC;YACJ,CAAC,CAAC;iBACD,OAAO,CAAC,GAAG,EAAE;gBACZ,mEAAmE;gBACnE,oEAAoE;gBACpE,oEAAoE;gBACpE,iDAAiD;gBACjD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBACpC,CAAC;YACH,CAAC,CAAC,CAAC;QACP,CAAC,EAAE,kCAAkC,CAAC,CAAC;QACvC,IAAI,CAAC,yBAAyB,GAAG,cAAc,CAAC;QAChD,UAAU,CAAC,cAAc,CAAC,CAAC;IAC7B,CAAC;IAEO,oBAAoB,CAC1B,QAA4B;QAE5B,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACnD,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC9E,CAAC;IAEO,wBAAwB;QAC9B,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC1C,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAEO,oBAAoB;QAC1B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,oBAAoB,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,2BAA2B,GAAG,CAAC,CAAC;IACvC,CAAC;IAEO,6BAA6B,CACnC,MAAc,EACd,OAA4B,EAC5B,UAAwC,EAAE;QAE1C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,KAAK,OAAO,EAAE;aACX,IAAI,CAAC,GAAG,EAAE;YACT,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YACjD,IAAI,CAAC,gCAAgC,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC,CAAC;aACD,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACrB,IAAI,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtC,kEAAkE;gBAClE,oEAAoE;gBACpE,mEAAmE;gBACnE,yCAAyC;gBACzC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,UAAU,MAAM,gBAAgB,IAAI,CAAC,aAAa,EAAE,6FAA6F,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAC/K,CAAC;gBACF,MAAM,IAAI,CAAC,oCAAoC,CAAC,MAAM,CAAC,CAAC;gBACxD,OAAO;YACT,CAAC;YAED,IAAI,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,UAAU,MAAM,gBAAgB,IAAI,CAAC,aAAa,EAAE,iEAAiE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,gFAAgF,CACjO,CAAC;gBACF,IAAI,CAAC,gCAAgC,CAAC,MAAM,EAAE;oBAC5C,uBAAuB,EAAE,IAAI;iBAC9B,CAAC,CAAC;gBACH,IAAI,OAAO,CAAC,8BAA8B,EAAE,CAAC;oBAC3C,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;gBAC1C,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CACrB,wBAAwB,MAAM,eAAe,IAAI,CAAC,aAAa,EAAE,KAAK,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CACpG,CAAC;YACF,MAAM,IAAI,CAAC,oCAAoC,CAAC,MAAM,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,yBAAyB,CAAC,OAA4B;QAC5D,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAClC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;QACrC,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,EAAE;YACpC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;YAEtC,KAAK,IAAI,CAAC,8BAA8B,EAAE;iBACvC,IAAI,CAAC,GAAG,EAAE;gBACT,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC;oBACpC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CACrB,4CAA4C,IAAI,CAAC,aAAa,EAAE,sDAAsD,CACvH,CAAC;oBACF,OAAO;gBACT,CAAC;gBAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,8CAA8C,IAAI,CAAC,aAAa,EAAE,oFAAoF,CACvJ,CAAC;gBAEF,OAAO,OAAO,EAAE;qBACb,IAAI,CAAC,GAAG,EAAE;oBACT,IAAI,CAAC,wBAAwB,CAAC,sBAAsB,EAAE,SAAS,CAAC,CAAC;oBACjE,IAAI,CAAC,gCAAgC,CAAC,sBAAsB,CAAC,CAAC;gBAChE,CAAC,CAAC;qBACD,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;oBACrB,IAAI,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC5C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,mCAAmC,IAAI,CAAC,aAAa,EAAE,iEAAiE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,gFAAgF,CACpO,CAAC;wBACF,IAAI,CAAC,gCAAgC,CAAC,sBAAsB,EAAE;4BAC5D,uBAAuB,EAAE,IAAI;yBAC9B,CAAC,CAAC;wBACH,OAAO;oBACT,CAAC;oBAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CACrB,gDAAgD,IAAI,CAAC,aAAa,EAAE,KAAK,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CACvG,CAAC;oBACF,MAAM,IAAI,CAAC,oCAAoC,CAC7C,sBAAsB,CACvB,CAAC;gBACJ,CAAC,CAAC,CAAC;YACP,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACf,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CACrB,sDAAsD,IAAI,CAAC,aAAa,EAAE,KAAK,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAC7G,CAAC;YACJ,CAAC,CAAC,CAAC;QACP,CAAC,EAAE,oCAAoC,CAAC,CAAC;QACzC,UAAU,CAAC,UAAU,CAAC,CAAC;IACzB,CAAC;IAEO,KAAK,CAAC,8BAA8B;QAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;QACzC,IAAI,OAAO,aAAa,KAAK,UAAU,EAAE,CAAC;YACxC,OAAO;QACT,CAAC;QAED,MAAM,aAAa,CAAC,IAAI,CACtB,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,OAAO,EAAE,EACd,IAAI,CAAC,6BAA6B,EAAE,CACrC,CAAC;QACF,MAAM,IAAI,CAAC,6BAA6B,EAAE,CAAC;IAC7C,CAAC;IAEO,uBAAuB;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;QAE3D,IAAI,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC;YACzD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC,sCAAsC,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;IAEO,sCAAsC,CAC5C,KAAoB;QAEpB,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,CAAC,CAAC,CAAC,iBAAiB;YACzB,KAAK,CAAC,CAAC,CAAC,WAAW;YACnB,KAAK,CAAC,CAAC,CAAC,cAAc;YACtB,KAAK,EAAE,CAAC,CAAC,SAAS;YAClB,KAAK,EAAE,CAAC,CAAC,gBAAgB;YACzB,KAAK,EAAE,CAAC,CAAC,QAAQ;YACjB,KAAK,EAAE,CAAC,CAAC,aAAa;YACtB,KAAK,EAAE,CAAC,CAAC,aAAa;YACtB,KAAK,EAAE,EAAE,UAAU;gBACjB,OAAO,IAAI,CAAC;YACd;gBACE,OAAO,KAAK,CAAC;QACjB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,oCAAoC,CAChD,MAAc;QAEd,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,yBAAyB,CAClC,GAAG,MAAM,2BAA2B,EACpC,EAAE,eAAe,EAAE,IAAI,EAAE,CAC1B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,+CAA+C,MAAM,gBAAgB,IAAI,CAAC,aAAa,EAAE,KAAK,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAC5H,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,2BAA2B,CAAC,KAAc;QAChD,OAAO,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;IACzE,CAAC;IAEO,qBAAqB,CAAC,KAAc;QAC1C,IACE,KAAK,KAAK,IAAI;YACd,OAAO,KAAK,KAAK,QAAQ;YACzB,MAAM,IAAI,KAAK;YACd,KAA4B,CAAC,IAAI,KAAK,2BAA2B,EAClE,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,+DAA+D;QAC/D,2DAA2D;QAC3D,OAAO,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;IACjE,CAAC;IAEO,yBAAyB,CAAC,KAAc;QAC9C,OAAO,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;IACxE,CAAC;IAEO,iCAAiC,CACvC,MAAc,EACd,KAAc;QAEd,IAAI,IAAI,CAAC,gCAAgC,EAAE,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GACX,qCAAqC,CACnC,IAAI,CAAC,gCAAgC,CACtC,CAAC;QACJ,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CACrB,6BAA6B,MAAM,QAAQ,IAAI,CAAC,aAAa,EAAE,gHAAgH,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAC7M,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,CAAC,gCAAgC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,gCAAgC,GAAG,IAAI,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CACrB,6BAA6B,MAAM,QAAQ,IAAI,CAAC,aAAa,EAAE,wFAAwF,OAAO,MAAM,CACrK,CAAC;QAEF,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,EAAE;YACpC,IAAI,CAAC,gCAAgC,GAAG,KAAK,CAAC;YAC9C,IAAI,CAAC,0BAA0B,CAC7B,kCAAkC,MAAM,GAAG,CAC5C,CAAC;QACJ,CAAC,EAAE,OAAO,CAAC,CAAC;QACZ,UAAU,CAAC,UAAU,CAAC,CAAC;IACzB,CAAC;IAEO,wBAAwB,CAAC,MAAc,EAAE,SAAiB;QAChE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACjD,MAAM,OAAO,GACX,UAAU,MAAM,gBAAgB,IAAI,CAAC,aAAa,EAAE,oBAAoB;YACxE,kBAAkB,UAAU,MAAM,SAAS,CAAC,CAAC,CAAC,QAAQ,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;QAE5E,IAAI,UAAU,IAAI,sBAAsB,EAAE,CAAC;YACzC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,OAAO,EAAE,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAEO,gCAAgC,CACtC,MAAc,EACd,UAAiD,EAAE;QAEnD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,aAAa,KAAK,UAAU,EAAE,CAAC;YAC5D,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,OAAO,CAAC,uBAAuB;YACnD,CAAC,CAAC,iDAAiD;YACnD,CAAC,CAAC,MAAM,KAAK,gBAAgB;gBAC3B,CAAC,CAAC,8CAA8C;gBAChD,CAAC,CAAC,uCAAuC,CAAC;QAE9C,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;YACpC,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,EAAE;gBACtC,KAAK,aAAa;qBACf,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,6BAA6B,EAAE,CAAC;qBACpE,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,6BAA6B,EAAE,CAAC;qBAChD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBACf,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CACrB,yCAAyC,MAAM,QAAQ,IAAI,CAAC,aAAa,EAAE,KAAK,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAC9G,CAAC;gBACJ,CAAC,CAAC,CAAC;YACP,CAAC,EAAE,OAAO,CAAC,CAAC;YACZ,UAAU,CAAC,YAAY,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAEO,6BAA6B;QACnC,MAAM,OAAO,GAAiC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC9D,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,4BAA4B,EAAE,CAAC;YAC9D,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;QAC7B,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,uBAAuB;QAC7B,MAAM,WAAW,GACf,OAAO,IAAI,CAAC,GAAG,CAAC,uBAAuB,KAAK,UAAU;YACpD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,uBAAuB,EAAE;YACpC,CAAC,CAAC,IAAI,CAAC;QACX,MAAM,SAAS,GACb,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ;YAC5C,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC;QAEX,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAChD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,aAAa,GACjB,eAAe,IAAI,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,MAAM,UAAU,GACd,qBAAqB,IAAI,SAAS;YAChC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC;YACvC,CAAC,CAAC,EAAE,CAAC;QAET,IAAI,aAAa,IAAI,UAAU,EAAE,CAAC;YAChC,OAAO,GAAG,aAAa,KAAK,UAAU,GAAG,CAAC;QAC5C,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAEO,eAAe,CAAC,KAAc;QACpC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1C,OAAO,eAAe,CAAC;QACzB,CAAC;QAED,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChE,CAAC;IAEO,iBAAiB,CACvB,IAAwB,EACxB,QAA4B;QAE5B,MAAM,MAAM,GAAuB,EAAE,GAAG,IAAI,EAAE,CAAC;QAE/C,KAAK,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7D,MAAM,CAAC,OAAO,CAAC,GAAG;gBAChB,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBAC1B,GAAG,UAAU;aACd,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,aAAa;QACnB,OAAO,CACL,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC;YACpD,IAAI,CAAC,SAAS,CAAC,WAAW;YAC1B,iBAAiB,CAClB,CAAC;IACJ,CAAC;IAEO,OAAO;QACb,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;CACF;AAtzFD,gDAszFC"}
@@ -1,47 +1,66 @@
1
- # Matter PowerSource `batPercentRemaining` never refreshes in controllers (changes-omitted attribute; store is fresh)
1
+ # Matter PowerSource `batPercentRemaining` never refreshes in controllers (changes-omitted attribute; device-side store is fresh)
2
+
3
+ Ready to file against `homebridge/homebridge` (Matter API). Title suggestion:
4
+
5
+ > Matter bridged accessories: `batPercentRemaining` freezes at pairing-time value in Apple Home (changes-omitted attribute; store verifiably fresh)
2
6
 
3
7
  ## Summary
4
8
 
5
- A Matter Robotic Vacuum Cleaner (0x74) exposed through Homebridge 2's Matter
6
- API publishes battery updates continuously via `updateAccessoryState`. The
7
- matter.js store demonstrably carries the live value. Controllers (Apple
8
- Home, multi-hub) keep rendering the value from pairing time indefinitely —
9
- across plugin restarts, Homebridge restarts, and days of uptime — while
10
- `batChargeState` on the same cluster updates live.
9
+ A Matter Robotic Vacuum Cleaner (device type 0x74) exposed through Homebridge 2's
10
+ Matter API publishes battery updates continuously via `updateAccessoryState`. The
11
+ matter.js store demonstrably carries the live value. Controllers (Apple Home,
12
+ multi-hub) keep rendering the value from pairing time indefinitely — across
13
+ plugin restarts, Homebridge restarts, and days of uptime — while
14
+ `batChargeState` on the very same cluster updates live.
11
15
 
12
16
  ## Environment
13
17
 
14
- - Homebridge 2.1.1 (Matter API), plugin publishing via `updateAccessoryState`
15
- - Three robots (one V1-protocol, two B01-protocol), all identical behavior
16
- - Controller: Apple Home (Apple TV + HomePod hubs, current iOS)
18
+ - Homebridge 2.1.x (Matter API), plugin `homebridge-roborock-matter` publishing
19
+ full-state snapshots via `updateAccessoryState`
20
+ - Three robots (one V1-protocol, two B01-protocol) identical behavior on all
21
+ - Controller: Apple Home (Apple TV + HomePod hubs, current iOS/tvOS)
22
+
23
+ ## Reproduction
24
+
25
+ 1. Pair a bridged Matter accessory that exposes PowerSource with a battery
26
+ percentage that changes over time (any RVC works).
27
+ 2. Let the battery drain or charge by 10+ points.
28
+ 3. Compare the Apple Home tile with the matter.js store on disk.
17
29
 
18
30
  ## Evidence chain
19
31
 
20
- 1. Plugin log shows continuous publishes with live values (73% -> 92% over
21
- an hour, all three robots).
22
- 2. `grep -ro "batPercentRemaining[^,}]*" <storage> --include="*.json"`
23
- shows the persisted matter.js store matching the vendor app in real time
24
- (e.g. 170 = 85% while Apple renders 74%).
32
+ 1. Plugin log shows continuous publishes with live values (73% 92% over an
33
+ hour, all three robots).
34
+ 2. `grep -ro "batPercentRemaining[^,}]*" <storage> --include="*.json"` shows the
35
+ persisted matter.js store matching the vendor app in real time (e.g. 170 =
36
+ 85% while Apple renders 74%).
25
37
  3. `batChargeState` (same PowerSource cluster) propagates to Apple Home in
26
38
  near-real-time throughout.
27
- 4. Values rendered by Apple are exactly the per-robot values from each
28
- robot's commissioning moment; a re-pair refreshes once, then freezes
29
- again.
39
+ 4. The values Apple renders are exactly each robot's value from its
40
+ commissioning moment; a re-pair refreshes once, then freezes again.
41
+ 5. A device-side "resync nudge" (publishing the attribute as briefly unknown,
42
+ then real, to force two genuine store changes and a data-version bump) helps
43
+ only controllers that re-prime their subscription (e.g. after a hub
44
+ restart); Apple in steady state still never converges.
30
45
 
31
46
  ## Analysis
32
47
 
33
48
  `batPercentRemaining` (and `batTimeToFullCharge`) carry the Matter spec
34
- reporting quality "changes omitted" (C). matter.js honors this on the
49
+ reporting quality **"changes omitted" (C)**. matter.js honors this on the
35
50
  device side (changes are not delivered via subscription reports), and the
36
- matter.js controller compensates on its side ("Always read attributes that
37
- do not report changes via subscriptions" — matter.js changelog 0.10).
38
- Apple's controller evidently performs no such re-reads, so bridged
39
- accessories freeze on the pairing-time percentage.
51
+ matter.js controller compensates on its own side ("Always read attributes that
52
+ do not report changes via subscriptions" — matter.js changelog 0.10). Apple's
53
+ controller evidently performs no such re-reads, so bridged accessories freeze
54
+ on the pairing-time percentage. No plugin-side write can force a
55
+ changes-omitted attribute to report.
40
56
 
41
57
  ## Suggestion
42
58
 
43
- Consider a device-side mitigation in the Homebridge Matter layer for
44
- bridged accessories, e.g. bumping the cluster data version or scheduling a
45
- periodic re-announce for changes-omitted attributes whose value drifted,
46
- so that controllers that rely purely on subscriptions eventually converge.
59
+ Consider a device-side mitigation in the Homebridge Matter layer for bridged
60
+ accessories for example bumping the cluster data version or scheduling a
61
+ periodic re-announce for changes-omitted attributes whose value has drifted
62
+ so controllers that rely purely on subscriptions eventually converge. This
63
+ would fix frozen battery percentages for every bridged plugin at once, in one
64
+ place.
65
+
47
66
  Happy to provide full logs, store dumps, and to test builds.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "homebridge-roborock-matter",
3
- "version": "2.6.0",
3
+ "version": "2.7.0",
4
4
  "description": "Matter-only Homebridge plugin publishing Roborock robot vacuums (including 2025 B01/Q7-series) as native Matter accessories for Apple Home. Fork of homebridge-roborock-vacuum2.",
5
5
  "license": "MIT",
6
6
  "author": {
@@ -456,4 +456,64 @@ class RRMapParser {
456
456
  }
457
457
  }
458
458
 
459
+ /**
460
+ * Resolve which room segment the robot is physically inside from a parsed
461
+ * classic RRMap: the ROBOT_POSITION (millimeters) is converted to the
462
+ * IMAGE block's pixel grid (50 mm per pixel, offset by the image position)
463
+ * and looked up in the segment pixel list, whose entries encode
464
+ * `pixelIndex | (segmentId << 21)`.
465
+ *
466
+ * Returns the segment id, or null when the position/geometry is missing or
467
+ * the robot stands on a pixel with no segment assignment (e.g. docked in an
468
+ * unsegmented corridor).
469
+ * @param {Record<string, any>} parsedMap result of RRMapParser.parsedata()
470
+ * @returns {number | null}
471
+ */
472
+ RRMapParser.resolveLiveSegmentId = function resolveLiveSegmentId(parsedMap) {
473
+ const image = parsedMap?.IMAGE;
474
+ const position = parsedMap?.ROBOT_POSITION?.position;
475
+ if (
476
+ !image ||
477
+ !Array.isArray(position) ||
478
+ !Number.isFinite(position[0]) ||
479
+ !Number.isFinite(position[1])
480
+ ) {
481
+ return null;
482
+ }
483
+
484
+ const width = image.dimensions?.width;
485
+ const height = image.dimensions?.height;
486
+ const left = image.position?.left;
487
+ const top = image.position?.top;
488
+ const segmentPixels = image.pixels?.segments;
489
+ if (
490
+ !Number.isInteger(width) ||
491
+ !Number.isInteger(height) ||
492
+ width <= 0 ||
493
+ height <= 0 ||
494
+ !Number.isInteger(left) ||
495
+ !Number.isInteger(top) ||
496
+ !Array.isArray(segmentPixels) ||
497
+ segmentPixels.length === 0
498
+ ) {
499
+ return null;
500
+ }
501
+
502
+ const pixelX = Math.floor(position[0] / 50) - left;
503
+ const pixelY = Math.floor(position[1] / 50) - top;
504
+ if (pixelX < 0 || pixelY < 0 || pixelX >= width || pixelY >= height) {
505
+ return null;
506
+ }
507
+
508
+ const pixelIndex = pixelY * width + pixelX;
509
+ // Entries encode pixelIndex in the low 21 bits and the segment id above
510
+ // them (see the IMAGE block parser: `i | (segmentId << 21)`).
511
+ for (const entry of segmentPixels) {
512
+ if ((entry & 0x1fffff) === pixelIndex) {
513
+ return entry >>> 21;
514
+ }
515
+ }
516
+ return null;
517
+ };
518
+
459
519
  module.exports = RRMapParser;
@@ -106,66 +106,87 @@ class roborock_mqtt_connector {
106
106
  if (typeof result != "undefined") {
107
107
  client.subscribe(`rr/m/o/${rriot.u}/${mqttUser}/#`, (err, granted) => {
108
108
  if (err) {
109
- this.adapter.catchError(
110
- `Failed to subscribe to Roborock MQTT Server! Error: ${err}, granted: ${JSON.stringify(granted)}`,
111
- `client.on("connect")`
109
+ this.logConnectionIssue(
110
+ `Failed to subscribe to the Roborock MQTT server: ${err} (granted: ${JSON.stringify(granted)}).`
112
111
  );
113
112
  }
114
113
  });
115
114
  clearTimeout(timeout);
116
115
 
117
116
  this.connected = true;
117
+ if (this._connectionIssueActive) {
118
+ this._connectionIssueActive = false;
119
+ this._connectionIssueLog?.clear();
120
+ this.adapter.log.info(
121
+ `Roborock MQTT connection recovered after the reported outage.`
122
+ );
123
+ }
118
124
  }
119
125
  this.adapter.log.debug(
120
126
  `MQTT connection connected ${JSON.stringify(result)}.`
121
127
  );
122
128
  });
123
129
 
124
- await client.on("error", (result) => {
125
- this.adapter.catchError(
126
- `MQTT connection error: ${result}`,
127
- `client.on("error")`
128
- );
129
-
130
+ // Connection-state events are account-level transport telemetry, not
131
+ // per-robot command failures: log them as clear, throttled warnings
132
+ // instead of routing them through catchError (which used to produce the
133
+ // misleading `Failed to execute client.on("error") on robot undefined`
134
+ // spam twice per reconnect attempt during network outages).
135
+ await client.on("error", (error) => {
130
136
  this.connected = false;
137
+ this.logConnectionIssue(
138
+ `Roborock MQTT connection error: ${error?.message || error}. The client keeps reconnecting automatically.`
139
+ );
131
140
  });
132
141
 
133
142
  await client.on("close", () => {
134
- this.adapter.log.info(`MQTT connection close.`);
135
-
143
+ if (this.connected) {
144
+ this.adapter.log.info(`MQTT connection closed; reconnecting.`);
145
+ }
136
146
  this.connected = false;
137
147
  });
138
148
 
139
- await client.on("reconnect", (error) => {
140
- if (error) {
141
- this.adapter.catchError(
142
- `Failed to reconnect to MQTT server.`,
143
- `mqtt client reconnect`
144
- );
145
- } else {
146
- client.subscribe(`rr/m/o/${rriot.u}/${mqttUser}/#`, (err, granted) => {
147
- if (err) {
148
- this.adapter.catchError(
149
- `Failed to subscribe to Roborock MQTT Server! Error: ${err}, granted: ${JSON.stringify(granted)}`,
150
- `client.on("reconnect")`
151
- );
152
- }
153
- });
154
- clearTimeout(timeout);
155
- }
156
- this.adapter.log.info(`MQTT connection reconnect.`);
149
+ await client.on("reconnect", () => {
150
+ client.subscribe(`rr/m/o/${rriot.u}/${mqttUser}/#`, (err, granted) => {
151
+ if (err) {
152
+ this.logConnectionIssue(
153
+ `Failed to subscribe to the Roborock MQTT server after reconnect: ${err} (granted: ${JSON.stringify(granted)}).`
154
+ );
155
+ }
156
+ });
157
+ clearTimeout(timeout);
158
+ this.adapter.log.debug(`MQTT connection reconnect attempt.`);
157
159
  });
158
160
 
159
- await client.on("offline", (result) => {
160
- this.adapter.catchError(
161
- `MQTT connection offline: ${result}`,
162
- `client.on("offline")`
163
- );
164
-
161
+ await client.on("offline", () => {
165
162
  this.connected = false;
163
+ this.logConnectionIssue(
164
+ `Roborock MQTT connection is offline. The client keeps reconnecting automatically.`
165
+ );
166
166
  });
167
167
  }
168
168
 
169
+ /**
170
+ * Warn about a connection problem at most once per 5 minutes per message,
171
+ * and remember that an outage is in progress so the next successful
172
+ * connect logs a single recovery line instead of silence.
173
+ * @param {string} message
174
+ */
175
+ logConnectionIssue(message) {
176
+ if (!this._connectionIssueLog) {
177
+ this._connectionIssueLog = new Map();
178
+ }
179
+ this._connectionIssueActive = true;
180
+ const now = Date.now();
181
+ const lastAt = this._connectionIssueLog.get(message) || 0;
182
+ if (now - lastAt >= 5 * 60 * 1000) {
183
+ this._connectionIssueLog.set(message, now);
184
+ this.adapter.log.warn(message);
185
+ } else {
186
+ this.adapter.log.debug(message);
187
+ }
188
+ }
189
+
169
190
  getKnownDeviceDuids() {
170
191
  const knownDuids = new Set();
171
192
 
@@ -14,6 +14,7 @@ const roborock_mqtt_connector =
14
14
  const rrMessage = require("./lib/message").message;
15
15
  const vacuum_class = require("./lib/vacuum").vacuum;
16
16
  const deviceFeatures = require("./lib/deviceFeatures").deviceFeatures;
17
+ const RRMapParser = require("./lib/RRMapParser");
17
18
  const messageQueueHandler =
18
19
  require("./lib/messageQueueHandler").messageQueueHandler;
19
20
  const roborockCrypto = require("./lib/roborockCrypto");
@@ -1911,6 +1912,9 @@ class Roborock {
1911
1912
  canVacuum: true,
1912
1913
  canMop: true,
1913
1914
  canControlFanPower: true,
1915
+ // The B01 wire protocol defines five wind levels; level 5 is the
1916
+ // Max+ boost (v1 fan power 108 via the adapter translation).
1917
+ canMaxPlusFanPower: true,
1914
1918
  canControlWater: false,
1915
1919
  };
1916
1920
  }
@@ -3830,6 +3834,169 @@ class Roborock {
3830
3834
  }
3831
3835
  }
3832
3836
 
3837
+ /**
3838
+ * Protocol-agnostic live-room entry points. B01/Q7 robots use the SCMap
3839
+ * channel (triggered internally by the B01 status loop as well); classic
3840
+ * v1 robots fetch the RRMap via the secure get_map_v1 request. Both share
3841
+ * the same cache contract: {segmentId, roomName, at} where segmentId
3842
+ * matches getRoomMappingsForDevice.
3843
+ * @param {string} duid
3844
+ * @param {{v1State?: number}} [context] latest known v1 state, used to
3845
+ * avoid pointless map fetches and to re-broadcast on room changes.
3846
+ */
3847
+ async refreshLiveRoomForDevice(duid, context = {}) {
3848
+ if (this.config.enableLiveRoomTracking === false) {
3849
+ return null;
3850
+ }
3851
+ if (
3852
+ this.getVacuumDeviceInfo(duid, "pv") === b01Q7Adapter.B01_PROTOCOL_VERSION
3853
+ ) {
3854
+ return this.refreshB01LiveRoom(duid);
3855
+ }
3856
+ return this.refreshClassicLiveRoom(duid, context);
3857
+ }
3858
+
3859
+ /**
3860
+ * @param {string} duid
3861
+ * @returns {{segmentId: number, roomName: string, at: number} | null}
3862
+ */
3863
+ getLiveRoomForDevice(duid) {
3864
+ if (
3865
+ this.getVacuumDeviceInfo(duid, "pv") === b01Q7Adapter.B01_PROTOCOL_VERSION
3866
+ ) {
3867
+ return this.getB01LiveRoomForDevice(duid);
3868
+ }
3869
+ return this._classicLiveRoomState?.get(duid)?.current || null;
3870
+ }
3871
+
3872
+ /** @param {string} duid */
3873
+ clearLiveRoomForDevice(duid) {
3874
+ this.clearB01LiveRoom(duid);
3875
+ const liveState = this._classicLiveRoomState?.get(duid);
3876
+ if (liveState?.current) {
3877
+ this.log.debug(
3878
+ `Cleared live room for ${duid} (${liveState.current.roomName}).`
3879
+ );
3880
+ liveState.current = null;
3881
+ }
3882
+ }
3883
+
3884
+ /**
3885
+ * Classic v1 live room: fetch the RRMap via the secure get_map_v1 request
3886
+ * (protocol 301 response: AES/gzip handled by the transport layer),
3887
+ * parse it, and resolve the robot's position against the segment pixel
3888
+ * grid. Same attempt throttle, single-flight guard and change
3889
+ * re-broadcast semantics as the B01 path.
3890
+ * @param {string} duid
3891
+ * @param {{v1State?: number}} [context]
3892
+ */
3893
+ async refreshClassicLiveRoom(duid, context = {}) {
3894
+ if (this.config.enableLiveRoomTracking === false) {
3895
+ return null;
3896
+ }
3897
+ // Only fetch while the robot is actively moving through rooms; a paused
3898
+ // or docked robot cannot change rooms, and map payloads are heavy.
3899
+ if (
3900
+ Number.isInteger(context.v1State) &&
3901
+ !B01_LIVE_ROOM_FETCH_V1_STATES.has(context.v1State)
3902
+ ) {
3903
+ return this._classicLiveRoomState?.get(duid)?.current || null;
3904
+ }
3905
+
3906
+ if (!this._classicLiveRoomState) {
3907
+ this._classicLiveRoomState = new Map();
3908
+ }
3909
+ let liveState = this._classicLiveRoomState.get(duid);
3910
+ if (!liveState) {
3911
+ liveState = {
3912
+ lastAttemptAt: 0,
3913
+ inflight: null,
3914
+ consecutiveFailures: 0,
3915
+ current: null,
3916
+ lastV1State: null,
3917
+ };
3918
+ this._classicLiveRoomState.set(duid, liveState);
3919
+ }
3920
+ if (Number.isInteger(context.v1State)) {
3921
+ liveState.lastV1State = context.v1State;
3922
+ }
3923
+
3924
+ if (liveState.inflight) {
3925
+ return liveState.inflight;
3926
+ }
3927
+ if (Date.now() - liveState.lastAttemptAt < B01_LIVE_ROOM_MIN_FETCH_GAP_MS) {
3928
+ return liveState.current;
3929
+ }
3930
+ liveState.lastAttemptAt = Date.now();
3931
+
3932
+ liveState.inflight = (async () => {
3933
+ try {
3934
+ const mapBuffer = await this.messageQueueHandler.sendRequest(
3935
+ duid,
3936
+ "get_map_v1",
3937
+ [],
3938
+ true
3939
+ );
3940
+ if (!Buffer.isBuffer(mapBuffer)) {
3941
+ this.log.debug(
3942
+ `Live-room map fetch for ${duid} returned a non-map response (${JSON.stringify(mapBuffer)?.slice(0, 80)}); keeping the previous room.`
3943
+ );
3944
+ return liveState.current;
3945
+ }
3946
+
3947
+ const parser = this.vacuums[duid]?.mapParser || new RRMapParser(this);
3948
+ const parsedMap = await parser.parsedata(mapBuffer);
3949
+ const segmentId = RRMapParser.resolveLiveSegmentId(parsedMap);
3950
+ liveState.consecutiveFailures = 0;
3951
+
3952
+ if (segmentId === null) {
3953
+ this.log.debug(
3954
+ `Live room for ${duid}: robot position has no segment assignment (or position/segments missing from the map).`
3955
+ );
3956
+ return liveState.current;
3957
+ }
3958
+
3959
+ const room = this.getRoomMappingsForDevice(duid).find(
3960
+ (candidate) => Number(candidate.segmentId) === segmentId
3961
+ );
3962
+ const roomName = room?.name || `Room ${segmentId}`;
3963
+ const previous = liveState.current;
3964
+ liveState.current = { segmentId, roomName, at: Date.now() };
3965
+
3966
+ if (!previous || previous.segmentId !== segmentId) {
3967
+ this.log.info(
3968
+ `Live room for ${duid}: ${roomName} (${segmentId})${previous ? ` — was ${previous.roomName} (${previous.segmentId})` : ""}.`
3969
+ );
3970
+ if (this.deviceNotify && Number.isInteger(liveState.lastV1State)) {
3971
+ this.deviceNotify("CloudMessage", {
3972
+ duid,
3973
+ payload: [{ state: liveState.lastV1State }],
3974
+ });
3975
+ }
3976
+ }
3977
+
3978
+ return liveState.current;
3979
+ } catch (error) {
3980
+ liveState.consecutiveFailures += 1;
3981
+ const message = error?.message || String(error);
3982
+ if (liveState.consecutiveFailures % 5 === 0) {
3983
+ this.log.warn(
3984
+ `Live-room map fetch has failed ${liveState.consecutiveFailures} times in a row for ${duid}. Last error: ${message}`
3985
+ );
3986
+ } else {
3987
+ this.log.debug(
3988
+ `Live-room map fetch attempt failed for ${duid}: ${message}`
3989
+ );
3990
+ }
3991
+ return liveState.current;
3992
+ } finally {
3993
+ liveState.inflight = null;
3994
+ }
3995
+ })();
3996
+
3997
+ return liveState.inflight;
3998
+ }
3999
+
3833
4000
  getProductData(productId) {
3834
4001
  const products = this.getKnownProducts();
3835
4002
  return products.find((product) => product.id == productId);