notebooklm-mcp-ultimate 2.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +420 -0
- package/dist/api/batch-execute-client.d.ts +232 -0
- package/dist/api/batch-execute-client.d.ts.map +1 -0
- package/dist/api/batch-execute-client.js +672 -0
- package/dist/api/batch-execute-client.js.map +1 -0
- package/dist/api/content-types.d.ts +44 -0
- package/dist/api/content-types.d.ts.map +1 -0
- package/dist/api/content-types.js +89 -0
- package/dist/api/content-types.js.map +1 -0
- package/dist/api/csrf-manager.d.ts +94 -0
- package/dist/api/csrf-manager.d.ts.map +1 -0
- package/dist/api/csrf-manager.js +178 -0
- package/dist/api/csrf-manager.js.map +1 -0
- package/dist/api/index.d.ts +27 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +56 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/operation-poller.d.ts +67 -0
- package/dist/api/operation-poller.d.ts.map +1 -0
- package/dist/api/operation-poller.js +132 -0
- package/dist/api/operation-poller.js.map +1 -0
- package/dist/api/request-builder.d.ts +196 -0
- package/dist/api/request-builder.d.ts.map +1 -0
- package/dist/api/request-builder.js +371 -0
- package/dist/api/request-builder.js.map +1 -0
- package/dist/api/response-parser.d.ts +124 -0
- package/dist/api/response-parser.d.ts.map +1 -0
- package/dist/api/response-parser.js +595 -0
- package/dist/api/response-parser.js.map +1 -0
- package/dist/api/rpc-ids.d.ts +92 -0
- package/dist/api/rpc-ids.d.ts.map +1 -0
- package/dist/api/rpc-ids.js +138 -0
- package/dist/api/rpc-ids.js.map +1 -0
- package/dist/api/streaming-chat-client.d.ts +50 -0
- package/dist/api/streaming-chat-client.d.ts.map +1 -0
- package/dist/api/streaming-chat-client.js +198 -0
- package/dist/api/streaming-chat-client.js.map +1 -0
- package/dist/api/types.d.ts +318 -0
- package/dist/api/types.d.ts.map +1 -0
- package/dist/api/types.js +22 -0
- package/dist/api/types.js.map +1 -0
- package/dist/auth/auth-manager.d.ts +163 -0
- package/dist/auth/auth-manager.d.ts.map +1 -0
- package/dist/auth/auth-manager.js +1055 -0
- package/dist/auth/auth-manager.js.map +1 -0
- package/dist/auth/cookie-store.d.ts +121 -0
- package/dist/auth/cookie-store.d.ts.map +1 -0
- package/dist/auth/cookie-store.js +283 -0
- package/dist/auth/cookie-store.js.map +1 -0
- package/dist/config.d.ts +89 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +217 -0
- package/dist/config.js.map +1 -0
- package/dist/errors.d.ts +26 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +41 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +32 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +439 -0
- package/dist/index.js.map +1 -0
- package/dist/library/notebook-library.d.ts +79 -0
- package/dist/library/notebook-library.d.ts.map +1 -0
- package/dist/library/notebook-library.js +296 -0
- package/dist/library/notebook-library.js.map +1 -0
- package/dist/library/types.d.ts +67 -0
- package/dist/library/types.d.ts.map +1 -0
- package/dist/library/types.js +8 -0
- package/dist/library/types.js.map +1 -0
- package/dist/operations/content-operations.d.ts +78 -0
- package/dist/operations/content-operations.d.ts.map +1 -0
- package/dist/operations/content-operations.js +162 -0
- package/dist/operations/content-operations.js.map +1 -0
- package/dist/operations/hybrid-executor.d.ts +47 -0
- package/dist/operations/hybrid-executor.d.ts.map +1 -0
- package/dist/operations/hybrid-executor.js +114 -0
- package/dist/operations/hybrid-executor.js.map +1 -0
- package/dist/operations/notebook-crud-operations.d.ts +52 -0
- package/dist/operations/notebook-crud-operations.d.ts.map +1 -0
- package/dist/operations/notebook-crud-operations.js +248 -0
- package/dist/operations/notebook-crud-operations.js.map +1 -0
- package/dist/operations/research-operations.d.ts +42 -0
- package/dist/operations/research-operations.d.ts.map +1 -0
- package/dist/operations/research-operations.js +189 -0
- package/dist/operations/research-operations.js.map +1 -0
- package/dist/operations/source-operations.d.ts +59 -0
- package/dist/operations/source-operations.d.ts.map +1 -0
- package/dist/operations/source-operations.js +280 -0
- package/dist/operations/source-operations.js.map +1 -0
- package/dist/operations/studio-operations.d.ts +98 -0
- package/dist/operations/studio-operations.d.ts.map +1 -0
- package/dist/operations/studio-operations.js +309 -0
- package/dist/operations/studio-operations.js.map +1 -0
- package/dist/resources/resource-handlers.d.ts +22 -0
- package/dist/resources/resource-handlers.d.ts.map +1 -0
- package/dist/resources/resource-handlers.js +216 -0
- package/dist/resources/resource-handlers.js.map +1 -0
- package/dist/session/browser-session.d.ts +113 -0
- package/dist/session/browser-session.d.ts.map +1 -0
- package/dist/session/browser-session.js +670 -0
- package/dist/session/browser-session.js.map +1 -0
- package/dist/session/session-manager.d.ts +88 -0
- package/dist/session/session-manager.d.ts.map +1 -0
- package/dist/session/session-manager.js +314 -0
- package/dist/session/session-manager.js.map +1 -0
- package/dist/session/shared-context-manager.d.ts +107 -0
- package/dist/session/shared-context-manager.d.ts.map +1 -0
- package/dist/session/shared-context-manager.js +447 -0
- package/dist/session/shared-context-manager.js.map +1 -0
- package/dist/tools/definitions/ask-question.d.ts +8 -0
- package/dist/tools/definitions/ask-question.d.ts.map +1 -0
- package/dist/tools/definitions/ask-question.js +213 -0
- package/dist/tools/definitions/ask-question.js.map +1 -0
- package/dist/tools/definitions/content-generation.d.ts +52 -0
- package/dist/tools/definitions/content-generation.d.ts.map +1 -0
- package/dist/tools/definitions/content-generation.js +236 -0
- package/dist/tools/definitions/content-generation.js.map +1 -0
- package/dist/tools/definitions/notebook-crud.d.ts +9 -0
- package/dist/tools/definitions/notebook-crud.d.ts.map +1 -0
- package/dist/tools/definitions/notebook-crud.js +156 -0
- package/dist/tools/definitions/notebook-crud.js.map +1 -0
- package/dist/tools/definitions/notebook-management.d.ts +3 -0
- package/dist/tools/definitions/notebook-management.d.ts.map +1 -0
- package/dist/tools/definitions/notebook-management.js +243 -0
- package/dist/tools/definitions/notebook-management.js.map +1 -0
- package/dist/tools/definitions/research.d.ts +23 -0
- package/dist/tools/definitions/research.d.ts.map +1 -0
- package/dist/tools/definitions/research.js +108 -0
- package/dist/tools/definitions/research.js.map +1 -0
- package/dist/tools/definitions/session-management.d.ts +3 -0
- package/dist/tools/definitions/session-management.d.ts.map +1 -0
- package/dist/tools/definitions/session-management.js +41 -0
- package/dist/tools/definitions/session-management.js.map +1 -0
- package/dist/tools/definitions/source-management.d.ts +39 -0
- package/dist/tools/definitions/source-management.d.ts.map +1 -0
- package/dist/tools/definitions/source-management.js +224 -0
- package/dist/tools/definitions/source-management.js.map +1 -0
- package/dist/tools/definitions/studio.d.ts +36 -0
- package/dist/tools/definitions/studio.d.ts.map +1 -0
- package/dist/tools/definitions/studio.js +153 -0
- package/dist/tools/definitions/studio.js.map +1 -0
- package/dist/tools/definitions/system.d.ts +3 -0
- package/dist/tools/definitions/system.d.ts.map +1 -0
- package/dist/tools/definitions/system.js +143 -0
- package/dist/tools/definitions/system.js.map +1 -0
- package/dist/tools/definitions.d.ts +12 -0
- package/dist/tools/definitions.d.ts.map +1 -0
- package/dist/tools/definitions.js +36 -0
- package/dist/tools/definitions.js.map +1 -0
- package/dist/tools/handlers/content-handlers.d.ts +287 -0
- package/dist/tools/handlers/content-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/content-handlers.js +244 -0
- package/dist/tools/handlers/content-handlers.js.map +1 -0
- package/dist/tools/handlers/notebook-crud-handlers.d.ts +69 -0
- package/dist/tools/handlers/notebook-crud-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/notebook-crud-handlers.js +117 -0
- package/dist/tools/handlers/notebook-crud-handlers.js.map +1 -0
- package/dist/tools/handlers/research-handlers.d.ts +37 -0
- package/dist/tools/handlers/research-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/research-handlers.js +87 -0
- package/dist/tools/handlers/research-handlers.js.map +1 -0
- package/dist/tools/handlers/source-handlers.d.ts +52 -0
- package/dist/tools/handlers/source-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/source-handlers.js +177 -0
- package/dist/tools/handlers/source-handlers.js.map +1 -0
- package/dist/tools/handlers/studio-handlers.d.ts +125 -0
- package/dist/tools/handlers/studio-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/studio-handlers.js +183 -0
- package/dist/tools/handlers/studio-handlers.js.map +1 -0
- package/dist/tools/handlers.d.ts +629 -0
- package/dist/tools/handlers.d.ts.map +1 -0
- package/dist/tools/handlers.js +833 -0
- package/dist/tools/handlers.js.map +1 -0
- package/dist/tools/index.d.ts +8 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +8 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/types.d.ts +82 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +5 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/cleanup-manager.d.ts +133 -0
- package/dist/utils/cleanup-manager.d.ts.map +1 -0
- package/dist/utils/cleanup-manager.js +673 -0
- package/dist/utils/cleanup-manager.js.map +1 -0
- package/dist/utils/cli-handler.d.ts +16 -0
- package/dist/utils/cli-handler.d.ts.map +1 -0
- package/dist/utils/cli-handler.js +102 -0
- package/dist/utils/cli-handler.js.map +1 -0
- package/dist/utils/logger.d.ts +61 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +92 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/page-utils.d.ts +54 -0
- package/dist/utils/page-utils.d.ts.map +1 -0
- package/dist/utils/page-utils.js +405 -0
- package/dist/utils/page-utils.js.map +1 -0
- package/dist/utils/settings-manager.d.ts +37 -0
- package/dist/utils/settings-manager.d.ts.map +1 -0
- package/dist/utils/settings-manager.js +120 -0
- package/dist/utils/settings-manager.js.map +1 -0
- package/dist/utils/stealth-utils.d.ts +135 -0
- package/dist/utils/stealth-utils.d.ts.map +1 -0
- package/dist/utils/stealth-utils.js +398 -0
- package/dist/utils/stealth-utils.js.map +1 -0
- package/package.json +63 -0
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Audio Studio Tool Handlers
|
|
3
|
+
*
|
|
4
|
+
* Implements the handler logic for audio studio tools.
|
|
5
|
+
*/
|
|
6
|
+
import { getAudioStatus, createAudio, updateAudio, deleteAudio, getAudioDownloadURL, } from '../../operations/studio-operations.js';
|
|
7
|
+
import { log } from '../../utils/logger.js';
|
|
8
|
+
/**
|
|
9
|
+
* Create studio handlers with dependencies
|
|
10
|
+
*/
|
|
11
|
+
export function createStudioHandlers(deps) {
|
|
12
|
+
const { library } = deps;
|
|
13
|
+
/**
|
|
14
|
+
* Get notebook ID, using active notebook if not specified
|
|
15
|
+
*/
|
|
16
|
+
async function resolveNotebookId(notebookId) {
|
|
17
|
+
if (notebookId) {
|
|
18
|
+
return notebookId;
|
|
19
|
+
}
|
|
20
|
+
const activeNotebook = library.getActiveNotebook();
|
|
21
|
+
if (!activeNotebook) {
|
|
22
|
+
log.warning('⚠️ No notebook specified and no active notebook selected');
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
return activeNotebook.id;
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
/**
|
|
29
|
+
* Handle get_audio_status tool call
|
|
30
|
+
*/
|
|
31
|
+
async handleGetAudioStatus(args, sendProgress) {
|
|
32
|
+
await sendProgress?.('Resolving notebook...', 1, 3);
|
|
33
|
+
const notebookId = await resolveNotebookId(args.notebook_id);
|
|
34
|
+
if (!notebookId) {
|
|
35
|
+
return {
|
|
36
|
+
success: false,
|
|
37
|
+
error: 'No notebook specified. Use notebook_id parameter or select a notebook first.',
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
await sendProgress?.('Checking audio status...', 2, 3);
|
|
41
|
+
const result = await getAudioStatus(notebookId);
|
|
42
|
+
await sendProgress?.('Done!', 3, 3);
|
|
43
|
+
if (!result.success) {
|
|
44
|
+
return {
|
|
45
|
+
success: false,
|
|
46
|
+
error: result.error || 'Failed to get audio status',
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
return {
|
|
50
|
+
success: true,
|
|
51
|
+
status: result.status,
|
|
52
|
+
audio_url: result.audioUrl,
|
|
53
|
+
duration_seconds: result.durationSeconds,
|
|
54
|
+
transcript: result.transcript,
|
|
55
|
+
progress: result.progress,
|
|
56
|
+
notebook_id: notebookId,
|
|
57
|
+
};
|
|
58
|
+
},
|
|
59
|
+
/**
|
|
60
|
+
* Handle create_audio tool call
|
|
61
|
+
*/
|
|
62
|
+
async handleCreateAudio(args, sendProgress) {
|
|
63
|
+
await sendProgress?.('Resolving notebook...', 1, 4);
|
|
64
|
+
const notebookId = await resolveNotebookId(args.notebook_id);
|
|
65
|
+
if (!notebookId) {
|
|
66
|
+
return {
|
|
67
|
+
success: false,
|
|
68
|
+
error: 'No notebook specified. Use notebook_id parameter or select a notebook first.',
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
await sendProgress?.('Creating audio overview...', 2, 4);
|
|
72
|
+
const result = await createAudio({
|
|
73
|
+
notebookId,
|
|
74
|
+
customInstructions: args.custom_instructions,
|
|
75
|
+
focusTopics: args.focus_topics,
|
|
76
|
+
targetAudience: args.target_audience,
|
|
77
|
+
});
|
|
78
|
+
await sendProgress?.('Audio generation started!', 4, 4);
|
|
79
|
+
if (!result.success) {
|
|
80
|
+
return {
|
|
81
|
+
success: false,
|
|
82
|
+
error: result.error || 'Failed to create audio',
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
return {
|
|
86
|
+
success: true,
|
|
87
|
+
status: result.status,
|
|
88
|
+
notebook_id: notebookId,
|
|
89
|
+
message: 'Audio generation started. Use get_audio_status to check progress.',
|
|
90
|
+
};
|
|
91
|
+
},
|
|
92
|
+
/**
|
|
93
|
+
* Handle update_audio tool call
|
|
94
|
+
*/
|
|
95
|
+
async handleUpdateAudio(args, sendProgress) {
|
|
96
|
+
await sendProgress?.('Resolving notebook...', 1, 4);
|
|
97
|
+
const notebookId = await resolveNotebookId(args.notebook_id);
|
|
98
|
+
if (!notebookId) {
|
|
99
|
+
return {
|
|
100
|
+
success: false,
|
|
101
|
+
error: 'No notebook specified. Use notebook_id parameter or select a notebook first.',
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
await sendProgress?.('Updating audio overview...', 2, 4);
|
|
105
|
+
const result = await updateAudio({
|
|
106
|
+
notebookId,
|
|
107
|
+
customInstructions: args.custom_instructions,
|
|
108
|
+
focusTopics: args.focus_topics,
|
|
109
|
+
targetAudience: args.target_audience,
|
|
110
|
+
});
|
|
111
|
+
await sendProgress?.('Audio update started!', 4, 4);
|
|
112
|
+
if (!result.success) {
|
|
113
|
+
return {
|
|
114
|
+
success: false,
|
|
115
|
+
error: result.error || 'Failed to update audio',
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
return {
|
|
119
|
+
success: true,
|
|
120
|
+
status: result.status,
|
|
121
|
+
notebook_id: notebookId,
|
|
122
|
+
message: 'Audio regeneration started. Use get_audio_status to check progress.',
|
|
123
|
+
};
|
|
124
|
+
},
|
|
125
|
+
/**
|
|
126
|
+
* Handle delete_audio tool call
|
|
127
|
+
*/
|
|
128
|
+
async handleDeleteAudio(args, sendProgress) {
|
|
129
|
+
await sendProgress?.('Resolving notebook...', 1, 3);
|
|
130
|
+
const notebookId = await resolveNotebookId(args.notebook_id);
|
|
131
|
+
if (!notebookId) {
|
|
132
|
+
return {
|
|
133
|
+
success: false,
|
|
134
|
+
error: 'No notebook specified. Use notebook_id parameter or select a notebook first.',
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
await sendProgress?.('Deleting audio...', 2, 3);
|
|
138
|
+
const result = await deleteAudio(notebookId);
|
|
139
|
+
await sendProgress?.('Done!', 3, 3);
|
|
140
|
+
if (!result.success) {
|
|
141
|
+
return {
|
|
142
|
+
success: false,
|
|
143
|
+
error: result.error || 'Failed to delete audio',
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
return {
|
|
147
|
+
success: true,
|
|
148
|
+
status: result.status,
|
|
149
|
+
notebook_id: notebookId,
|
|
150
|
+
message: 'Audio overview deleted successfully.',
|
|
151
|
+
};
|
|
152
|
+
},
|
|
153
|
+
/**
|
|
154
|
+
* Handle download_audio tool call
|
|
155
|
+
*/
|
|
156
|
+
async handleDownloadAudio(args, sendProgress) {
|
|
157
|
+
await sendProgress?.('Resolving notebook...', 1, 4);
|
|
158
|
+
const notebookId = await resolveNotebookId(args.notebook_id);
|
|
159
|
+
if (!notebookId) {
|
|
160
|
+
return {
|
|
161
|
+
success: false,
|
|
162
|
+
error: 'No notebook specified. Use notebook_id parameter or select a notebook first.',
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
await sendProgress?.('Getting download URL...', 2, 4);
|
|
166
|
+
const result = await getAudioDownloadURL(notebookId);
|
|
167
|
+
await sendProgress?.('Done!', 4, 4);
|
|
168
|
+
if (!result.success) {
|
|
169
|
+
return {
|
|
170
|
+
success: false,
|
|
171
|
+
error: result.error || 'Failed to get download URL',
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
return {
|
|
175
|
+
success: true,
|
|
176
|
+
download_url: result.url,
|
|
177
|
+
notebook_id: notebookId,
|
|
178
|
+
message: 'Audio download URL retrieved. The URL may be temporary.',
|
|
179
|
+
};
|
|
180
|
+
},
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
//# sourceMappingURL=studio-handlers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"studio-handlers.js","sourceRoot":"","sources":["../../../src/tools/handlers/studio-handlers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EACH,cAAc,EACd,WAAW,EACX,WAAW,EACX,WAAW,EACX,mBAAmB,GACtB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAS5C;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAA+B;IAChE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAEzB;;OAEG;IACH,KAAK,UAAU,iBAAiB,CAAC,UAAmB;QAChD,IAAI,UAAU,EAAE,CAAC;YACb,OAAO,UAAU,CAAC;QACtB,CAAC;QAED,MAAM,cAAc,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;QACnD,IAAI,CAAC,cAAc,EAAE,CAAC;YAClB,GAAG,CAAC,OAAO,CAAC,2DAA2D,CAAC,CAAC;YACzE,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,cAAc,CAAC,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO;QACH;;WAEG;QACH,KAAK,CAAC,oBAAoB,CACtB,IAA8B,EAC9B,YAA+B;YAE/B,MAAM,YAAY,EAAE,CAAC,uBAAuB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAEpD,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC7D,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,8EAA8E;iBACxF,CAAC;YACN,CAAC;YAED,MAAM,YAAY,EAAE,CAAC,0BAA0B,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAEvD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,CAAC;YAEhD,MAAM,YAAY,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAEpC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,4BAA4B;iBACtD,CAAC;YACN,CAAC;YAED,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,SAAS,EAAE,MAAM,CAAC,QAAQ;gBAC1B,gBAAgB,EAAE,MAAM,CAAC,eAAe;gBACxC,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,WAAW,EAAE,UAAU;aAC1B,CAAC;QACN,CAAC;QAED;;WAEG;QACH,KAAK,CAAC,iBAAiB,CACnB,IAKC,EACD,YAA+B;YAE/B,MAAM,YAAY,EAAE,CAAC,uBAAuB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAEpD,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC7D,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,8EAA8E;iBACxF,CAAC;YACN,CAAC;YAED,MAAM,YAAY,EAAE,CAAC,4BAA4B,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAEzD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;gBAC7B,UAAU;gBACV,kBAAkB,EAAE,IAAI,CAAC,mBAAmB;gBAC5C,WAAW,EAAE,IAAI,CAAC,YAAY;gBAC9B,cAAc,EAAE,IAAI,CAAC,eAAe;aACvC,CAAC,CAAC;YAEH,MAAM,YAAY,EAAE,CAAC,2BAA2B,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAExD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,wBAAwB;iBAClD,CAAC;YACN,CAAC;YAED,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,WAAW,EAAE,UAAU;gBACvB,OAAO,EAAE,mEAAmE;aAC/E,CAAC;QACN,CAAC;QAED;;WAEG;QACH,KAAK,CAAC,iBAAiB,CACnB,IAKC,EACD,YAA+B;YAE/B,MAAM,YAAY,EAAE,CAAC,uBAAuB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAEpD,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC7D,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,8EAA8E;iBACxF,CAAC;YACN,CAAC;YAED,MAAM,YAAY,EAAE,CAAC,4BAA4B,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAEzD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;gBAC7B,UAAU;gBACV,kBAAkB,EAAE,IAAI,CAAC,mBAAmB;gBAC5C,WAAW,EAAE,IAAI,CAAC,YAAY;gBAC9B,cAAc,EAAE,IAAI,CAAC,eAAe;aACvC,CAAC,CAAC;YAEH,MAAM,YAAY,EAAE,CAAC,uBAAuB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAEpD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,wBAAwB;iBAClD,CAAC;YACN,CAAC;YAED,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,WAAW,EAAE,UAAU;gBACvB,OAAO,EAAE,qEAAqE;aACjF,CAAC;QACN,CAAC;QAED;;WAEG;QACH,KAAK,CAAC,iBAAiB,CACnB,IAA8B,EAC9B,YAA+B;YAE/B,MAAM,YAAY,EAAE,CAAC,uBAAuB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAEpD,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC7D,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,8EAA8E;iBACxF,CAAC;YACN,CAAC;YAED,MAAM,YAAY,EAAE,CAAC,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAEhD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,CAAC;YAE7C,MAAM,YAAY,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAEpC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,wBAAwB;iBAClD,CAAC;YACN,CAAC;YAED,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,WAAW,EAAE,UAAU;gBACvB,OAAO,EAAE,sCAAsC;aAClD,CAAC;QACN,CAAC;QAED;;WAEG;QACH,KAAK,CAAC,mBAAmB,CACrB,IAA8B,EAC9B,YAA+B;YAE/B,MAAM,YAAY,EAAE,CAAC,uBAAuB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAEpD,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC7D,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,8EAA8E;iBACxF,CAAC;YACN,CAAC;YAED,MAAM,YAAY,EAAE,CAAC,yBAAyB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAEtD,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAC;YAErD,MAAM,YAAY,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAEpC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,4BAA4B;iBACtD,CAAC;YACN,CAAC;YAED,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,MAAM,CAAC,GAAG;gBACxB,WAAW,EAAE,UAAU;gBACvB,OAAO,EAAE,yDAAyD;aACrE,CAAC;QACN,CAAC;KACJ,CAAC;AACN,CAAC"}
|