@jupyterlab/notebook 3.3.0-alpha.9 → 4.0.0-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,391 @@
1
+ // Copyright (c) Jupyter Development Team.
2
+ // Distributed under the terms of the Modified BSD License.
3
+ import { translateKernelStatuses } from '@jupyterlab/apputils';
4
+ import { nullTranslator } from '@jupyterlab/translation';
5
+ import React from 'react';
6
+ import { interactiveItem, ProgressCircle } from '@jupyterlab/statusbar';
7
+ import { circleIcon, offlineBoltIcon, VDomModel, VDomRenderer } from '@jupyterlab/ui-components';
8
+ import { KernelMessage } from '@jupyterlab/services';
9
+ /**
10
+ * A react functional component for rendering execution indicator.
11
+ */
12
+ export function ExecutionIndicatorComponent(props) {
13
+ const translator = props.translator || nullTranslator;
14
+ const kernelStatuses = translateKernelStatuses(translator);
15
+ const trans = translator.load('jupyterlab');
16
+ const state = props.state;
17
+ const showOnToolBar = props.displayOption.showOnToolBar;
18
+ const showProgress = props.displayOption.showProgress;
19
+ const tooltipClass = showOnToolBar ? 'down' : 'up';
20
+ const emptyDiv = React.createElement("div", null);
21
+ if (!state) {
22
+ return emptyDiv;
23
+ }
24
+ const kernelStatus = state.kernelStatus;
25
+ const circleIconProps = {
26
+ alignSelf: 'normal',
27
+ height: '24px'
28
+ };
29
+ const time = state.totalTime;
30
+ const scheduledCellNumber = state.scheduledCellNumber || 0;
31
+ const remainingCellNumber = state.scheduledCell.size || 0;
32
+ const executedCellNumber = scheduledCellNumber - remainingCellNumber;
33
+ let percentage = (100 * executedCellNumber) / scheduledCellNumber;
34
+ let displayClass = showProgress ? '' : 'hidden';
35
+ if (!showProgress && percentage < 100) {
36
+ percentage = 0;
37
+ }
38
+ const progressBar = (percentage) => (React.createElement(ProgressCircle, { progress: percentage, width: 16, height: 24 }));
39
+ const titleFactory = (translatedStatus) => trans.__('Kernel status: %1', translatedStatus);
40
+ const reactElement = (status, circle, popup) => (React.createElement("div", { className: 'jp-Notebook-ExecutionIndicator', title: showProgress ? '' : titleFactory(kernelStatuses[status]) },
41
+ circle,
42
+ React.createElement("div", { className: `jp-Notebook-ExecutionIndicator-tooltip ${tooltipClass} ${displayClass}` },
43
+ React.createElement("span", null,
44
+ " ",
45
+ titleFactory(kernelStatuses[status]),
46
+ " "),
47
+ popup)));
48
+ if (state.kernelStatus === 'connecting' ||
49
+ state.kernelStatus === 'disconnected' ||
50
+ state.kernelStatus === 'unknown') {
51
+ return reactElement(kernelStatus, React.createElement(offlineBoltIcon.react, Object.assign({}, circleIconProps)), []);
52
+ }
53
+ if (state.kernelStatus === 'starting' ||
54
+ state.kernelStatus === 'terminating' ||
55
+ state.kernelStatus === 'restarting' ||
56
+ state.kernelStatus === 'initializing') {
57
+ return reactElement(kernelStatus, React.createElement(circleIcon.react, Object.assign({}, circleIconProps)), []);
58
+ }
59
+ if (state.executionStatus === 'busy') {
60
+ return reactElement('busy', progressBar(percentage), [
61
+ React.createElement("span", { key: 0 }, trans.__(`Executed ${executedCellNumber}/${scheduledCellNumber} requests`)),
62
+ React.createElement("span", { key: 1 }, trans._n('Elapsed time: %1 second', 'Elapsed time: %1 seconds', time))
63
+ ]);
64
+ }
65
+ else {
66
+ if (time === 0) {
67
+ return reactElement('idle', progressBar(100), []);
68
+ }
69
+ else {
70
+ return reactElement('idle', progressBar(100), [
71
+ React.createElement("span", { key: 0 }, trans._n('Executed %1 request', 'Executed %1 requests', scheduledCellNumber)),
72
+ React.createElement("span", { key: 1 }, trans._n('Elapsed time: %1 second', 'Elapsed time: %1 seconds', time))
73
+ ]);
74
+ }
75
+ }
76
+ }
77
+ /**
78
+ * A VDomRenderer widget for displaying the execution status.
79
+ */
80
+ export class ExecutionIndicator extends VDomRenderer {
81
+ /**
82
+ * Construct the kernel status widget.
83
+ */
84
+ constructor(translator, showProgress = true) {
85
+ super(new ExecutionIndicator.Model());
86
+ this.translator = translator || nullTranslator;
87
+ this.addClass(interactiveItem);
88
+ }
89
+ /**
90
+ * Render the execution status item.
91
+ */
92
+ render() {
93
+ if (this.model === null || !this.model.renderFlag) {
94
+ return React.createElement("div", null);
95
+ }
96
+ else {
97
+ const nb = this.model.currentNotebook;
98
+ if (!nb) {
99
+ return (React.createElement(ExecutionIndicatorComponent, { displayOption: this.model.displayOption, state: undefined, translator: this.translator }));
100
+ }
101
+ return (React.createElement(ExecutionIndicatorComponent, { displayOption: this.model.displayOption, state: this.model.executionState(nb), translator: this.translator }));
102
+ }
103
+ }
104
+ }
105
+ /**
106
+ * A namespace for ExecutionIndicator statics.
107
+ */
108
+ (function (ExecutionIndicator) {
109
+ /**
110
+ * A VDomModel for the execution status indicator.
111
+ */
112
+ class Model extends VDomModel {
113
+ constructor() {
114
+ super();
115
+ /**
116
+ * A weak map to hold execution status of multiple notebooks.
117
+ */
118
+ this._notebookExecutionProgress = new WeakMap();
119
+ this._displayOption = { showOnToolBar: true, showProgress: true };
120
+ this._renderFlag = true;
121
+ }
122
+ /**
123
+ * Attach a notebook with session context to model in order to keep
124
+ * track of multiple notebooks. If a session context is already
125
+ * attached, only set current activated notebook to input.
126
+ *
127
+ * @param data - The notebook and session context to be attached to model
128
+ */
129
+ attachNotebook(data) {
130
+ var _a, _b, _c, _d;
131
+ if (data && data.content && data.context) {
132
+ const nb = data.content;
133
+ const context = data.context;
134
+ this._currentNotebook = nb;
135
+ if (!this._notebookExecutionProgress.has(nb)) {
136
+ this._notebookExecutionProgress.set(nb, {
137
+ executionStatus: 'idle',
138
+ kernelStatus: 'idle',
139
+ totalTime: 0,
140
+ interval: 0,
141
+ timeout: 0,
142
+ scheduledCell: new Set(),
143
+ scheduledCellNumber: 0,
144
+ needReset: true
145
+ });
146
+ const state = this._notebookExecutionProgress.get(nb);
147
+ const contextStatusChanged = (ctx) => {
148
+ if (state) {
149
+ state.kernelStatus = ctx.kernelDisplayStatus;
150
+ }
151
+ this.stateChanged.emit(void 0);
152
+ };
153
+ context.statusChanged.connect(contextStatusChanged, this);
154
+ const contextConnectionStatusChanged = (ctx) => {
155
+ if (state) {
156
+ state.kernelStatus = ctx.kernelDisplayStatus;
157
+ }
158
+ this.stateChanged.emit(void 0);
159
+ };
160
+ context.connectionStatusChanged.connect(contextConnectionStatusChanged, this);
161
+ context.disposed.connect(ctx => {
162
+ ctx.connectionStatusChanged.disconnect(contextConnectionStatusChanged, this);
163
+ ctx.statusChanged.disconnect(contextStatusChanged, this);
164
+ });
165
+ const handleKernelMsg = (sender, msg) => {
166
+ const message = msg.msg;
167
+ const msgId = message.header.msg_id;
168
+ if (KernelMessage.isCommMsgMsg(message) &&
169
+ message.content.data['method']) {
170
+ // Execution request from Comm message
171
+ const method = message.content.data['method'];
172
+ if (method !== 'request_state' && method !== 'update') {
173
+ this._cellScheduledCallback(nb, msgId);
174
+ this._startTimer(nb);
175
+ }
176
+ }
177
+ else if (message.header.msg_type === 'execute_request') {
178
+ // A cell code is scheduled for executing
179
+ this._cellScheduledCallback(nb, msgId);
180
+ }
181
+ else if (KernelMessage.isStatusMsg(message) &&
182
+ message.content.execution_state === 'idle') {
183
+ // Idle status message case.
184
+ const parentId = message.parent_header
185
+ .msg_id;
186
+ this._cellExecutedCallback(nb, parentId);
187
+ }
188
+ else if (message.header.msg_type === 'execute_input') {
189
+ // A cell code starts executing.
190
+ this._startTimer(nb);
191
+ }
192
+ };
193
+ (_b = (_a = context.session) === null || _a === void 0 ? void 0 : _a.kernel) === null || _b === void 0 ? void 0 : _b.anyMessage.connect(handleKernelMsg);
194
+ (_d = (_c = context.session) === null || _c === void 0 ? void 0 : _c.kernel) === null || _d === void 0 ? void 0 : _d.disposed.connect(kernel => kernel.anyMessage.disconnect(handleKernelMsg));
195
+ const kernelChangedSlot = (_, kernelData) => {
196
+ if (state) {
197
+ this._resetTime(state);
198
+ this.stateChanged.emit(void 0);
199
+ if (kernelData.newValue) {
200
+ kernelData.newValue.anyMessage.connect(handleKernelMsg);
201
+ }
202
+ }
203
+ };
204
+ context.kernelChanged.connect(kernelChangedSlot);
205
+ context.disposed.connect(ctx => ctx.kernelChanged.disconnect(kernelChangedSlot));
206
+ }
207
+ }
208
+ }
209
+ /**
210
+ * The current activated notebook in model.
211
+ */
212
+ get currentNotebook() {
213
+ return this._currentNotebook;
214
+ }
215
+ /**
216
+ * The display options for progress bar and elapsed time.
217
+ */
218
+ get displayOption() {
219
+ return this._displayOption;
220
+ }
221
+ /**
222
+ * Set the display options for progress bar and elapsed time.
223
+ *
224
+ * @param options - Options to be used
225
+ */
226
+ set displayOption(options) {
227
+ this._displayOption = options;
228
+ }
229
+ /**
230
+ * Get the execution state associated with a notebook.
231
+ *
232
+ * @param nb - The notebook used to identify execution
233
+ * state.
234
+ *
235
+ * @returns - The associated execution state.
236
+ */
237
+ executionState(nb) {
238
+ return this._notebookExecutionProgress.get(nb);
239
+ }
240
+ /**
241
+ * The function is called on kernel's idle status message.
242
+ * It is used to keep track number of executed
243
+ * cell or Comm custom messages and the status of kernel.
244
+ *
245
+ * @param nb - The notebook which contains the executed code
246
+ * cell.
247
+ * @param msg_id - The id of message.
248
+ *
249
+ * ### Note
250
+ *
251
+ * To keep track of cells executed under 1 second,
252
+ * the execution state is marked as `needReset` 1 second after executing
253
+ * these cells. This `Timeout` will be cleared if there is any cell
254
+ * scheduled after that.
255
+ */
256
+ _cellExecutedCallback(nb, msg_id) {
257
+ const state = this._notebookExecutionProgress.get(nb);
258
+ if (state && state.scheduledCell.has(msg_id)) {
259
+ state.scheduledCell.delete(msg_id);
260
+ if (state.scheduledCell.size === 0) {
261
+ window.setTimeout(() => {
262
+ state.executionStatus = 'idle';
263
+ clearInterval(state.interval);
264
+ this.stateChanged.emit(void 0);
265
+ }, 150);
266
+ state.timeout = window.setTimeout(() => {
267
+ state.needReset = true;
268
+ }, 1000);
269
+ }
270
+ }
271
+ }
272
+ /**
273
+ * This function is called on kernel's `execute_input` message to start
274
+ * the elapsed time counter.
275
+ *
276
+ * @param nb - The notebook which contains the scheduled execution request.
277
+ */
278
+ _startTimer(nb) {
279
+ const state = this._notebookExecutionProgress.get(nb);
280
+ if (state) {
281
+ if (state.executionStatus !== 'busy') {
282
+ state.executionStatus = 'busy';
283
+ clearTimeout(state.timeout);
284
+ this.stateChanged.emit(void 0);
285
+ state.interval = window.setInterval(() => {
286
+ this._tick(state);
287
+ }, 1000);
288
+ }
289
+ }
290
+ }
291
+ /**
292
+ * The function is called on kernel's `execute_request` message or Comm message, it is
293
+ * used to keep track number of scheduled cell or Comm execution message
294
+ * and the status of kernel.
295
+ *
296
+ * @param nb - The notebook which contains the scheduled code.
297
+ * cell
298
+ * @param msg_id - The id of message.
299
+ */
300
+ _cellScheduledCallback(nb, msg_id) {
301
+ const state = this._notebookExecutionProgress.get(nb);
302
+ if (state && !state.scheduledCell.has(msg_id)) {
303
+ if (state.needReset) {
304
+ this._resetTime(state);
305
+ }
306
+ state.scheduledCell.add(msg_id);
307
+ state.scheduledCellNumber += 1;
308
+ }
309
+ }
310
+ /**
311
+ * Increment the executed time of input execution state
312
+ * and emit `stateChanged` signal to re-render the indicator.
313
+ *
314
+ * @param data - the state to be updated.
315
+ */
316
+ _tick(data) {
317
+ data.totalTime += 1;
318
+ this.stateChanged.emit(void 0);
319
+ }
320
+ /**
321
+ * Reset the input execution state.
322
+ *
323
+ * @param data - the state to be rested.
324
+ */
325
+ _resetTime(data) {
326
+ data.totalTime = 0;
327
+ data.scheduledCellNumber = 0;
328
+ data.executionStatus = 'idle';
329
+ data.scheduledCell = new Set();
330
+ clearTimeout(data.timeout);
331
+ clearInterval(data.interval);
332
+ data.needReset = false;
333
+ }
334
+ get renderFlag() {
335
+ return this._renderFlag;
336
+ }
337
+ updateRenderOption(options) {
338
+ if (this.displayOption.showOnToolBar) {
339
+ if (!options.showOnToolBar) {
340
+ this._renderFlag = false;
341
+ }
342
+ else {
343
+ this._renderFlag = true;
344
+ }
345
+ }
346
+ this.displayOption.showProgress = options.showProgress;
347
+ this.stateChanged.emit(void 0);
348
+ }
349
+ }
350
+ ExecutionIndicator.Model = Model;
351
+ function createExecutionIndicatorItem(panel, translator, loadSettings) {
352
+ const toolbarItem = new ExecutionIndicator(translator);
353
+ toolbarItem.model.displayOption = {
354
+ showOnToolBar: true,
355
+ showProgress: true
356
+ };
357
+ toolbarItem.model.attachNotebook({
358
+ content: panel.content,
359
+ context: panel.sessionContext
360
+ });
361
+ panel.disposed.connect(() => {
362
+ toolbarItem.dispose();
363
+ });
364
+ if (loadSettings) {
365
+ loadSettings
366
+ .then(settings => {
367
+ toolbarItem.model.updateRenderOption(getSettingValue(settings));
368
+ settings.changed.connect(newSettings => {
369
+ toolbarItem.model.updateRenderOption(getSettingValue(newSettings));
370
+ });
371
+ })
372
+ .catch((reason) => {
373
+ console.error(reason.message);
374
+ });
375
+ }
376
+ return toolbarItem;
377
+ }
378
+ ExecutionIndicator.createExecutionIndicatorItem = createExecutionIndicatorItem;
379
+ function getSettingValue(settings) {
380
+ let showOnToolBar = true;
381
+ let showProgress = true;
382
+ const configValues = settings.get('kernelStatus').composite;
383
+ if (configValues) {
384
+ showOnToolBar = !configValues.showOnStatusBar;
385
+ showProgress = configValues.showProgress;
386
+ }
387
+ return { showOnToolBar, showProgress };
388
+ }
389
+ ExecutionIndicator.getSettingValue = getSettingValue;
390
+ })(ExecutionIndicator || (ExecutionIndicator = {}));
391
+ //# sourceMappingURL=executionindicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executionindicator.js","sourceRoot":"","sources":["../src/executionindicator.tsx"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -14,3 +14,4 @@ export * from './tracker';
14
14
  export * from './truststatus';
15
15
  export * from './widget';
16
16
  export * from './widgetfactory';
17
+ export * from './executionindicator';
package/lib/index.js CHANGED
@@ -16,4 +16,5 @@ export * from './tracker';
16
16
  export * from './truststatus';
17
17
  export * from './widget';
18
18
  export * from './widgetfactory';
19
+ export * from './executionindicator';
19
20
  //# sourceMappingURL=index.js.map
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,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAC3D;;;GAGG;AAEH,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC"}
package/lib/model.d.ts CHANGED
@@ -137,6 +137,7 @@ export declare class NotebookModel implements INotebookModel {
137
137
  */
138
138
  private _onCellsChanged;
139
139
  private _onStateChanged;
140
+ private _onMetadataChanged;
140
141
  /**
141
142
  * Make sure we have the required metadata fields.
142
143
  */
@@ -161,12 +162,15 @@ export declare class NotebookModel implements INotebookModel {
161
162
  * The shared notebook model.
162
163
  */
163
164
  readonly sharedModel: models.ISharedNotebook;
165
+ /**
166
+ * A mutex to update the shared model.
167
+ */
168
+ protected readonly _modelDBMutex: (f: () => void) => void;
164
169
  /**
165
170
  * The underlying `IModelDB` instance in which model
166
171
  * data is stored.
167
172
  */
168
173
  readonly modelDB: IModelDB;
169
- private _dirty;
170
174
  private _readOnly;
171
175
  private _contentChanged;
172
176
  private _stateChanged;
@@ -208,6 +212,10 @@ export declare namespace NotebookModel {
208
212
  * If the model is initialized or not.
209
213
  */
210
214
  isInitialized?: boolean;
215
+ /**
216
+ * Defines if the document can be undo/redo.
217
+ */
218
+ disableDocumentWideUndoRedo?: boolean;
211
219
  }
212
220
  /**
213
221
  * A factory for creating notebook model content.
package/lib/model.js CHANGED
@@ -9,6 +9,7 @@ import { nullTranslator } from '@jupyterlab/translation';
9
9
  import { UUID } from '@lumino/coreutils';
10
10
  import { Signal } from '@lumino/signaling';
11
11
  import { CellList } from './celllist';
12
+ const UNSHARED_KEYS = ['kernelspec', 'language_info'];
12
13
  /**
13
14
  * An implementation of a notebook Model.
14
15
  */
@@ -18,10 +19,9 @@ export class NotebookModel {
18
19
  */
19
20
  constructor(options = {}) {
20
21
  /**
21
- * The shared notebook model.
22
+ * A mutex to update the shared model.
22
23
  */
23
- this.sharedModel = models.YNotebook.create();
24
- this._dirty = false;
24
+ this._modelDBMutex = models.createMutex();
25
25
  this._readOnly = false;
26
26
  this._contentChanged = new Signal(this);
27
27
  this._stateChanged = new Signal(this);
@@ -34,6 +34,7 @@ export class NotebookModel {
34
34
  else {
35
35
  this.modelDB = new ModelDB();
36
36
  }
37
+ this.sharedModel = models.YNotebook.create(options.disableDocumentWideUndoRedo || false);
37
38
  this._isInitialized = options.isInitialized === false ? false : true;
38
39
  const factory = options.contentFactory || NotebookModel.defaultContentFactory;
39
40
  this.contentFactory = factory.clone(this.modelDB.view('cells'));
@@ -47,8 +48,9 @@ export class NotebookModel {
47
48
  metadata.set('language_info', { name });
48
49
  }
49
50
  this._ensureMetadata();
50
- metadata.changed.connect(this.triggerContentChange, this);
51
+ metadata.changed.connect(this._onMetadataChanged, this);
51
52
  this._deletedCells = [];
53
+ this.sharedModel.dirty = false;
52
54
  this.sharedModel.changed.connect(this._onStateChanged, this);
53
55
  }
54
56
  /**
@@ -67,15 +69,13 @@ export class NotebookModel {
67
69
  * The dirty state of the document.
68
70
  */
69
71
  get dirty() {
70
- return this._dirty;
72
+ return this.sharedModel.dirty;
71
73
  }
72
74
  set dirty(newValue) {
73
- if (newValue === this._dirty) {
75
+ if (newValue === this.dirty) {
74
76
  return;
75
77
  }
76
- const oldValue = this._dirty;
77
- this._dirty = newValue;
78
- this.triggerStateChange({ name: 'dirty', oldValue, newValue });
78
+ this.sharedModel.dirty = newValue;
79
79
  }
80
80
  /**
81
81
  * The read only state of the document.
@@ -323,12 +323,27 @@ close the notebook without saving it.`, origNbformat, this._nbformat);
323
323
  if (value.name === 'nbformatMinor') {
324
324
  this._nbformatMinor = value.newValue;
325
325
  }
326
- if (value.name === 'dirty') {
327
- this._dirty = value.newValue;
326
+ if (value.name !== 'dirty' || value.oldValue !== value.newValue) {
327
+ this.triggerStateChange(value);
328
328
  }
329
- this.triggerStateChange(value);
330
329
  });
331
330
  }
331
+ if (changes.metadataChange) {
332
+ const metadata = changes.metadataChange.newValue;
333
+ this._modelDBMutex(() => {
334
+ Object.entries(metadata).forEach(([key, value]) => {
335
+ this.metadata.set(key, value);
336
+ });
337
+ });
338
+ }
339
+ }
340
+ _onMetadataChanged(metadata, change) {
341
+ if (!UNSHARED_KEYS.includes(change.key)) {
342
+ this._modelDBMutex(() => {
343
+ this.sharedModel.updateMetadata(metadata.toJSON());
344
+ });
345
+ }
346
+ this.triggerContentChange();
332
347
  }
333
348
  /**
334
349
  * Make sure we have the required metadata fields.
package/lib/model.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAEL,aAAa,EAKb,iBAAiB,EACjB,YAAY,EACb,MAAM,mBAAmB,CAAC;AAG3B,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAML,OAAO,EACR,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAEL,cAAc,EAEf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAwC,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAW,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,aAAa,GAAG,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;AA2CtD;;GAEG;AACH,MAAM,OAAO,aAAa;IACxB;;OAEG;IACH,YAAY,UAAkC,EAAE;QAiahD;;WAEG;QACgB,kBAAa,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAQhD,cAAS,GAAG,KAAK,CAAC;QAClB,oBAAe,GAAG,IAAI,MAAM,CAAa,IAAI,CAAC,CAAC;QAC/C,kBAAa,GAAG,IAAI,MAAM,CAA0B,IAAI,CAAC,CAAC;QAI1D,cAAS,GAAG,QAAQ,CAAC,aAAa,CAAC;QACnC,mBAAc,GAAG,QAAQ,CAAC,aAAa,CAAC;QAGxC,gBAAW,GAAG,KAAK,CAAC;QArb1B,IAAI,OAAO,CAAC,OAAO,EAAE;YACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;SAChC;aAAM;YACL,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;SAC9B;QACD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CACxC,OAAO,CAAC,2BAA2B,IAAI,KAAK,CACnB,CAAC;QAC5B,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACrE,MAAM,OAAO,GACX,OAAO,CAAC,cAAc,IAAI,aAAa,CAAC,qBAAqB,CAAC;QAChE,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,GAAG,IAAI,QAAQ,CACxB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,WAAW,CACjB,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,cAAc,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QAExD,2BAA2B;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE;YAClC,MAAM,IAAI,GAAG,OAAO,CAAC,kBAAkB,IAAI,EAAE,CAAC;YAC9C,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;SACzC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QAEvB,IAAI,CAAC,WAAgC,CAAC,KAAK,GAAG,KAAK,CAAC;QACrD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;IACD;;OAEG;IACH,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;IAChC,CAAC;IACD,IAAI,KAAK,CAAC,QAAiB;QACzB,IAAI,QAAQ,KAAK,IAAI,CAAC,KAAK,EAAE;YAC3B,OAAO;SACR;QACA,IAAI,CAAC,WAAgC,CAAC,KAAK,GAAG,QAAQ,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IACD,IAAI,QAAQ,CAAC,QAAiB;QAC5B,IAAI,QAAQ,KAAK,IAAI,CAAC,SAAS,EAAE;YAC/B,OAAO;SACR;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IACpE,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAoB,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAC5B,YAAY,CACmB,CAAC;QAClC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,IAAI,qBAAqB;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAC5B,eAAe,CACkB,CAAC;QACpC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,OAAO;QACL,kCAAkC;QAClC,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,OAAO;SACR;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,IAAK,CAAC;QACpB,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACvC,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,KAAa;QACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,MAAM;;QACJ,MAAM,KAAK,GAAqB,EAAE,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,MAAM,mCAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAClD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YACxC,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,EAAE;gBACpD,oDAAoD;gBACpD,OAAO,IAAI,CAAC,EAAE,CAAC;aAChB;YACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAClB;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;QAChD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE;YACtC,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACpE;QACD,OAAO;YACL,QAAQ;YACR,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,KAAK;SACN,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAC,KAAgC;QACvC,MAAM,KAAK,GAAiB,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;QACpC,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,KAAK,CAAC,IAAI,KAAK,CAAC,cAAc,IAAI,CAAC,CAAC;QAChE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE;YAC9B,MAAM,OAAO,GAAuB,EAAE,IAAI,EAAE,CAAC;YAC7C,IAAI,KAAK,EAAE;gBACT,OAAO,CAAC,EAAE,GAAI,IAAY,CAAC,EAAE,CAAC;aAC/B;YACD,QAAQ,IAAI,CAAC,SAAS,EAAE;gBACtB,KAAK,MAAM;oBACT,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC5C,MAAM;gBACR,KAAK,UAAU;oBACb,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;oBAChD,MAAM;gBACR,KAAK,KAAK;oBACR,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC3C,MAAM;gBACR;oBACE,SAAS;aACZ;SACF;QACD,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAE,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAEjC,IAAI,CAAC,WAAgC,CAAC,cAAc;YACnD,QAAQ,CAAC,aAAa,CAAC;QACxB,IAAI,CAAC,WAAgC,CAAC,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC;QACzE,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC;QAElD,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,EAAE;YACpC,IAAI,CAAC,WAAgC,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;SAClE;QACD,IAAI,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE;YAC7C,IAAI,CAAC,WAAgC,CAAC,cAAc;gBACnD,KAAK,CAAC,cAAc,CAAC;SACxB;QAED,wCAAwC;QACxC,IAAI,YAAY,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,YAAY,EAAE;YACjE,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC;YAC5C,IAAI,GAAW,CAAC;YAEhB,IAAI,KAAK,EAAE;gBACT,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAClB;;;;sCAI4B,EAC5B,YAAY,EACZ,IAAI,CAAC,SAAS,CACf,CAAC;aACH;iBAAM;gBACL,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAClB;;;;sCAI4B,EAC5B,YAAY,EACZ,IAAI,CAAC,SAAS,CACf,CAAC;aACH;YACD,KAAK,UAAU,CAAC;gBACd,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,oBAAoB,CAAC;gBAC3C,IAAI,EAAE,GAAG;gBACT,OAAO,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aAC5D,CAAC,CAAC;SACJ;QAED,uBAAuB;QACvB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAChC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE;YAC1B,uDAAuD;YACvD,IAAI,GAAG,KAAK,eAAe,EAAE;gBAC3B,SAAS;aACV;YACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;SACvC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED;;;;;;OAMG;IACH,UAAU;QACR,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACtB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;YACpC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;SAC7C;QACD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;IACzB,CAAC;IAED;;OAEG;IACK,eAAe,CACrB,IAAiC,EACjC,MAAgD;QAEhD,QAAQ,MAAM,CAAC,IAAI,EAAE;YACnB,KAAK,KAAK;gBACR,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBAC9B,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;gBAC/D,CAAC,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,QAAQ;gBACX,MAAM;YACR,KAAK,KAAK;gBACR,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBAC9B,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;gBAC/D,CAAC,CAAC,CAAC;gBACH,MAAM;YACR;gBACE,MAAM;SACT;QACD,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAEO,eAAe,CACrB,MAA8B,EAC9B,OAA8B;QAE9B,IAAI,OAAO,CAAC,WAAW,EAAE;YACvB,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAClC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE;oBAC7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC;iBACjC;gBACD,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE;oBAClC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC;iBACtC;gBACD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,EAAE;oBAC/D,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;iBAChC;YACH,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,OAAO,CAAC,cAAc,EAAE;YAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,QAAsB,CAAC;YAC/D,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE;gBACtB,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;oBAChD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAChC,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAEO,kBAAkB,CACxB,QAAyB,EACzB,MAAyE;QAEzE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;YACvC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE;gBACtB,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED;;OAEG;IACK,eAAe;QACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE;YAClC,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;SAC7C;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;YAC/B,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;SAC5D;IACH,CAAC;IAED;;OAEG;IACO,kBAAkB,CAAC,IAAuB;QAClD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACO,oBAAoB;QAC5B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;CAkCF;AAED;;GAEG;AACH,WAAiB,aAAa;IAwG5B;;OAEG;IACH,MAAa,cAAc;QACzB;;WAEG;QACH,YAAY,OAAgC;YAC1C,IAAI,CAAC,sBAAsB;gBACzB,OAAO,CAAC,sBAAsB,IAAI,aAAa,CAAC,qBAAqB,CAAC;YACxE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QACjC,CAAC;QAYD;;;;;;;;;;WAUG;QACH,UAAU,CACR,IAAuB,EACvB,OAA2B;YAE3B,QAAQ,IAAI,EAAE;gBACZ,KAAK,MAAM;oBACT,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;gBACtC,KAAK,UAAU;oBACb,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBAC1C,KAAK,KAAK,CAAC;gBACX;oBACE,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;aACtC;QACH,CAAC;QAED;;;;;;;;;WASG;QACH,cAAc,CAAC,OAA+B;YAC5C,IAAI,OAAO,CAAC,cAAc,EAAE;gBAC1B,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAC;aACtD;YACD,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE;oBACf,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;iBAC3B;gBACD,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aACjD;YACD,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;QAED;;;;;;;WAOG;QACH,kBAAkB,CAAC,OAA2B;YAC5C,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE;oBACf,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;iBAC3B;gBACD,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aACjD;YACD,OAAO,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;QAED;;;;;;;WAOG;QACH,aAAa,CAAC,OAA2B;YACvC,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE;oBACf,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;iBAC3B;gBACD,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aACjD;YACD,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;QAED;;WAEG;QACH,KAAK,CAAC,OAAiB;YACrB,OAAO,IAAI,cAAc,CAAC;gBACxB,OAAO,EAAE,OAAO;gBAChB,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;aACpD,CAAC,CAAC;QACL,CAAC;KACF;IAlHY,4BAAc,iBAkH1B,CAAA;IAsBD;;OAEG;IACU,mCAAqB,GAAG,IAAI,cAAc,CAAC,EAAE,CAAC,CAAC;AAC9D,CAAC,EAvPgB,aAAa,KAAb,aAAa,QAuP7B"}
@@ -15,6 +15,10 @@ export declare class NotebookModelFactory implements DocumentRegistry.IModelFact
15
15
  * The content model factory used by the NotebookModelFactory.
16
16
  */
17
17
  readonly contentFactory: NotebookModel.IContentFactory;
18
+ /**
19
+ * Define the disableDocumentWideUndoRedo property.
20
+ */
21
+ set disableDocumentWideUndoRedo(disableDocumentWideUndoRedo: boolean);
18
22
  /**
19
23
  * The name of the model.
20
24
  */
@@ -47,6 +51,10 @@ export declare class NotebookModelFactory implements DocumentRegistry.IModelFact
47
51
  * Get the preferred kernel language given a path.
48
52
  */
49
53
  preferredLanguage(path: string): string;
54
+ /**
55
+ * Defines if the document can be undo/redo.
56
+ */
57
+ private _disableDocumentWideUndoRedo;
50
58
  private _disposed;
51
59
  }
52
60
  /**
@@ -57,6 +65,10 @@ export declare namespace NotebookModelFactory {
57
65
  * The options used to initialize a NotebookModelFactory.
58
66
  */
59
67
  interface IOptions {
68
+ /**
69
+ * Defines if the document can be undo/redo.
70
+ */
71
+ disableDocumentWideUndoRedo?: boolean;
60
72
  /**
61
73
  * The factory for code cell content.
62
74
  */