n8n-nodes-base 1.56.0 → 1.57.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.
Files changed (149) hide show
  1. package/dist/build.tsbuildinfo +1 -1
  2. package/dist/credentials/DatadogApi.credentials.d.ts +18 -0
  3. package/dist/credentials/DatadogApi.credentials.js +61 -0
  4. package/dist/credentials/DatadogApi.credentials.js.map +1 -0
  5. package/dist/credentials/DfirIrisApi.credentials.d.ts +18 -0
  6. package/dist/credentials/DfirIrisApi.credentials.js +59 -0
  7. package/dist/credentials/DfirIrisApi.credentials.js.map +1 -0
  8. package/dist/credentials/DynatraceApi.credentials.d.ts +17 -0
  9. package/dist/credentials/DynatraceApi.credentials.js +36 -0
  10. package/dist/credentials/DynatraceApi.credentials.js.map +1 -0
  11. package/dist/credentials/ElasticSecurityApi.credentials.d.ts +3 -1
  12. package/dist/credentials/ElasticSecurityApi.credentials.js +68 -5
  13. package/dist/credentials/ElasticSecurityApi.credentials.js.map +1 -1
  14. package/dist/credentials/FilescanApi.credentials.d.ts +18 -0
  15. package/dist/credentials/FilescanApi.credentials.js +43 -0
  16. package/dist/credentials/FilescanApi.credentials.js.map +1 -0
  17. package/dist/credentials/MalcoreApi.credentials.d.ts +18 -0
  18. package/dist/credentials/MalcoreApi.credentials.js +44 -0
  19. package/dist/credentials/MalcoreApi.credentials.js.map +1 -0
  20. package/dist/credentials/icons/Datadog.svg +1 -0
  21. package/dist/credentials/icons/DfirIris.svg +403 -0
  22. package/dist/credentials/icons/Dynatrace.svg +18 -0
  23. package/dist/credentials/icons/Elastic.svg +2 -0
  24. package/dist/credentials/icons/Filescan.svg +33 -0
  25. package/dist/credentials/icons/Malcore.png +0 -0
  26. package/dist/known/credentials.json +20 -0
  27. package/dist/nodes/Automizy/GenericFunctions.js +1 -1
  28. package/dist/nodes/Automizy/GenericFunctions.js.map +1 -1
  29. package/dist/nodes/Autopilot/GenericFunctions.js +2 -3
  30. package/dist/nodes/Autopilot/GenericFunctions.js.map +1 -1
  31. package/dist/nodes/Baserow/Baserow.node.js +4 -4
  32. package/dist/nodes/Baserow/Baserow.node.js.map +1 -1
  33. package/dist/nodes/Baserow/GenericFunctions.js +1 -1
  34. package/dist/nodes/Baserow/GenericFunctions.js.map +1 -1
  35. package/dist/nodes/Calendly/GenericFunctions.js +1 -1
  36. package/dist/nodes/Calendly/GenericFunctions.js.map +1 -1
  37. package/dist/nodes/Dhl/GenericFunctions.js +1 -1
  38. package/dist/nodes/Dhl/GenericFunctions.js.map +1 -1
  39. package/dist/nodes/Discourse/GenericFunctions.js +1 -1
  40. package/dist/nodes/Discourse/GenericFunctions.js.map +1 -1
  41. package/dist/nodes/Disqus/GenericFunctions.js +1 -1
  42. package/dist/nodes/Disqus/GenericFunctions.js.map +1 -1
  43. package/dist/nodes/Dropbox/GenericFunctions.d.ts +1 -1
  44. package/dist/nodes/Dropbox/GenericFunctions.js +2 -2
  45. package/dist/nodes/Dropbox/GenericFunctions.js.map +1 -1
  46. package/dist/nodes/ERPNext/GenericFunctions.js +1 -1
  47. package/dist/nodes/ERPNext/GenericFunctions.js.map +1 -1
  48. package/dist/nodes/Elastic/ElasticSecurity/ElasticSecurity.node.d.ts +1 -4
  49. package/dist/nodes/Elastic/ElasticSecurity/ElasticSecurity.node.js +0 -33
  50. package/dist/nodes/Elastic/ElasticSecurity/ElasticSecurity.node.js.map +1 -1
  51. package/dist/nodes/Elastic/ElasticSecurity/GenericFunctions.js +2 -7
  52. package/dist/nodes/Elastic/ElasticSecurity/GenericFunctions.js.map +1 -1
  53. package/dist/nodes/Elastic/ElasticSecurity/types.d.ts +3 -2
  54. package/dist/nodes/EmailReadImap/v1/EmailReadImapV1.node.js +2 -2
  55. package/dist/nodes/EmailReadImap/v1/EmailReadImapV1.node.js.map +1 -1
  56. package/dist/nodes/EmailReadImap/v2/EmailReadImapV2.node.js +3 -3
  57. package/dist/nodes/EmailReadImap/v2/EmailReadImapV2.node.js.map +1 -1
  58. package/dist/nodes/Emelia/GenericFunctions.js +1 -1
  59. package/dist/nodes/Emelia/GenericFunctions.js.map +1 -1
  60. package/dist/nodes/ExecuteWorkflow/ExecuteWorkflow.node.js +16 -1
  61. package/dist/nodes/ExecuteWorkflow/ExecuteWorkflow.node.js.map +1 -1
  62. package/dist/nodes/ExecuteWorkflow/GenericFunctions.js +8 -1
  63. package/dist/nodes/ExecuteWorkflow/GenericFunctions.js.map +1 -1
  64. package/dist/nodes/FormIo/GenericFunctions.js +1 -1
  65. package/dist/nodes/FormIo/GenericFunctions.js.map +1 -1
  66. package/dist/nodes/Formstack/GenericFunctions.js +1 -1
  67. package/dist/nodes/Formstack/GenericFunctions.js.map +1 -1
  68. package/dist/nodes/FreshworksCrm/GenericFunctions.js +1 -1
  69. package/dist/nodes/FreshworksCrm/GenericFunctions.js.map +1 -1
  70. package/dist/nodes/Ftp/Ftp.node.js.map +1 -1
  71. package/dist/nodes/GoToWebinar/GenericFunctions.js +5 -5
  72. package/dist/nodes/GoToWebinar/GenericFunctions.js.map +1 -1
  73. package/dist/nodes/GoToWebinar/GoToWebinar.node.js +1 -1
  74. package/dist/nodes/GoToWebinar/GoToWebinar.node.js.map +1 -1
  75. package/dist/nodes/Google/Books/GenericFunctions.js +1 -1
  76. package/dist/nodes/Google/Books/GenericFunctions.js.map +1 -1
  77. package/dist/nodes/Google/Sheet/GoogleSheetsTrigger.node.js +3 -0
  78. package/dist/nodes/Google/Sheet/GoogleSheetsTrigger.node.js.map +1 -1
  79. package/dist/nodes/Grafana/GenericFunctions.js +1 -1
  80. package/dist/nodes/Grafana/GenericFunctions.js.map +1 -1
  81. package/dist/nodes/Jira/JiraTrigger.node.js.map +1 -1
  82. package/dist/nodes/Jwt/Jwt.node.js +1 -1
  83. package/dist/nodes/Jwt/Jwt.node.js.map +1 -1
  84. package/dist/nodes/Kitemaker/GenericFunctions.js +1 -1
  85. package/dist/nodes/Kitemaker/GenericFunctions.js.map +1 -1
  86. package/dist/nodes/MQTT/Mqtt.node.js +1 -1
  87. package/dist/nodes/MQTT/Mqtt.node.js.map +1 -1
  88. package/dist/nodes/MQTT/MqttTrigger.node.js +1 -1
  89. package/dist/nodes/MQTT/MqttTrigger.node.js.map +1 -1
  90. package/dist/nodes/Mailjet/GenericFunctions.js +1 -1
  91. package/dist/nodes/Mailjet/GenericFunctions.js.map +1 -1
  92. package/dist/nodes/Microsoft/Dynamics/GenericFunctions.js +1 -1
  93. package/dist/nodes/Microsoft/Dynamics/GenericFunctions.js.map +1 -1
  94. package/dist/nodes/Microsoft/GraphSecurity/GenericFunctions.js +1 -1
  95. package/dist/nodes/Microsoft/GraphSecurity/GenericFunctions.js.map +1 -1
  96. package/dist/nodes/MonicaCrm/GenericFunctions.js +1 -1
  97. package/dist/nodes/MonicaCrm/GenericFunctions.js.map +1 -1
  98. package/dist/nodes/MySql/v2/actions/router.js +1 -1
  99. package/dist/nodes/MySql/v2/actions/router.js.map +1 -1
  100. package/dist/nodes/MySql/v2/methods/listSearch.js +1 -1
  101. package/dist/nodes/MySql/v2/methods/listSearch.js.map +1 -1
  102. package/dist/nodes/MySql/v2/methods/loadOptions.js +1 -1
  103. package/dist/nodes/MySql/v2/methods/loadOptions.js.map +1 -1
  104. package/dist/nodes/N8n/GenericFunctions.js +1 -1
  105. package/dist/nodes/N8n/GenericFunctions.js.map +1 -1
  106. package/dist/nodes/Netscaler/ADC/GenericFunctions.js +1 -1
  107. package/dist/nodes/Netscaler/ADC/GenericFunctions.js.map +1 -1
  108. package/dist/nodes/NextCloud/GenericFunctions.js +2 -2
  109. package/dist/nodes/NextCloud/GenericFunctions.js.map +1 -1
  110. package/dist/nodes/PayPal/PayPalTrigger.node.js +1 -1
  111. package/dist/nodes/PayPal/PayPalTrigger.node.js.map +1 -1
  112. package/dist/nodes/Pipedrive/PipedriveTrigger.node.js.map +1 -1
  113. package/dist/nodes/Plivo/GenericFunctions.js +1 -1
  114. package/dist/nodes/Plivo/GenericFunctions.js.map +1 -1
  115. package/dist/nodes/Postgres/PostgresTrigger.functions.js +1 -1
  116. package/dist/nodes/Postgres/PostgresTrigger.functions.js.map +1 -1
  117. package/dist/nodes/Postgres/v2/actions/router.js +1 -1
  118. package/dist/nodes/Postgres/v2/actions/router.js.map +1 -1
  119. package/dist/nodes/Postgres/v2/methods/listSearch.js +2 -2
  120. package/dist/nodes/Postgres/v2/methods/listSearch.js.map +1 -1
  121. package/dist/nodes/Postgres/v2/methods/loadOptions.js +1 -1
  122. package/dist/nodes/Postgres/v2/methods/loadOptions.js.map +1 -1
  123. package/dist/nodes/Postgres/v2/methods/resourceMapping.js +1 -1
  124. package/dist/nodes/Postgres/v2/methods/resourceMapping.js.map +1 -1
  125. package/dist/nodes/QuickBooks/GenericFunctions.js +1 -1
  126. package/dist/nodes/QuickBooks/GenericFunctions.js.map +1 -1
  127. package/dist/nodes/Supabase/GenericFunctions.js +1 -1
  128. package/dist/nodes/Supabase/GenericFunctions.js.map +1 -1
  129. package/dist/nodes/Totp/Totp.node.js +1 -1
  130. package/dist/nodes/Totp/Totp.node.js.map +1 -1
  131. package/dist/nodes/Twilio/GenericFunctions.js +1 -1
  132. package/dist/nodes/Twilio/GenericFunctions.js.map +1 -1
  133. package/dist/nodes/Venafi/Datacenter/GenericFunctions.js +1 -1
  134. package/dist/nodes/Venafi/Datacenter/GenericFunctions.js.map +1 -1
  135. package/dist/nodes/Wait/Wait.node.js +4 -0
  136. package/dist/nodes/Wait/Wait.node.js.map +1 -1
  137. package/dist/nodes/Webhook/utils.js +1 -1
  138. package/dist/nodes/Webhook/utils.js.map +1 -1
  139. package/dist/nodes/Wise/GenericFunctions.js +1 -1
  140. package/dist/nodes/Wise/GenericFunctions.js.map +1 -1
  141. package/dist/nodes/Workable/GenericFunctions.js +1 -1
  142. package/dist/nodes/Workable/GenericFunctions.js.map +1 -1
  143. package/dist/nodes/Workable/WorkableTrigger.node.js +1 -1
  144. package/dist/nodes/Workable/WorkableTrigger.node.js.map +1 -1
  145. package/dist/nodes/Zendesk/GenericFunctions.js +2 -2
  146. package/dist/nodes/Zendesk/GenericFunctions.js.map +1 -1
  147. package/dist/types/credentials.json +6 -1
  148. package/dist/types/nodes.json +5 -5
  149. package/package.json +8 -3
@@ -0,0 +1,18 @@
1
+ import type { ICredentialDataDecryptedObject, ICredentialTestRequest, ICredentialType, IHttpRequestOptions, INodeProperties } from 'n8n-workflow';
2
+ export declare class DatadogApi implements ICredentialType {
3
+ name: string;
4
+ displayName: string;
5
+ documentationUrl: string;
6
+ icon: {
7
+ readonly light: "file:icons/Datadog.svg";
8
+ readonly dark: "file:icons/Datadog.svg";
9
+ };
10
+ httpRequestNode: {
11
+ name: string;
12
+ docsUrl: string;
13
+ apiBaseUrlPlaceholder: string;
14
+ };
15
+ properties: INodeProperties[];
16
+ authenticate(credentials: ICredentialDataDecryptedObject, requestOptions: IHttpRequestOptions): Promise<IHttpRequestOptions>;
17
+ test: ICredentialTestRequest;
18
+ }
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DatadogApi = void 0;
4
+ class DatadogApi {
5
+ constructor() {
6
+ this.name = 'datadogApi';
7
+ this.displayName = 'Datadog API';
8
+ this.documentationUrl = 'datadog';
9
+ this.icon = { light: 'file:icons/Datadog.svg', dark: 'file:icons/Datadog.svg' };
10
+ this.httpRequestNode = {
11
+ name: 'Datadog',
12
+ docsUrl: 'https://docs.datadoghq.com/api/latest/',
13
+ apiBaseUrlPlaceholder: 'https://api.datadoghq.com/api/v1/metrics',
14
+ };
15
+ this.properties = [
16
+ {
17
+ displayName: 'URL',
18
+ name: 'url',
19
+ required: true,
20
+ type: 'string',
21
+ default: 'https://api.datadoghq.com',
22
+ },
23
+ {
24
+ displayName: 'API Key',
25
+ name: 'apiKey',
26
+ required: true,
27
+ type: 'string',
28
+ typeOptions: { password: true },
29
+ default: '',
30
+ },
31
+ {
32
+ displayName: 'APP Key',
33
+ name: 'appKey',
34
+ required: false,
35
+ type: 'string',
36
+ default: '',
37
+ typeOptions: { password: true },
38
+ description: 'For some endpoints, you also need an Application key.',
39
+ },
40
+ ];
41
+ this.test = {
42
+ request: {
43
+ baseURL: '={{$credentials.url}}',
44
+ url: '/api/v1/validate',
45
+ method: 'GET',
46
+ },
47
+ };
48
+ }
49
+ async authenticate(credentials, requestOptions) {
50
+ requestOptions.headers = {
51
+ 'DD-API-KEY': credentials.apiKey,
52
+ 'DD-APPLICATION-KEY': credentials.appKey,
53
+ };
54
+ if (!requestOptions.headers['DD-APPLICATION-KEY']) {
55
+ delete requestOptions.headers['DD-APPLICATION-KEY'];
56
+ }
57
+ return requestOptions;
58
+ }
59
+ }
60
+ exports.DatadogApi = DatadogApi;
61
+ //# sourceMappingURL=DatadogApi.credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatadogApi.credentials.js","sourceRoot":"","sources":["../../credentials/DatadogApi.credentials.ts"],"names":[],"mappings":";;;AAQA,MAAa,UAAU;IAAvB;QACC,SAAI,GAAG,YAAY,CAAC;QAEpB,gBAAW,GAAG,aAAa,CAAC;QAE5B,qBAAgB,GAAG,SAAS,CAAC;QAE7B,SAAI,GAAG,EAAE,KAAK,EAAE,wBAAwB,EAAE,IAAI,EAAE,wBAAwB,EAAW,CAAC;QAEpF,oBAAe,GAAG;YACjB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,wCAAwC;YACjD,qBAAqB,EAAE,0CAA0C;SACjE,CAAC;QAEF,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,KAAK;gBAClB,IAAI,EAAE,KAAK;gBACX,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,2BAA2B;aACpC;YACD;gBACC,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;aACX;YACD;gBACC,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,KAAK;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,WAAW,EAAE,uDAAuD;aACpE;SACD,CAAC;QAiBF,SAAI,GAA2B;YAC9B,OAAO,EAAE;gBACR,OAAO,EAAE,uBAAuB;gBAChC,GAAG,EAAE,kBAAkB;gBACvB,MAAM,EAAE,KAAK;aACb;SACD,CAAC;IACH,CAAC;IAtBA,KAAK,CAAC,YAAY,CACjB,WAA2C,EAC3C,cAAmC;QAEnC,cAAc,CAAC,OAAO,GAAG;YACxB,YAAY,EAAE,WAAW,CAAC,MAAM;YAChC,oBAAoB,EAAE,WAAW,CAAC,MAAM;SACxC,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACnD,OAAO,cAAc,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,cAAc,CAAC;IACvB,CAAC;CASD;AAhED,gCAgEC"}
@@ -0,0 +1,18 @@
1
+ import type { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
2
+ export declare class DfirIrisApi implements ICredentialType {
3
+ name: string;
4
+ displayName: string;
5
+ documentationUrl: string;
6
+ icon: {
7
+ readonly light: "file:icons/DfirIris.svg";
8
+ readonly dark: "file:icons/DfirIris.svg";
9
+ };
10
+ httpRequestNode: {
11
+ name: string;
12
+ docsUrl: string;
13
+ apiBaseUrlPlaceholder: string;
14
+ };
15
+ properties: INodeProperties[];
16
+ authenticate: IAuthenticateGeneric;
17
+ test: ICredentialTestRequest;
18
+ }
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DfirIrisApi = void 0;
4
+ class DfirIrisApi {
5
+ constructor() {
6
+ this.name = 'dfirIrisApi';
7
+ this.displayName = 'DFIR-IRIS API';
8
+ this.documentationUrl = 'dfiriris';
9
+ this.icon = { light: 'file:icons/DfirIris.svg', dark: 'file:icons/DfirIris.svg' };
10
+ this.httpRequestNode = {
11
+ name: 'DFIR-IRIS',
12
+ docsUrl: 'https://docs.dfir-iris.org/operations/api/',
13
+ apiBaseUrlPlaceholder: 'http://<yourserver_ip>/manage/cases/list',
14
+ };
15
+ this.properties = [
16
+ {
17
+ displayName: 'Base URL',
18
+ name: 'baseUrl',
19
+ type: 'string',
20
+ default: '',
21
+ placeholder: 'e.g. https://localhost',
22
+ description: 'The API endpoints are reachable on the same Address and port as the web interface.',
23
+ required: true,
24
+ },
25
+ {
26
+ displayName: 'API Key',
27
+ name: 'apiKey',
28
+ required: true,
29
+ type: 'string',
30
+ typeOptions: { password: true },
31
+ default: '',
32
+ },
33
+ {
34
+ displayName: 'Ignore SSL Issues',
35
+ name: 'skipSslCertificateValidation',
36
+ type: 'boolean',
37
+ default: false,
38
+ },
39
+ ];
40
+ this.authenticate = {
41
+ type: 'generic',
42
+ properties: {
43
+ headers: {
44
+ Authorization: '=Bearer {{$credentials.apiKey}}',
45
+ },
46
+ },
47
+ };
48
+ this.test = {
49
+ request: {
50
+ baseURL: '={{$credentials.baseUrl}}',
51
+ url: '/api/ping',
52
+ method: 'GET',
53
+ skipSslCertificateValidation: '={{$credentials.skipSslCertificateValidation}}',
54
+ },
55
+ };
56
+ }
57
+ }
58
+ exports.DfirIrisApi = DfirIrisApi;
59
+ //# sourceMappingURL=DfirIrisApi.credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DfirIrisApi.credentials.js","sourceRoot":"","sources":["../../credentials/DfirIrisApi.credentials.ts"],"names":[],"mappings":";;;AAOA,MAAa,WAAW;IAAxB;QACC,SAAI,GAAG,aAAa,CAAC;QAErB,gBAAW,GAAG,eAAe,CAAC;QAE9B,qBAAgB,GAAG,UAAU,CAAC;QAE9B,SAAI,GAAG,EAAE,KAAK,EAAE,yBAAyB,EAAE,IAAI,EAAE,yBAAyB,EAAW,CAAC;QAEtF,oBAAe,GAAG;YACjB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,4CAA4C;YACrD,qBAAqB,EAAE,0CAA0C;SACjE,CAAC;QAEF,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,UAAU;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,wBAAwB;gBACrC,WAAW,EACV,oFAAoF;gBACrF,QAAQ,EAAE,IAAI;aACd;YACD;gBACC,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;aACX;YACD;gBACC,WAAW,EAAE,mBAAmB;gBAChC,IAAI,EAAE,8BAA8B;gBACpC,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;aACd;SACD,CAAC;QAEF,iBAAY,GAAyB;YACpC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACX,OAAO,EAAE;oBACR,aAAa,EAAE,iCAAiC;iBAChD;aACD;SACD,CAAC;QAEF,SAAI,GAA2B;YAC9B,OAAO,EAAE;gBACR,OAAO,EAAE,2BAA2B;gBACpC,GAAG,EAAE,WAAW;gBAChB,MAAM,EAAE,KAAK;gBACb,4BAA4B,EAAE,gDAAgD;aAC9E;SACD,CAAC;IACH,CAAC;CAAA;AA3DD,kCA2DC"}
@@ -0,0 +1,17 @@
1
+ import type { IAuthenticateGeneric, ICredentialType, INodeProperties } from 'n8n-workflow';
2
+ export declare class DynatraceApi implements ICredentialType {
3
+ name: string;
4
+ displayName: string;
5
+ documentationUrl: string;
6
+ icon: {
7
+ readonly light: "file:icons/Dynatrace.svg";
8
+ readonly dark: "file:icons/Dynatrace.svg";
9
+ };
10
+ httpRequestNode: {
11
+ name: string;
12
+ docsUrl: string;
13
+ apiBaseUrlPlaceholder: string;
14
+ };
15
+ properties: INodeProperties[];
16
+ authenticate: IAuthenticateGeneric;
17
+ }
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DynatraceApi = void 0;
4
+ class DynatraceApi {
5
+ constructor() {
6
+ this.name = 'dynatraceApi';
7
+ this.displayName = 'DynatraceAPI';
8
+ this.documentationUrl = 'dynatrace';
9
+ this.icon = { light: 'file:icons/Dynatrace.svg', dark: 'file:icons/Dynatrace.svg' };
10
+ this.httpRequestNode = {
11
+ name: 'Dynatrace',
12
+ docsUrl: 'https://docs.dynatrace.com/docs/dynatrace-api',
13
+ apiBaseUrlPlaceholder: 'https://{your-environment-id}.live.dynatrace.com/api/v2/events',
14
+ };
15
+ this.properties = [
16
+ {
17
+ displayName: 'API Key',
18
+ name: 'apiKey',
19
+ required: true,
20
+ type: 'string',
21
+ typeOptions: { password: true },
22
+ default: '',
23
+ },
24
+ ];
25
+ this.authenticate = {
26
+ type: 'generic',
27
+ properties: {
28
+ headers: {
29
+ Authorization: '=Api-Token {{$credentials.apiKey}}',
30
+ },
31
+ },
32
+ };
33
+ }
34
+ }
35
+ exports.DynatraceApi = DynatraceApi;
36
+ //# sourceMappingURL=DynatraceApi.credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynatraceApi.credentials.js","sourceRoot":"","sources":["../../credentials/DynatraceApi.credentials.ts"],"names":[],"mappings":";;;AAEA,MAAa,YAAY;IAAzB;QACC,SAAI,GAAG,cAAc,CAAC;QAEtB,gBAAW,GAAG,cAAc,CAAC;QAE7B,qBAAgB,GAAG,WAAW,CAAC;QAE/B,SAAI,GAAG,EAAE,KAAK,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAW,CAAC;QAExF,oBAAe,GAAG;YACjB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,+CAA+C;YACxD,qBAAqB,EAAE,gEAAgE;SACvF,CAAC;QAEF,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;aACX;SACD,CAAC;QAEF,iBAAY,GAAyB;YACpC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACX,OAAO,EAAE;oBACR,aAAa,EAAE,oCAAoC;iBACnD;aACD;SACD,CAAC;IACH,CAAC;CAAA;AAlCD,oCAkCC"}
@@ -1,7 +1,9 @@
1
- import type { ICredentialType, INodeProperties } from 'n8n-workflow';
1
+ import type { ICredentialDataDecryptedObject, ICredentialTestRequest, ICredentialType, IHttpRequestOptions, INodeProperties } from 'n8n-workflow';
2
2
  export declare class ElasticSecurityApi implements ICredentialType {
3
3
  name: string;
4
4
  displayName: string;
5
5
  documentationUrl: string;
6
6
  properties: INodeProperties[];
7
+ authenticate(credentials: ICredentialDataDecryptedObject, requestOptions: IHttpRequestOptions): Promise<IHttpRequestOptions>;
8
+ test: ICredentialTestRequest;
7
9
  }
@@ -7,12 +7,42 @@ class ElasticSecurityApi {
7
7
  this.displayName = 'Elastic Security API';
8
8
  this.documentationUrl = 'elasticSecurity';
9
9
  this.properties = [
10
+ {
11
+ displayName: 'Base URL',
12
+ name: 'baseUrl',
13
+ type: 'string',
14
+ default: '',
15
+ placeholder: 'e.g. https://mydeployment.kb.us-central1.gcp.cloud.es.io:9243',
16
+ description: "Referred to as Kibana 'endpoint' in the Elastic deployment dashboard",
17
+ required: true,
18
+ },
19
+ {
20
+ displayName: 'Type',
21
+ name: 'type',
22
+ type: 'options',
23
+ options: [
24
+ {
25
+ name: 'API Key',
26
+ value: 'apiKey',
27
+ },
28
+ {
29
+ name: 'Basic Auth',
30
+ value: 'basicAuth',
31
+ },
32
+ ],
33
+ default: 'basicAuth',
34
+ },
10
35
  {
11
36
  displayName: 'Username',
12
37
  name: 'username',
13
38
  type: 'string',
14
39
  default: '',
15
40
  required: true,
41
+ displayOptions: {
42
+ show: {
43
+ type: ['basicAuth'],
44
+ },
45
+ },
16
46
  },
17
47
  {
18
48
  displayName: 'Password',
@@ -23,17 +53,50 @@ class ElasticSecurityApi {
23
53
  },
24
54
  default: '',
25
55
  required: true,
56
+ displayOptions: {
57
+ show: {
58
+ type: ['basicAuth'],
59
+ },
60
+ },
26
61
  },
27
62
  {
28
- displayName: 'Base URL',
29
- name: 'baseUrl',
63
+ displayName: 'API Key',
64
+ name: 'apiKey',
65
+ required: true,
30
66
  type: 'string',
67
+ typeOptions: { password: true },
31
68
  default: '',
32
- placeholder: 'e.g. https://mydeployment.kb.us-central1.gcp.cloud.es.io:9243',
33
- description: "Referred to as Kibana 'endpoint' in the Elastic deployment dashboard",
34
- required: true,
69
+ displayOptions: {
70
+ show: {
71
+ type: ['apiKey'],
72
+ },
73
+ },
35
74
  },
36
75
  ];
76
+ this.test = {
77
+ request: {
78
+ baseURL: '={{$credentials.baseUrl}}',
79
+ url: '/api/endpoint/metadata',
80
+ method: 'GET',
81
+ },
82
+ };
83
+ }
84
+ async authenticate(credentials, requestOptions) {
85
+ if (credentials.type === 'apiKey') {
86
+ requestOptions.headers = {
87
+ Authorization: `ApiKey ${credentials.apiKey}`,
88
+ };
89
+ }
90
+ else {
91
+ requestOptions.auth = {
92
+ username: credentials.username,
93
+ password: credentials.password,
94
+ };
95
+ requestOptions.headers = {
96
+ 'kbn-xsrf': true,
97
+ };
98
+ }
99
+ return requestOptions;
37
100
  }
38
101
  }
39
102
  exports.ElasticSecurityApi = ElasticSecurityApi;
@@ -1 +1 @@
1
- {"version":3,"file":"ElasticSecurityApi.credentials.js","sourceRoot":"","sources":["../../credentials/ElasticSecurityApi.credentials.ts"],"names":[],"mappings":";;;AAEA,MAAa,kBAAkB;IAA/B;QACC,SAAI,GAAG,oBAAoB,CAAC;QAE5B,gBAAW,GAAG,sBAAsB,CAAC;QAErC,qBAAgB,GAAG,iBAAiB,CAAC;QAErC,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,UAAU;gBACvB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;aACd;YACD;gBACC,WAAW,EAAE,UAAU;gBACvB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE;oBACZ,QAAQ,EAAE,IAAI;iBACd;gBACD,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;aACd;YACD;gBACC,WAAW,EAAE,UAAU;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,+DAA+D;gBAC5E,WAAW,EAAE,sEAAsE;gBACnF,QAAQ,EAAE,IAAI;aACd;SACD,CAAC;IACH,CAAC;CAAA;AAnCD,gDAmCC"}
1
+ {"version":3,"file":"ElasticSecurityApi.credentials.js","sourceRoot":"","sources":["../../credentials/ElasticSecurityApi.credentials.ts"],"names":[],"mappings":";;;AAQA,MAAa,kBAAkB;IAA/B;QACC,SAAI,GAAG,oBAAoB,CAAC;QAE5B,gBAAW,GAAG,sBAAsB,CAAC;QAErC,qBAAgB,GAAG,iBAAiB,CAAC;QAErC,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,UAAU;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,+DAA+D;gBAC5E,WAAW,EAAE,sEAAsE;gBACnF,QAAQ,EAAE,IAAI;aACd;YACD;gBACC,WAAW,EAAE,MAAM;gBACnB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE;oBACR;wBACC,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,QAAQ;qBACf;oBACD;wBACC,IAAI,EAAE,YAAY;wBAClB,KAAK,EAAE,WAAW;qBAClB;iBACD;gBACD,OAAO,EAAE,WAAW;aACpB;YACD;gBACC,WAAW,EAAE,UAAU;gBACvB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;gBACd,cAAc,EAAE;oBACf,IAAI,EAAE;wBACL,IAAI,EAAE,CAAC,WAAW,CAAC;qBACnB;iBACD;aACD;YACD;gBACC,WAAW,EAAE,UAAU;gBACvB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE;oBACZ,QAAQ,EAAE,IAAI;iBACd;gBACD,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;gBACd,cAAc,EAAE;oBACf,IAAI,EAAE;wBACL,IAAI,EAAE,CAAC,WAAW,CAAC;qBACnB;iBACD;aACD;YACD;gBACC,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;gBACX,cAAc,EAAE;oBACf,IAAI,EAAE;wBACL,IAAI,EAAE,CAAC,QAAQ,CAAC;qBAChB;iBACD;aACD;SACD,CAAC;QAsBF,SAAI,GAA2B;YAC9B,OAAO,EAAE;gBACR,OAAO,EAAE,2BAA2B;gBACpC,GAAG,EAAE,wBAAwB;gBAC7B,MAAM,EAAE,KAAK;aACb;SACD,CAAC;IACH,CAAC;IA3BA,KAAK,CAAC,YAAY,CACjB,WAA2C,EAC3C,cAAmC;QAEnC,IAAI,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnC,cAAc,CAAC,OAAO,GAAG;gBACxB,aAAa,EAAE,UAAU,WAAW,CAAC,MAAM,EAAE;aAC7C,CAAC;QACH,CAAC;aAAM,CAAC;YACP,cAAc,CAAC,IAAI,GAAG;gBACrB,QAAQ,EAAE,WAAW,CAAC,QAAkB;gBACxC,QAAQ,EAAE,WAAW,CAAC,QAAkB;aACxC,CAAC;YACF,cAAc,CAAC,OAAO,GAAG;gBACxB,UAAU,EAAE,IAAI;aAChB,CAAC;QACH,CAAC;QACD,OAAO,cAAc,CAAC;IACvB,CAAC;CASD;AAtGD,gDAsGC"}
@@ -0,0 +1,18 @@
1
+ import type { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
2
+ export declare class FilescanApi implements ICredentialType {
3
+ name: string;
4
+ displayName: string;
5
+ documentationUrl: string;
6
+ icon: {
7
+ readonly light: "file:icons/Filescan.svg";
8
+ readonly dark: "file:icons/Filescan.svg";
9
+ };
10
+ httpRequestNode: {
11
+ name: string;
12
+ docsUrl: string;
13
+ apiBaseUrlPlaceholder: string;
14
+ };
15
+ properties: INodeProperties[];
16
+ authenticate: IAuthenticateGeneric;
17
+ test: ICredentialTestRequest;
18
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FilescanApi = void 0;
4
+ class FilescanApi {
5
+ constructor() {
6
+ this.name = 'filescanApi';
7
+ this.displayName = 'Filescan API';
8
+ this.documentationUrl = 'filescan';
9
+ this.icon = { light: 'file:icons/Filescan.svg', dark: 'file:icons/Filescan.svg' };
10
+ this.httpRequestNode = {
11
+ name: 'Filescan',
12
+ docsUrl: 'https://www.filescan.io/api/docs',
13
+ apiBaseUrlPlaceholder: 'https://www.filescan.io/api/system/do-healthcheck',
14
+ };
15
+ this.properties = [
16
+ {
17
+ displayName: 'API Key',
18
+ name: 'apiKey',
19
+ required: true,
20
+ type: 'string',
21
+ typeOptions: { password: true },
22
+ default: '',
23
+ },
24
+ ];
25
+ this.authenticate = {
26
+ type: 'generic',
27
+ properties: {
28
+ headers: {
29
+ 'X-Api-Key': '={{$credentials.apiKey}}',
30
+ },
31
+ },
32
+ };
33
+ this.test = {
34
+ request: {
35
+ baseURL: 'https://www.filescan.io/api',
36
+ url: '/system/do-healthcheck',
37
+ method: 'GET',
38
+ },
39
+ };
40
+ }
41
+ }
42
+ exports.FilescanApi = FilescanApi;
43
+ //# sourceMappingURL=FilescanApi.credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilescanApi.credentials.js","sourceRoot":"","sources":["../../credentials/FilescanApi.credentials.ts"],"names":[],"mappings":";;;AAOA,MAAa,WAAW;IAAxB;QACC,SAAI,GAAG,aAAa,CAAC;QAErB,gBAAW,GAAG,cAAc,CAAC;QAE7B,qBAAgB,GAAG,UAAU,CAAC;QAE9B,SAAI,GAAG,EAAE,KAAK,EAAE,yBAAyB,EAAE,IAAI,EAAE,yBAAyB,EAAW,CAAC;QAEtF,oBAAe,GAAG;YACjB,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,kCAAkC;YAC3C,qBAAqB,EAAE,mDAAmD;SAC1E,CAAC;QAEF,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;aACX;SACD,CAAC;QAEF,iBAAY,GAAyB;YACpC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACX,OAAO,EAAE;oBACR,WAAW,EAAE,0BAA0B;iBACvC;aACD;SACD,CAAC;QAEF,SAAI,GAA2B;YAC9B,OAAO,EAAE;gBACR,OAAO,EAAE,6BAA6B;gBACtC,GAAG,EAAE,wBAAwB;gBAC7B,MAAM,EAAE,KAAK;aACb;SACD,CAAC;IACH,CAAC;CAAA;AA1CD,kCA0CC"}
@@ -0,0 +1,18 @@
1
+ import type { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
2
+ export declare class MalcoreApi implements ICredentialType {
3
+ name: string;
4
+ displayName: string;
5
+ documentationUrl: string;
6
+ icon: {
7
+ readonly light: "file:icons/Malcore.png";
8
+ readonly dark: "file:icons/Malcore.png";
9
+ };
10
+ httpRequestNode: {
11
+ name: string;
12
+ docsUrl: string;
13
+ apiBaseUrlPlaceholder: string;
14
+ };
15
+ properties: INodeProperties[];
16
+ authenticate: IAuthenticateGeneric;
17
+ test: ICredentialTestRequest;
18
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MalcoreApi = void 0;
4
+ class MalcoreApi {
5
+ constructor() {
6
+ this.name = 'malcoreApi';
7
+ this.displayName = 'MalcoreAPI';
8
+ this.documentationUrl = 'malcore';
9
+ this.icon = { light: 'file:icons/Malcore.png', dark: 'file:icons/Malcore.png' };
10
+ this.httpRequestNode = {
11
+ name: 'Malcore',
12
+ docsUrl: 'https://malcore.readme.io/reference/upload',
13
+ apiBaseUrlPlaceholder: 'https://api.malcore.io/api/urlcheck',
14
+ };
15
+ this.properties = [
16
+ {
17
+ displayName: 'API Key',
18
+ name: 'apiKey',
19
+ required: true,
20
+ type: 'string',
21
+ typeOptions: { password: true },
22
+ default: '',
23
+ },
24
+ ];
25
+ this.authenticate = {
26
+ type: 'generic',
27
+ properties: {
28
+ headers: {
29
+ apiKey: '={{$credentials.apiKey}}',
30
+ },
31
+ },
32
+ };
33
+ this.test = {
34
+ request: {
35
+ baseURL: 'https://api.malcore.io/api',
36
+ url: '/urlcheck',
37
+ method: 'POST',
38
+ body: { url: 'google.com' },
39
+ },
40
+ };
41
+ }
42
+ }
43
+ exports.MalcoreApi = MalcoreApi;
44
+ //# sourceMappingURL=MalcoreApi.credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MalcoreApi.credentials.js","sourceRoot":"","sources":["../../credentials/MalcoreApi.credentials.ts"],"names":[],"mappings":";;;AAOA,MAAa,UAAU;IAAvB;QACC,SAAI,GAAG,YAAY,CAAC;QAEpB,gBAAW,GAAG,YAAY,CAAC;QAE3B,qBAAgB,GAAG,SAAS,CAAC;QAE7B,SAAI,GAAG,EAAE,KAAK,EAAE,wBAAwB,EAAE,IAAI,EAAE,wBAAwB,EAAW,CAAC;QAEpF,oBAAe,GAAG;YACjB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,4CAA4C;YACrD,qBAAqB,EAAE,qCAAqC;SAC5D,CAAC;QAEF,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;aACX;SACD,CAAC;QAEF,iBAAY,GAAyB;YACpC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACX,OAAO,EAAE;oBACR,MAAM,EAAE,0BAA0B;iBAClC;aACD;SACD,CAAC;QAEF,SAAI,GAA2B;YAC9B,OAAO,EAAE;gBACR,OAAO,EAAE,4BAA4B;gBACrC,GAAG,EAAE,WAAW;gBAChB,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE;aAC3B;SACD,CAAC;IACH,CAAC;CAAA;AA3CD,gCA2CC"}
@@ -0,0 +1 @@
1
+ <svg height="2500" viewBox=".27 .27 800.01 858.98" width="2328" xmlns="http://www.w3.org/2000/svg"><path d="m670.38 608.27-71.24-46.99-59.43 99.27-69.12-20.21-60.86 92.89 3.12 29.24 330.9-60.97-19.22-206.75zm-308.59-89.14 53.09-7.3c8.59 3.86 14.57 5.33 24.87 7.95 16.04 4.18 34.61 8.19 62.11-5.67 6.4-3.17 19.73-15.36 25.12-22.31l217.52-39.46 22.19 268.56-372.65 67.16zm404.06-96.77-21.47 4.09-41.25-426.18-702.86 81.5 86.59 702.68 82.27-11.94c-6.57-9.38-16.8-20.73-34.27-35.26-24.23-20.13-15.66-54.32-1.37-75.91 18.91-36.48 116.34-82.84 110.82-141.15-1.98-21.2-5.35-48.8-25.03-67.71-.74 7.85.59 15.41.59 15.41s-8.08-10.31-12.11-24.37c-4-5.39-7.14-7.11-11.39-14.31-3.03 8.33-2.63 17.99-2.63 17.99s-6.61-15.62-7.68-28.8c-3.92 5.9-4.91 17.11-4.91 17.11s-8.59-24.62-6.63-37.88c-3.92-11.54-15.54-34.44-12.25-86.49 21.45 15.03 68.67 11.46 87.07-15.66 6.11-8.98 10.29-33.5-3.05-81.81-8.57-30.98-29.79-77.11-38.06-94.61l-.99.71c4.36 14.1 13.35 43.66 16.8 57.99 10.44 43.47 13.24 58.6 8.34 78.64-4.17 17.42-14.17 28.82-39.52 41.56-25.35 12.78-58.99-18.32-61.12-20.04-24.63-19.62-43.68-51.63-45.81-67.18-2.21-17.02 9.81-27.24 15.87-41.16-8.67 2.48-18.34 6.88-18.34 6.88s11.54-11.94 25.77-22.27c5.89-3.9 9.35-6.38 15.56-11.54-8.99-.15-16.29.11-16.29.11s14.99-8.1 30.53-14c-11.37-.5-22.25-.08-22.25-.08s33.45-14.96 59.87-25.94c18.17-7.45 35.92-5.25 45.89 9.17 13.09 18.89 26.84 29.15 55.98 35.51 17.89-7.93 23.33-12.01 45.81-18.13 19.79-21.76 35.33-24.58 35.33-24.58s-7.71 7.07-9.77 18.18c11.22-8.84 23.52-16.22 23.52-16.22s-4.76 5.88-9.2 15.22l1.03 1.53c13.09-7.85 28.48-14.04 28.48-14.04s-4.4 5.56-9.56 12.76c9.87-.08 29.89.42 37.66 1.3 45.87 1.01 55.39-48.99 72.99-55.26 22.04-7.87 31.89-12.63 69.45 24.26 32.23 31.67 57.41 88.36 44.91 101.06-10.48 10.54-31.16-4.11-54.08-32.68-12.11-15.13-21.27-33.01-25.56-55.74-3.62-19.18-17.71-30.31-17.71-30.31s8.18 18.18 8.18 34.24c0 8.77 1.1 41.56 15.16 59.96-1.39 2.69-2.04 13.31-3.58 15.34-16.36-19.77-51.49-33.92-57.22-38.09 19.39 15.89 63.96 52.39 81.08 87.37 16.19 33.08 6.65 63.4 14.84 71.25 2.33 2.25 34.82 42.73 41.07 63.07 10.9 35.45.65 72.7-13.62 95.81l-39.85 6.21c-5.83-1.62-9.76-2.43-14.99-5.46 2.88-5.1 8.61-17.82 8.67-20.44l-2.25-3.95c-12.4 17.57-33.18 34.63-50.44 44.43-22.59 12.8-48.63 10.83-65.58 5.58-48.11-14.84-93.6-47.35-104.57-55.89 0 0-.34 6.82 1.73 8.35 12.13 13.68 39.92 38.43 66.78 55.68l-57.26 6.3 27.07 210.78c-12 1.72-13.87 2.56-27.01 4.43-11.58-40.91-33.73-67.62-57.94-83.18-21.35-13.72-50.8-16.81-78.99-11.23l-1.81 2.1c19.6-2.04 42.74.8 66.51 15.85 23.33 14.75 42.13 52.85 49.05 75.79 8.86 29.32 14.99 60.68-8.86 93.92-16.97 23.63-66.51 36.69-106.53 8.44 10.69 17.19 25.14 31.25 44.59 33.9 28.88 3.92 56.29-1.09 75.16-20.46 16.11-16.56 24.65-51.19 22.4-87.66l25.49-3.7 9.2 65.46 421.98-50.81zm-256.73-177.77c-1.18 2.69-3.03 4.45-.25 13.2l.17.5.44 1.13 1.16 2.62c5.01 10.24 10.51 19.9 19.7 24.83 2.38-.4 4.84-.67 7.39-.8 8.63-.38 14.08.99 17.54 2.85.31-1.72.38-4.24.19-7.95-.67-12.97 2.57-35.03-22.36-46.64-9.41-4.37-22.61-3.02-27.01 2.43.8.1 1.52.27 2.08.46 6.65 2.33 2.14 4.62.95 7.37m69.87 121.02c-3.27-1.8-18.55-1.09-29.29.19-20.46 2.41-42.55 9.51-47.39 13.29-8.8 6.8-4.8 18.66 1.7 23.53 18.23 13.62 34.21 22.75 51.08 20.53 10.36-1.36 19.49-17.76 25.96-32.64 4.43-10.25 4.43-21.31-2.06-24.9m-181.14-104.96c5.77-5.48-28.74-12.68-55.52 5.58-19.75 13.47-20.38 42.35-1.47 58.72 1.89 1.62 3.45 2.77 4.91 3.71 5.52-2.6 11.81-5.23 19.05-7.58 12.23-3.97 22.4-6.02 30.76-7.11 4-4.47 8.65-12.34 7.49-26.59-1.58-19.33-16.23-16.26-5.22-26.73" fill="#632ca6"/></svg>