@playcraft/common 0.0.3 → 0.0.6

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 (44) hide show
  1. package/dist/auth/index.d.ts +1 -0
  2. package/dist/auth/index.d.ts.map +1 -1
  3. package/dist/auth/index.js +1 -0
  4. package/dist/auth/index.js.map +1 -1
  5. package/dist/auth/signature.d.ts +82 -0
  6. package/dist/auth/signature.d.ts.map +1 -0
  7. package/dist/auth/signature.js +154 -0
  8. package/dist/auth/signature.js.map +1 -0
  9. package/dist/auth/signature.spec.d.ts +2 -0
  10. package/dist/auth/signature.spec.d.ts.map +1 -0
  11. package/dist/auth/signature.spec.js +195 -0
  12. package/dist/auth/signature.spec.js.map +1 -0
  13. package/dist/index.d.ts +1 -0
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +1 -0
  16. package/dist/index.js.map +1 -1
  17. package/dist/mcp/index.d.ts +3 -0
  18. package/dist/mcp/index.d.ts.map +1 -0
  19. package/dist/mcp/index.js +2 -0
  20. package/dist/mcp/index.js.map +1 -0
  21. package/dist/mcp/tools.d.ts +29 -0
  22. package/dist/mcp/tools.d.ts.map +1 -0
  23. package/dist/mcp/tools.js +179 -0
  24. package/dist/mcp/tools.js.map +1 -0
  25. package/dist/messenger/server.d.ts.map +1 -1
  26. package/dist/messenger/server.js +7 -1
  27. package/dist/messenger/server.js.map +1 -1
  28. package/dist/messenger/server.test.js.map +1 -1
  29. package/dist/messenger/types.d.ts +1 -2
  30. package/dist/messenger/types.d.ts.map +1 -1
  31. package/dist/sharedb/server.d.ts +7 -1
  32. package/dist/sharedb/server.d.ts.map +1 -1
  33. package/dist/sharedb/server.js +83 -21
  34. package/dist/sharedb/server.js.map +1 -1
  35. package/dist/sharedb/server.test.js.map +1 -1
  36. package/package.json +9 -5
  37. package/dist/models/converters.d.ts +0 -11
  38. package/dist/models/converters.d.ts.map +0 -1
  39. package/dist/models/converters.js +0 -25
  40. package/dist/models/converters.js.map +0 -1
  41. package/dist/models/converters.test.d.ts +0 -2
  42. package/dist/models/converters.test.d.ts.map +0 -1
  43. package/dist/models/converters.test.js +0 -18
  44. package/dist/models/converters.test.js.map +0 -1
@@ -0,0 +1,179 @@
1
+ /**
2
+ * Unified MCP tool definitions and name mapping.
3
+ * Maps tool names (snake_case / pc_*) used by Backend MCP and AI clients
4
+ * to Editor handler method names (camelCase).
5
+ */
6
+ /** Map from MCP tool name (as sent by backend/AI) to Editor handler method name */
7
+ export const TOOL_NAME_TO_HANDLER = {
8
+ // Legacy Backend MCP names (snake_case) -> handler
9
+ list_entities: 'listEntities',
10
+ create_entity: 'createEntity',
11
+ delete_entity: 'deleteEntity',
12
+ modify_entity: 'updateEntity',
13
+ list_assets: 'listAssets',
14
+ create_asset: 'createAsset',
15
+ delete_asset: 'deleteAsset',
16
+ query_scene_settings: 'querySceneSettings',
17
+ // Entity (pc_*)
18
+ pc_create_entity: 'createEntity',
19
+ pc_get_entity: 'getEntity',
20
+ pc_update_entity: 'updateEntity',
21
+ pc_delete_entity: 'deleteEntity',
22
+ pc_list_entities: 'listEntities',
23
+ pc_duplicate_entities: 'duplicateEntities',
24
+ pc_reparent_entity: 'reparentEntity',
25
+ pc_add_components: 'addComponents',
26
+ pc_remove_components: 'removeComponents',
27
+ // Asset
28
+ pc_upload_asset: 'uploadAsset',
29
+ pc_get_asset: 'getAsset',
30
+ pc_list_assets: 'listAssets',
31
+ pc_delete_asset: 'deleteAsset',
32
+ pc_create_asset: 'createAsset',
33
+ pc_find_assets: 'findAsset',
34
+ pc_create_folder: 'createFolder',
35
+ pc_get_selection: 'getSelection',
36
+ // Script
37
+ pc_create_script: 'createScript',
38
+ pc_add_script_to_entity: 'addScriptToEntity',
39
+ pc_set_script_text: 'setScriptText',
40
+ pc_get_script_text: 'getScriptText',
41
+ pc_script_parse: 'scriptParse',
42
+ // Content
43
+ pc_set_json_content: 'setJsonContent',
44
+ pc_get_json_content: 'getJsonContent',
45
+ pc_set_text_content: 'setTextContent',
46
+ pc_get_text_content: 'getTextContent',
47
+ pc_list_extensions: 'listExtensions',
48
+ // Template
49
+ pc_instantiate_template: 'instantiateTemplate',
50
+ pc_create_template: 'createTemplate',
51
+ pc_apply_template: 'applyTemplate',
52
+ // Scene
53
+ pc_get_scene: 'getScene',
54
+ pc_save_scene: 'saveScene',
55
+ pc_query_scene_settings: 'querySceneSettings',
56
+ pc_modify_scene_settings: 'modifySceneSettings',
57
+ // Project
58
+ pc_get_project: 'getProject',
59
+ pc_get_project_settings: 'getProjectSettings',
60
+ pc_update_project_settings: 'updateProjectSettings',
61
+ // Material
62
+ pc_set_material_diffuse: 'setMaterialDiffuse',
63
+ // Runtime
64
+ pc_get_runtime_errors: 'getRuntimeErrors',
65
+ pc_get_editor_errors: 'getEditorErrors',
66
+ pc_find_runtime_entities: 'findRuntimeEntities',
67
+ pc_get_runtime_entity: 'getRuntimeEntity',
68
+ // Editor
69
+ editor_call: 'editorCall',
70
+ editor_run: 'editorRun',
71
+ // Agent
72
+ pc_get_pending_messages: 'getPendingMessages',
73
+ pc_send_agent_response: 'agentResponse',
74
+ // AI
75
+ pc_generate_with_ai: 'ai_generate_intelligent',
76
+ pc_analyze_image: 'analyzeImage',
77
+ // Generator
78
+ pc_apply_table_to_scene: 'applyTableToScene',
79
+ };
80
+ /** Tool names that are executed by executor directly (no handler) */
81
+ export const EXECUTOR_ONLY_TOOLS = new Set(['list_scenes', 'load_scene']);
82
+ /**
83
+ * Resolve MCP tool name to handler method name.
84
+ * Returns undefined if tool is executor-only or unknown.
85
+ */
86
+ export function toolNameToHandler(tool) {
87
+ if (EXECUTOR_ONLY_TOOLS.has(tool))
88
+ return undefined;
89
+ return TOOL_NAME_TO_HANDLER[tool];
90
+ }
91
+ /**
92
+ * All MCP tool names that can be invoked (handler-based + executor-only).
93
+ */
94
+ export const MCP_TOOL_NAMES = [
95
+ ...new Set([
96
+ ...Object.keys(TOOL_NAME_TO_HANDLER),
97
+ ...EXECUTOR_ONLY_TOOLS,
98
+ ]),
99
+ ];
100
+ /**
101
+ * Minimal tool definitions for MCP tools/list.
102
+ * Backend can use this to return full tool list to MCP clients.
103
+ */
104
+ export const MCP_TOOL_DEFINITIONS = [
105
+ // Entity
106
+ { name: 'pc_list_entities', description: 'List PlayCanvas entities in hierarchy. Prefer parentId to reduce payload.' },
107
+ { name: 'pc_create_entity', description: 'Create a new entity in the PlayCanvas editor.' },
108
+ { name: 'pc_get_entity', description: 'Get a single entity by ID.' },
109
+ { name: 'pc_update_entity', description: 'Update entity name, enabled, tags, position, rotation, scale, components.' },
110
+ { name: 'pc_delete_entity', description: 'Delete an entity and its children.' },
111
+ { name: 'pc_duplicate_entities', description: 'Duplicate one or more entities.' },
112
+ { name: 'pc_reparent_entity', description: 'Change entity parent.' },
113
+ { name: 'pc_add_components', description: 'Add components to an entity.' },
114
+ { name: 'pc_remove_components', description: 'Remove components from an entity.' },
115
+ // Asset
116
+ { name: 'pc_list_assets', description: 'List assets in the project.' },
117
+ { name: 'pc_get_asset', description: 'Get asset by ID.' },
118
+ { name: 'pc_upload_asset', description: 'Upload an asset (e.g. image).' },
119
+ { name: 'pc_delete_asset', description: 'Delete an asset.' },
120
+ { name: 'pc_create_asset', description: 'Create an asset of given type.' },
121
+ { name: 'pc_find_assets', description: 'Find assets by name/type.' },
122
+ { name: 'pc_create_folder', description: 'Create a folder asset.' },
123
+ { name: 'pc_get_selection', description: 'Get current editor selection (assets/entities).' },
124
+ // Script
125
+ { name: 'pc_create_script', description: 'Create a script asset.' },
126
+ { name: 'pc_add_script_to_entity', description: 'Add script to entity.' },
127
+ { name: 'pc_set_script_text', description: 'Set script source text.' },
128
+ { name: 'pc_get_script_text', description: 'Get script source text.' },
129
+ { name: 'pc_script_parse', description: 'Parse script and return structure.' },
130
+ // Content
131
+ { name: 'pc_set_json_content', description: 'Set JSON asset content.' },
132
+ { name: 'pc_get_json_content', description: 'Get JSON asset content.' },
133
+ { name: 'pc_set_text_content', description: 'Set text asset content.' },
134
+ { name: 'pc_get_text_content', description: 'Get text asset content.' },
135
+ { name: 'pc_list_extensions', description: 'List extensions.' },
136
+ // Template
137
+ { name: 'pc_instantiate_template', description: 'Instantiate a template.' },
138
+ { name: 'pc_create_template', description: 'Create a template from selection.' },
139
+ { name: 'pc_apply_template', description: 'Apply template to entity.' },
140
+ // Scene
141
+ { name: 'list_scenes', description: 'List scenes (legacy).' },
142
+ { name: 'load_scene', description: 'Load a scene by ID (legacy).' },
143
+ { name: 'pc_get_scene', description: 'Get current scene data.' },
144
+ { name: 'pc_save_scene', description: 'Save the current scene.' },
145
+ { name: 'pc_query_scene_settings', description: 'Query scene settings.' },
146
+ { name: 'pc_modify_scene_settings', description: 'Modify scene settings.' },
147
+ // Project
148
+ { name: 'pc_get_project', description: 'Get project info.' },
149
+ { name: 'pc_get_project_settings', description: 'Get project settings.' },
150
+ { name: 'pc_update_project_settings', description: 'Update project settings.' },
151
+ // Material
152
+ { name: 'pc_set_material_diffuse', description: 'Set material diffuse color.' },
153
+ // Runtime
154
+ { name: 'pc_get_runtime_errors', description: 'Get runtime errors.' },
155
+ { name: 'pc_get_editor_errors', description: 'Get editor errors.' },
156
+ { name: 'pc_find_runtime_entities', description: 'Find runtime entities.' },
157
+ { name: 'pc_get_runtime_entity', description: 'Get runtime entity by GUID.' },
158
+ // Editor
159
+ { name: 'editor_call', description: 'Call editor API.' },
160
+ { name: 'editor_run', description: 'Run editor command.' },
161
+ // Agent
162
+ { name: 'pc_get_pending_messages', description: 'Get pending agent messages.' },
163
+ { name: 'pc_send_agent_response', description: 'Send response to agent.' },
164
+ // AI
165
+ { name: 'pc_generate_with_ai', description: 'Generate content with AI (single resource per call).' },
166
+ { name: 'pc_analyze_image', description: 'Analyze an image with AI.' },
167
+ // Generator
168
+ { name: 'pc_apply_table_to_scene', description: 'Apply table to scene.' },
169
+ // Legacy
170
+ { name: 'list_entities', description: 'List entities (legacy).' },
171
+ { name: 'create_entity', description: 'Create entity (legacy).' },
172
+ { name: 'delete_entity', description: 'Delete entity (legacy).' },
173
+ { name: 'modify_entity', description: 'Modify entity (legacy).' },
174
+ { name: 'list_assets', description: 'List assets (legacy).' },
175
+ { name: 'create_asset', description: 'Create asset (legacy).' },
176
+ { name: 'delete_asset', description: 'Delete asset (legacy).' },
177
+ { name: 'query_scene_settings', description: 'Query scene settings (legacy).' },
178
+ ];
179
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/messenger/server.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAmB,SAAS,EAAE,MAAM,IAAI,CAAC;AAKhD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE;YAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAAC,KAAK,EAAE,MAAM,EAAE,CAAC;YAAC,KAAK,EAAE,MAAM,EAAE,CAAA;SAAE,CAAA;KAAE,CAAC;IACtH,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CACnD,CAAC;AAEF,uBAAuB;AACvB,eAAO,MAAM,oBAAoB;;;;;;;;CAQvB,CAAC;AA4BX,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACrD,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9F,mCAAmC;IACnC,oBAAoB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChF,6BAA6B;IAC7B,uBAAuB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC7E,oCAAoC;IACpC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AASF,qBAAa,eAAe;IAC1B,OAAO,CAAC,GAAG,CAAC,CAAkB;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiC;IACzD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,mBAAmB,CAAK;gBAEpB,OAAO,GAAE,sBAA2B;IAMhD,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM;IAM1B,KAAK;IAIL,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAW9D,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAMxE;;OAEG;IACH,mBAAmB,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,KAAK,IAAI;IAmBpF;;;OAGG;IACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,IAC1B,KAAK,IAAI,CAAC,eAAe,EAAE,KAAK,IAAI,CAAC,cAAc;IA8B7D,OAAO,CAAC,gBAAgB;IA8FxB,OAAO,CAAC,qBAAqB;IAiB7B,OAAO,CAAC,YAAY;CAgCrB"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/messenger/server.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAmB,SAAS,EAAE,MAAM,IAAI,CAAC;AAKhD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE;YAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAAC,KAAK,EAAE,MAAM,EAAE,CAAC;YAAC,KAAK,EAAE,MAAM,EAAE,CAAA;SAAE,CAAA;KAAE,CAAC;IACtH,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CACnD,CAAC;AAEF,uBAAuB;AACvB,eAAO,MAAM,oBAAoB;;;;;;;;CAQvB,CAAC;AA4BX,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACrD,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9F,mCAAmC;IACnC,oBAAoB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChF,6BAA6B;IAC7B,uBAAuB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC7E,oCAAoC;IACpC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AASF,qBAAa,eAAe;IAC1B,OAAO,CAAC,GAAG,CAAC,CAAkB;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiC;IACzD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,mBAAmB,CAAK;gBAEpB,OAAO,GAAE,sBAA2B;IAMhD,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM;IAM1B,KAAK;IAIL,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAc9D,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAMxE;;OAEG;IACH,mBAAmB,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,KAAK,IAAI;IAmBpF;;;OAGG;IACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,IAC1B,KAAK,IAAI,CAAC,eAAe,EAAE,KAAK,IAAI,CAAC,cAAc;IAiC7D,OAAO,CAAC,gBAAgB;IA8FxB,OAAO,CAAC,qBAAqB;IAiB7B,OAAO,CAAC,YAAY;CAgCrB"}
@@ -58,13 +58,16 @@ export class MessengerServer {
58
58
  broadcast(name, data, projectId) {
59
59
  const pid = Number(projectId) || 1;
60
60
  const json = MessengerProtocol.serialize(MessengerProtocol.createMessage(name, data, pid));
61
+ let sentCount = 0;
61
62
  for (const [client, session] of this.clients) {
62
63
  if (client.readyState !== WebSocket.OPEN)
63
64
  continue;
64
65
  if (projectId && session.projectId && String(session.projectId) !== String(projectId))
65
66
  continue;
66
67
  client.send(json);
68
+ sentCount++;
67
69
  }
70
+ console.log(`[MessengerServer] Broadcast '${name}' to ${sentCount} clients (projectId: ${projectId})`);
68
71
  }
69
72
  send(ws, name, data, projectId) {
70
73
  if (ws.readyState !== WebSocket.OPEN)
@@ -115,11 +118,14 @@ export class MessengerServer {
115
118
  req.on('end', () => {
116
119
  try {
117
120
  const msg = JSON.parse(body || '{}');
121
+ console.log('[MessengerServer] Emit received:', msg.name, 'to project:', msg.projectId, 'data:', JSON.stringify(msg.data || {}).substring(0, 150));
118
122
  this.broadcast(msg.name, msg.data, msg.projectId);
123
+ console.log('[MessengerServer] Broadcast completed for:', msg.name);
119
124
  res.statusCode = 200;
120
125
  res.end('ok');
121
126
  }
122
- catch {
127
+ catch (err) {
128
+ console.error('[MessengerServer] Failed to parse emit body:', err);
123
129
  res.statusCode = 400;
124
130
  res.end('bad request');
125
131
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/messenger/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/messenger/server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.test.js","sourceRoot":"","sources":["../../src/messenger/server.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.test.js","sourceRoot":"","sources":["../../src/messenger/server.test.ts"],"names":[],"mappings":"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"}
@@ -18,8 +18,7 @@ export type McpCommandMessage = {
18
18
  tool: string;
19
19
  params: Record<string, unknown>;
20
20
  };
21
- };
22
- /** MCP result (Editor → Backend via POST /api/mcp/result; not broadcast) */
21
+ }; /** MCP result (Editor → Backend via POST /api/mcp/result; not broadcast) */
23
22
  export type McpResultMessage = {
24
23
  name: 'mcp:result';
25
24
  data: {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/messenger/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,SAAS,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,GAAG,CAAC;IACV,MAAM,EAAE,eAAe,CAAC;IACxB,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;AAEF,gEAAgE;AAChE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE;QACJ,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACjC,CAAC;CACH,CAAC;AAEF,4EAA4E;AAC5E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE;QACJ,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/messenger/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,SAAS,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,GAAG,CAAC;IACV,MAAM,EAAE,eAAe,CAAC;IACxB,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;AAEF,gEAAgE;AAChE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE;QACJ,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACjC,CAAC;CACH,CAAC,CAAA,4EAA4E;AAC9E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE;QACJ,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH,CAAC"}
@@ -51,9 +51,15 @@ export declare class ShareDBRealtimeServer {
51
51
  */
52
52
  private loadProjectAssetsToCache;
53
53
  /**
54
- * 🔧 从缓存中获取 asset,并更新访问计数与时间戳
54
+ * 🔧 从缓存中获取 asset(需已知 contentHash),并更新访问计数与时间戳
55
55
  */
56
56
  private getAssetFromCache;
57
+ /**
58
+ * 🔧 缓存 asset 数据,使用 assetId:contentHash 作为 key;删除同一 assetId 的旧 hash 版本
59
+ */
60
+ private cacheAssetData;
61
+ /** 从当前连接上下文获取 projectId(暂无实现时返回 null,则不按项目缓存) */
62
+ private getProjectIdFromContext;
57
63
  private ensureDocExists;
58
64
  private handleConnection;
59
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/sharedb/server.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAkB7B,MAAM,MAAM,oBAAoB,GAAG;IACjC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3D;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/D;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,qBAAa,qBAAqB;IAChC,OAAO,CAAC,OAAO,CAAM;IACrB,OAAO,CAAC,GAAG,CAAC,CAAkB;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAIhB;IAGL,OAAO,CAAC,UAAU,CAAoD;IACtE,OAAO,CAAC,iBAAiB,CAAyC;IAClE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkB;IAC/C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,iBAAiB,CAA+C;gBAE5D,OAAO,GAAE,oBAAyB;IAY9C,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM;IAQ1B;;OAEG;IACH,mBAAmB,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,KAAK,IAAI;IAmBpF,KAAK;IAuBL,yBAAyB;IACzB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,mBAAmB;IAiC3B,OAAO,CAAC,iBAAiB;IAiDzB,OAAO,CAAC,aAAa;IAQrB;;;OAGG;YACW,wBAAwB;IA6DtC;;OAEG;IACH,OAAO,CAAC,iBAAiB;YASX,eAAe;IA8H7B,OAAO,CAAC,gBAAgB;CA6LzB"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/sharedb/server.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAoB7B,MAAM,MAAM,oBAAoB,GAAG;IACjC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3D;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/D;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,qBAAa,qBAAqB;IAChC,OAAO,CAAC,OAAO,CAAM;IACrB,OAAO,CAAC,GAAG,CAAC,CAAkB;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAIhB;IAGL,OAAO,CAAC,UAAU,CAAoD;IACtE,OAAO,CAAC,iBAAiB,CAAyC;IAClE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkB;IAC/C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,iBAAiB,CAA+C;gBAE5D,OAAO,GAAE,oBAAyB;IAY9C,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM;IAQ1B;;OAEG;IACH,mBAAmB,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,KAAK,IAAI;IAmBpF,KAAK;IAuBL,yBAAyB;IACzB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,mBAAmB;IAiC3B,OAAO,CAAC,iBAAiB;IAiDzB,OAAO,CAAC,aAAa;IAQrB;;;OAGG;YACW,wBAAwB;IAiEtC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IASzB;;OAEG;IACH,OAAO,CAAC,cAAc;IAmCtB,iDAAiD;IACjD,OAAO,CAAC,uBAAuB;YAIjB,eAAe;IAgJ7B,OAAO,CAAC,gBAAgB;CAgMzB"}
@@ -4,7 +4,7 @@ import WebSocketJSONStream from '@teamwork/websocket-json-stream';
4
4
  import { type as otTextType } from 'ot-text';
5
5
  import { LocalDevAuth } from '../auth/local-dev.js';
6
6
  import { SceneModel } from '../models/scene.js';
7
- import { HEADERS } from '../constants.js';
7
+ import { generateSignedHeaders } from '../auth/signature.js';
8
8
  ShareDB.types.register(otTextType);
9
9
  export class ShareDBRealtimeServer {
10
10
  backend;
@@ -188,12 +188,15 @@ export class ShareDBRealtimeServer {
188
188
  console.warn(`[sharedb] No backendUrl configured, cannot load assets for project ${projectId}`);
189
189
  return;
190
190
  }
191
- const internalSecret = this.options.internalSecret || process.env.EMIT_SECRET || 'dev-emit-secret-change-me';
191
+ const emitSecret = this.options.internalSecret || process.env.EMIT_SECRET || 'dev-emit-secret-change-me';
192
192
  const url = `${this.options.backendUrl}/api/projects/${projectId}/assets?branchId=local-branch`;
193
+ const path = `/api/projects/${projectId}/assets`;
193
194
  console.log(`[sharedb] 🚀 Batch loading assets for project ${projectId} from ${url}`);
194
195
  const startTime = Date.now();
196
+ // 生成签名 headers
197
+ const signedHeaders = generateSignedHeaders('GET', path, emitSecret, 'realtime');
195
198
  const res = await fetch(url, {
196
- headers: { [HEADERS.INTERNAL_SECRET]: internalSecret },
199
+ headers: signedHeaders,
197
200
  });
198
201
  if (!res.ok) {
199
202
  console.error(`[sharedb] Failed to batch load assets: status=${res.status}`);
@@ -228,17 +231,53 @@ export class ShareDBRealtimeServer {
228
231
  return loadPromise;
229
232
  }
230
233
  /**
231
- * 🔧 从缓存中获取 asset,并更新访问计数与时间戳
234
+ * 🔧 从缓存中获取 asset(需已知 contentHash),并更新访问计数与时间戳
232
235
  */
233
- getAssetFromCache(projectId, assetId) {
236
+ getAssetFromCache(projectId, cacheKey) {
234
237
  const projectCache = this.assetCache.get(projectId);
235
- const cached = projectCache?.get(assetId);
238
+ const cached = projectCache?.get(cacheKey);
236
239
  if (!cached)
237
240
  return null;
238
241
  cached.accessCount++;
239
242
  cached.timestamp = Date.now();
240
243
  return cached.data;
241
244
  }
245
+ /**
246
+ * 🔧 缓存 asset 数据,使用 assetId:contentHash 作为 key;删除同一 assetId 的旧 hash 版本
247
+ */
248
+ cacheAssetData(projectId, assetId, responseData) {
249
+ const { contentHash, ...data } = responseData;
250
+ if (!contentHash) {
251
+ console.warn(`[sharedb] No contentHash for asset ${assetId}, skipping cache`);
252
+ return data;
253
+ }
254
+ const cacheKey = `${assetId}:${contentHash}`;
255
+ let projectCache = this.assetCache.get(projectId);
256
+ if (!projectCache) {
257
+ projectCache = new Map();
258
+ this.assetCache.set(projectId, projectCache);
259
+ }
260
+ // 删除同一 assetId 的旧 hash 版本(防止内存泄漏)
261
+ for (const [key] of projectCache) {
262
+ if (key.startsWith(`${assetId}:`) && key !== cacheKey) {
263
+ projectCache.delete(key);
264
+ console.log(`[sharedb] Removed old cache: ${key}`);
265
+ }
266
+ }
267
+ const cached = {
268
+ data,
269
+ contentHash,
270
+ timestamp: Date.now(),
271
+ accessCount: 0,
272
+ };
273
+ projectCache.set(cacheKey, cached);
274
+ console.log(`[sharedb] Cached asset ${assetId} with hash ${contentHash.slice(0, 8)}`);
275
+ return data;
276
+ }
277
+ /** 从当前连接上下文获取 projectId(暂无实现时返回 null,则不按项目缓存) */
278
+ getProjectIdFromContext() {
279
+ return null;
280
+ }
242
281
  async ensureDocExists(collection, id, reason) {
243
282
  const docId = String(id);
244
283
  const doc = this.getCommonConn().get(collection, docId);
@@ -258,14 +297,9 @@ export class ShareDBRealtimeServer {
258
297
  if (collection === 'user_data') {
259
298
  initial = {};
260
299
  }
261
- // 🔧 性能优化:对于 assets,优先从缓存获取
300
+ // assets 在下方 backend 请求后通过 cacheAssetData 处理并缓存(key = assetId:contentHash)
262
301
  else if (collection === 'assets' && this.options.backendUrl) {
263
- // asset ID 中提取 projectId(假设格式为 <projectId>-<assetId> 或直接是 UUID)
264
- // 这里我们需要一个方法来识别 projectId,暂时先尝试批量加载
265
- // TODO: 需要一个更好的方法来识别 projectId
266
- // 目前的解决方案:尝试从 URL 或者第一次加载时记录 projectId
267
- // fallback: 使用单个请求
268
- console.log(`[sharedb] Asset cache miss for ${docId}, using individual request`);
302
+ // 留空,initial 由下方 backend fetch 后设置并可选缓存
269
303
  }
270
304
  if (initial == null && this.options.onDocCreate) {
271
305
  try {
@@ -280,24 +314,32 @@ export class ShareDBRealtimeServer {
280
314
  }
281
315
  if (initial == null && this.options.backendUrl) {
282
316
  try {
283
- const internalSecret = this.options.internalSecret || process.env.EMIT_SECRET || 'dev-emit-secret-change-me';
317
+ const emitSecret = this.options.internalSecret || process.env.EMIT_SECRET || 'dev-emit-secret-change-me';
284
318
  // 🔧 修复:对于 documents collection,调用 assets API 获取文件内容
285
319
  // documents 的 ID 即 asset 的 numeric_id(或 UUID),用于获取文件内容
286
320
  let url;
321
+ let path;
287
322
  if (collection === 'documents') {
288
323
  // documents 需要获取文件内容(文本)
289
324
  url = `${this.options.backendUrl}/api/assets/internal/${docId}/file`;
325
+ path = `/api/assets/internal/${docId}/file`;
290
326
  }
291
327
  else {
292
328
  // assets 和 scenes 获取元数据(JSON)
293
- url =
294
- collection === 'assets' || collection === 'scenes'
295
- ? `${this.options.backendUrl}/api/${collection}/internal/${docId}`
296
- : `${this.options.backendUrl}/api/${collection}/${docId}`;
329
+ if (collection === 'assets' || collection === 'scenes') {
330
+ url = `${this.options.backendUrl}/api/${collection}/internal/${docId}`;
331
+ path = `/api/${collection}/internal/${docId}`;
332
+ }
333
+ else {
334
+ url = `${this.options.backendUrl}/api/${collection}/${docId}`;
335
+ path = `/api/${collection}/${docId}`;
336
+ }
297
337
  }
298
338
  console.log(`[sharedb] Fetching initial data from ${url}`);
339
+ // 生成签名 headers
340
+ const signedHeaders = generateSignedHeaders('GET', path, emitSecret, 'realtime');
299
341
  const res = await fetch(url, {
300
- headers: { [HEADERS.INTERNAL_SECRET]: internalSecret },
342
+ headers: signedHeaders,
301
343
  });
302
344
  console.log(`[sharedb] Backend response: status=${res.status}, ok=${res.ok}`);
303
345
  if (res.ok) {
@@ -307,8 +349,26 @@ export class ShareDBRealtimeServer {
307
349
  console.log(`[sharedb] Backend returned text: ${initial ? initial.substring(0, 100) + '...' : 'empty'}`);
308
350
  }
309
351
  else {
310
- initial = await res.json();
311
- console.log(`[sharedb] Backend returned:`, initial ? `data with keys [${Object.keys(initial).join(', ')}]` : 'null');
352
+ const responseData = await res.json();
353
+ console.log(`[sharedb] Backend returned:`, responseData ? `data with keys [${Object.keys(responseData).join(', ')}]` : 'null');
354
+ // 🔧 assets:剥离 contentHash 后写入 doc;若有 projectId 则按 assetId:contentHash 缓存
355
+ if (collection === 'assets' && responseData && 'contentHash' in responseData) {
356
+ const projectId = this.getProjectIdFromContext();
357
+ initial = projectId
358
+ ? this.cacheAssetData(projectId, docId, responseData)
359
+ : (() => {
360
+ const { contentHash: _h, ...rest } = responseData;
361
+ return rest;
362
+ })();
363
+ }
364
+ else if (collection === 'scenes' && responseData && 'contentHash' in responseData) {
365
+ // 🔧 scenes:Backend 返回 contentHash,仅剥离不写入 doc
366
+ const { contentHash: _h, ...rest } = responseData;
367
+ initial = rest;
368
+ }
369
+ else {
370
+ initial = responseData;
371
+ }
312
372
  }
313
373
  }
314
374
  }
@@ -493,6 +553,8 @@ export class ShareDBRealtimeServer {
493
553
  const collection = msg.c;
494
554
  const ids = msg.b || [];
495
555
  const results = {};
556
+ // 🔧 性能优化:批量订阅保持并发处理,ShareDB 内部会处理
557
+ // 注意:虽然是并发,但后端请求还是会发起多个 HTTP(这是正常的)
496
558
  await Promise.all(ids.map(async (id) => {
497
559
  const doc = await this.ensureDocExists(collection, id, 'bulkSubscribe');
498
560
  if (doc.type)
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/sharedb/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/sharedb/server.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAChD,OAAO,mBAAmB,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAmCnC,MAAM,OAAO,qBAAqB;IACxB,OAAO,CAAM;IACb,GAAG,CAAmB;IACb,OAAO,CAAuB;IAC9B,IAAI,GAAG,CAAC,GAAG,EAAE;QAC5B,4EAA4E;QAC5E,+DAA+D;QAC/D,OAAO,IAAW,CAAC;IACrB,CAAC,CAAC,EAAE,CAAC;IAEL,oCAAoC;IAC5B,UAAU,GAA0C,IAAI,GAAG,EAAE,CAAC;IAC9D,iBAAiB,GAA+B,IAAI,GAAG,EAAE,CAAC;IACjD,YAAY,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ;IACvC,cAAc,GAAG,KAAK,CAAC;IAChC,iBAAiB,GAA0C,IAAI,CAAC;IAExE,YAAY,UAAgC,EAAE;QAC5C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;QAErD,6BAA6B;QAC7B,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAQ,EAAE,EAAE;YACpC,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,MAAmB;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC;QAC9C,IAAI,CAAC,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAEjD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,mBAAmB;QACjB,OAAO,CAAC,GAAyB,EAAE,GAAwB,EAAE,EAAE;YAC/D,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,GAAG,KAAK,UAAU,CAAC,EAAE,CAAC;gBAC9E,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;gBACrB,GAAG,CAAC,GAAG,EAAE,CAAC;gBACV,OAAO;YACT,CAAC;YACD,MAAM,MAAM,GAAG;gBACb,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;gBACxB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,IAAI,CAAC;gBACzC,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE;gBAC7B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;YACF,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;YACrB,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;YAClD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAChC,CAAC,CAAC;IACJ,CAAC;IAED,KAAK;QACH,UAAU;QACV,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACzC,SAAS;QACT,MAAM,UAAU,GAAI,IAAY,CAAC,WAAW,CAAC;QAC7C,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,KAAK,EAAE,CAAC;YAClB,IAAY,CAAC,WAAW,GAAG,IAAI,CAAC;QACnC,CAAC;QACD,mBAAmB;QACnB,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC;QAClB,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;QACrB,WAAW;QACX,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACtC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAChC,CAAC;QACD,qBAAqB;QACrB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED,yBAAyB;IACjB,iBAAiB;QACvB,IAAI,IAAI,CAAC,iBAAiB;YAAE,OAAO;QACnC,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;YACxC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7B,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS;IAC9B,CAAC;IAEO,mBAAmB;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,MAAM,OAAO,GAAqF,EAAE,CAAC;QAErG,KAAK,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACxD,KAAK,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;gBAC7C,IAAI,GAAG,GAAG,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;oBAC/C,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC/B,CAAC;qBAAM,CAAC;oBACN,SAAS,EAAE,CAAC;oBACZ,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;gBACrG,CAAC;YACH,CAAC;YACD,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QAED,IAAI,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;YACnF,MAAM,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC;YAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvD,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBACrB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBACtD,IAAI,YAAY,EAAE,CAAC;oBACjB,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;oBAC/B,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC;wBAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,iBAAiB;QACvB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC;QACpD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,GAAW,EAAE,GAAG,IAAW,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;QAC/F,sCAAsC;QACtC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAQ,EAAE,IAAS,EAAE,EAAE;YAChD,QAAQ,CAAC,sBAAsB,GAAG,CAAC,OAAO,EAAE,CAAC,OAAO,GAAG,CAAC,OAAO,EAAE,CAAC,OAAO,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;YAC3F,IAAI,EAAE,CAAC;QACT,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,GAAQ,EAAE,IAAS,EAAE,EAAE;YAClD,QAAQ,CAAC,wBAAwB,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YACpF,IAAI,EAAE,CAAC;QACT,CAAC,CAAC,CAAC;QAEH,oDAAoD;QACpD,wFAAwF;QACxF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,EAAE,GAAQ,EAAE,IAAS,EAAE,EAAE;YAC9D,OAAO,CAAC,GAAG,CAAC,4DAA4D,GAAG,CAAC,UAAU,eAAe,GAAG,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;YAEnI,IAAI,GAAG,CAAC,UAAU,KAAK,QAAQ,IAAI,GAAG,CAAC,UAAU,KAAK,QAAQ,IAAI,GAAG,CAAC,UAAU,KAAK,WAAW,IAAI,GAAG,CAAC,UAAU,KAAK,UAAU,IAAI,GAAG,CAAC,UAAU,KAAK,WAAW,EAAE,CAAC;gBACpK,OAAO,CAAC,GAAG,CAAC,mDAAmD,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;gBACjF,OAAO,IAAI,EAAE,CAAC;YAChB,CAAC;YAED,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;gBACvC,OAAO,CAAC,GAAG,CAAC,qCAAqC,IAAI,EAAE,EAAE,aAAa,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtF,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI;oBAAE,SAAS;gBACjC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC3B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,EAAE,eAAe,CAAC,CAAC;gBAE5E,2BAA2B;gBAC3B,IAAI,GAAG,CAAC,UAAU,KAAK,WAAW,EAAE,CAAC;oBACnC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,GAAG,IAAI,MAAM,CAAC;gBAC1D,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;gBACtB,CAAC;gBAED,IAAI,GAAG,CAAC,UAAU,KAAK,WAAW,EAAE,CAAC;oBACnC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;gBAC7B,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;gBACvB,CAAC;gBACD,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC;gBACrB,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,UAAU,IAAI,CAAC,IAAI,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAClG,CAAC;YAED,IAAI,EAAE,CAAC;QACT,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,aAAa;QACnB,wDAAwD;QACxD,IAAI,CAAE,IAAY,CAAC,WAAW,EAAE,CAAC;YAC9B,IAAY,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACrD,CAAC;QACD,OAAQ,IAAY,CAAC,WAAW,CAAC;IACnC,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,wBAAwB,CAAC,SAAiB;QACtD,0BAA0B;QAC1B,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9D,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,eAAe,CAAC;QACzB,CAAC;QAED,iBAAiB;QACjB,MAAM,WAAW,GAAG,CAAC,KAAK,IAAI,EAAE;YAC9B,IAAI,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;oBAC7B,OAAO,CAAC,IAAI,CAAC,sEAAsE,SAAS,EAAE,CAAC,CAAC;oBAChG,OAAO;gBACT,CAAC;gBAED,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,2BAA2B,CAAC;gBACzG,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,iBAAiB,SAAS,+BAA+B,CAAC;gBAChG,MAAM,IAAI,GAAG,iBAAiB,SAAS,SAAS,CAAC;gBAEjD,OAAO,CAAC,GAAG,CAAC,iDAAiD,SAAS,SAAS,GAAG,EAAE,CAAC,CAAC;gBACtF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAE7B,eAAe;gBACf,MAAM,aAAa,GAAG,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;gBAEjF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;oBAC3B,OAAO,EAAE,aAAa;iBACvB,CAAC,CAAC;gBAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;oBACZ,OAAO,CAAC,KAAK,CAAC,iDAAiD,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC7E,OAAO;gBACT,CAAC;gBAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,YAAY;gBAEhD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC3B,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;oBAC1D,OAAO;gBACT,CAAC;gBAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,MAAM,YAAY,GAAG,IAAI,GAAG,EAAuB,CAAC;gBACpD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,IAAI,KAAK,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;wBACrB,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;oBACtF,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;gBAE7C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,sBAAsB,MAAM,CAAC,MAAM,uBAAuB,SAAS,OAAO,QAAQ,IAAI,CAAC,CAAC;YACtG,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,qDAAqD,SAAS,GAAG,EAAE,KAAK,CAAC,CAAC;YAC1F,CAAC;oBAAS,CAAC;gBACT,oBAAoB;gBACpB,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QAEL,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACnD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,SAAiB,EAAE,QAAgB;QAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,MAAM,CAAC,WAAW,EAAE,CAAC;QACrB,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,SAAiB,EAAE,OAAe,EAAE,YAAiB;QAC1E,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,GAAG,YAAY,CAAC;QAE9C,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,sCAAsC,OAAO,kBAAkB,CAAC,CAAC;YAC9E,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,OAAO,IAAI,WAAW,EAAE,CAAC;QAE7C,IAAI,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAC/C,CAAC;QAED,kCAAkC;QAClC,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,YAAY,EAAE,CAAC;YACjC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,OAAO,GAAG,CAAC,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACtD,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,gCAAgC,GAAG,EAAE,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAgB;YAC1B,IAAI;YACJ,WAAW;YACX,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,WAAW,EAAE,CAAC;SACf,CAAC;QACF,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,0BAA0B,OAAO,cAAc,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACtF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iDAAiD;IACzC,uBAAuB;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,UAAkB,EAAE,EAAU,EAAE,MAAe;QAC3E,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAExD,8CAA8C;QAC9C,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjB,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC1D,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;aACjG,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,yCAAyC;QAC3C,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,OAAO,GAAQ,IAAI,CAAC;YAExB,+BAA+B;YAC/B,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;gBAC/B,OAAO,GAAG,EAAE,CAAC;YACf,CAAC;YACD,2EAA2E;iBACtE,IAAI,UAAU,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBAC5D,wCAAwC;YAC1C,CAAC;YAED,IAAI,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBAChD,IAAI,CAAC;oBACH,OAAO,CAAC,GAAG,CAAC,uCAAuC,UAAU,IAAI,KAAK,kBAAkB,CAAC,CAAC;oBAC1F,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;oBAC5D,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,OAAO,CAAC,CAAC,CAAC,mBAAmB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC3H,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,CAAC,KAAK,CAAC,oCAAoC,UAAU,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;oBAC7E,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;YACH,CAAC;YACD,IAAI,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBAC/C,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,2BAA2B,CAAC;oBAEzG,qDAAqD;oBACrD,uDAAuD;oBACvD,IAAI,GAAW,CAAC;oBAChB,IAAI,IAAY,CAAC;oBACjB,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;wBAC/B,yBAAyB;wBACzB,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,wBAAwB,KAAK,OAAO,CAAC;wBACrE,IAAI,GAAG,wBAAwB,KAAK,OAAO,CAAC;oBAC9C,CAAC;yBAAM,CAAC;wBACN,8BAA8B;wBAC9B,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;4BACvD,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,QAAQ,UAAU,aAAa,KAAK,EAAE,CAAC;4BACvE,IAAI,GAAG,QAAQ,UAAU,aAAa,KAAK,EAAE,CAAC;wBAChD,CAAC;6BAAM,CAAC;4BACN,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,QAAQ,UAAU,IAAI,KAAK,EAAE,CAAC;4BAC9D,IAAI,GAAG,QAAQ,UAAU,IAAI,KAAK,EAAE,CAAC;wBACvC,CAAC;oBACH,CAAC;oBAED,OAAO,CAAC,GAAG,CAAC,wCAAwC,GAAG,EAAE,CAAC,CAAC;oBAE3D,eAAe;oBACf,MAAM,aAAa,GAAG,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;oBAEjF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;wBAC3B,OAAO,EAAE,aAAa;qBACvB,CAAC,CAAC;oBACH,OAAO,CAAC,GAAG,CAAC,sCAAsC,GAAG,CAAC,MAAM,QAAQ,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC9E,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;wBACX,mCAAmC;wBACnC,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;4BAC/B,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;4BAC3B,OAAO,CAAC,GAAG,CAAC,oCAAoC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;wBAC3G,CAAC;6BAAM,CAAC;4BACN,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;4BACtC,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,YAAY,CAAC,CAAC,CAAC,mBAAmB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;4BAC/H,0EAA0E;4BAC1E,IAAI,UAAU,KAAK,QAAQ,IAAI,YAAY,IAAI,aAAa,IAAI,YAAY,EAAE,CAAC;gCAC7E,MAAM,SAAS,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;gCACjD,OAAO,GAAG,SAAS;oCACjB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,KAAK,EAAE,YAAY,CAAC;oCACrD,CAAC,CAAC,CAAC,GAAG,EAAE;wCACJ,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,YAAY,CAAC;wCAClD,OAAO,IAAI,CAAC;oCACd,CAAC,CAAC,EAAE,CAAC;4BACX,CAAC;iCAAM,IAAI,UAAU,KAAK,QAAQ,IAAI,YAAY,IAAI,aAAa,IAAI,YAAY,EAAE,CAAC;gCACpF,8CAA8C;gCAC9C,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,YAAY,CAAC;gCAClD,OAAO,GAAG,IAAI,CAAC;4BACjB,CAAC;iCAAM,CAAC;gCACN,OAAO,GAAG,YAAY,CAAC;4BACzB,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,CAAC,KAAK,CAAC,sCAAsC,UAAU,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;oBAC/E,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;YACH,CAAC;YAED,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;gBACpB,OAAO,CAAC,IAAI,CAAC,uCAAuC,UAAU,IAAI,KAAK,kBAAkB,CAAC,CAAC;gBAE3F,6CAA6C;gBAC7C,wCAAwC;gBACxC,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;oBAC/B,OAAO,GAAG,EAAE,CAAC,CAAC,eAAe;gBAC/B,CAAC;qBAAM,IAAI,UAAU,KAAK,UAAU,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;oBACnE,yCAAyC;oBACzC,0BAA0B;oBAC1B,OAAO,GAAG,EAAE,CAAC;gBACf,CAAC;qBAAM,CAAC;oBACN,OAAO;wBACL,UAAU,KAAK,QAAQ;4BACrB,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC;4BAClC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;gBAClD,CAAC;YACH,CAAC;YAED,oEAAoE;YACpE,MAAM,OAAO,GAAG,UAAU,KAAK,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;YACnG,OAAO,CAAC,GAAG,CAAC,+BAA+B,UAAU,IAAI,KAAK,cAAc,OAAO,uBAAuB,OAAO,OAAO,YAAY,OAAO,EAAE,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC;YAEhK,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,GAAQ,EAAE,EAAE;oBACxC,gDAAgD;oBAChD,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,yBAAyB,EAAE,CAAC;wBAClD,OAAO,CAAC,GAAG,CAAC,0BAA0B,UAAU,IAAI,KAAK,0DAA0D,CAAC,CAAC;wBACrH,OAAO,EAAE,CAAC;oBACZ,CAAC;yBAAM,IAAI,GAAG,EAAE,CAAC;wBACf,OAAO,CAAC,KAAK,CAAC,uCAAuC,UAAU,IAAI,KAAK,GAAG,EAAE,GAAG,CAAC,CAAC;wBAClF,MAAM,CAAC,GAAG,CAAC,CAAC;oBACd,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,GAAG,CAAC,iCAAiC,UAAU,IAAI,KAAK,UAAU,GAAG,CAAC,IAAI,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;wBACrI,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,2BAA2B,UAAU,IAAI,KAAK,UAAU,GAAG,CAAC,IAAI,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/H,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,gBAAgB,CAAC,EAAa;QACpC,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,kBAAkB,GAAG,KAAK,CAAC;QAC/B,IAAI,cAAc,GAA+C,IAAI,CAAC;QAEtE,MAAM,gBAAgB,GAAG,CAAC,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAExF,0CAA0C;QAC1C,MAAM,YAAY,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtC,mEAAmE;QACnE,gCAAgC;QAC/B,EAAU,CAAC,IAAI,GAAG,CAAC,IAAS,EAAE,iBAAuB,EAAE,QAAc,EAAE,EAAE;YACxE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAC7B,wBAAwB;YACxB,OAAO,CAAC,GAAG,CAAC,2CAA2C,OAAO,CAAC,MAAM,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YAE3G,8BAA8B;YAC9B,MAAM,EAAE,GAAG,OAAO,iBAAiB,KAAK,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC;YAClF,MAAM,IAAI,GAAG,OAAO,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;YAEnF,wDAAwD;YACxD,yEAAyE;YACzE,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAChC,IAAI,GAAG,EAAE,CAAC,KAAK,MAAM,EAAE,CAAC;oBACtB,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;oBACb,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC;oBACjB,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC;oBACtB,IAAI,IAAI,EAAE,CAAC;wBACT,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;oBAC9C,CAAC;yBAAM,IAAI,EAAE,EAAE,CAAC;wBACd,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;oBACxC,CAAC;yBAAM,CAAC;wBACN,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;oBACpC,CAAC;oBACD,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;oBACrD,OAAO;gBACT,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,2BAA2B;YAC7B,CAAC;YACD,IAAI,IAAI,EAAE,CAAC;gBACT,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YAC/B,CAAC;iBAAM,IAAI,EAAE,EAAE,CAAC;gBACd,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG;YACjB,yCAAyC;YACzC,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YAC1C,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,IAAI,EAAE,EAAE,CAAC,IAAI,EAAG,iBAAiB;YACjC,KAAK,EAAE,CAAC,IAAa,EAAE,MAAe,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC;YACjE,gBAAgB,EAAE,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBAC7C,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;oBACrB,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;oBACnD,cAAc,GAAG,OAAO,CAAC;gBAC3B,CAAC;YACH,CAAC;YACD,mBAAmB,EAAE,GAAG,EAAE,GAAE,CAAC;SAC9B,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,UAAiB,CAAC,CAAC;QAE1D,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC7B,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;YAE5B,4DAA4D;YAC5D,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnD,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC5B,IAAI,CAAC,GAAQ,EAAE,CAAC;oBAChB,IAAI,CAAC;wBACH,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;oBACxC,CAAC;oBAAC,MAAM,CAAC;wBACP,CAAC,GAAG,EAAE,CAAC;oBACT,CAAC;oBAED,MAAM,WAAW,GAAG,CAAC,EAAE,WAAW,CAAC;oBACnC,MAAM,KAAK,GAAG,YAAY,CAAC,uBAAuB,EAAE,CAAC;oBACrD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACjF,MAAM,aAAa,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAE9E,IAAI,aAAa,IAAI,CAAC,kBAAkB,EAAE,CAAC;wBACzC,MAAM,GAAG,IAAI,CAAC;wBACd,kBAAkB,GAAG,IAAI,CAAC;wBAE1B,MAAM,aAAa,GAAI,aAAqB,EAAE,EAAE,IAAI,CAAC,CAAC;wBACtD,MAAM,WAAW,GAAG;4BAClB,IAAI,EAAE;gCACJ,EAAE,EAAE,aAAa;gCACjB,QAAQ,EAAG,aAAqB,EAAE,QAAQ,IAAI,OAAO;gCACrD,IAAI,EAAE,KAAK;6BACZ;4BACD,OAAO,EAAE;gCACP,WAAW,EAAE;oCACX,IAAI,EAAE,CAAC,aAAa,CAAC;oCACrB,KAAK,EAAE,CAAC,aAAa,CAAC;oCACtB,KAAK,EAAE,CAAC,aAAa,CAAC;iCACvB;6BACF;4BACD,QAAQ,EAAE,KAAK;yBAChB,CAAC;wBAEF,EAAE,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;wBAC9C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC9B,CAAC;yBAAM,IAAI,CAAC,aAAa,EAAE,CAAC;wBAC1B,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;oBAClC,CAAC;oBAED,OAAO;gBACT,CAAC;gBAED,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;oBACjC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;wBACvB,iCAAiC;wBACjC,IAAI,CAAC,KAAK,WAAW,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;4BAClC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;gCACtC,IAAI,MAAM,KAAK,EAAE,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI;oCAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BAC/E,CAAC;wBACH,CAAC;wBACD,OAAO;oBACT,CAAC;gBACH,CAAC;gBAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;oBACpB,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAChB,OAAO;gBACT,CAAC;gBACD,OAAO;YACT,CAAC;YAED,0DAA0D;YAC1D,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAE7B,IAAI,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;oBACpB,MAAM,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM,GAAG,GAAa,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;oBAClC,MAAM,OAAO,GAAwB,EAAE,CAAC;oBAExC,mCAAmC;oBACnC,oCAAoC;oBACpC,MAAM,OAAO,CAAC,GAAG,CACf,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAU,EAAE,EAAE;wBAC3B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,EAAE,EAAE,eAAe,CAAC,CAAC;wBACxE,IAAI,GAAG,CAAC,IAAI;4BAAE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;oBACjE,CAAC,CAAC,CACH,CAAC;oBACF,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;oBACnE,OAAO;gBACT,CAAC;gBAED,IAAI,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;oBACpB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;oBACrC,OAAO;gBACT,CAAC;gBAED,sDAAsD;gBACtD,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,QAAQ,IAAI,GAAG,EAAE,CAAC,KAAK,QAAQ,IAAI,GAAG,EAAE,CAAC,KAAK,WAAW,IAAI,GAAG,EAAE,CAAC,KAAK,UAAU,IAAI,GAAG,EAAE,CAAC,KAAK,WAAW,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;oBACtL,OAAO,CAAC,GAAG,CAAC,kCAAkC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;oBAClF,IAAI,CAAC;wBACH,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC1D,CAAC;oBAAC,MAAM,CAAC;wBACP,SAAS;oBACX,CAAC;gBACH,CAAC;gBAED,eAAe;gBACf,OAAO,CAAC,GAAG,CAAC,iCAAiC,GAAG,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,YAAY,MAAM,uBAAuB,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC;gBAE1I,IAAI,cAAc,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC;oBAClD,OAAO,CAAC,GAAG,CAAC,4CAA4C,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;oBAC/F,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBACjC,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,+CAA+C,MAAM,uBAAuB,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC;gBAC9G,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,sBAAsB;YACxB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAClB,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,EAAE,CAAC;YACf,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}