@kernelift/ai-chat 1.0.1-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +711 -0
- package/SSE-Client.md +451 -0
- package/dist/ai-chat.css +10 -0
- package/dist/index.d.ts +361 -0
- package/dist/index.js +137813 -0
- package/dist/markdown-D2pK0c45-D2pK0c45.js +235 -0
- package/package.json +52 -0
package/SSE-Client.md
ADDED
|
@@ -0,0 +1,451 @@
|
|
|
1
|
+
# SSEClient 使用参考手册
|
|
2
|
+
|
|
3
|
+
## 目录
|
|
4
|
+
|
|
5
|
+
- [概述](#概述)
|
|
6
|
+
- [安装与导入](#安装与导入)
|
|
7
|
+
- [API 参考](#api-参考)
|
|
8
|
+
- [事件处理](#事件处理)
|
|
9
|
+
- [使用示例](#使用示例)
|
|
10
|
+
- [错误处理](#错误处理)
|
|
11
|
+
- [注意事项](#注意事项)
|
|
12
|
+
|
|
13
|
+
## 概述
|
|
14
|
+
|
|
15
|
+
`SSEClient` 是一个用于处理服务器发送事件(Server-Sent Events)的客户端类,支持流式数据传输,特别适用于实时内容更新、工具调用状态监控等场景。
|
|
16
|
+
|
|
17
|
+
### 主要特性
|
|
18
|
+
|
|
19
|
+
- 🔄 **流式数据处理** - 实时处理分块传输的内容
|
|
20
|
+
- 🛠️ **工具调用监控** - 跟踪工具调用的增量更新
|
|
21
|
+
- ⚡ **事件驱动** - 基于事件的处理机制
|
|
22
|
+
- 🚫 **错误处理** - 完善的错误处理机制
|
|
23
|
+
- 🔗 **连接管理** - 支持主动断开连接
|
|
24
|
+
|
|
25
|
+
## 安装与导入
|
|
26
|
+
|
|
27
|
+
```typescript
|
|
28
|
+
import { SSEClient } from './sse-client';
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## API 参考
|
|
32
|
+
|
|
33
|
+
### 构造函数
|
|
34
|
+
|
|
35
|
+
```typescript
|
|
36
|
+
new SSEClient(token: string, baseUrl?: string)
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
**参数:**
|
|
40
|
+
|
|
41
|
+
- `token` (string) - 认证令牌,用于 Authorization 头
|
|
42
|
+
- `baseUrl` (string, 可选) - 基础 URL,默认为空字符串
|
|
43
|
+
|
|
44
|
+
**示例:**
|
|
45
|
+
|
|
46
|
+
```typescript
|
|
47
|
+
const client = new SSEClient('your-auth-token', 'https://api.example.com');
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### 方法
|
|
51
|
+
|
|
52
|
+
#### connect()
|
|
53
|
+
|
|
54
|
+
建立 SSE 连接并开始处理事件流。
|
|
55
|
+
|
|
56
|
+
```typescript
|
|
57
|
+
async connect(
|
|
58
|
+
url: string,
|
|
59
|
+
handlers: {
|
|
60
|
+
onContent: (content: string) => void;
|
|
61
|
+
onToolCallDelta: (data: any) => void;
|
|
62
|
+
onComplete: (finalData: { content: string; toolCalls: any[] }) => void;
|
|
63
|
+
onError: (error: Error) => void;
|
|
64
|
+
onDone?: () => void;
|
|
65
|
+
},
|
|
66
|
+
options?: RequestInit
|
|
67
|
+
): Promise<void>
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
**参数:**
|
|
71
|
+
|
|
72
|
+
- `url` (string) - 要连接的相对 URL
|
|
73
|
+
- `handlers` (object) - 事件处理器对象
|
|
74
|
+
- `onContent` - 内容更新回调
|
|
75
|
+
- `onToolCallDelta` - 工具调用增量更新回调
|
|
76
|
+
- `onComplete` - 完成事件回调
|
|
77
|
+
- `onError` - 错误处理回调
|
|
78
|
+
- `onDone` (可选) - 连接完成回调
|
|
79
|
+
- `options` (RequestInit, 可选) - 额外的 fetch 选项
|
|
80
|
+
|
|
81
|
+
#### disconnect()
|
|
82
|
+
|
|
83
|
+
立即断开 SSE 连接。
|
|
84
|
+
|
|
85
|
+
```typescript
|
|
86
|
+
disconnect(): void
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## 事件处理
|
|
90
|
+
|
|
91
|
+
### 事件类型
|
|
92
|
+
|
|
93
|
+
| 事件类型 | 数据类型 | 描述 |
|
|
94
|
+
| --------------- | --------------------------------------- | -------------------- |
|
|
95
|
+
| `content` | `string` | 内容增量更新 |
|
|
96
|
+
| `toolCallDelta` | `any` | 工具调用状态增量更新 |
|
|
97
|
+
| `complete` | `{ content: string; toolCalls: any[] }` | 流式传输完成 |
|
|
98
|
+
| `error` | `Error` | 错误事件 |
|
|
99
|
+
|
|
100
|
+
### 处理器配置
|
|
101
|
+
|
|
102
|
+
```typescript
|
|
103
|
+
const handlers = {
|
|
104
|
+
// 处理内容流
|
|
105
|
+
onContent: (content: string) => {
|
|
106
|
+
console.log('收到内容:', content);
|
|
107
|
+
},
|
|
108
|
+
|
|
109
|
+
// 处理工具调用增量
|
|
110
|
+
onToolCallDelta: (data: any) => {
|
|
111
|
+
console.log('工具调用更新:', data);
|
|
112
|
+
},
|
|
113
|
+
|
|
114
|
+
// 处理完成事件
|
|
115
|
+
onComplete: (finalData: { content: string; toolCalls: any[] }) => {
|
|
116
|
+
console.log('传输完成:', finalData);
|
|
117
|
+
},
|
|
118
|
+
|
|
119
|
+
// 处理错误
|
|
120
|
+
onError: (error: Error) => {
|
|
121
|
+
console.error('发生错误:', error);
|
|
122
|
+
},
|
|
123
|
+
|
|
124
|
+
// 连接完全结束
|
|
125
|
+
onDone: () => {
|
|
126
|
+
console.log('连接结束');
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## 使用示例
|
|
132
|
+
|
|
133
|
+
### 基础使用
|
|
134
|
+
|
|
135
|
+
```typescript
|
|
136
|
+
// 创建客户端实例
|
|
137
|
+
const client = new SSEClient('your-token', 'https://api.example.com');
|
|
138
|
+
|
|
139
|
+
// 定义事件处理器
|
|
140
|
+
const handlers = {
|
|
141
|
+
onContent: (content) => {
|
|
142
|
+
document.getElementById('output').innerHTML += content;
|
|
143
|
+
},
|
|
144
|
+
|
|
145
|
+
onToolCallDelta: (data) => {
|
|
146
|
+
console.log('工具调用状态:', data);
|
|
147
|
+
},
|
|
148
|
+
|
|
149
|
+
onComplete: (finalData) => {
|
|
150
|
+
console.log('完整响应:', finalData);
|
|
151
|
+
// 可以在这里进行后续处理
|
|
152
|
+
},
|
|
153
|
+
|
|
154
|
+
onError: (error) => {
|
|
155
|
+
console.error('连接错误:', error);
|
|
156
|
+
alert('连接发生错误: ' + error.message);
|
|
157
|
+
},
|
|
158
|
+
|
|
159
|
+
onDone: () => {
|
|
160
|
+
console.log('连接正常结束');
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
|
|
164
|
+
// 建立连接
|
|
165
|
+
client.connect('/api/stream', handlers, {
|
|
166
|
+
headers: {
|
|
167
|
+
'X-Custom-Header': 'value'
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
|
|
171
|
+
// 在需要时断开连接
|
|
172
|
+
// client.disconnect();
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
### React 组件中使用
|
|
176
|
+
|
|
177
|
+
```typescript
|
|
178
|
+
import React, { useState, useEffect, useRef } from 'react';
|
|
179
|
+
import { SSEClient } from './sse-client';
|
|
180
|
+
|
|
181
|
+
const StreamComponent: React.FC = () => {
|
|
182
|
+
const [content, setContent] = useState('');
|
|
183
|
+
const [isLoading, setIsLoading] = useState(false);
|
|
184
|
+
const clientRef = useRef<SSEClient | null>(null);
|
|
185
|
+
|
|
186
|
+
const startStream = async () => {
|
|
187
|
+
setIsLoading(true);
|
|
188
|
+
setContent('');
|
|
189
|
+
|
|
190
|
+
const client = new SSEClient('your-token', 'https://api.example.com');
|
|
191
|
+
clientRef.current = client;
|
|
192
|
+
|
|
193
|
+
const handlers = {
|
|
194
|
+
onContent: (newContent: string) => {
|
|
195
|
+
setContent(prev => prev + newContent);
|
|
196
|
+
},
|
|
197
|
+
|
|
198
|
+
onToolCallDelta: (data: any) => {
|
|
199
|
+
// 处理工具调用
|
|
200
|
+
console.log('工具调用:', data);
|
|
201
|
+
},
|
|
202
|
+
|
|
203
|
+
onComplete: (finalData: { content: string; toolCalls: any[] }) => {
|
|
204
|
+
console.log('完成:', finalData);
|
|
205
|
+
setIsLoading(false);
|
|
206
|
+
},
|
|
207
|
+
|
|
208
|
+
onError: (error: Error) => {
|
|
209
|
+
console.error('错误:', error);
|
|
210
|
+
setIsLoading(false);
|
|
211
|
+
},
|
|
212
|
+
|
|
213
|
+
onDone: () => {
|
|
214
|
+
setIsLoading(false);
|
|
215
|
+
}
|
|
216
|
+
};
|
|
217
|
+
|
|
218
|
+
try {
|
|
219
|
+
await client.connect('/api/chat', handlers);
|
|
220
|
+
} catch (error) {
|
|
221
|
+
console.error('连接失败:', error);
|
|
222
|
+
setIsLoading(false);
|
|
223
|
+
}
|
|
224
|
+
};
|
|
225
|
+
|
|
226
|
+
const stopStream = () => {
|
|
227
|
+
if (clientRef.current) {
|
|
228
|
+
clientRef.current.disconnect();
|
|
229
|
+
setIsLoading(false);
|
|
230
|
+
}
|
|
231
|
+
};
|
|
232
|
+
|
|
233
|
+
useEffect(() => {
|
|
234
|
+
return () => {
|
|
235
|
+
// 组件卸载时断开连接
|
|
236
|
+
if (clientRef.current) {
|
|
237
|
+
clientRef.current.disconnect();
|
|
238
|
+
}
|
|
239
|
+
};
|
|
240
|
+
}, []);
|
|
241
|
+
|
|
242
|
+
return (
|
|
243
|
+
<div>
|
|
244
|
+
<button onClick={startStream} disabled={isLoading}>
|
|
245
|
+
{isLoading ? '连接中...' : '开始流式传输'}
|
|
246
|
+
</button>
|
|
247
|
+
<button onClick={stopStream} disabled={!isLoading}>
|
|
248
|
+
停止
|
|
249
|
+
</button>
|
|
250
|
+
<div className="content-area">
|
|
251
|
+
{content}
|
|
252
|
+
</div>
|
|
253
|
+
</div>
|
|
254
|
+
);
|
|
255
|
+
};
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
### Vue 3 组件中使用
|
|
259
|
+
|
|
260
|
+
```vue
|
|
261
|
+
<template>
|
|
262
|
+
<div>
|
|
263
|
+
<button @click="startStream" :disabled="isLoading">
|
|
264
|
+
{{ isLoading ? '连接中...' : '开始流式传输' }}
|
|
265
|
+
</button>
|
|
266
|
+
<button @click="stopStream" :disabled="!isLoading">停止</button>
|
|
267
|
+
<div class="content-area">
|
|
268
|
+
{{ content }}
|
|
269
|
+
</div>
|
|
270
|
+
</div>
|
|
271
|
+
</template>
|
|
272
|
+
|
|
273
|
+
<script setup lang="ts">
|
|
274
|
+
import { ref, onUnmounted } from 'vue';
|
|
275
|
+
import { SSEClient } from './sse-client';
|
|
276
|
+
|
|
277
|
+
const content = ref('');
|
|
278
|
+
const isLoading = ref(false);
|
|
279
|
+
let client: SSEClient | null = null;
|
|
280
|
+
|
|
281
|
+
const startStream = async () => {
|
|
282
|
+
isLoading.value = true;
|
|
283
|
+
content.value = '';
|
|
284
|
+
|
|
285
|
+
client = new SSEClient('your-token', 'https://api.example.com');
|
|
286
|
+
|
|
287
|
+
const handlers = {
|
|
288
|
+
onContent: (newContent: string) => {
|
|
289
|
+
content.value += newContent;
|
|
290
|
+
},
|
|
291
|
+
|
|
292
|
+
onToolCallDelta: (data: any) => {
|
|
293
|
+
console.log('工具调用:', data);
|
|
294
|
+
},
|
|
295
|
+
|
|
296
|
+
onComplete: (finalData: { content: string; toolCalls: any[] }) => {
|
|
297
|
+
console.log('完成:', finalData);
|
|
298
|
+
isLoading.value = false;
|
|
299
|
+
},
|
|
300
|
+
|
|
301
|
+
onError: (error: Error) => {
|
|
302
|
+
console.error('错误:', error);
|
|
303
|
+
isLoading.value = false;
|
|
304
|
+
},
|
|
305
|
+
|
|
306
|
+
onDone: () => {
|
|
307
|
+
isLoading.value = false;
|
|
308
|
+
}
|
|
309
|
+
};
|
|
310
|
+
|
|
311
|
+
try {
|
|
312
|
+
await client.connect('/api/chat', handlers);
|
|
313
|
+
} catch (error) {
|
|
314
|
+
console.error('连接失败:', error);
|
|
315
|
+
isLoading.value = false;
|
|
316
|
+
}
|
|
317
|
+
};
|
|
318
|
+
|
|
319
|
+
const stopStream = () => {
|
|
320
|
+
if (client) {
|
|
321
|
+
client.disconnect();
|
|
322
|
+
isLoading.value = false;
|
|
323
|
+
}
|
|
324
|
+
};
|
|
325
|
+
|
|
326
|
+
onUnmounted(() => {
|
|
327
|
+
if (client) {
|
|
328
|
+
client.disconnect();
|
|
329
|
+
}
|
|
330
|
+
});
|
|
331
|
+
</script>
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
## 错误处理
|
|
335
|
+
|
|
336
|
+
### 常见错误类型
|
|
337
|
+
|
|
338
|
+
1. **HTTP 错误** - 服务器返回非 200 状态码
|
|
339
|
+
2. **网络错误** - 连接失败或中断
|
|
340
|
+
3. **数据解析错误** - 接收到的数据格式不正确
|
|
341
|
+
4. **中止错误** - 主动调用 `disconnect()` 方法
|
|
342
|
+
|
|
343
|
+
### 错误处理示例
|
|
344
|
+
|
|
345
|
+
```typescript
|
|
346
|
+
const handlers = {
|
|
347
|
+
onError: (error: Error) => {
|
|
348
|
+
if (error.message.includes('HTTP')) {
|
|
349
|
+
// 处理 HTTP 错误
|
|
350
|
+
console.error('服务器错误:', error.message);
|
|
351
|
+
} else if (error.message.includes('No response body')) {
|
|
352
|
+
// 处理无响应体错误
|
|
353
|
+
console.error('无响应数据');
|
|
354
|
+
} else {
|
|
355
|
+
// 其他错误
|
|
356
|
+
console.error('未知错误:', error);
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
// 更新 UI 状态
|
|
360
|
+
setIsConnected(false);
|
|
361
|
+
setErrorMessage(error.message);
|
|
362
|
+
}
|
|
363
|
+
};
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
## 注意事项
|
|
367
|
+
|
|
368
|
+
### 1. 连接管理
|
|
369
|
+
|
|
370
|
+
- 确保在组件卸载或不再需要时调用 `disconnect()` 方法
|
|
371
|
+
- 避免同时建立多个相同连接
|
|
372
|
+
|
|
373
|
+
### 2. 内存管理
|
|
374
|
+
|
|
375
|
+
- 长时间运行的连接可能积累大量数据,定期清理缓冲区
|
|
376
|
+
- 监控内存使用情况
|
|
377
|
+
|
|
378
|
+
### 3. 错误恢复
|
|
379
|
+
|
|
380
|
+
- 实现重连机制处理网络中断
|
|
381
|
+
- 设置合理的超时时间
|
|
382
|
+
|
|
383
|
+
### 4. 性能优化
|
|
384
|
+
|
|
385
|
+
- 对于高频更新,考虑使用防抖或节流
|
|
386
|
+
- 避免在 `onContent` 回调中执行重操作
|
|
387
|
+
|
|
388
|
+
### 5. 安全考虑
|
|
389
|
+
|
|
390
|
+
- 妥善保管认证令牌
|
|
391
|
+
- 验证服务器响应数据
|
|
392
|
+
- 使用 HTTPS 连接
|
|
393
|
+
|
|
394
|
+
### 完整重连机制示例
|
|
395
|
+
|
|
396
|
+
```typescript
|
|
397
|
+
class ResilientSSEClient {
|
|
398
|
+
private client: SSEClient | null = null;
|
|
399
|
+
private reconnectAttempts = 0;
|
|
400
|
+
private maxReconnectAttempts = 3;
|
|
401
|
+
private reconnectDelay = 1000;
|
|
402
|
+
|
|
403
|
+
constructor(
|
|
404
|
+
private token: string,
|
|
405
|
+
private baseUrl: string
|
|
406
|
+
) {}
|
|
407
|
+
|
|
408
|
+
async connectWithRetry(url: string, handlers: any, options?: RequestInit): Promise<void> {
|
|
409
|
+
try {
|
|
410
|
+
this.client = new SSEClient(this.token, this.baseUrl);
|
|
411
|
+
|
|
412
|
+
const enhancedHandlers = {
|
|
413
|
+
...handlers,
|
|
414
|
+
onError: (error: Error) => {
|
|
415
|
+
console.error('SSE错误:', error);
|
|
416
|
+
|
|
417
|
+
if (this.reconnectAttempts < this.maxReconnectAttempts) {
|
|
418
|
+
this.reconnectAttempts++;
|
|
419
|
+
console.log(`尝试重连 (${this.reconnectAttempts}/${this.maxReconnectAttempts})`);
|
|
420
|
+
|
|
421
|
+
setTimeout(() => {
|
|
422
|
+
this.connectWithRetry(url, handlers, options);
|
|
423
|
+
}, this.reconnectDelay * this.reconnectAttempts);
|
|
424
|
+
} else {
|
|
425
|
+
handlers.onError?.(error);
|
|
426
|
+
}
|
|
427
|
+
},
|
|
428
|
+
|
|
429
|
+
onDone: () => {
|
|
430
|
+
this.reconnectAttempts = 0; // 重置重连计数
|
|
431
|
+
handlers.onDone?.();
|
|
432
|
+
}
|
|
433
|
+
};
|
|
434
|
+
|
|
435
|
+
await this.client.connect(url, enhancedHandlers, options);
|
|
436
|
+
} catch (error) {
|
|
437
|
+
console.error('连接失败:', error);
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
disconnect() {
|
|
442
|
+
this.client?.disconnect();
|
|
443
|
+
this.reconnectAttempts = 0;
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
```
|
|
447
|
+
|
|
448
|
+
---
|
|
449
|
+
|
|
450
|
+
**版本**: 1.0.0
|
|
451
|
+
**最后更新**: 2024年12月
|
package/dist/ai-chat.css
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
@charset "UTF-8";.monaco-editor{font-family:-apple-system,BlinkMacSystemFont,Segoe WPC,Segoe UI,HelveticaNeue-Light,system-ui,Ubuntu,Droid Sans,sans-serif;--monaco-monospace-font: "SF Mono", Monaco, Menlo, Consolas, "Ubuntu Mono", "Liberation Mono", "DejaVu Sans Mono", "Courier New", monospace}.monaco-menu .monaco-action-bar.vertical .action-item .action-menu-item:focus .action-label{stroke-width:1.2px}.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.hc-black .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.hc-light .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label{stroke-width:1.2px}.monaco-hover p{margin:0}.monaco-aria-container{position:absolute!important;top:0;height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%)}.monaco-editor .synthetic-focus,.monaco-diff-editor .synthetic-focus,.monaco-editor [tabindex="0"]:focus,.monaco-diff-editor [tabindex="0"]:focus,.monaco-editor [tabindex="-1"]:focus,.monaco-diff-editor [tabindex="-1"]:focus,.monaco-editor button:focus,.monaco-diff-editor button:focus,.monaco-editor input[type=button]:focus,.monaco-diff-editor input[type=button]:focus,.monaco-editor input[type=checkbox]:focus,.monaco-diff-editor input[type=checkbox]:focus,.monaco-editor input[type=search]:focus,.monaco-diff-editor input[type=search]:focus,.monaco-editor input[type=text]:focus,.monaco-diff-editor input[type=text]:focus,.monaco-editor select:focus,.monaco-diff-editor select:focus,.monaco-editor textarea:focus,.monaco-diff-editor textarea:focus{outline-width:1px;outline-style:solid;outline-offset:-1px;outline-color:var(--vscode-focusBorder);opacity:1}.monaco-aria-container{position:absolute;left:-999em}::-ms-clear{display:none}.monaco-editor .editor-widget input{color:inherit}.monaco-editor{position:relative;overflow:visible;-webkit-text-size-adjust:100%;color:var(--vscode-editor-foreground);background-color:var(--vscode-editor-background);overflow-wrap:initial}.monaco-editor-background{background-color:var(--vscode-editor-background)}.monaco-editor .rangeHighlight{background-color:var(--vscode-editor-rangeHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-rangeHighlightBorder)}.monaco-editor.hc-black .rangeHighlight,.monaco-editor.hc-light .rangeHighlight{border-style:dotted}.monaco-editor .symbolHighlight{background-color:var(--vscode-editor-symbolHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-symbolHighlightBorder)}.monaco-editor.hc-black .symbolHighlight,.monaco-editor.hc-light .symbolHighlight{border-style:dotted}.monaco-editor .editorCanvas{position:absolute;width:100%;height:100%;z-index:0;pointer-events:none}.monaco-editor .overflow-guard{position:relative;overflow:hidden}.monaco-editor .view-overlays{position:absolute;top:0}.monaco-editor .view-overlays>div,.monaco-editor .margin-view-overlays>div{position:absolute;width:100%}.monaco-editor .squiggly-error{border-bottom:4px double var(--vscode-editorError-border)}.monaco-editor .squiggly-error:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorError-background)}.monaco-editor .squiggly-warning{border-bottom:4px double var(--vscode-editorWarning-border)}.monaco-editor .squiggly-warning:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorWarning-background)}.monaco-editor .squiggly-info{border-bottom:4px double var(--vscode-editorInfo-border)}.monaco-editor .squiggly-info:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorInfo-background)}.monaco-editor .squiggly-hint{border-bottom:2px dotted var(--vscode-editorHint-border)}.monaco-editor.showUnused .squiggly-unnecessary{border-bottom:2px dashed var(--vscode-editorUnnecessaryCode-border)}.monaco-editor.showDeprecated .squiggly-inline-deprecated{text-decoration:line-through;text-decoration-color:var(--vscode-editor-foreground, inherit)}.monaco-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.monaco-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.monaco-scrollable-element>.invisible{opacity:0;pointer-events:none}.monaco-scrollable-element>.invisible.fade{transition:opacity .8s linear}.monaco-scrollable-element>.shadow{position:absolute;display:none}.monaco-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.monaco-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.scrollbar>.slider{background:var(--vscode-scrollbarSlider-background)}.monaco-scrollable-element>.scrollbar>.slider:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-scrollable-element>.scrollbar>.slider.active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-editor .blockDecorations-container{position:absolute;top:0;pointer-events:none}.monaco-editor .blockDecorations-block{position:absolute;box-sizing:border-box}.monaco-editor .view-overlays .current-line,.monaco-editor .margin-view-overlays .current-line{display:block;position:absolute;left:0;top:0;box-sizing:border-box;height:100%}.monaco-editor .margin-view-overlays .current-line.current-line-margin.current-line-margin-both{border-right:0}.monaco-editor .lines-content .cdr{position:absolute;height:100%}.monaco-editor .glyph-margin{position:absolute;top:0}.monaco-editor .glyph-margin-widgets .cgmr{position:absolute;display:flex;align-items:center;justify-content:center}.monaco-editor .glyph-margin-widgets .cgmr.codicon-modifier-spin:before{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.monaco-editor .lines-content .core-guide{position:absolute;box-sizing:border-box;height:100%}.monaco-editor .margin-view-overlays .line-numbers{bottom:0;font-variant-numeric:tabular-nums;position:absolute;text-align:right;display:inline-block;vertical-align:middle;box-sizing:border-box;cursor:default}.monaco-editor .relative-current-line-number{text-align:left;display:inline-block;width:100%}.monaco-editor .margin-view-overlays .line-numbers.lh-odd{margin-top:1px}.monaco-editor .line-numbers{color:var(--vscode-editorLineNumber-foreground)}.monaco-editor .line-numbers.active-line-number{color:var(--vscode-editorLineNumber-activeForeground)}.monaco-mouse-cursor-text{cursor:text}.mtkcontrol{color:#fff!important;background:#960000!important}.mtkoverflow{background-color:var(--vscode-button-background, var(--vscode-editor-background));color:var(--vscode-button-foreground, var(--vscode-editor-foreground));border-width:1px;border-style:solid;border-color:var(--vscode-contrastBorder);border-radius:2px;padding:4px;cursor:pointer}.mtkoverflow:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-editor.no-user-select .lines-content,.monaco-editor.no-user-select .view-line,.monaco-editor.no-user-select .view-lines{user-select:none;-webkit-user-select:none}.monaco-editor.mac .lines-content:hover,.monaco-editor.mac .view-line:hover,.monaco-editor.mac .view-lines:hover{user-select:text;-webkit-user-select:text;-ms-user-select:text}.monaco-editor.enable-user-select{user-select:initial;-webkit-user-select:initial}.monaco-editor .view-lines{white-space:nowrap}.monaco-editor .view-line{box-sizing:border-box;position:absolute;width:100%}.monaco-editor .lines-content>.view-lines>.view-line>span{top:0;bottom:0;position:absolute}.monaco-editor .mtkw{color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .mtkz{display:inline-block;color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .lines-decorations{position:absolute;top:0;background:#fff}.monaco-editor .margin-view-overlays .cldr{position:absolute;height:100%}.monaco-editor .margin{background-color:var(--vscode-editorGutter-background)}.monaco-editor .margin-view-overlays .cmdr{position:absolute;left:0;width:100%;height:100%}.monaco-editor .minimap.slider-mouseover .minimap-slider{opacity:0;transition:opacity .1s linear}.monaco-editor .minimap.slider-mouseover:hover .minimap-slider,.monaco-editor .minimap.slider-mouseover .minimap-slider.active{opacity:1}.monaco-editor .minimap-slider .minimap-slider-horizontal{background:var(--vscode-minimapSlider-background)}.monaco-editor .minimap-slider:hover .minimap-slider-horizontal{background:var(--vscode-minimapSlider-hoverBackground)}.monaco-editor .minimap-slider.active .minimap-slider-horizontal{background:var(--vscode-minimapSlider-activeBackground)}.monaco-editor .minimap-shadow-visible{box-shadow:var(--vscode-scrollbar-shadow) -6px 0 6px -6px inset}.monaco-editor .minimap-shadow-hidden{position:absolute;width:0}.monaco-editor .minimap-shadow-visible{position:absolute;left:-6px;width:6px;pointer-events:none}.monaco-editor.no-minimap-shadow .minimap-shadow-visible{position:absolute;left:-1px;width:1px}.minimap.minimap-autohide-mouseover,.minimap.minimap-autohide-scroll{opacity:0;transition:opacity .5s}.minimap.minimap-autohide-scroll{pointer-events:none}.minimap.minimap-autohide-mouseover:hover,.minimap.minimap-autohide-scroll.active{opacity:1;pointer-events:auto}.monaco-editor .minimap{z-index:5}.monaco-editor .overlayWidgets{position:absolute;top:0;left:0}.monaco-editor .view-ruler{position:absolute;top:0;box-shadow:1px 0 0 0 var(--vscode-editorRuler-foreground) inset}.monaco-editor .scroll-decoration{position:absolute;top:0;left:0;height:6px;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-editor .lines-content .cslr{position:absolute}.monaco-editor .focused .selected-text{background-color:var(--vscode-editor-selectionBackground)}.monaco-editor .selected-text{background-color:var(--vscode-editor-inactiveSelectionBackground)}.monaco-editor .top-left-radius{border-top-left-radius:3px}.monaco-editor .bottom-left-radius{border-bottom-left-radius:3px}.monaco-editor .top-right-radius{border-top-right-radius:3px}.monaco-editor .bottom-right-radius{border-bottom-right-radius:3px}.monaco-editor.hc-black .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-black .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-black .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-black .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor.hc-light .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-light .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-light .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-light .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor .cursors-layer{position:absolute;top:0}.monaco-editor .cursors-layer>.cursor{position:absolute;overflow:hidden;box-sizing:border-box}.monaco-editor .cursors-layer.cursor-smooth-caret-animation>.cursor{transition:all 80ms}.monaco-editor .cursors-layer.cursor-block-outline-style>.cursor{background:transparent!important;border-style:solid;border-width:1px}.monaco-editor .cursors-layer.cursor-underline-style>.cursor{border-bottom-width:2px;border-bottom-style:solid;background:transparent!important}.monaco-editor .cursors-layer.cursor-underline-thin-style>.cursor{border-bottom-width:1px;border-bottom-style:solid;background:transparent!important}@keyframes monaco-cursor-smooth{0%,20%{opacity:1}60%,to{opacity:0}}@keyframes monaco-cursor-phase{0%,20%{opacity:1}90%,to{opacity:0}}@keyframes monaco-cursor-expand{0%,20%{transform:scaleY(1)}80%,to{transform:scaleY(0)}}.cursor-smooth{animation:monaco-cursor-smooth .5s ease-in-out 0s 20 alternate}.cursor-phase{animation:monaco-cursor-phase .5s ease-in-out 0s 20 alternate}.cursor-expand>.cursor{animation:monaco-cursor-expand .5s ease-in-out 0s 20 alternate}.monaco-editor .mwh{position:absolute;color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .monaco-decoration-css-rule-extractor{visibility:hidden;pointer-events:none}.monaco-editor .inputarea{min-width:0;min-height:0;margin:0;padding:0;position:absolute;outline:none!important;resize:none;border:none;overflow:hidden;color:transparent;background-color:transparent;z-index:-10}.monaco-editor .inputarea.ime-input{z-index:10;caret-color:var(--vscode-editorCursor-foreground);color:var(--vscode-editor-foreground)}.monaco-editor .native-edit-context{margin:0;padding:0;position:absolute;overflow-y:scroll;scrollbar-width:none;z-index:-10;white-space:pre-wrap}.monaco-editor .ime-text-area{min-width:0;min-height:0;margin:0;padding:0;position:absolute;outline:none!important;resize:none;border:none;overflow:hidden;color:transparent;background-color:transparent;z-index:-10}.monaco-editor .edit-context-composition-none{background-color:transparent;border-bottom:none}.monaco-editor :not(.hc-black,.hc-light) .edit-context-composition-secondary{border-bottom:1px solid var(--vscode-editor-compositionBorder)}.monaco-editor :not(.hc-black,.hc-light) .edit-context-composition-primary{border-bottom:2px solid var(--vscode-editor-compositionBorder)}.monaco-editor :is(.hc-black,.hc-light) .edit-context-composition-secondary{border:1px solid var(--vscode-editor-compositionBorder)}.monaco-editor :is(.hc-black,.hc-light) .edit-context-composition-primary{border:2px solid var(--vscode-editor-compositionBorder)}.monaco-editor .margin-view-overlays .gpu-mark{position:absolute;top:0;bottom:0;left:0;width:100%;display:inline-block;border-left:solid 2px var(--vscode-editorWarning-foreground);opacity:.2;transition:background-color .1s linear}.monaco-editor .margin-view-overlays .gpu-mark:hover{background-color:var(--vscode-editorWarning-foreground)}.monaco-workbench .workbench-hover{position:relative;font-size:13px;line-height:19px;z-index:40;overflow:hidden;max-width:700px;background:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);border-radius:5px;color:var(--vscode-editorHoverWidget-foreground);box-shadow:0 2px 8px var(--vscode-widget-shadow)}.monaco-workbench .workbench-hover .monaco-action-bar .action-item .codicon{width:13px;height:13px}.monaco-workbench .workbench-hover hr{border-bottom:none}.monaco-workbench .workbench-hover.compact{font-size:12px}.monaco-workbench .workbench-hover.compact .monaco-action-bar .action-item .codicon{width:12px;height:12px}.monaco-workbench .workbench-hover.compact .hover-contents{padding:2px 8px}.monaco-workbench .workbench-hover-container.locked .workbench-hover{outline:1px solid var(--vscode-editorHoverWidget-border)}.monaco-workbench .workbench-hover-container:focus-within.locked .workbench-hover{outline-color:var(--vscode-focusBorder)}.monaco-workbench .workbench-hover-pointer{position:absolute;z-index:41;pointer-events:none}.monaco-workbench .workbench-hover-pointer:after{content:"";position:absolute;width:5px;height:5px;background-color:var(--vscode-editorHoverWidget-background);border-right:1px solid var(--vscode-editorHoverWidget-border);border-bottom:1px solid var(--vscode-editorHoverWidget-border)}.monaco-workbench .workbench-hover-container:not(:focus-within).locked .workbench-hover-pointer:after{width:4px;height:4px;border-right-width:2px;border-bottom-width:2px}.monaco-workbench .workbench-hover-container:focus-within .workbench-hover-pointer:after{border-right:1px solid var(--vscode-focusBorder);border-bottom:1px solid var(--vscode-focusBorder)}.monaco-workbench .workbench-hover-pointer.left{left:-3px}.monaco-workbench .workbench-hover-pointer.right{right:3px}.monaco-workbench .workbench-hover-pointer.top{top:-3px}.monaco-workbench .workbench-hover-pointer.bottom{bottom:3px}.monaco-workbench .workbench-hover-pointer.left:after{transform:rotate(135deg)}.monaco-workbench .workbench-hover-pointer.right:after{transform:rotate(315deg)}.monaco-workbench .workbench-hover-pointer.top:after{transform:rotate(225deg)}.monaco-workbench .workbench-hover-pointer.bottom:after{transform:rotate(45deg)}.monaco-workbench .workbench-hover a{color:var(--vscode-textLink-foreground)}.monaco-workbench .workbench-hover a:focus{outline:1px solid;outline-offset:-1px;text-decoration:underline;outline-color:var(--vscode-focusBorder)}.monaco-workbench .workbench-hover a.codicon:focus,.monaco-workbench .workbench-hover a.monaco-button:focus{text-decoration:none}.monaco-workbench .workbench-hover a:hover,.monaco-workbench .workbench-hover a:active{color:var(--vscode-textLink-activeForeground)}.monaco-workbench .workbench-hover code{background:var(--vscode-textCodeBlock-background)}.monaco-workbench .workbench-hover .hover-row .actions{background:var(--vscode-editorHoverWidget-statusBarBackground)}.monaco-workbench .workbench-hover.right-aligned{left:1px}.monaco-workbench .workbench-hover.right-aligned .hover-row.status-bar .actions{flex-direction:row-reverse}.monaco-workbench .workbench-hover.right-aligned .hover-row.status-bar .actions .action-container{margin-right:0;margin-left:16px}.monaco-hover{cursor:default;position:absolute;overflow:hidden;user-select:text;-webkit-user-select:text;box-sizing:border-box;line-height:1.5em;white-space:var(--vscode-hover-whiteSpace, normal)}.monaco-hover.fade-in{animation:fadein .1s linear}.monaco-hover.hidden{display:none}.monaco-hover a:hover:not(.disabled){cursor:pointer}.monaco-hover .hover-contents:not(.html-hover-contents){padding:4px 8px}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents){max-width:var(--vscode-hover-maxWidth, 500px);word-wrap:break-word}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents) hr{min-width:100%}.monaco-hover p,.monaco-hover .code,.monaco-hover ul,.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6{margin:8px 0}.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6{line-height:1.1}.monaco-hover code{font-family:var(--monaco-monospace-font)}.monaco-hover hr{box-sizing:border-box;border-left:0px;border-right:0px;margin:4px -8px -4px;height:1px}.monaco-hover p:first-child,.monaco-hover .code:first-child,.monaco-hover ul:first-child{margin-top:0}.monaco-hover p:last-child,.monaco-hover .code:last-child,.monaco-hover ul:last-child{margin-bottom:0}.monaco-hover ul,.monaco-hover ol{padding-left:20px}.monaco-hover li>p{margin-bottom:0}.monaco-hover li>ul{margin-top:0}.monaco-hover code{border-radius:3px;padding:0 .4em}.monaco-hover .monaco-tokenized-source{white-space:var(--vscode-hover-sourceWhiteSpace, pre-wrap)}.monaco-hover .hover-row.status-bar{font-size:12px;line-height:22px}.monaco-hover .hover-row.status-bar .info{font-style:italic;padding:0 8px}.monaco-hover .hover-row.status-bar .actions{display:flex;padding:0 8px;width:100%}.monaco-hover .hover-row.status-bar .actions .action-container{margin-right:16px;cursor:pointer;overflow:hidden;text-wrap:nowrap;text-overflow:ellipsis}.monaco-hover .hover-row.status-bar .actions .action-container .action .icon{padding-right:4px;vertical-align:middle}.monaco-hover .hover-row.status-bar .actions .action-container a{color:var(--vscode-textLink-foreground);text-decoration:var(--text-link-decoration)}.monaco-hover .hover-row.status-bar .actions .action-container a .icon.codicon{color:var(--vscode-textLink-foreground)}.monaco-hover .markdown-hover .hover-contents .codicon{color:inherit;font-size:inherit;vertical-align:middle}.monaco-hover .hover-contents a.code-link:hover,.monaco-hover .hover-contents a.code-link{color:inherit}.monaco-hover .hover-contents a.code-link:before{content:"("}.monaco-hover .hover-contents a.code-link:after{content:")"}.monaco-hover .hover-contents a.code-link>span{text-decoration:underline;border-bottom:1px solid transparent;text-underline-position:under;color:var(--vscode-textLink-foreground)}.monaco-hover .hover-contents a.code-link>span:hover{color:var(--vscode-textLink-activeForeground)}.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) p:last-child [style*=background-color]{margin-bottom:4px;display:inline-block}.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span.codicon{margin-bottom:2px}.monaco-hover-content .action-container a{-webkit-user-select:none;user-select:none}.monaco-hover-content .action-container.disabled{pointer-events:none;opacity:.4;cursor:default}.monaco-hover .action-container,.monaco-hover .action,.monaco-hover button,.monaco-hover .monaco-button,.monaco-hover .monaco-text-button,.monaco-hover [role=button]{-webkit-user-select:none;user-select:none}.monaco-editor .rendered-markdown kbd{background-color:var(--vscode-keybindingLabel-background);color:var(--vscode-keybindingLabel-foreground);border-style:solid;border-width:1px;border-radius:3px;border-color:var(--vscode-keybindingLabel-border);border-bottom-color:var(--vscode-keybindingLabel-bottomBorder);box-shadow:inset 0 -1px 0 var(--vscode-widget-shadow);vertical-align:middle;padding:1px 3px}.rendered-markdown li:has(input[type=checkbox]){list-style-type:none}.context-view{position:absolute}.context-view.fixed{all:initial;font-family:inherit;font-size:13px;position:fixed;color:inherit}.monaco-select-box{width:100%;cursor:pointer;border-radius:2px}.monaco-select-box-dropdown-container{font-size:13px;font-weight:400;text-transform:none}.monaco-action-bar .action-item.select-container{cursor:default}.monaco-action-bar .action-item .monaco-select-box{cursor:pointer;min-width:100px;min-height:18px;padding:2px 23px 2px 8px}.mac .monaco-action-bar .action-item .monaco-select-box{font-size:11px;border-radius:3px;min-height:24px}.monaco-list{position:relative;height:100%;width:100%;white-space:nowrap}.monaco-list.mouse-support{user-select:none;-webkit-user-select:none}.monaco-list>.monaco-scrollable-element{height:100%}.monaco-list-rows{position:relative;width:100%;height:100%}.monaco-list.horizontal-scrolling .monaco-list-rows{width:auto;min-width:100%}.monaco-list-row{position:absolute;box-sizing:border-box;overflow:hidden;width:100%}.monaco-list.mouse-support .monaco-list-row{cursor:pointer;touch-action:none}.monaco-list .monaco-scrollable-element>.scrollbar.vertical,.monaco-pane-view>.monaco-split-view2.vertical>.monaco-scrollable-element>.scrollbar.vertical{z-index:14}.monaco-list-row.scrolling{display:none!important}.monaco-list.element-focused,.monaco-list.selection-single,.monaco-list.selection-multiple{outline:0!important}.monaco-list-type-filter-message{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;padding:40px 1em 1em;text-align:center;white-space:normal;opacity:.7;pointer-events:none}.monaco-list-type-filter-message:empty{display:none}.monaco-drag-image{display:inline-block;padding:1px 7px;border-radius:10px;font-size:12px;position:absolute;z-index:1000;background-color:var(--vscode-list-activeSelectionBackground);color:var(--vscode-list-activeSelectionForeground);outline:1px solid var(--vscode-list-focusOutline);outline-offset:-1px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-select-box-dropdown-padding{--dropdown-padding-top: 1px;--dropdown-padding-bottom: 1px}.hc-black .monaco-select-box-dropdown-padding,.hc-light .monaco-select-box-dropdown-padding{--dropdown-padding-top: 3px;--dropdown-padding-bottom: 4px}.monaco-select-box-dropdown-container{display:none;box-sizing:border-box}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown *{margin:0}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown a:focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown code{line-height:15px;font-family:var(--monaco-monospace-font)}.monaco-select-box-dropdown-container.visible{display:flex;flex-direction:column;text-align:left;width:1px;overflow:hidden;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container{flex:0 0 auto;align-self:flex-start;padding-top:var(--dropdown-padding-top);padding-bottom:var(--dropdown-padding-bottom);padding-left:1px;padding-right:1px;width:100%;overflow:hidden;box-sizing:border-box}.monaco-select-box-dropdown-container>.select-box-details-pane{padding:5px}.hc-black .monaco-select-box-dropdown-container>.select-box-dropdown-list-container{padding-top:var(--dropdown-padding-top);padding-bottom:var(--dropdown-padding-bottom)}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row{cursor:pointer}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-text{text-overflow:ellipsis;overflow:hidden;padding-left:3.5px;white-space:nowrap;float:left}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-detail{text-overflow:ellipsis;overflow:hidden;padding-left:3.5px;white-space:nowrap;float:left;opacity:.7}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-decorator-right{text-overflow:ellipsis;overflow:hidden;padding-right:10px;white-space:nowrap;float:right}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.visually-hidden{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control{flex:1 1 auto;align-self:flex-start;opacity:0}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div{overflow:hidden;max-height:0px}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div>.option-text-width-control{padding-left:4px;padding-right:8px;white-space:nowrap}.monaco-action-bar{white-space:nowrap;height:100%}.monaco-action-bar .actions-container{display:flex;margin:0 auto;padding:0;height:100%;width:100%;align-items:center}.monaco-action-bar.vertical .actions-container{display:inline-block}.monaco-action-bar .action-item{display:block;align-items:center;justify-content:center;cursor:pointer;position:relative}.monaco-action-bar .action-item.disabled{cursor:default}.monaco-action-bar .action-item .icon,.monaco-action-bar .action-item .codicon{display:block}.monaco-action-bar .action-item .codicon{display:flex;align-items:center;width:16px;height:16px}.monaco-action-bar .action-label{display:flex;font-size:11px;padding:3px;border-radius:5px}.monaco-action-bar .action-item.disabled .action-label:not(.icon),.monaco-action-bar .action-item.disabled .action-label:not(.icon):before,.monaco-action-bar .action-item.disabled .action-label:not(.icon):hover{color:var(--vscode-disabledForeground)}.monaco-action-bar .action-item.disabled .action-label.icon,.monaco-action-bar .action-item.disabled .action-label.icon:before,.monaco-action-bar .action-item.disabled .action-label.icon:hover{opacity:.6}.monaco-action-bar.vertical{text-align:left}.monaco-action-bar.vertical .action-item{display:block}.monaco-action-bar.vertical .action-label.separator{display:block;border-bottom:1px solid var(--vscode-disabledForeground);padding-top:1px;margin-left:.8em;margin-right:.8em}.monaco-action-bar .action-item .action-label.separator{width:1px;height:16px;margin:5px 4px!important;cursor:default;min-width:1px;padding:0;background-color:var(--vscode-disabledForeground)}.secondary-actions .monaco-action-bar .action-label{margin-left:6px}.monaco-action-bar .action-item.select-container{overflow:hidden;flex:1;max-width:170px;min-width:60px;display:flex;align-items:center;justify-content:center;margin-right:10px}.monaco-action-bar .action-item.action-dropdown-item{display:flex}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator{display:flex;align-items:center;cursor:default}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator>div{width:1px}.monaco-dropdown{height:100%;padding:0}.monaco-dropdown>.dropdown-label{cursor:pointer;height:100%;display:flex;align-items:center;justify-content:center}.monaco-dropdown>.dropdown-label>.action-label.disabled{cursor:default}.monaco-dropdown-with-primary{display:flex!important;flex-direction:row;border-radius:5px}.monaco-dropdown-with-primary>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;padding-left:0;padding-right:0;line-height:16px;margin-left:-3px}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-size:16px;background-position:center center;background-repeat:no-repeat}.monaco-action-bar .action-item.menu-entry .action-label.icon{width:16px;height:16px;background-repeat:no-repeat;background-position:50%;background-size:16px}.monaco-action-bar .action-item.menu-entry.text-only .action-label{color:var(--vscode-descriptionForeground);overflow:hidden;border-radius:2px}.monaco-action-bar .action-item.menu-entry.text-only.use-comma:not(:last-of-type) .action-label:after{content:", "}.monaco-action-bar .action-item.menu-entry.text-only+.action-item:not(.text-only)>.monaco-dropdown .action-label{color:var(--vscode-descriptionForeground)}.monaco-dropdown-with-default{display:flex!important;flex-direction:row;border-radius:5px}.monaco-dropdown-with-default>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-default>.action-container.menu-entry>.action-label.icon{width:16px;height:16px;background-repeat:no-repeat;background-position:50%;background-size:16px}.monaco-dropdown-with-default:hover{background-color:var(--vscode-toolbar-hoverBackground)}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;padding-left:0;padding-right:0;line-height:16px;margin-left:-3px}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-size:16px;background-position:center center;background-repeat:no-repeat}.quick-input-widget{font-size:13px}.quick-input-widget .monaco-highlighted-label .highlight{color:#0066bf}.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight{color:#9dddff}.vs-dark .quick-input-widget .monaco-highlighted-label .highlight{color:#0097fb}.hc-black .quick-input-widget .monaco-highlighted-label .highlight{color:#f38518}.hc-light .quick-input-widget .monaco-highlighted-label .highlight{color:#0f4a85}.monaco-keybinding>.monaco-keybinding-key{background-color:#ddd6;border:solid 1px rgba(204,204,204,.4);border-bottom-color:#bbb6;box-shadow:inset 0 -1px #bbb6;color:#555}.hc-black .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:solid 1px rgb(111,195,223);box-shadow:none;color:#fff}.hc-light .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:solid 1px #0F4A85;box-shadow:none;color:#292929}.vs-dark .monaco-keybinding>.monaco-keybinding-key{background-color:#8080802b;border:solid 1px rgba(51,51,51,.6);border-bottom-color:#4449;box-shadow:inset 0 -1px #4449;color:#ccc}.monaco-custom-toggle{margin-left:2px;float:left;cursor:pointer;overflow:hidden;width:20px;height:20px;border-radius:3px;border:1px solid transparent;padding:1px;box-sizing:border-box;user-select:none;-webkit-user-select:none}.monaco-custom-toggle:hover{background-color:var(--vscode-inputOption-hoverBackground)}.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle:hover{border:1px dashed var(--vscode-focusBorder)}.hc-black .monaco-custom-toggle,.hc-light .monaco-custom-toggle,.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle:hover{background:none}.monaco-custom-toggle.monaco-checkbox{height:18px;width:18px;border:1px solid transparent;border-radius:3px;margin-right:9px;margin-left:0;padding:0;opacity:1;background-size:16px!important}.monaco-action-bar .checkbox-action-item{display:flex;align-items:center;border-radius:2px;padding-right:2px}.monaco-action-bar .checkbox-action-item:hover{background-color:var(--vscode-toolbar-hoverBackground)}.monaco-action-bar .checkbox-action-item>.monaco-custom-toggle.monaco-checkbox{margin-right:4px}.monaco-action-bar .checkbox-action-item>.checkbox-label{font-size:12px}.quick-input-widget{position:absolute;width:600px;z-index:2550;left:50%;-webkit-app-region:no-drag;border-radius:6px}.quick-input-titlebar{cursor:grab;display:flex;align-items:center;border-top-right-radius:5px;border-top-left-radius:5px}.quick-input-left-action-bar{display:flex;margin-left:4px;flex:1}.quick-input-inline-action-bar>.actions-container>.action-item:first-child{margin-left:5px}.quick-input-inline-action-bar>.actions-container>.action-item{margin-top:2px}.quick-input-title{cursor:grab;padding:3px 0;text-align:center;text-overflow:ellipsis;overflow:hidden}.quick-input-right-action-bar{display:flex;margin-right:4px;flex:1}.quick-input-right-action-bar>.actions-container{justify-content:flex-end}.quick-input-right-action-bar>.actions-container>.action-item{margin-left:4px}.quick-input-titlebar .monaco-action-bar .action-label.codicon{background-position:center;background-repeat:no-repeat;padding:2px}.quick-input-description{margin:6px 6px 6px 11px}.quick-input-header .quick-input-description{margin:4px 2px;flex:1}.quick-input-header{cursor:grab;display:flex;padding:6px 6px 2px}.quick-input-widget.hidden-input .quick-input-header{padding:0;margin-bottom:0}.quick-input-and-message{display:flex;flex-direction:column;flex-grow:1;min-width:0;position:relative}.quick-input-check-all{align-self:center;margin:0}.quick-input-widget .quick-input-header .monaco-checkbox{margin-top:6px}.quick-input-filter{flex-grow:1;display:flex;position:relative}.quick-input-box{flex-grow:1}.quick-input-widget.show-checkboxes .quick-input-box,.quick-input-widget.show-checkboxes .quick-input-message{margin-left:5px}.quick-input-visible-count{position:absolute;left:-10000px}.quick-input-count{align-self:center;position:absolute;right:4px;display:flex;align-items:center}.quick-input-count .monaco-count-badge{vertical-align:middle;padding:2px 4px;border-radius:2px;min-height:auto;line-height:normal}.quick-input-action{margin-left:6px}.quick-input-action .monaco-text-button{font-size:11px;padding:0 6px;display:flex;height:25px;align-items:center}.quick-input-message{margin-top:-1px;padding:5px;overflow-wrap:break-word}.quick-input-message>.codicon{margin:0 .2em;vertical-align:text-bottom}.quick-input-message a{color:inherit}.quick-input-progress.monaco-progress-container{position:relative}.quick-input-list{line-height:22px}.quick-input-widget.hidden-input .quick-input-list{margin-top:4px;padding-bottom:4px}.quick-input-list .monaco-list{overflow:hidden;max-height:440px;padding-bottom:5px}.quick-input-list .monaco-scrollable-element{padding:0 6px}.quick-input-list .quick-input-list-entry{box-sizing:border-box;overflow:hidden;display:flex;padding:0 6px}.quick-input-list .quick-input-list-entry.quick-input-list-separator-border{border-top-width:1px;border-top-style:solid}.quick-input-list .monaco-list-row{border-radius:3px}.quick-input-list .monaco-list-row[data-index="0"] .quick-input-list-entry.quick-input-list-separator-border{border-top-style:none}.quick-input-list .quick-input-list-label{overflow:hidden;display:flex;height:100%;flex:1}.quick-input-widget .monaco-checkbox{margin-right:0}.quick-input-widget .quick-input-list .monaco-checkbox,.quick-input-widget .quick-input-tree .monaco-checkbox{margin-top:4px}.quick-input-list .quick-input-list-icon{background-size:16px;background-position:left center;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;display:flex;align-items:center;justify-content:center}.quick-input-list .quick-input-list-rows{overflow:hidden;text-overflow:ellipsis;display:flex;flex-direction:column;height:100%;flex:1;margin-left:5px}.quick-input-list .quick-input-list-rows>.quick-input-list-row{display:flex;align-items:center}.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label,.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label .monaco-icon-label-container>.monaco-icon-name-container{flex:1}.quick-input-list .quick-input-list-rows>.quick-input-list-row .codicon[class*=codicon-]{vertical-align:text-bottom}.quick-input-list .quick-input-list-rows .monaco-highlighted-label>span{opacity:1}.quick-input-list .quick-input-list-entry .quick-input-list-entry-keybinding{margin-right:8px}.quick-input-list .quick-input-list-label-meta{opacity:.7;line-height:normal;text-overflow:ellipsis;overflow:hidden}.quick-input-list .monaco-list .monaco-list-row .monaco-highlighted-label .highlight{font-weight:700;background-color:unset;color:var(--vscode-list-highlightForeground)!important}.quick-input-list .monaco-list .monaco-list-row.focused .monaco-highlighted-label .highlight{color:var(--vscode-list-focusHighlightForeground)!important}.quick-input-list .quick-input-list-entry .quick-input-list-separator{margin-right:4px}.quick-input-list .quick-input-list-entry-action-bar{display:flex;flex:0;overflow:visible}.quick-input-list .quick-input-list-entry-action-bar .action-label{display:none}.quick-input-list .quick-input-list-entry-action-bar .action-label.codicon{margin-right:4px;padding:2px}.quick-input-list .quick-input-list-entry-action-bar{margin-top:1px}.quick-input-list .quick-input-list-entry-action-bar{margin-right:4px}.quick-input-list .quick-input-list-entry .quick-input-list-entry-action-bar .action-label.always-visible,.quick-input-list .quick-input-list-entry:hover .quick-input-list-entry-action-bar .action-label,.quick-input-list .quick-input-list-entry.focus-inside .quick-input-list-entry-action-bar .action-label,.quick-input-list .monaco-list-row.focused .quick-input-list-entry-action-bar .action-label,.quick-input-list .monaco-list-row.passive-focused .quick-input-list-entry-action-bar .action-label{display:flex}.quick-input-list>.monaco-list:focus .monaco-list-row.focused{outline:1px solid var(--vscode-list-focusOutline)!important;outline-offset:-1px}.quick-input-list>.monaco-list:focus .monaco-list-row.focused .quick-input-list-entry.quick-input-list-separator-border{border-color:transparent}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key,.quick-input-list .monaco-list-row.focused .quick-input-list-entry .quick-input-list-separator{color:inherit}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key{background:none}.quick-input-list .quick-input-list-separator-as-item{padding:4px 6px;font-size:12px}.quick-input-list .quick-input-list-separator-as-item .label-name{font-weight:600}.quick-input-list .quick-input-list-separator-as-item .label-description{opacity:1!important}.quick-input-list .monaco-tree-sticky-row .quick-input-list-entry.quick-input-list-separator-as-item.quick-input-list-separator-border{border-top-style:none}.quick-input-list .monaco-tree-sticky-row{padding:0 5px}.quick-input-list .monaco-tl-twistie{display:none!important}.quick-input-tree .monaco-list{overflow:hidden;max-height:440px;padding-bottom:5px}.quick-input-tree .quick-input-tree-entry{box-sizing:border-box;overflow:hidden;display:flex;padding:0 6px}.quick-input-tree .quick-input-tree-label{overflow:hidden;display:flex;height:100%;flex:1}.quick-input-tree .quick-input-tree-icon{background-size:16px;background-position:left center;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;display:flex;align-items:center;justify-content:center}.quick-input-tree .quick-input-tree-rows{overflow:hidden;text-overflow:ellipsis;display:flex;flex-direction:column;height:100%;flex:1;margin-left:5px}.quick-input-tree .quick-input-tree-rows>.quick-input-tree-row{display:flex;align-items:center}.quick-input-tree .quick-input-tree-rows>.quick-input-tree-row .monaco-icon-label,.quick-input-tree .quick-input-tree-rows>.quick-input-tree-row .monaco-icon-label .monaco-icon-label-container>.monaco-icon-name-container{flex:1}.quick-input-tree .quick-input-tree-rows>.quick-input-tree-row .codicon[class*=codicon-]{vertical-align:text-bottom}.quick-input-tree .quick-input-tree-rows .monaco-highlighted-label>span{opacity:1}.quick-input-tree .quick-input-tree-entry-action-bar{display:flex;flex:0;overflow:visible}.quick-input-tree .quick-input-tree-entry-action-bar .action-label{display:none}.quick-input-tree .quick-input-tree-entry-action-bar .action-label.codicon{margin-right:4px;padding:2px}.quick-input-tree .quick-input-tree-entry-action-bar{margin-top:1px}.quick-input-tree .quick-input-tree-entry-action-bar{margin-right:4px}.quick-input-tree .quick-input-tree-entry .quick-input-tree-entry-action-bar .action-label.always-visible,.quick-input-tree .quick-input-tree-entry:hover .quick-input-tree-entry-action-bar .action-label,.quick-input-tree .quick-input-tree-entry.focus-inside .quick-input-tree-entry-action-bar .action-label,.quick-input-tree .monaco-list-row.focused .quick-input-tree-entry-action-bar .action-label,.quick-input-tree .monaco-list-row.passive-focused .quick-input-tree-entry-action-bar .action-label{display:flex}.quick-input-tree>.monaco-list:focus .monaco-list-row.focused{outline:1px solid var(--vscode-list-focusOutline)!important;outline-offset:-1px}.monaco-text-button{box-sizing:border-box;display:flex;width:100%;padding:4px;border-radius:2px;text-align:center;cursor:pointer;justify-content:center;align-items:center;border:1px solid var(--vscode-button-border, transparent);line-height:18px}.monaco-text-button:focus{outline-offset:2px!important}.monaco-text-button:hover{text-decoration:none!important}.monaco-button.disabled:focus,.monaco-button.disabled{opacity:.4!important;cursor:default}.monaco-text-button .codicon{margin:0 .2em;color:inherit!important}.monaco-text-button.monaco-text-button-with-short-label{flex-direction:row;flex-wrap:wrap;padding:0 4px;overflow:hidden;height:28px}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label{flex-basis:100%}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{flex-grow:1;width:0;overflow:hidden}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label,.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{display:flex;justify-content:center;align-items:center;font-weight:400;font-style:inherit;padding:4px 0}.monaco-button-dropdown{display:flex;cursor:pointer}.monaco-button-dropdown.disabled{cursor:default}.monaco-button-dropdown>.monaco-button:focus{outline-offset:-1px!important}.monaco-button-dropdown.disabled>.monaco-button.disabled,.monaco-button-dropdown.disabled>.monaco-button.disabled:focus,.monaco-button-dropdown.disabled>.monaco-button-dropdown-separator{opacity:.4!important}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-right-width:0!important}.monaco-button-dropdown .monaco-button-dropdown-separator{padding:4px 0;cursor:default}.monaco-button-dropdown .monaco-button-dropdown-separator>div{height:100%;width:1px}.monaco-button-dropdown>.monaco-button.monaco-dropdown-button{border:1px solid var(--vscode-button-border, transparent);border-left-width:0!important;border-radius:0 2px 2px 0;display:flex;align-items:center}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-radius:2px 0 0 2px}.monaco-description-button{display:flex;flex-direction:column;align-items:center;margin:4px 5px}.monaco-description-button .monaco-button-description{font-style:italic;font-size:11px;padding:4px 20px}.monaco-description-button .monaco-button-label,.monaco-description-button .monaco-button-description{display:flex;justify-content:center;align-items:center}.monaco-description-button .monaco-button-label>.codicon,.monaco-description-button .monaco-button-description>.codicon{margin:0 .2em;color:inherit!important}.monaco-button.default-colors,.monaco-button-dropdown.default-colors>.monaco-button{color:var(--vscode-button-foreground);background-color:var(--vscode-button-background)}.monaco-button.default-colors:hover,.monaco-button-dropdown.default-colors>.monaco-button:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-button.default-colors.secondary,.monaco-button-dropdown.default-colors>.monaco-button.secondary{color:var(--vscode-button-secondaryForeground);background-color:var(--vscode-button-secondaryBackground)}.monaco-button.default-colors.secondary:hover,.monaco-button-dropdown.default-colors>.monaco-button.secondary:hover{background-color:var(--vscode-button-secondaryHoverBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator{background-color:var(--vscode-button-background);border-top:1px solid var(--vscode-button-border);border-bottom:1px solid var(--vscode-button-border)}.monaco-button-dropdown.default-colors .monaco-button.secondary+.monaco-button-dropdown-separator{background-color:var(--vscode-button-secondaryBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator>div{background-color:var(--vscode-button-separator)}.monaco-count-badge{padding:3px 6px;border-radius:11px;font-size:11px;min-width:18px;min-height:18px;line-height:11px;font-weight:400;text-align:center;display:inline-block;box-sizing:border-box}.monaco-count-badge.long{padding:2px 3px;border-radius:2px;min-height:auto;line-height:normal}.monaco-progress-container{width:100%;height:2px;overflow:hidden}.monaco-progress-container .progress-bit{width:2%;height:2px;position:absolute;left:0;display:none}.monaco-progress-container.active .progress-bit{display:inherit}.monaco-progress-container.discrete .progress-bit{left:0;transition:width .1s linear}.monaco-progress-container.discrete.done .progress-bit{width:100%}.monaco-progress-container.infinite .progress-bit{animation-name:progress;animation-duration:4s;animation-iteration-count:infinite;transform:translateZ(0);animation-timing-function:linear}.monaco-progress-container.infinite.infinite-long-running .progress-bit{animation-timing-function:steps(100)}@keyframes progress{0%{transform:translate(0) scaleX(1)}50%{transform:translate(2500%) scaleX(3)}to{transform:translate(4900%) scaleX(1)}}.monaco-inputbox{position:relative;display:block;padding:0;box-sizing:border-box;border-radius:2px;font-size:inherit}.monaco-inputbox>.ibwrapper>.input,.monaco-inputbox>.ibwrapper>.mirror{padding:4px 6px}.monaco-inputbox>.ibwrapper{position:relative;width:100%}.monaco-inputbox>.ibwrapper>.input{display:inline-block;box-sizing:border-box;width:100%;height:100%;line-height:inherit;border:none;font-family:inherit;font-size:inherit;resize:none;color:inherit}.monaco-inputbox>.ibwrapper>input{text-overflow:ellipsis}.monaco-inputbox>.ibwrapper>textarea.input{display:block;scrollbar-width:none;outline:none}.monaco-inputbox>.ibwrapper>textarea.input::-webkit-scrollbar{display:none}.monaco-inputbox>.ibwrapper>textarea.input.empty{white-space:nowrap}.monaco-inputbox>.ibwrapper>.mirror{position:absolute;display:inline-block;width:100%;top:0;left:0;box-sizing:border-box;white-space:pre-wrap;visibility:hidden;word-wrap:break-word}.monaco-inputbox-container{text-align:right}.monaco-inputbox-container .monaco-inputbox-message{display:inline-block;overflow:hidden;text-align:left;width:100%;box-sizing:border-box;padding:.4em;font-size:12px;line-height:17px;margin-top:-1px;word-wrap:break-word}.monaco-inputbox .monaco-action-bar{position:absolute;right:2px;top:4px}.monaco-inputbox .monaco-action-bar .action-item{margin-left:2px}.monaco-inputbox .monaco-action-bar .action-item .codicon{background-repeat:no-repeat;width:16px;height:16px}.monaco-findInput{position:relative}.monaco-findInput .monaco-inputbox{font-size:13px;width:100%}.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.vs .monaco-findInput.disabled{background-color:#e1e1e1}.vs-dark .monaco-findInput.disabled{background-color:#333}.monaco-findInput.highlight-0 .controls,.hc-light .monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-0 .1s linear 0s}.monaco-findInput.highlight-1 .controls,.hc-light .monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-1 .1s linear 0s}.hc-black .monaco-findInput.highlight-0 .controls,.vs-dark .monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-dark-0 .1s linear 0s}.hc-black .monaco-findInput.highlight-1 .controls,.vs-dark .monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-dark-1 .1s linear 0s}@keyframes monaco-findInput-highlight-0{0%{background:#fdff00cc}to{background:transparent}}@keyframes monaco-findInput-highlight-1{0%{background:#fdff00cc}99%{background:transparent}}@keyframes monaco-findInput-highlight-dark-0{0%{background:#ffffff70}to{background:transparent}}@keyframes monaco-findInput-highlight-dark-1{0%{background:#ffffff70}99%{background:transparent}}.monaco-icon-label{display:flex;overflow:hidden;text-overflow:ellipsis}.monaco-icon-label:before{background-size:16px;background-position:left center;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;line-height:inherit!important;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top;flex-shrink:0}.monaco-icon-label-iconpath{width:16px;height:16px;padding-left:2px;margin-top:2px;display:flex}.monaco-icon-label-container.disabled{color:var(--vscode-disabledForeground)}.monaco-icon-label>.monaco-icon-label-container{min-width:0;overflow:hidden;text-overflow:ellipsis;flex:1}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{color:inherit;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name>.label-separator{margin:0 2px;opacity:.5}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-suffix-container>.label-suffix{opacity:.7;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.7;margin-left:.5em;font-size:.9em;white-space:pre}.monaco-icon-label.nowrap>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{white-space:nowrap}.vs .monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.95}.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-name-container>.label-name,.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{font-style:italic}.monaco-icon-label.deprecated{text-decoration:line-through;opacity:.66}.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-name-container>.label-name,.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{text-decoration:line-through}.monaco-icon-label:after{opacity:.75;font-size:90%;font-weight:600;margin:auto 16px 0 5px;text-align:center}.monaco-list:focus .selected .monaco-icon-label,.monaco-list:focus .selected .monaco-icon-label:after{color:inherit!important}.monaco-list-row.focused.selected .label-description,.monaco-list-row.selected .label-description{opacity:.8}.monaco-keybinding{display:flex;align-items:center;line-height:10px}.monaco-keybinding>.monaco-keybinding-key{display:inline-block;border-style:solid;border-width:1px;border-radius:3px;vertical-align:middle;font-size:11px;padding:3px 5px;margin:0 2px}.monaco-keybinding>.monaco-keybinding-key:first-child{margin-left:0}.monaco-keybinding>.monaco-keybinding-key:last-child{margin-right:0}.monaco-keybinding>.monaco-keybinding-key-separator{display:inline-block}.monaco-keybinding>.monaco-keybinding-key-chord-separator{width:6px}.monaco-tl-row{display:flex;height:100%;align-items:center;position:relative}.monaco-tl-row.disabled{cursor:default}.monaco-tl-indent{height:100%;position:absolute;top:0;left:16px;pointer-events:none}.hide-arrows .monaco-tl-indent{left:12px}.monaco-tl-indent>.indent-guide{display:inline-block;box-sizing:border-box;height:100%;border-left:1px solid transparent;opacity:0}.monaco-workbench:not(.reduce-motion) .monaco-tl-indent>.indent-guide{transition:opacity .1s linear}.monaco-tl-twistie,.monaco-tl-contents{height:100%}.monaco-tl-twistie{font-size:10px;text-align:right;padding-right:6px;flex-shrink:0;width:16px;display:flex!important;align-items:center;justify-content:center;transform:translate(3px)}.monaco-tl-contents{flex:1;overflow:hidden}.monaco-tl-twistie:before{border-radius:20px}.monaco-tl-twistie.collapsed:before{transform:rotate(-90deg)}.monaco-tl-twistie.codicon-tree-item-loading:before{animation:codicon-spin 1.25s steps(30) infinite}.monaco-tree-type-filter{position:absolute;top:0;right:0;display:flex;padding:3px;max-width:200px;z-index:100;margin:0 10px 0 6px;border:1px solid var(--vscode-widget-border);border-bottom-left-radius:4px;border-bottom-right-radius:4px}.monaco-workbench:not(.reduce-motion) .monaco-tree-type-filter{transition:top .3s}.monaco-tree-type-filter.disabled{top:-40px!important}.monaco-tree-type-filter-input{flex:1}.monaco-tree-type-filter-input .monaco-inputbox{height:23px}.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.input,.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.mirror{padding:2px 4px}.monaco-tree-type-filter-input .monaco-findInput>.controls{top:2px}.monaco-tree-type-filter-actionbar{margin-left:4px}.monaco-tree-type-filter-actionbar .monaco-action-bar .action-label{padding:2px}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container{position:absolute;top:0;left:0;width:100%;height:0;z-index:13;background-color:var(--vscode-sideBar-background)}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row.monaco-list-row{position:absolute;width:100%;opacity:1!important;overflow:hidden;background-color:var(--vscode-sideBar-background)}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row:hover{background-color:var(--vscode-list-hoverBackground)!important;cursor:pointer}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty,.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty .monaco-tree-sticky-container-shadow{display:none}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow{position:absolute;bottom:-3px;left:0;height:0px;width:100%}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container[tabindex="0"]:focus{outline:none}:root{--vscode-sash-size: 4px;--vscode-sash-hover-size: 4px}.monaco-sash{position:absolute;z-index:35;touch-action:none}.monaco-sash.disabled{pointer-events:none}.monaco-sash.mac.vertical{cursor:col-resize}.monaco-sash.vertical.minimum{cursor:e-resize}.monaco-sash.vertical.maximum{cursor:w-resize}.monaco-sash.mac.horizontal{cursor:row-resize}.monaco-sash.horizontal.minimum{cursor:s-resize}.monaco-sash.horizontal.maximum{cursor:n-resize}.monaco-sash.disabled{cursor:default!important;pointer-events:none!important}.monaco-sash.vertical{cursor:ew-resize;top:0;width:var(--vscode-sash-size);height:100%}.monaco-sash.horizontal{cursor:ns-resize;left:0;width:100%;height:var(--vscode-sash-size)}.monaco-sash:not(.disabled)>.orthogonal-drag-handle{content:" ";height:calc(var(--vscode-sash-size) * 2);width:calc(var(--vscode-sash-size) * 2);z-index:100;display:block;cursor:all-scroll;position:absolute}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.start,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.end{cursor:nwse-resize}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.end,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.start{cursor:nesw-resize}.monaco-sash.vertical>.orthogonal-drag-handle.start{left:calc(var(--vscode-sash-size) * -.5);top:calc(var(--vscode-sash-size) * -1)}.monaco-sash.vertical>.orthogonal-drag-handle.end{left:calc(var(--vscode-sash-size) * -.5);bottom:calc(var(--vscode-sash-size) * -1)}.monaco-sash.horizontal>.orthogonal-drag-handle.start{top:calc(var(--vscode-sash-size) * -.5);left:calc(var(--vscode-sash-size) * -1)}.monaco-sash.horizontal>.orthogonal-drag-handle.end{top:calc(var(--vscode-sash-size) * -.5);right:calc(var(--vscode-sash-size) * -1)}.monaco-sash:before{content:"";pointer-events:none;position:absolute;width:100%;height:100%;background:transparent}.monaco-workbench:not(.reduce-motion) .monaco-sash:before{transition:background-color .1s ease-out}.monaco-sash.hover:before,.monaco-sash.active:before{background:var(--vscode-sash-hoverBorder)}.monaco-sash.vertical:before{width:var(--vscode-sash-hover-size);left:calc(50% - (var(--vscode-sash-hover-size) / 2))}.monaco-sash.horizontal:before{height:var(--vscode-sash-hover-size);top:calc(50% - (var(--vscode-sash-hover-size) / 2))}.pointer-events-disabled{pointer-events:none!important}.monaco-sash.debug{background:#0ff}.monaco-sash.debug.disabled{background:#0ff3}.monaco-sash.debug:not(.disabled)>.orthogonal-drag-handle{background:red}.monaco-split-view2{position:relative;width:100%;height:100%}.monaco-split-view2>.sash-container{position:absolute;width:100%;height:100%;pointer-events:none}.monaco-split-view2>.sash-container>.monaco-sash{pointer-events:initial}.monaco-split-view2>.monaco-scrollable-element{width:100%;height:100%}.monaco-split-view2>.monaco-scrollable-element>.split-view-container{width:100%;height:100%;white-space:nowrap;position:relative}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view{white-space:initial;position:absolute}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view:not(.visible){display:none}.monaco-split-view2.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view{width:100%}.monaco-split-view2.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view{height:100%}.monaco-split-view2.separator-border>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{content:" ";position:absolute;top:0;left:0;z-index:5;pointer-events:none;background-color:var(--separator-border)}.monaco-split-view2.separator-border.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:100%;width:1px}.monaco-split-view2.separator-border.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:1px;width:100%}.monaco-table{display:flex;flex-direction:column;position:relative;height:100%;width:100%;white-space:nowrap;overflow:hidden}.monaco-table>.monaco-split-view2{border-bottom:1px solid transparent}.monaco-table>.monaco-list{flex:1}.monaco-table-tr{display:flex;height:100%}.monaco-table-th{width:100%;height:100%;font-weight:700;overflow:hidden;text-overflow:ellipsis}.monaco-table-th,.monaco-table-td{box-sizing:border-box;flex-shrink:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{content:"";position:absolute;left:calc(var(--vscode-sash-size) / 2);width:0;border-left:1px solid transparent}.monaco-workbench:not(.reduce-motion) .monaco-table>.monaco-split-view2,.monaco-workbench:not(.reduce-motion) .monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{transition:border-color .2s ease-out}.monaco-diff-editor .diff-review{position:absolute}.monaco-component.diff-review{user-select:none;-webkit-user-select:none;z-index:99}.monaco-component.diff-review .diff-review-line-number{text-align:right;display:inline-block;color:var(--vscode-editorLineNumber-foreground)}.monaco-component.diff-review .diff-review-summary{padding-left:10px}.monaco-component.diff-review .diff-review-shadow{position:absolute;box-shadow:var(--vscode-scrollbar-shadow) 0 -6px 6px -6px inset}.monaco-component.diff-review .diff-review-row{white-space:pre}.monaco-component.diff-review .diff-review-table{display:table;min-width:100%}.monaco-component.diff-review .diff-review-row{display:table-row;width:100%}.monaco-component.diff-review .diff-review-spacer{display:inline-block;width:10px;vertical-align:middle}.monaco-component.diff-review .diff-review-spacer>.codicon{font-size:9px!important}.monaco-component.diff-review .diff-review-actions{display:inline-block;position:absolute;right:10px;top:2px;z-index:100}.monaco-component.diff-review .diff-review-actions .action-label{width:16px;height:16px;margin:2px 0}.monaco-component.diff-review .revertButton{cursor:pointer}.monaco-component.diff-review .action-label{background:var(--vscode-editorActionList-background)}.monaco-toolbar{height:100%}.monaco-toolbar .toolbar-toggle-more{display:inline-block;padding:0}.monaco-editor .diff-hidden-lines-widget{width:100%}.monaco-editor .diff-hidden-lines{height:0px;transform:translateY(-10px);font-size:13px;line-height:14px}.monaco-editor .diff-hidden-lines:not(.dragging) .top:hover,.monaco-editor .diff-hidden-lines:not(.dragging) .bottom:hover,.monaco-editor .diff-hidden-lines .top.dragging,.monaco-editor .diff-hidden-lines .bottom.dragging{background-color:var(--vscode-focusBorder)}.monaco-editor .diff-hidden-lines .top,.monaco-editor .diff-hidden-lines .bottom{transition:background-color .1s ease-out;height:4px;background-color:transparent;background-clip:padding-box;border-bottom:2px solid transparent;border-top:4px solid transparent}.monaco-editor.draggingUnchangedRegion.canMoveTop:not(.canMoveBottom) *,.monaco-editor .diff-hidden-lines .top.canMoveTop:not(.canMoveBottom),.monaco-editor .diff-hidden-lines .bottom.canMoveTop:not(.canMoveBottom){cursor:n-resize!important}.monaco-editor.draggingUnchangedRegion:not(.canMoveTop).canMoveBottom *,.monaco-editor .diff-hidden-lines .top:not(.canMoveTop).canMoveBottom,.monaco-editor .diff-hidden-lines .bottom:not(.canMoveTop).canMoveBottom{cursor:s-resize!important}.monaco-editor.draggingUnchangedRegion.canMoveTop.canMoveBottom *,.monaco-editor .diff-hidden-lines .top.canMoveTop.canMoveBottom,.monaco-editor .diff-hidden-lines .bottom.canMoveTop.canMoveBottom{cursor:ns-resize!important}.monaco-editor .diff-hidden-lines .top{transform:translateY(4px)}.monaco-editor .diff-hidden-lines .bottom{transform:translateY(-6px)}.monaco-editor .diff-unchanged-lines{background:var(--vscode-diffEditor-unchangedCodeBackground)}.monaco-editor .noModificationsOverlay{z-index:1;background:var(--vscode-editor-background);display:flex;justify-content:center;align-items:center}.monaco-editor .diff-hidden-lines .center{background:var(--vscode-diffEditor-unchangedRegionBackground);color:var(--vscode-diffEditor-unchangedRegionForeground);overflow:hidden;display:block;text-overflow:ellipsis;white-space:nowrap;height:24px;box-shadow:inset 0 -5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow),inset 0 5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow)}.monaco-editor .diff-hidden-lines .center span.codicon{vertical-align:middle}.monaco-editor .diff-hidden-lines .center a:hover .codicon{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .diff-hidden-lines div.breadcrumb-item{cursor:pointer}.monaco-editor .diff-hidden-lines div.breadcrumb-item:hover{color:var(--vscode-editorLink-activeForeground)}.monaco-editor .movedOriginal,.monaco-editor .movedModified{border:2px solid var(--vscode-diffEditor-move-border)}.monaco-editor .movedOriginal.currentMove,.monaco-editor .movedModified.currentMove{border:2px solid var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path.currentMove{stroke:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path{pointer-events:visiblestroke}.monaco-diff-editor .moved-blocks-lines .arrow{fill:var(--vscode-diffEditor-move-border)}.monaco-diff-editor .moved-blocks-lines .arrow.currentMove{fill:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines .arrow-rectangle{fill:var(--vscode-editor-background)}.monaco-diff-editor .moved-blocks-lines{position:absolute;pointer-events:none}.monaco-diff-editor .moved-blocks-lines path{fill:none;stroke:var(--vscode-diffEditor-move-border);stroke-width:2}.monaco-editor .char-delete.diff-range-empty{margin-left:-1px;border-left:solid var(--vscode-diffEditor-removedTextBackground) 3px}.monaco-editor .char-insert.diff-range-empty{border-left:solid var(--vscode-diffEditor-insertedTextBackground) 3px}.monaco-editor .fold-unchanged{cursor:pointer}.monaco-diff-editor .diff-moved-code-block{display:flex;justify-content:flex-end;margin-top:-4px}.monaco-diff-editor .diff-moved-code-block .action-bar .action-label.codicon{width:12px;height:12px;font-size:12px}.monaco-diff-editor .diffOverview{z-index:9}.monaco-diff-editor .diffOverview .diffViewport{z-index:10}.monaco-diff-editor.vs .diffOverview{background:#00000008}.monaco-diff-editor.vs-dark .diffOverview{background:#ffffff03}.monaco-scrollable-element.modified-in-monaco-diff-editor.vs .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.vs-dark .scrollbar{background:#0000}.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-black .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-light .scrollbar{background:none}.monaco-scrollable-element.modified-in-monaco-diff-editor .slider{z-index:10}.modified-in-monaco-diff-editor .slider.active{background:#ababab66}.modified-in-monaco-diff-editor.hc-black .slider.active,.modified-in-monaco-diff-editor.hc-light .slider.active{background:none}.monaco-editor .insert-sign,.monaco-diff-editor .insert-sign,.monaco-editor .delete-sign,.monaco-diff-editor .delete-sign{font-size:11px!important;opacity:.7!important;display:flex!important;align-items:center}.monaco-editor.hc-black .insert-sign,.monaco-diff-editor.hc-black .insert-sign,.monaco-editor.hc-black .delete-sign,.monaco-diff-editor.hc-black .delete-sign,.monaco-editor.hc-light .insert-sign,.monaco-diff-editor.hc-light .insert-sign,.monaco-editor.hc-light .delete-sign,.monaco-diff-editor.hc-light .delete-sign{opacity:1}.monaco-editor .inline-deleted-margin-view-zone,.monaco-editor .inline-added-margin-view-zone{text-align:right}.monaco-editor .arrow-revert-change{z-index:10;position:absolute}.monaco-editor .arrow-revert-change:hover{cursor:pointer}.monaco-editor .view-zones .view-lines .view-line span{display:inline-block}.monaco-editor .margin-view-zones .lightbulb-glyph:hover{cursor:pointer}.monaco-editor .char-insert,.monaco-diff-editor .char-insert{background-color:var(--vscode-diffEditor-insertedTextBackground)}.monaco-editor .line-insert,.monaco-diff-editor .line-insert{background-color:var(--vscode-diffEditor-insertedLineBackground, var(--vscode-diffEditor-insertedTextBackground))}.monaco-editor .line-insert,.monaco-editor .char-insert{box-sizing:border-box;border:1px solid var(--vscode-diffEditor-insertedTextBorder)}.monaco-editor.hc-black .line-insert,.monaco-editor.hc-light .line-insert,.monaco-editor.hc-black .char-insert,.monaco-editor.hc-light .char-insert{border-style:dashed}.monaco-editor .line-delete,.monaco-editor .char-delete{box-sizing:border-box;border:1px solid var(--vscode-diffEditor-removedTextBorder)}.monaco-editor.hc-black .line-delete,.monaco-editor.hc-light .line-delete,.monaco-editor.hc-black .char-delete,.monaco-editor.hc-light .char-delete{border-style:dashed}.monaco-editor .inline-added-margin-view-zone,.monaco-editor .gutter-insert,.monaco-diff-editor .gutter-insert{background-color:var(--vscode-diffEditorGutter-insertedLineBackground, var(--vscode-diffEditor-insertedLineBackground), var(--vscode-diffEditor-insertedTextBackground))}.monaco-editor .char-delete,.monaco-diff-editor .char-delete,.monaco-editor .inline-deleted-text{background-color:var(--vscode-diffEditor-removedTextBackground)}.monaco-editor .inline-deleted-text{text-decoration:line-through}.monaco-editor .line-delete,.monaco-diff-editor .line-delete{background-color:var(--vscode-diffEditor-removedLineBackground, var(--vscode-diffEditor-removedTextBackground))}.monaco-editor .inline-deleted-margin-view-zone,.monaco-editor .gutter-delete,.monaco-diff-editor .gutter-delete{background-color:var(--vscode-diffEditorGutter-removedLineBackground, var(--vscode-diffEditor-removedLineBackground), var(--vscode-diffEditor-removedTextBackground))}.monaco-diff-editor.side-by-side .editor.modified{box-shadow:-6px 0 5px -5px var(--vscode-scrollbar-shadow);border-left:1px solid var(--vscode-diffEditor-border)}.monaco-diff-editor.side-by-side .editor.original{box-shadow:6px 0 5px -5px var(--vscode-scrollbar-shadow);border-right:1px solid var(--vscode-diffEditor-border)}.monaco-diff-editor .diffViewport{background:var(--vscode-scrollbarSlider-background)}.monaco-diff-editor .diffViewport:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-diff-editor .diffViewport:active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-editor .diagonal-fill{background-image:linear-gradient(-45deg,var(--vscode-diffEditor-diagonalFill) 12.5%,#0000 12.5%,#0000 50%,var(--vscode-diffEditor-diagonalFill) 50%,var(--vscode-diffEditor-diagonalFill) 62.5%,#0000 62.5%,#0000 100%);background-size:8px 8px}.monaco-diff-editor .gutter{position:relative;overflow:hidden;flex-shrink:0;flex-grow:0}.monaco-diff-editor .gutter>div{position:absolute}.monaco-diff-editor .gutter .gutterItem{opacity:0;transition:opacity .7s}.monaco-diff-editor .gutter .gutterItem.showAlways{opacity:1;transition:none}.monaco-diff-editor .gutter .gutterItem.noTransition{transition:none}.monaco-diff-editor .gutter:hover .gutterItem{opacity:1;transition:opacity .1s ease-in-out}.monaco-diff-editor .gutter .gutterItem .background{position:absolute;height:100%;left:50%;width:1px;border-left:2px var(--vscode-menu-separatorBackground) solid}.monaco-diff-editor .gutter .gutterItem .buttons{position:absolute;width:100%;display:flex;justify-content:center;align-items:center}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar{height:fit-content}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar{line-height:1}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar .actions-container{width:fit-content;border-radius:4px;background:var(--vscode-editorGutter-itemBackground)}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar .actions-container .action-item:hover{background:var(--vscode-toolbar-hoverBackground)}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar .actions-container .action-item .action-label{color:var(--vscode-editorGutter-itemGlyphForeground);padding:1px 2px}.monaco-diff-editor .diff-hidden-lines-compact{display:flex;height:11px}.monaco-diff-editor .diff-hidden-lines-compact .line-left,.monaco-diff-editor .diff-hidden-lines-compact .line-right{height:1px;border-top:1px solid;border-color:var(--vscode-editorCodeLens-foreground);opacity:.5;margin:auto;width:100%}.monaco-diff-editor .diff-hidden-lines-compact .line-left{width:20px}.monaco-diff-editor .diff-hidden-lines-compact .text{color:var(--vscode-editorCodeLens-foreground);text-wrap:nowrap;font-size:11px;line-height:11px;margin:0 4px}.monaco-component.multiDiffEditor{background:var(--vscode-multiDiffEditor-background);position:relative;height:100%;width:100%;overflow-y:hidden}.monaco-component.multiDiffEditor>div{position:absolute;top:0;left:0;height:100%;width:100%}.monaco-component.multiDiffEditor>div.placeholder{visibility:hidden;display:grid;place-items:center;place-content:center}.monaco-component.multiDiffEditor>div.placeholder.visible{visibility:visible}.monaco-component.multiDiffEditor .active{--vscode-multiDiffEditor-border: var(--vscode-focusBorder)}.monaco-component.multiDiffEditor .multiDiffEntry{display:flex;flex-direction:column;flex:1;overflow:hidden}.monaco-component.multiDiffEditor .multiDiffEntry .collapse-button{margin:0 5px;cursor:pointer}.monaco-component.multiDiffEditor .multiDiffEntry .collapse-button a{display:block}.monaco-component.multiDiffEditor .multiDiffEntry .header{z-index:1000;background:var(--vscode-editor-background)}.monaco-component.multiDiffEditor .multiDiffEntry .header:not(.collapsed) .header-content{border-bottom:1px solid var(--vscode-sideBarSectionHeader-border)}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content{margin:8px 0 0;padding:4px 5px;border-top:1px solid var(--vscode-multiDiffEditor-border);display:flex;align-items:center;color:var(--vscode-foreground);background:var(--vscode-multiDiffEditor-headerBackground)}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content.shadow{box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .file-path{display:flex;flex:1;min-width:0}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .file-path .title{font-size:14px;line-height:22px}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .file-path .title.original{flex:1;min-width:0;text-overflow:ellipsis}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .file-path .status{font-weight:600;opacity:.75;margin:0 10px;line-height:22px}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .actions{padding:0 8px}.monaco-component.multiDiffEditor .multiDiffEntry .editorParent{flex:1;display:flex;flex-direction:column;border-bottom:1px solid var(--vscode-multiDiffEditor-border);overflow:hidden}.monaco-component.multiDiffEditor .multiDiffEntry .editorContainer{flex:1}.kernelift__monaco-container[data-v-e1f9e479],.kernelift__monaco-editor[data-v-e1f9e479]{width:100%;height:100%;min-height:200px;min-width:200px;position:relative}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
|
|
2
|
+
Theme: GitHub
|
|
3
|
+
Description: Light theme as seen on github.com
|
|
4
|
+
Author: github.com
|
|
5
|
+
Maintainer: @Hirse
|
|
6
|
+
Updated: 2021-05-15
|
|
7
|
+
|
|
8
|
+
Outdated base version: https://github.com/primer/github-syntax-light
|
|
9
|
+
Current colors taken from GitHub's CSS
|
|
10
|
+
*/.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}html.dark{--markdown-text-color: #f7f7f7}html.dark .kernelift-md-render{color:var(--markdown-text-color)}.kernelift-md-render.prose{max-width:100%!important}.kernelift-md-render{width:100%}.kernelift-md-render h1,.kernelift-md-render h2,.kernelift-md-render h3{margin-top:.8rem;margin-bottom:.5rem;font-weight:600;color:#2c3e50;line-height:1.3}.kernelift-md-render h1{font-size:1.3em}.kernelift-md-render h2{font-size:1.1em;border-bottom:1px solid #eee;padding-bottom:.3rem}.kernelift-md-render h3{font-size:1em}.kernelift-md-render .code-block-wrapper{border:1px solid #e1e4e8;border-radius:6px;overflow:hidden;display:flex;flex-direction:column;width:100%;margin-top:8px}.kernelift-md-render .code-block-wrapper .code-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background-color:#f6f8fa;border-bottom:1px solid #e1e4e8}.kernelift-md-render .code-block-wrapper .lang{color:#6a737d;font-size:.9em}.kernelift-md-render .code-block-wrapper .copy-btn{background:none;border:none;cursor:pointer;padding:4px;font-size:14px;opacity:.6;transition:opacity .2s}.kernelift-md-render .code-block-wrapper .copy-btn:hover{opacity:1}.kernelift-md-render .code-block-wrapper .code-content{display:flex;position:relative;background:#fff}.kernelift-md-render .code-block-wrapper .line-numbers{-webkit-user-select:none;user-select:none;padding:1em;text-align:right;background-color:#f6f8fa;border-right:1px solid #f5f5f5;border-top:2px solid #f6f8fa;position:sticky;box-sizing:border-box;left:0;z-index:1}.kernelift-md-render .code-block-wrapper .line-numbers .ln{color:#6a737d;font-family:Noto Sans,sans-serif;font-size:15px;line-height:1.5em}.kernelift-md-render .code-block-wrapper pre{margin:0;padding:0;overflow-x:auto;border-top:2px solid transparent;width:100%}.kernelift-md-render .code-block-wrapper pre code{font-family:Noto Sans,sans-serif;font-size:15px;line-height:1.5em;display:block;margin:0;counter-reset:line;padding:1em!important}.kernelift-md-render .code-block-wrapper pre :deep(.hljs){background:transparent}.kernelift-md-render hr{margin:.8em 0}.kernelift-md-render p{margin:.5em 0}.kernelift-md-render .table-container{overflow-x:auto;width:100%}.kernelift-md-render table{width:100%;overflow:auto;margin:1em 0;border-collapse:collapse;background-color:#fff;border:1px solid #e1e4e8;box-shadow:0 1px 3px #0000000d}.kernelift-md-render table th{background-color:#f6f8fa;border:1px solid #e1e4e8!important;font-weight:600;color:#2d3748;position:relative;white-space:nowrap}.kernelift-md-render table th:after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);height:60%;width:1px;background-color:#e1e4e8}.kernelift-md-render table th:last-child:after{display:none}.kernelift-md-render table td{border:1px solid #e1e4e8;transition:background-color .2s}.kernelift-md-render table th,.kernelift-md-render table td{padding:12px 16px;text-align:left;font-size:15px;line-height:1.4}.kernelift-md-render table tr:nth-child(2n){background-color:#f8f8f8}.kernelift-md-render table tr:hover td{background-color:#f0f4ff}.kernelift-md-render[data-v-013757c6],.kernelift-md-render__container[data-v-013757c6]{width:100%;min-width:200px;position:relative}.kernelift-thinking-process[data-v-1f73c7f0]{margin-bottom:8px}.kernelift-thinking-process__header[data-v-1f73c7f0]{font-size:16px;cursor:pointer;display:flex;align-items:center}.kernelift-thinking-process__loading[data-v-1f73c7f0]{display:flex;align-items:center}.kernelift-thinking-process__loading-icon[data-v-1f73c7f0]{width:24px;height:24px}.kernelift-thinking-process__loading-text[data-v-1f73c7f0]{margin-left:8px;height:26.5px}.kernelift-thinking-process__completed[data-v-1f73c7f0]{display:flex;align-items:center}.kernelift-thinking-process__completed-icon[data-v-1f73c7f0]{color:#2c6af3;margin-right:8px}.kernelift-thinking-process__collapse-icon[data-v-1f73c7f0]{margin-left:12px}.kernelift-thinking-process__content[data-v-1f73c7f0]{font-size:14px;color:#61666b;padding-left:8px;margin-left:12px;border-left:1px solid #d1d5db}.kernelift-thinking-process__markdown[data-v-1f73c7f0]{font-size:14px!important;color:#61666b!important}.kernelift-chat-bubble[data-v-e9486066]{width:100%;position:relative}.kernelift-chat-bubble__main[data-v-e9486066],.kernelift-chat-bubble__thinking[data-v-e9486066]{position:relative}.kernelift-chat-bubble__assistant[data-v-e9486066]{width:100%;position:relative;border-radius:12px;margin-bottom:12px;padding:12px 16px;word-wrap:break-word;background-color:#fff}.kernelift-chat-bubble__user[data-v-e9486066]{width:100%;display:flex;justify-content:flex-end;position:relative;margin-bottom:12px}.kernelift-chat-bubble__user-content[data-v-e9486066]{background-color:rgba(var(--kl-chat-primary-rgb),.25);padding:12px 16px;border-radius:12px;max-width:85%;word-wrap:break-word}.kernelift-chat-bubble__footer[data-v-e9486066]{margin-top:4px;min-height:38px}.kernelift-chat-bubble__actions[data-v-e9486066]{display:flex;gap:8px;color:#6b7280;font-size:18px;transition:opacity .3s ease}.kernelift-chat-bubble__actions--hover[data-v-e9486066]{opacity:0}.kernelift-chat-bubble__actions--hover[data-v-e9486066]:hover{opacity:1}.kernelift-chat-bubble__action-item[data-v-e9486066]{padding:4px;border-radius:50%;cursor:pointer;transition:background-color .2s ease}.kernelift-chat-bubble__action-item[data-v-e9486066]:hover{background-color:rgba(var(--kl-chat-primary-rgb),.13)}.kernelift-chat-sidebar[data-v-1506c5de]{width:100%;height:100%;position:relative;padding:12px;overflow:auto}.kernelift-chat-sidebar__actions[data-v-1506c5de]{position:absolute;right:12px;top:12px;z-index:30}.kernelift-chat-sidebar__action-group[data-v-1506c5de]{display:flex;gap:4px}.kernelift-chat-sidebar__action-item[data-v-1506c5de]{padding:4px;border-radius:50%;cursor:pointer;transition:background-color .2s ease}.kernelift-chat-sidebar__action-item[data-v-1506c5de]:hover{background-color:rgba(var(--kl-chat-primary-rgb),.13)}.kernelift-chat-sidebar__header[data-v-1506c5de]{position:sticky;top:0;left:0;z-index:20;margin-bottom:12px}.kernelift-chat-sidebar__logo[data-v-1506c5de]{cursor:pointer}.kernelift-chat-sidebar__logo-img[data-v-1506c5de]{height:63px}.kernelift-chat-sidebar__new-chat[data-v-1506c5de]{margin-bottom:12px}.kernelift-chat-sidebar__new-chat-btn[data-v-1506c5de]{width:100%;height:42px;margin-bottom:12px;border-radius:9999px;padding:12px 16px;border:1px solid #dcdfe6;background:var(--kl-chat-primary-color);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;font-size:16px;transition:all .3s ease;color:#fff;box-shadow:0 -2px 2px #4868b20a,0 2px 2px #6a6f7517,0 1px 2px #4868b214}.kernelift-chat-sidebar__new-chat-btn[data-v-1506c5de]:hover{border-color:#c0c4cc;background:var(--kl-chat-primary-color);filter:brightness(1.2)}.kernelift-chat-sidebar__new-chat-icon[data-v-1506c5de]{font-size:18px}.kernelift-chat-sidebar__records[data-v-1506c5de]{position:relative}.kernelift-chat-sidebar__record-item[data-v-1506c5de]{margin:8px 0;background-color:#f4f4f6;padding:6px 12px;border:1px solid transparent;border-radius:8px;cursor:pointer;position:relative;transition:all .2s ease}.kernelift-chat-sidebar__record-item[data-v-1506c5de]:hover{color:var(--kl-chat-primary-color);background-color:rgba(var(--kl-chat-primary-rgb),.2)}.kernelift-chat-sidebar__record-item--active[data-v-1506c5de]{background-color:rgba(var(--kl-chat-primary-rgb),.25)}.kernelift-chat-sidebar__record-actions[data-v-1506c5de]{position:absolute;right:4px;top:4px;padding:4px;z-index:50;border-radius:50%;transition:background-color .2s ease;opacity:0}.kernelift-chat-sidebar__record-actions[data-v-1506c5de]:hover{background-color:#d1d5dbcc}.kernelift-chat-sidebar__record-item:hover .kernelift-chat-sidebar__record-actions[data-v-1506c5de]{opacity:1}.kernelift-chat-sidebar__record-action-icon[data-v-1506c5de]{font-size:20px}.kernelift-chat-sidebar__record-content[data-v-1506c5de]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;margin-bottom:8px;max-width:calc(100% - 20px)}.kernelift-chat-sidebar__record-info[data-v-1506c5de]{font-size:14px;color:#9ca3af;display:flex;justify-content:space-between;align-items:center}.kernelift-chat-sidebar__record-name[data-v-1506c5de]{position:relative}.kernelift-chat-sidebar__record-time[data-v-1506c5de]{margin-left:auto}.kernelift-chat-sender[data-v-26ca3c9b]{width:100%;height:192px;position:relative;padding:0 12px}.kernelift-chat-sender__container[data-v-26ca3c9b]{width:100%;height:100%;border-radius:12px;overflow:hidden;position:relative;background-color:#fff;padding:8px;box-shadow:0 4px 10px #00000005,0 2px 4px #0000000a;border:1px solid rgba(0,0,0,.1)}.kernelift-chat-sender__container[data-v-26ca3c9b]:focus-within{border:1px solid var(--kl-chat-primary-color);box-shadow:0 4px 10px rgba(var(--kl-chat-primary-rgb),.02),0 2px 4px rgba(var(--kl-chat-primary-rgb),.04)}.kernelift-chat-sender__input[data-v-26ca3c9b]{width:100%;height:140px;font-size:15px;box-shadow:none}.kernelift-chat-sender__input[data-v-26ca3c9b] .el-textarea__inner{border:none;outline:none;resize:none;box-shadow:none;padding:8px}.kernelift-chat-sender__toolbar[data-v-26ca3c9b]{width:100%;display:flex;justify-content:space-between;align-items:center;height:36px}.kernelift-chat-sender__tools[data-v-26ca3c9b]{display:flex;gap:8px;align-items:center}.kernelift-chat-sender__tool-btn[data-v-26ca3c9b]{position:relative}.kernelift-chat-sender__send-btn[data-v-26ca3c9b]{margin-left:auto}.kernelift-chat-header[data-v-23214280]{height:100%;width:100%;display:flex;align-items:center;justify-content:center}.icon-dialog .dialog-header[data-v-7c47f000]{padding-bottom:12px;border-bottom:1px solid #d1d5db}.icon-dialog .search-container[data-v-7c47f000]{display:flex;align-items:center}.icon-dialog .search-input[data-v-7c47f000]{width:320px;margin-right:10px;margin-left:10px}.icon-dialog .filter-icon[data-v-7c47f000]{margin-left:8px;cursor:pointer}.icon-dialog .filter-section[data-v-7c47f000]{display:flex;justify-content:flex-end;align-items:center;margin-top:12px}.icon-dialog .filter-label[data-v-7c47f000]{color:#000;margin-right:8px}.icon-dialog .icons-container[data-v-7c47f000]{display:flex;flex-wrap:wrap;gap:8px;padding:12px;max-height:820px;overflow:auto}.icon-dialog .icon-item[data-v-7c47f000]{cursor:pointer}.icon-preview[data-v-7c47f000]{display:flex;align-items:center}.icon-dialog-footer[data-v-7c47f000]{display:flex;justify-content:flex-end}.kernelift-chat-container[data-v-a3cfaf5a]{--kl-chat-primary-color: var(--c2d26506);--kl-chat-primary-rgb: var(--v6c961567);--el-color-primary: var(--kl-chat-primary-color);--el-color-primary-light-3: var(--v750df044);--el-color-primary-light-5: var(--v750df006);--el-color-primary-light-7: var(--v750defc8);--el-color-primary-light-8: var(--v750def8a);--el-color-primary-light-9: var(--v750def4c);width:100%;height:100%;display:flex;position:relative;background:linear-gradient(135deg,rgb(var(--kl-chat-primary-rgb)),rgba(var(--kl-chat-primary-rgb),.8));padding:8px}[data-v-a3cfaf5a] .dark .kernelift-chat-container{background-color:var(--dark-background-color, #1a1a1a)}.kernelift-chat-container__box[data-v-a3cfaf5a]{width:100%;height:100%;display:flex;position:relative;border-radius:14px;overflow:hidden}.kernelift-chat-container__aside[data-v-a3cfaf5a]{height:100%;position:relative;background-color:#fff;border-right:1px solid rgba(0,0,0,.04)}[data-v-a3cfaf5a] .dark .kernelift-chat-container__aside{background-color:#1a1a1ae6}.kernelift-chat-container__aside--transition[data-v-a3cfaf5a]{transition:all .5s ease}.kernelift-chat-container__resize-handle[data-v-a3cfaf5a]{width:1px;height:100%;background-color:#d1d5db;cursor:col-resize;position:relative;z-index:10;transition:all .3s ease}.kernelift-chat-container__resize-handle[data-v-a3cfaf5a]:hover{width:3px;background-color:rgba(var(--kl-chat-primary-rgb),.9);box-shadow:0 1px 3px #0000001a}.kernelift-chat-container__main[data-v-a3cfaf5a]{position:relative;background-color:#f7f8fc}.kernelift-chat-container__main--flex[data-v-a3cfaf5a]{display:flex}.kernelift-chat-container__chat-area[data-v-a3cfaf5a]{height:100%;position:relative}.kernelift-chat-container__chat-area--full[data-v-a3cfaf5a]{width:100%}.kernelift-chat-container__chat-area--half[data-v-a3cfaf5a]{width:50%}.kernelift-chat-container__header[data-v-a3cfaf5a]{position:absolute;width:100%;top:0;left:0;height:62px;z-index:10}.kernelift-chat-container__collapsed-header[data-v-a3cfaf5a]{position:absolute;top:0;left:0;height:62px;z-index:20;display:flex;align-items:center}.kernelift-chat-container__logo[data-v-a3cfaf5a]{cursor:pointer}.kernelift-chat-container__logo-img[data-v-a3cfaf5a]{height:42px;margin-left:8px}.kernelift-chat-container__header-actions[data-v-a3cfaf5a]{margin-left:8px;display:flex;gap:4px}.kernelift-chat-container__header-action[data-v-a3cfaf5a]{padding:4px;border-radius:50%;cursor:pointer;transition:background-color .2s ease}.kernelift-chat-container__header-action[data-v-a3cfaf5a]:hover{background-color:rgba(var(--kl-chat-primary-rgb),.13)}.kernelift-chat-container__messages-section[data-v-a3cfaf5a]{position:relative;padding-top:70px}.kernelift-chat-container__messages-section--with-tools[data-v-a3cfaf5a]{height:calc(100% - 264px)}.kernelift-chat-container__messages-section--without-tools[data-v-a3cfaf5a]{height:calc(100% - 224px)}.kernelift-chat-container__messages-container[data-v-a3cfaf5a]{height:100%;width:100%;position:relative}.kernelift-chat-container__messages-list-wrapper[data-v-a3cfaf5a]{max-width:900px;height:100%;margin:0 auto;position:relative}.kernelift-chat-container__messages-list[data-v-a3cfaf5a]{overflow:auto;height:100%;width:100%;padding:0 4px 32px 12px;--scrollbar-width: 8px;--scrollbar-border-radius: 4px;--scrollbar-track-color: transparent;--scrollbar-thumb-color: rgba(var(--kl-chat-primary-rgb), .3);--scrollbar-thumb-hover-color: rgba(var(--kl-chat-primary-rgb), .6);--scrollbar-thumb-active-color: rgba(var(--kl-chat-primary-rgb), .8)}.kernelift-chat-container__messages-list[data-v-a3cfaf5a]::-webkit-scrollbar{width:var(--scrollbar-width);height:var(--scrollbar-width);opacity:0;transition:opacity .3s ease}.kernelift-chat-container__messages-list[data-v-a3cfaf5a]::-webkit-scrollbar-track{background:var(--scrollbar-track-color);border-radius:var(--scrollbar-border-radius);margin:2px}.kernelift-chat-container__messages-list[data-v-a3cfaf5a]::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-color);border-radius:var(--scrollbar-border-radius);transition:all .3s ease;cursor:pointer}.kernelift-chat-container__messages-list[data-v-a3cfaf5a]::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover-color)}.kernelift-chat-container__messages-list[data-v-a3cfaf5a]::-webkit-scrollbar-thumb:active{background:var(--scrollbar-thumb-active-color)}.kernelift-chat-container__empty-state[data-v-a3cfaf5a]{display:flex;justify-content:center;align-items:center;height:100%}.kernelift-chat-container__empty-text[data-v-a3cfaf5a]{text-align:center;color:#9ca3af}.kernelift-chat-container__next-tips[data-v-a3cfaf5a]{position:absolute;bottom:8px;left:50%;transform:translate(-50%);display:flex;align-items:center;flex-wrap:wrap;gap:12px}.kernelift-chat-container__next-tip[data-v-a3cfaf5a]{font-size:14px;color:var(--kl-chat-primary-color);border:1px solid var(--kl-chat-primary-color);background-color:#fff;padding:4px 8px;border-radius:4px;cursor:pointer;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;white-space:nowrap}.kernelift-chat-container__next-tip[data-v-a3cfaf5a]:hover{filter:brightness(1.2)}.kernelift-chat-container__footer[data-v-a3cfaf5a]{position:relative}.kernelift-chat-container__footer--with-tools[data-v-a3cfaf5a]{height:280px}.kernelift-chat-container__footer--without-tools[data-v-a3cfaf5a]{height:238px}.kernelift-chat-container__footer-wrapper[data-v-a3cfaf5a]{max-width:936px;margin:0 auto;position:relative}.kernelift-chat-container__sender-tools[data-v-a3cfaf5a]{height:42px}.kernelift-chat-container__footer-note[data-v-a3cfaf5a]{text-align:center;font-size:14px;color:#9ca3af;padding:8px 0}.kernelift-chat-container__workspace[data-v-a3cfaf5a]{width:50%;height:100%;position:relative;border-left:1px solid #e5e7eb}.kernelift-chat-container__workspace-close[data-v-a3cfaf5a]{position:absolute;top:12px;right:12px;cursor:pointer}.kernelift-chat-container__loading-text[data-v-a3cfaf5a]{display:flex;align-items:center}
|