@todesktop/plugin-recall 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/preload.js CHANGED
@@ -8,211 +8,227 @@ var electron = require('electron');
8
8
  // IPC channel names - use unique namespace to avoid conflicts
9
9
  const IPC_CHANNELS = {
10
10
  // SDK lifecycle
11
- INIT_SDK: 'recall-desktop:init-sdk',
12
- SHUTDOWN_SDK: 'recall-desktop:shutdown-sdk',
13
- GET_STATUS: 'recall-desktop:get-status',
11
+ INIT_SDK: "recall-desktop:init-sdk",
12
+ SHUTDOWN_SDK: "recall-desktop:shutdown-sdk",
13
+ GET_STATUS: "recall-desktop:get-status",
14
14
  // Recording management
15
- START_RECORDING: 'recall-desktop:start-recording',
16
- STOP_RECORDING: 'recall-desktop:stop-recording',
17
- PAUSE_RECORDING: 'recall-desktop:pause-recording',
18
- RESUME_RECORDING: 'recall-desktop:resume-recording',
19
- UPLOAD_RECORDING: 'recall-desktop:upload-recording',
15
+ START_RECORDING: "recall-desktop:start-recording",
16
+ STOP_RECORDING: "recall-desktop:stop-recording",
17
+ PAUSE_RECORDING: "recall-desktop:pause-recording",
18
+ RESUME_RECORDING: "recall-desktop:resume-recording",
19
+ UPLOAD_RECORDING: "recall-desktop:upload-recording",
20
20
  // Desktop audio recording
21
- PREPARE_DESKTOP_AUDIO: 'recall-desktop:prepare-desktop-audio',
21
+ PREPARE_DESKTOP_AUDIO: "recall-desktop:prepare-desktop-audio",
22
22
  // Permission management
23
- REQUEST_PERMISSION: 'recall-desktop:request-permission',
23
+ REQUEST_PERMISSION: "recall-desktop:request-permission",
24
24
  // Configuration
25
- SET_CONFIG: 'recall-desktop:set-config',
26
- GET_CONFIG: 'recall-desktop:get-config',
25
+ SET_CONFIG: "recall-desktop:set-config",
26
+ GET_CONFIG: "recall-desktop:get-config",
27
27
  // Event subscription
28
- SUBSCRIBE_EVENTS: 'recall-desktop:subscribe-events',
29
- UNSUBSCRIBE_EVENTS: 'recall-desktop:unsubscribe-events',
28
+ SUBSCRIBE_EVENTS: "recall-desktop:subscribe-events",
29
+ UNSUBSCRIBE_EVENTS: "recall-desktop:unsubscribe-events",
30
30
  };
31
31
 
32
32
  /**
33
33
  * ToDesktop Recall Desktop SDK Plugin - Preload Script
34
34
  *
35
- * This file runs in the renderer process with Node.js access and exposes
36
- * safe APIs to the web application through the contextBridge.
37
- */
38
- /**
39
- * Recall Desktop SDK API exposed to the renderer process
40
- */
41
- const recallDesktopApi = {
42
- /**
43
- * Initialize the Recall SDK
44
- * @returns Promise resolving to initialization result
45
- */
46
- async initSdk() {
47
- return electron.ipcRenderer.invoke(IPC_CHANNELS.INIT_SDK);
48
- },
49
- /**
50
- * Shutdown the Recall SDK
51
- * @returns Promise resolving to shutdown result
52
- */
53
- async shutdownSdk() {
54
- return electron.ipcRenderer.invoke(IPC_CHANNELS.SHUTDOWN_SDK);
55
- },
56
- /**
57
- * Get current plugin and SDK status
58
- * @returns Promise resolving to plugin status
59
- */
60
- async getStatus() {
61
- return electron.ipcRenderer.invoke(IPC_CHANNELS.GET_STATUS);
62
- },
63
- /**
64
- * Start recording a meeting
65
- * @param windowId The meeting window ID
66
- * @param uploadToken Upload token from your backend
67
- * @returns Promise resolving to recording start result
68
- */
69
- async startRecording(windowId, uploadToken) {
70
- const request = { windowId, uploadToken };
71
- return electron.ipcRenderer.invoke(IPC_CHANNELS.START_RECORDING, request);
72
- },
73
- /**
74
- * Stop recording a meeting
75
- * @param windowId The meeting window ID
76
- * @returns Promise resolving to recording stop result
77
- */
78
- async stopRecording(windowId) {
79
- const request = { windowId };
80
- return electron.ipcRenderer.invoke(IPC_CHANNELS.STOP_RECORDING, request);
81
- },
82
- /**
83
- * Pause recording a meeting
84
- * @param windowId The meeting window ID
85
- * @returns Promise resolving to recording pause result
86
- */
87
- async pauseRecording(windowId) {
88
- const request = { windowId };
89
- return electron.ipcRenderer.invoke(IPC_CHANNELS.PAUSE_RECORDING, request);
90
- },
91
- /**
92
- * Resume recording a meeting
93
- * @param windowId The meeting window ID
94
- * @returns Promise resolving to recording resume result
95
- */
96
- async resumeRecording(windowId) {
97
- const request = { windowId };
98
- return electron.ipcRenderer.invoke(IPC_CHANNELS.RESUME_RECORDING, request);
99
- },
100
- /**
101
- * Upload a completed recording
102
- * @param windowId The meeting window ID
103
- * @returns Promise resolving to upload start result
104
- */
105
- async uploadRecording(windowId) {
106
- const request = { windowId };
107
- return electron.ipcRenderer.invoke(IPC_CHANNELS.UPLOAD_RECORDING, request);
108
- },
109
- /**
110
- * Prepare desktop audio recording for non-meeting audio capture
111
- * @returns Promise resolving to desktop audio preparation result
112
- */
113
- async prepareDesktopAudioRecording() {
114
- return electron.ipcRenderer.invoke(IPC_CHANNELS.PREPARE_DESKTOP_AUDIO);
115
- },
116
- /**
117
- * Request a specific permission from the user
118
- * @param permission The permission to request
119
- * @returns Promise resolving to permission request result
120
- */
121
- async requestPermission(permission) {
122
- return electron.ipcRenderer.invoke(IPC_CHANNELS.REQUEST_PERMISSION, permission);
123
- },
124
- /**
125
- * Update plugin configuration
126
- * @param config Configuration updates
127
- * @returns Promise resolving to update result
128
- */
129
- async setConfig(config) {
130
- return electron.ipcRenderer.invoke(IPC_CHANNELS.SET_CONFIG, config);
131
- },
132
- /**
133
- * Get current plugin configuration
134
- * @returns Promise resolving to current configuration
135
- */
136
- async getConfig() {
137
- return electron.ipcRenderer.invoke(IPC_CHANNELS.GET_CONFIG);
138
- },
139
- /**
140
- * Subscribe to SDK events
141
- * @param eventType The type of event to listen for
142
- * @param callback Function to call when event occurs
143
- * @returns Function to unsubscribe from the event
144
- */
145
- addEventListener(eventType, callback) {
146
- const channel = `recall-desktop:event:${eventType}`;
147
- // Fire-and-forget subscribe to main
148
- electron.ipcRenderer.invoke(IPC_CHANNELS.SUBSCRIBE_EVENTS, eventType).catch(console.error);
149
- const listener = (_event, data) => {
150
- callback(data);
151
- };
152
- electron.ipcRenderer.on(channel, listener);
153
- // Return unsubscribe function
154
- return () => {
155
- electron.ipcRenderer.removeListener(channel, listener);
156
- electron.ipcRenderer.invoke(IPC_CHANNELS.UNSUBSCRIBE_EVENTS, eventType).catch(console.error);
157
- };
158
- },
159
- /**
160
- * Get plugin version
161
- * @returns Plugin version string
162
- */
163
- getVersion() {
164
- return '1.0.0';
165
- },
166
- /**
167
- * Convenience method for handling meeting detection events
168
- * @param callback Function to call when a meeting is detected
169
- * @returns Function to unsubscribe from the event
170
- */
171
- onMeetingDetected(callback) {
172
- return this.addEventListener('meeting-detected', callback);
173
- },
174
- /**
175
- * Convenience method for handling recording state changes
176
- * @param callback Function to call when recording state changes
177
- * @returns Function to unsubscribe from the event
178
- */
179
- onRecordingStateChange(callback) {
180
- return this.addEventListener('sdk-state-change', callback);
181
- },
182
- /**
183
- * Convenience method for handling upload progress updates
184
- * @param callback Function to call when upload progress updates
185
- * @returns Function to unsubscribe from the event
186
- */
187
- onUploadProgress(callback) {
188
- return this.addEventListener('upload-progress', callback);
189
- },
190
- /**
191
- * Convenience method for handling permission status updates
192
- * @param callback Function to call when permission status changes
193
- * @returns Function to unsubscribe from the event
194
- */
195
- onPermissionStatusChange(callback) {
196
- return this.addEventListener('permission-status', callback);
197
- },
198
- /**
199
- * Convenience method for handling SDK errors
200
- * @param callback Function to call when SDK errors occur
201
- * @returns Function to unsubscribe from the event
202
- */
203
- onError(callback) {
204
- return this.addEventListener('error', callback);
205
- },
206
- /**
207
- * Convenience method for handling real-time events (transcription, participants, etc.)
208
- * @param callback Function to call when real-time events occur
209
- * @returns Function to unsubscribe from the event
210
- */
211
- onRealtimeEvent(callback) {
212
- return this.addEventListener('realtime-event', callback);
213
- }
214
- };
215
- // Expose the API to the renderer process
216
- electron.contextBridge.exposeInMainWorld('recallDesktop', recallDesktopApi);
35
+ * This file runs in the renderer process with Node.js access.
36
+ *
37
+ * ToDesktop plugins should export functions; the ToDesktop runtime will
38
+ * attach them under `window.todesktop.recallDesktop` automatically.
39
+ */
40
+ /**
41
+ * Initialize the Recall SDK
42
+ * @returns Promise resolving to initialization result
43
+ */
44
+ async function initSdk() {
45
+ return electron.ipcRenderer.invoke(IPC_CHANNELS.INIT_SDK);
46
+ }
47
+ /**
48
+ * Shutdown the Recall SDK
49
+ * @returns Promise resolving to shutdown result
50
+ */
51
+ async function shutdownSdk() {
52
+ return electron.ipcRenderer.invoke(IPC_CHANNELS.SHUTDOWN_SDK);
53
+ }
54
+ /**
55
+ * Get current plugin and SDK status
56
+ * @returns Promise resolving to plugin status
57
+ */
58
+ async function getStatus() {
59
+ return electron.ipcRenderer.invoke(IPC_CHANNELS.GET_STATUS);
60
+ }
61
+ /**
62
+ * Start recording a meeting
63
+ * @param windowId The meeting window ID
64
+ * @param uploadToken Upload token from your backend
65
+ * @returns Promise resolving to recording start result
66
+ */
67
+ async function startRecording(windowId, uploadToken) {
68
+ const request = { windowId, uploadToken };
69
+ return electron.ipcRenderer.invoke(IPC_CHANNELS.START_RECORDING, request);
70
+ }
71
+ /**
72
+ * Stop recording a meeting
73
+ * @param windowId The meeting window ID
74
+ * @returns Promise resolving to recording stop result
75
+ */
76
+ async function stopRecording(windowId) {
77
+ const request = { windowId };
78
+ return electron.ipcRenderer.invoke(IPC_CHANNELS.STOP_RECORDING, request);
79
+ }
80
+ /**
81
+ * Pause recording a meeting
82
+ * @param windowId The meeting window ID
83
+ * @returns Promise resolving to recording pause result
84
+ */
85
+ async function pauseRecording(windowId) {
86
+ const request = { windowId };
87
+ return electron.ipcRenderer.invoke(IPC_CHANNELS.PAUSE_RECORDING, request);
88
+ }
89
+ /**
90
+ * Resume recording a meeting
91
+ * @param windowId The meeting window ID
92
+ * @returns Promise resolving to recording resume result
93
+ */
94
+ async function resumeRecording(windowId) {
95
+ const request = { windowId };
96
+ return electron.ipcRenderer.invoke(IPC_CHANNELS.RESUME_RECORDING, request);
97
+ }
98
+ /**
99
+ * Upload a completed recording
100
+ * @param windowId The meeting window ID
101
+ * @returns Promise resolving to upload start result
102
+ */
103
+ async function uploadRecording(windowId) {
104
+ const request = { windowId };
105
+ return electron.ipcRenderer.invoke(IPC_CHANNELS.UPLOAD_RECORDING, request);
106
+ }
107
+ /**
108
+ * Prepare desktop audio recording for non-meeting audio capture
109
+ * @returns Promise resolving to desktop audio preparation result
110
+ */
111
+ async function prepareDesktopAudioRecording() {
112
+ return electron.ipcRenderer.invoke(IPC_CHANNELS.PREPARE_DESKTOP_AUDIO);
113
+ }
114
+ /**
115
+ * Request a specific permission from the user
116
+ * @param permission The permission to request
117
+ * @returns Promise resolving to permission request result
118
+ */
119
+ async function requestPermission(permission) {
120
+ return electron.ipcRenderer.invoke(IPC_CHANNELS.REQUEST_PERMISSION, permission);
121
+ }
122
+ /**
123
+ * Update plugin configuration
124
+ * @param config Configuration updates
125
+ * @returns Promise resolving to update result
126
+ */
127
+ async function setConfig(config) {
128
+ return electron.ipcRenderer.invoke(IPC_CHANNELS.SET_CONFIG, config);
129
+ }
130
+ /**
131
+ * Get current plugin configuration
132
+ * @returns Promise resolving to current configuration
133
+ */
134
+ async function getConfig() {
135
+ return electron.ipcRenderer.invoke(IPC_CHANNELS.GET_CONFIG);
136
+ }
137
+ /**
138
+ * Subscribe to SDK events
139
+ * @param eventType The type of event to listen for
140
+ * @param callback Function to call when event occurs
141
+ * @returns Function to unsubscribe from the event
142
+ */
143
+ function addEventListener(eventType, callback) {
144
+ const channel = `recall-desktop:event:${eventType}`;
145
+ // Fire-and-forget subscribe to main
146
+ electron.ipcRenderer.invoke(IPC_CHANNELS.SUBSCRIBE_EVENTS, eventType).catch(console.error);
147
+ const listener = (_event, data) => {
148
+ callback(data);
149
+ };
150
+ electron.ipcRenderer.on(channel, listener);
151
+ // Return unsubscribe function
152
+ return () => {
153
+ electron.ipcRenderer.removeListener(channel, listener);
154
+ electron.ipcRenderer.invoke(IPC_CHANNELS.UNSUBSCRIBE_EVENTS, eventType).catch(console.error);
155
+ };
156
+ }
157
+ /**
158
+ * Get plugin version
159
+ * @returns Plugin version string
160
+ */
161
+ function getVersion() {
162
+ return '1.0.0';
163
+ }
164
+ /**
165
+ * Convenience method for handling meeting detection events
166
+ * @param callback Function to call when a meeting is detected
167
+ * @returns Function to unsubscribe from the event
168
+ */
169
+ function onMeetingDetected(callback) {
170
+ return addEventListener('meeting-detected', callback);
171
+ }
172
+ /**
173
+ * Convenience method for handling recording state changes
174
+ * @param callback Function to call when recording state changes
175
+ * @returns Function to unsubscribe from the event
176
+ */
177
+ function onRecordingStateChange(callback) {
178
+ return addEventListener('sdk-state-change', callback);
179
+ }
180
+ /**
181
+ * Convenience method for handling upload progress updates
182
+ * @param callback Function to call when upload progress updates
183
+ * @returns Function to unsubscribe from the event
184
+ */
185
+ function onUploadProgress(callback) {
186
+ return addEventListener('upload-progress', callback);
187
+ }
188
+ /**
189
+ * Convenience method for handling permission status updates
190
+ * @param callback Function to call when permission status changes
191
+ * @returns Function to unsubscribe from the event
192
+ */
193
+ function onPermissionStatusChange(callback) {
194
+ return addEventListener('permission-status', callback);
195
+ }
196
+ /**
197
+ * Convenience method for handling SDK errors
198
+ * @param callback Function to call when SDK errors occur
199
+ * @returns Function to unsubscribe from the event
200
+ */
201
+ function onError(callback) {
202
+ return addEventListener('error', callback);
203
+ }
204
+ /**
205
+ * Convenience method for handling real-time events (transcription, participants, etc.)
206
+ * @param callback Function to call when real-time events occur
207
+ * @returns Function to unsubscribe from the event
208
+ */
209
+ function onRealtimeEvent(callback) {
210
+ return addEventListener('realtime-event', callback);
211
+ }
217
212
  console.log('RecallDesktop: Preload script loaded successfully');
213
+
214
+ exports.addEventListener = addEventListener;
215
+ exports.getConfig = getConfig;
216
+ exports.getStatus = getStatus;
217
+ exports.getVersion = getVersion;
218
+ exports.initSdk = initSdk;
219
+ exports.onError = onError;
220
+ exports.onMeetingDetected = onMeetingDetected;
221
+ exports.onPermissionStatusChange = onPermissionStatusChange;
222
+ exports.onRealtimeEvent = onRealtimeEvent;
223
+ exports.onRecordingStateChange = onRecordingStateChange;
224
+ exports.onUploadProgress = onUploadProgress;
225
+ exports.pauseRecording = pauseRecording;
226
+ exports.prepareDesktopAudioRecording = prepareDesktopAudioRecording;
227
+ exports.requestPermission = requestPermission;
228
+ exports.resumeRecording = resumeRecording;
229
+ exports.setConfig = setConfig;
230
+ exports.shutdownSdk = shutdownSdk;
231
+ exports.startRecording = startRecording;
232
+ exports.stopRecording = stopRecording;
233
+ exports.uploadRecording = uploadRecording;
218
234
  //# sourceMappingURL=preload.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"preload.js","sources":["../src/shared.ts","../src/preload.ts"],"sourcesContent":[null,null],"names":["ipcRenderer","contextBridge"],"mappings":"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"}
1
+ {"version":3,"file":"preload.js","sources":["../src/shared.ts","../src/preload.ts"],"sourcesContent":[null,null],"names":["ipcRenderer"],"mappings":"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"}
package/dist/shared.d.ts CHANGED
@@ -22,6 +22,41 @@ export interface RecallSdkConfig {
22
22
  apiUrl: string;
23
23
  requestPermissionsOnStartup: boolean;
24
24
  }
25
+ export interface PluginContext {
26
+ plugin: {
27
+ todesktop: {
28
+ preferences: [
29
+ {
30
+ id: "enabled";
31
+ name: string;
32
+ description: string;
33
+ type: "checkbox";
34
+ spec: {
35
+ value?: boolean;
36
+ };
37
+ },
38
+ {
39
+ id: "apiUrl";
40
+ name: string;
41
+ description: string;
42
+ type: "text";
43
+ spec: {
44
+ value?: string;
45
+ };
46
+ },
47
+ {
48
+ id: "requestPermissionsOnStartup";
49
+ name: string;
50
+ description: string;
51
+ type: "checkbox";
52
+ spec: {
53
+ value?: boolean;
54
+ };
55
+ }
56
+ ];
57
+ };
58
+ };
59
+ }
25
60
  export interface MeetingWindow {
26
61
  id: string;
27
62
  title?: string;
@@ -44,7 +79,7 @@ export interface ResumeRecordingRequest {
44
79
  export interface UploadRecordingRequest {
45
80
  windowId: string;
46
81
  }
47
- export type RecallSdkEventType = 'recording-started' | 'recording-ended' | 'upload-progress' | 'meeting-detected' | 'meeting-updated' | 'meeting-closed' | 'sdk-state-change' | 'error' | 'media-capture-status' | 'participant-capture-status' | 'permissions-granted' | 'permission-status' | 'realtime-event' | 'shutdown';
82
+ export type RecallSdkEventType = "recording-started" | "recording-ended" | "upload-progress" | "meeting-detected" | "meeting-updated" | "meeting-closed" | "sdk-state-change" | "error" | "media-capture-status" | "participant-capture-status" | "permissions-granted" | "permission-status" | "realtime-event" | "shutdown";
48
83
  export interface RecallSdkEvent {
49
84
  type: RecallSdkEventType;
50
85
  data: any;
@@ -55,7 +90,7 @@ export interface MeetingDetectedEvent {
55
90
  export interface SdkStateChangeEvent {
56
91
  sdk: {
57
92
  state: {
58
- code: 'recording' | 'idle' | 'paused';
93
+ code: "recording" | "idle" | "paused";
59
94
  };
60
95
  };
61
96
  }
@@ -79,12 +114,12 @@ export interface MeetingUpdatedEvent {
79
114
  }
80
115
  export interface MediaCaptureStatusEvent {
81
116
  window: MeetingWindow;
82
- type: 'video' | 'audio';
117
+ type: "video" | "audio";
83
118
  capturing: boolean;
84
119
  }
85
120
  export interface ParticipantCaptureStatusEvent {
86
121
  window: MeetingWindow;
87
- type: 'video' | 'audio' | 'screenshare';
122
+ type: "video" | "audio" | "screenshare";
88
123
  capturing: boolean;
89
124
  }
90
125
  export interface RealtimeEvent {
@@ -105,7 +140,7 @@ export interface ShutdownEvent {
105
140
  code: number;
106
141
  signal: string;
107
142
  }
108
- export type PermissionType = 'accessibility' | 'screen-capture' | 'microphone' | 'system-audio';
143
+ export type PermissionType = "accessibility" | "screen-capture" | "microphone" | "system-audio";
109
144
  export interface ApiResponse<T = any> {
110
145
  success: boolean;
111
146
  message: string;
@@ -116,7 +151,7 @@ export interface PluginStatus {
116
151
  sdkInitialized: boolean;
117
152
  version: string;
118
153
  config: RecallSdkConfig;
119
- sdkState?: 'recording' | 'idle' | 'paused';
154
+ sdkState?: "recording" | "idle" | "paused";
120
155
  permissions?: {
121
156
  accessibility: boolean;
122
157
  screenCapture: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,8DAA8D;AAC9D,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,gBAAgB;IAChB,QAAQ,EAAE,yBAAyB;IACnC,YAAY,EAAE,6BAA6B;IAC3C,UAAU,EAAE,2BAA2B;IAEvC,uBAAuB;IACvB,eAAe,EAAE,gCAAgC;IACjD,cAAc,EAAE,+BAA+B;IAC/C,eAAe,EAAE,gCAAgC;IACjD,gBAAgB,EAAE,iCAAiC;IACnD,gBAAgB,EAAE,iCAAiC;IAEnD,0BAA0B;IAC1B,qBAAqB,EAAE,sCAAsC;IAE7D,wBAAwB;IACxB,kBAAkB,EAAE,mCAAmC;IAEvD,gBAAgB;IAChB,UAAU,EAAE,2BAA2B;IACvC,UAAU,EAAE,2BAA2B;IAEvC,qBAAqB;IACrB,gBAAgB,EAAE,iCAAiC;IACnD,kBAAkB,EAAE,mCAAmC;CAC/C,CAAC;AA2JX,cAAc;AACd,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvC,YAAY,OAAe,EAAS,IAAa;QAC/C,KAAK,CAAC,OAAO,CAAC,CAAC;QADmB,SAAI,GAAJ,IAAI,CAAS;QAE/C,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,8DAA8D;AAC9D,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,gBAAgB;IAChB,QAAQ,EAAE,yBAAyB;IACnC,YAAY,EAAE,6BAA6B;IAC3C,UAAU,EAAE,2BAA2B;IAEvC,uBAAuB;IACvB,eAAe,EAAE,gCAAgC;IACjD,cAAc,EAAE,+BAA+B;IAC/C,eAAe,EAAE,gCAAgC;IACjD,gBAAgB,EAAE,iCAAiC;IACnD,gBAAgB,EAAE,iCAAiC;IAEnD,0BAA0B;IAC1B,qBAAqB,EAAE,sCAAsC;IAE7D,wBAAwB;IACxB,kBAAkB,EAAE,mCAAmC;IAEvD,gBAAgB;IAChB,UAAU,EAAE,2BAA2B;IACvC,UAAU,EAAE,2BAA2B;IAEvC,qBAAqB;IACrB,gBAAgB,EAAE,iCAAiC;IACnD,kBAAkB,EAAE,mCAAmC;CAC/C,CAAC;AA0JX,cAAc;AACd,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvC,YAAY,OAAe,EAAS,IAAa;QAC/C,KAAK,CAAC,OAAO,CAAC,CAAC;QADmB,SAAI,GAAJ,IAAI,CAAS;QAE/C,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF"}