dexbot 1.2.5 → 1.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/README.md +30 -27
  2. package/dist/dexbot.d.ts +22 -22
  3. package/dist/dexbot.js +29 -29
  4. package/dist/dexbot.js.map +1 -1
  5. package/dist/modules/account_orders.d.ts +8 -1
  6. package/dist/modules/account_orders.d.ts.map +1 -1
  7. package/dist/modules/account_orders.js +24 -1
  8. package/dist/modules/account_orders.js.map +1 -1
  9. package/dist/modules/chain_orders.d.ts +16 -0
  10. package/dist/modules/chain_orders.d.ts.map +1 -1
  11. package/dist/modules/chain_orders.js +41 -0
  12. package/dist/modules/chain_orders.js.map +1 -1
  13. package/dist/modules/constants.d.ts +0 -3
  14. package/dist/modules/constants.d.ts.map +1 -1
  15. package/dist/modules/constants.js +0 -14
  16. package/dist/modules/constants.js.map +1 -1
  17. package/dist/modules/dexbot_class.d.ts +10 -2
  18. package/dist/modules/dexbot_class.d.ts.map +1 -1
  19. package/dist/modules/dexbot_class.js +176 -57
  20. package/dist/modules/dexbot_class.js.map +1 -1
  21. package/dist/modules/dexbot_fill_runtime.d.ts +2 -2
  22. package/dist/modules/dexbot_fill_runtime.d.ts.map +1 -1
  23. package/dist/modules/dexbot_fill_runtime.js +3 -3
  24. package/dist/modules/dexbot_fill_runtime.js.map +1 -1
  25. package/dist/modules/dexbot_maintenance_runtime.d.ts.map +1 -1
  26. package/dist/modules/dexbot_maintenance_runtime.js +8 -9
  27. package/dist/modules/dexbot_maintenance_runtime.js.map +1 -1
  28. package/dist/modules/node_manager.d.ts.map +1 -1
  29. package/dist/modules/node_manager.js +7 -0
  30. package/dist/modules/node_manager.js.map +1 -1
  31. package/dist/modules/order/accounting.d.ts +2 -18
  32. package/dist/modules/order/accounting.d.ts.map +1 -1
  33. package/dist/modules/order/accounting.js +22 -49
  34. package/dist/modules/order/accounting.js.map +1 -1
  35. package/dist/modules/order/async_lock.d.ts +10 -0
  36. package/dist/modules/order/async_lock.d.ts.map +1 -1
  37. package/dist/modules/order/async_lock.js +60 -5
  38. package/dist/modules/order/async_lock.js.map +1 -1
  39. package/dist/modules/order/grid.js +2 -2
  40. package/dist/modules/order/grid.js.map +1 -1
  41. package/dist/modules/order/manager.d.ts +8 -1
  42. package/dist/modules/order/manager.d.ts.map +1 -1
  43. package/dist/modules/order/manager.js +28 -14
  44. package/dist/modules/order/manager.js.map +1 -1
  45. package/dist/modules/order/strategy.d.ts +2 -49
  46. package/dist/modules/order/strategy.d.ts.map +1 -1
  47. package/dist/modules/order/strategy.js +4 -132
  48. package/dist/modules/order/strategy.js.map +1 -1
  49. package/dist/modules/order/sync_engine.d.ts +53 -6
  50. package/dist/modules/order/sync_engine.d.ts.map +1 -1
  51. package/dist/modules/order/sync_engine.js +384 -204
  52. package/dist/modules/order/sync_engine.js.map +1 -1
  53. package/dist/modules/order/utils/math.d.ts.map +1 -1
  54. package/dist/modules/order/utils/math.js +8 -3
  55. package/dist/modules/order/utils/math.js.map +1 -1
  56. package/dist/modules/order/utils/order.js +1 -1
  57. package/dist/modules/order/utils/order.js.map +1 -1
  58. package/dist/modules/order/utils/system.d.ts +1 -1
  59. package/dist/modules/order/utils/system.d.ts.map +1 -1
  60. package/dist/modules/order/utils/system.js +3 -2
  61. package/dist/modules/order/utils/system.js.map +1 -1
  62. package/dist/modules/runtime_settings.d.ts +3 -0
  63. package/dist/modules/runtime_settings.d.ts.map +1 -1
  64. package/dist/modules/runtime_settings.js +34 -1
  65. package/dist/modules/runtime_settings.js.map +1 -1
  66. package/dist/modules/types.d.ts +29 -4
  67. package/dist/modules/types.d.ts.map +1 -1
  68. package/package.json +1 -1
  69. package/scripts/README.md +9 -9
  70. package/scripts/reset-settings.sh +1 -1
package/README.md CHANGED
@@ -30,8 +30,8 @@ DEXBot2 is the first open source trading bot with zero runtime dependencies and
30
30
  ## 🔥 Quick Start
31
31
 
32
32
  ```bash
33
- # Option A — Install via npm
34
- npm i dexbot
33
+ # Option A — Install globally via npm
34
+ npm i -g dexbot
35
35
 
36
36
  # Option B — Clone and install from source
37
37
  git clone https://github.com/froooze/DEXBot2.git && cd DEXBot2 && npm install
@@ -40,16 +40,19 @@ git clone https://github.com/froooze/DEXBot2.git && cd DEXBot2 && npm install
40
40
  Then set up your master password, keys and add bots:
41
41
 
42
42
  ```bash
43
- node dexbot key
44
- node dexbot bot
43
+ dexbot key
44
+ dexbot bot
45
45
  ```
46
46
 
47
47
  And start DEXBot2:
48
48
 
49
49
  ```bash
50
- node dexbot unlock
50
+ dexbot unlock
51
51
  ```
52
52
 
53
+ > `dexbot` is available globally after `npm i -g dexbot`. Repo-root users can
54
+ > run `./scripts/dexbot` instead.
55
+
53
56
  For detailed setup, see [Installation](#installation) section below.
54
57
 
55
58
  ### Disclaimer — Use At Your Own Risk
@@ -100,8 +103,8 @@ sudo dnf install nodejs npm git
100
103
  ### Install
101
104
 
102
105
  ```bash
103
- # Option A — Install via npm
104
- npm i dexbot
106
+ # Option A — Install globally via npm
107
+ npm i -g dexbot
105
108
 
106
109
  # Option B — Clone and install from source
107
110
  git clone https://github.com/froooze/DEXBot2.git && cd DEXBot2 && npm install
@@ -110,8 +113,8 @@ git clone https://github.com/froooze/DEXBot2.git && cd DEXBot2 && npm install
110
113
  Then set up your master password, keys and add bots:
111
114
 
112
115
  ```bash
113
- node dexbot key
114
- node dexbot bot
116
+ dexbot key
117
+ dexbot bot
115
118
  ```
116
119
 
117
120
  ## 🔧 Configuration
@@ -138,18 +141,18 @@ market volatility instead of using an unnecessarily wide range.
138
141
 
139
142
  ### Simple AMA Workflow
140
143
 
141
- 1. Create the bot with `node dexbot bot`.
144
+ 1. Create the bot with `dexbot bot`.
142
145
  2. Leave defaults unchanged.
143
146
  3. Tune `targetSpreadPercent` and `incrementPercent`.
144
147
  4. Set `gridPrice` to `ama`.
145
148
  5. Generate the market-adapter whitelist:
146
149
 
147
150
  ```bash
148
- node dexbot white
151
+ dexbot white
149
152
  ```
150
153
 
151
154
  This writes `profiles/market_adapter_whitelist.json`. New AMA bots get AMA
152
- live writes and range scaling. Use `node dexbot white --dynamic-weight` for
155
+ live writes and range scaling. Use `dexbot white --dynamic-weight` for
153
156
  newly generated dynamic-weight entries; existing entries are preserved.
154
157
 
155
158
  6. Start DEXBot2 with `node unlock` (or `node pm2` for PM2).
@@ -157,7 +160,7 @@ market volatility instead of using an unnecessarily wide range.
157
160
 
158
161
  ### Bot Options Reference
159
162
 
160
- Configuration options from `node dexbot bot`, stored in `profiles/bots.json`:
163
+ Configuration options from `dexbot bot`, stored in `profiles/bots.json`:
161
164
 
162
165
  <details><summary>Full parameter reference (click to expand)</summary>
163
166
 
@@ -183,7 +186,7 @@ Configuration options from `node dexbot bot`, stored in `profiles/bots.json`:
183
186
 
184
187
  ### General Options (Global)
185
188
 
186
- Global settings via `node dexbot bot`, stored in `profiles/general.settings.json`:
189
+ Global settings via `dexbot bot`, stored in `profiles/general.settings.json`:
187
190
 
188
191
  <details><summary>Global settings reference (click to expand)</summary>
189
192
 
@@ -218,21 +221,21 @@ For independent per-bot process control, start isolated mode with `node unlock -
218
221
  ## 🛠️ Bot Management
219
222
 
220
223
  ```bash
221
- node dexbot key # Master password/keyring
222
- node dexbot bot # Interactive bot configurator
223
- node dexbot white # Market adapter whitelist, dynamic weights off by default
224
+ dexbot key # Master password/keyring
225
+ dexbot bot # Interactive bot configurator
226
+ dexbot white # Market adapter whitelist, dynamic weights off by default
224
227
 
225
- node dexbot unlock # Standard live runtime
226
- node dexbot reset {all|<bot>} # Regenerate grid
227
- node dexbot disable {all|<bot>} # Disable bot in config
228
+ dexbot unlock # Standard live runtime
229
+ dexbot reset {all|<bot>} # Regenerate grid
230
+ dexbot disable {all|<bot>} # Disable bot in config
228
231
 
229
- node dexbot stat # Runtime status (unlock or PM2)
230
- node dexbot order # Analyze order grids
231
- node dexbot order --export # Export as HTML to root folder
232
+ dexbot stat # Runtime status (unlock or PM2)
233
+ dexbot order # Analyze order grids
234
+ dexbot order --export # Export as HTML to root folder
232
235
 
233
- node dexbot update # Update DEXBot2
234
- node dexbot clear # Clear log files
235
- node dexbot default # Reset settings to defaults
236
+ dexbot update # Update DEXBot2
237
+ dexbot clear # Clear log files
238
+ dexbot default # Reset settings to defaults
236
239
  ```
237
240
 
238
241
  ## 🎯 PM2 Process Management
@@ -257,8 +260,8 @@ Logs are written to `profiles/logs/<bot-name>.log` (errors to `<bot-name>-error.
257
260
 
258
261
  - **[Market Adapter](market_adapter/README.md)** - AMA pricing, grid triggers, dynamic weights, and collateral advisory signals
259
262
  - **[MPA and Credit Usage](docs/MPA_CREDIT_USAGE.md)** - Bot-scoped debt policy, MPA borrowing, and credit offer workflows
260
- - **[Claw](claw/README.md)** - Bridge setup, launcher commands, short MPA workflow, and example commands
261
263
  - **[Analysis](analysis/README.md)** - Research runners, chart generators, and tuning helpers for AMA fitting, trend detection, bot fitting, and TradingView exports
264
+ - **[Claw](claw/README.md)** - Bridge setup, launcher commands, short MPA workflow, and example commands
262
265
 
263
266
  ### Operational & Security
264
267
 
package/dist/dexbot.d.ts CHANGED
@@ -35,38 +35,38 @@
35
35
  * ===============================================================================
36
36
  *
37
37
  * TRADING OPERATIONS:
38
- * node dexbot test <bot-name> - Test-run single bot (live trading)
39
- * node dexbot drystart <bot-name> - Start bot in dry-run mode (no transactions)
38
+ * dexbot test <bot-name> - Test-run single bot (live trading)
39
+ * dexbot drystart <bot-name> - Start bot in dry-run mode (no transactions)
40
40
  *
41
41
  * 🛠️ BOT MANAGEMENT:
42
- * node dexbot reset all - Reset all active bot grids (full regeneration)
43
- * node dexbot reset <bot-name> - Reset bot grid (full regeneration)
44
- * node dexbot default - Reset settings to defaults (deletes general.settings.json, market_profiles.json, market_adapter_settings.json)
45
- * node dexbot disable all - Mark all bots inactive in config
46
- * node dexbot disable <bot-name> - Mark bot inactive in config
47
- * node dexbot clear - Clear all log files in profiles/logs/
42
+ * dexbot reset all - Reset all active bot grids (full regeneration)
43
+ * dexbot reset <bot-name> - Reset bot grid (full regeneration)
44
+ * dexbot default - Reset settings to defaults (deletes general.settings.json, market_profiles.json, market_adapter_settings.json)
45
+ * dexbot disable all - Mark all bots inactive in config
46
+ * dexbot disable <bot-name> - Mark bot inactive in config
47
+ * dexbot clear - Clear all log files in profiles/logs/
48
48
  *
49
49
  * CONFIGURATION:
50
- * node dexbot keys - Set up master password and keyring
51
- * node dexbot bots - Interactive editor for bot definitions
50
+ * dexbot keys - Set up master password and keyring
51
+ * dexbot bots - Interactive editor for bot definitions
52
52
  *
53
53
  * PM2 ORCHESTRATION:
54
- * node dexbot pm2 - Start all bots via PM2 with daemon
55
- * node dexbot pm2 stop all - Stop all PM2 bot processes
56
- * node dexbot pm2 stop <bot-name> - Stop specific bot
57
- * node dexbot pm2 delete all - Delete all bots from PM2
58
- * node dexbot pm2 delete <bot-name>- Delete specific bot from PM2
59
- * node dexbot pm2 help - Show PM2 command help
54
+ * dexbot pm2 - Start all bots via PM2 with daemon
55
+ * dexbot pm2 stop all - Stop all PM2 bot processes
56
+ * dexbot pm2 stop <bot-name> - Stop specific bot
57
+ * dexbot pm2 delete all - Delete all bots from PM2
58
+ * dexbot pm2 delete <bot-name>- Delete specific bot from PM2
59
+ * dexbot pm2 help - Show PM2 command help
60
60
  *
61
61
  * STATUS:
62
- * node dexbot status - Show bot runtime status (unlock monolithic/isolated or PM2)
62
+ * dexbot status - Show bot runtime status (unlock monolithic/isolated or PM2)
63
63
  *
64
64
  * MAINTENANCE:
65
- * node dexbot update - Update to latest version (pull + install + restart)
66
- * node dexbot export <bot-name> - Export trading history to CSV/JSON for QTradeX
67
- * node dexbot order - Analyze persisted order grids in profiles/orders/
68
- * node dexbot order --export - Export order analysis as standalone HTML report
69
- * node dexbot help - Show this help message
65
+ * dexbot update - Update to latest version (pull + install + restart)
66
+ * dexbot export <bot-name> - Export trading history to CSV/JSON for QTradeX
67
+ * dexbot order - Analyze persisted order grids in profiles/orders/
68
+ * dexbot order --export - Export order analysis as standalone HTML report
69
+ * dexbot help - Show this help message
70
70
  *
71
71
  * NPM SCRIPTS (alternative invocation):
72
72
  * npm run pm2:start - Start bots (requires ecosystem.config.js pre-generated)
package/dist/dexbot.js CHANGED
@@ -37,38 +37,38 @@
37
37
  * ===============================================================================
38
38
  *
39
39
  * TRADING OPERATIONS:
40
- * node dexbot test <bot-name> - Test-run single bot (live trading)
41
- * node dexbot drystart <bot-name> - Start bot in dry-run mode (no transactions)
40
+ * dexbot test <bot-name> - Test-run single bot (live trading)
41
+ * dexbot drystart <bot-name> - Start bot in dry-run mode (no transactions)
42
42
  *
43
43
  * 🛠️ BOT MANAGEMENT:
44
- * node dexbot reset all - Reset all active bot grids (full regeneration)
45
- * node dexbot reset <bot-name> - Reset bot grid (full regeneration)
46
- * node dexbot default - Reset settings to defaults (deletes general.settings.json, market_profiles.json, market_adapter_settings.json)
47
- * node dexbot disable all - Mark all bots inactive in config
48
- * node dexbot disable <bot-name> - Mark bot inactive in config
49
- * node dexbot clear - Clear all log files in profiles/logs/
44
+ * dexbot reset all - Reset all active bot grids (full regeneration)
45
+ * dexbot reset <bot-name> - Reset bot grid (full regeneration)
46
+ * dexbot default - Reset settings to defaults (deletes general.settings.json, market_profiles.json, market_adapter_settings.json)
47
+ * dexbot disable all - Mark all bots inactive in config
48
+ * dexbot disable <bot-name> - Mark bot inactive in config
49
+ * dexbot clear - Clear all log files in profiles/logs/
50
50
  *
51
51
  * CONFIGURATION:
52
- * node dexbot keys - Set up master password and keyring
53
- * node dexbot bots - Interactive editor for bot definitions
52
+ * dexbot keys - Set up master password and keyring
53
+ * dexbot bots - Interactive editor for bot definitions
54
54
  *
55
55
  * PM2 ORCHESTRATION:
56
- * node dexbot pm2 - Start all bots via PM2 with daemon
57
- * node dexbot pm2 stop all - Stop all PM2 bot processes
58
- * node dexbot pm2 stop <bot-name> - Stop specific bot
59
- * node dexbot pm2 delete all - Delete all bots from PM2
60
- * node dexbot pm2 delete <bot-name>- Delete specific bot from PM2
61
- * node dexbot pm2 help - Show PM2 command help
56
+ * dexbot pm2 - Start all bots via PM2 with daemon
57
+ * dexbot pm2 stop all - Stop all PM2 bot processes
58
+ * dexbot pm2 stop <bot-name> - Stop specific bot
59
+ * dexbot pm2 delete all - Delete all bots from PM2
60
+ * dexbot pm2 delete <bot-name>- Delete specific bot from PM2
61
+ * dexbot pm2 help - Show PM2 command help
62
62
  *
63
63
  * STATUS:
64
- * node dexbot status - Show bot runtime status (unlock monolithic/isolated or PM2)
64
+ * dexbot status - Show bot runtime status (unlock monolithic/isolated or PM2)
65
65
  *
66
66
  * MAINTENANCE:
67
- * node dexbot update - Update to latest version (pull + install + restart)
68
- * node dexbot export <bot-name> - Export trading history to CSV/JSON for QTradeX
69
- * node dexbot order - Analyze persisted order grids in profiles/orders/
70
- * node dexbot order --export - Export order analysis as standalone HTML report
71
- * node dexbot help - Show this help message
67
+ * dexbot update - Update to latest version (pull + install + restart)
68
+ * dexbot export <bot-name> - Export trading history to CSV/JSON for QTradeX
69
+ * dexbot order - Analyze persisted order grids in profiles/orders/
70
+ * dexbot order --export - Export order analysis as standalone HTML report
71
+ * dexbot help - Show this help message
72
72
  *
73
73
  * NPM SCRIPTS (alternative invocation):
74
74
  * npm run pm2:start - Start bots (requires ecosystem.config.js pre-generated)
@@ -168,7 +168,7 @@ const CLI_EXAMPLES = [
168
168
  { title: 'Manage keys', command: 'dexbot key', notes: 'Runs modules/chain_keys.ts to add or update master passwords.' },
169
169
  { title: 'Edit bot definitions', command: 'dexbot bot', notes: 'Launches the interactive modules/account_bots.ts helper for the JSON config.' },
170
170
  { title: 'Start bots with PM2', command: 'dexbot pm2', notes: 'Generates ecosystem config, authenticates, and starts PM2.' },
171
- { title: 'Update DEXBot2', command: 'node dexbot update', notes: 'Fetches latest code, updates dependencies, and restarts PM2.' },
171
+ { title: 'Update DEXBot2', command: 'dexbot update', notes: 'Fetches latest code, updates dependencies, and restarts PM2.' },
172
172
  { title: 'Export bot trades for QTradeX', command: 'dexbot export bot-name', notes: 'Exports trading history and settings to CSV/JSON for backtesting.' },
173
173
  { title: 'Analyze persisted order grids', command: 'dexbot order', notes: 'Runs the order analyzer across profiles/orders/ and prints spread/increment/funds/distribution metrics. Add --export for an HTML report.' },
174
174
  { title: 'Clear all bot log files', command: 'dexbot clear', notes: 'Runs scripts/clear-logs.sh to remove log files from profiles/logs/.' },
@@ -555,7 +555,7 @@ async function runBotInstances(botEntries, { forceDryRun = false, sourceName = '
555
555
  unregisterCleanup(botCleanupHandler);
556
556
  }
557
557
  // Attempt graceful cleanup before continuing. Idempotent via the
558
- // _shutdownStarted guard, so a redundant call is a no-op.
558
+ // _shuttingDown guard, so a redundant call is a no-op.
559
559
  if (bot) {
560
560
  try {
561
561
  await bot.shutdown();
@@ -1170,14 +1170,14 @@ async function bootstrap() {
1170
1170
  await chainKeys.main();
1171
1171
  console.log();
1172
1172
  console.log(startupSuccess('Master password configured! Now you can:'));
1173
- console.log(' node dexbot bots - Create and manage bots');
1174
- console.log(' node dexbot - Run your configured bots');
1173
+ console.log(' dexbot bots - Create and manage bots');
1174
+ console.log(' dexbot - Run your configured bots');
1175
1175
  console.log();
1176
1176
  }
1177
1177
  else {
1178
1178
  console.log();
1179
1179
  console.log('You can set up your master password later by running:');
1180
- console.log(' node dexbot keys');
1180
+ console.log(' dexbot keys');
1181
1181
  console.log();
1182
1182
  }
1183
1183
  return;
@@ -1190,10 +1190,10 @@ async function bootstrap() {
1190
1190
  console.log('No bot configuration found.');
1191
1191
  console.log();
1192
1192
  console.log('First, set up your master password:');
1193
- console.log(' node dexbot keys');
1193
+ console.log(' dexbot keys');
1194
1194
  console.log();
1195
1195
  console.log('Then, create your first bot:');
1196
- console.log(' node dexbot bots');
1196
+ console.log(' dexbot bots');
1197
1197
  console.log();
1198
1198
  process.exit(0);
1199
1199
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dexbot.js","sourceRoot":"","sources":["../dexbot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dexbot.js","sourceRoot":"","sources":["../dexbot.ts"],"names":[],"mappings":";;AACA,gHAAgH;AAChH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFG;;AAEH,8EAA8E;AAC9E,2EAA2E;AAC3E,mEAAmE;AACnE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AACjD,QAAQ,CAAC,KAAK,CAAC,CAAC;AAEhB,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;AAC1H,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAC/C,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AACpD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;AAC7B,MAAM,SAAS,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAClD,MAAM,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;AAC3G,MAAM,WAAW,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;AACtD,MAAM,YAAY,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;AACvD,MAAM,YAAY,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;AAExD;;;;GAIG;AACH,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAyB,CAAC;AACjE,KAAK,UAAU,yBAAyB,CAAC,GAAW;IAChD,IAAI,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;IACtF,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,IAAI,CAAC;QACD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACpD,MAAM,GAAG,GAAG,CAAC;QACjB,CAAC;aAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3D,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gBAAE,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC;IACL,CAAC;IAAC,OAAO,IAAS,EAAE,CAAC;QACjB,MAAM,GAAG,IAAI,CAAC;IAClB,CAAC;IACD,uBAAuB,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACzC,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,EAAE,qBAAqB,EAAE,eAAe,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;AAC7G,MAAM,EACF,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,GACnB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;AACtC,MAAM,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,kCAAkC,CAAC,CAAC;AAC/E,MAAM,EAAE,KAAK,EAAE,yBAAyB,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AACxE,MAAM,gBAAgB,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;AAChE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAE/C,sFAAsF;AACtF,IAAI,CAAC;IACD,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAC/D,YAAY,EAAE,CAAC;AACnB,CAAC;AAAC,OAAO,GAAQ,EAAE,CAAC;IAChB,OAAO,CAAC,KAAK,CAAC,qCAAqC,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,mCAAmC;AACnC,qBAAqB,EAAE,CAAC;AAExB,qEAAqE;AACrE,uEAAuE;AACvE,IAAI,OAAO,SAAS,CAAC,qBAAqB,KAAK,UAAU;IAAE,SAAS,CAAC,qBAAqB,EAAE,CAAC;AAC7F,uDAAuD;AACvD,IAAI,OAAO,gBAAgB,CAAC,uBAAuB,KAAK,UAAU;IAAE,gBAAgB,CAAC,uBAAuB,CAAC,KAAK,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;AAElJ,uFAAuF;AACvF,qGAAqG;AAErG,6FAA6F;AAC7F,MAAM,kBAAkB,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;AACpD,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;AAGxC,MAAM,SAAS,GAAG,MAAM,CAAC;AACzB,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC7O,MAAM,eAAe,GAA2B,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AACvL,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACxC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAC3C,MAAM,YAAY,GAAG;IACjB,EAAE,KAAK,EAAE,wCAAwC,EAAE,OAAO,EAAE,sBAAsB,EAAE,KAAK,EAAE,gDAAgD,EAAE;IAC7I,EAAE,KAAK,EAAE,oCAAoC,EAAE,OAAO,EAAE,0BAA0B,EAAE,KAAK,EAAE,sEAAsE,EAAE;IACnK,EAAE,KAAK,EAAE,yBAAyB,EAAE,OAAO,EAAE,yBAAyB,EAAE,KAAK,EAAE,mCAAmC,EAAE;IACpH,EAAE,KAAK,EAAE,4BAA4B,EAAE,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,uDAAuD,EAAE;IACpI,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,uBAAuB,EAAE,KAAK,EAAE,sDAAsD,EAAE;IAC9H,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,+DAA+D,EAAE;IACvH,EAAE,KAAK,EAAE,sBAAsB,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,8EAA8E,EAAE;IAC/I,EAAE,KAAK,EAAE,qBAAqB,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,4DAA4D,EAAE;IAC5H,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,8DAA8D,EAAE;IAC5H,EAAE,KAAK,EAAE,+BAA+B,EAAE,OAAO,EAAE,wBAAwB,EAAE,KAAK,EAAE,mEAAmE,EAAE;IACzJ,EAAE,KAAK,EAAE,+BAA+B,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,0IAA0I,EAAE;IACtN,EAAE,KAAK,EAAE,yBAAyB,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,qEAAqE,EAAE;IAC3I,EAAE,KAAK,EAAE,4BAA4B,EAAE,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,yHAAyH,EAAE;CACvM,CAAC;AAEF,MAAM,cAAc,GAAG;IACnB,KAAK,EAAE,SAAS;IAChB,EAAE,EAAE,YAAY;IAChB,KAAK,EAAE,YAAY;CACtB,CAAC;AAEF,SAAS,kBAAkB,CAAC,IAAY,EAAE,KAAa,EAAE,SAAc,OAAO,CAAC,MAAM;IACjF,OAAO,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ;QACnC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,GAAG,cAAc,CAAC,KAAK,EAAE;QAC1C,CAAC,CAAC,IAAI,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAChC,OAAO,kBAAkB,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAC9B,OAAO,kBAAkB,CAAC,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAY;IAC3C,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AACD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEtC;;GAEG;AACH,SAAS,aAAa;IAClB,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACzB,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;IACpF,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;IAC5E,OAAO,CAAC,GAAG,CAAC,+FAA+F,CAAC,CAAC;IAC7G,OAAO,CAAC,GAAG,CAAC,qIAAqI,CAAC,CAAC;IACnJ,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,6EAA6E,CAAC,CAAC;IAC3F,OAAO,CAAC,GAAG,CAAC,0EAA0E,CAAC,CAAC;IACxF,OAAO,CAAC,GAAG,CAAC,wFAAwF,CAAC,CAAC;IACtG,OAAO,CAAC,GAAG,CAAC,8FAA8F,CAAC,CAAC;IAC5G,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;IAC/F,OAAO,CAAC,GAAG,CAAC,0HAA0H,CAAC,CAAC;IACxI,OAAO,CAAC,GAAG,CAAC,qFAAqF,CAAC,CAAC;IACnG,OAAO,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAC;IAC9F,OAAO,CAAC,GAAG,CAAC,sJAAsJ,CAAC,CAAC;IACpK,OAAO,CAAC,GAAG,CAAC,4FAA4F,CAAC,CAAC;IAC1G,OAAO,CAAC,GAAG,CAAC,6EAA6E,CAAC,CAAC;IAC3F,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;IACpF,OAAO,CAAC,GAAG,CAAC,yFAAyF,CAAC,CAAC;IACvG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACxB,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,+HAA+H,CAAC,CAAC;AACjJ,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB;IACrB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC7B,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QACpC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACrC,IAAI,OAAO,CAAC,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,+DAA+D,kBAAkB,IAAI,CAAC,CAAC;AACvG,CAAC;AAED,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;IACpD,aAAa,EAAE,CAAC;IAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,IAAI,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;IACtC,gBAAgB,EAAE,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,+FAA+F;AAE/F;;;;;GAKG;AACH,2DAA2D;AAC3D,MAAM,MAAO,SAAQ,YAAY;IAC7B,YAAY,MAAW;QACnB,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;IACrC,CAAC;CACJ;AAED,yCAAyC;AACzC,eAAe,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACzC,IAAI,CAAC;QACD,gBAAgB,EAAE,CAAC;IACvB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,wCAAwC;IAC5C,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,kFAAkF;AAClF,IAAI,kBAAkB,GAAG,KAAK,CAAC;AAE/B;;;;;;;GAOG;AACH,KAAK,UAAU,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,KAAK,EAAE,SAAS,GAAG,KAAK,EAAE,eAAe,GAAG,KAAK,EAAE,GAAG,EAAE;IAC1G,IAAI,iBAAiB,EAAE,CAAC;QACpB,IAAI,CAAC;YACD,MAAM,gBAAgB,EAAE,CAAC;QAC7B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;QAC7F,CAAC;IACL,CAAC;IAED,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,CAAC;QACD,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;QACvB,SAAS,GAAG,IAAI,CAAC;IACrB,CAAC;YAAS,CAAC;QACP,IAAI,eAAe,EAAE,CAAC;YAClB,IAAI,CAAC;gBACD,gBAAgB,EAAE,CAAC;YAC/B,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAChB,OAAO,CAAC,IAAI,CAAC,qEAAqE,EAAE,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC;YAC5G,CAAC;QACG,CAAC;IACL,CAAC;IAED,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACJ,KAAK,UAAU,0BAA0B;IACrC,IAAI,CAAC;QACD,OAAO,MAAM,SAAS,CAAC,YAAY,EAAE,CAAC;IAC1C,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,kBAAkB,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC;YAC9F,kBAAkB,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC;gBACD,MAAM,iBAAiB,EAAE,CAAC;gBAC1B,kBAAkB,GAAG,KAAK,CAAC;gBAC3B,OAAO,MAAM,SAAS,CAAC,YAAY,EAAE,CAAC;YAC1C,CAAC;YAAC,OAAO,QAAQ,EAAE,CAAC;gBAChB,kBAAkB,GAAG,KAAK,CAAC;gBAC1B,MAAM,QAAQ,CAAC;YACnB,CAAC;QACL,CAAC;QACF,MAAM,GAAG,CAAC;IACd,CAAC;AACL,CAAC;AAED,SAAS,wBAAwB,CAAC,EAAE,OAAO,GAAG,IAAI,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,EAAE;IACrE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACtC,IAAI,OAAO,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,iBAAiB,OAAO,EAAE,CAAC,CAAC;IAC5C,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,MAAM,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,EAAE,CAAC;AAClB,CAAC;AAED,SAAS,yBAAyB,CAAC,EAAE,OAAO,GAAG,IAAI,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,EAAE;IACtE,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,+BAA+B,CAAC,CAAC,CAAC;IAC7D,IAAI,OAAO,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,wCAAwC,UAAU,IAAI,OAAO,KAAK,CAAC,CAAC;IACpF,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,wCAAwC,UAAU,KAAK,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,EAAE,CAAC;AAClB,CAAC;AAED,SAAS,0BAA0B,CAAC,GAAQ;IACxC,OAAO,CAAC,KAAK,EAAE,CAAC;IAChB,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,KAAK,UAAU,eAAe,CAAC,UAAiB,EAAE,EAAE,WAAW,GAAG,KAAK,EAAE,UAAU,GAAG,UAAU,EAAE,aAAa,KAA0E,EAAE;IACvL,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAE/B,MAAM,sBAAsB,GAAG,CAAC,CAAC,aAAa,CAAC;IAC/C,MAAM,eAAe,GAAG,aAAa,EAAE,OAAO,IAAI,IAAI,CAAC;IACvD,MAAM,cAAc,GAAG,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/C,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAChC,IAAI,uBAAuB,GAAG,KAAK,CAAC;IACpC,MAAM,WAAW,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,MAAM,CAAC;IAEtG,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC5B,IAAI,sBAAsB,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC,CAAC;YACtD,mBAAmB,GAAG,IAAI,CAAC;QAC/B,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,sBAAsB,GAAG,GAAG,EAAE;QAChC,IAAI,sBAAsB,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,6BAA6B,CAAC,CAAC,CAAC;YAC3D,uBAAuB,GAAG,IAAI,CAAC;QACnC,CAAC;IACL,CAAC,CAAC;IAEF,IAAI,CAAC;QACD,IAAI,sBAAsB,EAAE,CAAC;YACzB,wBAAwB,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;QACnF,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,gCAAgC,UAAU,GAAG,CAAC,CAAC;YAC3D,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,CAAC;YAC7C,GAAG,KAAK;YACR,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM;SAC5C,CAAC,CAAC,CAAC;QAEJ,kFAAkF;QAClF,sFAAsF;QAEtF,MAAM,EAAE,MAAM,EAAE,GAAG,uBAAuB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAEjE,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,+DAA+D,CAAC,CAAC,CAAC;YAC7F,MAAM,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACpE,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,6EAA6E,CAAC,CAAC,CAAC;YAC3G,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAED,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC;QAC7E,IAAI,cAAc,GAAG,IAAI,CAAC;QAC1B,IAAI,UAAU,EAAE,CAAC;YACb,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,kBAAkB,EAAE,CAAC;YAEzD,IAAI,CAAC;gBACD,MAAM,gBAAgB,EAAE,CAAC;gBACzB,kBAAkB,EAAE,CAAC;YACzB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,6EAA6E;YACjF,CAAC;YAED,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,IAAI,CAAC;oBACD,cAAc,GAAG,MAAM,0BAA0B,EAAE,CAAC;oBACpD,sBAAsB,EAAE,CAAC;gBAC7B,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACX,IAAI,SAAS,CAAC,uBAAuB,CAAC,GAAG,CAAC,EAAE,CAAC;wBACzC,MAAM,GAAG,CAAC;oBACd,CAAC;oBACD,cAAc,GAAG,IAAI,CAAC;gBAC1B,CAAC;YACL,CAAC;QACL,CAAC;QAED,8GAA8G;QAC9G,qEAAqE;QACrE,IAAI,CAAC;YACD,MAAM,gBAAgB,EAAE,CAAC;YACzB,kBAAkB,EAAE,CAAC;YACrB,MAAM,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC;QAC/E,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,oCAAoC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC/E,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,iEAAiE,CAAC,CAAC,CAAC;YAC/F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAED,IAAI,sBAAsB,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,uBAAuB,WAAW,EAAE,CAAC,CAAC;YAClD,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBAC5B,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;oBAC3B,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;wBAChB,SAAS;oBACb,CAAC;oBACD,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC;oBAChE,OAAO,CAAC,GAAG,CAAC,OAAO,yBAAyB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC7D,CAAC;YACL,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QAC3C,CAAC;QAED,oFAAoF;QACpF,uFAAuF;QACvF,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACzD,MAAM,aAAa,GAA0B,EAAE,CAAC;QAChD,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,gBAAgB,CAAC;YACvC,IAAI,OAAO,EAAE,CAAC;gBACV,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;oBAAE,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACzD,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvC,CAAC;QACL,CAAC;QACD,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7F,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,6BAA6B,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;YACrH,8EAA8E;YAC9E,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;YAC5C,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;gBAC7B,IAAI,KAAK,CAAC,UAAU,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,IAAI,aAAa,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;oBAC7G,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;wBAC1C,IAAI,IAAI,CAAC,eAAe;4BAAE,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;oBAC1E,CAAC;gBACL,CAAC;YACL,CAAC;YACD,IAAI,iBAAiB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACzF,CAAC;YAED,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;gBACnC,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;oBACzC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC;oBAC7B,IAAI,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;wBAC5B,MAAM,KAAK,GAAG,CAAC,KAAK,EAAE,MAAM,CAAU,CAAC;wBACvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;4BACvB,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;4BACjC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gCACpC,MAAM,YAAY,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;4BACvE,CAAC;wBACL,CAAC;oBACL,CAAC;oBAED,6CAA6C;oBAC7C,IAAI,OAAO,IAAI,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC;wBACvC,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC;wBAC5B,MAAM,SAAS,GAAG,EAAE,CAAC,mBAAmB,IAAI,MAAM,CAAC;wBACnD,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;4BAC5B,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC;4BAC3C,IAAI,CAAC,aAAa;gCAAE,SAAS;4BAC7B,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC;4BAC7E,IAAI,CAAC,iBAAiB,EAAE,CAAC;gCACrB,OAAO,CAAC,KAAK,CAAC,gDAAgD,aAAa,oBAAoB,OAAO,0GAA0G,CAAC,CAAC;gCAClN,SAAS;4BACb,CAAC;4BACD,MAAM,YAAY,CAAC,4BAA4B,CAAC,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC;wBACpG,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAED,MAAM,SAAS,GAAG,EAAE,CAAC;QACrB,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBAChB,SAAS;YACb,CAAC;YAED,MAAM,cAAc,GAAG,QAAQ,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpF,IAAI,GAAG,GAAQ,IAAI,CAAC;YACpB,IAAI,iBAAiB,GAAiC,IAAI,CAAC;YAC3D,IAAI,CAAC;gBACD,GAAG,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;gBACxB,iBAAiB,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACzC,eAAe,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;gBACnD,MAAM,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;gBAChC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxB,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAChB,mEAAmE;gBACnE,8DAA8D;gBAC9D,kEAAkE;gBAClE,qEAAqE;gBACrE,IAAI,iBAAiB,EAAE,CAAC;oBACpB,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;gBACzC,CAAC;gBACD,iEAAiE;gBACjE,uDAAuD;gBACvD,IAAI,GAAG,EAAE,CAAC;oBACN,IAAI,CAAC;wBACD,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC;oBACzB,CAAC;oBAAC,OAAO,WAAgB,EAAE,CAAC;wBACxB,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,yBAAyB,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;oBAChF,CAAC;gBACL,CAAC;gBACD,IAAI,SAAS,CAAC,uBAAuB,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzC,0BAA0B,CAAC,GAAG,CAAC,CAAC;oBAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAChB,OAAO;gBACX,CAAC;gBACD,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,wBAAwB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBACnE,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;oBAClF,OAAO,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;oBACvD,OAAO,CAAC,IAAI,CAAC,yJAAyJ,CAAC,CAAC;oBACxK,OAAO,CAAC,IAAI,CAAC,gHAAgH,CAAC,CAAC;oBAC/H,OAAO,CAAC,IAAI,CAAC,qGAAqG,CAAC,CAAC;gBACxH,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,qFAAqF,CAAC,CAAC;YACnG,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAI,sBAAsB,EAAE,CAAC;YACzB,yBAAyB,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;QACpF,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;YAAS,CAAC;QACP,wBAAwB,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,cAAc,CAAC,OAAkC,EAAE,EAAE,MAAM,GAAG,KAAK,KAA2B,EAAE;IAC3G,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,cAAc,CAAC;YAClB,WAAW,EAAE,MAAM;YACnB,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,iBAAiB;YAC7D,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;SAC3C,CAAC,CAAC;IACP,CAAC;IACD,MAAM,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,mDAAmD,CAAC,CAAC,CAAC;QACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IAC3D,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,iCAAiC,OAAO,4BAA4B,CAAC,CAAC,CAAC;QAClG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACpD,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,MAAM;QAAE,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC;IACpC,MAAM,UAAU,GAAG,mBAAmB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IACpD,MAAM,eAAe,CAAC,UAAU,EAAE;QAC9B,WAAW,EAAE,MAAM;QACnB,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW;QACjD,aAAa,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;KACrC,CAAC,CAAC;AACP,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,gBAAgB,CAAC,OAAkC;IAC9D,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,OAAO,CAAC,OAAO,CAAC,CAAC,KAAU,EAAE,EAAE;YAC3B,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACf,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;gBACrB,OAAO,GAAG,IAAI,CAAC;YACnB,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;YACrD,OAAO;QACX,CAAC;QACD,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACvE,OAAO;IACX,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IAC3D,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,iCAAiC,OAAO,eAAe,CAAC,CAAC,CAAC;QACrF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,QAAQ,OAAO,wBAAwB,CAAC,CAAC;QACrD,OAAO;IACX,CAAC;IACD,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;IACrB,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,WAAW,OAAO,iBAAiB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,+CAA+C,OAAO,IAAI,CAAC,CAAC;AACtI,CAAC;AAED;;;;;;;;;;GAUG;AACH,KAAK,UAAU,cAAc,CAAC,OAAkC;IAC5D,MAAM,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,mBAAmB,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IAElE,iBAAiB;IACjB,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAChH,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,iCAAiC,OAAO,aAAa,CAAC,CAAC,CAAC;QACnF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,oCAAoC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;IAE9G,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC;YACD,MAAM,WAAW,GAAG,yBAAyB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC1D,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,sBAAsB,GAAG,CAAC,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QACnG,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,8BAA8B,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5E,CAAC;IACL,CAAC;IAED,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,2FAA2F,CAAC,CAAC;IACzG,OAAO,CAAC,GAAG,CAAC,4FAA4F,CAAC,CAAC;AAC9G,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,eAAe,CAAC,OAA2B;IACtD,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,qDAAqD,CAAC,CAAC,CAAC;QACnF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAEnD,0BAA0B;QAC1B,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;QAClE,MAAM,GAAG,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QAEhF,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,OAAO,mCAAmC,CAAC,CAAC,CAAC;YAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,EAAE,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAEnC,wEAAwE;QACxE,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAE1D,6BAA6B;QAC7B,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;QAErG,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,qBAAqB,OAAO,EAAE,CAAC,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;QACjF,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,sBAAsB,MAAM,CAAC,KAAK,IAAI,eAAe,IAAI,CAAC,CAAC,CAAC;YACvF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACL,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,mBAAmB,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,iBAAiB;IAC5B,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAClC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC;IACrC,MAAM,OAAO,GAAG,eAAe,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC;IAC1D,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,oBAAoB,OAAO,IAAI,CAAC,CAAC,CAAC;QAC7D,aAAa,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,QAAQ,OAAO,EAAE,CAAC;QACd,KAAK,MAAM;YACP,MAAM,cAAc,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAChD,OAAO,IAAI,CAAC;QAChB,KAAK,UAAU;YACX,MAAM,cAAc,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/C,OAAO,IAAI,CAAC;QAChB,KAAK,OAAO;YACR,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;gBACtE,aAAa,EAAE,CAAC;gBAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;YACD,MAAM,cAAc,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,KAAK,SAAS,CAAC,CAAC,CAAC;YACb,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;YAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAC;YAClF,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE;gBAC5C,GAAG,EAAE,KAAK,CAAC,YAAY;gBACvB,KAAK,EAAE,SAAS;aACnB,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,YAAY,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;YACjC,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,KAAK,SAAS;YACV,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;gBACtE,aAAa,EAAE,CAAC;gBAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;YACD,MAAM,gBAAgB,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,KAAK,MAAM;YACP,MAAM,iBAAiB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7C,OAAO,IAAI,CAAC;QACf,KAAK,MAAM;YACP,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,CAAC;gBACD,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;YAC7B,CAAC;oBAAS,CAAC;gBACP,IAAI,CAAC;oBACD,gBAAgB,EAAE,CAAC;gBACtB,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAChB,OAAO,CAAC,IAAI,CAAC,uDAAuD,EAAE,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAClH,CAAC;YACN,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChB,OAAO,IAAI,CAAC;QACjB,KAAK,KAAK;YACN,IAAI,CAAC;gBACD,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;gBACrC,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;gBACzB,iDAAiD;gBACjD,IAAI,OAAO,CAAC,KAAK;oBAAE,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAChB,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;gBACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,KAAK,QAAQ;YACT,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAC/B,OAAO,CAAC,kBAAkB,CAAC,CAAC;YAC5B,OAAO,IAAI,CAAC;QAChB,KAAK,QAAQ;YACT,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAC/B,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChB,OAAO,IAAI,CAAC;QAChB,KAAK,WAAW,CAAC,CAAC,CAAC;YACf,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAG,sBAAsB,CAAC;gBACtC,QAAQ,EAAE,SAAS;gBACnB,cAAc,EAAE,CAAC,SAAS,EAAE,mCAAmC,CAAC;gBAChE,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;aAC/B,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE;gBACnD,GAAG,EAAE,KAAK,CAAC,YAAY;gBACvB,KAAK,EAAE,SAAS;aACnB,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,cAAc,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;YACjC,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACX,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAG,sBAAsB,CAAC;gBACtC,QAAQ,EAAE,SAAS;gBACnB,cAAc,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBAC7C,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;aAC/B,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE;gBACnD,GAAG,EAAE,KAAK,CAAC,YAAY;gBACvB,KAAK,EAAE,SAAS;aACnB,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,UAAU,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;YACjC,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACZ,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;YAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAC3E,MAAM,UAAU,GAAG,CAAC,YAAY,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE;gBACnD,GAAG,EAAE,KAAK,CAAC,YAAY;gBACvB,KAAK,EAAE,SAAS;aACnB,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;YACjC,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,KAAK,OAAO,CAAC;QACb,KAAK,cAAc,CAAC;QACpB,KAAK,sBAAsB,CAAC;QAC5B,KAAK,WAAW,CAAC,CAAC,CAAC;YACf,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;YAC/C,MAAM,SAAS,GAA2B;gBACtC,KAAK,EAAE,eAAe;gBACtB,cAAc,EAAE,iBAAiB;gBACjC,sBAAsB,EAAE,yBAAyB;gBACjD,WAAW,EAAE,cAAc;aAC9B,CAAC;YACF,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;YACtC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;YACxE,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE;gBAC3C,GAAG,EAAE,KAAK,CAAC,YAAY;gBACvB,KAAK,EAAE,SAAS;aACnB,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,KAAK,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;YACjC,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1C,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;YACzD,MAAM,mBAAmB,GAAG,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC;YAC1D,MAAM,eAAe,GAAG,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC;YACvD,IAAI,aAAa,GAAG,KAAK,CAAC;YAE1B,IAAI,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC;oBACD,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;oBACjE,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;wBACnC,IAAI,CAAC;4BAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;4BAAC,aAAa,GAAG,IAAI,CAAC;wBAAC,CAAC;wBAAC,OAAO,GAAQ,EAAE,CAAC;4BAClE,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gCACxB,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,GAAG,oDAAoD,CAAC,CAAC;gCAClG,aAAa,GAAG,IAAI,CAAC;4BACzB,CAAC;iCAAM,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gCAC9B,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,GAAG,0BAA0B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;4BACzF,CAAC;wBACL,CAAC;oBACL,CAAC;gBACL,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;YAClB,CAAC;YAED,IAAI,CAAC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;gBACpD,aAAa,GAAG,IAAI,CAAC;YACzB,CAAC;YAED,IAAI,aAAa,EAAE,CAAC;gBAChB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;gBAC3E,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE;oBACjE,GAAG,EAAE,KAAK,CAAC,YAAY;oBACvB,KAAK,EAAE,SAAS;iBACnB,CAAC,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;gBACjC,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,QAAQ,CAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;gBACxG,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACtC,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;oBACnB,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;oBAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAChB,OAAO,IAAI,CAAC;gBAChB,CAAC;gBAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;gBACrD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACpD,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;oBAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAChB,OAAO,IAAI,CAAC;gBAChB,CAAC;gBAED,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC,CAAC;gBACjF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;gBACnC,IAAI,CAAC;oBACD,MAAM,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;oBACxD,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;oBAC7C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;wBACtB,IAAI,CAAC,CAAC,IAAI;4BAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBACrC,CAAC;gBACL,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;gBAEd,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE;oBAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;oBACnC,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACxD,CAAC,CAAC,CAAC;gBAEH,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC3B,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;oBAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAChB,OAAO,IAAI,CAAC;gBAChB,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAEhB,MAAM,SAAS,GAAG,CAAC,CAAM,EAAE,EAAE;oBACzB,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS;wBAAE,OAAO,GAAG,CAAC;oBACvC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;oBAChE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;oBAC1C,IAAI,CAAC,GAAG,EAAE;wBAAE,OAAO,GAAG,CAAC,GAAG,CAAC;oBAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;oBAC7B,IAAI,CAAC,GAAG,EAAE;wBAAE,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;oBACtC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;oBAC7B,IAAI,CAAC,GAAG,EAAE;wBAAE,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;oBACtC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;oBAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;gBAC9B,CAAC,CAAC;gBAEF,MAAM,MAAM,GAAG,CAAC,CAAM,EAAE,EAAE;oBACtB,MAAM,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC;oBAC/B,IAAI,CAAC,KAAK,IAAI,KAAK,IAAI,CAAC;wBAAE,OAAO,GAAG,CAAC;oBACrC,IAAI,KAAK,GAAG,IAAI;wBAAE,OAAO,GAAG,KAAK,GAAG,CAAC;oBACrC,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI;wBAAE,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;oBACjE,OAAO,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;gBACrD,CAAC,CAAC;gBAEF,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;oBACtC,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,GAAG,CAAC;oBAC1B,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,GAAG,CAAC;oBAC5B,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,IAAI,GAAG,CAAC;oBACzC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;oBACpB,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;iBACjB,CAAC,CAAC,CAAC;gBAEJ,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;gBACnE,MAAM,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACnI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;oBACnB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;gBAClI,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACL,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;YACjD,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,KAAK,MAAM;YACP,aAAa,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB;YACI,aAAa,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,cAAc,CAAC,EAAE,WAAW,GAAG,KAAK,EAAE,UAAU,GAAG,UAAU,EAAE,aAAa,KAA0E,EAAE;IACnK,MAAM,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAEhD,iFAAiF;IACjF,IAAI,CAAC,MAAM,CAAC,8BAA8B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC7D,MAAM,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;QAChG,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;QACrC,MAAM,EAAE,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,EAAE,EAAE,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,iDAAiD,CAAC,CAAC,CAAC;YAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACL,CAAC;IAED,MAAM,eAAe,CAAC,UAAU,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;AAClF,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,SAAS;IACpB,mCAAmC;IACnC,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,CAAC;QACD,UAAU,GAAG,uBAAuB,CAAC,YAAY,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAChB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE,CAAC;YACjF,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;YACxD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAC/D,OAAO,CAAC,GAAG,CAAC,qCAAqC,YAAY,EAAE,CAAC,CAAC;YACjE,OAAO,CAAC,GAAG,CAAC,cAAc,WAAW,kDAAkD,CAAC,CAAC;YACzF,MAAM,MAAM,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,mBAAmB,EAAE,WAAW,EAAE,CAAC;YACpE,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;gBACpF,KAAK,EAAE,SAAS;gBAChB,GAAG,EAAE,MAAM;aACd,CAAC,CAAC;YACH,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;gBACtB,OAAO,CAAC,KAAK,CAAC,mBAAmB,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;YACxC,OAAO;QACX,CAAC;QACD,MAAM,GAAG,CAAC;IACd,CAAC;IAED,oEAAoE;IACpE,qEAAqE;IACrE,uEAAuE;IACvE,IAAI,MAAM,iBAAiB,EAAE;QAAE,OAAO;IAEtC,gDAAgD;IAChD,IAAI,UAAU,EAAE,CAAC;QACb,4DAA4D;QAC5D,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,+DAA+D;QAC/D,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAAC;QACvE,MAAM,EACF,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EACxD,cAAc,EAAE,cAAc,EAAE,eAAe,EAC/C,eAAe,EAAE,kBAAkB,EAAE,WAAW,EAChD,eAAe,EAAE,gBAAgB,EAAE,cAAc,EACjD,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,GACtD,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAC3C,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAElD,qDAAqD;QACrD,MAAM,WAAW,GAAG;YAChB,OAAO,EAAE,eAAe,CAAC,eAAe;YACxC,IAAI,EAAE,eAAe,CAAC,aAAa;YACnC,WAAW,EAAE;gBACT,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,eAAe,CAAC,wBAAwB;gBACpD,SAAS,EAAE,eAAe,CAAC,uBAAuB;gBAClD,SAAS,EAAE,eAAe,CAAC,WAAW;gBACtC,kBAAkB,EAAE,eAAe,CAAC,mBAAmB;aAC1D;YACD,SAAS,EAAE;gBACP,QAAQ,EAAE,eAAe,CAAC,kBAAkB;gBAC5C,aAAa,EAAE,IAAI;aACtB;SACJ,CAAC;QAEF,MAAM,eAAe,GAAG;YACpB,SAAS;YACT,KAAK,EAAE,WAAW;YAClB,WAAW,EAAE,EAAE,GAAG,WAAW,EAAE;YAC/B,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE;YACrB,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE;YACvB,cAAc,EAAE,EAAE,GAAG,cAAc,EAAE;YACrC,cAAc,EAAE,EAAE,GAAG,cAAc,EAAE;YACrC,eAAe,EAAE,EAAE,GAAG,eAAe,EAAE;YACvC,eAAe,EAAE,EAAE,GAAG,eAAe,EAAE;YACvC,kBAAkB,EAAE,EAAE,GAAG,kBAAkB,EAAE;YAC7C,WAAW,EAAE,EAAE,GAAG,WAAW,EAAE;YAC/B,eAAe,EAAE,EAAE,GAAG,eAAe,EAAE;YACvC,gBAAgB,EAAE,EAAE,GAAG,gBAAgB,EAAE;YACzC,cAAc,EAAE,EAAE,GAAG,cAAc,EAAE;YACrC,UAAU,EAAE,EAAE,GAAG,UAAU,EAAE;YAC7B,cAAc,EAAE,EAAE,GAAG,cAAc,EAAE;YACrC,aAAa,EAAE,EAAE,GAAG,aAAa,EAAE;YACnC,QAAQ,EAAE,EAAE,GAAG,QAAQ,EAAE;SAC5B,CAAC;QACF,SAAS,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,yCAAyC,CAAC,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,MAAM,eAAe,GAAG,CAAC,MAAM,SAAS,CAAC,qCAAqC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACtG,MAAM,SAAS,GAAG,eAAe,KAAK,GAAG,IAAI,eAAe,KAAK,KAAK,CAAC;QACvE,IAAI,SAAS,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,0CAA0C,CAAC,CAAC,CAAC;YACxE,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,EAAE,CAAC;QAClB,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;YACrE,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC7B,OAAO,CAAC,GAAG,EAAE,CAAC;QAClB,CAAC;QACD,OAAO;IACX,CAAC;IAED,iDAAiD;IACjD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACtC,4DAA4D;QAC5D,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,cAAc,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,yBAAyB,CAAC,GAAQ;IACvC,IAAI,SAAS,CAAC,uBAAuB,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,0BAA0B,CAAC,GAAG,CAAC,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,OAAO;IACX,CAAC;SAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,CAAC;QACD,gBAAgB,EAAE,CAAC;IACvB,CAAC;IAAC,OAAO,aAAa,EAAE,CAAC;IACzB,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,EAAE,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC"}
@@ -161,14 +161,21 @@ declare class AccountOrders {
161
161
  * @param {number|null} boundaryIdx - Optional master boundary index for StrategyEngine
162
162
  * @param {Object|null} assets - Optional asset metadata { assetA, assetB }
163
163
  * @param {Object|null} debugInputs - Optional debug-only input snapshot
164
+ * @param {Object|null} recentFillKeys - Optional fill key dedup snapshot for crash recovery
164
165
  */
165
- storeMasterGrid(orders?: any[], btsFeesOwed?: any, boundaryIdx?: any, assets?: any, debugInputs?: any): Promise<void>;
166
+ storeMasterGrid(orders?: any[], btsFeesOwed?: any, boundaryIdx?: any, assets?: any, debugInputs?: any, recentFillKeys?: any): Promise<void>;
166
167
  /**
167
168
  * Load the persisted order grid for this bot.
168
169
  * @param {boolean} forceReload - If true, reload from disk to ensure fresh data
169
170
  * @returns {Array|null} Order grid array or null if not found
170
171
  */
171
172
  loadGrid(forceReload?: boolean): any;
173
+ /**
174
+ * Load the recently queued fill keys for crash-durable dedup.
175
+ * @param {boolean} forceReload - If true, reload from disk
176
+ * @returns {Object|null} Recent fill keys map or null if not found
177
+ */
178
+ loadRecentFillKeys(forceReload?: boolean): any;
172
179
  /**
173
180
  * Load persisted asset metadata for this bot.
174
181
  * @param {boolean} forceReload - If true, reload from disk
@@ -1 +1 @@
1
- {"version":3,"file":"account_orders.d.ts","sourceRoot":"","sources":["../../modules/account_orders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAyCH;;;;;;;;GAQG;AACH,iBAAS,YAAY,CAAC,GAAG,KAAA,EAAE,KAAK,KAAA,UAU/B;AAkED;;;;;;;;;;;;GAYG;AACH,cAAM,aAAa;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,GAAG,CAAC;IACtB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,IAAI,EAAE,GAAG,CAAC;IAEV;;;;;;OAMG;gBACS,OAAO,GAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAmB;IAwBnG;;;;OAIG;IACH,SAAS;IAKT;;;;;;;OAOG;IACH,qBAAqB,IAAI,OAAO;IAkDhC;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,KAAA;IAYlB;;;OAGG;IACH,QAAQ;IAKR;;;;;OAKG;IACG,QAAQ,CAAC,SAAS,EAAE,GAAG;IAyB7B;;;;;;OAMG;IACH,YAAY,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG;IASrC;;;;;;;;OAQG;IACH,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAW;;;;;;;;;;IAc/F;;;;;;;;OAQG;IACG,eAAe,CAAC,MAAM,GAAE,GAAG,EAAO,EAAE,WAAW,GAAE,GAAU,EAAE,WAAW,GAAE,GAAU,EAAE,MAAM,GAAE,GAAU,EAAE,WAAW,GAAE,GAAU;IA4CvI;;;;OAIG;IACH,QAAQ,CAAC,WAAW,GAAE,OAAe;IAOrC;;;;OAIG;IACH,mBAAmB,CAAC,WAAW,GAAE,OAAe;IAUhD;;;;OAIG;IACH,eAAe,CAAC,WAAW,GAAE,OAAe;IAa5C;;;;OAIG;IACH,cAAc,CAAC,WAAW,GAAE,OAAe;IAU3C;;;;;;OAMG;IACH,eAAe,CAAC,WAAW,GAAE,OAAe;IAa5C;;;;;OAKG;IACG,iBAAiB,CAAC,WAAW,EAAE,GAAG;IASxC;;;OAGG;IACG,SAAS;IAWf;;;;;OAKG;IACH,kBAAkB,CAAC,OAAO,GAAE,OAAO,GAAG;QAAE,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAO;IAoB3F;;;OAGG;IACG,yBAAyB,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAyB1D;;;;OAIG;IACG,sBAAsB,CAAC,WAAW,GAAE,MAAgB;IA2B1D;;;;;OAKG;IACH,gBAAgB,CAAC,WAAW,GAAE,OAAe;;;;;;;;;;;;;;;;IA+B7C;;;;;OAKG;IACH,eAAe,CAAC,KAAK,GAAE,GAAQ;;;;;;;;CA0BhC;;;;;AAED,kBAGE"}
1
+ {"version":3,"file":"account_orders.d.ts","sourceRoot":"","sources":["../../modules/account_orders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAyCH;;;;;;;;GAQG;AACH,iBAAS,YAAY,CAAC,GAAG,KAAA,EAAE,KAAK,KAAA,UAU/B;AAmED;;;;;;;;;;;;GAYG;AACH,cAAM,aAAa;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,GAAG,CAAC;IACtB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,IAAI,EAAE,GAAG,CAAC;IAEV;;;;;;OAMG;gBACS,OAAO,GAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAmB;IAwBnG;;;;OAIG;IACH,SAAS;IAKT;;;;;;;OAOG;IACH,qBAAqB,IAAI,OAAO;IAkDhC;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,KAAA;IAYlB;;;OAGG;IACH,QAAQ;IAKR;;;;;OAKG;IACG,QAAQ,CAAC,SAAS,EAAE,GAAG;IAyB7B;;;;;;OAMG;IACH,YAAY,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG;IASrC;;;;;;;;OAQG;IACH,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAW;;;;;;;;;;IAc/F;;;;;;;;;OASG;IACG,eAAe,CAAC,MAAM,GAAE,GAAG,EAAO,EAAE,WAAW,GAAE,GAAU,EAAE,WAAW,GAAE,GAAU,EAAE,MAAM,GAAE,GAAU,EAAE,WAAW,GAAE,GAAU,EAAE,cAAc,GAAE,GAAU;IAmDnK;;;;OAIG;IACH,QAAQ,CAAC,WAAW,GAAE,OAAe;IAOrC;;;;OAIG;IACH,kBAAkB,CAAC,WAAW,GAAE,OAAe;IAU/C;;;;OAIG;IACH,mBAAmB,CAAC,WAAW,GAAE,OAAe;IAUhD;;;;OAIG;IACH,eAAe,CAAC,WAAW,GAAE,OAAe;IAa5C;;;;OAIG;IACH,cAAc,CAAC,WAAW,GAAE,OAAe;IAU3C;;;;;;OAMG;IACH,eAAe,CAAC,WAAW,GAAE,OAAe;IAa5C;;;;;OAKG;IACG,iBAAiB,CAAC,WAAW,EAAE,GAAG;IASxC;;;OAGG;IACG,SAAS;IAWf;;;;;OAKG;IACH,kBAAkB,CAAC,OAAO,GAAE,OAAO,GAAG;QAAE,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAO;IAoB3F;;;OAGG;IACG,yBAAyB,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAyB1D;;;;OAIG;IACG,sBAAsB,CAAC,WAAW,GAAE,MAAgB;IA2B1D;;;;;OAKG;IACH,gBAAgB,CAAC,WAAW,GAAE,OAAe;;;;;;;;;;;;;;;;IA+B7C;;;;;OAKG;IACH,eAAe,CAAC,KAAK,GAAE,GAAQ;;;;;;;;CA0BhC;;;;;AAED,kBAGE"}
@@ -163,6 +163,7 @@ function emptyData() {
163
163
  assets: null,
164
164
  debugInputs: null,
165
165
  processedFills: {},
166
+ recentFillKeys: {},
166
167
  createdAt: timestamp,
167
168
  lastUpdated: timestamp
168
169
  };
@@ -374,8 +375,9 @@ class AccountOrders {
374
375
  * @param {number|null} boundaryIdx - Optional master boundary index for StrategyEngine
375
376
  * @param {Object|null} assets - Optional asset metadata { assetA, assetB }
376
377
  * @param {Object|null} debugInputs - Optional debug-only input snapshot
378
+ * @param {Object|null} recentFillKeys - Optional fill key dedup snapshot for crash recovery
377
379
  */
378
- async storeMasterGrid(orders = [], btsFeesOwed = null, boundaryIdx = null, assets = null, debugInputs = null) {
380
+ async storeMasterGrid(orders = [], btsFeesOwed = null, boundaryIdx = null, assets = null, debugInputs = null, recentFillKeys = null) {
379
381
  // Use AsyncLock to serialize read-modify-write operations
380
382
  await this._persistenceLock.acquire(async () => {
381
383
  // Reload from disk before writing to prevent race conditions
@@ -403,6 +405,13 @@ class AccountOrders {
403
405
  if (!this.data.processedFills) {
404
406
  this.data.processedFills = {};
405
407
  }
408
+ // Persist recent fill keys for crash-durable dedup window
409
+ if (recentFillKeys) {
410
+ this.data.recentFillKeys = recentFillKeys;
411
+ }
412
+ else if (!this.data.recentFillKeys) {
413
+ this.data.recentFillKeys = {};
414
+ }
406
415
  const timestamp = nowIso();
407
416
  this.data.lastUpdated = timestamp;
408
417
  if (this.data.meta)
@@ -421,6 +430,20 @@ class AccountOrders {
421
430
  }
422
431
  return (this.data && Array.isArray(this.data.grid)) ? this.data.grid : null;
423
432
  }
433
+ /**
434
+ * Load the recently queued fill keys for crash-durable dedup.
435
+ * @param {boolean} forceReload - If true, reload from disk
436
+ * @returns {Object|null} Recent fill keys map or null if not found
437
+ */
438
+ loadRecentFillKeys(forceReload = false) {
439
+ if (forceReload) {
440
+ this.data = this._loadData() || emptyData();
441
+ }
442
+ if (this.data && this.data.recentFillKeys) {
443
+ return this.data.recentFillKeys;
444
+ }
445
+ return null;
446
+ }
424
447
  /**
425
448
  * Load persisted asset metadata for this bot.
426
449
  * @param {boolean} forceReload - If true, reload from disk