From f6d0f28b3a4611336cfdddbc43b8ed2b61404ae7 Mon Sep 17 00:00:00 2001 From: Sebastian Kaempfe Date: Thu, 12 Jan 2023 11:34:37 +0100 Subject: [PATCH 01/26] [#2593] during certificate evaluation also set the cert type for improved notifications --- server/util-server.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/server/util-server.js b/server/util-server.js index 60d8baac7..d9741a7c6 100644 --- a/server/util-server.js +++ b/server/util-server.js @@ -445,12 +445,16 @@ const parseCertificateInfo = function (info) { // Move up the chain until loop is encountered if (link.issuerCertificate == null) { + link.certType = (i === 0) ? "self-signed" : "root CA"; break; } else if (link.issuerCertificate.fingerprint in existingList) { + // a root CA certificate is typically "signed by itself" (=> "self signed certificate") and thus the "issuerCertificate" is a reference to itself. log.debug("cert", `[Last] ${link.issuerCertificate.fingerprint}`); + link.certType = (i === 0) ? "self-signed" : "root CA"; link.issuerCertificate = null; break; } else { + link.certType = (i === 0) ? "server" : "intermediate CA"; link = link.issuerCertificate; } From a21a47de933222fb6abc1823e48602239a5a502e Mon Sep 17 00:00:00 2001 From: Sebastian Kaempfe Date: Thu, 12 Jan 2023 11:39:36 +0100 Subject: [PATCH 02/26] [#2593] renamed the method `sendCertNotification` to better represent what id does. Evaluate certificate expiry from all certs in chain. Send a separate notification for every cert in chain, including cert type and CN. --- server/model/monitor.js | 95 ++++++++++++++++++++++------------------- 1 file changed, 51 insertions(+), 44 deletions(-) diff --git a/server/model/monitor.js b/server/model/monitor.js index 9f8c8300a..dbb16217c 100644 --- a/server/model/monitor.js +++ b/server/model/monitor.js @@ -322,8 +322,8 @@ class Monitor extends BeanModel { tlsInfo = await this.updateTlsInfo(tlsInfoObject); if (!this.getIgnoreTls() && this.isEnabledExpiryNotification()) { - log.debug("monitor", `[${this.name}] call sendCertNotification`); - await this.sendCertNotification(tlsInfoObject); + log.debug("monitor", `[${this.name}] call checkCertExpiryNotifications`); + await this.checkCertExpiryNotifications(tlsInfoObject); } } catch (e) { @@ -1117,13 +1117,19 @@ class Monitor extends BeanModel { } /** - * Send notification about a certificate + * checks certificate chain for expiring certificates * @param {Object} tlsInfoObject Information about certificate */ - async sendCertNotification(tlsInfoObject) { + async checkCertExpiryNotifications(tlsInfoObject) { if (tlsInfoObject && tlsInfoObject.certInfo && tlsInfoObject.certInfo.daysRemaining) { const notificationList = await Monitor.getNotificationList(this); + if (! notificationList.length > 0) { + // fail fast. If no notification is set, all the following checks can be skipped. + log.debug("monitor", "No notification, no need to send cert notification"); + return; + } + let notifyDays = await setting("tlsExpiryNotifyDays"); if (notifyDays == null || !Array.isArray(notifyDays)) { // Reset Default @@ -1131,10 +1137,19 @@ class Monitor extends BeanModel { notifyDays = [ 7, 14, 21 ]; } - if (notifyDays != null && Array.isArray(notifyDays)) { - for (const day of notifyDays) { - log.debug("monitor", "call sendCertNotificationByTargetDays", day); - await this.sendCertNotificationByTargetDays(tlsInfoObject.certInfo.daysRemaining, day, notificationList); + if (Array.isArray(notifyDays)) { + for (const targetDays of notifyDays) { + let certInfo = tlsInfoObject.certInfo; + while (certInfo) { + let subjectCN = certInfo.subject["CN"]; + if (certInfo.daysRemaining > targetDays) { + log.debug("monitor", `No need to send cert notification for ${certInfo.certType} certificate "${subjectCN}" (${certInfo.daysRemaining} days valid) on ${targetDays} deadline.`); + } else { + log.debug("monitor", `call sendCertNotificationByTargetDays for ${targetDays} deadline on certificate ${subjectCN}.`); + await this.sendCertNotificationByTargetDays(subjectCN, certInfo.certType, certInfo.daysRemaining, targetDays, notificationList); + } + certInfo = certInfo.issuerCertificate; + } } } } @@ -1143,55 +1158,47 @@ class Monitor extends BeanModel { /** * Send a certificate notification when certificate expires in less * than target days - * @param {number} daysRemaining Number of days remaining on certifcate + * @param {string} certCN Common Name attribute from the certificate subject + * @param {string} certType certificate type + * @param {number} daysRemaining Number of days remaining on certificate * @param {number} targetDays Number of days to alert after * @param {LooseObject[]} notificationList List of notification providers * @returns {Promise} */ - async sendCertNotificationByTargetDays(daysRemaining, targetDays, notificationList) { + async sendCertNotificationByTargetDays(certCN, certType, daysRemaining, targetDays, notificationList) { - if (daysRemaining > targetDays) { - log.debug("monitor", `No need to send cert notification. ${daysRemaining} > ${targetDays}`); + let row = await R.getRow("SELECT * FROM notification_sent_history WHERE type = ? AND monitor_id = ? AND days = ?", [ + "certificate", + this.id, + targetDays, + ]); + + // Sent already, no need to send again + if (row) { + log.debug("monitor", "Sent already, no need to send again"); return; } - if (notificationList.length > 0) { + let sent = false; + log.debug("monitor", "Send certificate notification"); - let row = await R.getRow("SELECT * FROM notification_sent_history WHERE type = ? AND monitor_id = ? AND days = ?", [ + for (let notification of notificationList) { + try { + log.debug("monitor", "Sending to " + notification.name); + await Notification.send(JSON.parse(notification.config), `[${this.name}][${this.url}] ${certType} certificate ${certCN} will be expired in ${daysRemaining} days`); + sent = true; + } catch (e) { + log.error("monitor", "Cannot send cert notification to " + notification.name); + log.error("monitor", e); + } + } + + if (sent) { + await R.exec("INSERT INTO notification_sent_history (type, monitor_id, days) VALUES(?, ?, ?)", [ "certificate", this.id, targetDays, ]); - - // Sent already, no need to send again - if (row) { - log.debug("monitor", "Sent already, no need to send again"); - return; - } - - let sent = false; - log.debug("monitor", "Send certificate notification"); - - for (let notification of notificationList) { - try { - log.debug("monitor", "Sending to " + notification.name); - await Notification.send(JSON.parse(notification.config), `[${this.name}][${this.url}] Certificate will be expired in ${daysRemaining} days`); - sent = true; - } catch (e) { - log.error("monitor", "Cannot send cert notification to " + notification.name); - log.error("monitor", e); - } - } - - if (sent) { - await R.exec("INSERT INTO notification_sent_history (type, monitor_id, days) VALUES(?, ?, ?)", [ - "certificate", - this.id, - targetDays, - ]); - } - } else { - log.debug("monitor", "No notification, no need to send cert notification"); } } From a6894d36f2ed64178f872058cb2d652372bcbacd Mon Sep 17 00:00:00 2001 From: Sebastian Kaempfe Date: Mon, 30 Jan 2023 15:55:12 +0100 Subject: [PATCH 03/26] [#2501] Dashboard: Details Page - enable clickable URL on Dashboard Details if monitor is of type `mp-health` --- src/pages/Details.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/Details.vue b/src/pages/Details.vue index 8325caa45..bd719ac13 100644 --- a/src/pages/Details.vue +++ b/src/pages/Details.vue @@ -6,7 +6,7 @@

- {{ monitor.url }} + {{ monitor.url }} TCP Ping {{ monitor.hostname }}:{{ monitor.port }} Ping: {{ monitor.hostname }} From 56d716cee4690bd82c05c10acb2f329c19c4a23b Mon Sep 17 00:00:00 2001 From: Yoswaris Lawpaiboon <22832362+kiznick@users.noreply.github.com> Date: Fri, 10 Mar 2023 17:46:45 +0700 Subject: [PATCH 04/26] Create badge-list.md --- badge-list.md | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100644 badge-list.md diff --git a/badge-list.md b/badge-list.md new file mode 100644 index 000000000..f5fdf332d --- /dev/null +++ b/badge-list.md @@ -0,0 +1,122 @@ +``` + label, + upLabel = "Up", + downLabel = "Down", + pendingLabel = "Pending", + maintenanceLabel = "Maintenance", + upColor = badgeConstants.defaultUpColor, + downColor = badgeConstants.defaultDownColor, + pendingColor = badgeConstants.defaultPendingColor, + maintenanceColor = badgeConstants.defaultMaintenanceColor, + style = badgeConstants.defaultStyle, + value, // for demo purpose only +``` + +``` +/api/badge/:id/uptime/:duration? + label, + labelPrefix, + labelSuffix = badgeConstants.defaultUptimeLabelSuffix, + prefix, + suffix = badgeConstants.defaultUptimeValueSuffix, + color, + labelColor, + style = badgeConstants.defaultStyle, + value, // for demo purpose only +``` + +``` +/api/badge/:id/ping/:duration? + label, + labelPrefix, + labelSuffix = badgeConstants.defaultPingLabelSuffix, + prefix, + suffix = badgeConstants.defaultPingValueSuffix, + color = badgeConstants.defaultPingColor, + labelColor, + style = badgeConstants.defaultStyle, + value, // for demo purpose only +``` + +``` +/api/badge/:id/avg-response/:duration? + label, + labelPrefix, + labelSuffix, + prefix, + suffix = badgeConstants.defaultPingValueSuffix, + color = badgeConstants.defaultPingColor, + labelColor, + style = badgeConstants.defaultStyle, + value, // for demo purpose only +``` + +``` +/api/badge/:id/cert-exp + label, + labelPrefix, + labelSuffix, + prefix, + suffix = date ? "" : badgeConstants.defaultCertExpValueSuffix, + upColor = badgeConstants.defaultUpColor, + warnColor = badgeConstants.defaultWarnColor, + downColor = badgeConstants.defaultDownColor, + warnDays = badgeConstants.defaultCertExpireWarnDays, + downDays = badgeConstants.defaultCertExpireDownDays, + labelColor, + style = badgeConstants.defaultStyle, + value, // for demo purpose only +``` + +``` +/api/badge/:id/response + label, + labelPrefix, + labelSuffix, + prefix, + suffix = badgeConstants.defaultPingValueSuffix, + color = badgeConstants.defaultPingColor, + labelColor, + style = badgeConstants.defaultStyle, + value, // for demo purpose only +``` + +``` +Use in all routes + label + prefix + suffix, + labelColor + style = badgeConstants.defaultStyle, + value // for demo purpose only +``` + +``` +Use in all routes except status and cert-exp + color +``` + +``` +Use in all routes except status + labelPrefix + labelSuffix +``` + +``` +Use in routes status and cert-exp + upColor = badgeConstants.defaultUpColor, + downColor = badgeConstants.defaultDownColor, +``` + +``` +Use in status route only + pendingColor = badgeConstants.defaultPendingColor, + maintenanceColor = badgeConstants.defaultMaintenanceColor, +``` + +``` +Use in cert-exp route only + warnColor = badgeConstants.defaultWarnColor, + warnDays = badgeConstants.defaultCertExpireWarnDays, + downDays = badgeConstants.defaultCertExpireDownDays, +``` \ No newline at end of file From 3bbf269da036776b28064c38e397412975cd0231 Mon Sep 17 00:00:00 2001 From: Yoswaris Lawpaiboon <22832362+kiznick@users.noreply.github.com> Date: Fri, 10 Mar 2023 19:25:04 +0700 Subject: [PATCH 05/26] generator modal --- badge-list.md | 1 + src/components/BadgeGeneratorDialog.vue | 283 ++++++++++++++++++++++++ src/components/PublicGroupList.vue | 14 +- 3 files changed, 297 insertions(+), 1 deletion(-) create mode 100644 src/components/BadgeGeneratorDialog.vue diff --git a/badge-list.md b/badge-list.md index f5fdf332d..958eb1006 100644 --- a/badge-list.md +++ b/badge-list.md @@ -1,3 +1,4 @@ +/api/badge/:id/status ``` label, upLabel = "Up", diff --git a/src/components/BadgeGeneratorDialog.vue b/src/components/BadgeGeneratorDialog.vue new file mode 100644 index 000000000..1be45100d --- /dev/null +++ b/src/components/BadgeGeneratorDialog.vue @@ -0,0 +1,283 @@ + + + + + diff --git a/src/components/PublicGroupList.vue b/src/components/PublicGroupList.vue index 1b4d004b9..3345a991c 100644 --- a/src/components/PublicGroupList.vue +++ b/src/components/PublicGroupList.vue @@ -57,10 +57,19 @@ v-if="editMode" :class="{'link-active': monitor.element.sendUrl, 'btn-link': true}" icon="link" class="action me-3" - @click="toggleLink(group.index, monitor.index)" /> + + + +

@@ -70,6 +79,7 @@
+ @@ -80,6 +90,7 @@ From 771ca093311da70e807462c8077fca963a14cedc Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Thu, 25 May 2023 13:41:35 +0800 Subject: [PATCH 16/26] npm update (mainly for socket.io) --- package-lock.json | 858 ++++++++++++++++++++++++---------------------- package.json | 6 +- 2 files changed, 448 insertions(+), 416 deletions(-) diff --git a/package-lock.json b/package-lock.json index 71f8196fe..88246a5e0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -64,8 +64,7 @@ "socks-proxy-agent": "6.1.1", "tar": "~6.1.11", "tcp-ping": "~0.1.1", - "thirty-two": "~1.0.2", - "whatwg-url": "^12.0.1" + "thirty-two": "~1.0.2" }, "devDependencies": { "@actions/github": "~5.0.1", @@ -127,7 +126,8 @@ "vue-router": "~4.0.14", "vue-toastification": "~2.0.0-rc.5", "vuedraggable": "~4.1.0", - "wait-on": "^6.0.1" + "wait-on": "^6.0.1", + "whatwg-url": "~12.0.1" }, "engines": { "node": "14.* || >=16.*" @@ -254,12 +254,12 @@ "optional": true }, "node_modules/@aws-sdk/abort-controller": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.329.0.tgz", - "integrity": "sha512-hzrjPNQcJoSPe0oS20V5i98oiEZSM3mKNiR6P3xHTHTPI/F23lyjGZ+/CSkCmJbSWfGZ5sHZZcU6AWuS7xBdTw==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.338.0.tgz", + "integrity": "sha512-/yLI32+HwFNBRJ39jMXw+/cn3AnlCuJpQd7Ax4887g32Dgte5eyrfY8sJUOL6902BUmAq4oSRI5QeBXNplO0Xw==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.338.0", "tslib": "^2.5.0" }, "engines": { @@ -267,45 +267,46 @@ } }, "node_modules/@aws-sdk/client-cognito-identity": { - "version": "3.332.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.332.0.tgz", - "integrity": "sha512-o2G3+w0Qm+jd5fnmG6+FF5KRu90PIv2Kd0mmMJIFmACVd+VtuWqsk85capX21YLcxizKe+okqaaD8/9vV7nvfw==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.338.0.tgz", + "integrity": "sha512-1gu9gXJwrxGGGMlBzmM4d8mkNjD1M8tWo+vmT/Aq1EMBxGef3eN0k6SyeIruj2Jns3olC6pjTIU8zb3vVBkh5Q==", "optional": true, "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.332.0", - "@aws-sdk/config-resolver": "3.329.0", - "@aws-sdk/credential-provider-node": "3.332.0", - "@aws-sdk/fetch-http-handler": "3.329.0", - "@aws-sdk/hash-node": "3.329.0", - "@aws-sdk/invalid-dependency": "3.329.0", - "@aws-sdk/middleware-content-length": "3.329.0", - "@aws-sdk/middleware-endpoint": "3.329.0", - "@aws-sdk/middleware-host-header": "3.329.0", - "@aws-sdk/middleware-logger": "3.329.0", - "@aws-sdk/middleware-recursion-detection": "3.329.0", - "@aws-sdk/middleware-retry": "3.329.0", - "@aws-sdk/middleware-serde": "3.329.0", - "@aws-sdk/middleware-signing": "3.329.0", - "@aws-sdk/middleware-stack": "3.329.0", - "@aws-sdk/middleware-user-agent": "3.332.0", - "@aws-sdk/node-config-provider": "3.329.0", - "@aws-sdk/node-http-handler": "3.329.0", - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/smithy-client": "3.329.0", - "@aws-sdk/types": "3.329.0", - "@aws-sdk/url-parser": "3.329.0", + "@aws-sdk/client-sts": "3.338.0", + "@aws-sdk/config-resolver": "3.338.0", + "@aws-sdk/credential-provider-node": "3.338.0", + "@aws-sdk/fetch-http-handler": "3.338.0", + "@aws-sdk/hash-node": "3.338.0", + "@aws-sdk/invalid-dependency": "3.338.0", + "@aws-sdk/middleware-content-length": "3.338.0", + "@aws-sdk/middleware-endpoint": "3.338.0", + "@aws-sdk/middleware-host-header": "3.338.0", + "@aws-sdk/middleware-logger": "3.338.0", + "@aws-sdk/middleware-recursion-detection": "3.338.0", + "@aws-sdk/middleware-retry": "3.338.0", + "@aws-sdk/middleware-serde": "3.338.0", + "@aws-sdk/middleware-signing": "3.338.0", + "@aws-sdk/middleware-stack": "3.338.0", + "@aws-sdk/middleware-user-agent": "3.338.0", + "@aws-sdk/node-config-provider": "3.338.0", + "@aws-sdk/node-http-handler": "3.338.0", + "@aws-sdk/smithy-client": "3.338.0", + "@aws-sdk/types": "3.338.0", + "@aws-sdk/url-parser": "3.338.0", "@aws-sdk/util-base64": "3.310.0", "@aws-sdk/util-body-length-browser": "3.310.0", "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.329.0", - "@aws-sdk/util-defaults-mode-node": "3.329.0", - "@aws-sdk/util-endpoints": "3.332.0", - "@aws-sdk/util-retry": "3.329.0", - "@aws-sdk/util-user-agent-browser": "3.329.0", - "@aws-sdk/util-user-agent-node": "3.329.0", + "@aws-sdk/util-defaults-mode-browser": "3.338.0", + "@aws-sdk/util-defaults-mode-node": "3.338.0", + "@aws-sdk/util-endpoints": "3.338.0", + "@aws-sdk/util-retry": "3.338.0", + "@aws-sdk/util-user-agent-browser": "3.338.0", + "@aws-sdk/util-user-agent-node": "3.338.0", "@aws-sdk/util-utf8": "3.310.0", + "@smithy/protocol-http": "^1.0.1", + "@smithy/types": "^1.0.0", "tslib": "^2.5.0" }, "engines": { @@ -313,42 +314,43 @@ } }, "node_modules/@aws-sdk/client-sso": { - "version": "3.332.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.332.0.tgz", - "integrity": "sha512-4q1Nko8M6YVANdEiLYvdv1qb00j4xN4ppE/6d4xpGp7DxHYlm0GA762h0/TR2dun+2I+SMnwj4Fv6BxOmzBaEw==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.338.0.tgz", + "integrity": "sha512-EglKsGlVph65PuFPKq1nGlxsY99XM2xHJaB1uX0bQEC94qrmS/M4a5kno5tiUnTWO1K+K4JBQiOxdGJs0GUS+w==", "optional": true, "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.329.0", - "@aws-sdk/fetch-http-handler": "3.329.0", - "@aws-sdk/hash-node": "3.329.0", - "@aws-sdk/invalid-dependency": "3.329.0", - "@aws-sdk/middleware-content-length": "3.329.0", - "@aws-sdk/middleware-endpoint": "3.329.0", - "@aws-sdk/middleware-host-header": "3.329.0", - "@aws-sdk/middleware-logger": "3.329.0", - "@aws-sdk/middleware-recursion-detection": "3.329.0", - "@aws-sdk/middleware-retry": "3.329.0", - "@aws-sdk/middleware-serde": "3.329.0", - "@aws-sdk/middleware-stack": "3.329.0", - "@aws-sdk/middleware-user-agent": "3.332.0", - "@aws-sdk/node-config-provider": "3.329.0", - "@aws-sdk/node-http-handler": "3.329.0", - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/smithy-client": "3.329.0", - "@aws-sdk/types": "3.329.0", - "@aws-sdk/url-parser": "3.329.0", + "@aws-sdk/config-resolver": "3.338.0", + "@aws-sdk/fetch-http-handler": "3.338.0", + "@aws-sdk/hash-node": "3.338.0", + "@aws-sdk/invalid-dependency": "3.338.0", + "@aws-sdk/middleware-content-length": "3.338.0", + "@aws-sdk/middleware-endpoint": "3.338.0", + "@aws-sdk/middleware-host-header": "3.338.0", + "@aws-sdk/middleware-logger": "3.338.0", + "@aws-sdk/middleware-recursion-detection": "3.338.0", + "@aws-sdk/middleware-retry": "3.338.0", + "@aws-sdk/middleware-serde": "3.338.0", + "@aws-sdk/middleware-stack": "3.338.0", + "@aws-sdk/middleware-user-agent": "3.338.0", + "@aws-sdk/node-config-provider": "3.338.0", + "@aws-sdk/node-http-handler": "3.338.0", + "@aws-sdk/smithy-client": "3.338.0", + "@aws-sdk/types": "3.338.0", + "@aws-sdk/url-parser": "3.338.0", "@aws-sdk/util-base64": "3.310.0", "@aws-sdk/util-body-length-browser": "3.310.0", "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.329.0", - "@aws-sdk/util-defaults-mode-node": "3.329.0", - "@aws-sdk/util-endpoints": "3.332.0", - "@aws-sdk/util-retry": "3.329.0", - "@aws-sdk/util-user-agent-browser": "3.329.0", - "@aws-sdk/util-user-agent-node": "3.329.0", + "@aws-sdk/util-defaults-mode-browser": "3.338.0", + "@aws-sdk/util-defaults-mode-node": "3.338.0", + "@aws-sdk/util-endpoints": "3.338.0", + "@aws-sdk/util-retry": "3.338.0", + "@aws-sdk/util-user-agent-browser": "3.338.0", + "@aws-sdk/util-user-agent-node": "3.338.0", "@aws-sdk/util-utf8": "3.310.0", + "@smithy/protocol-http": "^1.0.1", + "@smithy/types": "^1.0.0", "tslib": "^2.5.0" }, "engines": { @@ -356,42 +358,43 @@ } }, "node_modules/@aws-sdk/client-sso-oidc": { - "version": "3.332.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.332.0.tgz", - "integrity": "sha512-tz8k8Yqm4TScIfit0Tum2zWAq1md+gZKr747CSixd4Zwcp7Vwh75cRoL7Rz1ZHSEn1Yo983MWREevVez3SubLw==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.338.0.tgz", + "integrity": "sha512-mny5Q3LWKTcMMFS8WxeOCTinl193z7vS3b+eQz09K4jb1Lq04Bpjw25cySgBnhMGZ7QHQiYBscNLyu/TfOKiHA==", "optional": true, "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.329.0", - "@aws-sdk/fetch-http-handler": "3.329.0", - "@aws-sdk/hash-node": "3.329.0", - "@aws-sdk/invalid-dependency": "3.329.0", - "@aws-sdk/middleware-content-length": "3.329.0", - "@aws-sdk/middleware-endpoint": "3.329.0", - "@aws-sdk/middleware-host-header": "3.329.0", - "@aws-sdk/middleware-logger": "3.329.0", - "@aws-sdk/middleware-recursion-detection": "3.329.0", - "@aws-sdk/middleware-retry": "3.329.0", - "@aws-sdk/middleware-serde": "3.329.0", - "@aws-sdk/middleware-stack": "3.329.0", - "@aws-sdk/middleware-user-agent": "3.332.0", - "@aws-sdk/node-config-provider": "3.329.0", - "@aws-sdk/node-http-handler": "3.329.0", - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/smithy-client": "3.329.0", - "@aws-sdk/types": "3.329.0", - "@aws-sdk/url-parser": "3.329.0", + "@aws-sdk/config-resolver": "3.338.0", + "@aws-sdk/fetch-http-handler": "3.338.0", + "@aws-sdk/hash-node": "3.338.0", + "@aws-sdk/invalid-dependency": "3.338.0", + "@aws-sdk/middleware-content-length": "3.338.0", + "@aws-sdk/middleware-endpoint": "3.338.0", + "@aws-sdk/middleware-host-header": "3.338.0", + "@aws-sdk/middleware-logger": "3.338.0", + "@aws-sdk/middleware-recursion-detection": "3.338.0", + "@aws-sdk/middleware-retry": "3.338.0", + "@aws-sdk/middleware-serde": "3.338.0", + "@aws-sdk/middleware-stack": "3.338.0", + "@aws-sdk/middleware-user-agent": "3.338.0", + "@aws-sdk/node-config-provider": "3.338.0", + "@aws-sdk/node-http-handler": "3.338.0", + "@aws-sdk/smithy-client": "3.338.0", + "@aws-sdk/types": "3.338.0", + "@aws-sdk/url-parser": "3.338.0", "@aws-sdk/util-base64": "3.310.0", "@aws-sdk/util-body-length-browser": "3.310.0", "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.329.0", - "@aws-sdk/util-defaults-mode-node": "3.329.0", - "@aws-sdk/util-endpoints": "3.332.0", - "@aws-sdk/util-retry": "3.329.0", - "@aws-sdk/util-user-agent-browser": "3.329.0", - "@aws-sdk/util-user-agent-node": "3.329.0", + "@aws-sdk/util-defaults-mode-browser": "3.338.0", + "@aws-sdk/util-defaults-mode-node": "3.338.0", + "@aws-sdk/util-endpoints": "3.338.0", + "@aws-sdk/util-retry": "3.338.0", + "@aws-sdk/util-user-agent-browser": "3.338.0", + "@aws-sdk/util-user-agent-node": "3.338.0", "@aws-sdk/util-utf8": "3.310.0", + "@smithy/protocol-http": "^1.0.1", + "@smithy/types": "^1.0.0", "tslib": "^2.5.0" }, "engines": { @@ -399,45 +402,46 @@ } }, "node_modules/@aws-sdk/client-sts": { - "version": "3.332.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.332.0.tgz", - "integrity": "sha512-uVobnXIzMcEhwBDyk6iOt36N/TRNI8hwq7MQugjYGj7Inma9g4vnR09hXJ24HxyKCoVUoIgMbEguQ43+/+uvDQ==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.338.0.tgz", + "integrity": "sha512-FBHy/G7BAPX0CdEeeGYpoAnKXVCSIIkESLU2wF6x880z+U2IqiL48Fzoa5qoLaLPQaK/30P7ytznkqm4vd1OFw==", "optional": true, "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.329.0", - "@aws-sdk/credential-provider-node": "3.332.0", - "@aws-sdk/fetch-http-handler": "3.329.0", - "@aws-sdk/hash-node": "3.329.0", - "@aws-sdk/invalid-dependency": "3.329.0", - "@aws-sdk/middleware-content-length": "3.329.0", - "@aws-sdk/middleware-endpoint": "3.329.0", - "@aws-sdk/middleware-host-header": "3.329.0", - "@aws-sdk/middleware-logger": "3.329.0", - "@aws-sdk/middleware-recursion-detection": "3.329.0", - "@aws-sdk/middleware-retry": "3.329.0", - "@aws-sdk/middleware-sdk-sts": "3.329.0", - "@aws-sdk/middleware-serde": "3.329.0", - "@aws-sdk/middleware-signing": "3.329.0", - "@aws-sdk/middleware-stack": "3.329.0", - "@aws-sdk/middleware-user-agent": "3.332.0", - "@aws-sdk/node-config-provider": "3.329.0", - "@aws-sdk/node-http-handler": "3.329.0", - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/smithy-client": "3.329.0", - "@aws-sdk/types": "3.329.0", - "@aws-sdk/url-parser": "3.329.0", + "@aws-sdk/config-resolver": "3.338.0", + "@aws-sdk/credential-provider-node": "3.338.0", + "@aws-sdk/fetch-http-handler": "3.338.0", + "@aws-sdk/hash-node": "3.338.0", + "@aws-sdk/invalid-dependency": "3.338.0", + "@aws-sdk/middleware-content-length": "3.338.0", + "@aws-sdk/middleware-endpoint": "3.338.0", + "@aws-sdk/middleware-host-header": "3.338.0", + "@aws-sdk/middleware-logger": "3.338.0", + "@aws-sdk/middleware-recursion-detection": "3.338.0", + "@aws-sdk/middleware-retry": "3.338.0", + "@aws-sdk/middleware-sdk-sts": "3.338.0", + "@aws-sdk/middleware-serde": "3.338.0", + "@aws-sdk/middleware-signing": "3.338.0", + "@aws-sdk/middleware-stack": "3.338.0", + "@aws-sdk/middleware-user-agent": "3.338.0", + "@aws-sdk/node-config-provider": "3.338.0", + "@aws-sdk/node-http-handler": "3.338.0", + "@aws-sdk/smithy-client": "3.338.0", + "@aws-sdk/types": "3.338.0", + "@aws-sdk/url-parser": "3.338.0", "@aws-sdk/util-base64": "3.310.0", "@aws-sdk/util-body-length-browser": "3.310.0", "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.329.0", - "@aws-sdk/util-defaults-mode-node": "3.329.0", - "@aws-sdk/util-endpoints": "3.332.0", - "@aws-sdk/util-retry": "3.329.0", - "@aws-sdk/util-user-agent-browser": "3.329.0", - "@aws-sdk/util-user-agent-node": "3.329.0", + "@aws-sdk/util-defaults-mode-browser": "3.338.0", + "@aws-sdk/util-defaults-mode-node": "3.338.0", + "@aws-sdk/util-endpoints": "3.338.0", + "@aws-sdk/util-retry": "3.338.0", + "@aws-sdk/util-user-agent-browser": "3.338.0", + "@aws-sdk/util-user-agent-node": "3.338.0", "@aws-sdk/util-utf8": "3.310.0", + "@smithy/protocol-http": "^1.0.1", + "@smithy/types": "^1.0.0", "fast-xml-parser": "4.1.2", "tslib": "^2.5.0" }, @@ -446,14 +450,14 @@ } }, "node_modules/@aws-sdk/config-resolver": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.329.0.tgz", - "integrity": "sha512-Oj6eiT3q+Jn685yvUrfRi8PhB3fb81hasJqdrsEivA8IP8qAgnVUTJzXsh8O2UX8UM2MF6A1gTgToSgneJuw2Q==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.338.0.tgz", + "integrity": "sha512-rB9WUaMfTB74Hd2mOiyPFR7Q1viT+w6SaDSR9SA1P8EeIg5H13FNdIKb736Z8/6QJhDj7whdyk1CTGV+DmXOOg==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.338.0", "@aws-sdk/util-config-provider": "3.310.0", - "@aws-sdk/util-middleware": "3.329.0", + "@aws-sdk/util-middleware": "3.338.0", "tslib": "^2.5.0" }, "engines": { @@ -461,14 +465,14 @@ } }, "node_modules/@aws-sdk/credential-provider-cognito-identity": { - "version": "3.332.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.332.0.tgz", - "integrity": "sha512-FJI936QVSFd49PWOgTlW7e8rKO/6Y8sMnkvTJ/APQ1K8em+jWkaAMFBl15NrpOo/jlZCzhkkQDatDHAlbSUXGw==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.338.0.tgz", + "integrity": "sha512-kKkBt1qCKx+HspbMq7kd5Yz3jWRW5N1Tegs4cGbTFJH9qMJTyQMoS9GNRcFfzgNEA9sfpHxeTnBbwBw6Ca4S9g==", "optional": true, "dependencies": { - "@aws-sdk/client-cognito-identity": "3.332.0", - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/client-cognito-identity": "3.338.0", + "@aws-sdk/property-provider": "3.338.0", + "@aws-sdk/types": "3.338.0", "tslib": "^2.5.0" }, "engines": { @@ -476,13 +480,13 @@ } }, "node_modules/@aws-sdk/credential-provider-env": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.329.0.tgz", - "integrity": "sha512-B4orC9hMt9hG82vAR0TAnQqjk6cFDbO2S14RdzUj2n2NPlGWW4Blkv3NTo86K0lq011VRhtqaLcuTwn5EJD5Sg==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.338.0.tgz", + "integrity": "sha512-j14vApy80tpk87C3x3uBf1caQsuR8RdQ8iOW830H/AOhsa88XaZIB/NQSX7exaIKZa2RU0Vv2wIlGAA8ko7J6g==", "optional": true, "dependencies": { - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/property-provider": "3.338.0", + "@aws-sdk/types": "3.338.0", "tslib": "^2.5.0" }, "engines": { @@ -490,15 +494,15 @@ } }, "node_modules/@aws-sdk/credential-provider-imds": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.329.0.tgz", - "integrity": "sha512-ggPlnd7QROPTid0CwT01TYYGvstRRTpzTGsQ/B31wkh30IrRXE81W3S4xrOYuqQD3u0RnflSxnvhs+EayJEYjg==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.338.0.tgz", + "integrity": "sha512-qsqeywYfJevg5pgUUUBmm7pK1bckVrl091PZB2IliFdQVnDvI5GFLf4B0oZqjaLAzPG1gVtxRvqIve+tnP/+xA==", "optional": true, "dependencies": { - "@aws-sdk/node-config-provider": "3.329.0", - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/types": "3.329.0", - "@aws-sdk/url-parser": "3.329.0", + "@aws-sdk/node-config-provider": "3.338.0", + "@aws-sdk/property-provider": "3.338.0", + "@aws-sdk/types": "3.338.0", + "@aws-sdk/url-parser": "3.338.0", "tslib": "^2.5.0" }, "engines": { @@ -506,19 +510,19 @@ } }, "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.332.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.332.0.tgz", - "integrity": "sha512-DTW6d6rcqizPVyvcIrwvxecQ7e5GONtVc5Wyf0RTfqf41sDOVZYmn6G+zEFSpBLW0975uZbJS0lyLWtJe2VujQ==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.338.0.tgz", + "integrity": "sha512-UhgYgymT9sJiRm0peqP5EvtR4dXiS2Q2AuFgDUjBvDz8JaZlqafsIS4cfyGwTHV/xY6cdiMu5rCTe8hTyXsukQ==", "optional": true, "dependencies": { - "@aws-sdk/credential-provider-env": "3.329.0", - "@aws-sdk/credential-provider-imds": "3.329.0", - "@aws-sdk/credential-provider-process": "3.329.0", - "@aws-sdk/credential-provider-sso": "3.332.0", - "@aws-sdk/credential-provider-web-identity": "3.329.0", - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/shared-ini-file-loader": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/credential-provider-env": "3.338.0", + "@aws-sdk/credential-provider-imds": "3.338.0", + "@aws-sdk/credential-provider-process": "3.338.0", + "@aws-sdk/credential-provider-sso": "3.338.0", + "@aws-sdk/credential-provider-web-identity": "3.338.0", + "@aws-sdk/property-provider": "3.338.0", + "@aws-sdk/shared-ini-file-loader": "3.338.0", + "@aws-sdk/types": "3.338.0", "tslib": "^2.5.0" }, "engines": { @@ -526,20 +530,20 @@ } }, "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.332.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.332.0.tgz", - "integrity": "sha512-KkBayS9k4WyJTvC86ngeRM+RmWxNCS1BHvudkR6PLXfnsNPDzxySDVY0UgxVhbNYDYsO561fXZt9ccpKyVWjgg==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.338.0.tgz", + "integrity": "sha512-nZjaMRxJqX0EXMV9LA5IbRQI1pDGGZiPYX2KDfZ1Y9Gc1Y/vIZhHKOHGb1uKMAonlR076CsXlev4/tjC8SGGuw==", "optional": true, "dependencies": { - "@aws-sdk/credential-provider-env": "3.329.0", - "@aws-sdk/credential-provider-imds": "3.329.0", - "@aws-sdk/credential-provider-ini": "3.332.0", - "@aws-sdk/credential-provider-process": "3.329.0", - "@aws-sdk/credential-provider-sso": "3.332.0", - "@aws-sdk/credential-provider-web-identity": "3.329.0", - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/shared-ini-file-loader": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/credential-provider-env": "3.338.0", + "@aws-sdk/credential-provider-imds": "3.338.0", + "@aws-sdk/credential-provider-ini": "3.338.0", + "@aws-sdk/credential-provider-process": "3.338.0", + "@aws-sdk/credential-provider-sso": "3.338.0", + "@aws-sdk/credential-provider-web-identity": "3.338.0", + "@aws-sdk/property-provider": "3.338.0", + "@aws-sdk/shared-ini-file-loader": "3.338.0", + "@aws-sdk/types": "3.338.0", "tslib": "^2.5.0" }, "engines": { @@ -547,14 +551,14 @@ } }, "node_modules/@aws-sdk/credential-provider-process": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.329.0.tgz", - "integrity": "sha512-5oO220qoFc2pMdZDQa6XN/mVhp669I3+LqMbbscGtX/UgLJPSOb7YzPld9Wjv12L5rf+sD3G1PF3LZXO0vKLFA==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.338.0.tgz", + "integrity": "sha512-5I1EgJxFFEg8xel2kInMpkdBKajUut0hR2fBajqCmK7Pflu8s0I2NKDots9a3YJagNrFJq38+EzoDcUvRrd2dg==", "optional": true, "dependencies": { - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/shared-ini-file-loader": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/property-provider": "3.338.0", + "@aws-sdk/shared-ini-file-loader": "3.338.0", + "@aws-sdk/types": "3.338.0", "tslib": "^2.5.0" }, "engines": { @@ -562,16 +566,16 @@ } }, "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.332.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.332.0.tgz", - "integrity": "sha512-SaKXl48af3n6LRitcaEqbeg1YDXwQ0A5QziC1xQyYPraEIj3IZ/GyTjx04Lo2jxNYHuEOE8u4aTw1+IK1GDKbg==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.338.0.tgz", + "integrity": "sha512-fpzYHK17iF/uFkrm4cLg/utDVKSBTWNjAiNlE3GF6CaixBCwc0QBLKHk2nG4d1ZZeMVCbIUMS7eoqfR0LYc/yw==", "optional": true, "dependencies": { - "@aws-sdk/client-sso": "3.332.0", - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/shared-ini-file-loader": "3.329.0", - "@aws-sdk/token-providers": "3.332.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/client-sso": "3.338.0", + "@aws-sdk/property-provider": "3.338.0", + "@aws-sdk/shared-ini-file-loader": "3.338.0", + "@aws-sdk/token-providers": "3.338.0", + "@aws-sdk/types": "3.338.0", "tslib": "^2.5.0" }, "engines": { @@ -579,13 +583,13 @@ } }, "node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.329.0.tgz", - "integrity": "sha512-lcEibZD7AlutCacpQ6DyNUqElZJDq+ylaIo5a8MH9jGh7Pg2WpDg0Sy+B6FbGCkVn4eIjdHxeX54JM245nhESg==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.338.0.tgz", + "integrity": "sha512-kjT/P18jM1icwjYwr8wfY//T8lv2s81ms7OC7vgiSqckmQOxpVkdsep9d44ymSUXwopmotFP7M9gGnEHS6HwAA==", "optional": true, "dependencies": { - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/property-provider": "3.338.0", + "@aws-sdk/types": "3.338.0", "tslib": "^2.5.0" }, "engines": { @@ -593,24 +597,24 @@ } }, "node_modules/@aws-sdk/credential-providers": { - "version": "3.332.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.332.0.tgz", - "integrity": "sha512-UZM8hCJqBBI4yEopVnfQ7HgUCuiYuWJziPFovQpbwvZKadibzo332/n6e5IsQbJxPjymqFLgTn3PQds/+1FOlQ==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.338.0.tgz", + "integrity": "sha512-QQkWsR3fyq3N5eTvyKLgk1IO45SEM5+zIDqGqchG74AAhAzTHpiVZ3AOBZckaIAXKyHU3Fgy3gt/u+fdXC4xyw==", "optional": true, "dependencies": { - "@aws-sdk/client-cognito-identity": "3.332.0", - "@aws-sdk/client-sso": "3.332.0", - "@aws-sdk/client-sts": "3.332.0", - "@aws-sdk/credential-provider-cognito-identity": "3.332.0", - "@aws-sdk/credential-provider-env": "3.329.0", - "@aws-sdk/credential-provider-imds": "3.329.0", - "@aws-sdk/credential-provider-ini": "3.332.0", - "@aws-sdk/credential-provider-node": "3.332.0", - "@aws-sdk/credential-provider-process": "3.329.0", - "@aws-sdk/credential-provider-sso": "3.332.0", - "@aws-sdk/credential-provider-web-identity": "3.329.0", - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/client-cognito-identity": "3.338.0", + "@aws-sdk/client-sso": "3.338.0", + "@aws-sdk/client-sts": "3.338.0", + "@aws-sdk/credential-provider-cognito-identity": "3.338.0", + "@aws-sdk/credential-provider-env": "3.338.0", + "@aws-sdk/credential-provider-imds": "3.338.0", + "@aws-sdk/credential-provider-ini": "3.338.0", + "@aws-sdk/credential-provider-node": "3.338.0", + "@aws-sdk/credential-provider-process": "3.338.0", + "@aws-sdk/credential-provider-sso": "3.338.0", + "@aws-sdk/credential-provider-web-identity": "3.338.0", + "@aws-sdk/property-provider": "3.338.0", + "@aws-sdk/types": "3.338.0", "tslib": "^2.5.0" }, "engines": { @@ -618,25 +622,25 @@ } }, "node_modules/@aws-sdk/fetch-http-handler": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.329.0.tgz", - "integrity": "sha512-9jfIeJhYCcTX4ScXOueRTB3S/tVce0bRsKxKDP0PnTxnGYOwKXoM9lAPmiYItzYmQ/+QzjTI8xfkA9Usz2SK/Q==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.338.0.tgz", + "integrity": "sha512-NOIQmeSa51J2nFAzl99IjxwQkq27cdNJzF59jQWzpUCGbxXfMD4WWy2NHubabSFuJ4FJU2eyoQHUNUFc6/uxXA==", "optional": true, "dependencies": { - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/querystring-builder": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/protocol-http": "3.338.0", + "@aws-sdk/querystring-builder": "3.338.0", + "@aws-sdk/types": "3.338.0", "@aws-sdk/util-base64": "3.310.0", "tslib": "^2.5.0" } }, "node_modules/@aws-sdk/hash-node": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.329.0.tgz", - "integrity": "sha512-6RmnWXNWpi7yAs0oRDQlkMn2wfXOStr/8kTCgiAiqrk1KopGSBkC2veKiKRSfv02FTd1yV/ISqYNIRqW1VLyxg==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.338.0.tgz", + "integrity": "sha512-udveX3ZRO1oUbyBTQH0LJ8Ika7uk0pHuXrqapdi66GGRJB50IhmOg372zUEwZjDB7DZYXfGTCuAj2OoEalgpBA==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.338.0", "@aws-sdk/util-buffer-from": "3.310.0", "@aws-sdk/util-utf8": "3.310.0", "tslib": "^2.5.0" @@ -646,12 +650,12 @@ } }, "node_modules/@aws-sdk/invalid-dependency": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.329.0.tgz", - "integrity": "sha512-UXynGusDxN/HxLma5ByJ7u+XnuMd47NbHOjJgYsaAjb1CVZT7hEPXOB+mcZ+Ku7To5SCOKu2QbRn7m4bGespBg==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.338.0.tgz", + "integrity": "sha512-m6r1fTTGSl0V6l8Z+Ii4Ei8VFpDmu0AT6A59ZhJaMZgxf925ywuCPydyDW9ZqTLE0e7CgxhEHEsH1+HzpVuHTw==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.338.0", "tslib": "^2.5.0" } }, @@ -668,13 +672,13 @@ } }, "node_modules/@aws-sdk/middleware-content-length": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.329.0.tgz", - "integrity": "sha512-7kCd+CvY/4KbyXB0uyL7jCwPjMi2yERMALFdEH9dsUciwmxIQT6eSc4aF6wImC4UrbafaqmXvvHErABKMVBTKA==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.338.0.tgz", + "integrity": "sha512-m2C+yJaNmbA3ocBp/7ImUUuimymV5JsFdV7yAibpbYMX22g3q83nieOF9x0I66J0+h+/bcriz/T1ZJAPANLz/g==", "optional": true, "dependencies": { - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/protocol-http": "3.338.0", + "@aws-sdk/types": "3.338.0", "tslib": "^2.5.0" }, "engines": { @@ -682,15 +686,15 @@ } }, "node_modules/@aws-sdk/middleware-endpoint": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.329.0.tgz", - "integrity": "sha512-hdJRoNdCM0BT4W+rrtee+kfFRgGPGXQDgtbIQlf/FuuuYz2sdef7/SYWr0mxuncnVBW5WkYSPP8h6q07whSKbg==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.338.0.tgz", + "integrity": "sha512-bzL9Q8lFidg2NTjGVGDKI6yPG/XiPS+VIAMHJeihQmcv1alIy+N3IL4bEN15Fg+cwaGm+P3BevcLIHmcCOVb4w==", "optional": true, "dependencies": { - "@aws-sdk/middleware-serde": "3.329.0", - "@aws-sdk/types": "3.329.0", - "@aws-sdk/url-parser": "3.329.0", - "@aws-sdk/util-middleware": "3.329.0", + "@aws-sdk/middleware-serde": "3.338.0", + "@aws-sdk/types": "3.338.0", + "@aws-sdk/url-parser": "3.338.0", + "@aws-sdk/util-middleware": "3.338.0", "tslib": "^2.5.0" }, "engines": { @@ -698,13 +702,13 @@ } }, "node_modules/@aws-sdk/middleware-host-header": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.329.0.tgz", - "integrity": "sha512-JrHeUdTIpTCfXDo9JpbAbZTS1x4mt63CCytJRq0mpWp+FlP9hjckBcNxWdR/wSKEzP9pDRnTri638BOwWH7O8w==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.338.0.tgz", + "integrity": "sha512-k3C7oppkrqeKrAJt9XIl45SdELtnph9BF0QypjyRfT5MNEDnMMsQkc6xy3ZMqG5dWQq6B2l8C+JL7pOvkSQP3w==", "optional": true, "dependencies": { - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/protocol-http": "3.338.0", + "@aws-sdk/types": "3.338.0", "tslib": "^2.5.0" }, "engines": { @@ -712,12 +716,12 @@ } }, "node_modules/@aws-sdk/middleware-logger": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.329.0.tgz", - "integrity": "sha512-lKeeTXsYC1NiwmxrXsZepcwNXPoQxTNNbeD1qaCELPGK2cJlrGoeAP2YRWzpwO2kNZWrDLaGAPT/EUEhqw+d1w==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.338.0.tgz", + "integrity": "sha512-btj9U0Xovq/UAu3Ur4lAfF7Q3DvvwJ/0UUWsI6GgSzzqSOFgKCz7hCP2GZIT8aXEA5hJOpBOEMkNMjWPNa91Hg==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.338.0", "tslib": "^2.5.0" }, "engines": { @@ -725,13 +729,13 @@ } }, "node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.329.0.tgz", - "integrity": "sha512-0/TYOJwrj1Z8s+Y7thibD23hggBq/K/01NwPk32CwWG/G+1vWozs5DefknEl++w0vuV+39pkY4KHI8m/+wOCpg==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.338.0.tgz", + "integrity": "sha512-fu5KwiHHSqC8KTQH6xdJ9+dua4gQcXSFLE5fVsergqd0uVdsmhiI+IDfW6QNwF/lmCqnoKDkpeasuB98eG2tow==", "optional": true, "dependencies": { - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/protocol-http": "3.338.0", + "@aws-sdk/types": "3.338.0", "tslib": "^2.5.0" }, "engines": { @@ -739,16 +743,16 @@ } }, "node_modules/@aws-sdk/middleware-retry": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.329.0.tgz", - "integrity": "sha512-cB3D7GlhHUcHGOlygOYxD9cPhwsTYEAMcohK38An8+RHNp6VQEWezzLFCmHVKUSeCQ+wkjZfPA40jOG0rbjSgQ==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.338.0.tgz", + "integrity": "sha512-nw1oPFkB7TdDG4Vlz2Td47ft/2Gmx1bA18QfE9K1mMWZ4nnoAL8xnHbowlTfHo62+BbFCAPu53PzDUCncBL0iw==", "optional": true, "dependencies": { - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/service-error-classification": "3.329.0", - "@aws-sdk/types": "3.329.0", - "@aws-sdk/util-middleware": "3.329.0", - "@aws-sdk/util-retry": "3.329.0", + "@aws-sdk/protocol-http": "3.338.0", + "@aws-sdk/service-error-classification": "3.338.0", + "@aws-sdk/types": "3.338.0", + "@aws-sdk/util-middleware": "3.338.0", + "@aws-sdk/util-retry": "3.338.0", "tslib": "^2.5.0", "uuid": "^8.3.2" }, @@ -757,13 +761,13 @@ } }, "node_modules/@aws-sdk/middleware-sdk-sts": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.329.0.tgz", - "integrity": "sha512-bqtZuhkH8pANb2Gb4FEM1p27o+BoDBmVhEWm8sWH+APsyOor3jc6eUG2GxkfoO6D5tGNIuyCC/GuvW9XDIe4Kg==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.338.0.tgz", + "integrity": "sha512-aZ8eFVaot8oYQri1wOesrA3gLizeAHtlA/ELlqxoGDJtO011J4/hTHTn0iJGbktaCvc1L3TF6mgOsgXpudYqMg==", "optional": true, "dependencies": { - "@aws-sdk/middleware-signing": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/middleware-signing": "3.338.0", + "@aws-sdk/types": "3.338.0", "tslib": "^2.5.0" }, "engines": { @@ -771,12 +775,12 @@ } }, "node_modules/@aws-sdk/middleware-serde": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.329.0.tgz", - "integrity": "sha512-tvM9NdPuRPCozPjTGNOeYZeLlyx3BcEyajrkRorCRf1YzG/mXdB6I1stote7i4q1doFtYTz0sYL8bqW3LUPn9A==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.338.0.tgz", + "integrity": "sha512-AabRLrE6sk9tqQlQ7z3kn4gTHNN7Anjk/AM0ZEu96WcWjedcpgM1vVpKTBE7vjnxcTRNq0CEM3GLtQqaZ7/HjQ==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.338.0", "tslib": "^2.5.0" }, "engines": { @@ -784,16 +788,16 @@ } }, "node_modules/@aws-sdk/middleware-signing": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.329.0.tgz", - "integrity": "sha512-bL1nI+EUcF5B1ipwDXxiKL+Uw02Mbt/TNX54PbzunBGZIyO6DZG/H+M3U296bYbvPlwlZhp26O830g6K7VEWsA==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.338.0.tgz", + "integrity": "sha512-AprhhShMF75mOx80SABujLwrU/w2uHQIvWd6aF3BsE5JRI3uQZRqspfjFCaK52HNLQPj3sCQUw1GeiZJ8GyWCw==", "optional": true, "dependencies": { - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/signature-v4": "3.329.0", - "@aws-sdk/types": "3.329.0", - "@aws-sdk/util-middleware": "3.329.0", + "@aws-sdk/property-provider": "3.338.0", + "@aws-sdk/protocol-http": "3.338.0", + "@aws-sdk/signature-v4": "3.338.0", + "@aws-sdk/types": "3.338.0", + "@aws-sdk/util-middleware": "3.338.0", "tslib": "^2.5.0" }, "engines": { @@ -801,9 +805,9 @@ } }, "node_modules/@aws-sdk/middleware-stack": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.329.0.tgz", - "integrity": "sha512-2huFLhJ45td2nuiIOjpc9JKJbFNn5CYmw9U8YDITTcydpteRN62CzCpeqroDvF89VOLWxh0ZFtuLCGUr7liSWQ==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.338.0.tgz", + "integrity": "sha512-9zXyiklX9AK9ZIXuIPzWzz2vevBEcnBs9UNIxiHl4NBZ8d8oyTvaES1PtFuwL6f7ANSZ9EGVQ2rdTTnMNxMI1A==", "optional": true, "dependencies": { "tslib": "^2.5.0" @@ -813,14 +817,14 @@ } }, "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.332.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.332.0.tgz", - "integrity": "sha512-rSL1xP4QmcMOsunN1p5ZDR9GT3vvoSCnYa4iPvMSjP8Jx7l4ff/aVctwfZkMs/up12+68Jqwj4TvtaCvCFXdUA==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.338.0.tgz", + "integrity": "sha512-DMqODOsDMFMPcDw2Ya6a0i34AhaBDRpp3vJ+FK3zPxUIsv6iHA+XqEcXLOxROLLoydoyxus7k2U+EWibLZrFbQ==", "optional": true, "dependencies": { - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/types": "3.329.0", - "@aws-sdk/util-endpoints": "3.332.0", + "@aws-sdk/protocol-http": "3.338.0", + "@aws-sdk/types": "3.338.0", + "@aws-sdk/util-endpoints": "3.338.0", "tslib": "^2.5.0" }, "engines": { @@ -828,14 +832,14 @@ } }, "node_modules/@aws-sdk/node-config-provider": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.329.0.tgz", - "integrity": "sha512-hg9rGNlkzh8aeR/sQbijrkFx2BIO53j4Z6qDxPNWwSGpl05jri1VHxHx2HZMwgbY6Zy/DSguETN/BL8vdFqyLg==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.338.0.tgz", + "integrity": "sha512-YO7yWg3ipnUI5u6D+Zn2NUpjj5krwc8zNWeY79ULVIp9g7faqGX3xMSjeRSrpZ83s5jg1dOm/+bB0gw7mCrRCw==", "optional": true, "dependencies": { - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/shared-ini-file-loader": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/property-provider": "3.338.0", + "@aws-sdk/shared-ini-file-loader": "3.338.0", + "@aws-sdk/types": "3.338.0", "tslib": "^2.5.0" }, "engines": { @@ -843,15 +847,15 @@ } }, "node_modules/@aws-sdk/node-http-handler": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.329.0.tgz", - "integrity": "sha512-OrjaHjU2ZTPfoHa5DruRvTIbeHH/cc0wvh4ml+FwDpWaPaBpOhLiluhZ3anqX1l5QjrXNiQnL8FxSM5OV/zVCA==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.338.0.tgz", + "integrity": "sha512-V1BLzCruiv45tJ0vXjiamY8LncIsUFsXYJGDupomFYhWRN8L1MUB9f2vdKn5X3wXn/yKrluwTmNaryrIqd9akA==", "optional": true, "dependencies": { - "@aws-sdk/abort-controller": "3.329.0", - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/querystring-builder": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/abort-controller": "3.338.0", + "@aws-sdk/protocol-http": "3.338.0", + "@aws-sdk/querystring-builder": "3.338.0", + "@aws-sdk/types": "3.338.0", "tslib": "^2.5.0" }, "engines": { @@ -859,12 +863,12 @@ } }, "node_modules/@aws-sdk/property-provider": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.329.0.tgz", - "integrity": "sha512-1cHLTV6yyMGaMSWWDW/p4vTkJ1cc5BOEO+A0eHuAcoSOk+LDe9IKhUG3/ZOvvYKQYcqIj5jjGSni/noXNCl/qw==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.338.0.tgz", + "integrity": "sha512-mC+ZJ738ipif6ZkH59gcipozYj1FOfpXr9pGVCA2hJGLDdaBwI2Jfpb2qCqbsTNtoCjBuIy+sQHGmUHyclgYHg==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.338.0", "tslib": "^2.5.0" }, "engines": { @@ -872,12 +876,12 @@ } }, "node_modules/@aws-sdk/protocol-http": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.329.0.tgz", - "integrity": "sha512-0rLEHY6QTHTUUcVxzGbPUSmCKlXWplxT/fcYRh0bcc5MBK4naKfcQft1O6Ajp8uqs/9YPZ7XCVCn90pDeJfeaw==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.338.0.tgz", + "integrity": "sha512-JX03Q2gshdzOWtA/07kdpk0hqeOrOfwuF8TB97g66VCcIopYQkCeNH1zzkWu+RsGxfSlzQ7up+ZM6sclYXyB1A==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.338.0", "tslib": "^2.5.0" }, "engines": { @@ -885,12 +889,12 @@ } }, "node_modules/@aws-sdk/querystring-builder": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.329.0.tgz", - "integrity": "sha512-UWgMKkS5trliaDJG4nPv3onu8Y0aBuwRo7RdIgggguOiU8pU6pq1I113nH2FBNWy+Me1bwf+bcviJh0pCo6bEg==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.338.0.tgz", + "integrity": "sha512-IB3YhO93Htwt2SxJx4VWsN57Rt1KEsvZ6PbneO4bcS96E04BlfBujYMZ+QxEM3EJxorhpkwbI2QnI12IjD8FhA==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.338.0", "@aws-sdk/util-uri-escape": "3.310.0", "tslib": "^2.5.0" }, @@ -899,12 +903,12 @@ } }, "node_modules/@aws-sdk/querystring-parser": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.329.0.tgz", - "integrity": "sha512-9mkK+FB7snJ2G7H3CqtprDwYIRhzm6jEezffCwUWrC+lbqHBbErbhE9IeU/MKxILmf0RbC2riXEY1MHGspjRrQ==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.338.0.tgz", + "integrity": "sha512-vtI8Gqx4yj0BZlWonRMgLz68sHt5H48HN+ClnY+fDDB/8KLnCuwZ3TGKmYIbYbshL9wjJz0A9aLzuC6nPQ5JKw==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.338.0", "tslib": "^2.5.0" }, "engines": { @@ -912,21 +916,21 @@ } }, "node_modules/@aws-sdk/service-error-classification": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.329.0.tgz", - "integrity": "sha512-TSNr0flOcCLe71aPp7MjblKNGsmxpTU4xR5772MDX9Cz9GUTNZCPFtvrcqd+wzEPP/AC7XwNXe8KjoXooZImUQ==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.338.0.tgz", + "integrity": "sha512-BJFr2mx/N3NbycGTlMMGRBc0tGcHXHEbMPy1H2RbejzL23zh27MchaL1WAK9SvwVMKS29hSDbhkuVR2ABRjerA==", "optional": true, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/shared-ini-file-loader": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.329.0.tgz", - "integrity": "sha512-e0hyd75fbjMd4aCoRwpP2/HR+0oScwogErVArIkq3F42c/hyNCQP3sph4JImuXIjuo6HNnpKpf20CEPPhNna8A==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.338.0.tgz", + "integrity": "sha512-MA1Sp97LFlOXcUaXgo47j86IsPRWYq1V/JqR+uu0zofZw4Xlt7Y6F+mmnDHvuuMy6R2ltzjXSwgrrW3k0bxFPA==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.338.0", "tslib": "^2.5.0" }, "engines": { @@ -934,15 +938,15 @@ } }, "node_modules/@aws-sdk/signature-v4": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.329.0.tgz", - "integrity": "sha512-9EnLoyOD5nFtCRAp+QRllDgQASCfY7jLHVhwht7jzwE80wE65Z9Ym5Z/mwTd4IyTz/xXfCvcE2VwClsBt0Ybdw==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.338.0.tgz", + "integrity": "sha512-EwKTe/8Iwab/v0eo27w7DRYlqp9wEZEhuRfOMwTikUVH6iuTnW6AXjcIUfcRYBRbx2zqnRSiMAZkjN6ZFYm0bQ==", "optional": true, "dependencies": { "@aws-sdk/is-array-buffer": "3.310.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.338.0", "@aws-sdk/util-hex-encoding": "3.310.0", - "@aws-sdk/util-middleware": "3.329.0", + "@aws-sdk/util-middleware": "3.338.0", "@aws-sdk/util-uri-escape": "3.310.0", "@aws-sdk/util-utf8": "3.310.0", "tslib": "^2.5.0" @@ -952,13 +956,13 @@ } }, "node_modules/@aws-sdk/smithy-client": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.329.0.tgz", - "integrity": "sha512-7E0fGpBKxwFqHHAOqNbgNsHSEmCZLuvmU9yvG9DXKVzrS4P48O/PfOro123WpcFZs3STyOVgH8wjUPftHAVKmg==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.338.0.tgz", + "integrity": "sha512-IpFLdLG8GwaiFdqVXf+WyU47Hfa2BMIupAU6iSkE2ZO0lBdg+efn/BBwis5WbBNTDCaaU0xH9y68SmnqqtD7pA==", "optional": true, "dependencies": { - "@aws-sdk/middleware-stack": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/middleware-stack": "3.338.0", + "@aws-sdk/types": "3.338.0", "tslib": "^2.5.0" }, "engines": { @@ -966,15 +970,15 @@ } }, "node_modules/@aws-sdk/token-providers": { - "version": "3.332.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.332.0.tgz", - "integrity": "sha512-fccbg6OSl0l658pxl2p1MoU9gEePo5B361+JNaN0zfRMu7c5HBXCpdl4djlFxAHjltrX9f1+BKqfGHYgI3h8SQ==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.338.0.tgz", + "integrity": "sha512-wuiEGcWiMeq5N68M489i2iGYcCad9p1btNEOFgus+JO3DRSA6HZXizLI1wqfbUm5Ei8512AvUKB6N8PMzahQsg==", "optional": true, "dependencies": { - "@aws-sdk/client-sso-oidc": "3.332.0", - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/shared-ini-file-loader": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/client-sso-oidc": "3.338.0", + "@aws-sdk/property-provider": "3.338.0", + "@aws-sdk/shared-ini-file-loader": "3.338.0", + "@aws-sdk/types": "3.338.0", "tslib": "^2.5.0" }, "engines": { @@ -982,9 +986,9 @@ } }, "node_modules/@aws-sdk/types": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.329.0.tgz", - "integrity": "sha512-wFBW4yciDfzQBSFmWNaEvHShnSGLMxSu9Lls6EUf6xDMavxSB36bsrVRX6CyAo/W0NeIIyEOW1LclGPgJV1okg==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.338.0.tgz", + "integrity": "sha512-hrNK15o+EObLrl9oWOyxJN2dwjgbdBMGolLEVP/wR/+M9ojHgk/x1kMsCVcV82a8Vgdtqx1TyOC3UugUPT0+NA==", "optional": true, "dependencies": { "tslib": "^2.5.0" @@ -994,13 +998,13 @@ } }, "node_modules/@aws-sdk/url-parser": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.329.0.tgz", - "integrity": "sha512-/VcfL7vNJKJGSjYYHVQF3bYCDFs4fSzB7j5qeVDwRdWr870gE7O1Dar+sLWBRKFF3AX+4VzplqzUfpu9t44JVA==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.338.0.tgz", + "integrity": "sha512-x8a5swfZ6iWJZEA8rm99OKQ1A6xhWPP1taQUzoPavGCzPAOqyc8cd0FcXYMxvtXb3FeBhGaI8tiGKvelJro0+A==", "optional": true, "dependencies": { - "@aws-sdk/querystring-parser": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/querystring-parser": "3.338.0", + "@aws-sdk/types": "3.338.0", "tslib": "^2.5.0" } }, @@ -1064,13 +1068,13 @@ } }, "node_modules/@aws-sdk/util-defaults-mode-browser": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.329.0.tgz", - "integrity": "sha512-2iSiy/pzX3OXMhtSxtAzOiEFr3viQEFnYOTeZuiheuyS+cea2L79F6SlZ1110b/nOIU/UOrxxtz83HVad8YFMQ==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.338.0.tgz", + "integrity": "sha512-Zfr5c7JKMJTfb7z+hgd0ioU5iw+wId6Cppc5V1HpZuS2YY4Mn3aJIixzyzhIoCzbmk/yIkf96981epM9eo3/TA==", "optional": true, "dependencies": { - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/property-provider": "3.338.0", + "@aws-sdk/types": "3.338.0", "bowser": "^2.11.0", "tslib": "^2.5.0" }, @@ -1079,16 +1083,16 @@ } }, "node_modules/@aws-sdk/util-defaults-mode-node": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.329.0.tgz", - "integrity": "sha512-7A6C7YKjkZtmKtH29isYEtOCbhd7IcXPP8lftN8WAWlLOiZE4gV7PHveagUj7QserJzgRKGwwTQbBj53n18HYg==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.338.0.tgz", + "integrity": "sha512-DFM3BSpSetshZTgTjueCkAYZWS0tn5zl7SjkSpFhWQZ8Tt/Df3/DEjcPvxzmC/5vgYSUXNsqcI7lLAJk9aGZAA==", "optional": true, "dependencies": { - "@aws-sdk/config-resolver": "3.329.0", - "@aws-sdk/credential-provider-imds": "3.329.0", - "@aws-sdk/node-config-provider": "3.329.0", - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/config-resolver": "3.338.0", + "@aws-sdk/credential-provider-imds": "3.338.0", + "@aws-sdk/node-config-provider": "3.338.0", + "@aws-sdk/property-provider": "3.338.0", + "@aws-sdk/types": "3.338.0", "tslib": "^2.5.0" }, "engines": { @@ -1096,12 +1100,12 @@ } }, "node_modules/@aws-sdk/util-endpoints": { - "version": "3.332.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.332.0.tgz", - "integrity": "sha512-nQx7AiOroMU2hj6h+umWOSZ+WECwxupaxFUK/PPKGW6NY/VdQE6LluYnXOtF5awlr8w1nPksT0Lq05PZutMDLA==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.338.0.tgz", + "integrity": "sha512-0gBQcohbNcBsBR7oyaD0Dg2m6qOmfp0G1iN/NM23gwAr2H3ni8tUXfs1HsZzxikOwUr6dSLASokc30vQXBF44A==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.338.0", "tslib": "^2.5.0" }, "engines": { @@ -1133,9 +1137,9 @@ } }, "node_modules/@aws-sdk/util-middleware": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.329.0.tgz", - "integrity": "sha512-RhBOBaxzkTUghi4MSqr8S5qeeBCjgJ0XPJ6jIYkVkj1saCmqkuZCgl3zFaYdyhdxxPV6nflkFer+1HUoqT+Fqw==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.338.0.tgz", + "integrity": "sha512-oQuAmhi16HWEqVa+Nq4VD4Ymet9vS+uiW92reaagQrW2QFjAgJW9A6pU0PcIHF9sWY1iDKeNdV5b9odQ45PDJA==", "optional": true, "dependencies": { "tslib": "^2.5.0" @@ -1145,12 +1149,12 @@ } }, "node_modules/@aws-sdk/util-retry": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-retry/-/util-retry-3.329.0.tgz", - "integrity": "sha512-+3VQ9HZLinysnmryUs9Xjt1YVh4TYYHLt30ilu4iUnIHFQoamdzIbRCWseSVFPCxGroen9M9qmAleAsytHEKuA==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-retry/-/util-retry-3.338.0.tgz", + "integrity": "sha512-diR6M3gJgSgBg/87L2e8iF8urG+LOW9ZGWxhntYpYX4uhiIjwNgUPUa993553C8GIOZDHez5X9ExU4asYGQ71Q==", "optional": true, "dependencies": { - "@aws-sdk/service-error-classification": "3.329.0", + "@aws-sdk/service-error-classification": "3.338.0", "tslib": "^2.5.0" }, "engines": { @@ -1170,24 +1174,24 @@ } }, "node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.329.0.tgz", - "integrity": "sha512-8hLSmMCl8aw2++0Zuba8ELq8FkK6/VNyx470St201IpMn2GMbQMDl/rLolRKiTgji6wc+T3pOTidkJkz8/cIXA==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.338.0.tgz", + "integrity": "sha512-3e8D+SOtOQEtRtksOEF7EC26xPkuY6YK6biLgdtvR9JspK96rHk5eX1HEJeBJJqbxhyPaxpIw+OhWhnsrUS3hA==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.338.0", "bowser": "^2.11.0", "tslib": "^2.5.0" } }, "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.329.0.tgz", - "integrity": "sha512-C50Zaeodc0+psEP+L4WpElrH8epuLWJPVN4hDOTORcM0cSoU2o025Ost9mbcU7UdoHNxF9vitLnzORGN9SHolg==", + "version": "3.338.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.338.0.tgz", + "integrity": "sha512-rc+bC5KM9h25urRc+MXuViJkJ+qYG2NlCRw6xm2lSIvHFJTUjH1ZMO3mqNDYkGnQRbj0mmrVe+N77TJZGf3Q2Q==", "optional": true, "dependencies": { - "@aws-sdk/node-config-provider": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/node-config-provider": "3.338.0", + "@aws-sdk/types": "3.338.0", "tslib": "^2.5.0" }, "engines": { @@ -1482,9 +1486,9 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.21.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.7.tgz", - "integrity": "sha512-KYMqFYTaenzMK4yUtf4EW9wc4N9ef80FsbMtkwool5zpwl4YrT1SdWYSTRcT94KO4hannogdS+LxY7L+arP3gA==", + "version": "7.21.9", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.9.tgz", + "integrity": "sha512-FUGed8kfhyWvbYug/Un/VPJD41rDIgoVVcR+FuzhzOYyRz5uED+Gd3SLZml0Uw2l2aHFb7ZgdW5mGA3G2cCCnQ==", "dev": true, "engines": { "node": ">=6.9.0" @@ -1539,9 +1543,9 @@ } }, "node_modules/@babel/generator": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.5.tgz", - "integrity": "sha512-SrKK/sRv8GesIW1bDagf9cCG38IOMYZusoe1dfg0D8aiUe3Amvoj1QtjTPAWcfrZFvIwlleLb0gxzQidL9w14w==", + "version": "7.21.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.9.tgz", + "integrity": "sha512-F3fZga2uv09wFdEjEQIJxXALXfz0+JaOb7SabvVMmjHxeVTuGW8wgE8Vp1Hd7O+zMTYtcfEISGRzPkeiaPPsvg==", "dev": true, "dependencies": { "@babel/types": "^7.21.5", @@ -1905,9 +1909,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.21.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.8.tgz", - "integrity": "sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==", + "version": "7.21.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.9.tgz", + "integrity": "sha512-q5PNg/Bi1OpGgx5jYlvWZwAorZepEudDMCLtj967aeS7WMont7dUZI46M2XwcIQqvUlMxWfdLFu4S/qSxeUu5g==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -3060,23 +3064,23 @@ } }, "node_modules/@babel/standalone": { - "version": "7.21.8", - "resolved": "https://registry.npmjs.org/@babel/standalone/-/standalone-7.21.8.tgz", - "integrity": "sha512-Od6cBJ8dm9wjAt+3olvO7N3s+8UsCkX3hH41Ew3BlFJw1QQtbctplq3kuwzzfk+YcmXE95k8fJCzbnhf32+BxQ==", + "version": "7.21.9", + "resolved": "https://registry.npmjs.org/@babel/standalone/-/standalone-7.21.9.tgz", + "integrity": "sha512-I9UNGZyBQgJOXdzZNeqO5NfTZhZoCCjnkR31GlEH6CDfnIWSC2D3OYSZTSGsQ2JhEwx7tbNR+1HuYHcoZd1IaQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/template": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", - "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "version": "7.21.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.21.9.tgz", + "integrity": "sha512-MK0X5k8NKOuWRamiEfc3KEJiHMTkGZNUjzMipqCGDDc6ijRl/B7RGSKVGncu4Ro/HdyzzY6cmoXuKI2Gffk7vQ==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7" + "@babel/code-frame": "^7.21.4", + "@babel/parser": "^7.21.9", + "@babel/types": "^7.21.5" }, "engines": { "node": ">=6.9.0" @@ -4653,6 +4657,31 @@ "@sinonjs/commons": "^1.7.0" } }, + "node_modules/@smithy/protocol-http": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-1.0.1.tgz", + "integrity": "sha512-9OrEn0WfOVtBNYJUjUAn9AOiJ4lzERCJJ/JeZs8E6yajTGxBaFRxUnNBHiNqoDJVg076hY36UmEnPx7xXrvUSg==", + "optional": true, + "dependencies": { + "@smithy/types": "^1.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/types": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-1.0.0.tgz", + "integrity": "sha512-kc1m5wPBHQCTixwuaOh9vnak/iJm21DrSf9UK6yDE5S3mQQ4u11pqAUiKWnlrZnYkeLfAI9UEHj9OaMT1v5Umg==", + "optional": true, + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@socket.io/component-emitter": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", @@ -4909,9 +4938,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.1.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.1.7.tgz", - "integrity": "sha512-WCuw/o4GSwDGMoonES8rcvwsig77dGCMbZDrZr2x4ZZiNW4P/gcoZXe/0twgtobcTkmg9TuKflxYL/DuwDyJzg==" + "version": "20.2.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.2.3.tgz", + "integrity": "sha512-pg9d0yC4rVNWQzX8U7xb4olIOFuuVL9za3bzMT2pu2SU0SNEi66i2qrvhE2qt0HvkhuCaWJu7pLNOt/Pj8BIrw==" }, "node_modules/@types/normalize-package-data": { "version": "2.4.1", @@ -6435,9 +6464,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001488", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001488.tgz", - "integrity": "sha512-NORIQuuL4xGpIy6iCCQGN4iFjlBXtfKWIenlUuyZJumLRIindLb7wXM+GO8erEhb7vXfcnf4BAg2PrSDN5TNLQ==", + "version": "1.0.30001489", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001489.tgz", + "integrity": "sha512-x1mgZEXK8jHIfAxm+xgdpHpk50IN3z3q3zP261/WS+uvePxW8izXuCu6AHz0lkuYTlATDehiZ/tNyYBdSQsOUQ==", "dev": true, "funding": [ { @@ -7943,9 +7972,9 @@ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "node_modules/electron-to-chromium": { - "version": "1.4.397", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.397.tgz", - "integrity": "sha512-jwnPxhh350Q/aMatQia31KAIQdhEsYS0fFZ0BQQlN9tfvOEwShu6ZNwI4kL/xBabjcB/nTy6lSt17kNIluJZ8Q==", + "version": "1.4.407", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.407.tgz", + "integrity": "sha512-5smEvFSFYMv90tICOzRVP7Opp98DAC4KW7RRipg3BuNpGbbV3N+x24Zh3sbLb1T5haGtOSy/hrBfXsWnIM9aCg==", "dev": true }, "node_modules/emittery": { @@ -8049,9 +8078,9 @@ } }, "node_modules/engine.io-parser": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.6.tgz", - "integrity": "sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw==", + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.7.tgz", + "integrity": "sha512-P+jDFbvK6lE3n1OL+q9KuzdOFWkkZ/cMV9gol/SbVfpyqfvrfrFTOFJ6fQm2VC3PZHlU3QPhVwmbsCnauHF2MQ==", "engines": { "node": ">=10.0.0" } @@ -14566,9 +14595,9 @@ "integrity": "sha512-i3Sf6khnenl0aXumo0whAlfPWTaBqHxEnVBBxpu3dZ7q69NkPPv71rvPjlDZ5wkeKCTNNUTECljerS5kcYQxRw==" }, "node_modules/node-releases": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", - "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", + "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==", "dev": true }, "node_modules/node-ssh": { @@ -16738,9 +16767,9 @@ } }, "node_modules/socket.io-parser": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.2.tgz", - "integrity": "sha512-DJtziuKypFkMMHCm2uIshOYC7QaylbtzQwiMYDuCKy3OPkjLzu4B2vAhTlqipRHHzrI0NJeBAizTK7X+6m1jVw==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.3.tgz", + "integrity": "sha512-JMafRntWVO2DCJimKsRTh/wnqVvO4hrfwOqtO7f+uzwsQMuxO6VwImtYxaQ+ieoyshWOTJyV0fA21lccEXRPpQ==", "dependencies": { "@socket.io/component-emitter": "~3.1.0", "debug": "~4.3.1" @@ -17737,6 +17766,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/tr46/-/tr46-4.1.1.tgz", "integrity": "sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==", + "dev": true, "dependencies": { "punycode": "^2.3.0" }, @@ -17763,9 +17793,9 @@ } }, "node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/tunnel": { "version": "0.0.6", @@ -18653,6 +18683,7 @@ "version": "12.0.1", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-12.0.1.tgz", "integrity": "sha512-Ed/LrqB8EPlGxjS+TrsXcpUond1mhccS3pchLhzSgPCnTimUCKj3IZE75pAs5m6heB2U2TMerKFUXheyHY+VDQ==", + "dev": true, "dependencies": { "tr46": "^4.1.1", "webidl-conversions": "^7.0.0" @@ -18665,6 +18696,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "dev": true, "engines": { "node": ">=12" } diff --git a/package.json b/package.json index 98bbfb8b9..793dfa584 100644 --- a/package.json +++ b/package.json @@ -123,8 +123,7 @@ "socks-proxy-agent": "6.1.1", "tar": "~6.1.11", "tcp-ping": "~0.1.1", - "thirty-two": "~1.0.2", - "whatwg-url": "^12.0.1" + "thirty-two": "~1.0.2" }, "devDependencies": { "@actions/github": "~5.0.1", @@ -186,6 +185,7 @@ "vue-router": "~4.0.14", "vue-toastification": "~2.0.0-rc.5", "vuedraggable": "~4.1.0", - "wait-on": "^6.0.1" + "wait-on": "^6.0.1", + "whatwg-url": "~12.0.1" } } From 8d05d80a5f70d34d15498f46ff7d093a6cd37f5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20Krau=C3=9F?= Date: Sun, 14 May 2023 10:36:41 +0200 Subject: [PATCH 17/26] feat: Adds message ttl to pushover notification --- server/notification-providers/pushover.js | 1 + src/components/notifications/Pushover.vue | 2 ++ src/lang/de-CH.json | 1 + src/lang/de-DE.json | 1 + src/lang/en.json | 1 + 5 files changed, 6 insertions(+) diff --git a/server/notification-providers/pushover.js b/server/notification-providers/pushover.js index e4f0ddb81..5f68bb8f6 100644 --- a/server/notification-providers/pushover.js +++ b/server/notification-providers/pushover.js @@ -16,6 +16,7 @@ class Pushover extends NotificationProvider { "sound": notification.pushoversounds, "priority": notification.pushoverpriority, "title": notification.pushovertitle, + "ttl": notification.pushoverttl, "retry": "30", "expire": "3600", "html": 1, diff --git a/src/components/notifications/Pushover.vue b/src/components/notifications/Pushover.vue index d9f24b29b..7ee0eafb6 100644 --- a/src/components/notifications/Pushover.vue +++ b/src/components/notifications/Pushover.vue @@ -42,6 +42,8 @@ + +
*{{ $t("Required") }} diff --git a/src/lang/de-CH.json b/src/lang/de-CH.json index 3f3a860cc..84d74a24f 100644 --- a/src/lang/de-CH.json +++ b/src/lang/de-CH.json @@ -259,6 +259,7 @@ "More info on:": "Mehr Infos auf: {0}", "pushoverDesc1": "Notfallpriorität (2) hat standardmässig 30 Sekunden Auszeit zwischen den Versuchen und läuft nach 1 Stunde ab.", "pushoverDesc2": "Fülle das Geräte Feld aus, wenn du Benachrichtigungen an verschiedene Geräte senden möchtest.", + "pushoverMessageTtl": "Message TTL (Sekunden)", "SMS Type": "SMS Typ", "octopushTypePremium": "Premium (Schnell - zur Benachrichtigung empfohlen)", "octopushTypeLowCost": "Kostengünstig (Langsam - manchmal vom Betreiber gesperrt)", diff --git a/src/lang/de-DE.json b/src/lang/de-DE.json index 48a8cd713..42460c519 100644 --- a/src/lang/de-DE.json +++ b/src/lang/de-DE.json @@ -259,6 +259,7 @@ "More info on:": "Mehr Infos auf: {0}", "pushoverDesc1": "Notfallpriorität (2) hat standardmäßig 30 Sekunden Auszeit zwischen den Versuchen und läuft nach 1 Stunde ab.", "pushoverDesc2": "Fülle das Geräte Feld aus, wenn du Benachrichtigungen an verschiedene Geräte senden möchtest.", + "pushoverMessageTtl": "Message TTL (Sekunden)", "SMS Type": "SMS Typ", "octopushTypePremium": "Premium (Schnell - zur Benachrichtigung empfohlen)", "octopushTypeLowCost": "Kostengünstig (Langsam - manchmal vom Betreiber gesperrt)", diff --git a/src/lang/en.json b/src/lang/en.json index f33a7de37..956b120da 100644 --- a/src/lang/en.json +++ b/src/lang/en.json @@ -556,6 +556,7 @@ "More info on:": "More info on: {0}", "pushoverDesc1": "Emergency priority (2) has default 30 second timeout between retries and will expire after 1 hour.", "pushoverDesc2": "If you want to send notifications to different devices, fill out Device field.", + "pushoverMessageTtl": "Message TTL (Seconds)", "SMS Type": "SMS Type", "octopushTypePremium": "Premium (Fast - recommended for alerting)", "octopushTypeLowCost": "Low Cost (Slow - sometimes blocked by operator)", From a0d0d5b0159c9ab21f31af3fb62a0e075e127631 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20Krau=C3=9F?= Date: Tue, 16 May 2023 18:31:28 +0200 Subject: [PATCH 18/26] fix: sends pushover ttl only if defined --- server/notification-providers/pushover.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/server/notification-providers/pushover.js b/server/notification-providers/pushover.js index 5f68bb8f6..b9899e4db 100644 --- a/server/notification-providers/pushover.js +++ b/server/notification-providers/pushover.js @@ -16,7 +16,6 @@ class Pushover extends NotificationProvider { "sound": notification.pushoversounds, "priority": notification.pushoverpriority, "title": notification.pushovertitle, - "ttl": notification.pushoverttl, "retry": "30", "expire": "3600", "html": 1, @@ -25,6 +24,9 @@ class Pushover extends NotificationProvider { if (notification.pushoverdevice) { data.device = notification.pushoverdevice; } + if (notification.pushoverttl) { + data.ttl = notification.pushoverttl; + } try { if (heartbeatJSON == null) { From c1efe0f26d7e28f4c656cd05178a0af8424a5a63 Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Fri, 26 May 2023 18:08:52 +0800 Subject: [PATCH 19/26] Add a warning for Node.js >= 20 --- server/server.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/server/server.js b/server/server.js index 12a711e80..ca046a017 100644 --- a/server/server.js +++ b/server/server.js @@ -19,6 +19,11 @@ const nodeVersion = parseInt(process.versions.node.split(".")[0]); const requiredVersion = 14; console.log(`Your Node.js version: ${nodeVersion}`); +// See more: https://github.com/louislam/uptime-kuma/issues/3138 +if (nodeVersion >= 20) { + console.warn("\x1b[31m%s\x1b[0m", "Warning: Uptime Kuma is currently not stable on Node.js >= 20, please use Node.js 18."); +} + if (nodeVersion < requiredVersion) { console.error(`Error: Your Node.js version is not supported, please upgrade to Node.js >= ${requiredVersion}.`); process.exit(-1); From 8ed2b594107fcff08111bec94adc019b07448b83 Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Fri, 26 May 2023 21:38:51 +0800 Subject: [PATCH 20/26] Resolve conflict --- server/model/monitor.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/server/model/monitor.js b/server/model/monitor.js index 6207f34d4..adeb35a04 100644 --- a/server/model/monitor.js +++ b/server/model/monitor.js @@ -1262,11 +1262,11 @@ class Monitor extends BeanModel { */ async sendCertNotificationByTargetDays(certCN, certType, daysRemaining, targetDays, notificationList) { - let row = await R.getRow("SELECT * FROM notification_sent_history WHERE type = ? AND monitor_id = ? AND days <= ?", [ - "certificate", - this.id, - targetDays, - ]); + let row = await R.getRow("SELECT * FROM notification_sent_history WHERE type = ? AND monitor_id = ? AND days <= ?", [ + "certificate", + this.id, + targetDays, + ]); // Sent already, no need to send again if (row) { From 85eb0843056411bd5dc44910cb92057aac9ffbda Mon Sep 17 00:00:00 2001 From: Yoswaris Lawpaiboon <22832362+kiznick@users.noreply.github.com> Date: Mon, 29 May 2023 20:11:06 +0700 Subject: [PATCH 21/26] Setting Modal --- src/components/MonitorSettingDialog.vue | 123 ++++++++++++++++++++++++ src/components/PublicGroupList.vue | 32 ++---- 2 files changed, 129 insertions(+), 26 deletions(-) create mode 100644 src/components/MonitorSettingDialog.vue diff --git a/src/components/MonitorSettingDialog.vue b/src/components/MonitorSettingDialog.vue new file mode 100644 index 000000000..a6976853c --- /dev/null +++ b/src/components/MonitorSettingDialog.vue @@ -0,0 +1,123 @@ + + + + + diff --git a/src/components/PublicGroupList.vue b/src/components/PublicGroupList.vue index 59658d6d8..e6af57eb7 100644 --- a/src/components/PublicGroupList.vue +++ b/src/components/PublicGroupList.vue @@ -49,26 +49,15 @@ {{ monitor.element.name }}

{{ monitor.element.name }}

- - -
@@ -80,7 +69,7 @@ - + @@ -91,7 +80,7 @@