From c6d6061a9fd7da4f1f6645c418b39bea2cd10ee5 Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Mon, 30 Sep 2024 05:41:31 +0800 Subject: [PATCH 001/226] Pin cheerio to avoid the breaking change of undici (#5142) --- package-lock.json | 111 +++++++--------------------------------------- package.json | 2 +- 2 files changed, 17 insertions(+), 96 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7b4a76cc1..0803208a6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "uptime-kuma", - "version": "1.23.13", + "version": "1.23.14", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "uptime-kuma", - "version": "1.23.13", + "version": "1.23.14", "license": "MIT", "dependencies": { "@grpc/grpc-js": "~1.8.22", @@ -20,7 +20,7 @@ "cacheable-lookup": "~6.0.4", "chardet": "~1.4.0", "check-password-strength": "^2.0.5", - "cheerio": "~1.0.0-rc.12", + "cheerio": "1.0.0-rc.12", "chroma-js": "~2.4.2", "command-exists": "~1.2.9", "compare-versions": "~3.6.0", @@ -8468,25 +8468,21 @@ "license": "MIT" }, "node_modules/cheerio": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0.tgz", - "integrity": "sha512-quS9HgjQpdaXOvsZz82Oz7uxtXiy6UIsIQcpBj7HRw2M63Skasm9qlDocAM7jNuaxdhpPU7c4kJN+gA5MCu4ww==", + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", + "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", "license": "MIT", "dependencies": { "cheerio-select": "^2.1.0", "dom-serializer": "^2.0.0", "domhandler": "^5.0.3", - "domutils": "^3.1.0", - "encoding-sniffer": "^0.2.0", - "htmlparser2": "^9.1.0", - "parse5": "^7.1.2", - "parse5-htmlparser2-tree-adapter": "^7.0.0", - "parse5-parser-stream": "^7.1.2", - "undici": "^6.19.5", - "whatwg-mimetype": "^4.0.0" + "domutils": "^3.0.1", + "htmlparser2": "^8.0.1", + "parse5": "^7.0.0", + "parse5-htmlparser2-tree-adapter": "^7.0.0" }, "engines": { - "node": ">=18.17" + "node": ">= 6" }, "funding": { "url": "https://github.com/cheeriojs/cheerio?sponsor=1" @@ -8509,15 +8505,6 @@ "url": "https://github.com/sponsors/fb55" } }, - "node_modules/cheerio/node_modules/undici": { - "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici/-/undici-6.19.8.tgz", - "integrity": "sha512-U8uCCl2x9TK3WANvmBavymRzxbfFYG+tAu+fgx3zxQy3qdagQqBLwJVrdyO1TBfUXvfKveMKJZhpvUYoOjM+4g==", - "license": "MIT", - "engines": { - "node": ">=18.17" - } - }, "node_modules/chokidar": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", @@ -10124,19 +10111,6 @@ "iconv-lite": "^0.6.2" } }, - "node_modules/encoding-sniffer": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/encoding-sniffer/-/encoding-sniffer-0.2.0.tgz", - "integrity": "sha512-ju7Wq1kg04I3HtiYIOrUrdfdDvkyO9s5XM8QAj/bN61Yo/Vb4vgJxy5vi4Yxk01gWHbrofpPtpxM8bKger9jhg==", - "license": "MIT", - "dependencies": { - "iconv-lite": "^0.6.3", - "whatwg-encoding": "^3.1.1" - }, - "funding": { - "url": "https://github.com/fb55/encoding-sniffer?sponsor=1" - } - }, "node_modules/end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -12370,9 +12344,9 @@ } }, "node_modules/htmlparser2": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.1.0.tgz", - "integrity": "sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", "funding": [ "https://github.com/fb55/htmlparser2?sponsor=1", { @@ -12384,8 +12358,8 @@ "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.3", - "domutils": "^3.1.0", - "entities": "^4.5.0" + "domutils": "^3.0.1", + "entities": "^4.4.0" } }, "node_modules/http-cache-semantics": { @@ -17229,18 +17203,6 @@ "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "node_modules/parse5-parser-stream": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz", - "integrity": "sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==", - "license": "MIT", - "dependencies": { - "parse5": "^7.0.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -17592,26 +17554,6 @@ "node": "^12 || >=14" } }, - "node_modules/postcss-html/node_modules/htmlparser2": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", - "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", - "dev": true, - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "MIT", - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "entities": "^4.4.0" - } - }, "node_modules/postcss-html/node_modules/js-tokens": { "version": "8.0.3", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-8.0.3.tgz", @@ -21593,27 +21535,6 @@ "node": ">=12" } }, - "node_modules/whatwg-encoding": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", - "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", - "license": "MIT", - "dependencies": { - "iconv-lite": "0.6.3" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/whatwg-mimetype": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", - "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", - "license": "MIT", - "engines": { - "node": ">=18" - } - }, "node_modules/whatwg-url": { "version": "12.0.1", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-12.0.1.tgz", diff --git a/package.json b/package.json index 824642b02..dbefb4de6 100644 --- a/package.json +++ b/package.json @@ -89,7 +89,7 @@ "cacheable-lookup": "~6.0.4", "chardet": "~1.4.0", "check-password-strength": "^2.0.5", - "cheerio": "~1.0.0-rc.12", + "cheerio": "1.0.0-rc.12", "chroma-js": "~2.4.2", "command-exists": "~1.2.9", "compare-versions": "~3.6.0", From 32dc76a08515c3730ddaa11153004225f8d7e53b Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Mon, 30 Sep 2024 05:44:32 +0800 Subject: [PATCH 002/226] Update to 1.23.15 --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index dbefb4de6..96f0c9b6f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "uptime-kuma", - "version": "1.23.14", + "version": "1.23.15", "license": "MIT", "repository": { "type": "git", @@ -42,7 +42,7 @@ "build-docker-nightly-amd64": "docker buildx build -f docker/dockerfile --platform linux/amd64 -t louislam/uptime-kuma:nightly-amd64 --target nightly . --push --progress plain", "build-docker-pr-test": "docker buildx build -f docker/dockerfile --platform linux/amd64,linux/arm64 -t louislam/uptime-kuma:pr-test --target pr-test . --push", "upload-artifacts": "docker buildx build -f docker/dockerfile --platform linux/amd64 -t louislam/uptime-kuma:upload-artifact --build-arg VERSION --build-arg GITHUB_TOKEN --target upload-artifact . --progress plain", - "setup": "git checkout 1.23.14 && npm ci --production && npm run download-dist", + "setup": "git checkout 1.23.15 && npm ci --production && npm run download-dist", "download-dist": "node extra/download-dist.js", "mark-as-nightly": "node extra/mark-as-nightly.js", "reset-password": "node extra/reset-password.js", From acd1e7211afc41e996cbbbceb88771df5dae70d1 Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Mon, 30 Sep 2024 16:43:43 +0000 Subject: [PATCH 003/226] Translated using Weblate (Chinese (Traditional, Hong Kong)) Currently translated at 70.9% (721 of 1016 strings) Co-authored-by: Louis Lam Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/zh_Hant_HK/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/zh-HK.json | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/lang/zh-HK.json b/src/lang/zh-HK.json index 55e2af17c..570ca3a20 100644 --- a/src/lang/zh-HK.json +++ b/src/lang/zh-HK.json @@ -47,7 +47,7 @@ "Retries": "重試數次確定為離線", "retriesDescription": "重試多少次後才判定為離線及傳送通知。如數值為 0 會即判定為離線及傳送通知。", "Advanced": "進階", - "ignoreTLSError": "忽略 TLS/SSL 錯誤", + "ignoreTLSError": "忽略 HTTPS 網站的 TLS/SSL 錯誤", "Upside Down Mode": "反轉模式", "upsideDownModeDescription": "反轉狀態,如網址是可正常瀏覽,會被判定為 '離線/DOWN'", "Max. Redirects": "跟隨重新導向 (Redirect) 的次數", @@ -56,7 +56,7 @@ "acceptedStatusCodesDescription": "可多選", "Save": "儲存", "Notifications": "通知", - "Not available, please setup.": "無法使用,需要設定", + "Not available, please setup.": "無法使用,需要設定。", "Setup Notification": "設定通知", "Light": "明亮", "Dark": "暗黑", @@ -737,7 +737,7 @@ "selectedMonitorCount": "已選:{0}", "Check/Uncheck": "選取中/取消選取", "telegramMessageThreadIDDescription": "(可選) Telegram 在超級群組使用的話題標識字串", - "pushViewCode": "查看代碼", + "pushViewCode": "如何使用 Push 監控?(檢視程式碼)", "pushOthers": "其他", "webhookBodyCustomOption": "自定義內容", "tailscalePingWarning": "如要使用 Tailscale Ping ,您需要以非 docker 方式安裝 Uptime Kuma,並在系統安裝 Tailscale 客戶端。", @@ -757,5 +757,8 @@ "timeoutAfter": "{0} 秒後為超時", "settingUpDatabaseMSG": "正在設定資料庫。可能需要一段時間,請耐心等待。", "Host URL": "主機網址", - "locally configured mail transfer agent": "本機設定的郵件傳輸代理" + "locally configured mail transfer agent": "本機設定的郵件傳輸代理", + "now": "現在", + "time ago": "{0} 之前", + "ignoreTLSErrorGeneral": "忽略連接中的TLS/SSL錯誤" } From c120c370307d97c99e74568a7c717cb081e03b22 Mon Sep 17 00:00:00 2001 From: Cyril59310 Date: Mon, 30 Sep 2024 16:43:44 +0000 Subject: [PATCH 004/226] Translated using Weblate (French) Currently translated at 100.0% (1016 of 1016 strings) Translated using Weblate (French) Currently translated at 100.0% (1016 of 1016 strings) Co-authored-by: Cyril59310 Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/fr/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/fr-FR.json | 63 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 62 insertions(+), 1 deletion(-) diff --git a/src/lang/fr-FR.json b/src/lang/fr-FR.json index 0cdcc5afa..b0985e63f 100644 --- a/src/lang/fr-FR.json +++ b/src/lang/fr-FR.json @@ -989,5 +989,66 @@ "threemaApiAuthenticationSecret": "Secret de l'identifiant de la passerelle", "wayToGetThreemaGateway": "Vous pouvez vous inscrire à Threema Gateway {0}.", "threemaBasicModeInfo": "Note : Cette intégration utilise Threema Gateway en mode basique (chiffrement basé sur le serveur). Vous pouvez trouver plus de détails {0}.", - "apiKeysDisabledMsg": "Les clés API sont désactivées car l'authentification est désactivée." + "apiKeysDisabledMsg": "Les clés API sont désactivées car l'authentification est désactivée.", + "cacheBusterParam": "Ajoutez le paramètre {0}", + "snmpCommunityStringHelptext": "Cette chaîne fonctionne comme un mot de passe pour authentifier et contrôler l'accès aux appareils compatibles SNMP. Faites-le correspondre à la configuration de votre périphérique SNMP.", + "privateOnesenderDesc": "Assurez-vous que le numéro de téléphone est valide. Pour envoyer un message vers un numéro de téléphone privé, ex : 628123456789", + "groupOnesenderDesc": "Assurez-vous que le GroupID est valide. Pour envoyer un message dans le groupe, ex : 628123456789-342345", + "Optional: Space separated list of scopes": "Facultatif : liste des étendues séparées par des espaces", + "jsonQueryDescription": "Analyser et extraire des données spécifiques de la réponse JSON du serveur en utilisant une requête JSON ou utiliser « $ » pour la réponse brute, si un JSON n'est pas attendu. Le résultat est ensuite comparé à la valeur attendue, en tant que chaînes de caractères. Consultez {0} pour la documentation et utilisez {1} pour expérimenter avec des requêtes.", + "now": "Maintenant", + "time ago": "il y a {0}", + "-year": "-année", + "Json Query Expression": "Expression de requête JSON", + "and": "et", + "cacheBusterParamDescription": "Paramètre généré aléatoirement pour ignorer les caches.", + "Community String": "Chaîne de communauté", + "OID (Object Identifier)": "OID (identifiant d'objet)", + "snmpOIDHelptext": "Entrez l'OID du capteur ou de l'état que vous souhaitez surveiller. Utilisez des outils de gestion de réseau tels que les navigateurs MIB ou le logiciel SNMP si vous n'êtes pas sûr de l'OID.", + "Condition": "Condition", + "SNMP Version": "Version SNMP", + "Please enter a valid OID.": "Veuillez saisir un OID valide.", + "Host Onesender": "Héberger un expéditeur", + "Token Onesender": "Jeton Onesender", + "Recipient Type": "Type de destinataire", + "Private Number": "Numéro privé", + "Group ID": "Identifiant du groupe", + "wayToGetOnesenderUrlandToken": "Vous pouvez obtenir l'URL et le jeton en accédant au site Web Onesender. Plus d'informations {0}", + "Add Remote Browser": "Ajouter un navigateur distant", + "New Group": "Nouveau groupe", + "Group Name": "Nom du groupe", + "OAuth2: Client Credentials": "OAuth2 : informations d'identification du client", + "Authentication Method": "Méthode d'authentification", + "Authorization Header": "En-tête d'autorisation", + "Form Data Body": "Corps des données du formulaire", + "OAuth Token URL": "URL du jeton OAuth", + "Client ID": "Identifiant client", + "Client Secret": "Secret client", + "OAuth Scope": "Portée OAuth", + "Go back to home page.": "Retournez à la page d'accueil.", + "No tags found.": "Aucune étiquettes trouvée.", + "Lost connection to the socket server.": "Connexion au serveur de socket perdue.", + "Cannot connect to the socket server.": "Impossible de se connecter au serveur de socket.", + "SIGNL4": "SIGNL4", + "SIGNL4 Webhook URL": "URL du webhook SIGNL4", + "signl4Docs": "Vous pouvez trouver plus d'informations sur la façon de configurer SIGNL4 et sur la façon d'obtenir l'URL du webhook SIGNL4 dans le {0}.", + "Conditions": "Conditions", + "conditionAdd": "Ajouter une condition", + "conditionDelete": "Supprimer la condition", + "conditionAddGroup": "Ajouter un groupe", + "conditionDeleteGroup": "Supprimer le groupe", + "conditionValuePlaceholder": "Valeur", + "equals": "est égal", + "not equals": "pas égal", + "contains": "contient", + "not contains": "ne contient pas", + "starts with": "commence par", + "not starts with": "ne commence pas par", + "ends with": "se termine par", + "not ends with": "ne se termine pas par", + "less than": "moins que", + "greater than": "supérieur à", + "less than or equal to": "inférieur ou égal à", + "greater than or equal to": "supérieur ou égal à", + "record": "enregistrer" } From d27a9e7d7f215b5421d3612df17decc737df8451 Mon Sep 17 00:00:00 2001 From: Marco Date: Mon, 30 Sep 2024 16:43:44 +0000 Subject: [PATCH 005/226] Translated using Weblate (German) Currently translated at 100.0% (1016 of 1016 strings) Translated using Weblate (German (Switzerland)) Currently translated at 100.0% (1016 of 1016 strings) Co-authored-by: Marco Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/de/ Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/de_CH/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/de-CH.json | 63 ++++++++++++++++++++++++++++++++++++++++++++- src/lang/de-DE.json | 63 ++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 124 insertions(+), 2 deletions(-) diff --git a/src/lang/de-CH.json b/src/lang/de-CH.json index 45c809fee..3fe962940 100644 --- a/src/lang/de-CH.json +++ b/src/lang/de-CH.json @@ -986,5 +986,66 @@ "threemaRecipientTypeIdentityFormat": "8 Zeichen", "threemaSenderIdentityFormat": "8 Zeichen, beginnt normalerweise mit *", "threemaBasicModeInfo": "Hinweis: Diese Integration verwendet Threema Gateway im Basismodus (serverbasierte Verschlüsselung). Weitere Details siehe {0}.", - "apiKeysDisabledMsg": "API-Schlüssel sind deaktiviert, da die Authentifizierung deaktiviert ist." + "apiKeysDisabledMsg": "API-Schlüssel sind deaktiviert, da die Authentifizierung deaktiviert ist.", + "Json Query Expression": "Json Query Ausdrck", + "Cannot connect to the socket server.": "Es kann keine Verbindung zum Socket-Server hergestellt werden.", + "not ends with": "endet nicht mit", + "signl4Docs": "Weitere Informationen zur Konfiguration von SIGNL4 und zum Abrufen der SIGNL4-Webhook-URL siehe {0}.", + "now": "jetzt", + "time ago": "vor {0}", + "-year": "-Jahr", + "and": "und", + "jsonQueryDescription": "Parsen und Extrahieren spezifischer Daten aus der JSON-Antwort des Servers mittels JSON-Abfrage oder Verwendung von \"$\" für die rohe Antwort, wenn kein JSON erwartet wird. Das Ergebnis wird dann mit dem erwarteten Wert in Form von Strings verglichen. Siehe {0} für die Dokumentation und verwende {1}, um mit Abfragen zu experimentieren.", + "cacheBusterParamDescription": "Zufällig generierter Parameter um den Cache zu umgehen.", + "cacheBusterParam": "Den Parameter {0} hinzufügen", + "Community String": "Gemeinschaftliche Zeichenkette", + "snmpCommunityStringHelptext": "Diese Zeichenfolge dient als Passwort zur Authentifizierung und Kontrolle des Zugriffs auf SNMP-fähigen Geräten. Pass sie an die Konfiguration des SNMP-Geräts an.", + "OID (Object Identifier)": "OID (Objekt-Identifikator)", + "Condition": "Bedingung", + "SNMP Version": "SNMP Version", + "Please enter a valid OID.": "Gib eine gültige OID ein.", + "Host Onesender": "Host Onesender", + "Token Onesender": "Token Onesender", + "Recipient Type": "Empfänger Typ", + "Private Number": "Private Nummer", + "Group ID": "Gruppen ID", + "wayToGetOnesenderUrlandToken": "Du kannst die URL und den Token auf der Onesender-Website erhalten. Weitere Infos {0}", + "Add Remote Browser": "Remote-Browser hinzufügen", + "New Group": "Neue Gruppe", + "Group Name": "Gruppenname", + "OAuth2: Client Credentials": "OAuth2: Client-Anmeldeinformationen", + "snmpOIDHelptext": "Gib die OID für den zu überwachenden Sensor oder Status ein. Verwende Netzwerkverwaltungstools wie MIB-Browser oder SNMP-Software, wenn du bezüglich OID unsicher bist.", + "privateOnesenderDesc": "Stell sicher, dass die Telefonnummer gültig ist. Um Nachrichten an private Telefonnummer zu senden, z. B.: 628123456789", + "groupOnesenderDesc": "Stell sicher, dass die GroupID gültig ist. Um Nachricht an die Gruppe zu senden, z.B.: 628123456789-342345", + "Authentication Method": "Authentifizierungsmethode", + "Authorization Header": "Autorisierungs-Header", + "Form Data Body": "Formular Data Body", + "OAuth Token URL": "OAuth Token URL", + "Client ID": "Client ID", + "Client Secret": "Client Secret", + "OAuth Scope": "OAuth Scope", + "Optional: Space separated list of scopes": "Optional: Durch Leerzeichen getrennte Liste der Scopes", + "Go back to home page.": "Zurück zur Startseite.", + "No tags found.": "Keine Tags gefunden.", + "Lost connection to the socket server.": "Verbindung zum Socket-Server verloren.", + "SIGNL4": "SIGNL4", + "SIGNL4 Webhook URL": "SIGNL4 Webhook URL", + "Conditions": "Bedingungen", + "conditionAdd": "Bedingung hinzufügen", + "conditionDelete": "Bedingung löschen", + "conditionAddGroup": "Gruppe hinzufügen", + "conditionDeleteGroup": "Gruppe löschen", + "conditionValuePlaceholder": "Wert", + "equals": "ist gleich", + "not equals": "ist nicht gleich", + "contains": "enthält", + "not contains": "enthält nicht", + "starts with": "beginnt mit", + "not starts with": "beginnt nicht mit", + "ends with": "endet mit", + "less than": "weniger als", + "greater than": "mehr als", + "less than or equal to": "kleiner als oder gleich", + "greater than or equal to": "grösser als oder gleich", + "record": "Eintrag" } diff --git a/src/lang/de-DE.json b/src/lang/de-DE.json index 64c451b43..204056a3f 100644 --- a/src/lang/de-DE.json +++ b/src/lang/de-DE.json @@ -989,5 +989,66 @@ "threemaRecipientTypeIdentityFormat": "8 Zeichen", "threemaSenderIdentityFormat": "8 Zeichen, beginnt normalerweise mit *", "threemaBasicModeInfo": "Hinweis: Diese Integration verwendet Threema Gateway im Basismodus (serverbasierte Verschlüsselung). Weitere Details siehe {0}.", - "apiKeysDisabledMsg": "API-Schlüssel sind deaktiviert, da die Authentifizierung deaktiviert ist." + "apiKeysDisabledMsg": "API-Schlüssel sind deaktiviert, da die Authentifizierung deaktiviert ist.", + "wayToGetOnesenderUrlandToken": "Du kannst die URL und den Token auf der Onesender-Website erhalten. Weitere Infos {0}", + "Lost connection to the socket server.": "Verbindung zum Socket-Server verloren.", + "conditionDeleteGroup": "Gruppe löschen", + "greater than": "mehr als", + "snmpOIDHelptext": "Gib die OID für den zu überwachenden Sensor oder Status ein. Verwende Netzwerkverwaltungstools wie MIB-Browser oder SNMP-Software, wenn du bezüglich OID unsicher bist.", + "signl4Docs": "Weitere Informationen zur Konfiguration von SIGNL4 und zum Abrufen der SIGNL4-Webhook-URL siehe {0}.", + "now": "jetzt", + "time ago": "vor {0}", + "Json Query Expression": "Json Query Ausdrck", + "-year": "-Jahr", + "and": "und", + "jsonQueryDescription": "Parsen und Extrahieren spezifischer Daten aus der JSON-Antwort des Servers mittels JSON-Abfrage oder Verwendung von \"$\" für die rohe Antwort, wenn kein JSON erwartet wird. Das Ergebnis wird dann mit dem erwarteten Wert in Form von Strings verglichen. Siehe {0} für die Dokumentation und verwende {1}, um mit Abfragen zu experimentieren.", + "cacheBusterParamDescription": "Zufällig generierter Parameter um den Cache zu umgehen.", + "cacheBusterParam": "Den Parameter {0} hinzufügen", + "Community String": "Gemeinschaftliche Zeichenkette", + "snmpCommunityStringHelptext": "Diese Zeichenfolge dient als Passwort zur Authentifizierung und Kontrolle des Zugriffs auf SNMP-fähigen Geräten. Pass sie an die Konfiguration des SNMP-Geräts an.", + "OID (Object Identifier)": "OID (Objekt-Identifikator)", + "Condition": "Bedingung", + "SNMP Version": "SNMP Version", + "Please enter a valid OID.": "Gib eine gültige OID ein.", + "Host Onesender": "Host Onesender", + "Token Onesender": "Token Onesender", + "Recipient Type": "Empfänger Typ", + "Private Number": "Private Nummer", + "Group ID": "Gruppen ID", + "privateOnesenderDesc": "Stell sicher, dass die Telefonnummer gültig ist. Um Nachrichten an private Telefonnummer zu senden, z. B.: 628123456789", + "groupOnesenderDesc": "Stell sicher, dass die GroupID gültig ist. Um Nachricht an die Gruppe zu senden, z.B.: 628123456789-342345", + "Add Remote Browser": "Remote-Browser hinzufügen", + "New Group": "Neue Gruppe", + "Group Name": "Gruppenname", + "OAuth2: Client Credentials": "OAuth2: Client-Anmeldeinformationen", + "Authentication Method": "Authentifizierungsmethode", + "Authorization Header": "Autorisierungs-Header", + "Form Data Body": "Formular Data Body", + "OAuth Token URL": "OAuth Token URL", + "Client ID": "Client ID", + "Client Secret": "Client Secret", + "OAuth Scope": "OAuth Scope", + "Optional: Space separated list of scopes": "Optional: Durch Leerzeichen getrennte Liste der Scopes", + "Go back to home page.": "Zurück zur Startseite.", + "No tags found.": "Keine Tags gefunden.", + "Cannot connect to the socket server.": "Es kann keine Verbindung zum Socket-Server hergestellt werden.", + "SIGNL4": "SIGNL4", + "SIGNL4 Webhook URL": "SIGNL4 Webhook URL", + "Conditions": "Bedingungen", + "conditionAdd": "Bedingung hinzufügen", + "conditionDelete": "Bedingung löschen", + "conditionAddGroup": "Gruppe hinzufügen", + "conditionValuePlaceholder": "Wert", + "equals": "ist gleich", + "not equals": "ist nicht gleich", + "contains": "enthält", + "not contains": "enthält nicht", + "starts with": "beginnt mit", + "not starts with": "beginnt nicht mit", + "ends with": "endet mit", + "not ends with": "endet nicht mit", + "less than": "weniger als", + "less than or equal to": "kleiner als oder gleich", + "greater than or equal to": "größer als oder gleich", + "record": "Eintrag" } From 93c5ab0bd80312aa77e0d042994c8d061695be81 Mon Sep 17 00:00:00 2001 From: Ilkka Myller Date: Mon, 30 Sep 2024 16:43:44 +0000 Subject: [PATCH 006/226] Translated using Weblate (Finnish) Currently translated at 100.0% (1016 of 1016 strings) Co-authored-by: Ilkka Myller Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/fi/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/fi.json | 63 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 62 insertions(+), 1 deletion(-) diff --git a/src/lang/fi.json b/src/lang/fi.json index b9da6c0d3..80c084b75 100644 --- a/src/lang/fi.json +++ b/src/lang/fi.json @@ -987,5 +987,66 @@ "threemaRecipientTypeIdentity": "Threema-tunnus (Threema-ID)", "threemaSenderIdentityFormat": "8 merkkiä, alkaa useimmiten merkillä *", "threemaBasicModeInfo": "Huomio: Tämä integraatio käyttää Threema Gateway:tä perustilassa (palvelinpohjainen salaus). Lisätietoja löytyy {0}.", - "apiKeysDisabledMsg": "API-avaimet eivät ole käytössä koska tunnistautuminen ei ole käytössä." + "apiKeysDisabledMsg": "API-avaimet eivät ole käytössä koska tunnistautuminen ei ole käytössä.", + "snmpCommunityStringHelptext": "Tämä merkkijono toimii salasanana ja pääsyoikeutena SNMP-laitteisiin. Aseta se samaksi kuin SNMP-laitteen asetuksissa.", + "privateOnesenderDesc": "Varmista, että puhelinnumero on kelvollinen. Lähettääksesi viestin yksityiseen numeroon esim. 628123456789", + "Authorization Header": "Tunnistautumisen otsikko (Authorization Header)", + "Optional: Space separated list of scopes": "Valinnainen: Luettelo näkyvyysalueista (scope) välilyönnillä erotettuna", + "jsonQueryDescription": "Valitse sisältö palvelimen JSON-vastauksesta käyttämällä JSON-kyselyä tai käytä alkuperäistä sisältöä merkillä \"$\", jos palvelimen vastaus ei ole JSON-muodossa. Tämän jälkeen sisältöä verrataan odotettuun arvoon (merkkijonona). Katso kyselykielen ohjeita osoitteesta {0}. Leikkikenttä löytyy osoitteesta {1}.", + "now": "nyt", + "time ago": "{0} sitten", + "-year": "-vuosi", + "Json Query Expression": "Json-kyselylauseke", + "and": "ja", + "cacheBusterParam": "Lisää parametri {0}", + "cacheBusterParamDescription": "Satunnaisesti luotu parametri välimuistien ohittamiseksi.", + "Community String": "Yhteisömerkkijono", + "OID (Object Identifier)": "OID (Objektin tunniste)", + "snmpOIDHelptext": "Syötä OID anturille tai tilalle jota haluat valvoa. Käytä verkonvalvontatyökaluja kuten MIB-selaimia tai SNMP-ohjelmistoja jos olet epävarma OID:n valinnasta.", + "Condition": "Ehto", + "SNMP Version": "SNMP-versio", + "Please enter a valid OID.": "Ole hyvä ja syötä kelvollinen OID.", + "Host Onesender": "OneSender-isäntä", + "Token Onesender": "OneSender-tokeni", + "Recipient Type": "Vastaanottajan tyyppi", + "Private Number": "Yksityinen numero", + "Group ID": "Ryhmän tunnus (Group ID)", + "groupOnesenderDesc": "Varmista, että ryhmän tunnus (Group ID) on kelvollinen. Lähettääksesi viestin ryhmälle, esim. 628123456789-342345", + "wayToGetOnesenderUrlandToken": "Saat URL-osoitteen ja tokenin vierailemalla OneSenderin verkkosivulla. Lisätietoja osoitteesta {0}", + "Add Remote Browser": "Lisää etäselain", + "New Group": "Uusi ryhmä", + "Group Name": "Ryhmän nimi", + "OAuth2: Client Credentials": "OAuth2: Asiakkaan tunnukset", + "Authentication Method": "Tunnistustapa", + "Form Data Body": "Lomakkeen tietosisältö (Form data body)", + "OAuth Token URL": "OAuth tokenin URL", + "Client ID": "Asiakkaan ID", + "Client Secret": "Asiakkaan salaisuus", + "OAuth Scope": "OAuth-näkyvyysalue (scope)", + "Go back to home page.": "Palaa etusivulle.", + "No tags found.": "Tunnisteita ei löytynyt.", + "Lost connection to the socket server.": "Menetettiin yhteys Socket-palvelimeen.", + "Cannot connect to the socket server.": "Socket-palvelimeen ei voi yhdistää.", + "SIGNL4": "SIGNL4", + "SIGNL4 Webhook URL": "SIGNL4 Webhookin URL", + "signl4Docs": "Löydät lisätietoja SIGNL4-asetuksista ja webhook URLin hankinnasta osoitteesta {0}.", + "Conditions": "Ehdot", + "conditionAdd": "Lisää ehto", + "conditionDelete": "Poista ehto", + "conditionAddGroup": "Lisää ryhmä", + "conditionDeleteGroup": "Poista ryhmä", + "conditionValuePlaceholder": "Arvo", + "contains": "sisältää", + "not contains": "ei sisällä", + "not equals": "ei yhtä suuri kuin", + "equals": "yhtä suuri kuin", + "starts with": "alkaa", + "not starts with": "ei ala", + "ends with": "päättyy", + "not ends with": "ei pääty", + "less than": "vähemmän kuin", + "greater than": "enemmän kuin", + "less than or equal to": "vähemmän tai yhtä paljon kuin", + "greater than or equal to": "enemmän tai yhtä paljon kuin", + "record": "tietue" } From a14d05daabb4a12f49cd855797d9ebeea292503a Mon Sep 17 00:00:00 2001 From: Michal Date: Mon, 30 Sep 2024 16:43:44 +0000 Subject: [PATCH 007/226] Translated using Weblate (Czech) Currently translated at 96.1% (977 of 1016 strings) Co-authored-by: Michal Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/cs/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/cs-CZ.json | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/src/lang/cs-CZ.json b/src/lang/cs-CZ.json index c3288bf9f..cbe1b08b8 100644 --- a/src/lang/cs-CZ.json +++ b/src/lang/cs-CZ.json @@ -988,5 +988,28 @@ "threemaRecipientTypeIdentityFormat": "8 znaků", "threemaRecipientTypeIdentity": "Threema-ID", "threemaRecipientTypePhone": "Telefonní číslo", - "wayToGetThreemaGateway": "Můžete se zaregistrovat do služby brány Threema {0}." + "wayToGetThreemaGateway": "Můžete se zaregistrovat do služby brány Threema {0}.", + "privateOnesenderDesc": "Zkontrolujte, zda je telefonní číslo platné. Odeslání zprávy na soukromé telefonní číslo, např.: 628123456789", + "wayToGetOnesenderUrlandToken": "Adresu URL a token získáte na webových stránkách společnosti Onesender. Více informací {0}", + "now": "nyní", + "time ago": "před {0}", + "-year": "-rok", + "Json Query Expression": "Výraz dotazu JSON", + "and": "a", + "cacheBusterParam": "Přidání parametru {0}", + "cacheBusterParamDescription": "Náhodně generovaný parametr pro vynechání mezipaměti.", + "OID (Object Identifier)": "OID (identifikátor objektu)", + "Condition": "Stav", + "SNMP Version": "Verze SNMP", + "Please enter a valid OID.": "Zadejte prosím platný identifikátor OID.", + "Recipient Type": "Typ příjemce", + "Private Number": "Soukromé číslo", + "Group ID": "ID skupiny", + "Add Remote Browser": "Přidat vzdálený prohlížeč", + "New Group": "Nová skupina", + "Group Name": "Název skupiny", + "OAuth2: Client Credentials": "OAuth2: přihlašovací údaje klienta", + "Authentication Method": "Metoda ověřování", + "Authorization Header": "Hlavička autorizace", + "Form Data Body": "Tělo formuláře s daty" } From 9ff0ae67df69131ade7e7e48533781246e169afd Mon Sep 17 00:00:00 2001 From: Harry Suryapambagya Date: Mon, 30 Sep 2024 16:43:44 +0000 Subject: [PATCH 008/226] Translated using Weblate (Indonesian) Currently translated at 100.0% (1016 of 1016 strings) Translated using Weblate (Indonesian) Currently translated at 95.1% (967 of 1016 strings) Co-authored-by: Harry Suryapambagya Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/id/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/id-ID.json | 63 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 62 insertions(+), 1 deletion(-) diff --git a/src/lang/id-ID.json b/src/lang/id-ID.json index e1e066dc4..8648b9cb6 100644 --- a/src/lang/id-ID.json +++ b/src/lang/id-ID.json @@ -984,5 +984,66 @@ "apiKeySevenIO": "Kunci API SevenIO", "locally configured mail transfer agent": "transfer email agent yang dikonfigurasi secara lokal", "Either enter the hostname of the server you want to connect to or localhost if you intend to use a locally configured mail transfer agent": "Masukkan nama host server yang ingin Anda sambungkan atau {localhost} jika Anda ingin menggunakan {local_mta}", - "ignoreTLSErrorGeneral": "Abaikan kesalahan TLS/SSL untuk koneksi" + "ignoreTLSErrorGeneral": "Abaikan kesalahan TLS/SSL untuk koneksi", + "jsonQueryDescription": "Mengurai dan mengekstrak data spesifik dari respons JSON server menggunakan query JSON atau menggunakan “$” untuk respons mentah, jika tidak menginginkan JSON. Hasilnya kemudian dibandingkan dengan nilai yang diharapkan, sebagai string. Lihat {0} untuk dokumentasi dan gunakan {1} untuk bereksperimen dengan query.", + "now": "sekarang", + "time ago": "{0} yang lalu", + "-year": "-tahun", + "Json Query Expression": "Ekspresi Kueri Json", + "and": "dan", + "cacheBusterParam": "Tambahkan parameter {0}", + "cacheBusterParamDescription": "Parameter yang dihasilkan secara acak untuk melewati cache.", + "Community String": "Community String", + "snmpCommunityStringHelptext": "String ini berfungsi sebagai kata sandi untuk autentikasi dan mengontrol akses ke perangkat SNMP. Cocokkan dengan konfigurasi perangkat SNMP Anda.", + "OID (Object Identifier)": "OID (Object Identifier)", + "snmpOIDHelptext": "Masukkan OID untuk sensor atau status yang ingin Anda pantau. Gunakan alat manajemen jaringan seperti browser MIB atau perangkat lunak SNMP jika Anda tidak yakin tentang OID.", + "signl4Docs": "Anda dapat menemukan informasi selengkapnya tentang cara mengonfigurasi SIGNL4 dan cara mendapatkan URL webhook SIGNL4 di {0}.", + "greater than or equal to": "lebih dari atau sama dengan", + "wayToGetOnesenderUrlandToken": "Anda bisa mendapatkan URL dan Token dengan mengunjungi situs Onesender. Informasi lebih lanjut {0}", + "Condition": "Kondisi", + "SNMP Version": "Versi SNMP", + "Please enter a valid OID.": "Silakan masukkan OID yang tepat.", + "Host Onesender": "Host Onesender", + "Token Onesender": "Token Onesender", + "Recipient Type": "Tipe Penerima", + "Private Number": "Nomor Pribadi", + "privateOnesenderDesc": "Pastikan nomor telepon valid. Untuk mengirim pesan ke nomor telepon pribadi, contoh: 628123456789", + "Authorization Header": "Authorization Header", + "Form Data Body": "Form Data Body", + "OAuth Token URL": "OAuth Token URL", + "Client ID": "ID Klien", + "Client Secret": "Client Secret", + "OAuth Scope": "OAuth Scope", + "Optional: Space separated list of scopes": "Opsional: Daftar cakupan yang dipisahkan spasi", + "Go back to home page.": "Kembali ke halaman beranda.", + "No tags found.": "Tidak ada tag yang ditemukan.", + "Lost connection to the socket server.": "Kehilangan koneksi ke server soket.", + "Cannot connect to the socket server.": "Tidak dapat terhubung ke server soket.", + "SIGNL4": "SIGNL4", + "SIGNL4 Webhook URL": "SIGNL4 Webhook URL", + "Conditions": "Kondisi", + "conditionAdd": "Tambahkan Kondisi", + "conditionDelete": "Menghapus Kondisi", + "conditionAddGroup": "Tambahkan Grup", + "conditionDeleteGroup": "Menghapus Grup", + "conditionValuePlaceholder": "Nilai", + "equals": "sama dengan", + "not equals": "tidak sama dengan", + "contains": "berisi", + "not contains": "tidak berisi", + "starts with": "dimulai dengan", + "not starts with": "tidak dimulai dengan", + "ends with": "diakhiri dengan", + "not ends with": "tidak diakhiri dengan", + "less than": "kurang dari", + "greater than": "lebih dari", + "less than or equal to": "kurang dari atau sama dengan", + "record": "rekaman", + "groupOnesenderDesc": "Pastikan GroupIDnya valid. Untuk mengirim pesan ke Grup, misal: 628123456789-342345", + "Group ID": "ID Grup", + "Add Remote Browser": "Tambahkan Remote Browser", + "New Group": "Grup Baru", + "Group Name": "Nama Grup", + "OAuth2: Client Credentials": "OAuth2: Kredensial Klien", + "Authentication Method": "Metode Autentikasi" } From aa38344c3dad351dee82c45ac7cca925dc2e2454 Mon Sep 17 00:00:00 2001 From: Lee Min Waan Date: Mon, 30 Sep 2024 16:43:44 +0000 Subject: [PATCH 009/226] Translated using Weblate (Vietnamese) Currently translated at 51.8% (527 of 1016 strings) Co-authored-by: Lee Min Waan Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/vi/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/vi-VN.json | 46 +++++++++++++++++++++++++++++++++++++++------ 1 file changed, 40 insertions(+), 6 deletions(-) diff --git a/src/lang/vi-VN.json b/src/lang/vi-VN.json index e4a79813b..3e196350c 100644 --- a/src/lang/vi-VN.json +++ b/src/lang/vi-VN.json @@ -80,8 +80,8 @@ "pushOptionalParams": "Tham số tuỳ chọn: {0}", "Save": "Lưu", "Notifications": "Thông báo", - "Not available, please setup.": "Chưa sẵn sàng, hãy cài đặt.", - "Setup Notification": "Cài đặt thông báo", + "Not available, please setup.": "Không tồn tại, hãy cài đặt.", + "Setup Notification": "Thiết lập thông báo", "Light": "Sáng", "Dark": "Tối", "Auto": "Tự động", @@ -150,7 +150,7 @@ "Options": "Tuỳ chọn", "Keep both": "Giữ lại cả hai", "Verify Token": "Xác minh Token", - "Setup 2FA": "Cài đặt xác thực 2 lớp (2FA)", + "Setup 2FA": "Thiết lập xác thực 2 lớp (2FA)", "Enable 2FA": "Bật xác thực 2 lớp (2FA)", "Disable 2FA": "Tắt xác thực 2 lớp (2FA)", "2FA Settings": "Cài đặt xác thực 2 lớp (2FA)", @@ -450,7 +450,7 @@ "Issuer:": "Issuer:", "Fingerprint:": "Fingerprint:", "No status pages": "No status pages", - "Domain Name Expiry Notification": "Cảnh báo hạn hạn Domain Name", + "Domain Name Expiry Notification": "Cảnh báo hết hạn tên miền", "Proxy": "Proxy", "Date Created": "Ngày khởi tạo", "onebotHttpAddress": "OneBot HTTP Address", @@ -503,7 +503,7 @@ "resendDisabled": "Vô hiệu hoá gửi phản hồi liên tục", "resendEveryXTimes": "Gửi phản hồi mỗi {0} lần", "setupDatabaseMariaDB": "Kết nối tới một cơ sở dữ liệu MariaDB bên ngoài. Bạn cần cấu hình thông tin kết nối cơ sở dữ liệu.", - "setupDatabaseChooseDatabase": "Bạn muốn dùng cơ sở dữ liệu nào?", + "setupDatabaseChooseDatabase": "Bạn muốn dùng loại cơ sở dữ liệu nào?", "setupDatabaseEmbeddedMariaDB": "Bạn không cần phải cài đặt bất cứ thứ gì. Docker image đã nhúng và cấu hình tự động cơ sở dữ liệu MariaDB cho bạn. Uptime Kuma sẽ kết nối tới cơ sở dữ liệu thông qua unix socket.", "setupDatabaseSQLite": "Một tệp cơ sở dữ liệu đơn giản, được khuyên dùng cho quy mô triển khai nhỏ. Trước v2.0.0, Uptime Kuma sử dụng SQLite như là một cơ sở dữ liệu mặc định.", "dbName": "Tên cơ sở dữ liệu", @@ -521,5 +521,39 @@ "styleElapsedTime": "Thời gian đã qua dưới thanh trạng thái", "styleElapsedTimeShowNoLine": "Hiển Thị (Không Dòng Kẻ)", "styleElapsedTimeShowWithLine": "Hiển Thị (Có Dòng Kẻ)", - "Request Timeout": "Yêu cầu hết hạn" + "Request Timeout": "Yêu cầu hết hạn", + "now": "hiện tại", + "Add a new expiry notification day": "Thêm ngày hết hạn", + "time ago": "đã qua {0} giây", + "There might be a typing error in the address.": "Có lỗi trong quá trình nhập địa chỉ", + "DockerHostRequired": "Vui lòng đặt Docker Host cho trang giám sát này", + "templateMsg": "Tin nhắn", + "-year": "-năm", + "filterActive": "Hoạt động", + "filterActivePaused": "Tạm dừng", + "Search monitored sites": "Tìm kiếm trang", + "Reset Token": "Thiết lập lại Token", + "Remove the expiry notification": "Xóa ngày hết hạn", + "API Username": "Tên người dùng API", + "Also check beta release": "Hãy kiểm tra bản beta", + "Check/Uncheck": "Chọn/Bỏ chọn", + "API Key": "mã API", + "Coming Soon": "Sắp tới", + "Query": "Tìm kiếm", + "Setup Docker Host": "Thiết lập máy chủ Docker", + "Connection Type": "Loại kết nối", + "Docker Daemon": "Trình nền docker", + "noDockerHostMsg": "Không tồn tại. Vui lòng thiết lập máy chủ Docker trước", + "Host URL": "URL Máy chủ", + "Footer Text": "Chân trang", + "Refresh Interval": "Tốc độ làm mới", + "Refresh Interval Description": "Trang status sẽ tự làm mới mỗi {0} giây", + "Connection String": "Chuỗi kết nối", + "settingsCertificateExpiry": "Ngày hết hạn chứng chỉ TLS", + "ignoreTLSErrorGeneral": "Bỏ qua lỗi TLS/SSL cho kết nối", + "Select": "Chọn", + "selectedMonitorCount": "Đã chọn: {0}", + "Either enter the hostname of the server you want to connect to or localhost if you intend to use a locally configured mail transfer agent": "nhập hostname của server bạn muốn kết nối hoặc {localhost} nếu bạn muốn dùng {local_mta}", + "webhookBodyPresetOption": "Cài đặt sẵn", + "critical": "nguy kịch" } From abcc98c83668f6382ee9523518aab08626c082b6 Mon Sep 17 00:00:00 2001 From: AnnAngela Date: Mon, 30 Sep 2024 16:43:44 +0000 Subject: [PATCH 010/226] Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (1016 of 1016 strings) Co-authored-by: AnnAngela Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/zh_Hans/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/zh-CN.json | 65 +++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 63 insertions(+), 2 deletions(-) diff --git a/src/lang/zh-CN.json b/src/lang/zh-CN.json index 3d0972d59..7e0a92751 100644 --- a/src/lang/zh-CN.json +++ b/src/lang/zh-CN.json @@ -779,7 +779,7 @@ "Badge Label Color": "徽章标签颜色", "Show Clickable Link Description": "勾选后所有能访问本状态页的访客均可查看该监控项网址。", "Show Clickable Link": "显示可点击的监控项链接", - "Group": "组", + "Group": "分组", "Monitor Group": "监控项组", "Cannot connect to the socket server": "无法连接到后端服务器", "Reconnecting...": "重连中……", @@ -991,5 +991,66 @@ "threemaBasicModeInfo": "注:此通知类型所使用的 Threema 网关为基础模式(服务器端加密)。更多细节参见 {0}。", "threemaRecipientTypePhoneFormat": "E.164 标准,不含前导 + 号", "wayToGetThreemaGateway": "你可以在 {0} 注册 Threema 网关。", - "apiKeysDisabledMsg": "由于登录验证被禁用,API 密钥也被禁用。" + "apiKeysDisabledMsg": "由于登录验证被禁用,API 密钥也被禁用。", + "now": "现在", + "Json Query Expression": "JSON 查询表达式", + "and": "与", + "cacheBusterParam": "添加参数 {0}", + "cacheBusterParamDescription": "随机生成一个参数以绕过缓存。", + "Community String": "SNMP 通讯字符串", + "snmpCommunityStringHelptext": "此字符串用作密码,以验证和控制对SNMP启用设备的访问。请将其与您的SNMP设备配置匹配。", + "Please enter a valid OID.": "请输入一个合法的 OID。", + "privateOnesenderDesc": "请确保电话号码有效。要向私人电话号码发送消息,格式形如:628123456789", + "wayToGetOnesenderUrlandToken": "你可以在 Onesender 网站获取地址和令牌。更多信息参见 {0}", + "signl4Docs": "你可以在此找到更多关于如何配置 SIGNL4 以及如何获取 SIGNL4 Webhook 地址的信息:{0}。", + "groupOnesenderDesc": "请确保分组 ID 有效。要向分组发送消息,格式形如:628123456789-342345", + "time ago": "{0} 之前", + "-year": "年", + "OID (Object Identifier)": "OID(对象标识符)", + "snmpOIDHelptext": "输入您想监控的传感器或状态的 OID。如果您不确定 OID 是什么,可以使用 MIB 浏览器或 SNMP 软件等网络管理工具进行查找。", + "Condition": "条件", + "SNMP Version": "SNMP 版本", + "Host Onesender": "Onesender 服务器", + "Token Onesender": "Onesender 令牌", + "Recipient Type": "收件人类型", + "Private Number": "私密号码", + "Add Remote Browser": "添加远程浏览器", + "OAuth2: Client Credentials": "OAuth2:客户端凭据", + "Authentication Method": "鉴权方式", + "Authorization Header": "鉴权请求头", + "Form Data Body": "表单数据请求体", + "OAuth Token URL": "OAuth 令牌地址", + "Client ID": "客户端 ID", + "Client Secret": "客户端秘钥", + "OAuth Scope": "OAuth 范围", + "New Group": "新分组", + "Group ID": "分组 ID", + "Group Name": "分组名称", + "Optional: Space separated list of scopes": "可选项:用空格分隔的范围列表", + "Go back to home page.": "返回到首页。", + "No tags found.": "未找到标签。", + "Lost connection to the socket server.": "与 socket 服务器的连接丢失。", + "Cannot connect to the socket server.": "无法连接到 socket 服务器。", + "SIGNL4": "SIGNL4", + "SIGNL4 Webhook URL": "SIGNL4 Webhook 地址", + "Conditions": "条件", + "conditionAdd": "添加条件", + "conditionDelete": "删除条件", + "conditionAddGroup": "添加分组", + "conditionDeleteGroup": "删除分组", + "conditionValuePlaceholder": "值", + "equals": "相等", + "not equals": "不相等", + "contains": "包含", + "not contains": "不包含", + "starts with": "以此开头", + "not starts with": "不以此开头", + "ends with": "以此结尾", + "not ends with": "不以此结尾", + "less than": "少于", + "greater than": "多于", + "less than or equal to": "不多于", + "greater than or equal to": "不少于", + "record": "记录", + "jsonQueryDescription": "使用 JSON 查询解析并提取服务器 JSON 响应中的特定数据,或者,如果不期望得到 JSON 响应,则可使用 \"$\" 获取原始响应。然后将结果转为字符串并与期望值进行字符串比较。有关更多文档,请参阅 {0},亦可使用 {1} 来尝试查询。" } From cef072cae94339b3e5cf99cd86126e96bc632bfc Mon Sep 17 00:00:00 2001 From: kindercat <156439718+kindercat@users.noreply.github.com> Date: Mon, 30 Sep 2024 16:43:45 +0000 Subject: [PATCH 011/226] Translated using Weblate (Romanian) Currently translated at 100.0% (1016 of 1016 strings) Translated using Weblate (Romanian) Currently translated at 95.5% (971 of 1016 strings) Co-authored-by: kindercat <156439718+kindercat@users.noreply.github.com> Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ro/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/ro.json | 63 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 62 insertions(+), 1 deletion(-) diff --git a/src/lang/ro.json b/src/lang/ro.json index 364ceed74..cfbd33808 100644 --- a/src/lang/ro.json +++ b/src/lang/ro.json @@ -978,5 +978,66 @@ "wayToGetThreemaGateway": "Vă puteți înregistra pentru Threema Gateway {0}.", "threemaSenderIdentityFormat": "8 caractere, de obicei începe cu *", "threemaBasicModeInfo": "Notă: Această integrare utilizează Threema Gateway în modul de bază (criptare bazată pe server). Mai multe detalii pot fi găsite {0}.", - "apiKeysDisabledMsg": "Cheile API sunt dezactivate deoarece autentificarea este dezactivată." + "apiKeysDisabledMsg": "Cheile API sunt dezactivate deoarece autentificarea este dezactivată.", + "and": "și", + "jsonQueryDescription": "Analizați și extrageți date specifice din răspunsul JSON al serverului folosind interogarea JSON sau folosiți „$” pentru răspunsul brut, dacă nu vă așteptați JSON. Rezultatul este apoi comparat cu valoarea așteptată, sub formă de șiruri. Consultați {0} pentru documentație și utilizați {1} pentru a experimenta interogări.", + "snmpCommunityStringHelptext": "Acest șir funcționează ca o parolă pentru autentificarea și controlul accesului la dispozitivele SNMP activate. Potriviți-l cu configurația dispozitivului dvs. SNMP.", + "Please enter a valid OID.": "Vă rugăm să introduceți un OID valid.", + "now": "acum", + "time ago": "acum {0}", + "-year": "-an", + "Json Query Expression": "Expresie de interogare Json", + "cacheBusterParam": "Adăugați parametrul {0}", + "cacheBusterParamDescription": "Parametru generat aleatoriu pentru a ignora memoria cache.", + "Community String": "Șir de comunitate", + "OID (Object Identifier)": "OID (identificator de obiect)", + "snmpOIDHelptext": "Introduceți OID-ul pentru senzorul sau starea pe care doriți să-l monitorizați. Utilizați instrumente de gestionare a rețelei, cum ar fi browserele MIB sau software-ul SNMP, dacă nu sunteți sigur de OID.", + "Condition": "Stare", + "SNMP Version": "Versiunea SNMP", + "Host Onesender": "Gazdă Onesender", + "privateOnesenderDesc": "Asigurați-vă că numărul de telefon este valid. Pentru a trimite mesaj la numărul de telefon privat, ex: 628123456789", + "wayToGetOnesenderUrlandToken": "Puteți obține adresa URL și Token accesând site-ul web Onesender. Mai multe informații {0}", + "OAuth Token URL": "Adresa URL a tokenului OAuth", + "No tags found.": "Nu au fost găsite etichete.", + "signl4Docs": "Puteți găsi mai multe informații despre cum să configurați SIGNL4 și despre cum să obțineți adresa URL a webhook-ului SIGNL4 în {0}.", + "greater than": "mai mare decât", + "Token Onesender": "Onesender Token", + "Recipient Type": "Tip Destinatar", + "Private Number": "Număr privat", + "groupOnesenderDesc": "Asigurați-vă că GroupID este valid. Pentru a trimite un mesaj în grup, de exemplu: 628123456789-342345", + "Group ID": "ID grup", + "Add Remote Browser": "Adăugați browser la distanță", + "New Group": "Grup nou", + "Group Name": "Numele grupului", + "OAuth2: Client Credentials": "OAuth2: credențialele clientului", + "Authentication Method": "Metoda de autentificare", + "Authorization Header": "Antet de autorizare", + "Form Data Body": "Corpul datelor formularului", + "Client ID": "ID client", + "Client Secret": "Secret client", + "OAuth Scope": "Domeniul OAuth", + "Optional: Space separated list of scopes": "Opțional: listă de domenii separate prin spații", + "Go back to home page.": "Reveniți la pagina de start.", + "Lost connection to the socket server.": "S-a pierdut conexiunea la serverul socket.", + "Cannot connect to the socket server.": "Nu se poate conecta la serverul socket.", + "SIGNL4": "SIGNL4", + "SIGNL4 Webhook URL": "URL SIGNL4 Webhook", + "Conditions": "Condiții", + "conditionAdd": "Adăugați o condiție", + "conditionDelete": "Ștergeți condiția", + "conditionAddGroup": "Adăugați grup", + "conditionDeleteGroup": "Ștergeți grupul", + "conditionValuePlaceholder": "Valoare", + "equals": "egală", + "not equals": "nu este egală", + "contains": "conţine", + "not contains": "nu conține", + "starts with": "începe cu", + "not starts with": "nu începe cu", + "ends with": "se termină cu", + "not ends with": "nu se termină cu", + "less than": "mai puțin decât", + "less than or equal to": "mai mic sau egal cu", + "greater than or equal to": "mai mare sau egal cu", + "record": "înregistrare" } From 1d86fa2b5cbca62ad4902e3a907f1f6840fb2892 Mon Sep 17 00:00:00 2001 From: stanol Date: Mon, 30 Sep 2024 16:43:45 +0000 Subject: [PATCH 012/226] Translated using Weblate (Ukrainian) Currently translated at 100.0% (1016 of 1016 strings) Co-authored-by: stanol Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/uk/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/uk-UA.json | 63 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 62 insertions(+), 1 deletion(-) diff --git a/src/lang/uk-UA.json b/src/lang/uk-UA.json index 3acf8cbcb..af679d8c3 100644 --- a/src/lang/uk-UA.json +++ b/src/lang/uk-UA.json @@ -995,5 +995,66 @@ "threemaRecipientTypeIdentityFormat": "8 символів", "threemaSenderIdentityFormat": "8 символів, зазвичай починається з *", "threemaBasicModeInfo": "Примітка: Ця інтеграція використовує Threema Gateway у базовому режимі (шифрування на основі сервера). Більш детальну інформацію можна знайти {0}.", - "apiKeysDisabledMsg": "API-ключі вимкнено, оскільки автентифікація вимкнена." + "apiKeysDisabledMsg": "API-ключі вимкнено, оскільки автентифікація вимкнена.", + "jsonQueryDescription": "Розбір і вилучення конкретних даних з JSON-відповіді сервера за допомогою JSON-запиту або використання символу «$» для необробленої відповіді, якщо не очікується JSON. Результат порівнюється з очікуваним значенням у вигляді рядків. Дивіться {0} для отримання документації і використовуйте {1} для експериментів із запитами.", + "snmpCommunityStringHelptext": "Цей рядок слугує паролем для автентифікації та контролю доступу до пристроїв з підтримкою SNMP. Узгодьте його з конфігурацією вашого SNMP-пристрою.", + "snmpOIDHelptext": "Введіть OID для датчика або стану, який ви хочете моніторити. Якщо ви не впевнені щодо OID, скористайтеся інструментами керування мережею, як-от MIB-браузерами або програмним забезпеченням SNMP.", + "wayToGetOnesenderUrlandToken": "Ви можете отримати URL-адресу і токен, перейшовши на сайт Onesender. Більше інформації {0}", + "conditionValuePlaceholder": "Значення", + "not equals": "не дорівнює", + "not ends with": "не закінчується на", + "and": "і", + "Private Number": "Приватний номер", + "signl4Docs": "Ви можете знайти більше інформації про те, як налаштувати SIGNL4 і як отримати URL-адресу вебхука SIGNL4 в розділі {0}.", + "now": "зараз", + "time ago": "{0} тому", + "-year": "-рік", + "Json Query Expression": "Вираз запиту Json", + "cacheBusterParam": "Додати параметр {0}", + "cacheBusterParamDescription": "Випадково згенерований параметр для обходу кешування.", + "OID (Object Identifier)": "OID (ідентифікатор об'єкта)", + "Condition": "Умова", + "SNMP Version": "Версія SNMP", + "Please enter a valid OID.": "Будь ласка, введіть дійсний OID.", + "privateOnesenderDesc": "Переконайтеся, що номер телефону дійсний. Щоб надіслати повідомлення на приватний номер телефону, наприклад: 628123456789", + "groupOnesenderDesc": "Переконайтеся, що GroupID дійсний. Щоб надіслати повідомлення в Групу, наприклад: 628123456789-342345", + "Add Remote Browser": "Додати віддалений браузер", + "New Group": "Нова група", + "Group Name": "Назва групи", + "Group ID": "ID групи", + "OAuth2: Client Credentials": "OAuth2: Облікові дані клієнта", + "Authentication Method": "Метод автентифікації", + "Authorization Header": "Заголовок авторизації", + "OAuth Token URL": "URL-адреса токену OAuth", + "Community String": "Рядок спільноти", + "Host Onesender": "Хост Onesender", + "Token Onesender": "Токен Onesender", + "Recipient Type": "Тип отримувача", + "Form Data Body": "Тіло даних форми", + "Client ID": "ID клієнта", + "Client Secret": "Секрет клієнта", + "Go back to home page.": "Повернутися на головну сторінку.", + "No tags found.": "Тегів не знайдено.", + "Lost connection to the socket server.": "Втрачено з'єднання з сервером сокетів.", + "Cannot connect to the socket server.": "Не вдається з'єднатися з сервером сокетів.", + "Conditions": "Умови", + "conditionAdd": "Додати умову", + "conditionDelete": "Видалити умову", + "conditionAddGroup": "Додати групу", + "conditionDeleteGroup": "Видалити групу", + "OAuth Scope": "OAuth дозволи", + "Optional: Space separated list of scopes": "Необов'язково: Розділений пробілами список дозволів", + "SIGNL4": "SIGNL4", + "SIGNL4 Webhook URL": "URL-адреса вебхука SIGNL4", + "equals": "дорівнює", + "contains": "містить", + "not contains": "не містить", + "starts with": "починається з", + "not starts with": "не починається з", + "ends with": "закінчується на", + "less than": "менше, ніж", + "greater than": "більше, ніж", + "less than or equal to": "менше або дорівнює", + "greater than or equal to": "більше або дорівнює", + "record": "запис" } From 3ab35c38fcd00b2f9add72259123864160e56d0a Mon Sep 17 00:00:00 2001 From: Hyeonho Kang Date: Mon, 30 Sep 2024 16:43:45 +0000 Subject: [PATCH 013/226] Translated using Weblate (Korean) Currently translated at 72.9% (741 of 1016 strings) Co-authored-by: Hyeonho Kang Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ko/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/ko-KR.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lang/ko-KR.json b/src/lang/ko-KR.json index 9dccae7d5..3dd500843 100644 --- a/src/lang/ko-KR.json +++ b/src/lang/ko-KR.json @@ -778,5 +778,8 @@ "Add a domain": "도메인 추가", "Remove domain": "도메인 '{0}' 제거", "Monitor Group": "모니터링 그룹", - "Monitor Setting": "{0}의 모니터 설정" + "Monitor Setting": "{0}의 모니터 설정", + "now": "지금", + "time ago": "{0} 전", + "Either enter the hostname of the server you want to connect to or localhost if you intend to use a locally configured mail transfer agent": "연결하려는 서버의 호스트 이름을 입력하거나 {local_mta}를 사용하려는 경우 {localhost}를 입력합니다" } From 62c55f0e258c5c766d47d1638cc04c18f9f19c35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aindri=C3=BA=20Mac=20Giolla=20Eoin?= Date: Mon, 30 Sep 2024 16:43:45 +0000 Subject: [PATCH 014/226] Translated using Weblate (Irish) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 100.0% (1016 of 1016 strings) Co-authored-by: Aindriú Mac Giolla Eoin Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ga/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/ga.json | 63 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 62 insertions(+), 1 deletion(-) diff --git a/src/lang/ga.json b/src/lang/ga.json index 843b08ed1..ee6b25e00 100644 --- a/src/lang/ga.json +++ b/src/lang/ga.json @@ -954,5 +954,66 @@ "smspartnerPhoneNumberHelptext": "Caithfidh an uimhir a bheith san fhormáid idirnáisiúnta {0}, {1}. Ní mór uimhreacha iolracha a dheighilt le {2}", "wayToGetThreemaGateway": "Is féidir leat clárú le haghaidh Threema Gateway {0}.", "threemaSenderIdentityFormat": "8 gcarachtar, a thosaíonn le * de ghnáth", - "threemaBasicModeInfo": "Nóta: Úsáideann an comhtháthú seo Threema Gateway i mód bunúsach (criptiúchán freastalaí-bhunaithe). Is féidir tuilleadh sonraí a fháil {0}." + "threemaBasicModeInfo": "Nóta: Úsáideann an comhtháthú seo Threema Gateway i mód bunúsach (criptiúchán freastalaí-bhunaithe). Is féidir tuilleadh sonraí a fháil {0}.", + "jsonQueryDescription": "Parsáil agus bain sonraí ar leith ó fhreagra JSON an fhreastalaí ag baint úsáide as ceist JSON nó úsáid \"$\" don fhreagra amh, mura bhfuil tú ag súil le JSON. Cuirtear an toradh i gcomparáid ansin leis an luach ionchais, mar teaghráin. Féach ar {0} le haghaidh doiciméadú agus úsáid {1} chun triail a bhaint as fiosruithe.", + "snmpCommunityStringHelptext": "Feidhmíonn an teaghrán seo mar phasfhocal chun rochtain ar ghléasanna SNMP-chumasaithe a fhíordheimhniú agus a rialú. Meaitseáil sé le cumraíocht do ghléis SNMP.", + "snmpOIDHelptext": "Cuir isteach an OID don braiteoir nó don stádas ar mhaith leat monatóireacht a dhéanamh air. Úsáid uirlisí bainistíochta líonra ar nós brabhsálaithe MIB nó bogearraí SNMP mura bhfuil tú cinnte faoin OID.", + "wayToGetOnesenderUrlandToken": "Is féidir leat an URL agus Token a fháil ach dul chuig láithreán gréasáin Onesender. Tuilleadh eolais {0}", + "Lost connection to the socket server.": "Ceangal caillte leis an bhfreastalaí soicéad.", + "signl4Docs": "Is féidir leat tuilleadh faisnéise a fháil faoi conas SIGNL4 a chumrú agus conas an URL SIGNL4 a fháil sa {0}.", + "not starts with": "ní thosaíonn le", + "greater than or equal to": "níos mó ná nó cothrom le", + "now": "anois", + "time ago": "{0} ó shin", + "-year": "-bliain", + "Json Query Expression": "Léiriú Ceist Json", + "and": "agus", + "cacheBusterParam": "Cuir an {0} paraiméadar leis", + "cacheBusterParamDescription": "Paraiméadar ginte go randamach chun scipeáil a dhéanamh ar thaisce.", + "Community String": "Teaghrán Pobail", + "OID (Object Identifier)": "OID (Aitheantóir Oibiachta)", + "Condition": "Coinníoll", + "SNMP Version": "Leagan SNMP", + "Please enter a valid OID.": "Cuir isteach OID bailí.", + "Host Onesender": "Óstach Onesender", + "Token Onesender": "Token Onesender", + "Recipient Type": "Cineál Faighteoir", + "Private Number": "Uimhir Phríobháideach", + "privateOnesenderDesc": "Cinntigh go bhfuil an uimhir theileafóin bailí. Chun teachtaireacht a sheoladh chuig uimhir ghutháin phríobháideach, sean: 628123456789", + "groupOnesenderDesc": "Cinntigh go bhfuil an GroupID bailí. Chun teachtaireacht a sheoladh chuig an nGrúpa, sean: 628123456789-342345", + "Group ID": "ID grúpa", + "Add Remote Browser": "Cuir Brabhsálaí Cianda leis", + "New Group": "Grúpa Nua", + "Group Name": "Ainm an Ghrúpa", + "OAuth2: Client Credentials": "OAuth2: Dintiúir Cliant", + "Authentication Method": "Modh Fíordheimhnithe", + "Authorization Header": "Ceanntásc Údaraithe", + "Form Data Body": "Comhlacht Sonraí Foirm", + "OAuth Token URL": "URL OAuth Token", + "Client ID": "ID Cliant", + "Client Secret": "Rúnda Cliant", + "OAuth Scope": "OAuth Scóip", + "Optional: Space separated list of scopes": "Roghnach: Liosta scóip spásscartha", + "Go back to home page.": "Téigh ar ais go dtí an leathanach baile.", + "No tags found.": "Níor aimsíodh clibeanna.", + "Cannot connect to the socket server.": "Ní féidir ceangal leis an bhfreastalaí soicéad.", + "SIGNL4": "SIGNL4", + "SIGNL4 Webhook URL": "URL SIGNL4 Cabhrán Gréasáin", + "Conditions": "Coinníollacha", + "conditionAdd": "Cuir Coinníoll leis", + "conditionDelete": "Scrios Coinníoll", + "conditionAddGroup": "Cuir Grúpa leis", + "conditionDeleteGroup": "Scrios Grúpa", + "conditionValuePlaceholder": "Luach", + "equals": "comhionann", + "not equals": "ní ionann", + "contains": "ina bhfuil", + "not contains": "nach bhfuil", + "starts with": "thosaíonn le", + "ends with": "chríochnaíonn le", + "not ends with": "ní chríochnaíonn le", + "less than": "níos lú ná", + "greater than": "níos mó ná", + "less than or equal to": "níos lú ná nó cothrom le", + "record": "taifead" } From 50ec9fec051f3bb0cbf2381c9cc842fd80f2afb3 Mon Sep 17 00:00:00 2001 From: MrEddX Date: Mon, 30 Sep 2024 16:43:45 +0000 Subject: [PATCH 015/226] Translated using Weblate (Bulgarian) Currently translated at 100.0% (1016 of 1016 strings) Co-authored-by: MrEddX Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/bg/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/bg-BG.json | 63 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 62 insertions(+), 1 deletion(-) diff --git a/src/lang/bg-BG.json b/src/lang/bg-BG.json index 9a91b2919..83c08525d 100644 --- a/src/lang/bg-BG.json +++ b/src/lang/bg-BG.json @@ -989,5 +989,66 @@ "threemaRecipientTypeIdentityFormat": "8 знака", "threemaRecipientTypePhoneFormat": "E.164, без водещ +", "threemaBasicModeInfo": "Забележка: Тази интеграция използва Threema Gateway в основен режим (сървърно базирано криптиране). Допълнителни подробности можете да намерите {0}.", - "apiKeysDisabledMsg": "API ключовете са деактивирани, защото удостоверяването е деактивирано." + "apiKeysDisabledMsg": "API ключовете са деактивирани, защото удостоверяването е деактивирано.", + "jsonQueryDescription": "Анализира и извлича конкретни данни от JSON отговора на сървъра, използвайки JSON заявка или чрез \"$\" за необработения отговор, ако не очаква JSON. След това резултатът се сравнява с очакваната стойност като низове. Вижте {0} за документация и използвайте {1}, за да експериментирате със заявки.", + "starts with": "започва с", + "less than or equal to": "по-малко или равно на", + "now": "сега", + "time ago": "преди {0}", + "-year": "-година", + "Json Query Expression": "Json израз на заявка", + "and": "и", + "cacheBusterParam": "Добави параметъра {0}", + "cacheBusterParamDescription": "Произволно генериран параметър за пропускане на кешове.", + "Community String": "Общностен низ", + "snmpCommunityStringHelptext": "Този низ функционира като парола за удостоверяване и контрол на достъпа до устройства с активиран SNMP. Сравнете го с конфигурацията на вашето SNMP устройство.", + "OID (Object Identifier)": "OID (Идентификатор на обект)", + "snmpOIDHelptext": "Въведете OID за сензора или състоянието, които искате да мониторирате. Използвайте инструменти за управление на мрежата като MIB браузъри или SNMP софтуер, ако не сте сигурни за OID.", + "SNMP Version": "SNMP Версия", + "Please enter a valid OID.": "Моля, въведете валиден OID.", + "Host Onesender": "Onesender хост", + "Token Onesender": "Onesender токен", + "Recipient Type": "Тип получател", + "Private Number": "Частен номер", + "privateOnesenderDesc": "Уверете се, че телефонният номер е валиден. За да изпратите съобщение на личен телефонен номер, напр.: 628123456789", + "groupOnesenderDesc": "Уверете се, че GroupID е валиден. За да изпратите съобщение в група, напр.: 628123456789-342345", + "Group ID": "ID на групата", + "wayToGetOnesenderUrlandToken": "Можете да получите URL адреса и токена, като посетите уебсайта на Onesender. Повече информация {0}", + "Add Remote Browser": "Добави отдалечен браузър", + "New Group": "Нова група", + "Group Name": "Име на групата", + "OAuth2: Client Credentials": "OAuth2: Идентификационни данни на клиента", + "Condition": "Условие", + "Authentication Method": "Метод за удостоверяване", + "Authorization Header": "Хедър за оторизация", + "Form Data Body": "Тяло на формата за данни", + "OAuth Token URL": "URL адрес на OAuth токена", + "Client ID": "ID на клиента", + "Client Secret": "Тайна на клиента", + "OAuth Scope": "Обхват на OAuth", + "Optional: Space separated list of scopes": "По избор: разделен с интервал списък с обхвати", + "Go back to home page.": "Обратно към началната страница.", + "No tags found.": "Няма намерени етикети.", + "Lost connection to the socket server.": "Изгубена връзка със сокет сървъра.", + "Cannot connect to the socket server.": "Не може да се свърже със сокет сървъра.", + "SIGNL4": "SIGNL4", + "SIGNL4 Webhook URL": "SIGNL4 URL адрес на уеб кука", + "signl4Docs": "Повече информация относно конфигуриране на SIGNL4 и получаване на URL адрес за уеб кука SIGNL4 в {0}.", + "Conditions": "Условия", + "conditionAdd": "Добави условие", + "conditionDelete": "Изтрий условие", + "conditionAddGroup": "Добави група", + "conditionDeleteGroup": "Изтрий група", + "conditionValuePlaceholder": "Стойност", + "contains": "съдържа", + "equals": "равно на", + "not equals": "не е равно на", + "not contains": "не съдържа", + "not starts with": "не започва с", + "ends with": "завършва с", + "not ends with": "не завършва с", + "less than": "по-малко от", + "greater than": "по-голямо от", + "greater than or equal to": "по-голямо или равно на", + "record": "запис" } From 72478090e7f14f96b4a868edcc3bd4d2d39822e7 Mon Sep 17 00:00:00 2001 From: Sajjad Jazini Date: Mon, 30 Sep 2024 16:43:45 +0000 Subject: [PATCH 016/226] Translated using Weblate (Persian) Currently translated at 98.1% (997 of 1016 strings) Co-authored-by: Sajjad Jazini Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/fa/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/fa.json | 44 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/src/lang/fa.json b/src/lang/fa.json index befbdbbdc..aae9b0085 100644 --- a/src/lang/fa.json +++ b/src/lang/fa.json @@ -959,5 +959,47 @@ "From Phone Number / Transmission Path Originating Address (TPOA)": "از شماره تلفن / آدرس مبدأ مسیر انتقال (TPOA)", "Alphanumeric (recommended)": "الفبا و اعداد (پیشنهاد شده)", "Telephone number": "شماره تلفن", - "cellsyntOriginatortypeAlphanumeric": "الفبا و اعداد (حداکثر 11 کاراکتر). گیرندگان نمی توانند به پیام پاسخ دهند." + "cellsyntOriginatortypeAlphanumeric": "الفبا و اعداد (حداکثر 11 کاراکتر). گیرندگان نمی توانند به پیام پاسخ دهند.", + "cacheBusterParam": "افزودن پارامتر {0}", + "Private Number": "شماره شخصی", + "jsonQueryDescription": "با استفاده از JSON query پاسخ JSON سرور را تحلیل و استخراج کنید یا از «$» برای پاسخ خام استفاده کنید، در صورتی که JSON نباشد. سپس نتیجه با مقدار مورد نظر به عنوان رشته مقایسه می‌شود. برای مستندات به {0} بروید و از {1} برای آزمایش کوئری‌ها استفاده کنید.", + "now": "الان", + "-year": "-سال", + "time ago": "{0} پیش", + "and": "و", + "Condition": "شرط", + "SNMP Version": "نسخه SNMP", + "privateOnesenderDesc": "مطمئن شوید که شماره تلفن درست است. برای ارسال پیام به شماره شخصی، مثل: 09123456789", + "Group ID": "شناسه گروه", + "Add Remote Browser": "افزودن مرورگر ریموت", + "New Group": "گروه جدید", + "Group Name": "نام گروه", + "Authentication Method": "روش احراز هویت", + "Client ID": "شناسه کلاینت", + "Client Secret": "رمز کلاینت", + "Go back to home page.": "بازگشت به صفحه اصلی.", + "No tags found.": "برچسبی یافت نشد.", + "Lost connection to the socket server.": "اتصال به سوکت سرور از دست رفت.", + "Cannot connect to the socket server.": "نمی‌توان به سوکت سرور متصل شد.", + "SIGNL4": "SIGNL4", + "SIGNL4 Webhook URL": "پیوند وب‌هوک SIGNL4", + "Conditions": "شرایط", + "conditionAdd": "افزودن شرط", + "conditionDelete": "حذف شرط", + "conditionAddGroup": "افزودن گروه", + "conditionDeleteGroup": "حذف گروه", + "conditionValuePlaceholder": "مقدار", + "equals": "برابر", + "not equals": "نابرابر", + "contains": "شامل", + "starts with": "شروع با", + "not starts with": "عدم شروع با", + "not contains": "شامل نباشد", + "ends with": "پایان با", + "not ends with": "عدم پایان با", + "less than": "کمتر از", + "greater than": "بیشتر از", + "less than or equal to": "کمتر یا مساوی با", + "greater than or equal to": "بیشتر یا مساوی با", + "record": "رکورد" } From e7813256333426ca42bfe5cfeafbd39c9c92f36d Mon Sep 17 00:00:00 2001 From: Ossie Stinga Date: Mon, 30 Sep 2024 16:43:45 +0000 Subject: [PATCH 017/226] Translated using Weblate (Italian) Currently translated at 69.3% (705 of 1016 strings) Co-authored-by: Ossie Stinga Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/it/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/it-IT.json | 43 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 41 insertions(+), 2 deletions(-) diff --git a/src/lang/it-IT.json b/src/lang/it-IT.json index 8b3f6f283..a2bf96931 100644 --- a/src/lang/it-IT.json +++ b/src/lang/it-IT.json @@ -685,7 +685,7 @@ "forumPostName": "Nome forum del post", "threadForumPostID": "ID della conversazione / Forum del post", "e.g. {discordThreadID}": "es. {discordThreadID}", - "Either enter the hostname of the server you want to connect to or localhost if you intend to use a locally configured mail transfer agent": "Inserisci il nome host del server a cui vuoi connetterti oppure {localhost} se intendi utilizzare un {local_mta}", + "Either enter the hostname of the server you want to connect to or localhost if you intend to use a locally configured mail transfer agent": "Inserisci l'hostname del server a cui ti vuoi connettere o {localhost} se vuoi usare {local_mta}", "templateLimitedToUpDownCertNotifications": "disponibile solo per le notifiche UP/DOWN/Scadenza certificato", "emailTemplateMsg": "Messaggio della notifica", "emailTemplateLimitedToUpDownNotification": "disponibile solo per controlli UP/DOWN, altrimenti nullo", @@ -697,5 +697,44 @@ "emailTemplateStatus": "Stato", "ignoreTLSErrorGeneral": "Ignora gli errori TLS/SSL per la connessione", "statusPageSpecialSlugDesc": "Slug speciale {0}: questa pagina verrà mostrata quando non viene fornito alcuno slug", - "successKeywordExplanation": "Parola chiave MQTT che verrà considerata come corretta" + "successKeywordExplanation": "Parola chiave MQTT che verrà considerata come corretta", + "signl4Docs": "Puoi trovare maggiori informazioni su come configurare SIGNL4 e su come ottenere l'URL del webhook SIGNL4 in {0}.", + "contains": "contiene", + "not contains": "non contiene", + "starts with": "inizia con", + "equals": "uguale", + "not equals": "non uguale", + "less than": "meno di", + "greater than": "maggiore di", + "successKeyword": "Parola chiave corretta", + "templateMonitorJSON": "oggetto che descrive il monitor", + "Cannot connect to the socket server.": "Impossibile connettersi al server socket.", + "wayToGetDiscordThreadId": "Ottenere l'ID di un thread/post del forum è simile a ottenere un ID di canale. Scopri di più su come ottenere gli ID {0}", + "pushoversounds pushover": "Pushover (predefinita)", + "pushoversounds none": "Nessuno (silenzioso)", + "Don't mention people": "Non menzionare le persone", + "Mention group": "Menzionare {group}", + "Host URL": "URL dell'host", + "emailTemplateMonitorJSON": "oggetto che descrive il monitor", + "Channel access token (Long-lived)": "Token di accesso al canale (di lunga durata)", + "Your User ID": "Il tuo ID utente", + "pushoverMessageTtl": "Messaggio TTL (secondi)", + "SendKey": "SendKey", + "Sms template must contain parameters: ": "Il modello SMS deve contenere i parametri: ", + "Bark API Version": "Versione API Bark", + "Bark Group": "Gruppo Bark", + "Bark Endpoint": "Endpoint Bark", + "Bark Sound": "Suono Bark", + "aboutNotifyChannel": "Notify channel attiverà una notifica desktop o mobile per tutti i membri del canale, indipendentemente dal fatto che la loro disponibilità sia impostata su attivo o assente.", + "promosmsPassword": "Password API", + "You can divide numbers with": "Puoi dividere i numeri con", + "Base URL": "URL base", + "-year": "-anno", + "now": "ora", + "time ago": "fa", + "Json Query Expression": "Espressione di query JSON", + "and": "e", + "whatHappensAtForumPost": "Crea un nuovo post sul forum. Questo NON pubblica messaggi in post esistenti. Per pubblicare in un post esistente utilizzare \"{option}\"", + "invertKeywordDescription": "Cerca la parola chiave essere assente anziché presente.", + "octopushAPIKey": "\"API Key\" dalle credenziali API HTTP nel pannello di controllo" } From e6159d9ab44488330ee9be224128cd5f9b7bf53a Mon Sep 17 00:00:00 2001 From: Elia Ronchetti Date: Mon, 30 Sep 2024 16:43:45 +0000 Subject: [PATCH 018/226] Translated using Weblate (Italian) Currently translated at 69.3% (705 of 1016 strings) Co-authored-by: Elia Ronchetti Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/it/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/it-IT.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lang/it-IT.json b/src/lang/it-IT.json index a2bf96931..b446af20e 100644 --- a/src/lang/it-IT.json +++ b/src/lang/it-IT.json @@ -736,5 +736,6 @@ "and": "e", "whatHappensAtForumPost": "Crea un nuovo post sul forum. Questo NON pubblica messaggi in post esistenti. Per pubblicare in un post esistente utilizzare \"{option}\"", "invertKeywordDescription": "Cerca la parola chiave essere assente anziché presente.", - "octopushAPIKey": "\"API Key\" dalle credenziali API HTTP nel pannello di controllo" + "octopushAPIKey": "\"API Key\" dalle credenziali API HTTP nel pannello di controllo", + "Enable TLS": "Abilita TLS" } From 86b3ff6bfd60f586be61b87faabe876c4c9674cd Mon Sep 17 00:00:00 2001 From: B3CKDOOR Date: Mon, 30 Sep 2024 16:43:46 +0000 Subject: [PATCH 019/226] Translated using Weblate (Dutch) Currently translated at 99.0% (1006 of 1016 strings) Co-authored-by: B3CKDOOR Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/nl/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/nl-NL.json | 65 ++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 58 insertions(+), 7 deletions(-) diff --git a/src/lang/nl-NL.json b/src/lang/nl-NL.json index 60b358338..56b180e53 100644 --- a/src/lang/nl-NL.json +++ b/src/lang/nl-NL.json @@ -254,7 +254,7 @@ "Channel Name": "Kanaal Naam", "Uptime Kuma URL": "Uptime Kuma URL", "aboutWebhooks": "Meer info over Webhooks op: {0}", - "aboutChannelName": "Voer de kanaal naam in op {0} Kannaal Naam veld als je het Webhook kanaal wilt omzeilen. Bv: #other-channel", + "aboutChannelName": "Voer de kanaal naam in op {0} Kanaal naam veld als je het Webhook kanaal wilt omzeilen. Bijv: #other-channel", "aboutKumaURL": "Als je de Uptime Kuma URL veld leeg laat, wordt standaard het GitHub project pagina weergegeven.", "emojiCheatSheet": "Emoji cheat sheet: {0}", "PushByTechulus": "Push door Techulus", @@ -431,7 +431,7 @@ "Next": "Volgende", "The slug is already taken. Please choose another slug.": "De slug is al in gebruik. Kies een andere slug.", "No Proxy": "Geen Proxy", - "HTTP Basic Auth": "HTTP Basic Auth", + "HTTP Basic Auth": "HTTP Basis Authenticatie", "New Status Page": "Nieuwe Status Pagina", "Page Not Found": "Pagina Niet gevonden", "Reverse Proxy": "Reverse Proxy", @@ -528,9 +528,9 @@ "Workstation": "Werkstation", "disableCloudflaredNoAuthMsg": "De \"Geen authenticatie\" modus staat aan, wachtwoord is niet vereist.", "backupOutdatedWarning": "Deprecated: Er zijn een hoop nieuwe functies toegevoegd en daarom is de backup functie niet onderhouden, het is op dit moment niet mogelijk om een volledige backup te maken en te herstellen.", - "RadiusSecret": "Radius Secret", + "RadiusSecret": "Radius Geheim", "RadiusSecretDescription": "Shared Secret tussen client en server", - "API Key": "API Key", + "API Key": "API Sleutel", "Connection Type": "Verbindingstype", "Docker Daemon": "Docker Daemon", "Trust Proxy": "Trust Proxy", @@ -963,7 +963,7 @@ "threemaRecipientTypeIdentityFormat": "8 Karakters", "threemaRecipientTypePhone": "Telefoonnummer", "threemaRecipientTypePhoneFormat": "E.164, zonder voorgaande +", - "threemaSenderIdentityFormat": "8 karakters, begint normaliter met een *", + "threemaSenderIdentityFormat": "8 karakters, begint normaal met een *", "smspartnerPhoneNumber": "Telefoonnummer(s)", "smspartnerSenderNameInfo": "Moet tussen 3..=11 reguliere karakters zijn", "Bitrix24 Webhook URL": "Bitrix24 Webhook URL", @@ -989,6 +989,57 @@ "wayToGetDiscordThreadId": "Verkrijgen van een thread / forum bericht id is vergelijkbaar met het verkrijgen van een kanaal id. Lees meer over het verkrijgen van ids {0}", "threemaRecipientTypeEmail": "E-mailadres", "threemaSenderIdentity": "Gateway ID", - "threemaApiAuthenticationSecret": "Gateway ID Secret", - "smspartnerSenderName": "SMS afzender naam" + "threemaApiAuthenticationSecret": "Gateway ID Geheim", + "smspartnerSenderName": "SMS afzender naam", + "and": "en", + "snmpCommunityStringHelptext": "Deze string fungeert als een wachtwoord om toegang tot SNMP-apparaten te verifiëren en te beheren. Match het met de configuratie van uw SNMP-apparaat.", + "groupOnesenderDesc": "Zorg ervoor dat de GroupID juist is. Om een bericht naar een groep te sturen, bijvoorbeeld: 628123456789-342345", + "privateOnesenderDesc": "Zorg ervoor dat het telefoonnummer juist is. Om een bericht te sturen naar een privé telefoonnummer, bijvoorbeeld: 628123456789", + "now": "nu", + "time ago": "{0} geleden", + "-year": "-jaar", + "cacheBusterParamDescription": "Willekeurig gegenereerde parameter om caches over te slaan.", + "OID (Object Identifier)": "OID (Object indentificatie)", + "snmpOIDHelptext": "Voer de OID in voor de sensor of status die u wilt monitoren. Gebruik netwerkbeheertools zoals MIB-browsers of SNMP-software als u niet zeker bent over de OID.", + "Condition": "Conditie", + "SNMP Version": "SNMP Versie", + "Please enter a valid OID.": "Voer a.u.b. een geldige OID in.", + "Host Onesender": "Host Onesender", + "Token Onesender": "Token Onesender", + "Recipient Type": "Ontvanger Type", + "Private Number": "Privé Nummer", + "Group ID": "Groep ID", + "wayToGetOnesenderUrlandToken": "U kunt de URL en Token krijgen door naar de Onesender website te gaan. Meer informatie {0}", + "Add Remote Browser": "Externe browser toevoegen", + "New Group": "Nieuwe Groep", + "Group Name": "Groeps naam", + "OAuth2: Client Credentials": "OAuth2: Client referenties", + "Authentication Method": "Authenticatie methode", + "Authorization Header": "Autorisatie Header", + "OAuth Token URL": "OAuth Token URL", + "Client ID": "Client ID", + "Client Secret": "Client geheim", + "Go back to home page.": "Ga terug naar de home pagina.", + "No tags found.": "Geen tags gevonden.", + "Lost connection to the socket server.": "Verbinding met de socketserver verloren.", + "Cannot connect to the socket server.": "Kan geen verbinding maken met de socketserver.", + "SIGNL4": "SIGNL4", + "SIGNL4 Webhook URL": "SIGNL4 Webhook URL", + "signl4Docs": "Meer informatie over het configureren van SIGNL4 en het verkrijgen van de SIGNL4-webhook-URL kunt u hier vinden {0}.", + "Conditions": "Voorwaarden", + "conditionAdd": "Voorwaarde toevoegen", + "conditionDelete": "Voorwaarde verweideren", + "conditionAddGroup": "Groep toevoegen", + "conditionDeleteGroup": "Groep verweideren", + "conditionValuePlaceholder": "Waarde", + "contains": "bevat", + "not contains": "bevat niet", + "starts with": "start met", + "not starts with": "start niet met", + "ends with": "eindigt met", + "not ends with": "eindigt niet met", + "less than": "minder dan", + "greater than": "meer dan", + "record": "dossier", + "jsonQueryDescription": "Parseer en haal specifieke gegevens uit de JSON-respons van de server met behulp van JSON-query of gebruik \"$\" voor de onbewerkte respons, als u geen JSON verwacht. Het resultaat wordt vervolgens vergeleken met de verwachte waarde, als strings. Zie {0} voor documentatie en gebruik {1} om te experimenteren met query's." } From ec7923f4fddbf158376b306c266ae42776453d6a Mon Sep 17 00:00:00 2001 From: Ivan M Date: Mon, 30 Sep 2024 16:43:46 +0000 Subject: [PATCH 020/226] Translated using Weblate (Belarusian) Currently translated at 91.8% (933 of 1016 strings) Co-authored-by: Ivan M Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/be/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/be.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/lang/be.json b/src/lang/be.json index 7e75cede1..0f526a143 100644 --- a/src/lang/be.json +++ b/src/lang/be.json @@ -931,5 +931,7 @@ "gtxMessagingFromHint": "На мабільных тэлефонах атрымальнікі бачаць АІПП як адпраўшчыка паведамлення. Дапускаецца выкарыстаньне да 11 літарна-лічбавых сімвалаў, шорткода, мясцовага доўгага кода або міжнародных нумароў ({e164}, {e212} або {e214})", "Send to channel": "Адправіць у канал", "threadForumPostID": "Трэд / ID паста", - "whatHappensAtForumPost": "Стварыць новы пост на форуме. Гэта НЕ размяшчае паведамленні ў існуючым пасце. Для публікацыі ў існуючай публікацыі выкарыстоўвайце \"{option}\"" + "whatHappensAtForumPost": "Стварыць новы пост на форуме. Гэта НЕ размяшчае паведамленні ў існуючым пасце. Для публікацыі ў існуючай публікацыі выкарыстоўвайце \"{option}\"", + "now": "зараз", + "-year": "-год" } From 087d20b77546d3da21ddc45668db5d7e583b5b01 Mon Sep 17 00:00:00 2001 From: AlanFarley Date: Mon, 30 Sep 2024 16:43:46 +0000 Subject: [PATCH 021/226] Translated using Weblate (Portuguese (Brazil)) Currently translated at 94.9% (965 of 1016 strings) Co-authored-by: AlanFarley Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/pt_BR/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/pt-BR.json | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/lang/pt-BR.json b/src/lang/pt-BR.json index 87d3eef48..516cc39f5 100644 --- a/src/lang/pt-BR.json +++ b/src/lang/pt-BR.json @@ -957,5 +957,15 @@ "whatHappensAtForumPost": "Criar um novo tópico no fórum. Isto NÃO publica mensagens em tópicos existentes. Para publicar em um tópico existente, use \"{option}\"", "e.g. {discordThreadID}": "Por exemplo {discordThreadID}", "receiverInfoSevenIO": "Se o número de destino não estiver localizado na Alemanha, você deve adicionar o código do país antes do número (por exemplo, para o código de país 1 dos EUA, use 117612121212 em vez de 017612121212)", - "apiKeysDisabledMsg": "As chaves de API estão desativadas porque a autenticação está desativada." + "apiKeysDisabledMsg": "As chaves de API estão desativadas porque a autenticação está desativada.", + "now": "agora", + "and": "e", + "jsonQueryDescription": "Analise e extraia dados específicos da resposta JSON do servidor usando uma query JSON ou use \"$\" para a resposta em raw, se não estiver esperando JSON. O resultado é então comparado ao valor esperado, como strings. Veja {0} para documentação e use {1} para experimentar com queries.", + "time ago": "atrás", + "-year": "-ano", + "Json Query Expression": "Expressão Json Query", + "cacheBusterParam": "Adicionar o parâmetro {0}", + "snmpCommunityStringHelptext": "Esta string funciona como uma senha para autenticar e controlar o acesso a dispositivos habilitados para SNMP. Combine-a com a configuração do seu dispositivo SNMP.", + "OID (Object Identifier)": "OID (Identificador do Objeto)", + "Condition": "Condição" } From 98415bd41952e228407394b2f545a4d2ede47caa Mon Sep 17 00:00:00 2001 From: Mohammad Hesam Imani Date: Mon, 30 Sep 2024 16:43:46 +0000 Subject: [PATCH 022/226] Translated using Weblate (Persian) Currently translated at 100.0% (1016 of 1016 strings) Co-authored-by: Mohammad Hesam Imani Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/fa/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/fa.json | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/lang/fa.json b/src/lang/fa.json index aae9b0085..270fd52f7 100644 --- a/src/lang/fa.json +++ b/src/lang/fa.json @@ -1001,5 +1001,24 @@ "greater than": "بیشتر از", "less than or equal to": "کمتر یا مساوی با", "greater than or equal to": "بیشتر یا مساوی با", - "record": "رکورد" + "record": "رکورد", + "snmpCommunityStringHelptext": "این رشته به عنوان پسورد برای احراز هویت و کنترل دسترسی به دستگاه‌های آماده SNMP استفاده می‌شود. این پسورد را با توجه به تنظیمات دستگاه SNMP خود مطابقت دهید.", + "snmpOIDHelptext": "OID برای سنسور یا وضعیتی که می‌خواهید مانیتور کنید را وارد کنید. اگر درباره مقدار OID اطمینان ندارید از ابزارهای مدیریت شبکه‌ای مانند MIB یا SNMP استفاده کنید.", + "Json Query Expression": "عبارت کوئری JSON", + "cacheBusterParamDescription": "پارامتر تولید شده رندوم برای رد کردن کش.", + "Community String": "رشته انجمن", + "OID (Object Identifier)": "OID (شناسه شئ)", + "Please enter a valid OID.": "لطفا یک OID معتبر وارد کنید.", + "Host Onesender": "هاست Onesender", + "Token Onesender": "توکن Onesender", + "Recipient Type": "نوع دریافت کننده", + "groupOnesenderDesc": "از معتبر بودن GroupID اطمینان حاصل کنید. برای ارسال پیام در گروه، برای مثال: ‭628123456789-342345", + "wayToGetOnesenderUrlandToken": "برای دریافت URL و توکن می‌توانید به وبسایت Onesender مراجعه گنید. اطلاعات بیشتر {0}", + "OAuth2: Client Credentials": "OAuth2: گواهی مشتری", + "Authorization Header": "هدر Authorization", + "Form Data Body": "از اطلاعات بدنه", + "OAuth Token URL": "URL توکن OAuth", + "OAuth Scope": "اسکوپ OAuth", + "Optional: Space separated list of scopes": "اختیاری: لیست جدا شده با فاصله از اسکوپ‌ها", + "signl4Docs": "شما می‌توانید اطلاعات بیشتر در رابطه با نحوه تنظیم SIGNL4 و به دست آوردن URL وب‌هوک SIGNL4 را در {0} پیدا کنید." } From 3088cc61418db49230cf3bf81c65313254b00db7 Mon Sep 17 00:00:00 2001 From: Shinwoo PARK Date: Mon, 30 Sep 2024 16:43:46 +0000 Subject: [PATCH 023/226] Translated using Weblate (Korean) Currently translated at 73.3% (745 of 1016 strings) Co-authored-by: Shinwoo PARK Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ko/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/ko-KR.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/lang/ko-KR.json b/src/lang/ko-KR.json index 3dd500843..3d722dde9 100644 --- a/src/lang/ko-KR.json +++ b/src/lang/ko-KR.json @@ -781,5 +781,9 @@ "Monitor Setting": "{0}의 모니터 설정", "now": "지금", "time ago": "{0} 전", - "Either enter the hostname of the server you want to connect to or localhost if you intend to use a locally configured mail transfer agent": "연결하려는 서버의 호스트 이름을 입력하거나 {local_mta}를 사용하려는 경우 {localhost}를 입력합니다" + "Either enter the hostname of the server you want to connect to or localhost if you intend to use a locally configured mail transfer agent": "연결하려는 서버의 호스트 이름을 입력하거나 {local_mta}를 사용하려는 경우 {localhost}를 입력합니다", + "-year": "-연도", + "Json Query Expression": "Json 쿼리 표현식", + "Host URL": "호스트 URL", + "locally configured mail transfer agent": "로컬로 구성된 메일 전송 에이전트" } From 895f6d2ff1974977a929cbc936d93c975a1f336b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lucius=20Gait=C3=A1n?= Date: Mon, 30 Sep 2024 16:43:46 +0000 Subject: [PATCH 024/226] Translated using Weblate (Portuguese (Brazil)) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 96.2% (978 of 1016 strings) Co-authored-by: Lucius Gaitán Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/pt_BR/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/pt-BR.json | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/lang/pt-BR.json b/src/lang/pt-BR.json index 516cc39f5..d345434ae 100644 --- a/src/lang/pt-BR.json +++ b/src/lang/pt-BR.json @@ -967,5 +967,18 @@ "cacheBusterParam": "Adicionar o parâmetro {0}", "snmpCommunityStringHelptext": "Esta string funciona como uma senha para autenticar e controlar o acesso a dispositivos habilitados para SNMP. Combine-a com a configuração do seu dispositivo SNMP.", "OID (Object Identifier)": "OID (Identificador do Objeto)", - "Condition": "Condição" + "Condition": "Condição", + "Recipient Type": "Tipo de destinatário", + "wayToGetOnesenderUrlandToken": "Você pode obter a URL e o Token acessando o site da Onesender. Mais informações {0}", + "cacheBusterParamDescription": "Parâmetro gerado randomicamente para ignorar cache.", + "SNMP Version": "Versão SNMP", + "Please enter a valid OID.": "Por favor, insira um OID válido.", + "Private Number": "Número Privado", + "Group ID": "ID do Grupo", + "Add Remote Browser": "Adicionar Navegador Remoto", + "New Group": "Novo Grupo", + "Group Name": "Nome do Grupo", + "OAuth2: Client Credentials": "OAuth2: Client Credentials", + "Authentication Method": "Método de Autenticação", + "Authorization Header": "Header de Autorização" } From 35668219ecb45304ad2c87a650e914eccef00b44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=96mer=20Faruk=20G=C3=96L?= Date: Mon, 30 Sep 2024 16:43:46 +0000 Subject: [PATCH 025/226] Translated using Weblate (Turkish) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 100.0% (1016 of 1016 strings) Co-authored-by: Ömer Faruk GÖL Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/tr/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/tr-TR.json | 63 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 62 insertions(+), 1 deletion(-) diff --git a/src/lang/tr-TR.json b/src/lang/tr-TR.json index 73b638460..fd95c758a 100644 --- a/src/lang/tr-TR.json +++ b/src/lang/tr-TR.json @@ -989,5 +989,66 @@ "wayToGetThreemaGateway": "Threema Gateway {0}'e kaydolabilirsiniz.", "threemaRecipientTypeIdentityFormat": "8 karakter", "threemaRecipientTypePhoneFormat": "E.164, başında + olmadan", - "apiKeysDisabledMsg": "Kimlik doğrulama devre dışı olduğundan API anahtarları devre dışı bırakıldı." + "apiKeysDisabledMsg": "Kimlik doğrulama devre dışı olduğundan API anahtarları devre dışı bırakıldı.", + "now": "Şimdi", + "time ago": "{0} önce", + "-year": "-yıl", + "Json Query Expression": "JSON Sorgu İfadesi", + "and": "ve", + "cacheBusterParam": "{0} parametresini ekleyin", + "cacheBusterParamDescription": "Önbellekleri atlamak için rastgele oluşturulmuş parametre.", + "Community String": "Topluluk Metni", + "snmpCommunityStringHelptext": "Bu metin, SNMP özellikli cihazlara erişimi doğrulamak ve kontrol etmek için bir şifre işlevi görür. Bunu SNMP cihazınızın yapılandırmasıyla eşleştirin.", + "OID (Object Identifier)": "OID (Nesne Tanımlayıcı)", + "snmpOIDHelptext": "İzlemek istediğiniz sensörün veya durumun OID'sini girin. OID'den emin değilseniz MIB tarayıcıları veya SNMP yazılımı gibi ağ yönetimi araçlarını kullanın.", + "Condition": "Koşul", + "SNMP Version": "SNMP Sürümü", + "Please enter a valid OID.": "Lütfen geçerli bir OID girin.", + "groupOnesenderDesc": "Gruba mesaj göndermek için, GroupID değerinin geçerli olduğundan emin olun. Örneğin: 628123456789-342345", + "Group ID": "Grup Kimliği", + "wayToGetOnesenderUrlandToken": "Onesender web sitesine giderek URL'yi ve Jetonu alabilirsiniz. Daha fazla bilgi için {0}", + "Add Remote Browser": "Uzak Tarayıcı Ekle", + "New Group": "Yeni Grup", + "Host Onesender": "Onesender Host Adresi", + "Token Onesender": "Onesender Jetonu", + "Group Name": "Grup Adı", + "OAuth2: Client Credentials": "OAuth2: İstemci Kimlik Bilgileri", + "Recipient Type": "Alıcı Türü", + "Private Number": "Özel Numara", + "Authentication Method": "Kimlik Doğrulama Yöntemi", + "privateOnesenderDesc": "Özel numaralı telefona mesaj göndermek için, telefon numarasının geçerli olduğundan emin olun. Örneğin: 628123456789", + "Authorization Header": "Yetkilendirme Başlığı", + "Form Data Body": "Form Veri Gövdesi", + "Go back to home page.": "Ana sayfaya geri dönün.", + "No tags found.": "Etiket bulunamadı.", + "Lost connection to the socket server.": "Soket sunucusuyla bağlantı kesildi.", + "Cannot connect to the socket server.": "Soket sunucusuna bağlanılamıyor.", + "SIGNL4": "SIGNL4", + "SIGNL4 Webhook URL": "SIGNL4 Web Kancası URL'si", + "OAuth Token URL": "OAuth Jetonu URL'si", + "Client ID": "İstemci Kimliği", + "Client Secret": "İstemci Jetonu", + "OAuth Scope": "OAuth Kapsamı", + "Optional: Space separated list of scopes": "İsteğe bağlı: Kapsamların boşlukla ayrılmış listesi", + "signl4Docs": "SIGNL4'ün nasıl yapılandırılacağı ve SIGNL4 web kancası URL'sinin nasıl elde edileceği hakkında daha fazla bilgiyi {0} içinde bulabilirsiniz.", + "not contains": "içermez/içermiyor", + "starts with": "başlar/başlıyor", + "equals": "eşit", + "not starts with": "ile başlamaz", + "not equals": "eşit değil", + "contains": "içerir", + "conditionDeleteGroup": "Grubu Sil", + "conditionValuePlaceholder": "Değer", + "Conditions": "Koşullar", + "conditionAdd": "Koşul Ekle", + "conditionDelete": "Koşul Sil", + "conditionAddGroup": "Grup Ekle", + "ends with": "ile biter", + "not ends with": "ile bitmiyor", + "less than or equal to": "küçük veya eşit", + "greater than": "daha büyük", + "less than": "daha küçük", + "greater than or equal to": "büyük veya eşit", + "record": "kayıt", + "jsonQueryDescription": "JSON sorgusunu kullanarak sunucunun JSON yanıtından belirli verileri ayrıştırın ve çıkarın. JSON beklemiyorsanız ham yanıt için \"$\" sembolünü kullanın. Sonuç daha sonra metin olarak beklenen değerle karşılaştırılır. Belgeler için {0}'a bakın ve sorgularla denemeler yapmak için {1}'i kullanın." } From d2a44487b3af9e4cad49bc55bb9e3f3f1f038bb8 Mon Sep 17 00:00:00 2001 From: Satveek Gupta Date: Mon, 30 Sep 2024 16:43:46 +0000 Subject: [PATCH 026/226] Translated using Weblate (Hindi) Currently translated at 5.9% (60 of 1016 strings) Co-authored-by: Satveek Gupta Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/hi/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/hi.json | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/lang/hi.json b/src/lang/hi.json index 08efa6ff5..6eda19a5c 100644 --- a/src/lang/hi.json +++ b/src/lang/hi.json @@ -40,5 +40,23 @@ "Down": "बंद", "Passive Monitor Type": "निष्क्रिय मॉनिटर प्रकार", "Status": "स्थिति", - "showCertificateExpiry": "प्रमाणपत्र समाप्ति दिखाएँ" + "showCertificateExpiry": "प्रमाणपत्र समाप्ति दिखाएँ", + "setupDatabaseEmbeddedMariaDB": "आपको कुछ भी सेट करने की जरूरत नहीं है. इस डॉकर छवि ने आपके लिए मारियाडीबी को स्वचालित रूप से एम्बेड और कॉन्फ़िगर किया है। अपटाइम कुमा यूनिक्स सॉकेट के माध्यम से इस डेटाबेस से कनेक्ट होगा।", + "setupDatabaseChooseDatabase": "आप किस डेटाबेस का उपयोग करना चाहेंगे?", + "setupDatabaseMariaDB": "किसी बाहरी मारियाडीबी डेटाबेस से कनेक्ट करें। आपको डेटाबेस कनेक्शन जानकारी सेट करने की आवश्यकता है।", + "setupDatabaseSQLite": "एक सरल डेटाबेस फ़ाइल, जो छोटे पैमाने पर तैनाती के लिए अनुशंसित है। V2.0.0 से पहले, अपटाइम कुमा ने डिफ़ॉल्ट डेटाबेस के रूप में SQLite का उपयोग किया था।", + "settingUpDatabaseMSG": "डेटाबेस की स्थापना. इसमें थोड़ा समय लग सकता है, कृपया धैर्य रखें।", + "markdownSupported": "मार्कडाउन सिंटैक्स समर्थित", + "time ago": "समय पहले", + "day": "दिन", + "Primary Base URL": "प्राथमिक आधार यूआरएल", + "-hour": "-घंटा", + "-day": "-दिन", + "hour": "घंटे", + "DateTime": "दिनांक समय", + "Uptime": "उपरिकाल", + "Cert Exp.": "प्रमाणपत्र अनुभव.", + "dbName": "डेटाबेस का नाम", + "now": "अभी", + "-year": "-वर्ष" } From 324d879aad5d39a4d928d57ab65a12f49adf1b0f Mon Sep 17 00:00:00 2001 From: Aung ko Date: Mon, 30 Sep 2024 16:43:47 +0000 Subject: [PATCH 027/226] Translated using Weblate (Burmese) Currently translated at 7.3% (75 of 1016 strings) Translated using Weblate (English) Currently translated at 99.9% (1015 of 1016 strings) Co-authored-by: Aung ko Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/en/ Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/my/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/en.json | 2 +- src/lang/my.json | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/lang/en.json b/src/lang/en.json index 8a735e8e1..24ca7cd99 100644 --- a/src/lang/en.json +++ b/src/lang/en.json @@ -976,7 +976,7 @@ "privateOnesenderDesc": "Make sure the number phone is valid. To send message into private number phone, ex: 628123456789", "groupOnesenderDesc": "Make sure the GroupID is valid. To send message into Group, ex: 628123456789-342345", "Group ID": "Group ID", - "wayToGetOnesenderUrlandToken":"You can get the URL and Token by going to the Onesender website. More info {0}", + "wayToGetOnesenderUrlandToken": "You can get the URL and Token by going to the Onesender website. More info {0}", "Add Remote Browser": "Add Remote Browser", "New Group": "New Group", "Group Name": "Group Name", diff --git a/src/lang/my.json b/src/lang/my.json index d7b80be92..d893a0492 100644 --- a/src/lang/my.json +++ b/src/lang/my.json @@ -33,7 +33,7 @@ "Down": "ကွန်ရက်ပြတ်တောက်နေသည်", "Pending": "ဆိုင်းငံ့ဆဲ", "statusMaintenance": "ပြုပြင်ထိန်းသိမ်းခြင်း", - "Cannot connect to the socket server": "Socket Server အားချိတ်ဆက်မှုမအောင်မြင်ပါ", + "Cannot connect to the socket server": "Why Socket Server အားချိတ်ဆက်မှုမအောင်မြင်ပါ", "Passive Monitor Type": "Passive စောင့်ကြည့်မှုပုံစံ", "Specific Monitor Type": "သီးခြားစောင့်ကြည့်မှုပုံစံ", "Resume": "ဆက်သွားမည်", @@ -89,5 +89,7 @@ "Heartbeat Retry Interval": "ကွန်ယက်ချိတ်ဆက်နိုင်မှုတိုင်းတာခြင်း ထပ်မံကြိုးစားခြင်း အချိန်ကွာဟချက်", "Resend Notification if Down X times consecutively": "ကွန်ယက်ချိတ်ဆက်မှု X အကြိမ်ထိ ဆက်တိုက်ကျနေပါက သတိပေးချက်ထပ်မံပေးပို့ရန်", "retriesDescription": "ဝန်ဆောင်မှုကွန်ယက်ပြတ်တောက်နေ၍ သတိပေးချက်ပေးပို့ပြီး အများဆုံးထပ်မံကြိုးစားနိုင်မှု", - "Search Engine Visibility": "ရှာဖွေမှုအင်ဂျင်များ၏မြင်နိုင်စွမ်း" + "Search Engine Visibility": "ရှာဖွေမှုအင်ဂျင်များ၏မြင်နိုင်စွမ်း", + "setupDatabaseEmbeddedMariaDB": "You don't need to set anything. This docker image has embedded and configured MariaDB for you automatically. Uptime Kuma will connect to this database via unix socket.", + "setupDatabaseChooseDatabase": "English" } From 8084c7e61c39580e2acb3b44b8fb2cb2238232d2 Mon Sep 17 00:00:00 2001 From: MrEddX Date: Fri, 4 Oct 2024 07:22:13 +0000 Subject: [PATCH 028/226] Translated using Weblate (Bulgarian) Currently translated at 100.0% (1016 of 1016 strings) Translation: Uptime Kuma/Uptime Kuma Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/bg/ --- src/lang/bg-BG.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lang/bg-BG.json b/src/lang/bg-BG.json index 83c08525d..fe9e12ca4 100644 --- a/src/lang/bg-BG.json +++ b/src/lang/bg-BG.json @@ -1050,5 +1050,6 @@ "less than": "по-малко от", "greater than": "по-голямо от", "greater than or equal to": "по-голямо или равно на", - "record": "запис" + "record": "запис", + "shrinkDatabaseDescriptionSqlite": "Стартира {vacuum} за база данни тип SQLite. Функцията {auto_vacuum} вече е активиран, но това не дефрагментира базата данни, нито препакетира отделните страници на базата данни по начина, по който го прави командата {vacuum}." } From 9257a7a19eacb2f76f97187b1ba39cdcd28da80f Mon Sep 17 00:00:00 2001 From: Marco Date: Fri, 4 Oct 2024 10:50:05 +0000 Subject: [PATCH 029/226] Translated using Weblate (German (Switzerland)) Currently translated at 100.0% (1016 of 1016 strings) Translation: Uptime Kuma/Uptime Kuma Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/de_CH/ --- src/lang/de-CH.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/lang/de-CH.json b/src/lang/de-CH.json index 3fe962940..6a6920cf5 100644 --- a/src/lang/de-CH.json +++ b/src/lang/de-CH.json @@ -1,7 +1,7 @@ { "languageName": "Deutsch (Schweiz)", "Settings": "Einstellungen", - "Dashboard": "Dashboard", + "Dashboard": "Überblick", "New Update": "Update verfügbar", "Language": "Sprache", "Appearance": "Erscheinungsbild", @@ -1047,5 +1047,6 @@ "greater than": "mehr als", "less than or equal to": "kleiner als oder gleich", "greater than or equal to": "grösser als oder gleich", - "record": "Eintrag" + "record": "Eintrag", + "shrinkDatabaseDescriptionSqlite": "Datenbank {vacuum} für SQLite auslösen. {auto_vacuum} ist bereits aktiviert, aber dies defragmentiert die Datenbank nicht und packt auch nicht einzelne Datenbankseiten neu, wie es der Befehl {vacuum} tut." } From 289b72d07d21981c9b44c2095844ea07292fdc19 Mon Sep 17 00:00:00 2001 From: Marco Date: Fri, 4 Oct 2024 10:50:03 +0000 Subject: [PATCH 030/226] Translated using Weblate (German) Currently translated at 100.0% (1016 of 1016 strings) Translation: Uptime Kuma/Uptime Kuma Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/de/ --- src/lang/de-DE.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/lang/de-DE.json b/src/lang/de-DE.json index 204056a3f..7b987dd20 100644 --- a/src/lang/de-DE.json +++ b/src/lang/de-DE.json @@ -1,7 +1,7 @@ { "languageName": "Deutsch", "Settings": "Einstellungen", - "Dashboard": "Dashboard", + "Dashboard": "Überblick", "New Update": "Aktualisierung verfügbar", "Language": "Sprache", "Appearance": "Erscheinungsbild", @@ -1050,5 +1050,6 @@ "less than": "weniger als", "less than or equal to": "kleiner als oder gleich", "greater than or equal to": "größer als oder gleich", - "record": "Eintrag" + "record": "Eintrag", + "shrinkDatabaseDescriptionSqlite": "Datenbank {vacuum} für SQLite auslösen. {auto_vacuum} ist bereits aktiviert, aber dies defragmentiert die Datenbank nicht und packt auch nicht einzelne Datenbankseiten neu, wie es der Befehl {vacuum} tut." } From a760898281366ff9e3729d92581dd1a392269c9b Mon Sep 17 00:00:00 2001 From: Harry Suryapambagya Date: Fri, 4 Oct 2024 01:25:03 +0000 Subject: [PATCH 031/226] Translated using Weblate (Indonesian) Currently translated at 100.0% (1016 of 1016 strings) Translation: Uptime Kuma/Uptime Kuma Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/id/ --- src/lang/id-ID.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lang/id-ID.json b/src/lang/id-ID.json index 8648b9cb6..a6963e345 100644 --- a/src/lang/id-ID.json +++ b/src/lang/id-ID.json @@ -1045,5 +1045,6 @@ "New Group": "Grup Baru", "Group Name": "Nama Grup", "OAuth2: Client Credentials": "OAuth2: Kredensial Klien", - "Authentication Method": "Metode Autentikasi" + "Authentication Method": "Metode Autentikasi", + "shrinkDatabaseDescriptionSqlite": "Memicu pangkalan data {vacuum} untuk SQLite. {auto_vacuum} sudah diaktifkan, tetapi tidak mendefragmentasi pangkalan data atau mengemas ulang halaman individual dari pangkalan data seperti yang dilakukan oleh perintah {vacuum}." } From b9b48e1b2dc5379d0c721ebe1465dd26c6f9f806 Mon Sep 17 00:00:00 2001 From: stanol Date: Fri, 4 Oct 2024 09:54:10 +0000 Subject: [PATCH 032/226] Translated using Weblate (Ukrainian) Currently translated at 100.0% (1016 of 1016 strings) Translation: Uptime Kuma/Uptime Kuma Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/uk/ --- src/lang/uk-UA.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lang/uk-UA.json b/src/lang/uk-UA.json index af679d8c3..f813b4612 100644 --- a/src/lang/uk-UA.json +++ b/src/lang/uk-UA.json @@ -1056,5 +1056,6 @@ "greater than": "більше, ніж", "less than or equal to": "менше або дорівнює", "greater than or equal to": "більше або дорівнює", - "record": "запис" + "record": "запис", + "shrinkDatabaseDescriptionSqlite": "Запускає команду {vacuum} для бази даних SQLite. Команда {auto_vacuum} вже увімкнена, але вона не дефрагментує базу даних і не перепаковує окремі сторінки бази даних так, як це робить команда {vacuum}." } From 10ffde25956f603613ecd422bf4e4dd40b960a24 Mon Sep 17 00:00:00 2001 From: Cyril59310 Date: Fri, 4 Oct 2024 16:29:09 +0000 Subject: [PATCH 033/226] Translated using Weblate (French) Currently translated at 100.0% (1016 of 1016 strings) Translation: Uptime Kuma/Uptime Kuma Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/fr/ --- src/lang/fr-FR.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lang/fr-FR.json b/src/lang/fr-FR.json index b0985e63f..fb36cac66 100644 --- a/src/lang/fr-FR.json +++ b/src/lang/fr-FR.json @@ -1050,5 +1050,6 @@ "greater than": "supérieur à", "less than or equal to": "inférieur ou égal à", "greater than or equal to": "supérieur ou égal à", - "record": "enregistrer" + "record": "enregistrer", + "shrinkDatabaseDescriptionSqlite": "Déclencher la commande {vacuum} pour la base de données SQLite. {auto_vacuum} est déjà activé, mais cela ne défragmente pas la base de données ni ne réorganise les pages individuelles de la base de données de la même manière que la commande {vacuum}." } From fc429108acfdc04dd5b6e91aea2f6c452bc002e8 Mon Sep 17 00:00:00 2001 From: janinainfa Date: Fri, 4 Oct 2024 22:21:54 +0000 Subject: [PATCH 034/226] Translated using Weblate (Polish) Currently translated at 94.2% (958 of 1016 strings) Translation: Uptime Kuma/Uptime Kuma Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/pl/ --- src/lang/pl.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/lang/pl.json b/src/lang/pl.json index 7c71b0894..e7e75abbc 100644 --- a/src/lang/pl.json +++ b/src/lang/pl.json @@ -989,5 +989,9 @@ "wayToGetThreemaGateway": "Możesz zarejestrować się w Threema Gateway {0}.", "threemaSenderIdentityFormat": "8 znaków, zwykle zaczyna się od *", "threemaBasicModeInfo": "Uwaga: Ta integracja korzysta z Threema Gateway w trybie podstawowym (szyfrowanie po stronie serwera). Więcej szczegółów można znaleźć {0}.", - "apiKeysDisabledMsg": "Klucze API są wyłączone, ponieważ wyłączone jest uwierzytelnianie." + "apiKeysDisabledMsg": "Klucze API są wyłączone, ponieważ wyłączone jest uwierzytelnianie.", + "-year": "-rok", + "and": "i", + "now": "teraz", + "cacheBusterParam": "Dodaj parametr {0}" } From 9905ca574c93c851adec73f6666e690e1062b55e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aindri=C3=BA=20Mac=20Giolla=20Eoin?= Date: Fri, 4 Oct 2024 12:55:34 +0000 Subject: [PATCH 035/226] Translated using Weblate (Irish) Currently translated at 100.0% (1016 of 1016 strings) Translation: Uptime Kuma/Uptime Kuma Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ga/ --- src/lang/ga.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lang/ga.json b/src/lang/ga.json index ee6b25e00..847ea745c 100644 --- a/src/lang/ga.json +++ b/src/lang/ga.json @@ -1015,5 +1015,6 @@ "less than": "níos lú ná", "greater than": "níos mó ná", "less than or equal to": "níos lú ná nó cothrom le", - "record": "taifead" + "record": "taifead", + "shrinkDatabaseDescriptionSqlite": "Bunachar sonraí truicear {vacuum} le haghaidh SQLite. Tá {auto_vacuum} cumasaithe cheana féin ach ní dhéanann sé seo scoilt ar an mbunachar sonraí ná athphacáil leathanaigh aonair an bhunachair sonraí mar a dhéanann an t-ordú {vacuum}." } From 130d8d01777a57d4b6f11cae4ed391b3d2d4814b Mon Sep 17 00:00:00 2001 From: Txopi Date: Sat, 5 Oct 2024 15:59:14 +0000 Subject: [PATCH 036/226] Translated using Weblate (Basque) Currently translated at 54.8% (557 of 1016 strings) Translation: Uptime Kuma/Uptime Kuma Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/eu/ --- src/lang/eu.json | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/lang/eu.json b/src/lang/eu.json index 8179c2d86..b369fd1a7 100644 --- a/src/lang/eu.json +++ b/src/lang/eu.json @@ -106,7 +106,7 @@ "disableauth.message2": "Egoera jakin batzuetarako diseinatuta dago, Uptime Kumaren {intendThirdPartyAuth} (Cloudflare Access, Authelia edo beste autentifikazio-mekanismo batzuk).", "where you intend to implement third-party authentication": "aurrean hirugarrengo autentifikazio batzuek jartzeko", "Please use this option carefully!": "Mesedez, kontuz erabili aukera hau!", - "Logout": "Saioa amaitu", + "Logout": "Itxi saioa", "Leave": "Utzi", "I understand, please disable": "Ulertzen dut, mesedez desgaitu", "Confirm": "Baieztatu", @@ -115,7 +115,7 @@ "Username": "Erabiltzailea", "Password": "Pasahitza", "Remember me": "Gogora nazazu", - "Login": "Saioa hasi", + "Login": "Hasi saioa", "No Monitors, please": "Monitorizaziorik ez, mesedez", "add one": "gehitu bat", "Notification Type": "Jakinarazpen mota", @@ -164,11 +164,11 @@ "Add New below or Select...": "Gehitu beste bat behean edo hautatu…", "Tag with this name already exist.": "Izen hau duen etiketa dagoeneko badago.", "Tag with this value already exist.": "Balio hau duen etiketa dagoeneko badago.", - "color": "kolorea", + "color": "Kolorea", "value (optional)": "balioa (hautazkoa)", "Gray": "Grisa", "Red": "Gorria", - "Orange": "Naranja", + "Orange": "Laranja", "Green": "Berdea", "Blue": "Urdina", "Indigo": "Indigo", @@ -190,7 +190,7 @@ "Status Page": "Egoera orria", "Status Pages": "Egoera orriak", "defaultNotificationName": "Nire {notification} Alerta ({number})", - "here": "Hemen", + "here": "hemen", "Required": "Beharrezkoa", "telegram": "Telegram", "ZohoCliq": "ZohoCliq", @@ -582,6 +582,10 @@ "Mechanism": "Mekanismoa", "Home": "Hasiera", "filterActive": "Aktibo", - "filterActivePaused": "Geldituta", - "Expected Value": "Esperotako balioa" + "filterActivePaused": "Pausatua", + "Expected Value": "Esperotako balioa", + "statusPageRefreshIn": "{0} barru freskatuko da.", + "now": "orain", + "time ago": "duela {0}", + "-year": "-urte" } From 958f96f06dba7b3892de8684826fabd71151012d Mon Sep 17 00:00:00 2001 From: AnnAngela Date: Sun, 6 Oct 2024 07:47:27 +0000 Subject: [PATCH 037/226] Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (1016 of 1016 strings) Translation: Uptime Kuma/Uptime Kuma Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/zh_Hans/ --- src/lang/zh-CN.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lang/zh-CN.json b/src/lang/zh-CN.json index 7e0a92751..220c52b70 100644 --- a/src/lang/zh-CN.json +++ b/src/lang/zh-CN.json @@ -1052,5 +1052,6 @@ "less than or equal to": "不多于", "greater than or equal to": "不少于", "record": "记录", - "jsonQueryDescription": "使用 JSON 查询解析并提取服务器 JSON 响应中的特定数据,或者,如果不期望得到 JSON 响应,则可使用 \"$\" 获取原始响应。然后将结果转为字符串并与期望值进行字符串比较。有关更多文档,请参阅 {0},亦可使用 {1} 来尝试查询。" + "jsonQueryDescription": "使用 JSON 查询解析并提取服务器 JSON 响应中的特定数据,或者,如果不期望得到 JSON 响应,则可使用 \"$\" 获取原始响应。然后将结果转为字符串并与期望值进行字符串比较。有关更多文档,请参阅 {0},亦可使用 {1} 来尝试查询。", + "shrinkDatabaseDescriptionSqlite": "触发 SQLite 数据库的 {vacuum} 命令。{auto_vacuum} 已经启用,但它不会像 {vacuum} 命令那样对数据库进行碎片整理,也不会重新打包各个数据库页面。" } From 7e37dacb9ad17952f8031cb6434d77769e934c36 Mon Sep 17 00:00:00 2001 From: YangHongYu Date: Wed, 9 Oct 2024 13:40:32 +0000 Subject: [PATCH 038/226] Added translation using Weblate (Uyghur) --- src/lang/ug.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 src/lang/ug.json diff --git a/src/lang/ug.json b/src/lang/ug.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/src/lang/ug.json @@ -0,0 +1 @@ +{} From 365aa8d814d95743fc9383d570fd1644c215000c Mon Sep 17 00:00:00 2001 From: YangHongYu Date: Wed, 9 Oct 2024 13:42:02 +0000 Subject: [PATCH 039/226] Added translation using Weblate (Abkhazian) --- src/lang/ab.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 src/lang/ab.json diff --git a/src/lang/ab.json b/src/lang/ab.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/src/lang/ab.json @@ -0,0 +1 @@ +{} From 582fb6c5ad707fc2181cbc5ed314accb9ff17a6c Mon Sep 17 00:00:00 2001 From: Mohit Nagaraj Date: Sat, 12 Oct 2024 03:23:55 +0000 Subject: [PATCH 040/226] Added translation using Weblate (English (Middle)) --- src/lang/enm.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 src/lang/enm.json diff --git a/src/lang/enm.json b/src/lang/enm.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/src/lang/enm.json @@ -0,0 +1 @@ +{} From f3ee9c2caddf7fd8ac0192d20d628044266bf27f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Buchti=C4=8D?= Date: Mon, 14 Oct 2024 14:35:25 +0000 Subject: [PATCH 041/226] Translated using Weblate (Czech) Currently translated at 100.0% (1016 of 1016 strings) Translation: Uptime Kuma/Uptime Kuma Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/cs/ --- src/lang/cs-CZ.json | 42 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/src/lang/cs-CZ.json b/src/lang/cs-CZ.json index cbe1b08b8..8fbebdc5c 100644 --- a/src/lang/cs-CZ.json +++ b/src/lang/cs-CZ.json @@ -1011,5 +1011,45 @@ "OAuth2: Client Credentials": "OAuth2: přihlašovací údaje klienta", "Authentication Method": "Metoda ověřování", "Authorization Header": "Hlavička autorizace", - "Form Data Body": "Tělo formuláře s daty" + "Form Data Body": "Tělo formuláře s daty", + "threemaRecipientTypePhoneFormat": "E.164, bez počátečního +", + "jsonQueryDescription": "Pro zpracování a získání konkrétních dat z JSON odpovědi serveru použijte JSON dotaz - případně \"$\" pro zdrojovou (raw) odpověď, pokud neočekáváte JSON výstup. Výsledek bude následně porovnán jako řetězec vůči očekávaní hodnotě. Dokumentaci naleznete na {0} a pro testování dotazů můžete využít {1}.", + "shrinkDatabaseDescriptionSqlite": "Podmínka spuštění příkazu {vacuum} nad SQLite databází. Příkaz {auto_vacuum} je již zapnutý, ale nedochází k defragmentaci databáze ani k přebalení jednotlivých stránek databáze tak, jak to dělá příkaz {vacuum}.", + "Community String": "Řetězec komunity", + "Host Onesender": "Onesender hostitel", + "Token Onesender": "Onesender token", + "snmpOIDHelptext": "Zadejte OID senzoru nebo stavu, který chcete monitorovat. Pokud si nejste jisti identifikátorem OID, použijte nástroje pro správu sítě, jako jsou prohlížeče MIB nebo SNMP software.", + "snmpCommunityStringHelptext": "Tento řetězec slouží jako heslo pro ověřování a řízení přístupu k zařízením podporujícím protokol SNMP. Shodujte se s konfigurací zařízení SNMP.", + "record": "záznam", + "Go back to home page.": "Vrátit se domovskou stránku.", + "No tags found.": "Nenalezeny žádné štítky.", + "Lost connection to the socket server.": "Ztraceno socketové spojení se serverem.", + "Cannot connect to the socket server.": "Nelze navázat socketové spojení se serverem.", + "SIGNL4": "SIGNL4", + "SIGNL4 Webhook URL": "URL adresa webhooku SIGNL4", + "signl4Docs": "Další informace související s konfigurací SIGNL4 a postup jak získat URL webhooku SIGNL4 naleznete na {0}.", + "Conditions": "Podmínky", + "conditionAdd": "Přidat podmínku", + "conditionDelete": "Vymazat podmínku", + "conditionAddGroup": "Přidat skupinu", + "conditionDeleteGroup": "Smazat skupinu", + "conditionValuePlaceholder": "Hodnota", + "equals": "rovná se", + "not equals": "nerovná se", + "contains": "obsahuje", + "not contains": "neobsahuje", + "starts with": "začíná na", + "not starts with": "nezačíná na", + "ends with": "končí na", + "not ends with": "nekončí na", + "less than": "menší než", + "greater than": "větší než", + "less than or equal to": "menší nebo rovno", + "greater than or equal to": "větší nebo rovno", + "groupOnesenderDesc": "Ujistěte se, že jste zadali platné GroupID. Pro odeslání zprávy do skupiny zadejte například 628123456789-342345", + "OAuth Token URL": "URL OAuth tokenu", + "Client ID": "ID klienta", + "Client Secret": "Tajemství klienta", + "OAuth Scope": "OAuth rozsah", + "Optional: Space separated list of scopes": "Volitelné: seznam rozsahů oddělte mezerami" } From b7d2cedf2eedba372ef0f17060597525ac27034b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=96mer=20Faruk=20Gen=C3=A7?= Date: Mon, 14 Oct 2024 08:23:01 +0000 Subject: [PATCH 042/226] Translated using Weblate (Turkish) Currently translated at 100.0% (1016 of 1016 strings) Translation: Uptime Kuma/Uptime Kuma Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/tr/ --- src/lang/tr-TR.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lang/tr-TR.json b/src/lang/tr-TR.json index fd95c758a..0b78d7eea 100644 --- a/src/lang/tr-TR.json +++ b/src/lang/tr-TR.json @@ -1050,5 +1050,6 @@ "less than": "daha küçük", "greater than or equal to": "büyük veya eşit", "record": "kayıt", - "jsonQueryDescription": "JSON sorgusunu kullanarak sunucunun JSON yanıtından belirli verileri ayrıştırın ve çıkarın. JSON beklemiyorsanız ham yanıt için \"$\" sembolünü kullanın. Sonuç daha sonra metin olarak beklenen değerle karşılaştırılır. Belgeler için {0}'a bakın ve sorgularla denemeler yapmak için {1}'i kullanın." + "jsonQueryDescription": "JSON sorgusunu kullanarak sunucunun JSON yanıtından belirli verileri ayrıştırın ve çıkarın. JSON beklemiyorsanız ham yanıt için \"$\" sembolünü kullanın. Sonuç daha sonra metin olarak beklenen değerle karşılaştırılır. Belgeler için {0}'a bakın ve sorgularla denemeler yapmak için {1}'i kullanın.", + "shrinkDatabaseDescriptionSqlite": "SQLite için {vacuum} veritabanını tetikle. {auto_vacuum} zaten etkin ancak bu, {vacuum} komutunun yaptığı gibi veritabanını birleştirmez veya tek tek veritabanı sayfalarını yeniden paketlemez." } From 85dfe1f5d17dad5e035eb3620b8f516b2bcf79cd Mon Sep 17 00:00:00 2001 From: Peace <32363424+julian-piehl@users.noreply.github.com> Date: Wed, 16 Oct 2024 13:25:35 +0200 Subject: [PATCH 043/226] fix: some errors from the performance optimization (#5196) --- server/model/monitor.js | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/server/model/monitor.js b/server/model/monitor.js index 5b7e5871a..da0c0d5c8 100644 --- a/server/model/monitor.js +++ b/server/model/monitor.js @@ -1508,10 +1508,8 @@ class Monitor extends BeanModel { return await R.getAll(` SELECT monitor_notification.monitor_id, monitor_notification.notification_id FROM monitor_notification - WHERE monitor_notification.monitor_id IN (?) - `, [ - monitorIDs, - ]); + WHERE monitor_notification.monitor_id IN (${monitorIDs.map((_) => "?").join(",")}) + `, monitorIDs); } /** @@ -1521,13 +1519,11 @@ class Monitor extends BeanModel { */ static async getMonitorTag(monitorIDs) { return await R.getAll(` - SELECT monitor_tag.monitor_id, tag.name, tag.color + SELECT monitor_tag.monitor_id, monitor_tag.tag_id, tag.name, tag.color FROM monitor_tag JOIN tag ON monitor_tag.tag_id = tag.id - WHERE monitor_tag.monitor_id IN (?) - `, [ - monitorIDs, - ]); + WHERE monitor_tag.monitor_id IN (${monitorIDs.map((_) => "?").join(",")}) + `, monitorIDs); } /** @@ -1567,6 +1563,7 @@ class Monitor extends BeanModel { tagsMap.set(row.monitor_id, []); } tagsMap.get(row.monitor_id).push({ + tag_id: row.tag_id, name: row.name, color: row.color }); From 42e77798e56474ca721ef371384dbaf3cd490a15 Mon Sep 17 00:00:00 2001 From: Frank Elsinga Date: Wed, 16 Oct 2024 14:58:44 +0200 Subject: [PATCH 044/226] Revert "Extend length of status bars in status page" (#5207) --- src/components/PublicGroupList.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/PublicGroupList.vue b/src/components/PublicGroupList.vue index c5d7d4500..bacddbf13 100644 --- a/src/components/PublicGroupList.vue +++ b/src/components/PublicGroupList.vue @@ -33,7 +33,7 @@ + +
@@ -549,7 +596,7 @@
-
+
@@ -1122,6 +1169,9 @@ const monitorDefaults = { kafkaProducerAllowAutoTopicCreation: false, gamedigGivenPortOnly: true, remote_browser: null, + rabbitmqNodes: [], + rabbitmqUsername: "", + rabbitmqPassword: "", conditions: [] }; @@ -1709,6 +1759,10 @@ message HealthCheckResponse { this.monitor.kafkaProducerBrokers.push(newBroker); }, + addRabbitmqNode(newNode) { + this.monitor.rabbitmqNodes.push(newNode); + }, + /** * Validate form input * @returns {boolean} Is the form input valid? @@ -1736,6 +1790,17 @@ message HealthCheckResponse { return false; } } + + if (this.monitor.type === "rabbitmq") { + if (this.monitor.rabbitmqNodes.length === 0) { + toast.error(this.$t("rabbitmqNodesRequired")); + return false; + } + if (!this.monitor.rabbitmqNodes.every(node => node.startsWith("http://") || node.startsWith("https://"))) { + toast.error(this.$t("rabbitmqNodesInvalid")); + return false; + } + } return true; }, diff --git a/test/backend-test/test-rabbitmq.js b/test/backend-test/test-rabbitmq.js new file mode 100644 index 000000000..5782ef250 --- /dev/null +++ b/test/backend-test/test-rabbitmq.js @@ -0,0 +1,53 @@ +const { describe, test } = require("node:test"); +const assert = require("node:assert"); +const { RabbitMQContainer } = require("@testcontainers/rabbitmq"); +const { RabbitMqMonitorType } = require("../../server/monitor-types/rabbitmq"); +const { UP, DOWN, PENDING } = require("../../src/util"); + +describe("RabbitMQ Single Node", { + skip: !!process.env.CI && (process.platform !== "linux" || process.arch !== "x64"), +}, () => { + test("RabbitMQ is running", async () => { + // The default timeout of 30 seconds might not be enough for the container to start + const rabbitMQContainer = await new RabbitMQContainer().withStartupTimeout(60000).start(); + const rabbitMQMonitor = new RabbitMqMonitorType(); + const connectionString = `http://${rabbitMQContainer.getHost()}:${rabbitMQContainer.getMappedPort(15672)}`; + + const monitor = { + rabbitmqNodes: JSON.stringify([ connectionString ]), + rabbitmqUsername: "guest", + rabbitmqPassword: "guest", + }; + + const heartbeat = { + msg: "", + status: PENDING, + }; + + try { + await rabbitMQMonitor.check(monitor, heartbeat, {}); + assert.strictEqual(heartbeat.status, UP); + assert.strictEqual(heartbeat.msg, "OK"); + } finally { + rabbitMQContainer.stop(); + } + }); + + test("RabbitMQ is not running", async () => { + const rabbitMQMonitor = new RabbitMqMonitorType(); + const monitor = { + rabbitmqNodes: JSON.stringify([ "http://localhost:15672" ]), + rabbitmqUsername: "rabbitmqUser", + rabbitmqPassword: "rabbitmqPass", + }; + + const heartbeat = { + msg: "", + status: PENDING, + }; + + await rabbitMQMonitor.check(monitor, heartbeat, {}); + assert.strictEqual(heartbeat.status, DOWN); + }); + +}); From d2f71d11d6b18b9e249db92038b3c3184788421a Mon Sep 17 00:00:00 2001 From: Easy Date: Tue, 22 Oct 2024 16:48:51 +0800 Subject: [PATCH 050/226] Update API URL to compatible with the latest version of ServerChan (#5227) --- server/notification-providers/serverchan.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/server/notification-providers/serverchan.js b/server/notification-providers/serverchan.js index ab9308c3e..aee22f83f 100644 --- a/server/notification-providers/serverchan.js +++ b/server/notification-providers/serverchan.js @@ -12,8 +12,9 @@ class ServerChan extends NotificationProvider { const okMsg = "Sent Successfully."; // serverchan3 requires sending via ft07.com - const url = String(notification.serverChanSendKey).startsWith("sctp") - ? `https://${notification.serverChanSendKey}.push.ft07.com/send` + const matchResult = String(notification.serverChanSendKey).match(/^sctp(\d+)t/i); + const url = matchResult && matchResult[1] + ? `https://${matchResult[1]}.push.ft07.com/send/${notification.serverChanSendKey}.send` : `https://sctapi.ftqq.com/${notification.serverChanSendKey}.send`; try { From 7a82ae039c22d1489c82e4ded653ed4f4b103b55 Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Wed, 23 Oct 2024 08:36:22 +0800 Subject: [PATCH 051/226] Fix weblate conflict and new translations (#5232) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Jochem Pluim Co-authored-by: Zandor Smith Co-authored-by: Anonymous Co-authored-by: Ryo Hanafusa Co-authored-by: Eduard Dev Co-authored-by: Gunnar Norin Co-authored-by: AmadeusGraves Co-authored-by: Dan Misener Co-authored-by: Алексей Добрый Co-authored-by: Ilkka Myller Co-authored-by: Nelson Chan Co-authored-by: Lance <2124757129@qq.com> Co-authored-by: Peter Dave Hello Co-authored-by: PhongPham --- extra/remove-empty-lang-keys.js | 25 ++++++++ src/lang/bg-BG.json | 40 ++++++++++++- src/lang/de-CH.json | 39 +++++++++++- src/lang/de-DE.json | 39 +++++++++++- src/lang/en.json | 30 +++++----- src/lang/et-EE.json | 3 - src/lang/fi.json | 40 ++++++++++++- src/lang/fr-FR.json | 39 +++++++++++- src/lang/hr-HR.json | 101 +++++++++++++++++++++++++++++++- src/lang/id-ID.json | 8 ++- src/lang/ja.json | 32 +++++++++- src/lang/pl.json | 101 +++++++++++++++++++++++++++++++- src/lang/pt-BR.json | 9 ++- src/lang/ru-RU.json | 17 +++++- src/lang/sv-SE.json | 37 +++++++++++- src/lang/tr-TR.json | 39 +++++++++++- src/lang/uk-UA.json | 39 +++++++++++- src/lang/zh-CN.json | 41 ++++++++++++- 18 files changed, 642 insertions(+), 37 deletions(-) create mode 100644 extra/remove-empty-lang-keys.js diff --git a/extra/remove-empty-lang-keys.js b/extra/remove-empty-lang-keys.js new file mode 100644 index 000000000..6b34fa00c --- /dev/null +++ b/extra/remove-empty-lang-keys.js @@ -0,0 +1,25 @@ +// For #5231 + +const fs = require("fs"); + +let path = "../src/lang"; + +// list directories in the lang directory +let jsonFileList = fs.readdirSync(path); + +for (let jsonFile of jsonFileList) { + if (!jsonFile.endsWith(".json")) { + continue; + } + + let jsonPath = path + "/" + jsonFile; + let langData = JSON.parse(fs.readFileSync(jsonPath, "utf8")); + + for (let key in langData) { + if (langData[key] === "") { + delete langData[key]; + } + } + + fs.writeFileSync(jsonPath, JSON.stringify(langData, null, 4) + "\n"); +} diff --git a/src/lang/bg-BG.json b/src/lang/bg-BG.json index 83c08525d..d52c1b498 100644 --- a/src/lang/bg-BG.json +++ b/src/lang/bg-BG.json @@ -1050,5 +1050,43 @@ "less than": "по-малко от", "greater than": "по-голямо от", "greater than or equal to": "по-голямо или равно на", - "record": "запис" + "record": "запис", + "CurlDebugInfo": "За да отстраните грешки в монитора, можете или да поставите това в терминала на Вашата машина, или в терминала на машината, на която работи \"Uptime Kuma\" и да видите заявката.{newiline}Моля, вземете под внимание мрежовите разлики като {firewalls}, {dns_resolvers} или {docker_networks}.", + "shrinkDatabaseDescriptionSqlite": "Инициира {vacuum} за база данни тип SQLite. Функцията {auto_vacuum} вече е активирана, но това не дефрагментира базата данни, нито препакетира отделните страници на базата данни по начина, по който го прави командата {vacuum}.", + "ignoredTLSError": "TLS/SSL грешките са игнорирани", + "Debug": "Отстраняване на грешки", + "Copy": "Копирай", + "CopyToClipboardError": "Неуспешно копиране в клипборда: {error}", + "CopyToClipboardSuccess": "Копирано!", + "firewalls": "защитни стени", + "dns resolvers": "DNS преобразуватели", + "docker networks": "docker мрежи", + "CurlDebugInfoOAuth2CCUnsupported": "Пълният oauth клиентски идентификационен поток не се поддържа в {curl}.{newline}Моля, вземете токен на носител и го предайте чрез опцията {oauth2_bearer}.", + "CurlDebugInfoProxiesUnsupported": "Поддръжката на прокси в горната команда {curl} в момента не е внедрена.", + "Message format": "Формат на съобщението", + "Send rich messages": "Изпращай съобщения в \"rich\" формат", + "Sound": "Звук", + "Notification Channel": "Канал за известяване", + "Alphanumerical string and hyphens only": "Само буквено-цифров низ и тирета", + "Arcade": "Arcade", + "Correct": "Правилно", + "Fail": "Грешка", + "Harp": "Арфа", + "Reveal": "Разкрий", + "Bubble": "Балон", + "Doorbell": "Звънец на врата", + "Flute": "Флейта", + "Money": "Пари", + "Scifi": "Nаучна фантастика", + "Clear": "Премахни", + "Elevator": "Асансьор", + "Guitar": "Китара", + "Pop": "Поп", + "Custom sound to override default notification sound": "Персонализиран звук, заменящ звука за известяване по подразбиране", + "Time Sensitive (iOS Only)": "Зависещи от часа (само за iOS)", + "Time sensitive notifications will be delivered immediately, even if the device is in do not disturb mode.": "Известията от типа \"Зависещи от часа\" ще бъдат доставени незабавно, дори ако устройството е в режим „Не безпокойте“.", + "From": "От", + "Can be found on:": "Можте да се откриете на: {0}", + "The phone number of the recipient in E.164 format.": "Телефонният номер на получателя във формат E.164.", + "Either a text sender ID or a phone number in E.164 format if you want to be able to receive replies.": "Идентификационен номер на подателя на текста или телефонен номер във формат E.164, в случай, че желаете да получавате отговори." } diff --git a/src/lang/de-CH.json b/src/lang/de-CH.json index 6a6920cf5..0c9ffe917 100644 --- a/src/lang/de-CH.json +++ b/src/lang/de-CH.json @@ -1048,5 +1048,42 @@ "less than or equal to": "kleiner als oder gleich", "greater than or equal to": "grösser als oder gleich", "record": "Eintrag", - "shrinkDatabaseDescriptionSqlite": "Datenbank {vacuum} für SQLite auslösen. {auto_vacuum} ist bereits aktiviert, aber dies defragmentiert die Datenbank nicht und packt auch nicht einzelne Datenbankseiten neu, wie es der Befehl {vacuum} tut." + "shrinkDatabaseDescriptionSqlite": "Datenbank {vacuum} für SQLite auslösen. {auto_vacuum} ist bereits aktiviert, aber dies defragmentiert die Datenbank nicht und packt auch nicht einzelne Datenbankseiten neu, wie es der Befehl {vacuum} tut.", + "ignoredTLSError": "TLS/SSL-Fehler wurden ignoriert", + "Debug": "Debug", + "Copy": "Kopieren", + "CurlDebugInfoOAuth2CCUnsupported": "Der vollständige OAuth-Client-Credential-Flow wird in {curl} nicht unterstützt.{newline}Bitte besorge dir ein Bearer-Token und übergebe ihn über die {oauth2_bearer}-Option.", + "Money": "Geld", + "Custom sound to override default notification sound": "Benutzerdefinierter Ton, um den standardmässigen Benachrichtigungston zu ersetzen", + "Either a text sender ID or a phone number in E.164 format if you want to be able to receive replies.": "Entweder eine Text-Absender-ID oder eine Telefonnummer im E.164-Format, wenn du Antworten erhalten möchtest.", + "CopyToClipboardError": "Konnte nicht in die Zwischenablage kopiert werden: {error}", + "CopyToClipboardSuccess": "Kopiert!", + "CurlDebugInfo": "Um den Monitor zu debuggen, kannst du dies entweder in das Terminal deines eigenen Rechners oder in das Terminal der Maschine, auf der Uptime Kuma läuft, einfügen und überprüfen, was du anforderst.{newiline}Bitte beachte Netzwerkunterschiede wie {firewalls}, {dns_resolvers} oder {docker_networks}.", + "firewalls": "Firewalls", + "dns resolvers": "DNS-Resolver", + "docker networks": "Docker-Netzwerke", + "CurlDebugInfoProxiesUnsupported": "Die Unterstützung von Proxys im oben genannten {curl}-Befehl ist derzeit nicht implementiert.", + "Message format": "Nachrichtenformat", + "Send rich messages": "Sende Rich-Text-Nachrichten", + "Notification Channel": "Benachrichtigungskanal", + "Sound": "Benachrichtigungston", + "Alphanumerical string and hyphens only": "Nur alphanumerische Zeichen und Bindestriche", + "Correct": "Korrekt", + "Fail": "Fehlgeschlagen", + "Harp": "Harfe", + "Reveal": "Enthüllen", + "Bubble": "Blase", + "Doorbell": "Türklingel", + "Flute": "Flöte", + "Scifi": "Science Fiction", + "Clear": "Klar", + "Elevator": "Lift", + "Guitar": "Gitarre", + "Pop": "Pop", + "Time Sensitive (iOS Only)": "Zeitkritisch (nur iOS)", + "The phone number of the recipient in E.164 format.": "Die Telefonnummer des Empfängers im E.164-Format.", + "Can be found on:": "Ist zu finden auf: {0}", + "From": "Von", + "Arcade": "Spielhalle", + "Time sensitive notifications will be delivered immediately, even if the device is in do not disturb mode.": "Zeitkritische Benachrichtigungen werden sofort zugestellt, auch wenn sich das Gerät im Nicht stören-Modus befindet." } diff --git a/src/lang/de-DE.json b/src/lang/de-DE.json index 7b987dd20..086740da3 100644 --- a/src/lang/de-DE.json +++ b/src/lang/de-DE.json @@ -1051,5 +1051,42 @@ "less than or equal to": "kleiner als oder gleich", "greater than or equal to": "größer als oder gleich", "record": "Eintrag", - "shrinkDatabaseDescriptionSqlite": "Datenbank {vacuum} für SQLite auslösen. {auto_vacuum} ist bereits aktiviert, aber dies defragmentiert die Datenbank nicht und packt auch nicht einzelne Datenbankseiten neu, wie es der Befehl {vacuum} tut." + "shrinkDatabaseDescriptionSqlite": "Datenbank {vacuum} für SQLite auslösen. {auto_vacuum} ist bereits aktiviert, aber dies defragmentiert die Datenbank nicht und packt auch nicht einzelne Datenbankseiten neu, wie es der Befehl {vacuum} tut.", + "ignoredTLSError": "TLS/SSL-Fehler wurden ignoriert", + "Message format": "Nachrichtenformat", + "Notification Channel": "Benachrichtigungskanal", + "Custom sound to override default notification sound": "Benutzerdefinierter Ton, um den standardmäßigen Benachrichtigungston zu ersetzen", + "Time sensitive notifications will be delivered immediately, even if the device is in do not disturb mode.": "Zeitkritische Benachrichtigungen werden sofort zugestellt, auch wenn sich das Gerät im Nicht stören-Modus befindet.", + "Debug": "Debug", + "Copy": "Kopieren", + "CopyToClipboardError": "Konnte nicht in die Zwischenablage kopiert werden: {error}", + "CopyToClipboardSuccess": "Kopiert!", + "CurlDebugInfo": "Um den Monitor zu debuggen, kannst du dies entweder in das Terminal deines eigenen Rechners oder in das Terminal der Maschine, auf der Uptime Kuma läuft, einfügen und überprüfen, was du anforderst.{newiline}Bitte beachte Netzwerkunterschiede wie {firewalls}, {dns_resolvers} oder {docker_networks}.", + "firewalls": "Firewalls", + "dns resolvers": "DNS-Resolver", + "docker networks": "Docker-Netzwerke", + "CurlDebugInfoOAuth2CCUnsupported": "Der vollständige OAuth-Client-Credential-Flow wird in {curl} nicht unterstützt.{newline}Bitte besorge dir ein Bearer-Token und übergebe ihn über die {oauth2_bearer}-Option.", + "CurlDebugInfoProxiesUnsupported": "Die Unterstützung von Proxys im oben genannten {curl}-Befehl ist derzeit nicht implementiert.", + "Alphanumerical string and hyphens only": "Nur alphanumerische Zeichen und Bindestriche", + "Correct": "Korrekt", + "Harp": "Harfe", + "Doorbell": "Türklingel", + "Flute": "Flöte", + "Money": "Geld", + "Scifi": "Science Fiction", + "Elevator": "Aufzug", + "Guitar": "Gitarre", + "Sound": "Benachrichtigungston", + "Time Sensitive (iOS Only)": "Zeitkritisch (nur iOS)", + "From": "Von", + "Can be found on:": "Ist zu finden auf: {0}", + "The phone number of the recipient in E.164 format.": "Die Telefonnummer des Empfängers im E.164-Format.", + "Either a text sender ID or a phone number in E.164 format if you want to be able to receive replies.": "Entweder eine Text-Absender-ID oder eine Telefonnummer im E.164-Format, wenn du Antworten erhalten möchtest.", + "Send rich messages": "Sende Rich-Text-Nachrichten", + "Fail": "Fehlgeschlagen", + "Reveal": "Enthüllen", + "Bubble": "Blase", + "Clear": "Klar", + "Pop": "Pop", + "Arcade": "Spielhalle" } diff --git a/src/lang/en.json b/src/lang/en.json index d56e61bdf..07d3a3d24 100644 --- a/src/lang/en.json +++ b/src/lang/en.json @@ -251,7 +251,7 @@ "PushUrl": "Push URL", "HeadersInvalidFormat": "The request headers are not valid JSON: ", "BodyInvalidFormat": "The request body is not valid JSON: ", - "CopyToClipboardError": "Couldn't copy to clipbard: {error}", + "CopyToClipboardError": "Couldn't copy to clipboard: {error}", "CopyToClipboardSuccess": "Copied!", "CurlDebugInfo": "To debug the monitor, you can either paste this into your own machines terminal or into the machines terminal which uptime kuma is running on and see what you are requesting.{newiline}Please be aware of networking differences like {firewalls}, {dns_resolvers} or {docker_networks}.", "firewalls": "firewalls", @@ -1033,25 +1033,25 @@ "Alphanumerical string and hyphens only": "Alphanumerical string and hyphens only", "Arcade": "Arcade", "Correct": "Correct", - "Fail":"Fail", - "Harp":"Harp", - "Reveal":"Reveal", - "Bubble":"Bubble", - "Doorbell":"Doorbell", - "Flute":"Flute", - "Money":"Money", - "Scifi":"Scifi", - "Clear":"Clear", - "Elevator":"Elevator", - "Guitar":"Guitar", - "Pop":"Pop", + "Fail": "Fail", + "Harp": "Harp", + "Reveal": "Reveal", + "Bubble": "Bubble", + "Doorbell": "Doorbell", + "Flute": "Flute", + "Money": "Money", + "Scifi": "Scifi", + "Clear": "Clear", + "Elevator": "Elevator", + "Guitar": "Guitar", + "Pop": "Pop", "Custom sound to override default notification sound": "Custom sound to override default notification sound", "Time Sensitive (iOS Only)": "Time Sensitive (iOS Only)", "Time sensitive notifications will be delivered immediately, even if the device is in do not disturb mode.": "Time sensitive notifications will be delivered immediately, even if the device is in do not disturb mode.", - "From":"From", + "From": "From", "Can be found on:": "Can be found on: {0}", "The phone number of the recipient in E.164 format.": "The phone number of the recipient in E.164 format.", - "Either a text sender ID or a phone number in E.164 format if you want to be able to receive replies.":"Either a text sender ID or a phone number in E.164 format if you want to be able to receive replies.", + "Either a text sender ID or a phone number in E.164 format if you want to be able to receive replies.": "Either a text sender ID or a phone number in E.164 format if you want to be able to receive replies.", "RabbitMQ Nodes": "RabbitMQ Management Nodes", "rabbitmqNodesDescription": "Enter the URL for the RabbitMQ management nodes including protocol and port. Example: {0}", "rabbitmqNodesRequired": "Please set the nodes for this monitor.", diff --git a/src/lang/et-EE.json b/src/lang/et-EE.json index c68314a9e..aa519ec1c 100644 --- a/src/lang/et-EE.json +++ b/src/lang/et-EE.json @@ -242,7 +242,6 @@ "Running": "Töötab", "resendEveryXTimes": "Saada uuesti {0} korda", "statusMaintenance": "Hooldus", - "Webhook URL": "", "Server URL": "Serveri URL", "Priority": "Tähtsus", "emojiCheatSheet": "Emotikoni spikker: {0}", @@ -254,7 +253,6 @@ "PushUrl": "Lükka URL", "Monitor History": "Monitori ajalugu", "PasswordsDoNotMatch": "Paroolid ei ühti.", - "records": "", "Current User": "Praegune kasutaja", "topic": "Teema", "successMessage": "Edukas sõnum", @@ -308,7 +306,6 @@ "General Monitor Type": "Üldine monitori tüüp", "webhookAdditionalHeadersDesc": "Lisab täiendavad päised saadetud webhookiga.", "Read more": "Loe rohkem", - "HeadersInvalidFormat": "", "clearDataOlderThan": "Hoia monitori ajalugu alles {0} päeva.", "steamApiKeyDescription": "Steam Game Serveri monitoorimiseks on vaja sul Steam Web-API võtit. Sa saad registreerida enda API võtme siin: ", "Done": "Tehtud", diff --git a/src/lang/fi.json b/src/lang/fi.json index 80c084b75..d5a9f1c0a 100644 --- a/src/lang/fi.json +++ b/src/lang/fi.json @@ -1048,5 +1048,43 @@ "greater than": "enemmän kuin", "less than or equal to": "vähemmän tai yhtä paljon kuin", "greater than or equal to": "enemmän tai yhtä paljon kuin", - "record": "tietue" + "record": "tietue", + "Notification Channel": "Ilmoituskanava", + "Custom sound to override default notification sound": "Mukautettu ääni oletusäänen sijaan", + "Time sensitive notifications will be delivered immediately, even if the device is in do not disturb mode.": "Aikaherkät ilmoitukset toimitetaan välittömästi vaikka laite olisi Älä Häiritse-tilassa.", + "ignoredTLSError": "TLS/SSL-virheitä ei huomioida", + "Debug": "Debug", + "Copy": "Kopioi", + "CopyToClipboardError": "Leikepöydälle kopiointi ei onnistunut: {error}", + "CopyToClipboardSuccess": "Kopioitu!", + "CurlDebugInfo": "Debugataksesi seurainta, voit joko kopioida tämän oman tietokoneesi komentoriville tai sen tietokoneen komentoriville jossa uptime kuma on käynissä nähdäksesi pyyntösi.{newiline}Otathan huomioon verkkoympäristöjen erot kuten {firewalls}, {dns_resolvers} tai {docker_networks}.", + "firewalls": "palomuurit", + "dns resolvers": "DNS-palvelimet", + "docker networks": "Docker-verkot", + "CurlDebugInfoOAuth2CCUnsupported": "{curl} ei tue täydellistä oauth-asiakkaan kirjautumistietojen välittämistä.{newline}Hanki bearer token -tunnus ja välitä se {oauth2_bearer}-vaihtoehdon kautta.", + "CurlDebugInfoProxiesUnsupported": "Välityspalvelimen tukea yllä olevassa {curl}-komennossa ei ole tällä hetkellä toteutettu.", + "shrinkDatabaseDescriptionSqlite": "Käynnistä tietokannan {vacuum} SQLitelle. {auto_vacuum} on jo käytössä, mutta se ei eheytä tietokantaa tai uudelleenpakkaa yksittäisiä tietokantasivuja samoin kuin {vacuum}.", + "Message format": "Viestin muoto", + "Send rich messages": "Lähetä monipuolisia viestejä (rich messages)", + "Sound": "Ääni", + "Alphanumerical string and hyphens only": "Vain aakkosnumeerinen merkkijono ja yhdysmerkit", + "Arcade": "Pelihalli", + "Harp": "Harppu", + "Fail": "Virhe", + "Correct": "Onnistuminen", + "Reveal": "Ilmestys", + "Bubble": "Kupla", + "Doorbell": "Ovikello", + "Flute": "Huilu", + "Money": "Raha", + "Clear": "Kirkas", + "Elevator": "Hissi", + "Guitar": "Kitara", + "Time Sensitive (iOS Only)": "Aikaherkkä (vain iOS)", + "From": "Lähettäjä", + "Can be found on:": "Löydettävissä: {0}", + "The phone number of the recipient in E.164 format.": "Vastaanottajan puhelinnumero E.164-muodossa.", + "Either a text sender ID or a phone number in E.164 format if you want to be able to receive replies.": "Joko lähettäjätunnus (sender ID) tai puhelinnumero E-164-muodossa jos haluat pystyä vastaanottamaan vastausviestejä.", + "Scifi": "Tieteisseikkailu", + "Pop": "Poksahdus" } diff --git a/src/lang/fr-FR.json b/src/lang/fr-FR.json index fb36cac66..f1163a06f 100644 --- a/src/lang/fr-FR.json +++ b/src/lang/fr-FR.json @@ -1051,5 +1051,42 @@ "less than or equal to": "inférieur ou égal à", "greater than or equal to": "supérieur ou égal à", "record": "enregistrer", - "shrinkDatabaseDescriptionSqlite": "Déclencher la commande {vacuum} pour la base de données SQLite. {auto_vacuum} est déjà activé, mais cela ne défragmente pas la base de données ni ne réorganise les pages individuelles de la base de données de la même manière que la commande {vacuum}." + "shrinkDatabaseDescriptionSqlite": "Déclencher la commande {vacuum} pour la base de données SQLite. {auto_vacuum} est déjà activé, mais cela ne défragmente pas la base de données ni ne réorganise les pages individuelles de la base de données de la même manière que la commande {vacuum}.", + "ignoredTLSError": "Les erreurs TLS/SSL ont été ignorées", + "CopyToClipboardError": "Impossible de copier dans le presse-papiers : {error}", + "CurlDebugInfo": "Pour déboguer la sonde, vous pouvez soit le coller dans le terminal de votre propre machine, soit dans le terminal de la machine sur lequel kuma de disponibilité s'exécute et voir ce qui vous est demandé. {newiline} Veuillez être conscient des différences de réseau telles que {firewalls}, {dns_resolvers}. ou {docker_networks}.", + "Notification Channel": "Canal de notification", + "Alphanumerical string and hyphens only": "Chaîne alphanumérique et tirets uniquement", + "Custom sound to override default notification sound": "Son personnalisé pour remplacer le son de notification par défaut", + "Time sensitive notifications will be delivered immediately, even if the device is in do not disturb mode.": "Les notifications urgentes seront envoyées immédiatement, même si l'appareil est en mode Ne pas déranger.", + "Debug": "Déboguer", + "Copy": "Copie", + "CopyToClipboardSuccess": "Copié !", + "firewalls": "pare-feu", + "dns resolvers": "résolveurs DNS", + "docker networks": "réseaux dockers", + "CurlDebugInfoOAuth2CCUnsupported": "Le flux complet des informations d'identification du client OAuth n'est pas pris en charge dans {curl}. {newline}Veuillez obtenir un jeton d'accès bearer token et le transmettre via l'option {oauth2_bearer}.", + "CurlDebugInfoProxiesUnsupported": "La prise en charge du proxy dans la commande {curl} ci-dessus n'est actuellement pas implémentée.", + "Message format": "Format des messages", + "Send rich messages": "Envoyer des messages enrichis", + "Sound": "Son", + "Arcade": "Arcade", + "Correct": "Correcte", + "Fail": "Échouer", + "Harp": "Harpe", + "Reveal": "Révéler", + "Bubble": "Bulle", + "Doorbell": "Sonnette", + "Flute": "Flûte", + "Money": "Argent", + "Scifi": "Science-fiction", + "Clear": "Effacer", + "Elevator": "Ascenseur", + "Guitar": "Guitare", + "Pop": "Pop", + "Time Sensitive (iOS Only)": "Sensible au temps (iOS uniquement)", + "From": "De", + "Can be found on:": "Disponible sur : {0}", + "The phone number of the recipient in E.164 format.": "Le numéro de téléphone du destinataire au format E.164.", + "Either a text sender ID or a phone number in E.164 format if you want to be able to receive replies.": "Soit un identifiant d'expéditeur de texte, soit un numéro de téléphone au format E.164 si vous souhaitez pouvoir recevoir des réponses." } diff --git a/src/lang/hr-HR.json b/src/lang/hr-HR.json index 42ea97706..c00c1bf5d 100644 --- a/src/lang/hr-HR.json +++ b/src/lang/hr-HR.json @@ -983,5 +983,104 @@ "threemaRecipientTypePhone": "Telefonski broj", "threemaRecipientTypePhoneFormat": "E.164, bez vodećeg znaka +", "threemaBasicModeInfo": "Napomena: Ova integracija koristi Threema Gateway u osnovnom načinu rada (enkripcija temeljena na poslužitelju). Dodatne pojedinosti možete pronaći na {0}.", - "smspartnerSenderNameInfo": "Mora biti između 3 i 11 znakova" + "smspartnerSenderNameInfo": "Mora biti između 3 i 11 znakova", + "shrinkDatabaseDescriptionSqlite": "Pokreni {vacuum} baze podataka za SQLite. Opcija {auto_vacuum} je već omogućena, ali to ne defragmentira bazu podataka niti ponovno pakira pojedinačne stranice baze podataka na način na koji to radi naredba {vacuum}.", + "ignoredTLSError": "TLS/SSL greške se ignoriraju", + "cacheBusterParam": "Dodaj parametar {0}", + "cacheBusterParamDescription": "Nasumično generirani parametar, za preskakanje predmemorije.", + "snmpCommunityStringHelptext": "Ovaj niz funkcionira kao lozinka za provjeru autentičnosti i kontrolu pristupa uređajima s omogućenim SNMP-om. Uskladite ga sa svojom konfiguracijom SNMP uređaja.", + "privateOnesenderDesc": "Provjerite je li broj telefona valjan. Za slanje poruke na privatni telefonski broj, npr. 628123456789", + "Go back to home page.": "Vratite se na početnu stranicu.", + "signl4Docs": "Više informacija o tome kako konfigurirati SIGNL4 i kako dobiti SIGNL4 URL webhooka možete pronaći na {0}.", + "not starts with": "ne počinje s", + "less than or equal to": "manje od ili jednako", + "Doorbell": "Zvono na vratima", + "Custom sound to override default notification sound": "Prilagođeni zvuk za zamjenu zadanog zvuka obavijesti", + "Time sensitive notifications will be delivered immediately, even if the device is in do not disturb mode.": "Vremenski osjetljive obavijesti bit će isporučene odmah, čak i ako je uređaj u načinu rada bez ometanja.", + "now": "sada", + "time ago": "prije {0}", + "-year": "-godišnje", + "Json Query Expression": "Upit u JSON obliku", + "Community String": "Zajednički niz teksta", + "conditionAddGroup": "Dodaj grupu", + "conditionDeleteGroup": "Obriši grupu", + "Debug": "Otklanjanje grešaka", + "Copy": "Kopirati", + "CopyToClipboardError": "Greška pri kopiranju u međuspremnik: {error}", + "CopyToClipboardSuccess": "Kopirano!", + "dns resolvers": "DNS razrješivači", + "firewalls": "vatrozidi", + "CurlDebugInfo": "Za otklanjanje grešaka u Monitoru, možete zalijepiti ovo u terminal na vlastitom računalu ili računalu na kojem se Uptime Kuma pokreće, kako biste isprobali Vaš mrežni zahtjev.{newiline}Budite svjesni mrežnih razlika koje mogu činiti {firewalls}, {dns_resolvers} ili {docker_networks}.", + "docker networks": "Dockerove mreže", + "CurlDebugInfoOAuth2CCUnsupported": "Potpuni tok vjerodajnica klijenta OAuth nije podržan u {curl}.{newline}Nabavite token nositelja i proslijedite ga koristeći opciju {oauth2_bearer}.", + "CurlDebugInfoProxiesUnsupported": "Proxy podrška u gornjoj naredbi {curl} trenutno nije implementirana.", + "and": "i", + "Message format": "Format poruke", + "Send rich messages": "Slanje poruka s obogaćenim tekstom", + "OID (Object Identifier)": "OID (Identifikator objekta)", + "snmpOIDHelptext": "Unesite OID za senzor ili status kojeg želite monitorirati. Koristite alate za upravljanje mrežom poput MIB preglednika ili SNMP programa ako niste sigurni koja je vrijednost OID-a.", + "Condition": "Uvjet", + "SNMP Version": "Inačica SNMP-a", + "Please enter a valid OID.": "Unesite važeći OID.", + "Recipient Type": "Tip primatelja", + "Private Number": "Privatni broj", + "wayToGetOnesenderUrlandToken": "URL i token možete dobiti odlaskom na OneSender web stranicu. Više informacija na {0}", + "Token Onesender": "OneSender Token", + "Host Onesender": "Adresa OneSender domaćina", + "Group ID": "Identifikator Grupe", + "groupOnesenderDesc": "Provjerite je li Identifikator Grupe valjan. Za slanje poruke na Grupu, npr. 628123456789-342345", + "Add Remote Browser": "Dodaj udaljeni preglednik", + "New Group": "Nova grupa", + "Group Name": "Naziv grupe", + "OAuth2: Client Credentials": "OAuth2: vjerodajnice klijenta", + "Authentication Method": "Metoda provjere autentičnosti", + "Authorization Header": "Zaglavlje autorizacije", + "Form Data Body": "Tijelo podataka obrasca", + "OAuth Token URL": "URL OAuth tokena", + "Client ID": "Klijentski identifikator", + "Client Secret": "Klijentska tajna", + "OAuth Scope": "OAuth opseg", + "Optional: Space separated list of scopes": "Neobavezno: popis opsega odvojen razmakom", + "No tags found.": "Nema pronađenih oznaka.", + "Lost connection to the socket server.": "Izgubljena veza sa socket poslužiteljem.", + "Cannot connect to the socket server.": "Nije moguće spojiti se na socket poslužitelj.", + "SIGNL4": "SIGNL4", + "SIGNL4 Webhook URL": "SIGNL4 URL webhooka", + "Conditions": "Uvjeti", + "conditionAdd": "Dodaj uvjet", + "conditionDelete": "Obriši uvjet", + "conditionValuePlaceholder": "Vrijednost", + "equals": "je jednako", + "not equals": "nije jednako", + "contains": "sadržava", + "not contains": "ne sadržava", + "starts with": "počinje s", + "ends with": "završava s", + "not ends with": "ne završava s", + "less than": "manje od", + "greater than": "veće od", + "greater than or equal to": "veće od ili jednako", + "record": "zapis", + "Notification Channel": "Kanal obavijesti", + "Sound": "Zvuk", + "Alphanumerical string and hyphens only": "Samo alfanumerički niz i crtice", + "Arcade": "Arkadno", + "Fail": "Neuspjeh", + "Correct": "Ispravno", + "Harp": "Harfa", + "Reveal": "Otkrivanje", + "Bubble": "Mjehurić", + "Flute": "Flauta", + "Money": "Novac", + "Scifi": "Znanstvena fantastika", + "Clear": "Čisto", + "Elevator": "Dizalo", + "Guitar": "Gitara", + "Pop": "Pop", + "Time Sensitive (iOS Only)": "Vremenski osjetljivo (samo iOS)", + "From": "Od", + "Can be found on:": "Može se pronaći na: {0}", + "The phone number of the recipient in E.164 format.": "Telefonski broj primatelja u formatu E.164.", + "Either a text sender ID or a phone number in E.164 format if you want to be able to receive replies.": "Ili identifikator pošiljatelja tekstualne poruke ili telefonski broj u formatu E.164 ako želite primati odgovore.", + "jsonQueryDescription": "Izvršite JSON upit nad primljenim odgovorom i provjerite očekivanu povratnu vrijednost. Koristite \"$\" za zahtjeve u kojima ne očekujete JSON odgovor. Povratna vrijednost će se za usporedbu pretvoriti u niz znakova (string). Pogledajte stranicu {0} za dokumentaciju o jeziku upita. Testno okruženje možete pronaći na {1}." } diff --git a/src/lang/id-ID.json b/src/lang/id-ID.json index a6963e345..1f2676a3d 100644 --- a/src/lang/id-ID.json +++ b/src/lang/id-ID.json @@ -1046,5 +1046,11 @@ "Group Name": "Nama Grup", "OAuth2: Client Credentials": "OAuth2: Kredensial Klien", "Authentication Method": "Metode Autentikasi", - "shrinkDatabaseDescriptionSqlite": "Memicu pangkalan data {vacuum} untuk SQLite. {auto_vacuum} sudah diaktifkan, tetapi tidak mendefragmentasi pangkalan data atau mengemas ulang halaman individual dari pangkalan data seperti yang dilakukan oleh perintah {vacuum}." + "shrinkDatabaseDescriptionSqlite": "Memicu pangkalan data {vacuum} untuk SQLite. {auto_vacuum} sudah diaktifkan, tetapi tidak mendefragmentasi pangkalan data atau mengemas ulang halaman individual dari pangkalan data seperti yang dilakukan oleh perintah {vacuum}.", + "ignoredTLSError": "Galat TLS/SSL sudah diabaikan", + "Debug": "Awakutu", + "Copy": "Salin", + "CopyToClipboardError": "Tidak bisa menyalin ke papan klip: {galat}", + "CopyToClipboardSuccess": "Tersalin!", + "CurlDebugInfo": "Untuk pengawakutuan monitor, Anda bisa menempelkan ini ke terminal mesin Anda sendiri atau ke terminal mesin di mana uptime kuma sedang berjalan dan melihat apa yang Anda harapkan. Mohon perhatikan perbedaan jaringan seperti {firewalls}, {dns_resolvers}, atau {docker_networks}." } diff --git a/src/lang/ja.json b/src/lang/ja.json index f81fc4f9c..585297b43 100644 --- a/src/lang/ja.json +++ b/src/lang/ja.json @@ -672,5 +672,35 @@ "emailCustomBody": "カスタム本文", "emailTemplateServiceName": "サービス名", "smtpLiquidIntroduction": "次の 2 つのテンプレート・フィールドは Liquid テンプレート言語で記述できます。これらの使い方は {0} にあります。以下は利用可能な変数です:", - "emailTemplateStatus": "ステータス" + "emailTemplateStatus": "ステータス", + "now": "現在", + "time ago": "{0}前", + "-year": "年", + "Json Query Expression": "Jsonクエリ表現", + "ignoredTLSError": "TLS/SSLエラーは無視されました", + "locally configured mail transfer agent": "独自設定されたメール転送エージェント", + "ignoreTLSErrorGeneral": "接続時のTLS/SSLエラーを無視する", + "successKeyword": "成功時のキーワード", + "pushViewCode": "Push モニターの使い方(コードを見る)", + "Reset Token": "トークンのリセット", + "templateLimitedToUpDownCertNotifications": "監視対象の UP/DOWN と証明書の有効期限通知でのみ利用可能", + "templateLimitedToUpDownNotifications": "監視対象の UP/DOWN の通知でのみ利用可能", + "webhookBodyPresetOption": "プリセット - {0}", + "Optional": "オプション", + "and": "かつ", + "From Email": "Emailより", + "CurlDebugInfoProxiesUnsupported": "上記コマンド {curl} のProxyサポートは現在、実装されていません。", + "Your User ID": "あなたのユーザーID", + "programmingLanguages": "プログラミング言語", + "Debug": "デバッグ", + "Copy": "コピー", + "CopyToClipboardError": "クリップボードにコピーできません: {error}", + "CopyToClipboardSuccess": "コピーしました!", + "firewalls": "ファイアウォール", + "dns resolvers": "DNSリゾルバ", + "docker networks": "Dockerネットワーク", + "sameAsServerTimezone": "サーバータイムゾーンと同じ", + "cronExpression": "Cron表記", + "invalidCronExpression": "不正なCron表記です: {0}", + "Single Maintenance Window": "シングルメンテナンスウィンドウ" } diff --git a/src/lang/pl.json b/src/lang/pl.json index e7e75abbc..82517a1d7 100644 --- a/src/lang/pl.json +++ b/src/lang/pl.json @@ -294,7 +294,7 @@ "emailCustomSubject": "Niestandardowy temat", "checkPrice": "Sprawdź ceny {0}:", "octopushLegacyHint": "Czy używasz starszej wersji Octopush (2011-2020) czy nowej wersji?", - "Feishu WebHookUrl": "Feishu WebHookURL", + "Feishu WebHookUrl": "Adres webhooka Feishu", "matrixHomeserverURL": "Adres URL serwera domowego (z http(s):// i opcjonalnie port)", "Internal Room Id": "Wewnętrzne ID pokoju", "matrixDesc1": "Możesz znaleźć wewnętrzne ID pokoju, patrząc w zaawansowanej sekcji ustawień pokoju w twoim kliencie Matrix. Powinien on wyglądać jak !QMdRCpUIfLwsfjxye6:home.server.", @@ -410,7 +410,7 @@ "SignName": "Podpis", "Sms template must contain parameters: ": "Szablon sms musi posiadać parametry: ", "Bark Endpoint": "Punkt końcowy Bark", - "WebHookUrl": "WebHookUrl", + "WebHookUrl": "Adres webhooka", "SecretKey": "Tajny klucz", "For safety, must use secret key": "Ze względów bezpieczeństwa musisz użyć tajnego klucza", "Device Token": "Token urządzenia", @@ -993,5 +993,100 @@ "-year": "-rok", "and": "i", "now": "teraz", - "cacheBusterParam": "Dodaj parametr {0}" + "cacheBusterParam": "Dodaj parametr {0}", + "CopyToClipboardError": "Błąd podczas kopiowania do schowka: {error}", + "CurlDebugInfo": "Aby zdebugować monitor, możesz wkleić ten ciąg do terminala na swojej maszynie lub na maszynie gdzie uptime kuma jest uruchomina aby zobaczyć co żądasz.{newiline} Miej na uwadzę różnice sieciowe takich jak {firewalls}, {dns_resolvers} lub {docker_networks}.", + "shrinkDatabaseDescriptionSqlite": "Zażądaj {vacuum} bazy dla SQLite. {auto_vacuum} jest już włączone jednak nie defragmentuje to bazy ani nie przepakowuje indywidualnych stron bazy w taki sam sposób jak robi to polecenie {vacuum}.", + "cacheBusterParamDescription": "Losowo wygenerowany parametr w celu pominięcia pamięci podręcznej.", + "Group Name": "Nazwa grupy", + "OAuth2: Client Credentials": "OAuth2: Poświadczenia klienta", + "signl4Docs": "Aby zdobyć więcej informacji jak skonfigurować SIGNL4 i jak zdobyć odnośnik webhooka SIGNL4 udaj się do {0}.", + "Time sensitive notifications will be delivered immediately, even if the device is in do not disturb mode.": "Czasowo wrażliwe powiadomienia zostaną dostarczone natychmiastowo, nawet jeśli urzadzenie jest w trybie nie przeszkadzać.", + "time ago": "{0} temu", + "Json Query Expression": "Wyrażenie zapytania JSON", + "Condition": "Warunek", + "snmpCommunityStringHelptext": "Ten ciąg funkcjonuje jako hasło do uwierzytelnienia i kontroli dostęp do urządzeń SNMP. Dopasuj go do konfiguracji urządzenia SNMP.", + "SNMP Version": "Wersja SNMP", + "OID (Object Identifier)": "OID (Identyfikator obiektu)", + "snmpOIDHelptext": "Wprowadź OID sensora lub statusu który chcesz monitorować. Użyj narzędzia do zarządzania siecią jak przeglądarki MIB lub oprogramowanie SNMP jeśli nie masz pewności co do OID.", + "Please enter a valid OID.": "Wprowadź poprawny OID.", + "Host Onesender": "Serwer Onesender", + "Token Onesender": "Token Onesender", + "Recipient Type": "Typ odbiorcy", + "Go back to home page.": "Powróć do strony domowej.", + "No tags found.": "Nie znaleziono etykiet.", + "Authorization Header": "Nagłówek autoryzacji", + "Form Data Body": "Zawartość formularza danych", + "OAuth Token URL": "Odnośnik tokena OAuth", + "Client ID": "Identyfikator klienta", + "Client Secret": "Sekret klienta", + "OAuth Scope": "Zakres OAuth", + "Optional: Space separated list of scopes": "Opcjonalne: Oddzielona spacją lista zakresów", + "SIGNL4 Webhook URL": "Odnośnik webhooka SIGNL4", + "Lost connection to the socket server.": "Utracono połączenie do serwera.", + "Cannot connect to the socket server.": "Nie można połączyć z serwerem.", + "SIGNL4": "SIGNL4", + "less than": "mniej niż", + "Conditions": "Warunek", + "conditionAdd": "Dodaj warunek", + "conditionDelete": "Usuń warunek", + "conditionAddGroup": "Dodaj grupę", + "conditionDeleteGroup": "Usuń grupę", + "conditionValuePlaceholder": "Wartość", + "equals": "równa się", + "not equals": "nie jest równe", + "contains": "zawiera", + "not contains": "nie zawiera", + "starts with": "zaczyna się od", + "not starts with": "nie zaczyna się od", + "ends with": "kończy się", + "ignoredTLSError": "Błędy TLS/SSL zostały zignorowane", + "Debug": "Debuguj", + "Copy": "Kopiuj", + "CopyToClipboardSuccess": "Skopiowano!", + "firewalls": "zapory sieciowe", + "dns resolvers": "serwery rozwiązywania nazw domenowych", + "docker networks": "sieci docker", + "CurlDebugInfoOAuth2CCUnsupported": "Pełen ciąg poświadczeń klienta oauth nie jest obsługiwany w {curl}.{newline}Zdobądź bearer token i przekaż go przez opcję {oauth2_bearer}.", + "CurlDebugInfoProxiesUnsupported": "Obsługa proxy w powyższym poleceniu {curl} nie jest aktualnie zaimplementowana.", + "Message format": "Format wiadomości", + "Send rich messages": "Wysyłaj bogate wiadomości", + "Community String": "Ciąg community", + "Private Number": "Numer prywatny", + "groupOnesenderDesc": "Upewnij się, że GroupID jest poprawne. Aby wysłać wiadomość do grupy, np.: 628123456789-342345", + "privateOnesenderDesc": "Upewnij się, że numer telefonu jest poprawny. Aby wysłać wiadomość do prywatnego numeru, np.: 628123456789", + "Group ID": "ID grupy", + "wayToGetOnesenderUrlandToken": "Aby zdobyć odnośnik i token udaj się na stronę Onesender. Więcej informacji {0}", + "Add Remote Browser": "Dodaj zdalną przeglądarkę", + "New Group": "Nowa grupa", + "Authentication Method": "Metoda uwierzytelnienia", + "not ends with": "nie kończy się", + "greater than": "więcej niż", + "less than or equal to": "mniej lub równe", + "greater than or equal to": "więcej lub równe", + "record": "rekord", + "Notification Channel": "Kanał powiadomień", + "Sound": "Dźwięk", + "Alphanumerical string and hyphens only": "Tylko ciąg alfanumeryczny i dywiz (kreska)", + "Time Sensitive (iOS Only)": "Czasowo wrażliwe (tylko iOS)", + "From": "Od", + "Can be found on:": "Może być znalezione w: {0}", + "The phone number of the recipient in E.164 format.": "Numer telefonu odbiorcy w formacie E.164.", + "Either a text sender ID or a phone number in E.164 format if you want to be able to receive replies.": "Identyfikator wysyłającego wiadomość lub numer telefonu w formacie E.164 jeśli chcesz otrzymywać odpowiedzi.", + "jsonQueryDescription": "Przetwórz i wyciągnij specyficzne dane z odpowiedzi JSON serwera używając zapytania JSON lub użyj \"$\" dla nieprzetworzonej odpowiedzi, jeśli nie spodziewasz się formatu JSON. Wynik jest następnie porównywany, jako ciągi, do spodziewanej wartości. Po dokumetnację zobacz {0} lub użyj {1} aby poeksperymentować z zapytaniami.", + "Custom sound to override default notification sound": "Własny dzwięk nadpisujący domyślny dzwięk powiadomień", + "Arcade": "Arcade", + "Correct": "Correct", + "Fail": "Fail", + "Harp": "Harp", + "Reveal": "Reveal", + "Bubble": "Bubble", + "Doorbell": "Doorbell", + "Flute": "Flute", + "Money": "Money", + "Scifi": "Scifi", + "Clear": "Clear", + "Elevator": "Elevator", + "Guitar": "Guitar", + "Pop": "Pop" } diff --git a/src/lang/pt-BR.json b/src/lang/pt-BR.json index d345434ae..2e21b19f4 100644 --- a/src/lang/pt-BR.json +++ b/src/lang/pt-BR.json @@ -980,5 +980,12 @@ "Group Name": "Nome do Grupo", "OAuth2: Client Credentials": "OAuth2: Client Credentials", "Authentication Method": "Método de Autenticação", - "Authorization Header": "Header de Autorização" + "Authorization Header": "Header de Autorização", + "ignoredTLSError": "Erros TLS/SSL foram ignorados", + "Debug": "Depurar", + "Copy": "Copiar", + "CopyToClipboardError": "Não foi possível copiar para a área de transferência: {error}", + "CopyToClipboardSuccess": "Copiado!", + "firewalls": "firewalls", + "docker networks": "redes docker" } diff --git a/src/lang/ru-RU.json b/src/lang/ru-RU.json index d71a43971..2b80ad1fd 100644 --- a/src/lang/ru-RU.json +++ b/src/lang/ru-RU.json @@ -971,5 +971,20 @@ "Select message type": "Выберите тип сообщения", "Send to channel": "Отправить в канал", "Refresh Interval": "Интервал обновления", - "ignoreTLSErrorGeneral": "Игнорировать ошибки TLS/SSL для подключения" + "ignoreTLSErrorGeneral": "Игнорировать ошибки TLS/SSL для подключения", + "CurlDebugInfoOAuth2CCUnsupported": "Полная поддержка потока клиентских учетных данных OAuth отсутствует в {curl}.{newline}Пожалуйста, получите токен доступа и передайте его через параметр {oauth2_bearer}.", + "now": "сейчас", + "time ago": "{0} назад", + "Refresh Interval Description": "Страница статуса будет полностью обновляться каждые {0} секунд", + "and": "и", + "e.g. {discordThreadID}": "например {discordThreadID}", + "ignoredTLSError": "Ошибки TLS/SSL были проигнорированы", + "Debug": "Отладка", + "Copy": "Скопировать", + "CopyToClipboardError": "Не удалось скопировать: {error}", + "CopyToClipboardSuccess": "Скопировано!", + "firewalls": "файрволы", + "dns resolvers": "dns резолверы", + "docker networks": "докер-сети", + "CurlDebugInfoProxiesUnsupported": "Поддержка прокси в верхней {curl} команде в настоящее время не реализована." } diff --git a/src/lang/sv-SE.json b/src/lang/sv-SE.json index 6ae6e8345..607cf0d68 100644 --- a/src/lang/sv-SE.json +++ b/src/lang/sv-SE.json @@ -94,7 +94,7 @@ "Password": "Lösenord", "Remember me": "Kom ihåg mig", "Login": "Logga in", - "No Monitors, please": "Inga övervakare, tack", + "No Monitors, please": "Inga övervakare", "add one": "lägg till en", "Notification Type": "Notifieringstyp", "Email": "Epost", @@ -957,5 +957,38 @@ "threemaSenderIdentityFormat": "8 tecken, startar oftast med *", "threemaApiAuthenticationSecret": "Gateway-ID hemlighet", "threemaBasicModeInfo": "Notera: Denna integration använder Threema Gateway i standardläge (server-baserad kryptering). Mer detaljer kan hittas {0}.", - "apiKeysDisabledMsg": "API-nycklar är inaktiverade för att autentisering är inaktiverad." + "apiKeysDisabledMsg": "API-nycklar är inaktiverade för att autentisering är inaktiverad.", + "CopyToClipboardError": "Kunde inte kopiera till urklipp: {fel}", + "Message format": "Meddelandeformat", + "Condition": "Villkor", + "SNMP Version": "SNMP-version", + "No tags found.": "Inga taggar hittades.", + "now": "nu", + "time ago": "{0} sedan", + "-year": "-år", + "Json Query Expression": "Json-frågeutryck", + "and": "och", + "Recipient Type": "Mottagartyp", + "Private Number": "Privat nummer", + "New Group": "Ny grupp", + "Group Name": "Gruppnamn", + "OAuth2: Client Credentials": "OAuth2: Klientuppgifter", + "Authentication Method": "Autentiseringsmetod", + "Authorization Header": "Autentiseringshuvud", + "Client ID": "Klient ID", + "Client Secret": "Klienthemlighet", + "Go back to home page.": "Gå tillbaka till hemsidan.", + "ignoredTLSError": "TLS/SSL-fel har ignorerats", + "Debug": "Felsöka", + "Copy": "Kopiera", + "CopyToClipboardSuccess": "Kopierat!", + "firewalls": "brandväggar", + "dns resolvers": "dns-upplösare", + "docker networks": "docker-nätverk", + "cacheBusterParam": "Lägg till {0} parameter", + "Community String": "Gruppsträng", + "OID (Object Identifier)": "OID (Objektsidentifierare)", + "Please enter a valid OID.": "Ange ett giltigt OID.", + "Group ID": "GruppID", + "Add Remote Browser": "Lägg till fjärrbläddrare" } diff --git a/src/lang/tr-TR.json b/src/lang/tr-TR.json index 0b78d7eea..077919fae 100644 --- a/src/lang/tr-TR.json +++ b/src/lang/tr-TR.json @@ -1051,5 +1051,42 @@ "greater than or equal to": "büyük veya eşit", "record": "kayıt", "jsonQueryDescription": "JSON sorgusunu kullanarak sunucunun JSON yanıtından belirli verileri ayrıştırın ve çıkarın. JSON beklemiyorsanız ham yanıt için \"$\" sembolünü kullanın. Sonuç daha sonra metin olarak beklenen değerle karşılaştırılır. Belgeler için {0}'a bakın ve sorgularla denemeler yapmak için {1}'i kullanın.", - "shrinkDatabaseDescriptionSqlite": "SQLite için {vacuum} veritabanını tetikle. {auto_vacuum} zaten etkin ancak bu, {vacuum} komutunun yaptığı gibi veritabanını birleştirmez veya tek tek veritabanı sayfalarını yeniden paketlemez." + "shrinkDatabaseDescriptionSqlite": "SQLite için {vacuum} veritabanını tetikle. {auto_vacuum} zaten etkin ancak bu, {vacuum} komutunun yaptığı gibi veritabanını birleştirmez veya tek tek veritabanı sayfalarını yeniden paketlemez.", + "Debug": "Hata ayıklama", + "Copy": "Kopyala", + "CopyToClipboardError": "Panoya kopyalanamadı: {hata}", + "CopyToClipboardSuccess": "Kopyalandı!", + "firewalls": "güvenlik duvarları", + "dns resolvers": "dns çözücüler", + "docker networks": "Docker ağları", + "CurlDebugInfoOAuth2CCUnsupported": "Tam Oauth istemci kimlik bilgisi akışı {curl}'de desteklenmiyor.{newline}Lütfen bir taşıyıcı belirteci alın ve bunu {oauth2_bearer} seçeneği aracılığıyla iletin.", + "CurlDebugInfoProxiesUnsupported": "Yukarıdaki {curl} komutunda proxy desteği şu anda uygulanmamıştır.", + "Message format": "Mesaj biçimi", + "Send rich messages": "Zengin mesajlar gönder", + "Notification Channel": "Bildirim Kanalı", + "Sound": "Ses", + "Alphanumerical string and hyphens only": "Yalnızca alfanümerik dize ve tireler", + "Arcade": "Çarşı", + "Correct": "Doğru", + "Fail": "Hata", + "Harp": "Harp", + "Reveal": "Ortaya çıkarmak", + "Bubble": "Kabarcık", + "Doorbell": "Kapı zili", + "Flute": "Flüt", + "Money": "Para", + "Scifi": "Bilimkurgu", + "Clear": "Temizlemek", + "Elevator": "Asansör", + "Guitar": "Gitar", + "Pop": "Pop", + "Custom sound to override default notification sound": "Varsayılan bildirim sesini geçersiz kılmak için özel ses", + "Time Sensitive (iOS Only)": "Zaman Duyarlı (Yalnızca iOS)", + "From": "Kimden", + "Can be found on:": "Şurada bulunabilir: {0}", + "The phone number of the recipient in E.164 format.": "Alıcının E.164 formatındaki telefon numarası.", + "ignoredTLSError": "TLS/SSL hataları göz ardı edildi", + "CurlDebugInfo": "Monitörü hata ayıklamak için, bunu kendi makinenizin terminaline veya uptime kuma'nın çalıştığı makinenin terminaline yapıştırabilir ve ne istediğinizi görebilirsiniz.{newiline}Lütfen {firewalls}, {dns_resolvers} veya {docker_networks} gibi ağ farklılıklarına dikkat edin.", + "Time sensitive notifications will be delivered immediately, even if the device is in do not disturb mode.": "Cihaz rahatsız etmeyin modunda olsa bile, zaman açısından hassas bildirimler anında iletilecek.", + "Either a text sender ID or a phone number in E.164 format if you want to be able to receive replies.": "Cevap alabilmek istiyorsanız E.164 formatında bir kısa mesaj gönderici kimliği veya bir telefon numarası." } diff --git a/src/lang/uk-UA.json b/src/lang/uk-UA.json index f813b4612..24dddf657 100644 --- a/src/lang/uk-UA.json +++ b/src/lang/uk-UA.json @@ -1057,5 +1057,42 @@ "less than or equal to": "менше або дорівнює", "greater than or equal to": "більше або дорівнює", "record": "запис", - "shrinkDatabaseDescriptionSqlite": "Запускає команду {vacuum} для бази даних SQLite. Команда {auto_vacuum} вже увімкнена, але вона не дефрагментує базу даних і не перепаковує окремі сторінки бази даних так, як це робить команда {vacuum}." + "shrinkDatabaseDescriptionSqlite": "Запускає команду {vacuum} для бази даних SQLite. Команда {auto_vacuum} вже увімкнена, але вона не дефрагментує базу даних і не перепаковує окремі сторінки бази даних так, як це робить команда {vacuum}.", + "ignoredTLSError": "Помилки TLS/SSL проігноровано", + "Debug": "Налагодження", + "Copy": "Копіювати", + "CopyToClipboardError": "Не вдалося скопіювати в буфер обміну: {error}", + "CopyToClipboardSuccess": "Скопійовано!", + "firewalls": "фаєрволи", + "dns resolvers": "dns сервери", + "docker networks": "docker-мережі", + "CurlDebugInfoProxiesUnsupported": "Підтримка проксі у наведеній вище команді {curl} наразі не реалізована.", + "Message format": "Формат повідомлення", + "Send rich messages": "Надіслати розгорнуті повідомлення", + "Notification Channel": "Канал сповіщення", + "Sound": "Звук", + "Alphanumerical string and hyphens only": "Тільки алфавітно-цифровий рядок і дефіси", + "Arcade": "Аркада", + "Correct": "Вірно", + "Fail": "Невдача", + "Harp": "Арфа", + "Reveal": "Розкриття", + "Bubble": "Бульбашка", + "Doorbell": "Дзвінок", + "Flute": "Флейта", + "Money": "Гроші", + "Scifi": "Наукова фантастика", + "Clear": "Чисто", + "Elevator": "Ліфт", + "Guitar": "Гітара", + "Pop": "Поп", + "Custom sound to override default notification sound": "Користувацький звук для заміни звуку сповіщень за замовчуванням", + "Time Sensitive (iOS Only)": "Чутливий до часу (лише для iOS)", + "Time sensitive notifications will be delivered immediately, even if the device is in do not disturb mode.": "Сповіщення, що залежать від часу, будуть доставлені негайно, навіть якщо пристрій перебуває в режимі «Не турбувати».", + "From": "Від", + "The phone number of the recipient in E.164 format.": "Номер телефону одержувача у форматі E.164.", + "CurlDebugInfo": "Для налагодження монітора ви можете вставити цей файл у термінал вашої власної машини або у термінал машини, на якій запущено uptime kuma, і подивитися, що ви запитуєте.{newline}Зверніть увагу на мережеві відмінності, такі як {firewalls}, {dns_resolvers} або {docker_networks}.", + "CurlDebugInfoOAuth2CCUnsupported": "Повний потік облікових даних клієнта oauth не підтримується в {curl}.{newline}Потрібно отримати bearer-токен і передати його за допомогою опції {oauth2_bearer}.", + "Can be found on:": "Можна знайти на: {0}", + "Either a text sender ID or a phone number in E.164 format if you want to be able to receive replies.": "Або ідентифікатор відправника тексту, або номер телефону у форматі E.164, якщо ви хочете отримувати відповіді." } diff --git a/src/lang/zh-CN.json b/src/lang/zh-CN.json index 220c52b70..8b14e6c5d 100644 --- a/src/lang/zh-CN.json +++ b/src/lang/zh-CN.json @@ -1,5 +1,5 @@ { - "languageName": "English", + "languageName": "简体中文", "checkEverySecond": "检测频率 {0} 秒", "retryCheckEverySecond": "重试间隔 {0} 秒", "resendEveryXTimes": "每 {0} 次失败则重复发送一次", @@ -1053,5 +1053,42 @@ "greater than or equal to": "不少于", "record": "记录", "jsonQueryDescription": "使用 JSON 查询解析并提取服务器 JSON 响应中的特定数据,或者,如果不期望得到 JSON 响应,则可使用 \"$\" 获取原始响应。然后将结果转为字符串并与期望值进行字符串比较。有关更多文档,请参阅 {0},亦可使用 {1} 来尝试查询。", - "shrinkDatabaseDescriptionSqlite": "触发 SQLite 数据库的 {vacuum} 命令。{auto_vacuum} 已经启用,但它不会像 {vacuum} 命令那样对数据库进行碎片整理,也不会重新打包各个数据库页面。" + "shrinkDatabaseDescriptionSqlite": "触发 SQLite 数据库的 {vacuum} 命令。{auto_vacuum} 已经启用,但它不会像 {vacuum} 命令那样对数据库进行碎片整理,也不会重新打包各个数据库页面。", + "Either a text sender ID or a phone number in E.164 format if you want to be able to receive replies.": "如需可被回复,请输入发送者 ID 或 E.164 格式的手机号码。", + "Copy": "复制", + "Debug": "Debug", + "CopyToClipboardSuccess": "已复制!", + "CopyToClipboardError": "无法复制到剪贴板:{error}", + "CurlDebugInfoProxiesUnsupported": "上述 {curl} 命令中的代理支持目前尚未实现。", + "docker networks": "Docker 网络", + "dns resolvers": "DNS 解析器", + "firewalls": "防火墙", + "Message format": "消息格式", + "Send rich messages": "发送富文本消息", + "Sound": "声音", + "Notification Channel": "通知频道", + "Bubble": "Bubble(气泡)", + "Reveal": "Reveal(揭示)", + "Harp": "Harp(竖琴)", + "Correct": "Correct(成功音)", + "Fail": "Fail(失败音)", + "Arcade": "Arcade(拱廊)", + "Alphanumerical string and hyphens only": "仅限字母、数字和连字符(-)", + "Custom sound to override default notification sound": "自定义声音,用以覆盖默认通知声音", + "Pop": "Pop(流行音乐)", + "Guitar": "Guitar(吉他)", + "Elevator": "Elevator(电梯)", + "Clear": "Clear(清除声)", + "Scifi": "Scifi(科幻)", + "Flute": "Flute(长笛)", + "Doorbell": "Doorbell(门铃)", + "The phone number of the recipient in E.164 format.": "收件人的 E.164 格式电话号码。", + "Can be found on:": "可在此找到:{0}", + "From": "发件人", + "Time sensitive notifications will be delivered immediately, even if the device is in do not disturb mode.": "即使设备处于专注模式,即时通知也会立即发送。", + "Time Sensitive (iOS Only)": "即时通知(仅 iOS 可用)", + "Money": "Money(钱)", + "CurlDebugInfoOAuth2CCUnsupported": "{curl} 不支持完整的 oauth 客户端凭证流。{newline}请获取承载令牌(bearer token)并通过 {oauth2_bearer} 选项传递。", + "CurlDebugInfo": "要调试监控项,您可以将该命令粘贴到您自己的或 uptime kuma 正在运行的机器的命令行终端中,并查看结果。{newiline}请注意网络差异,例如 {firewalls}、{dns_resolvers} 或 {docker_networks}。", + "ignoredTLSError": "TLS/SSL 错误已被忽略" } From 79a26180af29890e9050100add2877872c821105 Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Wed, 23 Oct 2024 12:47:04 +0800 Subject: [PATCH 052/226] Verify language json files format (#5233) --- .github/workflows/json-yaml-validate.yml | 10 +++++++++ extra/check-lang-json.js | 27 ++++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 extra/check-lang-json.js diff --git a/.github/workflows/json-yaml-validate.yml b/.github/workflows/json-yaml-validate.yml index b6437ec49..7942884e3 100644 --- a/.github/workflows/json-yaml-validate.yml +++ b/.github/workflows/json-yaml-validate.yml @@ -25,3 +25,13 @@ jobs: with: comment: "true" # enable comment mode exclude_file: ".github/config/exclude.txt" # gitignore style file for exclusions + + check-lang-json: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Use Node.js 20 + uses: actions/setup-node@v4 + with: + node-version: 20 + - run: node ./extra/check-lang-json.js diff --git a/extra/check-lang-json.js b/extra/check-lang-json.js new file mode 100644 index 000000000..dfda34892 --- /dev/null +++ b/extra/check-lang-json.js @@ -0,0 +1,27 @@ +// For #5231 + +const fs = require("fs"); + +let path = "./src/lang"; + +// list directories in the lang directory +let jsonFileList = fs.readdirSync(path); + +for (let jsonFile of jsonFileList) { + if (!jsonFile.endsWith(".json")) { + continue; + } + + let jsonPath = path + "/" + jsonFile; + let originalContent = fs.readFileSync(jsonPath, "utf8"); + let langData = JSON.parse(originalContent); + + let formattedContent = JSON.stringify(langData, null, 4) + "\n"; + + if (originalContent !== formattedContent) { + console.error(`File ${jsonFile} is not formatted correctly.`); + process.exit(1); + } +} + +console.log("All lang json files are formatted correctly."); From 2470451f6de333b15514d0e63ece558f17a519cd Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Sat, 26 Oct 2024 20:47:38 +0800 Subject: [PATCH 053/226] Fix Apprise download issue (#5251) --- docker/debian-base.dockerfile | 15 +++++++-- extra/download-apprise.mjs | 57 +++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+), 2 deletions(-) create mode 100644 extra/download-apprise.mjs diff --git a/docker/debian-base.dockerfile b/docker/debian-base.dockerfile index 805504127..a17174371 100644 --- a/docker/debian-base.dockerfile +++ b/docker/debian-base.dockerfile @@ -1,3 +1,13 @@ +# Download Apprise deb package +FROM node:20-bookworm-slim AS download-apprise +WORKDIR /app +COPY ./extra/download-apprise.mjs ./download-apprise.mjs +RUN apt update && \ + apt --yes --no-install-recommends install curl && \ + npm install cheerio semver && \ + node ./download-apprise.mjs + +# Base Image (Slim) # If the image changed, the second stage image should be changed too FROM node:20-bookworm-slim AS base2-slim ARG TARGETPLATFORM @@ -27,8 +37,9 @@ RUN apt update && \ # apprise = for notifications (Install from the deb package, as the stable one is too old) (workaround for #4867) # Switching to testing repo is no longer working, as the testing repo is not bookworm anymore. # python3-paho-mqtt (#4859) -RUN curl http://ftp.debian.org/debian/pool/main/a/apprise/apprise_1.8.0-2_all.deb --output apprise.deb && \ - apt update && \ +# TODO: no idea how to delete the deb file after installation as it becomes a layer already +COPY --from=download-apprise /app/apprise.deb ./apprise.deb +RUN apt update && \ apt --yes --no-install-recommends install ./apprise.deb python3-paho-mqtt && \ rm -rf /var/lib/apt/lists/* && \ rm -f apprise.deb && \ diff --git a/extra/download-apprise.mjs b/extra/download-apprise.mjs new file mode 100644 index 000000000..3d31f7cf4 --- /dev/null +++ b/extra/download-apprise.mjs @@ -0,0 +1,57 @@ +// Go to http://ftp.debian.org/debian/pool/main/a/apprise/ using fetch api, where it is a apache directory listing page +// Use cheerio to parse the html and get the latest version of Apprise +// call curl to download the latest version of Apprise +// Target file: the latest version of Apprise, which the format is apprise_{VERSION}_all.deb + +import * as cheerio from "cheerio"; +import semver from "semver"; +import * as childProcess from "child_process"; + +const baseURL = "http://ftp.debian.org/debian/pool/main/a/apprise/"; +const response = await fetch(baseURL); + +if (!response.ok) { + throw new Error("Failed to fetch page of Apprise Debian repository."); +} + +const html = await response.text(); + +const $ = cheerio.load(html); + +// Get all the links in the page +const linkElements = $("a"); + +// Filter the links which match apprise_{VERSION}_all.deb +const links = []; +const pattern = /apprise_(.*?)_all.deb/; + +for (let i = 0; i < linkElements.length; i++) { + const link = linkElements[i]; + if (link.attribs.href.match(pattern) && !link.attribs.href.includes("~")) { + links.push({ + filename: link.attribs.href, + version: link.attribs.href.match(pattern)[1], + }); + } +} + +console.log(links); + +// semver compare and download +let latestLink = { + filename: "", + version: "0.0.0", +}; + +for (const link of links) { + if (semver.gt(link.version, latestLink.version)) { + latestLink = link; + } +} + +const downloadURL = baseURL + latestLink.filename; +console.log(`Downloading ${downloadURL}...`); +let result = childProcess.spawnSync("curl", [ downloadURL, "--output", "apprise.deb" ]); +console.log(result.stdout?.toString()); +console.error(result.stderr?.toString()); +process.exit(result.status !== null ? result.status : 1); From 4d779cfc69fea5bb8ae7d0eec24eeab07ade6950 Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Sat, 26 Oct 2024 20:50:29 +0800 Subject: [PATCH 054/226] Data migration and history retention for 2.0.0 (#5075) --- extra/reset-migrate-aggregate-table-state.js | 24 +++ package.json | 3 +- server/database.js | 163 +++++++++++++++++++ server/jobs/clear-old-data.js | 34 ++-- server/server.js | 16 +- server/uptime-calculator.js | 109 ++++++++----- 6 files changed, 292 insertions(+), 57 deletions(-) create mode 100644 extra/reset-migrate-aggregate-table-state.js diff --git a/extra/reset-migrate-aggregate-table-state.js b/extra/reset-migrate-aggregate-table-state.js new file mode 100644 index 000000000..e6c51fbd0 --- /dev/null +++ b/extra/reset-migrate-aggregate-table-state.js @@ -0,0 +1,24 @@ +const { R } = require("redbean-node"); +const Database = require("../server/database"); +const args = require("args-parser")(process.argv); +const { Settings } = require("../server/settings"); + +const main = async () => { + console.log("Connecting the database"); + Database.initDataDir(args); + await Database.connect(false, false, true); + + console.log("Deleting all data from aggregate tables"); + await R.exec("DELETE FROM stat_minutely"); + await R.exec("DELETE FROM stat_hourly"); + await R.exec("DELETE FROM stat_daily"); + + console.log("Resetting the aggregate table state"); + await Settings.set("migrateAggregateTableState", ""); + + await Database.close(); + console.log("Done"); +}; + +main(); + diff --git a/package.json b/package.json index 5186cafcf..2a28b8d4c 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,8 @@ "sort-contributors": "node extra/sort-contributors.js", "quick-run-nightly": "docker run --rm --env NODE_ENV=development -p 3001:3001 louislam/uptime-kuma:nightly2", "start-dev-container": "cd docker && docker-compose -f docker-compose-dev.yml up --force-recreate", - "rebase-pr-to-1.23.X": "node extra/rebase-pr.js 1.23.X" + "rebase-pr-to-1.23.X": "node extra/rebase-pr.js 1.23.X", + "reset-migrate-aggregate-table-state": "node extra/reset-migrate-aggregate-table-state.js" }, "dependencies": { "@grpc/grpc-js": "~1.8.22", diff --git a/server/database.js b/server/database.js index 3374aff9e..714c51ba3 100644 --- a/server/database.js +++ b/server/database.js @@ -6,6 +6,9 @@ const knex = require("knex"); const path = require("path"); const { EmbeddedMariaDB } = require("./embedded-mariadb"); const mysql = require("mysql2/promise"); +const { Settings } = require("./settings"); +const { UptimeCalculator } = require("./uptime-calculator"); +const dayjs = require("dayjs"); /** * Database & App Data Folder @@ -391,9 +394,23 @@ class Database { // https://knexjs.org/guide/migrations.html // https://gist.github.com/NigelEarle/70db130cc040cc2868555b29a0278261 try { + // Disable foreign key check for SQLite + // Known issue of knex: https://github.com/drizzle-team/drizzle-orm/issues/1813 + if (Database.dbConfig.type === "sqlite") { + await R.exec("PRAGMA foreign_keys = OFF"); + } + await R.knex.migrate.latest({ directory: Database.knexMigrationsPath, }); + + // Enable foreign key check for SQLite + if (Database.dbConfig.type === "sqlite") { + await R.exec("PRAGMA foreign_keys = ON"); + } + + await this.migrateAggregateTable(); + } catch (e) { // Allow missing patch files for downgrade or testing pr. if (e.message.includes("the following files are missing:")) { @@ -711,6 +728,152 @@ class Database { } } + /** + * Migrate the old data in the heartbeat table to the new format (stat_daily, stat_hourly, stat_minutely) + * It should be run once while upgrading V1 to V2 + * + * Normally, it should be in transaction, but UptimeCalculator wasn't designed to be in transaction before that. + * I don't want to heavily modify the UptimeCalculator, so it is not in transaction. + * Run `npm run reset-migrate-aggregate-table-state` to reset, in case the migration is interrupted. + * @returns {Promise} + */ + static async migrateAggregateTable() { + log.debug("db", "Enter Migrate Aggregate Table function"); + + // Add a setting for 2.0.0-dev users to skip this migration + if (process.env.SET_MIGRATE_AGGREGATE_TABLE_TO_TRUE === "1") { + log.warn("db", "SET_MIGRATE_AGGREGATE_TABLE_TO_TRUE is set to 1, skipping aggregate table migration forever (for 2.0.0-dev users)"); + await Settings.set("migrateAggregateTableState", "migrated"); + } + + let migrateState = await Settings.get("migrateAggregateTableState"); + + // Skip if already migrated + // If it is migrating, it possibly means the migration was interrupted, or the migration is in progress + if (migrateState === "migrated") { + log.debug("db", "Migrated aggregate table already, skip"); + return; + } else if (migrateState === "migrating") { + log.warn("db", "Aggregate table migration is already in progress, or it was interrupted"); + throw new Error("Aggregate table migration is already in progress"); + } + + await Settings.set("migrateAggregateTableState", "migrating"); + + log.info("db", "Migrating Aggregate Table"); + + log.info("db", "Getting list of unique monitors"); + + // Get a list of unique monitors from the heartbeat table, using raw sql + let monitors = await R.getAll(` + SELECT DISTINCT monitor_id + FROM heartbeat + ORDER BY monitor_id ASC + `); + + // Stop if stat_* tables are not empty + for (let table of [ "stat_minutely", "stat_hourly", "stat_daily" ]) { + let countResult = await R.getRow(`SELECT COUNT(*) AS count FROM ${table}`); + let count = countResult.count; + if (count > 0) { + log.warn("db", `Aggregate table ${table} is not empty, migration will not be started (Maybe you were using 2.0.0-dev?)`); + return; + } + } + + let progressPercent = 0; + let part = 100 / monitors.length; + let i = 1; + for (let monitor of monitors) { + // Get a list of unique dates from the heartbeat table, using raw sql + let dates = await R.getAll(` + SELECT DISTINCT DATE(time) AS date + FROM heartbeat + WHERE monitor_id = ? + ORDER BY date ASC + `, [ + monitor.monitor_id + ]); + + for (let date of dates) { + // New Uptime Calculator + let calculator = new UptimeCalculator(); + calculator.monitorID = monitor.monitor_id; + calculator.setMigrationMode(true); + + // Get all the heartbeats for this monitor and date + let heartbeats = await R.getAll(` + SELECT status, ping, time + FROM heartbeat + WHERE monitor_id = ? + AND DATE(time) = ? + ORDER BY time ASC + `, [ monitor.monitor_id, date.date ]); + + if (heartbeats.length > 0) { + log.info("db", `[DON'T STOP] Migrating monitor data ${monitor.monitor_id} - ${date.date} [${progressPercent.toFixed(2)}%][${i}/${monitors.length}]`); + } + + for (let heartbeat of heartbeats) { + await calculator.update(heartbeat.status, parseFloat(heartbeat.ping), dayjs(heartbeat.time)); + } + + progressPercent += (Math.round(part / dates.length * 100) / 100); + + // Lazy to fix the floating point issue, it is acceptable since it is just a progress bar + if (progressPercent > 100) { + progressPercent = 100; + } + } + + i++; + } + + await Database.clearHeartbeatData(true); + + await Settings.set("migrateAggregateTableState", "migrated"); + + if (monitors.length > 0) { + log.info("db", "Aggregate Table Migration Completed"); + } else { + log.info("db", "No data to migrate"); + } + } + + /** + * Remove all non-important heartbeats from heartbeat table, keep last 24-hour or {KEEP_LAST_ROWS} rows for each monitor + * @param {boolean} detailedLog Log detailed information + * @returns {Promise} + */ + static async clearHeartbeatData(detailedLog = false) { + let monitors = await R.getAll("SELECT id FROM monitor"); + const sqlHourOffset = Database.sqlHourOffset(); + + for (let monitor of monitors) { + if (detailedLog) { + log.info("db", "Deleting non-important heartbeats for monitor " + monitor.id); + } + await R.exec(` + DELETE FROM heartbeat + WHERE monitor_id = ? + AND important = 0 + AND time < ${sqlHourOffset} + AND id NOT IN ( + SELECT id + FROM heartbeat + WHERE monitor_id = ? + ORDER BY time DESC + LIMIT ? + ) + `, [ + monitor.id, + -24, + monitor.id, + 100, + ]); + } + } + } module.exports = Database; diff --git a/server/jobs/clear-old-data.js b/server/jobs/clear-old-data.js index 248a4d409..cfd65a8a8 100644 --- a/server/jobs/clear-old-data.js +++ b/server/jobs/clear-old-data.js @@ -1,21 +1,22 @@ const { R } = require("redbean-node"); const { log } = require("../../src/util"); -const { setSetting, setting } = require("../util-server"); const Database = require("../database"); +const { Settings } = require("../settings"); +const dayjs = require("dayjs"); -const DEFAULT_KEEP_PERIOD = 180; +const DEFAULT_KEEP_PERIOD = 365; /** - * Clears old data from the heartbeat table of the database. + * Clears old data from the heartbeat table and the stat_daily of the database. * @returns {Promise} A promise that resolves when the data has been cleared. */ - const clearOldData = async () => { - let period = await setting("keepDataPeriodDays"); + await Database.clearHeartbeatData(); + let period = await Settings.get("keepDataPeriodDays"); // Set Default Period if (period == null) { - await setSetting("keepDataPeriodDays", DEFAULT_KEEP_PERIOD, "general"); + await Settings.set("keepDataPeriodDays", DEFAULT_KEEP_PERIOD, "general"); period = DEFAULT_KEEP_PERIOD; } @@ -25,23 +26,28 @@ const clearOldData = async () => { parsedPeriod = parseInt(period); } catch (_) { log.warn("clearOldData", "Failed to parse setting, resetting to default.."); - await setSetting("keepDataPeriodDays", DEFAULT_KEEP_PERIOD, "general"); + await Settings.set("keepDataPeriodDays", DEFAULT_KEEP_PERIOD, "general"); parsedPeriod = DEFAULT_KEEP_PERIOD; } if (parsedPeriod < 1) { log.info("clearOldData", `Data deletion has been disabled as period is less than 1. Period is ${parsedPeriod} days.`); } else { - log.debug("clearOldData", `Clearing Data older than ${parsedPeriod} days...`); - const sqlHourOffset = Database.sqlHourOffset(); try { - await R.exec( - "DELETE FROM heartbeat WHERE time < " + sqlHourOffset, - [ parsedPeriod * -24 ] - ); + // Heartbeat + await R.exec("DELETE FROM heartbeat WHERE time < " + sqlHourOffset, [ + parsedPeriod * -24, + ]); + + let timestamp = dayjs().subtract(parsedPeriod, "day").utc().startOf("day").unix(); + + // stat_daily + await R.exec("DELETE FROM stat_daily WHERE timestamp < ? ", [ + timestamp, + ]); if (Database.dbConfig.type === "sqlite") { await R.exec("PRAGMA optimize;"); @@ -50,6 +56,8 @@ const clearOldData = async () => { log.error("clearOldData", `Failed to clear old data: ${e.message}`); } } + + log.debug("clearOldData", "Data cleared."); }; module.exports = { diff --git a/server/server.js b/server/server.js index c88daca88..7c46fa894 100644 --- a/server/server.js +++ b/server/server.js @@ -1604,18 +1604,20 @@ let needSetup = false; await server.start(); - server.httpServer.listen(port, hostname, () => { + server.httpServer.listen(port, hostname, async () => { if (hostname) { log.info("server", `Listening on ${hostname}:${port}`); } else { log.info("server", `Listening on ${port}`); } - startMonitors(); + await startMonitors(); + + // Put this here. Start background jobs after the db and server is ready to prevent clear up during db migration. + await initBackgroundJobs(); + checkVersion.startInterval(); }); - await initBackgroundJobs(); - // Start cloudflared at the end if configured await cloudflaredAutoStart(cloudflaredToken); @@ -1809,7 +1811,11 @@ async function startMonitors() { } for (let monitor of list) { - await monitor.start(io); + try { + await monitor.start(io); + } catch (e) { + log.error("monitor", e); + } // Give some delays, so all monitors won't make request at the same moment when just start the server. await sleep(getRandomInt(300, 1000)); } diff --git a/server/uptime-calculator.js b/server/uptime-calculator.js index f2738b96a..71d1d458c 100644 --- a/server/uptime-calculator.js +++ b/server/uptime-calculator.js @@ -12,7 +12,6 @@ class UptimeCalculator { * @private * @type {{string:UptimeCalculator}} */ - static list = {}; /** @@ -55,6 +54,15 @@ class UptimeCalculator { lastHourlyStatBean = null; lastMinutelyStatBean = null; + /** + * For migration purposes. + * @type {boolean} + */ + migrationMode = false; + + statMinutelyKeepHour = 24; + statHourlyKeepDay = 30; + /** * Get the uptime calculator for a monitor * Initializes and returns the monitor if it does not exist @@ -189,16 +197,19 @@ class UptimeCalculator { /** * @param {number} status status * @param {number} ping Ping + * @param {dayjs.Dayjs} date Date (Only for migration) * @returns {dayjs.Dayjs} date * @throws {Error} Invalid status */ - async update(status, ping = 0) { - let date = this.getCurrentDate(); + async update(status, ping = 0, date) { + if (!date) { + date = this.getCurrentDate(); + } let flatStatus = this.flatStatus(status); if (flatStatus === DOWN && ping > 0) { - log.warn("uptime-calc", "The ping is not effective when the status is DOWN"); + log.debug("uptime-calc", "The ping is not effective when the status is DOWN"); } let divisionKey = this.getMinutelyKey(date); @@ -297,47 +308,61 @@ class UptimeCalculator { } await R.store(dailyStatBean); - let hourlyStatBean = await this.getHourlyStatBean(hourlyKey); - hourlyStatBean.up = hourlyData.up; - hourlyStatBean.down = hourlyData.down; - hourlyStatBean.ping = hourlyData.avgPing; - hourlyStatBean.pingMin = hourlyData.minPing; - hourlyStatBean.pingMax = hourlyData.maxPing; - { - // eslint-disable-next-line no-unused-vars - const { up, down, avgPing, minPing, maxPing, timestamp, ...extras } = hourlyData; - if (Object.keys(extras).length > 0) { - hourlyStatBean.extras = JSON.stringify(extras); + let currentDate = this.getCurrentDate(); + + // For migration mode, we don't need to store old hourly and minutely data, but we need 30-day's hourly data + // Run anyway for non-migration mode + if (!this.migrationMode || date.isAfter(currentDate.subtract(this.statHourlyKeepDay, "day"))) { + let hourlyStatBean = await this.getHourlyStatBean(hourlyKey); + hourlyStatBean.up = hourlyData.up; + hourlyStatBean.down = hourlyData.down; + hourlyStatBean.ping = hourlyData.avgPing; + hourlyStatBean.pingMin = hourlyData.minPing; + hourlyStatBean.pingMax = hourlyData.maxPing; + { + // eslint-disable-next-line no-unused-vars + const { up, down, avgPing, minPing, maxPing, timestamp, ...extras } = hourlyData; + if (Object.keys(extras).length > 0) { + hourlyStatBean.extras = JSON.stringify(extras); + } } + await R.store(hourlyStatBean); } - await R.store(hourlyStatBean); - let minutelyStatBean = await this.getMinutelyStatBean(divisionKey); - minutelyStatBean.up = minutelyData.up; - minutelyStatBean.down = minutelyData.down; - minutelyStatBean.ping = minutelyData.avgPing; - minutelyStatBean.pingMin = minutelyData.minPing; - minutelyStatBean.pingMax = minutelyData.maxPing; - { - // eslint-disable-next-line no-unused-vars - const { up, down, avgPing, minPing, maxPing, timestamp, ...extras } = minutelyData; - if (Object.keys(extras).length > 0) { - minutelyStatBean.extras = JSON.stringify(extras); + // For migration mode, we don't need to store old hourly and minutely data, but we need 24-hour's minutely data + // Run anyway for non-migration mode + if (!this.migrationMode || date.isAfter(currentDate.subtract(this.statMinutelyKeepHour, "hour"))) { + let minutelyStatBean = await this.getMinutelyStatBean(divisionKey); + minutelyStatBean.up = minutelyData.up; + minutelyStatBean.down = minutelyData.down; + minutelyStatBean.ping = minutelyData.avgPing; + minutelyStatBean.pingMin = minutelyData.minPing; + minutelyStatBean.pingMax = minutelyData.maxPing; + { + // eslint-disable-next-line no-unused-vars + const { up, down, avgPing, minPing, maxPing, timestamp, ...extras } = minutelyData; + if (Object.keys(extras).length > 0) { + minutelyStatBean.extras = JSON.stringify(extras); + } } + await R.store(minutelyStatBean); } - await R.store(minutelyStatBean); - // Remove the old data - log.debug("uptime-calc", "Remove old data"); - await R.exec("DELETE FROM stat_minutely WHERE monitor_id = ? AND timestamp < ?", [ - this.monitorID, - this.getMinutelyKey(date.subtract(24, "hour")), - ]); + // No need to remove old data in migration mode + if (!this.migrationMode) { + // Remove the old data + // TODO: Improvement: Convert it to a job? + log.debug("uptime-calc", "Remove old data"); + await R.exec("DELETE FROM stat_minutely WHERE monitor_id = ? AND timestamp < ?", [ + this.monitorID, + this.getMinutelyKey(currentDate.subtract(this.statMinutelyKeepHour, "hour")), + ]); - await R.exec("DELETE FROM stat_hourly WHERE monitor_id = ? AND timestamp < ?", [ - this.monitorID, - this.getHourlyKey(date.subtract(30, "day")), - ]); + await R.exec("DELETE FROM stat_hourly WHERE monitor_id = ? AND timestamp < ?", [ + this.monitorID, + this.getHourlyKey(currentDate.subtract(this.statHourlyKeepDay, "day")), + ]); + } return date; } @@ -812,6 +837,14 @@ class UptimeCalculator { return dayjs.utc(); } + /** + * For migration purposes. + * @param {boolean} value Migration mode on/off + * @returns {void} + */ + setMigrationMode(value) { + this.migrationMode = value; + } } class UptimeDataResult { From 8f950a5145bbc26e1430ebb01fb2e6fd2a2ffc38 Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Sat, 26 Oct 2024 21:53:53 +0800 Subject: [PATCH 055/226] Update dependencies (#5252) --- package-lock.json | 4172 ++++++++++++++++++++------------------------- 1 file changed, 1833 insertions(+), 2339 deletions(-) diff --git a/package-lock.json b/package-lock.json index 24f63d036..a3c5dc237 100644 --- a/package-lock.json +++ b/package-lock.json @@ -338,51 +338,51 @@ } }, "node_modules/@aws-sdk/client-cognito-identity": { - "version": "3.658.1", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.658.1.tgz", - "integrity": "sha512-MCYLKmNy0FlNT9TvXfOxj0jh+ZQq+G9qEy/VZqu3JsQSgiFvFRdzgzcbQ9gQx7fZrDC/TPdABOTh483zI4cu9g==", + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.679.0.tgz", + "integrity": "sha512-vJzQ6QpaMu8itJMe3FH1/0rwMjL0ELh63iLTxiAmhiV/SvCwNNoSFLd2HdKxbV0Bg/x8lUiPVq3pl6+cxaIrEQ==", "license": "Apache-2.0", "optional": true, "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/client-sso-oidc": "3.658.1", - "@aws-sdk/client-sts": "3.658.1", - "@aws-sdk/core": "3.658.1", - "@aws-sdk/credential-provider-node": "3.658.1", - "@aws-sdk/middleware-host-header": "3.654.0", - "@aws-sdk/middleware-logger": "3.654.0", - "@aws-sdk/middleware-recursion-detection": "3.654.0", - "@aws-sdk/middleware-user-agent": "3.654.0", - "@aws-sdk/region-config-resolver": "3.654.0", - "@aws-sdk/types": "3.654.0", - "@aws-sdk/util-endpoints": "3.654.0", - "@aws-sdk/util-user-agent-browser": "3.654.0", - "@aws-sdk/util-user-agent-node": "3.654.0", - "@smithy/config-resolver": "^3.0.8", - "@smithy/core": "^2.4.6", - "@smithy/fetch-http-handler": "^3.2.8", - "@smithy/hash-node": "^3.0.6", - "@smithy/invalid-dependency": "^3.0.6", - "@smithy/middleware-content-length": "^3.0.8", - "@smithy/middleware-endpoint": "^3.1.3", - "@smithy/middleware-retry": "^3.0.21", - "@smithy/middleware-serde": "^3.0.6", - "@smithy/middleware-stack": "^3.0.6", - "@smithy/node-config-provider": "^3.1.7", - "@smithy/node-http-handler": "^3.2.3", - "@smithy/protocol-http": "^4.1.3", - "@smithy/smithy-client": "^3.3.5", - "@smithy/types": "^3.4.2", - "@smithy/url-parser": "^3.0.6", + "@aws-sdk/client-sso-oidc": "3.679.0", + "@aws-sdk/client-sts": "3.679.0", + "@aws-sdk/core": "3.679.0", + "@aws-sdk/credential-provider-node": "3.679.0", + "@aws-sdk/middleware-host-header": "3.679.0", + "@aws-sdk/middleware-logger": "3.679.0", + "@aws-sdk/middleware-recursion-detection": "3.679.0", + "@aws-sdk/middleware-user-agent": "3.679.0", + "@aws-sdk/region-config-resolver": "3.679.0", + "@aws-sdk/types": "3.679.0", + "@aws-sdk/util-endpoints": "3.679.0", + "@aws-sdk/util-user-agent-browser": "3.679.0", + "@aws-sdk/util-user-agent-node": "3.679.0", + "@smithy/config-resolver": "^3.0.9", + "@smithy/core": "^2.4.8", + "@smithy/fetch-http-handler": "^3.2.9", + "@smithy/hash-node": "^3.0.7", + "@smithy/invalid-dependency": "^3.0.7", + "@smithy/middleware-content-length": "^3.0.9", + "@smithy/middleware-endpoint": "^3.1.4", + "@smithy/middleware-retry": "^3.0.23", + "@smithy/middleware-serde": "^3.0.7", + "@smithy/middleware-stack": "^3.0.7", + "@smithy/node-config-provider": "^3.1.8", + "@smithy/node-http-handler": "^3.2.4", + "@smithy/protocol-http": "^4.1.4", + "@smithy/smithy-client": "^3.4.0", + "@smithy/types": "^3.5.0", + "@smithy/url-parser": "^3.0.7", "@smithy/util-base64": "^3.0.0", "@smithy/util-body-length-browser": "^3.0.0", "@smithy/util-body-length-node": "^3.0.0", - "@smithy/util-defaults-mode-browser": "^3.0.21", - "@smithy/util-defaults-mode-node": "^3.0.21", - "@smithy/util-endpoints": "^2.1.2", - "@smithy/util-middleware": "^3.0.6", - "@smithy/util-retry": "^3.0.6", + "@smithy/util-defaults-mode-browser": "^3.0.23", + "@smithy/util-defaults-mode-node": "^3.0.23", + "@smithy/util-endpoints": "^2.1.3", + "@smithy/util-middleware": "^3.0.7", + "@smithy/util-retry": "^3.0.7", "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" }, @@ -391,48 +391,48 @@ } }, "node_modules/@aws-sdk/client-sso": { - "version": "3.658.1", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.658.1.tgz", - "integrity": "sha512-lOuaBtqPTYGn6xpXlQF4LsNDsQ8Ij2kOdnk+i69Kp6yS76TYvtUuukyLL5kx8zE1c8WbYtxj9y8VNw9/6uKl7Q==", + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.679.0.tgz", + "integrity": "sha512-/0cAvYnpOZTo/Y961F1kx2fhDDLUYZ0SQQ5/75gh3xVImLj7Zw+vp74ieqFbqWLYGMaq8z1Arr9A8zG95mbLdg==", "license": "Apache-2.0", "optional": true, "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "3.658.1", - "@aws-sdk/middleware-host-header": "3.654.0", - "@aws-sdk/middleware-logger": "3.654.0", - "@aws-sdk/middleware-recursion-detection": "3.654.0", - "@aws-sdk/middleware-user-agent": "3.654.0", - "@aws-sdk/region-config-resolver": "3.654.0", - "@aws-sdk/types": "3.654.0", - "@aws-sdk/util-endpoints": "3.654.0", - "@aws-sdk/util-user-agent-browser": "3.654.0", - "@aws-sdk/util-user-agent-node": "3.654.0", - "@smithy/config-resolver": "^3.0.8", - "@smithy/core": "^2.4.6", - "@smithy/fetch-http-handler": "^3.2.8", - "@smithy/hash-node": "^3.0.6", - "@smithy/invalid-dependency": "^3.0.6", - "@smithy/middleware-content-length": "^3.0.8", - "@smithy/middleware-endpoint": "^3.1.3", - "@smithy/middleware-retry": "^3.0.21", - "@smithy/middleware-serde": "^3.0.6", - "@smithy/middleware-stack": "^3.0.6", - "@smithy/node-config-provider": "^3.1.7", - "@smithy/node-http-handler": "^3.2.3", - "@smithy/protocol-http": "^4.1.3", - "@smithy/smithy-client": "^3.3.5", - "@smithy/types": "^3.4.2", - "@smithy/url-parser": "^3.0.6", + "@aws-sdk/core": "3.679.0", + "@aws-sdk/middleware-host-header": "3.679.0", + "@aws-sdk/middleware-logger": "3.679.0", + "@aws-sdk/middleware-recursion-detection": "3.679.0", + "@aws-sdk/middleware-user-agent": "3.679.0", + "@aws-sdk/region-config-resolver": "3.679.0", + "@aws-sdk/types": "3.679.0", + "@aws-sdk/util-endpoints": "3.679.0", + "@aws-sdk/util-user-agent-browser": "3.679.0", + "@aws-sdk/util-user-agent-node": "3.679.0", + "@smithy/config-resolver": "^3.0.9", + "@smithy/core": "^2.4.8", + "@smithy/fetch-http-handler": "^3.2.9", + "@smithy/hash-node": "^3.0.7", + "@smithy/invalid-dependency": "^3.0.7", + "@smithy/middleware-content-length": "^3.0.9", + "@smithy/middleware-endpoint": "^3.1.4", + "@smithy/middleware-retry": "^3.0.23", + "@smithy/middleware-serde": "^3.0.7", + "@smithy/middleware-stack": "^3.0.7", + "@smithy/node-config-provider": "^3.1.8", + "@smithy/node-http-handler": "^3.2.4", + "@smithy/protocol-http": "^4.1.4", + "@smithy/smithy-client": "^3.4.0", + "@smithy/types": "^3.5.0", + "@smithy/url-parser": "^3.0.7", "@smithy/util-base64": "^3.0.0", "@smithy/util-body-length-browser": "^3.0.0", "@smithy/util-body-length-node": "^3.0.0", - "@smithy/util-defaults-mode-browser": "^3.0.21", - "@smithy/util-defaults-mode-node": "^3.0.21", - "@smithy/util-endpoints": "^2.1.2", - "@smithy/util-middleware": "^3.0.6", - "@smithy/util-retry": "^3.0.6", + "@smithy/util-defaults-mode-browser": "^3.0.23", + "@smithy/util-defaults-mode-node": "^3.0.23", + "@smithy/util-endpoints": "^2.1.3", + "@smithy/util-middleware": "^3.0.7", + "@smithy/util-retry": "^3.0.7", "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" }, @@ -441,49 +441,49 @@ } }, "node_modules/@aws-sdk/client-sso-oidc": { - "version": "3.658.1", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.658.1.tgz", - "integrity": "sha512-RGcZAI3qEA05JszPKwa0cAyp8rnS1nUvs0Sqw4hqLNQ1kD7b7V6CPjRXe7EFQqCOMvM4kGqx0+cEEVTOmBsFLw==", + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.679.0.tgz", + "integrity": "sha512-/dBYWcCwbA/id4sFCIVZvf0UsvzHCC68SryxeNQk/PDkY9N4n5yRcMUkZDaEyQCjowc3kY4JOXp2AdUP037nhA==", "license": "Apache-2.0", "optional": true, "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "3.658.1", - "@aws-sdk/credential-provider-node": "3.658.1", - "@aws-sdk/middleware-host-header": "3.654.0", - "@aws-sdk/middleware-logger": "3.654.0", - "@aws-sdk/middleware-recursion-detection": "3.654.0", - "@aws-sdk/middleware-user-agent": "3.654.0", - "@aws-sdk/region-config-resolver": "3.654.0", - "@aws-sdk/types": "3.654.0", - "@aws-sdk/util-endpoints": "3.654.0", - "@aws-sdk/util-user-agent-browser": "3.654.0", - "@aws-sdk/util-user-agent-node": "3.654.0", - "@smithy/config-resolver": "^3.0.8", - "@smithy/core": "^2.4.6", - "@smithy/fetch-http-handler": "^3.2.8", - "@smithy/hash-node": "^3.0.6", - "@smithy/invalid-dependency": "^3.0.6", - "@smithy/middleware-content-length": "^3.0.8", - "@smithy/middleware-endpoint": "^3.1.3", - "@smithy/middleware-retry": "^3.0.21", - "@smithy/middleware-serde": "^3.0.6", - "@smithy/middleware-stack": "^3.0.6", - "@smithy/node-config-provider": "^3.1.7", - "@smithy/node-http-handler": "^3.2.3", - "@smithy/protocol-http": "^4.1.3", - "@smithy/smithy-client": "^3.3.5", - "@smithy/types": "^3.4.2", - "@smithy/url-parser": "^3.0.6", + "@aws-sdk/core": "3.679.0", + "@aws-sdk/credential-provider-node": "3.679.0", + "@aws-sdk/middleware-host-header": "3.679.0", + "@aws-sdk/middleware-logger": "3.679.0", + "@aws-sdk/middleware-recursion-detection": "3.679.0", + "@aws-sdk/middleware-user-agent": "3.679.0", + "@aws-sdk/region-config-resolver": "3.679.0", + "@aws-sdk/types": "3.679.0", + "@aws-sdk/util-endpoints": "3.679.0", + "@aws-sdk/util-user-agent-browser": "3.679.0", + "@aws-sdk/util-user-agent-node": "3.679.0", + "@smithy/config-resolver": "^3.0.9", + "@smithy/core": "^2.4.8", + "@smithy/fetch-http-handler": "^3.2.9", + "@smithy/hash-node": "^3.0.7", + "@smithy/invalid-dependency": "^3.0.7", + "@smithy/middleware-content-length": "^3.0.9", + "@smithy/middleware-endpoint": "^3.1.4", + "@smithy/middleware-retry": "^3.0.23", + "@smithy/middleware-serde": "^3.0.7", + "@smithy/middleware-stack": "^3.0.7", + "@smithy/node-config-provider": "^3.1.8", + "@smithy/node-http-handler": "^3.2.4", + "@smithy/protocol-http": "^4.1.4", + "@smithy/smithy-client": "^3.4.0", + "@smithy/types": "^3.5.0", + "@smithy/url-parser": "^3.0.7", "@smithy/util-base64": "^3.0.0", "@smithy/util-body-length-browser": "^3.0.0", "@smithy/util-body-length-node": "^3.0.0", - "@smithy/util-defaults-mode-browser": "^3.0.21", - "@smithy/util-defaults-mode-node": "^3.0.21", - "@smithy/util-endpoints": "^2.1.2", - "@smithy/util-middleware": "^3.0.6", - "@smithy/util-retry": "^3.0.6", + "@smithy/util-defaults-mode-browser": "^3.0.23", + "@smithy/util-defaults-mode-node": "^3.0.23", + "@smithy/util-endpoints": "^2.1.3", + "@smithy/util-middleware": "^3.0.7", + "@smithy/util-retry": "^3.0.7", "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" }, @@ -491,54 +491,54 @@ "node": ">=16.0.0" }, "peerDependencies": { - "@aws-sdk/client-sts": "^3.658.1" + "@aws-sdk/client-sts": "^3.679.0" } }, "node_modules/@aws-sdk/client-sts": { - "version": "3.658.1", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.658.1.tgz", - "integrity": "sha512-yw9hc5blTnbT1V6mR7Cx9HGc9KQpcLQ1QXj8rntiJi6tIYu3aFNVEyy81JHL7NsuBSeQulJTvHO3y6r3O0sfRg==", + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.679.0.tgz", + "integrity": "sha512-3CvrT8w1RjFu1g8vKA5Azfr5V83r2/b68Ock43WE003Bq/5Y38mwmYX7vk0fPHzC3qejt4YMAWk/C3fSKOy25g==", "license": "Apache-2.0", "optional": true, "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/client-sso-oidc": "3.658.1", - "@aws-sdk/core": "3.658.1", - "@aws-sdk/credential-provider-node": "3.658.1", - "@aws-sdk/middleware-host-header": "3.654.0", - "@aws-sdk/middleware-logger": "3.654.0", - "@aws-sdk/middleware-recursion-detection": "3.654.0", - "@aws-sdk/middleware-user-agent": "3.654.0", - "@aws-sdk/region-config-resolver": "3.654.0", - "@aws-sdk/types": "3.654.0", - "@aws-sdk/util-endpoints": "3.654.0", - "@aws-sdk/util-user-agent-browser": "3.654.0", - "@aws-sdk/util-user-agent-node": "3.654.0", - "@smithy/config-resolver": "^3.0.8", - "@smithy/core": "^2.4.6", - "@smithy/fetch-http-handler": "^3.2.8", - "@smithy/hash-node": "^3.0.6", - "@smithy/invalid-dependency": "^3.0.6", - "@smithy/middleware-content-length": "^3.0.8", - "@smithy/middleware-endpoint": "^3.1.3", - "@smithy/middleware-retry": "^3.0.21", - "@smithy/middleware-serde": "^3.0.6", - "@smithy/middleware-stack": "^3.0.6", - "@smithy/node-config-provider": "^3.1.7", - "@smithy/node-http-handler": "^3.2.3", - "@smithy/protocol-http": "^4.1.3", - "@smithy/smithy-client": "^3.3.5", - "@smithy/types": "^3.4.2", - "@smithy/url-parser": "^3.0.6", + "@aws-sdk/client-sso-oidc": "3.679.0", + "@aws-sdk/core": "3.679.0", + "@aws-sdk/credential-provider-node": "3.679.0", + "@aws-sdk/middleware-host-header": "3.679.0", + "@aws-sdk/middleware-logger": "3.679.0", + "@aws-sdk/middleware-recursion-detection": "3.679.0", + "@aws-sdk/middleware-user-agent": "3.679.0", + "@aws-sdk/region-config-resolver": "3.679.0", + "@aws-sdk/types": "3.679.0", + "@aws-sdk/util-endpoints": "3.679.0", + "@aws-sdk/util-user-agent-browser": "3.679.0", + "@aws-sdk/util-user-agent-node": "3.679.0", + "@smithy/config-resolver": "^3.0.9", + "@smithy/core": "^2.4.8", + "@smithy/fetch-http-handler": "^3.2.9", + "@smithy/hash-node": "^3.0.7", + "@smithy/invalid-dependency": "^3.0.7", + "@smithy/middleware-content-length": "^3.0.9", + "@smithy/middleware-endpoint": "^3.1.4", + "@smithy/middleware-retry": "^3.0.23", + "@smithy/middleware-serde": "^3.0.7", + "@smithy/middleware-stack": "^3.0.7", + "@smithy/node-config-provider": "^3.1.8", + "@smithy/node-http-handler": "^3.2.4", + "@smithy/protocol-http": "^4.1.4", + "@smithy/smithy-client": "^3.4.0", + "@smithy/types": "^3.5.0", + "@smithy/url-parser": "^3.0.7", "@smithy/util-base64": "^3.0.0", "@smithy/util-body-length-browser": "^3.0.0", "@smithy/util-body-length-node": "^3.0.0", - "@smithy/util-defaults-mode-browser": "^3.0.21", - "@smithy/util-defaults-mode-node": "^3.0.21", - "@smithy/util-endpoints": "^2.1.2", - "@smithy/util-middleware": "^3.0.6", - "@smithy/util-retry": "^3.0.6", + "@smithy/util-defaults-mode-browser": "^3.0.23", + "@smithy/util-defaults-mode-node": "^3.0.23", + "@smithy/util-endpoints": "^2.1.3", + "@smithy/util-middleware": "^3.0.7", + "@smithy/util-retry": "^3.0.7", "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" }, @@ -547,20 +547,21 @@ } }, "node_modules/@aws-sdk/core": { - "version": "3.658.1", - "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.658.1.tgz", - "integrity": "sha512-vJVMoMcSKXK2gBRSu9Ywwv6wQ7tXH8VL1fqB1uVxgCqBZ3IHfqNn4zvpMPWrwgO2/3wv7XFyikGQ5ypPTCw4jA==", + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.679.0.tgz", + "integrity": "sha512-CS6PWGX8l4v/xyvX8RtXnBisdCa5+URzKd0L6GvHChype9qKUVxO/Gg6N/y43Hvg7MNWJt9FBPNWIxUB+byJwg==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/core": "^2.4.6", - "@smithy/node-config-provider": "^3.1.7", - "@smithy/property-provider": "^3.1.6", - "@smithy/protocol-http": "^4.1.3", - "@smithy/signature-v4": "^4.1.4", - "@smithy/smithy-client": "^3.3.5", - "@smithy/types": "^3.4.2", - "@smithy/util-middleware": "^3.0.6", + "@aws-sdk/types": "3.679.0", + "@smithy/core": "^2.4.8", + "@smithy/node-config-provider": "^3.1.8", + "@smithy/property-provider": "^3.1.7", + "@smithy/protocol-http": "^4.1.4", + "@smithy/signature-v4": "^4.2.0", + "@smithy/smithy-client": "^3.4.0", + "@smithy/types": "^3.5.0", + "@smithy/util-middleware": "^3.0.7", "fast-xml-parser": "4.4.1", "tslib": "^2.6.2" }, @@ -569,16 +570,16 @@ } }, "node_modules/@aws-sdk/credential-provider-cognito-identity": { - "version": "3.658.1", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.658.1.tgz", - "integrity": "sha512-JY4rZ4e2emL7PNHCU7F/BQV8PpQGEBZLkEoPD55RO4CitaIhlVZRpUCGLih+0Hw4MOnTUqJdfQBM+qZk6G+Now==", + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.679.0.tgz", + "integrity": "sha512-XvWd6RPk7TA7tmqITT+NXvJ6ltJP8BUtLO1NAvja4HKExPKR9HAyoOeeH7KM3lVRED4e4LUnLb3fzteH20IXaA==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/client-cognito-identity": "3.658.1", - "@aws-sdk/types": "3.654.0", - "@smithy/property-provider": "^3.1.6", - "@smithy/types": "^3.4.2", + "@aws-sdk/client-cognito-identity": "3.679.0", + "@aws-sdk/types": "3.679.0", + "@smithy/property-provider": "^3.1.7", + "@smithy/types": "^3.5.0", "tslib": "^2.6.2" }, "engines": { @@ -586,15 +587,16 @@ } }, "node_modules/@aws-sdk/credential-provider-env": { - "version": "3.654.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.654.0.tgz", - "integrity": "sha512-kogsx3Ql81JouHS7DkheCDU9MYAvK0AokxjcshDveGmf7BbgbWCA8Fnb9wjQyNDaOXNvkZu8Z8rgkX91z324/w==", + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.679.0.tgz", + "integrity": "sha512-EdlTYbzMm3G7VUNAMxr9S1nC1qUNqhKlAxFU8E7cKsAe8Bp29CD5HAs3POc56AVo9GC4yRIS+/mtlZSmrckzUA==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/types": "3.654.0", - "@smithy/property-provider": "^3.1.6", - "@smithy/types": "^3.4.2", + "@aws-sdk/core": "3.679.0", + "@aws-sdk/types": "3.679.0", + "@smithy/property-provider": "^3.1.7", + "@smithy/types": "^3.5.0", "tslib": "^2.6.2" }, "engines": { @@ -602,20 +604,21 @@ } }, "node_modules/@aws-sdk/credential-provider-http": { - "version": "3.658.1", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.658.1.tgz", - "integrity": "sha512-4ubkJjEVCZflxkZnV1JDQv8P2pburxk1LrEp55telfJRzXrnowzBKwuV2ED0QMNC448g2B3VCaffS+Ct7c4IWQ==", + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.679.0.tgz", + "integrity": "sha512-ZoKLubW5DqqV1/2a3TSn+9sSKg0T8SsYMt1JeirnuLJF0mCoYFUaWMyvxxKuxPoqvUsaycxKru4GkpJ10ltNBw==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/types": "3.654.0", - "@smithy/fetch-http-handler": "^3.2.8", - "@smithy/node-http-handler": "^3.2.3", - "@smithy/property-provider": "^3.1.6", - "@smithy/protocol-http": "^4.1.3", - "@smithy/smithy-client": "^3.3.5", - "@smithy/types": "^3.4.2", - "@smithy/util-stream": "^3.1.8", + "@aws-sdk/core": "3.679.0", + "@aws-sdk/types": "3.679.0", + "@smithy/fetch-http-handler": "^3.2.9", + "@smithy/node-http-handler": "^3.2.4", + "@smithy/property-provider": "^3.1.7", + "@smithy/protocol-http": "^4.1.4", + "@smithy/smithy-client": "^3.4.0", + "@smithy/types": "^3.5.0", + "@smithy/util-stream": "^3.1.9", "tslib": "^2.6.2" }, "engines": { @@ -623,49 +626,50 @@ } }, "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.658.1", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.658.1.tgz", - "integrity": "sha512-2uwOamQg5ppwfegwen1ddPu5HM3/IBSnaGlaKLFhltkdtZ0jiqTZWUtX2V+4Q+buLnT0hQvLS/frQ+7QUam+0Q==", + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.679.0.tgz", + "integrity": "sha512-Rg7t8RwUzKcumpipG4neZqaeJ6DF+Bco1+FHn5BZB68jpvwvjBjcQUuWkxj18B6ctYHr1fkunnzeKEn/+vy7+w==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/credential-provider-env": "3.654.0", - "@aws-sdk/credential-provider-http": "3.658.1", - "@aws-sdk/credential-provider-process": "3.654.0", - "@aws-sdk/credential-provider-sso": "3.658.1", - "@aws-sdk/credential-provider-web-identity": "3.654.0", - "@aws-sdk/types": "3.654.0", - "@smithy/credential-provider-imds": "^3.2.3", - "@smithy/property-provider": "^3.1.6", - "@smithy/shared-ini-file-loader": "^3.1.7", - "@smithy/types": "^3.4.2", + "@aws-sdk/core": "3.679.0", + "@aws-sdk/credential-provider-env": "3.679.0", + "@aws-sdk/credential-provider-http": "3.679.0", + "@aws-sdk/credential-provider-process": "3.679.0", + "@aws-sdk/credential-provider-sso": "3.679.0", + "@aws-sdk/credential-provider-web-identity": "3.679.0", + "@aws-sdk/types": "3.679.0", + "@smithy/credential-provider-imds": "^3.2.4", + "@smithy/property-provider": "^3.1.7", + "@smithy/shared-ini-file-loader": "^3.1.8", + "@smithy/types": "^3.5.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" }, "peerDependencies": { - "@aws-sdk/client-sts": "^3.658.1" + "@aws-sdk/client-sts": "^3.679.0" } }, "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.658.1", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.658.1.tgz", - "integrity": "sha512-XwxW6N+uPXPYAuyq+GfOEdfL/MZGAlCSfB5gEWtLBFmFbikhmEuqfWtI6CD60OwudCUOh6argd21BsJf8o1SJA==", + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.679.0.tgz", + "integrity": "sha512-E3lBtaqCte8tWs6Rkssc8sLzvGoJ10TLGvpkijOlz43wPd6xCRh1YLwg6zolf9fVFtEyUs/GsgymiASOyxhFtw==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/credential-provider-env": "3.654.0", - "@aws-sdk/credential-provider-http": "3.658.1", - "@aws-sdk/credential-provider-ini": "3.658.1", - "@aws-sdk/credential-provider-process": "3.654.0", - "@aws-sdk/credential-provider-sso": "3.658.1", - "@aws-sdk/credential-provider-web-identity": "3.654.0", - "@aws-sdk/types": "3.654.0", - "@smithy/credential-provider-imds": "^3.2.3", - "@smithy/property-provider": "^3.1.6", - "@smithy/shared-ini-file-loader": "^3.1.7", - "@smithy/types": "^3.4.2", + "@aws-sdk/credential-provider-env": "3.679.0", + "@aws-sdk/credential-provider-http": "3.679.0", + "@aws-sdk/credential-provider-ini": "3.679.0", + "@aws-sdk/credential-provider-process": "3.679.0", + "@aws-sdk/credential-provider-sso": "3.679.0", + "@aws-sdk/credential-provider-web-identity": "3.679.0", + "@aws-sdk/types": "3.679.0", + "@smithy/credential-provider-imds": "^3.2.4", + "@smithy/property-provider": "^3.1.7", + "@smithy/shared-ini-file-loader": "^3.1.8", + "@smithy/types": "^3.5.0", "tslib": "^2.6.2" }, "engines": { @@ -673,16 +677,17 @@ } }, "node_modules/@aws-sdk/credential-provider-process": { - "version": "3.654.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.654.0.tgz", - "integrity": "sha512-PmQoo8sZ9Q2Ow8OMzK++Z9lI7MsRUG7sNq3E72DVA215dhtTICTDQwGlXH2AAmIp7n+G9LLRds+4wo2ehG4mkg==", + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.679.0.tgz", + "integrity": "sha512-u/p4TV8kQ0zJWDdZD4+vdQFTMhkDEJFws040Gm113VHa/Xo1SYOjbpvqeuFoz6VmM0bLvoOWjxB9MxnSQbwKpQ==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/types": "3.654.0", - "@smithy/property-provider": "^3.1.6", - "@smithy/shared-ini-file-loader": "^3.1.7", - "@smithy/types": "^3.4.2", + "@aws-sdk/core": "3.679.0", + "@aws-sdk/types": "3.679.0", + "@smithy/property-provider": "^3.1.7", + "@smithy/shared-ini-file-loader": "^3.1.8", + "@smithy/types": "^3.5.0", "tslib": "^2.6.2" }, "engines": { @@ -690,18 +695,19 @@ } }, "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.658.1", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.658.1.tgz", - "integrity": "sha512-YOagVEsZEk9DmgJEBg+4MBXrPcw/tYas0VQ5OVBqC5XHNbi2OBGJqgmjVPesuu393E7W0VQxtJFDS00O1ewQgA==", + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.679.0.tgz", + "integrity": "sha512-SAtWonhi9asxn0ukEbcE81jkyanKgqpsrtskvYPpO9Z9KOednM4Cqt6h1bfcS9zaHjN2zu815Gv8O7WiV+F/DQ==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/client-sso": "3.658.1", - "@aws-sdk/token-providers": "3.654.0", - "@aws-sdk/types": "3.654.0", - "@smithy/property-provider": "^3.1.6", - "@smithy/shared-ini-file-loader": "^3.1.7", - "@smithy/types": "^3.4.2", + "@aws-sdk/client-sso": "3.679.0", + "@aws-sdk/core": "3.679.0", + "@aws-sdk/token-providers": "3.679.0", + "@aws-sdk/types": "3.679.0", + "@smithy/property-provider": "^3.1.7", + "@smithy/shared-ini-file-loader": "^3.1.8", + "@smithy/types": "^3.5.0", "tslib": "^2.6.2" }, "engines": { @@ -709,46 +715,48 @@ } }, "node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.654.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.654.0.tgz", - "integrity": "sha512-6a2g9gMtZToqSu+CusjNK5zvbLJahQ9di7buO3iXgbizXpLXU1rnawCpWxwslMpT5fLgMSKDnKDrr6wdEk7jSw==", + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.679.0.tgz", + "integrity": "sha512-a74tLccVznXCaBefWPSysUcLXYJiSkeUmQGtalNgJ1vGkE36W5l/8czFiiowdWdKWz7+x6xf0w+Kjkjlj42Ung==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/types": "3.654.0", - "@smithy/property-provider": "^3.1.6", - "@smithy/types": "^3.4.2", + "@aws-sdk/core": "3.679.0", + "@aws-sdk/types": "3.679.0", + "@smithy/property-provider": "^3.1.7", + "@smithy/types": "^3.5.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" }, "peerDependencies": { - "@aws-sdk/client-sts": "^3.654.0" + "@aws-sdk/client-sts": "^3.679.0" } }, "node_modules/@aws-sdk/credential-providers": { - "version": "3.658.1", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.658.1.tgz", - "integrity": "sha512-lfXA6kZS6GHyi/67EbfrKdLoqHR6j7G35eFwaqxyNkfMhNBpAF0eZK3SYiwnzdR9+Wb/enTFawYiFbG5R+dQzA==", + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.679.0.tgz", + "integrity": "sha512-ZjZZb6OERw/UKlSqcJ24AUJIf/ekDLPZrPpo0kPMV70EQ0GkBiklIZ8qULu9bEcI2I4UIapBKRiXTrK4gA6YHg==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/client-cognito-identity": "3.658.1", - "@aws-sdk/client-sso": "3.658.1", - "@aws-sdk/client-sts": "3.658.1", - "@aws-sdk/credential-provider-cognito-identity": "3.658.1", - "@aws-sdk/credential-provider-env": "3.654.0", - "@aws-sdk/credential-provider-http": "3.658.1", - "@aws-sdk/credential-provider-ini": "3.658.1", - "@aws-sdk/credential-provider-node": "3.658.1", - "@aws-sdk/credential-provider-process": "3.654.0", - "@aws-sdk/credential-provider-sso": "3.658.1", - "@aws-sdk/credential-provider-web-identity": "3.654.0", - "@aws-sdk/types": "3.654.0", - "@smithy/credential-provider-imds": "^3.2.3", - "@smithy/property-provider": "^3.1.6", - "@smithy/types": "^3.4.2", + "@aws-sdk/client-cognito-identity": "3.679.0", + "@aws-sdk/client-sso": "3.679.0", + "@aws-sdk/client-sts": "3.679.0", + "@aws-sdk/core": "3.679.0", + "@aws-sdk/credential-provider-cognito-identity": "3.679.0", + "@aws-sdk/credential-provider-env": "3.679.0", + "@aws-sdk/credential-provider-http": "3.679.0", + "@aws-sdk/credential-provider-ini": "3.679.0", + "@aws-sdk/credential-provider-node": "3.679.0", + "@aws-sdk/credential-provider-process": "3.679.0", + "@aws-sdk/credential-provider-sso": "3.679.0", + "@aws-sdk/credential-provider-web-identity": "3.679.0", + "@aws-sdk/types": "3.679.0", + "@smithy/credential-provider-imds": "^3.2.4", + "@smithy/property-provider": "^3.1.7", + "@smithy/types": "^3.5.0", "tslib": "^2.6.2" }, "engines": { @@ -756,15 +764,15 @@ } }, "node_modules/@aws-sdk/middleware-host-header": { - "version": "3.654.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.654.0.tgz", - "integrity": "sha512-rxGgVHWKp8U2ubMv+t+vlIk7QYUaRCHaVpmUlJv0Wv6Q0KeO9a42T9FxHphjOTlCGQOLcjCreL9CF8Qhtb4mdQ==", + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.679.0.tgz", + "integrity": "sha512-y176HuQ8JRY3hGX8rQzHDSbCl9P5Ny9l16z4xmaiLo+Qfte7ee4Yr3yaAKd7GFoJ3/Mhud2XZ37fR015MfYl2w==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/types": "3.654.0", - "@smithy/protocol-http": "^4.1.3", - "@smithy/types": "^3.4.2", + "@aws-sdk/types": "3.679.0", + "@smithy/protocol-http": "^4.1.4", + "@smithy/types": "^3.5.0", "tslib": "^2.6.2" }, "engines": { @@ -772,14 +780,14 @@ } }, "node_modules/@aws-sdk/middleware-logger": { - "version": "3.654.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.654.0.tgz", - "integrity": "sha512-OQYb+nWlmASyXfRb989pwkJ9EVUMP1CrKn2eyTk3usl20JZmKo2Vjis6I0tLUkMSxMhnBJJlQKyWkRpD/u1FVg==", + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.679.0.tgz", + "integrity": "sha512-0vet8InEj7nvIvGKk+ch7bEF5SyZ7Us9U7YTEgXPrBNStKeRUsgwRm0ijPWWd0a3oz2okaEwXsFl7G/vI0XiEA==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/types": "3.654.0", - "@smithy/types": "^3.4.2", + "@aws-sdk/types": "3.679.0", + "@smithy/types": "^3.5.0", "tslib": "^2.6.2" }, "engines": { @@ -787,15 +795,15 @@ } }, "node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.654.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.654.0.tgz", - "integrity": "sha512-gKSomgltKVmsT8sC6W7CrADZ4GHwX9epk3GcH6QhebVO3LA9LRbkL3TwOPUXakxxOLLUTYdOZLIOtFf7iH00lg==", + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.679.0.tgz", + "integrity": "sha512-sQoAZFsQiW/LL3DfKMYwBoGjYDEnMbA9WslWN8xneCmBAwKo6IcSksvYs23PP8XMIoBGe2I2J9BSr654XWygTQ==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/types": "3.654.0", - "@smithy/protocol-http": "^4.1.3", - "@smithy/types": "^3.4.2", + "@aws-sdk/types": "3.679.0", + "@smithy/protocol-http": "^4.1.4", + "@smithy/types": "^3.5.0", "tslib": "^2.6.2" }, "engines": { @@ -803,16 +811,18 @@ } }, "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.654.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.654.0.tgz", - "integrity": "sha512-liCcqPAyRsr53cy2tYu4qeH4MMN0eh9g6k56XzI5xd4SghXH5YWh4qOYAlQ8T66ZV4nPMtD8GLtLXGzsH8moFg==", + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.679.0.tgz", + "integrity": "sha512-4hdeXhPDURPqQLPd9jCpUEo9fQITXl3NM3W1MwcJpE0gdUM36uXkQOYsTPeeU/IRCLVjK8Htlh2oCaM9iJrLCA==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/types": "3.654.0", - "@aws-sdk/util-endpoints": "3.654.0", - "@smithy/protocol-http": "^4.1.3", - "@smithy/types": "^3.4.2", + "@aws-sdk/core": "3.679.0", + "@aws-sdk/types": "3.679.0", + "@aws-sdk/util-endpoints": "3.679.0", + "@smithy/core": "^2.4.8", + "@smithy/protocol-http": "^4.1.4", + "@smithy/types": "^3.5.0", "tslib": "^2.6.2" }, "engines": { @@ -820,17 +830,17 @@ } }, "node_modules/@aws-sdk/region-config-resolver": { - "version": "3.654.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.654.0.tgz", - "integrity": "sha512-ydGOrXJxj3x0sJhsXyTmvJVLAE0xxuTWFJihTl67RtaO7VRNtd82I3P3bwoMMaDn5WpmV5mPo8fEUDRlBm3fPg==", + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.679.0.tgz", + "integrity": "sha512-Ybx54P8Tg6KKq5ck7uwdjiKif7n/8g1x+V0V9uTjBjRWqaIgiqzXwKWoPj6NCNkE7tJNtqI4JrNxp/3S3HvmRw==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/types": "3.654.0", - "@smithy/node-config-provider": "^3.1.7", - "@smithy/types": "^3.4.2", + "@aws-sdk/types": "3.679.0", + "@smithy/node-config-provider": "^3.1.8", + "@smithy/types": "^3.5.0", "@smithy/util-config-provider": "^3.0.0", - "@smithy/util-middleware": "^3.0.6", + "@smithy/util-middleware": "^3.0.7", "tslib": "^2.6.2" }, "engines": { @@ -838,33 +848,33 @@ } }, "node_modules/@aws-sdk/token-providers": { - "version": "3.654.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.654.0.tgz", - "integrity": "sha512-D8GeJYmvbfWkQDtTB4owmIobSMexZel0fOoetwvgCQ/7L8VPph3Q2bn1TRRIXvH7wdt6DcDxA3tKMHPBkT3GlA==", + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.679.0.tgz", + "integrity": "sha512-1/+Zso/x2jqgutKixYFQEGli0FELTgah6bm7aB+m2FAWH4Hz7+iMUsazg6nSWm714sG9G3h5u42Dmpvi9X6/hA==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/types": "3.654.0", - "@smithy/property-provider": "^3.1.6", - "@smithy/shared-ini-file-loader": "^3.1.7", - "@smithy/types": "^3.4.2", + "@aws-sdk/types": "3.679.0", + "@smithy/property-provider": "^3.1.7", + "@smithy/shared-ini-file-loader": "^3.1.8", + "@smithy/types": "^3.5.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" }, "peerDependencies": { - "@aws-sdk/client-sso-oidc": "^3.654.0" + "@aws-sdk/client-sso-oidc": "^3.679.0" } }, "node_modules/@aws-sdk/types": { - "version": "3.654.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.654.0.tgz", - "integrity": "sha512-VWvbED3SV+10QJIcmU/PKjsKilsTV16d1I7/on4bvD/jo1qGeMXqLDBSen3ks/tuvXZF/mFc7ZW/W2DiLVtO7A==", + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.679.0.tgz", + "integrity": "sha512-NwVq8YvInxQdJ47+zz4fH3BRRLC6lL+WLkvr242PVBbUOLRyK/lkwHlfiKUoeVIMyK5NF+up6TRg71t/8Bny6Q==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/types": "^3.4.2", + "@smithy/types": "^3.5.0", "tslib": "^2.6.2" }, "engines": { @@ -872,15 +882,15 @@ } }, "node_modules/@aws-sdk/util-endpoints": { - "version": "3.654.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.654.0.tgz", - "integrity": "sha512-i902fcBknHs0Irgdpi62+QMvzxE+bczvILXigYrlHL4+PiEnlMVpni5L5W1qCkNZXf8AaMrSBuR1NZAGp6UOUw==", + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.679.0.tgz", + "integrity": "sha512-YL6s4Y/1zC45OvddvgE139fjeWSKKPgLlnfrvhVL7alNyY9n7beR4uhoDpNrt5mI6sn9qiBF17790o+xLAXjjg==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/types": "3.654.0", - "@smithy/types": "^3.4.2", - "@smithy/util-endpoints": "^2.1.2", + "@aws-sdk/types": "3.679.0", + "@smithy/types": "^3.5.0", + "@smithy/util-endpoints": "^2.1.3", "tslib": "^2.6.2" }, "engines": { @@ -888,9 +898,9 @@ } }, "node_modules/@aws-sdk/util-locate-window": { - "version": "3.568.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.568.0.tgz", - "integrity": "sha512-3nh4TINkXYr+H41QaPelCceEB2FXP3fxp93YZXB/kqJvX0U9j0N0Uk45gvsjmEPzG8XxkPEeLIfT2I1M7A6Lig==", + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.679.0.tgz", + "integrity": "sha512-zKTd48/ZWrCplkXpYDABI74rQlbR0DNHs8nH95htfSLj9/mWRSwaGptoxwcihaq/77vi/fl2X3y0a1Bo8bt7RA==", "license": "Apache-2.0", "optional": true, "dependencies": { @@ -901,28 +911,29 @@ } }, "node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.654.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.654.0.tgz", - "integrity": "sha512-ykYAJqvnxLt7wfrqya28wuH3/7NdrwzfiFd7NqEVQf7dXVxL5RPEpD7DxjcyQo3DsHvvdUvGZVaQhozycn1pzA==", + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.679.0.tgz", + "integrity": "sha512-CusSm2bTBG1kFypcsqU8COhnYc6zltobsqs3nRrvYqYaOqtMnuE46K4XTWpnzKgwDejgZGOE+WYyprtAxrPvmQ==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/types": "3.654.0", - "@smithy/types": "^3.4.2", + "@aws-sdk/types": "3.679.0", + "@smithy/types": "^3.5.0", "bowser": "^2.11.0", "tslib": "^2.6.2" } }, "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.654.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.654.0.tgz", - "integrity": "sha512-a0ojjdBN6pqv6gB4H/QPPSfhs7mFtlVwnmKCM/QrTaFzN0U810PJ1BST3lBx5sa23I5jWHGaoFY+5q65C3clLQ==", + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.679.0.tgz", + "integrity": "sha512-Bw4uXZ+NU5ed6TNfo4tBbhBSW+2eQxXYjYBGl5gLUNUpg2pDFToQAP6rXBFiwcG52V2ny5oLGiD82SoYuYkAVg==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/types": "3.654.0", - "@smithy/node-config-provider": "^3.1.7", - "@smithy/types": "^3.4.2", + "@aws-sdk/middleware-user-agent": "3.679.0", + "@aws-sdk/types": "3.679.0", + "@smithy/node-config-provider": "^3.1.8", + "@smithy/types": "^3.5.0", "tslib": "^2.6.2" }, "engines": { @@ -950,13 +961,13 @@ } }, "node_modules/@azure/core-auth": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.8.0.tgz", - "integrity": "sha512-YvFMowkXzLbXNM11yZtVLhUCmuG0ex7JKOH366ipjmHBhL3vpDcPAeWF+jf0X+jVXwFqo3UhsWUq4kH0ZPdu/g==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.9.0.tgz", + "integrity": "sha512-FPwHpZywuyasDSLMqJ6fhbOK3TqUdviZNF8OqRGA4W5Ewib2lEEZ+pBsYcBa88B2NGO/SEnYPGhyBqNlE8ilSw==", "license": "MIT", "dependencies": { "@azure/abort-controller": "^2.0.0", - "@azure/core-util": "^1.1.0", + "@azure/core-util": "^1.11.0", "tslib": "^2.6.2" }, "engines": { @@ -1041,18 +1052,6 @@ "node": ">=18.0.0" } }, - "node_modules/@azure/core-rest-pipeline/node_modules/agent-base": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", - "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" - } - }, "node_modules/@azure/core-rest-pipeline/node_modules/http-proxy-agent": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", @@ -1080,9 +1079,9 @@ } }, "node_modules/@azure/core-tracing": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.1.2.tgz", - "integrity": "sha512-dawW9ifvWAWmUm9/h+/UQ2jrdvjCJ7VJEuCJ6XVNudzcOwm53BFZH4Q845vjfgoUAM8ZxokvVNxNxAITc502YA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.2.0.tgz", + "integrity": "sha512-UKTiEJPkWcESPYJz3X5uKRYyOcJD+4nYph+KpfdPRnQJVrZfk0KJgdnaAWKfhsBBtAf/D58Az4AvCJEmWgIBAg==", "license": "MIT", "dependencies": { "tslib": "^2.6.2" @@ -1092,9 +1091,9 @@ } }, "node_modules/@azure/core-util": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.10.0.tgz", - "integrity": "sha512-dqLWQsh9Nro1YQU+405POVtXnwrIVqPyfUzc4zXCbThTg7+vNNaiMkwbX9AMXKyoFYFClxmB3s25ZFr3+jZkww==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.11.0.tgz", + "integrity": "sha512-DxOSLua+NdpWoSqULhjDyAZTXFdP/LKkqtYuxxz1SCN289zk3OG8UOpnCQAz/tygyACBtWp/BoO72ptK7msY8g==", "license": "MIT", "dependencies": { "@azure/abort-controller": "^2.0.0", @@ -1105,20 +1104,20 @@ } }, "node_modules/@azure/identity": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/@azure/identity/-/identity-4.4.1.tgz", - "integrity": "sha512-DwnG4cKFEM7S3T+9u05NstXU/HN0dk45kPOinUyNKsn5VWwpXd9sbPKEg6kgJzGbm1lMuhx9o31PVbCtM5sfBA==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@azure/identity/-/identity-4.5.0.tgz", + "integrity": "sha512-EknvVmtBuSIic47xkOqyNabAme0RYTw52BTMz8eBgU1ysTyMrD1uOoM+JdS0J/4Yfp98IBT3osqq3BfwSaNaGQ==", "license": "MIT", "dependencies": { - "@azure/abort-controller": "^1.0.0", - "@azure/core-auth": "^1.5.0", + "@azure/abort-controller": "^2.0.0", + "@azure/core-auth": "^1.9.0", "@azure/core-client": "^1.9.2", - "@azure/core-rest-pipeline": "^1.1.0", + "@azure/core-rest-pipeline": "^1.17.0", "@azure/core-tracing": "^1.0.0", - "@azure/core-util": "^1.3.0", + "@azure/core-util": "^1.11.0", "@azure/logger": "^1.0.0", - "@azure/msal-browser": "^3.14.0", - "@azure/msal-node": "^2.9.2", + "@azure/msal-browser": "^3.26.1", + "@azure/msal-node": "^2.15.0", "events": "^3.0.0", "jws": "^4.0.0", "open": "^8.0.0", @@ -1129,18 +1128,6 @@ "node": ">=18.0.0" } }, - "node_modules/@azure/identity/node_modules/@azure/abort-controller": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-1.1.0.tgz", - "integrity": "sha512-TrRLIoSQVzfAJX9H1JeFjzAoDGcoK1IYX1UImfceTZpsyYfWr09Ss1aHW1y5TrrR3iq6RZLBwJ3E24uwPhwahw==", - "license": "MIT", - "dependencies": { - "tslib": "^2.2.0" - }, - "engines": { - "node": ">=12.0.0" - } - }, "node_modules/@azure/identity/node_modules/jwa": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz", @@ -1162,13 +1149,32 @@ "safe-buffer": "^5.0.1" } }, - "node_modules/@azure/keyvault-keys": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/@azure/keyvault-keys/-/keyvault-keys-4.8.0.tgz", - "integrity": "sha512-jkuYxgkw0aaRfk40OQhFqDIupqblIOIlYESWB6DKCVDxQet1pyv86Tfk9M+5uFM0+mCs6+MUHU+Hxh3joiUn4Q==", + "node_modules/@azure/keyvault-common": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@azure/keyvault-common/-/keyvault-common-2.0.0.tgz", + "integrity": "sha512-wRLVaroQtOqfg60cxkzUkGKrKMsCP6uYXAOomOIysSMyt1/YM0eUn9LqieAWM8DLcU4+07Fio2YGpPeqUbpP9w==", "license": "MIT", "dependencies": { - "@azure/abort-controller": "^1.0.0", + "@azure/abort-controller": "^2.0.0", + "@azure/core-auth": "^1.3.0", + "@azure/core-client": "^1.5.0", + "@azure/core-rest-pipeline": "^1.8.0", + "@azure/core-tracing": "^1.0.0", + "@azure/core-util": "^1.10.0", + "@azure/logger": "^1.1.4", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@azure/keyvault-keys": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/@azure/keyvault-keys/-/keyvault-keys-4.9.0.tgz", + "integrity": "sha512-ZBP07+K4Pj3kS4TF4XdkqFcspWwBHry3vJSOFM5k5ZABvf7JfiMonvaFk2nBF6xjlEbMpz5PE1g45iTMme0raQ==", + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^2.0.0", "@azure/core-auth": "^1.3.0", "@azure/core-client": "^1.5.0", "@azure/core-http-compat": "^2.0.1", @@ -1177,6 +1183,7 @@ "@azure/core-rest-pipeline": "^1.8.1", "@azure/core-tracing": "^1.0.0", "@azure/core-util": "^1.0.0", + "@azure/keyvault-common": "^2.0.0", "@azure/logger": "^1.0.0", "tslib": "^2.2.0" }, @@ -1184,18 +1191,6 @@ "node": ">=18.0.0" } }, - "node_modules/@azure/keyvault-keys/node_modules/@azure/abort-controller": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-1.1.0.tgz", - "integrity": "sha512-TrRLIoSQVzfAJX9H1JeFjzAoDGcoK1IYX1UImfceTZpsyYfWr09Ss1aHW1y5TrrR3iq6RZLBwJ3E24uwPhwahw==", - "license": "MIT", - "dependencies": { - "tslib": "^2.2.0" - }, - "engines": { - "node": ">=12.0.0" - } - }, "node_modules/@azure/logger": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/@azure/logger/-/logger-1.1.4.tgz", @@ -1209,9 +1204,9 @@ } }, "node_modules/@azure/msal-browser": { - "version": "3.24.0", - "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-3.24.0.tgz", - "integrity": "sha512-JGNV9hTYAa7lsum9IMIibn2kKczAojNihGo1hi7pG0kNrcKej530Fl6jxwM05A44/6I079CSn6WxYxbVhKUmWg==", + "version": "3.26.1", + "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-3.26.1.tgz", + "integrity": "sha512-y78sr9g61aCAH9fcLO1um+oHFXc1/5Ap88RIsUSuzkm0BHzFnN+PXGaQeuM1h5Qf5dTnWNOd6JqkskkMPAhh7Q==", "license": "MIT", "dependencies": { "@azure/msal-common": "14.15.0" @@ -1230,9 +1225,9 @@ } }, "node_modules/@azure/msal-node": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-2.14.0.tgz", - "integrity": "sha512-rrfzIpG3Q1rHjVYZmHAEDidWAZZ2cgkxlIcMQ8dHebRISaZ2KCV33Q8Vs+uaV6lxweROabNxKFlR2lIKagZqYg==", + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-2.15.0.tgz", + "integrity": "sha512-gVPW8YLz92ZeCibQH2QUw96odJoiM3k/ZPH3f2HxptozmH6+OnyyvKXo/Egg39HAM230akarQKHf0W74UHlh0Q==", "license": "MIT", "dependencies": { "@azure/msal-common": "14.15.0", @@ -1244,23 +1239,31 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.25.7.tgz", - "integrity": "sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.0.tgz", + "integrity": "sha512-INCKxTtbXtcNbUZ3YXutwMpEleqttcswhAdee7dhuoVrD2cnuc3PqtERBtxkX5nziX9vnBL8WXmSGwv8CuPV6g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/highlight": "^7.25.7", + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/code-frame/node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, "node_modules/@babel/compat-data": { - "version": "7.25.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz", - "integrity": "sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.0.tgz", + "integrity": "sha512-qETICbZSLe7uXv9VE8T/RWOdIE5qqyTucOt4zLYMafj2MRO271VGgLd4RACJMeBO37UPWhXiKMBk7YlJ0fOzQA==", "dev": true, "license": "MIT", "engines": { @@ -1268,22 +1271,22 @@ } }, "node_modules/@babel/core": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", - "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz", + "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.25.0", - "@babel/helper-compilation-targets": "^7.25.2", - "@babel/helper-module-transforms": "^7.25.2", - "@babel/helpers": "^7.25.0", - "@babel/parser": "^7.25.0", - "@babel/template": "^7.25.0", - "@babel/traverse": "^7.25.2", - "@babel/types": "^7.25.2", + "@babel/code-frame": "^7.26.0", + "@babel/generator": "^7.26.0", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.0", + "@babel/parser": "^7.26.0", + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.26.0", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -1309,13 +1312,14 @@ } }, "node_modules/@babel/generator": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.7.tgz", - "integrity": "sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.0.tgz", + "integrity": "sha512-/AIkAmInnWwgEAJGQr9vY0c66Mj6kjkE2ZPB1PurTRaRAh3U+J45sAQMjQDJdh4WbR3l0x5xkimXBKyBXXAu2w==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.25.7", + "@babel/parser": "^7.26.0", + "@babel/types": "^7.26.0", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^3.0.2" @@ -1325,28 +1329,28 @@ } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", - "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", + "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.24.7" + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz", - "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz", + "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.25.2", - "@babel/helper-validator-option": "^7.24.8", - "browserslist": "^4.23.1", + "@babel/compat-data": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -1354,6 +1358,16 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, "node_modules/@babel/helper-compilation-targets/node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -1364,19 +1378,26 @@ "semver": "bin/semver.js" } }, + "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.25.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.4.tgz", - "integrity": "sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.9.tgz", + "integrity": "sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-member-expression-to-functions": "^7.24.8", - "@babel/helper-optimise-call-expression": "^7.24.7", - "@babel/helper-replace-supers": "^7.25.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", - "@babel/traverse": "^7.25.4", + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/traverse": "^7.25.9", "semver": "^6.3.1" }, "engines": { @@ -1397,44 +1418,43 @@ } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz", - "integrity": "sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz", + "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.24.8", - "@babel/types": "^7.24.8" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", - "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz", - "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-simple-access": "^7.24.7", - "@babel/helper-validator-identifier": "^7.24.7", - "@babel/traverse": "^7.25.2" + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1444,22 +1464,22 @@ } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz", - "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz", + "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.24.7" + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", - "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz", + "integrity": "sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==", "dev": true, "license": "MIT", "engines": { @@ -1467,15 +1487,15 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz", - "integrity": "sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.9.tgz", + "integrity": "sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.24.8", - "@babel/helper-optimise-call-expression": "^7.24.7", - "@babel/traverse": "^7.25.0" + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1484,38 +1504,24 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", - "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz", - "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz", + "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.7.tgz", - "integrity": "sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", "dev": true, "license": "MIT", "engines": { @@ -1523,9 +1529,9 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz", - "integrity": "sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", "dev": true, "license": "MIT", "engines": { @@ -1533,9 +1539,9 @@ } }, "node_modules/@babel/helper-validator-option": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", - "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", "dev": true, "license": "MIT", "engines": { @@ -1543,43 +1549,27 @@ } }, "node_modules/@babel/helpers": { - "version": "7.25.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.6.tgz", - "integrity": "sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz", + "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.25.0", - "@babel/types": "^7.25.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.7.tgz", - "integrity": "sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.25.7", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" + "@babel/template": "^7.25.9", + "@babel/types": "^7.26.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.7.tgz", - "integrity": "sha512-aZn7ETtQsjjGG5HruveUK06cU3Hljuhd9Iojm4M8WWv3wLE6OkE5PWbDUkItmMgegmccaITudyuW5RPYrYlgWw==", + "version": "7.26.1", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.1.tgz", + "integrity": "sha512-reoQYNiAJreZNsJzyrDNzFQ+IQ5JFiIzAHJg9bn94S3l+4++J7RsIhNMoB+lgP/9tpmiAQqspv+xfdxTSzREOw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.25.7" + "@babel/types": "^7.26.0" }, "bin": { "parser": "bin/babel-parser.js" @@ -1589,15 +1579,15 @@ } }, "node_modules/@babel/plugin-proposal-decorators": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.7.tgz", - "integrity": "sha512-RL9GR0pUG5Kc8BUWLNDm2T5OpYwSX15r98I0IkgmRQTXuELq/OynH8xtMTMvTJFjXbMWFVTKtYkTaYQsuAwQlQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.25.9.tgz", + "integrity": "sha512-smkNLL/O1ezy9Nhy4CNosc4Va+1wo5w4gzSZeLe6y6dM4mmHfYOCPolXQPHQxonZCF+ZyebxN9vqOolkYrSn5g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-decorators": "^7.24.7" + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-syntax-decorators": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1607,13 +1597,13 @@ } }, "node_modules/@babel/plugin-syntax-decorators": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.7.tgz", - "integrity": "sha512-Ui4uLJJrRV1lb38zg1yYTmRKmiZLiftDEvZN2iq3kd9kUFU+PttmzTbAFC2ucRk/XJmtek6G23gPsuZbhrT8fQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.25.9.tgz", + "integrity": "sha512-ryzI0McXUPJnRCvMo4lumIKZUzhYUO/ScI+Mz4YVaTLt04DHNSjEUjKVvbzQjZFLuod/cYEc07mJWhzl6v4DPg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1623,13 +1613,13 @@ } }, "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.25.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.6.tgz", - "integrity": "sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", + "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1652,13 +1642,13 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz", - "integrity": "sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", + "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1668,13 +1658,13 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.25.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.4.tgz", - "integrity": "sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz", + "integrity": "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1684,17 +1674,17 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.2.tgz", - "integrity": "sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.9.tgz", + "integrity": "sha512-7PbZQZP50tzv2KGGnhh82GSyMB01yKY9scIjf1a+GfZCtInOWqUH5+1EBU4t9fyR5Oykkkc9vFTs4OHrhHXljQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-create-class-features-plugin": "^7.25.0", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", - "@babel/plugin-syntax-typescript": "^7.24.7" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/plugin-syntax-typescript": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1704,9 +1694,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.25.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.6.tgz", - "integrity": "sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.0.tgz", + "integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==", "dev": true, "license": "MIT", "dependencies": { @@ -1717,32 +1707,32 @@ } }, "node_modules/@babel/template": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.7.tgz", - "integrity": "sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", + "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.25.7", - "@babel/parser": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/code-frame": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.7.tgz", - "integrity": "sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.9.tgz", + "integrity": "sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.25.7", - "@babel/generator": "^7.25.7", - "@babel/parser": "^7.25.7", - "@babel/template": "^7.25.7", - "@babel/types": "^7.25.7", + "@babel/code-frame": "^7.25.9", + "@babel/generator": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/template": "^7.25.9", + "@babel/types": "^7.25.9", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -1750,16 +1740,25 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/@babel/types": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.7.tgz", - "integrity": "sha512-vwIVdXG+j+FOpkwqHRcBgHLYNL7XMkufrlaFvL9o6Ai9sJn9+PdyIL5qa0XzTZw084c+u9LOls53eoZWP/W5WQ==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.0.tgz", + "integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.25.7", - "@babel/helper-validator-identifier": "^7.25.7", - "to-fast-properties": "^2.0.0" + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2269,38 +2268,28 @@ } }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", + "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", "dev": true, "license": "MIT", "dependencies": { - "eslint-visitor-keys": "^3.3.0" + "eslint-visitor-keys": "^3.4.3" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, "funding": { "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "node_modules/@eslint-community/regexpp": { - "version": "4.11.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz", - "integrity": "sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==", + "version": "4.11.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.2.tgz", + "integrity": "sha512-2WwyTYNVaMNUWPZTOJdkax9iqTdirrApgTbk+Qoq5EPX6myqZvG8QGFRgdKmkjKVG6/G/a565vpPauHk0+hpBA==", "dev": true, "license": "MIT", "engines": { @@ -2331,33 +2320,28 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "license": "MIT", "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "*" } }, "node_modules/@fastify/busboy": { @@ -2505,6 +2489,30 @@ "node": ">=10.10.0" } }, + "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/@humanwhocodes/object-schema": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", @@ -2556,6 +2564,16 @@ "node": ">= 14" } }, + "node_modules/@intlify/message-compiler/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/@intlify/shared": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-9.2.2.tgz", @@ -3169,12 +3187,6 @@ "node": ">=14" } }, - "node_modules/@redis/client/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "license": "ISC" - }, "node_modules/@redis/graph": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@redis/graph/-/graph-1.1.0.tgz", @@ -3212,15 +3224,15 @@ } }, "node_modules/@rollup/pluginutils": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.2.tgz", - "integrity": "sha512-/FIdS3PyZ39bjZlwqFnWqCOVnW7o963LtKMwQOD0NhQqw22gSr2YY1afu3FxRip4ZCZNsD5jq6Aaz6QV3D/Njw==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.3.tgz", + "integrity": "sha512-Pnsb6f32CD2W3uCaLZIzDmeFyQ2b8UWMFI7xtwUezpcGBDVDW6y9XgAWIlARiGAo6eNF5FK5aQTr0LFyNyqq5A==", "dev": true, "license": "MIT", "dependencies": { "@types/estree": "^1.0.0", "estree-walker": "^2.0.2", - "picomatch": "^2.3.1" + "picomatch": "^4.0.2" }, "engines": { "node": ">=14.0.0" @@ -3234,10 +3246,23 @@ } } }, + "node_modules/@rollup/pluginutils/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.22.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.5.tgz", - "integrity": "sha512-SU5cvamg0Eyu/F+kLeMXS7GoahL+OoizlclVFX3l5Ql6yNlywJJ0OuqTzUx0v+aHhPHEB/56CT06GQrRrGNYww==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.0.tgz", + "integrity": "sha512-Q6HJd7Y6xdB48x8ZNVDOqsbh2uByBhgK8PiQgPhwkIw/HC/YX5Ghq2mQY5sRMZWHb3VsFkWooUVOZHKr7DmDIA==", "cpu": [ "arm" ], @@ -3249,9 +3274,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.22.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.5.tgz", - "integrity": "sha512-S4pit5BP6E5R5C8S6tgU/drvgjtYW76FBuG6+ibG3tMvlD1h9LHVF9KmlmaUBQ8Obou7hEyS+0w+IR/VtxwNMQ==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.24.0.tgz", + "integrity": "sha512-ijLnS1qFId8xhKjT81uBHuuJp2lU4x2yxa4ctFPtG+MqEE6+C5f/+X/bStmxapgmwLwiL3ih122xv8kVARNAZA==", "cpu": [ "arm64" ], @@ -3263,9 +3288,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.22.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.5.tgz", - "integrity": "sha512-250ZGg4ipTL0TGvLlfACkIxS9+KLtIbn7BCZjsZj88zSg2Lvu3Xdw6dhAhfe/FjjXPVNCtcSp+WZjVsD3a/Zlw==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.0.tgz", + "integrity": "sha512-bIv+X9xeSs1XCk6DVvkO+S/z8/2AMt/2lMqdQbMrmVpgFvXlmde9mLcbQpztXm1tajC3raFDqegsH18HQPMYtA==", "cpu": [ "arm64" ], @@ -3277,9 +3302,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.22.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.5.tgz", - "integrity": "sha512-D8brJEFg5D+QxFcW6jYANu+Rr9SlKtTenmsX5hOSzNYVrK5oLAEMTUgKWYJP+wdKyCdeSwnapLsn+OVRFycuQg==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.24.0.tgz", + "integrity": "sha512-X6/nOwoFN7RT2svEQWUsW/5C/fYMBe4fnLK9DQk4SX4mgVBiTA9h64kjUYPvGQ0F/9xwJ5U5UfTbl6BEjaQdBQ==", "cpu": [ "x64" ], @@ -3291,9 +3316,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.22.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.5.tgz", - "integrity": "sha512-PNqXYmdNFyWNg0ma5LdY8wP+eQfdvyaBAojAXgO7/gs0Q/6TQJVXAXe8gwW9URjbS0YAammur0fynYGiWsKlXw==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.24.0.tgz", + "integrity": "sha512-0KXvIJQMOImLCVCz9uvvdPgfyWo93aHHp8ui3FrtOP57svqrF/roSSR5pjqL2hcMp0ljeGlU4q9o/rQaAQ3AYA==", "cpu": [ "arm" ], @@ -3305,9 +3330,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.22.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.5.tgz", - "integrity": "sha512-kSSCZOKz3HqlrEuwKd9TYv7vxPYD77vHSUvM2y0YaTGnFc8AdI5TTQRrM1yIp3tXCKrSL9A7JLoILjtad5t8pQ==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.24.0.tgz", + "integrity": "sha512-it2BW6kKFVh8xk/BnHfakEeoLPv8STIISekpoF+nBgWM4d55CZKc7T4Dx1pEbTnYm/xEKMgy1MNtYuoA8RFIWw==", "cpu": [ "arm" ], @@ -3319,9 +3344,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.22.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.5.tgz", - "integrity": "sha512-oTXQeJHRbOnwRnRffb6bmqmUugz0glXaPyspp4gbQOPVApdpRrY/j7KP3lr7M8kTfQTyrBUzFjj5EuHAhqH4/w==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.24.0.tgz", + "integrity": "sha512-i0xTLXjqap2eRfulFVlSnM5dEbTVque/3Pi4g2y7cxrs7+a9De42z4XxKLYJ7+OhE3IgxvfQM7vQc43bwTgPwA==", "cpu": [ "arm64" ], @@ -3333,9 +3358,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.22.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.5.tgz", - "integrity": "sha512-qnOTIIs6tIGFKCHdhYitgC2XQ2X25InIbZFor5wh+mALH84qnFHvc+vmWUpyX97B0hNvwNUL4B+MB8vJvH65Fw==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.24.0.tgz", + "integrity": "sha512-9E6MKUJhDuDh604Qco5yP/3qn3y7SLXYuiC0Rpr89aMScS2UAmK1wHP2b7KAa1nSjWJc/f/Lc0Wl1L47qjiyQw==", "cpu": [ "arm64" ], @@ -3347,9 +3372,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.22.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.5.tgz", - "integrity": "sha512-TMYu+DUdNlgBXING13rHSfUc3Ky5nLPbWs4bFnT+R6Vu3OvXkTkixvvBKk8uO4MT5Ab6lC3U7x8S8El2q5o56w==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.24.0.tgz", + "integrity": "sha512-2XFFPJ2XMEiF5Zi2EBf4h73oR1V/lycirxZxHZNc93SqDN/IWhYYSYj8I9381ikUFXZrz2v7r2tOVk2NBwxrWw==", "cpu": [ "ppc64" ], @@ -3361,9 +3386,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.22.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.5.tgz", - "integrity": "sha512-PTQq1Kz22ZRvuhr3uURH+U/Q/a0pbxJoICGSprNLAoBEkyD3Sh9qP5I0Asn0y0wejXQBbsVMRZRxlbGFD9OK4A==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.24.0.tgz", + "integrity": "sha512-M3Dg4hlwuntUCdzU7KjYqbbd+BLq3JMAOhCKdBE3TcMGMZbKkDdJ5ivNdehOssMCIokNHFOsv7DO4rlEOfyKpg==", "cpu": [ "riscv64" ], @@ -3375,9 +3400,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.22.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.5.tgz", - "integrity": "sha512-bR5nCojtpuMss6TDEmf/jnBnzlo+6n1UhgwqUvRoe4VIotC7FG1IKkyJbwsT7JDsF2jxR+NTnuOwiGv0hLyDoQ==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.24.0.tgz", + "integrity": "sha512-mjBaoo4ocxJppTorZVKWFpy1bfFj9FeCMJqzlMQGjpNPY9JwQi7OuS1axzNIk0nMX6jSgy6ZURDZ2w0QW6D56g==", "cpu": [ "s390x" ], @@ -3389,9 +3414,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.22.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.5.tgz", - "integrity": "sha512-N0jPPhHjGShcB9/XXZQWuWBKZQnC1F36Ce3sDqWpujsGjDz/CQtOL9LgTrJ+rJC8MJeesMWrMWVLKKNR/tMOCA==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.24.0.tgz", + "integrity": "sha512-ZXFk7M72R0YYFN5q13niV0B7G8/5dcQ9JDp8keJSfr3GoZeXEoMHP/HlvqROA3OMbMdfr19IjCeNAnPUG93b6A==", "cpu": [ "x64" ], @@ -3403,9 +3428,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.22.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.5.tgz", - "integrity": "sha512-uBa2e28ohzNNwjr6Uxm4XyaA1M/8aTgfF2T7UIlElLaeXkgpmIJ2EitVNQxjO9xLLLy60YqAgKn/AqSpCUkE9g==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.24.0.tgz", + "integrity": "sha512-w1i+L7kAXZNdYl+vFvzSZy8Y1arS7vMgIy8wusXJzRrPyof5LAb02KGr1PD2EkRcl73kHulIID0M501lN+vobQ==", "cpu": [ "x64" ], @@ -3417,9 +3442,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.22.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.5.tgz", - "integrity": "sha512-RXT8S1HP8AFN/Kr3tg4fuYrNxZ/pZf1HemC5Tsddc6HzgGnJm0+Lh5rAHJkDuW3StI0ynNXukidROMXYl6ew8w==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.24.0.tgz", + "integrity": "sha512-VXBrnPWgBpVDCVY6XF3LEW0pOU51KbaHhccHw6AS6vBWIC60eqsH19DAeeObl+g8nKAz04QFdl/Cefta0xQtUQ==", "cpu": [ "arm64" ], @@ -3431,9 +3456,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.22.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.5.tgz", - "integrity": "sha512-ElTYOh50InL8kzyUD6XsnPit7jYCKrphmddKAe1/Ytt74apOxDq5YEcbsiKs0fR3vff3jEneMM+3I7jbqaMyBg==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.24.0.tgz", + "integrity": "sha512-xrNcGDU0OxVcPTH/8n/ShH4UevZxKIO6HJFK0e15XItZP2UcaiLFd5kiX7hJnqCbSztUF8Qot+JWBC/QXRPYWQ==", "cpu": [ "ia32" ], @@ -3445,9 +3470,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.22.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.5.tgz", - "integrity": "sha512-+lvL/4mQxSV8MukpkKyyvfwhH266COcWlXE/1qxwN08ajovta3459zrjLghYMgDerlzNwLAcFpvU+WWE5y6nAQ==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.24.0.tgz", + "integrity": "sha512-fbMkAF7fufku0N2dE5TBXcNlg0pt0cJue4xBRE2Qc5Vqikxr4VCgKj/ht6SMdFcOacVA9rqF70APJ8RN/4vMJw==", "cpu": [ "x64" ], @@ -3534,13 +3559,13 @@ } }, "node_modules/@smithy/abort-controller": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.4.tgz", - "integrity": "sha512-VupaALAQlXViW3/enTf/f5l5JZYSAxoJL7f0nanhNNKnww6DGCg1oYIuNP78KDugnkwthBO6iEcym16HhWV8RQ==", + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.6.tgz", + "integrity": "sha512-0XuhuHQlEqbNQZp7QxxrFTdVWdwxch4vjxYgfInF91hZFkPxf9QDrdQka0KfxFMPqLNzSw0b95uGTrLliQUavQ==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/types": "^3.4.2", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { @@ -3548,16 +3573,16 @@ } }, "node_modules/@smithy/config-resolver": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-3.0.8.tgz", - "integrity": "sha512-Tv1obAC18XOd2OnDAjSWmmthzx6Pdeh63FbLin8MlPiuJ2ATpKkq0NcNOJFr0dO+JmZXnwu8FQxKJ3TKJ3Hulw==", + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-3.0.10.tgz", + "integrity": "sha512-Uh0Sz9gdUuz538nvkPiyv1DZRX9+D15EKDtnQP5rYVAzM/dnYk3P8cg73jcxyOitPgT3mE3OVj7ky7sibzHWkw==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/node-config-provider": "^3.1.7", - "@smithy/types": "^3.4.2", + "@smithy/node-config-provider": "^3.1.9", + "@smithy/types": "^3.6.0", "@smithy/util-config-provider": "^3.0.0", - "@smithy/util-middleware": "^3.0.6", + "@smithy/util-middleware": "^3.0.8", "tslib": "^2.6.2" }, "engines": { @@ -3565,20 +3590,18 @@ } }, "node_modules/@smithy/core": { - "version": "2.4.6", - "resolved": "https://registry.npmjs.org/@smithy/core/-/core-2.4.6.tgz", - "integrity": "sha512-6lQQp99hnyuNNIzeTYSzCUXJHwvvFLY7hfdFGSJM95tjRDJGfzWYFRBXPaM9766LiiTsQ561KErtbufzUFSYUg==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-2.5.1.tgz", + "integrity": "sha512-DujtuDA7BGEKExJ05W5OdxCoyekcKT3Rhg1ZGeiUWaz2BJIWXjZmsG/DIP4W48GHno7AQwRsaCb8NcBgH3QZpg==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/middleware-endpoint": "^3.1.3", - "@smithy/middleware-retry": "^3.0.21", - "@smithy/middleware-serde": "^3.0.6", - "@smithy/protocol-http": "^4.1.3", - "@smithy/smithy-client": "^3.3.5", - "@smithy/types": "^3.4.2", + "@smithy/middleware-serde": "^3.0.8", + "@smithy/protocol-http": "^4.1.5", + "@smithy/types": "^3.6.0", "@smithy/util-body-length-browser": "^3.0.0", - "@smithy/util-middleware": "^3.0.6", + "@smithy/util-middleware": "^3.0.8", + "@smithy/util-stream": "^3.2.1", "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" }, @@ -3587,16 +3610,16 @@ } }, "node_modules/@smithy/credential-provider-imds": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-3.2.3.tgz", - "integrity": "sha512-VoxMzSzdvkkjMJNE38yQgx4CfnmT+Z+5EUXkg4x7yag93eQkVQgZvN3XBSHC/ylfBbLbAtdu7flTCChX9I+mVg==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-3.2.5.tgz", + "integrity": "sha512-4FTQGAsuwqTzVMmiRVTn0RR9GrbRfkP0wfu/tXWVHd2LgNpTY0uglQpIScXK4NaEyXbB3JmZt8gfVqO50lP8wg==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/node-config-provider": "^3.1.7", - "@smithy/property-provider": "^3.1.6", - "@smithy/types": "^3.4.2", - "@smithy/url-parser": "^3.0.6", + "@smithy/node-config-provider": "^3.1.9", + "@smithy/property-provider": "^3.1.8", + "@smithy/types": "^3.6.0", + "@smithy/url-parser": "^3.0.8", "tslib": "^2.6.2" }, "engines": { @@ -3604,27 +3627,27 @@ } }, "node_modules/@smithy/fetch-http-handler": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.8.tgz", - "integrity": "sha512-Lqe0B8F5RM7zkw//6avq1SJ8AfaRd3ubFUS1eVp5WszV7p6Ne5hQ4dSuMHDpNRPhgTvj4va9Kd/pcVigHEHRow==", + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.9.tgz", + "integrity": "sha512-hYNVQOqhFQ6vOpenifFME546f0GfJn2OiQ3M0FDmuUu8V/Uiwy2wej7ZXxFBNqdx0R5DZAqWM1l6VRhGz8oE6A==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/protocol-http": "^4.1.3", - "@smithy/querystring-builder": "^3.0.6", - "@smithy/types": "^3.4.2", + "@smithy/protocol-http": "^4.1.4", + "@smithy/querystring-builder": "^3.0.7", + "@smithy/types": "^3.5.0", "@smithy/util-base64": "^3.0.0", "tslib": "^2.6.2" } }, "node_modules/@smithy/hash-node": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-3.0.6.tgz", - "integrity": "sha512-c/FHEdKK/7DU2z6ZE91L36ahyXWayR3B+FzELjnYq7wH5YqIseM24V+pWCS9kFn1Ln8OFGTf+pyYPiHZuX0s/Q==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-3.0.8.tgz", + "integrity": "sha512-tlNQYbfpWXHimHqrvgo14DrMAgUBua/cNoz9fMYcDmYej7MAmUcjav/QKQbFc3NrcPxeJ7QClER4tWZmfwoPng==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/types": "^3.4.2", + "@smithy/types": "^3.6.0", "@smithy/util-buffer-from": "^3.0.0", "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" @@ -3634,13 +3657,13 @@ } }, "node_modules/@smithy/invalid-dependency": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-3.0.6.tgz", - "integrity": "sha512-czM7Ioq3s8pIXht7oD+vmgy4Wfb4XavU/k/irO8NdXFFOx7YAlsCCcKOh/lJD1mJSYQqiR7NmpZ9JviryD/7AQ==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-3.0.8.tgz", + "integrity": "sha512-7Qynk6NWtTQhnGTTZwks++nJhQ1O54Mzi7fz4PqZOiYXb4Z1Flpb2yRvdALoggTS8xjtohWUM+RygOtB30YL3Q==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/types": "^3.4.2", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" } }, @@ -3658,14 +3681,14 @@ } }, "node_modules/@smithy/middleware-content-length": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-3.0.8.tgz", - "integrity": "sha512-VuyszlSO49WKh3H9/kIO2kf07VUwGV80QRiaDxUfP8P8UKlokz381ETJvwLhwuypBYhLymCYyNhB3fLAGBX2og==", + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-3.0.10.tgz", + "integrity": "sha512-T4dIdCs1d/+/qMpwhJ1DzOhxCZjZHbHazEPJWdB4GDi2HjIZllVzeBEcdJUN0fomV8DURsgOyrbEUzg3vzTaOg==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/protocol-http": "^4.1.3", - "@smithy/types": "^3.4.2", + "@smithy/protocol-http": "^4.1.5", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { @@ -3673,18 +3696,19 @@ } }, "node_modules/@smithy/middleware-endpoint": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.3.tgz", - "integrity": "sha512-KeM/OrK8MVFUsoJsmCN0MZMVPjKKLudn13xpgwIMpGTYpA8QZB2Xq5tJ+RE6iu3A6NhOI4VajDTwBsm8pwwrhg==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.2.1.tgz", + "integrity": "sha512-wWO3xYmFm6WRW8VsEJ5oU6h7aosFXfszlz3Dj176pTij6o21oZnzkCLzShfmRaaCHDkBXWBdO0c4sQAvLFP6zA==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/middleware-serde": "^3.0.6", - "@smithy/node-config-provider": "^3.1.7", - "@smithy/shared-ini-file-loader": "^3.1.7", - "@smithy/types": "^3.4.2", - "@smithy/url-parser": "^3.0.6", - "@smithy/util-middleware": "^3.0.6", + "@smithy/core": "^2.5.1", + "@smithy/middleware-serde": "^3.0.8", + "@smithy/node-config-provider": "^3.1.9", + "@smithy/shared-ini-file-loader": "^3.1.9", + "@smithy/types": "^3.6.0", + "@smithy/url-parser": "^3.0.8", + "@smithy/util-middleware": "^3.0.8", "tslib": "^2.6.2" }, "engines": { @@ -3692,19 +3716,19 @@ } }, "node_modules/@smithy/middleware-retry": { - "version": "3.0.21", - "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.21.tgz", - "integrity": "sha512-/h0fElV95LekVVEJuSw+aI11S1Y3zIUwBc6h9ZbUv43Gl2weXsbQwjLoet6j/Qtb0phfrSxS6pNg6FqgJOWZkA==", + "version": "3.0.25", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.25.tgz", + "integrity": "sha512-m1F70cPaMBML4HiTgCw5I+jFNtjgz5z5UdGnUbG37vw6kh4UvizFYjqJGHvicfgKMkDL6mXwyPp5mhZg02g5sg==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/node-config-provider": "^3.1.7", - "@smithy/protocol-http": "^4.1.3", - "@smithy/service-error-classification": "^3.0.6", - "@smithy/smithy-client": "^3.3.5", - "@smithy/types": "^3.4.2", - "@smithy/util-middleware": "^3.0.6", - "@smithy/util-retry": "^3.0.6", + "@smithy/node-config-provider": "^3.1.9", + "@smithy/protocol-http": "^4.1.5", + "@smithy/service-error-classification": "^3.0.8", + "@smithy/smithy-client": "^3.4.2", + "@smithy/types": "^3.6.0", + "@smithy/util-middleware": "^3.0.8", + "@smithy/util-retry": "^3.0.8", "tslib": "^2.6.2", "uuid": "^9.0.1" }, @@ -3727,13 +3751,13 @@ } }, "node_modules/@smithy/middleware-serde": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.6.tgz", - "integrity": "sha512-KKTUSl1MzOM0MAjGbudeaVNtIDo+PpekTBkCNwvfZlKndodrnvRo+00USatiyLOc0ujjO9UydMRu3O9dYML7ag==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.8.tgz", + "integrity": "sha512-Xg2jK9Wc/1g/MBMP/EUn2DLspN8LNt+GMe7cgF+Ty3vl+Zvu+VeZU5nmhveU+H8pxyTsjrAkci8NqY6OuvZnjA==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/types": "^3.4.2", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { @@ -3741,13 +3765,13 @@ } }, "node_modules/@smithy/middleware-stack": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.6.tgz", - "integrity": "sha512-2c0eSYhTQ8xQqHMcRxLMpadFbTXg6Zla5l0mwNftFCZMQmuhI7EbAJMx6R5eqfuV3YbJ3QGyS3d5uSmrHV8Khg==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.8.tgz", + "integrity": "sha512-d7ZuwvYgp1+3682Nx0MD3D/HtkmZd49N3JUndYWQXfRZrYEnCWYc8BHcNmVsPAp9gKvlurdg/mubE6b/rPS9MA==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/types": "^3.4.2", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { @@ -3755,15 +3779,15 @@ } }, "node_modules/@smithy/node-config-provider": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.7.tgz", - "integrity": "sha512-g3mfnC3Oo8pOI0dYuPXLtdW1WGVb3bR2tkV21GNkm0ZvQjLTtamXAwCWt/FCb0HGvKt3gHHmF1XerG0ICfalOg==", + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.9.tgz", + "integrity": "sha512-qRHoah49QJ71eemjuS/WhUXB+mpNtwHRWQr77J/m40ewBVVwvo52kYAmb7iuaECgGTTcYxHS4Wmewfwy++ueew==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/property-provider": "^3.1.6", - "@smithy/shared-ini-file-loader": "^3.1.7", - "@smithy/types": "^3.4.2", + "@smithy/property-provider": "^3.1.8", + "@smithy/shared-ini-file-loader": "^3.1.9", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { @@ -3771,16 +3795,16 @@ } }, "node_modules/@smithy/node-http-handler": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.2.3.tgz", - "integrity": "sha512-/gcm5DJ3k1b1zEInzBGAZC8ntJ+jwrz1NcSIu+9dSXd1FfG0G6QgkDI40tt8/WYUbHtLyo8fEqtm2v29koWo/w==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.2.5.tgz", + "integrity": "sha512-PkOwPNeKdvX/jCpn0A8n9/TyoxjGZB8WVoJmm9YzsnAgggTj4CrjpRHlTQw7dlLZ320n1mY1y+nTRUDViKi/3w==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/abort-controller": "^3.1.4", - "@smithy/protocol-http": "^4.1.3", - "@smithy/querystring-builder": "^3.0.6", - "@smithy/types": "^3.4.2", + "@smithy/abort-controller": "^3.1.6", + "@smithy/protocol-http": "^4.1.5", + "@smithy/querystring-builder": "^3.0.8", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { @@ -3788,13 +3812,13 @@ } }, "node_modules/@smithy/property-provider": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.6.tgz", - "integrity": "sha512-NK3y/T7Q/Bw+Z8vsVs9MYIQ5v7gOX7clyrXcwhhIBQhbPgRl6JDrZbusO9qWDhcEus75Tg+VCxtIRfo3H76fpw==", + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.8.tgz", + "integrity": "sha512-ukNUyo6rHmusG64lmkjFeXemwYuKge1BJ8CtpVKmrxQxc6rhUX0vebcptFA9MmrGsnLhwnnqeH83VTU9hwOpjA==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/types": "^3.4.2", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { @@ -3802,13 +3826,13 @@ } }, "node_modules/@smithy/protocol-http": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.3.tgz", - "integrity": "sha512-GcbMmOYpH9iRqtC05RbRnc/0FssxSTHlmaNhYBTgSgNCYpdR3Kt88u5GAZTBmouzv+Zlj/VRv92J9ruuDeJuEw==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.5.tgz", + "integrity": "sha512-hsjtwpIemmCkm3ZV5fd/T0bPIugW1gJXwZ/hpuVubt2hEUApIoUTrf6qIdh9MAWlw0vjMrA1ztJLAwtNaZogvg==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/types": "^3.4.2", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { @@ -3816,13 +3840,13 @@ } }, "node_modules/@smithy/querystring-builder": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.6.tgz", - "integrity": "sha512-sQe08RunoObe+Usujn9+R2zrLuQERi3CWvRO3BvnoWSYUaIrLKuAIeY7cMeDax6xGyfIP3x/yFWbEKSXvOnvVg==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.8.tgz", + "integrity": "sha512-btYxGVqFUARbUrN6VhL9c3dnSviIwBYD9Rz1jHuN1hgh28Fpv2xjU1HeCeDJX68xctz7r4l1PBnFhGg1WBBPuA==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/types": "^3.4.2", + "@smithy/types": "^3.6.0", "@smithy/util-uri-escape": "^3.0.0", "tslib": "^2.6.2" }, @@ -3831,13 +3855,13 @@ } }, "node_modules/@smithy/querystring-parser": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.6.tgz", - "integrity": "sha512-UJKw4LlEkytzz2Wq+uIdHf6qOtFfee/o7ruH0jF5I6UAuU+19r9QV7nU3P/uI0l6+oElRHmG/5cBBcGJrD7Ozg==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.8.tgz", + "integrity": "sha512-BtEk3FG7Ks64GAbt+JnKqwuobJNX8VmFLBsKIwWr1D60T426fGrV2L3YS5siOcUhhp6/Y6yhBw1PSPxA5p7qGg==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/types": "^3.4.2", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { @@ -3845,26 +3869,26 @@ } }, "node_modules/@smithy/service-error-classification": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.6.tgz", - "integrity": "sha512-53SpchU3+DUZrN7J6sBx9tBiCVGzsib2e4sc512Q7K9fpC5zkJKs6Z9s+qbMxSYrkEkle6hnMtrts7XNkMJJMg==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.8.tgz", + "integrity": "sha512-uEC/kCCFto83bz5ZzapcrgGqHOh/0r69sZ2ZuHlgoD5kYgXJEThCoTuw/y1Ub3cE7aaKdznb+jD9xRPIfIwD7g==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/types": "^3.4.2" + "@smithy/types": "^3.6.0" }, "engines": { "node": ">=16.0.0" } }, "node_modules/@smithy/shared-ini-file-loader": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.7.tgz", - "integrity": "sha512-IA4K2qTJYXkF5OfVN4vsY1hfnUZjaslEE8Fsr/gGFza4TAC2A9NfnZuSY2srQIbt9bwtjHiAayrRVgKse4Q7fA==", + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.9.tgz", + "integrity": "sha512-/+OsJRNtoRbtsX0UpSgWVxFZLsJHo/4sTr+kBg/J78sr7iC+tHeOvOJrS5hCpVQ6sWBbhWLp1UNiuMyZhE6pmA==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/types": "^3.4.2", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { @@ -3872,17 +3896,17 @@ } }, "node_modules/@smithy/signature-v4": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-4.1.4.tgz", - "integrity": "sha512-72MiK7xYukNsnLJI9NqvUHqTu0ziEsfMsYNlWpiJfuGQnCTFKpckThlEatirvcA/LmT1h7rRO+pJD06PYsPu9Q==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-4.2.1.tgz", + "integrity": "sha512-NsV1jF4EvmO5wqmaSzlnTVetemBS3FZHdyc5CExbDljcyJCEEkJr8ANu2JvtNbVg/9MvKAWV44kTrGS+Pi4INg==", "license": "Apache-2.0", "optional": true, "dependencies": { "@smithy/is-array-buffer": "^3.0.0", - "@smithy/protocol-http": "^4.1.3", - "@smithy/types": "^3.4.2", + "@smithy/protocol-http": "^4.1.5", + "@smithy/types": "^3.6.0", "@smithy/util-hex-encoding": "^3.0.0", - "@smithy/util-middleware": "^3.0.6", + "@smithy/util-middleware": "^3.0.8", "@smithy/util-uri-escape": "^3.0.0", "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" @@ -3892,17 +3916,18 @@ } }, "node_modules/@smithy/smithy-client": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.3.5.tgz", - "integrity": "sha512-7IZi8J3Dr9n3tX+lcpmJ/5tCYIqoXdblFBaPuv0SEKZFRpCxE+TqIWL6I3t7jLlk9TWu3JSvEZAhtjB9yvB+zA==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.4.2.tgz", + "integrity": "sha512-dxw1BDxJiY9/zI3cBqfVrInij6ShjpV4fmGHesGZZUiP9OSE/EVfdwdRz0PgvkEvrZHpsj2htRaHJfftE8giBA==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/middleware-endpoint": "^3.1.3", - "@smithy/middleware-stack": "^3.0.6", - "@smithy/protocol-http": "^4.1.3", - "@smithy/types": "^3.4.2", - "@smithy/util-stream": "^3.1.8", + "@smithy/core": "^2.5.1", + "@smithy/middleware-endpoint": "^3.2.1", + "@smithy/middleware-stack": "^3.0.8", + "@smithy/protocol-http": "^4.1.5", + "@smithy/types": "^3.6.0", + "@smithy/util-stream": "^3.2.1", "tslib": "^2.6.2" }, "engines": { @@ -3910,9 +3935,9 @@ } }, "node_modules/@smithy/types": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.4.2.tgz", - "integrity": "sha512-tHiFcfcVedVBHpmHUEUHOCCih8iZbIAYn9NvPsNzaPm/237I3imdDdZoOC8c87H5HBAVEa06tTgb+OcSWV9g5w==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.6.0.tgz", + "integrity": "sha512-8VXK/KzOHefoC65yRgCn5vG1cysPJjHnOVt9d0ybFQSmJgQj152vMn4EkYhGuaOmnnZvCPav/KnYyE6/KsNZ2w==", "license": "Apache-2.0", "optional": true, "dependencies": { @@ -3923,14 +3948,14 @@ } }, "node_modules/@smithy/url-parser": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.6.tgz", - "integrity": "sha512-47Op/NU8Opt49KyGpHtVdnmmJMsp2hEwBdyjuFB9M2V5QVOwA7pBhhxKN5z6ztKGrMw76gd8MlbPuzzvaAncuQ==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.8.tgz", + "integrity": "sha512-4FdOhwpTW7jtSFWm7SpfLGKIBC9ZaTKG5nBF0wK24aoQKQyDIKUw3+KFWCQ9maMzrgTJIuOvOnsV2lLGW5XjTg==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/querystring-parser": "^3.0.6", - "@smithy/types": "^3.4.2", + "@smithy/querystring-parser": "^3.0.8", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" } }, @@ -4000,15 +4025,15 @@ } }, "node_modules/@smithy/util-defaults-mode-browser": { - "version": "3.0.21", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.21.tgz", - "integrity": "sha512-M/FhTBk4c/SsB91dD/M4gMGfJO7z/qJaM9+XQQIqBOf4qzZYMExnP7R4VdGwxxH8IKMGW+8F0I4rNtVRrcfPoA==", + "version": "3.0.25", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.25.tgz", + "integrity": "sha512-fRw7zymjIDt6XxIsLwfJfYUfbGoO9CmCJk6rjJ/X5cd20+d2Is7xjU5Kt/AiDt6hX8DAf5dztmfP5O82gR9emA==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/property-provider": "^3.1.6", - "@smithy/smithy-client": "^3.3.5", - "@smithy/types": "^3.4.2", + "@smithy/property-provider": "^3.1.8", + "@smithy/smithy-client": "^3.4.2", + "@smithy/types": "^3.6.0", "bowser": "^2.11.0", "tslib": "^2.6.2" }, @@ -4017,18 +4042,18 @@ } }, "node_modules/@smithy/util-defaults-mode-node": { - "version": "3.0.21", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.21.tgz", - "integrity": "sha512-NiLinPvF86U3S2Pdx/ycqd4bnY5dmFSPNL5KYRwbNjqQFS09M5Wzqk8BNk61/47xCYz1X/6KeiSk9qgYPTtuDw==", + "version": "3.0.25", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.25.tgz", + "integrity": "sha512-H3BSZdBDiVZGzt8TG51Pd2FvFO0PAx/A0mJ0EH8a13KJ6iUCdYnw/Dk/MdC1kTd0eUuUGisDFaxXVXo4HHFL1g==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/config-resolver": "^3.0.8", - "@smithy/credential-provider-imds": "^3.2.3", - "@smithy/node-config-provider": "^3.1.7", - "@smithy/property-provider": "^3.1.6", - "@smithy/smithy-client": "^3.3.5", - "@smithy/types": "^3.4.2", + "@smithy/config-resolver": "^3.0.10", + "@smithy/credential-provider-imds": "^3.2.5", + "@smithy/node-config-provider": "^3.1.9", + "@smithy/property-provider": "^3.1.8", + "@smithy/smithy-client": "^3.4.2", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { @@ -4036,14 +4061,14 @@ } }, "node_modules/@smithy/util-endpoints": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-2.1.2.tgz", - "integrity": "sha512-FEISzffb4H8DLzGq1g4MuDpcv6CIG15fXoQzDH9SjpRJv6h7J++1STFWWinilG0tQh9H1v2UKWG19Jjr2B16zQ==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-2.1.4.tgz", + "integrity": "sha512-kPt8j4emm7rdMWQyL0F89o92q10gvCUa6sBkBtDJ7nV2+P7wpXczzOfoDJ49CKXe5CCqb8dc1W+ZdLlrKzSAnQ==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/node-config-provider": "^3.1.7", - "@smithy/types": "^3.4.2", + "@smithy/node-config-provider": "^3.1.9", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { @@ -4064,13 +4089,13 @@ } }, "node_modules/@smithy/util-middleware": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.6.tgz", - "integrity": "sha512-BxbX4aBhI1O9p87/xM+zWy0GzT3CEVcXFPBRDoHAM+pV0eSW156pR+PSYEz0DQHDMYDsYAflC2bQNz2uaDBUZQ==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.8.tgz", + "integrity": "sha512-p7iYAPaQjoeM+AKABpYWeDdtwQNxasr4aXQEA/OmbOaug9V0odRVDy3Wx4ci8soljE/JXQo+abV0qZpW8NX0yA==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/types": "^3.4.2", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { @@ -4078,14 +4103,14 @@ } }, "node_modules/@smithy/util-retry": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.6.tgz", - "integrity": "sha512-BRZiuF7IwDntAbevqMco67an0Sr9oLQJqqRCsSPZZHYRnehS0LHDAkJk/pSmI7Z8c/1Vet294H7fY2fWUgB+Rg==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.8.tgz", + "integrity": "sha512-TCEhLnY581YJ+g1x0hapPz13JFqzmh/pMWL2KEFASC51qCfw3+Y47MrTmea4bUE5vsdxQ4F6/KFbUeSz22Q1ow==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/service-error-classification": "^3.0.6", - "@smithy/types": "^3.4.2", + "@smithy/service-error-classification": "^3.0.8", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { @@ -4093,15 +4118,15 @@ } }, "node_modules/@smithy/util-stream": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.1.8.tgz", - "integrity": "sha512-hoKOqSmb8FD3WLObuB5hwbM7bNIWgcnvkThokTvVq7J5PKjlLUK5qQQcB9zWLHIoSaIlf3VIv2OxZY2wtQjcRQ==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.2.1.tgz", + "integrity": "sha512-R3ufuzJRxSJbE58K9AEnL/uSZyVdHzud9wLS8tIbXclxKzoe09CRohj2xV8wpx5tj7ZbiJaKYcutMm1eYgz/0A==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/fetch-http-handler": "^3.2.8", - "@smithy/node-http-handler": "^3.2.3", - "@smithy/types": "^3.4.2", + "@smithy/fetch-http-handler": "^4.0.0", + "@smithy/node-http-handler": "^3.2.5", + "@smithy/types": "^3.6.0", "@smithy/util-base64": "^3.0.0", "@smithy/util-buffer-from": "^3.0.0", "@smithy/util-hex-encoding": "^3.0.0", @@ -4112,6 +4137,20 @@ "node": ">=16.0.0" } }, + "node_modules/@smithy/util-stream/node_modules/@smithy/fetch-http-handler": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-4.0.0.tgz", + "integrity": "sha512-MLb1f5tbBO2X6K4lMEKJvxeLooyg7guq48C2zKr4qM7F2Gpkz4dc+hdSgu77pCJ76jVqFBjZczHYAs6dp15N+g==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@smithy/protocol-http": "^4.1.5", + "@smithy/querystring-builder": "^3.0.8", + "@smithy/types": "^3.6.0", + "@smithy/util-base64": "^3.0.0", + "tslib": "^2.6.2" + } + }, "node_modules/@smithy/util-uri-escape": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", @@ -4164,13 +4203,13 @@ "license": "MIT" }, "node_modules/@testcontainers/hivemq": { - "version": "10.13.1", - "resolved": "https://registry.npmjs.org/@testcontainers/hivemq/-/hivemq-10.13.1.tgz", - "integrity": "sha512-LvXx+l6XEOckAX9GwD4+WQgo/Y5jITDAfyultLd9jMl/OlzBU6sLfHl/vYFjG17xZObiXznGDrKVQYIp70wxZg==", + "version": "10.13.2", + "resolved": "https://registry.npmjs.org/@testcontainers/hivemq/-/hivemq-10.13.2.tgz", + "integrity": "sha512-TnCwVO3RJIRmYQLZoh8KHE6KMYtdnnO98r8qp/+1B37nXnD9OQNENC+W6h8gHwLSe4pgjyp9bzKGN7kttqDpnA==", "dev": true, "license": "MIT", "dependencies": { - "testcontainers": "^10.13.1" + "testcontainers": "^10.13.2" } }, "node_modules/@testcontainers/rabbitmq": { @@ -4178,6 +4217,7 @@ "resolved": "https://registry.npmjs.org/@testcontainers/rabbitmq/-/rabbitmq-10.13.2.tgz", "integrity": "sha512-npBKBnq3c6hETmxGZ/gVMke9cc1J/pcftNW9S3WidL48hxFBIPjYNM9FdTfWuoNER/8kuf4xJ8yCuJEYGH3ZAg==", "dev": true, + "license": "MIT", "dependencies": { "testcontainers": "^10.13.2" } @@ -4269,6 +4309,7 @@ "version": "2.8.17", "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz", "integrity": "sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==", + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -4328,9 +4369,9 @@ } }, "node_modules/@types/http-assert": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.5.tgz", - "integrity": "sha512-4+tE/lwdAahgZT1g30Jkdm9PzFRde0xwxBNUyRsCitRvCQB90iuA2uJYdUnhnANRcqGXaWOGY4FEoxeElNAK2g==", + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.6.tgz", + "integrity": "sha512-TTEwmtjgVbYAzZYWyeHPrrtWnfVkm8tQkP8P21uQifPgMRgjrow3XDEYqucuC8SKZJT7pUnhU/JymvjggxO9vw==", "license": "MIT" }, "node_modules/@types/http-cache-semantics": { @@ -4406,9 +4447,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "20.16.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.16.10.tgz", - "integrity": "sha512-vQUKgWTjEIRFCvK6CyriPH3MZYiYlNy0fKiEYHWbcoWLEgs4opurGGKlebrTLqdSMIbXImH6XExNiIyNUv3WpA==", + "version": "20.17.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.1.tgz", + "integrity": "sha512-j2VlPv1NnwPJbaCNv69FO/1z4lId0QmGvpT41YxitRtWlg96g/j8qcv2RKsLKe2F6OJgyXhupN1Xo17b2m139Q==", "license": "MIT", "dependencies": { "undici-types": "~6.19.2" @@ -4434,9 +4475,9 @@ "license": "MIT" }, "node_modules/@types/readable-stream": { - "version": "4.0.15", - "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-4.0.15.tgz", - "integrity": "sha512-oAZ3kw+kJFkEqyh7xORZOku1YAKvsFTogRY8kVl4vHpEKiDkfnSA/My8haRE7fvmix5Zyy+1pwzOi7yycGLBJw==", + "version": "4.0.16", + "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-4.0.16.tgz", + "integrity": "sha512-Fvp+8OcU8PyV90KTk5tR/rI8OjD3MP5NUow5rjOsZo+9zxf4p4soJtK9j4V6yeG30TH6rZxqRaP4JLa8lNNTNQ==", "license": "MIT", "dependencies": { "@types/node": "*", @@ -4501,9 +4542,9 @@ } }, "node_modules/@types/ssh2/node_modules/@types/node": { - "version": "18.19.54", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.54.tgz", - "integrity": "sha512-+BRgt0G5gYjTvdLac9sIeE0iZcJxi4Jc4PV5EUzqi+88jmQLr+fRZdv2tCTV7IHKSGxM6SaLoOXQWWUiLUItMw==", + "version": "18.19.59", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.59.tgz", + "integrity": "sha512-vizm2EqwV/7Zay+A6J3tGl9Lhr7CjZe2HmWS988sefiEmsyP9CeXEleho6i4hJk/8UtZAo0bWN4QPZZr83RxvQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4687,32 +4728,6 @@ } } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/@typescript-eslint/utils": { "version": "6.21.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz", @@ -4757,19 +4772,6 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, "node_modules/@vitejs/plugin-vue": { "version": "5.0.5", "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.0.5.tgz", @@ -4836,42 +4838,42 @@ } }, "node_modules/@vue/babel-plugin-resolve-type/node_modules/@vue/compiler-core": { - "version": "3.5.10", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.10.tgz", - "integrity": "sha512-iXWlk+Cg/ag7gLvY0SfVucU8Kh2CjysYZjhhP70w9qI4MvSox4frrP+vDGvtQuzIcgD8+sxM6lZvCtdxGunTAA==", + "version": "3.5.12", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.12.tgz", + "integrity": "sha512-ISyBTRMmMYagUxhcpyEH0hpXRd/KqDU4ymofPgl2XAkY9ZhQ+h0ovEZJIiPop13UmR/54oA2cgMDjgroRelaEw==", "dev": true, "license": "MIT", "dependencies": { "@babel/parser": "^7.25.3", - "@vue/shared": "3.5.10", + "@vue/shared": "3.5.12", "entities": "^4.5.0", "estree-walker": "^2.0.2", "source-map-js": "^1.2.0" } }, "node_modules/@vue/babel-plugin-resolve-type/node_modules/@vue/compiler-dom": { - "version": "3.5.10", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.10.tgz", - "integrity": "sha512-DyxHC6qPcktwYGKOIy3XqnHRrrXyWR2u91AjP+nLkADko380srsC2DC3s7Y1Rk6YfOlxOlvEQKa9XXmLI+W4ZA==", + "version": "3.5.12", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.12.tgz", + "integrity": "sha512-9G6PbJ03uwxLHKQ3P42cMTi85lDRvGLB2rSGOiQqtXELat6uI4n8cNz9yjfVHRPIu+MsK6TE418Giruvgptckg==", "dev": true, "license": "MIT", "dependencies": { - "@vue/compiler-core": "3.5.10", - "@vue/shared": "3.5.10" + "@vue/compiler-core": "3.5.12", + "@vue/shared": "3.5.12" } }, "node_modules/@vue/babel-plugin-resolve-type/node_modules/@vue/compiler-sfc": { - "version": "3.5.10", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.10.tgz", - "integrity": "sha512-to8E1BgpakV7224ZCm8gz1ZRSyjNCAWEplwFMWKlzCdP9DkMKhRRwt0WkCjY7jkzi/Vz3xgbpeig5Pnbly4Tow==", + "version": "3.5.12", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.12.tgz", + "integrity": "sha512-2k973OGo2JuAa5+ZlekuQJtitI5CgLMOwgl94BzMCsKZCX/xiqzJYzapl4opFogKHqwJk34vfsaKpfEhd1k5nw==", "dev": true, "license": "MIT", "dependencies": { "@babel/parser": "^7.25.3", - "@vue/compiler-core": "3.5.10", - "@vue/compiler-dom": "3.5.10", - "@vue/compiler-ssr": "3.5.10", - "@vue/shared": "3.5.10", + "@vue/compiler-core": "3.5.12", + "@vue/compiler-dom": "3.5.12", + "@vue/compiler-ssr": "3.5.12", + "@vue/shared": "3.5.12", "estree-walker": "^2.0.2", "magic-string": "^0.30.11", "postcss": "^8.4.47", @@ -4879,20 +4881,20 @@ } }, "node_modules/@vue/babel-plugin-resolve-type/node_modules/@vue/compiler-ssr": { - "version": "3.5.10", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.10.tgz", - "integrity": "sha512-hxP4Y3KImqdtyUKXDRSxKSRkSm1H9fCvhojEYrnaoWhE4w/y8vwWhnosJoPPe2AXm5sU7CSbYYAgkt2ZPhDz+A==", + "version": "3.5.12", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.12.tgz", + "integrity": "sha512-eLwc7v6bfGBSM7wZOGPmRavSWzNFF6+PdRhE+VFJhNCgHiF8AM7ccoqcv5kBXA2eWUfigD7byekvf/JsOfKvPA==", "dev": true, "license": "MIT", "dependencies": { - "@vue/compiler-dom": "3.5.10", - "@vue/shared": "3.5.10" + "@vue/compiler-dom": "3.5.12", + "@vue/shared": "3.5.12" } }, "node_modules/@vue/babel-plugin-resolve-type/node_modules/@vue/shared": { - "version": "3.5.10", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.10.tgz", - "integrity": "sha512-VkkBhU97Ki+XJ0xvl4C9YJsIZ2uIlQ7HqPpZOS3m9VCvmROPaChZU6DexdMJqvz9tbgG+4EtFVrSuailUq5KGQ==", + "version": "3.5.12", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.12.tgz", + "integrity": "sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==", "dev": true, "license": "MIT" }, @@ -4958,14 +4960,14 @@ "license": "MIT" }, "node_modules/@vue/devtools-core": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@vue/devtools-core/-/devtools-core-7.4.6.tgz", - "integrity": "sha512-7ATNPEbVqThOOAp2bg/YUIm9MqqgimbSk24D05hdXUp89JlXX12aTzdrWd9xZRwS78hDR+wCToHl1C/8sopBrg==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/@vue/devtools-core/-/devtools-core-7.5.4.tgz", + "integrity": "sha512-igB2iUKsCUrXkp0wKLn3n5X8jz3AgXWk7if0QpLu3Do16QmlTO0e+/VvTpX0ZbLMh8OOAxDKyfPvJMMO/4QJ5w==", "dev": true, "license": "MIT", "dependencies": { - "@vue/devtools-kit": "^7.4.6", - "@vue/devtools-shared": "^7.4.6", + "@vue/devtools-kit": "^7.5.4", + "@vue/devtools-shared": "^7.5.4", "mitt": "^3.0.1", "nanoid": "^3.3.4", "pathe": "^1.1.2", @@ -4976,14 +4978,14 @@ } }, "node_modules/@vue/devtools-kit": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-7.4.6.tgz", - "integrity": "sha512-NbYBwPWgEic1AOd9bWExz9weBzFdjiIfov0yRn4DrRfR+EQJCI9dn4I0XS7IxYGdkmUJi8mFW42LLk18WsGqew==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-7.5.4.tgz", + "integrity": "sha512-0i7WFgc1B2TL52tstn82zlb9opSA0aIiHfkUYFXtZb8CIpmlFMTkHtgwVl6PMWNBj3LNhYou1YJCLpCYvJYYoA==", "dev": true, "license": "MIT", "dependencies": { - "@vue/devtools-shared": "^7.4.6", - "birpc": "^0.2.17", + "@vue/devtools-shared": "^7.5.4", + "birpc": "^0.2.19", "hookable": "^5.5.3", "mitt": "^3.0.1", "perfect-debounce": "^1.0.0", @@ -4992,9 +4994,9 @@ } }, "node_modules/@vue/devtools-shared": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-7.4.6.tgz", - "integrity": "sha512-rPeSBzElnHYMB05Cc056BQiJpgocQjY8XVulgni+O9a9Gr9tNXgPteSzFFD+fT/iWMxNuUgGKs9CuW5DZewfIg==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-7.5.4.tgz", + "integrity": "sha512-dwuq4YmwTyLc7eBOqX63s3JB8il7qnKsNgENglSMkUPwiItHkVAYYfPESN1rxSdYkl1RCux1l5TBidYqfUDNAA==", "dev": true, "license": "MIT", "dependencies": { @@ -5073,9 +5075,9 @@ } }, "node_modules/@vvo/tzdb": { - "version": "6.145.0", - "resolved": "https://registry.npmjs.org/@vvo/tzdb/-/tzdb-6.145.0.tgz", - "integrity": "sha512-X3DTmeEzsZi/ZkYXofW04t1bFInYUk6SJBuNWPvV9wjCp9fI2C2n6OTDT9+YLKCJTosolMx1YKZWMJQykJerPQ==", + "version": "6.147.0", + "resolved": "https://registry.npmjs.org/@vvo/tzdb/-/tzdb-6.147.0.tgz", + "integrity": "sha512-naptD2MNHejOzUzqGAIR0KoDwQq0SNH07Z/HqbGF8c9JpednT/UHSfa6vfAR1velUUe64UwRGaOiVDEs7JrbYw==", "license": "MIT" }, "node_modules/abbrev": { @@ -5110,9 +5112,9 @@ } }, "node_modules/acorn": { - "version": "8.12.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", - "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.13.0.tgz", + "integrity": "sha512-8zSiw54Oxrdym50NlZ9sUusyO1Z1ZchgRLWRaK6c86XJFClyCgFKetdowBg5bKxyp/u+CDBJG4Mpp0m3HLZl9w==", "dev": true, "license": "MIT", "bin": { @@ -5199,15 +5201,15 @@ } }, "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", "license": "MIT", "dependencies": { - "debug": "4" + "debug": "^4.3.4" }, "engines": { - "node": ">= 6.0.0" + "node": ">= 14" } }, "node_modules/agentkeepalive": { @@ -5273,16 +5275,18 @@ } }, "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "license": "MIT", "dependencies": { - "color-convert": "^1.9.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/any-promise": { @@ -5349,16 +5353,6 @@ "node": ">= 14" } }, - "node_modules/archiver-utils/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, "node_modules/archiver-utils/node_modules/buffer": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", @@ -5777,14 +5771,13 @@ } }, "node_modules/bare-stream": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.3.0.tgz", - "integrity": "sha512-pVRWciewGUeCyKEuRxwv06M079r+fRjAQjBEK2P6OYGrO43O+Z0LrPZZEjlc4mB6C2RpZ9AxJ1s7NLEtOHO6eA==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.3.2.tgz", + "integrity": "sha512-EFZHSIBkDgSHIwj2l2QZfP4U5OcD4xFAOwhSb/vlr9PIqyGJGvB/nfClJbcnh3EY4jtPE4zsb5ztae96bVF79A==", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "b4a": "^1.6.6", "streamx": "^2.20.0" } }, @@ -5911,9 +5904,9 @@ "license": "MIT" }, "node_modules/birpc": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/birpc/-/birpc-0.2.17.tgz", - "integrity": "sha512-+hkTxhot+dWsLpp3gia5AkVHIsKlZybNT5gIYiDlNzJrmYPcTM9k5/w2uaj3IPpd7LlEYpmCj4Jj1nC41VhDFg==", + "version": "0.2.19", + "resolved": "https://registry.npmjs.org/birpc/-/birpc-0.2.19.tgz", + "integrity": "sha512-5WeXXAvTmitV1RqJFppT5QtUiz2p1mRSYU000Jkft5ZUCLJIk4uQriYNO50HknxKwM6jd8utNc66K1qGIwwWBQ==", "dev": true, "license": "MIT", "funding": { @@ -6034,13 +6027,12 @@ "optional": true }, "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "balanced-match": "^1.0.0" } }, "node_modules/braces": { @@ -6057,9 +6049,9 @@ } }, "node_modules/browserslist": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.0.tgz", - "integrity": "sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==", + "version": "4.24.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz", + "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", "dev": true, "funding": [ { @@ -6077,10 +6069,10 @@ ], "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001663", - "electron-to-chromium": "^1.5.28", + "caniuse-lite": "^1.0.30001669", + "electron-to-chromium": "^1.5.41", "node-releases": "^2.0.18", - "update-browserslist-db": "^1.1.0" + "update-browserslist-db": "^1.1.1" }, "bin": { "browserslist": "cli.js" @@ -6246,30 +6238,10 @@ "node": ">= 10" } }, - "node_modules/cacache/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "license": "ISC", - "optional": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cacache/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "license": "ISC", - "optional": true - }, "node_modules/cacheable-lookup": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-6.0.4.tgz", - "integrity": "sha512-mbcDEZCkv2CZF4G01kr8eBd/5agkt9oCqz75tJMSIsquvRZ2sL6Hi5zGVKi/0OSC9oO1GHfJ2AV0ZIOY9vye0A==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-6.1.0.tgz", + "integrity": "sha512-KJ/Dmo1lDDhmW2XDPMo+9oiy/CeqosPguPCrgcVzKyZrL6pM1gU2GmPY/xo6OQPTUaA/c0kwHuywB4E6nmT9ww==", "license": "MIT", "engines": { "node": ">=10.6.0" @@ -6293,6 +6265,21 @@ "node": ">=8" } }, + "node_modules/cacheable-request/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/cacheable-request/node_modules/lowercase-keys": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", @@ -6332,13 +6319,16 @@ } }, "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, "license": "MIT", "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/camelcase-keys": { @@ -6360,19 +6350,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/camelcase-keys/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/camelcase-keys/node_modules/type-fest": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", @@ -6387,9 +6364,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001664", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001664.tgz", - "integrity": "sha512-AmE7k4dXiNKQipgn7a2xg558IRqPN3jMQY/rOsbxDhrd0tyChwbITBfiwtnqz8bi2M5mIWbxAYBvk7W7QBUS2g==", + "version": "1.0.30001671", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001671.tgz", + "integrity": "sha512-jocyVaSSfXg2faluE6hrWkMgDOiULBMca4QLtDT39hw1YxaIPHWc1CcTCKkPmHgGH6tKji6ZNbMSmUAvENf2/A==", "dev": true, "funding": [ { @@ -6408,18 +6385,33 @@ "license": "CC-BY-4.0" }, "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, "node_modules/char-width-table-consumer": { @@ -6513,9 +6505,9 @@ } }, "node_modules/cheerio/node_modules/undici": { - "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici/-/undici-6.19.8.tgz", - "integrity": "sha512-U8uCCl2x9TK3WANvmBavymRzxbfFYG+tAu+fgx3zxQy3qdagQqBLwJVrdyO1TBfUXvfKveMKJZhpvUYoOjM+4g==", + "version": "6.20.1", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.20.1.tgz", + "integrity": "sha512-AjQF1QsmqfJys+LXfGTNum+qw4S88CojRInG/6t31W/1fk6G59s92bnAvGz5Cmur+kQv2SURXEvvudLmbrE8QA==", "license": "MIT", "engines": { "node": ">=18.17" @@ -6620,20 +6612,21 @@ } }, "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "license": "MIT", "dependencies": { - "color-name": "1.1.3" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true, + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "license": "MIT" }, "node_modules/color-support": { @@ -6652,6 +6645,12 @@ "dev": true, "license": "MIT" }, + "node_modules/colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", + "license": "MIT" + }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -6671,12 +6670,12 @@ "license": "MIT" }, "node_modules/commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", "license": "MIT", "engines": { - "node": ">= 6" + "node": ">=14" } }, "node_modules/comment-parser": { @@ -6699,15 +6698,6 @@ "minimist": "^1.1.0" } }, - "node_modules/commist/node_modules/leven": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", - "integrity": "sha512-nvVPLpIHUxCUoRLrFqTgSxXJ614d8AgQoWl7zPe/2VadE8+1dpU3LBhowRuBAcuwruWtOdD8oYC9jDNJjXDPyA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/compare-versions": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz", @@ -6867,98 +6857,6 @@ "url": "https://github.com/open-cli-tools/concurrently?sponsor=1" } }, - "node_modules/concurrently/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/concurrently/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/concurrently/node_modules/chalk/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/concurrently/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/concurrently/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/concurrently/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/concurrently/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, "node_modules/console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", @@ -7014,9 +6912,9 @@ "license": "MIT" }, "node_modules/cookie": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", - "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", "license": "MIT", "engines": { "node": ">= 0.6" @@ -7057,9 +6955,9 @@ } }, "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "license": "MIT" }, "node_modules/cors": { @@ -7254,16 +7152,10 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz", "integrity": "sha512-RwBeO/B/vZR3dfKL1ye/vx8MHZ40ugzpyfeVG5GsiuGnrlMWe2o8wxBbLCpw9CsxV+wHuzYlCiWnybrIA0ling==" }, - "node_modules/css-color-converter/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "license": "MIT" - }, "node_modules/css-functions-list": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.2.tgz", - "integrity": "sha512-c+N0v6wbKVxTu5gOBBFkr9BEdBWaqqjQeiJ8QvSRIJOf+UxlJh930m8e6/WNeODIK0mYLFkoONrnj16i2EcvfQ==", + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.3.tgz", + "integrity": "sha512-IQOkD3hbR5KrN93MtcYuad6YPuTSUhntLHDuLEbFWE+ff2/XSZNdZG+LcbbIW5AXKg/WFIfYItIzVoHngHXZzA==", "dev": true, "license": "MIT", "engines": { @@ -7903,9 +7795,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.29", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.29.tgz", - "integrity": "sha512-PF8n2AlIhCKXQ+gTpiJi0VhcHDb69kYX4MtCiivctc2QD3XuNZ/XIOlbGzt7WAjjEev0TtaH6Cu3arZExm5DOw==", + "version": "1.5.47", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.47.tgz", + "integrity": "sha512-zS5Yer0MOYw4rtK2iq43cJagHZ8sXN0jDHDKzB+86gSBSAI4v07S97mcq+Gs2vclAxSh1j7vOAHxSVgduiiuVQ==", "dev": true, "license": "ISC" }, @@ -7957,9 +7849,9 @@ } }, "node_modules/engine.io": { - "version": "6.6.1", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.1.tgz", - "integrity": "sha512-NEpDCw9hrvBW+hVEOK4T7v0jFJ++KgtPl4jKFwsZVfG1XhS0dCrSb3VMb9gPAd7VAdW52VT1EnaNiU2vM8C0og==", + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.2.tgz", + "integrity": "sha512-gmNvsYi9C8iErnZdVcJnvCpSKbWTt1E8+JZo8b+daLninywUWi5NQ5STSHZ9rFjFO7imNcvb8Pc5pe/wMR5xEw==", "license": "MIT", "dependencies": { "@types/cookie": "^0.4.1", @@ -7967,7 +7859,7 @@ "@types/node": ">=10.0.0", "accepts": "~1.3.4", "base64id": "2.0.0", - "cookie": "~0.4.1", + "cookie": "~0.7.2", "cors": "~2.8.5", "debug": "~4.3.1", "engine.io-parser": "~5.2.1", @@ -7978,9 +7870,9 @@ } }, "node_modules/engine.io-client": { - "version": "6.6.1", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.6.1.tgz", - "integrity": "sha512-aYuoak7I+R83M/BBPIOs2to51BmFIpC1wZe6zZzMrT2llVsHy5cvcmdsJgP2Qz6smHu+sD9oexiSUAVd8OfBPw==", + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.6.2.tgz", + "integrity": "sha512-TAr+NKeoVTjEVW8P3iHguO1LO6RlUz9O5Y8o7EY0fU+gY1NYqas7NN3slpFtbXEsLMHk0h90fJMfKjRkQ0qUIw==", "license": "MIT", "dependencies": { "@socket.io/component-emitter": "~3.1.0", @@ -8021,9 +7913,9 @@ } }, "node_modules/engine.io/node_modules/cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", "license": "MIT", "engines": { "node": ">= 0.6" @@ -8282,19 +8174,23 @@ "license": "MIT" }, "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, "license": "MIT", "engines": { - "node": ">=0.8.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/eslint": { "version": "8.14.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.14.0.tgz", "integrity": "sha512-3/CE4aJX7LNEiE3i6FeodHmI/38GZtWCsAtsymScmzYapx8q1nVVb+eLcLSzATmCPXw5pT4TqVs1E0OmxAd9tw==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", "dev": true, "license": "MIT", "dependencies": { @@ -8368,19 +8264,6 @@ "eslint": "^7.0.0 || ^8.0.0" } }, - "node_modules/eslint-plugin-jsdoc/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/eslint-plugin-vue": { "version": "8.7.1", "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-8.7.1.tgz", @@ -8402,6 +8285,23 @@ "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, "node_modules/eslint-utils": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", @@ -8421,7 +8321,7 @@ "eslint": ">=5" } }, - "node_modules/eslint-visitor-keys": { + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", @@ -8431,90 +8331,7 @@ "node": ">=10" } }, - "node_modules/eslint/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/eslint/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/eslint/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/eslint-visitor-keys": { + "node_modules/eslint-visitor-keys": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", @@ -8527,66 +8344,28 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/eslint/node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "license": "MIT", "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/eslint/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "has-flag": "^4.0.0" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "*" } }, "node_modules/esm": { @@ -8616,19 +8395,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, "node_modules/esquery": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", @@ -8642,16 +8408,6 @@ "node": ">=0.10" } }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, "node_modules/esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", @@ -8665,7 +8421,7 @@ "node": ">=4.0" } }, - "node_modules/esrecurse/node_modules/estraverse": { + "node_modules/estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", @@ -8726,10 +8482,73 @@ "node": ">=0.8.x" } }, + "node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/execa/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/execa/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/execa/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/express": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/express/-/express-4.21.0.tgz", - "integrity": "sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.1.tgz", + "integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==", "license": "MIT", "dependencies": { "accepts": "~1.3.8", @@ -8737,7 +8556,7 @@ "body-parser": "1.20.3", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.6.0", + "cookie": "0.7.1", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", @@ -8840,7 +8659,8 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fast-fifo": { "version": "1.3.2", @@ -8894,11 +8714,11 @@ "license": "MIT" }, "node_modules/fast-uri": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.2.tgz", - "integrity": "sha512-GR6f0hD7XXyNJa25Tb9BuIdN0tdr+0BMi6/CJPH3wJO1JjNG3n/VsSw38AwRdKZABm8lGbPfakLRkYzx2V9row==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.3.tgz", + "integrity": "sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==", "dev": true, - "license": "MIT" + "license": "BSD-3-Clause" }, "node_modules/fast-xml-parser": { "version": "4.4.1", @@ -9053,17 +8873,20 @@ "license": "MIT" }, "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "license": "MIT", "dependencies": { - "locate-path": "^5.0.0", + "locate-path": "^6.0.0", "path-exists": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/flat-cache": { @@ -9147,9 +8970,9 @@ } }, "node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz", + "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", "license": "MIT", "dependencies": { "asynckit": "^0.4.0", @@ -9235,6 +9058,31 @@ "dev": true, "license": "MIT" }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs-extra/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/fs-minipass": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", @@ -9254,9 +9102,9 @@ "license": "ISC" }, "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -9466,12 +9314,6 @@ "integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==", "license": "Apache-2.0" }, - "node_modules/gamedig/node_modules/minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "license": "MIT" - }, "node_modules/gamedig/node_modules/parse5": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", @@ -9609,15 +9451,12 @@ "license": "MIT" }, "node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "license": "MIT", - "dependencies": { - "pump": "^3.0.0" - }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -9681,6 +9520,28 @@ "node": ">=10.13.0" } }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/global-modules": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", @@ -9709,13 +9570,6 @@ "node": ">=6" } }, - "node_modules/global-prefix/node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true, - "license": "ISC" - }, "node_modules/global-prefix/node_modules/which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", @@ -9730,13 +9584,19 @@ } }, "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/globalthis": { @@ -9823,18 +9683,6 @@ "url": "https://github.com/sindresorhus/got?sponsor=1" } }, - "node_modules/got/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", @@ -9870,13 +9718,13 @@ } }, "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/has-property-descriptors": { @@ -9986,26 +9834,6 @@ "node": ">=10" } }, - "node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/hosted-git-info/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "license": "ISC" - }, "node_modules/html-escaper": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-3.0.3.tgz", @@ -10078,18 +9906,6 @@ } } }, - "node_modules/http-cookie-agent/node_modules/agent-base": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", - "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" - } - }, "node_modules/http-errors": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", @@ -10132,6 +9948,18 @@ "node": ">= 6" } }, + "node_modules/http-proxy-agent/node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, "node_modules/http2-wrapper": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz", @@ -10158,6 +9986,28 @@ "node": ">= 6" } }, + "node_modules/https-proxy-agent/node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=16.17.0" + } + }, "node_modules/humanize-ms": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", @@ -10293,6 +10143,13 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "license": "ISC" }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true, + "license": "ISC" + }, "node_modules/internal-slot": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", @@ -10855,9 +10712,9 @@ } }, "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-8.0.3.tgz", + "integrity": "sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==", "dev": true, "license": "MIT" }, @@ -10964,6 +10821,16 @@ "graceful-fs": "^4.1.6" } }, + "node_modules/jsonfile/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/jsonwebtoken": { "version": "9.0.2", "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", @@ -11048,13 +10915,13 @@ } }, "node_modules/knex": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/knex/-/knex-2.4.2.tgz", - "integrity": "sha512-tMI1M7a+xwHhPxjbl/H9K1kHX+VncEYcvCx5K00M16bWvpYPKAZd6QrCu68PtHAdIZNQPWZn0GVhqVBEthGWCg==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/knex/-/knex-2.5.1.tgz", + "integrity": "sha512-z78DgGKUr4SE/6cm7ku+jHvFT0X97aERh/f0MUKAKgFnwCYBEW4TFBqtHWFYiJFid7fMrtpZ/gxJthvz5mEByA==", "license": "MIT", "dependencies": { "colorette": "2.0.19", - "commander": "^9.1.0", + "commander": "^10.0.0", "debug": "4.3.4", "escalade": "^3.1.1", "esm": "^3.2.25", @@ -11062,7 +10929,7 @@ "getopts": "2.3.0", "interpret": "^2.2.0", "lodash": "^4.17.21", - "pg-connection-string": "2.5.0", + "pg-connection-string": "2.6.1", "rechoir": "^0.8.0", "resolve-from": "^5.0.0", "tarn": "^3.0.2", @@ -11098,21 +10965,6 @@ } } }, - "node_modules/knex/node_modules/colorette": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", - "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", - "license": "MIT" - }, - "node_modules/knex/node_modules/commander": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", - "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", - "license": "MIT", - "engines": { - "node": "^12.20.0 || >=14" - } - }, "node_modules/knex/node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -11137,9 +10989,9 @@ "license": "MIT" }, "node_modules/knex/node_modules/pg-connection-string": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.5.0.tgz", - "integrity": "sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.6.1.tgz", + "integrity": "sha512-w6ZzNu6oMmIzEAYVw+RLK0+nqHPt8K3ZnknKi+g48Ak2pr3dtljJW3o+D/n2zzCG07Zoe9VOX3aiKpj+BN0pjg==", "license": "MIT" }, "node_modules/knex/node_modules/resolve-from": { @@ -11211,6 +11063,15 @@ "safe-buffer": "~5.1.0" } }, + "node_modules/leven": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", + "integrity": "sha512-nvVPLpIHUxCUoRLrFqTgSxXJ614d8AgQoWl7zPe/2VadE8+1dpU3LBhowRuBAcuwruWtOdD8oYC9jDNJjXDPyA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -11242,9 +11103,9 @@ "license": "MIT" }, "node_modules/liquidjs": { - "version": "10.17.0", - "resolved": "https://registry.npmjs.org/liquidjs/-/liquidjs-10.17.0.tgz", - "integrity": "sha512-M4MC5/nencttIJHirl5jFTkl7Yu+grIDLn3Qgl7BPAD3BsbTCQknDxlG5VXWRwslWIjk8lSZZjVq9LioILDk1Q==", + "version": "10.18.0", + "resolved": "https://registry.npmjs.org/liquidjs/-/liquidjs-10.18.0.tgz", + "integrity": "sha512-gCJPmpmZ3oi2rMMHo/c+bW1LaRF+ZAKYTWQmKXPp0uK9EkWMFRmgbk3+Io4LSJGAOnpCZSgHJbNzcygx3kfAAQ==", "license": "MIT", "dependencies": { "commander": "^10.0.0" @@ -11261,26 +11122,20 @@ "url": "https://opencollective.com/liquidjs" } }, - "node_modules/liquidjs/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "license": "MIT", - "engines": { - "node": ">=14" - } - }, "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "license": "MIT", "dependencies": { - "p-locate": "^4.1.0" + "p-locate": "^5.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/lodash": { @@ -11376,19 +11231,21 @@ } }, "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "license": "ISC", "dependencies": { - "yallist": "^3.0.2" + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, "node_modules/magic-string": { - "version": "0.30.11", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", - "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", + "version": "0.30.12", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.12.tgz", + "integrity": "sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==", "dev": true, "license": "MIT", "dependencies": { @@ -11457,6 +11314,19 @@ "node": ">= 6" } }, + "node_modules/make-fetch-happen/node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, "node_modules/make-fetch-happen/node_modules/http-proxy-agent": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", @@ -11472,26 +11342,6 @@ "node": ">= 6" } }, - "node_modules/make-fetch-happen/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "license": "ISC", - "optional": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/make-fetch-happen/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "license": "ISC", - "optional": true - }, "node_modules/map-obj": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", @@ -11506,9 +11356,9 @@ } }, "node_modules/marked": { - "version": "14.1.2", - "resolved": "https://registry.npmjs.org/marked/-/marked-14.1.2.tgz", - "integrity": "sha512-f3r0yqpz31VXiDB/wj9GaOB0a2PRLQl6vJmXiFrniNwjkKdvakqJRULhjFKJpxOchlCRiG5fcacoUZY5Xa6PEQ==", + "version": "14.1.3", + "resolved": "https://registry.npmjs.org/marked/-/marked-14.1.3.tgz", + "integrity": "sha512-ZibJqTULGlt9g5k4VMARAktMAjXoVnnr+Y3aCqW1oDftcV4BA3UmrBifzXoZyenHRk75csiPu9iwsTj4VNBT0g==", "license": "MIT", "bin": { "marked": "bin/marked.js" @@ -11689,6 +11539,19 @@ "node": ">= 0.6" } }, + "node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/mimic-response": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", @@ -11709,25 +11572,25 @@ } }, "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "license": "ISC", "dependencies": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" }, "engines": { - "node": "*" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "license": "MIT" }, "node_modules/minimist-options": { "version": "4.1.0", @@ -11826,12 +11689,6 @@ "node": ">=8" } }, - "node_modules/minipass/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "license": "ISC" - }, "node_modules/minizlib": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", @@ -11845,12 +11702,6 @@ "node": ">= 8" } }, - "node_modules/minizlib/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "license": "ISC" - }, "node_modules/mitt": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", @@ -11988,18 +11839,6 @@ "process-nextick-args": "^2.0.1" } }, - "node_modules/mqtt/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/mqtt/node_modules/mqtt-packet": { "version": "6.10.0", "resolved": "https://registry.npmjs.org/mqtt-packet/-/mqtt-packet-6.10.0.tgz", @@ -12032,12 +11871,6 @@ } } }, - "node_modules/mqtt/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "license": "ISC" - }, "node_modules/mrmime": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", @@ -12133,9 +11966,9 @@ } }, "node_modules/nan": { - "version": "2.20.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.20.0.tgz", - "integrity": "sha512-bk3gXBZDGILuuo/6sKtr0DQmSThYHLtNCdSdXk9YkxD/jK6X2vmCyyXBBxyqZ4XcnzTyYEAThfX3DCEnLf6igw==", + "version": "2.22.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.22.0.tgz", + "integrity": "sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw==", "dev": true, "license": "MIT", "optional": true @@ -12181,9 +12014,9 @@ } }, "node_modules/net-snmp": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/net-snmp/-/net-snmp-3.15.0.tgz", - "integrity": "sha512-5XBpAxhumpweYgAvdIjo3RiM5HOwl2YhGlV86z/xghy+iHsIC0SQoE4i65zc/upCMNsUYluqkKG8ctaCrTK+Tg==", + "version": "3.15.1", + "resolved": "https://registry.npmjs.org/net-snmp/-/net-snmp-3.15.1.tgz", + "integrity": "sha512-o6BV8iti9qhla2mLYhDoucYY/vBl7GZbyvEXgIxl3fgwald9R0RJdUFEnOohIFP6UUVONVazD1VcTuuSctd7tQ==", "license": "MIT", "dependencies": { "asn1-ber": "^1.2.1", @@ -12460,6 +12293,35 @@ "node": "> v0.6.0" } }, + "node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/npmlog": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", @@ -12593,6 +12455,22 @@ "wrappy": "1" } }, + "node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/open": { "version": "8.4.2", "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", @@ -12625,24 +12503,6 @@ "url": "https://github.com/sponsors/panva" } }, - "node_modules/openid-client/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/openid-client/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "license": "ISC" - }, "node_modules/optionator": { "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", @@ -12687,29 +12547,16 @@ } }, "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "license": "MIT", "dependencies": { - "p-limit": "^2.2.0" + "p-limit": "^3.0.2" }, "engines": { - "node": ">=8" - } - }, - "node_modules/p-locate/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -12781,24 +12628,24 @@ } }, "node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.2.0.tgz", + "integrity": "sha512-ZkDsAOcxsUMZ4Lz5fVciOehNcJ+Gb8gTzcA4yl3wnc273BAybYWrQ+Ks/OjCjSEpjvQkDSeZbybK9qj2VHHdGA==", "license": "MIT", "dependencies": { - "entities": "^4.4.0" + "entities": "^4.5.0" }, "funding": { "url": "https://github.com/inikulin/parse5?sponsor=1" } }, "node_modules/parse5-htmlparser2-tree-adapter": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", - "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz", + "integrity": "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==", "license": "MIT", "dependencies": { - "domhandler": "^5.0.2", + "domhandler": "^5.0.3", "parse5": "^7.0.0" }, "funding": { @@ -13031,9 +12878,9 @@ } }, "node_modules/picocolors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", - "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", "dev": true, "license": "ISC" }, @@ -13090,21 +12937,6 @@ "node": ">=16" } }, - "node_modules/playwright/node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/pngjs": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz", @@ -13190,13 +13022,6 @@ "entities": "^4.4.0" } }, - "node_modules/postcss-html/node_modules/js-tokens": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-8.0.3.tgz", - "integrity": "sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==", - "dev": true, - "license": "MIT" - }, "node_modules/postcss-resolve-nested-selector": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.6.tgz", @@ -13552,20 +13377,14 @@ "node": ">=10.13.0" } }, - "node_modules/qrcode/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/qrcode/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=6" } }, "node_modules/qrcode/node_modules/cliui": { @@ -13580,26 +13399,6 @@ "wrap-ansi": "^6.2.0" } }, - "node_modules/qrcode/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/qrcode/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, "node_modules/qrcode/node_modules/decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", @@ -13610,6 +13409,62 @@ "node": ">=0.10.0" } }, + "node_modules/qrcode/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/qrcode/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/qrcode/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/qrcode/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/qrcode/node_modules/wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", @@ -13820,55 +13675,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/read-pkg-up/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/read-pkg-up/node_modules/type-fest": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", @@ -13919,16 +13725,6 @@ "minimatch": "^5.1.0" } }, - "node_modules/readdir-glob/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, "node_modules/readdir-glob/node_modules/minimatch": { "version": "5.1.6", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", @@ -13987,13 +13783,30 @@ "integrity": "sha512-wheIYdr4NYML61AjC8MKj/2jrR/kDQri/CIpVoZwldwhnIrD/j9jIU5bJ8yBKuB2VhpFV7Ab6G2XkBjv9r9Zzw==", "license": "MIT" }, - "node_modules/redbean-node/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "node_modules/redbean-node/node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "node_modules/redbean-node/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, "node_modules/redbean-node/node_modules/glob": { @@ -14018,19 +13831,55 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/redbean-node/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "license": "ISC", + "node_modules/redbean-node/node_modules/knex": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/knex/-/knex-2.4.2.tgz", + "integrity": "sha512-tMI1M7a+xwHhPxjbl/H9K1kHX+VncEYcvCx5K00M16bWvpYPKAZd6QrCu68PtHAdIZNQPWZn0GVhqVBEthGWCg==", + "license": "MIT", "dependencies": { - "brace-expansion": "^2.0.1" + "colorette": "2.0.19", + "commander": "^9.1.0", + "debug": "4.3.4", + "escalade": "^3.1.1", + "esm": "^3.2.25", + "get-package-type": "^0.1.0", + "getopts": "2.3.0", + "interpret": "^2.2.0", + "lodash": "^4.17.21", + "pg-connection-string": "2.5.0", + "rechoir": "^0.8.0", + "resolve-from": "^5.0.0", + "tarn": "^3.0.2", + "tildify": "2.0.0" + }, + "bin": { + "knex": "bin/cli.js" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=12" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "peerDependenciesMeta": { + "better-sqlite3": { + "optional": true + }, + "mysql": { + "optional": true + }, + "mysql2": { + "optional": true + }, + "pg": { + "optional": true + }, + "pg-native": { + "optional": true + }, + "sqlite3": { + "optional": true + }, + "tedious": { + "optional": true + } } }, "node_modules/redbean-node/node_modules/minipass": { @@ -14042,6 +13891,27 @@ "node": ">=16 || 14 >=14.17" } }, + "node_modules/redbean-node/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "license": "MIT" + }, + "node_modules/redbean-node/node_modules/pg-connection-string": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.5.0.tgz", + "integrity": "sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ==", + "license": "MIT" + }, + "node_modules/redbean-node/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/redent": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz", @@ -14097,16 +13967,16 @@ "license": "MIT" }, "node_modules/regexp.prototype.flags": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", - "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz", + "integrity": "sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.6", + "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-errors": "^1.3.0", - "set-function-name": "^2.0.1" + "set-function-name": "^2.0.2" }, "engines": { "node": ">= 0.4" @@ -14232,6 +14102,7 @@ "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", "devOptional": true, + "license": "MIT", "engines": { "node": ">= 4" } @@ -14270,9 +14141,9 @@ } }, "node_modules/rollup": { - "version": "4.22.5", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.5.tgz", - "integrity": "sha512-WoinX7GeQOFMGznEcWA1WrTQCd/tpEbMkc3nuMs9BT0CPjMdSjPMTVClwWd4pgSQwJdP65SK9mTCNvItlr5o7w==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.24.0.tgz", + "integrity": "sha512-DOmrlGSXNk1DM0ljiQA+i+o0rSLhtii1je5wgk60j49d1jHT5YYttBv1iWOnYSTG+fZZESUOSNiAl89SIet+Cg==", "dev": true, "license": "MIT", "dependencies": { @@ -14286,22 +14157,22 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.22.5", - "@rollup/rollup-android-arm64": "4.22.5", - "@rollup/rollup-darwin-arm64": "4.22.5", - "@rollup/rollup-darwin-x64": "4.22.5", - "@rollup/rollup-linux-arm-gnueabihf": "4.22.5", - "@rollup/rollup-linux-arm-musleabihf": "4.22.5", - "@rollup/rollup-linux-arm64-gnu": "4.22.5", - "@rollup/rollup-linux-arm64-musl": "4.22.5", - "@rollup/rollup-linux-powerpc64le-gnu": "4.22.5", - "@rollup/rollup-linux-riscv64-gnu": "4.22.5", - "@rollup/rollup-linux-s390x-gnu": "4.22.5", - "@rollup/rollup-linux-x64-gnu": "4.22.5", - "@rollup/rollup-linux-x64-musl": "4.22.5", - "@rollup/rollup-win32-arm64-msvc": "4.22.5", - "@rollup/rollup-win32-ia32-msvc": "4.22.5", - "@rollup/rollup-win32-x64-msvc": "4.22.5", + "@rollup/rollup-android-arm-eabi": "4.24.0", + "@rollup/rollup-android-arm64": "4.24.0", + "@rollup/rollup-darwin-arm64": "4.24.0", + "@rollup/rollup-darwin-x64": "4.24.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.24.0", + "@rollup/rollup-linux-arm-musleabihf": "4.24.0", + "@rollup/rollup-linux-arm64-gnu": "4.24.0", + "@rollup/rollup-linux-arm64-musl": "4.24.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.24.0", + "@rollup/rollup-linux-riscv64-gnu": "4.24.0", + "@rollup/rollup-linux-s390x-gnu": "4.24.0", + "@rollup/rollup-linux-x64-gnu": "4.24.0", + "@rollup/rollup-linux-x64-musl": "4.24.0", + "@rollup/rollup-win32-arm64-msvc": "4.24.0", + "@rollup/rollup-win32-ia32-msvc": "4.24.0", + "@rollup/rollup-win32-x64-msvc": "4.24.0", "fsevents": "~2.3.2" } }, @@ -14332,16 +14203,6 @@ } } }, - "node_modules/rollup-plugin-visualizer/node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">= 8" - } - }, "node_modules/rtlcss": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-3.5.0.tgz", @@ -14358,55 +14219,6 @@ "rtlcss": "bin/rtlcss.js" } }, - "node_modules/rtlcss/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/rtlcss/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/rtlcss/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/run-applescript": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", @@ -14520,9 +14332,9 @@ } }, "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", "license": "ISC" }, "node_modules/sb-promise-queue": { @@ -14561,6 +14373,15 @@ "seek-table": "bin/seek-bzip-table" } }, + "node_modules/seek-bzip/node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, "node_modules/semver": { "version": "7.5.4", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", @@ -14576,24 +14397,6 @@ "node": ">=10" } }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "license": "ISC" - }, "node_modules/send": { "version": "0.19.0", "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", @@ -14770,9 +14573,9 @@ "license": "ISC" }, "node_modules/sirv": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", - "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.0.tgz", + "integrity": "sha512-BPwJGUeDaDCHihkORDchNyyTvWFhcusy1XMmhEVTQTwGeybFbp8YEmB+njbPnth1FibULBSBVwCQni25XlCUDg==", "dev": true, "license": "MIT", "dependencies": { @@ -14781,7 +14584,7 @@ "totalist": "^3.0.0" }, "engines": { - "node": ">= 10" + "node": ">=18" } }, "node_modules/slash": { @@ -14794,6 +14597,24 @@ "node": ">=8" } }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, "node_modules/smart-buffer": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", @@ -14805,9 +14626,9 @@ } }, "node_modules/socket.io": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.0.tgz", - "integrity": "sha512-8U6BEgGjQOfGz3HHTYaC/L1GaxDCJ/KM0XTkJly0EhZ5U/du9uNEZy4ZgYzEzIqlx2CMm25CrCqr1ck899eLNA==", + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.1.tgz", + "integrity": "sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg==", "license": "MIT", "dependencies": { "accepts": "~1.3.4", @@ -14854,9 +14675,9 @@ } }, "node_modules/socket.io-client": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.8.0.tgz", - "integrity": "sha512-C0jdhD5yQahMws9alf/yvtsMGTaIDBnZ8Rb5HU56svyq0l5LIrGzIDZZD5pHQlmzxLuU91Gz+VpQMKgCTNYtkw==", + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.8.1.tgz", + "integrity": "sha512-hJVXfu3E28NmzGk8o1sHhN3om52tRvwYeidbj7xKy2eIIse5IoKX3USlS6Tqt3BHAtflLIkCQBkzVrEEfWUyYQ==", "license": "MIT", "dependencies": { "@socket.io/component-emitter": "~3.1.0", @@ -14909,6 +14730,18 @@ "node": ">= 10" } }, + "node_modules/socks-proxy-agent/node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, "node_modules/sortablejs": { "version": "1.14.0", "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.14.0.tgz", @@ -14917,13 +14750,13 @@ "license": "MIT" }, "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", "dev": true, "license": "BSD-3-Clause", "engines": { - "node": ">=0.10.0" + "node": ">= 8" } }, "node_modules/source-map-js": { @@ -14936,6 +14769,27 @@ "node": ">=0.10.0" } }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/sparse-bitfield": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", @@ -15320,6 +15174,19 @@ "node": ">=8" } }, + "node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/strip-indent": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz", @@ -15475,33 +15342,6 @@ "node": ">=8" } }, - "node_modules/stylelint/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/stylelint/node_modules/write-file-atomic": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", - "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", - "dev": true, - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/superjson": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/superjson/-/superjson-2.2.1.tgz", @@ -15516,16 +15356,19 @@ } }, "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, "node_modules/supports-hyperlinks": { @@ -15545,16 +15388,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/supports-hyperlinks/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/supports-hyperlinks/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -15620,42 +15453,6 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/table/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/table/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/table/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, "node_modules/table/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", @@ -15663,24 +15460,6 @@ "dev": true, "license": "MIT" }, - "node_modules/table/node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, "node_modules/tar": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", @@ -15734,12 +15513,6 @@ "node": ">=8" } }, - "node_modules/tar/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "license": "ISC" - }, "node_modules/tarn": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/tarn/-/tarn-3.0.2.tgz", @@ -15863,17 +15636,6 @@ "dev": true, "license": "MIT" }, - "node_modules/terser/node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, "node_modules/test": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/test/-/test-3.3.0.tgz", @@ -15939,6 +15701,7 @@ "resolved": "https://registry.npmjs.org/testcontainers/-/testcontainers-10.13.2.tgz", "integrity": "sha512-LfEll+AG/1Ks3n4+IA5lpyBHLiYh/hSfI4+ERa6urwfQscbDU+M2iW1qPQrHQi+xJXQRYy4whyK1IEHdmxWa3Q==", "dev": true, + "license": "MIT", "dependencies": { "@balena/dockerignore": "^1.0.2", "@types/dockerode": "^3.3.29", @@ -15958,14 +15721,11 @@ } }, "node_modules/text-decoder": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.0.tgz", - "integrity": "sha512-n1yg1mOj9DNpk3NeZOx7T6jchTbyJS3i3cucbNN6FcdPriMZx7NsgrGpWWdWZZGxD7ES1XB+3uoqHMgOKaN+fg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.1.tgz", + "integrity": "sha512-x9v3H/lTKIJKQQe7RPQkLfKAnc9lUTkWDypIQgTzPJAq+5/GCDHonmshfvlsNSj58yyshbIJJDLmU15qNERrXQ==", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.6.4" - } + "license": "Apache-2.0" }, "node_modules/text-table": { "version": "0.2.0", @@ -16001,16 +15761,6 @@ "node": ">=14.14" } }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -16068,15 +15818,6 @@ "node": ">=6" } }, - "node_modules/tough-cookie/node_modules/universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", - "license": "MIT", - "engines": { - "node": ">= 4.0.0" - } - }, "node_modules/tr46": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/tr46/-/tr46-4.1.1.tgz", @@ -16137,9 +15878,9 @@ } }, "node_modules/tslib": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", - "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", + "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", "license": "0BSD" }, "node_modules/tunnel": { @@ -16172,6 +15913,19 @@ "node": ">= 0.8.0" } }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", @@ -16351,13 +16105,12 @@ "license": "ISC" }, "node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", "license": "MIT", "engines": { - "node": ">= 10.0.0" + "node": ">= 4.0.0" } }, "node_modules/unpipe": { @@ -16580,97 +16333,6 @@ "vite": ">=2.0.0" } }, - "node_modules/vite-plugin-compression/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/vite-plugin-compression/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/vite-plugin-compression/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/vite-plugin-compression/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/vite-plugin-compression/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/vite-plugin-compression/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/vite-plugin-compression/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/vite-plugin-inspect": { "version": "0.8.7", "resolved": "https://registry.npmjs.org/vite-plugin-inspect/-/vite-plugin-inspect-0.8.7.tgz", @@ -16766,18 +16428,43 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/vite-plugin-vue-devtools": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/vite-plugin-vue-devtools/-/vite-plugin-vue-devtools-7.4.6.tgz", - "integrity": "sha512-lOKur3qovCB3BQStL0qfHEoIusqya1ngfxfWuqn9DTa6h9rlw6+S3PV4geOP5YBGYQ4NW1hRX70OD8I+sYr1dA==", + "node_modules/vite-plugin-inspect/node_modules/sirv": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", + "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", "dev": true, "license": "MIT", "dependencies": { - "@vue/devtools-core": "^7.4.6", - "@vue/devtools-kit": "^7.4.6", - "@vue/devtools-shared": "^7.4.6", + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/vite-plugin-inspect/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/vite-plugin-vue-devtools": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/vite-plugin-vue-devtools/-/vite-plugin-vue-devtools-7.5.4.tgz", + "integrity": "sha512-6yTcGrF+YdplDhNiNCkwj23BQDHA/jp06FR4Bo3rui1GW+8VdFcc26au2gtynPwRDNJXNueTxiVtVb6dq+lNZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-core": "^7.5.4", + "@vue/devtools-kit": "^7.5.4", + "@vue/devtools-shared": "^7.5.4", "execa": "^8.0.1", - "sirv": "^2.0.4", + "sirv": "^3.0.0", "vite-plugin-inspect": "^0.8.7", "vite-plugin-vue-inspector": "^5.2.0" }, @@ -16788,150 +16475,6 @@ "vite": "^3.1.0 || ^4.0.0-0 || ^5.0.0-0" } }, - "node_modules/vite-plugin-vue-devtools/node_modules/execa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", - "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^8.0.1", - "human-signals": "^5.0.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" - }, - "engines": { - "node": ">=16.17" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/vite-plugin-vue-devtools/node_modules/get-stream": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", - "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/vite-plugin-vue-devtools/node_modules/human-signals": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=16.17.0" - } - }, - "node_modules/vite-plugin-vue-devtools/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/vite-plugin-vue-devtools/node_modules/mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/vite-plugin-vue-devtools/node_modules/npm-run-path": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", - "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/vite-plugin-vue-devtools/node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/vite-plugin-vue-devtools/node_modules/path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/vite-plugin-vue-devtools/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/vite-plugin-vue-devtools/node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/vite-plugin-vue-inspector": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/vite-plugin-vue-inspector/-/vite-plugin-vue-inspector-5.2.0.tgz", @@ -16953,6 +16496,21 @@ "vite": "^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0" } }, + "node_modules/vite/node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/vue": { "version": "3.4.38", "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.38.tgz", @@ -17058,46 +16616,6 @@ "eslint": ">=6.0.0" } }, - "node_modules/vue-eslint-parser/node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/vue-eslint-parser/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/vue-eslint-parser/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, "node_modules/vue-i18n": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.2.2.tgz", @@ -17257,6 +16775,16 @@ "@sideway/pinpoint": "^2.0.0" } }, + "node_modules/wait-on/node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/webidl-conversions": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", @@ -17414,78 +16942,39 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "license": "MIT" - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "license": "MIT" - }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "license": "ISC" }, + "node_modules/write-file-atomic": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", + "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/write-file-atomic/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/ws": { "version": "8.18.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", @@ -17529,9 +17018,9 @@ } }, "node_modules/xmlhttprequest-ssl": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.1.1.tgz", - "integrity": "sha512-ptjR8YSJIXoA3Mbv5po7RtSYHO6mZr8s7i5VGmEk7QY2pQWyT1o0N+W1gKbOyJPUCGXGnuw0wqe8f0L6Y0ny7g==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.1.2.tgz", + "integrity": "sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ==", "engines": { "node": ">=0.4.0" } @@ -17550,6 +17039,12 @@ "npm": ">=1.0.0" } }, + "node_modules/xmlrpc/node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "license": "ISC" + }, "node_modules/xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", @@ -17569,16 +17064,15 @@ } }, "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true, + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "license": "ISC" }, "node_modules/yaml": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.1.tgz", - "integrity": "sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.0.tgz", + "integrity": "sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==", "dev": true, "license": "ISC", "bin": { From 459fb138f2754b193e73085b75111889d19e08d5 Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Sat, 26 Oct 2024 22:12:55 +0800 Subject: [PATCH 056/226] Add `next` and `next-slim` tags (#5253) --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 2a28b8d4c..a0fabbe4a 100644 --- a/package.json +++ b/package.json @@ -38,8 +38,8 @@ "build-docker-base": "docker buildx build -f docker/debian-base.dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:base2 --target base2 . --push", "build-docker-base-slim": "docker buildx build -f docker/debian-base.dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:base2-slim --target base2-slim . --push", "build-docker-builder-go": "docker buildx build -f docker/builder-go.dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:builder-go . --push", - "build-docker-slim": "node ./extra/env2arg.js docker buildx build -f docker/dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:2-slim -t louislam/uptime-kuma:$VERSION-slim --target release --build-arg BASE_IMAGE=louislam/uptime-kuma:base2-slim . --push", - "build-docker-full": "node ./extra/env2arg.js docker buildx build -f docker/dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:2 -t louislam/uptime-kuma:$VERSION --target release . --push", + "build-docker-slim": "node ./extra/env2arg.js docker buildx build -f docker/dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:next-slim -t louislam/uptime-kuma:2-slim -t louislam/uptime-kuma:$VERSION-slim --target release --build-arg BASE_IMAGE=louislam/uptime-kuma:base2-slim . --push", + "build-docker-full": "node ./extra/env2arg.js docker buildx build -f docker/dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:next -t louislam/uptime-kuma:2 -t louislam/uptime-kuma:$VERSION --target release . --push", "build-docker-nightly": "node ./extra/test-docker.js && npm run build && docker buildx build -f docker/dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:nightly2 --target nightly . --push", "build-docker-slim-rootless": "node ./extra/env2arg.js docker buildx build -f docker/dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:2-slim-rootless -t louislam/uptime-kuma:$VERSION-slim-rootless --target rootless --build-arg BASE_IMAGE=louislam/uptime-kuma:base2-slim . --push", "build-docker-full-rootless": "node ./extra/env2arg.js docker buildx build -f docker/dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:2-rootless -t louislam/uptime-kuma:$VERSION-rootless --target rootless . --push", From 7d8dc55dbeb08804345f4fb0917cd0b33a35d2ff Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Sun, 27 Oct 2024 11:47:30 +0800 Subject: [PATCH 057/226] Fix: the rootless user put in the wrong place (#5257) --- docker/dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/dockerfile b/docker/dockerfile index 572c732e0..d55f94f61 100644 --- a/docker/dockerfile +++ b/docker/dockerfile @@ -27,7 +27,6 @@ RUN mkdir ./data # ⭐ Main Image ############################################ FROM $BASE_IMAGE AS release -USER node WORKDIR /app LABEL org.opencontainers.image.source="https://github.com/louislam/uptime-kuma" @@ -46,6 +45,7 @@ CMD ["node", "server/server.js"] # Rootless Image ############################################ FROM release AS rootless +USER node ############################################ # Mark as Nightly From 46d8744fa40cf6a5773578252af655058437b1e6 Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Sun, 27 Oct 2024 13:22:23 +0800 Subject: [PATCH 058/226] Fix: Docker Healthcheck is not happy during migration (#5258) --- server/database.js | 34 ++++++++-- server/server.js | 2 +- server/utils/simple-migration-server.js | 84 +++++++++++++++++++++++++ 3 files changed, 114 insertions(+), 6 deletions(-) create mode 100644 server/utils/simple-migration-server.js diff --git a/server/database.js b/server/database.js index 714c51ba3..75f5f25cf 100644 --- a/server/database.js +++ b/server/database.js @@ -9,6 +9,7 @@ const mysql = require("mysql2/promise"); const { Settings } = require("./settings"); const { UptimeCalculator } = require("./uptime-calculator"); const dayjs = require("dayjs"); +const { SimpleMigrationServer } = require("./utils/simple-migration-server"); /** * Database & App Data Folder @@ -382,9 +383,11 @@ class Database { /** * Patch the database + * @param {number} port Start the migration server for aggregate tables on this port if provided + * @param {string} hostname Start the migration server for aggregate tables on this hostname if provided * @returns {Promise} */ - static async patch() { + static async patch(port = undefined, hostname = undefined) { // Still need to keep this for old versions of Uptime Kuma if (Database.dbConfig.type === "sqlite") { await this.patchSqlite(); @@ -409,7 +412,7 @@ class Database { await R.exec("PRAGMA foreign_keys = ON"); } - await this.migrateAggregateTable(); + await this.migrateAggregateTable(port, hostname); } catch (e) { // Allow missing patch files for downgrade or testing pr. @@ -735,9 +738,11 @@ class Database { * Normally, it should be in transaction, but UptimeCalculator wasn't designed to be in transaction before that. * I don't want to heavily modify the UptimeCalculator, so it is not in transaction. * Run `npm run reset-migrate-aggregate-table-state` to reset, in case the migration is interrupted. + * @param {number} port Start the migration server on this port if provided + * @param {string} hostname Start the migration server on this hostname if provided * @returns {Promise} */ - static async migrateAggregateTable() { + static async migrateAggregateTable(port, hostname = undefined) { log.debug("db", "Enter Migrate Aggregate Table function"); // Add a setting for 2.0.0-dev users to skip this migration @@ -758,6 +763,18 @@ class Database { throw new Error("Aggregate table migration is already in progress"); } + /** + * Start migration server for displaying the migration status + * @type {SimpleMigrationServer} + */ + let migrationServer; + let msg; + + if (port) { + migrationServer = new SimpleMigrationServer(); + await migrationServer.start(port, hostname); + } + await Settings.set("migrateAggregateTableState", "migrating"); log.info("db", "Migrating Aggregate Table"); @@ -777,6 +794,7 @@ class Database { let count = countResult.count; if (count > 0) { log.warn("db", `Aggregate table ${table} is not empty, migration will not be started (Maybe you were using 2.0.0-dev?)`); + await migrationServer?.stop(); return; } } @@ -811,7 +829,9 @@ class Database { `, [ monitor.monitor_id, date.date ]); if (heartbeats.length > 0) { - log.info("db", `[DON'T STOP] Migrating monitor data ${monitor.monitor_id} - ${date.date} [${progressPercent.toFixed(2)}%][${i}/${monitors.length}]`); + msg = `[DON'T STOP] Migrating monitor data ${monitor.monitor_id} - ${date.date} [${progressPercent.toFixed(2)}%][${i}/${monitors.length}]`; + log.info("db", msg); + migrationServer?.update(msg); } for (let heartbeat of heartbeats) { @@ -829,9 +849,13 @@ class Database { i++; } - await Database.clearHeartbeatData(true); + msg = "Clearing non-important heartbeats"; + log.info("db", msg); + migrationServer?.update(msg); + await Database.clearHeartbeatData(true); await Settings.set("migrateAggregateTableState", "migrated"); + await migrationServer?.stop(); if (monitors.length > 0) { log.info("db", "Aggregate Table Migration Completed"); diff --git a/server/server.js b/server/server.js index 7c46fa894..ec5ad49f6 100644 --- a/server/server.js +++ b/server/server.js @@ -1716,7 +1716,7 @@ async function initDatabase(testMode = false) { log.info("server", "Connected to the database"); // Patch the database - await Database.patch(); + await Database.patch(port, hostname); let jwtSecretBean = await R.findOne("setting", " `key` = ? ", [ "jwtSecret", diff --git a/server/utils/simple-migration-server.js b/server/utils/simple-migration-server.js new file mode 100644 index 000000000..680f8df24 --- /dev/null +++ b/server/utils/simple-migration-server.js @@ -0,0 +1,84 @@ +const express = require("express"); +const http = require("node:http"); +const { log } = require("../../src/util"); + +/** + * SimpleMigrationServer + * For displaying the migration status of the server + * Also, it is used to let Docker healthcheck know the status of the server, as the main server is not started yet, healthcheck will think the server is down incorrectly. + */ +class SimpleMigrationServer { + /** + * Express app instance + * @type {?Express} + */ + app; + + /** + * Server instance + * @type {?Server} + */ + server; + + /** + * Response object + * @type {?Response} + */ + response; + + /** + * Start the server + * @param {number} port Port + * @param {string} hostname Hostname + * @returns {Promise} + */ + start(port, hostname) { + this.app = express(); + this.server = http.createServer(this.app); + + this.app.get("/", (req, res) => { + res.set("Content-Type", "text/plain"); + res.write("Migration is in progress, listening message...\n"); + if (this.response) { + this.response.write("Disconnected\n"); + this.response.end(); + } + this.response = res; + // never ending response + }); + + return new Promise((resolve) => { + this.server.listen(port, hostname, () => { + if (hostname) { + log.info("migration", `Migration server is running on http://${hostname}:${port}`); + } else { + log.info("migration", `Migration server is running on http://localhost:${port}`); + } + resolve(); + }); + }); + } + + /** + * Update the message + * @param {string} msg Message to update + * @returns {void} + */ + update(msg) { + this.response?.write(msg + "\n"); + } + + /** + * Stop the server + * @returns {Promise} + */ + async stop() { + this.response?.write("Finished, please refresh this page.\n"); + this.response?.end(); + await this.server?.close(); + } +} + +module.exports = { + SimpleMigrationServer, +}; From 277d6fe0cee9306d4e298d8ed53f5474c3682928 Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Sun, 27 Oct 2024 20:30:44 +0800 Subject: [PATCH 059/226] Fix #5087 and fix migration state (#5260) --- .../2024-11-27-1927-fix-info-json-data-type.js | 13 +++++++++++++ server/database.js | 4 ++-- 2 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 db/knex_migrations/2024-11-27-1927-fix-info-json-data-type.js diff --git a/db/knex_migrations/2024-11-27-1927-fix-info-json-data-type.js b/db/knex_migrations/2024-11-27-1927-fix-info-json-data-type.js new file mode 100644 index 000000000..0f3f75e5b --- /dev/null +++ b/db/knex_migrations/2024-11-27-1927-fix-info-json-data-type.js @@ -0,0 +1,13 @@ +// Update info_json column to LONGTEXT mainly for MariaDB +exports.up = function (knex) { + return knex.schema + .alterTable("monitor_tls_info", function (table) { + table.text("info_json", "longtext").alter(); + }); +}; + +exports.down = function (knex) { + return knex.schema.alterTable("monitor_tls_info", function (table) { + table.text("info_json", "text").alter(); + }); +}; diff --git a/server/database.js b/server/database.js index 75f5f25cf..eb4594356 100644 --- a/server/database.js +++ b/server/database.js @@ -775,8 +775,6 @@ class Database { await migrationServer.start(port, hostname); } - await Settings.set("migrateAggregateTableState", "migrating"); - log.info("db", "Migrating Aggregate Table"); log.info("db", "Getting list of unique monitors"); @@ -799,6 +797,8 @@ class Database { } } + await Settings.set("migrateAggregateTableState", "migrating"); + let progressPercent = 0; let part = 100 / monitors.length; let i = 1; From ca094296f27a41d22af9cd846dc4e32e8bc5071b Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Mon, 28 Oct 2024 13:16:22 +0800 Subject: [PATCH 060/226] Fix: Knex cannot set a default value for TEXT field (MariaDB) (#5261) --- package-lock.json | 62 ++++++++++++------- package.json | 4 +- server/database.js | 9 +++ .../mysql2/schema/mysql2-columncompiler.js | 22 +++++++ 4 files changed, 72 insertions(+), 25 deletions(-) create mode 100644 server/utils/knex/lib/dialects/mysql2/schema/mysql2-columncompiler.js diff --git a/package-lock.json b/package-lock.json index a3c5dc237..100cdcd88 100644 --- a/package-lock.json +++ b/package-lock.json @@ -46,7 +46,7 @@ "jsonwebtoken": "~9.0.0", "jwt-decode": "~3.1.2", "kafkajs": "^2.2.4", - "knex": "^2.4.2", + "knex": "~3.1.0", "limiter": "~2.1.0", "liquidjs": "^10.7.0", "marked": "^14.0.0", @@ -54,7 +54,7 @@ "mongodb": "~4.17.1", "mqtt": "~4.3.7", "mssql": "~11.0.0", - "mysql2": "~3.9.6", + "mysql2": "~3.11.3", "nanoid": "~3.3.4", "net-snmp": "^3.11.2", "node-cloudflared-tunnel": "~1.0.9", @@ -5655,6 +5655,15 @@ "integrity": "sha512-aDczADvlvTGajTDjcjpJMqRkOF6Qdz3YbPZm/PyW6tKPkx2hlYBzxMhEywM/tU72HrVZjgl5VCdRuMlA7pZ8Gw==", "license": "MIT" }, + "node_modules/aws-ssl-profiles": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/aws-ssl-profiles/-/aws-ssl-profiles-1.1.2.tgz", + "integrity": "sha512-NZKeq9AfyQvEeNlN0zSYAaWrmBffJh3IELMZfRpJVWgrpEbtEpnjvzqBPf+mxoI287JohRDoa+/nsfqqiZmF6g==", + "license": "MIT", + "engines": { + "node": ">= 6.0.0" + } + }, "node_modules/axios": { "version": "0.28.1", "resolved": "https://registry.npmjs.org/axios/-/axios-0.28.1.tgz", @@ -10915,9 +10924,9 @@ } }, "node_modules/knex": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/knex/-/knex-2.5.1.tgz", - "integrity": "sha512-z78DgGKUr4SE/6cm7ku+jHvFT0X97aERh/f0MUKAKgFnwCYBEW4TFBqtHWFYiJFid7fMrtpZ/gxJthvz5mEByA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/knex/-/knex-3.1.0.tgz", + "integrity": "sha512-GLoII6hR0c4ti243gMs5/1Rb3B+AjwMOfjYm97pu0FOQa7JH56hgBxYf5WK2525ceSbBY1cjeZ9yk99GPMB6Kw==", "license": "MIT", "dependencies": { "colorette": "2.0.19", @@ -10929,7 +10938,7 @@ "getopts": "2.3.0", "interpret": "^2.2.0", "lodash": "^4.17.21", - "pg-connection-string": "2.6.1", + "pg-connection-string": "2.6.2", "rechoir": "^0.8.0", "resolve-from": "^5.0.0", "tarn": "^3.0.2", @@ -10939,7 +10948,7 @@ "knex": "bin/cli.js" }, "engines": { - "node": ">=12" + "node": ">=16" }, "peerDependenciesMeta": { "better-sqlite3": { @@ -10989,9 +10998,9 @@ "license": "MIT" }, "node_modules/knex/node_modules/pg-connection-string": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.6.1.tgz", - "integrity": "sha512-w6ZzNu6oMmIzEAYVw+RLK0+nqHPt8K3ZnknKi+g48Ak2pr3dtljJW3o+D/n2zzCG07Zoe9VOX3aiKpj+BN0pjg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.6.2.tgz", + "integrity": "sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==", "license": "MIT" }, "node_modules/knex/node_modules/resolve-from": { @@ -11242,6 +11251,21 @@ "node": ">=10" } }, + "node_modules/lru.min": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/lru.min/-/lru.min-1.1.1.tgz", + "integrity": "sha512-FbAj6lXil6t8z4z3j0E5mfRlPzxkySotzUHwRXjlpRh10vc6AI6WN62ehZj82VG7M20rqogJ0GLwar2Xa05a8Q==", + "license": "MIT", + "engines": { + "bun": ">=1.0.0", + "deno": ">=1.30.0", + "node": ">=8.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wellwelwel" + } + }, "node_modules/magic-string": { "version": "0.30.12", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.12.tgz", @@ -11917,16 +11941,17 @@ } }, "node_modules/mysql2": { - "version": "3.9.9", - "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-3.9.9.tgz", - "integrity": "sha512-Qtb2RUxwWMFkWXqF7Rd/7ySkupbQnNY7O0zQuQYgPcuJZ06M36JG3HIDEh/pEeq7LImcvA6O3lOVQ9XQK+HEZg==", + "version": "3.11.3", + "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-3.11.3.tgz", + "integrity": "sha512-Qpu2ADfbKzyLdwC/5d4W7+5Yz7yBzCU05YWt5npWzACST37wJsB23wgOSo00qi043urkiRwXtEvJc9UnuLX/MQ==", "license": "MIT", "dependencies": { + "aws-ssl-profiles": "^1.1.1", "denque": "^2.1.0", "generate-function": "^2.3.1", "iconv-lite": "^0.6.3", "long": "^5.2.1", - "lru-cache": "^8.0.0", + "lru.min": "^1.0.0", "named-placeholders": "^1.1.3", "seq-queue": "^0.0.5", "sqlstring": "^2.3.2" @@ -11935,15 +11960,6 @@ "node": ">= 8.0" } }, - "node_modules/mysql2/node_modules/lru-cache": { - "version": "8.0.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-8.0.5.tgz", - "integrity": "sha512-MhWWlVnuab1RG5/zMRRcVGXZLCXrZTgfwMikgzCegsPnG62yDQo5JnqKkrK4jO5iKqDAZGItAqN5CtKBCBWRUA==", - "license": "ISC", - "engines": { - "node": ">=16.14" - } - }, "node_modules/named-placeholders": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/named-placeholders/-/named-placeholders-1.1.3.tgz", diff --git a/package.json b/package.json index a0fabbe4a..ad9aac913 100644 --- a/package.json +++ b/package.json @@ -109,7 +109,7 @@ "jsonwebtoken": "~9.0.0", "jwt-decode": "~3.1.2", "kafkajs": "^2.2.4", - "knex": "^2.4.2", + "knex": "~3.1.0", "limiter": "~2.1.0", "liquidjs": "^10.7.0", "marked": "^14.0.0", @@ -117,7 +117,7 @@ "mongodb": "~4.17.1", "mqtt": "~4.3.7", "mssql": "~11.0.0", - "mysql2": "~3.9.6", + "mysql2": "~3.11.3", "nanoid": "~3.3.4", "net-snmp": "^3.11.2", "node-cloudflared-tunnel": "~1.0.9", diff --git a/server/database.js b/server/database.js index eb4594356..3927d6db8 100644 --- a/server/database.js +++ b/server/database.js @@ -10,6 +10,7 @@ const { Settings } = require("./settings"); const { UptimeCalculator } = require("./uptime-calculator"); const dayjs = require("dayjs"); const { SimpleMigrationServer } = require("./utils/simple-migration-server"); +const KumaColumnCompiler = require("./utils/knex/lib/dialects/mysql2/schema/mysql2-columncompiler"); /** * Database & App Data Folder @@ -198,6 +199,14 @@ class Database { * @returns {Promise} */ static async connect(testMode = false, autoloadModels = true, noLog = false) { + // Patch "mysql2" knex client + // Workaround: Tried extending the ColumnCompiler class, but it didn't work for unknown reasons, so I override the function via prototype + const { getDialectByNameOrAlias } = require("knex/lib/dialects"); + const mysql2 = getDialectByNameOrAlias("mysql2"); + mysql2.prototype.columnCompiler = function () { + return new KumaColumnCompiler(this, ...arguments); + }; + const acquireConnectionTimeout = 120 * 1000; let dbConfig; try { diff --git a/server/utils/knex/lib/dialects/mysql2/schema/mysql2-columncompiler.js b/server/utils/knex/lib/dialects/mysql2/schema/mysql2-columncompiler.js new file mode 100644 index 000000000..d05a6bc8c --- /dev/null +++ b/server/utils/knex/lib/dialects/mysql2/schema/mysql2-columncompiler.js @@ -0,0 +1,22 @@ +const ColumnCompilerMySQL = require("knex/lib/dialects/mysql/schema/mysql-columncompiler"); +const { formatDefault } = require("knex/lib/formatter/formatterUtils"); +const { log } = require("../../../../../../../src/util"); + +class KumaColumnCompiler extends ColumnCompilerMySQL { + /** + * Override defaultTo method to handle default value for TEXT fields + * @param {any} value Value + * @returns {string|void} Default value (Don't understand why it can return void or string, but it's the original code, lol) + */ + defaultTo(value) { + if (this.type === "text" && typeof value === "string") { + log.debug("defaultTo", `${this.args[0]}: ${this.type} ${value} ${typeof value}`); + // MySQL 8.0 is required and only if the value is written as an expression: https://dev.mysql.com/doc/refman/8.0/en/data-type-defaults.html + // MariaDB 10.2 is required: https://mariadb.com/kb/en/text/ + return `default (${formatDefault(value, this.type, this.client)})`; + } + return super.defaultTo.apply(this, arguments); + } +} + +module.exports = KumaColumnCompiler; From 5ee986c58e8a7e6ce9b1bdd5cbc132925c6d0724 Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Mon, 28 Oct 2024 14:20:29 +0800 Subject: [PATCH 061/226] =?UTF-8?q?Check=20knex=20filenames=20and=20rename?= =?UTF-8?q?=20json-yaml-validate.yml=20=E2=86=92=20validate.yml=20for=20ge?= =?UTF-8?q?neral=20purposes=20=20(#5263)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{json-yaml-validate.yml => validate.yml} | 12 +++- extra/check-knex-filenames.mjs | 72 +++++++++++++++++++ 2 files changed, 81 insertions(+), 3 deletions(-) rename .github/workflows/{json-yaml-validate.yml => validate.yml} (76%) create mode 100644 extra/check-knex-filenames.mjs diff --git a/.github/workflows/json-yaml-validate.yml b/.github/workflows/validate.yml similarity index 76% rename from .github/workflows/json-yaml-validate.yml rename to .github/workflows/validate.yml index 7942884e3..7e631ccd4 100644 --- a/.github/workflows/json-yaml-validate.yml +++ b/.github/workflows/validate.yml @@ -1,4 +1,4 @@ -name: json-yaml-validate +name: validate on: push: branches: @@ -26,7 +26,8 @@ jobs: comment: "true" # enable comment mode exclude_file: ".github/config/exclude.txt" # gitignore style file for exclusions - check-lang-json: + # General validations + validate: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -34,4 +35,9 @@ jobs: uses: actions/setup-node@v4 with: node-version: 20 - - run: node ./extra/check-lang-json.js + + - name: Validate language JSON files + run: node ./extra/check-lang-json.js + + - name: Validate knex migrations filename + run: node ./extra/check-knex-filenames.mjs diff --git a/extra/check-knex-filenames.mjs b/extra/check-knex-filenames.mjs new file mode 100644 index 000000000..4911fc562 --- /dev/null +++ b/extra/check-knex-filenames.mjs @@ -0,0 +1,72 @@ +import fs from "fs"; +const dir = "./db/knex_migrations"; + +// Get the file list (ending with .js) from the directory +const files = fs.readdirSync(dir).filter((file) => file !== "README.md"); + +// They are wrong, but they had been merged, so allowed. +const exceptionList = [ + "2024-08-24-000-add-cache-bust.js", + "2024-10-1315-rabbitmq-monitor.js", +]; + +// Correct format: YYYY-MM-DD-HHmm-description.js + +for (const file of files) { + if (exceptionList.includes(file)) { + continue; + } + + // Check ending with .js + if (!file.endsWith(".js")) { + console.error(`It should end with .js: ${file}`); + process.exit(1); + } + + const parts = file.split("-"); + + // Should be at least 5 parts + if (parts.length < 5) { + console.error(`Invalid format: ${file}`); + process.exit(1); + } + + // First part should be a year >= 2024 + const year = parseInt(parts[0], 10); + if (isNaN(year) || year < 2023) { + console.error(`Invalid year: ${file}`); + process.exit(1); + } + + // Second part should be a month + const month = parseInt(parts[1], 10); + if (isNaN(month) || month < 1 || month > 12) { + console.error(`Invalid month: ${file}`); + process.exit(1); + } + + // Third part should be a day + const day = parseInt(parts[2], 10); + if (isNaN(day) || day < 1 || day > 31) { + console.error(`Invalid day: ${file}`); + process.exit(1); + } + + // Fourth part should be HHmm + const time = parts[3]; + + // Check length is 4 + if (time.length !== 4) { + console.error(`Invalid time: ${file}`); + process.exit(1); + } + + const hour = parseInt(time.substring(0, 2), 10); + const minute = parseInt(time.substring(2), 10); + if (isNaN(hour) || hour < 0 || hour > 23 || isNaN(minute) || minute < 0 || minute > 59) { + console.error(`Invalid time: ${file}`); + process.exit(1); + } +} + +console.log("All knex filenames are correct."); From be6e5211e5961b9c2fffefcf5f625296fe8df912 Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Mon, 28 Oct 2024 15:21:33 +0800 Subject: [PATCH 062/226] Revert #5152 (#5264) --- src/lang/en.json | 10 --- src/pages/EditMonitor.vue | 128 +------------------------------------- 2 files changed, 2 insertions(+), 136 deletions(-) diff --git a/src/lang/en.json b/src/lang/en.json index 07d3a3d24..fb892dea9 100644 --- a/src/lang/en.json +++ b/src/lang/en.json @@ -97,8 +97,6 @@ "pushOthers": "Others", "programmingLanguages": "Programming Languages", "Save": "Save", - "Debug": "Debug", - "Copy": "Copy", "Notifications": "Notifications", "Not available, please setup.": "Not available, please set up.", "Setup Notification": "Set Up Notification", @@ -251,14 +249,6 @@ "PushUrl": "Push URL", "HeadersInvalidFormat": "The request headers are not valid JSON: ", "BodyInvalidFormat": "The request body is not valid JSON: ", - "CopyToClipboardError": "Couldn't copy to clipboard: {error}", - "CopyToClipboardSuccess": "Copied!", - "CurlDebugInfo": "To debug the monitor, you can either paste this into your own machines terminal or into the machines terminal which uptime kuma is running on and see what you are requesting.{newiline}Please be aware of networking differences like {firewalls}, {dns_resolvers} or {docker_networks}.", - "firewalls": "firewalls", - "dns resolvers": "dns resolvers", - "docker networks": "docker networks", - "CurlDebugInfoOAuth2CCUnsupported": "Full oauth client credential flow is not supported in {curl}.{newline}Please get a bearer token and pass it via the {oauth2_bearer} option.", - "CurlDebugInfoProxiesUnsupported": "Proxy support in the above {curl} command is currently not implemented.", "Monitor History": "Monitor History", "clearDataOlderThan": "Keep monitor history data for {0} days.", "PasswordsDoNotMatch": "Passwords do not match.", diff --git a/src/pages/EditMonitor.vue b/src/pages/EditMonitor.vue index 677210c45..4763f8722 100644 --- a/src/pages/EditMonitor.vue +++ b/src/pages/EditMonitor.vue @@ -1029,23 +1029,13 @@
-
@@ -1057,58 +1047,9 @@ - diff --git a/src/components/notifications/index.js b/src/components/notifications/index.js index efa2af5c4..3bf9affd3 100644 --- a/src/components/notifications/index.js +++ b/src/components/notifications/index.js @@ -67,6 +67,7 @@ import Cellsynt from "./Cellsynt.vue"; import WPush from "./WPush.vue"; import SIGNL4 from "./SIGNL4.vue"; import SendGrid from "./SendGrid.vue"; +import YZJ from "./YZJ.vue"; /** * Manage all notification form. @@ -142,6 +143,7 @@ const NotificationFormList = { "Cellsynt": Cellsynt, "WPush": WPush, "SendGrid": SendGrid, + "YZJ": YZJ, }; export default NotificationFormList; diff --git a/src/lang/en.json b/src/lang/en.json index e215f1031..64958cdc6 100644 --- a/src/lang/en.json +++ b/src/lang/en.json @@ -1051,5 +1051,7 @@ "RabbitMQ Password": "RabbitMQ Password", "rabbitmqHelpText": "To use the monitor, you will need to enable the Management Plugin in your RabbitMQ setup. For more information, please consult the {rabitmq_documentation}.", "SendGrid API Key": "SendGrid API Key", - "Separate multiple email addresses with commas": "Separate multiple email addresses with commas" + "Separate multiple email addresses with commas": "Separate multiple email addresses with commas", + "YZJ Webhook URL": "YZJ Webhook URL", + "YZJ Robot Token": "YZJ Robot token" } From 9857770cc71fb5e01d05d6f6396f3fad925c94b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Conde=20G=C3=B3mez?= Date: Fri, 14 Mar 2025 12:51:07 +0100 Subject: [PATCH 182/226] feat: rework notification templating and add support for telegram (#5637) --- .../notification-provider.js | 47 +++++++++++ server/notification-providers/smtp.js | 47 +---------- server/notification-providers/telegram.js | 8 ++ server/notification-providers/webhook.js | 13 +-- src/components/TemplatedInput.vue | 75 +++++++++++++++++ src/components/TemplatedTextarea.vue | 80 +++++++++++++++++++ src/components/notifications/SMTP.vue | 20 ++--- src/components/notifications/Telegram.vue | 54 +++++++++++++ src/components/notifications/Webhook.vue | 20 ++--- src/lang/en.json | 14 +++- 10 files changed, 290 insertions(+), 88 deletions(-) create mode 100644 src/components/TemplatedInput.vue create mode 100644 src/components/TemplatedTextarea.vue diff --git a/server/notification-providers/notification-provider.js b/server/notification-providers/notification-provider.js index b9fb3d863..42e8e616d 100644 --- a/server/notification-providers/notification-provider.js +++ b/server/notification-providers/notification-provider.js @@ -1,3 +1,6 @@ +const { Liquid } = require("liquidjs"); +const { DOWN } = require("../../src/util"); + class NotificationProvider { /** @@ -49,6 +52,50 @@ class NotificationProvider { } } + /** + * Renders a message template with notification context + * @param {string} template the template + * @param {string} msg the message that will be included in the context + * @param {?object} monitorJSON Monitor details (For Up/Down/Cert-Expiry only) + * @param {?object} heartbeatJSON Heartbeat details (For Up/Down only) + * @returns {Promise} rendered template + */ + async renderTemplate(template, msg, monitorJSON, heartbeatJSON) { + const engine = new Liquid(); + const parsedTpl = engine.parse(template); + + // Let's start with dummy values to simplify code + let monitorName = "Monitor Name not available"; + let monitorHostnameOrURL = "testing.hostname"; + + if (monitorJSON !== null) { + monitorName = monitorJSON["name"]; + monitorHostnameOrURL = this.extractAddress(monitorJSON); + } + + let serviceStatus = "⚠️ Test"; + if (heartbeatJSON !== null) { + serviceStatus = (heartbeatJSON["status"] === DOWN) ? "🔴 Down" : "✅ Up"; + } + + const context = { + // for v1 compatibility, to be removed in v3 + "STATUS": serviceStatus, + "NAME": monitorName, + "HOSTNAME_OR_URL": monitorHostnameOrURL, + + // variables which are officially supported + "status": serviceStatus, + "name": monitorName, + "hostnameOrURL": monitorHostnameOrURL, + monitorJSON, + heartbeatJSON, + msg, + }; + + return engine.render(parsedTpl, context); + } + /** * Throws an error * @param {any} error The error to throw diff --git a/server/notification-providers/smtp.js b/server/notification-providers/smtp.js index 9f3defa5e..980c7dfd3 100644 --- a/server/notification-providers/smtp.js +++ b/server/notification-providers/smtp.js @@ -1,7 +1,5 @@ const nodemailer = require("nodemailer"); const NotificationProvider = require("./notification-provider"); -const { DOWN } = require("../../src/util"); -const { Liquid } = require("liquidjs"); class SMTP extends NotificationProvider { name = "smtp"; @@ -53,15 +51,11 @@ class SMTP extends NotificationProvider { const customSubject = notification.customSubject?.trim() || ""; const customBody = notification.customBody?.trim() || ""; - const context = this.generateContext(msg, monitorJSON, heartbeatJSON); - const engine = new Liquid(); if (customSubject !== "") { - const tpl = engine.parse(customSubject); - subject = await engine.render(tpl, context); + subject = await this.renderTemplate(customSubject, msg, monitorJSON, heartbeatJSON); } if (customBody !== "") { - const tpl = engine.parse(customBody); - body = await engine.render(tpl, context); + body = await this.renderTemplate(customBody, msg, monitorJSON, heartbeatJSON); } } @@ -78,43 +72,6 @@ class SMTP extends NotificationProvider { return okMsg; } - - /** - * Generate context for LiquidJS - * @param {string} msg the message that will be included in the context - * @param {?object} monitorJSON Monitor details (For Up/Down/Cert-Expiry only) - * @param {?object} heartbeatJSON Heartbeat details (For Up/Down only) - * @returns {{STATUS: string, status: string, HOSTNAME_OR_URL: string, hostnameOrUrl: string, NAME: string, name: string, monitorJSON: ?object, heartbeatJSON: ?object, msg: string}} the context - */ - generateContext(msg, monitorJSON, heartbeatJSON) { - // Let's start with dummy values to simplify code - let monitorName = "Monitor Name not available"; - let monitorHostnameOrURL = "testing.hostname"; - - if (monitorJSON !== null) { - monitorName = monitorJSON["name"]; - monitorHostnameOrURL = this.extractAddress(monitorJSON); - } - - let serviceStatus = "⚠️ Test"; - if (heartbeatJSON !== null) { - serviceStatus = (heartbeatJSON["status"] === DOWN) ? "🔴 Down" : "✅ Up"; - } - return { - // for v1 compatibility, to be removed in v3 - "STATUS": serviceStatus, - "NAME": monitorName, - "HOSTNAME_OR_URL": monitorHostnameOrURL, - - // variables which are officially supported - "status": serviceStatus, - "name": monitorName, - "hostnameOrURL": monitorHostnameOrURL, - monitorJSON, - heartbeatJSON, - msg, - }; - } } module.exports = SMTP; diff --git a/server/notification-providers/telegram.js b/server/notification-providers/telegram.js index c5bbb1909..62263db07 100644 --- a/server/notification-providers/telegram.js +++ b/server/notification-providers/telegram.js @@ -22,6 +22,14 @@ class Telegram extends NotificationProvider { params.message_thread_id = notification.telegramMessageThreadID; } + if (notification.telegramUseTemplate) { + params.text = await this.renderTemplate(notification.telegramTemplate, msg, monitorJSON, heartbeatJSON); + + if (notification.telegramTemplateParseMode !== "plain") { + params.parse_mode = notification.telegramTemplateParseMode; + } + } + await axios.get(`${url}/bot${notification.telegramBotToken}/sendMessage`, { params: params, }); diff --git a/server/notification-providers/webhook.js b/server/notification-providers/webhook.js index 986986d44..537f94bd5 100644 --- a/server/notification-providers/webhook.js +++ b/server/notification-providers/webhook.js @@ -1,7 +1,6 @@ const NotificationProvider = require("./notification-provider"); const axios = require("axios"); const FormData = require("form-data"); -const { Liquid } = require("liquidjs"); class Webhook extends NotificationProvider { name = "webhook"; @@ -28,17 +27,7 @@ class Webhook extends NotificationProvider { config.headers = formData.getHeaders(); data = formData; } else if (notification.webhookContentType === "custom") { - // Initialize LiquidJS and parse the custom Body Template - const engine = new Liquid(); - const tpl = engine.parse(notification.webhookCustomBody); - - // Insert templated values into Body - data = await engine.render(tpl, - { - msg, - heartbeatJSON, - monitorJSON - }); + data = await this.renderTemplate(notification.webhookCustomBody, msg, monitorJSON, heartbeatJSON); } if (notification.webhookAdditionalHeaders) { diff --git a/src/components/TemplatedInput.vue b/src/components/TemplatedInput.vue new file mode 100644 index 000000000..43c5382e0 --- /dev/null +++ b/src/components/TemplatedInput.vue @@ -0,0 +1,75 @@ + + + diff --git a/src/components/TemplatedTextarea.vue b/src/components/TemplatedTextarea.vue new file mode 100644 index 000000000..ff0c0f9fb --- /dev/null +++ b/src/components/TemplatedTextarea.vue @@ -0,0 +1,80 @@ + + + + + diff --git a/src/components/notifications/SMTP.vue b/src/components/notifications/SMTP.vue index 003f90556..4e0fb4b57 100644 --- a/src/components/notifications/SMTP.vue +++ b/src/components/notifications/SMTP.vue @@ -67,25 +67,15 @@ -

- - {{ $t("documentation") }} - - {{name}}: {{ $t("emailTemplateServiceName") }}
- {{msg}}: {{ $t("emailTemplateMsg") }}
- {{status}}: {{ $t("emailTemplateStatus") }}
- {{heartbeatJSON}}: {{ $t("emailTemplateHeartbeatJSON") }}{{ $t("emailTemplateLimitedToUpDownNotification") }}
- {{monitorJSON}}: {{ $t("emailTemplateMonitorJSON") }} {{ $t("emailTemplateLimitedToUpDownNotification") }}
- {{hostnameOrURL}}: {{ $t("emailTemplateHostnameOrURL") }}
-

- +
{{ $t("leave blank for default subject") }}
+
- +
{{ $t("leave blank for default body") }}
@@ -124,11 +114,15 @@ + + diff --git a/src/components/notifications/Webhook.vue b/src/components/notifications/Webhook.vue index 8c67a2745..7775a3fdd 100644 --- a/src/components/notifications/Webhook.vue +++ b/src/components/notifications/Webhook.vue @@ -32,20 +32,7 @@ @@ -67,7 +54,12 @@ diff --git a/src/components/notifications/index.js b/src/components/notifications/index.js index 3bf9affd3..c1162da92 100644 --- a/src/components/notifications/index.js +++ b/src/components/notifications/index.js @@ -63,6 +63,7 @@ import ZohoCliq from "./ZohoCliq.vue"; import Splunk from "./Splunk.vue"; import SevenIO from "./SevenIO.vue"; import Whapi from "./Whapi.vue"; +import WAHA from "./WAHA.vue"; import Cellsynt from "./Cellsynt.vue"; import WPush from "./WPush.vue"; import SIGNL4 from "./SIGNL4.vue"; @@ -139,6 +140,7 @@ const NotificationFormList = { "ZohoCliq": ZohoCliq, "SevenIO": SevenIO, "whapi": Whapi, + "waha": WAHA, "gtxmessaging": GtxMessaging, "Cellsynt": Cellsynt, "WPush": WPush, diff --git a/src/lang/en.json b/src/lang/en.json index 118dd7fc8..c0bf639c8 100644 --- a/src/lang/en.json +++ b/src/lang/en.json @@ -1055,6 +1055,12 @@ "rabbitmqHelpText": "To use the monitor, you will need to enable the Management Plugin in your RabbitMQ setup. For more information, please consult the {rabitmq_documentation}.", "SendGrid API Key": "SendGrid API Key", "Separate multiple email addresses with commas": "Separate multiple email addresses with commas", + "wahaSession": "Session", + "wahaChatId": "Chat ID (Phone Number / Contact ID / Group ID)", + "wayToGetWahaApiUrl": "Your WAHA Instance URL.", + "wayToGetWahaApiKey": "API Key is WHATSAPP_API_KEY environment variable value you used to run WAHA.", + "wayToGetWahaSession": "From this session WAHA sends notifications to Chat ID. You can find it in WAHA Dashboard.", + "wayToWriteWahaChatId": "The phone number with the international prefix, but without the plus sign at the start ({0}), the Contact ID ({1}) or the Group ID ({2}). Notifications are sent to this Chat ID from WAHA Session.", "YZJ Webhook URL": "YZJ Webhook URL", "YZJ Robot Token": "YZJ Robot token", "Plain Text": "Plain Text", From b0610c02acb2091cc5e08d249785798f0f9749e1 Mon Sep 17 00:00:00 2001 From: RaminMT Date: Fri, 21 Mar 2025 06:38:20 +0330 Subject: [PATCH 184/226] Add Telegram custom bot api server support (#5668) --- server/notification-providers/telegram.js | 2 +- src/components/notifications/Telegram.vue | 20 +++++++++++++++++++- src/lang/en.json | 2 ++ 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/server/notification-providers/telegram.js b/server/notification-providers/telegram.js index 62263db07..04117e65a 100644 --- a/server/notification-providers/telegram.js +++ b/server/notification-providers/telegram.js @@ -9,7 +9,7 @@ class Telegram extends NotificationProvider { */ async send(notification, msg, monitorJSON = null, heartbeatJSON = null) { const okMsg = "Sent Successfully."; - const url = "https://api.telegram.org"; + const url = notification.telegramServerUrl ?? "https://api.telegram.org"; try { let params = { diff --git a/src/components/notifications/Telegram.vue b/src/components/notifications/Telegram.vue index 7f04e44c8..145a5c94e 100644 --- a/src/components/notifications/Telegram.vue +++ b/src/components/notifications/Telegram.vue @@ -32,6 +32,21 @@

{{ $t("telegramMessageThreadIDDescription") }}

+ + + +
@@ -111,6 +126,9 @@ Uptime Kuma Alert{% if monitorJSON %} - {{ monitorJSON['name'] }}{% endif %} ]); } }, + mounted() { + this.$parent.notification.telegramServerUrl ||= "https://api.telegram.org"; + }, methods: { /** * Get the URL for telegram updates @@ -128,7 +146,7 @@ Uptime Kuma Alert{% if monitorJSON %} - {{ monitorJSON['name'] }}{% endif %} } } - return `https://api.telegram.org/bot${token}/getUpdates`; + return `${this.$parent.notification.telegramServerUrl}/bot${token}/getUpdates`; }, /** diff --git a/src/lang/en.json b/src/lang/en.json index c0bf639c8..cb704b0fe 100644 --- a/src/lang/en.json +++ b/src/lang/en.json @@ -429,6 +429,8 @@ "telegramTemplateFormatDescription": "Telegram allows using different markup languages for messages, see Telegram {0} for specifc details.", "supportTelegramChatID": "Support Direct Chat / Group / Channel's Chat ID", "wayToGetTelegramChatID": "You can get your chat ID by sending a message to the bot and going to this URL to view the chat_id:", + "telegramServerUrl": "(Optional) Server Url", + "telegramServerUrlDescription": "To lift Telegram's bot api limitations or gain access in blocked areas (China, Iran, etc). For more information click {0}. Default: {1}", "YOUR BOT TOKEN HERE": "YOUR BOT TOKEN HERE", "chatIDNotFound": "Chat ID is not found; please send a message to this bot first", "disableCloudflaredNoAuthMsg": "You are in No Auth mode, a password is not required.", From f50e26edd65ebe897ef557e2555f28e9146c4b75 Mon Sep 17 00:00:00 2001 From: Steven Stromberg Date: Fri, 21 Mar 2025 18:05:21 -0600 Subject: [PATCH 185/226] Update PWA icons to have transparency (#5714) Co-authored-by: Louis Lam --- public/apple-touch-icon.png | Bin 4807 -> 8909 bytes public/icon-192x192.png | Bin 2707 -> 10268 bytes public/icon-512x512.png | Bin 9739 -> 30781 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png index f3c5854b09962ce213fbeef9c4cc57486b1b71be..2a56382186a2715b1967ecff62655ebcc0c16258 100644 GIT binary patch literal 8909 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

5fU}! zI4ey70#Cl%bjxb++jufJ{Ag-O_TF*tJg{_u@D0!T2^x=*S&V$n*kK7ir1LEZQ84xO zF~|Mbt^|GZs!m_*glj`n&gWuL#)`>hu|WJPImN7Z+T~M8d5!eaGZn`JQqvG}VqeO} z>IqY@wACpAC<+iHwoVCAC*!pEb2->)PwT19y?_y=C=t(PhvIJVMJAQ%^^&Eyft(O9t)s!aonM9YzB%XP32?3@$*N~RK`KTF==^+u()_Xs^N{s+Z+ z3itYEQ^`Iy5?K)7@4o`2UBiD=-HqIqP(FNH^2+|uFNV``swoucqu*M~;2$`@UVAb3 z^Sp_DcY1=J@91(g>m@5QN|wqOl%^r9kf&8yJP$dd)Wkaqfvon#jk0F!-MM86;f29+!Or}bWeUhtbe!(7!|D6kA63NulN-ztf%B_xxuFck1JZ&Lq=+R3Il^xH&PB zOsih%Dg9X8kYz|}A3x*9Vjss;Au;p{oMNwX;f5Q@mbJ|oc#aQSQ2EI8*+ISFDm=a$ z=5bM7^GFYzs2D9_?{8-a4j8f)AA2s4d)x_WF26ehZFtN1Z1w>A;Bgd}PaOdqN*%nm z7kowtkUAzJ@5UI^)u{;`-@lnPrI+;-EtHD{D$jC#f(>jDjbA@<1oVyI4l(lm zC=7^ekRTnNd;Zn3bv)P+H?>IhTPc}I5}9EJ=0!K()97_G=6%FF z59^;S*x4 z88(RG+7MT+%1=5VohsM&s(&rWwy@`iBv!SnU!4dK;Em091YO>fR^8@4bj(RlC7x{% z{vK1zwRDd6b8epJ=+fapd`>N3q^DBXdYoF+dQZ=bzs>ikvWv$f zCua$cc(HL;_Xrv=yEpw!QMmuj13a(@Rb0FzQX@59vitjYAz1o^&1B1=Bjf1y>384K z`!lfY30xeY7`a2}{I6CmBF$`Xh}>6WBzcvVjPpm5_844(;Ys}ri+V_I{xX3O%%3%! zJ1Q!YOaPR)wv_(z@G@cS@y>y!0ZHu(hQ{DM8GnihuknPS_u_{c$K3zLfssZZ(}{>~ zwEx52d6k?mjbg5M-xm2xCf2{Sac%`s)m&U%44JCb)Bgp_F6T?+{SAuB?f(vZkhINh-U)O^R^u{ey4nbnuYpOy?#jT zE1zFUJ-T#u2(dL@ug7+sE*8OaHk5`S`X$BXmE;penbCYN$>j_h162b*ixC1VnUMiY zBDtdcV0P2ty?625WO$|T#poM&T>X`6Rj@=Wp{#}j$<{tVaAW*0^I!=rr4^P+kpIn_$}s8M5qDz^o8`Uai$mFk-ey5gxdqCwEZE z?g1uRLgFaumF{_El8Db4XwhY7XHyR5GG++3(7ut2GtgQdokqT3;u!Ay68;jBT!x4~ zLIYA2_d01Z8fCo+Xh5I_IE8);GuKukAj&eaO){Y)*)F|G4UKLtihogsymC>JeKIowjoQQZgJ}0za6g2UC zGr$9_%nq|S>x$>hKQ1bW15-+Rm&TQMcXwkviDD0iKWd=_P0Idg9cH1F3NwDC|Mh7%%&Hdm+ty}0CjMcbFr$47 zpb)QSnu>jPHmpK45>w^ZV|Mws^f$h|SP=s#I2~?P^Gbz47iv;vb`x#5lX&$0!3P`? z5`Bb|jn4C;&_6T5HY)VN186HW+ulc~VOeq#Bg>*wuVE&>%2-C2uYCh%UxJYJVPkZ7 z^L)6Ao!znzl=jq9lIRKQl}&E2#HaU`4EvUg?g@U(*QR{L;NjQRqu*rSbS&)TfPuJT zJ{h5BHuje&u5P)*d=WRqWiAbm9@)p0z3tqrf%QtrAH=kPXkOG1c$<{4? z5+{O=NyQNcl|OTC1GJKWu5g@Bsiys=`empoUGS{kOE6)9?)c4NiP3Mda6;Mt2P7GW z_iy32VS*RJT6297wv`bj{DZyA;yf>l`);=Jhkio>hR8=CC%CX|Q{#<4G*3fb>M4^- zEDW!|j*$BHW;4L*Y33aQo|n78eQ)dNuDw5D>~uov=OQ-|L_FG($i%tBKJnmm2TA#x zB7#zy&|XG6@$lP+%ZBF<%g{)PgSV``mo-@SP?&2t9A)$3g+6zB|GgGeB}*|5FZ$WY z*`J)?O(eBMo*!zu61_=I-{Vw_DIFeT$LeY^>_5 z+WFY~Yqc6V=-95l<{|MVUODbobYYWQPQjg#OaL~C$`$nXC?DFdqyLs!FUcdyC9uTU zl)p?YRCV#WaU(L%oVE|APrT3-EE2HlKu=AJ(R~Kv(d}0zQ^PO{!~At#Auffova%|I zS5|{zY;q~p9b09;}CH{@rA)=GpPt}FtVx1Cs(nBasT|&69|k<}O#-=Wofd)WZjK{KsWC9=@dpbw%H_ zuCK2jZ;izve~V$s0E23mpN%WDE5;0Te5=_-ro-zDdXG(o;{lWod#Su-?aI$6d$#e< zMf{G`pt^vF$Dl~hV@B^iThP_a@$qraxY3HX7gzQG-OAs8FXDg5^2&i=qB_v_J_nKZ z+uXUe+1&_zy`r-uWZStUwzqz!JQFyP@)jyYw)~06PQ8Tc0m3Z5*I&^E#k67Z5mO zpmpmdRI}Oh@(Ugai`VcW?SQ2&eoVZi2r;nreZNDv78J7WHW(VC52eTE%^HxGI4C30 zqQGors2J!z&P$0W)!05d97|NaL?wpULe+XO&W^aKr%s+`#|#0zhF{10d*|%OERV zw&e$Q8&QTk-B^4WY^Ho5%wQfjKR@rzPak3e%_F2D#pDs|69cVHwOX-Ed*P&M!)p?Y zGi9(3kFiFeZ_=DIyzgus9~BWo+F4S1U+AF>bHdT>N9m2!zHzWBgsE1T8Z_@wQQ`HJ zDn2gFC|&v4?q%rR*j>hQqk|y9yqyB)F*^LoYg`}CLvSZB4Wm_ZQ9J1+Bp{IaOT3R% zU76#WWp0jg$sWM=xJWV?zOPPCT{vme<4 z=zxtlO9_TMuH5Oo1akkt+R3#A%|PHEck!u*y^UUrKKTm_|Ehvg>_MP0BdvXSp8#rt zyw}^4Ez>N}FnPZl3#MCbUW{7gKQ0n;Y-8xChI1v)d{e-&rFo_TtygtOM@qn|ruTiN zttmnZIGvNn-?H| z*YZRj{k(5)J(gsJhZ%&apfP~r+}zyHc8uE4T6ab@HK@q-BkfqYA(Yn15$}yAl<=I} zMECge0f4YTH73)L;@r?dz|oWHSuWhwVwV~CC&LhnLZx!`vT-D%*_`OBdaZ?=E8%cl zD$LxRC`~*RElj4u`?4Ohk1+hr1&W5#0(`?0h!f!p_x=hk< literal 4807 zcmcgwXHb*D)_&q%T$UQ~;nXhWf&W?AqqE(>B%v01Q6>_yqyL`L)Y$9RNHe0ATY40LWnhfY~j* z&Pd^Uf!tPCOC9+4-;vdj7k}-cKMEw5Q#+qF+^4%z zLVR79IXx!J-@k+3U+&{Si!D;T`sZq8l`>`OQog(mjuv>x8zZ`vr2QK>pP&=_xIjdu zjwa#E%M>bg*K&RC=$Bx;@44E%sqdHf-4m+tKSPj*K-R15gmWVy4fV+=wvLW} z5(%GogT{fPW8rsV{yrlK(=kbblDQg#2Aloq?oSM9xq_leEvdEUTUdrA`9Wqf=f$Dm zDH5(A9Z$iKXg-yj>!HRcA4^lK9Fo;w&>`Ghf+G|aRl$}dS_Yn?;!>ZbO3|cPC!8cff6MK!Fdz9ZKk3a{1g22H%QP}NpjF@*8y4B;y$ zac4!b{5{Rk=iPpi)OMobxQ_EdS*VX9-0?8f0wUnZmcXBrfbbdn6kFh4RPpWQ%T4`$ zQoS%REMH158O_p~E&)noQexxkEctw95tJ)!w6*85gPt78&1W(31s_QAL?C?C zjZD$1ewY>WI*ZCzH&rA1*$W=VN+`}t$ z7-N-6G&I}1h`^xu$lsnkdO&A@+i|rt$OxuOuci(aj9#u|<9OV=h|&JSgYo6?nKFpU z2`phrAyQ5rmwVmdtoS$gC_%_=}9`sQLWF_^xVNoCPN`0Yq-hEM$oF)Ou<&C}{)bZma%${57^6{G)IdYnSGxCePn){+Qw>D?lnjrZ zQ6+tmnc2uzU&E4Km>!E157B_!=DR{24JTGAtV4CjKy{ZiHL0I7_XGrdw|<(H!nGY< z8rLPZE{)zN&3FBwgi@bBx|Q;>!*s&D3DoCM~84g(->^z)+aciyd{^%$ISO3|^?DzU$HqXsPUv-$C5SSoRN{8qe zuTGe8p#}G*Vf0|tcMz26(|DlbI7Q2^$nC8&n_%msIVOcf!rOxHb%|=wZ`hAt5AT_| zKII^HhphG$3_I@yt6jP5H^WjzzFMS;cRqjT`d8*^6wzGFTA?=*c9&$W{_nv;lfq;* z@qt)vTr123rKG5+J&?YtRATZ9p{dWo0?hGc-g5zs))rel?Y4Osn=JVI*ehW9X)Bi&RTPf~UFg8zmg)!G?rO zf7nPA@fW9)P@LXaoxvTt$<;6WK9s>{aQlpxKFqAPdtaMNb`J? z<01Oq{D5;o{kgo5MBybq}O#Z$IhYO=Pnj3bcTrgociu+=lHQ3|}4|dQ~2T>}#ai zPDqe6-m#Q7Qj5bR`kWr@_i@92ePwW+)1kQ7o?hG< z_%jpEiur4ew8zTVjH7EBwGJ4giI+@l^YnEX{+ayCn?0-pbr{)jK@in>uzJ|sPaQf( z9Fg%52ngBmA|4jpLNv8Df>(>80uMz$L=j2tyM~kutQQLLT89pBffd{VI6wf@EHo z@quKZU*KVjTS~;2hY@;EJcTB-jp{*>$-{jfst-;O{@&3U(9K)q_s^O-#jW0QpIiM8JOkBD#+4PXv&<)i>=sSO8pjFp4Y&0E=Wl#o=lt@=1W6E zyME0;5W<}=eWK6E6vX@AVAdM_|4e7s90$?0pW&%GsIf$T@%2(x?*?aNLcAV95&}b` z?bqHy5LfIX0XX=~;9FK#vM4xSirQ}Rt_YHI6XW`ZbLjiDm>QgxL zO5ZQ5;!)C`6qTm$zYCIrdu*`Z)N|Ax|5=JZ*Us$Hr-C?g+XD`LfLohKL|!&4AcqwE zs&W$L2yyP{y}x6@^dT8;d=%=-WTfqQAUwsWUSLLR%8Y6i>(31b)_dYcwR(%N^Jq4;42quqj8`97eueT-j=mr0(H!2#cOCjP>+ zBGjdBA@7gW00;<1hnLkNs)ZU7tJ1A@7$pOhPXdoZ1J0^~MIcB6c^Xrh5AMeDY3E6-o2x$`Ktcmf(_?iuW8c5G!5Y+^(N^7y96IIfVd)MEsRpZ7=O-QL}U;=)Kmm!#3Fv*_d}zzu#7%MSXLZG&y+|v%leF_nlNPu)J%Et3gYOl>$^Aa9XDmuOFYQBtgFDO*LDg?t#DJPK z$;aX%cAAtJmed}b-^U-5c&=ZKzup(NT#)jTdsVDJhNe8xA8XN|S?V~MLQA53-YFj@ zML~pS^E(UshZ(b$4XockaG0DrTy*WPPd03QTY)rxs|>!HxT5*NPHEW`Ims_vAY*rY z_Ko#m))01Sa-kq09=&=Un#xUVp6jQoEALAOCkXPqY58S89$Pa&3(rB!B` zV)eL8u5!&#pT@dsu6nJaKjvx*LBeHXbw~K0cf|Ni`yk{Dd_Re%dE8i7wLWfL{MCct z8~JxU&(2HF?3arqd*9%pU;oCoqiz16R}{Xe)cM?*LKCgW(##Tp>ni5ZCoH5-*M-Ff zV21y#aCA2x@x60S`{-@p04EJ^bX4?VSE5YlbN5`9t*)xsYWoqZCX~n<)~=Wt+Fy9} z!~fAt%11FzG(0G4?e`bv-_aUkQbr7uE>SHX!KG{pQsE;5mzU^PHI<=!)(0gPGIsGr ziV^GzpgmSv_r7+G2|sx#03tt5K6=B4jvv?y(K?sm)9>qQ{8`EBGKOJsR*0&eChUtw z$woh$!S{X!j|Fy8QdMQL`##baSLYZvD}U>#d3^Z+Z&=A%$w78f^Cik7S>G{$GZfeL zUa3Mh;X2sd{NX#x{4j9DK_KA*ii|t<9bdkJZ>OfBNx=aw4)rXU*8Z)2Ct<`%I zG3vY2_~q^TY3cPx7gJL$6~MskM4VEPpi8B!Ld6zwrvS)`l_YLw2&S}SGH3mP@*lpj zaxNk)SiO2$29w?VY@d&twfC<6MIZe6HNNcr^n-BunnIPM$L^y@$2i_Ma>zPNEf&=fk0BVs zsJMb|Hu}C3s5{$0De%N#2)`(~WY^|m6i^~X9Y%g~D}Js41QWX^7NZJqZN6=GLL(#2 zCQ>@v%IqgN^~UN+8l9aeWx#4A{{s!$s08B&rd#^jIqT9LG+ z?R{kYnhPC)D^WCP0@{I4OSW_4*2WXDLG|LJj=`Tld>;SwH9f{G7rj z9@aMXE_S#7kFfHO$kmxts%a*x?Ya%ahte=d+1sET`xGyOtAuA>UHI;ZE z2a%P7Kt&`Z%M0vS6 za5}l6>;S+sefbZF^34-L!5)KNyv~X-K*B>UZbwbeL$4dpKtj){?kCl1Pr_4S%Gocy%r0{#O*@Iu-E diff --git a/public/icon-192x192.png b/public/icon-192x192.png index 89d60d72b3d920ab6645d5637ab914d0a468ebda..03c8a4d1e3c275dc0625fc41b1c63022fef81b83 100644 GIT binary patch literal 10268 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∈atCKFlaOjXtYJ%Jry%zyJCZetq& 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 N002ovPDHLkV1j>wKivQT diff --git a/public/icon-512x512.png b/public/icon-512x512.png index cd3ab7718da26bf86ef5bc6fe4fb2d0dd62bd527..11278c6fef39127ca1c03d8181a2680c03b247f8 100644 GIT binary patch literal 30781 zcmc$_`9GBJ7e79zsALR@WF4aHJK07V*+NP7Eo5J_uft0*mdGBmB>OJ=zGW**vhPB6 zL&i2{%>B8&zn{7V_*IN14-0Qpp9b+ ze)4tnfmBQaR<^<_df-vaONe=CZJx53*@N4MZTso4Js)@%6i7{N4Ul(H`i>y(E5fQm zJIyN_8@I?9Xkdt$7;T=`8nWzhCNu>}KS}@I{=N(@Kz>6iMiCjaDs^?~^yi>4EUs8M zABj|lYjfq~p!rwbZ|5&f~eL3!h=;L~)_$nW#b-WB>~y6U)qpaE>leQVRVOa%d-=YRGM zv^+!pgnt8{2eDA!g&ip6Y9Zy|+am5MXum#S=JooQRjJSb`K8mq_NATUYa1h3`#Th& z+Soj1NFHh7gnfy+y1K(f5Gn~h$=qjPvz~*N4Tv<8CXPJ$thKM&Irs!wj;4$jz6j^I zJ~>MTt5wRqmQ9k~*w(fB*2bb|u(UEGa34kD(LLa}jY zu5KFAYL)7F5hr+XLmzm2#ncXc#3mO^jsyM*&O`G8rmT(~w>U)GvcVPM_QF`*FVD}+ z?d-NfGzE0jWFYpPXqBo_TRys|p2!W~6o{-KTrZ+f>|}`N=9*8$iX6PjG8$(k#dI?K z`O(;z+zp*cTXKcGO!V!h1xyp#Q3PAN`VK{b;L`Nr(xcodArJc_C2g*Q*w*M7+$ zNxC{q0`3j2Supmfdr2ZaP#GU^0bS#XcUv4`YFDOV28gqEIWB7pM^?J6=az@ z_Jn7tal-C0T6!VZu+po|TQJ(T{4R;4b>n=rLO{ z)2jzOu#EdTB4Ynab}iucQT-CIi8FGY(#rwO5NEa7r?N zC+>#F({}C0I7k}u=z1{F_U+qSYHtO5H}I(%O2``*K|tw-Z$(5u2;bY@&(!$gmeC`F z?frk>0^n)^3P|U9;i4W8T;g%7jKHI%Q?obg^dE#B-1>5Lu2BSstxC0fF>QR+F7nXZ zpeU>aQJ$fOES%fRJPib1LF&<)+VjE>lO9uMbHVqeW3WHf^1fAY!-})PEo%M`-#9AK z_G{+MhO2r!&QM7@zXHQD;%D@^8+q<;bs5OEF#HLKxFqoUc6|O@nrX1qR+IaXx&uG7 znVfA-PfurNhCLtqO%;6pANsaK?W`yWL2*cZw(>uoBoCHgE#^Mln?_^eJ2VLT+~0~a zkQ;Cd#t*%(`rO(gzbg6_gU3irV}g02H$|sBfgnpuOJ0nRjcplY|eT0RFhwHgF&c{NG$v?)*u;h&!H^RRO z!hxmp^K%>B>Pe+BlTzls7M?675KK)(39ejCNEA6Raa!Lsl7VST-4kZs{Bpyl1Jq8l(I$ zNf!Q_BgdPm59gbwJ@Y|^MI1FtqA&E}>1v(ux-$GN%y36fEn}EIj@fe1Os`}DTFd#7 zAAAP{{-oBh%s$!|3{4!HuI<|P(#hzcEj$rrVrJ&D)kr#%%^aKv`t*$BB3q6NNy9C< zDy@g&9Po3>jwRia37ICBj+HSgg~$k%@=@ECH_^Vgly}aLPm2<7Jb{QI*YqZ5QPb1Y zwmr-rBV)Lt6N|w}0>Yqga+cmh5|O9VZwzl58AR38)#=8{FwouFgXBh|*Pu{n*1!f9 zam`g8}HV|lcc66MN0v|`U2jTpTeqKG( z@;Vy#1#SF(_)t%+M-j4X-~h~l7gymi5_|-n?!O3?FAL7?1A|N4Iok989^~DI(03pV z9RPf)s7)GpyVeEF!S625hCK3wp9?^^FSor7@?ujTXQUB|$cqWv|K>c=?`7EP>9!3~z!2f*ZPjkE~D_YgSfPb`gno zoF^$7up?(L zg=X}B`yS^*Z*CxuPQe`^F#6*@vn1#lA~C2|pO1)6HT%6*k*M~FwW9zRKom?#PR8sM z{Wp-$9Lx}*QZ!+IK@xoL*Fcb3QIENj)s!I~a0FjH%+b=RUJwg5c>dD9nTN?~0n+3C z<>7fq%Z1mWyh%Tlk!#?a{L;K2>(7vHGc-3IIqaPx*K&k=zcVLjt0{$`r6I(8Ft9{v zQaxkYgA5w9ngTq*tPGYCD=|tB^K!W0CXjZ06O#*>y(^qxm|ZW_Eorrn#yP=@zcWW^ zgDC(_`9XLe1S4Xyl{6lVBkpYQJk0`Ze(gzfQ$f2nPYH5u3PQwgZ`&*CQGC~u{2cKK zotQqfZUkBU1s?gwx7EENjfyF}I&5ZCQ=z4XjQY#!7$JyqnNEYK_V7JZ@J7JW$f;i| zf~=C+TfrdzelQxXQUn5mA8r=vRRiAi3rce>B=G`7q#VZl8^}Rmm#hzYbg%c5UN-sp zgS>H7ubc0?vJ%zu{Qc6F3E%}<9s30ixqW7h=>Pd^;R0Mk%p%&?yzD{{gs*oEt&myM zbqzE!7l}lSf_v1aWw&lylN#1a8(RO+5IVrP2YI*Funrg@kKkfB-n{W#bgCfDX#0+b zH2n${mwL?=>i?d8t)g1qTV1OVN984^k-)?u1UoSKAtfmzGh-lEbV??4NeKE0?b>Qr zIpE-Cy_y%=_~Cwt51+gsq||Xw1XA$Au+}S=HlVvLjP-?|e|Y-UO&nu>C&LS3%?WSR zEjhM?`Ce@rHhY-Y^<*%hlL5PLSeDF^c85KKOo$Bjuzqe2Jm1c*>nL!Eq=f)^pbuoi zr=Ah!XC7C~)!^U89VM15*7d#&fGfbe2WZnKCKE&vQaN~$Z&)<$)qJuGe-io6tdZzHdq)j)1 z4N5@&xQw;hcaKAMnot2JyE9(%A$+9FBn*nk&mc@n_wh?(mnN=i`YSaIh90Qi3Y8Vi zmfSqL)7_ioV5`6lck``xt zSz!7*>$}FNwCZuQ-!t-o2bOEeM5NL5I&M*f&R^+Avs+)uoxXp69s^Z|WkH4au4-t> zK(wgiEWjiy5bUyTh@wNL`2S5ilJxg#m`v&n<6Vs84eI$XCE(AutAf|9Udw#Caz^#p zH0Iez$kyM7Q@q-3FC_8|Q*YEB8|UdhExPCZnP&ottW#P8OpJ`0)sZyb3U*+&=N4o9 zP(gCWZ?aR7FHYTFW4WVeUl&-*8yb~4T}&q+!YR0%!=%wPbhN}o(iY-&E6zay6aR9) zqW^cOrwxwiYjg29lZpAqt1%1sti?LQ*vP1)kNH`e)w%W21K1bc63;mXY`YM)OFpT{ z{L|fJPD$!|vD@uB8z=9tc~^M)_;^0Rgl!gm6y^BHpWd}_gI`YHyV!`1M_jGnJLOr> z=Etwy&D%Q2BLmP3r+O8pdwtC6hPLF(U_sivE;YPQ+Cc5i$KxBe^4DnIsKWi!F?QiY z`H>*y_twqGiR1n_w&4W36uT|w_mRzX1s?iew6W0!k6ddeOEkftfc;ggJ=wuV0bDwwtEORiJneyH?66!!ErD#L2VF?}mL;SI^_~)kQ zmaL4G%fx>vceURUTRB4*ehDdSRv_PBV26J+(`VGmys0itxK0P5fYqWm5wCcXPCc}j zw?qOJX<=iI5-2eCp=IvSL9O#M&+^)~^iEn%CdlUeYPq|A+8KtWC?U-jn<#Cc=dVl} z*c`XsdO5?Bu3gX8_yzO$qn#%V_Z8&kGH&GYR;hasG)3*)-Uf0F3c0-!qdb&y-;J@Z zwaH~pkFn0bn&ZMD^B|IoxaKd0Llgzici!MfHLdfxl%@W_xaFW$#HI!4nz*}>Lr(bcDQIJ0NnhwqIX6LD4TPMgIx&`-Y)tTl zGwS`1tc;P0pl_)7LGOsr0zmMbb{2u2{NJxMgF+LyAt4h z>b!u3E;3ct+jYJ%`IaJ2>jh~GkX!z{?4hnR-Mm~1?CcS6ryMsl?tes6g3K>nE$`49 znakY4ZBLR1ycTEJqsq|w% z!(A7^wHV+%Cio;hbj<(3UR=fkBU4kN-h#lHTWa&&I>R!TsD2lP9pX)g2c~~I>I8OY z)`!UEf`-CPKFDy1H&@03^m`=Q3eKqRqM*vx#aYhMymLxFcH*mg>MYAH#zbv~16aJ- zRO5@NI{y6mlLY1hM3jm+MqlTQ;aL_wy#Ca26(@08(P%NUncLPQ%1gg^Mpni?Ok$shcaG0*Xvcp}JG=4zM zx)wLz=b;2|uIDMz4|%i!vN-^WOl93OIHL+iuYqj+9{f-dZWtrOLO1`sh0x|?I(?EZ zIN5kne04{p?JAAlAu5q<%uxI%tFec~;-igCny#zW+;G6n)ALw!())(-8I?k-X*)<$ zD~FB4I+OS z2*gTCNEo`2(-yqPK)~YIxgL;&HAY?q4CpiH+~f~gTl|(P0_SMkd8FstKgK5#NEDFY zsd2ti;pvSNsK7_4J)1vD1r}>j{Yy51@*Q1VO0a=?!?G;MnJx(bnOmhs^U3G6BdwwJ zek-P<+{B)wnl*%4+#$4lLjpMeue$A3_I$^tyhV|9G!6l>!e#^ht9(}E3dm>mbAb`5 zzz4Jr=$9HJHu+68BSGu?s4{06K||L^m`^$$zdsUKMY4&-58M6O>xnx*htD^zaU~2` zKHgo&;t+hiR*ENf$irX=U`5Ld-rM<@G;u&^b8Qbzd3w5G;(AAP1h1MzEL| zo2egiXKjE6{YvUQURCtFgOMq2OYB_(&W>&M^H&yj-eXbjuo7tW=xA^aERF!vi%Uuh`AlHK0aJ4q|gx30Fk2XgY|3egER!nN6l-ON1k3;c% zogSSa-Fkv#hT$$t8P*==pR)Wq6C9qQ)*{6vYKsJn+N0VT{1i?b*g!_^NG?7@2* z(1&dVqIPzggRmuv|3a#b=&6ic17lZ*_m&uT5AKDc7o-4yFTb8KTAt* zs0^BEJRh>gf{>Pg@%J!CF;?^}Oq{loFO|#<>oMfCS4Zm~tN~Zad--4d!SFVg0CxBF zoO_vL(rWH=edFJ=Ln`&?12~4h~jCsR(2AbCO%yvmc75 z4@oMmaU*LE+Dpa2R5+y7vgb0g@d`k7qHiIOI^)1JNIaW?tsL_GdG-@Ad0R@aC{ zOCyg8ChU(F8Z0BUi(S575+>vk86=HB8=1NlGG2jN!34B(ck}-Go0^(40NiXWr*sM0 z-P7?CA*35MM(s-@Wh>6cJ&?I@IO0xREZX+9o;&BhpxqNt>5@oqS4Ik6TG#1;De+}9 zep~Kz885G2Z#Dd>loPl+Oy(*%_(RZnV+3&Q;d^r~)^z)94#XUSJLkPDm2{Fj1o>So zeJBMoA1!l7+%N$T-Vokp(erd^axF_PjiB|a&<#IyI`5AtnyDLpuPOxdtp$aL7@3&D z+;3#Rwmc-1)=J<_0ep50(PVRr0V50Nf9lMDa+bMtIRjN-4bnmxq`|ak@jTX_Wize)=_I1s;^5)~YTbP#80fc{- zCQ;#S0*b-Sv!@kTRgX;v^S}t&`CSt7Dbo3_Wg8rRQxf&i7iC}xCPyO(QTZ}}-Z{R{ zJGra6vr-YB1+;N{iDP`m2}*GU4N{jEqEz@;(S{XA;@=^{3~H4BT|ziIt!*Dz0+mFA zLOQ0RZMR4jkj4jU5C=qVR~!_z<5!xy%P#4ESA5GjtHB|8@NY8zvlHdTP|4aKa^5ViW`I9!Q*4)#DFs7KyPY|E544ribIECs4Th zTE#imXbIP`gwssG`(+y(%1-ThnW1ISLV5XQzwB!zA~uawUJM!>gm~}YJG}^HJ+CZL zSyxPt)YpwijSItI`nl7~m>pKX)1c|UAu(XtyNV|omFYUX)^*N>r$(w=@9;)%27q|y zAlpd}+6p?E3EktKhyUMP*wq zpi{k|!F*liN_gs$8va`c(i?)_^n|22T1>8+;sRZE@Zxhpk1mby?Kw6}`7mpOnwSc0 z#UmD!@!y88qqBsqTNj)WwBW-z>&Pmrt6y^E*sR8I?0}phaMKBe{b*FNnSk*l=I1NGVr<2zmhfNZy)e}%Ed*Rqe z(k6FJ@!#igk7+~S%Vu+Fpf{g@S{0)=Q?=S7zSk&8rq_k@V$14YKz)yi+&f)OX4vT-0Mo_dzbQJ)~79;g<4p#bzn0o(76ZD?l z%Lg`Pf#qOt0j$mqBX%HbSR8NDzY&5k1HR7pB+z^3)a2g?TPjB#kA)!?`sL!lfoN7I zw}QRRwzRw`DSxz&0*}b!FluKL-KdI`T#d23Ttx`$pki(uRc_s!zTb2j)JI=Jj<-sj zB#e~}FGym}nk)P*Jdeb#f!z-Qc+vUW`#htQJIA1ky%NLWU^s7bF+E4rGz&`slUNVO zk3ZX-1|MGoaqm9PRhQM*ogFBdN#014fi-%$y1EKur1IkmsUX2q*)qV;#PgOe?#1Dq zTbMRB>3w)Yj*6jbDW01@)9x8#Gql_hUt8~$=c^bC%aq|x`3dUG)MF~oz&kGn)ziF& z)qa|gPaqb}ma5A3DSkJ`yt+!Obf{&xfY?q$P@62E!s4&q>OtUB>#;5;jlPeLg2$!m zp;T1b*hX$J0y#=#)lTLUeR^ulh2*i`S*`n1?a*An*dd9M>v06D%CDjzcZqikXW!?5 z*Xj78^wdo2-cM>^)5(;R`E(q44&e53~iZ1@5VbwCT%g^kwjTKh6w__T9>)_p}ad>wJ!WD%t*LxO#byx-?$IzKn39)P=lB8Y4? ztoEPku{Fdz90a4RiBVAD{amK{k09v=W)&WI;bY0GVw;%Bq4!6at*Lb5A>=48A40X zFOC1!L(rzG=fa&;UJzvN_rZ$ZyNY*?N}G=|PnZ4WSd1gUv~Fflh$F*3nv}dHj#?gH zihXn>V+M>b`7cCjEDU(saln(Tt8s?&ZlAd(sT97B`aDh{D*dEQ$0vH5+D&8huKYsy z(W(5lCw2tHqYR_*7eYS1BQ7nCKR@i0&Rtd3M4H}-vj9KMS$A2*{C>`%+AKHMP_r|& zWPYFx1_|5`wIM{=0HXZGZF;ZOHZxRp=ojafJHqf;uu&Hww;)mXzpCYm!qgXK6}I)4 zs15S+X&pzkFI@>qX{g^8X*##vv_^BbejKbPm*v?nor}S9zM*A#;|C+As=!k0U9|8B zNnx+s1>eDUX+X9G8%hOrVM~R&@Q{KoUUY%BCn|{160Oge|DHIlmW>cDHa;Ey%BFY( zaX!LdATwzg)GzaODb48p%`NvhbL;bYgwIJw9gQ4`(tXh8iq8I2)fWX-PCE#x#9`b4 zT${u3tPQ1vq>&`&O{NN7mD)h7gaaJf37B3o;NYHa3gJy8_%U0A5-l-!nK|-{Pr4DY zGu;G}qb?&_s|*|Z8z99VDVc*MvpWh%DyJ-GOFea^BLT5y zmU!>t%0~xv0EeIVS>!sn?)d`U|3NJ;z9EBTW0AzR))3^9NmAt*SF`Z7bN+R>d|Ti9 zv^DFjE8_4{T=-plv^YR}y|QLQvfbPKUPS3jK~gvm)wNKNhODZ(YjyR0!Xk6Y0c7^j z#gF9n0%byR>V4ilR#pE)Xnm{gQ|o|(A9Ceeqn$8#&PIJ*9ZfBhKZY3s_7H>RGs1== zKgG6?FEK_Ixbuz=9t|L7atM60vJHV#EStlnF!r2FX(3?VP1e4g83G%SiAgAgn!lJo z_R5m0$pC|);?PKr*15X>p_c6sAT}K0)LOMs@A>lp4f>N_LJfC^@&9s<5=?cRT4h$4 zA$(rieTk)Qt9yIc^e(m60%AAqEyM56galJ8;sZBvrrGPX*@q%-0QUenmEWM}sZughhFsmz8d@=%Me=UuW;FLK4{OOMmjuLlnH(f2)oTM^~ zL6>_-XCNI%>x@m7h?_{2t!_Lep zuITQ*+!wa`7#=G7NJyxEbQCr6lIp5dl?UbTOu|cjEU+T26(mr8W`j6AZ3~<biSMOQ}M_O zEpL1@(-Ums<0IXfWj$Xh67oEkNi9EEgsuvy#P@>a4bK+^DkhQs&JZ%P@UFYaXYPku z*vj@te?-~g+g*XUw(%g()ZqZJ6myaP&}zM(HdthR{_ikCuSg1&LYeN|;NQ3D*alr) z%ATM5GhxH$W^9y?)G)gi4_N#}kVfa52M{v1Kg@^$TI;MUQmSuZ6xUW>o6Cv)3S4V_ z2mf1T6(dddQwP~|JC-QPlZ_@sT)*#}Mo>0$`0P|cJa)%zFUbB~=qLL@Z8>-hHacHH zq83P~VfGT~8zh`L>s1fD8r^(5GQEnmW8RM@%WuysMd3G9SOZUlZbPFBwCrxi6Ik02 z6nX&-lgik$wj_>F8oK8>vdKkg@q%bN!>(@+yHZ^v<1qU`p6?W)&#ec6da&@5-gZy( z=*63Gbg7|(3+Z%>XpC<(Br#f859twas9%bHbTC)XSIV*+r!9BaA|-wLWSaqfQ!n7m zGVCyv8<@#R%nf|)VHHeu4Kh1jck6cl<5V@N9UV9J`k1bV^{HaqfKo9o>w7r={@l9W zu=E7KG81C9U*!EK+$#u*-iA8P8v@RE+z7VGY12$*a>Y7E`Ad4V10K{A0k0{0y5;L# zmnMJJm{3>=OhKhf9rN}1tX_}ON3}IbE#HwpU@`A5TFEi!i!^u|acDMpPsQOd7QXJw z+$^gY(Yy8UVEfBnCc;J+qYQhg3meUIuJ^Ap7U+|>AryP%?F*#thHJ*NgVZ8xnUwIA zEt-tmu7AEd%Sf$BoH)`lvkZ<8mudmnXT-1NUDUgCcTSvczB253KhHR+ahJCynn|gC zP*!6Am8nInX6Rb7b=}y$_R5wa@Ch}m=Qv6*$2BAw&!rGWLD&qPY+ljWsNfv85(jUmQiY2KHfB3zO8l}^)r zHO|wmr%~^W6Z}Vx2bULk_-mg~@?w!|y`Y5nqqp}dUzS7eWdH&jO*Y7N(ec!){4C|3 zKCW^Ysc~CnBT;YHzB#3YW(Kv&Z+5@#0wLuxuWycV(v$p3V)r9blaF^bl`Z>W_$D>( zCn5_6fOk7r2*&3trsZyUiwSVfz^Vl4!Q3I^W-JTN0Thh+K0PHurviaxx|`+SnZx}) z3*K>}JgBPwVA2j#OSfY<$?}}ZTDDc{%yhC?s&gGS=&7Bz&i<`1%S9OCz=b#PiGr$~ zi*ff%EXC2$;canRxZ&^yb|j*o94U61m;53Y5^(>=Np)}h&_v_cjfb2RQP~`1j&qE4 z1Vu_x%3}o2tpP;oIGlQS_L}{Cr??F*{b%vSBC&~)iUHJ-XV-XK=Mba!h|4FnQuV1j zlm-qX$M}nC$h!Q1$hT?;71-B8BB6!XM*~j}(x4@@JhW?>a^GbzHXzN5ki#JYTt4n- z5@*d-y>)1gzV|Vs==c3jE8jquHTC63*HB%a@H68&r@h)=_lBh4v#utm|Dgw4gXj#% zv!6dOz7IDkV99ZE28$EQ?S2K>mes``e~jFC<4r0%)uo&Xf>r=lx3r2P(6m;<)&yEmMxB{6Dnu(&A#Kf1_+XNI0Yh0~C?TUu_XlUJY(lPIx_# zbMFLHP1ku6x(^iRk5B)wx3s>I4(c+WpuvEJx zm&LfOo@ z;^uc{eSb>=YTTbqmf*`^?Cg4)FIdO0byf5!Qb3aN!?CZa=n+*127`%58^`AC@i9iG zAl8O&X_acWq>5f!m7hAm{^^sd*?X@_R4v72g((PGDIhodAs|#-`<8Bba&nc4qu9=y z5C`KUmWK0qH6w1aFpw9yo4kSf#S5hTd}BHIw{mW%xQ+5BKV~6XCZ_aX&q`a_YDT9C zB_|3SaR$Mx3$wdDDu(ZZ~7cHZ#$Rv4~FwAbzP9Clt- z@Q4Zm%b5BD9Edr&Sh6jGT5Ug#8J~PTxzAFo7|Jd>AW;-MEwU6av2-; zXHoiC#MXwL%4taxBb&z#D6Kd{e|_rsu5<(%bt@CSvb&SJz7>iC2@NYw7@eVHuuG zHUe*!p36XDR_AY2xAIvE?YUtuYfDlyzPep@`I9@mI7G{d*i_nu^q*UJExZ9N<|)he zd`};d%1>7IZ|#-_5$m^}wQlq6`(H)7#Ys7mE)F;^(&I7GTIP=Xjad?v!lu2&7R2%`$!GZ2BfDG%NgfJYh96UC7}Obu^2wd#^>vXdJq(pPL5IPo=Kd(5QUr>n;iO znb^$v!NdWd0x30oNexj$rO><}-#6&K@ZJ1{FoR5;+fVwEzljvruRtBi+F6{HME*df zir29$niUw^I3U;fL2kp>Q$B@2L zLYCjNgfH2!*ML|u;e?mzg?G>yIlAwQD0&o>Q82$H-)}UE<2xq%kMm%6g3zr(jGf)! z!kps|?iVlZ1!NKvbg``O*(Z{ZT$*xa$im)VlBj;=am6jL(^55QPtL{}Ue`J^R)*r3 zSYwet!YH4tAsiOW9Eg9YA*TdIM{r`cf9~1{FOIuv9ThJCb-wkcFg)o!8f}U`XZ+#; zwi*quc5nsvbMx~_Tjz6~jx?@hMaU#8P0-V4oyio=X>#rr+{cj{?Xa31W*xcHP+-71 z_>Z6MoYaUYj@xG%cqqT?r+CzGCk^$Rk^pipeC>$Af)UF7Jx10n{i%WNd7U zlk9;5`~EJ<>i6-EmYVtyt5h+bT-@O>%X*k3WH~ZcW>Mh8QS?BiLpJ(NDpR+N*VU7GW3!0U$qakY%n@o^Ei(8K~ z{OM(@W>X^-GGxxi7oOgBNDeJOhQ3|!HRg^!Wvzt;`dW?eNQ-n75Qm>7kk+mv?3&*( z8%?#UKlwgrbBQ7&Dwc*znNSVs!5(dX+tu7?_c9ih|@Fi_; zIi_7^A^=i`)0)M+NN1L5SfKTGE|}q$h8zCaz{W9C-3AxpyOWY?AOm4%h)i*D*OGjB zV}@E@{)i=e_>b0kdhI%NFi14!>pH96VOHHbVmPop3{Pa&?~Nt3JIu-*>O&#qch3bR zv#uY*?>@cMD9WQ$*dtH6ACP>$pVRNn_v1hO$w4yaf>nSw+NnLvWR4>6w^?NxusZ-E z=WB)Vb=EtlyX=hf?>~z?e4YR}GH7qV-B07zRqy)4=CHTk+4-2$otG30X$IV-@2y7a zjyZci*5<~J5afK=T__TgUjuBvjj@Qbg-psSFw0wbJhC+%pi%KYM10W@y$uAU`!_{D zlC@FG(-x6|z~6GblM<=;+4?q?+)(ZM41Q70gG-9tnbA&_Xi$NRbv%{IWb}4LeYgME z$OSwyv5Wx|`*LLaOz-k%7V6tna2^8(LG-(JG1=!}>e3|{{5##HRPU5N<+%?WP+ZA6 zYX+0b^SKXS*P#jyL~ditLm!rX>g!jsX5_{jE|eacXLb{@`a6i&G~fZ{LkY+I#*hX> zMk;cWh6!7-Crft1&&jjLwl;^g*s0NWZu{|99WD@@a&A?BS>MfCGl>Is6(!=p=w9aS zk?sVt+I80QFO(H0J!T*HgRi=`jLRR5h(0F|POS)|Q%SD%d5(!FF?twoyHqE%d=T^Q zgZnf>L-DsN%L!}VPqN+V^CDW(Zn4-k==XF2Ne7wUz4-|ObtcGNZZ?mmf~K+n2Wvld zTD>xozNh%lgS_mc&&t=~y;#2w~L$RJ;$ve~jM0;#@Z(qNDF0@*@2+ z>=1aydJe=Om-^er`Mt`y&yD}0 z;}B~2lIrU^>bCM*d!lkhR_Ra-<*#Mu&4O$4jD0O9r_dd5T%m#T7vp~w;*IoMuO$rN za7iTRxJI%y2GUU8tcvs_x+}=-q|DZ#U>~1TS^tpcjlSkRy779sZlx5bl|WdPpWb*7 zvqfvHBMyW+#YSzsPABbTuh%lZ!|)vpr_c(zp!7~dxnCSutZ5S7%tmXn9WD&SEh*0r{@R*~5reS1N z?wM#44cpClWM#sC=ZsraN1&|TFQbKx{-7M@`c%>)1AS%NdK2PN_zrTCk z*n#-k3=z48P)#SF52Ig`N&J@vB%mo+&K#Am#bwxK3Hv(i;VOSXUS9TaU~%FZ5Qh13 zCu4dxdT*wvl@L%4TU4sRh2M9&ckyh_IxD&Jfy{N9f z1&n~YokgZNAZ3Fm8z{$R<#L1;d0iV%18ALM&SYh$Zw59`eBBd%!&9b<&t4T3+9@3izruVsXJ~Bi zue^h{jNks}cwk(Q;`BnIL`o2KntrDuSd7@L~LWNXuGlO# zkkq)O8e$PR#)Ni>*>^JA8w+x;)wg`*ap6nr0ro_0JJ$`}O%f{|hCZ^9x02&j3JOjv zrM^uUE)R_Vy{Jy$pZlE#tT|Z~t)qUA7;Ok#TN%2o{@kttyn~(#o6^nUg4aU5^OW1X&VEzS=r6msX0DF_NFssu2I+ zT?Z}eE#T-6AO%Ld{fu%90`FO~j)+o4Er$5mx=PlH17E!o;s_+cN|9jRUW=Qcd(Q64 zWCIG7%uUyA9|XCvwFSknORb$0IRLALAbc>-o^e?=aD}JQU)Wj;MHIQx(m=DoU@(U|g`v1V~xs4Or8!+?nC@Jgo zC2EZ!;Pu?=dfX;HA2)ba0o2E|ghn{gN*PCzk%C@jP%ZAq;g+wE)|pxoZeTV{CfU@D zA(?R8xt3jR9=aVBb$-1X2;~IW#HW4l1C^jU?}+8dDaNt(xS#I}Y=iO0>2CIb9Qs+^ zxQC&g;STGyn*#N@-o6h^v#&dDKM-VPVlqxUzM$pK2@MSuw_a!zC@iN`l==DSXWD$I zq{SIxGXW@FPbDbcJIVTzQFxg&Vl_YRUkx2yTO2pi(6UGyao3Kxcf$IbZSjqszIWoS za**oSWTs2Hk!S1hl)>Uorb*3(j(vRCF;aIPhcdgSK^ylKQpMz1hRyEh zu2y9xPGXFrdweoOOb})gip`EX(xGV`Wy#z-r=#(Lr$p{wgANyC&#~kyAbv$R%x7n@ zoOsqj!x1Wf_$HYV^bL!`q&+dV7N-*JiD{!gzbewtP_2m+Ei3+12#T;V!ugbJ2e@v7 z$(8a+0Q>`*qDi(RIM(`&px+Si2j5M7>kj9gI(QjQy}5V)c<8 z{^FAowzAdoEf|>_|MRbPS~lVZxj71jQbl@nJykHdn;9h&R^#WRc=&oW$m$IB56m6& z%QhP5F=PLxDXwPFMFO2O&i1+NWE|}@z-gA{zxhW;Ummc*dC>jE=w}zf@-Hs$B?+zK zFh%0gsCR-q1+sd+N^(N)Xgre67w;d^N&u{;vep^LYSNF=097iddtPB0A>T}~sB@Ie z?`6#1FTqc8Yk1;$tN&>}i$-c8nRyw16x!L8RsmGtbQ>7Fne4D@x9s}C2n%g#2cA{s z3gK*u)}crQd^`cp87bIU~J74E!>oq6rpUEXxr4(f<;qbN6_7(YrU>Fk(yiUey8j)8RZD(mfX(ggcr_j zg_*V6LP_j@q^c6fOf1v965ck9tnR1(*?@fERrGj6Z9nH0A&Mh|C`K~h&9rnqM3h=_ zIP8rx7pXplyoG=J&sMr7^;eQ<4_*6>3(CHnm-gRpZFP2^aaV8;8HQ?D9*!6ep(Y#I zs<}|hwj9M0r&_Y?;9+Bl*y;4l)rj_)aLKW!65Hy%pGsb~+sxm@EHrNj?PLx;rtA?k zu;Bl4MQ8P7d>@RP0p)?(bE{?vU_q-|;gaEcM=9BXSbg}t+$+#q93%BR2AyxJ{Ro^b z;7NMhmkueqdpymHcRUtlvYgi_68?LD`eL@i|?jmE>H8o~elTjn>|wDC!ElXTY$IP#J5 z^{3E%nR!-Qr1^jCrjN}!Nh`Pr3OKO*NiwF5C1003LOdjiEcdaomizTIFho~RufXty zuqrtlR3Y5P`nx$}M~P6)6`>z?;(&5(BhT}3gtVRudXr7kqGs!c|e0_d@bAs@Y0?4 zv+IujXt^>ud}Q2h32Rsl06U$k;$RjU_3s86n?=4Wv= zM{*$RayPi#EGw>0LQ>X{Bs)`R>(E)CHR~)&pNGm&U zZ|{`=(K@n@!C4ZD4tl};&TXbh%Y;b+t2p)PxTXGv0aoh?Sawpeycq%>WDabD7Bs}h z^575zmeU@kbgiY^wud|12wd!W(3RG%?tN>sFiBF0B;P?}zS}qMCA0;B0<3)NwGQe& zdJ|HH@6Q7$wKgGEW$P}sISb8M4M85ESgw^BVs)f64zbpm)6@F!>pjnlHEtkoisFo@ z3;N8uDA_)2cVki}o@cC*s2ZY4qO`#FQ z^5kB;f)F)50hu9w3oK5iZgiK517glc3E&uGd`JU#%<~WJL4FCSN~*I$-z)Euj|$Ry z$}{81DHSSfYYMassrnIAF1=0$Y+ZrDvF1!z8`}3Sx--8Ztu5@ z_=%WPBXvNMnQ5za70jZJ6f(zmhoa!o_u{X9Maj0Lg@J0>KJ?Eugu@V`SQP~_LxXfY z2b7#K@WO)=C?%e8RV);!wpE5*RBK}q_NclhlriYRas*SVKL~NXzgw3O8);q#IKvX9MWk4l-==cI z|EfwJ+)J7Fyty3wt?r7@?mg|Sg~sv3ghayE7O!}ajqHt_1jM}qv0yflm~cw=|16W` zH5{XGSbmnupB@&1KAfEW&B;rmd9mYAYxw@4>j%rV1iDc&0a70i(q*yV(z~ovwOaQ6 z1c!CehuD9o_c?Hgnf0%IWC-HyrFq(vUy8^RzH#fuUdzmY#qmIFc5iCoQ_6R?|3#BD zbSbgP$QZpxFkL?q4!pRWa8L*7H}}Q;ymdtJki0SFjQ`4|`uVs*WEDR^D*%0v?q1LZ zhbN85;~gEjx5w8KfBpr(f~63SPnEhRwP^?x%yx6&L$MyrprjP*R|byAw0Zpi<2Pe$ zBFXPGLMZ6D7x;{;H&aYbJb+Y4v~Wq1+8alreC?%DM`cF7{KHCAc#JQyfEX@G6(W0# zq}%qSi3crK2ZnKqu?m9vZ+O4ob`k7IYH08DY!|0`|tAhT& z6gU54%Xwq@tnv}0$KnO8J|y$tNy_sapL5i>dE_6!cj5w++R_aiKsx>bvq6KCf=MKmJIB%1Vs`0NQcsX7n`2GQu` zXkkmee;;^BY@vJ*GoL@nFP<7;QSscXG7xKm^JJ`vgDyDr{jy%}F*v~o28XXZPfyS7 z;(@g(ZheY#*8+J4Thn-ba7B8fliGKT=zYB9#*5GAQ>wTBPjTPh z_1f3#^?XhhX#2h|ArWo15~F5zEN=t8qp|w8g3Ky1j~iH&gA9|t$>@SJhkwg*)z9XM zOwWbmIZO3V-b)7egX6HdA)cM(umTERDCHMV3d#U1Dll9d`kFT%$}k#GxzA+g5o_0p ztW`u`-;&gprsNn|j=cMNmu^l|)2MtojCbJ7aUw*FL~<~j1=MZtKGOfzLeXsZD~5E3 zaUUHaGhHRtSx8`SA621UC?xO>$DEdgpQ-o_oLY#k4SiP|Jmq@h*kog{HT@}6XXtzS z%W&M{!}QwM;SE=>)zMf9I5#kuG`m2}XX(}ytdRW0=FMj8ogxv2Zz_OAK9g)(}j*$MEoe3zh2{nGgJY90Ce7vE*}vr*%3;*R}kj_`rfPxoUNrO zp5ViqMOM0#et{oTHb0ZzjG!axw=eHb_=1G${R{%8Ud7%*m}sX2ujFUqDYQD@01MJT zDTM>&`Gb$Qly07xR?H)pC#k1>GygR4%mB%jW{AZ3$tj2UZ9fW6c2FuYxL$+fmc+!_wQ$O6FJA6 zqmNtow0n1tRR4eGO45I7hYS32N`WDZ4`>`ny^k{KPGxYt{`s;%!m5y|FyZJzg|E0H zXf3+UD@60$5a&-337aV8470fLJDdSM`Q}5GY)%)&T9q+ zv9cTAun&62`TQei{Dat-SzJmS`tt!N$I+v~C6C48a9*(1?KC%`?-l74N|hhTGRhLR%k6wZm});jNrt$O1JT~PR;A^ zJiOVd)}YpubPgJHHt4=Se%Vdyg2_**>(Zu*KHF%^fQzg>CXaHgI|=?SbdsycHRpa% z)UF(gK2Y+lCu2iSn+{n?Gg#>2PFv1oPJX6ikK1F7gCt5w1oL5^4{xoa!cFYx_%{%HgH`L>Kv?mjnFLL#Dgvr2(0mT7>aTxgZBwxl>)t~I}s~6vE ze8j1&L2gOW<*+Eu=e#8|A-A5WaiO6XB69)-qL~zyTxDq>B$~WA-JMvdi00xzPc2$b zeSPAwjm!{TguEt^B_#ICjF?y77dfUMw-@tByeE>Qe7tJ(uNd6o7pu&ry_{tbxcU%W z_}Owx_i>?v2#FalN6@3gs`vg0)lr~lO20*Yo>voS0~e5vZrnr%U3b|ey@}hhS>BZB z4#F`Q2h+;8EuV+Lu-t{Vlz$ysq?C7l-sL3dnB6`i6aDRcO7jE)3S&``%H_4peou60 zl?g+rtC6z#GF!P$f=4cxo3AMe6up8duf3DHt#(B*AaMT~_kAZf&n>^kX)-h`nn>#B zG?@Ur)HLo(`I9SRa83$h7Xf6ubrjq?I2rK z+^@a(TW7-%yRR)2YfXy5-UU;|zQd}Xly765H_0GsQfK~#gl(<*;&%l6%$Lt@o4A*q z1WiTt51=9-!V2R`Fn2$$&GdXd^sbI0Q+r6YLDzHN5rX7U$6yjisEb>*+H+REgQD%2 zi}2`-Hbq5Ypd8EOx-AlG-bpAv>uz_cGmG0-t(<46XH_NAstCH2@nP!FcI1)d>jWK2 ze1FoIe2%1p=#Z#eg3G~WL)V3tb!&37n|CVf$_K$5k319D7XzU=LQZWxbyp#COSduH)%;?EB$Swjss+;*ncU8jjl}agblEP>M+9=7ZdeNZXW;*x* zK{iCJGW`-BM5BW<6flzJ8`0mJuU?V(h>^Z-|E@|n!}E2NUtL^M>(s9|Uz%6HixXPm44JmYa$7{*VbOJQ!8k@gndJogT2b4h=tz$~eoU zz)-%Urk2=#mX5H_z+UB7J-ba14BY;W9*rZ&GxH6l#^oV3*>GoI==Mr6w zqbjw%q?f-laJE8MR%P0c?`OL%O21d)qBZ%z(JQ!&Zjsa8-J{5%PI;i71-y5Q#4#zR}B1>Lw=6wWo0APkAhH{gs0%qcLxDIaBigEU9#QfmfttLg`w=m$O2Fm^Et9L9bnVCm9T@1(` zFuY`k|MeXg1g#nRVE0)FvZOK>mx-i-^hriPoBx?jwWzo~GRH-bw)IqunOX=peidP% zYLT2dkGuIw25aic;&uDvCDC1F98jMUH z7WkM^x9>swUXPQE)8DC{aMEbe!)}dEBpHjs#b+~!Pp!9FWTgdTD5dRFJ-23xA2*<{ zb-Nl?Hzd@^n6+8njpHX;bdpT-sF@hZ!&qp~->bJPkN_*Y=e}el zG|wI~M|bi7o75A*Kl%m}vfEoqf+{SuxBs_~C&Yw{g4e2wtl8BY_oNXHT9Yx5#I{;8 z#L<=ZxFOBf?PI7Iez={t^rX{b6IoI7HS>&Rk7QZ6C|?fuZh;BSFdjfr4<-oH%!{%` zAPwWfE8-*ON-2J`U46|zV1)2%XB<`=|5AjP^+_S|?w43{8L_5k4;PiNzW&!0{huLT zi2D~7z6wR!pXAQ`mfJ)wNl|$Ij(X%7xaH-x*>Y(|`uc2(h={~Cy#7H*jmCaK13Jq5 zD!5ps>E6A*r=VFd9LksS^v9K$d!bd=BKeXWuBElsbG)3?c! zmyTr_+yq14)l%D43#084cJ?Lp*QankorJf{)v-ojOO1KqOjTSSU;Hp%`SP&|%3L_wg1j zzva1m-AEhOy_u*|f@pq*46~0svQ1i=6nEa7jPJ5oy^VUGI+<*lr0i zz!LbB;3;0*+az{}Uujd-VHEjWEbnZ=p^loG6!VABE)u~0&R8I}&>q`#pVfYbeWuVP z^a8Qx<5yO#((r+Uk7n2wUylM0oF5r+W7;8o->*cW(t02fcU10%$<9_&=+hlcGko`nbUwiqQMwT7i~7to2;8?;by-aCB%(S zA(aK%pY0&!9A<5Z1>Y;uVge?-KQ_KpEx3?0aiPe=@ymu@)D+TAl%P?P7@+F?NYde%gc7*3j{Fe zMQtmU(}3J!_UQ-nUMz&syK8)^;OC^(D*=YEyO$A?Zx1F=6c9W(NT>?pl)9(P^eNUX zQpt{G@1ULb^dLHb!`HI%y**bc%TBq(G>ZJXz`D|*`=98hI<5dyp@3n)ZdVZ&#wOwi5s>e8))J~5ONFxik`B6SekIctyq4~$RynbVR5?-YQGE!$n*whojoV>7ReO4Xj*sP%fxmCgazsWkz=kc=ORemRH&BHw_mgsb`8F4eSQFQM+f}znLw;Ddz zP2>^y_?_0(+?an_qcg3N3;JS|ji$5^bQ6)PclVXUFR259ipV9wP*F6o*}fM@&~QO? zx|`8WhJ^B8OsD7eyUg+pBV6ptLAVsR9iHq9#A|aCoLIwT!9q|ms#bSb~_pizMZPN2c@I7kCBPQcY zGAIaX=?E(+RlfU2;$kLH2up4Rb&57g%TJT2OBpUzat&dMgFi?Kxld2J+j9NT*OD@I zn07@BJi(bZ6y85FTKLt^H?MKSXrxSJ=>TWd9R)zwdWzyqe*Bypch1Kz7wUk*UCUn= zVw0p_-IhcBc%6|IWR5Dne>WAR(TY^~#OFNYrbBD!e%i1eU8$}6ZAF~WA^Ktqz2y^!g-=~qdS(n4+zo)8inUuVK#Faza(2ck52BSOxOV1`}?}R z;!rLTld>o6Bk9aNX$Rg$X7+Haf|mHtDAWt=VSiMsYU zkP+U4(zp88zg1V;>@sCS6s8lZWMsd)A}my@q`Rxw5S5l}4<)uAb#GT}z!#fD5-e^n z#UVehzN_P1-vjpGmMuuXTkATXbrRsDB{-18EFjHSb_-2| z;xgD>cKxPb&F@Js`IW!D?3m-_HBmI^_);y&7A3F|?kUwFL&;Y!MjCd8yJn>I45s`9 z_+^`Ssl^?M~yAP~mqZ*3kFs&h?Ub zdp+;%T4Hg__s7^pqTVI*&`e!-IIN+nU)oS6xWVCf?!-6yEg6W8Y5sEr?|^^k7f`KA z^VxO4Jp#@~z_1hj`o-M8c#ghE!du#~u}tp{O$xaReIN2EO%1ALQ;F?H`kG4x^S@Q+ zTIX~IPs2SNyI+BP+h7yy#tb@1_H&oyp#|swglI+(4#VB?qhsdpR;&k`7%>_~ykdJ3 zm*BlR7+7v>+rEMZ`nh@apgP!sIGs+GqD%O+tvPcXs^5effJvuP|V-e+tKEDc#+Yhbld<`Q!I8i*> zvak}ZN7x<0wzPESzCZj1B0aZVPkm)6k>Y@mkYm2H-F0co+P9Z}ZqvTP`Z|Y$gN9xT*Ux`bPG^ zX;|>WJU8WXuHzEUT7Mw+pXn+MhGwGUYhr5?W)a`$dI^`9J45-6k&37onR_E8tv6a76sj;fd^W;x^(vKko_7)RUfe zU)my-L9*_XmC3-OPMzFCRWJg`wQ>i4FIwyn81~)mh^n`L^iDG6R8N&)@b?{Fgkmyi zEs%qV6`_RMpbLAm_Ly8`Mq%S$NuWMBG|SO_^R4q9PSv=%cXeO)k6ZZG7l3PUY&;Sy zGrSj#FMD&O)K!j0@8pJtu2D4`7PyW{WO7MytX?2&tKQM~qSweJYuzqJ|Gj2Aip*C1 z23(ZWbbA*h6bz6*=lkqmQ`G+oq^}y0qLbsuYN}Yjgs)(k z`%}e*$eeHwo14N#*6%y96ea9;H#r6d+cc{-UMYh$VGTd7lg0#4&+*r} zcWDw>d_xRg=Jex3%gSE#pBEx}S|UP$TE+%#Z`$ck?-e|+u+LbtT;7d2%F7#3UEheSBS z`ld-nEf?oLELopl40`%J`dN5;;4u1E)$YuV=!u`cYrdc{*5ZF{v@-alaf?zvWLpH` z==sLqvO5uz=8Fu3qJIfhf2>O~CY+;D6s(L!@Z2Iuq`o7|KILrbbkHu}{)qm%9d*Zc zNiF!63a~LqyeOzN#_ai*4XGWCKB~5;)j{>l9X<$<)LnF+sG3Q1)li(xy!K)G0lZ=% zp+Cs}p~JtAxHcpqk%xZr)w7tnDHc1=B7$i&J6O@8Nm~n$;Rsk7;=-_idyWx$Nb2C> zXrs-&m^K?2yUVV5)I>E%*DMZ} z(C)ymD&7CM7n?qb<5DY7`NeX6w3YQG)Is^Xs(vQ(Wa;WwQX$Q>@n!I^71V&rH*e>1 zT8FjJW9`~Ha~`CW^~0^cE&bYQ*!!HO-XxV1WUzD2WVkK= z-Y?lp_x1$rnPbu#b;y4awkxR!SI5y%GkpX6XnJ8 zIQ4j)lm>zujPg=MUFrSwvf*;4JFG^-Z#yaA3@Ei-j|5xJI4I~$A0?Yw1T6`o)@cWk z++^<)vs7djjfYpPGqV5JJG0Q*>U2|uu9 zxGPYtBlPic z)Y0q&$hUTPZ%Dl@lM2_)!bV6Xb{R=7$V%qO4sKQEYgew^0GYRFt@M}0fF@q0e*AC7 z+3jK-5F>LOT1@xXG4JlM6CYn_t1(LXd2&ayI$iI09*1>GbVL{Z__56i|D_uh`|Ad% zwr2KP>XX?=Vm}ovYA_Wv{aRPjbgOyyvw6*O=U`0OO$Q23pQ^)(qA%k^3GSo&Uq1ht z+PE0u>6&PqR@nl@222BylYnQ7645;&osl(ge%DDs=xd=ruu}Vjd0BPJU_aEW~J?|sK(gP=!&AKY`=Cc z)@{w@WHO+2r)X7M`3?J!v{SGJ3o1CY?CZf>A_tJ84Jx1|*U*pS8DjR0hT`h5^)zMe znr=n+-&23fu&;ya()5mg1Y>K}^0d$~FF;?7R|L>TwS~WRq*L9McA^XmjHI-4Hy8EG z;kI68tZ6wGws+QTyg@;#@6A2GbNg;35P&{OAVd4^{C=%je)y2-eLP3k#(Zn&85NDF zC!#NB(3%j2JyzTk+R@I(UKv~4#{nd|^xis2Cg05(%Y!!Cs=fEM{@vn_-M_S$?VUF^ zQ5TmL`=aaS=#CS;H(g=No>S%_eq;0%`+<^?_snI;BgHRGZ2-Mj{jzFmZUgPZ)d~i! zYZOodpB~!|o#pi3`s~@PcV;}U$^19K#c21Mu9x`=`(z2x7zy z55cMn`x{p|Tpb7RO!BZUZhGVw|eUm4{dPR1|S^bTd-=sU@R%vj?=P+hR+ z{jD=S@mLjkNS9^Ax^X6{J#m|jz^ZBpDrU>?YSXup9M=g=-s^;y>WLx%ZwgH`bkajEe`K8;h+W7o$oO0P}+u*kpISwCD-ViL0XWPK@L{8`~9P>Re zomqd}i9{?1JxnVo$jhq{4ab}J{#Gk3E6eFPWr@)lCg#Q53Vv6WmPj9;e~^-Y)9@lZ zZ<=!DDagr3*H6*gp;Ct=ip&Hrrz#;bLKxW_x6K>w+sxOvT?^iPa=paAC}^XMjuqO8 zpK~}Wz*=%jNvIo%4p^7eawE_mBxIZ(CWiPu;J!B;G2y|sY&a3QuJnMxK(<_Kio1vs zUliMAFfm2lWV8dae)Q9V@K(P+U5!=RQ-5nxXT<^yd$?~6CzZY|5d=7}glv%dCq4g| z%>|HgOy0*5DzMd`_g`pM!+tV}al4G$&!voeSFkmPUWVr}@133RiCBCCdgHv7(KSH0 zQiK|!-|+kKd-B_}X%}W65!N~u8tRgy0xH@tF(7V)Cmz$2GwP}klsstdeZ5|LuX5^F znbp_=%gCCllbM_76}|7D-^qD_a$E8EYf=KQ&o-HgPac+>-1KrUP4X>2$qQ}c*>R_N z&o$qW&0hY;n5X+9zTc8Upv8CUadsw&Kuh5h^kv)(7Y*I`%DC8E5Wv{W_y zo~C#CacU(b|K-ej6WNnNN|-s3IX!|ClQKUYW3wA37kjdbztt3_W|$5|Oln%DFrlfN5n79`4UiWe*_@p&%4X2iJWmY}OD zD@PNY7aYSuhY|qz6_8rMv#)*6a$4nM4RY|Lkhja@^IOpCtC6(t9nikgy}TLqRV&K^ z6u?2X=k~e0Oz^9(yTBU~i5JSeW8~$`ry8l9D=G5{`>bjl ze}Hfh1y4T`icl-G8l%6FzjI&jSU@r?^?ke4V`jPp_Sm_dvuL5s4W#V!)CPGW>;^6O zF4j}lJ(&2&RVkuQJMG^G!*6M{oT%MScDoa)-})R7)C0%{Oy|+rmxu>n=8}tj)w8Qu z{}r-gL^-|8M*kd9ZVl7>>8rcWAEqLzJ7L$ISFLjBTr&$;tvONIVW91cj z4ZbA2bB+V=+Q--e-T(nmvZ36PbN+yS=D@b7uorghX{`R2?xTK1ttGJ_Dtp2kDxR&z zy$^IYw~F;ce)j2{tRLHwQ^q}IvwN4902{mD#us`T_VUKj&lF!VVUfRjc>@%%dgSw* z!42A8!A{=}GeDdJKm#A3cAvwuGi9!ohy(d7%c>g8agHy(EDx%cMEB9rD36A z^R&4XB9jQRVzRn>%ATR4Oz_r_l^r;R0tyRJknG31x7p6Mj`6S#^Tz+wQVAMbdTuVh zkRUWqiYWkJl~>#%QbvI}M|M92Q1y+)EveU{9jR_r-0$AYF<^Lpl5bSxe;=DQn{Y?m z0W@8OHq9~Vvwp6I0+{q8KqX*enA0bh<5_F+XAInz^n=@?FDZ=5k@4>3tc}27v8Hii zvNgt26*==(58d)MafCIzcM|kp8>P!!GY+AHAh*pa`P;Z|f*ztWVgJQ|!(0370hb@r zUcDc%O%k*nR$i~Bc|Bk@vD^!$9n=)b_*(W|r^3JOYwD!zu2Hf@n@fa|DFH0yTU@|H z7?sRFW{G9D*QBI(1qIJAZkDZ=0>pP=Y-|&(tjwgdmv`IrN)}^|#(-sfR3y8(!0ng_ zL7`8G0INV7P}19EWDq-|`DZNo(2HAah0Q;|U)^GqK(m+9G+aZJ-)C2A2!OE#Y~SY& zV&@UZvIOuEaf@S-t_?;sN3(lAjvagmPO8gU7EMku+`Fy2-Z8blODCqs54m668zS-d z=M~apyCT%eP{@JEAu{CqegHrj(Mpbk1bIgs7<~m`<8^EZ^b^!kaZ8#eZ7!DK)fLn$ z5~AzuhW@Q(@8p`^!d4#HOE7Lp+5B=33+I||CHV&zqM*>3uerLxKI^sp0jf{NK29LB zgQc`uTns*Z8PdVMg)UTA`YFMMatg)bEdVr$qNj9d{E6d1K=#;?@IvK{^9LC%K2_nNqktfQ*$%iRKrJZ+5G^Uc!@e0<*~4{cj1%6*Dgulj@XgL9 z9S2ayuZvH>6PC&20c}S?Ko)wtEQ3viqQ2Irj=%#jW0G6kcmNE$R96K^2b#|la;wle z@mM8jXn0tvIfjL%S7wzdI}5y{^ZnLKk|rq^EZ`e{t;B<2mZ zCiqMacm?uCFn%KyhBlVBfc9VfRBZDmO(^Gh_4nnzAIrHG`%b5s+vCV_omQ}l-iZEy;M@Pv7-6^tmYl- zArB_>>wn_8^9V(X+P!46My;)_9d8xNrKl7MT2XQab?L*9jfS*^P6QtygCFU_e1+ye z0-Nw0p?gR&7bOe<#)}9*Pr`z2wOf)PdUCsD*B`5k+AW)*GmHMI&I!7c5$^#OzGqj3 z0P$x3e+$-pfv5xs#9&-{LfKQWsJQsfzkn_z3Bxo8(sV;puC1nC>%3$;&CzkuokwKDg)qR<-(+WyCMs=Hium2l^En`dQXXAvd) zcc89x8D_BTfbURg%n=JH?dVxib1KI{(tuNrU{L>Z#`4^YV29RCUH zb+Ph+91xHe!ID|^SF zcp57f2PFVRF|QBU+NlJo?hd85uJ6>Jm?c~dy9^-#NroM*TFgFXK8zFMqJaYnqI|)f z4HG+q`o5&ZWI$w~f~rLAnqN^k50l4%<=S~lhoQid+uGVj0(yuA5Db0(Pr+rBQR^XP z2jhrTdGJzK@KSXUx_~Q^P@>!it`ywqnxnk%l0-*45Czw9A>#KjKkn0EG-%<=2PfJ; z1y5xlmcDj>pe9U+KC(?_3=U)u@i$IYAJJh%M#snVZkou>C!Bm@zLguHE;5Ij^~IjD ze@Z>*N|YK_@s!g6O%zv9O`x$_fTkCSjH6ZPquc4%5*_ocg50mxkAc?Yk68UtlQte@ z=#~A+{@Q&&<0CCXxQB`S@3=2D)2g*d98{L<4+5K@HA=6%>zVI;g0FC``A zYUnn7VSI>Q^)B0jJ_T6P53 zBU!R3#}U1o$!0|95gu`LVYLhHt}@*xiu}=4Dbf4vs&p9t0CMN5@k>La-9Yu*I!cNG z`H;Hf{RBroMCF|O#GZQg?w!l0MQIfELDwoM%fq<0s04T;hRUeQ8qkS!b_fBER<47&6&NA$s1oxuQWH#oQ32!WS&DXf_? zoPd*}(JhX^3?FAtb#0s524T)up9gdp308zWfC;^iVxbM|rct|fuBQV!0gvhHPXGs3 zf+KL#)(=8g6Omwva5x2^TrxAq6JxZK$4Dd98U7{M(DvRO8g>29I1NzVBFd7;{gHKr&dmk7yxv<>A_*=Vo5C6g7OENe+QC%mFJxl>l}kDE>67fa2PnRU zzn38~@5wrC-fJw@w#cfxM6EP%3Xn~919T}0#PNXJ32+}AzllbG^nkM|7+rH&=u21f zMtmtI%g9Khkb4M7l>WT->A1dAH8d&-pG!firVs2UU@5U#BvUnll#?%vjOq%A&|8-E zt>WfYU0Hm7M?8 z#_@DClq*k9$&(&pLG+rad?}%7#eJg2p`uy|l?E2^C6l859Xw1wvp-wM21l~VfT;Yk z9|H`40?GrL;7T2aRssD=e*Qlr**J)|9Bgh*bBt!rdL&%qV}VMSmbf@NJC~$+?hU>KU#5#8XG&uo%t{P{|O@%V(jqL(*hW?l;_-u^Xw@9*@O z%4NsiFv=ObPOuBdzWMm_&=^o^rQtRQi|-OWYw^aqRG4Oq-~ zTvw6B)k)k4)~zwLv!DL?-q$cM=L=X@+!LU-+=v44g(R|PbYVXa4T-6bkJYVlSHtY9 zS?UB3AkrWbnatJXk*a)RlrBG+{G1o%@8as3(^a7a&{)5exG>2v)sG%--tx}NHhUG2 zwUS^1SGy$l09Be>a_*_i07fRU=e4pmt%-V890&jQ!sIwqP=~-YgYfPP*)xmzJBV#YxB+dL_2`Vo zaxuyjv-Qo(q=UqK;!|oCl98$raDC9oWf2*5N-0B{-vD6{2tV0Vm4-%@AZv&i{u{0a zjoT)hD;1Ur+BJ2s+1NftJvirm{NT9myKzF@KDS*uwDx?+ia2>59NEbke$-xEpDoo9 zReZ0uDT^{0CR6(2S9`Gbv}=p#$^Ky-Snzd9QYpZVQH8qu*faUbFJ(GNbQsJpYUgU@ zL~?&>>#F#&;11Hhmv$M+RK{21u4MfV0+w}^>03V{l^?@o@)Sgh&NAIAfHN}0Ffb?T zJtxGYf$}Fh1RCeVAAL!>yIse|M(s+TXHwa6LKS3eP#|MyJtQ$qTG-xk6DoyPK`+wx zp$}=jmLNKR2zU{{qpoB~Yo)8FQDAh%5kEW4iyop@uCthQbcov6Mq-H<5-ftY5*(S~ zMcB5j!L?mIjh~aZ6_WFtYO~%zUy&v)U>>TW=_KYJB;0&K0w|1mB@|({4 zI_9@@$e6ExcsX*n*$KE-)y(C{xRBcH>~t~N`H{)-alXS^oJce5<#o~yMnOm8yiO6v z28n3buB)*XtO$j3-b2#YN#5U+4^}r{Sg%Oes;_}AOJP;*-n#nMEAY&4A3-JKe(P4P~ zgGBevr=ij6l6x&3Cjk$9u?{nT-Xq|1&1U425@OwBjN{^Np}8e#TSBF`L>`^s`W~gJ z;bO@;{)#m3rg1M{kQcP?Qb7DeHLV4vwo-k3;5pZJHLxapdpE%|T^%Ty`fWNm3#P23 zWNvQfNE#kHZNJE1;sted$U;F6*@_60WN&whP>?^^GA-+$h{*5049_u6MY`?J?Rdq1D&?8|Ojos{Ht5!`#~+N4^JgZyxPR3F%5Z(0Tn}=MBHkq~qP`J{{LYLgC(y#FO3k#3J#T zo(Ep-3E@2~_P_e4110>KsbAxr6=T1Krbm0HhW_w-B6=T=PLJ2}ey8_;csNjWq4!xQ zzyEq)?v=k;CbXJZ0OqgWxXxi``0tTchppunDkP3T?M@%0%~w@PwqZWX&1%_ux~FZ; zvX0zY2mU{av;2KyfHY?C*Gn{Lm1x1$ROe$K^G~Y#g?o*rOuD})^?hl0gWW+~qP_OK zUc~&$w>8pbhf3GDhnPPhg>85G*&Mz5eycdU^l0s~9OAMU9l;J1Gh!zOkxrM9H zscq3t*WiN^6@9jRdBvD=?U+Pp1mAZ4LV2sSVim~}BEVlf- z65N_2h)~c)LrNQIXe}nWkMwuywEVhoh&dz*lj&||&!?ko8Qm%+S&67;t}niZv>N^c z!iq7_&nQAB>Vh#z9;*C}5kaY(&DM|fcwakO|JleBw}l6q%*B5FxgHrU)Og-4?F`w{ zlDj3PG3es43(}R+gq`k_`nCEljbHhUqZH=6p#PK0g|rXEN4Vb@Wu3I_46_(&{ZEx` z&$Y;b-4s(-!+!II2idac7%=T=@!j0U$t{1b?QM1sn_SS-Vsm~a!r5-v#n>UW(^4!+ z)wozRw0C*qm-%z7qn*P8MMoWjq8*jIH-sRq zMNghQPglLSHRk3~immki#@#mVb4RZR`=}coboWa4@_U7p$bikkFYP>nl-Ao(qOL^` z03T7FS%sau{OdB*_Gh?Q#OKU=E|VR zV&-(VdSR?}=iZEUKlXg!L?|P2Hh#NzJ=;qwlFP+Xo0XQWRx2is44L~?w|!$zvfZiP z|8_-(6)!3GozvRf>y1B!ucKjYbgnU0YN*)$Ykb7%+#H~gs@UmB5285dQf8JfK2`G* z-xr;FRdX%3CY!8twAA9+XeNA@=xcw=m0}o7vS@L~@ob0R68Ze-n zZWtgW%Q@WI$%~wHP)1}{S%kfCq$cl{41S7>{j^kIqj#Zcaz+(yhGibzbu^rL>%HQx z@RYgqQsuXcZk?2B{jJgAfgN69ln#Gcix%u)#JDEhpmiz7ZQuFh%+NXXQkm+<=iKXou31xYk%(qnhTH2TP=G;*1{9pJaZTABdKi0b8NZ$pUNA;Y?Tx`npLq$XeyEzbY7-bAG z)+{{htr)9@*btc0t!Jd|V=zHu;?Q5w5?hL=t#@l%@c?@S-W4%k51CIC5oHvVZF$#n zm89akEQwRkZI~db3smT(QbuZ{jRAL_sBS`UGv;|6`lgtb4qhfDgfAm(a9^sCPu9S4DL zur$-73a2=7$8Kt$nn(Rj)IM!cvV58kryf8f>A8OgRJ<9_$QBdq8#7iQ{CG87|Asse zI#*_O208R)Ax_HB;WJ+1+hn?zrQRXkJ+0QO#tcuA!>(3L%BlQW4Z{?ad2(hASio+; zda>U0I2Ety2-yTCL27wOT!o`j9+27CIVSVGko{3|9sLY0NfvOolP%iW^BpPJgL(^77Q&a&9nb-8s&(!nYR8nt)e6ngfhd2e6BC)22+EtySq(a7C z*r=VV8C{Jqx=eUXP0n;qTQ1V_9xFrtyn}NaOKDGWb5|qJrG^y*JH>)7&D@tl{o{9@ zMKIF?-ducKk|SnZ!(K{!9K6~3KU24X&6I+g3hbm+^t9QUk!R=G&3ej|m><3t+S8G2 z#{Ds6r}-e?P=vNiJj#$KcJkeWg(meGhALK4y`0W9#1CssGx1iMtI5sQIciEh<3ZNi zGEO?4n~3sS{p>4}Bo(8NFHh(;62nO!k`;jOEb(XbVAWI3Fw46DUs=T??{0768;8Mymv}*no3Lm$@1nf{fiUiH!6_v>T{_u8f za(-m^k;!36nZq=ne{DR2{e5*l)BY^6(F=Qs&#ARLhZ(9^UKVHw1D`S4h0Bb_2NyOn z_RH>shv)CoCi;ezlVt`@?YHB-hvmEjppf zwOj06+r(tfB<KO?ixj{uWT9e`cH)JYDL+C=Cu|fXVa|51#}IGTjy)3I zPoZF)eLZ>yI3NL{IWb+UPb&( zWtCgFSz_9aTr|Aw4Z;bEmuIDTZ~7~qzy7aewOCN$Z5|of}C~f*unnc zpmkJkI$=qxFn*#!#Jc~(=NYyi-_c7HFCb%bmzGhUGhk+Ad=FFc=vk_-6~^9LeH6x* zD*9EUr=-T`xL(DmtRB`JsA;FxH} z*|@Dmlmmd%l@zw$T{35R)t(dloDmwIWdj-qnBJ%OfGM_|Pum2xUTfZ! zL@+WO&-Smbf#u0C`Fsop&|(}9xAZrYYWuJ;3cs{(_N09_NiOA{;Fp|yYxETa2eRQc@h23*qh zcLGCB#@^{IAR_Zhr!}PQ;G?I&J>-z2%+zVjbunWVh`u8398V#XGffmM_`lqcSh-9@ z-vVlUXFZ}Z`xraHPZnF_T!YKdoQ!!8sT8tAQ;4vs!;s^x#sw6K>GpGe~cf|z^aB*;(Lb%kR3pxg>T=Z1 zdJI)pqZ4KrJfz-9$P%O6EdIUAvv@m2k9iaMw>4G9Pk}jn3iBskgS-AgO93JLFE6a) zHl8$4@?kren{Z_QQ6=t#l-kJjgKKHv{x60d;83S;)S{$&n<&ZOcTIx_4B^Ep@YA72 z5?BHe>1`<_q3IjrM3l-*cfne+iq(0`VguLXz`F%96E7+Iro)@cn0!mi*6Wd{fE_V; z;PWn~LZE{pYSpskUPzx|eX%lU>NWjL(~c>hLbz>84v@P= zRHu{Z6mgigl{@xyB`n>1UsZIH>>PJI_aVi42RM@C1R^9~sUJj{W2l`->f2K_JOrIl z(+J>7a!$45@P9})GZ1^Dq0UrzWiTfhG;TcjT8i4bOUiPZrhsy3T*CYvB>gT~?T0^n z-XJeq8QesC-)T5Tyx_Z_cWNr<9EYk7n(cDKIMc2Fl_b$L7U7U?V-T>NlA3!E_aS0)%7t6E7b&|9xBQh~4ndz~;90>Y7u1pKd?!|M&Zk z{BDkAKUB#VGEPg4rM|?Nj+!YSjcpYtI4rpV3`1}lI%$J%@S%9^$Rp2A z*dwJ8zB(4F6a3AXiyKJcPsDH`q6B{fP7|uJ`tvDIJs4kUKe`o|AMqg!9*>+-R;g-U z39JEi0G`sprqP91{`n^?5G~93f|f^Q+93}}cTRXYfMU2q57Xq+tfguNhDp~;V2%&& zA%7|Mn$nXk*j+;9iR+3MM&HmZ0dy-%&Vh4o<|!q<>S6G5jE2HqD65QPtQc>9b54OO zl8Uo`19~4r9a8d#!1c(2go>qa@4`!t1#-o8g~mWfL8aHqoRBu<+K9fF4c#n_$Mi#g z>VPGV^4m{3sQU!V`l+OlG&@oXNjK^F9KOFZjy<~%Im1hPR z+P19OF~`?s1aT4_S;gGKr|}+>z!$=;q{p|RsiAdKdljOJ*3~`ODZ}ky|Hj{p!5>|; z>?;3LmyC;W+SQIGHDrBijA7{X^2&==U<`7f)uMujEU2w3g4$B^q(S?)X^_4=`Qq+( z>b8rqY9v^myLV`d#TXm_oMv?G4ry2)yZrKA7)h#R5@>tpV9v(ji}oYRISjo>#P?_` z%v``(e4R!kZ#c<#n+`LKnI=5P{~0~k12yNclXS4%@D-Aq15GXsF7WMZ$F^Q^Vc zd`U?laQu>+^az_pFND;iKy5OA06r!&6P4Q}l%KT0CI($ygn{*GC)aaadLsw8J3Rs2 zhX!*9fLA*S*)(VLcylGIQQgAe*hFsp4Oh$J`osgnCv5QboSA^ai7NB3f3_BX( z+Ijt1e}fkOBivW#i1&RZXm7>zm+@)f98R<>d;sn?HZ#2En^gRf(k58`(%a3d@8m+W zmAFgRn}Hp0ZaNL@kCaCIgDT0yJwmn_!a3Pa)*5(^`Oisy5cPWo(%wz677=_!9#YzB z3(9~ZxC<=_^SV9|3CRly_BXwI{oVe_aWzC;t_PLFwW6aGmkbqsm>?z&M&;B!`N6IvK?P>ga)JR$1u2}451_B5ih z(OsdRNwyy3b7N9B1h9kd_)hoVZuh z-FE_=JHg`Yjj0~R7W-_KrytTmz+hDM6kIaQAX&oFa!9zjL%m7eR}20i+xbv7$!4VF zdqb>e8M70bYw(!&z`7cgb9J&|4ruj|cIK0w#nb1Bpf|-?gEQUSX^yo9rssFD%d0*^ zL|4o>OnP$Vw|6daaMHT*$J z6~Q17L^j)%UBrxLcPtL-f-$Q2U-t6_LR>M?_^lU8iS(nN4bMA2$#2!Tc-s4luZd=PsMMp~Ul z9KfuuHUOB&X>naIstC*RkbAJ6&oEaHbzY_jUctwM@m5?Ga2cm9&lQiq;-jwrY(N8_ z<|3fTfr(feFsp11!0f%VT7As1e_Mvx0mycB%nx5ngO_o}3TSC5V4r<~*Go)o<|vumzvVA!P^{uOR6R z<|Sk&khXq$brBNrg!rD*8Bf4SGs9?2^sKbZc>v;k6)`{Q5hK7=32Y;!o|O`B{9_=z zQTpCqgd}Z%<0o7SEIG+Gd(dcdl z^gGc(U?Ft+3Iq5wwFXIrJ7mAbSMY_`C!pUiI6lXBT<8kEP9>cO?IM&r#4r*so1&=! zl?8k~utvmw<0+jYczV?*4f|XL)B^!{j8I1Q2V{jxVIg7ZAni?SHFaA+8?yDLPXI^+ zrggd-5Zf6W-oazd(D*vFq8X>o_vOLUqORROuu(#BybQrSTDBut^9A}zC_#hqP8zfa zOA1Xu!dc)gmH+9x={zB>pOuDNmZM80A@WFh+Iay*^o4A(w!~YV})l7>TCfu3;r1RAD;C}x(APtlB~RvZwi z)kjL5Xh_>LJf^>EVCHkR4IbtS_AiL#P0_Rnh80`Ha8g1sK*C|BHR$SG5#M01e6#m0 z-j$gKi*_KzuTEykx#=D{Cqm@8VPKq3`*QvWgi0-pQG#z<2W&q=Nzddhb*Gr&PUK9&MP~Y1Smny-nBpH2%GGy~91TiQ z*}#htqJgIm*@Z_)o{pv;j)eJ`H_Jwal9QXLDWQuztJ;Sh? zZ)ogmXo_Ab7|Z-bYIX8&8fSZr5!Tsjzpeg=vkVLH&2ow|IBrd|S0~T)b#}qV`_aV7 zez+)=Fw_5p=5%pzSsiLIMT;i4T~lE8elPvArU!;oJi&66k*y(*=LTiCVgDo*&o{!5 zJ)lX7oQTrBzjn>lGs85lXf+lK0*24bp>OHRK0;TXu4w4{H{K<8606Yy10w22mPF~GvW!2-kg_f~JdC!j39BfJB*kUCBs^iY6Ru4fUx5XS zo_C6m4^Ca?vtIQvxIcgTY~rT;DO$T;7qQdQw&tTGnWr-6*5s0kdIotmFP}wkz^Rr? z#vXmz;l|43oF^!rT!8(lMe98a*Jzl{1)LMEPT)!BVQFSe2pKR*$8`lO2e`Ruj@679 zZJAey6344l{D#{eZ@27P?eGITy)o#?dbE?$q=6iswXYF7=582xs)2wDl-bago93a^o;LdSbv_b8N%)ju;CTKV&SGygVFUUoR9P{qH1YtH$b3A5clJwZ z2FT(|39EKl*qVN><4X;9A}v05&Q?bXe)TDEHYz|08vMtgZ6#718L%=BU!ug(=uS|K zdYnlwl)T7wjU?_1m*zPKA10pqR~#Dhq584`c=neyG#G!^F;e)jJ|RMVlS66=vMC3O zRxp+3V2gkV^t)cUHHQ3^rLCAlDK zLvk|Mx9j-UNhsADW@wBH?fE$lu1S}YV7C-q_xAKBCHhWE$t1r|jXpR-O_RDqk0jtP z$ut5>@dx*z!Z4qf{|goDP)D*Ad`*n78BQUjS;%0?NFKf@lm$MWrGy*%`-F|R=NeHI zPdtNl0YH(Uo+zo1!T+gad|I2V>?~7{tN12#jg$QgLazJV2fdY$)M^vp@hkJVld>B&4rn&$Y@0VMd^Z7OUoaM@VxJ zGZKNi@DvFXCGpWYf1qpd3)ra6`-`U-A9Mku%JmdtK@8Tkq2j;B}y5 zsExK5xxxW|=%wjETk(Jm_H-I|ErD8>Yfv7h%el!}eqd`lHXHYR$G887 z;393d#h2xvuS8JLpd~yy?>?emjqo;9=J(M2UP77AQ$CH^FhmXUHIkH&cshMZ%rktf z4`+D5AM$Q}469+BHi+EmI4=j*Vml#9?}SO^BDng7xhr@_IrWo#t|KtW279p{(u&yc zNCF`>9e;iqsT?_jEp?{4>8rJCAk{ci)_Ha(olo}sg(kuSLyS>bY{L`{pXYPG3hZCW z5&v31rtgDQVun33`Ol4njmk0?Q;H*7MU0oQ(}M6kXc>&|%^ydn{5VOw1I@5YAoOwQ zFyeb_b|oB=6*3;6QJSyT5>&n;dF~_mqwoMJqblC(5BSiD)Stm)rol0`UfndZR|)xY zRQuvBLoiGAWMjbo3sK=g^Hp>y7*D{!+DVm;EJD*hQ=TU0haI@VWQ1tLzx|AJ-F#XB z{#uP$L85CB0%&h?&d&bY0mo}dLxRkHMxqqO)sinuNiB{k1l8!e*xA>&sJU4awP8|y z3*#&Nk|;K=55kSrJmHB2v3yO=FMUvhT|^@w!=@Oq7BlwZfs)ReRU9olDm_mJs{^%h zSc?1eg`8Qnyawe@`Shsynq5D-CYr;Ri5 z>H1%)|ajXa+Jjmhd`j0R0v*cm6#=oH8K4g4+0Nd8QC& zK$(mzf}rlEJ9B_2wWBZ_e5R3CQr1Hxs13Q~t6twooF|>R0IvmrH~N@CX&%9Lx~I<= zo0PKrZ0Rg_n>) zrRG>xik7S4mW3x*lO%N=ts}PbM2GO#Dp40s9IK*`zRD^WL-DcYBah7V^jBSZ7@rpM zXr;gE!6%1be&4!k+q#~q?lky035)v!`>B|Jvd{YD&K%;Ue6YUob%9dbzB;t+LO)}I zC#14m!2}JdmcQeZwNS9pq@7TpWG(!1R@$Rk0xLwcVpumZb7iMuq!P1)9IBVQ{_NQ^ z(w>S>aLkri0_Av9+z`LQeP2E^2;cItDpK}yEUWrsvOmCISVnz!PsI@ zm6C6Qd7iHb!;Zcj%SVb2;m<+5sHSDrnMl_I;P?^{bTB@43+FcE#7$o#@TyQ{>G+X| zn&#GyH1Sq{aDBGJFPn=8aD`a}^x7!IodExn=Xm~<>6EKKV1C(8p84rpQXOT=*5fbgau{)PD?#Nx^H+9NN$)JrucI=A;roCG5Caa$xZ zkeK>DN5etVqw)i2zdm#E-LB>LGQQmyez!uU8;tqDpgFs@9dDv}1)&9kO^HY@c|>W> zzP#X~(w#HI){EcmfuC4V@L?C8&V95Z@9(lx1=Gw#1e{hRo%^#~=3w%j=NFRpL2tEi zW%Kd4s`1OQvW&Gxs$9hvW%Qai*!K(_m+LO#i+cUcn<-*p$3#2QtVdX-_fqer)_*z^7MzRkA`W#xg@Vr=eD(3&wSE;;tEGTTBs zJO1yfibu;T1LTQS@Nh@>i_=#VGou$)q`YSABAlQE38B@QZ5Z6!6W@|ooZWc4f zkk^C5R2Aj$7(qV}odnXoGAD*v#6-3(ok8i{i~qu=^9|IYBS&x&n-0^Ie75ouDMSxU z__P+q=*9YJ%V(s0zA@vYF0ZfRzU`^aVO@5GZ08#T<*O$2sOIR;MXXu7g(jR|gJlmENSSCqQrhDKlDV>dbVV*Xvy9=2}ibXE%Xk^TL-`6&a{ z4<&^u7wQEH%^1(L8JkoXi;auw(pAB$f+vzQPqQ=M_>Aw3<$1h3MQDY~XWBV0*%i0= zoHy)U0p810jU*peTpRhL)bzOH1-|5s<$!{!GT|6S<%e-mf^X3~W77SBC3|Fv&izja- Date: Sat, 22 Mar 2025 16:40:31 +0800 Subject: [PATCH 186/226] Update dependencies (#5715) --- package-lock.json | 874 +++++++++++++++++++++++----------------------- package.json | 6 +- 2 files changed, 431 insertions(+), 449 deletions(-) diff --git a/package-lock.json b/package-lock.json index e34d44bbc..417fd94c3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "@louislam/sqlite3": "15.1.6", "@vvo/tzdb": "^6.125.0", "args-parser": "~1.3.0", - "axios": "~0.28.1", + "axios": "~0.29.0", "badge-maker": "~3.3.1", "bcryptjs": "~2.4.3", "chardet": "~1.4.0", @@ -121,7 +121,7 @@ "postcss-html": "~1.5.0", "postcss-rtlcss": "~3.7.2", "postcss-scss": "~4.0.4", - "prismjs": "~1.29.0", + "prismjs": "~1.30.0", "qrcode": "~1.5.0", "rollup-plugin-visualizer": "^5.6.0", "sass": "~1.42.1", @@ -139,7 +139,7 @@ "vue-chartjs": "~5.2.0", "vue-confirm-dialog": "~1.0.2", "vue-contenteditable": "~3.0.4", - "vue-i18n": "~9.2.2", + "vue-i18n": "~9.14.3", "vue-image-crop-upload": "~3.0.3", "vue-multiselect": "~3.0.0-alpha.2", "vue-prism-editor": "~2.0.0-alpha.2", @@ -338,46 +338,46 @@ } }, "node_modules/@aws-sdk/client-cognito-identity": { - "version": "3.750.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.750.0.tgz", - "integrity": "sha512-ia5+l7U1ludU/YqQAnEMj5DIp1kfMTu14lUOMG3uTIwTcj8OjkCvAe6BuM0OY6zd8enrJYWLqIqxuKPOWw4I7Q==", + "version": "3.772.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.772.0.tgz", + "integrity": "sha512-R11dYd2NGAH9TDRUJHd3Ab3HZzSoyqwQu+ZR9MZdcA2l3k99mqsrvcLp60YBPGq1dOEQDB1A85xgrAwtWLj81Q==", "license": "Apache-2.0", "optional": true, "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "3.750.0", - "@aws-sdk/credential-provider-node": "3.750.0", + "@aws-sdk/core": "3.758.0", + "@aws-sdk/credential-provider-node": "3.772.0", "@aws-sdk/middleware-host-header": "3.734.0", "@aws-sdk/middleware-logger": "3.734.0", - "@aws-sdk/middleware-recursion-detection": "3.734.0", - "@aws-sdk/middleware-user-agent": "3.750.0", + "@aws-sdk/middleware-recursion-detection": "3.772.0", + "@aws-sdk/middleware-user-agent": "3.758.0", "@aws-sdk/region-config-resolver": "3.734.0", "@aws-sdk/types": "3.734.0", "@aws-sdk/util-endpoints": "3.743.0", "@aws-sdk/util-user-agent-browser": "3.734.0", - "@aws-sdk/util-user-agent-node": "3.750.0", + "@aws-sdk/util-user-agent-node": "3.758.0", "@smithy/config-resolver": "^4.0.1", - "@smithy/core": "^3.1.4", + "@smithy/core": "^3.1.5", "@smithy/fetch-http-handler": "^5.0.1", "@smithy/hash-node": "^4.0.1", "@smithy/invalid-dependency": "^4.0.1", "@smithy/middleware-content-length": "^4.0.1", - "@smithy/middleware-endpoint": "^4.0.5", - "@smithy/middleware-retry": "^4.0.6", + "@smithy/middleware-endpoint": "^4.0.6", + "@smithy/middleware-retry": "^4.0.7", "@smithy/middleware-serde": "^4.0.2", "@smithy/middleware-stack": "^4.0.1", "@smithy/node-config-provider": "^4.0.1", - "@smithy/node-http-handler": "^4.0.2", + "@smithy/node-http-handler": "^4.0.3", "@smithy/protocol-http": "^5.0.1", - "@smithy/smithy-client": "^4.1.5", + "@smithy/smithy-client": "^4.1.6", "@smithy/types": "^4.1.0", "@smithy/url-parser": "^4.0.1", "@smithy/util-base64": "^4.0.0", "@smithy/util-body-length-browser": "^4.0.0", "@smithy/util-body-length-node": "^4.0.0", - "@smithy/util-defaults-mode-browser": "^4.0.6", - "@smithy/util-defaults-mode-node": "^4.0.6", + "@smithy/util-defaults-mode-browser": "^4.0.7", + "@smithy/util-defaults-mode-node": "^4.0.7", "@smithy/util-endpoints": "^3.0.1", "@smithy/util-middleware": "^4.0.1", "@smithy/util-retry": "^4.0.1", @@ -389,45 +389,45 @@ } }, "node_modules/@aws-sdk/client-sso": { - "version": "3.750.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.750.0.tgz", - "integrity": "sha512-y0Rx6pTQXw0E61CaptpZF65qNggjqOgymq/RYZU5vWba5DGQ+iqGt8Yq8s+jfBoBBNXshxq8l8Dl5Uq/JTY1wg==", + "version": "3.772.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.772.0.tgz", + "integrity": "sha512-sDdxepi74+cL6gXJJ2yw3UNSI7GBvoGTwZqFyPoNAzcURvaYwo8dBr7G4jS9GDanjTlO3CGVAf2VMcpqEvmoEw==", "license": "Apache-2.0", "optional": true, "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "3.750.0", + "@aws-sdk/core": "3.758.0", "@aws-sdk/middleware-host-header": "3.734.0", "@aws-sdk/middleware-logger": "3.734.0", - "@aws-sdk/middleware-recursion-detection": "3.734.0", - "@aws-sdk/middleware-user-agent": "3.750.0", + "@aws-sdk/middleware-recursion-detection": "3.772.0", + "@aws-sdk/middleware-user-agent": "3.758.0", "@aws-sdk/region-config-resolver": "3.734.0", "@aws-sdk/types": "3.734.0", "@aws-sdk/util-endpoints": "3.743.0", "@aws-sdk/util-user-agent-browser": "3.734.0", - "@aws-sdk/util-user-agent-node": "3.750.0", + "@aws-sdk/util-user-agent-node": "3.758.0", "@smithy/config-resolver": "^4.0.1", - "@smithy/core": "^3.1.4", + "@smithy/core": "^3.1.5", "@smithy/fetch-http-handler": "^5.0.1", "@smithy/hash-node": "^4.0.1", "@smithy/invalid-dependency": "^4.0.1", "@smithy/middleware-content-length": "^4.0.1", - "@smithy/middleware-endpoint": "^4.0.5", - "@smithy/middleware-retry": "^4.0.6", + "@smithy/middleware-endpoint": "^4.0.6", + "@smithy/middleware-retry": "^4.0.7", "@smithy/middleware-serde": "^4.0.2", "@smithy/middleware-stack": "^4.0.1", "@smithy/node-config-provider": "^4.0.1", - "@smithy/node-http-handler": "^4.0.2", + "@smithy/node-http-handler": "^4.0.3", "@smithy/protocol-http": "^5.0.1", - "@smithy/smithy-client": "^4.1.5", + "@smithy/smithy-client": "^4.1.6", "@smithy/types": "^4.1.0", "@smithy/url-parser": "^4.0.1", "@smithy/util-base64": "^4.0.0", "@smithy/util-body-length-browser": "^4.0.0", "@smithy/util-body-length-node": "^4.0.0", - "@smithy/util-defaults-mode-browser": "^4.0.6", - "@smithy/util-defaults-mode-node": "^4.0.6", + "@smithy/util-defaults-mode-browser": "^4.0.7", + "@smithy/util-defaults-mode-node": "^4.0.7", "@smithy/util-endpoints": "^3.0.1", "@smithy/util-middleware": "^4.0.1", "@smithy/util-retry": "^4.0.1", @@ -439,19 +439,19 @@ } }, "node_modules/@aws-sdk/core": { - "version": "3.750.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.750.0.tgz", - "integrity": "sha512-bZ5K7N5L4+Pa2epbVpUQqd1XLG2uU8BGs/Sd+2nbgTf+lNQJyIxAg/Qsrjz9MzmY8zzQIeRQEkNmR6yVAfCmmQ==", + "version": "3.758.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.758.0.tgz", + "integrity": "sha512-0RswbdR9jt/XKemaLNuxi2gGr4xGlHyGxkTdhSQzCyUe9A9OPCoLl3rIESRguQEech+oJnbHk/wuiwHqTuP9sg==", "license": "Apache-2.0", "optional": true, "dependencies": { "@aws-sdk/types": "3.734.0", - "@smithy/core": "^3.1.4", + "@smithy/core": "^3.1.5", "@smithy/node-config-provider": "^4.0.1", "@smithy/property-provider": "^4.0.1", "@smithy/protocol-http": "^5.0.1", "@smithy/signature-v4": "^5.0.1", - "@smithy/smithy-client": "^4.1.5", + "@smithy/smithy-client": "^4.1.6", "@smithy/types": "^4.1.0", "@smithy/util-middleware": "^4.0.1", "fast-xml-parser": "4.4.1", @@ -462,13 +462,13 @@ } }, "node_modules/@aws-sdk/credential-provider-cognito-identity": { - "version": "3.750.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.750.0.tgz", - "integrity": "sha512-TwBzrxgIWcQk846XFn0A9DHBHbfg4sHR3M2GL4E7NcffEkh7r642ILiLa58VvQjO2nB1tcOOFtRqbZvVOKexUw==", + "version": "3.772.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.772.0.tgz", + "integrity": "sha512-rgGCB7+ttlOvuFjz016WVF0m1zDQNakreXVGmlqxKUHTgAkbXulbzcCnZt44S7QGP6V1ElbRB4jI7piRFirdwg==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/client-cognito-identity": "3.750.0", + "@aws-sdk/client-cognito-identity": "3.772.0", "@aws-sdk/types": "3.734.0", "@smithy/property-provider": "^4.0.1", "@smithy/types": "^4.1.0", @@ -479,13 +479,13 @@ } }, "node_modules/@aws-sdk/credential-provider-env": { - "version": "3.750.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.750.0.tgz", - "integrity": "sha512-In6bsG0p/P31HcH4DBRKBbcDS/3SHvEPjfXV8ODPWZO/l3/p7IRoYBdQ07C9R+VMZU2D0+/Sc/DWK/TUNDk1+Q==", + "version": "3.758.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.758.0.tgz", + "integrity": "sha512-N27eFoRrO6MeUNumtNHDW9WOiwfd59LPXPqDrIa3kWL/s+fOKFHb9xIcF++bAwtcZnAxKkgpDCUP+INNZskE+w==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/core": "3.750.0", + "@aws-sdk/core": "3.758.0", "@aws-sdk/types": "3.734.0", "@smithy/property-provider": "^4.0.1", "@smithy/types": "^4.1.0", @@ -496,21 +496,21 @@ } }, "node_modules/@aws-sdk/credential-provider-http": { - "version": "3.750.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.750.0.tgz", - "integrity": "sha512-wFB9qqfa20AB0dElsQz5ZlZT5o+a+XzpEpmg0erylmGYqEOvh8NQWfDUVpRmQuGq9VbvW/8cIbxPoNqEbPtuWQ==", + "version": "3.758.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.758.0.tgz", + "integrity": "sha512-Xt9/U8qUCiw1hihztWkNeIR+arg6P+yda10OuCHX6kFVx3auTlU7+hCqs3UxqniGU4dguHuftf3mRpi5/GJ33Q==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/core": "3.750.0", + "@aws-sdk/core": "3.758.0", "@aws-sdk/types": "3.734.0", "@smithy/fetch-http-handler": "^5.0.1", - "@smithy/node-http-handler": "^4.0.2", + "@smithy/node-http-handler": "^4.0.3", "@smithy/property-provider": "^4.0.1", "@smithy/protocol-http": "^5.0.1", - "@smithy/smithy-client": "^4.1.5", + "@smithy/smithy-client": "^4.1.6", "@smithy/types": "^4.1.0", - "@smithy/util-stream": "^4.1.1", + "@smithy/util-stream": "^4.1.2", "tslib": "^2.6.2" }, "engines": { @@ -518,19 +518,19 @@ } }, "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.750.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.750.0.tgz", - "integrity": "sha512-2YIZmyEr5RUd3uxXpxOLD9G67Bibm4I/65M6vKFP17jVMUT+R1nL7mKqmhEVO2p+BoeV+bwMyJ/jpTYG368PCg==", + "version": "3.772.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.772.0.tgz", + "integrity": "sha512-T1Ec9Q25zl5c/eZUPHZsiq8vgBeWBjHM7WM5xtZszZRPqqhQGnmFlomz1r9rwhW8RFB5k8HRaD/SLKo6jtYl/A==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/core": "3.750.0", - "@aws-sdk/credential-provider-env": "3.750.0", - "@aws-sdk/credential-provider-http": "3.750.0", - "@aws-sdk/credential-provider-process": "3.750.0", - "@aws-sdk/credential-provider-sso": "3.750.0", - "@aws-sdk/credential-provider-web-identity": "3.750.0", - "@aws-sdk/nested-clients": "3.750.0", + "@aws-sdk/core": "3.758.0", + "@aws-sdk/credential-provider-env": "3.758.0", + "@aws-sdk/credential-provider-http": "3.758.0", + "@aws-sdk/credential-provider-process": "3.758.0", + "@aws-sdk/credential-provider-sso": "3.772.0", + "@aws-sdk/credential-provider-web-identity": "3.772.0", + "@aws-sdk/nested-clients": "3.772.0", "@aws-sdk/types": "3.734.0", "@smithy/credential-provider-imds": "^4.0.1", "@smithy/property-provider": "^4.0.1", @@ -543,18 +543,18 @@ } }, "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.750.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.750.0.tgz", - "integrity": "sha512-THWHHAceLwsOiowPEmKyhWVDlEUxH07GHSw5AQFDvNQtGKOQl0HSIFO1mKObT2Q2Vqzji9Bq8H58SO5BFtNPRw==", + "version": "3.772.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.772.0.tgz", + "integrity": "sha512-0IdVfjBO88Mtekq/KaScYSIEPIeR+ABRvBOWyj/c/qQ2KJyI0GRlSAzpANfxDLHVPn3yEHuZd9nRL6sOmOMI0A==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/credential-provider-env": "3.750.0", - "@aws-sdk/credential-provider-http": "3.750.0", - "@aws-sdk/credential-provider-ini": "3.750.0", - "@aws-sdk/credential-provider-process": "3.750.0", - "@aws-sdk/credential-provider-sso": "3.750.0", - "@aws-sdk/credential-provider-web-identity": "3.750.0", + "@aws-sdk/credential-provider-env": "3.758.0", + "@aws-sdk/credential-provider-http": "3.758.0", + "@aws-sdk/credential-provider-ini": "3.772.0", + "@aws-sdk/credential-provider-process": "3.758.0", + "@aws-sdk/credential-provider-sso": "3.772.0", + "@aws-sdk/credential-provider-web-identity": "3.772.0", "@aws-sdk/types": "3.734.0", "@smithy/credential-provider-imds": "^4.0.1", "@smithy/property-provider": "^4.0.1", @@ -567,13 +567,13 @@ } }, "node_modules/@aws-sdk/credential-provider-process": { - "version": "3.750.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.750.0.tgz", - "integrity": "sha512-Q78SCH1n0m7tpu36sJwfrUSxI8l611OyysjQeMiIOliVfZICEoHcLHLcLkiR+tnIpZ3rk7d2EQ6R1jwlXnalMQ==", + "version": "3.758.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.758.0.tgz", + "integrity": "sha512-AzcY74QTPqcbXWVgjpPZ3HOmxQZYPROIBz2YINF0OQk0MhezDWV/O7Xec+K1+MPGQO3qS6EDrUUlnPLjsqieHA==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/core": "3.750.0", + "@aws-sdk/core": "3.758.0", "@aws-sdk/types": "3.734.0", "@smithy/property-provider": "^4.0.1", "@smithy/shared-ini-file-loader": "^4.0.1", @@ -585,15 +585,15 @@ } }, "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.750.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.750.0.tgz", - "integrity": "sha512-FGYrDjXN/FOQVi/t8fHSv8zCk+NEvtFnuc4cZUj5OIbM4vrfFc5VaPyn41Uza3iv6Qq9rZg0QOwWnqK8lNrqUw==", + "version": "3.772.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.772.0.tgz", + "integrity": "sha512-yR3Y5RAVPa4ogojcBOpZUx6XyRVAkynIJCjd0avdlxW1hhnzSr5/pzoiJ6u21UCbkxlJJTDZE3jfFe7tt+HA4w==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/client-sso": "3.750.0", - "@aws-sdk/core": "3.750.0", - "@aws-sdk/token-providers": "3.750.0", + "@aws-sdk/client-sso": "3.772.0", + "@aws-sdk/core": "3.758.0", + "@aws-sdk/token-providers": "3.772.0", "@aws-sdk/types": "3.734.0", "@smithy/property-provider": "^4.0.1", "@smithy/shared-ini-file-loader": "^4.0.1", @@ -605,14 +605,14 @@ } }, "node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.750.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.750.0.tgz", - "integrity": "sha512-Nz8zs3YJ+GOTSrq+LyzbbC1Ffpt7pK38gcOyNZv76pP5MswKTUKNYBJehqwa+i7FcFQHsCk3TdhR8MT1ZR23uA==", + "version": "3.772.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.772.0.tgz", + "integrity": "sha512-yHAT5Y2y0fnecSuWRUn8NMunKfDqFYhnOpGq8UyCEcwz9aXzibU0hqRIEm51qpR81hqo0GMFDH0EOmegZ/iW5w==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/core": "3.750.0", - "@aws-sdk/nested-clients": "3.750.0", + "@aws-sdk/core": "3.758.0", + "@aws-sdk/nested-clients": "3.772.0", "@aws-sdk/types": "3.734.0", "@smithy/property-provider": "^4.0.1", "@smithy/types": "^4.1.0", @@ -623,25 +623,25 @@ } }, "node_modules/@aws-sdk/credential-providers": { - "version": "3.750.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.750.0.tgz", - "integrity": "sha512-HpJyLHAjcn/IcvsL4WhEIgbzEWfTnn29u8QFNa5Ii9pVtxdeP/DkSthP3SNxLK2jVNcqWL9xago02SiasNOKfw==", + "version": "3.772.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.772.0.tgz", + "integrity": "sha512-+gOrzw05jNVSHFBTZ+LOaGQZ0IXT95aQjNUeWqYXzdgjxKXptrhuMnFLwBBliLbHPp8ziauRnnwG8aK58LOUlg==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/client-cognito-identity": "3.750.0", - "@aws-sdk/core": "3.750.0", - "@aws-sdk/credential-provider-cognito-identity": "3.750.0", - "@aws-sdk/credential-provider-env": "3.750.0", - "@aws-sdk/credential-provider-http": "3.750.0", - "@aws-sdk/credential-provider-ini": "3.750.0", - "@aws-sdk/credential-provider-node": "3.750.0", - "@aws-sdk/credential-provider-process": "3.750.0", - "@aws-sdk/credential-provider-sso": "3.750.0", - "@aws-sdk/credential-provider-web-identity": "3.750.0", - "@aws-sdk/nested-clients": "3.750.0", + "@aws-sdk/client-cognito-identity": "3.772.0", + "@aws-sdk/core": "3.758.0", + "@aws-sdk/credential-provider-cognito-identity": "3.772.0", + "@aws-sdk/credential-provider-env": "3.758.0", + "@aws-sdk/credential-provider-http": "3.758.0", + "@aws-sdk/credential-provider-ini": "3.772.0", + "@aws-sdk/credential-provider-node": "3.772.0", + "@aws-sdk/credential-provider-process": "3.758.0", + "@aws-sdk/credential-provider-sso": "3.772.0", + "@aws-sdk/credential-provider-web-identity": "3.772.0", + "@aws-sdk/nested-clients": "3.772.0", "@aws-sdk/types": "3.734.0", - "@smithy/core": "^3.1.4", + "@smithy/core": "^3.1.5", "@smithy/credential-provider-imds": "^4.0.1", "@smithy/property-provider": "^4.0.1", "@smithy/types": "^4.1.0", @@ -683,9 +683,9 @@ } }, "node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.734.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.734.0.tgz", - "integrity": "sha512-CUat2d9ITsFc2XsmeiRQO96iWpxSKYFjxvj27Hc7vo87YUHRnfMfnc8jw1EpxEwMcvBD7LsRa6vDNky6AjcrFA==", + "version": "3.772.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.772.0.tgz", + "integrity": "sha512-zg0LjJa4v7fcLzn5QzZvtVS+qyvmsnu7oQnb86l6ckduZpWDCDC9+A0ZzcXTrxblPCJd3JqkoG1+Gzi4S4Ny/Q==", "license": "Apache-2.0", "optional": true, "dependencies": { @@ -699,16 +699,16 @@ } }, "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.750.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.750.0.tgz", - "integrity": "sha512-YYcslDsP5+2NZoN3UwuhZGkhAHPSli7HlJHBafBrvjGV/I9f8FuOO1d1ebxGdEP4HyRXUGyh+7Ur4q+Psk0ryw==", + "version": "3.758.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.758.0.tgz", + "integrity": "sha512-iNyehQXtQlj69JCgfaOssgZD4HeYGOwxcaKeG6F+40cwBjTAi0+Ph1yfDwqk2qiBPIRWJ/9l2LodZbxiBqgrwg==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/core": "3.750.0", + "@aws-sdk/core": "3.758.0", "@aws-sdk/types": "3.734.0", "@aws-sdk/util-endpoints": "3.743.0", - "@smithy/core": "^3.1.4", + "@smithy/core": "^3.1.5", "@smithy/protocol-http": "^5.0.1", "@smithy/types": "^4.1.0", "tslib": "^2.6.2" @@ -718,45 +718,45 @@ } }, "node_modules/@aws-sdk/nested-clients": { - "version": "3.750.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/nested-clients/-/nested-clients-3.750.0.tgz", - "integrity": "sha512-OH68BRF0rt9nDloq4zsfeHI0G21lj11a66qosaljtEP66PWm7tQ06feKbFkXHT5E1K3QhJW3nVyK8v2fEBY5fg==", + "version": "3.772.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/nested-clients/-/nested-clients-3.772.0.tgz", + "integrity": "sha512-gNJbBxR5YlEumsCS9EWWEASXEnysL0aDnr9MNPX1ip/g1xOqRHmytgV/+t8RFZFTKg0OprbWTq5Ich3MqsEuCQ==", "license": "Apache-2.0", "optional": true, "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "3.750.0", + "@aws-sdk/core": "3.758.0", "@aws-sdk/middleware-host-header": "3.734.0", "@aws-sdk/middleware-logger": "3.734.0", - "@aws-sdk/middleware-recursion-detection": "3.734.0", - "@aws-sdk/middleware-user-agent": "3.750.0", + "@aws-sdk/middleware-recursion-detection": "3.772.0", + "@aws-sdk/middleware-user-agent": "3.758.0", "@aws-sdk/region-config-resolver": "3.734.0", "@aws-sdk/types": "3.734.0", "@aws-sdk/util-endpoints": "3.743.0", "@aws-sdk/util-user-agent-browser": "3.734.0", - "@aws-sdk/util-user-agent-node": "3.750.0", + "@aws-sdk/util-user-agent-node": "3.758.0", "@smithy/config-resolver": "^4.0.1", - "@smithy/core": "^3.1.4", + "@smithy/core": "^3.1.5", "@smithy/fetch-http-handler": "^5.0.1", "@smithy/hash-node": "^4.0.1", "@smithy/invalid-dependency": "^4.0.1", "@smithy/middleware-content-length": "^4.0.1", - "@smithy/middleware-endpoint": "^4.0.5", - "@smithy/middleware-retry": "^4.0.6", + "@smithy/middleware-endpoint": "^4.0.6", + "@smithy/middleware-retry": "^4.0.7", "@smithy/middleware-serde": "^4.0.2", "@smithy/middleware-stack": "^4.0.1", "@smithy/node-config-provider": "^4.0.1", - "@smithy/node-http-handler": "^4.0.2", + "@smithy/node-http-handler": "^4.0.3", "@smithy/protocol-http": "^5.0.1", - "@smithy/smithy-client": "^4.1.5", + "@smithy/smithy-client": "^4.1.6", "@smithy/types": "^4.1.0", "@smithy/url-parser": "^4.0.1", "@smithy/util-base64": "^4.0.0", "@smithy/util-body-length-browser": "^4.0.0", "@smithy/util-body-length-node": "^4.0.0", - "@smithy/util-defaults-mode-browser": "^4.0.6", - "@smithy/util-defaults-mode-node": "^4.0.6", + "@smithy/util-defaults-mode-browser": "^4.0.7", + "@smithy/util-defaults-mode-node": "^4.0.7", "@smithy/util-endpoints": "^3.0.1", "@smithy/util-middleware": "^4.0.1", "@smithy/util-retry": "^4.0.1", @@ -786,13 +786,13 @@ } }, "node_modules/@aws-sdk/token-providers": { - "version": "3.750.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.750.0.tgz", - "integrity": "sha512-X/KzqZw41iWolwNdc8e3RMcNSMR364viHv78u6AefXOO5eRM40c4/LuST1jDzq35/LpnqRhL7/MuixOetw+sFw==", + "version": "3.772.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.772.0.tgz", + "integrity": "sha512-d1Waa1vyebuokcAWYlkZdtFlciIgob7B39vPRmtxMObbGumJKiOy/qCe2/FB/72h1Ej9Ih32lwvbxUjORQWN4g==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/nested-clients": "3.750.0", + "@aws-sdk/nested-clients": "3.772.0", "@aws-sdk/types": "3.734.0", "@smithy/property-provider": "^4.0.1", "@smithy/shared-ini-file-loader": "^4.0.1", @@ -860,13 +860,13 @@ } }, "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.750.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.750.0.tgz", - "integrity": "sha512-84HJj9G9zbrHX2opLk9eHfDceB+UIHVrmflMzWHpsmo9fDuro/flIBqaVDlE021Osj6qIM0SJJcnL6s23j7JEw==", + "version": "3.758.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.758.0.tgz", + "integrity": "sha512-A5EZw85V6WhoKMV2hbuFRvb9NPlxEErb4HPO6/SPXYY4QrjprIzScHxikqcWv1w4J3apB1wto9LPU3IMsYtfrw==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/middleware-user-agent": "3.750.0", + "@aws-sdk/middleware-user-agent": "3.758.0", "@aws-sdk/types": "3.734.0", "@smithy/node-config-provider": "^4.0.1", "@smithy/types": "^4.1.0", @@ -911,9 +911,9 @@ } }, "node_modules/@azure/core-client": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/@azure/core-client/-/core-client-1.9.2.tgz", - "integrity": "sha512-kRdry/rav3fUKHl/aDLd/pDLcB+4pOFwPPTVEExuMyaI5r+JBbMWqRbCY1pn5BniDaU3lRxO9eaQ1AmSMehl/w==", + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@azure/core-client/-/core-client-1.9.3.tgz", + "integrity": "sha512-/wGw8fJ4mdpJ1Cum7s1S+VQyXt1ihwKLzfabS1O/RDADnmzVc01dHn44qD0BvGH6KlZNzOMW95tEpKqhkCChPA==", "license": "MIT", "dependencies": { "@azure/abort-controller": "^2.0.0", @@ -970,9 +970,9 @@ } }, "node_modules/@azure/core-rest-pipeline": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.19.0.tgz", - "integrity": "sha512-bM3308LRyg5g7r3Twprtqww0R/r7+GyVxj4BafcmVPo4WQoGt5JXuaqxHEFjw2o3rvFZcUPiqJMg6WuvEEeVUA==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.19.1.tgz", + "integrity": "sha512-zHeoI3NCs53lLBbWNzQycjnYKsA1CVKlnzSNuSFcUDwBp8HHVObePxrM7HaX+Ha5Ks639H7chNC9HOaIhNS03w==", "license": "MIT", "dependencies": { "@azure/abort-controller": "^2.0.0", @@ -1014,9 +1014,9 @@ } }, "node_modules/@azure/identity": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/@azure/identity/-/identity-4.7.0.tgz", - "integrity": "sha512-6z/S2KorkbKaZ0DgZFVRdu7RCuATmMSTjKpuhj7YpjxkJ0vnJ7kTM3cpNgzFgk9OPYfZ31wrBEtC/iwAS4jQDA==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@azure/identity/-/identity-4.8.0.tgz", + "integrity": "sha512-l9ALUGHtFB/JfsqmA+9iYAp2a+cCwdNO/cyIr2y7nJLJsz1aae6qVP8XxT7Kbudg0IQRSIMXj0+iivFdbD1xPA==", "license": "MIT", "dependencies": { "@azure/abort-controller": "^2.0.0", @@ -1027,7 +1027,7 @@ "@azure/core-util": "^1.11.0", "@azure/logger": "^1.0.0", "@azure/msal-browser": "^4.2.0", - "@azure/msal-node": "^3.2.1", + "@azure/msal-node": "^3.2.3", "events": "^3.0.0", "jws": "^4.0.0", "open": "^10.1.0", @@ -1159,33 +1159,33 @@ } }, "node_modules/@azure/msal-browser": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-4.5.0.tgz", - "integrity": "sha512-H7mWmu8yI0n0XxhJobrgncXI6IU5h8DKMiWDHL5y+Dc58cdg26GbmaMUehbUkdKAQV2OTiFa4FUa6Fdu/wIxBg==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-4.8.0.tgz", + "integrity": "sha512-z7kJlMW3IAETyq82LDKJqr++IeOvU728q9lkuTFjEIPUWxnB1OlmuPCF32fYurxOnOnJeFEZxjbEzq8xyP0aag==", "license": "MIT", "dependencies": { - "@azure/msal-common": "15.2.0" + "@azure/msal-common": "15.3.0" }, "engines": { "node": ">=0.8.0" } }, "node_modules/@azure/msal-common": { - "version": "15.2.0", - "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-15.2.0.tgz", - "integrity": "sha512-HiYfGAKthisUYqHG1nImCf/uzcyS31wng3o+CycWLIM9chnYJ9Lk6jZ30Y6YiYYpTQ9+z/FGUpiKKekd3Arc0A==", + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-15.3.0.tgz", + "integrity": "sha512-lh+eZfibGwtQxFnx+mj6cYWn0pwA8tDnn8CBs9P21nC7Uw5YWRwfXaXdVQSMENZ5ojRqR+NzRaucEo4qUvs3pA==", "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/@azure/msal-node": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-3.2.3.tgz", - "integrity": "sha512-0eaPqBIWEAizeYiXdeHb09Iq0tvHJ17ztvNEaLdr/KcJJhJxbpkkEQf09DB+vKlFE0tzYi7j4rYLTXtES/InEQ==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-3.4.0.tgz", + "integrity": "sha512-b4wBaPV68i+g61wFOfl5zh1lQ9UylgCQpI2638pJHV0SINneO78hOFdnX8WCoGw5OOc4Eewth9pYOg7gaiyUYw==", "license": "MIT", "dependencies": { - "@azure/msal-common": "15.2.0", + "@azure/msal-common": "15.3.0", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" }, @@ -1226,22 +1226,22 @@ } }, "node_modules/@babel/core": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.9.tgz", - "integrity": "sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw==", + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.10.tgz", + "integrity": "sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.9", + "@babel/generator": "^7.26.10", "@babel/helper-compilation-targets": "^7.26.5", "@babel/helper-module-transforms": "^7.26.0", - "@babel/helpers": "^7.26.9", - "@babel/parser": "^7.26.9", + "@babel/helpers": "^7.26.10", + "@babel/parser": "^7.26.10", "@babel/template": "^7.26.9", - "@babel/traverse": "^7.26.9", - "@babel/types": "^7.26.9", + "@babel/traverse": "^7.26.10", + "@babel/types": "^7.26.10", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -1267,14 +1267,14 @@ } }, "node_modules/@babel/generator": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.9.tgz", - "integrity": "sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==", + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.10.tgz", + "integrity": "sha512-rRHT8siFIXQrAYOYqZQVsAr8vJ+cBNqcVAY6m5V8/4QqzaPl+zDBe6cLEPRDuNOUf3ww8RfJVlOyQMoSI+5Ang==", "dev": true, "license": "MIT", "dependencies": { - "@babel/parser": "^7.26.9", - "@babel/types": "^7.26.9", + "@babel/parser": "^7.26.10", + "@babel/types": "^7.26.10", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^3.0.2" @@ -1504,27 +1504,27 @@ } }, "node_modules/@babel/helpers": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.9.tgz", - "integrity": "sha512-Mz/4+y8udxBKdmzt/UjPACs4G3j5SshJJEFFKxlCGPydG4JAHXxjWjAwjd09tf6oINvl1VfMJo+nB7H2YKQ0dA==", + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.10.tgz", + "integrity": "sha512-UPYc3SauzZ3JGgj87GgZ89JVdC5dj0AoetR5Bw6wj4niittNyFh6+eOGonYvJ1ao6B8lEa3Q3klS7ADZ53bc5g==", "dev": true, "license": "MIT", "dependencies": { "@babel/template": "^7.26.9", - "@babel/types": "^7.26.9" + "@babel/types": "^7.26.10" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.9.tgz", - "integrity": "sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==", + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.10.tgz", + "integrity": "sha512-6aQR2zGE/QFi8JpDLjUZEPYOs7+mhKXm86VaKFiLP35JQwQb6bwUE+XbvkH0EptsYhbNBSUGaUBLKqxH1xSgsA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.26.9" + "@babel/types": "^7.26.10" }, "bin": { "parser": "bin/babel-parser.js" @@ -1649,9 +1649,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.9.tgz", - "integrity": "sha512-aA63XwOkcl4xxQa3HjPMqOP6LiK0ZDv3mUPYEFXkpHbaFjtGggE1A61FjFzJnB+p7/oy2gA8E+rcBNl/zC1tMg==", + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.10.tgz", + "integrity": "sha512-2WJMeRQPHKSPemqk/awGrAiuFfzBmOIPXKizAsVhWH9YJqLZ0H+HS4c8loHGgW6utJ3E/ejXQUsiGaQy2NZ9Fw==", "dev": true, "license": "MIT", "dependencies": { @@ -1677,17 +1677,17 @@ } }, "node_modules/@babel/traverse": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.9.tgz", - "integrity": "sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg==", + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.10.tgz", + "integrity": "sha512-k8NuDrxr0WrPH5Aupqb2LCVURP/S0vBEn5mK6iH+GIYob66U5EtoZvcdudR2jQ4cmTwhEwW1DLB+Yyas9zjF6A==", "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.9", - "@babel/parser": "^7.26.9", + "@babel/generator": "^7.26.10", + "@babel/parser": "^7.26.10", "@babel/template": "^7.26.9", - "@babel/types": "^7.26.9", + "@babel/types": "^7.26.10", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -1706,9 +1706,9 @@ } }, "node_modules/@babel/types": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.9.tgz", - "integrity": "sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==", + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.10.tgz", + "integrity": "sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2223,9 +2223,9 @@ } }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", - "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.5.1.tgz", + "integrity": "sha512-soEIOALTfTK6EjmKMMoLugwaP0rzkad90iIWd1hMO9ARkSAyjfMfkRRhLvD5qH7vvM0Cg72pieUfR6yh6XxC4w==", "dev": true, "license": "MIT", "dependencies": { @@ -2477,80 +2477,50 @@ "license": "BSD-3-Clause" }, "node_modules/@intlify/core-base": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-9.2.2.tgz", - "integrity": "sha512-JjUpQtNfn+joMbrXvpR4hTF8iJQ2sEFzzK3KIESOx+f+uwIjgw20igOyaIdhfsVVBCds8ZM64MoeNSx+PHQMkA==", + "version": "9.14.3", + "resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-9.14.3.tgz", + "integrity": "sha512-nbJ7pKTlXFnaXPblyfiH6awAx1C0PWNNuqXAR74yRwgi5A/Re/8/5fErLY0pv4R8+EHj3ZaThMHdnuC/5OBa6g==", "dev": true, "license": "MIT", "dependencies": { - "@intlify/devtools-if": "9.2.2", - "@intlify/message-compiler": "9.2.2", - "@intlify/shared": "9.2.2", - "@intlify/vue-devtools": "9.2.2" + "@intlify/message-compiler": "9.14.3", + "@intlify/shared": "9.14.3" }, "engines": { - "node": ">= 14" - } - }, - "node_modules/@intlify/devtools-if": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@intlify/devtools-if/-/devtools-if-9.2.2.tgz", - "integrity": "sha512-4ttr/FNO29w+kBbU7HZ/U0Lzuh2cRDhP8UlWOtV9ERcjHzuyXVZmjyleESK6eVP60tGC9QtQW9yZE+JeRhDHkg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@intlify/shared": "9.2.2" + "node": ">= 16" }, - "engines": { - "node": ">= 14" + "funding": { + "url": "https://github.com/sponsors/kazupon" } }, "node_modules/@intlify/message-compiler": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.2.2.tgz", - "integrity": "sha512-IUrQW7byAKN2fMBe8z6sK6riG1pue95e5jfokn8hA5Q3Bqy4MBJ5lJAofUsawQJYHeoPJ7svMDyBaVJ4d0GTtA==", + "version": "9.14.3", + "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.14.3.tgz", + "integrity": "sha512-ANwC226BQdd+MpJ36rOYkChSESfPwu3Ss2Faw0RHTOknYLoHTX6V6e/JjIKVDMbzs0/H/df/rO6yU0SPiWHqNg==", "dev": true, "license": "MIT", "dependencies": { - "@intlify/shared": "9.2.2", - "source-map": "0.6.1" + "@intlify/shared": "9.14.3", + "source-map-js": "^1.0.2" }, "engines": { - "node": ">= 14" - } - }, - "node_modules/@intlify/message-compiler/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" } }, "node_modules/@intlify/shared": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-9.2.2.tgz", - "integrity": "sha512-wRwTpsslgZS5HNyM7uDQYZtxnbI12aGiBZURX3BTR9RFIKKRWpllTsgzHWvj3HKm3Y2Sh5LPC1r0PDCKEhVn9Q==", + "version": "9.14.3", + "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-9.14.3.tgz", + "integrity": "sha512-hJXz9LA5VG7qNE00t50bdzDv8Z4q9fpcL81wj4y4duKavrv0KM8YNLTwXNEFINHjTsfrG9TXvPuEjVaAvZ7yWg==", "dev": true, "license": "MIT", "engines": { - "node": ">= 14" - } - }, - "node_modules/@intlify/vue-devtools": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@intlify/vue-devtools/-/vue-devtools-9.2.2.tgz", - "integrity": "sha512-+dUyqyCHWHb/UcvY1MlIpO87munedm3Gn6E9WWYdWrMuYLcoIoOEVDWSS8xSwtlPU+kA+MEQTP6Q1iI/ocusJg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@intlify/core-base": "9.2.2", - "@intlify/shared": "9.2.2" + "node": ">= 16" }, - "engines": { - "node": ">= 14" + "funding": { + "url": "https://github.com/sponsors/kazupon" } }, "node_modules/@isaacs/cliui": { @@ -2937,16 +2907,16 @@ } }, "node_modules/@octokit/core": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.2.0.tgz", - "integrity": "sha512-1LFfa/qnMQvEOAdzlQymH0ulepxbxnCYAKJZfMci/5XJyIHWgEYnDmgnKakbTh7CH2tFQ5O60oYDvns4i9RAIg==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.2.1.tgz", + "integrity": "sha512-dKYCMuPO1bmrpuogcjQ8z7ICCH3FP6WmxpwC03yjzGfZhj9fTJg6+bS1+UAplekbN2C+M61UNllGOOoAfGCrdQ==", "dev": true, "license": "MIT", "dependencies": { "@octokit/auth-token": "^4.0.0", "@octokit/graphql": "^7.1.0", - "@octokit/request": "^8.3.1", - "@octokit/request-error": "^5.1.0", + "@octokit/request": "^8.4.1", + "@octokit/request-error": "^5.1.1", "@octokit/types": "^13.0.0", "before-after-hook": "^2.2.0", "universal-user-agent": "^6.0.0" @@ -2985,9 +2955,9 @@ } }, "node_modules/@octokit/openapi-types": { - "version": "23.0.1", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-23.0.1.tgz", - "integrity": "sha512-izFjMJ1sir0jn0ldEKhZ7xegCTj/ObmEDlEfpFrx4k/JyZSMRHbO3/rBwgE7f3m2DHt+RrNGIVw4wSmwnm3t/g==", + "version": "24.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz", + "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==", "dev": true, "license": "MIT" }, @@ -3089,13 +3059,13 @@ } }, "node_modules/@octokit/types": { - "version": "13.8.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.8.0.tgz", - "integrity": "sha512-x7DjTIbEpEWXK99DMd01QfWy0hd5h4EN+Q7shkdKds3otGQP+oWE/y0A76i1OvH9fygo4ddvNf7ZvF0t78P98A==", + "version": "13.10.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz", + "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==", "dev": true, "license": "MIT", "dependencies": { - "@octokit/openapi-types": "^23.0.1" + "@octokit/openapi-types": "^24.2.0" } }, "node_modules/@pkgjs/parseargs": { @@ -3303,9 +3273,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.34.8.tgz", - "integrity": "sha512-q217OSE8DTp8AFHuNHXo0Y86e1wtlfVrXiAlwkIvGRQv9zbc6mE3sjIVfwI8sYUyNxwOg0j/Vm1RKM04JcWLJw==", + "version": "4.36.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.36.0.tgz", + "integrity": "sha512-jgrXjjcEwN6XpZXL0HUeOVGfjXhPyxAbbhD0BlXUB+abTOpbPiN5Wb3kOT7yb+uEtATNYF5x5gIfwutmuBA26w==", "cpu": [ "arm" ], @@ -3317,9 +3287,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.34.8.tgz", - "integrity": "sha512-Gigjz7mNWaOL9wCggvoK3jEIUUbGul656opstjaUSGC3eT0BM7PofdAJaBfPFWWkXNVAXbaQtC99OCg4sJv70Q==", + "version": "4.36.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.36.0.tgz", + "integrity": "sha512-NyfuLvdPdNUfUNeYKUwPwKsE5SXa2J6bCt2LdB/N+AxShnkpiczi3tcLJrm5mA+eqpy0HmaIY9F6XCa32N5yzg==", "cpu": [ "arm64" ], @@ -3331,9 +3301,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.8.tgz", - "integrity": "sha512-02rVdZ5tgdUNRxIUrFdcMBZQoaPMrxtwSb+/hOfBdqkatYHR3lZ2A2EGyHq2sGOd0Owk80oV3snlDASC24He3Q==", + "version": "4.36.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.36.0.tgz", + "integrity": "sha512-JQ1Jk5G4bGrD4pWJQzWsD8I1n1mgPXq33+/vP4sk8j/z/C2siRuxZtaUA7yMTf71TCZTZl/4e1bfzwUmFb3+rw==", "cpu": [ "arm64" ], @@ -3345,9 +3315,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.34.8.tgz", - "integrity": "sha512-qIP/elwR/tq/dYRx3lgwK31jkZvMiD6qUtOycLhTzCvrjbZ3LjQnEM9rNhSGpbLXVJYQ3rq39A6Re0h9tU2ynw==", + "version": "4.36.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.36.0.tgz", + "integrity": "sha512-6c6wMZa1lrtiRsbDziCmjE53YbTkxMYhhnWnSW8R/yqsM7a6mSJ3uAVT0t8Y/DGt7gxUWYuFM4bwWk9XCJrFKA==", "cpu": [ "x64" ], @@ -3359,9 +3329,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.34.8.tgz", - "integrity": "sha512-IQNVXL9iY6NniYbTaOKdrlVP3XIqazBgJOVkddzJlqnCpRi/yAeSOa8PLcECFSQochzqApIOE1GHNu3pCz+BDA==", + "version": "4.36.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.36.0.tgz", + "integrity": "sha512-KXVsijKeJXOl8QzXTsA+sHVDsFOmMCdBRgFmBb+mfEb/7geR7+C8ypAml4fquUt14ZyVXaw2o1FWhqAfOvA4sg==", "cpu": [ "arm64" ], @@ -3373,9 +3343,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.34.8.tgz", - "integrity": "sha512-TYXcHghgnCqYFiE3FT5QwXtOZqDj5GmaFNTNt3jNC+vh22dc/ukG2cG+pi75QO4kACohZzidsq7yKTKwq/Jq7Q==", + "version": "4.36.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.36.0.tgz", + "integrity": "sha512-dVeWq1ebbvByI+ndz4IJcD4a09RJgRYmLccwlQ8bPd4olz3Y213uf1iwvc7ZaxNn2ab7bjc08PrtBgMu6nb4pQ==", "cpu": [ "x64" ], @@ -3387,9 +3357,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.34.8.tgz", - "integrity": "sha512-A4iphFGNkWRd+5m3VIGuqHnG3MVnqKe7Al57u9mwgbyZ2/xF9Jio72MaY7xxh+Y87VAHmGQr73qoKL9HPbXj1g==", + "version": "4.36.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.36.0.tgz", + "integrity": "sha512-bvXVU42mOVcF4le6XSjscdXjqx8okv4n5vmwgzcmtvFdifQ5U4dXFYaCB87namDRKlUL9ybVtLQ9ztnawaSzvg==", "cpu": [ "arm" ], @@ -3401,9 +3371,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.34.8.tgz", - "integrity": "sha512-S0lqKLfTm5u+QTxlFiAnb2J/2dgQqRy/XvziPtDd1rKZFXHTyYLoVL58M/XFwDI01AQCDIevGLbQrMAtdyanpA==", + "version": "4.36.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.36.0.tgz", + "integrity": "sha512-JFIQrDJYrxOnyDQGYkqnNBtjDwTgbasdbUiQvcU8JmGDfValfH1lNpng+4FWlhaVIR4KPkeddYjsVVbmJYvDcg==", "cpu": [ "arm" ], @@ -3415,9 +3385,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.34.8.tgz", - "integrity": "sha512-jpz9YOuPiSkL4G4pqKrus0pn9aYwpImGkosRKwNi+sJSkz+WU3anZe6hi73StLOQdfXYXC7hUfsQlTnjMd3s1A==", + "version": "4.36.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.36.0.tgz", + "integrity": "sha512-KqjYVh3oM1bj//5X7k79PSCZ6CvaVzb7Qs7VMWS+SlWB5M8p3FqufLP9VNp4CazJ0CsPDLwVD9r3vX7Ci4J56A==", "cpu": [ "arm64" ], @@ -3429,9 +3399,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.34.8.tgz", - "integrity": "sha512-KdSfaROOUJXgTVxJNAZ3KwkRc5nggDk+06P6lgi1HLv1hskgvxHUKZ4xtwHkVYJ1Rep4GNo+uEfycCRRxht7+Q==", + "version": "4.36.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.36.0.tgz", + "integrity": "sha512-QiGnhScND+mAAtfHqeT+cB1S9yFnNQ/EwCg5yE3MzoaZZnIV0RV9O5alJAoJKX/sBONVKeZdMfO8QSaWEygMhw==", "cpu": [ "arm64" ], @@ -3443,9 +3413,9 @@ ] }, "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.34.8.tgz", - "integrity": "sha512-NyF4gcxwkMFRjgXBM6g2lkT58OWztZvw5KkV2K0qqSnUEqCVcqdh2jN4gQrTn/YUpAcNKyFHfoOZEer9nwo6uQ==", + "version": "4.36.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.36.0.tgz", + "integrity": "sha512-1ZPyEDWF8phd4FQtTzMh8FQwqzvIjLsl6/84gzUxnMNFBtExBtpL51H67mV9xipuxl1AEAerRBgBwFNpkw8+Lg==", "cpu": [ "loong64" ], @@ -3457,9 +3427,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.34.8.tgz", - "integrity": "sha512-LMJc999GkhGvktHU85zNTDImZVUCJ1z/MbAJTnviiWmmjyckP5aQsHtcujMjpNdMZPT2rQEDBlJfubhs3jsMfw==", + "version": "4.36.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.36.0.tgz", + "integrity": "sha512-VMPMEIUpPFKpPI9GZMhJrtu8rxnp6mJR3ZzQPykq4xc2GmdHj3Q4cA+7avMyegXy4n1v+Qynr9fR88BmyO74tg==", "cpu": [ "ppc64" ], @@ -3471,9 +3441,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.34.8.tgz", - "integrity": "sha512-xAQCAHPj8nJq1PI3z8CIZzXuXCstquz7cIOL73HHdXiRcKk8Ywwqtx2wrIy23EcTn4aZ2fLJNBB8d0tQENPCmw==", + "version": "4.36.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.36.0.tgz", + "integrity": "sha512-ttE6ayb/kHwNRJGYLpuAvB7SMtOeQnVXEIpMtAvx3kepFQeowVED0n1K9nAdraHUPJ5hydEMxBpIR7o4nrm8uA==", "cpu": [ "riscv64" ], @@ -3485,9 +3455,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.34.8.tgz", - "integrity": "sha512-DdePVk1NDEuc3fOe3dPPTb+rjMtuFw89gw6gVWxQFAuEqqSdDKnrwzZHrUYdac7A7dXl9Q2Vflxpme15gUWQFA==", + "version": "4.36.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.36.0.tgz", + "integrity": "sha512-4a5gf2jpS0AIe7uBjxDeUMNcFmaRTbNv7NxI5xOCs4lhzsVyGR/0qBXduPnoWf6dGC365saTiwag8hP1imTgag==", "cpu": [ "s390x" ], @@ -3499,9 +3469,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.34.8.tgz", - "integrity": "sha512-8y7ED8gjxITUltTUEJLQdgpbPh1sUQ0kMTmufRF/Ns5tI9TNMNlhWtmPKKHCU0SilX+3MJkZ0zERYYGIVBYHIA==", + "version": "4.36.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.36.0.tgz", + "integrity": "sha512-5KtoW8UWmwFKQ96aQL3LlRXX16IMwyzMq/jSSVIIyAANiE1doaQsx/KRyhAvpHlPjPiSU/AYX/8m+lQ9VToxFQ==", "cpu": [ "x64" ], @@ -3513,9 +3483,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.34.8.tgz", - "integrity": "sha512-SCXcP0ZpGFIe7Ge+McxY5zKxiEI5ra+GT3QRxL0pMMtxPfpyLAKleZODi1zdRHkz5/BhueUrYtYVgubqe9JBNQ==", + "version": "4.36.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.36.0.tgz", + "integrity": "sha512-sycrYZPrv2ag4OCvaN5js+f01eoZ2U+RmT5as8vhxiFz+kxwlHrsxOwKPSA8WyS+Wc6Epid9QeI/IkQ9NkgYyQ==", "cpu": [ "x64" ], @@ -3527,9 +3497,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.34.8.tgz", - "integrity": "sha512-YHYsgzZgFJzTRbth4h7Or0m5O74Yda+hLin0irAIobkLQFRQd1qWmnoVfwmKm9TXIZVAD0nZ+GEb2ICicLyCnQ==", + "version": "4.36.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.36.0.tgz", + "integrity": "sha512-qbqt4N7tokFwwSVlWDsjfoHgviS3n/vZ8LK0h1uLG9TYIRuUTJC88E1xb3LM2iqZ/WTqNQjYrtmtGmrmmawB6A==", "cpu": [ "arm64" ], @@ -3541,9 +3511,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.34.8.tgz", - "integrity": "sha512-r3NRQrXkHr4uWy5TOjTpTYojR9XmF0j/RYgKCef+Ag46FWUTltm5ziticv8LdNsDMehjJ543x/+TJAek/xBA2w==", + "version": "4.36.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.36.0.tgz", + "integrity": "sha512-t+RY0JuRamIocMuQcfwYSOkmdX9dtkr1PbhKW42AMvaDQa+jOdpUYysroTF/nuPpAaQMWp7ye+ndlmmthieJrQ==", "cpu": [ "ia32" ], @@ -3555,9 +3525,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.8.tgz", - "integrity": "sha512-U0FaE5O1BCpZSeE6gBl3c5ObhePQSfk9vDRToMmTkbhCOgW4jqvtS5LGyQ76L1fH8sM0keRp4uDTsbjiUyjk0g==", + "version": "4.36.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.36.0.tgz", + "integrity": "sha512-aRXd7tRZkWLqGbChgcMMDEHjOKudo1kChb1Jt1IfR8cY/KIpgNviLeJy5FUb9IpSuQj8dU2fAYNMPW/hLKOSTw==", "cpu": [ "x64" ], @@ -4318,23 +4288,23 @@ "license": "MIT" }, "node_modules/@testcontainers/hivemq": { - "version": "10.18.0", - "resolved": "https://registry.npmjs.org/@testcontainers/hivemq/-/hivemq-10.18.0.tgz", - "integrity": "sha512-5SNbS/qW7BBPUJV3vCDrgT91Zber+a0bxWIXN9FMQtInijd6R3ByBkcg5w4HNalnITRLt/tUl07kqqq+zRbbDA==", + "version": "10.21.0", + "resolved": "https://registry.npmjs.org/@testcontainers/hivemq/-/hivemq-10.21.0.tgz", + "integrity": "sha512-seYpjE7aKwFsJ/0UuGeXnQcbnNC8eFFZNcsOw5CIpymVF1zgZT8ATzfDHzhi4W3ZXmUnaUp1yUn7ENrctcbWUQ==", "dev": true, "license": "MIT", "dependencies": { - "testcontainers": "^10.18.0" + "testcontainers": "^10.21.0" } }, "node_modules/@testcontainers/rabbitmq": { - "version": "10.18.0", - "resolved": "https://registry.npmjs.org/@testcontainers/rabbitmq/-/rabbitmq-10.18.0.tgz", - "integrity": "sha512-4qj8Pj0I0s8B7eSa2NqqQI8p8hK+lSdztbzceejZa1QToGtSuYwgfYCRvkWPlASYW8PDpaNotlvk85+bobevkg==", + "version": "10.21.0", + "resolved": "https://registry.npmjs.org/@testcontainers/rabbitmq/-/rabbitmq-10.21.0.tgz", + "integrity": "sha512-Lgx20ZDGtOtJ5JXEQE+EkwQEexni54ONEjIc10F/ktkNCCmCAALWgBgh1hkMYrBP+n8Id7Sp+1pzkE6W8UDphg==", "dev": true, "license": "MIT", "dependencies": { - "testcontainers": "^10.18.0" + "testcontainers": "^10.21.0" } }, "node_modules/@tootallnate/once": { @@ -4557,9 +4527,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "20.17.19", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.19.tgz", - "integrity": "sha512-LEwC7o1ifqg/6r2gn9Dns0f1rhK+fPFDoMiceTJ6kWmVk6bgXBI/9IOWfVan4WiAavK9pIVWdX0/e3J+eEUh5A==", + "version": "20.17.25", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.25.tgz", + "integrity": "sha512-bT+r2haIlplJUYtlZrEanFHdPIZTeiMeh/fSOEbOOfWf9uTn+lg8g0KU6Q3iMgjd9FLuuMAgfCNSkjUbxL6E3Q==", "license": "MIT", "dependencies": { "undici-types": "~6.19.2" @@ -4658,9 +4628,9 @@ } }, "node_modules/@types/ssh2/node_modules/@types/node": { - "version": "18.19.76", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.76.tgz", - "integrity": "sha512-yvR7Q9LdPz2vGpmpJX5LolrgRdWvB67MJKDPSgIIzpFbaf9a1j/f5DnLp5VDyHGMR0QZHlTr1afsD87QCXFHKw==", + "version": "18.19.81", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.81.tgz", + "integrity": "sha512-7KO9oZ2//ivtSsryp0LQUqq79zyGXzwq1WqfywpC9ucjY7YyltMMmxWgtRFRKCxwa7VPxVBVy4kHf5UC1E8Lug==", "dev": true, "license": "MIT", "dependencies": { @@ -4911,29 +4881,28 @@ } }, "node_modules/@vue/babel-helper-vue-transform-on": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.2.5.tgz", - "integrity": "sha512-lOz4t39ZdmU4DJAa2hwPYmKc8EsuGa2U0L9KaZaOJUt0UwQNjNA3AZTq6uEivhOKhhG1Wvy96SvYBoFmCg3uuw==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.4.0.tgz", + "integrity": "sha512-mCokbouEQ/ocRce/FpKCRItGo+013tHg7tixg3DUNS+6bmIchPt66012kBMm476vyEIJPafrvOf4E5OYj3shSw==", "dev": true, "license": "MIT" }, "node_modules/@vue/babel-plugin-jsx": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.2.5.tgz", - "integrity": "sha512-zTrNmOd4939H9KsRIGmmzn3q2zvv1mjxkYZHgqHZgDrXz5B1Q3WyGEjO2f+JrmKghvl1JIRcvo63LgM1kH5zFg==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.4.0.tgz", + "integrity": "sha512-9zAHmwgMWlaN6qRKdrg1uKsBKHvnUU+Py+MOCTuYZBoZsopa90Di10QRjB+YPnVss0BZbG/H5XFwJY1fTxJWhA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/plugin-syntax-jsx": "^7.24.7", - "@babel/template": "^7.25.0", - "@babel/traverse": "^7.25.6", - "@babel/types": "^7.25.6", - "@vue/babel-helper-vue-transform-on": "1.2.5", - "@vue/babel-plugin-resolve-type": "1.2.5", - "html-tags": "^3.3.1", - "svg-tags": "^1.0.0" + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.26.5", + "@babel/plugin-syntax-jsx": "^7.25.9", + "@babel/template": "^7.26.9", + "@babel/traverse": "^7.26.9", + "@babel/types": "^7.26.9", + "@vue/babel-helper-vue-transform-on": "1.4.0", + "@vue/babel-plugin-resolve-type": "1.4.0", + "@vue/shared": "^3.5.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" @@ -4944,18 +4913,28 @@ } } }, + "node_modules/@vue/babel-plugin-jsx/node_modules/@vue/shared": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.13.tgz", + "integrity": "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==", + "dev": true, + "license": "MIT" + }, "node_modules/@vue/babel-plugin-resolve-type": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.2.5.tgz", - "integrity": "sha512-U/ibkQrf5sx0XXRnUZD1mo5F7PkpKyTbfXM3a3rC4YnUz6crHEz9Jg09jzzL6QYlXNto/9CePdOg/c87O4Nlfg==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.4.0.tgz", + "integrity": "sha512-4xqDRRbQQEWHQyjlYSgZsWj44KfiF6D+ktCuXyZ8EnVDYV3pztmXJDf1HveAjUAXxAnR8daCQT51RneWWxtTyQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.24.7", - "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/parser": "^7.25.6", - "@vue/compiler-sfc": "^3.5.3" + "@babel/code-frame": "^7.26.2", + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.26.5", + "@babel/parser": "^7.26.9", + "@vue/compiler-sfc": "^3.5.13" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" }, "peerDependencies": { "@babel/core": "^7.0.0-0" @@ -5102,9 +5081,9 @@ } }, "node_modules/@vue/devtools-core/node_modules/nanoid": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.2.tgz", - "integrity": "sha512-b+CiXQCNMUGe0Ri64S9SXFcP9hogjAJ2Rd6GdVxhPLRm7mhGaM7VgOvCAJ1ZshfHbqVDI3uqTI5C8/GaKuLI7g==", + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.5.tgz", + "integrity": "sha512-Ir/+ZpE9fDsNH0hQ3C68uyThDXzYcim2EqcZ8zn8Chtt1iylPT9xXJB0kPCnqzgcEGikO9RxSrh63MsmVCU7Fw==", "dev": true, "funding": [ { @@ -5264,9 +5243,9 @@ } }, "node_modules/acorn": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", - "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "version": "8.14.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", + "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", "dev": true, "license": "MIT", "bin": { @@ -5823,12 +5802,12 @@ } }, "node_modules/axios": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.28.1.tgz", - "integrity": "sha512-iUcGA5a7p0mVb4Gm/sy+FSECNkPFT4y7wt6OM/CDpO/OnNCvSs3PoMG8ibrC9jRoGYU0gUK5pXVC4NPXq6lHRQ==", + "version": "0.29.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.29.0.tgz", + "integrity": "sha512-Kjsq1xisgO5DjjNQwZFsy0gpcU1P2j36dZeQDXVhpIU26GVgkDUnROaHLSuluhMqtDE7aKA2hbKXG5yu5DN8Tg==", "license": "MIT", "dependencies": { - "follow-redirects": "^1.15.0", + "follow-redirects": "^1.15.4", "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" } @@ -5922,9 +5901,9 @@ } }, "node_modules/bare-os": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.5.1.tgz", - "integrity": "sha512-LvfVNDcWLw2AnIw5f2mWUgumW3I3N/WYGiWeimhQC1Ybt71n2FjlS9GJKeCnFeg1MKZHxzIFmpFnBXDI+sBeFg==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.6.0.tgz", + "integrity": "sha512-BUrFS5TqSBdA0LwHop4OjPJwisqxGy6JsWVqV6qaFoe965qqtaKfDzHY5T2YA1gUL0ZeeQeA+4BBc1FJTcHiPw==", "dev": true, "license": "Apache-2.0", "optional": true, @@ -6503,13 +6482,13 @@ } }, "node_modules/call-bound": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz", - "integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", "license": "MIT", "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "get-intrinsic": "^1.2.6" + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" }, "engines": { "node": ">= 0.4" @@ -6574,9 +6553,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001701", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001701.tgz", - "integrity": "sha512-faRs/AW3jA9nTwmJBSO1PQ6L/EOgsB5HMQQq4iCu5zhPgVVgO/pZRHlmatwijZKetFw8/Pr4q6dEN8sJuq8qTw==", + "version": "1.0.30001706", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001706.tgz", + "integrity": "sha512-3ZczoTApMAZwPKYWmwVbQMFpXBDds3/0VciVoUwPUbldlYyVLmRVuRs/PcUZtHpbLRpzzDvrvnFuREsGt6lUug==", "dev": true, "funding": [ { @@ -6715,9 +6694,9 @@ } }, "node_modules/cheerio/node_modules/undici": { - "version": "6.21.1", - "resolved": "https://registry.npmjs.org/undici/-/undici-6.21.1.tgz", - "integrity": "sha512-q/1rj5D0/zayJB2FraXdaWxbhWiNKDvu8naDT2dl1yTlvJp4BLtOcp2a5BvgGNQpYYJzau7tf1WgKv3b+7mqpQ==", + "version": "6.21.2", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.21.2.tgz", + "integrity": "sha512-uROZWze0R0itiAKVPsYhFov9LxrPMHLMEQFszeI2gCN6bnIIZ8twzBCJcN2LJrBBLfrP0t1FW0g+JmKVl8Vk1g==", "license": "MIT", "engines": { "node": ">=18.17" @@ -8002,9 +7981,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.107", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.107.tgz", - "integrity": "sha512-dJr1o6yCntRkXElnhsHh1bAV19bo/hKyFf7tCcWgpXbuFIF0Lakjgqv5LRfSDaNzAII8Fnxg2tqgHkgCvxdbxw==", + "version": "1.5.123", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.123.tgz", + "integrity": "sha512-refir3NlutEZqlKaBLK0tzlVLe5P2wDKS7UQt/3SpibizgsRAPOsqQC3ffw1nlv3ze5gjRQZYHoPymgVZkplFA==", "dev": true, "license": "ISC" }, @@ -11665,9 +11644,9 @@ } }, "node_modules/lru.min": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/lru.min/-/lru.min-1.1.1.tgz", - "integrity": "sha512-FbAj6lXil6t8z4z3j0E5mfRlPzxkySotzUHwRXjlpRh10vc6AI6WN62ehZj82VG7M20rqogJ0GLwar2Xa05a8Q==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/lru.min/-/lru.min-1.1.2.tgz", + "integrity": "sha512-Nv9KddBcQSlQopmBHXSsZVY5xsdlZkdH/Iey0BlcBYggMd4two7cZnKOK9vmy3nY0O5RGH99z1PCeTpPqszUYg==", "license": "MIT", "engines": { "bun": ">=1.0.0", @@ -11968,9 +11947,9 @@ } }, "node_modules/mime-db": { - "version": "1.53.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.53.0.tgz", - "integrity": "sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg==", + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", "license": "MIT", "engines": { "node": ">= 0.6" @@ -12411,9 +12390,9 @@ "optional": true }, "node_modules/nanoid": { - "version": "3.3.8", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", - "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", "funding": [ { "type": "github", @@ -12451,9 +12430,9 @@ } }, "node_modules/net-snmp": { - "version": "3.19.0", - "resolved": "https://registry.npmjs.org/net-snmp/-/net-snmp-3.19.0.tgz", - "integrity": "sha512-fOXzZcku7daH+iZBWfgtd29IeV8jT4QXSfyXWVOE50IYkxwxIeeSk3tsNUCZSo6dURa/nYgguFp2Bs8FxengtA==", + "version": "3.20.0", + "resolved": "https://registry.npmjs.org/net-snmp/-/net-snmp-3.20.0.tgz", + "integrity": "sha512-4Cp8ODkzgVXjUrIQFfL9Vo6qVsz+8OuAjUvkRGsSZOKSpoxpy9YWjVgNs+/a9N4Hd9MilIy90Zhw3EZlUUZB6A==", "license": "MIT", "dependencies": { "asn1-ber": "^1.2.1", @@ -12701,9 +12680,9 @@ } }, "node_modules/nostr-tools": { - "version": "2.10.4", - "resolved": "https://registry.npmjs.org/nostr-tools/-/nostr-tools-2.10.4.tgz", - "integrity": "sha512-biU7sk+jxHgVASfobg2T5ttxOGGSt69wEVBC51sHHOEaKAAdzHBLV/I2l9Rf61UzClhliZwNouYhqIso4a3HYg==", + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/nostr-tools/-/nostr-tools-2.11.0.tgz", + "integrity": "sha512-kRtXI9j5f45NvIcdJacQ0UEAfEb7p/jhZqhAGLQWtUd5idZJPYdSyR8hdw+MmpGH4TCMH5plZrXzFltIIZrkEA==", "license": "Unlicense", "dependencies": { "@noble/ciphers": "^0.5.1", @@ -13295,18 +13274,18 @@ } }, "node_modules/pg-pool": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.7.1.tgz", - "integrity": "sha512-xIOsFoh7Vdhojas6q3596mXFsR8nwBQBXX5JiV7p9buEVAGqYL4yFzclON5P9vFrpu1u7Zwl2oriyDa89n0wbw==", + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.8.0.tgz", + "integrity": "sha512-VBw3jiVm6ZOdLBTIcXLNdSotb6Iy3uOCwDGFAksZCXmi10nyRvnP2v3jl4d+IsLYRyXf6o9hIm/ZtUzlByNUdw==", "license": "MIT", "peerDependencies": { "pg": ">=8.0" } }, "node_modules/pg-protocol": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.7.1.tgz", - "integrity": "sha512-gjTHWGYWsEgy9MsY0Gp6ZJxV24IjDqdpTW7Eh0x+WfJLFsm/TJx1MzL6T0D88mBvkpxotCQ6TwW6N+Kko7lhgQ==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.8.0.tgz", + "integrity": "sha512-jvuYlEkL03NRvOoyoRktBK7+qU5kOvlAwvmrH8sr3wbLrOdVWsRxQfz8mMy9sZFsqJ1hEWNfdWKI4SAmoL+j7g==", "license": "MIT" }, "node_modules/pg-types": { @@ -13642,9 +13621,9 @@ } }, "node_modules/prismjs": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", - "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", + "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", "dev": true, "license": "MIT", "engines": { @@ -14650,9 +14629,9 @@ } }, "node_modules/rollup": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.34.8.tgz", - "integrity": "sha512-489gTVMzAYdiZHFVA/ig/iYFllCcWFHMvUHI1rpFmkoUtRlQxqh6/yiNqnYibjMZ2b/+FUQwldG+aLsEt6bglQ==", + "version": "4.36.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.36.0.tgz", + "integrity": "sha512-zwATAXNQxUcd40zgtQG0ZafcRK4g004WtEl7kbuhTWPvf07PsfohXl39jVUvPF7jvNAIkKPQ2XrsDlWuxBd++Q==", "dev": true, "license": "MIT", "dependencies": { @@ -14666,25 +14645,25 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.34.8", - "@rollup/rollup-android-arm64": "4.34.8", - "@rollup/rollup-darwin-arm64": "4.34.8", - "@rollup/rollup-darwin-x64": "4.34.8", - "@rollup/rollup-freebsd-arm64": "4.34.8", - "@rollup/rollup-freebsd-x64": "4.34.8", - "@rollup/rollup-linux-arm-gnueabihf": "4.34.8", - "@rollup/rollup-linux-arm-musleabihf": "4.34.8", - "@rollup/rollup-linux-arm64-gnu": "4.34.8", - "@rollup/rollup-linux-arm64-musl": "4.34.8", - "@rollup/rollup-linux-loongarch64-gnu": "4.34.8", - "@rollup/rollup-linux-powerpc64le-gnu": "4.34.8", - "@rollup/rollup-linux-riscv64-gnu": "4.34.8", - "@rollup/rollup-linux-s390x-gnu": "4.34.8", - "@rollup/rollup-linux-x64-gnu": "4.34.8", - "@rollup/rollup-linux-x64-musl": "4.34.8", - "@rollup/rollup-win32-arm64-msvc": "4.34.8", - "@rollup/rollup-win32-ia32-msvc": "4.34.8", - "@rollup/rollup-win32-x64-msvc": "4.34.8", + "@rollup/rollup-android-arm-eabi": "4.36.0", + "@rollup/rollup-android-arm64": "4.36.0", + "@rollup/rollup-darwin-arm64": "4.36.0", + "@rollup/rollup-darwin-x64": "4.36.0", + "@rollup/rollup-freebsd-arm64": "4.36.0", + "@rollup/rollup-freebsd-x64": "4.36.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.36.0", + "@rollup/rollup-linux-arm-musleabihf": "4.36.0", + "@rollup/rollup-linux-arm64-gnu": "4.36.0", + "@rollup/rollup-linux-arm64-musl": "4.36.0", + "@rollup/rollup-linux-loongarch64-gnu": "4.36.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.36.0", + "@rollup/rollup-linux-riscv64-gnu": "4.36.0", + "@rollup/rollup-linux-s390x-gnu": "4.36.0", + "@rollup/rollup-linux-x64-gnu": "4.36.0", + "@rollup/rollup-linux-x64-musl": "4.36.0", + "@rollup/rollup-win32-arm64-msvc": "4.36.0", + "@rollup/rollup-win32-ia32-msvc": "4.36.0", + "@rollup/rollup-win32-x64-msvc": "4.36.0", "fsevents": "~2.3.2" } }, @@ -16246,9 +16225,9 @@ } }, "node_modules/tedious/node_modules/bl": { - "version": "6.0.19", - "resolved": "https://registry.npmjs.org/bl/-/bl-6.0.19.tgz", - "integrity": "sha512-4Ay3A3oDfGg3GGirhl4s62ebtnk0pJZA5mLp672MPKOQXsWvXjEF4dqdXySjJIs7b9OVr/O8aOo0Lm+xdjo2JA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-6.1.0.tgz", + "integrity": "sha512-ClDyJGQkc8ZtzdAAbAwBmhMSpwN/sC9HA8jxdYm6nVUbCfZbe2mgza4qh7AuEYyEPB/c4Kznf9s66bnsKMQDjw==", "license": "MIT", "dependencies": { "@types/readable-stream": "^4.0.0", @@ -16384,9 +16363,9 @@ } }, "node_modules/testcontainers": { - "version": "10.18.0", - "resolved": "https://registry.npmjs.org/testcontainers/-/testcontainers-10.18.0.tgz", - "integrity": "sha512-MnwWsPjsN5QVe+lSU1LwLZVOyjgwSwv1INzkw8FekdwgvOtvJ7FThQEkbmzRcguQootgwmA9FG54NoTChZDRvA==", + "version": "10.21.0", + "resolved": "https://registry.npmjs.org/testcontainers/-/testcontainers-10.21.0.tgz", + "integrity": "sha512-avzqNfP0HyHaOPTztHbGnHycZWzWaeUwSPnJGCYin2LB+n/tlGjAzExVrkIaCSBwIjFkMlufEYuKWzGc8mupDQ==", "dev": true, "license": "MIT", "dependencies": { @@ -16753,9 +16732,9 @@ "license": "MIT" }, "node_modules/undici": { - "version": "5.28.5", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.5.tgz", - "integrity": "sha512-zICwjrDrcrUE0pyyJc1I2QzBkLM8FINsgOrt6WjA+BgajVq9Nxu2PbFFXUrAggLfDXlZGZBVZYw7WNV5KiBiBA==", + "version": "5.29.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.29.0.tgz", + "integrity": "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==", "dev": true, "license": "MIT", "dependencies": { @@ -17313,19 +17292,21 @@ } }, "node_modules/vue-i18n": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.2.2.tgz", - "integrity": "sha512-yswpwtj89rTBhegUAv9Mu37LNznyu3NpyLQmozF3i1hYOhwpG8RjcjIFIIfnu+2MDZJGSZPXaKWvnQA71Yv9TQ==", + "version": "9.14.3", + "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.14.3.tgz", + "integrity": "sha512-C+E0KE8ihKjdYCQx8oUkXX+8tBItrYNMnGJuzEPevBARQFUN2tKez6ZVOvBrWH0+KT5wEk3vOWjNk7ygb2u9ig==", "dev": true, "license": "MIT", "dependencies": { - "@intlify/core-base": "9.2.2", - "@intlify/shared": "9.2.2", - "@intlify/vue-devtools": "9.2.2", - "@vue/devtools-api": "^6.2.1" + "@intlify/core-base": "9.14.3", + "@intlify/shared": "9.14.3", + "@vue/devtools-api": "^6.5.0" }, "engines": { - "node": ">= 14" + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" }, "peerDependencies": { "vue": "^3.0.0" @@ -17446,9 +17427,9 @@ } }, "node_modules/wait-on/node_modules/axios": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.8.1.tgz", - "integrity": "sha512-NN+fvwH/kV01dYUQ3PTOZns4LWtWhOFCAhQ/pHb88WQ1hNe5V/dvFwc4VJcDL11LT9xSX0QtsR8sWUuyOuOq7g==", + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.8.4.tgz", + "integrity": "sha512-eBSYY4Y68NNlHbHBMdeDmKNtDgXWhQsJcGqzO3iLUM0GraQFSS9cVgPX5I9b3lbdFKyYoAEGAZF1DwhTaljNAw==", "dev": true, "license": "MIT", "dependencies": { @@ -17615,16 +17596,17 @@ "license": "ISC" }, "node_modules/which-typed-array": { - "version": "1.1.18", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.18.tgz", - "integrity": "sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==", + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", "dev": true, "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "for-each": "^0.3.3", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-tostringtag": "^1.0.2" }, diff --git a/package.json b/package.json index 58160b8de..be3305294 100644 --- a/package.json +++ b/package.json @@ -72,7 +72,7 @@ "@louislam/sqlite3": "15.1.6", "@vvo/tzdb": "^6.125.0", "args-parser": "~1.3.0", - "axios": "~0.28.1", + "axios": "~0.29.0", "badge-maker": "~3.3.1", "bcryptjs": "~2.4.3", "chardet": "~1.4.0", @@ -179,7 +179,7 @@ "postcss-html": "~1.5.0", "postcss-rtlcss": "~3.7.2", "postcss-scss": "~4.0.4", - "prismjs": "~1.29.0", + "prismjs": "~1.30.0", "qrcode": "~1.5.0", "rollup-plugin-visualizer": "^5.6.0", "sass": "~1.42.1", @@ -197,7 +197,7 @@ "vue-chartjs": "~5.2.0", "vue-confirm-dialog": "~1.0.2", "vue-contenteditable": "~3.0.4", - "vue-i18n": "~9.2.2", + "vue-i18n": "~9.14.3", "vue-image-crop-upload": "~3.0.3", "vue-multiselect": "~3.0.0-alpha.2", "vue-prism-editor": "~2.0.0-alpha.2", From 10a518e72ef99eafbb90c6944eacdbfaa156bf6b Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Tue, 25 Mar 2025 02:07:15 +0800 Subject: [PATCH 187/226] Fix #5721: Change proxy port column type to integer to support larger port numbers (#5724) --- db/knex_migrations/2025-03-25-0127-fix-5721.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 db/knex_migrations/2025-03-25-0127-fix-5721.js diff --git a/db/knex_migrations/2025-03-25-0127-fix-5721.js b/db/knex_migrations/2025-03-25-0127-fix-5721.js new file mode 100644 index 000000000..d94282b13 --- /dev/null +++ b/db/knex_migrations/2025-03-25-0127-fix-5721.js @@ -0,0 +1,13 @@ +// Fix #5721: Change proxy port column type to integer to support larger port numbers +exports.up = function (knex) { + return knex.schema + .alterTable("proxy", function (table) { + table.integer("port").alter(); + }); +}; + +exports.down = function (knex) { + return knex.schema.alterTable("proxy", function (table) { + table.smallint("port").alter(); + }); +}; From 30f82b9cb4f4f870f5be02ba27a2ff8a57151c1f Mon Sep 17 00:00:00 2001 From: Teror Fox Date: Thu, 27 Mar 2025 00:31:34 +0800 Subject: [PATCH 188/226] feat: add notification provider `PushPlus` (#5716) Co-authored-by: Teror Fox Co-authored-by: Frank Elsinga --- server/notification-providers/pushplus.js | 56 +++++++++++++++++++++++ server/notification.js | 2 + src/components/NotificationDialog.vue | 1 + src/components/notifications/PushPlus.vue | 19 ++++++++ src/components/notifications/index.js | 2 + 5 files changed, 80 insertions(+) create mode 100644 server/notification-providers/pushplus.js create mode 100644 src/components/notifications/PushPlus.vue diff --git a/server/notification-providers/pushplus.js b/server/notification-providers/pushplus.js new file mode 100644 index 000000000..a26ba176f --- /dev/null +++ b/server/notification-providers/pushplus.js @@ -0,0 +1,56 @@ +const NotificationProvider = require("./notification-provider"); +const axios = require("axios"); +const { DOWN, UP } = require("../../src/util"); + +class PushPlus extends NotificationProvider { + name = "PushPlus"; + + /** + * @inheritdoc + * @param {BeanModel} notification Notification object + * @param {string} msg Message content + * @param {?object} monitorJSON Monitor details + * @param {?object} heartbeatJSON Heartbeat details + * @returns {Promise} Success message + */ + async send(notification, msg, monitorJSON = null, heartbeatJSON = null) { + const okMsg = "Sent Successfully."; + const url = "https://www.pushplus.plus/send"; + try { + const config = { + headers: { + "Content-Type": "application/json", + }, + }; + const params = { + "token": notification.pushPlusSendKey, + "title": this.checkStatus(heartbeatJSON, monitorJSON), + "content": msg, + "template": "html" + }; + await axios.post(url, params, config); + return okMsg; + } catch (error) { + this.throwGeneralAxiosError(error); + } + } + + /** + * Get the formatted title for message + * @param {?object} heartbeatJSON Heartbeat details (For Up/Down only) + * @param {?object} monitorJSON Monitor details (For Up/Down only) + * @returns {string} Formatted title + */ + checkStatus(heartbeatJSON, monitorJSON) { + let title = "UptimeKuma Message"; + if (heartbeatJSON != null && heartbeatJSON["status"] === UP) { + title = "UptimeKuma Monitor Up " + monitorJSON["name"]; + } + if (heartbeatJSON != null && heartbeatJSON["status"] === DOWN) { + title = "UptimeKuma Monitor Down " + monitorJSON["name"]; + } + return title; + } +} + +module.exports = PushPlus; diff --git a/server/notification.js b/server/notification.js index a77094ac9..0c222d932 100644 --- a/server/notification.js +++ b/server/notification.js @@ -39,6 +39,7 @@ const PromoSMS = require("./notification-providers/promosms"); const Pushbullet = require("./notification-providers/pushbullet"); const PushDeer = require("./notification-providers/pushdeer"); const Pushover = require("./notification-providers/pushover"); +const PushPlus = require("./notification-providers/pushplus"); const Pushy = require("./notification-providers/pushy"); const RocketChat = require("./notification-providers/rocket-chat"); const SerwerSMS = require("./notification-providers/serwersms"); @@ -128,6 +129,7 @@ class Notification { new Pushbullet(), new PushDeer(), new Pushover(), + new PushPlus(), new Pushy(), new RocketChat(), new ServerChan(), diff --git a/src/components/NotificationDialog.vue b/src/components/NotificationDialog.vue index 561637ec0..bed841fa5 100644 --- a/src/components/NotificationDialog.vue +++ b/src/components/NotificationDialog.vue @@ -182,6 +182,7 @@ export default { "SMSManager": "SmsManager (smsmanager.cz)", "WeCom": "WeCom (企业微信群机器人)", "ServerChan": "ServerChan (Server酱)", + "PushPlus": "PushPlus (推送加)", "smsc": "SMSC", "WPush": "WPush(wpush.cn)", "YZJ": "YZJ (云之家自定义机器人)" diff --git a/src/components/notifications/PushPlus.vue b/src/components/notifications/PushPlus.vue new file mode 100644 index 000000000..80e47cea0 --- /dev/null +++ b/src/components/notifications/PushPlus.vue @@ -0,0 +1,19 @@ + + + diff --git a/src/components/notifications/index.js b/src/components/notifications/index.js index c1162da92..cbd6f2b68 100644 --- a/src/components/notifications/index.js +++ b/src/components/notifications/index.js @@ -39,6 +39,7 @@ import PromoSMS from "./PromoSMS.vue"; import Pushbullet from "./Pushbullet.vue"; import PushDeer from "./PushDeer.vue"; import Pushover from "./Pushover.vue"; +import PushPlus from "./PushPlus.vue"; import Pushy from "./Pushy.vue"; import RocketChat from "./RocketChat.vue"; import ServerChan from "./ServerChan.vue"; @@ -116,6 +117,7 @@ const NotificationFormList = { "PushByTechulus": TechulusPush, "PushDeer": PushDeer, "pushover": Pushover, + "PushPlus": PushPlus, "pushy": Pushy, "rocket.chat": RocketChat, "serwersms": SerwerSMS, From 44db422128f1c63c81cfc877036c0b853fe1784f Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Fri, 28 Mar 2025 16:34:23 +0800 Subject: [PATCH 189/226] Update vite (#5731) --- package-lock.json | 1359 ++++++++++++++++++++++++--------------------- package.json | 2 +- 2 files changed, 726 insertions(+), 635 deletions(-) diff --git a/package-lock.json b/package-lock.json index 417fd94c3..70640c26f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -132,7 +132,7 @@ "testcontainers": "^10.13.1", "typescript": "~4.4.4", "v-pagination-3": "~0.1.7", - "vite": "~5.4.14", + "vite": "~5.4.15", "vite-plugin-compression": "^0.5.1", "vite-plugin-vue-devtools": "^7.0.15", "vue": "~3.4.2", @@ -338,49 +338,49 @@ } }, "node_modules/@aws-sdk/client-cognito-identity": { - "version": "3.772.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.772.0.tgz", - "integrity": "sha512-R11dYd2NGAH9TDRUJHd3Ab3HZzSoyqwQu+ZR9MZdcA2l3k99mqsrvcLp60YBPGq1dOEQDB1A85xgrAwtWLj81Q==", + "version": "3.775.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.775.0.tgz", + "integrity": "sha512-AMGywI8C+kcSTWjftq9jgzkospF1A/QNd/h6zN+3uuS+3rZhkPIoPCpaQ0NSTYD49FTq8ALZzNKTqTEOnp+txA==", "license": "Apache-2.0", "optional": true, "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "3.758.0", - "@aws-sdk/credential-provider-node": "3.772.0", - "@aws-sdk/middleware-host-header": "3.734.0", - "@aws-sdk/middleware-logger": "3.734.0", - "@aws-sdk/middleware-recursion-detection": "3.772.0", - "@aws-sdk/middleware-user-agent": "3.758.0", - "@aws-sdk/region-config-resolver": "3.734.0", - "@aws-sdk/types": "3.734.0", - "@aws-sdk/util-endpoints": "3.743.0", - "@aws-sdk/util-user-agent-browser": "3.734.0", - "@aws-sdk/util-user-agent-node": "3.758.0", - "@smithy/config-resolver": "^4.0.1", - "@smithy/core": "^3.1.5", - "@smithy/fetch-http-handler": "^5.0.1", - "@smithy/hash-node": "^4.0.1", - "@smithy/invalid-dependency": "^4.0.1", - "@smithy/middleware-content-length": "^4.0.1", - "@smithy/middleware-endpoint": "^4.0.6", - "@smithy/middleware-retry": "^4.0.7", - "@smithy/middleware-serde": "^4.0.2", - "@smithy/middleware-stack": "^4.0.1", - "@smithy/node-config-provider": "^4.0.1", - "@smithy/node-http-handler": "^4.0.3", - "@smithy/protocol-http": "^5.0.1", - "@smithy/smithy-client": "^4.1.6", - "@smithy/types": "^4.1.0", - "@smithy/url-parser": "^4.0.1", + "@aws-sdk/core": "3.775.0", + "@aws-sdk/credential-provider-node": "3.775.0", + "@aws-sdk/middleware-host-header": "3.775.0", + "@aws-sdk/middleware-logger": "3.775.0", + "@aws-sdk/middleware-recursion-detection": "3.775.0", + "@aws-sdk/middleware-user-agent": "3.775.0", + "@aws-sdk/region-config-resolver": "3.775.0", + "@aws-sdk/types": "3.775.0", + "@aws-sdk/util-endpoints": "3.775.0", + "@aws-sdk/util-user-agent-browser": "3.775.0", + "@aws-sdk/util-user-agent-node": "3.775.0", + "@smithy/config-resolver": "^4.1.0", + "@smithy/core": "^3.2.0", + "@smithy/fetch-http-handler": "^5.0.2", + "@smithy/hash-node": "^4.0.2", + "@smithy/invalid-dependency": "^4.0.2", + "@smithy/middleware-content-length": "^4.0.2", + "@smithy/middleware-endpoint": "^4.1.0", + "@smithy/middleware-retry": "^4.1.0", + "@smithy/middleware-serde": "^4.0.3", + "@smithy/middleware-stack": "^4.0.2", + "@smithy/node-config-provider": "^4.0.2", + "@smithy/node-http-handler": "^4.0.4", + "@smithy/protocol-http": "^5.1.0", + "@smithy/smithy-client": "^4.2.0", + "@smithy/types": "^4.2.0", + "@smithy/url-parser": "^4.0.2", "@smithy/util-base64": "^4.0.0", "@smithy/util-body-length-browser": "^4.0.0", "@smithy/util-body-length-node": "^4.0.0", - "@smithy/util-defaults-mode-browser": "^4.0.7", - "@smithy/util-defaults-mode-node": "^4.0.7", - "@smithy/util-endpoints": "^3.0.1", - "@smithy/util-middleware": "^4.0.1", - "@smithy/util-retry": "^4.0.1", + "@smithy/util-defaults-mode-browser": "^4.0.8", + "@smithy/util-defaults-mode-node": "^4.0.8", + "@smithy/util-endpoints": "^3.0.2", + "@smithy/util-middleware": "^4.0.2", + "@smithy/util-retry": "^4.0.2", "@smithy/util-utf8": "^4.0.0", "tslib": "^2.6.2" }, @@ -389,48 +389,48 @@ } }, "node_modules/@aws-sdk/client-sso": { - "version": "3.772.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.772.0.tgz", - "integrity": "sha512-sDdxepi74+cL6gXJJ2yw3UNSI7GBvoGTwZqFyPoNAzcURvaYwo8dBr7G4jS9GDanjTlO3CGVAf2VMcpqEvmoEw==", + "version": "3.775.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.775.0.tgz", + "integrity": "sha512-vqG1S2ap77WP4D5qt4bEPE0duQ4myN+cDr1NeP8QpSTajetbkDGVo7h1VViYMcUoFUVWBj6Qf1X1VfOq+uaxbA==", "license": "Apache-2.0", "optional": true, "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "3.758.0", - "@aws-sdk/middleware-host-header": "3.734.0", - "@aws-sdk/middleware-logger": "3.734.0", - "@aws-sdk/middleware-recursion-detection": "3.772.0", - "@aws-sdk/middleware-user-agent": "3.758.0", - "@aws-sdk/region-config-resolver": "3.734.0", - "@aws-sdk/types": "3.734.0", - "@aws-sdk/util-endpoints": "3.743.0", - "@aws-sdk/util-user-agent-browser": "3.734.0", - "@aws-sdk/util-user-agent-node": "3.758.0", - "@smithy/config-resolver": "^4.0.1", - "@smithy/core": "^3.1.5", - "@smithy/fetch-http-handler": "^5.0.1", - "@smithy/hash-node": "^4.0.1", - "@smithy/invalid-dependency": "^4.0.1", - "@smithy/middleware-content-length": "^4.0.1", - "@smithy/middleware-endpoint": "^4.0.6", - "@smithy/middleware-retry": "^4.0.7", - "@smithy/middleware-serde": "^4.0.2", - "@smithy/middleware-stack": "^4.0.1", - "@smithy/node-config-provider": "^4.0.1", - "@smithy/node-http-handler": "^4.0.3", - "@smithy/protocol-http": "^5.0.1", - "@smithy/smithy-client": "^4.1.6", - "@smithy/types": "^4.1.0", - "@smithy/url-parser": "^4.0.1", + "@aws-sdk/core": "3.775.0", + "@aws-sdk/middleware-host-header": "3.775.0", + "@aws-sdk/middleware-logger": "3.775.0", + "@aws-sdk/middleware-recursion-detection": "3.775.0", + "@aws-sdk/middleware-user-agent": "3.775.0", + "@aws-sdk/region-config-resolver": "3.775.0", + "@aws-sdk/types": "3.775.0", + "@aws-sdk/util-endpoints": "3.775.0", + "@aws-sdk/util-user-agent-browser": "3.775.0", + "@aws-sdk/util-user-agent-node": "3.775.0", + "@smithy/config-resolver": "^4.1.0", + "@smithy/core": "^3.2.0", + "@smithy/fetch-http-handler": "^5.0.2", + "@smithy/hash-node": "^4.0.2", + "@smithy/invalid-dependency": "^4.0.2", + "@smithy/middleware-content-length": "^4.0.2", + "@smithy/middleware-endpoint": "^4.1.0", + "@smithy/middleware-retry": "^4.1.0", + "@smithy/middleware-serde": "^4.0.3", + "@smithy/middleware-stack": "^4.0.2", + "@smithy/node-config-provider": "^4.0.2", + "@smithy/node-http-handler": "^4.0.4", + "@smithy/protocol-http": "^5.1.0", + "@smithy/smithy-client": "^4.2.0", + "@smithy/types": "^4.2.0", + "@smithy/url-parser": "^4.0.2", "@smithy/util-base64": "^4.0.0", "@smithy/util-body-length-browser": "^4.0.0", "@smithy/util-body-length-node": "^4.0.0", - "@smithy/util-defaults-mode-browser": "^4.0.7", - "@smithy/util-defaults-mode-node": "^4.0.7", - "@smithy/util-endpoints": "^3.0.1", - "@smithy/util-middleware": "^4.0.1", - "@smithy/util-retry": "^4.0.1", + "@smithy/util-defaults-mode-browser": "^4.0.8", + "@smithy/util-defaults-mode-node": "^4.0.8", + "@smithy/util-endpoints": "^3.0.2", + "@smithy/util-middleware": "^4.0.2", + "@smithy/util-retry": "^4.0.2", "@smithy/util-utf8": "^4.0.0", "tslib": "^2.6.2" }, @@ -439,21 +439,21 @@ } }, "node_modules/@aws-sdk/core": { - "version": "3.758.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.758.0.tgz", - "integrity": "sha512-0RswbdR9jt/XKemaLNuxi2gGr4xGlHyGxkTdhSQzCyUe9A9OPCoLl3rIESRguQEech+oJnbHk/wuiwHqTuP9sg==", + "version": "3.775.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.775.0.tgz", + "integrity": "sha512-8vpW4WihVfz0DX+7WnnLGm3GuQER++b0IwQG35JlQMlgqnc44M//KbJPsIHA0aJUJVwJAEShgfr5dUbY8WUzaA==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/types": "3.734.0", - "@smithy/core": "^3.1.5", - "@smithy/node-config-provider": "^4.0.1", - "@smithy/property-provider": "^4.0.1", - "@smithy/protocol-http": "^5.0.1", - "@smithy/signature-v4": "^5.0.1", - "@smithy/smithy-client": "^4.1.6", - "@smithy/types": "^4.1.0", - "@smithy/util-middleware": "^4.0.1", + "@aws-sdk/types": "3.775.0", + "@smithy/core": "^3.2.0", + "@smithy/node-config-provider": "^4.0.2", + "@smithy/property-provider": "^4.0.2", + "@smithy/protocol-http": "^5.1.0", + "@smithy/signature-v4": "^5.0.2", + "@smithy/smithy-client": "^4.2.0", + "@smithy/types": "^4.2.0", + "@smithy/util-middleware": "^4.0.2", "fast-xml-parser": "4.4.1", "tslib": "^2.6.2" }, @@ -462,16 +462,16 @@ } }, "node_modules/@aws-sdk/credential-provider-cognito-identity": { - "version": "3.772.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.772.0.tgz", - "integrity": "sha512-rgGCB7+ttlOvuFjz016WVF0m1zDQNakreXVGmlqxKUHTgAkbXulbzcCnZt44S7QGP6V1ElbRB4jI7piRFirdwg==", + "version": "3.775.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.775.0.tgz", + "integrity": "sha512-fcyZzoCFp2u4NWXW8INA81kEEsWC7ZFzy5m/6t2RF1Gjt+1n2AlFQVqF73LeyEcaN+biNKq87kh94Btk0QdfHA==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/client-cognito-identity": "3.772.0", - "@aws-sdk/types": "3.734.0", - "@smithy/property-provider": "^4.0.1", - "@smithy/types": "^4.1.0", + "@aws-sdk/client-cognito-identity": "3.775.0", + "@aws-sdk/types": "3.775.0", + "@smithy/property-provider": "^4.0.2", + "@smithy/types": "^4.2.0", "tslib": "^2.6.2" }, "engines": { @@ -479,16 +479,16 @@ } }, "node_modules/@aws-sdk/credential-provider-env": { - "version": "3.758.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.758.0.tgz", - "integrity": "sha512-N27eFoRrO6MeUNumtNHDW9WOiwfd59LPXPqDrIa3kWL/s+fOKFHb9xIcF++bAwtcZnAxKkgpDCUP+INNZskE+w==", + "version": "3.775.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.775.0.tgz", + "integrity": "sha512-6ESVxwCbGm7WZ17kY1fjmxQud43vzJFoLd4bmlR+idQSWdqlzGDYdcfzpjDKTcivdtNrVYmFvcH1JBUwCRAZhw==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/core": "3.758.0", - "@aws-sdk/types": "3.734.0", - "@smithy/property-provider": "^4.0.1", - "@smithy/types": "^4.1.0", + "@aws-sdk/core": "3.775.0", + "@aws-sdk/types": "3.775.0", + "@smithy/property-provider": "^4.0.2", + "@smithy/types": "^4.2.0", "tslib": "^2.6.2" }, "engines": { @@ -496,21 +496,21 @@ } }, "node_modules/@aws-sdk/credential-provider-http": { - "version": "3.758.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.758.0.tgz", - "integrity": "sha512-Xt9/U8qUCiw1hihztWkNeIR+arg6P+yda10OuCHX6kFVx3auTlU7+hCqs3UxqniGU4dguHuftf3mRpi5/GJ33Q==", + "version": "3.775.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.775.0.tgz", + "integrity": "sha512-PjDQeDH/J1S0yWV32wCj2k5liRo0ssXMseCBEkCsD3SqsU8o5cU82b0hMX4sAib/RkglCSZqGO0xMiN0/7ndww==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/core": "3.758.0", - "@aws-sdk/types": "3.734.0", - "@smithy/fetch-http-handler": "^5.0.1", - "@smithy/node-http-handler": "^4.0.3", - "@smithy/property-provider": "^4.0.1", - "@smithy/protocol-http": "^5.0.1", - "@smithy/smithy-client": "^4.1.6", - "@smithy/types": "^4.1.0", - "@smithy/util-stream": "^4.1.2", + "@aws-sdk/core": "3.775.0", + "@aws-sdk/types": "3.775.0", + "@smithy/fetch-http-handler": "^5.0.2", + "@smithy/node-http-handler": "^4.0.4", + "@smithy/property-provider": "^4.0.2", + "@smithy/protocol-http": "^5.1.0", + "@smithy/smithy-client": "^4.2.0", + "@smithy/types": "^4.2.0", + "@smithy/util-stream": "^4.2.0", "tslib": "^2.6.2" }, "engines": { @@ -518,24 +518,24 @@ } }, "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.772.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.772.0.tgz", - "integrity": "sha512-T1Ec9Q25zl5c/eZUPHZsiq8vgBeWBjHM7WM5xtZszZRPqqhQGnmFlomz1r9rwhW8RFB5k8HRaD/SLKo6jtYl/A==", + "version": "3.775.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.775.0.tgz", + "integrity": "sha512-0gJc6cALsgrjeC5U3qDjbz4myIC/j49+gPz9nkvY+C0OYWt1KH1tyfiZUuCRGfuFHhQ+3KMMDSL229TkBP3E7g==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/core": "3.758.0", - "@aws-sdk/credential-provider-env": "3.758.0", - "@aws-sdk/credential-provider-http": "3.758.0", - "@aws-sdk/credential-provider-process": "3.758.0", - "@aws-sdk/credential-provider-sso": "3.772.0", - "@aws-sdk/credential-provider-web-identity": "3.772.0", - "@aws-sdk/nested-clients": "3.772.0", - "@aws-sdk/types": "3.734.0", - "@smithy/credential-provider-imds": "^4.0.1", - "@smithy/property-provider": "^4.0.1", - "@smithy/shared-ini-file-loader": "^4.0.1", - "@smithy/types": "^4.1.0", + "@aws-sdk/core": "3.775.0", + "@aws-sdk/credential-provider-env": "3.775.0", + "@aws-sdk/credential-provider-http": "3.775.0", + "@aws-sdk/credential-provider-process": "3.775.0", + "@aws-sdk/credential-provider-sso": "3.775.0", + "@aws-sdk/credential-provider-web-identity": "3.775.0", + "@aws-sdk/nested-clients": "3.775.0", + "@aws-sdk/types": "3.775.0", + "@smithy/credential-provider-imds": "^4.0.2", + "@smithy/property-provider": "^4.0.2", + "@smithy/shared-ini-file-loader": "^4.0.2", + "@smithy/types": "^4.2.0", "tslib": "^2.6.2" }, "engines": { @@ -543,23 +543,23 @@ } }, "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.772.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.772.0.tgz", - "integrity": "sha512-0IdVfjBO88Mtekq/KaScYSIEPIeR+ABRvBOWyj/c/qQ2KJyI0GRlSAzpANfxDLHVPn3yEHuZd9nRL6sOmOMI0A==", + "version": "3.775.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.775.0.tgz", + "integrity": "sha512-D8Zre5W2sXC/ANPqCWPqwYpU1cKY9DF6ckFZyDrqlcBC0gANgpY6fLrBtYo2fwJsbj+1A24iIpBINV7erdprgA==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/credential-provider-env": "3.758.0", - "@aws-sdk/credential-provider-http": "3.758.0", - "@aws-sdk/credential-provider-ini": "3.772.0", - "@aws-sdk/credential-provider-process": "3.758.0", - "@aws-sdk/credential-provider-sso": "3.772.0", - "@aws-sdk/credential-provider-web-identity": "3.772.0", - "@aws-sdk/types": "3.734.0", - "@smithy/credential-provider-imds": "^4.0.1", - "@smithy/property-provider": "^4.0.1", - "@smithy/shared-ini-file-loader": "^4.0.1", - "@smithy/types": "^4.1.0", + "@aws-sdk/credential-provider-env": "3.775.0", + "@aws-sdk/credential-provider-http": "3.775.0", + "@aws-sdk/credential-provider-ini": "3.775.0", + "@aws-sdk/credential-provider-process": "3.775.0", + "@aws-sdk/credential-provider-sso": "3.775.0", + "@aws-sdk/credential-provider-web-identity": "3.775.0", + "@aws-sdk/types": "3.775.0", + "@smithy/credential-provider-imds": "^4.0.2", + "@smithy/property-provider": "^4.0.2", + "@smithy/shared-ini-file-loader": "^4.0.2", + "@smithy/types": "^4.2.0", "tslib": "^2.6.2" }, "engines": { @@ -567,17 +567,17 @@ } }, "node_modules/@aws-sdk/credential-provider-process": { - "version": "3.758.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.758.0.tgz", - "integrity": "sha512-AzcY74QTPqcbXWVgjpPZ3HOmxQZYPROIBz2YINF0OQk0MhezDWV/O7Xec+K1+MPGQO3qS6EDrUUlnPLjsqieHA==", + "version": "3.775.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.775.0.tgz", + "integrity": "sha512-A6k68H9rQp+2+7P7SGO90Csw6nrUEm0Qfjpn9Etc4EboZhhCLs9b66umUsTsSBHus4FDIe5JQxfCUyt1wgNogg==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/core": "3.758.0", - "@aws-sdk/types": "3.734.0", - "@smithy/property-provider": "^4.0.1", - "@smithy/shared-ini-file-loader": "^4.0.1", - "@smithy/types": "^4.1.0", + "@aws-sdk/core": "3.775.0", + "@aws-sdk/types": "3.775.0", + "@smithy/property-provider": "^4.0.2", + "@smithy/shared-ini-file-loader": "^4.0.2", + "@smithy/types": "^4.2.0", "tslib": "^2.6.2" }, "engines": { @@ -585,19 +585,19 @@ } }, "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.772.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.772.0.tgz", - "integrity": "sha512-yR3Y5RAVPa4ogojcBOpZUx6XyRVAkynIJCjd0avdlxW1hhnzSr5/pzoiJ6u21UCbkxlJJTDZE3jfFe7tt+HA4w==", + "version": "3.775.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.775.0.tgz", + "integrity": "sha512-du06V7u9HDmRuwZnRjf85shO3dffeKOkQplV5/2vf3LgTPNEI9caNomi/cCGyxKGOeSUHAKrQ1HvpPfOaI6t5Q==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/client-sso": "3.772.0", - "@aws-sdk/core": "3.758.0", - "@aws-sdk/token-providers": "3.772.0", - "@aws-sdk/types": "3.734.0", - "@smithy/property-provider": "^4.0.1", - "@smithy/shared-ini-file-loader": "^4.0.1", - "@smithy/types": "^4.1.0", + "@aws-sdk/client-sso": "3.775.0", + "@aws-sdk/core": "3.775.0", + "@aws-sdk/token-providers": "3.775.0", + "@aws-sdk/types": "3.775.0", + "@smithy/property-provider": "^4.0.2", + "@smithy/shared-ini-file-loader": "^4.0.2", + "@smithy/types": "^4.2.0", "tslib": "^2.6.2" }, "engines": { @@ -605,17 +605,17 @@ } }, "node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.772.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.772.0.tgz", - "integrity": "sha512-yHAT5Y2y0fnecSuWRUn8NMunKfDqFYhnOpGq8UyCEcwz9aXzibU0hqRIEm51qpR81hqo0GMFDH0EOmegZ/iW5w==", + "version": "3.775.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.775.0.tgz", + "integrity": "sha512-z4XLYui5aHsr78mbd5BtZfm55OM5V55qK/X17OPrEqjYDDk3GlI8Oe2ZjTmOVrKwMpmzXKhsakeFHKfDyOvv1A==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/core": "3.758.0", - "@aws-sdk/nested-clients": "3.772.0", - "@aws-sdk/types": "3.734.0", - "@smithy/property-provider": "^4.0.1", - "@smithy/types": "^4.1.0", + "@aws-sdk/core": "3.775.0", + "@aws-sdk/nested-clients": "3.775.0", + "@aws-sdk/types": "3.775.0", + "@smithy/property-provider": "^4.0.2", + "@smithy/types": "^4.2.0", "tslib": "^2.6.2" }, "engines": { @@ -623,28 +623,28 @@ } }, "node_modules/@aws-sdk/credential-providers": { - "version": "3.772.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.772.0.tgz", - "integrity": "sha512-+gOrzw05jNVSHFBTZ+LOaGQZ0IXT95aQjNUeWqYXzdgjxKXptrhuMnFLwBBliLbHPp8ziauRnnwG8aK58LOUlg==", + "version": "3.775.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.775.0.tgz", + "integrity": "sha512-THvyeStdvd0z8Dv1lJ7KrMRiZkFfUktYQUvvFT45ph14jHC5oRoPColtLHz4JjuDN5QEQ5EGrbc6USADZu1k/w==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/client-cognito-identity": "3.772.0", - "@aws-sdk/core": "3.758.0", - "@aws-sdk/credential-provider-cognito-identity": "3.772.0", - "@aws-sdk/credential-provider-env": "3.758.0", - "@aws-sdk/credential-provider-http": "3.758.0", - "@aws-sdk/credential-provider-ini": "3.772.0", - "@aws-sdk/credential-provider-node": "3.772.0", - "@aws-sdk/credential-provider-process": "3.758.0", - "@aws-sdk/credential-provider-sso": "3.772.0", - "@aws-sdk/credential-provider-web-identity": "3.772.0", - "@aws-sdk/nested-clients": "3.772.0", - "@aws-sdk/types": "3.734.0", - "@smithy/core": "^3.1.5", - "@smithy/credential-provider-imds": "^4.0.1", - "@smithy/property-provider": "^4.0.1", - "@smithy/types": "^4.1.0", + "@aws-sdk/client-cognito-identity": "3.775.0", + "@aws-sdk/core": "3.775.0", + "@aws-sdk/credential-provider-cognito-identity": "3.775.0", + "@aws-sdk/credential-provider-env": "3.775.0", + "@aws-sdk/credential-provider-http": "3.775.0", + "@aws-sdk/credential-provider-ini": "3.775.0", + "@aws-sdk/credential-provider-node": "3.775.0", + "@aws-sdk/credential-provider-process": "3.775.0", + "@aws-sdk/credential-provider-sso": "3.775.0", + "@aws-sdk/credential-provider-web-identity": "3.775.0", + "@aws-sdk/nested-clients": "3.775.0", + "@aws-sdk/types": "3.775.0", + "@smithy/core": "^3.2.0", + "@smithy/credential-provider-imds": "^4.0.2", + "@smithy/property-provider": "^4.0.2", + "@smithy/types": "^4.2.0", "tslib": "^2.6.2" }, "engines": { @@ -652,15 +652,15 @@ } }, "node_modules/@aws-sdk/middleware-host-header": { - "version": "3.734.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.734.0.tgz", - "integrity": "sha512-LW7RRgSOHHBzWZnigNsDIzu3AiwtjeI2X66v+Wn1P1u+eXssy1+up4ZY/h+t2sU4LU36UvEf+jrZti9c6vRnFw==", + "version": "3.775.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.775.0.tgz", + "integrity": "sha512-tkSegM0Z6WMXpLB8oPys/d+umYIocvO298mGvcMCncpRl77L9XkvSLJIFzaHes+o7djAgIduYw8wKIMStFss2w==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/types": "3.734.0", - "@smithy/protocol-http": "^5.0.1", - "@smithy/types": "^4.1.0", + "@aws-sdk/types": "3.775.0", + "@smithy/protocol-http": "^5.1.0", + "@smithy/types": "^4.2.0", "tslib": "^2.6.2" }, "engines": { @@ -668,14 +668,14 @@ } }, "node_modules/@aws-sdk/middleware-logger": { - "version": "3.734.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.734.0.tgz", - "integrity": "sha512-mUMFITpJUW3LcKvFok176eI5zXAUomVtahb9IQBwLzkqFYOrMJvWAvoV4yuxrJ8TlQBG8gyEnkb9SnhZvjg67w==", + "version": "3.775.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.775.0.tgz", + "integrity": "sha512-FaxO1xom4MAoUJsldmR92nT1G6uZxTdNYOFYtdHfd6N2wcNaTuxgjIvqzg5y7QIH9kn58XX/dzf1iTjgqUStZw==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/types": "3.734.0", - "@smithy/types": "^4.1.0", + "@aws-sdk/types": "3.775.0", + "@smithy/types": "^4.2.0", "tslib": "^2.6.2" }, "engines": { @@ -683,15 +683,15 @@ } }, "node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.772.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.772.0.tgz", - "integrity": "sha512-zg0LjJa4v7fcLzn5QzZvtVS+qyvmsnu7oQnb86l6ckduZpWDCDC9+A0ZzcXTrxblPCJd3JqkoG1+Gzi4S4Ny/Q==", + "version": "3.775.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.775.0.tgz", + "integrity": "sha512-GLCzC8D0A0YDG5u3F5U03Vb9j5tcOEFhr8oc6PDk0k0vm5VwtZOE6LvK7hcCSoAB4HXyOUM0sQuXrbaAh9OwXA==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/types": "3.734.0", - "@smithy/protocol-http": "^5.0.1", - "@smithy/types": "^4.1.0", + "@aws-sdk/types": "3.775.0", + "@smithy/protocol-http": "^5.1.0", + "@smithy/types": "^4.2.0", "tslib": "^2.6.2" }, "engines": { @@ -699,18 +699,18 @@ } }, "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.758.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.758.0.tgz", - "integrity": "sha512-iNyehQXtQlj69JCgfaOssgZD4HeYGOwxcaKeG6F+40cwBjTAi0+Ph1yfDwqk2qiBPIRWJ/9l2LodZbxiBqgrwg==", + "version": "3.775.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.775.0.tgz", + "integrity": "sha512-7Lffpr1ptOEDE1ZYH1T78pheEY1YmeXWBfFt/amZ6AGsKSLG+JPXvof3ltporTGR2bhH/eJPo7UHCglIuXfzYg==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/core": "3.758.0", - "@aws-sdk/types": "3.734.0", - "@aws-sdk/util-endpoints": "3.743.0", - "@smithy/core": "^3.1.5", - "@smithy/protocol-http": "^5.0.1", - "@smithy/types": "^4.1.0", + "@aws-sdk/core": "3.775.0", + "@aws-sdk/types": "3.775.0", + "@aws-sdk/util-endpoints": "3.775.0", + "@smithy/core": "^3.2.0", + "@smithy/protocol-http": "^5.1.0", + "@smithy/types": "^4.2.0", "tslib": "^2.6.2" }, "engines": { @@ -718,48 +718,48 @@ } }, "node_modules/@aws-sdk/nested-clients": { - "version": "3.772.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/nested-clients/-/nested-clients-3.772.0.tgz", - "integrity": "sha512-gNJbBxR5YlEumsCS9EWWEASXEnysL0aDnr9MNPX1ip/g1xOqRHmytgV/+t8RFZFTKg0OprbWTq5Ich3MqsEuCQ==", + "version": "3.775.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/nested-clients/-/nested-clients-3.775.0.tgz", + "integrity": "sha512-f37jmAzkuIhKyhtA6s0LGpqQvm218vq+RNMUDkGm1Zz2fxJ5pBIUTDtygiI3vXTcmt9DTIB8S6JQhjrgtboktw==", "license": "Apache-2.0", "optional": true, "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "3.758.0", - "@aws-sdk/middleware-host-header": "3.734.0", - "@aws-sdk/middleware-logger": "3.734.0", - "@aws-sdk/middleware-recursion-detection": "3.772.0", - "@aws-sdk/middleware-user-agent": "3.758.0", - "@aws-sdk/region-config-resolver": "3.734.0", - "@aws-sdk/types": "3.734.0", - "@aws-sdk/util-endpoints": "3.743.0", - "@aws-sdk/util-user-agent-browser": "3.734.0", - "@aws-sdk/util-user-agent-node": "3.758.0", - "@smithy/config-resolver": "^4.0.1", - "@smithy/core": "^3.1.5", - "@smithy/fetch-http-handler": "^5.0.1", - "@smithy/hash-node": "^4.0.1", - "@smithy/invalid-dependency": "^4.0.1", - "@smithy/middleware-content-length": "^4.0.1", - "@smithy/middleware-endpoint": "^4.0.6", - "@smithy/middleware-retry": "^4.0.7", - "@smithy/middleware-serde": "^4.0.2", - "@smithy/middleware-stack": "^4.0.1", - "@smithy/node-config-provider": "^4.0.1", - "@smithy/node-http-handler": "^4.0.3", - "@smithy/protocol-http": "^5.0.1", - "@smithy/smithy-client": "^4.1.6", - "@smithy/types": "^4.1.0", - "@smithy/url-parser": "^4.0.1", + "@aws-sdk/core": "3.775.0", + "@aws-sdk/middleware-host-header": "3.775.0", + "@aws-sdk/middleware-logger": "3.775.0", + "@aws-sdk/middleware-recursion-detection": "3.775.0", + "@aws-sdk/middleware-user-agent": "3.775.0", + "@aws-sdk/region-config-resolver": "3.775.0", + "@aws-sdk/types": "3.775.0", + "@aws-sdk/util-endpoints": "3.775.0", + "@aws-sdk/util-user-agent-browser": "3.775.0", + "@aws-sdk/util-user-agent-node": "3.775.0", + "@smithy/config-resolver": "^4.1.0", + "@smithy/core": "^3.2.0", + "@smithy/fetch-http-handler": "^5.0.2", + "@smithy/hash-node": "^4.0.2", + "@smithy/invalid-dependency": "^4.0.2", + "@smithy/middleware-content-length": "^4.0.2", + "@smithy/middleware-endpoint": "^4.1.0", + "@smithy/middleware-retry": "^4.1.0", + "@smithy/middleware-serde": "^4.0.3", + "@smithy/middleware-stack": "^4.0.2", + "@smithy/node-config-provider": "^4.0.2", + "@smithy/node-http-handler": "^4.0.4", + "@smithy/protocol-http": "^5.1.0", + "@smithy/smithy-client": "^4.2.0", + "@smithy/types": "^4.2.0", + "@smithy/url-parser": "^4.0.2", "@smithy/util-base64": "^4.0.0", "@smithy/util-body-length-browser": "^4.0.0", "@smithy/util-body-length-node": "^4.0.0", - "@smithy/util-defaults-mode-browser": "^4.0.7", - "@smithy/util-defaults-mode-node": "^4.0.7", - "@smithy/util-endpoints": "^3.0.1", - "@smithy/util-middleware": "^4.0.1", - "@smithy/util-retry": "^4.0.1", + "@smithy/util-defaults-mode-browser": "^4.0.8", + "@smithy/util-defaults-mode-node": "^4.0.8", + "@smithy/util-endpoints": "^3.0.2", + "@smithy/util-middleware": "^4.0.2", + "@smithy/util-retry": "^4.0.2", "@smithy/util-utf8": "^4.0.0", "tslib": "^2.6.2" }, @@ -768,17 +768,17 @@ } }, "node_modules/@aws-sdk/region-config-resolver": { - "version": "3.734.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.734.0.tgz", - "integrity": "sha512-Lvj1kPRC5IuJBr9DyJ9T9/plkh+EfKLy+12s/mykOy1JaKHDpvj+XGy2YO6YgYVOb8JFtaqloid+5COtje4JTQ==", + "version": "3.775.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.775.0.tgz", + "integrity": "sha512-40iH3LJjrQS3LKUJAl7Wj0bln7RFPEvUYKFxtP8a+oKFDO0F65F52xZxIJbPn6sHkxWDAnZlGgdjZXM3p2g5wQ==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/types": "3.734.0", - "@smithy/node-config-provider": "^4.0.1", - "@smithy/types": "^4.1.0", + "@aws-sdk/types": "3.775.0", + "@smithy/node-config-provider": "^4.0.2", + "@smithy/types": "^4.2.0", "@smithy/util-config-provider": "^4.0.0", - "@smithy/util-middleware": "^4.0.1", + "@smithy/util-middleware": "^4.0.2", "tslib": "^2.6.2" }, "engines": { @@ -786,17 +786,17 @@ } }, "node_modules/@aws-sdk/token-providers": { - "version": "3.772.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.772.0.tgz", - "integrity": "sha512-d1Waa1vyebuokcAWYlkZdtFlciIgob7B39vPRmtxMObbGumJKiOy/qCe2/FB/72h1Ej9Ih32lwvbxUjORQWN4g==", + "version": "3.775.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.775.0.tgz", + "integrity": "sha512-Q6MtbEhkOggVSz/dN89rIY/ry80U3v89o0Lrrc+Rpvaiaaz8pEN0DsfEcg0IjpzBQ8Owoa6lNWyglHbzPhaJpA==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/nested-clients": "3.772.0", - "@aws-sdk/types": "3.734.0", - "@smithy/property-provider": "^4.0.1", - "@smithy/shared-ini-file-loader": "^4.0.1", - "@smithy/types": "^4.1.0", + "@aws-sdk/nested-clients": "3.775.0", + "@aws-sdk/types": "3.775.0", + "@smithy/property-provider": "^4.0.2", + "@smithy/shared-ini-file-loader": "^4.0.2", + "@smithy/types": "^4.2.0", "tslib": "^2.6.2" }, "engines": { @@ -804,13 +804,13 @@ } }, "node_modules/@aws-sdk/types": { - "version": "3.734.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.734.0.tgz", - "integrity": "sha512-o11tSPTT70nAkGV1fN9wm/hAIiLPyWX6SuGf+9JyTp7S/rC2cFWhR26MvA69nplcjNaXVzB0f+QFrLXXjOqCrg==", + "version": "3.775.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.775.0.tgz", + "integrity": "sha512-ZoGKwa4C9fC9Av6bdfqcW6Ix5ot05F/S4VxWR2nHuMv7hzfmAjTOcUiWT7UR4hM/U0whf84VhDtXN/DWAk52KA==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/types": "^4.1.0", + "@smithy/types": "^4.2.0", "tslib": "^2.6.2" }, "engines": { @@ -818,15 +818,15 @@ } }, "node_modules/@aws-sdk/util-endpoints": { - "version": "3.743.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.743.0.tgz", - "integrity": "sha512-sN1l559zrixeh5x+pttrnd0A3+r34r0tmPkJ/eaaMaAzXqsmKU/xYre9K3FNnsSS1J1k4PEfk/nHDTVUgFYjnw==", + "version": "3.775.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.775.0.tgz", + "integrity": "sha512-yjWmUgZC9tUxAo8Uaplqmq0eUh0zrbZJdwxGRKdYxfm4RG6fMw1tj52+KkatH7o+mNZvg1GDcVp/INktxonJLw==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/types": "3.734.0", - "@smithy/types": "^4.1.0", - "@smithy/util-endpoints": "^3.0.1", + "@aws-sdk/types": "3.775.0", + "@smithy/types": "^4.2.0", + "@smithy/util-endpoints": "^3.0.2", "tslib": "^2.6.2" }, "engines": { @@ -847,29 +847,29 @@ } }, "node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.734.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.734.0.tgz", - "integrity": "sha512-xQTCus6Q9LwUuALW+S76OL0jcWtMOVu14q+GoLnWPUM7QeUw963oQcLhF7oq0CtaLLKyl4GOUfcwc773Zmwwng==", + "version": "3.775.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.775.0.tgz", + "integrity": "sha512-txw2wkiJmZKVdDbscK7VBK+u+TJnRtlUjRTLei+elZg2ADhpQxfVAQl436FUeIv6AhB/oRHW6/K/EAGXUSWi0A==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/types": "3.734.0", - "@smithy/types": "^4.1.0", + "@aws-sdk/types": "3.775.0", + "@smithy/types": "^4.2.0", "bowser": "^2.11.0", "tslib": "^2.6.2" } }, "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.758.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.758.0.tgz", - "integrity": "sha512-A5EZw85V6WhoKMV2hbuFRvb9NPlxEErb4HPO6/SPXYY4QrjprIzScHxikqcWv1w4J3apB1wto9LPU3IMsYtfrw==", + "version": "3.775.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.775.0.tgz", + "integrity": "sha512-N9yhTevbizTOMo3drH7Eoy6OkJ3iVPxhV7dwb6CMAObbLneS36CSfA6xQXupmHWcRvZPTz8rd1JGG3HzFOau+g==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/middleware-user-agent": "3.758.0", - "@aws-sdk/types": "3.734.0", - "@smithy/node-config-provider": "^4.0.1", - "@smithy/types": "^4.1.0", + "@aws-sdk/middleware-user-agent": "3.775.0", + "@aws-sdk/types": "3.775.0", + "@smithy/node-config-provider": "^4.0.2", + "@smithy/types": "^4.2.0", "tslib": "^2.6.2" }, "engines": { @@ -1159,33 +1159,33 @@ } }, "node_modules/@azure/msal-browser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-4.8.0.tgz", - "integrity": "sha512-z7kJlMW3IAETyq82LDKJqr++IeOvU728q9lkuTFjEIPUWxnB1OlmuPCF32fYurxOnOnJeFEZxjbEzq8xyP0aag==", + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-4.9.1.tgz", + "integrity": "sha512-GTKj/2xvgD918xULWRwoJ3kiCCZNzeopxa/nDfMC4o6KzrnuWbT3K1AtIFUxok9yC6VrUOgIZXMygky06xDA1g==", "license": "MIT", "dependencies": { - "@azure/msal-common": "15.3.0" + "@azure/msal-common": "15.4.0" }, "engines": { "node": ">=0.8.0" } }, "node_modules/@azure/msal-common": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-15.3.0.tgz", - "integrity": "sha512-lh+eZfibGwtQxFnx+mj6cYWn0pwA8tDnn8CBs9P21nC7Uw5YWRwfXaXdVQSMENZ5ojRqR+NzRaucEo4qUvs3pA==", + "version": "15.4.0", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-15.4.0.tgz", + "integrity": "sha512-reeIUDXt6Xc+FpCBDEbUFQWvJ6SjE0JwsGYIfa3ZCR6Tpzjc9J1v+/InQgfCeJzfTRd7PDJVxI6TSzOmOd7+Ag==", "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/@azure/msal-node": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-3.4.0.tgz", - "integrity": "sha512-b4wBaPV68i+g61wFOfl5zh1lQ9UylgCQpI2638pJHV0SINneO78hOFdnX8WCoGw5OOc4Eewth9pYOg7gaiyUYw==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-3.4.1.tgz", + "integrity": "sha512-VlW6ygnKBIqUKIHnA/ubQ+F3rZ8aW3K6VA1bpZ90Ln0vlE4XaA6yGB/FibPJxet7gWinAG1oSpQqPN/PL9AqIw==", "license": "MIT", "dependencies": { - "@azure/msal-common": "15.3.0", + "@azure/msal-common": "15.4.0", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" }, @@ -1267,14 +1267,14 @@ } }, "node_modules/@babel/generator": { - "version": "7.26.10", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.10.tgz", - "integrity": "sha512-rRHT8siFIXQrAYOYqZQVsAr8vJ+cBNqcVAY6m5V8/4QqzaPl+zDBe6cLEPRDuNOUf3ww8RfJVlOyQMoSI+5Ang==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.0.tgz", + "integrity": "sha512-VybsKvpiN1gU1sdMZIp7FcqphVVKEwcuj02x73uvcHE0PTihx1nlBcowYWhDwjpoAXRv43+gDzyggGnn1XZhVw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/parser": "^7.26.10", - "@babel/types": "^7.26.10", + "@babel/parser": "^7.27.0", + "@babel/types": "^7.27.0", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^3.0.2" @@ -1297,13 +1297,13 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz", - "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.0.tgz", + "integrity": "sha512-LVk7fbXml0H2xH34dFzKQ7TDZ2G4/rVTOrq9V+icbbadjbVxxeFeDsNHv2SrZeWoA+6ZiTyWYWtScEIW07EAcA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.26.5", + "@babel/compat-data": "^7.26.8", "@babel/helper-validator-option": "^7.25.9", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", @@ -1341,9 +1341,9 @@ "license": "ISC" }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.26.9.tgz", - "integrity": "sha512-ubbUqCofvxPRurw5L8WTsCLSkQiVpov4Qx0WMA+jUN+nXBK8ADPlJO1grkFw5CWKC5+sZSOfuGMdX1aI1iT9Sg==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.27.0.tgz", + "integrity": "sha512-vSGCvMecvFCd/BdpGlhpXYNhhC4ccxyvQWpbGL4CWbvfEoLFWUZuSuf7s9Aw70flgQF+6vptvgK2IfOnKlRmBg==", "dev": true, "license": "MIT", "dependencies": { @@ -1352,7 +1352,7 @@ "@babel/helper-optimise-call-expression": "^7.25.9", "@babel/helper-replace-supers": "^7.26.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", - "@babel/traverse": "^7.26.9", + "@babel/traverse": "^7.27.0", "semver": "^6.3.1" }, "engines": { @@ -1504,27 +1504,27 @@ } }, "node_modules/@babel/helpers": { - "version": "7.26.10", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.10.tgz", - "integrity": "sha512-UPYc3SauzZ3JGgj87GgZ89JVdC5dj0AoetR5Bw6wj4niittNyFh6+eOGonYvJ1ao6B8lEa3Q3klS7ADZ53bc5g==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.0.tgz", + "integrity": "sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.26.9", - "@babel/types": "^7.26.10" + "@babel/template": "^7.27.0", + "@babel/types": "^7.27.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.26.10", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.10.tgz", - "integrity": "sha512-6aQR2zGE/QFi8JpDLjUZEPYOs7+mhKXm86VaKFiLP35JQwQb6bwUE+XbvkH0EptsYhbNBSUGaUBLKqxH1xSgsA==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.0.tgz", + "integrity": "sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.26.10" + "@babel/types": "^7.27.0" }, "bin": { "parser": "bin/babel-parser.js" @@ -1629,14 +1629,14 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.26.8.tgz", - "integrity": "sha512-bME5J9AC8ChwA7aEPJ6zym3w7aObZULHhbNLU0bKUhKsAkylkzUdq+0kdymh9rzi8nlNFl2bmldFBCKNJBUpuw==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.27.0.tgz", + "integrity": "sha512-fRGGjO2UEGPjvEcyAZXRXAS8AfdaQoq7HnxAbJoAoW10B9xOKesmmndJv+Sym2a+9FHWZ9KbyyLCe9s0Sn5jtg==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.25.9", - "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-create-class-features-plugin": "^7.27.0", "@babel/helper-plugin-utils": "^7.26.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", "@babel/plugin-syntax-typescript": "^7.25.9" @@ -1649,9 +1649,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.26.10", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.10.tgz", - "integrity": "sha512-2WJMeRQPHKSPemqk/awGrAiuFfzBmOIPXKizAsVhWH9YJqLZ0H+HS4c8loHGgW6utJ3E/ejXQUsiGaQy2NZ9Fw==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.0.tgz", + "integrity": "sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==", "dev": true, "license": "MIT", "dependencies": { @@ -1662,32 +1662,32 @@ } }, "node_modules/@babel/template": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.26.9.tgz", - "integrity": "sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.0.tgz", + "integrity": "sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA==", "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.26.2", - "@babel/parser": "^7.26.9", - "@babel/types": "^7.26.9" + "@babel/parser": "^7.27.0", + "@babel/types": "^7.27.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.26.10", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.10.tgz", - "integrity": "sha512-k8NuDrxr0WrPH5Aupqb2LCVURP/S0vBEn5mK6iH+GIYob66U5EtoZvcdudR2jQ4cmTwhEwW1DLB+Yyas9zjF6A==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.0.tgz", + "integrity": "sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA==", "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.10", - "@babel/parser": "^7.26.10", - "@babel/template": "^7.26.9", - "@babel/types": "^7.26.10", + "@babel/generator": "^7.27.0", + "@babel/parser": "^7.27.0", + "@babel/template": "^7.27.0", + "@babel/types": "^7.27.0", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -1706,9 +1706,9 @@ } }, "node_modules/@babel/types": { - "version": "7.26.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.10.tgz", - "integrity": "sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz", + "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==", "dev": true, "license": "MIT", "dependencies": { @@ -2689,6 +2689,17 @@ "integrity": "sha512-ChdLDTYMEoYoiKZMT90wZMEdGvZ2/QZMnhvjvEqeO5oLoxUfSiLzfe6Lhf3g88+MhZ+utbAu7PAxX1sZkLo5pA==", "license": "BSD-3-Clause" }, + "node_modules/@js-sdsl/ordered-map": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@js-sdsl/ordered-map/-/ordered-map-4.4.2.tgz", + "integrity": "sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/js-sdsl" + } + }, "node_modules/@kurkle/color": { "version": "0.3.4", "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.4.tgz", @@ -3273,9 +3284,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.36.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.36.0.tgz", - "integrity": "sha512-jgrXjjcEwN6XpZXL0HUeOVGfjXhPyxAbbhD0BlXUB+abTOpbPiN5Wb3kOT7yb+uEtATNYF5x5gIfwutmuBA26w==", + "version": "4.37.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.37.0.tgz", + "integrity": "sha512-l7StVw6WAa8l3vA1ov80jyetOAEo1FtHvZDbzXDO/02Sq/QVvqlHkYoFwDJPIMj0GKiistsBudfx5tGFnwYWDQ==", "cpu": [ "arm" ], @@ -3287,9 +3298,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.36.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.36.0.tgz", - "integrity": "sha512-NyfuLvdPdNUfUNeYKUwPwKsE5SXa2J6bCt2LdB/N+AxShnkpiczi3tcLJrm5mA+eqpy0HmaIY9F6XCa32N5yzg==", + "version": "4.37.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.37.0.tgz", + "integrity": "sha512-6U3SlVyMxezt8Y+/iEBcbp945uZjJwjZimu76xoG7tO1av9VO691z8PkhzQ85ith2I8R2RddEPeSfcbyPfD4hA==", "cpu": [ "arm64" ], @@ -3301,9 +3312,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.36.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.36.0.tgz", - "integrity": "sha512-JQ1Jk5G4bGrD4pWJQzWsD8I1n1mgPXq33+/vP4sk8j/z/C2siRuxZtaUA7yMTf71TCZTZl/4e1bfzwUmFb3+rw==", + "version": "4.37.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.37.0.tgz", + "integrity": "sha512-+iTQ5YHuGmPt10NTzEyMPbayiNTcOZDWsbxZYR1ZnmLnZxG17ivrPSWFO9j6GalY0+gV3Jtwrrs12DBscxnlYA==", "cpu": [ "arm64" ], @@ -3315,9 +3326,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.36.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.36.0.tgz", - "integrity": "sha512-6c6wMZa1lrtiRsbDziCmjE53YbTkxMYhhnWnSW8R/yqsM7a6mSJ3uAVT0t8Y/DGt7gxUWYuFM4bwWk9XCJrFKA==", + "version": "4.37.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.37.0.tgz", + "integrity": "sha512-m8W2UbxLDcmRKVjgl5J/k4B8d7qX2EcJve3Sut7YGrQoPtCIQGPH5AMzuFvYRWZi0FVS0zEY4c8uttPfX6bwYQ==", "cpu": [ "x64" ], @@ -3329,9 +3340,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.36.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.36.0.tgz", - "integrity": "sha512-KXVsijKeJXOl8QzXTsA+sHVDsFOmMCdBRgFmBb+mfEb/7geR7+C8ypAml4fquUt14ZyVXaw2o1FWhqAfOvA4sg==", + "version": "4.37.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.37.0.tgz", + "integrity": "sha512-FOMXGmH15OmtQWEt174v9P1JqqhlgYge/bUjIbiVD1nI1NeJ30HYT9SJlZMqdo1uQFyt9cz748F1BHghWaDnVA==", "cpu": [ "arm64" ], @@ -3343,9 +3354,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.36.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.36.0.tgz", - "integrity": "sha512-dVeWq1ebbvByI+ndz4IJcD4a09RJgRYmLccwlQ8bPd4olz3Y213uf1iwvc7ZaxNn2ab7bjc08PrtBgMu6nb4pQ==", + "version": "4.37.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.37.0.tgz", + "integrity": "sha512-SZMxNttjPKvV14Hjck5t70xS3l63sbVwl98g3FlVVx2YIDmfUIy29jQrsw06ewEYQ8lQSuY9mpAPlmgRD2iSsA==", "cpu": [ "x64" ], @@ -3357,9 +3368,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.36.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.36.0.tgz", - "integrity": "sha512-bvXVU42mOVcF4le6XSjscdXjqx8okv4n5vmwgzcmtvFdifQ5U4dXFYaCB87namDRKlUL9ybVtLQ9ztnawaSzvg==", + "version": "4.37.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.37.0.tgz", + "integrity": "sha512-hhAALKJPidCwZcj+g+iN+38SIOkhK2a9bqtJR+EtyxrKKSt1ynCBeqrQy31z0oWU6thRZzdx53hVgEbRkuI19w==", "cpu": [ "arm" ], @@ -3371,9 +3382,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.36.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.36.0.tgz", - "integrity": "sha512-JFIQrDJYrxOnyDQGYkqnNBtjDwTgbasdbUiQvcU8JmGDfValfH1lNpng+4FWlhaVIR4KPkeddYjsVVbmJYvDcg==", + "version": "4.37.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.37.0.tgz", + "integrity": "sha512-jUb/kmn/Gd8epbHKEqkRAxq5c2EwRt0DqhSGWjPFxLeFvldFdHQs/n8lQ9x85oAeVb6bHcS8irhTJX2FCOd8Ag==", "cpu": [ "arm" ], @@ -3385,9 +3396,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.36.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.36.0.tgz", - "integrity": "sha512-KqjYVh3oM1bj//5X7k79PSCZ6CvaVzb7Qs7VMWS+SlWB5M8p3FqufLP9VNp4CazJ0CsPDLwVD9r3vX7Ci4J56A==", + "version": "4.37.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.37.0.tgz", + "integrity": "sha512-oNrJxcQT9IcbcmKlkF+Yz2tmOxZgG9D9GRq+1OE6XCQwCVwxixYAa38Z8qqPzQvzt1FCfmrHX03E0pWoXm1DqA==", "cpu": [ "arm64" ], @@ -3399,9 +3410,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.36.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.36.0.tgz", - "integrity": "sha512-QiGnhScND+mAAtfHqeT+cB1S9yFnNQ/EwCg5yE3MzoaZZnIV0RV9O5alJAoJKX/sBONVKeZdMfO8QSaWEygMhw==", + "version": "4.37.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.37.0.tgz", + "integrity": "sha512-pfxLBMls+28Ey2enpX3JvjEjaJMBX5XlPCZNGxj4kdJyHduPBXtxYeb8alo0a7bqOoWZW2uKynhHxF/MWoHaGQ==", "cpu": [ "arm64" ], @@ -3413,9 +3424,9 @@ ] }, "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.36.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.36.0.tgz", - "integrity": "sha512-1ZPyEDWF8phd4FQtTzMh8FQwqzvIjLsl6/84gzUxnMNFBtExBtpL51H67mV9xipuxl1AEAerRBgBwFNpkw8+Lg==", + "version": "4.37.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.37.0.tgz", + "integrity": "sha512-yCE0NnutTC/7IGUq/PUHmoeZbIwq3KRh02e9SfFh7Vmc1Z7atuJRYWhRME5fKgT8aS20mwi1RyChA23qSyRGpA==", "cpu": [ "loong64" ], @@ -3427,9 +3438,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.36.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.36.0.tgz", - "integrity": "sha512-VMPMEIUpPFKpPI9GZMhJrtu8rxnp6mJR3ZzQPykq4xc2GmdHj3Q4cA+7avMyegXy4n1v+Qynr9fR88BmyO74tg==", + "version": "4.37.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.37.0.tgz", + "integrity": "sha512-NxcICptHk06E2Lh3a4Pu+2PEdZ6ahNHuK7o6Np9zcWkrBMuv21j10SQDJW3C9Yf/A/P7cutWoC/DptNLVsZ0VQ==", "cpu": [ "ppc64" ], @@ -3441,9 +3452,23 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.36.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.36.0.tgz", - "integrity": "sha512-ttE6ayb/kHwNRJGYLpuAvB7SMtOeQnVXEIpMtAvx3kepFQeowVED0n1K9nAdraHUPJ5hydEMxBpIR7o4nrm8uA==", + "version": "4.37.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.37.0.tgz", + "integrity": "sha512-PpWwHMPCVpFZLTfLq7EWJWvrmEuLdGn1GMYcm5MV7PaRgwCEYJAwiN94uBuZev0/J/hFIIJCsYw4nLmXA9J7Pw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.37.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.37.0.tgz", + "integrity": "sha512-DTNwl6a3CfhGTAOYZ4KtYbdS8b+275LSLqJVJIrPa5/JuIufWWZ/QFvkxp52gpmguN95eujrM68ZG+zVxa8zHA==", "cpu": [ "riscv64" ], @@ -3455,9 +3480,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.36.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.36.0.tgz", - "integrity": "sha512-4a5gf2jpS0AIe7uBjxDeUMNcFmaRTbNv7NxI5xOCs4lhzsVyGR/0qBXduPnoWf6dGC365saTiwag8hP1imTgag==", + "version": "4.37.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.37.0.tgz", + "integrity": "sha512-hZDDU5fgWvDdHFuExN1gBOhCuzo/8TMpidfOR+1cPZJflcEzXdCy1LjnklQdW8/Et9sryOPJAKAQRw8Jq7Tg+A==", "cpu": [ "s390x" ], @@ -3469,9 +3494,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.36.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.36.0.tgz", - "integrity": "sha512-5KtoW8UWmwFKQ96aQL3LlRXX16IMwyzMq/jSSVIIyAANiE1doaQsx/KRyhAvpHlPjPiSU/AYX/8m+lQ9VToxFQ==", + "version": "4.37.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.37.0.tgz", + "integrity": "sha512-pKivGpgJM5g8dwj0ywBwe/HeVAUSuVVJhUTa/URXjxvoyTT/AxsLTAbkHkDHG7qQxLoW2s3apEIl26uUe08LVQ==", "cpu": [ "x64" ], @@ -3483,9 +3508,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.36.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.36.0.tgz", - "integrity": "sha512-sycrYZPrv2ag4OCvaN5js+f01eoZ2U+RmT5as8vhxiFz+kxwlHrsxOwKPSA8WyS+Wc6Epid9QeI/IkQ9NkgYyQ==", + "version": "4.37.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.37.0.tgz", + "integrity": "sha512-E2lPrLKE8sQbY/2bEkVTGDEk4/49UYRVWgj90MY8yPjpnGBQ+Xi1Qnr7b7UIWw1NOggdFQFOLZ8+5CzCiz143w==", "cpu": [ "x64" ], @@ -3497,9 +3522,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.36.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.36.0.tgz", - "integrity": "sha512-qbqt4N7tokFwwSVlWDsjfoHgviS3n/vZ8LK0h1uLG9TYIRuUTJC88E1xb3LM2iqZ/WTqNQjYrtmtGmrmmawB6A==", + "version": "4.37.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.37.0.tgz", + "integrity": "sha512-Jm7biMazjNzTU4PrQtr7VS8ibeys9Pn29/1bm4ph7CP2kf21950LgN+BaE2mJ1QujnvOc6p54eWWiVvn05SOBg==", "cpu": [ "arm64" ], @@ -3511,9 +3536,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.36.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.36.0.tgz", - "integrity": "sha512-t+RY0JuRamIocMuQcfwYSOkmdX9dtkr1PbhKW42AMvaDQa+jOdpUYysroTF/nuPpAaQMWp7ye+ndlmmthieJrQ==", + "version": "4.37.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.37.0.tgz", + "integrity": "sha512-e3/1SFm1OjefWICB2Ucstg2dxYDkDTZGDYgwufcbsxTHyqQps1UQf33dFEChBNmeSsTOyrjw2JJq0zbG5GF6RA==", "cpu": [ "ia32" ], @@ -3525,9 +3550,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.36.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.36.0.tgz", - "integrity": "sha512-aRXd7tRZkWLqGbChgcMMDEHjOKudo1kChb1Jt1IfR8cY/KIpgNviLeJy5FUb9IpSuQj8dU2fAYNMPW/hLKOSTw==", + "version": "4.37.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.37.0.tgz", + "integrity": "sha512-LWbXUBwn/bcLx2sSsqy7pK5o+Nr+VCoRoAohfJ5C/aBio9nfJmGQqHAhU6pwxV/RmyTk5AqdySma7uwWGlmeuA==", "cpu": [ "x64" ], @@ -3646,13 +3671,13 @@ } }, "node_modules/@smithy/abort-controller": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-4.0.1.tgz", - "integrity": "sha512-fiUIYgIgRjMWznk6iLJz35K2YxSLHzLBA/RC6lBrKfQ8fHbPfvk7Pk9UvpKoHgJjI18MnbPuEju53zcVy6KF1g==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-4.0.2.tgz", + "integrity": "sha512-Sl/78VDtgqKxN2+1qduaVE140XF+Xg+TafkncspwM4jFP/LHr76ZHmIY/y3V1M0mMLNk+Je6IGbzxy23RSToMw==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/types": "^4.1.0", + "@smithy/types": "^4.2.0", "tslib": "^2.6.2" }, "engines": { @@ -3660,16 +3685,16 @@ } }, "node_modules/@smithy/config-resolver": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-4.0.1.tgz", - "integrity": "sha512-Igfg8lKu3dRVkTSEm98QpZUvKEOa71jDX4vKRcvJVyRc3UgN3j7vFMf0s7xLQhYmKa8kyJGQgUJDOV5V3neVlQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-4.1.0.tgz", + "integrity": "sha512-8smPlwhga22pwl23fM5ew4T9vfLUCeFXlcqNOCD5M5h8VmNPNUE9j6bQSuRXpDSV11L/E/SwEBQuW8hr6+nS1A==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/node-config-provider": "^4.0.1", - "@smithy/types": "^4.1.0", + "@smithy/node-config-provider": "^4.0.2", + "@smithy/types": "^4.2.0", "@smithy/util-config-provider": "^4.0.0", - "@smithy/util-middleware": "^4.0.1", + "@smithy/util-middleware": "^4.0.2", "tslib": "^2.6.2" }, "engines": { @@ -3677,18 +3702,18 @@ } }, "node_modules/@smithy/core": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/@smithy/core/-/core-3.1.5.tgz", - "integrity": "sha512-HLclGWPkCsekQgsyzxLhCQLa8THWXtB5PxyYN+2O6nkyLt550KQKTlbV2D1/j5dNIQapAZM1+qFnpBFxZQkgCA==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-3.2.0.tgz", + "integrity": "sha512-k17bgQhVZ7YmUvA8at4af1TDpl0NDMBuBKJl8Yg0nrefwmValU+CnA5l/AriVdQNthU/33H3nK71HrLgqOPr1Q==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/middleware-serde": "^4.0.2", - "@smithy/protocol-http": "^5.0.1", - "@smithy/types": "^4.1.0", + "@smithy/middleware-serde": "^4.0.3", + "@smithy/protocol-http": "^5.1.0", + "@smithy/types": "^4.2.0", "@smithy/util-body-length-browser": "^4.0.0", - "@smithy/util-middleware": "^4.0.1", - "@smithy/util-stream": "^4.1.2", + "@smithy/util-middleware": "^4.0.2", + "@smithy/util-stream": "^4.2.0", "@smithy/util-utf8": "^4.0.0", "tslib": "^2.6.2" }, @@ -3697,16 +3722,16 @@ } }, "node_modules/@smithy/credential-provider-imds": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-4.0.1.tgz", - "integrity": "sha512-l/qdInaDq1Zpznpmev/+52QomsJNZ3JkTl5yrTl02V6NBgJOQ4LY0SFw/8zsMwj3tLe8vqiIuwF6nxaEwgf6mg==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-4.0.2.tgz", + "integrity": "sha512-32lVig6jCaWBHnY+OEQ6e6Vnt5vDHaLiydGrwYMW9tPqO688hPGTYRamYJ1EptxEC2rAwJrHWmPoKRBl4iTa8w==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/node-config-provider": "^4.0.1", - "@smithy/property-provider": "^4.0.1", - "@smithy/types": "^4.1.0", - "@smithy/url-parser": "^4.0.1", + "@smithy/node-config-provider": "^4.0.2", + "@smithy/property-provider": "^4.0.2", + "@smithy/types": "^4.2.0", + "@smithy/url-parser": "^4.0.2", "tslib": "^2.6.2" }, "engines": { @@ -3714,15 +3739,15 @@ } }, "node_modules/@smithy/fetch-http-handler": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-5.0.1.tgz", - "integrity": "sha512-3aS+fP28urrMW2KTjb6z9iFow6jO8n3MFfineGbndvzGZit3taZhKWtTorf+Gp5RpFDDafeHlhfsGlDCXvUnJA==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-5.0.2.tgz", + "integrity": "sha512-+9Dz8sakS9pe7f2cBocpJXdeVjMopUDLgZs1yWeu7h++WqSbjUYv/JAJwKwXw1HV6gq1jyWjxuyn24E2GhoEcQ==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/protocol-http": "^5.0.1", - "@smithy/querystring-builder": "^4.0.1", - "@smithy/types": "^4.1.0", + "@smithy/protocol-http": "^5.1.0", + "@smithy/querystring-builder": "^4.0.2", + "@smithy/types": "^4.2.0", "@smithy/util-base64": "^4.0.0", "tslib": "^2.6.2" }, @@ -3731,13 +3756,13 @@ } }, "node_modules/@smithy/hash-node": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-4.0.1.tgz", - "integrity": "sha512-TJ6oZS+3r2Xu4emVse1YPB3Dq3d8RkZDKcPr71Nj/lJsdAP1c7oFzYqEn1IBc915TsgLl2xIJNuxCz+gLbLE0w==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-4.0.2.tgz", + "integrity": "sha512-VnTpYPnRUE7yVhWozFdlxcYknv9UN7CeOqSrMH+V877v4oqtVYuoqhIhtSjmGPvYrYnAkaM61sLMKHvxL138yg==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/types": "^4.1.0", + "@smithy/types": "^4.2.0", "@smithy/util-buffer-from": "^4.0.0", "@smithy/util-utf8": "^4.0.0", "tslib": "^2.6.2" @@ -3747,13 +3772,13 @@ } }, "node_modules/@smithy/invalid-dependency": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-4.0.1.tgz", - "integrity": "sha512-gdudFPf4QRQ5pzj7HEnu6FhKRi61BfH/Gk5Yf6O0KiSbr1LlVhgjThcvjdu658VE6Nve8vaIWB8/fodmS1rBPQ==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-4.0.2.tgz", + "integrity": "sha512-GatB4+2DTpgWPday+mnUkoumP54u/MDM/5u44KF9hIu8jF0uafZtQLcdfIKkIcUNuF/fBojpLEHZS/56JqPeXQ==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/types": "^4.1.0", + "@smithy/types": "^4.2.0", "tslib": "^2.6.2" }, "engines": { @@ -3774,14 +3799,14 @@ } }, "node_modules/@smithy/middleware-content-length": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-4.0.1.tgz", - "integrity": "sha512-OGXo7w5EkB5pPiac7KNzVtfCW2vKBTZNuCctn++TTSOMpe6RZO/n6WEC1AxJINn3+vWLKW49uad3lo/u0WJ9oQ==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-4.0.2.tgz", + "integrity": "sha512-hAfEXm1zU+ELvucxqQ7I8SszwQ4znWMbNv6PLMndN83JJN41EPuS93AIyh2N+gJ6x8QFhzSO6b7q2e6oClDI8A==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/protocol-http": "^5.0.1", - "@smithy/types": "^4.1.0", + "@smithy/protocol-http": "^5.1.0", + "@smithy/types": "^4.2.0", "tslib": "^2.6.2" }, "engines": { @@ -3789,19 +3814,19 @@ } }, "node_modules/@smithy/middleware-endpoint": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-4.0.6.tgz", - "integrity": "sha512-ftpmkTHIFqgaFugcjzLZv3kzPEFsBFSnq1JsIkr2mwFzCraZVhQk2gqN51OOeRxqhbPTkRFj39Qd2V91E/mQxg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-4.1.0.tgz", + "integrity": "sha512-xhLimgNCbCzsUppRTGXWkZywksuTThxaIB0HwbpsVLY5sceac4e1TZ/WKYqufQLaUy+gUSJGNdwD2jo3cXL0iA==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/core": "^3.1.5", - "@smithy/middleware-serde": "^4.0.2", - "@smithy/node-config-provider": "^4.0.1", - "@smithy/shared-ini-file-loader": "^4.0.1", - "@smithy/types": "^4.1.0", - "@smithy/url-parser": "^4.0.1", - "@smithy/util-middleware": "^4.0.1", + "@smithy/core": "^3.2.0", + "@smithy/middleware-serde": "^4.0.3", + "@smithy/node-config-provider": "^4.0.2", + "@smithy/shared-ini-file-loader": "^4.0.2", + "@smithy/types": "^4.2.0", + "@smithy/url-parser": "^4.0.2", + "@smithy/util-middleware": "^4.0.2", "tslib": "^2.6.2" }, "engines": { @@ -3809,19 +3834,19 @@ } }, "node_modules/@smithy/middleware-retry": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-4.0.7.tgz", - "integrity": "sha512-58j9XbUPLkqAcV1kHzVX/kAR16GT+j7DUZJqwzsxh1jtz7G82caZiGyyFgUvogVfNTg3TeAOIJepGc8TXF4AVQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-4.1.0.tgz", + "integrity": "sha512-2zAagd1s6hAaI/ap6SXi5T3dDwBOczOMCSkkYzktqN1+tzbk1GAsHNAdo/1uzxz3Ky02jvZQwbi/vmDA6z4Oyg==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/node-config-provider": "^4.0.1", - "@smithy/protocol-http": "^5.0.1", - "@smithy/service-error-classification": "^4.0.1", - "@smithy/smithy-client": "^4.1.6", - "@smithy/types": "^4.1.0", - "@smithy/util-middleware": "^4.0.1", - "@smithy/util-retry": "^4.0.1", + "@smithy/node-config-provider": "^4.0.2", + "@smithy/protocol-http": "^5.1.0", + "@smithy/service-error-classification": "^4.0.2", + "@smithy/smithy-client": "^4.2.0", + "@smithy/types": "^4.2.0", + "@smithy/util-middleware": "^4.0.2", + "@smithy/util-retry": "^4.0.2", "tslib": "^2.6.2", "uuid": "^9.0.1" }, @@ -3844,13 +3869,13 @@ } }, "node_modules/@smithy/middleware-serde": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-4.0.2.tgz", - "integrity": "sha512-Sdr5lOagCn5tt+zKsaW+U2/iwr6bI9p08wOkCp6/eL6iMbgdtc2R5Ety66rf87PeohR0ExI84Txz9GYv5ou3iQ==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-4.0.3.tgz", + "integrity": "sha512-rfgDVrgLEVMmMn0BI8O+8OVr6vXzjV7HZj57l0QxslhzbvVfikZbVfBVthjLHqib4BW44QhcIgJpvebHlRaC9A==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/types": "^4.1.0", + "@smithy/types": "^4.2.0", "tslib": "^2.6.2" }, "engines": { @@ -3858,13 +3883,13 @@ } }, "node_modules/@smithy/middleware-stack": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-4.0.1.tgz", - "integrity": "sha512-dHwDmrtR/ln8UTHpaIavRSzeIk5+YZTBtLnKwDW3G2t6nAupCiQUvNzNoHBpik63fwUaJPtlnMzXbQrNFWssIA==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-4.0.2.tgz", + "integrity": "sha512-eSPVcuJJGVYrFYu2hEq8g8WWdJav3sdrI4o2c6z/rjnYDd3xH9j9E7deZQCzFn4QvGPouLngH3dQ+QVTxv5bOQ==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/types": "^4.1.0", + "@smithy/types": "^4.2.0", "tslib": "^2.6.2" }, "engines": { @@ -3872,15 +3897,15 @@ } }, "node_modules/@smithy/node-config-provider": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-4.0.1.tgz", - "integrity": "sha512-8mRTjvCtVET8+rxvmzRNRR0hH2JjV0DFOmwXPrISmTIJEfnCBugpYYGAsCj8t41qd+RB5gbheSQ/6aKZCQvFLQ==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-4.0.2.tgz", + "integrity": "sha512-WgCkILRZfJwJ4Da92a6t3ozN/zcvYyJGUTmfGbgS/FkCcoCjl7G4FJaCDN1ySdvLvemnQeo25FdkyMSTSwulsw==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/property-provider": "^4.0.1", - "@smithy/shared-ini-file-loader": "^4.0.1", - "@smithy/types": "^4.1.0", + "@smithy/property-provider": "^4.0.2", + "@smithy/shared-ini-file-loader": "^4.0.2", + "@smithy/types": "^4.2.0", "tslib": "^2.6.2" }, "engines": { @@ -3888,16 +3913,16 @@ } }, "node_modules/@smithy/node-http-handler": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.0.3.tgz", - "integrity": "sha512-dYCLeINNbYdvmMLtW0VdhW1biXt+PPCGazzT5ZjKw46mOtdgToQEwjqZSS9/EN8+tNs/RO0cEWG044+YZs97aA==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.0.4.tgz", + "integrity": "sha512-/mdqabuAT3o/ihBGjL94PUbTSPSRJ0eeVTdgADzow0wRJ0rN4A27EOrtlK56MYiO1fDvlO3jVTCxQtQmK9dZ1g==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/abort-controller": "^4.0.1", - "@smithy/protocol-http": "^5.0.1", - "@smithy/querystring-builder": "^4.0.1", - "@smithy/types": "^4.1.0", + "@smithy/abort-controller": "^4.0.2", + "@smithy/protocol-http": "^5.1.0", + "@smithy/querystring-builder": "^4.0.2", + "@smithy/types": "^4.2.0", "tslib": "^2.6.2" }, "engines": { @@ -3905,13 +3930,13 @@ } }, "node_modules/@smithy/property-provider": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-4.0.1.tgz", - "integrity": "sha512-o+VRiwC2cgmk/WFV0jaETGOtX16VNPp2bSQEzu0whbReqE1BMqsP2ami2Vi3cbGVdKu1kq9gQkDAGKbt0WOHAQ==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-4.0.2.tgz", + "integrity": "sha512-wNRoQC1uISOuNc2s4hkOYwYllmiyrvVXWMtq+TysNRVQaHm4yoafYQyjN/goYZS+QbYlPIbb/QRjaUZMuzwQ7A==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/types": "^4.1.0", + "@smithy/types": "^4.2.0", "tslib": "^2.6.2" }, "engines": { @@ -3919,13 +3944,13 @@ } }, "node_modules/@smithy/protocol-http": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-5.0.1.tgz", - "integrity": "sha512-TE4cpj49jJNB/oHyh/cRVEgNZaoPaxd4vteJNB0yGidOCVR0jCw/hjPVsT8Q8FRmj8Bd3bFZt8Dh7xGCT+xMBQ==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-5.1.0.tgz", + "integrity": "sha512-KxAOL1nUNw2JTYrtviRRjEnykIDhxc84qMBzxvu1MUfQfHTuBlCG7PA6EdVwqpJjH7glw7FqQoFxUJSyBQgu7g==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/types": "^4.1.0", + "@smithy/types": "^4.2.0", "tslib": "^2.6.2" }, "engines": { @@ -3933,13 +3958,13 @@ } }, "node_modules/@smithy/querystring-builder": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-4.0.1.tgz", - "integrity": "sha512-wU87iWZoCbcqrwszsOewEIuq+SU2mSoBE2CcsLwE0I19m0B2gOJr1MVjxWcDQYOzHbR1xCk7AcOBbGFUYOKvdg==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-4.0.2.tgz", + "integrity": "sha512-NTOs0FwHw1vimmQM4ebh+wFQvOwkEf/kQL6bSM1Lock+Bv4I89B3hGYoUEPkmvYPkDKyp5UdXJYu+PoTQ3T31Q==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/types": "^4.1.0", + "@smithy/types": "^4.2.0", "@smithy/util-uri-escape": "^4.0.0", "tslib": "^2.6.2" }, @@ -3948,13 +3973,13 @@ } }, "node_modules/@smithy/querystring-parser": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-4.0.1.tgz", - "integrity": "sha512-Ma2XC7VS9aV77+clSFylVUnPZRindhB7BbmYiNOdr+CHt/kZNJoPP0cd3QxCnCFyPXC4eybmyE98phEHkqZ5Jw==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-4.0.2.tgz", + "integrity": "sha512-v6w8wnmZcVXjfVLjxw8qF7OwESD9wnpjp0Dqry/Pod0/5vcEA3qxCr+BhbOHlxS8O+29eLpT3aagxXGwIoEk7Q==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/types": "^4.1.0", + "@smithy/types": "^4.2.0", "tslib": "^2.6.2" }, "engines": { @@ -3962,26 +3987,26 @@ } }, "node_modules/@smithy/service-error-classification": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-4.0.1.tgz", - "integrity": "sha512-3JNjBfOWpj/mYfjXJHB4Txc/7E4LVq32bwzE7m28GN79+M1f76XHflUaSUkhOriprPDzev9cX/M+dEB80DNDKA==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-4.0.2.tgz", + "integrity": "sha512-LA86xeFpTKn270Hbkixqs5n73S+LVM0/VZco8dqd+JT75Dyx3Lcw/MraL7ybjmz786+160K8rPOmhsq0SocoJQ==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/types": "^4.1.0" + "@smithy/types": "^4.2.0" }, "engines": { "node": ">=18.0.0" } }, "node_modules/@smithy/shared-ini-file-loader": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-4.0.1.tgz", - "integrity": "sha512-hC8F6qTBbuHRI/uqDgqqi6J0R4GtEZcgrZPhFQnMhfJs3MnUTGSnR1NSJCJs5VWlMydu0kJz15M640fJlRsIOw==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-4.0.2.tgz", + "integrity": "sha512-J9/gTWBGVuFZ01oVA6vdb4DAjf1XbDhK6sLsu3OS9qmLrS6KB5ygpeHiM3miIbj1qgSJ96GYszXFWv6ErJ8QEw==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/types": "^4.1.0", + "@smithy/types": "^4.2.0", "tslib": "^2.6.2" }, "engines": { @@ -3989,17 +4014,17 @@ } }, "node_modules/@smithy/signature-v4": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-5.0.1.tgz", - "integrity": "sha512-nCe6fQ+ppm1bQuw5iKoeJ0MJfz2os7Ic3GBjOkLOPtavbD1ONoyE3ygjBfz2ythFWm4YnRm6OxW+8p/m9uCoIA==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-5.0.2.tgz", + "integrity": "sha512-Mz+mc7okA73Lyz8zQKJNyr7lIcHLiPYp0+oiqiMNc/t7/Kf2BENs5d63pEj7oPqdjaum6g0Fc8wC78dY1TgtXw==", "license": "Apache-2.0", "optional": true, "dependencies": { "@smithy/is-array-buffer": "^4.0.0", - "@smithy/protocol-http": "^5.0.1", - "@smithy/types": "^4.1.0", + "@smithy/protocol-http": "^5.1.0", + "@smithy/types": "^4.2.0", "@smithy/util-hex-encoding": "^4.0.0", - "@smithy/util-middleware": "^4.0.1", + "@smithy/util-middleware": "^4.0.2", "@smithy/util-uri-escape": "^4.0.0", "@smithy/util-utf8": "^4.0.0", "tslib": "^2.6.2" @@ -4009,18 +4034,18 @@ } }, "node_modules/@smithy/smithy-client": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-4.1.6.tgz", - "integrity": "sha512-UYDolNg6h2O0L+cJjtgSyKKvEKCOa/8FHYJnBobyeoeWDmNpXjwOAtw16ezyeu1ETuuLEOZbrynK0ZY1Lx9Jbw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-4.2.0.tgz", + "integrity": "sha512-Qs65/w30pWV7LSFAez9DKy0Koaoh3iHhpcpCCJ4waj/iqwsuSzJna2+vYwq46yBaqO5ZbP9TjUsATUNxrKeBdw==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/core": "^3.1.5", - "@smithy/middleware-endpoint": "^4.0.6", - "@smithy/middleware-stack": "^4.0.1", - "@smithy/protocol-http": "^5.0.1", - "@smithy/types": "^4.1.0", - "@smithy/util-stream": "^4.1.2", + "@smithy/core": "^3.2.0", + "@smithy/middleware-endpoint": "^4.1.0", + "@smithy/middleware-stack": "^4.0.2", + "@smithy/protocol-http": "^5.1.0", + "@smithy/types": "^4.2.0", + "@smithy/util-stream": "^4.2.0", "tslib": "^2.6.2" }, "engines": { @@ -4028,9 +4053,9 @@ } }, "node_modules/@smithy/types": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-4.1.0.tgz", - "integrity": "sha512-enhjdwp4D7CXmwLtD6zbcDMbo6/T6WtuuKCY49Xxc6OMOmUWlBEBDREsxxgV2LIdeQPW756+f97GzcgAwp3iLw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-4.2.0.tgz", + "integrity": "sha512-7eMk09zQKCO+E/ivsjQv+fDlOupcFUCSC/L2YUPgwhvowVGWbPQHjEFcmjt7QQ4ra5lyowS92SV53Zc6XD4+fg==", "license": "Apache-2.0", "optional": true, "dependencies": { @@ -4041,14 +4066,14 @@ } }, "node_modules/@smithy/url-parser": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-4.0.1.tgz", - "integrity": "sha512-gPXcIEUtw7VlK8f/QcruNXm7q+T5hhvGu9tl63LsJPZ27exB6dtNwvh2HIi0v7JcXJ5emBxB+CJxwaLEdJfA+g==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-4.0.2.tgz", + "integrity": "sha512-Bm8n3j2ScqnT+kJaClSVCMeiSenK6jVAzZCNewsYWuZtnBehEz4r2qP0riZySZVfzB+03XZHJeqfmJDkeeSLiQ==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/querystring-parser": "^4.0.1", - "@smithy/types": "^4.1.0", + "@smithy/querystring-parser": "^4.0.2", + "@smithy/types": "^4.2.0", "tslib": "^2.6.2" }, "engines": { @@ -4124,15 +4149,15 @@ } }, "node_modules/@smithy/util-defaults-mode-browser": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.0.7.tgz", - "integrity": "sha512-CZgDDrYHLv0RUElOsmZtAnp1pIjwDVCSuZWOPhIOBvG36RDfX1Q9+6lS61xBf+qqvHoqRjHxgINeQz47cYFC2Q==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.0.8.tgz", + "integrity": "sha512-ZTypzBra+lI/LfTYZeop9UjoJhhGRTg3pxrNpfSTQLd3AJ37r2z4AXTKpq1rFXiiUIJsYyFgNJdjWRGP/cbBaQ==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/property-provider": "^4.0.1", - "@smithy/smithy-client": "^4.1.6", - "@smithy/types": "^4.1.0", + "@smithy/property-provider": "^4.0.2", + "@smithy/smithy-client": "^4.2.0", + "@smithy/types": "^4.2.0", "bowser": "^2.11.0", "tslib": "^2.6.2" }, @@ -4141,18 +4166,18 @@ } }, "node_modules/@smithy/util-defaults-mode-node": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.0.7.tgz", - "integrity": "sha512-79fQW3hnfCdrfIi1soPbK3zmooRFnLpSx3Vxi6nUlqaaQeC5dm8plt4OTNDNqEEEDkvKghZSaoti684dQFVrGQ==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.0.8.tgz", + "integrity": "sha512-Rgk0Jc/UDfRTzVthye/k2dDsz5Xxs9LZaKCNPgJTRyoyBoeiNCnHsYGOyu1PKN+sDyPnJzMOz22JbwxzBp9NNA==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/config-resolver": "^4.0.1", - "@smithy/credential-provider-imds": "^4.0.1", - "@smithy/node-config-provider": "^4.0.1", - "@smithy/property-provider": "^4.0.1", - "@smithy/smithy-client": "^4.1.6", - "@smithy/types": "^4.1.0", + "@smithy/config-resolver": "^4.1.0", + "@smithy/credential-provider-imds": "^4.0.2", + "@smithy/node-config-provider": "^4.0.2", + "@smithy/property-provider": "^4.0.2", + "@smithy/smithy-client": "^4.2.0", + "@smithy/types": "^4.2.0", "tslib": "^2.6.2" }, "engines": { @@ -4160,14 +4185,14 @@ } }, "node_modules/@smithy/util-endpoints": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-3.0.1.tgz", - "integrity": "sha512-zVdUENQpdtn9jbpD9SCFK4+aSiavRb9BxEtw9ZGUR1TYo6bBHbIoi7VkrFQ0/RwZlzx0wRBaRmPclj8iAoJCLA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-3.0.2.tgz", + "integrity": "sha512-6QSutU5ZyrpNbnd51zRTL7goojlcnuOB55+F9VBD+j8JpRY50IGamsjlycrmpn8PQkmJucFW8A0LSfXj7jjtLQ==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/node-config-provider": "^4.0.1", - "@smithy/types": "^4.1.0", + "@smithy/node-config-provider": "^4.0.2", + "@smithy/types": "^4.2.0", "tslib": "^2.6.2" }, "engines": { @@ -4188,13 +4213,13 @@ } }, "node_modules/@smithy/util-middleware": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-4.0.1.tgz", - "integrity": "sha512-HiLAvlcqhbzhuiOa0Lyct5IIlyIz0PQO5dnMlmQ/ubYM46dPInB+3yQGkfxsk6Q24Y0n3/JmcA1v5iEhmOF5mA==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-4.0.2.tgz", + "integrity": "sha512-6GDamTGLuBQVAEuQ4yDQ+ti/YINf/MEmIegrEeg7DdB/sld8BX1lqt9RRuIcABOhAGTA50bRbPzErez7SlDtDQ==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/types": "^4.1.0", + "@smithy/types": "^4.2.0", "tslib": "^2.6.2" }, "engines": { @@ -4202,14 +4227,14 @@ } }, "node_modules/@smithy/util-retry": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-4.0.1.tgz", - "integrity": "sha512-WmRHqNVwn3kI3rKk1LsKcVgPBG6iLTBGC1iYOV3GQegwJ3E8yjzHytPt26VNzOWr1qu0xE03nK0Ug8S7T7oufw==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-4.0.2.tgz", + "integrity": "sha512-Qryc+QG+7BCpvjloFLQrmlSd0RsVRHejRXd78jNO3+oREueCjwG1CCEH1vduw/ZkM1U9TztwIKVIi3+8MJScGg==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/service-error-classification": "^4.0.1", - "@smithy/types": "^4.1.0", + "@smithy/service-error-classification": "^4.0.2", + "@smithy/types": "^4.2.0", "tslib": "^2.6.2" }, "engines": { @@ -4217,15 +4242,15 @@ } }, "node_modules/@smithy/util-stream": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-4.1.2.tgz", - "integrity": "sha512-44PKEqQ303d3rlQuiDpcCcu//hV8sn+u2JBo84dWCE0rvgeiVl0IlLMagbU++o0jCWhYCsHaAt9wZuZqNe05Hw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-4.2.0.tgz", + "integrity": "sha512-Vj1TtwWnuWqdgQI6YTUF5hQ/0jmFiOYsc51CSMgj7QfyO+RF4EnT2HNjoviNlOOmgzgvf3f5yno+EiC4vrnaWQ==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/fetch-http-handler": "^5.0.1", - "@smithy/node-http-handler": "^4.0.3", - "@smithy/types": "^4.1.0", + "@smithy/fetch-http-handler": "^5.0.2", + "@smithy/node-http-handler": "^4.0.4", + "@smithy/types": "^4.2.0", "@smithy/util-base64": "^4.0.0", "@smithy/util-buffer-from": "^4.0.0", "@smithy/util-hex-encoding": "^4.0.0", @@ -4288,23 +4313,23 @@ "license": "MIT" }, "node_modules/@testcontainers/hivemq": { - "version": "10.21.0", - "resolved": "https://registry.npmjs.org/@testcontainers/hivemq/-/hivemq-10.21.0.tgz", - "integrity": "sha512-seYpjE7aKwFsJ/0UuGeXnQcbnNC8eFFZNcsOw5CIpymVF1zgZT8ATzfDHzhi4W3ZXmUnaUp1yUn7ENrctcbWUQ==", + "version": "10.23.0", + "resolved": "https://registry.npmjs.org/@testcontainers/hivemq/-/hivemq-10.23.0.tgz", + "integrity": "sha512-e55T7tkqJ+FZ3eWIGew7bR2iO/Flsc9LjnqoKzGtpLjNLEnxptEuQkDLJYlzYNlroRXz8K72swN2gsFswaTOBA==", "dev": true, "license": "MIT", "dependencies": { - "testcontainers": "^10.21.0" + "testcontainers": "^10.23.0" } }, "node_modules/@testcontainers/rabbitmq": { - "version": "10.21.0", - "resolved": "https://registry.npmjs.org/@testcontainers/rabbitmq/-/rabbitmq-10.21.0.tgz", - "integrity": "sha512-Lgx20ZDGtOtJ5JXEQE+EkwQEexni54ONEjIc10F/ktkNCCmCAALWgBgh1hkMYrBP+n8Id7Sp+1pzkE6W8UDphg==", + "version": "10.23.0", + "resolved": "https://registry.npmjs.org/@testcontainers/rabbitmq/-/rabbitmq-10.23.0.tgz", + "integrity": "sha512-XD8RcNBr/Eo5sHctOtLRzYKGmQdfO3LT3FAEyR8unAVJs4OKujrmESnfK5xnsbgot+zs3wp5mPlfTSZEJy+KEg==", "dev": true, "license": "MIT", "dependencies": { - "testcontainers": "^10.21.0" + "testcontainers": "^10.23.0" } }, "node_modules/@tootallnate/once": { @@ -4527,9 +4552,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "20.17.25", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.25.tgz", - "integrity": "sha512-bT+r2haIlplJUYtlZrEanFHdPIZTeiMeh/fSOEbOOfWf9uTn+lg8g0KU6Q3iMgjd9FLuuMAgfCNSkjUbxL6E3Q==", + "version": "20.17.28", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.28.tgz", + "integrity": "sha512-DHlH/fNL6Mho38jTy7/JT7sn2wnXI+wULR6PV4gy4VHLVvnrV/d3pHAMQHhc4gjdLmK2ZiPoMxzp6B3yRajLSQ==", "license": "MIT", "dependencies": { "undici-types": "~6.19.2" @@ -4580,9 +4605,9 @@ } }, "node_modules/@types/semver": { - "version": "7.5.8", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", - "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.7.0.tgz", + "integrity": "sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA==", "dev": true, "license": "MIT" }, @@ -4628,9 +4653,9 @@ } }, "node_modules/@types/ssh2/node_modules/@types/node": { - "version": "18.19.81", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.81.tgz", - "integrity": "sha512-7KO9oZ2//ivtSsryp0LQUqq79zyGXzwq1WqfywpC9ucjY7YyltMMmxWgtRFRKCxwa7VPxVBVy4kHf5UC1E8Lug==", + "version": "18.19.84", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.84.tgz", + "integrity": "sha512-ACYy2HGcZPHxEeWTqowTF7dhXN+JU1o7Gr4b41klnn6pj2LD6rsiGqSZojMdk1Jh2ys3m76ap+ae1vvE4+5+vg==", "dev": true, "license": "MIT", "dependencies": { @@ -5885,25 +5910,33 @@ "optional": true }, "node_modules/bare-fs": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.0.1.tgz", - "integrity": "sha512-ilQs4fm/l9eMfWY2dY0WCIUplSUp7U0CT1vrqMg1MUdeZl4fypu5UP0XcDBK5WBQPJAKP1b7XEodISmekH/CEg==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.0.2.tgz", + "integrity": "sha512-S5mmkMesiduMqnz51Bfh0Et9EX0aTCJxhsI4bvzFFLs8Z1AV8RDHadfY5CyLwdoLHgXbNBEN1gQcbEtGwuvixw==", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "bare-events": "^2.0.0", + "bare-events": "^2.5.4", "bare-path": "^3.0.0", - "bare-stream": "^2.0.0" + "bare-stream": "^2.6.4" }, "engines": { - "bare": ">=1.7.0" + "bare": ">=1.16.0" + }, + "peerDependencies": { + "bare-buffer": "*" + }, + "peerDependenciesMeta": { + "bare-buffer": { + "optional": true + } } }, "node_modules/bare-os": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.6.0.tgz", - "integrity": "sha512-BUrFS5TqSBdA0LwHop4OjPJwisqxGy6JsWVqV6qaFoe965qqtaKfDzHY5T2YA1gUL0ZeeQeA+4BBc1FJTcHiPw==", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.6.1.tgz", + "integrity": "sha512-uaIjxokhFidJP+bmmvKSgiMzj2sV5GPHaZVAIktcxcpCyBFFWO+YlikVAdhmUo2vYFvFhOXIAlldqV29L8126g==", "dev": true, "license": "Apache-2.0", "optional": true, @@ -6553,9 +6586,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001706", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001706.tgz", - "integrity": "sha512-3ZczoTApMAZwPKYWmwVbQMFpXBDds3/0VciVoUwPUbldlYyVLmRVuRs/PcUZtHpbLRpzzDvrvnFuREsGt6lUug==", + "version": "1.0.30001707", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001707.tgz", + "integrity": "sha512-3qtRjw/HQSMlDWf+X79N206fepf4SOOU6SQLMaq/0KkZLmSjPxAkBOQQ+FxbHKfHmYLZFfdWsO3KA90ceHPSnw==", "dev": true, "funding": [ { @@ -7779,36 +7812,54 @@ } }, "node_modules/docker-modem": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-3.0.8.tgz", - "integrity": "sha512-f0ReSURdM3pcKPNS30mxOHSbaFLcknGmQjwSfmbcdOw1XWKXVhukM3NJHhr7NpY9BIyyWQb0EBo3KQvvuU5egQ==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-5.0.6.tgz", + "integrity": "sha512-ens7BiayssQz/uAxGzH8zGXCtiV24rRWXdjNha5V4zSOcxmAZsfGVm/PPFbwQdqEkDnhG+SyR9E3zSHUbOKXBQ==", "dev": true, "license": "Apache-2.0", "dependencies": { "debug": "^4.1.1", "readable-stream": "^3.5.0", "split-ca": "^1.0.1", - "ssh2": "^1.11.0" + "ssh2": "^1.15.0" }, "engines": { "node": ">= 8.0" } }, "node_modules/dockerode": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-3.3.5.tgz", - "integrity": "sha512-/0YNa3ZDNeLr/tSckmD69+Gq+qVNhvKfAHNeZJBnp7EOP6RGKV8ORrJHkUn20So5wU+xxT7+1n5u8PjHbfjbSA==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-4.0.4.tgz", + "integrity": "sha512-6GYP/EdzEY50HaOxTVTJ2p+mB5xDHTMJhS+UoGrVyS6VC+iQRh7kZ4FRpUYq6nziby7hPqWhOrFFUFTMUZJJ5w==", "dev": true, "license": "Apache-2.0", "dependencies": { "@balena/dockerignore": "^1.0.2", - "docker-modem": "^3.0.0", - "tar-fs": "~2.0.1" + "@grpc/grpc-js": "^1.11.1", + "@grpc/proto-loader": "^0.7.13", + "docker-modem": "^5.0.6", + "protobufjs": "^7.3.2", + "tar-fs": "~2.0.1", + "uuid": "^10.0.0" }, "engines": { "node": ">= 8.0" } }, + "node_modules/dockerode/node_modules/@grpc/grpc-js": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.13.2.tgz", + "integrity": "sha512-nnR5nmL6lxF8YBqb6gWvEgLdLh/Fn+kvAdX5hUOnt48sNSb0riz/93ASd2E5gvanPA41X6Yp25bIfGRp1SMb2g==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@grpc/proto-loader": "^0.7.13", + "@js-sdsl/ordered-map": "^4.4.2" + }, + "engines": { + "node": ">=12.10.0" + } + }, "node_modules/dockerode/node_modules/chownr": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", @@ -7816,6 +7867,31 @@ "dev": true, "license": "ISC" }, + "node_modules/dockerode/node_modules/protobufjs": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.4.0.tgz", + "integrity": "sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw==", + "dev": true, + "hasInstallScript": true, + "license": "BSD-3-Clause", + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/node": ">=13.7.0", + "long": "^5.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/dockerode/node_modules/tar-fs": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.0.1.tgz", @@ -7846,6 +7922,20 @@ "node": ">=6" } }, + "node_modules/dockerode/node_modules/uuid": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz", + "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==", + "dev": true, + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -7981,9 +8071,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.123", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.123.tgz", - "integrity": "sha512-refir3NlutEZqlKaBLK0tzlVLe5P2wDKS7UQt/3SpibizgsRAPOsqQC3ffw1nlv3ze5gjRQZYHoPymgVZkplFA==", + "version": "1.5.126", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.126.tgz", + "integrity": "sha512-AtH1uLcTC72LA4vfYcEJJkrMk/MY/X0ub8Hv7QGAePW2JkeUFHEL/QfS4J77R6M87Sss8O0OcqReSaN1bpyA+Q==", "dev": true, "license": "ISC" }, @@ -9702,13 +9792,13 @@ } }, "node_modules/get-port": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz", - "integrity": "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-7.1.0.tgz", + "integrity": "sha512-QB9NKEeDg3xxVwCCwJQ9+xycaz6pBB6iQ76wiWMl1927n0Kir6alPiP+yuiICLLU4jpMe08dXfpebuQppFA2zw==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -14629,9 +14719,9 @@ } }, "node_modules/rollup": { - "version": "4.36.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.36.0.tgz", - "integrity": "sha512-zwATAXNQxUcd40zgtQG0ZafcRK4g004WtEl7kbuhTWPvf07PsfohXl39jVUvPF7jvNAIkKPQ2XrsDlWuxBd++Q==", + "version": "4.37.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.37.0.tgz", + "integrity": "sha512-iAtQy/L4QFU+rTJ1YUjXqJOJzuwEghqWzCEYD2FEghT7Gsy1VdABntrO4CLopA5IkflTyqNiLNwPcOJ3S7UKLg==", "dev": true, "license": "MIT", "dependencies": { @@ -14645,25 +14735,26 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.36.0", - "@rollup/rollup-android-arm64": "4.36.0", - "@rollup/rollup-darwin-arm64": "4.36.0", - "@rollup/rollup-darwin-x64": "4.36.0", - "@rollup/rollup-freebsd-arm64": "4.36.0", - "@rollup/rollup-freebsd-x64": "4.36.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.36.0", - "@rollup/rollup-linux-arm-musleabihf": "4.36.0", - "@rollup/rollup-linux-arm64-gnu": "4.36.0", - "@rollup/rollup-linux-arm64-musl": "4.36.0", - "@rollup/rollup-linux-loongarch64-gnu": "4.36.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.36.0", - "@rollup/rollup-linux-riscv64-gnu": "4.36.0", - "@rollup/rollup-linux-s390x-gnu": "4.36.0", - "@rollup/rollup-linux-x64-gnu": "4.36.0", - "@rollup/rollup-linux-x64-musl": "4.36.0", - "@rollup/rollup-win32-arm64-msvc": "4.36.0", - "@rollup/rollup-win32-ia32-msvc": "4.36.0", - "@rollup/rollup-win32-x64-msvc": "4.36.0", + "@rollup/rollup-android-arm-eabi": "4.37.0", + "@rollup/rollup-android-arm64": "4.37.0", + "@rollup/rollup-darwin-arm64": "4.37.0", + "@rollup/rollup-darwin-x64": "4.37.0", + "@rollup/rollup-freebsd-arm64": "4.37.0", + "@rollup/rollup-freebsd-x64": "4.37.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.37.0", + "@rollup/rollup-linux-arm-musleabihf": "4.37.0", + "@rollup/rollup-linux-arm64-gnu": "4.37.0", + "@rollup/rollup-linux-arm64-musl": "4.37.0", + "@rollup/rollup-linux-loongarch64-gnu": "4.37.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.37.0", + "@rollup/rollup-linux-riscv64-gnu": "4.37.0", + "@rollup/rollup-linux-riscv64-musl": "4.37.0", + "@rollup/rollup-linux-s390x-gnu": "4.37.0", + "@rollup/rollup-linux-x64-gnu": "4.37.0", + "@rollup/rollup-linux-x64-musl": "4.37.0", + "@rollup/rollup-win32-arm64-msvc": "4.37.0", + "@rollup/rollup-win32-ia32-msvc": "4.37.0", + "@rollup/rollup-win32-x64-msvc": "4.37.0", "fsevents": "~2.3.2" } }, @@ -16363,21 +16454,21 @@ } }, "node_modules/testcontainers": { - "version": "10.21.0", - "resolved": "https://registry.npmjs.org/testcontainers/-/testcontainers-10.21.0.tgz", - "integrity": "sha512-avzqNfP0HyHaOPTztHbGnHycZWzWaeUwSPnJGCYin2LB+n/tlGjAzExVrkIaCSBwIjFkMlufEYuKWzGc8mupDQ==", + "version": "10.23.0", + "resolved": "https://registry.npmjs.org/testcontainers/-/testcontainers-10.23.0.tgz", + "integrity": "sha512-sZeij9mAyR9ixlaAmxU/DNb5LQ2duGCBDVjLaI975QGsX3sWatsBMDr4rqnP3IBemLynp+azZBMEfw75YsXMMg==", "dev": true, "license": "MIT", "dependencies": { "@balena/dockerignore": "^1.0.2", - "@types/dockerode": "^3.3.29", + "@types/dockerode": "^3.3.35", "archiver": "^7.0.1", "async-lock": "^1.4.1", "byline": "^5.0.0", "debug": "^4.3.5", "docker-compose": "^0.24.8", - "dockerode": "^3.3.5", - "get-port": "^5.1.1", + "dockerode": "^4.0.4", + "get-port": "^7.1.0", "proper-lockfile": "^4.1.2", "properties-reader": "^2.3.0", "ssh-remote-port-forward": "^1.0.4", @@ -16936,9 +17027,9 @@ } }, "node_modules/vite": { - "version": "5.4.14", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.14.tgz", - "integrity": "sha512-EK5cY7Q1D8JNhSaPKVK4pwBFvaTmZxEnoKXLG/U9gmdDcihQGNzFlgIvaxezFR4glP1LsuiedwMBqCXH3wZccA==", + "version": "5.4.15", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.15.tgz", + "integrity": "sha512-6ANcZRivqL/4WtwPGTKNaosuNJr5tWiftOC7liM7G9+rMb8+oeJeyzymDu4rTN93seySBmbjSfsS3Vzr19KNtA==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index be3305294..4c1a9f73d 100644 --- a/package.json +++ b/package.json @@ -190,7 +190,7 @@ "testcontainers": "^10.13.1", "typescript": "~4.4.4", "v-pagination-3": "~0.1.7", - "vite": "~5.4.14", + "vite": "~5.4.15", "vite-plugin-compression": "^0.5.1", "vite-plugin-vue-devtools": "^7.0.15", "vue": "~3.4.2", From db835a03091fa698bdf023ddf9e89458ea22bded Mon Sep 17 00:00:00 2001 From: Alex Nagy Date: Thu, 27 Mar 2025 19:15:23 +0000 Subject: [PATCH 190/226] Translated using Weblate (Hungarian) Currently translated at 100.0% (1053 of 1053 strings) Translated using Weblate (Hungarian) Currently translated at 100.0% (1053 of 1053 strings) Co-authored-by: Alex Nagy Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/hu/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/hu.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/lang/hu.json b/src/lang/hu.json index e22444a9b..c0d99748d 100644 --- a/src/lang/hu.json +++ b/src/lang/hu.json @@ -900,7 +900,7 @@ "Press Enter to add broker": "Bróker hozzáadásához nyomja meg az ENTER billentyűt", "Enable Kafka SSL": "Kafka SSL engedélyezése", "Enable Kafka Producer Auto Topic Creation": "Kafka Producer automatikus téma létrehozásának engedélyezése", - "Kafka Producer Message": "Kafka producer üzenet", + "Kafka Producer Message": "Kafka Producer üzenet", "Kafka SASL Options": "Kafka SASL opciók", "Pick a SASL Mechanism...": "Válassz egy SASL mechanizmus-t…", "AccessKey Id": "Hozzáférési Kulcs ID", @@ -933,7 +933,7 @@ "Command": "Utasítás", "wayToGetSevenIOApiKey": "Látogasson el a műszerfalra az app.seven.io > developer > api key > a zöld hozzáadás gombra", "senderSevenIO": "Szám vagy név küldése", - "receiverSevenIO": "Szám fogadása", + "receiverSevenIO": "Fogadó telefonszáma", "apiKeySevenIO": "SevenIO API kulcs", "wayToWriteWhapiRecipient": "A telefonszám a nemzetközi előtaggal, de az elején lévő pluszjel nélkül ({0}), a kapcsolattartó azonosítója ({1}) vagy a csoport azonosítója ({2}).", "Separate multiple email addresses with commas": "Több e-mail cím elválasztása vesszővel", @@ -943,7 +943,7 @@ "not equals": "nem egyenlő", "contains": "tartalmaz", "not contains": "nem tartalmaz", - "ends with": "végződik", + "ends with": "végződik a", "not ends with": "nem végződik a", "greater than": "nagyobb, mint", "less than": "kisebb, mint", @@ -980,7 +980,7 @@ "Authorization Header": "Hitelesítési Fejléc", "wayToGetDiscordThreadId": "Szál / fórum bejegyzés ID lekérése hasonló, a csatorna ID lekéréséhez. Itt olvashatsz tovább az ID-k lekérésől{0}", "Badge Type": "Jelvény Típusa", - "Badge Duration (in hours)": "Jelvény Időtartama (órákban)", + "Badge Duration (in hours)": "Jelvény Időtartam (órákban)", "Badge Label": "Jelvény Címke", "Badge Prefix": "Jelvény Érték Előtag", "Badge Suffix": "Jelvény Érték Utótag", @@ -1050,7 +1050,7 @@ "rabbitmqNodesRequired": "Állítsa be a csomópontokat ehhez a figyelőhöz.", "rabbitmqNodesDescription": "Adja meg a RabbitMQ menedszer csomópontok URL-jét beleértve a protokollt és a port számát is. Példa: {0}", "shrinkDatabaseDescriptionSqlite": "SQLite adatbázis {vacuum} indítása. Az {auto_vacuum} már engedélyezve van, de ez nem defragmentálja az adatbázist, és nem csomagolja újra az egyes adatbázisoldalakat, ahogyan a {vacuum} parancs teszi.", - "invertKeywordDescription": "Keresés a kulcsszó hiányára.", + "invertKeywordDescription": "Keresse meg, hogy a kulcsszó inkább hiányzik-e, mint jelen van.", "No tags found.": "Nem található címkék.", "twilioToNumber": "Címzett szám", "twilioFromNumber": "Feladó szám", From bb7c0d9e093ac29006438234bbf36a9a241b1f06 Mon Sep 17 00:00:00 2001 From: Dominik727 Date: Thu, 27 Mar 2025 19:15:23 +0000 Subject: [PATCH 191/226] Translated using Weblate (Hungarian) Currently translated at 100.0% (1053 of 1053 strings) Co-authored-by: Dominik727 Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/hu/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/hu.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lang/hu.json b/src/lang/hu.json index c0d99748d..d1b910388 100644 --- a/src/lang/hu.json +++ b/src/lang/hu.json @@ -735,7 +735,7 @@ "RadiusSecretDescription": "Megosztott titok az ügyfél és a szerver között", "RadiusCalledStationId": "Hívott állomás azonosítója", "Date and Time": "Dátum és idő", - "enableNSCD": "Az NSCD (Name Service Cache Daemon) engedélyezése az összes DNS-kérés gyorsítótárba helyezéséhez", + "enableNSCD": "Az NSCD (Name Service Cache Daemon) engedélyezése az összes DNS-kérés gyorsítótárazásához.", "Edit Maintenance": "Karbantartás szerkesztése", "smseagleGroup": "Telefonkönyv csoport neve(i)", "styleElapsedTime": "Az eltelt idő a heartbeat sáv alatt", From da8a697b51f0d6d98b7fc27725a1252a37622f21 Mon Sep 17 00:00:00 2001 From: Kisem Date: Thu, 27 Mar 2025 19:15:23 +0000 Subject: [PATCH 192/226] Translated using Weblate (Hungarian) Currently translated at 100.0% (1053 of 1053 strings) Co-authored-by: Kisem Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/hu/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/hu.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lang/hu.json b/src/lang/hu.json index d1b910388..cdc6a7145 100644 --- a/src/lang/hu.json +++ b/src/lang/hu.json @@ -542,7 +542,7 @@ "chromeExecutableAutoDetect": "Automatikus felismerés", "emailTemplateStatus": "Státusz", "deleteMaintenanceMsg": "Biztosan törölni szeretné ezt a karbantartást?", - "apiKeyAddedMsg": "Az ön API kulcsa létrejött. Kérjük jegyezze fel, mert nem lesz a felületen elérhető.", + "apiKeyAddedMsg": "Az ön API kulcsa létrejött. Kérjük jegyezze fel, mert nem lesz a felületen elérhető!", "Expires": "Lejár", "disableAPIKeyMsg": "Biztosan le fel szeretné függeszteni ezt az API kulcsot?", "Key Added": "Kulcs létrehozva", From b0d1d913bcdb1287c4ce123da18d26c6fd28e6c1 Mon Sep 17 00:00:00 2001 From: Gil Obradors Date: Thu, 27 Mar 2025 19:15:23 +0000 Subject: [PATCH 193/226] Translated using Weblate (Catalan) Currently translated at 52.5% (553 of 1053 strings) Co-authored-by: Gil Obradors Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ca/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/ca.json | 332 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 329 insertions(+), 3 deletions(-) diff --git a/src/lang/ca.json b/src/lang/ca.json index b519ce8c7..e4cc08896 100644 --- a/src/lang/ca.json +++ b/src/lang/ca.json @@ -49,7 +49,7 @@ "Delete": "Eliminar", "Current": "Actual", "Uptime": "Temps actiu", - "Cert Exp.": "Caducitat del certificat", + "Cert Exp.": "Caducitat del certificat.", "Monitor": "Monitor | Monitors", "day": "dia | dies", "-day": "-dia", @@ -218,7 +218,7 @@ "Required": "Obligatori", "Post URL": "Posar URL", "Content Type": "Content Type", - "Json Query Expression": "Json Query Expression", + "Json Query Expression": "Expressió de consulta Json", "now": "ara", "-year": "-any", "Status Pages": "Pàgines d'estat", @@ -226,5 +226,331 @@ "time ago": "fa {0}", "ignoredTLSError": "Errors TLS/SSL ignorats", "webhookFormDataDesc": "{multipart} es bo per PHP. El JSON haurà d'analitzar-se amb {decodeFunction}", - "webhookJsonDesc": "{0} es bo per qualsevol servidor HTTP modern com Express.js" + "webhookJsonDesc": "{0} es bo per qualsevol servidor HTTP modern com Express.js", + "templateMsg": "missatge de la notificació", + "webhookAdditionalHeadersTitle": "Capçaleres addicionals", + "Application Token": "Testimoni d'aplicació", + "Server URL": "URL del servidor", + "Priority": "Prioritat", + "Webhook URL": "URL del Webhook", + "emojiCheatSheet": "Full de trampa d'emoji: {0}", + "Read more": "Llegeix més", + "appriseInstalled": "S'ha instal·lat l'apèndix.", + "templateHeartbeatJSON": "objecte que descriu el batec del cor", + "templateMonitorJSON": "objecte que descriu el monitor", + "templateLimitedToUpDownCertNotifications": "només disponible per a notificacions de venciment UP/DOWN/Certificate", + "templateLimitedToUpDownNotifications": "només disponible per a notificacions UP/DOWN", + "webhookAdditionalHeadersDesc": "Estableix les capçaleres addicionals enviades amb el webhook. Cada capçalera s'ha de definir com una clau/valor JSON.", + "webhookBodyPresetOption": "Predefinit - {0}", + "webhookBodyCustomOption": "Cos personalitzat", + "Headers": "Capçaleres", + "Monitor History": "Historial del monitor", + "PasswordsDoNotMatch": "Les contrasenyes no coincideixen.", + "records": "registres", + "One record": "Un registre", + "Current User": "Usuari actual", + "topic": "Tema", + "topicExplanation": "tema MQTT a monitorar", + "successKeyword": "Paraula clau d'èxit", + "successKeywordExplanation": "Paraula clau MQTT que es considerarà un èxit", + "recent": "Recent", + "Reset Token": "Restableix el testimoni", + "Done": "Fet", + "Info": "Info", + "Steam API Key": "Clau API de Steam", + "Shrink Database": "Redueix la base de dades", + "Pick a RR-Type...": "Trieu un tipus RR…", + "Default": "Per defecte", + "HTTP Options": "Opcions HTTP", + "Create Incident": "Crear Incident", + "Title": "Títol", + "Content": "Contingut", + "Style": "Estil", + "info": "info", + "warning": "avís", + "danger": "perill", + "primary": "primària", + "light": "lleuger", + "dark": "fosc", + "Post": "Post", + "Created": "Creat", + "Last Updated": "Darrera actualització", + "Switch to Light Theme": "Canvia a tema clar", + "Switch to Dark Theme": "Canviar a tema fosc", + "Show Tags": "Mostra les etiquetes", + "Hide Tags": "Amaga les etiquetes", + "Description": "Descripció", + "No monitors available.": "No hi ha monitors disponibles.", + "Add one": "Afegeix-ne un", + "No Monitors": "Sense monitors", + "Untitled Group": "Grup sense títol", + "Services": "Serveis", + "Discard": "Descarta", + "Cancel": "Canel·la", + "Select": "Selecciona", + "Check/Uncheck": "Comprova/desmarca", + "Powered by": "Funciona amb", + "Customize": "Personalitza", + "Custom Footer": "Peu de pàgina personalitzat", + "Custom CSS": "CSS personalitzat", + "default": "Per defecte", + "enabled": "Habilitat", + "setAsDefault": "Estableix com a predeterminat", + "deleteProxyMsg": "Esteu segur que voleu suprimir aquest servidor intermediari per a tots els monitors?", + "setAsDefaultProxyDescription": "Aquest servidor intermediari s'habilitarà de manera predeterminada per als monitors nous. Encara podeu desactivar el servidor intermediari per separat per a cada monitor.", + "Certificate Chain": "Cadena de certificats", + "Valid": "Vàlid", + "Invalid": "Invàlid", + "User": "Usuari", + "Installed": "Instal·lat", + "Not installed": "No instal·lat", + "Running": "En execució", + "Not running": "No en execució", + "Remove Token": "Elimina el testimoni", + "Start": "Inicia", + "Stop": "Aturar", + "Add New Status Page": "Afegeix una pàgina d'estat nova", + "Slug": "Àlies", + "Accept characters:": "Accepta caràcters:", + "startOrEndWithOnly": "Inicia o acaba només amb {0}", + "No consecutive dashes": "Sense guions consecutius", + "Next": "Següent", + "The slug is already taken. Please choose another slug.": "L'àlias ja està agafat. Si us plau, escolliu un altre àlies.", + "No Proxy": "Sense servidor intermediari", + "Proxies": "Servidors intermediaris", + "HTTP Basic Auth": "Autenticació bàsica HTTP", + "New Status Page": "Pàgina d'estat nova", + "Reverse Proxy": "Servidor intermediari invertit", + "Backup": "Còpia de seguretat", + "About": "Quant a", + "wayToGetCloudflaredURL": "(Descarrega de cloudfared des de {0})", + "cloudflareWebsite": "Lloc web de Cloudflare", + "Message:": "Missatge:", + "HTTP Headers": "Capçaleres HTTP", + "Trust Proxy": "Confia en el servidor intermediari", + "Other Software": "Un altre programari", + "For example: nginx, Apache and Traefik.": "Per exemple: nginx, Apache i Traefik.", + "Please read": "Llegiu", + "Subject:": "Assumpte:", + "Valid To:": "Vàlid per a:", + "Days Remaining:": "Dies restants:", + "Issuer:": "Emissor:", + "Fingerprint:": "Empremta digital:", + "No status pages": "Sense pàgines d'estat", + "Domain Name Expiry Notification": "Notificació de venciment del nom de domini", + "Add a new expiry notification day": "Notificació de venciment del nom de domini", + "Remove the expiry notification": "Elimina el dia de notificació de venciment", + "Proxy": "Servidor intermediari", + "Date Created": "Data de creació", + "Footer Text": "Text del peu de pàgina", + "Refresh Interval Description": "La pàgina d'estat farà una actualització completa del lloc cada {0} segons", + "Show Powered By": "Mostra Impulsat per", + "Domain Names": "Noms de domini", + "signedInDisp": "Sessió iniciada com a {0}", + "RadiusSecret": "Secret de Radius", + "RadiusSecretDescription": "Secret compartit entre client i servidor", + "RadiusCalledStationId": "Id de l'estació cridada", + "RadiusCallingStationId": "Id de l'estació de trucada", + "RadiusCallingStationIdDescription": "Identificador del dispositiu de crida", + "Certificate Expiry Notification": "Notificació de venciment del certificat", + "API Username": "Nom d'usuari API", + "API Key": "Clau API", + "Show update if available": "Mostra l'actualització si està disponible", + "Using a Reverse Proxy?": "Usar un servidor intermediari invers?", + "Check how to config it for WebSocket": "Comprova com configurar-lo per a WebSocket", + "Steam Game Server": "Servidor de jocs Steam", + "Most likely causes:": "Causes més probables:", + "There might be a typing error in the address.": "Pot haver-hi un error d'escriptura a l'adreça.", + "What you can try:": "Què podeu provar:", + "Retype the address.": "Torneu a teclejar l'adreça.", + "Go back to the previous page.": "Torna a la pàgina anterior.", + "Coming Soon": "Properament", + "Connection String": "Cadena de connexió", + "Query": "Consulta", + "settingsCertificateExpiry": "Caducitat del certificat TLS", + "Setup Docker Host": "Configura l'amfitrió Docker", + "Connection Type": "Tipus de connexió", + "Docker Daemon": "Dimoni Docker", + "noDockerHostMsg": "No disponible. Primer configureu un amfitrió Docker.", + "DockerHostRequired": "Establiu l'amfitrió Docker per a aquest monitor.", + "socket": "Sòcol", + "tcp": "TCP / HTTP", + "Docker Container": "Contenidor Docker", + "Container Name / ID": "Nom del contenidor / ID", + "Docker Host": "Amfitrió Docker", + "Docker Hosts": "Amfitrions Docker", + "Domain": "Domini", + "Workstation": "Estació de treball", + "Packet Size": "Mida del paquet", + "Bot Token": "Testimoni de bot", + "wayToGetTelegramToken": "Podeu obtenir un testimoni de {0}.", + "Chat ID": "ID de xat", + "telegramMessageThreadID": "(Opcional) ID del fil del missatge", + "telegramMessageThreadIDDescription": "Identificador únic opcional per al fil del missatge de destinació (tema) del fòrum; només per als supergrups del fòrum", + "telegramSendSilently": "Envia silenciosament", + "telegramProtectContent": "Protegeix la reenviament/desament", + "supportTelegramChatID": "Admet xat directe / grup / ID de xat del canal", + "YOUR BOT TOKEN HERE": "EL VOSTRE TESTIMONI DE BOT AQUÍ", + "chatIDNotFound": "No s'ha trobat l'ID del xat; primer envieu un missatge a aquest bot", + "disableCloudflaredNoAuthMsg": "Esteu en mode No Auth, no cal una contrasenya.", + "wayToGetLineNotifyToken": "Podeu obtenir un testimoni d'accés des de {0}", + "Examples": "Exemples", + "Home Assistant URL": "URL de l'assistent d'inici", + "Long-Lived Access Token": "Testimoni d'accés viu", + "Notification Service": "Servei de notificacions", + "Automations can optionally be triggered in Home Assistant:": "Les automatitzacions es poden activar opcionalment a l'assistent d'inici:", + "Trigger type:": "Tipus d'activador:", + "Event type:": "Tipus d'esdeveniment:", + "Event data:": "Dades de l'esdeveniment:", + "Then choose an action, for example switch the scene to where an RGB light is red.": "A continuació, trieu una acció, per exemple, canvieu l'escena a on una llum RGB és vermella.", + "Frontend Version": "Versió del frontal", + "Frontend Version do not match backend version!": "La versió frontal no coincideix amb la versió del dorsal!", + "backupRecommend": "Si us plau, feu una còpia de seguretat del volum o de la carpeta de dades (./data/) directament.", + "Optional": "Opcional", + "and": "i", + "startDateTime": "Data/hora d'inici", + "endDateTime": "Data/hora final", + "cronExpression": "Expressió Cron", + "cronSchedule": "Planificació: ", + "invalidCronExpression": "Expressió Cron no vàlida: {0}", + "recurringInterval": "Interval", + "Recurring": "Recurrència", + "strategyManual": "Activa/Inactiva manualment", + "warningTimezone": "Està utilitzant la zona horària del servidor", + "weekdayShortMon": "Dill", + "weekdayShortTue": "Dim", + "weekdayShortWed": "Dim", + "weekdayShortThu": "Dij", + "weekdayShortFri": "Div", + "weekdayShortSat": "Diss", + "weekdayShortSun": "Dg", + "dayOfWeek": "Dia de la setmana", + "dayOfMonth": "Dia del mes", + "lastDay": "Últim dia", + "lastDay2": "2n últim dia del mes", + "lastDay3": "3r Darrer Dia del Mes", + "lastDay4": "4t Darrer Dia del Mes", + "No Maintenance": "Sense manteniment", + "maintenanceStatus-under-maintenance": "Sota manteniment", + "maintenanceStatus-inactive": "Inactiu", + "maintenanceStatus-scheduled": "Programat", + "maintenanceStatus-unknown": "Desconegut", + "Server Timezone": "Zona horària del servidor", + "statusPageMaintenanceEndDate": "Final", + "IconUrl": "URL de la icona", + "Enable DNS Cache": "(Obsolet) Habilita la memòria cau DNS per als monitors HTTP(s)", + "Enable": "Habilita", + "Disable": "Desactiva", + "chromeExecutable": "Executable Chrome/Chromium", + "chromeExecutableAutoDetect": "Detecció automàtica", + "dnsCacheDescription": "Pot ser que no funcioni treballant amb entorns IPv6, desactiva'l si detectes qualsevol problema.", + "Single Maintenance Window": "Finestra de Manteniment únic", + "Maintenance Time Window of a Day": "Finestra de Temps del manteniment d'un Dia", + "Effective Date Range": "Rang de data eficaç (Opcional)", + "Schedule Maintenance": "Programa de manteniment", + "Edit Maintenance": "Edita el manteniment", + "Date and Time": "Data i hora", + "DateTime Range": "Rang de data i temps", + "loadingError": "Impossible obtenir la data, si us plau prova-ho més endavant.", + "plugin": "Connector | Connectors", + "install": "Instal·la", + "installing": "Instal·lant", + "uninstall": "Desinstal·la", + "confirmUninstallPlugin": "Estàs segur de desinstal·lar aquest connector?", + "notificationRegional": "Regional", + "Clone Monitor": "Clona el monitor", + "Clone": "Clona", + "cloneOf": "Clon de {0}", + "secureOptionNone": "Cap / STARTTLS (25, 587)", + "secureOptionTLS": "TLS (465)", + "Ignore TLS Error": "Ignora error TLS", + "From Email": "Des de Correu", + "emailCustomisableContent": "Contingut personalitzable", + "emailCustomSubject": "Tema personalitzable", + "leave blank for default subject": "deixar en blanc per tema per defecte", + "emailCustomBody": "Cos personalitzat", + "leave blank for default body": "deixa en blanc per un cos per defecte", + "emailTemplateServiceName": "Nom de servei", + "emailTemplateHostnameOrURL": "Nom de host o URL", + "emailTemplateStatus": "Estat", + "emailTemplateMonitorJSON": "objecte que descriu el monitor", + "emailTemplateHeartbeatJSON": "objecte que descriu el batec del cor", + "To Email": "Destí email", + "smtpCC": "CC", + "smtpBCC": "BCC", + "Discord Webhook URL": "Discord Webhook URL", + "wayToGetDiscordURL": "Pots rebre aquest per anar a Paràmetres de Servidor -> Integracions -> Vista *Webhooks -> Nou *Webhook", + "Bot Display Name": "Nom de pantalla de bot", + "Prefix Custom Message": "Prefix de missatge personalitzat", + "Hello @everyone is...": "Hola {'@'} a tothom …", + "Send to channel": "Envia al canal", + "Create new forum post": "Crea una nova publicació", + "postToExistingThread": "Publica a un fil existent", + "forumPostName": "Nom de publicació de fòrum", + "threadForumPostID": "Fil / identificador de fòrum", + "e.g. {discordThreadID}": "exemple {discordThreadID}", + "wayToGetTeamsURL": "Pot aprendre com crear una URL de webhook {0}.", + "wayToGetZohoCliqURL": "Pot aprendre com crear una URL de webhook {0}.", + "needSignalAPI": "Necessites tenir una senyal de client amb REST API.", + "wayToCheckSignalURL": "Pot comprovar aquesta URL per veure com configurar:", + "Number": "Número", + "Recipients": "Receptors", + "Access Token": "Fitxa d'accés", + "Channel access token (Long-lived)": "Fitxa d'accés del canal (de llarga vida)", + "Line Developers Console": "Consola de Desenvolupadors de la línia", + "appriseNotInstalled": "L'apèndix no està instal·lat. {0}", + "Method": "Mètode", + "clearDataOlderThan": "Conserva les dades de l'historial del monitor durant {0} dies.", + "steamApiKeyDescription": "Per a monitoritzar un servidor de jocs de vapor, necessiteu una clau Steam Web-API. Podeu registrar la vostra clau API aquí: ", + "shrinkDatabaseDescriptionSqlite": "Activa la base de dades {vacuum} per a SQLite. {auto.vacuum} ja està activat, però això no desfragmenta la base de dades ni reempaqueta les pàgines individuals de la base de dades de la manera com ho fa l'ordre {vacuum}.", + "liquidIntroduction": "S'aconsegueix la flexibilitat mitjançant el llenguatge de templatació líquid. Consulteu el {0} per a les instruccions d'ús. Aquestes són les variables disponibles:", + "selectedMonitorCount": "Seleccionat: {0}", + "deleteStatusPageMsg": "Esteu segur que voleu suprimir aquesta pàgina d'estat?", + "proxyDescription": "Els intermediaris s'han d'assignar a un monitor perquè funcioni.", + "enableProxyDescription": "Aquest servidor intermediari no afectarà les sol·licituds del monitor fins que estigui activat. Podeu controlar temporalment desactivar el servidor intermediari de tots els monitors per l'estat d'activació.", + "statusPageSpecialSlugDesc": "Àlies especial {0}: aquesta pàgina es mostrarà quan no es proporcioni l'àlies", + "Authentication": "Autenticació", + "Page Not Found": "Pàgina no trobada", + "Don't know how to get the token? Please read the guide:": "No saps com aconseguir el testimoni? Si us plau, llegiu la guia:", + "The current connection may be lost if you are currently connecting via Cloudflare Tunnel. Are you sure want to stop it? Type your current password to confirm it.": "La connexió actual es pot perdre si esteu connectant a través del túnel Cloudflare. Segur que voleu aturar-ho? Escriviu la contrasenya actual per confirmar-la.", + "Refresh Interval": "Interval de refresc", + "signedInDispDisabled": "Autenticació desactivada.", + "RadiusCalledStationIdDescription": "Identificador del dispositiu anomenat", + "Also check beta release": "Comprova també la versió beta", + "The resource is no longer available.": "El recurs ja no està disponible.", + "certificationExpiryDescription": "Els monitors HTTPS activen la notificació quan el certificat TLS caduca a:", + "deleteDockerHostMsg": "Esteu segur que voleu suprimir aquest amfitrió de l'acoblador per a tots els monitors?", + "tailscalePingWarning": "Per utilitzar el monitor de Ping Tailscale, heu d'instal·lar el Kuma Uptime sense Docker i també instal·lar el client Tailscale al vostre servidor.", + "telegramSendSilentlyDescription": "Envia el missatge en silenci. Els usuaris rebran una notificació sense so.", + "telegramProtectContentDescription": "Si està activat, els missatges del bot del Telegram estaran protegits contra reenviaments i desaments.", + "wayToGetTelegramChatID": "Podeu obtenir el vostre ID de xat enviant un missatge al bot i anant a aquest URL per veure el xat id:", + "trustProxyDescription": "Confia en les capçaleres «X-Forwarded-*». Si voleu obtenir la IP del client correcta i el vostre Kuma Uptime està darrere d'un servidor intermediari com Nginx o Apache, hauríeu d'activar-ho.", + "Long-Lived Access Token can be created by clicking on your profile name (bottom left) and scrolling to the bottom then click Create Token. ": "Es pot crear un testimoni d'accés de llarga durada fent clic al nom del vostre perfil (a baix a l'esquerra) i desplaçant-vos a la part inferior i després feu clic a Crea un testimoni. ", + "default: notify all devices": "per defecte: notifica tots els dispositius", + "A list of Notification Services can be found in Home Assistant under \"Developer Tools > Services\" search for \"notification\" to find your device/phone name.": "Podeu trobar una llista dels Serveis de Notificació a l'assistent d'inici a «Eines de revelador . Serveis» cerca «notificació» per trobar el nom del vostre dispositiu/telèfon.", + "backupOutdatedWarning": "Obsolet: Atès que s'han afegit moltes característiques i aquesta funció de còpia de seguretat és una mica inexistent, no pot generar o restaurar una còpia de seguretat completa.", + "lastDay1": "L'últim dia del mes", + "pauseMaintenanceMsg": "Segur que voleu fer una pausa?", + "maintenanceStatus-ended": "Finalitzat", + "Display Timezone": "Mostra la zona horària", + "enableNSCD": "Habilita NSCD (Dimoni de memòria cau de Servei del Nom ) per accelerar les sol·licituds de DNS", + "chromeExecutableDescription": "Per a usuaris de Docker, si el Chrome no està encara instal·lat, pot dur uns quants minuts per instal·lar i mostrar el resultat de prova. Duu 1*GB d'espai de disc.", + "uninstalling": "Desinstal·lant", + "smtp": "Correu electrònic (SMTP)", + "smtpLiquidIntroduction": "Els següents dos camps són personalitzables via \"Liquid templating Language\". Per favor refereix al {0} per a instruccions d'ús. Aquests són les variables disponibles:", + "emailTemplateMsg": "missatge de la notificació", + "emailTemplateLimitedToUpDownNotification": "només disponible per estats UP/Down, altrament null", + "Select message type": "Selecciona el tipus de missatge", + "whatHappensAtForumPost": "Crea una nova publicació de fòrum. Això no publica un missatge a un fòrum existent. Per publicar un fil existent utilitza \"{option}\"", + "Channel access token": "Fitxa d'accés del canal", + "Body": "Cos", + "or": "o", + "PushUrl": "URL de captura", + "HeadersInvalidFormat": "Les capçaleres de sol·licitud no són JSON vàlides: ", + "BodyInvalidFormat": "El cos de petició no és JSON vàlid: ", + "Security": "Seguretat", + "Pick Accepted Status Codes...": "Trieu els codis d'estat acceptats…", + "error": "error", + "critical": "crítica", + "Please input title and content": "Introduïu el títol i el contingut" } From b71c44efa01088d9e80e469a9d65a3e3ccd99a38 Mon Sep 17 00:00:00 2001 From: Dominik727 Date: Thu, 27 Mar 2025 19:15:23 +0000 Subject: [PATCH 194/226] Translated using Weblate (Hungarian) Currently translated at 100.0% (1053 of 1053 strings) Co-authored-by: Dominik727 Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/hu/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/hu.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lang/hu.json b/src/lang/hu.json index cdc6a7145..2b0b8a625 100644 --- a/src/lang/hu.json +++ b/src/lang/hu.json @@ -542,7 +542,7 @@ "chromeExecutableAutoDetect": "Automatikus felismerés", "emailTemplateStatus": "Státusz", "deleteMaintenanceMsg": "Biztosan törölni szeretné ezt a karbantartást?", - "apiKeyAddedMsg": "Az ön API kulcsa létrejött. Kérjük jegyezze fel, mert nem lesz a felületen elérhető!", + "apiKeyAddedMsg": "Az ön API kulcsa létrejött. Kérjük jegyezze fel, mert nem lesz a felületen elérhető a jövőben!", "Expires": "Lejár", "disableAPIKeyMsg": "Biztosan le fel szeretné függeszteni ezt az API kulcsot?", "Key Added": "Kulcs létrehozva", @@ -972,14 +972,14 @@ "RabbitMQ Password": "RabbitMQ jelszó", "SendGrid API Key": "SendGrid API kulcs", "pagertreeHigh": "Magas", - "noOrBadCertificate": "Hiányzó/Hibás tanúsítvány", + "noOrBadCertificate": "Nincs/rossz tanúsítvány", "whatHappensAtForumPost": "Új fórumbejegyzés létrehozása. NEM küldi el a meglévő hozzászólásokhoz. Meglévő hozzászólásokhoz az \"{option}\" használatával lehet hozzászólni", "snmpCommunityStringHelptext": "Ez a karakterlánc jelszóként szolgál az SNMP-kompatibilis eszközök hitelesítésére és a hozzáférés ellenőrzésére. Egyeztesse az SNMP-eszköz konfigurációjával.", "snmpOIDHelptext": "Adja meg a megfigyelni kívánt érzékelő vagy állapot OID azonosítóját. Ha nem biztos az OID-ben, használjon hálózatirányítási eszközöket, például MIB-böngészőket vagy SNMP-szoftvereket.", "privateOnesenderDesc": "Győződjön meg róla, hogy a telefonszám érvényes. Üzenet küldése privát telefonszámra, például: 628123456789", "Authorization Header": "Hitelesítési Fejléc", "wayToGetDiscordThreadId": "Szál / fórum bejegyzés ID lekérése hasonló, a csatorna ID lekéréséhez. Itt olvashatsz tovább az ID-k lekérésől{0}", - "Badge Type": "Jelvény Típusa", + "Badge Type": "Jelvény típusa", "Badge Duration (in hours)": "Jelvény Időtartam (órákban)", "Badge Label": "Jelvény Címke", "Badge Prefix": "Jelvény Érték Előtag", From dbec3fcc133a1e084659fe0b676c0e4fb6ebfee8 Mon Sep 17 00:00:00 2001 From: Black Date: Thu, 27 Mar 2025 19:15:24 +0000 Subject: [PATCH 195/226] Translated using Weblate (Romanian) Currently translated at 100.0% (1053 of 1053 strings) Translated using Weblate (Romanian) Currently translated at 97.2% (1024 of 1053 strings) Co-authored-by: Black Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ro/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/ro.json | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/src/lang/ro.json b/src/lang/ro.json index cfbd33808..5f2e14344 100644 --- a/src/lang/ro.json +++ b/src/lang/ro.json @@ -1039,5 +1039,43 @@ "less than": "mai puțin decât", "less than or equal to": "mai mic sau egal cu", "greater than or equal to": "mai mare sau egal cu", - "record": "înregistrare" + "record": "înregistrare", + "aboutSlackUsername": "Modifică numele afișat al expeditorului mesajului. Dacă doriți să menționați pe cineva, includeți-l în numele prietenos.", + "Custom sound to override default notification sound": "Sunet personalizat pentru a înlocui sunetul de notificare implicit", + "ignoredTLSError": "Erorile TLS/SSL au fost ignorate", + "Message format": "Formatul mesajului", + "Send rich messages": "Trimiteți mesaje complexe", + "Notification Channel": "Canal de notificare", + "Sound": "Sunet", + "Alphanumerical string and hyphens only": "Doar șir de caractere alfanumerice și liniuțe", + "Arcade": "Galerie", + "RabbitMQ Username": "Utilizator RabbitMQ", + "Time sensitive notifications will be delivered immediately, even if the device is in do not disturb mode.": "Notificările \"time sensitive\" vor fi livrate imediat, chiar dacă dispozitivul este în modul „nu deranjați”.", + "rabbitmqNodesDescription": "Introduceți adresa URL pentru nodurile de gestionare RabbitMQ, inclusiv protocolul și portul. Exemplu: {0}", + "rabbitmqHelpText": "Pentru a utiliza monitorul, va trebui să activați plugin-ul de gestionare în configurația RabbitMQ. Pentru mai multe informații, vă rugăm să consultați {rabitmq_documentation}.", + "Time Sensitive (iOS Only)": "Time Sensitive (numai iOS)", + "From": "De la", + "Can be found on:": "Poate fi găsit la: {0}", + "The phone number of the recipient in E.164 format.": "Numărul de telefon al destinatarului în format E.164.", + "Either a text sender ID or a phone number in E.164 format if you want to be able to receive replies.": "Fie un ID expeditor text, fie un număr de telefon în format E.164, dacă doriți să puteți primi răspunsuri.", + "RabbitMQ Nodes": "Noduri de gestionare RabbitMQ", + "Money": "Bani", + "Scifi": "SF", + "Elevator": "Lift", + "Guitar": "Chitară", + "Pop": "Pop", + "Harp": "Harpă", + "Reveal": "Dezvăluire", + "Bubble": "Bule", + "Doorbell": "Sonerie", + "Flute": "Flaut", + "Clear": "Clar", + "rabbitmqNodesRequired": "Vă rugăm să setați nodurile pentru acest monitor.", + "rabbitmqNodesInvalid": "Vă rugăm să utilizați o adresă URL complet calificată (începând cu „http”) pentru nodurile RabbitMQ.", + "RabbitMQ Password": "Parolă RabbitMQ", + "SendGrid API Key": "Cheia API SendGrid", + "Separate multiple email addresses with commas": "Separați adresele de e-mail multiple cu virgule", + "Correct": "Corect", + "Fail": "Eșec", + "shrinkDatabaseDescriptionSqlite": "Declanșează comanda {vacuum} pentru baza de date SQLite. {auto_vacuum} este deja activat, dar acest lucru nu defragmentează baza de date și nici nu reîmpachetează paginile individuale ale bazei de date așa cum o face comanda {vacuum}." } From 35dfd5c6842f29d8be07b9c6c5ddb3de7eb8d74d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Nov=C3=A1k?= Date: Thu, 27 Mar 2025 19:15:24 +0000 Subject: [PATCH 196/226] Translated using Weblate (Slovak) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 55.1% (581 of 1053 strings) Co-authored-by: Tomáš Novák Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/sk/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/sk.json | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/src/lang/sk.json b/src/lang/sk.json index 5c5582650..55ab4a0a1 100644 --- a/src/lang/sk.json +++ b/src/lang/sk.json @@ -558,5 +558,29 @@ "A list of Notification Services can be found in Home Assistant under \"Developer Tools > Services\" search for \"notification\" to find your device/phone name.": "Zoznam notifikačných služieb nájdete v aplikácii Home Assistant v časti „Nástroje pre vývojárov > Služby“, kde vyhľadajte položku „ notifikácia“ a nájdite názov svojho zariadenia/telefónu.", "tailscalePingWarning": "Ak chcete používať sledovanie Tailscale Ping, musíte nainštalovať aplikáciu Uptime Kuma bez nástroja Docker a tiež nainštalovať klienta Tailscale na server.", "Enable": "Povoliť", - "Enable DNS Cache": "(Zastarané) Povoliť vyrovnávaciu pamäť DNS pre HTTP(s) sledovania" + "Enable DNS Cache": "(Zastarané) Povoliť vyrovnávaciu pamäť DNS pre HTTP(s) sledovania", + "Post": "Publikovať", + "Not running": "Nebeží", + "RadiusSecret": "Radius Secret", + "cronExpression": "CRON výraz", + "Maintenance Time Window of a Day": "Časové okno pre údržbu v daný deň", + "Hello @everyone is...": "Dobrý deň, {'@'}všetci sú…", + "clearHeartbeatsMsg": "Naozaj chcete odstrániť všetky heartbeaty pre tento monitoring?", + "Trust Proxy": "Dôveryhodná proxy", + "RadiusCalledStationId": "ID volaného zariadenia", + "Connection String": "Connection String", + "socket": "Socket", + "Line Developers Console": "Konzola Line Developers", + "confirmClearStatisticsMsg": "Naozaj chcete odstrániť VŠETKY štatistiky?", + "-year": "-rok", + "and": "a", + "shrinkDatabaseDescriptionSqlite": "Podmienka spustenia príkazu pre SQLite databázu. Príkaz {auto_vacuum} je už zapnutý, ale nedochádza k defragmentácii databázy ani k prebaleniu jednotlivých stránok databázy ako to robí príkaz {vacuum}.", + "lineDevConsoleTo": "Konzola Line Developers - {0}", + "clearEventsMsg": "Naozaj chcete odstrániť všetky udalosti pre tento monitoring?", + "now": "teraz", + "time ago": "pred {0}", + "Json Query Expression": "Výraz dotazu JSON", + "ignoredTLSError": "Chyby TLS/SSL boli ignorované", + "Add a new expiry notification day": "Pridať nové oznámenie o vypršaní platnosti", + "chromeExecutable": "Spustitelný súbor Chrome/Chromium" } From 93bcfe76da6f098d27223e697c25b5d74f97d52e Mon Sep 17 00:00:00 2001 From: svalo Date: Thu, 27 Mar 2025 19:15:24 +0000 Subject: [PATCH 197/226] Translated using Weblate (Italian) Currently translated at 67.1% (707 of 1053 strings) Co-authored-by: svalo Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/it/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/it-IT.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lang/it-IT.json b/src/lang/it-IT.json index 503cfc6c6..12278ff29 100644 --- a/src/lang/it-IT.json +++ b/src/lang/it-IT.json @@ -114,7 +114,7 @@ "Username": "Nome utente", "Password": "Password", "Remember me": "Ricorda credenziali", - "Login": "Accesso", + "Login": "Accedi", "No Monitors, please": "Nessun monitor presente,", "add one": "aggiungine uno", "Notification Type": "Servizio di notifica", @@ -559,7 +559,7 @@ "dataRetentionTimeError": "Il periodo di conservazione deve essere pari o superiore a 0", "infiniteRetention": "Impostare su 0 per la conservazione infinita.", "enableGRPCTls": "Consenti l'invio di richieste gRPC con connessione TLS", - "grpcMethodDescription": "Il nome del metodo viene convertito nel formato cammelCase come sayHello, check, ecc.", + "grpcMethodDescription": "Il nome del metodo viene convertito nel formato camelCase come sayHello, check, ecc.", "styleElapsedTimeShowNoLine": "Mostra (nessuna riga)", "Add New Tag": "Aggiungi nuova etichetta", "webhookCustomBodyDesc": "Definire un corpo HTTP personalizzato per la richiesta. Le variabili modello {msg}, {heartbeat}, {monitor} sono accettate.", From f563f49bf063549da7963ba5effb8d6ea92c310b Mon Sep 17 00:00:00 2001 From: Melroy van den Berg Date: Thu, 27 Mar 2025 19:15:24 +0000 Subject: [PATCH 198/226] Translated using Weblate (Dutch) Currently translated at 100.0% (1053 of 1053 strings) Co-authored-by: Melroy van den Berg Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/nl/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/nl-NL.json | 50 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) diff --git a/src/lang/nl-NL.json b/src/lang/nl-NL.json index 56b180e53..4ddb77624 100644 --- a/src/lang/nl-NL.json +++ b/src/lang/nl-NL.json @@ -1041,5 +1041,53 @@ "less than": "minder dan", "greater than": "meer dan", "record": "dossier", - "jsonQueryDescription": "Parseer en haal specifieke gegevens uit de JSON-respons van de server met behulp van JSON-query of gebruik \"$\" voor de onbewerkte respons, als u geen JSON verwacht. Het resultaat wordt vervolgens vergeleken met de verwachte waarde, als strings. Zie {0} voor documentatie en gebruik {1} om te experimenteren met query's." + "jsonQueryDescription": "Parseer en haal specifieke gegevens uit de JSON-respons van de server met behulp van JSON-query of gebruik \"$\" voor de onbewerkte respons, als u geen JSON verwacht. Het resultaat wordt vervolgens vergeleken met de verwachte waarde, als strings. Zie {0} voor documentatie en gebruik {1} om te experimenteren met query's.", + "rabbitmqNodesDescription": "Voer het URL voor de RabbitMQ beheerkooppunt inclusief protocol en poort in. Bijvoorbeeld: {0}", + "rabbitmqNodesRequired": "Aub stel de knooppunten voor deze monitor in.", + "rabbitmqNodesInvalid": "Stel gebruik een volledig gekwalificeerde (beginnend met 'http') URL voor RabbitMQ-knooppunten.", + "RabbitMQ Username": "RabbitMQ gebruikersnaam", + "RabbitMQ Password": "RabbitMQ wachtwoord", + "rabbitmqHelpText": "Om gebruik te maken van de monitor moet je de Management Plugin in de RabbitMQ setup aanzetten. Voor meer informatie zie de {rabitmq_documentatie}.", + "SendGrid API Key": "SendGrid API sleutel", + "Separate multiple email addresses with commas": "Splits meerdere emailadressen met kommas", + "RabbitMQ Nodes": "RabbitMQ Beheerknoppunten", + "shrinkDatabaseDescriptionSqlite": "Trigger database {vacuum} voor SQLite. {auto_vacuum} is al ingeschakeld, maar hiermee wordt de database niet gedefragmenteerd en worden ook databasepagina's niet afzonderlijke opnieuw ingepakt zoals de opdracht {vacuum} dat doet.", + "aboutSlackUsername": "Wijzigt de weergavenaam van de afzender van het bericht. Als je iemand wilt vermelden, voer in dat geval de naam in als vriendelijke naam.", + "cacheBusterParam": "Voeg de parameter {0} toe", + "Form Data Body": "Formulier Gegevens Content", + "Optional: Space separated list of scopes": "Optioneel: Reikwijdte door spaties gescheiden lijst", + "Alphanumerical string and hyphens only": "Alleen alfanumerieke tekenreeksen en koppeltekens", + "Time sensitive notifications will be delivered immediately, even if the device is in do not disturb mode.": "Tijdsgevoelige meldingen worden meteen afgeleverd, zelfs als het apparaat in niet storen modus staat.", + "Message format": "Berichtformaat", + "Send rich messages": "Stuur rijke berichten", + "OAuth Scope": "OAuth Reikwijdte", + "equals": "gelijk aan", + "not equals": "niet gelijk aan", + "less than or equal to": "kleiner dan of gelijk aan", + "greater than or equal to": "groter dan of gelijk aan", + "Notification Channel": "Meldingskanaal", + "Sound": "Geluid", + "Arcade": "Speelhal", + "Correct": "Juist", + "Fail": "Mislukt", + "Harp": "Harp", + "Reveal": "Laat zien", + "Bubble": "Bubbel", + "Doorbell": "Deurbel", + "Flute": "Fluit", + "Money": "Geld", + "Scifi": "Science fiction", + "Guitar": "Gitaar", + "Custom sound to override default notification sound": "Aangepast geluid om het standaard geluid te vervangen", + "Time Sensitive (iOS Only)": "Tijdsgevoelig (alleen voor iOs)", + "From": "Van", + "Can be found on:": "Kan gevonden worden op: {0}", + "The phone number of the recipient in E.164 format.": "Het telefoonnummer van de ontvanger in E.164 formaat", + "Either a text sender ID or a phone number in E.164 format if you want to be able to receive replies.": "Ofwel een sms zender ID of een telefoonnummer in E.164 formaat als je reacties wil ontvangen.", + "Clear": "Helder", + "Elevator": "Lift", + "Pop": "Pop", + "Community String": "Gemeenschap Tekst", + "Json Query Expression": "Json Query Expressie", + "ignoredTLSError": "TLS/SSL-fouten zijn genegeerd" } From 061406d7d14dbd50b3b84204834e13133d1e2f8a Mon Sep 17 00:00:00 2001 From: yasin Date: Thu, 27 Mar 2025 19:15:24 +0000 Subject: [PATCH 199/226] Translated using Weblate (Turkish) Currently translated at 100.0% (1053 of 1053 strings) Co-authored-by: yasin Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/tr/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/tr-TR.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lang/tr-TR.json b/src/lang/tr-TR.json index 5c936f06c..608ba8618 100644 --- a/src/lang/tr-TR.json +++ b/src/lang/tr-TR.json @@ -1,5 +1,5 @@ { - "languageName": "Türkçe", + "languageName": "English", "checkEverySecond": "{0} saniyede bir kontrol et", "retryCheckEverySecond": "{0} saniyede bir dene", "resendEveryXTimes": "Her {0} bir yeniden gönder", @@ -201,7 +201,7 @@ "Chat ID": "Chat ID", "supportTelegramChatID": "Doğrudan Sohbet / Grup / Kanalın Sohbet Kimliğini Destekleyin", "wayToGetTelegramChatID": "Bot'a bir mesaj göndererek ve chat_id'yi görüntülemek için bu URL'ye giderek sohbet kimliğinizi alabilirsiniz:", - "YOUR BOT TOKEN HERE": "BOT TOKENİNİZ BURADA", + "YOUR BOT TOKEN HERE": "BOT TOKENİNİZ BURAYA", "chatIDNotFound": "Chat ID bulunamadı; lütfen önce bu bota bir mesaj gönderin", "webhook": "Webhook", "Post URL": "Post URL", From 937177177e9d0d361b38f97240db18fcea9338fb Mon Sep 17 00:00:00 2001 From: MrEddX Date: Thu, 27 Mar 2025 19:15:24 +0000 Subject: [PATCH 200/226] Translated using Weblate (Bulgarian) Currently translated at 100.0% (1069 of 1069 strings) Translated using Weblate (Bulgarian) Currently translated at 100.0% (1067 of 1067 strings) Translated using Weblate (Bulgarian) Currently translated at 100.0% (1061 of 1061 strings) Translated using Weblate (Bulgarian) Currently translated at 100.0% (1055 of 1055 strings) Co-authored-by: MrEddX Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/bg/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/bg-BG.json | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/lang/bg-BG.json b/src/lang/bg-BG.json index e18ded380..1154af1b0 100644 --- a/src/lang/bg-BG.json +++ b/src/lang/bg-BG.json @@ -1098,5 +1098,24 @@ "RabbitMQ Nodes": "Възли за управление на RabbitMQ", "rabbitmqNodesDescription": "Въведете URL адреса на възлите за управление на RabbitMQ, включително протокол и порт. Пример: {0}", "rabbitmqHelpText": "За да използвате монитора, ще трябва да активирате добавката за управление във вашата настройка на RabbitMQ. За повече информация моля, вижте {rabitmq_documentation}.", - "aboutSlackUsername": "Променя показваното име на подателя на съобщението. Ако желаете да споменете някого, вместо това го включете в приятелското име." + "aboutSlackUsername": "Променя показваното име на подателя на съобщението. Ако желаете да споменете някого, вместо това го включете в приятелското име.", + "YZJ Robot Token": "YZJ Robot токен код", + "YZJ Webhook URL": "YZJ Уеб кука URL адрес", + "templateServiceName": "име на услугата", + "templateHostnameOrURL": "име на хоста или URL адрес", + "Plain Text": "Обикновен текст", + "Message Template": "Шаблон за съобщение", + "templateStatus": "статус", + "telegramUseTemplate": "Използвай персонализиран шаблон за съобщение", + "telegramUseTemplateDescription": "Ако е активирано, съобщението ще бъде изпратено чрез персонализиран шаблон.", + "telegramTemplateFormatDescription": "Telegram позволява използването на различни \"markup\" езици за съобщенията. Вижте Telegram {0} за детайли.", + "Template Format": "Формат на шаблона", + "wayToGetWahaApiUrl": "Вашият WAHA URL адрес.", + "wahaSession": "Сесия", + "wahaChatId": "Чат ID (телефонен номер / ID на контакт / ID на група)", + "wayToGetWahaApiKey": "API ключът, е стойността на променливата WHATSAPP_API_KEY, която сте използвали за стартиране на WAHA.", + "wayToWriteWahaChatId": "Телефонният номер с международния префикс, но без знака плюс в началото ({0}), ID на контакта ({1}) или ID на групата ({2}). Известията се изпращат до това чат ID от WAHA сесия.", + "wayToGetWahaSession": "От тази сесия WAHA изпраща известия до чат ID. Можете да го намерите в таблото за управление на WAHA.", + "telegramServerUrlDescription": "За премахване на API бот ограниченията за Telegram или за получаване на достъп в блокирани зони (Китай, Иран и др.). За повече информация щракнете върху {0}. По подразбиране: {1}", + "telegramServerUrl": "(По избор) URL адрес на сървъра" } From eb9fc9a68d3c6d2b52b6ee69a0d9a1d5812144ec Mon Sep 17 00:00:00 2001 From: Marco Date: Thu, 27 Mar 2025 19:15:24 +0000 Subject: [PATCH 201/226] Translated using Weblate (German) Currently translated at 100.0% (1069 of 1069 strings) Translated using Weblate (German (Switzerland)) Currently translated at 100.0% (1069 of 1069 strings) Translated using Weblate (German) Currently translated at 100.0% (1067 of 1067 strings) Translated using Weblate (German (Switzerland)) Currently translated at 100.0% (1067 of 1067 strings) Translated using Weblate (German) Currently translated at 100.0% (1061 of 1061 strings) Translated using Weblate (German (Switzerland)) Currently translated at 100.0% (1061 of 1061 strings) Co-authored-by: Marco Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/de/ Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/de_CH/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/de-CH.json | 21 ++++++++++++++++++++- src/lang/de-DE.json | 21 ++++++++++++++++++++- 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/src/lang/de-CH.json b/src/lang/de-CH.json index 15b60519f..85a921ee9 100644 --- a/src/lang/de-CH.json +++ b/src/lang/de-CH.json @@ -1095,5 +1095,24 @@ "Separate multiple email addresses with commas": "Mehrere E-Mail-Adressen mit Kommas trennen", "rabbitmqNodesInvalid": "Benutze eine vollständig qualifizierte URL (beginnend mit 'http') für RabbitMQ-Knoten.", "rabbitmqHelpText": "Um den Monitor zu benutzen, musst du das Management Plugin in deinem RabbitMQ-Setup aktivieren. Weitere Informationen siehe {rabitmq_documentation}.", - "aboutSlackUsername": "Ändert den Anzeigenamen des Absenders. Wenn du jemanden erwähnen möchtest, füge ihn stattdessen in den Namen ein." + "aboutSlackUsername": "Ändert den Anzeigenamen des Absenders. Wenn du jemanden erwähnen möchtest, füge ihn stattdessen in den Namen ein.", + "templateHostnameOrURL": "Hostname oder URL", + "telegramUseTemplate": "Benutzerdefinierte Nachrichtenvorlage verwenden", + "telegramUseTemplateDescription": "Wenn diese Option aktiviert ist, wird die Nachricht unter Verwendung einer benutzerdefinierten Vorlage gesendet.", + "templateServiceName": "Service-Name", + "YZJ Webhook URL": "YZJ Webhook URL", + "YZJ Robot Token": "YZJ Robot Token", + "templateStatus": "Status", + "telegramTemplateFormatDescription": "Telegram ermöglicht die Verwendung verschiedener Markup-Sprachen für Nachrichten, siehe Telegram {0} für spezifische Details.", + "Plain Text": "Nur Text", + "Message Template": "Nachrichtenvorlage", + "Template Format": "Vorlagenformat", + "wayToGetWahaApiUrl": "Die URL deiner WAHA-Instanz.", + "wayToGetWahaSession": "Von dieser Sitzung aus sendet WAHA Benachrichtigungen an die Chat-ID. Du kannst sie im WAHA Dashboard finden.", + "wahaSession": "Sitzung", + "wahaChatId": "Chat-ID (Telefonnummer / Kontakt-ID / Gruppen-ID)", + "wayToGetWahaApiKey": "API-Schlüssel ist der Wert der WHATSAPP_API_KEY-Umgebungsvariable, den du beim Ausführen von WAHA verwendet hast.", + "wayToWriteWahaChatId": "Die Telefonnummer mit internationaler Vorwahl, ohne den anfänglichen Pluszeichen ({0}), die Kontakt-ID ({1}) oder die Gruppen-ID ({2}). Die Benachrichtigungen werden an diese Chat-ID von der WAHA-Sitzung gesendet.", + "telegramServerUrl": "(Optional) Server URL", + "telegramServerUrlDescription": "Um die Telegram-Bot-API-Beschränkungen aufzuheben oder in gesperrten Gebieten (China, Iran usw.) Zugriff zu erhalten. Weitere Informationen findest du unter {0}. Standard: {1}" } diff --git a/src/lang/de-DE.json b/src/lang/de-DE.json index 9102d8e94..5aff2e344 100644 --- a/src/lang/de-DE.json +++ b/src/lang/de-DE.json @@ -1098,5 +1098,24 @@ "rabbitmqNodesDescription": "Gib die URL für die RabbitMQ-Verwaltungsknoten einschließlich Protokoll und Port ein. Beispiel: {0}", "rabbitmqNodesInvalid": "Benutze eine vollständig qualifizierte URL (beginnend mit 'http') für RabbitMQ-Knoten.", "rabbitmqHelpText": "Um den Monitor zu benutzen, musst du das Management Plugin in deinem RabbitMQ-Setup aktivieren. Weitere Informationen siehe {rabitmq_documentation}.", - "aboutSlackUsername": "Ändert den Anzeigenamen des Absenders. Wenn du jemanden erwähnen möchtest, füge ihn stattdessen in den Namen ein." + "aboutSlackUsername": "Ändert den Anzeigenamen des Absenders. Wenn du jemanden erwähnen möchtest, füge ihn stattdessen in den Namen ein.", + "templateHostnameOrURL": "Hostname oder URL", + "telegramUseTemplate": "Benutzerdefinierte Nachrichtenvorlage verwenden", + "telegramTemplateFormatDescription": "Telegram ermöglicht die Verwendung verschiedener Markup-Sprachen für Nachrichten, siehe Telegram {0} für spezifische Details.", + "Plain Text": "Nur Text", + "templateServiceName": "Service-Name", + "YZJ Webhook URL": "YZJ Webhook URL", + "YZJ Robot Token": "YZJ Robot Token", + "templateStatus": "Status", + "telegramUseTemplateDescription": "Wenn diese Option aktiviert ist, wird die Nachricht unter Verwendung einer benutzerdefinierten Vorlage gesendet.", + "Message Template": "Nachrichtenvorlage", + "Template Format": "Vorlagenformat", + "wayToGetWahaApiUrl": "Die URL deiner WAHA-Instanz.", + "wahaSession": "Sitzung", + "wahaChatId": "Chat-ID (Telefonnummer / Kontakt-ID / Gruppen-ID)", + "wayToGetWahaApiKey": "API-Schlüssel ist der Wert der WHATSAPP_API_KEY-Umgebungsvariable, den du beim Ausführen von WAHA verwendet hast.", + "wayToGetWahaSession": "Von dieser Sitzung aus sendet WAHA Benachrichtigungen an die Chat-ID. Du kannst sie im WAHA Dashboard finden.", + "wayToWriteWahaChatId": "Die Telefonnummer mit internationaler Vorwahl, ohne den anfänglichen Pluszeichen ({0}), die Kontakt-ID ({1}) oder die Gruppen-ID ({2}). Die Benachrichtigungen werden an diese Chat-ID von der WAHA-Sitzung gesendet.", + "telegramServerUrlDescription": "Um die Telegram-Bot-API-Beschränkungen aufzuheben oder in gesperrten Gebieten (China, Iran usw.) Zugriff zu erhalten. Weitere Informationen findest du unter {0}. Standard: {1}", + "telegramServerUrl": "(Optional) Server URL" } From c5c21668a2a6ae8f3a73372a656c24e31646896d Mon Sep 17 00:00:00 2001 From: Cyril59310 Date: Thu, 27 Mar 2025 19:15:24 +0000 Subject: [PATCH 202/226] Translated using Weblate (French) Currently translated at 100.0% (1069 of 1069 strings) Translated using Weblate (French) Currently translated at 100.0% (1067 of 1067 strings) Translated using Weblate (French) Currently translated at 100.0% (1061 of 1061 strings) Co-authored-by: Cyril59310 Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/fr/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/fr-FR.json | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/lang/fr-FR.json b/src/lang/fr-FR.json index 7300cba3e..0a6f66cd7 100644 --- a/src/lang/fr-FR.json +++ b/src/lang/fr-FR.json @@ -1098,5 +1098,24 @@ "rabbitmqHelpText": "Pour utiliser la sonde, vous devrez activer le plug-in de gestion dans votre configuration RabbitMQ. Pour plus d'informations, veuillez consulter la {rabitmq_documentation}.", "SendGrid API Key": "Clé API SendGrid", "Separate multiple email addresses with commas": "Séparez plusieurs adresses e-mail par des virgules", - "aboutSlackUsername": "Modifie le nom d'affichage de l'expéditeur du message. Si vous souhaitez mentionner quelqu’un, incluez-le plutôt dans le nom convivial." + "aboutSlackUsername": "Modifie le nom d'affichage de l'expéditeur du message. Si vous souhaitez mentionner quelqu’un, incluez-le plutôt dans le nom convivial.", + "templateHostnameOrURL": "Nom d'hôte ou URL", + "telegramUseTemplate": "Utiliser un modèle de message personnalisé", + "telegramTemplateFormatDescription": "Telegram permet d'utiliser différents langages de balisage pour les messages, voir Telegram {0} pour plus de détails.", + "Plain Text": "Texte brut", + "YZJ Webhook URL": "URL du webhook YZJ", + "YZJ Robot Token": "Jeton robot YZJ", + "templateServiceName": "Nom du service", + "templateStatus": "Status", + "telegramUseTemplateDescription": "Si cette option est activée, le message sera envoyé à l'aide d'un modèle personnalisé.", + "Message Template": "Modèle de message", + "Template Format": "Format du modèle", + "wayToGetWahaApiUrl": "L’URL de votre instance WAHA.", + "wayToGetWahaSession": "À partir de cette session, WAHA envoie des notifications à l'ID de discussion. Vous pouvez le trouver dans le tableau de bord WAHA.", + "wahaSession": "Session", + "wahaChatId": "ID de discussion (numéro de téléphone / ID de contact / ID de groupe)", + "wayToGetWahaApiKey": "La clé API est la valeur de la variable d'environnement WHATSAPP_API_KEY que vous avez utilisée pour exécuter WAHA.", + "wayToWriteWahaChatId": "Le numéro de téléphone avec le préfixe international, mais sans le signe plus ({0}), l'identifiant de contact ({1}) ni l'identifiant de groupe ({2}). Les notifications sont envoyées à cet identifiant de chat depuis la session WAHA.", + "telegramServerUrlDescription": "Pour lever les limitations de l’API des bots Telegram ou accéder aux zones bloquées (Chine, Iran, etc.). Pour plus d’informations, cliquez sur {0}. Par défaut : {1}", + "telegramServerUrl": "(Facultatif) URL du serveur" } From 084617ff4d6d21470dad22503a0d8911d7282c62 Mon Sep 17 00:00:00 2001 From: stanol Date: Thu, 27 Mar 2025 19:15:24 +0000 Subject: [PATCH 203/226] Translated using Weblate (Ukrainian) Currently translated at 100.0% (1069 of 1069 strings) Translated using Weblate (Ukrainian) Currently translated at 100.0% (1067 of 1067 strings) Translated using Weblate (Ukrainian) Currently translated at 100.0% (1061 of 1061 strings) Co-authored-by: stanol Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/uk/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/uk-UA.json | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/src/lang/uk-UA.json b/src/lang/uk-UA.json index 9042f2c50..fd1703085 100644 --- a/src/lang/uk-UA.json +++ b/src/lang/uk-UA.json @@ -54,7 +54,7 @@ "Keyword": "Ключове слово", "Friendly Name": "Ім'я", "URL": "URL", - "Hostname": "Адреса хоста", + "Hostname": "Адреса хосту", "Port": "Порт", "Heartbeat Interval": "Частота опитування", "Retries": "Спроб", @@ -951,7 +951,7 @@ "cellsyntDestination": "Номер телефону одержувача в міжнародному форматі з 00 на початку, за яким слідує код країни, наприклад, 00447920110000 для британського номера 07920 110 000 (максимум 17 цифр). Максимум 25000 одержувачів, розділених комами, на один HTTP-запит.", "max 11 alphanumeric characters": "максимум 11 буквено-цифрових символів", "locally configured mail transfer agent": "локально налаштований агент пересилання пошти", - "Either enter the hostname of the server you want to connect to or localhost if you intend to use a locally configured mail transfer agent": "Або введіть ім'я хоста сервера, до якого ви хочете підключитися, або {localhost}, якщо ви маєте намір використовувати {local_mta}", + "Either enter the hostname of the server you want to connect to or localhost if you intend to use a locally configured mail transfer agent": "Або введіть ім'я хосту сервера, до якого ви хочете підключитися, або {localhost}, якщо ви маєте намір використовувати {local_mta}", "Don't mention people": "Не згадувати людей", "Mentioning": "Згадування", "Mention group": "Згадати {group}", @@ -1104,5 +1104,24 @@ "rabbitmqNodesDescription": "Введіть URL-адресу для вузлів керування RabbitMQ, включаючи протокол і порт. Приклад: {0}", "rabbitmqNodesInvalid": "Будь ласка, використовуйте повну URL-адресу (починаючи з 'http') для вузлів RabbitMQ.", "rabbitmqHelpText": "Щоб використовувати монітор, вам потрібно увімкнути плагін керування у налаштуваннях RabbitMQ. Для отримання додаткової інформації, будь ласка, зверніться до {rabitmq_documentation}.", - "aboutSlackUsername": "Змінює відображуване ім'я відправника повідомлення. Якщо ви хочете згадати когось, додайте його до дружнього імені." + "aboutSlackUsername": "Змінює відображуване ім'я відправника повідомлення. Якщо ви хочете згадати когось, додайте його до дружнього імені.", + "templateServiceName": "назва сервісу", + "templateHostnameOrURL": "ім'я хосту або URL", + "telegramUseTemplate": "Використовувати власний шаблон повідомлення", + "telegramUseTemplateDescription": "Якщо увімкнено, повідомлення буде надіслано з використанням спеціального шаблону.", + "telegramTemplateFormatDescription": "Telegram дозволяє використовувати різні мови розмітки для повідомлень, див. Telegram {0} для більш детальної інформації.", + "Plain Text": "Звичайний текст", + "templateStatus": "статус", + "Message Template": "Шаблон повідомлення", + "Template Format": "Формат шаблону", + "YZJ Webhook URL": "URL вебхука YZJ", + "YZJ Robot Token": "Токен YZJ Robot", + "wayToGetWahaApiUrl": "URL вашого екземпляра WAHA.", + "wayToGetWahaApiKey": "Ключ API - це значення змінної оточення WHATSAPP_API_KEY, яку ви використовували для запуску WAHA.", + "wahaSession": "Сесія", + "wahaChatId": "ID чату (номер телефону / ID контакту / ID групи)", + "wayToGetWahaSession": "З цієї сесії WAHA надсилає сповіщення на ID чату. Ви можете знайти його в інформаційній панелі WAHA.", + "wayToWriteWahaChatId": "Номер телефону з міжнародним префіксом, але без знака плюс на початку ({0}), ID контакту ({1}) або ID групи ({2}). На цей ID чату надсилаються сповіщення з сеансу WAHA.", + "telegramServerUrl": "(Необов'язково) URL сервера", + "telegramServerUrlDescription": "Щоб зняти обмеження з Telegram bot api або отримати доступ у заблокованих регіонах (Китай, Іран тощо). Для отримання додаткової інформації натисніть {0}. За замовчуванням: {1}" } From f46379b48a93d204dcb378806fc8f6e7e1d45072 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20Bratovi=C4=87?= Date: Thu, 27 Mar 2025 19:15:24 +0000 Subject: [PATCH 204/226] Translated using Weblate (Croatian) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 100.0% (1069 of 1069 strings) Translated using Weblate (Croatian) Currently translated at 100.0% (1061 of 1061 strings) Co-authored-by: Ivan Bratović Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/hr/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/hr-HR.json | 47 +++++++++++++++++++++++++++++++-------------- 1 file changed, 33 insertions(+), 14 deletions(-) diff --git a/src/lang/hr-HR.json b/src/lang/hr-HR.json index bdf5a6b6f..164cd217f 100644 --- a/src/lang/hr-HR.json +++ b/src/lang/hr-HR.json @@ -194,11 +194,11 @@ "telegram": "Telegram", "Bot Token": "Token bota", "wayToGetTelegramToken": "Token možete nabaviti preko {0}.", - "Chat ID": "ID razgovora", - "supportTelegramChatID": "Podržani su ID-jevi izravnih razgovora, grupa i kanala", - "wayToGetTelegramChatID": "ID razgovora možete saznati tako da botu pošaljete poruku te odete na ovaj URL:", - "YOUR BOT TOKEN HERE": "OVDJE IDE TOKEN BOTA", - "chatIDNotFound": "ID razgovora nije pronađen; prvo morate poslati poruku botu", + "Chat ID": "Identifikator razgovora", + "supportTelegramChatID": "Podržani su identifikatori izravnih razgovora, grupa i kanala", + "wayToGetTelegramChatID": "Identifikator razgovora možete saznati tako da botu pošaljete poruku te odete na ovaj URL:", + "YOUR BOT TOKEN HERE": "TOKEN BOTA STAVITI OVDJE", + "chatIDNotFound": "Identifikator razgovora nije pronađen; prvo morate poslati poruku botu", "webhook": "Webhook", "Post URL": "URL Post zahtjeva", "Content Type": "Tip sadržaja (Content Type)", @@ -267,7 +267,7 @@ "Check octopush prices": "Provjerite cijene usluge Octopush {0}.", "octopushPhoneNumber": "Telefonski broj (međunarodni format, primjerice: +38512345678) ", "octopushSMSSender": "Naziv SMS pošiljatelja : 3-11 alfanumeričkih znakova i razmak (a-zA-Z0-9)", - "LunaSea Device ID": "LunaSea ID Uređaja", + "LunaSea Device ID": "LunaSea identifikator uređaja", "Apprise URL": "URL usluge Apprise", "Example:": "Primjerice: {0}", "Read more:": "Pročitajte više: {0}", @@ -280,9 +280,9 @@ "Line Developers Console": "LINE razvojnoj konzoli", "lineDevConsoleTo": "LINE razvojna konzola - {0}", "Basic Settings": "Osnovne Postavke", - "User ID": "Korisnički ID", + "User ID": "Korisnički identifikator", "Messaging API": "API za razmjenu poruka", - "wayToGetLineChannelToken": "Prvo, pristupite {0}, kreirajte pružatelja usluga te kanal (API za razmjenu poruka), zatim možete dobiti token za pristup kanalu te korisnički ID za polja iznad.", + "wayToGetLineChannelToken": "Prvo, pristupite {0}, kreirajte pružatelja usluga te kanal (API za razmjenu poruka), zatim možete dobiti token za pristup kanalu te identifikator korisnika za polja iznad.", "Icon URL": "URL slike", "aboutIconURL": "Možete postaviti poveznicu na sliku u polju \"URL slike\" kako biste spriječili korištenje zadane slike. Ovo se polje neće koristiti ako je postavljeno polje \"Emotikon\".", "aboutMattermostChannelName": "Možete promijeniti kanal u kojeg webhook šalje tako da ispunite polje \"Naziv kanala\". Ta opcija mora biti omogućena unutar Mattermost postavki za webhook. Primjerice: #neki-kanal", @@ -554,7 +554,7 @@ "socket": "Docker socket", "tcp": "TCP / HTTP", "Docker Container": "Docker kontejner", - "Container Name / ID": "Naziv / ID kontejnera", + "Container Name / ID": "Naziv / identifikator kontejnera", "Docker Host": "Docker domaćin", "Docker Hosts": "Docker domaćini", "ntfy Topic": "ntfy tema", @@ -632,7 +632,7 @@ "Authorization Identity": "Identitet autorizacije", "weekdayShortThu": "Čet", "setupDatabaseChooseDatabase": "Koju bazu podataka želite koristiti?", - "setupDatabaseEmbeddedMariaDB": "Ne morate ništa dodatno postavljati. Ovaj docker image ima ugrađenu i konfiguriranu MariaDB bazu podataka za Vas. Uptime Kuma će se spojiti na ovu bazu preko UNIX socketa.", + "setupDatabaseEmbeddedMariaDB": "Ne morate ništa dodatno postavljati. Ovaj Docker image ima ugrađenu i konfiguriranu MariaDB bazu podataka za Vas. Uptime Kuma će se spojiti na ovu bazu preko UNIX socketa.", "setupDatabaseMariaDB": "Spojite vanjsku MariaDB bazu podataka. Morate unijeti informacije o konekciji prema bazi.", "setupDatabaseSQLite": "Jednostavna datoteka s bazom podataka, preporuča se samo za manje implementacije. Prije inačice v2.0.0, Uptime Kuma je koristila SQLite kao zadanu bazu podataka.", "dbName": "Naziv baze podataka", @@ -648,7 +648,7 @@ "webhookBodyCustomOption": "Prilagođeno tijelo zahtjeva", "selectedMonitorCount": "Odabrano: {0}", "Check/Uncheck": "Označi/odznači", - "telegramMessageThreadID": "(Neobavezno) ID dretve poruka", + "telegramMessageThreadID": "(Neobvezno) Identivikator dretve poruka", "telegramMessageThreadIDDescription": "Neobavezni jedinstveni identifikator za dretvu poruka (temu) foruma; samo za forumske supergrupe", "telegramSendSilently": "Pošalji nečujno", "telegramSendSilentlyDescription": "Šalje poruku nečujno. Primatelji će dobiti obavijest bez zvuka.", @@ -689,7 +689,7 @@ "confirmDeleteTagMsg": "Jeste li sigurni da želite izbrisati ovu oznaku? Monitori povezani s ovom oznakom neće biti izbrisani.", "enableGRPCTls": "Omogući sigurno slanje gRPC zahtjeva koristeći TLS", "deleteMaintenanceMsg": "Jeste li sigurni da želite izbrisati ovo održavanje?", - "Guild ID": "ID za guild", + "Guild ID": "Identifikator za guild", "pushoverMessageTtl": "Vrijeme isteka poruke (u sekundama)", "Proto Method": "Metoda poziva", "Proto Content": "Proto sadržaj", @@ -937,7 +937,7 @@ "cellsyntOriginator": "Vidljivo na mobilnom telefonu primatelja kao autor poruke. Dopuštene vrijednosti i funkcija ovise o vrsti izvorišta.", "cellsyntDestination": "Telefonski broj primatelja u međunarodnom formatu s početnim 00 iza kojeg slijedi pozivni broj države (maksimalno 17 znamenki). Primjerice, za broj iz UK-a 07920-110-000 vrijednost mora biti 00447920110000 . Maksimalno 25.000 primatelja odvojenih zarezom po HTTP zahtjevu.", "Channel access token (Long-lived)": "Pristupni token za kanal (dugovječni)", - "Your User ID": "Vaš korisnički identifikator", + "Your User ID": "Vaš korisnički identifikator (ID)", "wayToGetSevenIOApiKey": "Posjetite nadzornu ploču odlaskom na app.seven.io > Developer > API Key i dodajte novi ključ koristeći zeleni gumb za dodavanje", "Command": "Naredba", "mongodbCommandDescription": "Pokreni MongoDB naredbu na bazi podataka. Za informacije o dostupnim naredbama posjetite {documentation}", @@ -1092,5 +1092,24 @@ "RabbitMQ Nodes": "RabbitMQ upravljački čvorovi", "rabbitmqNodesDescription": "Unesite URL za upravljačke čvorove RabbitMQ uključujući protokol i port. Primjer: {0}", "rabbitmqHelpText": "Za korištenje ovog Monitora morat ćete omogućiti dodatak \"Management Plugin\" u svom RabbitMQ-u. Za više informacija pogledajte {rabitmq_documentation}.", - "aboutSlackUsername": "Mijenja ime pošiljatelja vidljivo svima ostalima." + "aboutSlackUsername": "Mijenja ime pošiljatelja vidljivo svima ostalima.", + "templateServiceName": "naziv servisa", + "telegramUseTemplate": "Koristi prilagođeni predložak poruke", + "telegramTemplateFormatDescription": "Telegram dozvoljava korištenje različitih markup jezika za formatiranje poruka, pogledajte {0} za više detalja.", + "YZJ Robot Token": "YZJ token robota", + "YZJ Webhook URL": "YZJ URL webhooka", + "templateHostnameOrURL": "domaćin ili URL", + "templateStatus": "status", + "telegramUseTemplateDescription": "Ako je omogućeno, poruka će biti poslana koristeći prilagođeni predložak.", + "Plain Text": "Obični tekst", + "Message Template": "Predložak poruke", + "Template Format": "Format predloška", + "wahaSession": "Sjednica", + "wahaChatId": "Identifikator razgovora (telefonski broj / ID kontakta / ID grupe)", + "wayToGetWahaApiUrl": "URL instance WAHA.", + "wayToGetWahaApiKey": "API ključ je vrijednost varijable okruženja WHATSAPP_API_KEY koju ste koristili za pokretanje servisa WAHA.", + "wayToGetWahaSession": "Iz ove sjednice WAHA šalje obavijesti na identifikator razgovora. Može se pronaći na WAHA nadzornoj ploči.", + "wayToWriteWahaChatId": "Telefonski broj s međunarodnim prefiksom, ali bez znaka plus na početku ({0}), identifikator kontakta ({1}) ili identifikator grupe ({2}). Obavijesti se šalju na ovaj identifikator chata iz WAHA sesije.", + "telegramServerUrl": "(Neobvezno) URL Poslužitelja", + "telegramServerUrlDescription": "Za ukidanje ograničenja API-ja za botove Telegrama ili dobivanje pristupa u blokiranim područjima (Kina, Iran, itd.). Za više informacija kliknite {0}. Zadano: {1}" } From fb3031edf0de9c71c088ba4a0735b5a90d7d58f5 Mon Sep 17 00:00:00 2001 From: spectre011-code Date: Thu, 27 Mar 2025 19:15:24 +0000 Subject: [PATCH 205/226] Translated using Weblate (Portuguese (Brazil)) Currently translated at 99.5% (1056 of 1061 strings) Co-authored-by: spectre011-code Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/pt_BR/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/pt-BR.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/lang/pt-BR.json b/src/lang/pt-BR.json index 89581b8ec..e6953ebfa 100644 --- a/src/lang/pt-BR.json +++ b/src/lang/pt-BR.json @@ -1062,5 +1062,11 @@ "RabbitMQ Username": "Nome de usuário do RabbitMQ", "RabbitMQ Password": "Senha do RabbitMQ", "SendGrid API Key": "Chave API do SendGrid", - "Separate multiple email addresses with commas": "Separe vários endereços de e-mail com vírgulas" + "Separate multiple email addresses with commas": "Separe vários endereços de e-mail com vírgulas", + "templateServiceName": "nome do serviço", + "telegramUseTemplate": "Use um template personalizado de mensagem", + "telegramTemplateFormatDescription": "O Telegram permite o uso de diferentes linguagens de marcação para mensagens. Veja o Telegram {0} para detalhes específicos.", + "templateHostnameOrURL": "hostname ou URL", + "templateStatus": "status", + "telegramUseTemplateDescription": "Se habilitado, a mensagem será enviada usando um template personalizado." } From c800638ea12d303db4a7c5f638b775feb24d88d0 Mon Sep 17 00:00:00 2001 From: AnnAngela Date: Thu, 27 Mar 2025 19:15:25 +0000 Subject: [PATCH 206/226] Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (1067 of 1067 strings) Co-authored-by: AnnAngela Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/zh_Hans/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/zh-CN.json | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/lang/zh-CN.json b/src/lang/zh-CN.json index 4d33c0afd..5b473b071 100644 --- a/src/lang/zh-CN.json +++ b/src/lang/zh-CN.json @@ -1100,5 +1100,22 @@ "RabbitMQ Nodes": "RabbitMQ 管理节点", "Separate multiple email addresses with commas": "用逗号分隔多个电子邮件地址", "rabbitmqHelpText": "要使用此监控项,您需要在 RabbitMQ 设置中启用管理插件。有关更多信息,请参阅 {rabitmq_documentation}。", - "aboutSlackUsername": "更改消息发件人的显示名称。如果您想提及某人,请另行将其包含在友好名称中。" + "aboutSlackUsername": "更改消息发件人的显示名称。如果您想提及某人,请另行将其包含在友好名称中。", + "templateStatus": "状态", + "templateHostnameOrURL": "主机名或 URL", + "templateServiceName": "服务名", + "telegramUseTemplateDescription": "如果启用,该消息将使用自定义模板发送。", + "telegramUseTemplate": "使用自定义消息模板", + "wayToGetWahaSession": "在此会话中,WAHA 会向聊天 ID 发送通知。您可以在 WAHA 仪表板中找到它。", + "wayToGetWahaApiUrl": "你的 WAHA 实例 URL。", + "wahaChatId": "聊天 ID(电话号码 / 联系人 ID / 群组 ID)", + "wahaSession": "会话", + "Template Format": "模板格式", + "Message Template": "消息模板", + "Plain Text": "纯文本", + "wayToWriteWahaChatId": "包含国际区号但不含开头加号({0})的电话号码、联系人 ID({1})、组 ID({2})。通知将从 WAHA 会话发送到此聊天 ID。", + "wayToGetWahaApiKey": "API 密钥是你用于运行 WAHA 的 WHATSAPP_API_KEY 环境变量值。", + "telegramTemplateFormatDescription": "Telegram 允许在消息中使用不同的标记语言,具体细节请参见 Telegram {0}。", + "YZJ Webhook URL": "YZJ Webhook 地址", + "YZJ Robot Token": "YZJ 机器人令牌" } From 5c68c2b5d969bc92957e9dff077b83a5cbdb8ae6 Mon Sep 17 00:00:00 2001 From: Saba Sakvarelidze Date: Thu, 27 Mar 2025 19:15:25 +0000 Subject: [PATCH 207/226] Translated using Weblate (Georgian) Currently translated at 1.2% (13 of 1067 strings) Co-authored-by: Saba Sakvarelidze Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ka/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/ka.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lang/ka.json b/src/lang/ka.json index 2617e17c7..db4d89cf0 100644 --- a/src/lang/ka.json +++ b/src/lang/ka.json @@ -17,5 +17,6 @@ "List": "სია", "Add": "დამატება", "Add New Monitor": "ახალი მონიტორის დამატება", - "Down": "დაბლა" + "Down": "დაბლა", + "setupDatabaseChooseDatabase": "რომელი მონაცემთა ბაზის გამოყენება გსურთ?" } From 71d0e7c15ad01021024f3e14c5af59eefa836d8b Mon Sep 17 00:00:00 2001 From: Ramin Mazloomi Date: Thu, 27 Mar 2025 19:15:25 +0000 Subject: [PATCH 208/226] Translated using Weblate (Persian) Currently translated at 98.7% (1056 of 1069 strings) Co-authored-by: Ramin Mazloomi Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/fa/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/fa.json | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/src/lang/fa.json b/src/lang/fa.json index 864fa71d9..b66bed8f8 100644 --- a/src/lang/fa.json +++ b/src/lang/fa.json @@ -1036,5 +1036,37 @@ "Elevator": "آسانسور", "Guitar": "گیتار", "Pop": "پاپ", - "From": "از" + "From": "از", + "telegramServerUrl": "(اختیاری) آدرس سرور", + "telegramServerUrlDescription": "برای کاهش محدودیت‌های بات تلگرام یا دسترسی در مناطقی که تلگرام فیلتر شده است (مثل ایران یا چین و ...). برای اطلاعات بیشتر {0} را ببینید. مقدار پیشفرض: {1}", + "Alphanumerical string and hyphens only": "فقط حروف الفبا، اعداد و -", + "Time sensitive notifications will be delivered immediately, even if the device is in do not disturb mode.": "اعلان‌های حساس به زمان در لحظه ارسال خواهند شد، حتی اگر دستگاه در حالت بدون مزاحمت قرار داشته باشد.", + "rabbitmqNodesRequired": "لطفا گره‌های این پایش‌گر را تنظیم کنید.", + "RabbitMQ Password": "گذرواژه RabbitMQ", + "RabbitMQ Nodes": "گره‌های مدیریت RabbitMQ", + "rabbitmqHelpText": "برای پایش، لازم است افزونه مدیریت (Management) در RabbitMQ را فعال کنید. برای اطلاعات بیشتر به {rabitmq_documentation} مراجعه کنید.", + "wayToWriteWahaChatId": "شماره موبایل در قالب بین‌المللی و بدون علامت مثبت ابتدایی ({0})، شناسه مخاطب ({1}) یا شناسه گروه ({2}). اعلان‌ها از نشست WAHA به این شناسه گفتگو ارسال خواهند شد.", + "wahaSession": "نشست", + "wahaChatId": "شناسه گفتگو (شماره موبایل / شناسه مخاطب / شناسه گروه)", + "wayToGetWahaSession": "با این نشست WAHA اعلان‌ها را به شناسه گفتگو ارسال میکند. قابل مشاهده در پنل کاربری WAHA.", + "Message Template": "قالب پیام", + "Template Format": "فرمت قالب", + "YZJ Webhook URL": "آدرس وب‌هوک YZJ", + "Fail": "شکست", + "Custom sound to override default notification sound": "نوای دلخواه به جای نوای پیشفرض اعلان", + "Time Sensitive (iOS Only)": "حساس به زمان (فقط iOS)", + "Can be found on:": "در {0} یافت میشود", + "Either a text sender ID or a phone number in E.164 format if you want to be able to receive replies.": "شناسه ارسال کننده متنی و در صورتی که میخواهید پاسخ‌ها را دریافت کنید، شماره موبایل در قالب E.164.", + "rabbitmqNodesDescription": "آدرس گره‌های مدیریت RabbitMQ را به همراه پروتکل و شماره پورت وارد کنید. مثال: {0}", + "RabbitMQ Username": "نام کاربری RabbitMQ", + "Separate multiple email addresses with commas": "آدرس‌های ایمیل را با استفاده از ویرگول انگلیسی یا کاما جدا کنید", + "Plain Text": "متن ساده", + "aboutSlackUsername": "نام نمایشی ارسال کننده پیام را تغییر میدهد. اگر میخواهید شخصی را نام ببرید، در قسمت نام دوستانه بنویسید.", + "Clear": "پاک‌سازی", + "templateServiceName": "نام خدمت", + "templateHostnameOrURL": "آدرس یا نام میزبان", + "templateStatus": "وضعیت", + "telegramUseTemplate": "استفاده از قالب پیام دلخواه", + "telegramUseTemplateDescription": "در صورت فعال‌سازی، پیام با قالب دلخواه ارسال خواهد شد.", + "telegramTemplateFormatDescription": "در تلگرام امکان استفاده از زبان‌های نشانه‌گذاری مختلفی وجود دارد، برای جزئیات بیشتر {0} را ببینید." } From 45ab84e1f95de9cf8c8855dacef8b563f1109117 Mon Sep 17 00:00:00 2001 From: bioslet Date: Thu, 27 Mar 2025 19:15:25 +0000 Subject: [PATCH 209/226] Translated using Weblate (Russian) Currently translated at 98.5% (1053 of 1069 strings) Co-authored-by: bioslet Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ru/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/ru-RU.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lang/ru-RU.json b/src/lang/ru-RU.json index 1f081d026..a8935fe27 100644 --- a/src/lang/ru-RU.json +++ b/src/lang/ru-RU.json @@ -1106,5 +1106,8 @@ "SendGrid API Key": "API-ключ SendGrid", "Separate multiple email addresses with commas": "Разделяйте несколько адресов электронной почты запятыми", "-year": "-год", - "Json Query Expression": "Выражение запроса Json" + "Json Query Expression": "Выражение запроса Json", + "templateServiceName": "имя сервиса", + "templateHostnameOrURL": "hostname или URL", + "templateStatus": "статус" } From 95780656df4deb843a4e290d9b1149cb0bbc03c0 Mon Sep 17 00:00:00 2001 From: jolupa Date: Thu, 27 Mar 2025 19:15:25 +0000 Subject: [PATCH 210/226] Translated using Weblate (Catalan) Currently translated at 52.1% (558 of 1069 strings) Co-authored-by: jolupa Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ca/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/ca.json | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/lang/ca.json b/src/lang/ca.json index e4cc08896..2f10f32cb 100644 --- a/src/lang/ca.json +++ b/src/lang/ca.json @@ -552,5 +552,13 @@ "Pick Accepted Status Codes...": "Trieu els codis d'estat acceptats…", "error": "error", "critical": "crítica", - "Please input title and content": "Introduïu el títol i el contingut" + "Please input title and content": "Introduïu el títol i el contingut", + "telegramServerUrl": "(Opcional) Url del servidor", + "telegramServerUrlDescription": "Per saltar-se les limitacions del bot de Telegram o tenir accés a regions bloquejades (China, Iran, etc). Per a més informació fes click {0}. Per defecte {1}", + "templateServiceName": "Nom del servei", + "templateHostnameOrURL": "Adreça URL o nom del host", + "templateStatus": "Estat", + "telegramUseTemplate": "Fes servir una plantilla de missatge personalitzada", + "telegramUseTemplateDescription": "Si s'activa, el missatge s'enviarà fent servir una plantilla personalitzada.", + "telegramTemplateFormatDescription": "Telegram permet l'ús de diferents tipus de llenguatges de marcat, llegeix Telegram {0} per més detalls." } From 325bec42eed41c5c065385cb2c768ed8680b71ce Mon Sep 17 00:00:00 2001 From: mantak Date: Thu, 27 Mar 2025 19:15:25 +0000 Subject: [PATCH 211/226] Translated using Weblate (Lithuanian) Currently translated at 100.0% (1069 of 1069 strings) Translated using Weblate (Lithuanian) Currently translated at 100.0% (1069 of 1069 strings) Translated using Weblate (Lithuanian) Currently translated at 100.0% (1069 of 1069 strings) Translated using Weblate (Lithuanian) Currently translated at 89.5% (957 of 1069 strings) Translated using Weblate (Lithuanian) Currently translated at 88.4% (945 of 1069 strings) Co-authored-by: mantak Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/lt/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/lt.json | 863 ++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 822 insertions(+), 41 deletions(-) diff --git a/src/lang/lt.json b/src/lang/lt.json index 3674dc2c0..874927911 100644 --- a/src/lang/lt.json +++ b/src/lang/lt.json @@ -12,20 +12,20 @@ "List": "Sąrašas", "Home": "Pradžia", "Add": "Pridėti", - "Add New Monitor": "Įtraukti naują monitorių", + "Add New Monitor": "Pridėti naują stebėjimą", "Quick Stats": "Greita statistika", "Up": "Veikia", - "statusMaintenance": "Profilaktika", + "statusMaintenance": "Profilaktikos darbai", "Unknown": "Nežinomas", "Cannot connect to the socket server": "Nepavyksta prisijungti prie lizdo serverio", "Reconnecting...": "Atkuriamas ryšys...", - "General Monitor Type": "Bendrasis monitoriaus tipas", - "Passive Monitor Type": "Pasyvusis monitoriaus tipas", + "General Monitor Type": "Bendras stebėjimo tipas", + "Passive Monitor Type": "Pasyvus stebėjimo tipas", "markdownSupported": "Palaikoma Markdown sintaksė", - "Pause": "Pauzė", + "Pause": "Pristabdyti", "Name": "Pavadinimas", "Status": "Būsena", - "DateTime": "DataLaikas", + "DateTime": "Data ir laikas", "Message": "Žinutė", "Resume": "Tęsti", "Edit": "Redaguoti", @@ -33,12 +33,12 @@ "Current": "Dabartinis", "Uptime": "Veikimo trukmė", "Cert Exp.": "Sertifikato baig.", - "day": "diena | dienų", + "day": "diena | dienos(-ų)", "-day": "-dienų", "hour": "valanda", "-hour": "-valandos", "Ping": "Ping", - "Monitor Type": "Monitoriaus tipas", + "Monitor Type": "Stebėjimo tipas", "Keyword": "Raktažodis", "Invert Keyword": "Invertuoti raktažodį", "Json Query": "Json užklausa", @@ -48,28 +48,28 @@ "Request Timeout": "Užklausos trukmės limitas", "timeoutAfter": "Trukmės limitas po {0} sekundžių", "Retries": "Pakartotiniai bandymai", - "Heartbeat Retry Interval": "Širdies ritmo kartojimo intervalas", + "Heartbeat Retry Interval": "Patikros signalo kartojimo intervalas", "Advanced": "Išplėstinis", "checkEverySecond": "Tikrinti kas {0} sekundžių", "retryCheckEverySecond": "Pakartotinai bandyti kas {0} sekundžių", "resendEveryXTimes": "Pakartotinai siųsti kas {0} kartų", - "resendDisabled": "Pakartotinis siuntimas neįgalintas", + "resendDisabled": "Pakartotinis siuntimas išjungtas", "ignoreTLSError": "TLS/SSL klaidų ignoravimas HTTPS svetainėse", "ignoreTLSErrorGeneral": "Ignoruoti TLS/SSL ryšio klaidą", "upsideDownModeDescription": "Apversti būseną aukštyn kojomis. Jei paslauga yra pasiekiama, ji NEVEIKIA.", "Upside Down Mode": "Apverstas režimas", "Max. Redirects": "Maksimalūs peradresavimai", "pushOptionalParams": "Neprivalomi parametrai: {0}", - "pushViewCode": "Kaip naudoti Push monitorių? (Žiūrėti kodą)", + "pushViewCode": "Kaip naudoti Push stebėjimą? (Žiūrėti kodą)", "pushOthers": "Kiti", "programmingLanguages": "Programavimo kalbos", "Save": "Išsaugoti", "Notifications": "Pranešimai", - "Not available, please setup.": "Negalima, prašome nustatyti.", + "Not available, please setup.": "Nepasiekiama, prašome nustatyti.", "Setup Notification": "Nustatyti pranešimą", "Light": "Šviesus", "Theme - Heartbeat Bar": "Tema - Heartbeat Bar", - "styleElapsedTime": "Praėjęs laikas po širdies ritmo juosta", + "styleElapsedTime": "Praėjęs laikas po patikros signalo juosta", "styleElapsedTimeShowNoLine": "Rodyti (be linijos)", "styleElapsedTimeShowWithLine": "Rodyti (su linija)", "Normal": "Normalus", @@ -82,7 +82,7 @@ "New Password": "Naujas slaptažodis", "Repeat New Password": "Naujas slaptažodis", "Disable Auth": "Išjungti autentifikavimą", - "Enable Auth": "Įgalinti autentifikavimą", + "Enable Auth": "Įjungti autentifikavimą", "disableauth.message1": "Ar tikrai norite {disableAuth}?", "setupDatabaseChooseDatabase": "Kurią duomenų bazę norėtumėte naudoti?", "setupDatabaseMariaDB": "Prisijunkite prie išorinės MariaDB duomenų bazės. Reikia nustatyti duomenų bazės prisijungimo informaciją.", @@ -90,23 +90,23 @@ "setupDatabaseEmbeddedMariaDB": "Nereikia nieko nustatyti. Šiame Docker atvaizde MariaDB įdiegta ir sukonfigūruota automatiškai. Uptime Kuma prie šios duomenų bazės prisijungs per Unix lizdą.", "dbName": "Duomenų bazės pavadinimas", "Theme": "Tema", - "Game": "Žaidimo", + "Game": "Žaidimas", "Primary Base URL": "Pradinis bazės URL adresas", "Check Update On GitHub": "Patikrinkite atnaujinimą GitHub", "Down": "Neveikia", "Pending": "Laukiama", "Maintenance": "Profilaktikos darbai", - "Specific Monitor Type": "Konkretus monitoriaus tipas", - "pauseDashboardHome": "Pauzė", + "Specific Monitor Type": "Konkretus stebėjimo tipas", + "pauseDashboardHome": "Pristabdyta", "No important events": "Jokių svarbių įvykių", - "Monitor": "Monitorius | Monitorių", + "Monitor": "Stebėjimas | Stebėjimai", "Response": "Atsakymas", "Expected Value": "Tikėtina vertė", "Hostname": "Pagrindinio kompiuterio vardas", "Host URL": "Priimančiojo URL adresas", "Either enter the hostname of the server you want to connect to or localhost if you intend to use a locally configured mail transfer agent": "Įveskite serverio, prie kurio norite prisijungti, pagrindinį kompiuterio vardą arba {localhost}, jei ketinate naudoti {local_mta}", "Port": "Prievadas", - "Heartbeat Interval": "Širdies ritmo intervalas", + "Heartbeat Interval": "Patikros signalo intervalas", "Resend Notification if Down X times consecutively": "Pakartotinis pranešimo siuntimas, jei neveikia X kartų iš eilės", "retriesDescription": "Didžiausias pakartotinių bandymų skaičius, kol paslauga pažymėta, kaip neveikianti, ir išsiųstas pranešimas", "maxRedirectDescription": "Didžiausias galimų nukreipimų skaičius. Nustatykite 0, jei norite išjungti nukreipimus.", @@ -145,30 +145,30 @@ "Create": "Sukurti", "Clear Data": "Išvalyti duomenis", "Events": "Įvykiai", - "Heartbeats": "Širdies ritmas", - "Affected Monitors": "Paveikti monitoriai", - "Pick Affected Monitors...": "Pasirinkite paveiktus monitorius…", + "Heartbeats": "Patikros signalai", + "Affected Monitors": "Paveikti stebėjimai", + "Pick Affected Monitors...": "Pasirinkite paveiktus stebėjimus…", "All Status Pages": "Visi būsenų puslapiai", "alertWrongFileType": "Pasirinkite JSON failą.", - "Clear all statistics": "Išvalyti visą statistiką", + "Clear all statistics": "Pravalyti visą statistiką", "Overwrite": "Perrašyti", "Options": "Parinktys", "Keep both": "Palikti abu", "Verify Token": "Paikrinti žetoną", - "Enable 2FA": "Įgalinti 2FA", + "Enable 2FA": "Įjungti 2FA", "Disable 2FA": "Išjungti 2FA", "2FA Settings": "2FA nustatymai", "filterActive": "Aktyvus", "filterActivePaused": "Sustabdytas", "Active": "Aktyvus", "Inactive": "Neaktyvus", - "Token": "Žetonas", + "Token": "Prieigos raktas", "Show URI": "Rodyti URL", "Tags": "Žymės", "Add New Tag": "Pridėti naują žymą", "Add New below or Select...": "Pridėti naują žemiau arba pasirinkti…", "color": "Spalva", - "value (optional)": "reikšmė (neprivaloma)", + "value (optional)": "reikšmė (pasirinktinai)", "Gray": "Pilka", "Red": "Raudona", "Green": "Žalia", @@ -190,17 +190,17 @@ "Status Page": "Būsenos puslapis", "here": "čia", "Required": "Privaloma", - "Post URL": "Post URL", + "Post URL": "Įrašo URL", "Content Type": "Turinio tipas", "disableauth.message2": "Jis skirtas scenarijams {intendThirdPartyAuth} priešais Uptime Kuma, pavyzdžiui, Cloudflare Access, Authelia ar kitus autentifikavimo mechanizmus.", "I understand, please disable": "Aš suprantu, prašau išjungti", "Username": "Vartotojo vardas", - "No Monitors, please": "Jokių monitorių, prašau", + "No Monitors, please": "Prašome jokių stebėjimų", "Certificate Info": "Sertifikato informacija", "Resource Record Type": "Išteklių įrašo tipas", "Import Backup": "Importuoti atsarginę kopiją", - "Default enabled": "Pagal nutylėjimą įgalinta", - "Apply on all existing monitors": "Taikyti visiems esamiems monitoriams", + "Default enabled": "Pagal nutylėjimą įjungta", + "Apply on all existing monitors": "Taikyti visiems esamiems stebėjimams", "Auto Get": "Automatinis gavimas", "Schedule maintenance": "Planuoti profilaktikos priežiūrą", "Start of maintenance": "Profilaktikos pradžia", @@ -215,24 +215,24 @@ "Pink": "Rožinė", "Search...": "Ieškoti…", "Avg. Response": "Vidutinė reakcija", - "statusPageNothing": "Čia nieko nėra, pridėkite grupę arba monitorių.", + "statusPageNothing": "Čia nieko nėra, pridėkite grupę arba stebėjimą.", "Go to Dashboard": "Eiti į skydelį", "Status Pages": "Būsenos puslapiai", - "defaultNotificationName": "Mano {notification} įspėjimas nr. ({number})", + "defaultNotificationName": "Mano {notification} pranešimas ({number})", "Server URL": "Serverio URL", "Method": "Metodas", - "appriseInstalled": "Apprise yra suinstaliuotas.", - "Current User": "Dabartinis Vartotojas", + "appriseInstalled": "Apprise yra įdiegtas.", + "Current User": "Dabartinis vartotojas", "Style": "Stilius", - "Switch to Light Theme": "Pereiti į Šviesią Temą", + "Switch to Light Theme": "Pereiti į šviesią temą", "Cancel": "Atšaukti", "Learn More": "Sužinoti Daugiau", "Expiry": "Galiojimas", "apiKeyAddedMsg": "Jūsų API raktas buvo pridėtas. Įsidėmėkite jį, nes jis daugiau nebus rodomas.", "or": "arba", - "No Maintenance": "Profilaktikos priežiūros nėra", + "No Maintenance": "Nėra planuojamų darbų", "Priority": "Prioritetas", - "appriseNotInstalled": "Apprise yra neinstaliuotas. {0}", + "appriseNotInstalled": "Apprise yra neįdiegtas. {0}", "Body": "Turinys", "PasswordsDoNotMatch": "Slaptažodžiai nesutampa.", "records": "įrašai", @@ -255,7 +255,7 @@ "dark": "tamsi", "Created": "Sukurta", "Last Updated": "Atnaujinta", - "Switch to Dark Theme": "Pereiti į Tamsią Temą", + "Switch to Dark Theme": "Pereiti į tamsią temą", "Discard": "Atmesti", "Select": "Pasirinkti", "selectedMonitorCount": "Pasirinkta: {0}", @@ -263,7 +263,7 @@ "Recurring": "Pasikartojantis", "statusPageMaintenanceEndDate": "Pabaiga", "pauseMaintenanceMsg": "Ar tikrai norite sustabdyti?", - "maintenanceStatus-under-maintenance": "Vykdoma techninė priežiūra", + "maintenanceStatus-under-maintenance": "Vykdomi profilaktikos darbai", "maintenanceStatus-inactive": "Neaktyvus", "maintenanceStatus-scheduled": "Suplanuotas", "maintenanceStatus-ended": "Pabaigtas", @@ -283,9 +283,790 @@ "Expires": "Galioja", "disableAPIKeyMsg": "Ar tikrai norite išjungti šį API raktą?", "deleteAPIKeyMsg": "Ar tikrai norite ištrinti šį API raktą?", - "Generate": "Kurti", + "Generate": "Generuoti", "now": "dabar", "time ago": "prieš {0}", "-year": "-metai", - "ignoredTLSError": "TLS/SSL klaidos buvo ignoruotos" + "ignoredTLSError": "TLS/SSL klaidos buvo ignoruotos", + "Headers": "Antraštės", + "HeadersInvalidFormat": "Užklausos antraštės neteisingai pateiktos JSON formatu: ", + "shrinkDatabaseDescriptionSqlite": "Įvykdykite SQLite duomenų bazės {vacuum} komandą. {auto_vacuum} jau įjungtas, tačiau jis neperorganizuoja duomenų bazės ir nesupakuoja atskirų puslapių taip, kaip tai daro {vacuum} komanda.", + "Please read": "Prašome perskaityti", + "RabbitMQ Username": "RabbitMQ vartotojo vardas", + "RabbitMQ Password": "RabbitMQ slaptažodis", + "Telephone number": "Telefono numeris", + "chromeExecutableAutoDetect": "Aptikti automatiškai", + "Proxy Server": "Tarpinis serveris", + "Check/Uncheck": "Žymėti/atžymėti", + "PushDeer Server": "PushDeer serveris", + "Money": "Pinigai", + "confirmUninstallPlugin": "Ar tikrai norite pašalinti šį įskiepį?", + "Enable DNS Cache": "(Nebenaudojama) Įjungti DNS talpyklavimą HTTP(s) stebėjimams", + "Not running": "Nepaleistas", + "Reverse Proxy": "Atvirkštinis tarpinis serveris", + "Date Created": "Sukūrimo data", + "Refresh Interval Description": "Būsenos puslapis padarys pilną puslapio perkrovimą kas {0} sekundes(-ių)", + "API Key": "API raktas", + "emailTemplateMsg": "pranešimo žinutė", + "wayToGetDiscordURL": "Tai galite rasti nuėję į „Server Settings -> Integrations -> View Webhooks -> New Webhook“", + "dnsPortDescription": "DNS serverio prievadas. Numatytoji reikšmė – 53. Prievadą galite bet kada pakeisti.", + "pushoversounds cashregister": "Kasos aparatas", + "pushoversounds gamelan": "Gamelanas", + "apiCredentials": "API kredencialai", + "promosmsAllowLongSMS": "Leisti ilgas SMS žinutes", + "Uptime Kuma URL": "Uptime Kuma URL", + "Add a domain": "Pridėti naują domeną", + "serwersmsAPIPassword": "API slaptažodis", + "Browser Screenshot": "Naršyklės ekrano nuotrauka", + "gtxMessagingToHint": "Nacionalinis formatas, prasideda su „+“ ({e164}, {e212} arba {e214})", + "Private Number": "Privatus numeris", + "signedInDisp": "Prisijungta kaip {0}", + "wayToGetTelegramToken": "Jūs galite gauti prieigos raktą iš {0}.", + "Send to channel": "Siųsti į kanalą", + "e.g. {discordThreadID}": "pvz. {discordThreadID}", + "Notification Sound": "Pranešimo garsas", + "For safety, must use secret key": "Saugumo sumetimais būtina naudoti slaptąjį raktą", + "Group": "Grupė", + "Mechanism": "Mechanizmas", + "Group Name": "Grupės pavadinimas", + "clearDataOlderThan": "Saugote stebėjimo istorijos duomenis {0} dienų.", + "infiniteRetention": "Nustatykite 0, kad būtų begalinis saugojimas.", + "backupDescription3": "Jautrūs duomenys kaip pranešimams naudojami prieigos raktai yra įtraukti eksporto faile; prašome saugiai talpinti eksportą.", + "chromeExecutable": "Chrome/Chromium vykdomoji programa", + "certificationExpiryDescription": "HTTPS stebėjimai sukelia pranešimą, kai baigiasi TLS sertifikato galiojimo laikas:", + "trustProxyDescription": "Pasitikėkite „X-Forwarded-*“ antraštėmis. Jei norite gauti teisingą kliento IP adresą, o jūsų Uptime Kuma yra už tarpinio serverio, pavyzdžiui, Nginx arba Apache, turėtumėte įjungti šią funkciją.", + "Valid": "Galiojantis", + "No consecutive dashes": "Be iš eilės einančių brūkšnelių", + "statusPageSpecialSlugDesc": "Speciali nuorodos dalis {0}: šis puslapis bus rodomas, jei nuorodos dalis nenurodyta", + "The current connection may be lost if you are currently connecting via Cloudflare Tunnel. Are you sure want to stop it? Type your current password to confirm it.": "Esamas ryšys gali būti prarastas, jei šiuo metu jungiatės per Cloudflare tunelį. Ar tikrai norite jį sustabdyti? Įveskite savo dabartinį slaptažodį, kad patvirtintumėte.", + "RadiusCallingStationIdDescription": "Skambinančio įrenginio identifikatorius", + "There might be a typing error in the address.": "Adrese gali būti įvedimo klaida.", + "DockerHostRequired": "Prašome nustatyti Docker serverį šiam stebėjimui.", + "tailscalePingWarning": "Norėdami naudoti Tailscale Ping stebėjimą, turite įdiegti Uptime Kuma be Docker, taip pat įdiegti Tailscale klientą savo serveryje.", + "telegramServerUrlDescription": "Norėdami pašalinti Telegram bot API apribojimus arba gauti prieigą į blokuotas sritis (Kinija, Iranas ir kt.), spustelėkite {0} dėl daugiau informacijos. Pagal nutylėjimą: {1}", + "Long-Lived Access Token can be created by clicking on your profile name (bottom left) and scrolling to the bottom then click Create Token. ": "Ilgalaikį prieigos raktą galite sukurti paspaudę savo profilio pavadinimą (apačioje kairėje), slinkę į apačią ir paspaudę „Sukurti raktą“. ", + "backupOutdatedWarning": "Pasenęs: Kadangi buvo pridėta daug naujų funkcijų ir šis atsarginių kopijų funkcionalumas nėra pilnai palaikomas, jis negali sukurti ar atkurti pilnos atsarginės kopijos.", + "chromeExecutableDescription": "Docker naudotojams, jei Chromium dar nėra įdiegtas, įdiegimas ir testo rezultatų rodymas gali užtrukti kelias minutes. Tai užima 1GB disko vietos.", + "smtpLiquidIntroduction": "Žemiau pateikti du laukai gali būti šablonizuojami naudojant Liquid šablonų kalbą. Prašome peržiūrėti {0} naudojimo instrukcijas. Štai prieinami kintamieji:", + "whatHappensAtForumPost": "Sukurti naują forumo įrašą. Tai NE skelbia žinučių esamame įraše. Norėdami skelbti esamame įraše, naudokite „{option}“", + "wayToCheckSignalURL": "Galite patikrinti šią nuorodą, kad pamatytumėte, kaip ją nustatyti:", + "wayToGetLineChannelToken": "Pirmiausia pasiekite {0}, sukurkite tiekėją ir kanalą (Žinučių API), tada iš aukščiau nurodytų meniu punktų galite gauti kanalo prieigos raktą ir vartotojo ID.", + "aboutMattermostChannelName": "Galite pakeisti numatytąjį kanalą, į kurį siunčiami pranešimai per Webhook, įvesdami kanalo pavadinimą lauke „Kanalo pavadinimas“. Tai turi būti įjungta Mattermost Webhook nustatymuose. Pvz.: #kitas-kanalas", + "resolverserverDescription": "Cloudflare yra numatytasis rezoliucijos serveris. Galite bet kada jį pakeisti.", + "enableDefaultNotificationDescription": "Šis pranešimas bus įjungtas numatytai naujiems stebėjimams. Vis dėlto galite jį atjungti kiekvienam stebėjimui atskirai.", + "confirmImportMsg": "Ar tikrai norite importuoti atsarginę kopiją? Prašome patvirtinti, kad pasirinkote teisingą importo parinktį.", + "keywordDescription": "Ieškoti raktažodžio paprastame HTML arba JSON atsakyme. Paieška yra jautri didžiosioms ir mažosioms raidėms.", + "jsonQueryDescription": "Išanalizuokite ir ištraukite konkrečius duomenis iš serverio JSON atsakymo, naudodami JSON užklausą arba naudokite \"$\" neapdorotam atsakymui, jei nesitikite JSON formato. Rezultatas vėliau lyginamas su tikėtina verte, kaip eilutėmis. Žr. {0} dokumentacijai ir naudokite {1} eksperimentavimui su užklausomis.", + "pushoversounds alien": "Svetimo signalo (ilgas)", + "apprise": "Apprise (palaiko daugiau nei 50 pranešimų paslaugų)", + "wayToGetKookGuildID": "Įjunkite „Kūrėjo režimą“ Kook nustatymuose ir dešiniuoju pelės mygtuku spustelėkite gildiją, kad gautumėte jos ID", + "octopushTypePremium": "Premium (greitas – rekomenduojamas įspėjimams)", + "octopushPhoneNumber": "Telefono numeris (tarptautiniu formatu, pvz.: +33612345678) ", + "SendGrid API Key": "SendGrid API raktas", + "conditionValuePlaceholder": "Reikšmė", + "Proto Service Name": "Proto paslaugos pavadinimas", + "goAlertInfo": "GoAlert yra atviro kodo programa, skirta nuolatinio budėjimo tvarkaraščio sudarymui, automatizuotam eskalavimui ir pranešimams (pvz., SMS arba balso skambučiams). Automatiškai susiekite tinkamą asmenį, tinkamu būdu ir tinkamu laiku! {0}", + "SecretKey": "SlaptasRaktas", + "promosmsTypeEco": "SMS ECO - pigus, bet lėtas ir dažnai perkrautas. Ribota tik Lenkijos gavėjams.", + "promosmsTypeFull": "SMS FULL - Aukštesnės klasės SMS paslauga. Galite naudoti savo siuntėjo vardą (pirmiausia reikia registruoti vardą). Patikima pranešimams.", + "promosmsSMSSender": "SMS siuntėjo vardas: iš anksto užregistruotas vardas arba vienas iš numatytųjų: InfoSMS, SMS Info, MaxSMS, INFO, SMS", + "matrixDesc2": "Labai rekomenduojama sukurti naują vartotoją ir nenaudoti savo esamo Matrix vartotojo prieigos rakto, nes jis suteiks pilną prieigą prie jūsų paskyros ir visų kambarių, į kuriuos esate įstoję. Vietoj to, sukurkite naują vartotoją ir pakvieskite jį tik į tą kambarį, kuriame norite gauti pranešimus. Prieigos raktą galite gauti vykdydami {0}", + "Notify Channel": "Pranešimų kanalas", + "aboutNotifyChannel": "Pranešimų kanalas iššauks stacionaraus kompiuterio ir mobiliojo pranešimus visiems kanalo nariams, nepriklausomai nuo to, ar jie pažymėti kaip aktyvūs, ar ne.", + "wayToGetPagerDutyKey": "Gali gauti eidamas į Paslaugos → Paslaugų katalogas → (Pasirink paslaugą) → Integracijos → Pridėti integraciją. Čia gali ieškoti „Events API V2“. Daugiau informacijos {0}", + "smseagleContact": "Telefonų knygos kontakto vardas (-ai)", + "smseaglePriority": "Žinutės prioritetas (0-9, numatytasis = 0)", + "smspartnerPhoneNumberHelptext": "Numeris turi būti tarptautiniu formatu {0}, {1}. Daugelius numerius atskirk {2}", + "Server URL should not contain the nfty topic": "Serverio URL neturėtų turėti ntfy temos", + "wayToGetPagerTreeIntegrationURL": "Sukūrus Uptime Kuma integraciją PagerTree, nukopijuok Endpoint adresą. Išsamiau {0}", + "ntfyPriorityHelptextAllExceptDown": "Visi įvykiai siunčiami su šiuo prioritetu, išskyrus {0} įvykius, kurių prioritetas yra {1}", + "Badge Prefix": "Ženklo reikšmės prefiksas", + "Badge Label Suffix": "Ženklo etiketės sufiksas", + "Badge Maintenance Color": "Profilaktikos būsenos ženklo spalva", + "monitorToastMessagesDescription": "Iššokančios žinutės stebėjimams išnyksta po nurodyto laiko sekundėmis. Nustatykite -1, kad išjungtumėte laiko limitą, arba 0, kad išjungtumėte iššokančias žinutes.", + "Enable Kafka Producer Auto Topic Creation": "Įjungti automatinį Kafka gamintojo temų kūrimą", + "noGroupMonitorMsg": "Neprieinama. Pirmiausia sukurkite grupės stebėjimą.", + "wayToGetFlashDutyKey": "Galite eiti į „Kanalas -> (Pasirinkite kanalą) -> Integracijos -> Pridėti naują integraciją“ puslapį, pridėti „Uptime Kuma“, kad gautumėte push adresą, ir nukopijuoti integracijos raktą iš adreso. Daugiau informacijos rasite apsilankę", + "Plain Text": "Paprastas tekstas", + "Message Template": "Žinutės šablonas", + "Template Format": "Šablono formatas", + "webhookJsonDesc": "{0} tinka visiems šiuolaikiniams HTTP serveriams, tokiems kaip Express.js", + "webhookFormDataDesc": "{multipart} tinka PHP. JSON reikės analizuoti naudojant {decodeFunction}", + "webhookBodyPresetOption": "Išankstinis nustatymas - {0}", + "Application Token": "Programos prieigos raktas", + "templateMsg": "pranešimo žinutė", + "PushUrl": "Siuntimo URL", + "BodyInvalidFormat": "Užklausos turinys neteisingai pateiktas JSON formatu: ", + "Reset Token": "Atstatyti prieigos raktą", + "Done": "Baigta", + "recent": "Naujausi", + "critical": "kritinė", + "Pick Accepted Status Codes...": "Pasirinkite priimtinus būsenos kodus…", + "Pick a RR-Type...": "Pasirinkite RR tipą…", + "successKeywordExplanation": "MQTT raktažodis, kuris bus laikomas sėkmingu", + "successKeyword": "Sėkmės raktažodis", + "topicExplanation": "Stebimas MQTT kanalas", + "steamApiKeyDescription": "Steam žaidimų serverio stebėjimui reikalingas Steam Web-API raktas. Užregistruoti savo API raktą galite čia: ", + "Monitor History": "Stebėjimo istorija", + "Post": "Paskelbti", + "danger": "pavojus", + "and": "ir", + "Proxy Protocol": "Tarpinio serverio protokolas", + "YZJ Webhook URL": "YZJ Webhook URL adresas", + "YZJ Robot Token": "YZJ Robot prieigos raktas", + "telegramServerUrl": "(Pasirinktinai) Serverio URL", + "dayOfWeek": "Savaitės diena", + "dayOfMonth": "Mėnesio diena", + "cronSchedule": "Tvarkaraštis: ", + "cronExpression": "Cron išraiška", + "weekdayShortMon": "Pir", + "weekdayShortTue": "Ant", + "weekdayShortWed": "Tre", + "weekdayShortThu": "Ket", + "weekdayShortFri": "Pen", + "weekdayShortSat": "Šeš", + "weekdayShortSun": "Sek", + "invalidCronExpression": "Neteisinga Cron išraiška: {0}", + "lastDay": "Paskutinė diena", + "lastDay1": "Paskutinė mėnesio diena", + "YOUR BOT TOKEN HERE": "JŪSŲ BOTO PRIEIGOS RAKTAS ČIA", + "default: notify all devices": "numatyta: pranešti visiems įrenginiams", + "wayToGetLineNotifyToken": "Jūs galite gauti prieigos raktą iš {0}", + "startDateTime": "Pradžios data/laikas", + "endDateTime": "Pabaigos data/laikas", + "chatIDNotFound": "Nepavyko rasti pokalbio ID; pirmiausia išsiųskite žinutę šiam bot'ui", + "disableCloudflaredNoAuthMsg": "Jūs esate režime be autentifikacijos, slaptažodis nereikalingas.", + "Long-Lived Access Token": "Ilgalaikis prieigos raktas", + "Notification Service": "Pranešimų paslauga", + "A list of Notification Services can be found in Home Assistant under \"Developer Tools > Services\" search for \"notification\" to find your device/phone name.": "Pranešimų paslaugų sąrašą rasite Home Assistant skiltyje „Kūrėjo įrankiai > Paslaugos“, ieškodami žodžio „notification“, kad rastumėte savo įrenginio/telefono pavadinimą.", + "Home Assistant URL": "Home Assistant URL", + "Automations can optionally be triggered in Home Assistant:": "Automatizacijas galima pasirinktinai paleisti Home Assistant sistemoje:", + "Trigger type:": "Paleidimo tipas:", + "Event type:": "Įvykio tipas:", + "Event data:": "Įvykio duomenys:", + "Then choose an action, for example switch the scene to where an RGB light is red.": "Tada pasirinkite veiksmą, pavyzdžiui, pakeiskite sceną į tą, kur RGB šviesa yra raudona.", + "Frontend Version": "Priekinės dalies versija", + "Frontend Version do not match backend version!": "Priekinės dalies versija nesutampa su galinės dalies versija!", + "backupRecommend": "Prašome atsarginę kopiją daryti tiesiogiai iš skaidinio arba duomenų aplanko (./data/).", + "Optional": "Pasirinktinai", + "sameAsServerTimezone": "Tokia pati kaip serverio laiko juosta", + "strategyManual": "Rankiniu būdu aktyvuojamas/neaktyvuojamas", + "warningTimezone": "Naudojama serverio laiko juosta", + "install": "Įdiegti", + "installing": "diegiama", + "uninstall": "Pašalinti", + "uninstalling": "Šalinama", + "lastDay2": "Antra paskutinė mėnesio diena", + "lastDay3": "Trečia paskutinė mėnesio diena", + "lastDay4": "Ketvirta paskutinė mėnesio diena", + "Display Timezone": "Rodoma laiko zona", + "Server Timezone": "Serverio laiko zona", + "IconUrl": "Piktogramos URL", + "Enable": "Įjungti", + "Disable": "Išjungti", + "plugin": "Įskiepis | Įskiepiai", + "Clone": "Klonuoti", + "cloneOf": "{0} klonas", + "smtp": "El. paštas (SMTP)", + "Schedule Maintenance": "Suplanuoti profilaktikos darbus", + "Edit Maintenance": "Redaguoti profilaktiką", + "Date and Time": "Data ir laikas", + "Clone Monitor": "Klonuoti stebėjimą", + "notificationRegional": "Regioninis", + "enableNSCD": "Įjungti NSCD (Name Service Cache Daemon) visų DNS užklausų talpyklavimui", + "dnsCacheDescription": "Gali neveikti kai kuriose IPv6 aplinkose, išjunkite, jei susiduriate su problemomis.", + "Single Maintenance Window": "Vienas profilaktikos langas", + "Maintenance Time Window of a Day": "Profilaktikos laiko langas per dieną", + "Effective Date Range": "Galiojimo datos intervalas (pasirinktinai)", + "DateTime Range": "Datos ir laiko intervalas", + "loadingError": "Nepavyko gauti duomenų, prašome bandyti vėliau.", + "secureOptionNone": "Nėra / STARTTLS (25, 587)", + "secureOptionTLS": "TLS (465)", + "From Email": "Siuntėjo el. paštas", + "Ignore TLS Error": "Ignoruoti TLS klaidą", + "leave blank for default subject": "palikite tuščią numatytai temai", + "emailCustomisableContent": "Pritaikomas turinys", + "emailCustomSubject": "Pasirinktina tema", + "emailCustomBody": "Pasirinktinas turinys", + "leave blank for default body": "Palikite tuščią, jei norite naudoti numatytąjį turinį", + "emailTemplateMonitorJSON": "objektas, apibūdinantis stebėjimą", + "To Email": "Gavėjo el. paštas", + "Bot Display Name": "Bot'o rodomas vardas", + "emailTemplateHeartbeatJSON": "objektas, apibūdinantis patikros signalą", + "emailTemplateLimitedToUpDownNotification": "Prieinamas tik VEIKIA/NEVEIKIA patikros signalams, kitu atveju – null", + "smtpCC": "CC", + "Discord Webhook URL": "Discord Webhook URL adresas", + "Prefix Custom Message": "Priešdėlis pasirinktinam pranešimui", + "Hello @everyone is...": "Sveiki, {'@'}everyone yra…", + "Select message type": "Pasirinkite pranešimo tipą", + "postToExistingThread": "Skelbti esamoje temoje / forumo įraše", + "Create new forum post": "Sukurti naują forumo įrašą", + "forumPostName": "Forumo įrašo pavadinimas", + "threadForumPostID": "Temos / forumo įrašo ID", + "wayToGetDiscordThreadId": "Gauti temos / forumo įrašo ID yra panašu į kanalo ID gavimą. Plačiau apie ID gavimą rasite {0}", + "wayToGetTeamsURL": "Galite sužinoti, kaip sukurti webhook URL {0}.", + "Access Token": "Prieigos raktas", + "Channel access token": "Kanalo prieigos raktas", + "Icon URL": "Piktogramos URL", + "Basic Settings": "Baziniai nustatymai", + "User ID": "Vartotojo ID", + "Your User ID": "Jūsų vartotojo ID", + "deleteMonitorMsg": "Ar tikrai norite ištrinti šį stebėjimą?", + "wayToGetZohoCliqURL": "Galite sužinoti, kaip sukurti webhook URL {0}.", + "needSignalAPI": "Turite turėti Signal klientą su REST API.", + "Number": "Numeris", + "Recipients": "Gavėjai", + "Channel access token (Long-lived)": "Kanalo prieigos raktas (ilgalaikis)", + "Line Developers Console": "Line kūrėjų konsolė", + "lineDevConsoleTo": "Line kūrėjų konsolė - {0}", + "Messaging API": "Žinučių API", + "aboutIconURL": "Galite nurodyti nuorodą į paveikslėlį lauke „Piktogramos URL“, kad pakeistumėte numatytąjį profilio paveikslėlį. Jei nustatytas piktogramos jaustukas, jis nebus naudojamas.", + "dataRetentionTimeError": "Laikymo periodas turi būti 0 arba didesnis", + "confirmDeleteTagMsg": "Ar tikrai norite ištrinti šią žymą? Stebėjimai, susieti su šia žyma, nebus ištrinti.", + "enableGRPCTls": "Leisti siųsti gRPC užklausas per TLS ryšį", + "grpcMethodDescription": "Metodo pavadinimas konvertuojamas į camelCase formatą, pvz., sakytiLabas, tikrinti ir pan.", + "acceptedStatusCodesDescription": "Pasirinkite būsenos kodus, kurie laikomi sėkmingu atsaku.", + "twoFAVerifyLabel": "Įveskite savo prieigos kodą 2FA patvirtinti:", + "confirmEnableTwoFAMsg": "Ar Jūs norite įjungti 2FA?", + "confirmDisableTwoFAMsg": "Ar Jūs norite išjungti 2FA?", + "promosmsPassword": "API slaptažodis", + "promosmsLogin": "API prisijungimo vardas", + "pushoversounds bike": "Dviratis", + "pushoversounds classical": "Klasika", + "backupDescription": "Jūs galite pasidaryti visų stebėjimų ir pranešimų kopijas JSON formatu.", + "notificationDescription": "Kad pranešimai veiktų, jie turi būti priskirti stebėjimui.", + "deleteMaintenanceMsg": "Ar tikrai norite ištrinti šią profilaktiką?", + "deleteNotificationMsg": "Ar tikrai norite ištrinti šį pranešimą visiems stebėjimams?", + "rrtypeDescription": "Pasirinkite RR tipą, kurį norite stebėti", + "pauseMonitorMsg": "Ar tikrai norite pristabdyti?", + "clearEventsMsg": "Ar tikrai norite ištrinti visus įvykius šiam stebėjimui?", + "clearHeartbeatsMsg": "Ar tikrai norite ištrinti visus patikros signalus šiam stebėjimui?", + "confirmClearStatisticsMsg": "Ar tikrai norite ištrinti VISAS statistikas?", + "importHandleDescription": "Pasirinkite „Praleisti esamus“, jei norite praleisti kiekvieną stebėjimą ar pranešimą su tuo pačiu pavadinimu. „Perrašyti“ ištrins visus esamus stebėjimus ir pranešimus.", + "tokenValidSettingsMsg": "Prieigos kodas yra galiojantis! Dabar galite išsaugoti 2FA nustatymus.", + "recurringIntervalMessage": "Vykdyti kartą per dieną | Vykdyti kartą kas {0} dienas", + "affectedMonitorsDescription": "Pasirinkite stebėjimus, kuriuos paveikė dabartinė profilaktika", + "affectedStatusPages": "Rodyti šį profilaktikos pranešimą pasirinktuose būsenos puslapiuose", + "atLeastOneMonitor": "Pasirinkite bent vieną paveiktą stebėjimą", + "passwordNotMatchMsg": "Pakartotas slaptažodis nesutampa.", + "backupDescription2": "Pastaba: istorija ir įvykių duomenys neįtraukti.", + "endpoint": "galinis taškas", + "octopushAPIKey": "„API key“ iš HTTP API prisijungimo duomenų valdymo skydelyje", + "octopushLogin": "„Login“ iš HTTP API prisijungimo duomenų valdymo skydelyje", + "pushoversounds pushover": "Pushover (numatyta)", + "pushoversounds bugle": "Bugle", + "pushoversounds cosmic": "Kosminis", + "pushoversounds falling": "Kritantis", + "pushoversounds siren": "Sirena", + "Device": "Įrenginys", + "SMS Type": "SMS tipas", + "Strategy": "Strategija", + "Status:": "Būsena: {0}", + "Enable TLS": "Įjungti TLS", + "pushyToken": "Įrenginio prieigos raktas", + "User Key": "Vartotojo raktas", + "Message Title": "Žinutės tema", + "Apprise URL": "Apprise URL adresas", + "pushoversounds incoming": "Gaunamas", + "pushoversounds intermission": "Pertrauka", + "pushoversounds magic": "Magija", + "pushoversounds mechanical": "Mechaninis", + "pushoversounds pianobar": "Pianino klavišas", + "pushoversounds spacealarm": "Erdvinis signalas", + "pushoversounds tugboat": "Traukimo laivas", + "pushoversounds persistent": "Pastovus (ilgas)", + "pushoversounds echo": "Pushover Echo (ilgas)", + "pushoversounds updown": "Up Down (ilgas)", + "pushoversounds vibrate": "Tik vibracija", + "pushoversounds none": "Nėra (tylus)", + "pushyAPIKey": "Slaptas API raktas", + "GoogleChat": "Google Chat (tik Google Workspace)", + "wayToGetKookBotToken": "Sukurkite programą ir gaukite savo bot'o raktą adresu {0}", + "Guild ID": "Gildijos ID", + "More info on:": "Daugiau informacijos: {0}", + "pushoverDesc1": "Avarinis prioritetas (2) turi numatytą 30 sekundžių tarp bandymų laiko limitą ir pasibaigs po 1 valandos.", + "pushoverDesc2": "Jei norite siųsti pranešimus skirtingiems įrenginiams, užpildykite lauką „Įrenginys“.", + "pushoverMessageTtl": "Žinutės TTL (sekundės)", + "octopushTypeLowCost": "Low Cost (lėtas – kartais blokuoja operatorius)", + "checkPrice": "Patikrinkite {0} kainas:", + "octopushLegacyHint": "Ar naudojate senąją Octopush versiją (2011-2020) ar naująją?", + "Check octopush prices": "Patikrinkite Octopush kainas {0}.", + "octopushSMSSender": "SMS siuntėjo vardas: 3-11 simbolių (raidės, skaičiai ir tarpas) (a-zA-Z0-9)", + "LunaSea Device ID": "LunaSea įrenginio ID", + "Example:": "Pavyzdys: {0}", + "Read more:": "Plačiau: {0}", + "Free Mobile User Identifier": "Free Mobile vartotojo identifikatorius", + "Free Mobile API Key": "Free Mobile API raktas", + "Proto Method": "Proto metodas", + "Proto Content": "Proto turinys", + "Lowcost": "Mažai kainuojantis", + "Economy": "Ekonomiškas", + "Retry": "Pakartojimų skaičius", + "Topic": "Tema", + "Platform": "Platforma", + "Channel Name": "Kanalo pavadinimas", + "WebHookUrl": "WebHookUrl", + "Don't mention people": "Neminėti žmonių", + "Mention group": "Paminėti {group}", + "Device Token": "Įrenginio prieigos raktas", + "Huawei": "Huawei", + "Proxy server has authentication": "Tarpinis serveris reikalauja autentifikacijos", + "Setup Proxy": "Nustatyti tarpinį serverį", + "Base URL": "Bazinis URL", + "high": "aukštas", + "SMSManager API Docs": "SMSManager API dokumentacija ", + "SendKey": "SendKey", + "Gateway Type": "Šliuzo tipas", + "You can divide numbers with": "Galite atskirti skaičius su", + "goAlertIntegrationKeyInfo": "Gaukite bendrą API integravimo raktą paslaugai šiuo formatu „aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee”, dažniausiai tai bus prieigos rakto parametro reikšmė nukopijuotame URL.", + "AccessKeyId": "Prieigos rakto ID", + "PhoneNumbers": "PhoneNumbers", + "TemplateCode": "TemplateCode", + "SecretAccessKey": "Prieigos rakto slaptasis raktas", + "SignName": "SignName", + "Sms template must contain parameters: ": "SMS šablone turi būti nurodyti parametrai: ", + "Bark API Version": "Bark API versija", + "Bark Endpoint": "Bark endpointas", + "Bark Group": "Bark grupė", + "Bark Sound": "Bark garsas", + "Mentioning": "Paminėjimas", + "High": "Aukštas", + "WeCom Bot Key": "WeCom bot'o raktas", + "promosmsTypeFlash": "SMS FLASH - Žinutė automatiškai bus rodoma gavėjo įrenginyje. Ribota tik Lenkijos gavėjams.", + "promosmsTypeSpeed": "SMS SPEED - Aukščiausias sistemos prioritetas. Labai greitas ir patikimas, tačiau brangesnis (apie du kartus kainuoja nei SMS FULL).", + "promosmsPhoneNumber": "Telefono numeris (Lenkijos gavėjui galite praleisti vietinį kodą)", + "Feishu WebHookUrl": "Feishu WebHook URL", + "matrixHomeserverURL": "Namų serverio URL (su http(s):// ir, jei reikia, prievadu)", + "Internal Room Id": "Vidinio kambario ID", + "matrixDesc1": "Vidinį kambario ID rasite pažangiojoje kambario nustatymų skiltyje savo Matrix kliente. Jis turėtų atrodyti panašiai: !QMdRCpUIfLwsfjxye6:home.server.", + "Remove domain": "Ištrinti domeną '{0}'", + "Icon Emoji": "Piktogramos jaustukas", + "smtpDkimDomain": "Domeno vardas", + "smtpDkimPrivateKey": "Privatus raktas", + "do nothing": "nieko nedaryti", + "alertaApiKey": "API raktas", + "serwersmsPhoneNumber": "Telefono numeris", + "smseagleTo": "Telefono numeris(-iai)", + "smspartnerSenderName": "SMS siuntėjo vardas", + "Recipient Number": "Gavėjo numeris", + "From Name/Number": "Siuntėjo vardas/numeris", + "smseagleRecipientType": "Gavėjo tipas", + "setup a new monitor group": "sukurti naują stebėjimo grupę", + "openModalTo": "Atidaryti modalą {0}", + "signalImportant": "SVARBU: Negalite maišyti grupių ir numerių gavėjų!", + "aboutWebhooks": "Išsamiau apie Webhooks: {0}", + "smtpDkimKeySelector": "Raktų parinkiklis", + "smtpDkimHashAlgo": "Maišos algoritmas (pasirinktinai)", + "smtpDkimskipFields": "Nepasirašyti antraščių raktai (pasirinktinai)", + "smtpDkimheaderFieldNames": "Pasirašyti antraščių raktai (pasirinktinai)", + "Integration Key": "Integracijos raktas", + "Integration URL": "Integracijos URL", + "Auto resolve or acknowledged": "Automatiškai išspręsta arba patvirtinta", + "auto acknowledged": "automatiškai patvirtinta", + "auto resolve": "automatiškai išspręsta", + "alertaApiEndpoint": "API galinis taškas", + "alertaEnvironment": "Aplinka", + "alertaAlertState": "Pranešimo būsena", + "alertaRecoverState": "Atkūrimo būsena", + "serwersmsAPIUser": "API vartotojo vardas (įskaitant webapi_ prefiksą)", + "serwersmsSenderName": "SMS siuntėjo vardas (užregistruotas per klientų portalą)", + "smseagleGroup": "Telefonų knygos grupės pavadinimas (-ai)", + "smseagleRecipient": "Gavėjas (-ai) (daugelius atskirk kableliais)", + "smseagleToken": "API prieigos raktas", + "smseagleUrl": "Jūsų SMSEagle įrenginio URL", + "smseagleEncoding": "Siųsti kaip Unicode", + "smspartnerApiurl": "Savo API raktą rasite savo skydelyje adresu {0}", + "smspartnerPhoneNumber": "Telefono numeris (-ai)", + "smspartnerSenderNameInfo": "Turi būti tarp 3..=11 įprastų simbolių", + "Leave blank to use a shared sender number.": "Palikite tuščią, kad naudotumėte bendrinamą siuntėjo numerį.", + "Octopush API Version": "Octopush API versija", + "Legacy Octopush-DM": "Senasis Octopush-DM", + "ntfyUsernameAndPassword": "Vartotojo vardas ir slaptažodis", + "twilioFromNumber": "Siuntėjo numeris", + "twilioToNumber": "Gavėjo numeris", + "ntfy Topic": "ntfy Tema", + "onebotHttpAddress": "OneBot HTTP adresas", + "onebotMessageType": "OneBot žinutės tipas", + "onebotGroupMessage": "Grupė", + "onebotPrivateMessage": "Privati", + "onebotUserOrGroupId": "Grupės/Vartotojo ID", + "onebotSafetyTips": "Saugumo tikslais būtina nustatyti prieigos raktą", + "pushDeerServerDescription": "Palikite tuščią, kad naudotumėte oficialų serverį", + "lunaseaDeviceID": "Įrenginio ID", + "lunaseaUserID": "Vartotojo ID", + "ntfyAuthenticationMethod": "Autentifikacijos metodas", + "ntfyPriorityHelptextAllEvents": "Visi įvykiai siunčiami su aukščiausiu prioritetu", + "twilioAccountSID": "Paskyros SID", + "twilioApiKey": "API raktas (nebūtina)", + "twilioAuthToken": "Autorizacijos raktas / API slaptas raktas", + "Monitor Setting": "{0} stebėjimo nustatymai", + "Show Clickable Link": "Rodyti paspaudžiamą nuorodą", + "Show Clickable Link Description": "Jei pažymėta, visi, turintys prieigą prie šio būsenos puslapio, gali pasiekti stebėjimo URL.", + "Open Badge Generator": "Atidaryti ženklo generatorių", + "Badge Generator": "{0} ženklo generatorius", + "Badge Type": "Ženklo tipas", + "Badge Duration (in hours)": "Ženklo trukmė (valandomis)", + "Badge Label": "Ženklo etiketė", + "Badge Suffix": "Ženklo sufiksas", + "Badge Label Color": "Ženklo etiketės spalva", + "Badge Color": "Ženklo spalva", + "Close": "Uždaryti", + "Message format": "Žinutės formatas", + "Monitor Group": "Stebėjimo grupė", + "Badge Label Prefix": "Ženklo etiketės prefiksas", + "Badge Preview": "Ženklo peržiūra", + "Badge Up Color": "Veikiančio ženklo spalva", + "Badge Down Color": "Neveikiančio ženklo spalva", + "Badge Pending Color": "Laukiamos būsenos ženklo spalva", + "Badge Warn Color": "Įspėjimo ženklo spalva", + "Badge Warn Days": "Įspėjimo dienų skaičius", + "Badge Down Days": "Neveikiančių dienų skaičius", + "Badge Style": "Ženklo stilius", + "Badge value (For Testing only.)": "Ženklo reikšmė (tik testavimui)", + "Badge URL": "Ženklo URL", + "monitorToastMessagesLabel": "Stebėjimo iššokančios žinutės", + "toastErrorTimeout": "Klaidų pranešimų laiko limitas", + "toastSuccessTimeout": "Sėkmingų pranešimų laiko limitas", + "Kafka Brokers": "Kafka brokeriai", + "Enter the list of brokers": "Įveskite brokerių sąrašą", + "Press Enter to add broker": "Paspauskite Enter, kad pridėtumėte brokerį", + "Kafka Topic Name": "Kafka temos pavadinimas", + "Kafka Producer Message": "Kafka gamintojo žinutė", + "Enable Kafka SSL": "Įjungti Kafka SSL", + "Kafka SASL Options": "Kafka SASL parinktys", + "Pick a SASL Mechanism...": "Pasirinkite SASL mechanizmą…", + "AccessKey Id": "Prieigos rakto ID", + "Secret AccessKey": "Prieigos rakto slaptasis raktas", + "Session Token": "Sesijos prieigos raktas", + "Request Body": "Užklausos turinys", + "FlashDuty Severity": "Svarba", + "nostrRelays": "Nostr tarpininkai", + "Saved.": "Išsaugota.", + "authInvalidToken": "Neteisingas prieigos raktas.", + "2faAlreadyEnabled": "2FA jau yra įjungtas.", + "2faEnabled": "2FA įjungtas.", + "2faDisabled": "2FA išjungtas.", + "successEdited": "Sėkmingai redaguota.", + "successDeleted": "Sėkmingai ištrinta.", + "successResumed": "Sėkmingai pratęsta.", + "successAdded": "Sėkmingai pridėta.", + "successAuthChangePassword": "Slaptažodis sėkmingai atnaujintas.", + "successBackupRestored": "Sėkmingai atstatytos atsarginės kopijos.", + "successDisabled": "Sėkmingai įšjungta.", + "successEnabled": "Sėkmingai įjungta.", + "tagNotFound": "Žymė nerasta.", + "Remote Browsers": "Nuotolinės naršyklės", + "Remote Browser": "Nuotolinė naršyklė", + "Add a Remote Browser": "Pridėti nuotolinę naršyklę", + "Remote Browser not found!": "Nuotolinė naršyklė nerasta!", + "useRemoteBrowser": "Naudoti nuotolinę naršyklę", + "Command": "Komanda", + "API URL": "API URL", + "What is a Remote Browser?": "Kas yra nuotolinė naršyklė?", + "successPaused": "Sėkmingai pristabdyta.", + "foundChromiumVersion": "Rasta Chromium/Chrome. Versija: {0}", + "documentationOf": "{0} dokumentacija", + "threemaRecipientTypeIdentityFormat": "8 simboliai", + "threemaRecipientTypePhone": "Telefono numeris", + "To Phone Number": "Gavėjo telefono numeris", + "threemaRecipientTypeEmail": "El. pašto adresas", + "threemaRecipient": "Gavėjas", + "threemaRecipientType": "Gavėjo tipas", + "Allow Long SMS": "Leisti ilgas SMS žinutes", + "max 15 digits": "maks. 15 skaitmenų", + "threemaRecipientTypeIdentity": "Threema-ID", + "No tags found.": "Žymių nerasta.", + "Go back to home page.": "Grįžkite į pagrindinį puslapį.", + "Recipient Type": "Gavėjo tipas", + "New Group": "Nauja grupė", + "Add Remote Browser": "Pridėti nuotolinę naršyklę", + "Group ID": "Grupės ID", + "OAuth2: Client Credentials": "OAuth2: kliento kredencialai", + "Authentication Method": "Autentifikavimo metodas", + "Authorization Header": "Autorizacijos antraštė", + "Sound": "Garsas", + "Client ID": "Kliento ID", + "Guitar": "Gitara", + "From": "Nuo", + "smtpDkimDesc": "Prašome kreiptis į Nodemailer DKIM {0} naudojimo instrukcijoms.", + "smtpDkimSettings": "DKIM nustatymai", + "documentation": "dokumentacija", + "aboutSlackUsername": "Keičia pranešimo siuntėjo rodomą vardą. Jei norite paminėti kažką, įtraukite tai į draugišką vardą.", + "aboutChannelName": "Įveskite kanalo pavadinimą {0} lauke „Kanalo pavadinimas“, jei norite apeiti Webhook kanalą. Pvz.: #kitas-kanalas", + "aboutKumaURL": "Jei paliksite Uptime Kuma URL lauką tuščią, jis bus automatiškai nustatytas kaip Projekto GitHub puslapis.", + "PushDeer Key": "PushDeer raktas", + "wayToGetClickSendSMSToken": "API vartotojo vardą ir API raktą galite gauti adresu {0}.", + "Custom Monitor Type": "Pasirinktinis stebėjimo tipas", + "lunaseaTarget": "Tikslas", + "Edit Tag": "Redaguoti žymę", + "Server Address": "Serverio adresas", + "Google Analytics ID": "Google Analytics ID", + "pagertreeUrgency": "Svarba", + "pagertreeCritical": "Kritinė", + "pagertreeHigh": "Aukšta", + "pagertreeMedium": "Vidutinė", + "pagertreeLow": "Maža", + "pagertreeIntegrationUrl": "Integracijos URL", + "pagertreeSilent": "Tyli", + "pagertreeDoNothing": "Nieko nedaryti", + "pagertreeResolve": "Automatiškai išspręsti", + "templateHostnameOrURL": "pagrindinio kompiuterio vardas arba nuoroda", + "templateStatus": "būsena", + "emojiCheatSheet": "Jaustukų kodų lentelė: {0}", + "Read more": "Skaityti daugiau", + "default": "Numatytas", + "No Monitors": "Nėra stebėjimų", + "Please input title and content": "Prašome įvesti pavadinimą ir turinį", + "Show Tags": "Rodyti žymes", + "Hide Tags": "Paslėpti žymes", + "No monitors available.": "Nėra galimų stebėjimų.", + "setAsDefault": "Nustatyti kaip numatytą", + "Customize": "Tinkinti", + "proxyDescription": "Kad tarpiniai serveriai veiktų, jie turi būti priskirti stebėjimui.", + "enableProxyDescription": "Šis tarpinis serveris neturės poveikio stebėjimo užklausoms, kol nebus aktyvuotas. Galite laikinai išjungti tarpinį serverį nuo visų stebėjimų pagal aktyvavimo būseną.", + "setAsDefaultProxyDescription": "Šis tarpinis serveris bus įjungtas pagal numatytuosius nustatymus naujiems stebėjimams. Vis dar galite išjungti tarpinį serverį kiekvienam stebėjimui atskirai.", + "templateServiceName": "paslaugos pavadinimas", + "Description": "Aprašymas", + "Add one": "Pridėti vieną", + "Untitled Group": "Grupė be pavadinimo", + "Services": "Paslaugos", + "Powered by": "Sukūrė", + "Custom Footer": "Pasirinktinė apačia", + "Custom CSS": "Pasirinktinis CSS", + "deleteStatusPageMsg": "Ar tikrai norite ištrinti šį būsenos puslapį?", + "Proxies": "Tarpiniai serveriai", + "enabled": "Įjungta", + "deleteProxyMsg": "Ar tikrai norite ištrinti šį tarpinį serverį visiems stebėjimams?", + "Installed": "Įdiegta", + "Not installed": "Neįdiegta", + "Running": "Paleistas", + "Remove Token": "Pašalinti prieigos raktą", + "Start": "Paleisti", + "Stop": "Sustabdyti", + "Next": "Toliau", + "Authentication": "Autentifikacija", + "Page Not Found": "Puslapis nerastas", + "About": "Apie", + "Message:": "Žinutė:", + "HTTP Headers": "HTTP antraštės", + "For example: nginx, Apache and Traefik.": "Pavyzdžiui: ngix, Apache ir Traefik.", + "Subject:": "Tema:", + "Refresh Interval": "Atnaujinimo intervalas", + "Add New Status Page": "Pridėti naują būsenos puslapį", + "Backup": "Padaryti atsargines kopijas", + "Domain Names": "Domenų vardai", + "Footer Text": "Apačios tekstas", + "wayToGetCloudflaredURL": "(Atsisiųskite cloudflared iš {0})", + "cloudflareWebsite": "Cloudflare svetainės", + "User": "Vartotojas", + "No Proxy": "Nėra tarpinio serverio", + "Trust Proxy": "Pasitikėti šiuo tarpiniu serveriu", + "Proxy": "Tarpinis serveris", + "Certificate Chain": "Sertifikato grandinė", + "Invalid": "Negaliojantis", + "Slug": "Nuorodos dalis", + "Accept characters:": "Priimami simboliai:", + "startOrEndWithOnly": "Pradėti arba baigti tik su {0}", + "The slug is already taken. Please choose another slug.": "Ši nuorodos dalis jau užimta. Prašome pasirinkti kitą.", + "HTTP Basic Auth": "HTTP bazinis autentifikavimas", + "New Status Page": "Naujas būsenos puslapis", + "Don't know how to get the token? Please read the guide:": "Nežinote, kaip gauti prieigos raktą? Perskaitykite vadovą:", + "Other Software": "Kitos programinės įrangos", + "Show Powered By": "Rodyti kas sukūrė", + "Valid To:": "Galioja iki:", + "Days Remaining:": "Liko dienų:", + "Issuer:": "Išdavėjas:", + "Fingerprint:": "Pirštų antspaudas:", + "No status pages": "Nėra būsenos puslapių", + "Domain Name Expiry Notification": "Domeno vardo galiojimo pabaigos pranešimas", + "Add a new expiry notification day": "Pridėti naują galiojimo pabaigos pranešimo dieną", + "Remove the expiry notification": "Pašalinti galiojimo pabaigos pranešimą", + "Steam Game Server": "Steam žaidimų serveris", + "Coming Soon": "Jau greitai", + "Query": "Užklausa", + "tcp": "TCP / HTTP", + "Packet Size": "Paketo dydis", + "Chat ID": "Pokalbio ID", + "API Username": "API vartotojo vardas", + "socket": "Lizdas", + "Go back to the previous page.": "Grįžkite į ankstesnį puslapį.", + "Domain": "Domenas", + "Bot Token": "Bot'o prieigos raktas", + "Show update if available": "Rodyti galimus atnaujinimus", + "Also check beta release": "Taip pat patikrinti beta išleidimus", + "settingsCertificateExpiry": "TLS sertifikato galiojimas", + "Using a Reverse Proxy?": "Naudojate atvirkštinį tarpinį serverį?", + "signedInDispDisabled": "Autentifikavimas išjungtas.", + "RadiusSecret": "RADIUS slaptažodis", + "RadiusSecretDescription": "Bendras slaptažodis tarp kliento ir serverio", + "RadiusCalledStationId": "RADIUS iškviesto stoties ID", + "RadiusCalledStationIdDescription": "Iškviesto įrenginio identifikatorius", + "RadiusCallingStationId": "RADIUS skambinančios stoties ID", + "Certificate Expiry Notification": "Sertifikato galiojimo pabaigos pranešimas", + "Check how to config it for WebSocket": "Patikrinkite, kaip sukonfigūruoti per WebSocket", + "Most likely causes:": "Greičiausios priežastys:", + "The resource is no longer available.": "Resursas nebeprieinamas.", + "What you can try:": "Ką galite pabandyti:", + "Retype the address.": "Įveskite adresą iš naujo.", + "Connection String": "Ryšio eilutė", + "Setup Docker Host": "Nustatyti Docker serverį", + "Connection Type": "Ryšio tipas", + "Docker Daemon": "Docker tarnyba", + "noDockerHostMsg": "Nepasiekiama. Pirmiausia nustatykite Docker serverį.", + "deleteDockerHostMsg": "Ar tikrai norite ištrinti šį Docker serverį iš visų stebėjimų?", + "Docker Container": "Docker konterineris", + "Container Name / ID": "Konteinerio vardas / ID", + "Docker Host": "Docker serveris", + "Docker Hosts": "Docker serveriai", + "Workstation": "Darbinė stotis", + "telegramMessageThreadID": "(Pasirinktinai) Žinučių temos ID", + "telegramMessageThreadIDDescription": "Pasirinktinai unikalus identifikatorius tikslinei žinučių temai (forumo temai), skirtas tik forumo supergrupėms", + "telegramSendSilently": "Siųsti tyliai", + "telegramSendSilentlyDescription": "Siunčia žinutę tyliai. Vartotojai gaus pranešimą be garso.", + "Examples": "Pavyzdžiai", + "telegramProtectContent": "Apsaugoti nuo persiuntimo/išsaugojimo", + "telegramProtectContentDescription": "Jei įjungta, Telegram bot'o žinutės bus apsaugotos nuo persiuntimo ir išsaugojimo.", + "telegramUseTemplate": "Naudoti pasirinktą žinutės šabloną", + "telegramUseTemplateDescription": "Jei įjungta, žinutė bus išsiųsta naudojant pasirinktą šabloną.", + "telegramTemplateFormatDescription": "Telegram leidžia naudoti skirtingas žymėjimo kalbas žinutėms, žr. Telegram {0} dėl išsamesnės informacijos.", + "supportTelegramChatID": "Palaikymas tiesioginiam pokalbiui / grupei / kanalui pokalbio ID", + "wayToGetTelegramChatID": "Galite gauti savo pokalbio ID, išsiųsdami žinutę bot'ui ir apsilankę šioje nuorodoje, kur pamatysite chat_id:", + "smtpBCC": "BCC", + "pushoversounds climb": "Klimbas (ilgas)", + "Authorization Identity": "Autorizacijos identifikatorius", + "liquidIntroduction": "Šablonavimo galimybės pasiekiamos naudojant Liquid šablonavimo kalbą. Naudojimo instrukcijas rasite {0}. Galimi šie kintamieji:", + "webhookAdditionalHeadersDesc": "Nustato papildomas antraštes, siunčiamas su webhook. Kiekviena antraštė turi būti apibrėžta kaip JSON raktas/reikšmė.", + "templateMonitorJSON": "objektas, apibūdinantis stebėjimą", + "templateLimitedToUpDownNotifications": "prieinama tik VEIKIA/NEVEIKIA pranešimams", + "Json Query Expression": "Json užklausos išraiška", + "webhookAdditionalHeadersTitle": "Papildomos antraštės", + "webhookBodyCustomOption": "Tinkintas turinys", + "Webhook URL": "Webhook URL adresas", + "templateHeartbeatJSON": "objektas, apibūdinantis patikros signalą", + "templateLimitedToUpDownCertNotifications": "prieinama tik VEIKIA/NEVEIKIA/Sertifikato galiojimo pranešimams", + "authIncorrectCreds": "Neteisingas vartotojo vardas arba slaptažodis.", + "nostrRelaysHelp": "Vienas tarpininko URL po vieną eilutėje", + "nostrSender": "Siuntėjo privatus raktas (nsec)", + "nostrRecipients": "Gavėjų viešieji raktai (npub)", + "nostrRecipientsHelp": "npub formatu, po vieną eilutėje", + "showCertificateExpiry": "Rodyti sertifikato galiojimo pabaigą", + "noOrBadCertificate": "Nėra / netinkamas sertifikatas", + "cacheBusterParam": "Pridėti {0} parametrą", + "cacheBusterParamDescription": "Atsitiktinai sugeneruotas parametras, skirtas apeiti talpyklas.", + "gamedigGuessPortDescription": "Valve Server Query Protocol naudojamas prievadas gali skirtis nuo kliento prievado. Pabandykite šį variantą, jei monitorius negali prisijungti prie jūsų serverio.", + "Send rich messages": "Siųsti išsamius pranešimus", + "Bitrix24 Webhook URL": "Bitrix24 Webhook URL adresas", + "authUserInactiveOrDeleted": "Vartotojas neaktyvus arba ištrintas.", + "rabbitmqNodesRequired": "Prašome nustatyti mazgus šiam stebėjimui.", + "RabbitMQ Nodes": "RabbitMQ valdymo mazgai", + "rabbitmqNodesDescription": "Įveskite URL adresą RabbitMQ valdymo mazgams, įskaitant protokolą ir prievadą. Pavyzdys: {0}", + "rabbitmqNodesInvalid": "Prašome naudoti pilnai kvalifikuotą (prasidedantį „http“) URL adresą RabbitMQ mazgams.", + "cellsyntDestination": "Gavėjo telefono numeris, naudojant tarptautinį formatą su pradine 00 ir šalies kodu, pvz., 00447920110000 JK numeriui 07920 110 000 (iš viso iki 17 skaitmenų). Viena HTTP užklausa gali turėti iki 25000 gavėjų, atskirtų kableliais.", + "threemaBasicModeInfo": "Pastaba: Ši integracija naudoja Threema Gateway baziniame režime (serverio pagrindu šifravimas). Išsamesnę informaciją rasite {0}.", + "Custom sound to override default notification sound": "Individualus garsas, pakeičiantis numatytąjį pranešimų garsą", + "Either a text sender ID or a phone number in E.164 format if you want to be able to receive replies.": "Naudokite teksto siuntėjo ID arba telefono numerį E.164 formatu, jei norite gauti atsakymus.", + "wahaSession": "Sesija", + "wahaChatId": "Pokalbio ID (telefono numeris / adresato ID / grupės ID)", + "wayToGetWahaApiUrl": "Jūsų WAHA instancijos URL.", + "wayToGetWahaApiKey": "API raktas yra WHATSAPP_API_KEY aplinkos kintamojo reikšmė, kurią naudojote paleidžiant WAHA.", + "wayToGetWahaSession": "Iš šios sesijos WAHA siunčia pranešimus į pokalbio ID. Jį rasite WAHA skydelyje.", + "wayToWriteWahaChatId": "Telefono numeris su tarptautiniu prefiksu, bet be pliuso ženklo pradžioje ({0}), adresato ID ({1}) arba grupės ID ({2}). Pranešimai siunčiami į šį pokalbio ID iš WAHA sesijos.", + "OAuth Token URL": "OAuth prieigos rakto URL", + "invertKeywordDescription": "Ieškokite raktažodžio, kuris yra ankščiau panaudotas, o ne esantis.", + "gamedigGuessPort": "Gamedig: atspėk prievadą", + "wayToGetBitrix24Webhook": "Sukurkite webhook, sekdami nurodymus adresu {0}", + "bitrix24SupportUserID": "Įveskite savo vartotojo ID Bitrix24. ID galite rasti nuorodoje, eidami į vartotojo profilį.", + "remoteBrowsersDescription": "Nuotolinės naršyklės yra alternatyva Chromium paleidimui vietoje. Nustatykite su tokia paslauga kaip browserless.io arba prisijunkite prie savo", + "self-hosted container": "savarankiškai talpinamas konteineris", + "remoteBrowserToggle": "Numatytuoju atveju Chromium veikia Uptime Kuma konteineryje. Galite naudoti nuotolinę naršyklę, persijungę šį jungiklį.", + "deleteRemoteBrowserMessage": "Ar tikrai norite ištrinti šią nuotolinę naršyklę visiems stebėjimams?", + "GrafanaOncallUrl": "Grafana Oncall URL", + "mongodbCommandDescription": "Paleiskite MongoDB komandą prieš duomenų bazę. Daugiau informacijos apie galimas komandas rasite {documentation}", + "wayToGetSevenIOApiKey": "Aplankykite valdymo skydelį adresu app.seven.io > developer > api key > žalias pridėjimo mygtukas", + "senderSevenIO": "Siuntimo numeris arba pavadinimas", + "receiverSevenIO": "Priėmimo numeris", + "receiverInfoSevenIO": "Jei priėmimo numeris nėra Vokietijoje, turite pridėti šalies kodą numerio pradžioje (pvz., JAV šalies kodui 1 naudokite 117612121212 vietoje 017612121212)", + "apiKeySevenIO": "SevenIO API raktas", + "wayToWriteWhapiRecipient": "Telefono numeris su tarptautiniu prefiksu, bet be pliuso ženklas pradžioje ({0}), adresato ID ({1}) arba grupės ID ({2}).", + "wayToGetWhapiUrlAndToken": "API URL ir prieigos raktą galite gauti eidami į norimą kanalą iš {0}", + "whapiRecipient": "Telefono numeris / Adresato ID / Grupės ID", + "wayToGetHeiiOnCallDetails": "Kaip gauti Trigger ID ir API raktus, paaiškinta {documentation}", + "callMeBotGet": "Čia galite sugeneruoti pabaigos tašką {0}, {1} ir {2}. Atkreipkite dėmesį, kad galite susidurti su apribojimais. Apribojimai atrodo tokie: {3}", + "gtxMessagingApiKeyHint": "Savo API raktą rasite: My Routing Accounts > Show Account Information > API Credentials > REST API (v2.x)", + "From Phone Number / Transmission Path Originating Address (TPOA)": "Iš telefono numerio / Perdavimo kelio kilmės adresas (TPOA)", + "gtxMessagingFromHint": "Mobiliaisiais telefonais jūsų gavėjai mato TPOA kaip pranešimo siuntėją. Leidžiama iki 11 simbolių su raidėmis/skaičiais, trumpasis kodas, vietinis ilgas numeris arba tarptautiniai numeriai ({e164}, {e212} arba {e214})", + "Originator type": "Siuntėjo tipas", + "cellsyntOriginatortypeAlphanumeric": "Raidinė skaitmeninė eilutė (maks. 11 simbolių). Gavėjai negali atsakyti į pranešimą.", + "Alphanumeric (recommended)": "Raidinis skaitmeninis (rekomenduojama)", + "cellsyntOriginatortypeNumeric": "Skaitinė reikšmė (maks. 15 skaitmenų) su tarptautiniu telefono numerio formatu be pradinio 00 (pvz., JK numeris 07920 110 000 turi būti įrašytas kaip 447920110000). Gavėjai gali atsakyti į pranešimą.", + "Originator": "Siuntėjas", + "cellsyntOriginator": "Rodoma gavėjo mobiliajame telefone kaip pranešimo siuntėjas. Leidžiamos reikšmės ir funkcija priklauso nuo parametro originatortype.", + "Destination": "Gavėjas", + "cellsyntSplitLongMessages": "Ilgi pranešimai suskaidomi į iki 6 dalių. 153 x 6 = 918 simbolių.", + "max 11 alphanumeric characters": "maks. 11 simbolių (raidės, skaičiai)", + "Community String": "Bendruomenės eilutė", + "snmpCommunityStringHelptext": "Ši eilutė veikia kaip slaptažodis, skirtas autentifikuoti ir valdyti prieigą prie SNMP palaikomų įrenginių. Suderinkite ją su savo SNMP įrenginio konfigūracija.", + "OID (Object Identifier)": "OID (objekto identifikatorius)", + "snmpOIDHelptext": "Įveskite OID sensoriui ar būsenai, kuriuos norite stebėti. Jei nesate tikri dėl OID, naudokite tinklo valdymo įrankius, tokius kaip MIB naršyklės ar SNMP programinė įranga.", + "Condition": "Sąlyga", + "SNMP Version": "SNMP versija", + "Please enter a valid OID.": "Prašome įvesti galiojantį OID.", + "wayToGetThreemaGateway": "Galite užsiregistruoti Threema Gateway {0}.", + "threemaRecipientTypePhoneFormat": "E.164, be pradinio +", + "threemaSenderIdentity": "Gateway-ID", + "threemaSenderIdentityFormat": "8 simboliai, paprastai prasideda ženklu *", + "threemaApiAuthenticationSecret": "Gateway-ID slaptažodis", + "apiKeysDisabledMsg": "API raktai išjungti, nes autentifikacija išjungta.", + "Host Onesender": "Onesender serveris", + "Token Onesender": "Onesender prieigos raktas", + "privateOnesenderDesc": "Įsitikinkite, kad telefono numeris yra tinkamas. Norėdami išsiųsti žinutę į privatų telefono numerį, pvz.: 628123456789", + "groupOnesenderDesc": "Įsitikinkite, kad GroupID yra tinkamas. Norėdami išsiųsti žinutę į grupę, pvz.: 628123456789-342345", + "wayToGetOnesenderUrlandToken": "URL ir prieigos raktą galite gauti apsilankę Onesender svetainėje. Daugiau informacijos {0}", + "Flute": "Fleita", + "Harp": "Arfa", + "Doorbell": "Durų skambutis", + "Elevator": "Liftas", + "Form Data Body": "Formos duomenų turinys", + "Client Secret": "Kliento slaptažodis", + "OAuth Scope": "OAuth apimtis", + "Optional: Space separated list of scopes": "Pasirenkama: tarpu atskirtų apimčių sąrašas", + "Lost connection to the socket server.": "Prarastas ryšys su lizdo serveriu.", + "Cannot connect to the socket server.": "Nepavyksta prisijungti prie lizdo serverio.", + "SIGNL4": "SIGNL4", + "SIGNL4 Webhook URL": "SIGNL4 Webhook URL adresas", + "signl4Docs": "Daugiau informacijos apie SIGNL4 konfigūravimą ir kaip gauti SIGNL4 webhook URL rasite {0}.", + "Conditions": "Sąlygos", + "conditionAdd": "Pridėti sąlygą", + "conditionDelete": "Ištrinti sąlygą", + "conditionAddGroup": "Pridėti grupę", + "conditionDeleteGroup": "Ištrinti grupę", + "not contains": "neturi", + "starts with": "prasideda su", + "not starts with": "neprasideda su", + "ends with": "baigiasi su", + "not ends with": "nebaigiasi su", + "less than": "mažiau nei", + "greater than": "daugiau nei", + "less than or equal to": "mažiau arba lygu", + "greater than or equal to": "daugiau arba lygu", + "record": "įrašas", + "Notification Channel": "Pranešimų kanalas", + "Alphanumerical string and hyphens only": "Tik raidinė skaitinė eilutė ir brūkšneliai", + "Arcade": "Arkada", + "Fail": "Nepavyko", + "Correct": "Teisingai", + "Reveal": "Atskleisti", + "Bubble": "Burbulas", + "Scifi": "Mokslinis fantastinis", + "Clear": "Išvalyti", + "Pop": "Pop", + "Time Sensitive (iOS Only)": "Laiko jautrūs (tik iOS)", + "Time sensitive notifications will be delivered immediately, even if the device is in do not disturb mode.": "Laiko jautrūs pranešimai bus pristatyti iš karto, net jei įrenginys yra „Netrukdyti“ režime.", + "Can be found on:": "Galima rasti: {0}", + "The phone number of the recipient in E.164 format.": "Gavėjo telefono numeris E.164 formatu.", + "rabbitmqHelpText": "Norėdami naudoti stebėjimą, turėsite įjungti valdymo įskiepį savo RabbitMQ sąrankoje. Išsamesnės informacijos rasite {rabitmq_documentation}.", + "Separate multiple email addresses with commas": "Atskirkite kelis el. pašto adresus kableliais", + "equals": "lygu", + "not equals": "nelygu", + "contains": "turi" } From 049005d2d26919edbdff7e5fefcc4bcdd2844fc4 Mon Sep 17 00:00:00 2001 From: mantak Date: Fri, 28 Mar 2025 10:45:58 +0200 Subject: [PATCH 212/226] Add Lithuanian language code to dropdown (#5732) --- src/i18n.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/i18n.js b/src/i18n.js index f415f5daf..bd7e3a122 100644 --- a/src/i18n.js +++ b/src/i18n.js @@ -31,6 +31,7 @@ const languageList = { "sv-SE": "Svenska", "tr-TR": "Türkçe", "ko-KR": "한국어", + "lt": "Lietuvių", "ru-RU": "Русский", "zh-CN": "简体中文", "pl": "Polski", From 6de4aec67b0fd9bbc7f5fca116a86bd2b79073bc Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Fri, 28 Mar 2025 23:36:37 +0800 Subject: [PATCH 213/226] Update to 2.0.0-beta.2 (#5733) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 4c1a9f73d..ce6710163 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "uptime-kuma", - "version": "2.0.0-beta.1", + "version": "2.0.0-beta.2", "license": "MIT", "repository": { "type": "git", From 85709f9ad4f0a966108f069630e9ccd7e5b45bd4 Mon Sep 17 00:00:00 2001 From: GJS <163113183+homelab-alpha@users.noreply.github.com> Date: Thu, 3 Apr 2025 11:05:07 +0200 Subject: [PATCH 214/226] docs: reword issue templates, pr workflow and review docs (#5728) Co-authored-by: Frank Elsinga --- .github/ISSUE_TEMPLATE/ask-for-help.yaml | 75 --- .github/ISSUE_TEMPLATE/ask_for_help.yml | 120 ++++ .github/ISSUE_TEMPLATE/bug_report.yaml | 100 --- .github/ISSUE_TEMPLATE/bug_report.yml | 154 +++++ .github/ISSUE_TEMPLATE/feature_request.yaml | 66 -- .github/ISSUE_TEMPLATE/feature_request.yml | 106 +++ .github/ISSUE_TEMPLATE/security_issue.yml | 16 +- .github/PULL_REQUEST_TEMPLATE.md | 135 +++- .github/REVIEW_GUIDELINES.md | 224 +++++++ CODE_OF_CONDUCT.md | 66 +- CONTRIBUTING.md | 704 ++++++++++++++------ SECURITY.md | 36 +- 12 files changed, 1274 insertions(+), 528 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/ask-for-help.yaml create mode 100644 .github/ISSUE_TEMPLATE/ask_for_help.yml delete mode 100644 .github/ISSUE_TEMPLATE/bug_report.yaml create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml delete mode 100644 .github/ISSUE_TEMPLATE/feature_request.yaml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml create mode 100644 .github/REVIEW_GUIDELINES.md diff --git a/.github/ISSUE_TEMPLATE/ask-for-help.yaml b/.github/ISSUE_TEMPLATE/ask-for-help.yaml deleted file mode 100644 index a708dbf23..000000000 --- a/.github/ISSUE_TEMPLATE/ask-for-help.yaml +++ /dev/null @@ -1,75 +0,0 @@ -name: "❓ Ask for help" -description: "Submit any question related to Uptime Kuma" -#title: "[Help] " -labels: [help] -body: - - type: checkboxes - id: no-duplicate-issues - attributes: - label: "⚠️ Please verify that this question has NOT been raised before." - description: "Search in the issues sections by clicking [HERE](https://github.com/louislam/uptime-kuma/issues?q=)" - options: - - label: "I checked and didn't find similar issue" - required: true - - type: checkboxes - attributes: - label: "🛡️ Security Policy" - description: Please review the security policy before reporting security related issues/bugs. - options: - - label: I agree to have read this project [Security Policy](https://github.com/louislam/uptime-kuma/security/policy) - required: true - - type: textarea - id: steps-to-reproduce - validations: - required: true - attributes: - label: "📝 Describe your problem" - description: "Please walk us through it step by step. Include all important details and add screenshots where appropriate" - placeholder: "Describe what are you asking for..." - - type: textarea - id: error-msg - validations: - required: false - attributes: - label: "📝 Error Message(s) or Log" - - type: input - id: uptime-kuma-version - attributes: - label: "🐻 Uptime-Kuma Version" - description: "Which version of Uptime-Kuma are you running? Please do NOT provide the docker tag such as latest or 1" - placeholder: "Ex. 1.10.0" - validations: - required: true - - type: input - id: operating-system - attributes: - label: "💻 Operating System and Arch" - description: "Which OS is your server/device running on? (For Replit, please do not report this bug)" - placeholder: "Ex. Ubuntu 20.04 x86" - validations: - required: true - - type: input - id: browser-vendor - attributes: - label: "🌐 Browser" - description: "Which browser are you running on? (For Replit, please do not report this bug)" - placeholder: "Ex. Google Chrome 95.0.4638.69" - validations: - required: true - - type: textarea - id: deployment-info - attributes: - label: "🖥️ Deployment Environment" - description: | - examples: - - **Runtime**: Docker 20.10.9 / nodejs 14.18.0 / K8S via ... v1.3.3 / .. - - **Database**: sqlite/embedded mariadb/external mariadb - - **Filesystem used to store the database on**: Windows/ZFS/btrfs/NFSv3 on a SSD/HDD/eMMC - - **number of monitors**: 42 - value: | - - Runtime: - - Database: - - Filesystem used to store the database on: - - number of monitors: - validations: - required: true diff --git a/.github/ISSUE_TEMPLATE/ask_for_help.yml b/.github/ISSUE_TEMPLATE/ask_for_help.yml new file mode 100644 index 000000000..45bd046e5 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/ask_for_help.yml @@ -0,0 +1,120 @@ +--- +name: ❓ Ask for help +description: | + Submit any question related to Uptime Kuma +#title: "[Help]" +labels: ["help", "P3-low"] +body: + - type: markdown + attributes: + value: | + 🚫 **We kindly ask you to refrain from pinging maintainers unless absolutely necessary. Pings are reserved for critical/urgent issues that require immediate attention.** + + **Why**: Reserving pings for urgent matters ensures maintainers can prioritize critical tasks effectively + + - type: checkboxes + id: no-duplicate-question + attributes: + label: ⚠️ Please verify that your question has not already been reported + description: | + To avoid duplicate reports, please search for any existing issues before submitting a new one. You can find the list of existing issues **[HERE](https://github.com/louislam/uptime-kuma/issues?q=is%3Aissue%20sort%3Acreated-desc%20)**. + options: + - label: | + I have searched the [existing issues](https://github.com/louislam/uptime-kuma/issues?q=is%3Aissue%20sort%3Acreated-desc%20) and found no similar reports. + required: true + + - type: checkboxes + id: security-policy + attributes: + label: 🛡️ Security Policy + description: | + Please review and acknowledge the Security Policy before reporting any security-related issues or bugs. You can find the full Security Policy **[HERE](https://github.com/louislam/uptime-kuma/security/policy)**. + options: + - label: | + I have read and agree to Uptime Kuma's [Security Policy](https://github.com/louislam/uptime-kuma/security/policy). + required: true + + - type: textarea + id: steps-to-reproduce + validations: + required: true + attributes: + label: 📝 Describe your problem + description: | + Please walk us through it step by step. Include all important details and add screenshots where appropriate + placeholder: | + Describe what are you asking for ... + + - type: textarea + id: error-msg + attributes: + label: 📝 Error Message(s) or Log + description: | + Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks. + render: bash session + validations: + required: false + + - type: input + id: uptime-kuma-version + attributes: + label: 🐻 Uptime-Kuma Version + description: | + What version of Uptime-Kuma are you running? Please do not provide Docker tags like `latest` or `1`. + placeholder: | + e.g., 1.23.16 or 2.0.0-beta.2 + validations: + required: true + + - type: input + id: operating-system + attributes: + label: 💻 Operating System and Arch + description: | + Which OS is your server/device running on? (For Replit, please do not report this bug) + placeholder: | + e.g., Ubuntu Server 24.04.2 LTS (GNU/Linux 6.8.0-55-generic x86_64) + validations: + required: true + + - type: input + id: browser-vendor + attributes: + label: 🌐 Browser + description: | + Which browser are you running on? (For Replit, please do not report this bug) + placeholder: | + e.g., Google Chrome 134.0.6998.183 (Official Build) (64-bit) + validations: + required: true + + - type: textarea + id: deployment-info + attributes: + label: 🖥️ Deployment Environment + description: | + Provide details about the deployment environment, including runtime components, databases, and storage configurations. This will + help assess the infrastructure and identify any potential compatibility requirements. + + **Remove any fields that do not apply to your setup.** + value: | + - **Runtime Environment**: + - Docker: Version `X.X.X` (Build `Y.Y.Y`) + - Docker Compose: Version `X.X.X` + - Portainer (BE/CE): Version `X.X.X` (LTS: Yes/No) + - MariaDB: Version `X.X.X` (LTS: Yes/No) + - Node.js: Version `X.X.X` (LTS: Yes/No) + - Kubernetes (K3S/K8S): Version `X.X.X` (LTS: Yes/No, via `[method/tool]`) + - **Database**: + - SQLite: Embedded + - MariaDB: Embedded/External + - **Database Storage**: + - **Filesystem**: + - Linux: ext4/XFS/Btrfs/ZFS/F2FS + - macOS: APFS/ HFS+ + - Windows: NTFS/ReFS + - **Storage Medium**: HDD/eMMC/SSD/NVMe + - **Uptime Kuma Setup**: + - Number of monitors: `X` + validations: + required: true diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml deleted file mode 100644 index 9745a76a6..000000000 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ /dev/null @@ -1,100 +0,0 @@ -name: "🐛 Bug Report" -description: "Submit a bug report to help us improve" -#title: "[Bug] " -labels: [bug] -body: - - type: textarea - id: related-issues - validations: - required: true - attributes: - label: "📑 I have found these related issues/pull requests" - description: "Search related issues by clicking [HERE](https://github.com/louislam/uptime-kuma/issues?q=) and explain what the difference between them or explain that you are unable to find any related issues" - placeholder: "Related to #1 by also touching the ... system. They should not be merged because ..." - - type: checkboxes - attributes: - label: "🛡️ Security Policy" - description: Please review the security policy before reporting security related issues/bugs. - options: - - label: I agree to have read this project [Security Policy](https://github.com/louislam/uptime-kuma/security/policy) - required: true - - type: textarea - id: description - validations: - required: false - attributes: - label: "Description" - description: "You could also upload screenshots" - - type: textarea - id: steps-to-reproduce - validations: - required: true - attributes: - label: "👟 Reproduction steps" - description: "How do you trigger this bug? Please walk us through it step by step. Include all important details and add screenshots where appropriate" - placeholder: "..." - - type: textarea - id: expected-behavior - validations: - required: true - attributes: - label: "👀 Expected behavior" - description: "What did you think would happen?" - placeholder: "..." - - type: textarea - id: actual-behavior - validations: - required: true - attributes: - label: "😓 Actual Behavior" - description: "What actually happen?" - placeholder: "..." - - type: input - id: uptime-kuma-version - attributes: - label: "🐻 Uptime-Kuma Version" - description: "Which version of Uptime-Kuma are you running? Please do NOT provide the docker tag such as latest or 1" - placeholder: "Ex. 1.10.0" - validations: - required: true - - type: input - id: operating-system - attributes: - label: "💻 Operating System and Arch" - description: "Which OS is your server/device running on? (For Replit, please do not report this bug)" - placeholder: "Ex. Ubuntu 20.04 x64 " - validations: - required: true - - type: input - id: browser-vendor - attributes: - label: "🌐 Browser" - description: "Which browser are you running on?" - placeholder: "Ex. Google Chrome 95.0.4638.69" - validations: - required: true - - type: textarea - id: deployment-info - attributes: - label: "🖥️ Deployment Environment" - description: | - examples: - - **Runtime**: Docker 20.10.9 / nodejs 18.17.1 / K8S via ... v1.3.3 / .. - - **Database**: sqlite/embedded mariadb/external mariadb - - **Filesystem used to store the database on**: Windows/ZFS/btrfs/NFSv3 on a SSD/HDD/eMMC - - **number of monitors**: 42 - value: | - - Runtime: - - Database: - - Filesystem used to store the database on: - - number of monitors: - validations: - required: true - - type: textarea - id: logs - attributes: - label: "📝 Relevant log output" - description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks. - render: shell - validations: - required: false diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 000000000..31cd6faf6 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,154 @@ +--- +name: 🐛 Bug Report +description: | + Submit a bug report to help us improve +#title: "[Bug]" +labels: ["bug", "P2-medium"] +body: + - type: markdown + attributes: + value: | + 🚫 **We kindly ask you to refrain from pinging maintainers unless absolutely necessary. Pings are reserved for critical/urgent issues that require immediate attention.** + + **Why**: Reserving pings for urgent matters ensures maintainers can prioritize critical tasks effectively + + - type: textarea + id: related-issues + validations: + required: true + attributes: + label: 📑 I have found these related issues/pull requests + description: | + Please search for related **[ISSUES](https://github.com/louislam/uptime-kuma/issues?q=is%3Aissue%20sort%3Acreated-desc)** + and **[PULL REQUESTS](https://github.com/louislam/uptime-kuma/pulls?q=is%3Apr+sort%3Acreated-desc+)**. + Explain the differences between them or clarify if you were unable to find any related issues/pull requests. + placeholder: | + Example: This relates to issue #1, which also affects the ... system. It should not be merged because ... + + - type: checkboxes + id: security-policy + attributes: + label: 🛡️ Security Policy + description: | + Please review and acknowledge the Security Policy before reporting any security-related issues or bugs. You can find the full Security Policy **[HERE](https://github.com/louislam/uptime-kuma/security/policy)**. + options: + - label: | + I have read and agree to Uptime Kuma's [Security Policy](https://github.com/louislam/uptime-kuma/security/policy). + required: true + + - type: textarea + id: description + validations: + required: false + attributes: + label: 📝 Description + description: | + You could also upload screenshots + + - type: textarea + id: steps-to-reproduce + validations: + required: true + attributes: + label: 👟 Reproduction steps + description: | + How do you trigger this bug? Please walk us through it step by step. Include all important details and add screenshots where appropriate + placeholder: | + ... + + - type: textarea + id: expected-behavior + validations: + required: true + attributes: + label: 👀 Expected behavior + description: | + What did you think would happen? + placeholder: | + ... + + - type: textarea + id: actual-behavior + validations: + required: true + attributes: + label: 😓 Actual Behavior + description: | + What actually happen? + placeholder: | + ... + + - type: input + id: uptime-kuma-version + attributes: + label: 🐻 Uptime-Kuma Version + description: | + What version of Uptime-Kuma are you running? Please do not provide Docker tags like `latest` or `1`. + placeholder: | + e.g., 1.23.16 or 2.0.0-beta.2 + validations: + required: true + + - type: input + id: operating-system + attributes: + label: 💻 Operating System and Arch + description: | + Which OS is your server/device running on? (For Replit, please do not + report this bug) + placeholder: | + e.g., Ubuntu Server 24.04.2 LTS (GNU/Linux 6.8.0-55-generic x86_64) + validations: + required: true + + - type: input + id: browser-vendor + attributes: + label: 🌐 Browser + description: | + Which browser are you running on? + placeholder: | + e.g., Google Chrome 134.0.6998.183 (Official Build) (64-bit) + validations: + required: true + + - type: textarea + id: deployment-info + attributes: + label: 🖥️ Deployment Environment + description: | + Provide details about the deployment environment, including runtime components, databases, and storage configurations. This will + help assess the infrastructure and identify any potential compatibility requirements. + + **Remove any fields that do not apply to your setup.** + value: | + - **Runtime Environment**: + - Docker: Version `X.X.X` (Build `Y.Y.Y`) + - Docker Compose: Version `X.X.X` + - Portainer (BE/CE): Version `X.X.X` (LTS: Yes/No) + - MariaDB: Version `X.X.X` (LTS: Yes/No) + - Node.js: Version `X.X.X` (LTS: Yes/No) + - Kubernetes (K3S/K8S): Version `X.X.X` (LTS: Yes/No, via `[method/tool]`) + - **Database**: + - SQLite: Embedded + - MariaDB: Embedded/External + - **Database Storage**: + - **Filesystem**: + - Linux: ext4/XFS/Btrfs/ZFS/F2FS + - macOS: APFS/ HFS+ + - Windows: NTFS/ReFS + - **Storage Medium**: HDD/eMMC/SSD/NVMe + - **Uptime Kuma Setup**: + - Number of monitors: `X` + validations: + required: true + + - type: textarea + id: logs + attributes: + label: 📝 Relevant log output + description: | + Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks. + render: bash session + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/feature_request.yaml b/.github/ISSUE_TEMPLATE/feature_request.yaml deleted file mode 100644 index 531a2c25e..000000000 --- a/.github/ISSUE_TEMPLATE/feature_request.yaml +++ /dev/null @@ -1,66 +0,0 @@ -name: 🚀 Feature Request -description: "Submit a proposal for a new feature" -#title: "[Feature] " -labels: [feature-request] -body: - - type: textarea - id: related-issues - validations: - required: true - attributes: - label: "📑 I have found these related issues/pull requests" - description: "Search related issues by clicking [HERE](https://github.com/louislam/uptime-kuma/issues?q=) and explain what the difference between them or explain that you are unable to find any related issues" - placeholder: "Related to #1 by also touching the ... system. They should not be merged because ..." - - type: dropdown - id: feature-area - attributes: - label: "🏷️ Feature Request Type" - description: "What kind of feature request is this?" - multiple: true - options: - - API / automation options - - New notification-provider - - Change to existing notification-provider - - New monitor - - Change to existing monitor - - Dashboard - - Status-page - - Maintenance - - Deployment - - Certificate expiry - - Settings - - Other - validations: - required: true - - type: textarea - id: feature-description - validations: - required: true - attributes: - label: "🔖 Feature description" - description: "A clear and concise description of what the feature request is." - placeholder: "You should add ..." - - type: textarea - id: solution - validations: - required: true - attributes: - label: "✔️ Solution" - description: "A clear and concise description of what you want to happen." - placeholder: "In my use-case, ..." - - type: textarea - id: alternatives - validations: - required: false - attributes: - label: "❓ Alternatives" - description: "A clear and concise description of any alternative solutions or features you've considered." - placeholder: "I have considered ..." - - type: textarea - id: additional-context - validations: - required: false - attributes: - label: "📝 Additional Context" - description: "Add any other context or screenshots about the feature request here." - placeholder: "..." diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 000000000..e7a0c7479 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,106 @@ +--- +name: 🚀 Feature Request +description: | + Submit a proposal for a new feature +# title: "[Feature]" +labels: ["feature-request", "P3-low"] +body: + - type: markdown + attributes: + value: | + ## ❗Important Announcement + + ### 🚧 Temporary Delay in Feature Requests and Pull Request Reviews + + **At this time, we may be slower to respond to new feature requests and review pull requests. Existing requests and PRs will remain in the backlog but may not be prioritized immediately.** + + - **Reason**: Our current focus is on addressing bugs, improving system performance, and implementing essential updates. This will help stabilize the project and ensure smoother management. + - **Impact**: While no new feature requests or pull requests are being outright rejected, there may be significant delays in reviews. We encourage the community to help by reviewing PRs or assisting other users in the meantime. + - **What You Can Do**: If you're interested in contributing, reviewing open PRs by following our [Review Guidelines](../REVIEW_GUIDELINES.md) or offering help to other users is greatly appreciated. All feature requests and PRs will be revisited once the suspension period is lifted. + + We appreciate your patience and understanding as we continue to improve Uptime Kuma. + + ### 🚫 Please Avoid Unnecessary Pinging of Maintainers + + **We kindly ask you to refrain from pinging maintainers unless absolutely necessary. Pings are reserved for critical/urgent pull requests that require immediate attention.** + + **Why**: Reserving pings for urgent matters ensures maintainers can prioritize critical tasks effectively. + - type: textarea + id: related-issues + validations: + required: true + attributes: + label: 📑 I have found these related issues/pull requests + description: | + Please search for related **[ISSUES](https://github.com/louislam/uptime-kuma/issues?q=is%3Aissue%20sort%3Acreated-desc)** + and **[PULL REQUESTS](https://github.com/louislam/uptime-kuma/pulls?q=is%3Apr+sort%3Acreated-desc+)**. + Explain the differences between them or clarify if you were unable to find any related issues/pull requests. + placeholder: | + Example: This relates to issue #1, which also affects the ... system. It should not be merged because ... + + - type: dropdown + id: feature-area + attributes: + label: 🏷️ Feature Request Type + description: | + What kind of feature request is this? + multiple: true + options: + - API / automation options + - New notification-provider + - Change to existing notification-provider + - New monitor + - Change to existing monitor + - Dashboard + - Status-page + - Maintenance + - Deployment + - Certificate expiry + - Settings + - Other + validations: + required: true + + - type: textarea + id: feature-description + validations: + required: true + attributes: + label: 🔖 Feature description + description: | + A clear and concise description of what the feature request is. + placeholder: | + You should add ... + + - type: textarea + id: solution + validations: + required: true + attributes: + label: ✔️ Solution + description: | + A clear and concise description of what you want to happen. + placeholder: | + In my use-case, ... + + - type: textarea + id: alternatives + validations: + required: false + attributes: + label: ❓ Alternatives + description: | + A clear and concise description of any alternative solutions or features you've considered. + placeholder: | + I have considered ... + + - type: textarea + id: additional-context + validations: + required: false + attributes: + label: 📝 Additional Context + description: | + Add any other context or screenshots about the feature request here. + placeholder: | + ... diff --git a/.github/ISSUE_TEMPLATE/security_issue.yml b/.github/ISSUE_TEMPLATE/security_issue.yml index 0104f9c3c..d49c0aaf5 100644 --- a/.github/ISSUE_TEMPLATE/security_issue.yml +++ b/.github/ISSUE_TEMPLATE/security_issue.yml @@ -1,19 +1,19 @@ --- -name: "🛡️ Security Issue" +name: 🛡️ Security Issue description: | Notify Louis Lam about a security concern. Please do NOT include any sensitive details in this issue. # title: "Security Issue" -labels: [security] +labels: ["security", "P1-high"] assignees: [louislam] body: - - type: "markdown" + - type: markdown attributes: value: | - ## **⚠️ Report a Security Vulnerability** + ## ❗ IMPORTANT: DO NOT SHARE VULNERABILITY DETAILS HERE - ### **IMPORTANT: DO NOT SHARE VULNERABILITY DETAILS HERE** + ### ⚠️ Report a Security Vulnerability - If you have discovered a security vulnerability, please report it securely using the GitHub Security Advisory. + **If you have discovered a security vulnerability, please report it securely using the GitHub Security Advisory.** **Note**: This issue is only for notifying the maintainers of the repository, as the GitHub Security Advisory does not automatically send notifications. @@ -34,12 +34,12 @@ body: Once you've created your advisory, please share the URL below. This will notify Louis Lam and enable them to take the appropriate action. - - type: "textarea" + - type: textarea id: github-advisory-url validations: required: true attributes: - label: "GitHub Advisory URL for @louislam" + label: GitHub Advisory URL for @louislam placeholder: | Please paste the GitHub Advisory URL here. Only the URL is required. Example: https://github.com/louislam/uptime-kuma/security/advisories/GHSA-8h5r-7t6l-q3kz diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 0dfb5faed..a78714263 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,33 +1,122 @@ -⚠️⚠️⚠️ Since we do not accept all types of pull requests and do not want to waste your time. Please be sure that you have read pull request rules: -https://github.com/louislam/uptime-kuma/blob/master/CONTRIBUTING.md#can-i-create-a-pull-request-for-uptime-kuma +**⚠️ Please Note: We do not accept all types of pull requests, and we want to ensure we don’t waste your time. Before submitting, make sure you have read our pull request guidelines: [Pull Request Rules](../CONTRIBUTING.md#can-i-create-a-pull-request-for-uptime-kuma)** -Tick the checkbox if you understand [x]: -- [ ] I have read and understand the pull request rules. +## ❗ Important Announcement -# Description +
Click here for more details: +

-Fixes #(issue) +### 🚧 Temporary Delay in Feature Requests and Pull Request Reviews -## Type of change +**At this time, we may be slower to respond to new feature requests and review pull requests. Existing requests and PRs will remain in the backlog but may not be prioritized immediately.** -Please delete any options that are not relevant. +- **Reason**: Our current focus is on addressing bugs, improving system performance, and implementing essential updates. This will help stabilize the project and ensure smoother management. +- **Impact**: While no new feature requests or pull requests are being outright rejected, there may be significant delays in reviews. We encourage the community to help by reviewing PRs or assisting other users in the meantime. +- **What You Can Do**: If you're interested in contributing, reviewing open PRs by following our [Review Guidelines](REVIEW_GUIDELINES.md) or offering support to other users is greatly appreciated. All feature requests and PRs will be revisited once the suspension period is lifted. -- Bug fix (non-breaking change which fixes an issue) -- User interface (UI) -- New feature (non-breaking change which adds functionality) -- Breaking change (a fix or feature that would cause existing functionality to not work as expected) -- Other -- This change requires a documentation update +We appreciate your patience and understanding as we continue to improve Uptime Kuma. -## Checklist +### 🚫 Please Avoid Unnecessary Pinging of Maintainers -- [ ] My code follows the style guidelines of this project -- [ ] I ran ESLint and other linters for modified files -- [ ] I have performed a self-review of my own code and tested it -- [ ] I have commented my code, particularly in hard-to-understand areas (including JSDoc for methods) -- [ ] My changes generates no new warnings -- [ ] My code needed automated testing. I have added them (this is optional task) +**We kindly ask you to refrain from pinging maintainers unless absolutely necessary. Pings are reserved for critical/urgent pull requests that require immediate attention.** -## Screenshots (if any) +**Why**: Reserving pings for urgent matters ensures maintainers can prioritize critical tasks effectively. -Please do not use any external image service. Instead, just paste in or drag and drop the image here, and it will be uploaded automatically. +

+
+ +## 📋 Overview + +Provide a clear summary of the purpose and scope of this pull request: + +- **What problem does this pull request address?** + + - Please provide a detailed explanation here. + +- **What features or functionality does this pull request introduce or enhance?** + + - Please provide a detailed explanation here. + +## 🔄 Changes + +### 🛠️ Type of change + + + +- [ ] 🐛 Bugfix (a non-breaking change that resolves an issue) +- [ ] ✨ New feature (a non-breaking change that adds new functionality) +- [ ] ⚠️ Breaking change (a fix or feature that alters existing functionality in a way that could cause issues) +- [ ] 🎨 User Interface (UI) updates +- [ ] 📄 New Documentation (addition of new documentation) +- [ ] 📄 Documentation Update (modification of existing documentation) +- [ ] 📄 Documentation Update Required (the change requires updates to related documentation) +- [ ] 🔧 Other (please specify): + - Provide additional details here. + +## 🔗 Related Issues + + + +- Relates to #issue-number +- Resolves #issue-number +- Fixes #issue-number + +## 📄 Checklist * + + + +- [ ] 🔍 My code adheres to the style guidelines of this project. +- [ ] ✅ I ran ESLint and other code linters for modified files. +- [ ] 🛠️ I have reviewed and tested my code. +- [ ] 📝 I have commented my code, especially in hard-to-understand areas (e.g., using JSDoc for methods). +- [ ] ⚠️ My changes generate no new warnings. +- [ ] 🤖 My code needed automated testing. I have added them (this is an optional task). +- [ ] 📄 Documentation updates are included (if applicable). +- [ ] 🔒 I have considered potential security impacts and mitigated risks. +- [ ] 🧰 Dependency updates are listed and explained. +- [ ] 📚 I have read and understood the [Pull Request guidelines](../CONTRIBUTING.md#recommended-pull-request-guideline). + +## 📷 Screenshots or Visual Changes + + + +- **UI Modifications**: Highlight any changes made to the user interface. +- **Before & After**: Include screenshots or comparisons (if applicable). + +| Event | Before | After | +| ------------------ | --------------------- | -------------------- | +| `UP` | ![Before](image-link) | ![After](image-link) | +| `DOWN` | ![Before](image-link) | ![After](image-link) | +| Certificate-expiry | ![Before](image-link) | ![After](image-link) | +| Testing | ![Before](image-link) | ![After](image-link) | + +## ℹ️ Additional Context + +Provide any relevant details to assist reviewers in understanding the changes. + +
Click here for more details: +

+ +**Key Considerations**: + +- **Design decisions** – Key choices or trade-offs made during development. +- **Alternative solutions** – Approaches considered but not implemented, along with reasons. +- **Relevant links** – Specifications, discussions, or resources that provide context. +- **Dependencies** – Related pull requests or issues that must be resolved before merging. +- **Additional context** – Any other details that may help reviewers understand the changes. + +Provide details here + +## 💬 Requested Feedback + + + +- `Mention documents needing feedback here` diff --git a/.github/REVIEW_GUIDELINES.md b/.github/REVIEW_GUIDELINES.md new file mode 100644 index 000000000..089ae9d51 --- /dev/null +++ b/.github/REVIEW_GUIDELINES.md @@ -0,0 +1,224 @@ +# Uptime Kuma Review Guidelines + +> [!NOTE] +> These review guidelines are a work in progress, and are frequently +> updated and improved, so please check back frequently for the latest version. + +## Preparing for a PR Review + +### Read the PR description carefully + +Make sure you understand what the PR is trying to solve or implement. This could +be a bug fix, a new feature, or a refactor. + +### Check the linked issues + +If the PR has a linked issue, read it to better understand the context and the +reason for the change. + +### Check the test coverage + +Make sure relevant tests have been added or modified. If the PR adds new +functionality, there should be tests covering the change. + +## General Review + +### Code formatting and style + +Check if the code adheres to the style guidelines of the project. Make sure +there are no unused imports, variables, `console.log` for debugging in the PR. + +- [Project Style](../CONTRIBUTING.md#project-styles) +- [Coding Style](../CONTRIBUTING.md#coding-styles) + +### Readability and maintainability + +Is the code easy to understand for other developers? Make sure complex parts are +explained with comments about **_why_** something is done, and use clear names +to show **_how_**. Are variables and functions well-named, and is there a +consistent naming style? Also, check if the code is maintainable: + +- Is it unnecessarily complex? Could it be simplified? +- Does it follow the **[Single Responsibility Principle (SRP)]**? + +[Single Responsibility Principle (SRP)]: https://www.geeksforgeeks.org/single-responsibility-in-solid-design-principle/ + +### Documentation + +Is the PR well documented? Check if the descriptions of functions, parameters, +and return values are present. Are there any changes needed to the README or +other documentation, for example, if new features or configurations are +introduced? + +## Functional Review + +### Testing + +Ensure that the new code is properly tested. This includes unit tests, +integration tests, and if necessary, end-to-end tests. + +### Test results + +Did all tests pass in the CI pipeline (e.g., GitHub Actions, Travis, CircleCI)? + +### Testing in different environments + +If the changes depend on certain environments or configurations, verify that the +code has been tested in various environments (e.g., local development, staging, +production). + +- [How to test Pull Requests](https://github.com/louislam/uptime-kuma/wiki/Test-Pull-Requests) + +### Edge cases and regressions + +- Are there test cases for possible edge cases? +- Could this change introduce regressions in other parts of the system? + +## Security + +### Security issues + +Check for potential security problems, such as SQL injection, XSS attacks, or +unsafe API calls. Are there passwords, tokens, or other sensitive data left in +the code by mistake? + +### Authentication and authorization + +Is access to sensitive data or functionality properly secured? Check that the +correct authorization and authentication mechanisms are in place. + +### Security Best Practices + +- Ensure that the code is free from common vulnerabilities like **SQL + injection**, **XSS attacks**, and **insecure API calls**. +- Check for proper encryption of sensitive data, and ensure that **passwords** + or **API tokens** are not hardcoded in the code. + +## Performance + +### Performance impact + +Check if the changes negatively impact performance. This can include factors +like load times, memory usage, or other performance aspects. + +### Use of external libraries + +- Have the right libraries been chosen? +- Are there unnecessary dependencies that might reduce performance or increase + code complexity? +- Are these dependencies actively maintained and free of known vulnerabilities? + +### Performance Best Practices + +- **Measure performance** using tools like Lighthouse or profiling libraries. +- **Avoid unnecessary dependencies** that may bloat the codebase. +- Ensure that the **code does not degrade the user experience** (e.g., by + increasing load times or memory consumption). + +## Compliance and Integration + +### Alignment with the project + +Are the changes consistent with the project goals and requirements? Ensure the +PR aligns with the architecture and design principles of the project. + +### Integration + +If the PR depends on other PRs or changes, verify that they integrate well with +the rest of the project. Ensure the code does not cause conflicts with other +active PRs. + +### Backward compatibility + +Does the change break compatibility with older versions of the software or +dependencies? If so, is there a migration plan in place? + +## Logging and Error Handling + +### Proper error handling + +- Are errors properly caught and handled instead of being silently ignored? +- Are exceptions used appropriately? + +### Logging + +- Is sufficient logging included for debugging and monitoring? +- Is there excessive logging that could affect performance? + +## Accessibility (for UI-related changes) + +If the PR affects the user interface, ensure that it meets accessibility +standards: + +- Can users navigate using only the keyboard? +- Are screen readers supported? +- Is there proper color contrast for readability? +- Are there **WCAG** (Web Content Accessibility Guidelines) compliance issues? +- Use tools like **Axe** or **Lighthouse** to evaluate accessibility. + +## Providing Feedback + +### Constructive feedback + +Provide clear, constructive feedback on what is good and what can be improved. +If improvements are needed, be specific about what should change. + +### Clarity and collaboration + +Ensure your feedback is friendly and open, so the team member who submitted the +PR feels supported and motivated to make improvements. + +
For Maintainers only (click to expand) +

+ +## Go/No-Go Decision + +### Go + +If the code has no issues and meets the project requirements, approve it (and +possibly merge it). + +### No-Go + +If there are significant issues, such as missing tests, security +vulnerabilities, or performance problems, request the necessary changes before +the PR can be approved. Some examples of **significant issues** include: + +- Missing tests for new functionality. +- Identified **security vulnerabilities**. +- Code changes that break **backward compatibility** without a proper migration + plan. +- Code that causes **major performance regressions** (e.g., high CPU/memory + usage). + +## After the Review + +### Reordering and merging + +Once the necessary changes have been made and the PR is approved, the code can +be merged into the main branch (e.g., `main` or `master`). + +### Testing after merging + +Ensure that the build passes after merging the PR, and re-test the functionality +in the production environment if necessary. + +## Follow-up + +### Communication with team members + +If the PR has long-term technical or functional implications, communicate the +changes to the team. + +### Monitoring + +Continue monitoring the production environment for any unexpected issues that +may arise after the code has been merged. + +

+
+ +--- + +This process ensures that PRs are systematically and thoroughly reviewed, +improving overall code quality. diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 746334e6f..34591ce1c 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -6,8 +6,8 @@ We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, -nationality, personal appearance, race, religion, or sexual identity -and orientation. +nationality, personal appearance, race, caste, color, religion, or sexual +identity and orientation. We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community. @@ -17,23 +17,23 @@ diverse, inclusive, and healthy community. Examples of behavior that contributes to a positive environment for our community include: -* Demonstrating empathy and kindness toward other people -* Being respectful of differing opinions, viewpoints, and experiences -* Giving and gracefully accepting constructive feedback -* Accepting responsibility and apologizing to those affected by our mistakes, +- Demonstrating empathy and kindness toward other people +- Being respectful of differing opinions, viewpoints, and experiences +- Giving and gracefully accepting constructive feedback +- Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience -* Focusing on what is best not just for us as individuals, but for the - overall community +- Focusing on what is best not just for us as individuals, but for the overall + community Examples of unacceptable behavior include: -* The use of sexualized language or imagery, and sexual attention or - advances of any kind -* Trolling, insulting or derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or email - address, without their explicit permission -* Other conduct which could reasonably be considered inappropriate in a +- The use of sexualized language or imagery, and sexual attention or advances of + any kind +- Trolling, insulting or derogatory comments, and personal or political attacks +- Public or private harassment +- Publishing others' private information, such as a physical or email address, + without their explicit permission +- Other conduct which could reasonably be considered inappropriate in a professional setting ## Enforcement Responsibilities @@ -52,7 +52,7 @@ decisions when appropriate. This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. -Examples of representing our community include using an official e-mail address, +Examples of representing our community include using an official email address, posting via an official social media account, or acting as an appointed representative at an online or offline event. @@ -60,8 +60,8 @@ representative at an online or offline event. Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at -uptime@kuma.pet. -All complaints will be reviewed and investigated promptly and fairly. +. All complaints will be reviewed and investigated promptly and +fairly. All community leaders are obligated to respect the privacy and security of the reporter of any incident. @@ -82,15 +82,15 @@ behavior was inappropriate. A public apology may be requested. ### 2. Warning -**Community Impact**: A violation through a single incident or series -of actions. +**Community Impact**: A violation through a single incident or series of +actions. **Consequence**: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels -like social media. Violating these terms may lead to a temporary or -permanent ban. +like social media. Violating these terms may lead to a temporary or permanent +ban. ### 3. Temporary Ban @@ -109,20 +109,24 @@ Violating these terms may lead to a permanent ban. standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals. -**Consequence**: A permanent ban from any sort of public interaction within -the community. +**Consequence**: A permanent ban from any sort of public interaction within the +community. ## Attribution This Code of Conduct is adapted from the [Contributor Covenant][homepage], -version 2.0, available at -https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. +version 2.1, available at +[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. Community Impact Guidelines were inspired by [Mozilla's code of conduct -enforcement ladder](https://github.com/mozilla/diversity). - -[homepage]: https://www.contributor-covenant.org +enforcement ladder][Mozilla CoC]. For answers to common questions about this code of conduct, see the FAQ at -https://www.contributor-covenant.org/faq. Translations are available at -https://www.contributor-covenant.org/translations. +[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at +[https://www.contributor-covenant.org/translations][translations]. + +[homepage]: https://www.contributor-covenant.org +[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html +[Mozilla CoC]: https://github.com/mozilla/diversity +[FAQ]: https://www.contributor-covenant.org/faq +[translations]: https://www.contributor-covenant.org/translations diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2e10be48c..968f0dc51 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,16 +1,18 @@ # Project Info -First of all, I want to thank everyone who has submitted issues or shared pull requests for Uptime Kuma. -I never thought the GitHub community would be so nice! -Because of this, I also never thought that other people would actually read and edit my code. -Parts of the code are not very well-structured or commented, sorry about that. +First of all, I want to thank everyone who has submitted issues or shared pull +requests for Uptime Kuma. I never thought the GitHub community would be so nice! +Because of this, I also never thought that other people would actually read and +edit my code. Parts of the code are not very well-structured or commented, sorry +about that. -The project was created with `vite.js` and is written in `vue3`. -Our backend lives in the `server`-directory and mostly communicates via websockets. -Both frontend and backend share the same `package.json`. +The project was created with `vite.js` and is written in `vue3`. Our backend +lives in the `server`-directory and mostly communicates via websockets. Both +frontend and backend share the same `package.json`. -For production, the frontend is built into the `dist`-directory and the server (`express.js`) exposes the `dist` directory as the root of the endpoint. -For development, we run vite in development mode on another port. +For production, the frontend is built into the `dist`-directory and the server +(`express.js`) exposes the `dist` directory as the root of the endpoint. For +development, we run vite in development mode on another port. ## Directories @@ -25,193 +27,437 @@ For development, we run vite in development mode on another port. - `src` (Frontend source code) - `test` (unit test) -## Can I create a pull request for Uptime Kuma? +## Can I Create a Pull Request for Uptime Kuma? -Yes or no, it depends on what you will try to do. -Both yours and our maintainers' time is precious, and we don't want to waste either. +Whether or not you can create a pull request depends on the nature of your +contribution. We value both your time and our maintainers' time, so we want to +make sure it's spent efficiently. -If you have any questions about any process/.. is not clear, you are likely not alone => please ask them ^^ +If you're unsure about any process or step, you're probably not the only one +with that question—please feel free to ask. We're happy to help! -Different guidelines exist for different types of pull requests (PRs): --
security fixes +Different types of pull requests (PRs) may have different guidelines, so be sure +to review the appropriate one for your contribution. + +-
Security Fixes (click to expand)

- + Submitting security fixes is something that may put the community at risk. - Please read through our [security policy](SECURITY.md) and submit vulnerabilities via an [advisory](https://github.com/louislam/uptime-kuma/security/advisories/new) + [issue](https://github.com/louislam/uptime-kuma/issues/new?assignees=&labels=help&template=security.md) instead. - We encourage you to submit how to fix a vulnerability if you know how to, this is not required. - Following the security policy allows us to properly test, fix bugs. - This review allows us to notice, if there are any changes necessary to unrelated parts like the documentation. + Please read through our [security policy](SECURITY.md) and submit + vulnerabilities via an [advisory] + [issue] instead. We encourage you to + submit how to fix a vulnerability if you know how to, this is not required. + Following the security policy allows us to properly test, fix bugs. This + review allows us to notice, if there are any changes necessary to unrelated + parts like the documentation. [**PLEASE SEE OUR SECURITY POLICY.**](SECURITY.md) - + + [advisory]: https://github.com/louislam/uptime-kuma/security/advisories/new + [issue]: + https://github.com/louislam/uptime-kuma/issues/new?template=security_issue.yml +

--
small, non-breaking bug fixes + +-
Small, Non-Breaking Bug Fixes (click to expand)

- + If you come across a bug and think you can solve, we appreciate your work. Please make sure that you follow these rules: - - keep the PR as small as possible, fix only one thing at a time => keeping it reviewable - - test that your code does what you claim it does. - - Because maintainer time is precious, junior maintainers may merge uncontroversial PRs in this area. -

-
--
translations / internationalisation (i18n) -

- - We use weblate to localise this project into many languages. - If you are unhappy with a translation this is the best start. - On how to translate using weblate, please see [these instructions](https://github.com/louislam/uptime-kuma/blob/master/src/lang/README.md). - - There are two cases in which a change cannot be done in weblate and requires a PR: - - A text may not be currently localisable. In this case, **adding a new language key** via `$t("languageKey")` might be nessesary - - language keys need to be **added to `en.json`** to be visible in weblate. If this has not happened, a PR is appreciated. - - **Adding a new language** requires a new file see [these instructions](https://github.com/louislam/uptime-kuma/blob/master/src/lang/README.md) - - Because maintainer time is precious, junior maintainers may merge uncontroversial PRs in this area. -

-
--
new notification providers -

- - To set up a new notification provider these files need to be modified/created: - - `server/notification-providers/PROVIDER_NAME.js` is where the heart of the notification provider lives. - - Both `monitorJSON` and `heartbeatJSON` can be `null` for some events. - If both are `null`, this is a general testing message, but if just `heartbeatJSON` is `null` this is a certificate expiry. - - Please wrap the axios call into a - ```js - try { - let result = await axios.post(...); - if (result.status === ...) ... - } catch (error) { - this.throwGeneralAxiosError(error); - } - ``` - - `server/notification.js` is where the backend of the notification provider needs to be registered. - *If you have an idea how we can skip this step, we would love to hear about it ^^* - - `src/components/NotificationDialog.vue` you need to decide if the provider is a regional or a global one and add it with a name to the respective list - - `src/components/notifications/PROVIDER_NAME.vue` is where the frontend of each provider lives. - Please make sure that you have: - - used `HiddenInput` for secret credentials - - included all the necessary helptexts/placeholder/.. to make sure the notification provider is simple to setup for new users. - - include all translations (`{{ $t("Translation key") }}`, [`i18n-t keypath="Translation key">`](https://vue-i18n.intlify.dev/guide/advanced/component.html)) in `src/lang/en.json` to enable our translators to translate this - - `src/components/notifications/index.js` is where the frontend of the provider needs to be registered. - *If you have an idea how we can skip this step, we would love to hear about it ^^* - Offering notifications is close to the core of what we are as an uptime monitor. - Therefore, making sure that they work is also really important. - Because testing notification providers is quite time intensive, we mostly offload this onto the person contributing a notification provider. - - To make sure you have tested the notification provider, please include screenshots of the following events in the pull-request description: - - `UP`/`DOWN` - - Certificate Expiry via https://expired.badssl.com/ - - Testing (the test button on the notification provider setup page) - - Using the following way to format this is encouraged: - ```md - | Event | Before | After | - ------------------ - | `UP` | paste-image-here | paste-image-here | - | `DOWN` | paste-image-here | paste-image-here | - | Certificate-expiry | paste-image-here | paste-image-here | - | Testing | paste-image-here | paste-image-here | + - keep the PR as small as possible, fix only one thing at a time => keeping it + reviewable + - test that your code does what you claim it does. + + Because maintainer time is precious, junior maintainers may merge + uncontroversial PRs in this area. + +

+
+ +-
Translations / Internationalisation (i18n) (click to expand) +

+ + We use weblate to localise this project into many languages. If you are + unhappy with a translation this is the best start. On how to translate using + weblate, please see + [these instructions](https://github.com/louislam/uptime-kuma/blob/master/src/lang/README.md). + + There are two cases in which a change cannot be done in weblate and requires a + PR: + + - A text may not be currently localisable. In this case, **adding a new + language key** via `$t("languageKey")` might be nessesary + - language keys need to be **added to `en.json`** to be visible in weblate. If + this has not happened, a PR is appreciated. + - **Adding a new language** requires a new file see + [these instructions](https://github.com/louislam/uptime-kuma/blob/master/src/lang/README.md) + + Because maintainer time is precious, junior maintainers may merge + uncontroversial PRs in this area. + +

+
+ +-
New Notification Providers (click to expand) +

+ + To set up a new notification provider these files need to be modified/created: + + - `server/notification-providers/PROVIDER_NAME.js` is where the heart of the + notification provider lives. + + - Both `monitorJSON` and `heartbeatJSON` can be `null` for some events. If + + both are `null`, this is a general testing message, but if just + `heartbeatJSON` is `null` this is a certificate expiry. + + - Please wrap the axios call into a + + ```js + try { + let result = await axios.post(...); + if (result.status === ...) ... + } catch (error) { + this.throwGeneralAxiosError(error); + } ``` - Because maintainer time is precious, junior maintainers may merge uncontroversial PRs in this area. + - `server/notification.js` is where the backend of the notification provider + needs to be registered. _If you have an idea how we can skip this step, we + would love to hear about it ^^_ + + - `src/components/NotificationDialog.vue` you need to decide if the provider + is a regional or a global one and add it with a name to the respective list + + - `src/components/notifications/PROVIDER_NAME.vue` is where the frontend of + each provider lives. Please make sure that you have: + + - used `HiddenInput` for secret credentials + - included all the necessary helptexts/placeholder/.. to make sure the + + notification provider is simple to setup for new users. - include all + translations (`{{ $t("Translation key") }}`, + [`i18n-t keypath="Translation key">`](https://vue-i18n.intlify.dev/guide/advanced/component.html)) + in `src/lang/en.json` to enable our translators to translate this + + - `src/components/notifications/index.js` is where the frontend of the + provider needs to be registered. _If you have an idea how we can skip this + step, we would love to hear about it ^^_ + + Offering notifications is close to the core of what we are as an uptime + monitor. Therefore, making sure that they work is also really important. + Because testing notification providers is quite time intensive, we mostly + offload this onto the person contributing a notification provider. + + To make sure you have tested the notification provider, please include + screenshots of the following events in the pull-request description: + + - `UP`/`DOWN` + - Certificate Expiry via + - Testing (the test button on the notification provider setup page) + +
+ + Using the following way to format this is encouraged: + + ```md + | Event | Before | After | + | ------------------ | --------------------- | -------------------- | + | `UP` | ![Before](image-link) | ![After](image-link) | + | `DOWN` | ![Before](image-link) | ![After](image-link) | + | Certificate-expiry | ![Before](image-link) | ![After](image-link) | + | Testing | ![Before](image-link) | ![After](image-link) | + ``` + + Because maintainer time is precious, junior maintainers may merge + uncontroversial PRs in this area. +

--
new monitoring types + +-
New Monitoring Types (click to expand)

To set up a new notification provider these files need to be modified/created: - - `server/monitor-types/MONITORING_TYPE.js` is the core of each monitor. - the `async check(...)`-function should: - - throw an error for each fault that is detected with an actionable error message - - in the happy-path, you should set `heartbeat.msg` to a successful message and set `heartbeat.status = UP` - - `server/uptime-kuma-server.js` is where the monitoring backend needs to be registered. - *If you have an idea how we can skip this step, we would love to hear about it ^^* + + - `server/monitor-types/MONITORING_TYPE.js` is the core of each monitor. the + `async check(...)`-function should: + + - throw an error for each fault that is detected with an actionable error + + message - in the happy-path, you should set `heartbeat.msg` to a successful + message and set `heartbeat.status = UP` + + - `server/uptime-kuma-server.js` is where the monitoring backend needs to be + registered. _If you have an idea how we can skip this step, we would love to + hear about it ^^_ + - `src/pages/EditMonitor.vue` is the shared frontend users interact with. - Please make sure that you have: - - used `HiddenInput` for secret credentials - - included all the necessary helptexts/placeholder/.. to make sure the notification provider is simple to setup for new users. - - include all translations (`{{ $t("Translation key") }}`, [`i18n-t keypath="Translation key">`](https://vue-i18n.intlify.dev/guide/advanced/component.html)) in `src/lang/en.json` to enable our translators to translate this - - + Please make sure that you have: - used `HiddenInput` for secret + credentials - included all the necessary helptexts/placeholder/.. to make + sure the notification provider is simple to setup for new users. - include + all translations (`{{ $t("Translation key") }}`, + [`i18n-t keypath="Translation key">`](https://vue-i18n.intlify.dev/guide/advanced/component.html)) + in `src/lang/en.json` to enable our translators to translate this + Because maintainer time is precious, junior maintainers may merge + uncontroversial PRs in this area. - Because maintainer time is precious, junior maintainers may merge uncontroversial PRs in this area. -

-
--
new features/ major changes / breaking bugfixes -

- - be sure to **create an empty draft pull request or open an issue, so we can have a discussion first**. - This is especially important for a large pull request or when you don't know if it will be merged or not. - - Because of the large impact of this work, only senior maintainers may merge PRs in this area.

-The following rules are essential for making your PR mergable: -- Merging multiple issues by a huge PR is more difficult to review and causes conflicts with other PRs. Please +-
New Features / Major Changes / Breaking Bugfixes (click to expand) +

+ + be sure to **create an empty draft pull request or open an issue, so we can + have a discussion first**. This is especially important for a large pull + request or when you don't know if it will be merged or not. + + Because of the large impact of this work, only senior maintainers may + merge PRs in this area. + +

+
+ +-
Pull Request Guidelines (click to expand) +

+ + ## Steps to Submit a Pull Request + + 1. **Fork** the [Uptime-Kuma repository]. + + [Uptime-Kuma repository]: https://github.com/louislam/uptime-kuma/ + + 2. **Clone** your forked repository to your local machine. + 3. **Create a new branch** for your changes (e.g., + `feature/add-new-notification-provider-signal`). + 4. **Initiate a discussion before making major changes** by creating an empty + commit: + + ```sh + git commit -m "" --allow-empty + ``` + + 5. **Push** your branch to your forked repository. + 6. **Open a pull request** using this link: [Compare & Pull Request]. + + [Compare & Pull Request]: https://github.com/louislam/uptime-kuma/compare/ + + 7. **Select the correct source and target branches**. + 8. **Link to related issues** for context. + 9. **Provide a clear and concise description** explaining the changes and + their purpose. + + - **Type of changes** + + - Bugfix (a non-breaking change that resolves an issue) + - New feature (a non-breaking change that adds new functionality) + - Breaking change (a fix or feature that alters existing functionality in a + way that could cause issues) + - User Interface (UI) updates + - New Documentation (addition of new documentation) + - Documentation Update (modification of existing documentation) + - Documentation Update Required (the change requires updates to related + documentation) + - Other (please specify): + - Provide additional details here. + + - **Checklist** + + - My code adheres to the style guidelines of this project. + - I ran ESLint and other code linters for modified files. + - I have reviewed and tested my code. + - I have commented my code, especially in hard-to-understand areas (e.g., + using JSDoc for methods). + - My changes generate no new warnings. + - My code needed automated testing. I have added them (this is an optional + task). + - Documentation updates are included (if applicable). + - I have considered potential security impacts and mitigated risks. + - Dependency updates are listed and explained. + - I have read and understood the + [Pull Request guidelines](#recommended-pull-request-guideline). + + 10. **When publishing your PR, set it as a** `Draft pull request` **to allow + for review and prevent automatic merging.** + 11. **Maintainers will assign relevant labels** (e.g., `A:maintenance`, + `A:notifications`). + 12. **Complete the PR checklist**, ensuring that: + + - Documentation is updated if necessary. + - Tests are written or updated. + - CI/CD checks pass successfully. + + 13. **Request feedback** from team members to refine your changes before the + final review. + + ## When Can You Change the PR Status to "Ready for Review"? + + A PR should remain in **draft status** until all tasks are completed. Only + change the status to **Ready for Review** when: + + - You have implemented all planned changes. + - You have addressed all feedback. + - Your code is fully tested and ready for integration. + - You have updated or created the necessary tests. + - You have verified that CI/CD checks pass successfully. + +
+ + A **work-in-progress (WIP) PR** must stay in **draft status** until everything + is finalized. + + Since maintainer time is valuable, junior maintainers may merge + uncontroversial PRs. + +

+
+ +## The following rules are essential for making your PR mergable + +- Merging multiple issues by a huge PR is more difficult to review and causes + conflicts with other PRs. Please + - (if possible) **create one PR for one issue** or - - (if not possible) **explain which issues a PR addresses and why this PR should not be broken apart** -- Make sure your **PR passes our continuous integration**. - PRs will not be merged unless all CI-Checks are green. -- **Breaking changes** (unless for a good reason and discussed beforehand) will not get merged / not get merged quickly. - Such changes require a major version release. -- **Test your code** before submitting a PR. - Buggy PRs will not be merged. + - (if not possible) **explain which issues a PR addresses and why this PR + should not be broken apart** + +- Make sure your **PR passes our continuous integration**. PRs will not be + merged unless all CI-Checks are green. +- **Breaking changes** (unless for a good reason and discussed beforehand) will + not get merged / not get merged quickly. Such changes require a major version + release. +- **Test your code** before submitting a PR. Buggy PRs will not be merged. - Make sure the **UI/UX is close to Uptime Kuma**. -- **Think about the maintainability**: - Don't add functionality that is completely **out of scope**. - Keep in mind that we need to be able to maintain the functionality. +- **Think about the maintainability**: Don't add functionality that is + completely **out of scope**. Keep in mind that we need to be able to maintain + the functionality. - Don't modify or delete existing logic without a valid reason. - Don't convert existing code into other programming languages for no reason. -I ([@louislam](https://github.com/louislam)) have the final say. -If your pull request does not meet my expectations, I will reject it, no matter how much time you spent on it. -Therefore, it is essential to have a discussion beforehand. +I ([@louislam](https://github.com/louislam)) have the final say. If your pull +request does not meet my expectations, I will reject it, no matter how much time +you spent on it. Therefore, it is essential to have a discussion beforehand. -I will assign your pull request to a [milestone](https://github.com/louislam/uptime-kuma/milestones), if I plan to review and merge it. +I will assign your pull request to a [milestone], if I plan to review and merge +it. -Please don't rush or ask for an ETA. -We have to understand the pull request, make sure it has no breaking changes and stick to the vision of this project, especially for large pull requests. +[milestone]: https://github.com/louislam/uptime-kuma/milestones +Please don't rush or ask for an ETA. We have to understand the pull request, +make sure it has no breaking changes and stick to the vision of this project, +especially for large pull requests. -## I'd like to work on an issue. How do I do that? +## I'd Like to Work on an Issue. How Do I Do That? -We have found that assigning people to issues is management-overhead that we don't need. -A short comment that you want to try your hand at this issue is appreciated to save other devs time. -If you come across any problem during development, feel free to leave a comment with what you are stuck on. +We have found that assigning people to issues is unnecessary management +overhead. Instead, a short comment stating that you want to work on an issue is +appreciated, as it saves time for other developers. If you encounter any +problems during development, feel free to leave a comment describing what you +are stuck on. ### Recommended Pull Request Guideline -Before diving deep into coding, having a discussion first by creating an empty pull request for discussion is preferred. -The rationale behind this is that we can align the direction and scope of the feature to eliminate any conflicts with existing and planned work, and can help by pointing out any potential pitfalls. +Before jumping into coding, it's recommended to initiate a discussion by +creating an empty pull request. This approach allows us to align on the +direction and scope of the feature, ensuring it doesn't conflict with existing +or planned work. It also provides an opportunity to identify potential pitfalls +early on, helping to avoid issues down the line. -1. Fork the project -2. Clone your fork repo to local -3. Create a new branch -4. Create an empty commit: `git commit -m "" --allow-empty` -5. Push to your fork repo -6. Prepare a pull request: https://github.com/louislam/uptime-kuma/compare -7. Write a proper description. You can mention @louislam in it, so @louislam will get the notification. -8. Create your pull request as a Draft -9. Wait for the discussion +1. **Fork** the [Uptime-Kuma repository]. +2. **Clone** your forked repository to your local machine. +3. **Create a new branch** for your changes (e.g., + `feature/add-new-notification-provider-signal`). +4. **Initiate a discussion before making major changes** by creating an empty + commit: + + ```sh + git commit -m "" --allow-empty + ``` + +5. **Push** your branch to your forked repository. +6. **Open a pull request** using this link: [Compare & Pull Request]. +7. **Select the correct source and target branches**. +8. **Link to related issues** for context. +9. **Provide a clear and concise description** explaining the changes and their + purpose. + + - **Type of changes** + + - Bugfix (a non-breaking change that resolves an issue) + - New feature (a non-breaking change that adds new functionality) + - Breaking change (a fix or feature that alters existing functionality in a + way that could cause issues) + - User Interface (UI) updates + - New Documentation (addition of new documentation) + - Documentation Update (modification of existing documentation) + - Documentation Update Required (the change requires updates to related + documentation) + - Other (please specify): + - Provide additional details here. + + - **Checklist** + + - My code adheres to the style guidelines of this project. + - I ran ESLint and other code linters for modified files. + - I have reviewed and tested my code. + - I have commented my code, especially in hard-to-understand areas (e.g., + using JSDoc for methods). + - My changes generate no new warnings. + - My code needed automated testing. I have added them (this is an optional + task). + - Documentation updates are included (if applicable). + - I have considered potential security impacts and mitigated risks. + - Dependency updates are listed and explained. + - I have read and understood the + [Pull Request guidelines](#recommended-pull-request-guideline). + +10. **When publishing your PR, set it as a** `Draft pull request` **to allow for + review and prevent automatic merging.** +11. **Maintainers will assign relevant labels** (e.g., `A:maintenance`, + `A:notifications`). +12. **Complete the PR checklist**, ensuring that: + + - Documentation is updated if necessary. + - Tests are written or updated. + - CI/CD checks pass successfully. + +13. **Request feedback** from team members to refine your changes before the + final review. + +### When Can You Change the PR Status to "Ready for Review"? + +A PR should remain in **draft status** until all tasks are completed. Only +change the status to **Ready for Review** when: + +- You have implemented all planned changes. +- You have addressed all feedback. +- Your code is fully tested and ready for integration. +- You have updated or created the necessary tests. +- You have verified that CI/CD checks pass successfully. + +A **work-in-progress (WIP) PR** must stay in **draft status** until everything +is finalized. ## Project Styles -I personally do not like something that requires a lot of configuration before you can finally start the app. -The goal is to make the Uptime Kuma installation as easy as installing a mobile app. +I personally do not like something that requires a lot of configuration before +you can finally start the app. The goal is to make the Uptime Kuma installation +as easy as installing a mobile app. - Easy to install for non-Docker users + - no native build dependency is needed (for `x86_64`/`armv7`/`arm64`) - no extra configuration and - no extra effort required to get it running + - Single container for Docker users + - no complex docker-compose file - mapping the volume and exposing the port should be the only requirements -- Settings should be configurable in the frontend. Environment variables are discouraged, unless it is related to startup such as `DATA_DIR` + +- Settings should be configurable in the frontend. Environment variables are + discouraged, unless it is related to startup such as `DATA_DIR` - Easy to use - The web UI styling should be consistent and nice @@ -233,13 +479,18 @@ The goal is to make the Uptime Kuma installation as easy as installing a mobile - [`Node.js`](https://nodejs.org/) >= 18 - [`npm`](https://www.npmjs.com/) >= 9.3 - [`git`](https://git-scm.com/) -- IDE that supports [`ESLint`](https://eslint.org/) and EditorConfig (I am using [`IntelliJ IDEA`](https://www.jetbrains.com/idea/)) -- A SQLite GUI tool (f.ex. [`SQLite Expert Personal`](https://www.sqliteexpert.com/download.html) or [`DBeaver Community`](https://dbeaver.io/download/)) +- IDE that supports [`ESLint`](https://eslint.org/) and EditorConfig (I am using + [`IntelliJ IDEA`](https://www.jetbrains.com/idea/)) +- A SQLite GUI tool (f.ex. + [`SQLite Expert Personal`](https://www.sqliteexpert.com/download.html) or + [`DBeaver Community`](https://dbeaver.io/download/)) ## Git Branches -- `master`: 2.X.X development. If you want to add a new feature, your pull request should base on this. -- `1.23.X`: 1.23.X development. If you want to fix a bug for v1 and v2, your pull request should base on this. +- `master`: 2.X.X development. If you want to add a new feature, your pull + request should base on this. +- `1.23.X`: 1.23.X development. If you want to fix a bug for v1 and v2, your + pull request should base on this. - All other branches are unused, outdated or for dev. ## Install Dependencies for Development @@ -260,7 +511,8 @@ Port `3000` and port `3001` will be used. npm run dev ``` -But sometimes you may want to restart the server without restarting the frontend. In that case, you can run these commands in two terminals: +But sometimes you may want to restart the server without restarting the +frontend. In that case, you can run these commands in two terminals: ```bash npm run start-frontend-dev @@ -271,9 +523,9 @@ npm run start-server-dev It binds to `0.0.0.0:3001` by default. -The backend is an `express.js` server with `socket.io` integrated. -It uses `socket.io` to communicate with clients, and most server logic is encapsulated in the `socket.io` handlers. -`express.js` is also used to serve: +The backend is an `express.js` server with `socket.io` integrated. It uses +`socket.io` to communicate with clients, and most server logic is encapsulated +in the `socket.io` handlers. `express.js` is also used to serve: - as an entry point for redirecting to a status page or the dashboard - the frontend built files (`index.html`, `*.js`, `*.css`, etc.) @@ -289,11 +541,13 @@ It uses `socket.io` to communicate with clients, and most server logic is encaps - `routers/` (Express Routers) - `socket-handler/` (Socket.io Handlers) - `server.js` (Server entry point) -- `uptime-kuma-server.js` (UptimeKumaServer class, main logic should be here, but some still in `server.js`) +- `uptime-kuma-server.js` (UptimeKumaServer class, main logic should be here, + but some still in `server.js`) ## Frontend Dev Server -It binds to `0.0.0.0:3000` by default. The frontend dev server is used for development only. +It binds to `0.0.0.0:3000` by default. The frontend dev server is used for +development only. For production, it is not used. It will be compiled to `dist` directory instead. @@ -307,17 +561,19 @@ npm run build ### Frontend Details -Uptime Kuma Frontend is a single page application (SPA). Most paths are handled by Vue Router. +Uptime Kuma Frontend is a single page application (SPA). Most paths are handled +by Vue Router. The router is in `src/router.js` -As you can see, most data in the frontend is stored at the root level, even though you changed the current router to any other pages. +As you can see, most data in the frontend is stored at the root level, even +though you changed the current router to any other pages. The data and socket logic are in `src/mixins/socket.js`. ## Database Migration -See: https://github.com/louislam/uptime-kuma/tree/master/db/knex_migrations +See: ## Unit Test @@ -328,11 +584,12 @@ npm test ## Dependencies -Both frontend and backend share the same `package.json`. -However, the frontend dependencies are eventually not used in the production environment, because it is usually also baked into `dist` files. So: +Both frontend and backend share the same `package.json`. However, the frontend +dependencies are eventually not used in the production environment, because it +is usually also baked into `dist` files. So: - Frontend dependencies = "devDependencies" - - Examples: `vue`, `chart.js` + - Examples: - `vue`, `chart.js` - Backend dependencies = "dependencies" - Examples: `socket.io`, `sqlite3` - Development dependencies = "devDependencies" @@ -340,31 +597,41 @@ However, the frontend dependencies are eventually not used in the production env ### Update Dependencies -Since previously updating Vite 2.5.10 to 2.6.0 broke the application completely, from now on, it should update the patch release version only. +Since previously updating Vite 2.5.10 to 2.6.0 broke the application completely, +from now on, it should update the patch release version only. Patch release = the third digit ([Semantic Versioning](https://semver.org/)) -If for security / bug / other reasons, a library must be updated, breaking changes need to be checked by the person proposing the change. +If for security / bug / other reasons, a library must be updated, breaking +changes need to be checked by the person proposing the change. ## Translations -Please add **all** the strings which are translatable to `src/lang/en.json` (if translation keys are omitted, they can not be translated.) +Please add **all** the strings which are translatable to `src/lang/en.json` (if +translation keys are omitted, they can not be translated.) -**Don't include any other languages in your initial pull request** (even if this is your mother tongue), to avoid merge-conflicts between weblate and `master`. -The translations can then (after merging a PR into `master`) be translated by awesome people donating their language skills. +**Don't include any other languages in your initial pull request** (even if this +is your mother tongue), to avoid merge-conflicts between weblate and `master`. +The translations can then (after merging a PR into `master`) be translated by +awesome people donating their language skills. -If you want to help by translating Uptime Kuma into your language, please visit the [instructions on how to translate using weblate](https://github.com/louislam/uptime-kuma/blob/master/src/lang/README.md). +If you want to help by translating Uptime Kuma into your language, please visit +the [instructions on how to translate using weblate]. + +[instructions on how to translate using weblate]: + https://github.com/louislam/uptime-kuma/blob/master/src/lang/README.md ## Spelling & Grammar -Feel free to correct the grammar in the documentation or code. -My mother language is not English and my grammar is not that great. +Feel free to correct the grammar in the documentation or code. My mother +language is not English and my grammar is not that great. ## Wiki -Since there is no way to make a pull request to the wiki, I have set up another repo to do that. +Since there is no way to make a pull request to the wiki, I have set up another +repo to do that. -https://github.com/louislam/uptime-kuma-wiki + ## Docker @@ -405,7 +672,7 @@ https://github.com/louislam/uptime-kuma-wiki ## Maintainer Check the latest issues and pull requests: -https://github.com/louislam/uptime-kuma/issues?q=sort%3Aupdated-desc + ### What is a maintainer and what are their roles? @@ -413,7 +680,7 @@ This project has multiple maintainers who specialise in different areas. Currently, there are 3 maintainers: | Person | Role | Main Area | -|-------------------|-------------------|------------------| +| ----------------- | ----------------- | ---------------- | | `@louislam` | senior maintainer | major features | | `@chakflying` | junior maintainer | fixing bugs | | `@commanderstorm` | junior maintainer | issue-management | @@ -421,39 +688,49 @@ Currently, there are 3 maintainers: ### Procedures We have a few procedures we follow. These are documented here: --
Set up a Docker Builder + +-
Set up a Docker Builder (click to expand)

- amd64, armv7 using local. - - arm64 using remote arm64 cpu, as the emulator is too slow and can no longer pass the `npm ci` command. - 1. Add the public key to the remote server. - 2. Add the remote context. The remote machine must be arm64 and installed Docker CE. - ``` - docker context create oracle-arm64-jp --docker "host=ssh://root@100.107.174.88" - ``` - 3. Create a new builder. - ``` - docker buildx create --name kuma-builder --platform linux/amd64,linux/arm/v7 - docker buildx use kuma-builder - docker buildx inspect --bootstrap - ``` - 4. Append the remote context to the builder. - ``` - docker buildx create --append --name kuma-builder --platform linux/arm64 oracle-arm64-jp - ``` - 5. Verify the builder and check if the builder is using `kuma-builder`. - ``` - docker buildx inspect kuma-builder - docker buildx ls - ``` + - arm64 using remote arm64 cpu, as the emulator is too slow and can no longer + pass the `npm ci` command. + + 1. Add the public key to the remote server. + 2. Add the remote context. The remote machine must be arm64 and installed + Docker CE. + + ```bash + docker context create oracle-arm64-jp --docker "host=ssh://root@100.107.174.88" + ``` + + 3. Create a new builder. + + ```bash + docker buildx create --name kuma-builder --platform linux/amd64,linux/arm/v7 + docker buildx use kuma-builder + docker buildx inspect --bootstrap + ``` + + 4. Append the remote context to the builder. + + ```bash + docker buildx create --append --name kuma-builder --platform linux/arm64 oracle-arm64-jp + ``` + + 5. Verify the builder and check if the builder is using `kuma-builder`. + `docker buildx inspect kuma-builder docker buildx ls` +

--
Release + +-
Release (click to expand)

1. Draft a release note 2. Make sure the repo is cleared - 3. If the healthcheck is updated, remember to re-compile it: `npm run build-docker-builder-go` + 3. If the healthcheck is updated, remember to re-compile it: + `npm run build-docker-builder-go` 4. `npm run release-final` with env vars: `VERSION` and `GITHUB_TOKEN` 5. Wait until the `Press any key to continue` 6. `git push` @@ -463,13 +740,16 @@ We have a few procedures we follow. These are documented here: These Items need to be checked: - - [ ] Check all tags is fine on https://hub.docker.com/r/louislam/uptime-kuma/tags - - [ ] Try the Docker image with tag 1.X.X (Clean install / amd64 / arm64 / armv7) + - [ ] Check all tags is fine on + + - [ ] Try the Docker image with tag 1.X.X (Clean install / amd64 / arm64 / + armv7) - [ ] Try clean installation with Node.js - +

--
Release Beta + +-
Release Beta (click to expand)

1. Draft a release note, check `This is a pre-release` @@ -478,35 +758,37 @@ We have a few procedures we follow. These are documented here: 4. Wait until the `Press any key to continue` 5. Publish the release note as `1.X.X-beta.X` 6. Press any key to continue - +

--
Release Wiki + +-
Release Wiki (click to expand)

**Setup Repo** - + ```bash git clone https://github.com/louislam/uptime-kuma-wiki.git cd uptime-kuma-wiki git remote add production https://github.com/louislam/uptime-kuma.wiki.git ``` - + **Push to Production Wiki** - + ```bash git pull git push production master ``` - +

--
Change the base of a pull request such as master to 1.23.X + +-
Change the base of a pull request such as master to 1.23.X (click to expand)

- + ```bash git rebase --onto ``` - +

diff --git a/SECURITY.md b/SECURITY.md index 72b4fc0f1..a7de9e997 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -2,29 +2,37 @@ ## Reporting a Vulnerability -1. Please report security issues to https://github.com/louislam/uptime-kuma/security/advisories/new. -2. Please also create an empty security issue to alert me, as GitHub Advisories do not send a notification, I probably will miss it without this. https://github.com/louislam/uptime-kuma/issues/new?assignees=&labels=help&template=security.md +1. Please report security issues to + . +2. Please also create an empty security issue to alert me, as GitHub Advisories + do not send a notification, I probably will miss it without this. + -Do not use the public issue tracker or discuss it in public as it will cause more damage. +Do not use the public issue tracker or discuss it in public as it will cause +more damage. ## Do you accept other 3rd-party bug bounty platforms? -At this moment, I DO NOT accept other bug bounty platforms, because I am not familiar with these platforms and someone has tried to send a phishing link to me by doing this already. To minimize my own risk, please report through GitHub Advisories only. I will ignore all 3rd-party bug bounty platforms emails. +At this moment, I DO NOT accept other bug bounty platforms, because I am not +familiar with these platforms and someone has tried to send a phishing link to +me by doing this already. To minimize my own risk, please report through GitHub +Advisories only. I will ignore all 3rd-party bug bounty platforms emails. ## Supported Versions ### Uptime Kuma Versions -You should use or upgrade to the latest version of Uptime Kuma. All `1.X.X` versions are upgradable to the latest version. +You should use or upgrade to the latest version of Uptime Kuma. All `1.X.X` +versions are upgradable to the latest version. ### Upgradable Docker Tags -| Tag | Supported | -|-|-| -| 1 | :white_check_mark: | -| 1-debian | :white_check_mark: | -| latest | :white_check_mark: | -| debian | :white_check_mark: | -| 1-alpine | ⚠️ Deprecated | -| alpine | ⚠️ Deprecated | -| All other tags | ❌ | +| Tag | Supported | +| -------------- | ------------------ | +| 1 | :white_check_mark: | +| 1-debian | :white_check_mark: | +| latest | :white_check_mark: | +| debian | :white_check_mark: | +| 1-alpine | ⚠️ Deprecated | +| alpine | ⚠️ Deprecated | +| All other tags | ❌ | From 4b0a3df226dfd7d8ccc9d414a02588e3665b51f7 Mon Sep 17 00:00:00 2001 From: GJS <163113183+homelab-alpha@users.noreply.github.com> Date: Thu, 3 Apr 2025 13:54:52 +0200 Subject: [PATCH 215/226] Fixed: Markdown hyperlinks in feature_request.yml and PULL_REQUEST_TEMPLATE.md (#5749) --- .github/ISSUE_TEMPLATE/feature_request.yml | 2 +- .github/PULL_REQUEST_TEMPLATE.md | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml index e7a0c7479..c9ec4d093 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -16,7 +16,7 @@ body: - **Reason**: Our current focus is on addressing bugs, improving system performance, and implementing essential updates. This will help stabilize the project and ensure smoother management. - **Impact**: While no new feature requests or pull requests are being outright rejected, there may be significant delays in reviews. We encourage the community to help by reviewing PRs or assisting other users in the meantime. - - **What You Can Do**: If you're interested in contributing, reviewing open PRs by following our [Review Guidelines](../REVIEW_GUIDELINES.md) or offering help to other users is greatly appreciated. All feature requests and PRs will be revisited once the suspension period is lifted. + - **What You Can Do**: If you're interested in contributing, reviewing open PRs by following our [Review Guidelines](https://github.com/louislam/uptime-kuma/blob/master/.github/REVIEW_GUIDELINES.md) or offering help to other users is greatly appreciated. All feature requests and PRs will be revisited once the suspension period is lifted. We appreciate your patience and understanding as we continue to improve Uptime Kuma. diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index a78714263..f639c395e 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,4 +1,4 @@ -**⚠️ Please Note: We do not accept all types of pull requests, and we want to ensure we don’t waste your time. Before submitting, make sure you have read our pull request guidelines: [Pull Request Rules](../CONTRIBUTING.md#can-i-create-a-pull-request-for-uptime-kuma)** +**⚠️ Please Note: We do not accept all types of pull requests, and we want to ensure we don’t waste your time. Before submitting, make sure you have read our pull request guidelines: [Pull Request Rules](https://github.com/louislam/uptime-kuma/blob/master/CONTRIBUTING.md#can-i-create-a-pull-request-for-uptime-kuma)** ## ❗ Important Announcement @@ -11,7 +11,7 @@ - **Reason**: Our current focus is on addressing bugs, improving system performance, and implementing essential updates. This will help stabilize the project and ensure smoother management. - **Impact**: While no new feature requests or pull requests are being outright rejected, there may be significant delays in reviews. We encourage the community to help by reviewing PRs or assisting other users in the meantime. -- **What You Can Do**: If you're interested in contributing, reviewing open PRs by following our [Review Guidelines](REVIEW_GUIDELINES.md) or offering support to other users is greatly appreciated. All feature requests and PRs will be revisited once the suspension period is lifted. +- **What You Can Do**: If you're interested in contributing, reviewing open PRs by following our [Review Guidelines](https://github.com/louislam/uptime-kuma/blob/master/.github/REVIEW_GUIDELINES.md) or offering support to other users is greatly appreciated. All feature requests and PRs will be revisited once the suspension period is lifted. We appreciate your patience and understanding as we continue to improve Uptime Kuma. @@ -77,7 +77,7 @@ Please link any GitHub issues or tasks that this pull request addresses. Use the - [ ] 📄 Documentation updates are included (if applicable). - [ ] 🔒 I have considered potential security impacts and mitigated risks. - [ ] 🧰 Dependency updates are listed and explained. -- [ ] 📚 I have read and understood the [Pull Request guidelines](../CONTRIBUTING.md#recommended-pull-request-guideline). +- [ ] 📚 I have read and understood the [Pull Request guidelines](https://github.com/louislam/uptime-kuma/blob/master/CONTRIBUTING.md#recommended-pull-request-guideline). ## 📷 Screenshots or Visual Changes From a5f6a2b99ad3669f7fa4d8d8575c6490020120db Mon Sep 17 00:00:00 2001 From: Zaid Hafeez <53424436+Zaid-maker@users.noreply.github.com> Date: Tue, 8 Apr 2025 02:55:07 +0500 Subject: [PATCH 216/226] fix: align package-lock.json version with package.json (#5752) --- package-lock.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 70640c26f..7341c2e71 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "uptime-kuma", - "version": "2.0.0-beta.1", + "version": "2.0.0-beta.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "uptime-kuma", - "version": "2.0.0-beta.1", + "version": "2.0.0-beta.2", "license": "MIT", "dependencies": { "@grpc/grpc-js": "~1.8.22", From 43a26eba885f15fae7b009e4611f48b1d421a776 Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Thu, 10 Apr 2025 15:55:04 +0800 Subject: [PATCH 217/226] Update dependencies (#5763) --- package-lock.json | 502 +++++++++++++++++++++++----------------------- 1 file changed, 252 insertions(+), 250 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7341c2e71..305fcb2c3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -338,25 +338,25 @@ } }, "node_modules/@aws-sdk/client-cognito-identity": { - "version": "3.775.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.775.0.tgz", - "integrity": "sha512-AMGywI8C+kcSTWjftq9jgzkospF1A/QNd/h6zN+3uuS+3rZhkPIoPCpaQ0NSTYD49FTq8ALZzNKTqTEOnp+txA==", + "version": "3.782.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.782.0.tgz", + "integrity": "sha512-Zad5x3L5K+PuhdY2v8Q0tsafmVBa2SJJxNukPzXM1APxW7FpDVMxcdSzjfCfX7CvSpohR8zDIEROqMfoUisaTw==", "license": "Apache-2.0", "optional": true, "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", "@aws-sdk/core": "3.775.0", - "@aws-sdk/credential-provider-node": "3.775.0", + "@aws-sdk/credential-provider-node": "3.782.0", "@aws-sdk/middleware-host-header": "3.775.0", "@aws-sdk/middleware-logger": "3.775.0", "@aws-sdk/middleware-recursion-detection": "3.775.0", - "@aws-sdk/middleware-user-agent": "3.775.0", + "@aws-sdk/middleware-user-agent": "3.782.0", "@aws-sdk/region-config-resolver": "3.775.0", "@aws-sdk/types": "3.775.0", - "@aws-sdk/util-endpoints": "3.775.0", + "@aws-sdk/util-endpoints": "3.782.0", "@aws-sdk/util-user-agent-browser": "3.775.0", - "@aws-sdk/util-user-agent-node": "3.775.0", + "@aws-sdk/util-user-agent-node": "3.782.0", "@smithy/config-resolver": "^4.1.0", "@smithy/core": "^3.2.0", "@smithy/fetch-http-handler": "^5.0.2", @@ -389,9 +389,9 @@ } }, "node_modules/@aws-sdk/client-sso": { - "version": "3.775.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.775.0.tgz", - "integrity": "sha512-vqG1S2ap77WP4D5qt4bEPE0duQ4myN+cDr1NeP8QpSTajetbkDGVo7h1VViYMcUoFUVWBj6Qf1X1VfOq+uaxbA==", + "version": "3.782.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.782.0.tgz", + "integrity": "sha512-5GlJBejo8wqMpSSEKb45WE82YxI2k73YuebjLH/eWDNQeE6VI5Bh9lA1YQ7xNkLLH8hIsb0pSfKVuwh0VEzVrg==", "license": "Apache-2.0", "optional": true, "dependencies": { @@ -401,12 +401,12 @@ "@aws-sdk/middleware-host-header": "3.775.0", "@aws-sdk/middleware-logger": "3.775.0", "@aws-sdk/middleware-recursion-detection": "3.775.0", - "@aws-sdk/middleware-user-agent": "3.775.0", + "@aws-sdk/middleware-user-agent": "3.782.0", "@aws-sdk/region-config-resolver": "3.775.0", "@aws-sdk/types": "3.775.0", - "@aws-sdk/util-endpoints": "3.775.0", + "@aws-sdk/util-endpoints": "3.782.0", "@aws-sdk/util-user-agent-browser": "3.775.0", - "@aws-sdk/util-user-agent-node": "3.775.0", + "@aws-sdk/util-user-agent-node": "3.782.0", "@smithy/config-resolver": "^4.1.0", "@smithy/core": "^3.2.0", "@smithy/fetch-http-handler": "^5.0.2", @@ -462,13 +462,13 @@ } }, "node_modules/@aws-sdk/credential-provider-cognito-identity": { - "version": "3.775.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.775.0.tgz", - "integrity": "sha512-fcyZzoCFp2u4NWXW8INA81kEEsWC7ZFzy5m/6t2RF1Gjt+1n2AlFQVqF73LeyEcaN+biNKq87kh94Btk0QdfHA==", + "version": "3.782.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.782.0.tgz", + "integrity": "sha512-rWUmO9yZUBkM2CrTN9lm5X7Ubl7bRPBKyq5hvWpVNSa6BpUcmAQ6CUwEACOc+9cXmUqmKFhP6MGT2GpVlRrzDQ==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/client-cognito-identity": "3.775.0", + "@aws-sdk/client-cognito-identity": "3.782.0", "@aws-sdk/types": "3.775.0", "@smithy/property-provider": "^4.0.2", "@smithy/types": "^4.2.0", @@ -518,9 +518,9 @@ } }, "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.775.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.775.0.tgz", - "integrity": "sha512-0gJc6cALsgrjeC5U3qDjbz4myIC/j49+gPz9nkvY+C0OYWt1KH1tyfiZUuCRGfuFHhQ+3KMMDSL229TkBP3E7g==", + "version": "3.782.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.782.0.tgz", + "integrity": "sha512-wd4KdRy2YjLsE4Y7pz00470Iip06GlRHkG4dyLW7/hFMzEO2o7ixswCWp6J2VGZVAX64acknlv2Q0z02ebjmhw==", "license": "Apache-2.0", "optional": true, "dependencies": { @@ -528,9 +528,9 @@ "@aws-sdk/credential-provider-env": "3.775.0", "@aws-sdk/credential-provider-http": "3.775.0", "@aws-sdk/credential-provider-process": "3.775.0", - "@aws-sdk/credential-provider-sso": "3.775.0", - "@aws-sdk/credential-provider-web-identity": "3.775.0", - "@aws-sdk/nested-clients": "3.775.0", + "@aws-sdk/credential-provider-sso": "3.782.0", + "@aws-sdk/credential-provider-web-identity": "3.782.0", + "@aws-sdk/nested-clients": "3.782.0", "@aws-sdk/types": "3.775.0", "@smithy/credential-provider-imds": "^4.0.2", "@smithy/property-provider": "^4.0.2", @@ -543,18 +543,18 @@ } }, "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.775.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.775.0.tgz", - "integrity": "sha512-D8Zre5W2sXC/ANPqCWPqwYpU1cKY9DF6ckFZyDrqlcBC0gANgpY6fLrBtYo2fwJsbj+1A24iIpBINV7erdprgA==", + "version": "3.782.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.782.0.tgz", + "integrity": "sha512-HZiAF+TCEyKjju9dgysjiPIWgt/+VerGaeEp18mvKLNfgKz1d+/82A2USEpNKTze7v3cMFASx3CvL8yYyF7mJw==", "license": "Apache-2.0", "optional": true, "dependencies": { "@aws-sdk/credential-provider-env": "3.775.0", "@aws-sdk/credential-provider-http": "3.775.0", - "@aws-sdk/credential-provider-ini": "3.775.0", + "@aws-sdk/credential-provider-ini": "3.782.0", "@aws-sdk/credential-provider-process": "3.775.0", - "@aws-sdk/credential-provider-sso": "3.775.0", - "@aws-sdk/credential-provider-web-identity": "3.775.0", + "@aws-sdk/credential-provider-sso": "3.782.0", + "@aws-sdk/credential-provider-web-identity": "3.782.0", "@aws-sdk/types": "3.775.0", "@smithy/credential-provider-imds": "^4.0.2", "@smithy/property-provider": "^4.0.2", @@ -585,15 +585,15 @@ } }, "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.775.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.775.0.tgz", - "integrity": "sha512-du06V7u9HDmRuwZnRjf85shO3dffeKOkQplV5/2vf3LgTPNEI9caNomi/cCGyxKGOeSUHAKrQ1HvpPfOaI6t5Q==", + "version": "3.782.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.782.0.tgz", + "integrity": "sha512-1y1ucxTtTIGDSNSNxriQY8msinilhe9gGvQpUDYW9gboyC7WQJPDw66imy258V6osdtdi+xoHzVCbCz3WhosMQ==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/client-sso": "3.775.0", + "@aws-sdk/client-sso": "3.782.0", "@aws-sdk/core": "3.775.0", - "@aws-sdk/token-providers": "3.775.0", + "@aws-sdk/token-providers": "3.782.0", "@aws-sdk/types": "3.775.0", "@smithy/property-provider": "^4.0.2", "@smithy/shared-ini-file-loader": "^4.0.2", @@ -605,14 +605,14 @@ } }, "node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.775.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.775.0.tgz", - "integrity": "sha512-z4XLYui5aHsr78mbd5BtZfm55OM5V55qK/X17OPrEqjYDDk3GlI8Oe2ZjTmOVrKwMpmzXKhsakeFHKfDyOvv1A==", + "version": "3.782.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.782.0.tgz", + "integrity": "sha512-xCna0opVPaueEbJoclj5C6OpDNi0Gynj+4d7tnuXGgQhTHPyAz8ZyClkVqpi5qvHTgxROdUEDxWqEO5jqRHZHQ==", "license": "Apache-2.0", "optional": true, "dependencies": { "@aws-sdk/core": "3.775.0", - "@aws-sdk/nested-clients": "3.775.0", + "@aws-sdk/nested-clients": "3.782.0", "@aws-sdk/types": "3.775.0", "@smithy/property-provider": "^4.0.2", "@smithy/types": "^4.2.0", @@ -623,26 +623,28 @@ } }, "node_modules/@aws-sdk/credential-providers": { - "version": "3.775.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.775.0.tgz", - "integrity": "sha512-THvyeStdvd0z8Dv1lJ7KrMRiZkFfUktYQUvvFT45ph14jHC5oRoPColtLHz4JjuDN5QEQ5EGrbc6USADZu1k/w==", + "version": "3.782.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.782.0.tgz", + "integrity": "sha512-EP0viOqgw9hU8Lt25Rc7nPlPKMCsO7ntVGSA5TDdjaOHU9wN1LdKwRmFWYE+ii0FIPmagJmgJJoHdpq85oqsUw==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/client-cognito-identity": "3.775.0", + "@aws-sdk/client-cognito-identity": "3.782.0", "@aws-sdk/core": "3.775.0", - "@aws-sdk/credential-provider-cognito-identity": "3.775.0", + "@aws-sdk/credential-provider-cognito-identity": "3.782.0", "@aws-sdk/credential-provider-env": "3.775.0", "@aws-sdk/credential-provider-http": "3.775.0", - "@aws-sdk/credential-provider-ini": "3.775.0", - "@aws-sdk/credential-provider-node": "3.775.0", + "@aws-sdk/credential-provider-ini": "3.782.0", + "@aws-sdk/credential-provider-node": "3.782.0", "@aws-sdk/credential-provider-process": "3.775.0", - "@aws-sdk/credential-provider-sso": "3.775.0", - "@aws-sdk/credential-provider-web-identity": "3.775.0", - "@aws-sdk/nested-clients": "3.775.0", + "@aws-sdk/credential-provider-sso": "3.782.0", + "@aws-sdk/credential-provider-web-identity": "3.782.0", + "@aws-sdk/nested-clients": "3.782.0", "@aws-sdk/types": "3.775.0", + "@smithy/config-resolver": "^4.1.0", "@smithy/core": "^3.2.0", "@smithy/credential-provider-imds": "^4.0.2", + "@smithy/node-config-provider": "^4.0.2", "@smithy/property-provider": "^4.0.2", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" @@ -699,15 +701,15 @@ } }, "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.775.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.775.0.tgz", - "integrity": "sha512-7Lffpr1ptOEDE1ZYH1T78pheEY1YmeXWBfFt/amZ6AGsKSLG+JPXvof3ltporTGR2bhH/eJPo7UHCglIuXfzYg==", + "version": "3.782.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.782.0.tgz", + "integrity": "sha512-i32H2R6IItX+bQ2p4+v2gGO2jA80jQoJO2m1xjU9rYWQW3+ErWy4I5YIuQHTBfb6hSdAHbaRfqPDgbv9J2rjEg==", "license": "Apache-2.0", "optional": true, "dependencies": { "@aws-sdk/core": "3.775.0", "@aws-sdk/types": "3.775.0", - "@aws-sdk/util-endpoints": "3.775.0", + "@aws-sdk/util-endpoints": "3.782.0", "@smithy/core": "^3.2.0", "@smithy/protocol-http": "^5.1.0", "@smithy/types": "^4.2.0", @@ -718,9 +720,9 @@ } }, "node_modules/@aws-sdk/nested-clients": { - "version": "3.775.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/nested-clients/-/nested-clients-3.775.0.tgz", - "integrity": "sha512-f37jmAzkuIhKyhtA6s0LGpqQvm218vq+RNMUDkGm1Zz2fxJ5pBIUTDtygiI3vXTcmt9DTIB8S6JQhjrgtboktw==", + "version": "3.782.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/nested-clients/-/nested-clients-3.782.0.tgz", + "integrity": "sha512-QOYC8q7luzHFXrP0xYAqBctoPkynjfV0r9dqntFu4/IWMTyC1vlo1UTxFAjIPyclYw92XJyEkVCVg9v/nQnsUA==", "license": "Apache-2.0", "optional": true, "dependencies": { @@ -730,12 +732,12 @@ "@aws-sdk/middleware-host-header": "3.775.0", "@aws-sdk/middleware-logger": "3.775.0", "@aws-sdk/middleware-recursion-detection": "3.775.0", - "@aws-sdk/middleware-user-agent": "3.775.0", + "@aws-sdk/middleware-user-agent": "3.782.0", "@aws-sdk/region-config-resolver": "3.775.0", "@aws-sdk/types": "3.775.0", - "@aws-sdk/util-endpoints": "3.775.0", + "@aws-sdk/util-endpoints": "3.782.0", "@aws-sdk/util-user-agent-browser": "3.775.0", - "@aws-sdk/util-user-agent-node": "3.775.0", + "@aws-sdk/util-user-agent-node": "3.782.0", "@smithy/config-resolver": "^4.1.0", "@smithy/core": "^3.2.0", "@smithy/fetch-http-handler": "^5.0.2", @@ -786,13 +788,13 @@ } }, "node_modules/@aws-sdk/token-providers": { - "version": "3.775.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.775.0.tgz", - "integrity": "sha512-Q6MtbEhkOggVSz/dN89rIY/ry80U3v89o0Lrrc+Rpvaiaaz8pEN0DsfEcg0IjpzBQ8Owoa6lNWyglHbzPhaJpA==", + "version": "3.782.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.782.0.tgz", + "integrity": "sha512-4tPuk/3+THPrzKaXW4jE2R67UyGwHLFizZ47pcjJWbhb78IIJAy94vbeqEQ+veS84KF5TXcU7g5jGTXC0D70Wg==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/nested-clients": "3.775.0", + "@aws-sdk/nested-clients": "3.782.0", "@aws-sdk/types": "3.775.0", "@smithy/property-provider": "^4.0.2", "@smithy/shared-ini-file-loader": "^4.0.2", @@ -818,9 +820,9 @@ } }, "node_modules/@aws-sdk/util-endpoints": { - "version": "3.775.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.775.0.tgz", - "integrity": "sha512-yjWmUgZC9tUxAo8Uaplqmq0eUh0zrbZJdwxGRKdYxfm4RG6fMw1tj52+KkatH7o+mNZvg1GDcVp/INktxonJLw==", + "version": "3.782.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.782.0.tgz", + "integrity": "sha512-/RJOAO7o7HI6lEa4ASbFFLHGU9iPK876BhsVfnl54MvApPVYWQ9sHO0anOUim2S5lQTwd/6ghuH3rFYSq/+rdw==", "license": "Apache-2.0", "optional": true, "dependencies": { @@ -860,13 +862,13 @@ } }, "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.775.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.775.0.tgz", - "integrity": "sha512-N9yhTevbizTOMo3drH7Eoy6OkJ3iVPxhV7dwb6CMAObbLneS36CSfA6xQXupmHWcRvZPTz8rd1JGG3HzFOau+g==", + "version": "3.782.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.782.0.tgz", + "integrity": "sha512-dMFkUBgh2Bxuw8fYZQoH/u3H4afQ12VSkzEi//qFiDTwbKYq+u+RYjc8GLDM6JSK1BShMu5AVR7HD4ap1TYUnA==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/middleware-user-agent": "3.775.0", + "@aws-sdk/middleware-user-agent": "3.782.0", "@aws-sdk/types": "3.775.0", "@smithy/node-config-provider": "^4.0.2", "@smithy/types": "^4.2.0", @@ -1159,33 +1161,33 @@ } }, "node_modules/@azure/msal-browser": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-4.9.1.tgz", - "integrity": "sha512-GTKj/2xvgD918xULWRwoJ3kiCCZNzeopxa/nDfMC4o6KzrnuWbT3K1AtIFUxok9yC6VrUOgIZXMygky06xDA1g==", + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-4.10.0.tgz", + "integrity": "sha512-48X2VwOtHk8A1CI00E8tAqko0+3qQh53u5bOPySzdojL3T/Ad4GgRnN0c0oLJ1/PcTm4D4QybHYG3LBOX0l3/g==", "license": "MIT", "dependencies": { - "@azure/msal-common": "15.4.0" + "@azure/msal-common": "15.5.0" }, "engines": { "node": ">=0.8.0" } }, "node_modules/@azure/msal-common": { - "version": "15.4.0", - "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-15.4.0.tgz", - "integrity": "sha512-reeIUDXt6Xc+FpCBDEbUFQWvJ6SjE0JwsGYIfa3ZCR6Tpzjc9J1v+/InQgfCeJzfTRd7PDJVxI6TSzOmOd7+Ag==", + "version": "15.5.0", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-15.5.0.tgz", + "integrity": "sha512-u97AJ6m4PB24/Plms9e9iydRcOaxxrHWkan1px5GeWGJfakY1D/r1DmY1+Typ8zWC/5JbNzH1GYpXrorPymz5g==", "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/@azure/msal-node": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-3.4.1.tgz", - "integrity": "sha512-VlW6ygnKBIqUKIHnA/ubQ+F3rZ8aW3K6VA1bpZ90Ln0vlE4XaA6yGB/FibPJxet7gWinAG1oSpQqPN/PL9AqIw==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-3.5.0.tgz", + "integrity": "sha512-9cLUmcOZ5FODz3uAhS2C9A1U7xDUTCHVcaNQBYpOd5qCKdKM6ft/ydAfw27vEntuaDgnh5jytOAKsEzEbtoQ1Q==", "license": "MIT", "dependencies": { - "@azure/msal-common": "15.4.0", + "@azure/msal-common": "15.5.0", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" }, @@ -2477,14 +2479,14 @@ "license": "BSD-3-Clause" }, "node_modules/@intlify/core-base": { - "version": "9.14.3", - "resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-9.14.3.tgz", - "integrity": "sha512-nbJ7pKTlXFnaXPblyfiH6awAx1C0PWNNuqXAR74yRwgi5A/Re/8/5fErLY0pv4R8+EHj3ZaThMHdnuC/5OBa6g==", + "version": "9.14.4", + "resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-9.14.4.tgz", + "integrity": "sha512-vtZCt7NqWhKEtHa3SD/322DlgP5uR9MqWxnE0y8Q0tjDs9H5Lxhss+b5wv8rmuXRoHKLESNgw9d+EN9ybBbj9g==", "dev": true, "license": "MIT", "dependencies": { - "@intlify/message-compiler": "9.14.3", - "@intlify/shared": "9.14.3" + "@intlify/message-compiler": "9.14.4", + "@intlify/shared": "9.14.4" }, "engines": { "node": ">= 16" @@ -2494,13 +2496,13 @@ } }, "node_modules/@intlify/message-compiler": { - "version": "9.14.3", - "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.14.3.tgz", - "integrity": "sha512-ANwC226BQdd+MpJ36rOYkChSESfPwu3Ss2Faw0RHTOknYLoHTX6V6e/JjIKVDMbzs0/H/df/rO6yU0SPiWHqNg==", + "version": "9.14.4", + "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.14.4.tgz", + "integrity": "sha512-vcyCLiVRN628U38c3PbahrhbbXrckrM9zpy0KZVlDk2Z0OnGwv8uQNNXP3twwGtfLsCf4gu3ci6FMIZnPaqZsw==", "dev": true, "license": "MIT", "dependencies": { - "@intlify/shared": "9.14.3", + "@intlify/shared": "9.14.4", "source-map-js": "^1.0.2" }, "engines": { @@ -2511,9 +2513,9 @@ } }, "node_modules/@intlify/shared": { - "version": "9.14.3", - "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-9.14.3.tgz", - "integrity": "sha512-hJXz9LA5VG7qNE00t50bdzDv8Z4q9fpcL81wj4y4duKavrv0KM8YNLTwXNEFINHjTsfrG9TXvPuEjVaAvZ7yWg==", + "version": "9.14.4", + "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-9.14.4.tgz", + "integrity": "sha512-P9zv6i1WvMc9qDBWvIgKkymjY2ptIiQ065PjDv7z7fDqH3J/HBRBN5IoiR46r/ujRcU7hCuSIZWvCAFCyuOYZA==", "dev": true, "license": "MIT", "engines": { @@ -2684,9 +2686,9 @@ } }, "node_modules/@js-joda/core": { - "version": "5.6.4", - "resolved": "https://registry.npmjs.org/@js-joda/core/-/core-5.6.4.tgz", - "integrity": "sha512-ChdLDTYMEoYoiKZMT90wZMEdGvZ2/QZMnhvjvEqeO5oLoxUfSiLzfe6Lhf3g88+MhZ+utbAu7PAxX1sZkLo5pA==", + "version": "5.6.5", + "resolved": "https://registry.npmjs.org/@js-joda/core/-/core-5.6.5.tgz", + "integrity": "sha512-3zwefSMwHpu8iVUW8YYz227sIv6UFqO31p1Bf1ZH/Vom7CmNyUsXjDBlnNzcuhmOL1XfxZ3nvND42kR23XlbcQ==", "license": "BSD-3-Clause" }, "node_modules/@js-sdsl/ordered-map": { @@ -2789,9 +2791,9 @@ } }, "node_modules/@mongodb-js/saslprep": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.2.0.tgz", - "integrity": "sha512-+ywrb0AqkfaYuhHs6LxKWgqbh3I72EpEgESCw37o+9qPx9WTCkgDm2B+eMrwehGtHBWHFU4GXvnSCNiFhhausg==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.2.2.tgz", + "integrity": "sha512-EB0O3SCSNRUFk66iRCpI+cXzIjdswfCs7F6nOC3RAGJ7xr5YhaicvsRwJ9eyzYvYRlCSDUO/c7g4yNulxKC1WA==", "license": "MIT", "optional": true, "dependencies": { @@ -3107,9 +3109,9 @@ } }, "node_modules/@polka/url": { - "version": "1.0.0-next.28", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.28.tgz", - "integrity": "sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==", + "version": "1.0.0-next.29", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", + "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", "dev": true, "license": "MIT" }, @@ -3284,9 +3286,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.37.0.tgz", - "integrity": "sha512-l7StVw6WAa8l3vA1ov80jyetOAEo1FtHvZDbzXDO/02Sq/QVvqlHkYoFwDJPIMj0GKiistsBudfx5tGFnwYWDQ==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.39.0.tgz", + "integrity": "sha512-lGVys55Qb00Wvh8DMAocp5kIcaNzEFTmGhfFd88LfaogYTRKrdxgtlO5H6S49v2Nd8R2C6wLOal0qv6/kCkOwA==", "cpu": [ "arm" ], @@ -3298,9 +3300,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.37.0.tgz", - "integrity": "sha512-6U3SlVyMxezt8Y+/iEBcbp945uZjJwjZimu76xoG7tO1av9VO691z8PkhzQ85ith2I8R2RddEPeSfcbyPfD4hA==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.39.0.tgz", + "integrity": "sha512-It9+M1zE31KWfqh/0cJLrrsCPiF72PoJjIChLX+rEcujVRCb4NLQ5QzFkzIZW8Kn8FTbvGQBY5TkKBau3S8cCQ==", "cpu": [ "arm64" ], @@ -3312,9 +3314,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.37.0.tgz", - "integrity": "sha512-+iTQ5YHuGmPt10NTzEyMPbayiNTcOZDWsbxZYR1ZnmLnZxG17ivrPSWFO9j6GalY0+gV3Jtwrrs12DBscxnlYA==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.39.0.tgz", + "integrity": "sha512-lXQnhpFDOKDXiGxsU9/l8UEGGM65comrQuZ+lDcGUx+9YQ9dKpF3rSEGepyeR5AHZ0b5RgiligsBhWZfSSQh8Q==", "cpu": [ "arm64" ], @@ -3326,9 +3328,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.37.0.tgz", - "integrity": "sha512-m8W2UbxLDcmRKVjgl5J/k4B8d7qX2EcJve3Sut7YGrQoPtCIQGPH5AMzuFvYRWZi0FVS0zEY4c8uttPfX6bwYQ==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.39.0.tgz", + "integrity": "sha512-mKXpNZLvtEbgu6WCkNij7CGycdw9cJi2k9v0noMb++Vab12GZjFgUXD69ilAbBh034Zwn95c2PNSz9xM7KYEAQ==", "cpu": [ "x64" ], @@ -3340,9 +3342,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.37.0.tgz", - "integrity": "sha512-FOMXGmH15OmtQWEt174v9P1JqqhlgYge/bUjIbiVD1nI1NeJ30HYT9SJlZMqdo1uQFyt9cz748F1BHghWaDnVA==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.39.0.tgz", + "integrity": "sha512-jivRRlh2Lod/KvDZx2zUR+I4iBfHcu2V/BA2vasUtdtTN2Uk3jfcZczLa81ESHZHPHy4ih3T/W5rPFZ/hX7RtQ==", "cpu": [ "arm64" ], @@ -3354,9 +3356,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.37.0.tgz", - "integrity": "sha512-SZMxNttjPKvV14Hjck5t70xS3l63sbVwl98g3FlVVx2YIDmfUIy29jQrsw06ewEYQ8lQSuY9mpAPlmgRD2iSsA==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.39.0.tgz", + "integrity": "sha512-8RXIWvYIRK9nO+bhVz8DwLBepcptw633gv/QT4015CpJ0Ht8punmoHU/DuEd3iw9Hr8UwUV+t+VNNuZIWYeY7Q==", "cpu": [ "x64" ], @@ -3368,9 +3370,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.37.0.tgz", - "integrity": "sha512-hhAALKJPidCwZcj+g+iN+38SIOkhK2a9bqtJR+EtyxrKKSt1ynCBeqrQy31z0oWU6thRZzdx53hVgEbRkuI19w==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.39.0.tgz", + "integrity": "sha512-mz5POx5Zu58f2xAG5RaRRhp3IZDK7zXGk5sdEDj4o96HeaXhlUwmLFzNlc4hCQi5sGdR12VDgEUqVSHer0lI9g==", "cpu": [ "arm" ], @@ -3382,9 +3384,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.37.0.tgz", - "integrity": "sha512-jUb/kmn/Gd8epbHKEqkRAxq5c2EwRt0DqhSGWjPFxLeFvldFdHQs/n8lQ9x85oAeVb6bHcS8irhTJX2FCOd8Ag==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.39.0.tgz", + "integrity": "sha512-+YDwhM6gUAyakl0CD+bMFpdmwIoRDzZYaTWV3SDRBGkMU/VpIBYXXEvkEcTagw/7VVkL2vA29zU4UVy1mP0/Yw==", "cpu": [ "arm" ], @@ -3396,9 +3398,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.37.0.tgz", - "integrity": "sha512-oNrJxcQT9IcbcmKlkF+Yz2tmOxZgG9D9GRq+1OE6XCQwCVwxixYAa38Z8qqPzQvzt1FCfmrHX03E0pWoXm1DqA==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.39.0.tgz", + "integrity": "sha512-EKf7iF7aK36eEChvlgxGnk7pdJfzfQbNvGV/+l98iiMwU23MwvmV0Ty3pJ0p5WQfm3JRHOytSIqD9LB7Bq7xdQ==", "cpu": [ "arm64" ], @@ -3410,9 +3412,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.37.0.tgz", - "integrity": "sha512-pfxLBMls+28Ey2enpX3JvjEjaJMBX5XlPCZNGxj4kdJyHduPBXtxYeb8alo0a7bqOoWZW2uKynhHxF/MWoHaGQ==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.39.0.tgz", + "integrity": "sha512-vYanR6MtqC7Z2SNr8gzVnzUul09Wi1kZqJaek3KcIlI/wq5Xtq4ZPIZ0Mr/st/sv/NnaPwy/D4yXg5x0B3aUUA==", "cpu": [ "arm64" ], @@ -3424,9 +3426,9 @@ ] }, "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.37.0.tgz", - "integrity": "sha512-yCE0NnutTC/7IGUq/PUHmoeZbIwq3KRh02e9SfFh7Vmc1Z7atuJRYWhRME5fKgT8aS20mwi1RyChA23qSyRGpA==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.39.0.tgz", + "integrity": "sha512-NMRUT40+h0FBa5fb+cpxtZoGAggRem16ocVKIv5gDB5uLDgBIwrIsXlGqYbLwW8YyO3WVTk1FkFDjMETYlDqiw==", "cpu": [ "loong64" ], @@ -3438,9 +3440,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.37.0.tgz", - "integrity": "sha512-NxcICptHk06E2Lh3a4Pu+2PEdZ6ahNHuK7o6Np9zcWkrBMuv21j10SQDJW3C9Yf/A/P7cutWoC/DptNLVsZ0VQ==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.39.0.tgz", + "integrity": "sha512-0pCNnmxgduJ3YRt+D+kJ6Ai/r+TaePu9ZLENl+ZDV/CdVczXl95CbIiwwswu4L+K7uOIGf6tMo2vm8uadRaICQ==", "cpu": [ "ppc64" ], @@ -3452,9 +3454,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.37.0.tgz", - "integrity": "sha512-PpWwHMPCVpFZLTfLq7EWJWvrmEuLdGn1GMYcm5MV7PaRgwCEYJAwiN94uBuZev0/J/hFIIJCsYw4nLmXA9J7Pw==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.39.0.tgz", + "integrity": "sha512-t7j5Zhr7S4bBtksT73bO6c3Qa2AV/HqiGlj9+KB3gNF5upcVkx+HLgxTm8DK4OkzsOYqbdqbLKwvGMhylJCPhQ==", "cpu": [ "riscv64" ], @@ -3466,9 +3468,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.37.0.tgz", - "integrity": "sha512-DTNwl6a3CfhGTAOYZ4KtYbdS8b+275LSLqJVJIrPa5/JuIufWWZ/QFvkxp52gpmguN95eujrM68ZG+zVxa8zHA==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.39.0.tgz", + "integrity": "sha512-m6cwI86IvQ7M93MQ2RF5SP8tUjD39Y7rjb1qjHgYh28uAPVU8+k/xYWvxRO3/tBN2pZkSMa5RjnPuUIbrwVxeA==", "cpu": [ "riscv64" ], @@ -3480,9 +3482,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.37.0.tgz", - "integrity": "sha512-hZDDU5fgWvDdHFuExN1gBOhCuzo/8TMpidfOR+1cPZJflcEzXdCy1LjnklQdW8/Et9sryOPJAKAQRw8Jq7Tg+A==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.39.0.tgz", + "integrity": "sha512-iRDJd2ebMunnk2rsSBYlsptCyuINvxUfGwOUldjv5M4tpa93K8tFMeYGpNk2+Nxl+OBJnBzy2/JCscGeO507kA==", "cpu": [ "s390x" ], @@ -3494,9 +3496,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.37.0.tgz", - "integrity": "sha512-pKivGpgJM5g8dwj0ywBwe/HeVAUSuVVJhUTa/URXjxvoyTT/AxsLTAbkHkDHG7qQxLoW2s3apEIl26uUe08LVQ==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.39.0.tgz", + "integrity": "sha512-t9jqYw27R6Lx0XKfEFe5vUeEJ5pF3SGIM6gTfONSMb7DuG6z6wfj2yjcoZxHg129veTqU7+wOhY6GX8wmf90dA==", "cpu": [ "x64" ], @@ -3508,9 +3510,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.37.0.tgz", - "integrity": "sha512-E2lPrLKE8sQbY/2bEkVTGDEk4/49UYRVWgj90MY8yPjpnGBQ+Xi1Qnr7b7UIWw1NOggdFQFOLZ8+5CzCiz143w==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.39.0.tgz", + "integrity": "sha512-ThFdkrFDP55AIsIZDKSBWEt/JcWlCzydbZHinZ0F/r1h83qbGeenCt/G/wG2O0reuENDD2tawfAj2s8VK7Bugg==", "cpu": [ "x64" ], @@ -3522,9 +3524,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.37.0.tgz", - "integrity": "sha512-Jm7biMazjNzTU4PrQtr7VS8ibeys9Pn29/1bm4ph7CP2kf21950LgN+BaE2mJ1QujnvOc6p54eWWiVvn05SOBg==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.39.0.tgz", + "integrity": "sha512-jDrLm6yUtbOg2TYB3sBF3acUnAwsIksEYjLeHL+TJv9jg+TmTwdyjnDex27jqEMakNKf3RwwPahDIt7QXCSqRQ==", "cpu": [ "arm64" ], @@ -3536,9 +3538,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.37.0.tgz", - "integrity": "sha512-e3/1SFm1OjefWICB2Ucstg2dxYDkDTZGDYgwufcbsxTHyqQps1UQf33dFEChBNmeSsTOyrjw2JJq0zbG5GF6RA==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.39.0.tgz", + "integrity": "sha512-6w9uMuza+LbLCVoNKL5FSLE7yvYkq9laSd09bwS0tMjkwXrmib/4KmoJcrKhLWHvw19mwU+33ndC69T7weNNjQ==", "cpu": [ "ia32" ], @@ -3550,9 +3552,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.37.0.tgz", - "integrity": "sha512-LWbXUBwn/bcLx2sSsqy7pK5o+Nr+VCoRoAohfJ5C/aBio9nfJmGQqHAhU6pwxV/RmyTk5AqdySma7uwWGlmeuA==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.39.0.tgz", + "integrity": "sha512-yAkUOkIKZlK5dl7u6dg897doBgLXmUHhIINM2c+sND3DZwnrdQkkSiDh7N75Ll4mM4dxSkYfXqU9fW3lLkMFug==", "cpu": [ "x64" ], @@ -4313,23 +4315,23 @@ "license": "MIT" }, "node_modules/@testcontainers/hivemq": { - "version": "10.23.0", - "resolved": "https://registry.npmjs.org/@testcontainers/hivemq/-/hivemq-10.23.0.tgz", - "integrity": "sha512-e55T7tkqJ+FZ3eWIGew7bR2iO/Flsc9LjnqoKzGtpLjNLEnxptEuQkDLJYlzYNlroRXz8K72swN2gsFswaTOBA==", + "version": "10.24.1", + "resolved": "https://registry.npmjs.org/@testcontainers/hivemq/-/hivemq-10.24.1.tgz", + "integrity": "sha512-pMmtaY9+7OZD8PxJY/sTrpHfU+bQXQLYa6tlvIS4ROyO6Ep3kHf2cMQkKOw+fCVBHRPKY7fRmkBdvbzVpQhWVA==", "dev": true, "license": "MIT", "dependencies": { - "testcontainers": "^10.23.0" + "testcontainers": "^10.24.1" } }, "node_modules/@testcontainers/rabbitmq": { - "version": "10.23.0", - "resolved": "https://registry.npmjs.org/@testcontainers/rabbitmq/-/rabbitmq-10.23.0.tgz", - "integrity": "sha512-XD8RcNBr/Eo5sHctOtLRzYKGmQdfO3LT3FAEyR8unAVJs4OKujrmESnfK5xnsbgot+zs3wp5mPlfTSZEJy+KEg==", + "version": "10.24.1", + "resolved": "https://registry.npmjs.org/@testcontainers/rabbitmq/-/rabbitmq-10.24.1.tgz", + "integrity": "sha512-ws8lq8M2AcyheX4WfZWQr9BVWkxXdgzbHu7KT6jA9zPV9BBN4zkRvCJ8KZTf7XQ6RP24rt4yRPGSKCn7CurbyA==", "dev": true, "license": "MIT", "dependencies": { - "testcontainers": "^10.23.0" + "testcontainers": "^10.24.1" } }, "node_modules/@tootallnate/once": { @@ -4431,9 +4433,9 @@ } }, "node_modules/@types/dockerode": { - "version": "3.3.35", - "resolved": "https://registry.npmjs.org/@types/dockerode/-/dockerode-3.3.35.tgz", - "integrity": "sha512-P+DCMASlsH+QaKkDpekKrP5pLls767PPs+/LrlVbKnEnY5tMpEUa2C6U4gRsdFZengOqxdCIqy16R22Q3pLB6Q==", + "version": "3.3.37", + "resolved": "https://registry.npmjs.org/@types/dockerode/-/dockerode-3.3.37.tgz", + "integrity": "sha512-r+IoKpE5MLKaeD8CvoEh39ckWMLHR/+WBMoRQxrkL+apJqEWLMhBHh+93KIfyPWGd6gK7Q21jpoULKgNoRI0YA==", "dev": true, "license": "MIT", "dependencies": { @@ -4443,9 +4445,9 @@ } }, "node_modules/@types/estree": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", + "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", "dev": true, "license": "MIT" }, @@ -4552,9 +4554,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "20.17.28", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.28.tgz", - "integrity": "sha512-DHlH/fNL6Mho38jTy7/JT7sn2wnXI+wULR6PV4gy4VHLVvnrV/d3pHAMQHhc4gjdLmK2ZiPoMxzp6B3yRajLSQ==", + "version": "20.17.30", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.30.tgz", + "integrity": "sha512-7zf4YyHA+jvBNfVrk2Gtvs6x7E8V+YDW05bNfG2XkWDJfYRXrTiP/DsB2zSYTaHX0bGIujTBQdMVAhb+j7mwpg==", "license": "MIT", "dependencies": { "undici-types": "~6.19.2" @@ -4633,9 +4635,9 @@ } }, "node_modules/@types/ssh2": { - "version": "1.15.4", - "resolved": "https://registry.npmjs.org/@types/ssh2/-/ssh2-1.15.4.tgz", - "integrity": "sha512-9JTQgVBWSgq6mAen6PVnrAmty1lqgCMvpfN+1Ck5WRUsyMYPa6qd50/vMJ0y1zkGpOEgLzm8m8Dx/Y5vRouLaA==", + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/@types/ssh2/-/ssh2-1.15.5.tgz", + "integrity": "sha512-N1ASjp/nXH3ovBHddRJpli4ozpk6UdDYIX4RJWFa9L1YKnzdhTlVmiGHm4DZnj/jLbqZpes4aeR30EFGQtvhQQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4653,9 +4655,9 @@ } }, "node_modules/@types/ssh2/node_modules/@types/node": { - "version": "18.19.84", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.84.tgz", - "integrity": "sha512-ACYy2HGcZPHxEeWTqowTF7dhXN+JU1o7Gr4b41klnn6pj2LD6rsiGqSZojMdk1Jh2ys3m76ap+ae1vvE4+5+vg==", + "version": "18.19.86", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.86.tgz", + "integrity": "sha512-fifKayi175wLyKyc5qUfyENhQ1dCNI1UNjp653d8kuYcPQN5JhX3dGuP/XmvPTg/xRBn1VTLpbmi+H/Mr7tLfQ==", "dev": true, "license": "MIT", "dependencies": { @@ -5910,9 +5912,9 @@ "optional": true }, "node_modules/bare-fs": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.0.2.tgz", - "integrity": "sha512-S5mmkMesiduMqnz51Bfh0Et9EX0aTCJxhsI4bvzFFLs8Z1AV8RDHadfY5CyLwdoLHgXbNBEN1gQcbEtGwuvixw==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.1.2.tgz", + "integrity": "sha512-8wSeOia5B7LwD4+h465y73KOdj5QHsbbuoUfPBi+pXgFJIPuG7SsiOdJuijWMyfid49eD+WivpfY7KT8gbAzBA==", "dev": true, "license": "Apache-2.0", "optional": true, @@ -6586,9 +6588,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001707", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001707.tgz", - "integrity": "sha512-3qtRjw/HQSMlDWf+X79N206fepf4SOOU6SQLMaq/0KkZLmSjPxAkBOQQ+FxbHKfHmYLZFfdWsO3KA90ceHPSnw==", + "version": "1.0.30001713", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001713.tgz", + "integrity": "sha512-wCIWIg+A4Xr7NfhTuHdX+/FKh3+Op3LBbSp2N5Pfx6T/LhdQy3GTyoTg48BReaW/MyMNZAkTadsBtai3ldWK0Q==", "dev": true, "funding": [ { @@ -7828,9 +7830,9 @@ } }, "node_modules/dockerode": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-4.0.4.tgz", - "integrity": "sha512-6GYP/EdzEY50HaOxTVTJ2p+mB5xDHTMJhS+UoGrVyS6VC+iQRh7kZ4FRpUYq6nziby7hPqWhOrFFUFTMUZJJ5w==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-4.0.5.tgz", + "integrity": "sha512-ZPmKSr1k1571Mrh7oIBS/j0AqAccoecY2yH420ni5j1KyNMgnoTh4Nu4FWunh0HZIJmRSmSysJjBIpa/zyWUEA==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -7839,7 +7841,7 @@ "@grpc/proto-loader": "^0.7.13", "docker-modem": "^5.0.6", "protobufjs": "^7.3.2", - "tar-fs": "~2.0.1", + "tar-fs": "~2.1.2", "uuid": "^10.0.0" }, "engines": { @@ -7893,16 +7895,16 @@ } }, "node_modules/dockerode/node_modules/tar-fs": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.0.1.tgz", - "integrity": "sha512-6tzWDMeroL87uF/+lin46k+Q+46rAJ0SyPGz7OW7wTgblI273hsBqk2C1j0/xNadNLKDTUL9BukSjB7cwgmlPA==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.2.tgz", + "integrity": "sha512-EsaAXwxmx8UB7FRKqeozqEPop69DXcmYwTQwXvyAPF352HJsPdkVhvTaDPYqfNgruveJIJy3TA2l+2zj8LJIJA==", "dev": true, "license": "MIT", "dependencies": { "chownr": "^1.1.1", "mkdirp-classic": "^0.5.2", "pump": "^3.0.0", - "tar-stream": "^2.0.0" + "tar-stream": "^2.1.4" } }, "node_modules/dockerode/node_modules/tar-stream": { @@ -7991,9 +7993,9 @@ } }, "node_modules/dompurify": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.2.4.tgz", - "integrity": "sha512-ysFSFEDVduQpyhzAob/kkuJjf5zWkZD8/A9ywSp1byueyuCfHamrCBa14/Oc2iiB0e51B+NpxSl5gmzn+Ms/mg==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.2.5.tgz", + "integrity": "sha512-mLPd29uoRe9HpvwP2TxClGQBzGXeEC/we/q+bFlmPPmj2p2Ugl3r6ATu/UU1v77DXNcehiBg9zsr1dREyA/dJQ==", "dev": true, "license": "(MPL-2.0 OR Apache-2.0)", "optionalDependencies": { @@ -8071,9 +8073,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.126", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.126.tgz", - "integrity": "sha512-AtH1uLcTC72LA4vfYcEJJkrMk/MY/X0ub8Hv7QGAePW2JkeUFHEL/QfS4J77R6M87Sss8O0OcqReSaN1bpyA+Q==", + "version": "1.5.135", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.135.tgz", + "integrity": "sha512-8gXUdEmvb+WCaYUhA0Svr08uSeRjM2w3x5uHOc1QbaEVzJXB8rgm5eptieXzyKoVEtinLvW6MtTcurA65PeS1Q==", "dev": true, "license": "ISC" }, @@ -10355,9 +10357,9 @@ } }, "node_modules/human-signals": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.0.tgz", - "integrity": "sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.1.tgz", + "integrity": "sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==", "dev": true, "license": "Apache-2.0", "engines": { @@ -12770,9 +12772,9 @@ } }, "node_modules/nostr-tools": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/nostr-tools/-/nostr-tools-2.11.0.tgz", - "integrity": "sha512-kRtXI9j5f45NvIcdJacQ0UEAfEb7p/jhZqhAGLQWtUd5idZJPYdSyR8hdw+MmpGH4TCMH5plZrXzFltIIZrkEA==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/nostr-tools/-/nostr-tools-2.12.0.tgz", + "integrity": "sha512-pUWEb020gTvt1XZvTa8AKNIHWFapjsv2NKyk43Ez2nnvz6WSXsrTFE0XtkNLSRBjPn6EpxumKeNiVzLz74jNSA==", "license": "Unlicense", "dependencies": { "@noble/ciphers": "^0.5.1", @@ -14719,13 +14721,13 @@ } }, "node_modules/rollup": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.37.0.tgz", - "integrity": "sha512-iAtQy/L4QFU+rTJ1YUjXqJOJzuwEghqWzCEYD2FEghT7Gsy1VdABntrO4CLopA5IkflTyqNiLNwPcOJ3S7UKLg==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.39.0.tgz", + "integrity": "sha512-thI8kNc02yNvnmJp8dr3fNWJ9tCONDhp6TV35X6HkKGGs9E6q7YWCHbe5vKiTa7TAiNcFEmXKj3X/pG2b3ci0g==", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "1.0.6" + "@types/estree": "1.0.7" }, "bin": { "rollup": "dist/bin/rollup" @@ -14735,26 +14737,26 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.37.0", - "@rollup/rollup-android-arm64": "4.37.0", - "@rollup/rollup-darwin-arm64": "4.37.0", - "@rollup/rollup-darwin-x64": "4.37.0", - "@rollup/rollup-freebsd-arm64": "4.37.0", - "@rollup/rollup-freebsd-x64": "4.37.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.37.0", - "@rollup/rollup-linux-arm-musleabihf": "4.37.0", - "@rollup/rollup-linux-arm64-gnu": "4.37.0", - "@rollup/rollup-linux-arm64-musl": "4.37.0", - "@rollup/rollup-linux-loongarch64-gnu": "4.37.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.37.0", - "@rollup/rollup-linux-riscv64-gnu": "4.37.0", - "@rollup/rollup-linux-riscv64-musl": "4.37.0", - "@rollup/rollup-linux-s390x-gnu": "4.37.0", - "@rollup/rollup-linux-x64-gnu": "4.37.0", - "@rollup/rollup-linux-x64-musl": "4.37.0", - "@rollup/rollup-win32-arm64-msvc": "4.37.0", - "@rollup/rollup-win32-ia32-msvc": "4.37.0", - "@rollup/rollup-win32-x64-msvc": "4.37.0", + "@rollup/rollup-android-arm-eabi": "4.39.0", + "@rollup/rollup-android-arm64": "4.39.0", + "@rollup/rollup-darwin-arm64": "4.39.0", + "@rollup/rollup-darwin-x64": "4.39.0", + "@rollup/rollup-freebsd-arm64": "4.39.0", + "@rollup/rollup-freebsd-x64": "4.39.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.39.0", + "@rollup/rollup-linux-arm-musleabihf": "4.39.0", + "@rollup/rollup-linux-arm64-gnu": "4.39.0", + "@rollup/rollup-linux-arm64-musl": "4.39.0", + "@rollup/rollup-linux-loongarch64-gnu": "4.39.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.39.0", + "@rollup/rollup-linux-riscv64-gnu": "4.39.0", + "@rollup/rollup-linux-riscv64-musl": "4.39.0", + "@rollup/rollup-linux-s390x-gnu": "4.39.0", + "@rollup/rollup-linux-x64-gnu": "4.39.0", + "@rollup/rollup-linux-x64-musl": "4.39.0", + "@rollup/rollup-win32-arm64-msvc": "4.39.0", + "@rollup/rollup-win32-ia32-msvc": "4.39.0", + "@rollup/rollup-win32-x64-msvc": "4.39.0", "fsevents": "~2.3.2" } }, @@ -16454,9 +16456,9 @@ } }, "node_modules/testcontainers": { - "version": "10.23.0", - "resolved": "https://registry.npmjs.org/testcontainers/-/testcontainers-10.23.0.tgz", - "integrity": "sha512-sZeij9mAyR9ixlaAmxU/DNb5LQ2duGCBDVjLaI975QGsX3sWatsBMDr4rqnP3IBemLynp+azZBMEfw75YsXMMg==", + "version": "10.24.1", + "resolved": "https://registry.npmjs.org/testcontainers/-/testcontainers-10.24.1.tgz", + "integrity": "sha512-72eJwXrGNg2fyN8LfGrniOI5hpkur7t74w8MEZPrpUZ/YojfBQY8z6ZU/P586TzfJTWEakAH49DO6f8niHsrBQ==", "dev": true, "license": "MIT", "dependencies": { @@ -16467,12 +16469,12 @@ "byline": "^5.0.0", "debug": "^4.3.5", "docker-compose": "^0.24.8", - "dockerode": "^4.0.4", + "dockerode": "^4.0.5", "get-port": "^7.1.0", "proper-lockfile": "^4.1.2", "properties-reader": "^2.3.0", "ssh-remote-port-forward": "^1.0.4", - "tar-fs": "^3.0.6", + "tar-fs": "^3.0.7", "tmp": "^0.2.3", "undici": "^5.28.5" } @@ -17027,9 +17029,9 @@ } }, "node_modules/vite": { - "version": "5.4.15", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.15.tgz", - "integrity": "sha512-6ANcZRivqL/4WtwPGTKNaosuNJr5tWiftOC7liM7G9+rMb8+oeJeyzymDu4rTN93seySBmbjSfsS3Vzr19KNtA==", + "version": "5.4.18", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.18.tgz", + "integrity": "sha512-1oDcnEp3lVyHCuQ2YFelM4Alm2o91xNoMncRm1U7S+JdYfYOvbiGZ3/CxGttrOu2M/KcGz7cRC2DoNUA6urmMA==", "dev": true, "license": "MIT", "dependencies": { @@ -17383,14 +17385,14 @@ } }, "node_modules/vue-i18n": { - "version": "9.14.3", - "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.14.3.tgz", - "integrity": "sha512-C+E0KE8ihKjdYCQx8oUkXX+8tBItrYNMnGJuzEPevBARQFUN2tKez6ZVOvBrWH0+KT5wEk3vOWjNk7ygb2u9ig==", + "version": "9.14.4", + "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.14.4.tgz", + "integrity": "sha512-B934C8yUyWLT0EMud3DySrwSUJI7ZNiWYsEEz2gknTthqKiG4dzWE/WSa8AzCuSQzwBEv4HtG1jZDhgzPfWSKQ==", "dev": true, "license": "MIT", "dependencies": { - "@intlify/core-base": "9.14.3", - "@intlify/shared": "9.14.3", + "@intlify/core-base": "9.14.4", + "@intlify/shared": "9.14.4", "@vue/devtools-api": "^6.5.0" }, "engines": { @@ -17890,9 +17892,9 @@ "license": "ISC" }, "node_modules/yaml": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz", - "integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.1.tgz", + "integrity": "sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ==", "dev": true, "license": "ISC", "bin": { From 867fff42649800a90276d149b4fceeeece5082dc Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Fri, 11 Apr 2025 03:58:19 +0800 Subject: [PATCH 218/226] Update axios to 0.30.0 (#5765) --- package-lock.json | 36 ++++++++++++++++++------------------ package.json | 2 +- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/package-lock.json b/package-lock.json index 305fcb2c3..7ab51157b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "@louislam/sqlite3": "15.1.6", "@vvo/tzdb": "^6.125.0", "args-parser": "~1.3.0", - "axios": "~0.29.0", + "axios": "~0.30.0", "badge-maker": "~3.3.1", "bcryptjs": "~2.4.3", "chardet": "~1.4.0", @@ -4315,23 +4315,23 @@ "license": "MIT" }, "node_modules/@testcontainers/hivemq": { - "version": "10.24.1", - "resolved": "https://registry.npmjs.org/@testcontainers/hivemq/-/hivemq-10.24.1.tgz", - "integrity": "sha512-pMmtaY9+7OZD8PxJY/sTrpHfU+bQXQLYa6tlvIS4ROyO6Ep3kHf2cMQkKOw+fCVBHRPKY7fRmkBdvbzVpQhWVA==", + "version": "10.24.2", + "resolved": "https://registry.npmjs.org/@testcontainers/hivemq/-/hivemq-10.24.2.tgz", + "integrity": "sha512-5HXVaC4NXi5SSj3BpW3O7jNoPp6Z7A4ZasdZSLwgq2Ak6+9vZUJc8T1av2FcxHPr5V5B4jflyyJdsIgSTZGYcw==", "dev": true, "license": "MIT", "dependencies": { - "testcontainers": "^10.24.1" + "testcontainers": "^10.24.2" } }, "node_modules/@testcontainers/rabbitmq": { - "version": "10.24.1", - "resolved": "https://registry.npmjs.org/@testcontainers/rabbitmq/-/rabbitmq-10.24.1.tgz", - "integrity": "sha512-ws8lq8M2AcyheX4WfZWQr9BVWkxXdgzbHu7KT6jA9zPV9BBN4zkRvCJ8KZTf7XQ6RP24rt4yRPGSKCn7CurbyA==", + "version": "10.24.2", + "resolved": "https://registry.npmjs.org/@testcontainers/rabbitmq/-/rabbitmq-10.24.2.tgz", + "integrity": "sha512-2Ks5dY22kfgyK6JezF0koHZfEilD5l5T6ntth4VhqHK8MSFvk7Jve8Y6m4kdSth7u+nHH7L++zkROCBRA26r/A==", "dev": true, "license": "MIT", "dependencies": { - "testcontainers": "^10.24.1" + "testcontainers": "^10.24.2" } }, "node_modules/@tootallnate/once": { @@ -5829,9 +5829,9 @@ } }, "node_modules/axios": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.29.0.tgz", - "integrity": "sha512-Kjsq1xisgO5DjjNQwZFsy0gpcU1P2j36dZeQDXVhpIU26GVgkDUnROaHLSuluhMqtDE7aKA2hbKXG5yu5DN8Tg==", + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.30.0.tgz", + "integrity": "sha512-Z4F3LjCgfjZz8BMYalWdMgAQUnEtKDmpwNHjh/C8pQZWde32TF64cqnSeyL3xD/aTIASRU30RHTNzRiV/NpGMg==", "license": "MIT", "dependencies": { "follow-redirects": "^1.15.4", @@ -8073,9 +8073,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.135", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.135.tgz", - "integrity": "sha512-8gXUdEmvb+WCaYUhA0Svr08uSeRjM2w3x5uHOc1QbaEVzJXB8rgm5eptieXzyKoVEtinLvW6MtTcurA65PeS1Q==", + "version": "1.5.136", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.136.tgz", + "integrity": "sha512-kL4+wUTD7RSA5FHx5YwWtjDnEEkIIikFgWHR4P6fqjw1PPLlqYkxeOb++wAauAssat0YClCy8Y3C5SxgSkjibQ==", "dev": true, "license": "ISC" }, @@ -16456,9 +16456,9 @@ } }, "node_modules/testcontainers": { - "version": "10.24.1", - "resolved": "https://registry.npmjs.org/testcontainers/-/testcontainers-10.24.1.tgz", - "integrity": "sha512-72eJwXrGNg2fyN8LfGrniOI5hpkur7t74w8MEZPrpUZ/YojfBQY8z6ZU/P586TzfJTWEakAH49DO6f8niHsrBQ==", + "version": "10.24.2", + "resolved": "https://registry.npmjs.org/testcontainers/-/testcontainers-10.24.2.tgz", + "integrity": "sha512-Don3EXEQuSw14+nFG9pj48fL9ck/jXDfR9Rb0K3acOyn/gg97+gsnfZaLzpdejl9GcPJVKxACNRe3SYVC2uWqg==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index ce6710163..4284d5b5e 100644 --- a/package.json +++ b/package.json @@ -72,7 +72,7 @@ "@louislam/sqlite3": "15.1.6", "@vvo/tzdb": "^6.125.0", "args-parser": "~1.3.0", - "axios": "~0.29.0", + "axios": "~0.30.0", "badge-maker": "~3.3.1", "bcryptjs": "~2.4.3", "chardet": "~1.4.0", From cfb53c4a3f41f30ebcf53db4390df86847b9af55 Mon Sep 17 00:00:00 2001 From: Marcel Date: Fri, 11 Apr 2025 13:28:55 +0200 Subject: [PATCH 219/226] Update url for Matrix Login to match Matrix Spec v1.13 (#5729) Co-authored-by: Frank Elsinga --- src/components/notifications/Matrix.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/notifications/Matrix.vue b/src/components/notifications/Matrix.vue index a9fd63403..60d43cf17 100644 --- a/src/components/notifications/Matrix.vue +++ b/src/components/notifications/Matrix.vue @@ -18,7 +18,7 @@ {{ $t("matrixDesc1") }}

- curl -XPOST -d '{"type": "m.login.password", "identifier": {"user": "botusername", "type": "m.id.user"}, "password": "passwordforuser"}' "https://home.server/_matrix/client/r0/login". + curl -XPOST -d '{"type": "m.login.password", "identifier": {"user": "botusername", "type": "m.id.user"}, "password": "passwordforuser"}' "https://home.server/_matrix/client/v3/login".

From bdf37c5a482b9fad1ef97589dd3d30a38fa6c965 Mon Sep 17 00:00:00 2001 From: lbriceno-tz <141683647+lbriceno-tz@users.noreply.github.com> Date: Sat, 12 Apr 2025 05:15:28 -0500 Subject: [PATCH 220/226] fix: flat txt records before conditions check (#5768) --- server/monitor-types/dns.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/server/monitor-types/dns.js b/server/monitor-types/dns.js index 8b87932fe..5a47e4591 100644 --- a/server/monitor-types/dns.js +++ b/server/monitor-types/dns.js @@ -34,12 +34,16 @@ class DnsMonitorType extends MonitorType { switch (monitor.dns_resolve_type) { case "A": case "AAAA": - case "TXT": case "PTR": dnsMessage = `Records: ${dnsRes.join(" | ")}`; conditionsResult = dnsRes.some(record => handleConditions({ record })); break; + case "TXT": + dnsMessage = `Records: ${dnsRes.join(" | ")}`; + conditionsResult = dnsRes.flat().some(record => handleConditions({ record })); + break; + case "CNAME": dnsMessage = dnsRes[0]; conditionsResult = handleConditions({ record: dnsRes[0] }); From f1baa02d7a339ca33c05e1ec4a44d766a69298be Mon Sep 17 00:00:00 2001 From: Mohit Nagaraj Date: Sat, 12 Apr 2025 15:56:17 +0530 Subject: [PATCH 221/226] fix: remove modal when navigating back (#5165) Co-authored-by: deepsource-io[bot] <42547082+deepsource-io[bot]@users.noreply.github.com> Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com> Co-authored-by: Frank Elsinga --- src/components/CreateGroupDialog.vue | 16 ++++++++++++++++ src/components/NotificationDialog.vue | 17 +++++++++++++++++ src/components/ProxyDialog.vue | 19 +++++++++++++++++-- src/components/TagsManager.vue | 16 ++++++++++++++++ 4 files changed, 66 insertions(+), 2 deletions(-) diff --git a/src/components/CreateGroupDialog.vue b/src/components/CreateGroupDialog.vue index ba7fe6eb7..8bac1ccd0 100644 --- a/src/components/CreateGroupDialog.vue +++ b/src/components/CreateGroupDialog.vue @@ -42,6 +42,9 @@ export default { mounted() { this.modal = new Modal(this.$refs.modal); }, + beforeUnmount() { + this.cleanupModal(); + }, methods: { /** * Show the confirm dialog @@ -58,6 +61,19 @@ export default { this.$emit("added", this.groupName); this.modal.hide(); }, + /** + * Clean up modal and restore scroll behavior + * @returns {void} + */ + cleanupModal() { + if (this.modal) { + try { + this.modal.hide(); + } catch (e) { + console.warn("Modal hide failed:", e); + } + } + } }, }; diff --git a/src/components/NotificationDialog.vue b/src/components/NotificationDialog.vue index bed841fa5..56cae66c8 100644 --- a/src/components/NotificationDialog.vue +++ b/src/components/NotificationDialog.vue @@ -235,6 +235,9 @@ export default { mounted() { this.modal = new Modal(this.$refs.modal); }, + beforeUnmount() { + this.cleanupModal(); + }, methods: { /** @@ -339,6 +342,20 @@ export default { }); } while (this.$root.notificationList.find(it => it.name === name)); return name; + }, + + /** + * Clean up modal and restore scroll behavior + * @returns {void} + */ + cleanupModal() { + if (this.modal) { + try { + this.modal.hide(); + } catch (e) { + console.warn("Modal hide failed:", e); + } + } } }, }; diff --git a/src/components/ProxyDialog.vue b/src/components/ProxyDialog.vue index fc92359b9..2f7ed7b61 100644 --- a/src/components/ProxyDialog.vue +++ b/src/components/ProxyDialog.vue @@ -125,11 +125,12 @@ export default { } }; }, - mounted() { this.modal = new Modal(this.$refs.modal); }, - + beforeUnmount() { + this.cleanupModal(); + }, methods: { /** * Show dialog to confirm deletion @@ -209,6 +210,20 @@ export default { } }); }, + + /** + * Clean up modal and restore scroll behavior + * @returns {void} + */ + cleanupModal() { + if (this.modal) { + try { + this.modal.hide(); + } catch (e) { + console.warn("Modal hide failed:", e); + } + } + } }, }; diff --git a/src/components/TagsManager.vue b/src/components/TagsManager.vue index a8a96ccbb..aa8f93a83 100644 --- a/src/components/TagsManager.vue +++ b/src/components/TagsManager.vue @@ -248,6 +248,9 @@ export default { this.modal = new Modal(this.$refs.modal); this.getExistingTags(); }, + beforeUnmount() { + this.cleanupModal(); + }, methods: { /** * Show the add tag dialog @@ -459,6 +462,19 @@ export default { this.newTags = []; this.deleteTags = []; this.processing = false; + }, + /** + * Clean up modal and restore scroll behavior + * @returns {void} + */ + cleanupModal() { + if (this.modal) { + try { + this.modal.hide(); + } catch (e) { + console.warn("Modal hide failed:", e); + } + } } }, }; From 13a85b82005da06c82720d3b7459c3bb1bfe7bd4 Mon Sep 17 00:00:00 2001 From: II-EMC <61621465+II-EMC@users.noreply.github.com> Date: Sat, 12 Apr 2025 12:53:36 +0200 Subject: [PATCH 222/226] fix: Mattermost notification provider not sending service name (#5760) Co-authored-by: Frank Elsinga --- server/notification-providers/mattermost.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/server/notification-providers/mattermost.js b/server/notification-providers/mattermost.js index 9946d02b2..32d890981 100644 --- a/server/notification-providers/mattermost.js +++ b/server/notification-providers/mattermost.js @@ -79,11 +79,13 @@ class Mattermost extends NotificationProvider { fallback: "Your " + monitorJSON.pathName + + monitorJSON.name + " service went " + statusText, color: color, title: monitorJSON.pathName + + monitorJSON.name + " service went " + statusText, title_link: monitorJSON.url, From 510056fbbcfd5fea271dd412e139520b4c62ec3b Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Fri, 18 Apr 2025 07:35:09 +0800 Subject: [PATCH 223/226] Fix #5745: Some labels without value still show a 'null' value (#5771) --- src/components/Tag.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Tag.vue b/src/components/Tag.vue index 6c2ff8c9b..5b8b96fc2 100644 --- a/src/components/Tag.vue +++ b/src/components/Tag.vue @@ -48,7 +48,7 @@ export default { }, computed: { displayText() { - if (this.item.value === "" || this.item.value === undefined) { + if (this.item.value === "" || this.item.value === undefined || this.item.value === null) { return this.item.name; } else { return `${this.item.name}: ${this.item.value}`; From ceb9c7e742bd3fc2c8ba5114a71cac88762851b5 Mon Sep 17 00:00:00 2001 From: Alan Escarcha Date: Fri, 18 Apr 2025 20:09:10 -0300 Subject: [PATCH 224/226] feat: Support for country flags emojis (#5782) Co-authored-by: Frank Elsinga --- package-lock.json | 7 +++++++ package.json | 1 + src/App.vue | 2 ++ src/assets/app.scss | 2 +- src/components/settings/About.vue | 3 +++ src/lang/en.json | 3 ++- 6 files changed, 16 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7ab51157b..c5269c088 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,6 +24,7 @@ "command-exists": "~1.2.9", "compare-versions": "~3.6.0", "compression": "~1.7.4", + "country-flag-emoji-polyfill": "^0.1.8", "croner": "~8.1.0", "dayjs": "~1.11.5", "dev-null": "^0.1.1", @@ -7204,6 +7205,12 @@ } } }, + "node_modules/country-flag-emoji-polyfill": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/country-flag-emoji-polyfill/-/country-flag-emoji-polyfill-0.1.8.tgz", + "integrity": "sha512-Mbah52sADS3gshUYhK5142gtUuJpHYOXlXtLFI3Ly4RqgkmPMvhX9kMZSTqDM8P7UqtSW99eHKFphhQSGXA3Cg==", + "license": "MIT" + }, "node_modules/cpu-features": { "version": "0.0.10", "resolved": "https://registry.npmjs.org/cpu-features/-/cpu-features-0.0.10.tgz", diff --git a/package.json b/package.json index 4284d5b5e..4a5aefd0d 100644 --- a/package.json +++ b/package.json @@ -82,6 +82,7 @@ "command-exists": "~1.2.9", "compare-versions": "~3.6.0", "compression": "~1.7.4", + "country-flag-emoji-polyfill": "^0.1.8", "croner": "~8.1.0", "dayjs": "~1.11.5", "dev-null": "^0.1.1", diff --git a/src/App.vue b/src/App.vue index f102360c1..a7bb69b42 100644 --- a/src/App.vue +++ b/src/App.vue @@ -4,9 +4,11 @@ diff --git a/src/assets/app.scss b/src/assets/app.scss index 6ddc99dec..fd43a7bee 100644 --- a/src/assets/app.scss +++ b/src/assets/app.scss @@ -3,7 +3,7 @@ @import "node_modules/bootstrap/scss/bootstrap"; #app { - font-family: BlinkMacSystemFont, segoe ui, Roboto, helvetica neue, Arial, noto sans, sans-serif, apple color emoji, segoe ui emoji, segoe ui symbol, noto color emoji; + font-family: "Twemoji Country Flags", BlinkMacSystemFont, segoe ui, Roboto, helvetica neue, Arial, noto sans, sans-serif, apple color emoji, segoe ui emoji, segoe ui symbol, noto color emoji; } h1 { diff --git a/src/components/settings/About.vue b/src/components/settings/About.vue index 3ef9e6d78..b8049d8bd 100644 --- a/src/components/settings/About.vue +++ b/src/components/settings/About.vue @@ -21,6 +21,9 @@ +
+

{{ $t("Font Twemoji by Twitter licensed under") }} CC-BY 4.0

+
diff --git a/src/lang/en.json b/src/lang/en.json index cb704b0fe..c32bebaae 100644 --- a/src/lang/en.json +++ b/src/lang/en.json @@ -1067,5 +1067,6 @@ "YZJ Robot Token": "YZJ Robot token", "Plain Text": "Plain Text", "Message Template": "Message Template", - "Template Format": "Template Format" + "Template Format": "Template Format", + "Font Twemoji by Twitter licensed under": "Font Twemoji by Twitter licensed under" } From 8d8e3e5a8e78030b8ffbe258dc872b8bea234390 Mon Sep 17 00:00:00 2001 From: Jonathan Starck <29304143+Psycho0verload@users.noreply.github.com> Date: Sat, 19 Apr 2025 01:34:16 +0200 Subject: [PATCH 225/226] fix(dashboard): prevent y-overlapping of tags by adding a gap #5773 (#5774) Co-authored-by: Frank Elsinga --- src/components/MonitorListItem.vue | 2 +- src/components/Tag.vue | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/components/MonitorListItem.vue b/src/components/MonitorListItem.vue index 74ba4835c..93c1deab4 100644 --- a/src/components/MonitorListItem.vue +++ b/src/components/MonitorListItem.vue @@ -22,7 +22,7 @@ {{ monitor.name }} -
+
diff --git a/src/components/Tag.vue b/src/components/Tag.vue index 5b8b96fc2..ceccce8a6 100644 --- a/src/components/Tag.vue +++ b/src/components/Tag.vue @@ -6,7 +6,6 @@ 'm-2': size == 'normal', 'px-2': size == 'sm', 'py-0': size == 'sm', - 'mx-1': size == 'sm', }" :style="{ backgroundColor: item.color, fontSize: size == 'sm' ? '0.7em' : '1em' }" > From 999132aca883d7f720a14b37ae61eac7a3999d53 Mon Sep 17 00:00:00 2001 From: happy-game Date: Tue, 22 Apr 2025 01:57:28 +0800 Subject: [PATCH 226/226] fix: Check password strength when resetting the password in CLI (#5788) --- extra/reset-password.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/extra/reset-password.js b/extra/reset-password.js index b87d90f16..e66173af1 100644 --- a/extra/reset-password.js +++ b/extra/reset-password.js @@ -3,6 +3,7 @@ console.log("== Uptime Kuma Reset Password Tool =="); const Database = require("../server/database"); const { R } = require("redbean-node"); const readline = require("readline"); +const { passwordStrength } = require("check-password-strength"); const { initJWTSecret } = require("../server/util-server"); const User = require("../server/model/user"); const { io } = require("socket.io-client"); @@ -42,8 +43,15 @@ const main = async () => { console.log("Using password from argument"); console.warn("\x1b[31m%s\x1b[0m", "Warning: the password might be stored, in plain text, in your shell's history"); password = confirmPassword = args["new-password"] + ""; + if (passwordStrength(password).value === "Too weak") { + throw new Error("Password is too weak, please use a stronger password."); + } } else { password = await question("New Password: "); + if (passwordStrength(password).value === "Too weak") { + console.log("Password is too weak, please try again."); + continue; + } confirmPassword = await question("Confirm New Password: "); }