@sogni-ai/sogni-client 2.0.2 → 2.1.0-alpha.1
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/CHANGELOG.md +8 -1
- package/README.md +76 -0
- package/dist/Projects/createJobRequestMessage.js +48 -7
- package/dist/Projects/createJobRequestMessage.js.map +1 -1
- package/dist/Projects/index.d.ts +1 -0
- package/dist/Projects/index.js +26 -0
- package/dist/Projects/index.js.map +1 -1
- package/dist/Projects/types/ControlNetParams.d.ts +62 -0
- package/dist/Projects/types/ControlNetParams.js +3 -0
- package/dist/Projects/types/ControlNetParams.js.map +1 -0
- package/dist/Projects/types/index.d.ts +5 -0
- package/dist/lib/validation.d.ts +9 -0
- package/dist/lib/validation.js +34 -0
- package/dist/lib/validation.js.map +1 -0
- package/package.json +1 -1
- package/src/Projects/createJobRequestMessage.ts +49 -7
- package/src/Projects/index.ts +24 -0
- package/src/Projects/types/ControlNetParams.ts +79 -0
- package/src/Projects/types/index.ts +5 -0
- package/src/lib/validation.ts +40 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,9 +1,16 @@
|
|
|
1
|
+
# [2.1.0-alpha.1](https://github.com/Sogni-AI/sogni-client/compare/v2.0.2...v2.1.0-alpha.1) (2025-02-04)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* Add basic ControlNet support ([220991d](https://github.com/Sogni-AI/sogni-client/commit/220991db5b16740b159d2cb0c3e746141fa4906f))
|
|
7
|
+
|
|
1
8
|
## [2.0.2](https://github.com/Sogni-AI/sogni-client/compare/v2.0.1...v2.0.2) (2025-02-04)
|
|
2
9
|
|
|
3
10
|
|
|
4
11
|
### Bug Fixes
|
|
5
12
|
|
|
6
|
-
* False "completed" event for project when there is
|
|
13
|
+
* False "completed" event for project when there is lack of free workers ([e5d546d](https://github.com/Sogni-AI/sogni-client/commit/e5d546dfbe0cb692ec120156e1e90c3787def951))
|
|
7
14
|
|
|
8
15
|
## [2.0.1](https://github.com/Sogni-AI/sogni-client/compare/v2.0.0...v2.0.1) (2025-01-29)
|
|
9
16
|
|
package/README.md
CHANGED
|
@@ -191,6 +191,7 @@ Turbo and LCM models are designed for quality output in as little as 1 step. ([M
|
|
|
191
191
|
- `timeStepSpacing` - time step spacing algorithm ([More info](https://docs.sogni.ai/learn/advanced/schedulers)). For available options see type definition.
|
|
192
192
|
- `startingImage` - guide image in PNG format. Can be [File](https://developer.mozilla.org/en-US/docs/Web/API/File), [Blob](https://developer.mozilla.org/en-US/docs/Web/API/Blob) or [Buffer](https://nodejs.org/api/buffer.html)
|
|
193
193
|
- `startingImageStrength` - strong effect of starting image should be. From 0 to 1, default 0.5.
|
|
194
|
+
- `controlNet` - Stable Diffusion ControlNet parameters. See **ControlNets** section below for more info.
|
|
194
195
|
|
|
195
196
|
TypeScript type definitions for project parameters can be found in [ProjectParams](https://sdk-docs.sogni.ai/interfaces/ProjectParams.html) docs.
|
|
196
197
|
|
|
@@ -285,6 +286,81 @@ Sample response:
|
|
|
285
286
|
}
|
|
286
287
|
]
|
|
287
288
|
```
|
|
289
|
+
### ControlNets
|
|
290
|
+
**EXPERIMENTAL FEATURE:** This feature is still in development and may not work as expected. Use at your own risk.
|
|
291
|
+
|
|
292
|
+
ControlNet is a neural network that controls image generation in Stable Diffusion by adding extra conditions. See more
|
|
293
|
+
info and usage samples in [ControlNets](https://docs.sogni.ai/learn/basics/controlnet) docs for Sogni Studio.
|
|
294
|
+
|
|
295
|
+
To use ControlNet in your project you need to provide `controlNet` object with the following properties:
|
|
296
|
+
- `name` - name of the ControlNet to use. Currently supported:
|
|
297
|
+
- `canny`
|
|
298
|
+
- `depth`
|
|
299
|
+
- `inpaint`
|
|
300
|
+
- `instrp2p`
|
|
301
|
+
- `lineart`
|
|
302
|
+
- `lineartanime`
|
|
303
|
+
- `mlsd`
|
|
304
|
+
- `normalbae`
|
|
305
|
+
- `openpose`
|
|
306
|
+
- `scribble`
|
|
307
|
+
- `segmentation`
|
|
308
|
+
- `shuffle`
|
|
309
|
+
- `softedge`
|
|
310
|
+
- `tile`
|
|
311
|
+
- `image` - input image. Image size should match the size of the generated image. Can be [File](https://developer.mozilla.org/en-US/docs/Web/API/File), [Blob](https://developer.mozilla.org/en-US/docs/Web/API/Blob) or [Buffer](https://nodejs.org/api/buffer.html)
|
|
312
|
+
- `strength` - ControlNet strength 0 to 1. 0 full control to prompt, 1 full control to ControlNet
|
|
313
|
+
- `mode` - How control and prompt should be weighted. Can be:
|
|
314
|
+
- `balanced` - (default) balanced, no preference between prompt and control model
|
|
315
|
+
- `prompt_priority` - the prompt has more impact than the model
|
|
316
|
+
- `cn_priority` - the controlnet model has more impact than the prompt
|
|
317
|
+
- `guidanceStart` - step when ControlNet first applied, 0 means first step, 1 means last step. Must be less than guidanceEnd
|
|
318
|
+
- `guidanceEnd` - step when ControlNet last applied, 0 means first step, 1 means last step. Must be greater than guidanceStart
|
|
319
|
+
|
|
320
|
+
Example:
|
|
321
|
+
```javascript
|
|
322
|
+
const cnImage = fs.readFileSync('./cn.jpg');
|
|
323
|
+
const project = await client.projects.create({
|
|
324
|
+
network: 'fast',
|
|
325
|
+
modelId: 'coreml-cyberrealistic_v70_768',
|
|
326
|
+
numberOfImages: 1,
|
|
327
|
+
positivePrompt: 'make men look older',
|
|
328
|
+
steps: 20,
|
|
329
|
+
guidance: 7.5,
|
|
330
|
+
controlNet: {
|
|
331
|
+
name: 'instrp2p',
|
|
332
|
+
image: cnImage
|
|
333
|
+
}
|
|
334
|
+
});
|
|
335
|
+
```
|
|
336
|
+
Full ControlNet type definition:
|
|
337
|
+
```typescript
|
|
338
|
+
export type ControlNetName =
|
|
339
|
+
| 'canny'
|
|
340
|
+
| 'depth'
|
|
341
|
+
| 'inpaint'
|
|
342
|
+
| 'instrp2p'
|
|
343
|
+
| 'lineart'
|
|
344
|
+
| 'lineartanime'
|
|
345
|
+
| 'mlsd'
|
|
346
|
+
| 'normalbae'
|
|
347
|
+
| 'openpose'
|
|
348
|
+
| 'scribble'
|
|
349
|
+
| 'segmentation'
|
|
350
|
+
| 'shuffle'
|
|
351
|
+
| 'softedge'
|
|
352
|
+
| 'tile';
|
|
353
|
+
|
|
354
|
+
export type ControlNetMode = 'balanced' | 'prompt_priority' | 'cn_priority';
|
|
355
|
+
export interface ControlNetParams {
|
|
356
|
+
name: ControlNetName;
|
|
357
|
+
image?: File | Buffer | Blob;
|
|
358
|
+
strength?: number;
|
|
359
|
+
mode?: ControlNetMode;
|
|
360
|
+
guidanceStart?: number;
|
|
361
|
+
guidanceEnd?: number;
|
|
362
|
+
}
|
|
363
|
+
```
|
|
288
364
|
|
|
289
365
|
|
|
290
366
|
## Code examples
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const validation_1 = require("../lib/validation");
|
|
3
4
|
// Mac worker can't process the data if some of the fields are missing, so we need to provide a default template
|
|
4
5
|
function getTemplate() {
|
|
5
6
|
return {
|
|
@@ -65,12 +66,49 @@ function getTemplate() {
|
|
|
65
66
|
siVideoFrames: []
|
|
66
67
|
};
|
|
67
68
|
}
|
|
68
|
-
function
|
|
69
|
-
const
|
|
70
|
-
|
|
71
|
-
|
|
69
|
+
function getControlNet(params) {
|
|
70
|
+
const cn = {
|
|
71
|
+
name: params.name,
|
|
72
|
+
cnImageState: 'original',
|
|
73
|
+
hasImage: !!params.image
|
|
74
|
+
};
|
|
75
|
+
if (params.strength !== undefined) {
|
|
76
|
+
cn.controlStrength = (0, validation_1.validateNumber)(params.strength, {
|
|
77
|
+
min: 0,
|
|
78
|
+
max: 1,
|
|
79
|
+
propertyName: 'strength'
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
if (params.mode) {
|
|
83
|
+
switch (params.mode) {
|
|
84
|
+
case 'balanced':
|
|
85
|
+
cn.controlMode = 0;
|
|
86
|
+
break;
|
|
87
|
+
case 'prompt_priority':
|
|
88
|
+
cn.controlMode = 1;
|
|
89
|
+
break;
|
|
90
|
+
case 'cn_priority':
|
|
91
|
+
cn.controlMode = 2;
|
|
92
|
+
break;
|
|
93
|
+
default:
|
|
94
|
+
throw new Error(`Invalid control mode ${params.mode}`);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
if (params.guidanceStart !== undefined) {
|
|
98
|
+
cn.controlGuidanceStart = (0, validation_1.validateNumber)(params.guidanceStart, {
|
|
99
|
+
min: 0,
|
|
100
|
+
max: 1,
|
|
101
|
+
propertyName: 'guidanceStart'
|
|
102
|
+
});
|
|
72
103
|
}
|
|
73
|
-
|
|
104
|
+
if (params.guidanceEnd !== undefined) {
|
|
105
|
+
cn.controlGuidanceEnd = (0, validation_1.validateNumber)(params.guidanceEnd, {
|
|
106
|
+
min: 0,
|
|
107
|
+
max: 1,
|
|
108
|
+
propertyName: 'guidanceEnd'
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
return [cn];
|
|
74
112
|
}
|
|
75
113
|
function createJobRequestMessage(id, params) {
|
|
76
114
|
const template = getTemplate();
|
|
@@ -82,9 +120,12 @@ function createJobRequestMessage(id, params) {
|
|
|
82
120
|
if (params.network) {
|
|
83
121
|
jobRequest.network = params.network;
|
|
84
122
|
}
|
|
123
|
+
if (params.controlNet) {
|
|
124
|
+
jobRequest.keyFrames[0].currentControlNetsJob = getControlNet(params.controlNet);
|
|
125
|
+
}
|
|
85
126
|
if (params.sizePreset === 'custom') {
|
|
86
|
-
jobRequest.keyFrames[0].width =
|
|
87
|
-
jobRequest.keyFrames[0].height =
|
|
127
|
+
jobRequest.keyFrames[0].width = (0, validation_1.validateCustomImageSize)(params.width);
|
|
128
|
+
jobRequest.keyFrames[0].height = (0, validation_1.validateCustomImageSize)(params.height);
|
|
88
129
|
}
|
|
89
130
|
return jobRequest;
|
|
90
131
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createJobRequestMessage.js","sourceRoot":"","sources":["../../src/Projects/createJobRequestMessage.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"createJobRequestMessage.js","sourceRoot":"","sources":["../../src/Projects/createJobRequestMessage.ts"],"names":[],"mappings":"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"}
|
package/dist/Projects/index.d.ts
CHANGED
package/dist/Projects/index.js
CHANGED
|
@@ -326,10 +326,14 @@ class ProjectsApi extends ApiGroup_1.default {
|
|
|
326
326
|
*/
|
|
327
327
|
create(data) {
|
|
328
328
|
return __awaiter(this, void 0, void 0, function* () {
|
|
329
|
+
var _a;
|
|
329
330
|
const project = new Project_1.default(Object.assign({}, data), { api: this, logger: this.client.logger });
|
|
330
331
|
if (data.startingImage) {
|
|
331
332
|
yield this.uploadGuideImage(project.id, data.startingImage);
|
|
332
333
|
}
|
|
334
|
+
if ((_a = data.controlNet) === null || _a === void 0 ? void 0 : _a.image) {
|
|
335
|
+
yield this.uploadCNImage(project.id, data.controlNet.image);
|
|
336
|
+
}
|
|
333
337
|
const request = (0, createJobRequestMessage_1.default)(project.id, data);
|
|
334
338
|
yield this.client.socket.send('jobRequest', request);
|
|
335
339
|
this.projects.push(project);
|
|
@@ -402,6 +406,28 @@ class ProjectsApi extends ApiGroup_1.default {
|
|
|
402
406
|
return imageId;
|
|
403
407
|
});
|
|
404
408
|
}
|
|
409
|
+
uploadCNImage(projectId, file) {
|
|
410
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
411
|
+
const imageId = (0, getUUID_1.default)();
|
|
412
|
+
const presignedUrl = yield this.uploadUrl({
|
|
413
|
+
imageId: imageId,
|
|
414
|
+
jobId: projectId,
|
|
415
|
+
type: 'cnImage'
|
|
416
|
+
});
|
|
417
|
+
const res = yield fetch(presignedUrl, {
|
|
418
|
+
method: 'PUT',
|
|
419
|
+
body: file
|
|
420
|
+
});
|
|
421
|
+
if (!res.ok) {
|
|
422
|
+
throw new ApiClient_1.ApiError(res.status, {
|
|
423
|
+
status: 'error',
|
|
424
|
+
errorCode: 0,
|
|
425
|
+
message: 'Failed to upload ControlNet image'
|
|
426
|
+
});
|
|
427
|
+
}
|
|
428
|
+
return imageId;
|
|
429
|
+
});
|
|
430
|
+
}
|
|
405
431
|
/**
|
|
406
432
|
* Estimate project cost
|
|
407
433
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Projects/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Projects/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,2DAAkD;AAgBlD,wDAAgC;AAChC,wFAAgE;AAChE,4CAAoD;AAGpD,6DAAqC;AAIrC,yDAAiC;AAEjC,MAAM,eAAe,GAAG,IAAI,eAAK,CAAe,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AAChE,MAAM,uBAAuB,GAAG,KAAK,CAAC;AACtC,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,WAAW;AAEhE,SAAS,aAAa,CAAC,IAAY;IACjC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,kBAAkB;YACrB,OAAO,IAAI,CAAC;QACd,KAAK,oBAAoB;YACvB,OAAO,IAAI,CAAC;QACd,KAAK,aAAa;YAChB,OAAO,IAAI,CAAC;QACd,KAAK,gBAAgB;YACnB,OAAO,IAAI,CAAC;QACd,KAAK,iBAAiB;YACpB,OAAO,IAAI,CAAC;QACd;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,MAAM,WAAY,SAAQ,kBAA0B;IAQlD,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,YAAY,MAAiB;QAC3B,KAAK,CAAC,MAAM,CAAC,CAAC;QAZR,qBAAgB,GAAqB,EAAE,CAAC;QACxC,aAAQ,GAAc,EAAE,CAAC;QACzB,qBAAgB,GAAuD;YAC7E,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;SACvB,CAAC;QAQA,kEAAkE;QAClE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACpE,oCAAoC;QACpC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACzE,wEAAwE;QACxE,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC;IAEO,mBAAmB;QACzB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACtD,CAAC;IAEa,iBAAiB,CAAC,IAAmC;;YACjE,IAAI,MAAM,GAAqB,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC3C,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC9B,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAmC,EAAE,KAAK,EAAE,EAAE;gBAC9E,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;gBACtB,OAAO,GAAG,CAAC;YACb,CAAC,EAAE,EAAE,CAAC,CAAC;YACP,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE;;gBAAC,OAAA,CAAC;oBACvE,EAAE;oBACF,IAAI,EAAE,CAAA,MAAA,UAAU,CAAC,EAAE,CAAC,0CAAE,IAAI,KAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;oBACnD,WAAW;iBACZ,CAAC,CAAA;aAAA,CAAC,CAAC;YACJ,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACtD,CAAC;KAAA;IAEO,cAAc,CAAC,IAAkB;QACvC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,QAAQ;gBACX,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;oBACnB,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,IAAI,CAAC,KAAK;oBACrB,aAAa,EAAE,IAAI,CAAC,aAAa;iBAClC,CAAC,CAAC;gBACH,OAAO;YACT,KAAK,cAAc;gBACjB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;gBACnE,OAAO;YACT,KAAK,iBAAiB;gBACpB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;oBACf,IAAI,EAAE,YAAY;oBAClB,SAAS,EAAE,IAAI,CAAC,KAAK;oBACrB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,UAAU,EAAE,IAAI,CAAC,UAAU;iBAC5B,CAAC,CAAC;gBACH,OAAO;YACT,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;oBACf,IAAI,EAAE,SAAS;oBACf,SAAS,EAAE,IAAI,CAAC,KAAK;oBACrB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,UAAU,EAAE,IAAI,CAAC,UAAU;iBAC5B,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC;IAEa,iBAAiB,CAAC,IAAqB;;YACnD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;gBACf,IAAI,EAAE,UAAU;gBAChB,SAAS,EAAE,IAAI,CAAC,KAAK;gBACrB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC,WAAW,CAAC;oBACf,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,OAAO,EAAE,IAAI,CAAC,KAAK;oBACnB,IAAI,EAAE,SAAS;iBAChB,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;oBACd,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;wBACf,IAAI,EAAE,SAAS;wBACf,SAAS,EAAE,IAAI,CAAC,KAAK;wBACrB,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,GAAG;qBACJ,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;KAAA;IAEa,eAAe,CAAC,IAAmB;;YAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/D,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC;YAChG,IAAI,WAAW,GAAG,IAAI,CAAC;YACvB,4FAA4F;YAC5F,uCAAuC;YACvC,IAAI,aAAa,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACxC,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;oBACnC,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,OAAO,EAAE,IAAI,CAAC,KAAK;oBACnB,IAAI,EAAE,UAAU;iBACjB,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;gBACf,IAAI,EAAE,WAAW;gBACjB,SAAS,EAAE,IAAI,CAAC,KAAK;gBACrB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK,EAAE,IAAI,CAAC,kBAAkB;gBAC9B,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC3B,SAAS,EAAE,WAAW;gBACtB,MAAM,EAAE,IAAI,CAAC,mBAAmB;gBAChC,YAAY,EAAE,IAAI,CAAC,YAAY;aAChC,CAAC,CAAC;QACL,CAAC;KAAA;IAEO,cAAc,CAAC,IAAkB;;QACvC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,KAAgB,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YACtB,KAAK,GAAG;gBACN,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI,CAAC,aAAa;aAC5B,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,KAAK,GAAG;gBACN,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,KAAe,CAAC;gBACzC,YAAY,EAAE,MAAA,IAAI,CAAC,KAAK,0CAAE,QAAQ,EAAE;gBACpC,OAAO,EAAE,IAAI,CAAC,aAAa;aAC5B,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACnB,IAAI,EAAE,OAAO;gBACb,SAAS,EAAE,IAAI,CAAC,KAAK;gBACrB,KAAK;aACN,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,IAAI,CAAC,KAAK;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;IACL,CAAC;IAEO,kBAAkB,CAAC,KAAmB;QAC5C,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QACD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,QAAQ;gBACX,OAAO,CAAC,OAAO,CAAC;oBACd,MAAM,EAAE,QAAQ;oBAChB,aAAa,EAAE,KAAK,CAAC,aAAa;iBACnC,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,WAAW;gBACd,OAAO,CAAC,OAAO,CAAC;oBACd,MAAM,EAAE,WAAW;iBACpB,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,OAAO;gBACV,OAAO,CAAC,OAAO,CAAC;oBACd,MAAM,EAAE,QAAQ;oBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;iBACnB,CAAC,CAAC;QACP,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,gFAAgF;YAChF,OAAO,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;gBAClC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;YACH,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;YACxE,CAAC,EAAE,uBAAuB,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,KAAe;QACpC,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QACD,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;gBACpB,EAAE,EAAE,KAAK,CAAC,KAAK;gBACf,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,MAAM,EAAE,SAAS;gBACjB,IAAI,EAAE,CAAC;gBACP,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;aAChC,CAAC,CAAC;QACL,CAAC;QACD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,YAAY;gBACf,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;gBACpE,MAAM;YACR,KAAK,SAAS;gBACZ,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;gBACpE,MAAM;YACR,KAAK,UAAU;gBACb,GAAG,CAAC,OAAO,CAAC;oBACV,MAAM,EAAE,YAAY;oBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,SAAS,EAAE,KAAK,CAAC,SAAS;iBAC3B,CAAC,CAAC;gBACH,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;oBACpC,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;gBAC5C,CAAC;gBACD,MAAM;YACR,KAAK,SAAS;gBACZ,GAAG,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;gBACvC,MAAM;YACR,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,GAAG,CAAC,OAAO,CAAC;oBACV,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW;oBACrD,IAAI,EAAE,KAAK,CAAC,KAAK;oBACjB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,YAAY,EAAE,KAAK,CAAC,YAAY;iBACjC,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,KAAK,OAAO;gBACV,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;gBACtD,MAAM;QACV,CAAC;IACH,CAAC;IAEO,wBAAwB;QAC9B,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1B,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,qBAAqB,EAAE,EAAE,CAAC,CAAC;QACtF,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAC,OAAO,GAAG,KAAK;QAC3B,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;YACjC,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAChC,MAAM,CAAC,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;YAClD,CAAC,EAAE,OAAO,CAAC,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,MAAM,EAAE,EAAE;gBACtC,YAAY,CAAC,SAAS,CAAC,CAAC;gBACxB,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClB,OAAO,CAAC,MAAM,CAAC,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACG,MAAM,CAAC,IAAmB;;;YAC9B,MAAM,OAAO,GAAG,IAAI,iBAAO,mBAAM,IAAI,GAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YACpF,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YAC9D,CAAC;YACD,IAAI,MAAA,IAAI,CAAC,UAAU,0CAAE,KAAK,EAAE,CAAC;gBAC3B,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC9D,CAAC;YACD,MAAM,OAAO,GAAG,IAAA,iCAAuB,EAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAC1D,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACrD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,OAAO,CAAC;QACjB,CAAC;KAAA;IAED;;;;;OAKG;IACG,GAAG,CAAC,SAAiB;;YACzB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CACzC,gBAAgB,SAAS,EAAE,CAC5B,CAAC;YACF,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;KAAA;IAED;;;;;QAKI;IACE,MAAM,CAAC,SAAiB;;YAC5B,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE;gBACxC,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,gBAAgB;gBACvB,aAAa,EAAE,gBAAgB;gBAC/B,YAAY,EAAE,KAAK;aACpB,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;YAC9D,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO;YACT,CAAC;YACD,mDAAmD;YACnD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;YAEhE,iCAAiC;YACjC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC3B,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;oBAClB,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC,CAAC,CAAC;YACH,yDAAyD;YACzD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACtB,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;KAAA;IAEa,gBAAgB,CAAC,SAAiB,EAAE,IAA0B;;YAC1E,MAAM,OAAO,GAAG,IAAA,iBAAO,GAAE,CAAC;YAC1B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC;gBACxC,OAAO,EAAE,OAAO;gBAChB,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,eAAe;aACtB,CAAC,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,YAAY,EAAE;gBACpC,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,IAAI;aACX,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,MAAM,IAAI,oBAAQ,CAAC,GAAG,CAAC,MAAM,EAAE;oBAC7B,MAAM,EAAE,OAAO;oBACf,SAAS,EAAE,CAAC;oBACZ,OAAO,EAAE,8BAA8B;iBACxC,CAAC,CAAC;YACL,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;KAAA;IAEa,aAAa,CAAC,SAAiB,EAAE,IAA0B;;YACvE,MAAM,OAAO,GAAG,IAAA,iBAAO,GAAE,CAAC;YAC1B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC;gBACxC,OAAO,EAAE,OAAO;gBAChB,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,YAAY,EAAE;gBACpC,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,IAAI;aACX,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,MAAM,IAAI,oBAAQ,CAAC,GAAG,CAAC,MAAM,EAAE;oBAC7B,MAAM,EAAE,OAAO;oBACf,SAAS,EAAE,CAAC;oBACZ,OAAO,EAAE,mCAAmC;iBAC7C,CAAC,CAAC;YACL,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;KAAA;IAED;;OAEG;IACG,YAAY;6DAAC,EACjB,OAAO,EACP,KAAK,EACL,UAAU,EACV,SAAS,EACT,YAAY,EACZ,SAAS,EACT,qBAAqB,EACrB,KAAK,EACL,MAAM,EACN,UAAU,EACM;YAChB,MAAM,UAAU,GAAG;gBACjB,OAAO;gBACP,KAAK;gBACL,UAAU;gBACV,SAAS;gBACT,YAAY;gBACZ,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjB,qBAAqB,CAAC,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;aACtD,CAAC;YACF,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC1D,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;gBACxD,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;gBACzC,CAAC;gBACD,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAC/C,CAAC;iBAAM,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACjC,CAAC;YACD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CACpC,wBAAwB,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAC/C,CAAC;YACF,OAAO;gBACL,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW;gBAClC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS;aAC/B,CAAC;QACJ,CAAC;KAAA;IAED;;;;OAIG;IACG,SAAS,CAAC,MAAsB;;YACpC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAClC,qBAAqB,EACrB,MAAM,CACP,CAAC;YACF,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QAC1B,CAAC;KAAA;IAED;;;;OAIG;IACG,WAAW,CAAC,MAAsB;;YACtC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAClC,uBAAuB,EACvB,MAAM,CACP,CAAC;YACF,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;QAC5B,CAAC;KAAA;IAEK,kBAAkB;6DAAC,YAAY,GAAG,KAAK;YAC3C,IACE,IAAI,CAAC,gBAAgB,CAAC,IAAI;gBAC1B,CAAC,YAAY;gBACb,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,uBAAuB,EAChF,CAAC;gBACD,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACpC,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAmB,qBAAqB,CAAC,CAAC;YACrF,IAAI,CAAC,gBAAgB,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;YAChE,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,cAAc;6DAAC,OAAqB,EAAE,OAAe,EAAE,YAAY,GAAG,KAAK;YAC/E,MAAM,GAAG,GAAG,GAAG,OAAO,IAAI,OAAO,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC5B,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CACvC,gCAAgC,OAAO,UAAU,OAAO,EAAE,CAC3D,CAAC;YACF,eAAe,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAED;;;;OAIG;IACG,kBAAkB,CAAC,OAAqB;;YAC5C,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CACpD,0BAA0B,OAAO,SAAS,CAC3C,CAAC;YACF,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxD,OAAO,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,EAAE;gBAClE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBACxB,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;gBACzD,OAAO;oBACL,EAAE,EAAE,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,EAAE,KAAI,GAAG;oBACpB,IAAI,EAAE,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,KAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;oBAC3C,WAAW;iBACZ,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;CACF;AAED,kBAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ControlNet model names
|
|
3
|
+
* @inline
|
|
4
|
+
*/
|
|
5
|
+
export type ControlNetName = 'canny' | 'depth' | 'inpaint' | 'instrp2p' | 'lineart' | 'lineartanime' | 'mlsd' | 'normalbae' | 'openpose' | 'scribble' | 'segmentation' | 'shuffle' | 'softedge' | 'tile';
|
|
6
|
+
/**
|
|
7
|
+
* Raw ControlNet parameters passed to the API
|
|
8
|
+
*/
|
|
9
|
+
export interface ControlNetParamsRaw {
|
|
10
|
+
name: ControlNetName;
|
|
11
|
+
mlmodelc?: string;
|
|
12
|
+
cnImageState: 'original';
|
|
13
|
+
hasImage: boolean;
|
|
14
|
+
controlStrength?: number;
|
|
15
|
+
/**
|
|
16
|
+
* 0 = "Balanced": (default) balanced, no preference between prompt and control model
|
|
17
|
+
* 1 = "My prompt is more important": the prompt has more impact than the model
|
|
18
|
+
* 2 = "ControlNet is more important": the controlnet model has more impact than the prompt
|
|
19
|
+
*/
|
|
20
|
+
controlMode?: 0 | 1 | 2;
|
|
21
|
+
controlGuidanceStart?: number;
|
|
22
|
+
controlGuidanceEnd?: number;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* ControlNet mode
|
|
26
|
+
* @inline
|
|
27
|
+
*/
|
|
28
|
+
export type ControlNetMode = 'balanced' | 'prompt_priority' | 'cn_priority';
|
|
29
|
+
/**
|
|
30
|
+
* ControlNet parameters
|
|
31
|
+
*/
|
|
32
|
+
export interface ControlNetParams {
|
|
33
|
+
/**
|
|
34
|
+
* Short name of the ControlNet model
|
|
35
|
+
*/
|
|
36
|
+
name: ControlNetName;
|
|
37
|
+
/**
|
|
38
|
+
* ControlNet input image
|
|
39
|
+
*/
|
|
40
|
+
image?: File | Buffer | Blob;
|
|
41
|
+
/**
|
|
42
|
+
* ControlNet strength 0 to 1. 0 full control to prompt, 1 full control to ControlNet
|
|
43
|
+
*/
|
|
44
|
+
strength?: number;
|
|
45
|
+
/**
|
|
46
|
+
* How control and prompt should be weighted
|
|
47
|
+
* 'balanced' (default) balanced, no preference between prompt and control model
|
|
48
|
+
* 'prompt_priority' the prompt has more impact than the model
|
|
49
|
+
* 'cn_priority' the controlnet model has more impact than the prompt
|
|
50
|
+
*/
|
|
51
|
+
mode?: ControlNetMode;
|
|
52
|
+
/**
|
|
53
|
+
* Step when ControlNet first applied, 0 means first step, 1 means last step.
|
|
54
|
+
* Must be less than guidanceEnd
|
|
55
|
+
*/
|
|
56
|
+
guidanceStart?: number;
|
|
57
|
+
/**
|
|
58
|
+
* Step when ControlNet last applied, 0 means first step, 1 means last step.
|
|
59
|
+
* Must be greater than guidanceStart
|
|
60
|
+
*/
|
|
61
|
+
guidanceEnd?: number;
|
|
62
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ControlNetParams.js","sourceRoot":"","sources":["../../../src/Projects/types/ControlNetParams.ts"],"names":[],"mappings":""}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SupernetType } from '../../ApiClient/WebSocketClient/types';
|
|
2
|
+
import { ControlNetParams } from './ControlNetParams';
|
|
2
3
|
export interface SupportedModel {
|
|
3
4
|
id: string;
|
|
4
5
|
name: string;
|
|
@@ -124,6 +125,10 @@ export interface ProjectParams {
|
|
|
124
125
|
* Output image height. Only used if `sizePreset` is "custom"
|
|
125
126
|
*/
|
|
126
127
|
height?: number;
|
|
128
|
+
/**
|
|
129
|
+
* ControlNet model parameters
|
|
130
|
+
*/
|
|
131
|
+
controlNet?: ControlNetParams;
|
|
127
132
|
}
|
|
128
133
|
export type ImageUrlParams = {
|
|
129
134
|
imageId: string;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare function validateCustomImageSize(value: any): number;
|
|
2
|
+
interface NumberValidationOptions {
|
|
3
|
+
min?: number;
|
|
4
|
+
max?: number;
|
|
5
|
+
propertyName?: string;
|
|
6
|
+
defaultValue?: number;
|
|
7
|
+
}
|
|
8
|
+
export declare function validateNumber(value: any, { min, max, propertyName, defaultValue }?: NumberValidationOptions): number;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateCustomImageSize = validateCustomImageSize;
|
|
4
|
+
exports.validateNumber = validateNumber;
|
|
5
|
+
function validateCustomImageSize(value) {
|
|
6
|
+
return validateNumber(value, { min: 256, max: 2048, propertyName: 'Width and height' });
|
|
7
|
+
}
|
|
8
|
+
function validateNumber(value, { min, max, propertyName, defaultValue } = {}) {
|
|
9
|
+
const number = Number(value);
|
|
10
|
+
const hasDefaultValue = defaultValue !== undefined;
|
|
11
|
+
if (propertyName) {
|
|
12
|
+
propertyName = 'Value';
|
|
13
|
+
}
|
|
14
|
+
if (isNaN(number)) {
|
|
15
|
+
if (hasDefaultValue) {
|
|
16
|
+
return defaultValue;
|
|
17
|
+
}
|
|
18
|
+
throw new Error(`${propertyName} must be a number, got ${value}`);
|
|
19
|
+
}
|
|
20
|
+
if (min !== undefined && number < min) {
|
|
21
|
+
if (hasDefaultValue) {
|
|
22
|
+
return defaultValue;
|
|
23
|
+
}
|
|
24
|
+
throw new Error(`${propertyName} must greater or equal ${min}, got ${number}`);
|
|
25
|
+
}
|
|
26
|
+
if (max !== undefined && number > max) {
|
|
27
|
+
if (hasDefaultValue) {
|
|
28
|
+
return defaultValue;
|
|
29
|
+
}
|
|
30
|
+
throw new Error(`${propertyName} must be less or equal ${max}, got ${number}`);
|
|
31
|
+
}
|
|
32
|
+
return number;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/lib/validation.ts"],"names":[],"mappings":";;AAAA,0DAEC;AASD,wCA4BC;AAvCD,SAAgB,uBAAuB,CAAC,KAAU;IAChD,OAAO,cAAc,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAC,CAAC;AAC1F,CAAC;AASD,SAAgB,cAAc,CAC5B,KAAU,EACV,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,YAAY,KAA8B,EAAE;IAEtE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,MAAM,eAAe,GAAG,YAAY,KAAK,SAAS,CAAC;IACnD,IAAI,YAAY,EAAE,CAAC;QACjB,YAAY,GAAG,OAAO,CAAC;IACzB,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAClB,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,0BAA0B,KAAK,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,GAAG,KAAK,SAAS,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;QACtC,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,0BAA0B,GAAG,SAAS,MAAM,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,GAAG,KAAK,SAAS,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;QACtC,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,0BAA0B,GAAG,SAAS,MAAM,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { ProjectParams } from './types';
|
|
2
|
+
import { ControlNetParams, ControlNetParamsRaw } from './types/ControlNetParams';
|
|
3
|
+
import { validateNumber, validateCustomImageSize } from '../lib/validation';
|
|
2
4
|
// Mac worker can't process the data if some of the fields are missing, so we need to provide a default template
|
|
3
5
|
function getTemplate() {
|
|
4
6
|
return {
|
|
@@ -65,12 +67,49 @@ function getTemplate() {
|
|
|
65
67
|
};
|
|
66
68
|
}
|
|
67
69
|
|
|
68
|
-
function
|
|
69
|
-
const
|
|
70
|
-
|
|
71
|
-
|
|
70
|
+
function getControlNet(params: ControlNetParams): ControlNetParamsRaw[] {
|
|
71
|
+
const cn: ControlNetParamsRaw = {
|
|
72
|
+
name: params.name,
|
|
73
|
+
cnImageState: 'original',
|
|
74
|
+
hasImage: !!params.image
|
|
75
|
+
};
|
|
76
|
+
if (params.strength !== undefined) {
|
|
77
|
+
cn.controlStrength = validateNumber(params.strength, {
|
|
78
|
+
min: 0,
|
|
79
|
+
max: 1,
|
|
80
|
+
propertyName: 'strength'
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
if (params.mode) {
|
|
84
|
+
switch (params.mode) {
|
|
85
|
+
case 'balanced':
|
|
86
|
+
cn.controlMode = 0;
|
|
87
|
+
break;
|
|
88
|
+
case 'prompt_priority':
|
|
89
|
+
cn.controlMode = 1;
|
|
90
|
+
break;
|
|
91
|
+
case 'cn_priority':
|
|
92
|
+
cn.controlMode = 2;
|
|
93
|
+
break;
|
|
94
|
+
default:
|
|
95
|
+
throw new Error(`Invalid control mode ${params.mode}`);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
if (params.guidanceStart !== undefined) {
|
|
99
|
+
cn.controlGuidanceStart = validateNumber(params.guidanceStart, {
|
|
100
|
+
min: 0,
|
|
101
|
+
max: 1,
|
|
102
|
+
propertyName: 'guidanceStart'
|
|
103
|
+
});
|
|
72
104
|
}
|
|
73
|
-
|
|
105
|
+
if (params.guidanceEnd !== undefined) {
|
|
106
|
+
cn.controlGuidanceEnd = validateNumber(params.guidanceEnd, {
|
|
107
|
+
min: 0,
|
|
108
|
+
max: 1,
|
|
109
|
+
propertyName: 'guidanceEnd'
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
return [cn];
|
|
74
113
|
}
|
|
75
114
|
|
|
76
115
|
function createJobRequestMessage(id: string, params: ProjectParams) {
|
|
@@ -104,9 +143,12 @@ function createJobRequestMessage(id: string, params: ProjectParams) {
|
|
|
104
143
|
if (params.network) {
|
|
105
144
|
jobRequest.network = params.network;
|
|
106
145
|
}
|
|
146
|
+
if (params.controlNet) {
|
|
147
|
+
jobRequest.keyFrames[0].currentControlNetsJob = getControlNet(params.controlNet);
|
|
148
|
+
}
|
|
107
149
|
if (params.sizePreset === 'custom') {
|
|
108
|
-
jobRequest.keyFrames[0].width =
|
|
109
|
-
jobRequest.keyFrames[0].height =
|
|
150
|
+
jobRequest.keyFrames[0].width = validateCustomImageSize(params.width);
|
|
151
|
+
jobRequest.keyFrames[0].height = validateCustomImageSize(params.height);
|
|
110
152
|
}
|
|
111
153
|
return jobRequest;
|
|
112
154
|
}
|
package/src/Projects/index.ts
CHANGED
|
@@ -340,6 +340,9 @@ class ProjectsApi extends ApiGroup<ProjectApiEvents> {
|
|
|
340
340
|
if (data.startingImage) {
|
|
341
341
|
await this.uploadGuideImage(project.id, data.startingImage);
|
|
342
342
|
}
|
|
343
|
+
if (data.controlNet?.image) {
|
|
344
|
+
await this.uploadCNImage(project.id, data.controlNet.image);
|
|
345
|
+
}
|
|
343
346
|
const request = createJobRequestMessage(project.id, data);
|
|
344
347
|
await this.client.socket.send('jobRequest', request);
|
|
345
348
|
this.projects.push(project);
|
|
@@ -412,6 +415,27 @@ class ProjectsApi extends ApiGroup<ProjectApiEvents> {
|
|
|
412
415
|
return imageId;
|
|
413
416
|
}
|
|
414
417
|
|
|
418
|
+
private async uploadCNImage(projectId: string, file: File | Buffer | Blob) {
|
|
419
|
+
const imageId = getUUID();
|
|
420
|
+
const presignedUrl = await this.uploadUrl({
|
|
421
|
+
imageId: imageId,
|
|
422
|
+
jobId: projectId,
|
|
423
|
+
type: 'cnImage'
|
|
424
|
+
});
|
|
425
|
+
const res = await fetch(presignedUrl, {
|
|
426
|
+
method: 'PUT',
|
|
427
|
+
body: file
|
|
428
|
+
});
|
|
429
|
+
if (!res.ok) {
|
|
430
|
+
throw new ApiError(res.status, {
|
|
431
|
+
status: 'error',
|
|
432
|
+
errorCode: 0,
|
|
433
|
+
message: 'Failed to upload ControlNet image'
|
|
434
|
+
});
|
|
435
|
+
}
|
|
436
|
+
return imageId;
|
|
437
|
+
}
|
|
438
|
+
|
|
415
439
|
/**
|
|
416
440
|
* Estimate project cost
|
|
417
441
|
*/
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ControlNet model names
|
|
3
|
+
* @inline
|
|
4
|
+
*/
|
|
5
|
+
export type ControlNetName =
|
|
6
|
+
| 'canny'
|
|
7
|
+
| 'depth'
|
|
8
|
+
| 'inpaint'
|
|
9
|
+
| 'instrp2p'
|
|
10
|
+
| 'lineart'
|
|
11
|
+
| 'lineartanime'
|
|
12
|
+
| 'mlsd'
|
|
13
|
+
| 'normalbae'
|
|
14
|
+
| 'openpose'
|
|
15
|
+
| 'scribble'
|
|
16
|
+
| 'segmentation'
|
|
17
|
+
| 'shuffle'
|
|
18
|
+
| 'softedge'
|
|
19
|
+
| 'tile';
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Raw ControlNet parameters passed to the API
|
|
23
|
+
*/
|
|
24
|
+
export interface ControlNetParamsRaw {
|
|
25
|
+
name: ControlNetName;
|
|
26
|
+
mlmodelc?: string;
|
|
27
|
+
cnImageState: 'original';
|
|
28
|
+
hasImage: boolean;
|
|
29
|
+
controlStrength?: number;
|
|
30
|
+
/**
|
|
31
|
+
* 0 = "Balanced": (default) balanced, no preference between prompt and control model
|
|
32
|
+
* 1 = "My prompt is more important": the prompt has more impact than the model
|
|
33
|
+
* 2 = "ControlNet is more important": the controlnet model has more impact than the prompt
|
|
34
|
+
*/
|
|
35
|
+
controlMode?: 0 | 1 | 2;
|
|
36
|
+
controlGuidanceStart?: number;
|
|
37
|
+
controlGuidanceEnd?: number;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* ControlNet mode
|
|
42
|
+
* @inline
|
|
43
|
+
*/
|
|
44
|
+
export type ControlNetMode = 'balanced' | 'prompt_priority' | 'cn_priority';
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* ControlNet parameters
|
|
48
|
+
*/
|
|
49
|
+
export interface ControlNetParams {
|
|
50
|
+
/**
|
|
51
|
+
* Short name of the ControlNet model
|
|
52
|
+
*/
|
|
53
|
+
name: ControlNetName;
|
|
54
|
+
/**
|
|
55
|
+
* ControlNet input image
|
|
56
|
+
*/
|
|
57
|
+
image?: File | Buffer | Blob;
|
|
58
|
+
/**
|
|
59
|
+
* ControlNet strength 0 to 1. 0 full control to prompt, 1 full control to ControlNet
|
|
60
|
+
*/
|
|
61
|
+
strength?: number;
|
|
62
|
+
/**
|
|
63
|
+
* How control and prompt should be weighted
|
|
64
|
+
* 'balanced' (default) balanced, no preference between prompt and control model
|
|
65
|
+
* 'prompt_priority' the prompt has more impact than the model
|
|
66
|
+
* 'cn_priority' the controlnet model has more impact than the prompt
|
|
67
|
+
*/
|
|
68
|
+
mode?: ControlNetMode;
|
|
69
|
+
/**
|
|
70
|
+
* Step when ControlNet first applied, 0 means first step, 1 means last step.
|
|
71
|
+
* Must be less than guidanceEnd
|
|
72
|
+
*/
|
|
73
|
+
guidanceStart?: number;
|
|
74
|
+
/**
|
|
75
|
+
* Step when ControlNet last applied, 0 means first step, 1 means last step.
|
|
76
|
+
* Must be greater than guidanceStart
|
|
77
|
+
*/
|
|
78
|
+
guidanceEnd?: number;
|
|
79
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SupernetType } from '../../ApiClient/WebSocketClient/types';
|
|
2
|
+
import { ControlNetParams } from './ControlNetParams';
|
|
2
3
|
|
|
3
4
|
export interface SupportedModel {
|
|
4
5
|
id: string;
|
|
@@ -136,6 +137,10 @@ export interface ProjectParams {
|
|
|
136
137
|
* Output image height. Only used if `sizePreset` is "custom"
|
|
137
138
|
*/
|
|
138
139
|
height?: number;
|
|
140
|
+
/**
|
|
141
|
+
* ControlNet model parameters
|
|
142
|
+
*/
|
|
143
|
+
controlNet?: ControlNetParams;
|
|
139
144
|
}
|
|
140
145
|
|
|
141
146
|
export type ImageUrlParams = {
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export function validateCustomImageSize(value: any): number {
|
|
2
|
+
return validateNumber(value, { min: 256, max: 2048, propertyName: 'Width and height' });
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
interface NumberValidationOptions {
|
|
6
|
+
min?: number;
|
|
7
|
+
max?: number;
|
|
8
|
+
propertyName?: string;
|
|
9
|
+
defaultValue?: number;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export function validateNumber(
|
|
13
|
+
value: any,
|
|
14
|
+
{ min, max, propertyName, defaultValue }: NumberValidationOptions = {}
|
|
15
|
+
): number {
|
|
16
|
+
const number = Number(value);
|
|
17
|
+
const hasDefaultValue = defaultValue !== undefined;
|
|
18
|
+
if (propertyName) {
|
|
19
|
+
propertyName = 'Value';
|
|
20
|
+
}
|
|
21
|
+
if (isNaN(number)) {
|
|
22
|
+
if (hasDefaultValue) {
|
|
23
|
+
return defaultValue;
|
|
24
|
+
}
|
|
25
|
+
throw new Error(`${propertyName} must be a number, got ${value}`);
|
|
26
|
+
}
|
|
27
|
+
if (min !== undefined && number < min) {
|
|
28
|
+
if (hasDefaultValue) {
|
|
29
|
+
return defaultValue;
|
|
30
|
+
}
|
|
31
|
+
throw new Error(`${propertyName} must greater or equal ${min}, got ${number}`);
|
|
32
|
+
}
|
|
33
|
+
if (max !== undefined && number > max) {
|
|
34
|
+
if (hasDefaultValue) {
|
|
35
|
+
return defaultValue;
|
|
36
|
+
}
|
|
37
|
+
throw new Error(`${propertyName} must be less or equal ${max}, got ${number}`);
|
|
38
|
+
}
|
|
39
|
+
return number;
|
|
40
|
+
}
|