n8n 1.99.1 → 1.100.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build.tsbuildinfo +1 -1
- package/dist/commands/base-command.d.ts +1 -3
- package/dist/commands/base-command.js +3 -15
- package/dist/commands/base-command.js.map +1 -1
- package/dist/commands/import/credentials.js.map +1 -1
- package/dist/controllers/project.controller.js +1 -1
- package/dist/controllers/project.controller.js.map +1 -1
- package/dist/controllers/users.controller.d.ts +40 -4
- package/dist/controllers/users.controller.js +27 -17
- package/dist/controllers/users.controller.js.map +1 -1
- package/dist/credentials/credentials.service.js.map +1 -1
- package/dist/credentials-helper.js.map +1 -1
- package/dist/databases/db-connection-options.d.ts +1 -1
- package/dist/databases/db-connection-options.js +2 -2
- package/dist/databases/db-connection-options.js.map +1 -1
- package/dist/environments.ee/source-control/source-control-export.service.ee.js +6 -2
- package/dist/environments.ee/source-control/source-control-export.service.ee.js.map +1 -1
- package/dist/environments.ee/source-control/source-control-import.service.ee.d.ts +3 -7
- package/dist/environments.ee/source-control/source-control-import.service.ee.js +110 -25
- package/dist/environments.ee/source-control/source-control-import.service.ee.js.map +1 -1
- package/dist/environments.ee/source-control/source-control-scoped.service.d.ts +1 -1
- package/dist/environments.ee/source-control/source-control-scoped.service.js +11 -2
- package/dist/environments.ee/source-control/source-control-scoped.service.js.map +1 -1
- package/dist/environments.ee/source-control/source-control.controller.ee.d.ts +55 -10
- package/dist/environments.ee/source-control/source-control.controller.ee.js +1 -1
- package/dist/environments.ee/source-control/source-control.controller.ee.js.map +1 -1
- package/dist/environments.ee/source-control/source-control.service.ee.d.ts +14 -10
- package/dist/environments.ee/source-control/source-control.service.ee.js +9 -2
- package/dist/environments.ee/source-control/source-control.service.ee.js.map +1 -1
- package/dist/environments.ee/source-control/types/exportable-credential.d.ts +6 -2
- package/dist/environments.ee/source-control/types/exportable-workflow.d.ts +2 -2
- package/dist/environments.ee/source-control/types/resource-owner.d.ts +8 -1
- package/dist/environments.ee/source-control/types/source-control-workflow-version-id.d.ts +2 -0
- package/dist/eventbus/event-message-classes/event-message-queue.d.ts +21 -0
- package/dist/eventbus/event-message-classes/event-message-queue.js +29 -0
- package/dist/eventbus/event-message-classes/event-message-queue.js.map +1 -0
- package/dist/eventbus/event-message-classes/index.d.ts +6 -3
- package/dist/eventbus/event-message-classes/index.js +9 -1
- package/dist/eventbus/event-message-classes/index.js.map +1 -1
- package/dist/eventbus/message-event-bus/message-event-bus.d.ts +2 -0
- package/dist/eventbus/message-event-bus/message-event-bus.js +4 -0
- package/dist/eventbus/message-event-bus/message-event-bus.js.map +1 -1
- package/dist/events/maps/relay.event-map.d.ts +18 -0
- package/dist/events/relays/log-streaming.event-relay.d.ts +6 -1
- package/dist/events/relays/log-streaming.event-relay.js +50 -3
- package/dist/events/relays/log-streaming.event-relay.js.map +1 -1
- package/dist/events/relays/telemetry.event-relay.js +1 -0
- package/dist/events/relays/telemetry.event-relay.js.map +1 -1
- package/dist/execution-lifecycle/execution-lifecycle-hooks.js +75 -4
- package/dist/execution-lifecycle/execution-lifecycle-hooks.js.map +1 -1
- package/dist/manual-execution.service.js +6 -1
- package/dist/manual-execution.service.js.map +1 -1
- package/dist/modules/external-secrets.ee/external-secrets.module.js +1 -1
- package/dist/modules/external-secrets.ee/external-secrets.module.js.map +1 -1
- package/dist/modules/insights/insights.constants.d.ts +2 -0
- package/dist/modules/insights/insights.constants.js +22 -0
- package/dist/modules/insights/insights.constants.js.map +1 -0
- package/dist/modules/insights/insights.controller.d.ts +5 -0
- package/dist/modules/insights/insights.controller.js +11 -3
- package/dist/modules/insights/insights.controller.js.map +1 -1
- package/dist/modules/insights/insights.module.d.ts +9 -0
- package/dist/modules/insights/insights.module.js +5 -1
- package/dist/modules/insights/insights.module.js.map +1 -1
- package/dist/modules/insights/insights.service.d.ts +12 -0
- package/dist/modules/insights/insights.service.js +21 -3
- package/dist/modules/insights/insights.service.js.map +1 -1
- package/dist/public-api/v1/handlers/workflows/workflows.service.js.map +1 -1
- package/dist/scaling/scaling.service.js +12 -0
- package/dist/scaling/scaling.service.js.map +1 -1
- package/dist/scaling/scaling.types.d.ts +1 -0
- package/dist/server.js +1 -0
- package/dist/server.js.map +1 -1
- package/dist/services/frontend.service.d.ts +6 -4
- package/dist/services/frontend.service.js +8 -18
- package/dist/services/frontend.service.js.map +1 -1
- package/dist/services/import.service.js.map +1 -1
- package/dist/services/project.service.ee.js.map +1 -1
- package/dist/services/public-api-key.service.js.map +1 -1
- package/dist/webhooks/webhook.service.d.ts +1 -0
- package/dist/webhooks/webhook.service.js +8 -1
- package/dist/webhooks/webhook.service.js.map +1 -1
- package/dist/workflow-runner.d.ts +3 -1
- package/dist/workflow-runner.js +15 -4
- package/dist/workflow-runner.js.map +1 -1
- package/dist/workflows/workflow.service.ee.js.map +1 -1
- package/dist/workflows/workflows.controller.js.map +1 -1
- package/package.json +17 -17
- package/dist/modules/insights/insights-helpers.d.ts +0 -4
- package/dist/modules/insights/insights-helpers.js +0 -26
- package/dist/modules/insights/insights-helpers.js.map +0 -1
- package/dist/modules/module-registry.d.ts +0 -15
- package/dist/modules/module-registry.js +0 -103
- package/dist/modules/module-registry.js.map +0 -1
- package/dist/modules/modules.config.d.ts +0 -22
- package/dist/modules/modules.config.js +0 -56
- package/dist/modules/modules.config.js.map +0 -1
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.ModuleRegistry = void 0;
|
|
13
|
-
const backend_common_1 = require("@n8n/backend-common");
|
|
14
|
-
const decorators_1 = require("@n8n/decorators");
|
|
15
|
-
const di_1 = require("@n8n/di");
|
|
16
|
-
let ModuleRegistry = class ModuleRegistry {
|
|
17
|
-
constructor(moduleMetadata, lifecycleMetadata, licenseState, logger) {
|
|
18
|
-
this.moduleMetadata = moduleMetadata;
|
|
19
|
-
this.lifecycleMetadata = lifecycleMetadata;
|
|
20
|
-
this.licenseState = licenseState;
|
|
21
|
-
this.logger = logger;
|
|
22
|
-
this.entities = [];
|
|
23
|
-
}
|
|
24
|
-
async initModules() {
|
|
25
|
-
for (const { class: ModuleClass, licenseFlag } of this.moduleMetadata.getEntries()) {
|
|
26
|
-
if (licenseFlag && !this.licenseState.isLicensed(licenseFlag)) {
|
|
27
|
-
this.logger.debug(`Skipped init for unlicensed module "${ModuleClass.name}"`);
|
|
28
|
-
continue;
|
|
29
|
-
}
|
|
30
|
-
await di_1.Container.get(ModuleClass).init?.();
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
addEntities() {
|
|
34
|
-
for (const { class: ModuleClass } of this.moduleMetadata.getEntries()) {
|
|
35
|
-
const entities = di_1.Container.get(ModuleClass).entities?.();
|
|
36
|
-
if (!entities || entities.length === 0)
|
|
37
|
-
continue;
|
|
38
|
-
this.entities.push(...entities);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
registerLifecycleHooks(hooks) {
|
|
42
|
-
const handlers = this.lifecycleMetadata.getHandlers();
|
|
43
|
-
for (const { handlerClass, methodName, eventName } of handlers) {
|
|
44
|
-
const instance = di_1.Container.get(handlerClass);
|
|
45
|
-
switch (eventName) {
|
|
46
|
-
case 'workflowExecuteAfter':
|
|
47
|
-
hooks.addHandler(eventName, async function (runData, newStaticData) {
|
|
48
|
-
const context = {
|
|
49
|
-
type: 'workflowExecuteAfter',
|
|
50
|
-
workflow: this.workflowData,
|
|
51
|
-
runData,
|
|
52
|
-
newStaticData,
|
|
53
|
-
};
|
|
54
|
-
return await instance[methodName].call(instance, context);
|
|
55
|
-
});
|
|
56
|
-
break;
|
|
57
|
-
case 'nodeExecuteBefore':
|
|
58
|
-
hooks.addHandler(eventName, async function (nodeName, taskData) {
|
|
59
|
-
const context = {
|
|
60
|
-
type: 'nodeExecuteBefore',
|
|
61
|
-
workflow: this.workflowData,
|
|
62
|
-
nodeName,
|
|
63
|
-
taskData,
|
|
64
|
-
};
|
|
65
|
-
return await instance[methodName].call(instance, context);
|
|
66
|
-
});
|
|
67
|
-
break;
|
|
68
|
-
case 'nodeExecuteAfter':
|
|
69
|
-
hooks.addHandler(eventName, async function (nodeName, taskData, executionData) {
|
|
70
|
-
const context = {
|
|
71
|
-
type: 'nodeExecuteAfter',
|
|
72
|
-
workflow: this.workflowData,
|
|
73
|
-
nodeName,
|
|
74
|
-
taskData,
|
|
75
|
-
executionData,
|
|
76
|
-
};
|
|
77
|
-
return await instance[methodName].call(instance, context);
|
|
78
|
-
});
|
|
79
|
-
break;
|
|
80
|
-
case 'workflowExecuteBefore':
|
|
81
|
-
hooks.addHandler(eventName, async function (workflowInstance, executionData) {
|
|
82
|
-
const context = {
|
|
83
|
-
type: 'workflowExecuteBefore',
|
|
84
|
-
workflow: this.workflowData,
|
|
85
|
-
workflowInstance,
|
|
86
|
-
executionData,
|
|
87
|
-
};
|
|
88
|
-
return await instance[methodName].call(instance, context);
|
|
89
|
-
});
|
|
90
|
-
break;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
};
|
|
95
|
-
exports.ModuleRegistry = ModuleRegistry;
|
|
96
|
-
exports.ModuleRegistry = ModuleRegistry = __decorate([
|
|
97
|
-
(0, di_1.Service)(),
|
|
98
|
-
__metadata("design:paramtypes", [decorators_1.ModuleMetadata,
|
|
99
|
-
decorators_1.LifecycleMetadata,
|
|
100
|
-
backend_common_1.LicenseState,
|
|
101
|
-
backend_common_1.Logger])
|
|
102
|
-
], ModuleRegistry);
|
|
103
|
-
//# sourceMappingURL=module-registry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"module-registry.js","sourceRoot":"","sources":["../../src/modules/module-registry.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wDAA2D;AAC3D,gDAAoE;AAEpE,gCAA6C;AAatC,IAAM,cAAc,GAApB,MAAM,cAAc;IAG1B,YACkB,cAA8B,EAC9B,iBAAoC,EACpC,YAA0B,EAC1B,MAAc;QAHd,mBAAc,GAAd,cAAc,CAAgB;QAC9B,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,iBAAY,GAAZ,YAAY,CAAc;QAC1B,WAAM,GAAN,MAAM,CAAQ;QANvB,aAAQ,GAAkB,EAAE,CAAC;IAOnC,CAAC;IAEJ,KAAK,CAAC,WAAW;QAChB,KAAK,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,EAAE,CAAC;YACpF,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC;gBAC9E,SAAS;YACV,CAAC;YACD,MAAM,cAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC3C,CAAC;IACF,CAAC;IAED,WAAW;QACV,KAAK,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,EAAE,CAAC;YACvE,MAAM,QAAQ,GAAG,cAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;YAEzD,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAEjD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QACjC,CAAC;IACF,CAAC;IAED,sBAAsB,CAAC,KAA8B;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;QAEtD,KAAK,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,QAAQ,EAAE,CAAC;YAChE,MAAM,QAAQ,GAAG,cAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAE7C,QAAQ,SAAS,EAAE,CAAC;gBACnB,KAAK,sBAAsB;oBAC1B,KAAK,CAAC,UAAU,CACf,SAAS,EACT,KAAK,WAEJ,OAAa,EACb,aAA0B;wBAE1B,MAAM,OAAO,GAAqB;4BACjC,IAAI,EAAE,sBAAsB;4BAC5B,QAAQ,EAAE,IAAI,CAAC,YAAY;4BAC3B,OAAO;4BACP,aAAa;yBACb,CAAC;wBAEF,OAAO,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBAC3D,CAAC,CACD,CAAC;oBACF,MAAM;gBAEP,KAAK,mBAAmB;oBACvB,KAAK,CAAC,UAAU,CACf,SAAS,EACT,KAAK,WAEJ,QAAgB,EAChB,QAA0B;wBAE1B,MAAM,OAAO,GAAqB;4BACjC,IAAI,EAAE,mBAAmB;4BACzB,QAAQ,EAAE,IAAI,CAAC,YAAY;4BAC3B,QAAQ;4BACR,QAAQ;yBACR,CAAC;wBAGF,OAAO,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBAC3D,CAAC,CACD,CAAC;oBACF,MAAM;gBAEP,KAAK,kBAAkB;oBACtB,KAAK,CAAC,UAAU,CACf,SAAS,EACT,KAAK,WAEJ,QAAgB,EAChB,QAAmB,EACnB,aAAgC;wBAEhC,MAAM,OAAO,GAAqB;4BACjC,IAAI,EAAE,kBAAkB;4BACxB,QAAQ,EAAE,IAAI,CAAC,YAAY;4BAC3B,QAAQ;4BACR,QAAQ;4BACR,aAAa;yBACb,CAAC;wBAGF,OAAO,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBAC3D,CAAC,CACD,CAAC;oBACF,MAAM;gBAEP,KAAK,uBAAuB;oBAC3B,KAAK,CAAC,UAAU,CACf,SAAS,EACT,KAAK,WAEJ,gBAA0B,EAC1B,aAAiC;wBAEjC,MAAM,OAAO,GAAqB;4BACjC,IAAI,EAAE,uBAAuB;4BAC7B,QAAQ,EAAE,IAAI,CAAC,YAAY;4BAC3B,gBAAgB;4BAChB,aAAa;yBACb,CAAC;wBAGF,OAAO,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBAC3D,CAAC,CACD,CAAC;oBACF,MAAM;YACR,CAAC;QACF,CAAC;IACF,CAAC;CACD,CAAA;AA5HY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,YAAO,GAAE;qCAKyB,2BAAc;QACX,8BAAiB;QACtB,6BAAY;QAClB,uBAAM;GAPpB,cAAc,CA4H1B"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { CommaSeparatedStringArray } from '@n8n/config';
|
|
2
|
-
import type { InstanceSettings } from 'n8n-core';
|
|
3
|
-
export type ModulePreInitContext = {
|
|
4
|
-
instance: InstanceSettings;
|
|
5
|
-
};
|
|
6
|
-
export type ModulePreInit = {
|
|
7
|
-
shouldLoadModule: (ctx: ModulePreInitContext) => boolean;
|
|
8
|
-
};
|
|
9
|
-
declare const moduleNames: readonly ["insights", "external-secrets"];
|
|
10
|
-
export type ModuleName = (typeof moduleNames)[number];
|
|
11
|
-
declare class Modules extends CommaSeparatedStringArray<ModuleName> {
|
|
12
|
-
constructor(str: string);
|
|
13
|
-
}
|
|
14
|
-
export declare class ModulesConfig {
|
|
15
|
-
enabledModules: Modules;
|
|
16
|
-
disabledModules: Modules;
|
|
17
|
-
private readonly defaultModules;
|
|
18
|
-
readonly loadedModules: Set<"insights" | "external-secrets">;
|
|
19
|
-
get modules(): ModuleName[];
|
|
20
|
-
addLoadedModule(module: ModuleName): void;
|
|
21
|
-
}
|
|
22
|
-
export {};
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.ModulesConfig = void 0;
|
|
13
|
-
const config_1 = require("@n8n/config");
|
|
14
|
-
const n8n_workflow_1 = require("n8n-workflow");
|
|
15
|
-
const moduleNames = ['insights', 'external-secrets'];
|
|
16
|
-
class Modules extends config_1.CommaSeparatedStringArray {
|
|
17
|
-
constructor(str) {
|
|
18
|
-
super(str);
|
|
19
|
-
for (const moduleName of this) {
|
|
20
|
-
if (!moduleNames.includes(moduleName)) {
|
|
21
|
-
throw new n8n_workflow_1.UnexpectedError(`Unknown module name ${moduleName}`, { level: 'fatal' });
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
let ModulesConfig = class ModulesConfig {
|
|
27
|
-
constructor() {
|
|
28
|
-
this.enabledModules = [];
|
|
29
|
-
this.disabledModules = [];
|
|
30
|
-
this.defaultModules = ['insights', 'external-secrets'];
|
|
31
|
-
this.loadedModules = new Set();
|
|
32
|
-
}
|
|
33
|
-
get modules() {
|
|
34
|
-
if (this.enabledModules.some((module) => this.disabledModules.includes(module))) {
|
|
35
|
-
throw new n8n_workflow_1.UnexpectedError('Module cannot be both enabled and disabled', { level: 'fatal' });
|
|
36
|
-
}
|
|
37
|
-
const enabledModules = Array.from(new Set(this.defaultModules.concat(this.enabledModules)));
|
|
38
|
-
return enabledModules.filter((module) => !this.disabledModules.includes(module));
|
|
39
|
-
}
|
|
40
|
-
addLoadedModule(module) {
|
|
41
|
-
this.loadedModules.add(module);
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
exports.ModulesConfig = ModulesConfig;
|
|
45
|
-
__decorate([
|
|
46
|
-
(0, config_1.Env)('N8N_ENABLED_MODULES'),
|
|
47
|
-
__metadata("design:type", Modules)
|
|
48
|
-
], ModulesConfig.prototype, "enabledModules", void 0);
|
|
49
|
-
__decorate([
|
|
50
|
-
(0, config_1.Env)('N8N_DISABLED_MODULES'),
|
|
51
|
-
__metadata("design:type", Modules)
|
|
52
|
-
], ModulesConfig.prototype, "disabledModules", void 0);
|
|
53
|
-
exports.ModulesConfig = ModulesConfig = __decorate([
|
|
54
|
-
config_1.Config
|
|
55
|
-
], ModulesConfig);
|
|
56
|
-
//# sourceMappingURL=modules.config.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"modules.config.js","sourceRoot":"","sources":["../../src/modules/modules.config.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wCAAqE;AAErE,+CAA+C;AAU/C,MAAM,WAAW,GAAG,CAAC,UAAU,EAAE,kBAAkB,CAAU,CAAC;AAG9D,MAAM,OAAQ,SAAQ,kCAAqC;IAC1D,YAAY,GAAW;QACtB,KAAK,CAAC,GAAG,CAAC,CAAC;QAEX,KAAK,MAAM,UAAU,IAAI,IAAI,EAAE,CAAC;YAC/B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBACvC,MAAM,IAAI,8BAAe,CAAC,uBAAuB,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YACpF,CAAC;QACF,CAAC;IACF,CAAC;CACD;AAGM,IAAM,aAAa,GAAnB,MAAM,aAAa;IAAnB;QAGN,mBAAc,GAAY,EAAE,CAAC;QAI7B,oBAAe,GAAY,EAAE,CAAC;QAGb,mBAAc,GAAiB,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;QAGxE,kBAAa,GAAG,IAAI,GAAG,EAAc,CAAC;IAgBhD,CAAC;IAbA,IAAI,OAAO;QACV,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACjF,MAAM,IAAI,8BAAe,CAAC,4CAA4C,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7F,CAAC;QAED,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QAE5F,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,eAAe,CAAC,MAAkB;QACjC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;CACD,CAAA;AA7BY,sCAAa;AAGzB;IADC,IAAA,YAAG,EAAC,qBAAqB,CAAC;8BACX,OAAO;qDAAM;AAI7B;IADC,IAAA,YAAG,EAAC,sBAAsB,CAAC;8BACX,OAAO;sDAAM;wBAPlB,aAAa;IADzB,eAAM;GACM,aAAa,CA6BzB"}
|