From 740985d68f26b0762dceddb30fbbdf4375d8661a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Fri, 14 Jun 2024 23:40:19 +0200 Subject: [PATCH 001/287] New translations security.en.xlf (Croatian) --- translations/security.hr.xlf | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 translations/security.hr.xlf diff --git a/translations/security.hr.xlf b/translations/security.hr.xlf new file mode 100644 index 00000000..46664730 --- /dev/null +++ b/translations/security.hr.xlf @@ -0,0 +1,17 @@ + + + + + + user.login_error.user_disabled + Vaš račun je onemogućen. Molimo kontaktirajte administratora ako mislite da je ovo pogrešno. + + + + + saml.error.cannot_login_local_user_per_saml + Ne možete se prijaviti kao lokalni koristnik preko SSO! Molimo koristite vašu lokalnu zaporku. + + + + From f3bf4ca838b1330e889807a1882e41c9f9581dc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sat, 22 Jun 2024 23:02:49 +0200 Subject: [PATCH 002/287] New translations validators.en.xlf (English) --- translations/validators.en.xlf | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/translations/validators.en.xlf b/translations/validators.en.xlf index 4b11270b..a70cd76a 100644 --- a/translations/validators.en.xlf +++ b/translations/validators.en.xlf @@ -347,5 +347,11 @@ Due to technical limitations, it is not possible to select dates after the 2038-01-19 on 32-bit systems! + + + validator.invalid_range + The given range is not valid! + + From 19e5d302f488b6fc60f002a73c442685ddda44c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sun, 23 Jun 2024 21:13:37 +0200 Subject: [PATCH 003/287] Fixed detection on mariadb natsort capabilities on distributions which use the 5.5.5- prefix for MariaDB version --- src/Doctrine/Functions/Natsort.php | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/src/Doctrine/Functions/Natsort.php b/src/Doctrine/Functions/Natsort.php index fc60058f..56001039 100644 --- a/src/Doctrine/Functions/Natsort.php +++ b/src/Doctrine/Functions/Natsort.php @@ -69,13 +69,36 @@ class Natsort extends FunctionNode } $version = $connection->getServerVersion(); - //Remove the -MariaDB suffix - $version = str_replace('-MariaDB', '', $version); + + //Get the effective MariaDB version number + $version = $this->getMariaDbMysqlVersionNumber($version); + //We need at least MariaDB 10.7.0 to support the natural sort self::$supportsNaturalSort = version_compare($version, '10.7.0', '>='); return self::$supportsNaturalSort; } + /** + * Taken from Doctrine\DBAL\Driver\AbstractMySQLDriver + * + * Detect MariaDB server version, including hack for some mariadb distributions + * that starts with the prefix '5.5.5-' + * + * @param string $versionString Version string as returned by mariadb server, i.e. '5.5.5-Mariadb-10.0.8-xenial' + */ + private function getMariaDbMysqlVersionNumber(string $versionString) : string + { + if ( ! preg_match( + '/^(?:5\.5\.5-)?(mariadb-)?(?P\d+)\.(?P\d+)\.(?P\d+)/i', + $versionString, + $versionParts + )) { + throw new \RuntimeException('Could not detect MariaDB version from version string ' . $versionString); + } + + return $versionParts['major'] . '.' . $versionParts['minor'] . '.' . $versionParts['patch']; + } + public function parse(Parser $parser): void { $parser->match(TokenType::T_IDENTIFIER); From a8e1171108cd03053d66dcec1ce0b75d694a7a9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sun, 23 Jun 2024 21:14:00 +0200 Subject: [PATCH 004/287] Bumped to version 1.13.1 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index feaae22b..b50dd27d 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.13.0 +1.13.1 From d5980b762069c2ebfa271f581c21da45f53bd249 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Fri, 5 Jul 2024 11:30:31 +0200 Subject: [PATCH 005/287] New translations messages.en.xlf (Spanish) --- translations/messages.es.xlf | 12212 +++++++++++++++++++++++++++++++++ 1 file changed, 12212 insertions(+) create mode 100644 translations/messages.es.xlf diff --git a/translations/messages.es.xlf b/translations/messages.es.xlf new file mode 100644 index 00000000..df309414 --- /dev/null +++ b/translations/messages.es.xlf @@ -0,0 +1,12212 @@ + + + + + + Part-DB1\templates\AdminPages\AttachmentTypeAdmin.html.twig:4 + Part-DB1\templates\AdminPages\AttachmentTypeAdmin.html.twig:4 + templates\AdminPages\AttachmentTypeAdmin.html.twig:4 + + + attachment_type.caption + Tipo de archivo para adjuntos + + + + + Part-DB1\templates\AdminPages\AttachmentTypeAdmin.html.twig:12 + new + + + attachment_type.edit + Editar tipo de archivo + + + + + Part-DB1\templates\AdminPages\AttachmentTypeAdmin.html.twig:16 + new + + + attachment_type.new + Nuevo tipo de archivo + + + + + Part-DB1\templates\AdminPages\CategoryAdmin.html.twig:4 + Part-DB1\templates\_sidebar.html.twig:22 + Part-DB1\templates\_sidebar.html.twig:7 + Part-DB1\templates\AdminPages\CategoryAdmin.html.twig:4 + Part-DB1\templates\_sidebar.html.twig:22 + Part-DB1\templates\_sidebar.html.twig:7 + templates\AdminPages\CategoryAdmin.html.twig:4 + templates\base.html.twig:163 + templates\base.html.twig:170 + templates\base.html.twig:197 + templates\base.html.twig:225 + + + category.labelp + Categorías + + + + + Part-DB1\templates\AdminPages\CategoryAdmin.html.twig:8 + Part-DB1\templates\AdminPages\StorelocationAdmin.html.twig:19 + Part-DB1\templates\AdminPages\CategoryAdmin.html.twig:8 + Part-DB1\templates\AdminPages\StorelocationAdmin.html.twig:11 + templates\AdminPages\CategoryAdmin.html.twig:8 + + + admin.options + Opciones + + + + + Part-DB1\templates\AdminPages\CategoryAdmin.html.twig:9 + Part-DB1\templates\AdminPages\CompanyAdminBase.html.twig:15 + Part-DB1\templates\AdminPages\CategoryAdmin.html.twig:9 + Part-DB1\templates\AdminPages\CompanyAdminBase.html.twig:15 + templates\AdminPages\CategoryAdmin.html.twig:9 + + + admin.advanced + Avanzado + + + + + Part-DB1\templates\AdminPages\CategoryAdmin.html.twig:13 + new + + + category.edit + Editar categoría + + + + + Part-DB1\templates\AdminPages\CategoryAdmin.html.twig:17 + new + + + category.new + Nueva categoría + + + + + Part-DB1\templates\AdminPages\CurrencyAdmin.html.twig:4 + Part-DB1\templates\AdminPages\CurrencyAdmin.html.twig:4 + + + currency.caption + Divisa + + + + + Part-DB1\templates\AdminPages\CurrencyAdmin.html.twig:12 + Part-DB1\templates\AdminPages\CurrencyAdmin.html.twig:12 + + + currency.iso_code.caption + Código ISO + + + + + Part-DB1\templates\AdminPages\CurrencyAdmin.html.twig:15 + Part-DB1\templates\AdminPages\CurrencyAdmin.html.twig:15 + + + currency.symbol.caption + Símbolo de divisa + + + + + Part-DB1\templates\AdminPages\CurrencyAdmin.html.twig:29 + new + + + currency.edit + Editar divisa + + + + + Part-DB1\templates\AdminPages\CurrencyAdmin.html.twig:33 + new + + + currency.new + Nueva divisa + + + + + Part-DB1\templates\AdminPages\DeviceAdmin.html.twig:4 + Part-DB1\templates\AdminPages\DeviceAdmin.html.twig:4 + templates\AdminPages\DeviceAdmin.html.twig:4 + + + project.caption + Proyecto + + + + + Part-DB1\templates\AdminPages\DeviceAdmin.html.twig:8 + new + + + project.edit + Editar proyecto + + + + + Part-DB1\templates\AdminPages\DeviceAdmin.html.twig:12 + new + + + project.new + Nuevo proyecto + + + + + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:19 + Part-DB1\templates\_navbar_search.html.twig:67 + Part-DB1\templates\_sidebar.html.twig:27 + Part-DB1\templates\_sidebar.html.twig:43 + Part-DB1\templates\_sidebar.html.twig:63 + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:19 + Part-DB1\templates\_navbar_search.html.twig:61 + Part-DB1\templates\_sidebar.html.twig:27 + Part-DB1\templates\_sidebar.html.twig:43 + Part-DB1\templates\_sidebar.html.twig:63 + templates\AdminPages\EntityAdminBase.html.twig:9 + templates\base.html.twig:80 + templates\base.html.twig:179 + templates\base.html.twig:206 + templates\base.html.twig:237 + + + search.placeholder + Buscar + + + + + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:23 + Part-DB1\templates\_sidebar.html.twig:3 + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:23 + Part-DB1\templates\_sidebar.html.twig:3 + templates\AdminPages\EntityAdminBase.html.twig:13 + templates\base.html.twig:166 + templates\base.html.twig:193 + templates\base.html.twig:221 + + + expandAll + Expander todo + + + + + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:27 + Part-DB1\templates\_sidebar.html.twig:4 + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:27 + Part-DB1\templates\_sidebar.html.twig:4 + templates\AdminPages\EntityAdminBase.html.twig:17 + templates\base.html.twig:167 + templates\base.html.twig:194 + templates\base.html.twig:222 + + + reduceAll + Reducir todo + + + + + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:54 + Part-DB1\templates\Parts\info\_sidebar.html.twig:4 + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:54 + Part-DB1\templates\Parts\info\_sidebar.html.twig:4 + + + part.info.timetravel_hint + Así aparecía el componente antes de: %timestamp%. <i>Esta función es experimental, así que la información podría no ser correcta.</i> + + + + + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:60 + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:60 + templates\AdminPages\EntityAdminBase.html.twig:42 + + + standard.label + Propiedades + + + + + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:61 + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:61 + templates\AdminPages\EntityAdminBase.html.twig:43 + + + infos.label + Información + + + + + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:63 + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:63 + new + + + history.label + Historial + + + + + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:66 + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:66 + templates\AdminPages\EntityAdminBase.html.twig:45 + + + export.label + Exportar + + + + + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:68 + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:68 + templates\AdminPages\EntityAdminBase.html.twig:47 + + + import_export.label + Importar / Exportar + + + + + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:69 + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:69 + + + mass_creation.label + Creación en masa + + + + + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:82 + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:82 + templates\AdminPages\EntityAdminBase.html.twig:59 + + + admin.common + Común + + + + + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:86 + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:86 + + + admin.attachments + Adjuntos + + + + + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:90 + + + admin.parameters + Parámetros + + + + + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:179 + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:167 + templates\AdminPages\EntityAdminBase.html.twig:142 + + + export_all.label + Exportar todos los elementos + + + + + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:185 + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:173 + + + mass_creation.help + Cada línea será interpretada como el nombre de un elemento, el cual será creado. Puedes crear estructuras anidadas con identificadores. + + + + + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:45 + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:45 + templates\AdminPages\EntityAdminBase.html.twig:35 + + + edit.caption + Editar elemento "%name" + + + + + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:50 + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:50 + templates\AdminPages\EntityAdminBase.html.twig:37 + + + new.caption + Nuevo elemento + + + + + Part-DB1\templates\AdminPages\FootprintAdmin.html.twig:4 + Part-DB1\templates\_sidebar.html.twig:9 + Part-DB1\templates\AdminPages\FootprintAdmin.html.twig:4 + Part-DB1\templates\_sidebar.html.twig:9 + templates\base.html.twig:172 + templates\base.html.twig:199 + templates\base.html.twig:227 + + + footprint.labelp + Footprints + + + + + Part-DB1\templates\AdminPages\FootprintAdmin.html.twig:13 + new + + + footprint.edit + Editar footprint + + + + + Part-DB1\templates\AdminPages\FootprintAdmin.html.twig:17 + new + + + footprint.new + Nuevo footprint + + + + + Part-DB1\templates\AdminPages\GroupAdmin.html.twig:4 + Part-DB1\templates\AdminPages\GroupAdmin.html.twig:4 + + + group.edit.caption + Grupos + + + + + Part-DB1\templates\AdminPages\GroupAdmin.html.twig:9 + Part-DB1\templates\AdminPages\UserAdmin.html.twig:16 + Part-DB1\templates\AdminPages\GroupAdmin.html.twig:9 + Part-DB1\templates\AdminPages\UserAdmin.html.twig:16 + + + user.edit.permissions + Permisos + + + + + Part-DB1\templates\AdminPages\GroupAdmin.html.twig:24 + new + + + group.edit + Editar grupo + + + + + Part-DB1\templates\AdminPages\GroupAdmin.html.twig:28 + new + + + group.new + Nuevo grupo + + + + + Part-DB1\templates\AdminPages\LabelProfileAdmin.html.twig:4 + + + label_profile.caption + Perfiles de etiqueta + + + + + Part-DB1\templates\AdminPages\LabelProfileAdmin.html.twig:8 + + + label_profile.advanced + Avanzado + + + + + Part-DB1\templates\AdminPages\LabelProfileAdmin.html.twig:9 + + + label_profile.comment + Notas + + + + + Part-DB1\templates\AdminPages\LabelProfileAdmin.html.twig:55 + new + + + label_profile.edit + Editar perfil de etiqueta + + + + + Part-DB1\templates\AdminPages\LabelProfileAdmin.html.twig:59 + new + + + label_profile.new + Nuevo perfil de etiqueta + + + + + Part-DB1\templates\AdminPages\ManufacturerAdmin.html.twig:4 + Part-DB1\templates\AdminPages\ManufacturerAdmin.html.twig:4 + templates\AdminPages\ManufacturerAdmin.html.twig:4 + + + manufacturer.caption + Fabricantes + + + + + Part-DB1\templates\AdminPages\ManufacturerAdmin.html.twig:8 + new + + + manufacturer.edit + Editar fabricante + + + + + Part-DB1\templates\AdminPages\ManufacturerAdmin.html.twig:12 + new + + + manufacturer.new + Nuevo fabricante + + + + + Part-DB1\templates\AdminPages\MeasurementUnitAdmin.html.twig:4 + Part-DB1\templates\AdminPages\MeasurementUnitAdmin.html.twig:4 + + + measurement_unit.caption + Unidad de medida + + + + + Part-DB1\templates\AdminPages\StorelocationAdmin.html.twig:5 + Part-DB1\templates\_sidebar.html.twig:8 + Part-DB1\templates\AdminPages\StorelocationAdmin.html.twig:4 + Part-DB1\templates\_sidebar.html.twig:8 + templates\base.html.twig:171 + templates\base.html.twig:198 + templates\base.html.twig:226 + + + storelocation.labelp + Ubicación del almacén + + + + + Part-DB1\templates\AdminPages\StorelocationAdmin.html.twig:32 + new + + + storelocation.edit + Editar ubicación del almacén + + + + + Part-DB1\templates\AdminPages\StorelocationAdmin.html.twig:36 + new + + + storelocation.new + Nueva ubicación de almacén + + + + + Part-DB1\templates\AdminPages\SupplierAdmin.html.twig:4 + Part-DB1\templates\AdminPages\SupplierAdmin.html.twig:4 + templates\AdminPages\SupplierAdmin.html.twig:4 + + + supplier.caption + Proveedores + + + + + Part-DB1\templates\AdminPages\SupplierAdmin.html.twig:16 + new + + + supplier.edit + Editar proveedor + + + + + Part-DB1\templates\AdminPages\SupplierAdmin.html.twig:20 + new + + + supplier.new + Nuevo proveedor + + + + + Part-DB1\templates\AdminPages\UserAdmin.html.twig:8 + Part-DB1\templates\AdminPages\UserAdmin.html.twig:8 + + + user.edit.caption + Usuarios + + + + + Part-DB1\templates\AdminPages\UserAdmin.html.twig:14 + Part-DB1\templates\AdminPages\UserAdmin.html.twig:14 + + + user.edit.configuration + Configuración + + + + + Part-DB1\templates\AdminPages\UserAdmin.html.twig:15 + Part-DB1\templates\AdminPages\UserAdmin.html.twig:15 + + + user.edit.password + Contraseña + + + + + Part-DB1\templates\AdminPages\UserAdmin.html.twig:45 + Part-DB1\templates\AdminPages\UserAdmin.html.twig:45 + + + user.edit.tfa.caption + Autenticación en dos pasos + + + + + Part-DB1\templates\AdminPages\UserAdmin.html.twig:47 + Part-DB1\templates\AdminPages\UserAdmin.html.twig:47 + + + user.edit.tfa.google_active + App de autenticación activa + + + + + Part-DB1\templates\AdminPages\UserAdmin.html.twig:48 + Part-DB1\templates\Users\backup_codes.html.twig:15 + Part-DB1\templates\Users\_2fa_settings.html.twig:95 + Part-DB1\templates\AdminPages\UserAdmin.html.twig:48 + Part-DB1\templates\Users\backup_codes.html.twig:15 + Part-DB1\templates\Users\_2fa_settings.html.twig:95 + + + tfa_backup.remaining_tokens + Cuenta de códigos backup restantes + + + + + Part-DB1\templates\AdminPages\UserAdmin.html.twig:49 + Part-DB1\templates\Users\backup_codes.html.twig:17 + Part-DB1\templates\Users\_2fa_settings.html.twig:96 + Part-DB1\templates\AdminPages\UserAdmin.html.twig:49 + Part-DB1\templates\Users\backup_codes.html.twig:17 + Part-DB1\templates\Users\_2fa_settings.html.twig:96 + + + tfa_backup.generation_date + Fecha de creación de los códigos backup + + + + + Part-DB1\templates\AdminPages\UserAdmin.html.twig:53 + Part-DB1\templates\AdminPages\UserAdmin.html.twig:60 + Part-DB1\templates\AdminPages\UserAdmin.html.twig:53 + Part-DB1\templates\AdminPages\UserAdmin.html.twig:60 + + + user.edit.tfa.disabled + Método no habilitado + + + + + Part-DB1\templates\AdminPages\UserAdmin.html.twig:56 + Part-DB1\templates\AdminPages\UserAdmin.html.twig:56 + + + user.edit.tfa.u2f_keys_count + Llaves de seguridad activas + + + + + Part-DB1\templates\AdminPages\UserAdmin.html.twig:72 + Part-DB1\templates\AdminPages\UserAdmin.html.twig:72 + + + user.edit.tfa.disable_tfa_title + ¿Estás seguro de que quieres continuar? + + + + + Part-DB1\templates\AdminPages\UserAdmin.html.twig:72 + Part-DB1\templates\AdminPages\UserAdmin.html.twig:72 + + + user.edit.tfa.disable_tfa_message + Esto deshabilitará <b>todos los métodos de autenticación en dos pasos del usuario</b> y eliminará los <b>códigos backup</b>! +<br> +¡El usuario deberá configurar todos los métodos de autenticación de nuevo e imprimir nuevos códigos backup! <br><br> +<b>¡Solo haz esto si estás seguro de la identidad del usuario (buscando ayuda), si no la cuenta podría estar comprometida por ataques externos!</b> + + + + + Part-DB1\templates\AdminPages\UserAdmin.html.twig:73 + Part-DB1\templates\AdminPages\UserAdmin.html.twig:73 + + + user.edit.tfa.disable_tfa.btn + Deshabilitar todos los métodos de autenticación en dos pasos + + + + + Part-DB1\templates\AdminPages\UserAdmin.html.twig:85 + new + + + user.edit + Editar usuario + + + + + Part-DB1\templates\AdminPages\UserAdmin.html.twig:89 + new + + + user.new + Nuevo usuario + + + + + Part-DB1\templates\AdminPages\_attachments.html.twig:4 + Part-DB1\templates\Parts\edit\_attachments.html.twig:4 + Part-DB1\templates\AdminPages\_attachments.html.twig:4 + Part-DB1\templates\Parts\edit\_attachments.html.twig:4 + Part-DB1\templates\Parts\info\_attachments_info.html.twig:63 + + + attachment.delete + Eliminar + + + + + Part-DB1\templates\AdminPages\_attachments.html.twig:41 + Part-DB1\templates\Parts\edit\_attachments.html.twig:38 + Part-DB1\templates\Parts\info\_attachments_info.html.twig:35 + Part-DB1\src\DataTables\AttachmentDataTable.php:159 + Part-DB1\templates\Parts\edit\_attachments.html.twig:38 + Part-DB1\src\DataTables\AttachmentDataTable.php:159 + + + attachment.external + Externo + + + + + Part-DB1\templates\AdminPages\_attachments.html.twig:49 + Part-DB1\templates\Parts\edit\_attachments.html.twig:47 + Part-DB1\templates\AdminPages\_attachments.html.twig:47 + Part-DB1\templates\Parts\edit\_attachments.html.twig:45 + + + attachment.preview.alt + Miniatura del adjunto + + + + + Part-DB1\templates\AdminPages\_attachments.html.twig:52 + Part-DB1\templates\Parts\edit\_attachments.html.twig:50 + Part-DB1\templates\Parts\info\_attachments_info.html.twig:62 + Part-DB1\templates\AdminPages\_attachments.html.twig:50 + Part-DB1\templates\Parts\edit\_attachments.html.twig:48 + Part-DB1\templates\Parts\info\_attachments_info.html.twig:45 + + + attachment.view + Vista + + + + + Part-DB1\templates\AdminPages\_attachments.html.twig:58 + Part-DB1\templates\Parts\edit\_attachments.html.twig:56 + Part-DB1\templates\Parts\info\_attachments_info.html.twig:43 + Part-DB1\src\DataTables\AttachmentDataTable.php:166 + Part-DB1\templates\AdminPages\_attachments.html.twig:56 + Part-DB1\templates\Parts\edit\_attachments.html.twig:54 + Part-DB1\templates\Parts\info\_attachments_info.html.twig:38 + Part-DB1\src\DataTables\AttachmentDataTable.php:166 + + + attachment.file_not_found + Archivo no encontrado + + + + + Part-DB1\templates\AdminPages\_attachments.html.twig:66 + Part-DB1\templates\Parts\edit\_attachments.html.twig:64 + Part-DB1\templates\Parts\info\_attachments_info.html.twig:48 + Part-DB1\templates\Parts\edit\_attachments.html.twig:62 + + + attachment.secure + Adjunto privado + + + + + Part-DB1\templates\AdminPages\_attachments.html.twig:79 + Part-DB1\templates\Parts\edit\_attachments.html.twig:77 + Part-DB1\templates\AdminPages\_attachments.html.twig:77 + Part-DB1\templates\Parts\edit\_attachments.html.twig:75 + + + attachment.create + Añadir adjunto + + + + + Part-DB1\templates\AdminPages\_attachments.html.twig:84 + Part-DB1\templates\Parts\edit\_attachments.html.twig:82 + Part-DB1\templates\Parts\edit\_lots.html.twig:33 + Part-DB1\templates\AdminPages\_attachments.html.twig:82 + Part-DB1\templates\Parts\edit\_attachments.html.twig:80 + Part-DB1\templates\Parts\edit\_lots.html.twig:33 + + + part_lot.edit.delete.confirm + ¿Estás seguro de que quieres eliminar este stock? ¡No se puede deshacer! + + + + + Part-DB1\templates\AdminPages\_delete_form.html.twig:2 + Part-DB1\templates\AdminPages\_delete_form.html.twig:2 + templates\AdminPages\_delete_form.html.twig:2 + + + entity.delete.confirm_title + ¿Estás seguro de que quieres eliminar %name%? + + + + + Part-DB1\templates\AdminPages\_delete_form.html.twig:3 + Part-DB1\templates\AdminPages\_delete_form.html.twig:3 + templates\AdminPages\_delete_form.html.twig:3 + + + entity.delete.message + ¡No se puede deshacer! +<br> +Subelementos serán desplazados hacia arriba. + + + + + Part-DB1\templates\AdminPages\_delete_form.html.twig:11 + Part-DB1\templates\AdminPages\_delete_form.html.twig:11 + templates\AdminPages\_delete_form.html.twig:9 + + + entity.delete + Eliminar elemento + + + + + Part-DB1\templates\AdminPages\_delete_form.html.twig:16 + Part-DB1\templates\Parts\info\_tools.html.twig:45 + Part-DB1\src\Form\Part\PartBaseType.php:286 + Part-DB1\templates\AdminPages\_delete_form.html.twig:16 + Part-DB1\templates\Parts\info\_tools.html.twig:43 + Part-DB1\src\Form\Part\PartBaseType.php:267 + new + + + edit.log_comment + Cambiar comentario + + + + + Part-DB1\templates\AdminPages\_delete_form.html.twig:24 + Part-DB1\templates\AdminPages\_delete_form.html.twig:24 + templates\AdminPages\_delete_form.html.twig:12 + + + entity.delete.recursive + Eliminar recursivamente (todos los subelementos) + + + + + Part-DB1\templates\AdminPages\_duplicate.html.twig:3 + + + entity.duplicate + Duplicar elemento + + + + + Part-DB1\templates\AdminPages\_export_form.html.twig:4 + Part-DB1\src\Form\AdminPages\ImportType.php:76 + Part-DB1\templates\AdminPages\_export_form.html.twig:4 + Part-DB1\src\Form\AdminPages\ImportType.php:76 + templates\AdminPages\_export_form.html.twig:4 + src\Form\ImportType.php:67 + + + export.format + Formato de archivo + + + + + Part-DB1\templates\AdminPages\_export_form.html.twig:16 + Part-DB1\templates\AdminPages\_export_form.html.twig:16 + templates\AdminPages\_export_form.html.twig:16 + + + export.level + Nivel de verbosidad + + + + + Part-DB1\templates\AdminPages\_export_form.html.twig:19 + Part-DB1\templates\AdminPages\_export_form.html.twig:19 + templates\AdminPages\_export_form.html.twig:19 + + + export.level.simple + Simple + + + + + Part-DB1\templates\AdminPages\_export_form.html.twig:20 + Part-DB1\templates\AdminPages\_export_form.html.twig:20 + templates\AdminPages\_export_form.html.twig:20 + + + export.level.extended + Extendido + + + + + Part-DB1\templates\AdminPages\_export_form.html.twig:21 + Part-DB1\templates\AdminPages\_export_form.html.twig:21 + templates\AdminPages\_export_form.html.twig:21 + + + export.level.full + Completo + + + + + Part-DB1\templates\AdminPages\_export_form.html.twig:31 + Part-DB1\templates\AdminPages\_export_form.html.twig:31 + templates\AdminPages\_export_form.html.twig:31 + + + export.include_children + Incluir elementos hijo en la exportación + + + + + Part-DB1\templates\AdminPages\_export_form.html.twig:39 + Part-DB1\templates\AdminPages\_export_form.html.twig:39 + templates\AdminPages\_export_form.html.twig:39 + + + export.btn + Exportar + + + + + Part-DB1\templates\AdminPages\_info.html.twig:4 + Part-DB1\templates\Parts\edit\edit_part_info.html.twig:12 + Part-DB1\templates\Parts\info\show_part_info.html.twig:24 + Part-DB1\templates\Parts\info\_extended_infos.html.twig:36 + Part-DB1\templates\AdminPages\_info.html.twig:4 + Part-DB1\templates\Parts\edit\edit_part_info.html.twig:12 + Part-DB1\templates\Parts\info\show_part_info.html.twig:24 + Part-DB1\templates\Parts\info\_extended_infos.html.twig:36 + templates\AdminPages\EntityAdminBase.html.twig:94 + templates\Parts\edit_part_info.html.twig:12 + templates\Parts\show_part_info.html.twig:11 + + + id.label + ID + + + + + Part-DB1\templates\AdminPages\_info.html.twig:11 + Part-DB1\templates\Parts\info\_attachments_info.html.twig:76 + Part-DB1\templates\Parts\info\_attachments_info.html.twig:77 + Part-DB1\templates\Parts\info\_extended_infos.html.twig:6 + Part-DB1\templates\Parts\info\_order_infos.html.twig:69 + Part-DB1\templates\Parts\info\_sidebar.html.twig:12 + Part-DB1\templates\Parts\lists\_info_card.html.twig:77 + Part-DB1\templates\AdminPages\_info.html.twig:11 + Part-DB1\templates\Parts\info\_attachments_info.html.twig:59 + Part-DB1\templates\Parts\info\_attachments_info.html.twig:60 + Part-DB1\templates\Parts\info\_extended_infos.html.twig:6 + Part-DB1\templates\Parts\info\_order_infos.html.twig:69 + Part-DB1\templates\Parts\info\_sidebar.html.twig:12 + Part-DB1\templates\Parts\lists\_info_card.html.twig:53 + templates\AdminPages\EntityAdminBase.html.twig:101 + templates\Parts\show_part_info.html.twig:248 + + + createdAt + Creado en + + + + + Part-DB1\templates\AdminPages\_info.html.twig:25 + Part-DB1\templates\Parts\info\_extended_infos.html.twig:21 + Part-DB1\templates\Parts\info\_sidebar.html.twig:8 + Part-DB1\templates\Parts\lists\_info_card.html.twig:73 + Part-DB1\templates\AdminPages\_info.html.twig:25 + Part-DB1\templates\Parts\info\_extended_infos.html.twig:21 + Part-DB1\templates\Parts\info\_sidebar.html.twig:8 + Part-DB1\templates\Parts\lists\_info_card.html.twig:49 + templates\AdminPages\EntityAdminBase.html.twig:114 + templates\Parts\show_part_info.html.twig:263 + + + lastModified + Última modificación + + + + + Part-DB1\templates\AdminPages\_info.html.twig:38 + Part-DB1\templates\AdminPages\_info.html.twig:38 + + + entity.info.parts_count + Número de componentes de este elemento + + + + + Part-DB1\templates\AdminPages\_parameters.html.twig:6 + Part-DB1\templates\helper.twig:125 + Part-DB1\templates\Parts\edit\_specifications.html.twig:6 + + + specifications.property + Parámetro + + + + + Part-DB1\templates\AdminPages\_parameters.html.twig:7 + Part-DB1\templates\Parts\edit\_specifications.html.twig:7 + + + specifications.symbol + Símbolo + + + + + Part-DB1\templates\AdminPages\_parameters.html.twig:8 + Part-DB1\templates\Parts\edit\_specifications.html.twig:8 + + + specifications.value_min + Min. + + + + + Part-DB1\templates\AdminPages\_parameters.html.twig:9 + Part-DB1\templates\Parts\edit\_specifications.html.twig:9 + + + specifications.value_typ + Typ. + + + + + Part-DB1\templates\AdminPages\_parameters.html.twig:10 + Part-DB1\templates\Parts\edit\_specifications.html.twig:10 + + + specifications.value_max + Max. + + + + + Part-DB1\templates\AdminPages\_parameters.html.twig:11 + Part-DB1\templates\Parts\edit\_specifications.html.twig:11 + + + specifications.unit + Unidad + + + + + Part-DB1\templates\AdminPages\_parameters.html.twig:12 + Part-DB1\templates\Parts\edit\_specifications.html.twig:12 + + + specifications.text + Texto + + + + + Part-DB1\templates\AdminPages\_parameters.html.twig:13 + Part-DB1\templates\Parts\edit\_specifications.html.twig:13 + + + specifications.group + Grupo + + + + + Part-DB1\templates\AdminPages\_parameters.html.twig:26 + Part-DB1\templates\Parts\edit\_specifications.html.twig:26 + + + specification.create + Nuevo parámetro + + + + + Part-DB1\templates\AdminPages\_parameters.html.twig:31 + Part-DB1\templates\Parts\edit\_specifications.html.twig:31 + + + parameter.delete.confirm + ¿Estás seguro de que quieres eliminar este parámetro? + + + + + Part-DB1\templates\attachment_list.html.twig:3 + Part-DB1\templates\attachment_list.html.twig:3 + + + attachment.list.title + Lista de adjuntos + + + + + Part-DB1\templates\attachment_list.html.twig:10 + Part-DB1\templates\LogSystem\_log_table.html.twig:8 + Part-DB1\templates\Parts\lists\_parts_list.html.twig:6 + Part-DB1\templates\attachment_list.html.twig:10 + Part-DB1\templates\LogSystem\_log_table.html.twig:8 + Part-DB1\templates\Parts\lists\_parts_list.html.twig:6 + + + part_list.loading.caption + Cargando + + + + + Part-DB1\templates\attachment_list.html.twig:11 + Part-DB1\templates\LogSystem\_log_table.html.twig:9 + Part-DB1\templates\Parts\lists\_parts_list.html.twig:7 + Part-DB1\templates\attachment_list.html.twig:11 + Part-DB1\templates\LogSystem\_log_table.html.twig:9 + Part-DB1\templates\Parts\lists\_parts_list.html.twig:7 + + + part_list.loading.message + Esto puede llevar unos instantes. Si este mensaje no desaparece, prueba a refrescar la página. + + + + + Part-DB1\templates\base.html.twig:68 + Part-DB1\templates\base.html.twig:68 + templates\base.html.twig:246 + + + vendor.base.javascript_hint + ¡Por favor, activa Javascript para poder usar todas las funciones! + + + + + Part-DB1\templates\base.html.twig:73 + Part-DB1\templates\base.html.twig:73 + + + sidebar.big.toggle + Mostrar/Esconder barra lateral + + + + + Part-DB1\templates\base.html.twig:95 + Part-DB1\templates\base.html.twig:95 + templates\base.html.twig:271 + + + loading.caption + Cargando: + + + + + Part-DB1\templates\base.html.twig:96 + Part-DB1\templates\base.html.twig:96 + templates\base.html.twig:272 + + + loading.message + Esto puede llevar un rato. Si este mensaje tarda mucho en desaparecer, prueba a refrescar la página. + + + + + Part-DB1\templates\base.html.twig:101 + Part-DB1\templates\base.html.twig:101 + templates\base.html.twig:277 + + + loading.bar + Cargando... + + + + + Part-DB1\templates\base.html.twig:112 + Part-DB1\templates\base.html.twig:112 + templates\base.html.twig:288 + + + back_to_top + Volver al inicio de la página + + + + + Part-DB1\templates\Form\permissionLayout.html.twig:35 + Part-DB1\templates\Form\permissionLayout.html.twig:35 + + + permission.edit.permission + Permisos + + + + + Part-DB1\templates\Form\permissionLayout.html.twig:36 + Part-DB1\templates\Form\permissionLayout.html.twig:36 + + + permission.edit.value + Valor + + + + + Part-DB1\templates\Form\permissionLayout.html.twig:53 + Part-DB1\templates\Form\permissionLayout.html.twig:53 + + + permission.legend.title + Explicación de los estados + + + + + Part-DB1\templates\Form\permissionLayout.html.twig:57 + Part-DB1\templates\Form\permissionLayout.html.twig:57 + + + permission.legend.disallow + Prohibido + + + + + Part-DB1\templates\Form\permissionLayout.html.twig:61 + Part-DB1\templates\Form\permissionLayout.html.twig:61 + + + permission.legend.allow + Autorizado + + + + + Part-DB1\templates\Form\permissionLayout.html.twig:65 + Part-DB1\templates\Form\permissionLayout.html.twig:65 + + + permission.legend.inherit + Heredar de grupo padre + + + + + Part-DB1\templates\helper.twig:3 + Part-DB1\templates\helper.twig:3 + + + bool.true + Verdadero + + + + + Part-DB1\templates\helper.twig:5 + Part-DB1\templates\helper.twig:5 + + + bool.false + Falso + + + + + Part-DB1\templates\helper.twig:92 + Part-DB1\templates\helper.twig:87 + + + Yes + + + + + + Part-DB1\templates\helper.twig:94 + Part-DB1\templates\helper.twig:89 + + + No + No + + + + + Part-DB1\templates\helper.twig:126 + + + specifications.value + Valor + + + + + Part-DB1\templates\homepage.html.twig:7 + Part-DB1\templates\homepage.html.twig:7 + templates\homepage.html.twig:7 + + + version.caption + Versión + + + + + Part-DB1\templates\homepage.html.twig:22 + Part-DB1\templates\homepage.html.twig:22 + templates\homepage.html.twig:19 + + + homepage.license + Información de licencia + + + + + Part-DB1\templates\homepage.html.twig:31 + Part-DB1\templates\homepage.html.twig:31 + templates\homepage.html.twig:28 + + + homepage.github.caption + Página de proyecto + + + + + Part-DB1\templates\homepage.html.twig:31 + Part-DB1\templates\homepage.html.twig:31 + templates\homepage.html.twig:28 + + + homepage.github.text + Fuente, descargas, informes de error, listas de quehaceres etc. pueden ser encontrados en <a href="%href%" class="link-external" target="_blank">GitHub página de proyecto</a> + + + + + Part-DB1\templates\homepage.html.twig:32 + Part-DB1\templates\homepage.html.twig:32 + templates\homepage.html.twig:29 + + + homepage.help.caption + Ayuda + + + + + Part-DB1\templates\homepage.html.twig:32 + Part-DB1\templates\homepage.html.twig:32 + templates\homepage.html.twig:29 + + + homepage.help.text + Ayuda y sugerencias pueden ser encontradas en la Wiki de <a href="%href%" class="link-external" target="_blank">GitHub página</a> + + + + + Part-DB1\templates\homepage.html.twig:33 + Part-DB1\templates\homepage.html.twig:33 + templates\homepage.html.twig:30 + + + homepage.forum.caption + Foro + + + + + Part-DB1\templates\homepage.html.twig:45 + Part-DB1\templates\homepage.html.twig:45 + new + + + homepage.last_activity + Última actividad + + + + + Part-DB1\templates\LabelSystem\dialog.html.twig:3 + Part-DB1\templates\LabelSystem\dialog.html.twig:6 + + + label_generator.title + Generador de etiquetas + + + + + Part-DB1\templates\LabelSystem\dialog.html.twig:16 + + + label_generator.common + Común + + + + + Part-DB1\templates\LabelSystem\dialog.html.twig:20 + + + label_generator.advanced + Avanzado + + + + + Part-DB1\templates\LabelSystem\dialog.html.twig:24 + + + label_generator.profiles + Perfiles + + + + + Part-DB1\templates\LabelSystem\dialog.html.twig:58 + + + label_generator.selected_profile + Perfil seleccionado + + + + + Part-DB1\templates\LabelSystem\dialog.html.twig:62 + + + label_generator.edit_profile + Editar perfil + + + + + Part-DB1\templates\LabelSystem\dialog.html.twig:75 + + + label_generator.load_profile + Cargar perfil + + + + + Part-DB1\templates\LabelSystem\dialog.html.twig:102 + + + label_generator.download + Descargar + + + + + Part-DB1\templates\LabelSystem\dropdown_macro.html.twig:3 + Part-DB1\templates\LabelSystem\dropdown_macro.html.twig:5 + + + label_generator.label_btn + Generar etiqueta + + + + + Part-DB1\templates\LabelSystem\dropdown_macro.html.twig:20 + + + label_generator.label_empty + Nueva etiqueta vacía + + + + + Part-DB1\templates\LabelSystem\Scanner\dialog.html.twig:3 + + + label_scanner.title + Lector de etiquetas + + + + + Part-DB1\templates\LabelSystem\Scanner\dialog.html.twig:7 + + + label_scanner.no_cam_found.title + Webcam no encontrada + + + + + Part-DB1\templates\LabelSystem\Scanner\dialog.html.twig:7 + + + label_scanner.no_cam_found.text + Necesitas una webcam y dar permiso para utilizar la función del lector. Puedes introducir el código de barras manualmente abajo. + + + + + Part-DB1\templates\LabelSystem\Scanner\dialog.html.twig:27 + + + label_scanner.source_select + Selecciona una fuente + + + + + Part-DB1\templates\LogSystem\log_list.html.twig:3 + Part-DB1\templates\LogSystem\log_list.html.twig:3 + + + log.list.title + Registro de sistema + + + + + Part-DB1\templates\LogSystem\_log_table.html.twig:1 + Part-DB1\templates\LogSystem\_log_table.html.twig:1 + new + + + log.undo.confirm_title + ¿Quieres deshacer el cambio / volver a una fecha anterior? + + + + + Part-DB1\templates\LogSystem\_log_table.html.twig:2 + Part-DB1\templates\LogSystem\_log_table.html.twig:2 + new + + + log.undo.confirm_message + ¿Estás seguro de que quieres deshacer el cambio / reiniciar el elemento a una fecha dada? + + + + + Part-DB1\templates\mail\base.html.twig:24 + Part-DB1\templates\mail\base.html.twig:24 + + + mail.footer.email_sent_by + Este e-mail fue enviado automáticamente por + + + + + Part-DB1\templates\mail\base.html.twig:24 + Part-DB1\templates\mail\base.html.twig:24 + + + mail.footer.dont_reply + No respondas a este e-mail. + + + + + Part-DB1\templates\mail\pw_reset.html.twig:6 + Part-DB1\templates\mail\pw_reset.html.twig:6 + + + email.hi %name% + Hi %name% + + + + + Part-DB1\templates\mail\pw_reset.html.twig:7 + Part-DB1\templates\mail\pw_reset.html.twig:7 + + + email.pw_reset.message + Alguien (esperemos que tú) ha solicitado cambiar la contraseña. Si tú no lo has solicitado, ignora este email. + + + + + Part-DB1\templates\mail\pw_reset.html.twig:9 + Part-DB1\templates\mail\pw_reset.html.twig:9 + + + email.pw_reset.button + Pulsa aquí para restablecer la contraseña + + + + + Part-DB1\templates\mail\pw_reset.html.twig:11 + Part-DB1\templates\mail\pw_reset.html.twig:11 + + + email.pw_reset.fallback + Si esto no te funciona, ves a <a href="%url%">%url%</a> e introduce la siguiente información + + + + + Part-DB1\templates\mail\pw_reset.html.twig:16 + Part-DB1\templates\mail\pw_reset.html.twig:16 + + + email.pw_reset.username + Nombre de usuario + + + + + Part-DB1\templates\mail\pw_reset.html.twig:19 + Part-DB1\templates\mail\pw_reset.html.twig:19 + + + email.pw_reset.token + Token + + + + + Part-DB1\templates\mail\pw_reset.html.twig:24 + Part-DB1\templates\mail\pw_reset.html.twig:24 + + + email.pw_reset.valid_unit %date% + El token de reinicio será válido hasta <i>%date%</i>. + + + + + Part-DB1\templates\Parts\edit\edit_form_styles.html.twig:18 + Part-DB1\templates\Parts\edit\edit_form_styles.html.twig:58 + Part-DB1\templates\Parts\edit\edit_form_styles.html.twig:78 + Part-DB1\templates\Parts\edit\edit_form_styles.html.twig:58 + + + orderdetail.delete + Eliminar + + + + + Part-DB1\templates\Parts\edit\edit_form_styles.html.twig:39 + Part-DB1\templates\Parts\edit\edit_form_styles.html.twig:39 + + + pricedetails.edit.min_qty + Cantidad mínima de descuento + + + + + Part-DB1\templates\Parts\edit\edit_form_styles.html.twig:40 + Part-DB1\templates\Parts\edit\edit_form_styles.html.twig:40 + + + pricedetails.edit.price + Precio + + + + + Part-DB1\templates\Parts\edit\edit_form_styles.html.twig:41 + Part-DB1\templates\Parts\edit\edit_form_styles.html.twig:41 + + + pricedetails.edit.price_qty + Por la cantidad + + + + + Part-DB1\templates\Parts\edit\edit_form_styles.html.twig:54 + Part-DB1\templates\Parts\edit\edit_form_styles.html.twig:54 + + + pricedetail.create + Añadir precio + + + + + Part-DB1\templates\Parts\edit\edit_part_info.html.twig:4 + Part-DB1\templates\Parts\edit\edit_part_info.html.twig:4 + templates\Parts\edit_part_info.html.twig:4 + + + part.edit.title + Editar componente + + + + + Part-DB1\templates\Parts\edit\edit_part_info.html.twig:9 + Part-DB1\templates\Parts\edit\edit_part_info.html.twig:9 + templates\Parts\edit_part_info.html.twig:9 + + + part.edit.card_title + Editar componente + + + + + Part-DB1\templates\Parts\edit\edit_part_info.html.twig:22 + Part-DB1\templates\Parts\edit\edit_part_info.html.twig:22 + + + part.edit.tab.common + Común + + + + + Part-DB1\templates\Parts\edit\edit_part_info.html.twig:28 + Part-DB1\templates\Parts\edit\edit_part_info.html.twig:28 + + + part.edit.tab.manufacturer + Fabricante + + + + + Part-DB1\templates\Parts\edit\edit_part_info.html.twig:34 + Part-DB1\templates\Parts\edit\edit_part_info.html.twig:34 + + + part.edit.tab.advanced + Avanzado + + + + + Part-DB1\templates\Parts\edit\edit_part_info.html.twig:40 + Part-DB1\templates\Parts\edit\edit_part_info.html.twig:40 + + + part.edit.tab.part_lots + Stock + + + + + Part-DB1\templates\Parts\edit\edit_part_info.html.twig:46 + Part-DB1\templates\Parts\edit\edit_part_info.html.twig:46 + + + part.edit.tab.attachments + Adjuntos + + + + + Part-DB1\templates\Parts\edit\edit_part_info.html.twig:52 + Part-DB1\templates\Parts\edit\edit_part_info.html.twig:52 + + + part.edit.tab.orderdetails + Información del pedido + + + + + Part-DB1\templates\Parts\edit\edit_part_info.html.twig:58 + + + part.edit.tab.specifications + Parámetros + + + + + Part-DB1\templates\Parts\edit\edit_part_info.html.twig:64 + Part-DB1\templates\Parts\edit\edit_part_info.html.twig:58 + + + part.edit.tab.comment + Notas + + + + + Part-DB1\templates\Parts\edit\new_part.html.twig:8 + Part-DB1\templates\Parts\edit\new_part.html.twig:8 + templates\Parts\new_part.html.twig:8 + + + part.new.card_title + Crear nuevo componente + + + + + Part-DB1\templates\Parts\edit\_lots.html.twig:5 + Part-DB1\templates\Parts\edit\_lots.html.twig:5 + + + part_lot.delete + Eliminar + + + + + Part-DB1\templates\Parts\edit\_lots.html.twig:28 + Part-DB1\templates\Parts\edit\_lots.html.twig:28 + + + part_lot.create + Añadir stock + + + + + Part-DB1\templates\Parts\edit\_orderdetails.html.twig:13 + Part-DB1\templates\Parts\edit\_orderdetails.html.twig:13 + + + orderdetail.create + Añadir distribuidor + + + + + Part-DB1\templates\Parts\edit\_orderdetails.html.twig:18 + Part-DB1\templates\Parts\edit\_orderdetails.html.twig:18 + + + pricedetails.edit.delete.confirm + ¿Estás seguro de que quieres eliminar este precio? No se puede deshacer. + + + + + Part-DB1\templates\Parts\edit\_orderdetails.html.twig:62 + Part-DB1\templates\Parts\edit\_orderdetails.html.twig:61 + + + orderdetails.edit.delete.confirm + ¿Estás seguro de que quieres eliminar la información de este distribuidor? ¡No se puede deshacer! + + + + + Part-DB1\templates\Parts\info\show_part_info.html.twig:4 + Part-DB1\templates\Parts\info\show_part_info.html.twig:19 + Part-DB1\templates\Parts\info\show_part_info.html.twig:4 + Part-DB1\templates\Parts\info\show_part_info.html.twig:19 + templates\Parts\show_part_info.html.twig:4 + templates\Parts\show_part_info.html.twig:9 + + + part.info.title + Información detallada del componente + + + + + Part-DB1\templates\Parts\info\show_part_info.html.twig:47 + Part-DB1\templates\Parts\info\show_part_info.html.twig:47 + + + part.part_lots.label + Stocks + + + + + Part-DB1\templates\Parts\info\show_part_info.html.twig:56 + Part-DB1\templates\Parts\lists\_info_card.html.twig:43 + Part-DB1\templates\_navbar_search.html.twig:31 + Part-DB1\templates\_navbar_search.html.twig:26 + templates\base.html.twig:62 + templates\Parts\show_part_info.html.twig:74 + src\Form\PartType.php:86 + + + comment.label + Notas + + + + + Part-DB1\templates\Parts\info\show_part_info.html.twig:64 + + + part.info.specifications + Parámetros + + + + + Part-DB1\templates\Parts\info\show_part_info.html.twig:74 + Part-DB1\templates\Parts\info\show_part_info.html.twig:64 + templates\Parts\show_part_info.html.twig:82 + + + attachment.labelp + Adjuntos + + + + + Part-DB1\templates\Parts\info\show_part_info.html.twig:83 + Part-DB1\templates\Parts\info\show_part_info.html.twig:71 + templates\Parts\show_part_info.html.twig:88 + + + vendor.partinfo.shopping_infos + Información de la compra + + + + + Part-DB1\templates\Parts\info\show_part_info.html.twig:91 + Part-DB1\templates\Parts\info\show_part_info.html.twig:78 + templates\Parts\show_part_info.html.twig:94 + + + vendor.partinfo.history + Historial + + + + + Part-DB1\templates\Parts\info\show_part_info.html.twig:97 + Part-DB1\templates\_sidebar.html.twig:54 + Part-DB1\templates\_sidebar.html.twig:13 + Part-DB1\templates\Parts\info\show_part_info.html.twig:84 + Part-DB1\templates\_sidebar.html.twig:54 + Part-DB1\templates\_sidebar.html.twig:13 + templates\base.html.twig:176 + templates\base.html.twig:203 + templates\base.html.twig:217 + templates\base.html.twig:231 + templates\Parts\show_part_info.html.twig:100 + + + tools.label + Herramientas + + + + + Part-DB1\templates\Parts\info\show_part_info.html.twig:103 + Part-DB1\templates\Parts\info\show_part_info.html.twig:90 + + + extended_info.label + Información adicional + + + + + Part-DB1\templates\Parts\info\_attachments_info.html.twig:7 + Part-DB1\templates\Parts\info\_attachments_info.html.twig:7 + + + attachment.name + Nombre + + + + + Part-DB1\templates\Parts\info\_attachments_info.html.twig:8 + Part-DB1\templates\Parts\info\_attachments_info.html.twig:8 + + + attachment.attachment_type + Tipo de archivo adjunto + + + + + Part-DB1\templates\Parts\info\_attachments_info.html.twig:9 + Part-DB1\templates\Parts\info\_attachments_info.html.twig:9 + + + attachment.file_name + Nombre de archivo + + + + + Part-DB1\templates\Parts\info\_attachments_info.html.twig:10 + Part-DB1\templates\Parts\info\_attachments_info.html.twig:10 + + + attachment.file_size + Tamaño de archivo + + + + + Part-DB1\templates\Parts\info\_attachments_info.html.twig:54 + + + attachment.preview + Vista previa + + + + + Part-DB1\templates\Parts\info\_attachments_info.html.twig:67 + Part-DB1\templates\Parts\info\_attachments_info.html.twig:50 + + + attachment.download + Descargar + + + + + Part-DB1\templates\Parts\info\_extended_infos.html.twig:11 + Part-DB1\templates\Parts\info\_extended_infos.html.twig:11 + new + + + user.creating_user + Usuario que ha creado este componente + + + + + Part-DB1\templates\Parts\info\_extended_infos.html.twig:13 + Part-DB1\templates\Parts\info\_extended_infos.html.twig:28 + Part-DB1\templates\Parts\info\_extended_infos.html.twig:50 + Part-DB1\templates\Parts\info\_extended_infos.html.twig:13 + Part-DB1\templates\Parts\info\_extended_infos.html.twig:28 + Part-DB1\templates\Parts\info\_extended_infos.html.twig:50 + + + Unknown + Desconocido + + + + + Part-DB1\templates\Parts\info\_extended_infos.html.twig:15 + Part-DB1\templates\Parts\info\_extended_infos.html.twig:30 + Part-DB1\templates\Parts\info\_extended_infos.html.twig:15 + Part-DB1\templates\Parts\info\_extended_infos.html.twig:30 + new + + + accessDenied + Acceso denegado + + + + + Part-DB1\templates\Parts\info\_extended_infos.html.twig:26 + Part-DB1\templates\Parts\info\_extended_infos.html.twig:26 + new + + + user.last_editing_user + Último usuario que ha editado este componente + + + + + Part-DB1\templates\Parts\info\_extended_infos.html.twig:41 + Part-DB1\templates\Parts\info\_extended_infos.html.twig:41 + + + part.isFavorite + Favorito + + + + + Part-DB1\templates\Parts\info\_extended_infos.html.twig:46 + Part-DB1\templates\Parts\info\_extended_infos.html.twig:46 + + + part.minOrderAmount + Cantidad mínima de pedido + + + + + Part-DB1\templates\Parts\info\_main_infos.html.twig:8 + Part-DB1\templates\_navbar_search.html.twig:46 + Part-DB1\src\Services\ElementTypeNameGenerator.php:84 + Part-DB1\templates\Parts\info\_main_infos.html.twig:8 + Part-DB1\templates\_navbar_search.html.twig:41 + Part-DB1\src\Services\ElementTypeNameGenerator.php:84 + templates\base.html.twig:70 + templates\Parts\show_part_info.html.twig:24 + src\Form\PartType.php:80 + + + manufacturer.label + Fabricante + + + + + Part-DB1\templates\Parts\info\_main_infos.html.twig:24 + Part-DB1\templates\_navbar_search.html.twig:11 + templates\base.html.twig:54 + src\Form\PartType.php:62 + + + name.label + Nombre + + + + + Part-DB1\templates\Parts\info\_main_infos.html.twig:27 + Part-DB1\templates\Parts\info\_main_infos.html.twig:27 + new + + + part.back_to_info + Volver a la versión actual + + + + + Part-DB1\templates\Parts\info\_main_infos.html.twig:32 + Part-DB1\templates\_navbar_search.html.twig:19 + Part-DB1\templates\Parts\info\_main_infos.html.twig:32 + Part-DB1\templates\_navbar_search.html.twig:18 + templates\base.html.twig:58 + templates\Parts\show_part_info.html.twig:31 + src\Form\PartType.php:65 + + + description.label + Descripción + + + + + Part-DB1\templates\Parts\info\_main_infos.html.twig:34 + Part-DB1\templates\_navbar_search.html.twig:15 + Part-DB1\src\Services\ElementTypeNameGenerator.php:80 + Part-DB1\templates\Parts\info\_main_infos.html.twig:34 + Part-DB1\templates\_navbar_search.html.twig:14 + Part-DB1\src\Services\ElementTypeNameGenerator.php:80 + templates\base.html.twig:56 + templates\Parts\show_part_info.html.twig:32 + src\Form\PartType.php:74 + + + category.label + Categoría + + + + + Part-DB1\templates\Parts\info\_main_infos.html.twig:39 + Part-DB1\templates\Parts\info\_main_infos.html.twig:39 + templates\Parts\show_part_info.html.twig:42 + src\Form\PartType.php:69 + + + instock.label + En stock + + + + + Part-DB1\templates\Parts\info\_main_infos.html.twig:41 + Part-DB1\templates\Parts\info\_main_infos.html.twig:41 + templates\Parts\show_part_info.html.twig:44 + src\Form\PartType.php:72 + + + mininstock.label + Stock mínimo + + + + + Part-DB1\templates\Parts\info\_main_infos.html.twig:45 + Part-DB1\templates\_navbar_search.html.twig:52 + Part-DB1\src\Services\ElementTypeNameGenerator.php:83 + Part-DB1\templates\Parts\info\_main_infos.html.twig:45 + Part-DB1\templates\_navbar_search.html.twig:47 + Part-DB1\src\Services\ElementTypeNameGenerator.php:83 + templates\base.html.twig:73 + templates\Parts\show_part_info.html.twig:47 + + + footprint.label + Footprint + + + + + Part-DB1\templates\Parts\info\_main_infos.html.twig:56 + Part-DB1\templates\Parts\info\_main_infos.html.twig:59 + Part-DB1\templates\Parts\info\_main_infos.html.twig:57 + Part-DB1\templates\Parts\info\_main_infos.html.twig:60 + templates\Parts\show_part_info.html.twig:51 + + + part.avg_price.label + Precio promedio + + + + + Part-DB1\templates\Parts\info\_order_infos.html.twig:5 + Part-DB1\templates\Parts\info\_order_infos.html.twig:5 + + + part.supplier.name + Nombre + + + + + Part-DB1\templates\Parts\info\_order_infos.html.twig:6 + Part-DB1\templates\Parts\info\_order_infos.html.twig:6 + + + part.supplier.partnr + Nº de pedido + + + + + Part-DB1\templates\Parts\info\_order_infos.html.twig:28 + Part-DB1\templates\Parts\info\_order_infos.html.twig:28 + + + part.order.minamount + Cantidad mínima + + + + + Part-DB1\templates\Parts\info\_order_infos.html.twig:29 + Part-DB1\templates\Parts\info\_order_infos.html.twig:29 + + + part.order.price + Precio + + + + + Part-DB1\templates\Parts\info\_order_infos.html.twig:31 + Part-DB1\templates\Parts\info\_order_infos.html.twig:31 + + + part.order.single_price + Precio unitario + + + + + Part-DB1\templates\Parts\info\_order_infos.html.twig:71 + Part-DB1\templates\Parts\info\_order_infos.html.twig:71 + + + edit.caption_short + Editar + + + + + Part-DB1\templates\Parts\info\_order_infos.html.twig:72 + Part-DB1\templates\Parts\info\_order_infos.html.twig:72 + + + delete.caption + Eliminar + + + + + Part-DB1\templates\Parts\info\_part_lots.html.twig:7 + Part-DB1\templates\Parts\info\_part_lots.html.twig:6 + + + part_lots.description + Descripción + + + + + Part-DB1\templates\Parts\info\_part_lots.html.twig:8 + Part-DB1\templates\Parts\info\_part_lots.html.twig:7 + + + part_lots.storage_location + Ubicación de almacenamiento + + + + + Part-DB1\templates\Parts\info\_part_lots.html.twig:9 + Part-DB1\templates\Parts\info\_part_lots.html.twig:8 + + + part_lots.amount + Cantidad + + + + + Part-DB1\templates\Parts\info\_part_lots.html.twig:24 + Part-DB1\templates\Parts\info\_part_lots.html.twig:22 + + + part_lots.location_unknown + Ubicación del almacén desconocida + + + + + Part-DB1\templates\Parts\info\_part_lots.html.twig:31 + Part-DB1\templates\Parts\info\_part_lots.html.twig:29 + + + part_lots.instock_unknown + Cantidad desconocida + + + + + Part-DB1\templates\Parts\info\_part_lots.html.twig:40 + Part-DB1\templates\Parts\info\_part_lots.html.twig:38 + + + part_lots.expiration_date + Fecha de vencimiento + + + + + Part-DB1\templates\Parts\info\_part_lots.html.twig:48 + Part-DB1\templates\Parts\info\_part_lots.html.twig:46 + + + part_lots.is_expired + Caducado + + + + + Part-DB1\templates\Parts\info\_part_lots.html.twig:55 + Part-DB1\templates\Parts\info\_part_lots.html.twig:53 + + + part_lots.need_refill + Necesita ser recargado + + + + + Part-DB1\templates\Parts\info\_picture.html.twig:15 + Part-DB1\templates\Parts\info\_picture.html.twig:15 + + + part.info.prev_picture + Imagen previa + + + + + Part-DB1\templates\Parts\info\_picture.html.twig:19 + Part-DB1\templates\Parts\info\_picture.html.twig:19 + + + part.info.next_picture + Siguiente imagen + + + + + Part-DB1\templates\Parts\info\_sidebar.html.twig:21 + Part-DB1\templates\Parts\info\_sidebar.html.twig:21 + + + part.mass.tooltip + Peso + + + + + Part-DB1\templates\Parts\info\_sidebar.html.twig:30 + Part-DB1\templates\Parts\info\_sidebar.html.twig:30 + + + part.needs_review.badge + Necesita revisión + + + + + Part-DB1\templates\Parts\info\_sidebar.html.twig:39 + Part-DB1\templates\Parts\info\_sidebar.html.twig:39 + + + part.favorite.badge + Favorito + + + + + Part-DB1\templates\Parts\info\_sidebar.html.twig:47 + Part-DB1\templates\Parts\info\_sidebar.html.twig:47 + + + part.obsolete.badge + No disponible + + + + + Part-DB1\templates\Parts\info\_specifications.html.twig:10 + + + parameters.extracted_from_description + Extraído automáticamente de la descripción + + + + + Part-DB1\templates\Parts\info\_specifications.html.twig:15 + + + parameters.auto_extracted_from_comment + Extraído automáticamente de las notas + + + + + Part-DB1\templates\Parts\info\_tools.html.twig:6 + Part-DB1\templates\Parts\info\_tools.html.twig:4 + templates\Parts\show_part_info.html.twig:125 + + + part.edit.btn + Editar componente + + + + + Part-DB1\templates\Parts\info\_tools.html.twig:16 + Part-DB1\templates\Parts\info\_tools.html.twig:14 + templates\Parts\show_part_info.html.twig:135 + + + part.clone.btn + Clonar componente + + + + + Part-DB1\templates\Parts\info\_tools.html.twig:24 + Part-DB1\templates\Parts\lists\_action_bar.html.twig:4 + templates\Parts\show_part_info.html.twig:143 + + + part.create.btn + Crear nuevo componente + + + + + Part-DB1\templates\Parts\info\_tools.html.twig:31 + Part-DB1\templates\Parts\info\_tools.html.twig:29 + + + part.delete.confirm_title + ¿De verdad quieres eliminar este componente? + + + + + Part-DB1\templates\Parts\info\_tools.html.twig:32 + Part-DB1\templates\Parts\info\_tools.html.twig:30 + + + part.delete.message + Este componente y la información asociada (adjuntos, precio, etc.) serán eliminados. ¡Esto no se puede deshacer! + + + + + Part-DB1\templates\Parts\info\_tools.html.twig:39 + Part-DB1\templates\Parts\info\_tools.html.twig:37 + + + part.delete + Eliminar componente + + + + + Part-DB1\templates\Parts\lists\all_list.html.twig:4 + Part-DB1\templates\Parts\lists\all_list.html.twig:4 + + + parts_list.all.title + Todos los componentes + + + + + Part-DB1\templates\Parts\lists\category_list.html.twig:4 + Part-DB1\templates\Parts\lists\category_list.html.twig:4 + + + parts_list.category.title + Componentes con categoría + + + + + Part-DB1\templates\Parts\lists\footprint_list.html.twig:4 + Part-DB1\templates\Parts\lists\footprint_list.html.twig:4 + + + parts_list.footprint.title + Componentes con footprint + + + + + Part-DB1\templates\Parts\lists\manufacturer_list.html.twig:4 + Part-DB1\templates\Parts\lists\manufacturer_list.html.twig:4 + + + parts_list.manufacturer.title + Componentes con fabricante + + + + + Part-DB1\templates\Parts\lists\search_list.html.twig:4 + Part-DB1\templates\Parts\lists\search_list.html.twig:4 + + + parts_list.search.title + Buscar componentes + + + + + Part-DB1\templates\Parts\lists\store_location_list.html.twig:4 + Part-DB1\templates\Parts\lists\store_location_list.html.twig:4 + + + parts_list.storelocation.title + Componentes con ubicación de almacenaje + + + + + Part-DB1\templates\Parts\lists\supplier_list.html.twig:4 + Part-DB1\templates\Parts\lists\supplier_list.html.twig:4 + + + parts_list.supplier.title + Componentes con proveedor + + + + + Part-DB1\templates\Parts\lists\tags_list.html.twig:4 + Part-DB1\templates\Parts\lists\tags_list.html.twig:4 + + + parts_list.tags.title + Componentes con etiqueta + + + + + Part-DB1\templates\Parts\lists\_info_card.html.twig:22 + Part-DB1\templates\Parts\lists\_info_card.html.twig:17 + + + entity.info.common.tab + General + + + + + Part-DB1\templates\Parts\lists\_info_card.html.twig:26 + Part-DB1\templates\Parts\lists\_info_card.html.twig:20 + + + entity.info.statistics.tab + Estadísticas + + + + + Part-DB1\templates\Parts\lists\_info_card.html.twig:31 + + + entity.info.attachments.tab + Adjuntos + + + + + Part-DB1\templates\Parts\lists\_info_card.html.twig:37 + + + entity.info.parameters.tab + Parámetros + + + + + Part-DB1\templates\Parts\lists\_info_card.html.twig:54 + Part-DB1\templates\Parts\lists\_info_card.html.twig:30 + + + entity.info.name + Nombre + + + + + Part-DB1\templates\Parts\lists\_info_card.html.twig:58 + Part-DB1\templates\Parts\lists\_info_card.html.twig:96 + Part-DB1\templates\Parts\lists\_info_card.html.twig:34 + Part-DB1\templates\Parts\lists\_info_card.html.twig:67 + + + entity.info.parent + Padre + + + + + Part-DB1\templates\Parts\lists\_info_card.html.twig:70 + Part-DB1\templates\Parts\lists\_info_card.html.twig:46 + + + entity.edit.btn + Editar + + + + + Part-DB1\templates\Parts\lists\_info_card.html.twig:92 + Part-DB1\templates\Parts\lists\_info_card.html.twig:63 + + + entity.info.children_count + Número de elementos hijo + + + + + Part-DB1\templates\security\2fa_base_form.html.twig:3 + Part-DB1\templates\security\2fa_base_form.html.twig:5 + Part-DB1\templates\security\2fa_base_form.html.twig:3 + Part-DB1\templates\security\2fa_base_form.html.twig:5 + + + tfa.check.title + Autenticación en dos pasos requerida + + + + + Part-DB1\templates\security\2fa_base_form.html.twig:39 + Part-DB1\templates\security\2fa_base_form.html.twig:39 + + + tfa.code.trusted_pc + Este es un dispositivo fiable (si esto se habilita, no se realizarán más consultas en dos pasos en este dispositivo) + + + + + Part-DB1\templates\security\2fa_base_form.html.twig:52 + Part-DB1\templates\security\login.html.twig:58 + Part-DB1\templates\security\2fa_base_form.html.twig:52 + Part-DB1\templates\security\login.html.twig:58 + + + login.btn + Login + + + + + Part-DB1\templates\security\2fa_base_form.html.twig:53 + Part-DB1\templates\security\U2F\u2f_login.html.twig:13 + Part-DB1\templates\_navbar.html.twig:42 + Part-DB1\templates\security\2fa_base_form.html.twig:53 + Part-DB1\templates\security\U2F\u2f_login.html.twig:13 + Part-DB1\templates\_navbar.html.twig:40 + + + user.logout + Cerrar sesión + + + + + Part-DB1\templates\security\2fa_form.html.twig:6 + Part-DB1\templates\security\2fa_form.html.twig:6 + + + tfa.check.code.label + Código de la app de autenticación + + + + + Part-DB1\templates\security\2fa_form.html.twig:10 + Part-DB1\templates\security\2fa_form.html.twig:10 + + + tfa.check.code.help + Introduce tu código de seis dígitos de tu app de autenticación o de uno de tus códigos backup si el autenticador no está disponible. + + + + + Part-DB1\templates\security\login.html.twig:3 + Part-DB1\templates\security\login.html.twig:3 + templates\security\login.html.twig:3 + + + login.title + Login + + + + + Part-DB1\templates\security\login.html.twig:7 + Part-DB1\templates\security\login.html.twig:7 + templates\security\login.html.twig:7 + + + login.card_title + Login + + + + + Part-DB1\templates\security\login.html.twig:31 + Part-DB1\templates\security\login.html.twig:31 + templates\security\login.html.twig:31 + + + login.username.label + Nombre de usuario + + + + + Part-DB1\templates\security\login.html.twig:34 + Part-DB1\templates\security\login.html.twig:34 + templates\security\login.html.twig:34 + + + login.username.placeholder + Nombre de usuario + + + + + Part-DB1\templates\security\login.html.twig:38 + Part-DB1\templates\security\login.html.twig:38 + templates\security\login.html.twig:38 + + + login.password.label + Contraseña + + + + + Part-DB1\templates\security\login.html.twig:40 + Part-DB1\templates\security\login.html.twig:40 + templates\security\login.html.twig:40 + + + login.password.placeholder + Contraseña + + + + + Part-DB1\templates\security\login.html.twig:50 + Part-DB1\templates\security\login.html.twig:50 + templates\security\login.html.twig:50 + + + login.rememberme + Recuérdame (no aconsejado en dispositivos compartidos) + + + + + Part-DB1\templates\security\login.html.twig:64 + Part-DB1\templates\security\login.html.twig:64 + + + pw_reset.password_forget + ¿Has olvidado el nombre de usuario/contraseña? + + + + + Part-DB1\templates\security\pw_reset_new_pw.html.twig:5 + Part-DB1\templates\security\pw_reset_new_pw.html.twig:5 + + + pw_reset.new_pw.header.title + Establecer nueva contraseña + + + + + Part-DB1\templates\security\pw_reset_request.html.twig:5 + Part-DB1\templates\security\pw_reset_request.html.twig:5 + + + pw_reset.request.header.title + Solicitar nueva contraseña + + + + + Part-DB1\templates\security\U2F\u2f_login.html.twig:7 + Part-DB1\templates\security\U2F\u2f_register.html.twig:10 + Part-DB1\templates\security\U2F\u2f_login.html.twig:7 + Part-DB1\templates\security\U2F\u2f_register.html.twig:10 + + + tfa_u2f.http_warning + Estás accediendo a esta página usando el método inseguro HTTP, por lo que seguramente U2F no funcione correctamente (mensaje de error Bad Request). Pídele a un administrador que establezca el método seguro HTTPS si quieres utilizar claves de seguridad. + + + + + Part-DB1\templates\security\U2F\u2f_login.html.twig:10 + Part-DB1\templates\security\U2F\u2f_register.html.twig:22 + Part-DB1\templates\security\U2F\u2f_login.html.twig:10 + Part-DB1\templates\security\U2F\u2f_register.html.twig:22 + + + r_u2f_two_factor.pressbutton + ¡Por favor, introduce tu clave de seguridad y pulsa el botón! + + + + + Part-DB1\templates\security\U2F\u2f_register.html.twig:3 + Part-DB1\templates\security\U2F\u2f_register.html.twig:3 + + + tfa_u2f.add_key.title + Añadir clave de seguridad + + + + + Part-DB1\templates\security\U2F\u2f_register.html.twig:6 + Part-DB1\templates\Users\_2fa_settings.html.twig:111 + Part-DB1\templates\security\U2F\u2f_register.html.twig:6 + Part-DB1\templates\Users\_2fa_settings.html.twig:111 + + + tfa_u2f.explanation + Con la ayuda de una clave de seguridad U2F/FIDO compatible (e.g. YubiKey o NitroKey), se puede obtener una autentiación en dos pasos segura y fácil de usar. Las claves de seguridad pueden ser registradas aquí, y si se requiere una verificación en dos pasos, solo necesitarás insertar la clave vía USB o introducirla en el dispositivo mediante NFC. + + + + + Part-DB1\templates\security\U2F\u2f_register.html.twig:7 + Part-DB1\templates\security\U2F\u2f_register.html.twig:7 + + + tfa_u2f.add_key.backup_hint + Para garantizar el acceso incluso si has perdido la clave, ¡se recomienda registrar una segunda clave como copia de seguridad y guardarla en un lugar seguro! + + + + + Part-DB1\templates\security\U2F\u2f_register.html.twig:16 + Part-DB1\templates\security\U2F\u2f_register.html.twig:16 + + + r_u2f_two_factor.name + Nombre de la clave vista (e.g. Backup) + + + + + Part-DB1\templates\security\U2F\u2f_register.html.twig:19 + Part-DB1\templates\security\U2F\u2f_register.html.twig:19 + + + tfa_u2f.add_key.add_button + Añadir clave de seguridad + + + + + Part-DB1\templates\security\U2F\u2f_register.html.twig:27 + Part-DB1\templates\security\U2F\u2f_register.html.twig:27 + + + tfa_u2f.add_key.back_to_settings + Volver a ajustes + + + + + Part-DB1\templates\Statistics\statistics.html.twig:5 + Part-DB1\templates\Statistics\statistics.html.twig:8 + Part-DB1\templates\Statistics\statistics.html.twig:5 + Part-DB1\templates\Statistics\statistics.html.twig:8 + new + + + statistics.title + Estadísticas + + + + + Part-DB1\templates\Statistics\statistics.html.twig:14 + Part-DB1\templates\Statistics\statistics.html.twig:14 + new + + + statistics.parts + Componentes + + + + + Part-DB1\templates\Statistics\statistics.html.twig:19 + Part-DB1\templates\Statistics\statistics.html.twig:19 + new + + + statistics.data_structures + Estructuras de datos + + + + + Part-DB1\templates\Statistics\statistics.html.twig:24 + Part-DB1\templates\Statistics\statistics.html.twig:24 + new + + + statistics.attachments + Adjuntos + + + + + Part-DB1\templates\Statistics\statistics.html.twig:34 + Part-DB1\templates\Statistics\statistics.html.twig:59 + Part-DB1\templates\Statistics\statistics.html.twig:104 + Part-DB1\templates\Statistics\statistics.html.twig:34 + Part-DB1\templates\Statistics\statistics.html.twig:59 + Part-DB1\templates\Statistics\statistics.html.twig:104 + new + + + statistics.property + Propiedad + + + + + Part-DB1\templates\Statistics\statistics.html.twig:35 + Part-DB1\templates\Statistics\statistics.html.twig:60 + Part-DB1\templates\Statistics\statistics.html.twig:105 + Part-DB1\templates\Statistics\statistics.html.twig:35 + Part-DB1\templates\Statistics\statistics.html.twig:60 + Part-DB1\templates\Statistics\statistics.html.twig:105 + new + + + statistics.value + Valor + + + + + Part-DB1\templates\Statistics\statistics.html.twig:40 + Part-DB1\templates\Statistics\statistics.html.twig:40 + new + + + statistics.distinct_parts_count + Número de componentes distintos + + + + + Part-DB1\templates\Statistics\statistics.html.twig:44 + Part-DB1\templates\Statistics\statistics.html.twig:44 + new + + + statistics.parts_instock_sum + Suma de todos los componentes en stock + + + + + Part-DB1\templates\Statistics\statistics.html.twig:48 + Part-DB1\templates\Statistics\statistics.html.twig:48 + new + + + statistics.parts_with_price + Número de componentes con información de precio + + + + + Part-DB1\templates\Statistics\statistics.html.twig:65 + Part-DB1\templates\Statistics\statistics.html.twig:65 + new + + + statistics.categories_count + Número de categorías + + + + + Part-DB1\templates\Statistics\statistics.html.twig:69 + Part-DB1\templates\Statistics\statistics.html.twig:69 + new + + + statistics.footprints_count + Número de footprints + + + + + Part-DB1\templates\Statistics\statistics.html.twig:73 + Part-DB1\templates\Statistics\statistics.html.twig:73 + new + + + statistics.manufacturers_count + Número de fabricantes + + + + + Part-DB1\templates\Statistics\statistics.html.twig:77 + Part-DB1\templates\Statistics\statistics.html.twig:77 + new + + + statistics.storelocations_count + Número de ubicaciones de almacenaje + + + + + Part-DB1\templates\Statistics\statistics.html.twig:81 + Part-DB1\templates\Statistics\statistics.html.twig:81 + new + + + statistics.suppliers_count + Número de proveedores + + + + + Part-DB1\templates\Statistics\statistics.html.twig:85 + Part-DB1\templates\Statistics\statistics.html.twig:85 + new + + + statistics.currencies_count + Número de divisas + + + + + Part-DB1\templates\Statistics\statistics.html.twig:89 + Part-DB1\templates\Statistics\statistics.html.twig:89 + new + + + statistics.measurement_units_count + Número de unidades de medida + + + + + Part-DB1\templates\Statistics\statistics.html.twig:93 + Part-DB1\templates\Statistics\statistics.html.twig:93 + new + + + statistics.devices_count + Número de proyectos + + + + + Part-DB1\templates\Statistics\statistics.html.twig:110 + Part-DB1\templates\Statistics\statistics.html.twig:110 + new + + + statistics.attachment_types_count + Número de tipos de adjunto + + + + + Part-DB1\templates\Statistics\statistics.html.twig:114 + Part-DB1\templates\Statistics\statistics.html.twig:114 + new + + + statistics.all_attachments_count + Número de adjuntos + + + + + Part-DB1\templates\Statistics\statistics.html.twig:118 + Part-DB1\templates\Statistics\statistics.html.twig:118 + new + + + statistics.user_uploaded_attachments_count + Número de adjuntos subidos por usuarios + + + + + Part-DB1\templates\Statistics\statistics.html.twig:122 + Part-DB1\templates\Statistics\statistics.html.twig:122 + new + + + statistics.private_attachments_count + Número de adjuntos privados + + + + + Part-DB1\templates\Statistics\statistics.html.twig:126 + Part-DB1\templates\Statistics\statistics.html.twig:126 + new + + + statistics.external_attachments_count + Número de adjuntos externos (URL) + + + + + Part-DB1\templates\Users\backup_codes.html.twig:3 + Part-DB1\templates\Users\backup_codes.html.twig:9 + Part-DB1\templates\Users\backup_codes.html.twig:3 + Part-DB1\templates\Users\backup_codes.html.twig:9 + + + tfa_backup.codes.title + Códigos backup + + + + + Part-DB1\templates\Users\backup_codes.html.twig:12 + Part-DB1\templates\Users\backup_codes.html.twig:12 + + + tfa_backup.codes.explanation + ¡Imprime estos códigos y guárdalos en un lugar seguro! + + + + + Part-DB1\templates\Users\backup_codes.html.twig:13 + Part-DB1\templates\Users\backup_codes.html.twig:13 + + + tfa_backup.codes.help + Si ya no tienes acceso a tu dispositivo con la app de autenticación (has perdido el teléfono, pérdida de datos, etc.) puedes usar uno de estos códigos para acceder a tu cuenta y configurar una nueva app de autenticación. Cada uno de estos códigos puede usarse una única vez. Se recomienda eliminar dichos códigos. Cualquiera con acceso a estos códigos podría acceder a tu cuenta, así que guárdalos en un lugar seguro. + + + + + Part-DB1\templates\Users\backup_codes.html.twig:16 + Part-DB1\templates\Users\backup_codes.html.twig:16 + + + tfa_backup.username + Nombre de usuario + + + + + Part-DB1\templates\Users\backup_codes.html.twig:29 + Part-DB1\templates\Users\backup_codes.html.twig:29 + + + tfa_backup.codes.page_generated_on + Página generada el %date% + + + + + Part-DB1\templates\Users\backup_codes.html.twig:32 + Part-DB1\templates\Users\backup_codes.html.twig:32 + + + tfa_backup.codes.print + Imprimir + + + + + Part-DB1\templates\Users\backup_codes.html.twig:35 + Part-DB1\templates\Users\backup_codes.html.twig:35 + + + tfa_backup.codes.copy_clipboard + Copiar al portapapeles + + + + + Part-DB1\templates\Users\user_info.html.twig:3 + Part-DB1\templates\Users\user_info.html.twig:6 + Part-DB1\templates\_navbar.html.twig:40 + Part-DB1\templates\Users\user_info.html.twig:3 + Part-DB1\templates\Users\user_info.html.twig:6 + Part-DB1\templates\_navbar.html.twig:38 + templates\base.html.twig:99 + templates\Users\user_info.html.twig:3 + templates\Users\user_info.html.twig:6 + + + user.info.label + Información del usuario + + + + + Part-DB1\templates\Users\user_info.html.twig:18 + Part-DB1\src\Form\UserSettingsType.php:77 + Part-DB1\templates\Users\user_info.html.twig:18 + Part-DB1\src\Form\UserSettingsType.php:77 + templates\Users\user_info.html.twig:18 + src\Form\UserSettingsType.php:32 + + + user.firstName.label + Nombre + + + + + Part-DB1\templates\Users\user_info.html.twig:24 + Part-DB1\src\Form\UserSettingsType.php:82 + Part-DB1\templates\Users\user_info.html.twig:24 + Part-DB1\src\Form\UserSettingsType.php:82 + templates\Users\user_info.html.twig:24 + src\Form\UserSettingsType.php:35 + + + user.lastName.label + Apellido + + + + + Part-DB1\templates\Users\user_info.html.twig:30 + Part-DB1\src\Form\UserSettingsType.php:92 + Part-DB1\templates\Users\user_info.html.twig:30 + Part-DB1\src\Form\UserSettingsType.php:92 + templates\Users\user_info.html.twig:30 + src\Form\UserSettingsType.php:41 + + + user.email.label + Email + + + + + Part-DB1\templates\Users\user_info.html.twig:37 + Part-DB1\src\Form\UserSettingsType.php:87 + Part-DB1\templates\Users\user_info.html.twig:37 + Part-DB1\src\Form\UserSettingsType.php:87 + templates\Users\user_info.html.twig:37 + src\Form\UserSettingsType.php:38 + + + user.department.label + Departamento + + + + + Part-DB1\templates\Users\user_info.html.twig:47 + Part-DB1\src\Form\UserSettingsType.php:73 + Part-DB1\templates\Users\user_info.html.twig:47 + Part-DB1\src\Form\UserSettingsType.php:73 + templates\Users\user_info.html.twig:47 + src\Form\UserSettingsType.php:30 + + + user.username.label + Nombre de usuario + + + + + Part-DB1\templates\Users\user_info.html.twig:53 + Part-DB1\src\Services\ElementTypeNameGenerator.php:93 + Part-DB1\templates\Users\user_info.html.twig:53 + Part-DB1\src\Services\ElementTypeNameGenerator.php:93 + templates\Users\user_info.html.twig:53 + + + group.label + Grupo: + + + + + Part-DB1\templates\Users\user_info.html.twig:67 + Part-DB1\templates\Users\user_info.html.twig:67 + + + user.permissions + Permisos + + + + + Part-DB1\templates\Users\user_settings.html.twig:3 + Part-DB1\templates\Users\user_settings.html.twig:6 + Part-DB1\templates\_navbar.html.twig:39 + Part-DB1\templates\Users\user_settings.html.twig:3 + Part-DB1\templates\Users\user_settings.html.twig:6 + Part-DB1\templates\_navbar.html.twig:37 + templates\base.html.twig:98 + templates\Users\user_settings.html.twig:3 + templates\Users\user_settings.html.twig:6 + + + user.settings.label + Configuración del usuario + + + + + Part-DB1\templates\Users\user_settings.html.twig:18 + Part-DB1\templates\Users\user_settings.html.twig:18 + templates\Users\user_settings.html.twig:14 + + + user_settings.data.label + Información personal + + + + + Part-DB1\templates\Users\user_settings.html.twig:22 + Part-DB1\templates\Users\user_settings.html.twig:22 + templates\Users\user_settings.html.twig:18 + + + user_settings.configuration.label + Configuración + + + + + Part-DB1\templates\Users\user_settings.html.twig:55 + Part-DB1\templates\Users\user_settings.html.twig:55 + templates\Users\user_settings.html.twig:48 + + + user.settings.change_pw + Restablecer contraseña + + + + + Part-DB1\templates\Users\_2fa_settings.html.twig:6 + Part-DB1\templates\Users\_2fa_settings.html.twig:6 + + + user.settings.2fa_settings + Autenticación en dos pasos + + + + + Part-DB1\templates\Users\_2fa_settings.html.twig:13 + Part-DB1\templates\Users\_2fa_settings.html.twig:13 + + + tfa.settings.google.tab + App de autenticación + + + + + Part-DB1\templates\Users\_2fa_settings.html.twig:17 + Part-DB1\templates\Users\_2fa_settings.html.twig:17 + + + tfa.settings.bakup.tab + Códigos backup + + + + + Part-DB1\templates\Users\_2fa_settings.html.twig:21 + Part-DB1\templates\Users\_2fa_settings.html.twig:21 + + + tfa.settings.u2f.tab + Claves de seguridad (U2F) + + + + + Part-DB1\templates\Users\_2fa_settings.html.twig:25 + Part-DB1\templates\Users\_2fa_settings.html.twig:25 + + + tfa.settings.trustedDevices.tab + Dispositivos confiables + + + + + Part-DB1\templates\Users\_2fa_settings.html.twig:33 + Part-DB1\templates\Users\_2fa_settings.html.twig:33 + + + tfa_google.disable.confirm_title + ¿Estás seguro de que quieres deshabilitar la app de autenticación? + + + + + Part-DB1\templates\Users\_2fa_settings.html.twig:33 + Part-DB1\templates\Users\_2fa_settings.html.twig:33 + + + tfa_google.disable.confirm_message + Si deshabilitas la app de autenticación, todos tus códigos backup serán eliminados, por lo que necesitarás reimprimirlos todos.<br> +¡Ten en cuenta que sin la autenticación en dos pasos tu cuenta no estará tan protegida contra atacantes! + + + + + Part-DB1\templates\Users\_2fa_settings.html.twig:39 + Part-DB1\templates\Users\_2fa_settings.html.twig:39 + + + tfa_google.disabled_message + ¡App de autenticación desactivada! + + + + + Part-DB1\templates\Users\_2fa_settings.html.twig:48 + Part-DB1\templates\Users\_2fa_settings.html.twig:48 + + + tfa_google.step.download + Descarga una app de autenticación (e.g. <a class="link-external" target="_blank" href="https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2">Google Authenticator</a> oder <a class="link-external" target="_blank" href="https://play.google.com/store/apps/details?id=org.fedorahosted.freeotp">FreeOTP Authenticator</a>) + + + + + Part-DB1\templates\Users\_2fa_settings.html.twig:49 + Part-DB1\templates\Users\_2fa_settings.html.twig:49 + + + tfa_google.step.scan + Escanea el código QR adjunto con la app o introduce los datos manualmente + + + + + Part-DB1\templates\Users\_2fa_settings.html.twig:50 + Part-DB1\templates\Users\_2fa_settings.html.twig:50 + + + tfa_google.step.input_code + Introduce el código generado en el campo de abajo y confirma + + + + + Part-DB1\templates\Users\_2fa_settings.html.twig:51 + Part-DB1\templates\Users\_2fa_settings.html.twig:51 + + + tfa_google.step.download_backup + Imprime tus códigos backup y guárdalos en un lugar seguro + + + + + Part-DB1\templates\Users\_2fa_settings.html.twig:58 + Part-DB1\templates\Users\_2fa_settings.html.twig:58 + + + tfa_google.manual_setup + Configuración manual + + + + + Part-DB1\templates\Users\_2fa_settings.html.twig:62 + Part-DB1\templates\Users\_2fa_settings.html.twig:62 + + + tfa_google.manual_setup.type + Tipo + + + + + Part-DB1\templates\Users\_2fa_settings.html.twig:63 + Part-DB1\templates\Users\_2fa_settings.html.twig:63 + + + tfa_google.manual_setup.username + Nombre de usuario + + + + + Part-DB1\templates\Users\_2fa_settings.html.twig:64 + Part-DB1\templates\Users\_2fa_settings.html.twig:64 + + + tfa_google.manual_setup.secret + Secreto + + + + + Part-DB1\templates\Users\_2fa_settings.html.twig:65 + Part-DB1\templates\Users\_2fa_settings.html.twig:65 + + + tfa_google.manual_setup.digit_count + Número de caracteres + + + + + Part-DB1\templates\Users\_2fa_settings.html.twig:74 + Part-DB1\templates\Users\_2fa_settings.html.twig:74 + + + tfa_google.enabled_message + App de autenticación activada + + + + + Part-DB1\templates\Users\_2fa_settings.html.twig:83 + Part-DB1\templates\Users\_2fa_settings.html.twig:83 + + + tfa_backup.disabled + Códigos backup desactivados. Configura la app de autenticación para activar los códigos backup de nuevo. + + + + + Part-DB1\templates\Users\_2fa_settings.html.twig:84 + Part-DB1\templates\Users\_2fa_settings.html.twig:92 + Part-DB1\templates\Users\_2fa_settings.html.twig:84 + Part-DB1\templates\Users\_2fa_settings.html.twig:92 + + + tfa_backup.explanation + Puedes usar estos códigos backup para acceder a tu cuenta incluso si pierdes el dispositivo con la app de autenticación. Imprime los códigos y guárdalos en un lugar seguro. + + + + + Part-DB1\templates\Users\_2fa_settings.html.twig:88 + Part-DB1\templates\Users\_2fa_settings.html.twig:88 + + + tfa_backup.reset_codes.confirm_title + ¿Quieres restablecer los códigos? + + + + + Part-DB1\templates\Users\_2fa_settings.html.twig:88 + Part-DB1\templates\Users\_2fa_settings.html.twig:88 + + + tfa_backup.reset_codes.confirm_message + Esto eliminará los códigos previos y generará un nuevo conjunto de códigos. Esto no se puede deshacer. ¡Recuerda imprimir los nuevos códigos y guárdalos en un lugar seguro! + + + + + Part-DB1\templates\Users\_2fa_settings.html.twig:91 + Part-DB1\templates\Users\_2fa_settings.html.twig:91 + + + tfa_backup.enabled + Códigos backup activados + + + + + Part-DB1\templates\Users\_2fa_settings.html.twig:99 + Part-DB1\templates\Users\_2fa_settings.html.twig:99 + + + tfa_backup.show_codes + Mostrar códigos backup + + + + + Part-DB1\templates\Users\_2fa_settings.html.twig:114 + Part-DB1\templates\Users\_2fa_settings.html.twig:114 + + + tfa_u2f.table_caption + Claves de seguridad registradas + + + + + Part-DB1\templates\Users\_2fa_settings.html.twig:115 + Part-DB1\templates\Users\_2fa_settings.html.twig:115 + + + tfa_u2f.delete_u2f.confirm_title + ¿Quieres eliminar esta clave de seguridad? + + + + + Part-DB1\templates\Users\_2fa_settings.html.twig:116 + Part-DB1\templates\Users\_2fa_settings.html.twig:116 + + + tfa_u2f.delete_u2f.confirm_message + Si eliminas esta clave, ya no podrás iniciar sesión con esta clave. Si no quedan claves de seguridad, la autenticación en dos pasos se desactivará. + + + + + Part-DB1\templates\Users\_2fa_settings.html.twig:123 + Part-DB1\templates\Users\_2fa_settings.html.twig:123 + + + tfa_u2f.keys.name + Nombre de la clave + + + + + Part-DB1\templates\Users\_2fa_settings.html.twig:124 + Part-DB1\templates\Users\_2fa_settings.html.twig:124 + + + tfa_u2f.keys.added_date + Fecha de registro + + + + + Part-DB1\templates\Users\_2fa_settings.html.twig:134 + Part-DB1\templates\Users\_2fa_settings.html.twig:134 + + + tfa_u2f.key_delete + Eliminar clave + + + + + Part-DB1\templates\Users\_2fa_settings.html.twig:141 + Part-DB1\templates\Users\_2fa_settings.html.twig:141 + + + tfa_u2f.no_keys_registered + No hay claves registradas. + + + + + Part-DB1\templates\Users\_2fa_settings.html.twig:144 + Part-DB1\templates\Users\_2fa_settings.html.twig:144 + + + tfa_u2f.add_new_key + Registrar una nueva clave de seguridad + + + + + Part-DB1\templates\Users\_2fa_settings.html.twig:148 + Part-DB1\templates\Users\_2fa_settings.html.twig:148 + + + tfa_trustedDevices.explanation + Cuando compruebes el segundo factor, el dispositivo actual será marcado como fiable, por lo que no se necesitará comprobarlo más en el mismo dispositivo. + + + + + Part-DB1\templates\Users\_2fa_settings.html.twig:149 + Part-DB1\templates\Users\_2fa_settings.html.twig:149 + + + tfa_trustedDevices.invalidate.confirm_title + ¿Quieres eliminar todos los dispositivos fiables? + + + + + Part-DB1\templates\Users\_2fa_settings.html.twig:150 + Part-DB1\templates\Users\_2fa_settings.html.twig:150 + + + tfa_trustedDevices.invalidate.confirm_message + Tendrás que realizar de nuevo la autenticación en dos pasos en todos los dispositivos. Asegúrate de que tienes el dispositivo autenticador a mano. + + + + + Part-DB1\templates\Users\_2fa_settings.html.twig:154 + Part-DB1\templates\Users\_2fa_settings.html.twig:154 + + + tfa_trustedDevices.invalidate.btn + Restablecer los dispositivos fiables + + + + + Part-DB1\templates\_navbar.html.twig:4 + Part-DB1\templates\_navbar.html.twig:4 + templates\base.html.twig:29 + + + sidebar.toggle + Activar/desactivar la barra lateral + + + + + Part-DB1\templates\_navbar.html.twig:22 + + + navbar.scanner.link + Escáner + + + + + Part-DB1\templates\_navbar.html.twig:38 + Part-DB1\templates\_navbar.html.twig:36 + templates\base.html.twig:97 + + + user.loggedin.label + Se ha iniciado sesión como + + + + + Part-DB1\templates\_navbar.html.twig:44 + Part-DB1\templates\_navbar.html.twig:42 + templates\base.html.twig:103 + + + user.login + Iniciar sesión + + + + + Part-DB1\templates\_navbar.html.twig:50 + Part-DB1\templates\_navbar.html.twig:48 + + + ui.toggle_darkmode + Modo oscuro + + + + + Part-DB1\templates\_navbar.html.twig:54 + Part-DB1\src\Form\UserSettingsType.php:97 + Part-DB1\templates\_navbar.html.twig:52 + Part-DB1\src\Form\UserSettingsType.php:97 + templates\base.html.twig:106 + src\Form\UserSettingsType.php:44 + + + user.language_select + Cambiar idioma + + + + + Part-DB1\templates\_navbar_search.html.twig:4 + Part-DB1\templates\_navbar_search.html.twig:4 + templates\base.html.twig:49 + + + search.options.label + Opciones de búsqueda + + + + + Part-DB1\templates\_navbar_search.html.twig:23 + + + tags.label + Etiquetas + + + + + Part-DB1\templates\_navbar_search.html.twig:27 + Part-DB1\src\Form\LabelOptionsType.php:68 + Part-DB1\src\Services\ElementTypeNameGenerator.php:88 + Part-DB1\src\Services\ElementTypeNameGenerator.php:88 + templates\base.html.twig:60 + templates\Parts\show_part_info.html.twig:36 + src\Form\PartType.php:77 + + + storelocation.label + Ubicación de almacenaje + + + + + Part-DB1\templates\_navbar_search.html.twig:36 + Part-DB1\templates\_navbar_search.html.twig:31 + templates\base.html.twig:65 + + + ordernumber.label.short + Código del proveedor + + + + + Part-DB1\templates\_navbar_search.html.twig:40 + Part-DB1\src\Services\ElementTypeNameGenerator.php:89 + Part-DB1\templates\_navbar_search.html.twig:35 + Part-DB1\src\Services\ElementTypeNameGenerator.php:89 + templates\base.html.twig:67 + + + supplier.label + Proveedor + + + + + Part-DB1\templates\_navbar_search.html.twig:57 + Part-DB1\templates\_navbar_search.html.twig:52 + templates\base.html.twig:75 + + + search.deactivateBarcode + Desactivar código de barras + + + + + Part-DB1\templates\_navbar_search.html.twig:61 + Part-DB1\templates\_navbar_search.html.twig:56 + templates\base.html.twig:77 + + + search.regexmatching + Reg.Ex. Matching + + + + + Part-DB1\templates\_navbar_search.html.twig:68 + Part-DB1\templates\_navbar_search.html.twig:62 + + + search.submit + ¡Vamos! + + + + + Part-DB1\templates\_sidebar.html.twig:37 + Part-DB1\templates\_sidebar.html.twig:12 + Part-DB1\templates\_sidebar.html.twig:37 + Part-DB1\templates\_sidebar.html.twig:12 + templates\base.html.twig:175 + templates\base.html.twig:189 + templates\base.html.twig:202 + templates\base.html.twig:230 + + + project.labelp + Proyectos + + + + + Part-DB1\templates\_sidebar.html.twig:2 + Part-DB1\templates\_sidebar.html.twig:2 + templates\base.html.twig:165 + templates\base.html.twig:192 + templates\base.html.twig:220 + + + actions + Acciones + + + + + Part-DB1\templates\_sidebar.html.twig:6 + Part-DB1\templates\_sidebar.html.twig:6 + templates\base.html.twig:169 + templates\base.html.twig:196 + templates\base.html.twig:224 + + + datasource + Fuente de datos + + + + + Part-DB1\templates\_sidebar.html.twig:10 + Part-DB1\templates\_sidebar.html.twig:10 + templates\base.html.twig:173 + templates\base.html.twig:200 + templates\base.html.twig:228 + + + manufacturer.labelp + Fabricantes + + + + + Part-DB1\templates\_sidebar.html.twig:11 + Part-DB1\templates\_sidebar.html.twig:11 + templates\base.html.twig:174 + templates\base.html.twig:201 + templates\base.html.twig:229 + + + supplier.labelp + Proveedores + + + + + Part-DB1\src\Controller\AdminPages\BaseAdminController.php:213 + Part-DB1\src\Controller\AdminPages\BaseAdminController.php:293 + Part-DB1\src\Controller\PartController.php:173 + Part-DB1\src\Controller\PartController.php:293 + Part-DB1\src\Controller\AdminPages\BaseAdminController.php:181 + Part-DB1\src\Controller\AdminPages\BaseAdminController.php:243 + Part-DB1\src\Controller\PartController.php:173 + Part-DB1\src\Controller\PartController.php:268 + + + attachment.download_failed + Descarga fallida de adjuntos externos + + + + + Part-DB1\src\Controller\AdminPages\BaseAdminController.php:222 + Part-DB1\src\Controller\AdminPages\BaseAdminController.php:190 + + + entity.edit_flash + Cambios guardados con éxito. + + + + + Part-DB1\src\Controller\AdminPages\BaseAdminController.php:231 + Part-DB1\src\Controller\AdminPages\BaseAdminController.php:196 + + + entity.edit_flash.invalid + Los cambios no han podido guardarse. ¡Por favor, comprueba la información! + + + + + Part-DB1\src\Controller\AdminPages\BaseAdminController.php:302 + Part-DB1\src\Controller\AdminPages\BaseAdminController.php:252 + + + entity.created_flash + Elemento creado + + + + + Part-DB1\src\Controller\AdminPages\BaseAdminController.php:308 + Part-DB1\src\Controller\AdminPages\BaseAdminController.php:258 + + + entity.created_flash.invalid + No se ha podido crear el elemento. ¡Por favor, comprueba los datos! + + + + + Part-DB1\src\Controller\AdminPages\BaseAdminController.php:399 + Part-DB1\src\Controller\AdminPages\BaseAdminController.php:352 + src\Controller\BaseAdminController.php:154 + + + attachment_type.deleted + ¡Elemento eliminado! + + + + + Part-DB1\src\Controller\AdminPages\BaseAdminController.php:401 + Part-DB1\src\Controller\UserController.php:109 + Part-DB1\src\Controller\UserSettingsController.php:159 + Part-DB1\src\Controller\UserSettingsController.php:193 + Part-DB1\src\Controller\AdminPages\BaseAdminController.php:354 + Part-DB1\src\Controller\UserController.php:101 + Part-DB1\src\Controller\UserSettingsController.php:150 + Part-DB1\src\Controller\UserSettingsController.php:182 + + + csfr_invalid + Token CSFR no válido. Por favor, refresca esta página o contacta con un administrador si este mensaje no desaparece. + + + + + Part-DB1\src\Controller\LabelController.php:125 + + + label_generator.no_entities_found + No se encontraron entidades que coincidan. + + + + + Part-DB1\src\Controller\LogController.php:149 + Part-DB1\src\Controller\LogController.php:154 + new + + + log.undo.target_not_found + ¡No se pudo encontrar el elemento en la base de datos! + + + + + Part-DB1\src\Controller\LogController.php:156 + Part-DB1\src\Controller\LogController.php:160 + new + + + log.undo.revert_success + Componente restablecido con éxito. + + + + + Part-DB1\src\Controller\LogController.php:176 + Part-DB1\src\Controller\LogController.php:180 + new + + + log.undo.element_undelete_success + Elemento recuperado con éxito. + + + + + Part-DB1\src\Controller\LogController.php:178 + Part-DB1\src\Controller\LogController.php:182 + new + + + log.undo.element_element_already_undeleted + ¡El elemento ya ha sido recuperado! + + + + + Part-DB1\src\Controller\LogController.php:185 + Part-DB1\src\Controller\LogController.php:189 + new + + + log.undo.element_delete_success + Elemento eliminado con éxito. + + + + + Part-DB1\src\Controller\LogController.php:187 + Part-DB1\src\Controller\LogController.php:191 + new + + + log.undo.element.element_already_delted + ¡El elemento ya ha sido eliminado! + + + + + Part-DB1\src\Controller\LogController.php:194 + Part-DB1\src\Controller\LogController.php:198 + new + + + log.undo.element_change_undone + ¡Cambio deshecho con éxito! + + + + + Part-DB1\src\Controller\LogController.php:196 + Part-DB1\src\Controller\LogController.php:200 + new + + + log.undo.do_undelete_before + ¡Debes recuperar el elemento antes de poder deshacer el cambio! + + + + + Part-DB1\src\Controller\LogController.php:199 + Part-DB1\src\Controller\LogController.php:203 + new + + + log.undo.log_type_invalid + ¡Esta entrada del registro no se puede deshacer! + + + + + Part-DB1\src\Controller\PartController.php:182 + Part-DB1\src\Controller\PartController.php:182 + src\Controller\PartController.php:80 + + + part.edited_flash + ¡Los cambios han sido guardados! + + + + + Part-DB1\src\Controller\PartController.php:186 + Part-DB1\src\Controller\PartController.php:186 + + + part.edited_flash.invalid + Error en el guardado: ¡Por favor, comprueba los datos! + + + + + Part-DB1\src\Controller\PartController.php:216 + Part-DB1\src\Controller\PartController.php:219 + + + part.deleted + Componente eliminado con éxito. + + + + + Part-DB1\src\Controller\PartController.php:302 + Part-DB1\src\Controller\PartController.php:277 + Part-DB1\src\Controller\PartController.php:317 + src\Controller\PartController.php:113 + src\Controller\PartController.php:142 + + + part.created_flash + ¡Componente creado! + + + + + Part-DB1\src\Controller\PartController.php:308 + Part-DB1\src\Controller\PartController.php:283 + + + part.created_flash.invalid + Error durante la creación: ¡Por favor, comprueba los datos! + + + + + Part-DB1\src\Controller\ScanController.php:68 + Part-DB1\src\Controller\ScanController.php:90 + + + scan.qr_not_found + No se ha encontrado elemento con ese código de barras. + + + + + Part-DB1\src\Controller\ScanController.php:71 + + + scan.format_unknown + ¡Formato desconocido! + + + + + Part-DB1\src\Controller\ScanController.php:86 + + + scan.qr_success + ¡Elemento encontrado! + + + + + Part-DB1\src\Controller\SecurityController.php:114 + Part-DB1\src\Controller\SecurityController.php:109 + + + pw_reset.user_or_email + Nombre de usuario / Email + + + + + Part-DB1\src\Controller\SecurityController.php:131 + Part-DB1\src\Controller\SecurityController.php:126 + + + pw_reset.request.success + ¡La solicitud de reinicio fue exitosa! Por favor, comprueba tus emails para más instrucciones. + + + + + Part-DB1\src\Controller\SecurityController.php:162 + Part-DB1\src\Controller\SecurityController.php:160 + + + pw_reset.username + Nombre de usuario + + + + + Part-DB1\src\Controller\SecurityController.php:165 + Part-DB1\src\Controller\SecurityController.php:163 + + + pw_reset.token + Token + + + + + Part-DB1\src\Controller\SecurityController.php:194 + Part-DB1\src\Controller\SecurityController.php:192 + + + pw_reset.new_pw.error + ¡Nombre de usuario o token no válidos! Por favor, comprueba los datos. + + + + + Part-DB1\src\Controller\SecurityController.php:196 + Part-DB1\src\Controller\SecurityController.php:194 + + + pw_reset.new_pw.success + La contraseña ha sido restablecida con éxito. Puedes ahora iniciar sesión con tu nueva contraseña. + + + + + Part-DB1\src\Controller\UserController.php:107 + Part-DB1\src\Controller\UserController.php:99 + + + user.edit.reset_success + Todos los métodos de autenticación en dos pasos han sido desactivados. + + + + + Part-DB1\src\Controller\UserSettingsController.php:101 + Part-DB1\src\Controller\UserSettingsController.php:92 + + + tfa_backup.no_codes_enabled + ¡No hay ningún código backup activado! + + + + + Part-DB1\src\Controller\UserSettingsController.php:138 + Part-DB1\src\Controller\UserSettingsController.php:132 + + + tfa_u2f.u2f_delete.not_existing + No existe ninguna clave de seguridad con este ID. + + + + + Part-DB1\src\Controller\UserSettingsController.php:145 + Part-DB1\src\Controller\UserSettingsController.php:139 + + + tfa_u2f.u2f_delete.access_denied + ¡No puedes eliminar las claves de seguridad de otros usuarios! + + + + + Part-DB1\src\Controller\UserSettingsController.php:153 + Part-DB1\src\Controller\UserSettingsController.php:147 + + + tfa.u2f.u2f_delete.success + La clave de seguridad ha sido eliminada con éxito. + + + + + Part-DB1\src\Controller\UserSettingsController.php:188 + Part-DB1\src\Controller\UserSettingsController.php:180 + + + tfa_trustedDevice.invalidate.success + Los dispositivos fiables han sido restablecidos con éxito. + + + + + Part-DB1\src\Controller\UserSettingsController.php:235 + Part-DB1\src\Controller\UserSettingsController.php:226 + src\Controller\UserController.php:98 + + + user.settings.saved_flash + ¡Configuración guardada! + + + + + Part-DB1\src\Controller\UserSettingsController.php:297 + Part-DB1\src\Controller\UserSettingsController.php:288 + src\Controller\UserController.php:130 + + + user.settings.pw_changed_flash + ¡Contraseña cambiada! + + + + + Part-DB1\src\Controller\UserSettingsController.php:317 + Part-DB1\src\Controller\UserSettingsController.php:306 + + + user.settings.2fa.google.activated + La app de autenticación ha sido activada con éxito. + + + + + Part-DB1\src\Controller\UserSettingsController.php:328 + Part-DB1\src\Controller\UserSettingsController.php:315 + + + user.settings.2fa.google.disabled + La app de autenticación ha sido desactivada con éxito. + + + + + Part-DB1\src\Controller\UserSettingsController.php:346 + Part-DB1\src\Controller\UserSettingsController.php:332 + + + user.settings.2fa.backup_codes.regenerated + Se han generado nuevos códigos backup con éxito. + + + + + Part-DB1\src\DataTables\AttachmentDataTable.php:148 + Part-DB1\src\DataTables\AttachmentDataTable.php:148 + + + attachment.table.filename + Nombre del archivo + + + + + Part-DB1\src\DataTables\AttachmentDataTable.php:153 + Part-DB1\src\DataTables\AttachmentDataTable.php:153 + + + attachment.table.filesize + Tamaño del archivo + + + + + Part-DB1\src\DataTables\AttachmentDataTable.php:183 + Part-DB1\src\DataTables\AttachmentDataTable.php:191 + Part-DB1\src\DataTables\AttachmentDataTable.php:200 + Part-DB1\src\DataTables\AttachmentDataTable.php:209 + Part-DB1\src\DataTables\PartsDataTable.php:245 + Part-DB1\src\DataTables\PartsDataTable.php:252 + Part-DB1\src\DataTables\AttachmentDataTable.php:183 + Part-DB1\src\DataTables\AttachmentDataTable.php:191 + Part-DB1\src\DataTables\AttachmentDataTable.php:200 + Part-DB1\src\DataTables\AttachmentDataTable.php:209 + Part-DB1\src\DataTables\PartsDataTable.php:193 + Part-DB1\src\DataTables\PartsDataTable.php:200 + + + true + Verdadero + + + + + Part-DB1\src\DataTables\AttachmentDataTable.php:184 + Part-DB1\src\DataTables\AttachmentDataTable.php:192 + Part-DB1\src\DataTables\AttachmentDataTable.php:201 + Part-DB1\src\DataTables\AttachmentDataTable.php:210 + Part-DB1\src\DataTables\PartsDataTable.php:246 + Part-DB1\src\DataTables\PartsDataTable.php:253 + Part-DB1\src\Form\Type\SIUnitType.php:139 + Part-DB1\src\DataTables\AttachmentDataTable.php:184 + Part-DB1\src\DataTables\AttachmentDataTable.php:192 + Part-DB1\src\DataTables\AttachmentDataTable.php:201 + Part-DB1\src\DataTables\AttachmentDataTable.php:210 + Part-DB1\src\DataTables\PartsDataTable.php:194 + Part-DB1\src\DataTables\PartsDataTable.php:201 + Part-DB1\src\Form\Type\SIUnitType.php:139 + + + false + Falso + + + + + Part-DB1\src\DataTables\Column\LogEntryTargetColumn.php:128 + Part-DB1\src\DataTables\Column\LogEntryTargetColumn.php:119 + + + log.target_deleted + Eliminado + + + + + Part-DB1\src\DataTables\Column\RevertLogColumn.php:57 + Part-DB1\src\DataTables\Column\RevertLogColumn.php:60 + new + + + log.undo.undelete + Recuperar elemento + + + + + Part-DB1\src\DataTables\Column\RevertLogColumn.php:63 + Part-DB1\src\DataTables\Column\RevertLogColumn.php:66 + new + + + log.undo.undo + Deshacer cambio + + + + + Part-DB1\src\DataTables\Column\RevertLogColumn.php:83 + Part-DB1\src\DataTables\Column\RevertLogColumn.php:86 + new + + + log.undo.revert + Restablecer elemento a esta fecha + + + + + Part-DB1\src\DataTables\LogDataTable.php:173 + Part-DB1\src\DataTables\LogDataTable.php:161 + + + log.id + ID + + + + + Part-DB1\src\DataTables\LogDataTable.php:178 + Part-DB1\src\DataTables\LogDataTable.php:166 + + + log.timestamp + Fecha + + + + + Part-DB1\src\DataTables\LogDataTable.php:183 + Part-DB1\src\DataTables\LogDataTable.php:171 + + + log.type + Evento + + + + + Part-DB1\src\DataTables\LogDataTable.php:191 + Part-DB1\src\DataTables\LogDataTable.php:179 + + + log.level + Nivel + + + + + Part-DB1\src\DataTables\LogDataTable.php:200 + Part-DB1\src\DataTables\LogDataTable.php:188 + + + log.user + Usuario + + + + + Part-DB1\src\DataTables\LogDataTable.php:213 + Part-DB1\src\DataTables\LogDataTable.php:201 + + + log.target_type + Tipo de objetivo + + + + + Part-DB1\src\DataTables\LogDataTable.php:226 + Part-DB1\src\DataTables\LogDataTable.php:214 + + + log.target + Objetivo + + + + + Part-DB1\src\DataTables\LogDataTable.php:231 + Part-DB1\src\DataTables\LogDataTable.php:218 + new + + + log.extra + Extra + + + + + Part-DB1\src\DataTables\PartsDataTable.php:168 + Part-DB1\src\DataTables\PartsDataTable.php:116 + + + part.table.name + Nombre + + + + + Part-DB1\src\DataTables\PartsDataTable.php:178 + Part-DB1\src\DataTables\PartsDataTable.php:126 + + + part.table.id + Id + + + + + Part-DB1\src\DataTables\PartsDataTable.php:182 + Part-DB1\src\DataTables\PartsDataTable.php:130 + + + part.table.description + Descripción + + + + + Part-DB1\src\DataTables\PartsDataTable.php:185 + Part-DB1\src\DataTables\PartsDataTable.php:133 + + + part.table.category + Categoría + + + + + Part-DB1\src\DataTables\PartsDataTable.php:190 + Part-DB1\src\DataTables\PartsDataTable.php:138 + + + part.table.footprint + Footprint + + + + + Part-DB1\src\DataTables\PartsDataTable.php:194 + Part-DB1\src\DataTables\PartsDataTable.php:142 + + + part.table.manufacturer + Fabricante + + + + + Part-DB1\src\DataTables\PartsDataTable.php:197 + Part-DB1\src\DataTables\PartsDataTable.php:145 + + + part.table.storeLocations + Ubicación de almacenaje + + + + + Part-DB1\src\DataTables\PartsDataTable.php:216 + Part-DB1\src\DataTables\PartsDataTable.php:164 + + + part.table.amount + Cantidad + + + + + Part-DB1\src\DataTables\PartsDataTable.php:224 + Part-DB1\src\DataTables\PartsDataTable.php:172 + + + part.table.minamount + Cantidad mínima + + + + + Part-DB1\src\DataTables\PartsDataTable.php:232 + Part-DB1\src\DataTables\PartsDataTable.php:180 + + + part.table.partUnit + Unidad de Medida + + + + + Part-DB1\src\DataTables\PartsDataTable.php:236 + Part-DB1\src\DataTables\PartsDataTable.php:184 + + + part.table.addedDate + Creado en + + + + + Part-DB1\src\DataTables\PartsDataTable.php:240 + Part-DB1\src\DataTables\PartsDataTable.php:188 + + + part.table.lastModified + Última edición + + + + + Part-DB1\src\DataTables\PartsDataTable.php:244 + Part-DB1\src\DataTables\PartsDataTable.php:192 + + + part.table.needsReview + Necesita revisión + + + + + Part-DB1\src\DataTables\PartsDataTable.php:251 + Part-DB1\src\DataTables\PartsDataTable.php:199 + + + part.table.favorite + Favorito + + + + + Part-DB1\src\DataTables\PartsDataTable.php:258 + Part-DB1\src\DataTables\PartsDataTable.php:206 + + + part.table.manufacturingStatus + Estado + + + + + Part-DB1\src\DataTables\PartsDataTable.php:260 + Part-DB1\src\DataTables\PartsDataTable.php:262 + Part-DB1\src\Form\Part\PartBaseType.php:90 + Part-DB1\src\DataTables\PartsDataTable.php:208 + Part-DB1\src\DataTables\PartsDataTable.php:210 + Part-DB1\src\Form\Part\PartBaseType.php:88 + + + m_status.unknown + Desconocido + + + + + Part-DB1\src\DataTables\PartsDataTable.php:263 + Part-DB1\src\Form\Part\PartBaseType.php:90 + Part-DB1\src\DataTables\PartsDataTable.php:211 + Part-DB1\src\Form\Part\PartBaseType.php:88 + + + m_status.announced + Anunciado + + + + + Part-DB1\src\DataTables\PartsDataTable.php:264 + Part-DB1\src\Form\Part\PartBaseType.php:90 + Part-DB1\src\DataTables\PartsDataTable.php:212 + Part-DB1\src\Form\Part\PartBaseType.php:88 + + + m_status.active + Activo + + + + + Part-DB1\src\DataTables\PartsDataTable.php:265 + Part-DB1\src\Form\Part\PartBaseType.php:90 + Part-DB1\src\DataTables\PartsDataTable.php:213 + Part-DB1\src\Form\Part\PartBaseType.php:88 + + + m_status.nrfnd + No recomendado para nuevos diseños + + + + + Part-DB1\src\DataTables\PartsDataTable.php:266 + Part-DB1\src\Form\Part\PartBaseType.php:90 + Part-DB1\src\DataTables\PartsDataTable.php:214 + Part-DB1\src\Form\Part\PartBaseType.php:88 + + + m_status.eol + Final de vida + + + + + Part-DB1\src\DataTables\PartsDataTable.php:267 + Part-DB1\src\Form\Part\PartBaseType.php:90 + Part-DB1\src\DataTables\PartsDataTable.php:215 + Part-DB1\src\Form\Part\PartBaseType.php:88 + + + m_status.discontinued + Descontinuado + + + + + Part-DB1\src\DataTables\PartsDataTable.php:271 + Part-DB1\src\DataTables\PartsDataTable.php:219 + + + part.table.mpn + MPN + + + + + Part-DB1\src\DataTables\PartsDataTable.php:275 + Part-DB1\src\DataTables\PartsDataTable.php:223 + + + part.table.mass + Peso + + + + + Part-DB1\src\DataTables\PartsDataTable.php:279 + Part-DB1\src\DataTables\PartsDataTable.php:227 + + + part.table.tags + Etiquetas + + + + + Part-DB1\src\DataTables\PartsDataTable.php:283 + Part-DB1\src\DataTables\PartsDataTable.php:231 + + + part.table.attachments + Adjuntos + + + + + Part-DB1\src\EventSubscriber\UserSystem\LoginSuccessSubscriber.php:82 + Part-DB1\src\EventSubscriber\LoginSuccessListener.php:82 + + + flash.login_successful + Se ha iniciado sesión correctamente + + + + + Part-DB1\src\Form\AdminPages\ImportType.php:77 + Part-DB1\src\Form\AdminPages\ImportType.php:77 + src\Form\ImportType.php:68 + + + JSON + JSON + + + + + Part-DB1\src\Form\AdminPages\ImportType.php:77 + Part-DB1\src\Form\AdminPages\ImportType.php:77 + src\Form\ImportType.php:68 + + + XML + XML + + + + + Part-DB1\src\Form\AdminPages\ImportType.php:77 + Part-DB1\src\Form\AdminPages\ImportType.php:77 + src\Form\ImportType.php:68 + + + CSV + CSV + + + + + Part-DB1\src\Form\AdminPages\ImportType.php:77 + Part-DB1\src\Form\AdminPages\ImportType.php:77 + src\Form\ImportType.php:68 + + + YAML + YAML + + + + + Part-DB1\src\Form\AdminPages\ImportType.php:124 + Part-DB1\src\Form\AdminPages\ImportType.php:124 + + + import.abort_on_validation.help + Cuando esta opción se active, el proceso de importación será abortado si se selecciona información no válida. Si no se ha seleccionado, la información incorrecta se ignorará y el importador intentará importar el resto de elementos. + + + + + Part-DB1\src\Form\AdminPages\ImportType.php:86 + Part-DB1\src\Form\AdminPages\ImportType.php:86 + src\Form\ImportType.php:70 + + + import.csv_separator + Separador CSV + + + + + Part-DB1\src\Form\AdminPages\ImportType.php:93 + Part-DB1\src\Form\AdminPages\ImportType.php:93 + src\Form\ImportType.php:72 + + + parent.label + Elemento padre + + + + + Part-DB1\src\Form\AdminPages\ImportType.php:101 + Part-DB1\src\Form\AdminPages\ImportType.php:101 + src\Form\ImportType.php:75 + + + import.file + Archivo + + + + + Part-DB1\src\Form\AdminPages\ImportType.php:111 + Part-DB1\src\Form\AdminPages\ImportType.php:111 + src\Form\ImportType.php:78 + + + import.preserve_children + Preservar elementos hijos al importar + + + + + Part-DB1\src\Form\AdminPages\ImportType.php:120 + Part-DB1\src\Form\AdminPages\ImportType.php:120 + src\Form\ImportType.php:80 + + + import.abort_on_validation + Anular en caso de datos inválidos + + + + + Part-DB1\src\Form\AdminPages\ImportType.php:132 + Part-DB1\src\Form\AdminPages\ImportType.php:132 + src\Form\ImportType.php:85 + + + import.btn + Importar + + + + + Part-DB1\src\Form\AttachmentFormType.php:113 + Part-DB1\src\Form\AttachmentFormType.php:109 + + + attachment.edit.secure_file.help + Un adjunto marcado como privado solo puede ser accedido por usuarios autenticados que tengan el permiso necesario. Si esta opción es activada, ninguna miniatura será generada y el acceso al archivo será más lento. + + + + + Part-DB1\src\Form\AttachmentFormType.php:127 + Part-DB1\src\Form\AttachmentFormType.php:123 + + + attachment.edit.url.help + Puedes especificar una URL a un archivo externo aquí, o introducir una palabra clave para buscar recursos incorporados (p.ej. footprints) + + + + + Part-DB1\src\Form\AttachmentFormType.php:82 + Part-DB1\src\Form\AttachmentFormType.php:79 + + + attachment.edit.name + Nombre + + + + + Part-DB1\src\Form\AttachmentFormType.php:85 + Part-DB1\src\Form\AttachmentFormType.php:82 + + + attachment.edit.attachment_type + Tipo de adjunto + + + + + Part-DB1\src\Form\AttachmentFormType.php:94 + Part-DB1\src\Form\AttachmentFormType.php:91 + + + attachment.edit.show_in_table + Mostrar en la tabla + + + + + Part-DB1\src\Form\AttachmentFormType.php:105 + Part-DB1\src\Form\AttachmentFormType.php:102 + + + attachment.edit.secure_file + Adjunto privado + + + + + Part-DB1\src\Form\AttachmentFormType.php:119 + Part-DB1\src\Form\AttachmentFormType.php:115 + + + attachment.edit.url + URL + + + + + Part-DB1\src\Form\AttachmentFormType.php:133 + Part-DB1\src\Form\AttachmentFormType.php:129 + + + attachment.edit.download_url + Descargar archivo externo + + + + + Part-DB1\src\Form\AttachmentFormType.php:146 + Part-DB1\src\Form\AttachmentFormType.php:142 + + + attachment.edit.file + Subir archivo + + + + + Part-DB1\src\Form\LabelOptionsType.php:68 + Part-DB1\src\Services\ElementTypeNameGenerator.php:86 + + + part.label + Componente + + + + + Part-DB1\src\Form\LabelOptionsType.php:68 + Part-DB1\src\Services\ElementTypeNameGenerator.php:87 + + + part_lot.label + Lote del componente + + + + + Part-DB1\src\Form\LabelOptionsType.php:78 + + + label_options.barcode_type.none + Ninguno + + + + + Part-DB1\src\Form\LabelOptionsType.php:78 + + + label_options.barcode_type.qr + Código QR (recomendado) + + + + + Part-DB1\src\Form\LabelOptionsType.php:78 + + + label_options.barcode_type.code128 + Código 128 (recomendado) + + + + + Part-DB1\src\Form\LabelOptionsType.php:78 + + + label_options.barcode_type.code39 + Código 39 (recomendado) + + + + + Part-DB1\src\Form\LabelOptionsType.php:78 + + + label_options.barcode_type.code93 + Código 93 + + + + + Part-DB1\src\Form\LabelOptionsType.php:78 + + + label_options.barcode_type.datamatrix + Datamatrix + + + + + Part-DB1\src\Form\LabelOptionsType.php:122 + + + label_options.lines_mode.html + Marcador de posición + + + + + Part-DB1\src\Form\LabelOptionsType.php:122 + + + label.options.lines_mode.twig + Twig + + + + + Part-DB1\src\Form\LabelOptionsType.php:126 + + + label_options.lines_mode.help + Si aquí seleccionas Twig, el campo de contenido se interpreta como una plantilla Twig. Visita <a href="https://twig.symfony.com/doc/3.x/templates.html">Twig documentation</a> y <a href="https://docs.part-db.de/usage/labels.html#twig-mode">Wiki</a> para más información. + + + + + Part-DB1\src\Form\LabelOptionsType.php:47 + + + label_options.page_size.label + Tamaño de etiqueta + + + + + Part-DB1\src\Form\LabelOptionsType.php:66 + + + label_options.supported_elements.label + Tipo de objetivo + + + + + Part-DB1\src\Form\LabelOptionsType.php:75 + + + label_options.barcode_type.label + Código de barras + + + + + Part-DB1\src\Form\LabelOptionsType.php:102 + + + label_profile.lines.label + Contenido + + + + + Part-DB1\src\Form\LabelOptionsType.php:111 + + + label_options.additional_css.label + Estilos adicionales (CSS) + + + + + Part-DB1\src\Form\LabelOptionsType.php:120 + + + label_options.lines_mode.label + Modo parser + + + + + Part-DB1\src\Form\LabelOptionsType.php:51 + + + label_options.width.placeholder + Anchura + + + + + Part-DB1\src\Form\LabelOptionsType.php:60 + + + label_options.height.placeholder + Altura + + + + + Part-DB1\src\Form\LabelSystem\LabelDialogType.php:49 + + + label_generator.target_id.range_hint + Puedes especificar múltiples ID (ej. 1, 2, 3) y/o un intervalo (1-3) aquí para generar etiquetas para múltiples elementos a la vez. + + + + + Part-DB1\src\Form\LabelSystem\LabelDialogType.php:46 + + + label_generator.target_id.label + ID del objetivo + + + + + Part-DB1\src\Form\LabelSystem\LabelDialogType.php:59 + + + label_generator.update + Actualizar + + + + + Part-DB1\src\Form\LabelSystem\ScanDialogType.php:36 + + + scan_dialog.input + Input + + + + + Part-DB1\src\Form\LabelSystem\ScanDialogType.php:44 + + + scan_dialog.submit + Subir + + + + + Part-DB1\src\Form\ParameterType.php:41 + + + parameters.name.placeholder + p.ej. DC Current Gain + + + + + Part-DB1\src\Form\ParameterType.php:50 + + + parameters.symbol.placeholder + p.ej. h_{FE} + + + + + Part-DB1\src\Form\ParameterType.php:60 + + + parameters.text.placeholder + p.ej. Test conditions + + + + + Part-DB1\src\Form\ParameterType.php:71 + + + parameters.max.placeholder + p.ej. 350 + + + + + Part-DB1\src\Form\ParameterType.php:82 + + + parameters.min.placeholder + p.ej. 100 + + + + + Part-DB1\src\Form\ParameterType.php:93 + + + parameters.typical.placeholder + p.ej. 200 + + + + + Part-DB1\src\Form\ParameterType.php:103 + + + parameters.unit.placeholder + p.ej. V + + + + + Part-DB1\src\Form\ParameterType.php:114 + + + parameter.group.placeholder + p.ej. Especificaciones técnicas + + + + + Part-DB1\src\Form\Part\OrderdetailType.php:72 + Part-DB1\src\Form\Part\OrderdetailType.php:75 + + + orderdetails.edit.supplierpartnr + Número de componente de proveedor + + + + + Part-DB1\src\Form\Part\OrderdetailType.php:81 + Part-DB1\src\Form\Part\OrderdetailType.php:84 + + + orderdetails.edit.supplier + Proveedor + + + + + Part-DB1\src\Form\Part\OrderdetailType.php:87 + Part-DB1\src\Form\Part\OrderdetailType.php:90 + + + orderdetails.edit.url + Enlace a la oferta + + + + + Part-DB1\src\Form\Part\OrderdetailType.php:93 + Part-DB1\src\Form\Part\OrderdetailType.php:96 + + + orderdetails.edit.obsolete + Ya no disponible + + + + + Part-DB1\src\Form\Part\OrderdetailType.php:75 + Part-DB1\src\Form\Part\OrderdetailType.php:78 + + + orderdetails.edit.supplierpartnr.placeholder + p.ej. BC 547C + + + + + Part-DB1\src\Form\Part\PartBaseType.php:101 + Part-DB1\src\Form\Part\PartBaseType.php:99 + + + part.edit.name + Nombre + + + + + Part-DB1\src\Form\Part\PartBaseType.php:109 + Part-DB1\src\Form\Part\PartBaseType.php:107 + + + part.edit.description + Descripción + + + + + Part-DB1\src\Form\Part\PartBaseType.php:120 + Part-DB1\src\Form\Part\PartBaseType.php:118 + + + part.edit.mininstock + Stock mínimo + + + + + Part-DB1\src\Form\Part\PartBaseType.php:129 + Part-DB1\src\Form\Part\PartBaseType.php:127 + + + part.edit.category + Categoría + + + + + Part-DB1\src\Form\Part\PartBaseType.php:135 + Part-DB1\src\Form\Part\PartBaseType.php:133 + + + part.edit.footprint + Footprint + + + + + Part-DB1\src\Form\Part\PartBaseType.php:142 + Part-DB1\src\Form\Part\PartBaseType.php:140 + + + part.edit.tags + Etiquetas + + + + + Part-DB1\src\Form\Part\PartBaseType.php:154 + Part-DB1\src\Form\Part\PartBaseType.php:152 + + + part.edit.manufacturer.label + Fabricante + + + + + Part-DB1\src\Form\Part\PartBaseType.php:161 + Part-DB1\src\Form\Part\PartBaseType.php:159 + + + part.edit.manufacturer_url.label + Link a la página del producto + + + + + Part-DB1\src\Form\Part\PartBaseType.php:167 + Part-DB1\src\Form\Part\PartBaseType.php:165 + + + part.edit.mpn + Número del fabricante del componente + + + + + Part-DB1\src\Form\Part\PartBaseType.php:173 + Part-DB1\src\Form\Part\PartBaseType.php:171 + + + part.edit.manufacturing_status + Estado de fabricación + + + + + Part-DB1\src\Form\Part\PartBaseType.php:181 + Part-DB1\src\Form\Part\PartBaseType.php:179 + + + part.edit.needs_review + Necesita revisión + + + + + Part-DB1\src\Form\Part\PartBaseType.php:189 + Part-DB1\src\Form\Part\PartBaseType.php:187 + + + part.edit.is_favorite + Favorito + + + + + Part-DB1\src\Form\Part\PartBaseType.php:197 + Part-DB1\src\Form\Part\PartBaseType.php:195 + + + part.edit.mass + Peso + + + + + Part-DB1\src\Form\Part\PartBaseType.php:203 + Part-DB1\src\Form\Part\PartBaseType.php:201 + + + part.edit.partUnit + Unidad de medida + + + + + Part-DB1\src\Form\Part\PartBaseType.php:212 + Part-DB1\src\Form\Part\PartBaseType.php:210 + + + part.edit.comment + Notas + + + + + Part-DB1\src\Form\Part\PartBaseType.php:250 + Part-DB1\src\Form\Part\PartBaseType.php:246 + + + part.edit.master_attachment + Vista previa + + + + + Part-DB1\src\Form\Part\PartBaseType.php:295 + Part-DB1\src\Form\Part\PartBaseType.php:276 + src\Form\PartType.php:91 + + + part.edit.save + Guardar cambios + + + + + Part-DB1\src\Form\Part\PartBaseType.php:296 + Part-DB1\src\Form\Part\PartBaseType.php:277 + src\Form\PartType.php:92 + + + part.edit.reset + Restablecer cambios + + + + + Part-DB1\src\Form\Part\PartBaseType.php:105 + Part-DB1\src\Form\Part\PartBaseType.php:103 + + + part.edit.name.placeholder + p.ej. BC547 + + + + + Part-DB1\src\Form\Part\PartBaseType.php:115 + Part-DB1\src\Form\Part\PartBaseType.php:113 + + + part.edit.description.placeholder + p.ej NPN 45V, 0,1A, 0,5W + + + + + Part-DB1\src\Form\Part\PartBaseType.php:123 + Part-DB1\src\Form\Part\PartBaseType.php:121 + + + part.editmininstock.placeholder + p.ej. 1 + + + + + Part-DB1\src\Form\Part\PartLotType.php:69 + Part-DB1\src\Form\Part\PartLotType.php:69 + + + part_lot.edit.description + Descripción + + + + + Part-DB1\src\Form\Part\PartLotType.php:78 + Part-DB1\src\Form\Part\PartLotType.php:78 + + + part_lot.edit.location + Ubicación de almacenaje + + + + + Part-DB1\src\Form\Part\PartLotType.php:89 + Part-DB1\src\Form\Part\PartLotType.php:89 + + + part_lot.edit.amount + Cantidad + + + + + Part-DB1\src\Form\Part\PartLotType.php:98 + Part-DB1\src\Form\Part\PartLotType.php:97 + + + part_lot.edit.instock_unknown + Cantidad desconocida + + + + + Part-DB1\src\Form\Part\PartLotType.php:109 + Part-DB1\src\Form\Part\PartLotType.php:108 + + + part_lot.edit.needs_refill + Necesita repuesto + + + + + Part-DB1\src\Form\Part\PartLotType.php:120 + Part-DB1\src\Form\Part\PartLotType.php:119 + + + part_lot.edit.expiration_date + Fecha de caducidad + + + + + Part-DB1\src\Form\Part\PartLotType.php:128 + Part-DB1\src\Form\Part\PartLotType.php:125 + + + part_lot.edit.comment + Comentarios + + + + + Part-DB1\src\Form\Permissions\PermissionsType.php:99 + Part-DB1\src\Form\Permissions\PermissionsType.php:99 + + + perm.group.other + Varios + + + + + Part-DB1\src\Form\TFAGoogleSettingsType.php:97 + Part-DB1\src\Form\TFAGoogleSettingsType.php:97 + + + tfa_google.enable + Habilitar app de autenticación + + + + + Part-DB1\src\Form\TFAGoogleSettingsType.php:101 + Part-DB1\src\Form\TFAGoogleSettingsType.php:101 + + + tfa_google.disable + Desactivar aplicación de autenticación + + + + + Part-DB1\src\Form\TFAGoogleSettingsType.php:74 + Part-DB1\src\Form\TFAGoogleSettingsType.php:74 + + + google_confirmation + Código de confirmación + + + + + Part-DB1\src\Form\UserSettingsType.php:108 + Part-DB1\src\Form\UserSettingsType.php:108 + src\Form\UserSettingsType.php:46 + + + user.timezone.label + Zona horaria + + + + + Part-DB1\src\Form\UserSettingsType.php:133 + Part-DB1\src\Form\UserSettingsType.php:132 + + + user.currency.label + Divisa preferida + + + + + Part-DB1\src\Form\UserSettingsType.php:140 + Part-DB1\src\Form\UserSettingsType.php:139 + src\Form\UserSettingsType.php:53 + + + save + Aplicar cambios + + + + + Part-DB1\src\Form\UserSettingsType.php:141 + Part-DB1\src\Form\UserSettingsType.php:140 + src\Form\UserSettingsType.php:54 + + + reset + Descartar cambios + + + + + Part-DB1\src\Form\UserSettingsType.php:104 + Part-DB1\src\Form\UserSettingsType.php:104 + src\Form\UserSettingsType.php:45 + + + user_settings.language.placeholder + Idioma del servidor + + + + + Part-DB1\src\Form\UserSettingsType.php:115 + Part-DB1\src\Form\UserSettingsType.php:115 + src\Form\UserSettingsType.php:48 + + + user_settings.timezone.placeholder + Zona horaria del servidor + + + + + Part-DB1\src\Services\ElementTypeNameGenerator.php:79 + Part-DB1\src\Services\ElementTypeNameGenerator.php:79 + + + attachment.label + Adjunto + + + + + Part-DB1\src\Services\ElementTypeNameGenerator.php:81 + Part-DB1\src\Services\ElementTypeNameGenerator.php:81 + + + attachment_type.label + Tipo de adjunto + + + + + Part-DB1\src\Services\ElementTypeNameGenerator.php:82 + Part-DB1\src\Services\ElementTypeNameGenerator.php:82 + + + project.label + Proyecto + + + + + Part-DB1\src\Services\ElementTypeNameGenerator.php:85 + Part-DB1\src\Services\ElementTypeNameGenerator.php:85 + + + measurement_unit.label + Unidad de medida + + + + + Part-DB1\src\Services\ElementTypeNameGenerator.php:90 + Part-DB1\src\Services\ElementTypeNameGenerator.php:90 + + + currency.label + Divisa + + + + + Part-DB1\src\Services\ElementTypeNameGenerator.php:91 + Part-DB1\src\Services\ElementTypeNameGenerator.php:91 + + + orderdetail.label + Información del pedido + + + + + Part-DB1\src\Services\ElementTypeNameGenerator.php:92 + Part-DB1\src\Services\ElementTypeNameGenerator.php:92 + + + pricedetail.label + Información del precio + + + + + Part-DB1\src\Services\ElementTypeNameGenerator.php:94 + Part-DB1\src\Services\ElementTypeNameGenerator.php:94 + + + user.label + Usuario + + + + + Part-DB1\src\Services\ElementTypeNameGenerator.php:95 + + + parameter.label + Parámetro + + + + + Part-DB1\src\Services\ElementTypeNameGenerator.php:96 + + + label_profile.label + Perfil de etiqueta + + + + + Part-DB1\src\Services\LogSystem\LogEntryExtraFormatter.php:176 + Part-DB1\src\Services\LogSystem\LogEntryExtraFormatter.php:161 + new + + + log.element_deleted.old_name.unknown + Desconocido + + + + + Part-DB1\src\Services\MarkdownParser.php:73 + Part-DB1\src\Services\MarkdownParser.php:73 + + + markdown.loading + Cargando markdown. Si este mensaje no desaparece, prueba a refrescar la página. + + + + + Part-DB1\src\Services\PasswordResetManager.php:98 + Part-DB1\src\Services\PasswordResetManager.php:98 + + + pw_reset.email.subject + Restablecer contraseña de tu cuenta Part-DB. + + + + + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:108 + + + tree.tools.tools + Herramientas + + + + + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:109 + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:107 + src\Services\ToolsTreeBuilder.php:74 + + + tree.tools.edit + Editar + + + + + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:110 + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:108 + src\Services\ToolsTreeBuilder.php:81 + + + tree.tools.show + Visualizar + + + + + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:111 + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:109 + + + tree.tools.system + Sistema + + + + + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:123 + + + tree.tools.tools.label_dialog + Generador de etiquetas + + + + + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:130 + + + tree.tools.tools.label_scanner + Escáner + + + + + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:149 + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:126 + src\Services\ToolsTreeBuilder.php:62 + + + tree.tools.edit.attachment_types + Tipos de adjunto + + + + + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:155 + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:132 + src\Services\ToolsTreeBuilder.php:64 + + + tree.tools.edit.categories + Categorías + + + + + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:161 + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:138 + src\Services\ToolsTreeBuilder.php:66 + + + tree.tools.edit.projects + Proyectos + + + + + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:167 + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:144 + src\Services\ToolsTreeBuilder.php:68 + + + tree.tools.edit.suppliers + Proveedores + + + + + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:173 + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:150 + src\Services\ToolsTreeBuilder.php:70 + + + tree.tools.edit.manufacturer + Fabricantes + + + + + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:179 + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:156 + + + tree.tools.edit.storelocation + Ubicaciones de almacenamiento + + + + + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:185 + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:162 + + + tree.tools.edit.footprint + Footprints + + + + + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:191 + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:168 + + + tree.tools.edit.currency + Divisas + + + + + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:197 + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:174 + + + tree.tools.edit.measurement_unit + Unidad de medida + + + + + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:203 + + + tree.tools.edit.label_profile + Perfiles de etiqueta + + + + + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:209 + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:180 + + + tree.tools.edit.part + Nuevo componente + + + + + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:226 + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:197 + src\Services\ToolsTreeBuilder.php:77 + + + tree.tools.show.all_parts + Visualizar todos los componentes + + + + + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:232 + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:203 + + + tree.tools.show.all_attachments + Adjuntos + + + + + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:239 + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:210 + new + + + tree.tools.show.statistics + Estadísticas + + + + + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:258 + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:229 + + + tree.tools.system.users + Usuarios + + + + + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:264 + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:235 + + + tree.tools.system.groups + Grupos + + + + + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:271 + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:242 + new + + + tree.tools.system.event_log + Registro de eventos + + + + + Part-DB1\src\Services\Trees\TreeViewGenerator.php:95 + Part-DB1\src\Services\Trees\TreeViewGenerator.php:95 + src\Services\TreeBuilder.php:124 + + + entity.tree.new + Nuevo elemento + + + + + Part-DB1\templates\Parts\info\_attachments_info.html.twig:34 + obsolete + + + attachment.external_file + Archivo externo + + + + + Part-DB1\templates\Parts\info\_attachments_info.html.twig:62 + obsolete + + + attachment.edit + Editar + + + + + Part-DB1\templates\_navbar.html.twig:27 + templates\base.html.twig:88 + obsolete + + + barcode.scan + Escanear código de barras + + + + + Part-DB1\src\Form\UserSettingsType.php:119 + src\Form\UserSettingsType.php:49 + obsolete + + + user.theme.label + Tema + + + + + Part-DB1\src\Form\UserSettingsType.php:129 + src\Form\UserSettingsType.php:50 + obsolete + + + user_settings.theme.placeholder + Tema del servidor + + + + + Part-DB1\src\Services\LogSystem\LogEntryExtraFormatter.php:100 + new + obsolete + + + log.user_login.ip + IP + + + + + Part-DB1\src\Services\LogSystem\LogEntryExtraFormatter.php:128 + Part-DB1\src\Services\LogSystem\LogEntryExtraFormatter.php:150 + Part-DB1\src\Services\LogSystem\LogEntryExtraFormatter.php:169 + Part-DB1\src\Services\LogSystem\LogEntryExtraFormatter.php:207 + new + obsolete + + + log.undo_mode.undo + Cambio deshecho + + + + + Part-DB1\src\Services\LogSystem\LogEntryExtraFormatter.php:130 + Part-DB1\src\Services\LogSystem\LogEntryExtraFormatter.php:152 + Part-DB1\src\Services\LogSystem\LogEntryExtraFormatter.php:171 + Part-DB1\src\Services\LogSystem\LogEntryExtraFormatter.php:209 + new + obsolete + + + log.undo_mode.revert + Elemento restablecido + + + + + Part-DB1\src\Services\LogSystem\LogEntryExtraFormatter.php:139 + new + obsolete + + + log.element_created.original_instock + Instock antiguo + + + + + Part-DB1\src\Services\LogSystem\LogEntryExtraFormatter.php:160 + new + obsolete + + + log.element_deleted.old_name + Nombre antiguo + + + + + Part-DB1\src\Services\LogSystem\LogEntryExtraFormatter.php:184 + new + obsolete + + + log.element_edited.changed_fields + Campos editados + + + + + Part-DB1\src\Services\LogSystem\LogEntryExtraFormatter.php:198 + new + obsolete + + + log.instock_changed.comment + Comentario + + + + + Part-DB1\src\Services\LogSystem\LogEntryExtraFormatter.php:214 + new + obsolete + + + log.collection_deleted.deleted + Elemento eliminado: + + + + + templates\base.html.twig:81 + obsolete + obsolete + + + go.exclamation + ¡Vamos! + + + + + templates\base.html.twig:109 + obsolete + obsolete + + + language.english + Inglés + + + + + templates\base.html.twig:112 + obsolete + obsolete + + + language.german + Alemán + + + + + obsolete + obsolete + + + flash.password_change_needed + ¡Se necesita cambiar la contraseña! + + + + + obsolete + obsolete + + + attachment.table.type + Tipo de adjunto + + + + + obsolete + obsolete + + + attachment.table.element + Elemento asociado + + + + + obsolete + obsolete + + + attachment.edit.isPicture + ¿Imagen? + + + + + obsolete + obsolete + + + attachment.edit.is3DModel + ¿Modelo 3D? + + + + + obsolete + obsolete + + + attachment.edit.isBuiltin + ¿Integrado? + + + + + obsolete + obsolete + + + category.edit.default_comment.placeholder + p.ej. útil para cambiar + + + + + obsolete + obsolete + + + tfa_backup.regenerate_codes + Generar nuevos códigos backup + + + + + obsolete + obsolete + + + validator.noneofitschild.self + Un elemento no puede ser su propio padre. + + + + + obsolete + obsolete + + + validator.noneofitschild.children + El elemento padre no puede ser uno de sus propios hijos. + + + + + obsolete + obsolete + + + validator.part_lot.location_full.no_increasment + La ubicación de almacenaje ha sido marcada como llena, así que no puedes incrementar la cantidad de instock. (Nueva cantidad máxima. {{ old_amount }}) + + + + + obsolete + obsolete + + + validator.part_lot.location_full + La ubicación de almacenaje ha sido marcada como llena, así que no puedes añadir un nuevo componente. + + + + + obsolete + obsolete + + + validator.part_lot.only_existing + La ubicación de almacenaje ha sido marcada como "solo existente", así que no puedes añadir un nuevo componente. + + + + + obsolete + obsolete + + + validator.part_lot.single_part + La ubicación de almacenaje ha sido marcada como "solo un componente", así que no puedes añadir un nuevo componente. + + + + + obsolete + obsolete + + + m_status.active.help + El componente se encuentra actualmente y durante el futuro próximo bajo producción. + + + + + obsolete + obsolete + + + m_status.announced.help + El componente fue anunciado pero aún no está disponible. + + + + + obsolete + obsolete + + + m_status.discontinued.help + El componente se encuentra descontinuado y ya no se produce. + + + + + obsolete + obsolete + + + m_status.eol.help + El producto ha alcanzado el final de su vida y su producción se detendrá pronto. + + + + + obsolete + obsolete + + + m_status.nrfnd.help + El componente está actualmente en producción pero no está recomendado para diseños nuevos. + + + + + obsolete + obsolete + + + m_status.unknown.help + El estatus de producción del componente es desconocido. + + + + + obsolete + obsolete + + + flash.success + Éxito + + + + + obsolete + obsolete + + + flash.error + Error + + + + + obsolete + obsolete + + + flash.warning + Atención + + + + + obsolete + obsolete + + + flash.notice + Aviso + + + + + obsolete + obsolete + + + flash.info + Info + + + + + obsolete + obsolete + + + validator.noLockout + No puedes retirarte del permiso "cambio de permiso" para evitar que te bloquees a ti mismo. + + + + + obsolete + obsolete + + + attachment_type.edit.filetype_filter + Tipos de fichero autorizados + + + + + obsolete + obsolete + + + attachment_type.edit.filetype_filter.help + Aquí puedes especificar una lista separada por comas de extensiones de fichero o tipos mime. Debe de ponerse en un fichero subido cuando se le asigna este tipo de adjunto. Para permitir todos los tipos de imágenes soportadas, puedes usar imagen/*. + + + + + obsolete + obsolete + + + attachment_type.edit.filetype_filter.placeholder + p.ej. .txt, application/pdf, image/* + + + + + src\Form\PartType.php:63 + obsolete + obsolete + + + part.name.placeholder + p.ej. BC547 + + + + + obsolete + obsolete + + + entity.edit.not_selectable + No seleccionable + + + + + obsolete + obsolete + + + entity.edit.not_selectable.help + Si esta opción se activa, este elemento no puede ser asignado como una propiedad de un componente. Útil si este elemento se va a usar para agrupamiento. + + + + + obsolete + obsolete + + + bbcode.hint + Puedes usar BBCode aquí (p.ej. [b]Bold[/b]) + + + + + obsolete + obsolete + + + entity.create + Crear elemento + + + + + obsolete + obsolete + + + entity.edit.save + Guardar + + + + + obsolete + obsolete + + + category.edit.disable_footprints + Desactivar footprints + + + + + obsolete + obsolete + + + category.edit.disable_footprints.help + Si se activa esta opción, la propiedad footprint se desactivará para todos los componentes con esta categoría + + + + + obsolete + obsolete + + + category.edit.disable_manufacturers + Desactivar fabricantes + + + + + obsolete + obsolete + + + category.edit.disable_manufacturers.help + Si se activa esta opción, la propiedad fabricante se desactivará para todos los componentes con esta categoría. + + + + + obsolete + obsolete + + + category.edit.disable_autodatasheets + Desactivar enlaces automáticos a la hoja de datos + + + + + obsolete + obsolete + + + category.edit.disable_autodatasheets.help + Si se activa esta opción, no se crearán enlaces a la hoja de datos de forma automática para esta categoría. + + + + + obsolete + obsolete + + + category.edit.disable_properties + Desactivar propiedades + + + + + obsolete + obsolete + + + category.edit.disable_properties.help + Si se activa esta opción, las propiedades de los componentes se desactivarán para esta categoría. + + + + + obsolete + obsolete + + + category.edit.partname_hint + Sugerencia para nombre del componente + + + + + obsolete + obsolete + + + category.edit.partname_hint.placeholder + p.ej. 100nF + + + + + obsolete + obsolete + + + category.edit.partname_regex + Filtro de nombre + + + + + obsolete + obsolete + + + category.edit.default_description + Descripción por defecto + + + + + obsolete + obsolete + + + category.edit.default_description.placeholder + p.ej. Condensador, 10mm x 10mm, SMD + + + + + obsolete + obsolete + + + category.edit.default_comment + Notas por defecto + + + + + obsolete + obsolete + + + company.edit.address + Dirección + + + + + obsolete + obsolete + + + company.edit.address.placeholder + p.ej. Calleejemplo 314 +Ciudadejemplo + + + + + obsolete + obsolete + + + company.edit.phone_number + Número de teléfono + + + + + obsolete + obsolete + + + company.edit.phone_number.placeholder + +34 123 45 67 89 + + + + + obsolete + obsolete + + + company.edit.fax_number + Número de fax + + + + + obsolete + obsolete + + + company.edit.email + Email + + + + + obsolete + obsolete + + + company.edit.email.placeholder + p.ej. contact@foo.bar + + + + + obsolete + obsolete + + + company.edit.website + Sitio web + + + + + obsolete + obsolete + + + company.edit.website.placeholder + https://www.foo.bar + + + + + obsolete + obsolete + + + company.edit.auto_product_url + URL del producto + + + + + obsolete + obsolete + + + company.edit.auto_product_url.help + Este campo se usa para determinar un link al componente en la web de la empresa. %PARTNUMBER% será reemplazado por número del pedido. + + + + + obsolete + obsolete + + + company.edit.auto_product_url.placeholder + https://foo.bar/product/%PARTNUMBER% + + + + + obsolete + obsolete + + + currency.edit.iso_code + Código ISO + + + + + obsolete + obsolete + + + currency.edit.exchange_rate + Tasa de cambio + + + + + obsolete + obsolete + + + footprint.edit.3d_model + Modelo 3D + + + + + obsolete + obsolete + + + mass_creation.lines + Entrada + + + + + obsolete + obsolete + + + mass_creation.lines.placeholder + Elemento 1 + Elemento 1.1 + Elemento 1.1.1 + Elemento 1.2 +Elemento 2 +Elemento 3 + + + + + obsolete + obsolete + + + entity.mass_creation.btn + Crear + + + + + obsolete + obsolete + + + measurement_unit.edit.is_integer + Número entero + + + + + obsolete + obsolete + + + measurement_unit.edit.is_integer.help + Si esta opción está activada, todos los valores con esta unidad serán redondeados a un número entero. + + + + + obsolete + obsolete + + + measurement_unit.edit.use_si_prefix + Utilizar prefijos SI + + + + + obsolete + obsolete + + + measurement_unit.edit.use_si_prefix.help + Si esta opción está activada, los valores de salida utilizarán prefijos SI (p.ej. 1,2kg en vez de 1200g) + + + + + obsolete + obsolete + + + measurement_unit.edit.unit_symbol + Símbolo de la unidad + + + + + obsolete + obsolete + + + measurement_unit.edit.unit_symbol.placeholder + p.ej. m + + + + + obsolete + obsolete + + + storelocation.edit.is_full.label + Ubicación llena + + + + + obsolete + obsolete + + + storelocation.edit.is_full.help + Si esta opción es seleccionada, no será posible añadir componentes nuevas a esta ubicación o incrementar el número de componentes existentes. + + + + + obsolete + obsolete + + + storelocation.limit_to_existing.label + Limitar a componentes existentes + + + + + obsolete + obsolete + + + storelocation.limit_to_existing.help + Si esta opción se activa, no será posible añadir componentes nuevos a esta ubicación, pero el número de componentes existentes se podrá incrementar. + + + + + obsolete + obsolete + + + storelocation.only_single_part.label + Solo un componente + + + + + obsolete + obsolete + + + storelocation.only_single_part.help + Si esta opción se activa, solo un componente (de cualquier cantidad) podrá ser asignado a esta ubicación de almacenaje. Útil para cajas SMD pequeñas o alimentadores automáticos. + + + + + obsolete + obsolete + + + storelocation.storage_type.label + Tipo de almacén + + + + + obsolete + obsolete + + + storelocation.storage_type.help + Puedes seleccionar una unidad de medida aquí, la cual debe poderse asignar a esta ubicación de almacenaje. + + + + + obsolete + obsolete + + + supplier.edit.default_currency + Divisa predeterminada + + + + + obsolete + obsolete + + + supplier.shipping_costs.label + Costes de envío + + + + + obsolete + obsolete + + + user.username.placeholder + p.ej. j.doe + + + + + obsolete + obsolete + + + user.firstName.placeholder + p.ej. Mario + + + + + obsolete + obsolete + + + user.lastName.placeholder + p.ej. Gómez + + + + + obsolete + obsolete + + + user.email.placeholder + p.ej. m.gomez@ecorp.com + + + + + obsolete + obsolete + + + user.department.placeholder + p.ej. Desarrollo + + + + + obsolete + obsolete + + + user.settings.pw_new.label + Nueva contraseña + + + + + obsolete + obsolete + + + user.settings.pw_confirm.label + Confirmar nueva contraseña + + + + + obsolete + obsolete + + + user.edit.needs_pw_change + El usuario ha de cambiar su contraseña + + + + + obsolete + obsolete + + + user.edit.user_disabled + Usuario desactivado (no es posible iniciar sesión) + + + + + obsolete + obsolete + + + user.create + Crear usuario + + + + + obsolete + obsolete + + + user.edit.save + Guardar + + + + + obsolete + obsolete + + + entity.edit.reset + Descartar cambios + + + + + templates\Parts\show_part_info.html.twig:166 + obsolete + obsolete + + + part.withdraw.btn + Retirar + + + + + templates\Parts\show_part_info.html.twig:171 + obsolete + obsolete + + + part.withdraw.comment: + Comentario/Propósito + + + + + templates\Parts\show_part_info.html.twig:189 + obsolete + obsolete + + + part.add.caption + Añadir componentes + + + + + templates\Parts\show_part_info.html.twig:194 + obsolete + obsolete + + + part.add.btn + Agregar + + + + + templates\Parts\show_part_info.html.twig:199 + obsolete + obsolete + + + part.add.comment + Comentario/Propósito + + + + + templates\AdminPages\CompanyAdminBase.html.twig:15 + obsolete + obsolete + + + admin.comment + Notas + + + + + src\Form\PartType.php:83 + obsolete + obsolete + + + manufacturer_url.label + Enlace al fabricante + + + + + src\Form\PartType.php:66 + obsolete + obsolete + + + part.description.placeholder + ej. NPN 45V 0,1A 0,5W + + + + + src\Form\PartType.php:69 + obsolete + obsolete + + + part.instock.placeholder + ej. 10 + + + + + src\Form\PartType.php:72 + obsolete + obsolete + + + part.mininstock.placeholder + ej. 5 + + + + + obsolete + obsolete + + + part.order.price_per + Precio por + + + + + obsolete + obsolete + + + part.withdraw.caption + Retirar componentes + + + + + obsolete + obsolete + + + datatable.datatable.lengthMenu + _MENU_ + + + + + obsolete + obsolete + + + perm.group.parts + Componentes + + + + + obsolete + obsolete + + + perm.group.structures + Estructura de datos + + + + + obsolete + obsolete + + + perm.group.system + Sistema + + + + + obsolete + obsolete + + + perm.parts + Componentes + + + + + obsolete + obsolete + + + perm.read + Ver + + + + + obsolete + obsolete + + + perm.edit + Editar + + + + + obsolete + obsolete + + + perm.create + Crear + + + + + obsolete + obsolete + + + perm.part.move + Cambiar categoría + + + + + obsolete + obsolete + + + perm.delete + Eliminar + + + + + obsolete + obsolete + + + perm.part.search + Buscar + + + + + obsolete + obsolete + + + perm.part.all_parts + Lista de todos los componentes + + + + + obsolete + obsolete + + + perm.part.no_price_parts + Lista de componentes con precio + + + + + obsolete + obsolete + + + perm.part.obsolete_parts + Lista de componentes obsoletos + + + + + obsolete + obsolete + + + perm.part.unknown_instock_parts + Mostar componentes con stock desconocido + + + + + obsolete + obsolete + + + perm.part.change_favorite + Cambiar a estado de favorito + + + + + obsolete + obsolete + + + perm.part.show_favorite + Lista de componentes favoritos + + + + + obsolete + obsolete + + + perm.part.show_last_edit_parts + Mostar los últimos componentes editados/añadidos + + + + + obsolete + obsolete + + + perm.part.show_users + Mostar el último usuario modificado + + + + + obsolete + obsolete + + + perm.part.show_history + Mostrar historial + + + + + obsolete + obsolete + + + perm.part.name + Nombre + + + + + obsolete + obsolete + + + perm.part.description + Descripción + + + + + obsolete + obsolete + + + perm.part.instock + Disponibilidad + + + + + obsolete + obsolete + + + perm.part.mininstock + Disponibilidad mínima + + + + + obsolete + obsolete + + + perm.part.comment + Notas + + + + + obsolete + obsolete + + + perm.part.storelocation + Ubicación + + + + + obsolete + obsolete + + + perm.part.manufacturer + Fabricante + + + + + obsolete + obsolete + + + perm.part.orderdetails + Información ordenada + + + + + obsolete + obsolete + + + perm.part.prices + Precio + + + + + obsolete + obsolete + + + perm.part.attachments + Adjuntos de fichero + + + + + obsolete + obsolete + + + perm.part.order + Pedidos + + + + + obsolete + obsolete + + + perm.storelocations + Ubicaciones de almacén + + + + + obsolete + obsolete + + + perm.move + Mover + + + + + obsolete + obsolete + + + perm.list_parts + Lista de componentes + + + + + obsolete + obsolete + + + perm.part.footprints + Footprints + + + + + obsolete + obsolete + + + perm.part.categories + Categorías + + + + + obsolete + obsolete + + + perm.part.supplier + Proveedores + + + + + obsolete + obsolete + + + perm.part.manufacturers + Fabricantes + + + + + obsolete + obsolete + + + perm.projects + Proyectos + + + + + obsolete + obsolete + + + perm.part.attachment_types + Tipos de adjunto + + + + + obsolete + obsolete + + + perm.tools.import + Importar + + + + + obsolete + obsolete + + + perm.tools.labels + Etiquetas + + + + + obsolete + obsolete + + + perm.tools.calculator + Calculadora de resistencia + + + + + obsolete + obsolete + + + perm.tools.footprints + Footprints + + + + + obsolete + obsolete + + + perm.tools.ic_logos + Logos IC + + + + + obsolete + obsolete + + + perm.tools.statistics + Estadísticas + + + + + obsolete + obsolete + + + perm.edit_permissions + Editar autorizaciones + + + + + obsolete + obsolete + + + perm.users.edit_user_name + Editar nombre de usuario + + + + + obsolete + obsolete + + + perm.users.edit_change_group + Modificar grupo + + + + + obsolete + obsolete + + + perm.users.edit_infos + Editar información + + + + + obsolete + obsolete + + + perm.users.edit_permissions + Editar permisos + + + + + obsolete + obsolete + + + perm.users.set_password + Configurar contraseña + + + + + obsolete + obsolete + + + perm.users.change_user_settings + Cambiar ajustes de usuario + + + + + obsolete + obsolete + + + perm.database.see_status + Ver estado + + + + + obsolete + obsolete + + + perm.database.update_db + Actualizar base de datos + + + + + obsolete + obsolete + + + perm.database.read_db_settings + Leer ajustes de la base de datos + + + + + obsolete + obsolete + + + perm.database.write_db_settings + Escribir ajustes de la base de datos + + + + + obsolete + obsolete + + + perm.config.read_config + Leer configuración + + + + + obsolete + obsolete + + + perm.config.edit_config + Editar configuración + + + + + obsolete + obsolete + + + perm.config.server_info + Información del servidor + + + + + obsolete + obsolete + + + perm.config.use_debug + Usar herramientas de depuración + + + + + obsolete + obsolete + + + perm.show_logs + Mostrar registros + + + + + obsolete + obsolete + + + perm.delete_logs + Borrar registros + + + + + obsolete + obsolete + + + perm.self.edit_infos + Editar información + + + + + obsolete + obsolete + + + perm.self.edit_username + Editar nombre de usuario + + + + + obsolete + obsolete + + + perm.self.show_permissions + Mostrar permisos + + + + + obsolete + obsolete + + + perm.self.show_logs + Mostrar entradas de registro propias + + + + + obsolete + obsolete + + + perm.self.create_labels + Crear etiquetas + + + + + obsolete + obsolete + + + perm.self.edit_options + Editar opciones + + + + + obsolete + obsolete + + + perm.self.delete_profiles + Borrar perfiles + + + + + obsolete + obsolete + + + perm.self.edit_profiles + Editar perfiles + + + + + obsolete + obsolete + + + perm.part.tools + Herramientas + + + + + obsolete + obsolete + + + perm.groups + Grupos + + + + + obsolete + obsolete + + + perm.users + Usuarios + + + + + obsolete + obsolete + + + perm.database + Base de datos + + + + + obsolete + obsolete + + + perm.config + Configuración + + + + + obsolete + obsolete + + + perm.system + Sistema + + + + + obsolete + obsolete + + + perm.self + Edita tu propio usuario + + + + + obsolete + obsolete + + + perm.labels + Etiquetas + + + + + obsolete + obsolete + + + perm.part.category + Categoría + + + + + obsolete + obsolete + + + perm.part.minamount + Cantidad mínima + + + + + obsolete + obsolete + + + perm.part.footprint + Footprint + + + + + obsolete + obsolete + + + perm.part.mpn + MPN + + + + + obsolete + obsolete + + + perm.part.status + Estado de producción + + + + + obsolete + obsolete + + + perm.part.tags + Tags + + + + + obsolete + obsolete + + + perm.part.unit + Unidad de medida + + + + + obsolete + obsolete + + + perm.part.mass + Peso + + + + + obsolete + obsolete + + + perm.part.lots + Lote de componentes + + + + + obsolete + obsolete + + + perm.show_users + Mostrar último usuario que ha modificado + + + + + obsolete + obsolete + + + perm.currencies + Divisas + + + + + obsolete + obsolete + + + perm.measurement_units + Unidad de medida + + + + + obsolete + obsolete + + + user.settings.pw_old.label + Contraseña antigua + + + + + obsolete + obsolete + + + pw_reset.submit + Resetear la contraseña + + + + + obsolete + obsolete + + + u2f_two_factor + Clave de seguridad (U2F) + + + + + obsolete + obsolete + + + google + Google + + + + + tfa.provider.webauthn_two_factor_provider + Clave de seguridad + + + + + obsolete + obsolete + + + tfa.provider.google + App de autenticación + + + + + obsolete + obsolete + + + Login successful + Inicio de sesión correcto + + + + + obsolete + obsolete + + + log.type.exception + Excepción + + + + + obsolete + obsolete + + + log.type.user_login + Inicio de sesión de usuario + + + + + obsolete + obsolete + + + log.type.user_logout + Cerrar sesión de usuario + + + + + obsolete + obsolete + + + log.type.unknown + Desconocido + + + + + obsolete + obsolete + + + log.type.element_created + Elemento creado + + + + + obsolete + obsolete + + + log.type.element_edited + Elemento modificado + + + + + obsolete + obsolete + + + log.type.element_deleted + Elemento eliminado + + + + + obsolete + obsolete + + + log.type.database_updated + Base de datos actualizada + + + + + obsolete + + + perm.revert_elements + Restaurar elemento + + + + + obsolete + + + perm.show_history + Ver historial + + + + + obsolete + + + perm.tools.lastActivity + Mostrar última actividad + + + + + obsolete + + + perm.tools.timeTravel + Mostrar versiones antiguas de elementos (time travel) + + + + + obsolete + + + tfa_u2f.key_added_successful + Clave de seguridad añadida correctamente + + + + + obsolete + + + Username + Nombre de usuario + + + + + obsolete + + + log.type.security.google_disabled + App de autenticación desactivada + + + + + obsolete + + + log.type.security.u2f_removed + Clave de seguridad eliminada + + + + + obsolete + + + log.type.security.u2f_added + Clave de seguridad añadida + + + + + obsolete + + + log.type.security.backup_keys_reset + Claves de respaldo regeneradas + + + + + obsolete + + + log.type.security.google_enabled + App de autenticación activada + + + + + obsolete + + + log.type.security.password_changed + Contraseña cambiada + + + + + obsolete + + + log.type.security.trusted_device_reset + Dispositivos de confianza reseteados + + + + + obsolete + + + log.type.collection_element_deleted + Elemento de colección eliminado + + + + + obsolete + + + log.type.security.password_reset + Restablecer contraseña + + + + + obsolete + + + log.type.security.2fa_admin_reset + Autenticación de dos pasos reseteado por Administrador + + + + + obsolete + + + log.type.user_not_allowed + Intento de acceso no autorizado + + + + + obsolete + + + log.database_updated.success + Éxito + + + + + obsolete + + + label_options.barcode_type.2D + 2D + + + + + obsolete + + + label_options.barcode_type.1D + 1D + + + + + obsolete + + + perm.part.parameters + Parámetros + + + + + obsolete + + + perm.attachment_show_private + Ver adjuntos privados + + + + + obsolete + + + perm.tools.label_scanner + Escáner de etiquetas + + + + + obsolete + + + perm.self.read_profiles + Leer perfiles + + + + + obsolete + + + perm.self.create_profiles + Crear perfiles + + + + + obsolete + + + perm.labels.use_twig + Usar modo Twig + + + + + label_profile.showInDropdown + Mostrar en selección rápida + + + + + group.edit.enforce_2fa + Forzar autenticación de dos pasos (2FA) + + + + + group.edit.enforce_2fa.help + Si está opción está activada, todos los miembros directos de este grupo tendrá que configurar como mínimo un factor de autenticación de dos pasos. Recomendado para grupos administrativos con muchos permisos. + + + + + selectpicker.empty + Nada seleccionado + + + + + selectpicker.nothing_selected + Nada seleccionado + + + + + entity.delete.must_not_contain_parts + ¡Elemento "%PATH%" aún contiene partes! Tienes que mover las partes para poder eliminar este elemento. + + + + + entity.delete.must_not_contain_attachments + Tipo de adjunto aún contiene adjuntos. Cambia su tipo para ser capaz de borrar este tipo de adjunto. + + + + + entity.delete.must_not_contain_prices + Divisa aún contiene detalles de precios. Tienes que cambiar su divisa para poder eliminar este elemento. + + + + + entity.delete.must_not_contain_users + ¡Usuarios aún usan este grupo! Cambia su grupo para ser capaz de borrar este grupo. + + + + + part.table.edit + Editar + + + + + part.table.edit.title + Editar componente + + + + + part_list.action.action.title + Seleccionar acción + + + + + part_list.action.action.group.favorite + Favorito + + + + + part_list.action.action.favorite + Componente favorito + + + + + part_list.action.action.unfavorite + Anular indicación de favorito + + + + + part_list.action.action.group.change_field + Cambiar campo + + + + + part_list.action.action.change_category + Cambiar categoría + + + + + part_list.action.action.change_footprint + Cambiar footprint + + + + + part_list.action.action.change_manufacturer + Cambiar fabricante + + + + + part_list.action.action.change_unit + Cambiar unidad de componente + + + + + part_list.action.action.delete + Borrar + + + + + part_list.action.submit + Ok + + + + + part_list.action.part_count + ¡%count% componentes seleccionadas! + + + + + company.edit.quick.website + Abrir sitio web + + + + + company.edit.quick.email + Enviar e-mail + + + + + company.edit.quick.phone + Teléfono + + + + + company.edit.quick.fax + Enviar fax + + + + + company.fax_number.placeholder + ej. +34 123 45 67 89 + + + + + part.edit.save_and_clone + Guardar y duplicar + + + + + validator.file_ext_not_allowed + Extensión de archivo no permitido para este tipo de adjunto. + + + + + tools.reel_calc.title + Calculadora de cintas SMD + + + + + tools.reel_calc.inner_dia + Diámetro interno + + + + + tools.reel_calc.outer_dia + Diámetro externo + + + + + tools.reel_calc.tape_thick + Espesor de cinta + + + + + tools.reel_calc.part_distance + Distancia de componentes + + + + + tools.reel_calc.update + Actualizar + + + + + tools.reel_calc.parts_per_meter + Componentes por metro + + + + + tools.reel_calc.result_length + Longitud de la cinta + + + + + tools.reel_calc.result_amount + Número aproximado de componentes + + + + + tools.reel_calc.outer_greater_inner_error + Error: Diámetro exterior debe ser mayor que el diámetro interior! + + + + + tools.reel_calc.missing_values.error + ¡Por favor rellena todos los valores! + + + + + tools.reel_calc.load_preset + Cargar preset + + + + + tools.reel_calc.explanation + Esta calculadora da una estimación de cuántas piezas quedan en un carrete SMD. Mide las dimensiones anotadas en el carrete (o use algunos de los ajustes preestablecidos) y haz clic en "Actualizar" para obtener un resultado. + + + + + perm.tools.reel_calculator + Calculadora de carrete SMD + + + + + tree.tools.tools.reel_calculator + Calculadora de carrete SMD + + + + + user.pw_change_needed.flash + ¡Tienes que cambiar tu contraseña! Por favor establece una nueva contraseña. + + + + + tree.root_node.text + Nodo raíz + + + + + part_list.action.select_null + Elemento vacío + + + + + part_list.action.delete-title + ¿Estás seguro de que quieres eliminar estos elementos? + + + + + part_list.action.delete-message + Estos elementos y cualquier información asociada (como adjuntos, información de precios, etc.) serán eliminados. ¡Esto no se podrá deshacer! + + + + + part.table.actions.success + Acciones terminadas exitosamente. + + + + + attachment.edit.delete.confirm + ¿Estás seguro de que quieres borrar este adjunto? + + + + + filter.text_constraint.value.operator.EQ + Es + + + + + filter.text_constraint.value.operator.NEQ + No es + + + + + filter.text_constraint.value.operator.STARTS + Empieza con + + + + + filter.text_constraint.value.operator.CONTAINS + Contiene + + + + + filter.text_constraint.value.operator.ENDS + Termina con + + + + + filter.text_constraint.value.operator.LIKE + Patrón LIKE + + + + + filter.text_constraint.value.operator.REGEX + Expresión regular + + + + + filter.number_constraint.value.operator.BETWEEN + Entre + + + + + filter.number_constraint.AND + y + + + + + filter.entity_constraint.operator.EQ + Es (excluyendo hijos) + + + + + filter.entity_constraint.operator.NEQ + No es (excluyendo hijos) + + + + + filter.entity_constraint.operator.INCLUDING_CHILDREN + Es (incluyendo hijos) + + + + + filter.entity_constraint.operator.EXCLUDING_CHILDREN + No es (incluyendo hijos) + + + + + part.filter.dbId + ID de la base de datos + + + + + filter.tags_constraint.operator.ANY + Cualquiera de las etiquetas + + + + + filter.tags_constraint.operator.ALL + Todas las etiquetas + + + + + filter.tags_constraint.operator.NONE + Ninguna de las etiquetas + + + + + part.filter.lot_count + Número de lotes + + + + + part.filter.attachments_count + Número de adjuntos + + + + + part.filter.orderdetails_count + Número de información del pedido + + + + + part.filter.lotExpirationDate + Fecha de caducidad del lote + + + + + part.filter.lotNeedsRefill + Cualquier lote necesita ser rellenado + + + + + part.filter.lotUnknwonAmount + Cualquier lote tiene una cantidad desconocida + + + + + part.filter.attachmentName + Nombre del adjunto + + + + + filter.choice_constraint.operator.ANY + Cualquiera de + + + + + filter.choice_constraint.operator.NONE + Ninguno de + + + + + part.filter.amount_sum + Cantidad total + + + + + filter.submit + Actualizar + + + + + filter.discard + Descartar cambios + + + + + filter.clear_filters + Limpiar filtros + + + + + filter.title + Filtro + + + + + filter.parameter_value_constraint.operator.= + Tipo de valor = + + + + + filter.parameter_value_constraint.operator.!= + Tipo de valor != + + + + + filter.parameter_value_constraint.operator.< + Tipo de valor < + + + + + filter.parameter_value_constraint.operator.> + Tipo de valor > + + + + + filter.parameter_value_constraint.operator.<= + Tipo de valor <= + + + + + filter.parameter_value_constraint.operator.>= + Tipo de valor >= + + + + + filter.parameter_value_constraint.operator.BETWEEN + Tipo de valor está entre + + + + + filter.parameter_value_constraint.operator.IN_RANGE + En rango de valor + + + + + filter.parameter_value_constraint.operator.NOT_IN_RANGE + Fuera de rango de valor + + + + + filter.parameter_value_constraint.operator.GREATER_THAN_RANGE + Mayor que el rango de valor + + + + + filter.parameter_value_constraint.operator.GREATER_EQUAL_RANGE + Mayor igual al rango de valor + + + + + filter.parameter_value_constraint.operator.LESS_THAN_RANGE + Menor al rango de valor + + + + + filter.parameter_value_constraint.operator.LESS_EQUAL_RANGE + Menor igual al rango de valor + + + + + filter.parameter_value_constraint.operator.RANGE_IN_RANGE + Rango está completamente en rango de valor + + + + + filter.parameter_value_constraint.operator.RANGE_INTERSECT_RANGE + El rango intersecta el rango de valores + + + + + filter.text_constraint.value + Sin valor establecido + + + + + filter.number_constraint.value1 + Sin valor establecido + + + + + filter.number_constraint.value2 + Valor máximo + + + + + filter.datetime_constraint.value1 + No hay fecha/hora establecidas + + + + + filter.datetime_constraint.value2 + Máxima fecha/hora + + + + + filter.constraint.add + Añadir filtro + + + + + part.filter.parameters_count + Número de parámetros + + + + + part.filter.lotDescription + Descripción del lote del componente + + + + + parts_list.search.searching_for + Buscar componentes con palabra clave <b>%keyword%</b> + + + + + parts_list.search_options.caption + Opciones de búsqueda activadas + + + + + attachment.table.element_type + Tipo de elemento asociado + + + + + log.level.debug + Debug + + + + + log.level.info + Info + + + + + log.level.notice + Notificación + + + + + log.level.warning + Aviso + + + + + log.level.error + Error + + + + + log.level.critical + Crítico + + + + + log.level.alert + Alerta + + + + + log.level.emergency + Emergencia + + + + + log.type.security + Evento relacionado con seguridad + + + + + log.type.instock_changed + [ALT] Stock modificado + + + + + log.target_id + ID del elemento objetivo + + + + + entity.info.parts_count_recursive + Número de componentes con este elemento o sus subelementos + + + + + tools.server_infos.title + Información del servidor + + + + + permission.preset.read_only + Solo lectura + + + + + permission.preset.read_only.desc + Permitir solo operaciones de lectura sobre los datos + + + + + permission.preset.all_inherit + Heredar todo + + + + + permission.preset.all_inherit.desc + Cambiar todos los permisos a Heredar + + + + + permission.preset.all_forbid + Prohibir todo + + + + + permission.preset.all_forbid.desc + Cambiar todos los permisos a Prohibir + + + + + permission.preset.all_allow + Mostrar todo + + + + + permission.preset.all_allow.desc + Cambiar todos los permisos a permitir + + + + + perm.server_infos + Información de servidor + + + + + permission.preset.editor + Editor + + + + + permission.preset.editor.desc + Permitir cambiar elementos y estructuras de datos + + + + + permission.preset.admin + Admin + + + + + permission.preset.admin.desc + Permitir acciones administrativas + + + + + permission.preset.button + Aplicar preset + + + + + perm.attachments.show_private + Mostrar adjuntos privados + + + + + perm.attachments.list_attachments + Mostrar lista de todos los adjuntos + + + + + user.edit.permission_success + El permiso preestablecido se aplicó correctamente. Compruebe si los nuevos permisos se ajustan a tus necesidades. + + + + + perm.group.data + Datos + + + + + part_list.action.action.group.needs_review + Necesita revisión + + + + + part_list.action.action.set_needs_review + Establecer estado "necesita revisión" + + + + + part_list.action.action.unset_needs_review + Eliminar estatus "necesita revisión" + + + + + part.edit.ipn + Número de Componente Interno (IPN) + + + + + part.ipn.not_defined + No definido + + + + + part.table.ipn + IPN + + + + + currency.edit.update_rate + Recuperar tasa de cambio + + + + + currency.edit.exchange_rate_update.unsupported_currency + La divisa no está respaldada por el proveedor de tasas de cambio. Verifica la configuración de tu proveedor de tasas de cambio. + + + + + currency.edit.exchange_rate_update.generic_error + Imposible de recuperar la tasa de cambio. Verifica la configuración de tu proveedor de tasas de cambio. + + + + + currency.edit.exchange_rate_updated.success + Tasa de cambio recuperada con éxito. + + + + + project.bom.quantity + Cantidad BOM + + + + + project.bom.mountnames + Nombres de ensamblaje + + + + + project.bom.name + Nombre + + + + + project.bom.comment + Notas + + + + + project.bom.part + Componente + + + + + project.bom.add_entry + Añadir entrada + + + + + part_list.action.group.projects + Proyectos + + + + + part_list.action.projects.add_to_project + Añadir componentes al proyecto + + + + + project.bom.delete.confirm + ¿Estás seguro de que quieres eliminar esta entrada BOM? + + + + + project.add_parts_to_project + Añadir componentes al proyecto BOM + + + + + part.info.add_part_to_project + Añadir este componente a un proyecto + + + + + project_bom_entry.label + Entrada BOM + + + + + project.edit.status + Estatus de proyecto + + + + + project.status.draft + Esbozo + + + + + project.status.planning + En planificación + + + + + project.status.in_production + En producción + + + + + project.status.finished + Completado + + + + + project.status.archived + Archivado + + + + + part.new_build_part.error.build_part_already_exists + ¡Este proyecto ya tiene un componente vinculado! + + + + + project.edit.associated_build_part + Componente de producción vinculado + + + + + project.edit.associated_build_part.add + Añadir parte de producción + + + + + project.edit.associated_build.hint + Este componente representa las instancias construidas del proyecto, que están almacenadas en algún lugar + + + + + part.info.projectBuildPart.hint + Este componente representa las instancias construidas del siguiente proyecto y está vinculado a él. + + + + + part.is_build_part + Es un componente de producción + + + + + project.info.title + Información de proyecto + + + + + project.info.bom_entries_count + Entradas BOM + + + + + project.info.sub_projects_count + Subproyectos + + + + + project.info.bom_add_parts + Añadir entradas BOM + + + + + project.info.info.label + Info + + + + + project.info.sub_projects.label + Subproyectos + + + + + project.bom.price + Precio + + + + + part.info.withdraw_modal.title.withdraw + Retirar componentes del lote + + + + + part.info.withdraw_modal.title.add + Añadir componentes al lote + + + + + part.info.withdraw_modal.title.move + Mover componentes a un lote diferente + + + + + part.info.withdraw_modal.amount + Cantidad + + + + + part.info.withdraw_modal.move_to + Mover a + + + + + part.info.withdraw_modal.comment + Comentar + + + + + part.info.withdraw_modal.comment.hint + Puedes añadir un comentario aquí describiendo por qué estás haciendo esta operación (p.ej. por qué necesitas este componente). Esta información se almacenará en el registro. + + + + + modal.close + Cerrar + + + + + modal.submit + Entregar + + + + + part.withdraw.success + Componentes añadidos/movidos/retirados con éxito. + + + + + perm.parts_stock + Inventario de componentes + + + + + perm.parts_stock.withdraw + Retirar componentes del inventario. + + + + + perm.parts_stock.add + Añadir componentes a stock + + + + + perm.parts_stock.move + Mover componentes entre lotes + + + + + user.permissions_schema_updated + El esquema de permisos de tu usuario han sido actualizados a la última versión. + + + + + log.type.part_stock_changed + Stock de componente modificado + + + + + log.part_stock_changed.withdraw + Stock retirado + + + + + log.part_stock_changed.add + Stock añadido + + + + + log.part_stock_changed.move + Stock movido + + + + + log.part_stock_changed.comment + Comentario + + + + + log.part_stock_changed.change + Cambiar + + + + + log.part_stock_changed.move_target + Trasladado a + + + + + tools.builtin_footprints_viewer.title + Imágenes de footprints incluidas. + + + + + tools.builtin_footprints_viewer.hint + Esta galería enumera todas las imágenes de footprints incluidas. Si desea utilizar esto en un archivo adjunto, escriba el nombre (o una palabra clave) en el campo URL del archivo adjunto y seleccione la imagen deseada en el menú desplegable. + + + + + tools.ic_logos.title + Logo IC + + + + + part_list.action.group.labels + Etiquetas + + + + + part_list.action.projects.generate_label + Crear etiquetas (por partes) + + + + + part_list.action.projects.generate_label_lot + Crear etiquetas (por partes de lote) + + + + + part_list.action.generate_label.empty + Vaciar etiquetas + + + + + project.info.builds.label + Construir + + + + + project.builds.build_not_possible + Construcción no es posible: Faltan componentes + + + + + project.builds.following_bom_entries_miss_instock + Los siguientes componentes no tienen suficiente cantidad para construir este proyecto al menos una vez: + + + + + project.builds.stocked + Almacenado + + + + + project.builds.needed + Necesitado + + + + + project.builds.build_possible + Construcción posible + + + + + project.builds.number_of_builds_possible + Tienes suficiente inventario para construir <b>%max_builds%</b></b> construcciones de este proyecto + + + + + project.builds.check_project_status + El estado del proyecto actual es <b>"%project_status%"</b>. ¡Deberías comprobar si de verdad quieres crear este proyecto con este estado! + + + + + project.builds.following_bom_entries_miss_instock_n + No tienes suficientes componentes en stock para crear este proyecto %number_of_builds% veces. A los siguientes componentes les falta instock: + + + + + project.build.flash.invalid_input + No se pudo crear el proyecto. ¡Comprueba los datos de entrada! + + + + + project.build.required_qty + Cantidad requerida + + + + + project.build.btn_build + Construir + + + + + project.build.help + Elija de qué lotes se debe tomar el stock para construir este proyecto (y en qué cantidad). Comprueba la casilla para cada entrada BOM cuando hayas terminado de retirar los componentes, o utiliza la casilla de arriba para seleccionar todas las casillas a la vez. + + + + + project.build.buildsPartLot.new_lot + Crear nuevo lote + + + + + project.build.add_builds_to_builds_part + Añadir creaciones a las creaciones del proyecto + + + + + project.build.builds_part_lot + Lote objetivo + + + + + project.builds.number_of_builds + Cantidad de construcciones + + + + + project.builds.no_stocked_builds + Número de construcciones en stock + + + + + user.change_avatar.label + Cambiar foto de perfil + + + + + user_settings.change_avatar.label + Cambiar foto de perfil + + + + + user_settings.remove_avatar.label + Eliminar foto de perfil + + + + + part.edit.name.category_hint + Sugerencia de categoría + + + + + category.edit.partname_regex.placeholder + p.ej. "/Condensador \d+ nF/i" + + + + + category.edit.partname_regex.help + Una expresión regular compatible con PCRE, la cual debe coincidir con el nombre de un componente. + + + + + entity.select.add_hint + Usar -> para crear estructuras anidadas, p.ej. "Node 1->Node 1.1" + + + + + entity.select.group.new_not_added_to_DB + Nuevo (no añadido a la base de datos) + + + + + part.edit.save_and_new + Guardar y crear nuevo componente vacío. + + + + + homepage.first_steps.title + Primeros pasos + + + + + homepage.first_steps.introduction + Tu base de datos está aún vacía. Quizá quieras leer la <a href="%url%">documentation</a> o empezar a crear las siguientes estructuras de datos: + + + + + homepage.first_steps.create_part + O puedes directamente <a href="%url%">crear un nuevo componente</a> + + + + + homepage.first_steps.hide_hint + Esta casilla desaparecerá cuando hayas creado tu primer componente. + + + + + homepage.forum.text + Para preguntas sobre Part-DB utiliza el <a href="%href%" class="link-external" target="_blank">foro de debate</a> + + + + + log.element_edited.changed_fields.category + Categoría + + + + + log.element_edited.changed_fields.footprint + Footprint + + + + + log.element_edited.changed_fields.manufacturer + Fabricante + + + + + log.element_edited.changed_fields.value_typical + Tip. valor + + + + + log.element_edited.changed_fields.pw_reset_expires + Restablecer contraseña + + + + + log.element_edited.changed_fields.comment + Notas + + + + + log.element_edited.changed_fields.supplierpartnr + Número del distribuidor del componente + + + + + log.element_edited.changed_fields.supplier_product_url + URL del producto + + + + + log.element_edited.changed_fields.price + Precio + + + + + log.element_edited.changed_fields.min_discount_quantity + Cantidad mínima de descuento + + + + + log.element_edited.changed_fields.original_filename + Nombre de archivo original + + + + + log.element_edited.changed_fields.path + Ruta de fichero + + + + + log.element_edited.changed_fields.description + Descripción + + + + + log.element_edited.changed_fields.manufacturing_status + Estatus de producción + + + + + log.element_edited.changed_fields.options.barcode_type + Tipo de código de barras + + + + + log.element_edited.changed_fields.status + Estatus + + + + + log.element_edited.changed_fields.quantity + Cantidad BOM + + + + + log.element_edited.changed_fields.mountnames + Nombres de ensamblaje + + + + + log.element_edited.changed_fields.name + Nombre + + + + + log.element_edited.changed_fields.part + Componente + + + + + log.element_edited.changed_fields.price_currency + Precio de la divisa + + + + + log.element_edited.changed_fields.partname_hint + Sugerencia de nombre de componente + + + + + log.element_edited.changed_fields.partname_regex + Filtro de nombre + + + + + log.element_edited.changed_fields.disable_footprints + Desactivar footprints + + + + + log.element_edited.changed_fields.disable_manufacturers + Desactivar fabricantes + + + + + log.element_edited.changed_fields.disable_autodatasheets + Desactivar links automáticos a datasheets + + + + + log.element_edited.changed_fields.disable_properties + Desactivar propiedades + + + + + log.element_edited.changed_fields.default_description + Descripción predeterminada + + + + + log.element_edited.changed_fields.default_comment + Comentario predeterminado + + + + + log.element_edited.changed_fields.filetype_filter + Extensiones de archivo permitidas + + + + + log.element_edited.changed_fields.not_selectable + No seleccionado + + + + + log.element_edited.changed_fields.parent + Elemento padre + + + + + log.element_edited.changed_fields.shipping_costs + Costes de envío + + + + + log.element_edited.changed_fields.default_currency + Divisa predeterminada + + + + + log.element_edited.changed_fields.address + Dirección + + + + + log.element_edited.changed_fields.phone_number + Número de teléfono + + + + + log.element_edited.changed_fields.fax_number + Número fax + + + + + log.element_edited.changed_fields.email_address + E-mail + + + + + log.element_edited.changed_fields.website + Sitio web + + + + + log.element_edited.changed_fields.auto_product_url + URL de producto + + + + + log.element_edited.changed_fields.is_full + Ubicación de almacenaje llena + + + + + log.element_edited.changed_fields.limit_to_existing_parts + Límite a componentes existentes + + + + + log.element_edited.changed_fields.only_single_part + Solo componentes individuales + + + + + log.element_edited.changed_fields.storage_type + Tipo de almacenaje + + + + + log.element_edited.changed_fields.footprint_3d + Modelo 3D + + + + + log.element_edited.changed_fields.master_picture_attachment + Previsualización de imagen + + + + + log.element_edited.changed_fields.exchange_rate + Tasa de cambio + + + + + log.element_edited.changed_fields.iso_code + Código ISO + + + + + log.element_edited.changed_fields.unit + Símbolo de unidad + + + + + log.element_edited.changed_fields.is_integer + Es entero + + + + + log.element_edited.changed_fields.use_si_prefix + Usar prefijo SI + + + + + log.element_edited.changed_fields.options.width + Anchura + + + + + log.element_edited.changed_fields.options.height + Altura + + + + + log.element_edited.changed_fields.options.supported_element + Tipo de elemento + + + + + log.element_edited.changed_fields.options.additional_css + Estilos adicionales (CSS) + + + + + log.element_edited.changed_fields.options.lines + Contenido + + + + + log.element_edited.changed_fields.permissions.data + Permisos + + + + + log.element_edited.changed_fields.disabled + Deshabilitado + + + + + log.element_edited.changed_fields.theme + Tema + + + + + log.element_edited.changed_fields.timezone + Zona horaria + + + + + log.element_edited.changed_fields.language + Idioma + + + + + log.element_edited.changed_fields.email + E-mail + + + + + log.element_edited.changed_fields.department + Departamento + + + + + log.element_edited.changed_fields.last_name + Apellidos + + + + + log.element_edited.changed_fields.first_name + Nombre + + + + + log.element_edited.changed_fields.group + Grupo + + + + + log.element_edited.changed_fields.currency + Divisa preferida + + + + + log.element_edited.changed_fields.enforce2FA + Forzar 2FA + + + + + log.element_edited.changed_fields.symbol + Símbolo + + + + + log.element_edited.changed_fields.value_min + Valor mín. + + + + + log.element_edited.changed_fields.value_max + Valor máx. + + + + + log.element_edited.changed_fields.value_text + Valor de texto + + + + + log.element_edited.changed_fields.show_in_table + Mostrar en tabla + + + + + log.element_edited.changed_fields.attachment_type + Tipo de archivo + + + + + log.element_edited.changed_fields.needs_review + Necesita revisión + + + + + log.element_edited.changed_fields.tags + Etiquetas + + + + + log.element_edited.changed_fields.mass + Masa + + + + + log.element_edited.changed_fields.ipn + IPN + + + + + log.element_edited.changed_fields.favorite + Favorito + + + + + log.element_edited.changed_fields.minamount + Stock mínimo + + + + + log.element_edited.changed_fields.manufacturer_product_url + Link a página del producto + + + + + log.element_edited.changed_fields.manufacturer_product_number + MPN + + + + + log.element_edited.changed_fields.partUnit + Unidad de medida + + + + + log.element_edited.changed_fields.expiration_date + Fecha de expiración + + + + + log.element_edited.changed_fields.amount + Cantidad + + + + + log.element_edited.changed_fields.storage_location + Ubicación + + + + + attachment.max_file_size + Tamaño máximo de archivo + + + + + user.saml_user + usuario SSO / SAML + + + + + user.saml_user.pw_change_hint + Tu usuario usa Single Sign-On (SSO). No puedes cambiar la contraseña ni los ajustes 2FA. ¡Configúralos en tu proveedor central SSO! + + + + + login.sso_saml_login + Single Sign-On Login (SSO) + + + + + login.local_login_hint + El formulario de debajo solo sirve para registrarte con un usuario local. Si quieres registrarte mediante sign-on, pulsa el botón de arriba. + + + + + part_list.action.action.export + Exportar componentes + + + + + part_list.action.export_json + Exportar a JSON + + + + + part_list.action.export_csv + Exportar a CSV + + + + + part_list.action.export_yaml + Exportar a YAML + + + + + part_list.action.export_xml + Exportar a XML + + + + + parts.import.title + Importar componentes + + + + + parts.import.errors.title + Problemas con las importaciones + + + + + parts.import.flash.error + Error en importe. Probablemente esto haya sido causado por datos inválidos. + + + + + parts.import.format.auto + Automático (basado en extensión de archivo) + + + + + parts.import.flash.error.unknown_format + ¡No se pudo determinar el formato del archivo dado! + + + + + parts.import.flash.error.invalid_file + Archivo inválido. ¡Por favor comprueba que has seleccionado el formato adecuado! + + + + + parts.import.part_category.label + Sobreescribir categoría + + + + + parts.import.part_category.help + Si seleccionas un valor aquí, todos los componentes importados serán asignados a esta categoría. Sin importar que fuera seleccionado en los datos. + + + + + import.create_unknown_datastructures + Crear estructuras de datos desconocidas + + + + + import.create_unknown_datastructures.help + Si esto es seleccionado, las estructuras de datos (como categorías, footprints, etc.) que no existan en la base de datos serán creadas automáticamente. Si no es seleccionado, solo se crearan estructuras de datos existentes, y si no se encuentra ninguna estructura de datos compatible, el componente no será asignado a nada. + + + + + import.path_delimiter + Delimitador de camino + + + + + import.path_delimiter.help + Delimitador usado para marcar diferentes niveles en caminos de estructuras de datos como categoría, footprint, etc. + + + + + parts.import.help_documentation + Vea la <a href="%link%">documentación</a> para más información sobre el formato de archivo. + + + + + parts.import.help + Puedes importar componentes desde archivos con esta herramienta. Los componentes serán añadidos directamente a la base de datos, así que por favor comprueba que el archivo es correcto antes de subirlo aquí. + + + + + parts.import.flash.success + ¡Componente importado correctamente! + + + + + parts.import.errors.imported_entities + Componentes importados + + + + + perm.import + Importar datos + + + + + parts.import.part_needs_review.label + Marcar todos los componentes importados como "Necesita revisión" + + + + + parts.import.part_needs_review.help + Si se selecciona esta opción, todos los componentes serán marcados como "Necesita revisión", independientemente de lo que indiquen los datos. + + + + + project.bom_import.flash.success + Se han importado %count% entradas BOM correctamente. + + + + + project.bom_import.type + Tipo + + + + + project.bom_import.type.kicad_pcbnew + KiCAD Pcbnew BOM (archivo CSV) + + + + + project.bom_import.clear_existing_bom + Eliminar entradas BOM existentes antes de importar + + + + + project.bom_import.clear_existing_bom.help + ¡Seleccionar esta opción eliminará todas las entradas BOM existentes en el proyecto y las sobreescribirá con el archivo BOM importado! + + + + + project.bom_import.flash.invalid_file + No se pudo importar el archivo. Por favor, comprueba que has seleccionado el tipo de archivo adecuado. Mensaje de error: %message% + + + + + project.bom_import.flash.invalid_entries + ¡Error de validación! ¡Por favor comprueba tus datos! + + + + + project.import_bom + Importar BOM para el proyecto + + + + + project.edit.bom.import_bom + Importar BOM + + + + + measurement_unit.new + Nueva Unidad de Medida + + + + + measurement_unit.edit + Editar Unidad de Medida + + + + + user.aboutMe.label + Sobre mí + + + + + storelocation.owner.label + Propietario + + + + + storelocation.part_owner_must_match.label + Lote de Componente debe coincidir con el propietario de la ubicación de almacenaje + + + + + part_lot.owner + Propietario + + + + + part_lot.owner.help + Solo el propietario puede quitar o añadir stock a este lote. + + + + + log.element_edited.changed_fields.owner + Propietario + + + + + log.element_edited.changed_fields.instock_unknown + Cantidad desconocida + + + + + log.element_edited.changed_fields.needs_refill + Necesita relleno + + + + + part.withdraw.access_denied + No se permite realizar la acción deseada. Por favor comprueba tus permisos y el propietario de los lotes de la parte. + + + + + part.info.amount.less_than_desired + Menos de lo deseado + + + + + log.cli_user + Usuario CLI + + + + + log.element_edited.changed_fields.part_owner_must_match + El propietario del componente debe coincidir con el propietario de la ubicación de almacenaje + + + + + part.filter.lessThanDesired + Stock menor de lo deseado (cantidad total < cantidad mínima) + + + + + part.filter.lotOwner + Propietario del lote + + + + + user.show_email_on_profile.label + Mostrar email en la página de perfil pública + + + + + log.details.title + Detalles del log + + + + + log.user_login.login_from_ip + Iniciar sesión con dirección IP + + + + + log.user_login.ip_anonymize_hint + Si los últimos dígitos de la dirección IP no aparecen, entonces se activa el modo RGPD, en el cual las direcciones IP son anonimizadas. + + + + + log.user_not_allowed.unauthorized_access_attempt_to + Acceso no autorizado a la página + + + + + log.user_not_allowed.hint + La petición fue bloqueada. Ninguna acción debería ser requerida. + + + + + log.no_comment + Sin comentarios + + + + + log.element_changed.field + Campo + + + + + log.element_changed.data_before + Datos previos al cambio + + + + + error_table.error + Un error ha ocurrido durante tu petición. + + + + + part.table.invalid_regex + Expresión regular inválida (regex) + + + + + log.element_changed.data_after + Datos después del cambio + + + + + log.element_changed.diff + Diferencia + + + + + log.undo.undo.short + Deshacer + + + + + log.undo.revert.short + Revertir a esta versión + + + + + log.view_version + Ver versión + + + + + log.undo.undelete.short + Restaurar + + + + + log.element_edited.changed_fields.id + ID + + + + + log.element_edited.changed_fields.id_owner + Propietario + + + + + log.element_edited.changed_fields.parent_id + Padre + + + + + log.details.delete_entry + Cancelar la entrada de registro + + + + + log.delete.message.title + ¿Realmente quieres borrar la entrada de registro? + + + + + log.delete.message + Si esto es una entrada de historia de elemento, ¡esto rompe la historia del elemento! Esto puede conllevar resultados inesperados cuando se use la función de viaje en el tiempo. + + + + + log.collection_deleted.on_collection + En colección + + + + + log.element_edited.changed_fields.attachments + Adjuntos + + + + + tfa_u2f.add_key.registration_error + Hubo un error durante el registro de la clave de seguridad. ¡Vuelve a intentarlo o usa otra clave de seguridad! + + + + + log.target_type.none + Ninguno + + + + + ui.darkmode.light + Luminoso + + + + + ui.darkmode.dark + Oscuro + + + + + ui.darkmode.auto + Automático (decidir según los ajustes del sistema) + + + + + label_generator.no_lines_given + ¡No se ha dado contenido de texto! Las etiquetas permanecerán vacías. + + + + + user.password_strength.very_weak + Muy débil + + + + + user.password_strength.weak + Débil + + + + + user.password_strength.medium + Medio + + + + + user.password_strength.strong + Fuerte + + + + + user.password_strength.very_strong + Muy fuerte + + + + + perm.users.impersonate + Personificar otros usuarios + + + + + user.impersonated_by.label + Personificado por + + + + + user.stop_impersonation + Detener la personificación + + + + + user.impersonate.btn + Personificar + + + + + user.impersonate.confirm.title + ¿Realmente quieres personificar a este usuario? + + + + + user.impersonate.confirm.message + Esto será registrado. Haz esto solo por un buen motivo. + +Por favor ten en cuenta que no puedes personificar a un usuario deshabilitado. Si lo intentas obtendrás un mensaje de "Acceso denegado". + + + + + log.type.security.user_impersonated + Usuario personificado + + + + + info_providers.providers_list.title + Proveedor de información + + + + + info_providers.providers_list.active + Activo + + + + + info_providers.providers_list.disabled + Desactivado + + + + + info_providers.capabilities.basic + Básico + + + + + info_providers.capabilities.footprint + Footprint + + + + + info_providers.capabilities.picture + Imagen + + + + + info_providers.capabilities.datasheet + Ficha técnica + + + + + info_providers.capabilities.price + Precios + + + + + part.info_provider_reference.badge + El proveedor de información usada para crear este componente. + + + + + part.info_provider_reference + Creado por proveedor de información + + + + + oauth_client.connect.btn + Conectar OAuth + + + + + info_providers.table.provider.label + Proveedor + + + + + info_providers.search.keyword + Palabra clave + + + + + info_providers.search.submit + Buscar + + + + + info_providers.search.providers.help + Seleccionar los proveedores que deban ser buscados. + + + + + info_providers.search.providers + Proveedores + + + + + info_providers.search.info_providers_list + Mostrar todos los proveedores de información disponibles + + + + + info_providers.search.title + Crear componentes de proveedor de información + + + + + oauth_client.flash.connection_successful + Conectado a la aplicación OAuth con éxito + + + + + perm.part.info_providers + Proveedores de información + + + + + perm.part.info_providers.create_parts + Crear componentes a partir de proveedor de información + + + + + entity.edit.alternative_names.label + Nombres alternativos + + + + + entity.edit.alternative_names.help + Los nombres alternativos dados aquí son usados para encontrar este elemento basados en los resultados de los proveedores de información. + + + + + info_providers.form.help_prefix + Proveedor + + + + + update_manager.new_version_available.title + Nueva versión disponible + + + + + update_manager.new_version_available.text + Nueva versión de Part-DB disponible. Más información aquí. + + + + + update_manager.new_version_available.only_administrators_can_see + Solo los administradores pueden ver este mensaje. + + + + + perm.system.show_available_updates + Mostrar actualizaciones de Part-DB disponibles. + + + + + user.settings.api_tokens + Tokens API + + + + + user.settings.api_tokens.description + Utilizando un token API, otras aplicaciones pueden acceder a Part-DB con tus derechos de usuario, para realizar las diversas acciones usando el Part-DB REST API. Si borras un token API aquí, la aplicación que use ese token ya no podrá usar Part-DB por ti. + + + + + api_tokens.name + Nombre + + + + + api_tokens.access_level + Nivel de acceso + + + + + api_tokens.expiration_date + Fecha de caducidad + + + + + api_tokens.added_date + Añadido a + + + + + api_tokens.last_time_used + Última vez usado + + + + + datetime.never + Nunca + + + + + api_token.valid + Válido + + + + + api_token.expired + Caducado + + + + + user.settings.show_api_documentation + Mostrar documentación API + + + + + api_token.create_new + Crear nuevo token API + + + + + api_token.level.read_only + Solo lectura + + + + + api_token.level.edit + Editar + + + + + api_token.level.admin + Admin + + + + + api_token.level.full + Completo + + + + + api_tokens.access_level.help + Puedes restringir a qué accede el token API. El acceso siempre estará limitado por los permisos de tu usuario. + + + + + api_tokens.expiration_date.help + Después de esta fecha, el token ya no será utilizable. Déjalo en blanco si el token no expira nunca. + + + + + api_tokens.your_token_is + Tu token API es + + + + + api_tokens.please_save_it + Por favor guárdalo. ¡No serás capaz de volver a verlo! + + + + + api_tokens.create_new.back_to_user_settings + Volver a ajustes de usuario + + + + + project.build.dont_check_quantity + No comprobar cantidades + + + + + project.build.dont_check_quantity.help + Si se selecciona esta opción, las cantidades retiradas serán usadas tal y como se han dado, sin importar que más o menos componentes realmente sean necesarios para construir este proyecto. + + + + + part_list.action.invert_selection + Invertir selección + + + + + perm.api + API + + + + + perm.api.access_api + Acceder API + + + + + perm.api.manage_tokens + Gestionar tokens API + + + + + user.settings.api_tokens.delete.title + ¿Realmente quieres borrar este token API? + + + + + user.settings.api_tokens.delete + Borrar + + + + + user.settings.api_tokens.delete.message + La aplicación que usa este token API ya no tendrá acceso a Part-DB. ¡Esta acción no puede ser deshecha! + + + + + api_tokens.deleted + ¡Token API borrado con éxito! + + + + + user.settings.api_tokens.no_api_tokens_yet + No se ha configurado ningún token API aún. + + + + + api_token.ends_with + Termina con + + + + + entity.select.creating_new_entities_not_allowed + ¡No tienes permisos para crear nuevas entidades de este tipo! Por favor usa una entidad preexistente. + + + + + scan_dialog.mode + Tipo de código de barras + + + + + scan_dialog.mode.auto + Detectar automáticamente + + + + + scan_dialog.mode.ipn + Código de barras IPN + + + + + scan_dialog.mode.internal + Código de barras Part-DB + + + + + part_association.label + Asociación de componente + + + + + part.edit.tab.associations + Componentes asociados. + + + + + part_association.edit.other_part + Componente asociado + + + + + part_association.edit.type + Tipo de relación + + + + + part_association.edit.comment + Notas + + + + + part_association.edit.type.help + Puedes seleccionar aquí como la parte seleccionada se relaciona con el componente. + + + + + part_association.table.from_this_part + Asociaciones de este componente a otros. + + + + + part_association.table.from + Desde + + + + + part_association.table.type + Relación + + + + + part_association.table.to + A + + + + + part_association.type.compatible + Es compatible con + + + + + part_association.table.to_this_part + Asociaciones de este componente de otros + + + + + part_association.type.other + Otros (valor personalizable) + + + + + part_association.type.supersedes + Reemplaza + + + + + part_association.edit.other_type + Tipo personalizable + + + + + part_association.edit.delete.confirm + ¿De verdad quieres borrar esta asociación? Esto no puede ser deshecho + + + + + part_lot.edit.advanced + Expandir opciones avanzadas + + + + + part_lot.edit.vendor_barcode + Código de barras de vendedor + + + + + part_lot.edit.vendor_barcode.help + Si este lote ya tiene un código de barras (por ejemplo, puesto por el vendedor), puedes escribir aquí sus contenidos, para escanearlos fácilmente. + + + + + scan_dialog.mode.vendor + Código de barras de vendedor (configurados en el lote del componente) + + + + + project.bom.instockAmount + Cantidad en stock + + + + + collection_type.new_element.tooltip + Este elemento fue creado recientemente y no ha sido guardado aún a la base de datos. + + + + + part.merge.title + Combinar componentes + + + + + part.merge.title.into + en + + + + + part.merge.confirm.title + ¿De verdad quieres juntar <b>%other%</b> into <b>%target%</b>? + + + + + part.merge.confirm.message + <b>%other%</b> será borrado, y el componente será guardado con la información mostrada. + + + + + part.info.merge_modal.title + Combinar componentes + + + + + part.info.merge_modal.other_part + Otro componente + + + + + part.info.merge_modal.other_into_this + Combinar otro componente a este (borrar el otro componente, guardar este) + + + + + part.info.merge_modal.this_into_other + Combinar este componente a otro (borrar este componente, guardar el otro) + + + + + part.info.merge_btn + Combinar componentes + + + + + part.update_part_from_info_provider.btn + Actualizar componente con la información de los proveedores + + + + + info_providers.update_part.title + Actualizar componente existente con la información del proveedor + + + + + part.merge.flash.please_review + Datos no guardados aún. Repasa los cambios y haz click en guardar para guardar los datos nuevos. + + + + + user.edit.flash.permissions_fixed + Faltan permisos requeridos por otros permisos. Esto ha sido corregido. Por favor comprueba si los permisos están como quieres. + + + + + permission.legend.dependency_note + Por favor ten en cuenta que algunos de los permisos de operaciones dependen de otros. Si te encuentras con un aviso diciendo que los permisos restantes han sido corregidos y un permiso ha sido configurado a permitir otra vez, tienes que configurar también la operación dependiente a prohibido. Las dependencias se suelen encontrar a la derecha de una operación. + + + + + log.part_stock_changed.timestamp + Versión + + + + + part.info.withdraw_modal.timestamp + Versión de la acción + + + + + part.info.withdraw_modal.timestamp.hint + Este campo te permite especificar la fecha real, cuando la operación de stock fue realizada, no cuando fue registrada. Este valor se guarda en el campo extra del registro de entrada. + + + + + part.info.withdraw_modal.delete_lot_if_empty + Eliminar este lote, si se vacía + + + + + info_providers.search.error.client_exception + Un error ha ocurrido mientras se comunicaba con el proveedor de información. Comprueba la configuración de este proveedor y recarga el token OAuth si es posible. + + + + + eda_info.reference_prefix.placeholder + p. ej. R + + + + + eda_info.reference_prefix + Prefijo de referencia + + + + + eda_info.kicad_section.title + Configuraciones específicas de KiCad + + + + + eda_info.value + Valor + + + + + eda_info.value.placeholder + p. ej. 100n + + + + + eda_info.exclude_from_bom + Excluir componentes de BOM + + + + + eda_info.exclude_from_board + Excluir componente de PCB/Tablero + + + + + eda_info.exclude_from_sim + Excluir componentes de simulación + + + + + eda_info.kicad_symbol + KiCad símbolos esquemáticos + + + + + eda_info.kicad_symbol.placeholder + p. ej. Transistor_BJT:BC547 + + + + + eda_info.kicad_footprint + KiCad footprint + + + + + eda_info.kicad_footprint.placeholder + p. ej. Package_TO_SOT_THT:TO-92 + + + + + part.edit.tab.eda + Información EDA + + + + + api.api_endpoints.title + Punto final API + + + + + api.api_endpoints.partdb + Part-DB API + + + + + api.api_endpoints.kicad_root_url + KiCad API root URL + + + + + eda_info.visibility + Forzar visibilidad + + + + + eda_info.visibility.help + Por defecto, la visibilidad al software EDA está automáticamente determinada. Con esta casilla puedes forzar a que sea visible o invisible. + + + + + part.withdraw.zero_amount + ¡Has intentado retirar una cantidad nula! No se ha realizado ninguna acción. + + + + + login.flash.access_denied_please_login + ¡Acceso denegado! Por favor inicia sesión para continuar. + + + + + attachment.upload_multiple_files + Subir archivos + + + + + entity.mass_creation_flash + Creadas %COUNT% entidades con éxito. + + + + From ff78c3c9a76fbba719ee388a674dc940bf054785 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Wed, 10 Jul 2024 03:32:31 +0200 Subject: [PATCH 006/287] New translations security.en.xlf (Vietnamese) --- translations/security.vi.xlf | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 translations/security.vi.xlf diff --git a/translations/security.vi.xlf b/translations/security.vi.xlf new file mode 100644 index 00000000..de4647bf --- /dev/null +++ b/translations/security.vi.xlf @@ -0,0 +1,17 @@ + + + + + + user.login_error.user_disabled + Tài khoản của bạn đã bị vô hiệu hóa! Hãy liên hệ với quản trị viên nếu bạn cho rằng điều này sai. + + + + + saml.error.cannot_login_local_user_per_saml + Bạn không thể đăng nhập qua SSO! Thay vào đó hãy sử dụng mật khẩu người dùng cục bộ của bạn. + + + + From 3011cb8faeab8034cbad8c163a9a4fcd22e842e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sun, 28 Jul 2024 13:02:39 +0200 Subject: [PATCH 007/287] Updated dependencies --- VERSION | 2 +- composer.lock | 991 +++++++++++++++++++++++--------------------------- yarn.lock | 795 ++++++++++++++++++++-------------------- 3 files changed, 849 insertions(+), 939 deletions(-) diff --git a/VERSION b/VERSION index b50dd27d..e17c6ab2 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.13.1 +1.13.2-dev diff --git a/composer.lock b/composer.lock index aead05d7..60f5a223 100644 --- a/composer.lock +++ b/composer.lock @@ -612,16 +612,16 @@ }, { "name": "amphp/pipeline", - "version": "v1.2.0", + "version": "v1.2.1", "source": { "type": "git", "url": "https://github.com/amphp/pipeline.git", - "reference": "f1c2ce35d27ae86ead018adb803eccca7421dd9b" + "reference": "66c095673aa5b6e689e63b52d19e577459129ab3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/amphp/pipeline/zipball/f1c2ce35d27ae86ead018adb803eccca7421dd9b", - "reference": "f1c2ce35d27ae86ead018adb803eccca7421dd9b", + "url": "https://api.github.com/repos/amphp/pipeline/zipball/66c095673aa5b6e689e63b52d19e577459129ab3", + "reference": "66c095673aa5b6e689e63b52d19e577459129ab3", "shasum": "" }, "require": { @@ -667,7 +667,7 @@ ], "support": { "issues": "https://github.com/amphp/pipeline/issues", - "source": "https://github.com/amphp/pipeline/tree/v1.2.0" + "source": "https://github.com/amphp/pipeline/tree/v1.2.1" }, "funding": [ { @@ -675,7 +675,7 @@ "type": "github" } ], - "time": "2024-03-10T14:48:16+00:00" + "time": "2024-07-04T00:56:47+00:00" }, { "name": "amphp/process", @@ -1016,16 +1016,16 @@ }, { "name": "api-platform/core", - "version": "v3.3.6", + "version": "v3.3.11", "source": { "type": "git", "url": "https://github.com/api-platform/core.git", - "reference": "c7f25dc6c7ca82ade7f8a0e5d63393b25b4a2db5" + "reference": "ea7d443376dfa1f9a05b53060049e7837d2ec7d4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/api-platform/core/zipball/c7f25dc6c7ca82ade7f8a0e5d63393b25b4a2db5", - "reference": "c7f25dc6c7ca82ade7f8a0e5d63393b25b4a2db5", + "url": "https://api.github.com/repos/api-platform/core/zipball/ea7d443376dfa1f9a05b53060049e7837d2ec7d4", + "reference": "ea7d443376dfa1f9a05b53060049e7837d2ec7d4", "shasum": "" }, "require": { @@ -1198,9 +1198,9 @@ ], "support": { "issues": "https://github.com/api-platform/core/issues", - "source": "https://github.com/api-platform/core/tree/v3.3.6" + "source": "https://github.com/api-platform/core/tree/v3.3.11" }, - "time": "2024-06-14T07:14:21+00:00" + "time": "2024-07-20T08:19:33+00:00" }, { "name": "beberlei/assert", @@ -1393,16 +1393,16 @@ }, { "name": "composer/ca-bundle", - "version": "1.5.0", + "version": "1.5.1", "source": { "type": "git", "url": "https://github.com/composer/ca-bundle.git", - "reference": "0c5ccfcfea312b5c5a190a21ac5cef93f74baf99" + "reference": "063d9aa8696582f5a41dffbbaf3c81024f0a604a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/0c5ccfcfea312b5c5a190a21ac5cef93f74baf99", - "reference": "0c5ccfcfea312b5c5a190a21ac5cef93f74baf99", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/063d9aa8696582f5a41dffbbaf3c81024f0a604a", + "reference": "063d9aa8696582f5a41dffbbaf3c81024f0a604a", "shasum": "" }, "require": { @@ -1412,7 +1412,7 @@ }, "require-dev": { "phpstan/phpstan": "^1.10", - "psr/log": "^1.0", + "psr/log": "^1.0 || ^2.0 || ^3.0", "symfony/phpunit-bridge": "^4.2 || ^5", "symfony/process": "^4.0 || ^5.0 || ^6.0 || ^7.0" }, @@ -1449,7 +1449,7 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/ca-bundle/issues", - "source": "https://github.com/composer/ca-bundle/tree/1.5.0" + "source": "https://github.com/composer/ca-bundle/tree/1.5.1" }, "funding": [ { @@ -1465,7 +1465,7 @@ "type": "tidelift" } ], - "time": "2024-03-15T14:00:32+00:00" + "time": "2024-07-08T15:28:20+00:00" }, { "name": "composer/package-versions-deprecated", @@ -2621,21 +2621,21 @@ }, { "name": "doctrine/migrations", - "version": "3.7.4", + "version": "3.8.0", "source": { "type": "git", "url": "https://github.com/doctrine/migrations.git", - "reference": "954e0a314c2f0eb9fb418210445111747de254a6" + "reference": "535a70dcbd88b8c6ba945be050977457f4f4c06c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/migrations/zipball/954e0a314c2f0eb9fb418210445111747de254a6", - "reference": "954e0a314c2f0eb9fb418210445111747de254a6", + "url": "https://api.github.com/repos/doctrine/migrations/zipball/535a70dcbd88b8c6ba945be050977457f4f4c06c", + "reference": "535a70dcbd88b8c6ba945be050977457f4f4c06c", "shasum": "" }, "require": { "composer-runtime-api": "^2", - "doctrine/dbal": "^3.5.1 || ^4", + "doctrine/dbal": "^3.6 || ^4", "doctrine/deprecations": "^0.5.3 || ^1", "doctrine/event-manager": "^1.2 || ^2.0", "php": "^8.1", @@ -2673,7 +2673,7 @@ "type": "library", "autoload": { "psr-4": { - "Doctrine\\Migrations\\": "lib/Doctrine/Migrations" + "Doctrine\\Migrations\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -2703,7 +2703,7 @@ ], "support": { "issues": "https://github.com/doctrine/migrations/issues", - "source": "https://github.com/doctrine/migrations/tree/3.7.4" + "source": "https://github.com/doctrine/migrations/tree/3.8.0" }, "funding": [ { @@ -2719,20 +2719,20 @@ "type": "tidelift" } ], - "time": "2024-03-06T13:41:11+00:00" + "time": "2024-06-26T14:12:46+00:00" }, { "name": "doctrine/orm", - "version": "3.2.0", + "version": "3.2.1", "source": { "type": "git", "url": "https://github.com/doctrine/orm.git", - "reference": "37946d3a21ddf837c0d84f8156ee60a92102e332" + "reference": "722cea6536775206e81744542b36fa7c9a4ea3e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/orm/zipball/37946d3a21ddf837c0d84f8156ee60a92102e332", - "reference": "37946d3a21ddf837c0d84f8156ee60a92102e332", + "url": "https://api.github.com/repos/doctrine/orm/zipball/722cea6536775206e81744542b36fa7c9a4ea3e5", + "reference": "722cea6536775206e81744542b36fa7c9a4ea3e5", "shasum": "" }, "require": { @@ -2805,9 +2805,9 @@ ], "support": { "issues": "https://github.com/doctrine/orm/issues", - "source": "https://github.com/doctrine/orm/tree/3.2.0" + "source": "https://github.com/doctrine/orm/tree/3.2.1" }, - "time": "2024-05-23T14:27:52+00:00" + "time": "2024-06-26T21:48:58+00:00" }, { "name": "doctrine/persistence", @@ -3371,12 +3371,12 @@ "source": { "type": "git", "url": "https://github.com/florianv/symfony-swap.git", - "reference": "ceb79705f17145367bb968e7b7dda87297c20645" + "reference": "c8cd268ad6e2f636f10b91df9850e3941d7f5807" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/florianv/symfony-swap/zipball/ceb79705f17145367bb968e7b7dda87297c20645", - "reference": "ceb79705f17145367bb968e7b7dda87297c20645", + "url": "https://api.github.com/repos/florianv/symfony-swap/zipball/c8cd268ad6e2f636f10b91df9850e3941d7f5807", + "reference": "c8cd268ad6e2f636f10b91df9850e3941d7f5807", "shasum": "" }, "require": { @@ -3432,7 +3432,7 @@ "issues": "https://github.com/florianv/symfony-swap/issues", "source": "https://github.com/florianv/symfony-swap/tree/master" }, - "time": "2024-04-11T09:21:44+00:00" + "time": "2024-07-09T13:51:01+00:00" }, { "name": "friendsofphp/proxy-manager-lts", @@ -3642,22 +3642,22 @@ }, { "name": "guzzlehttp/guzzle", - "version": "7.8.1", + "version": "7.9.2", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "41042bc7ab002487b876a0683fc8dce04ddce104" + "reference": "d281ed313b989f213357e3be1a179f02196ac99b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/41042bc7ab002487b876a0683fc8dce04ddce104", - "reference": "41042bc7ab002487b876a0683fc8dce04ddce104", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/d281ed313b989f213357e3be1a179f02196ac99b", + "reference": "d281ed313b989f213357e3be1a179f02196ac99b", "shasum": "" }, "require": { "ext-json": "*", - "guzzlehttp/promises": "^1.5.3 || ^2.0.1", - "guzzlehttp/psr7": "^1.9.1 || ^2.5.1", + "guzzlehttp/promises": "^1.5.3 || ^2.0.3", + "guzzlehttp/psr7": "^2.7.0", "php": "^7.2.5 || ^8.0", "psr/http-client": "^1.0", "symfony/deprecation-contracts": "^2.2 || ^3.0" @@ -3668,9 +3668,9 @@ "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", "ext-curl": "*", - "php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999", + "guzzle/client-integration-tests": "3.0.2", "php-http/message-factory": "^1.1", - "phpunit/phpunit": "^8.5.36 || ^9.6.15", + "phpunit/phpunit": "^8.5.39 || ^9.6.20", "psr/log": "^1.1 || ^2.0 || ^3.0" }, "suggest": { @@ -3748,7 +3748,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.8.1" + "source": "https://github.com/guzzle/guzzle/tree/7.9.2" }, "funding": [ { @@ -3764,20 +3764,20 @@ "type": "tidelift" } ], - "time": "2023-12-03T20:35:24+00:00" + "time": "2024-07-24T11:22:20+00:00" }, { "name": "guzzlehttp/promises", - "version": "2.0.2", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223" + "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/bbff78d96034045e58e13dedd6ad91b5d1253223", - "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223", + "url": "https://api.github.com/repos/guzzle/promises/zipball/6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8", + "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8", "shasum": "" }, "require": { @@ -3785,7 +3785,7 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.36 || ^9.6.15" + "phpunit/phpunit": "^8.5.39 || ^9.6.20" }, "type": "library", "extra": { @@ -3831,7 +3831,7 @@ ], "support": { "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/2.0.2" + "source": "https://github.com/guzzle/promises/tree/2.0.3" }, "funding": [ { @@ -3847,20 +3847,20 @@ "type": "tidelift" } ], - "time": "2023-12-03T20:19:20+00:00" + "time": "2024-07-18T10:29:17+00:00" }, { "name": "guzzlehttp/psr7", - "version": "2.6.2", + "version": "2.7.0", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221" + "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/45b30f99ac27b5ca93cb4831afe16285f57b8221", - "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/a70f5c95fb43bc83f07c9c948baa0dc1829bf201", + "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201", "shasum": "" }, "require": { @@ -3875,8 +3875,8 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "http-interop/http-factory-tests": "^0.9", - "phpunit/phpunit": "^8.5.36 || ^9.6.15" + "http-interop/http-factory-tests": "0.9.0", + "phpunit/phpunit": "^8.5.39 || ^9.6.20" }, "suggest": { "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" @@ -3947,7 +3947,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.6.2" + "source": "https://github.com/guzzle/psr7/tree/2.7.0" }, "funding": [ { @@ -3963,7 +3963,7 @@ "type": "tidelift" } ], - "time": "2023-12-03T20:05:35+00:00" + "time": "2024-07-18T11:15:46+00:00" }, { "name": "hshn/base64-encoded-file", @@ -4091,16 +4091,16 @@ }, { "name": "jbtronics/2fa-webauthn", - "version": "v2.2.1", + "version": "v2.2.2", "source": { "type": "git", "url": "https://github.com/jbtronics/2fa-webauthn.git", - "reference": "eb62e3f46321f6050bbe100631ae0777216f36ca" + "reference": "4341335ab9667f7347a24d60c29d143f25371e82" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/jbtronics/2fa-webauthn/zipball/eb62e3f46321f6050bbe100631ae0777216f36ca", - "reference": "eb62e3f46321f6050bbe100631ae0777216f36ca", + "url": "https://api.github.com/repos/jbtronics/2fa-webauthn/zipball/4341335ab9667f7347a24d60c29d143f25371e82", + "reference": "4341335ab9667f7347a24d60c29d143f25371e82", "shasum": "" }, "require": { @@ -4110,7 +4110,7 @@ "psr/log": "^3.0.0|^2.0.0", "scheb/2fa-bundle": "^6.0.0|^7.0.0", "symfony/framework-bundle": "^6.0|^7.0", - "symfony/psr-http-message-bridge": "^2.1", + "symfony/psr-http-message-bridge": "^2.1|^6.1|^7.0", "symfony/uid": "^6.0|^7.0", "web-auth/webauthn-lib": "^4.7" }, @@ -4145,9 +4145,9 @@ ], "support": { "issues": "https://github.com/jbtronics/2fa-webauthn/issues", - "source": "https://github.com/jbtronics/2fa-webauthn/tree/v2.2.1" + "source": "https://github.com/jbtronics/2fa-webauthn/tree/v2.2.2" }, - "time": "2024-01-15T15:38:49+00:00" + "time": "2024-07-21T19:24:26+00:00" }, { "name": "jbtronics/dompdf-font-loader-bundle", @@ -5260,16 +5260,16 @@ }, { "name": "liip/imagine-bundle", - "version": "2.13.0", + "version": "2.13.1", "source": { "type": "git", "url": "https://github.com/liip/LiipImagineBundle.git", - "reference": "0c95437a7e1a0561004c8f7f7a412884f9f12438" + "reference": "f3b67426800a6a86840de7447bb552c61a79f4b6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/liip/LiipImagineBundle/zipball/0c95437a7e1a0561004c8f7f7a412884f9f12438", - "reference": "0c95437a7e1a0561004c8f7f7a412884f9f12438", + "url": "https://api.github.com/repos/liip/LiipImagineBundle/zipball/f3b67426800a6a86840de7447bb552c61a79f4b6", + "reference": "f3b67426800a6a86840de7447bb552c61a79f4b6", "shasum": "" }, "require": { @@ -5360,9 +5360,9 @@ ], "support": { "issues": "https://github.com/liip/LiipImagineBundle/issues", - "source": "https://github.com/liip/LiipImagineBundle/tree/2.13.0" + "source": "https://github.com/liip/LiipImagineBundle/tree/2.13.1" }, - "time": "2024-06-19T09:35:35+00:00" + "time": "2024-07-03T13:28:14+00:00" }, { "name": "lorenzo/pinky", @@ -5486,16 +5486,16 @@ }, { "name": "monolog/monolog", - "version": "3.6.0", + "version": "3.7.0", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "4b18b21a5527a3d5ffdac2fd35d3ab25a9597654" + "reference": "f4393b648b78a5408747de94fca38beb5f7e9ef8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/4b18b21a5527a3d5ffdac2fd35d3ab25a9597654", - "reference": "4b18b21a5527a3d5ffdac2fd35d3ab25a9597654", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/f4393b648b78a5408747de94fca38beb5f7e9ef8", + "reference": "f4393b648b78a5408747de94fca38beb5f7e9ef8", "shasum": "" }, "require": { @@ -5571,7 +5571,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/3.6.0" + "source": "https://github.com/Seldaek/monolog/tree/3.7.0" }, "funding": [ { @@ -5583,7 +5583,7 @@ "type": "tidelift" } ], - "time": "2024-04-12T21:02:21+00:00" + "time": "2024-06-28T09:40:51+00:00" }, { "name": "nbgrp/onelogin-saml-bundle", @@ -5723,16 +5723,16 @@ }, { "name": "nelmio/cors-bundle", - "version": "2.4.0", + "version": "2.5.0", "source": { "type": "git", "url": "https://github.com/nelmio/NelmioCorsBundle.git", - "reference": "78fcdb91f76b080a1008133def9c7f613833933d" + "reference": "3a526fe025cd20e04a6a11370cf5ab28dbb5a544" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nelmio/NelmioCorsBundle/zipball/78fcdb91f76b080a1008133def9c7f613833933d", - "reference": "78fcdb91f76b080a1008133def9c7f613833933d", + "url": "https://api.github.com/repos/nelmio/NelmioCorsBundle/zipball/3a526fe025cd20e04a6a11370cf5ab28dbb5a544", + "reference": "3a526fe025cd20e04a6a11370cf5ab28dbb5a544", "shasum": "" }, "require": { @@ -5779,26 +5779,27 @@ ], "support": { "issues": "https://github.com/nelmio/NelmioCorsBundle/issues", - "source": "https://github.com/nelmio/NelmioCorsBundle/tree/2.4.0" + "source": "https://github.com/nelmio/NelmioCorsBundle/tree/2.5.0" }, - "time": "2023-11-30T16:41:19+00:00" + "time": "2024-06-24T21:25:28+00:00" }, { "name": "nelmio/security-bundle", - "version": "v3.3.0", + "version": "v3.4.0", "source": { "type": "git", "url": "https://github.com/nelmio/NelmioSecurityBundle.git", - "reference": "6a6c75ef6342385ef732f0b5afa705660177250f" + "reference": "de34d69ddc2227a4d5928030d2439106faf7a427" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nelmio/NelmioSecurityBundle/zipball/6a6c75ef6342385ef732f0b5afa705660177250f", - "reference": "6a6c75ef6342385ef732f0b5afa705660177250f", + "url": "https://api.github.com/repos/nelmio/NelmioSecurityBundle/zipball/de34d69ddc2227a4d5928030d2439106faf7a427", + "reference": "de34d69ddc2227a4d5928030d2439106faf7a427", "shasum": "" }, "require": { "php": "^7.4 || ^8.0", + "symfony/deprecation-contracts": "^2.5 || ^3", "symfony/framework-bundle": "^5.4 || ^6.3 || ^7.0", "symfony/http-kernel": "^5.4 || ^6.3 || ^7.0", "symfony/security-core": "^5.4 || ^6.3 || ^7.0", @@ -5852,22 +5853,22 @@ ], "support": { "issues": "https://github.com/nelmio/NelmioSecurityBundle/issues", - "source": "https://github.com/nelmio/NelmioSecurityBundle/tree/v3.3.0" + "source": "https://github.com/nelmio/NelmioSecurityBundle/tree/v3.4.0" }, - "time": "2024-04-10T08:11:27+00:00" + "time": "2024-07-05T07:26:02+00:00" }, { "name": "nikic/php-parser", - "version": "v5.0.2", + "version": "v5.1.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13" + "reference": "683130c2ff8c2739f4822ff7ac5c873ec529abd1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/139676794dc1e9231bf7bcd123cfc0c99182cb13", - "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/683130c2ff8c2739f4822ff7ac5c873ec529abd1", + "reference": "683130c2ff8c2739f4822ff7ac5c873ec529abd1", "shasum": "" }, "require": { @@ -5878,7 +5879,7 @@ }, "require-dev": { "ircmaxell/php-yacc": "^0.0.7", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" + "phpunit/phpunit": "^9.0" }, "bin": [ "bin/php-parse" @@ -5910,9 +5911,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.2" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.1.0" }, - "time": "2024-03-05T20:51:40+00:00" + "time": "2024-07-01T20:03:41+00:00" }, { "name": "nikolaposa/version", @@ -6408,28 +6409,28 @@ }, { "name": "paragonie/sodium_compat", - "version": "v1.21.1", + "version": "v2.0.1", "source": { "type": "git", "url": "https://github.com/paragonie/sodium_compat.git", - "reference": "bb312875dcdd20680419564fe42ba1d9564b9e37" + "reference": "f65c82939ab17aeff538f9bf6d582f65cc7f255e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paragonie/sodium_compat/zipball/bb312875dcdd20680419564fe42ba1d9564b9e37", - "reference": "bb312875dcdd20680419564fe42ba1d9564b9e37", + "url": "https://api.github.com/repos/paragonie/sodium_compat/zipball/f65c82939ab17aeff538f9bf6d582f65cc7f255e", + "reference": "f65c82939ab17aeff538f9bf6d582f65cc7f255e", "shasum": "" }, "require": { - "paragonie/random_compat": ">=1", - "php": "^5.2.4|^5.3|^5.4|^5.5|^5.6|^7|^8" + "php": "^8.1", + "php-64bit": "*" }, "require-dev": { - "phpunit/phpunit": "^3|^4|^5|^6|^7|^8|^9" + "phpunit/phpunit": "^7|^8|^9", + "vimeo/psalm": "^4|^5" }, "suggest": { - "ext-libsodium": "PHP < 7.0: Better performance, password hashing (Argon2i), secure memory management (memzero), and better security.", - "ext-sodium": "PHP >= 7.0: Better performance, password hashing (Argon2i), secure memory management (memzero), and better security." + "ext-sodium": "Better performance, password hashing (Argon2i), secure memory management (memzero), and better security." }, "type": "library", "autoload": { @@ -6488,9 +6489,9 @@ ], "support": { "issues": "https://github.com/paragonie/sodium_compat/issues", - "source": "https://github.com/paragonie/sodium_compat/tree/v1.21.1" + "source": "https://github.com/paragonie/sodium_compat/tree/v2.0.1" }, - "time": "2024-04-22T22:05:04+00:00" + "time": "2024-04-24T12:06:31+00:00" }, { "name": "part-db/label-fonts", @@ -7987,16 +7988,16 @@ }, { "name": "s9e/text-formatter", - "version": "2.17.3", + "version": "2.18.0", "source": { "type": "git", "url": "https://github.com/s9e/TextFormatter.git", - "reference": "9adf2557f13e45c4524d0dc9886cab22822e337a" + "reference": "4970711f25d94306b4835b723b9cc5010170ea37" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/s9e/TextFormatter/zipball/9adf2557f13e45c4524d0dc9886cab22822e337a", - "reference": "9adf2557f13e45c4524d0dc9886cab22822e337a", + "url": "https://api.github.com/repos/s9e/TextFormatter/zipball/4970711f25d94306b4835b723b9cc5010170ea37", + "reference": "4970711f25d94306b4835b723b9cc5010170ea37", "shasum": "" }, "require": { @@ -8024,7 +8025,7 @@ }, "type": "library", "extra": { - "version": "2.17.3" + "version": "2.18.0" }, "autoload": { "psr-4": { @@ -8056,22 +8057,22 @@ ], "support": { "issues": "https://github.com/s9e/TextFormatter/issues", - "source": "https://github.com/s9e/TextFormatter/tree/2.17.3" + "source": "https://github.com/s9e/TextFormatter/tree/2.18.0" }, - "time": "2024-05-26T00:00:08+00:00" + "time": "2024-07-24T14:50:52+00:00" }, { "name": "sabberworm/php-css-parser", - "version": "v8.5.1", + "version": "v8.6.0", "source": { "type": "git", "url": "https://github.com/MyIntervals/PHP-CSS-Parser.git", - "reference": "4a3d572b0f8b28bb6fd016ae8bbfc445facef152" + "reference": "d2fb94a9641be84d79c7548c6d39bbebba6e9a70" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/MyIntervals/PHP-CSS-Parser/zipball/4a3d572b0f8b28bb6fd016ae8bbfc445facef152", - "reference": "4a3d572b0f8b28bb6fd016ae8bbfc445facef152", + "url": "https://api.github.com/repos/MyIntervals/PHP-CSS-Parser/zipball/d2fb94a9641be84d79c7548c6d39bbebba6e9a70", + "reference": "d2fb94a9641be84d79c7548c6d39bbebba6e9a70", "shasum": "" }, "require": { @@ -8121,9 +8122,9 @@ ], "support": { "issues": "https://github.com/MyIntervals/PHP-CSS-Parser/issues", - "source": "https://github.com/MyIntervals/PHP-CSS-Parser/tree/v8.5.1" + "source": "https://github.com/MyIntervals/PHP-CSS-Parser/tree/v8.6.0" }, - "time": "2024-02-15T16:41:13+00:00" + "time": "2024-07-01T07:33:21+00:00" }, { "name": "scheb/2fa-backup-code", @@ -8469,16 +8470,16 @@ }, { "name": "spomky-labs/cbor-php", - "version": "3.0.4", + "version": "3.1.0", "source": { "type": "git", "url": "https://github.com/Spomky-Labs/cbor-php.git", - "reference": "658ed12a85a6b31fa312b89cd92f3a4ce6df4c6b" + "reference": "499d9bff0a6d59c4f1b813cc617fc3fd56d6dca4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Spomky-Labs/cbor-php/zipball/658ed12a85a6b31fa312b89cd92f3a4ce6df4c6b", - "reference": "658ed12a85a6b31fa312b89cd92f3a4ce6df4c6b", + "url": "https://api.github.com/repos/Spomky-Labs/cbor-php/zipball/499d9bff0a6d59c4f1b813cc617fc3fd56d6dca4", + "reference": "499d9bff0a6d59c4f1b813cc617fc3fd56d6dca4", "shasum": "" }, "require": { @@ -8489,7 +8490,7 @@ "require-dev": { "ekino/phpstan-banned-code": "^1.0", "ext-json": "*", - "infection/infection": "^0.27", + "infection/infection": "^0.29", "php-parallel-lint/php-parallel-lint": "^1.3", "phpstan/extension-installer": "^1.1", "phpstan/phpstan": "^1.0", @@ -8497,9 +8498,9 @@ "phpstan/phpstan-deprecation-rules": "^1.0", "phpstan/phpstan-phpunit": "^1.0", "phpstan/phpstan-strict-rules": "^1.0", - "phpunit/phpunit": "^10.1", - "qossmic/deptrac-shim": "^1.0", - "rector/rector": "^0.19", + "phpunit/phpunit": "^10.1|^11.0", + "qossmic/deptrac": "^2.0", + "rector/rector": "^1.0", "roave/security-advisories": "dev-latest", "symfony/var-dumper": "^6.0|^7.0", "symplify/easy-coding-standard": "^12.0" @@ -8536,7 +8537,7 @@ ], "support": { "issues": "https://github.com/Spomky-Labs/cbor-php/issues", - "source": "https://github.com/Spomky-Labs/cbor-php/tree/3.0.4" + "source": "https://github.com/Spomky-Labs/cbor-php/tree/3.1.0" }, "funding": [ { @@ -8548,7 +8549,7 @@ "type": "patreon" } ], - "time": "2024-01-29T20:33:48+00:00" + "time": "2024-07-18T08:37:03+00:00" }, { "name": "spomky-labs/otphp", @@ -8840,16 +8841,16 @@ }, { "name": "symfony/cache", - "version": "v6.4.8", + "version": "v6.4.10", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "287142df5579ce223c485b3872df3efae8390984" + "reference": "6702d2d777260e6ff3451fee2d7d78ab5f715cdc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/287142df5579ce223c485b3872df3efae8390984", - "reference": "287142df5579ce223c485b3872df3efae8390984", + "url": "https://api.github.com/repos/symfony/cache/zipball/6702d2d777260e6ff3451fee2d7d78ab5f715cdc", + "reference": "6702d2d777260e6ff3451fee2d7d78ab5f715cdc", "shasum": "" }, "require": { @@ -8916,7 +8917,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v6.4.8" + "source": "https://github.com/symfony/cache/tree/v6.4.10" }, "funding": [ { @@ -8932,7 +8933,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-07-17T06:05:49+00:00" }, { "name": "symfony/cache-contracts", @@ -9161,16 +9162,16 @@ }, { "name": "symfony/console", - "version": "v6.4.8", + "version": "v6.4.10", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "be5854cee0e8c7b110f00d695d11debdfa1a2a91" + "reference": "504974cbe43d05f83b201d6498c206f16fc0cdbc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/be5854cee0e8c7b110f00d695d11debdfa1a2a91", - "reference": "be5854cee0e8c7b110f00d695d11debdfa1a2a91", + "url": "https://api.github.com/repos/symfony/console/zipball/504974cbe43d05f83b201d6498c206f16fc0cdbc", + "reference": "504974cbe43d05f83b201d6498c206f16fc0cdbc", "shasum": "" }, "require": { @@ -9235,7 +9236,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.4.8" + "source": "https://github.com/symfony/console/tree/v6.4.10" }, "funding": [ { @@ -9251,7 +9252,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-07-26T12:30:32+00:00" }, { "name": "symfony/css-selector", @@ -9320,16 +9321,16 @@ }, { "name": "symfony/dependency-injection", - "version": "v6.4.8", + "version": "v6.4.10", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "d3b618176e8c3a9e5772151c51eba0c52a0c771c" + "reference": "5caf9c5f6085f13b27d70a236b776c07e4a1c3eb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/d3b618176e8c3a9e5772151c51eba0c52a0c771c", - "reference": "d3b618176e8c3a9e5772151c51eba0c52a0c771c", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/5caf9c5f6085f13b27d70a236b776c07e4a1c3eb", + "reference": "5caf9c5f6085f13b27d70a236b776c07e4a1c3eb", "shasum": "" }, "require": { @@ -9381,7 +9382,7 @@ "description": "Allows you to standardize and centralize the way objects are constructed in your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dependency-injection/tree/v6.4.8" + "source": "https://github.com/symfony/dependency-injection/tree/v6.4.10" }, "funding": [ { @@ -9397,7 +9398,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-07-26T07:32:07+00:00" }, { "name": "symfony/deprecation-contracts", @@ -9468,16 +9469,16 @@ }, { "name": "symfony/doctrine-bridge", - "version": "v6.4.8", + "version": "v6.4.10", "source": { "type": "git", "url": "https://github.com/symfony/doctrine-bridge.git", - "reference": "afbf291ccaf595c8ff6f4ed3943aa0ea479e4d04" + "reference": "0de9662441bce4670506d0c371cc819a9d0a7607" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/afbf291ccaf595c8ff6f4ed3943aa0ea479e4d04", - "reference": "afbf291ccaf595c8ff6f4ed3943aa0ea479e4d04", + "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/0de9662441bce4670506d0c371cc819a9d0a7607", + "reference": "0de9662441bce4670506d0c371cc819a9d0a7607", "shasum": "" }, "require": { @@ -9556,7 +9557,7 @@ "description": "Provides integration for Doctrine with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/doctrine-bridge/tree/v6.4.8" + "source": "https://github.com/symfony/doctrine-bridge/tree/v6.4.10" }, "funding": [ { @@ -9572,20 +9573,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-07-26T12:30:32+00:00" }, { "name": "symfony/dotenv", - "version": "v6.4.8", + "version": "v6.4.10", "source": { "type": "git", "url": "https://github.com/symfony/dotenv.git", - "reference": "55aefa0029adff89ecffdb560820e945c7983f06" + "reference": "2ae0c84cc9be0dc1eeb86016970b63c764d8472e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dotenv/zipball/55aefa0029adff89ecffdb560820e945c7983f06", - "reference": "55aefa0029adff89ecffdb560820e945c7983f06", + "url": "https://api.github.com/repos/symfony/dotenv/zipball/2ae0c84cc9be0dc1eeb86016970b63c764d8472e", + "reference": "2ae0c84cc9be0dc1eeb86016970b63c764d8472e", "shasum": "" }, "require": { @@ -9630,7 +9631,7 @@ "environment" ], "support": { - "source": "https://github.com/symfony/dotenv/tree/v6.4.8" + "source": "https://github.com/symfony/dotenv/tree/v6.4.10" }, "funding": [ { @@ -9646,20 +9647,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-07-09T18:29:35+00:00" }, { "name": "symfony/error-handler", - "version": "v6.4.8", + "version": "v6.4.10", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "ef836152bf13472dc5fb5b08b0c0c4cfeddc0fcc" + "reference": "231f1b2ee80f72daa1972f7340297d67439224f0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/ef836152bf13472dc5fb5b08b0c0c4cfeddc0fcc", - "reference": "ef836152bf13472dc5fb5b08b0c0c4cfeddc0fcc", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/231f1b2ee80f72daa1972f7340297d67439224f0", + "reference": "231f1b2ee80f72daa1972f7340297d67439224f0", "shasum": "" }, "require": { @@ -9705,7 +9706,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v6.4.8" + "source": "https://github.com/symfony/error-handler/tree/v6.4.10" }, "funding": [ { @@ -9721,7 +9722,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-07-26T12:30:32+00:00" }, { "name": "symfony/event-dispatcher", @@ -9945,16 +9946,16 @@ }, { "name": "symfony/filesystem", - "version": "v6.4.8", + "version": "v6.4.9", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "4d37529150e7081c51b3c5d5718c55a04a9503f3" + "reference": "b51ef8059159330b74a4d52f68e671033c0fe463" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/4d37529150e7081c51b3c5d5718c55a04a9503f3", - "reference": "4d37529150e7081c51b3c5d5718c55a04a9503f3", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/b51ef8059159330b74a4d52f68e671033c0fe463", + "reference": "b51ef8059159330b74a4d52f68e671033c0fe463", "shasum": "" }, "require": { @@ -9991,7 +9992,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v6.4.8" + "source": "https://github.com/symfony/filesystem/tree/v6.4.9" }, "funding": [ { @@ -10007,20 +10008,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-06-28T09:49:33+00:00" }, { "name": "symfony/finder", - "version": "v6.4.8", + "version": "v6.4.10", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "3ef977a43883215d560a2cecb82ec8e62131471c" + "reference": "af29198d87112bebdd397bd7735fbd115997824c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/3ef977a43883215d560a2cecb82ec8e62131471c", - "reference": "3ef977a43883215d560a2cecb82ec8e62131471c", + "url": "https://api.github.com/repos/symfony/finder/zipball/af29198d87112bebdd397bd7735fbd115997824c", + "reference": "af29198d87112bebdd397bd7735fbd115997824c", "shasum": "" }, "require": { @@ -10055,7 +10056,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v6.4.8" + "source": "https://github.com/symfony/finder/tree/v6.4.10" }, "funding": [ { @@ -10071,7 +10072,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-07-24T07:06:38+00:00" }, { "name": "symfony/flex", @@ -10140,16 +10141,16 @@ }, { "name": "symfony/form", - "version": "v6.4.8", + "version": "v6.4.10", "source": { "type": "git", "url": "https://github.com/symfony/form.git", - "reference": "196ebc738e59bec2bbf1f49c24cc221b47f77f5d" + "reference": "67dd6a3fd986cae9a90a8c2c526464c06f525863" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/form/zipball/196ebc738e59bec2bbf1f49c24cc221b47f77f5d", - "reference": "196ebc738e59bec2bbf1f49c24cc221b47f77f5d", + "url": "https://api.github.com/repos/symfony/form/zipball/67dd6a3fd986cae9a90a8c2c526464c06f525863", + "reference": "67dd6a3fd986cae9a90a8c2c526464c06f525863", "shasum": "" }, "require": { @@ -10217,7 +10218,7 @@ "description": "Allows to easily create, process and reuse HTML forms", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/form/tree/v6.4.8" + "source": "https://github.com/symfony/form/tree/v6.4.10" }, "funding": [ { @@ -10233,20 +10234,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-07-19T08:21:35+00:00" }, { "name": "symfony/framework-bundle", - "version": "v6.4.8", + "version": "v6.4.10", "source": { "type": "git", "url": "https://github.com/symfony/framework-bundle.git", - "reference": "7c7739f87f1a8be1c2f5e7d28addfe763a917acb" + "reference": "6cbdb0cc3ddbb63499262cd3036882b08ee2690b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/7c7739f87f1a8be1c2f5e7d28addfe763a917acb", - "reference": "7c7739f87f1a8be1c2f5e7d28addfe763a917acb", + "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/6cbdb0cc3ddbb63499262cd3036882b08ee2690b", + "reference": "6cbdb0cc3ddbb63499262cd3036882b08ee2690b", "shasum": "" }, "require": { @@ -10365,7 +10366,7 @@ "description": "Provides a tight integration between Symfony components and the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/framework-bundle/tree/v6.4.8" + "source": "https://github.com/symfony/framework-bundle/tree/v6.4.10" }, "funding": [ { @@ -10381,20 +10382,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-07-26T13:24:20+00:00" }, { "name": "symfony/http-client", - "version": "v6.4.8", + "version": "v6.4.10", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "61faba993e620fc22d4f0ab3b6bcf8fbb0d44b05" + "reference": "b5e498f763e0bf5eed8dcd946e50a3b3f71d4ded" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/61faba993e620fc22d4f0ab3b6bcf8fbb0d44b05", - "reference": "61faba993e620fc22d4f0ab3b6bcf8fbb0d44b05", + "url": "https://api.github.com/repos/symfony/http-client/zipball/b5e498f763e0bf5eed8dcd946e50a3b3f71d4ded", + "reference": "b5e498f763e0bf5eed8dcd946e50a3b3f71d4ded", "shasum": "" }, "require": { @@ -10458,7 +10459,7 @@ "http" ], "support": { - "source": "https://github.com/symfony/http-client/tree/v6.4.8" + "source": "https://github.com/symfony/http-client/tree/v6.4.10" }, "funding": [ { @@ -10474,7 +10475,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-07-15T09:26:24+00:00" }, { "name": "symfony/http-client-contracts", @@ -10556,16 +10557,16 @@ }, { "name": "symfony/http-foundation", - "version": "v6.4.8", + "version": "v6.4.10", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "27de8cc95e11db7a50b027e71caaab9024545947" + "reference": "117f1f20a7ade7bcea28b861fb79160a21a1e37b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/27de8cc95e11db7a50b027e71caaab9024545947", - "reference": "27de8cc95e11db7a50b027e71caaab9024545947", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/117f1f20a7ade7bcea28b861fb79160a21a1e37b", + "reference": "117f1f20a7ade7bcea28b861fb79160a21a1e37b", "shasum": "" }, "require": { @@ -10613,7 +10614,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v6.4.8" + "source": "https://github.com/symfony/http-foundation/tree/v6.4.10" }, "funding": [ { @@ -10629,20 +10630,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-07-26T12:36:27+00:00" }, { "name": "symfony/http-kernel", - "version": "v6.4.8", + "version": "v6.4.10", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "6c519aa3f32adcfd1d1f18d923f6b227d9acf3c1" + "reference": "147e0daf618d7575b5007055340d09aece5cf068" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/6c519aa3f32adcfd1d1f18d923f6b227d9acf3c1", - "reference": "6c519aa3f32adcfd1d1f18d923f6b227d9acf3c1", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/147e0daf618d7575b5007055340d09aece5cf068", + "reference": "147e0daf618d7575b5007055340d09aece5cf068", "shasum": "" }, "require": { @@ -10727,7 +10728,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v6.4.8" + "source": "https://github.com/symfony/http-kernel/tree/v6.4.10" }, "funding": [ { @@ -10743,7 +10744,7 @@ "type": "tidelift" } ], - "time": "2024-06-02T16:06:25+00:00" + "time": "2024-07-26T14:52:04+00:00" }, { "name": "symfony/intl", @@ -10830,16 +10831,16 @@ }, { "name": "symfony/mailer", - "version": "v6.4.8", + "version": "v6.4.9", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "76326421d44c07f7824b19487cfbf87870b37efc" + "reference": "e2d56f180f5b8c5e7c0fbea872bb1f529b6d6d45" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/76326421d44c07f7824b19487cfbf87870b37efc", - "reference": "76326421d44c07f7824b19487cfbf87870b37efc", + "url": "https://api.github.com/repos/symfony/mailer/zipball/e2d56f180f5b8c5e7c0fbea872bb1f529b6d6d45", + "reference": "e2d56f180f5b8c5e7c0fbea872bb1f529b6d6d45", "shasum": "" }, "require": { @@ -10890,7 +10891,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v6.4.8" + "source": "https://github.com/symfony/mailer/tree/v6.4.9" }, "funding": [ { @@ -10906,20 +10907,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-06-28T07:59:05+00:00" }, { "name": "symfony/mime", - "version": "v6.4.8", + "version": "v6.4.9", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "618597ab8b78ac86d1c75a9d0b35540cda074f33" + "reference": "7d048964877324debdcb4e0549becfa064a20d43" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/618597ab8b78ac86d1c75a9d0b35540cda074f33", - "reference": "618597ab8b78ac86d1c75a9d0b35540cda074f33", + "url": "https://api.github.com/repos/symfony/mime/zipball/7d048964877324debdcb4e0549becfa064a20d43", + "reference": "7d048964877324debdcb4e0549becfa064a20d43", "shasum": "" }, "require": { @@ -10933,7 +10934,7 @@ "phpdocumentor/reflection-docblock": "<3.2.2", "phpdocumentor/type-resolver": "<1.4.0", "symfony/mailer": "<5.4", - "symfony/serializer": "<6.3.2" + "symfony/serializer": "<6.4.3|>7.0,<7.0.3" }, "require-dev": { "egulias/email-validator": "^2.1.10|^3.1|^4", @@ -10943,7 +10944,7 @@ "symfony/process": "^5.4|^6.4|^7.0", "symfony/property-access": "^5.4|^6.0|^7.0", "symfony/property-info": "^5.4|^6.0|^7.0", - "symfony/serializer": "^6.3.2|^7.0" + "symfony/serializer": "^6.4.3|^7.0.3" }, "type": "library", "autoload": { @@ -10975,7 +10976,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v6.4.8" + "source": "https://github.com/symfony/mime/tree/v6.4.9" }, "funding": [ { @@ -10991,7 +10992,7 @@ "type": "tidelift" } ], - "time": "2024-06-01T07:50:16+00:00" + "time": "2024-06-28T09:49:33+00:00" }, { "name": "symfony/monolog-bridge", @@ -12302,16 +12303,16 @@ }, { "name": "symfony/property-info", - "version": "v6.4.8", + "version": "v6.4.10", "source": { "type": "git", "url": "https://github.com/symfony/property-info.git", - "reference": "7f544bc6ceb1a6a2283c7af8e8621262c43b7ede" + "reference": "edaea9dcc723cb4a0ab6a00f7d6f8c07c0d8ff77" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-info/zipball/7f544bc6ceb1a6a2283c7af8e8621262c43b7ede", - "reference": "7f544bc6ceb1a6a2283c7af8e8621262c43b7ede", + "url": "https://api.github.com/repos/symfony/property-info/zipball/edaea9dcc723cb4a0ab6a00f7d6f8c07c0d8ff77", + "reference": "edaea9dcc723cb4a0ab6a00f7d6f8c07c0d8ff77", "shasum": "" }, "require": { @@ -12365,7 +12366,7 @@ "validator" ], "support": { - "source": "https://github.com/symfony/property-info/tree/v6.4.8" + "source": "https://github.com/symfony/property-info/tree/v6.4.10" }, "funding": [ { @@ -12381,7 +12382,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-07-26T07:32:07+00:00" }, { "name": "symfony/proxy-manager-bridge", @@ -12452,43 +12453,38 @@ }, { "name": "symfony/psr-http-message-bridge", - "version": "v2.3.1", + "version": "v6.4.10", "source": { "type": "git", "url": "https://github.com/symfony/psr-http-message-bridge.git", - "reference": "581ca6067eb62640de5ff08ee1ba6850a0ee472e" + "reference": "89a24648d73e4eee30893b0da16abc454a65c53b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/581ca6067eb62640de5ff08ee1ba6850a0ee472e", - "reference": "581ca6067eb62640de5ff08ee1ba6850a0ee472e", + "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/89a24648d73e4eee30893b0da16abc454a65c53b", + "reference": "89a24648d73e4eee30893b0da16abc454a65c53b", "shasum": "" }, "require": { - "php": ">=7.2.5", - "psr/http-message": "^1.0 || ^2.0", - "symfony/deprecation-contracts": "^2.5 || ^3.0", - "symfony/http-foundation": "^5.4 || ^6.0" + "php": ">=8.1", + "psr/http-message": "^1.0|^2.0", + "symfony/http-foundation": "^5.4|^6.0|^7.0" + }, + "conflict": { + "php-http/discovery": "<1.15", + "symfony/http-kernel": "<6.2" }, "require-dev": { "nyholm/psr7": "^1.1", - "psr/log": "^1.1 || ^2 || ^3", - "symfony/browser-kit": "^5.4 || ^6.0", - "symfony/config": "^5.4 || ^6.0", - "symfony/event-dispatcher": "^5.4 || ^6.0", - "symfony/framework-bundle": "^5.4 || ^6.0", - "symfony/http-kernel": "^5.4 || ^6.0", - "symfony/phpunit-bridge": "^6.2" - }, - "suggest": { - "nyholm/psr7": "For a super lightweight PSR-7/17 implementation" + "php-http/discovery": "^1.15", + "psr/log": "^1.1.4|^2|^3", + "symfony/browser-kit": "^5.4|^6.0|^7.0", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/framework-bundle": "^6.2|^7.0", + "symfony/http-kernel": "^6.2|^7.0" }, "type": "symfony-bridge", - "extra": { - "branch-alias": { - "dev-main": "2.3-dev" - } - }, "autoload": { "psr-4": { "Symfony\\Bridge\\PsrHttpMessage\\": "" @@ -12508,11 +12504,11 @@ }, { "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "homepage": "https://symfony.com/contributors" } ], "description": "PSR HTTP message bridge", - "homepage": "http://symfony.com", + "homepage": "https://symfony.com", "keywords": [ "http", "http-message", @@ -12520,8 +12516,7 @@ "psr-7" ], "support": { - "issues": "https://github.com/symfony/psr-http-message-bridge/issues", - "source": "https://github.com/symfony/psr-http-message-bridge/tree/v2.3.1" + "source": "https://github.com/symfony/psr-http-message-bridge/tree/v6.4.10" }, "funding": [ { @@ -12537,7 +12532,7 @@ "type": "tidelift" } ], - "time": "2023-07-26T11:53:26+00:00" + "time": "2024-07-15T09:36:38+00:00" }, { "name": "symfony/rate-limiter", @@ -12612,16 +12607,16 @@ }, { "name": "symfony/routing", - "version": "v6.4.8", + "version": "v6.4.10", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "8a40d0f9b01f0fbb80885d3ce0ad6714fb603a58" + "reference": "aad19fe10753ba842f0d653a8db819c4b3affa87" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/8a40d0f9b01f0fbb80885d3ce0ad6714fb603a58", - "reference": "8a40d0f9b01f0fbb80885d3ce0ad6714fb603a58", + "url": "https://api.github.com/repos/symfony/routing/zipball/aad19fe10753ba842f0d653a8db819c4b3affa87", + "reference": "aad19fe10753ba842f0d653a8db819c4b3affa87", "shasum": "" }, "require": { @@ -12675,7 +12670,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v6.4.8" + "source": "https://github.com/symfony/routing/tree/v6.4.10" }, "funding": [ { @@ -12691,7 +12686,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-07-15T09:26:24+00:00" }, { "name": "symfony/runtime", @@ -12774,16 +12769,16 @@ }, { "name": "symfony/security-bundle", - "version": "v6.4.8", + "version": "v6.4.10", "source": { "type": "git", "url": "https://github.com/symfony/security-bundle.git", - "reference": "dfb286069b0332e1f1c21962133d17c0fbc1e5e7" + "reference": "50007f4f76632741b62fa9604c5f65807f268b72" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-bundle/zipball/dfb286069b0332e1f1c21962133d17c0fbc1e5e7", - "reference": "dfb286069b0332e1f1c21962133d17c0fbc1e5e7", + "url": "https://api.github.com/repos/symfony/security-bundle/zipball/50007f4f76632741b62fa9604c5f65807f268b72", + "reference": "50007f4f76632741b62fa9604c5f65807f268b72", "shasum": "" }, "require": { @@ -12866,7 +12861,7 @@ "description": "Provides a tight integration of the Security component into the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-bundle/tree/v6.4.8" + "source": "https://github.com/symfony/security-bundle/tree/v6.4.10" }, "funding": [ { @@ -12882,20 +12877,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-07-17T10:49:44+00:00" }, { "name": "symfony/security-core", - "version": "v6.4.8", + "version": "v6.4.10", "source": { "type": "git", "url": "https://github.com/symfony/security-core.git", - "reference": "5fc7850ada5e8e03d78c1739c82c64d5e2f7d495" + "reference": "432dec55da108c471adcf58c351af01372a52164" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-core/zipball/5fc7850ada5e8e03d78c1739c82c64d5e2f7d495", - "reference": "5fc7850ada5e8e03d78c1739c82c64d5e2f7d495", + "url": "https://api.github.com/repos/symfony/security-core/zipball/432dec55da108c471adcf58c351af01372a52164", + "reference": "432dec55da108c471adcf58c351af01372a52164", "shasum": "" }, "require": { @@ -12952,7 +12947,7 @@ "description": "Symfony Security Component - Core Library", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-core/tree/v6.4.8" + "source": "https://github.com/symfony/security-core/tree/v6.4.10" }, "funding": [ { @@ -12968,7 +12963,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-07-26T12:30:32+00:00" }, { "name": "symfony/security-csrf", @@ -13040,16 +13035,16 @@ }, { "name": "symfony/security-http", - "version": "v6.4.8", + "version": "v6.4.9", "source": { "type": "git", "url": "https://github.com/symfony/security-http.git", - "reference": "fb82ddec887dc67f3bcf4d6df3cb8efd529be104" + "reference": "8e70f39626ada36c5492c3aff9369c85d2840948" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-http/zipball/fb82ddec887dc67f3bcf4d6df3cb8efd529be104", - "reference": "fb82ddec887dc67f3bcf4d6df3cb8efd529be104", + "url": "https://api.github.com/repos/symfony/security-http/zipball/8e70f39626ada36c5492c3aff9369c85d2840948", + "reference": "8e70f39626ada36c5492c3aff9369c85d2840948", "shasum": "" }, "require": { @@ -13108,7 +13103,7 @@ "description": "Symfony Security Component - HTTP Integration", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-http/tree/v6.4.8" + "source": "https://github.com/symfony/security-http/tree/v6.4.9" }, "funding": [ { @@ -13124,20 +13119,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-06-21T16:04:15+00:00" }, { "name": "symfony/serializer", - "version": "v6.4.8", + "version": "v6.4.10", "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "d6eda9966a3e5d1823c1cedf41bf98f8ed969d7c" + "reference": "9a67fcf320561e96f94d62bbe0e169ac534a5718" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/d6eda9966a3e5d1823c1cedf41bf98f8ed969d7c", - "reference": "d6eda9966a3e5d1823c1cedf41bf98f8ed969d7c", + "url": "https://api.github.com/repos/symfony/serializer/zipball/9a67fcf320561e96f94d62bbe0e169ac534a5718", + "reference": "9a67fcf320561e96f94d62bbe0e169ac534a5718", "shasum": "" }, "require": { @@ -13206,7 +13201,7 @@ "description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/serializer/tree/v6.4.8" + "source": "https://github.com/symfony/serializer/tree/v6.4.10" }, "funding": [ { @@ -13222,7 +13217,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-07-26T13:13:26+00:00" }, { "name": "symfony/service-contracts", @@ -13440,16 +13435,16 @@ }, { "name": "symfony/string", - "version": "v6.4.8", + "version": "v6.4.10", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "a147c0f826c4a1f3afb763ab8e009e37c877a44d" + "reference": "ccf9b30251719567bfd46494138327522b9a9446" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/a147c0f826c4a1f3afb763ab8e009e37c877a44d", - "reference": "a147c0f826c4a1f3afb763ab8e009e37c877a44d", + "url": "https://api.github.com/repos/symfony/string/zipball/ccf9b30251719567bfd46494138327522b9a9446", + "reference": "ccf9b30251719567bfd46494138327522b9a9446", "shasum": "" }, "require": { @@ -13506,7 +13501,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.4.8" + "source": "https://github.com/symfony/string/tree/v6.4.10" }, "funding": [ { @@ -13522,20 +13517,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-07-22T10:21:14+00:00" }, { "name": "symfony/translation", - "version": "v6.4.8", + "version": "v6.4.10", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "a002933b13989fc4bd0b58e04bf7eec5210e438a" + "reference": "94041203f8ac200ae9e7c6a18fa6137814ccecc9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/a002933b13989fc4bd0b58e04bf7eec5210e438a", - "reference": "a002933b13989fc4bd0b58e04bf7eec5210e438a", + "url": "https://api.github.com/repos/symfony/translation/zipball/94041203f8ac200ae9e7c6a18fa6137814ccecc9", + "reference": "94041203f8ac200ae9e7c6a18fa6137814ccecc9", "shasum": "" }, "require": { @@ -13601,7 +13596,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v6.4.8" + "source": "https://github.com/symfony/translation/tree/v6.4.10" }, "funding": [ { @@ -13617,7 +13612,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-07-26T12:30:32+00:00" }, { "name": "symfony/translation-contracts", @@ -13699,16 +13694,16 @@ }, { "name": "symfony/twig-bridge", - "version": "v6.4.8", + "version": "v6.4.9", "source": { "type": "git", "url": "https://github.com/symfony/twig-bridge.git", - "reference": "57de1b7d7499053a2c5beb9344751e8bfd332649" + "reference": "9bcb26445b9d4ef1087c389234bf33fb00e10ea6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/57de1b7d7499053a2c5beb9344751e8bfd332649", - "reference": "57de1b7d7499053a2c5beb9344751e8bfd332649", + "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/9bcb26445b9d4ef1087c389234bf33fb00e10ea6", + "reference": "9bcb26445b9d4ef1087c389234bf33fb00e10ea6", "shasum": "" }, "require": { @@ -13788,7 +13783,7 @@ "description": "Provides integration for Twig with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/twig-bridge/tree/v6.4.8" + "source": "https://github.com/symfony/twig-bridge/tree/v6.4.9" }, "funding": [ { @@ -13804,7 +13799,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-06-21T16:04:15+00:00" }, { "name": "symfony/twig-bundle", @@ -14139,16 +14134,16 @@ }, { "name": "symfony/validator", - "version": "v6.4.8", + "version": "v6.4.10", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "dab2781371d54c86f6b25623ab16abb2dde2870c" + "reference": "bcf939a9d1acd7d2912e9474c0c3d7840a03cbcd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/dab2781371d54c86f6b25623ab16abb2dde2870c", - "reference": "dab2781371d54c86f6b25623ab16abb2dde2870c", + "url": "https://api.github.com/repos/symfony/validator/zipball/bcf939a9d1acd7d2912e9474c0c3d7840a03cbcd", + "reference": "bcf939a9d1acd7d2912e9474c0c3d7840a03cbcd", "shasum": "" }, "require": { @@ -14216,7 +14211,7 @@ "description": "Provides tools to validate values", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/validator/tree/v6.4.8" + "source": "https://github.com/symfony/validator/tree/v6.4.10" }, "funding": [ { @@ -14232,20 +14227,20 @@ "type": "tidelift" } ], - "time": "2024-06-02T15:48:50+00:00" + "time": "2024-07-26T12:30:32+00:00" }, { "name": "symfony/var-dumper", - "version": "v6.4.8", + "version": "v6.4.10", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "ad23ca4312395f0a8a8633c831ef4c4ee542ed25" + "reference": "a71cc3374f5fb9759da1961d28c452373b343dd4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/ad23ca4312395f0a8a8633c831ef4c4ee542ed25", - "reference": "ad23ca4312395f0a8a8633c831ef4c4ee542ed25", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/a71cc3374f5fb9759da1961d28c452373b343dd4", + "reference": "a71cc3374f5fb9759da1961d28c452373b343dd4", "shasum": "" }, "require": { @@ -14301,7 +14296,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.4.8" + "source": "https://github.com/symfony/var-dumper/tree/v6.4.10" }, "funding": [ { @@ -14317,20 +14312,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-07-26T12:30:32+00:00" }, { "name": "symfony/var-exporter", - "version": "v6.4.8", + "version": "v6.4.9", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "792ca836f99b340f2e9ca9497c7953948c49a504" + "reference": "f9a060622e0d93777b7f8687ec4860191e16802e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/792ca836f99b340f2e9ca9497c7953948c49a504", - "reference": "792ca836f99b340f2e9ca9497c7953948c49a504", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/f9a060622e0d93777b7f8687ec4860191e16802e", + "reference": "f9a060622e0d93777b7f8687ec4860191e16802e", "shasum": "" }, "require": { @@ -14378,7 +14373,7 @@ "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v6.4.8" + "source": "https://github.com/symfony/var-exporter/tree/v6.4.9" }, "funding": [ { @@ -14394,7 +14389,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-06-24T15:53:56+00:00" }, { "name": "symfony/web-link", @@ -15472,38 +15467,37 @@ }, { "name": "web-auth/cose-lib", - "version": "4.3.0", + "version": "4.4.0", "source": { "type": "git", "url": "https://github.com/web-auth/cose-lib.git", - "reference": "e5c417b3b90e06c84638a18d350e438d760cb955" + "reference": "2166016e48e0214f4f63320a7758a9386d14c92a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/web-auth/cose-lib/zipball/e5c417b3b90e06c84638a18d350e438d760cb955", - "reference": "e5c417b3b90e06c84638a18d350e438d760cb955", + "url": "https://api.github.com/repos/web-auth/cose-lib/zipball/2166016e48e0214f4f63320a7758a9386d14c92a", + "reference": "2166016e48e0214f4f63320a7758a9386d14c92a", "shasum": "" }, "require": { "brick/math": "^0.9|^0.10|^0.11|^0.12", "ext-json": "*", - "ext-mbstring": "*", "ext-openssl": "*", "php": ">=8.1", "spomky-labs/pki-framework": "^1.0" }, "require-dev": { "ekino/phpstan-banned-code": "^1.0", - "infection/infection": "^0.27", + "infection/infection": "^0.29", "php-parallel-lint/php-parallel-lint": "^1.3", "phpstan/extension-installer": "^1.3", "phpstan/phpstan": "^1.7", "phpstan/phpstan-deprecation-rules": "^1.0", "phpstan/phpstan-phpunit": "^1.1", "phpstan/phpstan-strict-rules": "^1.2", - "phpunit/phpunit": "^10.1", - "qossmic/deptrac-shim": "^1.0", - "rector/rector": "^0.19", + "phpunit/phpunit": "^10.1|^11.0", + "qossmic/deptrac": "^2.0", + "rector/rector": "^1.0", "symfony/phpunit-bridge": "^6.4|^7.0", "symplify/easy-coding-standard": "^12.0" }, @@ -15539,7 +15533,7 @@ ], "support": { "issues": "https://github.com/web-auth/cose-lib/issues", - "source": "https://github.com/web-auth/cose-lib/tree/4.3.0" + "source": "https://github.com/web-auth/cose-lib/tree/4.4.0" }, "funding": [ { @@ -15551,129 +15545,49 @@ "type": "patreon" } ], - "time": "2024-02-05T21:00:39+00:00" - }, - { - "name": "web-auth/metadata-service", - "version": "4.8.7", - "source": { - "type": "git", - "url": "https://github.com/web-auth/webauthn-metadata-service.git", - "reference": "64b65c91c0e4e9a299abab3f83f6f4f20c058f0a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/web-auth/webauthn-metadata-service/zipball/64b65c91c0e4e9a299abab3f83f6f4f20c058f0a", - "reference": "64b65c91c0e4e9a299abab3f83f6f4f20c058f0a", - "shasum": "" - }, - "require": { - "ext-json": "*", - "lcobucci/clock": "^2.2|^3.0", - "paragonie/constant_time_encoding": "^2.6", - "php": ">=8.1", - "psr/clock": "^1.0", - "psr/event-dispatcher": "^1.0", - "psr/http-client": "^1.0", - "psr/http-factory": "^1.0", - "psr/log": "^1.0|^2.0|^3.0", - "spomky-labs/pki-framework": "^1.0", - "symfony/deprecation-contracts": "^3.2" - }, - "suggest": { - "phpdocumentor/reflection-docblock": "As of 4.5.x, the phpdocumentor/reflection-docblock component will become mandatory for converting objects such as the Metadata Statement", - "psr/clock-implementation": "As of 4.5.x, the PSR Clock implementation will replace lcobucci/clock", - "psr/log-implementation": "Recommended to receive logs from the library", - "symfony/property-access": "As of 4.5.x, the symfony/serializer component will become mandatory for converting objects such as the Metadata Statement", - "symfony/property-info": "As of 4.5.x, the symfony/serializer component will become mandatory for converting objects such as the Metadata Statement", - "symfony/serializer": "As of 4.5.x, the symfony/serializer component will become mandatory for converting objects such as the Metadata Statement", - "web-token/jwt-library": "Mandatory for fetching Metadata Statement from distant sources" - }, - "type": "library", - "extra": { - "thanks": { - "name": "web-auth/webauthn-framework", - "url": "https://github.com/web-auth/webauthn-framework" - } - }, - "autoload": { - "psr-4": { - "Webauthn\\MetadataService\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Florent Morselli", - "homepage": "https://github.com/Spomky" - }, - { - "name": "All contributors", - "homepage": "https://github.com/web-auth/metadata-service/contributors" - } - ], - "description": "Metadata Service for FIDO2/Webauthn", - "homepage": "https://github.com/web-auth", - "keywords": [ - "FIDO2", - "fido", - "webauthn" - ], - "support": { - "source": "https://github.com/web-auth/webauthn-metadata-service/tree/4.8.7" - }, - "funding": [ - { - "url": "https://github.com/Spomky", - "type": "github" - }, - { - "url": "https://www.patreon.com/FlorentMorselli", - "type": "patreon" - } - ], - "time": "2024-06-15T07:18:26+00:00" + "time": "2024-07-18T08:47:32+00:00" }, { "name": "web-auth/webauthn-lib", - "version": "4.8.7", + "version": "4.9.1", "source": { "type": "git", "url": "https://github.com/web-auth/webauthn-lib.git", - "reference": "925873eb504a1db8a77dc2b4d2b578334736fa16" + "reference": "fd7a0943c663b325e92ad562c2bcc943e77beeac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/web-auth/webauthn-lib/zipball/925873eb504a1db8a77dc2b4d2b578334736fa16", - "reference": "925873eb504a1db8a77dc2b4d2b578334736fa16", + "url": "https://api.github.com/repos/web-auth/webauthn-lib/zipball/fd7a0943c663b325e92ad562c2bcc943e77beeac", + "reference": "fd7a0943c663b325e92ad562c2bcc943e77beeac", "shasum": "" }, "require": { "ext-json": "*", "ext-mbstring": "*", "ext-openssl": "*", - "paragonie/constant_time_encoding": "^2.6", + "lcobucci/clock": "^2.2|^3.0", + "paragonie/constant_time_encoding": "^2.6|^3.0", "php": ">=8.1", + "psr/clock": "^1.0", "psr/event-dispatcher": "^1.0", "psr/http-client": "^1.0", "psr/http-factory": "^1.0", "psr/log": "^1.0|^2.0|^3.0", "spomky-labs/cbor-php": "^3.0", + "spomky-labs/pki-framework": "^1.0", + "symfony/deprecation-contracts": "^3.2", "symfony/uid": "^6.1|^7.0", - "web-auth/cose-lib": "^4.2.3", - "web-auth/metadata-service": "self.version" + "web-auth/cose-lib": "^4.2.3" }, "suggest": { "phpdocumentor/reflection-docblock": "As of 4.5.x, the phpdocumentor/reflection-docblock component will become mandatory for converting objects such as the Metadata Statement", + "psr/clock-implementation": "As of 4.5.x, the PSR Clock implementation will replace lcobucci/clock", "psr/log-implementation": "Recommended to receive logs from the library", "symfony/event-dispatcher": "Recommended to use dispatched events", "symfony/property-access": "As of 4.5.x, the symfony/serializer component will become mandatory for converting objects such as the Metadata Statement", "symfony/property-info": "As of 4.5.x, the symfony/serializer component will become mandatory for converting objects such as the Metadata Statement", "symfony/serializer": "As of 4.5.x, the symfony/serializer component will become mandatory for converting objects such as the Metadata Statement", - "web-token/jwt-library": "Mandatory for the AndroidSafetyNet Attestation Statement support" + "web-token/jwt-library": "Mandatory for fetching Metadata Statement from distant sources" }, "type": "library", "extra": { @@ -15709,7 +15623,7 @@ "webauthn" ], "support": { - "source": "https://github.com/web-auth/webauthn-lib/tree/4.8.7" + "source": "https://github.com/web-auth/webauthn-lib/tree/4.9.1" }, "funding": [ { @@ -15721,20 +15635,20 @@ "type": "patreon" } ], - "time": "2024-04-08T10:04:23+00:00" + "time": "2024-07-16T18:36:36+00:00" }, { "name": "web-auth/webauthn-symfony-bundle", - "version": "4.8.7", + "version": "4.9.1", "source": { "type": "git", "url": "https://github.com/web-auth/webauthn-symfony-bundle.git", - "reference": "dc176cce0e57f4264ceb3f91385d571838037c3c" + "reference": "fa6dfa596db1cbf159079c0bb76d746ed84c4a26" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/web-auth/webauthn-symfony-bundle/zipball/dc176cce0e57f4264ceb3f91385d571838037c3c", - "reference": "dc176cce0e57f4264ceb3f91385d571838037c3c", + "url": "https://api.github.com/repos/web-auth/webauthn-symfony-bundle/zipball/fa6dfa596db1cbf159079c0bb76d746ed84c4a26", + "reference": "fa6dfa596db1cbf159079c0bb76d746ed84c4a26", "shasum": "" }, "require": { @@ -15755,7 +15669,7 @@ "symfony/serializer": "^6.1|^7.0", "symfony/validator": "^6.1|^7.0", "web-auth/webauthn-lib": "self.version", - "web-token/jwt-library": "^3.3" + "web-token/jwt-library": "^3.3|^4.0" }, "type": "symfony-bundle", "extra": { @@ -15794,7 +15708,7 @@ "webauthn" ], "support": { - "source": "https://github.com/web-auth/webauthn-symfony-bundle/tree/4.8.7" + "source": "https://github.com/web-auth/webauthn-symfony-bundle/tree/4.9.1" }, "funding": [ { @@ -15806,28 +15720,28 @@ "type": "patreon" } ], - "time": "2024-04-16T14:41:34+00:00" + "time": "2024-07-11T09:06:25+00:00" }, { "name": "web-token/jwt-library", - "version": "3.4.3", + "version": "3.4.6", "source": { "type": "git", "url": "https://github.com/web-token/jwt-library.git", - "reference": "4b09510eec25c328525048cbdf6042a39a7c28d8" + "reference": "1a25c8ced3e2b3c31d32dcfad215cbd8cb812f28" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/web-token/jwt-library/zipball/4b09510eec25c328525048cbdf6042a39a7c28d8", - "reference": "4b09510eec25c328525048cbdf6042a39a7c28d8", + "url": "https://api.github.com/repos/web-token/jwt-library/zipball/1a25c8ced3e2b3c31d32dcfad215cbd8cb812f28", + "reference": "1a25c8ced3e2b3c31d32dcfad215cbd8cb812f28", "shasum": "" }, "require": { "brick/math": "^0.9|^0.10|^0.11|^0.12", "ext-json": "*", "ext-mbstring": "*", - "paragonie/constant_time_encoding": "^2.6", - "paragonie/sodium_compat": "^1.20", + "paragonie/constant_time_encoding": "^2.6|^3.0", + "paragonie/sodium_compat": "^1.20|^2.0", "php": ">=8.1", "psr/cache": "^3.0", "psr/clock": "^1.0", @@ -15892,7 +15806,7 @@ ], "support": { "issues": "https://github.com/web-token/jwt-library/issues", - "source": "https://github.com/web-token/jwt-library/tree/3.4.3" + "source": "https://github.com/web-token/jwt-library/tree/3.4.6" }, "funding": [ { @@ -15904,7 +15818,7 @@ "type": "patreon" } ], - "time": "2024-04-17T17:41:33+00:00" + "time": "2024-07-02T16:35:11+00:00" }, { "name": "webmozart/assert", @@ -16465,16 +16379,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.11.5", + "version": "1.11.8", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "490f0ae1c92b082f154681d7849aee776a7c1443" + "reference": "6adbd118e6c0515dd2f36b06cde1d6da40f1b8ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/490f0ae1c92b082f154681d7849aee776a7c1443", - "reference": "490f0ae1c92b082f154681d7849aee776a7c1443", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/6adbd118e6c0515dd2f36b06cde1d6da40f1b8ec", + "reference": "6adbd118e6c0515dd2f36b06cde1d6da40f1b8ec", "shasum": "" }, "require": { @@ -16519,25 +16433,25 @@ "type": "github" } ], - "time": "2024-06-17T15:10:54+00:00" + "time": "2024-07-24T07:01:22+00:00" }, { "name": "phpstan/phpstan-doctrine", - "version": "1.4.3", + "version": "1.4.8", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan-doctrine.git", - "reference": "dd27a3e83777ba0d9e9cedfaf4ebf95ff67b271f" + "reference": "fa497c5cf8a3f9cd3db8cb4033daf5244793d3e1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-doctrine/zipball/dd27a3e83777ba0d9e9cedfaf4ebf95ff67b271f", - "reference": "dd27a3e83777ba0d9e9cedfaf4ebf95ff67b271f", + "url": "https://api.github.com/repos/phpstan/phpstan-doctrine/zipball/fa497c5cf8a3f9cd3db8cb4033daf5244793d3e1", + "reference": "fa497c5cf8a3f9cd3db8cb4033daf5244793d3e1", "shasum": "" }, "require": { "php": "^7.2 || ^8.0", - "phpstan/phpstan": "^1.11" + "phpstan/phpstan": "^1.11.7" }, "conflict": { "doctrine/collections": "<1.0", @@ -16589,9 +16503,9 @@ "description": "Doctrine extensions for PHPStan", "support": { "issues": "https://github.com/phpstan/phpstan-doctrine/issues", - "source": "https://github.com/phpstan/phpstan-doctrine/tree/1.4.3" + "source": "https://github.com/phpstan/phpstan-doctrine/tree/1.4.8" }, - "time": "2024-06-08T05:48:50+00:00" + "time": "2024-07-16T11:31:01+00:00" }, { "name": "phpstan/phpstan-strict-rules", @@ -16644,22 +16558,22 @@ }, { "name": "phpstan/phpstan-symfony", - "version": "1.4.4", + "version": "1.4.6", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan-symfony.git", - "reference": "bca27f1701fc1a297749e6c2a1e3da4462c1a6af" + "reference": "e909a075d69e0d4db262ac3407350ae2c6b6ab5f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-symfony/zipball/bca27f1701fc1a297749e6c2a1e3da4462c1a6af", - "reference": "bca27f1701fc1a297749e6c2a1e3da4462c1a6af", + "url": "https://api.github.com/repos/phpstan/phpstan-symfony/zipball/e909a075d69e0d4db262ac3407350ae2c6b6ab5f", + "reference": "e909a075d69e0d4db262ac3407350ae2c6b6ab5f", "shasum": "" }, "require": { "ext-simplexml": "*", "php": "^7.2 || ^8.0", - "phpstan/phpstan": "^1.11" + "phpstan/phpstan": "^1.11.7" }, "conflict": { "symfony/framework-bundle": "<3.0" @@ -16710,9 +16624,9 @@ "description": "Symfony Framework extensions and rules for PHPStan", "support": { "issues": "https://github.com/phpstan/phpstan-symfony/issues", - "source": "https://github.com/phpstan/phpstan-symfony/tree/1.4.4" + "source": "https://github.com/phpstan/phpstan-symfony/tree/1.4.6" }, - "time": "2024-06-07T09:43:24+00:00" + "time": "2024-07-16T11:48:54+00:00" }, { "name": "phpunit/php-code-coverage", @@ -17035,45 +16949,45 @@ }, { "name": "phpunit/phpunit", - "version": "9.6.19", + "version": "9.6.20", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "a1a54a473501ef4cdeaae4e06891674114d79db8" + "reference": "49d7820565836236411f5dc002d16dd689cde42f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a1a54a473501ef4cdeaae4e06891674114d79db8", - "reference": "a1a54a473501ef4cdeaae4e06891674114d79db8", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/49d7820565836236411f5dc002d16dd689cde42f", + "reference": "49d7820565836236411f5dc002d16dd689cde42f", "shasum": "" }, "require": { - "doctrine/instantiator": "^1.3.1 || ^2", + "doctrine/instantiator": "^1.5.0 || ^2", "ext-dom": "*", "ext-json": "*", "ext-libxml": "*", "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.10.1", - "phar-io/manifest": "^2.0.3", - "phar-io/version": "^3.0.2", + "myclabs/deep-copy": "^1.12.0", + "phar-io/manifest": "^2.0.4", + "phar-io/version": "^3.2.1", "php": ">=7.3", - "phpunit/php-code-coverage": "^9.2.28", - "phpunit/php-file-iterator": "^3.0.5", + "phpunit/php-code-coverage": "^9.2.31", + "phpunit/php-file-iterator": "^3.0.6", "phpunit/php-invoker": "^3.1.1", - "phpunit/php-text-template": "^2.0.3", - "phpunit/php-timer": "^5.0.2", - "sebastian/cli-parser": "^1.0.1", - "sebastian/code-unit": "^1.0.6", + "phpunit/php-text-template": "^2.0.4", + "phpunit/php-timer": "^5.0.3", + "sebastian/cli-parser": "^1.0.2", + "sebastian/code-unit": "^1.0.8", "sebastian/comparator": "^4.0.8", - "sebastian/diff": "^4.0.3", - "sebastian/environment": "^5.1.3", - "sebastian/exporter": "^4.0.5", - "sebastian/global-state": "^5.0.1", - "sebastian/object-enumerator": "^4.0.3", - "sebastian/resource-operations": "^3.0.3", - "sebastian/type": "^3.2", + "sebastian/diff": "^4.0.6", + "sebastian/environment": "^5.1.5", + "sebastian/exporter": "^4.0.6", + "sebastian/global-state": "^5.0.7", + "sebastian/object-enumerator": "^4.0.4", + "sebastian/resource-operations": "^3.0.4", + "sebastian/type": "^3.2.1", "sebastian/version": "^3.0.2" }, "suggest": { @@ -17118,7 +17032,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.19" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.20" }, "funding": [ { @@ -17134,20 +17048,20 @@ "type": "tidelift" } ], - "time": "2024-04-05T04:35:58+00:00" + "time": "2024-07-10T11:45:39+00:00" }, { "name": "rector/rector", - "version": "1.1.1", + "version": "1.2.2", "source": { "type": "git", "url": "https://github.com/rectorphp/rector.git", - "reference": "c930cdb21294f10955ddfc31b720971e8333943d" + "reference": "044e6364017882d1e346da8690eeabc154da5495" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/rectorphp/rector/zipball/c930cdb21294f10955ddfc31b720971e8333943d", - "reference": "c930cdb21294f10955ddfc31b720971e8333943d", + "url": "https://api.github.com/repos/rectorphp/rector/zipball/044e6364017882d1e346da8690eeabc154da5495", + "reference": "044e6364017882d1e346da8690eeabc154da5495", "shasum": "" }, "require": { @@ -17185,7 +17099,7 @@ ], "support": { "issues": "https://github.com/rectorphp/rector/issues", - "source": "https://github.com/rectorphp/rector/tree/1.1.1" + "source": "https://github.com/rectorphp/rector/tree/1.2.2" }, "funding": [ { @@ -17193,7 +17107,7 @@ "type": "github" } ], - "time": "2024-06-21T07:51:17+00:00" + "time": "2024-07-25T07:44:34+00:00" }, { "name": "roave/security-advisories", @@ -17201,12 +17115,12 @@ "source": { "type": "git", "url": "https://github.com/Roave/SecurityAdvisories.git", - "reference": "64eaaecdc0e915ce201f399e4707f83155389e96" + "reference": "0816697098823477b1a95d07d2b94bf3cfe1a2f8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/64eaaecdc0e915ce201f399e4707f83155389e96", - "reference": "64eaaecdc0e915ce201f399e4707f83155389e96", + "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/0816697098823477b1a95d07d2b94bf3cfe1a2f8", + "reference": "0816697098823477b1a95d07d2b94bf3cfe1a2f8", "shasum": "" }, "conflict": { @@ -17214,7 +17128,10 @@ "admidio/admidio": "<4.2.13", "adodb/adodb-php": "<=5.20.20|>=5.21,<=5.21.3", "aheinze/cockpit": "<2.2", - "aimeos/ai-client-html": ">=2020.04.1,<2020.10.27|>=2021.04.1,<2021.10.21|>=2022.04.1,<2022.10.12|>=2023.04.1,<2023.10.14|>=2024.04.1,<2024.04.4", + "aimeos/ai-admin-graphql": ">=2022.04.1,<2022.10.10|>=2023.04.1,<2023.10.6|>=2024.04.1,<2024.04.6", + "aimeos/ai-admin-jsonadm": "<2020.10.13|>=2021.04.1,<2021.10.6|>=2022.04.1,<2022.10.3|>=2023.04.1,<2023.10.4|==2024.04.1", + "aimeos/ai-client-html": ">=2020.04.1,<2020.10.27|>=2021.04.1,<2021.10.22|>=2022.04.1,<2022.10.13|>=2023.04.1,<2023.10.15|>=2024.04.1,<2024.04.7", + "aimeos/ai-controller-frontend": "<2020.10.15|>=2021.04.1,<2021.10.8|>=2022.04.1,<2022.10.8|>=2023.04.1,<2023.10.9", "aimeos/aimeos-core": ">=2022.04.1,<2022.10.17|>=2023.04.1,<2023.10.17|>=2024.04.1,<2024.04.7", "aimeos/aimeos-typo3": "<19.10.12|>=20,<20.10.5", "airesvsg/acf-to-rest-api": "<=3.1", @@ -17240,12 +17157,13 @@ "athlon1600/php-proxy": "<=5.1", "athlon1600/php-proxy-app": "<=3", "austintoddj/canvas": "<=3.4.2", - "automad/automad": "<=1.10.9", + "auth0/wordpress": "<=4.6", + "automad/automad": "<=2.0.0.0-alpha5", "automattic/jetpack": "<9.8", "awesome-support/awesome-support": "<=6.0.7", "aws/aws-sdk-php": "<3.288.1", "azuracast/azuracast": "<0.18.3", - "backdrop/backdrop": "<1.24.2", + "backdrop/backdrop": "<1.27.3|>=1.28,<1.28.2", "backpack/crud": "<3.4.9", "bacula-web/bacula-web": "<8.0.0.0-RC2-dev", "badaso/core": "<2.7", @@ -17310,7 +17228,7 @@ "contao/managed-edition": "<=1.5", "corveda/phpsandbox": "<1.3.5", "cosenary/instagram": "<=2.3", - "craftcms/cms": "<4.6.2", + "craftcms/cms": "<4.6.2|>=5.0.0.0-beta1,<=5.2.2", "croogo/croogo": "<4", "cuyz/valinor": "<0.12", "czproject/git-php": "<4.0.3", @@ -17345,7 +17263,7 @@ "ec-cube/ec-cube": "<2.4.4|>=2.11,<=2.17.1|>=3,<=3.0.18.0-patch4|>=4,<=4.1.2", "ecodev/newsletter": "<=4", "ectouch/ectouch": "<=2.7.2", - "egroupware/egroupware": "<16.1.20170922", + "egroupware/egroupware": "<23.1.20240624", "elefant/cms": "<2.0.7", "elgg/elgg": "<3.3.24|>=4,<4.0.5", "elijaa/phpmemcacheadmin": "<=1.3", @@ -17408,7 +17326,7 @@ "friendsofsymfony/rest-bundle": ">=1.2,<1.2.2", "friendsofsymfony/user-bundle": ">=1,<1.3.5", "friendsofsymfony1/swiftmailer": ">=4,<5.4.13|>=6,<6.2.5", - "friendsofsymfony1/symfony1": ">=1.1,<1.15.19", + "friendsofsymfony1/symfony1": ">=1.1,<1.5.19", "friendsoftypo3/mediace": ">=7.6.2,<7.6.5", "friendsoftypo3/openid": ">=4.5,<4.5.31|>=4.7,<4.7.16|>=6,<6.0.11|>=6.1,<6.1.6", "froala/wysiwyg-editor": "<3.2.7|>=4.0.1,<=4.1.3", @@ -17531,7 +17449,7 @@ "magento/core": "<=1.9.4.5", "magento/magento1ce": "<1.9.4.3-dev", "magento/magento1ee": ">=1,<1.14.4.3-dev", - "magento/product-community-edition": ">=2,<2.2.10|>=2.3,<2.3.2.0-patch2", + "magento/product-community-edition": "<2.4.4.0-patch9|>=2.4.5,<2.4.5.0-patch8|>=2.4.6,<2.4.6.0-patch6|>=2.4.7,<2.4.7.0-patch1", "magneto/core": "<1.9.4.4-dev", "maikuolan/phpmussel": ">=1,<1.6", "mainwp/mainwp": "<=4.4.3.3", @@ -17597,12 +17515,12 @@ "october/cms": "<1.0.469|==1.0.469|==1.0.471|==1.1.1", "october/october": "<=3.4.4", "october/rain": "<1.0.472|>=1.1,<1.1.2", - "october/system": "<1.0.476|>=1.1,<1.1.12|>=2,<2.2.34|>=3,<3.5.2", + "october/system": "<1.0.476|>=1.1,<1.1.12|>=2,<2.2.34|>=3,<3.5.15", "omeka/omeka-s": "<4.0.3", "onelogin/php-saml": "<2.10.4", "oneup/uploader-bundle": ">=1,<1.9.3|>=2,<2.1.5", "open-web-analytics/open-web-analytics": "<1.7.4", - "opencart/opencart": "<=3.0.3.7|>=4,<4.0.2.3-dev", + "opencart/opencart": ">=0", "openid/php-openid": "<2.3", "openmage/magento-lts": "<20.5", "opensolutions/vimbadmin": "<=3.0.15", @@ -17614,6 +17532,7 @@ "oro/crm-call-bundle": ">=4.2,<=4.2.5|>=5,<5.0.4|>=5.1,<5.1.1", "oro/customer-portal": ">=4.1,<=4.1.13|>=4.2,<=4.2.10|>=5,<=5.0.11|>=5.1,<=5.1.3", "oro/platform": ">=1.7,<1.7.4|>=3.1,<3.1.29|>=4.1,<4.1.17|>=4.2,<=4.2.10|>=5,<=5.0.12|>=5.1,<=5.1.3", + "oveleon/contao-cookiebar": "<1.16.3|>=2,<2.1.3", "oxid-esales/oxideshop-ce": "<4.5", "oxid-esales/paymorrow-module": ">=1,<1.0.2|>=2,<2.0.1", "packbackbooks/lti-1-3-php-library": "<5", @@ -17678,8 +17597,8 @@ "prestashop/ps_emailsubscription": "<2.6.1", "prestashop/ps_facetedsearch": "<3.4.1", "prestashop/ps_linklist": "<3.1", - "privatebin/privatebin": "<1.4", - "processwire/processwire": "<=3.0.210", + "privatebin/privatebin": "<1.4|>=1.5,<1.7.4", + "processwire/processwire": "<=3.0.229", "propel/propel": ">=2.0.0.0-alpha1,<=2.0.0.0-alpha7", "propel/propel1": ">=1,<=1.7.1", "pterodactyl/panel": "<1.11.6", @@ -17718,9 +17637,9 @@ "shopware/core": "<6.5.8.8-dev|>=6.6.0.0-RC1-dev,<6.6.1", "shopware/platform": "<6.5.8.8-dev|>=6.6.0.0-RC1-dev,<6.6.1", "shopware/production": "<=6.3.5.2", - "shopware/shopware": "<6.2.3", + "shopware/shopware": "<=5.7.17", "shopware/storefront": "<=6.4.8.1|>=6.5.8,<6.5.8.7-dev", - "shopxo/shopxo": "<2.2.6", + "shopxo/shopxo": "<=6.1", "showdoc/showdoc": "<2.10.4", "silverstripe-australia/advancedreports": ">=1,<=2", "silverstripe/admin": "<1.13.19|>=2,<2.1.8", @@ -17728,11 +17647,12 @@ "silverstripe/cms": "<4.11.3", "silverstripe/comments": ">=1.3,<3.1.1", "silverstripe/forum": "<=0.6.1|>=0.7,<=0.7.3", - "silverstripe/framework": "<4.13.39|>=5,<5.1.11", + "silverstripe/framework": "<5.2.16", "silverstripe/graphql": ">=2,<2.0.5|>=3,<3.8.2|>=4,<4.3.7|>=5,<5.1.3", "silverstripe/hybridsessions": ">=1,<2.4.1|>=2.5,<2.5.1", "silverstripe/recipe-cms": ">=4.5,<4.5.3", "silverstripe/registry": ">=2.1,<2.1.2|>=2.2,<2.2.1", + "silverstripe/reports": "<5.2.3", "silverstripe/restfulserver": ">=1,<1.0.9|>=2,<2.0.4|>=2.1,<2.1.2", "silverstripe/silverstripe-omnipay": "<2.5.2|>=3,<3.0.2|>=3.1,<3.1.4|>=3.2,<3.2.1", "silverstripe/subsites": ">=2,<2.6.1", @@ -17762,7 +17682,7 @@ "spoon/library": "<1.4.1", "spoonity/tcpdf": "<6.2.22", "squizlabs/php_codesniffer": ">=1,<2.8.1|>=3,<3.0.1", - "ssddanbrown/bookstack": "<22.02.3", + "ssddanbrown/bookstack": "<24.05.1", "statamic/cms": "<4.46|>=5.3,<5.6.2", "stormpath/sdk": "<9.9.99", "studio-42/elfinder": "<2.1.62", @@ -17781,7 +17701,7 @@ "sylius/grid-bundle": "<1.10.1", "sylius/paypal-plugin": ">=1,<1.2.4|>=1.3,<1.3.1", "sylius/resource-bundle": ">=1,<1.3.14|>=1.4,<1.4.7|>=1.5,<1.5.2|>=1.6,<1.6.4", - "sylius/sylius": "<1.9.10|>=1.10,<1.10.11|>=1.11,<1.11.2|>=1.12.0.0-alpha1,<1.12.16|>=1.13.0.0-alpha1,<1.13.1", + "sylius/sylius": "<1.12.19|>=1.13.0.0-alpha1,<1.13.4", "symbiote/silverstripe-multivaluefield": ">=3,<3.1", "symbiote/silverstripe-queuedjobs": ">=3,<3.0.2|>=3.1,<3.1.4|>=4,<4.0.7|>=4.1,<4.1.2|>=4.2,<4.2.4|>=4.3,<4.3.3|>=4.4,<4.4.3|>=4.5,<4.5.1|>=4.6,<4.6.4", "symbiote/silverstripe-seed": "<6.0.3", @@ -17840,7 +17760,7 @@ "topthink/framework": "<6.0.17|>=6.1,<6.1.5|>=8,<8.0.4", "topthink/think": "<=6.1.1", "topthink/thinkphp": "<=3.2.3", - "torrentpier/torrentpier": "<=2.4.1", + "torrentpier/torrentpier": "<=2.4.3", "tpwd/ke_search": "<4.0.3|>=4.1,<4.6.6|>=5,<5.0.2", "tribalsystems/zenario": "<9.5.60602", "truckersmp/phpwhois": "<=4.3.1", @@ -17882,7 +17802,8 @@ "wallabag/tcpdf": "<6.2.22", "wallabag/wallabag": "<2.6.7", "wanglelecc/laracms": "<=1.0.3", - "web-auth/webauthn-framework": ">=3.3,<3.3.4", + "web-auth/webauthn-framework": ">=3.3,<3.3.4|>=4.5,<4.9", + "web-auth/webauthn-lib": ">=4.5,<4.9", "web-feet/coastercms": "==5.5", "webbuilders-group/silverstripe-kapost-bridge": "<0.4", "webcoast/deferred-image-processing": "<1.0.2", @@ -17912,7 +17833,7 @@ "yidashi/yii2cmf": "<=2", "yii2mod/yii2-cms": "<1.9.2", "yiisoft/yii": "<1.1.29", - "yiisoft/yii2": "<2.0.50", + "yiisoft/yii2": "<2.0.49.4-dev", "yiisoft/yii2-authclient": "<2.2.15", "yiisoft/yii2-bootstrap": "<2.0.4", "yiisoft/yii2-dev": "<2.0.43", @@ -17998,7 +17919,7 @@ "type": "tidelift" } ], - "time": "2024-06-21T16:04:36+00:00" + "time": "2024-07-26T15:04:59+00:00" }, { "name": "sebastian/cli-parser", @@ -19266,16 +19187,16 @@ }, { "name": "symfony/phpunit-bridge", - "version": "v6.4.8", + "version": "v6.4.10", "source": { "type": "git", "url": "https://github.com/symfony/phpunit-bridge.git", - "reference": "937f47cc64922f283bb0c474f33415bba0a9fc0d" + "reference": "ad510515b11ba5291fdd59b25d70227bfac2d7ab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/937f47cc64922f283bb0c474f33415bba0a9fc0d", - "reference": "937f47cc64922f283bb0c474f33415bba0a9fc0d", + "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/ad510515b11ba5291fdd59b25d70227bfac2d7ab", + "reference": "ad510515b11ba5291fdd59b25d70227bfac2d7ab", "shasum": "" }, "require": { @@ -19328,7 +19249,7 @@ "description": "Provides utilities for PHPUnit, especially user deprecation notices management", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/phpunit-bridge/tree/v6.4.8" + "source": "https://github.com/symfony/phpunit-bridge/tree/v6.4.10" }, "funding": [ { @@ -19344,20 +19265,20 @@ "type": "tidelift" } ], - "time": "2024-06-02T15:48:50+00:00" + "time": "2024-07-26T12:30:32+00:00" }, { "name": "symfony/web-profiler-bundle", - "version": "v6.4.8", + "version": "v6.4.10", "source": { "type": "git", "url": "https://github.com/symfony/web-profiler-bundle.git", - "reference": "bcc806d1360991de3bf78ac5ca0202db85de9bfc" + "reference": "370c9f1e3567cd4670d44311838e37d16182c3a7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/bcc806d1360991de3bf78ac5ca0202db85de9bfc", - "reference": "bcc806d1360991de3bf78ac5ca0202db85de9bfc", + "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/370c9f1e3567cd4670d44311838e37d16182c3a7", + "reference": "370c9f1e3567cd4670d44311838e37d16182c3a7", "shasum": "" }, "require": { @@ -19410,7 +19331,7 @@ "dev" ], "support": { - "source": "https://github.com/symfony/web-profiler-bundle/tree/v6.4.8" + "source": "https://github.com/symfony/web-profiler-bundle/tree/v6.4.10" }, "funding": [ { @@ -19426,20 +19347,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-07-19T07:26:48+00:00" }, { "name": "symplify/easy-coding-standard", - "version": "12.3.0", + "version": "12.3.3", "source": { "type": "git", "url": "https://github.com/easy-coding-standard/easy-coding-standard.git", - "reference": "f919574aa566b4d00fd06700ca61168aafef66e1" + "reference": "aa3194c311ca170154ebce43b57117553eb6e7ed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/easy-coding-standard/easy-coding-standard/zipball/f919574aa566b4d00fd06700ca61168aafef66e1", - "reference": "f919574aa566b4d00fd06700ca61168aafef66e1", + "url": "https://api.github.com/repos/easy-coding-standard/easy-coding-standard/zipball/aa3194c311ca170154ebce43b57117553eb6e7ed", + "reference": "aa3194c311ca170154ebce43b57117553eb6e7ed", "shasum": "" }, "require": { @@ -19475,7 +19396,7 @@ ], "support": { "issues": "https://github.com/easy-coding-standard/easy-coding-standard/issues", - "source": "https://github.com/easy-coding-standard/easy-coding-standard/tree/12.3.0" + "source": "https://github.com/easy-coding-standard/easy-coding-standard/tree/12.3.3" }, "funding": [ { @@ -19487,7 +19408,7 @@ "type": "github" } ], - "time": "2024-06-18T07:35:59+00:00" + "time": "2024-07-24T22:04:42+00:00" }, { "name": "theseer/tokenizer", diff --git a/yarn.lock b/yarn.lock index 6f21035b..7ca83068 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,58 +2,58 @@ # yarn lockfile v1 -"@algolia/autocomplete-core@1.17.2": - version "1.17.2" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.17.2.tgz#dbdd0a57597b05f38d20d4de381ba446cc609001" - integrity sha512-Fi5cPV5pzEmJgTJ/KTcccJoR/v94OkBwJFyLTsmAx9jbBg5rlgoumRXQM41cgwzY1s/eBLNduUMak2KnZYofcA== +"@algolia/autocomplete-core@1.17.4": + version "1.17.4" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.17.4.tgz#43b6160b67cff853e05769c5f15b91ced5eff7c4" + integrity sha512-H1CAzj43RDeC4Vq9FW2JLtRDNxhjRG/aPX69nbNrKbYzX9P0YohxrEj3kJ9G+e20y0L0pYboAOeU6wgbKJ6gOA== dependencies: - "@algolia/autocomplete-plugin-algolia-insights" "1.17.2" - "@algolia/autocomplete-shared" "1.17.2" + "@algolia/autocomplete-plugin-algolia-insights" "1.17.4" + "@algolia/autocomplete-shared" "1.17.4" -"@algolia/autocomplete-js@1.17.2", "@algolia/autocomplete-js@^1.17.0": - version "1.17.2" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-js/-/autocomplete-js-1.17.2.tgz#d3affab63094bf28a1bea9050cfdeb382b694a52" - integrity sha512-2UP5ZMEAtIJvnJ3qLiz3AzFjJD66n4UWsAf6mFGFXSYA/UU0LuaC8Bzrfj4CnK1d/AZyPLe+rgZXr6mQtBI8jg== +"@algolia/autocomplete-js@1.17.4", "@algolia/autocomplete-js@^1.17.0": + version "1.17.4" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-js/-/autocomplete-js-1.17.4.tgz#5bb3990b38123a64568430f3a85e1e92806dc5c3" + integrity sha512-ANhINMwusKmsW/xHhgiKvUSLis/Lll9OilueBR9h/lxBlgEJ/hHIOTnZupzksyna1OtGZaW5keAu04E19+CW1w== dependencies: - "@algolia/autocomplete-core" "1.17.2" - "@algolia/autocomplete-preset-algolia" "1.17.2" - "@algolia/autocomplete-shared" "1.17.2" + "@algolia/autocomplete-core" "1.17.4" + "@algolia/autocomplete-preset-algolia" "1.17.4" + "@algolia/autocomplete-shared" "1.17.4" htm "^3.1.1" preact "^10.13.2" -"@algolia/autocomplete-plugin-algolia-insights@1.17.2": - version "1.17.2" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.17.2.tgz#af431f36d559ffdeb4bbcb6132d21ba63501bdc1" - integrity sha512-bgVuThYaY9NSQMHOE/GMvlEzQxFzqDH3Lbls7fWuei8iIfcBWGtRUH01m/w5LY1mAw1wv8SyZ9xwuvfdXt8XkA== +"@algolia/autocomplete-plugin-algolia-insights@1.17.4": + version "1.17.4" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.17.4.tgz#b88e2e54a226da0de47984022f43f8e329607819" + integrity sha512-fPABTwZtfD83qAzwnMYjJQ6ohCK7XE2l2++H+dOtV76cCIsAYYAC1bO5DnCbIi6Ma+OkNOgB1jCPI5EYOEsSpg== dependencies: - "@algolia/autocomplete-shared" "1.17.2" + "@algolia/autocomplete-shared" "1.17.4" "@algolia/autocomplete-plugin-recent-searches@^1.17.0": - version "1.17.2" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-recent-searches/-/autocomplete-plugin-recent-searches-1.17.2.tgz#52dc47b81cfef4383dfb496e0622566f38f15bbe" - integrity sha512-fhdyucuwEb/3iRtB1/unECFpYNN07e69aHHxp7qJxRedX2oT4Ro9nanLO3ZgQnVzYKEPl6jF/GAnXjDikssPrA== + version "1.17.4" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-recent-searches/-/autocomplete-plugin-recent-searches-1.17.4.tgz#01885691ba95ebb9b356bfed556e4e674b8b3015" + integrity sha512-iuyHONYPmQtzAk+3WjoAXuDalAJxc32Tr4+aLfILAgO5n3spnNSqZXofkTJp9HzH7BnKLnvl6zAvArTWBlVDgQ== dependencies: - "@algolia/autocomplete-core" "1.17.2" - "@algolia/autocomplete-js" "1.17.2" - "@algolia/autocomplete-preset-algolia" "1.17.2" - "@algolia/autocomplete-shared" "1.17.2" + "@algolia/autocomplete-core" "1.17.4" + "@algolia/autocomplete-js" "1.17.4" + "@algolia/autocomplete-preset-algolia" "1.17.4" + "@algolia/autocomplete-shared" "1.17.4" -"@algolia/autocomplete-preset-algolia@1.17.2": - version "1.17.2" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.2.tgz#65387d60c2d8fc8485caea6591bf5e5c5210cc46" - integrity sha512-pXOD059R1giNJkcFpPEWI20XdQevHlmuTxPisKk/XkqjOCFnMmyNq2O7AWJylkcOeb62o2Ord166tJ90vNTSvw== +"@algolia/autocomplete-preset-algolia@1.17.4": + version "1.17.4" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.4.tgz#ca4dd2308615858d932ff2b2546e77c7873d4983" + integrity sha512-ijYn6hAGr3luVBVYDubaX600KXolVJH6yZlpeWZ9CNCEewgKIQ9ok3eNGha9EEJ0s9REYbp1TmDQ3T1I1aqcBA== dependencies: - "@algolia/autocomplete-shared" "1.17.2" + "@algolia/autocomplete-shared" "1.17.4" -"@algolia/autocomplete-shared@1.17.2": - version "1.17.2" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.2.tgz#62d91594eb6077a47a0709fd9410150d1eb3394f" - integrity sha512-L9gmDgv2J6cXXefV4tg/xlfomd+jjbzKmoc6kcvtS2USkxowoLNvqkLRNQP8bHvX+RXXGNLJBwJj+Ul7JIpv8A== +"@algolia/autocomplete-shared@1.17.4": + version "1.17.4" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.4.tgz#446e8b8f1a72d4b9b7cc68f55729d14a8260f6f7" + integrity sha512-AM7KntpKinDZGVYfZ4j8zt5ymgYBRXOZg0CFEeHLmViqu5BvQzzoc1aoNHQx6lBjViGckBYP9szA+t2QzRXy3A== "@algolia/autocomplete-theme-classic@^1.17.0": - version "1.17.2" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-theme-classic/-/autocomplete-theme-classic-1.17.2.tgz#d0544488ce5a9fc83f76763c8ac77d3d69ca3c21" - integrity sha512-aPH4uJAl4HDnodAWg3+zWoBp+m2+5FFHvWm5qLFfr6CxgytdVfEam5bBTGsv1oCWB5YYrPvtYrh9XfTTxKqP0g== + version "1.17.4" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-theme-classic/-/autocomplete-theme-classic-1.17.4.tgz#141a3761c1a546085f1917a73c301868a993ed8b" + integrity sha512-HK72OAhj0R5yYwjEO97gae+WbI7zsGeItl0Awo4H7b9VsYW5RyS4Z9EpO+WiWbYITu1EVz3mu2A6Vh/gNEszOg== "@ampproject/remapping@^2.2.0": version "2.3.0" @@ -71,38 +71,38 @@ "@babel/highlight" "^7.24.7" picocolors "^1.0.0" -"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.7.tgz#d23bbea508c3883ba8251fb4164982c36ea577ed" - integrity sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw== +"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.24.8", "@babel/compat-data@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.25.0.tgz#6b226a5da3a686db3c30519750e071dce292ad95" + integrity sha512-P4fwKI2mjEb3ZU5cnMJzvRsRKGBUcs8jvxIoRmr6ufAY9Xk2Bz7JubRTTivkw55c7WQJfTECeqYVa+HZ0FzREg== "@babel/core@^7.19.6": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.7.tgz#b676450141e0b52a3d43bc91da86aa608f950ac4" - integrity sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g== + version "7.24.9" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.9.tgz#dc07c9d307162c97fa9484ea997ade65841c7c82" + integrity sha512-5e3FI4Q3M3Pbr21+5xJwCv6ZT6KmGkI0vw3Tozy5ODAQFTIWe37iT8Cr7Ice2Ntb+M3iSKCEWMB1MBgKrW3whg== dependencies: "@ampproject/remapping" "^2.2.0" "@babel/code-frame" "^7.24.7" - "@babel/generator" "^7.24.7" - "@babel/helper-compilation-targets" "^7.24.7" - "@babel/helper-module-transforms" "^7.24.7" - "@babel/helpers" "^7.24.7" - "@babel/parser" "^7.24.7" + "@babel/generator" "^7.24.9" + "@babel/helper-compilation-targets" "^7.24.8" + "@babel/helper-module-transforms" "^7.24.9" + "@babel/helpers" "^7.24.8" + "@babel/parser" "^7.24.8" "@babel/template" "^7.24.7" - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" + "@babel/traverse" "^7.24.8" + "@babel/types" "^7.24.9" convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.7.tgz#1654d01de20ad66b4b4d99c135471bc654c55e6d" - integrity sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA== +"@babel/generator@^7.24.9", "@babel/generator@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.25.0.tgz#f858ddfa984350bc3d3b7f125073c9af6988f18e" + integrity sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw== dependencies: - "@babel/types" "^7.24.7" + "@babel/types" "^7.25.0" "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" jsesc "^2.5.1" @@ -122,36 +122,34 @@ "@babel/traverse" "^7.24.7" "@babel/types" "^7.24.7" -"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz#4eb6c4a80d6ffeac25ab8cd9a21b5dfa48d503a9" - integrity sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg== +"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.24.7", "@babel/helper-compilation-targets@^7.24.8": + version "7.24.8" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.8.tgz#b607c3161cd9d1744977d4f97139572fe778c271" + integrity sha512-oU+UoqCHdp+nWVDkpldqIQL/i/bvAv53tRqLG/s+cOXxe66zOYLU7ar/Xs3LdmBihrUMEUhwu6dMZwbNOYDwvw== dependencies: - "@babel/compat-data" "^7.24.7" - "@babel/helper-validator-option" "^7.24.7" - browserslist "^4.22.2" + "@babel/compat-data" "^7.24.8" + "@babel/helper-validator-option" "^7.24.8" + browserslist "^4.23.1" lru-cache "^5.1.1" semver "^6.3.1" "@babel/helper-create-class-features-plugin@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.7.tgz#2eaed36b3a1c11c53bdf80d53838b293c52f5b3b" - integrity sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg== + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.0.tgz#a109bf9c3d58dfed83aaf42e85633c89f43a6253" + integrity sha512-GYM6BxeQsETc9mnct+nIIpf63SAyzvyYN7UB/IlTyd+MBg06afFGp0mIeUqGyWgS2mxad6vqbMrHVlaL3m70sQ== dependencies: "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-environment-visitor" "^7.24.7" - "@babel/helper-function-name" "^7.24.7" - "@babel/helper-member-expression-to-functions" "^7.24.7" + "@babel/helper-member-expression-to-functions" "^7.24.8" "@babel/helper-optimise-call-expression" "^7.24.7" - "@babel/helper-replace-supers" "^7.24.7" + "@babel/helper-replace-supers" "^7.25.0" "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" - "@babel/helper-split-export-declaration" "^7.24.7" + "@babel/traverse" "^7.25.0" semver "^6.3.1" -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.24.7.tgz#be4f435a80dc2b053c76eeb4b7d16dd22cfc89da" - integrity sha512-03TCmXy2FtXJEZfbXDTSqq1fRJArk7lX9DOFC/47VthYcxyIOx+eXQmdo6DOQvrbpIix+KfXwvuXdFDZHxt+rA== +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.24.7", "@babel/helper-create-regexp-features-plugin@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.0.tgz#17afe5d23b3a833a90f0fab9c2ae69fea192de5c" + integrity sha512-q0T+dknZS+L5LDazIP+02gEZITG5unzvb6yIjcmj5i0eFrs5ToBV2m2JGH4EsE/gtP8ygEGLGApBgRIZkTm7zg== dependencies: "@babel/helper-annotate-as-pure" "^7.24.7" regexpu-core "^5.3.1" @@ -168,35 +166,13 @@ lodash.debounce "^4.0.8" resolve "^1.14.2" -"@babel/helper-environment-visitor@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz#4b31ba9551d1f90781ba83491dd59cf9b269f7d9" - integrity sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ== +"@babel/helper-member-expression-to-functions@^7.24.8": + version "7.24.8" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz#6155e079c913357d24a4c20480db7c712a5c3fb6" + integrity sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA== dependencies: - "@babel/types" "^7.24.7" - -"@babel/helper-function-name@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz#75f1e1725742f39ac6584ee0b16d94513da38dd2" - integrity sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA== - dependencies: - "@babel/template" "^7.24.7" - "@babel/types" "^7.24.7" - -"@babel/helper-hoist-variables@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz#b4ede1cde2fd89436397f30dc9376ee06b0f25ee" - integrity sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ== - dependencies: - "@babel/types" "^7.24.7" - -"@babel/helper-member-expression-to-functions@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.7.tgz#67613d068615a70e4ed5101099affc7a41c5225f" - integrity sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w== - dependencies: - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" + "@babel/traverse" "^7.24.8" + "@babel/types" "^7.24.8" "@babel/helper-module-imports@^7.24.7": version "7.24.7" @@ -206,16 +182,15 @@ "@babel/traverse" "^7.24.7" "@babel/types" "^7.24.7" -"@babel/helper-module-transforms@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz#31b6c9a2930679498db65b685b1698bfd6c7daf8" - integrity sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ== +"@babel/helper-module-transforms@^7.24.7", "@babel/helper-module-transforms@^7.24.8", "@babel/helper-module-transforms@^7.24.9", "@babel/helper-module-transforms@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.25.0.tgz#3ffc23c473a2769a7e40d3274495bd559fdd2ecc" + integrity sha512-bIkOa2ZJYn7FHnepzr5iX9Kmz8FjIz4UKzJ9zhX3dnYuVW0xul9RuR3skBfoLu+FPTQw90EHW9rJsSZhyLQ3fQ== dependencies: - "@babel/helper-environment-visitor" "^7.24.7" "@babel/helper-module-imports" "^7.24.7" "@babel/helper-simple-access" "^7.24.7" - "@babel/helper-split-export-declaration" "^7.24.7" "@babel/helper-validator-identifier" "^7.24.7" + "@babel/traverse" "^7.25.0" "@babel/helper-optimise-call-expression@^7.24.7": version "7.24.7" @@ -224,28 +199,28 @@ dependencies: "@babel/types" "^7.24.7" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.7", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz#98c84fe6fe3d0d3ae7bfc3a5e166a46844feb2a0" - integrity sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg== +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.7", "@babel/helper-plugin-utils@^7.24.8", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.24.8" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz#94ee67e8ec0e5d44ea7baeb51e571bd26af07878" + integrity sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg== -"@babel/helper-remap-async-to-generator@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.24.7.tgz#b3f0f203628522713849d49403f1a414468be4c7" - integrity sha512-9pKLcTlZ92hNZMQfGCHImUpDOlAgkkpqalWEeftW5FBya75k8Li2ilerxkM/uBEj01iBZXcCIB/bwvDYgWyibA== +"@babel/helper-remap-async-to-generator@^7.24.7", "@babel/helper-remap-async-to-generator@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz#d2f0fbba059a42d68e5e378feaf181ef6055365e" + integrity sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw== dependencies: "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-environment-visitor" "^7.24.7" - "@babel/helper-wrap-function" "^7.24.7" + "@babel/helper-wrap-function" "^7.25.0" + "@babel/traverse" "^7.25.0" -"@babel/helper-replace-supers@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.24.7.tgz#f933b7eed81a1c0265740edc91491ce51250f765" - integrity sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg== +"@babel/helper-replace-supers@^7.24.7", "@babel/helper-replace-supers@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz#ff44deac1c9f619523fe2ca1fd650773792000a9" + integrity sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg== dependencies: - "@babel/helper-environment-visitor" "^7.24.7" - "@babel/helper-member-expression-to-functions" "^7.24.7" + "@babel/helper-member-expression-to-functions" "^7.24.8" "@babel/helper-optimise-call-expression" "^7.24.7" + "@babel/traverse" "^7.25.0" "@babel/helper-simple-access@^7.24.7": version "7.24.7" @@ -263,45 +238,37 @@ "@babel/traverse" "^7.24.7" "@babel/types" "^7.24.7" -"@babel/helper-split-export-declaration@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz#83949436890e07fa3d6873c61a96e3bbf692d856" - integrity sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA== - dependencies: - "@babel/types" "^7.24.7" - -"@babel/helper-string-parser@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz#4d2d0f14820ede3b9807ea5fc36dfc8cd7da07f2" - integrity sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg== +"@babel/helper-string-parser@^7.24.8": + version "7.24.8" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz#5b3329c9a58803d5df425e5785865881a81ca48d" + integrity sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ== "@babel/helper-validator-identifier@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz#75b889cfaf9e35c2aaf42cf0d72c8e91719251db" integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w== -"@babel/helper-validator-option@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz#24c3bb77c7a425d1742eec8fb433b5a1b38e62f6" - integrity sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw== +"@babel/helper-validator-option@^7.24.8": + version "7.24.8" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz#3725cdeea8b480e86d34df15304806a06975e33d" + integrity sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q== -"@babel/helper-wrap-function@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.24.7.tgz#52d893af7e42edca7c6d2c6764549826336aae1f" - integrity sha512-N9JIYk3TD+1vq/wn77YnJOqMtfWhNewNE+DJV4puD2X7Ew9J4JvrzrFDfTfyv5EgEXVy9/Wt8QiOErzEmv5Ifw== +"@babel/helper-wrap-function@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.25.0.tgz#dab12f0f593d6ca48c0062c28bcfb14ebe812f81" + integrity sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ== dependencies: - "@babel/helper-function-name" "^7.24.7" - "@babel/template" "^7.24.7" - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" + "@babel/template" "^7.25.0" + "@babel/traverse" "^7.25.0" + "@babel/types" "^7.25.0" -"@babel/helpers@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.7.tgz#aa2ccda29f62185acb5d42fb4a3a1b1082107416" - integrity sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg== +"@babel/helpers@^7.24.8": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.25.0.tgz#e69beb7841cb93a6505531ede34f34e6a073650a" + integrity sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw== dependencies: - "@babel/template" "^7.24.7" - "@babel/types" "^7.24.7" + "@babel/template" "^7.25.0" + "@babel/types" "^7.25.0" "@babel/highlight@^7.24.7": version "7.24.7" @@ -313,25 +280,32 @@ js-tokens "^4.0.0" picocolors "^1.0.0" -"@babel/parser@^7.18.9", "@babel/parser@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.7.tgz#9a5226f92f0c5c8ead550b750f5608e766c8ce85" - integrity sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw== +"@babel/parser@^7.18.9", "@babel/parser@^7.24.8", "@babel/parser@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.25.0.tgz#9fdc9237504d797b6e7b8f66e78ea7f570d256ad" + integrity sha512-CzdIU9jdP0dg7HdyB+bHvDJGagUv+qtzZt5rYCWwW6tITNqV9odjp6Qu41gkG0ca5UfdDUWrKkiAnHHdGRnOrA== -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.7.tgz#fd059fd27b184ea2b4c7e646868a9a381bbc3055" - integrity sha512-TiT1ss81W80eQsN+722OaeQMY/G4yTb4G9JrqeiDADs3N8lbPMGldWi9x8tyqCW5NLx1Jh2AvkE6r6QvEltMMQ== +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.0.tgz#328275f22d809b962978d998c6eba22a233ac8aa" + integrity sha512-dG0aApncVQwAUJa8tP1VHTnmU67BeIQvKafd3raEx315H54FfkZSz3B/TT+33ZQAjatGJA79gZqTtqL5QZUKXw== dependencies: - "@babel/helper-environment-visitor" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.8" + "@babel/traverse" "^7.25.0" -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.7.tgz#468096ca44bbcbe8fcc570574e12eb1950e18107" - integrity sha512-unaQgZ/iRu/By6tsjMZzpeBZjChYfLYry6HrEXPoz3KmfF0sVBQ1l8zKMQ4xRGLWVsjuvB8nQfjNP/DcfEOCsg== +"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz#cd0c583e01369ef51676bdb3d7b603e17d2b3f73" + integrity sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.8" + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.0.tgz#749bde80356b295390954643de7635e0dffabe73" + integrity sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.8" "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.24.7": version "7.24.7" @@ -342,13 +316,13 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" "@babel/plugin-transform-optional-chaining" "^7.24.7" -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.7.tgz#71b21bb0286d5810e63a1538aa901c58e87375ec" - integrity sha512-utA4HuR6F4Vvcr+o4DnjL8fCOlgRFGbeeBEGNg3ZTrLFw6VWG5XmUrvcQ0FjIYMU2ST4XcR2Wsp7t9qOAPnxMg== +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.0.tgz#3a82a70e7cb7294ad2559465ebcb871dfbf078fb" + integrity sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw== dependencies: - "@babel/helper-environment-visitor" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.8" + "@babel/traverse" "^7.25.0" "@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": version "7.21.0-placeholder-for-preset-env.2" @@ -489,15 +463,15 @@ dependencies: "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-async-generator-functions@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.7.tgz#7330a5c50e05181ca52351b8fd01642000c96cfd" - integrity sha512-o+iF77e3u7ZS4AoAuJvapz9Fm001PuD2V3Lp6OSE4FYQke+cSewYtnek+THqGRWyQloRCyvWL1OkyfNEl9vr/g== +"@babel/plugin-transform-async-generator-functions@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.0.tgz#b785cf35d73437f6276b1e30439a57a50747bddf" + integrity sha512-uaIi2FdqzjpAMvVqvB51S42oC2JEVgh0LDsGfZVDysWE8LrJtQC2jvKmOqEYThKyB7bDEb7BP1GYWDm7tABA0Q== dependencies: - "@babel/helper-environment-visitor" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-remap-async-to-generator" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-remap-async-to-generator" "^7.25.0" "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/traverse" "^7.25.0" "@babel/plugin-transform-async-to-generator@^7.24.7": version "7.24.7" @@ -515,12 +489,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-block-scoping@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.7.tgz#42063e4deb850c7bd7c55e626bf4e7ab48e6ce02" - integrity sha512-Nd5CvgMbWc+oWzBsuaMcbwjJWAcp5qzrbg69SZdHSP7AMY0AbWFqFO0WTFCA1jxhMCwodRwvRec8k0QUbZk7RQ== +"@babel/plugin-transform-block-scoping@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.0.tgz#23a6ed92e6b006d26b1869b1c91d1b917c2ea2ac" + integrity sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.8" "@babel/plugin-transform-class-properties@^7.24.7": version "7.24.7" @@ -539,18 +513,16 @@ "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-syntax-class-static-block" "^7.14.5" -"@babel/plugin-transform-classes@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.7.tgz#4ae6ef43a12492134138c1e45913f7c46c41b4bf" - integrity sha512-CFbbBigp8ln4FU6Bpy6g7sE8B/WmCmzvivzUC6xDAdWVsjYTXijpuuGJmYkAaoWAzcItGKT3IOAbxRItZ5HTjw== +"@babel/plugin-transform-classes@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.0.tgz#63122366527d88e0ef61b612554fe3f8c793991e" + integrity sha512-xyi6qjr/fYU304fiRwFbekzkqVJZ6A7hOjWZd+89FVcBqPV3S9Wuozz82xdpLspckeaafntbzglaW4pqpzvtSw== dependencies: "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-compilation-targets" "^7.24.7" - "@babel/helper-environment-visitor" "^7.24.7" - "@babel/helper-function-name" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-replace-supers" "^7.24.7" - "@babel/helper-split-export-declaration" "^7.24.7" + "@babel/helper-compilation-targets" "^7.24.8" + "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-replace-supers" "^7.25.0" + "@babel/traverse" "^7.25.0" globals "^11.1.0" "@babel/plugin-transform-computed-properties@^7.24.7": @@ -561,12 +533,12 @@ "@babel/helper-plugin-utils" "^7.24.7" "@babel/template" "^7.24.7" -"@babel/plugin-transform-destructuring@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.7.tgz#a097f25292defb6e6cc16d6333a4cfc1e3c72d9e" - integrity sha512-19eJO/8kdCQ9zISOf+SEUJM/bAUIsvY3YDnXZTupUCQ8LgrWnsG/gFB9dvXqdXnRXMAM8fvt7b0CBKQHNGy1mw== +"@babel/plugin-transform-destructuring@^7.24.8": + version "7.24.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz#c828e814dbe42a2718a838c2a2e16a408e055550" + integrity sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.8" "@babel/plugin-transform-dotall-regex@^7.24.7": version "7.24.7" @@ -583,6 +555,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.24.7" +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz#809af7e3339466b49c034c683964ee8afb3e2604" + integrity sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.25.0" + "@babel/helper-plugin-utils" "^7.24.8" + "@babel/plugin-transform-dynamic-import@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz#4d8b95e3bae2b037673091aa09cd33fecd6419f4" @@ -615,14 +595,14 @@ "@babel/helper-plugin-utils" "^7.24.7" "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" -"@babel/plugin-transform-function-name@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.7.tgz#6d8601fbffe665c894440ab4470bc721dd9131d6" - integrity sha512-U9FcnA821YoILngSmYkW6FjyQe2TyZD5pHt4EVIhmcTkrJw/3KqcrRSxuOo5tFZJi7TE19iDyI1u+weTI7bn2w== +"@babel/plugin-transform-function-name@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.0.tgz#d17890029ceefb45189ea203b404a496263a8412" + integrity sha512-CQmfSnK14eYu82fu6GlCwRciHB7mp7oLN+DeyGDDwUr9cMwuSVviJKPXw/YcRYZdB1TdlLJWHHwXwnwD1WnCmQ== dependencies: - "@babel/helper-compilation-targets" "^7.24.7" - "@babel/helper-function-name" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-compilation-targets" "^7.24.8" + "@babel/helper-plugin-utils" "^7.24.8" + "@babel/traverse" "^7.25.0" "@babel/plugin-transform-json-strings@^7.24.7": version "7.24.7" @@ -662,24 +642,24 @@ "@babel/helper-module-transforms" "^7.24.7" "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-modules-commonjs@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.7.tgz#9fd5f7fdadee9085886b183f1ad13d1ab260f4ab" - integrity sha512-iFI8GDxtevHJ/Z22J5xQpVqFLlMNstcLXh994xifFwxxGslr2ZXXLWgtBeLctOD63UFDArdvN6Tg8RFw+aEmjQ== +"@babel/plugin-transform-modules-commonjs@^7.24.8": + version "7.24.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz#ab6421e564b717cb475d6fff70ae7f103536ea3c" + integrity sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA== dependencies: - "@babel/helper-module-transforms" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-module-transforms" "^7.24.8" + "@babel/helper-plugin-utils" "^7.24.8" "@babel/helper-simple-access" "^7.24.7" -"@babel/plugin-transform-modules-systemjs@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.7.tgz#f8012316c5098f6e8dee6ecd58e2bc6f003d0ce7" - integrity sha512-GYQE0tW7YoaN13qFh3O1NCY4MPkUiAH3fiF7UcV/I3ajmDKEdG3l+UOcbAm4zUE3gnvUU+Eni7XrVKo9eO9auw== +"@babel/plugin-transform-modules-systemjs@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.0.tgz#8f46cdc5f9e5af74f3bd019485a6cbe59685ea33" + integrity sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw== dependencies: - "@babel/helper-hoist-variables" "^7.24.7" - "@babel/helper-module-transforms" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-module-transforms" "^7.25.0" + "@babel/helper-plugin-utils" "^7.24.8" "@babel/helper-validator-identifier" "^7.24.7" + "@babel/traverse" "^7.25.0" "@babel/plugin-transform-modules-umd@^7.24.7": version "7.24.7" @@ -746,12 +726,12 @@ "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-transform-optional-chaining@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.7.tgz#b8f6848a80cf2da98a8a204429bec04756c6d454" - integrity sha512-tK+0N9yd4j+x/4hxF3F0e0fu/VdcxU18y5SevtyM/PCFlQvXbR0Zmlo2eBrKtVipGNFzpq56o8WsIIKcJFUCRQ== +"@babel/plugin-transform-optional-chaining@^7.24.7", "@babel/plugin-transform-optional-chaining@^7.24.8": + version "7.24.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz#bb02a67b60ff0406085c13d104c99a835cdf365d" + integrity sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.8" "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" "@babel/plugin-syntax-optional-chaining" "^7.8.3" @@ -831,12 +811,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-typeof-symbol@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.7.tgz#f074be466580d47d6e6b27473a840c9f9ca08fb0" - integrity sha512-VtR8hDy7YLB7+Pet9IarXjg/zgCMSF+1mNS/EQEiEaUPoFXCVsHG64SIxcaaI2zJgRiv+YmgaQESUfWAdbjzgg== +"@babel/plugin-transform-typeof-symbol@^7.24.8": + version "7.24.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz#383dab37fb073f5bfe6e60c654caac309f92ba1c" + integrity sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.8" "@babel/plugin-transform-unicode-escapes@^7.24.7": version "7.24.7" @@ -870,18 +850,19 @@ "@babel/helper-plugin-utils" "^7.24.7" "@babel/preset-env@^7.19.4": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.24.7.tgz#ff067b4e30ba4a72f225f12f123173e77b987f37" - integrity sha512-1YZNsc+y6cTvWlDHidMBsQZrZfEFjRIo/BZCT906PMdzOyXtSLTgqGdrpcuTDCXyd11Am5uQULtDIcCfnTc8fQ== + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.25.0.tgz#3fe92e470311e91478129efda101816c680f0479" + integrity sha512-vYAA8PrCOeZfG4D87hmw1KJ1BPubghXP1e2MacRFwECGNKL76dkA38JEwYllbvQCpf/kLxsTtir0b8MtxKoVCw== dependencies: - "@babel/compat-data" "^7.24.7" - "@babel/helper-compilation-targets" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-validator-option" "^7.24.7" - "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.24.7" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.24.7" + "@babel/compat-data" "^7.25.0" + "@babel/helper-compilation-targets" "^7.24.8" + "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-validator-option" "^7.24.8" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.25.0" + "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.25.0" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.25.0" "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.24.7" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.24.7" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.25.0" "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-class-properties" "^7.12.13" @@ -902,29 +883,30 @@ "@babel/plugin-syntax-top-level-await" "^7.14.5" "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" "@babel/plugin-transform-arrow-functions" "^7.24.7" - "@babel/plugin-transform-async-generator-functions" "^7.24.7" + "@babel/plugin-transform-async-generator-functions" "^7.25.0" "@babel/plugin-transform-async-to-generator" "^7.24.7" "@babel/plugin-transform-block-scoped-functions" "^7.24.7" - "@babel/plugin-transform-block-scoping" "^7.24.7" + "@babel/plugin-transform-block-scoping" "^7.25.0" "@babel/plugin-transform-class-properties" "^7.24.7" "@babel/plugin-transform-class-static-block" "^7.24.7" - "@babel/plugin-transform-classes" "^7.24.7" + "@babel/plugin-transform-classes" "^7.25.0" "@babel/plugin-transform-computed-properties" "^7.24.7" - "@babel/plugin-transform-destructuring" "^7.24.7" + "@babel/plugin-transform-destructuring" "^7.24.8" "@babel/plugin-transform-dotall-regex" "^7.24.7" "@babel/plugin-transform-duplicate-keys" "^7.24.7" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.25.0" "@babel/plugin-transform-dynamic-import" "^7.24.7" "@babel/plugin-transform-exponentiation-operator" "^7.24.7" "@babel/plugin-transform-export-namespace-from" "^7.24.7" "@babel/plugin-transform-for-of" "^7.24.7" - "@babel/plugin-transform-function-name" "^7.24.7" + "@babel/plugin-transform-function-name" "^7.25.0" "@babel/plugin-transform-json-strings" "^7.24.7" "@babel/plugin-transform-literals" "^7.24.7" "@babel/plugin-transform-logical-assignment-operators" "^7.24.7" "@babel/plugin-transform-member-expression-literals" "^7.24.7" "@babel/plugin-transform-modules-amd" "^7.24.7" - "@babel/plugin-transform-modules-commonjs" "^7.24.7" - "@babel/plugin-transform-modules-systemjs" "^7.24.7" + "@babel/plugin-transform-modules-commonjs" "^7.24.8" + "@babel/plugin-transform-modules-systemjs" "^7.25.0" "@babel/plugin-transform-modules-umd" "^7.24.7" "@babel/plugin-transform-named-capturing-groups-regex" "^7.24.7" "@babel/plugin-transform-new-target" "^7.24.7" @@ -933,7 +915,7 @@ "@babel/plugin-transform-object-rest-spread" "^7.24.7" "@babel/plugin-transform-object-super" "^7.24.7" "@babel/plugin-transform-optional-catch-binding" "^7.24.7" - "@babel/plugin-transform-optional-chaining" "^7.24.7" + "@babel/plugin-transform-optional-chaining" "^7.24.8" "@babel/plugin-transform-parameters" "^7.24.7" "@babel/plugin-transform-private-methods" "^7.24.7" "@babel/plugin-transform-private-property-in-object" "^7.24.7" @@ -944,7 +926,7 @@ "@babel/plugin-transform-spread" "^7.24.7" "@babel/plugin-transform-sticky-regex" "^7.24.7" "@babel/plugin-transform-template-literals" "^7.24.7" - "@babel/plugin-transform-typeof-symbol" "^7.24.7" + "@babel/plugin-transform-typeof-symbol" "^7.24.8" "@babel/plugin-transform-unicode-escapes" "^7.24.7" "@babel/plugin-transform-unicode-property-regex" "^7.24.7" "@babel/plugin-transform-unicode-regex" "^7.24.7" @@ -953,7 +935,7 @@ babel-plugin-polyfill-corejs2 "^0.4.10" babel-plugin-polyfill-corejs3 "^0.10.4" babel-plugin-polyfill-regenerator "^0.6.1" - core-js-compat "^3.31.0" + core-js-compat "^3.37.1" semver "^6.3.1" "@babel/preset-modules@0.1.6-no-external-plugins": @@ -971,43 +953,40 @@ integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== "@babel/runtime@^7.8.4": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.7.tgz#f4f0d5530e8dbdf59b3451b9b3e594b6ba082e12" - integrity sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw== + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.25.0.tgz#3af9a91c1b739c569d5d80cc917280919c544ecb" + integrity sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw== dependencies: regenerator-runtime "^0.14.0" -"@babel/template@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.7.tgz#02efcee317d0609d2c07117cb70ef8fb17ab7315" - integrity sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig== +"@babel/template@^7.24.7", "@babel/template@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.0.tgz#e733dc3134b4fede528c15bc95e89cb98c52592a" + integrity sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q== dependencies: "@babel/code-frame" "^7.24.7" - "@babel/parser" "^7.24.7" - "@babel/types" "^7.24.7" + "@babel/parser" "^7.25.0" + "@babel/types" "^7.25.0" -"@babel/traverse@^7.18.9", "@babel/traverse@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.7.tgz#de2b900163fa741721ba382163fe46a936c40cf5" - integrity sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA== +"@babel/traverse@^7.18.9", "@babel/traverse@^7.24.7", "@babel/traverse@^7.24.8", "@babel/traverse@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.0.tgz#e8533c0a57ed97921d1e5b20dd3db63d3efaebf5" + integrity sha512-ubALThHQy4GCf6mbb+5ZRNmLLCI7bJ3f8Q6LHBSRlSKSWj5a7dSUzJBLv3VuIhFrFPgjF4IzPF567YG/HSCdZA== dependencies: "@babel/code-frame" "^7.24.7" - "@babel/generator" "^7.24.7" - "@babel/helper-environment-visitor" "^7.24.7" - "@babel/helper-function-name" "^7.24.7" - "@babel/helper-hoist-variables" "^7.24.7" - "@babel/helper-split-export-declaration" "^7.24.7" - "@babel/parser" "^7.24.7" - "@babel/types" "^7.24.7" + "@babel/generator" "^7.25.0" + "@babel/parser" "^7.25.0" + "@babel/template" "^7.25.0" + "@babel/types" "^7.25.0" debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.24.7", "@babel/types@^7.4.4": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.7.tgz#6027fe12bc1aa724cd32ab113fb7f1988f1f66f2" - integrity sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q== +"@babel/types@^7.24.7", "@babel/types@^7.24.8", "@babel/types@^7.24.9", "@babel/types@^7.25.0", "@babel/types@^7.4.4": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.0.tgz#e6e3656c581f28da8452ed4f69e38008ec0ba41b" + integrity sha512-LcnxQSsd9aXOIgmmSpvZ/1yo46ra2ESYyqLcryaBZOghxy5qqOBjvCWP5JfkI8yl9rlxRgdLTTMCQQRcN2hdCg== dependencies: - "@babel/helper-string-parser" "^7.24.7" + "@babel/helper-string-parser" "^7.24.8" "@babel/helper-validator-identifier" "^7.24.7" to-fast-properties "^2.0.0" @@ -1864,9 +1843,9 @@ tslib "^2.4.0" "@fortawesome/fontawesome-free@^6.1.1": - version "6.5.2" - resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-6.5.2.tgz#310fe90cb5a8dee9698833171b98e7835404293d" - integrity sha512-hRILoInAx8GNT5IMkrtIt9blOdrqHOnPBH+k70aWUAqPZPgopb9G5EQJFpaBx/S8zp2fC+mPW349Bziuk1o28Q== + version "6.6.0" + resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-6.6.0.tgz#0e984f0f2344ee513c185d87d77defac4c0c8224" + integrity sha512-60G28ke/sXdtS9KZCpZSHHkCbdsOGEhIUGlwq6yhY74UpTiToIh8np7A8yphhM4BWsvNFtIvLpi4co+h9Mr9Ow== "@gar/promisify@^1.0.1": version "1.1.3" @@ -1884,9 +1863,9 @@ integrity sha512-eGeIqNOQpXoPAIP7tC1+1Yc1yl1xnwYqg+3mzqxyrbE5pg5YFBZcA6YoTiByJB6DKAEsiWtl6tjTJS4IYtbB7A== "@hotwired/turbo@^8.0.1": - version "8.0.4" - resolved "https://registry.yarnpkg.com/@hotwired/turbo/-/turbo-8.0.4.tgz#5c5361c06a37cdf10dcba4223f1afd0ca1c75091" - integrity sha512-mlZEFUZrJnpfj+g/XeCWWuokvQyN68WvM78JM+0jfSFc98wegm259vCbC1zSllcspRwbgXK31ibehCy5PA78/Q== + version "8.0.5" + resolved "https://registry.yarnpkg.com/@hotwired/turbo/-/turbo-8.0.5.tgz#abae6dad018a891e4286e87fa0959217e3866d5a" + integrity sha512-TdZDA7fxVQ2ZycygvpnzjGPmFq4sO/E2QVg+2em/sJ3YTSsIWVEis8HmWlumz+c9DjWcUkcCuB+muF08TInpAQ== "@jbtronics/bs-treeview@^1.0.1": version "1.0.6" @@ -1940,9 +1919,9 @@ "@jridgewell/trace-mapping" "^0.3.25" "@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": - version "1.4.15" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + version "1.5.0" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" + integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": version "0.3.25" @@ -2123,9 +2102,9 @@ "@types/estree" "*" "@types/eslint@*": - version "8.56.10" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.10.tgz#eb2370a73bf04a901eeba8f22595c7ee0f7eb58d" - integrity sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ== + version "9.6.0" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-9.6.0.tgz#51d4fe4d0316da9e9f2c80884f2c20ed5fb022ff" + integrity sha512-gi6WQJ7cHRgZxtkQEoyHMppPjq9Kxo5Tjn2prSKDSmZrCz8TZ3jSRCeTJm+WoM+oB0WG37bRqLzaaU3q7JypGg== dependencies: "@types/estree" "*" "@types/json-schema" "*" @@ -2217,11 +2196,11 @@ "@types/node" "*" "@types/node@*": - version "20.14.8" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.14.8.tgz#45c26a2a5de26c3534a9504530ddb3b27ce031ac" - integrity sha512-DO+2/jZinXfROG7j7WKFn/3C6nFwxy2lLpgLjEXJz+0XKphZlTLJ14mo8Vfg8X5BWN6XjyESXq+LcYdT7tR3bA== + version "22.0.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.0.0.tgz#04862a2a71e62264426083abe1e27e87cac05a30" + integrity sha512-VT7KSYudcPOzP5Q0wfbowyNLaVR8QWUdw+088uFWwfvpY6uCWaXpqV6ieLAu9WBcnTa7H4Z5RLK8I5t2FuOcqw== dependencies: - undici-types "~5.26.4" + undici-types "~6.11.1" "@types/parse-json@^4.0.0": version "4.0.2" @@ -2280,9 +2259,9 @@ integrity sha512-wz7kjjRRj8/Lty4B+Kr0LN6Ypc/3SymeCCGSbaXp2leH0ZVg/PriNiOwNj4bD4uphI7A8NXS4b6Gl373sfO5mA== "@types/ws@^8.5.5": - version "8.5.10" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.10.tgz#4acfb517970853fa6574a3a6886791d04a396787" - integrity sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A== + version "8.5.11" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.11.tgz#90ad17b3df7719ce3e6bc32f83ff954d38656508" + integrity sha512-4+q7P5h3SpJxaBft0Dzpbr6lmMaqh0Jr2tbhJZ/luAwvD7ohSCniYkwz/pLxuT2h0EOa6QADgJj1Ko+TzRfZ+w== dependencies: "@types/node" "*" @@ -2522,9 +2501,9 @@ acorn@^7.1.1: integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== acorn@^8.0.4, acorn@^8.0.5, acorn@^8.11.0, acorn@^8.2.4, acorn@^8.7.1, acorn@^8.8.2: - version "8.12.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.0.tgz#1627bfa2e058148036133b8d9b51a700663c294c" - integrity sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw== + version "8.12.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.1.tgz#71616bdccbe25e27a54439e0046e89ca76df2248" + integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg== adjust-sourcemap-loader@^4.0.0: version "4.0.0" @@ -2579,14 +2558,14 @@ ajv@^6.12.5: uri-js "^4.2.2" ajv@^8.0.0, ajv@^8.9.0: - version "8.16.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.16.0.tgz#22e2a92b94f005f7e0f9c9d39652ef0b8f6f0cb4" - integrity sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw== + version "8.17.1" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.17.1.tgz#37d9a5c776af6bc92d7f4f9510eba4c0a60d11a6" + integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g== dependencies: fast-deep-equal "^3.1.3" + fast-uri "^3.0.1" json-schema-traverse "^1.0.0" require-from-string "^2.0.2" - uri-js "^4.4.1" ansi-html-community@^0.0.8: version "0.0.8" @@ -2801,15 +2780,15 @@ browser-process-hrtime@^1.0.0: resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== -browserslist@^4.0.0, browserslist@^4.21.10, browserslist@^4.22.2, browserslist@^4.23.0: - version "4.23.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.1.tgz#ce4af0534b3d37db5c1a4ca98b9080f985041e96" - integrity sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw== +browserslist@^4.0.0, browserslist@^4.21.10, browserslist@^4.23.0, browserslist@^4.23.1: + version "4.23.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.2.tgz#244fe803641f1c19c28c48c4b6ec9736eb3d32ed" + integrity sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA== dependencies: - caniuse-lite "^1.0.30001629" - electron-to-chromium "^1.4.796" + caniuse-lite "^1.0.30001640" + electron-to-chromium "^1.4.820" node-releases "^2.0.14" - update-browserslist-db "^1.0.16" + update-browserslist-db "^1.1.0" bs-custom-file-input@^1.3.4: version "1.3.4" @@ -2891,10 +2870,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001629: - version "1.0.30001636" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001636.tgz#b15f52d2bdb95fad32c2f53c0b68032b85188a78" - integrity sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001640: + version "1.0.30001643" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001643.tgz#9c004caef315de9452ab970c3da71085f8241dbd" + integrity sha512-ERgWGNleEilSrHM6iUz/zJNSQTP8Mr21wDWpdgvRwcTXGAq6jMtOUPP4dqFPTdKqZ2wKTdtB+uucZ3MRpAUSmg== chalk@^2.4.2: version "2.4.2" @@ -3215,7 +3194,7 @@ cookie@0.6.0: resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.6.0.tgz#2798b04b071b0ecbff0dbb62a505a8efa4e19051" integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw== -core-js-compat@^3.31.0, core-js-compat@^3.36.1: +core-js-compat@^3.36.1, core-js-compat@^3.37.1: version "3.37.1" resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.37.1.tgz#c844310c7852f4bdf49b8d339730b97e17ff09ee" integrity sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg== @@ -3435,26 +3414,26 @@ data-urls@^2.0.0: whatwg-url "^8.0.0" datatables.net-bs5@^2, datatables.net-bs5@^2.0.0: - version "2.0.8" - resolved "https://registry.yarnpkg.com/datatables.net-bs5/-/datatables.net-bs5-2.0.8.tgz#2764c957147cd563b20be8193289da71a41d9c2e" - integrity sha512-rpz/yO2NZMP1Uso/sSsaFAKwdCjYPa1/KLxAVr0JNJJV9ygFLHcuKTcNmoc1cekcsjYcGyybWKaNu4NfpZ74vg== + version "2.1.2" + resolved "https://registry.yarnpkg.com/datatables.net-bs5/-/datatables.net-bs5-2.1.2.tgz#8ac9424564e4d217208fe58630d9f5eb89f5a539" + integrity sha512-DBkr0+yBDNJYmJ1JlPh/wYJ8h9yNMHDtNE7wznuZUP32CrKRsPF2pvLsvyzChY/j0ZvR5l2myxI6wDQFx+dFLQ== dependencies: - datatables.net "2.0.8" + datatables.net "2.1.2" jquery ">=1.7" datatables.net-buttons-bs5@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/datatables.net-buttons-bs5/-/datatables.net-buttons-bs5-3.0.2.tgz#4f098c7b9b458548454a25890597b4090e5a1461" - integrity sha512-whufHsfKgzzdmTqM7JnFUph5hveHTCAvs9N0CP+5t7k7sIr7b94rIxv22/2Wt4veLcd3v73NdhPWl4j/GfzyhA== + version "3.1.0" + resolved "https://registry.yarnpkg.com/datatables.net-buttons-bs5/-/datatables.net-buttons-bs5-3.1.0.tgz#7ec95e2a054ed09de1495c8d7cdfef8dfac5318c" + integrity sha512-8zexUUFfeI/7hozxIQaBwIHEgkx0jroYEDXry5MJnTtbxJstqCkkU1jTb0QwDghhpYHvUVmujM4aWG1Of9Hihg== dependencies: datatables.net-bs5 "^2" - datatables.net-buttons "3.0.2" + datatables.net-buttons "3.1.0" jquery ">=1.7" -datatables.net-buttons@3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/datatables.net-buttons/-/datatables.net-buttons-3.0.2.tgz#5d4ac407e9e6960963c88ef40839168e5d0dd8d3" - integrity sha512-J+vk4hLtTivnl+RxzpKPE7CG4ggdgHPQcHnpqViy9w6ia18Uh69dQktX6NJ87QrqNPCTMUyHDzUzsRFURG4/Fw== +datatables.net-buttons@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/datatables.net-buttons/-/datatables.net-buttons-3.1.0.tgz#025318cf4dc4a90a153c0dc796126494c54072b0" + integrity sha512-QxB3iOko/pqB6hBMBItvvH2T2cI3EoxQGRI4Soq/gVDDN0qrC0owck14JCvHjlJ5W/qm6gqb9W22vTVoVcKfRQ== dependencies: datatables.net "^2" jquery ">=1.7" @@ -3527,10 +3506,10 @@ datatables.net-select@2.0.3: datatables.net "^2" jquery ">=1.7" -datatables.net@2.0.8, datatables.net@^2, datatables.net@^2.0.0: - version "2.0.8" - resolved "https://registry.yarnpkg.com/datatables.net/-/datatables.net-2.0.8.tgz#5199f0f2c26d8bba653af74cea035e9e07166768" - integrity sha512-4/2dYx4vl975zQqZbyoVEm0huPe61qffjBRby7K7V+y9E+ORq4R8KavkgrNMmIgO6cl85Pg4AvCbVjvPCIT1Yg== +datatables.net@2.1.2, datatables.net@^2, datatables.net@^2.0.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/datatables.net/-/datatables.net-2.1.2.tgz#7ba56756858ed7f18cacd71913c8a5d92f79b6b9" + integrity sha512-FZMH3bVqP6pKq/LwhFRoH22xW45bWt9eAdf7hmFrZkluXId6RNOr1EnrVvwHTo/f7l/rZX4wgHvnGvtOyj9Spw== dependencies: jquery ">=1.7" @@ -3547,9 +3526,9 @@ debug@2.6.9: ms "2.0.0" debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: - version "4.3.5" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.5.tgz#e83444eceb9fedd4a1da56d671ae2446a01a6e1e" - integrity sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg== + version "4.3.6" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.6.tgz#2ab2c38fbaffebf8aa95fdfe6d88438c7a13c52b" + integrity sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg== dependencies: ms "2.1.2" @@ -3728,9 +3707,9 @@ domhandler@^5.0.2, domhandler@^5.0.3: domelementtype "^2.3.0" dompurify@^3.0.3: - version "3.1.5" - resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-3.1.5.tgz#2c6a113fc728682a0f55684b1388c58ddb79dc38" - integrity sha512-lwG+n5h8QNpxtyrJW/gJWckL+1/DQiYMX8f7t8Z2AZTPw1esVrqjI63i7Zc2Gz0aKzLVMYC1V1PL/ky+aY/NgA== + version "3.1.6" + resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-3.1.6.tgz#43c714a94c6a7b8801850f82e756685300a027e2" + integrity sha512-cTOAhc36AalkjtBpfG6O8JimdTMWNXjiePT2xQH/ppBGi/4uIpmj8eKyIkMJErXWARyINV/sB38yf8JCLF5pbQ== domutils@^2.5.2, domutils@^2.8.0: version "2.8.0" @@ -3760,10 +3739,10 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== -electron-to-chromium@^1.4.796: - version "1.4.810" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.810.tgz#7dee01b090b9e048e6db752f7b30921790230654" - integrity sha512-Kaxhu4T7SJGpRQx99tq216gCq2nMxJo+uuT6uzz9l8TVN2stL7M06MIIXAtr9jsrLs2Glflgf2vMQRepxawOdQ== +electron-to-chromium@^1.4.820: + version "1.5.2" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.2.tgz#6126ad229ce45e781ec54ca40db0504787f23d19" + integrity sha512-kc4r3U3V3WLaaZqThjYz/Y6z8tJe+7K0bbjUVo3i+LWIypVdMx5nXCkwRe6SWbY6ILqLdc1rKcKmr3HoH7wjSQ== emoji-regex@^8.0.0: version "8.0.0" @@ -3786,9 +3765,9 @@ encodeurl@~1.0.2: integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== enhanced-resolve@^5.0.0, enhanced-resolve@^5.17.0: - version "5.17.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz#d037603789dd9555b89aaec7eb78845c49089bc5" - integrity sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA== + version "5.17.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz#67bfbbcc2f81d511be77d686a90267ef7f898a15" + integrity sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -3835,9 +3814,9 @@ es-errors@^1.3.0: integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== es-module-lexer@^1.2.1: - version "1.5.3" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.5.3.tgz#25969419de9c0b1fbe54279789023e8a9a788412" - integrity sha512-i1gCgmR9dCl6Vil6UKPI/trA69s08g/syhiDK9TG0Nf1RJjjFI+AzoWW7sPufzkgYAn861skuCwJa0pIIHYxvg== + version "1.5.4" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.5.4.tgz#a8efec3a3da991e60efa6b633a7cad6ab8d26b78" + integrity sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw== esbuild-loader@~3.0.1: version "3.0.1" @@ -4045,6 +4024,11 @@ fast-levenshtein@^3.0.0: dependencies: fastest-levenshtein "^1.0.7" +fast-uri@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.1.tgz#cddd2eecfc83a71c1be2cc2ef2061331be8a7134" + integrity sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw== + fastest-levenshtein@1.0.16, fastest-levenshtein@^1.0.12, fastest-levenshtein@^1.0.7: version "1.0.16" resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" @@ -4222,9 +4206,9 @@ get-stream@^6.0.0: integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== get-tsconfig@^4.4.0: - version "4.7.5" - resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.7.5.tgz#5e012498579e9a6947511ed0cd403272c7acbbaf" - integrity sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw== + version "4.7.6" + resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.7.6.tgz#118fd5b7b9bae234cc7705a00cd771d7eb65d62a" + integrity sha512-ZAqrLlu18NbDdRaHq+AKXzAmqIUPswPWKUchfytdAjiRFnCe5ojG2bstg6mRiZabkKfCoL/e98pbBELIV/YCeA== dependencies: resolve-pkg-maps "^1.0.0" @@ -4522,9 +4506,9 @@ import-fresh@^3.2.1: resolve-from "^4.0.0" import-local@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" - integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== + version "3.2.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.2.0.tgz#c3d5c745798c02a6f8b897726aba5100186ee260" + integrity sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA== dependencies: pkg-dir "^4.2.0" resolve-cwd "^3.0.0" @@ -4613,9 +4597,9 @@ is-binary-path@~2.1.0: binary-extensions "^2.0.0" is-core-module@^2.13.0: - version "2.14.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.14.0.tgz#43b8ef9f46a6a08888db67b1ffd4ec9e3dfd59d1" - integrity sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A== + version "2.15.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.15.0.tgz#71c72ec5442ace7e76b306e9d48db361f22699ea" + integrity sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA== dependencies: hasown "^2.0.2" @@ -4833,9 +4817,9 @@ jsesc@~0.5.0: integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== json-formatter-js@^2.3.4: - version "2.5.15" - resolved "https://registry.yarnpkg.com/json-formatter-js/-/json-formatter-js-2.5.15.tgz#d9af9ac18bad481ac742ce4215105daa984889f5" - integrity sha512-PHDOzHKxtx9Ik5XQKOnnCx76aKPtlz+ym02MCv3NWimRS8qEgUx/7JDuhEDYY2jH67rb+fFBNJDTMz8JVZXzPg== + version "2.5.17" + resolved "https://registry.yarnpkg.com/json-formatter-js/-/json-formatter-js-2.5.17.tgz#162c47c18de71de2f23ab9b95c3b7c329cbd7975" + integrity sha512-HJr7mwjPYIysd504YVTcGrSFlXGhQYWDguM+tx5JgGLkoIdh88h8DsfdN/oFt3ouGrEIwaY+dQdxczOLL/VotQ== json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: version "2.3.1" @@ -4877,9 +4861,9 @@ jszip@^3.2.0: setimmediate "^1.0.5" katex@^0.16.0: - version "0.16.10" - resolved "https://registry.yarnpkg.com/katex/-/katex-0.16.10.tgz#6f81b71ac37ff4ec7556861160f53bc5f058b185" - integrity sha512-ZiqaC04tp2O5utMsl2TEZTXxa6WSC4yo0fv5ML++D3QZv/vx2Mct0mTlRx3O+uUkjfuAgOkzsCmq5MiUEsDDdA== + version "0.16.11" + resolved "https://registry.yarnpkg.com/katex/-/katex-0.16.11.tgz#4bc84d5584f996abece5f01c6ad11304276a33f5" + integrity sha512-RQrI8rlHY92OLf3rho/Ts8i/XvjgguEjOkO1BEXcU3N8BqPpSzBNwV/G0Ukr+P/l3ivvJUE/Fa/CwbS6HesGNQ== dependencies: commander "^8.3.0" @@ -5072,11 +5056,16 @@ micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4: braces "^3.0.3" picomatch "^2.3.1" -mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": +mime-db@1.52.0: version "1.52.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== +"mime-db@>= 1.43.0 < 2": + version "1.53.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.53.0.tgz#3cb63cd820fc29896d9d4e8c32ab4fcd74ccb447" + integrity sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg== + mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: version "2.1.35" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" @@ -5221,9 +5210,9 @@ node-notifier@^9.0.0: which "^2.0.2" node-releases@^2.0.14: - version "2.0.14" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" - integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== + version "2.0.18" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f" + integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" @@ -5245,9 +5234,9 @@ nth-check@^2.0.1: boolbase "^1.0.0" nwsapi@^2.2.0: - version "2.2.10" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.10.tgz#0b77a68e21a0b483db70b11fad055906e867cda8" - integrity sha512-QK0sRs7MKv0tKe1+5uZIQk/C8XGza4DAnztJG8iD+TpJIORARrCxczA738awHrZoHeTjSSoHqao2teO0dC/gFQ== + version "2.2.12" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.12.tgz#fb6af5c0ec35b27b4581eb3bbad34ec9e5c696f8" + integrity sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w== object-assign@^4.0.1: version "4.1.1" @@ -5806,9 +5795,9 @@ postcss-reduce-transforms@^6.0.2: postcss-value-parser "^4.2.0" postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.16, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: - version "6.1.0" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz#49694cb4e7c649299fea510a29fa6577104bcf53" - integrity sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ== + version "6.1.1" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz#5be94b277b8955904476a2400260002ce6c56e38" + integrity sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg== dependencies: cssesc "^3.0.0" util-deprecate "^1.0.2" @@ -5839,18 +5828,18 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^ integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== postcss@^8.2.14, postcss@^8.2.15, postcss@^8.4.12, postcss@^8.4.24, postcss@^8.4.33: - version "8.4.38" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.38.tgz#b387d533baf2054288e337066d81c6bee9db9e0e" - integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== + version "8.4.40" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.40.tgz#eb81f2a4dd7668ed869a6db25999e02e9ad909d8" + integrity sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q== dependencies: nanoid "^3.3.7" - picocolors "^1.0.0" + picocolors "^1.0.1" source-map-js "^1.2.0" preact@^10.13.2: - version "10.22.0" - resolved "https://registry.yarnpkg.com/preact/-/preact-10.22.0.tgz#a50f38006ae438d255e2631cbdaf7488e6dd4e16" - integrity sha512-RRurnSjJPj4rp5K6XoP45Ui33ncb7e4H7WiOHVpjbkvqvA3U+N8Z6Qbo0AE6leGYBV66n8EhEaFixvIu3SkxFw== + version "10.23.1" + resolved "https://registry.yarnpkg.com/preact/-/preact-10.23.1.tgz#d400107289bc979881c5212cb5f5cd22cd1dc38c" + integrity sha512-O5UdRsNh4vdZaTieWe3XOgSpdMAmkIYBCT3VhQDlKrzyCm8lUYsk0fmVEvoQQifoOjFRTaHZO69ylrzTW2BH+A== pretty-error@^4.0.0: version "4.0.0" @@ -6220,9 +6209,9 @@ semver@^6.0.0, semver@^6.3.1: integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.5.4: - version "7.6.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13" - integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== + version "7.6.3" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" + integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== send@0.18.0: version "0.18.0" @@ -6627,9 +6616,9 @@ terser-webpack-plugin@^5.3.0, terser-webpack-plugin@^5.3.10: terser "^5.26.0" terser@^5.26.0, terser@^5.3.4: - version "5.31.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.31.1.tgz#735de3c987dd671e95190e6b98cfe2f07f3cf0d4" - integrity sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg== + version "5.31.3" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.31.3.tgz#b24b7beb46062f4653f049eea4f0cd165d0f0c38" + integrity sha512-pAfYn3NIZLyZpa83ZKigvj6Rn9c/vd5KfYGX7cN1mnzqgDcxWvrU5ZtAfIKhEXz9nRecw4z3LXkjaq96/qZqAA== dependencies: "@jridgewell/source-map" "^0.3.3" acorn "^8.8.2" @@ -6752,10 +6741,10 @@ typescript@^4.0.2: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== +undici-types@~6.11.1: + version "6.11.1" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.11.1.tgz#432ea6e8efd54a48569705a699e62d8f4981b197" + integrity sha512-mIDEX2ek50x0OlRgxryxsenE5XaQD4on5U2inY7RApK3SOJpofyw7uW2AyfMKkhAxXIceo2DeWGVGwyvng1GNQ== unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.0" @@ -6825,15 +6814,15 @@ unpipe@1.0.0, unpipe@~1.0.0: resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== -update-browserslist-db@^1.0.16: - version "1.0.16" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz#f6d489ed90fb2f07d67784eb3f53d7891f736356" - integrity sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ== +update-browserslist-db@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz#7ca61c0d8650766090728046e416a8cde682859e" + integrity sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ== dependencies: escalade "^3.1.2" picocolors "^1.0.1" -uri-js@^4.2.2, uri-js@^4.4.1: +uri-js@^4.2.2: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== @@ -7039,9 +7028,9 @@ webpack-sources@^3.2.3: integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== webpack@^5.74.0: - version "5.92.1" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.92.1.tgz#eca5c1725b9e189cffbd86e8b6c3c7400efc5788" - integrity sha512-JECQ7IwJb+7fgUFBlrJzbyu3GEuNBcdqr1LD7IbSzwkSmIevTm8PF+wej3Oxuz/JFBUZ6O1o43zsPkwm1C4TmA== + version "5.93.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.93.0.tgz#2e89ec7035579bdfba9760d26c63ac5c3462a5e5" + integrity sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA== dependencies: "@types/eslint-scope" "^3.7.3" "@types/estree" "^1.0.5" @@ -7126,9 +7115,9 @@ ws@^7.3.1, ws@^7.4.6: integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== ws@^8.13.0: - version "8.17.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b" - integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ== + version "8.18.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc" + integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== xml-name-validator@^3.0.0: version "3.0.0" @@ -7173,6 +7162,6 @@ yocto-queue@^0.1.0: integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== yocto-queue@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" - integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== + version "1.1.1" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.1.1.tgz#fef65ce3ac9f8a32ceac5a634f74e17e5b232110" + integrity sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g== From 228549ff51e2328b7a75b38874839892b0c7d9cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sun, 28 Jul 2024 13:12:42 +0200 Subject: [PATCH 008/287] Include pgsql extensions and client in docker images --- Dockerfile | 4 ++-- Dockerfile-frankenphp | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 14d5576e..bf14bbb7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,11 +5,11 @@ FROM debian:bullseye-slim # libpng-dev libjpeg-dev libfreetype6-dev gnupg zip libzip-dev libjpeg62-turbo-dev libonig-dev libxslt-dev libwebp-dev vim \ # && apt-get -y autoremove && apt-get clean autoclean && rm -rf /var/lib/apt/lists/* -RUN apt-get update && apt-get -y install apt-transport-https lsb-release ca-certificates curl zip mariadb-client \ +RUN apt-get update && apt-get -y install apt-transport-https lsb-release ca-certificates curl zip mariadb-client postgresql-client \ && curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg \ && sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' \ && apt-get update && apt-get upgrade -y \ - && apt-get install -y apache2 php8.1 php8.1-fpm php8.1-opcache php8.1-curl php8.1-gd php8.1-mbstring php8.1-xml php8.1-bcmath php8.1-intl php8.1-zip php8.1-xsl php8.1-sqlite3 php8.1-mysql gpg sudo \ + && apt-get install -y apache2 php8.1 php8.1-fpm php8.1-opcache php8.1-curl php8.1-gd php8.1-mbstring php8.1-xml php8.1-bcmath php8.1-intl php8.1-zip php8.1-xsl php8.1-sqlite3 php8.1-mysql php8.1-pgsql gpg sudo \ && apt-get -y autoremove && apt-get clean autoclean && rm -rf /var/lib/apt/lists/*; ENV APACHE_CONFDIR /etc/apache2 diff --git a/Dockerfile-frankenphp b/Dockerfile-frankenphp index a42cd1ed..211bdb27 100644 --- a/Dockerfile-frankenphp +++ b/Dockerfile-frankenphp @@ -1,6 +1,6 @@ FROM dunglas/frankenphp:1-php8.3 AS frankenphp_upstream -RUN apt-get update && apt-get -y install curl zip mariadb-client file acl git gettext ca-certificates gnupg \ +RUN apt-get update && apt-get -y install curl zip mariadb-client postgresql-client file acl git gettext ca-certificates gnupg \ && apt-get -y autoremove && apt-get clean autoclean && rm -rf /var/lib/apt/lists/*; # Create workdir and set permissions if directory does not exists @@ -17,6 +17,7 @@ RUN set -eux; \ zip \ pdo_mysql \ pdo_sqlite \ + pdo_pgsql \ gd \ bcmath \ xsl \ From 5ede61118cbed403280d8dddea8e74faf64e2783 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sun, 28 Jul 2024 13:31:27 +0200 Subject: [PATCH 009/287] Use paragonie/sodium_compat v1 as v2 do not support 32-bit PHP anymore --- composer.json | 1 + composer.lock | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/composer.json b/composer.json index b976c84b..495d7de5 100644 --- a/composer.json +++ b/composer.json @@ -41,6 +41,7 @@ "nyholm/psr7": "^1.1", "ocramius/proxy-manager": "2.2.*", "omines/datatables-bundle": "^0.8.0", + "paragonie/sodium_compat": "^1.21", "part-db/label-fonts": "^1.0", "php-translation/symfony-bundle": "^0.14.0", "phpdocumentor/reflection-docblock": "^5.2", diff --git a/composer.lock b/composer.lock index 60f5a223..ce972bf0 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "b9066d88608e5e8c968f4f297ecd7a80", + "content-hash": "2b28082ea8c6d8963cbf7eec953ca0d0", "packages": [ { "name": "amphp/amp", @@ -6409,28 +6409,28 @@ }, { "name": "paragonie/sodium_compat", - "version": "v2.0.1", + "version": "v1.21.1", "source": { "type": "git", "url": "https://github.com/paragonie/sodium_compat.git", - "reference": "f65c82939ab17aeff538f9bf6d582f65cc7f255e" + "reference": "bb312875dcdd20680419564fe42ba1d9564b9e37" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paragonie/sodium_compat/zipball/f65c82939ab17aeff538f9bf6d582f65cc7f255e", - "reference": "f65c82939ab17aeff538f9bf6d582f65cc7f255e", + "url": "https://api.github.com/repos/paragonie/sodium_compat/zipball/bb312875dcdd20680419564fe42ba1d9564b9e37", + "reference": "bb312875dcdd20680419564fe42ba1d9564b9e37", "shasum": "" }, "require": { - "php": "^8.1", - "php-64bit": "*" + "paragonie/random_compat": ">=1", + "php": "^5.2.4|^5.3|^5.4|^5.5|^5.6|^7|^8" }, "require-dev": { - "phpunit/phpunit": "^7|^8|^9", - "vimeo/psalm": "^4|^5" + "phpunit/phpunit": "^3|^4|^5|^6|^7|^8|^9" }, "suggest": { - "ext-sodium": "Better performance, password hashing (Argon2i), secure memory management (memzero), and better security." + "ext-libsodium": "PHP < 7.0: Better performance, password hashing (Argon2i), secure memory management (memzero), and better security.", + "ext-sodium": "PHP >= 7.0: Better performance, password hashing (Argon2i), secure memory management (memzero), and better security." }, "type": "library", "autoload": { @@ -6489,9 +6489,9 @@ ], "support": { "issues": "https://github.com/paragonie/sodium_compat/issues", - "source": "https://github.com/paragonie/sodium_compat/tree/v2.0.1" + "source": "https://github.com/paragonie/sodium_compat/tree/v1.21.1" }, - "time": "2024-04-24T12:06:31+00:00" + "time": "2024-04-22T22:05:04+00:00" }, { "name": "part-db/label-fonts", From d6ff22fc44a5c622f8beff5f90c2f68c9dfe808a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sun, 28 Jul 2024 14:13:34 +0200 Subject: [PATCH 010/287] Show in server info page which natural sorting method is used This should ease debugging --- src/Controller/ToolsController.php | 9 +- src/Doctrine/Functions/Natsort.php | 9 ++ .../{Misc => Doctrine}/DBInfoHelper.php | 22 ++++- src/Services/Doctrine/NatsortDebugHelper.php | 86 +++++++++++++++++++ templates/tools/server_infos/_db.html.twig | 8 ++ 5 files changed, 129 insertions(+), 5 deletions(-) rename src/Services/{Misc => Doctrine}/DBInfoHelper.php (84%) create mode 100644 src/Services/Doctrine/NatsortDebugHelper.php diff --git a/src/Controller/ToolsController.php b/src/Controller/ToolsController.php index 8f49d6f7..78e149e3 100644 --- a/src/Controller/ToolsController.php +++ b/src/Controller/ToolsController.php @@ -22,16 +22,17 @@ declare(strict_types=1); */ namespace App\Controller; -use Symfony\Component\Runtime\SymfonyRuntime; use App\Services\Attachments\AttachmentSubmitHandler; use App\Services\Attachments\AttachmentURLGenerator; use App\Services\Attachments\BuiltinAttachmentsFinder; +use App\Services\Doctrine\DBInfoHelper; +use App\Services\Doctrine\NatsortDebugHelper; use App\Services\Misc\GitVersionInfo; -use App\Services\Misc\DBInfoHelper; use App\Services\System\UpdateAvailableManager; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; +use Symfony\Component\Runtime\SymfonyRuntime; #[Route(path: '/tools')] class ToolsController extends AbstractController @@ -45,7 +46,7 @@ class ToolsController extends AbstractController } #[Route(path: '/server_infos', name: 'tools_server_infos')] - public function systemInfos(GitVersionInfo $versionInfo, DBInfoHelper $DBInfoHelper, + public function systemInfos(GitVersionInfo $versionInfo, DBInfoHelper $DBInfoHelper, NatsortDebugHelper $natsortDebugHelper, AttachmentSubmitHandler $attachmentSubmitHandler, UpdateAvailableManager $updateAvailableManager): Response { $this->denyAccessUnlessGranted('@system.server_infos'); @@ -93,6 +94,8 @@ class ToolsController extends AbstractController 'db_size' => $DBInfoHelper->getDatabaseSize(), 'db_name' => $DBInfoHelper->getDatabaseName() ?? 'Unknown', 'db_user' => $DBInfoHelper->getDatabaseUsername() ?? 'Unknown', + 'db_natsort_method' => $natsortDebugHelper->getNaturalSortMethod(), + 'db_natsort_slow_allowed' => $natsortDebugHelper->isSlowNaturalSortAllowed(), //New version section 'new_version_available' => $updateAvailableManager->isUpdateAvailable(), diff --git a/src/Doctrine/Functions/Natsort.php b/src/Doctrine/Functions/Natsort.php index 56001039..bd05e0d6 100644 --- a/src/Doctrine/Functions/Natsort.php +++ b/src/Doctrine/Functions/Natsort.php @@ -55,6 +55,15 @@ class Natsort extends FunctionNode self::$allowSlowNaturalSort = $allow; } + /** + * Check if the slow natural sort is allowed + * @return bool + */ + public static function isSlowNaturalSortAllowed(): bool + { + return self::$allowSlowNaturalSort; + } + /** * Check if the MariaDB version which is connected to supports the natural sort (meaning it has a version of 10.7.0 or higher) * The result is cached in memory. diff --git a/src/Services/Misc/DBInfoHelper.php b/src/Services/Doctrine/DBInfoHelper.php similarity index 84% rename from src/Services/Misc/DBInfoHelper.php rename to src/Services/Doctrine/DBInfoHelper.php index 620da702..160e2d89 100644 --- a/src/Services/Misc/DBInfoHelper.php +++ b/src/Services/Doctrine/DBInfoHelper.php @@ -1,4 +1,22 @@ . + */ declare(strict_types=1); @@ -20,10 +38,10 @@ declare(strict_types=1); * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ -namespace App\Services\Misc; +namespace App\Services\Doctrine; -use Doctrine\DBAL\Exception; use Doctrine\DBAL\Connection; +use Doctrine\DBAL\Exception; use Doctrine\DBAL\Platforms\AbstractMySQLPlatform; use Doctrine\DBAL\Platforms\PostgreSQLPlatform; use Doctrine\DBAL\Platforms\SQLitePlatform; diff --git a/src/Services/Doctrine/NatsortDebugHelper.php b/src/Services/Doctrine/NatsortDebugHelper.php new file mode 100644 index 00000000..fe5b77aa --- /dev/null +++ b/src/Services/Doctrine/NatsortDebugHelper.php @@ -0,0 +1,86 @@ +. + */ + +declare(strict_types=1); + + +namespace App\Services\Doctrine; + +use App\Doctrine\Functions\Natsort; +use App\Entity\Parts\Part; +use Doctrine\ORM\EntityManagerInterface; + +/** + * This service allows to debug the natsort function by showing various information about the current state of + * the natsort function. + */ +class NatsortDebugHelper +{ + public function __construct(private readonly EntityManagerInterface $entityManager) + { + // This is a dummy constructor + } + + /** + * Check if the slow natural sort is allowed on the Natsort function. + * If it is not, then the request handler might need to be adjusted. + * @return bool + */ + public function isSlowNaturalSortAllowed(): bool + { + return Natsort::isSlowNaturalSortAllowed(); + } + + public function getNaturalSortMethod(): string + { + //Construct a dummy query which uses the Natsort function + $query = $this->entityManager->createQuery('SELECT natsort(1) FROM ' . Part::class . ' p'); + $sql = $query->getSQL(); + //Remove the leading SELECT and the trailing semicolon + $sql = substr($sql, 7, -1); + + //Remove AS and everything afterwards + $sql = preg_replace('/\s+AS\s+.*/', '', $sql); + + //If just 1 is returned, then we use normal (non-natural sorting) + if ($sql === '1') { + return 'Disabled'; + } + + if (str_contains( $sql, 'COLLATE numeric')) { + return 'Native (PostgreSQL)'; + } + + if (str_contains($sql, 'NATURAL_SORT_KEY')) { + return 'Native (MariaDB)'; + } + + if (str_contains($sql, 'COLLATE NATURAL_CMP')) { + return 'Emulation via PHP (SQLite)'; + } + + if (str_contains($sql, 'NatSortKey')) { + return 'Emulation via custom function (MySQL)'; + } + + + return 'Unknown ('. $sql . ')'; + } +} \ No newline at end of file diff --git a/templates/tools/server_infos/_db.html.twig b/templates/tools/server_infos/_db.html.twig index 0c0e60a2..828783fe 100644 --- a/templates/tools/server_infos/_db.html.twig +++ b/templates/tools/server_infos/_db.html.twig @@ -21,5 +21,13 @@ Database User {{ db_user }} + + Natural sort method + {{ db_natsort_method }} + + + Slow natural sort allowed + {{ helper.boolean_badge(db_natsort_slow_allowed) }} + \ No newline at end of file From 27a28d4adc06c040b4f13dca17de8df52bcc7143 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sun, 28 Jul 2024 17:08:55 +0200 Subject: [PATCH 011/287] Fixed the NatSortKey function where regex characters were improperly escaped in the old migration This caused a "range out of order in character class" error and propably affected the functionality of the sort function --- migrations/Version20240606203053.php | 3 +- migrations/Version20240728145604.php | 165 +++++++++++++++++++++++++++ 2 files changed, 167 insertions(+), 1 deletion(-) create mode 100644 migrations/Version20240728145604.php diff --git a/migrations/Version20240606203053.php b/migrations/Version20240606203053.php index 9692e146..83370ad6 100644 --- a/migrations/Version20240606203053.php +++ b/migrations/Version20240606203053.php @@ -343,6 +343,7 @@ final class Version20240606203053 extends AbstractMultiPlatformMigration impleme $this->addSql('ALTER TABLE webauthn_keys CHANGE public_key_credential_id public_key_credential_id LONGTEXT NOT NULL, CHANGE transports transports LONGTEXT NOT NULL, CHANGE trust_path trust_path JSON NOT NULL, CHANGE aaguid aaguid TINYTEXT NOT NULL, CHANGE credential_public_key credential_public_key LONGTEXT NOT NULL, CHANGE other_ui other_ui LONGTEXT DEFAULT NULL, CHANGE last_time_used last_time_used DATETIME DEFAULT NULL'); // Add the natural sort emulation function to the database (based on this stackoverflow: https://stackoverflow.com/questions/153633/natural-sort-in-mysql/58154535#58154535) + //This version here is wrong, and will be replaced by the correct version in the next migration (we need to use nowdoc instead of heredoc, otherwise the slashes will be wrongly escaped!!) $this->addSql(<<addSql('DROP FUNCTION IF EXISTS NatSortKey'); + + //The difference to the original function is the correct length of the suf variable and correct escaping + //We now use heredoc syntax to avoid escaping issues with the \ (which resulted in "range out of order in character class"). + $this->addSql(<<<'EOD' + CREATE DEFINER=CURRENT_USER FUNCTION `NatSortKey`(`s` VARCHAR(1000) CHARSET utf8mb4, `n` INT) RETURNS varchar(3500) CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci + DETERMINISTIC + SQL SECURITY INVOKER + BEGIN + /**** + Converts numbers in the input string s into a format such that sorting results in a nat-sort. + Numbers of up to 359 digits (before the decimal point, if one is present) are supported. Sort results are undefined if the input string contains numbers longer than this. + For n>0, only the first n numbers in the input string will be converted for nat-sort (so strings that differ only after the first n numbers will not nat-sort amongst themselves). + Total sort-ordering is preserved, i.e. if s1!=s2, then NatSortKey(s1,n)!=NatSortKey(s2,n), for any given n. + Numbers may contain ',' as a thousands separator, and '.' as a decimal point. To reverse these (as appropriate for some European locales), the code would require modification. + Numbers preceded by '+' sort with numbers not preceded with either a '+' or '-' sign. + Negative numbers (preceded with '-') sort before positive numbers, but are sorted in order of ascending absolute value (so -7 sorts BEFORE -1001). + Numbers with leading zeros sort after the same number with no (or fewer) leading zeros. + Decimal-part-only numbers (like .75) are recognised, provided the decimal point is not immediately preceded by either another '.', or by a letter-type character. + Numbers with thousand separators sort after the same number without them. + Thousand separators are only recognised in numbers with no leading zeros that don't immediately follow a ',', and when they format the number correctly. + (When not recognised as a thousand separator, a ',' will instead be treated as separating two distinct numbers). + Version-number-like sequences consisting of 3 or more numbers separated by '.' are treated as distinct entities, and each component number will be nat-sorted. + The entire entity will sort after any number beginning with the first component (so e.g. 10.2.1 sorts after both 10 and 10.995, but before 11) + Note that The first number component in an entity like this is also permitted to contain thousand separators. + + To achieve this, numbers within the input string are prefixed and suffixed according to the following format: + - The number is prefixed by a 2-digit base-36 number representing its length, excluding leading zeros. If there is a decimal point, this length only includes the integer part of the number. + - A 3-character suffix is appended after the number (after the decimals if present). + - The first character is a space, or a '+' sign if the number was preceded by '+'. Any preceding '+' sign is also removed from the front of the number. + - This is followed by a 2-digit base-36 number that encodes the number of leading zeros and whether the number was expressed in comma-separated form (e.g. 1,000,000.25 vs 1000000.25) + - The value of this 2-digit number is: (number of leading zeros)*2 + (1 if comma-separated, 0 otherwise) + - For version number sequences, each component number has the prefix in front of it, and the separating dots are removed. + Then there is a single suffix that consists of a ' ' or '+' character, followed by a pair base-36 digits for each number component in the sequence. + + e.g. here is how some simple sample strings get converted: + 'Foo055' --> 'Foo0255 02' + 'Absolute zero is around -273 centigrade' --> 'Absolute zero is around -03273 00 centigrade' + 'The $1,000,000 prize' --> 'The $071000000 01 prize' + '+99.74 degrees' --> '0299.74+00 degrees' + 'I have 0 apples' --> 'I have 00 02 apples' + '.5 is the same value as 0000.5000' --> '00.5 00 is the same value as 00.5000 08' + 'MariaDB v10.3.0018' --> 'MariaDB v02100130218 000004' + + The restriction to numbers of up to 359 digits comes from the fact that the first character of the base-36 prefix MUST be a decimal digit, and so the highest permitted prefix value is '9Z' or 359 decimal. + The code could be modified to handle longer numbers by increasing the size of (both) the prefix and suffix. + A higher base could also be used (by replacing CONV() with a custom function), provided that the collation you are using sorts the "digits" of the base in the correct order, starting with 0123456789. + However, while the maximum number length may be increased this way, note that the technique this function uses is NOT applicable where strings may contain numbers of unlimited length. + + The function definition does not specify the charset or collation to be used for string-type parameters or variables: The default database charset & collation at the time the function is defined will be used. + This is to make the function code more portable. However, there are some important restrictions: + + - Collation is important here only when comparing (or storing) the output value from this function, but it MUST order the characters " +0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" in that order for the natural sort to work. + This is true for most collations, but not all of them, e.g. in Lithuanian 'Y' comes before 'J' (according to Wikipedia). + To adapt the function to work with such collations, replace CONV() in the function code with a custom function that emits "digits" above 9 that are characters ordered according to the collation in use. + + - For efficiency, the function code uses LENGTH() rather than CHAR_LENGTH() to measure the length of strings that consist only of digits 0-9, '.', and ',' characters. + This works for any single-byte charset, as well as any charset that maps standard ASCII characters to single bytes (such as utf8 or utf8mb4). + If using a charset that maps these characters to multiple bytes (such as, e.g. utf16 or utf32), you MUST replace all instances of LENGTH() in the function definition with CHAR_LENGTH() + + Length of the output: + + Each number converted adds 5 characters (2 prefix + 3 suffix) to the length of the string. n is the maximum count of numbers to convert; + This parameter is provided as a means to limit the maximum output length (to input length + 5*n). + If you do not require the total-ordering property, you could edit the code to use suffixes of 1 character (space or plus) only; this would reduce the maximum output length for any given n. + Since a string of length L has at most ((L+1) DIV 2) individual numbers in it (every 2nd character a digit), for n<=0 the maximum output length is (inputlength + 5*((inputlength+1) DIV 2)) + So for the current input length of 100, the maximum output length is 350. + If changing the input length, the output length must be modified according to the above formula. The DECLARE statements for x,y,r, and suf must also be modified, as the code comments indicate. + ****/ + + DECLARE x,y varchar(1000); # need to be same length as input s + DECLARE r varchar(3500) DEFAULT ''; # return value: needs to be same length as return type + DECLARE suf varchar(1001); # suffix for a number or version string. Must be (((inputlength+1) DIV 2)*2 + 1) chars to support version strings (e.g. '1.2.33.5'), though it's usually just 3 chars. (Max version string e.g. 1.2. ... .5 has ((length of input + 1) DIV 2) numeric components) + DECLARE i,j,k int UNSIGNED; + IF n<=0 THEN SET n := -1; END IF; # n<=0 means "process all numbers" + LOOP + SET i := REGEXP_INSTR(s,'\\d'); # find position of next digit + IF i=0 OR n=0 THEN RETURN CONCAT(r,s); END IF; # no more numbers to process -> we're done + SET n := n-1, suf := ' '; + IF i>1 THEN + IF SUBSTRING(s,i-1,1)='.' AND (i=2 OR SUBSTRING(s,i-2,1) RLIKE '[^.\\p{L}\\p{N}\\p{M}\\x{608}\\x{200C}\\x{200D}\\x{2100}-\\x{214F}\\x{24B6}-\\x{24E9}\\x{1F130}-\\x{1F149}\\x{1F150}-\\x{1F169}\\x{1F170}-\\x{1F189}]') AND (SUBSTRING(s,i) NOT RLIKE '^\\d++\\.\\d') THEN SET i:=i-1; END IF; # Allow decimal number (but not version string) to begin with a '.', provided preceding char is neither another '.', nor a member of the unicode character classes: "Alphabetic", "Letter", "Block=Letterlike Symbols" "Number", "Mark", "Join_Control" + IF i>1 AND SUBSTRING(s,i-1,1)='+' THEN SET suf := '+', j := i-1; ELSE SET j := i; END IF; # move any preceding '+' into the suffix, so equal numbers with and without preceding "+" signs sort together + SET r := CONCAT(r,SUBSTRING(s,1,j-1)); SET s = SUBSTRING(s,i); # add everything before the number to r and strip it from the start of s; preceding '+' is dropped (not included in either r or s) + END IF; + SET x := REGEXP_SUBSTR(s,IF(SUBSTRING(s,1,1) IN ('0','.') OR (SUBSTRING(r,-1)=',' AND suf=' '),'^\\d*+(?:\\.\\d++)*','^(?:[1-9]\\d{0,2}(?:,\\d{3}(?!\\d))++|\\d++)(?:\\.\\d++)*+')); # capture the number + following decimals (including multiple consecutive '.' sequences) + SET s := SUBSTRING(s,CHAR_LENGTH(x)+1); # NOTE: CHAR_LENGTH() can be safely used instead of CHAR_LENGTH() here & below PROVIDED we're using a charset that represents digits, ',' and '.' characters using single bytes (e.g. latin1, utf8) + SET i := INSTR(x,'.'); + IF i=0 THEN SET y := ''; ELSE SET y := SUBSTRING(x,i); SET x := SUBSTRING(x,1,i-1); END IF; # move any following decimals into y + SET i := CHAR_LENGTH(x); + SET x := REPLACE(x,',',''); + SET j := CHAR_LENGTH(x); + SET x := TRIM(LEADING '0' FROM x); # strip leading zeros + SET k := CHAR_LENGTH(x); + SET suf := CONCAT(suf,LPAD(CONV(LEAST((j-k)*2,1294) + IF(i=j,0,1),10,36),2,'0')); # (j-k)*2 + IF(i=j,0,1) = (count of leading zeros)*2 + (1 if there are thousands-separators, 0 otherwise) Note the first term is bounded to <= base-36 'ZY' as it must fit within 2 characters + SET i := LOCATE('.',y,2); + IF i=0 THEN + SET r := CONCAT(r,LPAD(CONV(LEAST(k,359),10,36),2,'0'),x,y,suf); # k = count of digits in number, bounded to be <= '9Z' base-36 + ELSE # encode a version number (like 3.12.707, etc) + SET r := CONCAT(r,LPAD(CONV(LEAST(k,359),10,36),2,'0'),x); # k = count of digits in number, bounded to be <= '9Z' base-36 + WHILE CHAR_LENGTH(y)>0 AND n!=0 DO + IF i=0 THEN SET x := SUBSTRING(y,2); SET y := ''; ELSE SET x := SUBSTRING(y,2,i-2); SET y := SUBSTRING(y,i); SET i := LOCATE('.',y,2); END IF; + SET j := CHAR_LENGTH(x); + SET x := TRIM(LEADING '0' FROM x); # strip leading zeros + SET k := CHAR_LENGTH(x); + SET r := CONCAT(r,LPAD(CONV(LEAST(k,359),10,36),2,'0'),x); # k = count of digits in number, bounded to be <= '9Z' base-36 + SET suf := CONCAT(suf,LPAD(CONV(LEAST((j-k)*2,1294),10,36),2,'0')); # (j-k)*2 = (count of leading zeros)*2, bounded to fit within 2 base-36 digits + SET n := n-1; + END WHILE; + SET r := CONCAT(r,y,suf); + END IF; + END LOOP; + END + EOD + ); + } + + public function mySQLDown(Schema $schema): void + { + //Not needed + } + + public function sqLiteUp(Schema $schema): void + { + //Not needed + } + + public function sqLiteDown(Schema $schema): void + { + //Not needed + } + + public function postgreSQLUp(Schema $schema): void + { + //Not needed + } + + public function postgreSQLDown(Schema $schema): void + { + //Not needed + } +} From 1aee0a91c084f1952a8b6ee3d42ccbf45b6e5149 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sun, 28 Jul 2024 22:52:44 +0200 Subject: [PATCH 012/287] Workaround symfonys issue with NumberType and negative exponential e-notation number This fixes issue #649 --- phpstan.dist.neon | 1 + src/Form/Fixes/FixNumberType.php | 51 ++++ ...ixedNumberToLocalizedStringTransformer.php | 228 ++++++++++++++++++ 3 files changed, 280 insertions(+) create mode 100644 src/Form/Fixes/FixNumberType.php create mode 100644 src/Form/Fixes/FixedNumberToLocalizedStringTransformer.php diff --git a/phpstan.dist.neon b/phpstan.dist.neon index 646d29e6..feccdcf6 100644 --- a/phpstan.dist.neon +++ b/phpstan.dist.neon @@ -11,6 +11,7 @@ parameters: - src/Configuration/* - src/Doctrine/Purger/* - src/DataTables/Adapters/TwoStepORMAdapter.php + - src/Form/Fixes/* diff --git a/src/Form/Fixes/FixNumberType.php b/src/Form/Fixes/FixNumberType.php new file mode 100644 index 00000000..a020a9b9 --- /dev/null +++ b/src/Form/Fixes/FixNumberType.php @@ -0,0 +1,51 @@ +. + */ + +declare(strict_types=1); + + +namespace App\Form\Fixes; + +use Symfony\Component\Form\AbstractTypeExtension; +use Symfony\Component\Form\Extension\Core\Type\NumberType; +use Symfony\Component\Form\FormBuilderInterface; + +class FixNumberType extends AbstractTypeExtension +{ + + public function buildForm(FormBuilderInterface $builder, array $options) + { + //Remove existing view transformers + $builder->resetViewTransformers(); + + //And add our fixed version + $builder->addViewTransformer(new FixedNumberToLocalizedStringTransformer( + $options['scale'], + $options['grouping'], + $options['rounding_mode'], + $options['html5'] ? 'en' : null + )); + } + + public static function getExtendedTypes(): iterable + { + return [NumberType::class]; + } +} \ No newline at end of file diff --git a/src/Form/Fixes/FixedNumberToLocalizedStringTransformer.php b/src/Form/Fixes/FixedNumberToLocalizedStringTransformer.php new file mode 100644 index 00000000..5d8c439f --- /dev/null +++ b/src/Form/Fixes/FixedNumberToLocalizedStringTransformer.php @@ -0,0 +1,228 @@ +. + */ + + +namespace App\Form\Fixes; + +use Symfony\Component\Form\DataTransformerInterface; +use Symfony\Component\Form\Exception\TransformationFailedException; + +/** + * Same as the default NumberToLocalizedStringTransformer, but with a fix for the decimal separator. + * See https://github.com/symfony/symfony/pull/57861 + */ +class FixedNumberToLocalizedStringTransformer implements DataTransformerInterface +{ + protected $grouping; + + protected $roundingMode; + + private ?int $scale; + private ?string $locale; + + public function __construct(?int $scale = null, ?bool $grouping = false, ?int $roundingMode = \NumberFormatter::ROUND_HALFUP, ?string $locale = null) + { + $this->scale = $scale; + $this->grouping = $grouping ?? false; + $this->roundingMode = $roundingMode ?? \NumberFormatter::ROUND_HALFUP; + $this->locale = $locale; + } + + /** + * Transforms a number type into localized number. + * + * @param int|float|null $value Number value + * + * @throws TransformationFailedException if the given value is not numeric + * or if the value cannot be transformed + */ + public function transform(mixed $value): string + { + if (null === $value) { + return ''; + } + + if (!is_numeric($value)) { + throw new TransformationFailedException('Expected a numeric.'); + } + + $formatter = $this->getNumberFormatter(); + $value = $formatter->format($value); + + if (intl_is_failure($formatter->getErrorCode())) { + throw new TransformationFailedException($formatter->getErrorMessage()); + } + + // Convert non-breaking and narrow non-breaking spaces to normal ones + $value = str_replace(["\xc2\xa0", "\xe2\x80\xaf"], ' ', $value); + + return $value; + } + + /** + * Transforms a localized number into an integer or float. + * + * @param string $value The localized value + * + * @throws TransformationFailedException if the given value is not a string + * or if the value cannot be transformed + */ + public function reverseTransform(mixed $value): int|float|null + { + if (null !== $value && !\is_string($value)) { + throw new TransformationFailedException('Expected a string.'); + } + + if (null === $value || '' === $value) { + return null; + } + + if (\in_array($value, ['NaN', 'NAN', 'nan'], true)) { + throw new TransformationFailedException('"NaN" is not a valid number.'); + } + + $position = 0; + $formatter = $this->getNumberFormatter(); + $groupSep = $formatter->getSymbol(\NumberFormatter::GROUPING_SEPARATOR_SYMBOL); + $decSep = $formatter->getSymbol(\NumberFormatter::DECIMAL_SEPARATOR_SYMBOL); + + if ('.' !== $decSep && (!$this->grouping || '.' !== $groupSep)) { + $value = str_replace('.', $decSep, $value); + } + + if (',' !== $decSep && (!$this->grouping || ',' !== $groupSep)) { + $value = str_replace(',', $decSep, $value); + } + + //If the value is in exponential notation with a negative exponent, we end up with a float value too + if (str_contains($value, $decSep) || stripos($value, 'e-') !== false) { + $type = \NumberFormatter::TYPE_DOUBLE; + } else { + $type = \PHP_INT_SIZE === 8 + ? \NumberFormatter::TYPE_INT64 + : \NumberFormatter::TYPE_INT32; + } + + $result = $formatter->parse($value, $type, $position); + + if (intl_is_failure($formatter->getErrorCode())) { + throw new TransformationFailedException($formatter->getErrorMessage()); + } + + if ($result >= \PHP_INT_MAX || $result <= -\PHP_INT_MAX) { + throw new TransformationFailedException('I don\'t have a clear idea what infinity looks like.'); + } + + $result = $this->castParsedValue($result); + + if (false !== $encoding = mb_detect_encoding($value, null, true)) { + $length = mb_strlen($value, $encoding); + $remainder = mb_substr($value, $position, $length, $encoding); + } else { + $length = \strlen($value); + $remainder = substr($value, $position, $length); + } + + // After parsing, position holds the index of the character where the + // parsing stopped + if ($position < $length) { + // Check if there are unrecognized characters at the end of the + // number (excluding whitespace characters) + $remainder = trim($remainder, " \t\n\r\0\x0b\xc2\xa0"); + + if ('' !== $remainder) { + throw new TransformationFailedException(sprintf('The number contains unrecognized characters: "%s".', $remainder)); + } + } + + // NumberFormatter::parse() does not round + return $this->round($result); + } + + /** + * Returns a preconfigured \NumberFormatter instance. + */ + protected function getNumberFormatter(): \NumberFormatter + { + $formatter = new \NumberFormatter($this->locale ?? \Locale::getDefault(), \NumberFormatter::DECIMAL); + + if (null !== $this->scale) { + $formatter->setAttribute(\NumberFormatter::FRACTION_DIGITS, $this->scale); + $formatter->setAttribute(\NumberFormatter::ROUNDING_MODE, $this->roundingMode); + } + + $formatter->setAttribute(\NumberFormatter::GROUPING_USED, $this->grouping); + + return $formatter; + } + + /** + * @internal + */ + protected function castParsedValue(int|float $value): int|float + { + if (\is_int($value) && $value === (int) $float = (float) $value) { + return $float; + } + + return $value; + } + + /** + * Rounds a number according to the configured scale and rounding mode. + */ + private function round(int|float $number): int|float + { + if (null !== $this->scale && null !== $this->roundingMode) { + // shift number to maintain the correct scale during rounding + $roundingCoef = 10 ** $this->scale; + // string representation to avoid rounding errors, similar to bcmul() + $number = (string) ($number * $roundingCoef); + + switch ($this->roundingMode) { + case \NumberFormatter::ROUND_CEILING: + $number = ceil($number); + break; + case \NumberFormatter::ROUND_FLOOR: + $number = floor($number); + break; + case \NumberFormatter::ROUND_UP: + $number = $number > 0 ? ceil($number) : floor($number); + break; + case \NumberFormatter::ROUND_DOWN: + $number = $number > 0 ? floor($number) : ceil($number); + break; + case \NumberFormatter::ROUND_HALFEVEN: + $number = round($number, 0, \PHP_ROUND_HALF_EVEN); + break; + case \NumberFormatter::ROUND_HALFUP: + $number = round($number, 0, \PHP_ROUND_HALF_UP); + break; + case \NumberFormatter::ROUND_HALFDOWN: + $number = round($number, 0, \PHP_ROUND_HALF_DOWN); + break; + } + + $number = 1 === $roundingCoef ? (int) $number : $number / $roundingCoef; + } + + return $number; + } +} \ No newline at end of file From 21c3c45150d8c214908e1c227b7e59f0bb597f1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sun, 28 Jul 2024 23:18:36 +0200 Subject: [PATCH 013/287] Introduced a custom ExponentialNumberType for parameter values This type shows small values in exponential notation instead of rounding it to zero. --- src/Form/ParameterType.php | 7 +- src/Form/Type/ExponentialNumberType.php | 52 ++++++++++ .../Helper/ExponentialNumberTransformer.php | 96 +++++++++++++++++++ 3 files changed, 152 insertions(+), 3 deletions(-) create mode 100644 src/Form/Type/ExponentialNumberType.php create mode 100644 src/Form/Type/Helper/ExponentialNumberTransformer.php diff --git a/src/Form/ParameterType.php b/src/Form/ParameterType.php index 517bb48c..d0183dab 100644 --- a/src/Form/ParameterType.php +++ b/src/Form/ParameterType.php @@ -53,6 +53,7 @@ use App\Entity\Parameters\PartParameter; use App\Entity\Parameters\StorageLocationParameter; use App\Entity\Parameters\SupplierParameter; use App\Entity\Parts\MeasurementUnit; +use App\Form\Type\ExponentialNumberType; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\Extension\Core\Type\NumberType; use Symfony\Component\Form\Extension\Core\Type\TextType; @@ -93,7 +94,7 @@ class ParameterType extends AbstractType ], ]); - $builder->add('value_max', NumberType::class, [ + $builder->add('value_max', ExponentialNumberType::class, [ 'label' => false, 'required' => false, 'html5' => true, @@ -104,7 +105,7 @@ class ParameterType extends AbstractType 'style' => 'max-width: 12ch;', ], ]); - $builder->add('value_min', NumberType::class, [ + $builder->add('value_min', ExponentialNumberType::class, [ 'label' => false, 'required' => false, 'html5' => true, @@ -115,7 +116,7 @@ class ParameterType extends AbstractType 'style' => 'max-width: 12ch;', ], ]); - $builder->add('value_typical', NumberType::class, [ + $builder->add('value_typical', ExponentialNumberType::class, [ 'label' => false, 'required' => false, 'html5' => true, diff --git a/src/Form/Type/ExponentialNumberType.php b/src/Form/Type/ExponentialNumberType.php new file mode 100644 index 00000000..4f2d54bd --- /dev/null +++ b/src/Form/Type/ExponentialNumberType.php @@ -0,0 +1,52 @@ +. + */ + +declare(strict_types=1); + + +namespace App\Form\Type; + +use App\Form\Type\Helper\ExponentialNumberTransformer; +use Symfony\Component\Form\AbstractType; +use Symfony\Component\Form\Extension\Core\Type\NumberType; +use Symfony\Component\Form\FormBuilderInterface; + +/** + * Similar to the NumberType, but formats small values in scienfitic notation instead of rounding it to 0, like NumberType + */ +class ExponentialNumberType extends AbstractType +{ + public function getParent(): string + { + return NumberType::class; + } + + public function buildForm(FormBuilderInterface $builder, array $options) + { + $builder->resetViewTransformers(); + + $builder->addViewTransformer(new ExponentialNumberTransformer( + $options['scale'], + $options['grouping'], + $options['rounding_mode'], + $options['html5'] ? 'en' : null + )); + } +} \ No newline at end of file diff --git a/src/Form/Type/Helper/ExponentialNumberTransformer.php b/src/Form/Type/Helper/ExponentialNumberTransformer.php new file mode 100644 index 00000000..6080d68d --- /dev/null +++ b/src/Form/Type/Helper/ExponentialNumberTransformer.php @@ -0,0 +1,96 @@ +. + */ + +declare(strict_types=1); + + +namespace App\Form\Type\Helper; + +use App\Form\Fixes\FixedNumberToLocalizedStringTransformer; +use Symfony\Component\Form\Exception\TransformationFailedException; + +/** + * This transformer formats small values in scienfitic notation instead of rounding it to 0, like the default + * NumberFormatter. + */ +class ExponentialNumberTransformer extends FixedNumberToLocalizedStringTransformer +{ + public function __construct( + protected ?int $scale = null, + ?bool $grouping = false, + ?int $roundingMode = \NumberFormatter::ROUND_HALFUP, + protected ?string $locale = null + ) { + parent::__construct($scale, $grouping, $roundingMode, $locale); + } + + /** + * Transforms a number type into localized number. + * + * @param int|float|null $value Number value + * + * @throws TransformationFailedException if the given value is not numeric + * or if the value cannot be transformed + */ + public function transform(mixed $value): string + { + if (null === $value) { + return ''; + } + + if (!is_numeric($value)) { + throw new TransformationFailedException('Expected a numeric.'); + } + + //If the value is too small, the number formatter would return 0, therfore use exponential notation for small numbers + if (abs($value) < 1e-3) { + $formatter = $this->getScientificNumberFormatter(); + } else { + $formatter = $this->getNumberFormatter(); + } + + + + $value = $formatter->format($value); + + if (intl_is_failure($formatter->getErrorCode())) { + throw new TransformationFailedException($formatter->getErrorMessage()); + } + + // Convert non-breaking and narrow non-breaking spaces to normal ones + $value = str_replace(["\xc2\xa0", "\xe2\x80\xaf"], ' ', $value); + + return $value; + } + + protected function getScientificNumberFormatter(): \NumberFormatter + { + $formatter = new \NumberFormatter($this->locale ?? \Locale::getDefault(), \NumberFormatter::SCIENTIFIC); + + if (null !== $this->scale) { + $formatter->setAttribute(\NumberFormatter::FRACTION_DIGITS, $this->scale); + $formatter->setAttribute(\NumberFormatter::ROUNDING_MODE, $this->roundingMode); + } + + $formatter->setAttribute(\NumberFormatter::GROUPING_USED, (int) $this->grouping); + + return $formatter; + } +} \ No newline at end of file From a169623866aa929e45a910a0e28edcd40a7b993e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sun, 28 Jul 2024 23:20:47 +0200 Subject: [PATCH 014/287] Bump version to 1.13.2 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index e17c6ab2..61ce01b3 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.13.2-dev +1.13.2 From fd521acaa480dbf0d804dd95dd63d4803de6b57b Mon Sep 17 00:00:00 2001 From: frank-f Date: Wed, 21 Aug 2024 17:35:55 +0200 Subject: [PATCH 015/287] Update LCSCProvider field for real datasheet URL (#670) --- src/Services/InfoProviderSystem/Providers/LCSCProvider.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Services/InfoProviderSystem/Providers/LCSCProvider.php b/src/Services/InfoProviderSystem/Providers/LCSCProvider.php index cdd85d07..601d5ebc 100755 --- a/src/Services/InfoProviderSystem/Providers/LCSCProvider.php +++ b/src/Services/InfoProviderSystem/Providers/LCSCProvider.php @@ -102,11 +102,11 @@ class LCSCProvider implements InfoProviderInterface 'Referer' => 'https://www.lcsc.com/product-detail/_' . $matches[2] . '.html' ], ]); - if (preg_match('/(pdfUrl): ?("[^"]+wmsc\.lcsc\.com[^"]+\.pdf")/', $response->getContent(), $matches) > 0) { + if (preg_match('/(previewPdfUrl): ?("[^"]+wmsc\.lcsc\.com[^"]+\.pdf")/', $response->getContent(), $matches) > 0) { //HACKY: The URL string contains escaped characters like \u002F, etc. To decode it, the JSON decoding is reused //See https://github.com/Part-DB/Part-DB-server/pull/582#issuecomment-2033125934 $jsonObj = json_decode('{"' . $matches[1] . '": ' . $matches[2] . '}'); - $url = $jsonObj->pdfUrl; + $url = $jsonObj->previewPdfUrl; } } return $url; From 6650e2da3db9d8a32d361ab721b3857b918da2da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Fri, 23 Aug 2024 21:57:37 +0200 Subject: [PATCH 016/287] Updated dependencies --- composer.lock | 491 ++++++++++++++++++++++++++++-------------------- yarn.lock | 503 ++++++++++++++++++++++++-------------------------- 2 files changed, 530 insertions(+), 464 deletions(-) diff --git a/composer.lock b/composer.lock index ce972bf0..cc65db4c 100644 --- a/composer.lock +++ b/composer.lock @@ -889,16 +889,16 @@ }, { "name": "amphp/sync", - "version": "v2.2.0", + "version": "v2.3.0", "source": { "type": "git", "url": "https://github.com/amphp/sync.git", - "reference": "375ef5b54a0d12c38e12728dde05a55e30f2fbec" + "reference": "217097b785130d77cfcc58ff583cf26cd1770bf1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/amphp/sync/zipball/375ef5b54a0d12c38e12728dde05a55e30f2fbec", - "reference": "375ef5b54a0d12c38e12728dde05a55e30f2fbec", + "url": "https://api.github.com/repos/amphp/sync/zipball/217097b785130d77cfcc58ff583cf26cd1770bf1", + "reference": "217097b785130d77cfcc58ff583cf26cd1770bf1", "shasum": "" }, "require": { @@ -952,7 +952,7 @@ ], "support": { "issues": "https://github.com/amphp/sync/issues", - "source": "https://github.com/amphp/sync/tree/v2.2.0" + "source": "https://github.com/amphp/sync/tree/v2.3.0" }, "funding": [ { @@ -960,7 +960,7 @@ "type": "github" } ], - "time": "2024-03-12T01:00:01+00:00" + "time": "2024-08-03T19:31:26+00:00" }, { "name": "amphp/windows-registry", @@ -1925,16 +1925,16 @@ }, { "name": "doctrine/dbal", - "version": "4.0.4", + "version": "4.1.0", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "50fda19f80724b55ff770bb4ff352407008e63c5" + "reference": "2377cd41609aa51bee822c8d207317a3f363a558" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/50fda19f80724b55ff770bb4ff352407008e63c5", - "reference": "50fda19f80724b55ff770bb4ff352407008e63c5", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/2377cd41609aa51bee822c8d207317a3f363a558", + "reference": "2377cd41609aa51bee822c8d207317a3f363a558", "shasum": "" }, "require": { @@ -1947,13 +1947,13 @@ "doctrine/coding-standard": "12.0.0", "fig/log-test": "^1", "jetbrains/phpstorm-stubs": "2023.2", - "phpstan/phpstan": "1.11.5", + "phpstan/phpstan": "1.11.7", "phpstan/phpstan-phpunit": "1.4.0", "phpstan/phpstan-strict-rules": "^1.6", - "phpunit/phpunit": "10.5.22", + "phpunit/phpunit": "10.5.28", "psalm/plugin-phpunit": "0.19.0", "slevomat/coding-standard": "8.13.1", - "squizlabs/php_codesniffer": "3.10.1", + "squizlabs/php_codesniffer": "3.10.2", "symfony/cache": "^6.3.8|^7.0", "symfony/console": "^5.4|^6.3|^7.0", "vimeo/psalm": "5.24.0" @@ -2013,7 +2013,7 @@ ], "support": { "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/4.0.4" + "source": "https://github.com/doctrine/dbal/tree/4.1.0" }, "funding": [ { @@ -2029,7 +2029,7 @@ "type": "tidelift" } ], - "time": "2024-06-19T11:57:23+00:00" + "time": "2024-08-15T07:37:07+00:00" }, { "name": "doctrine/deprecations", @@ -2723,16 +2723,16 @@ }, { "name": "doctrine/orm", - "version": "3.2.1", + "version": "3.2.2", "source": { "type": "git", "url": "https://github.com/doctrine/orm.git", - "reference": "722cea6536775206e81744542b36fa7c9a4ea3e5" + "reference": "831a1eb7d260925528cdbb49cc1866c0357cf147" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/orm/zipball/722cea6536775206e81744542b36fa7c9a4ea3e5", - "reference": "722cea6536775206e81744542b36fa7c9a4ea3e5", + "url": "https://api.github.com/repos/doctrine/orm/zipball/831a1eb7d260925528cdbb49cc1866c0357cf147", + "reference": "831a1eb7d260925528cdbb49cc1866c0357cf147", "shasum": "" }, "require": { @@ -2805,9 +2805,9 @@ ], "support": { "issues": "https://github.com/doctrine/orm/issues", - "source": "https://github.com/doctrine/orm/tree/3.2.1" + "source": "https://github.com/doctrine/orm/tree/3.2.2" }, - "time": "2024-06-26T21:48:58+00:00" + "time": "2024-08-23T10:03:52+00:00" }, { "name": "doctrine/persistence", @@ -2908,16 +2908,16 @@ }, { "name": "doctrine/sql-formatter", - "version": "1.4.0", + "version": "1.4.1", "source": { "type": "git", "url": "https://github.com/doctrine/sql-formatter.git", - "reference": "d1ac84aef745c69ea034929eb6d65a6908b675cc" + "reference": "7f83911cc5eba870de7ebb11283972483f7e2891" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/sql-formatter/zipball/d1ac84aef745c69ea034929eb6d65a6908b675cc", - "reference": "d1ac84aef745c69ea034929eb6d65a6908b675cc", + "url": "https://api.github.com/repos/doctrine/sql-formatter/zipball/7f83911cc5eba870de7ebb11283972483f7e2891", + "reference": "7f83911cc5eba870de7ebb11283972483f7e2891", "shasum": "" }, "require": { @@ -2957,9 +2957,9 @@ ], "support": { "issues": "https://github.com/doctrine/sql-formatter/issues", - "source": "https://github.com/doctrine/sql-formatter/tree/1.4.0" + "source": "https://github.com/doctrine/sql-formatter/tree/1.4.1" }, - "time": "2024-05-08T08:12:09+00:00" + "time": "2024-08-05T20:32:22+00:00" }, { "name": "dompdf/dompdf", @@ -4501,32 +4501,31 @@ }, { "name": "knpuniversity/oauth2-client-bundle", - "version": "v2.18.1", + "version": "v2.18.2", "source": { "type": "git", "url": "https://github.com/knpuniversity/oauth2-client-bundle.git", - "reference": "1d59f49f164805b45f95f92cf743781bc2ba7d2b" + "reference": "0f8db87efa064bc1800315c027a80b53ef935524" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/knpuniversity/oauth2-client-bundle/zipball/1d59f49f164805b45f95f92cf743781bc2ba7d2b", - "reference": "1d59f49f164805b45f95f92cf743781bc2ba7d2b", + "url": "https://api.github.com/repos/knpuniversity/oauth2-client-bundle/zipball/0f8db87efa064bc1800315c027a80b53ef935524", + "reference": "0f8db87efa064bc1800315c027a80b53ef935524", "shasum": "" }, "require": { "league/oauth2-client": "^2.0", "php": ">=8.1", - "symfony/dependency-injection": "^4.4|^5.0|^6.0|^7.0", - "symfony/framework-bundle": "^4.4|^5.0|^6.0|^7.0", - "symfony/http-foundation": "^4.4|^5.0|^6.0|^7.0", - "symfony/routing": "^4.4|^5.0|^6.0|^7.0" + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/framework-bundle": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^5.4|^6.0|^7.0", + "symfony/routing": "^5.4|^6.0|^7.0" }, "require-dev": { "league/oauth2-facebook": "^1.1|^2.0", - "phpstan/phpstan": "^1.0", - "symfony/phpunit-bridge": "^5.3.1|^6.0|^7.0", - "symfony/security-guard": "^4.4|^5.0|^6.0|^7.0", - "symfony/yaml": "^4.4|^5.0|^6.0|^7.0" + "symfony/phpunit-bridge": "^5.4|^6.0|^7.0", + "symfony/security-guard": "^5.4", + "symfony/yaml": "^5.4|^6.0|^7.0" }, "suggest": { "symfony/security-guard": "For integration with Symfony's Guard Security layer" @@ -4555,9 +4554,9 @@ ], "support": { "issues": "https://github.com/knpuniversity/oauth2-client-bundle/issues", - "source": "https://github.com/knpuniversity/oauth2-client-bundle/tree/v2.18.1" + "source": "https://github.com/knpuniversity/oauth2-client-bundle/tree/v2.18.2" }, - "time": "2024-02-14T17:41:28+00:00" + "time": "2024-08-12T15:26:07+00:00" }, { "name": "laminas/laminas-code", @@ -7589,16 +7588,16 @@ }, { "name": "psr/log", - "version": "3.0.0", + "version": "3.0.1", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" + "reference": "79dff0b268932c640297f5208d6298f71855c03e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", + "url": "https://api.github.com/repos/php-fig/log/zipball/79dff0b268932c640297f5208d6298f71855c03e", + "reference": "79dff0b268932c640297f5208d6298f71855c03e", "shasum": "" }, "require": { @@ -7633,9 +7632,9 @@ "psr-3" ], "support": { - "source": "https://github.com/php-fig/log/tree/3.0.0" + "source": "https://github.com/php-fig/log/tree/3.0.1" }, - "time": "2021-07-14T16:46:02+00:00" + "time": "2024-08-21T13:31:24+00:00" }, { "name": "psr/simple-cache", @@ -8347,16 +8346,16 @@ }, { "name": "shivas/versioning-bundle", - "version": "4.1.0", + "version": "4.1.1", "source": { "type": "git", "url": "https://github.com/shivas/versioning-bundle.git", - "reference": "fd09c29bee656419d1273e4a00b13e0f8154a4c3" + "reference": "fd89e3501ff1b0d3e6abe61eb7a878d1d4746868" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/shivas/versioning-bundle/zipball/fd09c29bee656419d1273e4a00b13e0f8154a4c3", - "reference": "fd09c29bee656419d1273e4a00b13e0f8154a4c3", + "url": "https://api.github.com/repos/shivas/versioning-bundle/zipball/fd89e3501ff1b0d3e6abe61eb7a878d1d4746868", + "reference": "fd89e3501ff1b0d3e6abe61eb7a878d1d4746868", "shasum": "" }, "require": { @@ -8400,10 +8399,10 @@ ], "support": { "issues": "https://github.com/shivas/versioning-bundle/issues", - "source": "https://github.com/shivas/versioning-bundle/tree/4.1.0", + "source": "https://github.com/shivas/versioning-bundle/tree/4.1.1", "wiki": "https://github.com/shivas/versioning-bundle/wiki" }, - "time": "2024-03-16T16:50:44+00:00" + "time": "2024-08-14T19:33:15+00:00" }, { "name": "spatie/db-dumper", @@ -10076,16 +10075,16 @@ }, { "name": "symfony/flex", - "version": "v2.4.5", + "version": "v2.4.6", "source": { "type": "git", "url": "https://github.com/symfony/flex.git", - "reference": "b0a405f40614c9f584b489d54f91091817b0e26e" + "reference": "4dc11919791f81d087a12db2ab4c7e044431ef6b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/flex/zipball/b0a405f40614c9f584b489d54f91091817b0e26e", - "reference": "b0a405f40614c9f584b489d54f91091817b0e26e", + "url": "https://api.github.com/repos/symfony/flex/zipball/4dc11919791f81d087a12db2ab4c7e044431ef6b", + "reference": "4dc11919791f81d087a12db2ab4c7e044431ef6b", "shasum": "" }, "require": { @@ -10121,7 +10120,7 @@ "description": "Composer plugin for Symfony", "support": { "issues": "https://github.com/symfony/flex/issues", - "source": "https://github.com/symfony/flex/tree/v2.4.5" + "source": "https://github.com/symfony/flex/tree/v2.4.6" }, "funding": [ { @@ -10137,7 +10136,7 @@ "type": "tidelift" } ], - "time": "2024-03-02T08:16:47+00:00" + "time": "2024-04-27T10:22:22+00:00" }, { "name": "symfony/form", @@ -11932,6 +11931,82 @@ ], "time": "2024-05-31T15:07:36+00:00" }, + { + "name": "symfony/polyfill-php81", + "version": "v1.30.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php81.git", + "reference": "3fb075789fb91f9ad9af537c4012d523085bd5af" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/3fb075789fb91f9ad9af537c4012d523085bd5af", + "reference": "3fb075789fb91f9ad9af537c4012d523085bd5af", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php81\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php81/tree/v1.30.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-06-19T12:30:46+00:00" + }, { "name": "symfony/polyfill-php82", "version": "v1.30.0", @@ -13304,16 +13379,16 @@ }, { "name": "symfony/stimulus-bundle", - "version": "v2.18.1", + "version": "v2.19.0", "source": { "type": "git", "url": "https://github.com/symfony/stimulus-bundle.git", - "reference": "017b60e036c366c8ce0e77864d5aabab436ad73d" + "reference": "5e2e1aff3e7cff2875e2f901437543fda9ca9910" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stimulus-bundle/zipball/017b60e036c366c8ce0e77864d5aabab436ad73d", - "reference": "017b60e036c366c8ce0e77864d5aabab436ad73d", + "url": "https://api.github.com/repos/symfony/stimulus-bundle/zipball/5e2e1aff3e7cff2875e2f901437543fda9ca9910", + "reference": "5e2e1aff3e7cff2875e2f901437543fda9ca9910", "shasum": "" }, "require": { @@ -13353,7 +13428,7 @@ "symfony-ux" ], "support": { - "source": "https://github.com/symfony/stimulus-bundle/tree/v2.18.1" + "source": "https://github.com/symfony/stimulus-bundle/tree/v2.19.0" }, "funding": [ { @@ -13369,7 +13444,7 @@ "type": "tidelift" } ], - "time": "2024-06-11T13:21:54+00:00" + "time": "2024-07-30T19:26:23+00:00" }, { "name": "symfony/stopwatch", @@ -13961,16 +14036,16 @@ }, { "name": "symfony/ux-translator", - "version": "v2.18.1", + "version": "v2.19.3", "source": { "type": "git", "url": "https://github.com/symfony/ux-translator.git", - "reference": "e17e0b5a472b6452bfee17ba38be44c19c03be7a" + "reference": "2c0027a4aeda6a9c58db7428862c778e106c12a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/ux-translator/zipball/e17e0b5a472b6452bfee17ba38be44c19c03be7a", - "reference": "e17e0b5a472b6452bfee17ba38be44c19c03be7a", + "url": "https://api.github.com/repos/symfony/ux-translator/zipball/2c0027a4aeda6a9c58db7428862c778e106c12a1", + "reference": "2c0027a4aeda6a9c58db7428862c778e106c12a1", "shasum": "" }, "require": { @@ -14017,7 +14092,7 @@ "symfony-ux" ], "support": { - "source": "https://github.com/symfony/ux-translator/tree/v2.18.1" + "source": "https://github.com/symfony/ux-translator/tree/v2.19.3" }, "funding": [ { @@ -14033,20 +14108,20 @@ "type": "tidelift" } ], - "time": "2024-06-10T13:33:39+00:00" + "time": "2024-08-14T14:09:20+00:00" }, { "name": "symfony/ux-turbo", - "version": "v2.18.0", + "version": "v2.19.3", "source": { "type": "git", "url": "https://github.com/symfony/ux-turbo.git", - "reference": "e447231ddcc09ab68d29047f47d31a524837dc7a" + "reference": "4a38f267193017958d487171c0a86e64f36164a3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/ux-turbo/zipball/e447231ddcc09ab68d29047f47d31a524837dc7a", - "reference": "e447231ddcc09ab68d29047f47d31a524837dc7a", + "url": "https://api.github.com/repos/symfony/ux-turbo/zipball/4a38f267193017958d487171c0a86e64f36164a3", + "reference": "4a38f267193017958d487171c0a86e64f36164a3", "shasum": "" }, "require": { @@ -14114,7 +14189,7 @@ "turbo-stream" ], "support": { - "source": "https://github.com/symfony/ux-turbo/tree/v2.18.0" + "source": "https://github.com/symfony/ux-turbo/tree/v2.19.3" }, "funding": [ { @@ -14130,7 +14205,7 @@ "type": "tidelift" } ], - "time": "2024-06-01T17:56:14+00:00" + "time": "2024-08-14T04:55:38+00:00" }, { "name": "symfony/validator", @@ -14619,16 +14694,16 @@ }, { "name": "tecnickcom/tc-lib-barcode", - "version": "2.2.1", + "version": "2.2.3", "source": { "type": "git", "url": "https://github.com/tecnickcom/tc-lib-barcode.git", - "reference": "6877202fe7b3f746f22032e22d454c60c3db20fc" + "reference": "1ec056eb68daf8aab072d9d7908712d7144814fa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tecnickcom/tc-lib-barcode/zipball/6877202fe7b3f746f22032e22d454c60c3db20fc", - "reference": "6877202fe7b3f746f22032e22d454c60c3db20fc", + "url": "https://api.github.com/repos/tecnickcom/tc-lib-barcode/zipball/1ec056eb68daf8aab072d9d7908712d7144814fa", + "reference": "1ec056eb68daf8aab072d9d7908712d7144814fa", "shasum": "" }, "require": { @@ -14637,7 +14712,7 @@ "ext-gd": "*", "ext-pcre": "*", "php": ">=8.0", - "tecnickcom/tc-lib-color": "^2.0" + "tecnickcom/tc-lib-color": "^2.2" }, "require-dev": { "pdepend/pdepend": "2.13.0", @@ -14707,7 +14782,7 @@ ], "support": { "issues": "https://github.com/tecnickcom/tc-lib-barcode/issues", - "source": "https://github.com/tecnickcom/tc-lib-barcode/tree/2.2.1" + "source": "https://github.com/tecnickcom/tc-lib-barcode/tree/2.2.3" }, "funding": [ { @@ -14715,20 +14790,20 @@ "type": "custom" } ], - "time": "2024-04-12T04:55:21+00:00" + "time": "2024-08-18T14:47:12+00:00" }, { "name": "tecnickcom/tc-lib-color", - "version": "2.0.8", + "version": "2.2.2", "source": { "type": "git", "url": "https://github.com/tecnickcom/tc-lib-color.git", - "reference": "62a67d7795a3d303e5029dd3ffc7b2d5f8bf614b" + "reference": "14fc157ae64767cc6761e9126f7ec7e5b27bf1cb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tecnickcom/tc-lib-color/zipball/62a67d7795a3d303e5029dd3ffc7b2d5f8bf614b", - "reference": "62a67d7795a3d303e5029dd3ffc7b2d5f8bf614b", + "url": "https://api.github.com/repos/tecnickcom/tc-lib-color/zipball/14fc157ae64767cc6761e9126f7ec7e5b27bf1cb", + "reference": "14fc157ae64767cc6761e9126f7ec7e5b27bf1cb", "shasum": "" }, "require": { @@ -14776,7 +14851,7 @@ ], "support": { "issues": "https://github.com/tecnickcom/tc-lib-color/issues", - "source": "https://github.com/tecnickcom/tc-lib-color/tree/2.0.8" + "source": "https://github.com/tecnickcom/tc-lib-color/tree/2.2.2" }, "funding": [ { @@ -14784,7 +14859,7 @@ "type": "custom" } ], - "time": "2024-04-12T04:53:29+00:00" + "time": "2024-08-18T14:45:34+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", @@ -14841,16 +14916,16 @@ }, { "name": "twig/cssinliner-extra", - "version": "v3.10.0", + "version": "v3.11.0", "source": { "type": "git", "url": "https://github.com/twigphp/cssinliner-extra.git", - "reference": "10e88e9a887b646c58e3d670383208f15295dd22" + "reference": "7312a0275812b86918febb4b7a67d0cb084c5d02" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/cssinliner-extra/zipball/10e88e9a887b646c58e3d670383208f15295dd22", - "reference": "10e88e9a887b646c58e3d670383208f15295dd22", + "url": "https://api.github.com/repos/twigphp/cssinliner-extra/zipball/7312a0275812b86918febb4b7a67d0cb084c5d02", + "reference": "7312a0275812b86918febb4b7a67d0cb084c5d02", "shasum": "" }, "require": { @@ -14894,7 +14969,7 @@ "twig" ], "support": { - "source": "https://github.com/twigphp/cssinliner-extra/tree/v3.10.0" + "source": "https://github.com/twigphp/cssinliner-extra/tree/v3.11.0" }, "funding": [ { @@ -14906,20 +14981,20 @@ "type": "tidelift" } ], - "time": "2024-05-11T07:35:57+00:00" + "time": "2024-06-21T06:22:31+00:00" }, { "name": "twig/extra-bundle", - "version": "v3.10.0", + "version": "v3.11.0", "source": { "type": "git", "url": "https://github.com/twigphp/twig-extra-bundle.git", - "reference": "cdc6e23aeb7f4953c1039568c3439aab60c56454" + "reference": "bf8a304eac15838d7724fdf64c345bdefbb75f03" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/twig-extra-bundle/zipball/cdc6e23aeb7f4953c1039568c3439aab60c56454", - "reference": "cdc6e23aeb7f4953c1039568c3439aab60c56454", + "url": "https://api.github.com/repos/twigphp/twig-extra-bundle/zipball/bf8a304eac15838d7724fdf64c345bdefbb75f03", + "reference": "bf8a304eac15838d7724fdf64c345bdefbb75f03", "shasum": "" }, "require": { @@ -14968,7 +15043,7 @@ "twig" ], "support": { - "source": "https://github.com/twigphp/twig-extra-bundle/tree/v3.10.0" + "source": "https://github.com/twigphp/twig-extra-bundle/tree/v3.11.0" }, "funding": [ { @@ -14980,20 +15055,20 @@ "type": "tidelift" } ], - "time": "2024-05-11T07:35:57+00:00" + "time": "2024-06-21T06:25:01+00:00" }, { "name": "twig/html-extra", - "version": "v3.10.0", + "version": "v3.11.0", "source": { "type": "git", "url": "https://github.com/twigphp/html-extra.git", - "reference": "1c045fc28ace0dcaf464f8e0d4e2aca6347d5fda" + "reference": "e5de60eb0afb24a60f371de428864b5df9414aa6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/html-extra/zipball/1c045fc28ace0dcaf464f8e0d4e2aca6347d5fda", - "reference": "1c045fc28ace0dcaf464f8e0d4e2aca6347d5fda", + "url": "https://api.github.com/repos/twigphp/html-extra/zipball/e5de60eb0afb24a60f371de428864b5df9414aa6", + "reference": "e5de60eb0afb24a60f371de428864b5df9414aa6", "shasum": "" }, "require": { @@ -15036,7 +15111,7 @@ "twig" ], "support": { - "source": "https://github.com/twigphp/html-extra/tree/v3.10.0" + "source": "https://github.com/twigphp/html-extra/tree/v3.11.0" }, "funding": [ { @@ -15048,20 +15123,20 @@ "type": "tidelift" } ], - "time": "2024-05-11T07:35:57+00:00" + "time": "2024-06-21T06:25:01+00:00" }, { "name": "twig/inky-extra", - "version": "v3.10.0", + "version": "v3.11.0", "source": { "type": "git", "url": "https://github.com/twigphp/inky-extra.git", - "reference": "adfcc3b2becc09e909d30b813cde17351ac82958" + "reference": "f0e6fce7eeab518b5b18b476bc9a5f19a3359354" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/inky-extra/zipball/adfcc3b2becc09e909d30b813cde17351ac82958", - "reference": "adfcc3b2becc09e909d30b813cde17351ac82958", + "url": "https://api.github.com/repos/twigphp/inky-extra/zipball/f0e6fce7eeab518b5b18b476bc9a5f19a3359354", + "reference": "f0e6fce7eeab518b5b18b476bc9a5f19a3359354", "shasum": "" }, "require": { @@ -15106,7 +15181,7 @@ "twig" ], "support": { - "source": "https://github.com/twigphp/inky-extra/tree/v3.10.0" + "source": "https://github.com/twigphp/inky-extra/tree/v3.11.0" }, "funding": [ { @@ -15118,20 +15193,20 @@ "type": "tidelift" } ], - "time": "2024-05-11T07:35:57+00:00" + "time": "2024-06-21T06:22:31+00:00" }, { "name": "twig/intl-extra", - "version": "v3.10.0", + "version": "v3.11.0", "source": { "type": "git", "url": "https://github.com/twigphp/intl-extra.git", - "reference": "693f6beb8ca91fc6323e01b3addf983812f65c93" + "reference": "e9cadd61342e71e45b2f4f0558122433fd7e4566" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/intl-extra/zipball/693f6beb8ca91fc6323e01b3addf983812f65c93", - "reference": "693f6beb8ca91fc6323e01b3addf983812f65c93", + "url": "https://api.github.com/repos/twigphp/intl-extra/zipball/e9cadd61342e71e45b2f4f0558122433fd7e4566", + "reference": "e9cadd61342e71e45b2f4f0558122433fd7e4566", "shasum": "" }, "require": { @@ -15170,7 +15245,7 @@ "twig" ], "support": { - "source": "https://github.com/twigphp/intl-extra/tree/v3.10.0" + "source": "https://github.com/twigphp/intl-extra/tree/v3.11.0" }, "funding": [ { @@ -15182,20 +15257,20 @@ "type": "tidelift" } ], - "time": "2024-05-11T07:35:57+00:00" + "time": "2024-06-21T06:25:01+00:00" }, { "name": "twig/markdown-extra", - "version": "v3.10.0", + "version": "v3.11.0", "source": { "type": "git", "url": "https://github.com/twigphp/markdown-extra.git", - "reference": "e4bf2419df819dcf9dc7a0b25dd8cd1092cbd86d" + "reference": "504557d60d80478260ebd2221a2b3332a480865d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/markdown-extra/zipball/e4bf2419df819dcf9dc7a0b25dd8cd1092cbd86d", - "reference": "e4bf2419df819dcf9dc7a0b25dd8cd1092cbd86d", + "url": "https://api.github.com/repos/twigphp/markdown-extra/zipball/504557d60d80478260ebd2221a2b3332a480865d", + "reference": "504557d60d80478260ebd2221a2b3332a480865d", "shasum": "" }, "require": { @@ -15242,7 +15317,7 @@ "twig" ], "support": { - "source": "https://github.com/twigphp/markdown-extra/tree/v3.10.0" + "source": "https://github.com/twigphp/markdown-extra/tree/v3.11.0" }, "funding": [ { @@ -15254,20 +15329,20 @@ "type": "tidelift" } ], - "time": "2024-05-11T07:35:57+00:00" + "time": "2024-08-07T17:34:09+00:00" }, { "name": "twig/string-extra", - "version": "v3.10.0", + "version": "v3.11.0", "source": { "type": "git", "url": "https://github.com/twigphp/string-extra.git", - "reference": "cd76ed8ae081bcd4fddf549e92e20c5df76c358a" + "reference": "d25c61baf38705a72ebb5a92d2e9ecb7c473b8ac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/string-extra/zipball/cd76ed8ae081bcd4fddf549e92e20c5df76c358a", - "reference": "cd76ed8ae081bcd4fddf549e92e20c5df76c358a", + "url": "https://api.github.com/repos/twigphp/string-extra/zipball/d25c61baf38705a72ebb5a92d2e9ecb7c473b8ac", + "reference": "d25c61baf38705a72ebb5a92d2e9ecb7c473b8ac", "shasum": "" }, "require": { @@ -15309,7 +15384,7 @@ "unicode" ], "support": { - "source": "https://github.com/twigphp/string-extra/tree/v3.10.0" + "source": "https://github.com/twigphp/string-extra/tree/v3.11.0" }, "funding": [ { @@ -15321,20 +15396,20 @@ "type": "tidelift" } ], - "time": "2024-05-11T07:35:57+00:00" + "time": "2024-08-07T17:34:09+00:00" }, { "name": "twig/twig", - "version": "v3.10.3", + "version": "v3.11.0", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "67f29781ffafa520b0bbfbd8384674b42db04572" + "reference": "e80fb8ebba85c7341a97a9ebf825d7fd4b77708d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/67f29781ffafa520b0bbfbd8384674b42db04572", - "reference": "67f29781ffafa520b0bbfbd8384674b42db04572", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/e80fb8ebba85c7341a97a9ebf825d7fd4b77708d", + "reference": "e80fb8ebba85c7341a97a9ebf825d7fd4b77708d", "shasum": "" }, "require": { @@ -15342,7 +15417,8 @@ "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-ctype": "^1.8", "symfony/polyfill-mbstring": "^1.3", - "symfony/polyfill-php80": "^1.22" + "symfony/polyfill-php80": "^1.22", + "symfony/polyfill-php81": "^1.29" }, "require-dev": { "psr/container": "^1.0|^2.0", @@ -15388,7 +15464,7 @@ ], "support": { "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v3.10.3" + "source": "https://github.com/twigphp/Twig/tree/v3.11.0" }, "funding": [ { @@ -15400,7 +15476,7 @@ "type": "tidelift" } ], - "time": "2024-05-16T10:04:27+00:00" + "time": "2024-08-08T16:15:16+00:00" }, { "name": "ua-parser/uap-php", @@ -16379,16 +16455,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.11.8", + "version": "1.11.11", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "6adbd118e6c0515dd2f36b06cde1d6da40f1b8ec" + "reference": "707c2aed5d8d0075666e673a5e71440c1d01a5a3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/6adbd118e6c0515dd2f36b06cde1d6da40f1b8ec", - "reference": "6adbd118e6c0515dd2f36b06cde1d6da40f1b8ec", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/707c2aed5d8d0075666e673a5e71440c1d01a5a3", + "reference": "707c2aed5d8d0075666e673a5e71440c1d01a5a3", "shasum": "" }, "require": { @@ -16433,20 +16509,20 @@ "type": "github" } ], - "time": "2024-07-24T07:01:22+00:00" + "time": "2024-08-19T14:37:29+00:00" }, { "name": "phpstan/phpstan-doctrine", - "version": "1.4.8", + "version": "1.5.2", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan-doctrine.git", - "reference": "fa497c5cf8a3f9cd3db8cb4033daf5244793d3e1" + "reference": "4d17bed8a33aa8220c1f2a21a6b14fcdb0e5b02c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-doctrine/zipball/fa497c5cf8a3f9cd3db8cb4033daf5244793d3e1", - "reference": "fa497c5cf8a3f9cd3db8cb4033daf5244793d3e1", + "url": "https://api.github.com/repos/phpstan/phpstan-doctrine/zipball/4d17bed8a33aa8220c1f2a21a6b14fcdb0e5b02c", + "reference": "4d17bed8a33aa8220c1f2a21a6b14fcdb0e5b02c", "shasum": "" }, "require": { @@ -16503,9 +16579,9 @@ "description": "Doctrine extensions for PHPStan", "support": { "issues": "https://github.com/phpstan/phpstan-doctrine/issues", - "source": "https://github.com/phpstan/phpstan-doctrine/tree/1.4.8" + "source": "https://github.com/phpstan/phpstan-doctrine/tree/1.5.2" }, - "time": "2024-07-16T11:31:01+00:00" + "time": "2024-08-23T11:07:15+00:00" }, { "name": "phpstan/phpstan-strict-rules", @@ -16558,16 +16634,16 @@ }, { "name": "phpstan/phpstan-symfony", - "version": "1.4.6", + "version": "1.4.8", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan-symfony.git", - "reference": "e909a075d69e0d4db262ac3407350ae2c6b6ab5f" + "reference": "14eec8c011b856eee4d744a2a3f709db1e1858bd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-symfony/zipball/e909a075d69e0d4db262ac3407350ae2c6b6ab5f", - "reference": "e909a075d69e0d4db262ac3407350ae2c6b6ab5f", + "url": "https://api.github.com/repos/phpstan/phpstan-symfony/zipball/14eec8c011b856eee4d744a2a3f709db1e1858bd", + "reference": "14eec8c011b856eee4d744a2a3f709db1e1858bd", "shasum": "" }, "require": { @@ -16624,41 +16700,41 @@ "description": "Symfony Framework extensions and rules for PHPStan", "support": { "issues": "https://github.com/phpstan/phpstan-symfony/issues", - "source": "https://github.com/phpstan/phpstan-symfony/tree/1.4.6" + "source": "https://github.com/phpstan/phpstan-symfony/tree/1.4.8" }, - "time": "2024-07-16T11:48:54+00:00" + "time": "2024-08-13T19:43:40+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "9.2.31", + "version": "9.2.32", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "48c34b5d8d983006bd2adc2d0de92963b9155965" + "reference": "85402a822d1ecf1db1096959413d35e1c37cf1a5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/48c34b5d8d983006bd2adc2d0de92963b9155965", - "reference": "48c34b5d8d983006bd2adc2d0de92963b9155965", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/85402a822d1ecf1db1096959413d35e1c37cf1a5", + "reference": "85402a822d1ecf1db1096959413d35e1c37cf1a5", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "ext-xmlwriter": "*", - "nikic/php-parser": "^4.18 || ^5.0", + "nikic/php-parser": "^4.19.1 || ^5.1.0", "php": ">=7.3", - "phpunit/php-file-iterator": "^3.0.3", - "phpunit/php-text-template": "^2.0.2", - "sebastian/code-unit-reverse-lookup": "^2.0.2", - "sebastian/complexity": "^2.0", - "sebastian/environment": "^5.1.2", - "sebastian/lines-of-code": "^1.0.3", - "sebastian/version": "^3.0.1", - "theseer/tokenizer": "^1.2.0" + "phpunit/php-file-iterator": "^3.0.6", + "phpunit/php-text-template": "^2.0.4", + "sebastian/code-unit-reverse-lookup": "^2.0.3", + "sebastian/complexity": "^2.0.3", + "sebastian/environment": "^5.1.5", + "sebastian/lines-of-code": "^1.0.4", + "sebastian/version": "^3.0.2", + "theseer/tokenizer": "^1.2.3" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^9.6" }, "suggest": { "ext-pcov": "PHP extension that provides line coverage", @@ -16667,7 +16743,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "9.2-dev" + "dev-main": "9.2.x-dev" } }, "autoload": { @@ -16696,7 +16772,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.31" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.32" }, "funding": [ { @@ -16704,7 +16780,7 @@ "type": "github" } ], - "time": "2024-03-02T06:37:42+00:00" + "time": "2024-08-22T04:23:01+00:00" }, { "name": "phpunit/php-file-iterator", @@ -17052,21 +17128,21 @@ }, { "name": "rector/rector", - "version": "1.2.2", + "version": "1.2.4", "source": { "type": "git", "url": "https://github.com/rectorphp/rector.git", - "reference": "044e6364017882d1e346da8690eeabc154da5495" + "reference": "42a4aa23b48b4cfc8ebfeac2b570364e27744381" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/rectorphp/rector/zipball/044e6364017882d1e346da8690eeabc154da5495", - "reference": "044e6364017882d1e346da8690eeabc154da5495", + "url": "https://api.github.com/repos/rectorphp/rector/zipball/42a4aa23b48b4cfc8ebfeac2b570364e27744381", + "reference": "42a4aa23b48b4cfc8ebfeac2b570364e27744381", "shasum": "" }, "require": { "php": "^7.2|^8.0", - "phpstan/phpstan": "^1.11" + "phpstan/phpstan": "^1.11.11" }, "conflict": { "rector/rector-doctrine": "*", @@ -17099,7 +17175,7 @@ ], "support": { "issues": "https://github.com/rectorphp/rector/issues", - "source": "https://github.com/rectorphp/rector/tree/1.2.2" + "source": "https://github.com/rectorphp/rector/tree/1.2.4" }, "funding": [ { @@ -17107,7 +17183,7 @@ "type": "github" } ], - "time": "2024-07-25T07:44:34+00:00" + "time": "2024-08-23T09:03:01+00:00" }, { "name": "roave/security-advisories", @@ -17115,17 +17191,17 @@ "source": { "type": "git", "url": "https://github.com/Roave/SecurityAdvisories.git", - "reference": "0816697098823477b1a95d07d2b94bf3cfe1a2f8" + "reference": "f8de2a81061775002d96aea80b12f2ab3c5eeb8d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/0816697098823477b1a95d07d2b94bf3cfe1a2f8", - "reference": "0816697098823477b1a95d07d2b94bf3cfe1a2f8", + "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/f8de2a81061775002d96aea80b12f2ab3c5eeb8d", + "reference": "f8de2a81061775002d96aea80b12f2ab3c5eeb8d", "shasum": "" }, "conflict": { "3f/pygmentize": "<1.2", - "admidio/admidio": "<4.2.13", + "admidio/admidio": "<4.3.10", "adodb/adodb-php": "<=5.20.20|>=5.21,<=5.21.3", "aheinze/cockpit": "<2.2", "aimeos/ai-admin-graphql": ">=2022.04.1,<2022.10.10|>=2023.04.1,<2023.10.6|>=2024.04.1,<2024.04.6", @@ -17158,7 +17234,7 @@ "athlon1600/php-proxy-app": "<=3", "austintoddj/canvas": "<=3.4.2", "auth0/wordpress": "<=4.6", - "automad/automad": "<=2.0.0.0-alpha5", + "automad/automad": "<2.0.0.0-alpha5", "automattic/jetpack": "<9.8", "awesome-support/awesome-support": "<=6.0.7", "aws/aws-sdk-php": "<3.288.1", @@ -17178,7 +17254,7 @@ "bcosca/fatfree": "<3.7.2", "bedita/bedita": "<4", "bigfork/silverstripe-form-capture": ">=3,<3.1.1", - "billz/raspap-webgui": "<2.9.5", + "billz/raspap-webgui": "<=3.1.4", "bk2k/bootstrap-package": ">=7.1,<7.1.2|>=8,<8.0.8|>=9,<9.0.4|>=9.1,<9.1.3|>=10,<10.0.10|>=11,<11.0.3", "blueimp/jquery-file-upload": "==6.4.4", "bmarshall511/wordpress_zero_spam": "<5.2.13", @@ -17217,7 +17293,7 @@ "codeigniter4/shield": "<1.0.0.0-beta8", "codiad/codiad": "<=2.8.4", "composer/composer": "<1.10.27|>=2,<2.2.24|>=2.3,<2.7.7", - "concrete5/concrete5": "<9.2.8", + "concrete5/concrete5": "<9.3.3", "concrete5/core": "<8.5.8|>=9,<9.1", "contao-components/mediaelement": ">=2.14.2,<2.21.1", "contao/comments-bundle": ">=2,<4.13.40|>=5.0.0.0-RC1-dev,<5.3.4", @@ -17238,7 +17314,7 @@ "datatables/datatables": "<1.10.10", "david-garcia/phpwhois": "<=4.3.1", "dbrisinajumi/d2files": "<1", - "dcat/laravel-admin": "<=2.1.3.0-beta", + "dcat/laravel-admin": "<=2.1.3", "derhansen/fe_change_pwd": "<2.0.5|>=3,<3.0.3", "derhansen/sf_event_mgt": "<4.3.1|>=5,<5.1.1|>=7,<7.4", "desperado/xml-bundle": "<=0.1.7", @@ -17281,12 +17357,12 @@ "ezsystems/ezdemo-ls-extension": ">=5.4,<5.4.2.1-dev", "ezsystems/ezfind-ls": ">=5.3,<5.3.6.1-dev|>=5.4,<5.4.11.1-dev|>=2017.12,<2017.12.0.1-dev", "ezsystems/ezplatform": "<=1.13.6|>=2,<=2.5.24", - "ezsystems/ezplatform-admin-ui": ">=1.3,<1.3.5|>=1.4,<1.4.6|>=1.5,<1.5.29|>=2.3,<2.3.26", + "ezsystems/ezplatform-admin-ui": ">=1.3,<1.3.5|>=1.4,<1.4.6|>=1.5,<1.5.29|>=2.3,<2.3.26|>=3.3,<3.3.39", "ezsystems/ezplatform-admin-ui-assets": ">=4,<4.2.1|>=5,<5.0.1|>=5.1,<5.1.1", "ezsystems/ezplatform-graphql": ">=1.0.0.0-RC1-dev,<1.0.13|>=2.0.0.0-beta1,<2.3.12", "ezsystems/ezplatform-kernel": "<1.2.5.1-dev|>=1.3,<1.3.35", "ezsystems/ezplatform-rest": ">=1.2,<=1.2.2|>=1.3,<1.3.8", - "ezsystems/ezplatform-richtext": ">=2.3,<2.3.7.1-dev", + "ezsystems/ezplatform-richtext": ">=2.3,<2.3.7.1-dev|>=3.3,<3.3.40", "ezsystems/ezplatform-solr-search-engine": ">=1.7,<1.7.12|>=2,<2.0.2|>=3.3,<3.3.15", "ezsystems/ezplatform-user": ">=1,<1.0.1", "ezsystems/ezpublish-kernel": "<6.13.8.2-dev|>=7,<7.5.31", @@ -17304,6 +17380,7 @@ "filp/whoops": "<2.1.13", "fineuploader/php-traditional-server": "<=1.2.2", "firebase/php-jwt": "<6", + "fisharebest/webtrees": "<=2.1.18", "fixpunkt/fp-masterquiz": "<2.2.1|>=3,<3.5.2", "fixpunkt/fp-newsletter": "<1.1.1|>=2,<2.1.2|>=2.2,<3.2.6", "flarum/core": "<1.8.5", @@ -17330,7 +17407,7 @@ "friendsoftypo3/mediace": ">=7.6.2,<7.6.5", "friendsoftypo3/openid": ">=4.5,<4.5.31|>=4.7,<4.7.16|>=6,<6.0.11|>=6.1,<6.1.6", "froala/wysiwyg-editor": "<3.2.7|>=4.0.1,<=4.1.3", - "froxlor/froxlor": "<2.1.9", + "froxlor/froxlor": "<=2.2.0.0-RC3", "frozennode/administrator": "<=5.0.12", "fuel/core": "<1.8.1", "funadmin/funadmin": "<=3.2|>=3.3.2,<=3.3.3", @@ -17364,8 +17441,9 @@ "hov/jobfair": "<1.0.13|>=2,<2.0.2", "httpsoft/http-message": "<1.0.12", "hyn/multi-tenant": ">=5.6,<5.7.2", - "ibexa/admin-ui": ">=4.2,<4.2.3", + "ibexa/admin-ui": ">=4.2,<4.2.3|>=4.6.0.0-beta1,<4.6.9", "ibexa/core": ">=4,<4.0.7|>=4.1,<4.1.4|>=4.2,<4.2.3|>=4.5,<4.5.6|>=4.6,<4.6.2", + "ibexa/fieldtype-richtext": ">=4.6,<4.6.10", "ibexa/graphql": ">=2.5,<2.5.31|>=3.3,<3.3.28|>=4.2,<4.2.3", "ibexa/post-install": "<=1.0.4", "ibexa/solr": ">=4.5,<4.5.4", @@ -17387,6 +17465,7 @@ "innologi/typo3-appointments": "<2.0.6", "intelliants/subrion": "<4.2.2", "inter-mediator/inter-mediator": "==5.5", + "ipl/web": "<0.10.1", "islandora/islandora": ">=2,<2.4.1", "ivankristianto/phpwhois": "<=4.3", "jackalope/jackalope-doctrine-dbal": "<1.7.4", @@ -17469,7 +17548,7 @@ "microsoft/microsoft-graph": ">=1.16,<1.109.1|>=2,<2.0.1", "microsoft/microsoft-graph-beta": "<2.0.1", "microsoft/microsoft-graph-core": "<2.0.2", - "microweber/microweber": "<=2.0.4", + "microweber/microweber": "<=2.0.16", "mikehaertl/php-shellcommand": "<1.6.1", "miniorange/miniorange-saml": "<1.4.3", "mittwald/typo3_forum": "<1.2.1", @@ -17522,7 +17601,7 @@ "open-web-analytics/open-web-analytics": "<1.7.4", "opencart/opencart": ">=0", "openid/php-openid": "<2.3", - "openmage/magento-lts": "<20.5", + "openmage/magento-lts": "<20.10.1", "opensolutions/vimbadmin": "<=3.0.15", "opensource-workshop/connect-cms": "<1.7.2|>=2,<2.3.2", "orchid/platform": ">=9,<9.4.4|>=14.0.0.0-alpha4,<14.5", @@ -17574,7 +17653,7 @@ "phpxmlrpc/extras": "<0.6.1", "phpxmlrpc/phpxmlrpc": "<4.9.2", "pi/pi": "<=2.5", - "pimcore/admin-ui-classic-bundle": "<=1.4.2", + "pimcore/admin-ui-classic-bundle": "<=1.5.1", "pimcore/customer-management-framework-bundle": "<4.0.6", "pimcore/data-hub": "<1.2.4", "pimcore/demo": "<10.3", @@ -17607,6 +17686,7 @@ "pubnub/pubnub": "<6.1", "pusher/pusher-php-server": "<2.2.1", "pwweb/laravel-core": "<=0.3.6.0-beta", + "pxlrbt/filament-excel": "<2.3.3", "pyrocms/pyrocms": "<=3.9.1", "qcubed/qcubed": "<=3.1.1", "quickapps/cms": "<=2.0.0.0-beta2", @@ -17634,8 +17714,8 @@ "serluck/phpwhois": "<=4.2.6", "sfroemken/url_redirect": "<=1.2.1", "sheng/yiicms": "<=1.2", - "shopware/core": "<6.5.8.8-dev|>=6.6.0.0-RC1-dev,<6.6.1", - "shopware/platform": "<6.5.8.8-dev|>=6.6.0.0-RC1-dev,<6.6.1", + "shopware/core": "<=6.5.8.12|>=6.6,<=6.6.5", + "shopware/platform": "<=6.5.8.12|>=6.6,<=6.6.5", "shopware/production": "<=6.3.5.2", "shopware/shopware": "<=5.7.17", "shopware/storefront": "<=6.4.8.1|>=6.5.8,<6.5.8.7-dev", @@ -17685,7 +17765,7 @@ "ssddanbrown/bookstack": "<24.05.1", "statamic/cms": "<4.46|>=5.3,<5.6.2", "stormpath/sdk": "<9.9.99", - "studio-42/elfinder": "<2.1.62", + "studio-42/elfinder": "<=2.1.64", "studiomitte/friendlycaptcha": "<0.1.4", "subhh/libconnect": "<7.0.8|>=8,<8.1", "sukohi/surpass": "<1", @@ -17765,6 +17845,7 @@ "tribalsystems/zenario": "<9.5.60602", "truckersmp/phpwhois": "<=4.3.1", "ttskch/pagination-service-provider": "<1", + "twbs/bootstrap": "<=3.4.1|>=4,<=4.6.2", "twig/twig": "<1.44.7|>=2,<2.15.3|>=3,<3.4.3", "typo3/cms": "<9.5.29|>=10,<10.4.35|>=11,<11.5.23|>=12,<12.2", "typo3/cms-backend": "<4.1.14|>=4.2,<4.2.15|>=4.3,<4.3.7|>=4.4,<4.4.4|>=7,<=7.6.50|>=8,<=8.7.39|>=9,<=9.5.24|>=10,<=10.4.13|>=11,<=11.1", @@ -17919,7 +18000,7 @@ "type": "tidelift" } ], - "time": "2024-07-26T15:04:59+00:00" + "time": "2024-08-23T19:04:38+00:00" }, { "name": "sebastian/cli-parser", @@ -19351,16 +19432,16 @@ }, { "name": "symplify/easy-coding-standard", - "version": "12.3.3", + "version": "12.3.5", "source": { "type": "git", "url": "https://github.com/easy-coding-standard/easy-coding-standard.git", - "reference": "aa3194c311ca170154ebce43b57117553eb6e7ed" + "reference": "0d7c2cfee3debdf11c12135e90d69d1d9f4eef03" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/easy-coding-standard/easy-coding-standard/zipball/aa3194c311ca170154ebce43b57117553eb6e7ed", - "reference": "aa3194c311ca170154ebce43b57117553eb6e7ed", + "url": "https://api.github.com/repos/easy-coding-standard/easy-coding-standard/zipball/0d7c2cfee3debdf11c12135e90d69d1d9f4eef03", + "reference": "0d7c2cfee3debdf11c12135e90d69d1d9f4eef03", "shasum": "" }, "require": { @@ -19396,7 +19477,7 @@ ], "support": { "issues": "https://github.com/easy-coding-standard/easy-coding-standard/issues", - "source": "https://github.com/easy-coding-standard/easy-coding-standard/tree/12.3.3" + "source": "https://github.com/easy-coding-standard/easy-coding-standard/tree/12.3.5" }, "funding": [ { @@ -19408,7 +19489,7 @@ "type": "github" } ], - "time": "2024-07-24T22:04:42+00:00" + "time": "2024-08-08T08:43:50+00:00" }, { "name": "theseer/tokenizer", diff --git a/yarn.lock b/yarn.lock index 7ca83068..d076587d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -71,38 +71,38 @@ "@babel/highlight" "^7.24.7" picocolors "^1.0.0" -"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.24.8", "@babel/compat-data@^7.25.0": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.25.0.tgz#6b226a5da3a686db3c30519750e071dce292ad95" - integrity sha512-P4fwKI2mjEb3ZU5cnMJzvRsRKGBUcs8jvxIoRmr6ufAY9Xk2Bz7JubRTTivkw55c7WQJfTECeqYVa+HZ0FzREg== +"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.25.2", "@babel/compat-data@^7.25.4": + version "7.25.4" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.25.4.tgz#7d2a80ce229890edcf4cc259d4d696cb4dae2fcb" + integrity sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ== "@babel/core@^7.19.6": - version "7.24.9" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.9.tgz#dc07c9d307162c97fa9484ea997ade65841c7c82" - integrity sha512-5e3FI4Q3M3Pbr21+5xJwCv6ZT6KmGkI0vw3Tozy5ODAQFTIWe37iT8Cr7Ice2Ntb+M3iSKCEWMB1MBgKrW3whg== + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.25.2.tgz#ed8eec275118d7613e77a352894cd12ded8eba77" + integrity sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA== dependencies: "@ampproject/remapping" "^2.2.0" "@babel/code-frame" "^7.24.7" - "@babel/generator" "^7.24.9" - "@babel/helper-compilation-targets" "^7.24.8" - "@babel/helper-module-transforms" "^7.24.9" - "@babel/helpers" "^7.24.8" - "@babel/parser" "^7.24.8" - "@babel/template" "^7.24.7" - "@babel/traverse" "^7.24.8" - "@babel/types" "^7.24.9" + "@babel/generator" "^7.25.0" + "@babel/helper-compilation-targets" "^7.25.2" + "@babel/helper-module-transforms" "^7.25.2" + "@babel/helpers" "^7.25.0" + "@babel/parser" "^7.25.0" + "@babel/template" "^7.25.0" + "@babel/traverse" "^7.25.2" + "@babel/types" "^7.25.2" convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.24.9", "@babel/generator@^7.25.0": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.25.0.tgz#f858ddfa984350bc3d3b7f125073c9af6988f18e" - integrity sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw== +"@babel/generator@^7.25.0", "@babel/generator@^7.25.4": + version "7.25.5" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.25.5.tgz#b31cf05b3fe8c32d206b6dad03bb0aacbde73450" + integrity sha512-abd43wyLfbWoxC6ahM8xTkqLpGB2iWBVyuKC9/srhFunCd1SDNrV1s72bBpK4hLj8KLzHBBcOblvLQZBNw9r3w== dependencies: - "@babel/types" "^7.25.0" + "@babel/types" "^7.25.4" "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" jsesc "^2.5.1" @@ -122,40 +122,40 @@ "@babel/traverse" "^7.24.7" "@babel/types" "^7.24.7" -"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.24.7", "@babel/helper-compilation-targets@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.8.tgz#b607c3161cd9d1744977d4f97139572fe778c271" - integrity sha512-oU+UoqCHdp+nWVDkpldqIQL/i/bvAv53tRqLG/s+cOXxe66zOYLU7ar/Xs3LdmBihrUMEUhwu6dMZwbNOYDwvw== +"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.24.7", "@babel/helper-compilation-targets@^7.24.8", "@babel/helper-compilation-targets@^7.25.2": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz#e1d9410a90974a3a5a66e84ff55ef62e3c02d06c" + integrity sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw== dependencies: - "@babel/compat-data" "^7.24.8" + "@babel/compat-data" "^7.25.2" "@babel/helper-validator-option" "^7.24.8" browserslist "^4.23.1" lru-cache "^5.1.1" semver "^6.3.1" -"@babel/helper-create-class-features-plugin@^7.24.7": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.0.tgz#a109bf9c3d58dfed83aaf42e85633c89f43a6253" - integrity sha512-GYM6BxeQsETc9mnct+nIIpf63SAyzvyYN7UB/IlTyd+MBg06afFGp0mIeUqGyWgS2mxad6vqbMrHVlaL3m70sQ== +"@babel/helper-create-class-features-plugin@^7.24.7", "@babel/helper-create-class-features-plugin@^7.25.4": + version "7.25.4" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.4.tgz#57eaf1af38be4224a9d9dd01ddde05b741f50e14" + integrity sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ== dependencies: "@babel/helper-annotate-as-pure" "^7.24.7" "@babel/helper-member-expression-to-functions" "^7.24.8" "@babel/helper-optimise-call-expression" "^7.24.7" "@babel/helper-replace-supers" "^7.25.0" "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" - "@babel/traverse" "^7.25.0" + "@babel/traverse" "^7.25.4" semver "^6.3.1" -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.24.7", "@babel/helper-create-regexp-features-plugin@^7.25.0": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.0.tgz#17afe5d23b3a833a90f0fab9c2ae69fea192de5c" - integrity sha512-q0T+dknZS+L5LDazIP+02gEZITG5unzvb6yIjcmj5i0eFrs5ToBV2m2JGH4EsE/gtP8ygEGLGApBgRIZkTm7zg== +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.24.7", "@babel/helper-create-regexp-features-plugin@^7.25.0", "@babel/helper-create-regexp-features-plugin@^7.25.2": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz#24c75974ed74183797ffd5f134169316cd1808d9" + integrity sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g== dependencies: "@babel/helper-annotate-as-pure" "^7.24.7" regexpu-core "^5.3.1" semver "^6.3.1" -"@babel/helper-define-polyfill-provider@^0.6.1", "@babel/helper-define-polyfill-provider@^0.6.2": +"@babel/helper-define-polyfill-provider@^0.6.2": version "0.6.2" resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz#18594f789c3594acb24cfdb4a7f7b7d2e8bd912d" integrity sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ== @@ -182,15 +182,15 @@ "@babel/traverse" "^7.24.7" "@babel/types" "^7.24.7" -"@babel/helper-module-transforms@^7.24.7", "@babel/helper-module-transforms@^7.24.8", "@babel/helper-module-transforms@^7.24.9", "@babel/helper-module-transforms@^7.25.0": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.25.0.tgz#3ffc23c473a2769a7e40d3274495bd559fdd2ecc" - integrity sha512-bIkOa2ZJYn7FHnepzr5iX9Kmz8FjIz4UKzJ9zhX3dnYuVW0xul9RuR3skBfoLu+FPTQw90EHW9rJsSZhyLQ3fQ== +"@babel/helper-module-transforms@^7.24.7", "@babel/helper-module-transforms@^7.24.8", "@babel/helper-module-transforms@^7.25.0", "@babel/helper-module-transforms@^7.25.2": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz#ee713c29768100f2776edf04d4eb23b8d27a66e6" + integrity sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ== dependencies: "@babel/helper-module-imports" "^7.24.7" "@babel/helper-simple-access" "^7.24.7" "@babel/helper-validator-identifier" "^7.24.7" - "@babel/traverse" "^7.25.0" + "@babel/traverse" "^7.25.2" "@babel/helper-optimise-call-expression@^7.24.7": version "7.24.7" @@ -262,7 +262,7 @@ "@babel/traverse" "^7.25.0" "@babel/types" "^7.25.0" -"@babel/helpers@^7.24.8": +"@babel/helpers@^7.25.0": version "7.25.0" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.25.0.tgz#e69beb7841cb93a6505531ede34f34e6a073650a" integrity sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw== @@ -280,18 +280,20 @@ js-tokens "^4.0.0" picocolors "^1.0.0" -"@babel/parser@^7.18.9", "@babel/parser@^7.24.8", "@babel/parser@^7.25.0": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.25.0.tgz#9fdc9237504d797b6e7b8f66e78ea7f570d256ad" - integrity sha512-CzdIU9jdP0dg7HdyB+bHvDJGagUv+qtzZt5rYCWwW6tITNqV9odjp6Qu41gkG0ca5UfdDUWrKkiAnHHdGRnOrA== +"@babel/parser@^7.18.9", "@babel/parser@^7.25.0", "@babel/parser@^7.25.4": + version "7.25.4" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.25.4.tgz#af4f2df7d02440286b7de57b1c21acfb2a6f257a" + integrity sha512-nq+eWrOgdtu3jG5Os4TQP3x3cLA8hR8TvJNjD8vnPa20WGycimcparWnLK4jJhElTK6SDyuJo1weMKO/5LpmLA== + dependencies: + "@babel/types" "^7.25.4" -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.25.0": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.0.tgz#328275f22d809b962978d998c6eba22a233ac8aa" - integrity sha512-dG0aApncVQwAUJa8tP1VHTnmU67BeIQvKafd3raEx315H54FfkZSz3B/TT+33ZQAjatGJA79gZqTtqL5QZUKXw== +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.25.3": + version "7.25.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz#dca427b45a6c0f5c095a1c639dfe2476a3daba7f" + integrity sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA== dependencies: "@babel/helper-plugin-utils" "^7.24.8" - "@babel/traverse" "^7.25.0" + "@babel/traverse" "^7.25.3" "@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.25.0": version "7.25.0" @@ -463,15 +465,15 @@ dependencies: "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-async-generator-functions@^7.25.0": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.0.tgz#b785cf35d73437f6276b1e30439a57a50747bddf" - integrity sha512-uaIi2FdqzjpAMvVqvB51S42oC2JEVgh0LDsGfZVDysWE8LrJtQC2jvKmOqEYThKyB7bDEb7BP1GYWDm7tABA0Q== +"@babel/plugin-transform-async-generator-functions@^7.25.4": + version "7.25.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.4.tgz#2afd4e639e2d055776c9f091b6c0c180ed8cf083" + integrity sha512-jz8cV2XDDTqjKPwVPJBIjORVEmSGYhdRa8e5k5+vN+uwcjSrSxUaebBRa4ko1jqNF2uxyg8G6XYk30Jv285xzg== dependencies: "@babel/helper-plugin-utils" "^7.24.8" "@babel/helper-remap-async-to-generator" "^7.25.0" "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/traverse" "^7.25.0" + "@babel/traverse" "^7.25.4" "@babel/plugin-transform-async-to-generator@^7.24.7": version "7.24.7" @@ -496,13 +498,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.24.8" -"@babel/plugin-transform-class-properties@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.7.tgz#256879467b57b0b68c7ddfc5b76584f398cd6834" - integrity sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w== +"@babel/plugin-transform-class-properties@^7.25.4": + version "7.25.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.4.tgz#bae7dbfcdcc2e8667355cd1fb5eda298f05189fd" + integrity sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g== dependencies: - "@babel/helper-create-class-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-create-class-features-plugin" "^7.25.4" + "@babel/helper-plugin-utils" "^7.24.8" "@babel/plugin-transform-class-static-block@^7.24.7": version "7.24.7" @@ -513,16 +515,16 @@ "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-syntax-class-static-block" "^7.14.5" -"@babel/plugin-transform-classes@^7.25.0": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.0.tgz#63122366527d88e0ef61b612554fe3f8c793991e" - integrity sha512-xyi6qjr/fYU304fiRwFbekzkqVJZ6A7hOjWZd+89FVcBqPV3S9Wuozz82xdpLspckeaafntbzglaW4pqpzvtSw== +"@babel/plugin-transform-classes@^7.25.4": + version "7.25.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.4.tgz#d29dbb6a72d79f359952ad0b66d88518d65ef89a" + integrity sha512-oexUfaQle2pF/b6E0dwsxQtAol9TLSO88kQvym6HHBWFliV2lGdrPieX+WgMRLSJDVzdYywk7jXbLPuO2KLTLg== dependencies: "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-compilation-targets" "^7.24.8" + "@babel/helper-compilation-targets" "^7.25.2" "@babel/helper-plugin-utils" "^7.24.8" "@babel/helper-replace-supers" "^7.25.0" - "@babel/traverse" "^7.25.0" + "@babel/traverse" "^7.25.4" globals "^11.1.0" "@babel/plugin-transform-computed-properties@^7.24.7": @@ -595,14 +597,14 @@ "@babel/helper-plugin-utils" "^7.24.7" "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" -"@babel/plugin-transform-function-name@^7.25.0": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.0.tgz#d17890029ceefb45189ea203b404a496263a8412" - integrity sha512-CQmfSnK14eYu82fu6GlCwRciHB7mp7oLN+DeyGDDwUr9cMwuSVviJKPXw/YcRYZdB1TdlLJWHHwXwnwD1WnCmQ== +"@babel/plugin-transform-function-name@^7.25.1": + version "7.25.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.1.tgz#b85e773097526c1a4fc4ba27322748643f26fc37" + integrity sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA== dependencies: "@babel/helper-compilation-targets" "^7.24.8" "@babel/helper-plugin-utils" "^7.24.8" - "@babel/traverse" "^7.25.0" + "@babel/traverse" "^7.25.1" "@babel/plugin-transform-json-strings@^7.24.7": version "7.24.7" @@ -612,12 +614,12 @@ "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-syntax-json-strings" "^7.8.3" -"@babel/plugin-transform-literals@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.7.tgz#36b505c1e655151a9d7607799a9988fc5467d06c" - integrity sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ== +"@babel/plugin-transform-literals@^7.25.2": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.2.tgz#deb1ad14fc5490b9a65ed830e025bca849d8b5f3" + integrity sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.8" "@babel/plugin-transform-logical-assignment-operators@^7.24.7": version "7.24.7" @@ -742,13 +744,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-private-methods@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.7.tgz#e6318746b2ae70a59d023d5cc1344a2ba7a75f5e" - integrity sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ== +"@babel/plugin-transform-private-methods@^7.25.4": + version "7.25.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.4.tgz#9bbefbe3649f470d681997e0b64a4b254d877242" + integrity sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw== dependencies: - "@babel/helper-create-class-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-create-class-features-plugin" "^7.25.4" + "@babel/helper-plugin-utils" "^7.24.8" "@babel/plugin-transform-private-property-in-object@^7.24.7": version "7.24.7" @@ -841,24 +843,24 @@ "@babel/helper-create-regexp-features-plugin" "^7.24.7" "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-unicode-sets-regex@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.7.tgz#d40705d67523803a576e29c63cef6e516b858ed9" - integrity sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg== +"@babel/plugin-transform-unicode-sets-regex@^7.25.4": + version "7.25.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.4.tgz#be664c2a0697ffacd3423595d5edef6049e8946c" + integrity sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-create-regexp-features-plugin" "^7.25.2" + "@babel/helper-plugin-utils" "^7.24.8" "@babel/preset-env@^7.19.4": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.25.0.tgz#3fe92e470311e91478129efda101816c680f0479" - integrity sha512-vYAA8PrCOeZfG4D87hmw1KJ1BPubghXP1e2MacRFwECGNKL76dkA38JEwYllbvQCpf/kLxsTtir0b8MtxKoVCw== + version "7.25.4" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.25.4.tgz#be23043d43a34a2721cd0f676c7ba6f1481f6af6" + integrity sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw== dependencies: - "@babel/compat-data" "^7.25.0" - "@babel/helper-compilation-targets" "^7.24.8" + "@babel/compat-data" "^7.25.4" + "@babel/helper-compilation-targets" "^7.25.2" "@babel/helper-plugin-utils" "^7.24.8" "@babel/helper-validator-option" "^7.24.8" - "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.25.0" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.25.3" "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.25.0" "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.25.0" "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.24.7" @@ -883,13 +885,13 @@ "@babel/plugin-syntax-top-level-await" "^7.14.5" "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" "@babel/plugin-transform-arrow-functions" "^7.24.7" - "@babel/plugin-transform-async-generator-functions" "^7.25.0" + "@babel/plugin-transform-async-generator-functions" "^7.25.4" "@babel/plugin-transform-async-to-generator" "^7.24.7" "@babel/plugin-transform-block-scoped-functions" "^7.24.7" "@babel/plugin-transform-block-scoping" "^7.25.0" - "@babel/plugin-transform-class-properties" "^7.24.7" + "@babel/plugin-transform-class-properties" "^7.25.4" "@babel/plugin-transform-class-static-block" "^7.24.7" - "@babel/plugin-transform-classes" "^7.25.0" + "@babel/plugin-transform-classes" "^7.25.4" "@babel/plugin-transform-computed-properties" "^7.24.7" "@babel/plugin-transform-destructuring" "^7.24.8" "@babel/plugin-transform-dotall-regex" "^7.24.7" @@ -899,9 +901,9 @@ "@babel/plugin-transform-exponentiation-operator" "^7.24.7" "@babel/plugin-transform-export-namespace-from" "^7.24.7" "@babel/plugin-transform-for-of" "^7.24.7" - "@babel/plugin-transform-function-name" "^7.25.0" + "@babel/plugin-transform-function-name" "^7.25.1" "@babel/plugin-transform-json-strings" "^7.24.7" - "@babel/plugin-transform-literals" "^7.24.7" + "@babel/plugin-transform-literals" "^7.25.2" "@babel/plugin-transform-logical-assignment-operators" "^7.24.7" "@babel/plugin-transform-member-expression-literals" "^7.24.7" "@babel/plugin-transform-modules-amd" "^7.24.7" @@ -917,7 +919,7 @@ "@babel/plugin-transform-optional-catch-binding" "^7.24.7" "@babel/plugin-transform-optional-chaining" "^7.24.8" "@babel/plugin-transform-parameters" "^7.24.7" - "@babel/plugin-transform-private-methods" "^7.24.7" + "@babel/plugin-transform-private-methods" "^7.25.4" "@babel/plugin-transform-private-property-in-object" "^7.24.7" "@babel/plugin-transform-property-literals" "^7.24.7" "@babel/plugin-transform-regenerator" "^7.24.7" @@ -930,10 +932,10 @@ "@babel/plugin-transform-unicode-escapes" "^7.24.7" "@babel/plugin-transform-unicode-property-regex" "^7.24.7" "@babel/plugin-transform-unicode-regex" "^7.24.7" - "@babel/plugin-transform-unicode-sets-regex" "^7.24.7" + "@babel/plugin-transform-unicode-sets-regex" "^7.25.4" "@babel/preset-modules" "0.1.6-no-external-plugins" babel-plugin-polyfill-corejs2 "^0.4.10" - babel-plugin-polyfill-corejs3 "^0.10.4" + babel-plugin-polyfill-corejs3 "^0.10.6" babel-plugin-polyfill-regenerator "^0.6.1" core-js-compat "^3.37.1" semver "^6.3.1" @@ -953,9 +955,9 @@ integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== "@babel/runtime@^7.8.4": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.25.0.tgz#3af9a91c1b739c569d5d80cc917280919c544ecb" - integrity sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw== + version "7.25.4" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.25.4.tgz#6ef37d678428306e7d75f054d5b1bdb8cf8aa8ee" + integrity sha512-DSgLeL/FNcpXuzav5wfYvHCGvynXkJbn3Zvc3823AEe9nPwW9IK4UoCSS5yGymmQzN0pCPvivtgS6/8U2kkm1w== dependencies: regenerator-runtime "^0.14.0" @@ -968,23 +970,23 @@ "@babel/parser" "^7.25.0" "@babel/types" "^7.25.0" -"@babel/traverse@^7.18.9", "@babel/traverse@^7.24.7", "@babel/traverse@^7.24.8", "@babel/traverse@^7.25.0": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.0.tgz#e8533c0a57ed97921d1e5b20dd3db63d3efaebf5" - integrity sha512-ubALThHQy4GCf6mbb+5ZRNmLLCI7bJ3f8Q6LHBSRlSKSWj5a7dSUzJBLv3VuIhFrFPgjF4IzPF567YG/HSCdZA== +"@babel/traverse@^7.18.9", "@babel/traverse@^7.24.7", "@babel/traverse@^7.24.8", "@babel/traverse@^7.25.0", "@babel/traverse@^7.25.1", "@babel/traverse@^7.25.2", "@babel/traverse@^7.25.3", "@babel/traverse@^7.25.4": + version "7.25.4" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.4.tgz#648678046990f2957407e3086e97044f13c3e18e" + integrity sha512-VJ4XsrD+nOvlXyLzmLzUs/0qjFS4sK30te5yEFlvbbUNEgKaVb2BHZUpAL+ttLPQAHNrsI3zZisbfha5Cvr8vg== dependencies: "@babel/code-frame" "^7.24.7" - "@babel/generator" "^7.25.0" - "@babel/parser" "^7.25.0" + "@babel/generator" "^7.25.4" + "@babel/parser" "^7.25.4" "@babel/template" "^7.25.0" - "@babel/types" "^7.25.0" + "@babel/types" "^7.25.4" debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.24.7", "@babel/types@^7.24.8", "@babel/types@^7.24.9", "@babel/types@^7.25.0", "@babel/types@^7.4.4": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.0.tgz#e6e3656c581f28da8452ed4f69e38008ec0ba41b" - integrity sha512-LcnxQSsd9aXOIgmmSpvZ/1yo46ra2ESYyqLcryaBZOghxy5qqOBjvCWP5JfkI8yl9rlxRgdLTTMCQQRcN2hdCg== +"@babel/types@^7.24.7", "@babel/types@^7.24.8", "@babel/types@^7.25.0", "@babel/types@^7.25.2", "@babel/types@^7.25.4", "@babel/types@^7.4.4": + version "7.25.4" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.4.tgz#6bcb46c72fdf1012a209d016c07f769e10adcb5f" + integrity sha512-zQ1ijeeCXVEh+aNL0RlmkPkG8HUiDcU2pzQQFjtbntgAczRASFzj4H+6+bV+dy1ntKR14I/DypeuRG1uma98iQ== dependencies: "@babel/helper-string-parser" "^7.24.8" "@babel/helper-validator-identifier" "^7.24.7" @@ -2093,23 +2095,7 @@ dependencies: "@types/node" "*" -"@types/eslint-scope@^3.7.3": - version "3.7.7" - resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz#3108bd5f18b0cdb277c867b3dd449c9ed7079ac5" - integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== - dependencies: - "@types/eslint" "*" - "@types/estree" "*" - -"@types/eslint@*": - version "9.6.0" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-9.6.0.tgz#51d4fe4d0316da9e9f2c80884f2c20ed5fb022ff" - integrity sha512-gi6WQJ7cHRgZxtkQEoyHMppPjq9Kxo5Tjn2prSKDSmZrCz8TZ3jSRCeTJm+WoM+oB0WG37bRqLzaaU3q7JypGg== - dependencies: - "@types/estree" "*" - "@types/json-schema" "*" - -"@types/estree@*", "@types/estree@^1.0.5": +"@types/estree@^1.0.5": version "1.0.5" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== @@ -2148,9 +2134,9 @@ integrity sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA== "@types/http-proxy@^1.17.8": - version "1.17.14" - resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.14.tgz#57f8ccaa1c1c3780644f8a94f9c6b5000b5e2eec" - integrity sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w== + version "1.17.15" + resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.15.tgz#12118141ce9775a6499ecb4c01d02f90fc839d36" + integrity sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ== dependencies: "@types/node" "*" @@ -2173,7 +2159,7 @@ dependencies: "@types/istanbul-lib-report" "*" -"@types/json-schema@*", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": +"@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": version "7.0.15" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== @@ -2196,11 +2182,11 @@ "@types/node" "*" "@types/node@*": - version "22.0.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.0.0.tgz#04862a2a71e62264426083abe1e27e87cac05a30" - integrity sha512-VT7KSYudcPOzP5Q0wfbowyNLaVR8QWUdw+088uFWwfvpY6uCWaXpqV6ieLAu9WBcnTa7H4Z5RLK8I5t2FuOcqw== + version "22.5.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.5.0.tgz#10f01fe9465166b4cab72e75f60d8b99d019f958" + integrity sha512-DkFrJOe+rfdHTqqMg0bSNlGlQ85hSoh2TPzZyhHsXnMtligRWpxUySiyw8FY14ITt24HVCiQPWxS3KO/QlGmWg== dependencies: - undici-types "~6.11.1" + undici-types "~6.19.2" "@types/parse-json@^4.0.0": version "4.0.2" @@ -2259,9 +2245,9 @@ integrity sha512-wz7kjjRRj8/Lty4B+Kr0LN6Ypc/3SymeCCGSbaXp2leH0ZVg/PriNiOwNj4bD4uphI7A8NXS4b6Gl373sfO5mA== "@types/ws@^8.5.5": - version "8.5.11" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.11.tgz#90ad17b3df7719ce3e6bc32f83ff954d38656508" - integrity sha512-4+q7P5h3SpJxaBft0Dzpbr6lmMaqh0Jr2tbhJZ/luAwvD7ohSCniYkwz/pLxuT2h0EOa6QADgJj1Ko+TzRfZ+w== + version "8.5.12" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.12.tgz#619475fe98f35ccca2a2f6c137702d85ec247b7e" + integrity sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ== dependencies: "@types/node" "*" @@ -2271,9 +2257,9 @@ integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== "@types/yargs@^17.0.8": - version "17.0.32" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.32.tgz#030774723a2f7faafebf645f4e5a48371dca6229" - integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== + version "17.0.33" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.33.tgz#8c32303da83eec050a84b3c7ae7b9f922d13e32d" + integrity sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA== dependencies: "@types/yargs-parser" "*" @@ -2657,13 +2643,13 @@ babel-plugin-polyfill-corejs2@^0.4.10: "@babel/helper-define-polyfill-provider" "^0.6.2" semver "^6.3.1" -babel-plugin-polyfill-corejs3@^0.10.4: - version "0.10.4" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz#789ac82405ad664c20476d0233b485281deb9c77" - integrity sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg== +babel-plugin-polyfill-corejs3@^0.10.6: + version "0.10.6" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz#2deda57caef50f59c525aeb4964d3b2f867710c7" + integrity sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA== dependencies: - "@babel/helper-define-polyfill-provider" "^0.6.1" - core-js-compat "^3.36.1" + "@babel/helper-define-polyfill-provider" "^0.6.2" + core-js-compat "^3.38.0" babel-plugin-polyfill-regenerator@^0.6.1: version "0.6.2" @@ -2780,14 +2766,14 @@ browser-process-hrtime@^1.0.0: resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== -browserslist@^4.0.0, browserslist@^4.21.10, browserslist@^4.23.0, browserslist@^4.23.1: - version "4.23.2" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.2.tgz#244fe803641f1c19c28c48c4b6ec9736eb3d32ed" - integrity sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA== +browserslist@^4.0.0, browserslist@^4.21.10, browserslist@^4.23.0, browserslist@^4.23.1, browserslist@^4.23.3: + version "4.23.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.3.tgz#debb029d3c93ebc97ffbc8d9cbb03403e227c800" + integrity sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA== dependencies: - caniuse-lite "^1.0.30001640" - electron-to-chromium "^1.4.820" - node-releases "^2.0.14" + caniuse-lite "^1.0.30001646" + electron-to-chromium "^1.5.4" + node-releases "^2.0.18" update-browserslist-db "^1.1.0" bs-custom-file-input@^1.3.4: @@ -2870,10 +2856,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001640: - version "1.0.30001643" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001643.tgz#9c004caef315de9452ab970c3da71085f8241dbd" - integrity sha512-ERgWGNleEilSrHM6iUz/zJNSQTP8Mr21wDWpdgvRwcTXGAq6jMtOUPP4dqFPTdKqZ2wKTdtB+uucZ3MRpAUSmg== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001646: + version "1.0.30001651" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz#52de59529e8b02b1aedcaaf5c05d9e23c0c28138" + integrity sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg== chalk@^2.4.2: version "2.4.2" @@ -3194,17 +3180,17 @@ cookie@0.6.0: resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.6.0.tgz#2798b04b071b0ecbff0dbb62a505a8efa4e19051" integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw== -core-js-compat@^3.36.1, core-js-compat@^3.37.1: - version "3.37.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.37.1.tgz#c844310c7852f4bdf49b8d339730b97e17ff09ee" - integrity sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg== +core-js-compat@^3.37.1, core-js-compat@^3.38.0: + version "3.38.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.38.1.tgz#2bc7a298746ca5a7bcb9c164bcb120f2ebc09a09" + integrity sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw== dependencies: - browserslist "^4.23.0" + browserslist "^4.23.3" core-js@^3.23.0: - version "3.37.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.37.1.tgz#d21751ddb756518ac5a00e4d66499df981a62db9" - integrity sha512-Xn6qmxrQZyB0FFY8E3bgRXei3lWDJHhvI+u0q9TKIYM49G8pAr0FgnnrFRAmsbptZL1yxRADVXn+x5AGsbBfyw== + version "3.38.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.38.1.tgz#aa375b79a286a670388a1a363363d53677c0383e" + integrity sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw== core-util-is@~1.0.0: version "1.0.3" @@ -3414,43 +3400,43 @@ data-urls@^2.0.0: whatwg-url "^8.0.0" datatables.net-bs5@^2, datatables.net-bs5@^2.0.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/datatables.net-bs5/-/datatables.net-bs5-2.1.2.tgz#8ac9424564e4d217208fe58630d9f5eb89f5a539" - integrity sha512-DBkr0+yBDNJYmJ1JlPh/wYJ8h9yNMHDtNE7wznuZUP32CrKRsPF2pvLsvyzChY/j0ZvR5l2myxI6wDQFx+dFLQ== + version "2.1.4" + resolved "https://registry.yarnpkg.com/datatables.net-bs5/-/datatables.net-bs5-2.1.4.tgz#b7268168e231d5eb1369f1690ee5cb18b260569c" + integrity sha512-lqOSgfc2LstI4nIVejRBMAnPyD+pxn5Pikj7z0d48ukEC1xSjkYZoCqGazLbfGEoCc4ZXNRGn6IBLJ+bRET/Gg== dependencies: - datatables.net "2.1.2" + datatables.net "2.1.4" jquery ">=1.7" datatables.net-buttons-bs5@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/datatables.net-buttons-bs5/-/datatables.net-buttons-bs5-3.1.0.tgz#7ec95e2a054ed09de1495c8d7cdfef8dfac5318c" - integrity sha512-8zexUUFfeI/7hozxIQaBwIHEgkx0jroYEDXry5MJnTtbxJstqCkkU1jTb0QwDghhpYHvUVmujM4aWG1Of9Hihg== + version "3.1.1" + resolved "https://registry.yarnpkg.com/datatables.net-buttons-bs5/-/datatables.net-buttons-bs5-3.1.1.tgz#b683818f7e9cb3a78d119662376ad641518a34dd" + integrity sha512-Urbju+KM9JTJhDIn0LqHip2AdR1x2J+VGpJLwEPiW9BSzCNbVtN5pb9NnbWyPUComNdA7FRfJzdYwHqo1iYRrQ== dependencies: datatables.net-bs5 "^2" - datatables.net-buttons "3.1.0" + datatables.net-buttons "3.1.1" jquery ">=1.7" -datatables.net-buttons@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/datatables.net-buttons/-/datatables.net-buttons-3.1.0.tgz#025318cf4dc4a90a153c0dc796126494c54072b0" - integrity sha512-QxB3iOko/pqB6hBMBItvvH2T2cI3EoxQGRI4Soq/gVDDN0qrC0owck14JCvHjlJ5W/qm6gqb9W22vTVoVcKfRQ== +datatables.net-buttons@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/datatables.net-buttons/-/datatables.net-buttons-3.1.1.tgz#1b0444751f18d7d59d11f45005ab4cfb181c7acc" + integrity sha512-B0A+tFNmGurx0h6J4sVBMWOTIvrdevzCeOL/+7R+cBjmEyJnGKqXdBrf+af/dkCGk3s1xZTNNkYjE8aUyrHdeQ== dependencies: datatables.net "^2" jquery ">=1.7" datatables.net-colreorder-bs5@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/datatables.net-colreorder-bs5/-/datatables.net-colreorder-bs5-2.0.3.tgz#724f11529dc64ab3ce3855d67a7172313b6dcae3" - integrity sha512-z48Mk3cIXTEahA7uv4LD0yXS1Xoty3f+k91yl+pBZQruOP+76KiJ6E0+iu9DaRKSl3WQ3giawDmoWA8vWM01AA== + version "2.0.4" + resolved "https://registry.yarnpkg.com/datatables.net-colreorder-bs5/-/datatables.net-colreorder-bs5-2.0.4.tgz#02ebb321e38db1c9f6f5d325ed7f6fbf5f7945a7" + integrity sha512-FRMADJ3FU8W5d5KiYV2eJIqi3+JDKBrRDpn45JRt6584M2Z+UBftxFGQ0EtbY+tPsCxLr7Y3j7f43d2xcUKTYQ== dependencies: datatables.net-bs5 "^2" - datatables.net-colreorder "2.0.3" + datatables.net-colreorder "2.0.4" jquery ">=1.7" -datatables.net-colreorder@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/datatables.net-colreorder/-/datatables.net-colreorder-2.0.3.tgz#f1923b54bdd0649c7df7af72ef5f16bc0a71437a" - integrity sha512-tyUVYxXp1zs5YUEoJZtdhwdFHS3GyjTJAoIGLkxh3XzZwYcf9LXsOkBG1JNjXX4M6hKzMT48Rcsfy3IHWqeOsA== +datatables.net-colreorder@2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/datatables.net-colreorder/-/datatables.net-colreorder-2.0.4.tgz#fe33bf342cfedd92791d858f387a04f043d6d1b0" + integrity sha512-j2d2uObivMaMLX+VTsIu9XEfucMPuS+OYurezQtPNHo0LgdXdgKvouEAUghVtlkTxW+jX7tjiSbagH2YWIS5Jg== dependencies: datatables.net "^2" jquery ">=1.7" @@ -3490,26 +3476,26 @@ datatables.net-responsive@3.0.2: jquery ">=1.7" datatables.net-select-bs5@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/datatables.net-select-bs5/-/datatables.net-select-bs5-2.0.3.tgz#0e9e7bca2b02d98ab9511c7818f29dc8e185df39" - integrity sha512-n75xzE0l4YKCpyUWhulMUI54sbsE8BxekjBRTjVY6ykmNrtSwvvDSUGuFF3jON3PUi+dTZKMEXz61WS963jMUw== + version "2.0.5" + resolved "https://registry.yarnpkg.com/datatables.net-select-bs5/-/datatables.net-select-bs5-2.0.5.tgz#99e21ae3f5ce50d0310c31e0c39ea58f859b1b9e" + integrity sha512-RcpNMpuRk20zpeSFTZw+34YZ8NTFZx+fcfSGtFJ0l5K7gqnmz/aR9snOw3oOJrt/ZR7cvfTrHKdiuGKZ6/9W3A== dependencies: datatables.net-bs5 "^2" - datatables.net-select "2.0.3" + datatables.net-select "2.0.5" jquery ">=1.7" -datatables.net-select@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/datatables.net-select/-/datatables.net-select-2.0.3.tgz#f874d0e76764309ac404e04ba384511cb12c6b47" - integrity sha512-Fw7/uAlpOTfz8R8JAXDV4qHfP2MA+4vnNSYjuo9NVbkwrA/71t+KGN2JRugCTTzJuiyQ8YN6thzC9lPBqd/7nA== +datatables.net-select@2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/datatables.net-select/-/datatables.net-select-2.0.5.tgz#5c6d58bd8e5c1b13a00047775c3c7d920fcff8c7" + integrity sha512-Q93R/OfJLtujGkc6Xy7IAGhIi+VOWuI2CSTnVJUuj/gbZ4RsgngZXnjIiP8tdxSNXdXgiOA4+MFfmAtGJPHOvw== dependencies: datatables.net "^2" jquery ">=1.7" -datatables.net@2.1.2, datatables.net@^2, datatables.net@^2.0.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/datatables.net/-/datatables.net-2.1.2.tgz#7ba56756858ed7f18cacd71913c8a5d92f79b6b9" - integrity sha512-FZMH3bVqP6pKq/LwhFRoH22xW45bWt9eAdf7hmFrZkluXId6RNOr1EnrVvwHTo/f7l/rZX4wgHvnGvtOyj9Spw== +datatables.net@2.1.4, datatables.net@^2, datatables.net@^2.0.0: + version "2.1.4" + resolved "https://registry.yarnpkg.com/datatables.net/-/datatables.net-2.1.4.tgz#b25c021b0d92292521955cb9ed8ff74705a63006" + integrity sha512-Qxfsow9o8iYjU/OP9Ju9W46gDj+jD+ZN6qkRLArOvNF0mOKAO8ZvmTe37FhipXh8sH6tPh19oJoRSdZ3GnQUjA== dependencies: jquery ">=1.7" @@ -3739,10 +3725,10 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== -electron-to-chromium@^1.4.820: - version "1.5.2" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.2.tgz#6126ad229ce45e781ec54ca40db0504787f23d19" - integrity sha512-kc4r3U3V3WLaaZqThjYz/Y6z8tJe+7K0bbjUVo3i+LWIypVdMx5nXCkwRe6SWbY6ILqLdc1rKcKmr3HoH7wjSQ== +electron-to-chromium@^1.5.4: + version "1.5.13" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.13.tgz#1abf0410c5344b2b829b7247e031f02810d442e6" + integrity sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q== emoji-regex@^8.0.0: version "8.0.0" @@ -3764,7 +3750,7 @@ encodeurl@~1.0.2: resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== -enhanced-resolve@^5.0.0, enhanced-resolve@^5.17.0: +enhanced-resolve@^5.0.0, enhanced-resolve@^5.17.1: version "5.17.1" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz#67bfbbcc2f81d511be77d686a90267ef7f898a15" integrity sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg== @@ -4488,9 +4474,9 @@ icss-utils@^5.0.0, icss-utils@^5.1.0: integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== ignore@^5.1.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" - integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== + version "5.3.2" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" + integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== immediate@~3.0.5: version "3.0.6" @@ -4597,9 +4583,9 @@ is-binary-path@~2.1.0: binary-extensions "^2.0.0" is-core-module@^2.13.0: - version "2.15.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.15.0.tgz#71c72ec5442ace7e76b306e9d48db361f22699ea" - integrity sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA== + version "2.15.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.15.1.tgz#a7363a25bee942fefab0de13bf6aa372c82dcc37" + integrity sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ== dependencies: hasown "^2.0.2" @@ -4878,9 +4864,9 @@ klona@^2.0.4: integrity sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA== launch-editor@^2.6.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.8.0.tgz#7255d90bdba414448e2138faa770a74f28451305" - integrity sha512-vJranOAJrI/llyWGRQqiDM+adrw+k83fvmmx3+nV47g3+36xM15jE+zyZ6Ffel02+xSvuM0b2GDRosXZkbb6wA== + version "2.8.1" + resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.8.1.tgz#3bda72af213ec9b46b170e39661916ec66c2f463" + integrity sha512-elBx2l/tp9z99X5H/qev8uyDywVh0VXAwEbjk8kJhnc5grOFkGh7aW6q55me9xnYbss261XtnUrysZ+XvGbhQA== dependencies: picocolors "^1.0.0" shell-quote "^1.8.1" @@ -4992,9 +4978,9 @@ marked-gfm-heading-id@^3.0.4: github-slugger "^2.0.0" marked-mangle@^1.0.1: - version "1.1.8" - resolved "https://registry.yarnpkg.com/marked-mangle/-/marked-mangle-1.1.8.tgz#45e6ef91ae4d8865e542969218ce3d98996281fa" - integrity sha512-vN6a7AxdxP9PHQ6xI0EN/CesMOjcjqP0+JN/0cO2zypzyiyUhev82nWxA+/9JxYQawDErq8rT3G19AM+IgpmlQ== + version "1.1.9" + resolved "https://registry.yarnpkg.com/marked-mangle/-/marked-mangle-1.1.9.tgz#ee7a4a1e318a47c722c905e6472f346c6f7a08a6" + integrity sha512-eLTXr1xQzba/WZp/trPS0HkR9W02ifasH6IWPrBv++eO2m8POiwV4muQ6Tof2C5Fhdo3z8ggXs6VGw1f931Vsg== marked@4.0.12: version "4.0.12" @@ -5049,9 +5035,9 @@ methods@~1.1.2: integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4: - version "4.0.7" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.7.tgz#33e8190d9fe474a9895525f5618eee136d46c2e5" - integrity sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q== + version "4.0.8" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" + integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== dependencies: braces "^3.0.3" picomatch "^2.3.1" @@ -5084,9 +5070,9 @@ mimic-fn@^2.1.0: integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== mini-css-extract-plugin@^2.4.2, mini-css-extract-plugin@^2.6.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.0.tgz#c73a1327ccf466f69026ac22a8e8fd707b78a235" - integrity sha512-Zs1YsZVfemekSZG+44vBsYTLQORkPMwnlv+aehcxK/NLKC+EGhDB39/YePYYqx/sTk6NnYpuqikhSn7+JIevTA== + version "2.9.1" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.1.tgz#4d184f12ce90582e983ccef0f6f9db637b4be758" + integrity sha512-+Vyi+GCCOHnrJ2VPS+6aPoXN2k2jgUzDRhTFLjjTBn23qyXJXkjUWQgTL+mXpF5/A8ixLdCc6kWsoeOjKGejKQ== dependencies: schema-utils "^4.0.0" tapable "^2.2.1" @@ -5209,7 +5195,7 @@ node-notifier@^9.0.0: uuid "^8.3.0" which "^2.0.2" -node-releases@^2.0.14: +node-releases@^2.0.18: version "2.0.18" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f" integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== @@ -5463,9 +5449,9 @@ path-type@^4.0.0: integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== pdfmake@^0.2.2: - version "0.2.10" - resolved "https://registry.yarnpkg.com/pdfmake/-/pdfmake-0.2.10.tgz#a8a0ee8a5acca8f5d728e0dfe4db8be5f1b9ec6b" - integrity sha512-doipFnmE1UHSk+Z3wfQuVweVQqx2pE/Ns2G5gCqZmWwqjDj+mZHnZYH/ryXWoIfD+iVdZUAutgI/VHkTCN+Xrw== + version "0.2.12" + resolved "https://registry.yarnpkg.com/pdfmake/-/pdfmake-0.2.12.tgz#5156f91ff73797947942aa342423bedaa0c0bc93" + integrity sha512-TFsqaG6KVtk+TWermmJNNwom3wmB/xiz07prM74KBhdM+7pz3Uwq2b0uoqhhQRn6cYUTpL8lXZY6xF011o1YcQ== dependencies: "@foliojs-fork/linebreak" "^1.1.1" "@foliojs-fork/pdfkit" "^0.14.0" @@ -5795,9 +5781,9 @@ postcss-reduce-transforms@^6.0.2: postcss-value-parser "^4.2.0" postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.16, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: - version "6.1.1" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz#5be94b277b8955904476a2400260002ce6c56e38" - integrity sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg== + version "6.1.2" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz#27ecb41fb0e3b6ba7a1ec84fff347f734c7929de" + integrity sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg== dependencies: cssesc "^3.0.0" util-deprecate "^1.0.2" @@ -5828,18 +5814,18 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^ integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== postcss@^8.2.14, postcss@^8.2.15, postcss@^8.4.12, postcss@^8.4.24, postcss@^8.4.33: - version "8.4.40" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.40.tgz#eb81f2a4dd7668ed869a6db25999e02e9ad909d8" - integrity sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q== + version "8.4.41" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.41.tgz#d6104d3ba272d882fe18fc07d15dc2da62fa2681" + integrity sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ== dependencies: nanoid "^3.3.7" picocolors "^1.0.1" source-map-js "^1.2.0" preact@^10.13.2: - version "10.23.1" - resolved "https://registry.yarnpkg.com/preact/-/preact-10.23.1.tgz#d400107289bc979881c5212cb5f5cd22cd1dc38c" - integrity sha512-O5UdRsNh4vdZaTieWe3XOgSpdMAmkIYBCT3VhQDlKrzyCm8lUYsk0fmVEvoQQifoOjFRTaHZO69ylrzTW2BH+A== + version "10.23.2" + resolved "https://registry.yarnpkg.com/preact/-/preact-10.23.2.tgz#52deec92796ae0f0cc6b034d9c66e0fbc1b837dc" + integrity sha512-kKYfePf9rzKnxOAKDpsWhg/ysrHPqT+yQ7UW4JjdnqjFIeNUnNcEJvhuA8fDenxAGWzUqtd51DfVg7xp/8T9NA== pretty-error@^4.0.0: version "4.0.0" @@ -6616,9 +6602,9 @@ terser-webpack-plugin@^5.3.0, terser-webpack-plugin@^5.3.10: terser "^5.26.0" terser@^5.26.0, terser@^5.3.4: - version "5.31.3" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.31.3.tgz#b24b7beb46062f4653f049eea4f0cd165d0f0c38" - integrity sha512-pAfYn3NIZLyZpa83ZKigvj6Rn9c/vd5KfYGX7cN1mnzqgDcxWvrU5ZtAfIKhEXz9nRecw4z3LXkjaq96/qZqAA== + version "5.31.6" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.31.6.tgz#c63858a0f0703988d0266a82fcbf2d7ba76422b1" + integrity sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg== dependencies: "@jridgewell/source-map" "^0.3.3" acorn "^8.8.2" @@ -6712,9 +6698,9 @@ ts-loader@^9.2.6: source-map "^0.7.4" tslib@^2.4.0: - version "2.6.3" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.3.tgz#0438f810ad7a9edcde7a241c3d80db693c8cbfe0" - integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ== + version "2.7.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.7.0.tgz#d9b40c5c40ab59e8738f297df3087bf1a2690c01" + integrity sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA== turndown-plugin-gfm@1.0.2: version "1.0.2" @@ -6741,10 +6727,10 @@ typescript@^4.0.2: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== -undici-types@~6.11.1: - version "6.11.1" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.11.1.tgz#432ea6e8efd54a48569705a699e62d8f4981b197" - integrity sha512-mIDEX2ek50x0OlRgxryxsenE5XaQD4on5U2inY7RApK3SOJpofyw7uW2AyfMKkhAxXIceo2DeWGVGwyvng1GNQ== +undici-types@~6.19.2: + version "6.19.8" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" + integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.0" @@ -6882,9 +6868,9 @@ w3c-xmlserializer@^2.0.0: xml-name-validator "^3.0.0" watchpack@^2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.1.tgz#29308f2cac150fa8e4c92f90e0ec954a9fed7fff" - integrity sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg== + version "2.4.2" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.2.tgz#2feeaed67412e7c33184e5a79ca738fbd38564da" + integrity sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw== dependencies: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" @@ -7028,11 +7014,10 @@ webpack-sources@^3.2.3: integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== webpack@^5.74.0: - version "5.93.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.93.0.tgz#2e89ec7035579bdfba9760d26c63ac5c3462a5e5" - integrity sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA== + version "5.94.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.94.0.tgz#77a6089c716e7ab90c1c67574a28da518a20970f" + integrity sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg== dependencies: - "@types/eslint-scope" "^3.7.3" "@types/estree" "^1.0.5" "@webassemblyjs/ast" "^1.12.1" "@webassemblyjs/wasm-edit" "^1.12.1" @@ -7041,7 +7026,7 @@ webpack@^5.74.0: acorn-import-attributes "^1.9.5" browserslist "^4.21.10" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.17.0" + enhanced-resolve "^5.17.1" es-module-lexer "^1.2.1" eslint-scope "5.1.1" events "^3.2.0" From e2314041287ad13a8ba7f089d74fffda31cfa55e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Fri, 23 Aug 2024 22:06:37 +0200 Subject: [PATCH 017/287] Load HTMLExtension in SandboxedTwig, so that the data_uri filter can be used in twig labels This fixes issue #665 --- src/Services/LabelSystem/SandboxedTwigFactory.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Services/LabelSystem/SandboxedTwigFactory.php b/src/Services/LabelSystem/SandboxedTwigFactory.php index 3e5ab7e7..cdf0594f 100644 --- a/src/Services/LabelSystem/SandboxedTwigFactory.php +++ b/src/Services/LabelSystem/SandboxedTwigFactory.php @@ -71,6 +71,7 @@ use App\Twig\TwigCoreExtension; use InvalidArgumentException; use Twig\Environment; use Twig\Extension\SandboxExtension; +use Twig\Extra\Html\HtmlExtension; use Twig\Extra\Intl\IntlExtension; use Twig\Extra\Markdown\MarkdownExtension; use Twig\Extra\String\StringExtension; @@ -183,6 +184,7 @@ final class SandboxedTwigFactory $twig->addExtension(new IntlExtension()); $twig->addExtension(new MarkdownExtension()); $twig->addExtension(new StringExtension()); + $twig->addExtension(new HtmlExtension()); //Add Part-DB specific extension $twig->addExtension($this->formatExtension); From 77671550a772145041825730a0919d57d22c49c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Fri, 23 Aug 2024 22:15:29 +0200 Subject: [PATCH 018/287] Fail gracefully, when an exception occurs during rendering of the example labels for label profiles This fixes issue #671 --- src/Controller/AdminPages/BaseAdminController.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Controller/AdminPages/BaseAdminController.php b/src/Controller/AdminPages/BaseAdminController.php index a7465ca2..e214cb83 100644 --- a/src/Controller/AdminPages/BaseAdminController.php +++ b/src/Controller/AdminPages/BaseAdminController.php @@ -35,6 +35,7 @@ use App\Entity\LabelSystem\LabelProcessMode; use App\Entity\LabelSystem\LabelProfile; use App\Entity\Parameters\AbstractParameter; use App\Exceptions\AttachmentDownloadException; +use App\Exceptions\TwigModeException; use App\Form\AdminPages\ImportType; use App\Form\AdminPages\MassCreationForm; use App\Repository\AbstractPartsContainingRepository; @@ -53,6 +54,7 @@ use InvalidArgumentException; use Omines\DataTablesBundle\DataTableFactory; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\EventDispatcher\EventDispatcherInterface; +use Symfony\Component\Form\FormError; use Symfony\Component\Form\FormInterface; use Symfony\Component\HttpFoundation\File\UploadedFile; use Symfony\Component\HttpFoundation\RedirectResponse; @@ -211,7 +213,12 @@ abstract class BaseAdminController extends AbstractController //Show preview for LabelProfile if needed. if ($entity instanceof LabelProfile) { $example = $this->barcodeExampleGenerator->getElement($entity->getOptions()->getSupportedElement()); - $pdf_data = $this->labelGenerator->generateLabel($entity->getOptions(), $example); + $pdf_data = null; + try { + $pdf_data = $this->labelGenerator->generateLabel($entity->getOptions(), $example); + } catch (TwigModeException $exception) { + $form->get('options')->get('lines')->addError(new FormError($exception->getMessage())); + } } /** @var AbstractPartsContainingRepository $repo */ From 5231dbd6e77627f63bcb5456195be2e4d8696be8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Fri, 23 Aug 2024 22:28:29 +0200 Subject: [PATCH 019/287] Remove project path in twig label error messages to prevent information leakage --- .../AdminPages/BaseAdminController.php | 2 +- src/Controller/LabelController.php | 2 +- src/Exceptions/TwigModeException.php | 15 ++++++ tests/Exceptions/TwigModeExceptionTest.php | 49 +++++++++++++++++++ 4 files changed, 66 insertions(+), 2 deletions(-) create mode 100644 tests/Exceptions/TwigModeExceptionTest.php diff --git a/src/Controller/AdminPages/BaseAdminController.php b/src/Controller/AdminPages/BaseAdminController.php index e214cb83..3c219e29 100644 --- a/src/Controller/AdminPages/BaseAdminController.php +++ b/src/Controller/AdminPages/BaseAdminController.php @@ -217,7 +217,7 @@ abstract class BaseAdminController extends AbstractController try { $pdf_data = $this->labelGenerator->generateLabel($entity->getOptions(), $example); } catch (TwigModeException $exception) { - $form->get('options')->get('lines')->addError(new FormError($exception->getMessage())); + $form->get('options')->get('lines')->addError(new FormError($exception->getSafeMessage())); } } diff --git a/src/Controller/LabelController.php b/src/Controller/LabelController.php index ab38e49f..d1bcfdbf 100644 --- a/src/Controller/LabelController.php +++ b/src/Controller/LabelController.php @@ -117,7 +117,7 @@ class LabelController extends AbstractController $pdf_data = $this->labelGenerator->generateLabel($form_options, $targets); $filename = $this->getLabelName($targets[0], $profile); } catch (TwigModeException $exception) { - $form->get('options')->get('lines')->addError(new FormError($exception->getMessage())); + $form->get('options')->get('lines')->addError(new FormError($exception->getSafeMessage())); } } else { //$this->addFlash('warning', 'label_generator.no_entities_found'); diff --git a/src/Exceptions/TwigModeException.php b/src/Exceptions/TwigModeException.php index adcc86aa..b76d14d3 100644 --- a/src/Exceptions/TwigModeException.php +++ b/src/Exceptions/TwigModeException.php @@ -46,8 +46,23 @@ use Twig\Error\Error; class TwigModeException extends RuntimeException { + private const PROJECT_PATH = __DIR__ . '/../../'; + public function __construct(?Error $previous = null) { parent::__construct($previous->getMessage(), 0, $previous); } + + /** + * Returns the message of this exception, where it is tried to remove any sensitive information (like filepaths). + * @return string + */ + public function getSafeMessage(): string + { + //Resolve project root path + $projectPath = realpath(self::PROJECT_PATH); + + //Remove occurrences of the project path from the message + return str_replace($projectPath, '[Part-DB Root Folder]', $this->getMessage()); + } } diff --git a/tests/Exceptions/TwigModeExceptionTest.php b/tests/Exceptions/TwigModeExceptionTest.php new file mode 100644 index 00000000..c5a8ef94 --- /dev/null +++ b/tests/Exceptions/TwigModeExceptionTest.php @@ -0,0 +1,49 @@ +. + */ + +namespace App\Tests\Exceptions; + +use App\Exceptions\TwigModeException; +use PHPUnit\Framework\TestCase; +use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase; +use Twig\Error\Error; + +class TwigModeExceptionTest extends KernelTestCase +{ + + private string $projectPath; + + public function setUp(): void + { + self::bootKernel(); + + $this->projectPath = self::getContainer()->getParameter('kernel.project_dir'); + } + + public function testGetSafeMessage(): void + { + $testException = new Error("Error at : " . $this->projectPath . "/src/dir/path/file.php"); + + $twigModeException = new TwigModeException($testException); + + $this->assertSame("Error at : " . $this->projectPath . "/src/dir/path/file.php", $testException->getMessage()); + $this->assertSame("Error at : [Part-DB Root Folder]/src/dir/path/file.php", $twigModeException->getSafeMessage()); + } +} From 7fc3153dde1e1b657fc4c62e00fa5491400c8308 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Fri, 23 Aug 2024 22:58:04 +0200 Subject: [PATCH 020/287] Fixed filter logic for exclusion of entities. Before parts with null values as property value were wrongly not shown This fixes issue #658 --- .../Filters/Constraints/EntityConstraint.php | 10 ++++++---- src/DataTables/Filters/Constraints/FilterTrait.php | 12 +++++++++++- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/DataTables/Filters/Constraints/EntityConstraint.php b/src/DataTables/Filters/Constraints/EntityConstraint.php index 671b743f..6e9721f4 100644 --- a/src/DataTables/Filters/Constraints/EntityConstraint.php +++ b/src/DataTables/Filters/Constraints/EntityConstraint.php @@ -137,7 +137,7 @@ class EntityConstraint extends AbstractConstraint } //We need to handle null values differently, as they can not be compared with == or != - if (!$this->value instanceof AbstractDBElement) { + if ($this->value === null) { if($this->operator === '=' || $this->operator === 'INCLUDING_CHILDREN') { $queryBuilder->andWhere(sprintf("%s IS NULL", $this->property)); return; @@ -152,8 +152,9 @@ class EntityConstraint extends AbstractConstraint } if($this->operator === '=' || $this->operator === '!=') { - $this->addSimpleAndConstraint($queryBuilder, $this->property, $this->identifier, $this->operator, $this->value); - return; + //Include null values on != operator, so that really all values are returned that are not equal to the given value + $this->addSimpleAndConstraint($queryBuilder, $this->property, $this->identifier, $this->operator, $this->value, $this->operator === '!='); + return; } //Otherwise retrieve the children list and apply the operator to it @@ -168,7 +169,8 @@ class EntityConstraint extends AbstractConstraint } if ($this->operator === 'EXCLUDING_CHILDREN') { - $this->addSimpleAndConstraint($queryBuilder, $this->property, $this->identifier, 'NOT IN', $list); + //Include null values in the result, so that all elements that are not in the list are returned + $this->addSimpleAndConstraint($queryBuilder, $this->property, $this->identifier, 'NOT IN', $list, true); return; } } else { diff --git a/src/DataTables/Filters/Constraints/FilterTrait.php b/src/DataTables/Filters/Constraints/FilterTrait.php index 26707841..3260e4e3 100644 --- a/src/DataTables/Filters/Constraints/FilterTrait.php +++ b/src/DataTables/Filters/Constraints/FilterTrait.php @@ -56,8 +56,14 @@ trait FilterTrait /** * Adds a simple constraint in the form of (property OPERATOR value) (e.g. "part.name = :name") to the given query builder. + * @param QueryBuilder $queryBuilder The query builder to add the constraint to + * @param string $property The property to compare + * @param string $parameterIdentifier The identifier for the parameter + * @param string $comparison_operator The comparison operator to use + * @param mixed $value The value to compare to + * @param bool $include_null If true, the result of this constraint will also include null values of this property (useful for exclusion filters) */ - protected function addSimpleAndConstraint(QueryBuilder $queryBuilder, string $property, string $parameterIdentifier, string $comparison_operator, mixed $value): void + protected function addSimpleAndConstraint(QueryBuilder $queryBuilder, string $property, string $parameterIdentifier, string $comparison_operator, mixed $value, bool $include_null = false): void { if ($comparison_operator === 'IN' || $comparison_operator === 'NOT IN') { $expression = sprintf("%s %s (:%s)", $property, $comparison_operator, $parameterIdentifier); @@ -65,6 +71,10 @@ trait FilterTrait $expression = sprintf("%s %s :%s", $property, $comparison_operator, $parameterIdentifier); } + if ($include_null) { + $expression = sprintf("(%s OR %s IS NULL)", $expression, $property); + } + if($this->useHaving || $this->isAggregateFunctionString($property)) { //If the property is an aggregate function, we have to use the "having" instead of the "where" $queryBuilder->andHaving($expression); } else { From f6577a8f33ac4fe1483585ee632cc6150e879027 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sat, 24 Aug 2024 15:31:44 +0200 Subject: [PATCH 021/287] Allow to create sub elements for existing elements, by typing "->" This fixes issue #666 and #560 --- .../structural_entity_select_controller.js | 27 +++++++++++++++++-- .../extend_existing_selection.js | 0 2 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 assets/tomselect/extend_existing_selection/extend_existing_selection.js diff --git a/assets/controllers/elements/structural_entity_select_controller.js b/assets/controllers/elements/structural_entity_select_controller.js index 5280c339..48dce186 100644 --- a/assets/controllers/elements/structural_entity_select_controller.js +++ b/assets/controllers/elements/structural_entity_select_controller.js @@ -24,7 +24,6 @@ import {Controller} from "@hotwired/stimulus"; import {trans, ENTITY_SELECT_GROUP_NEW_NOT_ADDED_TO_DB} from '../../translator.js' - export default class extends Controller { _tomSelect; @@ -58,7 +57,18 @@ export default class extends Controller { render: { item: this.renderItem.bind(this), option: this.renderOption.bind(this), - option_create: function(data, escape) { + option_create: (data, escape) => { + //If the input starts with "->", we prepend the current selected value, for easier extension of existing values + //This here handles the display part, while the createItem function handles the actual creation + if (data.input.startsWith("->")) { + //Get current selected value + const current = this._tomSelect.getItem(this._tomSelect.getValue()).textContent.replaceAll("→", "->").trim(); + //Prepend it to the input + if (current) { + data.input = current + " " + data.input; + } + } + return '
 ' + escape(data.input) + '… ' + '(' + addHint +')' + '
'; @@ -76,6 +86,19 @@ export default class extends Controller { } createItem(input, callback) { + + //If the input starts with "->", we prepend the current selected value, for easier extension of existing values + if (input.startsWith("->")) { + //Get current selected value + let current = this._tomSelect.getItem(this._tomSelect.getValue()).textContent.replaceAll("→", "->").trim(); + //Replace no break spaces with normal spaces + current = current.replaceAll("\u00A0", " "); + //Prepend it to the input + if (current) { + input = current + " " + input; + } + } + callback({ //$%$ is a special value prefix, that is used to identify items, that are not yet in the DB value: '$%$' + input, diff --git a/assets/tomselect/extend_existing_selection/extend_existing_selection.js b/assets/tomselect/extend_existing_selection/extend_existing_selection.js new file mode 100644 index 00000000..e69de29b From f18c024daab0f11ce959f8f58f3d2d75ccf31aba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sat, 24 Aug 2024 15:35:30 +0200 Subject: [PATCH 022/287] Remove -> prefix if no element is selected yet --- .../elements/structural_entity_select_controller.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/assets/controllers/elements/structural_entity_select_controller.js b/assets/controllers/elements/structural_entity_select_controller.js index 48dce186..4735dd2a 100644 --- a/assets/controllers/elements/structural_entity_select_controller.js +++ b/assets/controllers/elements/structural_entity_select_controller.js @@ -66,6 +66,9 @@ export default class extends Controller { //Prepend it to the input if (current) { data.input = current + " " + data.input; + } else { + //If there is no current value, we remove the "->" + data.input = data.input.substring(2); } } @@ -96,6 +99,9 @@ export default class extends Controller { //Prepend it to the input if (current) { input = current + " " + input; + } else { + //If there is no current value, we remove the "->" + input = input.substring(2); } } From 8193e7a68e3c651f7a05b0775bffbbc46a15ff96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sat, 24 Aug 2024 15:48:50 +0200 Subject: [PATCH 023/287] Allow to show attachment IDs in attachment table --- src/DataTables/AttachmentDataTable.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/DataTables/AttachmentDataTable.php b/src/DataTables/AttachmentDataTable.php index da1cef0f..0d6c5b53 100644 --- a/src/DataTables/AttachmentDataTable.php +++ b/src/DataTables/AttachmentDataTable.php @@ -34,6 +34,7 @@ use App\Services\EntityURLGenerator; use Doctrine\ORM\QueryBuilder; use Omines\DataTablesBundle\Adapter\Doctrine\ORM\SearchCriteriaProvider; use Omines\DataTablesBundle\Adapter\Doctrine\ORMAdapter; +use Omines\DataTablesBundle\Column\NumberColumn; use Omines\DataTablesBundle\Column\TextColumn; use Omines\DataTablesBundle\DataTable; use Omines\DataTablesBundle\DataTableTypeInterface; @@ -84,6 +85,11 @@ final class AttachmentDataTable implements DataTableTypeInterface }, ]); + $dataTable->add('id', NumberColumn::class, [ + 'label' => $this->translator->trans('part.table.id'), + 'visible' => false, + ]); + $dataTable->add('name', TextColumn::class, [ 'label' => 'attachment.edit.name', 'orderField' => 'NATSORT(attachment.name)', From b99777cde1ed305b8e3d6f30fd4b4045afa8bb18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sat, 24 Aug 2024 15:49:45 +0200 Subject: [PATCH 024/287] Return a 404 message, instead of creating an 500 Runtime exception, when a file associated with an attachment is not existing. This fails more gracefully, and do not pollute log files. --- src/Controller/AttachmentFileController.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Controller/AttachmentFileController.php b/src/Controller/AttachmentFileController.php index 5ea62aeb..936d27c5 100644 --- a/src/Controller/AttachmentFileController.php +++ b/src/Controller/AttachmentFileController.php @@ -52,11 +52,11 @@ class AttachmentFileController extends AbstractController } if ($attachment->isExternal()) { - throw new RuntimeException('You can not download external attachments!'); + throw $this->createNotFoundException('The file for this attachment is external and can not stored locally!'); } if (!$helper->isFileExisting($attachment)) { - throw new RuntimeException('The file associated with the attachment is not existing!'); + throw $this->createNotFoundException('The file associated with the attachment is not existing!'); } $file_path = $helper->toAbsoluteFilePath($attachment); @@ -81,11 +81,11 @@ class AttachmentFileController extends AbstractController } if ($attachment->isExternal()) { - throw new RuntimeException('You can not download external attachments!'); + throw $this->createNotFoundException('The file for this attachment is external and can not stored locally!'); } if (!$helper->isFileExisting($attachment)) { - throw new RuntimeException('The file associated with the attachment is not existing!'); + throw $this->createNotFoundException('The file associated with the attachment is not existing!'); } $file_path = $helper->toAbsoluteFilePath($attachment); From 173a8ee680f94ccb535a08c6f663d1212aac9340 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sat, 24 Aug 2024 15:55:45 +0200 Subject: [PATCH 025/287] Improved assymmetric padding in datatables footer --- assets/css/app/tables.css | 4 ---- 1 file changed, 4 deletions(-) diff --git a/assets/css/app/tables.css b/assets/css/app/tables.css index 63f7860d..ae892f50 100644 --- a/assets/css/app/tables.css +++ b/assets/css/app/tables.css @@ -63,10 +63,6 @@ table.dataTable > tbody > tr.selected > td > a { margin-block-end: 0; } -.card-footer-table { - padding-top: 0; -} - table.dataTable { margin-top: 0 !important; } From 756152dd68508c27885fb469702c85c89b78c758 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sat, 24 Aug 2024 15:58:46 +0200 Subject: [PATCH 026/287] Bumped to version 1.13.3 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 61ce01b3..01b75682 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.13.2 +1.13.3 From b5a0189f2992b220f73dd7542c16ecb2acec4052 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Gir=C3=B3n?= Date: Sun, 8 Sep 2024 19:13:13 +0200 Subject: [PATCH 027/287] feat(docker): Refactor Dockerfile (#683) * reorder nodejs/yarn install, separate packages per line * reduce run actions and reorganize commands * simplify file creation, copy in one layer only * fix lint LegacyKeyValueFormat * arg php_version to run different version * reorder copy from generated config * update dockerfile-frankenphp --- Dockerfile | 183 ++++++++++++++++++++++++++---------------- Dockerfile-frankenphp | 37 ++++++--- 2 files changed, 139 insertions(+), 81 deletions(-) diff --git a/Dockerfile b/Dockerfile index bf14bbb7..9e0bf8c8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,22 +1,64 @@ -FROM debian:bullseye-slim +ARG BASE_IMAGE=debian:bullseye-slim +ARG PHP_VERSION=8.1 + +FROM ${BASE_IMAGE} AS base +ARG PHP_VERSION # Install needed dependencies for PHP build #RUN apt-get update && apt-get install -y pkg-config curl libcurl4-openssl-dev libicu-dev \ # libpng-dev libjpeg-dev libfreetype6-dev gnupg zip libzip-dev libjpeg62-turbo-dev libonig-dev libxslt-dev libwebp-dev vim \ # && apt-get -y autoremove && apt-get clean autoclean && rm -rf /var/lib/apt/lists/* -RUN apt-get update && apt-get -y install apt-transport-https lsb-release ca-certificates curl zip mariadb-client postgresql-client \ +RUN apt-get update && apt-get -y install \ + apt-transport-https \ + lsb-release \ + ca-certificates \ + curl \ + zip \ + mariadb-client \ + postgresql-client \ && curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg \ && sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' \ && apt-get update && apt-get upgrade -y \ - && apt-get install -y apache2 php8.1 php8.1-fpm php8.1-opcache php8.1-curl php8.1-gd php8.1-mbstring php8.1-xml php8.1-bcmath php8.1-intl php8.1-zip php8.1-xsl php8.1-sqlite3 php8.1-mysql php8.1-pgsql gpg sudo \ - && apt-get -y autoremove && apt-get clean autoclean && rm -rf /var/lib/apt/lists/*; - -ENV APACHE_CONFDIR /etc/apache2 -ENV APACHE_ENVVARS $APACHE_CONFDIR/envvars - + && apt-get install -y \ + apache2 \ + php${PHP_VERSION} \ + php${PHP_VERSION}-fpm \ + php${PHP_VERSION}-opcache \ + php${PHP_VERSION}-curl \ + php${PHP_VERSION}-gd \ + php${PHP_VERSION}-mbstring \ + php${PHP_VERSION}-xml \ + php${PHP_VERSION}-bcmath \ + php${PHP_VERSION}-intl \ + php${PHP_VERSION}-zip \ + php${PHP_VERSION}-xsl \ + php${PHP_VERSION}-sqlite3 \ + php${PHP_VERSION}-mysql \ + php${PHP_VERSION}-pgsql \ + gpg \ + sudo \ + && apt-get -y autoremove && apt-get clean autoclean && rm -rf /var/lib/apt/lists/* \ # Create workdir and set permissions if directory does not exists -RUN mkdir -p /var/www/html && chown -R www-data:www-data /var/www/html + && mkdir -p /var/www/html \ + && chown -R www-data:www-data /var/www/html \ +# delete the "index.html" that installing Apache drops in here + && rm -rvf /var/www/html/* + +# Install node and yarn +RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \ + echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \ + curl -sL https://deb.nodesource.com/setup_18.x | bash - && \ + apt-get update && apt-get install -y \ + nodejs \ + yarn \ + && apt-get -y autoremove && apt-get clean autoclean && rm -rf /var/lib/apt/lists/* + +# Install composer +COPY --from=composer:latest /usr/bin/composer /usr/bin/composer + +ENV APACHE_CONFDIR=/etc/apache2 +ENV APACHE_ENVVARS=$APACHE_CONFDIR/envvars # Configure apache 2 (taken from https://github.com/docker-library/php/blob/master/8.2/bullseye/apache/Dockerfile) # generically convert lines like @@ -27,8 +69,6 @@ RUN mkdir -p /var/www/html && chown -R www-data:www-data /var/www/html # so that they can be overridden at runtime ("-e APACHE_RUN_USER=...") RUN sed -ri 's/^export ([^=]+)=(.*)$/: ${\1:=\2}\nexport \1/' "$APACHE_ENVVARS"; \ set -eux; . "$APACHE_ENVVARS"; \ - # delete the "index.html" that installing Apache drops in here - rm -rvf /var/www/html/*; \ \ # logs should go to stdout / stderr ln -sfT /dev/stderr "$APACHE_LOG_DIR/error.log"; \ @@ -36,82 +76,86 @@ RUN sed -ri 's/^export ([^=]+)=(.*)$/: ${\1:=\2}\nexport \1/' "$APACHE_ENVVARS" ln -sfT /dev/stdout "$APACHE_LOG_DIR/other_vhosts_access.log"; \ chown -R --no-dereference "$APACHE_RUN_USER:$APACHE_RUN_GROUP" "$APACHE_LOG_DIR"; -# Enable php-fpm -RUN a2enmod proxy_fcgi setenvif && a2enconf php8.1-fpm +# --- +FROM scratch AS apache-config +ARG PHP_VERSION # Configure php-fpm to log to stdout of the container (stdout of PID 1) # We have to use /proc/1/fd/1 because /dev/stdout or /proc/self/fd/1 does not point to the container stdout (because we use apache as entrypoint) # We also disable the clear_env option to allow the use of environment variables in php-fpm -RUN { \ - echo '[global]'; \ - echo 'error_log = /proc/1/fd/1'; \ - echo; \ - echo '[www]'; \ - echo 'access.log = /proc/1/fd/1'; \ - echo 'catch_workers_output = yes'; \ - echo 'decorate_workers_output = no'; \ - echo 'clear_env = no'; \ - } | tee "/etc/php/8.1/fpm/pool.d/zz-docker.conf" +COPY <'; \ - echo '\tSetHandler application/x-httpd-php'; \ - echo ''; \ - echo; \ - echo 'DirectoryIndex disabled'; \ - echo 'DirectoryIndex index.php index.html'; \ - echo; \ - echo ''; \ - echo '\tOptions -Indexes'; \ - echo '\tAllowOverride All'; \ - echo ''; \ - } | tee "$APACHE_CONFDIR/conf-available/docker-php.conf" \ - && a2enconf docker-php +COPY < + SetHandler application/x-httpd-php + + +DirectoryIndex disabled +DirectoryIndex index.php index.html + + + Options -Indexes + AllowOverride All + +EOF # Enable opcache and configure it recommended for symfony (see https://symfony.com/doc/current/performance.html) -RUN \ - { \ - echo 'opcache.memory_consumption=256'; \ - echo 'opcache.max_accelerated_files=20000'; \ - echo 'opcache.validate_timestamp=0'; \ - # Configure Realpath cache for performance - echo 'realpath_cache_size=4096K'; \ - echo 'realpath_cache_ttl=600'; \ - } > /etc/php/8.1/fpm/conf.d/symfony-recommended.ini +COPY < /etc/php/8.1/fpm/conf.d/partdb.ini +COPY < Date: Sun, 8 Sep 2024 19:14:02 +0200 Subject: [PATCH 028/287] New Crowdin updates (#692) * New translations messages.en.xlf (English) * New translations validators.en.xlf (English) * New translations security.en.xlf (English) * New translations validators.en.xlf (Italian) --- translations/messages.en.xlf | 2866 ++++++++++++++++---------------- translations/security.en.xlf | 4 +- translations/validators.en.xlf | 72 +- translations/validators.it.xlf | 6 + 4 files changed, 1477 insertions(+), 1471 deletions(-) diff --git a/translations/messages.en.xlf b/translations/messages.en.xlf index 9bbe0a34..9c606df3 100644 --- a/translations/messages.en.xlf +++ b/translations/messages.en.xlf @@ -7,7 +7,7 @@ Part-DB1\templates\AdminPages\AttachmentTypeAdmin.html.twig:4 templates\AdminPages\AttachmentTypeAdmin.html.twig:4 - + attachment_type.caption File types for attachments @@ -17,7 +17,7 @@ Part-DB1\templates\AdminPages\AttachmentTypeAdmin.html.twig:12 new - + attachment_type.edit Edit file type @@ -27,7 +27,7 @@ Part-DB1\templates\AdminPages\AttachmentTypeAdmin.html.twig:16 new - + attachment_type.new New file type @@ -46,7 +46,7 @@ templates\base.html.twig:197 templates\base.html.twig:225 - + category.labelp Categories @@ -59,7 +59,7 @@ Part-DB1\templates\AdminPages\StorelocationAdmin.html.twig:11 templates\AdminPages\CategoryAdmin.html.twig:8 - + admin.options Options @@ -72,7 +72,7 @@ Part-DB1\templates\AdminPages\CompanyAdminBase.html.twig:15 templates\AdminPages\CategoryAdmin.html.twig:9 - + admin.advanced Advanced @@ -82,7 +82,7 @@ Part-DB1\templates\AdminPages\CategoryAdmin.html.twig:13 new - + category.edit Edit category @@ -92,7 +92,7 @@ Part-DB1\templates\AdminPages\CategoryAdmin.html.twig:17 new - + category.new New category @@ -102,7 +102,7 @@ Part-DB1\templates\AdminPages\CurrencyAdmin.html.twig:4 Part-DB1\templates\AdminPages\CurrencyAdmin.html.twig:4 - + currency.caption Currency @@ -112,7 +112,7 @@ Part-DB1\templates\AdminPages\CurrencyAdmin.html.twig:12 Part-DB1\templates\AdminPages\CurrencyAdmin.html.twig:12 - + currency.iso_code.caption ISO code @@ -122,7 +122,7 @@ Part-DB1\templates\AdminPages\CurrencyAdmin.html.twig:15 Part-DB1\templates\AdminPages\CurrencyAdmin.html.twig:15 - + currency.symbol.caption Currency symbol @@ -132,7 +132,7 @@ Part-DB1\templates\AdminPages\CurrencyAdmin.html.twig:29 new - + currency.edit Edit currency @@ -142,7 +142,7 @@ Part-DB1\templates\AdminPages\CurrencyAdmin.html.twig:33 new - + currency.new New currency @@ -153,7 +153,7 @@ Part-DB1\templates\AdminPages\DeviceAdmin.html.twig:4 templates\AdminPages\DeviceAdmin.html.twig:4 - + project.caption Project @@ -163,7 +163,7 @@ Part-DB1\templates\AdminPages\DeviceAdmin.html.twig:8 new - + project.edit Edit project @@ -173,7 +173,7 @@ Part-DB1\templates\AdminPages\DeviceAdmin.html.twig:12 new - + project.new New project @@ -196,7 +196,7 @@ templates\base.html.twig:206 templates\base.html.twig:237 - + search.placeholder Search @@ -212,7 +212,7 @@ templates\base.html.twig:193 templates\base.html.twig:221 - + expandAll Expand All @@ -228,7 +228,7 @@ templates\base.html.twig:194 templates\base.html.twig:222 - + reduceAll Reduce All @@ -240,9 +240,9 @@ Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:54 Part-DB1\templates\Parts\info\_sidebar.html.twig:4 - + part.info.timetravel_hint - Please note that this feature is experimental, so the info may not be correct.]]> + This is how the part appeared before %timestamp%. <i>Please note that this feature is experimental, so the info may not be correct.</i> @@ -251,7 +251,7 @@ Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:60 templates\AdminPages\EntityAdminBase.html.twig:42 - + standard.label Properties @@ -262,7 +262,7 @@ Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:61 templates\AdminPages\EntityAdminBase.html.twig:43 - + infos.label Info @@ -273,7 +273,7 @@ Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:63 new - + history.label History @@ -284,7 +284,7 @@ Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:66 templates\AdminPages\EntityAdminBase.html.twig:45 - + export.label Export @@ -295,7 +295,7 @@ Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:68 templates\AdminPages\EntityAdminBase.html.twig:47 - + import_export.label Import / Export @@ -305,7 +305,7 @@ Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:69 Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:69 - + mass_creation.label Mass creation @@ -316,7 +316,7 @@ Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:82 templates\AdminPages\EntityAdminBase.html.twig:59 - + admin.common Common @@ -326,7 +326,7 @@ Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:86 Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:86 - + admin.attachments Attachments @@ -335,7 +335,7 @@ Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:90 - + admin.parameters Parameters @@ -346,7 +346,7 @@ Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:167 templates\AdminPages\EntityAdminBase.html.twig:142 - + export_all.label Export all elements @@ -356,7 +356,7 @@ Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:185 Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:173 - + mass_creation.help Each line will be interpreted as a name of an element, which will be created. You can create nested structures by indentations. @@ -367,7 +367,7 @@ Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:45 templates\AdminPages\EntityAdminBase.html.twig:35 - + edit.caption Edit element "%name" @@ -378,7 +378,7 @@ Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:50 templates\AdminPages\EntityAdminBase.html.twig:37 - + new.caption New element @@ -393,7 +393,7 @@ templates\base.html.twig:199 templates\base.html.twig:227 - + footprint.labelp Footprints @@ -403,7 +403,7 @@ Part-DB1\templates\AdminPages\FootprintAdmin.html.twig:13 new - + footprint.edit Edit footprint @@ -413,7 +413,7 @@ Part-DB1\templates\AdminPages\FootprintAdmin.html.twig:17 new - + footprint.new New footprint @@ -423,7 +423,7 @@ Part-DB1\templates\AdminPages\GroupAdmin.html.twig:4 Part-DB1\templates\AdminPages\GroupAdmin.html.twig:4 - + group.edit.caption Groups @@ -435,7 +435,7 @@ Part-DB1\templates\AdminPages\GroupAdmin.html.twig:9 Part-DB1\templates\AdminPages\UserAdmin.html.twig:16 - + user.edit.permissions Permissions @@ -445,7 +445,7 @@ Part-DB1\templates\AdminPages\GroupAdmin.html.twig:24 new - + group.edit Edit group @@ -455,7 +455,7 @@ Part-DB1\templates\AdminPages\GroupAdmin.html.twig:28 new - + group.new New group @@ -464,7 +464,7 @@ Part-DB1\templates\AdminPages\LabelProfileAdmin.html.twig:4 - + label_profile.caption Label profiles @@ -473,7 +473,7 @@ Part-DB1\templates\AdminPages\LabelProfileAdmin.html.twig:8 - + label_profile.advanced Advanced @@ -482,7 +482,7 @@ Part-DB1\templates\AdminPages\LabelProfileAdmin.html.twig:9 - + label_profile.comment Notes @@ -492,7 +492,7 @@ Part-DB1\templates\AdminPages\LabelProfileAdmin.html.twig:55 new - + label_profile.edit Edit label profile @@ -502,7 +502,7 @@ Part-DB1\templates\AdminPages\LabelProfileAdmin.html.twig:59 new - + label_profile.new New label profile @@ -513,7 +513,7 @@ Part-DB1\templates\AdminPages\ManufacturerAdmin.html.twig:4 templates\AdminPages\ManufacturerAdmin.html.twig:4 - + manufacturer.caption Manufacturers @@ -523,7 +523,7 @@ Part-DB1\templates\AdminPages\ManufacturerAdmin.html.twig:8 new - + manufacturer.edit Edit manufacturer @@ -533,7 +533,7 @@ Part-DB1\templates\AdminPages\ManufacturerAdmin.html.twig:12 new - + manufacturer.new New manufacturer @@ -543,7 +543,7 @@ Part-DB1\templates\AdminPages\MeasurementUnitAdmin.html.twig:4 Part-DB1\templates\AdminPages\MeasurementUnitAdmin.html.twig:4 - + measurement_unit.caption Measurement Unit @@ -558,7 +558,7 @@ templates\base.html.twig:198 templates\base.html.twig:226 - + storelocation.labelp Storage locations @@ -568,7 +568,7 @@ Part-DB1\templates\AdminPages\StorelocationAdmin.html.twig:32 new - + storelocation.edit Edit storage location @@ -578,7 +578,7 @@ Part-DB1\templates\AdminPages\StorelocationAdmin.html.twig:36 new - + storelocation.new New storage location @@ -589,7 +589,7 @@ Part-DB1\templates\AdminPages\SupplierAdmin.html.twig:4 templates\AdminPages\SupplierAdmin.html.twig:4 - + supplier.caption Suppliers @@ -599,7 +599,7 @@ Part-DB1\templates\AdminPages\SupplierAdmin.html.twig:16 new - + supplier.edit Edit supplier @@ -609,7 +609,7 @@ Part-DB1\templates\AdminPages\SupplierAdmin.html.twig:20 new - + supplier.new New supplier @@ -619,7 +619,7 @@ Part-DB1\templates\AdminPages\UserAdmin.html.twig:8 Part-DB1\templates\AdminPages\UserAdmin.html.twig:8 - + user.edit.caption Users @@ -629,7 +629,7 @@ Part-DB1\templates\AdminPages\UserAdmin.html.twig:14 Part-DB1\templates\AdminPages\UserAdmin.html.twig:14 - + user.edit.configuration Configuration @@ -639,7 +639,7 @@ Part-DB1\templates\AdminPages\UserAdmin.html.twig:15 Part-DB1\templates\AdminPages\UserAdmin.html.twig:15 - + user.edit.password Password @@ -649,7 +649,7 @@ Part-DB1\templates\AdminPages\UserAdmin.html.twig:45 Part-DB1\templates\AdminPages\UserAdmin.html.twig:45 - + user.edit.tfa.caption Two-factor authentication @@ -659,7 +659,7 @@ Part-DB1\templates\AdminPages\UserAdmin.html.twig:47 Part-DB1\templates\AdminPages\UserAdmin.html.twig:47 - + user.edit.tfa.google_active Authenticator app active @@ -673,7 +673,7 @@ Part-DB1\templates\Users\backup_codes.html.twig:15 Part-DB1\templates\Users\_2fa_settings.html.twig:95 - + tfa_backup.remaining_tokens Remaining backup codes count @@ -687,7 +687,7 @@ Part-DB1\templates\Users\backup_codes.html.twig:17 Part-DB1\templates\Users\_2fa_settings.html.twig:96 - + tfa_backup.generation_date Generation date of the backup codes @@ -699,7 +699,7 @@ Part-DB1\templates\AdminPages\UserAdmin.html.twig:53 Part-DB1\templates\AdminPages\UserAdmin.html.twig:60 - + user.edit.tfa.disabled Method not enabled @@ -709,7 +709,7 @@ Part-DB1\templates\AdminPages\UserAdmin.html.twig:56 Part-DB1\templates\AdminPages\UserAdmin.html.twig:56 - + user.edit.tfa.u2f_keys_count Active security keys @@ -719,7 +719,7 @@ Part-DB1\templates\AdminPages\UserAdmin.html.twig:72 Part-DB1\templates\AdminPages\UserAdmin.html.twig:72 - + user.edit.tfa.disable_tfa_title Do you really want to proceed? @@ -729,12 +729,12 @@ Part-DB1\templates\AdminPages\UserAdmin.html.twig:72 Part-DB1\templates\AdminPages\UserAdmin.html.twig:72 - + user.edit.tfa.disable_tfa_message - all active two-factor authentication methods of the user and delete the backup codes! -
-The user will have to set up all two-factor authentication methods again and print new backup codes!

-Only do this if you are absolutely sure about the identity of the user (seeking help), otherwise the account could be compromised by an attacker!]]>
+ This will disable <b>all active two-factor authentication methods of the user</b> and delete the <b>backup codes</b>! +<br> +The user will have to set up all two-factor authentication methods again and print new backup codes! <br><br> +<b>Only do this if you are absolutely sure about the identity of the user (seeking help), otherwise the account could be compromised by an attacker!</b>
@@ -742,7 +742,7 @@ The user will have to set up all two-factor authentication methods again and pri Part-DB1\templates\AdminPages\UserAdmin.html.twig:73 Part-DB1\templates\AdminPages\UserAdmin.html.twig:73 - + user.edit.tfa.disable_tfa.btn Disable all two-factor authentication methods @@ -752,7 +752,7 @@ The user will have to set up all two-factor authentication methods again and pri Part-DB1\templates\AdminPages\UserAdmin.html.twig:85 new - + user.edit Edit user @@ -762,7 +762,7 @@ The user will have to set up all two-factor authentication methods again and pri Part-DB1\templates\AdminPages\UserAdmin.html.twig:89 new - + user.new New user @@ -775,7 +775,7 @@ The user will have to set up all two-factor authentication methods again and pri Part-DB1\templates\Parts\edit\_attachments.html.twig:4 Part-DB1\templates\Parts\info\_attachments_info.html.twig:63 - + attachment.delete Delete @@ -789,7 +789,7 @@ The user will have to set up all two-factor authentication methods again and pri Part-DB1\templates\Parts\edit\_attachments.html.twig:38 Part-DB1\src\DataTables\AttachmentDataTable.php:159 - + attachment.external External @@ -801,7 +801,7 @@ The user will have to set up all two-factor authentication methods again and pri Part-DB1\templates\AdminPages\_attachments.html.twig:47 Part-DB1\templates\Parts\edit\_attachments.html.twig:45 - + attachment.preview.alt Attachment thumbnail @@ -815,7 +815,7 @@ The user will have to set up all two-factor authentication methods again and pri Part-DB1\templates\Parts\edit\_attachments.html.twig:48 Part-DB1\templates\Parts\info\_attachments_info.html.twig:45 - + attachment.view View @@ -831,7 +831,7 @@ The user will have to set up all two-factor authentication methods again and pri Part-DB1\templates\Parts\info\_attachments_info.html.twig:38 Part-DB1\src\DataTables\AttachmentDataTable.php:166 - + attachment.file_not_found File not found @@ -843,7 +843,7 @@ The user will have to set up all two-factor authentication methods again and pri Part-DB1\templates\Parts\info\_attachments_info.html.twig:48 Part-DB1\templates\Parts\edit\_attachments.html.twig:62 - + attachment.secure Private attachment @@ -855,7 +855,7 @@ The user will have to set up all two-factor authentication methods again and pri Part-DB1\templates\AdminPages\_attachments.html.twig:77 Part-DB1\templates\Parts\edit\_attachments.html.twig:75 - + attachment.create Add attachment @@ -869,7 +869,7 @@ The user will have to set up all two-factor authentication methods again and pri Part-DB1\templates\Parts\edit\_attachments.html.twig:80 Part-DB1\templates\Parts\edit\_lots.html.twig:33 - + part_lot.edit.delete.confirm Do you really want to delete this stock? This can not be undone! @@ -880,7 +880,7 @@ The user will have to set up all two-factor authentication methods again and pri Part-DB1\templates\AdminPages\_delete_form.html.twig:2 templates\AdminPages\_delete_form.html.twig:2 - + entity.delete.confirm_title You really want to delete %name%? @@ -891,11 +891,11 @@ The user will have to set up all two-factor authentication methods again and pri Part-DB1\templates\AdminPages\_delete_form.html.twig:3 templates\AdminPages\_delete_form.html.twig:3 - + entity.delete.message - -Sub elements will be moved upwards.]]> + This can not be undone! +<br> +Sub elements will be moved upwards. @@ -904,7 +904,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\AdminPages\_delete_form.html.twig:11 templates\AdminPages\_delete_form.html.twig:9 - + entity.delete Delete element @@ -919,7 +919,7 @@ Sub elements will be moved upwards.]]> Part-DB1\src\Form\Part\PartBaseType.php:267 new - + edit.log_comment Change comment @@ -930,7 +930,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\AdminPages\_delete_form.html.twig:24 templates\AdminPages\_delete_form.html.twig:12 - + entity.delete.recursive Delete recursive (all sub elements) @@ -939,7 +939,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\AdminPages\_duplicate.html.twig:3 - + entity.duplicate Duplicate element @@ -953,7 +953,7 @@ Sub elements will be moved upwards.]]> templates\AdminPages\_export_form.html.twig:4 src\Form\ImportType.php:67 - + export.format File format @@ -964,7 +964,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\AdminPages\_export_form.html.twig:16 templates\AdminPages\_export_form.html.twig:16 - + export.level Verbosity level @@ -975,7 +975,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\AdminPages\_export_form.html.twig:19 templates\AdminPages\_export_form.html.twig:19 - + export.level.simple Simple @@ -986,7 +986,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\AdminPages\_export_form.html.twig:20 templates\AdminPages\_export_form.html.twig:20 - + export.level.extended Extended @@ -997,7 +997,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\AdminPages\_export_form.html.twig:21 templates\AdminPages\_export_form.html.twig:21 - + export.level.full Full @@ -1008,7 +1008,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\AdminPages\_export_form.html.twig:31 templates\AdminPages\_export_form.html.twig:31 - + export.include_children Include children elements in export @@ -1019,7 +1019,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\AdminPages\_export_form.html.twig:39 templates\AdminPages\_export_form.html.twig:39 - + export.btn Export @@ -1038,7 +1038,7 @@ Sub elements will be moved upwards.]]> templates\Parts\edit_part_info.html.twig:12 templates\Parts\show_part_info.html.twig:11 - + id.label ID @@ -1062,7 +1062,7 @@ Sub elements will be moved upwards.]]> templates\AdminPages\EntityAdminBase.html.twig:101 templates\Parts\show_part_info.html.twig:248 - + createdAt Created At @@ -1080,7 +1080,7 @@ Sub elements will be moved upwards.]]> templates\AdminPages\EntityAdminBase.html.twig:114 templates\Parts\show_part_info.html.twig:263 - + lastModified Last modified @@ -1090,7 +1090,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\AdminPages\_info.html.twig:38 Part-DB1\templates\AdminPages\_info.html.twig:38 - + entity.info.parts_count Number of parts with this element @@ -1101,7 +1101,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\helper.twig:125 Part-DB1\templates\Parts\edit\_specifications.html.twig:6 - + specifications.property Parameter @@ -1111,7 +1111,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\AdminPages\_parameters.html.twig:7 Part-DB1\templates\Parts\edit\_specifications.html.twig:7 - + specifications.symbol Symbol @@ -1121,7 +1121,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\AdminPages\_parameters.html.twig:8 Part-DB1\templates\Parts\edit\_specifications.html.twig:8 - + specifications.value_min Min. @@ -1131,7 +1131,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\AdminPages\_parameters.html.twig:9 Part-DB1\templates\Parts\edit\_specifications.html.twig:9 - + specifications.value_typ Typ. @@ -1141,7 +1141,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\AdminPages\_parameters.html.twig:10 Part-DB1\templates\Parts\edit\_specifications.html.twig:10 - + specifications.value_max Max. @@ -1151,7 +1151,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\AdminPages\_parameters.html.twig:11 Part-DB1\templates\Parts\edit\_specifications.html.twig:11 - + specifications.unit Unit @@ -1161,7 +1161,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\AdminPages\_parameters.html.twig:12 Part-DB1\templates\Parts\edit\_specifications.html.twig:12 - + specifications.text Text @@ -1171,7 +1171,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\AdminPages\_parameters.html.twig:13 Part-DB1\templates\Parts\edit\_specifications.html.twig:13 - + specifications.group Group @@ -1181,7 +1181,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\AdminPages\_parameters.html.twig:26 Part-DB1\templates\Parts\edit\_specifications.html.twig:26 - + specification.create New Parameter @@ -1191,7 +1191,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\AdminPages\_parameters.html.twig:31 Part-DB1\templates\Parts\edit\_specifications.html.twig:31 - + parameter.delete.confirm Do you really want to delete this parameter? @@ -1201,7 +1201,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\attachment_list.html.twig:3 Part-DB1\templates\attachment_list.html.twig:3 - + attachment.list.title Attachments list @@ -1215,7 +1215,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\LogSystem\_log_table.html.twig:8 Part-DB1\templates\Parts\lists\_parts_list.html.twig:6 - + part_list.loading.caption Loading @@ -1229,7 +1229,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\LogSystem\_log_table.html.twig:9 Part-DB1\templates\Parts\lists\_parts_list.html.twig:7 - + part_list.loading.message This can take a moment. If this message do not disappear, try to reload the page. @@ -1240,7 +1240,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\base.html.twig:68 templates\base.html.twig:246 - + vendor.base.javascript_hint Please activate Javascript to use all features! @@ -1250,7 +1250,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\base.html.twig:73 Part-DB1\templates\base.html.twig:73 - + sidebar.big.toggle Show/Hide sidebar @@ -1261,7 +1261,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\base.html.twig:95 templates\base.html.twig:271 - + loading.caption Loading: @@ -1272,7 +1272,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\base.html.twig:96 templates\base.html.twig:272 - + loading.message This can take a while. If this messages stays for a long time, try to reload the page. @@ -1283,7 +1283,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\base.html.twig:101 templates\base.html.twig:277 - + loading.bar Loading... @@ -1294,7 +1294,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\base.html.twig:112 templates\base.html.twig:288 - + back_to_top Back to page's top @@ -1304,7 +1304,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Form\permissionLayout.html.twig:35 Part-DB1\templates\Form\permissionLayout.html.twig:35 - + permission.edit.permission Permissions @@ -1314,7 +1314,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Form\permissionLayout.html.twig:36 Part-DB1\templates\Form\permissionLayout.html.twig:36 - + permission.edit.value Value @@ -1324,7 +1324,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Form\permissionLayout.html.twig:53 Part-DB1\templates\Form\permissionLayout.html.twig:53 - + permission.legend.title Explanation of the states @@ -1334,7 +1334,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Form\permissionLayout.html.twig:57 Part-DB1\templates\Form\permissionLayout.html.twig:57 - + permission.legend.disallow Forbidden @@ -1344,7 +1344,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Form\permissionLayout.html.twig:61 Part-DB1\templates\Form\permissionLayout.html.twig:61 - + permission.legend.allow Allowed @@ -1354,7 +1354,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Form\permissionLayout.html.twig:65 Part-DB1\templates\Form\permissionLayout.html.twig:65 - + permission.legend.inherit Inherit from (parent) group @@ -1364,7 +1364,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\helper.twig:3 Part-DB1\templates\helper.twig:3 - + bool.true True @@ -1374,7 +1374,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\helper.twig:5 Part-DB1\templates\helper.twig:5 - + bool.false False @@ -1384,7 +1384,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\helper.twig:92 Part-DB1\templates\helper.twig:87 - + Yes Yes @@ -1394,7 +1394,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\helper.twig:94 Part-DB1\templates\helper.twig:89 - + No No @@ -1403,7 +1403,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\helper.twig:126 - + specifications.value Value @@ -1414,7 +1414,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\homepage.html.twig:7 templates\homepage.html.twig:7 - + version.caption Version @@ -1425,7 +1425,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\homepage.html.twig:22 templates\homepage.html.twig:19 - + homepage.license License information @@ -1436,7 +1436,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\homepage.html.twig:31 templates\homepage.html.twig:28 - + homepage.github.caption Project page @@ -1447,9 +1447,9 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\homepage.html.twig:31 templates\homepage.html.twig:28 - + homepage.github.text - GitHub project page]]> + Source, downloads, bug reports, to-do-list etc. can be found on <a href="%href%" class="link-external" target="_blank">GitHub project page</a> @@ -1458,7 +1458,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\homepage.html.twig:32 templates\homepage.html.twig:29 - + homepage.help.caption Help @@ -1469,9 +1469,9 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\homepage.html.twig:32 templates\homepage.html.twig:29 - + homepage.help.text - GitHub page]]> + Help and tips can be found in Wiki the <a href="%href%" class="link-external" target="_blank">GitHub page</a> @@ -1480,7 +1480,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\homepage.html.twig:33 templates\homepage.html.twig:30 - + homepage.forum.caption Forum @@ -1491,7 +1491,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\homepage.html.twig:45 new - + homepage.last_activity Last activity @@ -1501,7 +1501,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\LabelSystem\dialog.html.twig:3 Part-DB1\templates\LabelSystem\dialog.html.twig:6 - + label_generator.title Label generator @@ -1510,7 +1510,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\LabelSystem\dialog.html.twig:16 - + label_generator.common Common @@ -1519,7 +1519,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\LabelSystem\dialog.html.twig:20 - + label_generator.advanced Advanced @@ -1528,7 +1528,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\LabelSystem\dialog.html.twig:24 - + label_generator.profiles Profiles @@ -1537,7 +1537,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\LabelSystem\dialog.html.twig:58 - + label_generator.selected_profile Currently selected profile @@ -1546,7 +1546,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\LabelSystem\dialog.html.twig:62 - + label_generator.edit_profile Edit profile @@ -1555,7 +1555,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\LabelSystem\dialog.html.twig:75 - + label_generator.load_profile Load profile @@ -1564,7 +1564,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\LabelSystem\dialog.html.twig:102 - + label_generator.download Download @@ -1574,7 +1574,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\LabelSystem\dropdown_macro.html.twig:3 Part-DB1\templates\LabelSystem\dropdown_macro.html.twig:5 - + label_generator.label_btn Generate label @@ -1583,7 +1583,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\LabelSystem\dropdown_macro.html.twig:20 - + label_generator.label_empty New empty label @@ -1592,7 +1592,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\LabelSystem\Scanner\dialog.html.twig:3 - + label_scanner.title Label scanner @@ -1601,7 +1601,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\LabelSystem\Scanner\dialog.html.twig:7 - + label_scanner.no_cam_found.title No webcam found @@ -1610,7 +1610,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\LabelSystem\Scanner\dialog.html.twig:7 - + label_scanner.no_cam_found.text You need a webcam and give permission to use the scanner function. You can input the barcode code manually below. @@ -1619,7 +1619,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\LabelSystem\Scanner\dialog.html.twig:27 - + label_scanner.source_select Select source @@ -1629,7 +1629,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\LogSystem\log_list.html.twig:3 Part-DB1\templates\LogSystem\log_list.html.twig:3 - + log.list.title System log @@ -1640,7 +1640,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\LogSystem\_log_table.html.twig:1 new - + log.undo.confirm_title Really undo change / revert to timestamp? @@ -1651,7 +1651,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\LogSystem\_log_table.html.twig:2 new - + log.undo.confirm_message Do you really want to undo the given change / reset the element to the given timestamp? @@ -1661,7 +1661,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\mail\base.html.twig:24 Part-DB1\templates\mail\base.html.twig:24 - + mail.footer.email_sent_by This email was sent automatically by @@ -1671,7 +1671,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\mail\base.html.twig:24 Part-DB1\templates\mail\base.html.twig:24 - + mail.footer.dont_reply Do not answer to this email. @@ -1681,7 +1681,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\mail\pw_reset.html.twig:6 Part-DB1\templates\mail\pw_reset.html.twig:6 - + email.hi %name% Hi %name% @@ -1691,7 +1691,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\mail\pw_reset.html.twig:7 Part-DB1\templates\mail\pw_reset.html.twig:7 - + email.pw_reset.message somebody (hopefully you) requested a reset of your password. If this request was not made by you, ignore this mail. @@ -1701,7 +1701,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\mail\pw_reset.html.twig:9 Part-DB1\templates\mail\pw_reset.html.twig:9 - + email.pw_reset.button Click here to reset password @@ -1711,9 +1711,9 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\mail\pw_reset.html.twig:11 Part-DB1\templates\mail\pw_reset.html.twig:11 - + email.pw_reset.fallback - %url% and enter the following info]]> + If this does not work for you, go to <a href="%url%">%url%</a> and enter the following info @@ -1721,7 +1721,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\mail\pw_reset.html.twig:16 Part-DB1\templates\mail\pw_reset.html.twig:16 - + email.pw_reset.username Username @@ -1731,7 +1731,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\mail\pw_reset.html.twig:19 Part-DB1\templates\mail\pw_reset.html.twig:19 - + email.pw_reset.token Token @@ -1741,9 +1741,9 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\mail\pw_reset.html.twig:24 Part-DB1\templates\mail\pw_reset.html.twig:24 - + email.pw_reset.valid_unit %date% - %date%.]]> + The reset token will be valid until <i>%date%</i>. @@ -1753,7 +1753,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\edit\edit_form_styles.html.twig:78 Part-DB1\templates\Parts\edit\edit_form_styles.html.twig:58 - + orderdetail.delete Delete @@ -1763,7 +1763,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\edit\edit_form_styles.html.twig:39 Part-DB1\templates\Parts\edit\edit_form_styles.html.twig:39 - + pricedetails.edit.min_qty Minimum discount quantity @@ -1773,7 +1773,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\edit\edit_form_styles.html.twig:40 Part-DB1\templates\Parts\edit\edit_form_styles.html.twig:40 - + pricedetails.edit.price Price @@ -1783,7 +1783,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\edit\edit_form_styles.html.twig:41 Part-DB1\templates\Parts\edit\edit_form_styles.html.twig:41 - + pricedetails.edit.price_qty for amount @@ -1793,7 +1793,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\edit\edit_form_styles.html.twig:54 Part-DB1\templates\Parts\edit\edit_form_styles.html.twig:54 - + pricedetail.create Add price @@ -1804,7 +1804,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\edit\edit_part_info.html.twig:4 templates\Parts\edit_part_info.html.twig:4 - + part.edit.title Edit part @@ -1815,7 +1815,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\edit\edit_part_info.html.twig:9 templates\Parts\edit_part_info.html.twig:9 - + part.edit.card_title Edit part @@ -1825,7 +1825,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\edit\edit_part_info.html.twig:22 Part-DB1\templates\Parts\edit\edit_part_info.html.twig:22 - + part.edit.tab.common Common @@ -1835,7 +1835,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\edit\edit_part_info.html.twig:28 Part-DB1\templates\Parts\edit\edit_part_info.html.twig:28 - + part.edit.tab.manufacturer Manufacturer @@ -1845,7 +1845,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\edit\edit_part_info.html.twig:34 Part-DB1\templates\Parts\edit\edit_part_info.html.twig:34 - + part.edit.tab.advanced Advanced @@ -1855,7 +1855,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\edit\edit_part_info.html.twig:40 Part-DB1\templates\Parts\edit\edit_part_info.html.twig:40 - + part.edit.tab.part_lots Stocks @@ -1865,7 +1865,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\edit\edit_part_info.html.twig:46 Part-DB1\templates\Parts\edit\edit_part_info.html.twig:46 - + part.edit.tab.attachments Attachments @@ -1875,7 +1875,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\edit\edit_part_info.html.twig:52 Part-DB1\templates\Parts\edit\edit_part_info.html.twig:52 - + part.edit.tab.orderdetails Purchase information @@ -1884,7 +1884,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\edit\edit_part_info.html.twig:58 - + part.edit.tab.specifications Parameters @@ -1894,7 +1894,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\edit\edit_part_info.html.twig:64 Part-DB1\templates\Parts\edit\edit_part_info.html.twig:58 - + part.edit.tab.comment Notes @@ -1905,7 +1905,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\edit\new_part.html.twig:8 templates\Parts\new_part.html.twig:8 - + part.new.card_title Create new part @@ -1915,7 +1915,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\edit\_lots.html.twig:5 Part-DB1\templates\Parts\edit\_lots.html.twig:5 - + part_lot.delete Delete @@ -1925,7 +1925,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\edit\_lots.html.twig:28 Part-DB1\templates\Parts\edit\_lots.html.twig:28 - + part_lot.create Add stock @@ -1935,7 +1935,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\edit\_orderdetails.html.twig:13 Part-DB1\templates\Parts\edit\_orderdetails.html.twig:13 - + orderdetail.create Add distributor @@ -1945,7 +1945,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\edit\_orderdetails.html.twig:18 Part-DB1\templates\Parts\edit\_orderdetails.html.twig:18 - + pricedetails.edit.delete.confirm Do you really want to delete this price? This can not be undone. @@ -1955,7 +1955,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\edit\_orderdetails.html.twig:62 Part-DB1\templates\Parts\edit\_orderdetails.html.twig:61 - + orderdetails.edit.delete.confirm Do you really want to delete this distributor info? This can not be undone! @@ -1969,7 +1969,7 @@ Sub elements will be moved upwards.]]> templates\Parts\show_part_info.html.twig:4 templates\Parts\show_part_info.html.twig:9 - + part.info.title Detail info for part @@ -1979,7 +1979,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\show_part_info.html.twig:47 Part-DB1\templates\Parts\info\show_part_info.html.twig:47 - + part.part_lots.label Stocks @@ -1994,7 +1994,7 @@ Sub elements will be moved upwards.]]> templates\Parts\show_part_info.html.twig:74 src\Form\PartType.php:86 - + comment.label Notes @@ -2003,7 +2003,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\show_part_info.html.twig:64 - + part.info.specifications Parameters @@ -2014,7 +2014,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\show_part_info.html.twig:64 templates\Parts\show_part_info.html.twig:82 - + attachment.labelp Attachments @@ -2025,7 +2025,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\show_part_info.html.twig:71 templates\Parts\show_part_info.html.twig:88 - + vendor.partinfo.shopping_infos Shopping information @@ -2036,7 +2036,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\show_part_info.html.twig:78 templates\Parts\show_part_info.html.twig:94 - + vendor.partinfo.history History @@ -2055,7 +2055,7 @@ Sub elements will be moved upwards.]]> templates\base.html.twig:231 templates\Parts\show_part_info.html.twig:100 - + tools.label Tools @@ -2065,7 +2065,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\show_part_info.html.twig:103 Part-DB1\templates\Parts\info\show_part_info.html.twig:90 - + extended_info.label Extended info @@ -2075,7 +2075,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_attachments_info.html.twig:7 Part-DB1\templates\Parts\info\_attachments_info.html.twig:7 - + attachment.name Name @@ -2085,7 +2085,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_attachments_info.html.twig:8 Part-DB1\templates\Parts\info\_attachments_info.html.twig:8 - + attachment.attachment_type Attachment Type @@ -2095,7 +2095,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_attachments_info.html.twig:9 Part-DB1\templates\Parts\info\_attachments_info.html.twig:9 - + attachment.file_name File name @@ -2105,7 +2105,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_attachments_info.html.twig:10 Part-DB1\templates\Parts\info\_attachments_info.html.twig:10 - + attachment.file_size File size @@ -2114,7 +2114,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_attachments_info.html.twig:54 - + attachment.preview Preview picture @@ -2124,7 +2124,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_attachments_info.html.twig:67 Part-DB1\templates\Parts\info\_attachments_info.html.twig:50 - + attachment.download Download @@ -2135,7 +2135,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_extended_infos.html.twig:11 new - + user.creating_user User who created this part @@ -2149,7 +2149,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_extended_infos.html.twig:28 Part-DB1\templates\Parts\info\_extended_infos.html.twig:50 - + Unknown Unknown @@ -2162,7 +2162,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_extended_infos.html.twig:30 new - + accessDenied Access Denied @@ -2173,7 +2173,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_extended_infos.html.twig:26 new - + user.last_editing_user User who edited this part last @@ -2183,7 +2183,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_extended_infos.html.twig:41 Part-DB1\templates\Parts\info\_extended_infos.html.twig:41 - + part.isFavorite Favorite @@ -2193,7 +2193,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_extended_infos.html.twig:46 Part-DB1\templates\Parts\info\_extended_infos.html.twig:46 - + part.minOrderAmount Minimum order amount @@ -2210,7 +2210,7 @@ Sub elements will be moved upwards.]]> templates\Parts\show_part_info.html.twig:24 src\Form\PartType.php:80 - + manufacturer.label Manufacturer @@ -2222,7 +2222,7 @@ Sub elements will be moved upwards.]]> templates\base.html.twig:54 src\Form\PartType.php:62 - + name.label Name @@ -2233,7 +2233,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_main_infos.html.twig:27 new - + part.back_to_info Back to current version @@ -2248,7 +2248,7 @@ Sub elements will be moved upwards.]]> templates\Parts\show_part_info.html.twig:31 src\Form\PartType.php:65 - + description.label Description @@ -2265,7 +2265,7 @@ Sub elements will be moved upwards.]]> templates\Parts\show_part_info.html.twig:32 src\Form\PartType.php:74 - + category.label Category @@ -2277,7 +2277,7 @@ Sub elements will be moved upwards.]]> templates\Parts\show_part_info.html.twig:42 src\Form\PartType.php:69 - + instock.label Instock @@ -2289,7 +2289,7 @@ Sub elements will be moved upwards.]]> templates\Parts\show_part_info.html.twig:44 src\Form\PartType.php:72 - + mininstock.label Minimum Instock @@ -2305,7 +2305,7 @@ Sub elements will be moved upwards.]]> templates\base.html.twig:73 templates\Parts\show_part_info.html.twig:47 - + footprint.label Footprint @@ -2318,7 +2318,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_main_infos.html.twig:60 templates\Parts\show_part_info.html.twig:51 - + part.avg_price.label Average Price @@ -2328,7 +2328,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_order_infos.html.twig:5 Part-DB1\templates\Parts\info\_order_infos.html.twig:5 - + part.supplier.name Name @@ -2338,7 +2338,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_order_infos.html.twig:6 Part-DB1\templates\Parts\info\_order_infos.html.twig:6 - + part.supplier.partnr Partnr. @@ -2348,7 +2348,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_order_infos.html.twig:28 Part-DB1\templates\Parts\info\_order_infos.html.twig:28 - + part.order.minamount Minimum amount @@ -2358,7 +2358,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_order_infos.html.twig:29 Part-DB1\templates\Parts\info\_order_infos.html.twig:29 - + part.order.price Price @@ -2368,7 +2368,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_order_infos.html.twig:31 Part-DB1\templates\Parts\info\_order_infos.html.twig:31 - + part.order.single_price Unit Price @@ -2378,7 +2378,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_order_infos.html.twig:71 Part-DB1\templates\Parts\info\_order_infos.html.twig:71 - + edit.caption_short Edit @@ -2388,7 +2388,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_order_infos.html.twig:72 Part-DB1\templates\Parts\info\_order_infos.html.twig:72 - + delete.caption Delete @@ -2398,7 +2398,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_part_lots.html.twig:7 Part-DB1\templates\Parts\info\_part_lots.html.twig:6 - + part_lots.description Description @@ -2408,7 +2408,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_part_lots.html.twig:8 Part-DB1\templates\Parts\info\_part_lots.html.twig:7 - + part_lots.storage_location Storage location @@ -2418,7 +2418,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_part_lots.html.twig:9 Part-DB1\templates\Parts\info\_part_lots.html.twig:8 - + part_lots.amount Amount @@ -2428,7 +2428,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_part_lots.html.twig:24 Part-DB1\templates\Parts\info\_part_lots.html.twig:22 - + part_lots.location_unknown Storage location unknown @@ -2438,7 +2438,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_part_lots.html.twig:31 Part-DB1\templates\Parts\info\_part_lots.html.twig:29 - + part_lots.instock_unknown Amount unknown @@ -2448,7 +2448,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_part_lots.html.twig:40 Part-DB1\templates\Parts\info\_part_lots.html.twig:38 - + part_lots.expiration_date Expiration date @@ -2458,7 +2458,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_part_lots.html.twig:48 Part-DB1\templates\Parts\info\_part_lots.html.twig:46 - + part_lots.is_expired Expired @@ -2468,7 +2468,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_part_lots.html.twig:55 Part-DB1\templates\Parts\info\_part_lots.html.twig:53 - + part_lots.need_refill Needs refill @@ -2478,7 +2478,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_picture.html.twig:15 Part-DB1\templates\Parts\info\_picture.html.twig:15 - + part.info.prev_picture Previous picture @@ -2488,7 +2488,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_picture.html.twig:19 Part-DB1\templates\Parts\info\_picture.html.twig:19 - + part.info.next_picture Next picture @@ -2498,7 +2498,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_sidebar.html.twig:21 Part-DB1\templates\Parts\info\_sidebar.html.twig:21 - + part.mass.tooltip Mass @@ -2508,7 +2508,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_sidebar.html.twig:30 Part-DB1\templates\Parts\info\_sidebar.html.twig:30 - + part.needs_review.badge Needs review @@ -2518,7 +2518,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_sidebar.html.twig:39 Part-DB1\templates\Parts\info\_sidebar.html.twig:39 - + part.favorite.badge Favorite @@ -2528,7 +2528,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_sidebar.html.twig:47 Part-DB1\templates\Parts\info\_sidebar.html.twig:47 - + part.obsolete.badge No longer available @@ -2537,7 +2537,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_specifications.html.twig:10 - + parameters.extracted_from_description Automatically extracted from description @@ -2546,7 +2546,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_specifications.html.twig:15 - + parameters.auto_extracted_from_comment Automatically extracted from notes @@ -2557,7 +2557,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_tools.html.twig:4 templates\Parts\show_part_info.html.twig:125 - + part.edit.btn Edit part @@ -2568,7 +2568,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_tools.html.twig:14 templates\Parts\show_part_info.html.twig:135 - + part.clone.btn Clone part @@ -2579,7 +2579,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\lists\_action_bar.html.twig:4 templates\Parts\show_part_info.html.twig:143 - + part.create.btn Create new part @@ -2589,7 +2589,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_tools.html.twig:31 Part-DB1\templates\Parts\info\_tools.html.twig:29 - + part.delete.confirm_title Do you really want to delete this part? @@ -2599,7 +2599,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_tools.html.twig:32 Part-DB1\templates\Parts\info\_tools.html.twig:30 - + part.delete.message This part and any associated information (like attachments, price information, etc.) will be deleted. This can not be undone! @@ -2609,7 +2609,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\info\_tools.html.twig:39 Part-DB1\templates\Parts\info\_tools.html.twig:37 - + part.delete Delete part @@ -2619,7 +2619,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\lists\all_list.html.twig:4 Part-DB1\templates\Parts\lists\all_list.html.twig:4 - + parts_list.all.title All parts @@ -2629,7 +2629,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\lists\category_list.html.twig:4 Part-DB1\templates\Parts\lists\category_list.html.twig:4 - + parts_list.category.title Parts with category @@ -2639,7 +2639,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\lists\footprint_list.html.twig:4 Part-DB1\templates\Parts\lists\footprint_list.html.twig:4 - + parts_list.footprint.title Parts with footprint @@ -2649,7 +2649,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\lists\manufacturer_list.html.twig:4 Part-DB1\templates\Parts\lists\manufacturer_list.html.twig:4 - + parts_list.manufacturer.title Parts with manufacturer @@ -2659,7 +2659,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\lists\search_list.html.twig:4 Part-DB1\templates\Parts\lists\search_list.html.twig:4 - + parts_list.search.title Search Parts @@ -2669,7 +2669,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\lists\store_location_list.html.twig:4 Part-DB1\templates\Parts\lists\store_location_list.html.twig:4 - + parts_list.storelocation.title Parts with storage locations @@ -2679,7 +2679,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\lists\supplier_list.html.twig:4 Part-DB1\templates\Parts\lists\supplier_list.html.twig:4 - + parts_list.supplier.title Parts with supplier @@ -2689,7 +2689,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\lists\tags_list.html.twig:4 Part-DB1\templates\Parts\lists\tags_list.html.twig:4 - + parts_list.tags.title Parts with tag @@ -2699,7 +2699,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\lists\_info_card.html.twig:22 Part-DB1\templates\Parts\lists\_info_card.html.twig:17 - + entity.info.common.tab Common @@ -2709,7 +2709,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\lists\_info_card.html.twig:26 Part-DB1\templates\Parts\lists\_info_card.html.twig:20 - + entity.info.statistics.tab Statistics @@ -2718,7 +2718,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\lists\_info_card.html.twig:31 - + entity.info.attachments.tab Attachments @@ -2727,7 +2727,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\lists\_info_card.html.twig:37 - + entity.info.parameters.tab Parameters @@ -2737,7 +2737,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\lists\_info_card.html.twig:54 Part-DB1\templates\Parts\lists\_info_card.html.twig:30 - + entity.info.name Name @@ -2749,7 +2749,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\lists\_info_card.html.twig:34 Part-DB1\templates\Parts\lists\_info_card.html.twig:67 - + entity.info.parent Parent @@ -2759,7 +2759,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\lists\_info_card.html.twig:70 Part-DB1\templates\Parts\lists\_info_card.html.twig:46 - + entity.edit.btn Edit @@ -2769,7 +2769,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Parts\lists\_info_card.html.twig:92 Part-DB1\templates\Parts\lists\_info_card.html.twig:63 - + entity.info.children_count Count of children elements @@ -2781,7 +2781,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\security\2fa_base_form.html.twig:3 Part-DB1\templates\security\2fa_base_form.html.twig:5 - + tfa.check.title Two-factor authentication needed @@ -2791,7 +2791,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\security\2fa_base_form.html.twig:39 Part-DB1\templates\security\2fa_base_form.html.twig:39 - + tfa.code.trusted_pc This is a trusted computer (if this is enabled, no further two-factor queries are performed on this computer) @@ -2803,7 +2803,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\security\2fa_base_form.html.twig:52 Part-DB1\templates\security\login.html.twig:58 - + login.btn Login @@ -2817,7 +2817,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\security\U2F\u2f_login.html.twig:13 Part-DB1\templates\_navbar.html.twig:40 - + user.logout Logout @@ -2827,7 +2827,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\security\2fa_form.html.twig:6 Part-DB1\templates\security\2fa_form.html.twig:6 - + tfa.check.code.label Authenticator app code @@ -2837,7 +2837,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\security\2fa_form.html.twig:10 Part-DB1\templates\security\2fa_form.html.twig:10 - + tfa.check.code.help Enter the 6-digit code from your Authenticator app or one of your backup codes if the Authenticator is not available. @@ -2848,7 +2848,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\security\login.html.twig:3 templates\security\login.html.twig:3 - + login.title Login @@ -2859,7 +2859,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\security\login.html.twig:7 templates\security\login.html.twig:7 - + login.card_title Login @@ -2870,7 +2870,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\security\login.html.twig:31 templates\security\login.html.twig:31 - + login.username.label Username @@ -2881,7 +2881,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\security\login.html.twig:34 templates\security\login.html.twig:34 - + login.username.placeholder Username @@ -2892,7 +2892,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\security\login.html.twig:38 templates\security\login.html.twig:38 - + login.password.label Password @@ -2903,7 +2903,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\security\login.html.twig:40 templates\security\login.html.twig:40 - + login.password.placeholder Password @@ -2914,7 +2914,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\security\login.html.twig:50 templates\security\login.html.twig:50 - + login.rememberme Remember me (should not be used on shared computers) @@ -2924,7 +2924,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\security\login.html.twig:64 Part-DB1\templates\security\login.html.twig:64 - + pw_reset.password_forget Forgot username/password? @@ -2934,7 +2934,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\security\pw_reset_new_pw.html.twig:5 Part-DB1\templates\security\pw_reset_new_pw.html.twig:5 - + pw_reset.new_pw.header.title Set new password @@ -2944,7 +2944,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\security\pw_reset_request.html.twig:5 Part-DB1\templates\security\pw_reset_request.html.twig:5 - + pw_reset.request.header.title Request a new password @@ -2956,7 +2956,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\security\U2F\u2f_login.html.twig:7 Part-DB1\templates\security\U2F\u2f_register.html.twig:10 - + tfa_u2f.http_warning You are accessing this page using the insecure HTTP method, so U2F will most likely not work (Bad Request error message). Ask an administrator to set up the secure HTTPS method if you want to use security keys. @@ -2968,7 +2968,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\security\U2F\u2f_login.html.twig:10 Part-DB1\templates\security\U2F\u2f_register.html.twig:22 - + r_u2f_two_factor.pressbutton Please plug in your security key and press its button! @@ -2978,7 +2978,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\security\U2F\u2f_register.html.twig:3 Part-DB1\templates\security\U2F\u2f_register.html.twig:3 - + tfa_u2f.add_key.title Add security key @@ -2990,7 +2990,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\security\U2F\u2f_register.html.twig:6 Part-DB1\templates\Users\_2fa_settings.html.twig:111 - + tfa_u2f.explanation With the help of a U2F/FIDO compatible security key (e.g. YubiKey or NitroKey), user-friendly and secure two-factor authentication can be achieved. The security keys can be registered here, and if two-factor verification is required, the key only needs to be inserted via USB or typed against the device via NFC. @@ -3000,7 +3000,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\security\U2F\u2f_register.html.twig:7 Part-DB1\templates\security\U2F\u2f_register.html.twig:7 - + tfa_u2f.add_key.backup_hint To ensure access even if the key is lost, it is recommended to register a second key as backup and store it in a safe place! @@ -3010,7 +3010,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\security\U2F\u2f_register.html.twig:16 Part-DB1\templates\security\U2F\u2f_register.html.twig:16 - + r_u2f_two_factor.name Shown key name (e.g. Backup) @@ -3020,7 +3020,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\security\U2F\u2f_register.html.twig:19 Part-DB1\templates\security\U2F\u2f_register.html.twig:19 - + tfa_u2f.add_key.add_button Add security key @@ -3030,7 +3030,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\security\U2F\u2f_register.html.twig:27 Part-DB1\templates\security\U2F\u2f_register.html.twig:27 - + tfa_u2f.add_key.back_to_settings Back to settings @@ -3043,7 +3043,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Statistics\statistics.html.twig:8 new - + statistics.title Statistics @@ -3054,7 +3054,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Statistics\statistics.html.twig:14 new - + statistics.parts Parts @@ -3065,7 +3065,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Statistics\statistics.html.twig:19 new - + statistics.data_structures Data structures @@ -3076,7 +3076,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Statistics\statistics.html.twig:24 new - + statistics.attachments Attachments @@ -3091,7 +3091,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Statistics\statistics.html.twig:104 new - + statistics.property Property @@ -3106,7 +3106,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Statistics\statistics.html.twig:105 new - + statistics.value Value @@ -3117,7 +3117,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Statistics\statistics.html.twig:40 new - + statistics.distinct_parts_count Number of distinct parts @@ -3128,7 +3128,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Statistics\statistics.html.twig:44 new - + statistics.parts_instock_sum Sum of all parts stocks @@ -3139,7 +3139,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Statistics\statistics.html.twig:48 new - + statistics.parts_with_price Number of parts with price information @@ -3150,7 +3150,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Statistics\statistics.html.twig:65 new - + statistics.categories_count Number of categories @@ -3161,7 +3161,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Statistics\statistics.html.twig:69 new - + statistics.footprints_count Number of footprints @@ -3172,7 +3172,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Statistics\statistics.html.twig:73 new - + statistics.manufacturers_count Number of manufacturers @@ -3183,7 +3183,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Statistics\statistics.html.twig:77 new - + statistics.storelocations_count Number of storage locations @@ -3194,7 +3194,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Statistics\statistics.html.twig:81 new - + statistics.suppliers_count Number of suppliers @@ -3205,7 +3205,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Statistics\statistics.html.twig:85 new - + statistics.currencies_count Number of currencies @@ -3216,7 +3216,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Statistics\statistics.html.twig:89 new - + statistics.measurement_units_count Number of measurement units @@ -3227,7 +3227,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Statistics\statistics.html.twig:93 new - + statistics.devices_count Number of projects @@ -3238,7 +3238,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Statistics\statistics.html.twig:110 new - + statistics.attachment_types_count Number of attachment types @@ -3249,7 +3249,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Statistics\statistics.html.twig:114 new - + statistics.all_attachments_count Number of all attachments @@ -3260,7 +3260,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Statistics\statistics.html.twig:118 new - + statistics.user_uploaded_attachments_count Number of user uploaded attachments @@ -3271,7 +3271,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Statistics\statistics.html.twig:122 new - + statistics.private_attachments_count Number of private attachments @@ -3282,7 +3282,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Statistics\statistics.html.twig:126 new - + statistics.external_attachments_count Number of external attachments (URL) @@ -3294,7 +3294,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Users\backup_codes.html.twig:3 Part-DB1\templates\Users\backup_codes.html.twig:9 - + tfa_backup.codes.title Backup codes @@ -3304,7 +3304,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Users\backup_codes.html.twig:12 Part-DB1\templates\Users\backup_codes.html.twig:12 - + tfa_backup.codes.explanation Print out these codes and keep them in a safe place! @@ -3314,7 +3314,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Users\backup_codes.html.twig:13 Part-DB1\templates\Users\backup_codes.html.twig:13 - + tfa_backup.codes.help If you no longer have access to your device with the Authenticator App (lost smartphone, data loss, etc.) you can use one of these codes to access your account and possibly set up a new Authenticator App. Each of these codes can be used once, it is recommended to delete used codes. Anyone with access to these codes can potentially access your account, so keep them in a safe place. @@ -3324,7 +3324,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Users\backup_codes.html.twig:16 Part-DB1\templates\Users\backup_codes.html.twig:16 - + tfa_backup.username Username @@ -3334,7 +3334,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Users\backup_codes.html.twig:29 Part-DB1\templates\Users\backup_codes.html.twig:29 - + tfa_backup.codes.page_generated_on Page generated on %date% @@ -3344,7 +3344,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Users\backup_codes.html.twig:32 Part-DB1\templates\Users\backup_codes.html.twig:32 - + tfa_backup.codes.print Print @@ -3354,7 +3354,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Users\backup_codes.html.twig:35 Part-DB1\templates\Users\backup_codes.html.twig:35 - + tfa_backup.codes.copy_clipboard Copy to clipboard @@ -3371,7 +3371,7 @@ Sub elements will be moved upwards.]]> templates\Users\user_info.html.twig:3 templates\Users\user_info.html.twig:6 - + user.info.label User information @@ -3385,7 +3385,7 @@ Sub elements will be moved upwards.]]> templates\Users\user_info.html.twig:18 src\Form\UserSettingsType.php:32 - + user.firstName.label First name @@ -3399,7 +3399,7 @@ Sub elements will be moved upwards.]]> templates\Users\user_info.html.twig:24 src\Form\UserSettingsType.php:35 - + user.lastName.label Last name @@ -3413,7 +3413,7 @@ Sub elements will be moved upwards.]]> templates\Users\user_info.html.twig:30 src\Form\UserSettingsType.php:41 - + user.email.label Email @@ -3427,7 +3427,7 @@ Sub elements will be moved upwards.]]> templates\Users\user_info.html.twig:37 src\Form\UserSettingsType.php:38 - + user.department.label Department @@ -3441,7 +3441,7 @@ Sub elements will be moved upwards.]]> templates\Users\user_info.html.twig:47 src\Form\UserSettingsType.php:30 - + user.username.label Username @@ -3454,7 +3454,7 @@ Sub elements will be moved upwards.]]> Part-DB1\src\Services\ElementTypeNameGenerator.php:93 templates\Users\user_info.html.twig:53 - + group.label Group: @@ -3464,7 +3464,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Users\user_info.html.twig:67 Part-DB1\templates\Users\user_info.html.twig:67 - + user.permissions Permissions @@ -3481,7 +3481,7 @@ Sub elements will be moved upwards.]]> templates\Users\user_settings.html.twig:3 templates\Users\user_settings.html.twig:6 - + user.settings.label User settings @@ -3492,7 +3492,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Users\user_settings.html.twig:18 templates\Users\user_settings.html.twig:14 - + user_settings.data.label Personal data @@ -3503,7 +3503,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Users\user_settings.html.twig:22 templates\Users\user_settings.html.twig:18 - + user_settings.configuration.label Configuration @@ -3514,7 +3514,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Users\user_settings.html.twig:55 templates\Users\user_settings.html.twig:48 - + user.settings.change_pw Change password @@ -3524,7 +3524,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Users\_2fa_settings.html.twig:6 Part-DB1\templates\Users\_2fa_settings.html.twig:6 - + user.settings.2fa_settings Two-Factor Authentication @@ -3534,7 +3534,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Users\_2fa_settings.html.twig:13 Part-DB1\templates\Users\_2fa_settings.html.twig:13 - + tfa.settings.google.tab Authenticator app @@ -3544,7 +3544,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Users\_2fa_settings.html.twig:17 Part-DB1\templates\Users\_2fa_settings.html.twig:17 - + tfa.settings.bakup.tab Backup codes @@ -3554,7 +3554,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Users\_2fa_settings.html.twig:21 Part-DB1\templates\Users\_2fa_settings.html.twig:21 - + tfa.settings.u2f.tab Security keys (U2F) @@ -3564,7 +3564,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Users\_2fa_settings.html.twig:25 Part-DB1\templates\Users\_2fa_settings.html.twig:25 - + tfa.settings.trustedDevices.tab Trusted devices @@ -3574,7 +3574,7 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Users\_2fa_settings.html.twig:33 Part-DB1\templates\Users\_2fa_settings.html.twig:33 - + tfa_google.disable.confirm_title Do you really want to disable the Authenticator App? @@ -3584,10 +3584,10 @@ Sub elements will be moved upwards.]]> Part-DB1\templates\Users\_2fa_settings.html.twig:33 Part-DB1\templates\Users\_2fa_settings.html.twig:33 - + tfa_google.disable.confirm_message - -Also note that without two-factor authentication, your account is no longer as well protected against attackers!]]> + If you disable the Authenticator App, all backup codes will be deleted, so you may need to reprint them.<br> +Also note that without two-factor authentication, your account is no longer as well protected against attackers! @@ -3595,7 +3595,7 @@ Also note that without two-factor authentication, your account is no longer as w Part-DB1\templates\Users\_2fa_settings.html.twig:39 Part-DB1\templates\Users\_2fa_settings.html.twig:39 - + tfa_google.disabled_message Authenticator app deactivated! @@ -3605,9 +3605,9 @@ Also note that without two-factor authentication, your account is no longer as w Part-DB1\templates\Users\_2fa_settings.html.twig:48 Part-DB1\templates\Users\_2fa_settings.html.twig:48 - + tfa_google.step.download - Google Authenticator oder FreeOTP Authenticator)]]> + Download an authenticator app (e.g. <a class="link-external" target="_blank" href="https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2">Google Authenticator</a> oder <a class="link-external" target="_blank" href="https://play.google.com/store/apps/details?id=org.fedorahosted.freeotp">FreeOTP Authenticator</a>) @@ -3615,7 +3615,7 @@ Also note that without two-factor authentication, your account is no longer as w Part-DB1\templates\Users\_2fa_settings.html.twig:49 Part-DB1\templates\Users\_2fa_settings.html.twig:49 - + tfa_google.step.scan Scan the adjacent QR Code with the app or enter the data manually @@ -3625,7 +3625,7 @@ Also note that without two-factor authentication, your account is no longer as w Part-DB1\templates\Users\_2fa_settings.html.twig:50 Part-DB1\templates\Users\_2fa_settings.html.twig:50 - + tfa_google.step.input_code Enter the generated code in the field below and confirm @@ -3635,7 +3635,7 @@ Also note that without two-factor authentication, your account is no longer as w Part-DB1\templates\Users\_2fa_settings.html.twig:51 Part-DB1\templates\Users\_2fa_settings.html.twig:51 - + tfa_google.step.download_backup Print out your backup codes and store them in a safe place @@ -3645,7 +3645,7 @@ Also note that without two-factor authentication, your account is no longer as w Part-DB1\templates\Users\_2fa_settings.html.twig:58 Part-DB1\templates\Users\_2fa_settings.html.twig:58 - + tfa_google.manual_setup Manual setup @@ -3655,7 +3655,7 @@ Also note that without two-factor authentication, your account is no longer as w Part-DB1\templates\Users\_2fa_settings.html.twig:62 Part-DB1\templates\Users\_2fa_settings.html.twig:62 - + tfa_google.manual_setup.type Type @@ -3665,7 +3665,7 @@ Also note that without two-factor authentication, your account is no longer as w Part-DB1\templates\Users\_2fa_settings.html.twig:63 Part-DB1\templates\Users\_2fa_settings.html.twig:63 - + tfa_google.manual_setup.username Username @@ -3675,7 +3675,7 @@ Also note that without two-factor authentication, your account is no longer as w Part-DB1\templates\Users\_2fa_settings.html.twig:64 Part-DB1\templates\Users\_2fa_settings.html.twig:64 - + tfa_google.manual_setup.secret Secret @@ -3685,7 +3685,7 @@ Also note that without two-factor authentication, your account is no longer as w Part-DB1\templates\Users\_2fa_settings.html.twig:65 Part-DB1\templates\Users\_2fa_settings.html.twig:65 - + tfa_google.manual_setup.digit_count Digit count @@ -3695,7 +3695,7 @@ Also note that without two-factor authentication, your account is no longer as w Part-DB1\templates\Users\_2fa_settings.html.twig:74 Part-DB1\templates\Users\_2fa_settings.html.twig:74 - + tfa_google.enabled_message Authenticator App enabled @@ -3705,7 +3705,7 @@ Also note that without two-factor authentication, your account is no longer as w Part-DB1\templates\Users\_2fa_settings.html.twig:83 Part-DB1\templates\Users\_2fa_settings.html.twig:83 - + tfa_backup.disabled Backup codes disabled. Setup authenticator app to enable backup codes. @@ -3717,7 +3717,7 @@ Also note that without two-factor authentication, your account is no longer as w Part-DB1\templates\Users\_2fa_settings.html.twig:84 Part-DB1\templates\Users\_2fa_settings.html.twig:92 - + tfa_backup.explanation You can use these backup codes to access your account even if you lose the device with the Authenticator App. Print out the codes and keep them in a safe place. @@ -3727,7 +3727,7 @@ Also note that without two-factor authentication, your account is no longer as w Part-DB1\templates\Users\_2fa_settings.html.twig:88 Part-DB1\templates\Users\_2fa_settings.html.twig:88 - + tfa_backup.reset_codes.confirm_title Really reset codes? @@ -3737,7 +3737,7 @@ Also note that without two-factor authentication, your account is no longer as w Part-DB1\templates\Users\_2fa_settings.html.twig:88 Part-DB1\templates\Users\_2fa_settings.html.twig:88 - + tfa_backup.reset_codes.confirm_message This will delete all previous codes and generate a set of new codes. This cannot be undone. Remember to print out the new codes and store them in a safe place! @@ -3747,7 +3747,7 @@ Also note that without two-factor authentication, your account is no longer as w Part-DB1\templates\Users\_2fa_settings.html.twig:91 Part-DB1\templates\Users\_2fa_settings.html.twig:91 - + tfa_backup.enabled Backup codes enabled @@ -3757,7 +3757,7 @@ Also note that without two-factor authentication, your account is no longer as w Part-DB1\templates\Users\_2fa_settings.html.twig:99 Part-DB1\templates\Users\_2fa_settings.html.twig:99 - + tfa_backup.show_codes Show backup codes @@ -3767,7 +3767,7 @@ Also note that without two-factor authentication, your account is no longer as w Part-DB1\templates\Users\_2fa_settings.html.twig:114 Part-DB1\templates\Users\_2fa_settings.html.twig:114 - + tfa_u2f.table_caption Registered security keys @@ -3777,7 +3777,7 @@ Also note that without two-factor authentication, your account is no longer as w Part-DB1\templates\Users\_2fa_settings.html.twig:115 Part-DB1\templates\Users\_2fa_settings.html.twig:115 - + tfa_u2f.delete_u2f.confirm_title Really remove this security key? @@ -3787,7 +3787,7 @@ Also note that without two-factor authentication, your account is no longer as w Part-DB1\templates\Users\_2fa_settings.html.twig:116 Part-DB1\templates\Users\_2fa_settings.html.twig:116 - + tfa_u2f.delete_u2f.confirm_message If you remove this key, then no more login with this key will be possible. If no security keys remain, two-factor authentication will be disabled. @@ -3797,7 +3797,7 @@ Also note that without two-factor authentication, your account is no longer as w Part-DB1\templates\Users\_2fa_settings.html.twig:123 Part-DB1\templates\Users\_2fa_settings.html.twig:123 - + tfa_u2f.keys.name Key name @@ -3807,7 +3807,7 @@ Also note that without two-factor authentication, your account is no longer as w Part-DB1\templates\Users\_2fa_settings.html.twig:124 Part-DB1\templates\Users\_2fa_settings.html.twig:124 - + tfa_u2f.keys.added_date Registration date @@ -3817,7 +3817,7 @@ Also note that without two-factor authentication, your account is no longer as w Part-DB1\templates\Users\_2fa_settings.html.twig:134 Part-DB1\templates\Users\_2fa_settings.html.twig:134 - + tfa_u2f.key_delete Delete key @@ -3827,7 +3827,7 @@ Also note that without two-factor authentication, your account is no longer as w Part-DB1\templates\Users\_2fa_settings.html.twig:141 Part-DB1\templates\Users\_2fa_settings.html.twig:141 - + tfa_u2f.no_keys_registered No keys registered yet. @@ -3837,7 +3837,7 @@ Also note that without two-factor authentication, your account is no longer as w Part-DB1\templates\Users\_2fa_settings.html.twig:144 Part-DB1\templates\Users\_2fa_settings.html.twig:144 - + tfa_u2f.add_new_key Register new security key @@ -3847,10 +3847,10 @@ Also note that without two-factor authentication, your account is no longer as w Part-DB1\templates\Users\_2fa_settings.html.twig:148 Part-DB1\templates\Users\_2fa_settings.html.twig:148 - + tfa_trustedDevices.explanation - all computers here.]]> + When checking the second factor, the current computer can be marked as trustworthy, so no more two-factor checks on this computer are needed. +If you have done this incorrectly or if a computer is no longer trusted, you can reset the status of <i>all </i>computers here. @@ -3858,7 +3858,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\templates\Users\_2fa_settings.html.twig:149 Part-DB1\templates\Users\_2fa_settings.html.twig:149 - + tfa_trustedDevices.invalidate.confirm_title Really remove all trusted computers? @@ -3868,7 +3868,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\templates\Users\_2fa_settings.html.twig:150 Part-DB1\templates\Users\_2fa_settings.html.twig:150 - + tfa_trustedDevices.invalidate.confirm_message You will have to perform two-factor authentication again on all computers. Make sure you have your two-factor device at hand. @@ -3878,7 +3878,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\templates\Users\_2fa_settings.html.twig:154 Part-DB1\templates\Users\_2fa_settings.html.twig:154 - + tfa_trustedDevices.invalidate.btn Reset trusted devices @@ -3889,7 +3889,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\templates\_navbar.html.twig:4 templates\base.html.twig:29 - + sidebar.toggle Toggle Sidebar @@ -3898,7 +3898,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\templates\_navbar.html.twig:22 - + navbar.scanner.link Scanner @@ -3909,7 +3909,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\templates\_navbar.html.twig:36 templates\base.html.twig:97 - + user.loggedin.label Logged in as @@ -3920,7 +3920,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\templates\_navbar.html.twig:42 templates\base.html.twig:103 - + user.login Login @@ -3930,7 +3930,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\templates\_navbar.html.twig:50 Part-DB1\templates\_navbar.html.twig:48 - + ui.toggle_darkmode Darkmode @@ -3944,7 +3944,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can templates\base.html.twig:106 src\Form\UserSettingsType.php:44 - + user.language_select Switch Language @@ -3955,7 +3955,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\templates\_navbar_search.html.twig:4 templates\base.html.twig:49 - + search.options.label Search options @@ -3964,7 +3964,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\templates\_navbar_search.html.twig:23 - + tags.label Tags @@ -3979,7 +3979,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can templates\Parts\show_part_info.html.twig:36 src\Form\PartType.php:77 - + storelocation.label Storage location @@ -3990,7 +3990,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\templates\_navbar_search.html.twig:31 templates\base.html.twig:65 - + ordernumber.label.short supplier partnr. @@ -4003,7 +4003,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Services\ElementTypeNameGenerator.php:89 templates\base.html.twig:67 - + supplier.label Supplier @@ -4014,7 +4014,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\templates\_navbar_search.html.twig:52 templates\base.html.twig:75 - + search.deactivateBarcode Deact. Barcode @@ -4025,7 +4025,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\templates\_navbar_search.html.twig:56 templates\base.html.twig:77 - + search.regexmatching Reg.Ex. Matching @@ -4035,7 +4035,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\templates\_navbar_search.html.twig:68 Part-DB1\templates\_navbar_search.html.twig:62 - + search.submit Go! @@ -4051,7 +4051,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can templates\base.html.twig:202 templates\base.html.twig:230 - + project.labelp Projects @@ -4064,7 +4064,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can templates\base.html.twig:192 templates\base.html.twig:220 - + actions Actions @@ -4077,7 +4077,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can templates\base.html.twig:196 templates\base.html.twig:224 - + datasource Data source @@ -4090,7 +4090,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can templates\base.html.twig:200 templates\base.html.twig:228 - + manufacturer.labelp Manufacturers @@ -4103,7 +4103,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can templates\base.html.twig:201 templates\base.html.twig:229 - + supplier.labelp Suppliers @@ -4119,7 +4119,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\PartController.php:173 Part-DB1\src\Controller\PartController.php:268 - + attachment.download_failed Download of the external attachment failed. @@ -4129,7 +4129,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\AdminPages\BaseAdminController.php:222 Part-DB1\src\Controller\AdminPages\BaseAdminController.php:190 - + entity.edit_flash Changes saved successful. @@ -4139,7 +4139,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\AdminPages\BaseAdminController.php:231 Part-DB1\src\Controller\AdminPages\BaseAdminController.php:196 - + entity.edit_flash.invalid Can not save changed. Please check your input! @@ -4149,7 +4149,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\AdminPages\BaseAdminController.php:302 Part-DB1\src\Controller\AdminPages\BaseAdminController.php:252 - + entity.created_flash Element created. @@ -4159,7 +4159,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\AdminPages\BaseAdminController.php:308 Part-DB1\src\Controller\AdminPages\BaseAdminController.php:258 - + entity.created_flash.invalid Could not create element. Please check your input! @@ -4170,7 +4170,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\AdminPages\BaseAdminController.php:352 src\Controller\BaseAdminController.php:154 - + attachment_type.deleted Element deleted! @@ -4186,7 +4186,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\UserSettingsController.php:150 Part-DB1\src\Controller\UserSettingsController.php:182 - + csfr_invalid CSFR Token invalid. Please reload this page or contact an administrator if this message stays. @@ -4195,7 +4195,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\LabelController.php:125 - + label_generator.no_entities_found No entities matching the range found. @@ -4206,7 +4206,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\LogController.php:154 new - + log.undo.target_not_found Target element could not be found in DB! @@ -4217,7 +4217,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\LogController.php:160 new - + log.undo.revert_success Reverted to timestamp successfully. @@ -4228,7 +4228,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\LogController.php:180 new - + log.undo.element_undelete_success Undeleted element successfully. @@ -4239,7 +4239,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\LogController.php:182 new - + log.undo.element_element_already_undeleted Element was already undeleted! @@ -4250,7 +4250,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\LogController.php:189 new - + log.undo.element_delete_success Element deleted successfully. @@ -4261,7 +4261,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\LogController.php:191 new - + log.undo.element.element_already_delted Element was already deleted! @@ -4272,7 +4272,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\LogController.php:198 new - + log.undo.element_change_undone Change undone successfully! @@ -4283,7 +4283,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\LogController.php:200 new - + log.undo.do_undelete_before You have to undelete the element before you can undo this change! @@ -4294,7 +4294,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\LogController.php:203 new - + log.undo.log_type_invalid This log entry can not be undone! @@ -4305,7 +4305,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\PartController.php:182 src\Controller\PartController.php:80 - + part.edited_flash Saved changes! @@ -4315,7 +4315,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\PartController.php:186 Part-DB1\src\Controller\PartController.php:186 - + part.edited_flash.invalid Error during saving: Please check your inputs! @@ -4325,7 +4325,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\PartController.php:216 Part-DB1\src\Controller\PartController.php:219 - + part.deleted Part deleted successful. @@ -4338,7 +4338,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can src\Controller\PartController.php:113 src\Controller\PartController.php:142 - + part.created_flash Part created! @@ -4348,7 +4348,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\PartController.php:308 Part-DB1\src\Controller\PartController.php:283 - + part.created_flash.invalid Error during creation: Please check your inputs! @@ -4358,7 +4358,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\ScanController.php:68 Part-DB1\src\Controller\ScanController.php:90 - + scan.qr_not_found No element found for the given barcode. @@ -4367,7 +4367,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\ScanController.php:71 - + scan.format_unknown Format unknown! @@ -4376,7 +4376,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\ScanController.php:86 - + scan.qr_success Element found. @@ -4386,7 +4386,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\SecurityController.php:114 Part-DB1\src\Controller\SecurityController.php:109 - + pw_reset.user_or_email Username / Email @@ -4396,7 +4396,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\SecurityController.php:131 Part-DB1\src\Controller\SecurityController.php:126 - + pw_reset.request.success Reset request was successful! Please check your emails for further instructions. @@ -4406,7 +4406,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\SecurityController.php:162 Part-DB1\src\Controller\SecurityController.php:160 - + pw_reset.username Username @@ -4416,7 +4416,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\SecurityController.php:165 Part-DB1\src\Controller\SecurityController.php:163 - + pw_reset.token Token @@ -4426,7 +4426,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\SecurityController.php:194 Part-DB1\src\Controller\SecurityController.php:192 - + pw_reset.new_pw.error Username or Token invalid! Please check your input. @@ -4436,7 +4436,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\SecurityController.php:196 Part-DB1\src\Controller\SecurityController.php:194 - + pw_reset.new_pw.success Password was reset successfully. You can now login with your new password. @@ -4446,7 +4446,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\UserController.php:107 Part-DB1\src\Controller\UserController.php:99 - + user.edit.reset_success All two-factor authentication methods were successfully disabled. @@ -4456,7 +4456,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\UserSettingsController.php:101 Part-DB1\src\Controller\UserSettingsController.php:92 - + tfa_backup.no_codes_enabled No backup codes enabled! @@ -4466,7 +4466,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\UserSettingsController.php:138 Part-DB1\src\Controller\UserSettingsController.php:132 - + tfa_u2f.u2f_delete.not_existing No security key with this ID is existing. @@ -4476,7 +4476,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\UserSettingsController.php:145 Part-DB1\src\Controller\UserSettingsController.php:139 - + tfa_u2f.u2f_delete.access_denied You can not delete the security keys of other users! @@ -4486,7 +4486,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\UserSettingsController.php:153 Part-DB1\src\Controller\UserSettingsController.php:147 - + tfa.u2f.u2f_delete.success Security key successfully removed. @@ -4496,7 +4496,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\UserSettingsController.php:188 Part-DB1\src\Controller\UserSettingsController.php:180 - + tfa_trustedDevice.invalidate.success Trusted devices successfully reset. @@ -4507,7 +4507,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\UserSettingsController.php:226 src\Controller\UserController.php:98 - + user.settings.saved_flash Settings saved! @@ -4518,7 +4518,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\UserSettingsController.php:288 src\Controller\UserController.php:130 - + user.settings.pw_changed_flash Password changed! @@ -4528,7 +4528,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\UserSettingsController.php:317 Part-DB1\src\Controller\UserSettingsController.php:306 - + user.settings.2fa.google.activated Authenticator App successfully activated. @@ -4538,7 +4538,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\UserSettingsController.php:328 Part-DB1\src\Controller\UserSettingsController.php:315 - + user.settings.2fa.google.disabled Authenticator App successfully deactivated. @@ -4548,7 +4548,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Controller\UserSettingsController.php:346 Part-DB1\src\Controller\UserSettingsController.php:332 - + user.settings.2fa.backup_codes.regenerated New backup codes successfully generated. @@ -4558,7 +4558,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\AttachmentDataTable.php:148 Part-DB1\src\DataTables\AttachmentDataTable.php:148 - + attachment.table.filename File name @@ -4568,7 +4568,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\AttachmentDataTable.php:153 Part-DB1\src\DataTables\AttachmentDataTable.php:153 - + attachment.table.filesize File size @@ -4588,7 +4588,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\PartsDataTable.php:193 Part-DB1\src\DataTables\PartsDataTable.php:200 - + true true @@ -4610,7 +4610,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\PartsDataTable.php:201 Part-DB1\src\Form\Type\SIUnitType.php:139 - + false false @@ -4620,7 +4620,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\Column\LogEntryTargetColumn.php:128 Part-DB1\src\DataTables\Column\LogEntryTargetColumn.php:119 - + log.target_deleted deleted @@ -4631,7 +4631,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\Column\RevertLogColumn.php:60 new - + log.undo.undelete Undelete element @@ -4642,7 +4642,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\Column\RevertLogColumn.php:66 new - + log.undo.undo Undo change @@ -4653,7 +4653,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\Column\RevertLogColumn.php:86 new - + log.undo.revert Revert element to this timestamp @@ -4663,7 +4663,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\LogDataTable.php:173 Part-DB1\src\DataTables\LogDataTable.php:161 - + log.id ID @@ -4673,7 +4673,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\LogDataTable.php:178 Part-DB1\src\DataTables\LogDataTable.php:166 - + log.timestamp Timestamp @@ -4683,7 +4683,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\LogDataTable.php:183 Part-DB1\src\DataTables\LogDataTable.php:171 - + log.type Event @@ -4693,7 +4693,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\LogDataTable.php:191 Part-DB1\src\DataTables\LogDataTable.php:179 - + log.level Level @@ -4703,7 +4703,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\LogDataTable.php:200 Part-DB1\src\DataTables\LogDataTable.php:188 - + log.user User @@ -4713,7 +4713,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\LogDataTable.php:213 Part-DB1\src\DataTables\LogDataTable.php:201 - + log.target_type Target type @@ -4723,7 +4723,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\LogDataTable.php:226 Part-DB1\src\DataTables\LogDataTable.php:214 - + log.target Target @@ -4734,7 +4734,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\LogDataTable.php:218 new - + log.extra Extra @@ -4744,7 +4744,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\PartsDataTable.php:168 Part-DB1\src\DataTables\PartsDataTable.php:116 - + part.table.name Name @@ -4754,7 +4754,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\PartsDataTable.php:178 Part-DB1\src\DataTables\PartsDataTable.php:126 - + part.table.id Id @@ -4764,7 +4764,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\PartsDataTable.php:182 Part-DB1\src\DataTables\PartsDataTable.php:130 - + part.table.description Description @@ -4774,7 +4774,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\PartsDataTable.php:185 Part-DB1\src\DataTables\PartsDataTable.php:133 - + part.table.category Category @@ -4784,7 +4784,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\PartsDataTable.php:190 Part-DB1\src\DataTables\PartsDataTable.php:138 - + part.table.footprint Footprint @@ -4794,7 +4794,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\PartsDataTable.php:194 Part-DB1\src\DataTables\PartsDataTable.php:142 - + part.table.manufacturer Manufacturer @@ -4804,7 +4804,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\PartsDataTable.php:197 Part-DB1\src\DataTables\PartsDataTable.php:145 - + part.table.storeLocations Storage locations @@ -4814,7 +4814,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\PartsDataTable.php:216 Part-DB1\src\DataTables\PartsDataTable.php:164 - + part.table.amount Amount @@ -4824,7 +4824,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\PartsDataTable.php:224 Part-DB1\src\DataTables\PartsDataTable.php:172 - + part.table.minamount Min. Amount @@ -4834,7 +4834,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\PartsDataTable.php:232 Part-DB1\src\DataTables\PartsDataTable.php:180 - + part.table.partUnit Measurement Unit @@ -4844,7 +4844,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\PartsDataTable.php:236 Part-DB1\src\DataTables\PartsDataTable.php:184 - + part.table.addedDate Created at @@ -4854,7 +4854,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\PartsDataTable.php:240 Part-DB1\src\DataTables\PartsDataTable.php:188 - + part.table.lastModified Last modified @@ -4864,7 +4864,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\PartsDataTable.php:244 Part-DB1\src\DataTables\PartsDataTable.php:192 - + part.table.needsReview Needs review @@ -4874,7 +4874,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\PartsDataTable.php:251 Part-DB1\src\DataTables\PartsDataTable.php:199 - + part.table.favorite Favorite @@ -4884,7 +4884,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\PartsDataTable.php:258 Part-DB1\src\DataTables\PartsDataTable.php:206 - + part.table.manufacturingStatus Status @@ -4898,7 +4898,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\PartsDataTable.php:210 Part-DB1\src\Form\Part\PartBaseType.php:88 - + m_status.unknown Unknown @@ -4910,7 +4910,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\PartsDataTable.php:211 Part-DB1\src\Form\Part\PartBaseType.php:88 - + m_status.announced Announced @@ -4922,7 +4922,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\PartsDataTable.php:212 Part-DB1\src\Form\Part\PartBaseType.php:88 - + m_status.active Active @@ -4934,7 +4934,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\PartsDataTable.php:213 Part-DB1\src\Form\Part\PartBaseType.php:88 - + m_status.nrfnd Not recommended for new designs @@ -4946,9 +4946,9 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\PartsDataTable.php:214 Part-DB1\src\Form\Part\PartBaseType.php:88 - + m_status.eol - End of life + Coated @@ -4958,7 +4958,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\PartsDataTable.php:215 Part-DB1\src\Form\Part\PartBaseType.php:88 - + m_status.discontinued Discontinued @@ -4968,7 +4968,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\PartsDataTable.php:271 Part-DB1\src\DataTables\PartsDataTable.php:219 - + part.table.mpn MPN @@ -4978,7 +4978,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\PartsDataTable.php:275 Part-DB1\src\DataTables\PartsDataTable.php:223 - + part.table.mass Mass @@ -4988,7 +4988,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\PartsDataTable.php:279 Part-DB1\src\DataTables\PartsDataTable.php:227 - + part.table.tags Tags @@ -4998,7 +4998,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\DataTables\PartsDataTable.php:283 Part-DB1\src\DataTables\PartsDataTable.php:231 - + part.table.attachments Attachments @@ -5008,7 +5008,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\EventSubscriber\UserSystem\LoginSuccessSubscriber.php:82 Part-DB1\src\EventSubscriber\LoginSuccessListener.php:82 - + flash.login_successful Login successful @@ -5019,7 +5019,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\AdminPages\ImportType.php:77 src\Form\ImportType.php:68 - + JSON JSON @@ -5030,7 +5030,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\AdminPages\ImportType.php:77 src\Form\ImportType.php:68 - + XML XML @@ -5041,7 +5041,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\AdminPages\ImportType.php:77 src\Form\ImportType.php:68 - + CSV CSV @@ -5052,7 +5052,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\AdminPages\ImportType.php:77 src\Form\ImportType.php:68 - + YAML YAML @@ -5062,7 +5062,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\AdminPages\ImportType.php:124 Part-DB1\src\Form\AdminPages\ImportType.php:124 - + import.abort_on_validation.help When this option is activated, the whole import process is aborted if invalid data is detected. If not selected, the invalid data is ignored and the importer will try to import the other elements. @@ -5073,7 +5073,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\AdminPages\ImportType.php:86 src\Form\ImportType.php:70 - + import.csv_separator CSV separator @@ -5084,7 +5084,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\AdminPages\ImportType.php:93 src\Form\ImportType.php:72 - + parent.label Parent element @@ -5095,7 +5095,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\AdminPages\ImportType.php:101 src\Form\ImportType.php:75 - + import.file File @@ -5106,7 +5106,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\AdminPages\ImportType.php:111 src\Form\ImportType.php:78 - + import.preserve_children Preserve child elements on import @@ -5117,7 +5117,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\AdminPages\ImportType.php:120 src\Form\ImportType.php:80 - + import.abort_on_validation Abort on invalid data @@ -5128,7 +5128,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\AdminPages\ImportType.php:132 src\Form\ImportType.php:85 - + import.btn Import @@ -5138,7 +5138,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\AttachmentFormType.php:113 Part-DB1\src\Form\AttachmentFormType.php:109 - + attachment.edit.secure_file.help An attachment marked private can only be accessed by authenticated users with the proper permission. If this is activated no thumbnails are generated and access to file is less performant. @@ -5148,7 +5148,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\AttachmentFormType.php:127 Part-DB1\src\Form\AttachmentFormType.php:123 - + attachment.edit.url.help You can specify an URL to an external file here, or input an keyword which is used to search in built-in resources (e.g. footprints) @@ -5158,7 +5158,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\AttachmentFormType.php:82 Part-DB1\src\Form\AttachmentFormType.php:79 - + attachment.edit.name Name @@ -5168,7 +5168,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\AttachmentFormType.php:85 Part-DB1\src\Form\AttachmentFormType.php:82 - + attachment.edit.attachment_type Attachment type @@ -5178,7 +5178,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\AttachmentFormType.php:94 Part-DB1\src\Form\AttachmentFormType.php:91 - + attachment.edit.show_in_table Show in table @@ -5188,7 +5188,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\AttachmentFormType.php:105 Part-DB1\src\Form\AttachmentFormType.php:102 - + attachment.edit.secure_file Private attachment @@ -5198,7 +5198,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\AttachmentFormType.php:119 Part-DB1\src\Form\AttachmentFormType.php:115 - + attachment.edit.url URL @@ -5208,7 +5208,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\AttachmentFormType.php:133 Part-DB1\src\Form\AttachmentFormType.php:129 - + attachment.edit.download_url Download external file @@ -5218,7 +5218,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\AttachmentFormType.php:146 Part-DB1\src\Form\AttachmentFormType.php:142 - + attachment.edit.file Upload file @@ -5228,7 +5228,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\LabelOptionsType.php:68 Part-DB1\src\Services\ElementTypeNameGenerator.php:86 - + part.label Part @@ -5238,7 +5238,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\LabelOptionsType.php:68 Part-DB1\src\Services\ElementTypeNameGenerator.php:87 - + part_lot.label Part lot @@ -5247,7 +5247,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\LabelOptionsType.php:78 - + label_options.barcode_type.none None @@ -5256,7 +5256,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\LabelOptionsType.php:78 - + label_options.barcode_type.qr QR Code (recommended) @@ -5265,7 +5265,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\LabelOptionsType.php:78 - + label_options.barcode_type.code128 Code 128 (recommended) @@ -5274,7 +5274,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\LabelOptionsType.php:78 - + label_options.barcode_type.code39 Code 39 (recommended) @@ -5283,7 +5283,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\LabelOptionsType.php:78 - + label_options.barcode_type.code93 Code 93 @@ -5292,7 +5292,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\LabelOptionsType.php:78 - + label_options.barcode_type.datamatrix Datamatrix @@ -5301,7 +5301,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\LabelOptionsType.php:122 - + label_options.lines_mode.html Placeholders @@ -5310,7 +5310,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\LabelOptionsType.php:122 - + label.options.lines_mode.twig Twig @@ -5319,16 +5319,16 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\LabelOptionsType.php:126 - + label_options.lines_mode.help - Twig documentation and Wiki for more information.]]> + If you select Twig here, the content field is interpreted as Twig template. See <a href="https://twig.symfony.com/doc/3.x/templates.html">Twig documentation</a> and <a href="https://docs.part-db.de/usage/labels.html#twig-mode">Wiki</a> for more information. Part-DB1\src\Form\LabelOptionsType.php:47 - + label_options.page_size.label Label size @@ -5337,7 +5337,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\LabelOptionsType.php:66 - + label_options.supported_elements.label Target type @@ -5346,7 +5346,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\LabelOptionsType.php:75 - + label_options.barcode_type.label Barcode @@ -5355,7 +5355,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\LabelOptionsType.php:102 - + label_profile.lines.label Content @@ -5364,7 +5364,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\LabelOptionsType.php:111 - + label_options.additional_css.label Additional styles (CSS) @@ -5373,7 +5373,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\LabelOptionsType.php:120 - + label_options.lines_mode.label Parser mode @@ -5382,7 +5382,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\LabelOptionsType.php:51 - + label_options.width.placeholder Width @@ -5391,7 +5391,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\LabelOptionsType.php:60 - + label_options.height.placeholder Height @@ -5400,7 +5400,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\LabelSystem\LabelDialogType.php:49 - + label_generator.target_id.range_hint You can specify multiple IDs (e.g. 1,2,3) and/or a range (1-3) here to generate labels for multiple elements at once. @@ -5409,7 +5409,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\LabelSystem\LabelDialogType.php:46 - + label_generator.target_id.label Target IDs @@ -5418,7 +5418,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\LabelSystem\LabelDialogType.php:59 - + label_generator.update Update @@ -5427,7 +5427,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\LabelSystem\ScanDialogType.php:36 - + scan_dialog.input Input @@ -5436,7 +5436,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\LabelSystem\ScanDialogType.php:44 - + scan_dialog.submit Submit @@ -5445,7 +5445,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\ParameterType.php:41 - + parameters.name.placeholder e.g. DC Current Gain @@ -5454,7 +5454,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\ParameterType.php:50 - + parameters.symbol.placeholder e.g. h_{FE} @@ -5463,7 +5463,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\ParameterType.php:60 - + parameters.text.placeholder e.g. Test conditions @@ -5472,7 +5472,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\ParameterType.php:71 - + parameters.max.placeholder e.g. 350 @@ -5481,7 +5481,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\ParameterType.php:82 - + parameters.min.placeholder e.g. 100 @@ -5490,7 +5490,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\ParameterType.php:93 - + parameters.typical.placeholder e.g. 200 @@ -5499,7 +5499,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\ParameterType.php:103 - + parameters.unit.placeholder e.g. V @@ -5508,7 +5508,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\ParameterType.php:114 - + parameter.group.placeholder e.g. Technical Specifications @@ -5518,7 +5518,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\Part\OrderdetailType.php:72 Part-DB1\src\Form\Part\OrderdetailType.php:75 - + orderdetails.edit.supplierpartnr Supplier part number @@ -5528,7 +5528,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\Part\OrderdetailType.php:81 Part-DB1\src\Form\Part\OrderdetailType.php:84 - + orderdetails.edit.supplier Supplier @@ -5538,7 +5538,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\Part\OrderdetailType.php:87 Part-DB1\src\Form\Part\OrderdetailType.php:90 - + orderdetails.edit.url Link to offer @@ -5548,7 +5548,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\Part\OrderdetailType.php:93 Part-DB1\src\Form\Part\OrderdetailType.php:96 - + orderdetails.edit.obsolete No longer available @@ -5558,7 +5558,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\Part\OrderdetailType.php:75 Part-DB1\src\Form\Part\OrderdetailType.php:78 - + orderdetails.edit.supplierpartnr.placeholder e.g. BC 547 @@ -5568,7 +5568,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\Part\PartBaseType.php:101 Part-DB1\src\Form\Part\PartBaseType.php:99 - + part.edit.name Name @@ -5578,7 +5578,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\Part\PartBaseType.php:109 Part-DB1\src\Form\Part\PartBaseType.php:107 - + part.edit.description Description @@ -5588,7 +5588,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\Part\PartBaseType.php:120 Part-DB1\src\Form\Part\PartBaseType.php:118 - + part.edit.mininstock Minimum stock @@ -5598,7 +5598,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\Part\PartBaseType.php:129 Part-DB1\src\Form\Part\PartBaseType.php:127 - + part.edit.category Category @@ -5608,7 +5608,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\Part\PartBaseType.php:135 Part-DB1\src\Form\Part\PartBaseType.php:133 - + part.edit.footprint Footprint @@ -5618,7 +5618,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\Part\PartBaseType.php:142 Part-DB1\src\Form\Part\PartBaseType.php:140 - + part.edit.tags Tags @@ -5628,7 +5628,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\Part\PartBaseType.php:154 Part-DB1\src\Form\Part\PartBaseType.php:152 - + part.edit.manufacturer.label Manufacturer @@ -5638,7 +5638,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\Part\PartBaseType.php:161 Part-DB1\src\Form\Part\PartBaseType.php:159 - + part.edit.manufacturer_url.label Link to product page @@ -5648,7 +5648,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\Part\PartBaseType.php:167 Part-DB1\src\Form\Part\PartBaseType.php:165 - + part.edit.mpn Manufacturer part number @@ -5658,7 +5658,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\Part\PartBaseType.php:173 Part-DB1\src\Form\Part\PartBaseType.php:171 - + part.edit.manufacturing_status Manufacturing status @@ -5668,7 +5668,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\Part\PartBaseType.php:181 Part-DB1\src\Form\Part\PartBaseType.php:179 - + part.edit.needs_review Needs review @@ -5678,7 +5678,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\Part\PartBaseType.php:189 Part-DB1\src\Form\Part\PartBaseType.php:187 - + part.edit.is_favorite Favorite @@ -5688,7 +5688,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\Part\PartBaseType.php:197 Part-DB1\src\Form\Part\PartBaseType.php:195 - + part.edit.mass Mass @@ -5698,7 +5698,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\Part\PartBaseType.php:203 Part-DB1\src\Form\Part\PartBaseType.php:201 - + part.edit.partUnit Measuring unit @@ -5708,7 +5708,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\Part\PartBaseType.php:212 Part-DB1\src\Form\Part\PartBaseType.php:210 - + part.edit.comment Notes @@ -5718,7 +5718,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\Part\PartBaseType.php:250 Part-DB1\src\Form\Part\PartBaseType.php:246 - + part.edit.master_attachment Preview image @@ -5729,7 +5729,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\Part\PartBaseType.php:276 src\Form\PartType.php:91 - + part.edit.save Save changes @@ -5740,7 +5740,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\Part\PartBaseType.php:277 src\Form\PartType.php:92 - + part.edit.reset Reset changes @@ -5750,7 +5750,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\Part\PartBaseType.php:105 Part-DB1\src\Form\Part\PartBaseType.php:103 - + part.edit.name.placeholder e.g. BC547 @@ -5760,7 +5760,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\Part\PartBaseType.php:115 Part-DB1\src\Form\Part\PartBaseType.php:113 - + part.edit.description.placeholder e.g. NPN 45V, 0,1A, 0,5W @@ -5770,7 +5770,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\Part\PartBaseType.php:123 Part-DB1\src\Form\Part\PartBaseType.php:121 - + part.editmininstock.placeholder e.g. 1 @@ -5780,7 +5780,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\Part\PartLotType.php:69 Part-DB1\src\Form\Part\PartLotType.php:69 - + part_lot.edit.description Description @@ -5790,7 +5790,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\Part\PartLotType.php:78 Part-DB1\src\Form\Part\PartLotType.php:78 - + part_lot.edit.location Storage location @@ -5800,7 +5800,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\Part\PartLotType.php:89 Part-DB1\src\Form\Part\PartLotType.php:89 - + part_lot.edit.amount Amount @@ -5810,7 +5810,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\Part\PartLotType.php:98 Part-DB1\src\Form\Part\PartLotType.php:97 - + part_lot.edit.instock_unknown Amount unknown @@ -5820,7 +5820,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\Part\PartLotType.php:109 Part-DB1\src\Form\Part\PartLotType.php:108 - + part_lot.edit.needs_refill Needs refill @@ -5830,7 +5830,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\Part\PartLotType.php:120 Part-DB1\src\Form\Part\PartLotType.php:119 - + part_lot.edit.expiration_date Expiration date @@ -5840,7 +5840,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\Part\PartLotType.php:128 Part-DB1\src\Form\Part\PartLotType.php:125 - + part_lot.edit.comment Notes @@ -5850,7 +5850,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\Permissions\PermissionsType.php:99 Part-DB1\src\Form\Permissions\PermissionsType.php:99 - + perm.group.other Miscellaneous @@ -5860,7 +5860,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\TFAGoogleSettingsType.php:97 Part-DB1\src\Form\TFAGoogleSettingsType.php:97 - + tfa_google.enable Enable authenticator app @@ -5870,7 +5870,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\TFAGoogleSettingsType.php:101 Part-DB1\src\Form\TFAGoogleSettingsType.php:101 - + tfa_google.disable Deactivate authenticator app @@ -5880,7 +5880,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\TFAGoogleSettingsType.php:74 Part-DB1\src\Form\TFAGoogleSettingsType.php:74 - + google_confirmation Confirmation code @@ -5891,7 +5891,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\UserSettingsType.php:108 src\Form\UserSettingsType.php:46 - + user.timezone.label Timezone @@ -5901,7 +5901,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\UserSettingsType.php:133 Part-DB1\src\Form\UserSettingsType.php:132 - + user.currency.label Preferred currency @@ -5912,7 +5912,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\UserSettingsType.php:139 src\Form\UserSettingsType.php:53 - + save Apply changes @@ -5923,7 +5923,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\UserSettingsType.php:140 src\Form\UserSettingsType.php:54 - + reset Discard changes @@ -5934,7 +5934,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\UserSettingsType.php:104 src\Form\UserSettingsType.php:45 - + user_settings.language.placeholder Serverwide language @@ -5945,7 +5945,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Form\UserSettingsType.php:115 src\Form\UserSettingsType.php:48 - + user_settings.timezone.placeholder Serverwide Timezone @@ -5955,7 +5955,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Services\ElementTypeNameGenerator.php:79 Part-DB1\src\Services\ElementTypeNameGenerator.php:79 - + attachment.label Attachment @@ -5965,7 +5965,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Services\ElementTypeNameGenerator.php:81 Part-DB1\src\Services\ElementTypeNameGenerator.php:81 - + attachment_type.label Attachment type @@ -5975,7 +5975,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Services\ElementTypeNameGenerator.php:82 Part-DB1\src\Services\ElementTypeNameGenerator.php:82 - + project.label Project @@ -5985,7 +5985,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Services\ElementTypeNameGenerator.php:85 Part-DB1\src\Services\ElementTypeNameGenerator.php:85 - + measurement_unit.label Measurement unit @@ -5995,7 +5995,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Services\ElementTypeNameGenerator.php:90 Part-DB1\src\Services\ElementTypeNameGenerator.php:90 - + currency.label Currency @@ -6005,7 +6005,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Services\ElementTypeNameGenerator.php:91 Part-DB1\src\Services\ElementTypeNameGenerator.php:91 - + orderdetail.label Order detail @@ -6015,7 +6015,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Services\ElementTypeNameGenerator.php:92 Part-DB1\src\Services\ElementTypeNameGenerator.php:92 - + pricedetail.label Price detail @@ -6025,7 +6025,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Services\ElementTypeNameGenerator.php:94 Part-DB1\src\Services\ElementTypeNameGenerator.php:94 - + user.label User @@ -6034,7 +6034,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Services\ElementTypeNameGenerator.php:95 - + parameter.label Parameter @@ -6043,7 +6043,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Services\ElementTypeNameGenerator.php:96 - + label_profile.label Label profile @@ -6054,7 +6054,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Services\LogSystem\LogEntryExtraFormatter.php:161 new - + log.element_deleted.old_name.unknown Unknown @@ -6064,7 +6064,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Services\MarkdownParser.php:73 Part-DB1\src\Services\MarkdownParser.php:73 - + markdown.loading Loading markdown. If this message does not disappear, try to reload the page. @@ -6074,7 +6074,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Services\PasswordResetManager.php:98 Part-DB1\src\Services\PasswordResetManager.php:98 - + pw_reset.email.subject Password reset for your Part-DB account @@ -6083,7 +6083,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:108 - + tree.tools.tools Tools @@ -6094,7 +6094,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:107 src\Services\ToolsTreeBuilder.php:74 - + tree.tools.edit Edit @@ -6105,7 +6105,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:108 src\Services\ToolsTreeBuilder.php:81 - + tree.tools.show Show @@ -6115,7 +6115,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:111 Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:109 - + tree.tools.system System @@ -6124,7 +6124,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:123 - + tree.tools.tools.label_dialog Label generator @@ -6133,7 +6133,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:130 - + tree.tools.tools.label_scanner Scanner @@ -6144,7 +6144,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:126 src\Services\ToolsTreeBuilder.php:62 - + tree.tools.edit.attachment_types Attachment types @@ -6155,7 +6155,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:132 src\Services\ToolsTreeBuilder.php:64 - + tree.tools.edit.categories Categories @@ -6166,7 +6166,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:138 src\Services\ToolsTreeBuilder.php:66 - + tree.tools.edit.projects Projects @@ -6177,7 +6177,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:144 src\Services\ToolsTreeBuilder.php:68 - + tree.tools.edit.suppliers Suppliers @@ -6188,7 +6188,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:150 src\Services\ToolsTreeBuilder.php:70 - + tree.tools.edit.manufacturer Manufacturers @@ -6198,7 +6198,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:179 Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:156 - + tree.tools.edit.storelocation Storage locations @@ -6208,7 +6208,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:185 Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:162 - + tree.tools.edit.footprint Footprints @@ -6218,7 +6218,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:191 Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:168 - + tree.tools.edit.currency Currencies @@ -6228,7 +6228,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:197 Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:174 - + tree.tools.edit.measurement_unit Measurement Unit @@ -6237,7 +6237,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:203 - + tree.tools.edit.label_profile Label profiles @@ -6247,7 +6247,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:209 Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:180 - + tree.tools.edit.part New part @@ -6258,7 +6258,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:197 src\Services\ToolsTreeBuilder.php:77 - + tree.tools.show.all_parts Show all parts @@ -6268,7 +6268,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:232 Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:203 - + tree.tools.show.all_attachments Attachments @@ -6279,7 +6279,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:210 new - + tree.tools.show.statistics Statistics @@ -6289,7 +6289,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:258 Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:229 - + tree.tools.system.users Users @@ -6299,7 +6299,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:264 Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:235 - + tree.tools.system.groups Groups @@ -6310,7 +6310,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:242 new - + tree.tools.system.event_log Event log @@ -6321,7 +6321,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\src\Services\Trees\TreeViewGenerator.php:95 src\Services\TreeBuilder.php:124 - + entity.tree.new New Element @@ -6331,7 +6331,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\templates\Parts\info\_attachments_info.html.twig:34 obsolete - + attachment.external_file External file @@ -6341,7 +6341,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part-DB1\templates\Parts\info\_attachments_info.html.twig:62 obsolete - + attachment.edit Edit @@ -6352,7 +6352,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can templates\base.html.twig:88 obsolete - + barcode.scan Scan Barcode @@ -6363,7 +6363,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can src\Form\UserSettingsType.php:49 obsolete - + user.theme.label Theme @@ -6374,7 +6374,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can src\Form\UserSettingsType.php:50 obsolete - + user_settings.theme.placeholder Serverwide Theme @@ -6385,7 +6385,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can new obsolete - + log.user_login.ip IP @@ -6399,7 +6399,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can new obsolete - + log.undo_mode.undo Change undone @@ -6413,7 +6413,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can new obsolete - + log.undo_mode.revert Element reverted @@ -6424,7 +6424,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can new obsolete - + log.element_created.original_instock Old instock @@ -6435,7 +6435,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can new obsolete - + log.element_deleted.old_name Old name @@ -6446,7 +6446,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can new obsolete - + log.element_edited.changed_fields Changed fields @@ -6457,7 +6457,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can new obsolete - + log.instock_changed.comment Comment @@ -6468,7 +6468,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can new obsolete - + log.collection_deleted.deleted Deleted element: @@ -6479,7 +6479,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + go.exclamation Go! @@ -6490,7 +6490,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + language.english English @@ -6501,7 +6501,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + language.german German @@ -6511,7 +6511,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + flash.password_change_needed Password change needed! @@ -6521,7 +6521,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + attachment.table.type Attachment type @@ -6531,7 +6531,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + attachment.table.element Associated element @@ -6541,7 +6541,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + attachment.edit.isPicture Picture? @@ -6551,7 +6551,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + attachment.edit.is3DModel 3D model? @@ -6561,7 +6561,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + attachment.edit.isBuiltin Builtin? @@ -6571,7 +6571,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + category.edit.default_comment.placeholder e.g. useful for switching @@ -6581,7 +6581,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + tfa_backup.regenerate_codes Generate new backup codes @@ -6591,7 +6591,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + validator.noneofitschild.self A element can not be its own parent. @@ -6601,7 +6601,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + validator.noneofitschild.children The parent can not be one of the children of itself. @@ -6611,7 +6611,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + validator.part_lot.location_full.no_increasment The storage location was marked as full, so you can not increase the instock amount. (New amount max. {{ old_amount }}) @@ -6621,7 +6621,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + validator.part_lot.location_full The storage location was marked as full, so you can not add a new part to it. @@ -6631,7 +6631,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + validator.part_lot.only_existing The storage location was marked as "only existing", so you can not add new part to it. @@ -6641,7 +6641,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + validator.part_lot.single_part The storage location was marked as "single part", so you can not add a new part to it. @@ -6651,7 +6651,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + m_status.active.help The part is currently and in the foreseeable future in production @@ -6661,7 +6661,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + m_status.announced.help The part was announced but is not available yet. @@ -6671,7 +6671,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + m_status.discontinued.help The part is discontinued and not produced anymore. @@ -6681,7 +6681,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + m_status.eol.help The product has reached its end-of-life and the production will be stopped soon. @@ -6691,7 +6691,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + m_status.nrfnd.help The part is currently in production but is not recommended for new designs. @@ -6701,7 +6701,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + m_status.unknown.help The manufacturing status of the part is not known. @@ -6711,7 +6711,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + flash.success Success @@ -6721,7 +6721,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + flash.error Error @@ -6731,7 +6731,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + flash.warning Warning @@ -6741,7 +6741,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + flash.notice Notice @@ -6751,7 +6751,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + flash.info Info @@ -6761,7 +6761,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + validator.noLockout You can not withdraw yourself the "change permission" permission, to prevent that you lockout yourself accidentally. @@ -6771,7 +6771,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + attachment_type.edit.filetype_filter Allowed file extensions @@ -6781,7 +6781,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + attachment_type.edit.filetype_filter.help You can specify a comma separated list of file extension or mime types, which an uploaded file must have when assigned to this attachment type. To allow all supported image files, you can use image/*. @@ -6791,7 +6791,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + attachment_type.edit.filetype_filter.placeholder e.g. .txt, application/pdf, image/* @@ -6802,7 +6802,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + part.name.placeholder e.g. BC547 @@ -6812,7 +6812,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + entity.edit.not_selectable Not selectable @@ -6822,7 +6822,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + entity.edit.not_selectable.help If this option is activated, this element can not be assigned to a part property. Useful if this element is just used for grouping. @@ -6832,7 +6832,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + bbcode.hint You can use BBCode here (e.g. [b]Bold[/b]) @@ -6842,7 +6842,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + entity.create Create element @@ -6852,7 +6852,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + entity.edit.save Save @@ -6862,7 +6862,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + category.edit.disable_footprints Disable footprints @@ -6872,7 +6872,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + category.edit.disable_footprints.help If this option is activated, the footprint property is disabled for all parts with this category. @@ -6882,7 +6882,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + category.edit.disable_manufacturers Disable manufacturers @@ -6892,7 +6892,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + category.edit.disable_manufacturers.help If this option is activated, the manufacturer property is disabled for all parts with this category. @@ -6902,7 +6902,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + category.edit.disable_autodatasheets Disable automatic datasheet links @@ -6912,7 +6912,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + category.edit.disable_autodatasheets.help If this option is activated, no automatic links to datasheets are created for parts with this category. @@ -6922,7 +6922,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + category.edit.disable_properties Disable properties @@ -6932,7 +6932,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + category.edit.disable_properties.help If this option is activated, the part properties are disabled for parts with this category. @@ -6942,7 +6942,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + category.edit.partname_hint Part name hint @@ -6952,7 +6952,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + category.edit.partname_hint.placeholder e.g. 100nF @@ -6962,7 +6962,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + category.edit.partname_regex Name filter @@ -6972,7 +6972,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + category.edit.default_description Default description @@ -6982,7 +6982,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + category.edit.default_description.placeholder e.g. Capacitor, 10mm x 10mm, SMD @@ -6992,7 +6992,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + category.edit.default_comment Default notes @@ -7002,7 +7002,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + company.edit.address Address @@ -7012,7 +7012,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can obsolete obsolete - + company.edit.address.placeholder e.g. Examplestreet 314 Exampletown @@ -7023,7 +7023,7 @@ Exampletown obsolete obsolete - + company.edit.phone_number Phone number @@ -7033,7 +7033,7 @@ Exampletown obsolete obsolete - + company.edit.phone_number.placeholder +49 12345 6789 @@ -7043,7 +7043,7 @@ Exampletown obsolete obsolete - + company.edit.fax_number Fax number @@ -7053,7 +7053,7 @@ Exampletown obsolete obsolete - + company.edit.email Email @@ -7063,7 +7063,7 @@ Exampletown obsolete obsolete - + company.edit.email.placeholder e.g. contact@foo.bar @@ -7073,7 +7073,7 @@ Exampletown obsolete obsolete - + company.edit.website Website @@ -7083,7 +7083,7 @@ Exampletown obsolete obsolete - + company.edit.website.placeholder https://www.foo.bar @@ -7093,7 +7093,7 @@ Exampletown obsolete obsolete - + company.edit.auto_product_url Product URL @@ -7103,7 +7103,7 @@ Exampletown obsolete obsolete - + company.edit.auto_product_url.help This field is used to determine a link to the part on the company page. %PARTNUMBER% will be replaced with the order number. @@ -7113,7 +7113,7 @@ Exampletown obsolete obsolete - + company.edit.auto_product_url.placeholder https://foo.bar/product/%PARTNUMBER% @@ -7123,7 +7123,7 @@ Exampletown obsolete obsolete - + currency.edit.iso_code ISO code @@ -7133,7 +7133,7 @@ Exampletown obsolete obsolete - + currency.edit.exchange_rate Exchange rate @@ -7143,7 +7143,7 @@ Exampletown obsolete obsolete - + footprint.edit.3d_model 3D model @@ -7153,7 +7153,7 @@ Exampletown obsolete obsolete - + mass_creation.lines Input @@ -7163,7 +7163,7 @@ Exampletown obsolete obsolete - + mass_creation.lines.placeholder Element 1 Element 1.1 @@ -7178,7 +7178,7 @@ Element 3 obsolete obsolete - + entity.mass_creation.btn Create @@ -7188,7 +7188,7 @@ Element 3 obsolete obsolete - + measurement_unit.edit.is_integer Is integer @@ -7198,7 +7198,7 @@ Element 3 obsolete obsolete - + measurement_unit.edit.is_integer.help If this option is activated, all values with this unit will be rounded to whole numbers. @@ -7208,7 +7208,7 @@ Element 3 obsolete obsolete - + measurement_unit.edit.use_si_prefix Use SI prefix @@ -7218,7 +7218,7 @@ Element 3 obsolete obsolete - + measurement_unit.edit.use_si_prefix.help If this option is activated, values are outputted with SI prefixes (e.g. 1,2kg instead of 1200g) @@ -7228,7 +7228,7 @@ Element 3 obsolete obsolete - + measurement_unit.edit.unit_symbol Unit symbol @@ -7238,7 +7238,7 @@ Element 3 obsolete obsolete - + measurement_unit.edit.unit_symbol.placeholder e.g. m @@ -7248,7 +7248,7 @@ Element 3 obsolete obsolete - + storelocation.edit.is_full.label Storelocation full @@ -7258,7 +7258,7 @@ Element 3 obsolete obsolete - + storelocation.edit.is_full.help If this option is selected, it is neither possible to add new parts to this storelocation or to increase the amount of existing parts. @@ -7268,7 +7268,7 @@ Element 3 obsolete obsolete - + storelocation.limit_to_existing.label Limit to existing parts @@ -7278,7 +7278,7 @@ Element 3 obsolete obsolete - + storelocation.limit_to_existing.help If this option is activated, it is not possible to add new parts to this storelocation, but the amount of existing parts can be increased. @@ -7288,7 +7288,7 @@ Element 3 obsolete obsolete - + storelocation.only_single_part.label Only single part @@ -7298,7 +7298,7 @@ Element 3 obsolete obsolete - + storelocation.only_single_part.help If this option is activated, only a single part (with every amount) can be assigned to this storage location. Useful for small SMD boxes or feeders. @@ -7308,7 +7308,7 @@ Element 3 obsolete obsolete - + storelocation.storage_type.label Storage type @@ -7318,7 +7318,7 @@ Element 3 obsolete obsolete - + storelocation.storage_type.help You can select a measurement unit here, which a part must have to be able to be assigned to this storage location @@ -7328,7 +7328,7 @@ Element 3 obsolete obsolete - + supplier.edit.default_currency Default currency @@ -7338,7 +7338,7 @@ Element 3 obsolete obsolete - + supplier.shipping_costs.label Shipping Costs @@ -7348,7 +7348,7 @@ Element 3 obsolete obsolete - + user.username.placeholder e.g. j.doe @@ -7358,7 +7358,7 @@ Element 3 obsolete obsolete - + user.firstName.placeholder e.g John @@ -7368,7 +7368,7 @@ Element 3 obsolete obsolete - + user.lastName.placeholder e.g. Doe @@ -7378,7 +7378,7 @@ Element 3 obsolete obsolete - + user.email.placeholder j.doe@ecorp.com @@ -7388,7 +7388,7 @@ Element 3 obsolete obsolete - + user.department.placeholder e.g. Development @@ -7398,7 +7398,7 @@ Element 3 obsolete obsolete - + user.settings.pw_new.label New password @@ -7408,7 +7408,7 @@ Element 3 obsolete obsolete - + user.settings.pw_confirm.label Confirm new password @@ -7418,7 +7418,7 @@ Element 3 obsolete obsolete - + user.edit.needs_pw_change User needs to change password @@ -7428,7 +7428,7 @@ Element 3 obsolete obsolete - + user.edit.user_disabled User disabled (no login possible) @@ -7438,7 +7438,7 @@ Element 3 obsolete obsolete - + user.create Create user @@ -7448,7 +7448,7 @@ Element 3 obsolete obsolete - + user.edit.save Save @@ -7458,7 +7458,7 @@ Element 3 obsolete obsolete - + entity.edit.reset Discard changes @@ -7469,7 +7469,7 @@ Element 3 obsolete obsolete - + part.withdraw.btn Withdraw @@ -7480,7 +7480,7 @@ Element 3 obsolete obsolete - + part.withdraw.comment: Comment/Purpose @@ -7491,7 +7491,7 @@ Element 3 obsolete obsolete - + part.add.caption Add parts @@ -7502,7 +7502,7 @@ Element 3 obsolete obsolete - + part.add.btn Add @@ -7513,7 +7513,7 @@ Element 3 obsolete obsolete - + part.add.comment Comment/Purpose @@ -7524,7 +7524,7 @@ Element 3 obsolete obsolete - + admin.comment Notes @@ -7535,7 +7535,7 @@ Element 3 obsolete obsolete - + manufacturer_url.label Manufacturer link @@ -7546,7 +7546,7 @@ Element 3 obsolete obsolete - + part.description.placeholder e.g. NPN 45V 0,1A 0,5W @@ -7557,7 +7557,7 @@ Element 3 obsolete obsolete - + part.instock.placeholder e.g. 10 @@ -7568,7 +7568,7 @@ Element 3 obsolete obsolete - + part.mininstock.placeholder e.g. 5 @@ -7578,7 +7578,7 @@ Element 3 obsolete obsolete - + part.order.price_per Price per @@ -7588,7 +7588,7 @@ Element 3 obsolete obsolete - + part.withdraw.caption Withdraw parts @@ -7598,7 +7598,7 @@ Element 3 obsolete obsolete - + datatable.datatable.lengthMenu _MENU_ @@ -7608,7 +7608,7 @@ Element 3 obsolete obsolete - + perm.group.parts Parts @@ -7618,7 +7618,7 @@ Element 3 obsolete obsolete - + perm.group.structures Data structures @@ -7628,7 +7628,7 @@ Element 3 obsolete obsolete - + perm.group.system System @@ -7638,7 +7638,7 @@ Element 3 obsolete obsolete - + perm.parts Parts @@ -7648,7 +7648,7 @@ Element 3 obsolete obsolete - + perm.read View @@ -7658,7 +7658,7 @@ Element 3 obsolete obsolete - + perm.edit Edit @@ -7668,7 +7668,7 @@ Element 3 obsolete obsolete - + perm.create Create @@ -7678,7 +7678,7 @@ Element 3 obsolete obsolete - + perm.part.move Change category @@ -7688,7 +7688,7 @@ Element 3 obsolete obsolete - + perm.delete Delete @@ -7698,7 +7698,7 @@ Element 3 obsolete obsolete - + perm.part.search Search @@ -7708,7 +7708,7 @@ Element 3 obsolete obsolete - + perm.part.all_parts List all parts @@ -7718,7 +7718,7 @@ Element 3 obsolete obsolete - + perm.part.no_price_parts List parts without price info @@ -7728,7 +7728,7 @@ Element 3 obsolete obsolete - + perm.part.obsolete_parts List obsolete parts @@ -7738,7 +7738,7 @@ Element 3 obsolete obsolete - + perm.part.unknown_instock_parts Show parts with unknown instock @@ -7748,7 +7748,7 @@ Element 3 obsolete obsolete - + perm.part.change_favorite Change favorite status @@ -7758,7 +7758,7 @@ Element 3 obsolete obsolete - + perm.part.show_favorite List favorite parts @@ -7768,7 +7768,7 @@ Element 3 obsolete obsolete - + perm.part.show_last_edit_parts Show last edited/added parts @@ -7778,7 +7778,7 @@ Element 3 obsolete obsolete - + perm.part.show_users Show last modifying user @@ -7788,7 +7788,7 @@ Element 3 obsolete obsolete - + perm.part.show_history Show history @@ -7798,7 +7798,7 @@ Element 3 obsolete obsolete - + perm.part.name Name @@ -7808,7 +7808,7 @@ Element 3 obsolete obsolete - + perm.part.description Description @@ -7818,7 +7818,7 @@ Element 3 obsolete obsolete - + perm.part.instock Instock @@ -7828,7 +7828,7 @@ Element 3 obsolete obsolete - + perm.part.mininstock Minimum instock @@ -7838,7 +7838,7 @@ Element 3 obsolete obsolete - + perm.part.comment Notes @@ -7848,7 +7848,7 @@ Element 3 obsolete obsolete - + perm.part.storelocation Storage location @@ -7858,7 +7858,7 @@ Element 3 obsolete obsolete - + perm.part.manufacturer Manufacturer @@ -7868,7 +7868,7 @@ Element 3 obsolete obsolete - + perm.part.orderdetails Order information @@ -7878,7 +7878,7 @@ Element 3 obsolete obsolete - + perm.part.prices Prices @@ -7888,7 +7888,7 @@ Element 3 obsolete obsolete - + perm.part.attachments File attachments @@ -7898,7 +7898,7 @@ Element 3 obsolete obsolete - + perm.part.order Orders @@ -7908,7 +7908,7 @@ Element 3 obsolete obsolete - + perm.storelocations Storage locations @@ -7918,7 +7918,7 @@ Element 3 obsolete obsolete - + perm.move Move @@ -7928,7 +7928,7 @@ Element 3 obsolete obsolete - + perm.list_parts List parts @@ -7938,7 +7938,7 @@ Element 3 obsolete obsolete - + perm.part.footprints Footprints @@ -7948,7 +7948,7 @@ Element 3 obsolete obsolete - + perm.part.categories Categories @@ -7958,7 +7958,7 @@ Element 3 obsolete obsolete - + perm.part.supplier Suppliers @@ -7968,7 +7968,7 @@ Element 3 obsolete obsolete - + perm.part.manufacturers Manufacturers @@ -7978,7 +7978,7 @@ Element 3 obsolete obsolete - + perm.projects Projects @@ -7988,7 +7988,7 @@ Element 3 obsolete obsolete - + perm.part.attachment_types Attachment types @@ -7998,7 +7998,7 @@ Element 3 obsolete obsolete - + perm.tools.import Import @@ -8008,7 +8008,7 @@ Element 3 obsolete obsolete - + perm.tools.labels Labels @@ -8018,7 +8018,7 @@ Element 3 obsolete obsolete - + perm.tools.calculator Resistor calculator @@ -8028,7 +8028,7 @@ Element 3 obsolete obsolete - + perm.tools.footprints Footprints @@ -8038,7 +8038,7 @@ Element 3 obsolete obsolete - + perm.tools.ic_logos IC logos @@ -8048,7 +8048,7 @@ Element 3 obsolete obsolete - + perm.tools.statistics Statistics @@ -8058,7 +8058,7 @@ Element 3 obsolete obsolete - + perm.edit_permissions Edit permissions @@ -8068,7 +8068,7 @@ Element 3 obsolete obsolete - + perm.users.edit_user_name Edit user name @@ -8078,7 +8078,7 @@ Element 3 obsolete obsolete - + perm.users.edit_change_group Change group @@ -8088,7 +8088,7 @@ Element 3 obsolete obsolete - + perm.users.edit_infos Edit info @@ -8098,7 +8098,7 @@ Element 3 obsolete obsolete - + perm.users.edit_permissions Edit permissions @@ -8108,7 +8108,7 @@ Element 3 obsolete obsolete - + perm.users.set_password Set password @@ -8118,7 +8118,7 @@ Element 3 obsolete obsolete - + perm.users.change_user_settings Change user settings @@ -8128,7 +8128,7 @@ Element 3 obsolete obsolete - + perm.database.see_status Show status @@ -8138,7 +8138,7 @@ Element 3 obsolete obsolete - + perm.database.update_db Update DB @@ -8148,7 +8148,7 @@ Element 3 obsolete obsolete - + perm.database.read_db_settings Read DB settings @@ -8158,7 +8158,7 @@ Element 3 obsolete obsolete - + perm.database.write_db_settings Write DB settings @@ -8168,7 +8168,7 @@ Element 3 obsolete obsolete - + perm.config.read_config Read config @@ -8178,7 +8178,7 @@ Element 3 obsolete obsolete - + perm.config.edit_config Edit config @@ -8188,7 +8188,7 @@ Element 3 obsolete obsolete - + perm.config.server_info Server info @@ -8198,7 +8198,7 @@ Element 3 obsolete obsolete - + perm.config.use_debug Use debug tools @@ -8208,7 +8208,7 @@ Element 3 obsolete obsolete - + perm.show_logs Show logs @@ -8218,7 +8218,7 @@ Element 3 obsolete obsolete - + perm.delete_logs Delete logs @@ -8228,7 +8228,7 @@ Element 3 obsolete obsolete - + perm.self.edit_infos Edit info @@ -8238,7 +8238,7 @@ Element 3 obsolete obsolete - + perm.self.edit_username Edit username @@ -8248,7 +8248,7 @@ Element 3 obsolete obsolete - + perm.self.show_permissions View permissions @@ -8258,7 +8258,7 @@ Element 3 obsolete obsolete - + perm.self.show_logs Show own log entries @@ -8268,7 +8268,7 @@ Element 3 obsolete obsolete - + perm.self.create_labels Create labels @@ -8278,7 +8278,7 @@ Element 3 obsolete obsolete - + perm.self.edit_options Edit options @@ -8288,7 +8288,7 @@ Element 3 obsolete obsolete - + perm.self.delete_profiles Delete profiles @@ -8298,7 +8298,7 @@ Element 3 obsolete obsolete - + perm.self.edit_profiles Edit profiles @@ -8308,7 +8308,7 @@ Element 3 obsolete obsolete - + perm.part.tools Tools @@ -8318,7 +8318,7 @@ Element 3 obsolete obsolete - + perm.groups Groups @@ -8328,7 +8328,7 @@ Element 3 obsolete obsolete - + perm.users Users @@ -8338,7 +8338,7 @@ Element 3 obsolete obsolete - + perm.database Database @@ -8348,7 +8348,7 @@ Element 3 obsolete obsolete - + perm.config Configuration @@ -8358,7 +8358,7 @@ Element 3 obsolete obsolete - + perm.system System @@ -8368,7 +8368,7 @@ Element 3 obsolete obsolete - + perm.self Own user @@ -8378,7 +8378,7 @@ Element 3 obsolete obsolete - + perm.labels Labels @@ -8388,7 +8388,7 @@ Element 3 obsolete obsolete - + perm.part.category Category @@ -8398,7 +8398,7 @@ Element 3 obsolete obsolete - + perm.part.minamount Minimum amount @@ -8408,7 +8408,7 @@ Element 3 obsolete obsolete - + perm.part.footprint Footprint @@ -8418,7 +8418,7 @@ Element 3 obsolete obsolete - + perm.part.mpn MPN @@ -8428,7 +8428,7 @@ Element 3 obsolete obsolete - + perm.part.status Manufacturing status @@ -8438,7 +8438,7 @@ Element 3 obsolete obsolete - + perm.part.tags Tags @@ -8448,7 +8448,7 @@ Element 3 obsolete obsolete - + perm.part.unit Part unit @@ -8458,7 +8458,7 @@ Element 3 obsolete obsolete - + perm.part.mass Mass @@ -8468,7 +8468,7 @@ Element 3 obsolete obsolete - + perm.part.lots Part lots @@ -8478,7 +8478,7 @@ Element 3 obsolete obsolete - + perm.show_users Show last modifying user @@ -8488,7 +8488,7 @@ Element 3 obsolete obsolete - + perm.currencies Currencies @@ -8498,7 +8498,7 @@ Element 3 obsolete obsolete - + perm.measurement_units Measurement unit @@ -8508,7 +8508,7 @@ Element 3 obsolete obsolete - + user.settings.pw_old.label Old password @@ -8518,7 +8518,7 @@ Element 3 obsolete obsolete - + pw_reset.submit Reset password @@ -8528,7 +8528,7 @@ Element 3 obsolete obsolete - + u2f_two_factor Security key (U2F) @@ -8538,13 +8538,13 @@ Element 3 obsolete obsolete - + google Google - + tfa.provider.webauthn_two_factor_provider Security key @@ -8554,7 +8554,7 @@ Element 3 obsolete obsolete - + tfa.provider.google Authenticator app @@ -8564,7 +8564,7 @@ Element 3 obsolete obsolete - + Login successful Login successful @@ -8574,7 +8574,7 @@ Element 3 obsolete obsolete - + log.type.exception Unhandled exception (obsolete) @@ -8584,7 +8584,7 @@ Element 3 obsolete obsolete - + log.type.user_login User login @@ -8594,7 +8594,7 @@ Element 3 obsolete obsolete - + log.type.user_logout User logout @@ -8604,7 +8604,7 @@ Element 3 obsolete obsolete - + log.type.unknown Unknown @@ -8614,7 +8614,7 @@ Element 3 obsolete obsolete - + log.type.element_created Element created @@ -8624,7 +8624,7 @@ Element 3 obsolete obsolete - + log.type.element_edited Element edited @@ -8634,7 +8634,7 @@ Element 3 obsolete obsolete - + log.type.element_deleted Element deleted @@ -8644,7 +8644,7 @@ Element 3 obsolete obsolete - + log.type.database_updated Database updated @@ -8653,7 +8653,7 @@ Element 3 obsolete - + perm.revert_elements Revert element @@ -8662,7 +8662,7 @@ Element 3 obsolete - + perm.show_history Show history @@ -8671,7 +8671,7 @@ Element 3 obsolete - + perm.tools.lastActivity Show last activity @@ -8680,7 +8680,7 @@ Element 3 obsolete - + perm.tools.timeTravel Show old element versions (time travel) @@ -8689,7 +8689,7 @@ Element 3 obsolete - + tfa_u2f.key_added_successful Security key added successfully. @@ -8698,7 +8698,7 @@ Element 3 obsolete - + Username Username @@ -8707,7 +8707,7 @@ Element 3 obsolete - + log.type.security.google_disabled Authenticator App disabled @@ -8716,7 +8716,7 @@ Element 3 obsolete - + log.type.security.u2f_removed Security key removed @@ -8725,7 +8725,7 @@ Element 3 obsolete - + log.type.security.u2f_added Security key added @@ -8734,7 +8734,7 @@ Element 3 obsolete - + log.type.security.backup_keys_reset Backup keys regenerated @@ -8743,7 +8743,7 @@ Element 3 obsolete - + log.type.security.google_enabled Authenticator App enabled @@ -8752,7 +8752,7 @@ Element 3 obsolete - + log.type.security.password_changed Password changed @@ -8761,7 +8761,7 @@ Element 3 obsolete - + log.type.security.trusted_device_reset Trusted devices resetted @@ -8770,7 +8770,7 @@ Element 3 obsolete - + log.type.collection_element_deleted Element of Collection deleted @@ -8779,7 +8779,7 @@ Element 3 obsolete - + log.type.security.password_reset Password reset @@ -8788,7 +8788,7 @@ Element 3 obsolete - + log.type.security.2fa_admin_reset Two Factor Reset by Administrator @@ -8797,7 +8797,7 @@ Element 3 obsolete - + log.type.user_not_allowed Unauthorized access attempt @@ -8806,7 +8806,7 @@ Element 3 obsolete - + log.database_updated.success Success @@ -8815,7 +8815,7 @@ Element 3 obsolete - + label_options.barcode_type.2D 2D @@ -8824,7 +8824,7 @@ Element 3 obsolete - + label_options.barcode_type.1D 1D @@ -8833,7 +8833,7 @@ Element 3 obsolete - + perm.part.parameters Parameters @@ -8842,7 +8842,7 @@ Element 3 obsolete - + perm.attachment_show_private View private attachments @@ -8851,7 +8851,7 @@ Element 3 obsolete - + perm.tools.label_scanner Label scanner @@ -8860,7 +8860,7 @@ Element 3 obsolete - + perm.self.read_profiles Read profiles @@ -8869,7 +8869,7 @@ Element 3 obsolete - + perm.self.create_profiles Create profiles @@ -8878,2551 +8878,2551 @@ Element 3 obsolete - + perm.labels.use_twig Use twig mode - + label_profile.showInDropdown Show in quick select - + group.edit.enforce_2fa Enforce Two-factor authentication (2FA) - + group.edit.enforce_2fa.help If this option is enabled, every direct member of this group, has to configure at least one second-factor for authentication. Recommended for administrative groups with much permissions. - + selectpicker.empty Nothing selected - + selectpicker.nothing_selected Nothing selected - + entity.delete.must_not_contain_parts Element "%PATH%" still contains parts! You have to move the parts, to be able to delete this element. - + entity.delete.must_not_contain_attachments Attachment type still contains attachments. Change their type, to be able to delete this attachment type. - + entity.delete.must_not_contain_prices Currency still contains price details. You have to change their currency to be able to delete this element. - + entity.delete.must_not_contain_users Users still uses this group! Change their group, to be able to delete this group. - + part.table.edit Edit - + part.table.edit.title Edit part - + part_list.action.action.title Select action - + part_list.action.action.group.favorite Favorite status - + part_list.action.action.favorite Favorite - + part_list.action.action.unfavorite Unfavorite - + part_list.action.action.group.change_field Change field - + part_list.action.action.change_category Change category - + part_list.action.action.change_footprint Change footprint - + part_list.action.action.change_manufacturer Change manufacturer - + part_list.action.action.change_unit Change part unit - + part_list.action.action.delete Delete - + part_list.action.submit Submit - + part_list.action.part_count %count% parts selected! - + company.edit.quick.website Open website - + company.edit.quick.email Send email - + company.edit.quick.phone Call phone - + company.edit.quick.fax Send fax - + company.fax_number.placeholder e.g. +49 1234 567890 - + part.edit.save_and_clone Save and clone - + validator.file_ext_not_allowed File extension not allowed for this attachment type. - + tools.reel_calc.title SMD Reel calculator - + tools.reel_calc.inner_dia Inner diameter - + tools.reel_calc.outer_dia Outer diameter - + tools.reel_calc.tape_thick Tape thickness - + tools.reel_calc.part_distance Part distance - + tools.reel_calc.update Update - + tools.reel_calc.parts_per_meter Parts per meter - + tools.reel_calc.result_length Tape length - + tools.reel_calc.result_amount Approx. parts count - + tools.reel_calc.outer_greater_inner_error Error: Outer diameter must be greater than inner diameter! - + tools.reel_calc.missing_values.error Please fill in all values! - + tools.reel_calc.load_preset Load preset - + tools.reel_calc.explanation This calculator gives you an estimation, how many parts are remaining on an SMD reel. Measure the noted the dimensions on the reel (or use some of the presets) and click "Update" to get an result. - + perm.tools.reel_calculator SMD Reel calculator - + tree.tools.tools.reel_calculator SMD Reel calculator - + user.pw_change_needed.flash Your password needs to be changed! Please set a new password. - + tree.root_node.text Root node - + part_list.action.select_null Empty element - + part_list.action.delete-title Do you really want to delete these parts? - + part_list.action.delete-message These parts and any associated information (like attachments, price information, etc.) will be deleted. This can not be undone! - + part.table.actions.success Actions finished successfully. - + attachment.edit.delete.confirm Do you really want to delete this attachment? - + filter.text_constraint.value.operator.EQ Is - + filter.text_constraint.value.operator.NEQ Is not - + filter.text_constraint.value.operator.STARTS Starts with - + filter.text_constraint.value.operator.CONTAINS Contains - + filter.text_constraint.value.operator.ENDS Ends with - + filter.text_constraint.value.operator.LIKE LIKE pattern - + filter.text_constraint.value.operator.REGEX Regular expression - + filter.number_constraint.value.operator.BETWEEN Between - + filter.number_constraint.AND and - + filter.entity_constraint.operator.EQ Is (excluding children) - + filter.entity_constraint.operator.NEQ Is not (excluding children) - + filter.entity_constraint.operator.INCLUDING_CHILDREN Is (including children) - + filter.entity_constraint.operator.EXCLUDING_CHILDREN Is not (including children) - + part.filter.dbId Database ID - + filter.tags_constraint.operator.ANY Any of the tags - + filter.tags_constraint.operator.ALL All the tags - + filter.tags_constraint.operator.NONE None of the tags - + part.filter.lot_count Number of lots - + part.filter.attachments_count Number of attachments - + part.filter.orderdetails_count Number of orderdetails - + part.filter.lotExpirationDate Lot expiration date - + part.filter.lotNeedsRefill Any lot needs refill - + part.filter.lotUnknwonAmount Any lot has unknown amount - + part.filter.attachmentName Attachment name - + filter.choice_constraint.operator.ANY Any of - + filter.choice_constraint.operator.NONE None of - + part.filter.amount_sum Total amount - + filter.submit Update - + filter.discard Discard changes - + filter.clear_filters Clear all filters - + filter.title Filter - + filter.parameter_value_constraint.operator.= Typ. Value = - + filter.parameter_value_constraint.operator.!= Typ. Value != - + filter.parameter_value_constraint.operator.< - + Typ. Value < - + filter.parameter_value_constraint.operator.> - ]]> + Typ. Value > - + filter.parameter_value_constraint.operator.<= - + Typ. Value <= - + filter.parameter_value_constraint.operator.>= - =]]> + Typ. Value >= - + filter.parameter_value_constraint.operator.BETWEEN Typ. Value is between - + filter.parameter_value_constraint.operator.IN_RANGE In Value range - + filter.parameter_value_constraint.operator.NOT_IN_RANGE Not in Value range - + filter.parameter_value_constraint.operator.GREATER_THAN_RANGE Greater than Value range - + filter.parameter_value_constraint.operator.GREATER_EQUAL_RANGE Greater equal than Value range - + filter.parameter_value_constraint.operator.LESS_THAN_RANGE Less than Value range - + filter.parameter_value_constraint.operator.LESS_EQUAL_RANGE Less equal than Value range - + filter.parameter_value_constraint.operator.RANGE_IN_RANGE Range is completely in Value range - + filter.parameter_value_constraint.operator.RANGE_INTERSECT_RANGE Range intersects Value range - + filter.text_constraint.value No value set - + filter.number_constraint.value1 No value set - + filter.number_constraint.value2 Maximum value - + filter.datetime_constraint.value1 No datetime set - + filter.datetime_constraint.value2 Maximum datetime - + filter.constraint.add Add constraint - + part.filter.parameters_count Number of parameters - + part.filter.lotDescription Lot description - + parts_list.search.searching_for - %keyword%]]> + Searching parts with keyword <b>%keyword%</b> - + parts_list.search_options.caption Enabled search options - + attachment.table.element_type Associated element type - + log.level.debug Debug - + log.level.info Info - + log.level.notice Notice - + log.level.warning Warning - + log.level.error Error - + log.level.critical Critical - + log.level.alert Alert - + log.level.emergency Emergency - + log.type.security Security related event - + log.type.instock_changed [LEGACY] Instock changed - + log.target_id Target element ID - + entity.info.parts_count_recursive Number of parts with this element or its sub elements - + tools.server_infos.title Server info - + permission.preset.read_only Read-Only - + permission.preset.read_only.desc Only allow read operations on data - + permission.preset.all_inherit Inherit all - + permission.preset.all_inherit.desc Set all permissions to Inherit - + permission.preset.all_forbid Forbid all - + permission.preset.all_forbid.desc Set all permissions to Forbid - + permission.preset.all_allow Allow all - + permission.preset.all_allow.desc Set all permissions to allow - + perm.server_infos Server info - + permission.preset.editor Editor - + permission.preset.editor.desc Allow changing parts and data structures - + permission.preset.admin Admin - + permission.preset.admin.desc Allow administrative actions - + permission.preset.button Apply preset - + perm.attachments.show_private Show private attachments - + perm.attachments.list_attachments Show list of all attachments - + user.edit.permission_success Permission preset applied successfully. Check if the new permissions fit your needs. - + perm.group.data Data - + part_list.action.action.group.needs_review Needs Review - + part_list.action.action.set_needs_review Set Needs Review Status - + part_list.action.action.unset_needs_review Unset Needs Review Status - + part.edit.ipn Internal Part Number (IPN) - + part.ipn.not_defined Not defined - + part.table.ipn IPN - + currency.edit.update_rate Retrieve exchange rate - + currency.edit.exchange_rate_update.unsupported_currency The currency is unsupported by the exchange rate provider. Check your exchange rate provider configuration. - + currency.edit.exchange_rate_update.generic_error Unable to retrieve the exchange rate. Check your exchange rate provider configuration. - + currency.edit.exchange_rate_updated.success Retrieved the exchange rate successfully. - + project.bom.quantity BOM Qty. - + project.bom.mountnames Mount names - + project.bom.name Name - + project.bom.comment Notes - + project.bom.part Part - + project.bom.add_entry Add entry - + part_list.action.group.projects Projects - + part_list.action.projects.add_to_project Add parts to project - + project.bom.delete.confirm Do you really want to delete this BOM entry? - + project.add_parts_to_project Add parts to project BOM - + part.info.add_part_to_project Add this part to a project - + project_bom_entry.label BOM entry - + project.edit.status Project status - + project.status.draft Draft - + project.status.planning Planning - + project.status.in_production In production - + project.status.finished Finished - + project.status.archived Archived - + part.new_build_part.error.build_part_already_exists The project already has a build part! - + project.edit.associated_build_part Associated builds part - + project.edit.associated_build_part.add Add builds part - + project.edit.associated_build.hint This part represents the builds of this project, which are stored somewhere. - + part.info.projectBuildPart.hint This part represents the builds of the following project and is associated with it - + part.is_build_part Is project builds part - + project.info.title Project info - + project.info.bom_entries_count BOM entries - + project.info.sub_projects_count Subprojects - + project.info.bom_add_parts Add BOM entries - + project.info.info.label Info - + project.info.sub_projects.label Subprojects - + project.bom.price Price - + part.info.withdraw_modal.title.withdraw Withdraw parts from lot - + part.info.withdraw_modal.title.add Add parts to lot - + part.info.withdraw_modal.title.move Move parts from lot to another lot - + part.info.withdraw_modal.amount Amount - + part.info.withdraw_modal.move_to Move to - + part.info.withdraw_modal.comment Comment - + part.info.withdraw_modal.comment.hint You can set a comment here describing why you are doing this operation (e.g. for what you need the parts). This info will be saved in the log. - + modal.close Close - + modal.submit Submit - + part.withdraw.success Added/Moved/Withdrawn parts successfully. - + perm.parts_stock Parts Stock - + perm.parts_stock.withdraw Withdraw parts from stock - + perm.parts_stock.add Add parts to stock - + perm.parts_stock.move Move parts between lots - + user.permissions_schema_updated The permission schema of your user were upgraded to the latest version. - + log.type.part_stock_changed Part Stock changed - + log.part_stock_changed.withdraw Stock withdrawn - + log.part_stock_changed.add Stock added - + log.part_stock_changed.move Stock moved - + log.part_stock_changed.comment Comment - + log.part_stock_changed.change Change - + log.part_stock_changed.move_target Move target - + tools.builtin_footprints_viewer.title Builtin footprint image gallery - + tools.builtin_footprints_viewer.hint This gallery lists all available built-in footprint images. If you want to use them in an attachment, type in the name (or a keyword) in the path field of the attachment and select the image from the dropdown select. - + tools.ic_logos.title IC logos - + part_list.action.group.labels Labels - + part_list.action.projects.generate_label Generate labels (for parts) - + part_list.action.projects.generate_label_lot Generate labels (for part lots) - + part_list.action.generate_label.empty Empty label - + project.info.builds.label Build - + project.builds.build_not_possible Build not possible: Parts not stocked - + project.builds.following_bom_entries_miss_instock The following parts have not enough stock to build this project at least once: - + project.builds.stocked stocked - + project.builds.needed needed - + project.builds.build_possible Build possible - + project.builds.number_of_builds_possible - %max_builds% builds of this project.]]> + You have enough stocked to build <b>%max_builds%</b> builds of this project. - + project.builds.check_project_status - "%project_status%". You should check if you really want to build the project with this status!]]> + The current project status is <b>"%project_status%"</b>. You should check if you really want to build the project with this status! - + project.builds.following_bom_entries_miss_instock_n You do not have enough parts stocked to build this project %number_of_builds% times. The following parts have missing instock: - + project.build.flash.invalid_input Can not build project. Check input! - + project.build.required_qty Required quantity - + project.build.btn_build Build - + project.build.help Choose from which part lots the stock to build this project should be taken (and in which amount). Check the checkbox for each BOM Entry, when you are finished withdrawing the parts, or use the top checkbox to check all boxes at once. - + project.build.buildsPartLot.new_lot Create new lot - + project.build.add_builds_to_builds_part Add builds to project builds part - + project.build.builds_part_lot Target lot - + project.builds.number_of_builds Build amount - + project.builds.no_stocked_builds Number of stocked builds - + user.change_avatar.label Change profile picture - + user_settings.change_avatar.label Change profile picture - + user_settings.remove_avatar.label Remove profile picture - + part.edit.name.category_hint Hint from category - + category.edit.partname_regex.placeholder e.g "/Capacitor \d+ nF/i" - + category.edit.partname_regex.help A PCRE-compatible regular expression, which a part name have to match. - + entity.select.add_hint - to create nested structures, e.g. "Node 1->Node 1.1"]]> + Use -> to create nested structures, e.g. "Node 1->Node 1.1" - + entity.select.group.new_not_added_to_DB New (not added to DB yet) - + part.edit.save_and_new Save and create new empty part - + homepage.first_steps.title First steps - + homepage.first_steps.introduction - documentation or start to creating the following data structures:]]> + Your database is still empty. You might want to read the <a href="%url%">documentation</a> or start to creating the following data structures: - + homepage.first_steps.create_part - create a new part.]]> + Or you can directly <a href="%url%">create a new part</a>. - + homepage.first_steps.hide_hint This box will hide as soon as you have created your first part. - + homepage.forum.text - discussion forum]]> + For questions about Part-DB use the <a href="%href%" class="link-external" target="_blank">discussion forum</a> - + log.element_edited.changed_fields.category Category - + log.element_edited.changed_fields.footprint Footprint - + log.element_edited.changed_fields.manufacturer Manufacturer - + log.element_edited.changed_fields.value_typical typ. value - + log.element_edited.changed_fields.pw_reset_expires Password reset - + log.element_edited.changed_fields.comment Notes - + log.element_edited.changed_fields.supplierpartnr Supplier part number - + log.element_edited.changed_fields.supplier_product_url Link to offer - + log.element_edited.changed_fields.price Price - + log.element_edited.changed_fields.min_discount_quantity Minimum discount amount - + log.element_edited.changed_fields.original_filename Original filename - + log.element_edited.changed_fields.path Filepath - + log.element_edited.changed_fields.description Description - + log.element_edited.changed_fields.manufacturing_status Manufacturing status - + log.element_edited.changed_fields.options.barcode_type Barcode type - + log.element_edited.changed_fields.status Status - + log.element_edited.changed_fields.quantity BOM Qty. - + log.element_edited.changed_fields.mountnames Mountnames - + log.element_edited.changed_fields.name Name - + log.element_edited.changed_fields.part Part - + log.element_edited.changed_fields.price_currency Currency of price - + log.element_edited.changed_fields.partname_hint Part name hint - + log.element_edited.changed_fields.partname_regex Name filter - + log.element_edited.changed_fields.disable_footprints Disable footprints - + log.element_edited.changed_fields.disable_manufacturers Disable manufacturers - + log.element_edited.changed_fields.disable_autodatasheets Disable automatic datasheet links - + log.element_edited.changed_fields.disable_properties Disable properties - + log.element_edited.changed_fields.default_description Default description - + log.element_edited.changed_fields.default_comment Default notes - + log.element_edited.changed_fields.filetype_filter Allowed file extensions - + log.element_edited.changed_fields.not_selectable Not selected - + log.element_edited.changed_fields.parent Parent element - + log.element_edited.changed_fields.shipping_costs Shipping costs - + log.element_edited.changed_fields.default_currency Default currency - + log.element_edited.changed_fields.address Address - + log.element_edited.changed_fields.phone_number Phone number - + log.element_edited.changed_fields.fax_number Fax number - + log.element_edited.changed_fields.email_address Email - + log.element_edited.changed_fields.website Website - + log.element_edited.changed_fields.auto_product_url Product URL - + log.element_edited.changed_fields.is_full Storelocation full - + log.element_edited.changed_fields.limit_to_existing_parts Limit to existing parts - + log.element_edited.changed_fields.only_single_part Only single part - + log.element_edited.changed_fields.storage_type Storage type - + log.element_edited.changed_fields.footprint_3d 3D model - + log.element_edited.changed_fields.master_picture_attachment Preview image - + log.element_edited.changed_fields.exchange_rate Exchange rate - + log.element_edited.changed_fields.iso_code Exchange rate - + log.element_edited.changed_fields.unit Unit symbol - + log.element_edited.changed_fields.is_integer Is integer - + log.element_edited.changed_fields.use_si_prefix Use SI prefix - + log.element_edited.changed_fields.options.width Width - + log.element_edited.changed_fields.options.height Height - + log.element_edited.changed_fields.options.supported_element Target type - + log.element_edited.changed_fields.options.additional_css Additional styles (CSS) - + log.element_edited.changed_fields.options.lines Content - + log.element_edited.changed_fields.permissions.data Permissions - + log.element_edited.changed_fields.disabled Disabled - + log.element_edited.changed_fields.theme Theme - + log.element_edited.changed_fields.timezone Timezone - + log.element_edited.changed_fields.language Language - + log.element_edited.changed_fields.email Email - + log.element_edited.changed_fields.department Department - + log.element_edited.changed_fields.last_name Last name - + log.element_edited.changed_fields.first_name First name - + log.element_edited.changed_fields.group Group - + log.element_edited.changed_fields.currency Preferred currency - + log.element_edited.changed_fields.enforce2FA Enforce 2FA - + log.element_edited.changed_fields.symbol Symbol - + log.element_edited.changed_fields.value_min Min. value - + log.element_edited.changed_fields.value_max Max. value - + log.element_edited.changed_fields.value_text Text value - + log.element_edited.changed_fields.show_in_table Show in table - + log.element_edited.changed_fields.attachment_type Show in table - + log.element_edited.changed_fields.needs_review Needs review - + log.element_edited.changed_fields.tags Tags - + log.element_edited.changed_fields.mass Mass - + log.element_edited.changed_fields.ipn IPN - + log.element_edited.changed_fields.favorite Favorite - + log.element_edited.changed_fields.minamount Minimum stock - + log.element_edited.changed_fields.manufacturer_product_url Link to product page - + log.element_edited.changed_fields.manufacturer_product_number MPN - + log.element_edited.changed_fields.partUnit Measuring Unit - + log.element_edited.changed_fields.expiration_date Expiration date - + log.element_edited.changed_fields.amount Amount - + log.element_edited.changed_fields.storage_location Storage location - + attachment.max_file_size Maximum file size - + user.saml_user SSO / SAML user - + user.saml_user.pw_change_hint Your user uses single sign-on (SSO). You can not change the password and 2FA settings here. Configure them on your central SSO provider instead! - + login.sso_saml_login Single Sign-On Login (SSO) - + login.local_login_hint The form below is only for log in with a local user. If you want to log in via single sign-on, press the button above. - + part_list.action.action.export Export parts - + part_list.action.export_json Export to JSON - + part_list.action.export_csv Export to CSV - + part_list.action.export_yaml Export to YAML - + part_list.action.export_xml Export to XML - + parts.import.title Import parts - + parts.import.errors.title Import violations - + parts.import.flash.error Errors during import. This is most likely caused by some invalid data. - + parts.import.format.auto Automatic (based on file extension) - + parts.import.flash.error.unknown_format Could not determine the format from the given file! - + parts.import.flash.error.invalid_file File invalid. Please check that you have selected the right format! - + parts.import.part_category.label Category override - + parts.import.part_category.help If you select a value here, all imported parts will be assigned to this category. No matter what was set in the data. - + import.create_unknown_datastructures Create unknown datastructures - + import.create_unknown_datastructures.help If this is selected, datastructures (like categories, footprints, etc.) which does not exist in the database yet, will be automatically created. If this is not selected, only existing data structures will be used, and if no matching data structure is found, the part will get assigned nothing - + import.path_delimiter Path delimiter - + import.path_delimiter.help The delimiter used to mark different levels in data structure pathes like category, footprint, etc. - + parts.import.help_documentation - documentation for more information on the file format.]]> + See the <a href="%link%">documentation</a> for more information on the file format. - + parts.import.help You can import parts from existing files with this tool. The parts will be directly written to database, so please check your file beforehand for correct content before uploading it here. - + parts.import.flash.success Part import successful! - + parts.import.errors.imported_entities Imported parts - + perm.import Import data - + parts.import.part_needs_review.label Mark all imported parts as "Needs review" - + parts.import.part_needs_review.help If this option is selected, then all parts will be marked as "Needs review", no matter what was set in the data. - + project.bom_import.flash.success Imported %count% BOM entries successfully. - + project.bom_import.type Type - + project.bom_import.type.kicad_pcbnew KiCAD Pcbnew BOM (CSV file) - + project.bom_import.clear_existing_bom Clear existing BOM entries before importing - + project.bom_import.clear_existing_bom.help Selecting this option will remove all existing BOM entries in the project and overwrite them with the imported BOM file! - + project.bom_import.flash.invalid_file File could not be imported. Please check that you have selected the right file type. Error message: %message% - + project.bom_import.flash.invalid_entries Validation error! Please check your data! - + project.import_bom Import BOM for project - + project.edit.bom.import_bom Import BOM - + measurement_unit.new New Measurement Unit - + measurement_unit.edit Edit Measurement Unit - + user.aboutMe.label About Me - + storelocation.owner.label Owner - + storelocation.part_owner_must_match.label Part Lot owner must match storage location owner - + part_lot.owner Owner - + part_lot.owner.help Only the owner can withdraw or add stock to this lot. - + log.element_edited.changed_fields.owner Owner - + log.element_edited.changed_fields.instock_unknown Amount unknown - + log.element_edited.changed_fields.needs_refill Refill needed - + part.withdraw.access_denied Not allowed to do the desired action. Please check your permissions and the owner of the part lots. - + part.info.amount.less_than_desired Less than desired - + log.cli_user CLI user - + log.element_edited.changed_fields.part_owner_must_match Part owner must match storage location owner - + part.filter.lessThanDesired - + In stock less than desired (total amount < min. amount) - + part.filter.lotOwner Lot owner - + user.show_email_on_profile.label Show email on public profile page - + log.details.title Log details - + log.user_login.login_from_ip Login from IP address - + log.user_login.ip_anonymize_hint If the last digits of the IP address are missing, then the GPDR mode is enabled, in which IP addresses are anynomized. - + log.user_not_allowed.unauthorized_access_attempt_to Unauthorized access attempt to page - + log.user_not_allowed.hint The request was blocked. No action should be required. - + log.no_comment No comment - + log.element_changed.field Field - + log.element_changed.data_before Data before change - + error_table.error An error occured during your request. - + part.table.invalid_regex Invalid regular expression (regex) - + log.element_changed.data_after Data after change - + log.element_changed.diff Difference - + log.undo.undo.short Undo - + log.undo.revert.short Revert to this timestamp - + log.view_version View version - + log.undo.undelete.short Undelete - + log.element_edited.changed_fields.id ID - + log.element_edited.changed_fields.id_owner Owner - + log.element_edited.changed_fields.parent_id Parent - + log.details.delete_entry Delete log entry - + log.delete.message.title Do you really want to delete the log entry? - + log.delete.message If this is an element history entry, this breaks the element history! This can lead to unexpected results when using the time travel function. - + log.collection_deleted.on_collection on Collection - + log.element_edited.changed_fields.attachments Attachments - + tfa_u2f.add_key.registration_error An error occurred during the registration of the security key. Try again or use another security key! - + log.target_type.none None - + ui.darkmode.light Light - + ui.darkmode.dark Dark - + ui.darkmode.auto Auto (decide based on system settings) - + label_generator.no_lines_given No text content given! The labels will remain empty. - + user.password_strength.very_weak Very weak - + user.password_strength.weak Weak - + user.password_strength.medium Medium - + user.password_strength.strong Strong - + user.password_strength.very_strong Very strong - + perm.users.impersonate Impersonate other users - + user.impersonated_by.label Impersonated by - + user.stop_impersonation Stop impersonation - + user.impersonate.btn Impersonate - + user.impersonate.confirm.title Do you really want to impersonate this user? - + user.impersonate.confirm.message This will be logged. You should only do this with a good reason. @@ -11430,781 +11430,781 @@ Please note, that you can not impersonate a disabled user. If you try you will g - + log.type.security.user_impersonated User impersonated - + info_providers.providers_list.title Information providers - + info_providers.providers_list.active Active - + info_providers.providers_list.disabled Disabled - + info_providers.capabilities.basic Basic - + info_providers.capabilities.footprint Footprint - + info_providers.capabilities.picture Picture - + info_providers.capabilities.datasheet Datasheets - + info_providers.capabilities.price Prices - + part.info_provider_reference.badge The information provider used to create this part. - + part.info_provider_reference Created by Information provider - + oauth_client.connect.btn Connect OAuth - + info_providers.table.provider.label Provider - + info_providers.search.keyword Keyword - + info_providers.search.submit Search - + info_providers.search.providers.help Select the providers in which should be searched. - + info_providers.search.providers Providers - + info_providers.search.info_providers_list Show all available info providers - + info_providers.search.title Create parts from info provider - + oauth_client.flash.connection_successful Connected to OAuth application successfully! - + perm.part.info_providers Info providers - + perm.part.info_providers.create_parts Create parts from info provider - + entity.edit.alternative_names.label Alternative names - + entity.edit.alternative_names.help The alternative names given here, are used to find this element based on the results of the information providers. - + info_providers.form.help_prefix Provider - + update_manager.new_version_available.title New version available - + update_manager.new_version_available.text A new version of Part-DB is available. Check it out here - + update_manager.new_version_available.only_administrators_can_see Only administrators can see this message. - + perm.system.show_available_updates Show available Part-DB updates - + user.settings.api_tokens API tokens - + user.settings.api_tokens.description Using an API token, other applications can access Part-DB with your user rights, to perform various actions using the Part-DB REST API. If you delete an API token here, the application, which uses the token, will no longer be able to access Part-DB on your behalf. - + api_tokens.name Name - + api_tokens.access_level Access level - + api_tokens.expiration_date Expiration date - + api_tokens.added_date Added at - + api_tokens.last_time_used Last time used - + datetime.never Never - + api_token.valid Valid - + api_token.expired Expired - + user.settings.show_api_documentation Show API documentation - + api_token.create_new Create new API token - + api_token.level.read_only Read-Only - + api_token.level.edit Edit - + api_token.level.admin Admin - + api_token.level.full Full - + api_tokens.access_level.help You can restrict, what the API token can access. The access is always limited by the permissions of your user. - + api_tokens.expiration_date.help After this date, the token is not usable anymore. Leave empty if the token should never expire. - + api_tokens.your_token_is Your API token is - + api_tokens.please_save_it Please save it. You will not be able to see it again! - + api_tokens.create_new.back_to_user_settings Back to user settings - + project.build.dont_check_quantity Do not check quantities - + project.build.dont_check_quantity.help If this option is selected, the given withdraw quantities are used as given, no matter if more or less parts are actually required to build this project. - + part_list.action.invert_selection Invert selection - + perm.api API - + perm.api.access_api Access API - + perm.api.manage_tokens Manage API tokens - + user.settings.api_tokens.delete.title Do you really want to delete this API token? - + user.settings.api_tokens.delete Delete - + user.settings.api_tokens.delete.message The application, which uses this API token, will no longer have access to Part-DB. This action can not be undone! - + api_tokens.deleted API token deleted successfully! - + user.settings.api_tokens.no_api_tokens_yet No API tokens configured yet. - + api_token.ends_with Ends with - + entity.select.creating_new_entities_not_allowed You are not allowed to create new entities of this type! Please choose a pre-existing one. - + scan_dialog.mode Barcode type - + scan_dialog.mode.auto Auto detect - + scan_dialog.mode.ipn IPN barcode - + scan_dialog.mode.internal Part-DB barcode - + part_association.label Part association - + part.edit.tab.associations Associated parts - + part_association.edit.other_part Associated part - + part_association.edit.type Relation Type - + part_association.edit.comment Notes - + part_association.edit.type.help You can select here, how the chosen part is related to this part. - + part_association.table.from_this_part Associations from this part to others - + part_association.table.from From - + part_association.table.type Relation - + part_association.table.to To - + part_association.type.compatible Is compatible with - + part_association.table.to_this_part Associations to this part from others - + part_association.type.other Other (custom value) - + part_association.type.supersedes Supersedes - + part_association.edit.other_type Custom type - + part_association.edit.delete.confirm Do you really want to delete this association? This can not be undone. - + part_lot.edit.advanced Expand advanced options - + part_lot.edit.vendor_barcode Vendor barcode - + part_lot.edit.vendor_barcode.help If this lot already have a barcode (e.g. put there by the vendor), you can input its content here, to easily scan it. - + scan_dialog.mode.vendor Vendor barcode (configured in part lot) - + project.bom.instockAmount Stocked amount - + collection_type.new_element.tooltip This element was newly created and was not persisted to the database yet. - + part.merge.title Merge part - + part.merge.title.into into - + part.merge.confirm.title - %other% into %target%?]]> + Do you really want to merge <b>%other%</b> into <b>%target%</b>? - + part.merge.confirm.message - %other% will be deleted, and the part will be saved with the shown information.]]> + <b>%other%</b> will be deleted, and the part will be saved with the shown information. - + part.info.merge_modal.title Merge parts - + part.info.merge_modal.other_part Other part - + part.info.merge_modal.other_into_this Merge other part into this one (delete other part, keep this one) - + part.info.merge_modal.this_into_other Merge this part into other one (delete this part, keep other one) - + part.info.merge_btn Merge part - + part.update_part_from_info_provider.btn Update part from info providers - + info_providers.update_part.title Update existing part from info provider - + part.merge.flash.please_review Data not saved yet. Review the changes and click save to persist the new data. - + user.edit.flash.permissions_fixed Permissions required by other permissions were missing. This was corrected. Please check if the permissions are as you intended. - + permission.legend.dependency_note Please note that some permission operations depend on each other. If you encounter a warning that missing permissions were corrected and a permission was set to allow again, you have to set the dependent operation to forbid too. The dependents can normally found right of an operation. - + log.part_stock_changed.timestamp Timestamp - + part.info.withdraw_modal.timestamp Action timestamp - + part.info.withdraw_modal.timestamp.hint This field allows you to specify the real date, when the stock operation actually was performed, and not just when it was logged. This value is saved in the extra field of the log entry. - + part.info.withdraw_modal.delete_lot_if_empty Delete this lot, if it becomes empty - + info_providers.search.error.client_exception An error occurred while communicating with the information provider. Check the configuration for this provider and refresh the OAuth tokens if possible. - + eda_info.reference_prefix.placeholder e.g. R - + eda_info.reference_prefix Reference prefix - + eda_info.kicad_section.title KiCad specific settings - + eda_info.value Value - + eda_info.value.placeholder e.g. 100n - + eda_info.exclude_from_bom Exclude part from BOM - + eda_info.exclude_from_board Exclude part from PCB/Board - + eda_info.exclude_from_sim Exclude part from simulation - + eda_info.kicad_symbol KiCad schematic symbol - + eda_info.kicad_symbol.placeholder e.g. Transistor_BJT:BC547 - + eda_info.kicad_footprint KiCad footprint - + eda_info.kicad_footprint.placeholder e.g. Package_TO_SOT_THT:TO-92 - + part.edit.tab.eda EDA information - + api.api_endpoints.title API endpoints - + api.api_endpoints.partdb Part-DB API - + api.api_endpoints.kicad_root_url KiCad API root URL - + eda_info.visibility Force visibility - + eda_info.visibility.help By default, the visibility to the EDA software is automatically determined. With this checkbox, you can force the part to be visible or invisible. - + part.withdraw.zero_amount You tried to withdraw/add an amount of zero! No action was performed. - + login.flash.access_denied_please_login Access denied! Please log in to continue. - + attachment.upload_multiple_files Upload files - + entity.mass_creation_flash Created %COUNT% entities successfully. diff --git a/translations/security.en.xlf b/translations/security.en.xlf index 3ca2bee3..43f2a92f 100644 --- a/translations/security.en.xlf +++ b/translations/security.en.xlf @@ -2,13 +2,13 @@ - + user.login_error.user_disabled Your account is disabled! Contact an administrator if you think this is wrong. - + saml.error.cannot_login_local_user_per_saml You cannot login as local user via SSO! Use your local user password instead. diff --git a/translations/validators.en.xlf b/translations/validators.en.xlf index 2a83d01b..a70cd76a 100644 --- a/translations/validators.en.xlf +++ b/translations/validators.en.xlf @@ -37,7 +37,7 @@ Part-DB1\src\Entity\UserSystem\Group.php:0 Part-DB1\src\Entity\UserSystem\User.php:0 - + part.master_attachment.must_be_picture The preview attachment must be a valid picture! @@ -82,7 +82,7 @@ src\Entity\StructuralDBElement.php:0 src\Entity\Supplier.php:0 - + structural.entity.unique_name An element with this name already exists on this level! @@ -102,7 +102,7 @@ Part-DB1\src\Entity\Parameters\StorelocationParameter.php:0 Part-DB1\src\Entity\Parameters\SupplierParameter.php:0 - + parameters.validator.min_lesser_typical Value must be lesser or equal the the typical value ({{ compared_value }}). @@ -122,7 +122,7 @@ Part-DB1\src\Entity\Parameters\StorelocationParameter.php:0 Part-DB1\src\Entity\Parameters\SupplierParameter.php:0 - + parameters.validator.min_lesser_max Value must be lesser than the maximum value ({{ compared_value }}). @@ -142,7 +142,7 @@ Part-DB1\src\Entity\Parameters\StorelocationParameter.php:0 Part-DB1\src\Entity\Parameters\SupplierParameter.php:0 - + parameters.validator.max_greater_typical Value must be greater or equal than the typical value ({{ compared_value }}). @@ -152,7 +152,7 @@ Part-DB1\src\Entity\UserSystem\User.php:0 Part-DB1\src\Entity\UserSystem\User.php:0 - + validator.user.username_already_used A user with this name is already exisiting @@ -162,7 +162,7 @@ Part-DB1\src\Entity\UserSystem\User.php:0 Part-DB1\src\Entity\UserSystem\User.php:0 - + user.invalid_username The username must contain only letters, numbers, underscores, dots, pluses or minuses! @@ -171,7 +171,7 @@ obsolete - + validator.noneofitschild.self An element can not be its own parent! @@ -180,169 +180,169 @@ obsolete - + validator.noneofitschild.children You can not assign children element as parent (This would cause loops)! - + validator.select_valid_category Please select a valid category! - + validator.part_lot.only_existing Can not add new parts to this location as it is marked as "Only Existing" - + validator.part_lot.location_full.no_increase Location is full. Amount can not be increased (new value must be smaller than {{ old_amount }}). - + validator.part_lot.location_full Location is full. Can not add new parts to it. - + validator.part_lot.single_part This location can only contain a single part and it is already full! - + validator.attachment.must_not_be_null You must select an attachment type! - + validator.orderdetail.supplier_must_not_be_null You must select an supplier! - + validator.measurement_unit.use_si_prefix_needs_unit To enable SI prefixes, you have to set a unit symbol! - + part.ipn.must_be_unique The internal part number must be unique. {{ value }} is already in use! - + validator.project.bom_entry.name_or_part_needed You have to choose a part for a part BOM entry or set a name for a non-part BOM entry. - + project.bom_entry.name_already_in_bom There is already an BOM entry with this name! - + project.bom_entry.part_already_in_bom This part already exists in the BOM! - + project.bom_entry.mountnames_quantity_mismatch The number of mountnames has to match the BOMs quantity! - + project.bom_entry.can_not_add_own_builds_part You can not add a project's own builds part to the BOM. - + project.bom_has_to_include_all_subelement_parts The project BOM has to include all subprojects builds parts. Part %part_name% of project %project_name% missing! - + project.bom_entry.price_not_allowed_on_parts Prices are not allowed on BOM entries associated with a part. Define the price on the part instead. - + validator.project_build.lot_bigger_than_needed You have selected more quantity to withdraw than needed! Remove unnecessary quantity. - + validator.project_build.lot_smaller_than_needed You have selected less quantity to withdraw than needed for the build! Add additional quantity. - + part.name.must_match_category_regex The part name does not match the regular expression stated by the category: %regex% - + validator.attachment.name_not_blank Set a value here, or upload a file to automatically use its filename as name for the attachment. - + validator.part_lot.owner_must_match_storage_location_owner The owner of this lot must match the owner of the selected storage location (%owner_name%)! - + validator.part_lot.owner_must_not_be_anonymous A lot owner must not be the anonymous user! - + validator.part_association.must_set_an_value_if_type_is_other If you set the type to "other", then you have to set a descriptive value for it! - + validator.part_association.part_cannot_be_associated_with_itself A part can not be associated with itself! - + validator.part_association.already_exists The association with this part already exists! - + validator.part_lot.vendor_barcode_must_be_unique This vendor barcode value was already used in another lot. The barcode must be unique! - + validator.year_2038_bug_on_32bit Due to technical limitations, it is not possible to select dates after the 2038-01-19 on 32-bit systems! diff --git a/translations/validators.it.xlf b/translations/validators.it.xlf index 576c4f6f..3a770df5 100644 --- a/translations/validators.it.xlf +++ b/translations/validators.it.xlf @@ -347,5 +347,11 @@ A causa di limitazioni tecniche, non è possibile selezionare date successive al 19-01-2038 su sistemi a 32 bit! + + + validator.invalid_range + L'intervallo indicato non è valido! + + From 7366a33fe574708086382cd47c597a2376fbe010 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sun, 8 Sep 2024 19:40:19 +0200 Subject: [PATCH 029/287] Apply the PHP_VERSION arg also to the partdb-entrypoint during build, to make it really version independent --- .docker/partdb-entrypoint.sh | 4 ++-- Dockerfile | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.docker/partdb-entrypoint.sh b/.docker/partdb-entrypoint.sh index 3e06256a..5bfc6b48 100644 --- a/.docker/partdb-entrypoint.sh +++ b/.docker/partdb-entrypoint.sh @@ -39,8 +39,8 @@ if [ -d /var/www/html/var/db ]; then fi fi -# Start PHP-FPM -service php8.1-fpm start +# Start PHP-FPM (the PHP_VERSION is replaced by the configured version in the Dockerfile) +service phpPHP_VERSION-fpm start # first arg is `-f` or `--some-option` (taken from https://github.com/docker-library/php/blob/master/8.2/bullseye/apache/docker-php-entrypoint) if [ "${1#-}" != "$1" ]; then diff --git a/Dockerfile b/Dockerfile index 9e0bf8c8..cd01fded 100644 --- a/Dockerfile +++ b/Dockerfile @@ -163,6 +163,9 @@ ENV DATABASE_URL="sqlite:///%kernel.project_dir%/uploads/app.db" USER root +# Replace the php version placeholder in the entry point, with our php version +RUN sed -i "s/PHP_VERSION/${PHP_VERSION}/g" ./.docker/partdb-entrypoint.sh + # Copy entrypoint and apache2-foreground to /usr/local/bin and make it executable RUN install ./.docker/partdb-entrypoint.sh /usr/local/bin && \ install ./.docker/apache2-foreground /usr/local/bin From 8c8b44baefef55c36030cc48c69192b0f3493a3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sun, 8 Sep 2024 19:40:43 +0200 Subject: [PATCH 030/287] Use debian bookworm, PHP 8.2 and node 20 for the docker image by default --- Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index cd01fded..15049166 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ -ARG BASE_IMAGE=debian:bullseye-slim -ARG PHP_VERSION=8.1 +ARG BASE_IMAGE=debian:bookworm-slim +ARG PHP_VERSION=8.2 FROM ${BASE_IMAGE} AS base ARG PHP_VERSION @@ -48,7 +48,7 @@ RUN apt-get update && apt-get -y install \ # Install node and yarn RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \ echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \ - curl -sL https://deb.nodesource.com/setup_18.x | bash - && \ + curl -sL https://deb.nodesource.com/setup_20.x | bash - && \ apt-get update && apt-get install -y \ nodejs \ yarn \ From abb5395cae300892fd776573e2fbf4d7a6e0f93b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sun, 8 Sep 2024 19:46:55 +0200 Subject: [PATCH 031/287] Use "log-bin-trust-function-creators" option for mysql in recommended docker-compose file This avoids errors, while creating the MySQL functions for the natural sort: "1419 You do not have the SUPER privilege an d binary logging is enabled" --- docs/installation/installation_docker.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation/installation_docker.md b/docs/installation/installation_docker.md index 98fb82d1..5d357ae5 100644 --- a/docs/installation/installation_docker.md +++ b/docs/installation/installation_docker.md @@ -158,7 +158,7 @@ services: container_name: partdb_database image: mysql:8.0 restart: unless-stopped - command: --default-authentication-plugin=mysql_native_password + command: --default-authentication-plugin=mysql_native_password --log-bin-trust-function-creators=1 environment: # Change this Password MYSQL_ROOT_PASSWORD: SECRET_ROOT_PASSWORD From 7db44f0ec513cb0a162a4bcf38077a73b0efea27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sun, 8 Sep 2024 19:54:31 +0200 Subject: [PATCH 032/287] Upgraded dependencies --- composer.lock | 663 +++++++++++++++++++++++++------------------------- yarn.lock | 247 ++++++++----------- 2 files changed, 435 insertions(+), 475 deletions(-) diff --git a/composer.lock b/composer.lock index cc65db4c..aa2d5beb 100644 --- a/composer.lock +++ b/composer.lock @@ -1016,16 +1016,16 @@ }, { "name": "api-platform/core", - "version": "v3.3.11", + "version": "v3.3.12", "source": { "type": "git", "url": "https://github.com/api-platform/core.git", - "reference": "ea7d443376dfa1f9a05b53060049e7837d2ec7d4" + "reference": "e2eeb6b710f96542b75357a13d8d69ed4d8be5e2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/api-platform/core/zipball/ea7d443376dfa1f9a05b53060049e7837d2ec7d4", - "reference": "ea7d443376dfa1f9a05b53060049e7837d2ec7d4", + "url": "https://api.github.com/repos/api-platform/core/zipball/e2eeb6b710f96542b75357a13d8d69ed4d8be5e2", + "reference": "e2eeb6b710f96542b75357a13d8d69ed4d8be5e2", "shasum": "" }, "require": { @@ -1198,9 +1198,9 @@ ], "support": { "issues": "https://github.com/api-platform/core/issues", - "source": "https://github.com/api-platform/core/tree/v3.3.11" + "source": "https://github.com/api-platform/core/tree/v3.3.12" }, - "time": "2024-07-20T08:19:33+00:00" + "time": "2024-08-30T14:44:44+00:00" }, { "name": "beberlei/assert", @@ -1586,16 +1586,16 @@ }, { "name": "doctrine/annotations", - "version": "2.0.1", + "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/doctrine/annotations.git", - "reference": "e157ef3f3124bbf6fe7ce0ffd109e8a8ef284e7f" + "reference": "901c2ee5d26eb64ff43c47976e114bf00843acf7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/e157ef3f3124bbf6fe7ce0ffd109e8a8ef284e7f", - "reference": "e157ef3f3124bbf6fe7ce0ffd109e8a8ef284e7f", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/901c2ee5d26eb64ff43c47976e114bf00843acf7", + "reference": "901c2ee5d26eb64ff43c47976e114bf00843acf7", "shasum": "" }, "require": { @@ -1607,10 +1607,10 @@ "require-dev": { "doctrine/cache": "^2.0", "doctrine/coding-standard": "^10", - "phpstan/phpstan": "^1.8.0", + "phpstan/phpstan": "^1.10.28", "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "symfony/cache": "^5.4 || ^6", - "vimeo/psalm": "^4.10" + "symfony/cache": "^5.4 || ^6.4 || ^7", + "vimeo/psalm": "^4.30 || ^5.14" }, "suggest": { "php": "PHP 8.0 or higher comes with attributes, a native replacement for annotations" @@ -1656,9 +1656,9 @@ ], "support": { "issues": "https://github.com/doctrine/annotations/issues", - "source": "https://github.com/doctrine/annotations/tree/2.0.1" + "source": "https://github.com/doctrine/annotations/tree/2.0.2" }, - "time": "2023-02-02T22:02:53+00:00" + "time": "2024-09-05T10:17:24+00:00" }, { "name": "doctrine/cache", @@ -1925,16 +1925,16 @@ }, { "name": "doctrine/dbal", - "version": "4.1.0", + "version": "4.1.1", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "2377cd41609aa51bee822c8d207317a3f363a558" + "reference": "7a8252418689feb860ea8dfeab66d64a56a64df8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/2377cd41609aa51bee822c8d207317a3f363a558", - "reference": "2377cd41609aa51bee822c8d207317a3f363a558", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/7a8252418689feb860ea8dfeab66d64a56a64df8", + "reference": "7a8252418689feb860ea8dfeab66d64a56a64df8", "shasum": "" }, "require": { @@ -1947,16 +1947,16 @@ "doctrine/coding-standard": "12.0.0", "fig/log-test": "^1", "jetbrains/phpstorm-stubs": "2023.2", - "phpstan/phpstan": "1.11.7", + "phpstan/phpstan": "1.12.0", "phpstan/phpstan-phpunit": "1.4.0", "phpstan/phpstan-strict-rules": "^1.6", - "phpunit/phpunit": "10.5.28", + "phpunit/phpunit": "10.5.30", "psalm/plugin-phpunit": "0.19.0", "slevomat/coding-standard": "8.13.1", "squizlabs/php_codesniffer": "3.10.2", "symfony/cache": "^6.3.8|^7.0", "symfony/console": "^5.4|^6.3|^7.0", - "vimeo/psalm": "5.24.0" + "vimeo/psalm": "5.25.0" }, "suggest": { "symfony/console": "For helpful console commands such as SQL execution and import of files." @@ -2013,7 +2013,7 @@ ], "support": { "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/4.1.0" + "source": "https://github.com/doctrine/dbal/tree/4.1.1" }, "funding": [ { @@ -2029,7 +2029,7 @@ "type": "tidelift" } ], - "time": "2024-08-15T07:37:07+00:00" + "time": "2024-09-03T08:58:39+00:00" }, { "name": "doctrine/deprecations", @@ -2080,16 +2080,16 @@ }, { "name": "doctrine/doctrine-bundle", - "version": "2.12.0", + "version": "2.13.0", "source": { "type": "git", "url": "https://github.com/doctrine/DoctrineBundle.git", - "reference": "5418e811a14724068e95e0ba43353b903ada530f" + "reference": "ca59d84b8e63143ce1aed90cdb333ba329d71563" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/5418e811a14724068e95e0ba43353b903ada530f", - "reference": "5418e811a14724068e95e0ba43353b903ada530f", + "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/ca59d84b8e63143ce1aed90cdb333ba329d71563", + "reference": "ca59d84b8e63143ce1aed90cdb333ba329d71563", "shasum": "" }, "require": { @@ -2180,7 +2180,7 @@ ], "support": { "issues": "https://github.com/doctrine/DoctrineBundle/issues", - "source": "https://github.com/doctrine/DoctrineBundle/tree/2.12.0" + "source": "https://github.com/doctrine/DoctrineBundle/tree/2.13.0" }, "funding": [ { @@ -2196,7 +2196,7 @@ "type": "tidelift" } ], - "time": "2024-03-19T07:20:37+00:00" + "time": "2024-09-01T09:46:40+00:00" }, { "name": "doctrine/doctrine-migrations-bundle", @@ -2621,16 +2621,16 @@ }, { "name": "doctrine/migrations", - "version": "3.8.0", + "version": "3.8.1", "source": { "type": "git", "url": "https://github.com/doctrine/migrations.git", - "reference": "535a70dcbd88b8c6ba945be050977457f4f4c06c" + "reference": "7760fbd0b7cb58bfb50415505a7bab821adf0877" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/migrations/zipball/535a70dcbd88b8c6ba945be050977457f4f4c06c", - "reference": "535a70dcbd88b8c6ba945be050977457f4f4c06c", + "url": "https://api.github.com/repos/doctrine/migrations/zipball/7760fbd0b7cb58bfb50415505a7bab821adf0877", + "reference": "7760fbd0b7cb58bfb50415505a7bab821adf0877", "shasum": "" }, "require": { @@ -2653,6 +2653,7 @@ "doctrine/persistence": "^2 || ^3", "doctrine/sql-formatter": "^1.0", "ext-pdo_sqlite": "*", + "fig/log-test": "^1", "phpstan/phpstan": "^1.10", "phpstan/phpstan-deprecation-rules": "^1.1", "phpstan/phpstan-phpunit": "^1.3", @@ -2703,7 +2704,7 @@ ], "support": { "issues": "https://github.com/doctrine/migrations/issues", - "source": "https://github.com/doctrine/migrations/tree/3.8.0" + "source": "https://github.com/doctrine/migrations/tree/3.8.1" }, "funding": [ { @@ -2719,7 +2720,7 @@ "type": "tidelift" } ], - "time": "2024-06-26T14:12:46+00:00" + "time": "2024-08-28T13:17:28+00:00" }, { "name": "doctrine/orm", @@ -5259,16 +5260,16 @@ }, { "name": "liip/imagine-bundle", - "version": "2.13.1", + "version": "2.13.2", "source": { "type": "git", "url": "https://github.com/liip/LiipImagineBundle.git", - "reference": "f3b67426800a6a86840de7447bb552c61a79f4b6" + "reference": "98e0318ea0f7b9500343236e63cc29ded58a1d43" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/liip/LiipImagineBundle/zipball/f3b67426800a6a86840de7447bb552c61a79f4b6", - "reference": "f3b67426800a6a86840de7447bb552c61a79f4b6", + "url": "https://api.github.com/repos/liip/LiipImagineBundle/zipball/98e0318ea0f7b9500343236e63cc29ded58a1d43", + "reference": "98e0318ea0f7b9500343236e63cc29ded58a1d43", "shasum": "" }, "require": { @@ -5359,9 +5360,9 @@ ], "support": { "issues": "https://github.com/liip/LiipImagineBundle/issues", - "source": "https://github.com/liip/LiipImagineBundle/tree/2.13.1" + "source": "https://github.com/liip/LiipImagineBundle/tree/2.13.2" }, - "time": "2024-07-03T13:28:14+00:00" + "time": "2024-09-04T12:55:26+00:00" }, { "name": "lorenzo/pinky", @@ -5784,16 +5785,16 @@ }, { "name": "nelmio/security-bundle", - "version": "v3.4.0", + "version": "v3.4.1", "source": { "type": "git", "url": "https://github.com/nelmio/NelmioSecurityBundle.git", - "reference": "de34d69ddc2227a4d5928030d2439106faf7a427" + "reference": "00d275a38ec99230df60160cb62d88fabf8f088e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nelmio/NelmioSecurityBundle/zipball/de34d69ddc2227a4d5928030d2439106faf7a427", - "reference": "de34d69ddc2227a4d5928030d2439106faf7a427", + "url": "https://api.github.com/repos/nelmio/NelmioSecurityBundle/zipball/00d275a38ec99230df60160cb62d88fabf8f088e", + "reference": "00d275a38ec99230df60160cb62d88fabf8f088e", "shasum": "" }, "require": { @@ -5852,9 +5853,9 @@ ], "support": { "issues": "https://github.com/nelmio/NelmioSecurityBundle/issues", - "source": "https://github.com/nelmio/NelmioSecurityBundle/tree/v3.4.0" + "source": "https://github.com/nelmio/NelmioSecurityBundle/tree/v3.4.1" }, - "time": "2024-07-05T07:26:02+00:00" + "time": "2024-09-03T15:05:21+00:00" }, { "name": "nikic/php-parser", @@ -7125,16 +7126,16 @@ }, { "name": "phpstan/phpdoc-parser", - "version": "1.29.1", + "version": "1.30.1", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "fcaefacf2d5c417e928405b71b400d4ce10daaf4" + "reference": "51b95ec8670af41009e2b2b56873bad96682413e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/fcaefacf2d5c417e928405b71b400d4ce10daaf4", - "reference": "fcaefacf2d5c417e928405b71b400d4ce10daaf4", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/51b95ec8670af41009e2b2b56873bad96682413e", + "reference": "51b95ec8670af41009e2b2b56873bad96682413e", "shasum": "" }, "require": { @@ -7166,9 +7167,9 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/1.29.1" + "source": "https://github.com/phpstan/phpdoc-parser/tree/1.30.1" }, - "time": "2024-05-31T08:52:43+00:00" + "time": "2024-09-07T20:13:05+00:00" }, { "name": "psr/cache", @@ -8840,16 +8841,16 @@ }, { "name": "symfony/cache", - "version": "v6.4.10", + "version": "v6.4.11", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "6702d2d777260e6ff3451fee2d7d78ab5f715cdc" + "reference": "36daef8fce88fe0b9a4f8cf4c342ced5c05616dc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/6702d2d777260e6ff3451fee2d7d78ab5f715cdc", - "reference": "6702d2d777260e6ff3451fee2d7d78ab5f715cdc", + "url": "https://api.github.com/repos/symfony/cache/zipball/36daef8fce88fe0b9a4f8cf4c342ced5c05616dc", + "reference": "36daef8fce88fe0b9a4f8cf4c342ced5c05616dc", "shasum": "" }, "require": { @@ -8916,7 +8917,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v6.4.10" + "source": "https://github.com/symfony/cache/tree/v6.4.11" }, "funding": [ { @@ -8932,7 +8933,7 @@ "type": "tidelift" } ], - "time": "2024-07-17T06:05:49+00:00" + "time": "2024-08-05T07:40:31+00:00" }, { "name": "symfony/cache-contracts", @@ -9161,16 +9162,16 @@ }, { "name": "symfony/console", - "version": "v6.4.10", + "version": "v6.4.11", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "504974cbe43d05f83b201d6498c206f16fc0cdbc" + "reference": "42686880adaacdad1835ee8fc2a9ec5b7bd63998" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/504974cbe43d05f83b201d6498c206f16fc0cdbc", - "reference": "504974cbe43d05f83b201d6498c206f16fc0cdbc", + "url": "https://api.github.com/repos/symfony/console/zipball/42686880adaacdad1835ee8fc2a9ec5b7bd63998", + "reference": "42686880adaacdad1835ee8fc2a9ec5b7bd63998", "shasum": "" }, "require": { @@ -9235,7 +9236,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.4.10" + "source": "https://github.com/symfony/console/tree/v6.4.11" }, "funding": [ { @@ -9251,7 +9252,7 @@ "type": "tidelift" } ], - "time": "2024-07-26T12:30:32+00:00" + "time": "2024-08-15T22:48:29+00:00" }, { "name": "symfony/css-selector", @@ -9320,16 +9321,16 @@ }, { "name": "symfony/dependency-injection", - "version": "v6.4.10", + "version": "v6.4.11", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "5caf9c5f6085f13b27d70a236b776c07e4a1c3eb" + "reference": "e93c8368dc9915c2fe12018ff22fcbbdd32c9a9e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/5caf9c5f6085f13b27d70a236b776c07e4a1c3eb", - "reference": "5caf9c5f6085f13b27d70a236b776c07e4a1c3eb", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/e93c8368dc9915c2fe12018ff22fcbbdd32c9a9e", + "reference": "e93c8368dc9915c2fe12018ff22fcbbdd32c9a9e", "shasum": "" }, "require": { @@ -9381,7 +9382,7 @@ "description": "Allows you to standardize and centralize the way objects are constructed in your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dependency-injection/tree/v6.4.10" + "source": "https://github.com/symfony/dependency-injection/tree/v6.4.11" }, "funding": [ { @@ -9397,7 +9398,7 @@ "type": "tidelift" } ], - "time": "2024-07-26T07:32:07+00:00" + "time": "2024-08-29T08:15:38+00:00" }, { "name": "symfony/deprecation-contracts", @@ -9468,16 +9469,16 @@ }, { "name": "symfony/doctrine-bridge", - "version": "v6.4.10", + "version": "v6.4.11", "source": { "type": "git", "url": "https://github.com/symfony/doctrine-bridge.git", - "reference": "0de9662441bce4670506d0c371cc819a9d0a7607" + "reference": "3c7a50bb920a5398c906725942d947493b1b044c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/0de9662441bce4670506d0c371cc819a9d0a7607", - "reference": "0de9662441bce4670506d0c371cc819a9d0a7607", + "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/3c7a50bb920a5398c906725942d947493b1b044c", + "reference": "3c7a50bb920a5398c906725942d947493b1b044c", "shasum": "" }, "require": { @@ -9556,7 +9557,7 @@ "description": "Provides integration for Doctrine with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/doctrine-bridge/tree/v6.4.10" + "source": "https://github.com/symfony/doctrine-bridge/tree/v6.4.11" }, "funding": [ { @@ -9572,7 +9573,7 @@ "type": "tidelift" } ], - "time": "2024-07-26T12:30:32+00:00" + "time": "2024-08-13T10:11:51+00:00" }, { "name": "symfony/dotenv", @@ -9881,16 +9882,16 @@ }, { "name": "symfony/expression-language", - "version": "v6.4.8", + "version": "v6.4.11", "source": { "type": "git", "url": "https://github.com/symfony/expression-language.git", - "reference": "0b63cb437741a42104d3ccc9bf60bbd8e1acbd2a" + "reference": "564e109c40d3637053c942a29a58e9434592a8bf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/expression-language/zipball/0b63cb437741a42104d3ccc9bf60bbd8e1acbd2a", - "reference": "0b63cb437741a42104d3ccc9bf60bbd8e1acbd2a", + "url": "https://api.github.com/repos/symfony/expression-language/zipball/564e109c40d3637053c942a29a58e9434592a8bf", + "reference": "564e109c40d3637053c942a29a58e9434592a8bf", "shasum": "" }, "require": { @@ -9925,7 +9926,7 @@ "description": "Provides an engine that can compile and evaluate expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/expression-language/tree/v6.4.8" + "source": "https://github.com/symfony/expression-language/tree/v6.4.11" }, "funding": [ { @@ -9941,7 +9942,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-08-12T09:55:28+00:00" }, { "name": "symfony/filesystem", @@ -10011,16 +10012,16 @@ }, { "name": "symfony/finder", - "version": "v6.4.10", + "version": "v6.4.11", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "af29198d87112bebdd397bd7735fbd115997824c" + "reference": "d7eb6daf8cd7e9ac4976e9576b32042ef7253453" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/af29198d87112bebdd397bd7735fbd115997824c", - "reference": "af29198d87112bebdd397bd7735fbd115997824c", + "url": "https://api.github.com/repos/symfony/finder/zipball/d7eb6daf8cd7e9ac4976e9576b32042ef7253453", + "reference": "d7eb6daf8cd7e9ac4976e9576b32042ef7253453", "shasum": "" }, "require": { @@ -10055,7 +10056,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v6.4.10" + "source": "https://github.com/symfony/finder/tree/v6.4.11" }, "funding": [ { @@ -10071,7 +10072,7 @@ "type": "tidelift" } ], - "time": "2024-07-24T07:06:38+00:00" + "time": "2024-08-13T14:27:37+00:00" }, { "name": "symfony/flex", @@ -10140,16 +10141,16 @@ }, { "name": "symfony/form", - "version": "v6.4.10", + "version": "v6.4.11", "source": { "type": "git", "url": "https://github.com/symfony/form.git", - "reference": "67dd6a3fd986cae9a90a8c2c526464c06f525863" + "reference": "330d337558ecd77c664ae71e99fbc8dbc4032246" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/form/zipball/67dd6a3fd986cae9a90a8c2c526464c06f525863", - "reference": "67dd6a3fd986cae9a90a8c2c526464c06f525863", + "url": "https://api.github.com/repos/symfony/form/zipball/330d337558ecd77c664ae71e99fbc8dbc4032246", + "reference": "330d337558ecd77c664ae71e99fbc8dbc4032246", "shasum": "" }, "require": { @@ -10217,7 +10218,7 @@ "description": "Allows to easily create, process and reuse HTML forms", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/form/tree/v6.4.10" + "source": "https://github.com/symfony/form/tree/v6.4.11" }, "funding": [ { @@ -10233,7 +10234,7 @@ "type": "tidelift" } ], - "time": "2024-07-19T08:21:35+00:00" + "time": "2024-08-12T09:55:28+00:00" }, { "name": "symfony/framework-bundle", @@ -10385,16 +10386,16 @@ }, { "name": "symfony/http-client", - "version": "v6.4.10", + "version": "v6.4.11", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "b5e498f763e0bf5eed8dcd946e50a3b3f71d4ded" + "reference": "4c92046bb788648ff1098cc66da69aa7eac8cb65" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/b5e498f763e0bf5eed8dcd946e50a3b3f71d4ded", - "reference": "b5e498f763e0bf5eed8dcd946e50a3b3f71d4ded", + "url": "https://api.github.com/repos/symfony/http-client/zipball/4c92046bb788648ff1098cc66da69aa7eac8cb65", + "reference": "4c92046bb788648ff1098cc66da69aa7eac8cb65", "shasum": "" }, "require": { @@ -10458,7 +10459,7 @@ "http" ], "support": { - "source": "https://github.com/symfony/http-client/tree/v6.4.10" + "source": "https://github.com/symfony/http-client/tree/v6.4.11" }, "funding": [ { @@ -10474,7 +10475,7 @@ "type": "tidelift" } ], - "time": "2024-07-15T09:26:24+00:00" + "time": "2024-08-26T06:30:21+00:00" }, { "name": "symfony/http-client-contracts", @@ -10633,16 +10634,16 @@ }, { "name": "symfony/http-kernel", - "version": "v6.4.10", + "version": "v6.4.11", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "147e0daf618d7575b5007055340d09aece5cf068" + "reference": "1ba6b89d781cb47448155cc70dd2e0f1b0584c79" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/147e0daf618d7575b5007055340d09aece5cf068", - "reference": "147e0daf618d7575b5007055340d09aece5cf068", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/1ba6b89d781cb47448155cc70dd2e0f1b0584c79", + "reference": "1ba6b89d781cb47448155cc70dd2e0f1b0584c79", "shasum": "" }, "require": { @@ -10727,7 +10728,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v6.4.10" + "source": "https://github.com/symfony/http-kernel/tree/v6.4.11" }, "funding": [ { @@ -10743,7 +10744,7 @@ "type": "tidelift" } ], - "time": "2024-07-26T14:52:04+00:00" + "time": "2024-08-30T16:57:20+00:00" }, { "name": "symfony/intl", @@ -10910,16 +10911,16 @@ }, { "name": "symfony/mime", - "version": "v6.4.9", + "version": "v6.4.11", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "7d048964877324debdcb4e0549becfa064a20d43" + "reference": "dba5d5f6073baf7a3576b580cc4a208b4ca00553" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/7d048964877324debdcb4e0549becfa064a20d43", - "reference": "7d048964877324debdcb4e0549becfa064a20d43", + "url": "https://api.github.com/repos/symfony/mime/zipball/dba5d5f6073baf7a3576b580cc4a208b4ca00553", + "reference": "dba5d5f6073baf7a3576b580cc4a208b4ca00553", "shasum": "" }, "require": { @@ -10975,7 +10976,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v6.4.9" + "source": "https://github.com/symfony/mime/tree/v6.4.11" }, "funding": [ { @@ -10991,7 +10992,7 @@ "type": "tidelift" } ], - "time": "2024-06-28T09:49:33+00:00" + "time": "2024-08-13T12:15:02+00:00" }, { "name": "symfony/monolog-bridge", @@ -12301,16 +12302,16 @@ }, { "name": "symfony/property-access", - "version": "v6.4.8", + "version": "v6.4.11", "source": { "type": "git", "url": "https://github.com/symfony/property-access.git", - "reference": "e4d9b00983612f9c0013ca37c61affdba2dd975a" + "reference": "866f6cd84f2094cbc6f66ce9752faf749916e2a9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-access/zipball/e4d9b00983612f9c0013ca37c61affdba2dd975a", - "reference": "e4d9b00983612f9c0013ca37c61affdba2dd975a", + "url": "https://api.github.com/repos/symfony/property-access/zipball/866f6cd84f2094cbc6f66ce9752faf749916e2a9", + "reference": "866f6cd84f2094cbc6f66ce9752faf749916e2a9", "shasum": "" }, "require": { @@ -12358,7 +12359,7 @@ "reflection" ], "support": { - "source": "https://github.com/symfony/property-access/tree/v6.4.8" + "source": "https://github.com/symfony/property-access/tree/v6.4.11" }, "funding": [ { @@ -12374,7 +12375,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-08-30T16:10:11+00:00" }, { "name": "symfony/property-info", @@ -12528,16 +12529,16 @@ }, { "name": "symfony/psr-http-message-bridge", - "version": "v6.4.10", + "version": "v6.4.11", "source": { "type": "git", "url": "https://github.com/symfony/psr-http-message-bridge.git", - "reference": "89a24648d73e4eee30893b0da16abc454a65c53b" + "reference": "74835ba54eca99a38f374f7a6d932fa510124773" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/89a24648d73e4eee30893b0da16abc454a65c53b", - "reference": "89a24648d73e4eee30893b0da16abc454a65c53b", + "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/74835ba54eca99a38f374f7a6d932fa510124773", + "reference": "74835ba54eca99a38f374f7a6d932fa510124773", "shasum": "" }, "require": { @@ -12591,7 +12592,7 @@ "psr-7" ], "support": { - "source": "https://github.com/symfony/psr-http-message-bridge/tree/v6.4.10" + "source": "https://github.com/symfony/psr-http-message-bridge/tree/v6.4.11" }, "funding": [ { @@ -12607,7 +12608,7 @@ "type": "tidelift" } ], - "time": "2024-07-15T09:36:38+00:00" + "time": "2024-08-14T13:55:58+00:00" }, { "name": "symfony/rate-limiter", @@ -12682,16 +12683,16 @@ }, { "name": "symfony/routing", - "version": "v6.4.10", + "version": "v6.4.11", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "aad19fe10753ba842f0d653a8db819c4b3affa87" + "reference": "8ee0c24c1bf61c263a26f1b9b6d19e83b1121f2a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/aad19fe10753ba842f0d653a8db819c4b3affa87", - "reference": "aad19fe10753ba842f0d653a8db819c4b3affa87", + "url": "https://api.github.com/repos/symfony/routing/zipball/8ee0c24c1bf61c263a26f1b9b6d19e83b1121f2a", + "reference": "8ee0c24c1bf61c263a26f1b9b6d19e83b1121f2a", "shasum": "" }, "require": { @@ -12745,7 +12746,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v6.4.10" + "source": "https://github.com/symfony/routing/tree/v6.4.11" }, "funding": [ { @@ -12761,7 +12762,7 @@ "type": "tidelift" } ], - "time": "2024-07-15T09:26:24+00:00" + "time": "2024-08-29T08:15:38+00:00" }, { "name": "symfony/runtime", @@ -12844,16 +12845,16 @@ }, { "name": "symfony/security-bundle", - "version": "v6.4.10", + "version": "v6.4.11", "source": { "type": "git", "url": "https://github.com/symfony/security-bundle.git", - "reference": "50007f4f76632741b62fa9604c5f65807f268b72" + "reference": "620be16fceded671823ce6332d06f44bb327096d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-bundle/zipball/50007f4f76632741b62fa9604c5f65807f268b72", - "reference": "50007f4f76632741b62fa9604c5f65807f268b72", + "url": "https://api.github.com/repos/symfony/security-bundle/zipball/620be16fceded671823ce6332d06f44bb327096d", + "reference": "620be16fceded671823ce6332d06f44bb327096d", "shasum": "" }, "require": { @@ -12862,7 +12863,7 @@ "php": ">=8.1", "symfony/clock": "^6.3|^7.0", "symfony/config": "^6.1|^7.0", - "symfony/dependency-injection": "^6.2|^7.0", + "symfony/dependency-injection": "^6.4.11|^7.1.4", "symfony/deprecation-contracts": "^2.5|^3", "symfony/event-dispatcher": "^5.4|^6.0|^7.0", "symfony/http-foundation": "^6.2|^7.0", @@ -12936,7 +12937,7 @@ "description": "Provides a tight integration of the Security component into the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-bundle/tree/v6.4.10" + "source": "https://github.com/symfony/security-bundle/tree/v6.4.11" }, "funding": [ { @@ -12952,20 +12953,20 @@ "type": "tidelift" } ], - "time": "2024-07-17T10:49:44+00:00" + "time": "2024-08-20T11:22:16+00:00" }, { "name": "symfony/security-core", - "version": "v6.4.10", + "version": "v6.4.11", "source": { "type": "git", "url": "https://github.com/symfony/security-core.git", - "reference": "432dec55da108c471adcf58c351af01372a52164" + "reference": "a8e106dc62e2b778093b29800187edbe62bbaa4e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-core/zipball/432dec55da108c471adcf58c351af01372a52164", - "reference": "432dec55da108c471adcf58c351af01372a52164", + "url": "https://api.github.com/repos/symfony/security-core/zipball/a8e106dc62e2b778093b29800187edbe62bbaa4e", + "reference": "a8e106dc62e2b778093b29800187edbe62bbaa4e", "shasum": "" }, "require": { @@ -13022,7 +13023,7 @@ "description": "Symfony Security Component - Core Library", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-core/tree/v6.4.10" + "source": "https://github.com/symfony/security-core/tree/v6.4.11" }, "funding": [ { @@ -13038,7 +13039,7 @@ "type": "tidelift" } ], - "time": "2024-07-26T12:30:32+00:00" + "time": "2024-08-29T08:15:38+00:00" }, { "name": "symfony/security-csrf", @@ -13110,16 +13111,16 @@ }, { "name": "symfony/security-http", - "version": "v6.4.9", + "version": "v6.4.11", "source": { "type": "git", "url": "https://github.com/symfony/security-http.git", - "reference": "8e70f39626ada36c5492c3aff9369c85d2840948" + "reference": "f502530fd13b2d6dac62446e10ad86c95d63e044" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-http/zipball/8e70f39626ada36c5492c3aff9369c85d2840948", - "reference": "8e70f39626ada36c5492c3aff9369c85d2840948", + "url": "https://api.github.com/repos/symfony/security-http/zipball/f502530fd13b2d6dac62446e10ad86c95d63e044", + "reference": "f502530fd13b2d6dac62446e10ad86c95d63e044", "shasum": "" }, "require": { @@ -13178,7 +13179,7 @@ "description": "Symfony Security Component - HTTP Integration", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-http/tree/v6.4.9" + "source": "https://github.com/symfony/security-http/tree/v6.4.11" }, "funding": [ { @@ -13194,20 +13195,20 @@ "type": "tidelift" } ], - "time": "2024-06-21T16:04:15+00:00" + "time": "2024-08-15T22:52:23+00:00" }, { "name": "symfony/serializer", - "version": "v6.4.10", + "version": "v6.4.11", "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "9a67fcf320561e96f94d62bbe0e169ac534a5718" + "reference": "a75d03d7720417f8a654e73e8f02acdea8779cd0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/9a67fcf320561e96f94d62bbe0e169ac534a5718", - "reference": "9a67fcf320561e96f94d62bbe0e169ac534a5718", + "url": "https://api.github.com/repos/symfony/serializer/zipball/a75d03d7720417f8a654e73e8f02acdea8779cd0", + "reference": "a75d03d7720417f8a654e73e8f02acdea8779cd0", "shasum": "" }, "require": { @@ -13276,7 +13277,7 @@ "description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/serializer/tree/v6.4.10" + "source": "https://github.com/symfony/serializer/tree/v6.4.11" }, "funding": [ { @@ -13292,7 +13293,7 @@ "type": "tidelift" } ], - "time": "2024-07-26T13:13:26+00:00" + "time": "2024-08-17T07:51:47+00:00" }, { "name": "symfony/service-contracts", @@ -13510,16 +13511,16 @@ }, { "name": "symfony/string", - "version": "v6.4.10", + "version": "v6.4.11", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "ccf9b30251719567bfd46494138327522b9a9446" + "reference": "5bc3eb632cf9c8dbfd6529d89be9950d1518883b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/ccf9b30251719567bfd46494138327522b9a9446", - "reference": "ccf9b30251719567bfd46494138327522b9a9446", + "url": "https://api.github.com/repos/symfony/string/zipball/5bc3eb632cf9c8dbfd6529d89be9950d1518883b", + "reference": "5bc3eb632cf9c8dbfd6529d89be9950d1518883b", "shasum": "" }, "require": { @@ -13576,7 +13577,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.4.10" + "source": "https://github.com/symfony/string/tree/v6.4.11" }, "funding": [ { @@ -13592,7 +13593,7 @@ "type": "tidelift" } ], - "time": "2024-07-22T10:21:14+00:00" + "time": "2024-08-12T09:55:28+00:00" }, { "name": "symfony/translation", @@ -13769,16 +13770,16 @@ }, { "name": "symfony/twig-bridge", - "version": "v6.4.9", + "version": "v6.4.11", "source": { "type": "git", "url": "https://github.com/symfony/twig-bridge.git", - "reference": "9bcb26445b9d4ef1087c389234bf33fb00e10ea6" + "reference": "2cf03a4012631b74d68f9e6c3e03798ac592cbe5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/9bcb26445b9d4ef1087c389234bf33fb00e10ea6", - "reference": "9bcb26445b9d4ef1087c389234bf33fb00e10ea6", + "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/2cf03a4012631b74d68f9e6c3e03798ac592cbe5", + "reference": "2cf03a4012631b74d68f9e6c3e03798ac592cbe5", "shasum": "" }, "require": { @@ -13858,7 +13859,7 @@ "description": "Provides integration for Twig with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/twig-bridge/tree/v6.4.9" + "source": "https://github.com/symfony/twig-bridge/tree/v6.4.11" }, "funding": [ { @@ -13874,7 +13875,7 @@ "type": "tidelift" } ], - "time": "2024-06-21T16:04:15+00:00" + "time": "2024-08-29T08:15:38+00:00" }, { "name": "symfony/twig-bundle", @@ -13962,16 +13963,16 @@ }, { "name": "symfony/uid", - "version": "v6.4.8", + "version": "v6.4.11", "source": { "type": "git", "url": "https://github.com/symfony/uid.git", - "reference": "35904eca37a84bb764c560cbfcac9f0ac2bcdbdf" + "reference": "6a0394ad707de386547223948fac1e0f2805bc0b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/uid/zipball/35904eca37a84bb764c560cbfcac9f0ac2bcdbdf", - "reference": "35904eca37a84bb764c560cbfcac9f0ac2bcdbdf", + "url": "https://api.github.com/repos/symfony/uid/zipball/6a0394ad707de386547223948fac1e0f2805bc0b", + "reference": "6a0394ad707de386547223948fac1e0f2805bc0b", "shasum": "" }, "require": { @@ -14016,7 +14017,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/uid/tree/v6.4.8" + "source": "https://github.com/symfony/uid/tree/v6.4.11" }, "funding": [ { @@ -14032,7 +14033,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-08-12T09:55:28+00:00" }, { "name": "symfony/ux-translator", @@ -14209,16 +14210,16 @@ }, { "name": "symfony/validator", - "version": "v6.4.10", + "version": "v6.4.11", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "bcf939a9d1acd7d2912e9474c0c3d7840a03cbcd" + "reference": "4ff41cf10af1de99ad92895411b55c9f309bc2d8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/bcf939a9d1acd7d2912e9474c0c3d7840a03cbcd", - "reference": "bcf939a9d1acd7d2912e9474c0c3d7840a03cbcd", + "url": "https://api.github.com/repos/symfony/validator/zipball/4ff41cf10af1de99ad92895411b55c9f309bc2d8", + "reference": "4ff41cf10af1de99ad92895411b55c9f309bc2d8", "shasum": "" }, "require": { @@ -14286,7 +14287,7 @@ "description": "Provides tools to validate values", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/validator/tree/v6.4.10" + "source": "https://github.com/symfony/validator/tree/v6.4.11" }, "funding": [ { @@ -14302,20 +14303,20 @@ "type": "tidelift" } ], - "time": "2024-07-26T12:30:32+00:00" + "time": "2024-08-30T15:57:55+00:00" }, { "name": "symfony/var-dumper", - "version": "v6.4.10", + "version": "v6.4.11", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "a71cc3374f5fb9759da1961d28c452373b343dd4" + "reference": "ee14c8254a480913268b1e3b1cba8045ed122694" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/a71cc3374f5fb9759da1961d28c452373b343dd4", - "reference": "a71cc3374f5fb9759da1961d28c452373b343dd4", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/ee14c8254a480913268b1e3b1cba8045ed122694", + "reference": "ee14c8254a480913268b1e3b1cba8045ed122694", "shasum": "" }, "require": { @@ -14371,7 +14372,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.4.10" + "source": "https://github.com/symfony/var-dumper/tree/v6.4.11" }, "funding": [ { @@ -14387,7 +14388,7 @@ "type": "tidelift" } ], - "time": "2024-07-26T12:30:32+00:00" + "time": "2024-08-30T16:03:21+00:00" }, { "name": "symfony/var-exporter", @@ -14622,16 +14623,16 @@ }, { "name": "symfony/yaml", - "version": "v6.4.8", + "version": "v6.4.11", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "52903de178d542850f6f341ba92995d3d63e60c9" + "reference": "be37e7f13195e05ab84ca5269365591edd240335" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/52903de178d542850f6f341ba92995d3d63e60c9", - "reference": "52903de178d542850f6f341ba92995d3d63e60c9", + "url": "https://api.github.com/repos/symfony/yaml/zipball/be37e7f13195e05ab84ca5269365591edd240335", + "reference": "be37e7f13195e05ab84ca5269365591edd240335", "shasum": "" }, "require": { @@ -14674,7 +14675,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v6.4.8" + "source": "https://github.com/symfony/yaml/tree/v6.4.11" }, "funding": [ { @@ -14690,20 +14691,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-08-12T09:55:28+00:00" }, { "name": "tecnickcom/tc-lib-barcode", - "version": "2.2.3", + "version": "2.3.1", "source": { "type": "git", "url": "https://github.com/tecnickcom/tc-lib-barcode.git", - "reference": "1ec056eb68daf8aab072d9d7908712d7144814fa" + "reference": "e1d394525ce0e0db5a7b01d01a4d7c238a7b8bb4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tecnickcom/tc-lib-barcode/zipball/1ec056eb68daf8aab072d9d7908712d7144814fa", - "reference": "1ec056eb68daf8aab072d9d7908712d7144814fa", + "url": "https://api.github.com/repos/tecnickcom/tc-lib-barcode/zipball/e1d394525ce0e0db5a7b01d01a4d7c238a7b8bb4", + "reference": "e1d394525ce0e0db5a7b01d01a4d7c238a7b8bb4", "shasum": "" }, "require": { @@ -14782,7 +14783,7 @@ ], "support": { "issues": "https://github.com/tecnickcom/tc-lib-barcode/issues", - "source": "https://github.com/tecnickcom/tc-lib-barcode/tree/2.2.3" + "source": "https://github.com/tecnickcom/tc-lib-barcode/tree/2.3.1" }, "funding": [ { @@ -14790,20 +14791,20 @@ "type": "custom" } ], - "time": "2024-08-18T14:47:12+00:00" + "time": "2024-09-06T12:59:17+00:00" }, { "name": "tecnickcom/tc-lib-color", - "version": "2.2.2", + "version": "2.2.3", "source": { "type": "git", "url": "https://github.com/tecnickcom/tc-lib-color.git", - "reference": "14fc157ae64767cc6761e9126f7ec7e5b27bf1cb" + "reference": "ae2fd400d11b3665e6fe90158d2f0aa2bd7d85e3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tecnickcom/tc-lib-color/zipball/14fc157ae64767cc6761e9126f7ec7e5b27bf1cb", - "reference": "14fc157ae64767cc6761e9126f7ec7e5b27bf1cb", + "url": "https://api.github.com/repos/tecnickcom/tc-lib-color/zipball/ae2fd400d11b3665e6fe90158d2f0aa2bd7d85e3", + "reference": "ae2fd400d11b3665e6fe90158d2f0aa2bd7d85e3", "shasum": "" }, "require": { @@ -14851,7 +14852,7 @@ ], "support": { "issues": "https://github.com/tecnickcom/tc-lib-color/issues", - "source": "https://github.com/tecnickcom/tc-lib-color/tree/2.2.2" + "source": "https://github.com/tecnickcom/tc-lib-color/tree/2.2.3" }, "funding": [ { @@ -14859,7 +14860,7 @@ "type": "custom" } ], - "time": "2024-08-18T14:45:34+00:00" + "time": "2024-09-06T12:57:44+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", @@ -14916,23 +14917,23 @@ }, { "name": "twig/cssinliner-extra", - "version": "v3.11.0", + "version": "v3.13.0", "source": { "type": "git", "url": "https://github.com/twigphp/cssinliner-extra.git", - "reference": "7312a0275812b86918febb4b7a67d0cb084c5d02" + "reference": "cef36c444b1cce4c0978d7aebd20427671a918f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/cssinliner-extra/zipball/7312a0275812b86918febb4b7a67d0cb084c5d02", - "reference": "7312a0275812b86918febb4b7a67d0cb084c5d02", + "url": "https://api.github.com/repos/twigphp/cssinliner-extra/zipball/cef36c444b1cce4c0978d7aebd20427671a918f4", + "reference": "cef36c444b1cce4c0978d7aebd20427671a918f4", "shasum": "" }, "require": { - "php": ">=7.2.5", + "php": ">=8.0.2", "symfony/deprecation-contracts": "^2.5|^3", "tijsverkoyen/css-to-inline-styles": "^2.0", - "twig/twig": "^3.0" + "twig/twig": "^3.13|^4.0" }, "require-dev": { "symfony/phpunit-bridge": "^6.4|^7.0" @@ -14969,7 +14970,7 @@ "twig" ], "support": { - "source": "https://github.com/twigphp/cssinliner-extra/tree/v3.11.0" + "source": "https://github.com/twigphp/cssinliner-extra/tree/v3.13.0" }, "funding": [ { @@ -14981,27 +14982,27 @@ "type": "tidelift" } ], - "time": "2024-06-21T06:22:31+00:00" + "time": "2024-09-03T13:08:40+00:00" }, { "name": "twig/extra-bundle", - "version": "v3.11.0", + "version": "v3.13.0", "source": { "type": "git", "url": "https://github.com/twigphp/twig-extra-bundle.git", - "reference": "bf8a304eac15838d7724fdf64c345bdefbb75f03" + "reference": "21a9a7aa9f79d4493bb6fed4eb2794339f9551f5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/twig-extra-bundle/zipball/bf8a304eac15838d7724fdf64c345bdefbb75f03", - "reference": "bf8a304eac15838d7724fdf64c345bdefbb75f03", + "url": "https://api.github.com/repos/twigphp/twig-extra-bundle/zipball/21a9a7aa9f79d4493bb6fed4eb2794339f9551f5", + "reference": "21a9a7aa9f79d4493bb6fed4eb2794339f9551f5", "shasum": "" }, "require": { - "php": ">=7.2.5", + "php": ">=8.0.2", "symfony/framework-bundle": "^5.4|^6.4|^7.0", "symfony/twig-bundle": "^5.4|^6.4|^7.0", - "twig/twig": "^3.0" + "twig/twig": "^3.0|^4.0" }, "require-dev": { "league/commonmark": "^1.0|^2.0", @@ -15043,7 +15044,7 @@ "twig" ], "support": { - "source": "https://github.com/twigphp/twig-extra-bundle/tree/v3.11.0" + "source": "https://github.com/twigphp/twig-extra-bundle/tree/v3.13.0" }, "funding": [ { @@ -15055,27 +15056,27 @@ "type": "tidelift" } ], - "time": "2024-06-21T06:25:01+00:00" + "time": "2024-09-01T20:39:12+00:00" }, { "name": "twig/html-extra", - "version": "v3.11.0", + "version": "v3.13.0", "source": { "type": "git", "url": "https://github.com/twigphp/html-extra.git", - "reference": "e5de60eb0afb24a60f371de428864b5df9414aa6" + "reference": "8229e750091171c1f11801a525927811c7ac5a7e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/html-extra/zipball/e5de60eb0afb24a60f371de428864b5df9414aa6", - "reference": "e5de60eb0afb24a60f371de428864b5df9414aa6", + "url": "https://api.github.com/repos/twigphp/html-extra/zipball/8229e750091171c1f11801a525927811c7ac5a7e", + "reference": "8229e750091171c1f11801a525927811c7ac5a7e", "shasum": "" }, "require": { - "php": ">=7.2.5", + "php": ">=8.0.2", "symfony/deprecation-contracts": "^2.5|^3", "symfony/mime": "^5.4|^6.4|^7.0", - "twig/twig": "^3.0" + "twig/twig": "^3.13|^4.0" }, "require-dev": { "symfony/phpunit-bridge": "^6.4|^7.0" @@ -15111,7 +15112,7 @@ "twig" ], "support": { - "source": "https://github.com/twigphp/html-extra/tree/v3.11.0" + "source": "https://github.com/twigphp/html-extra/tree/v3.13.0" }, "funding": [ { @@ -15123,27 +15124,27 @@ "type": "tidelift" } ], - "time": "2024-06-21T06:25:01+00:00" + "time": "2024-09-03T13:08:40+00:00" }, { "name": "twig/inky-extra", - "version": "v3.11.0", + "version": "v3.13.0", "source": { "type": "git", "url": "https://github.com/twigphp/inky-extra.git", - "reference": "f0e6fce7eeab518b5b18b476bc9a5f19a3359354" + "reference": "60c92c2a435ccd95d7a852229f01098aaf7fbced" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/inky-extra/zipball/f0e6fce7eeab518b5b18b476bc9a5f19a3359354", - "reference": "f0e6fce7eeab518b5b18b476bc9a5f19a3359354", + "url": "https://api.github.com/repos/twigphp/inky-extra/zipball/60c92c2a435ccd95d7a852229f01098aaf7fbced", + "reference": "60c92c2a435ccd95d7a852229f01098aaf7fbced", "shasum": "" }, "require": { "lorenzo/pinky": "^1.0.5", - "php": ">=7.2.5", + "php": ">=8.0.2", "symfony/deprecation-contracts": "^2.5|^3", - "twig/twig": "^3.0" + "twig/twig": "^3.13|^4.0" }, "require-dev": { "symfony/phpunit-bridge": "^6.4|^7.0" @@ -15181,7 +15182,7 @@ "twig" ], "support": { - "source": "https://github.com/twigphp/inky-extra/tree/v3.11.0" + "source": "https://github.com/twigphp/inky-extra/tree/v3.13.0" }, "funding": [ { @@ -15193,26 +15194,26 @@ "type": "tidelift" } ], - "time": "2024-06-21T06:22:31+00:00" + "time": "2024-09-03T13:08:40+00:00" }, { "name": "twig/intl-extra", - "version": "v3.11.0", + "version": "v3.13.0", "source": { "type": "git", "url": "https://github.com/twigphp/intl-extra.git", - "reference": "e9cadd61342e71e45b2f4f0558122433fd7e4566" + "reference": "1b8d78c5db08bdc61015fd55009d2e84b3aa7e38" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/intl-extra/zipball/e9cadd61342e71e45b2f4f0558122433fd7e4566", - "reference": "e9cadd61342e71e45b2f4f0558122433fd7e4566", + "url": "https://api.github.com/repos/twigphp/intl-extra/zipball/1b8d78c5db08bdc61015fd55009d2e84b3aa7e38", + "reference": "1b8d78c5db08bdc61015fd55009d2e84b3aa7e38", "shasum": "" }, "require": { - "php": ">=7.2.5", + "php": ">=8.0.2", "symfony/intl": "^5.4|^6.4|^7.0", - "twig/twig": "^3.10" + "twig/twig": "^3.13|^4.0" }, "require-dev": { "symfony/phpunit-bridge": "^6.4|^7.0" @@ -15245,7 +15246,7 @@ "twig" ], "support": { - "source": "https://github.com/twigphp/intl-extra/tree/v3.11.0" + "source": "https://github.com/twigphp/intl-extra/tree/v3.13.0" }, "funding": [ { @@ -15257,26 +15258,26 @@ "type": "tidelift" } ], - "time": "2024-06-21T06:25:01+00:00" + "time": "2024-09-03T13:08:40+00:00" }, { "name": "twig/markdown-extra", - "version": "v3.11.0", + "version": "v3.13.0", "source": { "type": "git", "url": "https://github.com/twigphp/markdown-extra.git", - "reference": "504557d60d80478260ebd2221a2b3332a480865d" + "reference": "25f23c02936f8c7157a8413154c06a462c9c20d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/markdown-extra/zipball/504557d60d80478260ebd2221a2b3332a480865d", - "reference": "504557d60d80478260ebd2221a2b3332a480865d", + "url": "https://api.github.com/repos/twigphp/markdown-extra/zipball/25f23c02936f8c7157a8413154c06a462c9c20d3", + "reference": "25f23c02936f8c7157a8413154c06a462c9c20d3", "shasum": "" }, "require": { - "php": ">=7.2.5", + "php": ">=8.0.2", "symfony/deprecation-contracts": "^2.5|^3", - "twig/twig": "^3.0" + "twig/twig": "^3.13|^4.0" }, "require-dev": { "erusev/parsedown": "^1.7", @@ -15317,7 +15318,7 @@ "twig" ], "support": { - "source": "https://github.com/twigphp/markdown-extra/tree/v3.11.0" + "source": "https://github.com/twigphp/markdown-extra/tree/v3.13.0" }, "funding": [ { @@ -15329,27 +15330,27 @@ "type": "tidelift" } ], - "time": "2024-08-07T17:34:09+00:00" + "time": "2024-09-03T20:17:35+00:00" }, { "name": "twig/string-extra", - "version": "v3.11.0", + "version": "v3.13.0", "source": { "type": "git", "url": "https://github.com/twigphp/string-extra.git", - "reference": "d25c61baf38705a72ebb5a92d2e9ecb7c473b8ac" + "reference": "148e869d87cf4bea9d97896ab49e048e4add3310" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/string-extra/zipball/d25c61baf38705a72ebb5a92d2e9ecb7c473b8ac", - "reference": "d25c61baf38705a72ebb5a92d2e9ecb7c473b8ac", + "url": "https://api.github.com/repos/twigphp/string-extra/zipball/148e869d87cf4bea9d97896ab49e048e4add3310", + "reference": "148e869d87cf4bea9d97896ab49e048e4add3310", "shasum": "" }, "require": { - "php": ">=7.2.5", + "php": ">=8.0.2", "symfony/string": "^5.4|^6.4|^7.0", "symfony/translation-contracts": "^1.1|^2|^3", - "twig/twig": "^3.0" + "twig/twig": "^3.13|^4.0" }, "require-dev": { "symfony/phpunit-bridge": "^6.4|^7.0" @@ -15384,7 +15385,7 @@ "unicode" ], "support": { - "source": "https://github.com/twigphp/string-extra/tree/v3.11.0" + "source": "https://github.com/twigphp/string-extra/tree/v3.13.0" }, "funding": [ { @@ -15396,28 +15397,27 @@ "type": "tidelift" } ], - "time": "2024-08-07T17:34:09+00:00" + "time": "2024-09-03T13:08:40+00:00" }, { "name": "twig/twig", - "version": "v3.11.0", + "version": "v3.13.0", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "e80fb8ebba85c7341a97a9ebf825d7fd4b77708d" + "reference": "afc0eb63dc66c248c5a94504dc2b255bc9b86575" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/e80fb8ebba85c7341a97a9ebf825d7fd4b77708d", - "reference": "e80fb8ebba85c7341a97a9ebf825d7fd4b77708d", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/afc0eb63dc66c248c5a94504dc2b255bc9b86575", + "reference": "afc0eb63dc66c248c5a94504dc2b255bc9b86575", "shasum": "" }, "require": { - "php": ">=7.2.5", + "php": ">=8.0.2", "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-ctype": "^1.8", "symfony/polyfill-mbstring": "^1.3", - "symfony/polyfill-php80": "^1.22", "symfony/polyfill-php81": "^1.29" }, "require-dev": { @@ -15464,7 +15464,7 @@ ], "support": { "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v3.11.0" + "source": "https://github.com/twigphp/Twig/tree/v3.13.0" }, "funding": [ { @@ -15476,7 +15476,7 @@ "type": "tidelift" } ], - "time": "2024-08-08T16:15:16+00:00" + "time": "2024-09-07T08:01:12+00:00" }, { "name": "ua-parser/uap-php", @@ -16411,22 +16411,22 @@ }, { "name": "phpstan/extension-installer", - "version": "1.4.1", + "version": "1.4.3", "source": { "type": "git", "url": "https://github.com/phpstan/extension-installer.git", - "reference": "f6b87faf9fc7978eab2f7919a8760bc9f58f9203" + "reference": "85e90b3942d06b2326fba0403ec24fe912372936" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/extension-installer/zipball/f6b87faf9fc7978eab2f7919a8760bc9f58f9203", - "reference": "f6b87faf9fc7978eab2f7919a8760bc9f58f9203", + "url": "https://api.github.com/repos/phpstan/extension-installer/zipball/85e90b3942d06b2326fba0403ec24fe912372936", + "reference": "85e90b3942d06b2326fba0403ec24fe912372936", "shasum": "" }, "require": { "composer-plugin-api": "^2.0", "php": "^7.2 || ^8.0", - "phpstan/phpstan": "^1.9.0" + "phpstan/phpstan": "^1.9.0 || ^2.0" }, "require-dev": { "composer/composer": "^2.0", @@ -16447,24 +16447,28 @@ "MIT" ], "description": "Composer plugin for automatic installation of PHPStan extensions", + "keywords": [ + "dev", + "static analysis" + ], "support": { "issues": "https://github.com/phpstan/extension-installer/issues", - "source": "https://github.com/phpstan/extension-installer/tree/1.4.1" + "source": "https://github.com/phpstan/extension-installer/tree/1.4.3" }, - "time": "2024-06-10T08:20:49+00:00" + "time": "2024-09-04T20:21:43+00:00" }, { "name": "phpstan/phpstan", - "version": "1.11.11", + "version": "1.12.2", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "707c2aed5d8d0075666e673a5e71440c1d01a5a3" + "reference": "0ca1c7bb55fca8fe6448f16fff0f311ccec960a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/707c2aed5d8d0075666e673a5e71440c1d01a5a3", - "reference": "707c2aed5d8d0075666e673a5e71440c1d01a5a3", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/0ca1c7bb55fca8fe6448f16fff0f311ccec960a1", + "reference": "0ca1c7bb55fca8fe6448f16fff0f311ccec960a1", "shasum": "" }, "require": { @@ -16509,20 +16513,20 @@ "type": "github" } ], - "time": "2024-08-19T14:37:29+00:00" + "time": "2024-09-05T16:09:28+00:00" }, { "name": "phpstan/phpstan-doctrine", - "version": "1.5.2", + "version": "1.5.3", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan-doctrine.git", - "reference": "4d17bed8a33aa8220c1f2a21a6b14fcdb0e5b02c" + "reference": "38db3bad8f1567d7bf64806738d724261f8a2b5c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-doctrine/zipball/4d17bed8a33aa8220c1f2a21a6b14fcdb0e5b02c", - "reference": "4d17bed8a33aa8220c1f2a21a6b14fcdb0e5b02c", + "url": "https://api.github.com/repos/phpstan/phpstan-doctrine/zipball/38db3bad8f1567d7bf64806738d724261f8a2b5c", + "reference": "38db3bad8f1567d7bf64806738d724261f8a2b5c", "shasum": "" }, "require": { @@ -16579,9 +16583,9 @@ "description": "Doctrine extensions for PHPStan", "support": { "issues": "https://github.com/phpstan/phpstan-doctrine/issues", - "source": "https://github.com/phpstan/phpstan-doctrine/tree/1.5.2" + "source": "https://github.com/phpstan/phpstan-doctrine/tree/1.5.3" }, - "time": "2024-08-23T11:07:15+00:00" + "time": "2024-09-01T13:17:34+00:00" }, { "name": "phpstan/phpstan-strict-rules", @@ -16634,22 +16638,22 @@ }, { "name": "phpstan/phpstan-symfony", - "version": "1.4.8", + "version": "1.4.9", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan-symfony.git", - "reference": "14eec8c011b856eee4d744a2a3f709db1e1858bd" + "reference": "51ab2438fb2695467cf96b58d2f8f28d4dd1e3e9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-symfony/zipball/14eec8c011b856eee4d744a2a3f709db1e1858bd", - "reference": "14eec8c011b856eee4d744a2a3f709db1e1858bd", + "url": "https://api.github.com/repos/phpstan/phpstan-symfony/zipball/51ab2438fb2695467cf96b58d2f8f28d4dd1e3e9", + "reference": "51ab2438fb2695467cf96b58d2f8f28d4dd1e3e9", "shasum": "" }, "require": { "ext-simplexml": "*", "php": "^7.2 || ^8.0", - "phpstan/phpstan": "^1.11.7" + "phpstan/phpstan": "^1.12" }, "conflict": { "symfony/framework-bundle": "<3.0" @@ -16700,9 +16704,9 @@ "description": "Symfony Framework extensions and rules for PHPStan", "support": { "issues": "https://github.com/phpstan/phpstan-symfony/issues", - "source": "https://github.com/phpstan/phpstan-symfony/tree/1.4.8" + "source": "https://github.com/phpstan/phpstan-symfony/tree/1.4.9" }, - "time": "2024-08-13T19:43:40+00:00" + "time": "2024-09-05T16:15:09+00:00" }, { "name": "phpunit/php-code-coverage", @@ -17128,21 +17132,21 @@ }, { "name": "rector/rector", - "version": "1.2.4", + "version": "1.2.5", "source": { "type": "git", "url": "https://github.com/rectorphp/rector.git", - "reference": "42a4aa23b48b4cfc8ebfeac2b570364e27744381" + "reference": "e98aa793ca3fcd17e893cfaf9103ac049775d339" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/rectorphp/rector/zipball/42a4aa23b48b4cfc8ebfeac2b570364e27744381", - "reference": "42a4aa23b48b4cfc8ebfeac2b570364e27744381", + "url": "https://api.github.com/repos/rectorphp/rector/zipball/e98aa793ca3fcd17e893cfaf9103ac049775d339", + "reference": "e98aa793ca3fcd17e893cfaf9103ac049775d339", "shasum": "" }, "require": { "php": "^7.2|^8.0", - "phpstan/phpstan": "^1.11.11" + "phpstan/phpstan": "^1.12.2" }, "conflict": { "rector/rector-doctrine": "*", @@ -17175,7 +17179,7 @@ ], "support": { "issues": "https://github.com/rectorphp/rector/issues", - "source": "https://github.com/rectorphp/rector/tree/1.2.4" + "source": "https://github.com/rectorphp/rector/tree/1.2.5" }, "funding": [ { @@ -17183,7 +17187,7 @@ "type": "github" } ], - "time": "2024-08-23T09:03:01+00:00" + "time": "2024-09-08T17:43:24+00:00" }, { "name": "roave/security-advisories", @@ -17191,12 +17195,12 @@ "source": { "type": "git", "url": "https://github.com/Roave/SecurityAdvisories.git", - "reference": "f8de2a81061775002d96aea80b12f2ab3c5eeb8d" + "reference": "f6547941a3b3a96c1b20b77c6ebf126b195f814e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/f8de2a81061775002d96aea80b12f2ab3c5eeb8d", - "reference": "f8de2a81061775002d96aea80b12f2ab3c5eeb8d", + "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/f6547941a3b3a96c1b20b77c6ebf126b195f814e", + "reference": "f6547941a3b3a96c1b20b77c6ebf126b195f814e", "shasum": "" }, "conflict": { @@ -17332,8 +17336,9 @@ "dolibarr/dolibarr": "<19.0.2", "dompdf/dompdf": "<2.0.4", "doublethreedigital/guest-entries": "<3.1.2", - "drupal/core": ">=6,<6.38|>=7,<7.96|>=8,<10.1.8|>=10.2,<10.2.2", - "drupal/drupal": ">=5,<5.11|>=6,<6.38|>=7,<7.80|>=8,<8.9.16|>=9,<9.1.12|>=9.2,<9.2.4", + "drupal/core": ">=6,<6.38|>=7,<7.96|>=8,<10.1.8|>=10.2,<10.2.2|==11.9999999.9999999.9999999-dev", + "drupal/core-recommended": "==11.9999999.9999999.9999999-dev", + "drupal/drupal": ">=5,<5.11|>=6,<6.38|>=7,<7.80|>=8,<8.9.16|>=9,<9.1.12|>=9.2,<9.2.4|==11.9999999.9999999.9999999-dev", "duncanmcclean/guest-entries": "<3.1.2", "dweeves/magmi": "<=0.7.24", "ec-cube/ec-cube": "<2.4.4|>=2.11,<=2.17.1|>=3,<=3.0.18.0-patch4|>=4,<=4.1.2", @@ -17415,7 +17420,7 @@ "genix/cms": "<=1.1.11", "getformwork/formwork": "<1.13.1|==2.0.0.0-beta1", "getgrav/grav": "<1.7.46", - "getkirby/cms": "<4.1.1", + "getkirby/cms": "<=3.6.6.5|>=3.7,<=3.7.5.4|>=3.8,<=3.8.4.3|>=3.9,<=3.9.8.1|>=3.10,<=3.10.1|>=4,<=4.3", "getkirby/kirby": "<=2.5.12", "getkirby/panel": "<2.5.14", "getkirby/starterkit": "<=3.7.0.2", @@ -17462,6 +17467,7 @@ "in2code/femanager": "<5.5.3|>=6,<6.3.4|>=7,<7.2.3", "in2code/ipandlanguageredirect": "<5.1.2", "in2code/lux": "<17.6.1|>=18,<24.0.2", + "in2code/powermail": "<7.5|>=8,<8.5|>=9,<10.9|>=11,<12.4", "innologi/typo3-appointments": "<2.0.6", "intelliants/subrion": "<4.2.2", "inter-mediator/inter-mediator": "==5.5", @@ -17644,7 +17650,7 @@ "phpmyfaq/phpmyfaq": "<3.2.5|==3.2.5", "phpoffice/common": "<0.2.9", "phpoffice/phpexcel": "<1.8", - "phpoffice/phpspreadsheet": "<1.16", + "phpoffice/phpspreadsheet": "<1.29.1|>=2,<2.2.1", "phpseclib/phpseclib": "<2.0.47|>=3,<3.0.36", "phpservermon/phpservermon": "<3.6", "phpsysinfo/phpsysinfo": "<3.4.3", @@ -17653,9 +17659,10 @@ "phpxmlrpc/extras": "<0.6.1", "phpxmlrpc/phpxmlrpc": "<4.9.2", "pi/pi": "<=2.5", - "pimcore/admin-ui-classic-bundle": "<=1.5.1", + "pimcore/admin-ui-classic-bundle": "<1.5.4", "pimcore/customer-management-framework-bundle": "<4.0.6", "pimcore/data-hub": "<1.2.4", + "pimcore/data-importer": "<1.8.9|>=1.9,<1.9.3", "pimcore/demo": "<10.3", "pimcore/ecommerce-framework-bundle": "<1.0.10", "pimcore/perspective-editor": "<1.5.1", @@ -18000,7 +18007,7 @@ "type": "tidelift" } ], - "time": "2024-08-23T19:04:38+00:00" + "time": "2024-09-04T15:05:11+00:00" }, { "name": "sebastian/cli-parser", @@ -19176,16 +19183,16 @@ }, { "name": "symfony/maker-bundle", - "version": "v1.60.0", + "version": "v1.61.0", "source": { "type": "git", "url": "https://github.com/symfony/maker-bundle.git", - "reference": "c305a02a22974670f359d4274c9431e1a191f559" + "reference": "a3b7f14d349f8f44ed752d4dde2263f77510cc18" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/maker-bundle/zipball/c305a02a22974670f359d4274c9431e1a191f559", - "reference": "c305a02a22974670f359d4274c9431e1a191f559", + "url": "https://api.github.com/repos/symfony/maker-bundle/zipball/a3b7f14d349f8f44ed752d4dde2263f77510cc18", + "reference": "a3b7f14d349f8f44ed752d4dde2263f77510cc18", "shasum": "" }, "require": { @@ -19248,7 +19255,7 @@ ], "support": { "issues": "https://github.com/symfony/maker-bundle/issues", - "source": "https://github.com/symfony/maker-bundle/tree/v1.60.0" + "source": "https://github.com/symfony/maker-bundle/tree/v1.61.0" }, "funding": [ { @@ -19264,20 +19271,20 @@ "type": "tidelift" } ], - "time": "2024-06-10T06:03:18+00:00" + "time": "2024-08-29T22:50:23+00:00" }, { "name": "symfony/phpunit-bridge", - "version": "v6.4.10", + "version": "v6.4.11", "source": { "type": "git", "url": "https://github.com/symfony/phpunit-bridge.git", - "reference": "ad510515b11ba5291fdd59b25d70227bfac2d7ab" + "reference": "168f412dcd6caf3813a9cc0f286cd68f6a76f070" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/ad510515b11ba5291fdd59b25d70227bfac2d7ab", - "reference": "ad510515b11ba5291fdd59b25d70227bfac2d7ab", + "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/168f412dcd6caf3813a9cc0f286cd68f6a76f070", + "reference": "168f412dcd6caf3813a9cc0f286cd68f6a76f070", "shasum": "" }, "require": { @@ -19330,7 +19337,7 @@ "description": "Provides utilities for PHPUnit, especially user deprecation notices management", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/phpunit-bridge/tree/v6.4.10" + "source": "https://github.com/symfony/phpunit-bridge/tree/v6.4.11" }, "funding": [ { @@ -19346,20 +19353,20 @@ "type": "tidelift" } ], - "time": "2024-07-26T12:30:32+00:00" + "time": "2024-08-13T14:27:37+00:00" }, { "name": "symfony/web-profiler-bundle", - "version": "v6.4.10", + "version": "v6.4.11", "source": { "type": "git", "url": "https://github.com/symfony/web-profiler-bundle.git", - "reference": "370c9f1e3567cd4670d44311838e37d16182c3a7" + "reference": "ef4b8b4f9f51260d18abec40ceacc4bc9c5555e3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/370c9f1e3567cd4670d44311838e37d16182c3a7", - "reference": "370c9f1e3567cd4670d44311838e37d16182c3a7", + "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/ef4b8b4f9f51260d18abec40ceacc4bc9c5555e3", + "reference": "ef4b8b4f9f51260d18abec40ceacc4bc9c5555e3", "shasum": "" }, "require": { @@ -19412,7 +19419,7 @@ "dev" ], "support": { - "source": "https://github.com/symfony/web-profiler-bundle/tree/v6.4.10" + "source": "https://github.com/symfony/web-profiler-bundle/tree/v6.4.11" }, "funding": [ { @@ -19428,7 +19435,7 @@ "type": "tidelift" } ], - "time": "2024-07-19T07:26:48+00:00" + "time": "2024-08-12T09:55:28+00:00" }, { "name": "symplify/easy-coding-standard", diff --git a/yarn.lock b/yarn.lock index d076587d..302d63cc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -97,12 +97,12 @@ json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.25.0", "@babel/generator@^7.25.4": - version "7.25.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.25.5.tgz#b31cf05b3fe8c32d206b6dad03bb0aacbde73450" - integrity sha512-abd43wyLfbWoxC6ahM8xTkqLpGB2iWBVyuKC9/srhFunCd1SDNrV1s72bBpK4hLj8KLzHBBcOblvLQZBNw9r3w== +"@babel/generator@^7.25.0", "@babel/generator@^7.25.6": + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.25.6.tgz#0df1ad8cb32fe4d2b01d8bf437f153d19342a87c" + integrity sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw== dependencies: - "@babel/types" "^7.25.4" + "@babel/types" "^7.25.6" "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" jsesc "^2.5.1" @@ -263,12 +263,12 @@ "@babel/types" "^7.25.0" "@babel/helpers@^7.25.0": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.25.0.tgz#e69beb7841cb93a6505531ede34f34e6a073650a" - integrity sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw== + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.25.6.tgz#57ee60141829ba2e102f30711ffe3afab357cc60" + integrity sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q== dependencies: "@babel/template" "^7.25.0" - "@babel/types" "^7.25.0" + "@babel/types" "^7.25.6" "@babel/highlight@^7.24.7": version "7.24.7" @@ -280,12 +280,12 @@ js-tokens "^4.0.0" picocolors "^1.0.0" -"@babel/parser@^7.18.9", "@babel/parser@^7.25.0", "@babel/parser@^7.25.4": - version "7.25.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.25.4.tgz#af4f2df7d02440286b7de57b1c21acfb2a6f257a" - integrity sha512-nq+eWrOgdtu3jG5Os4TQP3x3cLA8hR8TvJNjD8vnPa20WGycimcparWnLK4jJhElTK6SDyuJo1weMKO/5LpmLA== +"@babel/parser@^7.18.9", "@babel/parser@^7.25.0", "@babel/parser@^7.25.6": + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.25.6.tgz#85660c5ef388cbbf6e3d2a694ee97a38f18afe2f" + integrity sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q== dependencies: - "@babel/types" "^7.25.4" + "@babel/types" "^7.25.6" "@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.25.3": version "7.25.3" @@ -367,18 +367,18 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-import-assertions@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.7.tgz#2a0b406b5871a20a841240586b1300ce2088a778" - integrity sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg== + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.6.tgz#bb918905c58711b86f9710d74a3744b6c56573b5" + integrity sha512-aABl0jHw9bZ2karQ/uUD6XP4u0SG22SJrOHFoL6XB1R7dTovOP4TzTlsxOYC5yQ1pdscVK2JTUnF6QL3ARoAiQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.8" "@babel/plugin-syntax-import-attributes@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz#b4f9ea95a79e6912480c4b626739f86a076624ca" - integrity sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A== + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.6.tgz#6d4c78f042db0e82fd6436cd65fec5dc78ad2bde" + integrity sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.8" "@babel/plugin-syntax-import-meta@^7.10.4": version "7.10.4" @@ -955,9 +955,9 @@ integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== "@babel/runtime@^7.8.4": - version "7.25.4" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.25.4.tgz#6ef37d678428306e7d75f054d5b1bdb8cf8aa8ee" - integrity sha512-DSgLeL/FNcpXuzav5wfYvHCGvynXkJbn3Zvc3823AEe9nPwW9IK4UoCSS5yGymmQzN0pCPvivtgS6/8U2kkm1w== + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.25.6.tgz#9afc3289f7184d8d7f98b099884c26317b9264d2" + integrity sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ== dependencies: regenerator-runtime "^0.14.0" @@ -971,22 +971,22 @@ "@babel/types" "^7.25.0" "@babel/traverse@^7.18.9", "@babel/traverse@^7.24.7", "@babel/traverse@^7.24.8", "@babel/traverse@^7.25.0", "@babel/traverse@^7.25.1", "@babel/traverse@^7.25.2", "@babel/traverse@^7.25.3", "@babel/traverse@^7.25.4": - version "7.25.4" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.4.tgz#648678046990f2957407e3086e97044f13c3e18e" - integrity sha512-VJ4XsrD+nOvlXyLzmLzUs/0qjFS4sK30te5yEFlvbbUNEgKaVb2BHZUpAL+ttLPQAHNrsI3zZisbfha5Cvr8vg== + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.6.tgz#04fad980e444f182ecf1520504941940a90fea41" + integrity sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ== dependencies: "@babel/code-frame" "^7.24.7" - "@babel/generator" "^7.25.4" - "@babel/parser" "^7.25.4" + "@babel/generator" "^7.25.6" + "@babel/parser" "^7.25.6" "@babel/template" "^7.25.0" - "@babel/types" "^7.25.4" + "@babel/types" "^7.25.6" debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.24.7", "@babel/types@^7.24.8", "@babel/types@^7.25.0", "@babel/types@^7.25.2", "@babel/types@^7.25.4", "@babel/types@^7.4.4": - version "7.25.4" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.4.tgz#6bcb46c72fdf1012a209d016c07f769e10adcb5f" - integrity sha512-zQ1ijeeCXVEh+aNL0RlmkPkG8HUiDcU2pzQQFjtbntgAczRASFzj4H+6+bV+dy1ntKR14I/DypeuRG1uma98iQ== +"@babel/types@^7.24.7", "@babel/types@^7.24.8", "@babel/types@^7.25.0", "@babel/types@^7.25.2", "@babel/types@^7.25.6", "@babel/types@^7.4.4": + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.6.tgz#893942ddb858f32ae7a004ec9d3a76b3463ef8e6" + integrity sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw== dependencies: "@babel/helper-string-parser" "^7.24.8" "@babel/helper-validator-identifier" "^7.24.7" @@ -2030,9 +2030,9 @@ version "0.1.0" "@symfony/webpack-encore@^4.1.0": - version "4.6.1" - resolved "https://registry.yarnpkg.com/@symfony/webpack-encore/-/webpack-encore-4.6.1.tgz#a3ced0baf1b02feb6d1a564906aff0e479b07259" - integrity sha512-JbOjy0P6P9pcbgVE3nceFnCCneRO+tbcLUkQh9rpPj/sHtFl12foSjHz6uY93ZGZGAvTyqEslie+4MlD/rUtnQ== + version "4.7.0" + resolved "https://registry.yarnpkg.com/@symfony/webpack-encore/-/webpack-encore-4.7.0.tgz#d8f9ddc28ddb4175d65e3dd9de3a86e38e6fff52" + integrity sha512-vlvg1mYLVSaujTEUmkd/ucwK7LG7+89PHfOwfz/sJ53n2IFGtuAXyPyXL0igJ0tMcKvDuCShiWTX1nfnzT/Srw== dependencies: "@nuxt/friendly-errors-webpack-plugin" "^2.5.1" assets-webpack-plugin "7.0.*" @@ -2041,9 +2041,8 @@ clean-webpack-plugin "^4.0.0" css-loader "^6.7.0" css-minimizer-webpack-plugin "^5.0.0" - fast-levenshtein "^3.0.0" + fastest-levenshtein "^1.0.16" mini-css-extract-plugin "^2.6.0" - pkg-up "^3.1.0" pretty-error "^4.0.0" resolve-url-loader "^5.0.0" semver "^7.3.2" @@ -2182,9 +2181,9 @@ "@types/node" "*" "@types/node@*": - version "22.5.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.5.0.tgz#10f01fe9465166b4cab72e75f60d8b99d019f958" - integrity sha512-DkFrJOe+rfdHTqqMg0bSNlGlQ85hSoh2TPzZyhHsXnMtligRWpxUySiyw8FY14ITt24HVCiQPWxS3KO/QlGmWg== + version "22.5.4" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.5.4.tgz#83f7d1f65bc2ed223bdbf57c7884f1d5a4fa84e8" + integrity sha512-FDuKUJQm/ju9fT/SeX/6+gBzoPzlVCzfzmGkwKvRHQVxi4BntVbyIwf6a4Xn62mrvndLiml6z/UBXIdEVjQLXg== dependencies: undici-types "~6.19.2" @@ -2857,9 +2856,9 @@ caniuse-api@^3.0.0: lodash.uniq "^4.5.0" caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001646: - version "1.0.30001651" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz#52de59529e8b02b1aedcaaf5c05d9e23c0c28138" - integrity sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg== + version "1.0.30001658" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001658.tgz#b5f7be8ac748a049ab06aa1cf7a1408d83f074ec" + integrity sha512-N2YVqWbJELVdrnsW5p+apoQyYt51aBMSsBZki1XZEfeBCexcM/sf4xiAHcXQBkuOwJBXtWF7aW1sYX6tKebPHw== chalk@^2.4.2: version "2.4.2" @@ -3400,26 +3399,26 @@ data-urls@^2.0.0: whatwg-url "^8.0.0" datatables.net-bs5@^2, datatables.net-bs5@^2.0.0: - version "2.1.4" - resolved "https://registry.yarnpkg.com/datatables.net-bs5/-/datatables.net-bs5-2.1.4.tgz#b7268168e231d5eb1369f1690ee5cb18b260569c" - integrity sha512-lqOSgfc2LstI4nIVejRBMAnPyD+pxn5Pikj7z0d48ukEC1xSjkYZoCqGazLbfGEoCc4ZXNRGn6IBLJ+bRET/Gg== + version "2.1.6" + resolved "https://registry.yarnpkg.com/datatables.net-bs5/-/datatables.net-bs5-2.1.6.tgz#863c75472981d2cfad66f3cfd24e3c7da46986d6" + integrity sha512-GLp98kE2lJI6cBgLaCA1he+KhD3pcVJLK4QU8oD3Zb8uHAduX0BA2JPndFZqXJs4CS0L16fel8Xs3+0wGzFxSg== dependencies: - datatables.net "2.1.4" + datatables.net "2.1.6" jquery ">=1.7" datatables.net-buttons-bs5@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/datatables.net-buttons-bs5/-/datatables.net-buttons-bs5-3.1.1.tgz#b683818f7e9cb3a78d119662376ad641518a34dd" - integrity sha512-Urbju+KM9JTJhDIn0LqHip2AdR1x2J+VGpJLwEPiW9BSzCNbVtN5pb9NnbWyPUComNdA7FRfJzdYwHqo1iYRrQ== + version "3.1.2" + resolved "https://registry.yarnpkg.com/datatables.net-buttons-bs5/-/datatables.net-buttons-bs5-3.1.2.tgz#b62a585ae7b3b43d1c2544da3db9b2f305296d7f" + integrity sha512-OHKVzixN4FgM9aKB16asPuSAvbKT4mmiN3l1kdH9F9aRKmgaG/bJRczbThfQ7GinOOqsiztkh6n2E/sM3jtUng== dependencies: datatables.net-bs5 "^2" - datatables.net-buttons "3.1.1" + datatables.net-buttons "3.1.2" jquery ">=1.7" -datatables.net-buttons@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/datatables.net-buttons/-/datatables.net-buttons-3.1.1.tgz#1b0444751f18d7d59d11f45005ab4cfb181c7acc" - integrity sha512-B0A+tFNmGurx0h6J4sVBMWOTIvrdevzCeOL/+7R+cBjmEyJnGKqXdBrf+af/dkCGk3s1xZTNNkYjE8aUyrHdeQ== +datatables.net-buttons@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/datatables.net-buttons/-/datatables.net-buttons-3.1.2.tgz#99fe983f63febceba6bd46686000859e11e1ed37" + integrity sha512-D7xjmXR4P056JAD6skjKYcSvQxRslt69n5dgw8KX/6nmkSJirt3iFlhKo69GzHTFTOBN49WyPvStxpbUFgzc2A== dependencies: datatables.net "^2" jquery ">=1.7" @@ -3459,18 +3458,18 @@ datatables.net-fixedheader@4.0.1: jquery ">=1.7" datatables.net-responsive-bs5@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/datatables.net-responsive-bs5/-/datatables.net-responsive-bs5-3.0.2.tgz#e0911b09b5c5f2f3381f636b268df8e83119ee9a" - integrity sha512-qiAvyVRu4MvYMN5bc8I2OwOB4j09fLwzV2NtauRtULGRT28LOnvFXdA83/14NkMKDHKtuhx2YaXnF+mm9NaoxA== + version "3.0.3" + resolved "https://registry.yarnpkg.com/datatables.net-responsive-bs5/-/datatables.net-responsive-bs5-3.0.3.tgz#20ea9263458a9d88ab0a3ef758aa6b2315f0f97f" + integrity sha512-5kc28ifPI/3X6jDPnEWf6sNgdNtXYHNv79BvhD341VPzL1R3WZv3afgfV05DqSUwsBkhXoRbnfqaQdY0lD6DOA== dependencies: datatables.net-bs5 "^2" - datatables.net-responsive "3.0.2" + datatables.net-responsive "3.0.3" jquery ">=1.7" -datatables.net-responsive@3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/datatables.net-responsive/-/datatables.net-responsive-3.0.2.tgz#556edfb6c82dcceb37d65ea5cfecd1ef5e613605" - integrity sha512-OVsrTfcYvT8YtnOeCef51veKc+DABVPWOypvID+xFzCgyBDCIgcauTk+H5zItOscXw/CwSIbGN9zD6Sxa7lZPA== +datatables.net-responsive@3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/datatables.net-responsive/-/datatables.net-responsive-3.0.3.tgz#3adb8de628c01aaa84e1b3cc469286599fe6e8ed" + integrity sha512-/VU5U3P+l3GSdo92Mclt5YlrETNkfIZZU1MOk0aHNt0VqQOE0dORhx5Nwa8pYVsBuQBYzzyROZLru6UivEWv3Q== dependencies: datatables.net "^2" jquery ">=1.7" @@ -3492,10 +3491,10 @@ datatables.net-select@2.0.5: datatables.net "^2" jquery ">=1.7" -datatables.net@2.1.4, datatables.net@^2, datatables.net@^2.0.0: - version "2.1.4" - resolved "https://registry.yarnpkg.com/datatables.net/-/datatables.net-2.1.4.tgz#b25c021b0d92292521955cb9ed8ff74705a63006" - integrity sha512-Qxfsow9o8iYjU/OP9Ju9W46gDj+jD+ZN6qkRLArOvNF0mOKAO8ZvmTe37FhipXh8sH6tPh19oJoRSdZ3GnQUjA== +datatables.net@2.1.6, datatables.net@^2, datatables.net@^2.0.0: + version "2.1.6" + resolved "https://registry.yarnpkg.com/datatables.net/-/datatables.net-2.1.6.tgz#563a7fb2ae206a60a83ec0aba011ce7e75a65d1f" + integrity sha512-ziX0Wz91oDJ4o7gQNuGxQiVK91OUu/bRcXyxa6EZtDwLObmaGKpkCNS59QpzrGtIytQIVFtLfF1EDdYid5RVog== dependencies: jquery ">=1.7" @@ -3512,11 +3511,11 @@ debug@2.6.9: ms "2.0.0" debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: - version "4.3.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.6.tgz#2ab2c38fbaffebf8aa95fdfe6d88438c7a13c52b" - integrity sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg== + version "4.3.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" + integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== dependencies: - ms "2.1.2" + ms "^2.1.3" decimal.js@^10.2.1: version "10.4.3" @@ -3726,9 +3725,9 @@ ee-first@1.1.1: integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== electron-to-chromium@^1.5.4: - version "1.5.13" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.13.tgz#1abf0410c5344b2b829b7247e031f02810d442e6" - integrity sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q== + version "1.5.18" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.18.tgz#5fe62b9d21efbcfa26571066502d94f3ed97e495" + integrity sha512-1OfuVACu+zKlmjsNdcJuVQuVE61sZOLbNM4JAQ1Rvh6EOj0/EUKhMJjRH73InPlXSh8HIJk1cVZ8pyOV/FMdUQ== emoji-regex@^8.0.0: version "8.0.0" @@ -3843,9 +3842,9 @@ esbuild@^0.17.6: "@esbuild/win32-x64" "0.17.19" escalade@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" - integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== + version "3.2.0" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== escape-html@~1.0.3: version "1.0.3" @@ -4003,19 +4002,12 @@ fast-json-stable-stringify@^2.0.0: resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== -fast-levenshtein@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-3.0.0.tgz#37b899ae47e1090e40e3fd2318e4d5f0142ca912" - integrity sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ== - dependencies: - fastest-levenshtein "^1.0.7" - fast-uri@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.1.tgz#cddd2eecfc83a71c1be2cc2ef2061331be8a7134" integrity sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw== -fastest-levenshtein@1.0.16, fastest-levenshtein@^1.0.12, fastest-levenshtein@^1.0.7: +fastest-levenshtein@1.0.16, fastest-levenshtein@^1.0.12, fastest-levenshtein@^1.0.16: version "1.0.16" resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== @@ -4071,13 +4063,6 @@ find-cache-dir@^4.0.0: common-path-prefix "^3.0.0" pkg-dir "^7.0.0" -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - find-up@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" @@ -4100,9 +4085,9 @@ flat@^5.0.2: integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== follow-redirects@^1.0.0: - version "1.15.6" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b" - integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== + version "1.15.9" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" + integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== form-data@^3.0.0: version "3.0.1" @@ -4192,9 +4177,9 @@ get-stream@^6.0.0: integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== get-tsconfig@^4.4.0: - version "4.7.6" - resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.7.6.tgz#118fd5b7b9bae234cc7705a00cd771d7eb65d62a" - integrity sha512-ZAqrLlu18NbDdRaHq+AKXzAmqIUPswPWKUchfytdAjiRFnCe5ojG2bstg6mRiZabkKfCoL/e98pbBELIV/YCeA== + version "4.8.0" + resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.8.0.tgz#125dc13a316f61650a12b20c97c11b8fd996fedd" + integrity sha512-Pgba6TExTZ0FJAn1qkJAjIeKoDJ3CsI2ChuLohJnZl/tTU8MVrq3b+2t5UOPfRa4RMsorClBjJALkJUMjG1PAw== dependencies: resolve-pkg-maps "^1.0.0" @@ -4864,9 +4849,9 @@ klona@^2.0.4: integrity sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA== launch-editor@^2.6.0: - version "2.8.1" - resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.8.1.tgz#3bda72af213ec9b46b170e39661916ec66c2f463" - integrity sha512-elBx2l/tp9z99X5H/qev8uyDywVh0VXAwEbjk8kJhnc5grOFkGh7aW6q55me9xnYbss261XtnUrysZ+XvGbhQA== + version "2.9.1" + resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.9.1.tgz#253f173bd441e342d4344b4dae58291abb425047" + integrity sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w== dependencies: picocolors "^1.0.0" shell-quote "^1.8.1" @@ -4902,14 +4887,6 @@ loader-utils@^2.0.0, loader-utils@^2.0.4: emojis-list "^3.0.0" json5 "^2.1.2" -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - locate-path@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" @@ -5145,12 +5122,7 @@ ms@2.0.0: resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@2.1.3: +ms@2.1.3, ms@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== @@ -5292,7 +5264,7 @@ opener@^1.5.2: resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== -p-limit@^2.0.0, p-limit@^2.2.0: +p-limit@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== @@ -5313,13 +5285,6 @@ p-limit@^4.0.0: dependencies: yocto-queue "^1.0.0" -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - p-locate@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" @@ -5403,11 +5368,6 @@ parseurl@~1.3.2, parseurl@~1.3.3: resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== - path-exists@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" @@ -5459,9 +5419,9 @@ pdfmake@^0.2.2: xmldoc "^1.1.2" picocolors@^1.0.0, picocolors@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1" - integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== + version "1.1.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.0.tgz#5358b76a78cde483ba5cef6a9dc9671440b27d59" + integrity sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw== picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: version "2.3.1" @@ -5504,13 +5464,6 @@ pkg-dir@^7.0.0: dependencies: find-up "^6.3.0" -pkg-up@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" - integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== - dependencies: - find-up "^3.0.0" - png-js@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/png-js/-/png-js-1.0.0.tgz#e5484f1e8156996e383aceebb3789fd75df1874d" @@ -5814,9 +5767,9 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^ integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== postcss@^8.2.14, postcss@^8.2.15, postcss@^8.4.12, postcss@^8.4.24, postcss@^8.4.33: - version "8.4.41" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.41.tgz#d6104d3ba272d882fe18fc07d15dc2da62fa2681" - integrity sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ== + version "8.4.45" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.45.tgz#538d13d89a16ef71edbf75d895284ae06b79e603" + integrity sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q== dependencies: nanoid "^3.3.7" picocolors "^1.0.1" @@ -6374,9 +6327,9 @@ source-list-map@^2.0.0, source-list-map@^2.0.1: integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== source-map-js@^1.0.1, source-map-js@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af" - integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== + version "1.2.1" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" + integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== source-map-support@~0.5.20: version "0.5.21" From 283a4451981d0e6a82b087c63411a4bb1b385751 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sun, 8 Sep 2024 20:03:33 +0200 Subject: [PATCH 033/287] Use jbtronics/translation-editor bundle instead of php-translation/symfony-bundle for profiler translation editing This new bundle has less dependencies and less overhead --- composer.json | 2 +- composer.lock | 551 ++++-------------- config/bundles.php | 2 +- config/packages/dev/php_translation.yaml | 5 - config/packages/php_translation.yaml | 11 - config/routes/dev/php_translation.yaml | 6 - .../routes/jbtronics_translation_editor.yaml | 3 + config/routes/php_translation.yaml | 3 - symfony.lock | 40 +- 9 files changed, 137 insertions(+), 486 deletions(-) delete mode 100644 config/packages/dev/php_translation.yaml delete mode 100644 config/packages/php_translation.yaml delete mode 100644 config/routes/dev/php_translation.yaml create mode 100644 config/routes/jbtronics_translation_editor.yaml delete mode 100644 config/routes/php_translation.yaml diff --git a/composer.json b/composer.json index 495d7de5..0659f2ee 100644 --- a/composer.json +++ b/composer.json @@ -43,7 +43,6 @@ "omines/datatables-bundle": "^0.8.0", "paragonie/sodium_compat": "^1.21", "part-db/label-fonts": "^1.0", - "php-translation/symfony-bundle": "^0.14.0", "phpdocumentor/reflection-docblock": "^5.2", "phpstan/phpdoc-parser": "^1.23", "runtime/frankenphp-symfony": "^0.2.0", @@ -99,6 +98,7 @@ "dama/doctrine-test-bundle": "^v8.0.0", "doctrine/doctrine-fixtures-bundle": "^3.2", "ekino/phpstan-banned-code": "^v1.0.0", + "jbtronics/translation-editor-bundle": "^1.0", "phpstan/extension-installer": "^1.0", "phpstan/phpstan": "^1.4.7", "phpstan/phpstan-doctrine": "^1.2.11", diff --git a/composer.lock b/composer.lock index aa2d5beb..42fddb93 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "2b28082ea8c6d8963cbf7eec953ca0d0", + "content-hash": "465fa2ab7f9f8dad2b8cfbeaa640c136", "packages": [ { "name": "amphp/amp", @@ -1584,82 +1584,6 @@ }, "time": "2024-04-12T12:12:48+00:00" }, - { - "name": "doctrine/annotations", - "version": "2.0.2", - "source": { - "type": "git", - "url": "https://github.com/doctrine/annotations.git", - "reference": "901c2ee5d26eb64ff43c47976e114bf00843acf7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/901c2ee5d26eb64ff43c47976e114bf00843acf7", - "reference": "901c2ee5d26eb64ff43c47976e114bf00843acf7", - "shasum": "" - }, - "require": { - "doctrine/lexer": "^2 || ^3", - "ext-tokenizer": "*", - "php": "^7.2 || ^8.0", - "psr/cache": "^1 || ^2 || ^3" - }, - "require-dev": { - "doctrine/cache": "^2.0", - "doctrine/coding-standard": "^10", - "phpstan/phpstan": "^1.10.28", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "symfony/cache": "^5.4 || ^6.4 || ^7", - "vimeo/psalm": "^4.30 || ^5.14" - }, - "suggest": { - "php": "PHP 8.0 or higher comes with attributes, a native replacement for annotations" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "Docblock Annotations Parser", - "homepage": "https://www.doctrine-project.org/projects/annotations.html", - "keywords": [ - "annotations", - "docblock", - "parser" - ], - "support": { - "issues": "https://github.com/doctrine/annotations/issues", - "source": "https://github.com/doctrine/annotations/tree/2.0.2" - }, - "time": "2024-09-05T10:17:24+00:00" - }, { "name": "doctrine/cache", "version": "2.2.0", @@ -5857,64 +5781,6 @@ }, "time": "2024-09-03T15:05:21+00:00" }, - { - "name": "nikic/php-parser", - "version": "v5.1.0", - "source": { - "type": "git", - "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "683130c2ff8c2739f4822ff7ac5c873ec529abd1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/683130c2ff8c2739f4822ff7ac5c873ec529abd1", - "reference": "683130c2ff8c2739f4822ff7ac5c873ec529abd1", - "shasum": "" - }, - "require": { - "ext-ctype": "*", - "ext-json": "*", - "ext-tokenizer": "*", - "php": ">=7.4" - }, - "require-dev": { - "ircmaxell/php-yacc": "^0.0.7", - "phpunit/phpunit": "^9.0" - }, - "bin": [ - "bin/php-parse" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0-dev" - } - }, - "autoload": { - "psr-4": { - "PhpParser\\": "lib/PhpParser" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Nikita Popov" - } - ], - "description": "A PHP parser written in PHP", - "keywords": [ - "parser", - "php" - ], - "support": { - "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.1.0" - }, - "time": "2024-07-01T20:03:41+00:00" - }, { "name": "nikolaposa/version", "version": "4.2.0", @@ -5976,63 +5842,6 @@ }, "time": "2023-12-29T22:07:54+00:00" }, - { - "name": "nyholm/nsa", - "version": "1.3.0", - "source": { - "type": "git", - "url": "https://github.com/Nyholm/NSA.git", - "reference": "c264c17ed2aa8251c64ad289442ed53f64cdb283" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Nyholm/NSA/zipball/c264c17ed2aa8251c64ad289442ed53f64cdb283", - "reference": "c264c17ed2aa8251c64ad289442ed53f64cdb283", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "webmozart/assert": "^1.1.0" - }, - "require-dev": { - "symfony/phpunit-bridge": "^4.4 || ^5.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "Nyholm\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com" - } - ], - "description": "See everything and do whatever you want. No privacy rule will stop us. Used in tests, debugging and fixtures to access properties and methods.", - "homepage": "https://tnyholm.se", - "keywords": [ - "Fixture", - "debug", - "reflection", - "test" - ], - "support": { - "issues": "https://github.com/Nyholm/NSA/issues", - "source": "https://github.com/Nyholm/NSA/tree/1.3.0" - }, - "funding": [ - { - "url": "https://github.com/nyholm", - "type": "github" - } - ], - "time": "2021-07-15T18:25:37+00:00" - }, { "name": "nyholm/psr7", "version": "1.8.1", @@ -6719,236 +6528,6 @@ }, "time": "2024-03-15T13:55:21+00:00" }, - { - "name": "php-translation/common", - "version": "3.3.0", - "source": { - "type": "git", - "url": "https://github.com/php-translation/common.git", - "reference": "f5e0e36222bcf400310d089646f8cde1648ca974" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-translation/common/zipball/f5e0e36222bcf400310d089646f8cde1648ca974", - "reference": "f5e0e36222bcf400310d089646f8cde1648ca974", - "shasum": "" - }, - "require": { - "php": ">=7.2", - "symfony/translation": " ^3.4 || ^4.3 || ^5.0 || ^6.0 || ^7.0" - }, - "require-dev": { - "phpspec/prophecy-phpunit": "^2.1", - "phpunit/phpunit": ">=8.5.23", - "symfony/framework-bundle": " ^3.4 || ^4.3 || ^5.0 || ^6.0 || ^7.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Translation\\Common\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com" - } - ], - "description": "Common translation stuff", - "support": { - "issues": "https://github.com/php-translation/common/issues", - "source": "https://github.com/php-translation/common/tree/3.3.0" - }, - "time": "2024-01-29T16:29:12+00:00" - }, - { - "name": "php-translation/extractor", - "version": "2.2.0", - "source": { - "type": "git", - "url": "https://github.com/php-translation/extractor.git", - "reference": "44d869006c1131f0ebe1d358fd691621eacc3e45" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-translation/extractor/zipball/44d869006c1131f0ebe1d358fd691621eacc3e45", - "reference": "44d869006c1131f0ebe1d358fd691621eacc3e45", - "shasum": "" - }, - "require": { - "doctrine/annotations": "^1.7 || ^2.0", - "nikic/php-parser": "^4.0 || ^5.0", - "php": "^8.1", - "symfony/finder": "^5.4 || ^6.4 || ^7.0", - "twig/twig": "^2.0 || ^3.0" - }, - "require-dev": { - "knplabs/knp-menu": "^3.1", - "symfony/phpunit-bridge": "^5.4 || ^6.4 || ^7.0", - "symfony/translation": "^5.4 || ^6.4 || ^7.0", - "symfony/twig-bridge": "^5.4 || ^6.4 || ^7.0", - "symfony/validator": "^5.4 || ^6.4 || ^7.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "psr-4": { - "Translation\\Extractor\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com" - } - ], - "description": "Extract translations form the source code", - "support": { - "issues": "https://github.com/php-translation/extractor/issues", - "source": "https://github.com/php-translation/extractor/tree/2.2.0" - }, - "time": "2024-06-11T21:40:32+00:00" - }, - { - "name": "php-translation/symfony-bundle", - "version": "0.14.3", - "source": { - "type": "git", - "url": "https://github.com/php-translation/symfony-bundle.git", - "reference": "722e61673af494824b585b32bc619200b28729e4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-translation/symfony-bundle/zipball/722e61673af494824b585b32bc619200b28729e4", - "reference": "722e61673af494824b585b32bc619200b28729e4", - "shasum": "" - }, - "require": { - "nyholm/nsa": "^1.1", - "php": "^8.0", - "php-translation/extractor": "^2.0", - "php-translation/symfony-storage": "^2.1", - "symfony/asset": "^5.3 || ^6.0", - "symfony/console": "^5.3 || ^6.0", - "symfony/finder": "^5.3 || ^6.0", - "symfony/framework-bundle": "^5.3 || ^6.0", - "symfony/intl": "^5.3 || ^6.0", - "symfony/translation": "^5.3 || ^6.0", - "symfony/twig-bundle": "^5.3 || ^6.0", - "symfony/validator": "^5.3 || ^6.0", - "twig/twig": "^2.14.4 || ^3.3" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.3", - "matthiasnoback/symfony-config-test": "^4.1", - "matthiasnoback/symfony-dependency-injection-test": "^4.1", - "nyholm/psr7": "^1.1", - "nyholm/symfony-bundle-test": "^2.0", - "php-http/curl-client": "^1.7 || ^2.0", - "php-http/message": "^1.11", - "php-http/message-factory": "^1.0.2", - "php-translation/translator": "^1.0", - "symfony/dependency-injection": "^5.3 || ^6.0", - "symfony/phpunit-bridge": "^5.2 || ^6.0", - "symfony/twig-bridge": "^5.3 || ^6.0", - "symfony/web-profiler-bundle": "^5.3 || ^6.0" - }, - "suggest": { - "php-http/httplug-bundle": "To easier configure your httplug clients." - }, - "type": "symfony-bundle", - "extra": { - "branch-alias": { - "dev-master": "0.12-dev" - } - }, - "autoload": { - "psr-4": { - "Translation\\Bundle\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com" - } - ], - "support": { - "issues": "https://github.com/php-translation/symfony-bundle/issues", - "source": "https://github.com/php-translation/symfony-bundle/tree/0.14.3" - }, - "time": "2023-12-15T14:18:10+00:00" - }, - { - "name": "php-translation/symfony-storage", - "version": "2.4.0", - "source": { - "type": "git", - "url": "https://github.com/php-translation/symfony-storage.git", - "reference": "0f4702c5837802507231ee6649c49b57b6d7ab89" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-translation/symfony-storage/zipball/0f4702c5837802507231ee6649c49b57b6d7ab89", - "reference": "0f4702c5837802507231ee6649c49b57b6d7ab89", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0", - "php-translation/common": "^3.0", - "symfony/translation": "^3.4 || ^4.2 || ^5.0 || ^6.0 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": ">=8.5.20", - "symfony/framework-bundle": " ^3.4 || ^4.2 || ^5.0 || ^6.0 || ^7.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.4-dev" - } - }, - "autoload": { - "psr-4": { - "Translation\\SymfonyStorage\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com" - } - ], - "description": "A translation file storage using Symfony translation component.", - "support": { - "issues": "https://github.com/php-translation/symfony-storage/issues", - "source": "https://github.com/php-translation/symfony-storage/tree/2.4.0" - }, - "time": "2024-01-29T16:41:31+00:00" - }, { "name": "phpdocumentor/reflection-common", "version": "2.2.0", @@ -16231,6 +15810,76 @@ }, "time": "2021-11-02T08:37:34+00:00" }, + { + "name": "jbtronics/translation-editor-bundle", + "version": "v1.0", + "source": { + "type": "git", + "url": "https://github.com/jbtronics/translation-editor-bundle.git", + "reference": "4e771c290bf73dded061808bc3ba3c56bc35aa06" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/jbtronics/translation-editor-bundle/zipball/4e771c290bf73dded061808bc3ba3c56bc35aa06", + "reference": "4e771c290bf73dded061808bc3ba3c56bc35aa06", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": "^8.1", + "symfony/deprecation-contracts": "^3.4", + "symfony/framework-bundle": "^6.4|^7.0", + "symfony/translation": "^7.0|^6.4", + "symfony/translation-contracts": "^2.5|^3.0", + "symfony/twig-bundle": "^7.0|^6.4", + "symfony/web-profiler-bundle": "^7.0|^6.4" + }, + "require-dev": { + "ekino/phpstan-banned-code": "^1.0", + "phpstan/extension-installer": "^1.3", + "phpstan/phpstan": "^1.10", + "phpstan/phpstan-strict-rules": "^1.5", + "roave/security-advisories": "dev-latest" + }, + "type": "symfony-bundle", + "autoload": { + "psr-4": { + "Jbtronics\\TranslationEditorBundle\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jan Böhmer", + "email": "mail@jan-boehmer.de" + } + ], + "description": "A symfony bundle to allow editing translations in the symfony profiler", + "keywords": [ + "profiler", + "symfony", + "symfony-bundle", + "translations" + ], + "support": { + "issues": "https://github.com/jbtronics/translation-editor-bundle/issues", + "source": "https://github.com/jbtronics/translation-editor-bundle/tree/v1.0" + }, + "funding": [ + { + "url": "https://www.paypal.me/do9jhb", + "type": "custom" + }, + { + "url": "https://github.com/jbtronics", + "type": "github" + } + ], + "time": "2024-09-03T16:44:00+00:00" + }, { "name": "myclabs/deep-copy", "version": "1.12.0", @@ -16291,6 +15940,64 @@ ], "time": "2024-06-12T14:39:25+00:00" }, + { + "name": "nikic/php-parser", + "version": "v5.1.0", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "683130c2ff8c2739f4822ff7ac5c873ec529abd1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/683130c2ff8c2739f4822ff7ac5c873ec529abd1", + "reference": "683130c2ff8c2739f4822ff7ac5c873ec529abd1", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-json": "*", + "ext-tokenizer": "*", + "php": ">=7.4" + }, + "require-dev": { + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^9.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0-dev" + } + }, + "autoload": { + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "support": { + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v5.1.0" + }, + "time": "2024-07-01T20:03:41+00:00" + }, { "name": "phar-io/manifest", "version": "2.0.4", diff --git a/config/bundles.php b/config/bundles.php index b78bbc22..ea066084 100644 --- a/config/bundles.php +++ b/config/bundles.php @@ -18,7 +18,6 @@ return [ DAMA\DoctrineTestBundle\DAMADoctrineTestBundle::class => ['test' => true], Twig\Extra\TwigExtraBundle\TwigExtraBundle::class => ['all' => true], Gregwar\CaptchaBundle\GregwarCaptchaBundle::class => ['all' => true], - Translation\Bundle\TranslationBundle::class => ['all' => true], Florianv\SwapBundle\FlorianvSwapBundle::class => ['all' => true], Nelmio\SecurityBundle\NelmioSecurityBundle::class => ['all' => true], Symfony\UX\Turbo\TurboBundle::class => ['all' => true], @@ -32,4 +31,5 @@ return [ KnpU\OAuth2ClientBundle\KnpUOAuth2ClientBundle::class => ['all' => true], Nelmio\CorsBundle\NelmioCorsBundle::class => ['all' => true], ApiPlatform\Symfony\Bundle\ApiPlatformBundle::class => ['all' => true], + Jbtronics\TranslationEditorBundle\JbtronicsTranslationEditorBundle::class => ['dev' => true], ]; diff --git a/config/packages/dev/php_translation.yaml b/config/packages/dev/php_translation.yaml deleted file mode 100644 index 53398fbc..00000000 --- a/config/packages/dev/php_translation.yaml +++ /dev/null @@ -1,5 +0,0 @@ -translation: - symfony_profiler: - enabled: true - webui: - enabled: true diff --git a/config/packages/php_translation.yaml b/config/packages/php_translation.yaml deleted file mode 100644 index 7c4f6ad9..00000000 --- a/config/packages/php_translation.yaml +++ /dev/null @@ -1,11 +0,0 @@ -translation: - locales: ["en", "de"] - edit_in_place: - enabled: false - config_name: app - configs: - app: - dirs: ["%kernel.project_dir%/templates", "%kernel.project_dir%/src"] - output_dir: "%kernel.project_dir%/translations" - excluded_names: ["*TestCase.php", "*Test.php"] - excluded_dirs: [cache, data, logs] diff --git a/config/routes/dev/php_translation.yaml b/config/routes/dev/php_translation.yaml deleted file mode 100644 index 903b23fb..00000000 --- a/config/routes/dev/php_translation.yaml +++ /dev/null @@ -1,6 +0,0 @@ -_translation_webui: - resource: '@TranslationBundle/Resources/config/routing_webui.yaml' - prefix: /admin - -_translation_profiler: - resource: '@TranslationBundle/Resources/config/routing_symfony_profiler.yaml' diff --git a/config/routes/jbtronics_translation_editor.yaml b/config/routes/jbtronics_translation_editor.yaml new file mode 100644 index 00000000..31409a61 --- /dev/null +++ b/config/routes/jbtronics_translation_editor.yaml @@ -0,0 +1,3 @@ +when@dev: + translation_editor: + resource: '@JbtronicsTranslationEditorBundle/config/routes.php' \ No newline at end of file diff --git a/config/routes/php_translation.yaml b/config/routes/php_translation.yaml deleted file mode 100644 index 96ffd76f..00000000 --- a/config/routes/php_translation.yaml +++ /dev/null @@ -1,3 +0,0 @@ -_translation_edit_in_place: - resource: '@TranslationBundle/Resources/config/routing_edit_in_place.yaml' - prefix: /admin diff --git a/symfony.lock b/symfony.lock index 25ef4331..c893f620 100644 --- a/symfony.lock +++ b/symfony.lock @@ -40,16 +40,6 @@ "./config/packages/dama_doctrine_test_bundle.yaml" ] }, - "doctrine/annotations": { - "version": "1.14", - "recipe": { - "repo": "github.com/symfony/recipes", - "branch": "main", - "version": "1.10", - "ref": "64d8583af5ea57b7afa4aba4b159907f3a148b05" - }, - "files": [] - }, "doctrine/cache": { "version": "v1.8.0" }, @@ -167,6 +157,9 @@ "jbtronics/dompdf-font-loader-bundle": { "version": "v1.1.1" }, + "jbtronics/translation-editor-bundle": { + "version": "v1.0" + }, "knpuniversity/oauth2-client-bundle": { "version": "2.15", "recipe": { @@ -237,9 +230,6 @@ "nikolaposa/version": { "version": "2.2.2" }, - "nyholm/nsa": { - "version": "1.1.0" - }, "nyholm/psr7": { "version": "1.0", "recipe": { @@ -291,30 +281,6 @@ "php-http/promise": { "version": "v1.0.0" }, - "php-translation/common": { - "version": "1.0.0" - }, - "php-translation/extractor": { - "version": "1.7.1" - }, - "php-translation/symfony-bundle": { - "version": "0.12", - "recipe": { - "repo": "github.com/symfony/recipes-contrib", - "branch": "master", - "version": "0.10", - "ref": "f3ca4e4da63897d177e58da78626c20648c0e102" - }, - "files": [ - "config/packages/dev/php_translation.yaml", - "config/packages/php_translation.yaml", - "config/routes/dev/php_translation.yaml", - "config/routes/php_translation.yaml" - ] - }, - "php-translation/symfony-storage": { - "version": "1.0.1" - }, "phpdocumentor/reflection-common": { "version": "1.0.1" }, From 98597fb3aaa9cc4de0165c9b3dcbd447c975c4e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sun, 8 Sep 2024 20:05:06 +0200 Subject: [PATCH 034/287] Use new repository pathes (Part-DB-server) instead of the Part-DB-symfony ones --- templates/homepage.html.twig | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/templates/homepage.html.twig b/templates/homepage.html.twig index fa629c41..68adb59f 100644 --- a/templates/homepage.html.twig +++ b/templates/homepage.html.twig @@ -60,11 +60,11 @@ Jan Böhmer .
Part-DB is published under the GNU Affero General Public License v3.0 (or later), so it comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. - Click here for details.
+ Click here for details.

- {% trans %}homepage.github.caption{% endtrans %}: {% trans with {'%href%': 'https://github.com/Part-DB/Part-DB-symfony'}%}homepage.github.text{% endtrans %}
+ {% trans %}homepage.github.caption{% endtrans %}: {% trans with {'%href%': 'https://github.com/Part-DB/Part-DB-server'}%}homepage.github.text{% endtrans %}
{% trans %}homepage.help.caption{% endtrans %}: {% trans with {'%href%': 'https://docs.part-db.de/'}%}homepage.help.text{% endtrans %}
- {% trans %}homepage.forum.caption{% endtrans %}: {% trans with {'%href%': 'https://github.com/Part-DB/Part-DB-symfony/discussions'}%}homepage.forum.text{% endtrans %}
+ {% trans %}homepage.forum.caption{% endtrans %}: {% trans with {'%href%': 'https://github.com/Part-DB/Part-DB-server/discussions'}%}homepage.forum.text{% endtrans %}
From 1cc1530b2079a4d8c862f5adf8cadbbfce97e152 Mon Sep 17 00:00:00 2001 From: Pasquale D'Orsi Date: Mon, 9 Sep 2024 00:59:44 +0200 Subject: [PATCH 035/287] OEMSecrets provider interface v.1.0 (#679) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * OEMSecrets provider interface v.1.0 New class for interacting with the OEMSecrets (https://www.oemsecrets.com) API version 3.0.1. * Refactored info provider to be stateless and independent from session, optimized Part-DB API usage, and fixed PHPStan issues. Refactored info provider to be stateless and independent from session, now use Psr\Cache, fixed issues identified by PHPStan, additional minor enhancements and bug fixes. * Prefix cache keys with oemsecrets_ to avoid key collissions * Use uniqid with more entropy to reduce probability of collisions * Made $resultData local as it is only used inside searchByKeyword * Use the parameter name $id from interface declaration for getDetails to avoid problems with named arguments * Use unicode modifier for preg_match to avoid problems when parameters contain non-unicode strings * Various small code quality improvements * Try to retrieve the part from the API in getDetails, if the DTO was not cached before * Improved code formatting * Channged OEMSecret default country to DE to be consistent with other default values * Do not call gc_collect_cycles in the loop to process the results, but only after all processBatch calls --------- Co-authored-by: Jan Böhmer --- .env | 34 + config/services.yaml | 12 +- .../Providers/OEMSecretsProvider.php | 1450 +++++++++++++++++ 3 files changed, 1495 insertions(+), 1 deletion(-) create mode 100644 src/Services/InfoProviderSystem/Providers/OEMSecretsProvider.php diff --git a/.env b/.env index cf39b10d..ce2a6b03 100644 --- a/.env +++ b/.env @@ -181,6 +181,40 @@ PROVIDER_LCSC_ENABLED=0 # The currency to get prices in (e.g. EUR, USD, etc.) PROVIDER_LCSC_CURRENCY=EUR +# Oemsecrets Provider API 3.0.1: +# You can get your API key from https://www.oemsecrets.com/api +PROVIDER_OEMSECRETS_KEY= +# The country you want the output for +PROVIDER_OEMSECRETS_COUNTRY_CODE=DE +# Available country code are: +# AD, AE, AQ, AR, AT, AU, BE, BO, BR, BV, BY, CA, CH, CL, CN, CO, CZ, DE, DK, EC, EE, EH, +# ES, FI, FK, FO, FR, GB, GE, GF, GG, GI, GL, GR, GS, GY, HK, HM, HR, HU, IE, IM, IN, IS, +# IT, JM, JP, KP, KR, KZ, LI, LK, LT, LU, MC, MD, ME, MK, MT, NL, NO, NZ, PE, PH, PL, PT, +# PY, RO, RS, RU, SB, SD, SE, SG, SI, SJ, SK, SM, SO, SR, SY, SZ, TC, TF, TG, TH, TJ, TK, +# TM, TN, TO, TR, TT, TV, TW, TZ, UA, UG, UM, US, UY, UZ, VA, VE, VG, VI, VN, VU, WF, YE, +# ZA, ZM, ZW +# +# The currency you want the prices to be displayed in +PROVIDER_OEMSECRETS_CURRENCY=EUR +# Available currency are:AUD, CAD, CHF, CNY, DKK, EUR, GBP, HKD, ILS, INR, JPY, KRW, NOK, +# NZD, RUB, SEK, SGD, TWD, USD +# +# If PROVIDER_OEMSECRETS_ZERO_PRICE is set to 0, distributors with zero prices +# will be discarded from the creation of a new part (set to 1 otherwise) +PROVIDER_OEMSECRETS_ZERO_PRICE=0 +# +# When PROVIDER_OEMSECRETS_SET_PARAM is set to 1 the parameters for the part are generated +# from the description transforming unstructured descriptions into structured parameters; +# each parameter in description should have the form: "...;name1:value1;name2:value2" +PROVIDER_OEMSECRETS_SET_PARAM=1 +# +# This environment variable determines the sorting criteria for product results. +# The sorting process first arranges items based on the provided keyword. +# Then, if set to 'C', it further sorts by completeness (prioritizing items with the most +# detailed information). If set to 'M', it further sorts by manufacturer name. +#If unset or set to any other value, no sorting is performed. +PROVIDER_OEMSECRETS_SORT_CRITERIA=C + ################################################################################## # EDA integration related settings ################################################################################## diff --git a/config/services.yaml b/config/services.yaml index 2d31b483..b2342edd 100644 --- a/config/services.yaml +++ b/config/services.yaml @@ -306,6 +306,16 @@ services: $enabled: '%env(bool:PROVIDER_LCSC_ENABLED)%' $currency: '%env(string:PROVIDER_LCSC_CURRENCY)%' + App\Services\InfoProviderSystem\Providers\OEMSecretsProvider: + arguments: + $api_key: '%env(string:PROVIDER_OEMSECRETS_KEY)%' + $country_code: '%env(string:PROVIDER_OEMSECRETS_COUNTRY_CODE)%' + $currency: '%env(PROVIDER_OEMSECRETS_CURRENCY)%' + $zero_price: '%env(PROVIDER_OEMSECRETS_ZERO_PRICE)%' + $set_param: '%env(PROVIDER_OEMSECRETS_SET_PARAM)%' + $sort_criteria: '%env(PROVIDER_OEMSECRETS_SORT_CRITERIA)%' + + #################################################################################################################### # API system #################################################################################################################### @@ -400,4 +410,4 @@ when@test: arguments: - '@doctrine.fixtures.loader' - '@doctrine' - - { default: '@App\Doctrine\Purger\DoNotUsePurgerFactory' } \ No newline at end of file + - { default: '@App\Doctrine\Purger\DoNotUsePurgerFactory' } diff --git a/src/Services/InfoProviderSystem/Providers/OEMSecretsProvider.php b/src/Services/InfoProviderSystem/Providers/OEMSecretsProvider.php new file mode 100644 index 00000000..12e63f7f --- /dev/null +++ b/src/Services/InfoProviderSystem/Providers/OEMSecretsProvider.php @@ -0,0 +1,1450 @@ +. + */ + +/** + * OEMSecretsProvider Class + * + * This class is responsible for interfacing with the OEMSecrets API (version 3.0.1) to retrieve and manage information + * about electronic components. Since the API does not provide a unique identifier for each part, the class aggregates + * results based on "part_number" and "manufacturer_id". It also transforms unstructured descriptions into structured + * parameters and aggregates datasheets and images provided by multiple distributors. + * The OEMSecrets API returns results by matching the provided part number not only with the original part number + * but also with the distributor-assigned part number and/or the part description. + * + * Key functionalities: + * - Aggregation of results based on part_number and manufacturer_id to ensure unique identification of parts. + * - Conversion of component descriptions into structured parameters (ParameterDTO) for better clarity and searchability. + * - Aggregation of datasheets and images from multiple distributors, ensuring that all available resources are collected. + * - Price handling, including filtering of distributors that offer zero prices, controlled by the `zero_price` configuration variable. + * - A sorting algorithm that first prioritizes exact matches with the keyword, followed by alphabetical sorting of items + * with the same prefix (e.g., "BC546", "BC546A", "BC546B"), and finally, sorts by either manufacturer or completeness + * based on the specified criteria. + * - Sorting the distributors: + * 1. Environment's country_code first. + * 2. Region matching environment's country_code, prioritizing "Global" ('XX'). + * 3. Distributors with null country_code/region are placed last. + * 4. Final fallback is alphabetical sorting by region and country_code. + * + * Configuration: + * - The ZERO_PRICE variable must be set in the `.env.local` file. If is set to 0, the class will skip distributors + * that do not offer valid prices for the components. + * - Currency and country settings can also be specified for localized pricing and distributor filtering. + * - Generation of parameters: if SET_PARAM is set to 1 the parameters for the part are generated from the description + * transforming unstructured descriptions into structured parameters; each parameter in description should have the form: + * "...;name1:value1;name2:value2" + * - Sorting is guided by SORT_CRITERIA variable. The sorting process first arranges items based on the provided keyword. + * Then, if set to 'C', it further sorts by completeness (prioritizing items with the most detailed information). + * If set to 'M', it further sorts by manufacturer name. If unset or set to any other value, no sorting is performed. + * Distributors within each item are further sorted based on country_code and region, following the rules explained + * in the previous comment. + * + * Data Handling: + * - The class divides and stores component information across multiple session arrays: + * - `basic_info_results`: Stores basic information like name, description, manufacturer, and category. + * - `datasheets_results`: Aggregates datasheets provided by distributors, ensuring no duplicates. + * - `images_results`: Collects images of components from various sources, preventing duplication. + * - `parameters_results`: Extracts and stores key parameters parsed from component descriptions. + * - `purchase_info_results`: Contains detailed purchasing information like pricing and distributor details. + * + * - By splitting the data into separate session arrays, the class optimizes memory usage and simplifies retrieval + * of specific details without loading the entire dataset at once. + * + * Technical Details: + * - Uses OEMSecrets API (version 3.0.1) to retrieve component data. + * - Data processing includes sanitizing input, avoiding duplicates, and dynamically adjusting information as new distributor + * data becomes available (e.g., adding missing datasheets or parameters from subsequent API responses). + * + * @package App\Services\InfoProviderSystem\Providers + * @author Pasquale D'Orsi (https://github.com/pdo59) + * @version 1.2.0 + * @since 2024 August + */ + + +declare(strict_types=1); + +namespace App\Services\InfoProviderSystem\Providers; + +use App\Entity\Parts\ManufacturingStatus; +use App\Services\InfoProviderSystem\DTOs\FileDTO; +use App\Services\InfoProviderSystem\DTOs\PartDetailDTO; +use App\Services\InfoProviderSystem\DTOs\PriceDTO; +use App\Services\InfoProviderSystem\DTOs\PurchaseInfoDTO; +use App\Services\InfoProviderSystem\DTOs\ParameterDTO; +use Symfony\Contracts\HttpClient\HttpClientInterface; +use Psr\Cache\CacheItemPoolInterface; + + +class OEMSecretsProvider implements InfoProviderInterface +{ + + private const ENDPOINT_URL = 'https://oemsecretsapi.com/partsearch'; + + public function __construct( + private readonly HttpClientInterface $oemsecretsClient, + private readonly string $api_key, + private readonly string $country_code, + private readonly string $currency, + private readonly string $zero_price, + private readonly string $set_param, + private readonly string $sort_criteria, + private readonly CacheItemPoolInterface $partInfoCache + ) + { + } + + private array $countryNameToCodeMap = [ + 'Andorra' => 'AD', + 'United Arab Emirates' => 'AE', + 'Antarctica' => 'AQ', + 'Argentina' => 'AR', + 'Austria' => 'AT', + 'Australia' => 'AU', + 'Belgium' => 'BE', + 'Bolivia' => 'BO', + 'Brazil' => 'BR', + 'Bouvet Island' => 'BV', + 'Belarus' => 'BY', + 'Canada' => 'CA', + 'Switzerland' => 'CH', + 'Chile' => 'CL', + 'China' => 'CN', + 'Colombia' => 'CO', + 'Czech Republic' => 'CZ', + 'Germany' => 'DE', + 'Denmark' => 'DK', + 'Ecuador' => 'EC', + 'Estonia' => 'EE', + 'Western Sahara' => 'EH', + 'Spain' => 'ES', + 'Finland' => 'FI', + 'Falkland Islands' => 'FK', + 'Faroe Islands' => 'FO', + 'France' => 'FR', + 'United Kingdom' => 'GB', + 'Georgia' => 'GE', + 'French Guiana' => 'GF', + 'Guernsey' => 'GG', + 'Gibraltar' => 'GI', + 'Greenland' => 'GL', + 'Greece' => 'GR', + 'South Georgia and the South Sandwich Islands' => 'GS', + 'Guyana' => 'GY', + 'Hong Kong' => 'HK', + 'Heard Island and McDonald Islands' => 'HM', + 'Croatia' => 'HR', + 'Hungary' => 'HU', + 'Ireland' => 'IE', + 'Isle of Man' => 'IM', + 'India' => 'IN', + 'Iceland' => 'IS', + 'Italy' => 'IT', + 'Jamaica' => 'JM', + 'Japan' => 'JP', + 'North Korea' => 'KP', + 'South Korea' => 'KR', + 'Kazakhstan' => 'KZ', + 'Liechtenstein' => 'LI', + 'Sri Lanka' => 'LK', + 'Lithuania' => 'LT', + 'Luxembourg' => 'LU', + 'Monaco' => 'MC', + 'Moldova' => 'MD', + 'Montenegro' => 'ME', + 'North Macedonia' => 'MK', + 'Malta' => 'MT', + 'Netherlands' => 'NL', + 'Norway' => 'NO', + 'New Zealand' => 'NZ', + 'Peru' => 'PE', + 'Philippines' => 'PH', + 'Poland' => 'PL', + 'Portugal' => 'PT', + 'Paraguay' => 'PY', + 'Romania' => 'RO', + 'Serbia' => 'RS', + 'Russia' => 'RU', + 'Solomon Islands' => 'SB', + 'Sudan' => 'SD', + 'Sweden' => 'SE', + 'Singapore' => 'SG', + 'Slovenia' => 'SI', + 'Svalbard and Jan Mayen' => 'SJ', + 'Slovakia' => 'SK', + 'San Marino' => 'SM', + 'Somalia' => 'SO', + 'Suriname' => 'SR', + 'Syria' => 'SY', + 'Eswatini' => 'SZ', + 'Turks and Caicos Islands' => 'TC', + 'French Southern Territories' => 'TF', + 'Togo' => 'TG', + 'Thailand' => 'TH', + 'Tajikistan' => 'TJ', + 'Tokelau' => 'TK', + 'Turkmenistan' => 'TM', + 'Tunisia' => 'TN', + 'Tonga' => 'TO', + 'Turkey' => 'TR', + 'Trinidad and Tobago' => 'TT', + 'Tuvalu' => 'TV', + 'Taiwan' => 'TW', + 'Tanzania' => 'TZ', + 'Ukraine' => 'UA', + 'Uganda' => 'UG', + 'United States Minor Outlying Islands' => 'UM', + 'United States' => 'US', + 'Uruguay' => 'UY', + 'Uzbekistan' => 'UZ', + 'Vatican City' => 'VA', + 'Venezuela' => 'VE', + 'British Virgin Islands' => 'VG', + 'U.S. Virgin Islands' => 'VI', + 'Vietnam' => 'VN', + 'Vanuatu' => 'VU', + 'Wallis and Futuna' => 'WF', + 'Yemen' => 'YE', + 'South Africa' => 'ZA', + 'Zambia' => 'ZM', + 'Zimbabwe' => 'ZW', + 'Global' => 'XX' + ]; + + private array $distributorCountryCodes = []; + private array $countryCodeToRegionMap = []; + + /** + * Get information about this provider + * + * @return array An associative array with the following keys (? means optional): + * - name: The (user friendly) name of the provider (e.g. "Digikey"), will be translated + * - description?: A short description of the provider (e.g. "Digikey is a ..."), will be translated + * - logo?: The logo of the provider (e.g. "digikey.png") + * - url?: The url of the provider (e.g. "https://www.digikey.com") + * - disabled_help?: A help text which is shown when the provider is disabled, explaining how to enable it + * - oauth_app_name?: The name of the OAuth app which is used for authentication (e.g. "ip_digikey_oauth"). If this is set a connect button will be shown + * + * @phpstan-return array{ name: string, description?: string, logo?: string, url?: string, disabled_help?: string, oauth_app_name?: string } + */ + public function getProviderInfo(): array + { + return [ + 'name' => 'OEMSecrets', + 'description' => 'This provider uses the OEMSecrets API to search for parts.', + 'url' => 'https://www.oemsecrets.com/', + 'disabled_help' => 'Configure the API key in the PROVIDER_OEMSECRETS_KEY environment variable to enable.' + ]; + } + /** + * Returns a unique key for this provider, which will be saved into the database + * and used to identify the provider + * @return string A unique key for this provider (e.g. "digikey") + */ + public function getProviderKey(): string + { + return 'oemsecrets'; + } + + /** + * Checks if this provider is enabled or not (meaning that it can be used for searching) + * @return bool True if the provider is enabled, false otherwise + */ + public function isActive(): bool + { + return $this->api_key !== ''; + } + + + /** + * Searches for products based on a given keyword using the OEMsecrets Part Search API. + * + * This method queries the OEMsecrets API to retrieve distributor data for the provided part number, + * including details such as pricing, compliance, and inventory. It supports both direct API queries + * and debugging with local JSON files. The results are processed, cached, and then sorted based + * on the keyword and specified criteria. + * + * @param string $keyword The part number to search for + * @return array An array of processed product details, sorted by relevance and additional criteria. + * + * @throws \Exception If the JSON file used for debugging is not found or contains errors. + */ + public function searchByKeyword(string $keyword): array + { + /* + oemsecrets Part Search API 3.0.1 + + "https://oemsecretsapi.com/partsearch? + searchTerm=BC547 + &apiKey=icawpb0bspoo2c6s64uv4vpdfp2vgr7e27bxw0yct2bzh87mpl027x353uelpq2x + ¤cy=EUR + &countryCode=IT" + + partsearch description: + Use the Part Search API to find distributor data for a full or partial manufacturer + part number including part details, pricing, compliance and inventory. + + Required Parameter Format Description + searchTerm string Part number you are searching for + apiKey string Your unique API key provided to you by OEMsecrets + + Additional Parameter Format Description + countryCode string The country you want to output for + currency string / array The currency you want the prices to be displayed as + + To display the output for GB and to view prices in USD, add [ countryCode=GB ] and [ currency=USD ] + as seen below: + oemsecretsapi.com/partsearch?apiKey=abcexampleapikey123&searchTerm=bd04&countryCode=GB¤cy=USD + + To view prices in both USD and GBP add [ currency[]=USD¤cy[]=GBP ] + oemsecretsapi.com/partsearch?searchTerm=bd04&apiKey=abcexampleapikey123¤cy[]=USD¤cy[]=GBP + + */ + + + // Activate this block when querying the real APIs + //------------------ + + $response = $this->oemsecretsClient->request('GET', self::ENDPOINT_URL, [ + 'query' => [ + 'searchTerm' => $keyword, + 'apiKey' => $this->api_key, + 'currency' => $this->currency, + 'countryCode' => $this->country_code, + ], + ]); + + $response_array = $response->toArray(); + //------------------*/ + + // Or activate this block when we use json file for debugging + /*/------------------ + $jsonFilePath = ''; + if (!file_exists($jsonFilePath)) { + throw new \Exception("JSON file not found."); + } + $jsonContent = file_get_contents($jsonFilePath); + $response_array = json_decode($jsonContent, true); + + if (json_last_error() !== JSON_ERROR_NONE) { + throw new \Exception("JSON file decode failed: " . json_last_error_msg()); + } + //------------------*/ + + $products = $response_array['stock'] ?? []; + + $results = []; + $basicInfoResults = []; + $datasheetsResults = []; + $imagesResults = []; + $parametersResults = []; + $purchaseInfoResults = []; + + foreach ($products as $product) { + if (!isset($product['part_number'], $product['manufacturer'])) { + continue; // Skip invalid product entries + } + $provider_id = $this->generateProviderId($product['part_number'], $product['manufacturer']); + + $partDetailDTO = $this->processBatch( + $product, + $provider_id, + $basicInfoResults, + $datasheetsResults, + $imagesResults, + $parametersResults, + $purchaseInfoResults + ); + + if ($partDetailDTO !== null) { + $results[$provider_id] = $partDetailDTO; + $cacheKey = $this->getCacheKey($provider_id); + $cacheItem = $this->partInfoCache->getItem($cacheKey); + $cacheItem->set($partDetailDTO); + $cacheItem->expiresAfter(3600 * 24); + $this->partInfoCache->save($cacheItem); + } + } + + //Force garbage collection to free up memory + gc_collect_cycles(); + + // Sort of the results + $this->sortResultsData($results, $keyword); + + //Force garbage collection to free up memory + gc_collect_cycles(); + + return $results; + + } + + /** + * Generates a cache key for storing part details based on the provided provider ID. + * + * This method creates a unique cache key by prefixing the provider ID with 'part_details_' + * and hashing the provider ID using MD5 to ensure a consistent and compact key format. + * + * @param string $provider_id The unique identifier of the provider or part. + * @return string The generated cache key. + */ + private function getCacheKey(string $provider_id): string { + return 'oemsecrets_part_' . md5($provider_id); + } + + + /** + * Retrieves detailed information about the part with the given provider ID from the cache. + * + * This method checks the cache for the details of the specified part. If the details are + * found in the cache, they are returned. If not, an exception is thrown indicating that + * the details could not be found. + * + * @param string $id The unique identifier of the provider or part. + * @return PartDetailDTO The detailed information about the part. + * + * @throws \Exception If no details are found for the given provider ID. + */ + public function getDetails(string $id): PartDetailDTO + { + $cacheKey = $this->getCacheKey($id); + $cacheItem = $this->partInfoCache->getItem($cacheKey); + + if ($cacheItem->isHit()) { + return $cacheItem->get(); + } + //If we have no cached result yet, we extract the part number (first part of our ID) and search for it + $partNumber = explode('|', $id)[0]; + + //The searchByKeyword method will write the results to cache, so we can just try it again afterwards + $this->searchByKeyword($partNumber); + + $cacheItem = $this->partInfoCache->getItem($cacheKey); + if ($cacheItem->isHit()) { + return $cacheItem->get(); + } + + // If the details still are not found in the cache, throw an exception + throw new \RuntimeException("Details not found for provider_id $id"); + } + + + /** + * A list of capabilities this provider supports (which kind of data it can provide). + * Not every part have to contain all of these data, but the provider should be able to provide them in general. + * Currently, this list is purely informational and not used in functional checks. + * @return ProviderCapabilities[] + */ + public function getCapabilities(): array + { + return [ + ProviderCapabilities::BASIC, + ProviderCapabilities::PICTURE, + ProviderCapabilities::DATASHEET, + ProviderCapabilities::PRICE, + ]; + } + + + /** + * Processes a single product and updates arrays for basic information, datasheets, images, parameters, + * and purchase information. Aggregates and organizes data received for a specific `part_number` and `manufacturer_id`. + * Distributors within the product are also sorted based on country_code and region. + * + * @param array $product The product data received from the OEMSecrets API. + * @param string $provider_id A string that contains the unique key created for the part + * @param array &$basicInfoResults Array containing the basic product information (e.g., name, description, category). + * @param array &$datasheetsResults Array containing datasheets collected from various distributors for the product. + * @param array &$imagesResults Array containing images of the product collected from various distributors. + * @param array &$parametersResults Array containing technical parameters extracted from the product descriptions. + * @param array &$purchaseInfoResults Array containing purchase information, including distributors and pricing details. + * + * @return PartDetailDTO|null Returns a PartDetailDTO object if the product is processed successfully, otherwise null. + * + * @throws \Exception If a required key in the product data is missing or if there is an issue creating the DTO. + * + * @see createOrUpdateBasicInfo() Creates or updates the basic product information. + * @see getPrices() Extracts the pricing information for the product. + * @see parseDataSheets() Parses and prevents duplication of datasheets. + * @see getImages() Extracts and avoids duplication of images. + * @see getParameters() Extracts technical parameters from the product description. + * @see createPurchaseInfoDTO() Creates a PurchaseInfoDTO containing distributor and price information. + * + * @note Distributors within the product are sorted by country_code and region: + * 1. Distributors with the environment's country_code come first. + * 2. Distributors in the same region as the environment's country_code are next, + * with "Global" ('XX') prioritized within this region. + * 3. Distributors with null country_code or region are placed last. + * 4. Remaining distributors are sorted alphabetically by region and country_code. + + */ + private function processBatch( + array $product, + string $provider_id, + array &$basicInfoResults, + array &$datasheetsResults, + array &$imagesResults, + array &$parametersResults, + array &$purchaseInfoResults + ): ?PartDetailDTO + { + if (!isset($product['manufacturer'], $product['part_number'])) { + throw new \InvalidArgumentException("Missing required product data: 'manufacturer' or 'part_number'"); + } + + // Retrieve the country_code associated with the distributor and store it in the $distributorCountryCodes array. + $distributorCountry = $product['distributor']['distributor_country'] ?? null; + $distributorName = $product['distributor']['distributor_name'] ?? null; + $distributorRegion = $product['distributor']['distributor_region'] ?? null; + + if ($distributorCountry && $distributorName) { + $countryCode = $this->mapCountryNameToCode($distributorCountry); + if ($countryCode) { + $this->distributorCountryCodes[$distributorName] = $countryCode; + } + if ($distributorRegion) { + $this->countryCodeToRegionMap[$countryCode] = $distributorRegion; + } + } + + // Truncate the description and handle notes + $thenotes = ''; + $description = $product['description'] ?? ''; + if (strlen($description) > 100) { + $thenotes = $description; // Save the complete description + $description = substr($description, 0, 100) . '...'; // Truncate the description + } + + // Extract prices + $priceDTOs = $this->getPrices($product); + if (empty($priceDTOs) && (int)$this->zero_price === 0) { + return null; // Skip products without valid prices + } + + $existingBasicInfo = isset($basicInfoResults[$provider_id]) && is_array($basicInfoResults[$provider_id]) + ? $basicInfoResults[$provider_id] + : []; + + $basicInfoResults[$provider_id] = $this->createOrUpdateBasicInfo( + $provider_id, + $product, + $description, + $thenotes, + $existingBasicInfo + ); + + // Update images, datasheets, and parameters + + $newDatasheets = $this->parseDataSheets($product['datasheet_url'] ?? null, null, $datasheetsResults[$provider_id] ?? []); + if ($newDatasheets !== null) { + $datasheetsResults[$provider_id] = array_merge($datasheetsResults[$provider_id] ?? [], $newDatasheets); + } + + $imagesResults[$provider_id] = $this->getImages($product, $imagesResults[$provider_id] ?? []); + if ($this->set_param == 1) { + $parametersResults[$provider_id] = $this->getParameters($product, $parametersResults[$provider_id] ?? []); + } else { + $parametersResults[$provider_id] = []; + } + + // Handle purchase information + $currentDistributor = $this->createPurchaseInfoDTO($product, $priceDTOs, $purchaseInfoResults[$provider_id] ?? []); + if ($currentDistributor !== null) { + $purchaseInfoResults[$provider_id][] = $currentDistributor; + } + + // If there is data in $purchaseInfoResults, sort it before creating the PartDetailDTO + if (!empty($purchaseInfoResults[$provider_id])) { + usort($purchaseInfoResults[$provider_id], function ($a, $b) { + $nameA = $a->distributor_name; + $nameB = $b->distributor_name; + + $countryCodeA = $this->distributorCountryCodes[$nameA] ?? null; + $countryCodeB = $this->distributorCountryCodes[$nameB] ?? null; + + $regionA = $this->countryCodeToRegionMap[$countryCodeA] ?? ''; + $regionB = $this->countryCodeToRegionMap[$countryCodeB] ?? ''; + + // If the map is empty or doesn't contain the key for $this->country_code, assign a placeholder region. + $regionForEnvCountry = $this->countryCodeToRegionMap[$this->country_code] ?? ''; + + // Convert to string before comparison to avoid mixed types + $countryCodeA = (string) $countryCodeA; + $countryCodeB = (string) $countryCodeB; + $regionA = (string) $regionA; + $regionB = (string) $regionB; + + + // Step 0: If either country code is null, place it at the end + if ($countryCodeA === '' || $regionA === '') { + return 1; // Metti A dopo B + } elseif ($countryCodeB === '' || $regionB === '') { + return -1; // Metti B dopo A + } + + // Step 1: country_code from the environment + if ($countryCodeA === $this->country_code && $countryCodeB !== $this->country_code) { + return -1; + } elseif ($countryCodeA !== $this->country_code && $countryCodeB === $this->country_code) { + return 1; + } + + // Step 2: Sort by environment's region, prioritizing "Global" (XX) + if ($regionA === $regionForEnvCountry && $regionB !== $regionForEnvCountry) { + return -1; + } elseif ($regionA !== $regionForEnvCountry && $regionB === $regionForEnvCountry) { + return 1; + } + + // Step 3: If regions are the same, prioritize "Global" (XX) + if ($regionA === $regionB) { + if ($countryCodeA === 'XX' && $countryCodeB !== 'XX') { + return -1; + } elseif ($countryCodeA !== 'XX' && $countryCodeB === 'XX') { + return 1; + } + } + + // Step 4: Alphabetical sorting by region and country_code + $regionComparison = strcasecmp($regionA , $regionB); + if ($regionComparison !== 0) { + return $regionComparison; + } + + // Alphabetical sorting as a fallback + return strcasecmp($countryCodeA, $countryCodeB); + }); + } + // Convert the gathered data into a PartDetailDTO + + $partDetailDTO = new PartDetailDTO( + provider_key: $basicInfoResults[$provider_id]['provider_key'], + provider_id: $provider_id, + name: $basicInfoResults[$provider_id]['name'], + description: $basicInfoResults[$provider_id]['description'], + category: $basicInfoResults[$provider_id]['category'], + manufacturer: $basicInfoResults[$provider_id]['manufacturer'], + mpn: $basicInfoResults[$provider_id]['mpn'], + preview_image_url: $basicInfoResults[$provider_id]['preview_image_url'], + manufacturing_status: $basicInfoResults[$provider_id]['manufacturing_status'], + provider_url: $basicInfoResults[$provider_id]['provider_url'], + footprint: $basicInfoResults[$provider_id]['footprint'] ?? null, + notes: $basicInfoResults[$provider_id]['notes'] ?? null, + datasheets: $datasheetsResults[$provider_id] ?? [], + images: $imagesResults[$provider_id] ?? [], + parameters: $parametersResults[$provider_id] ?? [], + vendor_infos: $purchaseInfoResults[$provider_id] ?? [] + ); + + return $partDetailDTO; + } + + + /** + * Extracts pricing information from the product data, converts it to PriceDTO objects, + * and returns them as an array. + * + * @param array{ + * prices?: array>, + * source_currency?: string + * } $product The product data from the OEMSecrets API containing price details. + * + * @return PriceDTO[] Array of PriceDTO objects representing different price tiers for the product. + */ + private function getPrices(array $product): array + { + $prices = $product['prices'] ?? []; + $sourceCurrency = $product['source_currency'] ?? null; + $priceDTOs = []; + + // Flag to check if we have added prices in the preferred currency + $foundPreferredCurrency = false; + + if (is_array($prices)) { + // Step 1: Check if prices exist in the preferred currency + if (isset($prices[$this->currency]) && is_array($prices[$this->currency])) { + $priceDetails = $prices[$this->currency]; + foreach ($priceDetails as $priceDetail) { + if ( + is_array($priceDetail) && + isset($priceDetail['unit_break'], $priceDetail['unit_price']) && + is_numeric($priceDetail['unit_break']) && + is_string($priceDetail['unit_price']) && + $priceDetail['unit_price'] !== "0.0000" + ) { + $priceDTOs[] = new PriceDTO( + minimum_discount_amount: (float)$priceDetail['unit_break'], + price: (string)$priceDetail['unit_price'], + currency_iso_code: $this->currency, + includes_tax: false, + price_related_quantity: 1.0 + ); + $foundPreferredCurrency = true; + } + } + } + + // Step 2: If no prices in the preferred currency, use source currency + if (!$foundPreferredCurrency && $sourceCurrency && isset($prices[$sourceCurrency]) && is_array($prices[$sourceCurrency])) { + $priceDetails = $prices[$sourceCurrency]; + foreach ($priceDetails as $priceDetail) { + if ( + is_array($priceDetail) && + isset($priceDetail['unit_break'], $priceDetail['unit_price']) && + is_numeric($priceDetail['unit_break']) && + is_string($priceDetail['unit_price']) && + $priceDetail['unit_price'] !== "0.0000" + ) { + $priceDTOs[] = new PriceDTO( + minimum_discount_amount: (float)$priceDetail['unit_break'], + price: (string)$priceDetail['unit_price'], + currency_iso_code: $sourceCurrency, + includes_tax: false, + price_related_quantity: 1.0 + ); + } + } + } + } + + return $priceDTOs; + } + + + /** + * Retrieves product images provided by the distributor. Prevents duplicates based on the image name. + * @param array{ + * image_url?: string + * } $product The product data from the OEMSecrets API containing image URLs. + * @param FileDTO[] $existingImages Optional. Existing images for the product to avoid duplicates. + * + * @return FileDTO[] Array of FileDTO objects representing the product images. + */ + private function getImages(array $product, array $existingImages = []): array + { + $images = $existingImages; + $imageUrl = $product['image_url'] ?? null; + + if ($imageUrl) { + $imageName = basename(parse_url($imageUrl, PHP_URL_PATH)); + if (!in_array($imageName, array_column($images, 'name'), true)) { + $images[] = new FileDTO(url: $imageUrl, name: $imageName); + } + } + return $images; + } + + /** + * Extracts technical parameters from the product description, ensures no duplicates, and returns them as an array. + * + * @param array{ + * description?: string + * } $product The product data from the OEMSecrets API containing product descriptions. + * @param ParameterDTO[] $existingParameters Optional. Existing parameters for the product to avoid duplicates. + * + * @return ParameterDTO[] Array of ParameterDTO objects representing technical parameters extracted from the product description. + */ + private function getParameters(array $product, array $existingParameters = []): array + { + $parameters = $existingParameters; + $description = $product['description'] ?? ''; + + // Logic to extract parameters from the description + $extractedParameters = $this->parseDescriptionToParameters($description) ?? []; + + // Ensure that $extractedParameters is an array + if (!is_array($extractedParameters)) { + $extractedParameters = []; + } + + foreach ($extractedParameters as $newParam) { + $isDuplicate = false; + foreach ($parameters as $existingParam) { + if ($existingParam->name === $newParam->name) { + $isDuplicate = true; + break; + } + } + if (!$isDuplicate) { + $parameters[] = $newParam; + } + } + + return $parameters; + } + + /** + * Creates a PurchaseInfoDTO object containing distributor and pricing information for a product. + * Ensures that the distributor name is valid and prices are available. + * + * @param array{ + * distributor?: array{ + * distributor_name?: string + * }, + * sku?: string, + * source_part_number: string, + * buy_now_url?: string, + * lead_time_weeks?: mixed + * } $product The product data from the OEMSecrets API. + * @param PriceDTO[] $priceDTOs Array of PriceDTO objects representing pricing tiers. + * @param PurchaseInfoDTO[] $existingPurchaseInfos Optional. Existing purchase information for the product to avoid duplicates. + * + * @return PurchaseInfoDTO|null A PurchaseInfoDTO object containing the distributor information, or null if invalid. + */ + private function createPurchaseInfoDTO(array $product, array $priceDTOs, array $existingPurchaseInfos = []): ?PurchaseInfoDTO + { + $distributor_name = $product['distributor']['distributor_name'] ?? null; + if ($distributor_name && !empty($priceDTOs)) { + $sku = isset($product['sku']) ? (string)$product['sku'] : null; + $order_number_base = $sku ?: (string)$product['source_part_number']; + $order_number = $order_number_base; + + // Remove duplicates from the quantity/price tiers + $uniquePriceDTOs = []; + foreach ($priceDTOs as $priceDTO) { + $key = $priceDTO->minimum_discount_amount . '-' . $priceDTO->price; + $uniquePriceDTOs[$key] = $priceDTO; + } + $priceDTOs = array_values($uniquePriceDTOs); + + // Differentiate $order_number if duplicated + if ($this->isDuplicateOrderNumber($order_number, $distributor_name, $existingPurchaseInfos)) { + $lead_time_weeks = isset($product['lead_time_weeks']) ? (string)$product['lead_time_weeks'] : ''; + $order_number = $order_number_base . '-' . $lead_time_weeks; + + // If there is still a duplicate after adding lead_time_weeks + $counter = 1; + while ($this->isDuplicateOrderNumber($order_number, $distributor_name, $existingPurchaseInfos)) { + $order_number = $order_number_base . '-' . $lead_time_weeks . '-' . $counter; + $counter++; + } + } + + return new PurchaseInfoDTO( + distributor_name: $distributor_name, + order_number: $order_number, + prices: $priceDTOs, + product_url: $product['buy_now_url'] ?? '' + ); + } + return null; // Return null if no valid distributor exists + } + + /** + * Checks if an order number already exists for a given distributor in the existing purchase infos. + * + * @param string $order_number The order number to check. + * @param string $distributor_name The name of the distributor. + * @param PurchaseInfoDTO[] $existingPurchaseInfos The existing purchase information to check against. + * @return bool True if a duplicate order number is found, otherwise false. + */ + private function isDuplicateOrderNumber(string $order_number, string $distributor_name, array $existingPurchaseInfos): bool + { + foreach ($existingPurchaseInfos as $purchaseInfo) { + if ($purchaseInfo->distributor_name === $distributor_name && $purchaseInfo->order_number === $order_number) { + return true; + } + } + return false; + } + + /** + * Creates or updates the basic information of a product, including the description, category, manufacturer, + * and other metadata. This function manages the PartDetailDTO creation or update. + * + * @param string $provider_id The unique identifier for the product based on part_number and manufacturer. + * * @param array{ + * part_number: string, + * category: string, + * manufacturer: string, + * source_part_number: string, + * image_url?: string, + * life_cycle?: string, + * quantity_in_stock?: int + * } $product The product data from the OEMSecrets API. + * @param string $description The truncated description for the product. + * @param string $thenotes The full description saved as notes for the product. + * + * @return array The updated or newly created PartDetailDTO containing basic product information. + */ + private function createOrUpdateBasicInfo( + string $provider_id, + array $product, + string $description, + string $thenotes, + ?array $existingBasicInfo + ): array { + // If there is no existing basic info array, we create a new one + if (is_null($existingBasicInfo)) { + return [ + 'provider_key' => $this->getProviderKey(), + 'provider_id' => $provider_id, + 'name' => $product['part_number'], + 'description' => $description, + 'category' => $product['category'], + 'manufacturer' => $product['manufacturer'], + 'mpn' => $product['source_part_number'], + 'preview_image_url' => $product['image_url'] ?? null, + 'manufacturing_status' => $this->releaseStatusCodeToManufacturingStatus( + $product['life_cycle'] ?? null, + (int)($product['quantity_in_stock'] ?? 0) + ), + 'provider_url' => $this->generateInquiryUrl($product['part_number']), + 'notes' => $thenotes, + 'footprint' => null + ]; + } + + // Update fields only if empty or undefined, with additional check for preview_image_url + return [ + 'provider_key' => $existingBasicInfo['provider_key'] ?? $this->getProviderKey(), + 'provider_id' => $existingBasicInfo['provider_id'] ?? $provider_id, + 'name' => $existingBasicInfo['name'] ?? $product['part_number'], + // Update description if it's null/empty + 'description' => !empty($existingBasicInfo['description']) + ? $existingBasicInfo['description'] + : $description, + // Update category if it's null/empty + 'category' => !empty($existingBasicInfo['category']) + ? $existingBasicInfo['category'] + : $product['category'], + 'manufacturer' => $existingBasicInfo['manufacturer'] ?? $product['manufacturer'], + 'mpn' => $existingBasicInfo['mpn'] ?? $product['source_part_number'], + 'preview_image_url' => !empty($existingBasicInfo['preview_image_url']) + ? $existingBasicInfo['preview_image_url'] + : ($product['image_url'] ?? null), + 'manufacturing_status' => !empty($existingBasicInfo['manufacturing_status']) + ? $existingBasicInfo['manufacturing_status'] + : $this->releaseStatusCodeToManufacturingStatus( + $product['life_cycle'] ?? null, + (int)($product['quantity_in_stock'] ?? 0) + ), + 'provider_url' => $existingBasicInfo['provider_url'] ?? $this->generateInquiryUrl($product['part_number']), // ?? $product['buy_now_url'], + 'notes' => $existingBasicInfo['notes'] ?? $thenotes, + 'footprint' => null + ]; + } + + /** + * Parses the datasheet URL and returns an array of FileDTO objects representing the datasheets. + * If the datasheet name is not provided, it attempts to extract the file name from the URL. + * If multiple datasheets with the same default name are encountered, the function appends a + * numeric suffix to ensure uniqueness. + * The query parameter used to extract the event link can be customized. + * + * URL Requirements: + * - The URL should be a valid URL string. + * - The URL can include a query parameter named "event_link", which contains a sub-URL where the + * actual datasheet file name is located (e.g., a link to a PDF file). + * - If "event_link" is not present, the function attempts to extract the file name directly from + * the URL path. + * - The URL path should ideally end with a valid file extension (e.g., .pdf, .doc, .xls, etc.). + * + * Example 1: + * Given URL: `https://example.com/datasheet.php?event_link=https%3A%2F%2Ffiles.example.com%2Fdatasheet.pdf` + * Extracted name: `datasheet.pdf` + * + * Example 2: + * Given URL: `https://example.com/files/datasheet.pdf` + * Extracted name: `datasheet.pdf` + * + * Example 3 (default name fallback): + * Given URL: `https://example.com/files/noextensionfile` + * Extracted name: `datasheet.pdf` + * + * @param string|null $sheetUrl The URL of the datasheet. + * @param string|null $sheetName The optional name of the datasheet. If null, the name is extracted from the URL. + * @param array $existingDatasheets The array of existing datasheets to check for duplicates. + * @param string $eventLinkParam The query parameter used to extract the event link. Default is 'event_link'. + * + * @return FileDTO[]|null Returns an array containing the new datasheet if unique, or null if the datasheet is a duplicate or invalid. + * + * @see FileDTO Used to create datasheet objects with a URL and name. + */ + private function parseDataSheets(?string $sheetUrl, ?string $sheetName, array $existingDatasheets = [], string $eventLinkParam = 'event_link'): ?array + { + if ($sheetUrl === null || $sheetUrl === '' || $sheetUrl === '0') { + return null; + } + + // If the datasheet name is not provided, extract it from the URL + if ($sheetName === null) { + // Extract parameters from the query string of the URL + $queryParams = []; + $urlComponents = parse_url($sheetUrl); + if (isset($urlComponents['query'])) { + parse_str($urlComponents['query'], $queryParams); + } + // If the "event_link" parameter exists, use it to extract the PDF file name + if (isset($queryParams[$eventLinkParam])) { + $eventLink = $queryParams[$eventLinkParam]; + $sheetName = basename(parse_url($eventLink, PHP_URL_PATH)); + } else { + // If "event_link" does not exist, try to extract the name from the main URL path + $sheetName = basename($urlComponents['path']); + if (!str_contains($sheetName, '.') || !preg_match('/\.(pdf|doc|docx|xls|xlsx|ppt|pptx)$/i', $sheetName)) { + // If the name does not have a valid extension, assign a default name + $sheetName = 'datasheet_' . uniqid('', true) . '.pdf'; + } + } + } + + // Create an array of existing file names + $existingNames = array_map(static function ($existingDatasheet) { + return $existingDatasheet->name; + }, $existingDatasheets); + + // Check if the name already exists + if (in_array($sheetName, $existingNames, true)) { + // The name already exists, so do not add the datasheet + return null; + } + + // Create an array with the datasheet data if it does not already exist + $result = []; + $result[] = new FileDTO(url: $sheetUrl, name: $sheetName); + return $result; + } + + /** + * Converts the lifecycle status from the API to a ManufacturingStatus + * - "Factory Special Order" / "Ordine speciale in fabbrica" + * - "Not Recommended for New Designs" / "Non raccomandato per nuovi progetti" + * - "New Product" / "Nuovo prodotto" (if availableInStock > 0 else ANNOUNCED) + * - "End of Life" / "Fine vita" + * - vuoto / "Attivo" + * + * @param string|null $productStatus The lifecycle status from the Mouser API. Expected values are: + * - "Factory Special Order" + * - "Not Recommended for New Designs" + * - "New Product" + * - "End of Life" + * - "Obsolete" + * @param int $availableInStock The number of parts available in stock. + * @return ManufacturingStatus|null Returns the corresponding ManufacturingStatus or null if the status is unknown. + * + * @todo Probably need to review the values of field Lifecyclestatus. + */ + private function releaseStatusCodeToManufacturingStatus(?string $productStatus, int $availableInStock = 0): ?ManufacturingStatus + { + $tmp = match ($productStatus) { + null => null, + "New Product" => ManufacturingStatus::ANNOUNCED, + "Not Recommended for New Designs" => ManufacturingStatus::NRFND, + "Factory Special Order", "Obsolete" => ManufacturingStatus::DISCONTINUED, + "End of Life" => ManufacturingStatus::EOL, + default => null, //ManufacturingStatus::ACTIVE, + }; + + //If the part would be assumed to be announced, check if it is in stock, then it is active + if ($tmp === ManufacturingStatus::ANNOUNCED && $availableInStock > 0) { + $tmp = ManufacturingStatus::ACTIVE; + } + + return $tmp; + } + + /** + * Parses the given product description to extract parameters and convert them into `ParameterDTO` objects. + * If the description contains only a single `:`, it is considered unstructured and ignored. + * The function processes the description by searching for key-value pairs in the format `name: value`, + * ignoring any parts of the description that do not follow this format. Parameters are split using either + * `;` or `,` as separators. + * + * The extraction logic handles typical values, ranges, units, and textual information from the description. + * If the description is empty or cannot be processed into valid parameters, the function returns null. + * + * @param string|null $description The description text from which parameters are to be extracted. + * + * @return ParameterDTO[]|null Returns an array of `ParameterDTO` objects if parameters are successfully extracted, + * or null if no valid parameters can be extracted from the description. + */ + private function parseDescriptionToParameters(?string $description): ?array + { + // If the description is null or empty, return null + if ($description === null || trim($description) === '') { + return null; + } + + // If the description contains only a single ':', return null + if (substr_count($description, ':') === 1) { + return null; + } + + // Array to store parsed parameters + $parameters = []; + + // Split the description using the ';' separator + $parts = preg_split('/[;,]/', $description); //explode(';', $description); + + // Process each part of the description + foreach ($parts as $part) { + $part = trim($part); + + // Check if the part contains a key-value structure + if (str_contains($part, ':')) { + [$name, $value] = explode(':', $part, 2); + $name = trim($name); + $value = trim($value); + + // Attempt to parse the value, handling ranges, units, and additional information + $parsedValue = $this->customParseValueIncludingUnit($name, $value); + + // If the value was successfully parsed, create a ParameterDTO + if ($parsedValue) { + // Convert numeric values to float + $value_typ = isset($parsedValue['value_typ']) ? (float)$parsedValue['value_typ'] : null; + $value_min = isset($parsedValue['value_min']) ? (float)$parsedValue['value_min'] : null; + $value_max = isset($parsedValue['value_max']) ? (float)$parsedValue['value_max'] : null; + + $parameters[] = new ParameterDTO( + name: $parsedValue['name'], + value_text: $parsedValue['value_text'] ?? null, + value_typ: $value_typ, + value_min: $value_min, + value_max: $value_max, + unit: $parsedValue['unit'] ?? null, // Add extracted unit + symbol: $parsedValue['symbol'] ?? null // Add extracted symbol + ); + } + } + } + + return !empty($parameters) ? $parameters : null; + } + + /** + * Parses a value that may contain both a numerical value and its corresponding unit. + * This function splits the value into its numerical part and its unit, handling cases + * where the value includes symbols, ranges, or additional text. It also detects and + * processes plus/minus ranges, typical values, and other special formats. + * + * Example formats that can be handled: + * - "2.5V" + * - "±5%" + * - "1-10A" + * - "2.5 @text" + * - "~100 Ohm" + * + * @param string $value The value string to be parsed, which may contain a number, unit, or both. + * + * @return array An associative array with parsed components: + * - 'name' => string (the name of the parameter) + * - 'value_typ' => float|null (the typical or parsed value) + * - 'range_min' => float|null (the minimum value if it's a range) + * - 'range_max' => float|null (the maximum value if it's a range) + * - 'value_text' => string|null (any additional text or symbol) + * - 'unit' => string|null (the detected or default unit) + * - 'symbol' => string|null (any special symbol or additional text) + */ + private function customParseValueIncludingUnit(string $name, string $value): array + { + // Parse using logic for units, ranges, and other elements + $result = [ + 'name' => $name, + 'value_typ' => null, + 'value_min' => null, + 'value_max' => null, + 'value_text' => null, + 'unit' => null, + 'symbol' => null, + ]; + + // Trim any whitespace from the value + $value = trim($value); + + // Handle ranges and plus/minus signs + if (str_contains($value, '...') || str_contains($value, '~') || str_contains($value, '±')) { + // Handle ranges + $value = str_replace(['...', '~'], '...', $value); // Normalize range separators + $rangeParts = preg_split('/\s*[\.\~]\s*/', $value); + + if (count($rangeParts) === 2) { + // Splitting the values and units + $parsedMin = $this->customSplitIntoValueAndUnit($rangeParts[0]); + $parsedMax = $this->customSplitIntoValueAndUnit($rangeParts[1]); + + // Assigning the parsed values + $result['value_min'] = $parsedMin['value_typ']; + $result['value_max'] = $parsedMax['value_typ']; + + // Determine the unit + $result['unit'] = $parsedMax['unit'] ?? $parsedMin['unit']; + } + + } elseif (str_contains($value, '@')) { + // If we find "@", we treat it as additional textual information + [$numericValue, $textValue] = explode('@', $value); + $result['value_typ'] = (float) $numericValue; + $result['value_text'] = trim($textValue); + } else { + // Check if the value is numeric with a unit + if (preg_match('/^([\+\-]?\d+(\.\d+)?)([a-zA-Z%°]+)?$/u', $value, $matches)) { + // It is a number with or without a unit + $result['value_typ'] = isset($matches[1]) ? (float)$matches[1] : null; + $result['unit'] = $matches[3] ?? null; + } else { + // It's not a number, so we treat it as text + $result['value_text'] = $value; + } + } + + return $result; + } + + /** + * Splits a string into a numerical value and its associated unit. The function attempts to separate + * a number from its unit, handling common formats where the unit follows the number (e.g., "50kHz", "10A"). + * The function assumes the unit is the non-numeric part of the string. + * + * Example formats that can be handled: + * - "100 Ohm" + * - "10 MHz" + * - "5kV" + * - "±5%" + * + * @param string $value1 The input string containing both a numerical value and a unit. + * @param string|null $value2 Optional. A second value string, typically used for ranges (e.g., "10-20A"). + * + * @return array An associative array with the following elements: + * - 'value_typ' => string|null The first numerical part of the string. + * - 'unit' => string|null The unit part of the string, or null if no unit is detected. + * - 'value_min' => string|null The minimum value in a range, if applicable. + * - 'value_max' => string|null The maximum value in a range, if applicable. + */ + private function customSplitIntoValueAndUnit(string $value1, string $value2 = null): array + { + // Separate numbers and units (basic parsing handling) + $unit = null; + $value_typ = null; + + // Search for the number + unit pattern + if (preg_match('/^([\+\-]?\d+(\.\d+)?)([a-zA-Z%°]+)?$/u', $value1, $matches)) { + $value_typ = $matches[1]; + $unit = $matches[3] ?? null; + } + + $result = [ + 'value_typ' => $value_typ, + 'unit' => $unit, + ]; + + if ($value2 !== null) { + if (preg_match('/^([\+\-]?\d+(\.\d+)?)([a-zA-Z%°]+)?$/u', $value2, $matches2)) { + $result['value_min'] = $value_typ; + $result['value_max'] = $matches2[1]; + $result['unit'] = $matches2[3] ?? $unit; // If both values have the same unit, we keep it + } + } + + return $result; + } + + /** + * Generates the API URL to fetch product information for the specified part number from OEMSecrets. + * Ensures that the base API URL and any query parameters are properly formatted. + * + * @param string $partNumber The part number to include in the URL. + * @param string $oemInquiry The inquiry path for the OEMSecrets API, with a default value of 'compare/'. + * This parameter represents the specific API endpoint to query. + * + * @return string The complete provider URL including the base provider URL, the inquiry path, and the part number. + * + * Example: + * If the base URL is "https://www.oemsecrets.com/", the inquiry path is "compare/", and the part number is "NE555", + * the resulting URL will be: "https://www.oemsecrets.com/compare/NE555" + */ + private function generateInquiryUrl(string $partNumber, string $oemInquiry = 'compare/'): string + { + $baseUrl = rtrim($this->getProviderInfo()['url'], '/') . '/'; + $inquiryPath = trim($oemInquiry, '/') . '/'; + $encodedPartNumber = urlencode(trim($partNumber)); + return $baseUrl . $inquiryPath . $encodedPartNumber; + } + + /** + * Sorts the results data array based on the specified search keyword and sorting criteria. + * The sorting process involves multiple phases: + * 1. Exact match with the search keyword. + * 2. Prefix match with the search keyword. + * 3. Alphabetical order of the suffix following the keyword. + * 4. Optional sorting by completeness or manufacturer based on the sort criteria. + * + * The sorting criteria (`sort_criteria`) is an environment variable configured in the `.env.local` file: + * PROVIDER_OEMSECRETS_SORT_CRITERIA + * It determines the final sorting phase: + * - 'C': Sort by completeness. + * - 'M': Sort by manufacturer. + * + * @param array $resultsData The array of result objects to be sorted. Each object should have 'name' and 'manufacturer' properties. + * @param string $searchKeyword The search keyword used for sorting the results. + * + * @return void + */ + private function sortResultsData(array &$resultsData, string $searchKeyword): void + { + // If the SORT_CRITERIA is not 'C' or 'M', do not sort + if ($this->sort_criteria !== 'C' && $this->sort_criteria !== 'M') { + return; + } + usort($resultsData, function ($a, $b) use ($searchKeyword) { + $nameA = trim($a->name); + $nameB = trim($b->name); + + // First phase: Sorting by exact match with the keyword + $exactMatchA = strcasecmp($nameA, $searchKeyword) === 0; + $exactMatchB = strcasecmp($nameB, $searchKeyword) === 0; + + if ($exactMatchA && !$exactMatchB) { + return -1; + } elseif (!$exactMatchA && $exactMatchB) { + return 1; + } + + // Second phase: Sorting by prefix (name starting with the keyword) + $startsWithKeywordA = stripos($nameA, $searchKeyword) === 0; + $startsWithKeywordB = stripos($nameB, $searchKeyword) === 0; + + if ($startsWithKeywordA && !$startsWithKeywordB) { + return -1; + } elseif (!$startsWithKeywordA && $startsWithKeywordB) { + return 1; + } + + if ($startsWithKeywordA && $startsWithKeywordB) { + // Alphabetical sorting of suffixes + $suffixA = substr($nameA, strlen($searchKeyword)); + $suffixB = substr($nameB, strlen($searchKeyword)); + $suffixComparison = strcasecmp($suffixA, $suffixB); + + if ($suffixComparison !== 0) { + return $suffixComparison; + } + } + + // Final sorting: by completeness or manufacturer, if necessary + if ($this->sort_criteria === 'C') { + return $this->compareByCompleteness($a, $b); + } elseif ($this->sort_criteria === 'M') { + return strcasecmp($a->manufacturer, $b->manufacturer); + } + + }); + } + + /** + * Compares two objects based on their "completeness" score. + * The completeness score is calculated by the `calculateCompleteness` method, which assigns a numeric score + * based on the amount of information (such as parameters, datasheets, images, etc.) available for each object. + * The comparison is done in descending order, giving priority to the objects with higher completeness. + * + * @param object $a The first object to compare. + * @param object $b The second object to compare. + * + * @return int A negative value if $b is more complete than $a, zero if they are equally complete, + * or a positive value if $a is more complete than $b. + */ + private function compareByCompleteness(object $a, object $b): int + { + // Calculate the completeness score for each object + $completenessA = $this->calculateCompleteness($a); + $completenessB = $this->calculateCompleteness($b); + + // Sort in descending order by completeness (higher score is better) + return $completenessB - $completenessA; + } + + + /** + * Calculates a "completeness" score for a given part object based on the presence and count of various attributes. + * The completeness score is used to prioritize parts that have more detailed information. + * + * The score is calculated as follows: + * - Counts the number of elements in the `parameters`, `datasheets`, `images`, and `vendor_infos` arrays. + * - Adds 1 point for the presence of `category`, `description`, `mpn`, `preview_image_url`, and `footprint`. + * - Adds 1 or 2 points based on the presence or absence of `manufacturing_status` (higher score if `null`). + * + * @param object $part The part object for which the completeness score is calculated. The object is expected + * to have properties like `parameters`, `datasheets`, `images`, `vendor_infos`, `category`, + * `description`, `mpn`, `preview_image_url`, `footprint`, and `manufacturing_status`. + * + * @return int The calculated completeness score, with a higher score indicating more complete information. + */ + private function calculateCompleteness(object $part): int + { + // Counts the number of elements in each field that can have multiple values + $paramsCount = is_array($part->parameters) ? count($part->parameters) : 0; + $datasheetsCount = is_array($part->datasheets) ? count($part->datasheets) : 0; + $imagesCount = is_array($part->images) ? count($part->images) : 0; + $vendorInfosCount = is_array($part->vendor_infos) ? count($part->vendor_infos) : 0; + + // Check for the presence of single fields and assign a score + $categoryScore = !empty($part->category) ? 1 : 0; + $descriptionScore = !empty($part->description) ? 1 : 0; + $mpnScore = !empty($part->mpn) ? 1 : 0; + $previewImageScore = !empty($part->preview_image_url) ? 1 : 0; + $footprintScore = !empty($part->footprint) ? 1 : 0; + + // Weight for manufacturing_status: higher if null + $manufacturingStatusScore = is_null($part->manufacturing_status) ? 2 : 1; + + // Sum the counts and scores to obtain a completeness score + return $paramsCount + + $datasheetsCount + + $imagesCount + + $vendorInfosCount + + $categoryScore + + $descriptionScore + + $mpnScore + + $previewImageScore + + $footprintScore + + $manufacturingStatusScore; + } + + + /** + * Generates a unique provider ID by concatenating the part number and manufacturer name, + * separated by a pipe (`|`). The generated ID is typically used to uniquely identify + * a specific part from a particular manufacturer. + * + * @param string $partNumber The part number of the product. + * @param string $manufacturer The name of the manufacturer. + * + * @return string The generated provider ID, in the format "partNumber|manufacturer". + */ + private function generateProviderId(string $partNumber, string $manufacturer): string + { + return trim($partNumber) . '|' . trim($manufacturer); + } + + /** + * Maps the name of a country to its corresponding ISO 3166-1 alpha-2 code. + * + * @param string|null $countryName The name of the country to map. + * @return string|null The ISO code for the country, or null if not found. + */ + private function mapCountryNameToCode(?string $countryName): ?string + { + return $this->countryNameToCodeMap[$countryName] ?? null; + } + +} \ No newline at end of file From 69978618112c606c686a2e61b9542c6b682da3a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Mon, 9 Sep 2024 14:52:09 +0200 Subject: [PATCH 036/287] [OEMSecrets provider] Extract real URLs and remove tracking parts --- .../Providers/OEMSecretsProvider.php | 63 +++++++++++++------ 1 file changed, 43 insertions(+), 20 deletions(-) diff --git a/src/Services/InfoProviderSystem/Providers/OEMSecretsProvider.php b/src/Services/InfoProviderSystem/Providers/OEMSecretsProvider.php index 12e63f7f..fc10bff8 100644 --- a/src/Services/InfoProviderSystem/Providers/OEMSecretsProvider.php +++ b/src/Services/InfoProviderSystem/Providers/OEMSecretsProvider.php @@ -390,7 +390,7 @@ class OEMSecretsProvider implements InfoProviderInterface //Force garbage collection to free up memory gc_collect_cycles(); - + return $results; } @@ -843,7 +843,7 @@ class OEMSecretsProvider implements InfoProviderInterface distributor_name: $distributor_name, order_number: $order_number, prices: $priceDTOs, - product_url: $product['buy_now_url'] ?? '' + product_url: $this->unwrapURL($product['buy_now_url'] ?? null) ); } return null; // Return null if no valid distributor exists @@ -974,37 +974,32 @@ class OEMSecretsProvider implements InfoProviderInterface * @param string|null $sheetUrl The URL of the datasheet. * @param string|null $sheetName The optional name of the datasheet. If null, the name is extracted from the URL. * @param array $existingDatasheets The array of existing datasheets to check for duplicates. - * @param string $eventLinkParam The query parameter used to extract the event link. Default is 'event_link'. * * @return FileDTO[]|null Returns an array containing the new datasheet if unique, or null if the datasheet is a duplicate or invalid. * * @see FileDTO Used to create datasheet objects with a URL and name. */ - private function parseDataSheets(?string $sheetUrl, ?string $sheetName, array $existingDatasheets = [], string $eventLinkParam = 'event_link'): ?array + private function parseDataSheets(?string $sheetUrl, ?string $sheetName, array $existingDatasheets = []): ?array { if ($sheetUrl === null || $sheetUrl === '' || $sheetUrl === '0') { return null; } + //Unwrap the URL (remove analytics part) + $sheetUrl = $this->unwrapURL($sheetUrl); + // If the datasheet name is not provided, extract it from the URL if ($sheetName === null) { - // Extract parameters from the query string of the URL - $queryParams = []; - $urlComponents = parse_url($sheetUrl); - if (isset($urlComponents['query'])) { - parse_str($urlComponents['query'], $queryParams); + $urlPath = parse_url($sheetUrl, PHP_URL_PATH); + if ($urlPath === false) { + throw new \RuntimeException("Invalid URL path: $sheetUrl"); } - // If the "event_link" parameter exists, use it to extract the PDF file name - if (isset($queryParams[$eventLinkParam])) { - $eventLink = $queryParams[$eventLinkParam]; - $sheetName = basename(parse_url($eventLink, PHP_URL_PATH)); - } else { - // If "event_link" does not exist, try to extract the name from the main URL path - $sheetName = basename($urlComponents['path']); - if (!str_contains($sheetName, '.') || !preg_match('/\.(pdf|doc|docx|xls|xlsx|ppt|pptx)$/i', $sheetName)) { - // If the name does not have a valid extension, assign a default name - $sheetName = 'datasheet_' . uniqid('', true) . '.pdf'; - } + + // If "event_link" does not exist, try to extract the name from the main URL path + $sheetName = basename($urlPath); + if (!str_contains($sheetName, '.') || !preg_match('/\.(pdf|doc|docx|xls|xlsx|ppt|pptx)$/i', $sheetName)) { + // If the name does not have a valid extension, assign a default name + $sheetName = 'datasheet_' . uniqid('', true) . '.pdf'; } } @@ -1447,4 +1442,32 @@ class OEMSecretsProvider implements InfoProviderInterface return $this->countryNameToCodeMap[$countryName] ?? null; } + /** + * Removes the analytics tracking parts from the URLs returned by the API. + * + * @param string|null $url + * @return string|null + */ + private function unwrapURL(?string $url): ?string + { + if ($url === null) { + return null; + } + + //Check if the URL is a one redirected via analytics + if (str_contains($url, 'analytics.oemsecrets.com/main.php')) { + //Extract the URL from the analytics URL + $queryParams = []; + parse_str(parse_url($url, PHP_URL_QUERY), $queryParams); + + //The real URL is stored in the 'event_link' query parameter + if (isset($queryParams['event_link']) && trim($queryParams['event_link']) !== '') { + return $queryParams['event_link']; + } + } + + //Otherwise return the URL as it is + return $url; + } + } \ No newline at end of file From dd03ca943d918a8d41d8e834eea2fa1a85fbb751 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Mon, 9 Sep 2024 14:52:18 +0200 Subject: [PATCH 037/287] Fixed phpstan issues --- .../InfoProviderSystem/Providers/OEMSecretsProvider.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Services/InfoProviderSystem/Providers/OEMSecretsProvider.php b/src/Services/InfoProviderSystem/Providers/OEMSecretsProvider.php index fc10bff8..afce5d85 100644 --- a/src/Services/InfoProviderSystem/Providers/OEMSecretsProvider.php +++ b/src/Services/InfoProviderSystem/Providers/OEMSecretsProvider.php @@ -1195,7 +1195,7 @@ class OEMSecretsProvider implements InfoProviderInterface // Check if the value is numeric with a unit if (preg_match('/^([\+\-]?\d+(\.\d+)?)([a-zA-Z%°]+)?$/u', $value, $matches)) { // It is a number with or without a unit - $result['value_typ'] = isset($matches[1]) ? (float)$matches[1] : null; + $result['value_typ'] = (float) $matches[1]; $result['unit'] = $matches[3] ?? null; } else { // It's not a number, so we treat it as text From 87a518703ffdb90f62b6938a76a501b0dbe1a82c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Mon, 9 Sep 2024 16:23:12 +0200 Subject: [PATCH 038/287] Escape spaces in unnwrapped urls to avoid invalid URLs --- .../InfoProviderSystem/Providers/OEMSecretsProvider.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Services/InfoProviderSystem/Providers/OEMSecretsProvider.php b/src/Services/InfoProviderSystem/Providers/OEMSecretsProvider.php index afce5d85..f3b59adc 100644 --- a/src/Services/InfoProviderSystem/Providers/OEMSecretsProvider.php +++ b/src/Services/InfoProviderSystem/Providers/OEMSecretsProvider.php @@ -1462,7 +1462,10 @@ class OEMSecretsProvider implements InfoProviderInterface //The real URL is stored in the 'event_link' query parameter if (isset($queryParams['event_link']) && trim($queryParams['event_link']) !== '') { - return $queryParams['event_link']; + $url = $queryParams['event_link']; + + //Replace any spaces in the URL by %20 to avoid invalid URLs + return str_replace(' ', '%20', $url); } } From 8554be9abde5604ce069a693056c2cfbf322cb47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Mon, 9 Sep 2024 16:41:19 +0200 Subject: [PATCH 039/287] Show number of results for info provider search and show a notice, if no results were found --- .../search/part_search.html.twig | 153 +++++++++--------- translations/messages.en.xlf | 78 +++++---- 2 files changed, 126 insertions(+), 105 deletions(-) diff --git a/templates/info_providers/search/part_search.html.twig b/templates/info_providers/search/part_search.html.twig index 78e06283..0de72587 100644 --- a/templates/info_providers/search/part_search.html.twig +++ b/templates/info_providers/search/part_search.html.twig @@ -38,81 +38,90 @@ {{ form_end(form) }} {% if results is not null %} - - - - - - - - - - - - - - {% for result in results %} + + {% if results|length > 0 %} + {% trans with {'%number%': results|length} %}info_providers.search.number_of_results{% endtrans %}: + +
{% trans %}name.label{% endtrans %} / {% trans %}part.table.mpn{% endtrans %}{% trans %}description.label{% endtrans %} / {% trans %}category.label{% endtrans %}{% trans %}manufacturer.label{% endtrans %} / {% trans %}footprint.label{% endtrans %}{% trans %}part.table.manufacturingStatus{% endtrans %}{% trans %}info_providers.table.provider.label{% endtrans %}
+ - - - - - - + + + + + + + - {% endfor %} + + + {% for result in results %} + + + -
- - - {% if result.provider_url is not null %} - {{ result.name }} - {% else %} - {{ result.name }} - {% endif %} - - {% if result.mpn is not null %} -
- {{ result.mpn }} - {% endif %} -
- {{ result.description }} - {% if result.category is not null %} -
- {{ result.category }} - {% endif %} -
- {{ result.manufacturer ?? '' }} - {% if result.footprint is not null %} -
- {{ result.footprint }} - {% endif %} -
{{ helper.m_status_to_badge(result.manufacturing_status) }} - {% if result.provider_url %} - - {{ info_provider_label(result.provider_key)|default(result.provider_key) }} - - {% else %} - {{ info_provider_label(result.provider_key)|default(result.provider_key) }} - {% endif %} -
- {{ result.provider_id }} -
- {% if update_target %} {# We update an existing part #} - {% set href = path('info_providers_update_part', - {'providerKey': result.provider_key, 'providerId': result.provider_id, 'id': update_target.iD}) %} - {% else %} {# Create a fresh part #} - {% set href = path('info_providers_create_part', - {'providerKey': result.provider_key, 'providerId': result.provider_id}) %} - {% endif %} - - - - - {% trans %}name.label{% endtrans %} / {% trans %}part.table.mpn{% endtrans %}{% trans %}description.label{% endtrans %} / {% trans %}category.label{% endtrans %}{% trans %}manufacturer.label{% endtrans %} / {% trans %}footprint.label{% endtrans %}{% trans %}part.table.manufacturingStatus{% endtrans %}{% trans %}info_providers.table.provider.label{% endtrans %}
+ + + {% if result.provider_url is not null %} + {{ result.name }} + {% else %} + {{ result.name }} + {% endif %} -
+ {% if result.mpn is not null %} +
+ {{ result.mpn }} + {% endif %} + + + {{ result.description }} + {% if result.category is not null %} +
+ {{ result.category }} + {% endif %} + + + {{ result.manufacturer ?? '' }} + {% if result.footprint is not null %} +
+ {{ result.footprint }} + {% endif %} + + {{ helper.m_status_to_badge(result.manufacturing_status) }} + + {% if result.provider_url %} + + {{ info_provider_label(result.provider_key)|default(result.provider_key) }} + + {% else %} + {{ info_provider_label(result.provider_key)|default(result.provider_key) }} + {% endif %} +
+ {{ result.provider_id }} + + {% if update_target %} {# We update an existing part #} + {% set href = path('info_providers_update_part', + {'providerKey': result.provider_key, 'providerId': result.provider_id, 'id': update_target.iD}) %} + {% else %} {# Create a fresh part #} + {% set href = path('info_providers_create_part', + {'providerKey': result.provider_key, 'providerId': result.provider_id}) %} + {% endif %} + + + + + + + {% endfor %} + + + + {% else %} + + {% endif %} {% endif %} {% endblock %} diff --git a/translations/messages.en.xlf b/translations/messages.en.xlf index 9c606df3..3c2c3253 100644 --- a/translations/messages.en.xlf +++ b/translations/messages.en.xlf @@ -242,7 +242,7 @@ part.info.timetravel_hint - This is how the part appeared before %timestamp%. <i>Please note that this feature is experimental, so the info may not be correct.</i> + Please note that this feature is experimental, so the info may not be correct.]]>
@@ -731,10 +731,10 @@ user.edit.tfa.disable_tfa_message - This will disable <b>all active two-factor authentication methods of the user</b> and delete the <b>backup codes</b>! -<br> -The user will have to set up all two-factor authentication methods again and print new backup codes! <br><br> -<b>Only do this if you are absolutely sure about the identity of the user (seeking help), otherwise the account could be compromised by an attacker!</b> + all active two-factor authentication methods of the user and delete the backup codes! +
+The user will have to set up all two-factor authentication methods again and print new backup codes!

+Only do this if you are absolutely sure about the identity of the user (seeking help), otherwise the account could be compromised by an attacker!]]>
@@ -893,9 +893,9 @@ The user will have to set up all two-factor authentication methods again and pri entity.delete.message - This can not be undone! -<br> -Sub elements will be moved upwards. + +Sub elements will be moved upwards.]]> @@ -1449,7 +1449,7 @@ Sub elements will be moved upwards. homepage.github.text - Source, downloads, bug reports, to-do-list etc. can be found on <a href="%href%" class="link-external" target="_blank">GitHub project page</a> + GitHub project page]]> @@ -1471,7 +1471,7 @@ Sub elements will be moved upwards. homepage.help.text - Help and tips can be found in Wiki the <a href="%href%" class="link-external" target="_blank">GitHub page</a> + GitHub page]]> @@ -1713,7 +1713,7 @@ Sub elements will be moved upwards. email.pw_reset.fallback - If this does not work for you, go to <a href="%url%">%url%</a> and enter the following info + %url% and enter the following info]]> @@ -1743,7 +1743,7 @@ Sub elements will be moved upwards. email.pw_reset.valid_unit %date% - The reset token will be valid until <i>%date%</i>. + %date%.]]> @@ -3586,8 +3586,8 @@ Sub elements will be moved upwards. tfa_google.disable.confirm_message - If you disable the Authenticator App, all backup codes will be deleted, so you may need to reprint them.<br> -Also note that without two-factor authentication, your account is no longer as well protected against attackers! + +Also note that without two-factor authentication, your account is no longer as well protected against attackers!]]> @@ -3607,7 +3607,7 @@ Also note that without two-factor authentication, your account is no longer as w tfa_google.step.download - Download an authenticator app (e.g. <a class="link-external" target="_blank" href="https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2">Google Authenticator</a> oder <a class="link-external" target="_blank" href="https://play.google.com/store/apps/details?id=org.fedorahosted.freeotp">FreeOTP Authenticator</a>) + Google Authenticator oder FreeOTP Authenticator)]]> @@ -3849,8 +3849,8 @@ Also note that without two-factor authentication, your account is no longer as w tfa_trustedDevices.explanation - When checking the second factor, the current computer can be marked as trustworthy, so no more two-factor checks on this computer are needed. -If you have done this incorrectly or if a computer is no longer trusted, you can reset the status of <i>all </i>computers here. + all computers here.]]> @@ -5321,7 +5321,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can label_options.lines_mode.help - If you select Twig here, the content field is interpreted as Twig template. See <a href="https://twig.symfony.com/doc/3.x/templates.html">Twig documentation</a> and <a href="https://docs.part-db.de/usage/labels.html#twig-mode">Wiki</a> for more information. + Twig documentation and Wiki for more information.]]> @@ -9396,25 +9396,25 @@ Element 3 filter.parameter_value_constraint.operator.< - Typ. Value < + filter.parameter_value_constraint.operator.> - Typ. Value > + ]]> filter.parameter_value_constraint.operator.<= - Typ. Value <= + filter.parameter_value_constraint.operator.>= - Typ. Value >= + =]]> @@ -9522,7 +9522,7 @@ Element 3 parts_list.search.searching_for - Searching parts with keyword <b>%keyword%</b> + %keyword%]]> @@ -10182,13 +10182,13 @@ Element 3 project.builds.number_of_builds_possible - You have enough stocked to build <b>%max_builds%</b> builds of this project. + %max_builds% builds of this project.]]> project.builds.check_project_status - The current project status is <b>"%project_status%"</b>. You should check if you really want to build the project with this status! + "%project_status%". You should check if you really want to build the project with this status!]]> @@ -10290,7 +10290,7 @@ Element 3 entity.select.add_hint - Use -> to create nested structures, e.g. "Node 1->Node 1.1" + to create nested structures, e.g. "Node 1->Node 1.1"]]> @@ -10314,13 +10314,13 @@ Element 3 homepage.first_steps.introduction - Your database is still empty. You might want to read the <a href="%url%">documentation</a> or start to creating the following data structures: + documentation or start to creating the following data structures:]]> homepage.first_steps.create_part - Or you can directly <a href="%url%">create a new part</a>. + create a new part.]]> @@ -10332,7 +10332,7 @@ Element 3 homepage.forum.text - For questions about Part-DB use the <a href="%href%" class="link-external" target="_blank">discussion forum</a> + discussion forum]]> @@ -10986,7 +10986,7 @@ Element 3 parts.import.help_documentation - See the <a href="%link%">documentation</a> for more information on the file format. + documentation for more information on the file format.]]> @@ -11166,7 +11166,7 @@ Element 3 part.filter.lessThanDesired - In stock less than desired (total amount < min. amount) + @@ -11978,13 +11978,13 @@ Please note, that you can not impersonate a disabled user. If you try you will g part.merge.confirm.title - Do you really want to merge <b>%other%</b> into <b>%target%</b>? + %other% into %target%?]]> part.merge.confirm.message - <b>%other%</b> will be deleted, and the part will be saved with the shown information. + %other% will be deleted, and the part will be saved with the shown information.]]> @@ -12209,5 +12209,17 @@ Please note, that you can not impersonate a disabled user. If you try you will g Created %COUNT% entities successfully.
+ + + info_providers.search.number_of_results + %number% results + + + + + info_providers.search.no_results + No results found at the selected providers! Check your search term or try to choose additional providers. + + From c2638991f26294e16ce6a0697356c43c59fb322a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Mon, 9 Sep 2024 17:02:45 +0200 Subject: [PATCH 040/287] Added documentation for OEMSecrets info provider --- docs/usage/information_provider_system.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/docs/usage/information_provider_system.md b/docs/usage/information_provider_system.md index 9abf75b8..ee9fd394 100644 --- a/docs/usage/information_provider_system.md +++ b/docs/usage/information_provider_system.md @@ -212,6 +212,26 @@ An API key is not required, it is enough to enable the provider using the follow * `PROVIDER_LCSC_ENABLED`: Set this to `1` to enable the LCSC provider * `PROVIDER_LCSC_CURRENCY`: The currency you want to get prices in (see LCSC webshop for available currencies, default: `EUR`) +### OEMsecrets + +The oemsecrets provider uses the [oemsecrets API](https://www.oemsecrets.com/) to search for parts and getting shopping +information from them. Similar to octopart it aggregates offers from different distributors. + +You can apply for a free API key on the [oemsecrets API page](https://www.oemsecrets.com/api/) and put the key you get +in the Part-DB env configuration (see below). + +The following env configuration options are available: + +* `PROVIDER_OEMSECRETS_KEY`: The API key you got from oemsecrets (mandatory) +* `PROVIDER_OEMSECRETS_COUNTRY_CODE`: The two-letter code of the country you want to get the prices for +* `PROVIDER_OEMSECRETS_CURRENCY`: The currency you want to get prices in (optional, default: `EUR`) +* `PROVIDER_OEMSECRETS_ZERO_PRICE`: If set to `1`, parts with a price of 0 will be included in the search results, otherwise + they will be excluded (optional, default: `0`) +* `PROVIDER_OEMSECRETS_SET_PARAM`: If set to `1`, the provider will try to extract parameters from the part description +* `PROVIDER_OEMSECRETS_SORT_CRITERIA`: The criteria to sort the search results by. If set to 'C', it further sorts by +completeness (prioritizing items with the most detailed information). If set to 'M', it further sorts by manufacturer name. +If set to any other value, no sorting is performed. + ### Custom provider To create a custom provider, you have to create a new class implementing the `InfoProviderInterface` interface. As long From b4e8136618cd0f5b423467815093554e268d4f64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Mon, 9 Sep 2024 20:26:26 +0200 Subject: [PATCH 041/287] Fixed problem with undeleting elements containing an embedded and propertly restore the infos of the embed This fixes issue #685 --- src/Services/LogSystem/TimeTravel.php | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/Services/LogSystem/TimeTravel.php b/src/Services/LogSystem/TimeTravel.php index 5b02653f..68d962bb 100644 --- a/src/Services/LogSystem/TimeTravel.php +++ b/src/Services/LogSystem/TimeTravel.php @@ -216,7 +216,10 @@ class TimeTravel $old_data = $logEntry->getOldData(); foreach ($old_data as $field => $data) { - if ($metadata->hasField($field)) { + + //We use the fieldMappings property directly instead of the hasField method, as we do not want to match the embedded field itself + //The sub fields are handled in the setField method + if (isset($metadata->fieldMappings[$field])) { //We need to convert the string to a BigDecimal first if (!$data instanceof BigDecimal && ('big_decimal' === $metadata->getFieldMapping($field)->type)) { $data = BigDecimal::of($data); @@ -224,7 +227,12 @@ class TimeTravel if (!$data instanceof \DateTimeInterface && (in_array($metadata->getFieldMapping($field)->type, - [Types::DATETIME_IMMUTABLE, Types::DATETIME_IMMUTABLE, Types::DATE_MUTABLE, Types::DATETIME_IMMUTABLE], true))) { + [ + Types::DATETIME_IMMUTABLE, + Types::DATETIME_IMMUTABLE, + Types::DATE_MUTABLE, + Types::DATETIME_IMMUTABLE + ], true))) { $data = $this->dateTimeDecode($data, $metadata->getFieldMapping($field)->type); } @@ -267,9 +275,11 @@ class TimeTravel $embeddedReflection = new ReflectionClass($embeddedClass::class); $property = $embeddedReflection->getProperty($embedded_field); + $target_element = $embeddedClass; } else { $reflection = new ReflectionClass($element::class); $property = $reflection->getProperty($field); + $target_element = $element; } //Check if the property is an BackedEnum, then convert the int or float value to an enum instance @@ -281,6 +291,6 @@ class TimeTravel $new_value = $enum_class::from($new_value); } - $property->setValue($element, $new_value); + $property->setValue($target_element, $new_value); } } From ddd725205146797ad3bbe26c23765703c61dfcc8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Lademann?= Date: Mon, 9 Sep 2024 20:29:25 +0200 Subject: [PATCH 042/287] Increase image size in list view #688 (#689) --- assets/css/app/images.css | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/assets/css/app/images.css b/assets/css/app/images.css index 9168484d..214776e7 100644 --- a/assets/css/app/images.css +++ b/assets/css/app/images.css @@ -51,7 +51,6 @@ .part-table-image { max-height: 40px; object-fit: contain; - width: 100%; } .part-info-image { @@ -61,4 +60,4 @@ .object-fit-cover { object-fit: cover; -} \ No newline at end of file +} From 86d3f87694f8196b2a96a15778d39c417e5c8b29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Mon, 9 Sep 2024 20:44:09 +0200 Subject: [PATCH 043/287] [Digikey provider] Do not try to interpret certain parameters (like packages) as numbers This fixes issue #682 --- .../Providers/DigikeyProvider.php | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/Services/InfoProviderSystem/Providers/DigikeyProvider.php b/src/Services/InfoProviderSystem/Providers/DigikeyProvider.php index e707290a..d8e93321 100644 --- a/src/Services/InfoProviderSystem/Providers/DigikeyProvider.php +++ b/src/Services/InfoProviderSystem/Providers/DigikeyProvider.php @@ -45,6 +45,14 @@ class DigikeyProvider implements InfoProviderInterface private readonly HttpClientInterface $digikeyClient; + /** + * A list of parameter IDs, that are always assumed as text only and will never be converted to a numerical value. + * This allows to fix issues like #682, where the "Supplier Device Package" was parsed as a numerical value. + */ + private const TEXT_ONLY_PARAMETERS = [ + 1291, //Supplier Device Package + 39246, //Package / Case + ]; public function __construct(HttpClientInterface $httpClient, private readonly OAuthTokenManager $authTokenManager, private readonly string $currency, private readonly string $clientId, @@ -214,7 +222,12 @@ class DigikeyProvider implements InfoProviderInterface continue; } - $results[] = ParameterDTO::parseValueIncludingUnit($parameter['Parameter'], $parameter['Value']); + //If the parameter was marked as text only, then we do not try to parse it as a numerical value + if (in_array($parameter['ParameterId'], self::TEXT_ONLY_PARAMETERS, true)) { + $results[] = new ParameterDTO(name: $parameter['Parameter'], value_text: $parameter['Value']); + } else { //Otherwise try to parse it as a numerical value + $results[] = ParameterDTO::parseValueIncludingUnit($parameter['Parameter'], $parameter['Value']); + } } return $results; From 84c54d0b25eed6cecedfd2e915a023fb21c38c42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Mon, 9 Sep 2024 21:13:44 +0200 Subject: [PATCH 044/287] Removed NumberType fixes, as these is now part of the upstream symfony --- src/Form/Fixes/FixNumberType.php | 51 ---- ...ixedNumberToLocalizedStringTransformer.php | 228 ------------------ .../Helper/ExponentialNumberTransformer.php | 4 +- 3 files changed, 2 insertions(+), 281 deletions(-) delete mode 100644 src/Form/Fixes/FixNumberType.php delete mode 100644 src/Form/Fixes/FixedNumberToLocalizedStringTransformer.php diff --git a/src/Form/Fixes/FixNumberType.php b/src/Form/Fixes/FixNumberType.php deleted file mode 100644 index a020a9b9..00000000 --- a/src/Form/Fixes/FixNumberType.php +++ /dev/null @@ -1,51 +0,0 @@ -. - */ - -declare(strict_types=1); - - -namespace App\Form\Fixes; - -use Symfony\Component\Form\AbstractTypeExtension; -use Symfony\Component\Form\Extension\Core\Type\NumberType; -use Symfony\Component\Form\FormBuilderInterface; - -class FixNumberType extends AbstractTypeExtension -{ - - public function buildForm(FormBuilderInterface $builder, array $options) - { - //Remove existing view transformers - $builder->resetViewTransformers(); - - //And add our fixed version - $builder->addViewTransformer(new FixedNumberToLocalizedStringTransformer( - $options['scale'], - $options['grouping'], - $options['rounding_mode'], - $options['html5'] ? 'en' : null - )); - } - - public static function getExtendedTypes(): iterable - { - return [NumberType::class]; - } -} \ No newline at end of file diff --git a/src/Form/Fixes/FixedNumberToLocalizedStringTransformer.php b/src/Form/Fixes/FixedNumberToLocalizedStringTransformer.php deleted file mode 100644 index 5d8c439f..00000000 --- a/src/Form/Fixes/FixedNumberToLocalizedStringTransformer.php +++ /dev/null @@ -1,228 +0,0 @@ -. - */ - - -namespace App\Form\Fixes; - -use Symfony\Component\Form\DataTransformerInterface; -use Symfony\Component\Form\Exception\TransformationFailedException; - -/** - * Same as the default NumberToLocalizedStringTransformer, but with a fix for the decimal separator. - * See https://github.com/symfony/symfony/pull/57861 - */ -class FixedNumberToLocalizedStringTransformer implements DataTransformerInterface -{ - protected $grouping; - - protected $roundingMode; - - private ?int $scale; - private ?string $locale; - - public function __construct(?int $scale = null, ?bool $grouping = false, ?int $roundingMode = \NumberFormatter::ROUND_HALFUP, ?string $locale = null) - { - $this->scale = $scale; - $this->grouping = $grouping ?? false; - $this->roundingMode = $roundingMode ?? \NumberFormatter::ROUND_HALFUP; - $this->locale = $locale; - } - - /** - * Transforms a number type into localized number. - * - * @param int|float|null $value Number value - * - * @throws TransformationFailedException if the given value is not numeric - * or if the value cannot be transformed - */ - public function transform(mixed $value): string - { - if (null === $value) { - return ''; - } - - if (!is_numeric($value)) { - throw new TransformationFailedException('Expected a numeric.'); - } - - $formatter = $this->getNumberFormatter(); - $value = $formatter->format($value); - - if (intl_is_failure($formatter->getErrorCode())) { - throw new TransformationFailedException($formatter->getErrorMessage()); - } - - // Convert non-breaking and narrow non-breaking spaces to normal ones - $value = str_replace(["\xc2\xa0", "\xe2\x80\xaf"], ' ', $value); - - return $value; - } - - /** - * Transforms a localized number into an integer or float. - * - * @param string $value The localized value - * - * @throws TransformationFailedException if the given value is not a string - * or if the value cannot be transformed - */ - public function reverseTransform(mixed $value): int|float|null - { - if (null !== $value && !\is_string($value)) { - throw new TransformationFailedException('Expected a string.'); - } - - if (null === $value || '' === $value) { - return null; - } - - if (\in_array($value, ['NaN', 'NAN', 'nan'], true)) { - throw new TransformationFailedException('"NaN" is not a valid number.'); - } - - $position = 0; - $formatter = $this->getNumberFormatter(); - $groupSep = $formatter->getSymbol(\NumberFormatter::GROUPING_SEPARATOR_SYMBOL); - $decSep = $formatter->getSymbol(\NumberFormatter::DECIMAL_SEPARATOR_SYMBOL); - - if ('.' !== $decSep && (!$this->grouping || '.' !== $groupSep)) { - $value = str_replace('.', $decSep, $value); - } - - if (',' !== $decSep && (!$this->grouping || ',' !== $groupSep)) { - $value = str_replace(',', $decSep, $value); - } - - //If the value is in exponential notation with a negative exponent, we end up with a float value too - if (str_contains($value, $decSep) || stripos($value, 'e-') !== false) { - $type = \NumberFormatter::TYPE_DOUBLE; - } else { - $type = \PHP_INT_SIZE === 8 - ? \NumberFormatter::TYPE_INT64 - : \NumberFormatter::TYPE_INT32; - } - - $result = $formatter->parse($value, $type, $position); - - if (intl_is_failure($formatter->getErrorCode())) { - throw new TransformationFailedException($formatter->getErrorMessage()); - } - - if ($result >= \PHP_INT_MAX || $result <= -\PHP_INT_MAX) { - throw new TransformationFailedException('I don\'t have a clear idea what infinity looks like.'); - } - - $result = $this->castParsedValue($result); - - if (false !== $encoding = mb_detect_encoding($value, null, true)) { - $length = mb_strlen($value, $encoding); - $remainder = mb_substr($value, $position, $length, $encoding); - } else { - $length = \strlen($value); - $remainder = substr($value, $position, $length); - } - - // After parsing, position holds the index of the character where the - // parsing stopped - if ($position < $length) { - // Check if there are unrecognized characters at the end of the - // number (excluding whitespace characters) - $remainder = trim($remainder, " \t\n\r\0\x0b\xc2\xa0"); - - if ('' !== $remainder) { - throw new TransformationFailedException(sprintf('The number contains unrecognized characters: "%s".', $remainder)); - } - } - - // NumberFormatter::parse() does not round - return $this->round($result); - } - - /** - * Returns a preconfigured \NumberFormatter instance. - */ - protected function getNumberFormatter(): \NumberFormatter - { - $formatter = new \NumberFormatter($this->locale ?? \Locale::getDefault(), \NumberFormatter::DECIMAL); - - if (null !== $this->scale) { - $formatter->setAttribute(\NumberFormatter::FRACTION_DIGITS, $this->scale); - $formatter->setAttribute(\NumberFormatter::ROUNDING_MODE, $this->roundingMode); - } - - $formatter->setAttribute(\NumberFormatter::GROUPING_USED, $this->grouping); - - return $formatter; - } - - /** - * @internal - */ - protected function castParsedValue(int|float $value): int|float - { - if (\is_int($value) && $value === (int) $float = (float) $value) { - return $float; - } - - return $value; - } - - /** - * Rounds a number according to the configured scale and rounding mode. - */ - private function round(int|float $number): int|float - { - if (null !== $this->scale && null !== $this->roundingMode) { - // shift number to maintain the correct scale during rounding - $roundingCoef = 10 ** $this->scale; - // string representation to avoid rounding errors, similar to bcmul() - $number = (string) ($number * $roundingCoef); - - switch ($this->roundingMode) { - case \NumberFormatter::ROUND_CEILING: - $number = ceil($number); - break; - case \NumberFormatter::ROUND_FLOOR: - $number = floor($number); - break; - case \NumberFormatter::ROUND_UP: - $number = $number > 0 ? ceil($number) : floor($number); - break; - case \NumberFormatter::ROUND_DOWN: - $number = $number > 0 ? floor($number) : ceil($number); - break; - case \NumberFormatter::ROUND_HALFEVEN: - $number = round($number, 0, \PHP_ROUND_HALF_EVEN); - break; - case \NumberFormatter::ROUND_HALFUP: - $number = round($number, 0, \PHP_ROUND_HALF_UP); - break; - case \NumberFormatter::ROUND_HALFDOWN: - $number = round($number, 0, \PHP_ROUND_HALF_DOWN); - break; - } - - $number = 1 === $roundingCoef ? (int) $number : $number / $roundingCoef; - } - - return $number; - } -} \ No newline at end of file diff --git a/src/Form/Type/Helper/ExponentialNumberTransformer.php b/src/Form/Type/Helper/ExponentialNumberTransformer.php index 6080d68d..e7f730b7 100644 --- a/src/Form/Type/Helper/ExponentialNumberTransformer.php +++ b/src/Form/Type/Helper/ExponentialNumberTransformer.php @@ -23,14 +23,14 @@ declare(strict_types=1); namespace App\Form\Type\Helper; -use App\Form\Fixes\FixedNumberToLocalizedStringTransformer; use Symfony\Component\Form\Exception\TransformationFailedException; +use Symfony\Component\Form\Extension\Core\DataTransformer\NumberToLocalizedStringTransformer; /** * This transformer formats small values in scienfitic notation instead of rounding it to 0, like the default * NumberFormatter. */ -class ExponentialNumberTransformer extends FixedNumberToLocalizedStringTransformer +class ExponentialNumberTransformer extends NumberToLocalizedStringTransformer { public function __construct( protected ?int $scale = null, From 574583bd6a044e633f2c03811418ac2220f3cb5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Mon, 9 Sep 2024 21:33:28 +0200 Subject: [PATCH 045/287] Do not round values of parameters, we can now use the full double precision This fixes issue #681 --- src/Form/Type/ExponentialNumberType.php | 9 ++++++++ .../Helper/ExponentialNumberTransformer.php | 21 +++++++++++++++++-- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/src/Form/Type/ExponentialNumberType.php b/src/Form/Type/ExponentialNumberType.php index 4f2d54bd..b76196d9 100644 --- a/src/Form/Type/ExponentialNumberType.php +++ b/src/Form/Type/ExponentialNumberType.php @@ -27,6 +27,7 @@ use App\Form\Type\Helper\ExponentialNumberTransformer; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\Extension\Core\Type\NumberType; use Symfony\Component\Form\FormBuilderInterface; +use Symfony\Component\OptionsResolver\OptionsResolver; /** * Similar to the NumberType, but formats small values in scienfitic notation instead of rounding it to 0, like NumberType @@ -38,6 +39,14 @@ class ExponentialNumberType extends AbstractType return NumberType::class; } + public function configureOptions(OptionsResolver $resolver) + { + $resolver->setDefaults([ + //We want to allow the full precision of the number, so disable rounding + 'scale' => null, + ]); + } + public function buildForm(FormBuilderInterface $builder, array $options) { $builder->resetViewTransformers(); diff --git a/src/Form/Type/Helper/ExponentialNumberTransformer.php b/src/Form/Type/Helper/ExponentialNumberTransformer.php index e7f730b7..ee2f4a4c 100644 --- a/src/Form/Type/Helper/ExponentialNumberTransformer.php +++ b/src/Form/Type/Helper/ExponentialNumberTransformer.php @@ -33,11 +33,12 @@ use Symfony\Component\Form\Extension\Core\DataTransformer\NumberToLocalizedStrin class ExponentialNumberTransformer extends NumberToLocalizedStringTransformer { public function __construct( - protected ?int $scale = null, + private ?int $scale = null, ?bool $grouping = false, ?int $roundingMode = \NumberFormatter::ROUND_HALFUP, protected ?string $locale = null ) { + //Set scale to null, to disable rounding of values parent::__construct($scale, $grouping, $roundingMode, $locale); } @@ -85,12 +86,28 @@ class ExponentialNumberTransformer extends NumberToLocalizedStringTransformer $formatter = new \NumberFormatter($this->locale ?? \Locale::getDefault(), \NumberFormatter::SCIENTIFIC); if (null !== $this->scale) { - $formatter->setAttribute(\NumberFormatter::FRACTION_DIGITS, $this->scale); + $formatter->setAttribute(\NumberFormatter::MAX_FRACTION_DIGITS, $this->scale); $formatter->setAttribute(\NumberFormatter::ROUNDING_MODE, $this->roundingMode); } $formatter->setAttribute(\NumberFormatter::GROUPING_USED, (int) $this->grouping); + return $formatter; + } + + protected function getNumberFormatter(): \NumberFormatter + { + $formatter = parent::getNumberFormatter(); + + //Unset the fraction digits, as we don't want to round the number + $formatter->setAttribute(\NumberFormatter::FRACTION_DIGITS, 0); + if (null !== $this->scale) { + $formatter->setAttribute(\NumberFormatter::MAX_FRACTION_DIGITS, $this->scale); + } else { + $formatter->setAttribute(\NumberFormatter::MAX_FRACTION_DIGITS, 100); + } + + return $formatter; } } \ No newline at end of file From f3c802bcff0a17a73dda8785d33c88351b570ab3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Mon, 9 Sep 2024 21:36:05 +0200 Subject: [PATCH 046/287] Made parameter type fields wider to fit more digits --- src/Form/ParameterType.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Form/ParameterType.php b/src/Form/ParameterType.php index d0183dab..4c2174ae 100644 --- a/src/Form/ParameterType.php +++ b/src/Form/ParameterType.php @@ -102,7 +102,7 @@ class ParameterType extends AbstractType 'step' => 'any', 'placeholder' => 'parameters.max.placeholder', 'class' => 'form-control-sm', - 'style' => 'max-width: 12ch;', + 'style' => 'max-width: 25ch;', ], ]); $builder->add('value_min', ExponentialNumberType::class, [ @@ -113,7 +113,7 @@ class ParameterType extends AbstractType 'step' => 'any', 'placeholder' => 'parameters.min.placeholder', 'class' => 'form-control-sm', - 'style' => 'max-width: 12ch;', + 'style' => 'max-width: 25ch;', ], ]); $builder->add('value_typical', ExponentialNumberType::class, [ @@ -124,7 +124,7 @@ class ParameterType extends AbstractType 'step' => 'any', 'placeholder' => 'parameters.typical.placeholder', 'class' => 'form-control-sm', - 'style' => 'max-width: 12ch;', + 'style' => 'max-width: 25ch;', ], ]); $builder->add('unit', TextType::class, [ From 7ccfea208f6c2cad4e0fdad06905894ce7529f25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Mon, 9 Sep 2024 21:38:07 +0200 Subject: [PATCH 047/287] New Crowdin updates (#695) * New translations messages.en.xlf (English) * New translations validators.en.xlf (German) * New translations messages.en.xlf (German) * New translations messages.en.xlf (Italian) --- translations/messages.de.xlf | 12 ++++++ translations/messages.en.xlf | 70 +++++++++++++++++----------------- translations/messages.it.xlf | 12 ++++++ translations/validators.de.xlf | 6 +++ 4 files changed, 65 insertions(+), 35 deletions(-) diff --git a/translations/messages.de.xlf b/translations/messages.de.xlf index 6189ecd3..cd70f57a 100644 --- a/translations/messages.de.xlf +++ b/translations/messages.de.xlf @@ -12205,5 +12205,17 @@ Bitte beachten Sie, dass Sie sich nicht als deaktivierter Benutzer ausgeben kön %COUNT% Elemente erfolgreich erstellt.
+ + + info_providers.search.number_of_results + %number% Ergebnisse + + + + + info_providers.search.no_results + Keine Ergebnisse in den gegebenen Quellen gefunden! Prüfen Sie ihr Suchwort oder versuchen Sie weitere Informationsquellen auszuwählen. + + diff --git a/translations/messages.en.xlf b/translations/messages.en.xlf index 3c2c3253..0d4482f4 100644 --- a/translations/messages.en.xlf +++ b/translations/messages.en.xlf @@ -242,7 +242,7 @@ part.info.timetravel_hint - Please note that this feature is experimental, so the info may not be correct.]]> + This is how the part appeared before %timestamp%. <i>Please note that this feature is experimental, so the info may not be correct.</i> @@ -731,10 +731,10 @@ user.edit.tfa.disable_tfa_message - all active two-factor authentication methods of the user and delete the backup codes! -
-The user will have to set up all two-factor authentication methods again and print new backup codes!

-Only do this if you are absolutely sure about the identity of the user (seeking help), otherwise the account could be compromised by an attacker!]]>
+ This will disable <b>all active two-factor authentication methods of the user</b> and delete the <b>backup codes</b>! +<br> +The user will have to set up all two-factor authentication methods again and print new backup codes! <br><br> +<b>Only do this if you are absolutely sure about the identity of the user (seeking help), otherwise the account could be compromised by an attacker!</b>
@@ -893,9 +893,9 @@ The user will have to set up all two-factor authentication methods again and pri entity.delete.message - -Sub elements will be moved upwards.]]> + This can not be undone! +<br> +Sub elements will be moved upwards. @@ -1449,7 +1449,7 @@ Sub elements will be moved upwards.]]> homepage.github.text - GitHub project page]]> + Source, downloads, bug reports, to-do-list etc. can be found on <a href="%href%" class="link-external" target="_blank">GitHub project page</a> @@ -1471,7 +1471,7 @@ Sub elements will be moved upwards.]]> homepage.help.text - GitHub page]]> + Help and tips can be found in Wiki the <a href="%href%" class="link-external" target="_blank">GitHub page</a> @@ -1713,7 +1713,7 @@ Sub elements will be moved upwards.]]> email.pw_reset.fallback - %url% and enter the following info]]> + If this does not work for you, go to <a href="%url%">%url%</a> and enter the following info @@ -1743,7 +1743,7 @@ Sub elements will be moved upwards.]]> email.pw_reset.valid_unit %date% - %date%.]]> + The reset token will be valid until <i>%date%</i>. @@ -3586,8 +3586,8 @@ Sub elements will be moved upwards.]]> tfa_google.disable.confirm_message - -Also note that without two-factor authentication, your account is no longer as well protected against attackers!]]> + If you disable the Authenticator App, all backup codes will be deleted, so you may need to reprint them.<br> +Also note that without two-factor authentication, your account is no longer as well protected against attackers! @@ -3607,7 +3607,7 @@ Also note that without two-factor authentication, your account is no longer as w tfa_google.step.download - Google Authenticator oder FreeOTP Authenticator)]]> + Download an authenticator app (e.g. <a class="link-external" target="_blank" href="https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2">Google Authenticator</a> oder <a class="link-external" target="_blank" href="https://play.google.com/store/apps/details?id=org.fedorahosted.freeotp">FreeOTP Authenticator</a>) @@ -3849,8 +3849,8 @@ Also note that without two-factor authentication, your account is no longer as w tfa_trustedDevices.explanation - all computers here.]]> + When checking the second factor, the current computer can be marked as trustworthy, so no more two-factor checks on this computer are needed. +If you have done this incorrectly or if a computer is no longer trusted, you can reset the status of <i>all </i>computers here. @@ -5321,7 +5321,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can label_options.lines_mode.help - Twig documentation and Wiki for more information.]]> + If you select Twig here, the content field is interpreted as Twig template. See <a href="https://twig.symfony.com/doc/3.x/templates.html">Twig documentation</a> and <a href="https://docs.part-db.de/usage/labels.html#twig-mode">Wiki</a> for more information. @@ -9396,25 +9396,25 @@ Element 3 filter.parameter_value_constraint.operator.< - + Typ. Value < filter.parameter_value_constraint.operator.> - ]]> + Typ. Value > filter.parameter_value_constraint.operator.<= - + Typ. Value <= filter.parameter_value_constraint.operator.>= - =]]> + Typ. Value >= @@ -9522,7 +9522,7 @@ Element 3 parts_list.search.searching_for - %keyword%]]> + Searching parts with keyword <b>%keyword%</b> @@ -10182,13 +10182,13 @@ Element 3 project.builds.number_of_builds_possible - %max_builds% builds of this project.]]> + You have enough stocked to build <b>%max_builds%</b> builds of this project. project.builds.check_project_status - "%project_status%". You should check if you really want to build the project with this status!]]> + The current project status is <b>"%project_status%"</b>. You should check if you really want to build the project with this status! @@ -10290,7 +10290,7 @@ Element 3 entity.select.add_hint - to create nested structures, e.g. "Node 1->Node 1.1"]]> + Use -> to create nested structures, e.g. "Node 1->Node 1.1" @@ -10314,13 +10314,13 @@ Element 3 homepage.first_steps.introduction - documentation or start to creating the following data structures:]]> + Your database is still empty. You might want to read the <a href="%url%">documentation</a> or start to creating the following data structures: homepage.first_steps.create_part - create a new part.]]> + Or you can directly <a href="%url%">create a new part</a>. @@ -10332,7 +10332,7 @@ Element 3 homepage.forum.text - discussion forum]]> + For questions about Part-DB use the <a href="%href%" class="link-external" target="_blank">discussion forum</a> @@ -10986,7 +10986,7 @@ Element 3 parts.import.help_documentation - documentation for more information on the file format.]]> + See the <a href="%link%">documentation</a> for more information on the file format. @@ -11166,7 +11166,7 @@ Element 3 part.filter.lessThanDesired - + In stock less than desired (total amount < min. amount) @@ -11978,13 +11978,13 @@ Please note, that you can not impersonate a disabled user. If you try you will g part.merge.confirm.title - %other% into %target%?]]> + Do you really want to merge <b>%other%</b> into <b>%target%</b>? part.merge.confirm.message - %other% will be deleted, and the part will be saved with the shown information.]]> + <b>%other%</b> will be deleted, and the part will be saved with the shown information. @@ -12210,13 +12210,13 @@ Please note, that you can not impersonate a disabled user. If you try you will g
- + info_providers.search.number_of_results %number% results - + info_providers.search.no_results No results found at the selected providers! Check your search term or try to choose additional providers. diff --git a/translations/messages.it.xlf b/translations/messages.it.xlf index 18a85353..41c7bddd 100644 --- a/translations/messages.it.xlf +++ b/translations/messages.it.xlf @@ -12210,5 +12210,17 @@ Notare che non è possibile impersonare un utente disattivato. Quando si prova a %COUNT% elementi creati correttamente. + + + info_providers.search.number_of_results + %number% risultati + + + + + info_providers.search.no_results + Nessun risultato trovato per i provider selezionati! Controlla il termine di ricerca o prova a scegliere provider aggiuntivi. + + diff --git a/translations/validators.de.xlf b/translations/validators.de.xlf index 4036f9ea..a1ea36cc 100644 --- a/translations/validators.de.xlf +++ b/translations/validators.de.xlf @@ -347,5 +347,11 @@ Aufgrund technischer Beschränkungen ist es nicht möglich, ein Datum nach dem 19.01.2038 auf 32-Bit Systemen auszuwählen!
+ + + validator.invalid_range + Der gegebene Bereich ist nicht gültig! + + From c629a85b148bb65d25e1af1256fd37c7f48dabf2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Mon, 9 Sep 2024 21:42:03 +0200 Subject: [PATCH 048/287] Updated dependencies --- composer.lock | 275 ++++++++++++++++++-------------------------------- symfony.lock | 3 - yarn.lock | 18 ++-- 3 files changed, 110 insertions(+), 186 deletions(-) diff --git a/composer.lock b/composer.lock index 42fddb93..84311e49 100644 --- a/composer.lock +++ b/composer.lock @@ -5844,16 +5844,16 @@ }, { "name": "nyholm/psr7", - "version": "1.8.1", + "version": "1.8.2", "source": { "type": "git", "url": "https://github.com/Nyholm/psr7.git", - "reference": "aa5fc277a4f5508013d571341ade0c3886d4d00e" + "reference": "a71f2b11690f4b24d099d6b16690a90ae14fc6f3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Nyholm/psr7/zipball/aa5fc277a4f5508013d571341ade0c3886d4d00e", - "reference": "aa5fc277a4f5508013d571341ade0c3886d4d00e", + "url": "https://api.github.com/repos/Nyholm/psr7/zipball/a71f2b11690f4b24d099d6b16690a90ae14fc6f3", + "reference": "a71f2b11690f4b24d099d6b16690a90ae14fc6f3", "shasum": "" }, "require": { @@ -5906,7 +5906,7 @@ ], "support": { "issues": "https://github.com/Nyholm/psr7/issues", - "source": "https://github.com/Nyholm/psr7/tree/1.8.1" + "source": "https://github.com/Nyholm/psr7/tree/1.8.2" }, "funding": [ { @@ -5918,7 +5918,7 @@ "type": "github" } ], - "time": "2023-11-13T09:31:12+00:00" + "time": "2024-09-09T07:06:30+00:00" }, { "name": "omines/datatables-bundle", @@ -10874,20 +10874,20 @@ }, { "name": "symfony/polyfill-ctype", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "0424dff1c58f028c451efff2045f5d92410bd540" + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/0424dff1c58f028c451efff2045f5d92410bd540", - "reference": "0424dff1c58f028c451efff2045f5d92410bd540", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638", + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "provide": { "ext-ctype": "*" @@ -10933,7 +10933,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.31.0" }, "funding": [ { @@ -10949,24 +10949,24 @@ "type": "tidelift" } ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a" + "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/64647a7c30b2283f5d49b874d84a18fc22054b7a", - "reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe", + "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "suggest": { "ext-intl": "For best performance" @@ -11011,7 +11011,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.31.0" }, "funding": [ { @@ -11027,24 +11027,24 @@ "type": "tidelift" } ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-intl-icu", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-icu.git", - "reference": "e76343c631b453088e2260ac41dfebe21954de81" + "reference": "d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/e76343c631b453088e2260ac41dfebe21954de81", - "reference": "e76343c631b453088e2260ac41dfebe21954de81", + "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78", + "reference": "d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "suggest": { "ext-intl": "For best performance and support of other locales than \"en\"" @@ -11095,7 +11095,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.31.0" }, "funding": [ { @@ -11111,26 +11111,25 @@ "type": "tidelift" } ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "a6e83bdeb3c84391d1dfe16f42e40727ce524a5c" + "reference": "c36586dcf89a12315939e00ec9b4474adcb1d773" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/a6e83bdeb3c84391d1dfe16f42e40727ce524a5c", - "reference": "a6e83bdeb3c84391d1dfe16f42e40727ce524a5c", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/c36586dcf89a12315939e00ec9b4474adcb1d773", + "reference": "c36586dcf89a12315939e00ec9b4474adcb1d773", "shasum": "" }, "require": { - "php": ">=7.1", - "symfony/polyfill-intl-normalizer": "^1.10", - "symfony/polyfill-php72": "^1.10" + "php": ">=7.2", + "symfony/polyfill-intl-normalizer": "^1.10" }, "suggest": { "ext-intl": "For best performance" @@ -11179,7 +11178,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.31.0" }, "funding": [ { @@ -11195,24 +11194,24 @@ "type": "tidelift" } ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb" + "reference": "3833d7255cc303546435cb650316bff708a1c75c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/a95281b0be0d9ab48050ebd988b967875cdb9fdb", - "reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c", + "reference": "3833d7255cc303546435cb650316bff708a1c75c", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "suggest": { "ext-intl": "For best performance" @@ -11260,7 +11259,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0" }, "funding": [ { @@ -11276,24 +11275,24 @@ "type": "tidelift" } ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c" + "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fd22ab50000ef01661e2a31d850ebaa297f8e03c", - "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341", + "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "provide": { "ext-mbstring": "*" @@ -11340,7 +11339,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0" }, "funding": [ { @@ -11356,97 +11355,24 @@ "type": "tidelift" } ], - "time": "2024-06-19T12:30:46+00:00" - }, - { - "name": "symfony/polyfill-php72", - "version": "v1.30.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "10112722600777e02d2745716b70c5db4ca70442" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/10112722600777e02d2745716b70c5db4ca70442", - "reference": "10112722600777e02d2745716b70c5db4ca70442", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php72\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php72/tree/v1.30.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-06-19T12:30:46+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "77fa7995ac1b21ab60769b7323d600a991a90433" + "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/77fa7995ac1b21ab60769b7323d600a991a90433", - "reference": "77fa7995ac1b21ab60769b7323d600a991a90433", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", + "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "type": "library", "extra": { @@ -11493,7 +11419,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.31.0" }, "funding": [ { @@ -11509,24 +11435,24 @@ "type": "tidelift" } ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-php81", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php81.git", - "reference": "3fb075789fb91f9ad9af537c4012d523085bd5af" + "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/3fb075789fb91f9ad9af537c4012d523085bd5af", - "reference": "3fb075789fb91f9ad9af537c4012d523085bd5af", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", + "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "type": "library", "extra": { @@ -11569,7 +11495,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-php81/tree/v1.31.0" }, "funding": [ { @@ -11585,24 +11511,24 @@ "type": "tidelift" } ], - "time": "2024-06-19T12:30:46+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-php82", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php82.git", - "reference": "77ff49780f56906788a88974867ed68bc49fae5b" + "reference": "5d2ed36f7734637dacc025f179698031951b1692" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php82/zipball/77ff49780f56906788a88974867ed68bc49fae5b", - "reference": "77ff49780f56906788a88974867ed68bc49fae5b", + "url": "https://api.github.com/repos/symfony/polyfill-php82/zipball/5d2ed36f7734637dacc025f179698031951b1692", + "reference": "5d2ed36f7734637dacc025f179698031951b1692", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "type": "library", "extra": { @@ -11645,7 +11571,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php82/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-php82/tree/v1.31.0" }, "funding": [ { @@ -11661,24 +11587,24 @@ "type": "tidelift" } ], - "time": "2024-06-19T12:30:46+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-php83", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php83.git", - "reference": "dbdcdf1a4dcc2743591f1079d0c35ab1e2dcbbc9" + "reference": "2fb86d65e2d424369ad2905e83b236a8805ba491" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/dbdcdf1a4dcc2743591f1079d0c35ab1e2dcbbc9", - "reference": "dbdcdf1a4dcc2743591f1079d0c35ab1e2dcbbc9", + "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/2fb86d65e2d424369ad2905e83b236a8805ba491", + "reference": "2fb86d65e2d424369ad2905e83b236a8805ba491", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "type": "library", "extra": { @@ -11721,7 +11647,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php83/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-php83/tree/v1.31.0" }, "funding": [ { @@ -11737,24 +11663,24 @@ "type": "tidelift" } ], - "time": "2024-06-19T12:35:24+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-uuid", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-uuid.git", - "reference": "2ba1f33797470debcda07fe9dce20a0003df18e9" + "reference": "21533be36c24be3f4b1669c4725c7d1d2bab4ae2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/2ba1f33797470debcda07fe9dce20a0003df18e9", - "reference": "2ba1f33797470debcda07fe9dce20a0003df18e9", + "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/21533be36c24be3f4b1669c4725c7d1d2bab4ae2", + "reference": "21533be36c24be3f4b1669c4725c7d1d2bab4ae2", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "provide": { "ext-uuid": "*" @@ -11800,7 +11726,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/polyfill-uuid/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-uuid/tree/v1.31.0" }, "funding": [ { @@ -11816,7 +11742,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/process", @@ -14980,16 +14906,16 @@ }, { "name": "twig/twig", - "version": "v3.13.0", + "version": "v3.14.0", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "afc0eb63dc66c248c5a94504dc2b255bc9b86575" + "reference": "126b2c97818dbff0cdf3fbfc881aedb3d40aae72" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/afc0eb63dc66c248c5a94504dc2b255bc9b86575", - "reference": "afc0eb63dc66c248c5a94504dc2b255bc9b86575", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/126b2c97818dbff0cdf3fbfc881aedb3d40aae72", + "reference": "126b2c97818dbff0cdf3fbfc881aedb3d40aae72", "shasum": "" }, "require": { @@ -15043,7 +14969,7 @@ ], "support": { "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v3.13.0" + "source": "https://github.com/twigphp/Twig/tree/v3.14.0" }, "funding": [ { @@ -15055,7 +14981,7 @@ "type": "tidelift" } ], - "time": "2024-09-07T08:01:12+00:00" + "time": "2024-09-09T17:55:12+00:00" }, { "name": "ua-parser/uap-php", @@ -16166,16 +16092,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.12.2", + "version": "1.12.3", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "0ca1c7bb55fca8fe6448f16fff0f311ccec960a1" + "reference": "0fcbf194ab63d8159bb70d9aa3e1350051632009" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/0ca1c7bb55fca8fe6448f16fff0f311ccec960a1", - "reference": "0ca1c7bb55fca8fe6448f16fff0f311ccec960a1", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/0fcbf194ab63d8159bb70d9aa3e1350051632009", + "reference": "0fcbf194ab63d8159bb70d9aa3e1350051632009", "shasum": "" }, "require": { @@ -16220,7 +16146,7 @@ "type": "github" } ], - "time": "2024-09-05T16:09:28+00:00" + "time": "2024-09-09T08:10:35+00:00" }, { "name": "phpstan/phpstan-doctrine", @@ -16902,12 +16828,12 @@ "source": { "type": "git", "url": "https://github.com/Roave/SecurityAdvisories.git", - "reference": "f6547941a3b3a96c1b20b77c6ebf126b195f814e" + "reference": "791bcaf99c75b0851de23d9e802e32770243193b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/f6547941a3b3a96c1b20b77c6ebf126b195f814e", - "reference": "f6547941a3b3a96c1b20b77c6ebf126b195f814e", + "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/791bcaf99c75b0851de23d9e802e32770243193b", + "reference": "791bcaf99c75b0851de23d9e802e32770243193b", "shasum": "" }, "conflict": { @@ -17015,7 +16941,7 @@ "contao/managed-edition": "<=1.5", "corveda/phpsandbox": "<1.3.5", "cosenary/instagram": "<=2.3", - "craftcms/cms": "<4.6.2|>=5.0.0.0-beta1,<=5.2.2", + "craftcms/cms": "<4.6.2|>=5,<=5.2.2", "croogo/croogo": "<4", "cuyz/valinor": "<0.12", "czproject/git-php": "<4.0.3", @@ -17283,6 +17209,7 @@ "munkireport/softwareupdate": "<1.6", "mustache/mustache": ">=2,<2.14.1", "namshi/jose": "<2.2", + "nategood/httpful": "<1", "neoan3-apps/template": "<1.1.1", "neorazorx/facturascripts": "<2022.04", "neos/flow": ">=1,<1.0.4|>=1.1,<1.1.1|>=2,<2.0.1|>=2.3,<2.3.16|>=3,<3.0.12|>=3.1,<3.1.10|>=3.2,<3.2.13|>=3.3,<3.3.13|>=4,<4.0.6", @@ -17714,7 +17641,7 @@ "type": "tidelift" } ], - "time": "2024-09-04T15:05:11+00:00" + "time": "2024-09-09T19:04:19+00:00" }, { "name": "sebastian/cli-parser", diff --git a/symfony.lock b/symfony.lock index c893f620..8f230496 100644 --- a/symfony.lock +++ b/symfony.lock @@ -600,9 +600,6 @@ "symfony/polyfill-mbstring": { "version": "v1.10.0" }, - "symfony/polyfill-php72": { - "version": "v1.10.0" - }, "symfony/polyfill-php80": { "version": "v1.17.0" }, diff --git a/yarn.lock b/yarn.lock index 302d63cc..859a382c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2474,9 +2474,9 @@ acorn-walk@^7.1.1: integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== acorn-walk@^8.0.0: - version "8.3.3" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.3.tgz#9caeac29eefaa0c41e3d4c65137de4d6f34df43e" - integrity sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw== + version "8.3.4" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.4.tgz#794dd169c3977edf4ba4ea47583587c5866236b7" + integrity sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g== dependencies: acorn "^8.11.0" @@ -2856,9 +2856,9 @@ caniuse-api@^3.0.0: lodash.uniq "^4.5.0" caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001646: - version "1.0.30001658" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001658.tgz#b5f7be8ac748a049ab06aa1cf7a1408d83f074ec" - integrity sha512-N2YVqWbJELVdrnsW5p+apoQyYt51aBMSsBZki1XZEfeBCexcM/sf4xiAHcXQBkuOwJBXtWF7aW1sYX6tKebPHw== + version "1.0.30001659" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001659.tgz#f370c311ffbc19c4965d8ec0064a3625c8aaa7af" + integrity sha512-Qxxyfv3RdHAfJcXelgf0hU4DFUVXBGTjqrBUZLUh8AtlGnsDo+CnncYtTd95+ZKfnANUOzxyIQCuU/UeBZBYoA== chalk@^2.4.2: version "2.4.2" @@ -6555,9 +6555,9 @@ terser-webpack-plugin@^5.3.0, terser-webpack-plugin@^5.3.10: terser "^5.26.0" terser@^5.26.0, terser@^5.3.4: - version "5.31.6" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.31.6.tgz#c63858a0f0703988d0266a82fcbf2d7ba76422b1" - integrity sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg== + version "5.32.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.32.0.tgz#ee811c0d2d6b741c1cc34a2bc5bcbfc1b5b1f96c" + integrity sha512-v3Gtw3IzpBJ0ugkxEX8U0W6+TnPKRRCWGh1jC/iM/e3Ki5+qvO1L1EAZ56bZasc64aXHwRHNIQEzm6//i5cemQ== dependencies: "@jridgewell/source-map" "^0.3.3" acorn "^8.8.2" From fa42997733989edc553b48a5f47fdb6a333e7bdd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Mon, 9 Sep 2024 21:42:29 +0200 Subject: [PATCH 049/287] Bumped version to 1.14.0 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 01b75682..850e7424 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.13.3 +1.14.0 From 58ed57fab7dcdbe2a60fb872e0f38394148e27fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Thu, 12 Sep 2024 21:52:34 +0200 Subject: [PATCH 050/287] New translations messages.en.xlf (English) (#703) --- translations/messages.en.xlf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translations/messages.en.xlf b/translations/messages.en.xlf index 0d4482f4..e0a4b1d7 100644 --- a/translations/messages.en.xlf +++ b/translations/messages.en.xlf @@ -4948,7 +4948,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can m_status.eol - Coated + End of life From 839bcf91d6307c1ec1260cb94186956d8d84ef1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sun, 13 Oct 2024 19:56:21 +0200 Subject: [PATCH 051/287] Updated dependencies. --- composer.lock | 880 +++++++++++++------------ yarn.lock | 1741 +++++++++++++++++++++++-------------------------- 2 files changed, 1281 insertions(+), 1340 deletions(-) diff --git a/composer.lock b/composer.lock index 84311e49..8bc9710e 100644 --- a/composer.lock +++ b/composer.lock @@ -1016,16 +1016,16 @@ }, { "name": "api-platform/core", - "version": "v3.3.12", + "version": "v3.4.3", "source": { "type": "git", "url": "https://github.com/api-platform/core.git", - "reference": "e2eeb6b710f96542b75357a13d8d69ed4d8be5e2" + "reference": "a11c21335297b6026aa2b12fbe11a77e888481d7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/api-platform/core/zipball/e2eeb6b710f96542b75357a13d8d69ed4d8be5e2", - "reference": "e2eeb6b710f96542b75357a13d8d69ed4d8be5e2", + "url": "https://api.github.com/repos/api-platform/core/zipball/a11c21335297b6026aa2b12fbe11a77e888481d7", + "reference": "a11c21335297b6026aa2b12fbe11a77e888481d7", "shasum": "" }, "require": { @@ -1034,13 +1034,13 @@ "psr/cache": "^1.0 || ^2.0 || ^3.0", "psr/container": "^1.0 || ^2.0", "symfony/deprecation-contracts": "^3.1", - "symfony/http-foundation": "^6.4 || ^7.0", - "symfony/http-kernel": "^6.4 || ^7.0", - "symfony/property-access": "^6.4 || ^7.0", - "symfony/property-info": "^6.4 || ^7.0", - "symfony/serializer": "^6.4 || ^7.0", + "symfony/http-foundation": "^6.4 || ^7.1", + "symfony/http-kernel": "^6.4 || ^7.1", + "symfony/property-access": "^6.4 || ^7.1", + "symfony/property-info": "^6.4 || ^7.1", + "symfony/serializer": "^6.4 || ^7.1", "symfony/translation-contracts": "^3.3", - "symfony/web-link": "^6.4 || ^7.0", + "symfony/web-link": "^6.4 || ^7.1", "willdurand/negotiation": "^3.0" }, "conflict": { @@ -1052,15 +1052,56 @@ "elasticsearch/elasticsearch": ">=8.0,<8.4", "phpspec/prophecy": "<1.15", "phpunit/phpunit": "<9.5", - "symfony/framework-bundle": "6.4.6 || 7.0.6", + "symfony/framework-bundle": "6.4.6 || 7.1.6", "symfony/var-exporter": "<6.1.1" }, + "replace": { + "api-platform/doctrine-common": "self.version", + "api-platform/doctrine-odm": "self.version", + "api-platform/doctrine-orm": "self.version", + "api-platform/documentation": "self.version", + "api-platform/elasticsearch": "self.version", + "api-platform/graphql": "self.version", + "api-platform/http-cache": "self.version", + "api-platform/hydra": "self.version", + "api-platform/json-api": "self.version", + "api-platform/json-hal": "self.version", + "api-platform/json-schema": "self.version", + "api-platform/jsonld": "self.version", + "api-platform/laravel": "self.version", + "api-platform/metadata": "self.version", + "api-platform/openapi": "self.version", + "api-platform/parameter-validator": "self.version", + "api-platform/ramsey-uuid": "self.version", + "api-platform/serializer": "self.version", + "api-platform/state": "self.version", + "api-platform/symfony": "self.version", + "api-platform/validator": "self.version" + }, "require-dev": { + "api-platform/doctrine-common": "^3.4 || ^4.0", + "api-platform/doctrine-odm": "^3.4 || ^4.0", + "api-platform/doctrine-orm": "^3.4 || ^4.0", + "api-platform/documentation": "^3.4 || ^4.0", + "api-platform/elasticsearch": "^3.4 || ^4.0", + "api-platform/graphql": "^3.4 || ^4.0", + "api-platform/http-cache": "^3.4 || ^4.0", + "api-platform/hydra": "^3.4 || ^4.0", + "api-platform/json-api": "^3.3 || ^4.0", + "api-platform/json-schema": "^3.4 || ^4.0", + "api-platform/jsonld": "^3.4 || ^4.0", + "api-platform/metadata": "^3.4 || ^4.0", + "api-platform/openapi": "^3.4 || ^4.0", + "api-platform/parameter-validator": "^3.4", + "api-platform/ramsey-uuid": "^3.4 || ^4.0", + "api-platform/serializer": "^3.4 || ^4.0", + "api-platform/state": "^3.4 || ^4.0", + "api-platform/validator": "^3.4 || ^4.0", "behat/behat": "^3.11", "behat/mink": "^1.9", "doctrine/cache": "^1.11 || ^2.1", "doctrine/common": "^3.2.2", - "doctrine/dbal": "^3.4.0", + "doctrine/dbal": "^3.4.0 || ^4.0", "doctrine/doctrine-bundle": "^1.12 || ^2.0", "doctrine/mongodb-odm": "^2.2", "doctrine/mongodb-odm-bundle": "^4.0 || ^5.0", @@ -1069,7 +1110,7 @@ "friends-of-behat/mink-browserkit-driver": "^1.3.1", "friends-of-behat/mink-extension": "^2.2", "friends-of-behat/symfony-extension": "^2.1", - "guzzlehttp/guzzle": "^6.0 || ^7.0", + "guzzlehttp/guzzle": "^6.0 || ^7.1", "jangregor/phpstan-prophecy": "^1.0", "justinrainbow/json-schema": "^5.2.1", "phpspec/prophecy-phpunit": "^2.0", @@ -1082,41 +1123,42 @@ "phpunit/phpunit": "^9.6", "psr/log": "^1.0 || ^2.0 || ^3.0", "ramsey/uuid": "^3.9.7 || ^4.0", - "ramsey/uuid-doctrine": "^1.4 || ^2.0", + "ramsey/uuid-doctrine": "^1.4 || ^2.0 || ^3.0", "sebastian/comparator": "<5.0", "soyuka/contexts": "v3.3.9", - "soyuka/pmu": "^0.0.2", + "soyuka/pmu": "^0.0.12", "soyuka/stubs-mongodb": "^1.0", - "symfony/asset": "^6.4 || ^7.0", - "symfony/browser-kit": "^6.4 || ^7.0", - "symfony/cache": "^6.4 || ^7.0", - "symfony/config": "^6.4 || ^7.0", - "symfony/console": "^6.4 || ^7.0", - "symfony/css-selector": "^6.4 || ^7.0", - "symfony/dependency-injection": "^6.4 || ^7.0.12", - "symfony/doctrine-bridge": "^6.4 || ^7.0", - "symfony/dom-crawler": "^6.4 || ^7.0", - "symfony/error-handler": "^6.4 || ^7.0", - "symfony/event-dispatcher": "^6.4 || ^7.0", - "symfony/expression-language": "^6.4 || ^7.0", - "symfony/finder": "^6.4 || ^7.0", - "symfony/form": "^6.4 || ^7.0", - "symfony/framework-bundle": "^6.4 || ^7.0", - "symfony/http-client": "^6.4 || ^7.0", - "symfony/intl": "^6.4 || ^7.0", + "symfony/asset": "^6.4 || ^7.1", + "symfony/browser-kit": "^6.4 || ^7.1", + "symfony/cache": "^6.4 || ^7.1", + "symfony/config": "^6.4 || ^7.1", + "symfony/console": "^6.4 || ^7.1", + "symfony/css-selector": "^6.4 || ^7.1", + "symfony/dependency-injection": "^6.4 || ^7.1", + "symfony/doctrine-bridge": "^6.4 || ^7.1", + "symfony/dom-crawler": "^6.4 || ^7.1", + "symfony/error-handler": "^6.4 || ^7.1", + "symfony/event-dispatcher": "^6.4 || ^7.1", + "symfony/expression-language": "^6.4 || ^7.1", + "symfony/finder": "^6.4 || ^7.1", + "symfony/form": "^6.4 || ^7.1", + "symfony/framework-bundle": "^6.4 || ^7.1", + "symfony/http-client": "^6.4 || ^7.1", + "symfony/intl": "^6.4 || ^7.1", "symfony/maker-bundle": "^1.24", "symfony/mercure-bundle": "*", - "symfony/messenger": "^6.4 || ^7.0", - "symfony/phpunit-bridge": "^6.4.1 || ^7.0", - "symfony/routing": "^6.4 || ^7.0", - "symfony/security-bundle": "^6.4 || ^7.0", - "symfony/security-core": "^6.4 || ^7.0", - "symfony/stopwatch": "^6.4 || ^7.0", - "symfony/twig-bundle": "^6.4 || ^7.0", - "symfony/uid": "^6.4 || ^7.0", - "symfony/validator": "^6.4 || ^7.0", - "symfony/web-profiler-bundle": "^6.4 || ^7.0", - "symfony/yaml": "^6.4 || ^7.0", + "symfony/messenger": "^6.4 || ^7.1", + "symfony/phpunit-bridge": "^6.4.1 || ^7.1", + "symfony/routing": "^6.4 || ^7.1", + "symfony/security-bundle": "^6.4 || ^7.1", + "symfony/security-core": "^6.4 || ^7.1", + "symfony/stopwatch": "^6.4 || ^7.1", + "symfony/string": "^6.4 || ^7.1", + "symfony/twig-bundle": "^6.4 || ^7.1", + "symfony/uid": "^6.4 || ^7.1", + "symfony/validator": "^6.4 || ^7.1", + "symfony/web-profiler-bundle": "^6.4 || ^7.1", + "symfony/yaml": "^6.4 || ^7.1", "twig/twig": "^1.42.3 || ^2.12 || ^3.0", "webonyx/graphql-php": "^14.0 || ^15.0" }, @@ -1141,31 +1183,22 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.3.x-dev" + "dev-3.4": "3.4.x-dev", + "dev-main": "4.0.x-dev" }, "symfony": { - "require": "^6.4 || ^7.0" + "require": "^6.4 || ^7.1" }, - "projects": [ - "api-platform/doctrine-common", - "api-platform/doctrine-orm", - "api-platform/doctrine-odm", - "api-platform/metadata", - "api-platform/json-schema", - "api-platform/elasticsearch", - "api-platform/jsonld", - "api-platform/hydra", - "api-platform/openapi", - "api-platform/graphql", - "api-platform/http-cache", - "api-platform/documentation", - "api-platform/parameter-validator", - "api-platform/ramsey-uuid", - "api-platform/serializer", - "api-platform/state", - "api-platform/symfony", - "api-platform/validator" - ] + "pmu": { + "projects": [ + "./src/*/composer.json", + "src/Doctrine/*/composer.json" + ] + }, + "thanks": { + "name": "api-platform/api-platform", + "url": "https://github.com/api-platform/api-platform" + } }, "autoload": { "psr-4": { @@ -1198,9 +1231,9 @@ ], "support": { "issues": "https://github.com/api-platform/core/issues", - "source": "https://github.com/api-platform/core/tree/v3.3.12" + "source": "https://github.com/api-platform/core/tree/v3.4.3" }, - "time": "2024-08-30T14:44:44+00:00" + "time": "2024-10-11T12:19:54+00:00" }, { "name": "beberlei/assert", @@ -1393,16 +1426,16 @@ }, { "name": "composer/ca-bundle", - "version": "1.5.1", + "version": "1.5.2", "source": { "type": "git", "url": "https://github.com/composer/ca-bundle.git", - "reference": "063d9aa8696582f5a41dffbbaf3c81024f0a604a" + "reference": "48a792895a2b7a6ee65dd5442c299d7b835b6137" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/063d9aa8696582f5a41dffbbaf3c81024f0a604a", - "reference": "063d9aa8696582f5a41dffbbaf3c81024f0a604a", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/48a792895a2b7a6ee65dd5442c299d7b835b6137", + "reference": "48a792895a2b7a6ee65dd5442c299d7b835b6137", "shasum": "" }, "require": { @@ -1412,8 +1445,8 @@ }, "require-dev": { "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^8 || ^9", "psr/log": "^1.0 || ^2.0 || ^3.0", - "symfony/phpunit-bridge": "^4.2 || ^5", "symfony/process": "^4.0 || ^5.0 || ^6.0 || ^7.0" }, "type": "library", @@ -1449,7 +1482,7 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/ca-bundle/issues", - "source": "https://github.com/composer/ca-bundle/tree/1.5.1" + "source": "https://github.com/composer/ca-bundle/tree/1.5.2" }, "funding": [ { @@ -1465,7 +1498,7 @@ "type": "tidelift" } ], - "time": "2024-07-08T15:28:20+00:00" + "time": "2024-09-25T07:49:53+00:00" }, { "name": "composer/package-versions-deprecated", @@ -1849,16 +1882,16 @@ }, { "name": "doctrine/dbal", - "version": "4.1.1", + "version": "4.2.1", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "7a8252418689feb860ea8dfeab66d64a56a64df8" + "reference": "dadd35300837a3a2184bd47d403333b15d0a9bd0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/7a8252418689feb860ea8dfeab66d64a56a64df8", - "reference": "7a8252418689feb860ea8dfeab66d64a56a64df8", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/dadd35300837a3a2184bd47d403333b15d0a9bd0", + "reference": "dadd35300837a3a2184bd47d403333b15d0a9bd0", "shasum": "" }, "require": { @@ -1871,7 +1904,7 @@ "doctrine/coding-standard": "12.0.0", "fig/log-test": "^1", "jetbrains/phpstorm-stubs": "2023.2", - "phpstan/phpstan": "1.12.0", + "phpstan/phpstan": "1.12.6", "phpstan/phpstan-phpunit": "1.4.0", "phpstan/phpstan-strict-rules": "^1.6", "phpunit/phpunit": "10.5.30", @@ -1937,7 +1970,7 @@ ], "support": { "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/4.1.1" + "source": "https://github.com/doctrine/dbal/tree/4.2.1" }, "funding": [ { @@ -1953,7 +1986,7 @@ "type": "tidelift" } ], - "time": "2024-09-03T08:58:39+00:00" + "time": "2024-10-10T18:01:27+00:00" }, { "name": "doctrine/deprecations", @@ -2545,16 +2578,16 @@ }, { "name": "doctrine/migrations", - "version": "3.8.1", + "version": "3.8.2", "source": { "type": "git", "url": "https://github.com/doctrine/migrations.git", - "reference": "7760fbd0b7cb58bfb50415505a7bab821adf0877" + "reference": "5007eb1168691225ac305fe16856755c20860842" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/migrations/zipball/7760fbd0b7cb58bfb50415505a7bab821adf0877", - "reference": "7760fbd0b7cb58bfb50415505a7bab821adf0877", + "url": "https://api.github.com/repos/doctrine/migrations/zipball/5007eb1168691225ac305fe16856755c20860842", + "reference": "5007eb1168691225ac305fe16856755c20860842", "shasum": "" }, "require": { @@ -2628,7 +2661,7 @@ ], "support": { "issues": "https://github.com/doctrine/migrations/issues", - "source": "https://github.com/doctrine/migrations/tree/3.8.1" + "source": "https://github.com/doctrine/migrations/tree/3.8.2" }, "funding": [ { @@ -2644,20 +2677,20 @@ "type": "tidelift" } ], - "time": "2024-08-28T13:17:28+00:00" + "time": "2024-10-10T21:35:27+00:00" }, { "name": "doctrine/orm", - "version": "3.2.2", + "version": "3.3.0", "source": { "type": "git", "url": "https://github.com/doctrine/orm.git", - "reference": "831a1eb7d260925528cdbb49cc1866c0357cf147" + "reference": "69958152e661aa9c14e80d1ee4962863485aa60b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/orm/zipball/831a1eb7d260925528cdbb49cc1866c0357cf147", - "reference": "831a1eb7d260925528cdbb49cc1866c0357cf147", + "url": "https://api.github.com/repos/doctrine/orm/zipball/69958152e661aa9c14e80d1ee4962863485aa60b", + "reference": "69958152e661aa9c14e80d1ee4962863485aa60b", "shasum": "" }, "require": { @@ -2679,7 +2712,10 @@ "require-dev": { "doctrine/coding-standard": "^12.0", "phpbench/phpbench": "^1.0", - "phpstan/phpstan": "1.11.1", + "phpdocumentor/guides-cli": "^1.4", + "phpstan/extension-installer": "^1.4", + "phpstan/phpstan": "1.12.6", + "phpstan/phpstan-deprecation-rules": "^1.2", "phpunit/phpunit": "^10.4.0", "psr/log": "^1 || ^2 || ^3", "squizlabs/php_codesniffer": "3.7.2", @@ -2730,9 +2766,9 @@ ], "support": { "issues": "https://github.com/doctrine/orm/issues", - "source": "https://github.com/doctrine/orm/tree/3.2.2" + "source": "https://github.com/doctrine/orm/tree/3.3.0" }, - "time": "2024-08-23T10:03:52+00:00" + "time": "2024-10-12T20:07:18+00:00" }, { "name": "doctrine/persistence", @@ -2833,16 +2869,16 @@ }, { "name": "doctrine/sql-formatter", - "version": "1.4.1", + "version": "1.5.0", "source": { "type": "git", "url": "https://github.com/doctrine/sql-formatter.git", - "reference": "7f83911cc5eba870de7ebb11283972483f7e2891" + "reference": "16ca9e39877369d664f06dacde468548298bdc40" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/sql-formatter/zipball/7f83911cc5eba870de7ebb11283972483f7e2891", - "reference": "7f83911cc5eba870de7ebb11283972483f7e2891", + "url": "https://api.github.com/repos/doctrine/sql-formatter/zipball/16ca9e39877369d664f06dacde468548298bdc40", + "reference": "16ca9e39877369d664f06dacde468548298bdc40", "shasum": "" }, "require": { @@ -2850,6 +2886,7 @@ }, "require-dev": { "doctrine/coding-standard": "^12", + "ergebnis/phpunit-slow-test-detector": "^2.14", "phpstan/phpstan": "^1.10", "phpunit/phpunit": "^10.5", "vimeo/psalm": "^5.24" @@ -2882,9 +2919,9 @@ ], "support": { "issues": "https://github.com/doctrine/sql-formatter/issues", - "source": "https://github.com/doctrine/sql-formatter/tree/1.4.1" + "source": "https://github.com/doctrine/sql-formatter/tree/1.5.0" }, - "time": "2024-08-05T20:32:22+00:00" + "time": "2024-09-11T07:29:40+00:00" }, { "name": "dompdf/dompdf", @@ -4426,16 +4463,16 @@ }, { "name": "knpuniversity/oauth2-client-bundle", - "version": "v2.18.2", + "version": "v2.18.3", "source": { "type": "git", "url": "https://github.com/knpuniversity/oauth2-client-bundle.git", - "reference": "0f8db87efa064bc1800315c027a80b53ef935524" + "reference": "c38ca88a70aae3694ca346a41b13b9a8f6e33ed4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/knpuniversity/oauth2-client-bundle/zipball/0f8db87efa064bc1800315c027a80b53ef935524", - "reference": "0f8db87efa064bc1800315c027a80b53ef935524", + "url": "https://api.github.com/repos/knpuniversity/oauth2-client-bundle/zipball/c38ca88a70aae3694ca346a41b13b9a8f6e33ed4", + "reference": "c38ca88a70aae3694ca346a41b13b9a8f6e33ed4", "shasum": "" }, "require": { @@ -4479,9 +4516,9 @@ ], "support": { "issues": "https://github.com/knpuniversity/oauth2-client-bundle/issues", - "source": "https://github.com/knpuniversity/oauth2-client-bundle/tree/v2.18.2" + "source": "https://github.com/knpuniversity/oauth2-client-bundle/tree/v2.18.3" }, - "time": "2024-08-12T15:26:07+00:00" + "time": "2024-10-02T14:26:09+00:00" }, { "name": "laminas/laminas-code", @@ -5709,16 +5746,16 @@ }, { "name": "nelmio/security-bundle", - "version": "v3.4.1", + "version": "v3.4.2", "source": { "type": "git", "url": "https://github.com/nelmio/NelmioSecurityBundle.git", - "reference": "00d275a38ec99230df60160cb62d88fabf8f088e" + "reference": "3c4739628eafe886c001210aa0d97b33f3551599" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nelmio/NelmioSecurityBundle/zipball/00d275a38ec99230df60160cb62d88fabf8f088e", - "reference": "00d275a38ec99230df60160cb62d88fabf8f088e", + "url": "https://api.github.com/repos/nelmio/NelmioSecurityBundle/zipball/3c4739628eafe886c001210aa0d97b33f3551599", + "reference": "3c4739628eafe886c001210aa0d97b33f3551599", "shasum": "" }, "require": { @@ -5777,9 +5814,9 @@ ], "support": { "issues": "https://github.com/nelmio/NelmioSecurityBundle/issues", - "source": "https://github.com/nelmio/NelmioSecurityBundle/tree/v3.4.1" + "source": "https://github.com/nelmio/NelmioSecurityBundle/tree/v3.4.2" }, - "time": "2024-09-03T15:05:21+00:00" + "time": "2024-09-10T13:22:26+00:00" }, { "name": "nikolaposa/version", @@ -6342,16 +6379,16 @@ }, { "name": "php-http/discovery", - "version": "1.19.4", + "version": "1.20.0", "source": { "type": "git", "url": "https://github.com/php-http/discovery.git", - "reference": "0700efda8d7526335132360167315fdab3aeb599" + "reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/discovery/zipball/0700efda8d7526335132360167315fdab3aeb599", - "reference": "0700efda8d7526335132360167315fdab3aeb599", + "url": "https://api.github.com/repos/php-http/discovery/zipball/82fe4c73ef3363caed49ff8dd1539ba06044910d", + "reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d", "shasum": "" }, "require": { @@ -6415,22 +6452,22 @@ ], "support": { "issues": "https://github.com/php-http/discovery/issues", - "source": "https://github.com/php-http/discovery/tree/1.19.4" + "source": "https://github.com/php-http/discovery/tree/1.20.0" }, - "time": "2024-03-29T13:00:05+00:00" + "time": "2024-10-02T11:20:13+00:00" }, { "name": "php-http/httplug", - "version": "2.4.0", + "version": "2.4.1", "source": { "type": "git", "url": "https://github.com/php-http/httplug.git", - "reference": "625ad742c360c8ac580fcc647a1541d29e257f67" + "reference": "5cad731844891a4c282f3f3e1b582c46839d22f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/httplug/zipball/625ad742c360c8ac580fcc647a1541d29e257f67", - "reference": "625ad742c360c8ac580fcc647a1541d29e257f67", + "url": "https://api.github.com/repos/php-http/httplug/zipball/5cad731844891a4c282f3f3e1b582c46839d22f4", + "reference": "5cad731844891a4c282f3f3e1b582c46839d22f4", "shasum": "" }, "require": { @@ -6472,9 +6509,9 @@ ], "support": { "issues": "https://github.com/php-http/httplug/issues", - "source": "https://github.com/php-http/httplug/tree/2.4.0" + "source": "https://github.com/php-http/httplug/tree/2.4.1" }, - "time": "2023-04-14T15:10:03+00:00" + "time": "2024-09-23T11:39:58+00:00" }, { "name": "php-http/promise", @@ -6705,16 +6742,16 @@ }, { "name": "phpstan/phpdoc-parser", - "version": "1.30.1", + "version": "1.33.0", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "51b95ec8670af41009e2b2b56873bad96682413e" + "reference": "82a311fd3690fb2bf7b64d5c98f912b3dd746140" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/51b95ec8670af41009e2b2b56873bad96682413e", - "reference": "51b95ec8670af41009e2b2b56873bad96682413e", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/82a311fd3690fb2bf7b64d5c98f912b3dd746140", + "reference": "82a311fd3690fb2bf7b64d5c98f912b3dd746140", "shasum": "" }, "require": { @@ -6746,9 +6783,9 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/1.30.1" + "source": "https://github.com/phpstan/phpdoc-parser/tree/1.33.0" }, - "time": "2024-09-07T20:13:05+00:00" + "time": "2024-10-13T11:25:22+00:00" }, { "name": "psr/cache", @@ -7168,16 +7205,16 @@ }, { "name": "psr/log", - "version": "3.0.1", + "version": "3.0.2", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "79dff0b268932c640297f5208d6298f71855c03e" + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/79dff0b268932c640297f5208d6298f71855c03e", - "reference": "79dff0b268932c640297f5208d6298f71855c03e", + "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", "shasum": "" }, "require": { @@ -7212,9 +7249,9 @@ "psr-3" ], "support": { - "source": "https://github.com/php-fig/log/tree/3.0.1" + "source": "https://github.com/php-fig/log/tree/3.0.2" }, - "time": "2024-08-21T13:31:24+00:00" + "time": "2024-09-11T13:17:53+00:00" }, { "name": "psr/simple-cache", @@ -7986,16 +8023,16 @@ }, { "name": "spatie/db-dumper", - "version": "3.6.0", + "version": "3.7.0", "source": { "type": "git", "url": "https://github.com/spatie/db-dumper.git", - "reference": "faca5056830bccea04eadf07e8074669cb9e905e" + "reference": "22553ab8c34a9bb70645cb9bc2d9f236f3135705" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/db-dumper/zipball/faca5056830bccea04eadf07e8074669cb9e905e", - "reference": "faca5056830bccea04eadf07e8074669cb9e905e", + "url": "https://api.github.com/repos/spatie/db-dumper/zipball/22553ab8c34a9bb70645cb9bc2d9f236f3135705", + "reference": "22553ab8c34a9bb70645cb9bc2d9f236f3135705", "shasum": "" }, "require": { @@ -8033,7 +8070,7 @@ "spatie" ], "support": { - "source": "https://github.com/spatie/db-dumper/tree/3.6.0" + "source": "https://github.com/spatie/db-dumper/tree/3.7.0" }, "funding": [ { @@ -8045,7 +8082,7 @@ "type": "github" } ], - "time": "2024-04-24T14:54:13+00:00" + "time": "2024-09-23T08:58:35+00:00" }, { "name": "spomky-labs/cbor-php", @@ -8420,16 +8457,16 @@ }, { "name": "symfony/cache", - "version": "v6.4.11", + "version": "v6.4.12", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "36daef8fce88fe0b9a4f8cf4c342ced5c05616dc" + "reference": "a463451b7f6ac4a47b98dbfc78ec2d3560c759d8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/36daef8fce88fe0b9a4f8cf4c342ced5c05616dc", - "reference": "36daef8fce88fe0b9a4f8cf4c342ced5c05616dc", + "url": "https://api.github.com/repos/symfony/cache/zipball/a463451b7f6ac4a47b98dbfc78ec2d3560c759d8", + "reference": "a463451b7f6ac4a47b98dbfc78ec2d3560c759d8", "shasum": "" }, "require": { @@ -8496,7 +8533,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v6.4.11" + "source": "https://github.com/symfony/cache/tree/v6.4.12" }, "funding": [ { @@ -8512,7 +8549,7 @@ "type": "tidelift" } ], - "time": "2024-08-05T07:40:31+00:00" + "time": "2024-09-16T16:01:33+00:00" }, { "name": "symfony/cache-contracts", @@ -8741,16 +8778,16 @@ }, { "name": "symfony/console", - "version": "v6.4.11", + "version": "v6.4.12", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "42686880adaacdad1835ee8fc2a9ec5b7bd63998" + "reference": "72d080eb9edf80e36c19be61f72c98ed8273b765" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/42686880adaacdad1835ee8fc2a9ec5b7bd63998", - "reference": "42686880adaacdad1835ee8fc2a9ec5b7bd63998", + "url": "https://api.github.com/repos/symfony/console/zipball/72d080eb9edf80e36c19be61f72c98ed8273b765", + "reference": "72d080eb9edf80e36c19be61f72c98ed8273b765", "shasum": "" }, "require": { @@ -8815,7 +8852,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.4.11" + "source": "https://github.com/symfony/console/tree/v6.4.12" }, "funding": [ { @@ -8831,7 +8868,7 @@ "type": "tidelift" } ], - "time": "2024-08-15T22:48:29+00:00" + "time": "2024-09-20T08:15:52+00:00" }, { "name": "symfony/css-selector", @@ -8900,16 +8937,16 @@ }, { "name": "symfony/dependency-injection", - "version": "v6.4.11", + "version": "v6.4.12", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "e93c8368dc9915c2fe12018ff22fcbbdd32c9a9e" + "reference": "cfb9d34a1cdd4911bc737a5358fd1cf8ebfb536e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/e93c8368dc9915c2fe12018ff22fcbbdd32c9a9e", - "reference": "e93c8368dc9915c2fe12018ff22fcbbdd32c9a9e", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/cfb9d34a1cdd4911bc737a5358fd1cf8ebfb536e", + "reference": "cfb9d34a1cdd4911bc737a5358fd1cf8ebfb536e", "shasum": "" }, "require": { @@ -8961,7 +8998,7 @@ "description": "Allows you to standardize and centralize the way objects are constructed in your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dependency-injection/tree/v6.4.11" + "source": "https://github.com/symfony/dependency-injection/tree/v6.4.12" }, "funding": [ { @@ -8977,7 +9014,7 @@ "type": "tidelift" } ], - "time": "2024-08-29T08:15:38+00:00" + "time": "2024-09-20T08:18:25+00:00" }, { "name": "symfony/deprecation-contracts", @@ -9048,16 +9085,16 @@ }, { "name": "symfony/doctrine-bridge", - "version": "v6.4.11", + "version": "v6.4.12", "source": { "type": "git", "url": "https://github.com/symfony/doctrine-bridge.git", - "reference": "3c7a50bb920a5398c906725942d947493b1b044c" + "reference": "b5c0a0172bbe9b1435181d94ca5cbe4af3fb45af" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/3c7a50bb920a5398c906725942d947493b1b044c", - "reference": "3c7a50bb920a5398c906725942d947493b1b044c", + "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/b5c0a0172bbe9b1435181d94ca5cbe4af3fb45af", + "reference": "b5c0a0172bbe9b1435181d94ca5cbe4af3fb45af", "shasum": "" }, "require": { @@ -9136,7 +9173,7 @@ "description": "Provides integration for Doctrine with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/doctrine-bridge/tree/v6.4.11" + "source": "https://github.com/symfony/doctrine-bridge/tree/v6.4.12" }, "funding": [ { @@ -9152,20 +9189,20 @@ "type": "tidelift" } ], - "time": "2024-08-13T10:11:51+00:00" + "time": "2024-09-08T12:31:10+00:00" }, { "name": "symfony/dotenv", - "version": "v6.4.10", + "version": "v6.4.12", "source": { "type": "git", "url": "https://github.com/symfony/dotenv.git", - "reference": "2ae0c84cc9be0dc1eeb86016970b63c764d8472e" + "reference": "815284236cab7d8e1280f53bf562c07a4dfe5954" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dotenv/zipball/2ae0c84cc9be0dc1eeb86016970b63c764d8472e", - "reference": "2ae0c84cc9be0dc1eeb86016970b63c764d8472e", + "url": "https://api.github.com/repos/symfony/dotenv/zipball/815284236cab7d8e1280f53bf562c07a4dfe5954", + "reference": "815284236cab7d8e1280f53bf562c07a4dfe5954", "shasum": "" }, "require": { @@ -9210,7 +9247,7 @@ "environment" ], "support": { - "source": "https://github.com/symfony/dotenv/tree/v6.4.10" + "source": "https://github.com/symfony/dotenv/tree/v6.4.12" }, "funding": [ { @@ -9226,7 +9263,7 @@ "type": "tidelift" } ], - "time": "2024-07-09T18:29:35+00:00" + "time": "2024-09-16T16:01:33+00:00" }, { "name": "symfony/error-handler", @@ -9525,16 +9562,16 @@ }, { "name": "symfony/filesystem", - "version": "v6.4.9", + "version": "v6.4.12", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "b51ef8059159330b74a4d52f68e671033c0fe463" + "reference": "f810e3cbdf7fdc35983968523d09f349fa9ada12" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/b51ef8059159330b74a4d52f68e671033c0fe463", - "reference": "b51ef8059159330b74a4d52f68e671033c0fe463", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/f810e3cbdf7fdc35983968523d09f349fa9ada12", + "reference": "f810e3cbdf7fdc35983968523d09f349fa9ada12", "shasum": "" }, "require": { @@ -9571,7 +9608,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v6.4.9" + "source": "https://github.com/symfony/filesystem/tree/v6.4.12" }, "funding": [ { @@ -9587,7 +9624,7 @@ "type": "tidelift" } ], - "time": "2024-06-28T09:49:33+00:00" + "time": "2024-09-16T16:01:33+00:00" }, { "name": "symfony/finder", @@ -9655,22 +9692,25 @@ }, { "name": "symfony/flex", - "version": "v2.4.6", + "version": "v2.4.7", "source": { "type": "git", "url": "https://github.com/symfony/flex.git", - "reference": "4dc11919791f81d087a12db2ab4c7e044431ef6b" + "reference": "92f4fba342161ff36072bd3b8e0b3c6c23160402" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/flex/zipball/4dc11919791f81d087a12db2ab4c7e044431ef6b", - "reference": "4dc11919791f81d087a12db2ab4c7e044431ef6b", + "url": "https://api.github.com/repos/symfony/flex/zipball/92f4fba342161ff36072bd3b8e0b3c6c23160402", + "reference": "92f4fba342161ff36072bd3b8e0b3c6c23160402", "shasum": "" }, "require": { "composer-plugin-api": "^2.1", "php": ">=8.0" }, + "conflict": { + "composer/semver": "<1.7.2" + }, "require-dev": { "composer/composer": "^2.1", "symfony/dotenv": "^5.4|^6.0", @@ -9700,7 +9740,7 @@ "description": "Composer plugin for Symfony", "support": { "issues": "https://github.com/symfony/flex/issues", - "source": "https://github.com/symfony/flex/tree/v2.4.6" + "source": "https://github.com/symfony/flex/tree/v2.4.7" }, "funding": [ { @@ -9716,20 +9756,20 @@ "type": "tidelift" } ], - "time": "2024-04-27T10:22:22+00:00" + "time": "2024-10-07T08:51:54+00:00" }, { "name": "symfony/form", - "version": "v6.4.11", + "version": "v6.4.12", "source": { "type": "git", "url": "https://github.com/symfony/form.git", - "reference": "330d337558ecd77c664ae71e99fbc8dbc4032246" + "reference": "5037c00071b193182eae4088fbd1801793b326f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/form/zipball/330d337558ecd77c664ae71e99fbc8dbc4032246", - "reference": "330d337558ecd77c664ae71e99fbc8dbc4032246", + "url": "https://api.github.com/repos/symfony/form/zipball/5037c00071b193182eae4088fbd1801793b326f4", + "reference": "5037c00071b193182eae4088fbd1801793b326f4", "shasum": "" }, "require": { @@ -9797,7 +9837,7 @@ "description": "Allows to easily create, process and reuse HTML forms", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/form/tree/v6.4.11" + "source": "https://github.com/symfony/form/tree/v6.4.12" }, "funding": [ { @@ -9813,20 +9853,20 @@ "type": "tidelift" } ], - "time": "2024-08-12T09:55:28+00:00" + "time": "2024-09-20T08:15:52+00:00" }, { "name": "symfony/framework-bundle", - "version": "v6.4.10", + "version": "v6.4.12", "source": { "type": "git", "url": "https://github.com/symfony/framework-bundle.git", - "reference": "6cbdb0cc3ddbb63499262cd3036882b08ee2690b" + "reference": "6a9665bd1fae37b198429775c6132f193339434f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/6cbdb0cc3ddbb63499262cd3036882b08ee2690b", - "reference": "6cbdb0cc3ddbb63499262cd3036882b08ee2690b", + "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/6a9665bd1fae37b198429775c6132f193339434f", + "reference": "6a9665bd1fae37b198429775c6132f193339434f", "shasum": "" }, "require": { @@ -9835,7 +9875,7 @@ "php": ">=8.1", "symfony/cache": "^5.4|^6.0|^7.0", "symfony/config": "^6.1|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4.12|^7.0", "symfony/deprecation-contracts": "^2.5|^3", "symfony/error-handler": "^6.1|^7.0", "symfony/event-dispatcher": "^5.4|^6.0|^7.0", @@ -9945,7 +9985,7 @@ "description": "Provides a tight integration between Symfony components and the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/framework-bundle/tree/v6.4.10" + "source": "https://github.com/symfony/framework-bundle/tree/v6.4.12" }, "funding": [ { @@ -9961,20 +10001,20 @@ "type": "tidelift" } ], - "time": "2024-07-26T13:24:20+00:00" + "time": "2024-09-20T13:34:56+00:00" }, { "name": "symfony/http-client", - "version": "v6.4.11", + "version": "v6.4.12", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "4c92046bb788648ff1098cc66da69aa7eac8cb65" + "reference": "fbebfcce21084d3e91ea987ae5bdd8c71ff0fd56" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/4c92046bb788648ff1098cc66da69aa7eac8cb65", - "reference": "4c92046bb788648ff1098cc66da69aa7eac8cb65", + "url": "https://api.github.com/repos/symfony/http-client/zipball/fbebfcce21084d3e91ea987ae5bdd8c71ff0fd56", + "reference": "fbebfcce21084d3e91ea987ae5bdd8c71ff0fd56", "shasum": "" }, "require": { @@ -10038,7 +10078,7 @@ "http" ], "support": { - "source": "https://github.com/symfony/http-client/tree/v6.4.11" + "source": "https://github.com/symfony/http-client/tree/v6.4.12" }, "funding": [ { @@ -10054,7 +10094,7 @@ "type": "tidelift" } ], - "time": "2024-08-26T06:30:21+00:00" + "time": "2024-09-20T08:21:33+00:00" }, { "name": "symfony/http-client-contracts", @@ -10136,16 +10176,16 @@ }, { "name": "symfony/http-foundation", - "version": "v6.4.10", + "version": "v6.4.12", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "117f1f20a7ade7bcea28b861fb79160a21a1e37b" + "reference": "133ac043875f59c26c55e79cf074562127cce4d2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/117f1f20a7ade7bcea28b861fb79160a21a1e37b", - "reference": "117f1f20a7ade7bcea28b861fb79160a21a1e37b", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/133ac043875f59c26c55e79cf074562127cce4d2", + "reference": "133ac043875f59c26c55e79cf074562127cce4d2", "shasum": "" }, "require": { @@ -10193,7 +10233,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v6.4.10" + "source": "https://github.com/symfony/http-foundation/tree/v6.4.12" }, "funding": [ { @@ -10209,20 +10249,20 @@ "type": "tidelift" } ], - "time": "2024-07-26T12:36:27+00:00" + "time": "2024-09-20T08:18:25+00:00" }, { "name": "symfony/http-kernel", - "version": "v6.4.11", + "version": "v6.4.12", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "1ba6b89d781cb47448155cc70dd2e0f1b0584c79" + "reference": "96df83d51b5f78804f70c093b97310794fd6257b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/1ba6b89d781cb47448155cc70dd2e0f1b0584c79", - "reference": "1ba6b89d781cb47448155cc70dd2e0f1b0584c79", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/96df83d51b5f78804f70c093b97310794fd6257b", + "reference": "96df83d51b5f78804f70c093b97310794fd6257b", "shasum": "" }, "require": { @@ -10307,7 +10347,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v6.4.11" + "source": "https://github.com/symfony/http-kernel/tree/v6.4.12" }, "funding": [ { @@ -10323,20 +10363,20 @@ "type": "tidelift" } ], - "time": "2024-08-30T16:57:20+00:00" + "time": "2024-09-21T06:02:57+00:00" }, { "name": "symfony/intl", - "version": "v6.4.8", + "version": "v6.4.12", "source": { "type": "git", "url": "https://github.com/symfony/intl.git", - "reference": "50265cdcf5a44bec3fcf487b5d0015aece91d1eb" + "reference": "5f64d7218f4078492ca59da94747d7474a2a52c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/intl/zipball/50265cdcf5a44bec3fcf487b5d0015aece91d1eb", - "reference": "50265cdcf5a44bec3fcf487b5d0015aece91d1eb", + "url": "https://api.github.com/repos/symfony/intl/zipball/5f64d7218f4078492ca59da94747d7474a2a52c4", + "reference": "5f64d7218f4078492ca59da94747d7474a2a52c4", "shasum": "" }, "require": { @@ -10390,7 +10430,7 @@ "localization" ], "support": { - "source": "https://github.com/symfony/intl/tree/v6.4.8" + "source": "https://github.com/symfony/intl/tree/v6.4.12" }, "funding": [ { @@ -10406,20 +10446,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-09-20T08:16:53+00:00" }, { "name": "symfony/mailer", - "version": "v6.4.9", + "version": "v6.4.12", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "e2d56f180f5b8c5e7c0fbea872bb1f529b6d6d45" + "reference": "b6a25408c569ae2366b3f663a4edad19420a9c26" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/e2d56f180f5b8c5e7c0fbea872bb1f529b6d6d45", - "reference": "e2d56f180f5b8c5e7c0fbea872bb1f529b6d6d45", + "url": "https://api.github.com/repos/symfony/mailer/zipball/b6a25408c569ae2366b3f663a4edad19420a9c26", + "reference": "b6a25408c569ae2366b3f663a4edad19420a9c26", "shasum": "" }, "require": { @@ -10470,7 +10510,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v6.4.9" + "source": "https://github.com/symfony/mailer/tree/v6.4.12" }, "funding": [ { @@ -10486,20 +10526,20 @@ "type": "tidelift" } ], - "time": "2024-06-28T07:59:05+00:00" + "time": "2024-09-08T12:30:05+00:00" }, { "name": "symfony/mime", - "version": "v6.4.11", + "version": "v6.4.12", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "dba5d5f6073baf7a3576b580cc4a208b4ca00553" + "reference": "abe16ee7790b16aa525877419deb0f113953f0e1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/dba5d5f6073baf7a3576b580cc4a208b4ca00553", - "reference": "dba5d5f6073baf7a3576b580cc4a208b4ca00553", + "url": "https://api.github.com/repos/symfony/mime/zipball/abe16ee7790b16aa525877419deb0f113953f0e1", + "reference": "abe16ee7790b16aa525877419deb0f113953f0e1", "shasum": "" }, "require": { @@ -10555,7 +10595,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v6.4.11" + "source": "https://github.com/symfony/mime/tree/v6.4.12" }, "funding": [ { @@ -10571,7 +10611,7 @@ "type": "tidelift" } ], - "time": "2024-08-13T12:15:02+00:00" + "time": "2024-09-20T08:18:25+00:00" }, { "name": "symfony/monolog-bridge", @@ -11746,16 +11786,16 @@ }, { "name": "symfony/process", - "version": "v6.4.8", + "version": "v6.4.12", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "8d92dd79149f29e89ee0f480254db595f6a6a2c5" + "reference": "3f94e5f13ff58df371a7ead461b6e8068900fbb3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/8d92dd79149f29e89ee0f480254db595f6a6a2c5", - "reference": "8d92dd79149f29e89ee0f480254db595f6a6a2c5", + "url": "https://api.github.com/repos/symfony/process/zipball/3f94e5f13ff58df371a7ead461b6e8068900fbb3", + "reference": "3f94e5f13ff58df371a7ead461b6e8068900fbb3", "shasum": "" }, "require": { @@ -11787,7 +11827,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v6.4.8" + "source": "https://github.com/symfony/process/tree/v6.4.12" }, "funding": [ { @@ -11803,7 +11843,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-09-17T12:47:12+00:00" }, { "name": "symfony/property-access", @@ -12188,16 +12228,16 @@ }, { "name": "symfony/routing", - "version": "v6.4.11", + "version": "v6.4.12", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "8ee0c24c1bf61c263a26f1b9b6d19e83b1121f2a" + "reference": "a7c8036bd159486228dc9be3e846a00a0dda9f9f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/8ee0c24c1bf61c263a26f1b9b6d19e83b1121f2a", - "reference": "8ee0c24c1bf61c263a26f1b9b6d19e83b1121f2a", + "url": "https://api.github.com/repos/symfony/routing/zipball/a7c8036bd159486228dc9be3e846a00a0dda9f9f", + "reference": "a7c8036bd159486228dc9be3e846a00a0dda9f9f", "shasum": "" }, "require": { @@ -12251,7 +12291,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v6.4.11" + "source": "https://github.com/symfony/routing/tree/v6.4.12" }, "funding": [ { @@ -12267,20 +12307,20 @@ "type": "tidelift" } ], - "time": "2024-08-29T08:15:38+00:00" + "time": "2024-09-20T08:32:26+00:00" }, { "name": "symfony/runtime", - "version": "v6.4.8", + "version": "v6.4.12", "source": { "type": "git", "url": "https://github.com/symfony/runtime.git", - "reference": "b4bfa2fd4cad1fee62f80b3dfe4eb674cc3302a0" + "reference": "bfe32a1adf41da4dd7f6b939a039779d7af5497f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/runtime/zipball/b4bfa2fd4cad1fee62f80b3dfe4eb674cc3302a0", - "reference": "b4bfa2fd4cad1fee62f80b3dfe4eb674cc3302a0", + "url": "https://api.github.com/repos/symfony/runtime/zipball/bfe32a1adf41da4dd7f6b939a039779d7af5497f", + "reference": "bfe32a1adf41da4dd7f6b939a039779d7af5497f", "shasum": "" }, "require": { @@ -12330,7 +12370,7 @@ "runtime" ], "support": { - "source": "https://github.com/symfony/runtime/tree/v6.4.8" + "source": "https://github.com/symfony/runtime/tree/v6.4.12" }, "funding": [ { @@ -12346,7 +12386,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-09-19T13:29:10+00:00" }, { "name": "symfony/security-bundle", @@ -12462,16 +12502,16 @@ }, { "name": "symfony/security-core", - "version": "v6.4.11", + "version": "v6.4.12", "source": { "type": "git", "url": "https://github.com/symfony/security-core.git", - "reference": "a8e106dc62e2b778093b29800187edbe62bbaa4e" + "reference": "8c7e52155262b3ef6b7885f6d9bd90fb24eaa66f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-core/zipball/a8e106dc62e2b778093b29800187edbe62bbaa4e", - "reference": "a8e106dc62e2b778093b29800187edbe62bbaa4e", + "url": "https://api.github.com/repos/symfony/security-core/zipball/8c7e52155262b3ef6b7885f6d9bd90fb24eaa66f", + "reference": "8c7e52155262b3ef6b7885f6d9bd90fb24eaa66f", "shasum": "" }, "require": { @@ -12528,7 +12568,7 @@ "description": "Symfony Security Component - Core Library", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-core/tree/v6.4.11" + "source": "https://github.com/symfony/security-core/tree/v6.4.12" }, "funding": [ { @@ -12544,7 +12584,7 @@ "type": "tidelift" } ], - "time": "2024-08-29T08:15:38+00:00" + "time": "2024-09-20T08:21:33+00:00" }, { "name": "symfony/security-csrf", @@ -12616,16 +12656,16 @@ }, { "name": "symfony/security-http", - "version": "v6.4.11", + "version": "v6.4.12", "source": { "type": "git", "url": "https://github.com/symfony/security-http.git", - "reference": "f502530fd13b2d6dac62446e10ad86c95d63e044" + "reference": "f6df97af71943cda726dc852335204eac02a716b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-http/zipball/f502530fd13b2d6dac62446e10ad86c95d63e044", - "reference": "f502530fd13b2d6dac62446e10ad86c95d63e044", + "url": "https://api.github.com/repos/symfony/security-http/zipball/f6df97af71943cda726dc852335204eac02a716b", + "reference": "f6df97af71943cda726dc852335204eac02a716b", "shasum": "" }, "require": { @@ -12684,7 +12724,7 @@ "description": "Symfony Security Component - HTTP Integration", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-http/tree/v6.4.11" + "source": "https://github.com/symfony/security-http/tree/v6.4.12" }, "funding": [ { @@ -12700,20 +12740,20 @@ "type": "tidelift" } ], - "time": "2024-08-15T22:52:23+00:00" + "time": "2024-09-20T08:18:25+00:00" }, { "name": "symfony/serializer", - "version": "v6.4.11", + "version": "v6.4.12", "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "a75d03d7720417f8a654e73e8f02acdea8779cd0" + "reference": "10ae9c1b90f4809ccb7277cc8fe8d80b3af4412c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/a75d03d7720417f8a654e73e8f02acdea8779cd0", - "reference": "a75d03d7720417f8a654e73e8f02acdea8779cd0", + "url": "https://api.github.com/repos/symfony/serializer/zipball/10ae9c1b90f4809ccb7277cc8fe8d80b3af4412c", + "reference": "10ae9c1b90f4809ccb7277cc8fe8d80b3af4412c", "shasum": "" }, "require": { @@ -12782,7 +12822,7 @@ "description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/serializer/tree/v6.4.11" + "source": "https://github.com/symfony/serializer/tree/v6.4.12" }, "funding": [ { @@ -12798,7 +12838,7 @@ "type": "tidelift" } ], - "time": "2024-08-17T07:51:47+00:00" + "time": "2024-09-20T08:15:52+00:00" }, { "name": "symfony/service-contracts", @@ -12885,16 +12925,16 @@ }, { "name": "symfony/stimulus-bundle", - "version": "v2.19.0", + "version": "v2.20.0", "source": { "type": "git", "url": "https://github.com/symfony/stimulus-bundle.git", - "reference": "5e2e1aff3e7cff2875e2f901437543fda9ca9910" + "reference": "ae69e3a764694b9f45d8a009dd2b8c22444c5e0c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stimulus-bundle/zipball/5e2e1aff3e7cff2875e2f901437543fda9ca9910", - "reference": "5e2e1aff3e7cff2875e2f901437543fda9ca9910", + "url": "https://api.github.com/repos/symfony/stimulus-bundle/zipball/ae69e3a764694b9f45d8a009dd2b8c22444c5e0c", + "reference": "ae69e3a764694b9f45d8a009dd2b8c22444c5e0c", "shasum": "" }, "require": { @@ -12934,7 +12974,7 @@ "symfony-ux" ], "support": { - "source": "https://github.com/symfony/stimulus-bundle/tree/v2.19.0" + "source": "https://github.com/symfony/stimulus-bundle/tree/v2.20.0" }, "funding": [ { @@ -12950,7 +12990,7 @@ "type": "tidelift" } ], - "time": "2024-07-30T19:26:23+00:00" + "time": "2024-09-24T09:27:42+00:00" }, { "name": "symfony/stopwatch", @@ -13016,16 +13056,16 @@ }, { "name": "symfony/string", - "version": "v6.4.11", + "version": "v6.4.12", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "5bc3eb632cf9c8dbfd6529d89be9950d1518883b" + "reference": "f8a1ccebd0997e16112dfecfd74220b78e5b284b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/5bc3eb632cf9c8dbfd6529d89be9950d1518883b", - "reference": "5bc3eb632cf9c8dbfd6529d89be9950d1518883b", + "url": "https://api.github.com/repos/symfony/string/zipball/f8a1ccebd0997e16112dfecfd74220b78e5b284b", + "reference": "f8a1ccebd0997e16112dfecfd74220b78e5b284b", "shasum": "" }, "require": { @@ -13082,7 +13122,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.4.11" + "source": "https://github.com/symfony/string/tree/v6.4.12" }, "funding": [ { @@ -13098,20 +13138,20 @@ "type": "tidelift" } ], - "time": "2024-08-12T09:55:28+00:00" + "time": "2024-09-20T08:15:52+00:00" }, { "name": "symfony/translation", - "version": "v6.4.10", + "version": "v6.4.12", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "94041203f8ac200ae9e7c6a18fa6137814ccecc9" + "reference": "cf8360b8352b086be620fae8342c4d96e391a489" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/94041203f8ac200ae9e7c6a18fa6137814ccecc9", - "reference": "94041203f8ac200ae9e7c6a18fa6137814ccecc9", + "url": "https://api.github.com/repos/symfony/translation/zipball/cf8360b8352b086be620fae8342c4d96e391a489", + "reference": "cf8360b8352b086be620fae8342c4d96e391a489", "shasum": "" }, "require": { @@ -13177,7 +13217,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v6.4.10" + "source": "https://github.com/symfony/translation/tree/v6.4.12" }, "funding": [ { @@ -13193,7 +13233,7 @@ "type": "tidelift" } ], - "time": "2024-07-26T12:30:32+00:00" + "time": "2024-09-16T06:02:54+00:00" }, { "name": "symfony/translation-contracts", @@ -13275,16 +13315,16 @@ }, { "name": "symfony/twig-bridge", - "version": "v6.4.11", + "version": "v6.4.12", "source": { "type": "git", "url": "https://github.com/symfony/twig-bridge.git", - "reference": "2cf03a4012631b74d68f9e6c3e03798ac592cbe5" + "reference": "09c0df13f822a1b80c5972ca1aa9eeb1288e1194" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/2cf03a4012631b74d68f9e6c3e03798ac592cbe5", - "reference": "2cf03a4012631b74d68f9e6c3e03798ac592cbe5", + "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/09c0df13f822a1b80c5972ca1aa9eeb1288e1194", + "reference": "09c0df13f822a1b80c5972ca1aa9eeb1288e1194", "shasum": "" }, "require": { @@ -13364,7 +13404,7 @@ "description": "Provides integration for Twig with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/twig-bridge/tree/v6.4.11" + "source": "https://github.com/symfony/twig-bridge/tree/v6.4.12" }, "funding": [ { @@ -13380,20 +13420,20 @@ "type": "tidelift" } ], - "time": "2024-08-29T08:15:38+00:00" + "time": "2024-09-15T06:35:36+00:00" }, { "name": "symfony/twig-bundle", - "version": "v6.4.8", + "version": "v6.4.12", "source": { "type": "git", "url": "https://github.com/symfony/twig-bundle.git", - "reference": "ef17bc8fc2cb2376b235cd1b98f0275a78c5ba65" + "reference": "4e63369647e3924e110b37337c6a58aac3086ad4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/ef17bc8fc2cb2376b235cd1b98f0275a78c5ba65", - "reference": "ef17bc8fc2cb2376b235cd1b98f0275a78c5ba65", + "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/4e63369647e3924e110b37337c6a58aac3086ad4", + "reference": "4e63369647e3924e110b37337c6a58aac3086ad4", "shasum": "" }, "require": { @@ -13448,7 +13488,7 @@ "description": "Provides a tight integration of Twig into the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/twig-bundle/tree/v6.4.8" + "source": "https://github.com/symfony/twig-bundle/tree/v6.4.12" }, "funding": [ { @@ -13464,20 +13504,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-09-08T12:30:05+00:00" }, { "name": "symfony/uid", - "version": "v6.4.11", + "version": "v6.4.12", "source": { "type": "git", "url": "https://github.com/symfony/uid.git", - "reference": "6a0394ad707de386547223948fac1e0f2805bc0b" + "reference": "2f16054e0a9b194b8ca581d4a64eee3f7d4a9d4d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/uid/zipball/6a0394ad707de386547223948fac1e0f2805bc0b", - "reference": "6a0394ad707de386547223948fac1e0f2805bc0b", + "url": "https://api.github.com/repos/symfony/uid/zipball/2f16054e0a9b194b8ca581d4a64eee3f7d4a9d4d", + "reference": "2f16054e0a9b194b8ca581d4a64eee3f7d4a9d4d", "shasum": "" }, "require": { @@ -13522,7 +13562,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/uid/tree/v6.4.11" + "source": "https://github.com/symfony/uid/tree/v6.4.12" }, "funding": [ { @@ -13538,20 +13578,20 @@ "type": "tidelift" } ], - "time": "2024-08-12T09:55:28+00:00" + "time": "2024-09-20T08:32:26+00:00" }, { "name": "symfony/ux-translator", - "version": "v2.19.3", + "version": "v2.20.0", "source": { "type": "git", "url": "https://github.com/symfony/ux-translator.git", - "reference": "2c0027a4aeda6a9c58db7428862c778e106c12a1" + "reference": "d0beabc981b9a5784086ba3ebe953dab4956688f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/ux-translator/zipball/2c0027a4aeda6a9c58db7428862c778e106c12a1", - "reference": "2c0027a4aeda6a9c58db7428862c778e106c12a1", + "url": "https://api.github.com/repos/symfony/ux-translator/zipball/d0beabc981b9a5784086ba3ebe953dab4956688f", + "reference": "d0beabc981b9a5784086ba3ebe953dab4956688f", "shasum": "" }, "require": { @@ -13598,7 +13638,7 @@ "symfony-ux" ], "support": { - "source": "https://github.com/symfony/ux-translator/tree/v2.19.3" + "source": "https://github.com/symfony/ux-translator/tree/v2.20.0" }, "funding": [ { @@ -13614,20 +13654,20 @@ "type": "tidelift" } ], - "time": "2024-08-14T14:09:20+00:00" + "time": "2024-09-23T07:22:55+00:00" }, { "name": "symfony/ux-turbo", - "version": "v2.19.3", + "version": "v2.20.0", "source": { "type": "git", "url": "https://github.com/symfony/ux-turbo.git", - "reference": "4a38f267193017958d487171c0a86e64f36164a3" + "reference": "5eaa803dea9f954aa124963f2c872b414d97cc97" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/ux-turbo/zipball/4a38f267193017958d487171c0a86e64f36164a3", - "reference": "4a38f267193017958d487171c0a86e64f36164a3", + "url": "https://api.github.com/repos/symfony/ux-turbo/zipball/5eaa803dea9f954aa124963f2c872b414d97cc97", + "reference": "5eaa803dea9f954aa124963f2c872b414d97cc97", "shasum": "" }, "require": { @@ -13695,7 +13735,7 @@ "turbo-stream" ], "support": { - "source": "https://github.com/symfony/ux-turbo/tree/v2.19.3" + "source": "https://github.com/symfony/ux-turbo/tree/v2.20.0" }, "funding": [ { @@ -13711,20 +13751,20 @@ "type": "tidelift" } ], - "time": "2024-08-14T04:55:38+00:00" + "time": "2024-09-10T12:38:04+00:00" }, { "name": "symfony/validator", - "version": "v6.4.11", + "version": "v6.4.12", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "4ff41cf10af1de99ad92895411b55c9f309bc2d8" + "reference": "6da1f0a1ee73d060a411d832cbe0539cfe9bbaa0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/4ff41cf10af1de99ad92895411b55c9f309bc2d8", - "reference": "4ff41cf10af1de99ad92895411b55c9f309bc2d8", + "url": "https://api.github.com/repos/symfony/validator/zipball/6da1f0a1ee73d060a411d832cbe0539cfe9bbaa0", + "reference": "6da1f0a1ee73d060a411d832cbe0539cfe9bbaa0", "shasum": "" }, "require": { @@ -13792,7 +13832,7 @@ "description": "Provides tools to validate values", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/validator/tree/v6.4.11" + "source": "https://github.com/symfony/validator/tree/v6.4.12" }, "funding": [ { @@ -13808,7 +13848,7 @@ "type": "tidelift" } ], - "time": "2024-08-30T15:57:55+00:00" + "time": "2024-09-20T08:18:25+00:00" }, { "name": "symfony/var-dumper", @@ -14057,16 +14097,16 @@ }, { "name": "symfony/webpack-encore-bundle", - "version": "v2.1.1", + "version": "v2.2.0", "source": { "type": "git", "url": "https://github.com/symfony/webpack-encore-bundle.git", - "reference": "75cb918df3f65e28cf0d4bc03042bc45ccb19dd0" + "reference": "e335394b68a775a9b2bd173a8ba4fd2001f3870c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/webpack-encore-bundle/zipball/75cb918df3f65e28cf0d4bc03042bc45ccb19dd0", - "reference": "75cb918df3f65e28cf0d4bc03042bc45ccb19dd0", + "url": "https://api.github.com/repos/symfony/webpack-encore-bundle/zipball/e335394b68a775a9b2bd173a8ba4fd2001f3870c", + "reference": "e335394b68a775a9b2bd173a8ba4fd2001f3870c", "shasum": "" }, "require": { @@ -14079,6 +14119,7 @@ }, "require-dev": { "symfony/framework-bundle": "^5.4 || ^6.2 || ^7.0", + "symfony/http-client": "^5.4 || ^6.2 || ^7.0", "symfony/phpunit-bridge": "^5.4 || ^6.2 || ^7.0", "symfony/twig-bundle": "^5.4 || ^6.2 || ^7.0", "symfony/web-link": "^5.4 || ^6.2 || ^7.0" @@ -14105,10 +14146,10 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Integration with your Symfony app & Webpack Encore!", + "description": "Integration of your Symfony app with Webpack Encore", "support": { "issues": "https://github.com/symfony/webpack-encore-bundle/issues", - "source": "https://github.com/symfony/webpack-encore-bundle/tree/v2.1.1" + "source": "https://github.com/symfony/webpack-encore-bundle/tree/v2.2.0" }, "funding": [ { @@ -14124,20 +14165,20 @@ "type": "tidelift" } ], - "time": "2023-10-22T18:53:08+00:00" + "time": "2024-10-02T07:27:19+00:00" }, { "name": "symfony/yaml", - "version": "v6.4.11", + "version": "v6.4.12", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "be37e7f13195e05ab84ca5269365591edd240335" + "reference": "762ee56b2649659380e0ef4d592d807bc17b7971" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/be37e7f13195e05ab84ca5269365591edd240335", - "reference": "be37e7f13195e05ab84ca5269365591edd240335", + "url": "https://api.github.com/repos/symfony/yaml/zipball/762ee56b2649659380e0ef4d592d807bc17b7971", + "reference": "762ee56b2649659380e0ef4d592d807bc17b7971", "shasum": "" }, "require": { @@ -14180,7 +14221,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v6.4.11" + "source": "https://github.com/symfony/yaml/tree/v6.4.12" }, "funding": [ { @@ -14196,7 +14237,7 @@ "type": "tidelift" } ], - "time": "2024-08-12T09:55:28+00:00" + "time": "2024-09-17T12:47:12+00:00" }, { "name": "tecnickcom/tc-lib-barcode", @@ -15868,16 +15909,16 @@ }, { "name": "nikic/php-parser", - "version": "v5.1.0", + "version": "v5.3.1", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "683130c2ff8c2739f4822ff7ac5c873ec529abd1" + "reference": "8eea230464783aa9671db8eea6f8c6ac5285794b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/683130c2ff8c2739f4822ff7ac5c873ec529abd1", - "reference": "683130c2ff8c2739f4822ff7ac5c873ec529abd1", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/8eea230464783aa9671db8eea6f8c6ac5285794b", + "reference": "8eea230464783aa9671db8eea6f8c6ac5285794b", "shasum": "" }, "require": { @@ -15920,9 +15961,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.1.0" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.3.1" }, - "time": "2024-07-01T20:03:41+00:00" + "time": "2024-10-08T18:51:32+00:00" }, { "name": "phar-io/manifest", @@ -16092,16 +16133,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.12.3", + "version": "1.12.6", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "0fcbf194ab63d8159bb70d9aa3e1350051632009" + "reference": "dc4d2f145a88ea7141ae698effd64d9df46527ae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/0fcbf194ab63d8159bb70d9aa3e1350051632009", - "reference": "0fcbf194ab63d8159bb70d9aa3e1350051632009", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/dc4d2f145a88ea7141ae698effd64d9df46527ae", + "reference": "dc4d2f145a88ea7141ae698effd64d9df46527ae", "shasum": "" }, "require": { @@ -16146,7 +16187,7 @@ "type": "github" } ], - "time": "2024-09-09T08:10:35+00:00" + "time": "2024-10-06T15:03:59+00:00" }, { "name": "phpstan/phpstan-doctrine", @@ -16222,21 +16263,21 @@ }, { "name": "phpstan/phpstan-strict-rules", - "version": "1.6.0", + "version": "1.6.1", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan-strict-rules.git", - "reference": "363f921dd8441777d4fc137deb99beb486c77df1" + "reference": "daeec748b53de80a97498462513066834ec28f8b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-strict-rules/zipball/363f921dd8441777d4fc137deb99beb486c77df1", - "reference": "363f921dd8441777d4fc137deb99beb486c77df1", + "url": "https://api.github.com/repos/phpstan/phpstan-strict-rules/zipball/daeec748b53de80a97498462513066834ec28f8b", + "reference": "daeec748b53de80a97498462513066834ec28f8b", "shasum": "" }, "require": { "php": "^7.2 || ^8.0", - "phpstan/phpstan": "^1.11" + "phpstan/phpstan": "^1.12.4" }, "require-dev": { "nikic/php-parser": "^4.13.0", @@ -16265,22 +16306,22 @@ "description": "Extra strict and opinionated rules for PHPStan", "support": { "issues": "https://github.com/phpstan/phpstan-strict-rules/issues", - "source": "https://github.com/phpstan/phpstan-strict-rules/tree/1.6.0" + "source": "https://github.com/phpstan/phpstan-strict-rules/tree/1.6.1" }, - "time": "2024-04-20T06:37:51+00:00" + "time": "2024-09-20T14:04:44+00:00" }, { "name": "phpstan/phpstan-symfony", - "version": "1.4.9", + "version": "1.4.10", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan-symfony.git", - "reference": "51ab2438fb2695467cf96b58d2f8f28d4dd1e3e9" + "reference": "f7d5782044bedf93aeb3f38e09c91148ee90e5a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-symfony/zipball/51ab2438fb2695467cf96b58d2f8f28d4dd1e3e9", - "reference": "51ab2438fb2695467cf96b58d2f8f28d4dd1e3e9", + "url": "https://api.github.com/repos/phpstan/phpstan-symfony/zipball/f7d5782044bedf93aeb3f38e09c91148ee90e5a1", + "reference": "f7d5782044bedf93aeb3f38e09c91148ee90e5a1", "shasum": "" }, "require": { @@ -16337,9 +16378,9 @@ "description": "Symfony Framework extensions and rules for PHPStan", "support": { "issues": "https://github.com/phpstan/phpstan-symfony/issues", - "source": "https://github.com/phpstan/phpstan-symfony/tree/1.4.9" + "source": "https://github.com/phpstan/phpstan-symfony/tree/1.4.10" }, - "time": "2024-09-05T16:15:09+00:00" + "time": "2024-09-26T18:14:50+00:00" }, { "name": "phpunit/php-code-coverage", @@ -16662,16 +16703,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.6.20", + "version": "9.6.21", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "49d7820565836236411f5dc002d16dd689cde42f" + "reference": "de6abf3b6f8dd955fac3caad3af7a9504e8c2ffa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/49d7820565836236411f5dc002d16dd689cde42f", - "reference": "49d7820565836236411f5dc002d16dd689cde42f", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/de6abf3b6f8dd955fac3caad3af7a9504e8c2ffa", + "reference": "de6abf3b6f8dd955fac3caad3af7a9504e8c2ffa", "shasum": "" }, "require": { @@ -16686,7 +16727,7 @@ "phar-io/manifest": "^2.0.4", "phar-io/version": "^3.2.1", "php": ">=7.3", - "phpunit/php-code-coverage": "^9.2.31", + "phpunit/php-code-coverage": "^9.2.32", "phpunit/php-file-iterator": "^3.0.6", "phpunit/php-invoker": "^3.1.1", "phpunit/php-text-template": "^2.0.4", @@ -16745,7 +16786,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.20" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.21" }, "funding": [ { @@ -16761,25 +16802,25 @@ "type": "tidelift" } ], - "time": "2024-07-10T11:45:39+00:00" + "time": "2024-09-19T10:50:18+00:00" }, { "name": "rector/rector", - "version": "1.2.5", + "version": "1.2.7", "source": { "type": "git", "url": "https://github.com/rectorphp/rector.git", - "reference": "e98aa793ca3fcd17e893cfaf9103ac049775d339" + "reference": "5b33bdd871895276e2c18e5410a4a57df9233ee0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/rectorphp/rector/zipball/e98aa793ca3fcd17e893cfaf9103ac049775d339", - "reference": "e98aa793ca3fcd17e893cfaf9103ac049775d339", + "url": "https://api.github.com/repos/rectorphp/rector/zipball/5b33bdd871895276e2c18e5410a4a57df9233ee0", + "reference": "5b33bdd871895276e2c18e5410a4a57df9233ee0", "shasum": "" }, "require": { "php": "^7.2|^8.0", - "phpstan/phpstan": "^1.12.2" + "phpstan/phpstan": "^1.12.5" }, "conflict": { "rector/rector-doctrine": "*", @@ -16812,7 +16853,7 @@ ], "support": { "issues": "https://github.com/rectorphp/rector/issues", - "source": "https://github.com/rectorphp/rector/tree/1.2.5" + "source": "https://github.com/rectorphp/rector/tree/1.2.7" }, "funding": [ { @@ -16820,7 +16861,7 @@ "type": "github" } ], - "time": "2024-09-08T17:43:24+00:00" + "time": "2024-10-12T11:12:46+00:00" }, { "name": "roave/security-advisories", @@ -16828,12 +16869,12 @@ "source": { "type": "git", "url": "https://github.com/Roave/SecurityAdvisories.git", - "reference": "791bcaf99c75b0851de23d9e802e32770243193b" + "reference": "c3c55a0f6643119fa8699577cc83ca6256d98ab5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/791bcaf99c75b0851de23d9e802e32770243193b", - "reference": "791bcaf99c75b0851de23d9e802e32770243193b", + "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/c3c55a0f6643119fa8699577cc83ca6256d98ab5", + "reference": "c3c55a0f6643119fa8699577cc83ca6256d98ab5", "shasum": "" }, "conflict": { @@ -16844,7 +16885,7 @@ "aimeos/ai-admin-graphql": ">=2022.04.1,<2022.10.10|>=2023.04.1,<2023.10.6|>=2024.04.1,<2024.04.6", "aimeos/ai-admin-jsonadm": "<2020.10.13|>=2021.04.1,<2021.10.6|>=2022.04.1,<2022.10.3|>=2023.04.1,<2023.10.4|==2024.04.1", "aimeos/ai-client-html": ">=2020.04.1,<2020.10.27|>=2021.04.1,<2021.10.22|>=2022.04.1,<2022.10.13|>=2023.04.1,<2023.10.15|>=2024.04.1,<2024.04.7", - "aimeos/ai-controller-frontend": "<2020.10.15|>=2021.04.1,<2021.10.8|>=2022.04.1,<2022.10.8|>=2023.04.1,<2023.10.9", + "aimeos/ai-controller-frontend": "<2020.10.15|>=2021.04.1,<2021.10.8|>=2022.04.1,<2022.10.8|>=2023.04.1,<2023.10.9|==2024.04.1", "aimeos/aimeos-core": ">=2022.04.1,<2022.10.17|>=2023.04.1,<2023.10.17|>=2024.04.1,<2024.04.7", "aimeos/aimeos-typo3": "<19.10.12|>=20,<20.10.5", "airesvsg/acf-to-rest-api": "<=3.1", @@ -16930,13 +16971,13 @@ "codeigniter4/shield": "<1.0.0.0-beta8", "codiad/codiad": "<=2.8.4", "composer/composer": "<1.10.27|>=2,<2.2.24|>=2.3,<2.7.7", - "concrete5/concrete5": "<9.3.3", + "concrete5/concrete5": "<9.3.4", "concrete5/core": "<8.5.8|>=9,<9.1", "contao-components/mediaelement": ">=2.14.2,<2.21.1", "contao/comments-bundle": ">=2,<4.13.40|>=5.0.0.0-RC1-dev,<5.3.4", - "contao/contao": ">=3,<3.5.37|>=4,<4.4.56|>=4.5,<4.9.40|>=4.10,<4.11.7|>=4.13,<4.13.21|>=5.1,<5.1.4", + "contao/contao": "<=5.4.1", "contao/core": "<3.5.39", - "contao/core-bundle": "<4.13.40|>=5,<5.3.4", + "contao/core-bundle": "<4.13.49|>=5,<5.3.15|>=5.4,<5.4.3", "contao/listing-bundle": ">=3,<=3.5.30|>=4,<4.4.8", "contao/managed-edition": "<=1.5", "corveda/phpsandbox": "<1.3.5", @@ -16944,7 +16985,9 @@ "craftcms/cms": "<4.6.2|>=5,<=5.2.2", "croogo/croogo": "<4", "cuyz/valinor": "<0.12", + "czim/file-handling": "<1.5|>=2,<2.3", "czproject/git-php": "<4.0.3", + "damienharper/auditor-bundle": "<5.2.6", "dapphp/securimage": "<3.6.6", "darylldoyle/safe-svg": "<1.9.10", "datadog/dd-trace": ">=0.30,<0.30.2", @@ -16955,6 +16998,7 @@ "derhansen/fe_change_pwd": "<2.0.5|>=3,<3.0.3", "derhansen/sf_event_mgt": "<4.3.1|>=5,<5.1.1|>=7,<7.4", "desperado/xml-bundle": "<=0.1.7", + "dev-lancer/minecraft-motd-parser": "<=1.0.5", "devgroup/dotplant": "<2020.09.14-dev", "directmailteam/direct-mail": "<6.0.3|>=7,<7.0.3|>=8,<9.5.2", "doctrine/annotations": "<1.2.7", @@ -16969,9 +17013,9 @@ "dolibarr/dolibarr": "<19.0.2", "dompdf/dompdf": "<2.0.4", "doublethreedigital/guest-entries": "<3.1.2", - "drupal/core": ">=6,<6.38|>=7,<7.96|>=8,<10.1.8|>=10.2,<10.2.2|==11.9999999.9999999.9999999-dev", - "drupal/core-recommended": "==11.9999999.9999999.9999999-dev", - "drupal/drupal": ">=5,<5.11|>=6,<6.38|>=7,<7.80|>=8,<8.9.16|>=9,<9.1.12|>=9.2,<9.2.4|==11.9999999.9999999.9999999-dev", + "drupal/core": ">=6,<6.38|>=7,<7.96|>=8,<10.2.9|>=10.3,<10.3.6|>=11,<11.0.5", + "drupal/core-recommended": ">=8,<10.2.9|>=10.3,<10.3.6|>=11,<11.0.5", + "drupal/drupal": ">=5,<5.11|>=6,<6.38|>=7,<7.80|>=8,<10.2.9|>=10.3,<10.3.6|>=11,<11.0.5", "duncanmcclean/guest-entries": "<3.1.2", "dweeves/magmi": "<=0.7.24", "ec-cube/ec-cube": "<2.4.4|>=2.11,<=2.17.1|>=3,<=3.0.18.0-patch4|>=4,<=4.1.2", @@ -17014,6 +17058,8 @@ "feehi/cms": "<=2.1.1", "feehi/feehicms": "<=2.1.1", "fenom/fenom": "<=2.12.1", + "filament/infolists": ">=3,<3.2.115", + "filament/tables": ">=3,<3.2.115", "filegator/filegator": "<7.8", "filp/whoops": "<2.1.13", "fineuploader/php-traditional-server": "<=1.2.2", @@ -17100,7 +17146,7 @@ "in2code/femanager": "<5.5.3|>=6,<6.3.4|>=7,<7.2.3", "in2code/ipandlanguageredirect": "<5.1.2", "in2code/lux": "<17.6.1|>=18,<24.0.2", - "in2code/powermail": "<7.5|>=8,<8.5|>=9,<10.9|>=11,<12.4", + "in2code/powermail": "<7.5.1|>=8,<8.5.1|>=9,<10.9.1|>=11,<12.4.1", "innologi/typo3-appointments": "<2.0.6", "intelliants/subrion": "<4.2.2", "inter-mediator/inter-mediator": "==5.5", @@ -17130,18 +17176,20 @@ "kelvinmo/simplexrd": "<3.1.1", "kevinpapst/kimai2": "<1.16.7", "khodakhah/nodcms": "<=3", - "kimai/kimai": "<2.16", + "kimai/kimai": "<=2.20.1", "kitodo/presentation": "<3.2.3|>=3.3,<3.3.4", "klaviyo/magento2-extension": ">=1,<3", "knplabs/knp-snappy": "<=1.4.2", "kohana/core": "<3.3.3", - "krayin/laravel-crm": "<1.2.2", + "krayin/laravel-crm": "<=1.3", "kreait/firebase-php": ">=3.2,<3.8.1", "kumbiaphp/kumbiapp": "<=1.1.1", "la-haute-societe/tcpdf": "<6.2.22", "laminas/laminas-diactoros": "<2.18.1|==2.19|==2.20|==2.21|==2.22|==2.23|>=2.24,<2.24.2|>=2.25,<2.25.2", "laminas/laminas-form": "<2.17.1|>=3,<3.0.2|>=3.1,<3.1.1", "laminas/laminas-http": "<2.14.2", + "lara-zeus/artemis": ">=1,<=1.0.6", + "lara-zeus/dynamic-dashboard": ">=3,<=3.0.1", "laravel/fortify": "<1.11.1", "laravel/framework": "<6.20.44|>=7,<7.30.6|>=8,<8.75", "laravel/laravel": ">=5.4,<5.4.22", @@ -17157,13 +17205,13 @@ "librenms/librenms": "<2017.08.18", "liftkit/database": "<2.13.2", "lightsaml/lightsaml": "<1.3.5", - "limesurvey/limesurvey": "<3.27.19", + "limesurvey/limesurvey": "<6.5.12", "livehelperchat/livehelperchat": "<=3.91", - "livewire/livewire": ">2.2.4,<2.2.6|>=3.3.5,<3.4.9", + "livewire/livewire": "<2.12.7|>=3.0.0.0-beta1,<3.5.2", "lms/routes": "<2.1.1", "localizationteam/l10nmgr": "<7.4|>=8,<8.7|>=9,<9.2", "luyadev/yii-helpers": "<1.2.1", - "magento/community-edition": "<2.4.5|==2.4.5|>=2.4.5.0-patch1,<2.4.5.0-patch8|==2.4.6|>=2.4.6.0-patch1,<2.4.6.0-patch6|==2.4.7", + "magento/community-edition": "<2.4.5|==2.4.5|>=2.4.5.0-patch1,<2.4.5.0-patch10|==2.4.6|>=2.4.6.0-patch1,<2.4.6.0-patch8|>=2.4.7.0-beta1,<2.4.7.0-patch3", "magento/core": "<=1.9.4.5", "magento/magento1ce": "<1.9.4.3-dev", "magento/magento1ee": ">=1,<1.14.4.3-dev", @@ -17171,11 +17219,13 @@ "magneto/core": "<1.9.4.4-dev", "maikuolan/phpmussel": ">=1,<1.6", "mainwp/mainwp": "<=4.4.3.3", - "mantisbt/mantisbt": "<2.26.2", + "mantisbt/mantisbt": "<=2.26.3", "marcwillmann/turn": "<0.3.3", "matyhtf/framework": "<3.0.6", - "mautic/core": "<4.4.12|>=5.0.0.0-alpha,<5.0.4", + "mautic/core": "<4.4.13|>=5,<5.1.1", + "mautic/core-lib": ">=1.0.0.0-beta,<4.4.13|>=5.0.0.0-alpha,<5.1.1", "mdanter/ecc": "<2", + "mediawiki/cargo": "<3.6.1", "mediawiki/core": "<1.36.2", "mediawiki/matomo": "<2.4.3", "mediawiki/semantic-media-wiki": "<4.0.2", @@ -17232,7 +17282,7 @@ "nzo/url-encryptor-bundle": ">=4,<4.3.2|>=5,<5.0.1", "october/backend": "<1.1.2", "october/cms": "<1.0.469|==1.0.469|==1.0.471|==1.1.1", - "october/october": "<=3.4.4", + "october/october": "<=3.6.4", "october/rain": "<1.0.472|>=1.1,<1.1.2", "october/system": "<1.0.476|>=1.1,<1.1.12|>=2,<2.2.34|>=3,<3.5.15", "omeka/omeka-s": "<4.0.3", @@ -17284,7 +17334,7 @@ "phpmyfaq/phpmyfaq": "<3.2.5|==3.2.5", "phpoffice/common": "<0.2.9", "phpoffice/phpexcel": "<1.8", - "phpoffice/phpspreadsheet": "<1.29.1|>=2,<2.2.1", + "phpoffice/phpspreadsheet": "<1.29.2|>=2,<2.1.1|>=2.2,<2.3", "phpseclib/phpseclib": "<2.0.47|>=3,<3.0.36", "phpservermon/phpservermon": "<3.6", "phpsysinfo/phpsysinfo": "<3.4.3", @@ -17327,7 +17377,7 @@ "pubnub/pubnub": "<6.1", "pusher/pusher-php-server": "<2.2.1", "pwweb/laravel-core": "<=0.3.6.0-beta", - "pxlrbt/filament-excel": "<2.3.3", + "pxlrbt/filament-excel": "<1.1.14|>=2.0.0.0-alpha,<2.3.3", "pyrocms/pyrocms": "<=3.9.1", "qcubed/qcubed": "<=3.1.1", "quickapps/cms": "<=2.0.0.0-beta2", @@ -17394,7 +17444,7 @@ "slim/slim": "<2.6", "slub/slub-events": "<3.0.3", "smarty/smarty": "<4.5.3|>=5,<5.1.1", - "snipe/snipe-it": "<6.4.2", + "snipe/snipe-it": "<7.0.10", "socalnick/scn-social-auth": "<1.15.2", "socialiteproviders/steam": "<1.1", "spatie/browsershot": "<3.57.4", @@ -17404,6 +17454,7 @@ "spoonity/tcpdf": "<6.2.22", "squizlabs/php_codesniffer": ">=1,<2.8.1|>=3,<3.0.1", "ssddanbrown/bookstack": "<24.05.1", + "starcitizentools/citizen-skin": ">=2.6.3,<2.31", "statamic/cms": "<4.46|>=5.3,<5.6.2", "stormpath/sdk": "<9.9.99", "studio-42/elfinder": "<=2.1.64", @@ -17411,7 +17462,7 @@ "subhh/libconnect": "<7.0.8|>=8,<8.1", "sukohi/surpass": "<1", "sulu/form-bundle": ">=2,<2.5.3", - "sulu/sulu": "<1.6.44|>=2,<2.4.17|>=2.5,<2.5.13", + "sulu/sulu": "<1.6.44|>=2,<2.6.5", "sumocoders/framework-user-bundle": "<1.4", "superbig/craft-audit": "<3.0.2", "swag/paypal": "<5.4.4", @@ -17478,18 +17529,18 @@ "tinymighty/wiki-seo": "<1.2.2", "titon/framework": "<9.9.99", "tobiasbg/tablepress": "<=2.0.0.0-RC1", - "topthink/framework": "<6.0.17|>=6.1,<6.1.5|>=8,<8.0.4", + "topthink/framework": "<6.0.17|>=6.1,<=8.0.4", "topthink/think": "<=6.1.1", "topthink/thinkphp": "<=3.2.3", "torrentpier/torrentpier": "<=2.4.3", "tpwd/ke_search": "<4.0.3|>=4.1,<4.6.6|>=5,<5.0.2", - "tribalsystems/zenario": "<9.5.60602", + "tribalsystems/zenario": "<=9.7.61188", "truckersmp/phpwhois": "<=4.3.1", "ttskch/pagination-service-provider": "<1", "twbs/bootstrap": "<=3.4.1|>=4,<=4.6.2", - "twig/twig": "<1.44.7|>=2,<2.15.3|>=3,<3.4.3", + "twig/twig": "<1.44.8|>=2,<2.16.1|>=3,<3.11.1|>=3.12,<3.14", "typo3/cms": "<9.5.29|>=10,<10.4.35|>=11,<11.5.23|>=12,<12.2", - "typo3/cms-backend": "<4.1.14|>=4.2,<4.2.15|>=4.3,<4.3.7|>=4.4,<4.4.4|>=7,<=7.6.50|>=8,<=8.7.39|>=9,<=9.5.24|>=10,<=10.4.13|>=11,<=11.1", + "typo3/cms-backend": "<4.1.14|>=4.2,<4.2.15|>=4.3,<4.3.7|>=4.4,<4.4.4|>=7,<=7.6.50|>=8,<=8.7.39|>=9,<=9.5.24|>=10,<10.4.46|>=11,<11.5.40|>=12,<12.4.21|>=13,<13.3.1", "typo3/cms-core": "<=8.7.56|>=9,<=9.5.47|>=10,<=10.4.44|>=11,<=11.5.36|>=12,<=12.4.14|>=13,<=13.1", "typo3/cms-extbase": "<6.2.24|>=7,<7.6.8|==8.1.1", "typo3/cms-fluid": "<4.3.4|>=4.4,<4.4.1", @@ -17539,6 +17590,7 @@ "winter/wn-dusk-plugin": "<2.1", "winter/wn-system-module": "<1.2.4", "wintercms/winter": "<=1.2.3", + "wireui/wireui": "<1.19.3|>=2,<2.1.3", "woocommerce/woocommerce": "<6.6|>=8.8,<8.8.5|>=8.9,<8.9.3", "wp-cli/wp-cli": ">=0.12,<2.5", "wp-graphql/wp-graphql": "<=1.14.5", @@ -17641,7 +17693,7 @@ "type": "tidelift" } ], - "time": "2024-09-09T19:04:19+00:00" + "time": "2024-10-11T18:06:00+00:00" }, { "name": "sebastian/cli-parser", @@ -18750,16 +18802,16 @@ }, { "name": "symfony/dom-crawler", - "version": "v6.4.8", + "version": "v6.4.12", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "105b56a0305d219349edeb60a800082eca864e4b" + "reference": "9d307ecbcb917001692be333cdc58f474fdb37f0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/105b56a0305d219349edeb60a800082eca864e4b", - "reference": "105b56a0305d219349edeb60a800082eca864e4b", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/9d307ecbcb917001692be333cdc58f474fdb37f0", + "reference": "9d307ecbcb917001692be333cdc58f474fdb37f0", "shasum": "" }, "require": { @@ -18797,7 +18849,7 @@ "description": "Eases DOM navigation for HTML and XML documents", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dom-crawler/tree/v6.4.8" + "source": "https://github.com/symfony/dom-crawler/tree/v6.4.12" }, "funding": [ { @@ -18813,7 +18865,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-09-15T06:35:36+00:00" }, { "name": "symfony/maker-bundle", @@ -19073,16 +19125,16 @@ }, { "name": "symplify/easy-coding-standard", - "version": "12.3.5", + "version": "12.3.6", "source": { "type": "git", "url": "https://github.com/easy-coding-standard/easy-coding-standard.git", - "reference": "0d7c2cfee3debdf11c12135e90d69d1d9f4eef03" + "reference": "c0f378782d06dfd21c66c3024e9d28f4e737645e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/easy-coding-standard/easy-coding-standard/zipball/0d7c2cfee3debdf11c12135e90d69d1d9f4eef03", - "reference": "0d7c2cfee3debdf11c12135e90d69d1d9f4eef03", + "url": "https://api.github.com/repos/easy-coding-standard/easy-coding-standard/zipball/c0f378782d06dfd21c66c3024e9d28f4e737645e", + "reference": "c0f378782d06dfd21c66c3024e9d28f4e737645e", "shasum": "" }, "require": { @@ -19118,7 +19170,7 @@ ], "support": { "issues": "https://github.com/easy-coding-standard/easy-coding-standard/issues", - "source": "https://github.com/easy-coding-standard/easy-coding-standard/tree/12.3.5" + "source": "https://github.com/easy-coding-standard/easy-coding-standard/tree/12.3.6" }, "funding": [ { @@ -19130,7 +19182,7 @@ "type": "github" } ], - "time": "2024-08-08T08:43:50+00:00" + "time": "2024-10-06T08:27:28+00:00" }, { "name": "theseer/tokenizer", diff --git a/yarn.lock b/yarn.lock index 859a382c..82ff3a7b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -63,96 +63,96 @@ "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.24" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.7.tgz#882fd9e09e8ee324e496bd040401c6f046ef4465" - integrity sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.25.7.tgz#438f2c524071531d643c6f0188e1e28f130cebc7" + integrity sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g== dependencies: - "@babel/highlight" "^7.24.7" + "@babel/highlight" "^7.25.7" picocolors "^1.0.0" -"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.25.2", "@babel/compat-data@^7.25.4": - version "7.25.4" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.25.4.tgz#7d2a80ce229890edcf4cc259d4d696cb4dae2fcb" - integrity sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ== +"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.25.7", "@babel/compat-data@^7.25.8": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.25.8.tgz#0376e83df5ab0eb0da18885c0140041f0747a402" + integrity sha512-ZsysZyXY4Tlx+Q53XdnOFmqwfB9QDTHYxaZYajWRoBLuLEAwI2UIbtxOjWh/cFaa9IKUlcB+DDuoskLuKu56JA== "@babel/core@^7.19.6": - version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.25.2.tgz#ed8eec275118d7613e77a352894cd12ded8eba77" - integrity sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA== + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.25.8.tgz#a57137d2a51bbcffcfaeba43cb4dd33ae3e0e1c6" + integrity sha512-Oixnb+DzmRT30qu9d3tJSQkxuygWm32DFykT4bRoORPa9hZ/L4KhVB/XiRm6KG+roIEM7DBQlmg27kw2HZkdZg== dependencies: "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.24.7" - "@babel/generator" "^7.25.0" - "@babel/helper-compilation-targets" "^7.25.2" - "@babel/helper-module-transforms" "^7.25.2" - "@babel/helpers" "^7.25.0" - "@babel/parser" "^7.25.0" - "@babel/template" "^7.25.0" - "@babel/traverse" "^7.25.2" - "@babel/types" "^7.25.2" + "@babel/code-frame" "^7.25.7" + "@babel/generator" "^7.25.7" + "@babel/helper-compilation-targets" "^7.25.7" + "@babel/helper-module-transforms" "^7.25.7" + "@babel/helpers" "^7.25.7" + "@babel/parser" "^7.25.8" + "@babel/template" "^7.25.7" + "@babel/traverse" "^7.25.7" + "@babel/types" "^7.25.8" convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.25.0", "@babel/generator@^7.25.6": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.25.6.tgz#0df1ad8cb32fe4d2b01d8bf437f153d19342a87c" - integrity sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw== +"@babel/generator@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.25.7.tgz#de86acbeb975a3e11ee92dd52223e6b03b479c56" + integrity sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA== dependencies: - "@babel/types" "^7.25.6" + "@babel/types" "^7.25.7" "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" - jsesc "^2.5.1" + jsesc "^3.0.2" -"@babel/helper-annotate-as-pure@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz#5373c7bc8366b12a033b4be1ac13a206c6656aab" - integrity sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg== +"@babel/helper-annotate-as-pure@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.7.tgz#63f02dbfa1f7cb75a9bdb832f300582f30bb8972" + integrity sha512-4xwU8StnqnlIhhioZf1tqnVWeQ9pvH/ujS8hRfw/WOza+/a+1qv69BWNy+oY231maTCWgKWhfBU7kDpsds6zAA== dependencies: - "@babel/types" "^7.24.7" + "@babel/types" "^7.25.7" -"@babel/helper-builder-binary-assignment-operator-visitor@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz#37d66feb012024f2422b762b9b2a7cfe27c7fba3" - integrity sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA== +"@babel/helper-builder-binary-assignment-operator-visitor@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.25.7.tgz#d721650c1f595371e0a23ee816f1c3c488c0d622" + integrity sha512-12xfNeKNH7jubQNm7PAkzlLwEmCs1tfuX3UjIw6vP6QXi+leKh6+LyC/+Ed4EIQermwd58wsyh070yjDHFlNGg== dependencies: - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" + "@babel/traverse" "^7.25.7" + "@babel/types" "^7.25.7" -"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.24.7", "@babel/helper-compilation-targets@^7.24.8", "@babel/helper-compilation-targets@^7.25.2": - version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz#e1d9410a90974a3a5a66e84ff55ef62e3c02d06c" - integrity sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw== +"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.7.tgz#11260ac3322dda0ef53edfae6e97b961449f5fa4" + integrity sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A== dependencies: - "@babel/compat-data" "^7.25.2" - "@babel/helper-validator-option" "^7.24.8" - browserslist "^4.23.1" + "@babel/compat-data" "^7.25.7" + "@babel/helper-validator-option" "^7.25.7" + browserslist "^4.24.0" lru-cache "^5.1.1" semver "^6.3.1" -"@babel/helper-create-class-features-plugin@^7.24.7", "@babel/helper-create-class-features-plugin@^7.25.4": - version "7.25.4" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.4.tgz#57eaf1af38be4224a9d9dd01ddde05b741f50e14" - integrity sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ== +"@babel/helper-create-class-features-plugin@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.7.tgz#5d65074c76cae75607421c00d6bd517fe1892d6b" + integrity sha512-bD4WQhbkx80mAyj/WCm4ZHcF4rDxkoLFO6ph8/5/mQ3z4vAzltQXAmbc7GvVJx5H+lk5Mi5EmbTeox5nMGCsbw== dependencies: - "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-member-expression-to-functions" "^7.24.8" - "@babel/helper-optimise-call-expression" "^7.24.7" - "@babel/helper-replace-supers" "^7.25.0" - "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" - "@babel/traverse" "^7.25.4" + "@babel/helper-annotate-as-pure" "^7.25.7" + "@babel/helper-member-expression-to-functions" "^7.25.7" + "@babel/helper-optimise-call-expression" "^7.25.7" + "@babel/helper-replace-supers" "^7.25.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.7" + "@babel/traverse" "^7.25.7" semver "^6.3.1" -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.24.7", "@babel/helper-create-regexp-features-plugin@^7.25.0", "@babel/helper-create-regexp-features-plugin@^7.25.2": - version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz#24c75974ed74183797ffd5f134169316cd1808d9" - integrity sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g== +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.7.tgz#dcb464f0e2cdfe0c25cc2a0a59c37ab940ce894e" + integrity sha512-byHhumTj/X47wJ6C6eLpK7wW/WBEcnUeb7D0FNc/jFQnQVw7DOso3Zz5u9x/zLrFVkHa89ZGDbkAa1D54NdrCQ== dependencies: - "@babel/helper-annotate-as-pure" "^7.24.7" - regexpu-core "^5.3.1" + "@babel/helper-annotate-as-pure" "^7.25.7" + regexpu-core "^6.1.1" semver "^6.3.1" "@babel/helper-define-polyfill-provider@^0.6.2": @@ -166,289 +166,184 @@ lodash.debounce "^4.0.8" resolve "^1.14.2" -"@babel/helper-member-expression-to-functions@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz#6155e079c913357d24a4c20480db7c712a5c3fb6" - integrity sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA== +"@babel/helper-member-expression-to-functions@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.7.tgz#541a33b071f0355a63a0fa4bdf9ac360116b8574" + integrity sha512-O31Ssjd5K6lPbTX9AAYpSKrZmLeagt9uwschJd+Ixo6QiRyfpvgtVQp8qrDR9UNFjZ8+DO34ZkdrN+BnPXemeA== dependencies: - "@babel/traverse" "^7.24.8" - "@babel/types" "^7.24.8" + "@babel/traverse" "^7.25.7" + "@babel/types" "^7.25.7" -"@babel/helper-module-imports@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz#f2f980392de5b84c3328fc71d38bd81bbb83042b" - integrity sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA== +"@babel/helper-module-imports@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.25.7.tgz#dba00d9523539152906ba49263e36d7261040472" + integrity sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw== dependencies: - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" + "@babel/traverse" "^7.25.7" + "@babel/types" "^7.25.7" -"@babel/helper-module-transforms@^7.24.7", "@babel/helper-module-transforms@^7.24.8", "@babel/helper-module-transforms@^7.25.0", "@babel/helper-module-transforms@^7.25.2": - version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz#ee713c29768100f2776edf04d4eb23b8d27a66e6" - integrity sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ== +"@babel/helper-module-transforms@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.25.7.tgz#2ac9372c5e001b19bc62f1fe7d96a18cb0901d1a" + integrity sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ== dependencies: - "@babel/helper-module-imports" "^7.24.7" - "@babel/helper-simple-access" "^7.24.7" - "@babel/helper-validator-identifier" "^7.24.7" - "@babel/traverse" "^7.25.2" + "@babel/helper-module-imports" "^7.25.7" + "@babel/helper-simple-access" "^7.25.7" + "@babel/helper-validator-identifier" "^7.25.7" + "@babel/traverse" "^7.25.7" -"@babel/helper-optimise-call-expression@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz#8b0a0456c92f6b323d27cfd00d1d664e76692a0f" - integrity sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A== +"@babel/helper-optimise-call-expression@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.7.tgz#1de1b99688e987af723eed44fa7fc0ee7b97d77a" + integrity sha512-VAwcwuYhv/AT+Vfr28c9y6SHzTan1ryqrydSTFGjU0uDJHw3uZ+PduI8plCLkRsDnqK2DMEDmwrOQRsK/Ykjng== dependencies: - "@babel/types" "^7.24.7" + "@babel/types" "^7.25.7" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.7", "@babel/helper-plugin-utils@^7.24.8", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz#94ee67e8ec0e5d44ea7baeb51e571bd26af07878" - integrity sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg== +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.7.tgz#8ec5b21812d992e1ef88a9b068260537b6f0e36c" + integrity sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw== -"@babel/helper-remap-async-to-generator@^7.24.7", "@babel/helper-remap-async-to-generator@^7.25.0": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz#d2f0fbba059a42d68e5e378feaf181ef6055365e" - integrity sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw== +"@babel/helper-remap-async-to-generator@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.7.tgz#9efdc39df5f489bcd15533c912b6c723a0a65021" + integrity sha512-kRGE89hLnPfcz6fTrlNU+uhgcwv0mBE4Gv3P9Ke9kLVJYpi4AMVVEElXvB5CabrPZW4nCM8P8UyyjrzCM0O2sw== dependencies: - "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-wrap-function" "^7.25.0" - "@babel/traverse" "^7.25.0" + "@babel/helper-annotate-as-pure" "^7.25.7" + "@babel/helper-wrap-function" "^7.25.7" + "@babel/traverse" "^7.25.7" -"@babel/helper-replace-supers@^7.24.7", "@babel/helper-replace-supers@^7.25.0": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz#ff44deac1c9f619523fe2ca1fd650773792000a9" - integrity sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg== +"@babel/helper-replace-supers@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.25.7.tgz#38cfda3b6e990879c71d08d0fef9236b62bd75f5" + integrity sha512-iy8JhqlUW9PtZkd4pHM96v6BdJ66Ba9yWSE4z0W4TvSZwLBPkyDsiIU3ENe4SmrzRBs76F7rQXTy1lYC49n6Lw== dependencies: - "@babel/helper-member-expression-to-functions" "^7.24.8" - "@babel/helper-optimise-call-expression" "^7.24.7" - "@babel/traverse" "^7.25.0" + "@babel/helper-member-expression-to-functions" "^7.25.7" + "@babel/helper-optimise-call-expression" "^7.25.7" + "@babel/traverse" "^7.25.7" -"@babel/helper-simple-access@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz#bcade8da3aec8ed16b9c4953b74e506b51b5edb3" - integrity sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg== +"@babel/helper-simple-access@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.25.7.tgz#5eb9f6a60c5d6b2e0f76057004f8dacbddfae1c0" + integrity sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ== dependencies: - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" + "@babel/traverse" "^7.25.7" + "@babel/types" "^7.25.7" -"@babel/helper-skip-transparent-expression-wrappers@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz#5f8fa83b69ed5c27adc56044f8be2b3ea96669d9" - integrity sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ== +"@babel/helper-skip-transparent-expression-wrappers@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.7.tgz#382831c91038b1a6d32643f5f49505b8442cb87c" + integrity sha512-pPbNbchZBkPMD50K0p3JGcFMNLVUCuU/ABybm/PGNj4JiHrpmNyqqCphBk4i19xXtNV0JhldQJJtbSW5aUvbyA== dependencies: - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" + "@babel/traverse" "^7.25.7" + "@babel/types" "^7.25.7" -"@babel/helper-string-parser@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz#5b3329c9a58803d5df425e5785865881a81ca48d" - integrity sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ== +"@babel/helper-string-parser@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.7.tgz#d50e8d37b1176207b4fe9acedec386c565a44a54" + integrity sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g== -"@babel/helper-validator-identifier@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz#75b889cfaf9e35c2aaf42cf0d72c8e91719251db" - integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w== +"@babel/helper-validator-identifier@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz#77b7f60c40b15c97df735b38a66ba1d7c3e93da5" + integrity sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg== -"@babel/helper-validator-option@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz#3725cdeea8b480e86d34df15304806a06975e33d" - integrity sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q== +"@babel/helper-validator-option@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.25.7.tgz#97d1d684448228b30b506d90cace495d6f492729" + integrity sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ== -"@babel/helper-wrap-function@^7.25.0": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.25.0.tgz#dab12f0f593d6ca48c0062c28bcfb14ebe812f81" - integrity sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ== +"@babel/helper-wrap-function@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.25.7.tgz#9f6021dd1c4fdf4ad515c809967fc4bac9a70fe7" + integrity sha512-MA0roW3JF2bD1ptAaJnvcabsVlNQShUaThyJbCDD4bCp8NEgiFvpoqRI2YS22hHlc2thjO/fTg2ShLMC3jygAg== dependencies: - "@babel/template" "^7.25.0" - "@babel/traverse" "^7.25.0" - "@babel/types" "^7.25.0" + "@babel/template" "^7.25.7" + "@babel/traverse" "^7.25.7" + "@babel/types" "^7.25.7" -"@babel/helpers@^7.25.0": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.25.6.tgz#57ee60141829ba2e102f30711ffe3afab357cc60" - integrity sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q== +"@babel/helpers@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.25.7.tgz#091b52cb697a171fe0136ab62e54e407211f09c2" + integrity sha512-Sv6pASx7Esm38KQpF/U/OXLwPPrdGHNKoeblRxgZRLXnAtnkEe4ptJPDtAZM7fBLadbc1Q07kQpSiGQ0Jg6tRA== dependencies: - "@babel/template" "^7.25.0" - "@babel/types" "^7.25.6" + "@babel/template" "^7.25.7" + "@babel/types" "^7.25.7" -"@babel/highlight@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.7.tgz#a05ab1df134b286558aae0ed41e6c5f731bf409d" - integrity sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw== +"@babel/highlight@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.25.7.tgz#20383b5f442aa606e7b5e3043b0b1aafe9f37de5" + integrity sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw== dependencies: - "@babel/helper-validator-identifier" "^7.24.7" + "@babel/helper-validator-identifier" "^7.25.7" chalk "^2.4.2" js-tokens "^4.0.0" picocolors "^1.0.0" -"@babel/parser@^7.18.9", "@babel/parser@^7.25.0", "@babel/parser@^7.25.6": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.25.6.tgz#85660c5ef388cbbf6e3d2a694ee97a38f18afe2f" - integrity sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q== +"@babel/parser@^7.18.9", "@babel/parser@^7.25.7", "@babel/parser@^7.25.8": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.25.8.tgz#f6aaf38e80c36129460c1657c0762db584c9d5e2" + integrity sha512-HcttkxzdPucv3nNFmfOOMfFf64KgdJVqm1KaCm25dPGMLElo9nsLvXeJECQg8UzPuBGLyTSA0ZzqCtDSzKTEoQ== dependencies: - "@babel/types" "^7.25.6" + "@babel/types" "^7.25.8" -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.25.3": - version "7.25.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz#dca427b45a6c0f5c095a1c639dfe2476a3daba7f" - integrity sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA== +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.7.tgz#93969ac50ef4d68b2504b01b758af714e4cbdd64" + integrity sha512-UV9Lg53zyebzD1DwQoT9mzkEKa922LNUp5YkTJ6Uta0RbyXaQNUgcvSt7qIu1PpPzVb6rd10OVNTzkyBGeVmxQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.8" - "@babel/traverse" "^7.25.3" + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/traverse" "^7.25.7" -"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.25.0": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz#cd0c583e01369ef51676bdb3d7b603e17d2b3f73" - integrity sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA== +"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.7.tgz#a338d611adb9dcd599b8b1efa200c88ebeffe046" + integrity sha512-GDDWeVLNxRIkQTnJn2pDOM1pkCgYdSqPeT1a9vh9yIqu2uzzgw1zcqEb+IJOhy+dTBMlNdThrDIksr2o09qrrQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.25.0": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.0.tgz#749bde80356b295390954643de7635e0dffabe73" - integrity sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA== +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.7.tgz#c5f755e911dfac7ef6957300c0f9c4a8c18c06f4" + integrity sha512-wxyWg2RYaSUYgmd9MR0FyRGyeOMQE/Uzr1wzd/g5cf5bwi9A4v6HFdDm7y1MgDtod/fLOSTZY6jDgV0xU9d5bA== dependencies: - "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz#e4eabdd5109acc399b38d7999b2ef66fc2022f89" - integrity sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ== +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.7.tgz#3b7ea04492ded990978b6deaa1dfca120ad4455a" + integrity sha512-Xwg6tZpLxc4iQjorYsyGMyfJE7nP5MV8t/Ka58BgiA7Jw0fRqQNcANlLfdJ/yvBt9z9LD2We+BEkT7vLqZRWng== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" - "@babel/plugin-transform-optional-chaining" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.7" + "@babel/plugin-transform-optional-chaining" "^7.25.7" -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.25.0": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.0.tgz#3a82a70e7cb7294ad2559465ebcb871dfbf078fb" - integrity sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw== +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.7.tgz#9622b1d597a703aa3a921e6f58c9c2d9a028d2c5" + integrity sha512-UVATLMidXrnH+GMUIuxq55nejlj02HP7F5ETyBONzP6G87fPBogG4CH6kxrSrdIuAjdwNO9VzyaYsrZPscWUrw== dependencies: - "@babel/helper-plugin-utils" "^7.24.8" - "@babel/traverse" "^7.25.0" + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/traverse" "^7.25.7" "@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": version "7.21.0-placeholder-for-preset-env.2" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== +"@babel/plugin-syntax-import-assertions@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.7.tgz#8ce248f9f4ed4b7ed4cb2e0eb4ed9efd9f52921f" + integrity sha512-ZvZQRmME0zfJnDQnVBKYzHxXT7lYBB3Revz1GuS7oLXWMgqUPX4G+DDbT30ICClht9WKV34QVrZhSw6WdklwZQ== dependencies: - "@babel/helper-plugin-utils" "^7.8.0" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-syntax-class-properties@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== +"@babel/plugin-syntax-import-attributes@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.7.tgz#d78dd0499d30df19a598e63ab895e21b909bc43f" + integrity sha512-AqVo+dguCgmpi/3mYBdu9lkngOBlQ2w2vnNpa6gfiCxQZLzV4ZbhsXitJ2Yblkoe1VQwtHSaNmIaGll/26YWRw== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-class-static-block@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" - integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-dynamic-import@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" - integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-export-namespace-from@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" - integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-import-assertions@^7.24.7": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.6.tgz#bb918905c58711b86f9710d74a3744b6c56573b5" - integrity sha512-aABl0jHw9bZ2karQ/uUD6XP4u0SG22SJrOHFoL6XB1R7dTovOP4TzTlsxOYC5yQ1pdscVK2JTUnF6QL3ARoAiQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.8" - -"@babel/plugin-syntax-import-attributes@^7.24.7": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.6.tgz#6d4c78f042db0e82fd6436cd65fec5dc78ad2bde" - integrity sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.8" - -"@babel/plugin-syntax-import-meta@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-private-property-in-object@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" - integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-top-level-await@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.25.7" "@babel/plugin-syntax-unicode-sets-regex@^7.18.6": version "7.18.6" @@ -458,486 +353,459 @@ "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-arrow-functions@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz#4f6886c11e423bd69f3ce51dbf42424a5f275514" - integrity sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ== +"@babel/plugin-transform-arrow-functions@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.7.tgz#1b9ed22e6890a0e9ff470371c73b8c749bcec386" + integrity sha512-EJN2mKxDwfOUCPxMO6MUI58RN3ganiRAG/MS/S3HfB6QFNjroAMelQo/gybyYq97WerCBAZoyrAoW8Tzdq2jWg== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-async-generator-functions@^7.25.4": - version "7.25.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.4.tgz#2afd4e639e2d055776c9f091b6c0c180ed8cf083" - integrity sha512-jz8cV2XDDTqjKPwVPJBIjORVEmSGYhdRa8e5k5+vN+uwcjSrSxUaebBRa4ko1jqNF2uxyg8G6XYk30Jv285xzg== +"@babel/plugin-transform-async-generator-functions@^7.25.8": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.8.tgz#3331de02f52cc1f2c75b396bec52188c85b0b1ec" + integrity sha512-9ypqkozyzpG+HxlH4o4gdctalFGIjjdufzo7I2XPda0iBnZ6a+FO0rIEQcdSPXp02CkvGsII1exJhmROPQd5oA== dependencies: - "@babel/helper-plugin-utils" "^7.24.8" - "@babel/helper-remap-async-to-generator" "^7.25.0" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/traverse" "^7.25.4" + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/helper-remap-async-to-generator" "^7.25.7" + "@babel/traverse" "^7.25.7" -"@babel/plugin-transform-async-to-generator@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz#72a3af6c451d575842a7e9b5a02863414355bdcc" - integrity sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA== +"@babel/plugin-transform-async-to-generator@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.7.tgz#a44c7323f8d4285a6c568dd43c5c361d6367ec52" + integrity sha512-ZUCjAavsh5CESCmi/xCpX1qcCaAglzs/7tmuvoFnJgA1dM7gQplsguljoTg+Ru8WENpX89cQyAtWoaE0I3X3Pg== dependencies: - "@babel/helper-module-imports" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-remap-async-to-generator" "^7.24.7" + "@babel/helper-module-imports" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/helper-remap-async-to-generator" "^7.25.7" -"@babel/plugin-transform-block-scoped-functions@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz#a4251d98ea0c0f399dafe1a35801eaba455bbf1f" - integrity sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ== +"@babel/plugin-transform-block-scoped-functions@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.25.7.tgz#e0b8843d5571719a2f1bf7e284117a3379fcc17c" + integrity sha512-xHttvIM9fvqW+0a3tZlYcZYSBpSWzGBFIt/sYG3tcdSzBB8ZeVgz2gBP7Df+sM0N1850jrviYSSeUuc+135dmQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-block-scoping@^7.25.0": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.0.tgz#23a6ed92e6b006d26b1869b1c91d1b917c2ea2ac" - integrity sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ== +"@babel/plugin-transform-block-scoping@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.7.tgz#6dab95e98adf780ceef1b1c3ab0e55cd20dd410a" + integrity sha512-ZEPJSkVZaeTFG/m2PARwLZQ+OG0vFIhPlKHK/JdIMy8DbRJ/htz6LRrTFtdzxi9EHmcwbNPAKDnadpNSIW+Aow== dependencies: - "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-class-properties@^7.25.4": - version "7.25.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.4.tgz#bae7dbfcdcc2e8667355cd1fb5eda298f05189fd" - integrity sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g== +"@babel/plugin-transform-class-properties@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.7.tgz#a389cfca7a10ac80e3ff4c75fca08bd097ad1523" + integrity sha512-mhyfEW4gufjIqYFo9krXHJ3ElbFLIze5IDp+wQTxoPd+mwFb1NxatNAwmv8Q8Iuxv7Zc+q8EkiMQwc9IhyGf4g== dependencies: - "@babel/helper-create-class-features-plugin" "^7.25.4" - "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-create-class-features-plugin" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-class-static-block@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz#c82027ebb7010bc33c116d4b5044fbbf8c05484d" - integrity sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ== +"@babel/plugin-transform-class-static-block@^7.25.8": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.25.8.tgz#a8af22028920fe404668031eceb4c3aadccb5262" + integrity sha512-e82gl3TCorath6YLf9xUwFehVvjvfqFhdOo4+0iVIVju+6XOi5XHkqB3P2AXnSwoeTX0HBoXq5gJFtvotJzFnQ== dependencies: - "@babel/helper-create-class-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/helper-create-class-features-plugin" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-classes@^7.25.4": - version "7.25.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.4.tgz#d29dbb6a72d79f359952ad0b66d88518d65ef89a" - integrity sha512-oexUfaQle2pF/b6E0dwsxQtAol9TLSO88kQvym6HHBWFliV2lGdrPieX+WgMRLSJDVzdYywk7jXbLPuO2KLTLg== +"@babel/plugin-transform-classes@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.7.tgz#5103206cf80d02283bbbd044509ea3b65d0906bb" + integrity sha512-9j9rnl+YCQY0IGoeipXvnk3niWicIB6kCsWRGLwX241qSXpbA4MKxtp/EdvFxsc4zI5vqfLxzOd0twIJ7I99zg== dependencies: - "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-compilation-targets" "^7.25.2" - "@babel/helper-plugin-utils" "^7.24.8" - "@babel/helper-replace-supers" "^7.25.0" - "@babel/traverse" "^7.25.4" + "@babel/helper-annotate-as-pure" "^7.25.7" + "@babel/helper-compilation-targets" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/helper-replace-supers" "^7.25.7" + "@babel/traverse" "^7.25.7" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz#4cab3214e80bc71fae3853238d13d097b004c707" - integrity sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ== +"@babel/plugin-transform-computed-properties@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.7.tgz#7f621f0aa1354b5348a935ab12e3903842466f65" + integrity sha512-QIv+imtM+EtNxg/XBKL3hiWjgdLjMOmZ+XzQwSgmBfKbfxUjBzGgVPklUuE55eq5/uVoh8gg3dqlrwR/jw3ZeA== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/template" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/template" "^7.25.7" -"@babel/plugin-transform-destructuring@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz#c828e814dbe42a2718a838c2a2e16a408e055550" - integrity sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ== +"@babel/plugin-transform-destructuring@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.7.tgz#f6f26a9feefb5aa41fd45b6f5838901b5333d560" + integrity sha512-xKcfLTlJYUczdaM1+epcdh1UGewJqr9zATgrNHcLBcV2QmfvPPEixo/sK/syql9cEmbr7ulu5HMFG5vbbt/sEA== dependencies: - "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-dotall-regex@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz#5f8bf8a680f2116a7207e16288a5f974ad47a7a0" - integrity sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw== +"@babel/plugin-transform-dotall-regex@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.7.tgz#9d775c4a3ff1aea64045300fcd4309b4a610ef02" + integrity sha512-kXzXMMRzAtJdDEgQBLF4oaiT6ZCU3oWHgpARnTKDAqPkDJ+bs3NrZb310YYevR5QlRo3Kn7dzzIdHbZm1VzJdQ== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-create-regexp-features-plugin" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-duplicate-keys@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz#dd20102897c9a2324e5adfffb67ff3610359a8ee" - integrity sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw== +"@babel/plugin-transform-duplicate-keys@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.7.tgz#fbba7d1155eab76bd4f2a038cbd5d65883bd7a93" + integrity sha512-by+v2CjoL3aMnWDOyCIg+yxU9KXSRa9tN6MbqggH5xvymmr9p4AMjYkNlQy4brMceBnUyHZ9G8RnpvT8wP7Cfg== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.25.0": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz#809af7e3339466b49c034c683964ee8afb3e2604" - integrity sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g== +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.7.tgz#102b31608dcc22c08fbca1894e104686029dc141" + integrity sha512-HvS6JF66xSS5rNKXLqkk7L9c/jZ/cdIVIcoPVrnl8IsVpLggTjXs8OWekbLHs/VtYDDh5WXnQyeE3PPUGm22MA== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.0" - "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-create-regexp-features-plugin" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-dynamic-import@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz#4d8b95e3bae2b037673091aa09cd33fecd6419f4" - integrity sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg== +"@babel/plugin-transform-dynamic-import@^7.25.8": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.8.tgz#f1edbe75b248cf44c70c8ca8ed3818a668753aaa" + integrity sha512-gznWY+mr4ZQL/EWPcbBQUP3BXS5FwZp8RUOw06BaRn8tQLzN4XLIxXejpHN9Qo8x8jjBmAAKp6FoS51AgkSA/A== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-exponentiation-operator@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz#b629ee22645f412024297d5245bce425c31f9b0d" - integrity sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ== +"@babel/plugin-transform-exponentiation-operator@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.25.7.tgz#5961a3a23a398faccd6cddb34a2182807d75fb5f" + integrity sha512-yjqtpstPfZ0h/y40fAXRv2snciYr0OAoMXY/0ClC7tm4C/nG5NJKmIItlaYlLbIVAWNfrYuy9dq1bE0SbX0PEg== dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-export-namespace-from@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz#176d52d8d8ed516aeae7013ee9556d540c53f197" - integrity sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA== +"@babel/plugin-transform-export-namespace-from@^7.25.8": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.8.tgz#d1988c3019a380b417e0516418b02804d3858145" + integrity sha512-sPtYrduWINTQTW7FtOy99VCTWp4H23UX7vYcut7S4CIMEXU+54zKX9uCoGkLsWXteyaMXzVHgzWbLfQ1w4GZgw== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-for-of@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz#f25b33f72df1d8be76399e1b8f3f9d366eb5bc70" - integrity sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g== +"@babel/plugin-transform-for-of@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.7.tgz#0acfea0f27aa290818b5b48a5a44b3f03fc13669" + integrity sha512-n/TaiBGJxYFWvpJDfsxSj9lEEE44BFM1EPGz4KEiTipTgkoFVVcCmzAL3qA7fdQU96dpo4gGf5HBx/KnDvqiHw== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.7" -"@babel/plugin-transform-function-name@^7.25.1": - version "7.25.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.1.tgz#b85e773097526c1a4fc4ba27322748643f26fc37" - integrity sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA== +"@babel/plugin-transform-function-name@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.7.tgz#7e394ccea3693902a8b50ded8b6ae1fa7b8519fd" + integrity sha512-5MCTNcjCMxQ63Tdu9rxyN6cAWurqfrDZ76qvVPrGYdBxIj+EawuuxTu/+dgJlhK5eRz3v1gLwp6XwS8XaX2NiQ== dependencies: - "@babel/helper-compilation-targets" "^7.24.8" - "@babel/helper-plugin-utils" "^7.24.8" - "@babel/traverse" "^7.25.1" + "@babel/helper-compilation-targets" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/traverse" "^7.25.7" -"@babel/plugin-transform-json-strings@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz#f3e9c37c0a373fee86e36880d45b3664cedaf73a" - integrity sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw== +"@babel/plugin-transform-json-strings@^7.25.8": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.8.tgz#6fb3ec383a2ea92652289fdba653e3f9de722694" + integrity sha512-4OMNv7eHTmJ2YXs3tvxAfa/I43di+VcF+M4Wt66c88EAED1RoGaf1D64cL5FkRpNL+Vx9Hds84lksWvd/wMIdA== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-literals@^7.25.2": - version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.2.tgz#deb1ad14fc5490b9a65ed830e025bca849d8b5f3" - integrity sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw== +"@babel/plugin-transform-literals@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.7.tgz#70cbdc742f2cfdb1a63ea2cbd018d12a60b213c3" + integrity sha512-fwzkLrSu2fESR/cm4t6vqd7ebNIopz2QHGtjoU+dswQo/P6lwAG04Q98lliE3jkz/XqnbGFLnUcE0q0CVUf92w== dependencies: - "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-logical-assignment-operators@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz#a58fb6eda16c9dc8f9ff1c7b1ba6deb7f4694cb0" - integrity sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw== +"@babel/plugin-transform-logical-assignment-operators@^7.25.8": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.8.tgz#01868ff92daa9e525b4c7902aa51979082a05710" + integrity sha512-f5W0AhSbbI+yY6VakT04jmxdxz+WsID0neG7+kQZbCOjuyJNdL5Nn4WIBm4hRpKnUcO9lP0eipUhFN12JpoH8g== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-member-expression-literals@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz#3b4454fb0e302e18ba4945ba3246acb1248315df" - integrity sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw== +"@babel/plugin-transform-member-expression-literals@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.7.tgz#0a36c3fbd450cc9e6485c507f005fa3d1bc8fca5" + integrity sha512-Std3kXwpXfRV0QtQy5JJcRpkqP8/wG4XL7hSKZmGlxPlDqmpXtEPRmhF7ztnlTCtUN3eXRUJp+sBEZjaIBVYaw== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-modules-amd@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz#65090ed493c4a834976a3ca1cde776e6ccff32d7" - integrity sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg== +"@babel/plugin-transform-modules-amd@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.7.tgz#bb4e543b5611f6c8c685a2fd485408713a3adf3d" + integrity sha512-CgselSGCGzjQvKzghCvDTxKHP3iooenLpJDO842ehn5D2G5fJB222ptnDwQho0WjEvg7zyoxb9P+wiYxiJX5yA== dependencies: - "@babel/helper-module-transforms" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-module-transforms" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-modules-commonjs@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz#ab6421e564b717cb475d6fff70ae7f103536ea3c" - integrity sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA== +"@babel/plugin-transform-modules-commonjs@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.25.7.tgz#173f0c791bb7407c092ce6d77ee90eb3f2d1d2fd" + integrity sha512-L9Gcahi0kKFYXvweO6n0wc3ZG1ChpSFdgG+eV1WYZ3/dGbJK7vvk91FgGgak8YwRgrCuihF8tE/Xg07EkL5COg== dependencies: - "@babel/helper-module-transforms" "^7.24.8" - "@babel/helper-plugin-utils" "^7.24.8" - "@babel/helper-simple-access" "^7.24.7" + "@babel/helper-module-transforms" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/helper-simple-access" "^7.25.7" -"@babel/plugin-transform-modules-systemjs@^7.25.0": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.0.tgz#8f46cdc5f9e5af74f3bd019485a6cbe59685ea33" - integrity sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw== +"@babel/plugin-transform-modules-systemjs@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.7.tgz#8b14d319a177cc9c85ef8b0512afd429d9e2e60b" + integrity sha512-t9jZIvBmOXJsiuyOwhrIGs8dVcD6jDyg2icw1VL4A/g+FnWyJKwUfSSU2nwJuMV2Zqui856El9u+ElB+j9fV1g== dependencies: - "@babel/helper-module-transforms" "^7.25.0" - "@babel/helper-plugin-utils" "^7.24.8" - "@babel/helper-validator-identifier" "^7.24.7" - "@babel/traverse" "^7.25.0" + "@babel/helper-module-transforms" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/helper-validator-identifier" "^7.25.7" + "@babel/traverse" "^7.25.7" -"@babel/plugin-transform-modules-umd@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz#edd9f43ec549099620df7df24e7ba13b5c76efc8" - integrity sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A== +"@babel/plugin-transform-modules-umd@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.7.tgz#00ee7a7e124289549381bfb0e24d87fd7f848367" + integrity sha512-p88Jg6QqsaPh+EB7I9GJrIqi1Zt4ZBHUQtjw3z1bzEXcLh6GfPqzZJ6G+G1HBGKUNukT58MnKG7EN7zXQBCODw== dependencies: - "@babel/helper-module-transforms" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-module-transforms" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-named-capturing-groups-regex@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz#9042e9b856bc6b3688c0c2e4060e9e10b1460923" - integrity sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g== +"@babel/plugin-transform-named-capturing-groups-regex@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.7.tgz#a2f3f6d7f38693b462542951748f0a72a34d196d" + integrity sha512-BtAT9LzCISKG3Dsdw5uso4oV1+v2NlVXIIomKJgQybotJY3OwCwJmkongjHgwGKoZXd0qG5UZ12JUlDQ07W6Ow== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-create-regexp-features-plugin" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-new-target@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz#31ff54c4e0555cc549d5816e4ab39241dfb6ab00" - integrity sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA== +"@babel/plugin-transform-new-target@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.7.tgz#52b2bde523b76c548749f38dc3054f1f45e82bc9" + integrity sha512-CfCS2jDsbcZaVYxRFo2qtavW8SpdzmBXC2LOI4oO0rP+JSRDxxF3inF4GcPsLgfb5FjkhXG5/yR/lxuRs2pySA== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-nullish-coalescing-operator@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz#1de4534c590af9596f53d67f52a92f12db984120" - integrity sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ== +"@babel/plugin-transform-nullish-coalescing-operator@^7.25.8": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.8.tgz#befb4900c130bd52fccf2b926314557987f1b552" + integrity sha512-Z7WJJWdQc8yCWgAmjI3hyC+5PXIubH9yRKzkl9ZEG647O9szl9zvmKLzpbItlijBnVhTUf1cpyWBsZ3+2wjWPQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-numeric-separator@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz#bea62b538c80605d8a0fac9b40f48e97efa7de63" - integrity sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA== +"@babel/plugin-transform-numeric-separator@^7.25.8": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.8.tgz#91e370486371637bd42161052f2602c701386891" + integrity sha512-rm9a5iEFPS4iMIy+/A/PiS0QN0UyjPIeVvbU5EMZFKJZHt8vQnasbpo3T3EFcxzCeYO0BHfc4RqooCZc51J86Q== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-object-rest-spread@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz#d13a2b93435aeb8a197e115221cab266ba6e55d6" - integrity sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q== +"@babel/plugin-transform-object-rest-spread@^7.25.8": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.8.tgz#0904ac16bcce41df4db12d915d6780f85c7fb04b" + integrity sha512-LkUu0O2hnUKHKE7/zYOIjByMa4VRaV2CD/cdGz0AxU9we+VA3kDDggKEzI0Oz1IroG+6gUP6UmWEHBMWZU316g== dependencies: - "@babel/helper-compilation-targets" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.24.7" + "@babel/helper-compilation-targets" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/plugin-transform-parameters" "^7.25.7" -"@babel/plugin-transform-object-super@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz#66eeaff7830bba945dd8989b632a40c04ed625be" - integrity sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg== +"@babel/plugin-transform-object-super@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.7.tgz#582a9cea8cf0a1e02732be5b5a703a38dedf5661" + integrity sha512-pWT6UXCEW3u1t2tcAGtE15ornCBvopHj9Bps9D2DsH15APgNVOTwwczGckX+WkAvBmuoYKRCFa4DK+jM8vh5AA== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-replace-supers" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/helper-replace-supers" "^7.25.7" -"@babel/plugin-transform-optional-catch-binding@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz#00eabd883d0dd6a60c1c557548785919b6e717b4" - integrity sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA== +"@babel/plugin-transform-optional-catch-binding@^7.25.8": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.8.tgz#2649b86a3bb202c6894ec81a6ddf41b94d8f3103" + integrity sha512-EbQYweoMAHOn7iJ9GgZo14ghhb9tTjgOc88xFgYngifx7Z9u580cENCV159M4xDh3q/irbhSjZVpuhpC2gKBbg== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-optional-chaining@^7.24.7", "@babel/plugin-transform-optional-chaining@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz#bb02a67b60ff0406085c13d104c99a835cdf365d" - integrity sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw== +"@babel/plugin-transform-optional-chaining@^7.25.7", "@babel/plugin-transform-optional-chaining@^7.25.8": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.8.tgz#f46283b78adcc5b6ab988a952f989e7dce70653f" + integrity sha512-q05Bk7gXOxpTHoQ8RSzGSh/LHVB9JEIkKnk3myAWwZHnYiTGYtbdrYkIsS8Xyh4ltKf7GNUSgzs/6P2bJtBAQg== dependencies: - "@babel/helper-plugin-utils" "^7.24.8" - "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.7" -"@babel/plugin-transform-parameters@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz#5881f0ae21018400e320fc7eb817e529d1254b68" - integrity sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA== +"@babel/plugin-transform-parameters@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.7.tgz#80c38b03ef580f6d6bffe1c5254bb35986859ac7" + integrity sha512-FYiTvku63me9+1Nz7TOx4YMtW3tWXzfANZtrzHhUZrz4d47EEtMQhzFoZWESfXuAMMT5mwzD4+y1N8ONAX6lMQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-private-methods@^7.25.4": - version "7.25.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.4.tgz#9bbefbe3649f470d681997e0b64a4b254d877242" - integrity sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw== +"@babel/plugin-transform-private-methods@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.7.tgz#c790a04f837b4bd61d6b0317b43aa11ff67dce80" + integrity sha512-KY0hh2FluNxMLwOCHbxVOKfdB5sjWG4M183885FmaqWWiGMhRZq4DQRKH6mHdEucbJnyDyYiZNwNG424RymJjA== dependencies: - "@babel/helper-create-class-features-plugin" "^7.25.4" - "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-create-class-features-plugin" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-private-property-in-object@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz#4eec6bc701288c1fab5f72e6a4bbc9d67faca061" - integrity sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA== +"@babel/plugin-transform-private-property-in-object@^7.25.8": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.8.tgz#1234f856ce85e061f9688764194e51ea7577c434" + integrity sha512-8Uh966svuB4V8RHHg0QJOB32QK287NBksJOByoKmHMp1TAobNniNalIkI2i5IPj5+S9NYCG4VIjbEuiSN8r+ow== dependencies: - "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-create-class-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/helper-annotate-as-pure" "^7.25.7" + "@babel/helper-create-class-features-plugin" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-property-literals@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz#f0d2ed8380dfbed949c42d4d790266525d63bbdc" - integrity sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA== +"@babel/plugin-transform-property-literals@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.7.tgz#a8612b4ea4e10430f00012ecf0155662c7d6550d" + integrity sha512-lQEeetGKfFi0wHbt8ClQrUSUMfEeI3MMm74Z73T9/kuz990yYVtfofjf3NuA42Jy3auFOpbjDyCSiIkTs1VIYw== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-regenerator@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz#021562de4534d8b4b1851759fd7af4e05d2c47f8" - integrity sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA== +"@babel/plugin-transform-regenerator@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.7.tgz#6eb006e6d26f627bc2f7844a9f19770721ad6f3e" + integrity sha512-mgDoQCRjrY3XK95UuV60tZlFCQGXEtMg8H+IsW72ldw1ih1jZhzYXbJvghmAEpg5UVhhnCeia1CkGttUvCkiMQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" regenerator-transform "^0.15.2" -"@babel/plugin-transform-reserved-words@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz#80037fe4fbf031fc1125022178ff3938bb3743a4" - integrity sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ== +"@babel/plugin-transform-reserved-words@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.7.tgz#dc56b25e02afaabef3ce0c5b06b0916e8523e995" + integrity sha512-3OfyfRRqiGeOvIWSagcwUTVk2hXBsr/ww7bLn6TRTuXnexA+Udov2icFOxFX9abaj4l96ooYkcNN1qi2Zvqwng== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-shorthand-properties@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz#85448c6b996e122fa9e289746140aaa99da64e73" - integrity sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA== +"@babel/plugin-transform-shorthand-properties@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.7.tgz#92690a9c671915602d91533c278cc8f6bf12275f" + integrity sha512-uBbxNwimHi5Bv3hUccmOFlUy3ATO6WagTApenHz9KzoIdn0XeACdB12ZJ4cjhuB2WSi80Ez2FWzJnarccriJeA== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-spread@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz#e8a38c0fde7882e0fb8f160378f74bd885cc7bb3" - integrity sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng== +"@babel/plugin-transform-spread@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.7.tgz#df83e899a9fc66284ee601a7b738568435b92998" + integrity sha512-Mm6aeymI0PBh44xNIv/qvo8nmbkpZze1KvR8MkEqbIREDxoiWTi18Zr2jryfRMwDfVZF9foKh060fWgni44luw== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.7" -"@babel/plugin-transform-sticky-regex@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz#96ae80d7a7e5251f657b5cf18f1ea6bf926f5feb" - integrity sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g== +"@babel/plugin-transform-sticky-regex@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.7.tgz#341c7002bef7f29037be7fb9684e374442dd0d17" + integrity sha512-ZFAeNkpGuLnAQ/NCsXJ6xik7Id+tHuS+NT+ue/2+rn/31zcdnupCdmunOizEaP0JsUmTFSTOPoQY7PkK2pttXw== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-template-literals@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz#a05debb4a9072ae8f985bcf77f3f215434c8f8c8" - integrity sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw== +"@babel/plugin-transform-template-literals@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.7.tgz#e566c581bb16d8541dd8701093bb3457adfce16b" + integrity sha512-SI274k0nUsFFmyQupiO7+wKATAmMFf8iFgq2O+vVFXZ0SV9lNfT1NGzBEhjquFmD8I9sqHLguH+gZVN3vww2AA== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-typeof-symbol@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz#383dab37fb073f5bfe6e60c654caac309f92ba1c" - integrity sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw== +"@babel/plugin-transform-typeof-symbol@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.25.7.tgz#debb1287182efd20488f126be343328c679b66eb" + integrity sha512-OmWmQtTHnO8RSUbL0NTdtpbZHeNTnm68Gj5pA4Y2blFNh+V4iZR68V1qL9cI37J21ZN7AaCnkfdHtLExQPf2uA== dependencies: - "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-unicode-escapes@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz#2023a82ced1fb4971630a2e079764502c4148e0e" - integrity sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw== +"@babel/plugin-transform-unicode-escapes@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.7.tgz#973592b6d13a914794e1de8cf1383e50e0f87f81" + integrity sha512-BN87D7KpbdiABA+t3HbVqHzKWUDN3dymLaTnPFAMyc8lV+KN3+YzNhVRNdinaCPA4AUqx7ubXbQ9shRjYBl3SQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-unicode-property-regex@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz#9073a4cd13b86ea71c3264659590ac086605bbcd" - integrity sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w== +"@babel/plugin-transform-unicode-property-regex@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.7.tgz#25349197cce964b1343f74fa7cfdf791a1b1919e" + integrity sha512-IWfR89zcEPQGB/iB408uGtSPlQd3Jpq11Im86vUgcmSTcoWAiQMCTOa2K2yNNqFJEBVICKhayctee65Ka8OB0w== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-create-regexp-features-plugin" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-unicode-regex@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz#dfc3d4a51127108099b19817c0963be6a2adf19f" - integrity sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg== +"@babel/plugin-transform-unicode-regex@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.7.tgz#f93a93441baf61f713b6d5552aaa856bfab34809" + integrity sha512-8JKfg/hiuA3qXnlLx8qtv5HWRbgyFx2hMMtpDDuU2rTckpKkGu4ycK5yYHwuEa16/quXfoxHBIApEsNyMWnt0g== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-create-regexp-features-plugin" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-unicode-sets-regex@^7.25.4": - version "7.25.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.4.tgz#be664c2a0697ffacd3423595d5edef6049e8946c" - integrity sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA== +"@babel/plugin-transform-unicode-sets-regex@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.7.tgz#d1b3295d29e0f8f4df76abc909ad1ebee919560c" + integrity sha512-YRW8o9vzImwmh4Q3Rffd09bH5/hvY0pxg+1H1i0f7APoUeg12G7+HhLj9ZFNIrYkgBXhIijPJ+IXypN0hLTIbw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.2" - "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-create-regexp-features-plugin" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" "@babel/preset-env@^7.19.4": - version "7.25.4" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.25.4.tgz#be23043d43a34a2721cd0f676c7ba6f1481f6af6" - integrity sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw== + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.25.8.tgz#dc6b719627fb29cd9cccbbbe041802fd575b524c" + integrity sha512-58T2yulDHMN8YMUxiLq5YmWUnlDCyY1FsHM+v12VMx+1/FlrUj5tY50iDCpofFQEM8fMYOaY9YRvym2jcjn1Dg== dependencies: - "@babel/compat-data" "^7.25.4" - "@babel/helper-compilation-targets" "^7.25.2" - "@babel/helper-plugin-utils" "^7.24.8" - "@babel/helper-validator-option" "^7.24.8" - "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.25.3" - "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.25.0" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.25.0" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.24.7" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.25.0" + "@babel/compat-data" "^7.25.8" + "@babel/helper-compilation-targets" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/helper-validator-option" "^7.25.7" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.25.7" + "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.25.7" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.25.7" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.25.7" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.25.7" "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-import-assertions" "^7.24.7" - "@babel/plugin-syntax-import-attributes" "^7.24.7" - "@babel/plugin-syntax-import-meta" "^7.10.4" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" + "@babel/plugin-syntax-import-assertions" "^7.25.7" + "@babel/plugin-syntax-import-attributes" "^7.25.7" "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" - "@babel/plugin-transform-arrow-functions" "^7.24.7" - "@babel/plugin-transform-async-generator-functions" "^7.25.4" - "@babel/plugin-transform-async-to-generator" "^7.24.7" - "@babel/plugin-transform-block-scoped-functions" "^7.24.7" - "@babel/plugin-transform-block-scoping" "^7.25.0" - "@babel/plugin-transform-class-properties" "^7.25.4" - "@babel/plugin-transform-class-static-block" "^7.24.7" - "@babel/plugin-transform-classes" "^7.25.4" - "@babel/plugin-transform-computed-properties" "^7.24.7" - "@babel/plugin-transform-destructuring" "^7.24.8" - "@babel/plugin-transform-dotall-regex" "^7.24.7" - "@babel/plugin-transform-duplicate-keys" "^7.24.7" - "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.25.0" - "@babel/plugin-transform-dynamic-import" "^7.24.7" - "@babel/plugin-transform-exponentiation-operator" "^7.24.7" - "@babel/plugin-transform-export-namespace-from" "^7.24.7" - "@babel/plugin-transform-for-of" "^7.24.7" - "@babel/plugin-transform-function-name" "^7.25.1" - "@babel/plugin-transform-json-strings" "^7.24.7" - "@babel/plugin-transform-literals" "^7.25.2" - "@babel/plugin-transform-logical-assignment-operators" "^7.24.7" - "@babel/plugin-transform-member-expression-literals" "^7.24.7" - "@babel/plugin-transform-modules-amd" "^7.24.7" - "@babel/plugin-transform-modules-commonjs" "^7.24.8" - "@babel/plugin-transform-modules-systemjs" "^7.25.0" - "@babel/plugin-transform-modules-umd" "^7.24.7" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.24.7" - "@babel/plugin-transform-new-target" "^7.24.7" - "@babel/plugin-transform-nullish-coalescing-operator" "^7.24.7" - "@babel/plugin-transform-numeric-separator" "^7.24.7" - "@babel/plugin-transform-object-rest-spread" "^7.24.7" - "@babel/plugin-transform-object-super" "^7.24.7" - "@babel/plugin-transform-optional-catch-binding" "^7.24.7" - "@babel/plugin-transform-optional-chaining" "^7.24.8" - "@babel/plugin-transform-parameters" "^7.24.7" - "@babel/plugin-transform-private-methods" "^7.25.4" - "@babel/plugin-transform-private-property-in-object" "^7.24.7" - "@babel/plugin-transform-property-literals" "^7.24.7" - "@babel/plugin-transform-regenerator" "^7.24.7" - "@babel/plugin-transform-reserved-words" "^7.24.7" - "@babel/plugin-transform-shorthand-properties" "^7.24.7" - "@babel/plugin-transform-spread" "^7.24.7" - "@babel/plugin-transform-sticky-regex" "^7.24.7" - "@babel/plugin-transform-template-literals" "^7.24.7" - "@babel/plugin-transform-typeof-symbol" "^7.24.8" - "@babel/plugin-transform-unicode-escapes" "^7.24.7" - "@babel/plugin-transform-unicode-property-regex" "^7.24.7" - "@babel/plugin-transform-unicode-regex" "^7.24.7" - "@babel/plugin-transform-unicode-sets-regex" "^7.25.4" + "@babel/plugin-transform-arrow-functions" "^7.25.7" + "@babel/plugin-transform-async-generator-functions" "^7.25.8" + "@babel/plugin-transform-async-to-generator" "^7.25.7" + "@babel/plugin-transform-block-scoped-functions" "^7.25.7" + "@babel/plugin-transform-block-scoping" "^7.25.7" + "@babel/plugin-transform-class-properties" "^7.25.7" + "@babel/plugin-transform-class-static-block" "^7.25.8" + "@babel/plugin-transform-classes" "^7.25.7" + "@babel/plugin-transform-computed-properties" "^7.25.7" + "@babel/plugin-transform-destructuring" "^7.25.7" + "@babel/plugin-transform-dotall-regex" "^7.25.7" + "@babel/plugin-transform-duplicate-keys" "^7.25.7" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.25.7" + "@babel/plugin-transform-dynamic-import" "^7.25.8" + "@babel/plugin-transform-exponentiation-operator" "^7.25.7" + "@babel/plugin-transform-export-namespace-from" "^7.25.8" + "@babel/plugin-transform-for-of" "^7.25.7" + "@babel/plugin-transform-function-name" "^7.25.7" + "@babel/plugin-transform-json-strings" "^7.25.8" + "@babel/plugin-transform-literals" "^7.25.7" + "@babel/plugin-transform-logical-assignment-operators" "^7.25.8" + "@babel/plugin-transform-member-expression-literals" "^7.25.7" + "@babel/plugin-transform-modules-amd" "^7.25.7" + "@babel/plugin-transform-modules-commonjs" "^7.25.7" + "@babel/plugin-transform-modules-systemjs" "^7.25.7" + "@babel/plugin-transform-modules-umd" "^7.25.7" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.25.7" + "@babel/plugin-transform-new-target" "^7.25.7" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.25.8" + "@babel/plugin-transform-numeric-separator" "^7.25.8" + "@babel/plugin-transform-object-rest-spread" "^7.25.8" + "@babel/plugin-transform-object-super" "^7.25.7" + "@babel/plugin-transform-optional-catch-binding" "^7.25.8" + "@babel/plugin-transform-optional-chaining" "^7.25.8" + "@babel/plugin-transform-parameters" "^7.25.7" + "@babel/plugin-transform-private-methods" "^7.25.7" + "@babel/plugin-transform-private-property-in-object" "^7.25.8" + "@babel/plugin-transform-property-literals" "^7.25.7" + "@babel/plugin-transform-regenerator" "^7.25.7" + "@babel/plugin-transform-reserved-words" "^7.25.7" + "@babel/plugin-transform-shorthand-properties" "^7.25.7" + "@babel/plugin-transform-spread" "^7.25.7" + "@babel/plugin-transform-sticky-regex" "^7.25.7" + "@babel/plugin-transform-template-literals" "^7.25.7" + "@babel/plugin-transform-typeof-symbol" "^7.25.7" + "@babel/plugin-transform-unicode-escapes" "^7.25.7" + "@babel/plugin-transform-unicode-property-regex" "^7.25.7" + "@babel/plugin-transform-unicode-regex" "^7.25.7" + "@babel/plugin-transform-unicode-sets-regex" "^7.25.7" "@babel/preset-modules" "0.1.6-no-external-plugins" babel-plugin-polyfill-corejs2 "^0.4.10" babel-plugin-polyfill-corejs3 "^0.10.6" babel-plugin-polyfill-regenerator "^0.6.1" - core-js-compat "^3.37.1" + core-js-compat "^3.38.1" semver "^6.3.1" "@babel/preset-modules@0.1.6-no-external-plugins": @@ -949,47 +817,42 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/regjsgen@^0.8.0": - version "0.8.0" - resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" - integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== - "@babel/runtime@^7.8.4": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.25.6.tgz#9afc3289f7184d8d7f98b099884c26317b9264d2" - integrity sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ== + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.25.7.tgz#7ffb53c37a8f247c8c4d335e89cdf16a2e0d0fb6" + integrity sha512-FjoyLe754PMiYsFaN5C94ttGiOmBNYTf6pLr4xXHAT5uctHb092PBszndLDR5XA/jghQvn4n7JMHl7dmTgbm9w== dependencies: regenerator-runtime "^0.14.0" -"@babel/template@^7.24.7", "@babel/template@^7.25.0": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.0.tgz#e733dc3134b4fede528c15bc95e89cb98c52592a" - integrity sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q== +"@babel/template@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.7.tgz#27f69ce382855d915b14ab0fe5fb4cbf88fa0769" + integrity sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA== dependencies: - "@babel/code-frame" "^7.24.7" - "@babel/parser" "^7.25.0" - "@babel/types" "^7.25.0" + "@babel/code-frame" "^7.25.7" + "@babel/parser" "^7.25.7" + "@babel/types" "^7.25.7" -"@babel/traverse@^7.18.9", "@babel/traverse@^7.24.7", "@babel/traverse@^7.24.8", "@babel/traverse@^7.25.0", "@babel/traverse@^7.25.1", "@babel/traverse@^7.25.2", "@babel/traverse@^7.25.3", "@babel/traverse@^7.25.4": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.6.tgz#04fad980e444f182ecf1520504941940a90fea41" - integrity sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ== +"@babel/traverse@^7.18.9", "@babel/traverse@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.7.tgz#83e367619be1cab8e4f2892ef30ba04c26a40fa8" + integrity sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg== dependencies: - "@babel/code-frame" "^7.24.7" - "@babel/generator" "^7.25.6" - "@babel/parser" "^7.25.6" - "@babel/template" "^7.25.0" - "@babel/types" "^7.25.6" + "@babel/code-frame" "^7.25.7" + "@babel/generator" "^7.25.7" + "@babel/parser" "^7.25.7" + "@babel/template" "^7.25.7" + "@babel/types" "^7.25.7" debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.24.7", "@babel/types@^7.24.8", "@babel/types@^7.25.0", "@babel/types@^7.25.2", "@babel/types@^7.25.6", "@babel/types@^7.4.4": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.6.tgz#893942ddb858f32ae7a004ec9d3a76b3463ef8e6" - integrity sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw== +"@babel/types@^7.25.7", "@babel/types@^7.25.8", "@babel/types@^7.4.4": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.8.tgz#5cf6037258e8a9bcad533f4979025140cb9993e1" + integrity sha512-JWtuCu8VQsMladxVz/P4HzHUGCAwpuqacmowgXFs5XjxIgKuNjnLokQzuVjlTvIzODaDmpjT3oxcC48vyk9EWg== dependencies: - "@babel/helper-string-parser" "^7.24.8" - "@babel/helper-validator-identifier" "^7.24.7" + "@babel/helper-string-parser" "^7.25.7" + "@babel/helper-validator-identifier" "^7.25.7" to-fast-properties "^2.0.0" "@ckeditor/ckeditor5-adapter-ckfinder@41.4.2": @@ -1805,44 +1668,45 @@ resolved "https://registry.yarnpkg.com/@foliojs-fork/restructure/-/restructure-2.0.2.tgz#73759aba2aff1da87b7c4554e6839c70d43c92b4" integrity sha512-59SgoZ3EXbkfSX7b63tsou/SDGzwUEK6MuB5sKqgVK1/XE0fxmpsOb9DQI8LXW3KfGnAjImCGhhEb7uPPAUVNA== -"@formatjs/ecma402-abstract@2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@formatjs/ecma402-abstract/-/ecma402-abstract-2.0.0.tgz#39197ab90b1c78b7342b129a56a7acdb8f512e17" - integrity sha512-rRqXOqdFmk7RYvj4khklyqzcfQl9vEL/usogncBHRZfZBDOwMGuSRNFl02fu5KGHXdbinju+YXyuR+Nk8xlr/g== - dependencies: - "@formatjs/intl-localematcher" "0.5.4" - tslib "^2.4.0" - -"@formatjs/fast-memoize@2.2.0": +"@formatjs/ecma402-abstract@2.2.0": version "2.2.0" - resolved "https://registry.yarnpkg.com/@formatjs/fast-memoize/-/fast-memoize-2.2.0.tgz#33bd616d2e486c3e8ef4e68c99648c196887802b" - integrity sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA== + resolved "https://registry.yarnpkg.com/@formatjs/ecma402-abstract/-/ecma402-abstract-2.2.0.tgz#36f5bc0dac4ca77ca429fe44bd95b32d5ccd98dd" + integrity sha512-IpM+ev1E4QLtstniOE29W1rqH9eTdx5hQdNL8pzrflMj/gogfaoONZqL83LUeQScHAvyMbpqP5C9MzNf+fFwhQ== dependencies: - tslib "^2.4.0" + "@formatjs/fast-memoize" "2.2.1" + "@formatjs/intl-localematcher" "0.5.5" + tslib "^2.7.0" -"@formatjs/icu-messageformat-parser@2.7.8": - version "2.7.8" - resolved "https://registry.yarnpkg.com/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.7.8.tgz#f6d7643001e9bb5930d812f1f9a9856f30fa0343" - integrity sha512-nBZJYmhpcSX0WeJ5SDYUkZ42AgR3xiyhNCsQweFx3cz/ULJjym8bHAzWKvG5e2+1XO98dBYC0fWeeAECAVSwLA== +"@formatjs/fast-memoize@2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@formatjs/fast-memoize/-/fast-memoize-2.2.1.tgz#74575f18c6a789472517995ca9686e7a3f7c0b60" + integrity sha512-XS2RcOSyWxmUB7BUjj3mlPH0exsUzlf6QfhhijgI941WaJhVxXQ6mEWkdUFIdnKi3TuTYxRdelsgv3mjieIGIA== dependencies: - "@formatjs/ecma402-abstract" "2.0.0" - "@formatjs/icu-skeleton-parser" "1.8.2" - tslib "^2.4.0" + tslib "^2.7.0" -"@formatjs/icu-skeleton-parser@1.8.2": - version "1.8.2" - resolved "https://registry.yarnpkg.com/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.2.tgz#2252c949ae84ee66930e726130ea66731a123c9f" - integrity sha512-k4ERKgw7aKGWJZgTarIcNEmvyTVD9FYh0mTrrBMHZ1b8hUu6iOJ4SzsZlo3UNAvHYa+PnvntIwRPt1/vy4nA9Q== +"@formatjs/icu-messageformat-parser@2.7.10": + version "2.7.10" + resolved "https://registry.yarnpkg.com/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.7.10.tgz#d2e7b73121d950a19710b7bc3659188eafc43786" + integrity sha512-wlQfqCZ7PURkUNL2+8VTEFavPovtADU/isSKLFvDbdFmV7QPZIYqFMkhklaDYgMyLSBJa/h2MVQ2aFvoEJhxgg== dependencies: - "@formatjs/ecma402-abstract" "2.0.0" - tslib "^2.4.0" + "@formatjs/ecma402-abstract" "2.2.0" + "@formatjs/icu-skeleton-parser" "1.8.4" + tslib "^2.7.0" -"@formatjs/intl-localematcher@0.5.4": - version "0.5.4" - resolved "https://registry.yarnpkg.com/@formatjs/intl-localematcher/-/intl-localematcher-0.5.4.tgz#caa71f2e40d93e37d58be35cfffe57865f2b366f" - integrity sha512-zTwEpWOzZ2CiKcB93BLngUX59hQkuZjT2+SAQEscSm52peDW/getsawMcWF1rGRpMCX6D7nSJA3CzJ8gn13N/g== +"@formatjs/icu-skeleton-parser@1.8.4": + version "1.8.4" + resolved "https://registry.yarnpkg.com/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.4.tgz#8ca9c2efa2ef2f9e26c0502892a21699dcff8b4f" + integrity sha512-LMQ1+Wk1QSzU4zpd5aSu7+w5oeYhupRwZnMQckLPRYhSjf2/8JWQ882BauY9NyHxs5igpuQIXZDgfkaH3PoATg== dependencies: - tslib "^2.4.0" + "@formatjs/ecma402-abstract" "2.2.0" + tslib "^2.7.0" + +"@formatjs/intl-localematcher@0.5.5": + version "0.5.5" + resolved "https://registry.yarnpkg.com/@formatjs/intl-localematcher/-/intl-localematcher-0.5.5.tgz#b24f100f30658104d5f6db35b0b8d97235298681" + integrity sha512-t5tOGMgZ/i5+ALl2/offNqAQq/lfUnKLEw0mXQI4N4bqpedhrSE+fyKLpwnd22sK0dif6AV+ufQcTsKShB9J1g== + dependencies: + tslib "^2.7.0" "@fortawesome/fontawesome-free@^6.1.1": version "6.6.0" @@ -1865,9 +1729,9 @@ integrity sha512-eGeIqNOQpXoPAIP7tC1+1Yc1yl1xnwYqg+3mzqxyrbE5pg5YFBZcA6YoTiByJB6DKAEsiWtl6tjTJS4IYtbB7A== "@hotwired/turbo@^8.0.1": - version "8.0.5" - resolved "https://registry.yarnpkg.com/@hotwired/turbo/-/turbo-8.0.5.tgz#abae6dad018a891e4286e87fa0959217e3866d5a" - integrity sha512-TdZDA7fxVQ2ZycygvpnzjGPmFq4sO/E2QVg+2em/sJ3YTSsIWVEis8HmWlumz+c9DjWcUkcCuB+muF08TInpAQ== + version "8.0.10" + resolved "https://registry.yarnpkg.com/@hotwired/turbo/-/turbo-8.0.10.tgz#d95569d259f0daad6e824ee1ada877ff94beb72b" + integrity sha512-xen1YhNQirAHlA8vr/444XsTNITC1Il2l/Vx4w8hAWPpI5nQO78mVHNsmFuayETodzPwh25ob2TgfCEV/Loiog== "@jbtronics/bs-treeview@^1.0.1": version "1.0.6" @@ -1998,9 +1862,9 @@ integrity sha512-NvVBRnZNE+dugiXERFsET1JlKZfM5lJDEpSMilKW4bToYJ7pxf0Zne78xyXB2ny2c2aHfJ6WLnz1AaTNHAmQeQ== "@polka/url@^1.0.0-next.24": - version "1.0.0-next.25" - resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.25.tgz#f077fdc0b5d0078d30893396ff4827a13f99e817" - integrity sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ== + version "1.0.0-next.28" + resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.28.tgz#d45e01c4a56f143ee69c54dd6b12eade9e270a73" + integrity sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw== "@popperjs/core@^2.10.2": version "2.11.8" @@ -2095,21 +1959,41 @@ "@types/node" "*" "@types/estree@^1.0.5": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" - integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== + version "1.0.6" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50" + integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== -"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.33": - version "4.19.5" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.19.5.tgz#218064e321126fcf9048d1ca25dd2465da55d9c6" - integrity sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg== +"@types/express-serve-static-core@*", "@types/express-serve-static-core@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-5.0.0.tgz#91f06cda1049e8f17eeab364798ed79c97488a1c" + integrity sha512-AbXMTZGt40T+KON9/Fdxx0B2WK5hsgxcfXJLr5bFpZ7b4JCex2WyQPTEKdXqfHiY5nKKBScZ7yCoO6Pvgxfvnw== dependencies: "@types/node" "*" "@types/qs" "*" "@types/range-parser" "*" "@types/send" "*" -"@types/express@*", "@types/express@^4.17.13": +"@types/express-serve-static-core@^4.17.33": + version "4.19.6" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz#e01324c2a024ff367d92c66f48553ced0ab50267" + integrity sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + "@types/send" "*" + +"@types/express@*": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@types/express/-/express-5.0.0.tgz#13a7d1f75295e90d19ed6e74cab3678488eaa96c" + integrity sha512-DvZriSMehGHL1ZNLzi6MidnsDhUZM/x2pRdDIKdwbUNqqwHxMlRdkxtn6/EPKyqKpHqTl/4nRZsRNLpZxZRpPQ== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^5.0.0" + "@types/qs" "*" + "@types/serve-static" "*" + +"@types/express@^4.17.13": version "4.17.21" resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.21.tgz#c26d4a151e60efe0084b23dc3369ebc631ed192d" integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ== @@ -2181,9 +2065,9 @@ "@types/node" "*" "@types/node@*": - version "22.5.4" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.5.4.tgz#83f7d1f65bc2ed223bdbf57c7884f1d5a4fa84e8" - integrity sha512-FDuKUJQm/ju9fT/SeX/6+gBzoPzlVCzfzmGkwKvRHQVxi4BntVbyIwf6a4Xn62mrvndLiml6z/UBXIdEVjQLXg== + version "22.7.5" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.7.5.tgz#cfde981727a7ab3611a481510b473ae54442b92b" + integrity sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ== dependencies: undici-types "~6.19.2" @@ -2193,9 +2077,9 @@ integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== "@types/qs@*": - version "6.9.15" - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.15.tgz#adde8a060ec9c305a82de1babc1056e73bd64dce" - integrity sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg== + version "6.9.16" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.16.tgz#52bba125a07c0482d26747d5d4947a64daf8f794" + integrity sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A== "@types/range-parser@*": version "1.2.7" @@ -2626,9 +2510,9 @@ at-least-node@^1.0.0: integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== babel-loader@^9.1.3: - version "9.1.3" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.1.3.tgz#3d0e01b4e69760cc694ee306fe16d358aa1c6f9a" - integrity sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw== + version "9.2.1" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.2.1.tgz#04c7835db16c246dd19ba0914418f3937797587b" + integrity sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA== dependencies: find-cache-dir "^4.0.0" schema-utils "^4.0.0" @@ -2692,10 +2576,10 @@ blurhash@2.0.5: resolved "https://registry.yarnpkg.com/blurhash/-/blurhash-2.0.5.tgz#efde729fc14a2f03571a6aa91b49cba80d1abe4b" integrity sha512-cRygWd7kGBQO3VEhPiTgq4Wc43ctsM+o46urrmPOiuAe+07fzlSB9OJVdpgDL0jPqXUVQ9ht7aq7kxOeJHRK+w== -body-parser@1.20.2: - version "1.20.2" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.2.tgz#6feb0e21c4724d06de7ff38da36dad4f57a747fd" - integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA== +body-parser@1.20.3: + version "1.20.3" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.3.tgz#1953431221c6fb5cd63c4b36d53fab0928e548c6" + integrity sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g== dependencies: bytes "3.1.2" content-type "~1.0.5" @@ -2705,7 +2589,7 @@ body-parser@1.20.2: http-errors "2.0.0" iconv-lite "0.4.24" on-finished "2.4.1" - qs "6.11.0" + qs "6.13.0" raw-body "2.5.2" type-is "~1.6.18" unpipe "1.0.0" @@ -2765,13 +2649,13 @@ browser-process-hrtime@^1.0.0: resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== -browserslist@^4.0.0, browserslist@^4.21.10, browserslist@^4.23.0, browserslist@^4.23.1, browserslist@^4.23.3: - version "4.23.3" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.3.tgz#debb029d3c93ebc97ffbc8d9cbb03403e227c800" - integrity sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA== +browserslist@^4.0.0, browserslist@^4.21.10, browserslist@^4.23.0, browserslist@^4.23.3, browserslist@^4.24.0: + version "4.24.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.0.tgz#a1325fe4bc80b64fda169629fc01b3d6cecd38d4" + integrity sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A== dependencies: - caniuse-lite "^1.0.30001646" - electron-to-chromium "^1.5.4" + caniuse-lite "^1.0.30001663" + electron-to-chromium "^1.5.28" node-releases "^2.0.18" update-browserslist-db "^1.1.0" @@ -2819,7 +2703,7 @@ cacache@^15.0.5: tar "^6.0.2" unique-filename "^1.1.1" -call-bind@^1.0.2, call-bind@^1.0.6, call-bind@^1.0.7: +call-bind@^1.0.2, call-bind@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== @@ -2855,10 +2739,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001646: - version "1.0.30001659" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001659.tgz#f370c311ffbc19c4965d8ec0064a3625c8aaa7af" - integrity sha512-Qxxyfv3RdHAfJcXelgf0hU4DFUVXBGTjqrBUZLUh8AtlGnsDo+CnncYtTd95+ZKfnANUOzxyIQCuU/UeBZBYoA== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001663: + version "1.0.30001668" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001668.tgz#98e214455329f54bf7a4d70b49c9794f0fbedbed" + integrity sha512-nWLrdxqCdblixUO+27JtGJJE/txpJlyUy5YN1u53wLZkP0emYCo5zgS6QYft7VUYR42LGgi/S5hdLZTrnyIddw== chalk@^2.4.2: version "2.4.2" @@ -3174,12 +3058,12 @@ cookie-signature@1.0.6: resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== -cookie@0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.6.0.tgz#2798b04b071b0ecbff0dbb62a505a8efa4e19051" - integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw== +cookie@0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.7.1.tgz#2f73c42142d5d5cf71310a74fc4ae61670e5dbc9" + integrity sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w== -core-js-compat@^3.37.1, core-js-compat@^3.38.0: +core-js-compat@^3.38.0, core-js-compat@^3.38.1: version "3.38.1" resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.38.1.tgz#2bc7a298746ca5a7bcb9c164bcb120f2ebc09a09" integrity sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw== @@ -3399,11 +3283,11 @@ data-urls@^2.0.0: whatwg-url "^8.0.0" datatables.net-bs5@^2, datatables.net-bs5@^2.0.0: - version "2.1.6" - resolved "https://registry.yarnpkg.com/datatables.net-bs5/-/datatables.net-bs5-2.1.6.tgz#863c75472981d2cfad66f3cfd24e3c7da46986d6" - integrity sha512-GLp98kE2lJI6cBgLaCA1he+KhD3pcVJLK4QU8oD3Zb8uHAduX0BA2JPndFZqXJs4CS0L16fel8Xs3+0wGzFxSg== + version "2.1.8" + resolved "https://registry.yarnpkg.com/datatables.net-bs5/-/datatables.net-bs5-2.1.8.tgz#860717c4ee85ecb84812ba9a73fb1204aa2a68b6" + integrity sha512-YlGws8eI3iw/1AmKJH18+YMzm/UgGb6o9s14KAC24QT1/8anolm8GnVAgGcwUcvHm3hn1i8A5QXqgbqeMRINeg== dependencies: - datatables.net "2.1.6" + datatables.net "2.1.8" jquery ">=1.7" datatables.net-buttons-bs5@^3.0.0: @@ -3475,26 +3359,26 @@ datatables.net-responsive@3.0.3: jquery ">=1.7" datatables.net-select-bs5@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/datatables.net-select-bs5/-/datatables.net-select-bs5-2.0.5.tgz#99e21ae3f5ce50d0310c31e0c39ea58f859b1b9e" - integrity sha512-RcpNMpuRk20zpeSFTZw+34YZ8NTFZx+fcfSGtFJ0l5K7gqnmz/aR9snOw3oOJrt/ZR7cvfTrHKdiuGKZ6/9W3A== + version "2.1.0" + resolved "https://registry.yarnpkg.com/datatables.net-select-bs5/-/datatables.net-select-bs5-2.1.0.tgz#4cfd61007c644f224e10e1eae7662204d167caf2" + integrity sha512-N6VFo3DHsMCzM1Ef2pbUh1+pUd/MSHk48Z+X0QvbeknShWKdx0PS7FhLkaq8OalhHiEH0lyCy5L+1iR4bgAu9A== dependencies: datatables.net-bs5 "^2" - datatables.net-select "2.0.5" + datatables.net-select "2.1.0" jquery ">=1.7" -datatables.net-select@2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/datatables.net-select/-/datatables.net-select-2.0.5.tgz#5c6d58bd8e5c1b13a00047775c3c7d920fcff8c7" - integrity sha512-Q93R/OfJLtujGkc6Xy7IAGhIi+VOWuI2CSTnVJUuj/gbZ4RsgngZXnjIiP8tdxSNXdXgiOA4+MFfmAtGJPHOvw== +datatables.net-select@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/datatables.net-select/-/datatables.net-select-2.1.0.tgz#d50f13cd4c18d50c06b24efd8ca5371ed0bbe59d" + integrity sha512-6B1sI5pfvBen+8kySl1T0hkGoUmrw+5YGqaW4NCg+1srMw+48YV5SdWPiyCQDoev2ajBdKzHuG/wzD2INMbmJw== dependencies: datatables.net "^2" jquery ">=1.7" -datatables.net@2.1.6, datatables.net@^2, datatables.net@^2.0.0: - version "2.1.6" - resolved "https://registry.yarnpkg.com/datatables.net/-/datatables.net-2.1.6.tgz#563a7fb2ae206a60a83ec0aba011ce7e75a65d1f" - integrity sha512-ziX0Wz91oDJ4o7gQNuGxQiVK91OUu/bRcXyxa6EZtDwLObmaGKpkCNS59QpzrGtIytQIVFtLfF1EDdYid5RVog== +datatables.net@2.1.8, datatables.net@^2, datatables.net@^2.0.0: + version "2.1.8" + resolved "https://registry.yarnpkg.com/datatables.net/-/datatables.net-2.1.8.tgz#9b020f18e927cc924d72411f62dc595cc688669b" + integrity sha512-47ULt+U4bcjbuGTpTlT6SnCuSFVRBxxdWa6X3NfvTObBJ2BZU0o+JUIl05wQ6cABNIavjbAV51gpgvFsMHL9zA== dependencies: jquery ">=1.7" @@ -3692,9 +3576,9 @@ domhandler@^5.0.2, domhandler@^5.0.3: domelementtype "^2.3.0" dompurify@^3.0.3: - version "3.1.6" - resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-3.1.6.tgz#43c714a94c6a7b8801850f82e756685300a027e2" - integrity sha512-cTOAhc36AalkjtBpfG6O8JimdTMWNXjiePT2xQH/ppBGi/4uIpmj8eKyIkMJErXWARyINV/sB38yf8JCLF5pbQ== + version "3.1.7" + resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-3.1.7.tgz#711a8c96479fb6ced93453732c160c3c72418a6a" + integrity sha512-VaTstWtsneJY8xzy7DekmYWEOZcmzIe3Qb3zPd4STve1OBTa+e+WmS1ITQec1fZYXI3HCsOZZiSMpG6oxoWMWQ== domutils@^2.5.2, domutils@^2.8.0: version "2.8.0" @@ -3724,10 +3608,10 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== -electron-to-chromium@^1.5.4: - version "1.5.18" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.18.tgz#5fe62b9d21efbcfa26571066502d94f3ed97e495" - integrity sha512-1OfuVACu+zKlmjsNdcJuVQuVE61sZOLbNM4JAQ1Rvh6EOj0/EUKhMJjRH73InPlXSh8HIJk1cVZ8pyOV/FMdUQ== +electron-to-chromium@^1.5.28: + version "1.5.36" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.36.tgz#ec41047f0e1446ec5dce78ed5970116533139b88" + integrity sha512-HYTX8tKge/VNp6FGO+f/uVDmUkq+cEfcxYhKf15Akc4M5yxt5YmorwlAitKWjWhWQnKcDRBAQKXkhqqXMqcrjw== emoji-regex@^8.0.0: version "8.0.0" @@ -3749,6 +3633,11 @@ encodeurl@~1.0.2: resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== +encodeurl@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-2.0.0.tgz#7b8ea898077d7e409d3ac45474ea38eaf0857a58" + integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg== + enhanced-resolve@^5.0.0, enhanced-resolve@^5.17.1: version "5.17.1" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz#67bfbbcc2f81d511be77d686a90267ef7f898a15" @@ -3768,9 +3657,9 @@ entities@^4.2.0: integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== envinfo@^7.7.3: - version "7.13.0" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.13.0.tgz#81fbb81e5da35d74e814941aeab7c325a606fb31" - integrity sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q== + version "7.14.0" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.14.0.tgz#26dac5db54418f2a4c1159153a0b2ae980838aae" + integrity sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg== error-ex@^1.3.1: version "1.3.2" @@ -3841,7 +3730,7 @@ esbuild@^0.17.6: "@esbuild/win32-ia32" "0.17.19" "@esbuild/win32-x64" "0.17.19" -escalade@^3.1.2: +escalade@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== @@ -3945,36 +3834,36 @@ exports-loader@^3.0.0: source-map "^0.6.1" express@^4.17.3: - version "4.19.2" - resolved "https://registry.yarnpkg.com/express/-/express-4.19.2.tgz#e25437827a3aa7f2a827bc8171bbbb664a356465" - integrity sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q== + version "4.21.1" + resolved "https://registry.yarnpkg.com/express/-/express-4.21.1.tgz#9dae5dda832f16b4eec941a4e44aa89ec481b281" + integrity sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ== dependencies: accepts "~1.3.8" array-flatten "1.1.1" - body-parser "1.20.2" + body-parser "1.20.3" content-disposition "0.5.4" content-type "~1.0.4" - cookie "0.6.0" + cookie "0.7.1" cookie-signature "1.0.6" debug "2.6.9" depd "2.0.0" - encodeurl "~1.0.2" + encodeurl "~2.0.0" escape-html "~1.0.3" etag "~1.8.1" - finalhandler "1.2.0" + finalhandler "1.3.1" fresh "0.5.2" http-errors "2.0.0" - merge-descriptors "1.0.1" + merge-descriptors "1.0.3" methods "~1.1.2" on-finished "2.4.1" parseurl "~1.3.3" - path-to-regexp "0.1.7" + path-to-regexp "0.1.10" proxy-addr "~2.0.7" - qs "6.11.0" + qs "6.13.0" range-parser "~1.2.1" safe-buffer "5.2.1" - send "0.18.0" - serve-static "1.15.0" + send "0.19.0" + serve-static "1.16.2" setprototypeof "1.2.0" statuses "2.0.1" type-is "~1.6.18" @@ -4003,9 +3892,9 @@ fast-json-stable-stringify@^2.0.0: integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== fast-uri@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.1.tgz#cddd2eecfc83a71c1be2cc2ef2061331be8a7134" - integrity sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw== + version "3.0.2" + resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.2.tgz#d78b298cf70fd3b752fd951175a3da6a7b48f024" + integrity sha512-GR6f0hD7XXyNJa25Tb9BuIdN0tdr+0BMi6/CJPH3wJO1JjNG3n/VsSw38AwRdKZABm8lGbPfakLRkYzx2V9row== fastest-levenshtein@1.0.16, fastest-levenshtein@^1.0.12, fastest-levenshtein@^1.0.16: version "1.0.16" @@ -4033,13 +3922,13 @@ fill-range@^7.1.1: dependencies: to-regex-range "^5.0.1" -finalhandler@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" - integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== +finalhandler@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.3.1.tgz#0c575f1d1d324ddd1da35ad7ece3df7d19088019" + integrity sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ== dependencies: debug "2.6.9" - encodeurl "~1.0.2" + encodeurl "~2.0.0" escape-html "~1.0.3" on-finished "2.4.1" parseurl "~1.3.3" @@ -4090,9 +3979,9 @@ follow-redirects@^1.0.0: integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== form-data@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" - integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== + version "3.0.2" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.2.tgz#83ad9ced7c03feaad97e293d6f6091011e1659c8" + integrity sha512-sJe+TQb2vIaIyO783qN6BlMYWMw3WBOHA1Ay2qxsnjuafEOQFJ2JakedOQirT6D5XPRxDvS7AHYyem9fTpb4LQ== dependencies: asynckit "^0.4.0" combined-stream "^1.0.8" @@ -4177,9 +4066,9 @@ get-stream@^6.0.0: integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== get-tsconfig@^4.4.0: - version "4.8.0" - resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.8.0.tgz#125dc13a316f61650a12b20c97c11b8fd996fedd" - integrity sha512-Pgba6TExTZ0FJAn1qkJAjIeKoDJ3CsI2ChuLohJnZl/tTU8MVrq3b+2t5UOPfRa4RMsorClBjJALkJUMjG1PAw== + version "4.8.1" + resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.8.1.tgz#8995eb391ae6e1638d251118c7b56de7eb425471" + integrity sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg== dependencies: resolve-pkg-maps "^1.0.0" @@ -4407,9 +4296,9 @@ http-proxy-agent@^4.0.1: debug "4" http-proxy-middleware@^2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz#e1a4dd6979572c7ab5a4e4b55095d1f32a74963f" - integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw== + version "2.0.7" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz#915f236d92ae98ef48278a95dedf17e991936ec6" + integrity sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA== dependencies: "@types/http-proxy" "^1.17.8" http-proxy "^1.18.1" @@ -4528,14 +4417,14 @@ interpret@^2.2.0: integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== intl-messageformat@^10.2.5: - version "10.5.14" - resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-10.5.14.tgz#e5bb373f8a37b88fbe647d7b941f3ab2a37ed00a" - integrity sha512-IjC6sI0X7YRjjyVH9aUgdftcmZK7WXdHeil4KwbjDnRWjnVitKpAx3rr6t6di1joFp5188VqKcobOPA6mCLG/w== + version "10.7.0" + resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-10.7.0.tgz#66f3400e10bb423407b5ff476fcc1ead3a319ea2" + integrity sha512-2P06M9jFTqJnEQzE072VGPjbAx6ZG1YysgopAwc8ui0ajSjtwX1MeQ6bXFXIzKcNENJTizKkcJIcZ0zlpl1zSg== dependencies: - "@formatjs/ecma402-abstract" "2.0.0" - "@formatjs/fast-memoize" "2.2.0" - "@formatjs/icu-messageformat-parser" "2.7.8" - tslib "^2.4.0" + "@formatjs/ecma402-abstract" "2.2.0" + "@formatjs/fast-memoize" "2.2.1" + "@formatjs/icu-messageformat-parser" "2.7.10" + tslib "^2.7.0" ipaddr.js@1.9.1: version "1.9.1" @@ -4777,20 +4666,15 @@ jsdom@^16.2.0: ws "^7.4.6" xml-name-validator "^3.0.0" -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== +jsesc@^3.0.2, jsesc@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" + integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== json-formatter-js@^2.3.4: - version "2.5.17" - resolved "https://registry.yarnpkg.com/json-formatter-js/-/json-formatter-js-2.5.17.tgz#162c47c18de71de2f23ab9b95c3b7c329cbd7975" - integrity sha512-HJr7mwjPYIysd504YVTcGrSFlXGhQYWDguM+tx5JgGLkoIdh88h8DsfdN/oFt3ouGrEIwaY+dQdxczOLL/VotQ== + version "2.5.18" + resolved "https://registry.yarnpkg.com/json-formatter-js/-/json-formatter-js-2.5.18.tgz#49406a56dda8430adae041998481de9e47b9591e" + integrity sha512-1OF3PafvJRAZAhb3EZUjLBdG+HXSpdHytV3nOD19OLzbhQgc8q8J8F6ro9hSdbcG0rXeWq33dQ37HxQLp3y74A== json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: version "2.3.1" @@ -4991,10 +4875,10 @@ memfs@^3.4.3: dependencies: fs-monkey "^1.0.4" -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== +merge-descriptors@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.3.tgz#d80319a65f3c7935351e5cfdac8f9318504dbed5" + integrity sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ== merge-stream@^2.0.0: version "2.0.0" @@ -5192,9 +5076,9 @@ nth-check@^2.0.1: boolbase "^1.0.0" nwsapi@^2.2.0: - version "2.2.12" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.12.tgz#fb6af5c0ec35b27b4581eb3bbad34ec9e5c696f8" - integrity sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w== + version "2.2.13" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.13.tgz#e56b4e98960e7a040e5474536587e599c4ff4655" + integrity sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ== object-assign@^4.0.1: version "4.1.1" @@ -5398,10 +5282,10 @@ path-parse@^1.0.7: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== +path-to-regexp@0.1.10: + version "0.1.10" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.10.tgz#67e9108c5c0551b9e5326064387de4763c4d5f8b" + integrity sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w== path-type@^4.0.0: version "4.0.0" @@ -5409,16 +5293,16 @@ path-type@^4.0.0: integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== pdfmake@^0.2.2: - version "0.2.12" - resolved "https://registry.yarnpkg.com/pdfmake/-/pdfmake-0.2.12.tgz#5156f91ff73797947942aa342423bedaa0c0bc93" - integrity sha512-TFsqaG6KVtk+TWermmJNNwom3wmB/xiz07prM74KBhdM+7pz3Uwq2b0uoqhhQRn6cYUTpL8lXZY6xF011o1YcQ== + version "0.2.14" + resolved "https://registry.yarnpkg.com/pdfmake/-/pdfmake-0.2.14.tgz#a257a393b54917218add829bff8e490be21e8077" + integrity sha512-x9gXFAY37/CAC/WaZB/683E4Pi0cVW/RMTTNxMpe4I2kRsKv8AE3Pz6+n7iTfn+84/GtSg99BjZkYh7oGFCKmg== dependencies: "@foliojs-fork/linebreak" "^1.1.1" "@foliojs-fork/pdfkit" "^0.14.0" iconv-lite "^0.6.3" xmldoc "^1.1.2" -picocolors@^1.0.0, picocolors@^1.0.1: +picocolors@^1.0.0, picocolors@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.0.tgz#5358b76a78cde483ba5cef6a9dc9671440b27d59" integrity sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw== @@ -5767,18 +5651,18 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^ integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== postcss@^8.2.14, postcss@^8.2.15, postcss@^8.4.12, postcss@^8.4.24, postcss@^8.4.33: - version "8.4.45" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.45.tgz#538d13d89a16ef71edbf75d895284ae06b79e603" - integrity sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q== + version "8.4.47" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.47.tgz#5bf6c9a010f3e724c503bf03ef7947dcb0fea365" + integrity sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ== dependencies: nanoid "^3.3.7" - picocolors "^1.0.1" - source-map-js "^1.2.0" + picocolors "^1.1.0" + source-map-js "^1.2.1" preact@^10.13.2: - version "10.23.2" - resolved "https://registry.yarnpkg.com/preact/-/preact-10.23.2.tgz#52deec92796ae0f0cc6b034d9c66e0fbc1b837dc" - integrity sha512-kKYfePf9rzKnxOAKDpsWhg/ysrHPqT+yQ7UW4JjdnqjFIeNUnNcEJvhuA8fDenxAGWzUqtd51DfVg7xp/8T9NA== + version "10.24.2" + resolved "https://registry.yarnpkg.com/preact/-/preact-10.24.2.tgz#42179771d3b06e7adb884e3f8127ddd3d99b78f6" + integrity sha512-1cSoF0aCC8uaARATfrlz4VCBqE8LwZwRfLgkxJOQwAlQt6ayTmi0D9OF7nXid1POI5SZidFuG9CnlXbDfLqY/Q== pretty-error@^4.0.0: version "4.0.0" @@ -5816,12 +5700,12 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== -qs@6.11.0: - version "6.11.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" - integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== +qs@6.13.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.13.0.tgz#6ca3bd58439f7e245655798997787b0d88a51906" + integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg== dependencies: - side-channel "^1.0.4" + side-channel "^1.0.6" querystringify@^2.1.1: version "2.2.0" @@ -5913,10 +5797,10 @@ rechoir@^0.7.0: dependencies: resolve "^1.9.0" -regenerate-unicode-properties@^10.1.0: - version "10.1.1" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz#6b0e05489d9076b04c436f318d9b067bba459480" - integrity sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== +regenerate-unicode-properties@^10.2.0: + version "10.2.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz#626e39df8c372338ea9b8028d1f99dc3fd9c3db0" + integrity sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA== dependencies: regenerate "^1.4.2" @@ -5948,33 +5832,38 @@ regex-parser@^2.2.11: integrity sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg== regexp.prototype.flags@^1.5.1: - version "1.5.2" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz#138f644a3350f981a858c44f6bb1a61ff59be334" - integrity sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw== + version "1.5.3" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz#b3ae40b1d2499b8350ab2c3fe6ef3845d3a96f42" + integrity sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ== dependencies: - call-bind "^1.0.6" + call-bind "^1.0.7" define-properties "^1.2.1" es-errors "^1.3.0" - set-function-name "^2.0.1" + set-function-name "^2.0.2" -regexpu-core@^5.3.1: - version "5.3.2" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.3.2.tgz#11a2b06884f3527aec3e93dbbf4a3b958a95546b" - integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== +regexpu-core@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-6.1.1.tgz#b469b245594cb2d088ceebc6369dceb8c00becac" + integrity sha512-k67Nb9jvwJcJmVpw0jPttR1/zVfnKf8Km0IPatrU/zJ5XeG3+Slx0xLXs9HByJSzXzrlz5EDvN6yLNMDc2qdnw== dependencies: - "@babel/regjsgen" "^0.8.0" regenerate "^1.4.2" - regenerate-unicode-properties "^10.1.0" - regjsparser "^0.9.1" + regenerate-unicode-properties "^10.2.0" + regjsgen "^0.8.0" + regjsparser "^0.11.0" unicode-match-property-ecmascript "^2.0.0" unicode-match-property-value-ecmascript "^2.1.0" -regjsparser@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" - integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== +regjsgen@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.8.0.tgz#df23ff26e0c5b300a6470cad160a9d090c3a37ab" + integrity sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q== + +regjsparser@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.11.1.tgz#ae55c74f646db0c8fcb922d4da635e33da405149" + integrity sha512-1DHODs4B8p/mQHU9kr+jv8+wIC9mtG4eBHxWxIq5mhjE3D5oORhCc6deRKzTjs9DcfRFmj9BHSDguZklqCGFWQ== dependencies: - jsesc "~0.5.0" + jsesc "~3.0.2" renderkid@^3.0.0: version "3.0.0" @@ -6152,10 +6041,10 @@ semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.5.4: resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== -send@0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" - integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== +send@0.19.0: + version "0.19.0" + resolved "https://registry.yarnpkg.com/send/-/send-0.19.0.tgz#bbc5a388c8ea6c048967049dbeac0e4a3f09d7f8" + integrity sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw== dependencies: debug "2.6.9" depd "2.0.0" @@ -6198,15 +6087,15 @@ serve-index@^1.9.1: mime-types "~2.1.17" parseurl "~1.3.2" -serve-static@1.15.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" - integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== +serve-static@1.16.2: + version "1.16.2" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.16.2.tgz#b6a5343da47f6bdd2673848bf45754941e803296" + integrity sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw== dependencies: - encodeurl "~1.0.2" + encodeurl "~2.0.0" escape-html "~1.0.3" parseurl "~1.3.3" - send "0.18.0" + send "0.19.0" set-function-length@^1.2.1: version "1.2.2" @@ -6220,7 +6109,7 @@ set-function-length@^1.2.1: gopd "^1.0.1" has-property-descriptors "^1.0.2" -set-function-name@^2.0.1: +set-function-name@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== @@ -6283,7 +6172,7 @@ shellwords@^0.1.1: resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== -side-channel@^1.0.4: +side-channel@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== @@ -6326,7 +6215,7 @@ source-list-map@^2.0.0, source-list-map@^2.0.1: resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== -source-map-js@^1.0.1, source-map-js@^1.2.0: +source-map-js@^1.0.1, source-map-js@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== @@ -6555,9 +6444,9 @@ terser-webpack-plugin@^5.3.0, terser-webpack-plugin@^5.3.10: terser "^5.26.0" terser@^5.26.0, terser@^5.3.4: - version "5.32.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.32.0.tgz#ee811c0d2d6b741c1cc34a2bc5bcbfc1b5b1f96c" - integrity sha512-v3Gtw3IzpBJ0ugkxEX8U0W6+TnPKRRCWGh1jC/iM/e3Ki5+qvO1L1EAZ56bZasc64aXHwRHNIQEzm6//i5cemQ== + version "5.34.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.34.1.tgz#af40386bdbe54af0d063e0670afd55c3105abeb6" + integrity sha512-FsJZ7iZLd/BXkz+4xrRTGJ26o/6VTjQytUk8b8OxkwcD2I+79VPJlz7qss1+zE7h8GNIScFqXcDyJ/KqBYZFVA== dependencies: "@jridgewell/source-map" "^0.3.3" acorn "^8.8.2" @@ -6650,7 +6539,7 @@ ts-loader@^9.2.6: semver "^7.3.4" source-map "^0.7.4" -tslib@^2.4.0: +tslib@^2.7.0: version "2.7.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.7.0.tgz#d9b40c5c40ab59e8738f297df3087bf1a2690c01" integrity sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA== @@ -6686,9 +6575,9 @@ undici-types@~6.19.2: integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== unicode-canonical-property-names-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" - integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== + version "2.0.1" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz#cb3173fe47ca743e228216e4a3ddc4c84d628cc2" + integrity sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg== unicode-match-property-ecmascript@^2.0.0: version "2.0.0" @@ -6699,9 +6588,9 @@ unicode-match-property-ecmascript@^2.0.0: unicode-property-aliases-ecmascript "^2.0.0" unicode-match-property-value-ecmascript@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0" - integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== + version "2.2.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz#a0401aee72714598f739b68b104e4fe3a0cb3c71" + integrity sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg== unicode-properties@^1.2.2: version "1.4.1" @@ -6754,12 +6643,12 @@ unpipe@1.0.0, unpipe@~1.0.0: integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== update-browserslist-db@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz#7ca61c0d8650766090728046e416a8cde682859e" - integrity sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ== + version "1.1.1" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz#80846fba1d79e82547fb661f8d141e0945755fe5" + integrity sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A== dependencies: - escalade "^3.1.2" - picocolors "^1.0.1" + escalade "^3.2.0" + picocolors "^1.1.0" uri-js@^4.2.2: version "4.4.1" @@ -6967,9 +6856,9 @@ webpack-sources@^3.2.3: integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== webpack@^5.74.0: - version "5.94.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.94.0.tgz#77a6089c716e7ab90c1c67574a28da518a20970f" - integrity sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg== + version "5.95.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.95.0.tgz#8fd8c454fa60dad186fbe36c400a55848307b4c0" + integrity sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q== dependencies: "@types/estree" "^1.0.5" "@webassemblyjs/ast" "^1.12.1" From 49acf3e0cfffc2c8d87240c30a455193c53a678f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sun, 13 Oct 2024 20:13:03 +0200 Subject: [PATCH 052/287] Fixed problem preventing non-admins to add TOTP 2FA to their account This was caused by the no-lockout constraint, which was accidentially triggered here --- src/Controller/UserSettingsController.php | 3 ++- src/Entity/UserSystem/User.php | 2 +- src/Form/UserAdminForm.php | 2 ++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Controller/UserSettingsController.php b/src/Controller/UserSettingsController.php index f84547dc..ea49dbc2 100644 --- a/src/Controller/UserSettingsController.php +++ b/src/Controller/UserSettingsController.php @@ -330,7 +330,8 @@ class UserSettingsController extends AbstractController } $google_form->handleRequest($request); - if (!$this->demo_mode && !$user->isSamlUser() && $google_form->isSubmitted() && $google_form->isValid()) { + //We do not need to check for validity of the google form here, because we do not care if the other fields are valid + if (!$this->demo_mode && !$user->isSamlUser() && $google_form->isSubmitted()) { if (!$google_enabled) { //Save 2FA settings (save secrets) $user->setGoogleAuthenticatorSecret($google_form->get('googleAuthenticatorSecret')->getData()); diff --git a/src/Entity/UserSystem/User.php b/src/Entity/UserSystem/User.php index b26a842d..b5dd6064 100644 --- a/src/Entity/UserSystem/User.php +++ b/src/Entity/UserSystem/User.php @@ -102,7 +102,7 @@ use Jbtronics\TFAWebauthn\Model\TwoFactorInterface as WebauthnTwoFactorInterface #[ApiFilter(LikeFilter::class, properties: ["name", "aboutMe"])] #[ApiFilter(DateFilter::class, strategy: DateFilterInterface::EXCLUDE_NULL)] #[ApiFilter(OrderFilter::class, properties: ['name', 'id', 'addedDate', 'lastModified'])] -#[NoLockout] +#[NoLockout(groups: ['permissions:edit'])] class User extends AttachmentContainingDBElement implements UserInterface, HasPermissionsInterface, TwoFactorInterface, BackupCodeInterface, TrustedDeviceInterface, WebauthnTwoFactorInterface, PreferredProviderInterface, PasswordAuthenticatedUserInterface, SamlUserInterface { diff --git a/src/Form/UserAdminForm.php b/src/Form/UserAdminForm.php index d1e5924e..864bcf6b 100644 --- a/src/Form/UserAdminForm.php +++ b/src/Form/UserAdminForm.php @@ -57,6 +57,8 @@ class UserAdminForm extends AbstractType parent::configureOptions($resolver); // TODO: Change the autogenerated stub $resolver->setRequired('attachment_class'); $resolver->setDefault('parameter_class', false); + + $resolver->setDefault('validation_groups', ['Default', 'permissions:edit']); } public function buildForm(FormBuilderInterface $builder, array $options): void From a29d933f99d9112e9b0e8ba7de5b4725e7d5c122 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sun, 13 Oct 2024 20:29:22 +0200 Subject: [PATCH 053/287] Fixed 2FA TOTP for non-admins, while also retaining validation of auth code This fixes issue #717 --- src/Controller/UserSettingsController.php | 2 +- src/Form/TFAGoogleSettingsType.php | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Controller/UserSettingsController.php b/src/Controller/UserSettingsController.php index ea49dbc2..89a0ef7c 100644 --- a/src/Controller/UserSettingsController.php +++ b/src/Controller/UserSettingsController.php @@ -331,7 +331,7 @@ class UserSettingsController extends AbstractController $google_form->handleRequest($request); //We do not need to check for validity of the google form here, because we do not care if the other fields are valid - if (!$this->demo_mode && !$user->isSamlUser() && $google_form->isSubmitted()) { + if (!$this->demo_mode && !$user->isSamlUser() && $google_form->isSubmitted() && $google_form->isValid()) { if (!$google_enabled) { //Save 2FA settings (save secrets) $user->setGoogleAuthenticatorSecret($google_form->get('googleAuthenticatorSecret')->getData()); diff --git a/src/Form/TFAGoogleSettingsType.php b/src/Form/TFAGoogleSettingsType.php index e00ba494..aaa93e9e 100644 --- a/src/Form/TFAGoogleSettingsType.php +++ b/src/Form/TFAGoogleSettingsType.php @@ -60,7 +60,7 @@ class TFAGoogleSettingsType extends AbstractType 'pattern' => '\d*', 'autocomplete' => 'off', ], - 'constraints' => [new ValidGoogleAuthCode()], + 'constraints' => [new ValidGoogleAuthCode(groups: ["google_authenticator"])], ] ); @@ -92,6 +92,7 @@ class TFAGoogleSettingsType extends AbstractType { $resolver->setDefaults([ 'data_class' => User::class, + 'validation_groups' => ['google_authenticator'], ]); } } From ca116cae91203fd56e1ae6d5bef37a25d29bb419 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sun, 13 Oct 2024 20:30:56 +0200 Subject: [PATCH 054/287] Keeep the segment annotations in the translation files, when editing them from inside the application --- src/Controller/UserSettingsController.php | 3 +- .../Fixes/SegmentAwareXliffFileDumper.php | 242 ++++++++++++++++ .../Fixes/SegmentAwareXliffFileLoader.php | 262 ++++++++++++++++++ 3 files changed, 505 insertions(+), 2 deletions(-) create mode 100644 src/Translation/Fixes/SegmentAwareXliffFileDumper.php create mode 100644 src/Translation/Fixes/SegmentAwareXliffFileLoader.php diff --git a/src/Controller/UserSettingsController.php b/src/Controller/UserSettingsController.php index 89a0ef7c..9b578ecf 100644 --- a/src/Controller/UserSettingsController.php +++ b/src/Controller/UserSettingsController.php @@ -329,8 +329,7 @@ class UserSettingsController extends AbstractController $google_form->get('googleAuthenticatorSecret')->setData($user->getGoogleAuthenticatorSecret()); } $google_form->handleRequest($request); - - //We do not need to check for validity of the google form here, because we do not care if the other fields are valid + if (!$this->demo_mode && !$user->isSamlUser() && $google_form->isSubmitted() && $google_form->isValid()) { if (!$google_enabled) { //Save 2FA settings (save secrets) diff --git a/src/Translation/Fixes/SegmentAwareXliffFileDumper.php b/src/Translation/Fixes/SegmentAwareXliffFileDumper.php new file mode 100644 index 00000000..4b44ef01 --- /dev/null +++ b/src/Translation/Fixes/SegmentAwareXliffFileDumper.php @@ -0,0 +1,242 @@ +. + */ + +declare(strict_types=1); + + +namespace App\Translation\Fixes; + +use Symfony\Component\DependencyInjection\Attribute\AsDecorator; +use Symfony\Component\Translation\Dumper\FileDumper; +use Symfony\Component\Translation\MessageCatalogue; +use Symfony\Component\Translation\Exception\InvalidArgumentException; + +/** + * Backport of the XliffFile dumper from Symfony 7.2, which supports segment attributes and notes, this keeps the + * metadata when editing the translations from inside Symfony. + */ +#[AsDecorator("translation.dumper.xliff")] +class SegmentAwareXliffFileDumper extends FileDumper +{ + + public function __construct( + private string $extension = 'xlf', + ) { + } + + public function formatCatalogue(MessageCatalogue $messages, string $domain, array $options = []): string + { + $xliffVersion = '1.2'; + if (\array_key_exists('xliff_version', $options)) { + $xliffVersion = $options['xliff_version']; + } + + if (\array_key_exists('default_locale', $options)) { + $defaultLocale = $options['default_locale']; + } else { + $defaultLocale = \Locale::getDefault(); + } + + if ('1.2' === $xliffVersion) { + return $this->dumpXliff1($defaultLocale, $messages, $domain, $options); + } + if ('2.0' === $xliffVersion) { + return $this->dumpXliff2($defaultLocale, $messages, $domain); + } + + throw new InvalidArgumentException(\sprintf('No support implemented for dumping XLIFF version "%s".', $xliffVersion)); + } + + protected function getExtension(): string + { + return $this->extension; + } + + private function dumpXliff1(string $defaultLocale, MessageCatalogue $messages, ?string $domain, array $options = []): string + { + $toolInfo = ['tool-id' => 'symfony', 'tool-name' => 'Symfony']; + if (\array_key_exists('tool_info', $options)) { + $toolInfo = array_merge($toolInfo, $options['tool_info']); + } + + $dom = new \DOMDocument('1.0', 'utf-8'); + $dom->formatOutput = true; + + $xliff = $dom->appendChild($dom->createElement('xliff')); + $xliff->setAttribute('version', '1.2'); + $xliff->setAttribute('xmlns', 'urn:oasis:names:tc:xliff:document:1.2'); + + $xliffFile = $xliff->appendChild($dom->createElement('file')); + $xliffFile->setAttribute('source-language', str_replace('_', '-', $defaultLocale)); + $xliffFile->setAttribute('target-language', str_replace('_', '-', $messages->getLocale())); + $xliffFile->setAttribute('datatype', 'plaintext'); + $xliffFile->setAttribute('original', 'file.ext'); + + $xliffHead = $xliffFile->appendChild($dom->createElement('header')); + $xliffTool = $xliffHead->appendChild($dom->createElement('tool')); + foreach ($toolInfo as $id => $value) { + $xliffTool->setAttribute($id, $value); + } + + if ($catalogueMetadata = $messages->getCatalogueMetadata('', $domain) ?? []) { + $xliffPropGroup = $xliffHead->appendChild($dom->createElement('prop-group')); + foreach ($catalogueMetadata as $key => $value) { + $xliffProp = $xliffPropGroup->appendChild($dom->createElement('prop')); + $xliffProp->setAttribute('prop-type', $key); + $xliffProp->appendChild($dom->createTextNode($value)); + } + } + + $xliffBody = $xliffFile->appendChild($dom->createElement('body')); + foreach ($messages->all($domain) as $source => $target) { + $translation = $dom->createElement('trans-unit'); + + $translation->setAttribute('id', strtr(substr(base64_encode(hash('xxh128', $source, true)), 0, 7), '/+', '._')); + $translation->setAttribute('resname', $source); + + $s = $translation->appendChild($dom->createElement('source')); + $s->appendChild($dom->createTextNode($source)); + + // Does the target contain characters requiring a CDATA section? + $text = 1 === preg_match('/[&<>]/', $target) ? $dom->createCDATASection($target) : $dom->createTextNode($target); + + $targetElement = $dom->createElement('target'); + $metadata = $messages->getMetadata($source, $domain); + if ($this->hasMetadataArrayInfo('target-attributes', $metadata)) { + foreach ($metadata['target-attributes'] as $name => $value) { + $targetElement->setAttribute($name, $value); + } + } + $t = $translation->appendChild($targetElement); + $t->appendChild($text); + + if ($this->hasMetadataArrayInfo('notes', $metadata)) { + foreach ($metadata['notes'] as $note) { + if (!isset($note['content'])) { + continue; + } + + $n = $translation->appendChild($dom->createElement('note')); + $n->appendChild($dom->createTextNode($note['content'])); + + if (isset($note['priority'])) { + $n->setAttribute('priority', $note['priority']); + } + + if (isset($note['from'])) { + $n->setAttribute('from', $note['from']); + } + } + } + + $xliffBody->appendChild($translation); + } + + return $dom->saveXML(); + } + + private function dumpXliff2(string $defaultLocale, MessageCatalogue $messages, ?string $domain): string + { + $dom = new \DOMDocument('1.0', 'utf-8'); + $dom->formatOutput = true; + + $xliff = $dom->appendChild($dom->createElement('xliff')); + $xliff->setAttribute('xmlns', 'urn:oasis:names:tc:xliff:document:2.0'); + $xliff->setAttribute('version', '2.0'); + $xliff->setAttribute('srcLang', str_replace('_', '-', $defaultLocale)); + $xliff->setAttribute('trgLang', str_replace('_', '-', $messages->getLocale())); + + $xliffFile = $xliff->appendChild($dom->createElement('file')); + if (str_ends_with($domain, MessageCatalogue::INTL_DOMAIN_SUFFIX)) { + $xliffFile->setAttribute('id', substr($domain, 0, -\strlen(MessageCatalogue::INTL_DOMAIN_SUFFIX)).'.'.$messages->getLocale()); + } else { + $xliffFile->setAttribute('id', $domain.'.'.$messages->getLocale()); + } + + if ($catalogueMetadata = $messages->getCatalogueMetadata('', $domain) ?? []) { + $xliff->setAttribute('xmlns:m', 'urn:oasis:names:tc:xliff:metadata:2.0'); + $xliffMetadata = $xliffFile->appendChild($dom->createElement('m:metadata')); + foreach ($catalogueMetadata as $key => $value) { + $xliffMeta = $xliffMetadata->appendChild($dom->createElement('prop')); + $xliffMeta->setAttribute('type', $key); + $xliffMeta->appendChild($dom->createTextNode($value)); + } + } + + foreach ($messages->all($domain) as $source => $target) { + $translation = $dom->createElement('unit'); + $translation->setAttribute('id', strtr(substr(base64_encode(hash('xxh128', $source, true)), 0, 7), '/+', '._')); + + if (\strlen($source) <= 80) { + $translation->setAttribute('name', $source); + } + + $metadata = $messages->getMetadata($source, $domain); + + // Add notes section + if ($this->hasMetadataArrayInfo('notes', $metadata)) { + $notesElement = $dom->createElement('notes'); + foreach ($metadata['notes'] as $note) { + $n = $dom->createElement('note'); + $n->appendChild($dom->createTextNode($note['content'] ?? '')); + unset($note['content']); + + foreach ($note as $name => $value) { + $n->setAttribute($name, $value); + } + $notesElement->appendChild($n); + } + $translation->appendChild($notesElement); + } + + $segment = $translation->appendChild($dom->createElement('segment')); + + if ($this->hasMetadataArrayInfo('segment-attributes', $metadata)) { + foreach ($metadata['segment-attributes'] as $name => $value) { + $segment->setAttribute($name, $value); + } + } + + $s = $segment->appendChild($dom->createElement('source')); + $s->appendChild($dom->createTextNode($source)); + + // Does the target contain characters requiring a CDATA section? + $text = 1 === preg_match('/[&<>]/', $target) ? $dom->createCDATASection($target) : $dom->createTextNode($target); + + $targetElement = $dom->createElement('target'); + if ($this->hasMetadataArrayInfo('target-attributes', $metadata)) { + foreach ($metadata['target-attributes'] as $name => $value) { + $targetElement->setAttribute($name, $value); + } + } + $t = $segment->appendChild($targetElement); + $t->appendChild($text); + + $xliffFile->appendChild($translation); + } + + return $dom->saveXML(); + } + + private function hasMetadataArrayInfo(string $key, ?array $metadata = null): bool + { + return is_iterable($metadata[$key] ?? null); + } +} \ No newline at end of file diff --git a/src/Translation/Fixes/SegmentAwareXliffFileLoader.php b/src/Translation/Fixes/SegmentAwareXliffFileLoader.php new file mode 100644 index 00000000..12455e87 --- /dev/null +++ b/src/Translation/Fixes/SegmentAwareXliffFileLoader.php @@ -0,0 +1,262 @@ +. + */ + +declare(strict_types=1); + + +namespace App\Translation\Fixes; + +use Symfony\Component\Config\Resource\FileResource; +use Symfony\Component\Config\Util\Exception\InvalidXmlException; +use Symfony\Component\Config\Util\Exception\XmlParsingException; +use Symfony\Component\Config\Util\XmlUtils; +use Symfony\Component\DependencyInjection\Attribute\AsDecorator; +use Symfony\Component\Translation\Exception\InvalidResourceException; +use Symfony\Component\Translation\Exception\NotFoundResourceException; +use Symfony\Component\Translation\Exception\RuntimeException; +use Symfony\Component\Translation\Loader\LoaderInterface; +use Symfony\Component\Translation\MessageCatalogue; +use Symfony\Component\Translation\Util\XliffUtils; + +/** + * Backport of the XliffFile dumper from Symfony 7.2, which supports segment attributes and notes, this keeps the + * metadata when editing the translations from inside Symfony. + */ +#[AsDecorator("translation.loader.xliff")] +class SegmentAwareXliffFileLoader implements LoaderInterface +{ + public function load(mixed $resource, string $locale, string $domain = 'messages'): MessageCatalogue + { + if (!class_exists(XmlUtils::class)) { + throw new RuntimeException('Loading translations from the Xliff format requires the Symfony Config component.'); + } + + if (!$this->isXmlString($resource)) { + if (!stream_is_local($resource)) { + throw new InvalidResourceException(\sprintf('This is not a local file "%s".', $resource)); + } + + if (!file_exists($resource)) { + throw new NotFoundResourceException(\sprintf('File "%s" not found.', $resource)); + } + + if (!is_file($resource)) { + throw new InvalidResourceException(\sprintf('This is neither a file nor an XLIFF string "%s".', $resource)); + } + } + + try { + if ($this->isXmlString($resource)) { + $dom = XmlUtils::parse($resource); + } else { + $dom = XmlUtils::loadFile($resource); + } + } catch (\InvalidArgumentException|XmlParsingException|InvalidXmlException $e) { + throw new InvalidResourceException(\sprintf('Unable to load "%s": ', $resource).$e->getMessage(), $e->getCode(), $e); + } + + if ($errors = XliffUtils::validateSchema($dom)) { + throw new InvalidResourceException(\sprintf('Invalid resource provided: "%s"; Errors: ', $resource).XliffUtils::getErrorsAsString($errors)); + } + + $catalogue = new MessageCatalogue($locale); + $this->extract($dom, $catalogue, $domain); + + if (is_file($resource) && class_exists(FileResource::class)) { + $catalogue->addResource(new FileResource($resource)); + } + + return $catalogue; + } + + private function extract(\DOMDocument $dom, MessageCatalogue $catalogue, string $domain): void + { + $xliffVersion = XliffUtils::getVersionNumber($dom); + + if ('1.2' === $xliffVersion) { + $this->extractXliff1($dom, $catalogue, $domain); + } + + if ('2.0' === $xliffVersion) { + $this->extractXliff2($dom, $catalogue, $domain); + } + } + + /** + * Extract messages and metadata from DOMDocument into a MessageCatalogue. + */ + private function extractXliff1(\DOMDocument $dom, MessageCatalogue $catalogue, string $domain): void + { + $xml = simplexml_import_dom($dom); + $encoding = $dom->encoding ? strtoupper($dom->encoding) : null; + + $namespace = 'urn:oasis:names:tc:xliff:document:1.2'; + $xml->registerXPathNamespace('xliff', $namespace); + + foreach ($xml->xpath('//xliff:file') as $file) { + $fileAttributes = $file->attributes(); + + $file->registerXPathNamespace('xliff', $namespace); + + foreach ($file->xpath('.//xliff:prop') as $prop) { + $catalogue->setCatalogueMetadata($prop->attributes()['prop-type'], (string) $prop, $domain); + } + + foreach ($file->xpath('.//xliff:trans-unit') as $translation) { + $attributes = $translation->attributes(); + + if (!(isset($attributes['resname']) || isset($translation->source))) { + continue; + } + + $source = (string) (isset($attributes['resname']) && $attributes['resname'] ? $attributes['resname'] : $translation->source); + + if (isset($translation->target) + && 'needs-translation' === (string) $translation->target->attributes()['state'] + && \in_array((string) $translation->target, [$source, (string) $translation->source], true) + ) { + continue; + } + + // If the xlf file has another encoding specified, try to convert it because + // simple_xml will always return utf-8 encoded values + $target = $this->utf8ToCharset((string) ($translation->target ?? $translation->source), $encoding); + + $catalogue->set($source, $target, $domain); + + $metadata = [ + 'source' => (string) $translation->source, + 'file' => [ + 'original' => (string) $fileAttributes['original'], + ], + ]; + if ($notes = $this->parseNotesMetadata($translation->note, $encoding)) { + $metadata['notes'] = $notes; + } + + if (isset($translation->target) && $translation->target->attributes()) { + $metadata['target-attributes'] = []; + foreach ($translation->target->attributes() as $key => $value) { + $metadata['target-attributes'][$key] = (string) $value; + } + } + + if (isset($attributes['id'])) { + $metadata['id'] = (string) $attributes['id']; + } + + $catalogue->setMetadata($source, $metadata, $domain); + } + } + } + + private function extractXliff2(\DOMDocument $dom, MessageCatalogue $catalogue, string $domain): void + { + $xml = simplexml_import_dom($dom); + $encoding = $dom->encoding ? strtoupper($dom->encoding) : null; + + $xml->registerXPathNamespace('xliff', 'urn:oasis:names:tc:xliff:document:2.0'); + + foreach ($xml->xpath('//xliff:unit') as $unit) { + foreach ($unit->segment as $segment) { + $attributes = $unit->attributes(); + $source = $attributes['name'] ?? $segment->source; + + // If the xlf file has another encoding specified, try to convert it because + // simple_xml will always return utf-8 encoded values + $target = $this->utf8ToCharset((string) ($segment->target ?? $segment->source), $encoding); + + $catalogue->set((string) $source, $target, $domain); + + $metadata = []; + if ($segment->attributes()) { + $metadata['segment-attributes'] = []; + foreach ($segment->attributes() as $key => $value) { + $metadata['segment-attributes'][$key] = (string) $value; + } + } + + if (isset($segment->target) && $segment->target->attributes()) { + $metadata['target-attributes'] = []; + foreach ($segment->target->attributes() as $key => $value) { + $metadata['target-attributes'][$key] = (string) $value; + } + } + + if (isset($unit->notes)) { + $metadata['notes'] = []; + foreach ($unit->notes->note as $noteNode) { + $note = []; + foreach ($noteNode->attributes() as $key => $value) { + $note[$key] = (string) $value; + } + $note['content'] = (string) $noteNode; + $metadata['notes'][] = $note; + } + } + + $catalogue->setMetadata((string) $source, $metadata, $domain); + } + } + } + + /** + * Convert a UTF8 string to the specified encoding. + */ + private function utf8ToCharset(string $content, ?string $encoding = null): string + { + if ('UTF-8' !== $encoding && $encoding) { + return mb_convert_encoding($content, $encoding, 'UTF-8'); + } + + return $content; + } + + private function parseNotesMetadata(?\SimpleXMLElement $noteElement = null, ?string $encoding = null): array + { + $notes = []; + + if (null === $noteElement) { + return $notes; + } + + /** @var \SimpleXMLElement $xmlNote */ + foreach ($noteElement as $xmlNote) { + $noteAttributes = $xmlNote->attributes(); + $note = ['content' => $this->utf8ToCharset((string) $xmlNote, $encoding)]; + if (isset($noteAttributes['priority'])) { + $note['priority'] = (int) $noteAttributes['priority']; + } + + if (isset($noteAttributes['from'])) { + $note['from'] = (string) $noteAttributes['from']; + } + + $notes[] = $note; + } + + return $notes; + } + + private function isXmlString(string $resource): bool + { + return str_starts_with($resource, ' Date: Sun, 13 Oct 2024 20:35:56 +0200 Subject: [PATCH 055/287] Added translation if authentication confirmation code is wrong --- src/Controller/UserSettingsController.php | 2 +- translations/validators.en.xlf | 80 ++++++++++++----------- 2 files changed, 44 insertions(+), 38 deletions(-) diff --git a/src/Controller/UserSettingsController.php b/src/Controller/UserSettingsController.php index 9b578ecf..f84547dc 100644 --- a/src/Controller/UserSettingsController.php +++ b/src/Controller/UserSettingsController.php @@ -329,7 +329,7 @@ class UserSettingsController extends AbstractController $google_form->get('googleAuthenticatorSecret')->setData($user->getGoogleAuthenticatorSecret()); } $google_form->handleRequest($request); - + if (!$this->demo_mode && !$user->isSamlUser() && $google_form->isSubmitted() && $google_form->isValid()) { if (!$google_enabled) { //Save 2FA settings (save secrets) diff --git a/translations/validators.en.xlf b/translations/validators.en.xlf index a70cd76a..5ba6b583 100644 --- a/translations/validators.en.xlf +++ b/translations/validators.en.xlf @@ -1,7 +1,7 @@ - + Part-DB1\src\Entity\Attachments\AttachmentContainingDBElement.php:0 Part-DB1\src\Entity\Attachments\AttachmentType.php:0 @@ -42,7 +42,7 @@ The preview attachment must be a valid picture!
- + Part-DB1\src\Entity\Attachments\AttachmentType.php:0 Part-DB1\src\Entity\Base\AbstractCompany.php:0 @@ -87,7 +87,7 @@ An element with this name already exists on this level!
- + Part-DB1\src\Entity\Parameters\AbstractParameter.php:0 Part-DB1\src\Entity\Parameters\AttachmentTypeParameter.php:0 @@ -107,7 +107,7 @@ Value must be lesser or equal the the typical value ({{ compared_value }}).
- + Part-DB1\src\Entity\Parameters\AbstractParameter.php:0 Part-DB1\src\Entity\Parameters\AttachmentTypeParameter.php:0 @@ -127,7 +127,7 @@ Value must be lesser than the maximum value ({{ compared_value }}).
- + Part-DB1\src\Entity\Parameters\AbstractParameter.php:0 Part-DB1\src\Entity\Parameters\AttachmentTypeParameter.php:0 @@ -147,7 +147,7 @@ Value must be greater or equal than the typical value ({{ compared_value }}).
- + Part-DB1\src\Entity\UserSystem\User.php:0 Part-DB1\src\Entity\UserSystem\User.php:0 @@ -157,7 +157,7 @@ A user with this name is already exisiting
- + Part-DB1\src\Entity\UserSystem\User.php:0 Part-DB1\src\Entity\UserSystem\User.php:0 @@ -167,7 +167,7 @@ The username must contain only letters, numbers, underscores, dots, pluses or minuses!
- + obsolete @@ -176,7 +176,7 @@ An element can not be its own parent!
- + obsolete @@ -185,173 +185,179 @@ You can not assign children element as parent (This would cause loops)!
- + validator.select_valid_category Please select a valid category! - + validator.part_lot.only_existing Can not add new parts to this location as it is marked as "Only Existing" - + validator.part_lot.location_full.no_increase Location is full. Amount can not be increased (new value must be smaller than {{ old_amount }}). - + validator.part_lot.location_full Location is full. Can not add new parts to it. - + validator.part_lot.single_part This location can only contain a single part and it is already full! - + validator.attachment.must_not_be_null You must select an attachment type! - + validator.orderdetail.supplier_must_not_be_null You must select an supplier! - + validator.measurement_unit.use_si_prefix_needs_unit To enable SI prefixes, you have to set a unit symbol! - + part.ipn.must_be_unique The internal part number must be unique. {{ value }} is already in use! - + validator.project.bom_entry.name_or_part_needed You have to choose a part for a part BOM entry or set a name for a non-part BOM entry. - + project.bom_entry.name_already_in_bom There is already an BOM entry with this name! - + project.bom_entry.part_already_in_bom This part already exists in the BOM! - + project.bom_entry.mountnames_quantity_mismatch The number of mountnames has to match the BOMs quantity! - + project.bom_entry.can_not_add_own_builds_part You can not add a project's own builds part to the BOM. - + project.bom_has_to_include_all_subelement_parts The project BOM has to include all subprojects builds parts. Part %part_name% of project %project_name% missing! - + project.bom_entry.price_not_allowed_on_parts Prices are not allowed on BOM entries associated with a part. Define the price on the part instead. - + validator.project_build.lot_bigger_than_needed You have selected more quantity to withdraw than needed! Remove unnecessary quantity. - + validator.project_build.lot_smaller_than_needed You have selected less quantity to withdraw than needed for the build! Add additional quantity. - + part.name.must_match_category_regex The part name does not match the regular expression stated by the category: %regex% - + validator.attachment.name_not_blank Set a value here, or upload a file to automatically use its filename as name for the attachment. - + validator.part_lot.owner_must_match_storage_location_owner The owner of this lot must match the owner of the selected storage location (%owner_name%)! - + validator.part_lot.owner_must_not_be_anonymous A lot owner must not be the anonymous user! - + validator.part_association.must_set_an_value_if_type_is_other If you set the type to "other", then you have to set a descriptive value for it! - + validator.part_association.part_cannot_be_associated_with_itself A part can not be associated with itself! - + validator.part_association.already_exists The association with this part already exists! - + validator.part_lot.vendor_barcode_must_be_unique This vendor barcode value was already used in another lot. The barcode must be unique! - + validator.year_2038_bug_on_32bit Due to technical limitations, it is not possible to select dates after the 2038-01-19 on 32-bit systems! - + validator.invalid_range The given range is not valid! + + + validator.google_code.wrong_code + Invalid code. Check that your authenticator app is set up correctly and that both the server and authentication device has the time set correctly. + + From c27648b89b6281f702dc75f62226e5090d036108 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sun, 13 Oct 2024 20:40:16 +0200 Subject: [PATCH 056/287] New translations validators.en.xlf (English) --- translations/validators.en.xlf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translations/validators.en.xlf b/translations/validators.en.xlf index 5ba6b583..3e23ccac 100644 --- a/translations/validators.en.xlf +++ b/translations/validators.en.xlf @@ -354,7 +354,7 @@
- + validator.google_code.wrong_code Invalid code. Check that your authenticator app is set up correctly and that both the server and authentication device has the time set correctly. From 3d75bf5f9f1369cc39ae89136d77dbfa0a96311f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sun, 13 Oct 2024 20:46:12 +0200 Subject: [PATCH 057/287] Added translation for the confirmation code field in the authenticator app 2FA setup section --- src/Form/TFAGoogleSettingsType.php | 1 + translations/messages.en.xlf | 2874 ++++++++++++++-------------- 2 files changed, 1441 insertions(+), 1434 deletions(-) diff --git a/src/Form/TFAGoogleSettingsType.php b/src/Form/TFAGoogleSettingsType.php index aaa93e9e..7917f705 100644 --- a/src/Form/TFAGoogleSettingsType.php +++ b/src/Form/TFAGoogleSettingsType.php @@ -53,6 +53,7 @@ class TFAGoogleSettingsType extends AbstractType 'google_confirmation', TextType::class, [ + 'label' => 'tfa.check.code.confirmation', 'mapped' => false, 'attr' => [ 'maxlength' => '6', diff --git a/translations/messages.en.xlf b/translations/messages.en.xlf index e0a4b1d7..82c3003b 100644 --- a/translations/messages.en.xlf +++ b/translations/messages.en.xlf @@ -1,7 +1,7 @@ - + Part-DB1\templates\AdminPages\AttachmentTypeAdmin.html.twig:4 Part-DB1\templates\AdminPages\AttachmentTypeAdmin.html.twig:4 @@ -12,7 +12,7 @@ File types for attachments - + Part-DB1\templates\AdminPages\AttachmentTypeAdmin.html.twig:12 new @@ -22,7 +22,7 @@ Edit file type
- + Part-DB1\templates\AdminPages\AttachmentTypeAdmin.html.twig:16 new @@ -32,7 +32,7 @@ New file type
- + Part-DB1\templates\AdminPages\CategoryAdmin.html.twig:4 Part-DB1\templates\_sidebar.html.twig:22 @@ -51,7 +51,7 @@ Categories
- + Part-DB1\templates\AdminPages\CategoryAdmin.html.twig:8 Part-DB1\templates\AdminPages\StorelocationAdmin.html.twig:19 @@ -64,7 +64,7 @@ Options
- + Part-DB1\templates\AdminPages\CategoryAdmin.html.twig:9 Part-DB1\templates\AdminPages\CompanyAdminBase.html.twig:15 @@ -77,7 +77,7 @@ Advanced
- + Part-DB1\templates\AdminPages\CategoryAdmin.html.twig:13 new @@ -87,7 +87,7 @@ Edit category
- + Part-DB1\templates\AdminPages\CategoryAdmin.html.twig:17 new @@ -97,7 +97,7 @@ New category - + Part-DB1\templates\AdminPages\CurrencyAdmin.html.twig:4 Part-DB1\templates\AdminPages\CurrencyAdmin.html.twig:4 @@ -107,7 +107,7 @@ Currency - + Part-DB1\templates\AdminPages\CurrencyAdmin.html.twig:12 Part-DB1\templates\AdminPages\CurrencyAdmin.html.twig:12 @@ -117,7 +117,7 @@ ISO code - + Part-DB1\templates\AdminPages\CurrencyAdmin.html.twig:15 Part-DB1\templates\AdminPages\CurrencyAdmin.html.twig:15 @@ -127,7 +127,7 @@ Currency symbol - + Part-DB1\templates\AdminPages\CurrencyAdmin.html.twig:29 new @@ -137,7 +137,7 @@ Edit currency - + Part-DB1\templates\AdminPages\CurrencyAdmin.html.twig:33 new @@ -147,7 +147,7 @@ New currency - + Part-DB1\templates\AdminPages\DeviceAdmin.html.twig:4 Part-DB1\templates\AdminPages\DeviceAdmin.html.twig:4 @@ -158,7 +158,7 @@ Project - + Part-DB1\templates\AdminPages\DeviceAdmin.html.twig:8 new @@ -168,7 +168,7 @@ Edit project - + Part-DB1\templates\AdminPages\DeviceAdmin.html.twig:12 new @@ -178,7 +178,7 @@ New project - + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:19 Part-DB1\templates\_navbar_search.html.twig:67 @@ -201,7 +201,7 @@ Search - + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:23 Part-DB1\templates\_sidebar.html.twig:3 @@ -217,7 +217,7 @@ Expand All - + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:27 Part-DB1\templates\_sidebar.html.twig:4 @@ -233,7 +233,7 @@ Reduce All - + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:54 Part-DB1\templates\Parts\info\_sidebar.html.twig:4 @@ -242,10 +242,10 @@ part.info.timetravel_hint - This is how the part appeared before %timestamp%. <i>Please note that this feature is experimental, so the info may not be correct.</i> + Please note that this feature is experimental, so the info may not be correct.]]> - + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:60 Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:60 @@ -256,7 +256,7 @@ Properties - + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:61 Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:61 @@ -267,7 +267,7 @@ Info - + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:63 Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:63 @@ -278,7 +278,7 @@ History - + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:66 Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:66 @@ -289,7 +289,7 @@ Export - + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:68 Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:68 @@ -300,7 +300,7 @@ Import / Export - + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:69 Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:69 @@ -310,7 +310,7 @@ Mass creation - + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:82 Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:82 @@ -321,7 +321,7 @@ Common - + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:86 Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:86 @@ -331,7 +331,7 @@ Attachments - + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:90 @@ -340,7 +340,7 @@ Parameters - + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:179 Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:167 @@ -351,7 +351,7 @@ Export all elements - + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:185 Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:173 @@ -361,7 +361,7 @@ Each line will be interpreted as a name of an element, which will be created. You can create nested structures by indentations. - + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:45 Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:45 @@ -372,7 +372,7 @@ Edit element "%name" - + Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:50 Part-DB1\templates\AdminPages\EntityAdminBase.html.twig:50 @@ -383,7 +383,7 @@ New element - + Part-DB1\templates\AdminPages\FootprintAdmin.html.twig:4 Part-DB1\templates\_sidebar.html.twig:9 @@ -398,7 +398,7 @@ Footprints - + Part-DB1\templates\AdminPages\FootprintAdmin.html.twig:13 new @@ -408,7 +408,7 @@ Edit footprint - + Part-DB1\templates\AdminPages\FootprintAdmin.html.twig:17 new @@ -418,7 +418,7 @@ New footprint - + Part-DB1\templates\AdminPages\GroupAdmin.html.twig:4 Part-DB1\templates\AdminPages\GroupAdmin.html.twig:4 @@ -428,7 +428,7 @@ Groups - + Part-DB1\templates\AdminPages\GroupAdmin.html.twig:9 Part-DB1\templates\AdminPages\UserAdmin.html.twig:16 @@ -440,7 +440,7 @@ Permissions - + Part-DB1\templates\AdminPages\GroupAdmin.html.twig:24 new @@ -450,7 +450,7 @@ Edit group - + Part-DB1\templates\AdminPages\GroupAdmin.html.twig:28 new @@ -460,7 +460,7 @@ New group - + Part-DB1\templates\AdminPages\LabelProfileAdmin.html.twig:4 @@ -469,7 +469,7 @@ Label profiles - + Part-DB1\templates\AdminPages\LabelProfileAdmin.html.twig:8 @@ -478,7 +478,7 @@ Advanced - + Part-DB1\templates\AdminPages\LabelProfileAdmin.html.twig:9 @@ -487,7 +487,7 @@ Notes - + Part-DB1\templates\AdminPages\LabelProfileAdmin.html.twig:55 new @@ -497,7 +497,7 @@ Edit label profile - + Part-DB1\templates\AdminPages\LabelProfileAdmin.html.twig:59 new @@ -507,7 +507,7 @@ New label profile - + Part-DB1\templates\AdminPages\ManufacturerAdmin.html.twig:4 Part-DB1\templates\AdminPages\ManufacturerAdmin.html.twig:4 @@ -518,7 +518,7 @@ Manufacturers - + Part-DB1\templates\AdminPages\ManufacturerAdmin.html.twig:8 new @@ -528,7 +528,7 @@ Edit manufacturer - + Part-DB1\templates\AdminPages\ManufacturerAdmin.html.twig:12 new @@ -538,7 +538,7 @@ New manufacturer - + Part-DB1\templates\AdminPages\MeasurementUnitAdmin.html.twig:4 Part-DB1\templates\AdminPages\MeasurementUnitAdmin.html.twig:4 @@ -548,7 +548,7 @@ Measurement Unit - + Part-DB1\templates\AdminPages\StorelocationAdmin.html.twig:5 Part-DB1\templates\_sidebar.html.twig:8 @@ -563,7 +563,7 @@ Storage locations - + Part-DB1\templates\AdminPages\StorelocationAdmin.html.twig:32 new @@ -573,7 +573,7 @@ Edit storage location - + Part-DB1\templates\AdminPages\StorelocationAdmin.html.twig:36 new @@ -583,7 +583,7 @@ New storage location - + Part-DB1\templates\AdminPages\SupplierAdmin.html.twig:4 Part-DB1\templates\AdminPages\SupplierAdmin.html.twig:4 @@ -594,7 +594,7 @@ Suppliers - + Part-DB1\templates\AdminPages\SupplierAdmin.html.twig:16 new @@ -604,7 +604,7 @@ Edit supplier - + Part-DB1\templates\AdminPages\SupplierAdmin.html.twig:20 new @@ -614,7 +614,7 @@ New supplier - + Part-DB1\templates\AdminPages\UserAdmin.html.twig:8 Part-DB1\templates\AdminPages\UserAdmin.html.twig:8 @@ -624,7 +624,7 @@ Users - + Part-DB1\templates\AdminPages\UserAdmin.html.twig:14 Part-DB1\templates\AdminPages\UserAdmin.html.twig:14 @@ -634,7 +634,7 @@ Configuration - + Part-DB1\templates\AdminPages\UserAdmin.html.twig:15 Part-DB1\templates\AdminPages\UserAdmin.html.twig:15 @@ -644,7 +644,7 @@ Password - + Part-DB1\templates\AdminPages\UserAdmin.html.twig:45 Part-DB1\templates\AdminPages\UserAdmin.html.twig:45 @@ -654,7 +654,7 @@ Two-factor authentication - + Part-DB1\templates\AdminPages\UserAdmin.html.twig:47 Part-DB1\templates\AdminPages\UserAdmin.html.twig:47 @@ -664,7 +664,7 @@ Authenticator app active - + Part-DB1\templates\AdminPages\UserAdmin.html.twig:48 Part-DB1\templates\Users\backup_codes.html.twig:15 @@ -678,7 +678,7 @@ Remaining backup codes count - + Part-DB1\templates\AdminPages\UserAdmin.html.twig:49 Part-DB1\templates\Users\backup_codes.html.twig:17 @@ -692,7 +692,7 @@ Generation date of the backup codes - + Part-DB1\templates\AdminPages\UserAdmin.html.twig:53 Part-DB1\templates\AdminPages\UserAdmin.html.twig:60 @@ -704,7 +704,7 @@ Method not enabled - + Part-DB1\templates\AdminPages\UserAdmin.html.twig:56 Part-DB1\templates\AdminPages\UserAdmin.html.twig:56 @@ -714,7 +714,7 @@ Active security keys - + Part-DB1\templates\AdminPages\UserAdmin.html.twig:72 Part-DB1\templates\AdminPages\UserAdmin.html.twig:72 @@ -724,20 +724,20 @@ Do you really want to proceed? - + Part-DB1\templates\AdminPages\UserAdmin.html.twig:72 Part-DB1\templates\AdminPages\UserAdmin.html.twig:72 user.edit.tfa.disable_tfa_message - This will disable <b>all active two-factor authentication methods of the user</b> and delete the <b>backup codes</b>! -<br> -The user will have to set up all two-factor authentication methods again and print new backup codes! <br><br> -<b>Only do this if you are absolutely sure about the identity of the user (seeking help), otherwise the account could be compromised by an attacker!</b> + all active two-factor authentication methods of the user and delete the backup codes! +
+The user will have to set up all two-factor authentication methods again and print new backup codes!

+Only do this if you are absolutely sure about the identity of the user (seeking help), otherwise the account could be compromised by an attacker!]]>
- + Part-DB1\templates\AdminPages\UserAdmin.html.twig:73 Part-DB1\templates\AdminPages\UserAdmin.html.twig:73 @@ -747,7 +747,7 @@ The user will have to set up all two-factor authentication methods again and pri Disable all two-factor authentication methods - + Part-DB1\templates\AdminPages\UserAdmin.html.twig:85 new @@ -757,7 +757,7 @@ The user will have to set up all two-factor authentication methods again and pri Edit user - + Part-DB1\templates\AdminPages\UserAdmin.html.twig:89 new @@ -767,7 +767,7 @@ The user will have to set up all two-factor authentication methods again and pri New user - + Part-DB1\templates\AdminPages\_attachments.html.twig:4 Part-DB1\templates\Parts\edit\_attachments.html.twig:4 @@ -780,7 +780,7 @@ The user will have to set up all two-factor authentication methods again and pri Delete - + Part-DB1\templates\AdminPages\_attachments.html.twig:41 Part-DB1\templates\Parts\edit\_attachments.html.twig:38 @@ -794,7 +794,7 @@ The user will have to set up all two-factor authentication methods again and pri External - + Part-DB1\templates\AdminPages\_attachments.html.twig:49 Part-DB1\templates\Parts\edit\_attachments.html.twig:47 @@ -806,7 +806,7 @@ The user will have to set up all two-factor authentication methods again and pri Attachment thumbnail - + Part-DB1\templates\AdminPages\_attachments.html.twig:52 Part-DB1\templates\Parts\edit\_attachments.html.twig:50 @@ -820,7 +820,7 @@ The user will have to set up all two-factor authentication methods again and pri View - + Part-DB1\templates\AdminPages\_attachments.html.twig:58 Part-DB1\templates\Parts\edit\_attachments.html.twig:56 @@ -836,7 +836,7 @@ The user will have to set up all two-factor authentication methods again and pri File not found - + Part-DB1\templates\AdminPages\_attachments.html.twig:66 Part-DB1\templates\Parts\edit\_attachments.html.twig:64 @@ -848,7 +848,7 @@ The user will have to set up all two-factor authentication methods again and pri Private attachment - + Part-DB1\templates\AdminPages\_attachments.html.twig:79 Part-DB1\templates\Parts\edit\_attachments.html.twig:77 @@ -860,7 +860,7 @@ The user will have to set up all two-factor authentication methods again and pri Add attachment - + Part-DB1\templates\AdminPages\_attachments.html.twig:84 Part-DB1\templates\Parts\edit\_attachments.html.twig:82 @@ -874,7 +874,7 @@ The user will have to set up all two-factor authentication methods again and pri Do you really want to delete this stock? This can not be undone! - + Part-DB1\templates\AdminPages\_delete_form.html.twig:2 Part-DB1\templates\AdminPages\_delete_form.html.twig:2 @@ -885,7 +885,7 @@ The user will have to set up all two-factor authentication methods again and pri You really want to delete %name%? - + Part-DB1\templates\AdminPages\_delete_form.html.twig:3 Part-DB1\templates\AdminPages\_delete_form.html.twig:3 @@ -893,12 +893,12 @@ The user will have to set up all two-factor authentication methods again and pri entity.delete.message - This can not be undone! -<br> -Sub elements will be moved upwards. + +Sub elements will be moved upwards.]]> - + Part-DB1\templates\AdminPages\_delete_form.html.twig:11 Part-DB1\templates\AdminPages\_delete_form.html.twig:11 @@ -909,7 +909,7 @@ Sub elements will be moved upwards. Delete element - + Part-DB1\templates\AdminPages\_delete_form.html.twig:16 Part-DB1\templates\Parts\info\_tools.html.twig:45 @@ -924,7 +924,7 @@ Sub elements will be moved upwards. Change comment - + Part-DB1\templates\AdminPages\_delete_form.html.twig:24 Part-DB1\templates\AdminPages\_delete_form.html.twig:24 @@ -935,7 +935,7 @@ Sub elements will be moved upwards. Delete recursive (all sub elements) - + Part-DB1\templates\AdminPages\_duplicate.html.twig:3 @@ -944,7 +944,7 @@ Sub elements will be moved upwards. Duplicate element - + Part-DB1\templates\AdminPages\_export_form.html.twig:4 Part-DB1\src\Form\AdminPages\ImportType.php:76 @@ -958,7 +958,7 @@ Sub elements will be moved upwards. File format - + Part-DB1\templates\AdminPages\_export_form.html.twig:16 Part-DB1\templates\AdminPages\_export_form.html.twig:16 @@ -969,7 +969,7 @@ Sub elements will be moved upwards. Verbosity level - + Part-DB1\templates\AdminPages\_export_form.html.twig:19 Part-DB1\templates\AdminPages\_export_form.html.twig:19 @@ -980,7 +980,7 @@ Sub elements will be moved upwards. Simple - + Part-DB1\templates\AdminPages\_export_form.html.twig:20 Part-DB1\templates\AdminPages\_export_form.html.twig:20 @@ -991,7 +991,7 @@ Sub elements will be moved upwards. Extended - + Part-DB1\templates\AdminPages\_export_form.html.twig:21 Part-DB1\templates\AdminPages\_export_form.html.twig:21 @@ -1002,7 +1002,7 @@ Sub elements will be moved upwards. Full - + Part-DB1\templates\AdminPages\_export_form.html.twig:31 Part-DB1\templates\AdminPages\_export_form.html.twig:31 @@ -1013,7 +1013,7 @@ Sub elements will be moved upwards. Include children elements in export - + Part-DB1\templates\AdminPages\_export_form.html.twig:39 Part-DB1\templates\AdminPages\_export_form.html.twig:39 @@ -1024,7 +1024,7 @@ Sub elements will be moved upwards. Export - + Part-DB1\templates\AdminPages\_info.html.twig:4 Part-DB1\templates\Parts\edit\edit_part_info.html.twig:12 @@ -1043,7 +1043,7 @@ Sub elements will be moved upwards. ID - + Part-DB1\templates\AdminPages\_info.html.twig:11 Part-DB1\templates\Parts\info\_attachments_info.html.twig:76 @@ -1067,7 +1067,7 @@ Sub elements will be moved upwards. Created At - + Part-DB1\templates\AdminPages\_info.html.twig:25 Part-DB1\templates\Parts\info\_extended_infos.html.twig:21 @@ -1085,7 +1085,7 @@ Sub elements will be moved upwards. Last modified - + Part-DB1\templates\AdminPages\_info.html.twig:38 Part-DB1\templates\AdminPages\_info.html.twig:38 @@ -1095,7 +1095,7 @@ Sub elements will be moved upwards. Number of parts with this element - + Part-DB1\templates\AdminPages\_parameters.html.twig:6 Part-DB1\templates\helper.twig:125 @@ -1106,7 +1106,7 @@ Sub elements will be moved upwards. Parameter - + Part-DB1\templates\AdminPages\_parameters.html.twig:7 Part-DB1\templates\Parts\edit\_specifications.html.twig:7 @@ -1116,7 +1116,7 @@ Sub elements will be moved upwards. Symbol - + Part-DB1\templates\AdminPages\_parameters.html.twig:8 Part-DB1\templates\Parts\edit\_specifications.html.twig:8 @@ -1126,7 +1126,7 @@ Sub elements will be moved upwards. Min. - + Part-DB1\templates\AdminPages\_parameters.html.twig:9 Part-DB1\templates\Parts\edit\_specifications.html.twig:9 @@ -1136,7 +1136,7 @@ Sub elements will be moved upwards. Typ. - + Part-DB1\templates\AdminPages\_parameters.html.twig:10 Part-DB1\templates\Parts\edit\_specifications.html.twig:10 @@ -1146,7 +1146,7 @@ Sub elements will be moved upwards. Max. - + Part-DB1\templates\AdminPages\_parameters.html.twig:11 Part-DB1\templates\Parts\edit\_specifications.html.twig:11 @@ -1156,7 +1156,7 @@ Sub elements will be moved upwards. Unit - + Part-DB1\templates\AdminPages\_parameters.html.twig:12 Part-DB1\templates\Parts\edit\_specifications.html.twig:12 @@ -1166,7 +1166,7 @@ Sub elements will be moved upwards. Text - + Part-DB1\templates\AdminPages\_parameters.html.twig:13 Part-DB1\templates\Parts\edit\_specifications.html.twig:13 @@ -1176,7 +1176,7 @@ Sub elements will be moved upwards. Group - + Part-DB1\templates\AdminPages\_parameters.html.twig:26 Part-DB1\templates\Parts\edit\_specifications.html.twig:26 @@ -1186,7 +1186,7 @@ Sub elements will be moved upwards. New Parameter - + Part-DB1\templates\AdminPages\_parameters.html.twig:31 Part-DB1\templates\Parts\edit\_specifications.html.twig:31 @@ -1196,7 +1196,7 @@ Sub elements will be moved upwards. Do you really want to delete this parameter? - + Part-DB1\templates\attachment_list.html.twig:3 Part-DB1\templates\attachment_list.html.twig:3 @@ -1206,7 +1206,7 @@ Sub elements will be moved upwards. Attachments list - + Part-DB1\templates\attachment_list.html.twig:10 Part-DB1\templates\LogSystem\_log_table.html.twig:8 @@ -1220,7 +1220,7 @@ Sub elements will be moved upwards. Loading - + Part-DB1\templates\attachment_list.html.twig:11 Part-DB1\templates\LogSystem\_log_table.html.twig:9 @@ -1234,7 +1234,7 @@ Sub elements will be moved upwards. This can take a moment. If this message do not disappear, try to reload the page. - + Part-DB1\templates\base.html.twig:68 Part-DB1\templates\base.html.twig:68 @@ -1245,7 +1245,7 @@ Sub elements will be moved upwards. Please activate Javascript to use all features! - + Part-DB1\templates\base.html.twig:73 Part-DB1\templates\base.html.twig:73 @@ -1255,7 +1255,7 @@ Sub elements will be moved upwards. Show/Hide sidebar - + Part-DB1\templates\base.html.twig:95 Part-DB1\templates\base.html.twig:95 @@ -1266,7 +1266,7 @@ Sub elements will be moved upwards. Loading: - + Part-DB1\templates\base.html.twig:96 Part-DB1\templates\base.html.twig:96 @@ -1277,7 +1277,7 @@ Sub elements will be moved upwards. This can take a while. If this messages stays for a long time, try to reload the page. - + Part-DB1\templates\base.html.twig:101 Part-DB1\templates\base.html.twig:101 @@ -1288,7 +1288,7 @@ Sub elements will be moved upwards. Loading... - + Part-DB1\templates\base.html.twig:112 Part-DB1\templates\base.html.twig:112 @@ -1299,7 +1299,7 @@ Sub elements will be moved upwards. Back to page's top - + Part-DB1\templates\Form\permissionLayout.html.twig:35 Part-DB1\templates\Form\permissionLayout.html.twig:35 @@ -1309,7 +1309,7 @@ Sub elements will be moved upwards. Permissions - + Part-DB1\templates\Form\permissionLayout.html.twig:36 Part-DB1\templates\Form\permissionLayout.html.twig:36 @@ -1319,7 +1319,7 @@ Sub elements will be moved upwards. Value - + Part-DB1\templates\Form\permissionLayout.html.twig:53 Part-DB1\templates\Form\permissionLayout.html.twig:53 @@ -1329,7 +1329,7 @@ Sub elements will be moved upwards. Explanation of the states - + Part-DB1\templates\Form\permissionLayout.html.twig:57 Part-DB1\templates\Form\permissionLayout.html.twig:57 @@ -1339,7 +1339,7 @@ Sub elements will be moved upwards. Forbidden - + Part-DB1\templates\Form\permissionLayout.html.twig:61 Part-DB1\templates\Form\permissionLayout.html.twig:61 @@ -1349,7 +1349,7 @@ Sub elements will be moved upwards. Allowed - + Part-DB1\templates\Form\permissionLayout.html.twig:65 Part-DB1\templates\Form\permissionLayout.html.twig:65 @@ -1359,7 +1359,7 @@ Sub elements will be moved upwards. Inherit from (parent) group - + Part-DB1\templates\helper.twig:3 Part-DB1\templates\helper.twig:3 @@ -1369,7 +1369,7 @@ Sub elements will be moved upwards. True - + Part-DB1\templates\helper.twig:5 Part-DB1\templates\helper.twig:5 @@ -1379,7 +1379,7 @@ Sub elements will be moved upwards. False - + Part-DB1\templates\helper.twig:92 Part-DB1\templates\helper.twig:87 @@ -1389,7 +1389,7 @@ Sub elements will be moved upwards. Yes - + Part-DB1\templates\helper.twig:94 Part-DB1\templates\helper.twig:89 @@ -1399,7 +1399,7 @@ Sub elements will be moved upwards. No - + Part-DB1\templates\helper.twig:126 @@ -1408,7 +1408,7 @@ Sub elements will be moved upwards. Value - + Part-DB1\templates\homepage.html.twig:7 Part-DB1\templates\homepage.html.twig:7 @@ -1419,7 +1419,7 @@ Sub elements will be moved upwards. Version - + Part-DB1\templates\homepage.html.twig:22 Part-DB1\templates\homepage.html.twig:22 @@ -1430,7 +1430,7 @@ Sub elements will be moved upwards. License information - + Part-DB1\templates\homepage.html.twig:31 Part-DB1\templates\homepage.html.twig:31 @@ -1441,7 +1441,7 @@ Sub elements will be moved upwards. Project page - + Part-DB1\templates\homepage.html.twig:31 Part-DB1\templates\homepage.html.twig:31 @@ -1449,10 +1449,10 @@ Sub elements will be moved upwards. homepage.github.text - Source, downloads, bug reports, to-do-list etc. can be found on <a href="%href%" class="link-external" target="_blank">GitHub project page</a> + GitHub project page]]> - + Part-DB1\templates\homepage.html.twig:32 Part-DB1\templates\homepage.html.twig:32 @@ -1463,7 +1463,7 @@ Sub elements will be moved upwards. Help - + Part-DB1\templates\homepage.html.twig:32 Part-DB1\templates\homepage.html.twig:32 @@ -1471,10 +1471,10 @@ Sub elements will be moved upwards. homepage.help.text - Help and tips can be found in Wiki the <a href="%href%" class="link-external" target="_blank">GitHub page</a> + GitHub page]]> - + Part-DB1\templates\homepage.html.twig:33 Part-DB1\templates\homepage.html.twig:33 @@ -1485,7 +1485,7 @@ Sub elements will be moved upwards. Forum - + Part-DB1\templates\homepage.html.twig:45 Part-DB1\templates\homepage.html.twig:45 @@ -1496,7 +1496,7 @@ Sub elements will be moved upwards. Last activity - + Part-DB1\templates\LabelSystem\dialog.html.twig:3 Part-DB1\templates\LabelSystem\dialog.html.twig:6 @@ -1506,7 +1506,7 @@ Sub elements will be moved upwards. Label generator - + Part-DB1\templates\LabelSystem\dialog.html.twig:16 @@ -1515,7 +1515,7 @@ Sub elements will be moved upwards. Common - + Part-DB1\templates\LabelSystem\dialog.html.twig:20 @@ -1524,7 +1524,7 @@ Sub elements will be moved upwards. Advanced - + Part-DB1\templates\LabelSystem\dialog.html.twig:24 @@ -1533,7 +1533,7 @@ Sub elements will be moved upwards. Profiles - + Part-DB1\templates\LabelSystem\dialog.html.twig:58 @@ -1542,7 +1542,7 @@ Sub elements will be moved upwards. Currently selected profile - + Part-DB1\templates\LabelSystem\dialog.html.twig:62 @@ -1551,7 +1551,7 @@ Sub elements will be moved upwards. Edit profile - + Part-DB1\templates\LabelSystem\dialog.html.twig:75 @@ -1560,7 +1560,7 @@ Sub elements will be moved upwards. Load profile - + Part-DB1\templates\LabelSystem\dialog.html.twig:102 @@ -1569,7 +1569,7 @@ Sub elements will be moved upwards. Download - + Part-DB1\templates\LabelSystem\dropdown_macro.html.twig:3 Part-DB1\templates\LabelSystem\dropdown_macro.html.twig:5 @@ -1579,7 +1579,7 @@ Sub elements will be moved upwards. Generate label - + Part-DB1\templates\LabelSystem\dropdown_macro.html.twig:20 @@ -1588,7 +1588,7 @@ Sub elements will be moved upwards. New empty label - + Part-DB1\templates\LabelSystem\Scanner\dialog.html.twig:3 @@ -1597,7 +1597,7 @@ Sub elements will be moved upwards. Label scanner - + Part-DB1\templates\LabelSystem\Scanner\dialog.html.twig:7 @@ -1606,7 +1606,7 @@ Sub elements will be moved upwards. No webcam found - + Part-DB1\templates\LabelSystem\Scanner\dialog.html.twig:7 @@ -1615,7 +1615,7 @@ Sub elements will be moved upwards. You need a webcam and give permission to use the scanner function. You can input the barcode code manually below. - + Part-DB1\templates\LabelSystem\Scanner\dialog.html.twig:27 @@ -1624,7 +1624,7 @@ Sub elements will be moved upwards. Select source - + Part-DB1\templates\LogSystem\log_list.html.twig:3 Part-DB1\templates\LogSystem\log_list.html.twig:3 @@ -1634,7 +1634,7 @@ Sub elements will be moved upwards. System log - + Part-DB1\templates\LogSystem\_log_table.html.twig:1 Part-DB1\templates\LogSystem\_log_table.html.twig:1 @@ -1645,7 +1645,7 @@ Sub elements will be moved upwards. Really undo change / revert to timestamp? - + Part-DB1\templates\LogSystem\_log_table.html.twig:2 Part-DB1\templates\LogSystem\_log_table.html.twig:2 @@ -1656,7 +1656,7 @@ Sub elements will be moved upwards. Do you really want to undo the given change / reset the element to the given timestamp? - + Part-DB1\templates\mail\base.html.twig:24 Part-DB1\templates\mail\base.html.twig:24 @@ -1666,7 +1666,7 @@ Sub elements will be moved upwards. This email was sent automatically by - + Part-DB1\templates\mail\base.html.twig:24 Part-DB1\templates\mail\base.html.twig:24 @@ -1676,7 +1676,7 @@ Sub elements will be moved upwards. Do not answer to this email. - + Part-DB1\templates\mail\pw_reset.html.twig:6 Part-DB1\templates\mail\pw_reset.html.twig:6 @@ -1686,7 +1686,7 @@ Sub elements will be moved upwards. Hi %name% - + Part-DB1\templates\mail\pw_reset.html.twig:7 Part-DB1\templates\mail\pw_reset.html.twig:7 @@ -1696,7 +1696,7 @@ Sub elements will be moved upwards. somebody (hopefully you) requested a reset of your password. If this request was not made by you, ignore this mail. - + Part-DB1\templates\mail\pw_reset.html.twig:9 Part-DB1\templates\mail\pw_reset.html.twig:9 @@ -1706,17 +1706,17 @@ Sub elements will be moved upwards. Click here to reset password - + Part-DB1\templates\mail\pw_reset.html.twig:11 Part-DB1\templates\mail\pw_reset.html.twig:11 email.pw_reset.fallback - If this does not work for you, go to <a href="%url%">%url%</a> and enter the following info + %url% and enter the following info]]> - + Part-DB1\templates\mail\pw_reset.html.twig:16 Part-DB1\templates\mail\pw_reset.html.twig:16 @@ -1726,7 +1726,7 @@ Sub elements will be moved upwards. Username - + Part-DB1\templates\mail\pw_reset.html.twig:19 Part-DB1\templates\mail\pw_reset.html.twig:19 @@ -1736,17 +1736,17 @@ Sub elements will be moved upwards. Token - + Part-DB1\templates\mail\pw_reset.html.twig:24 Part-DB1\templates\mail\pw_reset.html.twig:24 email.pw_reset.valid_unit %date% - The reset token will be valid until <i>%date%</i>. + %date%.]]> - + Part-DB1\templates\Parts\edit\edit_form_styles.html.twig:18 Part-DB1\templates\Parts\edit\edit_form_styles.html.twig:58 @@ -1758,7 +1758,7 @@ Sub elements will be moved upwards. Delete - + Part-DB1\templates\Parts\edit\edit_form_styles.html.twig:39 Part-DB1\templates\Parts\edit\edit_form_styles.html.twig:39 @@ -1768,7 +1768,7 @@ Sub elements will be moved upwards. Minimum discount quantity - + Part-DB1\templates\Parts\edit\edit_form_styles.html.twig:40 Part-DB1\templates\Parts\edit\edit_form_styles.html.twig:40 @@ -1778,7 +1778,7 @@ Sub elements will be moved upwards. Price - + Part-DB1\templates\Parts\edit\edit_form_styles.html.twig:41 Part-DB1\templates\Parts\edit\edit_form_styles.html.twig:41 @@ -1788,7 +1788,7 @@ Sub elements will be moved upwards. for amount - + Part-DB1\templates\Parts\edit\edit_form_styles.html.twig:54 Part-DB1\templates\Parts\edit\edit_form_styles.html.twig:54 @@ -1798,7 +1798,7 @@ Sub elements will be moved upwards. Add price - + Part-DB1\templates\Parts\edit\edit_part_info.html.twig:4 Part-DB1\templates\Parts\edit\edit_part_info.html.twig:4 @@ -1809,7 +1809,7 @@ Sub elements will be moved upwards. Edit part - + Part-DB1\templates\Parts\edit\edit_part_info.html.twig:9 Part-DB1\templates\Parts\edit\edit_part_info.html.twig:9 @@ -1820,7 +1820,7 @@ Sub elements will be moved upwards. Edit part - + Part-DB1\templates\Parts\edit\edit_part_info.html.twig:22 Part-DB1\templates\Parts\edit\edit_part_info.html.twig:22 @@ -1830,7 +1830,7 @@ Sub elements will be moved upwards. Common - + Part-DB1\templates\Parts\edit\edit_part_info.html.twig:28 Part-DB1\templates\Parts\edit\edit_part_info.html.twig:28 @@ -1840,7 +1840,7 @@ Sub elements will be moved upwards. Manufacturer - + Part-DB1\templates\Parts\edit\edit_part_info.html.twig:34 Part-DB1\templates\Parts\edit\edit_part_info.html.twig:34 @@ -1850,7 +1850,7 @@ Sub elements will be moved upwards. Advanced - + Part-DB1\templates\Parts\edit\edit_part_info.html.twig:40 Part-DB1\templates\Parts\edit\edit_part_info.html.twig:40 @@ -1860,7 +1860,7 @@ Sub elements will be moved upwards. Stocks - + Part-DB1\templates\Parts\edit\edit_part_info.html.twig:46 Part-DB1\templates\Parts\edit\edit_part_info.html.twig:46 @@ -1870,7 +1870,7 @@ Sub elements will be moved upwards. Attachments - + Part-DB1\templates\Parts\edit\edit_part_info.html.twig:52 Part-DB1\templates\Parts\edit\edit_part_info.html.twig:52 @@ -1880,7 +1880,7 @@ Sub elements will be moved upwards. Purchase information - + Part-DB1\templates\Parts\edit\edit_part_info.html.twig:58 @@ -1889,7 +1889,7 @@ Sub elements will be moved upwards. Parameters - + Part-DB1\templates\Parts\edit\edit_part_info.html.twig:64 Part-DB1\templates\Parts\edit\edit_part_info.html.twig:58 @@ -1899,7 +1899,7 @@ Sub elements will be moved upwards. Notes - + Part-DB1\templates\Parts\edit\new_part.html.twig:8 Part-DB1\templates\Parts\edit\new_part.html.twig:8 @@ -1910,7 +1910,7 @@ Sub elements will be moved upwards. Create new part - + Part-DB1\templates\Parts\edit\_lots.html.twig:5 Part-DB1\templates\Parts\edit\_lots.html.twig:5 @@ -1920,7 +1920,7 @@ Sub elements will be moved upwards. Delete - + Part-DB1\templates\Parts\edit\_lots.html.twig:28 Part-DB1\templates\Parts\edit\_lots.html.twig:28 @@ -1930,7 +1930,7 @@ Sub elements will be moved upwards. Add stock - + Part-DB1\templates\Parts\edit\_orderdetails.html.twig:13 Part-DB1\templates\Parts\edit\_orderdetails.html.twig:13 @@ -1940,7 +1940,7 @@ Sub elements will be moved upwards. Add distributor - + Part-DB1\templates\Parts\edit\_orderdetails.html.twig:18 Part-DB1\templates\Parts\edit\_orderdetails.html.twig:18 @@ -1950,7 +1950,7 @@ Sub elements will be moved upwards. Do you really want to delete this price? This can not be undone. - + Part-DB1\templates\Parts\edit\_orderdetails.html.twig:62 Part-DB1\templates\Parts\edit\_orderdetails.html.twig:61 @@ -1960,7 +1960,7 @@ Sub elements will be moved upwards. Do you really want to delete this distributor info? This can not be undone! - + Part-DB1\templates\Parts\info\show_part_info.html.twig:4 Part-DB1\templates\Parts\info\show_part_info.html.twig:19 @@ -1974,7 +1974,7 @@ Sub elements will be moved upwards. Detail info for part - + Part-DB1\templates\Parts\info\show_part_info.html.twig:47 Part-DB1\templates\Parts\info\show_part_info.html.twig:47 @@ -1984,7 +1984,7 @@ Sub elements will be moved upwards. Stocks - + Part-DB1\templates\Parts\info\show_part_info.html.twig:56 Part-DB1\templates\Parts\lists\_info_card.html.twig:43 @@ -1999,7 +1999,7 @@ Sub elements will be moved upwards. Notes - + Part-DB1\templates\Parts\info\show_part_info.html.twig:64 @@ -2008,7 +2008,7 @@ Sub elements will be moved upwards. Parameters - + Part-DB1\templates\Parts\info\show_part_info.html.twig:74 Part-DB1\templates\Parts\info\show_part_info.html.twig:64 @@ -2019,7 +2019,7 @@ Sub elements will be moved upwards. Attachments - + Part-DB1\templates\Parts\info\show_part_info.html.twig:83 Part-DB1\templates\Parts\info\show_part_info.html.twig:71 @@ -2030,7 +2030,7 @@ Sub elements will be moved upwards. Shopping information - + Part-DB1\templates\Parts\info\show_part_info.html.twig:91 Part-DB1\templates\Parts\info\show_part_info.html.twig:78 @@ -2041,7 +2041,7 @@ Sub elements will be moved upwards. History - + Part-DB1\templates\Parts\info\show_part_info.html.twig:97 Part-DB1\templates\_sidebar.html.twig:54 @@ -2060,7 +2060,7 @@ Sub elements will be moved upwards. Tools - + Part-DB1\templates\Parts\info\show_part_info.html.twig:103 Part-DB1\templates\Parts\info\show_part_info.html.twig:90 @@ -2070,7 +2070,7 @@ Sub elements will be moved upwards. Extended info - + Part-DB1\templates\Parts\info\_attachments_info.html.twig:7 Part-DB1\templates\Parts\info\_attachments_info.html.twig:7 @@ -2080,7 +2080,7 @@ Sub elements will be moved upwards. Name - + Part-DB1\templates\Parts\info\_attachments_info.html.twig:8 Part-DB1\templates\Parts\info\_attachments_info.html.twig:8 @@ -2090,7 +2090,7 @@ Sub elements will be moved upwards. Attachment Type - + Part-DB1\templates\Parts\info\_attachments_info.html.twig:9 Part-DB1\templates\Parts\info\_attachments_info.html.twig:9 @@ -2100,7 +2100,7 @@ Sub elements will be moved upwards. File name - + Part-DB1\templates\Parts\info\_attachments_info.html.twig:10 Part-DB1\templates\Parts\info\_attachments_info.html.twig:10 @@ -2110,7 +2110,7 @@ Sub elements will be moved upwards. File size - + Part-DB1\templates\Parts\info\_attachments_info.html.twig:54 @@ -2119,7 +2119,7 @@ Sub elements will be moved upwards. Preview picture - + Part-DB1\templates\Parts\info\_attachments_info.html.twig:67 Part-DB1\templates\Parts\info\_attachments_info.html.twig:50 @@ -2129,7 +2129,7 @@ Sub elements will be moved upwards. Download - + Part-DB1\templates\Parts\info\_extended_infos.html.twig:11 Part-DB1\templates\Parts\info\_extended_infos.html.twig:11 @@ -2140,7 +2140,7 @@ Sub elements will be moved upwards. User who created this part - + Part-DB1\templates\Parts\info\_extended_infos.html.twig:13 Part-DB1\templates\Parts\info\_extended_infos.html.twig:28 @@ -2154,7 +2154,7 @@ Sub elements will be moved upwards. Unknown - + Part-DB1\templates\Parts\info\_extended_infos.html.twig:15 Part-DB1\templates\Parts\info\_extended_infos.html.twig:30 @@ -2167,7 +2167,7 @@ Sub elements will be moved upwards. Access Denied - + Part-DB1\templates\Parts\info\_extended_infos.html.twig:26 Part-DB1\templates\Parts\info\_extended_infos.html.twig:26 @@ -2178,7 +2178,7 @@ Sub elements will be moved upwards. User who edited this part last - + Part-DB1\templates\Parts\info\_extended_infos.html.twig:41 Part-DB1\templates\Parts\info\_extended_infos.html.twig:41 @@ -2188,7 +2188,7 @@ Sub elements will be moved upwards. Favorite - + Part-DB1\templates\Parts\info\_extended_infos.html.twig:46 Part-DB1\templates\Parts\info\_extended_infos.html.twig:46 @@ -2198,7 +2198,7 @@ Sub elements will be moved upwards. Minimum order amount - + Part-DB1\templates\Parts\info\_main_infos.html.twig:8 Part-DB1\templates\_navbar_search.html.twig:46 @@ -2215,7 +2215,7 @@ Sub elements will be moved upwards. Manufacturer - + Part-DB1\templates\Parts\info\_main_infos.html.twig:24 Part-DB1\templates\_navbar_search.html.twig:11 @@ -2227,7 +2227,7 @@ Sub elements will be moved upwards. Name - + Part-DB1\templates\Parts\info\_main_infos.html.twig:27 Part-DB1\templates\Parts\info\_main_infos.html.twig:27 @@ -2238,7 +2238,7 @@ Sub elements will be moved upwards. Back to current version - + Part-DB1\templates\Parts\info\_main_infos.html.twig:32 Part-DB1\templates\_navbar_search.html.twig:19 @@ -2253,7 +2253,7 @@ Sub elements will be moved upwards. Description - + Part-DB1\templates\Parts\info\_main_infos.html.twig:34 Part-DB1\templates\_navbar_search.html.twig:15 @@ -2270,7 +2270,7 @@ Sub elements will be moved upwards. Category - + Part-DB1\templates\Parts\info\_main_infos.html.twig:39 Part-DB1\templates\Parts\info\_main_infos.html.twig:39 @@ -2282,7 +2282,7 @@ Sub elements will be moved upwards. Instock - + Part-DB1\templates\Parts\info\_main_infos.html.twig:41 Part-DB1\templates\Parts\info\_main_infos.html.twig:41 @@ -2294,7 +2294,7 @@ Sub elements will be moved upwards. Minimum Instock - + Part-DB1\templates\Parts\info\_main_infos.html.twig:45 Part-DB1\templates\_navbar_search.html.twig:52 @@ -2310,7 +2310,7 @@ Sub elements will be moved upwards. Footprint - + Part-DB1\templates\Parts\info\_main_infos.html.twig:56 Part-DB1\templates\Parts\info\_main_infos.html.twig:59 @@ -2323,7 +2323,7 @@ Sub elements will be moved upwards. Average Price - + Part-DB1\templates\Parts\info\_order_infos.html.twig:5 Part-DB1\templates\Parts\info\_order_infos.html.twig:5 @@ -2333,7 +2333,7 @@ Sub elements will be moved upwards. Name - + Part-DB1\templates\Parts\info\_order_infos.html.twig:6 Part-DB1\templates\Parts\info\_order_infos.html.twig:6 @@ -2343,7 +2343,7 @@ Sub elements will be moved upwards. Partnr. - + Part-DB1\templates\Parts\info\_order_infos.html.twig:28 Part-DB1\templates\Parts\info\_order_infos.html.twig:28 @@ -2353,7 +2353,7 @@ Sub elements will be moved upwards. Minimum amount - + Part-DB1\templates\Parts\info\_order_infos.html.twig:29 Part-DB1\templates\Parts\info\_order_infos.html.twig:29 @@ -2363,7 +2363,7 @@ Sub elements will be moved upwards. Price - + Part-DB1\templates\Parts\info\_order_infos.html.twig:31 Part-DB1\templates\Parts\info\_order_infos.html.twig:31 @@ -2373,7 +2373,7 @@ Sub elements will be moved upwards. Unit Price - + Part-DB1\templates\Parts\info\_order_infos.html.twig:71 Part-DB1\templates\Parts\info\_order_infos.html.twig:71 @@ -2383,7 +2383,7 @@ Sub elements will be moved upwards. Edit - + Part-DB1\templates\Parts\info\_order_infos.html.twig:72 Part-DB1\templates\Parts\info\_order_infos.html.twig:72 @@ -2393,7 +2393,7 @@ Sub elements will be moved upwards. Delete - + Part-DB1\templates\Parts\info\_part_lots.html.twig:7 Part-DB1\templates\Parts\info\_part_lots.html.twig:6 @@ -2403,7 +2403,7 @@ Sub elements will be moved upwards. Description - + Part-DB1\templates\Parts\info\_part_lots.html.twig:8 Part-DB1\templates\Parts\info\_part_lots.html.twig:7 @@ -2413,7 +2413,7 @@ Sub elements will be moved upwards. Storage location - + Part-DB1\templates\Parts\info\_part_lots.html.twig:9 Part-DB1\templates\Parts\info\_part_lots.html.twig:8 @@ -2423,7 +2423,7 @@ Sub elements will be moved upwards. Amount - + Part-DB1\templates\Parts\info\_part_lots.html.twig:24 Part-DB1\templates\Parts\info\_part_lots.html.twig:22 @@ -2433,7 +2433,7 @@ Sub elements will be moved upwards. Storage location unknown - + Part-DB1\templates\Parts\info\_part_lots.html.twig:31 Part-DB1\templates\Parts\info\_part_lots.html.twig:29 @@ -2443,7 +2443,7 @@ Sub elements will be moved upwards. Amount unknown - + Part-DB1\templates\Parts\info\_part_lots.html.twig:40 Part-DB1\templates\Parts\info\_part_lots.html.twig:38 @@ -2453,7 +2453,7 @@ Sub elements will be moved upwards. Expiration date - + Part-DB1\templates\Parts\info\_part_lots.html.twig:48 Part-DB1\templates\Parts\info\_part_lots.html.twig:46 @@ -2463,7 +2463,7 @@ Sub elements will be moved upwards. Expired - + Part-DB1\templates\Parts\info\_part_lots.html.twig:55 Part-DB1\templates\Parts\info\_part_lots.html.twig:53 @@ -2473,7 +2473,7 @@ Sub elements will be moved upwards. Needs refill - + Part-DB1\templates\Parts\info\_picture.html.twig:15 Part-DB1\templates\Parts\info\_picture.html.twig:15 @@ -2483,7 +2483,7 @@ Sub elements will be moved upwards. Previous picture - + Part-DB1\templates\Parts\info\_picture.html.twig:19 Part-DB1\templates\Parts\info\_picture.html.twig:19 @@ -2493,7 +2493,7 @@ Sub elements will be moved upwards. Next picture - + Part-DB1\templates\Parts\info\_sidebar.html.twig:21 Part-DB1\templates\Parts\info\_sidebar.html.twig:21 @@ -2503,7 +2503,7 @@ Sub elements will be moved upwards. Mass - + Part-DB1\templates\Parts\info\_sidebar.html.twig:30 Part-DB1\templates\Parts\info\_sidebar.html.twig:30 @@ -2513,7 +2513,7 @@ Sub elements will be moved upwards. Needs review - + Part-DB1\templates\Parts\info\_sidebar.html.twig:39 Part-DB1\templates\Parts\info\_sidebar.html.twig:39 @@ -2523,7 +2523,7 @@ Sub elements will be moved upwards. Favorite - + Part-DB1\templates\Parts\info\_sidebar.html.twig:47 Part-DB1\templates\Parts\info\_sidebar.html.twig:47 @@ -2533,7 +2533,7 @@ Sub elements will be moved upwards. No longer available - + Part-DB1\templates\Parts\info\_specifications.html.twig:10 @@ -2542,7 +2542,7 @@ Sub elements will be moved upwards. Automatically extracted from description - + Part-DB1\templates\Parts\info\_specifications.html.twig:15 @@ -2551,7 +2551,7 @@ Sub elements will be moved upwards. Automatically extracted from notes - + Part-DB1\templates\Parts\info\_tools.html.twig:6 Part-DB1\templates\Parts\info\_tools.html.twig:4 @@ -2562,7 +2562,7 @@ Sub elements will be moved upwards. Edit part - + Part-DB1\templates\Parts\info\_tools.html.twig:16 Part-DB1\templates\Parts\info\_tools.html.twig:14 @@ -2573,7 +2573,7 @@ Sub elements will be moved upwards. Clone part - + Part-DB1\templates\Parts\info\_tools.html.twig:24 Part-DB1\templates\Parts\lists\_action_bar.html.twig:4 @@ -2584,7 +2584,7 @@ Sub elements will be moved upwards. Create new part - + Part-DB1\templates\Parts\info\_tools.html.twig:31 Part-DB1\templates\Parts\info\_tools.html.twig:29 @@ -2594,7 +2594,7 @@ Sub elements will be moved upwards. Do you really want to delete this part? - + Part-DB1\templates\Parts\info\_tools.html.twig:32 Part-DB1\templates\Parts\info\_tools.html.twig:30 @@ -2604,7 +2604,7 @@ Sub elements will be moved upwards. This part and any associated information (like attachments, price information, etc.) will be deleted. This can not be undone! - + Part-DB1\templates\Parts\info\_tools.html.twig:39 Part-DB1\templates\Parts\info\_tools.html.twig:37 @@ -2614,7 +2614,7 @@ Sub elements will be moved upwards. Delete part - + Part-DB1\templates\Parts\lists\all_list.html.twig:4 Part-DB1\templates\Parts\lists\all_list.html.twig:4 @@ -2624,7 +2624,7 @@ Sub elements will be moved upwards. All parts - + Part-DB1\templates\Parts\lists\category_list.html.twig:4 Part-DB1\templates\Parts\lists\category_list.html.twig:4 @@ -2634,7 +2634,7 @@ Sub elements will be moved upwards. Parts with category - + Part-DB1\templates\Parts\lists\footprint_list.html.twig:4 Part-DB1\templates\Parts\lists\footprint_list.html.twig:4 @@ -2644,7 +2644,7 @@ Sub elements will be moved upwards. Parts with footprint - + Part-DB1\templates\Parts\lists\manufacturer_list.html.twig:4 Part-DB1\templates\Parts\lists\manufacturer_list.html.twig:4 @@ -2654,7 +2654,7 @@ Sub elements will be moved upwards. Parts with manufacturer - + Part-DB1\templates\Parts\lists\search_list.html.twig:4 Part-DB1\templates\Parts\lists\search_list.html.twig:4 @@ -2664,7 +2664,7 @@ Sub elements will be moved upwards. Search Parts - + Part-DB1\templates\Parts\lists\store_location_list.html.twig:4 Part-DB1\templates\Parts\lists\store_location_list.html.twig:4 @@ -2674,7 +2674,7 @@ Sub elements will be moved upwards. Parts with storage locations - + Part-DB1\templates\Parts\lists\supplier_list.html.twig:4 Part-DB1\templates\Parts\lists\supplier_list.html.twig:4 @@ -2684,7 +2684,7 @@ Sub elements will be moved upwards. Parts with supplier - + Part-DB1\templates\Parts\lists\tags_list.html.twig:4 Part-DB1\templates\Parts\lists\tags_list.html.twig:4 @@ -2694,7 +2694,7 @@ Sub elements will be moved upwards. Parts with tag - + Part-DB1\templates\Parts\lists\_info_card.html.twig:22 Part-DB1\templates\Parts\lists\_info_card.html.twig:17 @@ -2704,7 +2704,7 @@ Sub elements will be moved upwards. Common - + Part-DB1\templates\Parts\lists\_info_card.html.twig:26 Part-DB1\templates\Parts\lists\_info_card.html.twig:20 @@ -2714,7 +2714,7 @@ Sub elements will be moved upwards. Statistics - + Part-DB1\templates\Parts\lists\_info_card.html.twig:31 @@ -2723,7 +2723,7 @@ Sub elements will be moved upwards. Attachments - + Part-DB1\templates\Parts\lists\_info_card.html.twig:37 @@ -2732,7 +2732,7 @@ Sub elements will be moved upwards. Parameters - + Part-DB1\templates\Parts\lists\_info_card.html.twig:54 Part-DB1\templates\Parts\lists\_info_card.html.twig:30 @@ -2742,7 +2742,7 @@ Sub elements will be moved upwards. Name - + Part-DB1\templates\Parts\lists\_info_card.html.twig:58 Part-DB1\templates\Parts\lists\_info_card.html.twig:96 @@ -2754,7 +2754,7 @@ Sub elements will be moved upwards. Parent - + Part-DB1\templates\Parts\lists\_info_card.html.twig:70 Part-DB1\templates\Parts\lists\_info_card.html.twig:46 @@ -2764,7 +2764,7 @@ Sub elements will be moved upwards. Edit - + Part-DB1\templates\Parts\lists\_info_card.html.twig:92 Part-DB1\templates\Parts\lists\_info_card.html.twig:63 @@ -2774,7 +2774,7 @@ Sub elements will be moved upwards. Count of children elements - + Part-DB1\templates\security\2fa_base_form.html.twig:3 Part-DB1\templates\security\2fa_base_form.html.twig:5 @@ -2786,7 +2786,7 @@ Sub elements will be moved upwards. Two-factor authentication needed - + Part-DB1\templates\security\2fa_base_form.html.twig:39 Part-DB1\templates\security\2fa_base_form.html.twig:39 @@ -2796,7 +2796,7 @@ Sub elements will be moved upwards. This is a trusted computer (if this is enabled, no further two-factor queries are performed on this computer) - + Part-DB1\templates\security\2fa_base_form.html.twig:52 Part-DB1\templates\security\login.html.twig:58 @@ -2808,7 +2808,7 @@ Sub elements will be moved upwards. Login - + Part-DB1\templates\security\2fa_base_form.html.twig:53 Part-DB1\templates\security\U2F\u2f_login.html.twig:13 @@ -2822,7 +2822,7 @@ Sub elements will be moved upwards. Logout - + Part-DB1\templates\security\2fa_form.html.twig:6 Part-DB1\templates\security\2fa_form.html.twig:6 @@ -2832,7 +2832,7 @@ Sub elements will be moved upwards. Authenticator app code - + Part-DB1\templates\security\2fa_form.html.twig:10 Part-DB1\templates\security\2fa_form.html.twig:10 @@ -2842,7 +2842,7 @@ Sub elements will be moved upwards. Enter the 6-digit code from your Authenticator app or one of your backup codes if the Authenticator is not available. - + Part-DB1\templates\security\login.html.twig:3 Part-DB1\templates\security\login.html.twig:3 @@ -2853,7 +2853,7 @@ Sub elements will be moved upwards. Login - + Part-DB1\templates\security\login.html.twig:7 Part-DB1\templates\security\login.html.twig:7 @@ -2864,7 +2864,7 @@ Sub elements will be moved upwards. Login - + Part-DB1\templates\security\login.html.twig:31 Part-DB1\templates\security\login.html.twig:31 @@ -2875,7 +2875,7 @@ Sub elements will be moved upwards. Username - + Part-DB1\templates\security\login.html.twig:34 Part-DB1\templates\security\login.html.twig:34 @@ -2886,7 +2886,7 @@ Sub elements will be moved upwards. Username - + Part-DB1\templates\security\login.html.twig:38 Part-DB1\templates\security\login.html.twig:38 @@ -2897,7 +2897,7 @@ Sub elements will be moved upwards. Password - + Part-DB1\templates\security\login.html.twig:40 Part-DB1\templates\security\login.html.twig:40 @@ -2908,7 +2908,7 @@ Sub elements will be moved upwards. Password - + Part-DB1\templates\security\login.html.twig:50 Part-DB1\templates\security\login.html.twig:50 @@ -2919,7 +2919,7 @@ Sub elements will be moved upwards. Remember me (should not be used on shared computers) - + Part-DB1\templates\security\login.html.twig:64 Part-DB1\templates\security\login.html.twig:64 @@ -2929,7 +2929,7 @@ Sub elements will be moved upwards. Forgot username/password? - + Part-DB1\templates\security\pw_reset_new_pw.html.twig:5 Part-DB1\templates\security\pw_reset_new_pw.html.twig:5 @@ -2939,7 +2939,7 @@ Sub elements will be moved upwards. Set new password - + Part-DB1\templates\security\pw_reset_request.html.twig:5 Part-DB1\templates\security\pw_reset_request.html.twig:5 @@ -2949,7 +2949,7 @@ Sub elements will be moved upwards. Request a new password - + Part-DB1\templates\security\U2F\u2f_login.html.twig:7 Part-DB1\templates\security\U2F\u2f_register.html.twig:10 @@ -2961,7 +2961,7 @@ Sub elements will be moved upwards. You are accessing this page using the insecure HTTP method, so U2F will most likely not work (Bad Request error message). Ask an administrator to set up the secure HTTPS method if you want to use security keys. - + Part-DB1\templates\security\U2F\u2f_login.html.twig:10 Part-DB1\templates\security\U2F\u2f_register.html.twig:22 @@ -2973,7 +2973,7 @@ Sub elements will be moved upwards. Please plug in your security key and press its button! - + Part-DB1\templates\security\U2F\u2f_register.html.twig:3 Part-DB1\templates\security\U2F\u2f_register.html.twig:3 @@ -2983,7 +2983,7 @@ Sub elements will be moved upwards. Add security key - + Part-DB1\templates\security\U2F\u2f_register.html.twig:6 Part-DB1\templates\Users\_2fa_settings.html.twig:111 @@ -2995,7 +2995,7 @@ Sub elements will be moved upwards. With the help of a U2F/FIDO compatible security key (e.g. YubiKey or NitroKey), user-friendly and secure two-factor authentication can be achieved. The security keys can be registered here, and if two-factor verification is required, the key only needs to be inserted via USB or typed against the device via NFC. - + Part-DB1\templates\security\U2F\u2f_register.html.twig:7 Part-DB1\templates\security\U2F\u2f_register.html.twig:7 @@ -3005,7 +3005,7 @@ Sub elements will be moved upwards. To ensure access even if the key is lost, it is recommended to register a second key as backup and store it in a safe place! - + Part-DB1\templates\security\U2F\u2f_register.html.twig:16 Part-DB1\templates\security\U2F\u2f_register.html.twig:16 @@ -3015,7 +3015,7 @@ Sub elements will be moved upwards. Shown key name (e.g. Backup) - + Part-DB1\templates\security\U2F\u2f_register.html.twig:19 Part-DB1\templates\security\U2F\u2f_register.html.twig:19 @@ -3025,7 +3025,7 @@ Sub elements will be moved upwards. Add security key - + Part-DB1\templates\security\U2F\u2f_register.html.twig:27 Part-DB1\templates\security\U2F\u2f_register.html.twig:27 @@ -3035,7 +3035,7 @@ Sub elements will be moved upwards. Back to settings - + Part-DB1\templates\Statistics\statistics.html.twig:5 Part-DB1\templates\Statistics\statistics.html.twig:8 @@ -3048,7 +3048,7 @@ Sub elements will be moved upwards. Statistics - + Part-DB1\templates\Statistics\statistics.html.twig:14 Part-DB1\templates\Statistics\statistics.html.twig:14 @@ -3059,7 +3059,7 @@ Sub elements will be moved upwards. Parts - + Part-DB1\templates\Statistics\statistics.html.twig:19 Part-DB1\templates\Statistics\statistics.html.twig:19 @@ -3070,7 +3070,7 @@ Sub elements will be moved upwards. Data structures - + Part-DB1\templates\Statistics\statistics.html.twig:24 Part-DB1\templates\Statistics\statistics.html.twig:24 @@ -3081,7 +3081,7 @@ Sub elements will be moved upwards. Attachments - + Part-DB1\templates\Statistics\statistics.html.twig:34 Part-DB1\templates\Statistics\statistics.html.twig:59 @@ -3096,7 +3096,7 @@ Sub elements will be moved upwards. Property - + Part-DB1\templates\Statistics\statistics.html.twig:35 Part-DB1\templates\Statistics\statistics.html.twig:60 @@ -3111,7 +3111,7 @@ Sub elements will be moved upwards. Value - + Part-DB1\templates\Statistics\statistics.html.twig:40 Part-DB1\templates\Statistics\statistics.html.twig:40 @@ -3122,7 +3122,7 @@ Sub elements will be moved upwards. Number of distinct parts - + Part-DB1\templates\Statistics\statistics.html.twig:44 Part-DB1\templates\Statistics\statistics.html.twig:44 @@ -3133,7 +3133,7 @@ Sub elements will be moved upwards. Sum of all parts stocks - + Part-DB1\templates\Statistics\statistics.html.twig:48 Part-DB1\templates\Statistics\statistics.html.twig:48 @@ -3144,7 +3144,7 @@ Sub elements will be moved upwards. Number of parts with price information - + Part-DB1\templates\Statistics\statistics.html.twig:65 Part-DB1\templates\Statistics\statistics.html.twig:65 @@ -3155,7 +3155,7 @@ Sub elements will be moved upwards. Number of categories - + Part-DB1\templates\Statistics\statistics.html.twig:69 Part-DB1\templates\Statistics\statistics.html.twig:69 @@ -3166,7 +3166,7 @@ Sub elements will be moved upwards. Number of footprints - + Part-DB1\templates\Statistics\statistics.html.twig:73 Part-DB1\templates\Statistics\statistics.html.twig:73 @@ -3177,7 +3177,7 @@ Sub elements will be moved upwards. Number of manufacturers - + Part-DB1\templates\Statistics\statistics.html.twig:77 Part-DB1\templates\Statistics\statistics.html.twig:77 @@ -3188,7 +3188,7 @@ Sub elements will be moved upwards. Number of storage locations - + Part-DB1\templates\Statistics\statistics.html.twig:81 Part-DB1\templates\Statistics\statistics.html.twig:81 @@ -3199,7 +3199,7 @@ Sub elements will be moved upwards. Number of suppliers - + Part-DB1\templates\Statistics\statistics.html.twig:85 Part-DB1\templates\Statistics\statistics.html.twig:85 @@ -3210,7 +3210,7 @@ Sub elements will be moved upwards. Number of currencies - + Part-DB1\templates\Statistics\statistics.html.twig:89 Part-DB1\templates\Statistics\statistics.html.twig:89 @@ -3221,7 +3221,7 @@ Sub elements will be moved upwards. Number of measurement units - + Part-DB1\templates\Statistics\statistics.html.twig:93 Part-DB1\templates\Statistics\statistics.html.twig:93 @@ -3232,7 +3232,7 @@ Sub elements will be moved upwards. Number of projects - + Part-DB1\templates\Statistics\statistics.html.twig:110 Part-DB1\templates\Statistics\statistics.html.twig:110 @@ -3243,7 +3243,7 @@ Sub elements will be moved upwards. Number of attachment types - + Part-DB1\templates\Statistics\statistics.html.twig:114 Part-DB1\templates\Statistics\statistics.html.twig:114 @@ -3254,7 +3254,7 @@ Sub elements will be moved upwards. Number of all attachments - + Part-DB1\templates\Statistics\statistics.html.twig:118 Part-DB1\templates\Statistics\statistics.html.twig:118 @@ -3265,7 +3265,7 @@ Sub elements will be moved upwards. Number of user uploaded attachments - + Part-DB1\templates\Statistics\statistics.html.twig:122 Part-DB1\templates\Statistics\statistics.html.twig:122 @@ -3276,7 +3276,7 @@ Sub elements will be moved upwards. Number of private attachments - + Part-DB1\templates\Statistics\statistics.html.twig:126 Part-DB1\templates\Statistics\statistics.html.twig:126 @@ -3287,7 +3287,7 @@ Sub elements will be moved upwards. Number of external attachments (URL) - + Part-DB1\templates\Users\backup_codes.html.twig:3 Part-DB1\templates\Users\backup_codes.html.twig:9 @@ -3299,7 +3299,7 @@ Sub elements will be moved upwards. Backup codes - + Part-DB1\templates\Users\backup_codes.html.twig:12 Part-DB1\templates\Users\backup_codes.html.twig:12 @@ -3309,7 +3309,7 @@ Sub elements will be moved upwards. Print out these codes and keep them in a safe place! - + Part-DB1\templates\Users\backup_codes.html.twig:13 Part-DB1\templates\Users\backup_codes.html.twig:13 @@ -3319,7 +3319,7 @@ Sub elements will be moved upwards. If you no longer have access to your device with the Authenticator App (lost smartphone, data loss, etc.) you can use one of these codes to access your account and possibly set up a new Authenticator App. Each of these codes can be used once, it is recommended to delete used codes. Anyone with access to these codes can potentially access your account, so keep them in a safe place. - + Part-DB1\templates\Users\backup_codes.html.twig:16 Part-DB1\templates\Users\backup_codes.html.twig:16 @@ -3329,7 +3329,7 @@ Sub elements will be moved upwards. Username - + Part-DB1\templates\Users\backup_codes.html.twig:29 Part-DB1\templates\Users\backup_codes.html.twig:29 @@ -3339,7 +3339,7 @@ Sub elements will be moved upwards. Page generated on %date% - + Part-DB1\templates\Users\backup_codes.html.twig:32 Part-DB1\templates\Users\backup_codes.html.twig:32 @@ -3349,7 +3349,7 @@ Sub elements will be moved upwards. Print - + Part-DB1\templates\Users\backup_codes.html.twig:35 Part-DB1\templates\Users\backup_codes.html.twig:35 @@ -3359,7 +3359,7 @@ Sub elements will be moved upwards. Copy to clipboard - + Part-DB1\templates\Users\user_info.html.twig:3 Part-DB1\templates\Users\user_info.html.twig:6 @@ -3376,7 +3376,7 @@ Sub elements will be moved upwards. User information - + Part-DB1\templates\Users\user_info.html.twig:18 Part-DB1\src\Form\UserSettingsType.php:77 @@ -3390,7 +3390,7 @@ Sub elements will be moved upwards. First name - + Part-DB1\templates\Users\user_info.html.twig:24 Part-DB1\src\Form\UserSettingsType.php:82 @@ -3404,7 +3404,7 @@ Sub elements will be moved upwards. Last name - + Part-DB1\templates\Users\user_info.html.twig:30 Part-DB1\src\Form\UserSettingsType.php:92 @@ -3418,7 +3418,7 @@ Sub elements will be moved upwards. Email - + Part-DB1\templates\Users\user_info.html.twig:37 Part-DB1\src\Form\UserSettingsType.php:87 @@ -3432,7 +3432,7 @@ Sub elements will be moved upwards. Department - + Part-DB1\templates\Users\user_info.html.twig:47 Part-DB1\src\Form\UserSettingsType.php:73 @@ -3446,7 +3446,7 @@ Sub elements will be moved upwards. Username - + Part-DB1\templates\Users\user_info.html.twig:53 Part-DB1\src\Services\ElementTypeNameGenerator.php:93 @@ -3459,7 +3459,7 @@ Sub elements will be moved upwards. Group: - + Part-DB1\templates\Users\user_info.html.twig:67 Part-DB1\templates\Users\user_info.html.twig:67 @@ -3469,7 +3469,7 @@ Sub elements will be moved upwards. Permissions - + Part-DB1\templates\Users\user_settings.html.twig:3 Part-DB1\templates\Users\user_settings.html.twig:6 @@ -3486,7 +3486,7 @@ Sub elements will be moved upwards. User settings - + Part-DB1\templates\Users\user_settings.html.twig:18 Part-DB1\templates\Users\user_settings.html.twig:18 @@ -3497,7 +3497,7 @@ Sub elements will be moved upwards. Personal data - + Part-DB1\templates\Users\user_settings.html.twig:22 Part-DB1\templates\Users\user_settings.html.twig:22 @@ -3508,7 +3508,7 @@ Sub elements will be moved upwards. Configuration - + Part-DB1\templates\Users\user_settings.html.twig:55 Part-DB1\templates\Users\user_settings.html.twig:55 @@ -3519,7 +3519,7 @@ Sub elements will be moved upwards. Change password - + Part-DB1\templates\Users\_2fa_settings.html.twig:6 Part-DB1\templates\Users\_2fa_settings.html.twig:6 @@ -3529,7 +3529,7 @@ Sub elements will be moved upwards. Two-Factor Authentication - + Part-DB1\templates\Users\_2fa_settings.html.twig:13 Part-DB1\templates\Users\_2fa_settings.html.twig:13 @@ -3539,7 +3539,7 @@ Sub elements will be moved upwards. Authenticator app - + Part-DB1\templates\Users\_2fa_settings.html.twig:17 Part-DB1\templates\Users\_2fa_settings.html.twig:17 @@ -3549,7 +3549,7 @@ Sub elements will be moved upwards. Backup codes - + Part-DB1\templates\Users\_2fa_settings.html.twig:21 Part-DB1\templates\Users\_2fa_settings.html.twig:21 @@ -3559,7 +3559,7 @@ Sub elements will be moved upwards. Security keys (U2F) - + Part-DB1\templates\Users\_2fa_settings.html.twig:25 Part-DB1\templates\Users\_2fa_settings.html.twig:25 @@ -3569,7 +3569,7 @@ Sub elements will be moved upwards. Trusted devices - + Part-DB1\templates\Users\_2fa_settings.html.twig:33 Part-DB1\templates\Users\_2fa_settings.html.twig:33 @@ -3579,18 +3579,18 @@ Sub elements will be moved upwards. Do you really want to disable the Authenticator App? - + Part-DB1\templates\Users\_2fa_settings.html.twig:33 Part-DB1\templates\Users\_2fa_settings.html.twig:33 tfa_google.disable.confirm_message - If you disable the Authenticator App, all backup codes will be deleted, so you may need to reprint them.<br> -Also note that without two-factor authentication, your account is no longer as well protected against attackers! + +Also note that without two-factor authentication, your account is no longer as well protected against attackers!]]> - + Part-DB1\templates\Users\_2fa_settings.html.twig:39 Part-DB1\templates\Users\_2fa_settings.html.twig:39 @@ -3600,17 +3600,17 @@ Also note that without two-factor authentication, your account is no longer as w Authenticator app deactivated! - + Part-DB1\templates\Users\_2fa_settings.html.twig:48 Part-DB1\templates\Users\_2fa_settings.html.twig:48 tfa_google.step.download - Download an authenticator app (e.g. <a class="link-external" target="_blank" href="https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2">Google Authenticator</a> oder <a class="link-external" target="_blank" href="https://play.google.com/store/apps/details?id=org.fedorahosted.freeotp">FreeOTP Authenticator</a>) + Google Authenticator oder FreeOTP Authenticator)]]> - + Part-DB1\templates\Users\_2fa_settings.html.twig:49 Part-DB1\templates\Users\_2fa_settings.html.twig:49 @@ -3620,7 +3620,7 @@ Also note that without two-factor authentication, your account is no longer as w Scan the adjacent QR Code with the app or enter the data manually - + Part-DB1\templates\Users\_2fa_settings.html.twig:50 Part-DB1\templates\Users\_2fa_settings.html.twig:50 @@ -3630,7 +3630,7 @@ Also note that without two-factor authentication, your account is no longer as w Enter the generated code in the field below and confirm - + Part-DB1\templates\Users\_2fa_settings.html.twig:51 Part-DB1\templates\Users\_2fa_settings.html.twig:51 @@ -3640,7 +3640,7 @@ Also note that without two-factor authentication, your account is no longer as w Print out your backup codes and store them in a safe place - + Part-DB1\templates\Users\_2fa_settings.html.twig:58 Part-DB1\templates\Users\_2fa_settings.html.twig:58 @@ -3650,7 +3650,7 @@ Also note that without two-factor authentication, your account is no longer as w Manual setup - + Part-DB1\templates\Users\_2fa_settings.html.twig:62 Part-DB1\templates\Users\_2fa_settings.html.twig:62 @@ -3660,7 +3660,7 @@ Also note that without two-factor authentication, your account is no longer as w Type - + Part-DB1\templates\Users\_2fa_settings.html.twig:63 Part-DB1\templates\Users\_2fa_settings.html.twig:63 @@ -3670,7 +3670,7 @@ Also note that without two-factor authentication, your account is no longer as w Username - + Part-DB1\templates\Users\_2fa_settings.html.twig:64 Part-DB1\templates\Users\_2fa_settings.html.twig:64 @@ -3680,7 +3680,7 @@ Also note that without two-factor authentication, your account is no longer as w Secret - + Part-DB1\templates\Users\_2fa_settings.html.twig:65 Part-DB1\templates\Users\_2fa_settings.html.twig:65 @@ -3690,7 +3690,7 @@ Also note that without two-factor authentication, your account is no longer as w Digit count - + Part-DB1\templates\Users\_2fa_settings.html.twig:74 Part-DB1\templates\Users\_2fa_settings.html.twig:74 @@ -3700,7 +3700,7 @@ Also note that without two-factor authentication, your account is no longer as w Authenticator App enabled - + Part-DB1\templates\Users\_2fa_settings.html.twig:83 Part-DB1\templates\Users\_2fa_settings.html.twig:83 @@ -3710,7 +3710,7 @@ Also note that without two-factor authentication, your account is no longer as w Backup codes disabled. Setup authenticator app to enable backup codes. - + Part-DB1\templates\Users\_2fa_settings.html.twig:84 Part-DB1\templates\Users\_2fa_settings.html.twig:92 @@ -3722,7 +3722,7 @@ Also note that without two-factor authentication, your account is no longer as w You can use these backup codes to access your account even if you lose the device with the Authenticator App. Print out the codes and keep them in a safe place. - + Part-DB1\templates\Users\_2fa_settings.html.twig:88 Part-DB1\templates\Users\_2fa_settings.html.twig:88 @@ -3732,7 +3732,7 @@ Also note that without two-factor authentication, your account is no longer as w Really reset codes? - + Part-DB1\templates\Users\_2fa_settings.html.twig:88 Part-DB1\templates\Users\_2fa_settings.html.twig:88 @@ -3742,7 +3742,7 @@ Also note that without two-factor authentication, your account is no longer as w This will delete all previous codes and generate a set of new codes. This cannot be undone. Remember to print out the new codes and store them in a safe place! - + Part-DB1\templates\Users\_2fa_settings.html.twig:91 Part-DB1\templates\Users\_2fa_settings.html.twig:91 @@ -3752,7 +3752,7 @@ Also note that without two-factor authentication, your account is no longer as w Backup codes enabled - + Part-DB1\templates\Users\_2fa_settings.html.twig:99 Part-DB1\templates\Users\_2fa_settings.html.twig:99 @@ -3762,7 +3762,7 @@ Also note that without two-factor authentication, your account is no longer as w Show backup codes - + Part-DB1\templates\Users\_2fa_settings.html.twig:114 Part-DB1\templates\Users\_2fa_settings.html.twig:114 @@ -3772,7 +3772,7 @@ Also note that without two-factor authentication, your account is no longer as w Registered security keys - + Part-DB1\templates\Users\_2fa_settings.html.twig:115 Part-DB1\templates\Users\_2fa_settings.html.twig:115 @@ -3782,7 +3782,7 @@ Also note that without two-factor authentication, your account is no longer as w Really remove this security key? - + Part-DB1\templates\Users\_2fa_settings.html.twig:116 Part-DB1\templates\Users\_2fa_settings.html.twig:116 @@ -3792,7 +3792,7 @@ Also note that without two-factor authentication, your account is no longer as w If you remove this key, then no more login with this key will be possible. If no security keys remain, two-factor authentication will be disabled. - + Part-DB1\templates\Users\_2fa_settings.html.twig:123 Part-DB1\templates\Users\_2fa_settings.html.twig:123 @@ -3802,7 +3802,7 @@ Also note that without two-factor authentication, your account is no longer as w Key name - + Part-DB1\templates\Users\_2fa_settings.html.twig:124 Part-DB1\templates\Users\_2fa_settings.html.twig:124 @@ -3812,7 +3812,7 @@ Also note that without two-factor authentication, your account is no longer as w Registration date - + Part-DB1\templates\Users\_2fa_settings.html.twig:134 Part-DB1\templates\Users\_2fa_settings.html.twig:134 @@ -3822,7 +3822,7 @@ Also note that without two-factor authentication, your account is no longer as w Delete key - + Part-DB1\templates\Users\_2fa_settings.html.twig:141 Part-DB1\templates\Users\_2fa_settings.html.twig:141 @@ -3832,7 +3832,7 @@ Also note that without two-factor authentication, your account is no longer as w No keys registered yet. - + Part-DB1\templates\Users\_2fa_settings.html.twig:144 Part-DB1\templates\Users\_2fa_settings.html.twig:144 @@ -3842,18 +3842,18 @@ Also note that without two-factor authentication, your account is no longer as w Register new security key - + Part-DB1\templates\Users\_2fa_settings.html.twig:148 Part-DB1\templates\Users\_2fa_settings.html.twig:148 tfa_trustedDevices.explanation - When checking the second factor, the current computer can be marked as trustworthy, so no more two-factor checks on this computer are needed. -If you have done this incorrectly or if a computer is no longer trusted, you can reset the status of <i>all </i>computers here. + all computers here.]]> - + Part-DB1\templates\Users\_2fa_settings.html.twig:149 Part-DB1\templates\Users\_2fa_settings.html.twig:149 @@ -3863,7 +3863,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Really remove all trusted computers? - + Part-DB1\templates\Users\_2fa_settings.html.twig:150 Part-DB1\templates\Users\_2fa_settings.html.twig:150 @@ -3873,7 +3873,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can You will have to perform two-factor authentication again on all computers. Make sure you have your two-factor device at hand. - + Part-DB1\templates\Users\_2fa_settings.html.twig:154 Part-DB1\templates\Users\_2fa_settings.html.twig:154 @@ -3883,7 +3883,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Reset trusted devices - + Part-DB1\templates\_navbar.html.twig:4 Part-DB1\templates\_navbar.html.twig:4 @@ -3894,7 +3894,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Toggle Sidebar - + Part-DB1\templates\_navbar.html.twig:22 @@ -3903,7 +3903,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Scanner - + Part-DB1\templates\_navbar.html.twig:38 Part-DB1\templates\_navbar.html.twig:36 @@ -3914,7 +3914,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Logged in as - + Part-DB1\templates\_navbar.html.twig:44 Part-DB1\templates\_navbar.html.twig:42 @@ -3925,7 +3925,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Login - + Part-DB1\templates\_navbar.html.twig:50 Part-DB1\templates\_navbar.html.twig:48 @@ -3935,7 +3935,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Darkmode - + Part-DB1\templates\_navbar.html.twig:54 Part-DB1\src\Form\UserSettingsType.php:97 @@ -3949,7 +3949,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Switch Language - + Part-DB1\templates\_navbar_search.html.twig:4 Part-DB1\templates\_navbar_search.html.twig:4 @@ -3960,7 +3960,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Search options - + Part-DB1\templates\_navbar_search.html.twig:23 @@ -3969,7 +3969,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Tags - + Part-DB1\templates\_navbar_search.html.twig:27 Part-DB1\src\Form\LabelOptionsType.php:68 @@ -3984,7 +3984,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Storage location - + Part-DB1\templates\_navbar_search.html.twig:36 Part-DB1\templates\_navbar_search.html.twig:31 @@ -3995,7 +3995,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can supplier partnr. - + Part-DB1\templates\_navbar_search.html.twig:40 Part-DB1\src\Services\ElementTypeNameGenerator.php:89 @@ -4008,7 +4008,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Supplier - + Part-DB1\templates\_navbar_search.html.twig:57 Part-DB1\templates\_navbar_search.html.twig:52 @@ -4019,7 +4019,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Deact. Barcode - + Part-DB1\templates\_navbar_search.html.twig:61 Part-DB1\templates\_navbar_search.html.twig:56 @@ -4030,7 +4030,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Reg.Ex. Matching - + Part-DB1\templates\_navbar_search.html.twig:68 Part-DB1\templates\_navbar_search.html.twig:62 @@ -4040,7 +4040,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Go! - + Part-DB1\templates\_sidebar.html.twig:37 Part-DB1\templates\_sidebar.html.twig:12 @@ -4056,7 +4056,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Projects - + Part-DB1\templates\_sidebar.html.twig:2 Part-DB1\templates\_sidebar.html.twig:2 @@ -4069,7 +4069,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Actions - + Part-DB1\templates\_sidebar.html.twig:6 Part-DB1\templates\_sidebar.html.twig:6 @@ -4082,7 +4082,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Data source - + Part-DB1\templates\_sidebar.html.twig:10 Part-DB1\templates\_sidebar.html.twig:10 @@ -4095,7 +4095,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Manufacturers - + Part-DB1\templates\_sidebar.html.twig:11 Part-DB1\templates\_sidebar.html.twig:11 @@ -4108,7 +4108,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Suppliers - + Part-DB1\src\Controller\AdminPages\BaseAdminController.php:213 Part-DB1\src\Controller\AdminPages\BaseAdminController.php:293 @@ -4124,7 +4124,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Download of the external attachment failed. - + Part-DB1\src\Controller\AdminPages\BaseAdminController.php:222 Part-DB1\src\Controller\AdminPages\BaseAdminController.php:190 @@ -4134,7 +4134,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Changes saved successful. - + Part-DB1\src\Controller\AdminPages\BaseAdminController.php:231 Part-DB1\src\Controller\AdminPages\BaseAdminController.php:196 @@ -4144,7 +4144,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Can not save changed. Please check your input! - + Part-DB1\src\Controller\AdminPages\BaseAdminController.php:302 Part-DB1\src\Controller\AdminPages\BaseAdminController.php:252 @@ -4154,7 +4154,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Element created. - + Part-DB1\src\Controller\AdminPages\BaseAdminController.php:308 Part-DB1\src\Controller\AdminPages\BaseAdminController.php:258 @@ -4164,7 +4164,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Could not create element. Please check your input! - + Part-DB1\src\Controller\AdminPages\BaseAdminController.php:399 Part-DB1\src\Controller\AdminPages\BaseAdminController.php:352 @@ -4175,7 +4175,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Element deleted! - + Part-DB1\src\Controller\AdminPages\BaseAdminController.php:401 Part-DB1\src\Controller\UserController.php:109 @@ -4191,7 +4191,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can CSFR Token invalid. Please reload this page or contact an administrator if this message stays. - + Part-DB1\src\Controller\LabelController.php:125 @@ -4200,7 +4200,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can No entities matching the range found. - + Part-DB1\src\Controller\LogController.php:149 Part-DB1\src\Controller\LogController.php:154 @@ -4211,7 +4211,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Target element could not be found in DB! - + Part-DB1\src\Controller\LogController.php:156 Part-DB1\src\Controller\LogController.php:160 @@ -4222,7 +4222,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Reverted to timestamp successfully. - + Part-DB1\src\Controller\LogController.php:176 Part-DB1\src\Controller\LogController.php:180 @@ -4233,7 +4233,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Undeleted element successfully. - + Part-DB1\src\Controller\LogController.php:178 Part-DB1\src\Controller\LogController.php:182 @@ -4244,7 +4244,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Element was already undeleted! - + Part-DB1\src\Controller\LogController.php:185 Part-DB1\src\Controller\LogController.php:189 @@ -4255,7 +4255,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Element deleted successfully. - + Part-DB1\src\Controller\LogController.php:187 Part-DB1\src\Controller\LogController.php:191 @@ -4266,7 +4266,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Element was already deleted! - + Part-DB1\src\Controller\LogController.php:194 Part-DB1\src\Controller\LogController.php:198 @@ -4277,7 +4277,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Change undone successfully! - + Part-DB1\src\Controller\LogController.php:196 Part-DB1\src\Controller\LogController.php:200 @@ -4288,7 +4288,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can You have to undelete the element before you can undo this change! - + Part-DB1\src\Controller\LogController.php:199 Part-DB1\src\Controller\LogController.php:203 @@ -4299,7 +4299,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can This log entry can not be undone! - + Part-DB1\src\Controller\PartController.php:182 Part-DB1\src\Controller\PartController.php:182 @@ -4310,7 +4310,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Saved changes! - + Part-DB1\src\Controller\PartController.php:186 Part-DB1\src\Controller\PartController.php:186 @@ -4320,7 +4320,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Error during saving: Please check your inputs! - + Part-DB1\src\Controller\PartController.php:216 Part-DB1\src\Controller\PartController.php:219 @@ -4330,7 +4330,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part deleted successful. - + Part-DB1\src\Controller\PartController.php:302 Part-DB1\src\Controller\PartController.php:277 @@ -4343,7 +4343,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part created! - + Part-DB1\src\Controller\PartController.php:308 Part-DB1\src\Controller\PartController.php:283 @@ -4353,7 +4353,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Error during creation: Please check your inputs! - + Part-DB1\src\Controller\ScanController.php:68 Part-DB1\src\Controller\ScanController.php:90 @@ -4363,7 +4363,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can No element found for the given barcode. - + Part-DB1\src\Controller\ScanController.php:71 @@ -4372,7 +4372,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Format unknown! - + Part-DB1\src\Controller\ScanController.php:86 @@ -4381,7 +4381,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Element found. - + Part-DB1\src\Controller\SecurityController.php:114 Part-DB1\src\Controller\SecurityController.php:109 @@ -4391,7 +4391,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Username / Email - + Part-DB1\src\Controller\SecurityController.php:131 Part-DB1\src\Controller\SecurityController.php:126 @@ -4401,7 +4401,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Reset request was successful! Please check your emails for further instructions. - + Part-DB1\src\Controller\SecurityController.php:162 Part-DB1\src\Controller\SecurityController.php:160 @@ -4411,7 +4411,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Username - + Part-DB1\src\Controller\SecurityController.php:165 Part-DB1\src\Controller\SecurityController.php:163 @@ -4421,7 +4421,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Token - + Part-DB1\src\Controller\SecurityController.php:194 Part-DB1\src\Controller\SecurityController.php:192 @@ -4431,7 +4431,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Username or Token invalid! Please check your input. - + Part-DB1\src\Controller\SecurityController.php:196 Part-DB1\src\Controller\SecurityController.php:194 @@ -4441,7 +4441,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Password was reset successfully. You can now login with your new password. - + Part-DB1\src\Controller\UserController.php:107 Part-DB1\src\Controller\UserController.php:99 @@ -4451,7 +4451,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can All two-factor authentication methods were successfully disabled. - + Part-DB1\src\Controller\UserSettingsController.php:101 Part-DB1\src\Controller\UserSettingsController.php:92 @@ -4461,7 +4461,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can No backup codes enabled! - + Part-DB1\src\Controller\UserSettingsController.php:138 Part-DB1\src\Controller\UserSettingsController.php:132 @@ -4471,7 +4471,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can No security key with this ID is existing. - + Part-DB1\src\Controller\UserSettingsController.php:145 Part-DB1\src\Controller\UserSettingsController.php:139 @@ -4481,7 +4481,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can You can not delete the security keys of other users! - + Part-DB1\src\Controller\UserSettingsController.php:153 Part-DB1\src\Controller\UserSettingsController.php:147 @@ -4491,7 +4491,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Security key successfully removed. - + Part-DB1\src\Controller\UserSettingsController.php:188 Part-DB1\src\Controller\UserSettingsController.php:180 @@ -4501,7 +4501,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Trusted devices successfully reset. - + Part-DB1\src\Controller\UserSettingsController.php:235 Part-DB1\src\Controller\UserSettingsController.php:226 @@ -4512,7 +4512,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Settings saved! - + Part-DB1\src\Controller\UserSettingsController.php:297 Part-DB1\src\Controller\UserSettingsController.php:288 @@ -4523,7 +4523,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Password changed! - + Part-DB1\src\Controller\UserSettingsController.php:317 Part-DB1\src\Controller\UserSettingsController.php:306 @@ -4533,7 +4533,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Authenticator App successfully activated. - + Part-DB1\src\Controller\UserSettingsController.php:328 Part-DB1\src\Controller\UserSettingsController.php:315 @@ -4543,7 +4543,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Authenticator App successfully deactivated. - + Part-DB1\src\Controller\UserSettingsController.php:346 Part-DB1\src\Controller\UserSettingsController.php:332 @@ -4553,7 +4553,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can New backup codes successfully generated. - + Part-DB1\src\DataTables\AttachmentDataTable.php:148 Part-DB1\src\DataTables\AttachmentDataTable.php:148 @@ -4563,7 +4563,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can File name - + Part-DB1\src\DataTables\AttachmentDataTable.php:153 Part-DB1\src\DataTables\AttachmentDataTable.php:153 @@ -4573,7 +4573,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can File size - + Part-DB1\src\DataTables\AttachmentDataTable.php:183 Part-DB1\src\DataTables\AttachmentDataTable.php:191 @@ -4593,7 +4593,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can true - + Part-DB1\src\DataTables\AttachmentDataTable.php:184 Part-DB1\src\DataTables\AttachmentDataTable.php:192 @@ -4615,7 +4615,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can false - + Part-DB1\src\DataTables\Column\LogEntryTargetColumn.php:128 Part-DB1\src\DataTables\Column\LogEntryTargetColumn.php:119 @@ -4625,7 +4625,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can deleted - + Part-DB1\src\DataTables\Column\RevertLogColumn.php:57 Part-DB1\src\DataTables\Column\RevertLogColumn.php:60 @@ -4636,7 +4636,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Undelete element - + Part-DB1\src\DataTables\Column\RevertLogColumn.php:63 Part-DB1\src\DataTables\Column\RevertLogColumn.php:66 @@ -4647,7 +4647,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Undo change - + Part-DB1\src\DataTables\Column\RevertLogColumn.php:83 Part-DB1\src\DataTables\Column\RevertLogColumn.php:86 @@ -4658,7 +4658,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Revert element to this timestamp - + Part-DB1\src\DataTables\LogDataTable.php:173 Part-DB1\src\DataTables\LogDataTable.php:161 @@ -4668,7 +4668,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can ID - + Part-DB1\src\DataTables\LogDataTable.php:178 Part-DB1\src\DataTables\LogDataTable.php:166 @@ -4678,7 +4678,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Timestamp - + Part-DB1\src\DataTables\LogDataTable.php:183 Part-DB1\src\DataTables\LogDataTable.php:171 @@ -4688,7 +4688,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Event - + Part-DB1\src\DataTables\LogDataTable.php:191 Part-DB1\src\DataTables\LogDataTable.php:179 @@ -4698,7 +4698,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Level - + Part-DB1\src\DataTables\LogDataTable.php:200 Part-DB1\src\DataTables\LogDataTable.php:188 @@ -4708,7 +4708,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can User - + Part-DB1\src\DataTables\LogDataTable.php:213 Part-DB1\src\DataTables\LogDataTable.php:201 @@ -4718,7 +4718,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Target type - + Part-DB1\src\DataTables\LogDataTable.php:226 Part-DB1\src\DataTables\LogDataTable.php:214 @@ -4728,7 +4728,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Target - + Part-DB1\src\DataTables\LogDataTable.php:231 Part-DB1\src\DataTables\LogDataTable.php:218 @@ -4739,7 +4739,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Extra - + Part-DB1\src\DataTables\PartsDataTable.php:168 Part-DB1\src\DataTables\PartsDataTable.php:116 @@ -4749,7 +4749,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Name - + Part-DB1\src\DataTables\PartsDataTable.php:178 Part-DB1\src\DataTables\PartsDataTable.php:126 @@ -4759,7 +4759,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Id - + Part-DB1\src\DataTables\PartsDataTable.php:182 Part-DB1\src\DataTables\PartsDataTable.php:130 @@ -4769,7 +4769,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Description - + Part-DB1\src\DataTables\PartsDataTable.php:185 Part-DB1\src\DataTables\PartsDataTable.php:133 @@ -4779,7 +4779,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Category - + Part-DB1\src\DataTables\PartsDataTable.php:190 Part-DB1\src\DataTables\PartsDataTable.php:138 @@ -4789,7 +4789,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Footprint - + Part-DB1\src\DataTables\PartsDataTable.php:194 Part-DB1\src\DataTables\PartsDataTable.php:142 @@ -4799,7 +4799,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Manufacturer - + Part-DB1\src\DataTables\PartsDataTable.php:197 Part-DB1\src\DataTables\PartsDataTable.php:145 @@ -4809,7 +4809,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Storage locations - + Part-DB1\src\DataTables\PartsDataTable.php:216 Part-DB1\src\DataTables\PartsDataTable.php:164 @@ -4819,7 +4819,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Amount - + Part-DB1\src\DataTables\PartsDataTable.php:224 Part-DB1\src\DataTables\PartsDataTable.php:172 @@ -4829,7 +4829,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Min. Amount - + Part-DB1\src\DataTables\PartsDataTable.php:232 Part-DB1\src\DataTables\PartsDataTable.php:180 @@ -4839,7 +4839,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Measurement Unit - + Part-DB1\src\DataTables\PartsDataTable.php:236 Part-DB1\src\DataTables\PartsDataTable.php:184 @@ -4849,7 +4849,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Created at - + Part-DB1\src\DataTables\PartsDataTable.php:240 Part-DB1\src\DataTables\PartsDataTable.php:188 @@ -4859,7 +4859,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Last modified - + Part-DB1\src\DataTables\PartsDataTable.php:244 Part-DB1\src\DataTables\PartsDataTable.php:192 @@ -4869,7 +4869,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Needs review - + Part-DB1\src\DataTables\PartsDataTable.php:251 Part-DB1\src\DataTables\PartsDataTable.php:199 @@ -4879,7 +4879,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Favorite - + Part-DB1\src\DataTables\PartsDataTable.php:258 Part-DB1\src\DataTables\PartsDataTable.php:206 @@ -4889,7 +4889,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Status - + Part-DB1\src\DataTables\PartsDataTable.php:260 Part-DB1\src\DataTables\PartsDataTable.php:262 @@ -4903,7 +4903,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Unknown - + Part-DB1\src\DataTables\PartsDataTable.php:263 Part-DB1\src\Form\Part\PartBaseType.php:90 @@ -4915,7 +4915,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Announced - + Part-DB1\src\DataTables\PartsDataTable.php:264 Part-DB1\src\Form\Part\PartBaseType.php:90 @@ -4927,7 +4927,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Active - + Part-DB1\src\DataTables\PartsDataTable.php:265 Part-DB1\src\Form\Part\PartBaseType.php:90 @@ -4939,7 +4939,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Not recommended for new designs - + Part-DB1\src\DataTables\PartsDataTable.php:266 Part-DB1\src\Form\Part\PartBaseType.php:90 @@ -4951,7 +4951,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can End of life - + Part-DB1\src\DataTables\PartsDataTable.php:267 Part-DB1\src\Form\Part\PartBaseType.php:90 @@ -4963,7 +4963,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Discontinued - + Part-DB1\src\DataTables\PartsDataTable.php:271 Part-DB1\src\DataTables\PartsDataTable.php:219 @@ -4973,7 +4973,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can MPN - + Part-DB1\src\DataTables\PartsDataTable.php:275 Part-DB1\src\DataTables\PartsDataTable.php:223 @@ -4983,7 +4983,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Mass - + Part-DB1\src\DataTables\PartsDataTable.php:279 Part-DB1\src\DataTables\PartsDataTable.php:227 @@ -4993,7 +4993,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Tags - + Part-DB1\src\DataTables\PartsDataTable.php:283 Part-DB1\src\DataTables\PartsDataTable.php:231 @@ -5003,7 +5003,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Attachments - + Part-DB1\src\EventSubscriber\UserSystem\LoginSuccessSubscriber.php:82 Part-DB1\src\EventSubscriber\LoginSuccessListener.php:82 @@ -5013,7 +5013,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Login successful - + Part-DB1\src\Form\AdminPages\ImportType.php:77 Part-DB1\src\Form\AdminPages\ImportType.php:77 @@ -5024,7 +5024,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can JSON - + Part-DB1\src\Form\AdminPages\ImportType.php:77 Part-DB1\src\Form\AdminPages\ImportType.php:77 @@ -5035,7 +5035,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can XML - + Part-DB1\src\Form\AdminPages\ImportType.php:77 Part-DB1\src\Form\AdminPages\ImportType.php:77 @@ -5046,7 +5046,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can CSV - + Part-DB1\src\Form\AdminPages\ImportType.php:77 Part-DB1\src\Form\AdminPages\ImportType.php:77 @@ -5057,7 +5057,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can YAML - + Part-DB1\src\Form\AdminPages\ImportType.php:124 Part-DB1\src\Form\AdminPages\ImportType.php:124 @@ -5067,7 +5067,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can When this option is activated, the whole import process is aborted if invalid data is detected. If not selected, the invalid data is ignored and the importer will try to import the other elements. - + Part-DB1\src\Form\AdminPages\ImportType.php:86 Part-DB1\src\Form\AdminPages\ImportType.php:86 @@ -5078,7 +5078,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can CSV separator - + Part-DB1\src\Form\AdminPages\ImportType.php:93 Part-DB1\src\Form\AdminPages\ImportType.php:93 @@ -5089,7 +5089,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Parent element - + Part-DB1\src\Form\AdminPages\ImportType.php:101 Part-DB1\src\Form\AdminPages\ImportType.php:101 @@ -5100,7 +5100,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can File - + Part-DB1\src\Form\AdminPages\ImportType.php:111 Part-DB1\src\Form\AdminPages\ImportType.php:111 @@ -5111,7 +5111,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Preserve child elements on import - + Part-DB1\src\Form\AdminPages\ImportType.php:120 Part-DB1\src\Form\AdminPages\ImportType.php:120 @@ -5122,7 +5122,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Abort on invalid data - + Part-DB1\src\Form\AdminPages\ImportType.php:132 Part-DB1\src\Form\AdminPages\ImportType.php:132 @@ -5133,7 +5133,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Import - + Part-DB1\src\Form\AttachmentFormType.php:113 Part-DB1\src\Form\AttachmentFormType.php:109 @@ -5143,7 +5143,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can An attachment marked private can only be accessed by authenticated users with the proper permission. If this is activated no thumbnails are generated and access to file is less performant. - + Part-DB1\src\Form\AttachmentFormType.php:127 Part-DB1\src\Form\AttachmentFormType.php:123 @@ -5153,7 +5153,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can You can specify an URL to an external file here, or input an keyword which is used to search in built-in resources (e.g. footprints) - + Part-DB1\src\Form\AttachmentFormType.php:82 Part-DB1\src\Form\AttachmentFormType.php:79 @@ -5163,7 +5163,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Name - + Part-DB1\src\Form\AttachmentFormType.php:85 Part-DB1\src\Form\AttachmentFormType.php:82 @@ -5173,7 +5173,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Attachment type - + Part-DB1\src\Form\AttachmentFormType.php:94 Part-DB1\src\Form\AttachmentFormType.php:91 @@ -5183,7 +5183,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Show in table - + Part-DB1\src\Form\AttachmentFormType.php:105 Part-DB1\src\Form\AttachmentFormType.php:102 @@ -5193,7 +5193,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Private attachment - + Part-DB1\src\Form\AttachmentFormType.php:119 Part-DB1\src\Form\AttachmentFormType.php:115 @@ -5203,7 +5203,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can URL - + Part-DB1\src\Form\AttachmentFormType.php:133 Part-DB1\src\Form\AttachmentFormType.php:129 @@ -5213,7 +5213,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Download external file - + Part-DB1\src\Form\AttachmentFormType.php:146 Part-DB1\src\Form\AttachmentFormType.php:142 @@ -5223,7 +5223,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Upload file - + Part-DB1\src\Form\LabelOptionsType.php:68 Part-DB1\src\Services\ElementTypeNameGenerator.php:86 @@ -5233,7 +5233,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part - + Part-DB1\src\Form\LabelOptionsType.php:68 Part-DB1\src\Services\ElementTypeNameGenerator.php:87 @@ -5243,7 +5243,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part lot - + Part-DB1\src\Form\LabelOptionsType.php:78 @@ -5252,7 +5252,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can None - + Part-DB1\src\Form\LabelOptionsType.php:78 @@ -5261,7 +5261,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can QR Code (recommended) - + Part-DB1\src\Form\LabelOptionsType.php:78 @@ -5270,7 +5270,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Code 128 (recommended) - + Part-DB1\src\Form\LabelOptionsType.php:78 @@ -5279,7 +5279,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Code 39 (recommended) - + Part-DB1\src\Form\LabelOptionsType.php:78 @@ -5288,7 +5288,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Code 93 - + Part-DB1\src\Form\LabelOptionsType.php:78 @@ -5297,7 +5297,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Datamatrix - + Part-DB1\src\Form\LabelOptionsType.php:122 @@ -5306,7 +5306,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Placeholders - + Part-DB1\src\Form\LabelOptionsType.php:122 @@ -5315,16 +5315,16 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Twig - + Part-DB1\src\Form\LabelOptionsType.php:126 label_options.lines_mode.help - If you select Twig here, the content field is interpreted as Twig template. See <a href="https://twig.symfony.com/doc/3.x/templates.html">Twig documentation</a> and <a href="https://docs.part-db.de/usage/labels.html#twig-mode">Wiki</a> for more information. + Twig documentation and Wiki for more information.]]> - + Part-DB1\src\Form\LabelOptionsType.php:47 @@ -5333,7 +5333,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Label size - + Part-DB1\src\Form\LabelOptionsType.php:66 @@ -5342,7 +5342,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Target type - + Part-DB1\src\Form\LabelOptionsType.php:75 @@ -5351,7 +5351,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Barcode - + Part-DB1\src\Form\LabelOptionsType.php:102 @@ -5360,7 +5360,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Content - + Part-DB1\src\Form\LabelOptionsType.php:111 @@ -5369,7 +5369,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Additional styles (CSS) - + Part-DB1\src\Form\LabelOptionsType.php:120 @@ -5378,7 +5378,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Parser mode - + Part-DB1\src\Form\LabelOptionsType.php:51 @@ -5387,7 +5387,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Width - + Part-DB1\src\Form\LabelOptionsType.php:60 @@ -5396,7 +5396,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Height - + Part-DB1\src\Form\LabelSystem\LabelDialogType.php:49 @@ -5405,7 +5405,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can You can specify multiple IDs (e.g. 1,2,3) and/or a range (1-3) here to generate labels for multiple elements at once. - + Part-DB1\src\Form\LabelSystem\LabelDialogType.php:46 @@ -5414,7 +5414,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Target IDs - + Part-DB1\src\Form\LabelSystem\LabelDialogType.php:59 @@ -5423,7 +5423,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Update - + Part-DB1\src\Form\LabelSystem\ScanDialogType.php:36 @@ -5432,7 +5432,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Input - + Part-DB1\src\Form\LabelSystem\ScanDialogType.php:44 @@ -5441,7 +5441,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Submit - + Part-DB1\src\Form\ParameterType.php:41 @@ -5450,7 +5450,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can e.g. DC Current Gain - + Part-DB1\src\Form\ParameterType.php:50 @@ -5459,7 +5459,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can e.g. h_{FE} - + Part-DB1\src\Form\ParameterType.php:60 @@ -5468,7 +5468,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can e.g. Test conditions - + Part-DB1\src\Form\ParameterType.php:71 @@ -5477,7 +5477,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can e.g. 350 - + Part-DB1\src\Form\ParameterType.php:82 @@ -5486,7 +5486,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can e.g. 100 - + Part-DB1\src\Form\ParameterType.php:93 @@ -5495,7 +5495,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can e.g. 200 - + Part-DB1\src\Form\ParameterType.php:103 @@ -5504,7 +5504,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can e.g. V - + Part-DB1\src\Form\ParameterType.php:114 @@ -5513,7 +5513,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can e.g. Technical Specifications - + Part-DB1\src\Form\Part\OrderdetailType.php:72 Part-DB1\src\Form\Part\OrderdetailType.php:75 @@ -5523,7 +5523,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Supplier part number - + Part-DB1\src\Form\Part\OrderdetailType.php:81 Part-DB1\src\Form\Part\OrderdetailType.php:84 @@ -5533,7 +5533,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Supplier - + Part-DB1\src\Form\Part\OrderdetailType.php:87 Part-DB1\src\Form\Part\OrderdetailType.php:90 @@ -5543,7 +5543,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Link to offer - + Part-DB1\src\Form\Part\OrderdetailType.php:93 Part-DB1\src\Form\Part\OrderdetailType.php:96 @@ -5553,7 +5553,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can No longer available - + Part-DB1\src\Form\Part\OrderdetailType.php:75 Part-DB1\src\Form\Part\OrderdetailType.php:78 @@ -5563,7 +5563,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can e.g. BC 547 - + Part-DB1\src\Form\Part\PartBaseType.php:101 Part-DB1\src\Form\Part\PartBaseType.php:99 @@ -5573,7 +5573,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Name - + Part-DB1\src\Form\Part\PartBaseType.php:109 Part-DB1\src\Form\Part\PartBaseType.php:107 @@ -5583,7 +5583,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Description - + Part-DB1\src\Form\Part\PartBaseType.php:120 Part-DB1\src\Form\Part\PartBaseType.php:118 @@ -5593,7 +5593,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Minimum stock - + Part-DB1\src\Form\Part\PartBaseType.php:129 Part-DB1\src\Form\Part\PartBaseType.php:127 @@ -5603,7 +5603,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Category - + Part-DB1\src\Form\Part\PartBaseType.php:135 Part-DB1\src\Form\Part\PartBaseType.php:133 @@ -5613,7 +5613,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Footprint - + Part-DB1\src\Form\Part\PartBaseType.php:142 Part-DB1\src\Form\Part\PartBaseType.php:140 @@ -5623,7 +5623,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Tags - + Part-DB1\src\Form\Part\PartBaseType.php:154 Part-DB1\src\Form\Part\PartBaseType.php:152 @@ -5633,7 +5633,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Manufacturer - + Part-DB1\src\Form\Part\PartBaseType.php:161 Part-DB1\src\Form\Part\PartBaseType.php:159 @@ -5643,7 +5643,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Link to product page - + Part-DB1\src\Form\Part\PartBaseType.php:167 Part-DB1\src\Form\Part\PartBaseType.php:165 @@ -5653,7 +5653,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Manufacturer part number - + Part-DB1\src\Form\Part\PartBaseType.php:173 Part-DB1\src\Form\Part\PartBaseType.php:171 @@ -5663,7 +5663,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Manufacturing status - + Part-DB1\src\Form\Part\PartBaseType.php:181 Part-DB1\src\Form\Part\PartBaseType.php:179 @@ -5673,7 +5673,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Needs review - + Part-DB1\src\Form\Part\PartBaseType.php:189 Part-DB1\src\Form\Part\PartBaseType.php:187 @@ -5683,7 +5683,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Favorite - + Part-DB1\src\Form\Part\PartBaseType.php:197 Part-DB1\src\Form\Part\PartBaseType.php:195 @@ -5693,7 +5693,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Mass - + Part-DB1\src\Form\Part\PartBaseType.php:203 Part-DB1\src\Form\Part\PartBaseType.php:201 @@ -5703,7 +5703,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Measuring unit - + Part-DB1\src\Form\Part\PartBaseType.php:212 Part-DB1\src\Form\Part\PartBaseType.php:210 @@ -5713,7 +5713,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Notes - + Part-DB1\src\Form\Part\PartBaseType.php:250 Part-DB1\src\Form\Part\PartBaseType.php:246 @@ -5723,7 +5723,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Preview image - + Part-DB1\src\Form\Part\PartBaseType.php:295 Part-DB1\src\Form\Part\PartBaseType.php:276 @@ -5734,7 +5734,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Save changes - + Part-DB1\src\Form\Part\PartBaseType.php:296 Part-DB1\src\Form\Part\PartBaseType.php:277 @@ -5745,7 +5745,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Reset changes - + Part-DB1\src\Form\Part\PartBaseType.php:105 Part-DB1\src\Form\Part\PartBaseType.php:103 @@ -5755,7 +5755,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can e.g. BC547 - + Part-DB1\src\Form\Part\PartBaseType.php:115 Part-DB1\src\Form\Part\PartBaseType.php:113 @@ -5765,7 +5765,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can e.g. NPN 45V, 0,1A, 0,5W - + Part-DB1\src\Form\Part\PartBaseType.php:123 Part-DB1\src\Form\Part\PartBaseType.php:121 @@ -5775,7 +5775,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can e.g. 1 - + Part-DB1\src\Form\Part\PartLotType.php:69 Part-DB1\src\Form\Part\PartLotType.php:69 @@ -5785,7 +5785,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Description - + Part-DB1\src\Form\Part\PartLotType.php:78 Part-DB1\src\Form\Part\PartLotType.php:78 @@ -5795,7 +5795,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Storage location - + Part-DB1\src\Form\Part\PartLotType.php:89 Part-DB1\src\Form\Part\PartLotType.php:89 @@ -5805,7 +5805,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Amount - + Part-DB1\src\Form\Part\PartLotType.php:98 Part-DB1\src\Form\Part\PartLotType.php:97 @@ -5815,7 +5815,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Amount unknown - + Part-DB1\src\Form\Part\PartLotType.php:109 Part-DB1\src\Form\Part\PartLotType.php:108 @@ -5825,7 +5825,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Needs refill - + Part-DB1\src\Form\Part\PartLotType.php:120 Part-DB1\src\Form\Part\PartLotType.php:119 @@ -5835,7 +5835,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Expiration date - + Part-DB1\src\Form\Part\PartLotType.php:128 Part-DB1\src\Form\Part\PartLotType.php:125 @@ -5845,7 +5845,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Notes - + Part-DB1\src\Form\Permissions\PermissionsType.php:99 Part-DB1\src\Form\Permissions\PermissionsType.php:99 @@ -5855,7 +5855,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Miscellaneous - + Part-DB1\src\Form\TFAGoogleSettingsType.php:97 Part-DB1\src\Form\TFAGoogleSettingsType.php:97 @@ -5865,7 +5865,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Enable authenticator app - + Part-DB1\src\Form\TFAGoogleSettingsType.php:101 Part-DB1\src\Form\TFAGoogleSettingsType.php:101 @@ -5875,7 +5875,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Deactivate authenticator app - + Part-DB1\src\Form\TFAGoogleSettingsType.php:74 Part-DB1\src\Form\TFAGoogleSettingsType.php:74 @@ -5885,7 +5885,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Confirmation code - + Part-DB1\src\Form\UserSettingsType.php:108 Part-DB1\src\Form\UserSettingsType.php:108 @@ -5896,7 +5896,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Timezone - + Part-DB1\src\Form\UserSettingsType.php:133 Part-DB1\src\Form\UserSettingsType.php:132 @@ -5906,7 +5906,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Preferred currency - + Part-DB1\src\Form\UserSettingsType.php:140 Part-DB1\src\Form\UserSettingsType.php:139 @@ -5917,7 +5917,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Apply changes - + Part-DB1\src\Form\UserSettingsType.php:141 Part-DB1\src\Form\UserSettingsType.php:140 @@ -5928,7 +5928,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Discard changes - + Part-DB1\src\Form\UserSettingsType.php:104 Part-DB1\src\Form\UserSettingsType.php:104 @@ -5939,7 +5939,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Serverwide language - + Part-DB1\src\Form\UserSettingsType.php:115 Part-DB1\src\Form\UserSettingsType.php:115 @@ -5950,7 +5950,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Serverwide Timezone - + Part-DB1\src\Services\ElementTypeNameGenerator.php:79 Part-DB1\src\Services\ElementTypeNameGenerator.php:79 @@ -5960,7 +5960,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Attachment - + Part-DB1\src\Services\ElementTypeNameGenerator.php:81 Part-DB1\src\Services\ElementTypeNameGenerator.php:81 @@ -5970,7 +5970,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Attachment type - + Part-DB1\src\Services\ElementTypeNameGenerator.php:82 Part-DB1\src\Services\ElementTypeNameGenerator.php:82 @@ -5980,7 +5980,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Project - + Part-DB1\src\Services\ElementTypeNameGenerator.php:85 Part-DB1\src\Services\ElementTypeNameGenerator.php:85 @@ -5990,7 +5990,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Measurement unit - + Part-DB1\src\Services\ElementTypeNameGenerator.php:90 Part-DB1\src\Services\ElementTypeNameGenerator.php:90 @@ -6000,7 +6000,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Currency - + Part-DB1\src\Services\ElementTypeNameGenerator.php:91 Part-DB1\src\Services\ElementTypeNameGenerator.php:91 @@ -6010,7 +6010,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Order detail - + Part-DB1\src\Services\ElementTypeNameGenerator.php:92 Part-DB1\src\Services\ElementTypeNameGenerator.php:92 @@ -6020,7 +6020,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Price detail - + Part-DB1\src\Services\ElementTypeNameGenerator.php:94 Part-DB1\src\Services\ElementTypeNameGenerator.php:94 @@ -6030,7 +6030,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can User - + Part-DB1\src\Services\ElementTypeNameGenerator.php:95 @@ -6039,7 +6039,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Parameter - + Part-DB1\src\Services\ElementTypeNameGenerator.php:96 @@ -6048,7 +6048,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Label profile - + Part-DB1\src\Services\LogSystem\LogEntryExtraFormatter.php:176 Part-DB1\src\Services\LogSystem\LogEntryExtraFormatter.php:161 @@ -6059,7 +6059,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Unknown - + Part-DB1\src\Services\MarkdownParser.php:73 Part-DB1\src\Services\MarkdownParser.php:73 @@ -6069,7 +6069,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Loading markdown. If this message does not disappear, try to reload the page. - + Part-DB1\src\Services\PasswordResetManager.php:98 Part-DB1\src\Services\PasswordResetManager.php:98 @@ -6079,7 +6079,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Password reset for your Part-DB account - + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:108 @@ -6088,7 +6088,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Tools - + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:109 Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:107 @@ -6099,7 +6099,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Edit - + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:110 Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:108 @@ -6110,7 +6110,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Show - + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:111 Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:109 @@ -6120,7 +6120,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can System - + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:123 @@ -6129,7 +6129,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Label generator - + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:130 @@ -6138,7 +6138,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Scanner - + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:149 Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:126 @@ -6149,7 +6149,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Attachment types - + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:155 Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:132 @@ -6160,7 +6160,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Categories - + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:161 Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:138 @@ -6171,7 +6171,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Projects - + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:167 Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:144 @@ -6182,7 +6182,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Suppliers - + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:173 Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:150 @@ -6193,7 +6193,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Manufacturers - + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:179 Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:156 @@ -6203,7 +6203,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Storage locations - + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:185 Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:162 @@ -6213,7 +6213,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Footprints - + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:191 Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:168 @@ -6223,7 +6223,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Currencies - + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:197 Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:174 @@ -6233,7 +6233,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Measurement Unit - + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:203 @@ -6242,7 +6242,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Label profiles - + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:209 Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:180 @@ -6252,7 +6252,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can New part - + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:226 Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:197 @@ -6263,7 +6263,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Show all parts - + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:232 Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:203 @@ -6273,7 +6273,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Attachments - + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:239 Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:210 @@ -6284,7 +6284,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Statistics - + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:258 Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:229 @@ -6294,7 +6294,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Users - + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:264 Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:235 @@ -6304,7 +6304,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Groups - + Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:271 Part-DB1\src\Services\Trees\ToolsTreeBuilder.php:242 @@ -6315,7 +6315,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Event log - + Part-DB1\src\Services\Trees\TreeViewGenerator.php:95 Part-DB1\src\Services\Trees\TreeViewGenerator.php:95 @@ -6326,7 +6326,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can New Element - + Part-DB1\templates\Parts\info\_attachments_info.html.twig:34 obsolete @@ -6336,7 +6336,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can External file - + Part-DB1\templates\Parts\info\_attachments_info.html.twig:62 obsolete @@ -6346,7 +6346,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Edit - + Part-DB1\templates\_navbar.html.twig:27 templates\base.html.twig:88 @@ -6357,7 +6357,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Scan Barcode - + Part-DB1\src\Form\UserSettingsType.php:119 src\Form\UserSettingsType.php:49 @@ -6368,7 +6368,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Theme - + Part-DB1\src\Form\UserSettingsType.php:129 src\Form\UserSettingsType.php:50 @@ -6379,7 +6379,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Serverwide Theme - + Part-DB1\src\Services\LogSystem\LogEntryExtraFormatter.php:100 new @@ -6390,7 +6390,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can IP - + Part-DB1\src\Services\LogSystem\LogEntryExtraFormatter.php:128 Part-DB1\src\Services\LogSystem\LogEntryExtraFormatter.php:150 @@ -6404,7 +6404,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Change undone - + Part-DB1\src\Services\LogSystem\LogEntryExtraFormatter.php:130 Part-DB1\src\Services\LogSystem\LogEntryExtraFormatter.php:152 @@ -6418,7 +6418,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Element reverted - + Part-DB1\src\Services\LogSystem\LogEntryExtraFormatter.php:139 new @@ -6429,7 +6429,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Old instock - + Part-DB1\src\Services\LogSystem\LogEntryExtraFormatter.php:160 new @@ -6440,7 +6440,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Old name - + Part-DB1\src\Services\LogSystem\LogEntryExtraFormatter.php:184 new @@ -6451,7 +6451,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Changed fields - + Part-DB1\src\Services\LogSystem\LogEntryExtraFormatter.php:198 new @@ -6462,7 +6462,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Comment - + Part-DB1\src\Services\LogSystem\LogEntryExtraFormatter.php:214 new @@ -6473,7 +6473,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Deleted element: - + templates\base.html.twig:81 obsolete @@ -6484,7 +6484,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Go! - + templates\base.html.twig:109 obsolete @@ -6495,7 +6495,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can English - + templates\base.html.twig:112 obsolete @@ -6506,7 +6506,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can German - + obsolete obsolete @@ -6516,7 +6516,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Password change needed! - + obsolete obsolete @@ -6526,7 +6526,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Attachment type - + obsolete obsolete @@ -6536,7 +6536,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Associated element - + obsolete obsolete @@ -6546,7 +6546,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Picture? - + obsolete obsolete @@ -6556,7 +6556,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can 3D model? - + obsolete obsolete @@ -6566,7 +6566,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Builtin? - + obsolete obsolete @@ -6576,7 +6576,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can e.g. useful for switching - + obsolete obsolete @@ -6586,7 +6586,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Generate new backup codes - + obsolete obsolete @@ -6596,7 +6596,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can A element can not be its own parent. - + obsolete obsolete @@ -6606,7 +6606,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can The parent can not be one of the children of itself. - + obsolete obsolete @@ -6616,7 +6616,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can The storage location was marked as full, so you can not increase the instock amount. (New amount max. {{ old_amount }}) - + obsolete obsolete @@ -6626,7 +6626,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can The storage location was marked as full, so you can not add a new part to it. - + obsolete obsolete @@ -6636,7 +6636,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can The storage location was marked as "only existing", so you can not add new part to it. - + obsolete obsolete @@ -6646,7 +6646,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can The storage location was marked as "single part", so you can not add a new part to it. - + obsolete obsolete @@ -6656,7 +6656,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can The part is currently and in the foreseeable future in production - + obsolete obsolete @@ -6666,7 +6666,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can The part was announced but is not available yet. - + obsolete obsolete @@ -6676,7 +6676,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can The part is discontinued and not produced anymore. - + obsolete obsolete @@ -6686,7 +6686,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can The product has reached its end-of-life and the production will be stopped soon. - + obsolete obsolete @@ -6696,7 +6696,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can The part is currently in production but is not recommended for new designs. - + obsolete obsolete @@ -6706,7 +6706,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can The manufacturing status of the part is not known. - + obsolete obsolete @@ -6716,7 +6716,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Success - + obsolete obsolete @@ -6726,7 +6726,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Error - + obsolete obsolete @@ -6736,7 +6736,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Warning - + obsolete obsolete @@ -6746,7 +6746,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Notice - + obsolete obsolete @@ -6756,7 +6756,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Info - + obsolete obsolete @@ -6766,7 +6766,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can You can not withdraw yourself the "change permission" permission, to prevent that you lockout yourself accidentally. - + obsolete obsolete @@ -6776,7 +6776,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Allowed file extensions - + obsolete obsolete @@ -6786,7 +6786,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can You can specify a comma separated list of file extension or mime types, which an uploaded file must have when assigned to this attachment type. To allow all supported image files, you can use image/*. - + obsolete obsolete @@ -6796,7 +6796,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can e.g. .txt, application/pdf, image/* - + src\Form\PartType.php:63 obsolete @@ -6807,7 +6807,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can e.g. BC547 - + obsolete obsolete @@ -6817,7 +6817,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Not selectable - + obsolete obsolete @@ -6827,7 +6827,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can If this option is activated, this element can not be assigned to a part property. Useful if this element is just used for grouping. - + obsolete obsolete @@ -6837,7 +6837,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can You can use BBCode here (e.g. [b]Bold[/b]) - + obsolete obsolete @@ -6847,7 +6847,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Create element - + obsolete obsolete @@ -6857,7 +6857,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Save - + obsolete obsolete @@ -6867,7 +6867,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Disable footprints - + obsolete obsolete @@ -6877,7 +6877,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can If this option is activated, the footprint property is disabled for all parts with this category. - + obsolete obsolete @@ -6887,7 +6887,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Disable manufacturers - + obsolete obsolete @@ -6897,7 +6897,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can If this option is activated, the manufacturer property is disabled for all parts with this category. - + obsolete obsolete @@ -6907,7 +6907,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Disable automatic datasheet links - + obsolete obsolete @@ -6917,7 +6917,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can If this option is activated, no automatic links to datasheets are created for parts with this category. - + obsolete obsolete @@ -6927,7 +6927,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Disable properties - + obsolete obsolete @@ -6937,7 +6937,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can If this option is activated, the part properties are disabled for parts with this category. - + obsolete obsolete @@ -6947,7 +6947,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Part name hint - + obsolete obsolete @@ -6957,7 +6957,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can e.g. 100nF - + obsolete obsolete @@ -6967,7 +6967,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Name filter - + obsolete obsolete @@ -6977,7 +6977,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Default description - + obsolete obsolete @@ -6987,7 +6987,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can e.g. Capacitor, 10mm x 10mm, SMD - + obsolete obsolete @@ -6997,7 +6997,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Default notes - + obsolete obsolete @@ -7007,7 +7007,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Address - + obsolete obsolete @@ -7018,7 +7018,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can Exampletown - + obsolete obsolete @@ -7028,7 +7028,7 @@ Exampletown Phone number - + obsolete obsolete @@ -7038,7 +7038,7 @@ Exampletown +49 12345 6789 - + obsolete obsolete @@ -7048,7 +7048,7 @@ Exampletown Fax number - + obsolete obsolete @@ -7058,7 +7058,7 @@ Exampletown Email - + obsolete obsolete @@ -7068,7 +7068,7 @@ Exampletown e.g. contact@foo.bar - + obsolete obsolete @@ -7078,7 +7078,7 @@ Exampletown Website - + obsolete obsolete @@ -7088,7 +7088,7 @@ Exampletown https://www.foo.bar - + obsolete obsolete @@ -7098,7 +7098,7 @@ Exampletown Product URL - + obsolete obsolete @@ -7108,7 +7108,7 @@ Exampletown This field is used to determine a link to the part on the company page. %PARTNUMBER% will be replaced with the order number. - + obsolete obsolete @@ -7118,7 +7118,7 @@ Exampletown https://foo.bar/product/%PARTNUMBER% - + obsolete obsolete @@ -7128,7 +7128,7 @@ Exampletown ISO code - + obsolete obsolete @@ -7138,7 +7138,7 @@ Exampletown Exchange rate - + obsolete obsolete @@ -7148,7 +7148,7 @@ Exampletown 3D model - + obsolete obsolete @@ -7158,7 +7158,7 @@ Exampletown Input - + obsolete obsolete @@ -7173,7 +7173,7 @@ Element 2 Element 3 - + obsolete obsolete @@ -7183,7 +7183,7 @@ Element 3 Create - + obsolete obsolete @@ -7193,7 +7193,7 @@ Element 3 Is integer - + obsolete obsolete @@ -7203,7 +7203,7 @@ Element 3 If this option is activated, all values with this unit will be rounded to whole numbers. - + obsolete obsolete @@ -7213,7 +7213,7 @@ Element 3 Use SI prefix - + obsolete obsolete @@ -7223,7 +7223,7 @@ Element 3 If this option is activated, values are outputted with SI prefixes (e.g. 1,2kg instead of 1200g) - + obsolete obsolete @@ -7233,7 +7233,7 @@ Element 3 Unit symbol - + obsolete obsolete @@ -7243,7 +7243,7 @@ Element 3 e.g. m - + obsolete obsolete @@ -7253,7 +7253,7 @@ Element 3 Storelocation full - + obsolete obsolete @@ -7263,7 +7263,7 @@ Element 3 If this option is selected, it is neither possible to add new parts to this storelocation or to increase the amount of existing parts. - + obsolete obsolete @@ -7273,7 +7273,7 @@ Element 3 Limit to existing parts - + obsolete obsolete @@ -7283,7 +7283,7 @@ Element 3 If this option is activated, it is not possible to add new parts to this storelocation, but the amount of existing parts can be increased. - + obsolete obsolete @@ -7293,7 +7293,7 @@ Element 3 Only single part - + obsolete obsolete @@ -7303,7 +7303,7 @@ Element 3 If this option is activated, only a single part (with every amount) can be assigned to this storage location. Useful for small SMD boxes or feeders. - + obsolete obsolete @@ -7313,7 +7313,7 @@ Element 3 Storage type - + obsolete obsolete @@ -7323,7 +7323,7 @@ Element 3 You can select a measurement unit here, which a part must have to be able to be assigned to this storage location - + obsolete obsolete @@ -7333,7 +7333,7 @@ Element 3 Default currency - + obsolete obsolete @@ -7343,7 +7343,7 @@ Element 3 Shipping Costs - + obsolete obsolete @@ -7353,7 +7353,7 @@ Element 3 e.g. j.doe - + obsolete obsolete @@ -7363,7 +7363,7 @@ Element 3 e.g John - + obsolete obsolete @@ -7373,7 +7373,7 @@ Element 3 e.g. Doe - + obsolete obsolete @@ -7383,7 +7383,7 @@ Element 3 j.doe@ecorp.com - + obsolete obsolete @@ -7393,7 +7393,7 @@ Element 3 e.g. Development - + obsolete obsolete @@ -7403,7 +7403,7 @@ Element 3 New password - + obsolete obsolete @@ -7413,7 +7413,7 @@ Element 3 Confirm new password - + obsolete obsolete @@ -7423,7 +7423,7 @@ Element 3 User needs to change password - + obsolete obsolete @@ -7433,7 +7433,7 @@ Element 3 User disabled (no login possible) - + obsolete obsolete @@ -7443,7 +7443,7 @@ Element 3 Create user - + obsolete obsolete @@ -7453,7 +7453,7 @@ Element 3 Save - + obsolete obsolete @@ -7463,7 +7463,7 @@ Element 3 Discard changes - + templates\Parts\show_part_info.html.twig:166 obsolete @@ -7474,7 +7474,7 @@ Element 3 Withdraw - + templates\Parts\show_part_info.html.twig:171 obsolete @@ -7485,7 +7485,7 @@ Element 3 Comment/Purpose - + templates\Parts\show_part_info.html.twig:189 obsolete @@ -7496,7 +7496,7 @@ Element 3 Add parts - + templates\Parts\show_part_info.html.twig:194 obsolete @@ -7507,7 +7507,7 @@ Element 3 Add - + templates\Parts\show_part_info.html.twig:199 obsolete @@ -7518,7 +7518,7 @@ Element 3 Comment/Purpose - + templates\AdminPages\CompanyAdminBase.html.twig:15 obsolete @@ -7529,7 +7529,7 @@ Element 3 Notes - + src\Form\PartType.php:83 obsolete @@ -7540,7 +7540,7 @@ Element 3 Manufacturer link - + src\Form\PartType.php:66 obsolete @@ -7551,7 +7551,7 @@ Element 3 e.g. NPN 45V 0,1A 0,5W - + src\Form\PartType.php:69 obsolete @@ -7562,7 +7562,7 @@ Element 3 e.g. 10 - + src\Form\PartType.php:72 obsolete @@ -7573,7 +7573,7 @@ Element 3 e.g. 5 - + obsolete obsolete @@ -7583,7 +7583,7 @@ Element 3 Price per - + obsolete obsolete @@ -7593,7 +7593,7 @@ Element 3 Withdraw parts - + obsolete obsolete @@ -7603,7 +7603,7 @@ Element 3 _MENU_ - + obsolete obsolete @@ -7613,7 +7613,7 @@ Element 3 Parts - + obsolete obsolete @@ -7623,7 +7623,7 @@ Element 3 Data structures - + obsolete obsolete @@ -7633,7 +7633,7 @@ Element 3 System - + obsolete obsolete @@ -7643,7 +7643,7 @@ Element 3 Parts - + obsolete obsolete @@ -7653,7 +7653,7 @@ Element 3 View - + obsolete obsolete @@ -7663,7 +7663,7 @@ Element 3 Edit - + obsolete obsolete @@ -7673,7 +7673,7 @@ Element 3 Create - + obsolete obsolete @@ -7683,7 +7683,7 @@ Element 3 Change category - + obsolete obsolete @@ -7693,7 +7693,7 @@ Element 3 Delete - + obsolete obsolete @@ -7703,7 +7703,7 @@ Element 3 Search - + obsolete obsolete @@ -7713,7 +7713,7 @@ Element 3 List all parts - + obsolete obsolete @@ -7723,7 +7723,7 @@ Element 3 List parts without price info - + obsolete obsolete @@ -7733,7 +7733,7 @@ Element 3 List obsolete parts - + obsolete obsolete @@ -7743,7 +7743,7 @@ Element 3 Show parts with unknown instock - + obsolete obsolete @@ -7753,7 +7753,7 @@ Element 3 Change favorite status - + obsolete obsolete @@ -7763,7 +7763,7 @@ Element 3 List favorite parts - + obsolete obsolete @@ -7773,7 +7773,7 @@ Element 3 Show last edited/added parts - + obsolete obsolete @@ -7783,7 +7783,7 @@ Element 3 Show last modifying user - + obsolete obsolete @@ -7793,7 +7793,7 @@ Element 3 Show history - + obsolete obsolete @@ -7803,7 +7803,7 @@ Element 3 Name - + obsolete obsolete @@ -7813,7 +7813,7 @@ Element 3 Description - + obsolete obsolete @@ -7823,7 +7823,7 @@ Element 3 Instock - + obsolete obsolete @@ -7833,7 +7833,7 @@ Element 3 Minimum instock - + obsolete obsolete @@ -7843,7 +7843,7 @@ Element 3 Notes - + obsolete obsolete @@ -7853,7 +7853,7 @@ Element 3 Storage location - + obsolete obsolete @@ -7863,7 +7863,7 @@ Element 3 Manufacturer - + obsolete obsolete @@ -7873,7 +7873,7 @@ Element 3 Order information - + obsolete obsolete @@ -7883,7 +7883,7 @@ Element 3 Prices - + obsolete obsolete @@ -7893,7 +7893,7 @@ Element 3 File attachments - + obsolete obsolete @@ -7903,7 +7903,7 @@ Element 3 Orders - + obsolete obsolete @@ -7913,7 +7913,7 @@ Element 3 Storage locations - + obsolete obsolete @@ -7923,7 +7923,7 @@ Element 3 Move - + obsolete obsolete @@ -7933,7 +7933,7 @@ Element 3 List parts - + obsolete obsolete @@ -7943,7 +7943,7 @@ Element 3 Footprints - + obsolete obsolete @@ -7953,7 +7953,7 @@ Element 3 Categories - + obsolete obsolete @@ -7963,7 +7963,7 @@ Element 3 Suppliers - + obsolete obsolete @@ -7973,7 +7973,7 @@ Element 3 Manufacturers - + obsolete obsolete @@ -7983,7 +7983,7 @@ Element 3 Projects - + obsolete obsolete @@ -7993,7 +7993,7 @@ Element 3 Attachment types - + obsolete obsolete @@ -8003,7 +8003,7 @@ Element 3 Import - + obsolete obsolete @@ -8013,7 +8013,7 @@ Element 3 Labels - + obsolete obsolete @@ -8023,7 +8023,7 @@ Element 3 Resistor calculator - + obsolete obsolete @@ -8033,7 +8033,7 @@ Element 3 Footprints - + obsolete obsolete @@ -8043,7 +8043,7 @@ Element 3 IC logos - + obsolete obsolete @@ -8053,7 +8053,7 @@ Element 3 Statistics - + obsolete obsolete @@ -8063,7 +8063,7 @@ Element 3 Edit permissions - + obsolete obsolete @@ -8073,7 +8073,7 @@ Element 3 Edit user name - + obsolete obsolete @@ -8083,7 +8083,7 @@ Element 3 Change group - + obsolete obsolete @@ -8093,7 +8093,7 @@ Element 3 Edit info - + obsolete obsolete @@ -8103,7 +8103,7 @@ Element 3 Edit permissions - + obsolete obsolete @@ -8113,7 +8113,7 @@ Element 3 Set password - + obsolete obsolete @@ -8123,7 +8123,7 @@ Element 3 Change user settings - + obsolete obsolete @@ -8133,7 +8133,7 @@ Element 3 Show status - + obsolete obsolete @@ -8143,7 +8143,7 @@ Element 3 Update DB - + obsolete obsolete @@ -8153,7 +8153,7 @@ Element 3 Read DB settings - + obsolete obsolete @@ -8163,7 +8163,7 @@ Element 3 Write DB settings - + obsolete obsolete @@ -8173,7 +8173,7 @@ Element 3 Read config - + obsolete obsolete @@ -8183,7 +8183,7 @@ Element 3 Edit config - + obsolete obsolete @@ -8193,7 +8193,7 @@ Element 3 Server info - + obsolete obsolete @@ -8203,7 +8203,7 @@ Element 3 Use debug tools - + obsolete obsolete @@ -8213,7 +8213,7 @@ Element 3 Show logs - + obsolete obsolete @@ -8223,7 +8223,7 @@ Element 3 Delete logs - + obsolete obsolete @@ -8233,7 +8233,7 @@ Element 3 Edit info - + obsolete obsolete @@ -8243,7 +8243,7 @@ Element 3 Edit username - + obsolete obsolete @@ -8253,7 +8253,7 @@ Element 3 View permissions - + obsolete obsolete @@ -8263,7 +8263,7 @@ Element 3 Show own log entries - + obsolete obsolete @@ -8273,7 +8273,7 @@ Element 3 Create labels - + obsolete obsolete @@ -8283,7 +8283,7 @@ Element 3 Edit options - + obsolete obsolete @@ -8293,7 +8293,7 @@ Element 3 Delete profiles - + obsolete obsolete @@ -8303,7 +8303,7 @@ Element 3 Edit profiles - + obsolete obsolete @@ -8313,7 +8313,7 @@ Element 3 Tools - + obsolete obsolete @@ -8323,7 +8323,7 @@ Element 3 Groups - + obsolete obsolete @@ -8333,7 +8333,7 @@ Element 3 Users - + obsolete obsolete @@ -8343,7 +8343,7 @@ Element 3 Database - + obsolete obsolete @@ -8353,7 +8353,7 @@ Element 3 Configuration - + obsolete obsolete @@ -8363,7 +8363,7 @@ Element 3 System - + obsolete obsolete @@ -8373,7 +8373,7 @@ Element 3 Own user - + obsolete obsolete @@ -8383,7 +8383,7 @@ Element 3 Labels - + obsolete obsolete @@ -8393,7 +8393,7 @@ Element 3 Category - + obsolete obsolete @@ -8403,7 +8403,7 @@ Element 3 Minimum amount - + obsolete obsolete @@ -8413,7 +8413,7 @@ Element 3 Footprint - + obsolete obsolete @@ -8423,7 +8423,7 @@ Element 3 MPN - + obsolete obsolete @@ -8433,7 +8433,7 @@ Element 3 Manufacturing status - + obsolete obsolete @@ -8443,7 +8443,7 @@ Element 3 Tags - + obsolete obsolete @@ -8453,7 +8453,7 @@ Element 3 Part unit - + obsolete obsolete @@ -8463,7 +8463,7 @@ Element 3 Mass - + obsolete obsolete @@ -8473,7 +8473,7 @@ Element 3 Part lots - + obsolete obsolete @@ -8483,7 +8483,7 @@ Element 3 Show last modifying user - + obsolete obsolete @@ -8493,7 +8493,7 @@ Element 3 Currencies - + obsolete obsolete @@ -8503,7 +8503,7 @@ Element 3 Measurement unit - + obsolete obsolete @@ -8513,7 +8513,7 @@ Element 3 Old password - + obsolete obsolete @@ -8523,7 +8523,7 @@ Element 3 Reset password - + obsolete obsolete @@ -8533,7 +8533,7 @@ Element 3 Security key (U2F) - + obsolete obsolete @@ -8543,13 +8543,13 @@ Element 3 Google - + tfa.provider.webauthn_two_factor_provider Security key - + obsolete obsolete @@ -8559,7 +8559,7 @@ Element 3 Authenticator app - + obsolete obsolete @@ -8569,7 +8569,7 @@ Element 3 Login successful - + obsolete obsolete @@ -8579,7 +8579,7 @@ Element 3 Unhandled exception (obsolete) - + obsolete obsolete @@ -8589,7 +8589,7 @@ Element 3 User login - + obsolete obsolete @@ -8599,7 +8599,7 @@ Element 3 User logout - + obsolete obsolete @@ -8609,7 +8609,7 @@ Element 3 Unknown - + obsolete obsolete @@ -8619,7 +8619,7 @@ Element 3 Element created - + obsolete obsolete @@ -8629,7 +8629,7 @@ Element 3 Element edited - + obsolete obsolete @@ -8639,7 +8639,7 @@ Element 3 Element deleted - + obsolete obsolete @@ -8649,7 +8649,7 @@ Element 3 Database updated - + obsolete @@ -8658,7 +8658,7 @@ Element 3 Revert element - + obsolete @@ -8667,7 +8667,7 @@ Element 3 Show history - + obsolete @@ -8676,7 +8676,7 @@ Element 3 Show last activity - + obsolete @@ -8685,7 +8685,7 @@ Element 3 Show old element versions (time travel) - + obsolete @@ -8694,7 +8694,7 @@ Element 3 Security key added successfully. - + obsolete @@ -8703,7 +8703,7 @@ Element 3 Username - + obsolete @@ -8712,7 +8712,7 @@ Element 3 Authenticator App disabled - + obsolete @@ -8721,7 +8721,7 @@ Element 3 Security key removed - + obsolete @@ -8730,7 +8730,7 @@ Element 3 Security key added - + obsolete @@ -8739,7 +8739,7 @@ Element 3 Backup keys regenerated - + obsolete @@ -8748,7 +8748,7 @@ Element 3 Authenticator App enabled - + obsolete @@ -8757,7 +8757,7 @@ Element 3 Password changed - + obsolete @@ -8766,7 +8766,7 @@ Element 3 Trusted devices resetted - + obsolete @@ -8775,7 +8775,7 @@ Element 3 Element of Collection deleted - + obsolete @@ -8784,7 +8784,7 @@ Element 3 Password reset - + obsolete @@ -8793,7 +8793,7 @@ Element 3 Two Factor Reset by Administrator - + obsolete @@ -8802,7 +8802,7 @@ Element 3 Unauthorized access attempt - + obsolete @@ -8811,7 +8811,7 @@ Element 3 Success - + obsolete @@ -8820,7 +8820,7 @@ Element 3 2D - + obsolete @@ -8829,7 +8829,7 @@ Element 3 1D - + obsolete @@ -8838,7 +8838,7 @@ Element 3 Parameters - + obsolete @@ -8847,7 +8847,7 @@ Element 3 View private attachments - + obsolete @@ -8856,7 +8856,7 @@ Element 3 Label scanner - + obsolete @@ -8865,7 +8865,7 @@ Element 3 Read profiles - + obsolete @@ -8874,7 +8874,7 @@ Element 3 Create profiles - + obsolete @@ -8883,2545 +8883,2545 @@ Element 3 Use twig mode - + label_profile.showInDropdown Show in quick select - + group.edit.enforce_2fa Enforce Two-factor authentication (2FA) - + group.edit.enforce_2fa.help If this option is enabled, every direct member of this group, has to configure at least one second-factor for authentication. Recommended for administrative groups with much permissions. - + selectpicker.empty Nothing selected - + selectpicker.nothing_selected Nothing selected - + entity.delete.must_not_contain_parts Element "%PATH%" still contains parts! You have to move the parts, to be able to delete this element. - + entity.delete.must_not_contain_attachments Attachment type still contains attachments. Change their type, to be able to delete this attachment type. - + entity.delete.must_not_contain_prices Currency still contains price details. You have to change their currency to be able to delete this element. - + entity.delete.must_not_contain_users Users still uses this group! Change their group, to be able to delete this group. - + part.table.edit Edit - + part.table.edit.title Edit part - + part_list.action.action.title Select action - + part_list.action.action.group.favorite Favorite status - + part_list.action.action.favorite Favorite - + part_list.action.action.unfavorite Unfavorite - + part_list.action.action.group.change_field Change field - + part_list.action.action.change_category Change category - + part_list.action.action.change_footprint Change footprint - + part_list.action.action.change_manufacturer Change manufacturer - + part_list.action.action.change_unit Change part unit - + part_list.action.action.delete Delete - + part_list.action.submit Submit - + part_list.action.part_count %count% parts selected! - + company.edit.quick.website Open website - + company.edit.quick.email Send email - + company.edit.quick.phone Call phone - + company.edit.quick.fax Send fax - + company.fax_number.placeholder e.g. +49 1234 567890 - + part.edit.save_and_clone Save and clone - + validator.file_ext_not_allowed File extension not allowed for this attachment type. - + tools.reel_calc.title SMD Reel calculator - + tools.reel_calc.inner_dia Inner diameter - + tools.reel_calc.outer_dia Outer diameter - + tools.reel_calc.tape_thick Tape thickness - + tools.reel_calc.part_distance Part distance - + tools.reel_calc.update Update - + tools.reel_calc.parts_per_meter Parts per meter - + tools.reel_calc.result_length Tape length - + tools.reel_calc.result_amount Approx. parts count - + tools.reel_calc.outer_greater_inner_error Error: Outer diameter must be greater than inner diameter! - + tools.reel_calc.missing_values.error Please fill in all values! - + tools.reel_calc.load_preset Load preset - + tools.reel_calc.explanation This calculator gives you an estimation, how many parts are remaining on an SMD reel. Measure the noted the dimensions on the reel (or use some of the presets) and click "Update" to get an result. - + perm.tools.reel_calculator SMD Reel calculator - + tree.tools.tools.reel_calculator SMD Reel calculator - + user.pw_change_needed.flash Your password needs to be changed! Please set a new password. - + tree.root_node.text Root node - + part_list.action.select_null Empty element - + part_list.action.delete-title Do you really want to delete these parts? - + part_list.action.delete-message These parts and any associated information (like attachments, price information, etc.) will be deleted. This can not be undone! - + part.table.actions.success Actions finished successfully. - + attachment.edit.delete.confirm Do you really want to delete this attachment? - + filter.text_constraint.value.operator.EQ Is - + filter.text_constraint.value.operator.NEQ Is not - + filter.text_constraint.value.operator.STARTS Starts with - + filter.text_constraint.value.operator.CONTAINS Contains - + filter.text_constraint.value.operator.ENDS Ends with - + filter.text_constraint.value.operator.LIKE LIKE pattern - + filter.text_constraint.value.operator.REGEX Regular expression - + filter.number_constraint.value.operator.BETWEEN Between - + filter.number_constraint.AND and - + filter.entity_constraint.operator.EQ Is (excluding children) - + filter.entity_constraint.operator.NEQ Is not (excluding children) - + filter.entity_constraint.operator.INCLUDING_CHILDREN Is (including children) - + filter.entity_constraint.operator.EXCLUDING_CHILDREN Is not (including children) - + part.filter.dbId Database ID - + filter.tags_constraint.operator.ANY Any of the tags - + filter.tags_constraint.operator.ALL All the tags - + filter.tags_constraint.operator.NONE None of the tags - + part.filter.lot_count Number of lots - + part.filter.attachments_count Number of attachments - + part.filter.orderdetails_count Number of orderdetails - + part.filter.lotExpirationDate Lot expiration date - + part.filter.lotNeedsRefill Any lot needs refill - + part.filter.lotUnknwonAmount Any lot has unknown amount - + part.filter.attachmentName Attachment name - + filter.choice_constraint.operator.ANY Any of - + filter.choice_constraint.operator.NONE None of - + part.filter.amount_sum Total amount - + filter.submit Update - + filter.discard Discard changes - + filter.clear_filters Clear all filters - + filter.title Filter - + filter.parameter_value_constraint.operator.= Typ. Value = - + filter.parameter_value_constraint.operator.!= Typ. Value != - + filter.parameter_value_constraint.operator.< - Typ. Value < + - + filter.parameter_value_constraint.operator.> - Typ. Value > + ]]> - + filter.parameter_value_constraint.operator.<= - Typ. Value <= + - + filter.parameter_value_constraint.operator.>= - Typ. Value >= + =]]> - + filter.parameter_value_constraint.operator.BETWEEN Typ. Value is between - + filter.parameter_value_constraint.operator.IN_RANGE In Value range - + filter.parameter_value_constraint.operator.NOT_IN_RANGE Not in Value range - + filter.parameter_value_constraint.operator.GREATER_THAN_RANGE Greater than Value range - + filter.parameter_value_constraint.operator.GREATER_EQUAL_RANGE Greater equal than Value range - + filter.parameter_value_constraint.operator.LESS_THAN_RANGE Less than Value range - + filter.parameter_value_constraint.operator.LESS_EQUAL_RANGE Less equal than Value range - + filter.parameter_value_constraint.operator.RANGE_IN_RANGE Range is completely in Value range - + filter.parameter_value_constraint.operator.RANGE_INTERSECT_RANGE Range intersects Value range - + filter.text_constraint.value No value set - + filter.number_constraint.value1 No value set - + filter.number_constraint.value2 Maximum value - + filter.datetime_constraint.value1 No datetime set - + filter.datetime_constraint.value2 Maximum datetime - + filter.constraint.add Add constraint - + part.filter.parameters_count Number of parameters - + part.filter.lotDescription Lot description - + parts_list.search.searching_for - Searching parts with keyword <b>%keyword%</b> + %keyword%]]> - + parts_list.search_options.caption Enabled search options - + attachment.table.element_type Associated element type - + log.level.debug Debug - + log.level.info Info - + log.level.notice Notice - + log.level.warning Warning - + log.level.error Error - + log.level.critical Critical - + log.level.alert Alert - + log.level.emergency Emergency - + log.type.security Security related event - + log.type.instock_changed [LEGACY] Instock changed - + log.target_id Target element ID - + entity.info.parts_count_recursive Number of parts with this element or its sub elements - + tools.server_infos.title Server info - + permission.preset.read_only Read-Only - + permission.preset.read_only.desc Only allow read operations on data - + permission.preset.all_inherit Inherit all - + permission.preset.all_inherit.desc Set all permissions to Inherit - + permission.preset.all_forbid Forbid all - + permission.preset.all_forbid.desc Set all permissions to Forbid - + permission.preset.all_allow Allow all - + permission.preset.all_allow.desc Set all permissions to allow - + perm.server_infos Server info - + permission.preset.editor Editor - + permission.preset.editor.desc Allow changing parts and data structures - + permission.preset.admin Admin - + permission.preset.admin.desc Allow administrative actions - + permission.preset.button Apply preset - + perm.attachments.show_private Show private attachments - + perm.attachments.list_attachments Show list of all attachments - + user.edit.permission_success Permission preset applied successfully. Check if the new permissions fit your needs. - + perm.group.data Data - + part_list.action.action.group.needs_review Needs Review - + part_list.action.action.set_needs_review Set Needs Review Status - + part_list.action.action.unset_needs_review Unset Needs Review Status - + part.edit.ipn Internal Part Number (IPN) - + part.ipn.not_defined Not defined - + part.table.ipn IPN - + currency.edit.update_rate Retrieve exchange rate - + currency.edit.exchange_rate_update.unsupported_currency The currency is unsupported by the exchange rate provider. Check your exchange rate provider configuration. - + currency.edit.exchange_rate_update.generic_error Unable to retrieve the exchange rate. Check your exchange rate provider configuration. - + currency.edit.exchange_rate_updated.success Retrieved the exchange rate successfully. - + project.bom.quantity BOM Qty. - + project.bom.mountnames Mount names - + project.bom.name Name - + project.bom.comment Notes - + project.bom.part Part - + project.bom.add_entry Add entry - + part_list.action.group.projects Projects - + part_list.action.projects.add_to_project Add parts to project - + project.bom.delete.confirm Do you really want to delete this BOM entry? - + project.add_parts_to_project Add parts to project BOM - + part.info.add_part_to_project Add this part to a project - + project_bom_entry.label BOM entry - + project.edit.status Project status - + project.status.draft Draft - + project.status.planning Planning - + project.status.in_production In production - + project.status.finished Finished - + project.status.archived Archived - + part.new_build_part.error.build_part_already_exists The project already has a build part! - + project.edit.associated_build_part Associated builds part - + project.edit.associated_build_part.add Add builds part - + project.edit.associated_build.hint This part represents the builds of this project, which are stored somewhere. - + part.info.projectBuildPart.hint This part represents the builds of the following project and is associated with it - + part.is_build_part Is project builds part - + project.info.title Project info - + project.info.bom_entries_count BOM entries - + project.info.sub_projects_count Subprojects - + project.info.bom_add_parts Add BOM entries - + project.info.info.label Info - + project.info.sub_projects.label Subprojects - + project.bom.price Price - + part.info.withdraw_modal.title.withdraw Withdraw parts from lot - + part.info.withdraw_modal.title.add Add parts to lot - + part.info.withdraw_modal.title.move Move parts from lot to another lot - + part.info.withdraw_modal.amount Amount - + part.info.withdraw_modal.move_to Move to - + part.info.withdraw_modal.comment Comment - + part.info.withdraw_modal.comment.hint You can set a comment here describing why you are doing this operation (e.g. for what you need the parts). This info will be saved in the log. - + modal.close Close - + modal.submit Submit - + part.withdraw.success Added/Moved/Withdrawn parts successfully. - + perm.parts_stock Parts Stock - + perm.parts_stock.withdraw Withdraw parts from stock - + perm.parts_stock.add Add parts to stock - + perm.parts_stock.move Move parts between lots - + user.permissions_schema_updated The permission schema of your user were upgraded to the latest version. - + log.type.part_stock_changed Part Stock changed - + log.part_stock_changed.withdraw Stock withdrawn - + log.part_stock_changed.add Stock added - + log.part_stock_changed.move Stock moved - + log.part_stock_changed.comment Comment - + log.part_stock_changed.change Change - + log.part_stock_changed.move_target Move target - + tools.builtin_footprints_viewer.title Builtin footprint image gallery - + tools.builtin_footprints_viewer.hint This gallery lists all available built-in footprint images. If you want to use them in an attachment, type in the name (or a keyword) in the path field of the attachment and select the image from the dropdown select. - + tools.ic_logos.title IC logos - + part_list.action.group.labels Labels - + part_list.action.projects.generate_label Generate labels (for parts) - + part_list.action.projects.generate_label_lot Generate labels (for part lots) - + part_list.action.generate_label.empty Empty label - + project.info.builds.label Build - + project.builds.build_not_possible Build not possible: Parts not stocked - + project.builds.following_bom_entries_miss_instock The following parts have not enough stock to build this project at least once: - + project.builds.stocked stocked - + project.builds.needed needed - + project.builds.build_possible Build possible - + project.builds.number_of_builds_possible - You have enough stocked to build <b>%max_builds%</b> builds of this project. + %max_builds% builds of this project.]]> - + project.builds.check_project_status - The current project status is <b>"%project_status%"</b>. You should check if you really want to build the project with this status! + "%project_status%". You should check if you really want to build the project with this status!]]> - + project.builds.following_bom_entries_miss_instock_n You do not have enough parts stocked to build this project %number_of_builds% times. The following parts have missing instock: - + project.build.flash.invalid_input Can not build project. Check input! - + project.build.required_qty Required quantity - + project.build.btn_build Build - + project.build.help Choose from which part lots the stock to build this project should be taken (and in which amount). Check the checkbox for each BOM Entry, when you are finished withdrawing the parts, or use the top checkbox to check all boxes at once. - + project.build.buildsPartLot.new_lot Create new lot - + project.build.add_builds_to_builds_part Add builds to project builds part - + project.build.builds_part_lot Target lot - + project.builds.number_of_builds Build amount - + project.builds.no_stocked_builds Number of stocked builds - + user.change_avatar.label Change profile picture - + user_settings.change_avatar.label Change profile picture - + user_settings.remove_avatar.label Remove profile picture - + part.edit.name.category_hint Hint from category - + category.edit.partname_regex.placeholder e.g "/Capacitor \d+ nF/i" - + category.edit.partname_regex.help A PCRE-compatible regular expression, which a part name have to match. - + entity.select.add_hint - Use -> to create nested structures, e.g. "Node 1->Node 1.1" + to create nested structures, e.g. "Node 1->Node 1.1"]]> - + entity.select.group.new_not_added_to_DB New (not added to DB yet) - + part.edit.save_and_new Save and create new empty part - + homepage.first_steps.title First steps - + homepage.first_steps.introduction - Your database is still empty. You might want to read the <a href="%url%">documentation</a> or start to creating the following data structures: + documentation or start to creating the following data structures:]]> - + homepage.first_steps.create_part - Or you can directly <a href="%url%">create a new part</a>. + create a new part.]]> - + homepage.first_steps.hide_hint This box will hide as soon as you have created your first part. - + homepage.forum.text - For questions about Part-DB use the <a href="%href%" class="link-external" target="_blank">discussion forum</a> + discussion forum]]> - + log.element_edited.changed_fields.category Category - + log.element_edited.changed_fields.footprint Footprint - + log.element_edited.changed_fields.manufacturer Manufacturer - + log.element_edited.changed_fields.value_typical typ. value - + log.element_edited.changed_fields.pw_reset_expires Password reset - + log.element_edited.changed_fields.comment Notes - + log.element_edited.changed_fields.supplierpartnr Supplier part number - + log.element_edited.changed_fields.supplier_product_url Link to offer - + log.element_edited.changed_fields.price Price - + log.element_edited.changed_fields.min_discount_quantity Minimum discount amount - + log.element_edited.changed_fields.original_filename Original filename - + log.element_edited.changed_fields.path Filepath - + log.element_edited.changed_fields.description Description - + log.element_edited.changed_fields.manufacturing_status Manufacturing status - + log.element_edited.changed_fields.options.barcode_type Barcode type - + log.element_edited.changed_fields.status Status - + log.element_edited.changed_fields.quantity BOM Qty. - + log.element_edited.changed_fields.mountnames Mountnames - + log.element_edited.changed_fields.name Name - + log.element_edited.changed_fields.part Part - + log.element_edited.changed_fields.price_currency Currency of price - + log.element_edited.changed_fields.partname_hint Part name hint - + log.element_edited.changed_fields.partname_regex Name filter - + log.element_edited.changed_fields.disable_footprints Disable footprints - + log.element_edited.changed_fields.disable_manufacturers Disable manufacturers - + log.element_edited.changed_fields.disable_autodatasheets Disable automatic datasheet links - + log.element_edited.changed_fields.disable_properties Disable properties - + log.element_edited.changed_fields.default_description Default description - + log.element_edited.changed_fields.default_comment Default notes - + log.element_edited.changed_fields.filetype_filter Allowed file extensions - + log.element_edited.changed_fields.not_selectable Not selected - + log.element_edited.changed_fields.parent Parent element - + log.element_edited.changed_fields.shipping_costs Shipping costs - + log.element_edited.changed_fields.default_currency Default currency - + log.element_edited.changed_fields.address Address - + log.element_edited.changed_fields.phone_number Phone number - + log.element_edited.changed_fields.fax_number Fax number - + log.element_edited.changed_fields.email_address Email - + log.element_edited.changed_fields.website Website - + log.element_edited.changed_fields.auto_product_url Product URL - + log.element_edited.changed_fields.is_full Storelocation full - + log.element_edited.changed_fields.limit_to_existing_parts Limit to existing parts - + log.element_edited.changed_fields.only_single_part Only single part - + log.element_edited.changed_fields.storage_type Storage type - + log.element_edited.changed_fields.footprint_3d 3D model - + log.element_edited.changed_fields.master_picture_attachment Preview image - + log.element_edited.changed_fields.exchange_rate Exchange rate - + log.element_edited.changed_fields.iso_code Exchange rate - + log.element_edited.changed_fields.unit Unit symbol - + log.element_edited.changed_fields.is_integer Is integer - + log.element_edited.changed_fields.use_si_prefix Use SI prefix - + log.element_edited.changed_fields.options.width Width - + log.element_edited.changed_fields.options.height Height - + log.element_edited.changed_fields.options.supported_element Target type - + log.element_edited.changed_fields.options.additional_css Additional styles (CSS) - + log.element_edited.changed_fields.options.lines Content - + log.element_edited.changed_fields.permissions.data Permissions - + log.element_edited.changed_fields.disabled Disabled - + log.element_edited.changed_fields.theme Theme - + log.element_edited.changed_fields.timezone Timezone - + log.element_edited.changed_fields.language Language - + log.element_edited.changed_fields.email Email - + log.element_edited.changed_fields.department Department - + log.element_edited.changed_fields.last_name Last name - + log.element_edited.changed_fields.first_name First name - + log.element_edited.changed_fields.group Group - + log.element_edited.changed_fields.currency Preferred currency - + log.element_edited.changed_fields.enforce2FA Enforce 2FA - + log.element_edited.changed_fields.symbol Symbol - + log.element_edited.changed_fields.value_min Min. value - + log.element_edited.changed_fields.value_max Max. value - + log.element_edited.changed_fields.value_text Text value - + log.element_edited.changed_fields.show_in_table Show in table - + log.element_edited.changed_fields.attachment_type Show in table - + log.element_edited.changed_fields.needs_review Needs review - + log.element_edited.changed_fields.tags Tags - + log.element_edited.changed_fields.mass Mass - + log.element_edited.changed_fields.ipn IPN - + log.element_edited.changed_fields.favorite Favorite - + log.element_edited.changed_fields.minamount Minimum stock - + log.element_edited.changed_fields.manufacturer_product_url Link to product page - + log.element_edited.changed_fields.manufacturer_product_number MPN - + log.element_edited.changed_fields.partUnit Measuring Unit - + log.element_edited.changed_fields.expiration_date Expiration date - + log.element_edited.changed_fields.amount Amount - + log.element_edited.changed_fields.storage_location Storage location - + attachment.max_file_size Maximum file size - + user.saml_user SSO / SAML user - + user.saml_user.pw_change_hint Your user uses single sign-on (SSO). You can not change the password and 2FA settings here. Configure them on your central SSO provider instead! - + login.sso_saml_login Single Sign-On Login (SSO) - + login.local_login_hint The form below is only for log in with a local user. If you want to log in via single sign-on, press the button above. - + part_list.action.action.export Export parts - + part_list.action.export_json Export to JSON - + part_list.action.export_csv Export to CSV - + part_list.action.export_yaml Export to YAML - + part_list.action.export_xml Export to XML - + parts.import.title Import parts - + parts.import.errors.title Import violations - + parts.import.flash.error Errors during import. This is most likely caused by some invalid data. - + parts.import.format.auto Automatic (based on file extension) - + parts.import.flash.error.unknown_format Could not determine the format from the given file! - + parts.import.flash.error.invalid_file File invalid. Please check that you have selected the right format! - + parts.import.part_category.label Category override - + parts.import.part_category.help If you select a value here, all imported parts will be assigned to this category. No matter what was set in the data. - + import.create_unknown_datastructures Create unknown datastructures - + import.create_unknown_datastructures.help If this is selected, datastructures (like categories, footprints, etc.) which does not exist in the database yet, will be automatically created. If this is not selected, only existing data structures will be used, and if no matching data structure is found, the part will get assigned nothing - + import.path_delimiter Path delimiter - + import.path_delimiter.help The delimiter used to mark different levels in data structure pathes like category, footprint, etc. - + parts.import.help_documentation - See the <a href="%link%">documentation</a> for more information on the file format. + documentation for more information on the file format.]]> - + parts.import.help You can import parts from existing files with this tool. The parts will be directly written to database, so please check your file beforehand for correct content before uploading it here. - + parts.import.flash.success Part import successful! - + parts.import.errors.imported_entities Imported parts - + perm.import Import data - + parts.import.part_needs_review.label Mark all imported parts as "Needs review" - + parts.import.part_needs_review.help If this option is selected, then all parts will be marked as "Needs review", no matter what was set in the data. - + project.bom_import.flash.success Imported %count% BOM entries successfully. - + project.bom_import.type Type - + project.bom_import.type.kicad_pcbnew KiCAD Pcbnew BOM (CSV file) - + project.bom_import.clear_existing_bom Clear existing BOM entries before importing - + project.bom_import.clear_existing_bom.help Selecting this option will remove all existing BOM entries in the project and overwrite them with the imported BOM file! - + project.bom_import.flash.invalid_file File could not be imported. Please check that you have selected the right file type. Error message: %message% - + project.bom_import.flash.invalid_entries Validation error! Please check your data! - + project.import_bom Import BOM for project - + project.edit.bom.import_bom Import BOM - + measurement_unit.new New Measurement Unit - + measurement_unit.edit Edit Measurement Unit - + user.aboutMe.label About Me - + storelocation.owner.label Owner - + storelocation.part_owner_must_match.label Part Lot owner must match storage location owner - + part_lot.owner Owner - + part_lot.owner.help Only the owner can withdraw or add stock to this lot. - + log.element_edited.changed_fields.owner Owner - + log.element_edited.changed_fields.instock_unknown Amount unknown - + log.element_edited.changed_fields.needs_refill Refill needed - + part.withdraw.access_denied Not allowed to do the desired action. Please check your permissions and the owner of the part lots. - + part.info.amount.less_than_desired Less than desired - + log.cli_user CLI user - + log.element_edited.changed_fields.part_owner_must_match Part owner must match storage location owner - + part.filter.lessThanDesired - In stock less than desired (total amount < min. amount) + - + part.filter.lotOwner Lot owner - + user.show_email_on_profile.label Show email on public profile page - + log.details.title Log details - + log.user_login.login_from_ip Login from IP address - + log.user_login.ip_anonymize_hint If the last digits of the IP address are missing, then the GPDR mode is enabled, in which IP addresses are anynomized. - + log.user_not_allowed.unauthorized_access_attempt_to Unauthorized access attempt to page - + log.user_not_allowed.hint The request was blocked. No action should be required. - + log.no_comment No comment - + log.element_changed.field Field - + log.element_changed.data_before Data before change - + error_table.error An error occured during your request. - + part.table.invalid_regex Invalid regular expression (regex) - + log.element_changed.data_after Data after change - + log.element_changed.diff Difference - + log.undo.undo.short Undo - + log.undo.revert.short Revert to this timestamp - + log.view_version View version - + log.undo.undelete.short Undelete - + log.element_edited.changed_fields.id ID - + log.element_edited.changed_fields.id_owner Owner - + log.element_edited.changed_fields.parent_id Parent - + log.details.delete_entry Delete log entry - + log.delete.message.title Do you really want to delete the log entry? - + log.delete.message If this is an element history entry, this breaks the element history! This can lead to unexpected results when using the time travel function. - + log.collection_deleted.on_collection on Collection - + log.element_edited.changed_fields.attachments Attachments - + tfa_u2f.add_key.registration_error An error occurred during the registration of the security key. Try again or use another security key! - + log.target_type.none None - + ui.darkmode.light Light - + ui.darkmode.dark Dark - + ui.darkmode.auto Auto (decide based on system settings) - + label_generator.no_lines_given No text content given! The labels will remain empty. - + user.password_strength.very_weak Very weak - + user.password_strength.weak Weak - + user.password_strength.medium Medium - + user.password_strength.strong Strong - + user.password_strength.very_strong Very strong - + perm.users.impersonate Impersonate other users - + user.impersonated_by.label Impersonated by - + user.stop_impersonation Stop impersonation - + user.impersonate.btn Impersonate - + user.impersonate.confirm.title Do you really want to impersonate this user? - + user.impersonate.confirm.message This will be logged. You should only do this with a good reason. @@ -11429,797 +11429,803 @@ Element 3 Please note, that you can not impersonate a disabled user. If you try you will get an "Access Denied" message. - + log.type.security.user_impersonated User impersonated - + info_providers.providers_list.title Information providers - + info_providers.providers_list.active Active - + info_providers.providers_list.disabled Disabled - + info_providers.capabilities.basic Basic - + info_providers.capabilities.footprint Footprint - + info_providers.capabilities.picture Picture - + info_providers.capabilities.datasheet Datasheets - + info_providers.capabilities.price Prices - + part.info_provider_reference.badge The information provider used to create this part. - + part.info_provider_reference Created by Information provider - + oauth_client.connect.btn Connect OAuth - + info_providers.table.provider.label Provider - + info_providers.search.keyword Keyword - + info_providers.search.submit Search - + info_providers.search.providers.help Select the providers in which should be searched. - + info_providers.search.providers Providers - + info_providers.search.info_providers_list Show all available info providers - + info_providers.search.title Create parts from info provider - + oauth_client.flash.connection_successful Connected to OAuth application successfully! - + perm.part.info_providers Info providers - + perm.part.info_providers.create_parts Create parts from info provider - + entity.edit.alternative_names.label Alternative names - + entity.edit.alternative_names.help The alternative names given here, are used to find this element based on the results of the information providers. - + info_providers.form.help_prefix Provider - + update_manager.new_version_available.title New version available - + update_manager.new_version_available.text A new version of Part-DB is available. Check it out here - + update_manager.new_version_available.only_administrators_can_see Only administrators can see this message. - + perm.system.show_available_updates Show available Part-DB updates - + user.settings.api_tokens API tokens - + user.settings.api_tokens.description Using an API token, other applications can access Part-DB with your user rights, to perform various actions using the Part-DB REST API. If you delete an API token here, the application, which uses the token, will no longer be able to access Part-DB on your behalf. - + api_tokens.name Name - + api_tokens.access_level Access level - + api_tokens.expiration_date Expiration date - + api_tokens.added_date Added at - + api_tokens.last_time_used Last time used - + datetime.never Never - + api_token.valid Valid - + api_token.expired Expired - + user.settings.show_api_documentation Show API documentation - + api_token.create_new Create new API token - + api_token.level.read_only Read-Only - + api_token.level.edit Edit - + api_token.level.admin Admin - + api_token.level.full Full - + api_tokens.access_level.help You can restrict, what the API token can access. The access is always limited by the permissions of your user. - + api_tokens.expiration_date.help After this date, the token is not usable anymore. Leave empty if the token should never expire. - + api_tokens.your_token_is Your API token is - + api_tokens.please_save_it Please save it. You will not be able to see it again! - + api_tokens.create_new.back_to_user_settings Back to user settings - + project.build.dont_check_quantity Do not check quantities - + project.build.dont_check_quantity.help If this option is selected, the given withdraw quantities are used as given, no matter if more or less parts are actually required to build this project. - + part_list.action.invert_selection Invert selection - + perm.api API - + perm.api.access_api Access API - + perm.api.manage_tokens Manage API tokens - + user.settings.api_tokens.delete.title Do you really want to delete this API token? - + user.settings.api_tokens.delete Delete - + user.settings.api_tokens.delete.message The application, which uses this API token, will no longer have access to Part-DB. This action can not be undone! - + api_tokens.deleted API token deleted successfully! - + user.settings.api_tokens.no_api_tokens_yet No API tokens configured yet. - + api_token.ends_with Ends with - + entity.select.creating_new_entities_not_allowed You are not allowed to create new entities of this type! Please choose a pre-existing one. - + scan_dialog.mode Barcode type - + scan_dialog.mode.auto Auto detect - + scan_dialog.mode.ipn IPN barcode - + scan_dialog.mode.internal Part-DB barcode - + part_association.label Part association - + part.edit.tab.associations Associated parts - + part_association.edit.other_part Associated part - + part_association.edit.type Relation Type - + part_association.edit.comment Notes - + part_association.edit.type.help You can select here, how the chosen part is related to this part. - + part_association.table.from_this_part Associations from this part to others - + part_association.table.from From - + part_association.table.type Relation - + part_association.table.to To - + part_association.type.compatible Is compatible with - + part_association.table.to_this_part Associations to this part from others - + part_association.type.other Other (custom value) - + part_association.type.supersedes Supersedes - + part_association.edit.other_type Custom type - + part_association.edit.delete.confirm Do you really want to delete this association? This can not be undone. - + part_lot.edit.advanced Expand advanced options - + part_lot.edit.vendor_barcode Vendor barcode - + part_lot.edit.vendor_barcode.help If this lot already have a barcode (e.g. put there by the vendor), you can input its content here, to easily scan it. - + scan_dialog.mode.vendor Vendor barcode (configured in part lot) - + project.bom.instockAmount Stocked amount - + collection_type.new_element.tooltip This element was newly created and was not persisted to the database yet. - + part.merge.title Merge part - + part.merge.title.into into - + part.merge.confirm.title - Do you really want to merge <b>%other%</b> into <b>%target%</b>? + %other% into %target%?]]> - + part.merge.confirm.message - <b>%other%</b> will be deleted, and the part will be saved with the shown information. + %other% will be deleted, and the part will be saved with the shown information.]]> - + part.info.merge_modal.title Merge parts - + part.info.merge_modal.other_part Other part - + part.info.merge_modal.other_into_this Merge other part into this one (delete other part, keep this one) - + part.info.merge_modal.this_into_other Merge this part into other one (delete this part, keep other one) - + part.info.merge_btn Merge part - + part.update_part_from_info_provider.btn Update part from info providers - + info_providers.update_part.title Update existing part from info provider - + part.merge.flash.please_review Data not saved yet. Review the changes and click save to persist the new data. - + user.edit.flash.permissions_fixed Permissions required by other permissions were missing. This was corrected. Please check if the permissions are as you intended. - + permission.legend.dependency_note Please note that some permission operations depend on each other. If you encounter a warning that missing permissions were corrected and a permission was set to allow again, you have to set the dependent operation to forbid too. The dependents can normally found right of an operation. - + log.part_stock_changed.timestamp Timestamp - + part.info.withdraw_modal.timestamp Action timestamp - + part.info.withdraw_modal.timestamp.hint This field allows you to specify the real date, when the stock operation actually was performed, and not just when it was logged. This value is saved in the extra field of the log entry. - + part.info.withdraw_modal.delete_lot_if_empty Delete this lot, if it becomes empty - + info_providers.search.error.client_exception An error occurred while communicating with the information provider. Check the configuration for this provider and refresh the OAuth tokens if possible. - + eda_info.reference_prefix.placeholder e.g. R - + eda_info.reference_prefix Reference prefix - + eda_info.kicad_section.title KiCad specific settings - + eda_info.value Value - + eda_info.value.placeholder e.g. 100n - + eda_info.exclude_from_bom Exclude part from BOM - + eda_info.exclude_from_board Exclude part from PCB/Board - + eda_info.exclude_from_sim Exclude part from simulation - + eda_info.kicad_symbol KiCad schematic symbol - + eda_info.kicad_symbol.placeholder e.g. Transistor_BJT:BC547 - + eda_info.kicad_footprint KiCad footprint - + eda_info.kicad_footprint.placeholder e.g. Package_TO_SOT_THT:TO-92 - + part.edit.tab.eda EDA information - + api.api_endpoints.title API endpoints - + api.api_endpoints.partdb Part-DB API - + api.api_endpoints.kicad_root_url KiCad API root URL - + eda_info.visibility Force visibility - + eda_info.visibility.help By default, the visibility to the EDA software is automatically determined. With this checkbox, you can force the part to be visible or invisible. - + part.withdraw.zero_amount You tried to withdraw/add an amount of zero! No action was performed. - + login.flash.access_denied_please_login Access denied! Please log in to continue. - + attachment.upload_multiple_files Upload files - + entity.mass_creation_flash Created %COUNT% entities successfully. - + info_providers.search.number_of_results %number% results - + info_providers.search.no_results No results found at the selected providers! Check your search term or try to choose additional providers. + + + tfa.check.code.confirmation + Generated code + + From 4a6ec2581d9cfda5efeaca8e98c9bbf74640f11f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sun, 13 Oct 2024 20:59:28 +0200 Subject: [PATCH 058/287] Removed wrongly used controller for merge modal --- templates/parts/info/_merge_modal.html.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/parts/info/_merge_modal.html.twig b/templates/parts/info/_merge_modal.html.twig index b338e148..cbf103e1 100644 --- a/templates/parts/info/_merge_modal.html.twig +++ b/templates/parts/info/_merge_modal.html.twig @@ -7,7 +7,7 @@ {% endif %} -