Merge staging-next into staging

This commit is contained in:
nixpkgs-ci[bot]
2026-02-19 06:24:27 +00:00
committed by GitHub
21 changed files with 113 additions and 109 deletions
@@ -168,6 +168,7 @@ in
ffmpegthumbs
krdp
kconfig # required for xdg-terminal from xdg-utils
qtbase # for qtpaths which is required for xdg-mime from xdg-utils
]
++ lib.optionals config.hardware.sensor.iio.enable [
# This is required for autorotation in Plasma 6
@@ -327,6 +327,15 @@ in
example = "tailnet.example.com";
};
override_local_dns = lib.mkOption {
type = lib.types.bool;
default = true;
description = ''
Whether to [override clients' DNS servers](https://tailscale.com/kb/1054/dns#override-dns-servers).
'';
example = false;
};
nameservers = {
global = lib.mkOption {
type = lib.types.listOf lib.types.str;
@@ -644,6 +653,10 @@ in
assertion = with cfg.settings; dns.magic_dns -> dns.base_domain != "";
message = "dns.base_domain must be set when using MagicDNS";
}
{
assertion = with cfg.settings; dns.override_local_dns -> dns.nameservers.global != [ ];
message = "dns.nameservers.global must be set when overriding local DNS";
}
(assertRemovedOption [ "settings" "acl_policy_path" ] "Use `policy.path` instead.")
(assertRemovedOption [ "settings" "db_host" ] "Use `database.postgres.host` instead.")
(assertRemovedOption [ "settings" "db_name" ] "Use `database.postgres.name` instead.")
@@ -1,10 +1,10 @@
{
"chromium": {
"version": "145.0.7632.75",
"version": "145.0.7632.109",
"chromedriver": {
"version": "145.0.7632.76",
"hash_darwin": "sha256-7bZgvz6yD8qO1G82KTlAuPxLPelZ5TfIlLvyugDJUjM=",
"hash_darwin_aarch64": "sha256-fwtLzGyT810JoTKI52jXPGBu2EnrD+ROG1L2kGMfFfk="
"version": "145.0.7632.110",
"hash_darwin": "sha256-wa8s3PwS5G1TopGYheyLD7wlxxTZWPYwU90TLFpBMZw=",
"hash_darwin_aarch64": "sha256-/J4A4DrERlHdlI0Pv9hHCnBGoeUIB6G43fS0Y8taLFs="
},
"deps": {
"depot_tools": {
@@ -21,8 +21,8 @@
"DEPS": {
"src": {
"url": "https://chromium.googlesource.com/chromium/src.git",
"rev": "ab0b95409566de9da1ed76e690022f774aec7793",
"hash": "sha256-VvHDqNTXOFeV+QY3K2O9fTFxDzrkz6qKl9hP8nVDMAw=",
"rev": "61eff07de4f37ac1c6969c91034a447ef6cd394d",
"hash": "sha256-b498JyyvsN/+0Gqjdrq+eT1HW54/ayEENRHa1Sw69Xw=",
"recompress": true
},
"src/third_party/clang-format/script": {
@@ -132,8 +132,8 @@
},
"src/third_party/dawn": {
"url": "https://dawn.googlesource.com/dawn.git",
"rev": "0cf07977de12e7056ab3cbcbf584411e88a1f734",
"hash": "sha256-2OgNRRkpUlkyXAQDSOL4279JAi1C0QbH4MEfNW7WieQ="
"rev": "d9f5a980bb5a4baeb7d9c1fef89a39789a6cd9fb",
"hash": "sha256-DaNsRQm9bR2lfbiP6vWr2R7KD8mYWOaJ72VJyrUkJvI="
},
"src/third_party/dawn/third_party/glfw": {
"url": "https://chromium.googlesource.com/external/github.com/glfw/glfw",
@@ -257,8 +257,8 @@
},
"src/third_party/devtools-frontend/src": {
"url": "https://chromium.googlesource.com/devtools/devtools-frontend",
"rev": "cc75f545bcb65238f74fd291833112305ce6915a",
"hash": "sha256-tOE96dcLmUaAVvOo4oGoUrEFpGSH2yxIBtvXSAVzbK0="
"rev": "8eb35b80efbc72ffb3aff36c3c1106fe9269df88",
"hash": "sha256-fzcXSU0kaIZVTQx1L5A0Xmn3HEzUE35mzfsU0YEaxw0="
},
"src/third_party/dom_distiller_js/dist": {
"url": "https://chromium.googlesource.com/chromium/dom-distiller/dist.git",
@@ -602,8 +602,8 @@
},
"src/third_party/pdfium": {
"url": "https://pdfium.googlesource.com/pdfium.git",
"rev": "3c679253a9e17c10be696d345c63636b18b7f925",
"hash": "sha256-OW39m1TVJnSdbeVeTCgSxePTqFTOwWqZIrU/5SEioCc="
"rev": "004b47619573a582c076679764e07725ace3e497",
"hash": "sha256-PHu3v/ZeEa11/CTGJh8aJjV/lTIVSJ6W7uH2njsHj1w="
},
"src/third_party/perfetto": {
"url": "https://chromium.googlesource.com/external/github.com/google/perfetto.git",
@@ -817,8 +817,8 @@
},
"src/v8": {
"url": "https://chromium.googlesource.com/v8/v8.git",
"rev": "fffd2bdc35a900b4312833885d9d30803580670e",
"hash": "sha256-WqSGzOCvLw6k3t1oNgZV17KY8TVl6j4lJr0NZSVbm4o="
"rev": "a8b42c8fae7c7f1ce4e32b08ee61c22775185c01",
"hash": "sha256-HZ4JbSoMNVqUrCWoxk0/AxzlcpMgKhe/HJ7DGeTeE9M="
}
}
},
@@ -39,6 +39,12 @@ let
inherit hash;
};
# Set CGO_ENABLED based on platform:
# - Linux: CGO_ENABLED=0 for static linking (avoids LTO plugin issues)
# - Darwin: CGO_ENABLED=1 to avoid DNS resolution issues
# See: https://github.com/hashicorp/terraform/blob/main/BUILDING.md
env.CGO_ENABLED = if stdenv.hostPlatform.isDarwin then "1" else "0";
ldflags = [
"-s"
"-w"
+8 -4
View File
@@ -9,21 +9,21 @@
}:
let
commitHash = "d5bc935e4801a02fdbd953f8f0ae7989eaef50cf"; # matches tag release
commitHash = "be318748da098346a52133c0f7d4a4104a56efc5"; # matches tag release
shortCommitHash = builtins.substring 0 7 commitHash;
in
buildGoModule (finalAttrs: {
pname = "copywrite";
version = "0.22.0";
version = "0.24.0";
src = fetchFromGitHub {
owner = "hashicorp";
repo = "copywrite";
tag = "v${finalAttrs.version}";
hash = "sha256-gPVlHgFlLxoAj4pkg3OxD4CGQaLdAL312/Zn/pJ+7fg=";
hash = "sha256-gw5i50fHshyRrSU3/M4HWM/J82HawGXPHHg9nKIRBkQ=";
};
vendorHash = "sha256-Qxp6BwN/Y6Xb1BwFGT/T8WYsXGPgN27mzoTE0i6cS1Q=";
vendorHash = "sha256-607qlAhrk+1SdrIeE9eYBW3qJKq9i7hEzObvKH66Dfk=";
ldflags = [
"-s"
@@ -34,6 +34,10 @@ buildGoModule (finalAttrs: {
env.CGO_ENABLED = 0;
checkFlags = [
"-skip=Test_FormatCopyrightYears_AutoDetect" # depends on git metadata
];
nativeBuildInputs = [ installShellFiles ];
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
$out/bin/copywrite completion bash > copywrite.bash
+5 -3
View File
@@ -7,6 +7,7 @@
copyDesktopItems,
buildFHSEnv,
alsa-lib,
alsa-plugins,
freetype,
nghttp2,
libx11,
@@ -15,7 +16,7 @@
let
pname = "decent-sampler";
version = "1.15.0";
version = "1.15.5";
rlkey = "orvjprslmwn0dkfs0ncx6nxnm";
icon = fetchurl {
@@ -28,8 +29,8 @@ let
src = fetchzip {
# dropbox links: https://www.dropbox.com/sh/dwyry6xpy5uut07/AABBJ84bjTTSQWzXGG5TOQpfa\
url = "https://www.dropbox.com/scl/fo/a0i0udw7ggfwnjoi05hh3/ABn4zZmR24tyJx0xaRS_lXg/Decent_Sampler-${version}-Linux-Static-x86_64.tar.gz?rlkey=${rlkey}&dl=0";
hash = "sha256-A+CBsGUtqXo7KAlx6BjbHGRZww73TlJCI68thicGKiE=";
url = "https://www.dropbox.com/scl/fo/a0i0udw7ggfwnjoi05hh3/ADKHnE9GsrZx5RepuBKy7dg/Decent_Sampler-${version}-Linux-Static-x86_64.tar.gz?rlkey=${rlkey}&dl=0";
hash = "sha256-uUEncrT0M4AmIokizrUdSATm8Dnvg3cBNGlH8wOPt+Y=";
};
nativeBuildInputs = [ copyDesktopItems ];
@@ -68,6 +69,7 @@ buildFHSEnv {
targetPkgs = pkgs: [
alsa-lib
alsa-plugins
decent-sampler
freetype
nghttp2
+10 -4
View File
@@ -18,8 +18,9 @@ python3Packages.buildPythonApplication (finalAttrs: {
};
postPatch = ''
sed -i -e 's/==.*"/"/' -e '/packages=\[/a "friture.playback",' pyproject.toml
sed -i -e 's/tostring/tobytes/' friture/spectrogram_image.py
substituteInPlace pyproject.toml \
--replace-fail "numpy==2.3.2" "numpy" \
--replace-fail "Cython==3.1.3" "Cython"
'';
nativeBuildInputs =
@@ -31,6 +32,12 @@ python3Packages.buildPythonApplication (finalAttrs: {
])
++ (with qt5; [ wrapQtAppsHook ]);
# Very strict versions
pythonRelaxDeps = true;
# Not actually used, dropped from nixpkgs
pythonRemoveDeps = [ "pyrr" ];
buildInputs = with qt5; [ qtquickcontrols2 ];
propagatedBuildInputs = with python3Packages; [
@@ -43,7 +50,6 @@ python3Packages.buildPythonApplication (finalAttrs: {
numpy
pyqt5
appdirs
pyrr
rtmixer
];
@@ -52,7 +58,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
'';
postInstall = ''
substituteInPlace $out/share/applications/friture.desktop --replace usr/bin/friture friture
substituteInPlace $out/share/applications/friture.desktop --replace-fail usr/bin/friture friture
for size in 16 32 128 256 512
do
+1 -1
View File
@@ -28,7 +28,7 @@ stdenv.mkDerivation (finalAttrs: {
saxon
];
CLASSPATH = "lib/saxon.jar";
env.CLASSPATH = "lib/saxon.jar";
patches = [
./no-git-during-build.patch
+3 -3
View File
@@ -20,13 +20,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "libdeltachat";
version = "2.42.0";
version = "2.43.0";
src = fetchFromGitHub {
owner = "chatmail";
repo = "core";
tag = "v${finalAttrs.version}";
hash = "sha256-67L3AxdaKzVjiBAc+3IHDzmOp93Phyt7jkDsyttZ3KY=";
hash = "sha256-3hpsc/IMBTVHH6Lun9R8Dx3s53sJOb9J1fU1O56MpIc=";
};
patches = [
@@ -36,7 +36,7 @@ stdenv.mkDerivation (finalAttrs: {
cargoDeps = rustPlatform.fetchCargoVendor {
pname = "chatmail-core";
inherit (finalAttrs) version src;
hash = "sha256-mvPqIZ3zhwRNm6Z0Wk1gWlNMemIJP3JlzHgvfpEHtw4=";
hash = "sha256-kDYWu8QrVv1fAyNsPN5xY7QqExbdiM7C+Af0l9HVRDQ=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -63,13 +63,13 @@ let
in
python3Packages.buildPythonApplication (finalAttrs: {
pname = "lutris-unwrapped";
version = "0.5.19";
version = "0.5.20";
src = fetchFromGitHub {
owner = "lutris";
repo = "lutris";
tag = "v${finalAttrs.version}";
hash = "sha256-CAXKnx5+60MITRM8enkYgFl5ZKM6HCXhCYNyG7kHhuQ=";
hash = "sha256-ycAlVV5CkLLsk/m17R8k6x40av1wcEVQU2GMbOuc7Bs=";
};
pyproject = false;
+2
View File
@@ -10,6 +10,7 @@
glib,
sane-backends,
libnotify,
libtiff,
}:
buildDotnetModule rec {
@@ -49,6 +50,7 @@ buildDotnetModule rec {
glib
sane-backends
libnotify
libtiff
];
postInstall = ''
+2 -4
View File
@@ -30,13 +30,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = if withDPDK then "openvswitch-dpdk" else "openvswitch";
version = "3.6.1";
version = "3.7.0";
src = fetchFromGitHub {
owner = "openvswitch";
repo = "ovs";
tag = "v${finalAttrs.version}";
hash = "sha256-I5ISLOu1MMT/mtyH4tcgdFe2zjSsutMWkJiPIbadbQI=";
hash = "sha256-3lbehoy3hbwuM4tXbtfQCXULFr1VQpjsSQ3fZzZcR4U=";
};
outputs = [
@@ -171,8 +171,6 @@ stdenv.mkDerivation (finalAttrs: {
maintainers = with lib.maintainers; [
adamcstephens
booxter
kmcopper
netixx
xddxdd
];
platforms = lib.platforms.linux;
+3 -3
View File
@@ -17,7 +17,7 @@
buildGoModule (finalAttrs: {
pname = "rclone";
version = "1.73.0";
version = "1.73.1";
outputs = [
"out"
@@ -28,10 +28,10 @@ buildGoModule (finalAttrs: {
owner = "rclone";
repo = "rclone";
tag = "v${finalAttrs.version}";
hash = "sha256-g/ofD/KsUOXVTOveHKddPN9PP5bx7HWFPct1IhJDZYE=";
hash = "sha256-DzyfG14c2ca/Nw8rVL1SJ0fp9CWvus/9jDtwSqYN6F8=";
};
vendorHash = "sha256-LomeLlk0d/HTL0NKmbd083u7BHsy4FmAah9IzvmtO2s=";
vendorHash = "sha256-mMkntyRAYFrzp0HqlD0FBmzztCMc9gL/Cs/drq8U4K0=";
subPackages = [ "." ];
+11 -11
View File
@@ -1,25 +1,25 @@
{
"version": "0.192.0",
"version": "0.193.0",
"binaries": {
"aarch64-darwin": {
"url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.192.0/darwin/arm64/yc",
"hash": "sha256-HnecHCO126C9i/jtM0mUxFtJ/mgGnzM6V/bnwTMp340="
"url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.193.0/darwin/arm64/yc",
"hash": "sha256-L+0KIhwBnJ3qSDRsILOE3ZLbFpi580UQhhYEnarFgaQ="
},
"aarch64-linux": {
"url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.192.0/linux/arm64/yc",
"hash": "sha256-aUiwoz+9/immrXKAJWa0ddMr3Bq4vqDHh8VVoUEeUVs="
"url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.193.0/linux/arm64/yc",
"hash": "sha256-Vf9IIZOj5kb1c5TUM4vSpwNplCnHhDE1CYd5fyagZ9s="
},
"i686-linux": {
"url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.192.0/linux/386/yc",
"hash": "sha256-RqD3ZI3ZONFMeu6pwzzkD5pDBi8GtEaH+E+S/g47bh4="
"url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.193.0/linux/386/yc",
"hash": "sha256-RQpyHlwy3bu9xdeLiqEuAt8WCAh6qafSaMXDGESkBEw="
},
"x86_64-darwin": {
"url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.192.0/darwin/amd64/yc",
"hash": "sha256-eFyrf0fO4J1pMV5Iak4/D8x9Lf6F2j8ikllT7wWJMig="
"url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.193.0/darwin/amd64/yc",
"hash": "sha256-k1mhTX9VtaCWDCbwwYooAOcWRB/xbSq2V0hrApVXlKE="
},
"x86_64-linux": {
"url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.192.0/linux/amd64/yc",
"hash": "sha256-3ihBkLR7MWxOEiUfU0yycqy5jzx9Xdte+YSOjslitzg="
"url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.193.0/linux/amd64/yc",
"hash": "sha256-gv+mlrW1uSoSzDFDAoZeQK9dr0HIhgUuvVpppuKUe24="
}
}
}
@@ -14,14 +14,14 @@
buildPythonPackage (finalAttrs: {
pname = "internetarchive";
version = "5.7.2";
version = "5.8.0";
pyproject = true;
src = fetchFromGitHub {
owner = "jjjake";
repo = "internetarchive";
tag = "v${finalAttrs.version}";
hash = "sha256-eBTUKJs3j8LmQJSIBKAlDOjUglLHrjwtGx5O9Wn5C8Y=";
hash = "sha256-NiuLnK7OBbM6b1qecOcAmX1k7Z8FBNrJdGr6Vm3r9RU=";
};
build-system = [ setuptools ];
@@ -28,7 +28,6 @@
# optional-dependencies
aiohttp,
hf-transfer,
immutabledict,
langdetect,
librosa,
@@ -54,14 +53,14 @@
buildPythonPackage (finalAttrs: {
pname = "lm-eval";
version = "0.4.10";
version = "0.4.11";
pyproject = true;
src = fetchFromGitHub {
owner = "EleutherAI";
repo = "lm-evaluation-harness";
tag = "v${finalAttrs.version}";
hash = "sha256-+fVLpJ/wzFyQJkdlHTirTNrtWg7Vn26kU0OV4+oDJXA=";
hash = "sha256-+zhZ+I+gzoF7g0xYvlPbZFcFy2PuFOgNTFLvbmdE1R0=";
};
build-system = [
@@ -104,7 +103,6 @@ buildPythonPackage (finalAttrs: {
torch
transformers
];
hf_transfer = [ hf-transfer ];
ifeval = [
immutabledict
langdetect
@@ -133,7 +131,6 @@ buildPythonPackage (finalAttrs: {
# - math
# - multilingual
# - ruler
# - sae_lens
# - sparsify
# - tasks
# - unitxt
@@ -1,32 +0,0 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
multipledispatch,
numpy,
}:
buildPythonPackage {
pname = "pyrr";
version = "unstable-2022-07-22";
format = "setuptools";
src = fetchFromGitHub {
owner = "adamlwgriffiths";
repo = "Pyrr";
rev = "f6c8698c48a75f3fb7ad0d47d0ce80a04f87ba2f";
hash = "sha256-u9O52MQskZRzw0rBH6uPdXdikWLJe7wyBZGNKIFA4BA=";
};
propagatedBuildInputs = [
multipledispatch
numpy
];
meta = {
description = "3D mathematical functions using NumPy";
homepage = "https://github.com/adamlwgriffiths/Pyrr/";
license = lib.licenses.bsd2;
maintainers = with lib.maintainers; [ c0deaddict ];
};
}
@@ -1,47 +1,52 @@
{
lib,
buildPythonPackage,
emoji,
fetchFromGitHub,
# build-system
setuptools,
# dependencies
emoji,
networkx,
numpy,
peft,
protobuf,
requests,
six,
toml,
torch,
tqdm,
transformers,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "stanza";
version = "1.11.0";
format = "setuptools";
pyproject = true;
src = fetchFromGitHub {
owner = "stanfordnlp";
repo = "stanza";
tag = "v${version}";
tag = "v${finalAttrs.version}";
hash = "sha256-zY2+8QuPJTX/HSkE/gKMCWpSanKpYSGZeeYgb4eFuuw=";
};
propagatedBuildInputs = [
build-system = [ setuptools ];
dependencies = [
emoji
networkx
numpy
peft
protobuf
requests
six
toml
torch
tqdm
transformers
];
# Tests require network access
# Most tests require resources from the network (models). Many of the ones that do run are slow
# and some of them fail.
#
# Maintaining a list of "tests we can actually run in CI" isn't feasible, there are WAY too many
# exceptions and no useful pytest marks.
doCheck = false;
pythonImportsCheck = [ "stanza" ];
@@ -49,8 +54,11 @@ buildPythonPackage rec {
meta = {
description = "Official Stanford NLP Python Library for Many Human Languages";
homepage = "https://github.com/stanfordnlp/stanza/";
changelog = "https://github.com/stanfordnlp/stanza/releases/tag/v${version}";
changelog = "https://github.com/stanfordnlp/stanza/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ riotbib ];
maintainers = with lib.maintainers; [
riotbib
Stebalien
];
};
}
})
@@ -72,12 +72,12 @@ rec {
stable = if stdenv.hostPlatform.system == "i686-linux" then legacy_390 else production;
production = generic {
version = "580.126.09";
sha256_64bit = "sha256-TKxT5I+K3/Zh1HyHiO0kBZokjJ/YCYzq/QiKSYmG7CY=";
sha256_aarch64 = "sha256-c5PEKxEv1vCkmOHSozEnuCG+WLdXDcn41ViaUWiNpK0=";
openSha256 = "sha256-ychsaurbQ2KNFr/SAprKI2tlvAigoKoFU1H7+SaxSrY=";
settingsSha256 = "sha256-4SfCWp3swUp+x+4cuIZ7SA5H7/NoizqgPJ6S9fm90fA=";
persistencedSha256 = "sha256-J1UwS0o/fxz45gIbH9uaKxARW+x4uOU1scvAO4rHU5Y=";
version = "580.126.18";
sha256_64bit = "sha256-p3gbLhwtZcZYCRTHbnntRU0ClF34RxHAMwcKCSqatJ0=";
sha256_aarch64 = "sha256-pruxWQlLurymRL7PbR24NA6dNowwwX35p6j9mBIDcNs=";
openSha256 = "sha256-1Q2wuDdZ6KiA/2L3IDN4WXF8t63V/4+JfrFeADI1Cjg=";
settingsSha256 = "sha256-QMx4rUPEGp/8Mc+Bd8UmIet/Qr0GY8bnT/oDN8GAoEI=";
persistencedSha256 = "sha256-ZBfPZyQKW9SkVdJ5cy0cxGap2oc7kyYRDOeM0XyfHfI=";
};
latest = selectHighestVersion production (generic {
+1
View File
@@ -405,6 +405,7 @@ mapAliases {
pyRFC3339 = throw "'pyRFC3339' has been renamed to/replaced by 'pyrfc3339'"; # Converted to throw 2025-10-29
Pyro4 = throw "'Pyro4' has been renamed to/replaced by 'pyro4'"; # Converted to throw 2025-10-29
Pyro5 = throw "'Pyro5' has been renamed to/replaced by 'pyro5'"; # Converted to throw 2025-10-29
pyrr = throw "pyrr has been removed because it is incompatible with NumPy 2.0+"; # Added 2026-02-18
PyRSS2Gen = throw "'PyRSS2Gen' has been renamed to/replaced by 'pyrss2gen'"; # Converted to throw 2025-10-29
pyside6-fluent-widgets = throw "pyside6-fluent-widgets has been removed, since it is unmaintained"; # added 2025-08-20
pysidesix-frameless-window = throw "pysidesix-frameless-window has been removed, since it is unmaintained"; # added 2025-08-20
-2
View File
@@ -14641,8 +14641,6 @@ self: super: with self; {
pyroute2 = callPackage ../development/python-modules/pyroute2 { };
pyrr = callPackage ../development/python-modules/pyrr { };
pyrsistent = callPackage ../development/python-modules/pyrsistent { };
pyrss2gen = callPackage ../development/python-modules/pyrss2gen { };