@jupyterlab/debugger-extension 4.5.0-beta.0 → 4.5.0-rc.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/lib/index.js CHANGED
@@ -9,7 +9,7 @@ import { Clipboard, Dialog, ICommandPalette, InputDialog, ISanitizer, ISessionCo
9
9
  import { IEditorServices } from '@jupyterlab/codeeditor';
10
10
  import { ConsolePanel, IConsoleTracker } from '@jupyterlab/console';
11
11
  import { PageConfig, PathExt } from '@jupyterlab/coreutils';
12
- import { Debugger, IDebugger, IDebuggerConfig, IDebuggerHandler, IDebuggerSidebar, IDebuggerSources, IDebuggerSourceViewer } from '@jupyterlab/debugger';
12
+ import { Debugger, DebuggerDisplayRegistry, IDebugger, IDebuggerConfig, IDebuggerDisplayRegistry, IDebuggerHandler, IDebuggerSidebar, IDebuggerSources, IDebuggerSourceViewer } from '@jupyterlab/debugger';
13
13
  import { DocumentWidget } from '@jupyterlab/docregistry';
14
14
  import { FileEditor, IEditorTracker } from '@jupyterlab/fileeditor';
15
15
  import { INotebookTracker, NotebookActions, NotebookPanel } from '@jupyterlab/notebook';
@@ -20,6 +20,7 @@ import { ICompletionProviderManager } from '@jupyterlab/completer';
20
20
  import { WidgetTracker } from '@jupyterlab/apputils';
21
21
  import { DebugConsoleCellExecutor } from './debug-console-executor';
22
22
  import { DebuggerCompletionProvider } from './debugger-completion-provider';
23
+ import { isCodeCellModel } from '@jupyterlab/cells';
23
24
  function notifyCommands(commands) {
24
25
  Object.values(Debugger.CommandIDs).forEach(command => {
25
26
  if (commands.hasCommand(command)) {
@@ -46,12 +47,30 @@ const consoles = {
46
47
  description: 'Add debugger capability to the consoles.',
47
48
  autoStart: true,
48
49
  requires: [IDebugger, IConsoleTracker],
49
- optional: [ILabShell],
50
- activate: (app, debug, consoleTracker, labShell) => {
50
+ optional: [
51
+ ILabShell,
52
+ ISettingRegistry,
53
+ ITranslator,
54
+ IDebuggerDisplayRegistry
55
+ ],
56
+ activate: async (app, debug, consoleTracker, labShell, settingRegistry, translator, displayRegistry) => {
57
+ if (settingRegistry) {
58
+ const settings = await (settingRegistry === null || settingRegistry === void 0 ? void 0 : settingRegistry.load(main.id));
59
+ const updateOverlaySetting = () => {
60
+ var _a;
61
+ const showOverlay = (_a = settings.composite['showPausedOverlay']) !== null && _a !== void 0 ? _a : true;
62
+ document.body.dataset.showPausedOverlay = showOverlay
63
+ ? 'true'
64
+ : 'false';
65
+ };
66
+ updateOverlaySetting();
67
+ settings.changed.connect(updateOverlaySetting);
68
+ }
51
69
  const handler = new Debugger.Handler({
52
70
  type: 'console',
53
71
  shell: app.shell,
54
- service: debug
72
+ service: debug,
73
+ translator: translator
55
74
  });
56
75
  const updateHandlerAndCommands = async (widget) => {
57
76
  const { sessionContext } = widget;
@@ -74,6 +93,44 @@ const consoles = {
74
93
  }
75
94
  });
76
95
  }
96
+ if (displayRegistry) {
97
+ displayRegistry.register({
98
+ canHandle(source) {
99
+ var _a, _b;
100
+ return (_b = (_a = source.path) === null || _a === void 0 ? void 0 : _a.includes('ipykernel_')) !== null && _b !== void 0 ? _b : false;
101
+ },
102
+ getDisplayName(source) {
103
+ var _a;
104
+ let displayName = (_a = source.path) !== null && _a !== void 0 ? _a : '';
105
+ consoleTracker.forEach(panel => {
106
+ var _a, _b;
107
+ for (const cell of panel.console.cells) {
108
+ const model = cell.model;
109
+ if (!isCodeCellModel(model)) {
110
+ continue;
111
+ }
112
+ const code = model.sharedModel.getSource();
113
+ const codeId = debug.getCodeId(code);
114
+ if (codeId && codeId === source.path) {
115
+ const exec = (_a = model.executionCount) !== null && _a !== void 0 ? _a : null;
116
+ const state = (_b = model.executionState) !== null && _b !== void 0 ? _b : null;
117
+ if (state === 'running') {
118
+ displayName = 'In [*]';
119
+ }
120
+ else if (exec === null) {
121
+ displayName = 'In [ ]';
122
+ }
123
+ else {
124
+ displayName = `In [${exec}]`;
125
+ }
126
+ return;
127
+ }
128
+ }
129
+ });
130
+ return displayName;
131
+ }
132
+ });
133
+ }
77
134
  }
78
135
  };
79
136
  /**
@@ -85,12 +142,25 @@ const files = {
85
142
  description: 'Adds debugger capabilities to files.',
86
143
  autoStart: true,
87
144
  requires: [IDebugger, IEditorTracker],
88
- optional: [ILabShell],
89
- activate: (app, debug, editorTracker, labShell) => {
145
+ optional: [ILabShell, ISettingRegistry, ITranslator],
146
+ activate: async (app, debug, editorTracker, labShell, settingRegistry, translator) => {
147
+ if (settingRegistry) {
148
+ const settings = await (settingRegistry === null || settingRegistry === void 0 ? void 0 : settingRegistry.load(main.id));
149
+ const updateOverlaySetting = () => {
150
+ var _a;
151
+ const showOverlay = (_a = settings.composite['showPausedOverlay']) !== null && _a !== void 0 ? _a : true;
152
+ document.body.dataset.showPausedOverlay = showOverlay
153
+ ? 'true'
154
+ : 'false';
155
+ };
156
+ updateOverlaySetting();
157
+ settings.changed.connect(updateOverlaySetting);
158
+ }
90
159
  const handler = new Debugger.Handler({
91
160
  type: 'file',
92
161
  shell: app.shell,
93
- service: debug
162
+ service: debug,
163
+ translator: translator
94
164
  });
95
165
  const activeSessions = {};
96
166
  const updateHandlerAndCommands = async (widget) => {
@@ -145,15 +215,35 @@ const notebooks = {
145
215
  description: 'Adds debugger capability to notebooks and provides the debugger notebook handler.',
146
216
  autoStart: true,
147
217
  requires: [IDebugger, INotebookTracker],
148
- optional: [ILabShell, ICommandPalette, ISessionContextDialogs, ITranslator],
218
+ optional: [
219
+ ILabShell,
220
+ ICommandPalette,
221
+ ISessionContextDialogs,
222
+ ISettingRegistry,
223
+ ITranslator,
224
+ IDebuggerDisplayRegistry
225
+ ],
149
226
  provides: IDebuggerHandler,
150
- activate: (app, service, notebookTracker, labShell, palette, sessionDialogs_, translator_) => {
227
+ activate: async (app, service, notebookTracker, labShell, palette, sessionDialogs_, settingRegistry, translator_, displayRegistry) => {
151
228
  const translator = translator_ !== null && translator_ !== void 0 ? translator_ : nullTranslator;
229
+ if (settingRegistry) {
230
+ const settings = await (settingRegistry === null || settingRegistry === void 0 ? void 0 : settingRegistry.load(main.id));
231
+ const updateOverlaySetting = () => {
232
+ var _a;
233
+ const showOverlay = (_a = settings.composite['showPausedOverlay']) !== null && _a !== void 0 ? _a : true;
234
+ document.body.dataset.showPausedOverlay = showOverlay
235
+ ? 'true'
236
+ : 'false';
237
+ };
238
+ updateOverlaySetting();
239
+ settings.changed.connect(updateOverlaySetting);
240
+ }
152
241
  const sessionDialogs = sessionDialogs_ !== null && sessionDialogs_ !== void 0 ? sessionDialogs_ : new SessionContextDialogs({ translator });
153
242
  const handler = new Debugger.Handler({
154
243
  type: 'notebook',
155
244
  shell: app.shell,
156
- service
245
+ service,
246
+ translator: translator
157
247
  });
158
248
  const trans = translator.load('jupyterlab');
159
249
  app.commands.addCommand(Debugger.CommandIDs.restartDebug, {
@@ -188,6 +278,7 @@ const notebooks = {
188
278
  const { sessionContext } = widget;
189
279
  await sessionContext.ready;
190
280
  await handler.updateContext(widget, sessionContext);
281
+ await handler.updateWidget(widget, sessionContext.session);
191
282
  }
192
283
  updateState(app.commands, service);
193
284
  };
@@ -212,6 +303,40 @@ const notebooks = {
212
303
  command: Debugger.CommandIDs.restartDebug
213
304
  });
214
305
  }
306
+ if (displayRegistry) {
307
+ displayRegistry.register({
308
+ canHandle(source) {
309
+ var _a, _b;
310
+ return (_b = (_a = source.path) === null || _a === void 0 ? void 0 : _a.includes('ipykernel_')) !== null && _b !== void 0 ? _b : false;
311
+ },
312
+ getDisplayName(source) {
313
+ var _a;
314
+ let displayName = (_a = source.path) !== null && _a !== void 0 ? _a : '';
315
+ notebookTracker.forEach(panel => {
316
+ for (const cell of panel.content.widgets) {
317
+ const model = cell.model;
318
+ if (!isCodeCellModel(model)) {
319
+ continue;
320
+ }
321
+ const code = model.sharedModel.getSource();
322
+ const codeId = service.getCodeId(code);
323
+ if (codeId === source.path) {
324
+ const exec = model.executionCount;
325
+ if (model.executionState === 'running') {
326
+ displayName = 'Cell [*]';
327
+ }
328
+ else {
329
+ displayName = exec == null ? 'Cell [ ]' : `Cell [${exec}]`;
330
+ }
331
+ // Stop iteration once we found the matching cell
332
+ return;
333
+ }
334
+ }
335
+ });
336
+ return displayName;
337
+ }
338
+ });
339
+ }
215
340
  return handler;
216
341
  }
217
342
  };
@@ -224,14 +349,25 @@ const service = {
224
349
  autoStart: true,
225
350
  provides: IDebugger,
226
351
  requires: [IDebuggerConfig],
227
- optional: [IDebuggerSources, ITranslator],
228
- activate: (app, config, debuggerSources, translator) => new Debugger.Service({
352
+ optional: [IDebuggerDisplayRegistry, IDebuggerSources, ITranslator],
353
+ activate: (app, config, displayRegistry, debuggerSources, translator) => new Debugger.Service({
229
354
  config,
355
+ displayRegistry,
230
356
  debuggerSources,
231
357
  specsManager: app.serviceManager.kernelspecs,
232
358
  translator
233
359
  })
234
360
  };
361
+ /**
362
+ * A plugin providing the debugger display registry.
363
+ */
364
+ const displayRegistry = {
365
+ id: '@jupyterlab/debugger-extension:display-registry',
366
+ description: 'Provides the debugger display registry for cell/file display names.',
367
+ provides: IDebuggerDisplayRegistry,
368
+ autoStart: true,
369
+ activate: () => new DebuggerDisplayRegistry()
370
+ };
235
371
  /**
236
372
  * A plugin that provides a configuration with hash method.
237
373
  */
@@ -1002,7 +1138,7 @@ const debugConsole = {
1002
1138
  app.shell.add(debugConsoleWidget, 'main', {
1003
1139
  mode: 'split-bottom',
1004
1140
  activate: true,
1005
- type: 'Debugger console'
1141
+ type: 'Debugger Console'
1006
1142
  });
1007
1143
  void debugConsoleTracker.add(debugConsoleWidget);
1008
1144
  app.shell.activateById(debugConsoleWidget.id);
@@ -1145,6 +1281,7 @@ const debugConsole = {
1145
1281
  */
1146
1282
  const plugins = [
1147
1283
  service,
1284
+ displayRegistry,
1148
1285
  consoles,
1149
1286
  files,
1150
1287
  notebooks,
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAC3D;;;GAGG;AAEH,OAAO,EACL,SAAS,EACT,eAAe,EAGhB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,SAAS,EACT,MAAM,EACN,eAAe,EACf,WAAW,EACX,UAAU,EACV,sBAAsB,EACtB,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,UAAU,EACX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EACL,QAAQ,EACR,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,aAAa,EACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,yBAAyB,IAAI,gBAAgB,EAE7C,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAE5E,SAAS,cAAc,CAAC,QAAyB;IAC/C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QACnD,IAAI,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,QAAQ,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,QAAyB,EAAE,KAAgB;IAC9D,MAAM,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,EAAE,CAAC;IACpD,IAAI,iBAAiB,EAAE,CAAC;QACtB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,GAAG,MAAM,CAAC;IAC1D,CAAC;SAAM,CAAC;QACN,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC;IACxD,CAAC;IACD,cAAc,CAAC,QAAQ,CAAC,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,QAAQ,GAAgC;IAC5C,wDAAwD;IACxD,EAAE,EAAE,yCAAyC;IAC7C,WAAW,EAAE,0CAA0C;IACvD,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC;IACtC,QAAQ,EAAE,CAAC,SAAS,CAAC;IACrB,QAAQ,EAAE,CACR,GAAoB,EACpB,KAAgB,EAChB,cAA+B,EAC/B,QAA0B,EAC1B,EAAE;QACF,MAAM,OAAO,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC;YACnC,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QAEH,MAAM,wBAAwB,GAAG,KAAK,EACpC,MAAoB,EACL,EAAE;YACjB,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC;YAClC,MAAM,cAAc,CAAC,KAAK,CAAC;YAC3B,MAAM,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;YACpD,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC,CAAC;QAEF,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;gBAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC;gBAC/B,IAAI,MAAM,YAAY,YAAY,EAAE,CAAC;oBACnC,KAAK,wBAAwB,CAAC,MAAM,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE;gBACxD,IAAI,YAAY,EAAE,CAAC;oBACjB,KAAK,wBAAwB,CAAC,YAAY,CAAC,CAAC;gBAC9C,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,KAAK,GAAgC;IACzC,2DAA2D;IAC3D,EAAE,EAAE,sCAAsC;IAC1C,WAAW,EAAE,sCAAsC;IACnD,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC;IACrC,QAAQ,EAAE,CAAC,SAAS,CAAC;IACrB,QAAQ,EAAE,CACR,GAAoB,EACpB,KAAgB,EAChB,aAA6B,EAC7B,QAA0B,EAC1B,EAAE;QACF,MAAM,OAAO,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC;YACnC,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QAEH,MAAM,cAAc,GAEhB,EAAE,CAAC;QAEP,MAAM,wBAAwB,GAAG,KAAK,EACpC,MAAsB,EACP,EAAE;YACjB,MAAM,QAAQ,GAAG,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC;YAC7C,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC7D,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,OAAO;gBACT,CAAC;gBACD,IAAI,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACvC,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,sDAAsD;oBACtD,uDAAuD;oBACvD,+DAA+D;oBAC/D,6BAA6B;oBAC7B,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;oBACxC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;gBACrC,CAAC;gBACD,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBACtC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACnC,CAAC;YAAC,WAAM,CAAC;gBACP,OAAO;YACT,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;gBAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC;gBAC/B,IAAI,MAAM,YAAY,cAAc,EAAE,CAAC;oBACrC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;oBAC3B,IAAI,OAAO,YAAY,UAAU,EAAE,CAAC;wBAClC,KAAK,wBAAwB,CAAC,MAAM,CAAC,CAAC;oBACxC,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE;gBACzD,IAAI,cAAc,EAAE,CAAC;oBACnB,KAAK,wBAAwB,CAC3B,cAA2C,CAC5C,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,SAAS,GAA8C;IAC3D,yDAAyD;IACzD,EAAE,EAAE,0CAA0C;IAC9C,WAAW,EACT,mFAAmF;IACrF,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACvC,QAAQ,EAAE,CAAC,SAAS,EAAE,eAAe,EAAE,sBAAsB,EAAE,WAAW,CAAC;IAC3E,QAAQ,EAAE,gBAAgB;IAC1B,QAAQ,EAAE,CACR,GAAoB,EACpB,OAAkB,EAClB,eAAiC,EACjC,QAA0B,EAC1B,OAA+B,EAC/B,eAA8C,EAC9C,WAA+B,EACb,EAAE;QACpB,MAAM,UAAU,GAAG,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,cAAc,CAAC;QACjD,MAAM,cAAc,GAClB,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,IAAI,qBAAqB,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;QAC/D,MAAM,OAAO,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC;YACnC,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,OAAO;SACR,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5C,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,EAAE;YACxD,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAAC;YAC5C,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAAC;YAC9C,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS;YAClC,WAAW,EAAE;gBACX,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,EAAE;iBACf;aACF;YACD,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,MAAM,KAAK,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBACzC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;gBAErB,MAAM,MAAM,GAAG,eAAe,CAAC,aAAa,CAAC;gBAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO;gBACT,CAAC;gBAED,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC;gBAC3C,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBAC/D,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,OAAO;gBACT,CAAC;gBAED,MAAM,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;gBAC1C,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;gBAC3D,MAAM,eAAe,CAAC,MAAM,CAC1B,OAAO,EACP,cAAc,EACd,cAAc,EACd,UAAU,CACX,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;QAEH,MAAM,wBAAwB,GAAG,KAAK,EACpC,MAAqB,EACN,EAAE;YACjB,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC;gBAClC,MAAM,cAAc,CAAC,KAAK,CAAC;gBAC3B,MAAM,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;YACtD,CAAC;YACD,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC,CAAC;QAEF,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;gBAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC;gBAC/B,IAAI,MAAM,YAAY,aAAa,EAAE,CAAC;oBACpC,KAAK,wBAAwB,CAAC,MAAM,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE;gBAC1D,IAAI,aAAa,EAAE,CAAC;oBAClB,KAAK,wBAAwB,CAAC,aAAa,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,OAAO,CAAC;gBACd,QAAQ,EAAE,qBAAqB;gBAC/B,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,YAAY;aAC1C,CAAC,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,GAAqC;IAChD,EAAE,EAAE,wCAAwC;IAC5C,WAAW,EAAE,gCAAgC;IAC7C,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,CAAC,eAAe,CAAC;IAC3B,QAAQ,EAAE,CAAC,gBAAgB,EAAE,WAAW,CAAC;IACzC,QAAQ,EAAE,CACR,GAAoB,EACpB,MAAyB,EACzB,eAA0C,EAC1C,UAA8B,EAC9B,EAAE,CACF,IAAI,QAAQ,CAAC,OAAO,CAAC;QACnB,MAAM;QACN,eAAe;QACf,YAAY,EAAE,GAAG,CAAC,cAAc,CAAC,WAAW;QAC5C,UAAU;KACX,CAAC;CACL,CAAC;AAEF;;GAEG;AACH,MAAM,aAAa,GAA6C;IAC9D,EAAE,EAAE,uCAAuC;IAC3C,WAAW,EAAE,qCAAqC;IAClD,QAAQ,EAAE,eAAe;IACzB,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE;CACtC,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,GAA8C;IACzD,EAAE,EAAE,wCAAwC;IAC5C,WAAW,EAAE,2CAA2C;IACxD,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,gBAAgB;IAC1B,QAAQ,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC;IAC5C,QAAQ,EAAE,CAAC,gBAAgB,EAAE,eAAe,EAAE,cAAc,CAAC;IAC7D,QAAQ,EAAE,CACR,GAAoB,EACpB,MAAyB,EACzB,cAA+B,EAC/B,eAAwC,EACxC,cAAsC,EACtC,aAAoC,EAChB,EAAE;QACtB,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC;YAC1B,MAAM;YACN,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,cAAc;YACd,eAAe;YACf,cAAc;YACd,aAAa;SACd,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,SAAS,GAAgC;IAC7C,EAAE,EAAE,0CAA0C;IAC9C,WAAW,EACT,wEAAwE;IAC1E,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,CAAC,SAAS,EAAE,gBAAgB,EAAE,WAAW,CAAC;IACpD,QAAQ,EAAE,CAAC,aAAa,EAAE,mBAAmB,CAAC;IAC9C,QAAQ,EAAE,CACR,GAAoB,EACpB,OAAkB,EAClB,OAAyB,EACzB,UAAuB,EACvB,YAAkC,EAClC,UAAsC,EACtC,EAAE;QACF,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5C,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,aAAa,CAAyC;YACxE,SAAS,EAAE,2BAA2B;SACvC,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,aAAa,CAA4B;YAC/D,SAAS,EAAE,0BAA0B;SACtC,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;QAEvC,eAAe;QACf,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,eAAe,EAAE;YAC9C,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC;YACnC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC;YACrC,SAAS,EAAE,IAAI,CAAC,EAAE;;gBAChB,OAAA,CAAC,CAAC,CAAA,MAAA,OAAO,CAAC,OAAO,0CAAE,SAAS,CAAA;oBAC5B,MAAM,CACJ,MAAA,MAAA,IAAI,CAAC,iBAAiB,mCACpB,MAAA,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,gBAAgB,0CAAE,kBAAkB,mCAC5D,CAAC,CACJ,GAAG,CAAC,CAAA;aAAA;YACP,WAAW,EAAE;gBACX,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,iBAAiB,EAAE;4BACjB,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,mCAAmC,CAAC;yBAC3D;wBACD,IAAI,EAAE;4BACJ,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,qCAAqC,CAAC;yBAC7D;qBACF;iBACF;aACF;YACD,OAAO,EAAE,KAAK,EAAC,IAAI,EAAC,EAAE;;gBACpB,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,GAAG,IAGjC,CAAC;gBAEF,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACvB,iBAAiB;wBACf,MAAA,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,gBAAgB,0CAAE,kBAAkB,CAAC;gBACjE,CAAC;gBACD,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,IAAI,GAAG,MAAA,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,gBAAgB,0CAAE,IAAI,CAAC;gBACxD,CAAC;gBAED,MAAM,EAAE,GAAG,wBAAwB,IAAI,EAAE,CAAC;gBAC1C,IACE,CAAC,IAAI;oBACL,CAAC,iBAAiB;oBAClB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EACxC,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,eAAe,CAC7C,iBAA2B,CAC5B,CAAC;gBACF,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzC,OAAO;gBACT,CAAC;gBAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;gBACtC,MAAM,MAAM,GAAG,IAAI,cAAc,CAAyB;oBACxD,OAAO,EAAE,IAAI,QAAQ,CAAC,aAAa,CAAC;wBAClC,KAAK;wBACL,QAAQ;wBACR,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;wBAC7B,YAAY;qBACb,CAAC;iBACH,CAAC,CAAC;gBACH,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;gBACxC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;gBAChD,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,MAAA,MAAA,OAAO,CAAC,OAAO,0CAAE,UAAU,0CAAE,IAAI,MAAM,IAAI,EAAE,CAAC;gBACtE,KAAK,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACzB,MAAM,aAAa,GAAG,GAAG,EAAE;oBACzB,MAAM,CAAC,OAAO,EAAE,CAAC;oBACjB,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;gBAC1C,CAAC,CAAC;gBACF,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBACrC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE;oBACxB,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc;oBAC5D,QAAQ,EAAE,KAAK;oBACf,IAAI,EAAE,oBAAoB;iBAC3B,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;QAEH,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,kBAAkB,EAAE;YACjD,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC;YAClC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,4CAA4C,CAAC;YAC/D,SAAS,EAAE,GAAG,EAAE,WAAC,OAAA,CAAC,CAAC,CAAA,MAAA,OAAO,CAAC,OAAO,0CAAE,SAAS,CAAA,CAAA,EAAA;YAC7C,SAAS,EAAE,GAAG,EAAE,CACd,OAAO,CAAC,KAAK,CAAC,wBAAwB;gBACtC,CAAC,UAAU,KAAK,IAAI,IAAI,OAAO,CAAC,YAAY,YAAY,aAAa,CAAC;YACxE,WAAW,EAAE;gBACX,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,OAAO,EAAE;4BACP,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC;yBACtC;wBACD,IAAI,EAAE;4BACJ,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,oCAAoC,CAAC;yBAC5D;qBACF;iBACF;aACF;YACD,OAAO,EAAE,IAAI,CAAC,EAAE;;gBACd,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAGvB,CAAC;gBAEF,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,IAAI,GAAG,MAAA,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,gBAAgB,0CAAE,IAAI,CAAC;gBACxD,CAAC;gBACD,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,GAAG,MAAA,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,0CAAE,EAAE,CAAC;gBAC9C,CAAC;gBAED,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;gBAC1C,IAAI,gBAAgB,GAClB,YAAY,YAAY,aAAa;oBACnC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU;oBACjC,CAAC,CAAC,UAAU,CAAC;gBAEjB,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACtB,OAAO;gBACT,CAAC;gBAED,MAAM,EAAE,GAAG,6BAA6B,IAAI,IAAI,MAAA,MAAA,OAAO,CAAC,OAAO,0CAAE,UAAU,0CAAE,IAAI,CAAC,OAAO,CACvF,GAAG,EACH,GAAG,CACJ,EAAE,CAAC;gBACJ,IACE,CAAC,IAAI,IAAI,oBAAoB;oBAC7B,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,wBAAwB;oBACxE,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC,iCAAiC;kBAC3E,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;gBAE/C,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,gBAAgB,CAAC;oBAC3C,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAK,EAAE,OAAO,CAAC;oBAC7D,UAAU,EAAE,gBAAgB;oBAC5B,UAAU;iBACX,CAAC,CAAC;gBACH,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;gBAC3C,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;gBAChD,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,IAAI,MAAM,MAAA,MAAA,OAAO,CAAC,OAAO,0CAAE,UAAU,0CAAE,IAAI,EAAE,CAAC;gBACtE,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,IAAI,MAAM,MAAA,MAAA,OAAO,CAAC,OAAO,0CAAE,UAAU,0CAAE,IAAI,EAAE,CAAC;gBACxE,KAAK,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC7B,MAAM,aAAa,GAAG,GAAG,EAAE;oBACzB,MAAM,CAAC,OAAO,EAAE,CAAC;oBACjB,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;oBACjD,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;gBACnD,CAAC,CAAC;gBACF,MAAM,aAAa,GAAG,GAAG,EAAE;oBACzB,6DAA6D;oBAC7D,IAAI,OAAO,CAAC,YAAY,KAAK,YAAY,EAAE,CAAC;wBAC1C,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;oBACxB,CAAC;gBACH,CAAC,CAAC;gBACF,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBACvC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBAC9C,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBAE9C,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE;oBACxB,IAAI,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc;oBAChE,QAAQ,EAAE,KAAK;oBACf,IAAI,EAAE,oBAAoB;iBAC3B,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;QAEH,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,eAAe,EAAE;YAC9C,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC;YACpC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,oDAAoD,CAAC;YACvE,SAAS,EAAE,GAAG,EAAE;;gBACd,OAAO,CACL,CAAC,CAAC,CAAA,MAAA,OAAO,CAAC,OAAO,0CAAE,SAAS,CAAA;oBAC5B,CAAC,CAAC,CAAA,MAAA,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,gBAAgB,0CAAE,KAAK,CAAA,CAClD,CAAC;YACJ,CAAC;YACD,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,YAAY,YAAY,aAAa;YAC9D,WAAW,EAAE;gBACX,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,EAAE;iBACf;aACF;YACD,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,gBAAiB,CAAC,KAAK,CAAC;gBAC9D,IAAI,KAAK,EAAE,CAAC;oBACV,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE;YAC5C,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAAC;YAC3C,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,gCAAgC,CAAC;YACnD,SAAS,EAAE,GAAG,EAAE,WAAC,OAAA,CAAC,CAAC,CAAA,MAAA,OAAO,CAAC,OAAO,0CAAE,SAAS,CAAA,CAAA,EAAA;YAC7C,SAAS,EAAE,GAAG,EAAE,CACd,OAAO,CAAC,YAAY,YAAY,aAAa;gBAC7C,OAAO,CAAC,KAAK,CAAC,oBAAoB;YACpC,WAAW,EAAE;gBACX,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,EAAE;iBACf;aACF;YACD,OAAO,EAAE,KAAK,EAAC,IAAI,EAAC,EAAE;gBACpB,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,gBAAiB,CAAC,IAAI,CAAC;gBAC5D,MAAM,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACpC,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,GAA8C;IACzD,EAAE,EAAE,wCAAwC;IAC5C,WAAW,EAAE,gCAAgC;IAC7C,QAAQ,EAAE,gBAAgB;IAC1B,QAAQ,EAAE,CAAC,SAAS,EAAE,eAAe,EAAE,WAAW,CAAC;IACnD,QAAQ,EAAE,CAAC,aAAa,EAAE,gBAAgB,CAAC;IAC3C,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,KAAK,EACb,GAAoB,EACpB,OAAkB,EAClB,cAA+B,EAC/B,UAAuB,EACvB,YAAkC,EAClC,eAAwC,EACX,EAAE;QAC/B,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC;QACzB,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;QAEvC,MAAM,iBAAiB,GAAG;YACxB,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,UAAU,CAAC,aAAa;YAClC,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,QAAQ,EAAE,UAAU,CAAC,QAAQ;SAC9B,CAAC;QAEF,MAAM,mBAAmB,GAAG;YAC1B,QAAQ,EAAE,QAAQ;YAClB,iBAAiB,EAAE,UAAU,CAAC,iBAAiB;SAChD,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC;YACnC,OAAO;YACP,iBAAiB;YACjB,mBAAmB;YACnB,cAAc;YACd,YAAY;YACZ,UAAU;SACX,CAAC,CAAC;QAEH,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpD,MAAM,cAAc,GAAG,GAAS,EAAE;;gBAChC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,SAE9C,CAAC;gBACF,MAAM,MAAM,GAAG,MAAA,MAAA,MAAA,MAAA,OAAO,CAAC,OAAO,0CAAE,UAAU,0CAAE,MAAM,0CAAE,IAAI,mCAAI,EAAE,CAAC;gBAC/D,IAAI,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC9B,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,GAAG,CAAS,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC9D,CAAC;gBACD,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC;qBAClE,SAAmB,CAAC;gBACvB,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,mBAAmB,CAAC;YACrD,CAAC,CAAC;YACF,cAAc,EAAE,CAAC;YACjB,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YACxC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACjD,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,YAAY,GAAmD;IACnE,EAAE,EAAE,8CAA8C;IAClD,WAAW,EAAE,yCAAyC;IACtD,QAAQ,EAAE,CAAC,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,WAAW,CAAC;IACrE,QAAQ,EAAE,qBAAqB;IAC/B,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,KAAK,EACb,GAAoB,EACpB,OAAkB,EAClB,cAA+B,EAC/B,eAAmC,EACnC,UAAuB,EACW,EAAE;QACpC,MAAM,qBAAqB,GAAG,IAAI,QAAQ,CAAC,qBAAqB,CAAC;YAC/D,cAAc;SACf,CAAC,CAAC;QACH,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;QAE1B,MAAM,qBAAqB,GAAG,CAC5B,CAA6B,EAC7B,KAA4B,EACtB,EAAE;;YACR,eAAe;iBACZ,IAAI,CAAC;gBACJ,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,MAAA,MAAA,MAAA,MAAA,OAAO,CAAC,OAAO,0CAAE,UAAU,0CAAE,MAAM,0CAAE,IAAI,mCAAI,EAAE;gBACvD,IAAI,EAAE,MAAA,MAAA,MAAA,OAAO,CAAC,OAAO,0CAAE,UAAU,0CAAE,IAAI,mCAAI,EAAE;gBAC7C,MAAM,EAAE,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,0CAAE,IAAI,mCAAI,EAAE;aAClC,CAAC;iBACD,OAAO,CAAC,MAAM,CAAC,EAAE;gBAChB,qBAAqB,CAAC,GAAG,EAAE;oBACzB,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;wBAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;wBAC1B,IAAI,IAAI,EAAE,CAAC;4BACT,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;wBAC3D,CAAC;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QACF,KAAK,CAAC,SAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAEnE,MAAM,UAAU,GAAG,CACjB,MAAwB,EACxB,UAAkC,EAC5B,EAAE;;YACR,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO;YACT,CAAC;YACD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;YAC3C,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC;gBACnC,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,MAAA,MAAA,MAAA,MAAA,OAAO,CAAC,OAAO,0CAAE,UAAU,0CAAE,MAAM,0CAAE,IAAI,mCAAI,EAAE;gBACvD,IAAI,EAAE,MAAA,MAAA,MAAA,OAAO,CAAC,OAAO,0CAAE,UAAU,0CAAE,IAAI,mCAAI,EAAE;gBAC7C,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;YACH,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,IAAI,UAAU,IAAI,OAAO,UAAU,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBACzD,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;wBACvB,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;;4BAC7B,MAAA,MAAM,CAAC,GAAG,EAAE,0CAAE,cAAc,CAAC;gCAC3B,IAAI,EAAG,UAAU,CAAC,IAAe,GAAG,CAAC;gCACrC,MAAM,EAAE,UAAU,CAAC,MAAM,IAAI,CAAC;6BAC/B,CAAC,CAAC;wBACL,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO;YACT,CAAC;YACD,MAAM,aAAa,GAAG,qBAAqB,CAAC,eAAe,CAAC;gBAC1D,OAAO;gBACP,QAAQ;gBACR,IAAI;aACL,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;YACpC,MAAM,aAAa,GAAG,IAAI,QAAQ,CAAC,aAAa,CAAC;gBAC/C,eAAe,EAAE,OAAO;gBACxB,WAAW,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;gBAC1C,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM;gBACvB,IAAI;gBACJ,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW;aAC9B,CAAC,CAAC;YACH,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAE9D,eAAe,CAAC,IAAI,CAAC;gBACnB,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC7B,OAAO,EAAE,IAAI;gBACb,aAAa;aACd,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;YAC5C,IAAI,KAAK,EAAE,CAAC;gBACV,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE5C,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE;YACtD,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC;YAC9B,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC;YAChC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,YAAY;YAC/B,OAAO,EAAE,KAAK,EAAC,IAAI,EAAC,EAAE;gBACpB,MAAM,IAAI,GAAI,IAAI,CAAC,IAAe,IAAI,EAAE,CAAC;gBACzC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,MAAM,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBACxC,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;oBACvB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;wBAC9B,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC;wBAClC,IAAI,EAAE,KAAK,CAAC,EAAE,CACZ,sDAAsD,EACtD,IAAI,CACL;wBACD,OAAO,EAAE;4BACP,MAAM,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;4BAClD,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC;yBACvD;qBACF,CAAC,CAAC;oBACH,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;wBACzB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;oBACxB,CAAC;yBAAM,CAAC;wBACN,OAAO;oBACT,CAAC;gBACH,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC;oBACrC,IAAI;iBACL,CAAC,CAAC;gBACH,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC;YACD,WAAW,EAAE;gBACX,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,IAAI,EAAE;4BACJ,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,iCAAiC,CAAC;yBACzD;qBACF;iBACF;aACF;SACF,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,IAAI,GAAgC;IACxC,EAAE,EAAE,qCAAqC;IACzC,WAAW,EAAE,yCAAyC;IACtD,QAAQ,EAAE;QACR,SAAS;QACT,gBAAgB;QAChB,eAAe;QACf,WAAW;QACX,YAAY,CAAC,eAAe;QAC5B,eAAe;KAChB;IACD,QAAQ,EAAE;QACR,eAAe;QACf,qBAAqB;QACrB,SAAS;QACT,eAAe;QACf,gBAAgB;KACjB;IACD,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,KAAK,EACb,GAAoB,EACpB,OAAkB,EAClB,OAA2B,EAC3B,cAA+B,EAC/B,UAAuB,EACvB,0BAAwD,EACxD,cAA+B,EAC/B,OAA+B,EAC/B,YAA4C,EAC5C,QAA0B,EAC1B,QAAgC,EAChC,eAAwC,EACzB,EAAE;;QACjB,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5C,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,GAAG,CAAC;QAChD,MAAM,EAAE,WAAW,EAAE,GAAG,cAAc,CAAC;QACvC,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;QAEvC,6EAA6E;QAC7E,MAAM,2BAA2B,GAC/B,UAAU,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC,WAAW,EAAE;YACjE,MAAM,CAAC;QACT,IAAI,CAAC,2BAA2B,EAAE,CAAC;YACjC,iFAAiF;YACjF,MAAM,WAAW,CAAC,KAAK,CAAC;YACxB,MAAM,KAAK,GAAG,MAAA,WAAW,CAAC,KAAK,0CAAE,WAAW,CAAC;YAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO;YACT,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CACrC,IAAI,CAAC,EAAE,mBAAC,OAAA,CAAC,CAAC,CAAC,MAAA,MAAA,MAAA,KAAK,CAAC,IAAI,CAAC,0CAAE,QAAQ,0CAAG,UAAU,CAAC,mCAAI,KAAK,CAAC,CAAA,EAAA,CACzD,CAAC;YACF,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO;YACT,CAAC;QACH,CAAC;QAED,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE;YAC5C,KAAK,EAAE,GAAG,EAAE;gBACV,OAAO,OAAO,CAAC,iBAAiB,EAAE;oBAChC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC;oBACtB,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;YACD,OAAO,EAAE,GAAG,EAAE;gBACZ,OAAO,OAAO,CAAC,iBAAiB,EAAE;oBAChC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC;oBACtB,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;YACD,IAAI,EAAE,GAAG,EAAE;gBACT,OAAO,OAAO,CAAC,iBAAiB,EAAE;oBAChC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY;oBAC7B,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC;YAC/B,CAAC;YACD,SAAS,EAAE,GAAG,EAAE,eAAC,OAAA,MAAA,MAAA,OAAO,CAAC,OAAO,0CAAE,SAAS,mCAAI,KAAK,CAAA,EAAA;YACpD,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,IAAI,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;oBAChC,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAC3B,CAAC;qBAAM,CAAC;oBACN,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;gBACxB,CAAC;gBACD,QAAQ,CAAC,oBAAoB,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YAC1D,CAAC;YACD,WAAW,EAAE;gBACX,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,EAAE;iBACf;aACF;SACF,CAAC,CAAC;QAEH,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,EAAE;YACxC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC;YAC5B,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC;YAC9B,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,aAAa;YAClC,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE;YAC5C,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;gBACxB,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACrC,CAAC;YACD,WAAW,EAAE;gBACX,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,EAAE;iBACf;aACF;SACF,CAAC,CAAC;QAEH,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE;YACnC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC;YACvB,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC;YACzB,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY;YACjC,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE;YAC5C,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YACvB,CAAC;YACD,WAAW,EAAE;gBACX,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,EAAE;iBACf;aACF;SACF,CAAC,CAAC;QAEH,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE;YACrC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC;YAC1B,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC;YAC5B,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY;YACjC,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE;YAC5C,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;YACzB,CAAC;YACD,WAAW,EAAE;gBACX,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,EAAE;iBACf;aACF;SACF,CAAC,CAAC;QAEH,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE;YACtC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC;YAC3B,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC;YAC7B,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,WAAW;YAChC,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE;YAC5C,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YAC1B,CAAC;YACD,WAAW,EAAE;gBACX,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,EAAE;iBACf;aACF;SACF,CAAC,CAAC;QAEH,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,iBAAiB,EAAE;YAChD,KAAK,EAAE,IAAI,CAAC,EAAE,CAAE,IAAI,CAAC,MAAiB,IAAI,0BAA0B;YACpE,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAqB;YAC3C,SAAS,EAAE,IAAI,CAAC,EAAE,WAChB,OAAA,CAAA,MAAA,OAAO,CAAC,OAAO,0CAAE,oBAAoB,CAAC,IAAI,CAAC,MAAgB,CAAC,KAAI,KAAK,CAAA,EAAA;YACvE,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,wBAAwB,EAAE;YACnD,OAAO,EAAE,KAAK,EAAC,IAAI,EAAC,EAAE;;gBACpB,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,EAAE,CAAC;oBACjB,IAAI,MAAM,GAAG,IAAI,CAAC,MAAgB,CAAC;oBACnC,MAAM,OAAO,CAAC,uBAAuB,CAAC,MAAgB,CAAC,CAAC;gBAC1D,CAAC;qBAAM,CAAC;oBACN,IAAI,KAAK,GAAa,EAAE,CAAC;oBACzB,MAAA,MAAA,OAAO,CAAC,OAAO,0CAAE,0BAA0B,0CAAE,OAAO,CAClD,eAAe,CAAC,EAAE;wBAChB,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;oBACrC,CAAC,CACF,CAAC;oBACF,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,gBAAgB,CAAC;wBAChD,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,8CAA8C,CAAC;wBAC/D,KAAK,EAAE,KAAK;wBACZ,QAAQ,EAAE,CAAA,MAAA,OAAO,CAAC,OAAO,0CAAE,uBAAuB,KAAI,EAAE;qBACzD,CAAC,CAAC;oBAEH,IAAI,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;oBACzD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;wBACrB,MAAM,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;oBAC3C,CAAC;gBACH,CAAC;YACH,CAAC;YACD,WAAW,EAAE;gBACX,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,8BAA8B,CAAC;yBACtD;wBACD,WAAW,EAAE;4BACX,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,qCAAqC,CAAC;yBAC7D;qBACF;iBACF;aACF;SACF,CAAC,CAAC;QAEH,IAAI,mBAAmB,GAAG,KAAK,CAAC;QAEhC,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpD,MAAM,cAAc,GAAG,GAAS,EAAE;gBAChC,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC;qBAC7D,SAAoB,CAAC;YAC1B,CAAC,CAAC;YACF,cAAc,EAAE,CAAC;YACjB,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAQ,EAAE;YAC9C,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACnC,IAAI,QAAQ,IAAI,KAAK,CAAC,KAAK,KAAK,aAAa,EAAE,CAAC;gBAC9C,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACpC,CAAC;iBAAM,IACL,QAAQ;gBACR,OAAO,CAAC,SAAS;gBACjB,KAAK,CAAC,KAAK,KAAK,YAAY;gBAC5B,mBAAmB,EACnB,CAAC;gBACD,QAAQ,CAAC,aAAa,EAAE,CAAC;YAC3B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACjC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAEtE,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;QAE7C,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QAElD,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,EAAE;YACxC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC;YACjC,OAAO,EAAE,GAAG,EAAE;gBACZ,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACjC,CAAC;YACD,WAAW,EAAE;gBACX,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,EAAE;iBACf;aACF;SACF,CAAC,CAAC;QAEH,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;YACtC;gBACE,UAAU,CAAC,aAAa;gBACxB,UAAU,CAAC,SAAS;gBACpB,UAAU,CAAC,IAAI;gBACf,UAAU,CAAC,MAAM;gBACjB,UAAU,CAAC,OAAO;gBAClB,UAAU,CAAC,QAAQ;gBACnB,UAAU,CAAC,iBAAiB;aAC7B,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAClB,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;YAC1B,MAAM,oBAAoB,GAAG,CAC3B,CAAwC,EACxC,MAAwB,EACxB,UAAkC,EAC5B,EAAE;gBACR,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO;gBACT,CAAC;gBACD,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACxC,CAAC,CAAC;YAEF,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,CACvC,CAAC,CAAkC,EAAE,MAAwB,EAAE,EAAE;gBAC/D,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC,CACF,CAAC;YACF,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;YACrE,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE;;gBACxD,MAAM,IAAI,GAAG,MAAA,UAAU,CAAC,MAAM,0CAAE,IAAI,CAAC;gBACrC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC;oBACrC,eAAe,EAAE,CAAC;oBAClB,IAAI;iBACL,CAAC,CAAC;gBACH,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,mBAAmB,GAAgC;IACvD,EAAE,EAAE,4CAA4C;IAChD,WAAW,EAAE,sCAAsC;IACnD,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,CAAC,SAAS,EAAE,0BAA0B,CAAC;IACjD,QAAQ,EAAE,CAAC,WAAW,CAAC;IACvB,QAAQ,EAAE,CACR,GAAoB,EACpB,eAA0B,EAC1B,iBAA6C,EAC7C,UAA8B,EACxB,EAAE;QACR,uDAAuD;QACvD,MAAM,QAAQ,GAAG,IAAI,0BAA0B,CAAC;YAC9C,eAAe,EAAE,eAAe;YAChC,UAAU,EAAE,UAAU,IAAI,cAAc;SACzC,CAAC,CAAC;QAEH,oDAAoD;QACpD,iBAAiB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,YAAY,GAAgC;IAChD,EAAE,EAAE,8CAA8C;IAClD,WAAW,EAAE,4DAA4D;IACzE,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE;QACR,SAAS;QACT,YAAY,CAAC,eAAe;QAC5B,eAAe;QACf,0BAA0B;QAC1B,UAAU;QACV,WAAW;KACZ;IACD,QAAQ,EAAE,CAAC,SAAS,CAAC;IACrB,QAAQ,EAAE,CACR,GAAoB,EACpB,OAAkB,EAClB,0BAAwD,EACxD,cAA+B,EAC/B,OAAmC,EACnC,SAAiC,EACjC,UAAuB,EACvB,QAA0B,EAC1B,EAAE;QACF,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;QACvC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE5C,4CAA4C;QAC5C,MAAM,mBAAmB,GAAG,IAAI,aAAa,CAAe;YAC1D,SAAS,EAAE,wBAAwB;SACpC,CAAC,CAAC;QAEH,oDAAoD;QACpD,IAAI,kBAAkB,GAAwB,IAAI,CAAC;QAEnD,qBAAqB;QACrB,MAAM,kBAAkB,GAAG,KAAK,IAAI,EAAE;YACpC,MAAM,UAAU,GAAG,IAAI,kBAAkB,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC;YAChE,MAAM,aAAa,GAAG,IAAI,wBAAwB,CAAC;gBACjD,eAAe,EAAE,OAAO;gBACxB,KAAK;aACN,CAAC,CAAC;YAEH,kBAAkB,GAAG,IAAI,YAAY,CAAC;gBACpC,OAAO,EAAE,GAAG,CAAC,cAAc;gBAC3B,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC;gBAC/B,cAAc,EAAE,0BAA0B;gBAC1C,UAAU;gBACV,QAAQ,EAAE,aAAa;gBACvB,eAAe,EAAE,cAAc,CAAC,eAAe;gBAC/C,gBAAgB,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;aAC1D,CAAC,CAAC;YAEH,kBAAkB,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;YAC3D,kBAAkB,CAAC,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;YAE5D,0EAA0E;YAC1E,kBAAkB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;YAC/C,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;YAE9D,4CAA4C;YAC5C,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAQ,EAAE;gBAC9C,IAAI,QAAQ,IAAI,KAAK,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;oBAC7C,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,OAAO,EAAE,CAAC;gBAChC,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,cAAc,GAAG,GAAG,EAAE;gBAC1B,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACvD,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;gBAC7D,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;gBAC5D,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YAC9D,CAAC,CAAC;YAEF,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE;gBACvC,kBAAkB,GAAG,IAAI,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,EAAE;gBACxC,IAAI,EAAE,cAAc;gBACpB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,kBAAkB;aACzB,CAAC,CAAC;YAEH,KAAK,mBAAmB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YACjD,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;YAE9C,MAAM,eAAe,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;YACrD,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,MAAM,EAAE,CAAC;YAE7B,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC;QAEF,mBAAmB;QACnB,MAAM,eAAe,GAAG,KAAK,EAC3B,CAA0C,EAC1C,YAA0B,EAC1B,EAAE;;YACF,MAAM,gBAAgB,GAAG;gBACvB,MAAM,EAAE,MAAA,MAAA,YAAY,CAAC,OAAO,CAAC,UAAU,0CAAE,MAAM,mCAAI,IAAI;gBACvD,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO;gBACpD,MAAM,EAAE,YAAY;aACrB,CAAC;YACF,MAAM,OAAO,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;YAChD,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE;gBACnE,MAAM,UAAU,GAAG;oBACjB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,OAAO,EAAE,WAAW,CAAC,cAAc,CAAC,OAAO;oBAC3C,MAAM,EAAE,YAAY;oBACpB,SAAS,EAAE,SAAS;iBACrB,CAAC;gBACF,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC3D,CAAC,CAAC,CAAC;YACH,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE;;gBAC9D,MAAM,UAAU,GAAG;oBACjB,MAAM,EAAE,MAAA,MAAA,YAAY,CAAC,OAAO,CAAC,UAAU,0CAAE,MAAM,mCAAI,IAAI;oBACvD,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO;oBACpD,MAAM,EAAE,YAAY;oBACpB,SAAS,EAAE,SAAS;iBACrB,CAAC;gBACF,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC3D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,mBAAmB,CAAC,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAEzD,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,GAAG,EAAE;YAC1C,mBAAmB,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;gBAC1C,eAAe,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACzE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,eAAe;QACf,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE;YAChD,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,oCAAoC,CAAC;YACrD,OAAO,EAAE,GAAG,EAAE;gBACZ,MAAM,EAAE,GACN,mBAAmB,CAAC,aAAa;oBACjC,mBAAmB,CAAC,aAAa,CAAC,EAAE,CAAC;gBAEvC,IAAI,EAAE,EAAE,CAAC;oBACP,OAAO,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;YACD,WAAW,EAAE;gBACX,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,EAAE;iBACf;aACF;SACF,CAAC,CAAC;QAEH,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE;YAChD,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,mCAAmC,CAAC;YACpD,OAAO,EAAE,GAAG,EAAE;gBACZ,MAAM,EAAE,GACN,mBAAmB,CAAC,aAAa;oBACjC,mBAAmB,CAAC,aAAa,CAAC,EAAE,CAAC;gBAEvC,IAAI,EAAE,EAAE,CAAC;oBACP,OAAO,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;YACD,WAAW,EAAE;gBACX,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,EAAE;iBACf;aACF;SACF,CAAC,CAAC;QAEH,2CAA2C;QAC3C,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,cAAc,EAAE;YACjD,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,4CAA4C,CAAC;YAC7D,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,MAAM,aAAa,GAAG,mBAAmB,CAAC,aAAa,CAAC;gBACxD,IAAI,aAAa,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;oBAC3C,MAAM,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC1C,2DAA2D;oBAC3D,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC;oBACpD,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;wBACpC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;oBAC5B,CAAC;gBACH,CAAC;YACH,CAAC;YACD,WAAW,EAAE;gBACX,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,EAAE;iBACf;aACF;SACF,CAAC,CAAC;QAEH,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE;YAC3C,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC;YAChC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC;YAClC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY;YACjC,SAAS,EAAE,GAAG,EAAE,WAAC,OAAA,CAAC,CAAC,CAAA,MAAA,OAAO,CAAC,OAAO,0CAAE,SAAS,CAAA,CAAA,EAAA;YAC7C,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,IAAI,kBAAkB,EAAE,CAAC;oBACvB,kBAAkB,CAAC,OAAO,EAAE,CAAC;gBAC/B,CAAC;qBAAM,CAAC;oBACN,KAAK,kBAAkB,EAAE,CAAC;gBAC5B,CAAC;YACH,CAAC;YACD,SAAS,EAAE,GAAG,EAAE;gBACd,OAAO,kBAAkB,KAAK,IAAI,CAAC;YACrC,CAAC;YACD,WAAW,EAAE;gBACX,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,EAAE;iBACf;aACF;SACF,CAAC,CAAC;QAEH,sBAAsB;QACtB,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC;YACzB,OAAO,EAAE,UAAU,CAAC,aAAa;YACjC,IAAI,EAAE,CAAC,OAAO,CAAC;YACf,QAAQ,EACN,mFAAmF;SACtF,CAAC,CAAC;QAEH,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC;YACzB,OAAO,EAAE,UAAU,CAAC,aAAa;YACjC,IAAI,EAAE,CAAC,KAAK,CAAC;YACb,QAAQ,EACN,8IAA8I;SACjJ,CAAC,CAAC;QAEH,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC;YACzB,OAAO,EAAE,UAAU,CAAC,cAAc;YAClC,IAAI,EAAE,CAAC,aAAa,CAAC;YACrB,QAAQ,EACN,qFAAqF;SACxF,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,GAAiC;IAC5C,OAAO;IACP,QAAQ;IACR,KAAK;IACL,SAAS;IACT,SAAS;IACT,OAAO;IACP,IAAI;IACJ,OAAO;IACP,YAAY;IACZ,aAAa;IACb,mBAAmB;IACnB,YAAY;CACb,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jupyterlab/debugger-extension",
3
- "version": "4.5.0-beta.0",
3
+ "version": "4.5.0-rc.0",
4
4
  "description": "JupyterLab - Debugger Extension",
5
5
  "keywords": [
6
6
  "jupyter",
@@ -43,25 +43,26 @@
43
43
  "watch": "tsc -b --watch"
44
44
  },
45
45
  "dependencies": {
46
- "@jupyterlab/application": "^4.5.0-beta.0",
47
- "@jupyterlab/apputils": "^4.6.0-beta.0",
48
- "@jupyterlab/codeeditor": "^4.5.0-beta.0",
49
- "@jupyterlab/completer": "^4.5.0-beta.0",
50
- "@jupyterlab/console": "^4.5.0-beta.0",
51
- "@jupyterlab/coreutils": "^6.5.0-beta.0",
52
- "@jupyterlab/debugger": "^4.5.0-beta.0",
53
- "@jupyterlab/docregistry": "^4.5.0-beta.0",
54
- "@jupyterlab/fileeditor": "^4.5.0-beta.0",
55
- "@jupyterlab/nbformat": "^4.5.0-beta.0",
56
- "@jupyterlab/notebook": "^4.5.0-beta.0",
57
- "@jupyterlab/rendermime": "^4.5.0-beta.0",
58
- "@jupyterlab/services": "^7.5.0-beta.0",
59
- "@jupyterlab/settingregistry": "^4.5.0-beta.0",
60
- "@jupyterlab/translation": "^4.5.0-beta.0",
46
+ "@jupyterlab/application": "^4.5.0-rc.0",
47
+ "@jupyterlab/apputils": "^4.6.0-rc.0",
48
+ "@jupyterlab/cells": "^4.5.0-rc.0",
49
+ "@jupyterlab/codeeditor": "^4.5.0-rc.0",
50
+ "@jupyterlab/completer": "^4.5.0-rc.0",
51
+ "@jupyterlab/console": "^4.5.0-rc.0",
52
+ "@jupyterlab/coreutils": "^6.5.0-rc.0",
53
+ "@jupyterlab/debugger": "^4.5.0-rc.0",
54
+ "@jupyterlab/docregistry": "^4.5.0-rc.0",
55
+ "@jupyterlab/fileeditor": "^4.5.0-rc.0",
56
+ "@jupyterlab/nbformat": "^4.5.0-rc.0",
57
+ "@jupyterlab/notebook": "^4.5.0-rc.0",
58
+ "@jupyterlab/rendermime": "^4.5.0-rc.0",
59
+ "@jupyterlab/services": "^7.5.0-rc.0",
60
+ "@jupyterlab/settingregistry": "^4.5.0-rc.0",
61
+ "@jupyterlab/translation": "^4.5.0-rc.0",
61
62
  "@lumino/commands": "^2.3.2"
62
63
  },
63
64
  "devDependencies": {
64
- "@jupyterlab/testing": "^4.5.0-beta.0",
65
+ "@jupyterlab/testing": "^4.5.0-rc.0",
65
66
  "@types/jest": "^29.2.0",
66
67
  "@types/react-dom": "^18.0.9",
67
68
  "rimraf": "~5.0.5",
package/schema/main.json CHANGED
@@ -120,6 +120,12 @@
120
120
  "description": "Collapse the debugger sidebar when disabling the debugger on a document.",
121
121
  "type": "boolean",
122
122
  "default": false
123
+ },
124
+ "showPausedOverlay": {
125
+ "title": "Show Paused Overlay",
126
+ "description": "Show an overlay on the editor or notebook when execution is paused in the debugger.",
127
+ "type": "boolean",
128
+ "default": true
123
129
  }
124
130
  },
125
131
  "additionalProperties": false,
package/src/index.ts CHANGED
@@ -28,8 +28,10 @@ import { ConsolePanel, IConsoleTracker } from '@jupyterlab/console';
28
28
  import { PageConfig, PathExt } from '@jupyterlab/coreutils';
29
29
  import {
30
30
  Debugger,
31
+ DebuggerDisplayRegistry,
31
32
  IDebugger,
32
33
  IDebuggerConfig,
34
+ IDebuggerDisplayRegistry,
33
35
  IDebuggerHandler,
34
36
  IDebuggerSidebar,
35
37
  IDebuggerSources,
@@ -50,12 +52,17 @@ import {
50
52
  } from '@jupyterlab/rendermime';
51
53
  import { Session } from '@jupyterlab/services';
52
54
  import { ISettingRegistry } from '@jupyterlab/settingregistry';
53
- import { ITranslator, nullTranslator } from '@jupyterlab/translation';
55
+ import {
56
+ ITranslator,
57
+ NullTranslator,
58
+ nullTranslator
59
+ } from '@jupyterlab/translation';
54
60
  import { ICompletionProviderManager } from '@jupyterlab/completer';
55
61
  import type { CommandRegistry } from '@lumino/commands';
56
62
  import { WidgetTracker } from '@jupyterlab/apputils';
57
63
  import { DebugConsoleCellExecutor } from './debug-console-executor';
58
64
  import { DebuggerCompletionProvider } from './debugger-completion-provider';
65
+ import { isCodeCellModel } from '@jupyterlab/cells';
59
66
 
60
67
  function notifyCommands(commands: CommandRegistry): void {
61
68
  Object.values(Debugger.CommandIDs).forEach(command => {
@@ -84,17 +91,39 @@ const consoles: JupyterFrontEndPlugin<void> = {
84
91
  description: 'Add debugger capability to the consoles.',
85
92
  autoStart: true,
86
93
  requires: [IDebugger, IConsoleTracker],
87
- optional: [ILabShell],
88
- activate: (
94
+ optional: [
95
+ ILabShell,
96
+ ISettingRegistry,
97
+ ITranslator,
98
+ IDebuggerDisplayRegistry
99
+ ],
100
+ activate: async (
89
101
  app: JupyterFrontEnd,
90
102
  debug: IDebugger,
91
103
  consoleTracker: IConsoleTracker,
92
- labShell: ILabShell | null
104
+ labShell: ILabShell | null,
105
+ settingRegistry: ISettingRegistry | null,
106
+ translator: ITranslator | NullTranslator,
107
+ displayRegistry: IDebuggerDisplayRegistry | null
93
108
  ) => {
109
+ if (settingRegistry) {
110
+ const settings = await settingRegistry?.load(main.id);
111
+
112
+ const updateOverlaySetting = (): void => {
113
+ const showOverlay = settings.composite['showPausedOverlay'] ?? true;
114
+ document.body.dataset.showPausedOverlay = showOverlay
115
+ ? 'true'
116
+ : 'false';
117
+ };
118
+
119
+ updateOverlaySetting();
120
+ settings.changed.connect(updateOverlaySetting);
121
+ }
94
122
  const handler = new Debugger.Handler({
95
123
  type: 'console',
96
124
  shell: app.shell,
97
- service: debug
125
+ service: debug,
126
+ translator: translator
98
127
  });
99
128
 
100
129
  const updateHandlerAndCommands = async (
@@ -120,6 +149,44 @@ const consoles: JupyterFrontEndPlugin<void> = {
120
149
  }
121
150
  });
122
151
  }
152
+
153
+ if (displayRegistry) {
154
+ displayRegistry.register({
155
+ canHandle(source: IDebugger.Source): boolean {
156
+ return source.path?.includes('ipykernel_') ?? false;
157
+ },
158
+ getDisplayName(source: IDebugger.Source): string {
159
+ let displayName = source.path ?? '';
160
+
161
+ consoleTracker.forEach(panel => {
162
+ for (const cell of panel.console.cells) {
163
+ const model = cell.model;
164
+ if (!isCodeCellModel(model)) {
165
+ continue;
166
+ }
167
+ const code = model.sharedModel.getSource();
168
+ const codeId = debug.getCodeId(code);
169
+
170
+ if (codeId && codeId === source.path) {
171
+ const exec = model.executionCount ?? null;
172
+ const state = model.executionState ?? null;
173
+
174
+ if (state === 'running') {
175
+ displayName = 'In [*]';
176
+ } else if (exec === null) {
177
+ displayName = 'In [ ]';
178
+ } else {
179
+ displayName = `In [${exec}]`;
180
+ }
181
+ return;
182
+ }
183
+ }
184
+ });
185
+
186
+ return displayName;
187
+ }
188
+ });
189
+ }
123
190
  }
124
191
  };
125
192
 
@@ -132,17 +199,33 @@ const files: JupyterFrontEndPlugin<void> = {
132
199
  description: 'Adds debugger capabilities to files.',
133
200
  autoStart: true,
134
201
  requires: [IDebugger, IEditorTracker],
135
- optional: [ILabShell],
136
- activate: (
202
+ optional: [ILabShell, ISettingRegistry, ITranslator],
203
+ activate: async (
137
204
  app: JupyterFrontEnd,
138
205
  debug: IDebugger,
139
206
  editorTracker: IEditorTracker,
140
- labShell: ILabShell | null
207
+ labShell: ILabShell | null,
208
+ settingRegistry: ISettingRegistry | null,
209
+ translator: ITranslator | NullTranslator
141
210
  ) => {
211
+ if (settingRegistry) {
212
+ const settings = await settingRegistry?.load(main.id);
213
+
214
+ const updateOverlaySetting = (): void => {
215
+ const showOverlay = settings.composite['showPausedOverlay'] ?? true;
216
+ document.body.dataset.showPausedOverlay = showOverlay
217
+ ? 'true'
218
+ : 'false';
219
+ };
220
+
221
+ updateOverlaySetting();
222
+ settings.changed.connect(updateOverlaySetting);
223
+ }
142
224
  const handler = new Debugger.Handler({
143
225
  type: 'file',
144
226
  shell: app.shell,
145
- service: debug
227
+ service: debug,
228
+ translator: translator
146
229
  });
147
230
 
148
231
  const activeSessions: {
@@ -206,24 +289,47 @@ const notebooks: JupyterFrontEndPlugin<IDebugger.IHandler> = {
206
289
  'Adds debugger capability to notebooks and provides the debugger notebook handler.',
207
290
  autoStart: true,
208
291
  requires: [IDebugger, INotebookTracker],
209
- optional: [ILabShell, ICommandPalette, ISessionContextDialogs, ITranslator],
292
+ optional: [
293
+ ILabShell,
294
+ ICommandPalette,
295
+ ISessionContextDialogs,
296
+ ISettingRegistry,
297
+ ITranslator,
298
+ IDebuggerDisplayRegistry
299
+ ],
210
300
  provides: IDebuggerHandler,
211
- activate: (
301
+ activate: async (
212
302
  app: JupyterFrontEnd,
213
303
  service: IDebugger,
214
304
  notebookTracker: INotebookTracker,
215
305
  labShell: ILabShell | null,
216
306
  palette: ICommandPalette | null,
217
307
  sessionDialogs_: ISessionContextDialogs | null,
218
- translator_: ITranslator | null
219
- ): Debugger.Handler => {
308
+ settingRegistry: ISettingRegistry | null,
309
+ translator_: ITranslator | null,
310
+ displayRegistry: IDebuggerDisplayRegistry | null
311
+ ): Promise<Debugger.Handler> => {
220
312
  const translator = translator_ ?? nullTranslator;
313
+ if (settingRegistry) {
314
+ const settings = await settingRegistry?.load(main.id);
315
+
316
+ const updateOverlaySetting = (): void => {
317
+ const showOverlay = settings.composite['showPausedOverlay'] ?? true;
318
+ document.body.dataset.showPausedOverlay = showOverlay
319
+ ? 'true'
320
+ : 'false';
321
+ };
322
+
323
+ updateOverlaySetting();
324
+ settings.changed.connect(updateOverlaySetting);
325
+ }
221
326
  const sessionDialogs =
222
327
  sessionDialogs_ ?? new SessionContextDialogs({ translator });
223
328
  const handler = new Debugger.Handler({
224
329
  type: 'notebook',
225
330
  shell: app.shell,
226
- service
331
+ service,
332
+ translator: translator
227
333
  });
228
334
 
229
335
  const trans = translator.load('jupyterlab');
@@ -270,6 +376,7 @@ const notebooks: JupyterFrontEndPlugin<IDebugger.IHandler> = {
270
376
  const { sessionContext } = widget;
271
377
  await sessionContext.ready;
272
378
  await handler.updateContext(widget, sessionContext);
379
+ await handler.updateWidget(widget, sessionContext.session);
273
380
  }
274
381
  updateState(app.commands, service);
275
382
  };
@@ -296,6 +403,41 @@ const notebooks: JupyterFrontEndPlugin<IDebugger.IHandler> = {
296
403
  });
297
404
  }
298
405
 
406
+ if (displayRegistry) {
407
+ displayRegistry.register({
408
+ canHandle(source: IDebugger.Source): boolean {
409
+ return source.path?.includes('ipykernel_') ?? false;
410
+ },
411
+ getDisplayName(source: IDebugger.Source): string {
412
+ let displayName = source.path ?? '';
413
+
414
+ notebookTracker.forEach(panel => {
415
+ for (const cell of panel.content.widgets) {
416
+ const model = cell.model;
417
+ if (!isCodeCellModel(model)) {
418
+ continue;
419
+ }
420
+ const code = model.sharedModel.getSource();
421
+ const codeId = service.getCodeId(code);
422
+
423
+ if (codeId === source.path) {
424
+ const exec = model.executionCount;
425
+ if (model.executionState === 'running') {
426
+ displayName = 'Cell [*]';
427
+ } else {
428
+ displayName = exec == null ? 'Cell [ ]' : `Cell [${exec}]`;
429
+ }
430
+ // Stop iteration once we found the matching cell
431
+ return;
432
+ }
433
+ }
434
+ });
435
+
436
+ return displayName;
437
+ }
438
+ });
439
+ }
440
+
299
441
  return handler;
300
442
  }
301
443
  };
@@ -309,21 +451,35 @@ const service: JupyterFrontEndPlugin<IDebugger> = {
309
451
  autoStart: true,
310
452
  provides: IDebugger,
311
453
  requires: [IDebuggerConfig],
312
- optional: [IDebuggerSources, ITranslator],
454
+ optional: [IDebuggerDisplayRegistry, IDebuggerSources, ITranslator],
313
455
  activate: (
314
456
  app: JupyterFrontEnd,
315
457
  config: IDebugger.IConfig,
458
+ displayRegistry: IDebuggerDisplayRegistry | null,
316
459
  debuggerSources: IDebugger.ISources | null,
317
460
  translator: ITranslator | null
318
461
  ) =>
319
462
  new Debugger.Service({
320
463
  config,
464
+ displayRegistry,
321
465
  debuggerSources,
322
466
  specsManager: app.serviceManager.kernelspecs,
323
467
  translator
324
468
  })
325
469
  };
326
470
 
471
+ /**
472
+ * A plugin providing the debugger display registry.
473
+ */
474
+ const displayRegistry: JupyterFrontEndPlugin<IDebuggerDisplayRegistry> = {
475
+ id: '@jupyterlab/debugger-extension:display-registry',
476
+ description:
477
+ 'Provides the debugger display registry for cell/file display names.',
478
+ provides: IDebuggerDisplayRegistry,
479
+ autoStart: true,
480
+ activate: () => new DebuggerDisplayRegistry()
481
+ };
482
+
327
483
  /**
328
484
  * A plugin that provides a configuration with hash method.
329
485
  */
@@ -1246,7 +1402,7 @@ const debugConsole: JupyterFrontEndPlugin<void> = {
1246
1402
  app.shell.add(debugConsoleWidget, 'main', {
1247
1403
  mode: 'split-bottom',
1248
1404
  activate: true,
1249
- type: 'Debugger console'
1405
+ type: 'Debugger Console'
1250
1406
  });
1251
1407
 
1252
1408
  void debugConsoleTracker.add(debugConsoleWidget);
@@ -1410,6 +1566,7 @@ const debugConsole: JupyterFrontEndPlugin<void> = {
1410
1566
  */
1411
1567
  const plugins: JupyterFrontEndPlugin<any>[] = [
1412
1568
  service,
1569
+ displayRegistry,
1413
1570
  consoles,
1414
1571
  files,
1415
1572
  notebooks,
package/style/index.css CHANGED
@@ -9,6 +9,7 @@
9
9
  @import url('~@jupyterlab/rendermime/style/index.css');
10
10
  @import url('~@jupyterlab/docregistry/style/index.css');
11
11
  @import url('~@jupyterlab/application/style/index.css');
12
+ @import url('~@jupyterlab/cells/style/index.css');
12
13
  @import url('~@jupyterlab/completer/style/index.css');
13
14
  @import url('~@jupyterlab/console/style/index.css');
14
15
  @import url('~@jupyterlab/fileeditor/style/index.css');
package/style/index.js CHANGED
@@ -9,6 +9,7 @@ import '@jupyterlab/codeeditor/style/index.js';
9
9
  import '@jupyterlab/rendermime/style/index.js';
10
10
  import '@jupyterlab/docregistry/style/index.js';
11
11
  import '@jupyterlab/application/style/index.js';
12
+ import '@jupyterlab/cells/style/index.js';
12
13
  import '@jupyterlab/completer/style/index.js';
13
14
  import '@jupyterlab/console/style/index.js';
14
15
  import '@jupyterlab/fileeditor/style/index.js';