From 3624dd5c3c79bdefd74352258b42079991b1351b Mon Sep 17 00:00:00 2001 From: John Livingston Date: Thu, 19 Jun 2025 12:07:39 +0200 Subject: [PATCH] Reverting usage of RE2 (WIP): **Breaking changes** The livechat v13 introduced a new library to handle regular expressions in forbidden words, to avoid [ReDOS](https://en.wikipedia.org/wiki/ReDoS) attacks. Unfortunately, this library was not able to install itself properly on some systems, and some admins were not able to install the livechat plugin. That's why we have disabled this library in v14, and introduce a new settings to enable regexp in forbidden words. By default this settings is disabled, and your users won't be able to use regexp in their forbidden words. The risk by enabling this feature is that a malicious user could cause a denial of service for the chat bot, by using a special crafted regular expression in their channel options, and sending a special crafter message in one of their rooms. If you trust your users (those who have rights to livestream), you can enable the settings. Otherwise it is not recommanded. See the documentation for more informations. **Minor changes and fixes** * Channel's forbidden words: new "enable" column. * New settings to enable regular expressions for channel forbidden words. * "Channel advanced configuration" settings: removing the "experimental feature" label. --- CHANGELOG.md | 29 + client/@types/global.d.ts | 2 +- .../firewall/templates/admin-firewall.ts | 2 +- .../elements/channel-configuration.ts | 10 +- .../templates/channel-configuration.ts | 35 +- .../configuration/services/channel-details.ts | 18 +- languages/ar.yml | 2 +- languages/ca.yml | 2 +- languages/cs.yml | 2 +- languages/de.yml | 2 +- languages/en.yml | 7 +- languages/fr.yml | 2 +- languages/hr.yml | 2 +- languages/ja.yml | 2 +- languages/pt-BR.yml | 2 +- languages/zh-Hant.yml | 2 +- package-lock.json | 1865 +---------------- package.json | 4 +- server/lib/configuration/channel/sanitize.ts | 50 +- server/lib/configuration/channel/storage.ts | 5 +- server/lib/prosody/migration/migrateV13.ts | 95 +- server/lib/prosody/migration/migratev14.ts | 24 + server/lib/routers/api/configuration.ts | 2 +- server/lib/settings.ts | 31 +- server/main.ts | 11 +- shared/lib/types.ts | 1 + .../en/documentation/admin/settings.md | 4 + .../user/streamers/bot/forbidden_words.md | 4 +- support/documentation/po/livechat.ar.po | 4 +- support/documentation/po/livechat.ca.po | 33 +- support/documentation/po/livechat.cs.po | 48 +- support/documentation/po/livechat.de.po | 38 +- support/documentation/po/livechat.el.po | 4 +- support/documentation/po/livechat.en.pot | 4 +- support/documentation/po/livechat.eo.po | 4 +- support/documentation/po/livechat.es.po | 4 +- support/documentation/po/livechat.eu.po | 4 +- support/documentation/po/livechat.fa.po | 4 +- support/documentation/po/livechat.fi.po | 4 +- support/documentation/po/livechat.fr.po | 18 +- support/documentation/po/livechat.gd.po | 4 +- support/documentation/po/livechat.gl.po | 4 +- support/documentation/po/livechat.hr.po | 4 +- support/documentation/po/livechat.hu.po | 4 +- support/documentation/po/livechat.is.po | 4 +- support/documentation/po/livechat.it.po | 4 +- support/documentation/po/livechat.ja.po | 4 +- support/documentation/po/livechat.kab.po | 4 +- support/documentation/po/livechat.nb.po | 4 +- support/documentation/po/livechat.nl.po | 4 +- support/documentation/po/livechat.nn.po | 4 +- support/documentation/po/livechat.oc.po | 4 +- support/documentation/po/livechat.pl.po | 4 +- support/documentation/po/livechat.pt-BR.po | 8 +- support/documentation/po/livechat.pt-PT.po | 4 +- support/documentation/po/livechat.ru.po | 4 +- support/documentation/po/livechat.sq.po | 4 +- support/documentation/po/livechat.sv.po | 4 +- support/documentation/po/livechat.th.po | 4 +- support/documentation/po/livechat.tok.po | 4 +- support/documentation/po/livechat.tr.po | 2 +- support/documentation/po/livechat.uk.po | 4 +- support/documentation/po/livechat.vi.po | 4 +- support/documentation/po/livechat.zh-Hans.po | 4 +- support/documentation/po/livechat.zh-Hant.po | 4 +- 65 files changed, 343 insertions(+), 2145 deletions(-) create mode 100644 server/lib/prosody/migration/migratev14.ts diff --git a/CHANGELOG.md b/CHANGELOG.md index 7744cf9e..d9b13497 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,34 @@ # Changelog +## 14.0.0 (Not Released Yet) + +**Important note**: if you got an error on updating the plugin, please try to restart Peertube and install it again. + +### Breaking changes + +The livechat v13 introduced a new library to handle regular expressions in forbidden words, to avoid +[ReDOS](https://en.wikipedia.org/wiki/ReDoS) attacks. +Unfortunately, this library was not able to install itself properly on some systems, and some admins were not able +to install the livechat plugin. + +That's why we have disabled this library in v14, and introduce a new settings to enable regexp in forbidden words. +By default this settings is disabled, and your users won't be able to use regexp in their forbidden words. + +The risk by enabling this feature is that a malicious user could cause a denial of service for the chat bot, by using a +special crafted regular expression in their channel options, and sending a special crafter message in one of their +rooms. If you trust your users (those who have rights to livestream), you can enable the settings. Otherwise it is not +recommanded. See the documentation for more informations. + +If you had users using regular expressions, those "forbidden words" list are disabled when updating the livechat plugin. +To restore them, you must first enable the "Enable regular expressions for channel's forbidden words" settings, then +your users have to go to their channel's chatroom options and enable them again. + +### Minor changes and fixes + +* Channel's forbidden words: new "enable" column. +* New settings to enable regular expressions for channel forbidden words. +* "Channel advanced configuration" settings: removing the "experimental feature" label. + ## 13.0.0 **Important note**: if you got an error on updating the plugin, please try to restart Peertube and install it again. diff --git a/client/@types/global.d.ts b/client/@types/global.d.ts index 2e93d9c7..57eec3c0 100644 --- a/client/@types/global.d.ts +++ b/client/@types/global.d.ts @@ -139,7 +139,7 @@ declare const LOC_LIVECHAT_CONFIGURATION_CHANNEL_ANONYMIZE_MODERATION_DESC: stri declare const LOC_PROSODY_FIREWALL_CONFIGURATION: string declare const LOC_PROSODY_FIREWALL_CONFIGURATION_HELP: string declare const LOC_PROSODY_FIREWALL_DISABLED_WARNING: string -declare const LOC_PROSODY_FIREWALL_FILE_ENABLED: string +declare const LOC_ENABLED: string declare const LOC_PROSODY_FIREWALL_NAME: string declare const LOC_PROSODY_FIREWALL_NAME_DESC: string declare const LOC_PROSODY_FIREWALL_CONTENT: string diff --git a/client/common/admin/firewall/templates/admin-firewall.ts b/client/common/admin/firewall/templates/admin-firewall.ts index 548777c8..e561e38f 100644 --- a/client/common/admin/firewall/templates/admin-firewall.ts +++ b/client/common/admin/firewall/templates/admin-firewall.ts @@ -15,7 +15,7 @@ import { html } from 'lit' export function tplAdminFirewall (el: AdminFirewallElement): TemplateResult { const tableHeaderList: DynamicFormHeader = { enabled: { - colName: ptTr(LOC_PROSODY_FIREWALL_FILE_ENABLED) + colName: ptTr(LOC_ENABLED) }, name: { colName: ptTr(LOC_PROSODY_FIREWALL_NAME), diff --git a/client/common/configuration/elements/channel-configuration.ts b/client/common/configuration/elements/channel-configuration.ts index 1a428445..4c5ed5ea 100644 --- a/client/common/configuration/elements/channel-configuration.ts +++ b/client/common/configuration/elements/channel-configuration.ts @@ -25,6 +25,9 @@ export class ChannelConfigurationElement extends LivechatElement { @state() public channelConfiguration?: ChannelConfiguration + @property({ attribute: false }) + public enableUsersRegexp?: boolean + @provide({ context: channelDetailsServiceContext }) private _channelDetailsService?: ChannelDetailsService @@ -46,6 +49,7 @@ export class ChannelConfigurationElement extends LivechatElement { task: async () => { this._channelDetailsService = new ChannelDetailsService(this.ptOptions) this.channelConfiguration = await this._channelDetailsService.fetchConfiguration(this.channelId ?? 0) + this.enableUsersRegexp = !!(await this.ptOptions.peertubeHelpers.getSettings())['enable-users-regexp'] this.actionDisabled = false // in case of reset }, args: () => [] @@ -85,8 +89,10 @@ export class ChannelConfigurationElement extends LivechatElement { event?.preventDefault() if (this._channelDetailsService && this.channelConfiguration) { this.actionDisabled = true - this._channelDetailsService.saveOptions(this.channelConfiguration.channel.id, - this.channelConfiguration.configuration) + this._channelDetailsService.saveOptions( + this.channelConfiguration.channel.id, + this.channelConfiguration.configuration, + this.enableUsersRegexp ?? false) .then(() => { this.validationError = undefined this.ptTranslate(LOC_SUCCESSFULLY_SAVED).then((msg) => { diff --git a/client/common/configuration/elements/templates/channel-configuration.ts b/client/common/configuration/elements/templates/channel-configuration.ts index 2b3e206b..4e2ef94c 100644 --- a/client/common/configuration/elements/templates/channel-configuration.ts +++ b/client/common/configuration/elements/templates/channel-configuration.ts @@ -15,13 +15,22 @@ import { noDuplicateMaxDelay, forbidSpecialCharsMaxTolerance } from 'shared/lib/ export function tplChannelConfiguration (el: ChannelConfigurationElement): TemplateResult { const tableHeaderList: Record = { forbiddenWords: { + enabled: { + colName: ptTr(LOC_ENABLED) + }, entries: { colName: ptTr(LOC_LIVECHAT_CONFIGURATION_CHANNEL_FORBIDDEN_WORDS_LABEL) }, - regexp: { - colName: ptTr(LOC_LIVECHAT_CONFIGURATION_CHANNEL_FORBIDDEN_WORDS_REGEXP_LABEL), - description: ptTr(LOC_LIVECHAT_CONFIGURATION_CHANNEL_FORBIDDEN_WORDS_REGEXP_DESC) - }, + ...( + el.enableUsersRegexp + ? { + regexp: { + colName: ptTr(LOC_LIVECHAT_CONFIGURATION_CHANNEL_FORBIDDEN_WORDS_REGEXP_LABEL), + description: ptTr(LOC_LIVECHAT_CONFIGURATION_CHANNEL_FORBIDDEN_WORDS_REGEXP_DESC) + } + } + : {} + ), applyToModerators: { colName: ptTr(LOC_LIVECHAT_CONFIGURATION_APPLYTOMODERATORS_LABEL), description: ptTr(LOC_LIVECHAT_CONFIGURATION_APPLYTOMODERATORS_DESC) @@ -62,15 +71,25 @@ export function tplChannelConfiguration (el: ChannelConfigurationElement): Templ } const tableSchema: Record = { forbiddenWords: { + enabled: { + inputType: 'checkbox', + default: true + }, entries: { inputType: 'tags', default: [], separator: '\n' }, - regexp: { - inputType: 'checkbox', - default: false - }, + ...( + el.enableUsersRegexp + ? { + regexp: { + inputType: 'checkbox', + default: false + } + } + : {} + ), applyToModerators: { inputType: 'checkbox', default: false diff --git a/client/common/configuration/services/channel-details.ts b/client/common/configuration/services/channel-details.ts index f19c791f..9a64bcfd 100644 --- a/client/common/configuration/services/channel-details.ts +++ b/client/common/configuration/services/channel-details.ts @@ -151,9 +151,18 @@ export class ChannelDetailsService { return true } - frontToBack = (channelConfigurationOptions: ChannelConfigurationOptions): ChannelConfigurationOptions => { - // // This is a dirty hack, because backend wants seconds for botConf.quotes.delay, and front wants minutes. + frontToBack = ( + channelConfigurationOptions: ChannelConfigurationOptions, + enableUsersRegexp: boolean + ): ChannelConfigurationOptions => { const c = JSON.parse(JSON.stringify(channelConfigurationOptions)) as ChannelConfigurationOptions // clone + + if (!enableUsersRegexp) { + c.bot?.forbiddenWords.forEach(fw => { + fw.regexp = false // force to false + }) + } + // This is a dirty hack, because backend wants seconds for botConf.quotes.delay, and front wants minutes. c.bot?.quotes.forEach(q => { if (typeof q.delay === 'number') { q.delay = Math.round(q.delay * 60) @@ -175,7 +184,8 @@ export class ChannelDetailsService { } saveOptions = async (channelId: number, - channelConfigurationOptions: ChannelConfigurationOptions): Promise => { + channelConfigurationOptions: ChannelConfigurationOptions, + enableUsersRegexp: boolean): Promise => { if (!await this.validateOptions(channelConfigurationOptions)) { throw new Error('Invalid form data') } @@ -186,7 +196,7 @@ export class ChannelDetailsService { method: 'POST', headers: this._headers, body: JSON.stringify( - this.frontToBack(channelConfigurationOptions) + this.frontToBack(channelConfigurationOptions, enableUsersRegexp) ) } ) diff --git a/languages/ar.yml b/languages/ar.yml index 8fa6d2e5..fe9f21f9 100644 --- a/languages/ar.yml +++ b/languages/ar.yml @@ -77,7 +77,7 @@ action_import: استيراد action_export: تصدير token_date: التاريخ poll_question: سؤال -prosody_firewall_file_enabled: مفعّل +enabled: مفعّل prosody_firewall_name: الاسم invalid_value: القيمة غير صالحة. task_delete: حذف المهمة diff --git a/languages/ca.yml b/languages/ca.yml index ef17ec7b..edbc2399 100644 --- a/languages/ca.yml +++ b/languages/ca.yml @@ -565,7 +565,7 @@ poll_vote_ok: S'ha tingut en compte el vostre vot, els comptadors s'actualitzara en breu. moderator_note_original_nick: Àlies de la participant en el moment de la creació de la nota -prosody_firewall_file_enabled: Activat +enabled: Activat prosody_firewall_name: Nom prosody_firewall_name_desc: "Només pot contenir caràcters alfanumèrics, guions baixos i guions.\nEls scripts es carregaran per ordre alfabètic.\n" diff --git a/languages/cs.yml b/languages/cs.yml index a5cbfc49..3c5f3935 100644 --- a/languages/cs.yml +++ b/languages/cs.yml @@ -488,7 +488,7 @@ prosody_firewall_configuration: Konfigurace mod_firewall Prosody prosody_firewall_disabled_warning: "Varování: mod_firewall je zakázán v nastavení pluginu, pokud chcete, aby byla tato konfigurace zohledněna, musíte ji povolit.\n" -prosody_firewall_file_enabled: Povoleno +enabled: Povoleno prosody_firewall_name: Název prosody_firewall_name_desc: "Může obsahovat pouze: alfanumerické znaky, podtržítka a pomlčky.\nSkripty se načítají v abecedním pořadí.\n" diff --git a/languages/de.yml b/languages/de.yml index 88cbab4c..80afc777 100644 --- a/languages/de.yml +++ b/languages/de.yml @@ -588,7 +588,7 @@ prosody_firewall_disabled_warning: "Warnung: mod_firewall ist in den livechat Plugin-Einstellungen deaktiviert, du musst es aktivieren, wenn du willst, dass diese Konfiguration beachtet wird.\n" -prosody_firewall_file_enabled: Aktiviert +enabled: Aktiviert prosody_firewall_name: Name prosody_firewall_name_desc: "Darf nur folgende Zeichen enthalten: alphanumerische Zeichen, Unterstriche und Bindestriche.\nDie Skripte werden in alphabetischer Reihenfolge diff --git a/languages/en.yml b/languages/en.yml index ee4461a3..901b8246 100644 --- a/languages/en.yml +++ b/languages/en.yml @@ -627,7 +627,7 @@ prosody_firewall_configuration_help: | Don't hesitate to share your configurations with the community (for example by adding some examples in the plugin documentation). prosody_firewall_disabled_warning: | Warning: mod_firewall is disabled in the livechat plugin settings, you have to enable it if you want this configuration to be taken into account. -prosody_firewall_file_enabled: Enabled +enabled: Enabled prosody_firewall_name: Name prosody_firewall_name_desc: | Can only contain: alphanumerical characters, underscores and hyphens. @@ -681,3 +681,8 @@ converse_theme_warning_description: | Otherwise some user may experience issues depending on the Peertube theme they use. back_to_last_msg: Go back to last message +enable_users_regexp: Enable regular expressions for channel's forbidden words +enable_users_regexp_description: | + When enabling this feature, streamers will be able to use Regular Expressions when configuring the chat bot. + You should not enable this feature if you don't trust your users (those who can create chat rooms, in other words: those who can create live streams). + A malicious user could create a specially crafted regular expression, and cause a bot denial of service. diff --git a/languages/fr.yml b/languages/fr.yml index dff63446..e718be2c 100644 --- a/languages/fr.yml +++ b/languages/fr.yml @@ -611,7 +611,7 @@ prosody_firewall_disabled_warning: "Attention : mod_firewall est désactivé d paramètres du plugin livechat , vous devez l'activer si vous voulez que cette configuration soit prise en compte.\n" -prosody_firewall_file_enabled: Activé +enabled: Activé prosody_firewall_name: Nom prosody_firewall_name_desc: "Ne peut contenir que des caractères alphanumériques, des traits de soulignement et des traits d'union.\nLes scripts seront chargés par diff --git a/languages/hr.yml b/languages/hr.yml index c5f35dc9..99cb9212 100644 --- a/languages/hr.yml +++ b/languages/hr.yml @@ -415,7 +415,7 @@ prosody_firewall_configuration_help: "Ovdje možeš konfigurirati modul Prosody U nastavku možeš stvoriti više konfiguracijskih datoteka i promijeniti njihov redoslijed.\n Nemoj se ustručavati dijeliti svoje konfiguracije sa zajednicom (na primjer dodavanjem nekih primjera u dokumentaciju dodatka).\n" -prosody_firewall_file_enabled: Aktivirano +enabled: Aktivirano prosody_firewall_name: Ime prosody_firewall_content: Sadržaj datoteke share_chat_dock: Dock diff --git a/languages/ja.yml b/languages/ja.yml index 979a2dfb..1689021c 100644 --- a/languages/ja.yml +++ b/languages/ja.yml @@ -328,7 +328,7 @@ message_search_original_nick: メッセージ送信時の参加者のニック prosody_firewall_label: Prosody mod_firewallを有効にする prosody_firewall_configure_button: "mod_firewallを設定\n" -prosody_firewall_file_enabled: 有効 +enabled: 有効 prosody_firewall_name: 名前 prosody_firewall_name_desc: "次の値のみ利用可能: 英数字、アンダーバー、ハイフン。\nスクリプトは、英字順で読み込まれます。\n" prosody_firewall_content: ファイルコンテンツ diff --git a/languages/pt-BR.yml b/languages/pt-BR.yml index c122a2be..e6728107 100644 --- a/languages/pt-BR.yml +++ b/languages/pt-BR.yml @@ -631,7 +631,7 @@ prosody_firewall_configuration_help: | Não hesite em compartilhar suas configurações com a comunidade (por exemplo, adicionando alguns exemplos na documentação do plugin). prosody_firewall_disabled_warning: | Aviso: o mod_firewall está desabilitado nas configurações do plugin <a href="/admin/plugins/show/peertube-plugin-livechat" target="_blank">do livechat</a>, você precisa habilitá-lo se quiser que essa configuração seja levada em consideração. -prosody_firewall_file_enabled: 'Habilitado' +enabled: 'Habilitado' prosody_firewall_name: 'Nome' prosody_firewall_name_desc: | Pode conter apenas: caracteres alfanuméricos, sublinhaso e hífens. diff --git a/languages/zh-Hant.yml b/languages/zh-Hant.yml index 04d9c9bd..287f5e3f 100644 --- a/languages/zh-Hant.yml +++ b/languages/zh-Hant.yml @@ -99,7 +99,7 @@ livechat_configuration_channel_slow_mode_label: 限速模式 livechat_configuration_channel_slow_mode_desc: "限速模式預設值:\n
    \n
  • 0:停用限速模式
  • \n
  • 任何正整數:使用者可以每 X 秒發送一條訊息(審核者不受限制)
  • \n
\n" prosody_firewall_name: 名字 -prosody_firewall_file_enabled: 啟用 +enabled: 啟用 livechat_configuration_channel_emojis_desc: "您可以為您的頻道組態自訂表情符號。\n這些表情符號將在表情符號選擇器中提供。\n\ 使用者也可以透過其短名稱來使用它們(例如透過編寫“:shortname:”)。\n" livechat_emojis_shortname: 簡稱 diff --git a/package-lock.json b/package-lock.json index 2957e776..b271111e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,10 +17,9 @@ "http-proxy": "^1.18.1", "log-rotate": "^0.2.8", "openid-client": "^5.7.1", - "re2": "^1.22.1", "short-uuid": "^5.2.0", "validate-color": "^2.2.4", - "xmppjs-chat-bot": "^0.6.0" + "xmppjs-chat-bot": "^0.7.0" }, "devDependencies": { "@eslint/js": "^9.28.0", @@ -38,7 +37,6 @@ "@types/got": "^9.6.12", "@types/http-proxy": "^1.17.16", "@types/node": "^16.18.126", - "@types/re2": "^1.10.0", "@types/winston": "^2.4.4", "@types/xmpp__jid": "^1.3.5", "@typescript-eslint/parser": "^8.4.0", @@ -2594,114 +2592,6 @@ "integrity": "sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==", "dev": true }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "license": "ISC", - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "license": "MIT" - }, - "node_modules/@isaacs/cliui/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/@isaacs/fs-minipass": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", - "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", - "license": "ISC", - "dependencies": { - "minipass": "^7.0.4" - }, - "engines": { - "node": ">=18.0.0" - } - }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", @@ -2942,52 +2832,6 @@ "node": ">= 8" } }, - "node_modules/@npmcli/agent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-3.0.0.tgz", - "integrity": "sha512-S79NdEgDQd/NGCay6TCoVzXSj74skRZIKJcpJjC5lOq34SZzyI6MqtiiWoiVWoVrTcGjNeC4ipbh1VIHlpfF5Q==", - "license": "ISC", - "dependencies": { - "agent-base": "^7.1.0", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.1", - "lru-cache": "^10.0.1", - "socks-proxy-agent": "^8.0.3" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@npmcli/agent/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "license": "ISC" - }, - "node_modules/@npmcli/fs": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-4.0.0.tgz", - "integrity": "sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q==", - "license": "ISC", - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@npmcli/fs/node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@opentelemetry/api": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.4.1.tgz", @@ -3442,16 +3286,6 @@ "node": ">=8" } }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=14" - } - }, "node_modules/@rtsao/scc": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", @@ -4506,13 +4340,6 @@ "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", "dev": true }, - "node_modules/@types/re2": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@types/re2/-/re2-1.10.0.tgz", - "integrity": "sha512-JEmh/bosGCEQiZNUn5soUiFTaCC/z4WeYgDIWN6gv9bMXEJlo7nl26cQ6QmrNb45KdOnvY+QUgNHSP/lE1je6w==", - "dev": true, - "license": "MIT" - }, "node_modules/@types/responselike": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", @@ -5341,15 +5168,6 @@ "node": ">= 12.4.0" } }, - "node_modules/abbrev": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-3.0.1.tgz", - "integrity": "sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==", - "license": "ISC", - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, "node_modules/accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", @@ -5384,15 +5202,6 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/agent-base": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", - "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", - "license": "MIT", - "engines": { - "node": ">= 14" - } - }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -5413,6 +5222,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, "engines": { "node": ">=8" } @@ -5984,79 +5794,6 @@ "node": ">= 0.8" } }, - "node_modules/cacache": { - "version": "19.0.1", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-19.0.1.tgz", - "integrity": "sha512-hdsUxulXCi5STId78vRVYEtDAjq99ICAUktLTeTYsLoTE6Z8dS0c8pWNCxwdrk9YfJeobDZc2Y186hD/5ZQgFQ==", - "license": "ISC", - "dependencies": { - "@npmcli/fs": "^4.0.0", - "fs-minipass": "^3.0.0", - "glob": "^10.2.2", - "lru-cache": "^10.0.1", - "minipass": "^7.0.3", - "minipass-collect": "^2.0.1", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "p-map": "^7.0.2", - "ssri": "^12.0.0", - "tar": "^7.4.3", - "unique-filename": "^4.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/cacache/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==", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/cacache/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "license": "ISC", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/cacache/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "license": "ISC" - }, - "node_modules/cacache/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", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/cacheable": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/cacheable/-/cacheable-1.9.0.tgz", @@ -6218,15 +5955,6 @@ "fsevents": "~2.3.2" } }, - "node_modules/chownr": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", - "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=18" - } - }, "node_modules/cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", @@ -6963,12 +6691,6 @@ "integrity": "sha512-iGCHkfUc5kFekGiqhe8B/mdaurD+lakO9txNnTvKtA6PISrw86LgqHvRzWYPyoE2Ph5aMIrCw9/uko6XHTKCwA==", "dev": true }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "license": "MIT" - }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -6983,7 +6705,8 @@ "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, "node_modules/enabled": { "version": "2.0.0", @@ -7006,6 +6729,7 @@ "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", "license": "MIT", "optional": true, + "peer": true, "dependencies": { "iconv-lite": "^0.6.2" } @@ -7016,6 +6740,7 @@ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "license": "MIT", "optional": true, + "peer": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -7122,16 +6847,11 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, "engines": { "node": ">=6" } }, - "node_modules/err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "license": "MIT" - }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -8216,12 +7936,6 @@ "node": ">= 8" } }, - "node_modules/exponential-backoff": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.2.tgz", - "integrity": "sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==", - "license": "Apache-2.0" - }, "node_modules/express": { "version": "4.21.2", "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", @@ -8565,93 +8279,6 @@ "is-callable": "^1.1.3" } }, - "node_modules/foreground-child": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", - "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", - "license": "ISC", - "dependencies": { - "cross-spawn": "^7.0.6", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/foreground-child/node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/foreground-child/node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/foreground-child/node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/foreground-child/node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/foreground-child/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==", - "license": "ISC", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/foreground-child/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/form-data": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", @@ -8698,18 +8325,6 @@ "node": ">=14.14" } }, - "node_modules/fs-minipass": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", - "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", - "license": "ISC", - "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/fs-readdir-recursive": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", @@ -9001,7 +8616,8 @@ "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true }, "node_modules/graphemer": { "version": "1.4.0", @@ -9208,42 +8824,6 @@ "node": ">=8.0.0" } }, - "node_modules/http-proxy-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", - "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", - "license": "MIT", - "dependencies": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/http-proxy-agent/node_modules/debug": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/http-proxy-agent/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, "node_modules/http2-wrapper": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", @@ -9256,42 +8836,6 @@ "node": ">=10.19.0" } }, - "node_modules/https-proxy-agent": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", - "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", - "license": "MIT", - "dependencies": { - "agent-base": "^7.1.2", - "debug": "4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/https-proxy-agent/node_modules/debug": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/https-proxy-agent/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, "node_modules/human-signals": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", @@ -9369,6 +8913,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true, "engines": { "node": ">=0.8.19" } @@ -9402,16 +8947,6 @@ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true }, - "node_modules/install-artifact-from-github": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/install-artifact-from-github/-/install-artifact-from-github-1.4.0.tgz", - "integrity": "sha512-+y6WywKZREw5rq7U2jvr2nmZpT7cbWbQQ0N/qfcseYnzHFz2cZz1Et52oY+XttYuYeTkI8Y+R2JNWj68MpQFSg==", - "license": "BSD-3-Clause", - "bin": { - "install-from-cache": "bin/install-from-cache.js", - "save-to-github-cache": "bin/save-to-github-cache.js" - } - }, "node_modules/internal-slot": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", @@ -9472,19 +9007,6 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "node_modules/ip-address": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", - "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", - "license": "MIT", - "dependencies": { - "jsbn": "1.1.0", - "sprintf-js": "^1.1.3" - }, - "engines": { - "node": ">= 12" - } - }, "node_modules/ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", @@ -9617,6 +9139,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, "engines": { "node": ">=8" } @@ -9802,7 +9325,8 @@ "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true }, "node_modules/isobject": { "version": "3.0.1", @@ -9812,21 +9336,6 @@ "node": ">=0.10.0" } }, - "node_modules/jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, "node_modules/jose": { "version": "4.15.9", "resolved": "https://registry.npmjs.org/jose/-/jose-4.15.9.tgz", @@ -9853,12 +9362,6 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/jsbn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", - "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", - "license": "MIT" - }, "node_modules/jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", @@ -10201,37 +9704,6 @@ "node": ">=6" } }, - "node_modules/make-fetch-happen": { - "version": "14.0.3", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-14.0.3.tgz", - "integrity": "sha512-QMjGbFTP0blj97EeidG5hk/QhKQ3T4ICckQGLgz38QF7Vgbk6e6FTARN8KhKxyBbWn8R0HU+bnw8aSoFPD4qtQ==", - "license": "ISC", - "dependencies": { - "@npmcli/agent": "^3.0.0", - "cacache": "^19.0.1", - "http-cache-semantics": "^4.1.1", - "minipass": "^7.0.2", - "minipass-fetch": "^4.0.0", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^1.0.0", - "proc-log": "^5.0.0", - "promise-retry": "^2.0.1", - "ssri": "^12.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/make-fetch-happen/node_modules/negotiator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", - "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/mathml-tag-names": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", @@ -10417,128 +9889,6 @@ "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", "dev": true }, - "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "license": "ISC", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/minipass-collect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", - "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", - "license": "ISC", - "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/minipass-fetch": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-4.0.1.tgz", - "integrity": "sha512-j7U11C5HXigVuutxebFadoYBbd7VSdZWggSe64NVdvWNBqGAiXPL2QVCehjmw7lY1oF9gOllYbORh+hiNgfPgQ==", - "license": "MIT", - "dependencies": { - "minipass": "^7.0.3", - "minipass-sized": "^1.0.3", - "minizlib": "^3.0.1" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - }, - "optionalDependencies": { - "encoding": "^0.1.13" - } - }, - "node_modules/minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-flush/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-pipeline/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-sized/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minizlib": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.2.tgz", - "integrity": "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==", - "license": "MIT", - "dependencies": { - "minipass": "^7.1.2" - }, - "engines": { - "node": ">= 18" - } - }, "node_modules/mkdirp": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", @@ -10695,12 +10045,6 @@ "node": ">= 0.6" } }, - "node_modules/nan": { - "version": "2.22.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.22.2.tgz", - "integrity": "sha512-DANghxFkS1plDdRsX0X9pm0Z6SJNN6gBdtXfanwoZ8hooC5gosGFSBGRYHUVPz1asKA/kMRqDRdHrluZ61SpBQ==", - "license": "MIT" - }, "node_modules/nanoid": { "version": "3.3.11", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", @@ -10782,30 +10126,6 @@ } } }, - "node_modules/node-gyp": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-11.2.0.tgz", - "integrity": "sha512-T0S1zqskVUSxcsSTkAsLc7xCycrRYmtDHadDinzocrThjyQCn5kMlEBSj6H4qDbgsIOSLmmlRIeb0lZXj+UArA==", - "license": "MIT", - "dependencies": { - "env-paths": "^2.2.0", - "exponential-backoff": "^3.1.1", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^14.0.3", - "nopt": "^8.0.0", - "proc-log": "^5.0.0", - "semver": "^7.3.5", - "tar": "^7.4.3", - "tinyglobby": "^0.2.12", - "which": "^5.0.0" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, "node_modules/node-gyp-build-optional-packages": { "version": "5.0.7", "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.7.tgz", @@ -10818,62 +10138,11 @@ "node-gyp-build-optional-packages-test": "build-test.js" } }, - "node_modules/node-gyp/node_modules/isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", - "license": "ISC", - "engines": { - "node": ">=16" - } - }, - "node_modules/node-gyp/node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/node-gyp/node_modules/which": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", - "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", - "license": "ISC", - "dependencies": { - "isexe": "^3.1.1" - }, - "bin": { - "node-which": "bin/which.js" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, "node_modules/node-releases": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" }, - "node_modules/nopt": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-8.1.0.tgz", - "integrity": "sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==", - "license": "ISC", - "dependencies": { - "abbrev": "^3.0.0" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, "node_modules/normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -11264,18 +10533,6 @@ "node": ">=6" } }, - "node_modules/p-map": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", - "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", @@ -11284,12 +10541,6 @@ "node": ">=6" } }, - "node_modules/package-json-from-dist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", - "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", - "license": "BlueOak-1.0.0" - }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -11422,28 +10673,6 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, - "node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "license": "ISC" - }, "node_modules/path-to-regexp": { "version": "0.1.12", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", @@ -11651,34 +10880,12 @@ "node": ">= 0.8.0" } }, - "node_modules/proc-log": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-5.0.0.tgz", - "integrity": "sha512-Azwzvl90HaF0aCz1JrDdXQykFakSSNPaPoiZ9fm5qJIMHioDZEi7OAdRwSm6rSoPtY3Qutnm3L7ogmg3dc+wbQ==", - "license": "ISC", - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, - "node_modules/promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", - "license": "MIT", - "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/promisify-any": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/promisify-any/-/promisify-any-2.0.1.tgz", @@ -11817,18 +11024,6 @@ "node": ">= 0.8" } }, - "node_modules/re2": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/re2/-/re2-1.22.1.tgz", - "integrity": "sha512-E4J0EtgyNLdIr0wTg0dQPefuiqNY29KaLacytiUAYYRzxCG+zOkWoUygt1rI+TA1LrhN49/njrfSO1DHtVC5Vw==", - "hasInstallScript": true, - "license": "BSD-3-Clause", - "dependencies": { - "install-artifact-from-github": "^1.4.0", - "nan": "^2.22.2", - "node-gyp": "^11.2.0" - } - }, "node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -11977,15 +11172,6 @@ "lowercase-keys": "^2.0.0" } }, - "node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, "node_modules/retry-as-promised": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/retry-as-promised/-/retry-as-promised-7.0.4.tgz", @@ -12769,16 +11955,6 @@ "dev": true, "license": "MIT" }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "license": "MIT", - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" - } - }, "node_modules/socket.io": { "version": "4.8.1", "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.1.tgz", @@ -12889,57 +12065,6 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "node_modules/socks": { - "version": "2.8.4", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.4.tgz", - "integrity": "sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ==", - "license": "MIT", - "dependencies": { - "ip-address": "^9.0.5", - "smart-buffer": "^4.2.0" - }, - "engines": { - "node": ">= 10.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socks-proxy-agent": { - "version": "8.0.5", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", - "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", - "license": "MIT", - "dependencies": { - "agent-base": "^7.1.2", - "debug": "^4.3.4", - "socks": "^2.8.3" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/socks-proxy-agent/node_modules/debug": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/socks-proxy-agent/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, "node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -12998,24 +12123,6 @@ "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", "dev": true }, - "node_modules/sprintf-js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", - "license": "BSD-3-Clause" - }, - "node_modules/ssri": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-12.0.0.tgz", - "integrity": "sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==", - "license": "ISC", - "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, "node_modules/stack-trace": { "version": "0.0.10", "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", @@ -13061,21 +12168,7 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", + "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -13152,19 +12245,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "license": "MIT", + "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -13689,47 +12770,6 @@ "node": ">=6" } }, - "node_modules/tar": { - "version": "7.4.3", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", - "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", - "license": "ISC", - "dependencies": { - "@isaacs/fs-minipass": "^4.0.0", - "chownr": "^3.0.0", - "minipass": "^7.1.2", - "minizlib": "^3.0.1", - "mkdirp": "^3.0.1", - "yallist": "^5.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/tar/node_modules/mkdirp": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", - "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", - "license": "MIT", - "bin": { - "mkdirp": "dist/cjs/src/bin.js" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/tar/node_modules/yallist": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", - "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=18" - } - }, "node_modules/text-hex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", @@ -13761,48 +12801,6 @@ "next-tick": "1" } }, - "node_modules/tinyglobby": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", - "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", - "license": "MIT", - "dependencies": { - "fdir": "^6.4.4", - "picomatch": "^4.0.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" - } - }, - "node_modules/tinyglobby/node_modules/fdir": { - "version": "6.4.5", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.5.tgz", - "integrity": "sha512-4BG7puHpVsIYxZUbiUE3RqGloLaSSwzYie5jvasC4LWuBWzZawynvYouhjbQKw2JuIGYdm0DzIxl8iVidKlUEw==", - "license": "MIT", - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -14058,30 +13056,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/unique-filename": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-4.0.0.tgz", - "integrity": "sha512-XSnEewXmQ+veP7xX2dS5Q4yZAvO40cBN2MWkJ7D/6sW4Dg6wYBNwM1Vrnz1FhH5AdeLIlUXRI9e28z1YZi71NQ==", - "license": "ISC", - "dependencies": { - "unique-slug": "^5.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/unique-slug": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-5.0.0.tgz", - "integrity": "sha512-9OdaqO5kwqR+1kVgHAhsp5vPNU0hnxRa26rBFNfNgM7M6pNtgzeBn3s/xbyCQL3dcjzOatcef6UUHpB/6MaETg==", - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, "node_modules/universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", @@ -14440,57 +13414,6 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "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", @@ -14587,9 +13510,9 @@ } }, "node_modules/xmppjs-chat-bot": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/xmppjs-chat-bot/-/xmppjs-chat-bot-0.6.0.tgz", - "integrity": "sha512-nj1ZZbo7IJv6ybclD1uaeKsECqWKV8vkQLkOaf+rz9iyqltnTBesnD+m7LDCgk0++Tw2Or3odxEny7dahPyruA==", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/xmppjs-chat-bot/-/xmppjs-chat-bot-0.7.0.tgz", + "integrity": "sha512-gjVWCxuQ+oBBDWEMODGJsk8KHM6C51WN28n1Iuot9sZ9o3WANZmMDbwFT133TyyonZOvsCAXqEF+qmyQdtEq0A==", "funding": [ "https://paypal.me/JohnXLivingston", "https://liberapay.com/JohnLivingston/" @@ -14602,8 +13525,7 @@ "@xmpp/id": "^0.13.1", "@xmpp/jid": "^0.13.1", "@xmpp/xml": "^0.13.1", - "commander": "^11.1.0", - "re2": "^1.22.1" + "commander": "^11.1.0" }, "bin": { "xmppjs-chat-bot": "lib/cli/cli.js" @@ -16326,72 +15248,6 @@ "integrity": "sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==", "dev": true }, - "@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "requires": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==" - }, - "ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==" - }, - "emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "requires": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - } - }, - "strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "requires": { - "ansi-regex": "^6.0.1" - } - }, - "wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "requires": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - } - } - } - }, - "@isaacs/fs-minipass": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", - "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", - "requires": { - "minipass": "^7.0.4" - } - }, "@jridgewell/gen-mapping": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", @@ -16570,40 +15426,6 @@ "fastq": "^1.6.0" } }, - "@npmcli/agent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-3.0.0.tgz", - "integrity": "sha512-S79NdEgDQd/NGCay6TCoVzXSj74skRZIKJcpJjC5lOq34SZzyI6MqtiiWoiVWoVrTcGjNeC4ipbh1VIHlpfF5Q==", - "requires": { - "agent-base": "^7.1.0", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.1", - "lru-cache": "^10.0.1", - "socks-proxy-agent": "^8.0.3" - }, - "dependencies": { - "lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" - } - } - }, - "@npmcli/fs": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-4.0.0.tgz", - "integrity": "sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q==", - "requires": { - "semver": "^7.3.5" - }, - "dependencies": { - "semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==" - } - } - }, "@opentelemetry/api": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.4.1.tgz", @@ -16852,12 +15674,6 @@ } } }, - "@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "optional": true - }, "@rtsao/scc": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", @@ -17745,12 +16561,6 @@ "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", "dev": true }, - "@types/re2": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@types/re2/-/re2-1.10.0.tgz", - "integrity": "sha512-JEmh/bosGCEQiZNUn5soUiFTaCC/z4WeYgDIWN6gv9bMXEJlo7nl26cQ6QmrNb45KdOnvY+QUgNHSP/lE1je6w==", - "dev": true - }, "@types/responselike": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", @@ -18328,11 +17138,6 @@ "ltx": "^3.0.0" } }, - "abbrev": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-3.0.1.tgz", - "integrity": "sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==" - }, "accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", @@ -18356,11 +17161,6 @@ "dev": true, "requires": {} }, - "agent-base": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", - "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==" - }, "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -18376,7 +17176,8 @@ "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true }, "ansi-styles": { "version": "3.2.1", @@ -18782,61 +17583,6 @@ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true }, - "cacache": { - "version": "19.0.1", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-19.0.1.tgz", - "integrity": "sha512-hdsUxulXCi5STId78vRVYEtDAjq99ICAUktLTeTYsLoTE6Z8dS0c8pWNCxwdrk9YfJeobDZc2Y186hD/5ZQgFQ==", - "requires": { - "@npmcli/fs": "^4.0.0", - "fs-minipass": "^3.0.0", - "glob": "^10.2.2", - "lru-cache": "^10.0.1", - "minipass": "^7.0.3", - "minipass-collect": "^2.0.1", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "p-map": "^7.0.2", - "ssri": "^12.0.0", - "tar": "^7.4.3", - "unique-filename": "^4.0.0" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "requires": { - "balanced-match": "^1.0.0" - } - }, - "glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "requires": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - } - }, - "lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" - }, - "minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "requires": { - "brace-expansion": "^2.0.1" - } - } - } - }, "cacheable": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/cacheable/-/cacheable-1.9.0.tgz", @@ -18953,11 +17699,6 @@ "readdirp": "~3.6.0" } }, - "chownr": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", - "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==" - }, "cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", @@ -19507,11 +18248,6 @@ "integrity": "sha512-iGCHkfUc5kFekGiqhe8B/mdaurD+lakO9txNnTvKtA6PISrw86LgqHvRzWYPyoE2Ph5aMIrCw9/uko6XHTKCwA==", "dev": true }, - "eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" - }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -19526,7 +18262,8 @@ "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, "enabled": { "version": "2.0.0", @@ -19545,6 +18282,7 @@ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", "optional": true, + "peer": true, "requires": { "iconv-lite": "^0.6.2" }, @@ -19554,6 +18292,7 @@ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "optional": true, + "peer": true, "requires": { "safer-buffer": ">= 2.1.2 < 3.0.0" } @@ -19634,12 +18373,8 @@ "env-paths": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==" - }, - "err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true }, "error-ex": { "version": "1.3.2", @@ -20443,11 +19178,6 @@ } } }, - "exponential-backoff": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.2.tgz", - "integrity": "sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==" - }, "express": { "version": "4.21.2", "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", @@ -20699,58 +19429,6 @@ "is-callable": "^1.1.3" } }, - "foreground-child": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", - "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", - "requires": { - "cross-spawn": "^7.0.6", - "signal-exit": "^4.0.1" - }, - "dependencies": { - "cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==" - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - } - } - }, "form-data": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", @@ -20785,14 +19463,6 @@ "universalify": "^2.0.0" } }, - "fs-minipass": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", - "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", - "requires": { - "minipass": "^7.0.3" - } - }, "fs-readdir-recursive": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", @@ -20991,7 +19661,8 @@ "graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true }, "graphemer": { "version": "1.4.0", @@ -21131,30 +19802,6 @@ "requires-port": "^1.0.0" } }, - "http-proxy-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", - "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", - "requires": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" - }, - "dependencies": { - "debug": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", - "requires": { - "ms": "^2.1.3" - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - } - } - }, "http2-wrapper": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", @@ -21164,30 +19811,6 @@ "resolve-alpn": "^1.0.0" } }, - "https-proxy-agent": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", - "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", - "requires": { - "agent-base": "^7.1.2", - "debug": "4" - }, - "dependencies": { - "debug": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", - "requires": { - "ms": "^2.1.3" - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - } - } - }, "human-signals": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", @@ -21234,7 +19857,8 @@ "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true }, "inflection": { "version": "1.13.4", @@ -21262,11 +19886,6 @@ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true }, - "install-artifact-from-github": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/install-artifact-from-github/-/install-artifact-from-github-1.4.0.tgz", - "integrity": "sha512-+y6WywKZREw5rq7U2jvr2nmZpT7cbWbQQ0N/qfcseYnzHFz2cZz1Et52oY+XttYuYeTkI8Y+R2JNWj68MpQFSg==" - }, "internal-slot": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", @@ -21311,15 +19930,6 @@ } } }, - "ip-address": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", - "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", - "requires": { - "jsbn": "1.1.0", - "sprintf-js": "^1.1.3" - } - }, "ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", @@ -21403,7 +20013,8 @@ "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true }, "is-generator": { "version": "1.0.3", @@ -21523,22 +20134,14 @@ "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true }, "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" }, - "jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "requires": { - "@isaacs/cliui": "^8.0.2", - "@pkgjs/parseargs": "^0.11.0" - } - }, "jose": { "version": "4.15.9", "resolved": "https://registry.npmjs.org/jose/-/jose-4.15.9.tgz", @@ -21558,11 +20161,6 @@ "argparse": "^2.0.1" } }, - "jsbn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", - "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==" - }, "jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", @@ -21847,31 +20445,6 @@ "semver": "^5.6.0" } }, - "make-fetch-happen": { - "version": "14.0.3", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-14.0.3.tgz", - "integrity": "sha512-QMjGbFTP0blj97EeidG5hk/QhKQ3T4ICckQGLgz38QF7Vgbk6e6FTARN8KhKxyBbWn8R0HU+bnw8aSoFPD4qtQ==", - "requires": { - "@npmcli/agent": "^3.0.0", - "cacache": "^19.0.1", - "http-cache-semantics": "^4.1.1", - "minipass": "^7.0.2", - "minipass-fetch": "^4.0.0", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^1.0.0", - "proc-log": "^5.0.0", - "promise-retry": "^2.0.1", - "ssri": "^12.0.0" - }, - "dependencies": { - "negotiator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", - "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==" - } - } - }, "mathml-tag-names": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", @@ -22008,92 +20581,6 @@ "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", "dev": true }, - "minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==" - }, - "minipass-collect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", - "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", - "requires": { - "minipass": "^7.0.3" - } - }, - "minipass-fetch": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-4.0.1.tgz", - "integrity": "sha512-j7U11C5HXigVuutxebFadoYBbd7VSdZWggSe64NVdvWNBqGAiXPL2QVCehjmw7lY1oF9gOllYbORh+hiNgfPgQ==", - "requires": { - "encoding": "^0.1.13", - "minipass": "^7.0.3", - "minipass-sized": "^1.0.3", - "minizlib": "^3.0.1" - } - }, - "minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "requires": { - "minipass": "^3.0.0" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "requires": { - "minipass": "^3.0.0" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", - "requires": { - "minipass": "^3.0.0" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "minizlib": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.2.tgz", - "integrity": "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==", - "requires": { - "minipass": "^7.1.2" - } - }, "mkdirp": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", @@ -22208,11 +20695,6 @@ } } }, - "nan": { - "version": "2.22.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.22.2.tgz", - "integrity": "sha512-DANghxFkS1plDdRsX0X9pm0Z6SJNN6gBdtXfanwoZ8hooC5gosGFSBGRYHUVPz1asKA/kMRqDRdHrluZ61SpBQ==" - }, "nanoid": { "version": "3.3.11", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", @@ -22267,43 +20749,6 @@ "whatwg-url": "^5.0.0" } }, - "node-gyp": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-11.2.0.tgz", - "integrity": "sha512-T0S1zqskVUSxcsSTkAsLc7xCycrRYmtDHadDinzocrThjyQCn5kMlEBSj6H4qDbgsIOSLmmlRIeb0lZXj+UArA==", - "requires": { - "env-paths": "^2.2.0", - "exponential-backoff": "^3.1.1", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^14.0.3", - "nopt": "^8.0.0", - "proc-log": "^5.0.0", - "semver": "^7.3.5", - "tar": "^7.4.3", - "tinyglobby": "^0.2.12", - "which": "^5.0.0" - }, - "dependencies": { - "isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==" - }, - "semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==" - }, - "which": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", - "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", - "requires": { - "isexe": "^3.1.1" - } - } - } - }, "node-gyp-build-optional-packages": { "version": "5.0.7", "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.7.tgz", @@ -22316,14 +20761,6 @@ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" }, - "nopt": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-8.1.0.tgz", - "integrity": "sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==", - "requires": { - "abbrev": "^3.0.0" - } - }, "normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -22604,21 +21041,11 @@ "p-limit": "^2.0.0" } }, - "p-map": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", - "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==" - }, "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" }, - "package-json-from-dist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", - "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==" - }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -22709,22 +21136,6 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, - "path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", - "requires": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" - } - } - }, "path-to-regexp": { "version": "0.1.12", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", @@ -22842,26 +21253,12 @@ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true }, - "proc-log": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-5.0.0.tgz", - "integrity": "sha512-Azwzvl90HaF0aCz1JrDdXQykFakSSNPaPoiZ9fm5qJIMHioDZEi7OAdRwSm6rSoPtY3Qutnm3L7ogmg3dc+wbQ==" - }, "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, - "promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", - "requires": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - } - }, "promisify-any": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/promisify-any/-/promisify-any-2.0.1.tgz", @@ -22958,16 +21355,6 @@ "unpipe": "1.0.0" } }, - "re2": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/re2/-/re2-1.22.1.tgz", - "integrity": "sha512-E4J0EtgyNLdIr0wTg0dQPefuiqNY29KaLacytiUAYYRzxCG+zOkWoUygt1rI+TA1LrhN49/njrfSO1DHtVC5Vw==", - "requires": { - "install-artifact-from-github": "^1.4.0", - "nan": "^2.22.2", - "node-gyp": "^11.2.0" - } - }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -23082,11 +21469,6 @@ "lowercase-keys": "^2.0.0" } }, - "retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==" - }, "retry-as-promised": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/retry-as-promised/-/retry-as-promised-7.0.4.tgz", @@ -23626,11 +22008,6 @@ } } }, - "smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==" - }, "socket.io": { "version": "4.8.1", "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.1.tgz", @@ -23717,40 +22094,6 @@ } } }, - "socks": { - "version": "2.8.4", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.4.tgz", - "integrity": "sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ==", - "requires": { - "ip-address": "^9.0.5", - "smart-buffer": "^4.2.0" - } - }, - "socks-proxy-agent": { - "version": "8.0.5", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", - "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", - "requires": { - "agent-base": "^7.1.2", - "debug": "^4.3.4", - "socks": "^2.8.3" - }, - "dependencies": { - "debug": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", - "requires": { - "ms": "^2.1.3" - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - } - } - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -23803,19 +22146,6 @@ "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", "dev": true }, - "sprintf-js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==" - }, - "ssri": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-12.0.0.tgz", - "integrity": "sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==", - "requires": { - "minipass": "^7.0.3" - } - }, "stack-trace": { "version": "0.0.10", "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", @@ -23852,16 +22182,7 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "string-width-cjs": { - "version": "npm:string-width@4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -23914,14 +22235,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-ansi-cjs": { - "version": "npm:strip-ansi@6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, "requires": { "ansi-regex": "^5.0.1" } @@ -24265,31 +22579,6 @@ "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "dev": true }, - "tar": { - "version": "7.4.3", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", - "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", - "requires": { - "@isaacs/fs-minipass": "^4.0.0", - "chownr": "^3.0.0", - "minipass": "^7.1.2", - "minizlib": "^3.0.1", - "mkdirp": "^3.0.1", - "yallist": "^5.0.0" - }, - "dependencies": { - "mkdirp": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", - "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==" - }, - "yallist": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", - "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==" - } - } - }, "text-hex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", @@ -24318,28 +22607,6 @@ "next-tick": "1" } }, - "tinyglobby": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", - "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", - "requires": { - "fdir": "^6.4.4", - "picomatch": "^4.0.2" - }, - "dependencies": { - "fdir": { - "version": "6.4.5", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.5.tgz", - "integrity": "sha512-4BG7puHpVsIYxZUbiUE3RqGloLaSSwzYie5jvasC4LWuBWzZawynvYouhjbQKw2JuIGYdm0DzIxl8iVidKlUEw==", - "requires": {} - }, - "picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==" - } - } - }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -24525,22 +22792,6 @@ "which-boxed-primitive": "^1.0.2" } }, - "unique-filename": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-4.0.0.tgz", - "integrity": "sha512-XSnEewXmQ+veP7xX2dS5Q4yZAvO40cBN2MWkJ7D/6sW4Dg6wYBNwM1Vrnz1FhH5AdeLIlUXRI9e28z1YZi71NQ==", - "requires": { - "unique-slug": "^5.0.0" - } - }, - "unique-slug": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-5.0.0.tgz", - "integrity": "sha512-9OdaqO5kwqR+1kVgHAhsp5vPNU0hnxRa26rBFNfNgM7M6pNtgzeBn3s/xbyCQL3dcjzOatcef6UUHpB/6MaETg==", - "requires": { - "imurmurhash": "^0.1.4" - } - }, "universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", @@ -24846,39 +23097,6 @@ } } }, - "wrap-ansi-cjs": { - "version": "npm:wrap-ansi@7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "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==", - "requires": { - "color-name": "~1.1.4" - } - }, - "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==" - } - } - }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -24918,9 +23136,9 @@ } }, "xmppjs-chat-bot": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/xmppjs-chat-bot/-/xmppjs-chat-bot-0.6.0.tgz", - "integrity": "sha512-nj1ZZbo7IJv6ybclD1uaeKsECqWKV8vkQLkOaf+rz9iyqltnTBesnD+m7LDCgk0++Tw2Or3odxEny7dahPyruA==", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/xmppjs-chat-bot/-/xmppjs-chat-bot-0.7.0.tgz", + "integrity": "sha512-gjVWCxuQ+oBBDWEMODGJsk8KHM6C51WN28n1Iuot9sZ9o3WANZmMDbwFT133TyyonZOvsCAXqEF+qmyQdtEq0A==", "requires": { "@xmpp/client": "^0.13.1", "@xmpp/component": "^0.13.1", @@ -24928,8 +23146,7 @@ "@xmpp/id": "^0.13.1", "@xmpp/jid": "^0.13.1", "@xmpp/xml": "^0.13.1", - "commander": "^11.1.0", - "re2": "^1.22.1" + "commander": "^11.1.0" }, "dependencies": { "commander": { diff --git a/package.json b/package.json index a3954e5b..78fb3d27 100644 --- a/package.json +++ b/package.json @@ -34,10 +34,9 @@ "http-proxy": "^1.18.1", "log-rotate": "^0.2.8", "openid-client": "^5.7.1", - "re2": "^1.22.1", "short-uuid": "^5.2.0", "validate-color": "^2.2.4", - "xmppjs-chat-bot": "^0.6.0" + "xmppjs-chat-bot": "^0.7.0" }, "devDependencies": { "@eslint/js": "^9.28.0", @@ -55,7 +54,6 @@ "@types/got": "^9.6.12", "@types/http-proxy": "^1.17.16", "@types/node": "^16.18.126", - "@types/re2": "^1.10.0", "@types/winston": "^2.4.4", "@types/xmpp__jid": "^1.3.5", "@typescript-eslint/parser": "^8.4.0", diff --git a/server/lib/configuration/channel/sanitize.ts b/server/lib/configuration/channel/sanitize.ts index f6231349..2de9c42a 100644 --- a/server/lib/configuration/channel/sanitize.ts +++ b/server/lib/configuration/channel/sanitize.ts @@ -11,9 +11,6 @@ import { noDuplicateDefaultDelay, noDuplicateMaxDelay } from '../../../../shared/lib/constants' -import * as RE2 from 're2' - -type SanitizeMode = 'validation' | 'read' /** * Sanitize data so that they can safely be used/stored for channel configuration configuration. @@ -25,10 +22,9 @@ type SanitizeMode = 'validation' | 'read' * @param mode Sanitization mode. 'validation': when verifiying user input. 'read': when reading from disk. */ async function sanitizeChannelConfigurationOptions ( - _options: RegisterServerOptions, + options: RegisterServerOptions, _channelId: number | string, - data: unknown, - mode: SanitizeMode + data: unknown ): Promise { if (!_assertObjectType(data)) { throw new Error('Invalid data type') @@ -96,7 +92,7 @@ async function sanitizeChannelConfigurationOptions ( bot: { enabled: _readBoolean(botData, 'enabled'), nickname: _readSimpleInput(botData, 'nickname', true), - forbiddenWords: await _readForbiddenWords(botData, mode), + forbiddenWords: await _readForbiddenWords(options, botData), forbidSpecialChars: await _readForbidSpecialChars(botData), noDuplicate: await _readNoDuplicate(botData), quotes: _readQuotes(botData), @@ -206,7 +202,7 @@ function _readMultiLineString (data: Record, f: string): string return s } -async function _readRegExpArray (data: Record, f: string, mode: SanitizeMode): Promise { +async function _readRegExpArray (data: Record, f: string): Promise { // Note: this function can instanciate a lot of RegExp. // To avoid freezing the server, we make it async, and will validate each regexp in a separate tick. if (!(f in data)) { @@ -224,24 +220,11 @@ async function _readRegExpArray (data: Record, f: string, mode: // ignore empty values continue } - // value must be a valid RE2 regexp + // value must be a valid regexp try { async function _validate (v: string): Promise { - // Before livechat v13, the bot was using RegExp. - // Now it is using RE2, to avoid ReDOS attacks. - // RE2 does not accept all regular expressions. - // So, here come the question about settings saved before... - // So we introduce the "mode" parameter. - // When reading from disk, we want to be more permissive. - // When validating frontend data, we want to be more restrictive. - // Note: the bot will simply ignore any invalid RE2 expression, and generate an error log on loading. - if (mode === 'read') { - // eslint-disable-next-line no-new - new RegExp(v) - } else { - // eslint-disable-next-line no-new, new-cap - new RE2.default(v) - } + // eslint-disable-next-line no-new + new RegExp(v) } await _validate(v) } catch (err: any) { @@ -253,9 +236,11 @@ async function _readRegExpArray (data: Record, f: string, mode: } async function _readForbiddenWords ( - botData: Record, - mode: SanitizeMode + options: RegisterServerOptions, + botData: Record ): Promise { + const enableUsersRegexp = (await options.settingsManager.getSetting('enable-users-regexp')) === true + if (!Array.isArray(botData.forbiddenWords)) { throw new Error('Invalid forbiddenWords data') } @@ -265,9 +250,10 @@ async function _readForbiddenWords ( throw new Error('Invalid entry in botData.forbiddenWords') } const regexp = !!fw.regexp + let entries if (regexp) { - entries = await _readRegExpArray(fw, 'entries', mode) + entries = await _readRegExpArray(fw, 'entries') } else { entries = _readStringArray(fw, 'entries') } @@ -276,7 +262,17 @@ async function _readForbiddenWords ( const reason = fw.reason ? _readSimpleInput(fw, 'reason') : undefined const comments = fw.comments ? _readMultiLineString(fw, 'comments') : undefined + // Enabled was introduced in v14. So we must set to true if not present. + let enabled = !('enabled' in fw) ? true : _readBoolean(fw, 'enabled') + if (enabled && regexp && !enableUsersRegexp) { + // here we don't fail, we just change the value. + // This is usefull when the settings changes: + // RoomChannel.singleton().rebuildData() will automatically update data. + enabled = false + } + result.push({ + enabled, regexp, entries, applyToModerators, diff --git a/server/lib/configuration/channel/storage.ts b/server/lib/configuration/channel/storage.ts index 42e5bc14..606ae086 100644 --- a/server/lib/configuration/channel/storage.ts +++ b/server/lib/configuration/channel/storage.ts @@ -38,7 +38,7 @@ async function getChannelConfigurationOptions ( const content = await fs.promises.readFile(filePath, { encoding: 'utf-8' }) - const sanitized = await sanitizeChannelConfigurationOptions(options, channelId, JSON.parse(content), 'read') + const sanitized = await sanitizeChannelConfigurationOptions(options, channelId, JSON.parse(content)) return sanitized } @@ -188,7 +188,7 @@ function _getForbiddenWordsHandler ( return handler } - handler.enabled = true + handler.enabled = forbiddenWords.enabled const rule: any = { name: id } @@ -262,7 +262,6 @@ function _getForbidSpecialCharsHandler ( name: id, regexp, modifiers: 'us', - regexp_engine: 'regexp', // FIXME: node-re2 is not compatible with \p{Emoji} and co, so we ensure to use RegExp here reason: forbidSpecialChars.reason } handler.options.rules.push(rule) diff --git a/server/lib/prosody/migration/migrateV13.ts b/server/lib/prosody/migration/migrateV13.ts index 640cb606..eed385da 100644 --- a/server/lib/prosody/migration/migrateV13.ts +++ b/server/lib/prosody/migration/migrateV13.ts @@ -3,101 +3,20 @@ // SPDX-License-Identifier: AGPL-3.0-only import type { RegisterServerOptions } from '@peertube/peertube-types' -import * as path from 'path' -import * as fs from 'fs' /** * Livechat v13.0.0: now using xmppjs-chat-bot 0.6.0, which replaced RegExp by RE2. * we must change the forbidspecialchar regexp configuration, to be compatible. + * Livechat v14.0.0: we removed RE2 because of some incompatibility issues. + * So this update is no more necessary. + * We won't do any update script to remove the `regexp_engine` attribute we added, + * the bot will just ignore it. But we keep this function, so that dev can understand + * the history, and understand why some files have the `regexp_engine` attribute. * * This script will only be launched one time. */ -async function updateForbidSpecialCharsHandler (options: RegisterServerOptions): Promise { - const logger = options.peertubeHelpers.logger - - // First, detect if we already run this script. - const doneFilePath = path.resolve(options.peertubeHelpers.plugin.getDataDirectoryPath(), 'fix-v13-forbidspecialchars') - if (fs.existsSync(doneFilePath)) { - logger.debug('[migratev13_ForbidSpecialChars] Special Chars Regex already updated.') - return - } - - logger.info('[migratev13_ForbidSpecialChars] Updating Special Chars Regex') - - const confDir = path.resolve( - options.peertubeHelpers.plugin.getDataDirectoryPath(), - 'bot', - ) - // In this directory, we should find a subdir named as the mucDomain. - // To be sure to migrate everything, including in case of instance name change, - // we will loop on this dir content. - let directories: fs.Dirent[] - try { - directories = await fs.promises.readdir(confDir, { withFileTypes: true }) - } catch (_err) { - logger.info('[migratev13_ForbidSpecialChars] can\'t read config dir, probably a fresh install.') - directories = [] - } - - for (const dirent of directories) { - if (!dirent.isDirectory()) { continue } - - const dir = path.resolve(confDir, dirent.name, 'rooms') - logger.debug('[migratev13_ForbidSpecialChars] Checking directory ' + dir) - - let files: string[] - try { - files = await fs.promises.readdir(dir) - } catch (_err) { - logger.info('[migratev13_ForbidSpecialChars] can\'t read dir ' + dir) - files = [] - } - - logger.debug('[migratev13_ForbidSpecialChars] Found ' + files.length.toString() + ' files.') - - for (const file of files) { - if (!file.endsWith('.json')) { continue } - - const filePath = path.join(dir, file) - try { - logger.debug('[migratev13_ForbidSpecialChars] check file ' + filePath) - - const content = (await fs.promises.readFile(filePath, { - encoding: 'utf-8' - })).toString() - - const config = JSON.parse(content) - const handlers = config?.handlers ?? [] - let modified = false - for (const handler of handlers) { - if (handler?.type === 'moderate' && handler?.id === 'forbid_special_chars') { - for (const r of handler.options?.rules ?? []) { - if (r.name === 'forbid_special_chars') { - if (r.regexp_engine !== 'regexp') { - r.regexp_engine = 'regexp' - modified = true - } - } - } - } - } - if (modified) { - logger.info('[migratev13_ForbidSpecialChars] Must fix file ' + filePath) - await fs.promises.writeFile(filePath, JSON.stringify(config), { - encoding: 'utf-8' - }) - } - } catch (err) { - logger.error( - '[migratev13_ForbidSpecialChars] Failed to fix file ' + - filePath + ', skipping. Error: ' + (err as string) - ) - continue - } - } - } - - await fs.promises.writeFile(doneFilePath, '') +async function updateForbidSpecialCharsHandler (_options: RegisterServerOptions): Promise { + // deprecated (see comments) } export { diff --git a/server/lib/prosody/migration/migratev14.ts b/server/lib/prosody/migration/migratev14.ts new file mode 100644 index 00000000..a4ddaa53 --- /dev/null +++ b/server/lib/prosody/migration/migratev14.ts @@ -0,0 +1,24 @@ +// SPDX-FileCopyrightText: 2024-2025 John Livingston +// +// SPDX-License-Identifier: AGPL-3.0-only + +import type { RegisterServerOptions } from '@peertube/peertube-types' +import * as path from 'path' +import * as fs from 'fs' + +async function mustMigrateV14 (options: RegisterServerOptions): Promise { + const logger = options.peertubeHelpers.logger + + const doneFilePath = path.resolve(options.peertubeHelpers.plugin.getDataDirectoryPath(), 'fix-v14-regexp') + if (fs.existsSync(doneFilePath)) { + logger.debug('[migratev14] Already migrated.') + return false + } + + await fs.promises.writeFile(doneFilePath, '') + return true +} + +export { + mustMigrateV14 +} diff --git a/server/lib/routers/api/configuration.ts b/server/lib/routers/api/configuration.ts index b8fbd9e4..01bb6e4a 100644 --- a/server/lib/routers/api/configuration.ts +++ b/server/lib/routers/api/configuration.ts @@ -110,7 +110,7 @@ async function initConfigurationApiRouter (options: RegisterServerOptions, route // req.body.bot.forbidSpecialChars.enabled = false // ... NoDuplicate... // } - channelOptions = await sanitizeChannelConfigurationOptions(options, channelInfos.id, req.body, 'validation') + channelOptions = await sanitizeChannelConfigurationOptions(options, channelInfos.id, req.body) } catch (err: any) { logger.warn(err.message as string) if (err.validationErrorMessage && (typeof err.validationErrorMessage === 'string')) { diff --git a/server/lib/settings.ts b/server/lib/settings.ts index c7764be0..028def08 100644 --- a/server/lib/settings.ts +++ b/server/lib/settings.ts @@ -60,7 +60,9 @@ async function initSettings (options: RegisterServerOptions): Promise { } loadOidcs() // we don't have to wait (can take time, it will do external http requests) - let currentProsodyRoomtype = (await settingsManager.getSettings(['prosody-room-type']))['prosody-room-type'] + const tmpSettings = await settingsManager.getSettings(['prosody-room-type', 'enable-users-regexp']) + let currentProsodyRoomtype = tmpSettings['prosody-room-type'] + let currentUsersRegexp = tmpSettings['enable-users-regexp'] // ********** settings changes management settingsManager.onSettingsChange(async (settings: any) => { @@ -84,8 +86,12 @@ async function initSettings (options: RegisterServerOptions): Promise { await BotsCtl.singleton().start() // In case prosody-room-type changed, we must rebuild room-channel links. - if (settings['prosody-room-type'] !== currentProsodyRoomtype) { - peertubeHelpers.logger.info('Setting prosody-room-type has changed value, must rebuild room-channel infos') + // In case enable-users-regexp becomes false, we must rebuild to make sure regexp lines are disabled + if ( + settings['prosody-room-type'] !== currentProsodyRoomtype || + (currentUsersRegexp && !settings['enable-users-regexp']) + ) { + peertubeHelpers.logger.info('Settings changed, must rebuild room-channel infos') // doing it without waiting, could be long! RoomChannel.singleton().rebuildData().then( () => peertubeHelpers.logger.info('Room-channel info rebuild ok.'), @@ -93,6 +99,7 @@ async function initSettings (options: RegisterServerOptions): Promise { ) } currentProsodyRoomtype = settings['prosody-room-type'] + currentUsersRegexp = settings['enable-users-regexp'] }) } @@ -363,11 +370,6 @@ function initAdvancedChannelCustomizationSettings ({ registerSetting }: Register private: true, descriptionHTML: loc('configuration_description') }) - registerSetting({ - type: 'html', - private: true, - descriptionHTML: loc('experimental_warning') - }) registerSetting({ name: 'disable-channel-configuration', label: loc('disable_channel_configuration_label'), @@ -376,6 +378,19 @@ function initAdvancedChannelCustomizationSettings ({ registerSetting }: Register default: false, private: false }) + registerSetting({ + // For now (v14), this settings is used to enable/disable regexp for forbidden words. + // This settings is basically here to say if you trust your users or not concerning regexp + // (because there is a risk of ReDOS on the chatbot). + // This settings could be used for other purpose later on (if we implement regexp anywhere else). + // So we use a pretty standard name, `enable-users-regexp`, that could apply for other uses. + name: 'enable-users-regexp', + label: loc('enable_users_regexp'), + descriptionHTML: loc('enable_users_regexp_description'), + type: 'input-checkbox', + default: false, + private: false + }) } /** diff --git a/server/main.ts b/server/main.ts index bacb52ad..f8a56395 100644 --- a/server/main.ts +++ b/server/main.ts @@ -20,6 +20,7 @@ import { ExternalAuthOIDC } from './lib/external-auth/oidc' import { migrateMUCAffiliations } from './lib/prosody/migration/migrateV10' import { updateProsodyChannelEmojisRegex } from './lib/prosody/migration/migrateV12' import { updateForbidSpecialCharsHandler } from './lib/prosody/migration/migrateV13' +import { mustMigrateV14 } from './lib/prosody/migration/migratev14' import { Emojis } from './lib/emojis' import { LivechatProsodyAuth } from './lib/prosody/auth' import decache from 'decache' @@ -52,8 +53,10 @@ async function register (options: RegisterServerOptions): Promise { await BotConfiguration.initSingleton(options) // Then load the RoomChannel singleton const roomChannelSingleton = await RoomChannel.initSingleton(options) - // roomChannelNeedsDataInit: if true, means that the data file does not exist (or is invalid), so we must initiate it - const roomChannelNeedsDataInit = !await roomChannelSingleton.readData() + // roomChannelNeedsDataInit: if true, means that we must rebuild the data file + // (for example because it does not exist (or is invalid), so we must initiate it) + let roomChannelNeedsDataRebuild = !await roomChannelSingleton.readData() + if (await mustMigrateV14(options)) { roomChannelNeedsDataRebuild = true } // BotsCtl.initSingleton() will force reload the bots conf files, so must be done before generating Prosody Conf. await BotsCtl.initSingleton(options) @@ -76,8 +79,8 @@ async function register (options: RegisterServerOptions): Promise { await ensureProsodyRunning(options) let preBotPromise: Promise - if (roomChannelNeedsDataInit) { - logger.info('The RoomChannel singleton has not found any data, we must rebuild') + if (roomChannelNeedsDataRebuild) { + logger.info('The RoomChannel singleton must rebuild data') // no need to wait here, can be done without await. preBotPromise = roomChannelSingleton.rebuildData().then( () => { logger.info('RoomChannel singleton rebuild done') }, diff --git a/shared/lib/types.ts b/shared/lib/types.ts index 7e2bb6cb..a1771e0f 100644 --- a/shared/lib/types.ts +++ b/shared/lib/types.ts @@ -116,6 +116,7 @@ interface ChannelConfigurationOptions { } interface ChannelForbiddenWords { + enabled: boolean entries: string[] regexp?: boolean applyToModerators?: boolean diff --git a/support/documentation/content/en/documentation/admin/settings.md b/support/documentation/content/en/documentation/admin/settings.md index 0ca894d7..3f7f77d5 100644 --- a/support/documentation/content/en/documentation/admin/settings.md +++ b/support/documentation/content/en/documentation/admin/settings.md @@ -55,6 +55,10 @@ users will be able to add some customization on their channels, activate the mod If you encounter any issue with this feature, you can disable it. +### {{% livechat_label enable_users_regexp %}} + +{{% livechat_label enable_users_regexp_description %}} + ## Chat behaviour ### {{% livechat_label room_type_label %}} diff --git a/support/documentation/content/en/documentation/user/streamers/bot/forbidden_words.md b/support/documentation/content/en/documentation/user/streamers/bot/forbidden_words.md index 49d06718..f21f9480 100644 --- a/support/documentation/content/en/documentation/user/streamers/bot/forbidden_words.md +++ b/support/documentation/content/en/documentation/user/streamers/bot/forbidden_words.md @@ -47,9 +47,7 @@ You can [open an issue](https://github.com/JohnXLivingston/peertube-plugin-livec By checking this option, each line of the "{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}" field will be considered as a [regular expression](https://en.wikipedia.org/wiki/Regular_expression). -Please note that not all regular expression are accepted. -Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. -Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations. +This feature is optional and can be disabled by admins. ## {{% livechat_label livechat_configuration_applytomoderators_label %}} diff --git a/support/documentation/po/livechat.ar.po b/support/documentation/po/livechat.ar.po index b2a1d5d2..5343cf4a 100644 --- a/support/documentation/po/livechat.ar.po +++ b/support/documentation/po/livechat.ar.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-19 17:09+0200\n" "PO-Revision-Date: 2024-09-12 15:37+0000\n" "Last-Translator: ButterflyOfFire \n" "Language-Team: Arabic \n" @@ -3064,7 +3064,7 @@ msgstr "" #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." +msgid "This feature is optional and can be disabled by admins." msgstr "" #. type: Yaml Front Matter Hash Value: description diff --git a/support/documentation/po/livechat.ca.po b/support/documentation/po/livechat.ca.po index 80c5d227..4da97b20 100644 --- a/support/documentation/po/livechat.ca.po +++ b/support/documentation/po/livechat.ca.po @@ -6,11 +6,10 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-19 17:09+0200\n" "PO-Revision-Date: 2025-06-08 22:46+0000\n" "Last-Translator: fran secs \n" -"Language-Team: Catalan \n" +"Language-Team: Catalan \n" "Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -3083,25 +3082,17 @@ msgstr "![Captura de pantalla d'un missatge de xat que s'ha suprimit, amb el mot #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md msgid "You can fill several \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" lines. When a user sends a message that match the configured criteria, the message will automatically be deleted." -msgstr "" -"Podeu omplir diverses línies «{{% livechat_label " -"livechat_configuration_channel_forbidden_words_label %}}». Quan s'envia un " -"missatge que coincideix amb un dels criteris configurats s'eliminarà " -"automàticament." +msgstr "Podeu omplir diverses línies «{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}». Quan s'envia un missatge que coincideix amb un dels criteris configurats s'eliminarà automàticament." #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md msgid "Here you can configure several words, group of words, or \"regular expressions\"." -msgstr "" -"Aquí podeu configurar diversos mots, grups de paraules o «expressions " -"regulars»." +msgstr "Aquí podeu configurar diversos mots, grups de paraules o «expressions regulars»." #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md msgid "Each time a user sends a message, these words will be tested. If the message contains one of them, the message will be deleted." -msgstr "" -"Cada vegada que algú envia un missatge aquestes paraules seran comprovades. " -"Si el missatge conté algun d'aquests el missatge s'eliminarà." +msgstr "Cada vegada que algú envia un missatge aquestes paraules seran comprovades. Si el missatge conté algun d'aquests el missatge s'eliminarà." #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md @@ -3141,13 +3132,10 @@ msgstr "En marcar aquesta opció cada línia del camp «{{% livechat_label livec #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" -"Tingueu en compte que no totes les expressions regulars s'accepten. Per sota " -"utilitzem la biblioteca [node-re2](https://github.com/uhop/node-re2). " -"Consulteu [node-re2](https://github.com/uhop/node-re2) i la " -"[documentació de RE2](https://github.com/google/re2/wiki/Syntax) per obtenir " -"més informació sobre la sintaxi acceptada i les limitacions." +#, fuzzy +#| msgid "This feature can be disabled by the instance's adminitrators." +msgid "This feature is optional and can be disabled by admins." +msgstr "Aquesta funció la pot desactivar l'administració de la instància." #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md @@ -4999,3 +4987,6 @@ msgstr "[fites a github](https://github.com/JohnXLivingston/peertube-plugin-live #: support/documentation/content/en/issues/_index.md msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome." msgstr "Si us dediqueu al disseny web o teniu experiència en ConverseJS/Prosody/XMPP i voleu participar en l'evolució d'aquest connector, us animem a fer-ho." + +#~ msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." +#~ msgstr "Tingueu en compte que no totes les expressions regulars s'accepten. Per sota utilitzem la biblioteca [node-re2](https://github.com/uhop/node-re2). Consulteu [node-re2](https://github.com/uhop/node-re2) i la [documentació de RE2](https://github.com/google/re2/wiki/Syntax) per obtenir més informació sobre la sintaxi acceptada i les limitacions." diff --git a/support/documentation/po/livechat.cs.po b/support/documentation/po/livechat.cs.po index 6798494c..caf5a494 100644 --- a/support/documentation/po/livechat.cs.po +++ b/support/documentation/po/livechat.cs.po @@ -6,11 +6,10 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-19 17:09+0200\n" "PO-Revision-Date: 2025-06-08 22:46+0000\n" "Last-Translator: Jiří Podhorecký \n" -"Language-Team: Czech \n" +"Language-Team: Czech \n" "Language: cs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -2688,61 +2687,38 @@ msgstr "Tuto funkci mohou správci instance deaktivovat." #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md msgid "You can use OBS \"Custom browser docks\" to integrate the chat in your OBS while you are streaming. The livechat plugin offers a way to create long term token that can identify you automatically to join the chat, so you don't have to enter your password in OBS." -msgstr "" -"Můžete použít OBS „Custom browser docks“ (Vlastní dokovací okna prohlížeče) " -"k integraci chatu do OBS během streamování. Plugin livechat nabízí možnost " -"vytvořit dlouhodobý token, který vás automaticky identifikuje pro připojení " -"k chatu, takže nemusíte zadávat heslo v OBS." +msgstr "Můžete použít OBS „Custom browser docks“ (Vlastní dokovací okna prohlížeče) k integraci chatu do OBS během streamování. Plugin livechat nabízí možnost vytvořit dlouhodobý token, který vás automaticky identifikuje pro připojení k chatu, takže nemusíte zadávat heslo v OBS." #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md msgid "To do so, just use the \"{{% livechat_label share_chat_link %}}\" feature, and open the \"{{% livechat_label share_chat_dock %}}\" tab. From there, you can create a new token using the \"+\" button." -msgstr "" -"K tomu stačí použít funkci „{{% livechat_label share_chat_link %}}“ a " -"otevřít kartu „{{% livechat_label share_chat_dock %}}“. Odtud můžete pomocí " -"tlačítka „+“ vytvořit nový token." +msgstr "K tomu stačí použít funkci „{{% livechat_label share_chat_link %}}“ a otevřít kartu „{{% livechat_label share_chat_dock %}}“. Odtud můžete pomocí tlačítka „+“ vytvořit nový token." #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md #: support/documentation/content/en/documentation/user/streamers/basics.md msgid "![Screenshot of the \"{{% livechat_label share_chat_link %}}\" dialog, on the \"{{% livechat_label share_chat_dock %}} tab. A token was generated, and is selectionable.\"](/peertube-plugin-livechat/images/share_dock.png?classes=shadow,border&height=200px \"Share link popup - dock tab\")" -msgstr "" -"![Screenshot dialogového okna „{{% livechat_label share_chat_link %}}“ na " -"kartě „{{% livechat_label share_chat_dock %}}“. Byl vygenerován token, který " -"lze vybrat.“](/peertube-plugin-livechat/images/" -"share_dock.png?classes=shadow,border&height=200px „Vyskakovací okno pro " -"sdílení odkazu – karta doku“)" +msgstr "![Screenshot dialogového okna „{{% livechat_label share_chat_link %}}“ na kartě „{{% livechat_label share_chat_dock %}}“. Byl vygenerován token, který lze vybrat.“](/peertube-plugin-livechat/images/share_dock.png?classes=shadow,border&height=200px „Vyskakovací okno pro sdílení odkazu – karta doku“)" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md msgid "Then, copy the url, and use the \"Docks / Custom browser docks\" menu from your OBS to add a dock with this URL." -msgstr "" -"Poté zkopírujte adresu URL a pomocí nabídky „Docks / Custom browser docks“ (" -"Doky / Vlastní doky prohlížeče) ve vašem OBS přidejte dok s touto adresou." +msgstr "Poté zkopírujte adresu URL a pomocí nabídky „Docks / Custom browser docks“ (Doky / Vlastní doky prohlížeče) ve vašem OBS přidejte dok s touto adresou." #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md msgid "![Screenshot of the OBS Dock menu, with a \"Custom Browser Docks\" entry.](/peertube-plugin-livechat/images/obs_dock_menu.png?classes=shadow,border&height=200px \"OBS - Dock menu\")" -msgstr "" -"![Screenshot nabídky OBS Dock s položkou „Custom Browser Docks“ (Vlastní " -"dokovací prohlížeče).](/peertube-plugin-livechat/images/" -"obs_dock_menu.png?classes=shadow,border&height=200px „OBS – nabídka Dock“)" +msgstr "![Screenshot nabídky OBS Dock s položkou „Custom Browser Docks“ (Vlastní dokovací prohlížeče).](/peertube-plugin-livechat/images/obs_dock_menu.png?classes=shadow,border&height=200px „OBS – nabídka Dock“)" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md msgid "![Screenshot of the OBS Custom Browser Docks dialog, with a new dock called \"My chat\".](/peertube-plugin-livechat/images/obs_dock_dialog.png?classes=shadow,border&height=200px \"OBS - Dock dialog\")" -msgstr "" -"![Screenshot dialogového okna OBS Custom Browser Docks s novým dokem " -"nazvaným „My chat“.](/peertube-plugin-livechat/images/" -"obs_dock_dialog.png?classes=shadow,border&height=200px „OBS – dialogové okno " -"Dock“)" +msgstr "![Screenshot dialogového okna OBS Custom Browser Docks s novým dokem nazvaným „My chat“.](/peertube-plugin-livechat/images/obs_dock_dialog.png?classes=shadow,border&height=200px „OBS – dialogové okno Dock“)" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md msgid "Once you have done, you will have a new dock connected to the chat with your account." -msgstr "" -"Jakmile to uděláte, budete mít nové dokovací okno připojené k chatu s vaším " -"účtem." +msgstr "Jakmile to uděláte, budete mít nové dokovací okno připojené k chatu s vaším účtem." #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md @@ -3154,8 +3130,10 @@ msgstr "" #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" +#, fuzzy +#| msgid "This feature can be disabled by the instance's adminitrators." +msgid "This feature is optional and can be disabled by admins." +msgstr "Tuto funkci mohou správci instance deaktivovat." #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md diff --git a/support/documentation/po/livechat.de.po b/support/documentation/po/livechat.de.po index 964b5664..696b6132 100644 --- a/support/documentation/po/livechat.de.po +++ b/support/documentation/po/livechat.de.po @@ -7,12 +7,10 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-19 17:09+0200\n" "PO-Revision-Date: 2025-06-07 08:38+0000\n" -"Last-Translator: Victor Hampel " -"\n" -"Language-Team: German \n" +"Last-Translator: Victor Hampel \n" +"Language-Team: German \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -3088,26 +3086,17 @@ msgstr "![Screenshot einer Chat-Nachricht, die mit folgender Begründung gelösc #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md msgid "You can fill several \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" lines. When a user sends a message that match the configured criteria, the message will automatically be deleted." -msgstr "" -"Sie können mehrere \"{{% livechat_label " -"livechat_configuration_channel_forbidden_words_label %}}\"-Zeilen " -"ausfüllen. Wenn ein Benutzer eine Nachricht sendet, die den konfigurierten " -"Kriterien entspricht, wird die Nachricht automatisch gelöscht." +msgstr "Sie können mehrere \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\"-Zeilen ausfüllen. Wenn ein Benutzer eine Nachricht sendet, die den konfigurierten Kriterien entspricht, wird die Nachricht automatisch gelöscht." #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md msgid "Here you can configure several words, group of words, or \"regular expressions\"." -msgstr "" -"Hier können Sie mehrere Wörter, Wortgruppen oder \"reguläre Ausdrücke\" " -"(regex) konfigurieren." +msgstr "Hier können Sie mehrere Wörter, Wortgruppen oder \"reguläre Ausdrücke\" (regex) konfigurieren." #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md msgid "Each time a user sends a message, these words will be tested. If the message contains one of them, the message will be deleted." -msgstr "" -"Jedes Mal, wenn ein Benutzer eine Nachricht sendet, werden diese Wörter " -"getestet. Wenn die Nachricht eines dieser Wörter enthält, wird die " -"Nachricht gelöscht." +msgstr "Jedes Mal, wenn ein Benutzer eine Nachricht sendet, werden diese Wörter getestet. Wenn die Nachricht eines dieser Wörter enthält, wird die Nachricht gelöscht." #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md @@ -3147,14 +3136,10 @@ msgstr "Wenn Sie diese Option aktivieren, wird jede Zeile des Feldes \"{{% livec #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" -"Bitte beachten Sie, dass nicht alle \"regulären Ausdrücke (regex) akzeptiert " -"werden. Im Hintergrund verwenden wir die Bibliothek [node-re2](https://" -"github.com/uhop/node-re2). Weitere Informationen über die akzeptierte " -"Syntax und die Einschränkungen finden Sie unter [node-re2](https://" -"github.com/uhop/node-re2) und der [RE2 Dokumentation](https://github.com/" -"google/re2/wiki/Syntax)." +#, fuzzy +#| msgid "This feature can be disabled by the instance's adminitrators." +msgid "This feature is optional and can be disabled by admins." +msgstr "Diese Funktion kann von den Administratoren der Instanz deaktiviert werden." #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md @@ -5007,6 +4992,9 @@ msgstr "[Meilensteine auf Github](https://github.com/JohnXLivingston/peertube-pl msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome." msgstr "Wenn Sie ein Webdesigner oder ein ConverseJS/Prosody/XMPP-Experte sind und helfen wollen, dieses Plugin zu verbessern, sind Sie gerne willkommen." +#~ msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." +#~ msgstr "Bitte beachten Sie, dass nicht alle \"regulären Ausdrücke (regex) akzeptiert werden. Im Hintergrund verwenden wir die Bibliothek [node-re2](https://github.com/uhop/node-re2). Weitere Informationen über die akzeptierte Syntax und die Einschränkungen finden Sie unter [node-re2](https://github.com/uhop/node-re2) und der [RE2 Dokumentation](https://github.com/google/re2/wiki/Syntax)." + #~ msgid "This feature comes with the livechat plugin version 11.0.0." #~ msgstr "Diese Funktion wird mit dem Livechatplugin Version 11.0.0 verfügbar sein." diff --git a/support/documentation/po/livechat.el.po b/support/documentation/po/livechat.el.po index 92346561..38f388ba 100644 --- a/support/documentation/po/livechat.el.po +++ b/support/documentation/po/livechat.el.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-19 17:09+0200\n" "PO-Revision-Date: 2023-07-17 10:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Greek \n" @@ -3063,7 +3063,7 @@ msgstr "" #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." +msgid "This feature is optional and can be disabled by admins." msgstr "" #. type: Yaml Front Matter Hash Value: description diff --git a/support/documentation/po/livechat.en.pot b/support/documentation/po/livechat.en.pot index 6b185882..7f9e2436 100644 --- a/support/documentation/po/livechat.en.pot +++ b/support/documentation/po/livechat.en.pot @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-19 17:09+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -3462,7 +3462,7 @@ msgstr "" #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md #, markdown-text -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." +msgid "This feature is optional and can be disabled by admins." msgstr "" #. type: Yaml Front Matter Hash Value: description diff --git a/support/documentation/po/livechat.eo.po b/support/documentation/po/livechat.eo.po index d36cde8a..753d3301 100644 --- a/support/documentation/po/livechat.eo.po +++ b/support/documentation/po/livechat.eo.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-19 17:09+0200\n" "PO-Revision-Date: 2023-07-17 10:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Esperanto \n" @@ -3063,7 +3063,7 @@ msgstr "" #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." +msgid "This feature is optional and can be disabled by admins." msgstr "" #. type: Yaml Front Matter Hash Value: description diff --git a/support/documentation/po/livechat.es.po b/support/documentation/po/livechat.es.po index 00ce88fa..30847731 100644 --- a/support/documentation/po/livechat.es.po +++ b/support/documentation/po/livechat.es.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-19 17:09+0200\n" "PO-Revision-Date: 2024-04-16 21:38+0000\n" "Last-Translator: rnek0 \n" "Language-Team: Spanish \n" @@ -3104,7 +3104,7 @@ msgstr "" #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." +msgid "This feature is optional and can be disabled by admins." msgstr "" #. type: Yaml Front Matter Hash Value: description diff --git a/support/documentation/po/livechat.eu.po b/support/documentation/po/livechat.eu.po index 796ac8b5..6b4abd26 100644 --- a/support/documentation/po/livechat.eu.po +++ b/support/documentation/po/livechat.eu.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-19 17:09+0200\n" "PO-Revision-Date: 2023-07-17 10:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Basque \n" @@ -3063,7 +3063,7 @@ msgstr "" #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." +msgid "This feature is optional and can be disabled by admins." msgstr "" #. type: Yaml Front Matter Hash Value: description diff --git a/support/documentation/po/livechat.fa.po b/support/documentation/po/livechat.fa.po index 36113b95..bb0cef2d 100644 --- a/support/documentation/po/livechat.fa.po +++ b/support/documentation/po/livechat.fa.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-19 17:09+0200\n" "PO-Revision-Date: 2023-07-17 10:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Persian \n" @@ -3063,7 +3063,7 @@ msgstr "" #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." +msgid "This feature is optional and can be disabled by admins." msgstr "" #. type: Yaml Front Matter Hash Value: description diff --git a/support/documentation/po/livechat.fi.po b/support/documentation/po/livechat.fi.po index 46d12b7c..71403017 100644 --- a/support/documentation/po/livechat.fi.po +++ b/support/documentation/po/livechat.fi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-19 17:09+0200\n" "PO-Revision-Date: 2023-07-17 10:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Finnish \n" @@ -3063,7 +3063,7 @@ msgstr "" #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." +msgid "This feature is optional and can be disabled by admins." msgstr "" #. type: Yaml Front Matter Hash Value: description diff --git a/support/documentation/po/livechat.fr.po b/support/documentation/po/livechat.fr.po index 49418f20..d559e060 100644 --- a/support/documentation/po/livechat.fr.po +++ b/support/documentation/po/livechat.fr.po @@ -7,11 +7,10 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-19 17:09+0200\n" "PO-Revision-Date: 2025-06-06 16:26+0000\n" "Last-Translator: John Livingston \n" -"Language-Team: French \n" +"Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -3218,8 +3217,10 @@ msgstr "En cochant cette option, chaque ligne du champs «{{% livechat_label liv #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" +#, fuzzy +#| msgid "This feature can be disabled by the instance's adminitrators." +msgid "This feature is optional and can be disabled by admins." +msgstr "Cette fonction peut être désactivée par les administrateur⋅rices de l'instance." #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md @@ -5049,12 +5050,7 @@ msgstr "En tant qu'administrateur⋅rice Peertube, vous pouvez installer ce plug #. type: Plain text #: support/documentation/content/en/intro/_index.md msgid "![Screenshot of Peertube plugins admin page. The search fields contains \"livechat\", and the search results show the livechat plugin.](/peertube-plugin-livechat/images/installation.png?classes=shadow,border&height=200px \"Livechat installation\")" -msgstr "" -"![Capture d'écran de la page d'administration du plugin Peertube. Le champs " -"de recherche contient \"livechat\", and les résultats de la recherche " -"montrent le plugin livechat.](/peertube-plugin-livechat/images/" -"installation.png?classes=shadow,border&height=200px \"Installation livechat\"" -")" +msgstr "![Capture d'écran de la page d'administration du plugin Peertube. Le champs de recherche contient \"livechat\", and les résultats de la recherche montrent le plugin livechat.](/peertube-plugin-livechat/images/installation.png?classes=shadow,border&height=200px \"Installation livechat\")" #. type: Title ## #: support/documentation/content/en/intro/_index.md diff --git a/support/documentation/po/livechat.gd.po b/support/documentation/po/livechat.gd.po index 514d0105..f5206baa 100644 --- a/support/documentation/po/livechat.gd.po +++ b/support/documentation/po/livechat.gd.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-19 17:09+0200\n" "PO-Revision-Date: 2023-07-17 10:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Gaelic \n" @@ -3063,7 +3063,7 @@ msgstr "" #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." +msgid "This feature is optional and can be disabled by admins." msgstr "" #. type: Yaml Front Matter Hash Value: description diff --git a/support/documentation/po/livechat.gl.po b/support/documentation/po/livechat.gl.po index 55d7715c..8bf1281f 100644 --- a/support/documentation/po/livechat.gl.po +++ b/support/documentation/po/livechat.gl.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-19 17:09+0200\n" "PO-Revision-Date: 2023-07-17 10:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Galician \n" @@ -3063,7 +3063,7 @@ msgstr "" #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." +msgid "This feature is optional and can be disabled by admins." msgstr "" #. type: Yaml Front Matter Hash Value: description diff --git a/support/documentation/po/livechat.hr.po b/support/documentation/po/livechat.hr.po index 986bd268..9ffcc8aa 100644 --- a/support/documentation/po/livechat.hr.po +++ b/support/documentation/po/livechat.hr.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-19 17:09+0200\n" "PO-Revision-Date: 2024-09-16 15:14+0000\n" "Last-Translator: Milo Ivir \n" "Language-Team: Croatian \n" @@ -3109,7 +3109,7 @@ msgstr "" #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." +msgid "This feature is optional and can be disabled by admins." msgstr "" #. type: Yaml Front Matter Hash Value: description diff --git a/support/documentation/po/livechat.hu.po b/support/documentation/po/livechat.hu.po index 2bd6a881..7f6f4ed8 100644 --- a/support/documentation/po/livechat.hu.po +++ b/support/documentation/po/livechat.hu.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-19 17:09+0200\n" "PO-Revision-Date: 2023-07-17 10:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Hungarian \n" @@ -3063,7 +3063,7 @@ msgstr "" #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." +msgid "This feature is optional and can be disabled by admins." msgstr "" #. type: Yaml Front Matter Hash Value: description diff --git a/support/documentation/po/livechat.is.po b/support/documentation/po/livechat.is.po index b93bdce0..b9c088ae 100644 --- a/support/documentation/po/livechat.is.po +++ b/support/documentation/po/livechat.is.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-19 17:09+0200\n" "PO-Revision-Date: 2023-07-17 10:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Icelandic \n" @@ -3063,7 +3063,7 @@ msgstr "" #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." +msgid "This feature is optional and can be disabled by admins." msgstr "" #. type: Yaml Front Matter Hash Value: description diff --git a/support/documentation/po/livechat.it.po b/support/documentation/po/livechat.it.po index 4e490a9b..992bdd59 100644 --- a/support/documentation/po/livechat.it.po +++ b/support/documentation/po/livechat.it.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-19 17:09+0200\n" "PO-Revision-Date: 2023-07-17 14:21+0000\n" "Last-Translator: John Livingston \n" "Language-Team: Italian \n" @@ -3063,7 +3063,7 @@ msgstr "" #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." +msgid "This feature is optional and can be disabled by admins." msgstr "" #. type: Yaml Front Matter Hash Value: description diff --git a/support/documentation/po/livechat.ja.po b/support/documentation/po/livechat.ja.po index c59f73df..0cf50f16 100644 --- a/support/documentation/po/livechat.ja.po +++ b/support/documentation/po/livechat.ja.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-19 17:09+0200\n" "PO-Revision-Date: 2024-08-29 10:38+0000\n" "Last-Translator: \"T.S\" \n" "Language-Team: Japanese \n" @@ -3152,7 +3152,7 @@ msgstr "" #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." +msgid "This feature is optional and can be disabled by admins." msgstr "" #. type: Yaml Front Matter Hash Value: description diff --git a/support/documentation/po/livechat.kab.po b/support/documentation/po/livechat.kab.po index db43ec3c..017531af 100644 --- a/support/documentation/po/livechat.kab.po +++ b/support/documentation/po/livechat.kab.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-19 17:09+0200\n" "PO-Revision-Date: 2023-07-17 10:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Kabyle \n" @@ -3063,7 +3063,7 @@ msgstr "" #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." +msgid "This feature is optional and can be disabled by admins." msgstr "" #. type: Yaml Front Matter Hash Value: description diff --git a/support/documentation/po/livechat.nb.po b/support/documentation/po/livechat.nb.po index 07db983f..71b80229 100644 --- a/support/documentation/po/livechat.nb.po +++ b/support/documentation/po/livechat.nb.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-19 17:09+0200\n" "PO-Revision-Date: 2023-07-17 10:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Norwegian Bokmål \n" @@ -3063,7 +3063,7 @@ msgstr "" #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." +msgid "This feature is optional and can be disabled by admins." msgstr "" #. type: Yaml Front Matter Hash Value: description diff --git a/support/documentation/po/livechat.nl.po b/support/documentation/po/livechat.nl.po index 29421cd0..c4b5ec45 100644 --- a/support/documentation/po/livechat.nl.po +++ b/support/documentation/po/livechat.nl.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-19 17:09+0200\n" "PO-Revision-Date: 2023-07-17 10:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Dutch \n" @@ -3063,7 +3063,7 @@ msgstr "" #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." +msgid "This feature is optional and can be disabled by admins." msgstr "" #. type: Yaml Front Matter Hash Value: description diff --git a/support/documentation/po/livechat.nn.po b/support/documentation/po/livechat.nn.po index d725c320..2c7cfaa8 100644 --- a/support/documentation/po/livechat.nn.po +++ b/support/documentation/po/livechat.nn.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-19 17:09+0200\n" "PO-Revision-Date: 2023-07-17 10:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Norwegian Nynorsk \n" @@ -3063,7 +3063,7 @@ msgstr "" #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." +msgid "This feature is optional and can be disabled by admins." msgstr "" #. type: Yaml Front Matter Hash Value: description diff --git a/support/documentation/po/livechat.oc.po b/support/documentation/po/livechat.oc.po index f1d49fc8..f3360ada 100644 --- a/support/documentation/po/livechat.oc.po +++ b/support/documentation/po/livechat.oc.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-19 17:09+0200\n" "PO-Revision-Date: 2023-07-17 10:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Occitan \n" @@ -3063,7 +3063,7 @@ msgstr "" #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." +msgid "This feature is optional and can be disabled by admins." msgstr "" #. type: Yaml Front Matter Hash Value: description diff --git a/support/documentation/po/livechat.pl.po b/support/documentation/po/livechat.pl.po index 91c593aa..32a00aaa 100644 --- a/support/documentation/po/livechat.pl.po +++ b/support/documentation/po/livechat.pl.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-19 17:09+0200\n" "PO-Revision-Date: 2023-07-17 10:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Polish \n" @@ -3063,7 +3063,7 @@ msgstr "" #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." +msgid "This feature is optional and can be disabled by admins." msgstr "" #. type: Yaml Front Matter Hash Value: description diff --git a/support/documentation/po/livechat.pt-BR.po b/support/documentation/po/livechat.pt-BR.po index 89ae8a5b..7369b2e2 100644 --- a/support/documentation/po/livechat.pt-BR.po +++ b/support/documentation/po/livechat.pt-BR.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-19 17:09+0200\n" "PO-Revision-Date: 2025-04-10 18:56+0000\n" "Last-Translator: Túlio Simões Martins Padilha \n" "Language-Team: Portuguese (Brazil) \n" @@ -3127,8 +3127,10 @@ msgstr "Ao marcar esta opção, cada linha do campo \"{{% livechat_label livecha #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" +#, fuzzy +#| msgid "This feature can be disabled by the instance's adminitrators." +msgid "This feature is optional and can be disabled by admins." +msgstr "Esse recurso pode ser desabilitado pelos administradores da instância." #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md diff --git a/support/documentation/po/livechat.pt-PT.po b/support/documentation/po/livechat.pt-PT.po index e15f851d..10f1dedf 100644 --- a/support/documentation/po/livechat.pt-PT.po +++ b/support/documentation/po/livechat.pt-PT.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-19 17:09+0200\n" "PO-Revision-Date: 2023-07-17 10:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Portuguese \n" @@ -3063,7 +3063,7 @@ msgstr "" #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." +msgid "This feature is optional and can be disabled by admins." msgstr "" #. type: Yaml Front Matter Hash Value: description diff --git a/support/documentation/po/livechat.ru.po b/support/documentation/po/livechat.ru.po index 953de0d9..a1fe3fc8 100644 --- a/support/documentation/po/livechat.ru.po +++ b/support/documentation/po/livechat.ru.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-19 17:09+0200\n" "PO-Revision-Date: 2023-07-17 10:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Russian \n" @@ -3063,7 +3063,7 @@ msgstr "" #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." +msgid "This feature is optional and can be disabled by admins." msgstr "" #. type: Yaml Front Matter Hash Value: description diff --git a/support/documentation/po/livechat.sq.po b/support/documentation/po/livechat.sq.po index 1f0b47af..5f798183 100644 --- a/support/documentation/po/livechat.sq.po +++ b/support/documentation/po/livechat.sq.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-19 17:09+0200\n" "PO-Revision-Date: 2023-07-17 10:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Albanian \n" @@ -3063,7 +3063,7 @@ msgstr "" #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." +msgid "This feature is optional and can be disabled by admins." msgstr "" #. type: Yaml Front Matter Hash Value: description diff --git a/support/documentation/po/livechat.sv.po b/support/documentation/po/livechat.sv.po index a19e57f7..288b91a8 100644 --- a/support/documentation/po/livechat.sv.po +++ b/support/documentation/po/livechat.sv.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-19 17:09+0200\n" "PO-Revision-Date: 2023-07-17 10:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Swedish \n" @@ -3063,7 +3063,7 @@ msgstr "" #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." +msgid "This feature is optional and can be disabled by admins." msgstr "" #. type: Yaml Front Matter Hash Value: description diff --git a/support/documentation/po/livechat.th.po b/support/documentation/po/livechat.th.po index fb75fb35..a757633a 100644 --- a/support/documentation/po/livechat.th.po +++ b/support/documentation/po/livechat.th.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-19 17:09+0200\n" "PO-Revision-Date: 2023-07-17 10:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Thai \n" @@ -3063,7 +3063,7 @@ msgstr "" #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." +msgid "This feature is optional and can be disabled by admins." msgstr "" #. type: Yaml Front Matter Hash Value: description diff --git a/support/documentation/po/livechat.tok.po b/support/documentation/po/livechat.tok.po index d7e23a94..1e92af23 100644 --- a/support/documentation/po/livechat.tok.po +++ b/support/documentation/po/livechat.tok.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-19 17:09+0200\n" "PO-Revision-Date: 2023-07-17 10:53+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Toki Pona \n" @@ -3063,7 +3063,7 @@ msgstr "" #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." +msgid "This feature is optional and can be disabled by admins." msgstr "" #. type: Yaml Front Matter Hash Value: description diff --git a/support/documentation/po/livechat.tr.po b/support/documentation/po/livechat.tr.po index b8ac71d2..bd831573 100644 --- a/support/documentation/po/livechat.tr.po +++ b/support/documentation/po/livechat.tr.po @@ -3044,7 +3044,7 @@ msgstr "" #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." +msgid "This feature is optional and can be disabled by admins." msgstr "" #. type: Yaml Front Matter Hash Value: description diff --git a/support/documentation/po/livechat.uk.po b/support/documentation/po/livechat.uk.po index 1c6b98fe..fa2caca0 100644 --- a/support/documentation/po/livechat.uk.po +++ b/support/documentation/po/livechat.uk.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-19 17:09+0200\n" "PO-Revision-Date: 2024-10-13 09:25+0000\n" "Last-Translator: Ihor Hordiichuk \n" "Language-Team: Ukrainian \n" @@ -3063,7 +3063,7 @@ msgstr "" #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." +msgid "This feature is optional and can be disabled by admins." msgstr "" #. type: Yaml Front Matter Hash Value: description diff --git a/support/documentation/po/livechat.vi.po b/support/documentation/po/livechat.vi.po index 4a4089f3..b0fb1a7a 100644 --- a/support/documentation/po/livechat.vi.po +++ b/support/documentation/po/livechat.vi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-19 17:09+0200\n" "PO-Revision-Date: 2023-07-17 10:53+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Vietnamese \n" @@ -3063,7 +3063,7 @@ msgstr "" #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." +msgid "This feature is optional and can be disabled by admins." msgstr "" #. type: Yaml Front Matter Hash Value: description diff --git a/support/documentation/po/livechat.zh-Hans.po b/support/documentation/po/livechat.zh-Hans.po index 5ce2db81..caed7dda 100644 --- a/support/documentation/po/livechat.zh-Hans.po +++ b/support/documentation/po/livechat.zh-Hans.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-19 17:09+0200\n" "PO-Revision-Date: 2023-07-17 10:53+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Chinese (Simplified) \n" @@ -3063,7 +3063,7 @@ msgstr "" #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." +msgid "This feature is optional and can be disabled by admins." msgstr "" #. type: Yaml Front Matter Hash Value: description diff --git a/support/documentation/po/livechat.zh-Hant.po b/support/documentation/po/livechat.zh-Hant.po index dee7958a..7ab9f98d 100644 --- a/support/documentation/po/livechat.zh-Hant.po +++ b/support/documentation/po/livechat.zh-Hant.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-19 17:09+0200\n" "PO-Revision-Date: 2023-07-17 10:53+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Chinese (Traditional) \n" @@ -3063,7 +3063,7 @@ msgstr "" #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." +msgid "This feature is optional and can be disabled by admins." msgstr "" #. type: Yaml Front Matter Hash Value: description