dockview-core 1.7.3 → 1.7.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/api/dockviewPanelApi.js +1 -1
- package/dist/cjs/api/dockviewPanelApi.js.map +1 -1
- package/dist/cjs/api/panelApi.d.ts.map +1 -1
- package/dist/cjs/api/panelApi.js +3 -5
- package/dist/cjs/api/panelApi.js.map +1 -1
- package/dist/cjs/dnd/abstractDragHandler.d.ts +2 -2
- package/dist/cjs/dnd/abstractDragHandler.d.ts.map +1 -1
- package/dist/cjs/dnd/abstractDragHandler.js +28 -23
- package/dist/cjs/dnd/abstractDragHandler.js.map +1 -1
- package/dist/cjs/dnd/droptarget.d.ts.map +1 -1
- package/dist/cjs/dnd/droptarget.js +1 -0
- package/dist/cjs/dnd/droptarget.js.map +1 -1
- package/dist/cjs/dnd/groupDragHandler.d.ts +0 -1
- package/dist/cjs/dnd/groupDragHandler.d.ts.map +1 -1
- package/dist/cjs/dnd/groupDragHandler.js +0 -3
- package/dist/cjs/dnd/groupDragHandler.js.map +1 -1
- package/dist/cjs/dockview/components/panel/content.d.ts.map +1 -1
- package/dist/cjs/dockview/components/panel/content.js +2 -2
- package/dist/cjs/dockview/components/panel/content.js.map +1 -1
- package/dist/cjs/dockview/components/tab/tab.d.ts +2 -2
- package/dist/cjs/dockview/components/tab/tab.d.ts.map +1 -1
- package/dist/cjs/dockview/components/tab/tab.js +2 -7
- package/dist/cjs/dockview/components/tab/tab.js.map +1 -1
- package/dist/cjs/dockview/components/titlebar/tabsContainer.d.ts.map +1 -1
- package/dist/cjs/dockview/components/titlebar/tabsContainer.js +27 -3
- package/dist/cjs/dockview/components/titlebar/tabsContainer.js.map +1 -1
- package/dist/cjs/dockview/dockviewComponent.d.ts +1 -1
- package/dist/cjs/dockview/dockviewComponent.d.ts.map +1 -1
- package/dist/cjs/dockview/dockviewComponent.js +23 -21
- package/dist/cjs/dockview/dockviewComponent.js.map +1 -1
- package/dist/cjs/dockview/dockviewGroupPanelModel.js +2 -2
- package/dist/cjs/dockview/dockviewGroupPanelModel.js.map +1 -1
- package/dist/cjs/dockview/dockviewPanel.d.ts +5 -4
- package/dist/cjs/dockview/dockviewPanel.d.ts.map +1 -1
- package/dist/cjs/dockview/dockviewPanel.js +33 -5
- package/dist/cjs/dockview/dockviewPanel.js.map +1 -1
- package/dist/cjs/dockview/dockviewPanelModel.d.ts +4 -3
- package/dist/cjs/dockview/dockviewPanelModel.d.ts.map +1 -1
- package/dist/cjs/dockview/dockviewPanelModel.js.map +1 -1
- package/dist/cjs/dockview/types.d.ts +1 -5
- package/dist/cjs/dockview/types.d.ts.map +1 -1
- package/dist/cjs/dockview/types.js.map +1 -1
- package/dist/cjs/dom.js +1 -5
- package/dist/cjs/dom.js.map +1 -1
- package/dist/cjs/events.d.ts +17 -0
- package/dist/cjs/events.d.ts.map +1 -1
- package/dist/cjs/events.js +96 -9
- package/dist/cjs/events.js.map +1 -1
- package/dist/cjs/gridview/baseComponentGridview.d.ts.map +1 -1
- package/dist/cjs/gridview/baseComponentGridview.js +2 -3
- package/dist/cjs/gridview/baseComponentGridview.js.map +1 -1
- package/dist/cjs/gridview/basePanelView.d.ts.map +1 -1
- package/dist/cjs/gridview/basePanelView.js +41 -8
- package/dist/cjs/gridview/basePanelView.js.map +1 -1
- package/dist/cjs/gridview/branchNode.d.ts +1 -1
- package/dist/cjs/gridview/branchNode.d.ts.map +1 -1
- package/dist/cjs/gridview/branchNode.js +3 -3
- package/dist/cjs/gridview/branchNode.js.map +1 -1
- package/dist/cjs/gridview/gridview.d.ts.map +1 -1
- package/dist/cjs/gridview/gridview.js +4 -2
- package/dist/cjs/gridview/gridview.js.map +1 -1
- package/dist/cjs/gridview/gridviewPanel.js +2 -2
- package/dist/cjs/gridview/gridviewPanel.js.map +1 -1
- package/dist/cjs/lifecycle.d.ts +1 -1
- package/dist/cjs/lifecycle.d.ts.map +1 -1
- package/dist/cjs/lifecycle.js +3 -3
- package/dist/cjs/lifecycle.js.map +1 -1
- package/dist/cjs/splitview/splitview.d.ts +3 -2
- package/dist/cjs/splitview/splitview.d.ts.map +1 -1
- package/dist/cjs/splitview/splitview.js +103 -86
- package/dist/cjs/splitview/splitview.js.map +1 -1
- package/dist/cjs/splitview/splitviewComponent.d.ts +2 -2
- package/dist/cjs/splitview/splitviewComponent.d.ts.map +1 -1
- package/dist/cjs/splitview/splitviewComponent.js +36 -20
- package/dist/cjs/splitview/splitviewComponent.js.map +1 -1
- package/dist/cjs/splitview/splitviewPanel.d.ts.map +1 -1
- package/dist/cjs/splitview/splitviewPanel.js.map +1 -1
- package/dist/dockview-core.amd.js +281 -194
- package/dist/dockview-core.amd.min.js +2 -2
- package/dist/dockview-core.amd.min.noStyle.js +2 -2
- package/dist/dockview-core.amd.noStyle.js +281 -194
- package/dist/dockview-core.cjs.js +281 -194
- package/dist/dockview-core.esm.js +281 -194
- package/dist/dockview-core.esm.min.js +2 -2
- package/dist/dockview-core.js +281 -194
- package/dist/dockview-core.min.js +2 -2
- package/dist/dockview-core.min.noStyle.js +2 -2
- package/dist/dockview-core.noStyle.js +281 -194
- package/dist/esm/api/dockviewPanelApi.js +1 -1
- package/dist/esm/api/dockviewPanelApi.js.map +1 -1
- package/dist/esm/api/panelApi.d.ts.map +1 -1
- package/dist/esm/api/panelApi.js +3 -5
- package/dist/esm/api/panelApi.js.map +1 -1
- package/dist/esm/dnd/abstractDragHandler.d.ts +2 -2
- package/dist/esm/dnd/abstractDragHandler.d.ts.map +1 -1
- package/dist/esm/dnd/abstractDragHandler.js +15 -10
- package/dist/esm/dnd/abstractDragHandler.js.map +1 -1
- package/dist/esm/dnd/droptarget.d.ts.map +1 -1
- package/dist/esm/dnd/droptarget.js +1 -0
- package/dist/esm/dnd/droptarget.js.map +1 -1
- package/dist/esm/dnd/groupDragHandler.d.ts +0 -1
- package/dist/esm/dnd/groupDragHandler.d.ts.map +1 -1
- package/dist/esm/dnd/groupDragHandler.js +0 -3
- package/dist/esm/dnd/groupDragHandler.js.map +1 -1
- package/dist/esm/dockview/components/panel/content.d.ts.map +1 -1
- package/dist/esm/dockview/components/panel/content.js +2 -2
- package/dist/esm/dockview/components/panel/content.js.map +1 -1
- package/dist/esm/dockview/components/tab/tab.d.ts +2 -2
- package/dist/esm/dockview/components/tab/tab.d.ts.map +1 -1
- package/dist/esm/dockview/components/tab/tab.js +2 -7
- package/dist/esm/dockview/components/tab/tab.js.map +1 -1
- package/dist/esm/dockview/components/titlebar/tabsContainer.d.ts.map +1 -1
- package/dist/esm/dockview/components/titlebar/tabsContainer.js +5 -3
- package/dist/esm/dockview/components/titlebar/tabsContainer.js.map +1 -1
- package/dist/esm/dockview/dockviewComponent.d.ts +1 -1
- package/dist/esm/dockview/dockviewComponent.d.ts.map +1 -1
- package/dist/esm/dockview/dockviewComponent.js +23 -21
- package/dist/esm/dockview/dockviewComponent.js.map +1 -1
- package/dist/esm/dockview/dockviewGroupPanelModel.js +2 -2
- package/dist/esm/dockview/dockviewGroupPanelModel.js.map +1 -1
- package/dist/esm/dockview/dockviewPanel.d.ts +5 -4
- package/dist/esm/dockview/dockviewPanel.d.ts.map +1 -1
- package/dist/esm/dockview/dockviewPanel.js +11 -5
- package/dist/esm/dockview/dockviewPanel.js.map +1 -1
- package/dist/esm/dockview/dockviewPanelModel.d.ts +4 -3
- package/dist/esm/dockview/dockviewPanelModel.d.ts.map +1 -1
- package/dist/esm/dockview/dockviewPanelModel.js.map +1 -1
- package/dist/esm/dockview/types.d.ts +1 -5
- package/dist/esm/dockview/types.d.ts.map +1 -1
- package/dist/esm/dockview/types.js.map +1 -1
- package/dist/esm/dom.js +1 -5
- package/dist/esm/dom.js.map +1 -1
- package/dist/esm/events.d.ts +17 -0
- package/dist/esm/events.d.ts.map +1 -1
- package/dist/esm/events.js +77 -9
- package/dist/esm/events.js.map +1 -1
- package/dist/esm/gridview/baseComponentGridview.d.ts.map +1 -1
- package/dist/esm/gridview/baseComponentGridview.js +2 -3
- package/dist/esm/gridview/baseComponentGridview.js.map +1 -1
- package/dist/esm/gridview/basePanelView.d.ts.map +1 -1
- package/dist/esm/gridview/basePanelView.js +16 -5
- package/dist/esm/gridview/basePanelView.js.map +1 -1
- package/dist/esm/gridview/branchNode.d.ts +1 -1
- package/dist/esm/gridview/branchNode.d.ts.map +1 -1
- package/dist/esm/gridview/branchNode.js +3 -3
- package/dist/esm/gridview/branchNode.js.map +1 -1
- package/dist/esm/gridview/gridview.d.ts.map +1 -1
- package/dist/esm/gridview/gridview.js +4 -2
- package/dist/esm/gridview/gridview.js.map +1 -1
- package/dist/esm/gridview/gridviewPanel.js +2 -2
- package/dist/esm/gridview/gridviewPanel.js.map +1 -1
- package/dist/esm/lifecycle.d.ts +1 -1
- package/dist/esm/lifecycle.d.ts.map +1 -1
- package/dist/esm/lifecycle.js +3 -3
- package/dist/esm/lifecycle.js.map +1 -1
- package/dist/esm/splitview/splitview.d.ts +3 -2
- package/dist/esm/splitview/splitview.d.ts.map +1 -1
- package/dist/esm/splitview/splitview.js +90 -86
- package/dist/esm/splitview/splitview.js.map +1 -1
- package/dist/esm/splitview/splitviewComponent.d.ts +2 -2
- package/dist/esm/splitview/splitviewComponent.d.ts.map +1 -1
- package/dist/esm/splitview/splitviewComponent.js +22 -16
- package/dist/esm/splitview/splitviewComponent.js.map +1 -1
- package/dist/esm/splitview/splitviewPanel.d.ts.map +1 -1
- package/dist/esm/splitview/splitviewPanel.js.map +1 -1
- package/package.json +2 -2
|
@@ -51,7 +51,7 @@ export class Splitview {
|
|
|
51
51
|
this._orthogonalSize = value;
|
|
52
52
|
}
|
|
53
53
|
get length() {
|
|
54
|
-
return this.
|
|
54
|
+
return this.viewItems.length;
|
|
55
55
|
}
|
|
56
56
|
get proportions() {
|
|
57
57
|
return this._proportions ? [...this._proportions] : undefined;
|
|
@@ -70,12 +70,12 @@ export class Splitview {
|
|
|
70
70
|
: 'vertical');
|
|
71
71
|
}
|
|
72
72
|
get minimumSize() {
|
|
73
|
-
return this.
|
|
73
|
+
return this.viewItems.reduce((r, item) => r + item.minimumSize, 0);
|
|
74
74
|
}
|
|
75
75
|
get maximumSize() {
|
|
76
76
|
return this.length === 0
|
|
77
77
|
? Number.POSITIVE_INFINITY
|
|
78
|
-
: this.
|
|
78
|
+
: this.viewItems.reduce((r, item) => r + item.maximumSize, 0);
|
|
79
79
|
}
|
|
80
80
|
get startSnappingEnabled() {
|
|
81
81
|
return this._startSnappingEnabled;
|
|
@@ -99,7 +99,7 @@ export class Splitview {
|
|
|
99
99
|
}
|
|
100
100
|
constructor(container, options) {
|
|
101
101
|
this.container = container;
|
|
102
|
-
this.
|
|
102
|
+
this.viewItems = [];
|
|
103
103
|
this.sashes = [];
|
|
104
104
|
this._size = 0;
|
|
105
105
|
this._orthogonalSize = 0;
|
|
@@ -113,12 +113,12 @@ export class Splitview {
|
|
|
113
113
|
this.onDidAddView = this._onDidAddView.event;
|
|
114
114
|
this._onDidRemoveView = new Emitter();
|
|
115
115
|
this.onDidRemoveView = this._onDidRemoveView.event;
|
|
116
|
-
this.resize = (index, delta, sizes = this.
|
|
117
|
-
if (index < 0 || index > this.
|
|
116
|
+
this.resize = (index, delta, sizes = this.viewItems.map((x) => x.size), lowPriorityIndexes, highPriorityIndexes, overloadMinDelta = Number.NEGATIVE_INFINITY, overloadMaxDelta = Number.POSITIVE_INFINITY, snapBefore, snapAfter) => {
|
|
117
|
+
if (index < 0 || index > this.viewItems.length) {
|
|
118
118
|
return 0;
|
|
119
119
|
}
|
|
120
120
|
const upIndexes = range(index, -1);
|
|
121
|
-
const downIndexes = range(index + 1, this.
|
|
121
|
+
const downIndexes = range(index + 1, this.viewItems.length);
|
|
122
122
|
//
|
|
123
123
|
if (highPriorityIndexes) {
|
|
124
124
|
for (const i of highPriorityIndexes) {
|
|
@@ -133,34 +133,34 @@ export class Splitview {
|
|
|
133
133
|
}
|
|
134
134
|
}
|
|
135
135
|
//
|
|
136
|
-
const upItems = upIndexes.map((i) => this.
|
|
136
|
+
const upItems = upIndexes.map((i) => this.viewItems[i]);
|
|
137
137
|
const upSizes = upIndexes.map((i) => sizes[i]);
|
|
138
138
|
//
|
|
139
|
-
const downItems = downIndexes.map((i) => this.
|
|
139
|
+
const downItems = downIndexes.map((i) => this.viewItems[i]);
|
|
140
140
|
const downSizes = downIndexes.map((i) => sizes[i]);
|
|
141
141
|
//
|
|
142
|
-
const minDeltaUp = upIndexes.reduce((_, i) => _ + this.
|
|
143
|
-
const maxDeltaUp = upIndexes.reduce((_, i) => _ + this.
|
|
142
|
+
const minDeltaUp = upIndexes.reduce((_, i) => _ + this.viewItems[i].minimumSize - sizes[i], 0);
|
|
143
|
+
const maxDeltaUp = upIndexes.reduce((_, i) => _ + this.viewItems[i].maximumSize - sizes[i], 0);
|
|
144
144
|
//
|
|
145
145
|
const maxDeltaDown = downIndexes.length === 0
|
|
146
146
|
? Number.POSITIVE_INFINITY
|
|
147
|
-
: downIndexes.reduce((_, i) => _ + sizes[i] - this.
|
|
147
|
+
: downIndexes.reduce((_, i) => _ + sizes[i] - this.viewItems[i].minimumSize, 0);
|
|
148
148
|
const minDeltaDown = downIndexes.length === 0
|
|
149
149
|
? Number.NEGATIVE_INFINITY
|
|
150
|
-
: downIndexes.reduce((_, i) => _ + sizes[i] - this.
|
|
150
|
+
: downIndexes.reduce((_, i) => _ + sizes[i] - this.viewItems[i].maximumSize, 0);
|
|
151
151
|
//
|
|
152
152
|
const minDelta = Math.max(minDeltaUp, minDeltaDown);
|
|
153
153
|
const maxDelta = Math.min(maxDeltaDown, maxDeltaUp);
|
|
154
154
|
//
|
|
155
155
|
let snapped = false;
|
|
156
156
|
if (snapBefore) {
|
|
157
|
-
const snapView = this.
|
|
157
|
+
const snapView = this.viewItems[snapBefore.index];
|
|
158
158
|
const visible = delta >= snapBefore.limitDelta;
|
|
159
159
|
snapped = visible !== snapView.visible;
|
|
160
160
|
snapView.setVisible(visible, snapBefore.size);
|
|
161
161
|
}
|
|
162
162
|
if (!snapped && snapAfter) {
|
|
163
|
-
const snapView = this.
|
|
163
|
+
const snapView = this.viewItems[snapAfter.index];
|
|
164
164
|
const visible = delta < snapAfter.limitDelta;
|
|
165
165
|
snapped = visible !== snapView.visible;
|
|
166
166
|
snapView.setVisible(visible, snapAfter.size);
|
|
@@ -222,7 +222,7 @@ export class Splitview {
|
|
|
222
222
|
);
|
|
223
223
|
});
|
|
224
224
|
// Initialize content size and proportions for first layout
|
|
225
|
-
this.contentSize = this.
|
|
225
|
+
this.contentSize = this.viewItems.reduce((r, i) => r + i.size, 0);
|
|
226
226
|
this.saveProportions();
|
|
227
227
|
}
|
|
228
228
|
}
|
|
@@ -239,18 +239,18 @@ export class Splitview {
|
|
|
239
239
|
}
|
|
240
240
|
}
|
|
241
241
|
isViewVisible(index) {
|
|
242
|
-
if (index < 0 || index >= this.
|
|
242
|
+
if (index < 0 || index >= this.viewItems.length) {
|
|
243
243
|
throw new Error('Index out of bounds');
|
|
244
244
|
}
|
|
245
|
-
const viewItem = this.
|
|
245
|
+
const viewItem = this.viewItems[index];
|
|
246
246
|
return viewItem.visible;
|
|
247
247
|
}
|
|
248
248
|
setViewVisible(index, visible) {
|
|
249
|
-
if (index < 0 || index >= this.
|
|
249
|
+
if (index < 0 || index >= this.viewItems.length) {
|
|
250
250
|
throw new Error('Index out of bounds');
|
|
251
251
|
}
|
|
252
252
|
toggleClass(this.container, 'visible', visible);
|
|
253
|
-
const viewItem = this.
|
|
253
|
+
const viewItem = this.viewItems[index];
|
|
254
254
|
toggleClass(this.container, 'visible', visible);
|
|
255
255
|
viewItem.setVisible(visible, viewItem.size);
|
|
256
256
|
this.distributeEmptySpace(index);
|
|
@@ -258,33 +258,33 @@ export class Splitview {
|
|
|
258
258
|
this.saveProportions();
|
|
259
259
|
}
|
|
260
260
|
getViewSize(index) {
|
|
261
|
-
if (index < 0 || index >= this.
|
|
261
|
+
if (index < 0 || index >= this.viewItems.length) {
|
|
262
262
|
return -1;
|
|
263
263
|
}
|
|
264
|
-
return this.
|
|
264
|
+
return this.viewItems[index].size;
|
|
265
265
|
}
|
|
266
266
|
resizeView(index, size) {
|
|
267
|
-
if (index < 0 || index >= this.
|
|
267
|
+
if (index < 0 || index >= this.viewItems.length) {
|
|
268
268
|
return;
|
|
269
269
|
}
|
|
270
|
-
const indexes = range(this.
|
|
270
|
+
const indexes = range(this.viewItems.length).filter((i) => i !== index);
|
|
271
271
|
const lowPriorityIndexes = [
|
|
272
|
-
...indexes.filter((i) => this.
|
|
272
|
+
...indexes.filter((i) => this.viewItems[i].priority === LayoutPriority.Low),
|
|
273
273
|
index,
|
|
274
274
|
];
|
|
275
|
-
const highPriorityIndexes = indexes.filter((i) => this.
|
|
276
|
-
const item = this.
|
|
275
|
+
const highPriorityIndexes = indexes.filter((i) => this.viewItems[i].priority === LayoutPriority.High);
|
|
276
|
+
const item = this.viewItems[index];
|
|
277
277
|
size = Math.round(size);
|
|
278
278
|
size = clamp(size, item.minimumSize, Math.min(item.maximumSize, this._size));
|
|
279
279
|
item.size = size;
|
|
280
280
|
this.relayout(lowPriorityIndexes, highPriorityIndexes);
|
|
281
281
|
}
|
|
282
282
|
getViews() {
|
|
283
|
-
return this.
|
|
283
|
+
return this.viewItems.map((x) => x.view);
|
|
284
284
|
}
|
|
285
285
|
onDidChange(item, size) {
|
|
286
|
-
const index = this.
|
|
287
|
-
if (index < 0 || index >= this.
|
|
286
|
+
const index = this.viewItems.indexOf(item);
|
|
287
|
+
if (index < 0 || index >= this.viewItems.length) {
|
|
288
288
|
return;
|
|
289
289
|
}
|
|
290
290
|
size = typeof size === 'number' ? size : item.size;
|
|
@@ -292,7 +292,7 @@ export class Splitview {
|
|
|
292
292
|
item.size = size;
|
|
293
293
|
this.relayout([index]);
|
|
294
294
|
}
|
|
295
|
-
addView(view, size = { type: 'distribute' }, index = this.
|
|
295
|
+
addView(view, size = { type: 'distribute' }, index = this.viewItems.length, skipLayout) {
|
|
296
296
|
const container = document.createElement('div');
|
|
297
297
|
container.className = 'view';
|
|
298
298
|
container.appendChild(view.element);
|
|
@@ -310,24 +310,25 @@ export class Splitview {
|
|
|
310
310
|
viewSize = view.minimumSize;
|
|
311
311
|
}
|
|
312
312
|
const disposable = view.onDidChange((newSize) => this.onDidChange(viewItem, newSize.size));
|
|
313
|
-
const
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
313
|
+
const viewItem = new ViewItem(container, view, viewSize, {
|
|
314
|
+
dispose: () => {
|
|
315
|
+
disposable.dispose();
|
|
316
|
+
this.viewContainer.removeChild(container);
|
|
317
|
+
},
|
|
318
|
+
});
|
|
319
|
+
if (index === this.viewItems.length) {
|
|
319
320
|
this.viewContainer.appendChild(container);
|
|
320
321
|
}
|
|
321
322
|
else {
|
|
322
323
|
this.viewContainer.insertBefore(container, this.viewContainer.children.item(index));
|
|
323
324
|
}
|
|
324
|
-
this.
|
|
325
|
-
if (this.
|
|
325
|
+
this.viewItems.splice(index, 0, viewItem);
|
|
326
|
+
if (this.viewItems.length > 1) {
|
|
326
327
|
//add sash
|
|
327
328
|
const sash = document.createElement('div');
|
|
328
329
|
sash.className = 'sash';
|
|
329
330
|
const onStart = (event) => {
|
|
330
|
-
for (const item of this.
|
|
331
|
+
for (const item of this.viewItems) {
|
|
331
332
|
item.enabled = false;
|
|
332
333
|
}
|
|
333
334
|
const iframes = [
|
|
@@ -342,27 +343,29 @@ export class Splitview {
|
|
|
342
343
|
: event.clientY;
|
|
343
344
|
const sashIndex = firstIndex(this.sashes, (s) => s.container === sash);
|
|
344
345
|
//
|
|
345
|
-
const sizes = this.
|
|
346
|
+
const sizes = this.viewItems.map((x) => x.size);
|
|
346
347
|
//
|
|
347
348
|
let snapBefore;
|
|
348
349
|
let snapAfter;
|
|
349
350
|
const upIndexes = range(sashIndex, -1);
|
|
350
|
-
const downIndexes = range(sashIndex + 1, this.
|
|
351
|
-
const minDeltaUp = upIndexes.reduce((r, i) => r + (this.
|
|
352
|
-
const maxDeltaUp = upIndexes.reduce((r, i) => r + (this.
|
|
351
|
+
const downIndexes = range(sashIndex + 1, this.viewItems.length);
|
|
352
|
+
const minDeltaUp = upIndexes.reduce((r, i) => r + (this.viewItems[i].minimumSize - sizes[i]), 0);
|
|
353
|
+
const maxDeltaUp = upIndexes.reduce((r, i) => r + (this.viewItems[i].viewMaximumSize - sizes[i]), 0);
|
|
353
354
|
const maxDeltaDown = downIndexes.length === 0
|
|
354
355
|
? Number.POSITIVE_INFINITY
|
|
355
|
-
: downIndexes.reduce((r, i) => r +
|
|
356
|
+
: downIndexes.reduce((r, i) => r +
|
|
357
|
+
(sizes[i] - this.viewItems[i].minimumSize), 0);
|
|
356
358
|
const minDeltaDown = downIndexes.length === 0
|
|
357
359
|
? Number.NEGATIVE_INFINITY
|
|
358
360
|
: downIndexes.reduce((r, i) => r +
|
|
359
|
-
(sizes[i] -
|
|
361
|
+
(sizes[i] -
|
|
362
|
+
this.viewItems[i].viewMaximumSize), 0);
|
|
360
363
|
const minDelta = Math.max(minDeltaUp, minDeltaDown);
|
|
361
364
|
const maxDelta = Math.min(maxDeltaDown, maxDeltaUp);
|
|
362
365
|
const snapBeforeIndex = this.findFirstSnapIndex(upIndexes);
|
|
363
366
|
const snapAfterIndex = this.findFirstSnapIndex(downIndexes);
|
|
364
367
|
if (typeof snapBeforeIndex === 'number') {
|
|
365
|
-
const snappedViewItem = this.
|
|
368
|
+
const snappedViewItem = this.viewItems[snapBeforeIndex];
|
|
366
369
|
const halfSize = Math.floor(snappedViewItem.viewMinimumSize / 2);
|
|
367
370
|
snapBefore = {
|
|
368
371
|
index: snapBeforeIndex,
|
|
@@ -373,7 +376,7 @@ export class Splitview {
|
|
|
373
376
|
};
|
|
374
377
|
}
|
|
375
378
|
if (typeof snapAfterIndex === 'number') {
|
|
376
|
-
const snappedViewItem = this.
|
|
379
|
+
const snappedViewItem = this.viewItems[snapAfterIndex];
|
|
377
380
|
const halfSize = Math.floor(snappedViewItem.viewMinimumSize / 2);
|
|
378
381
|
snapAfter = {
|
|
379
382
|
index: snapAfterIndex,
|
|
@@ -394,7 +397,7 @@ export class Splitview {
|
|
|
394
397
|
this.layoutViews();
|
|
395
398
|
};
|
|
396
399
|
const end = () => {
|
|
397
|
-
for (const item of this.
|
|
400
|
+
for (const item of this.viewItems) {
|
|
398
401
|
item.enabled = true;
|
|
399
402
|
}
|
|
400
403
|
for (const iframe of iframes) {
|
|
@@ -403,12 +406,10 @@ export class Splitview {
|
|
|
403
406
|
this.saveProportions();
|
|
404
407
|
document.removeEventListener('mousemove', mousemove);
|
|
405
408
|
document.removeEventListener('mouseup', end);
|
|
406
|
-
document.removeEventListener('mouseend', end);
|
|
407
409
|
this._onDidSashEnd.fire(undefined);
|
|
408
410
|
};
|
|
409
411
|
document.addEventListener('mousemove', mousemove);
|
|
410
412
|
document.addEventListener('mouseup', end);
|
|
411
|
-
document.addEventListener('mouseend', end);
|
|
412
413
|
};
|
|
413
414
|
sash.addEventListener('mousedown', onStart);
|
|
414
415
|
const sashItem = {
|
|
@@ -434,7 +435,7 @@ export class Splitview {
|
|
|
434
435
|
distributeViewSizes() {
|
|
435
436
|
const flexibleViewItems = [];
|
|
436
437
|
let flexibleSize = 0;
|
|
437
|
-
for (const item of this.
|
|
438
|
+
for (const item of this.viewItems) {
|
|
438
439
|
if (item.maximumSize - item.minimumSize > 0) {
|
|
439
440
|
flexibleViewItems.push(item);
|
|
440
441
|
flexibleSize += item.size;
|
|
@@ -444,17 +445,17 @@ export class Splitview {
|
|
|
444
445
|
for (const item of flexibleViewItems) {
|
|
445
446
|
item.size = clamp(size, item.minimumSize, item.maximumSize);
|
|
446
447
|
}
|
|
447
|
-
const indexes = range(this.
|
|
448
|
-
const lowPriorityIndexes = indexes.filter((i) => this.
|
|
449
|
-
const highPriorityIndexes = indexes.filter((i) => this.
|
|
448
|
+
const indexes = range(this.viewItems.length);
|
|
449
|
+
const lowPriorityIndexes = indexes.filter((i) => this.viewItems[i].priority === LayoutPriority.Low);
|
|
450
|
+
const highPriorityIndexes = indexes.filter((i) => this.viewItems[i].priority === LayoutPriority.High);
|
|
450
451
|
this.relayout(lowPriorityIndexes, highPriorityIndexes);
|
|
451
452
|
}
|
|
452
453
|
removeView(index, sizing, skipLayout = false) {
|
|
453
454
|
// Remove view
|
|
454
|
-
const viewItem = this.
|
|
455
|
+
const viewItem = this.viewItems.splice(index, 1)[0];
|
|
455
456
|
viewItem.dispose();
|
|
456
457
|
// Remove sash
|
|
457
|
-
if (this.
|
|
458
|
+
if (this.viewItems.length >= 1) {
|
|
458
459
|
const sashIndex = Math.max(index - 1, 0);
|
|
459
460
|
const sashItem = this.sashes.splice(sashIndex, 1)[0];
|
|
460
461
|
sashItem.disposable();
|
|
@@ -469,10 +470,10 @@ export class Splitview {
|
|
|
469
470
|
return viewItem.view;
|
|
470
471
|
}
|
|
471
472
|
getViewCachedVisibleSize(index) {
|
|
472
|
-
if (index < 0 || index >= this.
|
|
473
|
+
if (index < 0 || index >= this.viewItems.length) {
|
|
473
474
|
throw new Error('Index out of bounds');
|
|
474
475
|
}
|
|
475
|
-
const viewItem = this.
|
|
476
|
+
const viewItem = this.viewItems[index];
|
|
476
477
|
return viewItem.cachedVisibleSize;
|
|
477
478
|
}
|
|
478
479
|
moveView(from, to) {
|
|
@@ -488,14 +489,14 @@ export class Splitview {
|
|
|
488
489
|
this.size = size;
|
|
489
490
|
this.orthogonalSize = orthogonalSize;
|
|
490
491
|
if (!this.proportions) {
|
|
491
|
-
const indexes = range(this.
|
|
492
|
-
const lowPriorityIndexes = indexes.filter((i) => this.
|
|
493
|
-
const highPriorityIndexes = indexes.filter((i) => this.
|
|
494
|
-
this.resize(this.
|
|
492
|
+
const indexes = range(this.viewItems.length);
|
|
493
|
+
const lowPriorityIndexes = indexes.filter((i) => this.viewItems[i].priority === LayoutPriority.Low);
|
|
494
|
+
const highPriorityIndexes = indexes.filter((i) => this.viewItems[i].priority === LayoutPriority.High);
|
|
495
|
+
this.resize(this.viewItems.length - 1, size - previousSize, undefined, lowPriorityIndexes, highPriorityIndexes);
|
|
495
496
|
}
|
|
496
497
|
else {
|
|
497
|
-
for (let i = 0; i < this.
|
|
498
|
-
const item = this.
|
|
498
|
+
for (let i = 0; i < this.viewItems.length; i++) {
|
|
499
|
+
const item = this.viewItems[i];
|
|
499
500
|
item.size = clamp(Math.round(this.proportions[i] * size), item.minimumSize, item.maximumSize);
|
|
500
501
|
}
|
|
501
502
|
}
|
|
@@ -503,18 +504,18 @@ export class Splitview {
|
|
|
503
504
|
this.layoutViews();
|
|
504
505
|
}
|
|
505
506
|
relayout(lowPriorityIndexes, highPriorityIndexes) {
|
|
506
|
-
const contentSize = this.
|
|
507
|
-
this.resize(this.
|
|
507
|
+
const contentSize = this.viewItems.reduce((r, i) => r + i.size, 0);
|
|
508
|
+
this.resize(this.viewItems.length - 1, this._size - contentSize, undefined, lowPriorityIndexes, highPriorityIndexes);
|
|
508
509
|
this.distributeEmptySpace();
|
|
509
510
|
this.layoutViews();
|
|
510
511
|
this.saveProportions();
|
|
511
512
|
}
|
|
512
513
|
distributeEmptySpace(lowPriorityIndex) {
|
|
513
|
-
const contentSize = this.
|
|
514
|
+
const contentSize = this.viewItems.reduce((r, i) => r + i.size, 0);
|
|
514
515
|
let emptyDelta = this.size - contentSize;
|
|
515
|
-
const indexes = range(this.
|
|
516
|
-
const lowPriorityIndexes = indexes.filter((i) => this.
|
|
517
|
-
const highPriorityIndexes = indexes.filter((i) => this.
|
|
516
|
+
const indexes = range(this.viewItems.length - 1, -1);
|
|
517
|
+
const lowPriorityIndexes = indexes.filter((i) => this.viewItems[i].priority === LayoutPriority.Low);
|
|
518
|
+
const highPriorityIndexes = indexes.filter((i) => this.viewItems[i].priority === LayoutPriority.High);
|
|
518
519
|
for (const index of highPriorityIndexes) {
|
|
519
520
|
pushToStart(indexes, index);
|
|
520
521
|
}
|
|
@@ -525,7 +526,7 @@ export class Splitview {
|
|
|
525
526
|
pushToEnd(indexes, lowPriorityIndex);
|
|
526
527
|
}
|
|
527
528
|
for (let i = 0; emptyDelta !== 0 && i < indexes.length; i++) {
|
|
528
|
-
const item = this.
|
|
529
|
+
const item = this.viewItems[indexes[i]];
|
|
529
530
|
const size = clamp(item.size + emptyDelta, item.minimumSize, item.maximumSize);
|
|
530
531
|
const viewDelta = size - item.size;
|
|
531
532
|
emptyDelta -= viewDelta;
|
|
@@ -534,16 +535,16 @@ export class Splitview {
|
|
|
534
535
|
}
|
|
535
536
|
saveProportions() {
|
|
536
537
|
if (this.proportionalLayout && this.contentSize > 0) {
|
|
537
|
-
this._proportions = this.
|
|
538
|
+
this._proportions = this.viewItems.map((i) => i.size / this.contentSize);
|
|
538
539
|
}
|
|
539
540
|
}
|
|
540
541
|
layoutViews() {
|
|
541
|
-
this.contentSize = this.
|
|
542
|
+
this.contentSize = this.viewItems.reduce((r, i) => r + i.size, 0);
|
|
542
543
|
let sum = 0;
|
|
543
544
|
const x = [];
|
|
544
545
|
this.updateSashEnablement();
|
|
545
|
-
for (let i = 0; i < this.
|
|
546
|
-
sum += this.
|
|
546
|
+
for (let i = 0; i < this.viewItems.length - 1; i++) {
|
|
547
|
+
sum += this.viewItems[i].size;
|
|
547
548
|
x.push(sum);
|
|
548
549
|
const offset = Math.min(Math.max(0, sum - 2), this.size - 4);
|
|
549
550
|
if (this._orientation === Orientation.HORIZONTAL) {
|
|
@@ -555,7 +556,7 @@ export class Splitview {
|
|
|
555
556
|
this.sashes[i].container.style.top = `${offset}px`;
|
|
556
557
|
}
|
|
557
558
|
}
|
|
558
|
-
this.
|
|
559
|
+
this.viewItems.forEach((view, i) => {
|
|
559
560
|
if (this._orientation === Orientation.HORIZONTAL) {
|
|
560
561
|
view.container.style.width = `${view.size}px`;
|
|
561
562
|
view.container.style.left = i == 0 ? '0px' : `${x[i - 1]}px`;
|
|
@@ -574,7 +575,7 @@ export class Splitview {
|
|
|
574
575
|
findFirstSnapIndex(indexes) {
|
|
575
576
|
// visible views first
|
|
576
577
|
for (const index of indexes) {
|
|
577
|
-
const viewItem = this.
|
|
578
|
+
const viewItem = this.viewItems[index];
|
|
578
579
|
if (!viewItem.visible) {
|
|
579
580
|
continue;
|
|
580
581
|
}
|
|
@@ -584,7 +585,7 @@ export class Splitview {
|
|
|
584
585
|
}
|
|
585
586
|
// then, hidden views
|
|
586
587
|
for (const index of indexes) {
|
|
587
|
-
const viewItem = this.
|
|
588
|
+
const viewItem = this.viewItems[index];
|
|
588
589
|
if (viewItem.visible &&
|
|
589
590
|
viewItem.maximumSize - viewItem.minimumSize > 0) {
|
|
590
591
|
return undefined;
|
|
@@ -597,10 +598,10 @@ export class Splitview {
|
|
|
597
598
|
}
|
|
598
599
|
updateSashEnablement() {
|
|
599
600
|
let previous = false;
|
|
600
|
-
const collapsesDown = this.
|
|
601
|
+
const collapsesDown = this.viewItems.map((i) => (previous = i.size - i.minimumSize > 0 || previous));
|
|
601
602
|
previous = false;
|
|
602
|
-
const expandsDown = this.
|
|
603
|
-
const reverseViews = [...this.
|
|
603
|
+
const expandsDown = this.viewItems.map((i) => (previous = i.maximumSize - i.size > 0 || previous));
|
|
604
|
+
const reverseViews = [...this.viewItems].reverse();
|
|
604
605
|
previous = false;
|
|
605
606
|
const collapsesUp = reverseViews
|
|
606
607
|
.map((i) => (previous = i.size - i.minimumSize > 0 || previous))
|
|
@@ -612,19 +613,19 @@ export class Splitview {
|
|
|
612
613
|
let position = 0;
|
|
613
614
|
for (let index = 0; index < this.sashes.length; index++) {
|
|
614
615
|
const sash = this.sashes[index];
|
|
615
|
-
const viewItem = this.
|
|
616
|
+
const viewItem = this.viewItems[index];
|
|
616
617
|
position += viewItem.size;
|
|
617
618
|
const min = !(collapsesDown[index] && expandsUp[index + 1]);
|
|
618
619
|
const max = !(expandsDown[index] && collapsesUp[index + 1]);
|
|
619
620
|
if (min && max) {
|
|
620
621
|
const upIndexes = range(index, -1);
|
|
621
|
-
const downIndexes = range(index + 1, this.
|
|
622
|
+
const downIndexes = range(index + 1, this.viewItems.length);
|
|
622
623
|
const snapBeforeIndex = this.findFirstSnapIndex(upIndexes);
|
|
623
624
|
const snapAfterIndex = this.findFirstSnapIndex(downIndexes);
|
|
624
625
|
const snappedBefore = typeof snapBeforeIndex === 'number' &&
|
|
625
|
-
!this.
|
|
626
|
+
!this.viewItems[snapBeforeIndex].visible;
|
|
626
627
|
const snappedAfter = typeof snapAfterIndex === 'number' &&
|
|
627
|
-
!this.
|
|
628
|
+
!this.viewItems[snapAfterIndex].visible;
|
|
628
629
|
if (snappedBefore &&
|
|
629
630
|
collapsesUp[index] &&
|
|
630
631
|
(position > 0 || this.startSnappingEnabled)) {
|
|
@@ -684,6 +685,9 @@ export class Splitview {
|
|
|
684
685
|
break;
|
|
685
686
|
}
|
|
686
687
|
}
|
|
688
|
+
for (const viewItem of this.viewItems) {
|
|
689
|
+
viewItem.dispose();
|
|
690
|
+
}
|
|
687
691
|
this.element.remove();
|
|
688
692
|
}
|
|
689
693
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"splitview.js","sourceRoot":"","sources":["../../../src/splitview/splitview.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"splitview.js","sourceRoot":"","sources":["../../../src/splitview/splitview.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EACH,aAAa,EACb,UAAU,EACV,WAAW,EACX,oBAAoB,GACvB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAS,OAAO,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACnB,wCAAyB,CAAA;IACzB,oCAAqB,CAAA;AACzB,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB;AAED,MAAM,CAAN,IAAY,SAKX;AALD,WAAY,SAAS;IACjB,+CAAO,CAAA;IACP,+CAAO,CAAA;IACP,iDAAQ,CAAA;IACR,+CAAO,CAAA;AACX,CAAC,EALW,SAAS,KAAT,SAAS,QAKpB;AAYD,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACtB,6BAAW,CAAA;IACX,+BAAa,CAAA;IACb,mCAAiB,CAAA;AACrB,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB;AAkCD,MAAM,KAAW,MAAM,CAQtB;AARD,WAAiB,MAAM;IACN,iBAAU,GAAqB,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IACnE,SAAgB,KAAK,CAAC,KAAa;QAC/B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACpC,CAAC;IAFe,YAAK,QAEpB,CAAA;IACD,SAAgB,SAAS,CAAC,iBAAyB;QAC/C,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACpD,CAAC;IAFe,gBAAS,YAExB,CAAA;AACL,CAAC,EARgB,MAAM,KAAN,MAAM,QAQtB;AAWD,MAAM,OAAO,SAAS;IAsBlB,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,IAAI,CAAC,KAAa;QAClB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAED,IAAI,cAAc,CAAC,KAAa;QAC5B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IACjC,CAAC;IAED,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;IACjC,CAAC;IAED,IAAW,WAAW;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,CAAC;IAED,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,IAAI,WAAW,CAAC,KAAkB;QAC9B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAE1B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC;QAChC,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;QAE1B,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CACtB,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,UAAU;YACtC,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,UAAU,CACnB,CAAC;IACN,CAAC;IAED,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC;YACpB,CAAC,CAAC,MAAM,CAAC,iBAAiB;YAC1B,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,oBAAoB;QACpB,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACtC,CAAC;IAED,IAAI,oBAAoB,CAAC,oBAA6B;QAClD,IAAI,IAAI,CAAC,qBAAqB,KAAK,oBAAoB,EAAE;YACrD,OAAO;SACV;QAED,IAAI,CAAC,qBAAqB,GAAG,oBAAoB,CAAC;QAClD,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAChC,CAAC;IAED,IAAI,kBAAkB;QAClB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IACpC,CAAC;IAED,IAAI,kBAAkB,CAAC,kBAA2B;QAC9C,IAAI,IAAI,CAAC,mBAAmB,KAAK,kBAAkB,EAAE;YACjD,OAAO;SACV;QAED,IAAI,CAAC,mBAAmB,GAAG,kBAAkB,CAAC;QAC9C,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAChC,CAAC;IAED,YACqB,SAAsB,EACvC,OAAyB;QADR,cAAS,GAAT,SAAS,CAAa;QAlGnC,cAAS,GAAe,EAAE,CAAC;QAC3B,WAAM,GAAgB,EAAE,CAAC;QAEzB,UAAK,GAAG,CAAC,CAAC;QACV,oBAAe,GAAG,CAAC,CAAC;QACpB,gBAAW,GAAG,CAAC,CAAC;QAChB,iBAAY,GAAyB,SAAS,CAAC;QAE/C,0BAAqB,GAAG,IAAI,CAAC;QAC7B,wBAAmB,GAAG,IAAI,CAAC;QAElB,kBAAa,GAAG,IAAI,OAAO,EAAQ,CAAC;QAC5C,iBAAY,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QAChC,kBAAa,GAAG,IAAI,OAAO,EAAS,CAAC;QAC7C,iBAAY,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QAChC,qBAAgB,GAAG,IAAI,OAAO,EAAS,CAAC;QAChD,oBAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;QAowB/C,WAAM,GAAG,CACb,KAAa,EACb,KAAa,EACb,QAAkB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EACnD,kBAA6B,EAC7B,mBAA8B,EAC9B,mBAA2B,MAAM,CAAC,iBAAiB,EACnD,mBAA2B,MAAM,CAAC,iBAAiB,EACnD,UAA+B,EAC/B,SAA8B,EACxB,EAAE;YACR,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;gBAC5C,OAAO,CAAC,CAAC;aACZ;YAED,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC5D,EAAE;YACF,IAAI,mBAAmB,EAAE;gBACrB,KAAK,MAAM,CAAC,IAAI,mBAAmB,EAAE;oBACjC,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;oBAC1B,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;iBAC/B;aACJ;YAED,IAAI,kBAAkB,EAAE;gBACpB,KAAK,MAAM,CAAC,IAAI,kBAAkB,EAAE;oBAChC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;oBACxB,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;iBAC7B;aACJ;YACD,EAAE;YACF,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,EAAE;YACF,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,EAAE;YACF,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAC/B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,EACtD,CAAC,CACJ,CAAC;YACF,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAC/B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,EACtD,CAAC,CACJ,CAAC;YACF,EAAE;YACF,MAAM,YAAY,GACd,WAAW,CAAC,MAAM,KAAK,CAAC;gBACpB,CAAC,CAAC,MAAM,CAAC,iBAAiB;gBAC1B,CAAC,CAAC,WAAW,CAAC,MAAM,CACd,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAEtD,CAAC,CACJ,CAAC;YACZ,MAAM,YAAY,GACd,WAAW,CAAC,MAAM,KAAK,CAAC;gBACpB,CAAC,CAAC,MAAM,CAAC,iBAAiB;gBAC1B,CAAC,CAAC,WAAW,CAAC,MAAM,CACd,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EACtD,CAAC,CACJ,CAAC;YACZ,EAAE;YACF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YACpD,EAAE;YACF,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,UAAU,EAAE;gBACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAClD,MAAM,OAAO,GAAG,KAAK,IAAI,UAAU,CAAC,UAAU,CAAC;gBAC/C,OAAO,GAAG,OAAO,KAAK,QAAQ,CAAC,OAAO,CAAC;gBACvC,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;aACjD;YAED,IAAI,CAAC,OAAO,IAAI,SAAS,EAAE;gBACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBACjD,MAAM,OAAO,GAAG,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC;gBAC7C,OAAO,GAAG,OAAO,KAAK,QAAQ,CAAC,OAAO,CAAC;gBACvC,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;aAChD;YAED,IAAI,OAAO,EAAE;gBACT,OAAO,IAAI,CAAC,MAAM,CACd,KAAK,EACL,KAAK,EACL,KAAK,EACL,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,CACnB,CAAC;aACL;YACD,EAAE;YACF,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACxD,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,EAAE;YACF,IAAI,OAAO,GAAG,cAAc,CAAC;YAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBACxB,MAAM,IAAI,GAAG,KAAK,CACd,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,EACpB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,WAAW,CACnB,CAAC;gBACF,MAAM,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAEpC,WAAW,IAAI,SAAS,CAAC;gBACzB,OAAO,IAAI,SAAS,CAAC;gBACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;aACpB;YACD,EAAE;YACF,IAAI,SAAS,GAAG,WAAW,CAAC;YAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACvC,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC1B,MAAM,IAAI,GAAG,KAAK,CACd,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,EACxB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,WAAW,CACnB,CAAC;gBACF,MAAM,SAAS,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAEtC,SAAS,IAAI,SAAS,CAAC;gBACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;aACpB;YACD,EAAE;YACF,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC;QA9yBE,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAEtC,IAAI,CAAC,kBAAkB;YACnB,OAAO,CAAC,kBAAkB,KAAK,SAAS;gBACpC,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;QAEvC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAChD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAEhD,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAE7C,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEzC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE3B,gDAAgD;QAChD,IAAI,OAAO,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;YACrC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,KAAK,EAAE,EAAE;gBACvD,MAAM,MAAM,GACR,cAAc,CAAC,OAAO,KAAK,SAAS;oBACpC,cAAc,CAAC,OAAO;oBAClB,CAAC,CAAC,cAAc,CAAC,IAAI;oBACrB,CAAC,CAAE;wBACG,IAAI,EAAE,WAAW;wBACjB,iBAAiB,EAAE,cAAc,CAAC,IAAI;qBACrB,CAAC;gBAEhC,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC;gBACjC,IAAI,CAAC,OAAO,CACR,IAAI,EACJ,MAAM,EACN,KAAK,EACL,IAAI;gBACJ,mBAAmB;iBACtB,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,2DAA2D;YAC3D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAClE,IAAI,CAAC,eAAe,EAAE,CAAC;SAC1B;IACL,CAAC;IAED,KAAK,CAAC,MAAyB;QAC3B,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,eAAe,MAAK,aAAa,EAAE;YAC3C,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;YAChD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC;SAC9D;aAAM;YACH,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;YAC7C,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,eAAe,EAAE;gBACzB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAC1B,uBAAuB,EACvB,MAAM,CAAC,eAAe,CACzB,CAAC;aACL;SACJ;IACL,CAAC;IAED,aAAa,CAAC,KAAa;QACvB,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YAC7C,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;SAC1C;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvC,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC5B,CAAC;IAED,cAAc,CAAC,KAAa,EAAE,OAAgB;QAC1C,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YAC7C,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;SAC1C;QAED,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAEhD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAEvC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAEhD,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAE5C,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,eAAe,EAAE,CAAC;IAC3B,CAAC;IAED,WAAW,CAAC,KAAa;QACrB,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YAC7C,OAAO,CAAC,CAAC,CAAC;SACb;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;IACtC,CAAC;IAED,UAAU,CAAC,KAAa,EAAE,IAAY;QAClC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YAC7C,OAAO;SACV;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;QACxE,MAAM,kBAAkB,GAAG;YACvB,GAAG,OAAO,CAAC,MAAM,CACb,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,cAAc,CAAC,GAAG,CAC3D;YACD,KAAK;SACR,CAAC;QACF,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,cAAc,CAAC,IAAI,CAC5D,CAAC;QAEF,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,GAAG,KAAK,CACR,IAAI,EACJ,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CACzC,CAAC;QAEF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;IAC3D,CAAC;IAEM,QAAQ;QACX,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAS,CAAC,CAAC;IAClD,CAAC;IAEO,WAAW,CAAC,IAAc,EAAE,IAAwB;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE3C,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YAC7C,OAAO;SACV;QAED,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACnD,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAEvD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3B,CAAC;IAEM,OAAO,CACV,IAAW,EACX,OAAwB,EAAE,IAAI,EAAE,YAAY,EAAE,EAC9C,QAAgB,IAAI,CAAC,SAAS,CAAC,MAAM,EACrC,UAAoB;QAEpB,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAChD,SAAS,CAAC,SAAS,GAAG,MAAM,CAAC;QAE7B,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEpC,IAAI,QAAsB,CAAC;QAE3B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC1B,QAAQ,GAAG,IAAI,CAAC;SACnB;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;YAC9B,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SAC/C;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;YAClC,QAAQ,GAAG,EAAE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC5D;aAAM;YACH,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC;SAC/B;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,EAAE,CAC5C,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAC3C,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE;YACrD,OAAO,EAAE,GAAG,EAAE;gBACV,UAAU,CAAC,OAAO,EAAE,CAAC;gBACrB,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC9C,CAAC;SACJ,CAAC,CAAC;QAEH,IAAI,KAAK,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YACjC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;SAC7C;aAAM;YACH,IAAI,CAAC,aAAa,CAAC,YAAY,CAC3B,SAAS,EACT,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAC1C,CAAC;SACL;QAED,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;QAE1C,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3B,UAAU;YACV,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC3C,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;YAExB,MAAM,OAAO,GAAG,CAAC,KAAiB,EAAE,EAAE;gBAClC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE;oBAC/B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;iBACxB;gBAED,MAAM,OAAO,GAAG;oBACZ,GAAG,oBAAoB,CAAC,QAAQ,CAAC;oBACjC,GAAG,oBAAoB,CAAC,SAAS,CAAC;iBACrC,CAAC;gBAEF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;oBAC1B,MAAM,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;iBACvC;gBAED,MAAM,KAAK,GACP,IAAI,CAAC,YAAY,KAAK,WAAW,CAAC,UAAU;oBACxC,CAAC,CAAC,KAAK,CAAC,OAAO;oBACf,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;gBAExB,MAAM,SAAS,GAAG,UAAU,CACxB,IAAI,CAAC,MAAM,EACX,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAC9B,CAAC;gBAEF,EAAE;gBACF,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAEhD,EAAE;gBACF,IAAI,UAA0C,CAAC;gBAC/C,IAAI,SAAyC,CAAC;gBAC9C,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;gBACvC,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAChE,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAC/B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,EACxD,CAAC,CACJ,CAAC;gBACF,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAC/B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACL,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,EACtD,CAAC,CACJ,CAAC;gBACF,MAAM,YAAY,GACd,WAAW,CAAC,MAAM,KAAK,CAAC;oBACpB,CAAC,CAAC,MAAM,CAAC,iBAAiB;oBAC1B,CAAC,CAAC,WAAW,CAAC,MAAM,CACd,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACL,CAAC;wBACD,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAC9C,CAAC,CACJ,CAAC;gBACZ,MAAM,YAAY,GACd,WAAW,CAAC,MAAM,KAAK,CAAC;oBACpB,CAAC,CAAC,MAAM,CAAC,iBAAiB;oBAC1B,CAAC,CAAC,WAAW,CAAC,MAAM,CACd,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACL,CAAC;wBACD,CAAC,KAAK,CAAC,CAAC,CAAC;4BACL,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,EAC1C,CAAC,CACJ,CAAC;gBACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;gBACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;gBACpD,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;gBAC3D,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;gBAC5D,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE;oBACrC,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;oBACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CACvB,eAAe,CAAC,eAAe,GAAG,CAAC,CACtC,CAAC;oBAEF,UAAU,GAAG;wBACT,KAAK,EAAE,eAAe;wBACtB,UAAU,EAAE,eAAe,CAAC,OAAO;4BAC/B,CAAC,CAAC,QAAQ,GAAG,QAAQ;4BACrB,CAAC,CAAC,QAAQ,GAAG,QAAQ;wBACzB,IAAI,EAAE,eAAe,CAAC,IAAI;qBAC7B,CAAC;iBACL;gBAED,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE;oBACpC,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;oBACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CACvB,eAAe,CAAC,eAAe,GAAG,CAAC,CACtC,CAAC;oBAEF,SAAS,GAAG;wBACR,KAAK,EAAE,cAAc;wBACrB,UAAU,EAAE,eAAe,CAAC,OAAO;4BAC/B,CAAC,CAAC,QAAQ,GAAG,QAAQ;4BACrB,CAAC,CAAC,QAAQ,GAAG,QAAQ;wBACzB,IAAI,EAAE,eAAe,CAAC,IAAI;qBAC7B,CAAC;iBACL;gBACD,EAAE;gBAEF,MAAM,SAAS,GAAG,CAAC,cAA0B,EAAE,EAAE;oBAC7C,MAAM,OAAO,GACT,IAAI,CAAC,YAAY,KAAK,WAAW,CAAC,UAAU;wBACxC,CAAC,CAAC,cAAc,CAAC,OAAO;wBACxB,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC;oBACjC,MAAM,KAAK,GAAG,OAAO,GAAG,KAAK,CAAC;oBAE9B,IAAI,CAAC,MAAM,CACP,SAAS,EACT,KAAK,EACL,KAAK,EACL,SAAS,EACT,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,SAAS,CACZ,CAAC;oBACF,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC5B,IAAI,CAAC,WAAW,EAAE,CAAC;gBACvB,CAAC,CAAC;gBAEF,MAAM,GAAG,GAAG,GAAG,EAAE;oBACb,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE;wBAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;qBACvB;oBAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;wBAC1B,MAAM,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;qBACvC;oBAED,IAAI,CAAC,eAAe,EAAE,CAAC;oBAEvB,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;oBACrD,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;oBAE7C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACvC,CAAC,CAAC;gBAEF,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;gBAClD,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAC9C,CAAC,CAAC;YAEF,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAE5C,MAAM,QAAQ,GAAc;gBACxB,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,GAAG,EAAE;oBACb,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;oBAC/C,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBACzC,CAAC;aACJ,CAAC;YAEF,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC9B;QAED,IAAI,CAAC,UAAU,EAAE;YACb,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;SAC1B;QAED,IACI,CAAC,UAAU;YACX,OAAO,IAAI,KAAK,QAAQ;YACxB,IAAI,CAAC,IAAI,KAAK,YAAY,EAC5B;YACE,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC9B;QAED,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,mBAAmB;QACf,MAAM,iBAAiB,GAAe,EAAE,CAAC;QACzC,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE;YAC/B,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE;gBACzC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC7B,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC;aAC7B;SACJ;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAEjE,KAAK,MAAM,IAAI,IAAI,iBAAiB,EAAE;YAClC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;SAC/D;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,CACrC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,cAAc,CAAC,GAAG,CAC3D,CAAC;QACF,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,cAAc,CAAC,IAAI,CAC5D,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;IAC3D,CAAC;IAEM,UAAU,CACb,KAAa,EACb,MAAe,EACf,UAAU,GAAG,KAAK;QAElB,cAAc;QACd,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,QAAQ,CAAC,OAAO,EAAE,CAAC;QAEnB,cAAc;QACd,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;YAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,QAAQ,CAAC,UAAU,EAAE,CAAC;SACzB;QAED,IAAI,CAAC,UAAU,EAAE;YACb,IAAI,CAAC,QAAQ,EAAE,CAAC;SACnB;QAED,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE;YACxC,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC9B;QAED,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAE1C,OAAO,QAAQ,CAAC,IAAI,CAAC;IACzB,CAAC;IAED,wBAAwB,CAAC,KAAa;QAClC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YAC7C,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;SAC1C;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvC,OAAO,QAAQ,CAAC,iBAAiB,CAAC;IACtC,CAAC;IAEM,QAAQ,CAAC,IAAY,EAAE,EAAU;QACpC,MAAM,iBAAiB,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAC9D,MAAM,MAAM,GACR,OAAO,iBAAiB,KAAK,WAAW;YACpC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YACxB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IACnC,CAAC;IAEM,MAAM,CAAC,IAAY,EAAE,cAAsB;QAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QAErC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACnB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC7C,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,CACrC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,cAAc,CAAC,GAAG,CAC3D,CAAC;YACF,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,cAAc,CAAC,IAAI,CAC5D,CAAC;YAEF,IAAI,CAAC,MAAM,CACP,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EACzB,IAAI,GAAG,YAAY,EACnB,SAAS,EACT,kBAAkB,EAClB,mBAAmB,CACtB,CAAC;SACL;aAAM;YACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAE/B,IAAI,CAAC,IAAI,GAAG,KAAK,CACb,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EACtC,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,WAAW,CACnB,CAAC;aACL;SACJ;QAED,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IAEO,QAAQ,CACZ,kBAA6B,EAC7B,mBAA8B;QAE9B,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAEnE,IAAI,CAAC,MAAM,CACP,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EACzB,IAAI,CAAC,KAAK,GAAG,WAAW,EACxB,SAAS,EACT,kBAAkB,EAClB,mBAAmB,CACtB,CAAC;QACF,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,eAAe,EAAE,CAAC;IAC3B,CAAC;IAEO,oBAAoB,CAAC,gBAAyB;QAClD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACnE,IAAI,UAAU,GAAG,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QAEzC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACrD,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,CACrC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,cAAc,CAAC,GAAG,CAC3D,CAAC;QACF,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,cAAc,CAAC,IAAI,CAC5D,CAAC;QAEF,KAAK,MAAM,KAAK,IAAI,mBAAmB,EAAE;YACrC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SAC/B;QAED,KAAK,MAAM,KAAK,IAAI,kBAAkB,EAAE;YACpC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SAC7B;QAED,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE;YACtC,SAAS,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;SACxC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,UAAU,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,MAAM,IAAI,GAAG,KAAK,CACd,IAAI,CAAC,IAAI,GAAG,UAAU,EACtB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,WAAW,CACnB,CAAC;YACF,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YAEnC,UAAU,IAAI,SAAS,CAAC;YACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;SACpB;IACL,CAAC;IAEO,eAAe;QACnB,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE;YACjD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAClC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CACnC,CAAC;SACL;IACL,CAAC;IAEO,WAAW;QACf,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAClE,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,MAAM,CAAC,GAAa,EAAE,CAAC;QAEvB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAChD,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC9B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEZ,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YAE7D,IAAI,IAAI,CAAC,YAAY,KAAK,WAAW,CAAC,UAAU,EAAE;gBAC9C,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC;gBACpD,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC;aAC9C;YACD,IAAI,IAAI,CAAC,YAAY,KAAK,WAAW,CAAC,QAAQ,EAAE;gBAC5C,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;gBAC5C,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,MAAM,IAAI,CAAC;aACtD;SACJ;QACD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YAC/B,IAAI,IAAI,CAAC,YAAY,KAAK,WAAW,CAAC,UAAU,EAAE;gBAC9C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC;gBAC9C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC7D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC;gBAC9B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;aACpC;YACD,IAAI,IAAI,CAAC,YAAY,KAAK,WAAW,CAAC,QAAQ,EAAE;gBAC5C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC;gBAC/C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC5D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;gBAChC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;aAClC;YAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,kBAAkB,CAAC,OAAiB;QACxC,sBAAsB;QACtB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAEvC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;gBACnB,SAAS;aACZ;YAED,IAAI,QAAQ,CAAC,IAAI,EAAE;gBACf,OAAO,KAAK,CAAC;aAChB;SACJ;QAED,qBAAqB;QACrB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAEvC,IACI,QAAQ,CAAC,OAAO;gBAChB,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,GAAG,CAAC,EACjD;gBACE,OAAO,SAAS,CAAC;aACpB;YAED,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;gBACpC,OAAO,KAAK,CAAC;aAChB;SACJ;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,oBAAoB;QACxB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CACpC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,WAAW,GAAG,CAAC,IAAI,QAAQ,CAAC,CAC7D,CAAC;QAEF,QAAQ,GAAG,KAAK,CAAC;QACjB,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAClC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,QAAQ,CAAC,CAC7D,CAAC;QAEF,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;QACnD,QAAQ,GAAG,KAAK,CAAC;QACjB,MAAM,WAAW,GAAG,YAAY;aAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,WAAW,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC;aAC/D,OAAO,EAAE,CAAC;QAEf,QAAQ,GAAG,KAAK,CAAC;QACjB,MAAM,SAAS,GAAG,YAAY;aACzB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC;aAC/D,OAAO,EAAE,CAAC;QAEf,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACrD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACvC,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC;YAE1B,MAAM,GAAG,GAAG,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,GAAG,GAAG,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;YAE5D,IAAI,GAAG,IAAI,GAAG,EAAE;gBACZ,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;gBACnC,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC5D,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;gBAC3D,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;gBAE5D,MAAM,aAAa,GACf,OAAO,eAAe,KAAK,QAAQ;oBACnC,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC;gBAC7C,MAAM,YAAY,GACd,OAAO,cAAc,KAAK,QAAQ;oBAClC,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC;gBAE5C,IACI,aAAa;oBACb,WAAW,CAAC,KAAK,CAAC;oBAClB,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,CAAC,oBAAoB,CAAC,EAC7C;oBACE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;iBAC5C;qBAAM,IACH,YAAY;oBACZ,aAAa,CAAC,KAAK,CAAC;oBACpB,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,kBAAkB,CAAC,EAC1D;oBACE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;iBAC5C;qBAAM;oBACH,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;iBAC7C;aACJ;iBAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE;gBACpB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;aAC5C;iBAAM,IAAI,CAAC,GAAG,IAAI,GAAG,EAAE;gBACpB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;aAC5C;iBAAM;gBACH,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;aAC5C;SACJ;IACL,CAAC;IAEO,UAAU,CAAC,IAAe,EAAE,KAAgB;QAChD,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,KAAK,SAAS,CAAC,QAAQ,CAAC,CAAC;QACtE,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,KAAK,SAAS,CAAC,OAAO,CAAC,CAAC;QACpE,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,KAAK,SAAS,CAAC,OAAO,CAAC,CAAC;QACpE,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,KAAK,SAAS,CAAC,OAAO,CAAC,CAAC;IACxE,CAAC;IAmIO,mBAAmB;QACvB,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,CAAC,SAAS,GAAG,gBAAgB,CAAC;QACrC,OAAO,OAAO,CAAC;IACnB,CAAC;IAEO,mBAAmB;QACvB,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,CAAC,SAAS,GAAG,gBAAgB,CAAC;QACrC,OAAO,OAAO,CAAC;IACnB,CAAC;IAEO,eAAe;QACnB,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,oBAAoB,GACtB,IAAI,CAAC,YAAY,KAAK,WAAW,CAAC,UAAU;YACxC,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,UAAU,CAAC;QACrB,OAAO,CAAC,SAAS,GAAG,wBAAwB,oBAAoB,EAAE,CAAC;QACnE,OAAO,OAAO,CAAC;IACnB,CAAC;IAEM,OAAO;QACV,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnD,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE;gBAChD,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvC,MAAM;aACT;SACJ;QAED,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;YACnC,QAAQ,CAAC,OAAO,EAAE,CAAC;SACtB;QAED,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IAC1B,CAAC;CACJ"}
|
|
@@ -60,7 +60,7 @@ export interface ISplitviewComponent extends IDisposable {
|
|
|
60
60
|
* A high-level implementation of splitview that works using 'panels'
|
|
61
61
|
*/
|
|
62
62
|
export declare class SplitviewComponent extends Resizable implements ISplitviewComponent {
|
|
63
|
-
private
|
|
63
|
+
private _splitviewChangeDisposable;
|
|
64
64
|
private _splitview;
|
|
65
65
|
private _activePanel;
|
|
66
66
|
private _panels;
|
|
@@ -91,7 +91,7 @@ export declare class SplitviewComponent extends Resizable implements ISplitviewC
|
|
|
91
91
|
setActive(view: SplitviewPanel, skipFocus?: boolean): void;
|
|
92
92
|
removePanel(panel: SplitviewPanel, sizing?: Sizing): void;
|
|
93
93
|
getPanel(id: string): SplitviewPanel | undefined;
|
|
94
|
-
addPanel(options: AddSplitviewComponentOptions):
|
|
94
|
+
addPanel(options: AddSplitviewComponentOptions): SplitviewPanel;
|
|
95
95
|
layout(width: number, height: number): void;
|
|
96
96
|
private doAddView;
|
|
97
97
|
toJSON(): SerializedSplitview;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"splitviewComponent.d.ts","sourceRoot":"","sources":["../../../src/splitview/splitviewComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,WAAW,
|
|
1
|
+
{"version":3,"file":"splitviewComponent.d.ts","sourceRoot":"","sources":["../../../src/splitview/splitviewComponent.ts"],"names":[],"mappings":"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"}
|