n8n-nodes-base 0.212.1 → 0.213.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/nodes/ActiveCampaign/ActiveCampaign.node.js +1 -1
- package/dist/nodes/ActiveCampaign/ActiveCampaign.node.js.map +1 -1
- package/dist/nodes/Code/test/Code.node.test.d.ts +1 -0
- package/dist/nodes/Code/test/Code.node.test.js +6 -0
- package/dist/nodes/Code/test/Code.node.test.js.map +1 -0
- package/dist/nodes/Code/test/Code.workflow.json +116 -0
- package/dist/nodes/CompareDatasets/test/node/CompareDatasets.test.d.ts +1 -0
- package/dist/nodes/CompareDatasets/test/node/CompareDatasets.test.js +6 -0
- package/dist/nodes/CompareDatasets/test/node/CompareDatasets.test.js.map +1 -0
- package/dist/nodes/CompareDatasets/test/node/workflow.compareDatasets.fuzzy.json +1054 -0
- package/dist/nodes/CompareDatasets/test/node/workflow.compareDatasets.json +879 -0
- package/dist/nodes/Compression/test/node/Compression.test.d.ts +1 -0
- package/dist/nodes/Compression/test/node/Compression.test.js +67 -0
- package/dist/nodes/Compression/test/node/Compression.test.js.map +1 -0
- package/dist/nodes/Compression/test/node/workflow.compression.json +87 -0
- package/dist/nodes/Crypto/test/Crypto.test.d.ts +1 -0
- package/dist/nodes/Crypto/test/Crypto.test.js +6 -0
- package/dist/nodes/Crypto/test/Crypto.test.js.map +1 -0
- package/dist/nodes/Crypto/test/CryptoTest.workflow.json +238 -0
- package/dist/nodes/DateTime/test/node/DateTime.test.d.ts +1 -0
- package/dist/nodes/DateTime/test/node/DateTime.test.js +15 -0
- package/dist/nodes/DateTime/test/node/DateTime.test.js.map +1 -0
- package/dist/nodes/DateTime/test/node/DateTimeWorklfow.test.json +331 -0
- package/dist/nodes/EditImage/EditImage.node.js +4 -0
- package/dist/nodes/EditImage/EditImage.node.js.map +1 -1
- package/dist/nodes/ExecuteCommand/test/ExecuteCommand.node.test.d.ts +1 -0
- package/dist/nodes/ExecuteCommand/test/ExecuteCommand.node.test.js +6 -0
- package/dist/nodes/ExecuteCommand/test/ExecuteCommand.node.test.js.map +1 -0
- package/dist/nodes/ExecuteCommand/test/workflow.json +142 -0
- package/dist/nodes/Google/Sheet/v2/actions/sheet/commonDescription.js +8 -8
- package/dist/nodes/Google/Sheet/v2/actions/sheet/commonDescription.js.map +1 -1
- package/dist/nodes/HttpRequest/test/node/HttpRequest.test.d.ts +1 -0
- package/dist/nodes/HttpRequest/test/node/HttpRequest.test.js +114 -0
- package/dist/nodes/HttpRequest/test/node/HttpRequest.test.js.map +1 -0
- package/dist/nodes/HttpRequest/test/node/workflow.delete.json +60 -0
- package/dist/nodes/HttpRequest/test/node/workflow.get.json +144 -0
- package/dist/nodes/HttpRequest/test/node/workflow.patch.json +73 -0
- package/dist/nodes/HttpRequest/test/node/workflow.post.json +105 -0
- package/dist/nodes/HttpRequest/test/node/workflow.put.json +73 -0
- package/dist/nodes/Hubspot/HubspotTrigger.node.js +25 -0
- package/dist/nodes/Hubspot/HubspotTrigger.node.js.map +1 -1
- package/dist/nodes/ICalendar/test/node/ICalendar.test.d.ts +1 -0
- package/dist/nodes/ICalendar/test/node/ICalendar.test.js +54 -0
- package/dist/nodes/ICalendar/test/node/ICalendar.test.js.map +1 -0
- package/dist/nodes/ICalendar/test/node/workflow.iCalendar.json +59 -0
- package/dist/nodes/If/test/IF.boolean.json +306 -0
- package/dist/nodes/If/test/IF.date-time.json +221 -0
- package/dist/nodes/If/test/IF.number.json +616 -0
- package/dist/nodes/If/test/IF.string.json +976 -0
- package/dist/nodes/If/test/If.node.test.d.ts +1 -0
- package/dist/nodes/If/test/If.node.test.js +6 -0
- package/dist/nodes/If/test/If.node.test.js.map +1 -0
- package/dist/nodes/ItemLists/test/node/ItemLists.test.d.ts +1 -0
- package/dist/nodes/ItemLists/test/node/ItemLists.test.js +6 -0
- package/dist/nodes/ItemLists/test/node/ItemLists.test.js.map +1 -0
- package/dist/nodes/ItemLists/test/node/workflow.aggregateItems.json +223 -0
- package/dist/nodes/ItemLists/test/node/workflow.limit.json +97 -0
- package/dist/nodes/ItemLists/test/node/workflow.removeDuplicates.json +177 -0
- package/dist/nodes/ItemLists/test/node/workflow.sort.json +216 -0
- package/dist/nodes/ItemLists/test/node/workflow.splitOutItems.json +360 -0
- package/dist/nodes/ItemLists/test/node/workflow.summarize.json +299 -0
- package/dist/nodes/Linear/Linear.node.js +26 -0
- package/dist/nodes/Linear/Linear.node.js.map +1 -1
- package/dist/nodes/Linear/Queries.d.ts +1 -0
- package/dist/nodes/Linear/Queries.js +13 -4
- package/dist/nodes/Linear/Queries.js.map +1 -1
- package/dist/nodes/Markdown/test/node/Markdown.test.d.ts +1 -0
- package/dist/nodes/Markdown/test/node/Markdown.test.js +6 -0
- package/dist/nodes/Markdown/test/node/Markdown.test.js.map +1 -0
- package/dist/nodes/Markdown/test/node/workflow.markdown.json +181 -0
- package/dist/nodes/Merge/test/node/Merge.test.d.ts +1 -0
- package/dist/nodes/Merge/test/node/Merge.test.js +6 -0
- package/dist/nodes/Merge/test/node/Merge.test.js.map +1 -0
- package/dist/nodes/Merge/test/node/workflow.append.json +123 -0
- package/dist/nodes/Merge/test/node/workflow.chooseBranch.json +174 -0
- package/dist/nodes/Merge/test/node/workflow.combine.mergeByFields.json +486 -0
- package/dist/nodes/Merge/test/node/workflow.combine.mergeByPosition.json +219 -0
- package/dist/nodes/Merge/test/node/workflow.combine.multiplex.json +259 -0
- package/dist/nodes/MoveBinaryData/test/MoveBinaryData.test.d.ts +1 -0
- package/dist/nodes/MoveBinaryData/test/MoveBinaryData.test.js +146 -0
- package/dist/nodes/MoveBinaryData/test/MoveBinaryData.test.js.map +1 -0
- package/dist/nodes/MoveBinaryData/test/MoveBinaryData.workflow.json +171 -0
- package/dist/nodes/MoveBinaryData/test/data/sample.json +5 -0
- package/dist/nodes/ReadBinaryFile/test/ReadBinaryFile.test.d.ts +1 -0
- package/dist/nodes/ReadBinaryFile/test/ReadBinaryFile.test.js +79 -0
- package/dist/nodes/ReadBinaryFile/test/ReadBinaryFile.test.js.map +1 -0
- package/dist/nodes/ReadBinaryFile/test/ReadBinaryFile.workflow.json +51 -0
- package/dist/nodes/ReadPdf/test/ReadPDF.test.d.ts +1 -0
- package/dist/nodes/ReadPdf/test/ReadPDF.test.js +79 -0
- package/dist/nodes/ReadPdf/test/ReadPDF.test.js.map +1 -0
- package/dist/nodes/ReadPdf/test/ReadPDF.workflow.json +64 -0
- package/dist/nodes/RenameKeys/test/RenameKeys.test.d.ts +1 -0
- package/dist/nodes/RenameKeys/test/RenameKeys.test.js +6 -0
- package/dist/nodes/RenameKeys/test/RenameKeys.test.js.map +1 -0
- package/dist/nodes/RenameKeys/test/RenameKeys.workflow.json +302 -0
- package/dist/nodes/RssFeedRead/test/node/RssFeedRead.test.d.ts +1 -0
- package/dist/nodes/RssFeedRead/test/node/RssFeedRead.test.js +24 -0
- package/dist/nodes/RssFeedRead/test/node/RssFeedRead.test.js.map +1 -0
- package/dist/nodes/RssFeedRead/test/node/workflow.rss.json +87 -0
- package/dist/nodes/Set/test/Set.node.test.d.ts +1 -0
- package/dist/nodes/Set/test/Set.node.test.js +6 -0
- package/dist/nodes/Set/test/Set.node.test.js.map +1 -0
- package/dist/nodes/Set/test/Set.workflow.json +320 -0
- package/dist/nodes/SplitInBatches/test/SplitInBatches.node.test.d.ts +1 -0
- package/dist/nodes/SplitInBatches/test/SplitInBatches.node.test.js +6 -0
- package/dist/nodes/SplitInBatches/test/SplitInBatches.node.test.js.map +1 -0
- package/dist/nodes/SplitInBatches/test/SplitInBatches.workflow.json +178 -0
- package/dist/nodes/SpreadsheetFile/SpreadsheetFile.node.js +1 -1
- package/dist/nodes/SpreadsheetFile/SpreadsheetFile.node.js.map +1 -1
- package/dist/nodes/SpreadsheetFile/SpreadsheetFile.node.json +1 -1
- package/dist/nodes/SpreadsheetFile/test/SpreadsheetFile.test.d.ts +1 -0
- package/dist/nodes/SpreadsheetFile/test/SpreadsheetFile.test.js +183 -0
- package/dist/nodes/SpreadsheetFile/test/SpreadsheetFile.test.js.map +1 -0
- package/dist/nodes/SpreadsheetFile/test/workflow.json +253 -0
- package/dist/nodes/StopAndError/test/node/StopAndError.test.d.ts +1 -0
- package/dist/nodes/StopAndError/test/node/StopAndError.test.js +111 -0
- package/dist/nodes/StopAndError/test/node/StopAndError.test.js.map +1 -0
- package/dist/nodes/Switch/test/switch.expression.workflow.json +225 -0
- package/dist/nodes/Switch/test/switch.node.test.d.ts +1 -0
- package/dist/nodes/Switch/test/switch.node.test.js +6 -0
- package/dist/nodes/Switch/test/switch.node.test.js.map +1 -0
- package/dist/nodes/Switch/test/switch.rules.workflow.json +242 -0
- package/dist/nodes/WriteBinaryFile/test/WriteBinaryFile.test.d.ts +1 -0
- package/dist/nodes/WriteBinaryFile/test/WriteBinaryFile.test.js +85 -0
- package/dist/nodes/WriteBinaryFile/test/WriteBinaryFile.test.js.map +1 -0
- package/dist/nodes/WriteBinaryFile/test/WriteBinaryFile.workflow.json +76 -0
- package/dist/nodes/Xml/Xml.node.js.map +1 -1
- package/dist/nodes/Xml/test/node/Xml.test.d.ts +1 -0
- package/dist/nodes/Xml/test/node/Xml.test.js +6 -0
- package/dist/nodes/Xml/test/node/Xml.test.js.map +1 -0
- package/dist/nodes/Xml/test/node/workflow.xml.json +148 -0
- package/dist/test/nodes/ExecuteWorkflow.d.ts +7 -0
- package/dist/test/nodes/ExecuteWorkflow.js +48 -0
- package/dist/test/nodes/ExecuteWorkflow.js.map +1 -0
- package/dist/test/nodes/Helpers.d.ts +32 -0
- package/dist/test/nodes/Helpers.js +234 -0
- package/dist/test/nodes/Helpers.js.map +1 -0
- package/dist/test/nodes/types.d.ts +16 -0
- package/dist/test/nodes/types.js +3 -0
- package/dist/test/nodes/types.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/credentials.json +4 -4
- package/dist/types/nodes.json +346 -346
- package/package.json +7 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const Helpers_1 = require("../../../../test/nodes/Helpers");
|
|
7
|
+
const ExecuteWorkflow_1 = require("../../../../test/nodes/ExecuteWorkflow");
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const node_os_1 = __importDefault(require("node:os"));
|
|
10
|
+
if (node_os_1.default.platform() !== 'win32') {
|
|
11
|
+
describe('Execute Compression Node', () => {
|
|
12
|
+
beforeEach(async () => {
|
|
13
|
+
await (0, Helpers_1.initBinaryDataManager)();
|
|
14
|
+
});
|
|
15
|
+
const workflowData = (0, Helpers_1.readJsonFileSync)('nodes/Compression/test/node/workflow.compression.json');
|
|
16
|
+
const node = workflowData.nodes.find((n) => n.name === 'Read Binary File');
|
|
17
|
+
node.parameters.filePath = path_1.default.join(__dirname, 'lorem.txt');
|
|
18
|
+
const tests = [
|
|
19
|
+
{
|
|
20
|
+
description: 'nodes/Compression/test/node/workflow.compression.json',
|
|
21
|
+
input: {
|
|
22
|
+
workflowData,
|
|
23
|
+
},
|
|
24
|
+
output: {
|
|
25
|
+
nodeData: {
|
|
26
|
+
Compression1: [
|
|
27
|
+
[
|
|
28
|
+
{
|
|
29
|
+
json: {},
|
|
30
|
+
binary: {
|
|
31
|
+
file_0: {
|
|
32
|
+
mimeType: 'text/plain',
|
|
33
|
+
fileType: 'text',
|
|
34
|
+
fileExtension: 'txt',
|
|
35
|
+
data: 'TG9yZW0gSXBzdW0KIk5lcXVlIHBvcnJvIHF1aXNxdWFtIGVzdCBxdWkgZG9sb3JlbSBpcHN1bSBxdWlhIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciwgYWRpcGlzY2kgdmVsaXQuLi4iCiJUaGVyZSBpcyBubyBvbmUgd2hvIGxvdmVzIHBhaW4gaXRzZWxmLCB3aG8gc2Vla3MgYWZ0ZXIgaXQgYW5kIHdhbnRzIHRvIGhhdmUgaXQsIHNpbXBseSBiZWNhdXNlIGl0IGlzIHBhaW4uLi4iCkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIFZpdmFtdXMgZWZmaWNpdHVyIGF1Z3VlIGVnZXQgbGVvIGF1Y3RvciBpbnRlcmR1bS4gTWFlY2VuYXMgcGhhcmV0cmEgcGVsbGVudGVzcXVlIGp1c3RvIGF0IHBvcnR0aXRvci4gUGhhc2VsbHVzIHNvZGFsZXMgYWNjdW1zYW4gcG9zdWVyZS4gU2VkIHVybmEgYXVndWUsIG1hbGVzdWFkYSBldCBwbGFjZXJhdCBlZ2V0LCBhbGlxdWV0IHNlZCB0b3J0b3IuIFByYWVzZW50IGNvbW1vZG8sIGVyb3MgdmVsIGZlcm1lbnR1bSBhbGlxdWV0LCBkaWFtIGZlbGlzIHRlbXB1cyB1cm5hLCBuZWMgcG9zdWVyZSBsaWd1bGEgZWxpdCBxdWlzIGRpYW0uIFNlZCBub24gbG9yZW0gdm9sdXRwYXQsIG1vbGVzdGllIG5pYmggZWdldCwgcHVsdmluYXIgZWxpdC4gTWFlY2VuYXMgYWMgdmFyaXVzIGV4LCBxdWlzIHVsdHJpY2VzIHNhcGllbi4gVml2YW11cyBlZ2VzdGFzLCByaXN1cyBzaXQgYW1ldCBtYWxlc3VhZGEgZWxlaWZlbmQsIG1hc3NhIHRvcnRvciBlbGVtZW50dW0gdHVycGlzLCBpZCBzb2xsaWNpdHVkaW4gZXN0IGxpYmVybyBzZWQgZHVpLiBOdWxsYSBpZCBwdWx2aW5hciBzZW0sIG5lYyBoZW5kcmVyaXQgbGFjdXMuCgpWZXN0aWJ1bHVtIGFsaXF1YW0gZXQgcHVydXMgc2l0IGFtZXQgdWxsYW1jb3JwZXIuIE5hbSB2aXZlcnJhIHRyaXN0aXF1ZSBmaW5pYnVzLiBWaXZhbXVzIGRpZ25pc3NpbSB0aW5jaWR1bnQgZXN0LiBEb25lYyBqdXN0byB0dXJwaXMsIGZldWdpYXQgc29sbGljaXR1ZGluIHN1c2NpcGl0IGEsIGJsYW5kaXQgY3Vyc3VzIHF1YW0uIER1aXMgdml2ZXJyYSBzZW0gdXQgbGFjaW5pYSBzZW1wZXIuIEFlbmVhbiB1bHRyaWNlcyBhbnRlIGV0IG5pc2kgc2VtcGVyIGRhcGlidXMuIE1vcmJpIHF1aXMgZnJpbmdpbGxhIG1hZ25hLiBOdW5jIGxpZ3VsYSBhcmN1LCBhbGlxdWFtIHF1aXMgbGVvIGV0LCBjb21tb2RvIG1vbGVzdGllIGxlY3R1cy4gUHJvaW4gYWMgbGVvIGZlcm1lbnR1bSwgY29udmFsbGlzIGVyYXQgaW4sIHVsdHJpY2llcyBtYWduYS4gTW9yYmkgbG9yZW0gYXJjdSwgY29uZ3VlIHNlZCBkaWFtIGlkLCBtb2xlc3RpZSBhbGlxdWV0IGVyYXQuIEFsaXF1YW0gdXQgZHVpIHBvc3VlcmUsIHB1bHZpbmFyIHNhcGllbiBzZWQsIGludGVyZHVtIHNhcGllbi4gRG9uZWMgc29sbGljaXR1ZGluIGxpYmVybyBpbXBlcmRpZXQgYWxpcXVhbSBhbGlxdWFtLgoKRG9uZWMgbm9uIG9kaW8gbWFzc2EuIE1hZWNlbmFzIGV1IGludGVyZHVtIGlwc3VtLCBhdCBncmF2aWRhIHR1cnBpcy4gVmVzdGlidWx1bSBldSBtb2xsaXMgdHVycGlzLCBlZ2V0IGZhdWNpYnVzIGxpZ3VsYS4gVmVzdGlidWx1bSBhbnRlIGlwc3VtIHByaW1pcyBpbiBmYXVjaWJ1cyBvcmNpIGx1Y3R1cyBldCB1bHRyaWNlcyBwb3N1ZXJlIGN1YmlsaWEgY3VyYWU7IEFlbmVhbiB0cmlzdGlxdWUgZXggbmVjIHJpc3VzIGJpYmVuZHVtLCBldSB1bGxhbWNvcnBlciBlcm9zIHBoYXJldHJhLiBVdCBmaW5pYnVzIGp1c3RvIGxlY3R1cywgbm9uIHZhcml1cyBhbnRlIHZvbHV0cGF0IGV1LiBQZWxsZW50ZXNxdWUgdHVycGlzIGVyb3MsIG1vbGVzdGllIGVnZXQgZW5pbSBuZWMsIGVsZW1lbnR1bSBwb3N1ZXJlIHJpc3VzLiBQaGFzZWxsdXMgZGljdHVtLCBlc3Qgdml0YWUgdml2ZXJyYSBlZ2VzdGFzLCBlbGl0IGVyb3MgcG9zdWVyZSBsb3JlbSwgaWQgZmluaWJ1cyBzYXBpZW4gbnVsbGEgc2l0IGFtZXQgYW50ZS4gRXRpYW0gaW4gcHVydXMgaWQgdGVsbHVzIHBvcnR0aXRvciBwb3N1ZXJlLgoKRG9uZWMgbm9uIGx1Y3R1cyBlbmltLiBWaXZhbXVzIHNvbGxpY2l0dWRpbiB0dXJwaXMgcXVpcyBxdWFtIGZlcm1lbnR1bSBwb3J0dGl0b3IuIFByb2luIGlkIHRpbmNpZHVudCBlcmF0LiBBZW5lYW4gaGVuZHJlcml0IHNpdCBhbWV0IGFyY3UgdmVuZW5hdGlzIHZ1bHB1dGF0ZS4gUGVsbGVudGVzcXVlIG5vbiBlcm9zIHZvbHV0cGF0LCB2ZXN0aWJ1bHVtIG1pIG5vbiwgdm9sdXRwYXQgYXJjdS4gSW4gYWMgdWxsYW1jb3JwZXIgc2FwaWVuLiBVdCBzaXQgYW1ldCB1cm5hIGFjIG51bmMgYWNjdW1zYW4gYXVjdG9yLiBGdXNjZSBhY2N1bXNhbiBsaWJlcm8gdmVsIHByZXRpdW0gaWFjdWxpcy4gUHJvaW4gc2VkIHZlaGljdWxhIGVyYXQuIEludGVnZXIgZmF1Y2lidXMgYXVndWUgbnVuYywgbmVjIGJsYW5kaXQgYXJjdSBsdWN0dXMgZGlnbmlzc2ltLiBNYWVjZW5hcyBhbGlxdWFtIHNvbGxpY2l0dWRpbiBkdWksIGF0IHBsYWNlcmF0IGVyYXQgbWFsZXN1YWRhIHV0LiBTdXNwZW5kaXNzZSBub24gcnV0cnVtIG9kaW8sIHV0IHVsdHJpY2llcyBtYXNzYS4KCk1vcmJpIHNpdCBhbWV0IHJpc3VzIHZlc3RpYnVsdW0sIHZlaGljdWxhIGVsaXQgdmVsLCB1bGxhbWNvcnBlciBhbnRlLiBBZW5lYW4gcnV0cnVtIHBlbGxlbnRlc3F1ZSBmZWxpcywgbmVjIHBoYXJldHJhIGlwc3VtIGNvbnNlY3RldHVyIHF1aXMuIE1hdXJpcyBpbiBlbGl0IGV1IG51bGxhIGRhcGlidXMgZmV1Z2lhdC4gSW4gdmVzdGlidWx1bSBtYXNzYSBpZCBsYW9yZWV0IHNvZGFsZXMuIFN1c3BlbmRpc3NlIG9ybmFyZSBjb25ndWUgbWV0dXMsIGluIHVsdHJpY2llcyBuZXF1ZSBjb25zZXF1YXQgbmVjLiBJbnRlcmR1bSBldCBtYWxlc3VhZGEgZmFtZXMgYWMgYW50ZSBpcHN1bSBwcmltaXMgaW4gZmF1Y2lidXMuIE1hZWNlbmFzIHNlZCBsdWN0dXMgdmVsaXQuIFF1aXNxdWUgaW4gbnVuYyBwZWxsZW50ZXNxdWUsIGFsaXF1ZXQgcXVhbSBpbiwgYWNjdW1zYW4gbGVjdHVzLiBWZXN0aWJ1bHVtIGRhcGlidXMgdG9ydG9yIGFjIG1ldHVzIGZldWdpYXQgY3Vyc3VzLiBTZWQgbmVjIHNjZWxlcmlzcXVlIGFyY3UuCg==',
|
|
36
|
+
fileName: 'lorem.txt',
|
|
37
|
+
fileSize: '3.07 kB',
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
],
|
|
42
|
+
],
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
];
|
|
47
|
+
const nodeTypes = (0, Helpers_1.setup)(tests);
|
|
48
|
+
for (const testData of tests) {
|
|
49
|
+
test(testData.description, async () => {
|
|
50
|
+
const { result } = await (0, ExecuteWorkflow_1.executeWorkflow)(testData, nodeTypes);
|
|
51
|
+
const resultNodeData = (0, Helpers_1.getResultNodeData)(result, testData);
|
|
52
|
+
resultNodeData.forEach(({ nodeName, resultData }) => {
|
|
53
|
+
expect(resultData).toEqual(testData.output.nodeData[nodeName]);
|
|
54
|
+
});
|
|
55
|
+
expect(result.finished).toEqual(true);
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
describe('Execute Compression Node', () => {
|
|
62
|
+
it('Skipped because compression results are different on platform win32', () => {
|
|
63
|
+
expect(true).toBe(true);
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=Compression.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Compression.test.js","sourceRoot":"","sources":["../../../../../nodes/Compression/test/node/Compression.test.ts"],"names":[],"mappings":";;;;;AAIA,4DAKwC;AACxC,4EAAyE;AAEzE,gDAAwB;AACxB,sDAAyB;AAEzB,IAAI,iBAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,EAAE;IAC9B,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACzC,UAAU,CAAC,KAAK,IAAI,EAAE;YACrB,MAAM,IAAA,+BAAqB,GAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,IAAA,0BAAgB,EAAC,uDAAuD,CAAC,CAAC;QAE/F,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC;QACxF,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAE7D,MAAM,KAAK,GAAuB;YACjC;gBACC,WAAW,EAAE,uDAAuD;gBACpE,KAAK,EAAE;oBACN,YAAY;iBACZ;gBACD,MAAM,EAAE;oBACP,QAAQ,EAAE;wBACT,YAAY,EAAE;4BACb;gCACC;oCACC,IAAI,EAAE,EAAE;oCACR,MAAM,EAAE;wCACP,MAAM,EAAE;4CACP,QAAQ,EAAE,YAAY;4CACtB,QAAQ,EAAE,MAAM;4CAChB,aAAa,EAAE,KAAK;4CACpB,IAAI,EAAE,kgIAAkgI;4CACxgI,QAAQ,EAAE,WAAW;4CACrB,QAAQ,EAAE,SAAS;yCACnB;qCACD;iCACD;6BACD;yBACD;qBACD;iBACD;aACD;SACD,CAAC;QAEF,MAAM,SAAS,GAAG,IAAA,eAAK,EAAC,KAAK,CAAC,CAAC;QAE/B,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE;YAC7B,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;gBACrC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,iCAAe,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;gBAE9D,MAAM,cAAc,GAAG,IAAA,2BAAiB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAC3D,cAAc,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;oBACnD,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAChE,CAAC,CAAC,CAAC;gBAEH,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;SACH;IACF,CAAC,CAAC,CAAC;CACH;KAAM;IACN,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACzC,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;YAC9E,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;CACH"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Compression test",
|
|
3
|
+
"nodes": [
|
|
4
|
+
{
|
|
5
|
+
"parameters": {},
|
|
6
|
+
"id": "abf9ed91-0b05-49df-82d3-1bafb6e6f698",
|
|
7
|
+
"name": "When clicking \"Execute Workflow\"",
|
|
8
|
+
"type": "n8n-nodes-base.manualTrigger",
|
|
9
|
+
"typeVersion": 1,
|
|
10
|
+
"position": [400, 400]
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"parameters": {
|
|
14
|
+
"operation": "compress",
|
|
15
|
+
"outputFormat": "zip",
|
|
16
|
+
"fileName": "data.zip"
|
|
17
|
+
},
|
|
18
|
+
"id": "a84b995a-bd44-42a0-b5e0-a8ff4e879814",
|
|
19
|
+
"name": "Compression",
|
|
20
|
+
"type": "n8n-nodes-base.compression",
|
|
21
|
+
"typeVersion": 1,
|
|
22
|
+
"position": [800, 400]
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"parameters": {
|
|
26
|
+
"filePath": "/home/me/Desktop/lorem.txt"
|
|
27
|
+
},
|
|
28
|
+
"id": "2fdbf11d-e1ae-4091-b15f-e0eed69e87c3",
|
|
29
|
+
"name": "Read Binary File",
|
|
30
|
+
"type": "n8n-nodes-base.readBinaryFile",
|
|
31
|
+
"typeVersion": 1,
|
|
32
|
+
"position": [600, 400]
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"parameters": {},
|
|
36
|
+
"id": "959fa107-f3e6-444e-8fd4-1c893b8942db",
|
|
37
|
+
"name": "Compression1",
|
|
38
|
+
"type": "n8n-nodes-base.compression",
|
|
39
|
+
"typeVersion": 1,
|
|
40
|
+
"position": [1000, 400]
|
|
41
|
+
}
|
|
42
|
+
],
|
|
43
|
+
"pinData": {},
|
|
44
|
+
"connections": {
|
|
45
|
+
"When clicking \"Execute Workflow\"": {
|
|
46
|
+
"main": [
|
|
47
|
+
[
|
|
48
|
+
{
|
|
49
|
+
"node": "Read Binary File",
|
|
50
|
+
"type": "main",
|
|
51
|
+
"index": 0
|
|
52
|
+
}
|
|
53
|
+
]
|
|
54
|
+
]
|
|
55
|
+
},
|
|
56
|
+
"Read Binary File": {
|
|
57
|
+
"main": [
|
|
58
|
+
[
|
|
59
|
+
{
|
|
60
|
+
"node": "Compression",
|
|
61
|
+
"type": "main",
|
|
62
|
+
"index": 0
|
|
63
|
+
}
|
|
64
|
+
]
|
|
65
|
+
]
|
|
66
|
+
},
|
|
67
|
+
"Compression": {
|
|
68
|
+
"main": [
|
|
69
|
+
[
|
|
70
|
+
{
|
|
71
|
+
"node": "Compression1",
|
|
72
|
+
"type": "main",
|
|
73
|
+
"index": 0
|
|
74
|
+
}
|
|
75
|
+
]
|
|
76
|
+
]
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
"active": false,
|
|
80
|
+
"settings": {},
|
|
81
|
+
"versionId": "9868d72c-88bc-4bcc-a85b-586ae1b6b023",
|
|
82
|
+
"id": "112",
|
|
83
|
+
"meta": {
|
|
84
|
+
"instanceId": "36203ea1ce3cef713fa25999bd9874ae26b9e4c2c3a90a365f2882a154d031d0"
|
|
85
|
+
},
|
|
86
|
+
"tags": []
|
|
87
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const Helpers_1 = require("../../../test/nodes/Helpers");
|
|
4
|
+
const workflows = (0, Helpers_1.getWorkflowFilenames)(__dirname);
|
|
5
|
+
describe('Test Crypto Node', () => (0, Helpers_1.testWorkflows)(workflows));
|
|
6
|
+
//# sourceMappingURL=Crypto.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Crypto.test.js","sourceRoot":"","sources":["../../../../nodes/Crypto/test/Crypto.test.ts"],"names":[],"mappings":";;AAAA,yDAAkF;AAElF,MAAM,SAAS,GAAG,IAAA,8BAAoB,EAAC,SAAS,CAAC,CAAC;AAElD,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,IAAA,uBAAa,EAAC,SAAS,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "review node unit tests",
|
|
3
|
+
"nodes": [
|
|
4
|
+
{
|
|
5
|
+
"parameters": {},
|
|
6
|
+
"id": "78f64c0f-d6a7-47fb-920d-5471fcd8caa1",
|
|
7
|
+
"name": "When clicking \"Execute Workflow\"",
|
|
8
|
+
"type": "n8n-nodes-base.manualTrigger",
|
|
9
|
+
"typeVersion": 1,
|
|
10
|
+
"position": [
|
|
11
|
+
-2640,
|
|
12
|
+
4140
|
|
13
|
+
]
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"parameters": {
|
|
17
|
+
"value": "=test"
|
|
18
|
+
},
|
|
19
|
+
"id": "90831322-8a73-40ac-ae52-84a6504d3d95",
|
|
20
|
+
"name": "Crypto Hash into Hex",
|
|
21
|
+
"type": "n8n-nodes-base.crypto",
|
|
22
|
+
"typeVersion": 1,
|
|
23
|
+
"position": [
|
|
24
|
+
-2120,
|
|
25
|
+
4140
|
|
26
|
+
]
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"parameters": {
|
|
30
|
+
"value": "=test"
|
|
31
|
+
},
|
|
32
|
+
"id": "9836f128-6798-498e-8752-ba447218ce21",
|
|
33
|
+
"name": "Crypto Hash into MD5",
|
|
34
|
+
"type": "n8n-nodes-base.crypto",
|
|
35
|
+
"typeVersion": 1,
|
|
36
|
+
"position": [
|
|
37
|
+
-2120,
|
|
38
|
+
3980
|
|
39
|
+
]
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"parameters": {
|
|
43
|
+
"action": "sign",
|
|
44
|
+
"value": "=test",
|
|
45
|
+
"algorithm": "RSA-MD4",
|
|
46
|
+
"encoding": "base64",
|
|
47
|
+
"privateKey": "-----BEGIN RSA PRIVATE KEY-----\nMIIBOgIBAAJBAKj34GkxFhD90vcNLYLInFEX6Ppy1tPf9Cnzj4p4WGeKLs1Pt8Qu\nKUpRKfFLfRYC9AIKjbJTWit+CqvjWYzvQwECAwEAAQJAIJLixBy2qpFoS4DSmoEm\no3qGy0t6z09AIJtH+5OeRV1be+N4cDYJKffGzDa88vQENZiRm0GRq6a+HPGQMd2k\nTQIhAKMSvzIBnni7ot/OSie2TmJLY4SwTQAevXysE2RbFDYdAiEBCUEaRQnMnbp7\n9mxDXDf6AU0cN/RPBjb9qSHDcWZHGzUCIG2Es59z8ugGrDY+pxLQnwfotadxd+Uy\nv/Ow5T0q5gIJAiEAyS4RaI9YG8EWx/2w0T67ZUVAw8eOMB6BIUg0Xcu+3okCIBOs\n/5OiPgoTdSy7bcF9IGpSE8ZgGKzgYQVZeN97YE00\n-----END RSA PRIVATE KEY-----"
|
|
48
|
+
},
|
|
49
|
+
"id": "4ec3781a-433d-4b68-bc94-3fbe6ed55a0e",
|
|
50
|
+
"name": "Crypto Sign data with RSA-MDA4",
|
|
51
|
+
"type": "n8n-nodes-base.crypto",
|
|
52
|
+
"typeVersion": 1,
|
|
53
|
+
"position": [
|
|
54
|
+
-2120,
|
|
55
|
+
3800
|
|
56
|
+
]
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"parameters": {
|
|
60
|
+
"action": "hmac",
|
|
61
|
+
"value": "=test",
|
|
62
|
+
"secret": "-----BEGIN RSA PRIVATE KEY-----|MIIBOgIBAAJBAKj34GkxFhD90vcNLYLInFEX6Ppy1tPf9Cnzj4p4WGeKLs1Pt8QuKUpRKfFLfRYC9AIKjbJTWit+CqvjWYzvQwECAwEAAQJAIJLixBy2qpFoS4DSmoEmo3qGy0t6z09AIJtH+5OeRV1be+N4cDYJKffGzDa88vQENZiRm0GRq6a+HPGQMd2kTQIhAKMSvzIBnni7ot/OSie2TmJLY4SwTQAevXysE2RbFDYdAiEBCUEaRQnMnbp79mxDXDf6AU0cN/RPBjb9qSHDcWZHGzUCIG2Es59z8ugGrDY+pxLQnwfotadxd+Uyv/Ow5T0q5gIJAiEAyS4RaI9YG8EWx/2w0T67ZUVAw8eOMB6BIUg0Xcu+3okCIBOs/5OiPgoTdSy7bcF9IGpSE8ZgGKzgYQVZeN97YE00-----END RSA PRIVATE KEY-----",
|
|
63
|
+
"encoding": "base64"
|
|
64
|
+
},
|
|
65
|
+
"id": "797ba0d9-28e0-4494-bafd-d0603e85c303",
|
|
66
|
+
"name": "Crypto Hmac data with MD5",
|
|
67
|
+
"type": "n8n-nodes-base.crypto",
|
|
68
|
+
"typeVersion": 1,
|
|
69
|
+
"position": [
|
|
70
|
+
-2120,
|
|
71
|
+
3620
|
|
72
|
+
]
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"parameters": {
|
|
76
|
+
"action": "generate"
|
|
77
|
+
},
|
|
78
|
+
"id": "a6682d88-0842-4884-9869-220597ac3d2a",
|
|
79
|
+
"name": "Crypto Generate UUID",
|
|
80
|
+
"type": "n8n-nodes-base.crypto",
|
|
81
|
+
"typeVersion": 1,
|
|
82
|
+
"position": [
|
|
83
|
+
-2120,
|
|
84
|
+
4320
|
|
85
|
+
]
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"parameters": {
|
|
89
|
+
"conditions": {
|
|
90
|
+
"string": [
|
|
91
|
+
{
|
|
92
|
+
"value1": "={{ $json.data }}",
|
|
93
|
+
"operation": "regex",
|
|
94
|
+
"value2": "^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$"
|
|
95
|
+
}
|
|
96
|
+
]
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
"id": "89297cfb-e119-45b8-87b4-021a8272534b",
|
|
100
|
+
"name": "IF",
|
|
101
|
+
"type": "n8n-nodes-base.if",
|
|
102
|
+
"typeVersion": 1,
|
|
103
|
+
"position": [
|
|
104
|
+
-1900,
|
|
105
|
+
4320
|
|
106
|
+
]
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"parameters": {},
|
|
110
|
+
"id": "1954d932-2878-403d-ad16-373585dbe9cd",
|
|
111
|
+
"name": "No Operation, do nothing",
|
|
112
|
+
"type": "n8n-nodes-base.noOp",
|
|
113
|
+
"typeVersion": 1,
|
|
114
|
+
"position": [
|
|
115
|
+
-1680,
|
|
116
|
+
4300
|
|
117
|
+
]
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"parameters": {
|
|
121
|
+
"errorMessage": "Not a valid uuid"
|
|
122
|
+
},
|
|
123
|
+
"id": "b1154e93-9d39-40c6-8ca6-aadc8103cfbd",
|
|
124
|
+
"name": "Stop and Error",
|
|
125
|
+
"type": "n8n-nodes-base.stopAndError",
|
|
126
|
+
"typeVersion": 1,
|
|
127
|
+
"position": [
|
|
128
|
+
-1680,
|
|
129
|
+
4500
|
|
130
|
+
]
|
|
131
|
+
}
|
|
132
|
+
],
|
|
133
|
+
"pinData": {
|
|
134
|
+
"Crypto Sign data with RSA-MDA4": [
|
|
135
|
+
{
|
|
136
|
+
"json": {
|
|
137
|
+
"data": "SmzCKZlC8g0EnB8cXbRJIdwsN8sDWIxtUEeMvwEJNfrrJynahyNkdIbdcTO/ciwH7aBFN+roa47J8QEYWDc6Dg=="
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
],
|
|
141
|
+
"Crypto Hash into MD5": [
|
|
142
|
+
{
|
|
143
|
+
"json": {
|
|
144
|
+
"data": "098f6bcd4621d373cade4e832627b4f6"
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
],
|
|
148
|
+
"Crypto Hash into Hex": [
|
|
149
|
+
{
|
|
150
|
+
"json": {
|
|
151
|
+
"data": "098f6bcd4621d373cade4e832627b4f6"
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
],
|
|
155
|
+
"Crypto Hmac data with MD5": [
|
|
156
|
+
{
|
|
157
|
+
"json": {
|
|
158
|
+
"data": "BBXLTeT2o/R6oy5H69Yh7w=="
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
]
|
|
162
|
+
},
|
|
163
|
+
"connections": {
|
|
164
|
+
"When clicking \"Execute Workflow\"": {
|
|
165
|
+
"main": [
|
|
166
|
+
[
|
|
167
|
+
{
|
|
168
|
+
"node": "Crypto Hash into Hex",
|
|
169
|
+
"type": "main",
|
|
170
|
+
"index": 0
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"node": "Crypto Hash into MD5",
|
|
174
|
+
"type": "main",
|
|
175
|
+
"index": 0
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
"node": "Crypto Sign data with RSA-MDA4",
|
|
179
|
+
"type": "main",
|
|
180
|
+
"index": 0
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"node": "Crypto Hmac data with MD5",
|
|
184
|
+
"type": "main",
|
|
185
|
+
"index": 0
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"node": "Crypto Generate UUID",
|
|
189
|
+
"type": "main",
|
|
190
|
+
"index": 0
|
|
191
|
+
}
|
|
192
|
+
]
|
|
193
|
+
]
|
|
194
|
+
},
|
|
195
|
+
"Crypto Generate UUID": {
|
|
196
|
+
"main": [
|
|
197
|
+
[
|
|
198
|
+
{
|
|
199
|
+
"node": "IF",
|
|
200
|
+
"type": "main",
|
|
201
|
+
"index": 0
|
|
202
|
+
}
|
|
203
|
+
]
|
|
204
|
+
]
|
|
205
|
+
},
|
|
206
|
+
"IF": {
|
|
207
|
+
"main": [
|
|
208
|
+
[
|
|
209
|
+
{
|
|
210
|
+
"node": "No Operation, do nothing",
|
|
211
|
+
"type": "main",
|
|
212
|
+
"index": 0
|
|
213
|
+
}
|
|
214
|
+
],
|
|
215
|
+
[
|
|
216
|
+
{
|
|
217
|
+
"node": "Stop and Error",
|
|
218
|
+
"type": "main",
|
|
219
|
+
"index": 0
|
|
220
|
+
}
|
|
221
|
+
]
|
|
222
|
+
]
|
|
223
|
+
},
|
|
224
|
+
"No Operation, do nothing": {
|
|
225
|
+
"main": [
|
|
226
|
+
[]
|
|
227
|
+
]
|
|
228
|
+
}
|
|
229
|
+
},
|
|
230
|
+
"active": false,
|
|
231
|
+
"settings": {},
|
|
232
|
+
"versionId": "399353bc-5707-41b2-8046-a55cdc69300d",
|
|
233
|
+
"id": "182",
|
|
234
|
+
"meta": {
|
|
235
|
+
"instanceId": "104a4d08d8897b8bdeb38aaca515021075e0bd8544c983c2bb8c86e6a8e6081c"
|
|
236
|
+
},
|
|
237
|
+
"tags": []
|
|
238
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const Helpers_1 = require("../../../../test/nodes/Helpers");
|
|
4
|
+
const workflows = (0, Helpers_1.getWorkflowFilenames)(__dirname);
|
|
5
|
+
if (new Date().getTimezoneOffset() === 0) {
|
|
6
|
+
describe('Test DateTime Node', () => (0, Helpers_1.testWorkflows)(workflows));
|
|
7
|
+
}
|
|
8
|
+
else {
|
|
9
|
+
describe('Test DateTime Node', () => {
|
|
10
|
+
it('Skipped because timezone is not UTC', () => {
|
|
11
|
+
expect(true).toBe(true);
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=DateTime.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateTime.test.js","sourceRoot":"","sources":["../../../../../nodes/DateTime/test/node/DateTime.test.ts"],"names":[],"mappings":";;AAAA,4DAAqF;AAErF,MAAM,SAAS,GAAG,IAAA,8BAAoB,EAAC,SAAS,CAAC,CAAC;AAGlD,IAAI,IAAI,IAAI,EAAE,CAAC,iBAAiB,EAAE,KAAK,CAAC,EAAE;IACzC,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE,CAAC,IAAA,uBAAa,EAAC,SAAS,CAAC,CAAC,CAAC;CAC/D;KAAM;IACN,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC9C,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;CACH"}
|